admin special ssd

27
 ADMIN Netzwerk & Security EUR 5,90 www.admin-magazin.de SSD-Speicher STORAGE MIT HIGH-SPEED Das Fachmagazin für IT-Experten Know-how zur neuen Stor age-Technologie Testen Korrekte Benchmarks mit dem Fio-Tool Grundlagen So funktionieren SSDs  Wa s kommt dana c h? Flashcache Synthese: SSDs als Cache für Festplatten Tuning Einstellungen für maximale Performance Digitales Special  präsentiert von

Upload: harry-klein

Post on 05-Oct-2015

13 views

Category:

Documents


0 download

DESCRIPTION

ADMIN Special Edition on SSD Storage

TRANSCRIPT

Grundlagen So funktionieren SSDs
Tuning Einstellungen für maximale Performance
Digitales Special
 
2 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
tency Time). Die Latency Time beträgt
dabei im Mittel die Dauer, welche für
eine halbe Umdrehung notwendig ist. Die
Summe aus Seek Time und Latency Time
ergibt die Random Access Time (mitt-
lere Zugriffzeit). Diese beträgt je nach
Festplatte und deren Drehzahl zwischen
fünf und 15 Millisekunden, was 200 re-
spektive 66 IOPS (I/O-Operationen pro
Sekunde) entspricht.
kontinuierlichen Datentransfers kann
mithalten. Sie liefert dabei je nach Typ
zwischen 60 und 150 MByte/s. SSDs kön-
nen zwar zu Beginn über 250 MByte/s
liefern. Mit höherem Füllstand der SSD
sinkt diese Rate jedoch. Wie sehr die Da-
tenrate zurückgeht, hängt dabei von den
Algorithmen im SSD-Controller ab.
einer SSD ist die Speicherzelle. Je nach
Typ speichert eine einzelne Speicherzelle
ein oder mehrere Bits:
Eine SLC unterscheidet zwei Ladungs-
zustände, eine MLC vier und eine TLC
acht. Die angelegte Spannung beim
Schreiben auf eine Speicherzelle ist al-
lerdings fix. Daher muss bei einer MLC
für einen Schreibvorgang bis zu vier Mal
Spannung angelegt werden, um in den
höchsten Ladungszustand zu kommen.
cher Vorgänge – die Schreibperformance
acht Mal Spannung und werden daher
für SSDs nicht verwendet. Aufgrund ihrer
hohen Datendichte und höheren Kapa-
zität werden TLCs aber für USB-Sticks
und SD-Karten genutzt. Dazu reicht ihre
Performance aus.
es zu einer kleinen Abnützung der Iso-
lationsschicht der Speicherzelle. Da für
einen einzelnen Schreibvorgang auf eine
MLC öfter Spannung angelegt wird als
bei einer SLC, verträgt die MLC weniger
Schreibvorgänge (sogenannte Program/
ben meist eine Lebensdauer zwischen
10 000 und 30 000 p/e-Zyklen, SLCs rund
100 000 p/e-Zyklen.
Sie ist die kleinste Struktur, die vom
SSD-Controller gelesen oder beschrie-
eine Gemeinsamkeit: Beide Medien spei-
chern Daten. Intern arbeiten SSDs aller-
dings vollkommen anders als Festplatten.
Während Festplatten die Daten auf meh-
reren Magnetscheiben speichern, nutzen
zehn Stück – für die Datenspeicherung.
Da bei SSDs keine mechanischen Teile
wie bei Festplatten bewegt werden, sind
vor allem zufällig verteilte Datenzugriffe
deutlich schneller.
platten zu vergleichen, lohnt zuvor ein
kurzer Blick auf den Aufbau herkömm-
licher Festplatten. Diese speichern die
Daten auf mehreren rotierenden Magnet-
scheiben. Die Daten werden dabei mit
Schreib-/Leseköpfen auf die Scheiben
geschrieben beziehungsweise von die-
Festplatte gelesen werden, muss die
Festplatte den Schreib-/ Lesekopf an die
richtige Stelle bewegen (Seek Time) und
dann darauf warten, dass der gewünschte
Sektor auf der rotierenden Scheibe unter
dem Schreib-/Lesekopf vorbeifährt (La-
 Frische Chips
Soid Stat Divs dn von Ta u Ta ouä. Di kinn pfoman-wund vsn in duti
ö I/O-pfoman as kömmi Fstattn – und das bi nidim Stomvbau. wi SSDs
funktionin und ann si dn einsat ont, vät dis Atik. wn Fis
 
können für weitere Schreiboperationen
genützt werden. Den ursprünglichen
Somit sind alle Pages dieses gelöschten
Blocks wieder beschreibbar. Abbildung
Wie eingangs erwähnt, ist die Anzahl der
möglichen Schreibvorgänge (p/e-Zyklen)
auf Pages, die noch wenig abgenützt
sind. Dieser Vorgang wird als Dynamic
Wear Leveling (dynamische Abnutzungs-
verteilung) bezeichnet. Dynamisch des-
ten verteilt werden.
der SSD. Daten, die nur einmal geschrie-
ben werden und sich danach nicht mehr
ändern, bleiben damit aber auf ihren
Pages. Static Wear Leveling geht daher
einen Schritt weiter und verschiebt auch
solche Daten periodisch auf andere Pa-
ges, die schon mehr abgenützt sind. Da-
mit werden tatsächlich alle Pages einer
SSD gleichmäßig abgenützt und die Le-
bensdauer der SSD steigt weiter.
Write Amplification
wenn sie nicht verändert werden, in an-
dere Pages kopiert (etwa durch Garbage
Collection oder Static Wear Leveling).
Ein geschriebenes Byte kann also mit
der Zeit vom SSD-Controller durchaus
mehrfach kopiert werden und somit zu
nen Bits würde so das Lesen, Löschen
und Neuschreiben von 512 KiB an Daten
verursachen.
einem einfachen Trick. Wenn er Daten
einer Page verändert, schreibt er dazu
einfach die neuen Daten in eine andere
Page, die noch gelöscht ist. In einer in-
ternen Zuordnungstabelle vermerkt der
gischen LBA-Adresse A nun nicht mehr
in Page X, sondern in Page Y zu finden
sind. Die ursprüngliche Page X markiert
er als ungültig. Damit diese Methode
funktioniert, benötigt der SSD-Controller
SSD keine Daten mehr verändern. Daher
hat jede SSD eine sogenannte Spare Area.
Typischerweise beträgt die Größe dieser
Spare Area zwischen sieben und 27 Pro-
zent der Nennkapazität einer SSD. Eine
160 GB SSD kann etwa tatsächlich über
172 GByte verfügen, 12 GByte versteckt
die SSD aber vor dem Betriebssystem und
nutzt diese Datenmenge als Spare Area.
Mit fortschreitender Nutzungsdauer ver-
Daten. Mehr und mehr Pages markiert
der SSD-Controller als ungültig. Einzelne
Blöcke enthalten nur mehr 40 bis 60 Pro-
zent echte Daten, die restlichen Pages
darin sind ungültig und können vorerst
nicht weiter genutzt werden. Bevor nun
die Spare Area zur Neige geht, räumt der
SSD-Controller auf. Bei dieser Garbage
Collection kopiert der SSD-Controller die
noch gültigen Pages eines Blocks in einen
freien Block, der damit nur teilweise ge-
füllt ist. Die restlichen Pages dieses neuen
ben werden kann. Allerdings kann der
SSD-Controller den Inhalt einer bereits
beschriebenen Page nicht löschen oder
verändern. Eine Page ist in der Regel vier
Kibibyte (KiB) groß (= 4096 Bytes). Mit
MLCs entspricht das 16 384 Speicherzel-
len. Künftige Flash Chips mit einer Fer-
tigungsstrukturbreite von 25 nm haben
Pages mit acht KiB Größe.
Mehrere Pages sind in Blöcken zusam-
mengefasst. Aktuell besteht ein solcher
Block aus 128 Pages und fasst damit
512 KiB an Daten. Blöcke der künftigen
25nm-Fertigung nutzen 256 Pages à acht
KiB, in Summe also 2 MiB. Ein Block
ist die kleinste Einheit, die der SSD-
Controller löschen kann, indem er eine
Löschspannung am gesamten Block an-
legt. Erst nach dem Löschen eines Blocks
kann der SSD-Controller die einzelnen
Pages wieder neu beschreiben.
tergebracht, wie Abbildung 1 zeigt. Ein
Die ist dabei etwa so groß wie ein Fin-
gernagel (167 mm2). In der Produktion
werden circa 200 bis 300 Dies aus einem
Wafer gewonnen. Je nach gewünschter
Kapazität landen ein bis acht Dies in ei-
nem Thin small-outline package (TSOP)
– jene schwarzen Chips, wie sie auch auf
Speichermodulen vorhanden sind. Eine
TSOPs und einem SSD-Controller.
niken um sowohl eine hohe Performance
als auch eine lange Lebensdauer der SSD
zu erreichen. Das erstmalige Beschreiben
einer neuen SSD ist dabei noch einfach.
Alle Blöcke (und somit auch alle Pages)
sind gelöscht. Neue Daten schreibt der
SSD-Controller direkt auf die entspre-
chenden Pages.
handene Daten verändert werden. Ohne
zusätzliche Mechanismen müsste der
SSD-Controller sämtliche Pages eines
anschließend den gesamten Block lö-
schen, um abschließend die zwischen-
gespeicherten Pages versehen mit den
Änderungen wieder in den Block zu
schreiben. Die Änderung eines einzel-
Abbildung 1: Die eines Flash-Chips mit vier Planes. (Quelle: Intel)
 
4 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
bei zu vielen Bitfehlern greift ECC nicht
mehr, und es kommt zu einem unkorri-
gierbaren Fehler (uncorrectable bit error
rate, UBER).
terschiedlichen SSDs einfach vergleichbar
Association die beiden Standards JESD218
(SSD Requirements and Endurance Test
Method) und JESD219 (SSD Endurance
Workloads) verabschiedet. Damit können
TBW (Terabytes written, geschriebene
auch schon jetzt per SMART Auskunft
über die verbleibende Lebensdauer (Me-
dia Wearout Indicator) [1]. Generell ist die
zu erwartende Lebensdauer von SSDs bei
normalen Schreibmengen durchaus mit
gar höher, da bei es bei SSDs zu keinen
mechanischen Ausfällen (wie etwa Head-
crashes bei Festplatten) kommt.
schaften für zahlreiche Einsatzgebiete.
genden Investitionskosten gegliedert.
zwischen 40 und 80 GByte bringt bei ei-
nem Einzelplatz-PC deutliche Produktivi-
tätsvorteile. Bei geringen Investitionskos-
das Betriebssystem und die Anwendungs-
programme neben einer normalen Fest-
platte, die Benutzerdaten enthält.
Das Hochfahren des Rechners
geht damit deutlich schneller.
Auch die einzelnen Programme
PC ist flüssiger.
rige Festplatte in einem Rechner
vollständig ersetzen. Das erhöht
zwar die Kosten, beschleunigt
die Daten des Benutzers. Weitere
Vorteile durch den Wegfall einer
herkömmlichen Festplatte sind
lich geringere Stromverbrauch.
die Akkulaufzeit um 20 bis 30 Mi-
nuten erhöhen. Auch im Serverumfeld
lassen sich SSDs sinnvoll einsetzen. Vor
allem bei Datenbanken mit vielen zufäl-
ligen I/O-Zugriffen spielen SSDs ihre Vor-
teile aus. Eine Spiegelung von SSDs mit
einem RAID 1 schützt vor Datenverlust
beim Ausfall einer einzelnen SSD. Man-
che RAID-Controller unterstützen dabei
SSD und einer herkömmlichen Festplatte,
wobei der RAID-Controller dabei Lesezu-
griffe im Normalbetrieb ausschließlich an
die SSD schickt.
beschleunigender Lesecache in einem
RAID-Verbund mit normalen Festplatten
genutzt werden. Adaptec-Controller mit
Maxcache-Unterstützung legen häufig ge-
ab [2]. Um diese Daten später erneut
zu lesen, wird direkt von den SSD gele-
sen und nicht von den RAID-Festplatten.
Im Gegensatz zum normalen Cache des
RAID-Controllers hat dieser SSD-Cache
auch bei einem Reboot erhalten.
Fazit
Einstiegskosten verbunden. Sie zahlen
Controller implementiert hat.
korrektes Partition Alignment optimieren
list bei der Thomas-Krenn.AG und Chefredakteur
des Thomas Krenn Wikis. Seine Arbeitsschwer-
punkte liegen in den Bereichen Hardware-
Monitoring, Virtualisierung, I/O Performance
solchen Kopiervorgang kommt, wird als
Write Amplification bezeichnet.
turgemäß zu einer höheren Abnutzung
und damit geringeren Lebensdauer. Man-
che SSD-Controller (etwa von Sandforce)
versuchen, durch eine Komprimierung
Schreibvorgänge zu reduzieren, um da-
mit die Abnutzung zu reduzieren. Eine
weitere Möglichkeit ist die Vergrößerung
der Spare Area. Dadurch sinkt zwar die
nutzbare Kapazität, da aber seltener eine
Garbage Collection erforderlich ist, steigt
dennoch die Lebensdauer der SSD.
Lebensdauer
die Lebensdauer der Speicherzellen be-
grenzt. Mit fortschreitender Nutzung
bei ein „Ausfall“ dabei relativ ist. Je mehr
p/e-Zyklen stattfinden, umso länger
bestimmten Schwellwert, markiert der
Block“ und nutzt stattdessen einen Spare
Block aus der Spare Area. Es kommt da-
bei also zu keinem Datenverlust. Es sinkt
nur die Anzahl der Spare-Blöcke. Ein-
zelne Bitfehler können zwar auftreten
(raw bit error rate, RBER), werden aber
durch ECC-Mechanismen korrigiert. Erst
verändert und woanders abgespeichert wurden. Die Garbage
Collection macht die ungültigen Bereiche wieder nutzbar.
 
6 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
dows lässt sich Fio zum Laufen bringen,
wie die Dokumentation erklärt.
oder mehreren Jobs. Die Job-Definitionen
nimmt Fio als Parameter auf der Befehls-
zeile oder als Job-Dateien in dem von
Windows und KDE bekannten Ini-Format
entgegen.
fio --name=zufälliglesen --rw=randreadU
 --size=256m
ihn aus: Fio erstellt dazu im aktuellen
Verzeichnis eine Datei mit der Größe
256 MiB und einen Prozess für den Job.
Dieser Prozess liest den gesamten Datei-
Inhalt in zufälliger Abfolge. Fio führt
dabei Buch über bereits gelesene Berei-
che und liest jeden Bereich nur einmal.
Währenddessen misst das Programm die
CPU-Auslastung, die erzielte Bandbreite,
Latenzen. Das Ganze funktioniert natür-
lich auch als Job-Datei:
big erweitern. So definiert
Datei in zufälliger Reihenfolge einlesen.
Alternativ erreicht die Option »num-
jobs=2« den gleichen Effekt.
Fio führt standardmäßig alle Jobs aus.
Mit der Option »stonewall« wartet Fio,
bis alle vorher laufenden Jobs fertig sind,
bevor es weitermacht. So liest Fio mit
[global]
zweite Datei sequenziell (Abbildung 1).
Die Optionen in der Sektion »global« gel-
ten dabei für alle Jobs und lassen sich pro
Der Maintainer  der Blockgeräte-Ebene
ckelte Fio, um die Performance in unter-
schiedlichen Anwendungsfällen zu mes-
oder »dd« sind zu beschränkt und testen
beispielsweise nur sequenzielles I/O,
aufwendig.
gibt es ein vom Artikel-Autor erstelltes
Paket, das Ubuntu-Entwickler in ihrer
Distribution übernommen haben. Für
Suse 11.3 stellt das Benchmark-Reposi-
tory ein aktuelles Paket bereit [1].
In Fedora ist Fio ebenfalls enthalten.
Die Quellen aus dem Tarball oder dem
Git-Repository lassen sich mit den Ent-
wicklerdateien zur »libaio«, bei Debian
und Abkömmlingen als »libaio-dev«, bei
RPM-basierten Distributionen üblicher-
len Make übersetzen [2][3]. Auch unter
verschiedenen BSD-Varianten und Win-
I/O-Benchmarks mit Fio
Blockweise einfa Disk-Bnmaks mssn oft nu inn bstimmtn Anndunsfa. D fxib I/O-Tst Fio simu-
it an untsidi wokoads und misst nbn d Bandbit au di Ana d I/Os o Skund,
latnn soi di cpU-Ausastun. Matin Stiad
 
im Spiel.
hängt davon ab, welche I/O-Engine es
mit welchen Einstellungen verwendet. Ei-
nen Überblick über die vielen beteiligten
Komponenten gibt Abbildung 2. Mehrere
Anwendungen lesen und schreiben Da-
ten, indem sie mit einem oder mehreren
Prozessen und etwaigen Threads System-
Funktionen aufrufen. Die System-Routi-
ner 300 GB Intel SSD 320 und dem Linux-
Kernel 3.0. Bei Performance-Messungen
ob die Ergebnisse glaubwürdig sind.
Das Programm verwendete die Standard-
Blockgröße von 4 KiB wie ganz am An-
fang in der Ausgabe bei den Job-Gruppen
zu sehen. Die etwa 16 000 KiB/s und 4000
I/O-Operationen pro Sekunde (IOPS) für
zufälliges Lesen liegen im Rahmen des
für eine SSD Möglichen (siehe Tabelle
und Kasten IOPS-Richtwerte). Bei den
über 65 000 IOPS und 260 MiB/Sekunde
für sequenzielles Lesen hatten jedoch
 Job abändern. Möchte man
jeweils zwei Gruppen von
führen einer Job-Gruppe
done] [16948K/0K /s] [4137 /U
0 iops] [eta 00m:06s]
 Job mit sequenziellem Le-
mern markiert als »r«,
während Fio den zweiten
quenzielles Lesen, »w« für
les Schreiben und so weiter (siehe Man-
page unter »OUTPUT«). Das Programm
gibt zusätzlich den prozentualen Fort-
schritt der aktuellen Job-Gruppe, dann
die aktuelle Lese- und Schreibgeschwin-
digkeit, die aktuellen Lese- und Schreib-
IOPS sowie die voraussichtliche Dauer
des Tests aus.
gramm die Ergebnisse. Neben der er-
reichten Bandbreite und den IOPS zeigt
Fio unter anderem die CPU-Auslastung
und die Anzahl der Kontext-Switches. Im
Abschnitt »IO« findet sich die prozentuale
Verteilung, wie viele I/O-Requests Fio in
Bearbeitung hatte (»IO depths«) und wie
lange deren Abarbeitung dauerte (»lat«
für Latenz).
Testlaufs auf einem ThinkPad T520 mit ei-
Tabelle 1:  IOpS-richtwete
SATA-Platte, 10 000 RPM 100 - 150
SATA-Platte, 15 000 RPM 170 - 220
SATA-300-SSD 400 - 10 000
PCIe-SSD bis zu eine Million
Abbildung 1: Ein einfacher Testlauf mit zwei Jobs, die Fio hintereinander durchführt.
IOpS kät
richtet sich nach dessen Leistungsfähigkeit so-
wie dem definierten Workload. Der Schnittstel-
lentyp wie SATA, SAS, Fibre Channel oder PCIe
und der Controller üben ebenfalls einen Einfluss
aus. In der Regel geht es darum, die Geschwin-
digkeit beim Arbeiten mit kleinen I/Os zu testen.
Daher kommt typischerweise eine Blockgröße
von 4 KiB zum Einsatz. In diesem Fall erreicht
eine Festplatte mit 70 IOPS maximal eine Da-
tentransferrate von 70 * 4 KiB also 280 KiB
pro Sekunde – ein Wert, der deutlich unter der
maximalen sequenziellen Datentransferrate bei
zeit errechnet sich aus dem Kehrwert der IOPS
und beträgt für die genannten 70 IOPS knapp
14,3 Millisekunden. Eine SSD braucht bei 4000
IOPS circa 0,25 Milli- oder 250 Mikrosekunden
(siehe Abbildung 1).
und [5]. Bei Festplatten setzt sich die mittlere
Zugriffszeit aus der Spurwechselzeit (seek time)
und der durchschnittlichen Latenz, also der
Dauer einer halben Umdrehung der Festplatte
[6] zusammen. Bei kleinen I/O-Größen ist die Datenübertragungsrate in der Regel vernachläs-
sigbar, ebenso wie der Controller-Overhead.
 
8 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
bedeutsam. Allerdings
Geräte-Ebene.
landet sind. Daher ist die Länge der War-
teschlange auf Anwendungsebene immer
viele Daten auf einmal schreibt, landen
diese erst einmal nicht auf der Platte ( Ab-
bildung 3). Der Kernel sammelt sie im
Pagecache und schreibt sie auf Geräte-
Ebene später doch asynchron.
Engines auch auf Geräte-Ebene synchron,
es sei denn, mehrere Prozesse lesen
gleichzeitig. Das ist dann aber nicht so
effizient wie asynchrones I/O auf der
Anwendungsebene. Wer den Pagecache
messen möchte, verwendet die Option
»direct=1«. Auf Geräte-Ebene synchro-
nes und damit unrealistisch langsames
Arbeiten aktiviert die Option »sync=1«,
die bei den meisten Engines der Funktion
»open()« das Flag »O_SYNC« übergibt.
Dann kehrt der System-Aufruf erst zu-
rück, wenn die Daten auf dem Laufwerk
sind.
»libaio«, »posixio«, »windowsaio« und
ab, ohne auf jeden einzelnen Request
zu warten. So rechnet sie mitunter mit
bereits erhaltenen Daten, während wei-
tere Requests in Bearbeitung (pending)
sind. Wie viele Requests Fio maximal in
Bearbeitung hält, kontrolliert die Option
»iodepth«, wie viele das Programm auf
einmal losschickt »iodepth_batch« und
auf Anwendungsebene immer synchron.
einem Vielfachen der Sektorgröße als
Blockgröße.
weniger Bandbreite und IOPS für das se-
quenzielle Lesen Werte, die näher an den
tatsächlichen Fähigkeiten des Laufwerks
ten Anwendungen auf die Vorzüge gepuf-
ferten I/Os zurückgreifen, machen Tests,
die den Pagecache einbeziehen, durchaus
Parameter den Pagecache. Zugriffe auf
Dateien setzt ein Dateisystem in Zugriffe
auf Blöcke um, während systemnahe Pro-
gramme wie »dd«, der Linux-Kernel beim
Auslagern auf ein Swap-Gerät sowie ent-
sprechend konfigurierte Anwendungen
feeder/Reader Diablo direkt auf Block-
geräte schreiben [7]. Im Block Layer
gibt der gerade laufende I/O-Scheduler
die Requests nach festgelegten Regeln
an die Gerätetreiber weiter. Der Cont-
roller schließlich spricht das Gerät an,
das ebenfalls einen mehr oder weniger
aufwendigen Controller mit eigener Firm-
ware besitzt.
asynchron oder synchron verarbeitet
Warteschlange sowie der Einsatz oder
das Überspringen des Pagecaches sind
Abbildung 2: Viele Ebenen sind unter Linux beim Lesen und Schreiben von
Dateien beteiligt.
01 [global]
08 [zufälliglesen]
09  [sequentielllesen]
10 stonewall
11 rw=read Abbildung 3: Knapp 1 GiB/s und 256000 IOPS sind auch für eine Intel SSD 320 unrealistisch.
 
nur knapp unter dem theoreti-
schem Limit für eine SATA-300-
Schnittstelle. Wichtig: Trotz 20
ist es empfehlenswert, mit SSD-
Schreibtests achtsam zu sein
aus einem aktuellen »util-linux«-Paket zu
entlasten [9].
der IOPS mit einer variablen Blockgröße
von 2 bis 16 KiB verwendet die zuvor an-
gelegte Datei weiter (Abbildung 6). Am
Leistungslimit ist die SSD damit jedoch
noch nicht, wie die 68 beziehungsweise
anderes Präfix angibt. Aus den Protokol-
len im aktuellen Verzeichnis erstellt das
kleine Skript »fio_generate_plots« einen
nimmt es einen Titel und in der aktuel-
len Git-Fassung auch die Auflösung ent-
gegen. Dieser Workload erreicht mit 54
großen IOPS beim Schreiben ungefähr
220 MiB/s und mit 68 IOPS beim Lesen
Sinn. Für solche ist jedoch eine große Da-
tenmenge von mindestens zweimal der
RAM-Größe empfehlenswert. Ohnehin
dreimal durchzuführen und nach Abwei-
chungen zu schauen.
allgemeinen Bereich verwenden beide
gramm füllt solche Dateien mit Nullen.
Für Festplatten ist das in der Regel okay.
In Zusammenhang mit Dateisystemen
SSDs mit neuerem Sandforce-Chipsatz
Mount-Option, misst Fio so jedoch, wie
effizient der Komprimier-Algorithmus
ten sorgt entweder das vorherige Anlegen
der Datei mit »dd« aus »/dev/urandom«
oder das vorherige Schreiben in die Datei
mit Fio selbst. Die Option »refill_buffers«
weist Fio an, den Schreibpuffer nicht nur
einmal, sondern jedes Mal mit neuen zu-
fälligen Daten zu füllen (Listing 2).
Die sequenzielle Transferrate bei großen
Blöcken protokolliert Fio mit der Option
»write_bw_log« in »schreiben_bw.log«
oder »lesen_bw.log«, so lange man kein Abbildung 5: Ein kleines Skript erstellt Graphen aus Bandbreiten- oder Latenz-Protokollen.
Abbildung 4: Direktes I/O unter Umgehung des Pagecache liegt näher an den tatsächlichen Fähigkeiten des Laufwerks.
Listing 2: puff nu fün
01 [global]
17 write_bw_log
 
10 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
Native Command Queuing mit bis zu 32
Requests:
  Queue depth: 32
fiehlt sich ein Versuch mit der doppel-
ten Anzahl. Mit »iodepth=64« steigt
die Performance erheblich, Kernel und
SSD-Firmware haben bei längeren War-
teschlangen mehr Spielraum für Optimie-
rungen (siehe Abbildung 7). Allerdings
braucht die SSD durchschnittlich auch
deutlich länger, um Requests zu beant-
worten.
auf Anwendungsebene beim gepufferten
Prozesse auf Geräte-Ebene ebenfalls viele
Requests in Bearbeitung hält, macht es
durchaus Sinn, mit verschiedenen War-
teschlangenlängen zu testen. Eine einfa-
che Möglichkeit ist es, in der Job-Datei
»iodepth=$IODEPTH« zu schreiben und
Fio die Länge als Umgebungsvariable
mitzuteilen.
Variation
Test mit »numjobs=64« ebenfalls deut-
lich höhere Werte, die die Option »group_
reporting« pro Gruppe zusammenfasst.
Die Befehlszeilen-Option »--eta=never«
schaltet die überlange Fortschrittsanzeige
Benutzereingaben selbst auf einem In-
tel Sandybridge i5 Dualcore und etwa
770 000 Kontext-Switches zeigen den hö-
heren Overhead dieser Methode. Doch
immerhin sind auch damit circa 160 bis
180 MB/s und 18 000 bis 19 000 IOPS
beim Lesen und ungefähr 110 MiB/s und
12500 IOPS beim Schreiben drin. Die
Messprotokolle stehen auf der ADMIN-
Website zum Download bereit.
noch lange nicht ausgeschöpft. Das
Programm arbeitet auch direkt mit der
Hardware, wie der Beispiel-Job »disk-
zone-profile« zeigt, der über die gesamte
Größe eines Laufwerks in Abständen die
Lese-Transferrate misst. Für hardware-
Festplatten empfehlenswert, immer das
toren aufgrund des größeren Zylinderum-
fangs höher ist. So ergeben sich bei einer
2,5-Zoll-Hitachi-Platte mit 500 GByte via
eSATA beim zufälligen Lesen von 2 bis 16
KiB-Blöcken mit »iodepth=1« noch etwa
50 IOPS (Abbildung 8). Alternativ ver-
wendet man nur den Anfang der Platte.
Bei Lese-Tests mit ganzen Laufwerken,
67 Prozent für »util« für das logische
Laufwerk und die SSD selbst aussagen.
Beim sequenziellen Workload lag die
Auslastung bei 97 Prozent. Die maximale
Laufzeit von 60 Sekunden unterschreitet
die SSD bei einer 2 GiB großen Datei
dennoch bei einigen Tests.
wartet auch die I/O-Engine »libaio« auf
jeden Request, bevor sie den nächsten
abschließt. Das lastet bei kleinen Block-
größen die Warteschlange auf Geräte-
Ebene nicht aus. Die SSD unterstützt
Listing 3: Vaiab Bokößn 01 [global]
02 ioengine=libaio
03 direct=1
05 # der Datei vorher Job sequentiell laufen
lassen
28 rw=write
29 runtime=60
Abbildung 6: Das mit einer Warteschlangenlänge von eins quasi synchrone I/O lastet die Intel SSD nur zu etwa
67 Prozent aus.
 
dardwerte, so lange es keinen Grund gibt,
daran etwas zu ändern. Denn erfahrungs-
gemäß bringt ein einfaches Drehen an
Howto offenbart die ganze Funktions-
vielfalt.
sene Performance-Werte beeinflussen, so
tet die Befehlszeilen-Option »--rea-
gine »mmap« Workloads, die Da-
teien in den Speicher einblenden,
während »net« mit »filename=host/
port« Daten über »TCP/IP« sen-
det oder empfängt und »cpuio«
CPU-Zeit verbraucht. Zudem ver-
»netsplice« die linux-spezifischen
Kernel-Funktionen »splice()« und
zwischen User- und Kernelspace
file()« zurück, die zum Beispiel der
Webserver Apache verwendet, um
statische Dateien schneller auszu-
gepufferten, asynchronen Schreib-
den Optionen »fsync«, »fdatasync«
oder gar »sync_file_range« simulie-
Schreiben sowie zwischen unterschied-
falls. Ein Blick in die Manpage und das
ADMIN-Magazin eine Publikation der Linux New Media AG Redaktionsanschrift  putbunn Staß 71
81739 Münn T.: 0 89/99 3411-0 Fax: 089/993411-99 od -96
Intnt .admin-maain.d e-Mai [email protected] Geschäftsleitung  Bian Osbon (Vostand), [email protected]
hmann pank ( Vostand), [email protected] Chefredakteure   Oiv Fomm (V.i. S.d. p.),
[email protected] (of)   Jns-cisto Bnd
 [email protected] (jb) Redaktion   Ns/rot Ui Bant (lt.), [email protected] (uba)
Matias hub, [email protected] (mu) Softa/Tst Ma hiin, [email protected], (mi)
Kistian Kißin, [email protected], (kki) Suity/Ntokin Makus Fin, [email protected] (mf)
Tomas litnstn, [email protected] (t) Ständi Mitabit ek Knitt (Sussdaktion),
castn Snob, Tim Sümann, caudia Taott Produktionsleitung   cistian Ui, [email protected] Grafik  Kaus rfd, Judit eb (Tit, Ausansafik: Mikai-Dudav, 123rF) Abo-Infoseite   .admin-maain.d/abo Abonnenten-Service   Vonika Kam
[email protected] T.: 07131/27 07 274, Fax: 07131/27 07 78 601
Preise Print Deutschland Österreich Schweiz Ausland EU einft €  9,80 €  10,80 Sfr 19,60 (si Tit) Mini-Abo (2 Ausabn) €  9,80 €  10,80 Sfr 19,60 (si Tit) Jars-DVD (einris) €  14,95 €  14,95 Sfr 18,90 €  14,95 Jars-DVD (um Abo 1) €  6,70 €  6,70 Sfr 8,50 €  6,70 Jarsabo €  49,90 €  54,90 Sfr 99,90 €  59,90 Preise Digital Deutschland Österreich Schweiz Ausland EU  hft-pDF einausab €  9,80 €  9,80 Sfr 10,71 €  9,80 DiiSub (6 Ausabn) €  44,90 €  44,90 Sfr 49,05 €  44,90
DiiSub (um printabo) €  6,— €  6,— Sfr 6,— €  6,—
hTMl-Ariv (um Abo 1) €  48,— €  48,— Sfr 48,— €  48,—
Preise Kombiabos  profi-Abo 2  € 136,60 € 151,70 Sfr 259,90 € 165,70 1 nur räti in Vrbindun mit inm Jarsabo print odr Diita 2 mit linux-Maain-Abo und bidn Jars-DVDs
Schüler- und Studentenermäßigung: 20 pront n Vora ins Sürausiss odr inr aktun
Immatrikuationsbsiniun. Dr aktu Nais ist bi Vränrun nu u rbrinn. Andr Abo-
Formn, ermäßiunn im Ausand t. auf Anfra.
Adressänderungen bitt umnd mittin, da Nasndaufträ bi dr post nit für zitsriftn tn.
Pressemitteilungen   [email protected]
Anzeigen/Repräsentanz es it di Aninisist vom 01.01.2010 National  pta Jas
T.: 089/99 34 11 24, Fax: 089/99 34 11 99 e-Mai: [email protected]
Pressevertrieb   MzV, Modn zitsiftn Vtib gmbh Bsau Staß 5, 85386 ein T.: 089/31906-0, Fax: 089/31906-113
Druck  Vo Duk und Mdinsvi gmbh 97204 höb
D Biff Unix id in dis Sibis as n Binun fü di Unix-änin Btibssystm
vsidn hst, um Bisi eu ix (comfood), Utix (Diita equ imnt), hp/UX (htt-pakad) od Sinix
(Simns) bnutt, nit as di Binun fü das Tadmak von X/On. linux ist intans Maknin von
linus Tovads und id in unsm Maknnamn mit sin eaubnis vndt. A andn Makn sind eintum
d jiin Inab. ein haftun fü di ritikit von Vöffntiunn kann tot sofäti püfun du
di rdaktion vom Va nit übnommn dn. Mit d einsndun von Manu skitn ibt d Vfass sin
zustimmun um Abduk im Admin-Maain. Fü unvant insandt Manuskit kann kin haftun übnommn
dn. Di rdaktion bät si vo, Atik u kün. Das exkusiv- und Vfüunst fü annommn
Manuskit it bim Va. es daf kin Ti ds Inats on ausdüki sifti gnmiun ds Vas in
indin Fom vvifätit od vbitt dn. coyit © 1994–2012 linu x N Mdia Ag
Impressum ISSN 2190-1066
Abbildung 7: Hält Fio bis zu 64 Requests gleichzeitig in Bearbeitung, steigen Auslastung und Latenz.
 
12 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
Optionen oft nur wenige Prozent
und reduziert mitunter sogar die
Performance.
Storage ab. Bei einem intelligen-
ten und selbst puffernden SAN-
System empfiehlt es sich, die
Intelligenz im Linux zu reduzie-
ren. Der I/ O-Scheduler »noop«,
durchaus auch für SSDs sinnvoll,
erspart dem Kernel das möglicher-
weise gar nicht zu den Algorith-
men im SAN-System passende
Umsortieren von Requests (siehe
dazu das Verzeichnis »/sys/block/
SAN ist es mitunter sinnvoll, mit
»blockdev -setra« das Readahead
zum SAN hin »find /sys -name
"*queue_depth*"«) zu vergrö-
akkumulierten Wartenschlange
teme an SANs, RAIDs, SSDs und Festplat-
ten mit 4-KiB-Sektoren, die alle mit grö-
ßeren Datenblöcken als 512 Byte arbeiten,
auszurichten. Hier sind dann durchaus
auch mal Geschwindigkeits-Zuwächse im
zweistelligen Prozentbereich drin. Neu-
mit »-c« automatisch an 1-MiB-Grenzen
aus. Das ist ein guter Standardwert, da
es sich durch übliche Werte wie 4, 64,
128 und 512 KiB teilen lässt. So verwen-
det »mdadm« mittlerweile eine Chunk-
size von 512 KiB, frühere Versionen und
Hardware-RAIDs oft 64 KiB. Gängige
Dateisysteme wie Ext3 und 4 sowie XFS
unterstützten entsprechende Parameter
Dateisysteme gilt: Die Standardwerte
aktueller Mkfs-Versionen bringen häu-
Ausschalten der Atime-Aktualisierung
bei Performance-Messungen den beab-
sichtigten Workload zu berücksichtigen.
verstehen. Die hier beschriebenen Test-
Szenarien sind am Lesen und Schreiben
von Daten ausgerichtet. Auch wenn Fio
mit »nrfiles« mehrere Dateien für einen
 Job verwendet, eignen sich für Metada-
ten-intensive Workloads andere Bench-
bench« besser. (ofr) n
download.opensuse.org/repositories/
benchmark/]
der Thomas Krenn AG: [http://www.
thomas-krenn.com/de/wiki/I/O_Perfor-
mance_Vergleich_von_Festplatten_mit_
SSDs_und_Fusion-io_ioDrive]
[http://kb.fusionio.com/KB/a29/verifying-
O-Performance:
[http://www.thomas-krenn.com/de/wiki/
Linux: [http://lse.sourceforge.net/io/aio.
Specification, 2.6 Reliability:
[http://www.intel.com/content/
www/us/en/solid-state-drives/
ssd-320-specification.html]
[10] XFS FAQ, Q: I want to tune my XFS file-
systems for <something>: [http://xfs.org/
and noatime/relatime: [http://www.
tigkeit sind Linux-Schulungen, die Konzeption,
Installation und Wartung solider IT-Infrastruktur
auf Basis von Debian Linux von teamix(ix). Er
hält bei mehreren Schulungsanbietern eine
Schulung zum Thema Performance-Analyse
das Beantworten vieler Fragen und der Teamix
GmbH für das Bereitstellen des Test-Laptops.
Abbildung 8: Eine 2,5-Zoll-Festplatte via eSATA schafft deutlich weniger IOPS als eine SSD.
 
hochwertigen Servern, Software und
und zuverlässigsten Produkte inves-
Anwender verschiedener Branchen
halb suchte man intensiv nach der
besten Storage-Lösung.
den hohe Geschwindigkeit, große Zu-
verlässigkeit und niedrige Kosten bie-
ten musste. Am Ende entschied PSSC
Labs, für seine PowerServe DUO
T2000 Blade Server (Abbildung 1) die
Deneva 2 SSDs der Enterprise-Klasse
von OCZ (Abbildung 2) zu verwenden,
die alle nötigen Voraussetzungen er-
füllten.
Serv-Maschinen mit bis zu zwei Pro-
zessoren und 96 GByte Hauptspeicher
sind für Cloud-Umgebungen gedacht.
flexible Speicherlösung. „Wir haben
die Angebote verschiedener Hersteller
sehr bekannter als auch kleinerer Mar-
ken“, sagt Alex Lesser, Vicepresident
of Sales and Marketing bei PSSC Labs.
„Unsere Erfahrungen mit SSDs an sich
war dabei gleichzeitig lehrreich wie
auch frustrierend, denn wir verkaufen
nur Produkte mit einer sehr kleinen
Fehlerrate.“ Die Deneva 2 SSDs von
OCZ mit einer Geschwindigkeit von
6 GB/s und einer Kapazität von bis
zu 480 GByte erfüllten schließlich alle
Vorgaben.
von OCZ speziell für Kunden wie PSSC
Labs entwickelt, die den Speicher in
eigene Server integrieren. Sie unter-
teilt sich in eine C- und eine R-Serie,
mit jeweils weiteren Konfigurations-
MByte/s Durchsatz, schnelle Lese- und
Schreiboperationen und Kapazitäten
SSDs sind im 3,5-, 2,5- und 1,8-Zoll-
Format erhältlich, sodass sie in so gut
wie jeden Server passen. Die R-Serie
liefert etwas höhere
MByte/s und ist mit
haben. Die Deneva 2
haben darüber hinaus ein Data Fail
Recovery System, das einen komplet-
ten NAND-Block des Flash-Memorys
wiederherstellen kann. Im Interesse
der 128-Bit-AES-Verschlüsselung kom-
Monitoring, Analysis, and Reporting
Technology), sodass sich Probleme
Servern und Appliances zertifiziert.
keine größeren Probleme und OCZ hat
uns auf jeder Etappe des Weges be-
gleitet“. PSSC Labs war beeindruckt
von der hohen Zuverlässigkeit der
SSDs und davon, dass es nun mög-
lich ist, Endverbrauchernbei der Lö-
sung von Performanceproblemen zu
wären.
PSSC Labs die anstehenden Schwie-
rigkeiten gelöst und der Firma wie ih-
ren Kunden die Performance beschert,
die für qualitativ hochwertige Cloud-
Dienstleistungen nötig ist. PSSC Labs
kann nun SSDs mit höherer Kapazität
zu erschwinglichen Preisen anbieten,
Auch beim Ausbau seiner Cloud-An-
gebote will PSSC Labs künftig weiter
auf Produkte von OCZ setzen. ( jcb ) n
Abbildung 1: Für die PowerServer DUO T2000 Blade w ird die OCZ Enterprise-SSD-Serie Deneva 2
verwendet. Diese SSDs liefern hohe Zuverlässigkeit und Performance zu einem erschwinglichen Preis.
Abbildung 2: SSDs der Deneva-2-Serie von OCZ, entwickelt für die
Bedürfnisse von Herstellern hochwertiger Server.
Svst sun fxib, sn und uvässi Siösunn. Di SSDs d Dnva-2-Si üb-
utn di pSSc labs, di na Sikomonntn fü i coud-Sv sutn.
Schnelligkeit und Zuverlässigkeit überzeugten
SSDs für die Cloud
 
14 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
die Performance, steigert aber etwa die
Akkulaufzeit bei einem Laptop. Sowohl
der Microsoft MSAHCI-Treiber als auch
Linux ab Kernel 2.6.24 unterstützen
DIPM. Der MSAHCI-Treiber nutzt DIPM
standardmäßig nur im Power Saver Mo-
dus. Mit dem Windows Tool »powercfg«
lässt sich die Nutzung von DIPM auch
in anderen Modi aktivieren. Unter Linux
kann DIPM über das Sysfs aktiviert wer-
den (Listing 1). Als dritten Vorteil er-
möglicht AHCI, Laufwerke im Betrieb per
Hot-Plug zu tauschen.
Spare Area vergrößern
erwähnt, kann ein SSD Controller die
 
besteht) nicht verändern. Vor einem er-
neuten Beschreiben dieser Page müsste
der Controller den gesamten Block lö-
schen, in dem sich die Page befindet. Um
dies zu vermeiden, schreibt der Controller
in einem solchen Fall die geänderten
Daten einfach in eine andere, bisher
unbenutzte Page und aktualisiert seine
interne Zuordnungstabelle entsprechend
Daten gespeichert, gibt es noch ausrei-
chend freie Pages. Darüber hinaus hat
jede SSD eine Spare Area, deren Pages
der SSD Controller ebenfalls für diese
Zwecke nutzt. Bevor die freien Pages
ganz zur Neige gehen, räumt der SSD
Controller mit seinem Garbage Collec-
tor auf. Er kopiert dabei verstreute be-
legte Pages aus verschiedenen Blöcken
in noch freie Pages. Die dadurch freige-
schaufelten Blöcke kann er nun löschen.
Damit stehen ihm in der Summe wieder
mehr unbenutzte Pages zur Verfügung.
Diese Garbage Collection kostet jedoch
Zeit und damit Performance. Außerdem
erhöht sie durch das interne Kopieren
die Anzahl der Schreibvorgänge auf die
einzelnen Speicherzellen (die Write Am-
SSDs werden so  wie viele Festplatten
per SATA-Schnittstelle mit dem Rechner
verbunden. Sofern der Rechner halbwegs
aktuell ist, erkennt er die SSD beim Hoch-
fahren und kann sie sofort verwenden.
Wer die optimale Performance erreichen
will, für den lohnt es sich allerdings, vor
dem Einsatz ein paar Einstellungen zu
überprüfen.
optimalen I/O-Performance der SSD be-
steht darin, den Advanced Host Control-
ler Interface-Modus (AHCI) im BIOS zu
aktivieren. Er ermöglicht im Gegensatz
zum IDE-Modus Native Command Queu-
ing (NCQ). Damit bekommt die SSD im-
mer gleich mehrere I/O-Anfragen parallel
vom Betriebssystem und muss nicht nach
jeder einzelnen Abfrage auf die nächste
warten. Die Pipeline der SSD bleibt damit
voll, der SSD-Controller kann durchgän-
gig I/O-Anfragen abarbeiten, die
SSD-Performance optimieren
Geschwindigkeit ist keine Hexerei SSDs sind son von haus aus vifa sn as konvntion Fstattn. Fas Konfiuation kann di
Siund jdo bmsn. wi in, i s iti t. wn Fis
SSD-Tunin
    ©      T   e
    t   a   s    t   o   c   k  ,    F   o     t   o
   l   i   a
 
Secure Erase soll laut ATA-Spezifikation
das sichere Löschen aller gespeicherten
Daten eines Datenträgers garantieren.
unterstützen, führt dies zum physischen
Löschen aller Blöcke der SSD. Die SSD
ist dann wieder mit der ursprünglichen
optimalen Performance nutzbar, da alle
Pages direkt beschrieben werden können.
Bei einigen neueren SSDs ist das Secure
Erase allerdings anders implementiert.
niemals Schreibzugriffe. Die entspre-
SSD Controller kann diese Pages somit
wie Pages aus der Spare Area nutzen.
Untersuchungen von Intel zeigen, dass
bei einer solchen Einsparung von zehn
Prozent der Datenmenge die Random-I/
O-Performance auf das Zweieinhalbfache
mehr als verdoppelt (Abbildung 2).
Secure Erase
schriebenen Page nicht verändern, son-
dern muss zuvor den gesamten Block mit
mehreren Pages löschen. Für die Wieder-
verwendung einer zuvor bereits benutz-
ten SSD ist es daher sinnvoll, vor dem
Einsatz alle Blöcke der SSD zu löschen.
Bei den meisten SSDs klappt dies mit
plification steigt). Somit sinkt auch die
Lebensdauer dieser Speicherzellen. Ein
rufe der Garbage Collection: Werden bei
der erstmaligen Nutzung der SSD etwa
nur 90 Prozent des verfügbaren Datenbe-
Abbildung 1: Viele Pages (rot markiert) sind
ungültig, weil deren Daten verändert und woanders
abgespeichert wurden. Der SSD Controller aktualisiert
seine interne Zuordnungstabelle entsprechend.
01 root@ubuntu-10-10:~# hdparm -I /dev/sda | grep
Device-initiated
scsi_host/host0/link_power_management_policy
Device-initiated
management
 
16 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
gewährleistet eine optimale Performance
internen Page-Größen von beispielsweise
 Volumes führt eine fehlerhafte Ausrich-
tung von Partitionen zu einer verminder-
ten Performance [4].
(Cylinder/Head/Sector) zu bleiben. Die
beträgt 512 Byte. Bei normalen Festplat-
ten (mit einer physischen Sektorgröße
von 512 Byte) bringt das keine Nach-
teile. Neuere Festplatten mit einer phy-
sischen Sektorgröße von 4.096 Byte (4
KiB) emulieren zwar nach außen hin eine
Sektorgröße von 512 Byte, arbeiten in-
tern aber mit 4.096 Byte. Und auch SSDs
arbeiten mit einer Pagegröße von 4 KiB
beziehungsweise 8 KiB. Bei diesen neuen
Festplatten und SSDs ist eine solche Parti-
tionierung beginnend bei LBA-Adresse 63
daher sehr problematisch.
die 4-KiB-Dateisystem-Blöcke nicht direkt
in die 4 KiB oder 8 KiB großen Pages der
SSD (Abbildung 3). Beim Schreiben ei-
nes einzelnen 4-KiB-Dateisystem-Blockes
dert werden. Erschwerend kommt da-
bei hinzu, dass die jeweiligen 512-Byte-
Sektoren erhalten bleiben müssen – es
kommt damit zu einem Read/ Modify/
Write. Die Folge ist eine bis zu 25fach
schlechtere Schreibperformance bei klei-
IBM zeigen [5].
fiehlt sich ein Alignment auf 1 MiB – da-
mit ist man auf lange Sicht auf der siche-
ren Seite. Mit der aktuellen Adressierung
in 512 Byte großen logischen Sektoren
Diese SSDs verschlüsseln automatisch
cure Erase wird dann einfach der Schlüs-
sel sicher gelöscht – die Daten können
damit nicht mehr entschlüsselt werden,
sind aber noch physisch vorhanden. Bei
solchen SSDs werden somit nicht alle
Blöcke der SSD gelöscht. In diesem Fall
müssen die Blöcke per TRIM gelöscht
werden, um für die neue Verwendung der
SSD die optimale Performance zu bekom-
men. Windows 7 führt ein solches TRIM
bei der Formatierung automatisch durch.
Unter Linux bietet »hdparm« dazu zwar
die »--trim-sector-ranges«-Option, die
nach wie vor von ihrer Verwendung ab.
Partition Alignment
das Ausrichten von Partitionen an be-
stimmten Grenzen eines Datenträgers
Abbildung 3: DOS-kompatible Partitionen, die bei LBA Adresse 63 beginnen, führen zu erheblichen Performance-Nachteilen bei Datenzugriffen.
Abbildung 2: Eine etwas vergrößerte Spare Area hat positive Auswirkungen. Nutzt man nur 144GB einer 160GB X25-M SSD, steigen I/O Performance und Lebensdauer.
Abbildung 4: Eine korrekt ausgerichtete Partition bringt optimale Performance bei Lese- und Schreiboperationen.
 
Area die Performance und Haltbarkeit
der SSD steigern soll. Damit ATA TRIM
funktioniert, muss es von der SSD, vom
Betriebssystem und
Linux ab Kernel 2.6.33
mit Ext4 mit Discard-
schiedliche Aussagen.
4). Neuere Windows-Versionen (Win-
2008) führen bei Partitionen größer 4 GiB
ein solches Alignment auf 1 MiB durch.
Kleinere Partitionen richten diese Win-
dows-Versionen auf 64 KiB aus. Ältere
Versionen (Windows XP, Windows Ser-
ver 2003) benötigen ein manuelles Align-
ment. Aktuelle Linux-Distributionen
1 MiB bei der Installation. Beim späteren
Einrichten von Partitionen mit »fdisk«
sind dessen Optionen »c« (Deaktiveren
des DOS-Kompatibilitätsmodus) und »u«
Einheiten) nötig, um ein korrektes Align-
ment zu erhalten.
Startsektoren aller Partitionen. Sind diese
Sektoren durch 2048 teilbar, sind alle
Partitionen korrekt ausgerichtet (Listing
von Mike Snitzer ebenfalls ein Alignment
von 1 MiB [6].
Performance sowie der Lebensdauer ist
ATA TRIM. Mit dem TRIM-Kommando
teilt das Betriebssystem der SSD mit,
welche Datenbereiche (etwa die Da-
tenbereiche einer gelöschten Datei) es
nicht mehr benötigt. Der SSD-Controller
kann damit betroffene Blöcke löschen,
Listing 2: patition-Ainmnt mit »fdisk«
01 root@ubuntu-10-10:~# fdisk -l -u /dev/sda
02 
04 255 heads, 63 sectors/track, 19457 cylinders, total 312581808 sectors
05 Units = sectors of 1 * 512 = 512 bytes
06 Sector size (logical/physical): 512 bytes / 512 bytes
07 I/O size (minimum/optimal): 512 bytes / 512 bytes
08 Disk identifier: 0x9349dd6c
11 /dev/sda1 * 2048 2457599 1227776 7 HPFS/NTFS
12 Partition 1 does not end on cylinder boundary.
13 /dev/sda2 2457600 61051349 29296875 7 HPFS/NTFS
14 Partition 2 does not end on cylinder boundary.
15 /dev/sda3 61052928 80582655 9764864 83 Linux
16 Partition 3 does not end on cylinder boundary.
17 /dev/sda4 80582656 312580095 115998720 83 Linux
18 Partition 4 does not end on cylinder boundary.
Infos:
[http://cache-www.intel.com/cd/00/00/45/
95/459555_459555.pdf]
timal konfigurieren, ADMIN 02/2011, S. 80
[5]  Linux on 4KB-sector disks:
[http://www.ibm.com/developerworks/
linux/library/l-4kb-sector-disks]
die Bereiche Hardware-Monitoring, Virtualisie-
rung, I/O-Performance und Hochverfügbarkeit.
Ani
 
18 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
bildung 1). Es besitzt Schnittstellen für
USB 3.0 und eSATA bei einer Datenrate
von bis zu 6 Gbps über SATA-3. Wie
das Digittrade-Gerät verwendet es AES-
CBC-Verschlüsselung mit 256 Bit, die ein
Krypto-Prozessor übernimmt, der nach
zertifiziert ist [3]. Der zugehörige PIN-
Code für den Zugriffsschutz darf zwi-
schen acht und 20 Stellen lang sein.
Zum Backup lassen sich zwei Secure-
drives ohne weitere manuelle Eingriffe
über das vom Hersteller sogenannte Zero
Touch Backup synchronisieren. Auch bei
der Datenübertragung, die bis zu etwa
130 Mbps schnell ist, kommt wieder
AES-Verschlüsselung zum Einsatz. Das
Station.
Fähigkeit, sich selbst zu zerstören, wenn
es in die falschen Hände gerät. Hierbei
bietet das Gerät mehrere Möglichkeiten.
Der Selbstzerstörungsmechanismus kann
der Fehlversuche
beginnt die Selbstzerstörung. Da diese
Sensoren logischerweise Strom benöti-
ler auch diese Lücke geschlossen: Ist das
Gerät entsprechend konfiguriert, zerstört
Stromausfall selbst!
gnal zu tracken, um den eigenen Auf-
enthaltsort zu bestimmen. Verliert es
das Signal, weil ein Dieb es ins Auto
packt und damit davonrast, leitet es die
Selbstzerstörung ein. Alternativ lässt sich
die Selbstzerstörung auch aktiv per GSM
starten.
Selbstzerstörung
vier Schritten ab:
Falles die nachträgliche Wiederherstel-
lung des Originalschlüssels erschwe-
weißem Rauschen überschrieben.
dass die Speicherbausteine ausgebaut
sen werden können.
sisch zerstört.
Als sicher angepriesene Massenspeicher
ten USB-Sticks mit Verschlüsselung, die
ihre Daten nur nach dem Eintippen eines
geheimen Schlüssels wieder freigeben.
tographie versuchen, die gespeicherten
weise Digittrade eine SSD mit 128 GByte
Speicherkapazität an, die Daten per 256-
Bit AES-CBC-Standard verschlüsselt und
Authentifizierung durch Smartcard und
aber passiert, wenn ein solches Gerät in
die falschen Hände gerät?
wickler der Securedrives [2] gestellt, die
noch einen entscheidenden Schritt weiter
gehen: Sie statten ihre SSD-Speicher mit
Sensoren und einem Selbstzerstörungs-
Der Hersteller preist sein Produkt als der
Welt sicherstes Speichergerät an (Ab-
Das sicherste Speichergerät der Welt
SSD 007 ein xtn Datnsi, d si sbst stöt, nn Datndib
daauf uifn on? was na inm gimdinst-gadt aus dm
labo von Jams Bonds „Q“ kint, könnn au Nit-Antn auf dm
fin Makt bn. Oiv Fomm
Abbildung 1: Das angeblich sicherste Speichergerät der Welt.
    ©      k
    h     i ,     1    2     3     R     F
 
möglich machen soll.
sagt seinen Daten auch dann Lebewohl,
wenn die Batterie zur Neige geht. Ein
solches Maß an Sicherheit ist nicht in je-
dem Fall angebracht und hat auch seinen
Preis. (ofr) n
noch ein Mobilfunkvertrag, der für 18
Monate 83 Pfund kostet.
als die sicherste Speichertechnologie
Ausführung, die sich auch remote zerstö-
Abbildung 2: Im Ernstfall zerstört das Securedrive
seine NAND-Speicherbausteine und macht damit
 jede Wiederherstellung unmöglich.
Speicher-Chips.
ADMIN Netzwerk & Security Online-Archiv
Bestellen Sie unter: www.admin-magazin.de/archiv
* Angebot gültig nur für Abonnenten eines Print- oder vollen digitalen ADMIN Abos
Praxisrelevante Themen
nur
 
20 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
Solid State Drives (SSDs) sind aus mo-
dernen IT-Umgebungen nicht mehr weg-
zudenken. Für große Storage-Systeme,
formance glänzen sollen, kann eine Aus-
stattung rein mit SSDs aber schnell sehr
kostspielig werden. Abhilfe schaffen hier
SSD-Caching-Technologien, die eine Art
die Vorteile beider Welten. Die SSD fun-
giert als Cache für die Festplatten und
beschleunigt mit ihrer größeren Perfor-
mance Lese- und Schreibzugriffe. Die-
ser Geschwindigkeitsvorteil kommt vor
typischerweise genutzten Datenmengen
überschreiten, die Größe der SSD jedoch
nicht. Im Regelfall wird ungenutzter Ar-
beitsspeicher als Page Cache für die Buf-
ferung von Dateien verwendet. Das Linux
Kommando »free -m« zeigt in der Spalte
»cached«, wie viele MByte gerade als
Cache dienen. Nicht immer aber reicht
der Page Cache für ein Datenset aus, und
in manchen Fällen übersteigt es sogar
die maximal mögliche Größe des RAM
eines Hosts.
set, müssen normalerweise Teile davon
auf der Festplatte bleiben. Der Perfor-
mance-Unterschied zwischen RAM und
auf die SSD, werden Lese- und Schreib-
operationen komplett auf SSD-Ebene ab-
gearbeitet. Nur zur Synchronisation der
Daten muss auf die HDD zurückgegriffen
werden.
Facebook-erprobt
eines SSD-Caches. Es wird aktuell von
Facebook entwickelt und aktiv in deren
Serverumgebungen eingesetzt [1]. Bevor
es wichtige Fragen zu klären:
n  Welches Zugriffsmuster zeigen die ver-
wendeten Applikationen? Greifen sie
besteht ein ausgewogenes Verhältnis
zwischen Lesen und Schreiben?
Applikationen benötigen? Reicht der
vorhandene Arbeitsspeicher aus, um
oder sind sie häufig größer? Würde
sich das vorhandene Datenset für ei-
nen SSD-Cache eignen?
Performance-Einbußen aufgrund des
Caching und somit auch Flashcache kein
Allheilmittel für eine Performance-Stei-
dessen Verhalten genau kennt, kann mit
einem SSD-Cache Erfolge erzielen.
seine Einfachheit und die Verfügbarkeit
als Open-Source-Software als Kandidat
hub-Webseite heruntergeladen und unter
Linux in ein Kernel-Modul übersetzt wer-
Fstattn sind ut ünsti, ab imm no nit bsonds sn,
SSDs dan sn ab tu. D Könis it dit dain,
bids u kombinin und SSDs as sn cas fü Fstattn u
vndn. go Sönb
SSDs als Cache für Festplattenspeicher
Hochgeschwindigkeit    ©      P
 ,     1    2     3     R     F
 
schrieben, bei einem Node-
Crash hingegen bleiben nur
die Dirty-Blöcke im Cache
lust des Caches. Nichtsdesto-
ein sauberes Entfernen des
Caches sinnvoll sein, zum
Beispiel, wenn das Flash-
Cache-Volumes mit: »flashcache_create«,
»flashcache_load« und »flashcache_
Mapper (DM) ist der Grund dafür, dass
Cache-Volumes auch via »dmsetup« ver-
waltet werden könnten. Die Flashcache-
Tools erleichtern aber wesentlich den
Umgang, und nur selten wird der Weg
direkt über den DM nötig sein.
Beim Anlegen eines Caching Volumes mit
»flashcache_create« sind vor allem der
Caching-Modus (»-p«), die Cache-Größe,
die Pfade zur SSD und HDD wichtig.
Wird die Cache-Size (»-s«) nicht angege-
ben, verwendet Flashcache die gesamte
SSD als Cache-Device für das Volume.
Ohne Angabe einer Block-Größe (»-b«)
kommt die Standardgröße von 4 KByte
zum Einsatz. Listing 1 erstellt ein Write-
Back-Cache namens »fc-root« mit »/dev/
sdd« als SSD und »/dev/sdc« als HDD .
Nach dem Aufruf von »flashcache_create«
erscheint das Volume unter dem Pfad »/
dev/mapper/fc-root«. Daraufhin kann
Volume eingehängen.
der langsameren HDD abgeschlossen
erst bei darauffolgenden Lesezugriffen
SSD bereitgestellt werden können.
reiner Lese-Cache verwendet. Der Cache
füllt sich erst nach und nach durch die
Lesezugriffe.
Cache-Persistenz
dus der Cache-Inhalt über einen Reboot
hinweg erhalten (persistenter Cache).
der SSD verwaltet. Für die anderen bei-
den Modi betreibt es diesen Aufwand zur
Zeit noch nicht. Dieses Fehlen der Meta-
daten hat nicht nur Nachteile: Für Dirty
Pages müssen bei einem Write und Clean
immer auch die Metadaten geschrieben
werden. Um nicht jedes Mal für jeden
Block die Metadaten aktualisieren zu
müssen, gibt es ein Batching für mehrere
verschiedene Metadaten-Blöcke und für
sequenzielle Updates desselben Blocks.
alle Dirty Pages von der SSD auf die HDD
synchronisiert – das lässt sich manuell
auch über »dmsetup remove« erreichen
(siehe unten). Dagegen entfernt »sysctl
(fast_remove)« den Cache ohne Synchro-
nisation. Diese Option birgt immer ein
gewisses Risiko, da sich Daten im Cache
befinden, die noch nicht auf der Fest-
platte gelandet sind.
ner Komponente im Linux-I/
O-Stack die unter anderem
der Logical Volume Manager
lität dieser Architektur zeigt
spiel in der Tatsache, dass ein
redundanter Cache aus meh-
reren SSDs erzeugt werden
kann oder einzelne Partitionen
der SSD für unterschiedliche
HDDs zum Einsatz kommen
Flashcache drei Varianten: Write-Back,
Back-Modus bietet als einziger Modus
die Möglichkeit zur Beschleunigung von
Schreibzugriffen („Writes“). Diese Writes
Hintergrund mit der HDD – dieser Vor-
gang wird auch als „Lazy Dirty Cleaning“
bezeichnet. Diese „Dirty Pages“ sind jene
Blöcke, die sich im Cache auf der SSD
befinden, aber noch nicht auf die HDD
geschrieben wurden.
Wichtigkeit eines redundanten Caches
Fällt eine SSD aufgrund eines Hardware-
Fehlers aus, gehen die Dirty Pages un-
wiederbringlich verloren und können im
schlimmsten Fall ein ganzes Dateisystem
lahmlegen. Eine redundante Auslegung
der Write-Back-Modus weiter, einen
nicht. Im Fehlerfall ist daher aus Gründen
der Datensicherheit ein rascher Tausch
der defekten SSD nötig.
dus eingesetzt, schreibt das Modul syn-
chron auf die SSD und die HDD. Der
Geschwindigkeits-Vorteil der SSD kommt
in diesem Fall also beim Schreiben nicht
zur Geltung, da die Zugriffe erst dann
Listing 1: estn und Mountn 01 :~$ flashcache_create -v -p back fc-root /dev/sdd /
dev/sdc
Abbildung 1: Die drei Cache-Arten, die Flashcache unterstützt.
 
22 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
enthält, sei auf die Lazy Initialization von
Ext4 verwiesen. Der Kernel-Prozess »ext-
4lazyinit« initialisiert zu Beginn die Inode
Tables des Filesystems. Ist dies nicht ge-
wünscht, müssen »mkfs.ext4« mit der
Option »-E« die Parameter »lazy_itable_
init=0,lazy_journal_init=0« übergeben
für Write-Back-Volumes verwendet wer-
ante ist. Für Write-Through und Write-
Around muss man nach jedem Remove
wieder einen neuen Cache erstellen.
Zerstörung
ten. Ein Entfernen eines Cache-Volumes
erfolgt direkt über den DM-Befehl »dm-
setup remove«. Der Remove-Aufruf kehrt
für ein Write-Back-Volume erst dann zu-
rück, wenn alle Dirty Pages auf die HDD
geschrieben sind. Dieses Blockieren ga-
rantiert ein sauberes Aushängen des Vo-
lumes, das via Load-Befehl später wieder
geladen werden kann (Abbildung 2).
Für die Überwachung der Cache-Funk-
tion stellt Flashcache mehrere Statistiken
bereit, die sich mit »dmsetup status« und
»dmsetup table« anzeigen lassen. Der
Status-Befehl zeigt vor allem die Lese-
und Schreibstatistiken. Wichtig hierbei
hit percent«) oder Lese- und Schreibope-
rationen auf SSD und HDD (»disk/ssd
reads« und »writes«).
einige Konfigurations-Informationen des
auch das Größen-Histogramm der ab-
gesetzten I/O-Operationen (Size Hist).
griffe, die gleich oder ein Vielfaches der
Blockgröße des Caches sind (Standard-
größe 4 KByte). Eine steigende Anzahl an
512-Byte-I/Os signalisiert, dass Zugriffe
Vorsicht ist somit auch bei Flashcache-
Performance-Tests mit dem beliebten
mäßig mit 512 Byte als Block-Größe ar-
beitet.
Tuning
nen sich nicht nur zum Anpassen eines
Flashcache-Volumes an die eigenen Be-
dürfnisse, sondern geben auch nützliche
Informationen über die interne Funkti-
onsweise. Der folgende Abschnitt zeigt
einige Repräsentanten der Optionen:
Caching ein- und auszuschalten. Auf
Black- und Whitelisting von Prozess-IDs
hat diese Option großen Einfluss (siehe
unten). Auch wenn kurzzeitig Test- oder
temporäre Daten nicht im Cache landen
dürfen, ist es sinnvoll, den Cache zu de-
aktivieren, um die SSD nicht mit nicht
benötigten Daten zu füllen.
Basierend auf der Storage-Architektur
denen sich ein SSD-Cache negativ auf
die Performance auswirkt. Wird die SSD
als Cache für ein RAID-Array genutzt,
dessen Durchsatz für sequenzielle Zu-
griffe größer ist als jener der SSD, macht
sich der Cache negativ bemerkbar. Das
betrifft Schreib- und Leseoperationen
Einfluss der SSD-Schreibgeschwindigkeit
Blick: Werden Daten gelesen, die sich
nicht im SSD-Cache befinden, ist die
Lese-Operation erst dann abgeschlossen,
gelesen, in den SSD-Cache geschrieben
und schließlich an die Applikation wei-
tergegeben wurde [5].
mance-Verbesserung. Für sequenzielle
SSD-Defizite etwas ausgleichen lassen.
1024 zu (standardmäßig 0), landen alle
sequenziellen I/Os über 1024 Kilobyte
nicht mehr im Cache. Die niedrigere Per-
formance der SSD für sequenzielle Zu-
griffe wird dadurch eliminiert.
den Write-Back-Modus von Bedeutung.
im Hintergrund von der SSD auf die HDD
synchronisiert. Die Auswahl der Blöcke
erfolgt entweder aufgrund eines Timeouts
(»fallow_delay«) oder beim Überschreiten
wenn ein Dirty Block im Cache für län-
gere Zeit weder gelesen noch geschrieben
wurde. Nach Überschreitung dieser Zeit
im Idle-Zustand werden die Block-Daten
auf die HDD geschrieben, und der Block
verliert somit seinen Dirty-Zustand („Idle
Cleaning“).
Prozentanteil an Dirty-Blöcken eines
Listing 2: Status-Übbik üb das Voum 01 :~$ dmsetup table fc-root
02 fc-root: 0 3907029168 flashcache conf:
03  ssd dev (/dev/sdd), disk dev (/dev/sdc) cache
mode(WRITE_BACK)
05  skip sequential thresh(0K)
06  total blocks(8355328), cached
08  nr_queued(0)
09 Size Hist: 1024:1 4096:9765813 Abbildung 2: Schematischer Ablauf der Verwaltung eines Cache-Volumes.
 
setup nachweislich die Testergebnisse:
Volume beginnt Flashcache mit dem Dirty
Cleaning. Diese I/O-Operationen des
Hintergrund-Prozesses wirken sich auf
reale Gschwindigkeits-Messung zu erhal-
führt werden, wenn die Synchronisation
abgeschlossen ist, ansonsten muss das
Dirty Cleaning zumindest als Faktor bei
den Ergebnissen bedacht werden. De-
tails zum verwendeten Testsetup sind im
gleichnamigen Kasten zu finden.
ellem Lesen/Schreiben (1 MByte Block-
größe) und zufälligem Lesen/Schreiben
auch Abbildung 3 und 4). Alle Tests
beinhalten die Verwendung des Page
Cache, daraus Profit schlagen aber nur
die Schreib-Tests, da Fio beim Lesen den
Page Cache vor dem Test invalidiert.
Fast wie SSD
nen sich das Daten-Set komplett auf der
SSD befindet, kommt Flashcache auch an
die Performance einer reinen SSD heran.
Die grünen Punkte in den Abbildungen
markieren jeweils die Geschwindig-
ohne Flashcache. Ab 32 GByte Set-Größe
fügen. Von nun an werden alle I/Os des
Daemons gecacht, andere Applikationen
nutzen den Cache nicht.
den Page Cache benutzen. Ansonsten
werden Writes auch von den Kernel-
Flush-Threads durchgeführt, die sich
Blacklists sind unter anderem für Backup-
Prozesse interessant, die von Zeit zu Zeit
das Filesystem nach Änderungen durch-
forsten. Diese Read-Operationen sind un-
geeignet für den SSD-Cache. Der Prozess
ist ein Kandidat für die Blacklist und wird
als »non-cacheable« gekennzeichnet.
definierten Ausgangszustand ist holprig.
Auswahl eines geeigneten Benchmark-
meistert sie glänzend, er wurde bereits
im ADMIN 05/2011 vorgestellt [6].
Die Fio-Testdateien auszuwählen, ge-
Echtbetrieb wird es selten der Fall sein,
dass Daten, die gerade geschrieben wor-
den sind, sofort wieder gelesen werden.
Genau dieses Verhalten simulieren aber
die meisten Performance-Tests. Im Falle
Cache-Sets. Flashcache beginnt vermehrt
Blöcken den Prozentwert überschreitet.
der Reclaim Policy. Sie bestimmt die Blö-
cke, die Flashcache auswählt, wenn bei
einem Write keine Blöcke mehr frei sind
und wenn eine Clean-Operation ansteht.
Zur Auswahl stehen „First in First out“
(FIFO, per Default – der als Erstes he-
reinkam, fällt zuerst raus) und „Least
recently used“ (LRU, der am längsten
nicht verwendete).
zur Laufzeit eine der beiden Varianten
ausgewählt werden. Wurde eine Auswahl
an Blöcken getroffen, gibt es obendrein
Möglichkeiten zur Steuerung der Anzahl
an Clean Writes: »fallow_clean_speed«,
beim Synchronisieren abgesetzt werden.
legen, welche Applikationen sich Flash-
cache zunutze machen. Das Caching
einer Datenbank kann zum Beispiel
wie folgt erreicht werden: mit dem Sys-
ctl »cache_all« den Cache global deak-
tivieren. Den Thread Group Identifier
des Datenbank-Daemons (zum Beispiel
»mysqld«) zur Flashcache-Whitelist hin-
Nachrichten rund um die
 Themen Linux und Open
Source lesen Sie täglich
im Newsletter des Linux-
 
www.linux-magazin.de/newsletter
kompakt
informativ
tagesaktuell
 
24 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
passen nicht mehr alle Test-Daten auf
die SSD. Aufgrund von Filesystem- und
Flashcache-Metadaten müssen einige
sinkt auf etwa 150 MByte pro Sekunde
– immerhin noch 40 MByte über der
durchschnittlichen Geschwindigkeit der
teile des Page Cache, selbst bei 64 GByte
Random Write werden noch 1470 IOPS
erreicht. Randomread fällt bereits bei 32
GByte auf circa 1000 IOPS zurück, bei 64
GByte zeigt sich eine drastische Reduzie-
rung auf 182 IOPS. Für diese Einbrüche
gibt es mehrere Gründe. In erster Linie
übersteigt ab 32 GByte die Daten-Set-
Größe die Größe der SSD, die Größe des
RAMs spielt beim Lesen keine Rolle, da
der Page Cache nicht eingreift. Des Weite-
ren wurden die Fio-Tests ohne die Option
»norandommap« aufgerufen, das heißt
noch ein zweites Mal gelesen. Zu Be-
ginn des Tests liegen bei einem 64 GByte
Daten-Set circa die Hälfte auf der SSD.
Fordert Fio einen zufälligen Block an, der
auf der HDD liegt, wird dieser gelesen,
und Flashcache cacht den Block auf der
SSD. Dadurch ersetzt Flashcache einen
Block auf der SSD, den Fio zum späteren
Zeitpunkt vom Cache lesen hätte können.
Den neuen, soeben gelesenen Block im
Cache wird Fio nicht mehr benötigen, da
er bereits einmal gelesen wurde.
Einen Versuch wert
Einstieg in die SSD-Caching-Welt. Es ist
einfach zu verwenden, und die Konfigu-
rations-Möglichkeiten sind vielfältig. Der
verleiht Flashcache die nötige Flexibilität,
um auch redundante Cache-Architektu-
Policies und das Überspringen von se-
quenziellen Zugriffen kompensiert. Ob
gorithmen gängiger Hardware-Controller
In puncto Performance bringt Flashcache
bei einer Daten-Set-Größe kleiner als die
SSD-Größe kaum Overhead mit sich.
Sonst hängen die Ergebnisse stark vom
Zugriffsmuster der Anwendung ab.
erspart bleiben, die I/O-Charakteristik
seiner Applikationen näher kennenzu-
Caching ohne detaillierte Analyse des
eigenen Systems nicht einsetzen lässt.
Größeren Nutzen wird aber derjenige aus
Flashcache ziehen, der den Cache auf
seine eigene Applikationen und Bedürf-
nisse abstimmt. (ofr) n
[http://www.thomas-krenn.com/en/oss/
github.com/facebook/flashcache/blob/
master/doc/flashcache-sa-guide.txt]
kernelnewbies.org/Linux_2_6_37#head-5b9d
groups.google.com/forum/#!topic/
flashcache-dev/I0su4NKPQ-o]
Fio, ADMIN 05/2011:
[http://www.thomas-krenn.com/de/wiki/
SSD_Over-Provisioning_mit_hdparm]
alist bei der Thomas-Krenn.AG und ist Autor beim
Thomas-Krenn-Wiki. Seine Arbeitsschwerpunkte
Abbildung 3: Sequenzieller Lese-/Schreib-Test mit Flashcache. Abbildung 4: Zufälliger (Random) Lese-/Schreib-Test mit Flashcache.
Tststu
ponenten zusammen:
sowie 12 GByte RAM
protected-Area (HPA), reduziert auf 32
GByte. Die Reduzierung wurde vor allem
für die Verkürzung der Performance-Tests
vorgenommen. Normalerweise erfolgt die
Prozent [7]
Festplatte
n  Ubuntu 12.04 mit den neuesten Updates
 
