Hallo! jetzt
InFortune ElectronicsKostenloser Versand ab$200
Folgen Sie uns:

Boot- und Datenspeicher-Bausteine für ein Edge-Gerät wählen

6/8/2026 12:30:00 PM

Ein Edge-Gerät erledigt drei verschiedene Aufgaben mit dem Speicher, und kein einzelner Chip bewältigt alle drei gut. Es muss den Code halten, von dem es bootet und den es ausführt, die Arbeitsdaten verwalten, die der Prozessor während des Betriebs verarbeitet, und die Massendaten speichern, die einen Stromausfall überstehen müssen. Jede dieser Aufgaben ist eine eigenständige Anforderung mit einem anderen Speichertyp dahinter, und die Wahl des Speichers für ein Edge-Gerät bedeutet, den Speicher der Aufgabe anzupassen, anstatt nach einem einzigen Bauteil zu suchen, das alles abdeckt.

Die Bauteile lassen sich nach diesen drei Aufgaben aufteilen. Flash hält Code und kleine persistente Daten und bewahrt sie bei einem Stromausfall. Arbeitsspeicher, das RAM, ist schnell und groß genug, damit der Prozessor darin arbeiten kann, vergisst aber alles, wenn der Strom ausfällt. Massenspeicher hält die Daten und Dateien, die dauerhaft erhalten bleiben müssen. Die Kunst liegt darin, den richtigen Typ und die richtige Größe für jede Aufgabe zu wählen, und darin, wie das Gerät von einem Kaltstart zum laufenden Code gelangt, was den Faden darstellt, der alle Entscheidungen zusammenhält.

Drei Aufgaben, drei Arten von Speicher

An assortment of memory modules and chips
An assortment of memory parts, each kind suited to a different one of the three jobs.
" alt="各種のメモリモジュールとチップ" loading="lazy" style="width:100%;height:auto;display:block;border-radius:6px;" />
各種のメモリ部品、三つの役割それぞれに別の種類が向く。
" alt="Verschiedene Speichermodule und Chips" loading="lazy" style="width:100%;height:auto;display:block;border-radius:6px;" />
Verschiedene Speicherbausteine, jede Art für eine der drei Aufgaben.

Codespeicher muss nichtflüchtig und zuverlässig sein, da ein beschädigtes Boot-Image das Gerät unbenutzbar macht, und er kann in der Größe bescheiden sein, weil Firmware im Vergleich zu Daten klein ist. Arbeitsspeicher muss schnell und groß genug sein, um zu halten, was das Programm und das Modell gleichzeitig benötigen, und er muss sich nichts merken, wenn der Strom ausgeschaltet ist. Massenspeicher muss groß sein und Stromausfälle überstehen, und er kann langsamer als Arbeitsspeicher sein, weil er in Blöcken gelesen und geschrieben wird, anstatt direkt ausgeführt zu werden.

Diese Aufgaben zu verwechseln ist der Punkt, an dem Designs scheitern. Ein Programm von einem Bauteil auszuführen, das für Massenspeicher gedacht ist, ist langsam und umständlich, und der Versuch, den Arbeitssatz eines Modells in Flash zu halten, das für Code dimensioniert wurde, lässt das Gerät ständig tauschen. Die erste Entscheidung besteht darin, die drei Aufgaben des Geräts zu benennen und jede davon zu dimensionieren, bevor eine Teilenummer ausgewählt wird.

Die Aufteilung prägt auch die Leiterplatte. Drei Speicheraufgaben können drei Chips bedeuten, oder zwei, oder ein Bauteil, das zwei davon abdeckt, wenn ein Prozessor seinen eigenen RAM oder Flash auf dem Chip trägt. Die Aufgaben zuerst zu zählen zeigt, ob das Gerät drei Bauteile benötigt oder einige zusammenfassen kann, bevor Kosten und Platinenfläche festgelegt sind.

Der Flash, der den Code hält

