zurück zum Artikel

Überflieger

| Boi Feddern, Benjamin Benz

Flash-Speicher statt einer Festplatte verspricht mehr Performance und geringeren Energieverbrauch. Bisherige Solid State Disks konnten diese Versprechen nur bedingt einlösen, doch jetzt tritt Intel auf den Plan und zeigt allen anderen, wo es langgeht.

Es gab in den vergangenen Monaten viel Wirbel um Flash-Disks als Festplattenalternative. Bislang zu Unrecht, wie die letzten Tests zeigten, denn die Technik steckte noch in den Kinderschuhen und ein echter Geschwindigkeitsvorteil gegenĂŒber Festplatten war in der Praxis weder spĂŒr- noch messbar. Das viel beworbene Energiesparpotenzial gegenĂŒber Notebookplatten gehörte in das Reich der Sagen und mit Preisen von mehreren Hundert Euro fĂŒr wenige Gigabyte waren SSDs nur etwas fĂŒr Gutbetuchte.

Seit unseren letzten Tests in c't 9/08 [1] sowie 11/08 [2] ist die Entwicklung jedoch rasant vorangeschritten und es kommt Schwung in den Markt: Einerseits lassen sich durch den drastischen Preisverfall bei Flash-Chips Solid State Disks jetzt gĂŒnstiger als noch vor einigen Monaten herstellen, andererseits ermöglichen neue Controller-Chips den Herstellern, kĂŒnftig nicht nur schnelle SSDs mit teurerem SLC-Flash (Single Level Cell), sondern auch mit den gĂŒnstigeren MLC-Chips (Multi Level Cell) anzubieten.

MLC-Flash-Chips speichern anders als SLC-Flash nicht nur ein Bit, sondern zwei bis vier pro Zelle. MLC-Flash erlaubt also höhere Speicherdichten bei gleichen Siliziumkosten und ist deshalb gĂŒnstiger zu fertigen. Supertalent und Transcend bieten MLC-Disks mit der brauchbaren KapazitĂ€t von 60 GByte heute beispielsweise schon ab 170 Euro an, wĂ€hrend gleich große Disks mit SLC-Flash noch mindestens das Dreifache kosten. Allerdings lĂ€sst sich MLC nicht ganz so flott wie SLC-Flash beschreiben und ist defektanfĂ€lliger. Dazu gleich mehr.

Die Flash-Disk-Hersteller fahren nun offenbar eine zweigleisige Strategie: Die zuverlĂ€ssigeren SLC-SSDs sollen kĂŒnftig Server-Systeme befeuern, wĂ€hrend MLC-SSDs fĂŒr den Massenmarkt gedacht sind und hier in erster Linie fĂŒr Notebooks und Ultra Mobile Devices. MĂ€chtig nach vorne prescht jetzt Intel. Nachdem der Prozessorhersteller bislang nur recht altbackene Mini-Flash-Module mit Parallel-ATA- und USB-Schnittstelle im Angebot hatte, mischt er nun mit den ersten ausgewachsenen SATA-SSDs den Markt auf. Intel wirbt bei seiner „Mainstream-SSD X25-M“ beispielsweise mit (Lese-)Transferraten von bis zu 225 MByte/s.

Auch beim Energieverbrauch soll sich endlich etwas getan haben: Der Prozessorhersteller verspricht eine elektrische Leistungsaufnahme im „Leerlauf“ (idle) unterhalb von 0,1 Watt und somit gut ein halbes Watt weniger als bei herkömmlichen Notebookfestplatten oder anderen SSDs ĂŒblich.

Grund genug fĂŒr uns, der neuesten Generation von Solid State Disks mit MLC-Flash nĂ€her auf den Zahn zu fĂŒhlen. Zum Vergleich haben wir außerdem noch eine SLC-SSD von Transcend mit ins Testfeld aufgenommen, die mit demselben Controller wie das MLC-Modell arbeitet und den Geschwindigkeitsunterschied zwischen SLC- und MLC-Flash aufzeigt. Auch Samsung schickte uns noch ein SLC-Modell, das gegenĂŒber dem in c't 10/08 getesteten mit OCZ-Label stark verbessert sein soll.

Reichen bei einer herkömmlichen Festplatte die beiden grundlegenden Operationen „Lesen“ und „Schreiben“ aus, so braucht Flash-Speicher noch eine dritte: Vor dem Beschreiben muss man ihn zunĂ€chst löschen. Dazu legt man an einen großen Erase-Block (typischerweise 128 bis 512 KByte) aus vielen Pages eine hohe Löschspannung an. Dabei verlieren alle Zellen im Block ihre Ladung und somit ihre Information.

