Discussion:
Partitions will be aligned on 8-sector boundaries
(zu alt für eine Antwort)
Thomas Wildgruber
2013-01-13 16:08:36 UTC
Permalink
Hi Group,

ich benutze (third party) SSDs in meinem Mac Pro und wollte jetzt mal das
Partition Alignment überprüfen und habe mir dazu gdisk[1] installiert um
mir die Startsektoren der Partitionen anzeigen zu lassen. (geht das mit
Bordmitteln eigentlich auch?)

Da SSDs ja Blockweise beschrieben werden, sollte das Alignment der
Partitionen ja (mindestens) nach dieser Blockgröße ausgerichtet sein. In
SSDs werden wohl idR Blöcke mit 512 KiB Größe verwendet. Zumindest bei
konventionellen Festplatten wird ja mit 512 Byte Sektoren gerechnet und ein
logischer Block (LBA) darauf abgebildet. Bei SSDs wäre ein (physikalischer)
"Sektor" aber 512 KiB groß. Das LBA Mapping mit 512 Byte Sektoren wird aber
auch hier angewendet...

...jetzt gibt es ja dieses 1 MiB Alignment, welches auch die 512 KiB großen
Blöcke einer SSD adäquat berücksichtigen würde und zumindest wenn ich das
Partitionslayout meines Mac OS hier betrachte, scheint sich Mac OS auch
daran zu halten:

---snip---
$ sudo gdisk -l /dev/disk0
GPT fdisk (gdisk) version 0.8.1

Partition table scan:
MBR: hybrid
BSD: not present
APM: not present
GPT: present

Found valid GPT with hybrid MBR; using GPT.
Disk /dev/disk0: 1000215216 sectors, 476.9 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): A8B79F1F-770F-45E5-8CEB-C0D85CC1382B
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 1000215182
Partitions will be aligned on 8-sector boundaries
Total free space is 909 sectors (454.5 KiB)

Number Start (sector) End (sector) Size Code Name
1 40 409639 200.0 MiB EF00 EFI System
Partition
2 409640 840253415 400.5 GiB AF00 Macintosh HD
3 840253416 841522951 619.9 MiB AB00 Recovery HD
4 841523200 1000214527 75.7 GiB 0700 BOOTCAMP
---snap---

Alle Startsektoren sind ganzzahlig durch 2048 teilbar, was ja schon mal
beruhigend ist. Ist die Aussage von gdisk, dass die Partitionen nach 8
Sektoren ausgerichtet demnach eine Falschaussage oder hat gdisk zur
Ermittlung der Ausrichtung einfach nur einen falschen Teiler, der zufällig
auch stimmt? 8 Sektoren sind 4 KiB und 1 MiB ist nunmal auch ganzzahlig
durch 4 KiB teilbar.

[1] http://sourceforge.net/projects/gptfdisk/?source=dlp

Thx & Bye Tom
--
"Sie wissen, wir leben im Zeitalter der Abkürzungen. Ehe ist die Kurzform
für lateinische "errare humanum est" ("Irren ist menschlich")." (Robert
Lembke)
Marcus Jodorf
2013-01-13 22:55:31 UTC
Permalink
Post by Thomas Wildgruber
Da SSDs ja Blockweise beschrieben werden, sollte das Alignment der
Partitionen ja (mindestens) nach dieser Blockgröße ausgerichtet
sein. In SSDs werden wohl idR Blöcke mit 512 KiB Größe
verwendet. Zumindest bei konventionellen Festplatten wird ja mit 512
Byte Sektoren gerechnet und ein logischer Block (LBA) darauf
abgebildet.
Schon lange nicht mehr. Praktisch alle aktuellen Platten, die man kaufen
kann, arbeiten mit 4KiB Sektoren (und behaupten fälschlich nur noch, 512 bytes
zu verwenden, damit alte BIOS und OS das noch auf die Reihe bekommen).
SSDs arbeiten von Anfang an alle mit 4KiB Sektoren intern (bzw. manche
auch mit 8 KiB).
Post by Thomas Wildgruber
Bei SSDs wäre ein (physikalischer) "Sektor" aber 512 KiB
groß. Das LBA Mapping mit 512 Byte Sektoren wird aber auch hier
angewendet...
Nein, SSD arbeiten intern mit 4 KiB (wie aktuelle Platten) oder manche
auch mit 8 KiB.
Deshalb verwendet gdisk als default auch ein Alignment auf 1 MiB.
Das entspricht 2048 als Startsektor by 512 Byte großen logischen
Sektoren.
Das funktioniert dann sowohl mit 4KiB als auch 8 KiB internen Sektoren
einer Platte.
Post by Thomas Wildgruber
...jetzt gibt es ja dieses 1 MiB Alignment, welches auch die 512 KiB
großen Blöcke einer SSD adäquat berücksichtigen würde
Das ist halt nicht der Grund. SSD haben gar keine 512 KiB großen
internen Sektoren, sondern wie gesagt i.d.R. 4KiB oder manche 8KiB.
Das 1 MiB Alignment berücksichtigt beide Möglichkeiten und funktioniert
auch mit den alten 512 Bytes. Deshalb macht man das.
(Und das paßt nebenbei auch zu SSD erase block sizes von praktisch immer
512 KiB. Ausrichtung auf 1MiB geht auf Nummer sicher und paßt zu allen
möglichen vorkommenden erase block sizes.).

Ich weiß auch gar nicht, wo Du diese ominösen 512 KiB immer her nimmst -
kann das sein, daß Du das mit den 512 _Bytes_ der traditionellen
Sektorgröße irgendwie verwechselst?
Post by Thomas Wildgruber
Logical sector size: 512 bytes
Bytes!, nicht KiB. Und das ist nur die Emulation für Gammelhardware und
OS.
Post by Thomas Wildgruber
Partitions will be aligned on 8-sector boundaries
Klar, 8 x 512 Byte sind wieder die 4KiB.
Post by Thomas Wildgruber
Ist die Aussage von gdisk, dass die Partitionen
nach 8 Sektoren ausgerichtet demnach eine Falschaussage
Nochmal: 8 x 512 Byte = 4 KiB. Also genau das, was man haben will, da
man an 4 KiB Größe der internen Plattensektoren ausrichten muß.
Das ist nun mal die Grundbedingung, die man erfüllen muß, damit man die
Teile nicht ausbremst.


Gruß,

Marcus
⚂⚃

Loading...