Viele kleine Edge-Geräte booten von einem seriellen Flash auf einem SPI-Bus, einem Bauteil, das günstig und klein ist und wenige Pins benötigt. Die Größe wird für die Firmware zuzüglich einer Reserve für Updates und etwas persistenten Speicher gewählt, und die Dichten reichen bei dieser Art von Bauteil von unter einem Megabyte bis zu Dutzenden von Megabytes.

Für eine mittlere Firmware bietet der W25Q64JVZEIM 64 Megabit SPI-NOR-Flash, eine gängige Größe, die eine typische Edge-Firmware mit Platz für ein Over-the-Air-Update-Image neben dem laufenden enthält. Er liest schnell genug, damit ein Prozessor Code direkt davon abrufen oder diesen Code beim Booten in RAM kopieren kann, und er hält die Pinanzahl niedrig.

Wo der Code klein ist, spart ein kleineres Bauteil Kosten und Platinenfläche. Der MX25V1006FZUI ist ein SPI-Flash mit geringer Dichte für ein Gerät, dessen Firmware in Kilobytes gemessen wird, ein Sensorknoten oder ein einfacher Regler, der sein Programm und einige Einstellungen speichern muss und nicht mehr. Für Megabytes zu bezahlen, die ein Gerät nie nutzen wird, ist ein Aufwand ohne Gegenwert.

Wo die Firmware groß ist, fasst ein größeres Bauteil sie ohne einen zweiten Chip. Der IS25LP256E-JLLA3 bietet 256 Megabit SPI-Flash, Platz für eine reichhaltigere Firmware, ein vollständiges Update-Image und ein Dateisystem für Protokolle oder Konfiguration, auf demselben einfachen SPI-Bus. Die Dichte wird an das angepasst, was der Code und seine persistenten Daten belegen, mit einer Reserve, und nicht an eine runde Zahl.

NOR-Flash ist der richtige Typ für Code, weil er byteweise wahllos gelesen werden kann, was ein Prozessor benötigt, um Befehle abzurufen, und er ist auf die Weise zuverlässig, die ein Boot-Image verlangt. Seine Schwäche sind langsame Schreibvorgänge und höhere Kosten pro Bit, weshalb er Code und nicht Massendaten enthält.

Dieselbe SPI-NOR-Familie deckt diese Dichten auf einem Footprint und einem Treiber ab, was ein Grund dafür ist, dass sie der Standard für Code ist. Ein Design kann die Dichte nach oben oder unten anpassen, wenn die Firmware wächst oder schrumpft, ohne den Bus oder die Software zu ändern, die damit kommuniziert, und eine zweite Quelle in derselben Familie ist in der Regel ein pin-kompatibler Tausch.

Wenn der Code schneller laufen muss

Ein einfacher SPI-Flash überträgt Code mit einem Bit pro Takt auf einer einzigen Datenleitung, und für einen Prozessor, der Code direkt aus dem Flash ausführt, kann das zu wenig sein. Die Lösung ist ein breiterer, schnellerer Pfad zum selben Speichertyp.

Der IS25WJ064F-JTLE-TR ist ein QSPI-Flash, der Daten auf vier Leitungen gleichzeitig überträgt statt auf einer, was ein Vielfaches der Lesebandbreite eines einzeiligen SPI-Bauteils bei einigen wenigen zusätzlichen Pins ergibt. Er eignet sich für ein Gerät, das Code direkt aus dem Flash Execute-in-Place ausführt, oder das beim Booten ein großes Image in RAM lädt und dabei einen schnellen Boot wünscht, wobei die zusätzliche Lesegeschwindigkeit die zusätzlichen Leitungen rechtfertigt.

Für die schnellsten wahlfreien Lesevorgänge hat ein paralleler Bus noch seinen Platz. Der S29GL032A90TFIR40 ist ein paralleler NOR-Flash, der einen vollständigen Adress- und Datenbus auf seinen Pins bereitstellt, was schnellen wahlfreien Zugriff für einen Prozessor ermöglicht, der Execute-in-Place ausführt und die Latenz eines seriellen Bauteils nicht tolerieren kann. Er kostet viele Pins und Platinenfläche, weshalb er dort eingesetzt wird, wo die Execute-in-Place-Leistung wichtiger ist als ein kleines Gehäuse, oft in langlebigeren Industriedesigns.