Einzelne Flash-Zellen ĂŒberstehen nur recht wenige Löschzyklen. Bei SLC-NAND-Flash sprechen die Hersteller von rund 100 000 Zyklen, MLC-Speicher vertrĂ€gt noch weniger. Um diese SchwĂ€che zu kompensieren, verteilt der Flash-Controller die Schreibzugriffe gleichmĂ€ĂŸig ĂŒber alle Zellen, auch wenn das Betriebssystem scheinbar immer dieselben Pages verĂ€ndert. Die genauen Wear-Leveling-Algorithmen gehören zu den bestgehĂŒteten Geheimnissen der Hersteller von Flash-Controllern. Klar ist jedoch, dass es zwei unterschiedlich radikale AnsĂ€tze gibt: Beim dynamischen Wear-Leveling verteilt der Controller nur die Schreibzugriffe von sich Ă€ndernden Daten gleichmĂ€ĂŸig ĂŒber die freien oder frei werdenden Blöcke. Allerdings nutzen sich dabei die Bereiche, deren Daten sich hĂ€ufig Ă€ndern, stark ab und fallen irgendwann aus, wĂ€hrend solche mit unverĂ€nderten Dateien noch sehr viele Schreibzyklen aushalten wĂŒrden. Um das auszugleichen, verschiebt man beim statischen Wear-Leveling von Zeit zu Zeit Daten, die sich nicht oder selten verĂ€ndern, in stark abgenutzte Zellen. Somit gelangen wieder frische Zellen in den Pool und zögern so den Zeitpunkt hinaus, zu dem die ersten Schreibfehler auftreten. Das erhöht die Lebensdauer des Gesamtmediums stark, kostet allerdings Performance.

Löscht das Betriebssystem Dateien oder verschiebt sie in den Papierkorb, so bekommt das Speichermedium davon nichts mit. Lediglich ein paar Bits im Dateinamen oder den Datenstrukturen des Dateisystems Ă€ndern sich und teilen dem Betriebssystem mit, dass der Platz anderweitig genutzt werden darf. So kann es passieren, dass der Flash-Controller mit viel Aufwand Daten umschichtet, die Anwender und Betriebssystem bereits als wertlos betrachten. Selbst eine frisch vom Betriebssystem formatierte „Platte“ ist aus Sicht des Flash-Controllers nahezu voll. Microsoft hat deshalb beim fĂŒr die ATA-Spezifikation zustĂ€ndigen Gremium einen Vorschlag fĂŒr neue Befehle eingereicht. Mit dem Trim-Kommando teilt das Betriebssystem dem Laufwerk mit, welche Pages es nicht mehr braucht. Die Linux-Gemeinde arbeitet bereits vor Aufnahme der neuen Befehle in den Standard an einer Implementation.

Die LadungstrÀger auf dem Floating Gate einer Flash-Zelle kommen im Normalfall nicht durch die umgebende Oxidschicht. Sie wirken auf den Bereich zwischen Drain und Source wie die auf dem Gate eines herkömmlichen Feldeffekttransistors.

Trotz Wear-Leveling und Vermeidung unnötiger Datenumschichtungen nutzen sich die Zellen von Flash-Speichern jedoch je nach Schreibaufkommen frĂŒher oder spĂ€ter ab. Um die Ausfallsicherheit der SSD zu verbessern, bietet beispielsweise Intels-SSD zusĂ€tzlich zu den 80 GByte Speicherplatz noch einen wenige GByte großen Reservedatenbereich. Dorthin schreibt der Controller Daten, wenn die heilen Blöcke zur Neige gehen. Dieser Reservedatenbereich soll sich vom Anwender vergrĂ¶ĂŸern lassen, indem er per ATA-Kommando SetMaxAddress die nutzbare SpeicherkapazitĂ€t auf weniger als 80 GByte begrenzt.

Betrachtet man die Transferraten in der Tabelle, so fallen eklatante Unterschiede zwischen sequenziellen und zufĂ€llig verteilten Zugriffen, Messungen mit verschiedenen BlockgrĂ¶ĂŸen sowie Lese- und Schreibraten auf. Diese lassen sich mit dem internen Aufbau einer SSD und ein paar SpezialitĂ€ten von Flash-Chips erklĂ€ren: Beim Lesen holt der Flash-Chip immer eine komplette Page (2 bis 4 KByte) aus den Flash-Zellen in ein Pufferregister. Das dauert bei einem aktuellen Samsung-SLC-Chip (siehe Soft-Link) nach dem Übertragen und Anlegen der Adresse rund 25 ”s. Von dort wandert alle 25 ns (Read Cycle Time) ein Byte zum Controller. Somit dauert das Auslesen einer 4-KByte-Page rund 127 ”s. Das ergĂ€be – fĂŒr einen einzelnen Flash-Chip – eine Transferrate von gerade einmal 30,8 MByte/s. Die Latenzzeit fĂŒr den Datentransfer zwischen Zellen und Register kann der Chip im Idealfall kaschieren, da er aus zwei Dice mit je vier Planes besteht. Jede Plane hat eigene Pufferregister, sodass eine Plane Daten von den Flash-Zellen holen kann, wĂ€hrend eine andere den Controller fĂŒttert. Somit kann der Chip rund 38 MByte/s liefern. Die Transferraten von MLC-Speicher liegen noch weit unter denen ihrer SLC-Kollegen.

