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.

5 thoughts on “Flash Speicher und SSD

  1. Bernd Leitenberger schrieb:
    bl> Die Frage ist nicht die: SSD oder Festplatte, sondern das Beste aus beiden Welten zu
    bl> übernehmen.

    Solaris ZFS macht so was, aber nicht ganz so wie Sie es sich vorstellen. Für ZFS benötigt man die teuren, schnellen SSDs. Diese werden dann mit dem ChangeLog am Stück beschrieben.

    MfG

  2. Hallo,
    2 Dinge möchte ich zum SSD Beitag mal noch anmerken.

    > Flash Speicher ist vom Prinzip her beim Lesen nicht viel langsamer als normales RAM
    Normaler Ram schafft 3,2 GB/s, eine SSD 300MByte/s – das ist das 10Fache!!! Die SSD ist NUR Doppelt so schnell wie eine normale Festplatte (von der Transferrate). Bei den Zugriffszeiten sieht es auch nicht viel besser aus Ram hat 10ns eine SSD hat 0.1ms. Wenn das nicht viel langsamer ist was dann?

    > Damit es gut geht haben die SSD Disks meistens noch lokales RAM an Bord, typischerweise so 128 MByte
    Da würde mich mal eine quelle Interesieren, selbst die Intel haben nur 16Mbyte Cache. Meines Wissens wäre es viel zu riskant einen Scheibcache von 128Mbyte – Viel Raidcontroller erlauben soviel Schreibcache nur wenn eine Pufferbatterie vorhanden ist.

  3. Wenn ich das richtig verstehe möchtest Du deine Daten also auf das theoretisch unsichere Medium schreiben und ein OS, was sich bei Verlust einfach wieder von CD/DVD/Stick installieren ließe auf die SSD?
    Hm…

  4. Quelle: ct 11/2009 S. 100ff

    Samsung verbaut in seine 128 Byte Speicher. Zu Zugriffszeiten und Datenübertragungsrate: Du vergisst offensichtlich, dass du nicht direkt auf das RAM zugriefne kannst sondern das ganze als Festplatte organisiert ist und intern nochmals anders. So werden alle Blöcke bei derzeitigen Flash Speichern (hängt von der Kapazität pro Chip ab) in 512 KByte Blöcken gelesen, DDR-RAM dagegen mit 8 Byte und nur für den sequentiellen Zugriff gelten diese 10 ns (wenn Du wild über den Speicher liest wirst Du rasch merken, dass DDR Ram ohne diesen Cahce Trick schnell 100 ns Zugriffszeit ansteigt). Aber: 512.000/8*10 ns = 0.64 ms und schon bist Du im Bereich einer SSD: Man kann dort eben nicht auf einzelne Bytes zugreifen, es werden immer ganze Blöcke gelesen.

    Wenn Flash Speicher direkt ansprechbar wäre so wäre noch ein Geschwindigkeitsvorteil heraus zuholen. Die Controllerchips sind ja schon heute der unterschied zwischen den schnellen SSD von Intel und anderen die weitaus lahmer sind.

    @Ohlsen: Ja weil ich das ganze unter dem Gesichtspunkt der Geschwindigkeit sehe. Für Datensicherheit verwende ich Backups, weil da die größte Gefahr vor dem Bildschirm sitzt und nicht im Computergehäuse. Ich habe die SSD auch schon mal unter dem Gesichtspunkt als sicherer Datenpark für die wichtigsten Dokumente gesehen. http://bernd-leitenberger.de/blog/2008/05/26/flash-speicher/

    Ich belecuhte ein Thema eben gerne von vielen Seiten und komme dann zu unterschiedlichen Ideen….

  5. SSD vs. Ram

    > DDR-RAM dagegen mit 8 Byte und nur für den sequentiellen Zugriff gelten diese 10 ns
    Auch bei DDR Speicher werden nicht einzelne bytes gelesen(bei DDR2 mindestens 64). Dort sind zwar die blöcke nicht so groß wie bei ssd. Dann bezog sich mein Beispiel auf einen Singel-channel speicher. Da Flash nur so schnell ist weil viele module gleichzeitig vom Controller gelesen werden, müsste man es auch schon mit DualChannel Ram vergleichen. Und da sind wir bei DDR3 bei 25,6Gbyte/s.
    RAM mit SSD zu vergleichem macht sehr wenig sinn. SSD gelten als Ersatz für Festplatten, damit sollte man sie auch nur damit vergleichen. Bei den Transferraten sind sie noch nicht viel besser als Festplatten der grosse Vorteil sind die IO pro Sekunden dort erreichen sie das vielfache einer Festplatte.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.