JP3809674B2 - Disk control method and apparatus - Google Patents

Disk control method and apparatus Download PDF

Info

Publication number
JP3809674B2
JP3809674B2 JP26421996A JP26421996A JP3809674B2 JP 3809674 B2 JP3809674 B2 JP 3809674B2 JP 26421996 A JP26421996 A JP 26421996A JP 26421996 A JP26421996 A JP 26421996A JP 3809674 B2 JP3809674 B2 JP 3809674B2
Authority
JP
Japan
Prior art keywords
data
disk
gap
additional information
sub
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 - Fee Related
Application number
JP26421996A
Other languages
Japanese (ja)
Other versions
JPH10112137A (en
Inventor
泰信 加藤
卓志 戸塚
浩之 塩谷
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP26421996A priority Critical patent/JP3809674B2/en
Publication of JPH10112137A publication Critical patent/JPH10112137A/en
Application granted granted Critical
Publication of JP3809674B2 publication Critical patent/JP3809674B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、ディスク制御方法および装置に関し、例えば、ディスク上に配置されたデータのギャップの部分に他のデータを配置することにより、ディスクの使用効率を下げることなく、ランダムアクセス下におけるリアルタイム性を保証することができるようにしたディスク制御方法および装置に関する。
【0002】
【従来の技術】
動画像、音声などのマルチメディアデータ用のストレージは、しばしばマルチメディアサーバと呼ばれる。マルチメディアサーバには、高い転送速度とリアルタイム性が要求される。
【0003】
高い転送速度は、大量の動画像や音声を扱う上で当然必要となる。一方、リアルタイム性とは、処理時間の上限が保証されていることを意味する。例えば、動画像の場合、毎秒30枚の画像が、一定の間隔で次々に表示されないと、動きがぎこちなくなる。また、ディスクの能力が追い付かず、音声データが不足すると、音が途切れて不快なノイズを発する。
【0004】
このように、マルチメディアデータは、それぞれ特定の時刻に用意され、使用されないと情報としての価値が激減してしまう。従って、マルチメディアサーバにおいては、最悪の場合でもこれだけの時間で処理することができるという上限が保証されていることが重要である。このような性質をリアルタイム性と呼び、リアルタイム性が保証されていることは、マルチメディアの分野では欠かせない機能である。これは、従来のコンピュータ用のストレージにおいては、処理に要する平均時間の削減が第1の目標であり、必ずしも処理に要する時間の最悪値が低く抑えられていなかったこと、即ち、処理時間のばらつきが大きいこととは対照的である。
【0005】
マルチメディアデータは動画像のように連続していることに意味があるデータの集まりであるから、マルチメディアサーバにおいても物理的に連続な場所のデータを順にアクセスするシーケンシャルアクセスが主体になると想像しがちであるが、実際のアプリケーションを考えてみると意外とそうではないことがわかる。
【0006】
例えば、マルチメディアサーバの代表的なものとして、ノンリニア編集機やVOD(video-on-demand)サーバなどがある。ノンリニア編集機とは、ランダムアクセスにより読み出した画像の記憶場所が物理的に隔たりのある画像を瞬時に途切れることなくつなぎ合わせる編集方法である。また、VODとは、複数の視聴者の要求に従って、複数の異なるシーケンスの動画像をランダムアクセスしながら同時に提供するサービスである。どちらもランダムアクセスが発生することとなり、サーバはこれに対処しなければならない。
【0007】
このように、マルチメディアサーバにおいては、ランダムアクセス下におけるリアルタイム性の保証がいかに重要であるかがわかる。同時に、このことは、マルチメディアサーバを構成するディスク記憶装置単体に対する要求ともなる。つまり、ディスク記憶装置においても全く同様に、決められた時間内に記録面上の物理的に離れた場所のデータを次々と読み出すことができる、あるいは、書き込むことができることが必要である。
【0008】
ディスク記憶装置上の1つのサブブロック(データを分割したもの)をアクセスする時間Ti/oは、ディスクのヘッドがサブブロックの上を通過しながら実際に読み出しあるいは書き込みを行う時間Tr/w、ヘッドが所望のシリンダまで移動するシーク時間Tseek、ヘッドが所望のシリンダまで移動した後に、トラック内でサブブロックの先頭がヘッドの位置に現れるまでの回転待ち時間Trdの和で表される。
【0009】
i/o=Tr/w+Tseek+Trd
【0010】
このうち、Tseek+Trdがオーバヘッドタイムとなる。シーケンシャルアクセスの場合、このオーバヘッドタイムは限りなく0に近いが、ランダムアクセスの場合、オーバヘッドタイムが増大してディスクの性能を低下させる原因となる。
【0011】
オーバヘッドタイムの1つの要因であるシーク時間を減少させる従来技術としては、SCANアルゴリズムと呼ばれる方法がある。この方法は、図9(A)に示すように、複数のI/O(入出力(input/output))要求(#1、#2、#3、#4、#5)が与えられたとき、ディスクの半径方向にソートして、図9(B)に示すような順番(#3、#1、#2、#5、#4)に入れ替えて処理するアルゴリズムである。図9(A)に示すように、I/O要求の到着順に処理した場合において発生したであろうヘッドの往復動作を防ぐことができ、ひいては、それぞれのシーク時間を減少させることができる。
【0012】
一方、オーバヘッドタイムのもう1つの要因である回転待ち時間を減少させる技術としては、本願出願人が既に出願した「特願平7−282175」において、次のようなものが開示されている。即ち、サブブロックの先頭同士の円周方向の角度差であるスキューと、サブブロック内の先頭と末尾との角度差であるギャップを用いてサブブロックの配置を行い、SCANアルゴリズムと組み合わせてシーク時間と回転待ち時間を両方とも抑える方法である。図10は、スキューとギャップの値をそれぞれ一定とした場合のサブブロックの配置の一例を示している。
【0013】
このように、スキューの値を一定にすることにより、シーク動作中に所望のサブブロックの先頭がヘッドの位置を通り過ぎないように制御することができる。従って、所望のサブブロックにアクセスするときに、そのサブブロックの先頭が再びヘッドの位置に戻ってくるまでの回転時間だけ待つ必要がなくなる。これにより、回転待ち時間を減少させることができる。
【0014】
また、各サブブロックの先頭と末尾との角度差であるギャップが一定であるということは、実際に各サブブロックの読み出しあるいは書き込みをする時間Tw/rも一定であることを意味する。1回のI/Oにかかる時間を見積もるためには、時間Tr/wの他にオーバヘッドタイムが分からなくてはいけないが、これは図11に示すグラフより予測することができる。
【0015】
図11は、図10に示したように各サブブロックが配置されたディスクのオーバヘッドタイムを表している。横軸はシーク距離、即ち、ディスクのヘッドが移動するときに横切るシリンダ数を表しており、縦軸は最外周からそのシーク距離だけ移動した位置にあるサブブロックのI/Oにかかる時間を表している。一点鎖線がシーク時間Tseekであり、実線が全体のオーバヘッドタイムである。オーバヘッドタイムは、シーク時間Tseekと回転待ち時間Trdとの和であるから、実線と一点鎖線の差が回転待ち時間Trdということになる。
【0016】
「特願平7−282175」に開示された方法よりも以前の方法では、回転待ち時間を予測することができなかったので、オーバヘッドタイムの最大値を計算する場合、結局グラフの点線のように、一律に一回転分の回転待ち時間がかかるものとして計算されていた。このグラフから、図10に示したようなサブブロックの配置を行うことにより、オーバヘッドタイムの最大値が、点線で表した以前のものに比べて、実線で表したように小さく抑えられていることがわかる。
【0017】
さらに、図10に示したようなサブブロックの配置方法に対して、SCANアルゴリズムを適用することを考える。シリンダ方向(半径方向)では、図12に示すように、等間隔にあるサブブロックに対してI/O要求が発せられたとき、最も時間がかかることが分かっている。このときのシリンダ間隔Lavgは平均シーク距離であり、1回のスキャンにおけるトータルでのオーバヘッドタイムの最大値は、図11におけるシーク距離がLavgのときのオーバヘッドタイムから計算することができる。
【0018】
その値は、単にSCANアルゴリズムを適用しただけのときのそれより小さいだけでなく、実際に観測されるオーバヘッドタイムの最大値にも極めて近い。このことから、以上のようにして見積もった最大値をかなり信用できる指標として、マルチメディアサーバの設計に役立てることができる。
【0019】
【発明が解決しようとする課題】
図10に示したようなアロケーションを決定するパラメータとしては、スキュー(θskew)とギャップ(θgap)がある。このうち、スキューは比較的自由に設定することができるのに対し、ギャップの選択には制約があることが多い。これは、マルチメディアデータの場合、データのサイズが固定長であることが多いからである。
【0020】
例えば、1つのディスクにサイズが固定のサブブロックを配置する場合、サブブロックのセクタの数S、1トラックあたりのセクタの数Tより、ギャップの値は次式(1)より一意に決まる。
【0021】
θgap=(rT−S)/T×360° ・・・(式1)
ただし、rは、S≦rT<(S+T)を満足する自然数である。
【0022】
1ブロックのサイズが90セクタ、1トラックあたりのセクタ数が180セクタであるとすると、θgap=180°となる。このとき、スキューとギャップを用いた配置は、図13に示すようなものとなり、ディスク装置上の全記憶領域のうち、使用可能な領域はわずかに50パーセントとなってしまう。
【0023】
上記の例においては、ディスク装置を1つに限定したが、マルチメディアサーバは、大抵の場合、非常に大きな容量が要求されるので、複数のディスク装置からなるディスクアレイシステムとして実現される場合がある。さらに、その場合、1つのデータをn個のサブブロックに分割し、別々のディスク装置に格納し、読み出し時、あるいは書き込み時に、複数のディスク装置を並列にドライブすることにより、データ転送速度を上げることがよく行われる。
【0024】
このとき、データを分割する分割数nを変化させると、各ディスク装置上に配置されるサブブロックのサイズも変化するので、選択するギャップの値として、いくつかの候補が存在する。しかしながら、ギャップの値とマルチメディアサーバに要求されるデータ転送速度との関係や、ディスク装置の総数等からデータを分割する分割数nにも制約があり、ギャップの値を任意に決定することはできない。
【0025】
また、サブブロックのサイズをディスク装置の使用効率が上がるように設定し、データを配置するようにすることもできるが、そのようにして設定したサブブロックのサイズとアプリケーションが扱うサブブロックのサイズには不一致が生じるため、余計なI/Oを発生したり、回転待ちを制御することができなくなり、オーバヘッドタイムを増加させる原因となり、現実的ではない。
【0026】
本発明はこのような状況に鑑みてなされたものであり、スキューとギャップを設けてデータを配置する場合でも、ディスクの未使用領域を削減し、ディスク装置を効率的に使用することができるようにするものである。
【0027】
【課題を解決するための手段】
請求項1に記載のディスク制御方法は、第1のデータを分割した第2のデータを、ディスク上に第2のデータの先頭と末尾の角度差としてのギャップを設けて配置し、第2のデータが配置されないギャップの部分に、所定の付加情報を配置し、付加情報は、付加情報が配置されたディスク上に既にギャップを設けて配置された第2のデータのバックアップデータ、または、付加情報が配置されたディスクとは異なる他のディスク上に既にギャップを設けて配置された第2のデータのバックアップデータであることを特徴とする。
【0029】
請求項に記載のディスク制御装置は、第1のデータを分割した第2のデータを、ディスク上に第2のデータの先頭と末尾の角度差としてのギャップを設けて配置する配置手段と、第2のデータが配置されないギャップの部分に、所定の付加情報を配置する付加情報配置手段とを備え、付加情報は、付加情報が配置されたディスク上に既にギャップを設けて配置された第2のデータのバックアップデータ、または、付加情報が配置されたディスクとは異なる他のディスク上に既にギャップを設けて配置された第2のデータのバックアップデータであることを特徴とする。
【0031】
請求項1に記載のディスク制御方法においては、第1のデータを分割した第2のデータを、ディスク上に第2のデータの先頭と末尾の角度差としてのギャップを設けて配置し、第2のデータが配置されないギャップの部分に、所定の付加情報を配置する。この付加情報は、付加情報が配置されたディスク上に既にギャップを設けて配置された第2のデータのバックアップデータ、または、付加情報が配置されたディスクとは異なる他のディスク上に既にギャップを設けて配置された第2のデータのバックアップデータである。
【0033】
請求項に記載のディスク制御装置においては、配置手段が、第1のデータを分割した第2のデータを、ディスク上に第2のデータの先頭と末尾の角度差としてのギャップを設けて配置し、付加情報配置手段が、第2のデータが配置されないギャップの部分に、所定の付加情報を配置する。この付加情報は、付加情報が配置されたディスク上に既にギャップを設けて配置された第2のデータのバックアップデータ、または、付加情報が配置されたディスクとは異なる他のディスク上に既にギャップを設けて配置された第2のデータのバックアップデータである。
【0035】
【発明の実施の形態】
図1は、本発明のディスク制御装置を適用したマルチメディアサーバの一実施の形態の構成を示すブロック図である。各ブロックは、主要なプログラムモジュール、あるいは主要なデータ構造を表している。
【0036】
配置部(Block Allocator)1(配置手段、付加情報配置手段)は、入力されたフォーマットパラメータに基づいて、後述するブロックマップ(Block Map)3を作成するようになされている。フォーマットパラメータは、データの1ブロックの大きさS、データを分割する数n、および最適なスキュー値(θskew)などから構成されている。
【0037】
その他に、ディスク記憶装置(Disk)6−1乃至6−mの物理セクタアドレスから論理セクタアドレスに変換する処理が必要となるが、この実施の形態では、後述するSCSI(ANSI Small Computer System Interface)ドライバ5−1乃至5−mを介して、ディスク記憶装置6−1乃至6−mに直接問い合わせることにより、その変換を行うようになされている。なお、以下では、特に区別する必要がない場合、SCSIドライバ5−1乃至5−mを単にSCSIドライバ5と、また、ディスク記憶装置6−1乃至6−mを単にディスク記憶装置6と記載することにする。
【0038】
ディスク記憶装置6の論理セクタアドレスと物理セクタアドレスの関係については、図4を参照して後述する。
【0039】
配置部1は、データの配置を決定した後、ブロックマップ3を作成していく。ブロックマップ3は、図2に示したように、k(データの総数を越えない任意の自然数)番目のデータを分割して得られたn個のサブブロックをディスク上のどこに格納するかを示すものである。サブブロックの配置場所は、ディスク記憶装置番号Dki、ディスク記憶装置上の開始論理セクタアドレスLki、サブブロックを構成するセクタの数Skiより決定することができる。ここで、iは、1≦i≦nを満足する自然数である。
【0040】
データを連続的に読み出す、あるいは書き込むときは、まず、複数のデータのアクセス要求が発生し、それらの要求を識別する情報としてのデータの番号、データが置かれるデータバッファ(Data Buffer)4上でのアドレス、および読み出しか書き込みかを示すフラグがアクセス要求バッファ(Access Request Buffer)7に蓄えられる。
【0041】
スケジューラ(Scheduler)2(入れ替え手段)は、所定の時間にそれらの複数の情報をアクセス要求バッファ7より読み出し、ブロックマップ3を参照して、要求されているデータを構成するサブブロックの配置場所を調べるようになされている。配置場所は、ディスク記憶装置6、ディスク記憶装置6上での開始論理セクタアドレス、セクタ数からなり、スケジューラ2は、該当するディスク記憶装置6をドライブするSCSIドライバ5にアクセス要求を行うようになされている。このとき、1つのディスク記憶装置6に対するアクセス要求は、SCANアルゴリズムによって順序が入れ替えられて発行される。
【0042】
データバッファ4は、入力されたマルチメディアデータ等を一時的に記憶したり、ディスク記憶装置6より読み出されたマルチメディアデータ等を一時的に記憶するようになされている。
【0043】
次に、データを読み出す場合における各部の動作について説明する。まず、アクセス要求バッファ7にアクセス要求が格納される。スケジューラ2は、アクセス要求バッファ7からアクセス要求を読み出し、それを該当するSCSIドライバ5に供給する。SCSIドライバ5は、スケジューラ2より供給されたアクセス要求に基づいて、該当するディスク記憶装置6からアクセス要求によって指定されたサブブロックを読み出す。
【0044】
ディスク記憶装置6より読み出したサブブロックを記憶させるデータバッファ4上のアドレスは、アクセス要求バッファ7より読み出されたアクセス要求に含まれるアドレスとブロックマップ3より得られたサブブロックのセクタ数に基づいて、スケジューラ2により演算によって求められる。このアドレスは、読み出し命令とともに該当するSCSIドライバ5に供給される。従って、SCSIドライバ5は、ディスク記憶装置6より読み出したサブブロックを、データバッファ4のスケジューラ2によって演算されたアドレスに供給し、記憶させる。これにより、SCANアルゴリズムにより順序を入れ替えて読み出されたサブブロックが、データバッファ4上に元の順番で配置されることになる。
【0045】
アクセス要求によって要求されたデータは、データバッファ4に置かれたサブブロックを集めて完成することができ、要求された順番通りにデータバッファ4より取り出され、所望のマルチメディアデータが順次出力される。
【0046】
次に、データをディスク記憶装置6に書き出す場合の各部の動作について説明する。最初に、ディスク記憶装置6に書き込むべきマルチメディアデータが、順次、データバッファ4に書き込まれ、このマルチメディアデータのディスク記憶装置6への書き込みを指示するアクセス要求がアクセス要求バッファ7に供給される。スケジューラ2は、アクセス要求バッファ7よりアクセス要求を読み出し、アクセス要求に含まれるアドレスと、ブロックマップ3より読み出したサブブロックのセクタ数から、ディスク記憶装置6に書き込むべきマルチメディアデータをデータバッファ4から読み出すときのデータバッファ4上でのアドレスを計算によって求め、このアドレスを書き込み命令とともにSCSIドライバ5に供給する。
【0047】
SCSIドライバ5は、スケジューラ2より供給されたアドレスに基づいて、マルチメディアデータをデータバッファ4から読み出し、ディスク記憶装置6に書き込む。
【0048】
ここで、ディスク記憶装置6の論理セクタアドレスと、物理セクタアドレスの関係について説明する。図3に示すように、ディスク記憶装置6は、通常、セクタ(Sector)と呼ばれる領域毎にアクセスすることができるようになされている。セクタは通常512バイト乃至4キロバイト程度の大きさで、これを円周上に並べたドーナツ型の領域をトラック(Track)、さらに複数枚だけ重ねた記録メディア(Media)の中心から同一の距離にあるトラックを集めた円筒状の領域をシリンダ(Cylinder)と呼ぶ。このように、シリンダ番号、メディア番号、およびセクタ番号からなるアドレスが物理セクタアドレスである。
【0049】
一方、近年、最も普及しているSCSI仕様のドライブでは、ドライブ内の全てのセクタに通し番号を与え、これを用いてデータをアクセスするようになっている。この通し番号が論理セクタアドレスである。
【0050】
配置部1は、SCSIドライバ5を介してディスク記憶装置6に直接問い合わせることにより、物理セクタアドレスと論理セクタアドレスとの間の変換を実現している。勿論、何らかの方法を用いて、図4に示すような物理セクタアドレスと論理セクタアドレスとの対応表を用意し、それを用いて物理セクタアドレスと論理セクタアドレスとの間の変換を行うようにしてもよい。図4(A)に示したように、論理セクタアドレス(Logical Sector)Lkiは、シリンダ番号(Cylinder)CYLki、メディア番号(Media)MEDki、およびセクタ番号(Sector)SECkiより構成される物理セクタアドレスに対応づけられている。図4(B)はその具体例を示している。従って、この対応表により、論理セクタアドレスを物理セクタアドレスに、あるいは、物理セクタアドレスを論理セクタアドレスに変換することができる。
【0051】
次に、各サブブロックのギャップの部分に付加情報を入れる場合について説明する。
【0052】
配置部1により、ブロックマップ3が決定されると、上記式(1)より、ディスク上でのサブブロックのギャップ(θgap)の値も決まる。ギャップの値が小さい場合、ディスク記憶装置6の未使用領域も小さいので使用効率が問題となることはないが、ギャップの値が大きい場合、図13に示したように、ディスク記憶装置6の使用効率が50パーセント以下になるときがあり、使用効率が問題となる。
【0053】
一方、マルチメディアサーバが取り扱うデータは、同時にアクセスすることのない、系列の異なる複数種類のデータから構成される場合がある。例えば、1つのマルチメディアサーバが、NTSC(National Television System Committee)方式とPAL(phase alternation by line)方式といったような、フォーマットの異なる2種類の動画像を格納することができるようになっており、それらのフォーマットの動画像を記録若しくは再生する場合、適宜、どちらか一方の動画像だけを処理対象として選択するシステムが考えられる。その場合、配置部1は、まず、どちらか一方の方式の動画像を格納するブロックマップ3を作成し、それに基づいてディスク記憶装置6に記録された動画像のギャップの部分に、他方の動画像を格納することができるように、さらにブロックマップ3を作成する。
【0054】
図5は、このようにして、ディスク記憶装置6上に配置されたNTSC方式の動画像のサブブロックとPAL方式の動画像のサブブロックの例を示している。両方式のサブブロックともに、同一のスキュー値を設けて配置することにより、NTSC方式のサブブロックとPAL方式のサブブロックとが互いに重ならないようにすることができる。ただし、その場合、スキュー値は、図11の実線で示したオーバヘッドタイムを左右するパラメータでもあるので、どちらの方式を選択しても、回転待ち時間が大きくならないようなスキュー値を決定する必要がある。
【0055】
同様にして、各サブブロックのギャップの部分に、そのデータのバックアップデータを格納するようにしてもよい。ただし、バックアップは、ディスクアクセスのスケジューリングに余裕のある時間帯に行うようにする。また、ディスク記憶装置6が故障して、データが読めなくなることを想定し、図6に示すように、各ディスク記憶装置6は、互いに異なるディスク記憶装置6に記録されているデータのバックアップデータを格納するようにすることが望ましい。
【0056】
勿論、マルチメディアサーバが内蔵するディスク記憶装置6が1つのみである場合や、読み出すことができなくなるデータが、一部の記録データのみである可能性もあるので、バックアップデータを同一のディスク記憶装置6内のギャップ部分に格納することに価値がある場合もある。
【0057】
また、図1に示したブロックマップ3等のデータや、マルチメディアサーバを制御するプログラムをディスク記憶装置6のギャップの部分に格納するようにすることも可能である。その場合、システム起動時に、それらのデータをマルチメディアサーバに備えられた図示せぬ揮発性の高速メモリ(例えば、DRAM(dynamic random access memory)等)に読み出し、以降、電源を落とすまで、揮発性の高速メモリにコピーしたブロックマップ3のデータや制御プログラム等を使用する。これにより、ROM等の不揮発性メモリの容量を削減することができ、装置のコストダウンを実現するとともに、高速な処理を行うことが可能となる。
【0058】
ところで、図5においては、別の系統(グループ)のデータを構成するサブブロック群を、それぞれ回転待ち時間が少なくなるように配置していたが、これらの2つのグループは、同一の系列のデータであっても構わない。即ち、同一の系統のデータを構成するサブブロックを複数の組に分け、それぞれの組において、スキューの値とギャップの値を一定に保ちながら配置することもできる。
【0059】
図7は、同一の系列のデータを構成する各サブブロックを2つのグループA,Bに分けて配置した例を示している。ただし、この場合、各サブブロックをアクセスする順番に注意する必要がある。即ち、同一のグループのサブブロックをアクセスする場合、回転待ち時間を抑えることができるように、各サブブロックの配置を最適化してあっても、所定のグループのサブブロックをアクセスした後に、別のグループのサブブロックをアクセスするときには、余計な回転待ち時間が発生してしまうからである。
【0060】
これを回避する方法としては、スケジューラ2がアクセス要求バッファ7より読み出した複数のアクセス要求の順番を並べ替えるときに、各グループ毎にSCANアルゴリズムを実行するように並べ替える方法が考えられる。図8は、このようにして並べ替えられたアクセス要求に従って、データにアクセスするときのアクセスパターンを示している。まず、グループAに属するサブブロックのアクセスをSCANアルゴリズムを適用して行い、次に、グループBに属するサブブロックのアクセスを同様にSCANアルゴリズムを適用して行う。そして、これらのアクセス処理を交互に繰り返す。
【0061】
これにより、ディスク記憶装置6のヘッドは、各グループのアクセス処理を実行しながら、外周から内周方向に移動し、それが終了した後、一旦次のグループの最も外周よりにあるサブブロックの位置まで戻る。これは、回転待ち時間を低減させるためのスキューは、外周から内周方向、あるいは内周から外周方向のいずれか1方向にしか設定することができないからである。
【0062】
ヘッドが最外周のサブブロックの位置にまで戻るときには、ほとんどフルシークに近いオーバヘッドが生じるが、その代わりに、各サブブロックにアクセスする場合の回転待ち時間を抑えることができる。従って、ヘッドが最も外周よりのサブブロックの位置から最も内周よりのサブブロックの位置まで移動する1回のスキャンで処理することができるサブブロックへのアクセス数を多く取れる場合、各グループ毎にSCANアルゴリズムを適用することは有効である。
【0063】
以上のように、サブブロックが配置されていないギャップの部分に所定のデータを格納することにより、ディスク記憶装置6の未使用領域を減少させることができる。これにより、ディスクの使用効率を下げることなく、ランダムアクセス下におけるリアルタイム性を保証することができる。
【0064】
なお、上記実施の形態においては、ディスク記憶装置6に対するデータの読み出しおよび書き込みの制御を専用のコントローラを用いて実現する場合について説明したが、それらのコントローラの制御ソフトウェアをホストコンピュータ等のCPU上で動作させることにより、ディスク記憶装置6に対するデータの読み出しおよび書き込みの制御を行うようにすることも可能である。
【0065】
また、上記実施の形態においては、同一の系列のデータを2つの組に分けてディスク上に配置する場合について説明したが、任意の数の組に分けるようにすることも可能である。
【0066】
また、上記実施の形態においては、データにアクセスする場合、外周から内周方向にスキャンするようにしたが、内周から外周方向にスキャンするようにすることも可能である。その場合、内周から外周にヘッドを移動させながら、データにアクセスするときに最適なスキューを設定するようにすることができる。
【0067】
さらに、上記実施の形態においては、データを記録する媒体としてハードディスクを用いるようにしたが、光ディスク、光磁気ディスク等のその他の記録媒体を用いるようにすることも可能である。
【0068】
【発明の効果】
請求項1に記載のディスク制御方法、および請求項に記載のディスク制御装置によれば、第1のデータを分割した第2のデータを、ディスク上に第2のデータの先頭と末尾の角度差としてのギャップを設けて配置し、第2のデータが配置されないギャップの部分に、所定の付加情報を配置するようにした。そして、この付加情報は、付加情報が配置されたディスク上に既にギャップを設けて配置された第2のデータのバックアップデータ、または、付加情報が配置されたディスクとは異なる他のディスク上に既にギャップを設けて配置された第2のデータのバックアップデータであるようにしたので、スキューとギャップを用いて回転待ちを抑制するように第2のデータを配置した場合でも、ディスクの未使用領域を減らすことができ、ディスクの使用効率を下げることなく、ランダムアクセス下でのリアルタイム性を保証することが可能となる。
【図面の簡単な説明】
【図1】本発明のディスク制御装置を適用したマルチメディアサーバの一実施の形態の構成を示すブロック図である。
【図2】図1のブロックマップ3の例を示す図である。
【図3】図1のディスク記憶装置6の物理セクタを示す図である。
【図4】論理セクタアドレスと物理セクタアドレスの関係を示す図である。
【図5】所定のサブブロック群のギャップに別の系統のサブブロック群を記録する例を示す図である。
【図6】バックアップデータを所定のサブブロック群のギャップに記録する例を示す図である。
【図7】サブブロックを2組に分けた場合のディスク記憶装置6上のアロケーションの例を示す図である。
【図8】サブブロックを2組に分けた場合のアクセスパターンの例を示す図である。
【図9】SCANアルゴリズムを説明するための図である。
【図10】スキューとギャップを一定にしたアロケーションの例を示す図である。
【図11】スキューとギャップを一定にした場合のオーバヘッドタイムを表すグラフである。
【図12】オーバヘッドタイムが最大となるI/O要求を示す図である。
【図13】ギャップの値が180°の場合のアロケーションを示す図である。
【符号の説明】
1 配置部(配置手段、付加情報配置手段),2 スケジューラ(入れ替え手段),3 ブロックマップ,4 データバッファ,5 SCSIドライバ,6 ディスク記憶装置,7 アクセス要求バッファ
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a disk control method and apparatus, for example, by arranging other data in a gap portion of data arranged on a disk, thereby reducing real-time performance under random access without lowering disk use efficiency. The present invention relates to a disk control method and apparatus which can be guaranteed.
[0002]
[Prior art]
Storage for multimedia data such as moving images and audio is often called a multimedia server. A multimedia server is required to have a high transfer rate and real-time performance.
[0003]
A high transfer speed is naturally necessary for handling a large amount of moving images and audio. On the other hand, the real-time property means that the upper limit of the processing time is guaranteed. For example, in the case of a moving image, the movement becomes awkward unless 30 images per second are displayed one after another at regular intervals. Also, if the disc capacity cannot keep up and the audio data is insufficient, the sound is interrupted and an unpleasant noise is generated.
[0004]
In this way, multimedia data is prepared at specific times, and the value as information is drastically reduced if not used. Therefore, it is important for the multimedia server to guarantee an upper limit that processing can be performed in such a time even in the worst case. Such a property is called real-time property, and real-time property is guaranteed to be an indispensable function in the field of multimedia. This is because in the conventional computer storage, the first goal is to reduce the average time required for processing, and the worst value of the time required for processing has not necessarily been kept low. In contrast to the large
[0005]
Since multimedia data is a collection of data that is meaningful to be continuous, such as moving images, it is assumed that sequential access to sequentially access data in physically continuous locations will be mainly used in multimedia servers. It's easy, but when you think about an actual application, you can see that it is not.
[0006]
For example, typical multimedia servers include non-linear editing machines and VOD (video-on-demand) servers. A non-linear editing machine is an editing method in which images that are physically separated from each other in storage locations of images read out by random access are connected without interruption. VOD is a service that simultaneously provides a plurality of different sequences of moving images in random access according to requests from a plurality of viewers. In both cases, random access occurs, and the server must deal with this.
[0007]
Thus, it can be seen how important the real-time guarantee under random access is in the multimedia server. At the same time, this becomes a requirement for a single disk storage device constituting the multimedia server. That is, in the disk storage device, it is also necessary to be able to read or write data at physically separated locations on the recording surface one after another within a predetermined time.
[0008]
Time T for accessing one sub-block (data divided) on the disk storage devicei / oIs the time T during which the head of the disk actually reads or writes while passing over the sub-block.r / w, Seek time T for moving head to desired cylinderseekRotation waiting time T until the head of the sub-block appears at the head position in the track after the head moves to the desired cylinderrdIt is expressed as the sum of
[0009]
Ti / o= Tr / w+ Tseek+ Trd
[0010]
Of these, Tseek+ TrdIs the overhead time. In the case of sequential access, this overhead time is as close to 0 as possible, but in the case of random access, the overhead time increases and causes a decrease in disk performance.
[0011]
As a conventional technique for reducing the seek time which is one factor of the overhead time, there is a method called SCAN algorithm. In this method, as shown in FIG. 9A, when a plurality of I / O (input / output) requests (# 1, # 2, # 3, # 4, # 5) are given. This algorithm sorts in the radial direction of the disk and replaces and processes in the order (# 3, # 1, # 2, # 5, # 4) as shown in FIG. 9B. As shown in FIG. 9A, it is possible to prevent the reciprocation of the head that would have occurred when processing was performed in the order of arrival of the I / O requests, thereby reducing the respective seek times.
[0012]
On the other hand, as a technique for reducing the rotation waiting time which is another factor of the overhead time, the following is disclosed in “Japanese Patent Application No. 7-282175” already filed by the applicant of the present application. In other words, subblocks are arranged using a skew that is an angular difference between the heads of the subblocks in the circumferential direction and a gap that is an angle difference between the head and the tail in the subblock, and seek time is combined with the SCAN algorithm. This is a method of suppressing both the rotation waiting time. FIG. 10 shows an example of the arrangement of sub-blocks when the skew and gap values are constant.
[0013]
Thus, by making the skew value constant, it is possible to control so that the head of the desired sub-block does not pass the head position during the seek operation. Therefore, when accessing a desired sub-block, there is no need to wait for the rotation time until the head of the sub-block returns to the head position again. Thereby, the rotation waiting time can be reduced.
[0014]
In addition, the fact that the gap, which is the angle difference between the beginning and end of each sub-block, is constant means that the time T during which each sub-block is actually read or writtenw / rAlso means constant. In order to estimate the time required for one I / O, the time Tr / wBesides, the overhead time must be known, which can be predicted from the graph shown in FIG.
[0015]
FIG. 11 shows the overhead time of the disk on which each sub-block is arranged as shown in FIG. The horizontal axis represents the seek distance, that is, the number of cylinders traversed when the disk head moves, and the vertical axis represents the time required for I / O of the sub-block located at the position moved by the seek distance from the outermost circumference. ing. The alternate long and short dash line is the seek time TseekThe solid line is the overall overhead time. Overhead time is seek time TseekAnd rotation waiting time TrdThe difference between the solid line and the alternate long and short dash line is the rotation waiting time TrdIt turns out that.
[0016]
In the method earlier than the method disclosed in “Japanese Patent Application No. Hei 7-282175”, the rotation waiting time could not be predicted. Therefore, when calculating the maximum overhead time, as shown by the dotted line in the graph after all It was calculated that it would take a uniform rotation waiting time for one rotation. From this graph, by arranging the sub-blocks as shown in FIG. 10, the maximum overhead time is reduced as shown by the solid line compared to the previous one shown by the dotted line. I understand.
[0017]
Furthermore, it is considered that the SCAN algorithm is applied to the sub-block arrangement method as shown in FIG. In the cylinder direction (radial direction), as shown in FIG. 12, it is known that it takes the longest time when an I / O request is issued to sub-blocks at equal intervals. Cylinder interval L at this timeavgIs an average seek distance, and the maximum total overhead time in one scan is determined by the seek distance in FIG.avgIt can be calculated from the overhead time.
[0018]
Its value is not only smaller than when the SCAN algorithm is simply applied, but is also very close to the maximum actually observed overhead time. From this, the maximum value estimated as described above can be used as an index that can be fairly trusted in designing the multimedia server.
[0019]
[Problems to be solved by the invention]
As a parameter for determining the allocation as shown in FIG.skew) And gap (θgap) Of these, the skew can be set relatively freely, while the selection of the gap is often limited. This is because in the case of multimedia data, the size of the data is often a fixed length.
[0020]
For example, when sub-blocks having a fixed size are arranged on one disk, the gap value is uniquely determined by the following equation (1) from the number S of sub-block sectors and the number T of sectors per track.
[0021]
θgap= (RT-S) / T × 360 ° (Equation 1)
However, r is a natural number that satisfies S ≦ rT <(S + T).
[0022]
If the size of one block is 90 sectors and the number of sectors per track is 180 sectors, θgap= 180 °. At this time, the arrangement using the skew and the gap is as shown in FIG. 13, and the usable area is only 50% of the total storage area on the disk device.
[0023]
In the above example, the number of disk devices is limited to one. However, in many cases, a multimedia server is required to have a very large capacity, and may be realized as a disk array system composed of a plurality of disk devices. is there. Further, in that case, one data is divided into n sub-blocks, stored in separate disk devices, and a plurality of disk devices are driven in parallel at the time of reading or writing, thereby increasing the data transfer speed. Things are often done.
[0024]
At this time, if the number of divisions n for dividing the data is changed, the size of the sub-blocks arranged on each disk device also changes, so there are several candidates for the gap value to be selected. However, there are restrictions on the division number n for dividing data from the relationship between the gap value and the data transfer rate required for the multimedia server, the total number of disk devices, etc., and the gap value can be arbitrarily determined. Can not.
[0025]
In addition, the size of the subblock can be set so that the use efficiency of the disk device is increased, and data can be arranged, but the size of the subblock set in this way and the size of the subblock handled by the application are also set. Are not realistic, causing unnecessary I / O and controlling the waiting for rotation to increase the overhead time.
[0026]
The present invention has been made in view of such a situation, and even when data is arranged with a skew and a gap, the unused area of the disk can be reduced and the disk apparatus can be used efficiently. It is to make.
[0027]
[Means for Solving the Problems]
  The disk control method according to claim 1, wherein the second data obtained by dividing the first data is arranged on the disk with a gap as an angle difference between the head and the tail of the second data, and the second data Predetermined additional information is placed in the gap where no data is placedFurther, the additional information is already a gap on the backup data of the second data already provided with a gap on the disk on which the additional information is arranged, or on another disk different from the disk on which the additional information is arranged. Is backup data of the second data arranged withIt is characterized by that.
[0029]
  Claim6The disk control device according to claim 1, wherein the second data obtained by dividing the first data is arranged on the disk with a gap as an angle difference between the head and the tail of the second data, And additional information arrangement means for arranging predetermined additional information in a gap where no data is arranged.The additional information may be the backup data of the second data that is already provided with a gap on the disk on which the additional information is arranged, or another disk that is different from the disk on which the additional information is arranged. It is backup data of the second data arranged and arrangedIt is characterized by that.
[0031]
  In the disk control method according to claim 1, the second data obtained by dividing the first data is arranged on the disk with a gap as an angle difference between the head and the tail of the second data, and the second data Predetermined additional information is arranged in a gap portion where no data is arranged.This additional information is stored in the backup data of the second data that is already provided with a gap on the disk on which the additional information is arranged, or on another disk that is different from the disk on which the additional information is arranged. This is backup data of second data provided and arranged.
[0033]
  Claim6In the disk control device described in (2), the arranging means arranges the second data obtained by dividing the first data by arranging a gap as an angle difference between the head and the tail of the second data on the disk, and adding The information arrangement unit arranges predetermined additional information in a gap portion where the second data is not arranged.This additional information is stored in the backup data of the second data that is already provided with a gap on the disk on which the additional information is arranged, or on another disk that is different from the disk on which the additional information is arranged. This is backup data of second data provided and arranged.
[0035]
DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a block diagram showing a configuration of an embodiment of a multimedia server to which a disk control device of the present invention is applied. Each block represents a main program module or a main data structure.
[0036]
The placement unit (Block Allocator) 1 (placement means, additional information placement means) creates a block map (Block Map) 3 to be described later based on the input format parameters. The format parameters are the size S of one block of data, the number n of data division, and the optimal skew value (θskew) Etc.
[0037]
In addition, it is necessary to convert the physical sector address of the disk storage device (Disk) 6-1 to 6-m into a logical sector address. In this embodiment, the SCSI (ANSI Small Computer System Interface) described later is used. The conversion is performed by directly inquiring the disk storage devices 6-1 to 6-m via the drivers 5-1 to 5-m. In the following description, the SCSI drivers 5-1 to 5-m are simply referred to as the SCSI driver 5 and the disk storage devices 6-1 to 6-m are simply referred to as the disk storage device 6 unless it is necessary to distinguish between them. I will decide.
[0038]
The relationship between the logical sector address and the physical sector address of the disk storage device 6 will be described later with reference to FIG.
[0039]
After determining the data arrangement, the arrangement unit 1 creates the block map 3. As shown in FIG. 2, the block map 3 indicates where on the disk n subblocks obtained by dividing the kth (arbitrary natural number not exceeding the total number of data) th data are stored. Is. The location of the sub-block is the disk storage device number Dki, Starting logical sector address L on disk storageki, The number of sectors constituting a sub-block SkiCan be determined more. Here, i is a natural number satisfying 1 ≦ i ≦ n.
[0040]
When data is continuously read or written, first, access requests for a plurality of data are generated, the data number as information for identifying these requests, and the data buffer (Data Buffer) 4 in which the data is placed And an address request buffer (Access Request Buffer) 7 are stored.
[0041]
The scheduler 2 (replacement means) reads a plurality of pieces of information from the access request buffer 7 at a predetermined time and refers to the block map 3 to determine the arrangement location of the sub-blocks constituting the requested data. It is made to check. The location is made up of the disk storage device 6, the start logical sector address on the disk storage device 6, and the number of sectors. The scheduler 2 issues an access request to the SCSI driver 5 that drives the disk storage device 6. ing. At this time, access requests for one disk storage device 6 are issued with the order changed by the SCAN algorithm.
[0042]
The data buffer 4 temporarily stores input multimedia data or the like, or temporarily stores multimedia data read from the disk storage device 6 or the like.
[0043]
Next, the operation of each unit when reading data will be described. First, an access request is stored in the access request buffer 7. The scheduler 2 reads the access request from the access request buffer 7 and supplies it to the corresponding SCSI driver 5. The SCSI driver 5 reads out the sub-block designated by the access request from the corresponding disk storage device 6 based on the access request supplied from the scheduler 2.
[0044]
The address on the data buffer 4 for storing the sub-block read from the disk storage device 6 is based on the address included in the access request read from the access request buffer 7 and the number of sectors of the sub-block obtained from the block map 3. Thus, it is obtained by calculation by the scheduler 2. This address is supplied to the corresponding SCSI driver 5 together with the read command. Therefore, the SCSI driver 5 supplies the sub-block read from the disk storage device 6 to the address calculated by the scheduler 2 of the data buffer 4 and stores it. As a result, the sub-blocks read out by changing the order by the SCAN algorithm are arranged on the data buffer 4 in the original order.
[0045]
The data requested by the access request can be completed by collecting the sub-blocks placed in the data buffer 4, and are retrieved from the data buffer 4 in the requested order, and desired multimedia data are sequentially output. .
[0046]
Next, the operation of each unit when data is written to the disk storage device 6 will be described. First, multimedia data to be written to the disk storage device 6 is sequentially written to the data buffer 4, and an access request instructing writing of the multimedia data to the disk storage device 6 is supplied to the access request buffer 7. . The scheduler 2 reads the access request from the access request buffer 7, and the multimedia data to be written to the disk storage device 6 is read from the data buffer 4 from the address included in the access request and the number of sectors of the subblock read from the block map 3. An address on the data buffer 4 at the time of reading is obtained by calculation, and this address is supplied to the SCSI driver 5 together with a write command.
[0047]
The SCSI driver 5 reads multimedia data from the data buffer 4 based on the address supplied from the scheduler 2 and writes it to the disk storage device 6.
[0048]
Here, the relationship between the logical sector address of the disk storage device 6 and the physical sector address will be described. As shown in FIG. 3, the disk storage device 6 is normally configured to be accessible for each area called a sector. A sector is usually about 512 bytes to 4 kilobytes in size, and a donut-shaped area in which the sectors are arranged on the circumference is the same distance from the center of a recording medium (Media) in which only a plurality of tracks are stacked. A cylindrical region in which a certain track is collected is referred to as a cylinder. Thus, an address composed of a cylinder number, a media number, and a sector number is a physical sector address.
[0049]
On the other hand, in the recent most popular SCSI specification drive, serial numbers are assigned to all sectors in the drive, and data is accessed using this. This serial number is a logical sector address.
[0050]
The placement unit 1 realizes conversion between a physical sector address and a logical sector address by directly making an inquiry to the disk storage device 6 via the SCSI driver 5. Of course, using some method, a correspondence table of physical sector addresses and logical sector addresses as shown in FIG. 4 is prepared, and conversion between physical sector addresses and logical sector addresses is performed using the correspondence table. Also good. As shown in FIG. 4A, a logical sector address (Logical Sector) LkiIs the cylinder number CYLki, Media number (Media) MEDki, And sector number (Sector) SECkiAre associated with physical sector addresses. FIG. 4B shows a specific example. Therefore, this correspondence table can convert a logical sector address into a physical sector address or a physical sector address into a logical sector address.
[0051]
Next, a case where additional information is inserted in the gap portion of each sub-block will be described.
[0052]
When the block map 3 is determined by the placement unit 1, the sub-block gap on the disk (θgap) Is also determined. When the gap value is small, the unused area of the disk storage device 6 is also small, so there is no problem in use efficiency. However, when the gap value is large, the use of the disk storage device 6 is used as shown in FIG. Efficiency may be 50% or less, and usage efficiency becomes a problem.
[0053]
On the other hand, data handled by the multimedia server may be composed of a plurality of types of data that are not accessed simultaneously. For example, one multimedia server can store two types of moving images with different formats, such as NTSC (National Television System Committee) method and PAL (phase alternation by line) method. When recording or reproducing a moving image in any of these formats, a system that selects only one of the moving images as a processing target can be considered as appropriate. In that case, the arrangement unit 1 first creates a block map 3 for storing either one of the moving images, and based on the block map 3, the other moving image is added to the gap portion of the moving image recorded in the disk storage device 6. A block map 3 is further created so that an image can be stored.
[0054]
FIG. 5 shows an example of NTSC moving image sub-blocks and PAL moving image sub-blocks arranged on the disk storage device 6 in this way. By arranging both the sub-blocks with the same skew value, the NTSC sub-block and the PAL sub-block can be prevented from overlapping each other. However, in that case, the skew value is also a parameter that affects the overhead time indicated by the solid line in FIG. 11. Therefore, it is necessary to determine a skew value that does not increase the rotation waiting time regardless of which method is selected. is there.
[0055]
Similarly, backup data of the data may be stored in the gap portion of each sub-block. However, backup should be performed during a time slot that allows for disk access scheduling. Further, assuming that the disk storage device 6 fails and the data cannot be read, each disk storage device 6 has backup data of data recorded in different disk storage devices 6 as shown in FIG. It is desirable to store it.
[0056]
Of course, when there is only one disk storage device 6 built in the multimedia server, or there is a possibility that the data that cannot be read is only a part of the recorded data, the backup data is stored in the same disk storage. It may be worthwhile to store in the gap portion in the device 6.
[0057]
It is also possible to store data such as the block map 3 shown in FIG. 1 and a program for controlling the multimedia server in the gap portion of the disk storage device 6. In that case, when the system starts up, the data is read into a volatile high-speed memory (not shown) (for example, dynamic random access memory (DRAM)) provided in the multimedia server, and then volatile until the power is turned off. The data of the block map 3 copied to the high-speed memory, the control program, etc. are used. As a result, the capacity of a nonvolatile memory such as a ROM can be reduced, the cost of the apparatus can be reduced, and high-speed processing can be performed.
[0058]
By the way, in FIG. 5, although the subblock group which comprises the data of another system | strain (group) was each arrange | positioned so that rotation waiting time may become small, these two groups are the data of the same series. It does not matter. That is, it is possible to divide sub-blocks constituting the same system data into a plurality of sets, and to arrange the blocks while keeping the skew value and the gap value constant in each set.
[0059]
FIG. 7 shows an example in which the sub-blocks constituting the same series of data are divided into two groups A and B. However, in this case, it is necessary to pay attention to the order of accessing each sub-block. That is, when accessing the sub-blocks of the same group, even if the arrangement of each sub-block is optimized so that the rotation waiting time can be suppressed, after accessing the sub-blocks of the predetermined group, This is because when the group sub-block is accessed, an extra rotation waiting time occurs.
[0060]
As a method for avoiding this, when the order of a plurality of access requests read from the access request buffer 7 by the scheduler 2 is rearranged, a rearrangement is performed so that the SCAN algorithm is executed for each group. FIG. 8 shows an access pattern when accessing data according to the access requests rearranged in this way. First, the sub-blocks belonging to group A are accessed by applying the SCAN algorithm, and then the sub-blocks belonging to group B are similarly accessed by applying the SCAN algorithm. These access processes are repeated alternately.
[0061]
As a result, the head of the disk storage device 6 moves from the outer periphery to the inner periphery while executing the access processing of each group, and after that, the position of the sub-block that is once further than the outermost periphery of the next group Return to. This is because the skew for reducing the rotation waiting time can be set only in one direction from the outer circumference to the inner circumference direction or from the inner circumference to the outer circumference direction.
[0062]
When the head returns to the position of the outermost sub-block, an overhead almost similar to a full seek occurs, but instead, the rotation waiting time when accessing each sub-block can be suppressed. Therefore, if the number of accesses to the sub-block that can be processed in one scan that the head moves from the position of the sub-block from the outermost circumference to the position of the sub-block from the innermost circumference can be taken, It is effective to apply the SCAN algorithm.
[0063]
As described above, the unused area of the disk storage device 6 can be reduced by storing predetermined data in the gap portion where no sub-block is arranged. As a result, real-time performance under random access can be ensured without lowering the disk usage efficiency.
[0064]
In the above embodiment, the case where data read and write control for the disk storage device 6 is realized using a dedicated controller has been described. However, control software for these controllers is executed on a CPU such as a host computer. It is also possible to control the reading and writing of data with respect to the disk storage device 6 by operating it.
[0065]
In the above embodiment, the case where the same series of data is divided into two groups and arranged on the disk has been described. However, it is also possible to divide the data into an arbitrary number of groups.
[0066]
In the above embodiment, when data is accessed, scanning is performed from the outer periphery to the inner periphery. However, it is also possible to scan from the inner periphery to the outer periphery. In that case, it is possible to set an optimum skew when accessing data while moving the head from the inner periphery to the outer periphery.
[0067]
Furthermore, in the above embodiment, a hard disk is used as a medium for recording data. However, other recording media such as an optical disk and a magneto-optical disk may be used.
[0068]
【The invention's effect】
  The disk control method according to claim 1, and the claim6According to the disk control apparatus described in the above, the second data obtained by dividing the first data is arranged on the disk with a gap as an angle difference between the head and the end of the second data, and the second data Predetermined additional information is placed in the gap where no is placed. This additional information is already stored on the backup data of the second data already arranged with a gap on the disk on which the additional information is arranged, or on another disk different from the disk on which the additional information is arranged. The backup data of the second data is arranged with a gap.Therefore, even when the second data is arranged so as to suppress the rotation wait using the skew and the gap, the unused area of the disk can be reduced, and the random use can be performed without reducing the disk usage efficiency. Real-time performance can be guaranteed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a configuration of an embodiment of a multimedia server to which a disk control device of the present invention is applied.
FIG. 2 is a diagram illustrating an example of a block map 3 of FIG.
FIG. 3 is a diagram showing physical sectors of the disk storage device 6 of FIG. 1;
FIG. 4 is a diagram illustrating a relationship between a logical sector address and a physical sector address.
FIG. 5 is a diagram illustrating an example in which a sub-block group of another system is recorded in a gap of a predetermined sub-block group.
FIG. 6 is a diagram illustrating an example of recording backup data in a gap of a predetermined sub-block group.
FIG. 7 is a diagram showing an example of allocation on the disk storage device 6 when sub-blocks are divided into two sets;
FIG. 8 is a diagram showing an example of an access pattern when sub-blocks are divided into two sets.
FIG. 9 is a diagram for explaining a SCAN algorithm;
FIG. 10 is a diagram illustrating an example of allocation with a fixed skew and gap.
FIG. 11 is a graph showing the overhead time when the skew and the gap are constant.
FIG. 12 is a diagram showing an I / O request with the maximum overhead time.
FIG. 13 is a diagram showing allocation when the gap value is 180 °.
[Explanation of symbols]
DESCRIPTION OF SYMBOLS 1 Arrangement part (arrangement means, additional information arrangement means), 2 scheduler (replacement means), 3 block map, 4 data buffer, 5 SCSI driver, 6 disk storage device, 7 access request buffer

Claims (6)

第1のデータを分割した第2のデータを、ディスク上に前記第2のデータの先頭と末尾の角度差としてのギャップを設けて配置し、
前記第2のデータが配置されない前記ギャップの部分に、所定の付加情報を配置し、
前記付加情報は、前記付加情報が配置された前記ディスク上に既に前記ギャップを設けて配置された前記第2のデータのバックアップデータ、または、前記付加情報が配置された前記ディスクとは異なる他のディスク上に既に前記ギャップを設けて配置された前記第2のデータのバックアップデータである
ことを特徴とするディスク制御方法。
The second data obtained by dividing the first data is arranged on the disk with a gap as an angle difference between the head and the end of the second data,
Arranging predetermined additional information in the gap portion where the second data is not arranged ,
The additional information may be backup data of the second data that is already provided with the gap on the disk on which the additional information is arranged, or another disk that is different from the disk on which the additional information is arranged. A disk control method , comprising: backup data of the second data already arranged on the disk with the gap .
前記付加情報は、前記付加情報が配置される前記ディスク上に既に前記ギャップを設けて配置された前記第2のデータの読み出しまたは書き込みが行われる時間帯と同一の時間帯に読み出しまたは書き込みが行われない情報である
ことを特徴とする請求項1に記載のディスク制御方法。
The additional information is read or written in the same time zone in which the second data read or written in the gap is already provided on the disk on which the additional information is placed. The disk control method according to claim 1, wherein the information is irrelevant information.
前記付加情報は、前記ディスク上に前記付加情報の先頭と末尾との角度差としてのギャップを設けて配置される
ことを特徴とする請求項1に記載のディスク制御方法。
The disk control method according to claim 1, wherein the additional information is arranged on the disk with a gap as an angle difference between a head and a tail of the additional information.
前記付加情報は、前記第2のデータが配置される前記ディスク上における格納場所を示す情報である
ことを特徴とする請求項1に記載のディスク制御方法。
The disk control method according to claim 1, wherein the additional information is information indicating a storage location on the disk where the second data is arranged.
前記付加情報は、所定のプログラムである
ことを特徴とする請求項1に記載のディスク制御方法。
The disk control method according to claim 1, wherein the additional information is a predetermined program.
第1のデータを分割した第2のデータを、ディスク上に前記第2のデータの先頭と末尾の角度差としてのギャップを設けて配置する配置手段と、
前記第2のデータが配置されない前記ギャップの部分に、所定の付加情報を配置する付加情報配置手段と
を備え
前記付加情報は、前記付加情報が配置された前記ディスク上に既に前記ギャップを設けて配置された前記第2のデータのバックアップデータ、または、前記付加情報が配置された前記ディスクとは異なる他のディスク上に既に前記ギャップを設けて配置された前記第2のデータのバックアップデータである
ことを特徴とするディスク制御装置。
Arrangement means for arranging the second data obtained by dividing the first data by providing a gap as an angle difference between the head and the end of the second data on the disk;
And additional information arrangement means for arranging predetermined additional information in a portion of the gap where the second data is not arranged ,
The additional information may be backup data of the second data that is already provided with the gap on the disk on which the additional information is arranged, or another disk that is different from the disk on which the additional information is arranged. A disk control apparatus, wherein the disk control apparatus is backup data of the second data that is already arranged on the disk with the gap .
JP26421996A 1996-10-04 1996-10-04 Disk control method and apparatus Expired - Fee Related JP3809674B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP26421996A JP3809674B2 (en) 1996-10-04 1996-10-04 Disk control method and apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP26421996A JP3809674B2 (en) 1996-10-04 1996-10-04 Disk control method and apparatus

Publications (2)

Publication Number Publication Date
JPH10112137A JPH10112137A (en) 1998-04-28
JP3809674B2 true JP3809674B2 (en) 2006-08-16

Family

ID=17400159

Family Applications (1)

Application Number Title Priority Date Filing Date
JP26421996A Expired - Fee Related JP3809674B2 (en) 1996-10-04 1996-10-04 Disk control method and apparatus

Country Status (1)

Country Link
JP (1) JP3809674B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20210075745A1 (en) * 2019-09-10 2021-03-11 GigaIO Networks, Inc. Methods and apparatus for improved polling efficiency in network interface fabrics
US11593288B2 (en) 2019-10-02 2023-02-28 GigalO Networks, Inc. Methods and apparatus for fabric interface polling
US11593291B2 (en) 2018-09-10 2023-02-28 GigaIO Networks, Inc. Methods and apparatus for high-speed data bus connection and fabric management

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11593291B2 (en) 2018-09-10 2023-02-28 GigaIO Networks, Inc. Methods and apparatus for high-speed data bus connection and fabric management
US20210075745A1 (en) * 2019-09-10 2021-03-11 GigaIO Networks, Inc. Methods and apparatus for improved polling efficiency in network interface fabrics
US11593288B2 (en) 2019-10-02 2023-02-28 GigalO Networks, Inc. Methods and apparatus for fabric interface polling

Also Published As

Publication number Publication date
JPH10112137A (en) 1998-04-28

Similar Documents

Publication Publication Date Title
KR100333019B1 (en) Recording disc access control method and apparatus
US5765204A (en) Method and apparatus for adaptive localization of frequently accessed, randomly addressed data
EP0452019B1 (en) Methods and apparatus for optimizing prefetch caching
JP2007034536A (en) Data storage device and data storage method and registration/reproduction system
KR20040077448A (en) Data access control apparatus, data access control method, controller, and computer program
JP4256075B2 (en) File system and storage area management method
US20020059276A1 (en) Optimising allocation of sectors in disc drives
US6223249B1 (en) Apparatus and method for controlling access to one or more disc storage devices
JP2004103127A (en) Rearranging method of sectors of information recording medium and information storage device
US6725395B2 (en) Method for assigning alternative sector, method for reading data, disk drive apparatus, and apparatus for writing/reading AV data
JP2002522865A (en) Data distribution across the disk zone in stripes
JP3809674B2 (en) Disk control method and apparatus
US6314232B2 (en) Data allocation method, recording medium with data recorded by the method, and data server apparatus
JP3851723B2 (en) Disk storage device and segment cache control method in the same device
JP2000048491A (en) Defect management method for optical disk, optical disk and optical disk device
JPH0817171A (en) Method and apparatus for disc control
JP4496790B2 (en) Data storage device and method, and recording / reproducing system
JP3865163B2 (en) Disk control method and apparatus
WO2000067250A9 (en) Methods and systems for mirrored disk arrays
JPH09185864A (en) Method and device for controlling recording disk access
JPH09330566A (en) Information recording medium and information storage method
JP2010176766A (en) Disk drive device, disk control device, information processing apparatus, and disk control method
JPH10149634A (en) Method and device for recording and reproducing data
JP4297002B2 (en) Data recording apparatus and recording method
JP3329083B2 (en) Data storage device and method

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060210

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060411

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: 20060502

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060515

LAPS Cancellation because of no payment of annual fees