Das müssen moderne Flash-Speicher für Autos können
Neue Funktionen und Analysemöglichkeiten machen Flash-Speicher fit für die Anforderungen automotiver Sicherheitsstandards.
Anbieter zum Thema

NOR-Flash ist in Fahrzeugen seit vielen Jahren eine zuverlässige Speichertechnik. Sie wird zum Beispiel in Armatureneinheiten sowie Infotainment- und Telematiksystemen eingesetzt. Hier dient der nichtflüchtige Speicher zum Vorhalten von Anwendungscode. NOR ist robust, schnell und ermöglicht Execute-in-Place (XiP): Dabei führt der Host-Prozessor Code direkt aus dem Flash heraus aus, ohne den Umweg über externes DRAM.
NOR-Flash spielt auch in Fahrerassistenzsystemen (ADAS) eine wichtige Rolle. In aktuellen Fahrzeugen übernehmen zum Beispiel der Abstands-Tempomat und der Spurhalteassistent bereits Funktionen für das halbautonome Fahren auf der Autobahn. Die Entwicklung derartiger Technologien schreitet schnell voran. In den nächsten Jahren werden elektronische Systeme mit Flash-RAM immer mehr Funktionen steuern. Flash ist darin Teil eines sicherheitskritischen Systems. Ein unkontrollierter Ausfall könnte dazu führen, dass das Fahrzeug unsicher wird oder nicht mehr beherrschbar ist.
OEM für Automotive-Systeme verlangen nach einer neuen Art von Flash-IC, die die Anforderungen an die Funktionssicherheit auf der Systemebene besser als frühere Bauteilegenerationen unterstützt. Dieser Artikel erläutert die Merkmale, die neue serielle Flash-Produkte für den Einsatz im Fahrzeug bieten müssen, um die Anstrengungen der Systementwickler, die Norm ISO 26262 zu erfüllen, umfassend zu unterstützen. Diese funktionalen Sicherheitsfeatures werden wahrscheinlich sowohl in seriellem NOR-Flash – dem Flash-Speichertyp, der heute in Embedded-Systemen am häufigsten zum Speichern von Boot-Code eingesetzt wird – als auch in SLC (Single Level Cell) NAND-Flash Einzug halten.
Serielles NAND ist eine Alternative zu NOR-Flash in Anwendungen, die keine sehr hohe Anzahl an Programmier/Lösch-Zyklen und die kein XiP erfordern. Hersteller Winbond fertigt SLC-NAND-Technologie im 46-nm-Prozess. Er bietet bewährte, hohe Qualität und sollte in Anwendungen zur Funktionssicherheit gegenüber seriellem NAND, das in kleineren Geometrien hergestellt wird, bevorzugt werden. Außerdem ist die Datenerhaltung mit der von 55- bis 65-nm-NOR-Flash vergleichbar.
Vorteile des seriellen NAND sind niedrigere Kosten – bei NAND sind die Bitzellen viermal kleiner als bei NOR – und die höhere Schreibgeschwindigkeit. Das ist wichtig für Anwendungen mit OTA-Updates. Winbond fertigt serielles NAND mit eingebauter ECC-Engine (Error Correcting Code). Zudem unterstützt es schnelles kontinuierliches beziehungsweise sequentielles Lesen über Seiten- und Blockgrenzen hinaus. Entwickler ziehen es daher für Anwendungen in der automotiven Funktionssicherheit ernsthaft in Betracht.
Wichtige Diagnosedaten sichtbar machen
Ein wichtiger Aspekt der NOR-Flash-Speichertechnologie ist, dass sie sehr zuverlässig ist und sich die Lebensdauer der Komponenten im Betrieb äußerst genau vorhersagen lässt. NOR-Flash-Speicher-ICs haben sich in der Praxis bewährt. Automotive-OEM setzen diese in Millionen Autos bewährte Technologie bevorzugt ein. Darüber hinaus verlangen die Anstrengungen der Automotive-Hersteller zur Einhaltung von ISO 26262 nach einer Möglichkeit, jeden Fehler zu identifizieren, der theoretisch bei einem NOR-Flash-IC auftreten könnte.
In der Vergangenheit wurden NOR-Flash-ICs den Automotive-OEM als Speicher-Blackbox geliefert. Funktionen, die die Datenintegrität und den Datenerhalt unterstützen, sind in herkömmlichen Bauteilen für den Anwender nicht zugänglich. Dieser geschlossene Betrieb steht im Widerspruch zu den Prinzipien der Funktionssicherheit. Diese verlangen, dass das Host-System einzelne Komponenten auf Fehler oder auf unnormales Verhalten hin überwacht. Dieses kann darauf hindeuten, dass das Auftreten eines Fehlers wahrscheinlich ist. Die gewonnenen Information können als Basis für das Implementieren von Gegenmaßnahmen dienen, die einen einwandfreien Betrieb gewährleisten. Das heißt, dass NOR-Flash-ICs für den Einsatz in ISO-26262-konformen Systemen dem Host-Controller Diagnosedaten verfügbar machen und Möglichkeiten vorsehen müssen, in denen der Host den Betrieb des IC beeinflussen kann, wenn die Daten ein höheres Ausfallrisiko erkennen lassen. Zwei Hauptfunktionen eines NOR-Flash-ICs liefern diese Daten: die ECC-Engine, die die Datenintegrität wahrt, indem sie Bitfehler beim Lesen erkennt und korrigiert, sowie ein Benutzermodus, der eine regelmäßige Prüfung des Betriebs der ECC-Engine ermöglicht.
Wie ECC-Daten die Funktionssicherheit unterstützen
In herkömmlichen NOR-Flash-ICs arbeitet die ECC-Engine im Hintergrund. Dort erkennt und korrigiert sie Bitfehler mit Multi-Byte-Granularität unauffällig, ohne den Host-Controller dafür zu beanspruchen. Diese ECC-Daten können jedoch auf verschiedene Weisen dazu benutzt werden, das Einhalten der Anforderungen zur Funktionssicherheit zu erleichtern. Eine ECC-Engine kann Single-Bit-Fehler (Abweichung zwischen Haupt-Datenbit und Paritätsbits bei nur einem Bit) korrigieren und Double-Bit-Fehler erkennen, jedoch nicht korrigieren. Wenn das NOR-Flash-Bauteil dem Host-Controller ein Status-Register zur Verfügung stellt, kann es für den letzten Lesevorgang eines von drei Ergebnissen anzeigen: erstens gute Daten, keine Fehlerkorrektur erforderlich, zweitens gute Daten nach Fehlerkorrektur, drittens schlechte Daten, keine Korrektur möglich.
Diese nachträgliche Information kann dabei helfen, die langfristige Datenintegrität aufrechtzuerhalten. ISO 26262 fordert jedoch, dass Automotive-Systeme Fehler im Augenblick des Auftretens erkennen und unverzüglich Gegenmaßnahmen einleiten. Neue Automotive-NOR-Flash-ICs von Winbond können Fehlerinformationen in Echtzeit über einen eigenen Fehlerausgang bereitstellen. Dieser kann auch die genaue Position der nicht korrigierbaren Daten anzeigen.
Als weitere Option lässt sich auswählen, ob der Fehlerausgang korrigierte Single-Bit-Fehler oder erkannte und nicht korrigierbare Double-Bit-Fehler meldet. Der Host kann diese Informationen aus dem Status-Register, über den Fehlerausgang oder von beiden dazu nutzen, eine Fehler-Map zu erstellen. So kann er erkennen, welche Positionen des NOR-Flash-Arrays fehlerhafte Daten enthalten. Der Host kann einen Schwellwert setzen: Überschreitet die Anzahl der Fehler diesen, wird diese Speicherposition, etwa ein bestimmter Block, ausgeschlossen. Dies ist eine sinnvolle Vorsichtsmaßnahme, denn das wiederholte Auftreten korrigierter Single-Bit-Fehler in einem bestimmten Block von Speicherzellen könnte ein Hinweis darauf sein, dass der Block geschwächt ist und die Gefahr eines vorzeitigen Ausfalls besteht.
Maßnahmen zum Erkennen latenter Fehler
Die beschriebenen Maßnahmen zielen auf den Umgang mit Single-Point-Fehlern, bei denen die Norm ISO 26262 für jede ASIL-Stufe Mindesterkennungsraten vorschreibt. Die Norm verlangt aber auch, dass Automotive-Systeme latente Fehler erkennen. Diese verletzen für sich genommen die Anforderungen zur Funktionssicherheit noch nicht, tun dies jedoch in Verbindung mit einem weiteren Fehler. In einem NOR-Flash-IC können derartige latente Fehler auftreten. Ein Beispiel ist eine Funktionsstörung der ECC-Engine. Im normalen Betrieb ist die NOR-Flash-Technologie hochzuverlässig und erfordert nur selten eine Fehlerkorrektur. Solange eine Fehlfunktion der ECC-Engine nicht dazu führt, dass gute Bits fälschlicherweise „korrigiert“ werden, würde der Fehler normalerweise nicht bemerkt. Wenn jedoch wegen einer gestörten ECC-Engine ein einziges schlechtes Bit ausgegeben wird, stellt die Kombination der beiden Fehler eine Gefahr für die Funktionssicherheit dar.
Zum Erkennen latenter Störungen der ECC-Engine haben die Automotive-Flash-ICs von Winbond einen speziellen User Mode und ECC-Encoder-Read-Befehle. Anwender können damit Datenmuster in den Speicher eingeben und die von der ECC-Engine erzeugten Hauptdaten und Paritätsdaten wieder auslesen. Sind diese nicht korrekt, ist die ECC-Engine wahrscheinblich defekt. In ähnlicher Weise kann der User Mode dazu verwendet werden, den ECC-Dekodiervorgang zu überprüfen. Im User Mode lädt der Anwender Hauptdaten und Paritätsdaten in die ECC-Engine und kann die Daten mit einem speziellen Befehl „ECC Decoder Read“ wieder auslesen. In die Hauptdaten und Paritätsdaten können Single-Bit- und Double-Bit-Fehler eingebracht werden, um zu überprüfen, ob die ECC-Engine bei der Korrektur von Single-Bit-Fehlern und der Erkennung von Double-Bit-Fehlern korrekt arbeitet. Winbond empfiehlt, diese Prüfung der ECC-Engine bei jedem Hochfahren des Systems durchzuführen.
* Anil Gupta ist Technical Executive und Marketing Manager bei Winbond in Saratoga/USA
(ID:45767746)