36PZ - Měření na disku IDE (úloha B)

Jindřich Gottwald (j.gottwald@sh.cvut.cz)
Jan Karabina (karabij@feld.cvut.cz)

1 Zadání

Úkolem tohoto měření je zjistit parametry měřeného disku a odpovědět na několik otázek:

  1. Jaké má disk otáčky?
  2. Jaká je přibližná délka záhlaví sektorů a jaká je délka sektoru?
  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. Jaké je rozhraní disku: ST506 nebo ST412?
  7. Používá disk kódování MFM nebo RLL?
Navíc na dalším počítači máte za úkol provést diagnózu poskytnutých disků s pomocí technologie S.M.A.R.T.

2 Trocha teorie

2.1 Sériové rozhraním ST506/412

K připojení slouží dva konektory: pro přenos řídících a datových signálů. Disk k práci vyžaduje podporu řadiče. Řídícím kabelem se přenášejí signály, kterými se vybírá konkrétní mechanika, čtecí nebo zapisovací hlava, ovládá pohyb jejího vystavovacího mechanismu a získává se informace o stavu mechaniky. Řadič do disku zašle požadovaný počet kroků ve formě rychlé posloupnosti sériových pulsů a disk je pak svou rychlostí zpracovává. Ukončení vystavení hlásí jako SEEK COMPLETE.


2.2 Rozdíl mezi rozhranímST412 a ST506

Rozhraní ST412 je trochu inteligentnější než rozhraní ST506. Umí několikanásobné přesuny vystavovacího mechanismu. Řadič vyšle do disku požadovaný počet kroků ve formě sériových pulsů a disk je potom provede najednou. Řadič potom čeká, dokud disk neoznámí, že má hotovo. Při přestavení hlav o více stop řadič nečeká s vysláním signálu krok až se předchozí krok provede.


2.3 Kódování MFM a RLL

U kódování MFM posloupnost bitů obsahuje nejen reverzace představující datové jedničky, ale i reverzace synchronizační, které se vkládají mezi zapisované datové nuly. K oddělení datové a synchronizační složky slouží datový separátor řadiče. Kódování RLL nepracuje se synchronizačními a datovými reverzacemi. Binární vzory se převádí na RLL obrazy. Jakákoli kombinace vzorů se zobrazí jako bitová posloupnost obsahující mezi dvěma následujícími jedničkami od dvou do sedmi nul. Nejkratší bitová vzdálenost dvou po sobě jdoucích reverzací je tedy 2, nejdelší 7.

MFM kódování se používá pouze na starších discích (jako ten náš v laboratoři :). Nové disky používají některou variantu RLL, avšak MFM se stále používá u disket.

2.3.1 Kódování bez MFM a RLL

Data se na disk ukládají jako změny orientace magnetizace povrchu disku (magnetická reverzace). Nejjednodušší způsob je uložit jedničku jako reverzaci a nulu bez reverzace.

2.3.1.1 Příklad:

Bity: 1001.0011 uložíme jako RDDRDDRR kde D = bez reverzace, R = reverzace.

Směr magnetizace (počáteční stav = "<"):

>>><<<><
Teoreticky bude tento systém velmi efektivní, ale v praxi (jako obvykle) narazíme na několik problému. Disk používá přechody mezi R a D k synchronizaci.

2.3.1.2 Příklad:

Rychlost otáčení disků nebývá konstantní. Řekněme že osciluje o 0.5%.

Vezměme ``starý'' disk s 34 sektory na stopě, 3600 otáček za minutu (60 otáčen za vteřinu) a 560 bytů (data+hlavička) na sektor. Rychlost otáčení bude kolísat mezi 3591 a 3609 otáčkami za minutu.

Normální rychlost: 34*560*8 = 152320 bitů na stopě. Každá otáčka trvá 1/ 60 =0.016666s => 0.016../(34*560*8)= 109.418.. ns na bit.

Nejnižší rychlost: 3591 otáček za minutu = 0.016708437 sekund na otáčku => 109.69.. ns na bit.

Nejnižší rychlost: 3609 otáček za minutu = 0.016625103 sekund na otáčku => 109.15.. ns na bit.

Rozdíl mezi nejvyšší a nejnižší rychlostí je 0.54 ns.

