Advanced Format: přicházejí pevné disky se 4K sektory
Kapitoly článků
Každý fyzický sektor obsahující 512 bajtů uživatelských dat, obsahuje kromě jiného i jistou „omáčku“, bez které se disk pro korektní fungování neobejde. Jsou to Sync/DAM bloky (v podstatě takový „Lead-in“ pro každý sektor), ECC korekce a konečně také fyzické mezery mezi samotnými sektory.
Sektory dlouhé celých 4 096 bajtů mají stejně velké Sync/DAM bloky (takže na danou kapacitu jich odpadá 7), ale trochu delší ECC kódy, i když v součtu celkový ECC blok pro 4kB sektor zabírá méně místa než původních osm ECC bloků pro osm 512kB sektorů. Tím získáváme přibližně 7 až 11 % kapacity navíc.
Vyplatí se to? To nebudeme raději vůbec rozebírat, spíše se podívejme, co na to operační systémy. Jak již bylo řečeno, některé jsou na to připravené, jiné nikoli. Ve světě Windows, který pravděpodobně postihuje valnou většinu uživatelů PC, je tomu tak, že Windows XP, Windows Servery 2003 a všechny starší systémy Windows na to připraveny nejsou. Windows Vista, Windows 7 a novější (včetně serverových ekvivalentů) na to připraveny jsou a počítají s tím. Pokud jde o jablíčkáře, jejich systém by být připraven měl a pokud je nám známo, tučňákovcům to také nedělá problémy. Pak jsou tu samozřejmě ale samostatné nástroje na práci s disky na nižší úrovni než jsou diskové oddíly (typicky klonovací nástroje, popř. nástroje na práci s diskovými oddíly) a s nimi také může být potíž, dokonce mohou tyto nástroje způsobovat problémy i systémům, které se 4kB sektory počítají.
Aby bylo „kompatibilitě“ učiněno zadosti, tak ačkoli je pevný disk s Advanced Format strukturou „nasektorován“ po 4 kB, vnitřní rozhraní disku umí navenek pracovat se systémem postaru, tedy jakoby se nadále jednalo o 512B sektory. Není problém do disku poslat příkaz typu „přečti / zapiš 512 bajtů tam a tam“, disk to provede. V případě příkazu „přečti“ jednoduše přečte celý 4kB blok, vybere z něj příslušných 512 bajtů a pošle je do systému. Ovšem v případě „zapiš“ dochází k tomu, co na tento nový fyzický formát vrhá špatné světlo: Nejprve se totiž přečte 4kB sektor a uloží se do cache disku. Pak se požadovaných 512 bajtů na příslušném místě v cache změní a takto upravený celý 4kB sektor se celý znovu zapíše zpět na disk.
Je-li disk alespoň trochu rozumný, v případě zápisu souvislého bloku nedělá tuto operaci 8× pro každý 4kB sektor, ale pokud mu přijde osm požadavků na zápis osmi 512bajtových bloků, které dávají dohromady jeden fyzický 4096kB sektor, pak to provede naráz a zpomalení prakticky nezaznamenáte. Realita je však taková, že na disk se spíše zapisuje na různá místa než do souvislého bloku. A i když mohou souborové systémy používat velikost jednoho „clusteru“ („logický nejmenší sektor“ pro daný souborový formát) třeba i 4 096 bajtů a více, je tu jeden neduh, který je krásně vidět právě třeba na Windows XP. Tento operační systém má totiž pro 4kB sektory jeden neduh: při čisté instalaci na prázdný disk začíná první diskový oddíl na logickém sektoru (LBA) 63, tedy ve skutečnosti v 7/8 osmého fyzického sektoru na pevném disku. Ve výsledku pak žádná alokační jednotka souborového systému se 4kB clustery „nepasuje“ na 4kB sektory pevného disku, což ze při práci s „náhodnými“ bloky dat hlavně při zápisu projeví výrazným zpomalením (při čtení už tolik ne, jen se musí pro každou 4kB alokační jednotku přečíst dva fyzické 4kB sektory a vybrat z nich ty 4 kB, které patří oné 4kB alokační jednotce, tedy „clusteru“).