196267. lajstromszámú szabadalom • Eljárás adatok elhelyezésére hajlékony mágneslemezen
1 196 267 2 A továbbiakban a szektorok fenti logikai sorszámozását megvalósító formattáló programot ismertetjük röviden. A példánkban szereplő TAP 34 berendezésben alkalmazott INTEL 8272 típusszámú vezérlő áramkör programozását az INTEL Corporation „COMPONENT DATA CATALOG 1982” katalógusa írja le (9—146...9—164). A leírás szerint egy sáv formattálásához, a FORMAT parancs kiadása után, a vezérlő áramkör számára folyamatosan kell megadni az egymást követő fizikai szektorok elejére írandó, azok azonosítására szolgáló adatokat, amelyek többek között a szektorok logikai sorszámait is tartalmazzák. A többi azonosító adat a találmányunk szempontjából közömbös. A szektorok azonosítására szolgáló adatokat a vezérlő áramkör ismert módon vagy a TAP 34 berendezés mikroprocesszorától kapja, vagy egy közvetlen memória hozzáférést biztosító (DMA) áramkör segítségével a TAP 34 berendezés memóriájából, egy erre kijelölt pufferból olvassa. A TAP 34 berendezés ezt az utóbbi módszert alkalmazza, ezért a formattálást vezérlő programnak minden egyes sáv formattálása előtt össze kell állítani a memóriában, az erre kijelölt pufferben egy adatsorozatot, amely az adott sáv fizikailag egymást követő szektorainak azonosítására szolgáló adatokat tartalmazza. A program az adatsorozat összeállításához az egymást követő szektorok logikai sorszámait egy memória táblázatból veszi, amely a példánkban a korábban már ismertetett 1. táblázat logikai sorszám oszlopának felel meg. Ebben a logikai sorszám memória táblázatban egy mutató jelöli ki az adott sáv első fizikai szektorához hozzárendelő logikai sorszámnak megfelelő elemet. A program ezt a mutatót minden egyes sáv formattálása után oly módon állítja, hogy az adott sáv utolsó és a következő sáv első logiaki sorszámú szektora közé a találmányunk szerinti eljárás alapján számított számú szektor, példánkban tíz szektor kerüljön. A logikai sorszámokat tartalmazó memórai táblázatban a memória táblázat utolsó elemét (25. logikai sorszám) a memória táblázat első eleme (01. logikai sorszám) követi. Látható, hogy példánkban valamely sáv utolsó (26.) logikai sorszámú szektora és az öt követó sáv első (1.) logikai sorszámú szektora között — eltolás nélkül — 20 szektor helyezkedik el, amit az 1. táblázatban két nyíl jelöl. Ez a távolság úgy csökkenthető a példánkban számított 10 szektomyira, hogy a logikai sorszámok táblázatában az első eiemet kijelölő mutatót minden soron következő sáv formattálása előtt 20—10=10 elemmel előrébb állítjuk. Az előbbi formattálást megvalósító egy lehetséges program folyamatábráját mutatja az 5a. és az 5b. ábra. A folyamatábra csak a találmányunk szerint lényeges lépéseket ábrázolja részletesen a példánknak megfelelően. A program indítása (START) után beállítja a sávszám kezdeti értékét, például az első sávra. Ezután a logikai sorszám tábla kczdóclem mutatóját állítja be egy kezdeti értékre, például a fenti 1. táblázat jobb oldali oszlopának legfelső 01 értékére. Ezt követi a szektor számláló és a puffer cím kezdeti értékének beállítása. Ezután az aktuális táblacicm mutatót kell beállítani a logikai sorszám tábla fent beállított kczdóclem mutató értékére. A következó lépésben a program a logikai sorszám táblából az aktuális táblaelcm mutató alapján előveszi a szektor sorszámot, majd a szektor sorszámot és az egyéb szektor azonosító adatokat beírja a pufferbe. Ezután megvizsgálja, hogy a szektor a sáv utolsó szektora volt-e, és ha igen, a program a 2-vel jelzett úton folytatódik. Ha nem, akkor lépteti az aktuális táblaelem mutatót, megvizsgálja, hogy ez a tábla utolsó eleme után mutat-e és ha igen, akkor az aktuális táblaelem mutatót a tábla elejére állítja, ha nem, akkor erre a lépésre nincs szükség. Ezután következik a puffer cím és a szektor számláló növelése. Ezután a program a fentiek szerint a sáv következó szektorának azonosító adatait írja be a pufferbe. Amikor ez az utolsó szektornál is megtörtént, a program a 2-vel jelzett úton folytatódik. Ekkor a DMA vezérló megkapja a puffer kezdő címét és hosszát, és kiadásra kerül a FORMAT parancs a 8272 típusszámú vezérló áramör felé az adott sáv formattálására, végrehajtás alatt a program várakozik, amit a Parancs végrehajtva? lépés jelez. Amennyiben a vezérlő áramkör a parancs végrehajtásának megfelelő jelet ad, megvizsgálja a program ugyancsak a vezérlő áramkör által adott jc! alapján, hogy a végrehajtás sikeres volt-e. Ha igen, akkor megvizsgálásra kerül, hogy a formattálás az utolsó sávnál történt-e és ha igen, a programnak vége van. Ugyancsak vége van a programnak, ha nem volt sikeres a formattálás. Ha nem az utolsó sáv formattálása történt meg, akkor a program megnöveli a sáv sorszámot, a logikai sorszám tábla kezdóelem mutatóját a találmány szerinti eltolásnak megfeló értékkel megnöveli és az ilyen módon megnövelt kezdőelem mutató táblahossz szerinti modulo értékét képezi annak érdekében, hogy a tábla vége után folyamatosan az eleje következzék. Az ilyen módon beállított kezdóelem mutató alapján visszatér a program az 1-gyel jelzett úton a következő sáv szektor azonosító adatainak összeállítására. Szabadalmi igénypontok 1. Eljárás adatok elhelyezésére tárolóberendezés mágneslemezén, amelynek során a forgó mágneslemez felületére az adatokat koncentrikus sávok menten író/olvasó fejjel felírjuk, amely író/olvasó fejet folyamatos írás/olvasás során egyik sávról a következó sávra léptetjük, és ahol az adatokat a sávokon úgy helyezzük el, hogy egy sávon belül az adatok nem egyazon sugár mentén kezdődnek és érnek véget és/vagy a különböző sávokon az adatok kezdőpontjai nem egyazon sugár mentén helyezkednek el, azzal jellemezve, hogy valamely sáv adatainak végpontjához tartozó sugár és a folyamatos írás/olvasás során a következő sáv adatainak kezdőpontjához tartozó sugár által bezárt szöget úgy választjuk meg, hogy az legalább akkora legyen, mint amekkora szöggel a forgó mágneslemez elfordul, mialatt az író/olvasó fejnek az egyik sávról a következó sávra történő léptetése 5 10 15 20 25 30 35 40 45 50 55 60 65 6