Die Wahl zwischen seriell und parallel für Code ist eine Entscheidung zwischen Pins und Latenz. Ein serielles Bauteil hält das Gehäuse klein und die Leitungsführung einfach und akzeptiert die Latenz, Code zeilenweise auszulesen, während ein paralleles Bauteil Pins und Fläche aufwendet, um diese Latenz zu reduzieren. Der Bedarf des Prozessors an Befehlsbandbreite bestimmt, wie die Abwägung ausfällt.

Massenspeicher: Raw-NAND gegen verwaltetes eMMC

Wenn ein Gerät mehr als Code speichern muss, Protokolle, erfasste Daten, ein Modell, das nicht in den Code-Flash passt, benötigt es Massenspeicher, und das bedeutet NAND statt NOR. NAND packt weit mehr Bits pro Fläche und kostet weniger pro Bit, zum Preis von langsamerem wahlfreien Zugriff und der Notwendigkeit, seine Eigenheiten zu verwalten.

Der W25N01GVZEIG bietet 1 Gigabit SPI-NAND-Flash, weitaus mehr Speicher als ein NOR-Bauteil auf demselben einfachen SPI-Bus, für Daten, die ein Gerät sammelt und aufbewahrt. Raw-NAND wie dieser verlangt vom Host, Bad Blocks, Wear-Leveling und Fehlerkorrektur in Software zu handhaben, was ein realer Aufwand in der Firmware ist, der den niedrigen Bauteilpreis erkauft.

Wo der Speicher größer ist oder das Team lieber kein Raw-NAND verwalten möchte, erledigt ein verwaltetes Bauteil das für sie. Der THGAF8G8T23BAIL ist eMMC-Speicher für ein Edge-Gerät, NAND mit einem in dasselbe Gehäuse integrierten Controller, der die Bad Blocks, das Wear-Leveling und die Korrektur selbst handhabt und dem Host ein sauberes Blockgerät präsentiert. Er kostet mehr als Raw-NAND und spart die Firmware, die diesen verwalten würde, was die Abwägung ist, die ein Team trifft, je nachdem, wie viel Speicher es benötigt und wie viel Software es selbst verantworten möchte.

Massenspeicher ist auch der Ort, wo ein Modell lebt, das zu groß für den Code-Flash ist. Ein Gerät, das beim Booten ein mehrere Megabyte großes Modell lädt, hält es in NAND oder eMMC und kopiert es zur Ausführung in RAM, was den Massenspeicher zum Teil des Boot-Pfads macht statt nur zu einem Datensenken, und seine Lesegeschwindigkeit zum Teil davon, wie schnell das Gerät startet.

Wie viel Massenspeicher ein Gerät benötigt, richtet sich danach, wie lange es zwischen Dateiübertragungen läuft. Ein Gerät, das seine Daten jede Minute in die Cloud sendet, braucht nur einen kleinen Puffer, während eines, das tagelang offline aufzeichnet, Platz für alles plus eine Reserve für einen langen Ausfall benötigt. Die Kapazität folgt dem schlechtesten Intervall zwischen Übertragungen, nicht dem Durchschnitt.

Der Arbeitsspeicher, in dem der Prozessor läuft

RAM modules on a motherboard
Memory modules, the working memory a processor and its model run in.
" alt="マザーボード上のメモリモジュール" loading="lazy" style="width:100%;height:auto;display:block;border-radius:6px;" />
メモリモジュール、プロセッサとモデルが動作するワーキングメモリ。
" alt="Speichermodule auf einer Hauptplatine" loading="lazy" style="width:100%;height:auto;display:block;border-radius:6px;" />
Speichermodule, der Arbeitsspeicher, in dem Prozessor und Modell laufen.

Ein Prozessor, der ein echtes Programm und ein Modell ausführt, benötigt Arbeitsspeicher, der weit schneller und größer als Flash ist, und das bedeutet RAM. Die Menge richtet sich danach, was gleichzeitig im Speicher sein muss: das Programm, die Gewichte des Modells und seine Arbeitspuffer sowie das Betriebssystem, falls vorhanden, und ein Gerät mit zu wenig RAM tauscht, stockt oder kann sein Modell nicht laden.

