Speicher, Ram & Storage

OCZ Vertex 2 60 GB SandForce SSD - SSD - Technologie

Erstellt am: 30.09.2010 um 12:30 Uhr von Oliver Opel.

1 1 1 1 1 1 1 1 1 1

SSD-Technologie

Die Technik der SSD-Laufwerke basiert auf dem gleichen Prinzip wie die seit längerem bekannten Flash-Speicher, die sogenannten NAND-Speicher, wie sie in USB-Sticks und Speicherkarten oder so genannten EPROMS (Erasable Programmable Read Only Memory) eingesetzt werden. Solche Speicher wurden auch recht früh schon als Steckkarten zur HDD-Emulation angeboten oder fanden in der Windows-Vista-Funktion "ReadyBoost" für Systeme mit kleinem Arbeitsspeicher als Zwischenstufe zwischen schnellem Ram und langsamer HDD Einsatz. Es lag nahe, diese positiven Eigenschaften gezielt als Ersatz für HDD's einzusetzen, da sie in der Lage sind, die auf ihnen gespeicherten Daten anders als RAM ohne Stromzufuhr - also auch beim Ausschalten des PC - zu erhalten. Es gab allerdings zwei große Hürden zu nehmen.

Diese Hürden waren zum einen eine ausreichend große Kapazität zu einem bestimmten Preis und mit einem bestimmten Platzbedarf bereitzustellen und zum anderen eine ausreichend hohe Geschwindigkeit zu erreichen. Für beide Faktoren spielt die Verwendung von Single Level Cells (SLC), die nur einen Bit pro Speicherzelle speichern können, gegenüber der Verwendung von Multi Level Cells (MLC) eine Rolle.

Multi Level Cells haben als größten Vorteil eine höhere Speicherdichte, die größere Kapazitäten zu einem geringeren Preis und auf kleinerem Raum möglich machen. Diese sind allerdings langsamer in den Schreib- und Leseraten, da die Daten für das Schreiben und Lesen zu Datenpaketen gepackt werden müssen, was den Verwaltungsaufwand erhöht. Außerdem müssen vor allem beim Wiederbeschreiben von Zellen die Daten nicht nur (wie auch bei SLC-Zellen) erst gelöscht werden, sondern zudem überprüft werden, ob sich auf der gelöschten Zelle noch Daten einer anderen Datei befinden, die dann umgeschrieben werden müssen, bevor die Zelle gelöscht und neue Daten geschrieben werden können.

MLC-Zellen machten USB-Sticks in ihrer heutigen Form erst möglich, da große Datenmengen gespeichert werden können. Allerdings ist die Geschwindigkeit meist schlecht, was jedoch keine Rolle spielte, da die Sticks als Langzeitspeicher und nicht als schneller HDD-Ersatz genutzt wurden. Auch die Windows Vista "ReadyBoost"-Funktion führte daher nur zu einem sehr mäßigen Anstieg der Systemperformance. Stärker machte sich bemerkbar, dass mehr Speicher insgesamt verfügbar war, bzw. nur gegenüber der veralteten IDE-Schnittstelle ein geringer Anstieg der Performance geboten werden konnte.

Für den Einsatz in der heutigen Form als SSD musste daher zunächst eine Anpassung an die SATA-Schnittstelle erfolgen, die größere Datentransferraten erst erlaubt. Hierfür wurden neuartige Controller entworfen. Diese Controller übernehmen zum einen die Anpassung der ausgelesenen Daten an die SATA-Spezifikation und organisieren zudem die Lese- und Schreibroutinen auf der Seite des Flash-Speichers. Auch für USB-Sticks sind solche Controller notwendig. Für die Verwendung mit der SATA-Schnittstelle musste das Datenhandling jedoch deutlich beschleunigt und intelligenter strukturiert werden.

Als die ersten Controller entwickelt waren, die annähernd die Performance einer HDD schafften, kamen die ersten SSD's auf den Markt. Diese First-Generation-Controller hatten jedoch einige Mängel, insbesondere bei den Schreiboperationen, wenn zuvor - wie bei MLC-Zellen notwendig - Datenpakete neu organisiert werden mussten, bevor beschriebene Zellen gelöscht und neu beschrieben werden konnten. Zudem hatten sie enorme Schwächen bei zufälligen Zugriffen. Die Praxistauglichkeit dieser ersten SSD's war aus diesen Gründen stark eingeschränkt. Die genannten Probleme führten zu starken Performanceeinbrüchen, nachdem die ersten Daten auf der SSD geschrieben worden waren, mitunter sogar zu sekundenlangem Einfrieren des Betriebssystems, bis der Controller die Daten wieder geordnet hatte.

Microsoft wusste um diese Probleme und implementierte frühzeitig eine Funktion, die bei Controllern, die dieses unterstützen, automatisch in Zeiten, in denen nicht auf die SSD zugegriffen wird, den Controller anweist, ein Teil dieser Neuorganisation bereits durchzuführen und freiwerdende Zellen zu löschen, um ein schnelles Beschreiben beim nächsten Zugriff zu ermöglichen. Diese Funktion wird TRIM genannt. Bei Controllern der ersten Generation war hierfür ein spezielles Tool notwendig, das im Extremfall zur Wiederherstellung der Performance ausgeführt werden musste.

Inzwischen sind diese Kinderkrankheiten weitestgehend beseitigt, die allermeisten Controller beherrschen TRIM und führen nicht mehr zu deutlichem Einfrieren des Systems. Sie unterscheiden sich aber dennoch stark in der Performance, insbesondere wenn es um zufällige Zugriffe auf kleine Dateien geht, wie es bei Systemplatten häufig der Fall ist, oder darum, eine Funktion der SATA-Schnittstelle - das sogenannte Native Command Queue (NCQ) - bestmöglich umzusetzen. Mit einem Programm wie Crystal Disk Info kann man das Featureset leicht überprüfen. Bei der OCZ ist TRIM und NCQ aktiviert:

Bei Native Command Queue geht es darum, gleichzeitige Zugriffe auf der SSD zu ermöglichen und diese Zugriffe so zu ordnen, dass möglichst viele Daten am Stück gelesen oder geschrieben werden können. Diese Faktoren, TRIM-Fähigkeit, NCQ-Fähigkeit und Geschwindigkeit beim zufälligen Zugriff auf kleine Dateien, für den eine hohe Zahl von Operationen pro Sekunde (IOPS - Input/Output Operations Per Second) wichtig ist, machen derzeit die wesentlichen Punkte aus.

Mit dem Testkandidaten - der OCZ Vertex 2 60GB - nehmen wir eine der SSD's unter die Lupe, die in allen diesen Disziplinen derzeit eine Spitzenposition markiert. Wir dürfen gespannt sein, was der Kandidat zu bieten hat.