PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Partitions-Alignment auf SSDs


Gast
2010-05-27, 11:03:41
Es geistern im Netz etliche Postings und Tutorials herum, daß man eine Partition auf SSDs immer entsprechend der Erase-Block-Größe (meist 512KB) ausrichten soll. Das habe ich auch getan, allerdings hat es bei mir Performance-mäßig nichts gebracht. Das Benchmark-Ergebnis ist sogar 5% schlechter als vorher, was wahrscheinlich im Rahmen der Messungenauigkeit liegt.

OS: Xubuntu 9.10
SSD: Supertalent Ultradrive 32 GB
FS: ext4

Meine erste Überlegung war, daß man eine Partition gar nicht an den Erase-Block-Grenzen ausrichten muß, sondern sie nur bei einem Vielfachen ihrer eigenen Block-Größe beginnen muß. Denn das reicht aus, daß keine Zuordnungseinheiten über Erase-Block-Grenzen gehen (wenn man davon ausgeht, das die Erase-Block-Größe ein Vielfaches der Größe der Zuordnungseinheiten ist).

Allerdings war die Partition in meinem 1.Test nicht mal an 4K-Grenzen ausgerichtet und trotzdem genauso schnell. Also habe ich weiter überlegt. Wie wirkt sich fehlendes Alignment überhaupt aus?
- beim Lesen hat das Erase-Block-Layout sowieso keinen Einfluß
- beim sequenziellen Schreiben wird das fehlende Alignment durch den Cache abgefangen
- beim zufälligen Schreiben wirkt es sich nur bei sehr wenigen Zuordnungseinheiten aus, die über Erase-Block-Grenzen gehen, also 1% bei 4K/512K

Also ist mein vorläufiges Fazit: Alignment bringt bei alten SSDs etwas, die keinen Cache haben. Bei SSDs mit ordentlichem Cache bringt Alignment nur bei zufälligen Schreibzugriffen einen kleinen Vorteil, der umso größer wird, je kleiner die Erase-Blocks und je größer die Zuordnungseinheiten sind. Normalerweise ist es also Zeitverschwendung, existierende Partitionen nur wegen dem Alignment zu verschieben.

Was sind eure Erfahrungen und Meinungen?

Morpog
2010-05-27, 11:08:33
Es kommt auch ganz auf den SSD Controller an wie gut/schlecht ein falsches Alignment auf die Perforance sich niederschlägt.

Der Hauptgrund bei modernen SSDs ist aber keineswegs die Performance, sondern eher dass dabei weniger geschrieben werden muss. Sprich, dass sich die Abnutzung der Zellen bei richtigem Alignment minimiert.

Brotzeit
2010-05-27, 12:22:04
Der Hauptgrund bei modernen SSDs ist aber keineswegs die Performance, sondern eher dass dabei weniger geschrieben werden muss. Sprich, dass sich die Abnutzung der Zellen bei richtigem Alignment minimiert.

Richtig. Alignment für Performancezwecke brachte vielleicht ein bisschen was bei den alten JMicron MLCs. Heutzutage ist das aus Performancesicht aber in etwa so interessant, wie DDR2-800 gegen DDR2-1066.

Ich habe mehrere SSDs mittlerweile und keine davon Alignet. Wenn Sie 1 Jahr früher kaputt gehen, wayne. Bis dahin sind die Dinger eh ersetzt.

Matti
2010-05-27, 22:40:42
AFAIK ist Alignment an den Erase-Block-Grenzen überflüssig. Aber eine Ausrichtung an den Pages (idR 4KB) ist sinnvoll. Falsches Alignment wirkt sich besonders bei zufälligen Zugriffen aus, weil ein Zugriff auf 1 Cluster dann immer ein Zugriff auf 2 Pages bedeutet. Allerdings können neue Controller auch mit falschem Alignment relativ gut umgehen.

Coda
2010-05-27, 22:42:53
Ich würde es trotzdem machen falls möglich. Schaden kann es nicht.

Matti
2010-05-27, 23:07:26
Hier noch 2 interessante Dokumente über SSDs:
http://www.stec-inc.com/downloads/whitepapers/Benchmarking_Enterprise_SSDs.pdf (Seite 8)
http://www.usenix.org/event/lsf08/tech/shin_SSD.pdf

Eggcake
2010-05-27, 23:45:55
Als Linux Neuling schlage ich mich damit auch grade herum, blicke noch nicht ganz durch. Bei einer UltraDrive GX ist ein korrektes Alignment ziemlich wichtig. Benutze Ubuntu 10.04, bisher ohne spezielle Vorkehrungen...

Gast
2010-05-28, 10:40:15
Als Linux Neuling schlage ich mich damit auch grade herum, blicke noch nicht ganz durch. Bei einer UltraDrive GX ist ein korrektes Alignment ziemlich wichtig. Benutze Ubuntu 10.04, bisher ohne spezielle Vorkehrungen...

Die Kommandozeile ist dein Freund:

sudo parted
unit b
mkpart primary <start> <ende>

Start und Ende sind in Bytes anzugeben.

Eggcake
2010-05-28, 10:56:22
Okay dank dir. Habe herausgefunden, dass Ubuntu 10.04 das mittlerweile von selbst richtig macht. Beginn der ersten Partition ist bei Sektor 2048, d.h. es ist 1024k aligned, genau wie in Vista/7.