Für einen bescheidenen Host ist der MT48LC8M16A2P-6A SDRAM-Arbeitsspeicher, ein unkomplizierter flüchtiger Speicher, der einem Prozessor Platz zum Arbeiten gibt, auf einem parallelen Bus, den viele ausgereifte Mikrocontroller und Prozessoren direkt ansteuern. Er passt zu einem Design, das mehr RAM benötigt, als der Chip an Bord hat, aber nicht die Bandbreite oder Kapazität der neueren Speichertypen.

Für einen Edge-AI-Prozessor, der viele Daten bewegt, ist der K3LK3K30EM-BGCN LPDDR-Arbeitsspeicher für Edge-AI, ein stromsparender Hochbandbreitenspeicher, der einem leistungshungrigen Prozessor die Daten liefert, die ein Modell benötigt, während er weniger Strom verbraucht als älterer RAM bei gleicher Arbeit. Er eignet sich für ein Gerät, bei dem das Modell groß ist und die Speicherbandbreite das ist, was die Inferenzgeschwindigkeit begrenzt, was häufig der Fall ist, wenn das Modell den internen Chip-Speicher überschreitet.

Bandbreite und Kapazität sind separate Fragen für den Arbeitsspeicher. Ein Modell kann in eine gegebene Kapazität passen und trotzdem langsam laufen, wenn der Speicher den Prozessor nicht schnell genug versorgen kann, was der Unterschied zwischen einem älteren parallelen Speicher und LPDDR bei gleicher Größe ist. Die Dimensionierung des RAM bedeutet zu fragen, wie viel gleichzeitig vorhanden sein muss und wie schnell es gelesen werden muss.

Der Boot-Pfad verbindet alles

Die Entscheidung, die jede Speicherwahl ordnet, ist, wie das Gerät von der Stromversorgung zum laufenden Code gelangt, denn der Boot-Pfad entscheidet, welche Art von Codespeicher und wie viel RAM das Design benötigt. Beim Einschalten führt der Prozessor die ersten Befehle von irgendwo Nichtflüchtigem aus, und es gibt zwei grundlegende Wege. Bei Execute-in-Place holt und führt der Prozessor Code direkt aus dem NOR-Flash aus, was einen Flash benötigt, der schnell genug ist, ihn zu versorgen, einen QSPI oder parallelen NOR, und was den RAM-Bedarf niedrig hält, weil der Code nirgendwo kopiert wird. Bei Load-and-Run kopiert eine kleine Boot-Stufe den Hauptcode aus dem Flash oder von einem verwalteten Gerät wie eMMC in RAM und führt ihn von dort aus, was nach dem Start schneller ist und genug RAM benötigt, um den Code plus die Arbeitsdaten zu halten, aber den Code in günstigerem, dichterem Speicher belassen kann. Ein Gerät, das auf einem großen Modell und einem Betriebssystem aufgebaut ist, lädt und führt fast immer aus NAND oder eMMC in LPDDR aus, weil der Code zu groß ist, um ihn Execute-in-Place auszuführen, und der RAM ohnehin für das Modell vorhanden ist. Ein kleiner Sensorknoten führt oft Execute-in-Place von einem SPI-NOR-Bauteil mit wenig oder keinem separaten RAM aus, weil sein Code klein ist und das Hinzufügen von RAM Kosten ohne Nutzen wäre. Die gesamte Speicherliste, welcher Flash, wie viel RAM, Raw-NAND oder eMMC, ergibt sich daraus, welchen dieser beiden Pfade das Gerät einschlägt, sodass der Boot-Pfad zuerst festgelegt wird und die Bauteile so gewählt werden, dass sie ihm dienen.

