Workshop: kopieer HDD naar SSD met juiste 4k alignment

87 reacties
Inhoudsopgave
  1. 1. Inleiding
  2. 2. Sectoren
  3. 3. Emulatiemodus
  4. 4. 4k alignment
  5. 5. Wanneer niet uitgelijnd?
  6. 6. Alignment goed zetten
  7. 7. Stappenplan: harde schijf naar SSD kopiëren met correcte uitlijning
  8. 87 reacties

4k alignment

De 4 kB clusters van een bestandsysteem als NTFS worden dus omgezet naar 8 logische blokken van 512 bytes en in een moderne harde schijf of SSD weer omgezet naar sectoren of pagina’s van 4 kB. Tot zo ver niets aan de hand. Of toch wel? Hier komt het hele 4k alignment verhaal om de hoek kijken. Om deze translaties zonder prestatieverlies te laten plaatsvinden, moeten de bestandssysteem clusters namelijk uitlijnen met de onderliggende 4k sectoren of pagina’s. Wat dat betekent kun je goed zien in onderstaande afbeelding: iedere NTFS-cluster moet als het goed is exact overeenkomen met een combinatie van 8 logische sectoren die weer overeenkomen met één fysieke sector. Ofwel: de eerste cluster van een bestandssysteem op de schijf moet op een veelvoud van 8 logische sectoren geplaatst worden om een één-op-één relatie tussen clusters en fysieke sectoren te bewerkstelligen.

Is dat echter niet het geval, dan krijg je een situatie zoals in het tweede gedeelte van figuur 3. We zien dat de eerste NTFS-cluster hier begint bij logische sector 6, dus niet na een veelvoud van 8. In dit voorbeeld transleert NTFS-cluster 2 dus naar logische sectoren 14 t/m 21. En die sectoren maken fysiek weer onderdeel uit van sector 2 en 3.

Het resultaat: wanneer het besturingssysteem in dit voorbeeld cluster 2 wil lezen, worden logische sector 14 t/m 21 opgevraagd en zal de harde schijf sector 2 en 3 moeten lezen (twee keer zoveel werk!) de juiste data er uit moeten extraheren en die doorsturen. Bij schrijven is het nog erger. In het geval van een harde schijf zal de wanneer logische sector 14 t/m 21 beschreven moeten worden eerst fysieke sector 2 en 3 gelezen moeten worden, daarna de bestaande data van logische sectoren 9 t/m 13 en 22 t/m 24 gecombineerd moeten worden met de nieuwe data door 14 t/m 21 en daarna worden de twee fysieke sectoren volledig opnieuw beschreven. Dat is véél meer werk dan het simpelweg overschrijven van één fysieke sector wanneer de partitie wél uitgelijnd was. Bij SSD’s is het zo mogelijk nog rampzaliger, aangezien pagina’s waar al data in staat niet overschreven worden, voordat volledige blokken van 512 kilobytes geleegd worden. Als iedere schrijfactie van één cluster er voor zorgt dat de SSD telkens twee lege pagina’s moet vinden, betekent dit vele meer werk voor de wear leveling en garbage collection algoritmes in een SSD, minstens twee keer meer schrijfacties dan strikt noodzakelijk, daardoor dus een hoge write amplication factor, maar een veel kortere levensduur van de SSD én verslechterde prestaties tot gevolg.


Als een partitie niet 4k aligned is komen de clusters van het bestandssysteem niet overeen met fysieke sectoren (harde schijven) of pagina’s (SSD’s).

0
*