JP3575870B2 - Disk controller - Google Patents
Disk controller Download PDFInfo
- Publication number
- JP3575870B2 JP3575870B2 JP14202495A JP14202495A JP3575870B2 JP 3575870 B2 JP3575870 B2 JP 3575870B2 JP 14202495 A JP14202495 A JP 14202495A JP 14202495 A JP14202495 A JP 14202495A JP 3575870 B2 JP3575870 B2 JP 3575870B2
- Authority
- JP
- Japan
- Prior art keywords
- time
- queue
- read request
- read
- input
- 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.)
- Expired - Lifetime
Links
Images
Description
【0001】
【産業上の利用分野】
本発明は、ランダムに発生する読み出し要求に対して、シーク時間を減少させて読み出しの処理能力を向上させたディスク制御装置に関し、特に、一定の速度で発生する読出要求をリアルタイムに処理することを必要とするビデオサーバーに使用されるディスク制御装置に関する。
【0002】
【従来の技術】
近年、映像データと音声データを含むマルチメディアデータを記憶するディスク装置を備え、通信線を介して接続された複数のユーザに対してデータを供給するビデオサーバが実用化されている。ビデオサーバから供給されるデータによりユーザは、見たいときに希望する映画を見ることができる。
【0003】
ビデオサーバにおいては、複数のユーザに対してデータのリアルタイムに出力する必要があり、効率よくディスク上のデータを読み出す技術が必要とされる。ディスク装置を効率的に読み出す技術として、ディスク装置のヘッドシークの方向を一定にするようにデータの読出順序を入れ換える技術がある。
図12は、従来のディスク制御装置の構成を示すブロック図である。同図においてディスク制御装置は、ハードディスク100、並び替え制御部102、ハードディスク103とからなる。
【0004】
ハードディスク100は、複数種類の映画を表すマルチメディアデータを一定のサイズ毎に分割して記憶する。
キュー管理部101は、データの読み出し要求をキューとして保持し、ハードディスク100に対して順に読み出し要求を出力する。
並び換え制御部102は、読み出し要求を受け取る毎にキュー管理部101に一旦登録し、さらに、一定時間毎にキュー管理部101に登録されている全て読み出し要求を、ディスク装置のヘッドシーク方向が一定になるように並び換える。キュー管理部101は、並び換えられた要求を順にハードディスク100に出力する。これにより、ハードディスク100における読み出し要求に対するヘッドの平均シーク時間の短縮が図られている。
【0005】
【発明が解決しようとする課題】
しかしながら上記従来の構成では、読み出し要求が発生してからデータが出力されるまでの遅延時間がばらついてしまうという問題があった。
より詳しくいうと、ビデオサーバから出力されるデータは、動画として再生できるように所定の時間毎に連続して出力される必要がある。もし所定の時間内に次のデータが出力されなければ、例えば映像が飛んだり、音声が途切れたりして映画として正常に再生できなくなる。そのため、ディスク装置においては読み出し要求が発生してからデータが出力されるまでの遅延時間として許容される範囲(以下、限界限界許容遅延時間と呼ぶ)がある。従来技術では、この限界許容遅延時間を考慮していなかった。
【0006】
例えば従来技術において、上記一定時間(並び換えを行う間隔)を限界許容遅延時間よりも十分短く設定すれば、限界許容遅延時間内にデータ出力することができる。
しかし、この場合には並び換えの対象となる読み出し要求の個数が少なくなるので、シーク時間を短縮という効果が犠牲になってしまい、効率よく読み出すことができないという問題があった。逆に、上記一定時間を許容時間よりも長く設定すれば、並び換えの対象となる読み出し要求の個数が多くなるので、シーク時間を短縮という効果が十分に得られるものの、この場合には並び換えの結果、限界許容遅延時間を越えてしまう位置に移動させられる読み出し要求が生じてしまうという問題があった。
【0007】
上記のように、従来技術ではディスクの読み出し効率を向上させることと、限界許容遅延時間を守ることとはトレードオフの関係にある。したがって、特に、読み出し要求が、連続的に発生する場合や、バースト的に起こる場合には上記一定時間を適切に設定することは難しい。
上記課題に鑑み本発明は、読み出し要求が発生してからデータが出力されるまでに要求される限界許容遅延時間を満たしつつ、効率よくアクセスするディスク制御装置を提供することを目的とする。
【0008】
【課題を解決するための手段】
上記課題を解決するため、請求項1の発明は、次の 3 つの構成上の特徴を備える。
1 番目は、複数の読み出し要求をキューとして保持し、読み出し要求が入力される毎にその読み出し要求とともに保持された読み出し要求を並び換え、キューから読み出し要求を順に取り出して要求されたデータをディスクから出力するディスク制御装置であって、ディスクのデータ読出を要求する読み出し要求を並び換え可能なキューとして一時的に保持するキュー手段と、キュー内の読み出し要求毎に、キューにおける順位に応じて決まる読み出し完了までの遅延時間に対して、さらにどれだけの遅延を与えることができるかを表す許容時間を保持する許容時間保持手段と、読み出し要求が入力される毎に、キュー内の各読み出し要求の許容時間に基づいて、入力された読み出し要求とともにキュー内の読み出し要求を並び換える並び換え制御手段とを備えている点である。
【0009】
第 2 の構成上の特徴は、並び換えが実行される毎に、入力された読み出し要求について、キューにおける順位に応じて前記許容時間を算出して許容時間保持手段に格納する許容時間算出手段と、並び換えによって、キューにおける順位が後順位に変更された各読み出し要求について許容時間保持手段の各許容時間を、順位の変更に起因する遅延時間だけ小さい値に更新する許容時間更新手段とを備えている点である。
【0010】
第3の構成上の特徴は、前記許容時間算出手段が、並び換え制御手段によりキューが並び換えられる毎に、入力された読み出し要求について、キュー内の挿入された位置から先頭まで進み、さらに取り出されてディスクのデータ読み出しが完了するまでに要すると予想される遅延時間を算出する第1の算出手段と、入力された読み出し要求が並び換え制御手段に入力された時点から対応するデータがディスクから出力されるまでに遅延時間として許される最大の限界許容遅延時間から、第1の算出手段により算出された遅延時間を減算することにより、入力された読み出し要求に対する許容時間を算出する第2の算出手段とを備えている点である。
【0011】
請求項2の発明は請求項1に対して、前記並び換え制御手段が、読み出し要求が入力される毎に、入力された読み出し要求がキューに挿入された場合に、ディスクのヘッドシーク方向を一定に保つことができるキュー内の位置を探索する探索手段と、探索された位置に入力された読み出し要求が挿入された場合に、その読み出し要求の後順位になる読み出し要求の許容時間が0以下になるか否かを判定する時間判定手段と、許容時間が0以下にならないと判定されたときの探索された位置を挿入すべき位置と決定する位置決定手段と、決定された位置に入力された読み出し要求を挿入するように、入力された読み出し要求とともにキュー内の読み出し要求を並び換える並び換え手段とを備えている。
【0012】
請求項3の発明は請求項2に対して、前記読み出し要求は、読み出すべきデータの論理アドレスと、データのサイズとを含み、前記キュー手段は、キュー内の各読み出し要求について、キュー内の順位と、シーク直後からデータを読み取って出力するまでに要する転送時間と、対応するデータが存在するディスク上のトラック位置と、1つ前の順位のデータのトラック位置から当該順位のトラック位置までのヘッド移動に要するシーク時間とを対応させて保持するキューテーブルを備え、前記並び換え制御手段はさらに、入力された読み出し要求に含まれる論理アドレスに基づいて対応するデータが存在するディスク上のトラックの位置を算出するトラック位置算出手段と、入力された読み出し要求に含まれるデータサイズに基づいてシーク直後からデータを読み取って出力するまでに要するデータ転送時間を算出するデータ転送時間算出手段と、並び換え手段によりキューが並び換えられる毎に、キュー内の順位が変更された読み出し要求について、キューテーブルのトラック位置に基づいてシーク時間を算出してキューテーブルに格納するシーク時間算出手段とを備え、前記探索手段は、キュー内の読み出し要求の順位を末尾から順に1つずつ指定する順位指定手段と、順位が指定される毎に、トラック位置算出手段により算出されたトラック位置に対して、キューの末尾の読み出し要求のトラック位置と、指定された順位の読み出し要求のトラック位置とが同じ方向にあるかを判定する方向判定手段とを備え、前記並び換え手段は、決定された位置に挿入するようにキューテーブルの順位を更新するとともに、トラック位置算出手段に算出されたトラック位置、データ転送時間算出手段により算出されたデータ転送時間を入力された読み出し要求に対応させてキューテーブルに格納する。
【0013】
請求項4の発明は請求項1に対して、前記並び換え制御手段が、読み出し要求が入力される毎に、入力された読み出し要求がキューに挿入された場合に、比較的小さい距離のヘッドシーク逆行を許してディスクのヘッドシーク方向をほぼ一定に保つことができるキュー内の位置を探索する探索手段と、探索された位置に入力された読み出し要求が挿入された場合に、その読み出し要求の後順位になる読み出し要求の許容時間が0以下になるか否かを判定する時間判定手段と、許容時間が0以下にならないと判定されたときの探索された位置を挿入すべき位置と決定する位置決定手段と、決定された位置に入力された読み出し要求を挿入するように、入力された読み出し要求とともにキュー内の読み出し要求を並び換える並び換え手段とを備えている。
【0014】
請求項5の発明は請求項4に対して、前記読み出し要求は、読み出すべきデータの論理アドレスと、データのサイズとを含み、前記キュー手段は、キュー内の各読み出し要求について、キュー内の順位と、シーク直後からデータを読み取って出力するまでに要する転送時間と、対応するデータが存在するディスク上のトラック位置と、1つ前の順位のデータのトラック位置から当該順位のトラック位置までのヘッド移動に要するシーク時間とを対応させて保持するキューテーブルを備え、前記並び換え制御手段はさらに、入力された読み出し要求に含まれる論理アドレスに基づいて対応するデータが存在するディスク上のトラックの位置を算出するトラック位置算出手段と、入力された読み出し要求に含まれるデータサイズに基づいてシーク直後からデータを読み取って出力するまでに要するデータ転送時間を算出するデータ転送時間算出手段と、並び換え手段によりキューが並び換えられる毎に、キュー内の順位が変更された読み出し要求について、キューテーブルのトラック位置に基づいてシーク時間を算出してキューテーブルに格納するシーク時間算出手段とを備え、前記探索手段は、キュー内の読み出し要求の順位を末尾から順に1つずつ指定する順位指定手段と、順位が指定される毎に、トラック位置算出手段により算出されたトラック位置に対して、キューの末尾の読み出し要求のトラック位置と、指定された順位の読み出し要求のトラック位置の前後数トラックの何れかとが同じ方向にあるかを判定する方向判定手段とを備え、前記並び換え手段は、決定された位置に挿入するようにキューテーブルの順位を更新するとともに、トラック位置算出手段に算出されたトラック位置、データ転送時間算出手段により算出されたデータ転送時間を入力された読み出し要求に対応させてキューテーブルに格納する。
【0015】
請求項6の発明は請求項3又は5に対して、前記時間判定手段が、方向判定手段により同じ方向にあると判定されたとき、順位指定手段に指定された順位の読み出し要求に対応する許容時間から、データ転送時間を減算し、減算結果が0以下になるか否かを判定し、前記位置決定手段が、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下にならないと判定された場合、順位指定手段に指定された次の順位について、方向判定手段が同じ方向にないと判定した場合には、その2つの順位の読み出し要求の間を入力された読み出し要求を挿入すべき位置と決定する。
【0016】
請求項7の発明は請求項6に対して、前記第1の算出手段が、並び換え手段によりキューが並び換えられる毎に、入力された読み出し要求について、キュー内の全ての先順位の読み出し要求のデータ転送時間及びシーク時間を加算することにより前記遅延時間を算出し、前記許容時間更新手段が、並び換えによって、キューにおける順位が後順位に変更された各読み出し要求について、許容時間保持手段の各許容時間を、前記データ転送時間だけ小さい値に更新する。
【0017】
請求項8の発明は請求項7に対して、前記限界許容遅延時間は、全ての読み出し要求に共通の値が予め定められている。請求項11の発明は請求項10に対して、前記位置決定手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下になると判定された場合には、キューの末尾を挿入すべき位置と決定する。
【0018】
請求項10の発明は請求項7に対して、前記限界許容遅延時間は、入力される読み出し要求に含まれる。請求項13の発明は請求項12に対して、前記位置決定手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下になると判定された場合には、キューの末尾を挿入すべき位置と決定し、前記読み出し要求は、最大許容時間が短く廃棄されてもよい速度的な優先要求と、それ以外の要求とに分類され、前記並び換え判定制御手段はさらに、入力された読み出し要求が優先要求であるかどうかを判別する優先要求判別手段と、優先要求であると判別され、かつ、位置決定手段により末尾に挿入すると決定された場合、キューテーブル内の全ての読み出し要求のデータ転送時間及びシーク時間を加算した加算結果がその優先要求の最大許容時間よりも大きければ、廃棄すると判定する廃棄判定手段と、廃棄すると判定された優先要求を廃棄するとともに、優先要求に対する並び換え制御手段の動作を禁止する廃棄手段とを備えている。
【0019】
請求項12の発明は請求項9又は11に対して、前記許容時間保持手段は、さらにキュー内の読み出し要求毎に、キューの内の直前に他の読み出し要求を挿入できないことと、シーク方向が逆になることとを表す禁止フラグを保持し、前記並び換え手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下になると判定され、かつ、位置決定手段によりキューの末尾が挿入すべき位置と決定された場合には、並び換え後に末尾に挿入された読み出し要求の直前順位の読み出し要求に対応する禁止フラグをセットする。
【0020】
請求項13の発明は請求項12に対して、前記並び換え制御手段はさらに、読み出し要求が入力されたとき、許容時間保持手段内の禁止フラグがセットされていて、かつ、キューの末尾に最も近い読み出し要求を検出する禁止フラグ検出手段と、末尾の読み出し要求のトラック位置に対して、入力された読み出し要求のトラック位置と、禁止フラグ検出手段によって検出された読み出し要求のトラック位置とが同じ方向にあるか否かを判定する同一方向判定手段とを備え、前記位置決定手段は、同一方向判定手段により同じ方向にないと判定された場合に、入力された読出要求をキューの末尾を挿入すべき位置と決定し、前記探索手段は、同一方向判定手段により同じ方向にあると判定された場合に、前記探索を行う。
【0021】
請求項14の発明は、請求項1乃至13の何れかのディスク制御装置がビデオサーバに用いられ、前記限界許容遅延時間はビデオサーバのユーザ側においてリアルタイム再生に要求される遅延時間である。
【0022】
【作用】
請求項1に係るディスク制御装置では、並び換え制御手段は、読み出し要求が入力される毎に、読み出し要求保持手段内の許容時間に基づいて、入力された読み出し要求とともにキュー手段内の読み出し要求を並び換える。これにより、読み出し要求が入力される毎にキューの並び換えを行うのでアクセス効率がよくなり、しかも、最大の限界許容遅延時間を満たすようにしているので、動画や音声データのリアルタイム性を確保することができる。
【0023】
その上、許容時間算出手段は、並び換えが実行される毎に、入力された読み出し要求について、キューにおける順位に応じて前記許容時間を算出して許容時間保持手段に格納する。許容時間更新手段は、並び換えによって、キューにおける順位が後順位に変更された各読み出し要求について許容時間保持手段の各許容時間を、順位の変更に起因する遅延時間だけ小さい値に更新する。これにより新たにキューに追加された読み出し要求については、許容時間保持手段に許容時間を新たに設定し、もともとキューにあった読み出し要求で順位が後順位に変更されたものについては、許容時間を更新することができる。
【0024】
さらに、入力された読み出し要求の許容時間は、前記許容時間算出手段内の第1の算出手段および第2の算出手段により算出される。
請求項2の発明に係るディスク制御装置では請求項1に対して、探索手段は、読み出し要求が入力される毎に、入力された読み出し要求がキューに挿入された場合に、ディスクのヘッドシーク方向を一定に保つことができるキュー内の位置を探索する。時間判定手段は、探索手段により探索された位置について、許容時間が0以下になるか否かを判定する。位置決定手段は、許容時間が0以下にならないと判定されたときの探索された位置を挿入すべき位置と決定する。並び換え手段は、決定された位置に入力された読み出し要求を挿入するように、入力された読み出し要求とともにキュー内の読み出し要求を並び換える。
【0025】
請求項3の発明に係るディスク制御装置では請求項2に対して、前記キュー手段は、前記キューテーブルを備えることにより論理的なキューを実現する。前記探索手段内の方向判定手段は、順位指定手段により順位が指定される毎に、トラック位置算出手段により算出されたトラック位置に対して、キューの末尾の読み出し要求のトラック位置と、指定された順位の読み出し要求のトラック位置とが同じ方向にあるかを判定する。前記並び換え手段は、位置決定手段により決定された位置に挿入するようにキューテーブルの順位を更新するとともに、トラック位置算出手段に算出されたトラック位置、データ転送時間算出手段により算出されたデータ転送時間を入力された読み出し要求に対応させてキューテーブルに格納する。
【0026】
請求項4の発明に係るディスク制御装置では請求項1に対して、探索手段は、読み出し要求が入力される毎に、入力された読み出し要求がキューに挿入された場合に、比較的小さい距離のヘッドシーク逆行を許してディスクのヘッドシーク方向をほぼ一定に保つことができるキュー内の位置を探索する。時間判定手段は、探索された位置に入力された読み出し要求が挿入された場合に、その読み出し要求の後順位になる読み出し要求の許容時間が0以下になるか否かを判定する。位置決定手段は、許容時間が0以下にならないと判定されたときの探索された位置を挿入すべき位置と決定する。並び換え手段は、決定された位置に入力された読み出し要求を挿入するように、入力された読み出し要求とともにキュー内の読み出し要求を並び換える。これにより許容時間が0になることなく、前後数トラック分のヘッドシーク逆行を許容してほぼ一定方向にヘッドシークを保つことができる。つまり、トラック位置が極めて近い場合のみ逆行を許容することができる。
【0027】
請求項5の発明に係るディスク制御装置では請求項4に対して、前記キュー手段は、前記キューテーブルを備えることにより論理的なキューを実現する。方向判定手段は、順位指定手段により順位が指定される毎に、トラック位置算出手段により算出されたトラック位置に対して、キューの末尾の読み出し要求のトラック位置と、指定された順位の読み出し要求のトラック位置の前後数トラックの何れかとが同じ方向にあるかを判定する。
【0028】
請求項6の発明に係るディスク制御装置では請求項3又は5に対して、前記時間判定手段は、方向判定手段により同じ方向にあると判定されたとき、順位指定手段に指定された順位の読み出し要求に対応する許容時間から、データ転送時間を減算し、減算結果が0以下になるか否かを判定する。前記位置決定手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下にならないと判定された場合、順位指定手段に指定された次の順位について、方向判定手段が同じ方向にないと判定した場合には、その2つの順位の読み出し要求の間を入力された読み出し要求を挿入すべき位置と決定する。
【0029】
請求項7の発明に係るディスク制御装置では請求項6に対して、前記第1の算出手段が、キューテーブル内の全ての先順位の読み出し要求のデータ転送時間及びシーク時間を加算することにより前記遅延時間を算出する。前記許容時間更新手段が、並び換えによって、キューにおける順位が後順位に変更された各読み出し要求について、許容時間保持手段の各許容時間を、前記データ転送時間だけ小さい値に更新する。これにより許容時間を高い精度で計算することができる。
【0030】
請求項8の発明に係るディスク制御装置では請求項7に対して、前記限界許容遅延時間は、全ての読み出し要求に共通の値が予め定められている。これにより限界許容遅延時間は、画一的に処理される。請求項11の発明に係るディスク制御装置では請求項10に対して、前記位置決定手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下になると判定された場合には、キューの末尾を挿入すべき位置と決定する。
【0031】
請求項10の発明に係るディスク制御装置では請求項7に対して、前記限界許容遅延時間は、入力される読み出し要求に含まれる。
請求項11の発明に係るディスク制御装置では請求項10に対して、前記読み出し要求は、最大許容時間が短く廃棄されてもよい優先要求と、それ以外の要求とを含む。前記位置決定手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下になると判定された場合には、キューの末尾を挿入すべき位置と決定する。廃棄判定手段は、優先要求判定手段により優先要求であると判別され、かつ、位置決定手段により末尾に挿入すると決定された場合、キューテーブル内の全ての読み出し要求のデータ転送時間及びシーク時間を加算した加算結果がその優先要求の最大許容時間よりも大きければ、廃棄すると判定する。廃棄手段は、廃棄判定手段により廃棄すると判定された優先要求を廃棄するとともに、優先要求に対する並び換え制御手段の動作を禁止する。とを備えている。これにより、優先要求は短い遅延時間で出力されるが、廃棄される可能性も高くなるので、例えばディスク上のデータが映画を表す場合に、早送りや逆戻しを優先要求とすれば、2種類のデータ品質を満たして効率よくデータを読み出すことができる。
【0032】
請求項12の発明に係るディスク制御装置では請求項9又は11に対して、前記許容時間保持手段は、さらにキュー内の読み出し要求毎に、キューの内の直前に他の読み出し要求を挿入できないことと、シーク方向が逆になることとを表す禁止フラグを保持する。前記並び換え手段は、方向判定手段により同じ方向にあると判定され、かつ、前記時間判定手段により0以下になると判定され、かつ、位置決定手段によりキューの末尾が挿入すべき位置と決定された場合には、並び換え後に末尾に挿入された読み出し要求の直前順位の読み出し要求に対応する禁止フラグをセットする。これにより入力された読み出し要求を挿入すべき位置の判定を迅速に行うことができる。
【0033】
請求項13の発明に係るディスク制御装置では請求項12に対して、同一方向判定手段は、読み出し要求が入力されたとき、許容時間保持手段内の禁止フラグがセットされていて、かつ、キューの末尾に最も近い読み出し要求を検出する禁止フラグ検出手段と、末尾の読み出し要求のトラック位置に対して、入力された読み出し要求のトラック位置と、検出された読み出し要求のトラック位置とが同じ方向にあるか否かを判定する。前記位置決定手段は、同一方向判定手段により同じ方向にないと判定された場合に、入力された読出要求をキューの末尾を挿入すべき位置と決定する。また、前記探索手段は、同一方向判定手段により同じ方向にあると判定された場合に、前記探索を行う。これにより入力された読み出し要求がキューの末尾にしか追加できないことを迅速に判定することができる。
【0034】
請求項14の発明に係るディスク制御装置では請求項1乃至13の何れかのディスク制御装置がビデオサーバに用いられ、前記限界許容遅延時間はビデオサーバのユーザ側においてリアルタイム再生に要求される遅延時間である。これによりリアルタイム性を要求されるビデオサーバにおいて、動画や音声を含むマルチメディアデータを、動画や音声を途切らせることなく効率よく読みだすことができる。
【0035】
【実施例】
図1は、本発明の実施例におけるディスク制御装置の概略構成を示すブロック図である。同図において、ディスク制御装置は、ハードディスク200、キュー管理部201、許容遅延データ管理部202、並び換え制御部203から構成され、連続的に入力される複数の読み出し要求に対して、読み出し順序を並び換えることによりシーク時間を短縮し、かつ限界許容遅延時間の範囲内でデータ出力する。
【0036】
ハードディスク200は、複数種類のマルチメディアデータを一定のサイズ毎に分割して記憶する。本ディスク制御装置がビデオサーバに用いられる場合には、複数タイトルの映画を所定のサイズ(64Kバイト)に分割して記憶する。
キュー管理部201は、連続的に入力される複数の読み出し要求を処理待ちキューとして保持し、ハードディスク200に対して順に読み出し要求を出力する。ここで読み出し要求は、上記所定サイズ分のデータ読み出しの要求を表す。図2にキューの模式図を示す。同図においてR(1)−R(n)は、キュー内の読み出し要求を表す。キューの先頭の読み出し要求R(1)は、ハードディスク200における1つ前の読み出し要求R(0)の処理が終了した時点で出力される。また、R(α)は新たに発生した読み出し要求を表す。
【0037】
許容遅延データ管理部202は、キュー内の各読み出し要求に対する許容遅延データを保持する。ここで許容遅延データとは、読み出し要求に対して、現在のキュー位置ではさらにどれだけの遅延を与えても限界許容遅延時間を守れるかを表す。具体的には、新たにキューに追加された読み出し要求については、キューに読み出し要求が追加された時点で許容遅延データが新たに算出され、また、既にキュー内に存在した読み出し要求については、順位が後順位に変更された時点で順位の変更に起因して生じる遅延時間だけ許容遅延データが小さい値に更新される。
【0038】
並び換え制御部203は、読み出し要求が入力される毎に、キュー管理部201のキューに対して、許容遅延データ管理部202に管理されている許容遅延データを参照して、シーク時間が短くなるキューの位置に入力された読み出し要求を挿入する。
図1に図示していないが、並び換え制御部203に読み出し要求を供給するユーザ管理部について説明する。ビデオサーバではユーザ指定された映画について、その映画を構成する複数のデータをユーザに連続的に供給する必要がある。そのため、ユーザ管理部は、ユーザからの特定の映画の指定を受け付けると、その映画に対する個々のデータの読み出し要求を順次並び換え制御部203に発行する。この読み出し要求は、論理アドレスと、データサイズと、限界許容遅延時間とを含む。ここで論理アドレスは、読み出すべきデータのハードディスク200上の先頭位置を示す論理的なアドレスである。データサイズは、読み出すべきデータのサイズであり、例えば64kバイト程度である。限界許容遅延時間は、ユーザ側で映画として分断することなくデータを順次再生するための条件であり、読み出し要求の発行からハードディスク200からデータが出力されるまでの許される最大の遅延時間を表し、例えば300ms程度である。
【0039】
図3は、本ディスク制御装置のさらに詳細な構成を示すブロック図である。同図に示すように、キュー管理部201は、キューテーブル211と読出制御部212とから、許容遅延データ管理部202は、許容遅延データテーブル221と限界許容遅延時間計算部222とから、並び換え制御部203は、読出時間計算部231とトラック位置計算部232とシーク時間計算部233と並び換え部234とから構成される。
【0040】
キューテーブル211は、読み出し要求を論理的にキューとして管理するためのテーブルである。図4(a)にキューテーブル211の構成例を示す。同図のようにキューテーブル211は、キュー内の各読み出し要求R(x)に対応させて、順序x、読み出し時間t(x)、トラック位置A(x)、シーク時間S(x)を記憶する。ここで「順序x」は、読み出し要求のキューにおける順序を示す。1がキューの先頭を、最大値nがキューの末尾を表す。このnはキュー長でもある。ここで「読み出し時間t(x)」は、読み出し要求R(x)に対するデータをハードディスク200において読み取って出力するのに要する時間に、トラックでの最大回転待ち時間を加えたものであり、シーク後データを取り出すまでに必要とする最大の時間を示す。「トラック位置A(x)」は、読み出し要求xに対するデータが書き込まれているシリンダーの位置(どのトラックであるか)を示す。「シーク時間S(x)」は、A(x−1)からA(x)までヘッドを移動させるのに要する時間を示す。
【0041】
読出制御部212は、ハードディスク200がアクセス状態であるかレディ状態であるかを検出し、レディ状態になった時点で直ちにキューテーブル211の先頭にある読み出し要求R(1)を取り出して、対応するデータをハードディスク200から読み出す制御を行う。このとき、取り出した読み出し要求R(1)およびそれに関連するデータをキューテーブル211から削除するとともに、残りの読み出し要求の順序xを更新する(順番を繰り上げる)。
【0042】
許容遅延データテーブル221は、キューテーブル211内の各読み出し要求R(x)に対する許容遅延データP(x)を保持するテーブルである。図4(b)に許容遅延データテーブル221の構成例を示す。同図のように許容遅延データテーブル221は、キュー内の各読み出し要求R(x)に対応させて、許容遅延データP(x)、禁止フラグflg(x)を記憶する。ここで、「許容遅延データP(x)」は、読み出し要求R(x)をあとどれだけ遅延させることができるかをを表す許容時間を示す。「禁止フラグflg(x)」は、ONであれば、要求R(x)の前に新たな要求を挿入することができないことと、その読み出し要求の前後でシーク方向を逆にすることとを表す。
【0043】
限界許容遅延時間計算部222は、並び換え部234によってキューテーブル211に読み出し要求が追加される毎に、追加された読み出し要求及びそれより後順序の読み出し要求を対象に、キューテーブル211を参照して許容遅延データを計算して、許容遅延データテーブル221に格納する。この計算は、追加された読み出し要求については次式(1)により、それより後順位の読み出し要求については次式(2)による。
【0044】
【数1】
【0045】
ここでT(x)は、読み出し要求R(x)の限界許容遅延時間を示す。
【0046】
【数2】
【0047】
(2)式は、追加された読み出し要求より後順位の読み出し要求については、それぞれのP(x)から追加された読み出し要求の読み出し時間t(α)を減算し、その値をP(x)として更新することを意味する。また、(2)式では、計算を簡略化するため、読み出し要求R(α)を追加することによるシーク時間S(x)への影響を考慮していない。というのは、この影響は無視できるほど小さいからである。このようにしてキューテーブル211のP(x)は、キューに読み出し要求が追加された時点で新たに算出され、その後、順位が後順位に変更された時点で順位の変更に起因して生じる遅延時間だけ小さい値に更新されることになる。
【0048】
読出時間計算部231は、新たに読み出し要求R(α)が並び換え制御部203に入力されたとき、R(α)に対する読み出し時間t(α)を計算する。この読み出し時間t(α)は、読み出すべきデータのサイズを、ハードディスク200の最小データ転送速度で割って、さらにディスクの最大回転待ち時間を加えることにより計算される。例えば、データサイズを64kバイト、データ読み出しの最小速度を2.7Mバイト/S、最大回転待ち時間を11.2mSとすると、読み出し時間t(α)=64k/2.7M+11.2=約35mSと計算される。
【0049】
トラック位置計算部232は、新たに読み出し要求R(α)が並び換え制御部203に入力されたとき、読み出し要求R(α)に対するデータのトラック位置A(α)を計算する。例えば、ディスクの内周と外周の1トラックあたりのデータサイズが等しい場合には、トラック位置計算部232は、ハードディスク200の最内周トラックの論理アドレスLAminと、最外周トラックの論理アドレスLAmaxと、R(α)の論理アドレスLAαと、全トラック数TNとに基づいて次のようにA(α)を求める。
【0050】
【数3】
【0051】
シーク時間計算部233は、並び換え部234によって読み出し要求R(α)がキューテーブル211に追加される毎に、追加された読み出し要求R(α)以降の読み出し要求に対してシーク時間S(x)を計算する。具体的には、シーク時間計算部233は、A(x)−A(x−1)間の距離を、ハードディスク200のヘッドのシーク速度で割り算することによりシーク時間を求める。
【0052】
並び換え部234は、新たに読み出し要求R(α)が入力されたる毎に、キューテーブル211及び許容遅延データテーブル221を参照して、読み出し時間t(α)、シーク時間S(α)に基づいて、キュー内の全て読み出し要求が限界許容遅延時間を満たし、かつ、シーク方向が一定になるように並び換えを行う。図5は、並び換え部234の詳細な並び換え処理を示すフローチャートを示す。並び換え部234は、読み出し要求R(α)が入力されると読出時間計算部231、トラック位置計算部232にそれぞれ読み出し時間t(α)、トラック位置A(α)を計算させ(ステップ601、602)、キューテーブル211のキュー長nが0であれば(ステップ603:no)、読み出し要求R(α)、読み出し時間t(α)、トラック位置A(α)、シーク時間計算部233で計算されたシーク時間S(α)をキューテーブル211に登録するとともに、限界許容遅延時間計算部222で計算された許容遅延データP(α)と、禁止フラグflg(α)=OFFとを許容遅延データテーブル221に登録する(ステップ604)。 また、並び換え部234は、キュー長nが1以上であれば(ステップ603:yes)、変数kをnから順に1ずつ減少するパラメータとして、キューの末尾から順に許容遅延データテーブル221の禁止フラグflg(k)を参照して、禁止フラグがONである読み出し要求R(k)を検出する(ステップ606−608)。
【0053】
さらに、並び換え部234は、読み出し要求R(α)のトラック位置A(α)が末尾の読み出し要求R(n)のトラック位置A(n)と一致している場合には(ステップ609:yes)、読み出し要求R(α)を、t(α)、A(α)とともにキューテーブル211のキューの最後尾に登録し(ステップ611)、限界許容遅延時間計算部222、シーク時間計算部233にそれぞれ許容時間P(α)、シーク時間S(α)を計算させて、計算結果を許容遅延データテーブル221、キューテーブル211に登録する(ステップ612)。
【0054】
一致していない場合には(ステップ609:no)、並び換え部234は、トラック位置A(n)からみて、トラック位置A(α)とトラック位置A(k)とが同じ方向にあるか否かを判定する。具体的には並び換え部234は、(A(k)−A(n))と(A(α)−A(n))の積をとった結果が正であるが負であるかにより同じ方向にあるかか否かを判定する。
【0055】
その結果、同じ側でない場合には(ステップ610:no)、図6(a)に示すように、読み出し要求R(α)をキューの末尾に登録し(ステップ611)、限界許容遅延時間計算部222、シーク時間計算部233にP(α)、S(α)を計算させて、t(α)、A(α)、S(α)、P(α)、flg(α)をキューテーブル211、許容遅延データテーブル221に登録する(ステップ612)。この場合図6(a)のように、読み出し要求R(α)を末尾に登録することによって、ハードディスク200のシーク方向がA(k)→A(n)→A(α)というように一定に保たれる。
【0056】
また、同じ側である場合には(ステップ610:yes)、並び換え部234は、並び換え部234は変数yをnから1ずつ減少するパラメータとして、キュー内の読み出し要求R(y)1つずつを対象として以下の処理を行う。
まず、R(y)の直前にR(α)を挿入してもシーク方向を一定に保って、かつ、R(y)の限界許容遅延時間を守れるかどうかを調べる。図6(b)にこの様子を表す模式図を示す。より詳しくいうと、A(α)からみてA(y)とA(n)とが同じ方向にあって、flg(y)がOFF、かつ、P(y)≧t(α)である場合には(ステップ614:yes、615:no、616yes)、R(y)の直前にR(α)を挿入可能であると判断する。また、R(y)の限界許容遅延時間を守れない(P(y)≧t(α)でない)場合には(ステップ616:no)、flg(n)をONにしてから(ステップ617)、R(α)をキューの末尾に登録する(ステップ618、619)。ここでflg(n)をONにしているのは、末尾に登録したR(α)を除く全てのキュー内の読み出し要求を並び換えの対象外にするためと、R(α)の次からシーク方向を逆にするためである。
【0057】
ついで、直前に挿入可能と判断された場合(ステップ616:yes)、さらに変数y=y−1と更新することにより1つ前の読み出し要求に対して(ステップ620)、A(α)からみてA(y)とA(n)とが同じ方向にあるか否かを判定するすることにより、R(α)をR(y)の直前に挿入してもシーク方向を保てるかどうかを判定する。シーク方向を保てると判定された場合には(ステップ614:yes)、ステップ615以降の処理を上記と同様に行う。シーク方向を保てないと判定された場合には(ステップ614:no)、R(α)をR(y)の直後に挿入する(ステップ621、622)。図6(c)に、この場合の様子を表す模式図を示す。
【0058】
以上のように構成された本発明のディスク制御装置について、以下その動作を説明する。
今、図7(a)のように、キューテーブル211、許容遅延データテーブル221内に既に読み出し要求R(1)−R(5)が保持されているものとする。同図の例では、全ての読み出し要求の限界許容遅延時間を300mS、データサイズを64kバイトとし、また、ハードディスク200の最大シーク時間を20mS、最大回転待ち時間を11.2mS、最大データ転送速度を5.5Mバイト、最小データ転送速度を2.7Mバイト、シリンダ数2000であるものとする。この場合、各読み出し要求の読出時間t(x)は64kバイト/2.7Mバイト+11.2mS=約35mSとなる。
【0059】
この状態で、新たに読み出し要求R(6)が並び換え制御部203に入力されると、読出時間計算部231により読み出し時間t(6)=35mSが計算され、トラック位置計算部232によりトラック位置A(6)が計算される。ここで計算されたA(6)は300であるものとする。この読み出し要求R(6)は、図6(a)に示したように、末尾のA(5)からみてA(6)とA(2)とが同じ方向にないので、キューの末尾に登録される。登録された結果を図7(b)に示す。 さらにこの状態で新たに読み出し要求R(7)が並び換え制御部203に入力されると、同様にt(7)=35mSが計算される。またA(7)=1300と計算されたものとする。この読み出し要求R(7)については、並び換え部234によって、末尾のA(6)からみてA(7)(=1300)とA(2)(=2000)とが同じ方向に同じ方向にあると判定される(図5ステップ610)。さらに、キューのどの位置にR(7)を挿入できるかを判定するため、A(7)(=1300)からみてA(y)とA(6)(=500)とが同じ方向にあるかどうかが判定される。ここで、y=6、5、4のときは、図6(b)に示したように、同じ方向にあってかつ許容遅延データP(y)がt(7)よりも大きいので(ステップ614−616、620のループを3度回る)、R(y)の直前に挿入可能と判定される。
【0060】
さらにy=3のときは、図6(c)に示したように、A(7)(=1300)からみてA(3)(=1500)とA(6)(=500)とが同じ方向にないので(図5ステップ614)、R(7)をR(3)の直後に挿入すると決定される(ステップ621)。R(7)がR(3)の直後に挿入された状態を図7(c)に示す。この場合、R(7)をR(3)の直後に挿入しても、R(6)−R(4)のそれぞれの限界許容遅延時間を守れることは、上記の3回のループ処理により確認されている。また、シーク方向が一定に保てる位置に挿入されるので、ディスクの読み出し効率を向上させている。
【0061】
さらに補足的にディスク制御装置の性能限界について説明する。例えば図7(c)の状態では、さらに読み出し要求R(8)が入力されたとする。このとき、P(7)=21mS、t(8)=35mSなので、P(7)≧t(8)を満たさないので(ステップ616:no)、R(8)はキューの末尾に登録されることになる。このときP(8)は0より小さくなる。その結果R(8)は限界許容遅延時間を満足できないことになる。限界許容遅延時間を満足できないのは、ディスク制御装置の性能を越えて多数の読み出し要求が入力されたことを意味する。ディスクの読出効率を向上させることはディスク装置の性能を向上させることになる。
【0062】
以上説明してきたように本発明のディスク制御装置によれば、個々の読み出し時間毎の限界許容遅延時間を満足させながら、ディスクの読出効率を向上させることができる。
図8は、本発明のディスク制御装置と従来のディスク制御装置の両者について、使用率−廃棄率特性をシミュレーションした結果を示す。同図において、横軸の「使用率」は、64kバイトデータをランダムに連続して読み出したデータ取得量を1.0とした場合の、読み出しデータ量の割合を示す。このデータ取得量(使用率=1.0)は、ハードディスク200の平均データ転送時間、平均回転待ち時間、平均シーク時間をそれぞれTtransmit、Twait、Tseekで表した場合、次式により与えられる。
【0063】
【数4】
【0064】
また、縦軸の「廃棄率」は、限界許容遅延時間を越えて処理されたため、読出後にデータが廃棄された読み出し要求の割合を表す。同図のように、本発明のディスク制御装置は、従来技術に比べて廃棄率が2桁から4桁小さくなっており(100分の1〜10000分の1に小さくなっており)、ディスクの読出効率が向上していることがわかる。
【0065】
以下、本発明の第2実施例を説明する。図9は、第2実施例におけるディスク制御装置の構成を示すブロック図である。図1と同じ構成要素は同じ番号を付与して説明を省略し、異なる点のみ説明する。
図9のディスク制御装置は、第1実施例の並び換え制御部203の代わりに並び換え制御部1003を備える点が異なり、第1実施例と同様の読み出し要求(以下通常要求と呼ぶ)に加えて、優先的に読み出す必要がある優先要求を受け付ける点が異なる。ここで、優先要求は、限界許容遅延時間が短いが、廃棄が許される要求である。例えば、ビデオサーバにおいてユーザが早送りや逆再生を指示した場合には、ユーザに供給すべきデータは、多少の欠落してもよいが遅延時間は小さくする必要がある。この様な場合に優先要求が用いられる。また、通常要求は、優先要求に比べると限界許容遅延時間が長く、廃棄を最小限に押さえる必要がある要求である。ビデオサーバにおいては通常再生に相当する。
【0066】
図9において、並び換え制御部1003は、通常要求に加えて優先要求を受け付けて、キューに既に保持された読み出し要求の限界許容遅延時間を満たすキュー位置に登録する点は、第1実施例と同様である。このとき登録すべきキュー位置において、優先要求の限界許容遅延時間を満たせない場合には、その優先要求を廃棄する。
【0067】
図10は、並び換え制御部1003の詳細な構成を示す。同図において優先要求判定部1101、並び換え部1102以外は第1実施例と同じであるので説明を省略する。
優先要求判定部1101は、読み出し要求が入力される毎に、それが優先要求であるか通常要求であるかを判定し、並び換え部1102に通知する。例えば、150mSというしきい値を保持しておき、限界許容遅延時間が150mS以下であれば優先要求、それより大きければ通常要求と判定する。
【0068】
並び換え部1102は、通常要求については第1実施例と全く同じであるが、優先要求についてはその限界許容遅延時間を満足できない場合には廃棄する。並び換え部1102の詳細な処理内容は、図5に示したフローチャートのステップ614とステップ621の間に図11に示す処理を追加したものとなる。
図11において、並び換え部1102は、ステップ614の続いて、優先要求判定部1101により読み出し要求R(α)が優先要求であると判定された場合には(ステップ121:yes)、キュー内の読み出し要求R(y)の読み出しが完了するまでの時間t1(y)がその優先要求の限界許容遅延時間T1(α)より大きいときには(ステップ122:yes)、R(y)の直後にR(α)登録し(ステップ621)、小さいときにはR(α)を廃棄する(ステップ123)。ここで、要求R(y)の読み出しが完了するまでの時間t1(y))は、次式により計算される。
【0069】
【数5】
【0070】
上記のように並び換え部1102は、優先要求についてキュー内の挿入すべき位置を通常要求と同様にして決定し、その限界許容遅延時間が満足できない場合には廃棄する。これにより通常要求と優先要求とをその要求される品質に応じて処理することができる。
なお、上記第1、第2実施例では、シーク方向が一定になるように並び換えを行っているが、隣接する読み出し要求のトラック位置の間隔が小さい場合には部分的にシーク方向を逆行させるように並び換えてもよい。例えば、逆行が許されるトラック位置の間隔が5以内とする場合、offsetを5として図5のステップ614を次のように変更すればよい。
【0071】
【数6】
この式の何れかを満たす場合にはステップ615へ進み、何れも満たさない場合にはステップ621へ進む。
第1実施例では全ての限界許容遅延時間を300mSとして説明したが、個々の読み出し要求毎に異なる限界許容遅延時間を有していても構わない。その場合でも(1)式に示したように、個々の読み出し要求の限界許容遅延時間T(x)に基づいて許容遅延データP(x)を計算しているので、個々の読み出し要求の限界許容遅延時間を満たすことができる。
【0072】
第2実施例において優先要求判定部1101は、限界許容遅延時間としきい値との大小を比較することにより優先要求か通常要求かを判定したが、読み出し要求内に優先であるか通常であるかを示す情報(例えばフラグ)を持たせ、その情報により判定するようにしてもよい。
【0073】
【発明の効果】
以上説明したように、請求項1の発明によれば、並び換え制御手段は、読み出し要求が入力される毎に、許容時間保持手段内の許容時間に基づいて、入力された読み出し要求とともにキュー手段内の読み出し要求を並び換える。これにより、読み出し要求が入力される毎にキューの並び換えを行うのでアクセス効率がよくなり、しかも、最大の限界許容遅延時間内のデータを出力することができる。特に動画や音声データに対してアクセス効率を向上させるとともに、リアルタイム性を確保することができるという効果がある。
【0074】
加えて、新たにキューに追加された読み出し要求については、許容時間保持手段に許容時間を新たに設定し、元々キューにあった読み出し要求で順位が後順位に変更されたものについては、許容時間を更新するので、許容時間保持手段の各許容時間は、キューに新たな読み出し要求が追加された時点で必要なものだけを更新することができるという効果もある。
【0075】
更に、入力された読み出し要求の許容時間は、前記許容時間算出手段内の第1の算出手段および第2の算出手段により算出される。
請求項2の発明によれば請求項1の効果に加えて、ディスクのヘッドシーク方向を一定に保つことによるアクセス効率の向上を図ることができる。
【0076】
請求項3の発明によれば請求項2と同様の効果がある。請求項4の発明によれば請求項1の効果に加えて、比較的小さい距離のヘッドシーク逆行を許してディスクのヘッドシーク方向をほぼ一定に保つことによるアクセス効率の向上を図ることができる。請求項5の発明によれば請求項4と同様の効果がある。
【0077】
請求項6の発明によれば請求項3又は5と同様の効果がある。請求項7の発明によれば請求項6の効果に加えて、許容時間をより高い精度で計算することができる。請求項8の発明によれば請求項7の効果に加えてに、限界許容遅延時間は、画一的に処理することができる。
【0078】
請求項9の発明によれば請求項8と同様の効果がある。請求項10の発明によれば請求項7の効果に加えて、読み出し要求毎に限界許容遅延時間が異なっている場合でも、それぞれの許容時間が順守されるので、読み出し要求毎に必要とされるデータ品質に応じて効率的に読み出すことができる。
【0079】
請求項11の発明によれば請求項10の効果に加えて、廃棄される可能性が高いけれども短い遅延時間で優先要求が出力されるので、例えばディスク上のデータが映画を表す場合に、早送りや逆戻しを優先要求とすれば、要求されるデータ品質を満たして効率よくデータを読み出すことができる。請求項12の発明によれば請求項9又は11の効果に加えて、方向判定手段が禁止フラグを用いて判定することによって、入力された読み出し要求を挿入すべき位置の判定を迅速に行うことができる。
【0080】
請求項13の発明によれば請求項12の効果に加えて、入力された読み出し要求がキューの末尾にしか追加できないことを迅速に判定することができる。請求項14の発明によれば請求項1乃至13の何れかの効果に加えて、リアルタイム性を要求されるビデオサーバにおいて、動画や音声を含むマルチメディアデータを、動画や音声を途切らせることなく効率よく読みだすことができる。
【図面の簡単な説明】
【図1】本発明の実施例におけるディスク制御装置の概略構成を示すブロック図である。
【図2】同実施例における読み出し要求がキューとして管理される様子を示す模式図である。
【図3】同実施例におけるディスク制御装置の詳細構成を示すブロック図である。
【図4】(a) キューテーブルを示す図である。
(b) 許容遅延データテーブルを示す図である。
【図5】並び換え処理を示す詳細なフローチャートを示す。
【図6】(a)〜(c) 並び換えの様子を示す模式図である。
【図7】(a)〜(c) キューテーブル、許容遅延データテーブルの具体例を示す。
【図8】本発明によるディスク装置と従来のディスク装置の両者について、使用率−廃棄率特性をシミュレーションした結果を示す。
【図9】第2実施例のディスク制御装置の構成を示すブロック図である。
【図10】並び換え制御部の詳細構成を示すブロック図である。
【図11】並び換え制御部の処理を表すフローチャートである。
【図12】従来のディスク装置の構成を示すブロック図である。
【符号の説明】
200 ハードディスク
201 キュー管理部
202 許容遅延データ管理部
203 並び換え制御部
211 キューテーブル
212 読出制御部
221 許容遅延データテーブル
222 限界許容遅延時間計算部
231 読出時間計算部
232 トラック位置計算部
233 シーク時間計算部
234 並び換え部[0001]
[Industrial applications]
The present invention relates to a disk control device in which a seek time is reduced for a randomly generated read request to improve read processing performance, and in particular, to processing a read request generated at a constant speed in real time. It relates to a disk controller used for a video server that requires it.
[0002]
[Prior art]
2. Description of the Related Art In recent years, a video server provided with a disk device for storing multimedia data including video data and audio data and supplying data to a plurality of users connected via a communication line has been put to practical use. The data supplied from the video server allows the user to watch the desired movie when he wants to watch it.
[0003]
In a video server, it is necessary to output data to a plurality of users in real time, and a technology for efficiently reading data on a disk is required. As a technology for efficiently reading a disk device, there is a technology for changing the data reading order so that the head seek direction of the disk device is constant.
FIG. 12 is a block diagram showing a configuration of a conventional disk control device. In FIG. 1, the disk control device includes a
[0004]
The
The
The rearrangement control unit 102 registers the read request once in the
[0005]
[Problems to be solved by the invention]
However, in the above-described conventional configuration, there is a problem that the delay time from when a read request is generated to when data is output varies.
More specifically, data output from the video server must be continuously output at predetermined time intervals so that the data can be reproduced as a moving image. If the next data is not output within a predetermined period of time, for example, the video is skipped or the sound is interrupted, and the movie cannot be normally reproduced. Therefore, the disk device has an allowable range of delay time from when a read request is issued to when data is output (hereinafter, referred to as a limit allowable delay time). The prior art does not consider this limit allowable delay time.
[0006]
For example, in the related art, if the fixed time (interval for rearranging) is set sufficiently shorter than the permissible delay time, data can be output within the permissible delay time.
However, in this case, the number of read requests to be rearranged is reduced, so that the effect of shortening the seek time is sacrificed, and there is a problem that reading cannot be performed efficiently. Conversely, if the certain time is set longer than the allowable time, the number of read requests to be rearranged increases, so that the effect of shortening the seek time can be sufficiently obtained. As a result, there is a problem that a read request to be moved to a position beyond the permissible delay time occurs.
[0007]
As described above, in the related art, there is a trade-off between improving the read efficiency of the disk and keeping the marginal allowable delay time. Therefore, it is difficult to set the above-mentioned fixed time appropriately especially when the read requests are generated continuously or in bursts.
In view of the above problems, an object of the present invention is to provide a disk control device that efficiently accesses while satisfying a marginal allowable delay time required from when a read request is issued to when data is output.
[0008]
[Means for Solving the Problems]
In order to solve the above problems, the invention of
1 The third isA disk control that holds a plurality of read requests as a queue, rearranges the read requests held together with the read requests each time a read request is input, sequentially retrieves the read requests from the queue, and outputs the requested data from the disk. A queue means for temporarily holding a read request for reading data from a disk as a rearrangeable queue; and a delay until completion of reading determined for each read request in the queue according to the order in the queue. A permissible time holding means for holding a permissible time indicating how much delay can be given to the time, and each time a read request is input, based on the permissible time of each read request in the queue. Reordering means for reordering read requests in the queue together with the input read requests And includes aIs a point.
[0009]
No. Two The structural features ofEach time the rearrangement is performed, for the input read request, the permissible time is calculated according to the rank in the queue and stored in the permissible time holding unit. A permissible time updating unit for updating each permissible time of the permissible time holding unit with respect to each read request changed to the rear rank to a value smaller by a delay time caused by the change of the rank.Is a point.
[0010]
The third structural feature is:Each time the queue is rearranged by the rearrangement control unit, the permissible time calculation unit advances the input read request from the inserted position in the queue to the beginning, and further takes out the data read from the disk. A first calculating means for calculating a delay time expected to be required, and a delay time from when the input read request is input to the rearrangement control means until the corresponding data is output from the disk. Second calculating means for calculating the allowable time for the input read request by subtracting the delay time calculated by the first calculating means from the maximum allowable delay time.Is a point.
[0011]
The invention of
[0012]
The invention of
[0013]
The invention of
[0014]
The invention of
[0015]
The invention of
[0016]
The invention of
[0017]
The invention of claim 8 is based on
[0018]
The invention of
[0019]
The invention of claim 12 is based on claim 9 or 11,The permissible time holding unit further holds, for each read request in the queue, a prohibition flag indicating that another read request cannot be inserted immediately before the queue and that the seek direction is reversed, The changing means determines whether the direction is determined to be in the same direction by the direction determining means, is determined to be 0 or less by the time determining means, and the position determining means determines that the end of the queue is to be inserted. Sets a prohibition flag corresponding to the read request immediately preceding the read request inserted at the end after rearrangement.
[0020]
The invention of claim 13 is based on claim 12,The rearrangement control unit further includes: when a read request is input, a prohibition flag in the allowable time holding unit is set, and a prohibition flag detection unit that detects a read request closest to the end of the queue; With respect to the track position of the read request, the track position of the input read request,By the prohibition flag detection meansDetermine whether or not the track position of the detected read request is in the same directionSame direction determination meansAnd the position determining means are the sameDirection determination meansWhen it is determined that the input request is not in the same direction, the input read request is determined as a position where the end of the queue is to be inserted, and the search means includes:Same direction determination meansWhen it is determined that they are in the same direction, the search is performed.
[0021]
The invention of claim 14 is the invention of
[0022]
[Action]
ContractIn the disk control device according to
[0023]
Moreover,Each time the rearrangement is executed, the permissible time calculating means calculates the permissible time for the input read request in accordance with the rank in the queue and stores the permissible time in the permissible time holding means. The permissible time updating unit updates each permissible time of the permissible time holding unit to a value smaller by a delay time caused by the change of the rank for each read request whose rank in the queue has been changed to the rear rank by the rearrangement. As a result, for a read request newly added to the queue, the allowable time is newly set in the allowable time holding means, and for a read request originally in the queue whose rank has been changed to a rear rank, the allowable time is set. Can be updated.
[0024]
further,The allowable time of the input read request is calculated by the first calculating means and the second calculating means in the allowable time calculating means.
In the disk control device according to the second aspect,Each time a read request is input, the search means searches for a position in the queue where the head seek direction of the disk can be kept constant when the input read request is inserted into the queue. The time determination means determines whether or not the permissible time becomes 0 or less for the position searched by the search means. The position determining means determines the searched position when it is determined that the allowable time does not become 0 or less as the position to be inserted. The rearranging means rearranges the read requests in the queue together with the input read requests so as to insert the input read requests at the determined positions.
[0025]
In the disk control device according to the third aspect,The queue means implements a logical queue by including the queue table. Each time the order is specified by the order specifying means, the direction determining means in the searching means sets the track position of the queue read request to the track position calculated by the track position calculating means. It is determined whether the track position of the rank read request is in the same direction. The rearranging means updates the order of the cue table so as to be inserted at the position determined by the position determining means, and also updates the track position calculated by the track position calculating means and the data transfer calculated by the data transfer time calculating means. The time is stored in the queue table in correspondence with the input read request.
[0026]
In the disk control device according to the fourth aspect of the present invention,The search means allows the head seek direction of the disc to be kept relatively constant by permitting head seek reversal of a relatively small distance every time a read request is input and the input read request is inserted into the queue. Find a position in the queue where you can. The time determination means determines whether or not the allowable time of the read request after the read request is 0 or less when the input read request is inserted at the searched position. The position determining means determines the searched position when it is determined that the allowable time does not become 0 or less as the position to be inserted. The rearranging means rearranges the read requests in the queue together with the input read requests so as to insert the input read requests at the determined positions. As a result, the head seek can be maintained in a substantially constant direction while allowing the head seek backward for several tracks before and after without allowing the allowable time to become zero. That is, the backward movement can be permitted only when the track positions are extremely close.
[0027]
In the disk control device according to the fifth aspect of the present invention,The queue means implements a logical queue by including the queue table. Each time the order is specified by the order specifying means, the direction determining means compares the track position of the tail read request of the queue with the track position calculated by the track position calculating means and the read request of the specified order. It is determined whether any of several tracks before and after the track position is in the same direction.
[0028]
In the disk control device according to the sixth aspect of the present invention,The time determining means, when it is determined by the direction determining means that they are in the same direction, subtracts the data transfer time from the allowable time corresponding to the read request of the order specified by the order specifying means, and the subtraction result is 0 or less. Is determined. The position deciding means, when it is judged by the direction judging means to be in the same direction, and when it is judged by the time judging means that it does not become 0 or less, the direction judging means Are determined not to be in the same direction, the position between the read requests of the two orders is determined as the position where the input read request is to be inserted.
[0029]
In the disk control device according to the seventh aspect of the present invention,The first calculating means calculates the delay time by adding the data transfer time and the seek time of all read requests of the first priority in the queue table. The permissible time updating unit updates each permissible time of the permissible time holding unit to a value smaller by the data transfer time for each read request whose rank in the queue has been changed to the rear-rank by the rearrangement. As a result, the allowable time can be calculated with high accuracy.
[0030]
In the disk control device according to the eighth aspect of the present invention,As the limit allowable delay time, a value common to all read requests is predetermined. As a result, the limit allowable delay time is uniformly processed. In the disk control apparatus according to the eleventh aspect of the present invention, in the disk control device according to the tenth aspect, the position determining means is determined by the direction determining means to be in the same direction, and is determined to be 0 or less by the time determining means. In this case, the end of the queue is determined as the position to be inserted.
[0031]
In the disk control device according to the tenth aspect,The limit allowable delay time is included in an input read request.
In the disk control apparatus according to the eleventh aspect,The read request includes a priority request that has a short maximum allowable time and may be discarded, and other requests. The position determining means determines that the end of the queue is to be inserted when the direction determining means determines that the directions are in the same direction, and when the time determining means determines that the value is 0 or less. The discard determination unit adds the data transfer time and seek time of all read requests in the queue table when the priority request determination unit determines that the request is a priority request and the position determination unit determines that the request is inserted at the end. If the added result is longer than the maximum allowable time of the priority request, it is determined that the request is discarded. The discarding unit discards the priority request determined to be discarded by the discarding determining unit, and prohibits the operation of the rearrangement control unit for the priority request. And As a result, the priority request is output with a short delay time, but the possibility of being discarded increases. For example, when the data on the disk represents a movie, if fast-forward or reverse is used as the priority request, there are two types of priority requests. And the data can be efficiently read out.
[0032]
In the disk control device according to the twelfth aspect,The permissible time holding unit further holds, for each read request in the queue, a prohibition flag indicating that another read request cannot be inserted immediately before the queue and that the seek direction is reversed. The rearranging means is determined by the direction determining means to be in the same direction, is determined to be 0 or less by the time determining means, and is determined by the position determining means to be a position where the end of the queue is to be inserted. In this case, a prohibition flag corresponding to the read request immediately preceding the read request inserted at the end after the rearrangement is set. This makes it possible to quickly determine the position where the input read request is to be inserted.
[0033]
According to a thirteenth aspect of the present invention, there is provided a disk control apparatus according to the twelfth aspect, whereinMeans that when the read request is input, the prohibition flag in the permissible time holding means is set and the prohibition flag detection means for detecting the read request closest to the end of the queue, and the track position of the end read request Then, it is determined whether or not the track position of the input read request and the track position of the detected read request are in the same direction. The position determining means,Same direction determination meansWhen it is determined that the read request is not in the same direction, the input read request is determined as the position where the tail of the queue should be inserted. Further, the search means includes:Same direction determination meansWhen it is determined that they are in the same direction, the search is performed. This makes it possible to quickly determine that the input read request can only be added to the end of the queue.
[0034]
In the disk control apparatus according to the fourteenth aspect, the disk control apparatus according to any one of the first to thirteenth aspects is used for a video server, and the limit allowable delay time is a delay time required for real-time reproduction on the user side of the video server. It is. As a result, in a video server that requires real-time processing, multimedia data including moving images and audio can be efficiently read out without interrupting moving images and audio.
[0035]
【Example】
FIG. 1 is a block diagram illustrating a schematic configuration of a disk control device according to an embodiment of the present invention. In FIG. 1, the disk control device includes a
[0036]
The
The
[0037]
The allowable delay
[0038]
The
Although not shown in FIG. 1, a user management unit that supplies a read request to the
[0039]
FIG. 3 is a block diagram showing a more detailed configuration of the disk control device. As shown in the drawing, the
[0040]
The queue table 211 is a table for managing read requests logically as queues. FIG. 4A shows a configuration example of the queue table 211. As shown in the figure, the queue table 211 stores an order x, a read time t (x), a track position A (x), and a seek time S (x) corresponding to each read request R (x) in the queue. I do. Here, “order x” indicates the order of the read request in the queue. 1 indicates the head of the queue, and the maximum value n indicates the end of the queue. This n is also the queue length. Here, the “read time t (x)” is the time required to read and output the data corresponding to the read request R (x) on the
[0041]
The
[0042]
The allowable delay data table 221 is a table that holds the allowable delay data P (x) for each read request R (x) in the queue table 211. FIG. 4B shows a configuration example of the allowable delay data table 221. As shown in the figure, the permissible delay data table 221 stores permissible delay data P (x) and a prohibition flag flg (x) corresponding to each read request R (x) in the queue. Here, the “permissible delay data P (x)” indicates a permissible time indicating how far the read request R (x) can be delayed. If the “prohibition flag flg (x)” is ON, it indicates that a new request cannot be inserted before the request R (x) and that the seek direction is reversed before and after the read request. Represent.
[0043]
Each time a read request is added to the queue table 211 by the
[0044]
(Equation 1)
[0045]
Here, T (x) indicates the limit allowable delay time of the read request R (x).
[0046]
(Equation 2)
[0047]
Formula (2) is to subtract the read time t (α) of the added read request from each P (x) for the read requests that are lower in rank than the added read request, and to calculate the value as P (x) Means to update. In addition, in Equation (2), in order to simplify the calculation, the effect on the seek time S (x) by adding the read request R (α) is not considered. For this effect is negligible. In this way, P (x) of the queue table 211 is newly calculated when a read request is added to the queue, and thereafter, when a rank is changed to a rear rank, a delay caused by a change in rank is generated. It will be updated to a value smaller by time.
[0048]
When a new read request R (α) is input to the
[0049]
When a new read request R (α) is input to the
[0050]
(Equation 3)
[0051]
Each time the
[0052]
The
[0053]
Further, the
[0054]
If they do not match (step 609: no), the rearranging
[0055]
As a result, if not on the same side (step 610: no), as shown in FIG. 6A, the read request R (α) is registered at the end of the queue (step 611), and the limit allowable delay
[0056]
If they are on the same side (step 610: yes), the
First, it is checked whether or not the seek direction can be kept constant even if R (α) is inserted immediately before R (y) and the limit allowable delay time of R (y) can be maintained. FIG. 6B is a schematic diagram showing this state. More specifically, when A (y) and A (n) are in the same direction as viewed from A (α), flg (y) is OFF, and P (y) ≧ t (α) (Step 614: yes, 615: no, 616yes), it is determined that R (α) can be inserted immediately before R (y). If the limit allowable delay time of R (y) cannot be maintained (P (y) ≧ t (α)) (step 616: no), flg (n) is turned on (step 617), R (α) is registered at the end of the queue (steps 618 and 619). The reason why flg (n) is turned ON is that read requests in all queues except for R (α) registered at the end are excluded from rearrangement, and seeks are performed after R (α). This is to reverse the direction.
[0057]
Next, when it is determined that the data can be inserted immediately before (step 616: yes), the variable y is updated to y = y-1, and the immediately preceding read request (step 620) is viewed from A (α). By determining whether A (y) and A (n) are in the same direction, it is determined whether the seek direction can be maintained even if R (α) is inserted immediately before R (y). . If it is determined that the seek direction can be maintained (step 614: yes), the processing after step 615 is performed in the same manner as described above. If it is determined that the seek direction cannot be maintained (step 614: no), R (α) is inserted immediately after R (y) (steps 621 and 622). FIG. 6C is a schematic diagram showing the situation in this case.
[0058]
The operation of the disk controller of the present invention configured as described above will be described below.
Now, it is assumed that the read requests R (1) to R (5) are already held in the queue table 211 and the allowable delay data table 221 as shown in FIG. In the example shown in the figure, the limit allowable delay time of all read requests is 300 mS, the data size is 64 kbytes, the maximum seek time of the
[0059]
In this state, when a new read request R (6) is input to the
[0060]
Further, when y = 3, as shown in FIG. 6C, A (3) (= 1500) and A (6) (= 500) are in the same direction when viewed from A (7) (= 1300). (Step 614 in FIG. 5), it is determined that R (7) should be inserted immediately after R (3) (step 621). FIG. 7C shows a state where R (7) is inserted immediately after R (3). In this case, even if R (7) is inserted immediately after R (3), it is confirmed by the above-described three loop processes that the respective marginal allowable delay times of R (6) -R (4) can be maintained. Have been. Further, since the disc is inserted at a position where the seek direction can be kept constant, the reading efficiency of the disc is improved.
[0061]
Further, the performance limit of the disk control device will be further described. For example, in the state of FIG. 7C, it is assumed that a read request R (8) is further input. At this time, since P (7) = 21 mS and t (8) = 35 mS, P (7) ≧ t (8) is not satisfied (step 616: no), and R (8) is registered at the end of the queue. Will be. At this time, P (8) becomes smaller than 0. As a result, R (8) cannot satisfy the limit allowable delay time. Failure to satisfy the limit allowable delay time means that many read requests have been input beyond the performance of the disk controller. Improving the read efficiency of the disk will improve the performance of the disk device.
[0062]
As described above, according to the disk control device of the present invention, it is possible to improve the disk reading efficiency while satisfying the limit allowable delay time for each reading time.
FIG. 8 shows the results of simulating the usage rate / discard rate characteristics of both the disk controller of the present invention and the conventional disk controller. In the figure, the “usage rate” on the horizontal axis indicates the ratio of the amount of read data when the amount of data obtained by continuously reading 64 kbytes of data is 1.0. This data acquisition amount (use rate = 1.0) is given by the following equation when the average data transfer time, average rotation wait time, and average seek time of the
[0063]
(Equation 4)
[0064]
The “discard rate” on the vertical axis represents the rate of read requests in which data was discarded after reading because the processing was performed beyond the permissible delay time. As shown in the figure, in the disk control device of the present invention, the discard rate is reduced by two to four orders of magnitude compared to the prior art (reduced to 1/100 to 1 / 10,000). It can be seen that the reading efficiency has been improved.
[0065]
Hereinafter, a second embodiment of the present invention will be described. FIG. 9 is a block diagram illustrating a configuration of a disk control device according to the second embodiment. The same components as those in FIG. 1 are denoted by the same reference numerals and the description thereof will be omitted.
The disk control device of FIG. 9 is different from the first embodiment in that a
[0066]
In FIG. 9, the
[0067]
FIG. 10 shows a detailed configuration of the
Each time a read request is input, the priority
[0068]
The
In FIG. 11, after the step 614, if the read request R (α) is determined to be a priority request by the priority request determination unit 1101 (step 121: yes), the
[0069]
(Equation 5)
[0070]
As described above, the
In the first and second embodiments, the rearrangement is performed so that the seek direction is constant. However, when the interval between adjacent read request track positions is small, the seek direction is partially reversed. May be rearranged as follows. For example, if the interval between the track positions where the backward movement is allowed is within 5, the offset may be set to 5 and the step 614 in FIG. 5 may be changed as follows.
[0071]
(Equation 6)
If any of the expressions is satisfied, the process proceeds to step 615; otherwise, the process proceeds to step 621.
In the first embodiment, all the permissible delay times have been described as 300 mS, but different read requests may have different permissible delay times. Even in that case, as shown in the equation (1), the allowable delay data P (x) is calculated based on the limit allowable delay time T (x) of each read request. The delay time can be satisfied.
[0072]
In the second embodiment, the priority
[0073]
【The invention's effect】
As described above, according to the first aspect of the present invention, each time a read request is input, the rearrangement control unit sets the queue unit together with the input read request based on the allowable time in the allowable time holding unit. Rearrange the read requests in the list. Thus, the queue is rearranged each time a read request is input, so that access efficiency is improved, and data within the maximum allowable delay time can be output. In particular, it has the effect of improving access efficiency to video and audio data and ensuring real-time performance..
[0074]
In addition, for a read request newly added to the queue, a new allowable time is set in the allowable time holding means, and for a read request originally in the queue whose rank is changed to a lower rank, the allowable time is changed. UpdateSoEach permissible time of the permissible time holding means can be updated only when necessary when a new read request is added to the queue.There is also an effect.
[0075]
Furthermore,The allowable time of the input read request is calculated by the first calculating means and the second calculating means in the allowable time calculating means.
According to the invention of
[0076]
According to the invention of
[0077]
According to the invention of
[0078]
According to the invention of claim 9, claim 8Has the same effect as.According to the tenth aspect, the seventh aspect is provided.In addition to the effect of the above, even when the marginal allowable delay time differs for each read request, the respective allowable time is observed, so that it is possible to read efficiently according to the data quality required for each read request. it can.
[0079]
According to the invention of claim 11, claim 10In addition to the effects ofhand,Since the priority request is output with a short delay time although it is highly likely to be discarded, if the data on the disc represents a movie, for example, if fast-forward or reverse is a priority request, the required data quality is satisfied. Data can be read out efficiently.According to the invention of claim 12, claim 9 or 11In addition to the effect described above, the direction determining means makes a determination using the prohibition flag, whereby the position where the input read request is to be inserted can be quickly determined.
[0080]
According to the invention of claim 13, claim 12In addition to the effect described above, it is possible to quickly determine that the input read request can be added only to the end of the queue.According to the invention of claim 14, claims 1 to 13In addition to the effects of any of the above, in a video server that requires real-time processing, multimedia data including moving images and audio can be efficiently read out without interrupting moving images and audio.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating a schematic configuration of a disk control device according to an embodiment of the present invention.
FIG. 2 is a schematic diagram illustrating a state in which a read request is managed as a queue in the embodiment.
FIG. 3 is a block diagram showing a detailed configuration of a disk control device in the embodiment.
FIG. 4A shows a queue table.
(B) is a diagram showing an allowable delay data table.
FIG. 5 is a detailed flowchart showing a rearrangement process.
FIGS. 6A to 6C are schematic diagrams showing a state of rearrangement.
7A to 7C show specific examples of a queue table and an allowable delay data table.
FIG. 8 shows the results of simulating the usage rate-discard rate characteristics of both the disk device according to the present invention and the conventional disk device.
FIG. 9 is a block diagram illustrating a configuration of a disk control device according to a second embodiment.
FIG. 10 is a block diagram illustrating a detailed configuration of a rearrangement control unit.
FIG. 11 is a flowchart illustrating a process of a rearrangement control unit.
FIG. 12 is a block diagram showing a configuration of a conventional disk device.
[Explanation of symbols]
200 hard disk
201 Queue management unit
202 Allowable delay data management unit
203 Rearrangement control unit
211 queue table
212 read control unit
221 Allowable delay data table
222 Limit allowable delay time calculator
231 Read time calculation unit
232 Track position calculation unit
233 seek time calculator
234 Rearranger
Claims (14)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP14202495A JP3575870B2 (en) | 1994-06-10 | 1995-06-08 | Disk controller |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP12894694 | 1994-06-10 | ||
JP6-128946 | 1994-06-10 | ||
JP14202495A JP3575870B2 (en) | 1994-06-10 | 1995-06-08 | Disk controller |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH0855055A JPH0855055A (en) | 1996-02-27 |
JP3575870B2 true JP3575870B2 (en) | 2004-10-13 |
Family
ID=26464507
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP14202495A Expired - Lifetime JP3575870B2 (en) | 1994-06-10 | 1995-06-08 | Disk controller |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3575870B2 (en) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10275059A (en) * | 1996-04-30 | 1998-10-13 | Matsushita Electric Ind Co Ltd | Storage device controller and management system |
JP3712567B2 (en) * | 1999-07-23 | 2005-11-02 | 富士通株式会社 | Storage device |
US6473809B1 (en) * | 1999-08-03 | 2002-10-29 | Matsushita Electric Industrial Co., Ltd. | Scheduling method and apparatus for network-attached storage devices and other systems |
JP2008250961A (en) | 2007-03-30 | 2008-10-16 | Nec Corp | Storage medium control device, data storage device, data storage system, method and control program |
JP6039345B2 (en) * | 2012-10-05 | 2016-12-07 | キヤノン株式会社 | Image management apparatus, image management method, and program |
WO2014103014A1 (en) * | 2012-12-28 | 2014-07-03 | 株式会社日立製作所 | Relay device and relay method |
-
1995
- 1995-06-08 JP JP14202495A patent/JP3575870B2/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH0855055A (en) | 1996-02-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP0936615B1 (en) | Disk use scheduling and non-linear video editing systems | |
US6408359B1 (en) | Storage device management system and method for distributively storing data in a plurality of storage devices | |
US7580610B2 (en) | Hierarchical storage scheme and data playback scheme for enabling random access to realtime stream data | |
US5828902A (en) | Disc control device having reduced seek time by scheduling disc read requests | |
US10659504B2 (en) | System and method for client-initiated playlist shuffle in a media content environment | |
JP2002197046A (en) | Method for providing time limit and priority level at the same time for service quality of disk i/o subsystem | |
CN110457305B (en) | Data deduplication method, device, equipment and medium | |
CN102521279A (en) | Playing method, playing system and player of streaming media files | |
CN111309650A (en) | Cache control method, device, storage medium and equipment | |
JPH10162507A (en) | Video server scheduling for simultaneous read-write request | |
JP3575870B2 (en) | Disk controller | |
JPH10124396A (en) | Buffer exchanging method | |
CN109862423B (en) | Video seek method, device, terminal and computer readable storage medium | |
JP2000259468A (en) | Method and device for buffer cache in file system | |
JPH08152976A (en) | Access method for storage device | |
WO2024146330A1 (en) | Video storage method and video playback method | |
JP2004334459A (en) | Recording and reproduction device, method, and program | |
EP1362290A1 (en) | Device and method for managing the access to a storage medium | |
Aref et al. | Disk scheduling in video editing systems | |
US6678469B1 (en) | Recorded information reproducing apparatus | |
JPH04284529A (en) | Optical disk access device | |
JP2001118365A (en) | System and method for managing storage hierarchy and recording medium with storage hierarchical management program recorded thereon | |
JP2008109188A (en) | Content distribution system, peer, and center server | |
JP2004326957A (en) | File system for recording and reproducing moving image | |
JP3583814B2 (en) | file server |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040615 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040706 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20070716 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080716 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090716 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100716 Year of fee payment: 6 |