In der Praxis ist ein Hybridansatz üblich. Eine winzige erste Stufe führt Execute-in-Place von einem kleinen NOR-Flash aus, gerade genug Code, um den RAM und den Massenspeicher zu initialisieren, und lädt dann das große Hauptimage aus eMMC oder NAND in RAM und führt dieses aus. So trägt ein Gerät gleichzeitig einen kleinen schnellen NOR und einen großen NAND und einen großen RAM, wobei jeder seine Rolle in einem Boot spielt, der von einem zum nächsten übergibt.

Den Boot-Pfad wählen, und die Speicherkarte ergibt sich daraus.

Einen Stromausfall mitten im Schreibvorgang überstehen

Ein Edge-Gerät verliert Strom im ungünstigsten Moment, mitten in einem Schreibvorgang, und was diesen übersteht, hängt davon ab, wie der Speicher ausgelegt wurde, damit umzugehen. Ein Flash-Schreibvorgang, der auf halbem Weg unterbrochen wird, kann einen Block halb programmiert hinterlassen, und ein Dateisystem, das davon ausging, dass der Schreibvorgang abgeschlossen wurde, kann beschädigt zurückkehren, was auf dem Boot-Gerät ein Totalausfall ist und auf dem Datengerät verlorene Datensätze bedeutet.

Die Gegenmaßnahmen sind bekannt und müssen bewusst gewählt werden. Ein journalingorientiertes oder Copy-on-Write-Dateisystem hält die alten Daten intakt, bis der neue Schreibvorgang abgeschlossen ist, sodass ein unterbrochener Schreibvorgang auf den letzten guten Zustand zurückfällt statt auf einen beschädigten. Ein verwaltetes Gerät wie eMMC behandelt einen Teil davon in seinem Controller, während Raw-NAND es dem Host überlässt, was Teil dessen ist, was die Host-Firmware übernimmt, wenn sie Raw-NAND wählt.

Der Update-Pfad ist der Bereich, wo dies am härtesten trifft. Ein Over-the-Air-Update, das unterbrochen wird, darf das Gerät nicht boot-unfähig hinterlassen, weshalb ein sicheres Update das laufende Image hält, bis das neue vollständig geschrieben und verifiziert ist, und zurückfällt, wenn der Strom mitten im Update ausfällt. Ein Gerät, das sein einziges Boot-Image an Ort und Stelle überschreibt, ist einen schlechten Moment von einem Totalausfall entfernt.

Stromausfälle sind auch der Grund, warum manche Designs einen kleinen, stets intakten Speicher aufrechterhalten. Ein separater Bereich oder ein separates kleines Bauteil hält die Daten, die niemals verloren gehen dürfen, selten beschrieben und geschützt, während das Churnen von Protokollen und Updates anderswo stattfindet. Das Trennen von "dies niemals verlieren" und "dies häufig überschreiben" verhindert, dass ein Stromausfall die Daten nimmt, die das Gerät am wenigsten verlieren kann.

Dichte und Lebensdauer der Aufgabe anpassen

Die Größe wird gegen das gewählt, was die Aufgabe speichert, plus eine Reserve, und die Reserve ist echte Arbeit, keine Schätzung. Code-Flash benötigt Platz für die Firmware, eine zweite Kopie für ein sicheres Over-the-Air-Update und alle persistenten Einstellungen, und ein Gerät, dessen Flash voll ist, hat keinen Platz, sich sicher selbst zu aktualisieren. Massenspeicher wird für die Daten dimensioniert, die das Gerät zwischen Übertragungen hält, mit Spielraum für die Tage, an denen das Netz ausfällt und sich Daten ansammeln.

Lebensdauer ist die Spezifikation, die Teams erwischt, die allen Flash als gleich behandeln. Flash nutzt sich mit Schreibvorgängen ab, jede Zelle ist für eine Anzahl von Löschzyklen ausgelegt, und ein Design, das jede Sekunde ein Protokoll an dieselbe Stelle schreibt, kann ein günstiges Bauteil im Feld weit früher als erwartet abnutzen. NOR und NAND und die verwalteten Bauteile unterscheiden sich darin, wie viele Schreibvorgänge sie aufnehmen und ob sie die Abnutzung automatisch verteilen, und eine schreibintensive Aufgabe benötigt entweder ein dafür ausgelegtes Bauteil oder ein verwaltetes Gerät, das die Abnutzung über seine Zellen ausgleicht.

