Bernd Leitenbergers Blog

Flash Speicher und SSD

Heute wieder ein Blog von mir. Michael Jahns Artikel waren zu kurz und zu speziell für diesen Blog. Eigentlich hatte ich ja vor eine kleine Serie über Bestandteile der Nahrung zu machen, aber da ich mit einer Erkältung herum laboriere, beschränke ich mich auf ein für mich nicht so zeitintensives Thema: Flash Disks auch SSD genannt (Solid State Disks). Das sind „Festplatten“ aus Flash Speichern, so wie sie jeder von SD/CF Karten oder USB-Sticks kennt. Dazu eine Kontrollerlogik und ein SATA Interface. Das ganze sieht dann so aus wie eine 1,8″ oder 2.5″ Festplatte und wird wie diese eingebaut, hat also auch ein SATA Interface.

Sie sind noch recht teuer und haben mit maximal 256 GByte noch nicht die Kapazität heutiger Festplatten erreicht. Wofür also? Nun ich muss sagen in der derzeitigen Form sind sie vielleicht etwas für spezielle Anwendungsgebiete. Personen bei denen die Daten recht wichtig sind (keine Möglichkeit eines Headcrashs) oder für rauen Einsatz in Outdoor-Notebooks. Die Spitzenexemplare sind auch in bestimmten Bereichen schneller als 2.5″ Platten und dann vielleicht etwas für das Luxus-Notebook.

Es gibt zwei Gründe, warum der Durchbruch noch nicht da ist. Ein Hardware und ein Softwaregrund. Der Hardwaregrund: Flash Speicher ist vom Prinzip her beim Lesen nicht viel langsamer als normales RAM. (Zum Schreiben komme ich noch).Vor allem addieren sich theoretisch die Datenmengen aller Bausteine, wenn parallel auf sie zugegriffen werden kann. Allerdings sitzen in den meisten SSD recht einfache Controller und deren Datenrate ist sehr schlecht – denn Effekt kennt man ja auch von billigen USB Sticks oder SD-Karten. Nur Intel scheint hier eine Ausnahme zu sein, aber da kostet eine 80 GB SSD dann auch schon 300 Euro. Bei anderen Exemplaren sind SSD’s heute sogar noch langsamer als normale Notebook Festplatten.

Der zweite ist ein Softwareproblem kombiniert mit den Eigenschaften eines Flash Speichers. Um zu schreiben muss bei einem Flash Speicher erst ein Block ausgelesen werden, dann werden die Informationen geändert, und dann der Block gelöscht und zurückgeschrieben. Verglichen mit dem Lesen dauert dies sehr viel länger. Auch diesen Effekt kennen Sie: Alls SD-Karten oder USB Sticks schreiben langsamer, als sie auslesen können. Damit es gut geht haben die SSD Disks meistens noch lokales RAM an Bord, typischerweise so 128 MByte. Das ist nötig, weil die Blöcke auf den SSD viel größer als Sektoren auf einer Festplatte sind. Normal sind hier 512 KByte. Dies dient dazu Blöcke zwischenzuspeichern und erst dann zu schreiben, wenn es auch genügend Änderungen gab. Zu viel RAM ist auch nicht gut, obwohl bei den heutigen Preisen sicher auch 1 oder 2 GByte bei den Preisen der SSD drin wären – denn natürlich steigt die Gefahr eines Datenverlustes, wenn dann der Strom mal zu Ende geht oder ausfällt.

Die Lösung wäre es das Dateisystem des Betriebssystems anzupassen. Windows und Linux speichern heute in 4 KByte Blöcken und geben diese Veränderungen auch so an die SSD weiter. Wenn das Betriebssystem Schreibzugriffe sammeln würde, bis ein 512 KByte Block voll wird oder es merkt, dass nun in diesem Block keine neuen Daten mehr dazukommen, so könnten die SSD effizienter werden. Eine zweite Verbesserung könnte das Betriebssystem leisten: Eine SSD weiß Prinzipbedingt nicht, wann ein Block frei ist. also dort zwar noch Daten stehen, aber diese nicht mehr relevant ist, weil die Datei gelöscht wurde. Wenn diese Information an die SSD weitergegeben würde, dann kann dieser Block viel schneller beschreiben werden, weil dann das Auslesen entfällt. So hat auch Intel einen Vorstoß gemacht die SATA Standards um dieses Feature zu erweitern.

Ich hätte einen anderen Vorschlag: Die Frage ist nicht die: SSD oder Festplatte, sondern das Beste aus beiden Welten zu übernehmen. Die SSD ist gut, wenn ich nur Daten auslesen muss. Schreiben dauert lang, vor allem der Random Access Zugriff auf viele unterschiedliche Blöcke. Eine Festplatte ist hier noch überlegener und sie ist viel preiswerter. Nun gibt es Daten die ändern sich bei mir fast nie und bei denen ärgere ich mich immer über die langsamen Startzeiten: Das Betriebssystem, bestimmte Programme. Diese beruhen sicherlich nur zu einem Teil auf dem Lesen von der Festplatte (selbst bei meinem 4 Jahre alten Computer dauert das Einlesen aller Firefox Dateien vielleicht 1 Sekunde, aber die Startzeit beträgt rund 10 Sekunden) – aber diese Dateien könnte man auf eine SSD auslagern. Die müsste dann auch nicht so groß sein. Wenn man sich auf das Betriebssystem beschränkt vielleicht 10 GByte, mit den wichtigsten Anwendungsprogrammen vielleicht 20. Alle Daten, alles was sich ändert kommt dann auf die Festplatte. Ich denke das wäre eine gute Lösung.

Die mobile Version verlassen