JPH0950667A - ディスク・ドライブを制御する方法 - Google Patents

ディスク・ドライブを制御する方法

Info

Publication number
JPH0950667A
JPH0950667A JP8161271A JP16127196A JPH0950667A JP H0950667 A JPH0950667 A JP H0950667A JP 8161271 A JP8161271 A JP 8161271A JP 16127196 A JP16127196 A JP 16127196A JP H0950667 A JPH0950667 A JP H0950667A
Authority
JP
Japan
Prior art keywords
disk
request
requests
deadline
scheduler
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
JP8161271A
Other languages
English (en)
Inventor
Shenze Chen
シェンゼ・チェン
Manu Thaper
マヌ・サパー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
HP Inc
Original Assignee
Hewlett Packard Co
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 Hewlett Packard Co filed Critical Hewlett Packard Co
Publication of JPH0950667A publication Critical patent/JPH0950667A/ja
Pending legal-status Critical Current

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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)

Abstract

(57)【要約】 【課題】 優れた柔軟性をもつリアルタイムのディス
ク・スケジューラを提供する。 【解決手段】可動アーム型のディスク・ドライブの動作
を制御するディスク制御機構は、ディスク・アクセス・
スケジューラを含む。ディスク・アクセス・スケジュー
ラは、リクエストを格納する待ち行列をもち、デッドラ
インおよびディスク位置をもつディスク・アクセス・リ
クエストを受け入れる。待ち行列の先頭には、最も早く
満了するデッドラインをもつ一定の数のリクエストを含
む規定されたウィンドウが位置する。ディスク・アクセ
ス・スケジューラは、最も至急のリクエストのデッドラ
インが設定された閾値よりも早く満了するかどうか判断
し、そのような場合、ディスク・アクセス・スケジュー
ラは他のどのリクエストよりも先に最も至急のリクエス
トをスケジュールし、そうでない場合、最も至急のリク
エストに向かって走査し、その走査経路上にあり、ウィ
ンドウ内にあるリクエストをスケジュールする。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、一般にディスク
・スケジューラに関し、特に可動ヘッド型のディスク記
憶装置からのリアルタイムの情報検索を必要とする応用
のためのディスク・スケジューラに関する。
【0002】
【従来の技術】現代の多くのコンピュータの応用は、莫
大なデータ量を必要とする。いくつかの応用では、この
データはリアルタイムで検索されなければならない。そ
のような応用の例は、例えば「ビデオ・オン・デマンド
(video-on-demand)」として知られるビデオ配送サービ
スや、音声再生システムのようなマルチメディア分野に
見られる。
【0003】次世代のビデオ配送サービスの一つが、い
わゆる「ビデオ・オン・デマンド」サービスである。ビ
デオ・オン・デマンド・サービスは、ケーブル・テレビ
とビデオ・カセット・レコーダー(VCR)の性能を兼ね備
える。ビデオ・オン・デマンド・システムは、ケーブル
・テレビのように、映画や、録画されたスポーツ競技お
よびニュースのようなビデオの提供を始める。しかしビ
デオ・オン・デマンド・システムでは、ケーブル・テレ
ビとは違うが、VCRと同じように、視聴者は見たいと思
う番組を選ぶことができる。さらに視聴者は、例えば一
時停止、早送り、早戻しその他の番組の再生を制御する
ことができる。また、ケーブル・テレビと違って、ビデ
オ・オン・デマンドでは視聴者自身の都合で番組の提供
を開始することができる。
【0004】ビデオ・オン・デマンド・システムでは、
例えば個人の自宅や会社に設置されるような多数の視聴
者端末が、一つまたはそれ以上のビデオ・サーバに接続
される。ビデオ・サーバは、ビデオ・プログラムを格納
するための非常に大きいディスク記憶容量をもつコンピ
ュータである。ビデオ・サーバは、「ビデオ・オン・デ
マンド」サービスを提供する際の重要な構成要素の1つ
である。ビデオ・サーバは、以下の主要な見地において
従来のファイル・サーバまたはデータベース・システム
とは区別される。
【0005】*大きい記憶容量 マルチメディアの応用は、非常に大きい記憶容量を必要
とする傾向がある。例えば、一つ一つの圧縮された映画
は平均して約2ないし3GB(ギガバイト)もの記憶空間
を必要とする。何百あるいは何千という映画を格納する
大規模なビデオ・サーバでは、何百ギガバイトまたはテ
ラバイトもの記憶空間が必要とされる。
【0006】*集中的なディスクI/Oトラフィック ビデオ応用は(他のマルチメディア応用と同様に)、多量
のI/Oリクエストを生成する。例えば3メガビット/秒の
ストリーム・ビット速度と128キロバイトのI/O伝送サイ
ズで、200本の映画のストリームが並行にリクエストさ
れる場合、ビデオ・サーバは、連続する1秒当たり600
のI/Oリクエストをサポートする必要がある。
【0007】*大きいI/O伝送サイズ ディスク利用は、I/O伝送サイズに直接に関係する。一
般に、ディスク・サービス時間は、シーク時間、回転待
ち時間およびデータ伝送時間の3つの構成要素から成
る。3つの中で、データ伝送時間を高めることだけが、
ディスク利用の改善に直接に寄与し、回転待ち時間およ
びシーク時間は間接的である。
【0008】*リアルタイム・ディスクI/O 映画のストリームは、連続的に再生されなければならな
い。いかなる不連続も、視聴者の画面上にトラブルをを
もたらす原因となる。従ってビデオ・サーバで「サービ
スの質」を供給するためには、映画データを、記憶ディ
スクからリアルタイム形態で検索しなければならない。
そのようなシステムのI/O性能の基本の測定基準は、も
はや従来のファイル・サーバまたはトランザクション処
理システムに関する「平均応答時間」ではない。その代
わりに、デッドラインをミスするI/Oの数により多くの
関心がもたれている。
【0009】多数のディスク・スケジューリング・アル
ゴリズムが文献に見られ、あるいは今日の市販のシステ
ムに使用されている。これらのアルゴリズムは、2つの
分類に、つまり非リアルタイム・アルゴリズムとリアル
タイム・アルゴリズムに分けることができる。これらの
ディスク・スケジューリング方法には、ビデオ再生リク
エストのリアルタイム処理のために解決しなければなら
ない不利益がなお存在する。
【0010】図2は、可動ヘッド型のディスク・ドライ
ブの図である。ディスク・ドライブは、プラッタ(platt
ers)としても知られる、多数の平行回転ディスクからな
る。それぞれのディスクは、記録する材料でコーティン
グされている。それぞれのディスクの表面は、論理的に
トラックに分割される。一つのディスク上のそれぞれの
トラックに対して、対応する平行なトラックが他のディ
スク上に存在する。このトラックの組はシリンダを形成
する。ディスク上の情報は、アームに搭載された読み/
書きヘッドによって読み取られる(および書き込まれ
る)。アームは、一つのシリンダのすべてのトラックが
平行にアドレスされるように作られる。
【0011】1.非リアルタイム・アルゴリズム すべての非リアルタイム・アルゴリズムに共通の特徴
は、どれもリクエストの時間的制約を(たとえあるとし
ても)考慮しないということである。
【0012】(1)到着順サービス方式(First-come-first
-serve) 到着順サービス方式は、I/Oリクエストをサービスする
最も単純な方法である。それは、待ち行列を整理した
り、スケジューリングを行うという高度な方法は必要と
しない。また、I/O特性に基づく最適化も行わないの
で、その性能は予想通り最悪である。それは、I/Oトラ
フィックが小さい、初期のシステムや小型のシステムで
使用された。
【0013】(2)走査方式(SCAN) 「エレベーター」アルゴリズムとしても知られる走査ア
ルゴリズムでは、アームはその方向におけるリクエスト
がなくなるまで一方向に移動し、その方向おけるすべて
のリクエストをサービスする。それからアームはその走
査方向を変えて、操作を繰り返す。走査アルゴリズムの
主な利点は、ディスクのシーク時間の減少である。問題
は、リクエストがディスクの一端に到達し、アームの走
査を逃してしまった場合、アームの走査が戻ってくるま
で長い時間待たなければならないということである。
【0014】(3)循環走査方式(Circular-SCAN; C-SCAN) 循環走査方式は、走査アルゴリズムの変形である。それ
は、常に一方向に走査するということ以外は、走査方式
と同様に動作する。走査方向での最後のリクエストをサ
ービスした後、アームはどのリクエストもサービスせず
に開始位置(例えばディスクの一端)に戻り、再び走査を
始める。循環走査アルゴリズムの利点は、走査方式と比
較して、I/Oリクエストについてより一様な待ち時間を
与えるということである。
【0015】(4)最短シーク時間優先方式(Shortest-See
k-Time-First; SSTF) 「最短シーク時間優先」アルゴリズムは、現在のアーム
位置からのシーク時間が最短のリクエストを選択する。
シーク時間は、アームが横切るトラック数に比例するの
で、このアルゴリズムは、リクエストの待ち行列の中で
最も近いトラックにヘッドを移動させることによって実
行される。最短シーク時間優先方式はその名の通り最適
のシーク時間を実現することができる一方で、現在のア
ーム位置から離れたリクエストを後回しにするという問
題をかかえる。
【0016】(5)最短時間優先方式(Shortest-Time-Firs
t; STF) 最短のシーク時間でリクエストを選択する最短シーク時
間優先方式とは違って、「最短時間優先方式」は、シー
クおよび回転の待ち時間を含む最短のI/O時間をもつリ
クエストを選択する。このアルゴリズムは、それぞれの
リクエストに対する回転時間を決定するために、ハード
ウェア支援を必要とする。
【0017】最短時間優先アルゴリズムには2つの変形
がある。
【0018】GSTF(Grouped STF)−グループ化最短時間
優先方式。ディスクをシリンダのグループに分割して、
それぞれのグループ内で最短時間優先方式を実行する。
次のグループに移動する前に1つのグループにおけるす
べてのリクエストをサービスする。
【0019】WSTF(Weighted STF)−加重最短時間優先方
式。最短時間優先技法を実行するが、最短時間優先方式
で計算される時間に加齢関数を適用する。加齢関数は、
リクエストが到着してから経過した時間によって決定さ
れる。
【0020】2つの変形は両方とも、元の最短時間優先
アルゴリズムの後回しの問題を解決することを目的と
し、I/O待ち行列の長さが非常に長い(最高1000)と仮定
される環境で研究される。
【0021】(6)グループ化一掃方式(Grouped Sweeping
Scheme;GSS) 「グループ化一掃方式」では、映画の検索はサービス・
ラウンド(round)でサービスされる。それぞれのラウン
ドで、リクエストはグループに区分され、各々のグルー
プはラウンドの中の決まった順序でサービスされる。そ
れぞれのグループ内で、走査アルゴリズムが適用され
る。グループの数(またはグループ・サイズ)は、よりよ
い性能を実現するように調整することができる。
【0022】到着順サービス方式、走査方式、循環走査
方式および最短シーク時間優先方式は以下で述べられて
いる。
【0023】Denning, Peter J.の「Effects of Schedu
ling on File Memory Operations」(Proc. of the AFIP
S Spring Joint Computer Conf. pp.9-21, 1967年) Teorey, T.J.の「Properties of Disk Scheduling Poli
cies in Multiprogrammed Computer Systems」(Proc. o
f the AFIPS Fall Joint Computer Conf. pp.1-11, 197
2年) Teorey, T.J. および Pinkerton, T.B.の「A Comparati
ve Analysis of DiskScheduling Policies」(Comm. of
the ACM, Vol.15, No.3 pp.177-184, 1972年3月) Peterson, J. L. および Silberschatz, A.の「Operati
ng System Concepts,2nd Ed.」(Addison-Wesley Publis
hing Company, 1985年)。
【0024】これらのアルゴリズムに関する性能の論点
は以下で述べられている。
【0025】Coffman, E. G.、Klimko, L.A.および Rya
n, B.の「Analysis of Scanning Policies for Reducin
g Disk Seek Times」(SIAM J. of Computing, Vol.1, N
o.3,1972年9月) Wilhelm, N.C.の「An Anomaly in Disk Scheduling: A
Comparison of FCFS and SSTF Seek Scheduling using
an Empirical Model for Disk Accesses」(Comm. of th
e ACM, Vol.19, No.1, pp13-17, 1976年1月) Hofri, M.の「Disk Scheduling: FCFS vs. SSTF Revisi
ted」(Comm. of the ACM, Vol.23, No.11, pp.645- 65
3, 1981年11月) Frank, H.の「Analysis and optimization of Disk Sto
rage Devices for Time-Sharing Systems」(J. of ACM,
Vol.16, No.4, pp.602-620, 1969年10月) Gotlieb, C.C.および MacEwen, G.H.の「Performance o
f Movable-Head DiskScheduling Disciplines」(J. of
the ACM, Vol.20, No.4, pp.604-623, 1973年10月) Fuller, S.H.の「Minimal-Total-Processing-Time Drum
and Disk SchedulingDisciplines」(Comm. of the AC
M, Vol.17. No.7, pp.376-381, 1974年7月) Perros, H.G.の「A Regression Model for Predicting
the Response Time ofa Disk I/O System」(Computer
J. Vol.23, No.1, pp.34-36, 1980年2月)。
【0026】最短時間優先アルゴリズムは以下で述べら
れている。
【0027】Seltzer, M.、Chen, P.および Ousterhou
t, J.の「Disk Scheduling Revisited」(Proc. of the
Winter'90 USENIX Conf., pp.22-26, 1990年1月)。
【0028】グループ化一掃方式アルゴリズムは以下で
述べられている。
【0029】Yu, P.、Chen, M.S.および Kandlur, D.D.
の「Grouped Sweeping Schedulingfor DASD-based Mult
imedia Storage Management」(Multimedia Systems Jou
rnal, 1:99-109, 1993年) Gemmel, D.J.および Han, J.の「Multimedia Network S
ervers: Multi-Channel Delay Sensitive Data Retriev
al」(Multimedia Systems, 1(6):240-252, 1994年)。
【0030】2.リアルタイム・アルゴリズム リアルタイム検索を実現するために、いくつかのディス
ク・アクセス・スケジューリング方法が提案されてい
る。リアルタイム・スケジューリング・アルゴリズム
は、I/Oリクエストがそれらのデッドラインに間に合う
ように手伝うよう設計される。従ってこれらの方法は、
サービスするためにI/Oリクエストをスケジューリング
する時の時間的制約を考慮に入れている。
【0031】(1)最早デッドライン優先方式(Earliest-D
eadline-First; EDF) 最早デッドライン優先方式は本来はプロセッサーをスケ
ジューリングするために設計された。ディスクに適用す
る場合、アルゴリズムは、最も早いデッドラインをもつ
リクエストをサービスするために簡単に選択する。この
アルゴリズムの利点は、実行するのが単純で容易である
ことである。しかし最早デッドライン優先方式の欠点
は、アルゴリズムがアーム位置を考慮せず、シークの最
適化を行わないので、平均のディスク・アクセス時間が
非常に長いということである。
【0032】最早デッドライン優先スケジューリング・
アルゴリズムは以下で述べられている。
【0033】Liu, C.L.および Layland, J.W.の「Sched
uling Algorithms for Multiprogramming in a Hard Re
al-Time Environment」(J. ACM vol.20, pp.46-61, No.
1, 1973年1月) Towsley, D.および Panwar, S.S.の「On the Optimalit
y of Minimum Laxityand Earliest Deadline Schedulin
g for Real-Time Multiprocessors」(Proc. Euromicro'
90 Workshop on Real-Time, pp.17-24, 1990年)。
【0034】(2)実現可能デッドライン走査方式(Feasib
le-Deadline-SCAN; FD-SCAN) 実現可能デッドライン走査方式は、リアルタイムのトラ
ンザクション処理のために提案されている。実現可能デ
ッドライン走査方式では、最も早い実現可能なデッドラ
インをもつリクエストのトラック位置を用いて、走査方
向を決定する。デッドラインが実現可能というのは、そ
れに間に合うことができると推定される場合である。そ
れぞれのスケジューリング・ポイントで、すべてのリク
エストが審査され、どれが最も早い実現可能なデッドラ
インをもつか決定する。走査方向を選んだ後に、アーム
はその方向に向かって移動し、経路上のすべてのリクエ
ストをサービスする。
【0035】実現可能デッドライン走査方式は、スケジ
ューリングの時にデッドライン情報とアーム位置の両方
を考慮に入れているにもかかわらず、少なくとも2つの
欠点を抱えている。第一に、前の走査目標のリクエスト
がなお実現可能であるかチェックする必要があり、実現
可能でない場合は新しい方向が決定されなければならな
いので、その実行時のスケジューリングの諸経費が高く
なりうる。第二に、アーム位置と最も早いデッドライン
をもつ対象のリクエストの間に多くのリクエストがある
場合、目標のリクエストは、そのデッドラインをミスす
ることがありえる。
【0036】「実現可能デッドライン走査方式」(FD-SC
AN)アルゴリズムは、以下で述べられている。
【0037】Abbot, R.および Garcia-Molina, H.の「S
cheduling I/O Requests with Deadlines: A Performan
ce Evaluation」(Proc. of Real-Time Systems Symposi
um,pp.113-124, 1990年)。
【0038】(3)走査-最早デッドライン優先方式(SCAN-
EDF) 走査方式および最早デッドライン優先方式のアルゴリズ
ムの複合型が以下で最近述べられている。
【0039】Reddy, A. L. NarasimhaおよびWyllie, Ja
mes C.の「I/O Issues in a multimedia System」(Comp
uter, 27(3):69-74, 1994年) 走査-最早デッドライン優先方式では、通常、リクエス
トは最早デッドライン優先方式の順でサービスされる。
しかし1より多いリクエストが同じデッドラインをもつ
場合、走査アルゴリズムがこれらのリクエストに適用さ
れる。
【0040】走査-最早デッドライン優先方式の利点
は、シークの最適化および最早デッドライン優先サービ
スの両方を与えようとすることである。しかし走査-最
早デッドライン優先アルゴリズムの効果は、幾つのリク
エストが同じデッドラインを保持するかということに依
存している。サーバがI/Oリクエストを動的に発行する
場合、同じデッドラインをもつリクエストが2以上にな
る見込みは小さいか、あるいはゼロである。その場合、
アルゴリズムは最早デッドライン優先方式になる。一
方、サーバが「サービス・ラウンド」を用い、1ラウン
ドの間のすべてのリクエストに同じデッドラインが割り
当てられている場合、アルゴリズムは走査方式になる。
従ってこのアルゴリズムの動作は、実際上デッドライン
がどのようにI/Oリクエストに割り当てられるかに依存
する。
【0041】
【発明が解決しようとする課題】発明の目的はリアルタ
イムのディスク・アクセス・スケジューラを提供するこ
とである。
【0042】発明のもう一つの目的は、最も至急のリク
エストのデッドラインの満了が非常に近いために、最も
至急のリクエストよりも先に他のディスク・アクセス・
リクエストをサービスすることができない場合、次のサ
ービスのために、最も早いデッドラインをもつリクエス
ト(以後、最も早いデッドラインをもつリクエストを
「最も至急のリクエスト」と呼ぶ)をスケジュールする
ことである。
【0043】発明のさらなる目的は、最も至急のリクエ
ストがそのデッドラインをミスせずに待つことができる
場合、最も至急のリクエストほど至急ではない一定のデ
ィスク・アクセス・リクエストをスケジュールする、デ
ィスク・アクセス・スケジューラを提供することであ
る。
【0044】発明のさらに別の目的は、リアルタイムの
制約を満足しながら高いディスク利用を提供することで
ある。
【0045】
【課題を解決するための手段】上記およびその他の発明
の目的は、ディスク・アクセス・リクエストのソートさ
れた待ち行列を整理するディスク・スケジューラを提供
することによって満たされる。待ち行列の中のそれぞれ
のリクエストは、アドレスおよびデッドラインをもつ。
待ち行列はデッドラインによってソートされる。従って
待ち行列の先頭には、最も至急のリクエストが存在す
る。
【0046】あらかじめ定義された数のリクエストのウ
ィンドウは、待ち行列の先頭に位置し、待ち行列の他の
すべてのリクエストより至急のあらかじめ定義された数
のリクエストを含む。ディスク・アクセス操作をスケジ
ュールするとき、スケジューラは、まず最初に、現在の
時間と最も至急のリクエストのデッドラインとの間の差
が、あらかじめ定義された閾値より小さいかどうか決定
する。閾値は、ディスクが最も至急のリクエストおよび
別のリクエストの両方をサービスすることができるよう
に十分に大きく設定される。閾値を満足しない場合、デ
ィスク・アクセス・スケジューラは、次のサービスのた
めに最も至急のリクエストをスケジュールし、他のすべ
てのリクエストを無視する。一方、最も至急のリクエス
トが閾値以内ではない場合、ディスク・スケジューラ
は、現在のディスク・アーム位置から最も至急のリクエ
ストへ向かう方向に走査する。この走査の間、現在のア
ーム位置から最も至急のリクエスト位置への経路上にあ
って、かつ、ウィンドウに存在するようなディスク・ア
クセス・リクエストに遭遇したとき、ディスク・スケジ
ューラは、その遭遇したリクエストをスケジュールす
る。
【0047】リクエストをサービスするためにスケジュ
ールした後に、ディスク・スケジューラはそのリクエス
トを待ち行列から削除する。そしてもう一つのリクエス
トをスケジュールするとき、最も至急のリクエストのデ
ッドラインの満了を調べるステップに戻る。本発明の他
のさらなる目的および利点は、当業者であれば、詳細な
説明から容易に明らかになるであろう。
【0048】
【発明の実施の形態】発明は、添付の図面を参照するこ
とによって最も良く理解される。図面で、同じ数字は同
じ要素を表す。規則として、一つまたは複数のアポスト
ロフィーの付いた参照数字の要素は、アポストロフィー
なしの数字の要素および異なった数のアポストロフィー
をもつ同じ参照数字の他の要素と同一であるか、あるい
は類似の変形である。
【0049】図1は、「ビデオ・オン・デマンド」シス
テム100を示している概略図である。システム100の重要
な構成要素はビデオ・サーバ101である。実際の「ビデ
オ・オン・デマンド」システムの実施では、一つまたは
多数のビデオ・サーバ101が存在しうる。それぞれのビ
デオ・サーバ101は、記憶装置103の1つのバンクを含
む。図1では、4つのディスク・ドライブがビデオ・サ
ーバ101に取り付けられているが、それぞれのビデオ・
サーバ101について特定の数の記憶装置103が存在するわ
けではなく、これは単に図示の目的にすぎない。記憶装
置は、例えば図2に示されるディスク・ドライブ103の
ような、可動ヘッド型のディスク・ドライブである。
【0050】ビデオ・サーバ101は、ネットワーク105を
通って視聴者用受像器107に接続される。それぞれの視
聴者用受像器107は、モニタ113および制御ユニット111
からなる。代替の実施例で、モニター113および制御ユ
ニット111は一つのユニットに統合されてもよい。ネッ
トワーク105は、2方向ケーブル・テレビ・ネットワー
ク、電話ネットワーク、その他の広域ネットワーク、ま
たはローカルエリア・ネットワークでありえる。
【0051】ビデオ・サーバ101は、映画、ニュース番
組および録画されたスポーツ競技のような、格納された
ビデオ番組を含む。この番組は、デジタル形式でディス
ク・ドライブ103に格納されている。個々の番組は、数
枚のディスク103に「ストライプ状に分ける(stripe)」
ことができ、連続したデータが別々のディスク上に位置
される。それによって、より人気の高いデータを保有す
る個々のディスク・ドライブに負荷をかけすぎないよう
にすることができる。
【0052】図2は、可動ヘッド型のディスクドライブ
機構103をより詳細に示している概略図である。ディス
ク・ドライブ103は、複数の平行のディスク201を含む。
それぞれのディスク201は、例えば磁性材料のような、
データが格納されうる記録材料でコーティングされてい
る。データは、それぞれのディスク上でトラック203の
ようなトラックに論理的に組織化されている。1つのデ
ィスク上のそれぞれのトラック203に対して、平行なト
ラックが他のディスク203上に存在する。これらの平行
なトラック203の集まりは、シリンダ205を形成する。従
って1ブロックのデータは、それが位置するディスクお
よびそれが位置するシリンダによってアドレスすること
ができる。
【0053】さらにディスク・ドライブ103は、複数の
平行な読み/書きヘッド207からなる。それぞれの読み/
書きヘッド207はアーム209に取り付けられている。アー
ム209は、ディスク・コントローラからの命令に基づい
て(後述される図3を参照)、特定のシリンダにアクセス
するために、読み/書きヘッド207を移動させるように作
動する。典型的に読み/書きヘッド207は、所与の時点で
すべての読み/書きヘッド207が同一のシリンダ205のト
ラック203に整列するように構成される。
【0054】図1に戻って、ディスク・スケジューラ10
9は、それぞれの個々のディスク・ドライブ103上のデー
タへのアクセスをスケジュールする。
【0055】図3は、ディスク・スケジューラ109を含
むビデオ・サーバ101のブロック図である。図3に示す
実施例で、ディスク・スケジューラ109はビデオ・サー
バ101の構成要素である。図4は代替の実施例のブロッ
ク図であり、ディスク・スケジューラ109'は、ビデオ・
サーバ101'ではなくディスク・ドライブ・ユニット103'
に位置する。
【0056】図3の実施例で、ディスク・スケジューラ
109はリクエストの待ち行列301を含む。ビデオ・サーバ
101がビデオ番組を視聴者用受像器107に配送するとき、
ビデオ・データのリクエストは、リクエストの待ち行列
301に置かれる。それぞれのリクエストはデッドライン
と関連し、その時間までに間に合うようにサービスされ
なければならない。またリクエストは、リクエストされ
たデータのディスク位置も含む。リクエストの待ち行列
301は、デッドラインの順に組織される。最も早いデッ
ドラインをもつリクエストは、待ち行列301の先頭に置
かれる。ビデオ・サーバ101は、待ち行列マネージャー3
02の「待ち行列に入れる(ENQUE)」手続きを実施するこ
とによって、リクエストの待ち行列301にリクエストを
入れる。ENQUE手続きによって、待ち行列301のリクエス
トはそれぞれのデッドラインに従って並べられる。
【0057】またディスク・スケジューラ109は、ディ
スク・ドライブ・アーム209の現在のアーム位置を格納
する例えばレジスターのようなデータ構造303と、閾値
およびウィンドウ・サイズのパラメータを格納するデー
タ構造305を含み、データ構造305もまたレジスタに格納
されうる。これらのパラメータは、以下でより詳しく説
明される。
【0058】本発明の好ましい実施例によれば、ディス
ク・スケジューラ109は、RT-WINDOWと呼ばれる、ビデオ
またはメディア・サーバのためのウィンドウに基づくリ
アルタイム・ディスク・スケジューリング・アルゴリズ
ムに従って作動し、既存のリアルタイムおよび非リアル
タイムのアルゴリズムの欠点と制限を克服する。
【0059】図5は、本発明に従うディスク・スケジュ
ーラ109の動作を示すフローチャートである。ここで、
スケジューラ109の動作を図6および図7に関連して説
明する。
【0060】図6はディスク・プラッタ201の断面図で
あり、図7aおよび図7bは待ち行列301の図である。例
で、5つのリクエスト503aないしeは、プラッタ201上に
位置する。図7aで、6つのリクエスト503が待ち行列30
1に格納されている。それぞれのリクエスト503は、デッ
ドラインdiを保持し、シリンダ・アドレスciをもつ。ア
ドレスもまた図6に示されている。本発明はシリンダ・
アドレスに関して記述されているが、発明は、論理ブロ
ック・アドレス(LBA)にも適用できる。
【0061】図6の例では図示のために、ディスクが13
のシリンダに分割されている。当業者であれば、1つの
ディスク・ドライブの実際のシリンダ数は、13よりもか
なり多いことがわかるであろう。
【0062】リクエスト503aは最も早いデッドラインd1
をもっているので、最も至急のリクエストである。リク
エスト503bは次に最も早いデッドラインd2をもち、d1
d2より早く、d2はd3より早いという具合である。
【0063】図5の手続きは、2つのイベント、すなわ
ちディスク・アクセス・リクエストが新たに到着したと
き(イベント401)、およびディスク・アクセスのために
ディスクが利用可能になったとき(イベント403)に駆動
される。新たなアクセス・リクエストがスケジューラに
到着すると、スケジューラ109は待ち行列マネージャー3
02のENQUE手続きを呼び出して、最も至急のリクエスト
が常に待ち行列の先頭にあり、その後に次に最も至急の
リクエストがあるというようなデッドラインの順で、リ
クエストの待ち行列301にリクエストを挿入する(ステッ
プ405)。
【0064】待ち行列301へのリクエストの挿入の後、
ディスク・ドライブが利用可能になるまで、手続きは待
機する(待ち状態407)。ディスク利用可能のイベントが
起きると(イベント403)、スケジューラは待ち状態407か
ら進んで、サービスすべき次のアクセス・リクエストを
スケジュールする。
【0065】待ち行列の最初のn個のリクエストは、サ
イズnのウィンドウ605の中に含まれる。図7の例に示
す実施例で、ウィンドウ605は4つのリクエスト503を含
む。好ましい実施例で、ウィンドウ・サイズは、調整可
能なディスク・スケジューラ109のパラメータである。
【0066】リクエストをスケジュールするとき、ディ
スク・スケジューラ109は、最も至急のリクエスト(例の
中のリクエスト503a)のデッドラインが一定の閾値以内
で満了するかどうかを決定する(ステップ409)。その決
定を行うために、スケジューラ109は最も早いデッドラ
イン(例の中のd1)を現在の時間と比較する。その差が閾
値より小さい場合(決定ステップ411)、スケジューラ109
は、次にサービスすべき最も至急のリクエスト(503a)を
スケジュールする(ステップ413)。それによって、ディ
スク・アーム209は、最も至急のリクエストのためのア
ドレスに直接に移動する。
【0067】デッドラインと現在の時間の間の差が閾値
より大きい場合、スケジューラ109は待ち行列スキャナ3
07を呼び出して、最も至急のリクエスト503aに向かって
走査する(ステップ415)。走査とは、スケジューラがア
ーム209を特定の方向に移動させる動作である。走査ロ
ジック307は、走査の間、現在のアーム位置からウィン
ドウ605の最も至急のリクエスト503aの位置までの経路
上の、次のリクエスト503をサービスするためにスケジ
ュールする。
【0068】図6および図7で、アーム209は、読み/書
きヘッド207がシリンダ2に位置するように配置されて
いる。最も至急のリクエストのためのシリンダ・アドレ
スはC1であり、シリンダ12に位置する。最も至急のリク
エスト(503a)のデッドラインの切迫の状況によって、デ
ィスク・スケジューラ109は、最も至急のリクエスト503
aを最初にサービスするか、あるいは走査するか決定す
る(決定411)。デッドラインと現在の時間との間の差が
閾値よりも大きいと述べたように、最も至急のリクエス
ト503aに待つ余地があるならば、スケジューラは最も至
急のリクエスト503aに向かって走査し、次のサービスの
ために、シリンダ12に向かう経路で遭遇した最初のリク
エストであって、ウィンドウ605内にあるリクエスト(こ
の場合リクエスト503c)をスケジュールする(ステップ41
5)。(a)リクエスト503bは、シリンダ12のリクエスト503
aに向かう方向ではないので選択されない、(b)リクエス
ト503eはウィンドウ605に存在しないので選択されな
い、ということに注意されたい。
【0069】ステップ415またはステップ413の実行に続
いてリクエストはスケジュールされ、スケジューラは進
んで、リクエストを処理するようにディスク・ドライブ
103にコマンドを発行する(ステップ417)。これらのコマ
ンドは、ディスク・スケジューラ109のディスク・アク
セス命令309を用いて発行される。典型的に、読み出し
命令309は、特定のアドレスに格納されたデータを返す
ようにディスク・ドライブにコマンドを発行する。この
ようにディスク・スケジューラ109が特定の読み出し命
令を発行するような時、現在のアーム位置のアドレス30
3が更新される。
【0070】リクエストがスケジュールされると、ディ
スク・スケジューラは、待ち行列マネージャー302のDEQ
UE手続きを用いて、リクエストの待ち行列からそのリク
エストを削除する。待ち行列は、デッドラインの順に連
続的に整理される。
【0071】ディスク・アクセス命令を発行した後、ス
ケジューラは待ち状態407へ戻る。一方で、待ち状態407
に新たなアクセス・リクエストが到着すると(イベント4
01)、待ち状態は中断され、スケジューラは新たなリク
エストを待ち行列301に入れる。他方で、前に発行され
たコマンドの完了のようなディスク利用可能のイベント
が起きると、スケジューラは、上述の手続きを使用して
次のリクエスト503をスケジュールする 。
【0072】サービスのためにリクエストがスケジュー
ルされると、それらは待ち行列301から削除される。図
7bは、いくつかの走査オペレーション415の後の図7a
の例の待ち行列301の図である。リクエスト503a、503d
および503cは、これらの走査の間にスケジュールされ、
サービスされ、そして待ち行列301から削除された。リ
クエスト503bが「最も至急の」リクエストになってい
る。新たなリクエスト503gおよび503hが加えられてい
る。
【0073】図4に戻って、そこに示す本発明に従うデ
ィスク・スケジューラの実施例では、ディスク・スケジ
ューラ109'は、ディスク・ドライブ103'上に常駐するデ
ィスク・コントローラ371の一部になっている。ディス
ク・コントローラ371は、ビデオ・サーバ101'から、I/O
チャネル311を経由して入力/出力(I/O)命令を受け取
る。ディスク・スケジューラ109'は、ディスク・アーム
制御命令375を含むディスク・アクセス命令を、ディス
ク・ハードウェア377(例えばアーム209、ディスク・プ
ラッタ201、読み/書きヘッド207)に発行する。ディスク
・スケジューラ109'は、図5に関連して上述の手続きに
従って動作する。
【0074】スケジューラ109は、従来技術のディスク
・スケジューラより優れた多くの利点をもつ。第一に、
スケジューラ109は、デッドラインに間に合うそれぞれ
のリクエストの見込みを増やすという点で「リアルタイ
ム」であり、これはすべての非リアルタイム・アルゴリ
ズムと区別される。それぞれのスケジューリング・ポイ
ントで、最も至急のリクエストの残りの寿命が非常に近
接している場合、アルゴリズムは直ちにそのリクエスト
をサービスする。
【0075】第二に、最も早いデッドラインをもつリク
エストがそのデッドラインに間に合うことが保証される
時のみ、シークの最適化が行われる。従来技術のリアル
タイム・アルゴリズムの最早デッドライン優先方式では
シークの最適化が行われないという点で、最早デッドラ
イン優先方式とは異なる。さらに実現可能デッドライン
走査方式では最も至急のリクエストの時間的制約にかか
わらず常にシークの最適化が行われるという点で、本ス
ケジューラは実現可能デッドライン走査方式アルゴリズ
ムとは異なる。こうして実現可能デッドライン走査方式
では、最も至急のリクエストがそのデッドラインをミス
する可能性がより大きい。
【0076】第三に、本スケジューラは、ウィンドウ60
5の中に限って走査する。すなわち、サービスするため
に選ばれるリクエストは、常に、比較的切迫した時間的
制約をもつ。ところが実現可能デッドライン走査方式
は、たとえデッドラインがずっと先であっても、走査経
路上のあらゆるリクエストを選ぶ。本発明のRT-WINDOW
スケジューラで、ウィンドウ機構は、切迫した時間的制
約をもつリクエストがデッドラインをミスする見込みを
減少させる。
【0077】最後に、アーム209は常に最も至急のリク
エストに向かって移動するので、そこに向かう経路上の
リクエストをサービスした後、最も至急のリクエストま
での残りのシーク距離は常に減少する。
【0078】RT-WINDOWスケジューラ109は、2つの調整
可能なパラメータ、すなわち閾値およびウィンドウ・サ
イズをもつ。スケジューラ109の性能は、これらの2つの
パラメータを慎重に調節することによって調整すること
ができる。
【0079】閾値は、最も至急のリクエストをサービス
するかしないか決めるために使用される。閾値は、最も
至急のリクエストおよび他の少なくとも一つのリクエス
トの両方ををサービスする時間を含むように十分に大き
く設定されるべきである。このパラメータの一つの取り
うる値は、これらのリクエストについて、ディスク・ア
クセス時間およびチャネル伝送時間を含む、推定される
最も悪い場合のディスクI/O応答時間の合計でありえ
る。
【0080】ウィンドウ・サイズは、スケジューラの振
る舞いを決定するパラメータである。ウィンドウ・サイ
ズを減少させることは、シークの最適化よりむしろリク
エストの時間的制約をより重視する。ウィンドウ・サイ
ズ=1の極端な場合、アルゴリズムは最早デッドライン
優先アルゴリズムに変わる。一方、ウィンドウ・サイズ
を増大させることは、時間的制約よりもシークの最適化
をより重視する。ウィンドウ・サイズのパラメータが非
常に大きく(例えば1000)設定される場合、走査すると判
断されれば、アルゴリズムは実現可能デッドライン走査
方式に変わる。実験的結果により、3から5のウィンド
ウ・サイズがワークロードの広い範囲で適当であり、こ
の範囲内であれば、ウィンドウ・サイズは全体的なシス
テム性能にあまり感応しない。
【0081】その効果がワークロードに依存する、すな
わち同じデッドラインを保持するリクエストが存在しな
ければアルゴリズムが最早デッドライン優先方式に変わ
る走査-最早デッドライン優先方式とは違って、RT-WIND
OWスケジューラ303はワークロードには全く依存しない
ということに注意されたい。それは、最早デッドライン
優先方式または実現可能デッドライン走査方式のように
振る舞うように、スケジューラの1つまたは複数のパラ
メータを調節することによって設定することができる。
従ってスケジューラ109は、優れた柔軟性を提供する。
【0082】代替の実施例で、上述の最短時間優先アル
ゴリズムが必要とするような一定のハードウェア支援を
使用する場合、RT-WINDOWアルゴリズムは、シークの最
適化だけでなく回転待ち時間の最適化も行うように容易
に拡張することができる。この実施例で、スケジューラ
は走査の代わりに、ウィンドウ内で最小のサービス時間
(シーク時間と回転待ち時間の合計として定義される)を
もつリクエストを選択する。シークおよび回転の待ち時
間の合計の情報を持つことはまた、より正確に閾値パラ
メータを推定する助けとなる。
【0083】代替の実施例は、図3のディスク・スケジ
ューラ109と図4のディスク・スケジューラ109'の複合
型システムである。この代替では、サーバおよびディス
ク・ドライブの両方がリクエストの待ち行列をもつ。同
様に、サーバおよびディスク・ドライブは両方とも、上
述したように本発明に従う、ウィンドウに基づくディス
ク・スケジューラをもつ。
【0084】新しいRT-WINDOWスケジューラはビデオ・
オン・デマンドの環境で記述されているが、当業者であ
れば本発明はまた、リアルタイムのトランザクション処
理等のような他の応用で使用できることが理解されるで
あろう。
【0085】本発明は例として次の実施態様を含む。 (1)所与の時点で現在の位置をもつ可動アームを備え
るディスク・ドライブを制御する方法であって、閾値パ
ラメータを定義するステップと、それぞれのディスク・
アクセス・リクエストが規定されたデッドラインおよび
ディスク・アドレスをもち、最も早いデッドラインをも
つディスク・アクセス・リクエストが最も至急のリクエ
ストである、複数のディスク・アクセス・リクエストを
受け入れるステップと、最も至急のディスク・アクセス
・リクエストが待ち行列の最前部におかれ、待ち行列が
デッドラインに従ってソートされるというように、最前
部をもつ待ち行列に上記ディスク・アクセス・リクエス
トを格納するステップと、上記待ち行列の最前部におい
て一定の数のディスク・アクセス・リクエストを含むウ
ィンドウを、上記待ち行列に定義するステップと、待ち
行列の中の最も至急のリクエストのデッドラインが満了
する前にどれだけの時間が残っているか決定し、上記時
間が閾値より小さい場合、最も至急のリクエストをサー
ビスし、そうでない場合、上記現在のアーム位置から上
記最も至急のリクエストのディスク・アドレスに向かっ
て走査し、上記走査の間、走査経路にあり、かつ、ウィ
ンドウ内に存在する、遭遇した第一のリクエストをスケ
ジュールする、上記待ち行列のリクエストを処理するス
テップと、を含む上記方法。 (2)最も至急のリクエストのデッドラインが満了する
前にどれだけの時間が残っているか決定する上記ステッ
プが、上記最も至急のリクエストのデッドラインを現在
のクロック時間と比較することを含む、上記(1)の方
法。 (3)さらに、上記ウィンドウのサイズを定義するステ
ップを含む、上記(1)の方法。 (4)リクエストは、サービスされた後、上記待ち行列
および上記ウィンドウから削除される、上記(1)の方
法。 (5)所与の時点で可動アームが現在の位置をもつ、可
動アーム型のディスク・ドライブの操作を制御するディ
スク制御機構であって、デッドラインおよびディスク位
置をもつディスク・アクセス・リクエストを受け入れる
ように操作できるディスク・アクセス・スケジューラ
と、待ち行列の中の1つのリクエストが他のどのリクエ
ストよりも至急である、上記リクエストを格納する待ち
行列データ構造と、他のすべてのリクエストよりも早く
満了するデッドラインをもつ一定の数のリクエストを含
む、上記待ち行列の中のウィンドウと、上記最も至急の
リクエストが、設定された閾値が許容するよりも早く満
了するデッドラインをもつかどうか決定し、そのような
場合、上記最も至急のリクエストを他のどのリクエスト
よりも先にサービスし、そうでない場合、上記最も至急
のリクエストに向かって走査し、上記現在のアーム位置
および上記最も至急のリクエストの間のディスク位置を
もつリクエストをスケジュールするロジックと、を含む
上記ディスク制御装置。 (6)格納されているデータをリアルタイム提供するデ
ータ・サーバであって、少なくとも一つの中央処理装置
と、顧客に提供するためのデータを格納するためであ
り、ディスク・ドライブ・アームが現在の位置をもつ、
少なくとも一つの可動アーム型のディスク・ドライブ
と、上記ディスク・ドライブに格納されているデータの
ためのリクエストを受け入れ、他のいかなるリクエスト
よりも早く満了するデッドラインをもつ所与の数のリク
エストが上記待ち行列のウィンドウ内に位置するよう
に、上記リクエストを待ち行列データ構造に格納する操
作ができる、それぞれの上記可動アーム型のディスク・
ドライブのディスク・スケジューラと、を含み、上記デ
ィスク・スケジューラが、他のいかなるリクエストより
も至急である上記待ち行列のリクエストが許容される閾
値より前に満了するデッドラインをもつかどうかを決定
し、そのような場合、そのようなリクエストを次にサー
ビスするためにスケジュールし、そうでない場合、上記
ディスク・ドライブ・アームの現在位置から上記最も至
急のリクエストの上記位置に向かって走査し、上記ウィ
ンドウにあって、上記走査オペレーションの間に遭遇し
たすべてのリクエストをサービスするためにスケジュー
ルし始めるよう操作できる、上記データ・サーバ。 (7)上記閾値および上記ウィンドウの上記所与の数の
リクエストが、上記ディスク・スケジューラの調整可能
なパラメータである、上記(6)のデータ・サーバ。
【0086】
【発明の効果】本発明によれば、最も至急のリクエスト
のデッドラインが非常に近接している場合はそのリクエ
ストを直ちにサービスし、最も至急のリクエストのデッ
ドラインまでに余裕がある場合は、時間的制約のきつい
リクエストについてシークの最適化を行うことができ、
デッドラインを満足するリクエストの見込みを増やすと
いう、優れた柔軟性をもつリアルタイムのディスク・ス
ケジューラを提供することができる。
【図面の簡単な説明】
【図1】複数のビデオ・サーバを含む「ビデオ・オン・
デマンド」システムを示す概略図である。
【図2】図1の「ビデオ・オン・デマンド」システムの
可動ヘッド型のディスク・ドライブ機構をより詳細に示
す概略図である。
【図3】発明の好ましい実施例に従うディスク・スケジ
ューラを含むビデオ・サーバのブロック図である。
【図4】発明に従うディスク・スケジューラがディスク
・ドライブ・ユニットに含まれる、代替の実施例のビデ
オ・サーバのブロック図である。
【図5】本発明に従うディスク・ドライブ・リクエスト
をスケジューリングする方法を示すフローチャートであ
る。
【図6】多数のディスク・アクセス・リクエストのディ
スク位置を示すディスク・プラッタの典型的な断面図で
ある。
【図7】図7aは、ディスク・アクセス・リクエストの
待ち行列の概略図である。図7bは、図7aのディスク・
アクセス・リクエストの待ち行列の後の時点の概略図で
ある。
【符号の説明】
101 ビデオ・サーバ 103 記憶装置 109 ディスク・スケジューラ 107 視聴者用受像器 111 制御ユニット 113 モニタ 201 ディスク 203 トラック 207 読み/書きヘッド 209 アーム

Claims (1)

    【特許請求の範囲】
  1. 【請求項1】所与の時点で現在位置をもつ可動アームを
    備えるディスク・ドライブを制御する方法であって、 閾値パラメータを規定するステップと、 最も早いデッドラインをもつディスク・アクセス・リク
    エストが最も至急のリクエストである、それぞれが規定
    されたデッドラインおよびディスク・アドレスをもつ複
    数のディスク・アクセス・リクエストを受け入れるステ
    ップと、 最も至急のディスク・アクセス・リクエストを待ち行列
    の最前部におき、デッドラインに従って待ち行列をソー
    トするように、最前部をもつ待ち行列に上記ディスク・
    アクセス・リクエストを格納するステップと、 上記待ち行列の最前部で一定の数のディスク・アクセス
    ・リクエストを含むウィンドウを、上記待ち行列に規定
    するステップと、 待ち行列の中の最も至急のリクエストのデッドラインが
    満了する前にどれだけの時間が残されているか判断し、
    上記時間が閾値より少なければ、最も至急のリクエスト
    をサービスし、そうでなければ、上記アームの現在位置
    から上記最も至急のリクエストのディスク・アドレスに
    向かって走査して、走査経路上にあり、かつ、ウィンド
    ウ内に存在する、上記走査の間に遭遇した第一のリクエ
    ストをスケジュールすることによって、上記待ち行列の
    リクエストを処理するステップと、を含む上記方法。
JP8161271A 1995-07-31 1996-06-21 ディスク・ドライブを制御する方法 Pending JPH0950667A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/509,074 US5787482A (en) 1995-07-31 1995-07-31 Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
US509,074 1995-07-31

Publications (1)

Publication Number Publication Date
JPH0950667A true JPH0950667A (ja) 1997-02-18

Family

ID=24025163

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8161271A Pending JPH0950667A (ja) 1995-07-31 1996-06-21 ディスク・ドライブを制御する方法

Country Status (3)

Country Link
US (1) US5787482A (ja)
EP (1) EP0757310A3 (ja)
JP (1) JPH0950667A (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162507A (ja) * 1996-09-20 1998-06-19 Matsushita Electric Ind Co Ltd 同時リード−ライト要求用ビデオサーバスケジューリング
JPH11289510A (ja) * 1998-02-09 1999-10-19 Matsushita Electric Ind Co Ltd ディスクスケジュ―リング及び非線形画像編集システム
JP2005339262A (ja) * 2004-05-27 2005-12-08 Canon Inc ファイルシステムおよびその制御方法
JP2015072643A (ja) * 2013-10-04 2015-04-16 株式会社 日立産業制御ソリューションズ コンテンツ配信装置及びコンテンツ配信装置のコンテンツ配信方法

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2950223B2 (ja) * 1996-01-12 1999-09-20 日本電気株式会社 データ読出装置
JP3563541B2 (ja) * 1996-09-13 2004-09-08 株式会社東芝 データ格納装置及びデータ格納方法
US6553476B1 (en) * 1997-02-10 2003-04-22 Matsushita Electric Industrial Co., Ltd. Storage management based on predicted I/O execution times
JP4467651B2 (ja) * 1997-07-21 2010-05-26 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ マスタ/スレーブ加入者が混在した環境において、動的な遮断及び/又は開始動作を介して、通信チャンネルを動作させる方法、及びそのような方法を実施するよう構成されたシステム
US6282607B1 (en) * 1997-09-18 2001-08-28 Lucent Technologies, Inc. Efficient scheduling of reading data from multiple storage mediums to satisfy multiple requests
US6145052A (en) * 1997-11-04 2000-11-07 Western Digital Corporation Disk drive with adaptive pooling for command reordering
US6182197B1 (en) * 1998-07-10 2001-01-30 International Business Machines Corporation Real-time shared disk system for computer clusters
US6915376B1 (en) * 1998-12-22 2005-07-05 Intel Corporation Host controlled optimization of disk storage devices
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
US6691208B2 (en) 1999-03-12 2004-02-10 Diva Systems Corp. Queuing architecture including a plurality of queues and associated method for controlling admission for disk access requests for video content
US6378036B2 (en) * 1999-03-12 2002-04-23 Diva Systems Corporation Queuing architecture including a plurality of queues and associated method for scheduling disk access requests for video content
US6317808B1 (en) * 1999-03-26 2001-11-13 Adc Telecommunications, Inc. Data storage system and method of routing or assigning disk write requests among a set of disks using weighted available disk space values
JP3382176B2 (ja) * 1999-03-26 2003-03-04 株式会社東芝 要求処理方法および要求処理装置
US6609149B1 (en) * 1999-04-12 2003-08-19 International Business Machines Corporation Method and apparatus for prioritizing video frame retrieval in a shared disk cluster
US6654195B1 (en) 1999-04-27 2003-11-25 Western Digital Ventures, Inc. Disk drive having a register set for providing real time position variables to a host
US6412058B1 (en) * 1999-04-27 2002-06-25 International Business Machines Corporation Adaptive head address re-map for data storage devices
US6301639B1 (en) * 1999-07-26 2001-10-09 International Business Machines Corporation Method and system for ordering priority commands on a commodity disk drive
US6378052B1 (en) * 1999-08-11 2002-04-23 International Business Machines Corporation Data processing system and method for efficiently servicing pending requests to access a storage system
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
US6738972B1 (en) * 1999-12-30 2004-05-18 Opentv, Inc. Method for flow scheduling
US6892250B2 (en) 2000-02-09 2005-05-10 Seagate Technology Llc Command queue processor
US6789132B2 (en) 2000-02-09 2004-09-07 Seagate Technology Llc Modular disc drive architecture
US6496899B1 (en) * 2000-02-28 2002-12-17 Sun Microsystems, Inc. Disk scheduling system with bounded request reordering
US6438368B1 (en) * 2000-03-30 2002-08-20 Ikadega, Inc. Information distribution system and method
US6691198B1 (en) * 2000-03-30 2004-02-10 Western Digital Ventures, Inc. Automatically transmitting scheduling data from a plurality of storage systems to a network switch for scheduling access to the plurality of storage systems
US6928470B1 (en) * 2000-07-31 2005-08-09 Western Digital Ventures, Inc. Transferring scheduling data from a plurality of disk storage devices to a network switch before transferring data associated with scheduled requests between the network switch and a plurality of host initiators
US7904931B2 (en) * 2001-09-12 2011-03-08 Cox Communications, Inc. Efficient software bitstream rate generator for video server
US20030156547A1 (en) * 2002-02-15 2003-08-21 Exanet. Inc. System and method for handling overload of requests in a client-server environment
US7797064B2 (en) 2002-12-13 2010-09-14 Stephen Loomis Apparatus and method for skipping songs without delay
US7493289B2 (en) * 2002-12-13 2009-02-17 Aol Llc Digital content store system
US7912920B2 (en) 2002-12-13 2011-03-22 Stephen Loomis Stream sourcing content delivery system
US7412532B2 (en) * 2002-12-13 2008-08-12 Aol Llc, A Deleware Limited Liability Company Multimedia scheduler
US20040177115A1 (en) * 2002-12-13 2004-09-09 Hollander Marc S. System and method for music search and discovery
JP2006511870A (ja) * 2002-12-18 2006-04-06 イー・エム・シー・コーポレイシヨン メディアリソースに関する要求のリソース割り当てアウェア待ち行列作成
US7366833B2 (en) * 2002-12-31 2008-04-29 International Business Machines Corporation Method and system for enhanced scheduling of memory access requests
US7062582B1 (en) 2003-03-14 2006-06-13 Marvell International Ltd. Method and apparatus for bus arbitration dynamic priority based on waiting period
WO2004095254A1 (en) * 2003-03-21 2004-11-04 Seagate Technology Llc Semantically-aware, dynamic, window-based disc scheduling method and apparatus for better fulfilling application requirements
US7073021B2 (en) * 2003-03-21 2006-07-04 Seagate Technology Llc Semantically-aware, dynamic, window-based disc scheduling method and apparatus for better fulfilling application requirements
US7206866B2 (en) * 2003-08-20 2007-04-17 Microsoft Corporation Continuous media priority aware storage scheduler
WO2005071538A1 (en) * 2004-01-21 2005-08-04 Koninklijke Philips Electronics N.V. Method of increasing boot-up speed
JP2005215729A (ja) * 2004-01-27 2005-08-11 Hitachi Global Storage Technologies Netherlands Bv データ伝送制御方法及び記憶装置
JP2005309980A (ja) * 2004-04-23 2005-11-04 Hitachi Global Storage Technologies Netherlands Bv ディスク装置及びリアルタイム処理と非リアルタイム処理の同時実行方法
US7386692B1 (en) * 2004-08-20 2008-06-10 Sun Microsystems, Inc. Method and apparatus for quantized deadline I/O scheduling
US7260703B1 (en) * 2004-08-20 2007-08-21 Sun Microsystems, Inc. Method and apparatus for I/O scheduling
US7376803B1 (en) * 2004-10-19 2008-05-20 Nvidia Corporation Page stream sorter for DRAM systems
US7305537B1 (en) 2005-03-01 2007-12-04 Sun Microsystems, Inc. Method and system for I/O scheduler activations
US20060288184A1 (en) * 2005-06-17 2006-12-21 Seagate Technology Llc Admission control in data storage devices
KR100784385B1 (ko) * 2005-08-10 2007-12-11 삼성전자주식회사 공유 자원에 대한 접근 요청을 중재하는 시스템 및 방법
JP4974508B2 (ja) * 2005-10-28 2012-07-11 キヤノン株式会社 バスマスタ装置、バス調停装置及びバス調停方法
US20070106849A1 (en) * 2005-11-04 2007-05-10 Sun Microsystems, Inc. Method and system for adaptive intelligent prefetch
US7478179B2 (en) * 2005-11-04 2009-01-13 Sun Microsystems, Inc. Input/output priority inheritance wherein first I/O request is executed based on higher priority
US7657671B2 (en) * 2005-11-04 2010-02-02 Sun Microsystems, Inc. Adaptive resilvering I/O scheduling
US7640412B2 (en) * 2007-01-04 2009-12-29 Hitachi Global Storage Technologies Netherlands, B.V. Techniques for improving the reliability of file systems
US7779175B2 (en) * 2007-05-04 2010-08-17 Blackwave, Inc. System and method for rendezvous in a communications network
US8584128B1 (en) * 2007-09-10 2013-11-12 Emc Corporation Techniques for adjusting priorities associated with servicing requests
US8151008B2 (en) 2008-07-02 2012-04-03 Cradle Ip, Llc Method and system for performing DMA in a multi-core system-on-chip using deadline-based scheduling
US8539176B2 (en) * 2008-07-08 2013-09-17 HGST Netherlands B.V. Data storage devices accepting queued commands having deadlines
US8954976B2 (en) * 2008-07-10 2015-02-10 Juniper Networks, Inc. Data storage in distributed resources of a network based on provisioning attributes
US8887166B2 (en) * 2008-07-10 2014-11-11 Juniper Networks, Inc. Resource allocation and modification using access patterns
US8191070B2 (en) * 2008-07-10 2012-05-29 Juniper Networks, Inc. Dynamic resource allocation
US8099402B2 (en) 2008-07-10 2012-01-17 Juniper Networks, Inc. Distributed data storage and access systems
US20100011091A1 (en) * 2008-07-10 2010-01-14 Blackwave Inc. Network Storage
US8650270B2 (en) * 2008-07-10 2014-02-11 Juniper Networks, Inc. Distributed computing with multiple coordinated component collections
US8364710B2 (en) * 2008-07-10 2013-01-29 Juniper Networks, Inc. Model-based resource allocation
US9176779B2 (en) * 2008-07-10 2015-11-03 Juniper Networks, Inc. Data access in distributed systems
US8706900B2 (en) * 2008-07-10 2014-04-22 Juniper Networks, Inc. Dynamic storage resources
US9066141B2 (en) * 2009-01-21 2015-06-23 Juniper Networks, Inc. Resource allocation and modification using statistical analysis
WO2010141016A1 (en) 2009-06-03 2010-12-09 Hewlett-Packard Development Company, L.P. Scheduling realtime information storage system access requests
US8838849B1 (en) 2011-12-08 2014-09-16 Emc Corporation Link sharing for multiple replication modes
US20150154132A1 (en) * 2013-12-02 2015-06-04 Sandisk Technologies Inc. System and method of arbitration associated with a multi-threaded system
US10580468B2 (en) * 2017-09-29 2020-03-03 Seagate Technology Llc Cache access time mitigation
US11221765B2 (en) * 2020-04-22 2022-01-11 Seagate Technology, Llc Apparatus and method for executing background operations using rotational position sorting
CN113127230B (zh) * 2021-04-14 2023-10-03 中国科学院计算技术研究所 一种感知存储后端尾延迟slo的动态调控资源方法及系统

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3623006A (en) * 1970-06-29 1971-11-23 Burroughs Corp Queueing device for the selection of requests for access to a storage medium
US4604687A (en) * 1983-08-11 1986-08-05 Lucasfilm Ltd. Method and system for storing and retrieving multiple channel sampled data
JPH0388019A (ja) * 1989-08-31 1991-04-12 Toshiba Corp データ処理装置
US5644786A (en) * 1990-11-08 1997-07-01 At&T Global Information Solutions Company Method for scheduling the execution of disk I/O operations
GB9026917D0 (en) * 1990-12-11 1991-01-30 Int Computers Ltd Rotating memory system
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
US5522054A (en) * 1993-09-13 1996-05-28 Compaq Computer Corporation Dynamic control of outstanding hard disk read requests for sequential and random operations
US5544313A (en) * 1994-05-11 1996-08-06 International Business Machines Corporation Baton passing optimization scheme for load balancing/configuration planning in a video-on-demand computer system
US5592612A (en) * 1995-04-28 1997-01-07 Birk; Yitzhak Method and apparatus for supplying data streams

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162507A (ja) * 1996-09-20 1998-06-19 Matsushita Electric Ind Co Ltd 同時リード−ライト要求用ビデオサーバスケジューリング
JPH11289510A (ja) * 1998-02-09 1999-10-19 Matsushita Electric Ind Co Ltd ディスクスケジュ―リング及び非線形画像編集システム
JP2005339262A (ja) * 2004-05-27 2005-12-08 Canon Inc ファイルシステムおよびその制御方法
JP4502375B2 (ja) * 2004-05-27 2010-07-14 キヤノン株式会社 ファイルシステムおよびその制御方法
JP2015072643A (ja) * 2013-10-04 2015-04-16 株式会社 日立産業制御ソリューションズ コンテンツ配信装置及びコンテンツ配信装置のコンテンツ配信方法

Also Published As

Publication number Publication date
EP0757310A2 (en) 1997-02-05
EP0757310A3 (en) 1998-10-21
US5787482A (en) 1998-07-28

Similar Documents

Publication Publication Date Title
US5787482A (en) Deadline driven disk scheduler method and apparatus with thresholded most urgent request queue scan window
Lougher et al. The design of a storage server for continuous media
JP2742390B2 (ja) ビデオ・システムにおけるポーズ・レジュームをサポートする方法およびシステム
US7996623B2 (en) Read ahead storage control
US6986019B1 (en) Method and apparatus for detection and management of data streams
JP3617089B2 (ja) 映像蓄積配送装置及び映像蓄積配送システム
JP2941765B2 (ja) 優先順位付けされたディスクリクエストのリアルタイムスケジューリング
US6263411B1 (en) Video server scheduling for simultaneous read-write requests
US9641638B2 (en) Application-guided bandwidth-managed caching
US5854887A (en) System for the management of multiple time-critical data streams
US6601136B2 (en) Media server system and process having device independent near-online storage support
US20060288184A1 (en) Admission control in data storage devices
JP2003533843A (ja) バンド幅効率の改善方法
JPH10124396A (ja) バッファ交換方法
US7073021B2 (en) Semantically-aware, dynamic, window-based disc scheduling method and apparatus for better fulfilling application requirements
JP3575862B2 (ja) ストリームスケジューリング方法及び装置
JPH10124352A (ja) ライブラリ内ファイルの管理方法、及びライブラリ用サーバ装置
Maier et al. Storage system architectures for continuous media data
Aref et al. Disk scheduling in video editing systems
Tezuka et al. Simple Continuous Media Storage Server on Real-Time Mach.
Lau et al. Scheduling and replacement policies for a hierarchical multimedia storage server
EP0996885B1 (en) Data storage apparatus and access method thereof
Chen et al. I/O channel and real-time disk scheduling for video servers
Pang Tertiary storage in multimedia systems: staging or direct access?
JP2004104212A (ja) 帯域管理ファイルシステム装置並びにそのプログラムとプログラム記録媒体