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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
- G11B27/10—Indexing; Addressing; Timing or synchronising; Measuring tape travel
- G11B27/102—Programmed access in sequence to addressed parts of tracks of operating record carriers
- G11B27/105—Programmed access in sequence to addressed parts of tracks of operating record carriers of operating discs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/16—Analogue secrecy systems; Analogue subscription systems
- H04N7/173—Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
- H04N7/17309—Transmission or handling of upstream communications
- H04N7/17336—Handling of requests in head-ends
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single 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)」として知られるビデオ配送サービ
スや、音声再生システムのようなマルチメディア分野に
見られる。
大なデータ量を必要とする。いくつかの応用では、この
データはリアルタイムで検索されなければならない。そ
のような応用の例は、例えば「ビデオ・オン・デマンド
(video-on-demand)」として知られるビデオ配送サービ
スや、音声再生システムのようなマルチメディア分野に
見られる。
【0003】次世代のビデオ配送サービスの一つが、い
わゆる「ビデオ・オン・デマンド」サービスである。ビ
デオ・オン・デマンド・サービスは、ケーブル・テレビ
とビデオ・カセット・レコーダー(VCR)の性能を兼ね備
える。ビデオ・オン・デマンド・システムは、ケーブル
・テレビのように、映画や、録画されたスポーツ競技お
よびニュースのようなビデオの提供を始める。しかしビ
デオ・オン・デマンド・システムでは、ケーブル・テレ
ビとは違うが、VCRと同じように、視聴者は見たいと思
う番組を選ぶことができる。さらに視聴者は、例えば一
時停止、早送り、早戻しその他の番組の再生を制御する
ことができる。また、ケーブル・テレビと違って、ビデ
オ・オン・デマンドでは視聴者自身の都合で番組の提供
を開始することができる。
わゆる「ビデオ・オン・デマンド」サービスである。ビ
デオ・オン・デマンド・サービスは、ケーブル・テレビ
とビデオ・カセット・レコーダー(VCR)の性能を兼ね備
える。ビデオ・オン・デマンド・システムは、ケーブル
・テレビのように、映画や、録画されたスポーツ競技お
よびニュースのようなビデオの提供を始める。しかしビ
デオ・オン・デマンド・システムでは、ケーブル・テレ
ビとは違うが、VCRと同じように、視聴者は見たいと思
う番組を選ぶことができる。さらに視聴者は、例えば一
時停止、早送り、早戻しその他の番組の再生を制御する
ことができる。また、ケーブル・テレビと違って、ビデ
オ・オン・デマンドでは視聴者自身の都合で番組の提供
を開始することができる。
【0004】ビデオ・オン・デマンド・システムでは、
例えば個人の自宅や会社に設置されるような多数の視聴
者端末が、一つまたはそれ以上のビデオ・サーバに接続
される。ビデオ・サーバは、ビデオ・プログラムを格納
するための非常に大きいディスク記憶容量をもつコンピ
ュータである。ビデオ・サーバは、「ビデオ・オン・デ
マンド」サービスを提供する際の重要な構成要素の1つ
である。ビデオ・サーバは、以下の主要な見地において
従来のファイル・サーバまたはデータベース・システム
とは区別される。
例えば個人の自宅や会社に設置されるような多数の視聴
者端末が、一つまたはそれ以上のビデオ・サーバに接続
される。ビデオ・サーバは、ビデオ・プログラムを格納
するための非常に大きいディスク記憶容量をもつコンピ
ュータである。ビデオ・サーバは、「ビデオ・オン・デ
マンド」サービスを提供する際の重要な構成要素の1つ
である。ビデオ・サーバは、以下の主要な見地において
従来のファイル・サーバまたはデータベース・システム
とは区別される。
【0005】*大きい記憶容量 マルチメディアの応用は、非常に大きい記憶容量を必要
とする傾向がある。例えば、一つ一つの圧縮された映画
は平均して約2ないし3GB(ギガバイト)もの記憶空間
を必要とする。何百あるいは何千という映画を格納する
大規模なビデオ・サーバでは、何百ギガバイトまたはテ
ラバイトもの記憶空間が必要とされる。
とする傾向がある。例えば、一つ一つの圧縮された映画
は平均して約2ないし3GB(ギガバイト)もの記憶空間
を必要とする。何百あるいは何千という映画を格納する
大規模なビデオ・サーバでは、何百ギガバイトまたはテ
ラバイトもの記憶空間が必要とされる。
【0006】*集中的なディスクI/Oトラフィック ビデオ応用は(他のマルチメディア応用と同様に)、多量
のI/Oリクエストを生成する。例えば3メガビット/秒の
ストリーム・ビット速度と128キロバイトのI/O伝送サイ
ズで、200本の映画のストリームが並行にリクエストさ
れる場合、ビデオ・サーバは、連続する1秒当たり600
のI/Oリクエストをサポートする必要がある。
のI/Oリクエストを生成する。例えば3メガビット/秒の
ストリーム・ビット速度と128キロバイトのI/O伝送サイ
ズで、200本の映画のストリームが並行にリクエストさ
れる場合、ビデオ・サーバは、連続する1秒当たり600
のI/Oリクエストをサポートする必要がある。
【0007】*大きいI/O伝送サイズ ディスク利用は、I/O伝送サイズに直接に関係する。一
般に、ディスク・サービス時間は、シーク時間、回転待
ち時間およびデータ伝送時間の3つの構成要素から成
る。3つの中で、データ伝送時間を高めることだけが、
ディスク利用の改善に直接に寄与し、回転待ち時間およ
びシーク時間は間接的である。
般に、ディスク・サービス時間は、シーク時間、回転待
ち時間およびデータ伝送時間の3つの構成要素から成
る。3つの中で、データ伝送時間を高めることだけが、
ディスク利用の改善に直接に寄与し、回転待ち時間およ
びシーク時間は間接的である。
【0008】*リアルタイム・ディスクI/O 映画のストリームは、連続的に再生されなければならな
い。いかなる不連続も、視聴者の画面上にトラブルをを
もたらす原因となる。従ってビデオ・サーバで「サービ
スの質」を供給するためには、映画データを、記憶ディ
スクからリアルタイム形態で検索しなければならない。
そのようなシステムのI/O性能の基本の測定基準は、も
はや従来のファイル・サーバまたはトランザクション処
理システムに関する「平均応答時間」ではない。その代
わりに、デッドラインをミスするI/Oの数により多くの
関心がもたれている。
い。いかなる不連続も、視聴者の画面上にトラブルをを
もたらす原因となる。従ってビデオ・サーバで「サービ
スの質」を供給するためには、映画データを、記憶ディ
スクからリアルタイム形態で検索しなければならない。
そのようなシステムのI/O性能の基本の測定基準は、も
はや従来のファイル・サーバまたはトランザクション処
理システムに関する「平均応答時間」ではない。その代
わりに、デッドラインをミスするI/Oの数により多くの
関心がもたれている。
【0009】多数のディスク・スケジューリング・アル
ゴリズムが文献に見られ、あるいは今日の市販のシステ
ムに使用されている。これらのアルゴリズムは、2つの
分類に、つまり非リアルタイム・アルゴリズムとリアル
タイム・アルゴリズムに分けることができる。これらの
ディスク・スケジューリング方法には、ビデオ再生リク
エストのリアルタイム処理のために解決しなければなら
ない不利益がなお存在する。
ゴリズムが文献に見られ、あるいは今日の市販のシステ
ムに使用されている。これらのアルゴリズムは、2つの
分類に、つまり非リアルタイム・アルゴリズムとリアル
タイム・アルゴリズムに分けることができる。これらの
ディスク・スケジューリング方法には、ビデオ再生リク
エストのリアルタイム処理のために解決しなければなら
ない不利益がなお存在する。
【0010】図2は、可動ヘッド型のディスク・ドライ
ブの図である。ディスク・ドライブは、プラッタ(platt
ers)としても知られる、多数の平行回転ディスクからな
る。それぞれのディスクは、記録する材料でコーティン
グされている。それぞれのディスクの表面は、論理的に
トラックに分割される。一つのディスク上のそれぞれの
トラックに対して、対応する平行なトラックが他のディ
スク上に存在する。このトラックの組はシリンダを形成
する。ディスク上の情報は、アームに搭載された読み/
書きヘッドによって読み取られる(および書き込まれ
る)。アームは、一つのシリンダのすべてのトラックが
平行にアドレスされるように作られる。
ブの図である。ディスク・ドライブは、プラッタ(platt
ers)としても知られる、多数の平行回転ディスクからな
る。それぞれのディスクは、記録する材料でコーティン
グされている。それぞれのディスクの表面は、論理的に
トラックに分割される。一つのディスク上のそれぞれの
トラックに対して、対応する平行なトラックが他のディ
スク上に存在する。このトラックの組はシリンダを形成
する。ディスク上の情報は、アームに搭載された読み/
書きヘッドによって読み取られる(および書き込まれ
る)。アームは、一つのシリンダのすべてのトラックが
平行にアドレスされるように作られる。
【0011】1.非リアルタイム・アルゴリズム すべての非リアルタイム・アルゴリズムに共通の特徴
は、どれもリクエストの時間的制約を(たとえあるとし
ても)考慮しないということである。
は、どれもリクエストの時間的制約を(たとえあるとし
ても)考慮しないということである。
【0012】(1)到着順サービス方式(First-come-first
-serve) 到着順サービス方式は、I/Oリクエストをサービスする
最も単純な方法である。それは、待ち行列を整理した
り、スケジューリングを行うという高度な方法は必要と
しない。また、I/O特性に基づく最適化も行わないの
で、その性能は予想通り最悪である。それは、I/Oトラ
フィックが小さい、初期のシステムや小型のシステムで
使用された。
-serve) 到着順サービス方式は、I/Oリクエストをサービスする
最も単純な方法である。それは、待ち行列を整理した
り、スケジューリングを行うという高度な方法は必要と
しない。また、I/O特性に基づく最適化も行わないの
で、その性能は予想通り最悪である。それは、I/Oトラ
フィックが小さい、初期のシステムや小型のシステムで
使用された。
【0013】(2)走査方式(SCAN) 「エレベーター」アルゴリズムとしても知られる走査ア
ルゴリズムでは、アームはその方向におけるリクエスト
がなくなるまで一方向に移動し、その方向おけるすべて
のリクエストをサービスする。それからアームはその走
査方向を変えて、操作を繰り返す。走査アルゴリズムの
主な利点は、ディスクのシーク時間の減少である。問題
は、リクエストがディスクの一端に到達し、アームの走
査を逃してしまった場合、アームの走査が戻ってくるま
で長い時間待たなければならないということである。
ルゴリズムでは、アームはその方向におけるリクエスト
がなくなるまで一方向に移動し、その方向おけるすべて
のリクエストをサービスする。それからアームはその走
査方向を変えて、操作を繰り返す。走査アルゴリズムの
主な利点は、ディスクのシーク時間の減少である。問題
は、リクエストがディスクの一端に到達し、アームの走
査を逃してしまった場合、アームの走査が戻ってくるま
で長い時間待たなければならないということである。
【0014】(3)循環走査方式(Circular-SCAN; C-SCAN) 循環走査方式は、走査アルゴリズムの変形である。それ
は、常に一方向に走査するということ以外は、走査方式
と同様に動作する。走査方向での最後のリクエストをサ
ービスした後、アームはどのリクエストもサービスせず
に開始位置(例えばディスクの一端)に戻り、再び走査を
始める。循環走査アルゴリズムの利点は、走査方式と比
較して、I/Oリクエストについてより一様な待ち時間を
与えるということである。
は、常に一方向に走査するということ以外は、走査方式
と同様に動作する。走査方向での最後のリクエストをサ
ービスした後、アームはどのリクエストもサービスせず
に開始位置(例えばディスクの一端)に戻り、再び走査を
始める。循環走査アルゴリズムの利点は、走査方式と比
較して、I/Oリクエストについてより一様な待ち時間を
与えるということである。
【0015】(4)最短シーク時間優先方式(Shortest-See
k-Time-First; SSTF) 「最短シーク時間優先」アルゴリズムは、現在のアーム
位置からのシーク時間が最短のリクエストを選択する。
シーク時間は、アームが横切るトラック数に比例するの
で、このアルゴリズムは、リクエストの待ち行列の中で
最も近いトラックにヘッドを移動させることによって実
行される。最短シーク時間優先方式はその名の通り最適
のシーク時間を実現することができる一方で、現在のア
ーム位置から離れたリクエストを後回しにするという問
題をかかえる。
k-Time-First; SSTF) 「最短シーク時間優先」アルゴリズムは、現在のアーム
位置からのシーク時間が最短のリクエストを選択する。
シーク時間は、アームが横切るトラック数に比例するの
で、このアルゴリズムは、リクエストの待ち行列の中で
最も近いトラックにヘッドを移動させることによって実
行される。最短シーク時間優先方式はその名の通り最適
のシーク時間を実現することができる一方で、現在のア
ーム位置から離れたリクエストを後回しにするという問
題をかかえる。
【0016】(5)最短時間優先方式(Shortest-Time-Firs
t; STF) 最短のシーク時間でリクエストを選択する最短シーク時
間優先方式とは違って、「最短時間優先方式」は、シー
クおよび回転の待ち時間を含む最短のI/O時間をもつリ
クエストを選択する。このアルゴリズムは、それぞれの
リクエストに対する回転時間を決定するために、ハード
ウェア支援を必要とする。
t; STF) 最短のシーク時間でリクエストを選択する最短シーク時
間優先方式とは違って、「最短時間優先方式」は、シー
クおよび回転の待ち時間を含む最短のI/O時間をもつリ
クエストを選択する。このアルゴリズムは、それぞれの
リクエストに対する回転時間を決定するために、ハード
ウェア支援を必要とする。
【0017】最短時間優先アルゴリズムには2つの変形
がある。
がある。
【0018】GSTF(Grouped STF)−グループ化最短時間
優先方式。ディスクをシリンダのグループに分割して、
それぞれのグループ内で最短時間優先方式を実行する。
次のグループに移動する前に1つのグループにおけるす
べてのリクエストをサービスする。
優先方式。ディスクをシリンダのグループに分割して、
それぞれのグループ内で最短時間優先方式を実行する。
次のグループに移動する前に1つのグループにおけるす
べてのリクエストをサービスする。
【0019】WSTF(Weighted STF)−加重最短時間優先方
式。最短時間優先技法を実行するが、最短時間優先方式
で計算される時間に加齢関数を適用する。加齢関数は、
リクエストが到着してから経過した時間によって決定さ
れる。
式。最短時間優先技法を実行するが、最短時間優先方式
で計算される時間に加齢関数を適用する。加齢関数は、
リクエストが到着してから経過した時間によって決定さ
れる。
【0020】2つの変形は両方とも、元の最短時間優先
アルゴリズムの後回しの問題を解決することを目的と
し、I/O待ち行列の長さが非常に長い(最高1000)と仮定
される環境で研究される。
アルゴリズムの後回しの問題を解決することを目的と
し、I/O待ち行列の長さが非常に長い(最高1000)と仮定
される環境で研究される。
【0021】(6)グループ化一掃方式(Grouped Sweeping
Scheme;GSS) 「グループ化一掃方式」では、映画の検索はサービス・
ラウンド(round)でサービスされる。それぞれのラウン
ドで、リクエストはグループに区分され、各々のグルー
プはラウンドの中の決まった順序でサービスされる。そ
れぞれのグループ内で、走査アルゴリズムが適用され
る。グループの数(またはグループ・サイズ)は、よりよ
い性能を実現するように調整することができる。
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年)。
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月)。
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月)。
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年)。
の「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リクエストをスケジューリング
する時の時間的制約を考慮に入れている。
ク・アクセス・スケジューリング方法が提案されてい
る。リアルタイム・スケジューリング・アルゴリズム
は、I/Oリクエストがそれらのデッドラインに間に合う
ように手伝うよう設計される。従ってこれらの方法は、
サービスするためにI/Oリクエストをスケジューリング
する時の時間的制約を考慮に入れている。
【0031】(1)最早デッドライン優先方式(Earliest-D
eadline-First; EDF) 最早デッドライン優先方式は本来はプロセッサーをスケ
ジューリングするために設計された。ディスクに適用す
る場合、アルゴリズムは、最も早いデッドラインをもつ
リクエストをサービスするために簡単に選択する。この
アルゴリズムの利点は、実行するのが単純で容易である
ことである。しかし最早デッドライン優先方式の欠点
は、アルゴリズムがアーム位置を考慮せず、シークの最
適化を行わないので、平均のディスク・アクセス時間が
非常に長いということである。
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年)。
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) 実現可能デッドライン走査方式は、リアルタイムのトラ
ンザクション処理のために提案されている。実現可能デ
ッドライン走査方式では、最も早い実現可能なデッドラ
インをもつリクエストのトラック位置を用いて、走査方
向を決定する。デッドラインが実現可能というのは、そ
れに間に合うことができると推定される場合である。そ
れぞれのスケジューリング・ポイントで、すべてのリク
エストが審査され、どれが最も早い実現可能なデッドラ
インをもつか決定する。走査方向を選んだ後に、アーム
はその方向に向かって移動し、経路上のすべてのリクエ
ストをサービスする。
le-Deadline-SCAN; FD-SCAN) 実現可能デッドライン走査方式は、リアルタイムのトラ
ンザクション処理のために提案されている。実現可能デ
ッドライン走査方式では、最も早い実現可能なデッドラ
インをもつリクエストのトラック位置を用いて、走査方
向を決定する。デッドラインが実現可能というのは、そ
れに間に合うことができると推定される場合である。そ
れぞれのスケジューリング・ポイントで、すべてのリク
エストが審査され、どれが最も早い実現可能なデッドラ
インをもつか決定する。走査方向を選んだ後に、アーム
はその方向に向かって移動し、経路上のすべてのリクエ
ストをサービスする。
【0035】実現可能デッドライン走査方式は、スケジ
ューリングの時にデッドライン情報とアーム位置の両方
を考慮に入れているにもかかわらず、少なくとも2つの
欠点を抱えている。第一に、前の走査目標のリクエスト
がなお実現可能であるかチェックする必要があり、実現
可能でない場合は新しい方向が決定されなければならな
いので、その実行時のスケジューリングの諸経費が高く
なりうる。第二に、アーム位置と最も早いデッドライン
をもつ対象のリクエストの間に多くのリクエストがある
場合、目標のリクエストは、そのデッドラインをミスす
ることがありえる。
ューリングの時にデッドライン情報とアーム位置の両方
を考慮に入れているにもかかわらず、少なくとも2つの
欠点を抱えている。第一に、前の走査目標のリクエスト
がなお実現可能であるかチェックする必要があり、実現
可能でない場合は新しい方向が決定されなければならな
いので、その実行時のスケジューリングの諸経費が高く
なりうる。第二に、アーム位置と最も早いデッドライン
をもつ対象のリクエストの間に多くのリクエストがある
場合、目標のリクエストは、そのデッドラインをミスす
ることがありえる。
【0036】「実現可能デッドライン走査方式」(FD-SC
AN)アルゴリズムは、以下で述べられている。
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年)。
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) 走査方式および最早デッドライン優先方式のアルゴリズ
ムの複合型が以下で最近述べられている。
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より多いリクエストが同じデッドラインをもつ
場合、走査アルゴリズムがこれらのリクエストに適用さ
れる。
mes C.の「I/O Issues in a multimedia System」(Comp
uter, 27(3):69-74, 1994年) 走査-最早デッドライン優先方式では、通常、リクエス
トは最早デッドライン優先方式の順でサービスされる。
しかし1より多いリクエストが同じデッドラインをもつ
場合、走査アルゴリズムがこれらのリクエストに適用さ
れる。
【0040】走査-最早デッドライン優先方式の利点
は、シークの最適化および最早デッドライン優先サービ
スの両方を与えようとすることである。しかし走査-最
早デッドライン優先アルゴリズムの効果は、幾つのリク
エストが同じデッドラインを保持するかということに依
存している。サーバがI/Oリクエストを動的に発行する
場合、同じデッドラインをもつリクエストが2以上にな
る見込みは小さいか、あるいはゼロである。その場合、
アルゴリズムは最早デッドライン優先方式になる。一
方、サーバが「サービス・ラウンド」を用い、1ラウン
ドの間のすべてのリクエストに同じデッドラインが割り
当てられている場合、アルゴリズムは走査方式になる。
従ってこのアルゴリズムの動作は、実際上デッドライン
がどのようにI/Oリクエストに割り当てられるかに依存
する。
は、シークの最適化および最早デッドライン優先サービ
スの両方を与えようとすることである。しかし走査-最
早デッドライン優先アルゴリズムの効果は、幾つのリク
エストが同じデッドラインを保持するかということに依
存している。サーバが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の
ような、可動ヘッド型のディスク・ドライブである。
テム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方向ケーブル・テレビ・ネットワー
ク、電話ネットワーク、その他の広域ネットワーク、ま
たはローカルエリア・ネットワークでありえる。
通って視聴者用受像器107に接続される。それぞれの視
聴者用受像器107は、モニタ113および制御ユニット111
からなる。代替の実施例で、モニター113および制御ユ
ニット111は一つのユニットに統合されてもよい。ネッ
トワーク105は、2方向ケーブル・テレビ・ネットワー
ク、電話ネットワーク、その他の広域ネットワーク、ま
たはローカルエリア・ネットワークでありえる。
【0051】ビデオ・サーバ101は、映画、ニュース番
組および録画されたスポーツ競技のような、格納された
ビデオ番組を含む。この番組は、デジタル形式でディス
ク・ドライブ103に格納されている。個々の番組は、数
枚のディスク103に「ストライプ状に分ける(stripe)」
ことができ、連続したデータが別々のディスク上に位置
される。それによって、より人気の高いデータを保有す
る個々のディスク・ドライブに負荷をかけすぎないよう
にすることができる。
組および録画されたスポーツ競技のような、格納された
ビデオ番組を含む。この番組は、デジタル形式でディス
ク・ドライブ103に格納されている。個々の番組は、数
枚のディスク103に「ストライプ状に分ける(stripe)」
ことができ、連続したデータが別々のディスク上に位置
される。それによって、より人気の高いデータを保有す
る個々のディスク・ドライブに負荷をかけすぎないよう
にすることができる。
【0052】図2は、可動ヘッド型のディスクドライブ
機構103をより詳細に示している概略図である。ディス
ク・ドライブ103は、複数の平行のディスク201を含む。
それぞれのディスク201は、例えば磁性材料のような、
データが格納されうる記録材料でコーティングされてい
る。データは、それぞれのディスク上でトラック203の
ようなトラックに論理的に組織化されている。1つのデ
ィスク上のそれぞれのトラック203に対して、平行なト
ラックが他のディスク203上に存在する。これらの平行
なトラック203の集まりは、シリンダ205を形成する。従
って1ブロックのデータは、それが位置するディスクお
よびそれが位置するシリンダによってアドレスすること
ができる。
機構103をより詳細に示している概略図である。ディス
ク・ドライブ103は、複数の平行のディスク201を含む。
それぞれのディスク201は、例えば磁性材料のような、
データが格納されうる記録材料でコーティングされてい
る。データは、それぞれのディスク上でトラック203の
ようなトラックに論理的に組織化されている。1つのデ
ィスク上のそれぞれのトラック203に対して、平行なト
ラックが他のディスク203上に存在する。これらの平行
なトラック203の集まりは、シリンダ205を形成する。従
って1ブロックのデータは、それが位置するディスクお
よびそれが位置するシリンダによってアドレスすること
ができる。
【0053】さらにディスク・ドライブ103は、複数の
平行な読み/書きヘッド207からなる。それぞれの読み/
書きヘッド207はアーム209に取り付けられている。アー
ム209は、ディスク・コントローラからの命令に基づい
て(後述される図3を参照)、特定のシリンダにアクセス
するために、読み/書きヘッド207を移動させるように作
動する。典型的に読み/書きヘッド207は、所与の時点で
すべての読み/書きヘッド207が同一のシリンダ205のト
ラック203に整列するように構成される。
平行な読み/書きヘッド207からなる。それぞれの読み/
書きヘッド207はアーム209に取り付けられている。アー
ム209は、ディスク・コントローラからの命令に基づい
て(後述される図3を参照)、特定のシリンダにアクセス
するために、読み/書きヘッド207を移動させるように作
動する。典型的に読み/書きヘッド207は、所与の時点で
すべての読み/書きヘッド207が同一のシリンダ205のト
ラック203に整列するように構成される。
【0054】図1に戻って、ディスク・スケジューラ10
9は、それぞれの個々のディスク・ドライブ103上のデー
タへのアクセスをスケジュールする。
9は、それぞれの個々のディスク・ドライブ103上のデー
タへのアクセスをスケジュールする。
【0055】図3は、ディスク・スケジューラ109を含
むビデオ・サーバ101のブロック図である。図3に示す
実施例で、ディスク・スケジューラ109はビデオ・サー
バ101の構成要素である。図4は代替の実施例のブロッ
ク図であり、ディスク・スケジューラ109'は、ビデオ・
サーバ101'ではなくディスク・ドライブ・ユニット103'
に位置する。
むビデオ・サーバ101のブロック図である。図3に示す
実施例で、ディスク・スケジューラ109はビデオ・サー
バ101の構成要素である。図4は代替の実施例のブロッ
ク図であり、ディスク・スケジューラ109'は、ビデオ・
サーバ101'ではなくディスク・ドライブ・ユニット103'
に位置する。
【0056】図3の実施例で、ディスク・スケジューラ
109はリクエストの待ち行列301を含む。ビデオ・サーバ
101がビデオ番組を視聴者用受像器107に配送するとき、
ビデオ・データのリクエストは、リクエストの待ち行列
301に置かれる。それぞれのリクエストはデッドライン
と関連し、その時間までに間に合うようにサービスされ
なければならない。またリクエストは、リクエストされ
たデータのディスク位置も含む。リクエストの待ち行列
301は、デッドラインの順に組織される。最も早いデッ
ドラインをもつリクエストは、待ち行列301の先頭に置
かれる。ビデオ・サーバ101は、待ち行列マネージャー3
02の「待ち行列に入れる(ENQUE)」手続きを実施するこ
とによって、リクエストの待ち行列301にリクエストを
入れる。ENQUE手続きによって、待ち行列301のリクエス
トはそれぞれのデッドラインに従って並べられる。
109はリクエストの待ち行列301を含む。ビデオ・サーバ
101がビデオ番組を視聴者用受像器107に配送するとき、
ビデオ・データのリクエストは、リクエストの待ち行列
301に置かれる。それぞれのリクエストはデッドライン
と関連し、その時間までに間に合うようにサービスされ
なければならない。またリクエストは、リクエストされ
たデータのディスク位置も含む。リクエストの待ち行列
301は、デッドラインの順に組織される。最も早いデッ
ドラインをもつリクエストは、待ち行列301の先頭に置
かれる。ビデオ・サーバ101は、待ち行列マネージャー3
02の「待ち行列に入れる(ENQUE)」手続きを実施するこ
とによって、リクエストの待ち行列301にリクエストを
入れる。ENQUE手続きによって、待ち行列301のリクエス
トはそれぞれのデッドラインに従って並べられる。
【0057】またディスク・スケジューラ109は、ディ
スク・ドライブ・アーム209の現在のアーム位置を格納
する例えばレジスターのようなデータ構造303と、閾値
およびウィンドウ・サイズのパラメータを格納するデー
タ構造305を含み、データ構造305もまたレジスタに格納
されうる。これらのパラメータは、以下でより詳しく説
明される。
スク・ドライブ・アーム209の現在のアーム位置を格納
する例えばレジスターのようなデータ構造303と、閾値
およびウィンドウ・サイズのパラメータを格納するデー
タ構造305を含み、データ構造305もまたレジスタに格納
されうる。これらのパラメータは、以下でより詳しく説
明される。
【0058】本発明の好ましい実施例によれば、ディス
ク・スケジューラ109は、RT-WINDOWと呼ばれる、ビデオ
またはメディア・サーバのためのウィンドウに基づくリ
アルタイム・ディスク・スケジューリング・アルゴリズ
ムに従って作動し、既存のリアルタイムおよび非リアル
タイムのアルゴリズムの欠点と制限を克服する。
ク・スケジューラ109は、RT-WINDOWと呼ばれる、ビデオ
またはメディア・サーバのためのウィンドウに基づくリ
アルタイム・ディスク・スケジューリング・アルゴリズ
ムに従って作動し、既存のリアルタイムおよび非リアル
タイムのアルゴリズムの欠点と制限を克服する。
【0059】図5は、本発明に従うディスク・スケジュ
ーラ109の動作を示すフローチャートである。ここで、
スケジューラ109の動作を図6および図7に関連して説
明する。
ーラ109の動作を示すフローチャートである。ここで、
スケジューラ109の動作を図6および図7に関連して説
明する。
【0060】図6はディスク・プラッタ201の断面図で
あり、図7aおよび図7bは待ち行列301の図である。例
で、5つのリクエスト503aないしeは、プラッタ201上に
位置する。図7aで、6つのリクエスト503が待ち行列30
1に格納されている。それぞれのリクエスト503は、デッ
ドラインdiを保持し、シリンダ・アドレスciをもつ。ア
ドレスもまた図6に示されている。本発明はシリンダ・
アドレスに関して記述されているが、発明は、論理ブロ
ック・アドレス(LBA)にも適用できる。
あり、図7aおよび図7bは待ち行列301の図である。例
で、5つのリクエスト503aないしeは、プラッタ201上に
位置する。図7aで、6つのリクエスト503が待ち行列30
1に格納されている。それぞれのリクエスト503は、デッ
ドラインdiを保持し、シリンダ・アドレスciをもつ。ア
ドレスもまた図6に示されている。本発明はシリンダ・
アドレスに関して記述されているが、発明は、論理ブロ
ック・アドレス(LBA)にも適用できる。
【0061】図6の例では図示のために、ディスクが13
のシリンダに分割されている。当業者であれば、1つの
ディスク・ドライブの実際のシリンダ数は、13よりもか
なり多いことがわかるであろう。
のシリンダに分割されている。当業者であれば、1つの
ディスク・ドライブの実際のシリンダ数は、13よりもか
なり多いことがわかるであろう。
【0062】リクエスト503aは最も早いデッドラインd1
をもっているので、最も至急のリクエストである。リク
エスト503bは次に最も早いデッドラインd2をもち、d1は
d2より早く、d2はd3より早いという具合である。
をもっているので、最も至急のリクエストである。リク
エスト503bは次に最も早いデッドラインd2をもち、d1は
d2より早く、d2はd3より早いという具合である。
【0063】図5の手続きは、2つのイベント、すなわ
ちディスク・アクセス・リクエストが新たに到着したと
き(イベント401)、およびディスク・アクセスのために
ディスクが利用可能になったとき(イベント403)に駆動
される。新たなアクセス・リクエストがスケジューラに
到着すると、スケジューラ109は待ち行列マネージャー3
02のENQUE手続きを呼び出して、最も至急のリクエスト
が常に待ち行列の先頭にあり、その後に次に最も至急の
リクエストがあるというようなデッドラインの順で、リ
クエストの待ち行列301にリクエストを挿入する(ステッ
プ405)。
ちディスク・アクセス・リクエストが新たに到着したと
き(イベント401)、およびディスク・アクセスのために
ディスクが利用可能になったとき(イベント403)に駆動
される。新たなアクセス・リクエストがスケジューラに
到着すると、スケジューラ109は待ち行列マネージャー3
02のENQUE手続きを呼び出して、最も至急のリクエスト
が常に待ち行列の先頭にあり、その後に次に最も至急の
リクエストがあるというようなデッドラインの順で、リ
クエストの待ち行列301にリクエストを挿入する(ステッ
プ405)。
【0064】待ち行列301へのリクエストの挿入の後、
ディスク・ドライブが利用可能になるまで、手続きは待
機する(待ち状態407)。ディスク利用可能のイベントが
起きると(イベント403)、スケジューラは待ち状態407か
ら進んで、サービスすべき次のアクセス・リクエストを
スケジュールする。
ディスク・ドライブが利用可能になるまで、手続きは待
機する(待ち状態407)。ディスク利用可能のイベントが
起きると(イベント403)、スケジューラは待ち状態407か
ら進んで、サービスすべき次のアクセス・リクエストを
スケジュールする。
【0065】待ち行列の最初のn個のリクエストは、サ
イズnのウィンドウ605の中に含まれる。図7の例に示
す実施例で、ウィンドウ605は4つのリクエスト503を含
む。好ましい実施例で、ウィンドウ・サイズは、調整可
能なディスク・スケジューラ109のパラメータである。
イズnのウィンドウ605の中に含まれる。図7の例に示
す実施例で、ウィンドウ605は4つのリクエスト503を含
む。好ましい実施例で、ウィンドウ・サイズは、調整可
能なディスク・スケジューラ109のパラメータである。
【0066】リクエストをスケジュールするとき、ディ
スク・スケジューラ109は、最も至急のリクエスト(例の
中のリクエスト503a)のデッドラインが一定の閾値以内
で満了するかどうかを決定する(ステップ409)。その決
定を行うために、スケジューラ109は最も早いデッドラ
イン(例の中のd1)を現在の時間と比較する。その差が閾
値より小さい場合(決定ステップ411)、スケジューラ109
は、次にサービスすべき最も至急のリクエスト(503a)を
スケジュールする(ステップ413)。それによって、ディ
スク・アーム209は、最も至急のリクエストのためのア
ドレスに直接に移動する。
スク・スケジューラ109は、最も至急のリクエスト(例の
中のリクエスト503a)のデッドラインが一定の閾値以内
で満了するかどうかを決定する(ステップ409)。その決
定を行うために、スケジューラ109は最も早いデッドラ
イン(例の中のd1)を現在の時間と比較する。その差が閾
値より小さい場合(決定ステップ411)、スケジューラ109
は、次にサービスすべき最も至急のリクエスト(503a)を
スケジュールする(ステップ413)。それによって、ディ
スク・アーム209は、最も至急のリクエストのためのア
ドレスに直接に移動する。
【0067】デッドラインと現在の時間の間の差が閾値
より大きい場合、スケジューラ109は待ち行列スキャナ3
07を呼び出して、最も至急のリクエスト503aに向かって
走査する(ステップ415)。走査とは、スケジューラがア
ーム209を特定の方向に移動させる動作である。走査ロ
ジック307は、走査の間、現在のアーム位置からウィン
ドウ605の最も至急のリクエスト503aの位置までの経路
上の、次のリクエスト503をサービスするためにスケジ
ュールする。
より大きい場合、スケジューラ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に存在しないので選択されな
い、ということに注意されたい。
きヘッド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が更新される。
いてリクエストはスケジュールされ、スケジューラは進
んで、リクエストを処理するようにディスク・ドライブ
103にコマンドを発行する(ステップ417)。これらのコマ
ンドは、ディスク・スケジューラ109のディスク・アク
セス命令309を用いて発行される。典型的に、読み出し
命令309は、特定のアドレスに格納されたデータを返す
ようにディスク・ドライブにコマンドを発行する。この
ようにディスク・スケジューラ109が特定の読み出し命
令を発行するような時、現在のアーム位置のアドレス30
3が更新される。
【0070】リクエストがスケジュールされると、ディ
スク・スケジューラは、待ち行列マネージャー302のDEQ
UE手続きを用いて、リクエストの待ち行列からそのリク
エストを削除する。待ち行列は、デッドラインの順に連
続的に整理される。
スク・スケジューラは、待ち行列マネージャー302のDEQ
UE手続きを用いて、リクエストの待ち行列からそのリク
エストを削除する。待ち行列は、デッドラインの順に連
続的に整理される。
【0071】ディスク・アクセス命令を発行した後、ス
ケジューラは待ち状態407へ戻る。一方で、待ち状態407
に新たなアクセス・リクエストが到着すると(イベント4
01)、待ち状態は中断され、スケジューラは新たなリク
エストを待ち行列301に入れる。他方で、前に発行され
たコマンドの完了のようなディスク利用可能のイベント
が起きると、スケジューラは、上述の手続きを使用して
次のリクエスト503をスケジュールする 。
ケジューラは待ち状態407へ戻る。一方で、待ち状態407
に新たなアクセス・リクエストが到着すると(イベント4
01)、待ち状態は中断され、スケジューラは新たなリク
エストを待ち行列301に入れる。他方で、前に発行され
たコマンドの完了のようなディスク利用可能のイベント
が起きると、スケジューラは、上述の手続きを使用して
次のリクエスト503をスケジュールする 。
【0072】サービスのためにリクエストがスケジュー
ルされると、それらは待ち行列301から削除される。図
7bは、いくつかの走査オペレーション415の後の図7a
の例の待ち行列301の図である。リクエスト503a、503d
および503cは、これらの走査の間にスケジュールされ、
サービスされ、そして待ち行列301から削除された。リ
クエスト503bが「最も至急の」リクエストになってい
る。新たなリクエスト503gおよび503hが加えられてい
る。
ルされると、それらは待ち行列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に関連して上述の手続きに
従って動作する。
ィスク・スケジューラの実施例では、ディスク・スケジ
ューラ109'は、ディスク・ドライブ103'上に常駐するデ
ィスク・コントローラ371の一部になっている。ディス
ク・コントローラ371は、ビデオ・サーバ101'から、I/O
チャネル311を経由して入力/出力(I/O)命令を受け取
る。ディスク・スケジューラ109'は、ディスク・アーム
制御命令375を含むディスク・アクセス命令を、ディス
ク・ハードウェア377(例えばアーム209、ディスク・プ
ラッタ201、読み/書きヘッド207)に発行する。ディスク
・スケジューラ109'は、図5に関連して上述の手続きに
従って動作する。
【0074】スケジューラ109は、従来技術のディスク
・スケジューラより優れた多くの利点をもつ。第一に、
スケジューラ109は、デッドラインに間に合うそれぞれ
のリクエストの見込みを増やすという点で「リアルタイ
ム」であり、これはすべての非リアルタイム・アルゴリ
ズムと区別される。それぞれのスケジューリング・ポイ
ントで、最も至急のリクエストの残りの寿命が非常に近
接している場合、アルゴリズムは直ちにそのリクエスト
をサービスする。
・スケジューラより優れた多くの利点をもつ。第一に、
スケジューラ109は、デッドラインに間に合うそれぞれ
のリクエストの見込みを増やすという点で「リアルタイ
ム」であり、これはすべての非リアルタイム・アルゴリ
ズムと区別される。それぞれのスケジューリング・ポイ
ントで、最も至急のリクエストの残りの寿命が非常に近
接している場合、アルゴリズムは直ちにそのリクエスト
をサービスする。
【0075】第二に、最も早いデッドラインをもつリク
エストがそのデッドラインに間に合うことが保証される
時のみ、シークの最適化が行われる。従来技術のリアル
タイム・アルゴリズムの最早デッドライン優先方式では
シークの最適化が行われないという点で、最早デッドラ
イン優先方式とは異なる。さらに実現可能デッドライン
走査方式では最も至急のリクエストの時間的制約にかか
わらず常にシークの最適化が行われるという点で、本ス
ケジューラは実現可能デッドライン走査方式アルゴリズ
ムとは異なる。こうして実現可能デッドライン走査方式
では、最も至急のリクエストがそのデッドラインをミス
する可能性がより大きい。
エストがそのデッドラインに間に合うことが保証される
時のみ、シークの最適化が行われる。従来技術のリアル
タイム・アルゴリズムの最早デッドライン優先方式では
シークの最適化が行われないという点で、最早デッドラ
イン優先方式とは異なる。さらに実現可能デッドライン
走査方式では最も至急のリクエストの時間的制約にかか
わらず常にシークの最適化が行われるという点で、本ス
ケジューラは実現可能デッドライン走査方式アルゴリズ
ムとは異なる。こうして実現可能デッドライン走査方式
では、最も至急のリクエストがそのデッドラインをミス
する可能性がより大きい。
【0076】第三に、本スケジューラは、ウィンドウ60
5の中に限って走査する。すなわち、サービスするため
に選ばれるリクエストは、常に、比較的切迫した時間的
制約をもつ。ところが実現可能デッドライン走査方式
は、たとえデッドラインがずっと先であっても、走査経
路上のあらゆるリクエストを選ぶ。本発明のRT-WINDOW
スケジューラで、ウィンドウ機構は、切迫した時間的制
約をもつリクエストがデッドラインをミスする見込みを
減少させる。
5の中に限って走査する。すなわち、サービスするため
に選ばれるリクエストは、常に、比較的切迫した時間的
制約をもつ。ところが実現可能デッドライン走査方式
は、たとえデッドラインがずっと先であっても、走査経
路上のあらゆるリクエストを選ぶ。本発明のRT-WINDOW
スケジューラで、ウィンドウ機構は、切迫した時間的制
約をもつリクエストがデッドラインをミスする見込みを
減少させる。
【0077】最後に、アーム209は常に最も至急のリク
エストに向かって移動するので、そこに向かう経路上の
リクエストをサービスした後、最も至急のリクエストま
での残りのシーク距離は常に減少する。
エストに向かって移動するので、そこに向かう経路上の
リクエストをサービスした後、最も至急のリクエストま
での残りのシーク距離は常に減少する。
【0078】RT-WINDOWスケジューラ109は、2つの調整
可能なパラメータ、すなわち閾値およびウィンドウ・サ
イズをもつ。スケジューラ109の性能は、これらの2つの
パラメータを慎重に調節することによって調整すること
ができる。
可能なパラメータ、すなわち閾値およびウィンドウ・サ
イズをもつ。スケジューラ109の性能は、これらの2つの
パラメータを慎重に調節することによって調整すること
ができる。
【0079】閾値は、最も至急のリクエストをサービス
するかしないか決めるために使用される。閾値は、最も
至急のリクエストおよび他の少なくとも一つのリクエス
トの両方ををサービスする時間を含むように十分に大き
く設定されるべきである。このパラメータの一つの取り
うる値は、これらのリクエストについて、ディスク・ア
クセス時間およびチャネル伝送時間を含む、推定される
最も悪い場合のディスクI/O応答時間の合計でありえ
る。
するかしないか決めるために使用される。閾値は、最も
至急のリクエストおよび他の少なくとも一つのリクエス
トの両方ををサービスする時間を含むように十分に大き
く設定されるべきである。このパラメータの一つの取り
うる値は、これらのリクエストについて、ディスク・ア
クセス時間およびチャネル伝送時間を含む、推定される
最も悪い場合のディスクI/O応答時間の合計でありえ
る。
【0080】ウィンドウ・サイズは、スケジューラの振
る舞いを決定するパラメータである。ウィンドウ・サイ
ズを減少させることは、シークの最適化よりむしろリク
エストの時間的制約をより重視する。ウィンドウ・サイ
ズ=1の極端な場合、アルゴリズムは最早デッドライン
優先アルゴリズムに変わる。一方、ウィンドウ・サイズ
を増大させることは、時間的制約よりもシークの最適化
をより重視する。ウィンドウ・サイズのパラメータが非
常に大きく(例えば1000)設定される場合、走査すると判
断されれば、アルゴリズムは実現可能デッドライン走査
方式に変わる。実験的結果により、3から5のウィンド
ウ・サイズがワークロードの広い範囲で適当であり、こ
の範囲内であれば、ウィンドウ・サイズは全体的なシス
テム性能にあまり感応しない。
る舞いを決定するパラメータである。ウィンドウ・サイ
ズを減少させることは、シークの最適化よりむしろリク
エストの時間的制約をより重視する。ウィンドウ・サイ
ズ=1の極端な場合、アルゴリズムは最早デッドライン
優先アルゴリズムに変わる。一方、ウィンドウ・サイズ
を増大させることは、時間的制約よりもシークの最適化
をより重視する。ウィンドウ・サイズのパラメータが非
常に大きく(例えば1000)設定される場合、走査すると判
断されれば、アルゴリズムは実現可能デッドライン走査
方式に変わる。実験的結果により、3から5のウィンド
ウ・サイズがワークロードの広い範囲で適当であり、こ
の範囲内であれば、ウィンドウ・サイズは全体的なシス
テム性能にあまり感応しない。
【0081】その効果がワークロードに依存する、すな
わち同じデッドラインを保持するリクエストが存在しな
ければアルゴリズムが最早デッドライン優先方式に変わ
る走査-最早デッドライン優先方式とは違って、RT-WIND
OWスケジューラ303はワークロードには全く依存しない
ということに注意されたい。それは、最早デッドライン
優先方式または実現可能デッドライン走査方式のように
振る舞うように、スケジューラの1つまたは複数のパラ
メータを調節することによって設定することができる。
従ってスケジューラ109は、優れた柔軟性を提供する。
わち同じデッドラインを保持するリクエストが存在しな
ければアルゴリズムが最早デッドライン優先方式に変わ
る走査-最早デッドライン優先方式とは違って、RT-WIND
OWスケジューラ303はワークロードには全く依存しない
ということに注意されたい。それは、最早デッドライン
優先方式または実現可能デッドライン走査方式のように
振る舞うように、スケジューラの1つまたは複数のパラ
メータを調節することによって設定することができる。
従ってスケジューラ109は、優れた柔軟性を提供する。
【0082】代替の実施例で、上述の最短時間優先アル
ゴリズムが必要とするような一定のハードウェア支援を
使用する場合、RT-WINDOWアルゴリズムは、シークの最
適化だけでなく回転待ち時間の最適化も行うように容易
に拡張することができる。この実施例で、スケジューラ
は走査の代わりに、ウィンドウ内で最小のサービス時間
(シーク時間と回転待ち時間の合計として定義される)を
もつリクエストを選択する。シークおよび回転の待ち時
間の合計の情報を持つことはまた、より正確に閾値パラ
メータを推定する助けとなる。
ゴリズムが必要とするような一定のハードウェア支援を
使用する場合、RT-WINDOWアルゴリズムは、シークの最
適化だけでなく回転待ち時間の最適化も行うように容易
に拡張することができる。この実施例で、スケジューラ
は走査の代わりに、ウィンドウ内で最小のサービス時間
(シーク時間と回転待ち時間の合計として定義される)を
もつリクエストを選択する。シークおよび回転の待ち時
間の合計の情報を持つことはまた、より正確に閾値パラ
メータを推定する助けとなる。
【0083】代替の実施例は、図3のディスク・スケジ
ューラ109と図4のディスク・スケジューラ109'の複合
型システムである。この代替では、サーバおよびディス
ク・ドライブの両方がリクエストの待ち行列をもつ。同
様に、サーバおよびディスク・ドライブは両方とも、上
述したように本発明に従う、ウィンドウに基づくディス
ク・スケジューラをもつ。
ューラ109と図4のディスク・スケジューラ109'の複合
型システムである。この代替では、サーバおよびディス
ク・ドライブの両方がリクエストの待ち行列をもつ。同
様に、サーバおよびディスク・ドライブは両方とも、上
述したように本発明に従う、ウィンドウに基づくディス
ク・スケジューラをもつ。
【0084】新しいRT-WINDOWスケジューラはビデオ・
オン・デマンドの環境で記述されているが、当業者であ
れば本発明はまた、リアルタイムのトランザクション処
理等のような他の応用で使用できることが理解されるで
あろう。
オン・デマンドの環境で記述されているが、当業者であ
れば本発明はまた、リアルタイムのトランザクション処
理等のような他の応用で使用できることが理解されるで
あろう。
【0085】本発明は例として次の実施態様を含む。 (1)所与の時点で現在の位置をもつ可動アームを備え
るディスク・ドライブを制御する方法であって、閾値パ
ラメータを定義するステップと、それぞれのディスク・
アクセス・リクエストが規定されたデッドラインおよび
ディスク・アドレスをもち、最も早いデッドラインをも
つディスク・アクセス・リクエストが最も至急のリクエ
ストである、複数のディスク・アクセス・リクエストを
受け入れるステップと、最も至急のディスク・アクセス
・リクエストが待ち行列の最前部におかれ、待ち行列が
デッドラインに従ってソートされるというように、最前
部をもつ待ち行列に上記ディスク・アクセス・リクエス
トを格納するステップと、上記待ち行列の最前部におい
て一定の数のディスク・アクセス・リクエストを含むウ
ィンドウを、上記待ち行列に定義するステップと、待ち
行列の中の最も至急のリクエストのデッドラインが満了
する前にどれだけの時間が残っているか決定し、上記時
間が閾値より小さい場合、最も至急のリクエストをサー
ビスし、そうでない場合、上記現在のアーム位置から上
記最も至急のリクエストのディスク・アドレスに向かっ
て走査し、上記走査の間、走査経路にあり、かつ、ウィ
ンドウ内に存在する、遭遇した第一のリクエストをスケ
ジュールする、上記待ち行列のリクエストを処理するス
テップと、を含む上記方法。 (2)最も至急のリクエストのデッドラインが満了する
前にどれだけの時間が残っているか決定する上記ステッ
プが、上記最も至急のリクエストのデッドラインを現在
のクロック時間と比較することを含む、上記(1)の方
法。 (3)さらに、上記ウィンドウのサイズを定義するステ
ップを含む、上記(1)の方法。 (4)リクエストは、サービスされた後、上記待ち行列
および上記ウィンドウから削除される、上記(1)の方
法。 (5)所与の時点で可動アームが現在の位置をもつ、可
動アーム型のディスク・ドライブの操作を制御するディ
スク制御機構であって、デッドラインおよびディスク位
置をもつディスク・アクセス・リクエストを受け入れる
ように操作できるディスク・アクセス・スケジューラ
と、待ち行列の中の1つのリクエストが他のどのリクエ
ストよりも至急である、上記リクエストを格納する待ち
行列データ構造と、他のすべてのリクエストよりも早く
満了するデッドラインをもつ一定の数のリクエストを含
む、上記待ち行列の中のウィンドウと、上記最も至急の
リクエストが、設定された閾値が許容するよりも早く満
了するデッドラインをもつかどうか決定し、そのような
場合、上記最も至急のリクエストを他のどのリクエスト
よりも先にサービスし、そうでない場合、上記最も至急
のリクエストに向かって走査し、上記現在のアーム位置
および上記最も至急のリクエストの間のディスク位置を
もつリクエストをスケジュールするロジックと、を含む
上記ディスク制御装置。 (6)格納されているデータをリアルタイム提供するデ
ータ・サーバであって、少なくとも一つの中央処理装置
と、顧客に提供するためのデータを格納するためであ
り、ディスク・ドライブ・アームが現在の位置をもつ、
少なくとも一つの可動アーム型のディスク・ドライブ
と、上記ディスク・ドライブに格納されているデータの
ためのリクエストを受け入れ、他のいかなるリクエスト
よりも早く満了するデッドラインをもつ所与の数のリク
エストが上記待ち行列のウィンドウ内に位置するよう
に、上記リクエストを待ち行列データ構造に格納する操
作ができる、それぞれの上記可動アーム型のディスク・
ドライブのディスク・スケジューラと、を含み、上記デ
ィスク・スケジューラが、他のいかなるリクエストより
も至急である上記待ち行列のリクエストが許容される閾
値より前に満了するデッドラインをもつかどうかを決定
し、そのような場合、そのようなリクエストを次にサー
ビスするためにスケジュールし、そうでない場合、上記
ディスク・ドライブ・アームの現在位置から上記最も至
急のリクエストの上記位置に向かって走査し、上記ウィ
ンドウにあって、上記走査オペレーションの間に遭遇し
たすべてのリクエストをサービスするためにスケジュー
ルし始めるよう操作できる、上記データ・サーバ。 (7)上記閾値および上記ウィンドウの上記所与の数の
リクエストが、上記ディスク・スケジューラの調整可能
なパラメータである、上記(6)のデータ・サーバ。
るディスク・ドライブを制御する方法であって、閾値パ
ラメータを定義するステップと、それぞれのディスク・
アクセス・リクエストが規定されたデッドラインおよび
ディスク・アドレスをもち、最も早いデッドラインをも
つディスク・アクセス・リクエストが最も至急のリクエ
ストである、複数のディスク・アクセス・リクエストを
受け入れるステップと、最も至急のディスク・アクセス
・リクエストが待ち行列の最前部におかれ、待ち行列が
デッドラインに従ってソートされるというように、最前
部をもつ待ち行列に上記ディスク・アクセス・リクエス
トを格納するステップと、上記待ち行列の最前部におい
て一定の数のディスク・アクセス・リクエストを含むウ
ィンドウを、上記待ち行列に定義するステップと、待ち
行列の中の最も至急のリクエストのデッドラインが満了
する前にどれだけの時間が残っているか決定し、上記時
間が閾値より小さい場合、最も至急のリクエストをサー
ビスし、そうでない場合、上記現在のアーム位置から上
記最も至急のリクエストのディスク・アドレスに向かっ
て走査し、上記走査の間、走査経路にあり、かつ、ウィ
ンドウ内に存在する、遭遇した第一のリクエストをスケ
ジュールする、上記待ち行列のリクエストを処理するス
テップと、を含む上記方法。 (2)最も至急のリクエストのデッドラインが満了する
前にどれだけの時間が残っているか決定する上記ステッ
プが、上記最も至急のリクエストのデッドラインを現在
のクロック時間と比較することを含む、上記(1)の方
法。 (3)さらに、上記ウィンドウのサイズを定義するステ
ップを含む、上記(1)の方法。 (4)リクエストは、サービスされた後、上記待ち行列
および上記ウィンドウから削除される、上記(1)の方
法。 (5)所与の時点で可動アームが現在の位置をもつ、可
動アーム型のディスク・ドライブの操作を制御するディ
スク制御機構であって、デッドラインおよびディスク位
置をもつディスク・アクセス・リクエストを受け入れる
ように操作できるディスク・アクセス・スケジューラ
と、待ち行列の中の1つのリクエストが他のどのリクエ
ストよりも至急である、上記リクエストを格納する待ち
行列データ構造と、他のすべてのリクエストよりも早く
満了するデッドラインをもつ一定の数のリクエストを含
む、上記待ち行列の中のウィンドウと、上記最も至急の
リクエストが、設定された閾値が許容するよりも早く満
了するデッドラインをもつかどうか決定し、そのような
場合、上記最も至急のリクエストを他のどのリクエスト
よりも先にサービスし、そうでない場合、上記最も至急
のリクエストに向かって走査し、上記現在のアーム位置
および上記最も至急のリクエストの間のディスク位置を
もつリクエストをスケジュールするロジックと、を含む
上記ディスク制御装置。 (6)格納されているデータをリアルタイム提供するデ
ータ・サーバであって、少なくとも一つの中央処理装置
と、顧客に提供するためのデータを格納するためであ
り、ディスク・ドライブ・アームが現在の位置をもつ、
少なくとも一つの可動アーム型のディスク・ドライブ
と、上記ディスク・ドライブに格納されているデータの
ためのリクエストを受け入れ、他のいかなるリクエスト
よりも早く満了するデッドラインをもつ所与の数のリク
エストが上記待ち行列のウィンドウ内に位置するよう
に、上記リクエストを待ち行列データ構造に格納する操
作ができる、それぞれの上記可動アーム型のディスク・
ドライブのディスク・スケジューラと、を含み、上記デ
ィスク・スケジューラが、他のいかなるリクエストより
も至急である上記待ち行列のリクエストが許容される閾
値より前に満了するデッドラインをもつかどうかを決定
し、そのような場合、そのようなリクエストを次にサー
ビスするためにスケジュールし、そうでない場合、上記
ディスク・ドライブ・アームの現在位置から上記最も至
急のリクエストの上記位置に向かって走査し、上記ウィ
ンドウにあって、上記走査オペレーションの間に遭遇し
たすべてのリクエストをサービスするためにスケジュー
ルし始めるよう操作できる、上記データ・サーバ。 (7)上記閾値および上記ウィンドウの上記所与の数の
リクエストが、上記ディスク・スケジューラの調整可能
なパラメータである、上記(6)のデータ・サーバ。
【0086】
【発明の効果】本発明によれば、最も至急のリクエスト
のデッドラインが非常に近接している場合はそのリクエ
ストを直ちにサービスし、最も至急のリクエストのデッ
ドラインまでに余裕がある場合は、時間的制約のきつい
リクエストについてシークの最適化を行うことができ、
デッドラインを満足するリクエストの見込みを増やすと
いう、優れた柔軟性をもつリアルタイムのディスク・ス
ケジューラを提供することができる。
のデッドラインが非常に近接している場合はそのリクエ
ストを直ちにサービスし、最も至急のリクエストのデッ
ドラインまでに余裕がある場合は、時間的制約のきつい
リクエストについてシークの最適化を行うことができ、
デッドラインを満足するリクエストの見込みを増やすと
いう、優れた柔軟性をもつリアルタイムのディスク・ス
ケジューラを提供することができる。
【図1】複数のビデオ・サーバを含む「ビデオ・オン・
デマンド」システムを示す概略図である。
デマンド」システムを示す概略図である。
【図2】図1の「ビデオ・オン・デマンド」システムの
可動ヘッド型のディスク・ドライブ機構をより詳細に示
す概略図である。
可動ヘッド型のディスク・ドライブ機構をより詳細に示
す概略図である。
【図3】発明の好ましい実施例に従うディスク・スケジ
ューラを含むビデオ・サーバのブロック図である。
ューラを含むビデオ・サーバのブロック図である。
【図4】発明に従うディスク・スケジューラがディスク
・ドライブ・ユニットに含まれる、代替の実施例のビデ
オ・サーバのブロック図である。
・ドライブ・ユニットに含まれる、代替の実施例のビデ
オ・サーバのブロック図である。
【図5】本発明に従うディスク・ドライブ・リクエスト
をスケジューリングする方法を示すフローチャートであ
る。
をスケジューリングする方法を示すフローチャートであ
る。
【図6】多数のディスク・アクセス・リクエストのディ
スク位置を示すディスク・プラッタの典型的な断面図で
ある。
スク位置を示すディスク・プラッタの典型的な断面図で
ある。
【図7】図7aは、ディスク・アクセス・リクエストの
待ち行列の概略図である。図7bは、図7aのディスク・
アクセス・リクエストの待ち行列の後の時点の概略図で
ある。
待ち行列の概略図である。図7bは、図7aのディスク・
アクセス・リクエストの待ち行列の後の時点の概略図で
ある。
101 ビデオ・サーバ 103 記憶装置 109 ディスク・スケジューラ 107 視聴者用受像器 111 制御ユニット 113 モニタ 201 ディスク 203 トラック 207 読み/書きヘッド 209 アーム
Claims (1)
- 【請求項1】所与の時点で現在位置をもつ可動アームを
備えるディスク・ドライブを制御する方法であって、 閾値パラメータを規定するステップと、 最も早いデッドラインをもつディスク・アクセス・リク
エストが最も至急のリクエストである、それぞれが規定
されたデッドラインおよびディスク・アドレスをもつ複
数のディスク・アクセス・リクエストを受け入れるステ
ップと、 最も至急のディスク・アクセス・リクエストを待ち行列
の最前部におき、デッドラインに従って待ち行列をソー
トするように、最前部をもつ待ち行列に上記ディスク・
アクセス・リクエストを格納するステップと、 上記待ち行列の最前部で一定の数のディスク・アクセス
・リクエストを含むウィンドウを、上記待ち行列に規定
するステップと、 待ち行列の中の最も至急のリクエストのデッドラインが
満了する前にどれだけの時間が残されているか判断し、
上記時間が閾値より少なければ、最も至急のリクエスト
をサービスし、そうでなければ、上記アームの現在位置
から上記最も至急のリクエストのディスク・アドレスに
向かって走査して、走査経路上にあり、かつ、ウィンド
ウ内に存在する、上記走査の間に遭遇した第一のリクエ
ストをスケジュールすることによって、上記待ち行列の
リクエストを処理するステップと、を含む上記方法。
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)
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)
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 |
WO1999005607A2 (en) * | 1997-07-21 | 1999-02-04 | Koninklijke Philips Electronics N.V. | A method and a system for dynamically operating a communication channel in a mixed master/slave subscriber environment |
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 |
JP4473455B2 (ja) * | 1999-01-12 | 2010-06-02 | 富士通株式会社 | 記録媒体へのアクセスを制御するアクセス制御装置および方法 |
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 |
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 |
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 |
US6412058B1 (en) * | 1999-04-27 | 2002-06-25 | International Business Machines Corporation | Adaptive head address re-map for data storage devices |
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 |
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 |
US6721789B1 (en) * | 1999-10-06 | 2004-04-13 | Sun Microsystems, Inc. | Scheduling storage accesses for rate-guaranteed and non-rate-guaranteed requests |
US6438630B1 (en) * | 1999-10-06 | 2002-08-20 | Sun Microsystems, Inc. | Scheduling storage accesses for multiple continuous media streams |
US6738972B1 (en) * | 1999-12-30 | 2004-05-18 | Opentv, Inc. | Method for flow scheduling |
US6789132B2 (en) | 2000-02-09 | 2004-09-07 | Seagate Technology Llc | Modular disc drive architecture |
US6892250B2 (en) | 2000-02-09 | 2005-05-10 | Seagate Technology Llc | Command queue processor |
US6496899B1 (en) * | 2000-02-28 | 2002-12-17 | Sun Microsystems, Inc. | Disk scheduling system with bounded request reordering |
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 |
US6438368B1 (en) | 2000-03-30 | 2002-08-20 | Ikadega, Inc. | Information distribution system and method |
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 |
US7493289B2 (en) * | 2002-12-13 | 2009-02-17 | Aol Llc | Digital content store system |
US7797064B2 (en) | 2002-12-13 | 2010-09-14 | Stephen Loomis | Apparatus and method for skipping songs without delay |
US7412532B2 (en) * | 2002-12-13 | 2008-08-12 | Aol Llc, A Deleware Limited Liability Company | Multimedia scheduler |
US7912920B2 (en) | 2002-12-13 | 2011-03-22 | Stephen Loomis | Stream sourcing content delivery system |
US20040177115A1 (en) * | 2002-12-13 | 2004-09-09 | Hollander Marc S. | System and method for music search and discovery |
US7131025B2 (en) * | 2002-12-18 | 2006-10-31 | Emc Corporation | Resource allocation aware queuing of requests for media resources |
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 |
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 |
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 |
US7206866B2 (en) * | 2003-08-20 | 2007-04-17 | Microsoft Corporation | Continuous media priority aware storage scheduler |
JP2007526556A (ja) * | 2004-01-21 | 2007-09-13 | コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ | ブートアップ速度を向上させる方法 |
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 | ディスク装置及びリアルタイム処理と非リアルタイム処理の同時実行方法 |
US7260703B1 (en) * | 2004-08-20 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for I/O scheduling |
US7386692B1 (en) * | 2004-08-20 | 2008-06-10 | Sun Microsystems, Inc. | Method and apparatus for quantized deadline 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 | キヤノン株式会社 | バスマスタ装置、バス調停装置及びバス調停方法 |
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 |
US20070106849A1 (en) * | 2005-11-04 | 2007-05-10 | Sun Microsystems, Inc. | Method and system for adaptive intelligent prefetch |
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 |
US8706900B2 (en) * | 2008-07-10 | 2014-04-22 | Juniper Networks, Inc. | Dynamic storage resources |
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 |
US8191070B2 (en) * | 2008-07-10 | 2012-05-29 | Juniper Networks, Inc. | Dynamic resource allocation |
US9176779B2 (en) * | 2008-07-10 | 2015-11-03 | Juniper Networks, Inc. | Data access in distributed systems |
US8954976B2 (en) * | 2008-07-10 | 2015-02-10 | Juniper Networks, Inc. | Data storage in distributed resources of a network based on provisioning attributes |
US8650270B2 (en) * | 2008-07-10 | 2014-02-11 | Juniper Networks, Inc. | Distributed computing with multiple coordinated component collections |
US8887166B2 (en) * | 2008-07-10 | 2014-11-11 | Juniper Networks, Inc. | Resource allocation and modification using access patterns |
US8364710B2 (en) * | 2008-07-10 | 2013-01-29 | Juniper Networks, Inc. | Model-based resource allocation |
US9066141B2 (en) * | 2009-01-21 | 2015-06-23 | Juniper Networks, Inc. | Resource allocation and modification using statistical analysis |
EP2438513B1 (en) | 2009-06-03 | 2015-03-18 | 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)
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 |
-
1995
- 1995-07-31 US US08/509,074 patent/US5787482A/en not_active Expired - Lifetime
-
1996
- 1996-06-21 JP JP8161271A patent/JPH0950667A/ja active Pending
- 1996-07-19 EP EP96305314A patent/EP0757310A3/en not_active Withdrawn
Cited By (5)
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 | |
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 | |
Pang | Tertiary storage in multimedia systems: staging or direct access? | |
JP2004104212A (ja) | 帯域管理ファイルシステム装置並びにそのプログラムとプログラム記録媒体 | |
Philip et al. | Look-ahead scheduling to support pause-resume for video-on-demand applications | |
Tan et al. | On video-on-demand servers with hierarchical storage |