Další koncepce realizace diskových rozhraní 1 Základní informace 1.1 IDE a ATA IDE (Integrated Drive Electronics) mechanika s vestavěným řadičem, čímž se dosáhne: - vyšší spolehlivosti - snížení nákladů Takto to tvrdily společnosti, které začaly na začátku 90. let tyto disky vyrábět. Předcházející technologie (počítače XT): - řadič ve formě samostatné desky v konektoru systémové sběrnice, - z řadiče do disku vede kabel, v němž jsou signály generované řadičem, jimiž je řízen disk (charakter přístrojového rozhraní), z množiny signálů jde rozpoznat, že jde o rozhraní disku. - v kabelu sloučená data a synchronizace, přenášená sériově velmi negativní skutečnost 1
z hlediska možných rychlostí přenosu. Koncepce IDE pevných disků pro personální počítače se koncem 80. let a hlavně začátkem 90. let výrazně prosadila a znamenala pro společnosti zabývající se vývojem a výrobou pevných disků výrazný impuls a nárůst objemu produkce - především díky snížení nákladů. Svou koncepcí nabídlo IDE rozhraní alternativu připojovat na toto rozhraní i jiné typy periferních zařízení - naplnilo se u rozhraní EIDE. Dnes rozhraní IDE je označováno jako ATA (AT Attachment). Existovaly tři varianty rozhraní IDE: - XT IDE (8 bitová sběrnice IDE) - MCA IDE (16 bitová sběrnice MCA, používaná u počítačů IBM řady PS/2) - ATA IDE (16 bitová sběrnice ISA) Z těchto tří variant se v současnosti používá pouze jediná ATA IDE. 2
1.2 EIDE a Fast-ATA Rozhraní IDE doznalo jistých změn ve srovnání se svou základní verzí - důvodem byla snaha o zvyšování rychlosti přenosu. Všechny tyto nové verze jsou označovány pod pojmem Enhanced IDE (EIDE), což je ve skutečnosti pojem, který pro své výrobky zavedla firma Western Digital. EIDE je obecný pojem a zahrnuje dva reálné standardy: ATA-2 a ATAPI. Firma Seagate na tyto aktivity reagovala zavedením rozhraní Fast-ATA, které je založeno na koncepci rozhraní ATA-2. 1.2.1 Možnosti EIDE a Fast ATA EIDE a Fast ATA nabízí: - Rychlý přenos dat: PIO mode 3 nebo vyšší, DMA mode 1 nebo vyšší. - Režim LBA. - Možnost připojení až 4 zařízení přes 2 kanály. - Přestala existovat hranice kapacity pevného disku 504 MB. 3
- Podpora CD ROM jednotek a streamerů - rozhraní ATAPI. 1.3 ATA Packet Interface (ATAPI) Nevýhoda rozhraní ATA/IDE - bylo navrženo pouze pro pevné disky. Taková koncepce vyhovovala tehdy, když bylo PC vybaveno pouze pevným diskem (kapacity např. 40 MB) a jednou disketovou mechanikou => bylo proto navrženo rozhraní ATAPI, které umožňuje přes rozhraní IDE (ATA) připojovat např. jednotky CD ROM. Standard ATAPI - stejné rozhraní jako pevné disky (ATA/IDE), jiný způsob řízení než u pevných disků ATA/IDE takový, že IDE principy jsou použity pro přenos SCSI údajů. Výsledek: CD ROM a disk jsou schopny existovat na jednom kabelu a musí být zachován protokol master/slave. Pro CD ROM je kromě jiných příkazů k dispozici příkaz ATAPI PACKET, kterým se přenášejí obdobným způsobem jako přes rozhraní SCSI příkazy a data, která s provedením příkazu souvisejí. 4
1.4 Enhanced BIOS Dalším problémem, který bylo nutno řešit, byla maximální kapacita, která byla přes rozhraní IDE dostupná, což je 504 MB. Tento problém řeší Enhanced BIOS, který geometrii disku s více jak 1024 válci transformuje (překládá). 1.5 Sekundární port Řeší problém připojení dalších 2 zařízení (CD ROM, pásky) přes rozhraní IDE. O této možnosti se uvažovalo již dříve, neexistovala však sofwarová podpora. Jde o další kanál IDE (IDE 1, IDE 2) => dva porty IDE lišící se číslem přerušení, číslem žádosti o přímý přístup do paměti a adresami registrů. Je nutno mít k dispozici BIOS (SETUP) umožňující využití 2 IDE kanálů a připojení 4 zařízení. Obě tato rozhraní IDE jsou realizována na systémové desce (2 konektory). 5
2 Proč existovala hranice 504 MB? Omezení maximální kapacity pevného disku souvisí: - s šířkou datových cest, po nichž se přenášejí adresy válců, sektorů a hlav. - s počtem bitů, které má k dispozici operační systém pro reprezentaci čísla válce, hlavy, sektoru. Mezi šířkou datových cest a počtem bitů pro reprezentaci v operačním systému může vzniknout nekompatibilita. Operační systém musí mít prostředky na to, aby periferní operace realizoval způsobem, který umožňuje zadat pouze parametry operace a pak ji zahájit DOS měl pro tyto účely INT13 (platí to i pro vyšší operační systémy): - jestliže se má na disku vykonat nějaká operace (požadavek DOSu), pak se zahájí na základě instrukce INT13 s patřičnými parametry. Podstata problému: čísla válce, sektoru a hlavy procházejí přes 2 zcela nekompatibilní rozhraní: 6
- Rozhraní mezi DOSem a BIOSem realizované programovým přerušením instrukcí INT13. - Rozhraní ATA/IDE (kabel) mezi pevným diskem a BIOSem. HDD ATA/IDE BIOS INT 13 DOS Adresace v rámci DOSu a BIOSu D O S válec 10 bitů hlava 8 bitů sektor 6 bitů INT13 B I O S IDE / ATA válec 16 bitů hlava 4 bity sektor 8 bity 7
Geometrie disku, s níž se pracovalo, byla dána omezeními rozhraní IDE a BIOSu. => z těchto možností je nutné použít vždy menší číslo. Důsledek: počet válců - 1024 (2 10 ) Počet sektorů - 63 (2 6-1) (sektory se číslují od 1) počet hlav - 16 (2 4 ) Celková kapacita: 1024 x 16 x 63 x 512 = 504MB 3 Překlad sektorů BIOS adresuje třemi způsoby (CHS, ECHS, LBA). 3.1 Standard CHS (bez překladu) CHS - cylinder, head, sector 8
d i s k BIOS DOS fyzická geometrie - pracuje se s ní pouze uvnitř P1 logická logiky disku geometrie (CHS) logická geometrie (CHS) Exstuje pouze jeden krok překladu, ten se odehrává uvnitř disku překlad P1. Skutečná geometrie je z vnějšku "neviditelná". Údaje o počtu válců, hlav a sektorů na štítku disku (vkládají se do setupu buď automaticky nebo manuálně) nemají s fyzickou geometrií nic společného, ta existuje pouze uvnitř disku, je uživateli nedostupná. Logická geometrie disku v případě CHS respektuje omezení IDE - 16 hlav a BIOSu - 1024 cylindrů. 9
3.2 Extended CHS d i s k BIOS DOS fyzická geometrie - pracuje se s ní P1 pouze uvnitř logická logiky disku geometrie (CHS) P2 přeložená geometrie (CHS) Jak funguje překlad: - Výchozí informací pro BIOS je logická geometrie (tzn. to, co je na štítku a co jsme uložili do setupu, příp. si zjistil BIOS funkce AUTODETECT ). - Kromě překladu P1 se provádí ještě překlad P2 tak, že přeložená logická geometrie musí mít číslo cylindru menší než 1024, číslo hlavy však může být větší jak 16. Princip překladu P2: 10
- Pokud je počet cylindrů logické geometrie větší jak 1024, pak BIOS toto číslo vydělí vhodně zvoleným celým číslem tak, aby výsledek byl menší jak 1024. Stejným číslem pak vynásobí počet hlav. Příklad: Uvažujme disk s 1057 cylindry, 16 hlavami a 63 sektory/stopu. INT13 byl schopen pracovat pouze s 1024 cylindry, mohl ale adresovat až 255 hlav. Překládající BIOS předal DOSu pomocí INT13 geometrii 528 cylindrů (1057/2) a 32 hlav (16 x 2). Jakmile DOS požadoval přístup na konkrétní adresu (cylindr/hlava/sektor), přeložil si BIOS tuto adresu do původní podoby a takto komunikoval s diskem (v tomto případě do logické geometrie, stejný princip funguje i při LBA). 3.3 LBA (Logical Block Addressing) 11
d i s k BIOS DOS fyzická geometrie - pracuje se s ní pouze uvnitř logiky disku P1 číslo logického bloku (LBA) P2 přeložená geometrie (CHS) Geometrie disku je v komunikaci mezi BIOSem a diskem potlačena a je nahrazena lineárním číslem sektoru. cyl/hlava/sekt ext cyl/hlava/ sektor 0/0/1 0/0/1 0 LBA 499/31/63 999/15/63 1 007 999 500/0/1 1000/0/1 1 008 000 500/15/63 1000/15/63 1 009 007 500/16/1 1001/0/1 1 009 008 500/31/63 1001/15/63 1 010 015 501/0/1 1002/0/1 1 010 016 999/31/63 1999/15/63 1 010 016 12
Např. hodnotu 1 007 999 získáme jako výsledek operace (500 x 32 x 63) - 1. Původní LBA (DOS): - Adresa čísla sektoru byla na 24 bitech => bylo možné adresovat 2 24 sektorů (16 M sektorů), každý kapacity 512 B dat => kapacita adresovatelná přes LBA byla 8,2 GB (8 192 MB). - 8,2 GB byla kapacita pro uložení dat, kromě toho je na disku další prostor využitý jiným způsobem => někdy se uvádí 8,4 GB. Jiný možný výpočet: počet bitů, které jsou celkem k dispozici pro adresaci slabiky: 24 bitů (DOS) + 9 bitů (adresace slabiky v rámci sektoru) - celkem 33 bitů na adresaci slabiky => 2 33 bytů = 8,2 GB. ECHS i LBA byly schopny adresovat maximální kapacitu 8,2 GB. Standard EDD BIOS (Enhanced Disk Drive BIOS) r. 1998: - byly definovány nové služby definované BIOSem a umožňující podporu zařízení 13
pro ukládání dat o kapacitě až 9,4 x 10 12 GB (2 64 sektorů). Standard EDD BIOS je založen na adresování sektorů čistě pomocí LBA (bez používání jakýchkoliv překladů). Maximální adresovatelná kapacita dnes standard EDD BIOS disky ATA: k dispozici je 28 bitů na číslování sektorů => je možné adresovat 2 28 sektorů, každý kapacity 512 B dat => kapacita adresovatelná přes LBA je 136,9 GB. Ultra DMA V r. 1997 se objevila nová technologie označovaná jako Ultra DMA. Jde o DMA realizované na vyšších rychlostech, což je podmíněno patřičnou hardwarovou podporou (např. chipset ALL BLUE MAX TX). Ultra DMA 33 uměla realizovat rychlosti přenosu 33 MB/s, Ultra DMA 66 uměla 66 MB/s. 14
ATA Type Operating Mode PIO(Programmed Fast ATA Input/Output) Mode3 Multiword DMA(Direct Fast ATA Memory Access) Mode1 Fast ATA-2 PIO(Programmed Input/Output) Mode4 Multiword DMA(Direct Fast ATA-2 Memory Access) Mode2 Ultra ATA(Ultra DMA33) Ultra DMA (Direct Memory Access) Mode2 Maximum Data Transfer Rate 11.1MB/s 13.3MB/s 16.6MB/s 16.6MB/s 33.2MB/s Přibližně 6 let jsou k dispozici HDD Ultra DMA 66, nejnověji Ultra DMA 100. Někdy bývá použito označení Ultra ATA XX. Kabely rozhraní ATA Mají buď 40 nebo 80 vodičů, obě varianty však používají konektory se 40 vývody. 15
Kabel s 80 vodiči všechny přidané vodiče jsou propojeny se zemí zajišťují dodatečnou ochranu proti rušení. U vyšších standardů rozhraní ATA je použití kabelu s 80 vodiči povinné. Příkazy rozhraní ATA Rozhraní ATA bylo navrženo pro řadič WD1003 => všechny disky standardu ATA musí podporovat 8 příkazů tohoto řadiče. Dnes množina příkazů je výrazně širší. Důležitýn příkaz: Identify Drive Po obdržení tohoto příkazu odešle disk systému informaci o délce 512 slabik podrobnosti o disku: počet cylindrů, sektorů, hlav, typ disku, výrobve disku, verze firmware, výrobní číslo, informace o režimech PIO a DMA podporovaných didkem. 16
S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) Průmyslový standard umožňující předvídání poruch. Disk sleduje určité parametry a vlastnosti, jejichž změna může znamenat blížící se poruchu. Jsou to: - výška vznášení hlav nad povrchem disků, - přenosová rychlost, - doba roztáčení disku, - počet realokovaných sektorů, - počet chyb při vyhledávání, - průměrná doba vyhledávání, - počet opakovaných pokusů o roztočení disku, - počet opakovaných pokusů o kalibraci disku. 17
Omezení kapacity disků Specifikace Maximálně sektorů Kapacita [GB] Standardní BIOS 1 032 192 0,53 (adresování CHS) BIOS 16 515 072 8,4 s překladem (ECHS, LBA) Rozhraní ATA 267 386 880 136,9 Rozšířený BIOS (EDD BIOS) 18 446 744 073 709 551 600 9,4 x 10 12 18