miniaturisierte Mechanik proportional
aus dem nur 20 Nanometer über der
Plattenoberfläche gleitenden Lesekopf
geschwindigkeit in Augenhöhe über die
Erde rast. Zugleich ist dieses Operieren an
den Grenzen der Physik auch die Achil-
lesferse der Festplattentechnik, denn hier
begrenzen naturgesetzliche Schranken
sche Teile aus. Aus dem Stand sind sie
leicht um ein Vielfaches schneller als eine
Festplatte. Dazu verbrauchen sie weniger
Strom, sind mechanisch unempfindlich,
viel leichter als Platten. Das alles folgt
aus ihrem Funktionsprinzip: SSDs be-
stehen aus vielen elektronischen Spei-
cherzellen, bei denen zwischen einer
Quelle als Minuspol und einem Ausgang
ein Strom fließen kann (Abbildung 1),
den ein Steuerelement unterbricht oder
freigibt. Im ersteren Fall speichert die
Zelle den Zustand „1“. Bis hierhin funk-
tioniert sie wie ein normaler Transistor
und bräuchte wie dieser auch eine per-
manent anliegende Spannung.
hier aber ein neues, isoliertes Element
hinzu, das so genannte Floating Gate.
Im Zustand „1“ es nicht geladen, das
Steuerelement ist negativ gepolt. Liegt
dagegen am Steuerelement eine positive
Spannung an, dann tunneln Elektronen
durch die umgebende Isolierschicht auf
das Floating Gate. Das unterbricht den
Stromfluss zwischen Quelle und Aus-
gang. Das Element speichert den Zustand
„0“. Einmal auf das Gate gelangt, sind die
Elektronen durch die Isolation dort gefan-
gen, wodurch die Zelle ihren Speicher-
zustand halten kann. Erst eine relative
hohe negative Steuerspannung leert das
Gate wieder und versetzt die Zelle in den
entgegengesetzten Zustand.
Inhärente Probleme
aber auch eine Reihe von Problemen. Da-
mit der Speicherzustand lange gehalten
werden kann, bedarf es einer starken Iso-
lation und um die wiederum beim Sch-
reiben zu überwinden einer hohen Span-
nung. Eine hohe Spannung aufzubauen
kostet aber Zeit. Deshalb sind Flash-Spei-
cher in der Klasse der Halbleiterspeicher
trotz allem eher lahme Gesellen, um Grö-
ßenordnungen langsamer als RAM oder
CPU. Außerdem geht bei jedem Schreib-
vorgang ein winziger Bruchteil der Iso-
lation verloren, sodass sich das Element
Obo sn Fas-Si di Fstattn son i und da aus Svn i latos vdänn – nit
u dn von Nisn, in dnn pattn onin kin Konkuntn sind, ta bi Smatons od Tabts –
abn si do au andfst Nati. Dsab id an Atnativn mit hoduk fost. eini stn
bits in dn Statön. Jns-cisto Bnd
Zukünftige Alternativen zu SSD und Co.
Wie wir morgen speichern
 ,     1    2     3     R     F
 