Den vollstÀndigen Artikel finden Sie in c't 21/2008.

[1] Boi Feddern, EvolutionÀr, Solid State Disks als Festplattenersatz in Notebooks und Servern, c't 9/08, S. 156

[2] Boi Feddern, Gemischte GefĂŒhle, Solid State Disks mit bis zu 128 GByte, c't 11/08, S. 70

[3] Benjamin Benz, Boi Feddern, Festplatte ade, Wie Flash-Speicher allmÀhlich den PC erobert, c't 21/07, S. 100 [1]

[4] Boi Feddern, Speicherschwarm, 58 USB-Sticks mit zwei, vier und acht GByte, c't 18/06, S. 168

Soft-Link [2]

Bereits vor rund zwei Jahren haben wir versucht, einen USB-Stick durch kontinuierliches Beschreiben eines einzelnen Blocks zu zerstören [4]. Damals murrte unser Opfer auch nach 16 000 000 Zyklen nicht. In Anbetracht moderner Wear-Leveling-Algorithmen haben wir unser Testszenario verĂ€ndert: Diesmal beschreiben wir einen 2-GByte-USB-Stick in jedem Zyklus von vorn bis hinten mit (mehr oder weniger) zufĂ€lligen Daten. Alle 50 SchreibvorgĂ€nge prĂŒft ein Skript anhand der MD5-PrĂŒfsummen, ob die Daten auch korrekt auf dem Stick stehen. Bei einer Schreibrate von rund 7 MByte/s dauert ein Schreibzyklus knapp 5 Minuten. Bislang hat der Stick in mehr als einem Monat Dauertest ĂŒber 23,5 TByte Daten klaglos gefressen und liefert auch nach diesen 12 240 kompletten Schreibzyklen beim Auslesen keine Fehler.

Obwohl unser Skript annĂ€hernd den ganzen Stick jedes Mal neu beschreibt, hat dessen Flash-Controller eine bestimmte – uns unbekannte – Anzahl an Reserveblöcken zur VerfĂŒgung. Selbst wenn einige Zellen kapitulieren sollten, kann er sie so problemlos ersetzen. Einen Fehler dĂŒrften wir erst feststellen, wenn dem Controller die Reserveblöcke ausgehen. Die Hersteller von MLC-Chips – aus denen die meisten USB-Sticks bestehen – geben mindestens 10 000 Löschzyklen pro Zelle an. Bei unserem Test-Stick dĂŒrfte die Mehrzahl der Zellen mittlerweile ungefĂ€hr so viele Zyklen ertragen haben. Auch wenn wir gespannt sind, wie viele DurchlĂ€ufe der Test-Stick ĂŒberlebt, so stellt die Lebenserwartung der Flash-Zellen im USB-Stick-Alltag wohl kein Problem dar. Die meisten USB-Sticks und Flash-Speicherkarten dĂŒrften, lange bevor ihre Flash-Zellen streiken, verloren, gestohlen, zertreten oder in einem Gulli ertrunken sein.

Die Hersteller von SSDs spezifizieren fĂŒr ihre Consumer-Produkte entweder eine bestimmte Datenmenge, die man getrost schreiben kann, oder einen Zeitraum von rund fĂŒnf Jahren bei einem typischen Datenaufkommen von einigen GByte pro Tag. Als Faustregel gilt jedoch: Je mehr KapazitĂ€t ein Medium hat, desto besser verteilen sich die Schreibzyklen auf einzelne Zellen. Ein Grund dafĂŒr, dass wir nur mit einem 2-GByte-Stick messen und nicht mit einer 128-GByte-großen Solid State Disk. (boi [3])


URL dieses Artikels:
https://www.heise.de/-291740

Links in diesem Artikel:
[1] https://www.heise.de/hintergrund/Festplatte-ade-291264.html
[2] http://www.heise.de/ct/08/21/links/122.shtml
[3] mailto:boi@ct.de