PL184898B1 - Sposób i urządzenie do sterowania dostępem do dysku zapisu - Google Patents

Sposób i urządzenie do sterowania dostępem do dysku zapisu

Info

Publication number
PL184898B1
PL184898B1 PL96322016A PL32201696A PL184898B1 PL 184898 B1 PL184898 B1 PL 184898B1 PL 96322016 A PL96322016 A PL 96322016A PL 32201696 A PL32201696 A PL 32201696A PL 184898 B1 PL184898 B1 PL 184898B1
Authority
PL
Poland
Prior art keywords
disk
head
access
recording
data
Prior art date
Application number
PL96322016A
Other languages
English (en)
Other versions
PL322016A1 (en
Inventor
TotsukaTakashi
KatoYasunobu
OyaNoboru
ShioyaHiroyuki
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Publication of PL322016A1 publication Critical patent/PL322016A1/xx
Publication of PL184898B1 publication Critical patent/PL184898B1/pl

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0613Improving I/O performance in relation to throughput
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0634Configuration or reconfiguration of storage systems by changing the state or mode of one or more devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0677Optical disk device, e.g. CD-ROM, DVD
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B11/00Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers therefor
    • G11B11/10Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers therefor using recording by magnetic means or other means for magnetisation or demagnetisation of a record carrier, e.g. light induced spin magnetisation; Demagnetisation by thermal or stress means in the presence or not of an orienting magnetic field
    • G11B11/105Recording on or reproducing from the same record carrier wherein for these two operations the methods are covered by different main groups of groups G11B3/00 - G11B7/00 or by different subgroups of group G11B9/00; Record carriers therefor using recording by magnetic means or other means for magnetisation or demagnetisation of a record carrier, e.g. light induced spin magnetisation; Demagnetisation by thermal or stress means in the presence or not of an orienting magnetic field using a beam of light or a magnetic field for recording by change of magnetisation and a beam of light for reproducing, i.e. magneto-optical, e.g. light-induced thermomagnetic recording, spin magnetisation recording, Kerr or Faraday effect reproducing
    • G11B11/10595Control of operating function
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B21/00Head arrangements not specific to the method of recording or reproducing
    • G11B21/02Driving or moving of heads
    • G11B21/08Track changing or selecting during transducing operation
    • G11B21/081Access to indexed tracks or parts of continuous track
    • G11B21/083Access to indexed tracks or parts of continuous track on discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/102Programmed access in sequence to addressed parts of tracks of operating record carriers
    • G11B27/105Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B5/00Recording by magnetisation or demagnetisation of a record carrier; Reproducing by magnetic means; Record carriers therefor
    • G11B5/48Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed
    • G11B5/54Disposition or mounting of heads or head supports relative to record carriers ; arrangements of heads, e.g. for scanning the record carrier to increase the relative speed with provision for moving the head into or out of its operative position or across tracks
    • G11B5/55Track change, selection or acquisition by displacement of the head
    • G11B5/5521Track change, selection or acquisition by displacement of the head across disk tracks
    • G11B5/5526Control therefor; circuits, track configurations or relative disposition of servo-information transducers and servo-information tracks for control thereof
    • G11B5/553Details
    • G11B5/5547"Seek" control and circuits therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0653Monitoring storage devices or systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/20Disc-shaped record carriers
    • G11B2220/25Disc-shaped record carriers characterised in that the disc is based on a specific recording technology
    • G11B2220/2508Magnetic discs
    • G11B2220/2516Hard disks

Abstract

1 . Sposób sterowania dostepem do dysku zapisu, w którym wyznacza sie uklad bloków da- nych na dysku, programuje sie kolejnosc realiza- cji zadan dostepu do dysku z minimalizacja wiel- kosci przemieszczenia glowicy podczas uzyski- wania przez glowice dostepu do dysku zapisu i realizuje sie dostep do dysku przez glowice za- pisu na podstawie wyniku programowania zadan, znamienny tym, ze uklad bloków danych na dys- ku zapisu (5) wyznacza sie w zaleznosci przynaj- mniej od okreslonego opóznienia katowego (?s) stanowiacego katowa róznice wzdluz obwodu pomiedzy poczatkami sasiednich bloków danych i minimalizuje sie czas opóznienia obrotowego (Tr) stanowiacy czas oczekiwania obrotu dysku zapisu do punktu startowego, w którym wyste- puja dane w cylindrze w przecietnej odleglosci przemieszczenia po realizacji dostepu glowicy do dysku zapisu (5) Fig . 3 PL PL PL PL PL

Description

Przedmiotem wynalazku jest sposób i urządzenie do sterowania dostępem do dysku zapisu, przy wymaganiu dużej prędkości transferu i dostępu do nieciągłych pozycji na dysku, czyli dostępu swobodnego.
Wraz ze wzrostem szybkości komputerów, na znaczeniu zyskały dyskowe urządzenia pamięciowe zapewniające dużąszybkość, o dostępie swobodnym. Ostatnio, zwłaszcza w technologii coraz bardziej powszechnego sprzętu multimedialnego, podstawowe jest uzyskanie dostępu do obrazów ruchomych i dźwięku, zapisanych w postaci danych cyfrowych z dużą szybkością w oddzielonych od siebie miejscach Mianowicie do zapisywania danych multimedialnych, na przykład obrazu i dźwięku potrzebna jest duża szybkość transferu i możliwość pracy w czasie rzeczywistym Duża szybkość transferu oczywiście staje się niezbędna przy operowaniu dużą ilością obrazów ruchomych i dźwięku
184 898
Ponadto, właściwość pracy w czasie rzeczywistym wymaga, aby nie była przekraczana pewna górna granica czasu przetwarzania. Na przykład w przypadku obrazu ruchomego przy kolejnym wyświetlaniu mniej niż 30 ramek na sekundę w stałych odstępach, ruch staje się nienaturalny.
Ponadto, kiedy dysk me dysponuje odpowiednią wydajnością, występują również przerwy w dźwięku i generowany jest nieprzyjemny szum. Zatem, jeżeli dane multimedialne nie sąprzegotowane i wykorzystywane w konkretnych odpowiednich momentach, to występująnieregularne zaniki wartości informacji. Odpowiednio do tego, przy zapisie dla multimediów ważne jest zagwarantowanie granicy górnej, to znaczy zagwarantowanie, że przetwarzanie będzie się odbywało w określonym czasie. W przeciwnym razie, nawet spełniając parametry pod względem wydajności przeciętnej, możliwe jest w pewnych momentach spóźnianie się danych. Zagwarantowanie maksymalnej wartości czasu przetwarzania uważa się za parametr czasu rzeczywistego i jest koniecznym zadaniem w dziedzinie multimediów.
W przypadku zapisywania informacji dla komputerów, głównym celem jest zapewnienie wydajności przeciętnej. Wartość najgorszego przypadku nie zawsze utrzymywana jest niska. Znaczy to, ze występują duże odchylenia w zakresie czasu przetwarzania przy zapisywaniu. Ta okoliczność silnie kontrastuje z wymaganiami odnoszącymi się do zapisu dla multimediów.
Poza tym, w głównym obszarze zastosowania techniki multimedialnej musi być możliwy do realizowania z dużąprędkościąkolejny dostęp do danych w położeniach oddzielonych fizycznie (dostęp swobodny). Na przykład system video-on-demand (VOD -video na zamówienie) jest systemem umożliwiającym dużej liczbie widzów wywołanie i oglądanie wybranych pozycji w wybranym czasie. W celu zrealizowania tego, konieczne jest równoległe przetwarzanie żądań od wielu widzów i szybkie przygotowanie danych części aktualnie oglądanych przez widzów Z tego powodu staje się nieodzowne śledzenie z dużą szybkością źródeł obrazów ruchomych itp., zapisanych w wielu różnych miejscach na dysku.
Ponadto, ostatnio filmy i audycje wideo montowano nie na taśmach i filmach, lecz na dyskach. W przypadku taśmy, przy wstawieniu kilkusekundowej sceny w pewne miejsce w pobliżu początku programu na przykład jednogodzinnego, dla uniknięcia nakładania się zapisu, konieczne jest przewinięcie taśmy na koniec wstawki i następnie ponowne nagranie programu. W odróżnieniu od szybkiego odtwarzania analogowych taśmowych kaset fonicznych, takie powtórne zapisywanie wymaga czasu równego w przybliżeniu czasowi trwania programu, zatem wydajność jest niska. Natomiast w przypadku dysku, ze względu na możliwy swobodny dostęp do niego, można umieścić wstawkę w innym miejscu na dysku i wykonywać skok do tego miejsca i uzyskiwać dostęp do wstawki wizyjnej na czas odtwarzania, a następnie wracać do pierwotnej pozycji i kontynuować odtwarzanie wizyjne. Znana jest metoda, wychodząca o krok dalej, w której wszystkie sceny (cięcia) programu umieszczone są w różnych miejscach dysku i podczas odtwarzania odbywa się śledzenie ich z tak dużą szybkością, że przy odtwarzaniu sprawiają wrażenie, jak gdyby odtwarzana była pojedyncza taśma. Przy takim podejściu można przełączać sceny i zmieniać ich długość po prostu przez zmianę porządku śledzenia danych na dysku, a zatem osiąga się skrajnie wysoką wydajność montażu. Nazywa się on montażem nieliniowym. Można jednak zauważyć, ze również w tym przypadku konieczne jest śledzenie z dużą szybkością oddzielonych fizycznie miejsc na dysku.
Jak wynika z tych przykładów, w dziedzinie zastosowań multimedialnych skrajnie ważne jest uzyskiwanie z dużąszybkościądostępu do danych przy śledzeniu nieciągłych pozycji na dysku, co nazywa się dostępem swobodnym, lecz czas potrzebny na przechodzenie przez nieciągłe pozycje obejmuje czas na przemieszenie głowicy do potrzebnego cylindra, zwany czasem wyszukiwania, i czas oczekiwania na obrócenie się dysku aż do początku pojawiania się danych na cylindrze, który nazywany jest czasem opóźnienia obrotowego. Te czasy nazywane są ceną dostępu 1m większa jest ona w porównaniu z czasem rzeczywistego dostępu do danych, tym więcej czasu zabiera transfer danych z dysku, a zatem tym mniejsza jest wydajność
Zakładając, ze czas wyszukiwania dla dysku wynosi Ts, a czas opóźnienia obrotowego wynosi Tr, to cena dostępu do dysku wyniesie Ts+Tr. Kiedy głowica dysku znajduje się w obszarze danych, a czas rzeczywistego dostępu do danych wynosi Tt, wydajność w porównaniu z przypadkiem
184 898 nie wymagającym skoku głowicy do oddzielnej pozycji, maleje w sposób określony następującym równaniem:
Tt/(Tr+Ts+Tr) (1)
W szczególności, w przypadku w którym podczas śledzenia danych w różnych pozycjach realizowany jest dostęp swobodny, w porównaniu z przypadkiem, w którym dostęp do danych na dysku odbywa się sekwencyjnie od początku do końca, należy spodziewać się zmniejszenia o tę wartość wydajności. Odpowiednio do tego, zadanie w przypadku dysków multimedialnych polega na zmniejszeniu spadku wydajności przy dostępie swobodnym przy zachowaniu właściwości pracy w czasie rzeczywistym, dla określenia górnej granicy czasu przetwarzania i zapewnienia zawsze pracy w czasie równym lub krótszym, od tej górnej granicy.
Ostatnio przeprowadzono badania dotyczące sposobu zagwarantowania właściwości czasu rzeczywistego przy dostępie do dysków.. Na przykład w pracy D. Andersona, Y. Osawy i R. Govidana, „File system for Continuous Media” (System plikowy dla nośnika ciągłego), ACM Transactions on Computer Systems, Vol. 10, nr 4, str. 311-337,1992 (poniżej zwanej „Anderson 92”), opisano próby poprawienia wydajności systemu przez optymalizację zależności między ilością pamięci buforowej do przejściowego zapisywania danych odczytywanych z dysku i ilością danych, które byłyby odczytane w procesie prostym.
Kiedy jednak dochodzi do ceny dostępu do dysku, zakłada się, że przy każdym dostępie swobodnym mogą wystąpić najgorsze możliwe do pomyślenia wartości zarówno czasu wyszukiwania, jak i opóźnienia obrotowego. W szczególności za czas wyszukiwania przyjmuje się czas na wyszukiwanie od obwodu wewnętrznego do obwodu zewnętrznego, a za opóźnienie obrotowe czas oczekiwania równy dokładnie jednemu okresowi obrotu. Oczywiście przy takim założeniu oszacowanie najgorszej wartości czasu przetwarzania jest najbardziej bezpieczne, lecz taka operacja nie jest wykonywana każdorazowo w rzeczywistości, a zatem oszacowanie wartości najgorszego przypadku będzie bardzo niskie w porównaniu w wydajnością możliwą do uzyskania z dysku w rzeczywistości i takie oszacowanie ma niewielkie znaczenie w charakterze danej projektowej.
Ponadto, w publikacji V. Rangana i H. Vina, „Efficient Storage Technique for Digital Continuous Multimedia” (Skuteczna metoda zapisu plikowego dla cyfrowego ciągłego nośnika multimedialnego), IEEE Transactions on Knowledge and Data Engineering, wol. 5, nr 5, str 564-573, 1993 (poniżej zwanej „Rangan 93”), bada się możliwość, przy pocięciu pliku wizyjnego na zespół segmentów i zapisywaniu różnych segmentów w różnych pozycjach, określenia długości tych segmentów i interwałów między segmentami dla zachowania właściwości pracy w czasie rzeczywistym.
W tym przypadku jednak, również przy skoku między segmentami (przy dostępie swobodnym), zakłada się, ze najgorsza wartość ceny występuje za każdym razem w taki sam sposób, jak opisany w publikacji „Anderson 92”, a zatem występuje problem podobny.
Próbowano również utrzymać wartości najgorszego przypadku niższe niż w przytoczonych publikacjach Umożliwiły one zagwarantowanie dostępu swobodnego przy znacznie większej wydajności. W pracach, N. Reddy'ego i J. Wyllie'go „Disk scheduling in a Multimedial I/O System” (Programowanie zadań dysku w multimedialnym systemie wejścia/wyjścia), ACM multimedia 93, str. 225 - 233, 1993 (poniżej zwanej „Reddy 93”), J. Gemmela, J. Hana i in. „Delay-Sensitive Multimedia on Disk” (Wrażliwe na opóźnienie multimedia na dysku), IEEE Multimedia 1994, str. 56-67,1994 (poniżej zwanej „Gemmel 94”), i M. Chena, D. Kandlura i P. Yu, „Optimization of Grouped Sweeping Scheduling (GSS) with Heterogeneous Multimedia Streams” (Optymalizacja zgrupowanego programowania zadań z przemiataniem (GSS) w przypadku niejednorodnych strumieni multimedialnych), ACM Multimedia 93, str. 235 - 242, 1993 (poniżej zwanej „Chen 93”), próbuje się zredukować cenę dostępu przez wykorzystanie algorytmu programowania zadań głowicy, zwanego „SCAN”.
Ta metoda programowania zadań głowicy (head scheduling) jest sposobem zmniejszenia czasu wyszukiwania przez manipulacje z porządkiem dostępu, kiedy występuje potrzeba dostępu
184 898 do wielu pozycji na dysku. Algorytm SCAN jest algorytmem, w którym dany zbiór żądań WE/WY (#1, #2, ...) jest sortowany w kierunku promieniowym dysku i przetwarzany kolejno. Można uniknąć wahadłowego działania głowicy, które występowałoby, gdyby przetwarzanie odbywało się w kolejności nadchodzenia żądań WE/WY (#1, #2, ...), i z kolei zmniejszyć odpowiednie czasy wyszukiwania. Znanych jest wiele algorytmów służących za algorytm programowania zadań głowicy. Wzmiankowane są one szczegółowo w pracy na przykład H. Deitela, „Operating Systems” (Systemy operacyjne), Addison Wesley, stn 360 - 372, 1990.
Wszystkie prace „Reddy 93”, „Gemmel 94” i „Chen 93” oparte są na założeniu wykorzystania algorytmu SCAN, zatem są w stanie zmniejszyć czas wyszukiwania. Odpowiednio do tego, możliwe jest obniżenie wartości ceny w najgorszym przypadku i zagwarantowanie wyższej wydajności, niż w przypadku rozwiązań przedstawionych w publikacjach „Anderson 92” i „Rangan 93”.
Jednakowoż jedyną rzeczą, którą redukuje algorytm SCAN jest czas wyszukiwania. Nie ma dotychczas wzmianki o zmniejszeniu czasu opóźnienia obrotowego.
W publikacji „Reddy 93” założono, że na dysku istnieje specjalna funkcja zwana mechanizmem dostępu z zerowym oczekiwaniem. Mechanizm dostępu z zerowym oczekiwaniem jest sposobem, w którym dane są odczytywane sukcesywnie nawet ze środka danych w tym momencie czasowym, w którym głowica wchodzi na potrzebną ścieżkę, i odczyt początkowej części danych, która nie zdążyła być odczytana, odbywa się ponownie po jednym obrocie dysku i powrocie tej części. Odpowiednio do tego, po jednokrotnym obrocie dysku wszystkie dane mogą być odczytane niezawodnie, a zatem ogólny czas opóźnienia obrotowego i dostępu do danych staje się równy co najwyżej wartości czasu jednego obrotu.
Ponieważ jednak ten mechanizm jest używany w przypadku niewielu dysków, to rozwiązanie przedstawione w publikacji „Reddy 93” może się okazać nierealistyczne.
W publikacji „Gemmel 94” przyjęto sposób estymacji ceny dostępu przez dodawanie zawsze maksymalnej wartości, w wyniku założenia, że opóźnienie obrotowe ma wartość, dla której sterowanie i predykcja sąniemożliwe. Jest to bezpieczne, lecz występuje dużo strat, które stanowiąproblem. Ponadto, praca „Chen 93” traktuje opóźnienie obrotowe,jako zaniedbywany człon korekcji, lecz nie odpowiada to rzeczywistości. Na przykład w najnowszych dyskach o dużej szybkości, cykl obrotu wynosi 8,3 ms, natomiast przy zastosowaniu algorytmu SCAN, maksymalną wartość czasu wyszukiwania można zredukować do poniżej około 6 ms. Zatem opóźnienie obrotowe jest dominujące. Poza tym, z punktu widzenia oporu powietrza i zużywanej mocy elektrycznej silnika i wydzielanego ciepła, trudno oczekiwać epokowych udoskonaleń w zakresie prędkości obrotowej w stosunku do punktu obecnego. Zmniejszenie opóźnienia obrotowego stanowi największy problem do rozwiązania.
Można zauważyć również, że w zwykłym komputerowym systemie plików zmniejszenie opóźnienia obrotowego jest ważne. W pracy S. Ng, „Improving Disk Performance Via Latency Reduction” (Poprawa wydajności dysku przez redukcję oczekiwania), IEEE Transactions on Computers, wol 40, nr 1, styczeń 1991, str. 22 - 39, 1991 (poniżej zwanej „Ng 91”), wspomniano o sposobie zmniejszenia przeciętnego czasu opóźnienia obrotowego podczas operacji odczytu sposobem sporządzania kopii danych przesuniętej w fazie w kierunku obrotu itd. Jednak trudno użyć ten sposób w aplikacjach multimedialnych, które operują ogromną ilością danych.
Ponadto, w publikacji IEEE Transactions on Computers, vol. 40, nr 1, z 1 stycznia 1991, New York, USA, str. 22-30 opisano sposób zmniejszania opóźnienia i błędu detekcji położenia obrotowego (RPS), który jest czasem traconym na dodatkowe obroty dysku jeżeli kanał nie jest dostępny, gdy opisany punkt znajduje się pod głowicą. W pracy tej rozpatrzono zależność między czasem błędu RPS, opóźnieniem kątowym i szybkością WE/WY. Zgodnie z rozwiązaniem według tej publikacji przygotowuje się kopię danych przesuniętą w fazie w kierunku obrotu. Takiego rozwiązania nie można zastosować w zastosowaniach multimedialnych, ze względu na bardzo duże ilości danych wizyjnych, zwłaszcza danych obrazów ruchomych oraz danych dźwiękowych.
W opisie patentowym nr JP A,55-091049 przedstawiono proces obsługi żądań WE/WY zgodnie z adresami cylindrów po stronie systemu plików i następnie wykonywanie żądań procesu
184 898
WE/WY także w kolejności adresów cylindrów. Zastosowano parę buforów dla każdego z podkanałów. Żądania WE/WY podane z procesora umieszcza się na stosie w kolejności wejścia do pierwszego z pary buforów, który jest w stanie oczekiwania i następnie wejście do tego bufora zatrzymuje się na opcjonalny czas. Następnie żądania WE/WY w tym buforze są szeregowane ponownie w rosnącej kolejności adresów cylindrów przez obwód sortujący i przetwarzane sekwencyjnie. Po zatrzymaniu wejścia do pierwszego bufora, żądania WE/Wy umieszcza się na stosie drugiego bufora wraz z ponownym uszeregowaniem i przetwarzaniem w ten sam sposób. Te czynności powtarza się przemiennie, wykonując szeregowanie skanowania, co zmniejsza czas wyszukiwania.
Sposób sterowania dostępem do dysku zapisu, w którym wyznacza się układ bloków danych na dysku, programuje się kolejność realizacji żądań dostępu do dysku z minimalizacjąwielkości przemieszczenia głowicy podczas uzyskiwania przez głowicę dostępu do dysku zapisu i realizuj e się dostęp do dysku przez głowicę zapisu na podstawie wyniku programowania zadań, według wynalazku charakteryzuje się tym, że układ bloków danych na dysku zapisu wyznacza się w zależności przynajmniej od określonego opóźnienia kątowego stanowiącego kątowąróżnicę wzdłuż obwodu pomiędzy początkami sąsiednich bloków danych i minimalizuje się czas opóźnienia obrotowego stanowiący czas oczekiwania obrotu dysku zapisu do punktu startowego, w którym występują dane w cylindrze w przeciętnej odległości przemieszczenia po realizacji dostępu głowicy do dysku zapisu.
Korzystnym j est, że położenie bloku danych na dysku zapisu wyznacza się w zależności od ustalonego opóźnienia kątowego i przerwy stanowiącej kątową różnicę pomiędzy początkiem i końcem tego samego bloku.
Korzystnym jest, że dodatkowo wyznacza się dane kombinacyjne dla każdej kombinacji opóźnienia kątowego i przerwy dla zbioru bloków danych oraz selektywnie wykorzystuje się dane kombinacyjne w zależności od położenia każdego z bloków danych na dysku zapisu.
Korzystnym jest, że rozmiar bloku danych zmienia się tak, że przerwa jest jednakowa w całym obszarze od zewnątrz do wewnątrz dysku zapisu.
Korzystnym jest, że wyznacza się opóźnienie kątowe w zależności od zmiany przerwy bloku danych na podstawie różnicy promienia ścieżki zapisującej.
Korzystnym jest, że w etapie programowania zadań zmienia się porządek zbioru żądań dostępu do dysku tak, że ustawione są w porządku, począwszy od najbliższego głowicy, po przemieszczeniu głowicy od położenia aktualnego w stronę jednego z obwodów, wewnętrznego lub zewnętrznego, dysku zapisu i wyznacza się położenie bloku danych na dysku zapisu tak, że różnica między czasem opóźnienia a czasem wyszukiwania przy przeciętnej odległości wyszukiwania staje się dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością:
Td(L)=(L · Bc · Os+Og+2mn)/ai, a La=Lt/(N-1) (2) (3) gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbąbloków danych jednego cylindra, Os jest opóźnieniem kątowym w radianach, Og jest przerwą w radianach, ω jest prędkością obrotową (rd/ s) dysku, Lt jest maksymalną wartością odległości między położeniami dostępu dwóch końców przy ustawieniu żądań dostępu w porządku numerów cylindrów, N jest liczbą dostępów przetwarzanych jednocześnie, a m jest dobrane jako najmniejsze w zakresie, w którym czas opóźnienia przekracza czas wyszukiwania przy odległości wyszukiwania.
Korzystnym jest, że w etapie programowania zadań zmienia się porządek zbioru żądań dostępu do dysku tak, że ustawione sąw porządku pojawiania się podczas przemieszczania głowicy od położenia aktualnego w stronę jednego z obwodów, wewnętrznego lub zewnętrznego, dysku zapisu, a ponadto wyznacza się położenie bloku danych na dysku zapisu tak, że czas opóźnienia jest zawsze większy od czasu wyszukiwania, a różnica między czasem opóźnienia i czasem wyszukiwania staje się dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością.
184 898
Td(L)=(L -Bc -Gs+Ogym, (4) gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbąbloków danych jednego cylindra, Gs jest opóźnieniem kątowym w radianach, Gg jest przerwą w radianach, a ω jest prędkością obrotową (rd/s) dysku.
Korzystnym jest, że stosuje się dysk zapisu podzielony na obszary pierwsze wykorzystywane przy ruchu głowicy od obwodu wewnętrznego do obwodu zewnętrznego i obszary drugie wykorzystywane przy ruchu głowicy od obwodu zewnętrznego do obwodu wewnętrznego, przy czym w etapie wyznaczania położenia bloku danych na dysku wyznacza się położenie bloku danych na dysku zapisu na podstawie optymalnego opóźnienia kątowego i przerwy w odpowiednich obszarach, w zależności od kierunku ruchu głowicy, a w etapie programowania zadań selektywnie realizuje się dostęp tylko do obszarów pierwszych i drugich, w zależności od kierunku przemieszczania głowicy.
Korzystnym jest, że stosuje się dysk zapisu, na którym obszary pierwsze i drugie dzielą dysk na zbiór przynajmniej dwóch sektorów w kierunku wzdłuż promienia, przy czym obszary pierwsze i drugie rozmieszczone sątak, że są rozproszone od obwodu wewnętrznego do obwodu zewnętrznego dysku zapisu.
Urządzenie do sterowania dostępem do dysku zapisu, zaopatrzone w środki do wyznaczania układu bloków danych na dysku zapisu, środki do programowania kolejności realizacji żądań dostępu z minimalizacjąwielkości przemieszczenia głowicy podczas uzyskiwania przez głowicę dostępu do dysku zapisu oraz sterownik pozycjonowania do realizacji dostępu głowicy do dysku zapisu na podstawie wyniku programowania zadań, według wynalazku charakteryzuje się tym, że środki do wyznaczania układu bloków danych są dostosowane do wyznaczania położenia bloków danych na dysku zapisu przynajmniej na podstawie określonego opóźnienia kątowego stanowiącego kątową różnicę wzdłuż obwodu pomiędzy początkami sąsiednich bloków danych z minimalizacją czasu opóźnienia obrotowego stanowiącego czas oczekiwania obrotu dysku zapisu do punktu startowego, w którym występują dane w cylindrze w przeciętnej odległości przemieszczenia po realizacji dostępu głowicy do dysku zapisu.
Korzystnym jest, że środki do wyznaczania układu bloków danych są dostosowane do określania położenia bloku danych na dysku zapisu na podstawie przerwy stanowiącej kątową różnicę pomiędzy początkiem i końcem tego samego bloku, oprócz opóźnienia kątowego.
Korzystnym jest, że środki do wyznaczania układu bloków danych są dostosowane do wyznaczania danych kombinacyjnych o każdej kombinacji opóźnienia kątowego i przerwy dla zbioru bloków danych i do selektywnego wykorzystania danych kombinacyjnych dotyczących położenia każdego z bloków na dysku zapisu.
Korzystnym jest, że środki do wyznaczania układu bloków danych są dostosowane do zmiany rozmiaru bloku danych tak, że przerwa jest stała w całym obszarze od zewnątrz do wewnątrz dysku zapisu.
Korzystnym jest, że środki do wyznaczania układu bloków danych są dostosowane do wyznaczania opóźnienia kątowego w zależności od zmiany przerwy bloku danych na podstawie różnicy promienia ścieżki zapisującej.
Korzystnym jest, że środki do programowania kolejności realizacji żądań dostępu są dostosowane do zmiany porządku zbioru żądań dostępu do dysku tak, że ustawione są w porządku, począwszy od dostępu najbliższego głowicy po jej przemieszczeniu od położenia aktualnego w stronę jednego z obwodów, wewnętrznego lub zewnętrznego, dysku zapisu, a środki do wyznaczania układu bloków danych są dostosowane do wyznaczania położenia bloku danych na dysku zapisu tak, ze różnica między czasem opóźnienia, a czasem wyszukiwania przy przeciętnej odległości wyszukiwania jest dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością.
Td(L)=(L · Bc -Gs+eg+2mn)/^ a La=Lt/(N-1), (5) (6)
184 898 gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbąbloków danych jednego cylindra, Os jest opóźnieniem kątowym w radianach, Og jest przerwą w radianach, ω jest prędkością obrotową (rd/s) dysku, Lt j est maksymalną wartością odległości między położeniami dostępu dwóch końców przy ustawieniu żądań dostępu w porządku numerów cylindrów, N jest liczbą dostępów przetwarzanych jednocześnie, a m jest dobrane jako najmniejsze w zakresie, w którym czas opóźnienia przekracza czas wyszukiwania przy danej odległości wyszukiwania.
Korzystnym jest, że środki do programowania kolejności realizacji żądań dostępu sądostosowane do zmiany porządku zbioru żądań dostępu do dysku tak, że ustawione są w porządku pojawiania się podczas przemieszczania głowicy od położenia aktualnego do jednego z obwodów, wewnętrznego lub zewnętrznego dysku zapisu, a środki do wyznaczania układu bloków danych są dostosowane do wyznaczania położenia bloku danych na dysku zapisu tak, że czas opóźnienia jest zawsze dłuższy niż czas wyszukiwania, a różnica między czasem opóźnienia i czasem wyszukiwania jest dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością.:
Td(L)=(L Bc ·&+^)/<ω (7) gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bcjest liczbąbloków danych jednego cylindra, Os jest opóźnieniem kątowym w radianach, Og jest przerwą w radianach, a ω jest prędkością obrotową (rd/s) dysku.
Korzystnym jest, że dysk zapisu jest podzielony na obszary pierwsze wykorzystywane przy ruchu głowicy od obwodu wewnętrznego do obwodu zewnętrznego i obszary drugie wykorzystywane przy ruchu głowicy od obwodu zewnętrznego do obwodu wewnętrznego, przy czym środki do wyznaczania układu bloków danych są dostosowane do wyznaczania położenie bloku danych na dysku zapisu na podstawie optymalnego opóźnienia kątowego i przerwy w odpowiednich obszarach, w zależności od kierunku ruchu głowicy, a środki do programowania kolejności realizacji żądań dostępu są dostosowane do selektywnej realizacji dostępu tylko do obszarów pierwszych lub do obszarów drugich, zgodnie z kierunkiem przemieszczania głowicy.
Korzystnym jest, że obszary pierwsze i obszary drugie na dysku zapisu rozdzielają dysk na zbiór przynajmniej dwóch sektorów w kierunku wzdłuż promienia, przy czym obszary pierwsze i drugie rozmieszczone są tak, że są rozproszone od obwodu wewnętrznego do obwodu zewnętrznego dysku.
Zgodnie z wynalazkiem opracowano sposób i urządzenie do sterowania dostępem do dysku, które wyróżnia szybki dostęp swobodny w czasie rzeczywistym przez zmniejszenie zarówno czasu wyszukiwania jak i czasu opóźnienia obrotowego. Sposób według wynalazku, do sterowania dostępem do dysku oraz odpowiednie urządzenie, sąkorzystne przy przechowywaniu danych multimedialnych, na które rośnie zapotrzebowanie.
W sposobie sterowania dostępem do dysku zapisu według wynalazku i urządzeniu do stosowania tego sposobu, przy rozmieszczaniu bloków danych, bloki rozmieszcza się z przesunięciem w kierunku obwodowym, a więc z określonym opóźnieniem kątowym. Tak więc, sterowanie można realizować tak, aby początek pożądanych danych nie przechodził przed głowicą podczas operacji wyszukiwania. Dlatego nie jest potrzebne odczekiwanie aż do powrotu potrzebnych danych, zarówno czas wyszukiwania, jak i czas opóźnienia obrotowego zmniejszają się i istnieje możliwość realizacji swobodnego dostępu z dużą szybkością przy zachowaniu właściwości czasu rzeczywistego. Ponadto, opóźnienie kątowe zmienia się między wykorzystywanymi obszarami kiedy głowica przemieszcza się od obwodu zewnętrznego do wewnętrznego i obszarami wykorzystywanymi kiedy głowica przemieszcza się od obwodu wewnętrznego do zewnętrznego, przy czym można zastosować optymalne opóźnienie kątowe, niezależnie od kierunku ruchu głowicy.
Przedmiot wynalazku zostanie objaśniony w korzystnych przykładach wykonania na rysunku, na którym fig. 1 przedstawia schemat objaśniający sposób wyszukiwania danych zgodnie z algorytmem SCAN, fig 2 - schemat blokowy urządzenia do sterowania dostępem do dysku zapisu. fig 3 - sieć działań przetwarzania w alokatorze bloków przedstawionym na fig. 2, fig. 4 184 898 sieć działań przetwarzania w programatorze zadań przedstawionym na fig. 2, fig. 5 - wykres zależności czasu wyszukiwania od odległości wyszukiwania napędu, fig. 6 - wykres objaśniający sposób rozmieszczania bloków na dysku przez alokator bloków, fig. 7 - tabelę objaśniającą zawartość mapy bloku, fig. 8 - ilustrację objaśniającą przetwarzanie w kroku S3 z fig. 3, fig. 9 - wykres objaśniający przetwarzanie w kroku S3 z fig. 3, fig. 10 - wykres objaśniający cenę dostępu w przypadku uwzględniania zarówno wyszukiwania, jak i opóźnienia obrotowego, fig. 11A, 11B i 11C - objaśnienie jednego z korzystnych przykładów rozmieszczenia dostępów na dysku, fig. 12 - wykres objaśniający cenę dostępu przy konwencjonalnym algorytmie SCAN, fig. 13 wykres objaśniający zależność między odległością wyszukiwania L, a opóźnieniem w przypadku wykorzystania wypukłej ku górze funkcji obwiedniowej funkcji o wykresie piłokształtnym, fig 14 - szkic dla objaśnienia przetwarzania w alokatorze bloków urządzenia do sterowania dostępem do dysku zapisu, w drugim przykładzie wykonania wynalazku, fig. 15 - sieć działań dla objaśnienia przetwarzania bloku alokatora w urządzeniu do sterowania dostępem do dysku zapisu przedstawionego na fig. 14, a fig. 16 przedstawia tabelę dla objaśnienia zawartości mapy bloku w urządzeniu z dostępem do dysku zapisu przedstawionym na fig. 13.
Na figurze 1 przedstawiony jest algorytm SCAN, który zapewnia redukcję ceny dostępu przez programowania zadań głowicy. Ta znana metoda programowania zadań głowicy (head scheduling) jest sposobem zmniejszenia czasu wyszukiwania przez manipulacje z porządkiem dostępu, kiedy występuje potrzeba dostępu do wielu pozycji na dysku. Algorytm SCAN jest algorytmem, w którym dany zbiór żądań We/WY (#1, #2,...) jest sortowany w kierunku promieniowym dysku i przetwarzany kolejno. Można uniknąć wahadłowego działania głowicy, które występowałoby, gdyby przetwarzanie odbywało się w kolejności nadchodzenia żądań We/WY (#1, #2,...), i z kolei zmniejszyć odpowiednie czasy wyszukiwania.
Na figurze 2 przedstawiono schemat blokowy konfiguracji urządzenia do sterowania dostępem do dysku zapisu według wynalazku, które jest realizowane przy działaniu oprogramowania na przykład w komputerze. Każdy blok przedstawiony na fig. 2 reprezentuje moduł programu głównego lub głównej struktury danych
Środki do wyznaczania układu bloków danych stanowi korzystnie alokator bloków 1 określający sposób rozmieszczenia danych na dysku 5 na podstawie doprowadzanego sygnału parametrów formatu 10. Dysk zapisu 5 jest korzystnie dyskiem magnetycznym, dyskiem magnetooptycznym (MO) lub też w jego charakterze można wykorzystać dysk twardy (HDD).
Doprowadzany sygnał parametrów formatu 10 zawiera dane o rozmiarze pierwszego bloku danych, o przeciętnej odległości przemieszczenia La przy realizacji programu harmonogramu zadania SCAN, o czasowej funkcji wyszukiwania Ts(L) napędu przewidzianego do wykorzystania i o fizycznym formacie dysku zapisu 5.
Przeciętna odległość przemieszczenia głowicy La określona jest zamieszczonym poniżej wzorem, na podstawie ogólnej liczby cylindrów Lt dysku i liczby N dostępów przetwarzanych przy jednym przeglądaniu.
La=Lt/(N-l) (8)
Czas wyszukiwania Ts(L) napędu jest funkcją odległości wyszukiwania L (liczby cylindrów) Jej wartość jest określona parametrami mechanicznymi stosowanego napędu dysku Przykład niniejszy przedstawiono na fig. 5. Liczba równocześnie przetwarzanych żądań dostępu w przejściu przeglądania określonajest charakterem aplikacji używającej tego dysku, wymaganą wydajnością, ilością pamięci buforowej dostępnej do wykorzystania itp. Im większa liczba N żądań dostępu przeglądana razem, tym bardziej poprawia się wydajność swobodnego dostępu do dysku, lecz występuje przy tym efekt uboczny polegający na tym, że rośnie czas odpowiedzi, wraz ze wzrostem ilości potrzebnej pamięci buforowej.
Doprowadzony sygnał parametrów formatu 10 określony jest przez jednostkę centralną (CPU - Central Processor Unit) (nie przedstawiona) z programem sterującym, który zarządza całym systemem Sygnał parametrów formatu 10 doprowadzany jest do alokatora bloków 1
184 898
W przykładzie rozwiązanie to wykorzystywane jest do edycji nieliniowej, przy czym dla alokatora bloków 1 przyjęto N=10, a La=3o0. Ponadto, rozmiar pierwszego bloku danych odpowiada jednemu arkuszowi danych obrazowych i w przypadku formatu wykorzystywanego w stacjach rozsiewczych itp. wynosi około 700 kB. Oczywiście tę wartość liczbową można ustawić dowolnie, odpowiednio do przeznaczenia i różnych wymaganych parametrów.
Alokator bloków 1 określa na podstawie danego sygnału parametrów formatu 10, na której pozycji dysku 5 należy umieścić każdy blok. W niniejszym przykładzie jeden blok stanowi równowartość jednej ramki obrazu, lecz zasada jest podobna również w przypadku danych otrzymanych przez podział obiektu MPEG lub innego skomprymowanego obrazu na odpowiednie odcinki długości, lub nawet w przypadku danych fonicznych.
Na dysku zapisu 5 można osiągnąć dostęp do wszystkiego, co zwykle nazywa się obszarem sektora. Jeden sektor ma zwykle rozmiar od około 512 bajtów do około 4 kilobajtów.. Pierścieniowo ukształtowane obszary w każdym z tych sektorów rozmieszczone na okręgu są nazywane ścieżką. Poza tym, obszar cylindryczny złożony z grupy tych samych ścieżek nałożonych na wielu nośnikach magnetycznych określa się jako cylinder.
Jeden blok danych wizyjnych lub fonicznych jest zwykle większy niż jeden sektor, zatem alokator bloków 1 przydziela do każdego bloku pewien zespół sektorów. Na fig. 5 pokazano prosty przypadek, z jednym nośnikiem magnetycznym. Część zakreskowana na fig. 6, to znaczy cały obwód ścieżki „1”, i sektory „0” do „6” ścieżki „2”, odpowiadają jednemu blokowi. W niniejszym przykładzie, ponieważ istnieje tylko jeden nośnik, to „ścieżka” i „cylinder” mają to samo znaczenie, lecz w przypadku napędu dyskowego, w którym jest wiele nośników magnetycznych, jeżeli wszystkie części tego samego cylindra są całkowicie wykorzystane, bloki są alokowane z wykorzystaniem sąsiednich cylindrów.
Alokacja do sektorów odbywa się dla wszystkich bloków. Wynik tego zostaje zapisany w mapie bloku 3, na czym rola alokatora bloków 1 się kończy. Alokator bloków 1 wyznacza położenie sektora przez ustawienie numeru cylindra, numeru nośnika (arkusza nośnika), i numeru sektora. Natomiast w napędzie SCSI (ANSI Smali Computer System Interface - interfejs systemowy ANSI dla niewielkiego komputera), który bardzo się w ostatnich latach rozpowszechnił, numery kolejne (lokalne numery sektorów, zwane „logicznymi adresami bloków” w SCSI, nazywane logicznymi numerami sektorów dla uniknięcia pomylenia z wizyjnymi i fonicznymi blokami danych) zostają nadane wszystkim sektorom w napędzie i są wykorzystywane dla dostępu do danych. Z tego powodu, odpowiedniość między logicznymi numerami sektorów wyznaczonymi przez napęd i adresy fizyczne to znaczy numery cylindrów, numery nośników i numery sektorów, są wstępnie zapisane w tablicy adresów fizycznych 7. Alokator bloków 1 przetwarza pożądany adres fizyczny na numer logiczny sektora, określony przez SCSI zgodnie z tablicą adresów fizycznych 7 i wprowadza go na mapę bloku 3.
Na figurze 7 przedstawiono przykład mapy bloku. Informacja odpowiadająca blokowi „0” odpowiada części zakreskowanej z fig. 6.
Natomiast programator 2 zadań działa w sposób następujący. Najpierw jednostka centralna CPU zarządzająca całym systemem wyznacza sygnał parametrów harmonogramu zadań 201 podaje ten sygnał 20 do programatora 2 zadań. Sygnał parametrów harmonogramu zadań 20 zawiera stałą wskazującą liczbę żądań dostępu przetwarzanych razem w jednym przeglądaniu.
Kiedy operator podaje polecenie rozpoczęcia obrazu filmowego zapisanego na dysku 5, nie przedstawiona jednostka centralna CPU, zaopatrzona w odpowiedni program sterujący generuje żądanie dostępu do bloków z obrazami składającymi się na obraz filmowy, oddzielnie dla każdego obrazu. Sygnał żądań dostępu 40 zapisany zostaje w buforze żądań dostępu 4. Programator harmonogramu zadań 2 sekwencyjnie pobiera liczbę N żądań z sygnału żądań dostępu 40 zapisanych w buforze żądań dostępu 4, a spośród żądań dostępu, które przybyły wcześniej, odnajduje pozycje danych odpowiadających tym żądaniom na dysku 5, odpowiednio do mapy bloku 3, zmienia porządek żądań dostępu tak, aby zredukować do minimum przemieszczanie głowicy i generuje instrukcję dostępu do dysku 5. Polecenie dostępujest sporządzane w celu dopasowania zewnętrznego interfejsu napędu dyskowego, a zatem jest poddawane konwersji na
184 898 protokół SCSI przez sterownik pozycjonowania SCSI 6 i jest następnie przekazywane do dysku 5. Dane odczytane z dysku 5 zapisywane są przejściowo w buforze danych 8 i przekazywane dalej do interfejsu wizyjnego urządzenia.
Kiedy operator wydaje polecenie zapisu danych reprezentujących obrazy filmowe, nie przedstawiona jednostka centralna CPU zaopatrzona w odpowiedni program sterujący generuje żądania dostępu do bloku, w którym zapisywane są obrazy filmowe, oddzielnie dla każdego obrazu Sygnał żądań dostępu 40 jest zapisywany w buforze żądań dostępu 4. Równocześnie, sygnał danych obrazowych 80, które to dane reprezentują film, są przekazywane z interfejsu wizyjnego (nie przedstawiony) do bufora danych 8 i taki sygnał danych obrazowych 80 jest przechowywany przejściowo w buforze danych 8. Programator zadań kolejno pobiera liczbę N żądań sygnału żądań dostępu 40 przechowywanego w buforze żądań dostępu 4 spośród żądań dostępu, które nadeszły wcześniej. Następnie programator zadań 2 odnajduje pozycje danych odpowiadających tym żądaniom na dysku 5 odpowiednio do mapy bloku 3. Ponadto programator zadań 2 zmienia porządek żądań dostępu tak aby zredukować do minimum przemieszczanie głowicy i generuje instrukcję polecenia dostępu do dysku 5. Polecenie dostępu jest sporządzane w celu dopasowania zewnętrznego interfejsu napędu dyskowego, a zatem jest poddawane konwersji na protokół SCSI przez sterownik pozycjonowania SCSI 6 i jest następnie przekazywane do dysku 5.
Poniżej zamieszczono szczegółowy opis działania alokatora bloków 1. W wyniku doprowadzenia sygnału parametrów formatu 10, jak przedstawiono na fig. 2, kiedy dane są: rozmiar bloku, przeciętna odległość przemieszczenia głowicy La przy realizacji harmonogramu SCAN i format fizyczny dysku 5 (liczba cylindrów, liczba sektorów na ścieżkę i liczba nośników stanowiących cylinder), alokator bloków 1 wyznacza pozycję każdego bloku na dysku, w krokach S1 do S5, przedstawionych na fig. 3.
W kroku S1 odbywa się obliczenie ilości bloków obrazu występujących na jednym cylindrze Bc. Ogólnąliczbę sektorów w jednym cylindrze otrzymuje się przez mnożenie liczby sektorów na jednej ścieżce przez liczbę nośników. Wartość Bc otrzymuje się przez podzielenie wyniku przez liczbę sektorów niezbędnych do zapisania jednego bloku.
Przerwę Gg otrzymuje się w kroku S2. Przerwa jest to różnica kątowa między sektorem początkowym a końcowym bloku. Dla przykładu, w przypadku bloku oznaczonego przez zakreskowanie na fig 6, początek stanowi sektor „0” ścieżki „ 1”, a koniec stanowi sektor „6” ścieżki „2”, zatem przerwa Gg wynosi 5/12-tych obwodu, to znaczy 5π/6 radianów.
Opóźnienie kątowe Gs oblicza się z w kroku S3 na podstawie powyższych danych. W tym przypadku, opóźnienie kątowe Gs oznacza różnicę kątową wzdłuż obwodu między głowicami sąsiednich bloków. Najpierw, przy wykorzystaniu położenia głowicy, kiedy odczyt pewnego bloku kończy się w punkcie początkowym, reprezentowany w równaniu czas Td(L) do momentu osiągnięcia przez głowicę tego samego kąta wzdłuż obwodu w położeniu, gdzie głowica została przemieszczona z punktu startowego o pewną liczbę L cylindrów·', otrzymuje się następujące równanie:
Td(L)=(L · Bc · Gs+9g+2rm )/ω (9) gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów,
Bc jest liczbą bloków danych występujących na jednym cylindrze,
Gs jest opóźnieniem w radianach,
Gg jest przerwą w radianach, ωjest prędkością obrotową (rd/s) dysku, a m jest dowolną liczbą całkowitą, dla której Td(L) staje się dodatnie.
Na figurze 8 objaśniono na dysku znaczenie powyższego równania. W przypadku z fig 8 załóżmy, ze właśnie zakończył się dostęp bloku „0”. Załóżmy, że głowica jest umieszczona w kierunku kąta 70 patrząc od środka. Teraz, kiedy potrzebny jest ponowny dostęp do tego samego bloku „0” konieczne jest oczekiwanie aż do momentu, kiedy dysk obróci się dokładnie o wartość przerwy Gg, zatem powoduje się czas opóźnienia wynoszący Gg/ω.
184 898
Ponadto, w przypadku głowicy bloku „n”, konieczne jest oczekiwanie aż do momentu, kiedy dysk obróci się dokładnie o kąt będący sumąprzerwy Og bloku „0” i liczby n bloków o wartości opóźnienia czasowego (nOs). Wartość przerwy Og, zatem powoduje się czas opóźnienia wynoszący Og/ω Zajmuje to nOs/ω czasu. Ponieważ dysk się obraca, początek danych osiąga położenie, w którym głowica znajduje się w momencie wyliczonym przez dodanie całkowitej wielokrotności cyklu obrotu do czasu w ten sposób otrzymanego. Kiedy głowica przemieszcza się o liczbę n bloków, odpowiada to przemieszczeniu o n/Bc cylindrów, a zatem przy sporządzaniu wykresu z liczbą cylindrów na osi odciętych, i wykreślaniu na osi rzędnych czasu opóźnienia aż do osiągnięcia początku, otrzymuje się wykres z fig. 9. Im większe jest opóźnienie czasowe, tym większe pochylenie grupy linii. Należy zauważyć, że w powyższej teorii zakłada się, że położenie (kąt) głowicy wzdłuż obwodu patrząc od środka jest stały niezależnie od odległości od środka. W rzeczywistości występuje tu przypadek, kiedy położenie nie jest dokładnie stałe, zależnie od mechanizmu głowicy, lecz jego wpływ jest zwykle dostatecznie niewielki, aby go pominąć.
Jak to pokazano na fig. 9, czas do momentu przybycia początku bloku pod głowicę w każdym cylindrze otrzymuje się z uprzednio przedstawionego równania. Ponieważ jednak głowica w tym czasie musi przemieścić się do potrzebnego cylindra, to czas opóźnienia staje się równy czasowi pojawienia się po raz pierwszy po operacji wyszukiwania. Jest to cena dostępu Td(L), która uwzględnia zarówno wyszukiwanie, jak i opóźnienie obrotowe. Na fig. 10 przedstawiono jej przykład, a równanie to stanowi jej definicję. Rzeczywistą cenę dostępu (czas opóźnienia) oznaczono na fig. 10 linią pogrubioną.
Można zauważyć, że funkcja czasu wyszukiwania oznaczona jest linią przerywaną. Na tej figurze oznaczono cykl obrotu Trot.
W kroku S3-1 wyznacza się wzór na linię prostąo m=0 (fig. 9), to znaczy wzór wyznaczony poniższym równaniem:
Td(L)=(L -Bc Os+g)^ (10)
Następne kroki S3-2, S3-3 c S3-4 sąkrokami wyboru opóźnienia kątowego Os, tak że ta linia prosta znajduje się wyżej (funkcja jest większa) niż funkcja Ts(L) czasu wyszukiwania i w zasadzie jest styczna do funkcji czasu wyszukiwania. Przy takim doborze opóźnienia kątowego 0s otrzymuje się linię prostąo m=0 z fig. 10.
Kroki S4 i S5 wyznaczają położenie każdego bloku na dysku w całym obszarze dysku z wykorzystaniem opóźnienia kątowego i wartości przerwy otrzymanych w powyższy sposób. W kroku S4 najpierw adres fizyczny jest inicjalizowany na (0/0/0).
Następny krok S5 stanowi pętlę powtarzającą się w przypadku wszystkich bloków. W pętli najpierw, w kroku S5-1, z adresu fizycznego otrzymuje się numer logiczny sektora odpowiednio do tablicy adresów fizycznych. W kroku S5-2, informacje takie jak ta, i adres fizyczny, zostają wpisane do mapy bloku 3. Zawartość mapy bloku 3 przedstawiono na fig. 7.
Przy zakończeniu powyższego przetwarzania, wskaźnik adresu fizycznego zostaje przesunięty w przód, w ramach przygotowania do przetwarzania następnego bloku. W kroku S5-3 następuje uaktualnienie wskaźnika Ppa adresu fizycznego. W kroku S5-4 następuje sprawdzenie dotyczące wszystkich bloków, czy przetwarzanie w krokach S5-1 do S5-3 zostało wykonane, czy nie. Jeżeli nie zostało wykonane, to następuje wykonanie kroków S5-1 do S5-3 dla tych bloków, dla których przetwarzanie nie zostało wykonane.
W tym przypadku, rozmieszczenie N-tego bloku na dysku odbywa się po pierwsze za alokowanym blokiem i po drugie w obszarze, w którym sektor o kątowej różnicy od początku 0-wego bloku znajdujący się najbliżej nqs jest wyznaczony jako start.
Poniżej zamieszcza się objaśnienie ceny najgorszego przypadku w sposobie sterowania dostępem do dysku zapisu według niniejszego wynalazku.
Ogólnie biorąc, sygnał żądania dostępu 40 generowany jest w odniesieniu do wszystkich pozycji na dysku 5 Pozycje przetwarzane w jednym przeglądaniu wykazująnierównomierność rozmieszczenia, jak to pokazano na fig. 11Alub 11B,ajak to pokazano na fig. 11C, są rozmieszczone
184 898 równomiernie. W tym przykładzie głowica przemieszcza się między sześcioma żądaniami dostępu sygnału 40, zatem generowanych jest pięć swobodnych dostępów i pięć towarzyszących im cen dostępu. Ogólna suma cen dostępu w odniesieniu do tych swobodnych dostępów staje się najgorsza w przypadku, w którym wszystkie dostępy są rozmieszczone równomiernie, a funkcja ceny dostępu ma kształt z wypukłością ku górze (fig. 11C). Przy nierównomierności rozkładu, ogólna suma cen staje się od tej mniejsza. Innymi słowy, kiedy cena dostępu w przeciętnej odległości przemieszczenia La głowicy generowana jest powtarzalnie, łączna suma cen dostępu osiąga wartość najgorszą (największą).
Funkcja Td(L) z fig. 10 jest funkcjąpiłokształtną Jeżeli Td(L) zastępuje się funkcjąz wypukłością na górze, która obwodzi jąod góry, to powyższa teoria obowiązuje nadal. Przykład takiej funkcji przedstawiono na fig. 12. Znaczy to, że najgorsza cena dostępu najeden dostęp staje się wartością otrzymanąprzez odczytanie wartości Td(L) w pozycji, gdzie odległość jest równa La na wykresie z fig. 10 (na tej figurze Tmax). Jak wspomniano uprzednio, jest tak w przybliżeniu, lecz jak w przykładzie z fig. 10, funkcja Td(L) i funkcja obwodząca jąod góry zwykle pokrywają się w pobliżu La, zatem można w rzeczywistości przyjąć, że nie ma tu błędu. Poza tym aproksymacja odbywa się po stronie bezpiecznej (stronie, na której cena wyznaczana jest jako większa, niż w rzeczywistości), zatem nie ma niebezpieczeństwa estymowania wartości najgorszej jako mniejszej od rzeczywistej.
W kroku S3 przedstawionym na fig. 3 wybrano skos tak, że jedna z grupy linii prostych opóźnienia obrotowego danego równaniem podanym wyżej, znajduje się ponad funkcją Ts(L) czasu wyszukiwania, lecz możliwie blisko niej. Dzięki temu Td(L) można uczynić małym w pobliżu odległości La, i w wyniku tego można otrzymać mniejszą cenę dostępu Tmax.
Na figurze 12 przedstawiono cenę w konwencjonalnym algorytmie SCAN. W konwencjonalnym algorytmie SCAN również łączna suma cen osiąga wartość najgorszą, kiedy dostępy rozmieszczone są równomiernie. Jednak w odróżnieniu od niniejszej odmiany wykonania, nie bierze się pod uwagę opóźnienia obrotowego, zatem nawet po zakończeniu przez głowicę operacji wyszukiwania trzeba uwzględnić fakt, że w najgorszym przypadku generowane jest opóźnienie obrotowe odpowiadające jednemu obrotowi. Z tego powodu wartość otrzymana jest przez dodanie cyklu Trot jednego obrotu do czasu wyszukiwania Ts(La), przy czym La staje się najgorszą wartością ceny. Jak to wynika z fig. 12 i fig. 10, jest to wartość znacznie większa, niż w wartość wynikająca przy zastosowaniu wynalazku. W doświadczeniach potwierdziło się, że najgorsza wartość ceny według wynalazku wyniosła prawie połowę w wartości w przypadku algorytmu konwencjonalnego SCAN.
Jak wyjaśniono powyżej, w urządzeniu do sterowania dostępem do dysku zapisu według wynalazku, przez odpowiedni dobór opóźnienia kątowego i przerwy, można zredukować cenę dostępu T(L) na przeciętnej odległości La do poziomu minimalnego, i przy tym może być mały czas opóźnienia obrotowego. Na sieci działań przedstawionej na fig. 3 rozmiar bloku miał daną stałą wielkość, lecz zgodnie z propozycją, rozmiar bloku można dobrać w pewnym zakresie. W tym przypadku zarówno przerwa 0g jak i opóźnienie kątowe Os można zmieniać, a zatem położeniem linii prostej można dokładnie sterować tak, aby zbliżyła się do czasu wyszukiwania La.
W przypadku powyższego sposobu, cena dostępu odpowiadająca przemieszczaniu się między blokami znacznie się poprawia. Gdzie blok jest duży i rozciąga się na pewnej liczbie ścieżek lub cylindrów, jest jednak konieczne uwzględnienie czasu związanego ze zmianą ścieżek i czasu przemieszczania się do sąsiedniego cylindra. Czasy niezbędne do zmiany ścieżek i przemieszczeniem na sąsiedni cylinder są również stałe, zatem zakładając określone opóźnienie kątowe między ścieżkami lub cylindrami tak aby dane dochodziły właśnie do głowicy po upływie tego czasu, można zapobiec dużemu opóźnieniu obrotowemu generowanemu w bloku przy zmianie ścieżek i przemieszczaniu się między cylindrami. W tym celu alokator bloków 1 zaopatrzony jest w inny zespół opóźnienia kątowego i przerwy dla dostępu do bloku o najwyższej prędkości, inny niż omówione powyżej opóźnienie kątowe i przerwa do przechodzenia miedzy blokami. W krokach S4i S5 na fig. 3 przy rozmieszczaniujednego bloku na dysku wystarczy rozmieścić bloki z użyciem tego ostatniego opóźnienia kątowego i przerwy. Możliwe jest zastosowanie
184 898 zerowej przerwy we wszystkich momentach i stosowanie tylko opóźnienia kątowego do kompensacji zmiany czasu ścieżek i czasu przejścia między cylindrami.
Poniżej zamieszczono objaśnienie działania programatora zadań. Na fig. 4 przedstawiono sieć działań programatora zadań 2. W kroku S11 głowica dysku przemieszcza się najpierw do cylindra „#0”. Następnie procedura przetwarzająca przechodzi do kroku S12, w którym realizowane jest rzeczywiste programowanie zadania.
W kroku S12, odczytywanych jest i pobieranych z bufora żądań dostępu, w kroku S12-1, N żądań dostępu w porządku od poprzednich (starszych) żądań. W jednym żądaniu dostępu opisana jest liczba bloków, do których należy uzyskać dostęp i adres wiodący bufora danych stosowanego do transferu danych. Ponadto liczba N jest stałą wstępnie zadaną przez inny program sterujący (me przedstawiony).
W kroku S12-2, następuje odwołanie się do mapy bloku 3 dla każdego z N żądań dostępu, i potwierdzenie fizycznych adresów bloków wymagających dostępu do nich (numery cylindrów, numery nośników i numery sektorów). Następnie, w kroku S12-3, tych N żądań dostępu jest rozmieszczonych na nowo, w porządku od najmniejszego numeru cylindra w górę. Przy tej operacji realizowane jest programowanie zadań algorytmu SCAN. W kroku S12-4, te ustawione na nowo żądania dostępu są wysyłane do dysku poprzez sterownik pozycjonowania w porządku od najmniejszego numeru cylindra w górę i realizowane są rzeczywiste adresy i transfery danych. Po wydaniujednej instrukcji dostępu do jednego bloku rozpoczyna się oczekiwanie na koniec transferu w kroku S12-5, i po tym następuje wydanie następnej instrukcji dostępu. Po powtórzeniu N razy (S12-6) następuje zakończenie przetwarzania N żądań dostępu. W kroku S12-7 program sterujący zostaje powiadomiony, że zakończyło się przetwarzanie N żądań dostępu, i zostaje zakończona seria przetwarzań odnoszących się do N żądań dostępu.
Na koniec, w kroku S12-8 określa się, czy N żądań dostępu nie jest zapisane w buforze żądań 4. Jeżeli nie, to programator zadań 2 wraca do etapu S12-1, pobiera następnych N żądań dostępu i kontynuuje przetwarzanie. Jeżeli w buforze żądań dostępu nie ma N żądań dostępu, to przetwarzanie w tym kroku przechodzi w stan pauzy.
Można zauważyć, że na przykład alokator bloków 1 rozmieszcza bloki i zmienia rozmiary bloków tak, że przerwa pozostaje stała na całym obszarze od zewnątrz do wewnątrz dysku 5, czym można w jeszcze większym stopniu zaakcentować pracę w czasie rzeczywistym.
Obecnie omówiony zostanie drugi przykład wykonania sposobu według wynalazku. Omówiony powyżej programator zadań 2 z pierwszego przykładu wykonania przy rozpoczęciu następnego przeglądania przemieścił się na zewnętrzną pozycję dostępu. Mianowicie, kiedy ostatni dostęp był realizowany w krokach S2-4 i S12-5 z fig. 4, głowica miała dostęp do najbardziej wewnętrznego spośród N miejsc dostępu. Przy pierwszym dostępie z pętli przetwarzania następnych N dostępów, powoduje się przejście na cylinder najbardziej zewnętrzny, o najmniejszym numerze cylindra Ze względu na to przemieszczenie, w najgorszym przypadku generowana jest operacja wyszukiwania o największej długości, od skrajnego obwodu wewnętrznego do skrajnego obwodu zewnętrznego, i o opóźnieniu obrotowym o wartości jednego obrotu. Ponieważ występuje to co N dostępów i ponieważ w tym czasie nie jest możliwe uzyskanie dostępu do danych, należy ten czas dodać do łącznej sumy cen dostępu całego przeglądania. Oczywiście, w tym samym stopniu zmniejsza się wydajność.
Możliwe jest również osiągnięcie dostępu do dysku nawet podczas przemieszczania się od obwodu wewnętrznego do obwodu zewnętrznego, lecz ponieważ kierunek przemieszczania głowicy jest odwrotny, to znak pierwszego wyrazu wzoru określającego opóźnienie kątowe zmienia się na przeciwny Z tego powodu, optymalne opóźnienie kątowe i przerwa w przypadku przemieszczania od obwodu zewnętrznego do obwodu wewnętrznego nie zawsze jest parametrem odpowiednim dla przemieszczenia w kierunku odwrotnym Jest powodem zmniejszenia sprawności przy ruchu głowicy w kierunku odwrotnym.
Urządzenie do sterowania dostępem do dysku zapisu według drugiego przykładu sposobu według wynalazku, objaśnione poniżej, załatwia ten problem i zapewnia sposób dokonywania z dużą szybkością transferu danych, nawet kiedy głowica wraca z obwodu wewnętrznego do
184 898 zewnętrznego. Najpierw alokator bloków 1 rozdziela cylindry na cylindry stanowiące obszary drugie 50, oznaczone przez kreskowanie, wykorzystywane przy dokonywaniu przeglądania od zewnątrz do wewnątrz, i cylindry stanowiące obszary pierwsze 51 wykorzystywane przy dokonywaniu przeglądania od wewnątrz do zewnątrz, jak to przedstawiono na fig. l4. Na fig. 14 cylindry stanowiące obszary drugie 50 oznaczone literami F są wykorzystywane przy dokonywaniu przeglądania od zewnątrz do wewnątrz, a cylindry stanowiące obszary pierwsze 51 oznaczone literami B są wykorzystywane przy dokonywaniu przeglądania od wewnątrz do zewnątrz. Na fig. 14 cylindry są podzielone na grupy po dwa cylindry, lecz liczba cylindrów w grupie nie jest ograniczona do tej. Cylindry można podzielić na grupy odpowiednich bloków.
W ten sam sposób, jak w urządzeniu do sterowania dostępem do dysku zapisu według pierwszej odmiany wykonania wspomnianej powyżej, przetwarzanie kroków S41 S5 przedstawione na fig. 3 po znalezieniu opóźnienia kątowego przerwy odpowiednio do kroków S1 z fig. 3, zostało zmienione w sposób pokazany na fig. 15.
Na figurze 15, krok S31 inicjalizuje wskaźnik adresu fizycznego przeznaczonego do alokowania w taki sam sposób, jak w pierwszym przykładzie wykonania.
Następnie, w kroku S32, odbywa się alokacja odpowiednich bloków. Krok S32 stanowi pętlę powtarzającą się dla wszystkich bloków. W kroku S32-1 następuje sprawdzenie, czy cały blok należy do obszarów F, czy do B, na podstawie adresu fizycznego bloku podczas przetwarzania.
Na podstawie wyniku tego sprawdzenia w kroku S32-2 realizuje się rozejście. Jeżeli cały blok należy do obszarów F, to wykonywany jest krok S32-7. Nawiasem mówiąc, krok S32-3 jest taki sam, jak krok S5-1 na fig. 3 i stanowi krok służący do sprawdzenia odpowiedniego logicznego numeru sektora przy wykorzystaniu tablicy adresów fizycznych, natomiast krok S32-4 realizuje operację zapisu do mapy bloku 3, w taki sam sposób, jak krok S5-2 na fig. 3.
W porównaniu z mapąbloku 3 z pierwszej odmiany wykonania przedstawionej na fig. 7, do mapy bloku 3 według wykonania niniejszego wprowadza się flagę wskazującą czy ten blok występuje w obszarach F, czy w obszarach B. Krok S32-5 jest krokiem zapisu obszaru F w tej części.
Kiedy w odgałęzieniu kroku S32-2 blok nie w całości należy do obszarów F, alokacja do tego adresu fizycznego nie jest wykonywana, i następuje żądanie adresu, który w całości znajdzie się wewnątrz obszarów F. W kroku S32-6 z opóźnienia kątowego i przerwy wyznacza się następny adres fizyczny, i następnie sprawdza się, do którego obszaru należy. Krok S32-7 pozwala określić, czy odbył się odczyt z obwodu wewnętrznego, czy nie. Jeżeli nie, to procedura przetwarzająca wykonuje skok do kroku S32-1, po którym w kroku S32-2 ponownie dokonuje się sprawdzenia. W ten sposób powtarza się próby w wyniku których otrzymuje się adres fizyczny, dla którego cały blok należy do obszarów F. Zostaje on przydzielony do bloku.
Na przykład, na fig. 16, w przypadku systemu o strukturze według pierwszej odmiany wykonania, następny blok nr 5 został umieszczony pod adresem fizycznym (1 /5/8), lecz przy tym końcowa połówka bloku rozciąga się na cylinder nr 2. Cylinder nr 2 zawiera obszary B, zatem te obszary me są alokowane, a znajduje się kolejno adres, który może być alokowany jako następny. Wskaźnik adresu fizycznego przemieszczany jest sukcesywnie i do bloku nr 5 zostaje przydzielony adres fizyczny (4/2/0). Jak w pierwszej odmianie wykonania, zarówno w sposobie alokowania bloków bez pomijania środka, jak i w sposobie z pomijaniem środka, jak w niniejszej odmianie wykonania, zależność między odległością (liczbą cylindrów) w kierunku promieniowym i wartością opóźnienia kątowego musi być utrzymywana stała, zatem wykorzystuje się sposób objaśniony powyżej. Jest to powód, dla którego wykorzystanie nie zaczyna się od początku (4/0/0) cylindra nr 4. Powyższe przetwarzanie powtarza się aż do osiągnięcia przez adres fizyczny obwodu wewnętrznego.
W krokach S33 do S36 dokonuje się podobnego przetwarzania w odniesieniu do obszarów B. Początkiem obszarów Bjest cylinder nr 2, co pokazano na fig. 14, zatem wskaźnik adresu fizycznego w kroku S33 jest inicjalizowany na ten adres.
Następnie w kroku S34 następuje odwrócenie znaku opóźnienia kątowego. Obszary B są osiągane od obwodu wewnętrznego w stronę obwodu zewnętrznego, zatem wartość przemieszczenia cylindra staje się ujemna. Zatem osiąga się optymalne opóźnienie kątowe dla przemieszczenia
184 898 głowicy od wewnątrz na zewnątrz, kiedy odpowiednio do tego zostaje odwrócony również znak opóźnienia kątowego.
Krok S35 jest krokiem rzeczywistego zapisu danych na mapie bloku. Ta część jest podobna do kroków S32-1 do S32-6. Należy jednak zauważyć, że różni się ona od kroków S32-1 do S32-7 następująco. Po pierwsze dana jest wpisywana do bloku tylko wtedy, jeżeli cały blok należy do obszarów B. W przeciwnym przypadku dokonuje się następnej próby z nowym adresem fizycznym. Po drugie, na mapę bloku wpisywane jest B.
Na koniec, w kroku S36 określa się, czy wszystkie bloki przeznaczone do przetwarzania zostały przetworzone. Jeżeli nie, to przetwarzanie wraca do kroku S31. Jeżeli wszystkie bloki przeznaczone do przetwarzania zostały przetworzone, przetwarzanie w tym kroku realizuje pauzę.
Na figurze 16 przedstawiono przypadek, w którym do obszarów B przydzielanych jest łącznie 5012 bloków. Przy tym numery bloków obszarów B rozpoczynają się od 5013, a alokacja bloków powtarza się aż do ponownego osiągnięcia obwodu wewnętrznego przez głowicę.
Ponieważ alokator bloków 1 ma opisaną powyżej konfigurację, to programator zadań 2 przejmuje tylko żądania dostępu do obszarów B z bufora żądań dostępu, kiedy głowica przemieszcza się od obwodu zewnętrznego w kierunku obwodu wewnętrznego, i przejmuje do programowania zadań tylko żądania dostępu do obszarów B z bufora żądań dostępu, kiedy nastąpi zakończenie tego, i głowica przemieszcza się od obwodu wewnętrznego do obwodu zewnętrznego. Dzięki temu, niezależnie od kierunku przemieszczania się głowicy, można zawsze zredukować opóźnienie obrotowe do poziomu minimalnego. Zatem jakkolwiek w pierwszej odmianie wykonania, przy pojawianiu się opóźnienia czasowego dla głowicy dochodzącej do obwodu wewnętrznego potrzebnego na powrót do obwodu zewnętrznego, to w drugiej odmianie wykonania me ma takiego opóźnienia, dzięki czemu następuje zwiększenie wydajności.
Można zauważyć, że w przypadku pierwszego przykładu wykonania stwierdzono, że kiedy jeden blok jest duży i rozciąga się na pewien zestaw ścieżek i sektorów, wydajność była dobra jeżeli stosowano dodatkowo opóźnienie kątowe uwzględniające te czasy. W drugim przykładzie wykonania możliwe jest wykorzystanie podobnej metody. Według drugiej odmiany wykonania, kiedy głowica przemieszcza się od obwodu wewnętrznego w stronę obwodu zewnętrznego, głowica kolejno przemieszcza się od cylindra wewnętrznego do cylindra zewnętrznego również przy dostępach wewnątrz bloku, zatem opóźnienie kątowe dla otrzymania czasu niezbędnego dla przemieszczenia cylindra można nadać w kierunku odwrotnym, jak dla ruchu od obwodu zewnętrznego w stronę obwodu wewnętrznego.
Można zauważyć, że jak to pokazano na fig. 14, przez rozmieszczenie cylindrów stanowiących obszary drugie 50 i cylindrów stanowiących obszary pierwsze 51 tak, aby były rozproszone od obwodu wewnętrznego do obwodu zewnętrznego na dysku, w jeszcze większym stopniu można powiększyć wydajność dostępu do dysku.
Jak stwierdzono powyżej, według sposobu sterowania dostępem do dysku zapisu według mniejszego wynalazku i urządzenia do stosowania sposobu, cenę dostępu do dysku zapisu, to znaczy sumę czasu wyszukiwania i czasu opóźnienia obrotowego można zmniejszyć i, dodatkowo, można zagwarantować niewielkąjego wartość maksymalną.
Ponadto, według sposobu sterowania dostępem do dysku zapisu według wynalazku i urządzenia do stosowania sposobu, przez nadanie odpowiedniego opóźnienia kątowego kierunkowi przemieszczania się głowicy dla każdego obszaru, można zmniejszyć cenę dostępu niezależnie od kierunku przemieszczania głowicy.
Oczywiście podczas okresu, w którym głowica ma dostęp do dysku, lub po tym okresie, jest określane programowanie zadań dla, związanego z dostępem, następnego przemieszczania głowicy. W przypadku pierwszego ruchu dostępowego głowicy po włączeniu zasilania urządzenia z fig 2, głowica zostaje przemieszczona na pozycję startowąpo włączeniu zasilania dopiero po uprzednim zaprogramowaniu zadań.
184 898
ŻĄDANIE DOSTĘPU PARAMETR
ERM0N0&8MU
184 898
S5
184 898 ( START )
PRZENIEŚ GŁÓWCE NA CYLINDER w O
S11
ODCZYTAJ / POBtEKZ LICZBĘ N żądania wstępu
S12-1
WYZNACZ ADRES FIZYCZNY UCZ& Al ŻĄDANIA DOSTĘPU
S12-2
S12
USIM LICZBĘ N ŻĄDAŃ DOSTĘPU W PORZĄDKU OD NAJMNIEJSZEGO NUMERU CYLINDRA
S12-3
PRZERAŹ ŻĄDANIA
S12-4
S12-5
KO/UlEC)
S12-8
184 898
Fig. 6
2
184 898
Fg.7
Nr BLOKU POCZĄTKOWY ADRES FIZYCZNY (cyl. / Media//sec.) start scsi: SEKTOR LOGICZNY OGÓLNA LICZBA SEKTOROM
0 (1/0/0) 12 19
1 (2/0/8) 32 19
2 (4/0/4) 52 19
3 (6/0/0) 72 19
4 (7/0/8) 92 19
5 _ (9/0/4) 112 19
~~~~
Fig. 8
184 898
Fig. 9
Fig. 10
AYSK ▼ ▼ ▼ VTf
Fic). 11A Fig. 11B Fig.11 C t ▼„▼▼▼ t
184 898
CENA
DOSTĘPU
Fig. 74
184 898
Fig. 15 ( START )
S35
HPI5Z U MAPĘ &LDKU (ΡΰΰόβΝΥ DO MROKU 52)
(kOMEC
184 898
Flg.ló
HR BLOKU FOCZĄTKOKY ADRES Fizyczny (cyt. / Media/sec.) POCZyiEFFCSi S&c7OQ w&czyy OCÓUłA Lia&A SEBTORÓK F/B
0 (0/0/0) 0 40 F
1 (0/2/8) 40 40 F
2 (0/5/0) 80 40 F
3 (1/0/8) 120 40 F
4 (1/3/0) 160 40 F
5 (4/2/0) 480 40 F
6 (4/4/8) 520 40 F
5013 (2/0/0) 224 40 B
5014 (2/2/8) 264 40 B
5015 (2/5/0) 304 40 B
5016 (3/0/8) 344 40 B
5017 (3/3/0) 384 40 B
r----
184 898
RUCH GŁOHICY
FiCj.I
Departament Wydawnictw UP RP Nakład 60 egz Cena 4,00 zł.

Claims (18)

  1. Zastrzeżenia patentowe
    1. Sposób sterowania dostępem do dysku zapisu, w którym wyznacza się układ bloków danych na dysku, programuje się kolejność realizacji żądań dostępu do dysku z minimalizacją wielkości przemieszczenia głowicy podczas uzyskiwania przez głowicę dostępu do dysku zapisu i realizuje się dostęp do dysku przez głowicę zapisu na podstawie wyniku programowania zadań, znamienny tym, że układ bloków danych na dysku zapisu (5) wyznacza się w zależności przynajmniej od określonego opóźnienia kątowego (Os) stanowiącego kątową różnicę wzdłuż obwodu pomiędzy początkami sąsiednich bloków danych i minimalizuje się czas opóźnienia obrotowego (Tr) stanowiący czas oczekiwania obrotu dysku zapisu do punktu startowego, w którym występujądane w cylindrze w przeciętnej odległości przemieszczenia po realizacji dostępu głowicy do dysku zapisu (5).
  2. 2. Sposób według zastrz. 1, znamienny tym, że położenie bloku danych na dysku zapisu (5) wyznacza się w zależności od ustalonego opóźnienia kątowego (Os) i przerwy (Og) stanowiącej kątową różnicę pomiędzy początkiem i końcem tego samego bloku.
  3. 3. Sposób według zastrz. 2, znamienny tym, że dodatkowo wyznacza się (S3-S4) dane kombinacyjne dla każdej kombinacji opóźnienia kątowego (Os) i przerwy (Og) dla zbioru bloków danych oraz selektywnie wykorzystuje się dane kombinacyjne w zależności od położenia każdego z bloków danych na dysku zapisu (5).
  4. 4 Sposób według zastrz. 3, znamienny tym, że rozmiar bloku danych zmienia się tak, ze przerwa (Og) jest jednakowa w całym obszarze od zewnątrz do wewnątrz dysku zapisu (5).
  5. 5. Sposób według zastrz. 3, znamienny tym, że wyznacza się opóźnienie kątowe (Os) w zależności od zmiany przerwy (Og) bloku danych na podstawie różnicy promienia ścieżki zapisującej.
  6. 6 Sposób według zastrz. 4 albo 5, znamienny tym, że w etapie programowania zadań (S12) zmienia się porządek zbioru żądań dostępu do dysku tak, że ustawione są w porządku, począwszy od najbliższego głowicy, po przemieszczeniu głowicy od położenia aktualnego w stronę jednego z obwodów, wewnętrznego lub zewnętrznego, dysku zapisu (5) i wyznacza się położenie bloku danych na dysku zapisu tak, że różnica między czasem opóźnienia (Td(L)), a czasem wyszukiwania (Ts(L)) przy przeciętnej odległości wyszukiwania (La) staje się dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością:
    Td(L)=(L · Bc · Os+Og+2mn)/o, a La=Lt/(N-1) gdzie L jest odległościąwyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbą bloków danych jednego cylindra, Os jest opóźnieniem kątowym w radianach, Og jest przerwą w radianach, cojest prędkością obrotową (rd/s) dysku, Lt jest maksymalną wartością odległości między położeniami dostępu dwóch końców przy ustawieniu żądań dostępu w porządku numerów cylindrów, N jest liczbą dostępów przetwarzanych jednocześnie, a m jest dobrane jako najmniejsze w zakresie, w którym czas opóźnienia (Td (L)) przekracza czas wyszukiwania (Ts(L)) przy odległości wyszukiwania (L).
  7. 7 Sposób według zastrz. 4 albo 5, znamienny tym, że w etapie programowania zadań (S12) zmienia się porządek zbioru żądań dostępu do dysku tak, że ustawione są w porządku pojawiania się podczas przemieszczania głowicy od położenia aktualnego w stronę jednego z obwodów, wewnętrznego lub zewnętrznego, dysku zapisu (5), a ponadto wyznacza się (S3) położenie bloku danych na dysku zapisu (5) tak, ze czas opóźnienia (Td(L)) jest zawsze większy od czasu wyszukiwania (Ts(L)), a różnica między czasem opóźnienia (Td(L)) i czasem wyszukiwania (Ts(L)) staje się dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością:
    184 898
    Td(L)=(L · Bc · Gs-H3g)/Q>
    gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbąbloków danych jednego cylindra, Gs jest opóźnieniem kątowym w radianach, Ggjest przerwą w radianach, a co jest prędkością obrotową (rd/s) dysku.
  8. 8. Sposób według zastrz. 7, znamienny tym, że stosuje się dysk zapisu (5) podzielony na obszary pierwsze (51) wykorzystywane przy ruchu głowicy od obwodu wewnętrznego do obwodu zewnętrznego i obszary drugie (50) wykorzystywane przy ruchu głowicy od obwodu zewnętrznego do obwodu wewnętrznego, przy czym w etapie wyznaczania (S3) położenia bloku danych na dysku wyznacza się położenie bloku danych na dysku zapisu (5) na podstawie optymalnego opóźnienia kątowego (Gs) i przerwy (0g) w odpowiednich obszarach, w zależności od kierunku ruchu głowicy, a w etapie programowania zadań selektywnie realizuje się dostęp tylko do obszarów pierwszych (51) i drugich (50), w zależności od kierunku przemieszczania głowicy.
  9. 9. Sposób według zastrz. 8, znamienny tym, że stosuje się dysk zapisu (5), na którym obszary pierwsze (51) i drugie (50) dzielą dysk na zbiór przynajmniej dwóch sektorów w kierunku wzdłuż promienia, przy czym obszary pierwsze (51) i drugie (50) rozmieszczone sątak, że sąrozproszone od obwodu wewnętrznego do obwodu zewnętrznego dysku zapisu.
  10. 10. Urządzenie do sterowania dostępem do dysku zapisu, zaopatrzone w środki do wyznaczania układu bloków danych na dysku zapisu, środki do programowania kolejności realizacji żądań dostępu z minimalizacją wielkości przemieszczenia głowicy podczas uzyskiwania przez głowicę dostępu do dysku zapisu oraz sterownik pozycjonowania do realizacji dostępu głowicy do dysku zapisu na podstawie wyniku programowania zadań, znamienne tym, że środki do wyznaczania układu bloków danych (1) są dostosowane do wyznaczania położenia bloków danych na dysku zapisu (5) przynajmniej na podstawie określonego opóźnienia kątowego (Gs) stanowiącego kątową różnicę wzdłuż obwodu pomiędzy początkami sąsiednich bloków danych z minimalizacją czasu opóźnienia obrotowego (Tr) stanowiącego czas oczekiwania obrotu dysku zapisu do punktu startowego, w którym występują dane w cylindrze w przeciętnej odległości przemieszczenia po realizacji dostępu głowicy do dysku zapisu (5).
  11. 11. Urządzenie według zastrz. 10, znamienne tym, że środki do wyznaczania układu bloków danych (1) są dostosowane do określania położenia bloku danych na dysku zapisu (5) na podstawie przerwy (Gg) stanowiącej kątową różnicę pomiędzy początkiem i końcem tego samego bloku, oprócz opóźnienia kątowego (Gs).
  12. 12. Urządzenie według zastrz. 11, znamienne tym, że środki do wyznaczania układu bloków danych (1) są dostosowane do wyznaczania danych kombinacyjnych o każdej kombinacji opóźnienia kątowego (Gs) i przerwy (Gg) dla zbioru bloków danych i do selektywnego wykorzystania danych kombinacyjnych dotyczących położenia każdego z bloków na dysku zapisu (5).
  13. 13. Urządzenie według zastrz. 12, znamienne tym, że środki do wyznaczania układu bloków danych (1) są dostosowane do zmiany rozmiaru bloku danych tak, że przerwa (Gg) jest stała w całym obszarze od zewnątrz do wewnątrz dysku zapisu (5).
  14. 14. Urządzenie według zastrz. 12, znamienne tym, że środki do wyznaczania układu bloków danych (1) sądostosowane do wyznaczania opóźnienia kątowego (Gs) w zależności od zmiany przerwy (Gg) bloku danych na podstawie różnicy promienia ścieżki zapisującej.
  15. 15. Urządzenie według zastrz. 13 albo 14, znamienne tym, że środki do programowania kolejności realizacji żądań dostępu (2) sądostosowane do zmiany porządku zbioru żądań dostępu do dysku tak, ze ustawione są w porządku, począwszy od dostępu najbliższego głowicy po jej przemieszczeniu od położenia aktualnego w stronę jednego z obwodów, wewnętrznego lub zewnętrznego, dysku zapisu (5), a środki do wyznaczania układu bloków danych (1) sądostosowane do wyznaczania położenia bloku danych na dysku zapisu (5) tak, ze różnica między czasem opóźnienia (Td(L)), a czasem wyszukiwania (Ts(L)) przy przeciętnej odległości wyszukiwania (La) jest dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością.:
    184 898
    Td(L)=(L · Bc · 0s+Og+2mn)M a La=Lt/(N-1), gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbąbloków danych jednego cylindra, Os jest opóźnieniem kątowym w radianach, Og jest przerwą w radianach, ω jest prędkością obrotową (rd/s) dysku, Lt jest maksymalną wartością odległości między położeniami dostępu dwóch końców przy ustawieniu żądań dostępu w porządku numerów cylindrów, N jest liczbą dostępów przetwarzanych jednocześnie, a m jest dobrane jako najmniejsze w zakresie, w którym czas opóźnienia (Td(L)) przekracza czas wyszukiwania (Ts(L)) przy danej odległości wyszukiwania (L).
  16. 16. Urządzenie według zastrz. 13 albo 14, znamienne tym, że środki do programowania kolejności realizacji żądań dostępu (2) są dostosowane do zmiany porządku zbioru żądań dostępu do dysku tak, że ustawione są w porządku pojawiania się podczas przemieszczania głowicy od położenia aktualnego do jednego z obwodów, wewnętrznego lub zewnętrznego dysku zapisu (5), a środki do wyznaczania układu bloków danych (1) sądostosowane do wyznaczania położenia bloku danych na dysku zapisu (5) tak, że czas opóźnienia (Td(L)) jest zawsze dłuższy niż czas wyszukiwania (Ts(L)), a różnica między czasem opóźnienia (Td(L)) i czasem wyszukiwania (Ts(L)) jest dostatecznie mała w porównaniu z cyklem obrotu, zgodnie z zależnością;
    Td(L)=(L· Bc· Os+Og)/o, gdzie L jest odległością wyszukiwania w jednostkach odpowiadających numerom cylindrów, Bc jest liczbąbloków danych jednego cylindra, Os jest opóźnieniem kątowym w radianach, Ogjest przerwą w radianach, a ω jest prędkością obrotową (rd/s) dysku.
  17. 17. Urządzenie według zastrz. 16, znamienne tym, że dysk zapisu (5) jest podzielony na obszary pierwsze (51) wykorzystywane przy ruchu głowicy od obwodu wewnętrznego do obwodu zewnętrznego i obszary drugie (50) wykorzystywane przy ruchu głowicy od obwodu zewnętrznego do obwodu wewnętrznego, przy czym środki do wyznaczania układu bloków danych (1) sądostosowane do wyznaczania położenie bloku danych na dysku zapisu (5) na podstawie optymalnego opóźnienia kątowego (Os) i przerwy (Og) w odpowiednich obszarach, w zależności od kierunku ruchu głowicy, a środki do programowania kolejności realizacji żądań dostępu (2) są dostosowane do selektywnej realizacji dostępu tylko do obszarów pierwszych (51) lub do obszarów drugich (50), zgodnie z kierunkiem przemieszczania głowicy.
  18. 18. Urządzenie według zastrz. 17, znamienne tym, że obszary pierwsze (51) i obszary drugie (50) na dysku zapisu (5) rozdzielają dysk na zbiór przynajmniej dwóch sektorów w kierunku wzdłuż promienia, przy czym obszary pierwsze (51) i drugie (50) rozmieszczone sątak, że sąrozproszone od obwodu wewnętrznego do obwodu zewnętrznego dysku.
PL96322016A 1995-10-30 1996-10-24 Sposób i urządzenie do sterowania dostępem do dysku zapisu PL184898B1 (pl)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP28217595 1995-10-30
PCT/JP1996/003109 WO1997016783A1 (en) 1995-10-30 1996-10-24 Methods and apparatus for controlling access to a recording disk

Publications (2)

Publication Number Publication Date
PL322016A1 PL322016A1 (en) 1998-01-05
PL184898B1 true PL184898B1 (pl) 2003-01-31

Family

ID=17649071

Family Applications (1)

Application Number Title Priority Date Filing Date
PL96322016A PL184898B1 (pl) 1995-10-30 1996-10-24 Sposób i urządzenie do sterowania dostępem do dysku zapisu

Country Status (15)

Country Link
US (2) US5708632A (pl)
EP (1) EP0806003B1 (pl)
KR (1) KR100333019B1 (pl)
CN (1) CN1141637C (pl)
AU (1) AU702528B2 (pl)
BR (1) BR9607550A (pl)
CA (1) CA2207076C (pl)
CZ (1) CZ290692B6 (pl)
DE (1) DE69627134T2 (pl)
ES (1) ES2191112T3 (pl)
MY (1) MY115868A (pl)
PL (1) PL184898B1 (pl)
RU (1) RU2154309C2 (pl)
TW (1) TW332284B (pl)
WO (1) WO1997016783A1 (pl)

Families Citing this family (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3659426B2 (ja) 1994-09-02 2005-06-15 ソニー株式会社 エツジ検出方法及びエツジ検出装置
US6434663B1 (en) 1996-09-06 2002-08-13 Intel Corporation Disk block allocation optimization methodology with accommodation for file system cluster size greater than operating system memory page size
US6742080B1 (en) * 1996-09-06 2004-05-25 Intel Corporation Disk block allocation optimization methodology and application
US6253296B1 (en) * 1996-09-06 2001-06-26 Intel Corporation Disk block allocation optimization methodology and applications
EP0834878A2 (en) 1996-10-04 1998-04-08 Sony Corporation Method and device for controlling access to a disc storage device
US6772284B2 (en) * 1997-03-18 2004-08-03 Kabushiki Kaisha Toshiba Disk apparatus capable of continuous display of data using a single recording head
US6603922B1 (en) * 1997-04-07 2003-08-05 Sony Corporation Editing system and editing method
US6072648A (en) * 1997-08-14 2000-06-06 Seagate Technology, Inc. System and method for formatting disc surfaces
WO1999015953A1 (en) * 1997-09-24 1999-04-01 Sony Pictures Entertainment, Inc. Optimizing scheduler for read/write operations in a disk file system
US6134063A (en) * 1997-12-30 2000-10-17 Lsi Logic Corporation Automated multi-track transfers
US6118873A (en) * 1998-04-24 2000-09-12 International Business Machines Corporation System for encrypting broadcast programs in the presence of compromised receiver devices
US6360053B1 (en) * 1998-08-07 2002-03-19 Replaytv, Inc. Method and apparatus for fast forwarding and rewinding in a video recording device
US20010043795A1 (en) * 1998-08-07 2001-11-22 Anthony Wood Video data recorder for recording predefined format shows
WO2000042515A1 (fr) * 1999-01-12 2000-07-20 Fujitsu Limited Dispositif de gestion des acces et procede de gestion des acces a un support d'enregistrement
JP3255887B2 (ja) * 1999-02-15 2002-02-12 松下電器産業株式会社 磁気ディスク装置およびそのディスクアクセス方法
US6339811B1 (en) * 1999-04-21 2002-01-15 Seagate Technologh Llc Rotationally optimized seek initiation
US7380137B2 (en) * 1999-07-20 2008-05-27 International Business Machines Corporation Content guard system for copy protection of recordable media
US6591287B1 (en) * 1999-09-08 2003-07-08 Lucent Technologies Inc. Method to increase the efficiency of job sequencing from sequential storage
US6385673B1 (en) 1999-10-06 2002-05-07 Sun Microsystems, Inc. System and method for adjusting performance of a media storage by decreasing a maximum throughput by a primary derate parameter to specify available & guaranteed rate parameters and determining ring buffer sizes for streams
US6438630B1 (en) 1999-10-06 2002-08-20 Sun Microsystems, Inc. Scheduling storage accesses for multiple continuous media streams
US6721789B1 (en) * 1999-10-06 2004-04-13 Sun Microsystems, Inc. Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests
JP2001243639A (ja) * 2000-02-28 2001-09-07 Pioneer Electronic Corp サーボ制御装置及びサーボ制御方法並びに情報再生装置
US6496899B1 (en) * 2000-02-28 2002-12-17 Sun Microsystems, Inc. Disk scheduling system with bounded request reordering
FR2812957B1 (fr) * 2000-08-14 2003-01-31 Cit Alcatel Procede de memorisation de donnees dans un fichier multimedia utilisant des bases de temps relatives
US7043567B2 (en) * 2002-07-22 2006-05-09 Seagate Technology Llc Method and apparatus for determining the order of execution of queued commands in a data storage system
US7523256B2 (en) * 2005-06-15 2009-04-21 Bea Systems, Inc. System and method for scheduling disk writes in an application server of transactional environment
US7590799B2 (en) * 2005-06-16 2009-09-15 Seagate Technology Llc OSD deterministic object fragmentation optimization in a disc drive
US7463565B2 (en) * 2005-08-30 2008-12-09 Dt Soft Ltd. Method of storing rotating media data in image file
KR100883651B1 (ko) * 2006-05-18 2009-02-18 삼성전자주식회사 파일을 저장할 디스크의 공간을 할당하는 방법 및 장치
JP2008021380A (ja) * 2006-07-14 2008-01-31 Fujitsu Ltd シーク制御装置、シーク制御方法、記憶装置
JPWO2008129616A1 (ja) * 2007-04-09 2010-07-22 東芝ストレージデバイス株式会社 記憶装置、記憶装置の制御装置、記憶装置の制御方法
US8108928B2 (en) * 2008-06-20 2012-01-31 International Business Machines Corporation Adaptive traitor tracing
US8122501B2 (en) * 2008-06-20 2012-02-21 International Business Machines Corporation Traitor detection for multilevel assignment
US8422684B2 (en) * 2008-08-15 2013-04-16 International Business Machines Corporation Security classes in a media key block
US8571209B2 (en) 2009-01-19 2013-10-29 International Business Machines Recording keys in a broadcast-encryption-based system
US11650737B2 (en) * 2019-11-26 2023-05-16 International Business Machines Corporation Disk offset-distance awareness data placement for storage system data protection

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5274507A (en) * 1991-09-09 1993-12-28 Paul Lee Parallel data encoding for moving media
US5581784A (en) * 1992-11-17 1996-12-03 Starlight Networks Method for performing I/O's in a storage system to maintain the continuity of a plurality of video streams
GB2273584B (en) * 1992-12-16 1997-04-16 Quantel Ltd A data storage apparatus
KR940022276A (ko) * 1993-03-11 1994-10-20 오오가 노리오 병렬연산 처리장치
AU2123995A (en) * 1994-03-18 1995-10-09 Micropolis Corporation On-demand video server system

Also Published As

Publication number Publication date
EP0806003B1 (en) 2003-04-02
CN1141637C (zh) 2004-03-10
US5708632A (en) 1998-01-13
KR100333019B1 (ko) 2002-10-04
CA2207076C (en) 2001-02-27
TW332284B (en) 1998-05-21
KR980700599A (ko) 1998-03-30
CA2207076A1 (en) 1997-05-09
CZ290692B6 (cs) 2002-09-11
CN1166883A (zh) 1997-12-03
BR9607550A (pt) 1998-07-07
AU702528B2 (en) 1999-02-25
US5914916A (en) 1999-06-22
EP0806003A1 (en) 1997-11-12
DE69627134D1 (de) 2003-05-08
MY115868A (en) 2003-09-30
CZ9702013A3 (cs) 2002-05-15
MX9704391A (es) 1997-10-31
DE69627134T2 (de) 2004-02-19
RU2154309C2 (ru) 2000-08-10
ES2191112T3 (es) 2003-09-01
PL322016A1 (en) 1998-01-05
WO1997016783A1 (en) 1997-05-09
AU7336396A (en) 1997-05-22

Similar Documents

Publication Publication Date Title
PL184898B1 (pl) Sposób i urządzenie do sterowania dostępem do dysku zapisu
US5574662A (en) Disk-based digital video recorder
EP0781432B1 (en) Multimedia editing system using pre-caching data utilizing thread lists
JPH0576059B2 (pl)
JP2004171411A (ja) データ記憶装置及びバッファメモリの管理方法
EP0690369B1 (en) Disk control method and apparatus capable of lowering the data transfer load of the computer
JPH09185864A (ja) 記録ディスクアクセス制御方法およびその装置
US20010012446A1 (en) Data allocation method, recording medium with data recorded by the method, and data server apparatus
JP3809674B2 (ja) ディスク制御方法および装置
JP2004158179A (ja) 記録ディスクアクセス制御方法およびその装置
JP2001118365A (ja) 記憶階層管理システム、記憶階層管理方法及び記憶階層管理プログラムを記録した記録媒体
JP2004272604A (ja) データの転送制御方法
JP2569773B2 (ja) 記憶サブシステム
MXPA97004391A (en) Method and apparatus for controlling access to a regis disc
JPH06250793A (ja) データ処理装置
Cheng et al. Blueprint For A Hard Real-Time File System
JPS6149229A (ja) 情報処理装置
JPH09190294A (ja) 連続情報記録再生装置
JPS60234268A (ja) 磁気デイスクのデ−タ処理方法
JPH0348321A (ja) 記憶方式、および、記憶装置
JPH11345094A (ja) ディスク制御方法およびディスク装置
JP2004297436A (ja) 画像保存システムおよび画像保存方法
JPH0844500A (ja) データ記憶装置及び方法
JPH0757438A (ja) 磁気ディスク装置
JPH0651913A (ja) 磁気ディスク装置

Legal Events

Date Code Title Description
LAPS Decisions on the lapse of the protection rights

Effective date: 20091024