26 AD MIN -SSD -S pecI Al ww w.A D MIN - MAg Az IN . D e
Nach dem heutigen Stand der Technik
sind mit einer solchen so genannten Fe-
RAM-Zelle bis zu 100 Milliarden Schreib-
operationen möglich, ehe sich auch diese
Speicherzelle erschöpfen würde – der
nahe der Unendlichkeit. Bis zu 10 Jahre
sollen die Informationen stromlos gespei-
chert bleiben. Es sind nur halb so hohe
Spannungen nötig wie bei Flash, deshalb
geht ein Schreibzyklus in nur 150 Na-
nosekunden über die Bühne (Flash: 10
Mikrosekunden).
heute die im Vergleich zu Flash geringere
Speicherdichte und die höheren Herstel-
lungskosten. An der Entwicklung arbei-
ten gegenwärtig unter anderem Samsung,
Toshiba, Infineon, Symetrix oder die Uni-
versitäten von Cambridge oder Toronto
und das Interuniversity Microelectronics
komplett anderen Prinzip setzt MRAM.
Hier werden zwei Elemente miteinan-
der kombiniert: ein winziger Permanent-
magnet mit festem Nord- und Südpol
und ein Elektromagnet, dessen Polariät
sich umschalten lässt. Durch
nen Messstrom (Abbildung
gegensätzlich polarisiert, ist
larisiert, ist der Widerstand
wird. Das Prinzip ist mit dem
Magnetkernspeicher aus der
Anfangszeit der Großrech-
25 DVDs auf der Fläche einer
Briefmarke unterbringen.
den sie bislang aber nur in
Spezialbereichen wie der
sen. In der Folge überstehen die Zellen
außerdem mehrere Tausend Mal so viele
Schreibzyklen. Eine entsprechende Tech-
licon Oxide Nitride Oxide Silicon) bereits
in den 1970er Jahren entwickelt und auch
als Chip hergestellt. Zu den Anbietern ge-
hören Philips, Toshiba, Spansion oder In-
fineon. Bis heute ist die Fertigung jedoch
teuer, sodass sich Abnehmer vor allem
bei Militär und Raumfahrt finden, wo es
auf Unempfindlichkeit gegenüber radio-
aktiver Strahlung ankommt. Insgesamt
diese Technik einmal die SSD-Nachfolge
erobern kann.
die ferromagnetischen Eigenschaften
eines elektrischen Feldes eine bestimmte
Polarität annehmen, die auch nach Ab-
schalten des Stroms erhalten bleibt. So
soll die Geschwindigkeit von DRAM und
SRAM mit dem nicht flüchtigen Flash-
Speicher kombinierbar sein.
bei Endverbraucher-SSDs nach vielleicht
müssen die Schreibvorgänge möglichst
wiederum aufwändige, teure und auch
nicht besonders schnelle Controller nötig
macht.
nur noch auf Kosten der Zuverlässigkeit,
der Lebensdauer oder der Performance
erreicht werden. Heute markieren SSDs
den Stand der Technik, die in 25 nm-
Zellen je 3 Bits speichern (Triple Level
Cells, TLC). Im Unterschied zum digita-
len DRAM kann bei der Floating-Gate-
Technologie eine Zelle nämlich mehr als
ein Bit speichern. Das gelingt, indem
sie anhand der Menge der auf das Gate
aufgebrachten Ladungsträger mehr als
zwei Zustände unterscheidet. Techniken
sich ab. Selbst unter der optimistischen
Annahme, die Strukturbreiten auf dem
Chip würden sich auf 6,5 nm verkleinern
lassen, wären nur SSDs mit höchstens 4,6
Terabyte möglich. Erst TLC erlaubt 14
Terabyte. Doch je mehr Bits
pro Zelle gespeichert werden
sollen, desto langsamer und
manceeinbußen und höhere
nativen, nicht-flüchtigen Spei-
der Flash-Speichertechnik,
Seine Molekularstruktur hält
+
-
Abbildung 1: Das Arbeitsprinzip von Flash: Ein Steuerelement regelt den Zu- oder
Abfluss von Ladungsträgern auf das Floating Gate und damit den Stromfluss
zwischen Quelle und Ziel. Das Floating Gate verbleibt auch stromlos im einmal
eingenommenen Zustand, weil die umgebende Isolation seine Ladung festhält.
 
