Bei e·MMC (embedded Multimedia Card) handelt es sich um NAND-Flash-Speicher, der zusammen mit dem Speichercontroller im gleichen Chipgehäuse verbaut wird. Diese Integration vereinfacht das Design-in von e·MMC im Vergleich zu eigenständigen Speicher-ICs. Da die Schnittstelle zwischen dem Speicher und seinem Controller bereits vorhanden und definiert ist, wird e·MMC zu einer einfachen Plug-and-Play-Lösung, die der jeweilige Hersteller auf optimale Leistungsfähigkeit trimmt. Der integrierte Speichercontroller entlastet die CPU oder den Host-Prozessor um das Speichermanagement, was die Leistungsfähigkeit und/oder den Stromverbrauch des Gesamtsystems verbessert. Da heutige Consumer-Elektronik meist auf stromsparenden Prozessoren mit ARM-Core basiert, ist dieser Speicher besonders praktisch.

Auf einen Blick

Laut einer Studie von Global Industry Analysts (GIA) soll der Markt für e·MMC (embedded Multimedia Card) im Jahr 2018 ein Volumen von 927 Millionen Einheiten erreichen, was einer jährlichen Wachstumsrate von 28 % entspricht. Doch was macht e·MMC-NAND-Flash so interessant? Toshiba erklärt dieses Speicher-Interface, die Entwicklung von SLC über MLC zu TLC, geht auf Trends ein und zeigt, welche Vorteile das UFS-Dateisystem bietet.

Anfangs basierte e·MMC-Speicher auf MLC-NAND (Multi-Level Cell), das in jedem Transistor / jeder Speicherzelle zwei Bit an Informationen speichert. Die Zuverlässigkeit von MLC war für kleine und mittlere Speichermengen ausreichend, solange die Applikation ihre Daten nicht so häufig ändert.

Zuverlässigkeit anpassen

Ein anderer Aufbau ist SLC-NAND (Single-Level Cell), bei dem jeder Transistor / jede Speicherzelle nur ein Bit aufnimmt. Dies ist die zuverlässigste Speicherart, die sich auch für Anwendungen mit häufigen Datenwechseln eignet, aber teurer ist (Bit pro Chipfläche). Als dritte Speicherart steht TLC-NAND (Triple-Level Cell) zur Verfügung, der drei Bit pro Zelle speichert. Das ermöglicht die niedrigsten Kosten pro Chipfläche, weist aber die geringste Zuverlässigkeit auf. Derzeitiger e·MMC verwendet ein fortschrittliches Speichermanagement (Managed MLC), um einen Ausgleich zwischen Zuverlässigkeit und Kosten zu erzielen.

Managed-MLC-Speicher, also Raw-MLC-NAND mit einem NAND-Controller, kann jederzeit die Speicherzuverlässigkeit erhöhen, wenn die Anwendung häufig Daten auswechselt. Zum Beispiel bei Settop-Boxen, die Live-Fernsehen pausieren können (Timeshift), ist dies von Vorteil, da sie die Daten häufig überschreiben müssen. Managed-MLC nutzt einen pSLC-Modus (pseudo-Single-Level Cell), der SLC-NAND emuliert, aber MLC-NAND verwendet und nur ein Bit in jeder MLC-Zelle speichert. Die Zuverlässigkeit ist zwar nicht so hoch wie bei SLC, reicht aber für regelmäßige Datenwechsel aus. Die Daten lassen sich zehn Mal häufiger austauschen als bei Standard-MLC-NAND – bei vergleichbarer Zuverlässigkeit. Leider steigt mit einer höheren Zuverlässigkeit auch der Preis in Sachen Bit pro Chipfläche: nur halb so viele Daten können gespeichert werden.

Das System muss den pSLC-Modus während der ersten Initialisierung aktivieren. Der NAND-Controller verwaltet den MLC-Speicher dann wie gewohnt. Bei Daten, die weniger häufig ausgetauscht werden, zum Beispiel Navigationskarten, Musik- und Videodateien, genügt auch die Zuverlässigkeit von TLC-NAND. Heutiges Managed-TLC-NAND arbeitet ähnlich wie Managed MLC: erwartet die Anwendung einen regelmäßigen Datenaustausch, setzt sie die Anzahl an Bits, die jede Zelle speichert, während der ersten Initialisierung auf „Ein Bit pro Zelle“ (pSLC-Modus), um so die Zuverlässigkeit zu erhöhen. TLC-NAND erfordert einen komplexeren ECC-Algorithmus und ist daher nur für e·MMC mit hoher Speicherdichte interessant.

