Hlavní navigace

Technologie pevných disků

1. 5. 1999

Sdílet

KonstrukceVnitřní uspořádání disku se od dob prvních pevných, velkých a hlučných disků v podstatě nezměnilo. Zvenku je viditelná poměrně pevná a houževnatá krabička, nejčast
Konstrukce
Vnitřní uspořádání disku se od dob prvních pevných, velkých a hlučných disků v
podstatě nezměnilo. Zvenku je viditelná poměrně pevná a houževnatá krabička,
nejčastěji kovová, uvnitř které se nachází rotující plotna či plotny s
magnetickým povrchem a k těmto plotnám se přibližují čtecí hlavičky.
Co se vlastního zápisu týče, tak přestože se to může zdát jako nejlogičtější
řešení, není pravda, že místo, kde je na plotně magnetismus, znamená logickou
jedničku a místo, kde magnetismus není, resp. je záporný, znamená logickou
nulu. Ve skutečnosti se jedničky a nuly detekují změnou magnetismu.
Elektronika disku byla zpočátku velmi jednoduchá, pouze řadič a procesor velká
část se dost dlouho nacházela na speciálních deskách mimo vlastní disk.
V dnešní době se na tomto uspořádání mnoho nezměnilo. Téměř by se dalo říci, že
dochází jen k miniaturizaci a zvyšování rychlosti. Elektronika je už v podstatě
celá na desce elektroniky disku. Rozhraní bylo velmi pevně definováno, ať už se
jedná o IDE nebo SCSI disky. Uvnitř přibyly kvalitnější a rychlejší procesory,
které dovedou sofistikovaně rozhodovat kdy a kam ukládat jaká data, a naopak
jak nejlépe číst aby to vše bylo co nejrychlejší. Ve větší míře se začaly
využívat vyrovnávací paměti, do kterých se ukládají data jako mezistupeň, mezi
diskem a sběrnicí.
Ovládací hardware, tedy řadiče bufferu v disku, pracuje velmi sofistikovaně a
dovede urychlit práci disku. Při zápisu je jeho funkce poměrně předvídatelná,
tedy data se nezapisují okamžitě, ale počká se, až budou pro zápis k dispozici
větší bloky, jejichž zápis je samozřejmě, vztaženo na jednotku, rychlejší. Při
čtení se využívají dvě základní funkce. Jednak vlastní vyrovnávací mezipaměť, v
níž řadič dovede najít sektor, který je právě žádán k přečtení, a předat ho
systému místo toho, aby jej skutečně četl z disku. Druhou funkcí je čtení
napřed. Zde se využívá pravidla, že přibližně 60 % všech požadavků na čtení je
sekvenčního charakteru, tedy po jednom sektoru bude následovat další, který je
v logické řadě. Řadič pak při požadavku na čtení určitého sektoru nenačte pouze
jeden, ale ještě další do zásoby. Při dalším čtení je poměrně vysoká
pravděpodobnost (oněch 60 %), že požadovaný sektor už bude připraven v bufferu.
Kapacity vyrovnávací paměti se u současných IDE disků pohybují kolem 512 KB,
SCSI disky mívají spíše 1 MB paměti.