lung wird von großen Konzernen wie
Toshiba, IBM oder NEC vorangetrieben.
MRAMs sind schnell (theoretisch bis zu
1000mal schneller als Flash), preisgünstig
und leistungsarm, erreichen momentan
Packungsdichte und Performance. Ein
seitige Beeinflussung der Magnetpartikel
netische Klingeln. Eine Entwicklung der
Physikalisch-Technischen Bundesanstalt
Gegenmittel vorgestellt.
markt. So hat Everspin Inc. nach eigenen
Angaben 2011 bereits 3 Millionen MRAMs
ausgeliefert und will es in diesem Jahr auf
5 Millionen bringen und damit DRAMs
Konkurrenz machen.
winzige mechanische Schalter, nämlich
lenstoff. Durch das Anlegen einer Span-
nung lassen sie sich verbiegen – dann ist
ihr Widerstand höher – oder wieder ge-
rade ausrichten. Den gebogenen Zustand
kann das Röhrchen dank molekularer
Anziehungskräfte (Van-der-Waals-Kraft)
3). Momentan existieren jedoch nur Pro-
totypen solcher Chips.
Entwickelt wurde die Technik von dem
deutschen Physik-Nobelpreisträger Gerd
auf der mit von ihm erfundenen Raster-
kraftmikroskoptechnologie. Winzige Si-
Erhitzen der Lochrändern kann man die
Mini-Krater auch wieder füllen, um ein
Bit zu löschen. Das alles spielt sich im
Nanometerbereich ab. Weil die Vertie-
fungen viel weniger Platz wegnehmen als
eine elektronische Schaltung, ist damit
eine sehr hohe Speicherdichte realisier-
bar.
segeschwindigkeit erreicht werden kann,
mehreren Tausend Nadeln, die gleichzei-
tig Lesen und Schreiben können. Unter
einem starren Block mit solchen Schreib-/
Lesespitzen wird das Medium mit einer
Genauigkeit von ein bis zwei Nanome-
tern bewegt. Eine Serienproduktion sol-
cher Speicher gibt es bislang nicht.
Widerstandsgedächtnis
steht darin, dass ein Dielektrikum zwi-
schen zwei Elektroden durch Anlegen
einer Spannung so beeinflusst werden
kann, dass es seine Leitfähigkeit ändert.
Durch die Isolierschicht bilden sich leitfä-
hige Kanäle, die danach auch ohne Span-
nung erhalten bleiben. Der Memristor
merkt sich auf diese Weise quasi den
Widerstandswert. Eine umgekehrte Span-
Erste Bauelemente sollen ab 2013 auf den
Markt kommen, unter anderem von HP.
Größere Stückzahlen sind vielleicht ab
2014 zu erwarten. Auch Hybrid-Speicher
aus SSD und ReRAM existieren bereits als
Prototyp, sie sollen die Leseleistung um
das elffache steigern können und sieben
Mal so lange leben wie reine SSDs. Aber
ReRAM wird nicht nur als Flash-Nach-
folger, sondern auch als DRAM-Ersatz
gehandelt. Sollte sich das durchsetzen,
entfiele der Zeitbedarf beim Booten und
man könnte augenblicklich an den letz-
ten Arbeitsstand anknüpfen. Denselben
durch MRAM (siehe oben).
lien funktioniert CBRAM (Conductive
schicht zwei Metallelektroden, von de-
nen die eine vorwiegend elektrochemisch
inaktiv ist (etwa Wolfram), die andere ak-
tiv (etwa Kupfer oder Silber). Eine Span-
nung bewirkt auch hier die Ausbildung
von Röhren im Nanometerbereich durch
die Isolierschicht, die den Widerstand
senken.
Fazit
die mit derselben Verbreitung wie Flash
und zu niedrigen Kosten auf dem Mas-
senmarkt verfügbar wäre, aber es ist
klar, dass heutige SSDs ihrem Karriere-
ende nähern. Deshalb wird aller Orten
an Alternativen geforscht. Mehrere viel
versprechende Entwicklungen sind schon
welche Technologie sich zuerst durch-
setzt. n
Elektrode
Nanoröhrchen
Abbildung 3: Eine Spannung verbiegt die Nanoröhre und erhöht ihren Strom-
Widerstand. Dank molekularer Anziehungskräfte bleibt das winzige Röhrchen
gebogen, bis eine entgegengesetzte Spannung es wieder gerade ausrichtet.
Abbildung 2: Je nachdem, ob die benachbarten Magnete gleich oder entgegenge-
setzt ausgerichtet sind, fließt ein geringer oder stärkerer Messstrom.