Fragen Sie einen Experten
Die Planung der richtigen Lösung erfordert das Verständnis Ihres Projekts und der Systemvoraussetzungen. Kingston Experten zeigen Ihnen wie's geht.
Fragen Sie einen ExpertenEin NAND-Flashspeicher ist kein einfaches Lese-/Schreibmedium. Für eine zuverlässige Nutzung sollten mehrere Algorithmen implementiert werden: NAND-Block-Management, Garbage Collection, Fehlerkontrolle (Error Control - EC) und Wear Leveling. Moderne NAND-Flash werden mit Algorithmen auf dem Speichergerät verwaltet, die nicht im Host-Prozessor implementiert sind. Dies kommt den Nutzern zugute, da die NAND-Verwaltung für den Host weniger komplex ist und die Produktunterstützung und -wartung vereinfacht wird.
Host-Schreibvorgänge auf NAND-Flash weisen Ineffizienzen auf, die zu einem früheren Ausfall des Mediums führen können. Die kleinste Organisationseinheit von NAND ist die Seite, die gelesen und programmiert, aber nicht gelöscht werden kann. Die einzige Organisationseinheit, die gelöscht werden kann, ist aber der Block, der aus mehreren Seiten besteht. Daher können Seiten erst dann überschrieben werden, wenn ein Block gelöscht wird. Blöcke können mit der Zeit versagen, wenn ihre Lebensdauergrenze erreicht ist. Außerdem können Defekte auftreten, die zu frühzeitigen Ausfällen führen.
NAND-Flashspeicher verfügen nur über eine begrenzte Anzahl von Programm-Löschzyklen. Wird diese Grenze erreicht, befindet sich der Baustein im EoL-(End-of-Life - Ende der Lebensdauer-)Zustand, d. h. er ist nicht mehr zuverlässig. Die Lebensdauer hängt von der Konfiguration der NAND-Zellen ab.
Single-Level Cell-Konfiguration: Diese Einzelstufen-Zellenkonfiguration bietet die höchste Lebensdauer und die größte Fehlertoleranz.
eMMC LBA 512B Sector Address |
NAND Page & Block Address |
0:31 | Blk10, Pg101 |
32:63 | Blk10, Pg102 |
64:95 | Blk10, Pg103 |
96:127 | Blk10, Pg104 |
128:159 | Blk15, Pg57 |
160:191 | Blk8, Pg129 |
192:223 | Blk10, Pg107 |
224:255 | Blk22, Pg88 |
eMMC liest und schreibt in 512-Byte-Sektoreinheiten, die logisch und nicht physisch sind. Sektoradressen werden als logische Blockadressen (LBAs) bezeichnet. Wenn Daten geändert werden, ist es unpraktisch, den gesamten NAND-Block zu löschen, was zu einem ineffizienten Verschleiß von Seiten führt, die sich nicht geändert haben. Ein LBA-PBA-Zuordnungsschema (PBA - Physical Block Address) bietet kleinere Schreibvorgänge, um die Blockabnutzung auszugleichen, eine Praxis, die als Wear Leveling bezeichnet wird. Mithilfe einer Adressübersetzungstabelle werden die LBAs auf die PBAs abgebildet. Dieser Prozess gleicht die Blockabnutzung aus und verbessert die Schreibgeschwindigkeit.
Der Prozess der Adresszuordnung funktioniert wie folgt:
Kleine, zufällige, nicht seitenweise ausgerichtete Überschreibungen sind in der Regel die größte Quelle für die Schreibverstärkung. Zum Minimieren des WAF sollten Schreibvorgänge an einer Seitengrenze in Vielfachen von Seitengrößeneinheiten ausgerichtet werden. Diese optimale Einheitsgröße ist im Feld „Optimal Write Size (Optimale Schreibgröße)“ des erweiterten CSD-Registers zu finden.
Die Formel für die Ermittlung von Gesamtzahl an geschriebenen Bytes, oder TBW, ist einfach:
Häufig liegt der WAF zwischen 4 und 8, aber das hängt vom Schreibverhalten des Hostsystems ab. Große sequentielle Schreibvorgänge ergeben beispielsweise einen niedrigeren WAF, während zufällige Schreibvorgänge von kleinen Datenblöcken einen höheren WAF ergeben. Diese Verhaltensweise kann häufig zu einem frühzeitigen Ausfall von Speichergeräten führen.
Eine 4GB eMMC mit einem Lebensdauerfaktor EF von 3000 und einem WAF von 8 entspricht beispielsweise:
Die Gesamtzahl der geschriebenen Bytes auf dem eMMC-Baustein beträgt 1,5TB. Daher können während des Lebenszyklus des Produkts 1,5TB an Daten geschrieben werden, bevor es seinen EoL-Zustand erreicht.
Schätzen Sie für Ihren TBW-Bedarf die tägliche Nutzung des betreffenden Bausteins. Beispiel: Für eine Arbeitslast mit 500MB täglicher Schreibnutzung (und einem geplanten Lebenszyklus von 5 Jahren) wird ein Baustein benötigt, der eine TBW von mehr als 915GB erreichen kann:
Die TBW kann zur Bestimmung des maximal zulässigen WAF für einen Baustein verwendet werden, da TBW = (DC * EF) / WAF. Wenn die Nutzungsdauer Ihres Geräts die für Ihre Produktanwendung angestrebte TBW nicht erreicht, können Sie versuchen, sie zu verbessern. Ziehen Sie den Pseudo-Single-Level-Cell-Modus in Betracht, der die Lebensdauer um das Zehnfache erhöhen kann, indem er den Modus des Bausteins von TLC oder MLC in den Single-Bit-pro-Zelle-Modus umwandelt. Dies führt jedoch zu einer drastischen Verringerung der Speicherkapazität: Um 50 % für einen MLC-Baustein mit zwei Bit pro Zelle und um über 66 % für einen TLC-Baustein mit drei Bit. Wenn diese Lösung für Sie nicht zufriedenstellend ist, hilft es auch, einen größeren Baustein zu wählen, der die gleiche Arbeitslast bewältigt. Ein Baustein mit der doppelten Kapazität verfügt auch über die doppelte TBW.
Die Kingston eMMC-Algorithmen erreichen einen niedrigen Schreibverstärkungsfaktor. Wir bieten mehrere Konfigurationen an, um Leistung, Lebensdauer und Zuverlässigkeit in Einklang zu bringen. Das Alter des Bausteins kann mithilfe der JEDEC-Tools zur Schätzung der Lebensdauer überwacht werden, die in der EXT_CSD hinterlegt sind, eine Funktion, über die alle eMMC-Bausteine verfügen. Die Lebensdauer wird in Schritten von 10 % auf der Grundlage der Lebensdauer des Bausteins angegeben. Ein Tool meldet das Alter von TLC- oder MLC-konfigurierten NAND-Flash-Blöcken, das andere das Alter von Blöcken, die im Pseudo-SLC-Modus konfiguriert sind. Kingston eMMC-Bausteine verfügen auch über Herstellerbefehle, um das durchschnittliche Blockalter des Bausteins zu ermitteln. Diese sind präziser als die JEDEC-Tools, erfordern aber etwas Software-Entwicklung für den Einsatz. Alternativ können Sie einen gealterten Baustein für eine umfassendere Analyse an Kingston einsenden.
#KingstonIsWithYou
Die Planung der richtigen Lösung erfordert das Verständnis Ihres Projekts und der Systemvoraussetzungen. Kingston Experten zeigen Ihnen wie's geht.
Fragen Sie einen ExpertenDie Langlebigkeit von Produkten ist ein zentrales Anliegen für viele Embedded-Anwendungen, die in der Regel eine Lebensdauer von 7-10 Jahren erfordern. Angesichts des rasanten Tempos, mit dem sich die Technologie weiterentwickelt und verändert, kann die langfristige Aufrechterhaltung von Embedded-Produkten eine Herausforderung darstellen.
Es ist wichtig zu verstehen, wie der NAND-Flash auf eMMC in modernen Geräten verwaltet wird und wie sich dies auf den Lebenszyklus auswirkt. Dieser Leitfaden hilft Entwicklern und Ingenieuren, die Nutzungsdauer eines eMMC-Speichergeräts in ihrem Systemdesign abzuschätzen und zu validieren.