Geometrie disků
První disky se chovaly zcela transparentně a do jisté míry i pravdivě. Mívaly
většinou jednu či dvě plotny, takže celkem až čtyři hlavy (strany). Disk byl
rozdělen na sektory, a jeden kruh na plotně se nazýval cylindr. Tak bylo
zabezpečeno, že půjde naadresovat celý, tedy trojrozměrný prostor disku. Tento
systém se nazývá CHS (Cylinder, Head, Sector). Už před několika lety se tento
systém začal potýkat s problémy. Z několika důvodů se ukázalo jako výhodnější
neudávat skutečnou geometrii v CHS, ale jakousi vymyšlenou, nazvanou vznosně
"logická". Proto se lze setkat s disky, které mají třeba 16 hlav, přestože se
uvnitř určitě netočí osmero ploten. Firmware disku pak toto logické CHS
zaměření převede na vnitřní, fyzický CHS systém v disku, který má třeba jen dvě
plotny, tedy 4 hlavičky.
Místo tohoto CHS systému se začal před nedávnou dobou užívat praktičtější a
jednodušší LBA mod. LBA znamená Logical Block Access, tedy logický blokový
přístup k datům. Jeho základem je lineární adresace sektorů na disku, která je
jednorozměrná. Hlavní výhodou je možnost adresovat mnohem větší diskový
prostor, než je možnost tradičního systému CHS. K použití LBA je nutné
aktivovat nějaký režim překladu LBA do CHS. V současnosti se využívají tři
režimy: Normal, Large a LBA. V režimu Normal (někdy je v BIOSu označen také
jako LBA) v podstatě nedochází k překladu, jde jen o prosté převedení původní
logické geometrie. Protože měly starší BIOSy problémy s disky většími než 504
MB, velmi často se stane, že DOS pozná disk jen jako 504MB. V Large a LBA
překladovém režimu jsou už možnosti mnohem lepší, zde je hranice posunuta až na
8 GB. Pak se disk logicky chová tak, jako by měl třeba až 64 hlav, což by
znamenalo 32 ploten. To je samozřejmě nesmysl, jenom DOS a i Windows mají
zbývající vůli v přidávání hlav, ale už ne sektorů a cylindrů kde jsou disky
většinou v koncích.
Dalším problémem, který je spojen s velikostí disků, je limit systému FAT 16 a
potažmo též VFAT (ve Windows 95), jež dokáží obsloužit disk do velikosti 2 GB.
Vychází to z nejvyššího možného počtu clusterů (nejmenších adresovatelných
bloků na disku) 65 536 a z maximální velikosti clusteru 32 768 bajtů, které umí
adresovat. Tento závažný problém nelze v DOSu ani ve starších verzích Windows
95 obejít, a nutí uživatele dělit disk na menší partitions. V případě třeba 7GB
disku může být rozdělení na 4 disky velmi nepříjemné. Další problematickou
vlastností takhle velkých partitions pod DOSem, resp. Windows 95, je délka
clusteru. Jak už bylo řečno, v tomto případě má cluster délku 64 sektorů disku,
tedy 32 768 bajtů. Nejmenší blok, jejž lze tímto systémem přidělit, činí právě
32 768 bajtů. Proto jakýkoliv soubor, který má méně než 32 kilobajtů, například
AUTOEXEC.BAT se svými typickými 150-200 bajty, zabírá na disku právě 32
kilobajtů. Tímto způsobem uživatel přichází o obrovské místo na disku, zvlášť u
aplikací, jež využívají velké množství malých souborů, třeba účetních programů
pod MS-DOSem. Souborový systém FAT16 byl odbourán až ve Windows 95 OSR 2.1, kde
byl nahrazen FAT32. Ta je součástí také nových Windows 98. Samozřejmě že už v
minulosti se tento problém účinně řešil v jiných operačních systémech, proto z
limitů FAT16 nemusíte mít obavy třeba při použití systému HPFS v OS/2 nebo NTFS
ve Windows NT.

Sběrnice ATA
V současnosti se používají dva hlavní systémy sběrnic. Prvním je ATA (označován
také jako IDE) a druhým SCSI. Oba dva mají mnoho vnitřních variant, lišících se
zejména přenosovou rychlostí. U sběrnice ATA se přenos realizuje
prostřednictvím režimů PIO (programmed input/output) a režimů DMA (direct
memory access). V režimu PIO se přenášejí data podle rychlosti tiků na IDE
sběrnici. Při každém tiku lze přenést pouze 16 bitů, pevné disky jsou tak
16bitové. Rychlost, resp. délka tiků se časem měnila. První režim, tedy PIO 0
má délku tiku 600 ns, z čehož vyplývá, že jeho přenosová rychlost je asi 3,3
MB/s. Další režimy, PIO 1 a PIO 2 mají délky 383 a 240 ns, což odpovídá
přesnosovým rychlostem 5,2 a 8,3 MB/s. Režimy PIO 0 až PIO 2 odpovídají původní
specifikaci ATA. Pak následovala další, nazvaná ATA-2 ta obsahuje režimy PIO 3
a PIO 4, s rychlostmi 11,1 a 16,6 MB/s. ATA-2 vyžaduje ke svému správnému běhu
servisní kanál IORDY, s jehož pomocí je možné v případě potřeby snížit
přenosovou rychlost. Disky, které jsou donuceny běžet v režimu ATA-2 (tedy PIO
3 a 4) a neobsahují kanál IORDY, mohou při přenosu dělat chyby, a dokonce
porušit data na disku (proto je dobré provozovat je jen v režimech ATA).
Druhým typem přenosu je přenos DMA. DMA znamená přenos bez účasti procesoru,
tedy přímo z disku do paměti. Ve skutečně multitaskových operačních systémech,
jako je třeba OS/2 a Linux, to vede k velkému snížení zátěže systému. Bohužel
DOS i Windows čekají na ukončení přenosu, takže přínos DMA pro snížení zatížení
počítače není příliš vysoký.
Rychlost DMA přenosu se opět odvíjí od časování sběrnice a dělí se do dvou
skupin. Dříve používaný single-word DMA přenos je k dispozici na DMA 0, 1 a 2.
Jeho rychlosti jsou 2,1, 4,2 a 8,3 MB/s, odpovídající tak délce cyklu 960, 480
a 240 ns. V současné době je už tento režim zcela vytlačen modernějším,
multi-word DMA, které je k dispozici v režimech DMA 0, DMA 1, DMA 2, DMA/16 a
DMA/33 (Ultra DMA). Rychlosti jsou pak 4,2, 13,3, 16,6, 16,6 a 33,3 MB/s.
Všechny single-word DMA režimy a multi-word DMA 0 jsou k dispozici v protokolu
ATA, multi-word DMA 1 a DMA 2 jsou obsaženy v ATA-2 a DMA/16 spolu s DMA/33
obsahuje až specifikace Ultra-ATA.
Horkou novinkou je režim Ultra ATA/66 (DMA/66), který dovoluje rychlost
sběrnice až 66,6 MB/s. Ke zvýšení rychlosti využívá zkrácení čekacích a
nastavovacích dob komunikační protokol zůstává stejný jako u Ultra DMA. Pro
bezchybný provoz je potřeba speciální 80žilový kabel, který má navíc 40
zemnicích vodičů. Konektory však zůstávají stejné 40pinové. Ultra ATA/66
podporují nejnovější série disků (všechny Western Digital), v době, kdy tento
PC WORLD vychází, jsou už možná k dispozici základní desky s čipsety, které
tento režim umí také.
Poměrně zajímavá je podpora blokového režimu přenosu. S její pomocí může
ovladač disku v operačním systému požádat řadič o komplexnější přenos několika
za sebou jdoucích bloků dat, což se samozřejmě projeví na snížení zátěže
systému, na rozdíl od použití běžných sekvenčních příkazů.

