NAND-Flash-Speicher richtig ausgewählt

19. März 2008, 14:31 Uhr | Yuping Chung
Diesen Artikel anhören

Fortsetzung des Artikels von Teil 2

NAND-Flash-Speicher richtig ausgewählt

Die Folge davon ist, dass Anwender, die derartige Bausteine einsetzen, nicht mit der raschen Folge immer neuer Änderungen im Design von NAND-Speicher mithalten können und in ihrer Auswahl damit zwangsläufig eingeschränkt sind. Setzen Anwender dagegen Controller ein, deren Firmware im Embedded-Flash gespeichert ist, können sie die nötigen Modifikationen bei der Einführung neuer Features bei Flash-Speicher-ICs rasch und kostengünstig durchführen. Solche Speicher-Subsysteme sind deutlich flexibler, da die Anwender die Bausteine von einem größeren Zuliefererkreis beziehen können. Kurze Markteinführungszeiten, optimale Verfügbarkeit und hohe Kosteneffektivität sind die Folge.

Auf welche Features zu achten ist

Um ein Höchstmaß an Performance und Datenintegrität zu erzielen, müssen die Anwender ein paar wichtige Features beachten: die »Error Correction«, das »Bad Block Management«, die Lebensdauer (Endurance) und einen geringen Stromverbrauch. Im Folgenden wird auf jeden dieser Punkte näher eingegangen.

Beim Auslesen von NAND-Flash-Speichern kommt es infolge von Schreib/Lesezugriffen auf benachbarte Zellen immer wieder zu zufälligen Lesefehlern. ECC-Schaltungen (Error Correction Circuit) wirken diesem Phänomen entgegen, indem sie die Daten bei der Übertragung von und zum Speicher auf Richtigkeit prüfen und gegebenenfalls korrigieren. Da die NAND-Hersteller seit einigen Jahren vermehrt auf MLC-Techniken setzen, um die Speicherdichte zu vergrößern, ist die ECC-Funktion immer wichtiger gewonnen. Üblicherweise spezifizieren die Speicherhersteller bei SLC-Speichern einen Bitfehler pro 512-Byte-Seite. Wegen des Umstiegs auf dichtere MLC-Architekturen können NAND-ICs mittlerweile jedoch bis zu vier Bitfehler pro 512-Byte-Seite aufweisen. Da MLC-Bausteine in der Regel mit der gleichen Spannung arbeiten wie SLC-NAND-Speicher, entfällt auf jeden Spannungslevel einer MLC-Zelle, und damit jedes Bit, entsprechend weniger Ladung. Dadurch wächst die Anfälligkeit beispielsweise gegen Temperaturschwankungen, denn diese können zu Zustandswechseln und damit zu »Soft-Fehlern« führen. Als Gegenmaßnahme müssen die Hersteller NAND-Flash-Subsysteme mit leistungsfähigeren ECC-Engines ausstatten. Einige, darunter die diskreten Controller und die Produktlinie »NANDrive« von SST, verfügen inzwischen über eine hardwaremäßige 8-Bit-ECC-Engine.

Bad-Block-Management

Das so genannte »Bad Block Management« ist ein weiteres wichtiges Feature von NAND-Speichersubsystemen. Während bei NOR-Flash die Integrität sämtlicher Speicherbits garantiert ist, sind NAND-Bausteine für den Umgang mit fehlerhaften Blöcken ausgelegt, um die Produktionsausbeute (Yield) zu steigern. In der Regel geben die Hersteller von Speicher-ICs an, welche Blöcke in ihren Produkten fehlerhaft sind. Während der Initialisierung stellen die auf Firmware basierenden Funktionen des Bad-Block-Managements die Adressen dieser fehlerhaften Blöcke fest und maskieren sie automatisch aus dem Speicher-Array aus. Anschließend instruiert die Firmware den Controller, diese Blöcke nicht für die Speicherung zu verwenden. Sollte die Firmware während des Einsatzes des Speichers weitere fehlerhafte Blöcke entdecken, aktualisiert sie ihr Verzeichnis fehlerhafter Blöcke entsprechend.

Auch die oft als »Endurance« bezeichnete Lebensdauer der Speicher ist für die Designer von Flash-Speichersubsystemen ein wichtiges Thema, denn jedes Flash-IC übersteht nur eine bestimmte Anzahl von Lösch/ Programmierzyklen. Danach kann der Speicher keine Daten mehr behalten. Erschwerend kommt hinzu, dass die Lebensdauer durch kleinere Schaltungsgeometrien und die Multi-Level-Technik sogar noch abnimmt: Während die Hersteller für SLC-Produkte noch 100 000 Zyklen spezifizierten, sind es bei neueren MLC-Produkten nur noch 10 000. Flash-Speichercontroller kompensieren dies mit Hilfe komplexer »Wear Leveling«-Funktionen in ihrer Firmware. Diese Algorithmen führen über die Nutzungshäufigkeit der einzelnen Blöcke oder Seiten Buch und inkrementieren dazu bei jedem Schreibzugriff einen »Age Counter« für die logischen beziehungsweise physischen Sektoren des Flash-Datenträgers. Indem sie automatisch dafür sorgen, dass Schreibzugriffe an wenig genutzte Blöcke gerichtet werden, erhöhen Wear-Leveling-Algorithmen die Lebensdauer des Speicher-ICs. Sie bewirken, dass alle Sektoren eines Flash-IC ihre Lebensdauergrenze gleichzeitig erreichen. Außerdem warnt ein Mechanismus den Anwender, wenn dieser Punkt erreicht ist, sodass Datenverluste vermieden werden.


  1. NAND-Flash-Speicher richtig ausgewählt
  2. NAND-Flash-Speicher richtig ausgewählt
  3. NAND-Flash-Speicher richtig ausgewählt
  4. NAND-Flash-Speicher richtig ausgewählt

Das könnte Sie auch interessieren

Jetzt kostenfreie Newsletter bestellen!