Čtení 100 bytů (800bitů) nejnižší rychlostí bude trvat 87.752us, čtení 100 bytů nejvyšší rychlostí bude trvat 87.320 us. Rozdíl je 432ns. Za tuto dobu může disk přečíst přibližně 4bity. Takže při čtení 800 bitů bez synchronizace disk nepozná jestli poslední bit byl bit číslo 796 nebo 804!

Problém vyřešíme ``chytrým'' kódováním dat, tak abychom zabránili výskytu dlouhých stejně orientovaných sekvencí magnetického záznamu (tj. dlouhým sekvencím 0 nebo 1).

2.3.2 MFM kódování

Datový bit Směr magnetizace
1

Posloupnost bitů 10001011 bude zakódována jako:

DR.DD.RD.RD.DR.DD.DR.DR.DD.RD

Dlouhá sekvence nul bude RDRDRDRDRD... a dlouhá sekvence nul bude DRDRDRDRDRDR... obojí umožní synchronizaci.

2.3.3 2,7 RLL kódování

Datový bit Směr magnetizace Počet pulzů
00

Posloupnost bitů 100.01.01.100 bude zakódována pomocí 2,7 RLL jako:

DDRDDD.DRDD.DRDD.DDRDDD

Výhoda RLL oproti MFM je tedy v menším množství pulzů. Každé dva pulzy také oddělují nejméně dvě oblasti bez pulzu což umožní vetší rychlost přenosu dat. RLL kódování může oproti MFM zdvojnásobit kapacitu disku avšak plotny disku musí byt kvalitnější.

Více podrobnosti v [1,3].

2.4 Signály řadiče

RWC# výstup REDUCED WRITE CURRENT zápis sníženým proudem
HS2-0#

3 Popis měření

Měření se provádělo pomocí osciloskopu. Podle popisu konektorů harddisku se vždy jednotlivé kanály osciloskopu připojily na správný pin konektoru. Seek, write a ostatní potřebné operace pro měření se prováděli pomocí jednoduchých prográmků. Z průběhů na osciloskopu se následně odečetli potřebné údaje Pro odečtení SMART hodnot byl použit specializovaný program.

4 Výsledky

  1. Jaké má disk otáčky?
    Zobrazovaný průběh signálu #INDEX. Naměřená frekvence 59,97Hz což odpovídá přibližně 3600rpm. Jedna otáčka tedy trvá 16,6ms.
  2. Jaká je přibližná délka záhlaví sektorů a jaká je délka sektoru?
    Zobrazované průběhy signálů #INDEX a #WG se současným prováděním zápisu. Naměřená velikost záhlaví 60us a celého sektoru 916us.
  3. Kolik má disk sektorů na stopě?
    Počet sektorů jsme při měření úkolu dva na osciloskopu napočítali 17. Pro kontrolu jsme vydělili délku jedné otáčky délkou sektoru.
  4. Jakým signálem řadiče je podmíněn výstup signálu INDEX?
    Signály #WG a #DS0,1.
  5. Jaká je doba vystavení?
    Zobrazované průběhy signálů #STEP a #SC. Naměřené hodnoty odpovídali 6,48ms.
  6. Jaké je rozhraní disku: ST506 nebo ST412?
    Jedná se o 'inteligentnější' rozhraní ST412. (více viz 2.2)
  7. Používá disk kódování MFM nebo RLL?
    Disk pravděpodobně používá kódování MFM. (více viz 2.3)
    Ověření této myšlenky by se provedlo měřením signálu na disku pří ukládání zvolených dat. Například pro posloupnost bitů 10001011 by při MFM kódování byla data uložena jako DRDDRDRDDRDDDRDRDDRD a při RLL jako DDRDDDDRDDDRDDDDRDDD
  8. Diagnoza SMART - počet startování disku.
    Odečtená hodnota SmartStartStop je 608.

Bibliography

1
Miroslav Šnorek: Periferní zařízení, Vydavatelství ČVUT, Praha 2002

2
Stránky předmětu Periferní zařízení http://service.felk.cvut.cz/courses/36PZ/

3
MFM and RLL encoding http://www.wtysoft.com/ataref.htm



2004-04-26