Wear Levelling

Eine weitere Technik der e·MMC-Speicher ist Wear Levelling, das die Lebensdauer der Zellen erhöht. Da jeder Block nur eine begrenzte Anzahl an Löschvorgängen unterstützt, verfolgen Wear-Levelling-Funktionen wie oft jeder Block bereits gelöscht wurde. Die Funktion verteilt die Daten dann entsprechend im Speicher. Falls eine Partitionierung erforderlich ist, muss der Entwickler wissen, dass Wear Levelling logische Partitionen im e·MMC ignoriert und sensitive / permanente Daten nicht in gestresste Speicherzellen lädt.

Bild 1: Partitionierung trennt die Speicherbereiche, die pSLC nutzen, von den Bereichen, die MLC verwenden.

Bild 1: Partitionierung trennt die Speicherbereiche, die pSLC nutzen, von den Bereichen, die MLC verwenden.Toshiba

Es gibt nur eine Möglichkeit, physikalische Partitionen umzusetzen: über das Zuweisen von NAND-Blöcken als Standard-MLC-NAND oder als hochzuverlässiges pSLC-NAND. Partitionierung soll das Mischen selten geänderter Daten (zum Beispiel Betriebssystem-Image-Dateien, die MLC nutzen) und regelmäßig geänderter Daten (im pSLC) in verschiedenen Speicherbereichen des gleichen e·MMC verhindern. Damit wird ein pSLC-Bereich getrennt vom MLC-Bereich zugewiesen, sodass der Wear-Levelling-Algorithmus die Zellen nicht mehr vermischt (Bild 1).

Schreibfaktor

Bei der Berechnung der Lebensdauer unter Berücksichtigung der NAND-Zuverlässigkeit sollte man beachten, dass die Speicherverwaltung des e·MMC zu mehr Schreibzyklen pro Zelle führt: Verwaltungsfunktionen können auch Daten von einem Ort zum anderen bewegen, wenn die Anwendung viele kleine Datenmengen speichert. Das führt zum mehrfachen Beschreiben von Zellen, ist aber nötig.

Bild 2: Der Speicherbereinigungsprozess (Garbage Collection) fügt verstreute freie Daten-Seiten (Pages) zu einem größeren freien Datenblock zusammen.

Bild 2: Der Speicherbereinigungsprozess (Garbage Collection) fügt verstreute freie Daten-Seiten (Pages) zu einem größeren freien Datenblock zusammen.Toshiba

Während das Beschreiben/Programmieren von NAND seitenweise erfolgt, beseitigen Löschfunktionen ganze Blöcke (die aus mehreren Seiten bestehen). Um einen Block für das Löschen vorzubereiten, kopiert die Verwaltung zunächst die in ihm verbliebenen Daten seitenweise in andere Blöcke. Diese Seiten-Umbesetzung (Page Shuffling, Bild 2) vor dem Löschen eines Blocks heißt auch Speicherbereinigung (Garbage Collection).

Beim Interleaving verbessert Speicher mit hoher Kapazität seine Leistungsfähigkeit, indem er mehrere Regionen parallel adressiert. Während dem Schreiben und Löschen befindet sich der NAND-Speicherbus im Busy-Modus und muss auf eine Antwort warten. Kann der integrierte NAND-Controller auf andere NAND-Chips oder separate NAND-Register/Busse zugreifen, sind mehrere Zugriffe (Lesen, Schreiben und Löschen) gleichzeitig möglich.

Standardisierung und Weiterentwicklung

Die Schnittstelle für e·MMC-Speicher ist durch das Industriegremium JEDEC definiert. Sie ist standardisiert, um Interoperabilität zwischen verschiedenen Herstellern zu gewährleisten und um auf Zweitlieferanten (Second Source) zugreifen zu können. Die neueste Version des Standards (e·MMC v5.0) enthält mehrere Verbesserungen, zum Beispiel eine schnellere Schnittstelle (HS400). Außerdem sind Firmware-Updates im Feld möglich, was die Installation einer neuen e·MMC-Controller-Firmware auf Systemen ermöglicht, die sich bereits im Einsatz befinden.

Zu den weiteren Verbesserungen zählt eine Berichtsfunktion über den Speicherstatus, um eine Lebensdauerstatistik für ausgewählte Speicherbereiche zu erhalten. Eine Sleep-Benachrichtigungsfunktion erlaubt einen sicheren Übergang in stromsparende Sleep-Modi.

