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