1. ZADÁNÍ

Najděte odpovědi na následující otázky:

  1. Jaké rychle se disk otáčí?
  2. Jaká je přibližná délka sektoru a délka jeho záhlaví (v ms)?
  3. Kolik má disk sektorů na stopě?
  4. Jakým signálem řadiče je podmíněn výstup signálu INDEX?
  5. Jaká je doba vystavení?
  6. Jde v tomto konkrétním případě o rozhraní ST506 nebo ST412?
  7. Používá disk kódování MFM nebo RLL?

2. TEORETICKÁ ČÁST

Pro připojení disků - vnějších pamětí - do výpočetního systému přes řadič se používají rozhraní. My se zaměříme na jedno ze starších, kdysi velmi rozšířené rozhraní, sériové ST506/412. K specifikaci standardu byl využit populární výrobek firmy Seagate.

K připojení slouží dva konektory, jeden větší řídící pro přenos informací nutných pro řízení činnosti disku, druhý menší datový, pro signály datové.

Disk je zařízení bez vlastní inteligence, při čtení odesílá jen právě ta data, která z povrchu přečetl včetně reverzací vzniklých pro synchronizaci a služebních údajů, např. údajů pro zabezpečovací kódy a čísla válců, stop a sektorů. Při zápisu stejně tak uloží na médium přesně ta data, co dostane na své vstupy. Ke správné činnosti tedy potřebujeme složitější řadič. Řadič nejčastěji umožňuje připojit dvě jednotky disků, obě na jeden kabel řídící a na dva příslušné kabely datové.

Řídící kabel má tyto signály s uvedenýmy významy:

Označení Popis Význam
RWC Reduced Write Current zápis sníženým proudem
HS0, 1, 2# Head Select 0, 1, 2 Část lineární adresy zpracovávaného povrchu
WG# Write Gate povolení zápisu
SC# Seek Complete hlavičky jsou na požadovaném válci
TK000# Track 000 vystavovací mechanismus je na vnějším válci
WF# Write Fault zápis není možné uskutečnit
INDEX# Index indikace počátku válce
READY Drive Ready motor mechaniky dosáhl jmenovitých otáček
STEP# Step provedení kroku vystavovacího mechanismu
DIRIN# Direction In směr kroku vystavovacího mechanismu
DS0, 1# Drive Select 0, 1 výběr připojené mechaniky

Datový kabel má jen dva hlavní signály, čtená a zapisovaná data, a signál DSELECTED# - Drive Selected.

3. POUŽITÉ NÁSTROJE A PŘÍSTROJE

4. ODPOVĚDI NA OTÁZKY

4.1 Jak rychle se disk otáčí?

K získání odpovědi změříme pomocí osciloskopu vzdálenost počátků dvou nulových úrovní signálu INDEX#. Jeho hrana k nule totiž označuje počátek válce. Naměřená hodnota 16,7 ms přepočtená na otáčky za minutu (3592,8 ot./min) se dobře shoduje s tou udávanou výrobcem (3600 ot./min).

4.2 Jaká je přibližná délka sektoru a délka jeho záhlaví (v ms)?

K této otázce využijeme program pro zápis zadaného počtu sektorů na určitý válec počínaje zadaným číslem sektoru. Zapíšeme na válec 600, povrch 0 od 1 sektoru dalších 20 sektorů. Po zapsání 17 sektorů pozorujeme novou změnu signálu INDEX#. Znamená to, že disk přešel na nový válec a výplývá z toho tedy, že na stopu se vejde maximálně 17 sektorů.

Víme, že k zápisu dat na disk musí být aktivní signál WG. Ten změní hodnotu při začátku zápisu hlavičky sektoru a poté opět při začátku zápisu vlastních dat. Naměřené hodnoty jsou 0,06 ms pro záhlaví a 0,85 ms pro data.

4.3 Kolik má disk sektorů na stopě?

Z druhé otázky vyplývá, že takových sektorů je 17. Teoreticky by se stopu vešlo 18,35 sektoru, ale každá stopa na konci obsahuje 352 B údajů navíc. Zjištěná hodnota je ve shodě s údajem výrobce.

4.4 Jakým signálem řadiče je podmíněn výstup signálu INDEX?

