Flash-Speicher Off-Chip-Flash ist besser fürs IoT

Execute in Place (XiP): Eine externe Flash-Architektur eignet sich ideal für die Code- und Leistungsanforderungen von Edge IoT und KI.
Execute in Place (XiP): Eine externe Flash-Architektur eignet sich ideal für die Code- und Leistungsanforderungen von Edge IoT und KI.

Edge-IoT- und KI-Geräte zeichnen sich durch besondere Anforderungen hinsichtlich Code, Datenverarbeitung und Leistungsfähigkeit aus. Diesen sind On-Chip-Flash-Speicher häufig nicht gewachsen. Eine externe Flash- beziehungsweise XiP-Architektur ist die bessere Lösung für die intelligenten Systeme.

Herkömmliche Mikrocontroller (MCUs) mit Prozessor, On-Chip-Flash-Speicher und I/O-Peripherie sind seit über 40 Jahren weitgehend unverändert geblieben. Neue Anwendungen ändern jedoch dieses etablierte Designschema. Die neuen Systemanforderungen machen unter anderem viel Code und/oder viel Datenverarbeitung und hohe Leistungsfähigkeit nötig. Als ein Beispiel seien hier kleine, vernetzte Geräte wie IoT-Endpunkte oder Wearables genannt, die Funkprotokolle wie LTE-M, NB-IoT oder WiFi ausführen. Diese Kommunikations-Stacks enthalten viel Code und passen aufgrund der schieren Größe der Anwendungssoftware normalerweise nicht in den Embedded-Flash-Speicher einer MCU.

Ein weiteres Beispiel sind Geräte für künstliche Intelligenz (KI) und Inferenzanwendungen, die am Netzwerkrand (Edge) große Mengen an Datenverarbeitungsleistung benötigen, was wiederum zu hohem Stromverbrauch führen kann. Um den konkurrierenden Ansprüchen nach mehr Leistungsfähigkeit und höherer Energieeffizienz gerecht zu werden, können Entwickler ihre Designs auf moderneren Prozesstechniken aufbauen, zum Beispiel 22 nm oder noch kleineren Geometrien. Diese neueren Prozessknoten gibt es jedoch nicht mit On-Chip-Flash.

All diese Anwendungen stellen Entwickler von Edge-Systemen vor eine Herausforderung: Wie lässt sich eine Architektur entwerfen, die sowohl die nötige Leistungsfähigkeit und den erforderlichen Speicherplatz bietet, um eine beträchtliche Menge an Code auszuführen, als auch gleichzeitig den Einschränkungen eines niedrigen Stromverbrauchs und immer kleinerer Chip-Stellflächen gerecht wird?

XiP: Architektur für die Speichererweiterung

Die Lösung besteht darin, einen Teil oder den gesamten MCU-Flash-Speicher außerhalb des ICs zu platzieren und im Execute-in-Place- oder XiP-Modus zu arbeiten. XiP ist ein Verfahren, um Code direkt aus einem externen Flash-Speicher auszuführen, statt ihn zuerst aus dem Flash in das RAM zu kopieren und dann das Programm von diesem RAM aus auszuführen. Da sich der Flash-Speicher in einer XiP-Architektur außerhalb des Chips befindet, sind Entwickler nicht an die Größe des Speichers gebunden, der auf das Die passt. Der externe Speicher kann so groß wie nötig sein, um selbst sehr große Codesätze effizient zu verarbeiten.

Ein Beispiel für diese neue MCU-Architektur sind die RT-Crossover-Prozessoren von NXP, zum Beispiel der i.MX RT1050. Die Designflexibilität ist einer der wesentlichen Vorteile dieser Bausteine, da sie keinen internen Flash-Speicher enthalten und stattdessen externen Speicher verwenden. Auf diese Weise können die MCUs Code und Datenspeicher jeder Größe entsprechend den Anforderungen der Anwendung aufnehmen. Durch Entfernen des Embedded-Flashs vom Chip kann NXP auch andere Funktionen auf dem Chip platzieren, um so die Leistungsfähigkeit oder Energieeffizienz zu optimieren.

Das Platzieren des Flashs außerhalb des ICs ermöglicht es auch, Prozessoren in fortschrittlicheren Prozessknoten (<40 nm) zu fertigen, um höhere Verarbeitungsgeschwindigkeiten, mehr Energieeffizienz und niedrigere Kosten zu erzielen. Das Einbetten von Flash ist insbesondere bei modernen Prozesstechniken eine Herausforderung; und die dafür erforderlichen zusätzlichen Fertigungsschritte erhöhen die Chipkosten deutlich. Mit On-Chip-Flash ausgelegte MCUs müssen die Prozesskosten (etwa 30 bis 40 Prozent mehr als beim gleichen Prozess ohne Flash) sowie die Flächenkosten des Flashs selbst absorbieren.

Für eine XiP-Architektur können Entwickler jedoch nicht einfach einen beliebigen Flash-Speicher verwenden. Serieller Flash-Speicher dient meist zum Speichern von Anwendungsprogrammen, zum Beispiel des BIOS auf einem PC. Hierfür ist die Leistungsfähigkeit oder Energieeffizienz des Flash-Speichermoduls nicht besonders wichtig, da sie nur beim Hochfahren zum Kopieren des Flash-Inhalts in den Arbeitsspeicher erforderlich ist. Wird jedoch Flash in XiP-Architekturen verwendet, wird die Software bei Bedarf aus dem externen Speicher abgerufen; das heißt, hohe Leistungsfähigkeit und Energieeffizienz sind entscheidend.

Adesto hat einen Flash-Speicherbaustein entwickelt, der speziell für den Betrieb als externer Speicher für XiP-Mikroarchitekturen optimiert wurde. Der nichtflüchtige Speicher (NVM) EcoXiP Octal xSPI nutzt die Vorteile der weiterentwickelten seriellen Flash-Technik, um die hohen Anforderungen zu erfüllen. So kann Flash mit wahlfreiem Zugriff auf Leseanforderungen von Bausteinen wie dem RT1050 von NXP reagieren und Anweisungen sowie Daten mit geringer Latenz und hohem Durchsatz bereitstellen.