Das Lese- und Schreibmuster ist ebenso wichtig wie die Gesamtgröße. Ein Bauteil, das selten beschrieben und häufig gelesen wird, wie Code, stellt geringe Anforderungen an die Lebensdauer, während eines, das kontinuierlich protokolliert, hohe Anforderungen stellt, und dasselbe Dichtebauteil kann für das eine richtig und für das andere falsch sein. Zu benennen, wie jeder Speicher beschrieben wird und wie oft, macht aus einer Dichtezahl das richtige Bauteil.

Datenerhalt ist der stille Begleiter der Lebensdauer. Flash hält seine Daten für Jahre, aber dieser Zeitraum schrumpft, wenn das Bauteil abgenutzt ist und wenn die Temperatur steigt, und ein Gerät, das seine Daten ein Jahrzehnt lang in einem heißen Gehäuse aufbewahren muss, stellt höhere Anforderungen an den Flash als eine benigne Schreibtischumgebung. Die Daten, die am längsten überleben müssen, werden in dem Bauteil mit der Retention gehalten, die das unterstützt.

Diese Spezifikationen stehen in einem Kostenverhältnis zueinander, und die Abwägung wird pro Speicher getroffen, nicht einmal für das Gerät. Der Code-Flash kann ein höherwertiges Bauteil sein, weil er klein ist und seine Integrität das gesamte Gerät ausmacht, während der Massenspeicher ein günstigeres Bauteil sein kann, weil seine Daten ersetzbar sind. Gleichmäßige Ausgaben über die Speicherkarte verschwenden Geld, wo es nicht benötigt wird, und entziehen es dort, wo es gebraucht wird.

Die Temperaturklasse geht mit allem einher. Ein Gerät in einem heißen Gehäuse oder einem Außenschaltschrank benötigt Speicher, der für die Temperatur ausgelegt ist, der er ausgesetzt sein wird, da ein Commercial-Grade-Bauteil, das auf einem Prüftisch einwandfrei funktioniert, in der Hitze früh Daten verlieren oder ausfallen kann, und die Klasse wird der Umgebung angepasst, in der das Gerät lebt. Ein Bauteil, das jede andere Spezifikation auf einem warmen Prüftisch erfüllt, kann trotzdem an dem Tag Daten verlieren, an dem das Außengehäuse aufheizt, sodass die Temperatur, der das Gerät im Betrieb ausgesetzt sein wird, Teil der Wahl ist und kein Nachgedanke.

Die Schnittstelle und die Pins, die sie kostet

Jeder Speichertyp erfordert eine andere Schnittstelle, und die Schnittstelle ist Teil der Wahl, weil sie Pins, Platinenfläche und Prozessorunterstützung kostet. Ein SPI-Flash benötigt eine Handvoll Pins und fast jeder Prozessor kann damit kommunizieren, weshalb er der Standard für Code auf einem kleinen Gerät ist. Ein QSPI-Bauteil benötigt einige weitere Pins und einen Prozessor mit einem QSPI-Controller, dafür mit einem Vielfachen der Geschwindigkeit.

Parallele Speicher, der parallele NOR und das SDRAM, benötigen einen vollständigen Adress- und Datenbus, was viele Pins und einen Prozessor mit einem externen Speichercontroller erfordert, und sie rechtfertigen diese Kosten nur dort, wo ihre Geschwindigkeit oder Kapazität benötigt wird. LPDDR und eMMC benötigen ihre eigenen dedizierten Controller auf dem Prozessor, sodass der Prozessor mit Blick auf diese Schnittstellen gewählt werden muss, da ein Speicher, mit dem der Prozessor nicht kommunizieren kann, kein Speicher ist.

Deshalb werden Speicher und Prozessor gemeinsam gewählt. Die Speichercontroller des Prozessors legen fest, welche Speicher überhaupt möglich sind, und ein Speicher, der ohne Überprüfung der Prozessorunterstützung für seine Schnittstelle gewählt wird, ist ein Speicher, der nicht verwendet werden kann, egal wie gut sein Datenblatt ist.