Eine wichtige Eigenschaft jeder Version ist die Rückwärtskompatibilität zu e·MMC-Speicher, der früheren Versionen des Standards entspricht. Obwohl die neueren v5.0-Pin-Layouts mehr Leistungsfähigkeit bieten, sind sie ebenso rückwärtskompatibel.

Speicher-Trends

Für künftigen e·MMC-NAND-Flash-Speicher zeichnen sich einige Trends ab. Wie bei allen Digital-ICs steigt die Leistungsfähigkeit und der Stromverbrauch sinkt – dank neuester Prozesstechnologien. Toshiba verwendet heute einen „Advanced 19 nm“-Prozess für sein e·MMC-Flash – also die zweite Generation des 19-nm-Prozesses. NAND-Flash und damit auch e·MMC soll im Jahr 2015 in den 15-nm-Prozess überführt werden.

Bild 3: UFS steht noch am Anfang seiner Einführung, verspricht aber höhere Geschwindigkeiten als e·MMC.

Bild 3: UFS steht noch am Anfang seiner Einführung, verspricht aber höhere Geschwindigkeiten als e·MMC.Toshiba

Auch der Betriebstemperaturbereich für e·MMC-NAND-Flash-Speicher wird erweitert. Der Standard für e·MMC in der Consumer-Elektronik beträgt -25 bis +85 °C. Toshiba begann Anfang 2014 mit der Fertigung von Speicher, der Umgebungstemperaturen von -40 bis +85 °C verkraftet. Damit ist ein Einsatz in Industrie- und Automotive-Infotainment-Anwendungen möglich.

Kostendruck

Ein weiterer Trend ist die Fertigung kostengünstiger Speicher für Smartphones und Tablets. Toshiba erfüllt diese Forderung durch TLC-NAND, das günstiger ist als MLC. Eine erweiterte Fehlerkorrektur kompensiert teilweise die geringere Zuverlässigkeit. In Zukunft werden High-End-Smartphones und -Tablets zu den ersten Geräten zählen, die sich von e·MMC-Speicher verabschieden. Die Technologie entwickelt sich zu einem Format, genannt Universal Flash Storage (UFS), das auf hochleistungsfähige Consumer-Elektronik abzielt, sich aber noch im Anfangsstadium seines Einsatzes befindet (Bild 3).

Bild 4: Da der UFS-Standard eine serielle Schnittstelle nutzt, lassen sich Daten gleichzeitig in Uplink- und Downlink-Richtung übertragen.

Bild 4: Da der UFS-Standard eine serielle Schnittstelle nutzt, lassen sich Daten gleichzeitig in Uplink- und Downlink-Richtung übertragen.Toshiba

UFS ist für Embedded-Flash-Speicher ausgelegt und speziell auf hohe Leistungsfähigkeit und niedrigen Stromverbrauch getrimmt. Der Standard ermöglicht einen Datendurchsatz von 300 MByte/s (2,9 GBit/s Single Lane) und basiert auf den MIPI-M-PHY- und Uni-Pro-Spezifikationen für schnelle serielle Schnittstellen. Die kommenden M-PHY-Spezifikationen geben Geschwindigkeiten von 5,8/11,6 GBit/s vor und lassen sich als Multi-Lane-Lösungen implementieren. Daten lassen sich damit gleichzeitig als Uplink und Downlink über den seriellen Bus übertragen (Bild 4). UFS bietet auch eine niedrige aktive Stromaufnahme und eine Standby-Stromaufnahme von nahezu Null. Das Format unterstützt mehrere Befehle mit Command-Queuing-Funktionen, was Multi-Thread-Programmierung erlaubt und einen leistungsfähigeren Random Read/Write Access ermöglicht.

Flexibler Speicher

e·MMC-Speicher ist NAND-Flash, der zusammen mit einem Speichercontroller in einem Chip verbaut wird. Durch die einheitliche Schnittstelle vereinfacht sich die Integration in ein System, der Stromverbrauch sinkt und die Leistungsfähigkeit steigt. e·MMC basiert auf fortschrittlichen Speichermanagement-Techniken wie pSLC, um unterschiedliche Einsatzbedingungen optimal zu unterstützen. Der Speicher wird heute in modernen Prozessen gefertigt und steht für einen größeren Betriebstemperaturbereich zur Verfügung, was den Einsatz in Industrie- und Automotive-Infotainment-Anwendungen ermöglicht.

In Zukunft wird aber das UFS-Format immer beliebter, da es über seine serielle Schnittstelle einen vielfach höheren Datendurchsatz erlaubt. Hinzu kommt ein sehr niedriger Stromverbrauch, der für die Consumer-Elektronik in Zukunft immer interessanter wird.