Zuverlässige Datenspeicher

Fachbeitrag elektronik informationen 08/2018

SSDs für Embedded und Industrie

Solid State Drives etablieren sich zunehmend gegen Festplatten mit rotierenden Scheiben. Die jüngste Generation bietet in kompakter Chip-Bauform kurze Zugriffszeiten und hohe Datensicherheit.

SSD Titel

Die Verfügbarkeit von Flash-Speicherbausteinen mit hoher Kapazität zu günstigen Preisen ermöglicht die Ablösung rotierender Speichermedien überall dort, wo diese aufgrund ihrer Eigenschaften nicht oder nur bedingt eingesetzt werden können. Zu den Vorteilen von Flash-Speichern zählen kürzere Zugriffszeiten (vor dem Zugriff müssen keine Magnetköpfe positioniert werden), die Unempfindlichkeit gegenüber Vibrationen und Schock – was sie für mobilen Betrieb auszeichnet –, die niedrigere Leistungsaufnahme und ein schnellerer Datentransfer, besonders beim Lesen von Daten.

Der Temperaturbereich von Halbleiterspeichern ist generell weiter als der von magnetischen, daher auch ihre Eignung für industrielle Anwendungen. Ein Nachteil ist jedoch die Abnutzung aufgrund der Alterung der Zellen. Sowohl bei Flash-Speichern als auch bei Festplatten besteht das Risiko, dass man bei einer Unterbrechung der Spannungsversorgung während des Schreibvorgangs Daten verliert.

Was ist ein Solid State Drive?

Bild 1: MO-297: Über das SATA-Interface erlauben die 54 mm x 39 mm großen SSDs Transferraten bis 6 GBit/s

Die JEDEC, eine Organisation zur Standardisierung von Halbleitern, definiert ein Solid State Drive (SSD) als nicht flüchtiges Speichermedium, bei dem ein Controller zusammen mit einem oder mehreren Speicherbausteinen in einem Gehäuse verbaut ist. Das Gerät soll die Schnittstellen und Formfaktoren von herkömmlichen Festplatten verwenden.

Bei SSDs haben sich verschiedene Formfaktoren etabliert. Sie können beispielsweise 2,5-Zoll-Festplatten direkt ersetzen. Die Bauform MO-297 (SlimSATA) hat denselben elektrischen Anschluss, aber kompaktere Abmessungen von 54 mm x 39 mm (Bild 1).

 

Bild 1: MO-297: Über das SATA-Interface erlauben die 54 mm x 39 mm großen SSDs Transferraten bis 6 GBit/s

Moderne Singleboard-Computer bieten einen Steckplatz für SSD-Module im mSATA- (MO-300) oder M.2-Format (Bild 2), beispielsweise mit Abmessungen von 42 mm x 22 mm. Die Pinbelegung bei M.2 hängt davon ab, ob als Interface SATA oder PCIe verwendet wird. Die Baulänge variiert je nach Speicherkapazität, gebräuchlich sind Werte zwischen 42 und 110 mm. Zudem stehen SSDs auch in Chipbauform zur Verfügung, etwa die FerriSSD von Silicon Motion.

Fazit

Konfigurierbar als SLC oder MLC. Heutige Embedded- und Industrieanwendungen verlangen die schnelle und zuverlässige Speicherung von Daten. Hierzu ist FerriSSD mit einer PCi-Express-Schnittstelle ausgestattet, die hohe Transfergeschwindigkeiten unterstützt. Darüber hinaus enthält der Speicher mit bis zu 256 GByte Kapazität im BGA-Gehäuse einen Controller und mehrstufigen Cache. Die Firmware mit Funktionen wie Wear Leveling und Bad Block Management sorgt für zuverlässigen Datenerhalt. mit der konfigurierbaren Partitionierung als SLC oder MLC beziehungsweise TLC kann man zwischen Geschwindigkeit und Speicherdichte abwägen und den Flash-Baustein so an die jeweiligen Bedürfnisse anpassen.

Interface zum Host

Bild 2: M.2: Die Bauform unterstützt als Interface sowohl SATA als auch PCI Express