Das Gehäuse ist neben den Pins wichtig. Ein BGA-Speicher wie LPDDR oder eMMC benötigt die Platinenlagen und die Bestückung, um ihn zu platzieren und zu verdrahten, während ein kleiner SPI-Flash in einem einfachen Gehäuse auf nahezu jede Platine aufgebracht werden kann. Die Speicherkarte wird durch das begrenzt, was die Platine bauen kann, ebenso wie durch das, womit der Prozessor kommunizieren kann.

Das Gespeicherte sicher halten

Speicher hält das, was ein Angreifer will: die Firmware zum Klonen oder Manipulieren und die Daten zum Stehlen, und auf einem vernetzten Gerät ist dieser Speicher Teil der Angriffsfläche. Ein Boot-Image in einem unverschlüsselten Flash kann ausgelesen und kopiert oder durch ein modifiziertes ersetzt werden, es sei denn, etwas verhindert das.

Secure Boot ist die Verteidigung für den Code. Der Prozessor prüft eine Signatur auf dem Boot-Image, bevor er es ausführt, sodass ein manipuliertes oder ausgetauschtes Image abgelehnt wird, und der Vertrauensanker, der die Prüfung durchführt, sitzt dort, wo er nicht geändert werden kann. Der Flash hält immer noch den Code, und der Prozessor weigert sich, Code auszuführen, der nicht die richtige Signatur trägt.

Die Daten haben ihren eigenen Schutz. Sensible Daten im Massenspeicher können verschlüsselt werden, sodass ein von einem entsorgten oder gestohlenen Gerät ausgelesenes Bauteil nichts preisgibt, wobei die Schlüssel im sicheren Element des Prozessors gehalten werden statt im Flash neben den Daten. Was der Speicher hier benötigt, richtet sich danach, wie sehr das Gerät Angriffen ausgesetzt ist, und wird neben der Kapazität und der Geschwindigkeit entschieden.

Secure Boot und Verschlüsselung stützen sich auf den Prozessor, nicht auf den Speicher, was ein weiterer Grund ist, warum beide gemeinsam gewählt werden. Ein Flash kann sich nicht selbst signieren oder prüfen, sodass die Sicherheit im Prozessor liegt und der Speicher nur hält, was der Prozessor schützt. Ein Design, das Secure Boot benötigt, wählt einen Prozessor, der es anbietet, bevor es den Flash wählt.

Fragen, die bei der Auswahl von Edge-Speicher aufkommen

Warum nicht einen Speicherchip für alles verwenden?

Weil Code, Arbeitsdaten und Massenspeicher unterschiedliche Aufgaben sind. Code benötigt zuverlässigen nichtflüchtigen wahlfreien Lesezugriff, Arbeitsspeicher benötigt Geschwindigkeit und kann flüchtig sein, und Massenspeicher benötigt Dichte und niedrige Kosten pro Bit. Kein einzelner Typ ist für alle drei gut geeignet, sodass ein Gerät in der Regel einen Flash für Code und einen RAM für Arbeitsspeicher trägt, und einen größeren Flash oder eMMC, wenn es Massendaten speichert.

Was ist der Unterschied zwischen NOR- und NAND-Flash?

NOR erlaubt schnelle wahlfreie Lesevorgänge byteweise, was Code eignet, den ein Prozessor ausführt oder abruft, kostet aber mehr pro Bit und schreibt langsam. NAND packt weit mehr Bits für weniger Geld und schreibt schneller in Blöcken, was Massendaten eignet, zum Preis von langsamerem wahlfreien Zugriff und der Notwendigkeit, Bad Blocks und Abnutzung zu verwalten. Code kommt in NOR, Massendaten in NAND.

Soll ich Raw-NAND oder eMMC verwenden?

