Konventionelle Festplatten speichern ihre Daten auf einer oder mehreren Magnetscheiben, die über einen Schreib-/Lesekopf beschrieben und ausgelesen werden. SSDs kommen im Gegensatz dazu ohne mechanische Bauteile aus. Die Daten werden hier in Flash-Speicherzellen abgelegt. Chips mit SLC (Single Level Cell) speichern 1 Bit pro Speicherzelle, jene mit MLC (Multi Level Cell) 2 Bits, TLC (Triple Level Cell) speichert 3 Bits. Mehrere Speicherzellen sind in einem Flash-Chip zu einer Page (zum Beispiel 8 KiB) organisiert. Mehrere Pages bilden dann einen Block (etwa 2 MiB).
Auf dieser Ebene kommt auch schon die erste Eigenheit von Flash-Speichern ans Tageslicht: Neue Daten können zwar in ungenutzte Pages geschrieben werden – ein nachträgliches Ändern ist jedoch nicht möglich. Das funktioniert erst dann wieder, wenn der SSD-Controller zuvor den gesamten zugehörigen Block löscht. Damit immer ausreichend ungenutzte Pages bereitstehen, verfügen SSDs über zusätzliche Speicherzellen (Spare Area). Je nach SSD ist die Größe der Spare Area zwischen 7 und 78 Prozent der Nennkapazität.
Eine Möglichkeit, der SSD mitzuteilen, welche Datenbereiche nicht mehr verwendet und somit gelöscht werden können, ist TRIM. Hier teilt das Betriebssystem dem SSD-Controller mit, welche Datenbereiche gelöscht werden können. TRIM lässt sich für eine einzelne SSD einfach implementieren, für Paritäts-RAIDs wäre die Umsetzung aber durchaus aufwändig. Daher unterstützt bislang auch kein Hardware RAID-Controller die TRIM-Funktionalität. Dieses Manko lässt sich aber recht leicht umschiffen: Die meisten Enterprise-SSDs kommen von Haus aus mit einer vergleichsweise großen Spare-Area, weshalb die TRIM-Unterstützung kaum eine Rolle spielt. Und wem die Performance noch nicht reicht, der kann zusätzlich noch mit Over-Provisioning arbeiten – dazu später mehr.
Der komplette Artikel ist nur für Abonnenten des ADMIN Archiv-Abos verfügbar.