Signál INDEX označuje začátek válce. Řadič musí vědět, pro který ze dvou možných připojených disků takový signál platí. Proto je výstup signálu INDEX podmíněn aktivní úrovní jednoho ze signálů DS0 nebo DS1. Měření na osciloskopu tuto domněnku potvrdilo.

4.5 Jaká je doba vystavení?

Použijeme program pro cyklické čtení ze dvou různých válců, různě vzdálených. Pomocí osciloskopu měříme vzdálenosti dvou nulových úrovní signálu SC#, který vypovídá o nastavení hlaviček na požadovaný válec. Naměřené hodnoty jsou dobou vystavení a uvádí je následující tabulka.

Vzdálenost válců Doba vystavení [ms]
1 6,8
2 8,6
5 9,7
50 15,5
300 29,5

Z naměřených hodnot vypočteme průměr jako reprezantanta běžné činnosti disku: 14,8 ms.

4.6 Jde v tomto konkrétním případě o rozhraní ST506 nebo ST412?

Disky s rozhraním ST506 a ST412 se liší pouze v možnosti zpracovat několikanásobně přesuny vystavovacího mechanismu, jinak jsou, i vzhledově, otožné. Variantě 412 stačí zaslat požadovaný počet kroků ve formě sériových pulsů a disk je poté svou rychlostí provede. Výsledek hlasí signálem SC. Varinta 506 umí obsloužit jen jeden požadavek na krok.

Pomocí osciloskopu jsme mohli vidět několik nulových úrovní signálu STEP# před nulovou úrovní SC# při přesunu hlaviček. Disk má tedy rozhraní ST412.

4.7 Používá disk kódování MFM nebo RLL?

Protože jsme neměli přístup k datovému kabelu disku, nemohli jsme na tuto otázku odpovědět. Místo přímé odpovědi uvádíme jen teoretický rozbor kódování MFM a RLL včetně obrázků.

Kódování MFM

Je hojně používáné i dnes, zkratka znamená modifikovaná frekvenční modulace. Každá datová jednička je zapsána jednou reverzací, nula je bez reverzace. Pro synchronizaci reverzací navíc označíme dvě po sobě jdoucí nuly. Lepší představu poskytne následující obrázek.

Kódování RLL

Jedná se novější kódování než MFM, zkratka značí Run length limited codes. Rozumí se jí, že počet zapsaných nul mezi dvěma jedničkami je shora i zdola omezen. Různé varianty se liší právě minimálním a maximálním počtem těchto nul, který se uvádí v závorce za jménem kódu. My zde popíšeme nejrozšířenější variantu RLL(2, 7).

Vstupní datový řetězec se převádí podle tabulky na odpovídající RLL obraz, který se přímo zapisuje na disk pomocí reverzací. Odpadají tedy synchronizační reverzace, které se používají MFM. V předloze hledáme od počátku nejdelší řetězce, které se shodují s těmi v tabulce a vytváříme k nim příslušné RLL obrazy. Jejich spojením vznikne řetězec, který mezi dvěm jedničkami obsahuje od dvou do sedmi nul. Jedničky se pak zapíší jako reverzace, nuly se nezapisují. Celkově se dosáhne zmenšení počtu reverzací a tím zvýšení kapacity beze změny vlastností média. Tabulka pro kódování a obrázek s příkladem následuje.

Datový vzor RLL obraz
11 1000
10 0100
000 100100
011 001000
010 000100
0010 00100100
0011 00001000

5. ZÁVĚ

R

Podařilo se nám najít odpovědi na všechny položené otázky.

  1. Jak rychle se disk otáčí? 3592,8 ot./min
  2. Jaká je přibližná délka sektoru a délka jeho záhlaví (v ms)? 0,06 ms a 0,85 ms
  3. Kolik má disk sektorů na stopě? 17
  4. Jakým signálem řadiče je podmíněn výstup signálu INDEX? DS0 nebo DS1
  5. Jaká je doba vystavení? 14,8 ms
  6. Jde v tomto konkrétním případě o rozhraní ST506 nebo ST412? ST412
  7. Používá disk kódování MFM nebo RLL? viz. 4.7

6. LITERATURA

[1] Šnorek, Miroslav: Periferní zařízení. Vydavatelství ČVUT, 2000.