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?
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?