Die ersten SSD-Generationen nutzten das bei magnetischen Speichermedien übliche ATA-Interface. Der Adressraum dieser Schnittstelle reichte lange für die verfügbaren Speicherkapazitäten aus. Mit der Migration zu SATA konnten die inzwischen schneller gewordenen Hableiterspeicher zügig angesprochen werden, jedoch waren beim Schreiben noch Wartezyklen erforderlich. Die jüngste Generation von SSDs setzt auf PCI Express. Eigens hierzu wurde die Softwareschnittstelle NVMe definiert, welche die Anbindung nicht flüchtiger Halbleiterspeicher über PCIe beschreibt.

Für den praktischen Einsatz von Flash-Speichern in Form einer SSD ist ein Controller unabdingbar. Dieser wandelt die Flash-Schnittstelle elektrisch und logisch in ein Format um, das den Anschluss an einen Computer erlaubt. Die Verwaltung der Flash-Bausteine und die Kommunikation übernimmt eine Firmware, die bezüglich maximaler Performance an die jeweilige Hardware angepasst ist und den sicheren Betrieb gewährleistet. Die PCIe-SSDs FerriSSD von Silicon Motion vereinen auf einem Chip den Host-Controller mit Firmware, bis zu 256 GByte 3D-NAND-Flash und einen mehrstufigen Cache.

 

Bild 2: M.2: Die Bauform unterstützt als Interface sowohl SATA als auch PCI Express

Wear Leveling erhöht Lebensdauer

Da die einzelnen Speicherzellen eines Flash-Bausteins bei jedem Schreib- oder Löschzugriff altern, müssen im Interesse einer langen Lebensdauer häufige Zugriffe auf dieselbe Zelle vermieden werden. Im praktischen Einsatz legt das Betriebssystem in einem bestimmten Speicherbereich das Directory ab, welches Informationen über Dateien und deren Position auf dem Datenträger beinhaltet. Bei jedem Schreibvorgang muss der Inhalt aktualisiert werden. Dagegen werden andere Speicherbereiche standardmäßig nur selten verwendet – die Zellen am Ende etwa erst, wenn der Speicher nahezu gefüllt ist. Der Controller hat die Aufgabe, die logischen Zugriffe auf den Speicher derart in physikalische umzusetzen, dass keine Zelle überbeansprucht wird und deshalb vorzeitig altert.

Der Schreibvorgang benötigt für jeden Block eine gewisse Zeit, um elektrische Ladungen in die Isolationsschicht zu transportieren. Ein mehrstufiger Cache als Zwischenspeicher hilft, die Zugriffszeit zu verringern. Sollte beim Lesen ein korrigierbarer Fehler festgestellt werden, können durch die in jeder Stufe stattfindende Fehlerkorrektur (ECC) korrekte Daten an den Host gesendet und zusätzlich in einen neuen Block geschrieben werden (Bild 3). Dies erfolgt völlig transparent ohne Mitwirkung der Host-CPU.

Der Controller überwacht jede einzelne Speicherzelle. Falls eine Zelle die Ladung nicht hält, wird der ganze Block als defekt markiert und aus der Liste der verfügbaren Blöcke gelöscht. Als Ersatz stehen Reserveblöcke bereit. Wenn diese aufgebraucht sind, verringert sich die Kapazität der SSD.

Darüber hinaus soll der Controller sowohl für hohe Schreib- und Lesegeschwindigkeiten als auch für die Datenintegrität sorgen. Neben dem ECC-Mechanismus führt er dazu einen automatischen Refresh der Daten durch, indem er Speicherblöcke ausliest und wieder zurückschreibt, wenn der Host nicht auf den Speicher zugreift.

Bild 3: Fehlerkorrektur: Die in jeder Cache-Stufe stattfindende ECC kann Bitfehler feststellen und beheben
Bild 3: Fehlerkorrektur: Die in jeder Cache-Stufe stattfindende ECC kann Bitfehler feststellen und beheben

Wissenswertes:

