Proceedings Template - WORD - Institut für Verteilte Systeme
Transcription
Proceedings Template - WORD - Institut für Verteilte Systeme
SSDs und Flash Memory Matthias Müller Institut für Verteilte Systeme Universität Ulm matthias-2.mueller@uni-ulm.de ABSTRACT Im Bereich der PC Hardware gibt es in nahezu allen Bereichen ständig Weiterentwicklungen und Verbesserungen. Jedoch hat sich, was die Technik angeht, bei konventionellen Festplatten (Hard Disk Drives, HDDs) kaum etwas verändert. Solid-State Disks (SSDs) sollen nun der breiten Masse ein völlig neues Gefühl der Datenspeicherung vermitteln. Im Folgenden werden die SSDs näher erläutert und mit den konventionellen Festplatten verglichen. 1. BEGRIFFSKLÄRUNG Solid-State stammt vom Begriff der Festkörperphysik (solidstate physics) und bezieht sich auf die Verwendung von Halbleiterspeicherbausteine. Als Solid-State Disks werden festplattenähnliche Laufwerke bezeichnet, die statt der Magnetscheiben und den mechanischen Lese-/Schreibarmen nur aus einer Leiterplatine besteht, auf der Speicherbausteine und ein Controller sitzt. Im Gegensatz zur konventionellen Festplatte bestitzen Solid-State Disks daher keine beweglichen Teile. 2. TE EINORDNUNG IN DIE GESCHICH- Die ersten Solid-State Disks aus Halbleitermaterialien stammen aus den 1970er und 1980er Jahren. Sie wurden meistens in Supercomputer eingesetzt und speziell für die jeweiligen Aufträge gefertigt. In jenen Jahren war Hardware, und Speicher aus Halbleiterbausteinen im Speziellen, sehr teuer. Andere Einsatzgebiete außer den Spezialcomputern und dem Militär gab es daher zunächst nicht. Viele Versuche nicht flüchtigen Speicher herzustellen scheiterten. Zum einen, weil die Technik nicht ausgereift genug war und zum anderen, weil der Markt noch nicht reif war für eine solch neue Technologie. EMC stellte 1987 eine Solid-State Disk für den Kleinstcomputermarkt vor. Sie war zwanzig mal schneller als die damals erhältlichen konventionellen Festplatten. Der Kraft des Marktes und Verluste seitens EMC führten dazu, dass das Unternehmen die Forschung an neuartigen Speichermethoden bis auf Weiteres einstellte. Seit M-Systems, die seit 2006 zu SanDisk gehören, 1995 eine Flash basierte Solid-State Disk vorstellte, wurden diese erfolgreich als Festplattenersatz im Militär und in der Luftfahrtindustrie als auch in anderen kritischen Anwendungen eingesetzt. Diese Anwendungen erforderten nämlich die außerordentlichen mean time between failures (MTBF) Raten, die Solid-State Disks durch ihre Eigenschaften, Vibrationen, Stöße und hohe Temperaturunterschiede zu widerstehen, erreichten. MTBF gibt die mittlere Betriebsdauer bis zum nächsten Ausfall an. Seit einigen Jahren werden Solid-State Disks in Industrierechnern und Ser- versystemen eingesetzt. Ihre wesentlich geringere Anfälligkeit gegenüber Wärme und der geringere Energieverbrauch stehen dem immer noch hohen Preis gegenüber. 3. AUFBAU VON SOLID-STATE DISKS Eine Solid-State Disk ist einer konventionellen Festplatte nachgeahmt. Das rechteckige Gehäuse sieht dementsprechend ähnlich aus. Jedoch wird häufig nur ein kleinerer Teil des Innenraumes genutzt. Eine Solid-State Disk besteht üblicherweise aus einer Trägerplatine, die mehrere Speicherchips und einen Mikrocontroller auf sich trägt. Durch den geringeren Platzverbrauch werden Solid-State Disks normalerweise höchstens in 2,5 Zoll Gehäusegröße gebaut. Die Speicherbausteine aus Halbleitermaterial können aus flüchtigem oder nichtflüchtigem Speicher bestehen. Kombinationen aus flüchtigem Speicher, beispielsweise SDRAM Chips, haben oftmals eine zusätzliche Batterie zur Speicherung der Daten während die primäre Stromquelle abgeschaltet ist. Die Stärken dieser Lösung sind die unbegrenzte Wiederbeschreibarkeit und ihre sehr hohe Lese- und Schreibgeschwindigkeit. Die zusätzliche Batterielösung zur langfristigen Speicherung der Daten und der deutlich höhere Energieverbrauch pro Gigabyte Speicherplatz im Vergleich zu konventionellen Festplatten sind auch gravierende Nachteile. Der höhere Energieverbrauch ist ersichtlich wenn man sich die Funktionsweise eines SDRAM Chips betrachtet: Durch hohe Leckströme würden die einzelnen Speicherzellen ihren Zustand schon nach sehr kurzer Zeit verlieren. Um dem entgegen zu wirken werden die Bits periodisch ständig wiederbeschrieben. Im folgenden werden jedoch nur Solid-State Disks mit nichtflüchtigem Speicher betrachtet. Der nichtflüchtige Speicher wird mit Flash Technik realisiert. 4. 4.1 FLASH SPEICHER Aufbau und Funktionsweise Die Flash Speichertechnik ging aus den EEPROMs (Electrical Erasable and Programmable Read-Only Memory) hervor und nutzt einen quantenmechanischen Effekt in Halbleitern aus. Flash Zellen ähneln vom Aufbau her einem gewöhnlichen Feldeffekttransistor (FET) (siehe Abbildung 1). Wie bei einem nKanal Metall-Oxid-Feldeffekttransistor (MOSFET) besitzt die Flashzelle ein schwach positiv dotiertes Substrat, das die beiden stark negativ dotierten Elektroden Drain und Source voneinander trennt. Es entsteht ein npn-Übergang, der erst einmal nicht leitet, da die freien Ladungsträger an den Übergängen miteinander rekombinieren und nicht mehr für den Ladungstransport zur Verfügung stehen. 1 fasst werden. Planes umfassen beispielsweise 1024 Blöcke, was einer Größe von 512 MByte entspricht. Mehrere Planes werden zu einem Die zusammengefasst. Und hier hört das Zusammenfassen nocht nicht auf. Um pro Chip noch höhere Speichergrößen zu erzielen, findet man üblicherweise mehrere Dies pro Chip. Abbildung 1: Schematische Darstellung eines MOSFETs [1] Über der Zone zwischen den beiden n-dotierten Elektroden liegt das Gate, das mit einer dünnen Oxidschicht isoliert wird. Es bildet mit dem Bulk-Anschluss, der unter dem p-Substrat liegt und mit dem Source-Anschluss verbunden ist, einen kleinen Kondensator. Legt man nun eine Gate-Source-Spannung an um den Kondensator zu laden, bildet sich ein elektrisches Feld. Dieses bewegt Ladungsträger aus dem Substrat zur Grenzschicht. Zunächst rekombinieren sie dort mit den vorhandenen Ladungsträgern, ehe eine gewisse Spannung erreicht wird (Threshold), die dafür sorgt, dass in dem ursprünglichen p-Bereich ein dünner n-leitender Kanal mit Elektronenüberschuss entsteht (siehe Abbildung 2). Durch diesen Kanal kann nun ein großer Strom zwischen Drain und Source fließen. Abbildung 3: Schematische Darstellung einer Flash Speicherzelle [1] 4.1.1 4.1.2 Abbildung 2: n-leitender Kanal bei angelegter Spannung [1] Im Vergleich zu einem klassischen bipolaren Transistor fließt bei einem MOSFET zwischen Gate und Source kein Strom mehr, sobald ein stabiler Zustand erreicht wurde. Schon ein MOSFET behält also in gewisser Weise seinen Zustand, leitend oder nicht leitend, bei. Jedoch hängen in aller Regel weitere Schaltungsteile an einer Gate-Elektrode. Dadurch entlädt sich das Gate sobald die Schaltung nicht mehr mit Energie versorgt wird. Flash-Speicher soll aber auch ohne eine Betriebsspannung seinen Zustand nicht verlieren. Daher besitzen die Flashzellen unterhalb des Control Gate eine zusätzliche Elektrode, die als Floating Gate bezeichnet wird (siehe Abbildung 3) und als Ladungsfalle arbeitet. Diese ist von einer nicht leitenden Oxidschicht umgeben und besitzt keinen Anschluss nach draußen. Ist man nun in der Lage Ladungsträger auf das Floating Gate zu bringen, bleiben sie dort. Der Kondensator kann sich somit nicht mehr entladen und der Zustand der Flash-Zelle bleibt auch ohne eine Betriebsspannung erhalten. Damit Flash-Speicherchips die entsprechenden Speichergrößen erreichen, werden die Flash-Zellen gruppiert zu sogenannten Pages. Diese sind die kleinste Einheit, die lesbar bzw. beschreibbar ist. Im Allgemeinen haben Pages eine Größe von 4 KByte. Pages werden wiederum zu Blöcken zusammengefasst, die in der Regel 128 Pages, also 512 KByte, groß sind. Planes sind die nächstgrößere Einheit, zu denen Blöcke zusammenge- Schreiben der Flash-Zelle Um eine Ladungsänderung im Floating Gate zu erreichen, erfolgt der Zustandswechsel über den quantenmechanischen Effekt des Fowler-Nordheim-Tunnels: Durch das Anlegen einer hohen Spannung an das Control Gate (10 bis 13 Volt) tunneln einige Elektronen aus dem Source Gate durch die dünne Isolierschicht hindurch in das Floating Gate. Lesen einer Flash-Zelle Das Auslesen einer einzelnen Zelle ist im Vergleich zum Laden einer Zelle recht einfach. Man legt eine Spannung an den Transistor an. Die gefangene Ladung im Floating Gate verhält sich genau wie eine Ladung, die auf dem (Control) Gate sitzen würde. Wenn eine Ladung vorhanden ist, ensteht daraus wieder ein elektrisches Feld, das einen leitenden Kanal zwischen Drain und Source erzeugt. Der Transistor schaltet durch und es fließt ein Strom (beispielsweise logisch 1). 4.1.3 Löschen einer Flash-Zelle Um die Ladungsträger vom Floating Gate wieder zu entfernen, muss eine hohe negative Spannung angelegt werden. Diese treibt die Ladungsträger wieder aus dem Floating Gate heraus. Während das Lesen und Schreiben Zellenweise passiert, kann eine Solid-State Disk nur ganze Blöcke auf einmal löschen. Dieses blitzartige Löschen ganzer Regionen soll laut einer Anekdote auch zu dem Namen „Flash“ geführt haben [2]. 4.2 NAND vs NOR Es gibt zwei verschiedene Möglichkeiten Flash-Speicher herzustellen: entweder mit NOR- oder mit NAND-Schaltungen. Bei NOR-Flash sitzen die einzelnen Zellen parallel (OR) in einem Gitter aus Word- und Bit-Lines (siehe Abbildung 4). Sie lassen sich wahlfrei und direkt auslesen. Ein Anwendungsgebiet ist daher der Programmspeicher eines Mikroprozessors. Denn eine Stärke der NOR basierten Technik ist die schnellere Auslesbarkeit der Zellen. Allerdings ist NOR-Flash noch immer relativ teuer und hat keine besonders hohe Speicherdichte. 2 ger, da der Abstand zum jeweiligen Schwellwert, der erkannt werden muss, kleiner ist (siehe Abbildung 6). Da mehrere Werte unterschieden werden müssen, dauert das Schreiben ebenfalls länger als bei SLC-Speicher. Abbildung 4: NOR-Flash [2] Abbildung 6: SLC und MLC Technik [4] NAND-Flash ist deutlich platzsparender pro Zelle, da viele Transistoren in Reihe (AND) geschaltet sind (siehe Abbildung 5). Um eine bestimmte Zelle auslesen zu können, muss man zuvor alle anderen Zellen entsprechend maskiern, also auf leitend schalten. An die nicht gefragten Transistoren legt man dazu eine Offset-Spannung an. Ein direktes Auslesen wie bei NORFlash ist somit nicht möglich. Aus diesem Grund wird NAND-Flash normalerweise blockweise angesprochen. Die Adressierung übernehmen interne Adressierungsregister. Abbildung 5: NAND-Flash [2] 4.3 SLC vs MLC Bei NAND-Flash gibt es noch zwei Arten, die unterschieden werden: Single Level Cells (SLC) und Multi Level Cells (MLC). Als Single Level Cells werden Zellen bezeichnet, die sich genau ein Bit, also 2 Zustände, logisch 1 oder 0, merken können. Multi Level Cells können sich dagegen üblicherweise 2 bis 4 Bit merken. Gegenüber NOR-Flash kann dadurch die Speicherdichte nochmals erhöht werden. Um mehrere Bits pro Flash-Zelle zu speichern, kann entweder die Stärke des Stroms die Zustände kodieren oder man platziert geschickt mehrere Floating Gates innerhalb einer Zelle. Bei MLC-Speicher ist das Auslesen und Schreiben aufwendiger und weitaus fehleranfälli- 4.4 Haltbarkeit Ein großer Nachteil der Flash-Speichertechnik ist die begrenzte Haltbarkeit der Zellen. Bei jedem Löschvorgang wird die Isolierschicht zwischen Control Gate, Floating Gate und Substrat ein wenig zerstört (Degradation). Nach einer gewissen Zeit wird das Floating Gate nicht mehr ausreichend isoliert. Die Ladungsträger verflüchtigen sich schneller, bis irgendwann keine Ladung mehr auf dem Floating Gate festgehalten werden kann. Nach Herstellerangaben hält NOR-Flash etwa 10 000 und NAND-Flash etwa 100 000 Löschzyklen durch. Die unterschiedlichen Werte rühren daher, dass bei NAND-Flash die Blockgröße, die gelöscht werden kann, kleiner ist als bei NORFlash. Der einzelne Block muss daher nicht so häufig gelöscht werden. Um die Last möglichst auf alle Zellen gleich zu verteilen, wird in einem Mikrocontroller ein aufwendiges Defektmanagement betrieben: Die Schreibzugriffe werden mit aufwendigen WearLeveling-Algorithmen so auf alle Blöcke verteilt, dass kein einzelner Block allzu oft gelöscht und neu beschrieben wird. Mit der Zeit auftretende defekte Blöcke werden markiert und die dort gespeicherten Daten in Reserveblöcke ausgelagert. Für die Reserveblöcke werden etwa zehn Prozent der gesamten Speichergröße von Anfang an reserviert. Um Daten von defekten Blöcken rekonstruieren zu können, enthält jeder Block Prüfsummen. Tritt ein Fehler auf, kann der Controller versuchen die Daten anhand der Prüfsummen zu rekonstruieren und in einen anderen intakten Block zu transferieren. Zu Beginn der Flash-Technik wurde an speziellen Flash-Dateisystemen geforscht, die das Wear-Leveling übernehmen sollten. Heutzutage sitzt diese Logik meist im Herstellereigenen Mikrocontroller. Wenn die Algorithmen des Controllers nicht auf bestimmte Dateisysteme optimiert sind, kann der Benutzer sogar ein Dateisystem frei wählen. Wie effizient das Defektmanagement und die Verteilung der Daten funktioniert, hat ein Versuch des c't-Labors gezeigt [1]: Es wurde versucht ein USB-Stick mit Flash-Speicher gezielt kaputt zu schreiben. Auch nach 16 Millionen Schreibzugriffen auf ein und dieselbe Datei konnte kein Fehler festgestellt werden. 3 5. FLASH-SPEICHER IM VERGLEICH MIT KONVENTIONELLEN FESTPLATTEN 5.1 Flashback: Konventionelle Festplatten Konventionelle Festplatten bestehen aus mindestens einer, oft aber aus mehreren Magnetplatten, die übereinander angeordnet sind. Wie in Abbildung 7 zu sehen, sind die Magnetplatten auf einer drehbaren Spindel gelagert. Durch einen Arm pro Magnetplatte und dessen Kopf am Ende des Armes können Daten auf die Magnetplatte geschrieben und von ihr gelesen werden. Die Magnetplatte ist dazu in konzentrische Spuren unterteilt, von denen es meist mehrere Tausend pro Magnetplatte gibt. Sie sind wiederum logisch in Blöcke unterteilt, die typischerweise jeweils 512 Bytes an Daten enthält. Alle Blöcke mit gleichen Winkelkoordinaten werden als ein Sektor gesehen. Alle Spuren, die sich auf den Magnetplatten übereinander befinden, nennt man Zylinder. gnetplatte liegen und am Besten noch sequentiell hintereinander, so dass der Kopf so wenig wie möglich bewegt werden muss. Bei mehreren Magnetplatten ist eine Anordnung der Daten im gleichen Zylinder sehr von Vorteil, da zwei Köpfe parallel Daten lesen können. 5.2 Flash-Speicher vs konventionelle Festplatte 5.2.1 Lesetransferraten Da Flash-Speicher keine mechanischen Bauteile besitzen, entfällt die zeitaufwendige Positionierung des Kopfes völlig. Vibrationsgeräusche durch hohe Umdrehungsgeschwindigkeiten entfallen ebenso. Solid-State Disks auf Flash-Basis zeichnen sich durch eine sehr hohe sequentielle Leserate von bis zu 250 MByte/s aus (siehe Abbildung 8). Konventionelle DesktopFestplatten können hier nur schwer mithalten obgleich die Western Digital Festplatten die Samsung SLC SSD übertrumpfen. Western Digitals VelociRaptor ist derzeit eine der schnellsten konventionellen Desktop-Festplatten, die auf dem Markt angeboten wird. Aber auch sie muss den meisten SSDs den Vorrang lassen und erreicht beim sequentiellen Lesen weniger als die Hälfte der Übertagungsgeschwindigkeit der besten zwei SSDs. Seagates Momentus 5400.6 erreicht in diesem Test, auch aufgrund ihrer geringeren Rotationsgeschwindigkeit, eine nochmal deutlich kleinere Leserate als ihre Geschwister. Abbildung 7: Schematischer Aufbau einer konventionellen Festplatte [6] Daten werden auf die Magnetplatte gespeichert, indem der Kopf des Armes die Teilchen der Platte entsprechend polt, also magnetisch ausrichtet. Dadurch können wieder 2 Zustände, also 1 Bit gespeichert werden. Bei einem Lese- oder Schreibvorgang muss zunächst der Arm bzw. der Kopf an die richtige Spur positioniert werden. Dann muss gewartet werden bis der entsprechende Block unter dem Kopf vorbeifliegt und gelesen bzw. geschrieben werden kann. Diese mechanisch bedingte Verzögerung liegt im Mittel bei etwa 10 - 15 ms, was in der Informatik als eine halbe Ewigkeit betrachtet werden kann. Die mittlere Zugriffszeit kann etwa durch die Steigerung der Umdrehungsgeschwindigkeit der Magnetplatten etwas reduziert werden. Allerdings erhöht sich dadurch im Normalfall auch der Lärm, den die Festplatte durch ihre Bewegungen und Vibrationen erzeugt. Die Datentransferrate einer Festplatte hängt primär von der Datendichte und der Umdrehungsgeschwindigkeit ab. Bei einer 3,5 Zoll großen Festplatte passieren pro Umdrehung 29 cm magnetisches Material den Schreib-/Lesekopf, wenn er sich am äußeren Rand befindet. Im Zentrum sind es nur noch 11 cm. Da Datendichte und Drehzahl bei Festplatten konstant sind, sinkt die Transferrate folglich immer mehr ab, je weiter sich der Schreib-/Lesekopf in Richtung Rotationsachse bewegt. Um die höchstmögliche Transferrate einer Festplatte zu erreichen, müssen die Daten also bevorzugt auf den äußeren Spuren einer Ma- Abbildung 8: Sequentieller Lesezugriff von diversen SSDs und HDDs [3] Warum die Solid-State Disks mit Flash-Speicher so schnell sind, kann anhand von Flash-basierten USB-Sticks erläutert werden. Sie erreichen in der Regel eine sequentielle Leserate von bis zu 20 MByte/s. Um die Geschwindigkeiten der aktuellen SSDs zu erreichen, setzen die Hersteller daher massiv auf Parallelisierung. Sie verbauen nicht nur einen Flash-Speicherchip, sondern bis zu zehn Chips, verbauen einen entsprechenden Controller, der alle Chips gleichzeitig ansprechen kann und erreichen dadurch im Optimalfall diese hohen Transferraten. Beim Lesen zufällig verteilter Daten trumpft die Flash-Technik erst richtig auf. Ausnahmslos alle konventionellen Festplatten offenbaren hier ihre große Schwäche: Die ständige Neuausrichtung des Kopfes lässt nur Leseraten von knapp einem MByte/s zu. Die grafischen Balken dazu sind in Abbildung 9 kaum noch zu sehen. Die schnellste SSD liefert hier schnelle 56,5 MByte/s. 4 dann der sequentiellen Schreibtransferrate an [9]. Bei einer normalen Benutzung eines PCs werden jedoch eher verteilt Daten geschrieben statt große aneinanderhängende Daten. Diese Einbrüche soll der nächste Abschnitt versuchen zu erklären. Abbildung 9: Leserate von zufällig verteilten Daten [3] Statt der Transferrate kann auch die Latenz beider Techniken verglichen werden. Die Latenz gibt an, nach welcher Zeit der gewünschte Sektor unter dem Lese-/Schreibkopf steht und bereit ist gelesen zu werden. Bei Festplatten ist die Latenz in der Regel einige Millisekunden groß, bei SSDs dagegen werden zufällig verteilte Daten komplett in unter einer Millisekunde gelesen. Abbildung 10: Sequentielle Schreibrate [3] 5.2.2 Schreibtransferraten Damit Daten gelesen werden können, müssen sie jedoch erst mal geschrieben werden. Wenn Daten sequentiell geschrieben werden, erreichen die Testkandidaten die in Abbildung 10 abgebildeten Werte. Auch hier sind Solid-State Disks an der Spitze, allerdings ist der Abstand zu konventionellen Festplatten geringer als beim sequentiellen Lesen. Konnten noch Leseraten über 200 MByte/s erzielt werden, so sinken die sequentiellen Schreibraten der meisten SSD-Vertreter sogar unter die 100 MByte/s-Grenze. Ein noch dramatischeres Ergebnis liefert der Test, der vier Kilobyte große Daten zufällig verteilt schreibt und dessen Werte in Abbildung 11 dargestellt sind. Besonders drastisch sind die Einbrüche bei den JMicron SSDs, die nur noch 20 und 30 Kbyte/s an Daten schreiben können. Selbst die eigentlich stark benachteiligten konventionellen Festplatten können sich hier vor den meisten SSDs platzieren. Lediglich Intels zwei SSDs erreichen noch Schreibraten von 23 MByte/s und knapp 32 MByte/s. Nähert sich die Datengröße der internen Blockgröße von 512 Kilobyte an, so ergibt sich ein anderes Bild: Die zufällig verteilten Schreibtransferraten nähern sich Abbildung 11: Schreibraten bei zufällig verteilten Daten [3] 5.2.3 Schwächen der Flash-Technik Eine Eigenart der Flash-Technik ist, dass man vor dem Schreiben von Daten Speicherstellen blockweise löschen muss. Dem Controller bleibt diese Arbeit erspart, wenn es genügend frisch gelöschte oder fabrikneue Blöcke gibt. Nur dann kann der Controller direkt die Daten hineinschreiben und erreicht seine höchsten Schreibraten. Je mehr Daten allerdings auf der SSD gespeichert werden, desto weniger frische Blöcke gibt es. Wenn Daten logisch auf Betriebssystemebene gelöscht werden, werden die entsprechenden Pages nur als gelöscht markiert. Will der Benutzer dann beispielsweise eine 4 KByte große Datei schreiben, wird der Controller eine geeignete Page anhand seines Wear-Leveling-Algorthmus auswählen. Dabei kann es passieren, dass diese Page nicht frei, sondern nur als gelöscht markiert ist. Der Controller muss daraufhin den kompletten Block, meist 512 KByte, lesen und zwischenspeichern. Die entsprechende Page im Zwischenspeicher wird auf die neue Datei aktualisiert. Der gesamte Block muss dann wieder zurückgeschrieben werden (Read-Modify-Write). Dieses Verhältnis aus der zu schreibenden und der tatsächlich geschriebenen Datenmenge bezeichnet man als „Write Amplification“. Je höher der Wert, desto eher muss man mit steigenden Schreiblatenzen rechnen, die sich in niedrigen Schreibtransferraten bemerkbar machen. Abhilfe kann ein sogenannter „Secure Erase“ schaffen. Dabei ist keine Formatierung gemeint, die bekanntlich nur das Inhaltsverzeichnis löscht und neu anlegt. Die Pages bleiben aber mit Daten gefüllt. Erst Werkzeuge, die jede Page löschen und auf den Auslieferungszustand zurücksetzen, sorgen dafür, dass sich die Solid-State Disk wieder wie neu anfühlt. Unangenehmer Nebeneffekt ist die Tatsache, dass dabei natürlich alle Daten verloren gehen. Die Hersteller indes arbeiten an verbesserten Controllern und setzen vermehrt DRAM-Puffer ein. Auf diesen beispielsweise 128 MByte großen Zwischenspeichern kann die SSD Schreibzugriffe sehr schnell entgegennehmen, mit Native Command Queuing sortieren und möglichst intelligent auf die einzelnen Blöcke verteilen. Jedoch ist ein solcher Puffer keineswegs die endgültige Lösung dieses Problems. Es kann nämlich durchaus vorkommen, dass der Controller Daten vor dem Schreiben umschichtet, die bereits als gelöscht markiert sind. Umschichtungen dieser Art soll der ATA-Trim-Befehl unterbin- 5 den. Durch diesen Befehl kann das Betriebssystem dem Controller mitteilen welche Blöcke das Dateisystem nicht mehr braucht. Allerdings unterstützen nicht alle Betriebssysteme diesen Befehl. Um unabhängiger von solchen Umgebungseigenschaften zu sein, implementieren viele Hersteller noch zusätzlich eine Funktion in ihrer Firmware, die als eine Art Garbage Collection betrachtet werden kann. Sie arbeitet wie ein Defragmentierer auf Laufwerksebene: Der Controller versucht in Leerlaufzeiten beschriebene Blöcke zusammenzufassen, um möglichst viele freie Blöcke zu erzeugen. Diese können dann wieder direkt und mit hohen Schreibtransferraten beschrieben werden. Abbildung 12: Kosten pro Gigabyte bei konventionelle Festplatten (Stand: Januar 2010) [7] 6. ZUSAMMENFASSUNG UND AUSBLICK Flash-basierte Solid-State Disks sind in der Lage den Festplattenmarkt in Zukunft zu verändern. Die verwendete Technik hat noch ihre Kinderkrankheiten, die sie überwinden muss. Doch schon jetzt können SSDs viele aktuelle Festplatten in ihren Schatten stellen: Geräuschloses Arbeiten, unempfindlich gegen Stöße und Vibrationen, rasante Zugriffszeiten und der wesentlich effizientere Energieverbrauch sind die positiven Eigenschaften einer jeden Solid-State Disk. Hinzu kommen Hersteller abhängige Eigenschaften wie z.B. die Lese- und Schreibtransferraten. In der Regel ist jedoch eine SSD deutlich schneller als eine konventionelle Festplatte. Dass sich SSDs im Moment noch nicht am Markt durchsetzen können, liegt daran, dass die Preise pro Gigabyte Speicherplatz noch enorm hoch sind. Die Preise bewegen sich dabei im Bereich von 2,25 bis 3,7 €/GByte [5]. Abbildung 12 veranschaulicht die Preise für herkömmliche Festplatten. Diese liegen im Bereich von 0,07 bis 0,15 €/GByte bei 3,5 Zoll und zwischen 0,15 und 0,37 €/GByte bei 2,5 Zoll Festplattengröße. Die Hersteller sind dabei Techniken zu entwickeln, die den Ausfall ganzer Speicherblöcke kompensieren sollen. Der Controller-Hersteller Sandforce bietet bei eine solche Technik an. Es ist eine RAID-verwandte Technik, die Sandforce Redundant Array of Independent Silicon Elements (RAISE) nennt [5]. Hersteller von SSDs sollen dadurch in der Lage sein, billigere Flash-Chips zweiter Wahl mit einem Sandforce Controller einzusetzen. Um keine neuen Modelle entwickeln zu müssen, gehen einige Hersteller her und specken ihre Oberklasse SSDs ab. Weniger parallel ansprechbare FlashChips und abgeschaltete Firmware Funktionen sorgen für niedrigere Preise zu Lasten der Performanz. Seagate geht einen an- deren Weg und kombiniert Flash-Technik mit konventioneller Technik zu einer Hybrid-Festplatte. Momentus XT heißt Seagates aktuellstes Modell und setzt einen 4 GByte großen SLCSpeicher ein, der ausschließlich als Lesezwischenspeicher eingesetzt wird [8]. Ein lernendes Adaptive Memory Konzept soll oft benötigte Anwendungen und Daten vorhalten, auf die dann schnell zugegriffen werden kann. Preislich sollen die Modelle etwa 30 bis 40 € über den herkömmlichen Modellen ohne Flash-Chip kosten bei Speicherkapazitäten von 250 bis 500 GByte. Laut Seagate ist die Festplatte beim Bootvorgang und beim Laden von Programmen nur wenig langsamer als eine Mittelklasse-SSD, aber in etwa ein Drittel schneller als herkömmliche Notebookfestplatten mit 7200 Umdrehungen pro Minute. Hybrid-Festplatten könnten einen Übergang zu den SSDs darstellen, zumal die Festplattenhersteller ihre herkömmlichen Platten nicht einfach ad acta legen wollen. Möglicherweise sind die Hybrid-Festplatten in Zukunft mit größeren Flash-Chips ausgestattet und einem Cache-Verhalten wie man es von Prozessoren her kennt, so dass eben auch Schreibzugriffe über den Flash-Speicher laufen. Der Festplattenmarkt ist gerade erst dabei sich zu verändern. Sinkende Preise für Flash-Speicher könnten die SSDs für den breiten Markt interessant machen. Entwicklungen auf dem Hybrid-Sektor darf man angesichts der noch hohen Preise für Speicher nicht außer Acht lassen. Langfristig wird die SolidState Disk die Magnetfestplatte verdrängen. 7. REFERENZEN [1] Benjamin Benz, Erinnerungskarten, 23/2006 Heise Zeitschriften Verlag GmbH & Co. KG [2] Benjamin Benz,Boi Feddern, Festplatte ade 21/2007 Heise Zeitschriften Verlag GmbH & Co. KG [3] Anand Lal Shimpi, The SSD Anthology: Understanding SSDs and New Drives from OCZ, 2009 http://www.anandtech.com/show/2738/1 [4] Toshiba America Electronic Components, Inc., Compare NAND vs. NOR Flash memory, http://www.toshiba.com/taec/components/Descrition/ nand_static_pop.html [5] Boi Feddern, Zellkulturen, 12/2010 Heise Zeitschriften Verlag GmbH & Co. KG [6] bruckbauer.at, Festplatte, 2008 http://www.bruckbauer.at/informatik/hardware/ ? Speichermedien:Festplatte [7] computerbild.de, Endlich Platz: Die besten internen Festplatten, 2010 http://www.computerbild.de/artikel/cb-Test-PCHardware-Die-besten-Festplatten-HDD-SATA-3-5-25-2892062.html Nico Ernst, SSD-Tempo zum Preis einer Festplatte?, 2010 http://www.golem.de/1005/75405.html [8] [9] Nathan Kirsch, The Intel X25-M 80GB Solid State Drive Review, 2008 http://www.legitreviews.com/article/788/6/ 6 7