Bezpečnost
Původní pevné disky, ale také množství disků v nedávné minulosti měly poměrně
značné problémy s bezpečností uložených dat, resp. s jejich ochranou proti
zničení nějakou hardwarovou chybou. Proto se začaly implementovat technologie,
které mají zajistit vyšší úroveň bezpečnosti dat. Na SCSI je možné použít
poměrně prostý způsob, totiž mirroring, obsažený v systému RAID (Redundant
Array of Independent Devices). Mirroring je jednoduché zrcadlení obsahu disku
na jiný, kdy při každém zápisu se data zapíší na oba dva disky a při čtení se,
v případě výpadku jednoho z nich, použije ten, který je v pořádku. RAID byl
dále rozvíjen a dnes obsahuje mnoho dalších variant, jež dále zvyšují
bezpečnost dat na discích.
Vlastní technologie výroby pevných disků se především snažila prodloužit časy
MTBF (Middle nebo Mean Time Between Failure), které dnes činí řádově stovky
tisíc až miliony pracovních hodin. Aby se ještě dále chránili uživatelé v
levnějších systémech, byly disky vybaveny systémem S.M.A.R.T. (Self-Monitoring,
Analysis and Reporting Technology). Tato technologie zahrnuje několik bodů, jež
se měří a následně zpracovávají, a z nichž se pak počítá pravděpodobnost, s
jakou dojde v nejbližší době k problémům s diskem. Tento systém by měl pomocí
různých hodnocených veličin varovat uživatele ještě předtím, než k problémům
dojde. Hodnocenými veličinami jsou například vzdálenost hlaviček nad povrchem
disku, průměrná přenosová rychlost, čas roztočení disku, počet sektorů, které
byly kvůli problémům s povrchem realokovány na bezproblémové místo, počet chyb
při vystavování hlaviček, rychlost vystavení, počet pokusů o roztočení nebo
počet pokusů o opakovanou rekalibraci disku. Ačkoliv se to může zdát na první
pohled velmi komplexní a velmi spolehlivé, skutečnost je trochu odlišná. Jedním
z důvodů, proč se S.M.A.R.T. nedočkal větší odezvy v operačních systémech, bylo
právě to, že přesnost předpovídání selhání se pohybuje mezi 40-60 %. To je sice
dobré, ale stále to není mnoho. Dalším problémem je právě malá podpora ze
strany operačních systémů. S.M.A.R.T. je podporován v OS/2 Warp 4.0 (Merlin) a
existují také některé nástroje třetích stran pro podporu S.M.A.R.T.u na
platformě Windows 95, přestože nativní podpora ze strany systému chybí. Přesto
to však vypadá, že už by konečně měl S.M.A.R.T. získat další podporu, třeba jen
kvůli nové, lepší verzi nazvané S.M.A.R.T. Phase 2. Ta obsahuje i systém
vnitřní diagnostiky povrchu a již uložených dat.

9 0254/BAM