Nicht flüchtiger Halbleiterspeicher. Flash bezeichnet eine Technologie, mit der sich Daten nicht flüchtig in einem Halbleiter speichern und wieder löschen lassen. Der wesentliche Unterschied zu EEPROM ist, dass Flash-Speicher nur blockweise beschrieben werden können, der Zugriff auf eine einzelne Zelle ist nicht möglich. Flash speichert Daten, indem es eine elektrische Ladung zwischen zwei Isolationsschichten einschließt. Beim Schreiben und Löschen wird eine dieser Schichten kurzzeitig leitfähig, wodurch Ladungen zu- oder abfließen können. Während Lesevorgänge beliebig oft erfolgen können, lassen Schreib- und Löschvorgänge die Zellen altern. Der Isolationswiderstand verschlechtert sich, und die Ladung kann im Laufe der Zeit abfließen.
Um die Speicherdichte zu erhöhen, ordnen Halbleiterhersteller die ursprünglich planar angeordneten Speicherzellen in einem V-förmigen Graben an (V-NAND). Außerdem lassen sich in einem Chip mehrere Dies übereinander stapeln (3D NAND), womit in einem kompakten Gehäuse große Speicherkapazitäten realisiert werden können.
Beim Auslesen einer Flash-Zelle entscheidet die Auswerteschaltung im Chip, ob die Zahl der Ladungsträger höher oder niedriger als ein Schwellwert ist, und gibt ein entsprechendes Logiksignal (0 oder 1) aus. das gilt für SLC-Flash (Single Level Cell). Bei Multi Level Cell gibt es mehrere Schwellwerte, womit vier verschiedene Zustände erfasst werden können. Eine Zelle speichert also 2 Bit. TLC-Speicherzellen (Triple Level Cell) unterscheiden acht Ladungsniveaus und können auf diese Weise 3 Bit pro Zelle speichern.

Partitionierung als SLC oder MLC

Konventionelle SSDs konfigurieren den kompletten Speicherbereich homogen – je nach Abwägung von Speicherdichte gegenüber Zugriffslatenz als SLC (Single Level Cell), MLC (Multi Level Cell) oder TLC (Triple Level Cell, Details dazu im Wissenskasten). FerriSSD erlaubt mit einer als Hybrid Zone bezeichneten Funktion die Partitionierung eines NAND-Chips in separate Zonen.

Ohne auf die hohe Speicherdichte von MLC beziehungsweise TLC verzichten zu müssen, können einzelne Bereiche der SSD schnell beschreibbaren SLC-Speicher bereithalten. Durch die kürzere Zugriffszeit verringert sich auch die Zeit, die beim Ausfall der Stromversorgung für den ordnungsgemäßen Abschluss eines laufenden Schreibvorgangs benötigt wird. Die erforderliche Pufferung kann also deutlich kompakter ausfallen. Die Partitionierung erlaubt es zudem, in einem Baustein schnellen Speicher zum Ausführen des Betriebssystems und hohe Speicherdichten für Daten zur Verfügung zu stellen. Bild 4 zeigt, wie der partitionierte Speicher physikalisch und logisch an den Host angebunden ist.

Bild 4: Hybrid Zone: Physikalische (oben) und logische Anbindung (unten) des partitionierten Flash-Speichers an den Host

Mit der Anzahl der Schreib- und Löschzyklen nimmt die Fähigkeit von Flash-Zellen ab, Daten dauerhaft zu speichern. Ebenso bewirkt eine erhöhte Umgebungstemperatur einen kürzeren Datenerhalt. Um Datenverlust zu vermeiden, scannt FerriSSD proaktiv den Speicher, um Zellen, die ihren Inhalt verlieren zu drohen, aufzufrischen und den Datenerhalt zu verlängern. Dazu protokolliert der sogenannte IntelligentScan-Algorithmus Sperrschichttemperaturen, die Anzahl der Schreib-/Löschzyklen, die Einschaltdauer der SSD und weitere Parameter. Die Funktion startet immer dann, wenn die SSD inaktiv ist.

 

Bild 4: Hybrid Zone: Physikalische (oben) und logische Anbindung (unten) des partitionierten Flash-Speichers an den Host

 

Downloaden Sie diesen Artikel als PDF: DOWNLOAD

Kontakt

Kontakt HY-LINE

Helpdesk 089 / 614 503 40

E-Mail computer@hy-line.de

Kontakt Schweiz

Helpdesk +41 52 647 42 00

E-Mail info@hy-line.ch