Raw-NAND ist günstiger pro Bit, verlangt aber von Ihrer Firmware, Bad Blocks, Wear-Leveling und Fehlerkorrektur zu handhaben. eMMC baut diesen Controller in das Gehäuse und stellt ein sauberes Blockgerät bereit, kostet mehr, spart aber die Software. Entscheiden Sie danach, wie viel Speicher Sie benötigen und wie viel von dieser Verwaltung Sie selbst übernehmen möchten.

Wie viel RAM benötigt ein Edge-AI-Gerät?

Genug, um zu halten, was gleichzeitig läuft: das Programm, das Betriebssystem falls vorhanden, und die Gewichte des Modells sowie Arbeitspuffer. Ein Gerät mit zu wenig RAM kann sein Modell nicht laden oder stockt beim Tauschen. Dimensionieren Sie es anhand des Modells und des Software-Footprints, und wählen Sie SDRAM für einen bescheidenen Host oder LPDDR, wo Bandbreite die Inferenzgeschwindigkeit begrenzt.

Was ist Execute-in-Place, und wann ist es sinnvoll?

Execute-in-Place führt Code direkt aus dem NOR-Flash ohne Kopie in RAM aus, was den RAM-Bedarf niedrig hält und für kleine Geräte mit kleinem Code geeignet ist. Es benötigt einen Flash, der schnell genug ist, den Prozessor zu versorgen, einen QSPI oder parallelen NOR. Größere Geräte laden Code stattdessen in RAM und führen ihn von dort aus, was nach dem Start schneller ist und mehr RAM benötigt.

Warum nutzt sich mein Flash im Feld ab?

Flash-Zellen halten eine begrenzte Anzahl von Löschzyklen aus, und eine Aufgabe, die denselben Bereich häufig beschreibt, wie ein Sekundenprotokoll, kann ein günstiges Bauteil weit früher als erwartet erschöpfen. Verwenden Sie ein Bauteil, das für die Schreiblast ausgelegt ist, oder ein verwaltetes Gerät, das die Abnutzung über seine Zellen verteilt, und dimensionieren Sie den Speicher so, dass Schreibvorgänge nicht konzentriert sind.

Den Speicher der Reihe nach wählen

Die Reihenfolge verhindert, dass Bauteile gegeneinander gewählt werden. Benennen Sie die drei Aufgaben des Geräts: Code, Arbeitsspeicher und Massenspeicher, und dimensionieren Sie jede. Entscheiden Sie den Boot-Pfad, Execute-in-Place oder Load-and-Run, da er die Art des Code-Flash und die Menge RAM festlegt. Wählen Sie den Code-Flash für die Firmware-Größe und die Lesegeschwindigkeit, die der Boot-Pfad benötigt. Wählen Sie den RAM für das, was gleichzeitig läuft. Fügen Sie Massenspeicher hinzu, Raw-NAND oder eMMC, wenn das Gerät Daten aufbewahrt. Und prüfen Sie, ob die Schnittstellen des Prozessors jeden gewählten Speicher unterstützen, denn das macht sie nutzbar.

Dies fügt keine Bauteile hinzu, die ein Gerät nicht benötigte. Ein kleiner Knoten endet immer noch mit einem Flash und vielleicht keinem separaten RAM, und ein reichhaltigeres Gerät endet mit dem Flash, dem RAM und dem Massenspeicher, den es immer benötigte. Die Reihenfolge stellt nur sicher, dass jeder der richtige Typ und die richtige Größe ist und dass der Prozessor mit allen kommunizieren kann.

Der Faden durch alles ist, dass der Speicher eines Edge-Geräts ein kleines System ist und kein einzelnes Bauteil, und der Boot-Pfad ist das Rückgrat, an dem der Rest hängt. Die Karte richtig zu gestalten bedeutet, dass das Gerät bootet, sein Modell ausführt und seine Daten so lange aufbewahrt, wie es muss. Sie falsch zu gestalten bedeutet, dass das Gerät langsam ist, keinen Speicher hat oder vor seiner Zeit abgenutzt ist.

Verwandte Informationen

InFortune Electronics

Suche

InFortune Electronics

Produkte

InFortune Electronics

Telefon

InFortune Electronics

Benutzer