JPH10275059A - 記憶デバイス制御装置及び管理システム - Google Patents

記憶デバイス制御装置及び管理システム

Info

Publication number
JPH10275059A
JPH10275059A JP9081647A JP8164797A JPH10275059A JP H10275059 A JPH10275059 A JP H10275059A JP 9081647 A JP9081647 A JP 9081647A JP 8164797 A JP8164797 A JP 8164797A JP H10275059 A JPH10275059 A JP H10275059A
Authority
JP
Japan
Prior art keywords
request
read
queue
storage device
time
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP9081647A
Other languages
English (en)
Inventor
Yukiko Ito
由起子 伊藤
Masaro Tamai
昌朗 玉井
Tsutomu Tanaka
勉 田中
Shinzo Doi
晋三 土居
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
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 Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP9081647A priority Critical patent/JPH10275059A/ja
Priority to EP97107084A priority patent/EP0805593A3/en
Publication of JPH10275059A publication Critical patent/JPH10275059A/ja
Priority to US09/435,369 priority patent/US6408359B1/en
Pending legal-status Critical Current

Links

Classifications

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Multi Processors (AREA)
  • Communication Control (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

(57)【要約】 【課題】 リアルタイム性が要求されるデータを記憶デ
バイスから効率よく読み出し、さらにデータを記憶デバ
イスに確実に書き込みことができる記憶デバイス制御装
置を提供することである。 【解決手段】 キュー入力部42は、到着した最優先要
求を、優先キューに既納の要求すべてが許容遅延値を満
たし、なおかつ既納の他の最優先要求よりも後で処理さ
れるように、また、到着した優先要求を、アクセス位置
が連続するように、優先キューにつなぐ。キュー入力部
42は、書き込み要求及び非優先要求を書き込みキュー
及び非優先キューに順次的につなぐ。コマンド発行処理
部47は、状態テーブル46に保持されている状態番号
に基づいて、上記3つのキューの中から1つのキューを
選択し、選択されたキューから読み出し要求又は書き込
み要求がコマンドとして出力する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶デバイス制御
装置に関し、より特定的には、リアルタイム性が要求さ
れるデータや、それが要求されないデータを格納する記
憶デバイスに対する読み出し及び書き込みを制御する記
憶デバイス制御装置に関する。
【0002】
【従来の技術】ビデオサーバは、複数のユーザからの個
別的な要求にリアルタイムに応答して、予め内部に格納
しているビデオデータを提供する装置であり、例えば、
“日経コミュニケーション 1993.2.15 N
o.144 pp.38−55”に記載されている。ビ
デオサーバは、通信回線やCATV網を介して、ユーザ
が好きな時にビデオデータの提供を受けられる、VOD
(Video On Demand)サービスや、放送
局におけるノンリニア動画像編集システムなどに適用さ
れる。ビデオサーバは、色々な改良を加えられており、
例えば、「特開平7−107425号」公報に開示され
たものや、文献;D.James Gemmell,”
Multimedia Storage Server
s:A Tutorial.”, Computer
Vol.28 No.5 pp.40−49’95に記
載されたものなどがある。
【0003】ところで、上述した用途では、ビデオデー
タの要求は非同期に発生し、同じビデオデータが要求さ
れることもあれば、異なるものが要求されることもあ
る。ビデオサーバは、このような多重アクセスに対処で
き、しかも、効率的に途切れなくビデオデータを提供で
きるように、ビデオデータを所定のサイズに分割した単
位ブロックを、内部に備える複数の記憶デバイスに分散
配置する。このような分散配置をする際、上記公報に記
載されたビデオサーバは、乱数を用いて、各単位ブロッ
クの配置先となる記憶デバイスを任意に選択し、また、
上記文献に記載されたビデオサーバは、ビデオデータを
構成する単位ブロックを、その順序に従って、予め順番
が決められている複数の記憶デバイスに配置する。
【0004】ところで、ビデオサーバは、ユーザからの
要求が到着すると、当該要求に対応するビデオデータを
記憶デバイスから読み出し、正しい順序のストリームと
して送出する。ユーザは、送られてくるストリームを再
生すると、番組映像を得ることができる。そのため、ビ
デオサーバは、複数のユーザに対してビデオデータをリ
アルタイムで出力することを要求され、また、記憶デバ
イスからビデオデータを効率よく読み出すことも要求さ
れる。そこで、ビデオサーバは、図43に示すような、
記憶デバイス制御装置を備えている。
【0005】図43において、記憶デバイス制御装置
は、記憶デバイス4300と、キュー管理部4301
と、並び替え制御部4302とを備える。記憶デバイス
4300は、複数の記憶媒体(例えば、ハードディス
ク)を含んでおり、上述したように単位ブロックを記憶
媒体に分散配置する。キュー管理部4301は、多数の
ユーザから非同期に発生するビデオデータの要求を待ち
行列として一時的に保持し、記憶デバイス4300に対
して所定の順序で、当該要求を出力する。並び替え制御
部4302は、入力した要求をキュー管理部4301に
順次格納するが、予め定められた時間を経過する毎に、
その時点でキュー管理部4301が保持している要求
を、記憶デバイス4300におけるシーク方向が一定に
なるように並び替える。キュー管理部4301は、並び
替えられた順番に従って、要求を記憶デバイス4300
に出力する。したがって、記憶デバイス4300は、並
び替えられた順番に従って、単位ブロックを記憶媒体か
ら読み出す。こうして、記憶デバイス制御装置は、記憶
デバイス4300における、平均シーク時間を短縮し、
読み出しを効率的なものとしている。
【0006】
【発明が解決しようとする課題】ところで、ビデオデー
タは、ユーザ側で長時間にわたって再生されるため、ビ
デオサーバは、そのビデオデータを構成する単位ブロッ
クを継続的に送出しなければならない。また、ビデオサ
ーバは、ビデオデータを構成する単位ブロックのすべて
を、その要求を受け取ってから一定時間(以下、本明細
書において「遅延限界時間」と称する)の内に記憶デバ
イスから読み出されなければならない。このとき、たっ
た1つの単位ブロックでも、この遅延限界時間を超えて
読み出されることは許されない。なぜなら、ユーザ側で
ビデオデータを再生中に、一定時間を超えて読み出され
た単位ブロックに相当する部分で、番組映像が途切れた
り、音声が飛んだりするからである。しかしながら、図
43に示す記憶デバイス制御装置では、この遅延限界時
間について全く考慮されていないという問題点があっ
た。
【0007】また、ビデオサーバは、同一番組映像の要
求が、同時に多数のユーザから到着することを想定し
て、複数の記憶デバイスを備える。そして、同一番組映
像のためのビデオデータは、複数個の単位ブロックに分
割され、それぞれ異なる記憶デバイスに格納される。し
たがって、ビデオサーバは、同時に複数のユーザから同
一番組映像の要求が到着しても、それぞれ異なる記憶デ
バイスに格納されている単位ブロックを読み出していけ
ばよく、これによって、同一番組映像の要求が集中して
も、同一記憶デバイスにアクセスが集中することがなく
なる。しかしながら、ビデオサーバが多くのユーザをサ
ポートしようとすると、記憶デバイスを多く備える必要
があるという問題点があり、これによって、当該ビデオ
サーバの価格が高くなる。
【0008】また、ビデオサーバは、近い将来、番組映
像等のビデオデータだけでなく、静止画データ、コンピ
ュータデータをはじめとした様々なデータを提供するこ
とが考えられる。静止画やコンピュータデータは、ビデ
オデータと異なり、上述した途切れや音飛びが起こるこ
とがないので、遅延限界時間を考慮する必要がない。つ
まり、ビデオサーバは、遅延限界時間を考慮しなければ
ならないデータと、その必要がないデータとを格納する
と予想される。しかしながら、遅延限界時間を考慮しな
くてもよい静止画データやコンピュータデータの読み出
しが、ビデオデータが守らなければならない遅延限界時
間に影響を与えるおそれがあるという問題点が生じると
考えられる。さらに、ビデオサーバは、番組映像につい
て、再生開始時、再生速度又は再生番組変更時に高速に
応答することが要求される。
【0009】また、一度、記憶デバイスに書き込まれた
データは、何度も読み出される可能性がある。そのた
め、ビデオサーバは、ビデオデータを単位ブロックに分
割して記憶デバイスに、連続的又は分散的を問わず確実
に書き込まなければならない。しかしながら、従来のビ
デオサーバでは、書き込みの確実性について検討されて
いない。
【0010】ところで、上記文献に示される方法でデー
タを記憶デバイスに書き込むと、データ相互で記憶デバ
イスへのアクセスの順番が同じとなる。したがって、複
数のユーザから要求が同時に発生した場合、同一の記憶
デバイスへのアクセスが集中する。そのため、ある要求
についての記憶デバイスへのアクセスが終わるまで、そ
の記憶デバイスへアクセスできなくなり、他の要求につ
いての処理が遅れる。これによって、ユーザが要求を出
してからデータを得るまでに時間がかかってしまうた
め、単位時間にアクセスできるデータ量が減り、全体と
して同時に取り出せる帯域(ビデオの本数など)が小さ
くなるという問題点があった。かかる問題点に対処する
ために、要求が発生してからビデオデータへのアクセス
が始まるまでの遅延を考慮して、ユーザからの要求ごと
でアクセスのタイミングをずらすなどの方法が採られて
いるが、これによっても、要求に対する応答が遅れる。
また、帯域の互いに異なるデータに対する要求が発生し
た場合、ユーザからの要求ごとにアクセスのタイミング
をずらしておいても、帯域が異なるために、アクセスの
タイミングがだんだんと一致してしまう。そのため、上
述したような帯域が小さくなるなどの問題点が生じる。
つまり、帯域が互いに異なるデータを同時に読み出す場
合には、アクセスタイミングをずらすという方法では効
果が少ない。
【0011】一方、上記公報のビデオサーバは、乱数を
用いて、データの配置先を決定しているが、乱数系列に
よっては、同一の記憶デバイスに単位ブロックを続けて
配置してしまう場合があり、そのため、上述の帯域が小
さくなるという問題点や、各記憶デバイスの使用容量が
不均一になり、複数ある記憶デバイスを有効に使えない
という問題点があった。
【0012】また、ビデオサーバが、帯域、容量その他
の性能が互いに異なる複数の記憶デバイスを備えてお
り、上記文献又は公報に記載された方法で、全記憶デバ
イスを対象として、データを分散配置する場合、ビデオ
サーバ全体として得られる帯域や蓄えられるデータ量
は、上記性能が一番低い記憶デバイスによって束縛さ
れ、高い性能の記憶デバイスを有効に使えないという問
題点があった。
【0013】ところで、記憶デバイスなどでは、ある量
のデータが、連続領域に配置される場合と、分散配置さ
れる場合とを比較した場合、連続領域に配置されるデー
タを読み出す方が帯域は大きくなる。そのため、大きな
帯域を要するデータを扱う場合などには、複数のユーザ
からの要求が同時に発生しても、あるユーザからの要求
を連続して処理することがある。このとき、上記から明
らかなように、同一の記憶デバイスの連続領域にデータ
は配置されている方がよい。しかしながら、上記文献や
公報に記載された方法では、このようなことを想定して
いないので、ビデオサーバはユーザからの要求を効率よ
く処理できない場合がある。
【0014】それ故に、本発明の第1の目的は、遅延限
界時間を守らなければならないビデオデータを記憶デバ
イスから効率的に読み出せる記憶デバイス制御装置を提
供することである。また、本発明の第2の目的は、記憶
デバイスへビデオデータなどを高い確実性をもって書き
込める記憶デバイス制御装置を提供することである。ま
た、本発明の第3の目的は、遅延限界時間を守らなけれ
ばならないビデオデータ及びその必要がない静止画デー
タ両方を、同一の記憶デバイスに書き込める記憶デバイ
ス制御装置を提供することである。また、本発明の第4
の目的は、複数の記憶デバイスにデータを分散配置する
場合であっても、大きな帯域が得られるように、かつ、
端末からの要求に対する応答速度が高速になるように、
データの配置先を決定する記憶デバイス管理システムを
提供することである。また、本発明の第5の目的は、複
数の記憶デバイスにデータを分散配置する場合であって
も、記憶デバイス間で使用容量が均等になるようにデー
タの配置先を決定する記憶デバイス管理システムを提供
することである。さらに、本発明の第6の目的は、リア
ルタイムの読み出しを実現しつつ、記憶デバイスの利用
効率を向上させる記憶デバイス制御装置を提供すること
である。
【0015】
【課題を解決するための手段および発明の効果】以下の
第1〜第67の発明は、上記の目的を達成するために、
以下に述べる構成及び/又は特徴を持つ。第1の発明
は、外部から連続的に到着する書き込み又は読み出し要
求に従って、記憶デバイスへのデータの書き込み又は記
憶デバイスからのデータの読み出しを制御する記憶デバ
イス制御装置であって、データは、予め定められたサイ
ズを持つ単位ブロックに分割されており、 各読み出し
要求は、自身が到着した時刻から、読み出しが終了して
いなければならない時間を示す遅延限界値を含んでお
り、記憶デバイスが持つ空き領域から、所定個数の単位
ブロックを連続的に書き込みうる1つ又は複数の連続空
き領域を、記憶デバイスに書き込むべきデータに相当す
る分選択する選択手段と、書き込み要求を書き込みコマ
ンドとして出力する書き込みコマンド出力手段と、外部
から連続的に到着する読み出し要求を、読み出しコマン
ドとして出力する順序を決める順序決定手段と、順序決
定手段によって決められる順序に従って、読み出しコマ
ンドを出力する読み出しコマンド出力手段とを備え、書
き込みコマンド出力手段が、書き込みコマンドを出力す
ることによって、選択手段により選択された連続空き領
域に、記憶デバイスに書き込むべきデータが書き込まれ
ることと、順序決定手段は、外部から連続的に到着する
読み出し要求それぞれの処理順序を、各遅延限界値を越
えず、なおかつ先着順で読み出しコマンドを出力すると
仮定した場合の読み出し時間よりも短くなるように、決
定することとを特徴とする。
【0016】第1の発明によれば、記憶デバイスに書き
込むべきデータは、選択手段によって選択された連続空
き領域に書き込まれる。したがって、このデータを構成
する単位ブロックは、1つの記憶デバイス上でみると近
接して配置されることとなる。これによって、例えば、
記憶デバイスのヘッドの移動距離を短くすることがで
き、記憶デバイスへのデータを書き込むために要する時
間を短縮することができる。また、読み出し要求は、先
着順で読み出しコマンドとして出力されたと仮定した場
合の読み出しに要する時間よりも短くなるように順序を
決定して読み出しコマンドとして出力される。これによ
って、記憶デバイスからデータを読み出すために要する
時間を短縮することができる。そのため、従来の記憶デ
バイス制御装置と比較して、単位時間当たりでみた場合
に、記憶デバイスから読み出せるデータの量が多くなる
ため、高価な記憶デバイスの数量を少なくすることがで
きる。さらに、読み出し要求は、遅延限界値を超えない
範囲で読み出しコマンドとして出力されるため、リアル
タイム性を満たさなければならないビデオデータなどに
ついて、映像が途切れたり、音声が飛んだりすることを
防止できる。
【0017】第2の発明は、第1の発明において、選択
手段は、連続空き領域をランダムに選択することを特徴
とする。
【0018】第2の発明によれば、選択手段は、連続空
き領域をランダムに選択するため、例えば、複数の記憶
デバイスが接続されている場合には、それらを効率よく
使用することができる。
【0019】第3の発明は、第1の発明において、p個
の記憶デバイスd1 ,d2 ,…dpが接続されており、
選択手段は、連続空き領域を、m個(mは、1≦m≦p
を満たす整数)の記憶デバイスが持つ空き領域から選択
するものとし、さらに、記憶デバイスdi (iは、1≦
i≦mを満たす整数)から選択される連続空き領域を、
i1,ai2,…ain(nは、2以上の整数)とすると
き、書き込みコマンド出力手段は、データを構成する単
位ブロックを、a11,a21,…am1,a12,a22,…a
m2,…a1n,a2n,…amn,の順序に従って書き込むよ
うに、書き込みコマンドを出力する。
【0020】第3の発明によれば、データを構成する単
位ブロックは、同一の記憶デバイスの連続空き領域に書
き込まれるので、当該データの書き込み及び読み出しに
要する時間を短縮することができる。
【0021】第4の発明は、第1の発明において、選択
手段は、連続空き領域を、1つの記憶デバイスが持つ空
き領域から選択することを特徴とする。
【0022】第4の発明によれば、データを構成する単
位ブロックすべては、同一の記憶デバイス上に書き込ま
れるので、当該データの書き込み及び読み出しに要する
時間を短縮することができる。
【0023】第5の発明は、第1の発明において、遅延
限界値は、予め定められた値として内部に格納されてい
る。
【0024】第5の発明によれば、記憶デバイス制御装
置は、予め内部に遅延限界値を持っているので、使い勝
手がよくなる。
【0025】第6の発明は、第1の発明において、遅延
限界値は、読み出し要求に含まれているパラメータであ
る。
【0026】第6の発明によれば、外部の装置が、自由
に遅延限界値を設定できるようになる。
【0027】第7の発明は、第1の発明において、記憶
デバイスにおいて、各単位ブロックが配置される位置を
管理する位置ファイル管理手段をさらに備え、並び替え
手段は、読み出し要求を待ち行列の状態で一時的に保持
する読み出しキューを有しており、当該読み出し要求に
従って読み出される単位ブロックの記録位置を管理する
キュー管理手段と、入力した読み出し要求を、読み出し
キューにおいて付加する位置を決める位置決定手段と、
読み出しに要すると見積もられる時間である処理見積り
時間と、当該読み出し処理が終了すると予想される時刻
である終了予定時刻と、遅延限界値を参照して求められ
る時刻であって、当該読み出し処理が終了していなけれ
ばならない終了時刻から当該終了予定時刻を減算した値
である許容遅延値とを算出し管理する許容遅延情報算出
/管理手段と含み、位置決定手段は、外部から新たに到
着した読み出し要求に従って読み出される単位ブロック
の記録位置(以下、第1記録位置と称する)を、位置フ
ァイル管理手段から抽出し、読み出しキューに既に保持
されている読み出し要求に従って読み出される単位ブロ
ックの記録位置(以下、第2記録位置と称する)を、キ
ュー管理手段から抽出し、第1記録位置と第2記録位置
とに基づいて、新たに到着した読み出し要求を、読み出
しキューにおいて付加する位置を仮決めし、許容遅延情
報算出/管理手段は、仮決め位置に付加されている新た
に到着した読み出し要求について、処理見積り時間を算
出し、さらに、新たに到着した読み出し要求についての
処理見積り時間と、仮決め位置に付加されている読み出
し要求よりも後ろに付加されている各読み出し要求の許
容遅延値との大小関係を比較し、位置決定手段は、許容
遅延情報算出/管理手段によって、すべての許容遅延値
が処理見積り時間よりも大きいと判断されると、仮決め
の位置を、新たに到着した要求が付加される位置と最終
的に決定する。
【0028】第7の発明によれば、第1記録位置と第2
記録位置に基づいて新たに到着した読み出し要求を、読
み出しキューのどの位置に付加するのかが決められる。
したがって、読み出しに要する時間の短縮化を図ること
が可能となる。これによって、記憶デバイスに同一デー
タを多く格納する必要がなくなり、結果としてビデオサ
ーバの製作にかかるコストを低減することができる。
【0029】第8の発明は、第7の発明において、記憶
デバイスは、単位ブロックを格納するためのディスクを
有しており、処理見積り時間は、読み出しキューにおい
て、対象となる読み出し要求及びその直前に付加されて
いる読み出し要求に従って読み出される単位ブロックそ
れぞれが格納されているトラック位置間を、記憶デバイ
スのヘッドが移動するための時間であるシーク時間と、
対象となる読み出し要求に従って読み出される単位ブロ
ックをディスクから転送するための時間である転送時間
と、予め定められたオーバヘッド時間及び回転待ち時間
とに基づいて算出される。
【0030】第9の発明は、第8の発明において、ディ
スクのトラックにはトラック番号が付されており、位置
ファイル管理手段及びキュー管理手段は、単位ブロック
が格納されている位置に対応するトラック番号を管理し
ており、シーク時間は、トラック番号に基づいて算出さ
れる。
【0031】第10の発明は、第7の発明において、記
憶デバイスは、単位ブロックを格納するためのディスク
を有しており、処理見積り時間は、読み出しキューにお
いて、対象となる読み出し要求及びその直前に付加され
ている読み出し要求に従って読み出される単位ブロック
それぞれが格納されているシリンダ位置間を、記憶デバ
イスのヘッドが移動するための時間であるシーク時間
と、対象となる読み出し要求に従って読み出される単位
ブロックをディスクから転送するための時間である転送
時間と、予め定められたオーバヘッド時間及び回転待ち
時間とに基づいて算出される。
【0032】第8及び第10の発明によれば、処理見積
り値を可能な限り正確に算出することができる。
【0033】第11の発明は、第10の発明において、
ディスクのシリンダには、シリンダ番号が付されてお
り、位置ファイル管理手段及びキュー管理手段は、単位
ブロックの記録位置に対応するシリンダ番号を管理して
おり、シーク時間は、シリンダ番号に基づいて算出され
る。
【0034】第9及び第11の発明によれば、シーク時
間は、ディスクのトラック位置又はシリンダ位置に基づ
いて算出されるので、正確な値を得ることができる。
【0035】第12の発明は、第10の発明において、
転送時間は、読み出し要求に従って読み出される単位ブ
ロックが格納されている位置における記録密度と、ディ
スクの回転速度とに基づいて算出される。
【0036】第12の発明によれば、転送速度を可能な
限り正確に算出することができる。
【0037】第13の発明は、第8の発明において、オ
ーバヘッド時間は、単位ブロックと同一サイズを有する
データを、複数回連続的に記憶デバイスから読み出した
ときに要する時間の実測平均値から、平均シーク時間、
平均回転待ち時間及び平均データ転送時間を減算して求
められる。
【0038】第13の発明によれば、オーバヘッド時間
を可能な限り正確に算出することができる。
【0039】第14の発明は、第8の発明において、回
転待ち時間は、ディスクの平均回転待ち時間である。
【0040】第14の発明によれば、回転待ち時間に
は、ディスクの平均回転待ち時間が用いられる。これに
よって、回転待ち時間を簡単に得ることができる。
【0041】第15の発明は、第7の発明において、処
理見積り時間は、単位ブロックと同一サイズを有するデ
ータを、複数回連続的に記憶デバイスから読み出して得
られる、実測時間の集合において、所定の信頼限界とな
る時間を用いる。
【0042】第15の発明によれば、処理見積り時間
は、実測時間に基づいて求められるため、正確な値とす
ることができる。
【0043】第16の発明は、第7の発明において、記
憶デバイスは、単位ブロックを格納するためのディスク
を有しており、ディスクには、その最内周から最外周へ
とトラック番号が昇順又は降順に付されており、位置フ
ァイル管理手段は、単位ブロックが格納されている位置
に対応するトラック番号を含む位置ファイルを管理し、
キュー管理手段は、読み出しキューに付加されている読
み出し要求に従って読み出される単位ブロックが格納さ
れているトラック番号を管理し、位置決定手段は、外部
から新たに到着した読み出し要求に従って読み出される
単位ブロックが格納されているトラック番号(以下、
「第1のトラック番号」という)を、位置ファイル管理
手段から抽出し、読み出しキューに既につながれている
読み出し要求に従って読み出される単位ブロックが格納
されているトラック番号(以下、「第2のトラック番
号」という)を、キュー管理手段から抽出し、第1のト
ラック番号と第2のトラック番号とが昇順又は降順の関
係にある位置を仮決め位置として、新たに到着した読み
出し要求を付加することを特徴とする。
【0044】第17の発明は、第7の発明において、記
憶デバイスは、単位ブロックを格納するためのディスク
を有しており、ディスクには、その最内周から最外周へ
とシリンダ番号が昇順又は降順に付されており、位置フ
ァイル管理手段は、単位ブロックが格納されている位置
に対応するシリンダ番号を含む位置ファイルを管理し、
キュー管理手段は、読み出しキューに付加されている読
み出し要求に従って読み出される単位ブロックが格納さ
れているシリンダ番号を管理し、位置決定手段は、外部
から新たに到着した読み出し要求に従って読み出される
単位ブロックが格納されているシリンダ番号(以下、
「第1のシリンダ番号」という)を、位置ファイル管理
手段から抽出し、読み出しキューに既につながれている
読み出し要求に従って読み出される単位ブロックが格納
されているシリンダ番号(以下、「第2のシリンダ番
号」という)を、キュー管理手段から抽出し、第1のシ
リンダ番号と第2のシリンダ番号とが昇順又は降順の関
係にある位置を仮決め位置として、新たに到着した読み
出し要求を付加することを特徴とする。
【0045】第16及び第17の発明によれば、第1の
トラック番号(またはシリンダ番号)と第2のトラック
番号(またはシリンダ番号)とが昇順または降順という
関係を満たすように、新たに到着した読み出し要求を付
加する位置を決めるので、記憶デバイスのヘッドの移動
距離を減らすことができる。これによって、読み出し時
間の短縮化を図ることができる。
【0046】第18の発明は、第7の発明において、記
憶デバイスにおいて、読み出し要求に応じた単位ブロッ
クについての読み出しが終了した終了時刻を検出し、当
該終了時刻を許容遅延情報算出/管理手段に通知するコ
マンド終了処理手段をさらに備え、許容遅延情報算出/
管理手段は、コマンド終了処理手段によって通知された
終了時刻と、内部で管理する読み出し要求の終了予定時
刻とが異なる場合には、当該終了時刻と当該終了予定時
刻との差分の時間を算出し、算出した差分の時間に基づ
いて、読み出しキュー内に格納されている読み出し要求
の終了予定時刻及び許容遅延値を更新する。
【0047】第18の発明によれば、読み出しが終了し
た現実の終了時刻と終了予定時刻との差分を許容遅延値
に反映させているため、本記憶デバイス制御装置は、さ
らに多くのコマンドを発行することができるようにな
る。
【0048】第19の発明は、外部から連続的に到着す
る書き込み又は読み出し要求に従って、記憶デバイスへ
のデータの書き込み又は記憶デバイスからのデータの読
み出しを制御する記憶デバイス制御装置であって、読み
出し要求は、当該読み出し要求が入力してから読み出し
処理が終了するまでの時間の最大値を示す遅延限界値を
含み、書き込み要求を書き込みコマンドとして、記憶デ
バイスに出力する書き込みコマンド出力手段を備え、書
き込みコマンド出力手段は、各読み出し要求が含む遅延
限界値を越えない範囲で、データの書き込みが実行され
るよう書き込みコマンドを出力する。
【0049】第19の発明によれば、書き込みコマンド
出力手段は、各読み出し読出要求に定められている遅延
限界値を越えない範囲で、書き込みコマンドを出力して
いる。したがって、記憶デバイスからは、遅延限界値を
越えない範囲でデータが読み出されるので、当該データ
のリアルタイム性は保証される。
【0050】第20の発明は、第19の発明において、
読み出し及び書き込みに要すると見積もられる時間であ
る処理見積り時間と、当該処理が終了すると予想される
時刻である終了予定時刻と、遅延限界値を参照して求め
られる時刻であって、当該処理が終了していなければな
らない終了時刻から当該読み出し終了予定時刻を減算し
た値である許容遅延値とを算出し管理する許容遅延情報
算出/管理手段をさらに備え、書き込みコマンド出力手
段は、許容遅延値が書き込み要求の処理見積り時間より
も大きい場合、書き込みコマンドを出力し、許容遅延情
報算出/管理手段は、書き込みコマンドが出力される
と、読み出し要求それぞれの許容遅延値から、書き込み
要求の処理見積り時間を減算することを特徴とする。
【0051】第20の発明によれば、許容遅延情報算出
/管理手段は、書き込みが実行されると、書き込みの処
理見積り時間を、各読み出し要求の許容遅延値から減算
し更新する。これによって、許容遅延情報算出/管理手
段は、常に正確な許容遅延値を管理することができる。
【0052】第21の発明は、第20の発明において、
書き込み要求の処理見積り時間は、書き込み要求に従っ
て書き込まれるデータと同一サイズを有するデータを、
複数回連続して記憶デバイスに書き込んで得られる、実
測時間の集合において、所定の信頼限界となる処理時間
である。
【0053】第21の発明によれば、処理見積り時間
は、実測時間に基づいて求められるため、正確な値とす
ることができる。
【0054】第22の発明は、第21の発明において、
記憶デバイスが実行した書き込みの現実の終了時刻を受
け取り、当該現実の終了時刻を許容遅延情報算出/管理
手段に通知するコマンド終了処理手段をさらに備え、許
容遅延情報算出/管理手段は、現実の終了時刻に基づい
て算出される時間であって、書き込みに現実に要した処
理時間と、書き込み要求が持つ処理見積り時間とが異な
る場合には、当該処理時間と当該処理見積り時間との差
分の時間を算出し、算出した差分の時間に基づいて、各
読み出し要求の許容遅延値を更新する。
【0055】第22の発明によれば、許容遅延情報算出
/管理時間は、書き込みの現実の処理終了時刻と終了予
定時刻との差分の時間に基づいて、各読み出し要求の許
容遅延値を更新する。これによって、許容遅延情報算出
/管理手段は、常に正確な許容遅延値を管理することが
できる。
【0056】第23の発明は、第19の発明において、
遅延限界値は、予め定められた値として内部に格納され
ている。
【0057】第23の発明によれば、記憶デバイス制御
装置は、予め内部に遅延限界値を持っているので、使い
勝手がよくなる。
【0058】第24の発明は、第19の発明において、
遅延限界値は、読み出し要求に含まれているパラメータ
である。
【0059】第24の発明によれば、外部の装置が、自
由に遅延限界値を設定できるようになる。
【0060】第25の発明は、外部から連続的に到着す
る書き込み要求に従って、記憶デバイスへのデータの書
き込みを制御する記憶デバイス制御装置であって、記憶
デバイスに書き込まれるデータを一時的に格納するバッ
ファメモリの使用容量を管理し、当該使用容量が所定の
しきい値以上か否かを判断するバッファメモリ管理/判
断手段と、書き込み要求を書き込みコマンドとして、記
憶デバイスに出力する書き込みコマンド出力手段とを備
え、書き込みコマンド出力手段は、バッファメモリ管理
/判断手段によって、使用容量が所定のしきい値以上で
あると判断された場合には、書き込みコマンドを出力
し、これによって、バッファメモリに一時的に格納され
ているデータが、記憶デバイスに書き込まれる。
【0061】第25の発明によれば、書き込みコマンド
出力手段は、バッファメモリ管理/判断手段が使用容量
が所定のしきい値以上であると判断した場合には、書込
コマンドを出力する。これによって、バッファメモリの
オーバーフローを防止し、記憶デバイスへのデータの書
き込みの信頼性を向上させている。
【0062】第26の発明は、外部から連続的に到着す
る書き込み要求に従って、記憶デバイスへのデータの書
き込みを制御する記憶デバイス制御装置であって、各書
き込み要求は、自身が到着した時刻から、書き込みが終
了していなければならない時間の最大値を示す遅延限界
値を含んでおり、書き込み要求を書き込みコマンドとし
て、記憶デバイスに出力する書き込みコマンド出力手段
を備え、書き込みコマンド出力手段は、書き込み要求が
到着してから遅延限界値を経過すると、書き込みコマン
ドを出力する。
【0063】第26の発明は、書き込みコマンド出力手
段は、書き込み要求が到着してから遅延限界値を経過す
ると、書き込みコマンドを出力する。これによって、デ
ータは、遅延限界値を超えることなく、記憶デバイスに
書き込まれる。これによって、データの書き込みが終了
せず、そのデータを読み出せないという状況を回避する
ことができる。
【0064】第27の発明は、第26の発明において、
遅延限界値は、予め定められた値として内部に格納され
ている。
【0065】第27の発明によれば、記憶デバイス制御
装置は、予め内部に遅延限界値を持っているので、使い
勝手がよくなる。
【0066】第28の発明は、第26の発明において、
遅延限界値は、書き込み要求に含まれているパラメータ
である。
【0067】第28の発明によれば、外部の装置が、自
由に遅延限界値を設定できるようになる。
【0068】第29の発明は、外部から連続的に到着す
る書き込み又は読み出し要求に従って、記憶デバイスへ
のデータの書き込み又は記憶デバイスからのデータの読
み出しを制御する記憶デバイス制御装置であって、各読
み出し要求は、第1又は第2の優先度情報を含み、少な
くとも、第2の優先度情報を含む読み出し要求は、当該
読み出し要求が到着してから読み出しが終了するまでの
時間の最大値を示す遅延限界値を含み、読み出し要求を
読み出しコマンドとして、記憶デバイスに出力する読み
出しコマンド出力手段とを備え、読み出しコマンド出力
手段は、第1の優先度情報を含む読み出し要求を、既に
到着している第2の優先度情報を含む読み出し要求の遅
延限界値を越えない範囲で、当該第2の優先度情報を含
む読み出し要求よりも優先的に読み出しコマンドとして
出力することを特徴とする。
【0069】第29の発明によれば、読出コマンド出力
手段は、高速に応答しなければならない読出要求(第1
の優先度情報を含む)に対しては、他の読出要求(第2
の優先度情報)の遅延限界値を越えない範囲で、即座に
読出要求(第1の優先度情報)に対応するデータが読み
出される。
【0070】第30の発明は、第29の発明において、
データは、所定のデータサイズを有する単位ブロックに
分割されており、記憶デバイスの空き領域から、単位ブ
ロックを所定個数記憶しうる連続空き領域が、データが
必要とする数だけ選択され、選択された連続空き領域
は、データが記録される位置を特定するための位置ファ
イルとして記憶デバイスに格納されており、位置ファイ
ルを記憶デバイスから読み出すための読み出し要求に
は、第1の優先度情報が含まれている。
【0071】第30の発明によれば、位置ファイルを記
憶デバイスから読み出すための読出要求には、第1の優
先度情報が含まれているため、当該位置ファイルは、記
憶デバイスから優先的に読み出される。
【0072】第31の発明は、第29の発明において、
第1の優先度情報を含む読み出し要求を待ち行列の状態
で保持する第1の読み出しキューと、第2の優先度情報
を含む読み出し要求を待ち行列の状態で保持する第2の
読み出しキューと、各読み出し要求に従って実行される
読み出しに要する時間の見積り値である処理見積り時間
と、当該読み出しが終了すると予想される時刻である終
了予定時刻と、遅延限界値を参照して求められる時刻で
あって、当該読み出しが終了していなければならない終
了時刻から当該終了予定時刻を減算した値である許容遅
延値とを算出し管理する許容遅延情報算出/管理手段と
をさらに備え、読み出しコマンド出力手段は、第1の読
み出しキューに保持される読み出し要求の処理見積り時
間が、第2の読み出しキューに保持される読み出し要求
すべての許容遅延値よりも小さい場合には、当該第1の
読み出しキューが保持する待ち行列の先頭位置に保持さ
れている読み出し要求を、読み出しコマンドとして出力
することを特徴とする。
【0073】第31の発明によれば、読み出しコマンド
出力手段は、第1の読み出しキューに保持される読み出
し要求の処理見積り時間が、第2の読み出しキューに保
持されている読み出し要求すべての許容遅延値よりも小
さい場合には、第1の読み出しキューから読み出しコマ
ンドを出力する。これによって、第1の優先度情報を含
む読出要求は優先的にコマンドとして出力される。
【0074】第32の発明は、第29の発明において、
第1及び第2の優先度情報を含む読み出し要求を待ち行
列の状態で保持する読み出しキューと、外部から新たに
到着した読み出し要求を、読み出しキューにおいて、所
定の位置に付加することを決定する位置決定手段と、読
み出しキューに保持されている各読み出し要求に従って
実行される読み出しに要する時間の見積り値である処理
見積り時間と、当該読み出し処理が終了すると予想され
る時刻である終了予定時刻と、遅延限界値を参照して求
められる時刻であって、当該読み出しが終了していなけ
ればならない終了時刻から当該終了予定時刻を減算した
値である許容遅延値とを算出し管理する許容遅延情報算
出/管理手段とをさらに備え、位置決定手段は、第1の
優先度情報を含む読み出し要求を、既に読み出しキュー
に保持されており、第2の優先度情報を含む読み出し要
求の遅延限界値を越えない範囲で、当該第2の優先度情
報を含む読み出し要求よりも優先的に読み出しコマンド
として出力されるように、待ち行列に付加し、読み出し
コマンド出力手段は、読み出しキューが保持する待ち行
列の先頭から順番に、読み出し要求を読み出しコマンド
として出力する。
【0075】第32の発明によれば、第1及び第2の優
先度情報を含む読み出し要求は、同一のキューに保持さ
れる。このとき、位置決定手段は、新たに到着し、第1
の優先度情報を含む読み出し要求を、既に読み出しキュ
ーに保持されており、第2の優先度情報を含む読み出し
要求の遅延限界値を越えない範囲で、優先的にコマンド
として出力するように、当該読み出しキューにおける位
置を決定する。読み出しコマンド出力手段は、読み出し
キューが保持する待ち行列の先頭から順番に、読み出し
コマンドを出力する。したがって、読み出しコマンドを
出力するキューを選択する必要性がなくなり、記憶デバ
イス制御装置における処理を効率なものとすることがで
きる。
【0076】第33の発明は、第32の発明において、
位置決定手段は、第1の優先度情報を含む読み出し要求
が新たに到着すると、読み出しキューが保持する待ち行
列の最後尾の最も近くに位置する第2の優先度情報を含
む読み出し要求を、サンプル要求とし、許容遅延情報算
出/管理手段は、読み出しキュー格納手段が、入力した
第1の優先度情報を含む読み出し要求を付加する位置と
して、サンプル要求の直前の位置に仮決した場合の当該
読み出し要求の処理見積り時間を算出し、位置決定手段
は、サンプル要求及びそれより後ろに位置しており、第
2の優先度情報を含む各読み出し要求の許容遅延値と、
新たに到着した読み出し要求の処理見積り時間とを比較
し、各許容遅延値が処理見積り時間以上であれば、サン
プル要求の直前の位置を、新たに到着した読み出し要求
を付加する位置と最終的に決定し、少なくとも1つの許
容遅延値が処理見積り時間未満であれば、サンプル要求
が読み出しキューが保持する待ち行列の最後尾に位置す
るか否かを調査し、サンプル要求が最後尾に位置する場
合、新たに到着した読み出し要求を、読み出しキューが
保持する待ち行列の最後尾に付加し、サンプル要求が最
後尾に位置しない場合、当該サンプル要求の直後に位置
する読み出し要求を、新たなサンプル要求として設定す
る。
【0077】第33の発明によれば、第1の優先度情報
を含む読み出し要求を、優先的に読み出しコマンドとし
て発行することができる。
【0078】第34の発明は、第32の発明において、
記憶デバイスは、単位ブロックを格納するためのディス
クを有しており、処理見積り時間は、読み出しキューに
おいて、対象となる読み出し要求及びその直前に付加さ
れている読み出し要求に従って読み出される単位ブロッ
クそれぞれが格納されているトラック位置又はシリンダ
位置間を、記憶デバイスのヘッドが移動するシーク時間
と、対象となる読み出し要求に従って読み出される単位
ブロックをディスクから転送するための時間である転送
時間と、予め定められたオーバヘッド時間及び回転待ち
時間とに基づいて算出される。
【0079】第34の発明によれば、処理見積り値を可
能な限り正確に算出することができる。
【0080】第35の発明は、第32の発明において、
処理見積り時間は、単位ブロックと同一サイズを有する
データを、複数回連続的に記憶デバイスから読み出して
得られる、実測時間の集合において、所定の信頼限界と
なる時間を用いる。
【0081】第35の発明によれば、処理見積り時間
は、実測時間に基づいて求められるため、正確な値とす
ることができる。
【0082】第36の発明は、第29の発明において、
読み出し要求は、第1〜第3の優先度情報のいずれかを
含み、読み出しコマンド出力手段は、新たに到着した読
み出し要求が第3の優先度情報を含む場合、第1及び第
2の優先度情報含む読み出し要求がすべて読み出しコマ
ンドとして出力された後に、当該新たに到着した読み出
し要求を読み出しコマンドとして出力することを特徴と
する。
【0083】第36の発明によれば、第3の優先度情報
を含む読出要求は、第1または第2優先度情報含む読み
出し要求がすべて読み出しコマンドとして出力された後
に、読み出しコマンドとして出力される。したがって、
遅延限界値を厳格に守らなければならないようなデータ
(例えば、ビデオデータ等)を読み出すときには、第1
または第2の優先度情報を用い、また、遅延限界値を守
らなくともよいデータ(例えば静止画データ、コンピュ
ータデータ等)を読み出すときには、第3の優先度情報
を用いる。これによって、第3の優先度情報を含む読出
要求に応じた読出処理に要する時間が、第1および第2
の優先度情報を含む読出要求に影響を与えることがなく
なり、これらの遅延限界値は厳格に守られることとなる
ため、記憶デバイスに様々なデータ(ビデオデータ、静
止画データ、コンピュータデータ等)を格納することが
できる。
【0084】第37の発明は、外部から連続的に到着す
る書き込み又は読み出し要求に従って、記憶デバイスへ
のデータの書き込み又は記憶デバイスからのデータの読
み出しを制御する記憶デバイス制御装置であって、読み
出し及び書き込み要求は、到着してから読み出し又は書
き込みが終了するまでの時間の最大値を示す遅延限界値
を含み、読み出し要求を待ち行列の状態で一時的に保持
する読み出しキューと、書き込み要求を待ち行列の状態
で一時的に保持する書き込みキューと、読み出し又は書
き込みキューを選択し、読み出しキュー又は書き込みキ
ューが保持する待ち行列の先頭の読み出し要求又は書き
込み要求を読み出しコマンド又は書き込みコマンドとし
て、記憶デバイスに出力するコマンド出力手段と、到着
した読み出し又は書き込み要求に従って実行される処理
に要する時間の見積り値である処理見積り時間と、当該
処理が終了すると予想される時刻である終了予定時刻
と、遅延限界値それぞれを参照して求められる時刻であ
って、当該処理が終了していなければならない終了時刻
から当該終了予定時刻を減算した値である許容遅延値と
を算出し管理する許容遅延情報算出/管理手段と、記憶
デバイスに書き込まれるデータを一時的に格納するバッ
ファメモリの使用容量を管理し、当該使用容量が所定の
しきい値以上か否かを判断するバッファメモリ管理/判
断手段と、書き込みキューが保持する待ち行列の先頭の
書き込み要求の処理見積り時間と、読み出しキューが保
持する待ち行列を構成する読み出し要求の許容遅延値の
最小値との大小関係を比較する比較手段と、読み出しキ
ュー又は書き込みキューに読み出し要求又は書き込み要
求が保持されているか否かを判断する判断手段とを備
え、コマンド出力手段は、バッファメモリ管理/判断手
段によって、使用容量が所定のしきい値以上と判断され
た場合と、現在時刻が、許容遅延情報算出/管理手段が
管理する書き込み要求の許容遅延値に至っている場合
と、判断手段によって書き込み要求及び読み出し要求が
書き込みキュー及び読み出しキューに保持されていると
判断され、かつ比較手段によって書き込み要求の処理見
積り時間の方が許容遅延値の最小値よりも小さいと判断
された場合と、判断手段によって書き込み要求のみが書
き込みキューに保持されていると判断された場合とに
は、書き込みキューを選択し、判断手段によって書き込
み要求及び読み出し要求が格納されていると判断され、
かつバッファメモリ管理/判断手段によって、使用容量
が所定のしきい値未満と判断された場合と、判断手段に
よって読み出し要求のみが読み出しキューに保持されて
いると判断された場合とには、読み出しキューを選択す
る。
【0085】第37の発明によれば、書き込みコマンド
は、各読み出し要求の遅延限界値を超えない範囲で、優
先的に出力される。これによって、記憶デバイスから読
み出されるデータは、遅延限界値を超えることはなく、
リアルタイム性が保証される。また、バッファメモリは
オーバーフローすることがなくなるので、記憶デバイス
に書き込まれるデータの信頼性が向上する。さらに、許
容遅延値を超える書き込み要求は、優先的に書き込みコ
マンドとして出力されるため、書き込みが終了せず、当
該データを読み出せないという状況を回避することがで
きる。これによって、多数のユーザが読み出したりする
データ等を記憶デバイスに確実に書き込むことができ
る。
【0086】第38の発明は、外部から連続的に到着す
る書き込み又は読み出し要求に従って、記憶デバイスへ
のデータの書き込み又は記憶デバイスからのデータの読
み出しを制御する記憶デバイス制御装置であって、前記
読み出し要求は、第1〜第3のいずれかの優先度情報を
含み、少なくとも、前記第1及び第2の優先度情報を含
む読み出し要求と、前記書き込み要求とは、到着してか
ら読み出し又は書き込みが終了するまでの時間の最大値
を示す遅延限界値を含み、前記第1及び第2の優先度情
報を含む読み出し要求を待ち行列の状態で一時的に保持
する第1の読み出しキューと、前記第3の優先度情報を
含む読み出し要求を待ち行列の状態で一時的に保持する
第2の読み出しキューと、前記書き込み要求を待ち行列
の状態で一時的に保持する書き込みキューと、外部から
入力した第1の優先度情報を含む読み出し要求を、前記
第1の読み出しキューにおいて、所定の位置に付加する
ことを決定する位置決定手段と、第1の読み出しキュ
ー、第2の読み出しキュー又は書き込みキューの中から
1つのキューを選択し、選択したキューに保持されてい
る待ち行列の先頭から、読み出し要求を読み出しコマン
ドとして又は書き込み要求を書き込みコマンドとして、
前記記憶デバイスに出力するコマンド出力手段と、到着
した読み出し要求及び書き込み要求に従って実行される
処理に要する時間の見積り値である処理見積り時間と、
当該処理が終了すると予想される時刻である終了予定時
刻と、前記遅延限界値を参照して求められる時刻であっ
て、当該処理が終了していなければならない終了時刻か
ら当該終了予定時刻を減算した値である許容遅延値とを
算出し管理する許容遅延情報算出/管理手段と、前記記
憶デバイスに書き込まれるデータを一時的に格納するバ
ッファメモリの使用容量を管理し、当該使用容量が所定
のしきい値以上か否かを判断するバッファメモリ管理/
判断手段と、前記書き込みキューが保持する待ち行列の
先頭の書き込み要求の処理見積り時間と、前記第1の読
み出しキューが保持する待ち行列を構成する読み出し要
求の許容遅延値の最小値との大小関係を比較する比較手
段と、前記第1の読み出しキュー、第2の読み出しキュ
ー又は書き込みキューに読み出し要求又は書き込み要求
が保持されているか否か、さらに当該第1の読み出しキ
ューには第1の優先度情報を含む読み出し要求が保持さ
れているか否かを判断する判断手段とを備え、前記位置
決定手段は、第1の優先度情報を含む読み出し要求を、
前記第1の読み出しキューに既に格納されている第2の
優先度情報を含む読み出し要求の許容遅延値を越えない
範囲で、当該第2の優先度情報を含む読み出し要求より
も優先的に読み出しコマンドとして出力されるように、
当該第1の読み出しキューに付加し、前記コマンド出力
手段は、前記バッファメモリ管理/判断手段によって、
前記使用容量が所定のしきい値以上と判断された場合
と、前記バッファメモリ管理/判断手段によって、前記
使用容量が所定のしきい値未満と判断され、さらに前記
許容遅延情報算出/管理手段が管理する書き込み要求の
許容遅延値に至っている場合と、前記バッファメモリ管
理/判断手段によって、前記使用容量が所定のしきい値
未満と判断され、前記許容遅延情報算出/管理手段が管
理する書き込み要求の許容遅延値に至っておらず、さら
に前記判断手段によって最優先情報を含む読み出し要求
が格納されていないと判断され、かつ前記比較手段によ
って書き込み要求の処理見積り時間の方が許容遅延値の
最小値よりも小さいと判断された場合とには、書き込み
キューを選択し、前記バッファメモリ管理/判断手段に
よって、前記使用容量が所定のしきい値未満と判断さ
れ、前記許容遅延情報算出/管理手段が管理する書き込
み要求の許容遅延値に至っておらず、さらに前記判断手
段によって、前記第1の読み出しキューに第1の優先度
情報を含む読み出し要求が格納されていると判断された
場合と、前記バッファメモリ管理/判断手段によって、
前記使用容量が所定のしきい値未満と判断され、前記許
容遅延情報算出/管理手段が管理する書き込み要求の許
容遅延値に至っておらず、前記判断手段によって、前記
第1の読み出しキューに第1の優先度情報を含む読み出
し要求が格納されておらず、さらに前記比較手段によっ
て書き込み要求の処理見積り時間の方が許容遅延値の最
小値よりも大きいと判断された場合と、前記判断手段に
よって書き込み要求が格納されていないと判断された場
合とには、前記第1の読み出しキューを選択し、前記判
断手段によって、前記第2の読み出しキューにのみ読み
出し要求が格納されていると判断された場合には、当該
第2の読み出しキューを選択する。
【0087】第38の発明もまた、第37の発明と同様
に、書き込みコマンドは、各読み出し要求の遅延限界値
を超えない範囲で、出力される。したがって、記憶デバ
イスから読み出されるデータのリアルタイム性は保証さ
れる。また、バッファメモリはオーバーフローすること
がなくなるので、記憶デバイスに書き込まれるデータの
信頼性が向上する。さらに、許容遅延値を超える書き込
み要求は、優先的に書き込みコマンドとして出力される
ため、書き込みが終了せず、当該データを読み出せない
という状況を回避することができる。これによって、多
数のユーザが読み出したりするデータ等を記憶デバイス
に確実に書き込むことができる。さらに、第1の読み出
しキューには、第1及び第2の優先度情報を含む読み出
し要求が保持される。このとき、位置決定手段は、第1
の優先度情報を含む読み出し要求が優先的にコマンドと
して出力されるように、当該第1の読み出しキューにお
ける位置を決める。これによって、読み出しコマンドを
出力するキューを選択する必要性がなくなり、記憶デバ
イス制御装置における処理を効率なものとすることがで
きる。
【0088】第39の発明は、外部から連続的に到着す
る書き込み又は読み出し要求に従って、記憶デバイスへ
のデータの書き込み又は記憶デバイスからのデータの読
み出しを制御する記憶デバイス制御装置であって、前記
読み出し又は書き込み要求は、コマンドとして出力され
る優先度を規定する優先度情報を含み、前記書き込み又
は読み出し要求を待ち行列の状態で一時的に保持する複
数のキューと、前記優先度情報に基づいて、外部から到
着した書き込み及び読み出し要求を所定のキューにおい
て、所定の位置に付加することを決定する位置決定手段
と、複数のキューのうちいずれか1つのキューを選択
し、選択したキューが保持する待ち行列の先頭に位置す
る、書き込み又は読み出し要求をコマンドとして、前記
記憶デバイスに出力するコマンド出力手段と、前記書き
込み要求をコマンドとして発行するか、前記読み出し要
求をコマンドとして発行するかを決定づける状態番号を
保持する状態番号保持手段とを備え、前記コマンド出力
手段は、前記状態番号保持手段が保持する状態番号に基
づいて、複数のキューのうちいずれかのキューを選択す
る。
【0089】第39の発明によれば、コマンド出力手段
は、この状態番号を参照して、選択するキューを決定す
るため、自身がコマンドを発行するキューを選択する必
要がない。これによって、コマンド発行のための処理時
間が短縮化することができ、結果として、読み出し及び
書き込みに要する時間の短縮化を図れる記憶デバイス制
御装置を提供することができる。
【0090】第40の発明は、第39の発明において、
前記読み出し及び書き込み要求は、到着してから処理が
終了するまでの時間の最大値を示す遅延限界値を含み、
前記複数のキューとして、前記読み出し要求を待ち行列
として一時的に保持する読み出しキュー、及び、前記書
き込み要求を待ち行列として一時的に保持する書き込み
キューとがあり、到着した読み出し要求及び書き込み要
求に従って実行される処理に要する時間の見積り値であ
る処理見積り時間と、当該処理が終了すると予想される
時刻である終了予定時刻と、前記遅延限界値それぞれを
参照して求められる時刻であって、当該処理が終了して
いなければならない終了時刻から当該終了予定時刻を減
算した値である許容遅延値とを算出し管理する許容遅延
情報算出/管理手段と、前記記憶デバイスに書き込まれ
るデータを一時的に格納するバッファメモリの使用容量
を管理し、当該使用容量が所定のしきい値以上か否かを
判断するバッファメモリ管理/判断手段と、前記書き込
みキューが保持する待ち行列の先頭の書き込み要求の処
理見積り時間と、前記読み出しキューが保持する待ち行
列を構成する読み出し要求の許容遅延値の最小値との大
小関係を比較する比較手段と、前記読み出しキュー及び
前記書き込みキューに読み出し要求及び書き込み要求が
保持されているか否かを判断する判断手段とを備え、前
記状態番号保持手段は、前記状態番号として、前記バッ
ファメモリ管理/判断手段によって、前記使用容量が所
定のしきい値以上と判断された場合を示す第1の状態番
号と、前記許容遅延情報算出/管理手段が管理する書き
込み要求の許容遅延値に至っている場合を示す第2の状
態番号と、前記判断手段によって書き込み要求及び読み
出し要求が格納されていると判断され、かつ前記比較手
段によって書き込み要求の処理見積り時間の方が許容遅
延値の最小値よりも小さいと判断された場合を示す第3
の状態番号と、前記判断手段によって書き込み要求のみ
が格納されていると判断される場合を示す第4の状態番
号と、前記判断手段によって書き込み要求及び読み出し
要求が格納されていると判断され、かつ前記バッファメ
モリ管理/判断手段によって、前記使用容量が所定のし
きい値未満と判断される場合を示す第5の状態番号と、
前記判断手段によって読み出し要求のみが格納されてい
ると判断される場合を示す第6の状態番号とを保持して
おり、前記位置決定手段は、第1の優先度情報を含む読
み出し要求を、前記読み出しキューに既に格納されてい
る第2の優先度情報を含む読み出し要求の許容遅延値を
越えない範囲で、当該第2の優先度情報を含む読み出し
要求よりも優先的に読み出しコマンドとして出力される
ように、読み出しキューに付加し、前記コマンド出力手
段は、前記状態番号保持手段が前記第1〜第4のいずれ
かの状態番号を保持しているとき、前記書き込みキュー
を選択し、前記状態番号保持手段が前記第5又は第6の
状態番号を保持しているとき、前記読み出しキューを選
択する。
【0091】第40の発明によれば、コマンド出力手段
は、許容遅延情報算出/管理手段と、バッファメモリ管
理/判断手段と、比較手段と、判断手段とを参照して、
読み出しキューから読み出しコマンドを出力するか、書
き込みキューから書き込みコマンドを出力するかを決定
する。これによって、記憶デバイスから読み出されるデ
ータのリアルタイム性が保証される。また、バッファメ
モリがオーバーフローすることがなくなり、記憶デバイ
スにデータを確実に書き込むことができる。さらに、デ
ータの書き込みが終了しないことにより、データを読み
出せないという状況を回避することができる。
【0092】第41の発明は、第39の発明において、
前記読み出し要求は、第1〜第3のいずれかの優先度情
報を含み、少なくとも、前記第1及び第2の優先度情報
を含む読み出し要求、又は、前記書き込み要求は、到着
してから読み出し又は書き込みが終了するまでの時間の
最大値を示す遅延限界値を含み、前記複数のキューとし
て、前記第1及び第2の優先度情報を含む読み出し要求
を待ち行列として一時的に保持する第1の読み出しキュ
ー、前記第3の優先度情報を含む読み出し要求を待ち行
列として一時的に保持する第2の読み出しキュー、及
び、前記書き込み要求を待ち行列として保持する書き込
みキューとがあり、到着した読み出し要求及び書き込み
要求に従って実行される処理に要する時間の見積り値で
ある処理見積り時間と、当該処理が終了すると予想され
る時刻である終了予定時刻と、前記遅延限界値を参照し
て求められる時刻であって、当該処理が終了していなけ
ればならない終了時刻から当該終了予定時刻を減算した
値である許容遅延値とを算出し管理する許容遅延情報算
出/管理手段と、前記記憶デバイスに書き込まれるデー
タを一時的に格納するバッファメモリの使用容量を管理
し、当該使用容量が所定のしきい値以上か否かを判断す
るバッファメモリ管理/判断手段と、前記書き込みキュ
ーが保持する待ち行列の先頭の書き込み要求の処理見積
り時間と、前記第1の読み出しキューが保持する待ち行
列を構成する読み出し要求の許容遅延値の最小値との大
小関係を比較する比較手段と、前記第1の読み出しキュ
ー、第2の読み出しキュー又は書き込みキューに読み出
し要求又は書き込み要求が保持されているか否か、さら
に当該第1の読み出しキューには第1の優先度情報を含
む読み出し要求が保持されているか否かを判断する判断
手段とを備え、前記位置決定手段は、第1の優先度情報
を含む読み出し要求を、前記第1の読み出しキューに既
に格納されている第2の優先度情報を含む読み出し要求
の許容遅延値を越えない範囲で、当該第2の優先度情報
を含む読み出し要求よりも優先的に読み出しコマンドと
して出力されるように、当該第1の読み出しキューに付
加し、前記状態番号管理手段が管理する状態番号とし
て、前記バッファメモリ管理/判断手段によって、前記
使用容量が所定のしきい値以上と判断される場合を示す
第1の状態番号と、前記バッファメモリ管理/判断手段
によって、前記使用容量が所定のしきい値未満と判断さ
れ、さらに前記許容遅延情報算出/管理手段が管理する
書き込み要求の許容遅延値に至っている場合を示す第2
の状態番号と、前記バッファメモリ管理/判断手段によ
って、前記使用容量が所定のしきい値未満と判断され、
前記許容遅延情報算出/管理手段が管理する書き込み要
求の許容遅延値に至っておらず、さらに前記判断手段に
よって最優先情報を含む読み出し要求が格納されていな
いと判断され、かつ前記比較手段によって書き込み要求
の処理見積り時間の方が許容遅延値の最小値よりも小さ
いと判断される場合を示す第3の状態番号と、前記バッ
ファメモリ管理/判断手段によって、前記使用容量が所
定のしきい値未満と判断され、前記許容遅延情報算出/
管理手段が管理する書き込み要求の許容遅延値に至って
おらず、さらに前記判断手段によって、前記第1の読み
出しキューに第1の優先度情報を含む読み出し要求が格
納されていると判断される場合を示す第4の状態番号
と、前記バッファメモリ管理/判断手段によって、前記
使用容量が所定のしきい値未満と判断され、前記許容遅
延情報算出/管理手段が管理する書き込み要求の許容遅
延値に至っておらず、前記判断手段によって、前記第1
の読み出しキューに第1の優先度情報を含む読み出し要
求が格納されておらず、さらに前記比較手段によって書
き込み要求の処理見積り時間の方が許容遅延値の最小値
よりも大きいと判断される場合を示す第5の状態番号
と、前記判断手段によって書き込み要求が格納されてい
ないと判断される場合を示す第6の状態番号と、前記判
断手段によって、前記第2の読み出しキューにのみ読み
出し要求が格納されていると判断される場合を示す第7
の状態番号とが設定されており、前記コマンド出力手段
は、前記状態番号管理手段が、前記第1〜第3のいずれ
かの状態番号を保持しているとき、前記書き込みキュー
を選択し、前記状態番号管理手段が、前記第4〜第6の
状態番号を保持しているとき、前記第1の読み出しキュ
ーを選択し、前記状態番号管理手段が、前記第7の状態
番号を保持しているとき、前記第2の読み出しキューを
選択する。
【0093】第41の発明によれば、記憶デバイスから
読み出されるデータのリアルタイム性が保証される。ま
た、また、バッファメモリがオーバーフローすることが
なくなり、記憶デバイスにデータを確実に書き込むこと
ができる。また、データの書き込みが終了しないことに
より、データを読み出せないという状況を回避すること
ができる。さらに、リアルタイム性を保証しなければな
らないデータとそうでないデータとを同一の記憶デバイ
スに書き込むことができる。
【0094】第42の発明は、第38の発明において、
前記位置決定手段は、第1の優先度情報を含む読み出し
要求が外部から新たに到着すると、前記第1の読み出し
キューの最後尾の最も近くに位置し、さらに第2の優先
度情報を含む読み出し要求を、サンプル要求として設定
し、許容遅延情報算出/管理手段は、前記位置決定手段
が、前記サンプル要求の直前を、到着した新たな読み出
し要求を付加する位置と仮決めした場合における、当該
読み出し要求の処理見積り時間を算出し前記位置決定手
段は、前記サンプル要求及びそれより後ろに位置してお
り、第2の優先度情報を含む各読み出し要求の許容遅延
値と、前記新たに到着した読み出し要求の処理見積り時
間とを比較し、各前記許容遅延値が処理見積り時間以上
であれば、前記サンプル要求の直前の位置を、前記新た
に到着した読み出し要求を付加する位置と最終的に決定
し、少なくとも1つの前記許容遅延値が処理見積り時間
未満であれば、前記サンプル要求が前記第1の読み出し
キューが保持する待ち行列の最後尾に位置するか否かを
調査し、前記サンプル要求が最後尾に位置する場合、前
記新たに到着した読み出し要求を、前記第1の読み出し
キューが保持する待ち行列の最後尾に付加し、前記サン
プル要求が最後尾に位置しない場合、当該サンプル要求
の直後に位置する読み出し要求を、新たなサンプル要求
として設定する。
【0095】第42の発明によれば、第1の優先度情報
を含む読み出し要求を、優先的に読み出しコマンドとし
て発行することができる。
【0096】第43の発明は、第38の発明において、
前記記憶デバイスは、前記単位ブロックを格納するため
のディスクを有しており、前記読み出し処理見積り時間
は、前記第1及び第2の読み出しキューにおいて、対象
となる読み出し要求及びその直前に付加されている読み
出し要求に従って読み出される単位ブロックそれぞれが
格納されているトラック位置又はシリンダ位置間を、前
記記憶デバイスのヘッドが移動するシーク時間と、前記
対象となる読み出し要求に従って読み出される単位ブロ
ックをディスクから転送するための時間である転送時間
と、予め定められたオーバヘッド時間及び回転待ち時間
とに基づいて算出される。
【0097】第43の発明によれば、処理見積り値を可
能な限り正確に算出することができる。
【0098】第44の発明は、第38の発明において、
前記処理見積り時間は、単位ブロックと同一サイズを有
するデータを、複数回連続的に前記記憶デバイスから読
み出して得られる、実測時間の集合において、所定の信
頼限界となる時間、又は、複数回連続的に前記記憶デバ
イスに書き込んで得られる、実測時間の集合において、
所定の信頼限界となる時間を用いる。
【0099】第44の発明によれば、処理見積り時間
は、実測時間に基づいて求められるため、正確な値とす
ることができる。
【0100】第45の発明に係る記憶デバイス管理シス
テムは、書き込みの単位であるブロックに分割したデー
タを、複数の記憶デバイスに分散配置するシステムに用
いられ、各記憶デバイスには、他の記憶デバイスと重複
しない第1の識別子が付されており、少なくとも、各第
1の識別子を管理する第1の管理部と、各記憶デバイス
の空き領域を、ブロックを書き込みうる空きブロックご
とのアドレス及び第1の識別子を用いて管理する第2の
管理部と、第1及び第2の管理部を参照して、すべて又
は一部の記憶デバイスごとに、第1の識別子とアドレス
との組を1つずつ作り、さらに、作った組をランダムに
並び替えることにより、データの配置先を決定する配置
先決定部とを備える。
【0101】上記のように、第45の発明に係る記憶デ
バイス管理システムは、複数の記憶デバイスにデータを
均等に分散配置できるように、データの配置先を決め
る。これによって、データを読み出しなどを行う場合、
特定の記憶デバイスへのアクセスが集中せず、すべての
記憶デバイスに対して均等にアクセスが行われるので、
記憶デバイス全体として十分に大きい帯域が得られる。
さらに、上記データの配置先に従って記憶デバイスに書
き込まれたデータを読み出す場合の記憶デバイスへのア
クセスの順番は、データごとで互いに異なる。したがっ
て、データに対する読み出し要求が同時に発生したとし
ても、それぞれを読み出すためのアクセスの順番が互い
に異なるため、データの読み出し要求に対して高速に応
答することができるようになる。
【0102】第46の発明に係る記憶デバイス管理シス
テムは、書き込みの単位であるブロックに分割したデー
タを、所定のグループに分けられた複数の記憶デバイス
に分散配置するシステムに用いられ、各記憶デバイス
は、同一グループに属する他の記憶デバイスと重複しな
い第1の識別子を付されており、各グループには、他の
グループと重複しない第2の識別子が付されており、少
なくとも、各第1の識別子と各第2の識別子とを管理す
る第1の管理部と、各記憶デバイスの空き領域を、ブロ
ックを書き込みうる空きブロックごとのアドレスと、第
1及び第2の識別子とを用いて管理する第2の管理部
と、第1及び第2の管理部を参照して、すべて又は一部
のグループを選択し、グループ内では、ランダムにかつ
グループに属する全ての記憶デバイスが一通り選択され
るまでは同じ記憶デバイスが選択されない様にそれぞれ
1つの記憶デバイスを選択し、選択した記憶デバイスに
対する第1及び第2の識別子とアドレスとの組を1つず
つ作り、さらに、作った組をランダムに並び替えること
により、データの配置先を決定する配置先決定部とを備
える。
【0103】上記のように、第46の発明に係る記憶デ
バイス管理システムは、複数のグループに分けられた複
数の記憶デバイスを管理する場合に、データを構成する
ブロックを、各グループに対して、さらに、グループに
属する記憶デバイスに対しても均等に配置できるよう
に、データの配置先を決める。これによって、データを
読み出しなどを行う場合、特定のグループに属する記憶
デバイスへのアクセスが集中せず、かつ、各グループに
属する個々の記憶デバイスへのアクセスが集中せず、す
べてのグループ及びそのグループに属する記憶デバイス
に対して均等な割合でアクセスが行われるので、記憶デ
バイス全体として十分に大きい帯域を得ることができる
という効果を奏する。さらに、第45の発明と同様に、
上記データの配置先に従って記憶デバイスに書き込まれ
たデータを読み出す場合の記憶デバイスへのアクセスの
順番は、データごとで互いに異なる。これによって、デ
ータの読み出し要求に対して高速に応答することができ
るようになる。
【0104】第47の発明に係る記憶デバイス管理シス
テムは、第45の発明において、複数の記憶デバイスの
うち、少なくとも1つの記憶デバイスの性能が、他の記
憶デバイスの性能と異なっており、データが複数の記憶
デバイスに分散配置される場合に、各記憶デバイスに配
置されるブロックの割合が、性能に基づいて、分散の比
率として規定されており、配置先決定部は、分散の比率
に従って、組を作るべき記憶デバイスを選択し、選択し
た記憶デバイスごとに組を1つずつ作り、さらに、作っ
た組をランダムに並び替える。
【0105】上記のように第47の発明に係る記憶デバ
イス管理システムは、分散の比率を用いて、記憶デバイ
スごとの処理の負担が均等になるように、データの配置
先を決めている。
【0106】第48の発明に係る記憶デバイス管理シス
テムは、第46の発明において、各グループに属する記
憶デバイスのうち、少なくとも1つの記憶デバイスの性
能が、同一グループに属する他の記憶デバイスの性能と
異なっており、データが複数の記憶デバイスに分散配置
される場合に、同一グループに属する記憶デバイスそれ
ぞれに配置されるブロックの割合が、性能に基づいて、
第1の分散の比率として、さらに、データが複数のグル
ープに振り分けられる場合に、各グループに振り分けら
れるブロックの割合が、当該グループに属する記憶デバ
イスの性能に基づいて、第2の分散の比率として、予め
規定されており、配置先決定部は、第2の分散の比率に
従って、各グループにブロックを振り分けるべきグルー
プを選択し、第1の分散の比率に従って、選択したグル
ープに属するいずれか1つの記憶デバイスを、組を作る
べき記憶デバイスとして選択し、選択した記憶デバイス
ごとに組を1つずつ作り、さらに、作った組をランダム
に並び替える。
【0107】上記のように、第48の発明に係る記憶デ
バイス管理システムは、第1及び第2の分散の比率を用
いて、グループごとの処理負担が均等になるように、さ
らに、各グループに属する記憶デバイスごとの処理負担
が均等になるように、データの配置先を決める。
【0108】第49の発明に係る記憶デバイス管理シス
テムは、第47の発明において、分散の比率は、内部に
予め管理されていることを特徴とする。
【0109】第50の発明に係る記憶デバイス管理シス
テムは、第47の発明において、分散の比率は、性能に
基づいて、内部で求められることを特徴とする。
【0110】第51の発明に係る記憶デバイス管理シス
テムは、第48の発明において、第1及び/又は第2の
分散の比率は、内部に予め管理されていることを特徴と
する。
【0111】第52の発明に係る記憶デバイス管理シス
テムは、第48の発明において、第1及び/又は第2の
分散の比率は、性能に基づいて、内部で求められること
を特徴とする。
【0112】第49及び第51の発明に係る記憶デバイ
ス管理システムでは、分散の比率並びに第1及び第2の
分散の比率が予め内部で管理されているため、当該シス
テム内部での処理を簡素化できる。
【0113】第50及び第52の発明に係る記憶デバイ
ス管理システムは、分散の比率並びに第1及び第2の分
散の比率を内部で求めるようにしているので、例えば、
記憶デバイスを増やしたり、減らしたりした時にも容易
に対応することができるようになる。
【0114】第53の発明に係る記憶デバイス管理シス
テムは、第45〜第52のいずれかの発明において、配
置先決定部が作った組をランダムに並び替えることを繰
り返すことによって、データの配置先が決定していない
ブロックの数がすべて又は一部の記憶デバイスの数を下
回った場合、配置先決定部は、記憶デバイスが有してい
る空きブロックの数に基づいて、組を作るべき記憶デバ
イスを選択し、さらに、選択した記憶デバイスごとに組
を1つずつ作る。
【0115】分散配置されるデータを構成するブロック
の個数は、必ずしも、記憶デバイスの台数の倍数にはな
らない。そのため、第53の発明に係る記憶デバイス管
理システムは、空きブロックを多く有している記憶デバ
イスに配置されるようにデータの配置先が決める。これ
によって、データは、記憶デバイスにより均等に分散配
置されることとなり、記憶デバイス全体として、より一
層大きい帯域を得ることができる。
【0116】第54の発明に係る記憶デバイス管理シス
テムは、第45〜第53のいずれかの発明において、配
置先決定部が作った組をランダムに並び替えることを繰
り返す場合、配置先決定部は、決定したデータの配置先
と並び替えた組とにおいて、所定個数の組に相当する区
間には、同一の記憶デバイスにデータを分散配置しない
ように、作った組をランダムに並び替える。
【0117】第54の発明に係る記憶デバイス管理シス
テムでは、決定したデータの配置先と、並び替えた組と
において、所定の区間に同一の記憶デバイスを示す識別
子が現れないようにする。これによって、このようにし
て決められたデータの配置先に従って書き込まれたデー
タを読み出す際などには、すべての記憶デバイスにより
均等にアクセスすることとなる、これによって、すべて
の記憶デバイスの能力を有効に使って、より大きい帯域
を得ることができる。
【0118】第55の発明に係る記憶デバイス管理シス
テムは、第45〜第54のいずれかの発明において、複
数の記憶デバイスには、互いに性質の異なる複数のデー
タがそれぞれ分散配置される場合、配置先決定部は、組
を作るべき記憶デバイスごとに、性質に基づく個数だけ
アドレスを取り出してひとまとめにし、さらに、まとめ
にしたアドレスを用いて組を作る。
【0119】上記のように、第55の発明に係る記憶デ
バイス管理システムは、取り出す空きブロックアドレス
の個数が、データの性質に基づいて変更される。これに
よって、記憶デバイスの処理効率を向上させることがで
きる。
【0120】第56の発明に係る記憶デバイス管理シス
テムは、第55の発明において、性質とは、データが記
憶デバイスに書き込まれる際の帯域であって、配置先決
定部は、帯域に基づいて定められる個数だけアドレスを
取り出す。
【0121】上記のように、第56の発明に係る記憶デ
バイス管理システムでは、帯域に基づいて定められる個
数だけアドレスが取り出される。これによって、例え
ば、帯域を多く必要とするデータを連続領域に書き込む
ことが可能になり、当該データを読みだ場合の記憶デバ
イスの処理効率を向上させることができる。
【0122】第57の発明は、外部から連続的に到着す
る要求に従って、記憶デバイスへのデータの書き込みや
記憶デバイスからのデータの読み出しを制御する記憶デ
バイス制御装置であって、各要求は、書き込みや読み出
しのために、記憶デバイス上のアクセス位置を有してお
り、未処理の要求を処理すべき順番に並んだ待ち行列の
状態で一時的に保持するキュー手段と、外部から新たに
到着した要求を受け付け、かつ到着した要求に対して並
べ替え制限時刻を計算して付加する要求受付手段と、要
求受付手段が受け付けた要求を、キュー手段において、
第1の条件を満たす位置に付加することを決定する位置
決定手段と、キュー手段に保持された各要求について、
重み時間及び終了予定時刻を計算し保持する保持手段と
を備え、並べ替え制限時刻は、要求が到着した時刻に基
づいて決定され、重み時間は、キュー手段内において、
対象となる要求が有するアクセス位置とその直前に処理
されるべき要求が有するアクセス位置とに基づいて決定
され、終了予定時刻は、キュー手段内において、重み時
間を到着時刻に加算した時刻として決定され、キュー手
段に保持された要求を、待ち行列の順序に従ってコマン
ドとして記憶デバイスに発行するコマンド発行手段とを
さらに備え、第1の条件を満たす位置とは、現在到着し
ている要求すべてについて、終了予定時刻が並べ替え制
限時刻を超えず、しかも、重み時間の総和が、要求受付
手段により新たに受け付けられた要求を待ち行列の末尾
に付加したと仮定した場合の重み時間の総和以下になる
位置であることを特徴とする。
【0123】第57の発明によれば、キュー手段はコマ
ンドとして発行される順序を保持し、保持手段は待ち行
列を構成する各要求について、重み時間及び終了予定時
刻を保持する。位置決定手段は、到着している要求すべ
てについて、処理順序で処理された場合に、現在到着し
ている要求すべてについて、終了予定時刻が並べ替え制
限時刻を超えず、しかも、重み時間の総和が、要求受付
手段により新たに受け付けられた要求を待ち行列の末尾
に付加したと仮定した場合の重み時間の総和以下になる
ように、新たに到着した要求をキュー手段において付加
する位置を決定する。これによって、待ち行列を構成す
る要求を並べ替えることによって生じる遅延に限界を設
けつつ、記憶デバイスの使用効率を向上させることがで
きる。
【0124】第58の発明は、第57の発明において、
要求には、データを書き込むための書き込み要求とデー
タを読み出すための読み出し要求とがあり、キュー手段
は、未処理の書き込み要求及び読み出し要求を一時的に
保持する書き込みキュー及び読み出しキューを含み、要
求受付手段は、さらに、外部から新たに到着した要求に
対して終了制限時刻を計算して付加し、コマンド発行手
段は、読み出しキューが保持するすべての読み出し要求
の終了予定時刻が制限時刻を超えない場合、書き込みキ
ューに保持される書き込み要求を優先的にコマンドとし
て発行することを特徴とする。
【0125】第58の発明によれば、読み出し要求と書
き込み要求とを別々のキューに保持し、別々に保持する
待ち行列に基づいて終了予定時刻を算出する。その上
で、読み出し要求し従って実行される処理が終了すると
予想される時刻が、予め定められた制限時刻に間に合う
範囲で、書き込み要求をコマンドとして発行することに
より、読み出し要求と書き込み要求とが混在した場合に
も、記憶デバイスの使用効率を向上させつつ、記憶デバ
イスから読み出されるデータのリアルタイム性を保証す
ることができる。
【0126】第59の発明は、第58の発明において、
書き込み要求が到着して当該要求に対応する書き込みが
記憶デバイス上で終了するまでに最大限必要とされる時
間が最大処理時間として予め規定されており、保持手段
は、コマンドとして発行された書き込み要求について保
持している重み時間を、書き込み最大処理時間に変更す
ることを特徴とする。
【0127】よく知られているように、記憶デバイスに
よる書き込みは、実際には、算出した終了予定時刻どお
りに終了しないことの方が多い。そこで、第59の発明
によれば、記憶デバイスによる書き込みに最大限必要と
される時間を予め最大処理時間として規定しておく。そ
して、保持手段は、コマンドとして発行された書き込み
要求について保持している重み時間を、書き込み最大処
理時間に変更することにより、書き込みコマンドよりも
後にコマンドとして発行される要求の終了予定時刻や重
み時間を、リアルタイム性を保証することができるよう
に補正することができる。
【0128】第60の発明は、第57の発明において、
コマンド発行部が、所定時間当たりに、記憶デバイスに
発行できるコマンド数は予め規定されており、コマンド
発行部は、コマンド数を超えないように、コマンドを発
行することを特徴とする。
【0129】第60の発明によれば、記憶デバイスに発
行するコマンドの個数を一定数以下に制限することによ
り、記憶デバイスの動作にとって効率のよいコマンドの
個数を設定し、これによって、並べ替えの対象となる要
求数を増やして、記憶デバイスの使用効率を向上させる
ことができる。
【0130】第61の発明は、第57の発明において、
記憶デバイスは、コマンドに応答して、読み出し又は読
み出しが終了すると、終了時刻を出力し、記憶デバイス
から受け取る終了時刻と、保持手段に保持されており、
記憶デバイスにおいて処理が終了した要求が持つ終了予
定時刻との差分を計算するコマンド終了処理手段をさら
に備え、保持手段は、コマンド終了処理手段により求め
られた差分に基づいて、キュー手段が保持する要求の終
了予定時刻又は並べ替え制限時間を計算し直すことを特
徴とする。
【0131】第61の発明によれば、記憶デバイスにお
ける処理が現実に終了した終了時刻と、終了予定時刻と
がずれている場合には、その差分値を、処理待ち行列を
構成している要求の終了予定時刻又は並べ替え制限時刻
に反映させるので、重み時間と実際の処理時間の差を吸
収するためのマージンを減らすことができ、その結果、
並べ替えの対象となる要求数を増やすことができ、記憶
デバイスの使用効率が向上する。
【0132】第62の発明は、第61の発明において、
保持手段は、コマンド終了処理手段により求められた差
分が所定の値以上の場合に限り、終了予定時刻又は並べ
替え制限時刻を計算し直すことを特徴とする。
【0133】第62の発明によれば、保持手段は、差分
の値が所定の値以上の場合に限り、当該差分の値を、処
理待ち行列を構成している要求の終了予定時刻又は並べ
替え制限時刻に反映させる。これによって、記憶デバイ
ス制御装置の処理負担を減らすことができる。
【0134】第63の発明は、第57の発明において、
要求には、データを書き込むための書き込み要求とデー
タを読み出すための読み出し要求とがあり、キュー手段
は、書き込みキュー及び読み出しキューを含んでおり、
要求受付手段は、さらに、外部から新たに到着した書き
込み要求に対して書き込み優先時刻を計算して付加し、
書き込みキュー及び読み出しキューは、要求受付手段が
受け付けた書き込み要求及び読み出し要求を一時的に保
持し、コマンド発行手段は、書き込み優先時刻に達して
いる書き込み要求を書き込みキューが保持している場
合、当該書き込みキューからコマンドを優先的に発行す
ることを特徴とする。
【0135】第63の発明によれば、待ち行列を構成す
る書き込み要求の中に、書き込み優先時刻に達している
ものが存在する場合には、読み出し要求よりも書き込み
要求を優先的にコマンドとして発行する。これによっ
て、記憶デバイスに書き込まれるデータの信頼性を向上
させている。
【0136】第64の発明は、第57の発明において、
待ち行列において、処理すべき順序が連続する要求それ
ぞれが連続又は同一のアクセス位置を有する場合、位置
決定手段は、要求受付手段が受け付けた要求を、連続す
る要求の間に付加しないことを特徴とする。
【0137】第64の発明によれば、処理すべき順序が
連続しており、しかもアクセス位置が連続又は同一であ
る場合には、新たに到着した要求をその間に割り込ませ
ることを禁止する。これによって、使用効率が低下する
ような待ち行列を構成しないようにしている。
【0138】第65の発明は、外部から連続的に到着す
る要求を、処理すべき順番に並んだ待ち行列の状態で一
時的に保持する、キューのどの位置に付加するかを決定
するための順序決定方法であって、各要求は、書き込み
や読み出しのために、記憶デバイス上のアクセス位置を
有しており、キューに保持された各要求について、重み
時間及び終了予定時刻を計算し保持する第1ステップ
と、重み時間は、キュー手段内において、対象となる要
求が有するアクセス位置とその直前に処理されるべき要
求が有するアクセス位置とに基づいて決定され、さら
に、終了予定時刻は、キュー内において、重み時間を到
着時刻に加算した時刻として決定され、外部から新たに
到着した要求を受け付け、かつ到着した要求に対して並
べ替え制限時刻を計算して付加する第2ステップと、並
べ替え制限時刻は、要求が到着した時刻に基づいて決定
され、第2ステップで新たに到着した要求を、キューに
おいて、第1の条件を満たす仮決め位置に付加し、当該
キューに現在保持されている各要求について、重み時間
及び終了予定時刻を再計算する第3のステップと、第3
ステップで再計算された重み時間及び終了予定時刻が、
第2の条件を満たす場合に、新たに到着した要求を仮決
め位置に付加すると決める第4のステップとを備え、第
1の条件とは、新たに到着した要求が有するアクセス位
置と、その直前及び/又は直後の要求が有するアクセス
位置とが連続又は同一であることであり、第2の条件と
は、現在到着している要求すべてについて、終了予定時
刻が並べ替え制限時刻を超えず、しかも、重み時間の総
和が、第1ステップにより新たに受け付けられた要求を
待ち行列の末尾に付加したと仮定した場合の重み時間の
総和以下になることであるを特徴とする。
【0139】第65の発明によれば、新たに到着した要
求は、キュー手段において、アクセス位置が連続又は同
一となるような要求の直前又は直後に付加される。しか
も、このとき、現在到着している要求すべてについて、
終了予定時刻が並べ替え制限時刻を超えず、しかも、新
たに到着した要求は、重み時間の総和が、第1ステップ
により新たに受け付けられた要求を待ち行列の末尾に付
加したと仮定した場合の重み時間の総和以下になる位置
に付加される。これによって、並べ替えによって生じる
遅延に限界を設けつつ、記憶デバイスの使用効率を向上
させることができる。
【0140】第66の発明は、外部から連続的に到着す
る要求を、処理すべき順番に並んだ待ち行列の状態で一
時的に保持する、キューのどの位置に付加するかを決定
するための順序決定方法であって、各書き込み又は読み
出し要求は、記憶デバイス上のアクセス位置を有し、さ
らに、当該要求の到着時刻から、処理が終了していなけ
ればならないと予想される所定の時間を加算した並べ替
え制限時刻を有しており、キューにおいて、対象となる
要求が有するアクセス位置とその直前に処理されるべき
要求が有するアクセス位置とに基づいて決定される重み
時間と、重み時間を到着時刻に加算して得られる終了予
定時刻とが規定されており、外部から新たに到着した要
求を受け付け、かつ到着した要求に対して並べ替え制限
時刻を計算して付加する第1ステップと、並べ替え制限
時刻は、要求が到着した時刻に基づいて決定され、第1
ステップで新たに到着した要求を、待ち行列における末
尾を仮決め位置として付加し、キューに現在保持されて
いる各要求が有する重み時間の第1の総和を計算する第
2のステップと、新たに到着した要求を待ち行列からは
ずし、当該要求を待ち行列における新たな仮決め位置に
付加し、キューに現在保持されている各要求について、
重み時間及び終了予定時刻を計算し、さらに、当該重み
時間の第2の総和を計算する第3のステップと、第1の
総和と第2の総和とを比較する第4のステップと、第3
のステップにより得られる各要求の終了予定時刻が、当
該各要求の第1の制限時刻よりも早いか否かを判断する
第5のステップと、第4のステップにおいて、第1の総
和の方が大きく、かつ、第5のステップにおいて、各要
求の終了予定時刻が、当該各要求の第1の制限時刻より
も早い場合に、新たに到着した要求が待ち行列に付加さ
れる位置を、新たな仮決め位置に決める第6のステップ
とを備える。
【0141】第66の発明もまた、第65の発明と同様
に、並べ替えによって生じる遅延に限界を設けつつ、記
憶デバイスの使用効率を向上させることができる。
【0142】第67の発明は、外部から連続的に到着す
る要求を、処理すべき順番に並んだ待ち行列の状態で一
時的に保持する、キューのどの位置に付加するかを決定
するための方法であって、各書き込み又は読み出し要求
は、記憶デバイス上のアクセス位置を有し、さらに、当
該要求の到着時刻から、処理が終了していなければなら
ないと予想される所定の時間を加算した並べ替え制限時
刻を有しており、キューにおいて、対象となる要求が有
するアクセス位置とその直前に処理されるべき要求が有
するアクセス位置とに基づいて決定される重み時間と、
重み時間を到着時刻に加算して得られる終了予定時刻と
が規定されており、外部から新たに到着した要求を受け
付け、かつ到着した要求に対して並べ替え制限時刻を計
算して付加する第1ステップと、並べ替え制限時刻は、
要求が到着した時刻に基づいて決定され、第1ステップ
で新たに到着した要求を、待ち行列におけるいずれかの
位置を仮決め位置として付加し、キューに現在保持され
ている各要求が有する重み時間を計算し、当該重み時間
の総和を計算して保持する第2のステップと、第1のス
テップは、待ち行列におけるすべての位置に、新たに到
着した要求を付加するまで繰り返され、これにより、重
み時間の総和は、待ち行列を構成する要求数の分だけ得
られ、第1のステップが繰り返されて得られる、複数の
重み時間の総和から最小のものを選択する第2のステッ
プと、第2のステップで選択された重み時間の総和に対
応する仮決め位置を、新たに到着した要求が付加される
位置として仮決めする第3のステップと、第3のステッ
プで仮決められた位置に、新たに到着した要求を付加し
た場合の終了予定時刻を、待ち行列を構成する各要求に
ついて計算し、保持する第4のステップと、第4のステ
ップで得られる各終了予定時刻が並べ替え制限時刻より
も早い場合に、第4のステップで仮決められた位置を、
新たに到着した要求を付加する位置として最終的に決め
る第5のステップとを備える。
【0143】第67の発明もまた、第65の発明と同様
に、並べ替えによって生じる遅延に限界を設けつつ、記
憶デバイスの使用効率を向上させることができる。
【0144】
【発明の実施の形態】まず、本発明に係る記憶デバイス
制御装置が主に適用されるビデオサーバについて概説す
る。ビデオサーバは、リアルタイム性が要求されるビデ
オデータと、リアルタイム性が要求されない静止画デー
タ又はコンピュータデータ等を格納し、また、外部装置
であるテレビ、コンピュータ及び/又はビデオカメラ等
を接続する。テレビやコンピュータ等は、ユーザの好み
に応じたビデオデータやコンピュータデータ等の読み出
し要求をビデオサーバに送信する。ビデオサーバは、こ
の読み出し要求に応じたビデオデータ等を、内部の記憶
デバイスから読み出し、当該読み出し要求の送信元に出
力する。また、ビデオカメラ等は、生成したビデオデー
タ等の書き込み要求をビデオサーバに送信する。ビデオ
サーバは、書き込み要求に応じて、ビデオカメラ等から
送信されてくるビデオデータ等を、内部の記憶デバイス
に書き込む。ビデオサーバは、さらに、記憶デバイス制
御装置を内部に備え、これによって、読み出し又は書き
込み要求を先着順で処理するのではなく、並び替えて処
理し、時間当たりの処理数を上げている。以下、図面を
参照して、記憶デバイス制御装置について説明する。
【0145】図1は、本発明の一実施形態に係る記憶デ
バイス制御装置の構成を示すブロック図である。図1に
おいて、記憶デバイス制御装置は、位置情報管理部1
と、複数の記憶デバイス2と、要求受け付け部3と、各
記憶デバイス2と同数の要求制御部4とを備える。
【0146】図1において、位置情報管理部1は、各記
憶デバイス2が持つ空き領域を分割した空きブロック
(1つの単位ブロック(後述)を格納しうる)及びビデ
オデータ等が格納されている記憶デバイス2のアドレス
位置を管理する。各記憶デバイス2は、例えばハードデ
ィスクドライブ等からなり、位置情報管理部1で管理さ
れるアドレス位置にビデオデータ等を格納する。なお、
ビデオデータ等は、所定のサイズを持つ単位ブロックに
分割され、記憶デバイス2に分散配置される。また、各
記憶デバイス2には、それぞれを特定するために識別番
号(以下、「SCSIアドレス」と称する)が付されて
いる。要求受け付け部3は、外部装置から入力する要求
を、適切な要求制御部4に振り分ける。各要求制御部4
は、要求受け付け部3から入力する要求を後述する手順
で並び替えた後、コマンドとして記憶デバイス2に発行
する。以下、これらの構成を詳説する。
【0147】まず、位置情報管理部1について説明す
る。図2は、図1に示す位置情報管理部1の構成を示す
ブロック図である。図2において、位置情報管理部1
は、空き領域管理部11と、アドレス位置ファイル作成
部12と、アドレス位置ファイル管理部13と、アドレ
ス位置リスト参照部14と、ファイル書き込み要求出力
部15とを含む。
【0148】空き領域管理部11は、図3に示す空き領
域リストを用いて、各記憶デバイス2が持つ空き領域を
管理する。空きブロックリストは、参照番号毎で、SC
SIアドレスと空き領域(例えば、その先頭アドレス)
とを組にして保持する。
【0149】ところで、外部装置(特にビデオカメラ
等)は、書き込み要求を送信する前に、記憶デバイス2
に書き込むべきビデオデータ等のアドレス位置ファイル
のファイル作成要求を送信する。ファイル作成要求に
は、ビデオデータ等を記憶デバイス2に書き込むのに必
要な空きブロックの個数を指定する情報(以下、「指定
ブロックサイズ」という)を含む。アドレス位置ファイ
ル作成部12は、ファイル作成要求を受け取ると、ファ
イル作成要求番号とアドレス位置情報とを有するアドレ
ス位置ファイルを作成する。アドレス位置情報は、アク
セス位置情報、SCSIアドレス、アドレス領域及びシ
リンダ位置からなる組を1つ以上持つ。アクセス位置情
報、アドレス領域及びシリンダ位置は、ビデオデータ等
が格納されるアドレス位置の先頭、アドレス領域及びシ
リンダ位置を特定する。このアドレス位置情報によっ
て、ビデオデータ等が複数の記憶デバイス2に対して、
どのように分散配置されるのかが決まる。
【0150】ここで、図4は、アドレス位置ファイル作
成部12がアドレス位置ファイルを作成する際の手順を
示すフローチャートである。ファイル作成要求は、記憶
デバイス2に書き込むべきビデオデータや静止画データ
等がいくつの単位ブロックから構成されるかを指定する
情報(以下、「指定ブロックサイズ」という)を含む。
まず、アドレス位置ファイル作成部12は、外部装置か
ら到着するファイル作成要求にファイル作成要求番号を
付すと、空き領域リスト(図3参照)から参照番号を1
つ選択することにより、SCSIアドレス及び先頭アド
レスを選択する(ステップS401)。次に、アドレス
位置ファイル作成部12は、選択した先頭アドレスか
ら、n個(nは整数)の単位ブロックを連続的に格納で
きるアドレス領域を算出し(ステップS402)、空き
領域管理部11に通知する。空き領域管理部11は、こ
の通知に応答して、先頭アドレスを更新して、本ステッ
プS402で算出されたアドレス領域が、次回以降、重
複して算出されないようにする。
【0151】アドレス位置ファイル作成部12は、ステ
ップS402で算出するアドレス領域がいくつの単位ブ
ロックを格納しうるかを累積加算しており、累積加算値
が指定ブロックサイズ以上か否かを判断する(ステップ
S403)。アドレス位置ファイル作成部12は、累積
加算値が指定ブロックサイズに満たなかった場合、ビデ
オデータや静止画データ等を構成する単位ブロックすべ
てを記憶デバイス2に書き込むことができないと判断
し、ステップS401に戻る。アドレス位置ファイル作
成部12は、ステップS403で累積加算値が指定ブロ
ックサイズ以上になるまで、ステップS401〜S40
3を繰り返す。
【0152】アドレス位置ファイル作成部12は、ステ
ップS403で、累積加算値が指定ブロックサイズ以上
であると判断すると、ステップS404に進み、上記の
ファイル作成要求に対して付したファイル作成要求番号
と、SCSIアドレス及び先頭アドレスと、当該先頭ア
ドレスから始まる領域であって、ステップS402で算
出したアドレス領域と、当該先頭アドレスのシリンダ位
置とを、アドレス位置ファイルとしてアドレス位置ファ
イル管理部13に出力し(ステップS404)、アドレ
ス位置ファイルの作成を終了する。なお、SCSIアド
レス、先頭アドレス、アドレス領域及びシリンダ位置
は、組になっており、1つのファイル作成要求に対し
て、少なくとも1組のSCSIアドレス、先頭アドレ
ス、アドレス領域及びシリンダ位置が出力される。ま
た、先頭アドレスは、後述するアクセス位置情報とされ
る。
【0153】ここで、図4に示すステップS401〜S
403を繰り返した場合の具体例について説明する。上
述したステップS401〜S403の処理をm回繰り返
し、m回のステップS401において、d1 ,d2 ,…
m で表されるSCSIアドレスが選択され、SCSI
アドレスd1 に対応する先頭アドレスa11が選択され、
同様に、SCSIアドレスd2 ,…dm については、先
頭アドレスa21,…a m1が選択されたとする。ステップ
S402において、先頭アドレスa11からアドレス領域
として(a11,a12,…a1n)が算出され、同様に、先
頭アドレスa21,…am1それぞれについては、(a21
22,…a2n),…(am1,am2,…amn)が算出され
たとする。ステップS404において、アドレス位置フ
ァイル管理部13に出力されるアドレス領域の順序は、
11,a21,a31,…am1,a12,a22,…a1n
2n,…amn(mは1以上の整数、nは2以上の整数)
である。この順序に従って書き込みが行われれば、ビデ
オデータや静止画データ等は分散配置されることとな
る。
【0154】図2において、アドレス位置ファイル管理
部13は、アドレス位置ファイル作成部12によって作
成されるすべてのアドレス位置ファイルを、図5に示す
ような、アドレス位置リストとして管理する。ここで、
図5(a)は、アドレス位置リストが、ファイル作成要
求番号とアドレス位置情報とを組にして、アドレス位置
ファイルを管理することを示している。また、図5
(b)は、図5(a)に示す1つのアドレス位置情報
が、複数のアクセス位置情報(前述した先頭アドレ
ス)、SCSIアドレス、アドレス領域及びシリンダ位
置の組からなることを示している。
【0155】アドレス位置リスト参照部14は、キュー
入力部42からの指示に応答して、アドレス位置情報を
アドレス位置リストから取り出し、出力する(詳細につ
いては後述する)。さらに、アドレス位置リスト参照部
14は、記憶デバイス2に格納されているアドレス位置
ファイルを読み出すための読み出し要求を作成し、要求
受け付け部3に出力する(詳細は後述する)。この読み
出し要求によって読み出されたアドレス位置ファイルを
参照して、外部装置(特にビデオカメラ等)はビデオデ
ータや静止画データ等の書き込み要求を生成し、また、
外部装置(テレビやコンピュータ等)はビデオデータや
静止画データ等の読み出し要求を生成する。
【0156】ファイル書き込み要求出力部15は、アド
レス位置リスト(図5参照)にアドレス位置ファイルが
記入される毎に、当該ファイルを取り出して保持する。
次に、ファイル書き込み要求出力部15は、ファイル書
き込み要求を生成し、要求受け付け部3に出力した後、
保持しているアドレス位置ファイルを、記憶デバイス2
に出力する。これによって、アドレス位置ファイルは、
上述したように、記憶デバイス2に格納される。この記
憶デバイス2上のアドレス位置ファイルは、上述したよ
うに、アドレス位置リスト参照部14によって読み出さ
れ、外部装置が読み出し要求や書き込み要求を作成する
ために利用される。
【0157】次に、図1に示す要求受け付け部3につい
て説明する。上述したように、外部装置は、アドレス位
置ファイルを参照し、自身が生成したビデオデータ等を
記憶デバイス2に書き込むための書き込み要求、又は、
記憶デバイス2に既に格納されているビデオデータ等を
読み出すための読み出し要求を生成し出力する。この書
き込み要求及び読み出し要求は、アドレス位置ファイル
のアクセス位置情報を含んでおり、今、アクセス位置情
報a11〜am1(前述)を含んでいるとする。要求受け付
け部3は、入力する書き込み要求又は読み出し要求に含
まれるアクセス位置情報に対応するSCSIアドレスを
アドレス位置リスト参照部14に問い合わせる。アドレ
ス位置リスト参照部14は、この問い合わせに応答し
て、アクセス位置情報a11〜am1に対応するSCSIア
ドレスd1 〜dm をアドレス位置リスト(図5参照)か
ら取り出し、要求受け付け部3に出力する。要求受け付
け部3は、SCSIアドレスd1 〜dm を持つ記憶デバ
イス2の要求制御部4に、入力した書き込み要求又は読
み出し要求を振り分ける。なお、以下の説明において
は、SCSIアドレスd1 を持つ記憶デバイス2の前段
に設置される要求制御部4の動作について説明する。S
CSIアドレスd2〜dm を持つ記憶デバイス2の前段
に設置されるものの動作は、同様であるため説明を省略
する。
【0158】次に、要求制御部4の説明に先だって、上
述した書き込み要求及び読み出し要求について説明す
る。要求制御部4に入力する読み出し要求及び書き込み
要求はそれぞれ、優先度、遅延限界時間、アクセス位置
及びデータサイズの情報を含んでいる。優先度情報は、
「読み出し」と「書き込み」の2種類に大別され、入力
した要求が読み出し要求か書き込み要求かの判断を可能
とする。さらに、「読み出し」に関する優先度情報は、
「最優先」、「優先」及び「非優先」の3種類に細分さ
れる。したがって、優先度情報は4種類存在し、要求制
御部4は、優先度情報毎に異なる処理を実行する。「最
優先」を含む読み出し要求(以下、「最優先要求」と称
する)は、最も早期にコマンドとして記憶デバイス2に
発行されるように処理される。したがって、外部装置
は、最優先要求を用いれば、最も高速にビデオサーバに
よるサービス(ビデオデータの読み出し開始や読み出し
箇所の変更等)を受けられる。また、「優先」を含む読
み出し要求(以下、「優先要求」と称する)は、早期に
コマンドとして発行されるように処理される。したがっ
て、外部装置は、優先要求を用いれば、最優先要求より
は遅くなるが、高速にビデオサーバによるサービスを受
けられる。これらによって、リアルタイム性を満たさな
ければならないビデオデータ等を高いレスポンスで外部
装置を送出することが可能となる。また、「非優先」を
含む読み出し要求(以下、「非優先要求」と称する)
は、最も遅くコマンドとして発行されるように処理され
る。これによって、静止画データやコンピュータデータ
等のリアルタイム性を満たさなくてもよいデータを区別
することが可能となる。遅延限界時間は、読み出し要求
又は書き込み要求が要求制御部4に到着してから、記憶
デバイス2で処理(読み出し又は書き込み)が終了する
までにかかってもよい時間の最大値である。要求制御部
4は、この遅延限界時間を超えないように、優先の読み
出し要求又は書き込み要求をコマンドとして発行する。
遅延限界時間を守るようにコマンドを発行することによ
って、ビデオデータが外部装置によって再生される際
に、映像が途切れたり、音声が飛んだりすることを防止
できる。アクセス位置情報については、前述した通りで
あるため、その説明を省略する。データサイズの情報
は、記憶デバイス2から読み出されたり、記憶デバイス
2に書き込まれたりするビデオデータ、静止画データ又
はコンピュータデータの大きさである。
【0159】図6は、要求制御部4(図1参照)の詳細
なブロック構成を示し、併せて、位置情報管理部1や記
憶デバイス2等との接続関係を示す。図6において、要
求制御部4(点線内部参照)は、優先度管理部41と、
キュー入力部42と、キュー管理部43と、許容遅延管
理部44と、バッファメモリ管理部45と、状態テーブ
ル46と、コマンド発行処理部47と、コマンド終了処
理部48とを含む。以下、各構成について説明する。
【0160】先ず、優先度管理部41(図6参照)につ
いて、図7を参照して説明する。優先度管理部41は、
図7(a)に示すように、優先度情報管理部411と第
1状態テーブル更新部412とを含む。優先度情報管理
部411は、要求制御部4内に存在する要求(読み出し
要求及び/又は書き込み要求)の優先度情報を管理する
ため、図7(b)に示すような、優先度情報リストを持
つ。優先度情報管理部411は、要求受け付け部3から
連続的に入力される要求に、順次的な要求番号を付した
後、当該要求から優先度情報を取り出し、当該要求番号
及び優先度情報を優先度情報リストに記入する。その
後、優先度情報管理部411は、今回記入した優先度情
報と、同一の優先度情報が優先度情報リストに既に記入
されているか否かを調べ、同一の優先度情報が未だ記入
されていないと判断した場合、記入した優先度情報を含
む状態テーブル更新指示を生成して、第1状態テーブル
更新部412に出力する。さらに、優先度情報管理部4
11は、優先度情報更新指示部473(後述)からの通
知に応答し、当該通知に含まれる要求番号及び優先度情
報を、優先度情報リストから削除する。その後、優先度
情報管理部411は、今回削除した優先度情報と、同一
の優先度情報が優先度情報リストにまだ残っているか否
かを調べ、残っていないと判断した場合、削除した優先
度情報を含む状態テーブル更新指示を生成して、第1状
態テーブル更新部412に出力する。
【0161】第1状態テーブル更新部412は、優先度
情報管理部411から入力した状態テーブル更新指示に
含まれる優先度情報に基づいて、状態テーブル46(後
述)を更新する。これによって、状態テーブル46は、
要求制御部4内に存在する要求の種類(最優先要求、優
先要求、非優先要求、書き込み要求)に応じた状態番号
に更新される(詳細は後述する)。
【0162】キュー入力部42(図6参照)は、要求受
け付け部3から入力される要求に、連続的な要求番号
(優先度情報管理部411にて付される要求番号と同
一)及び到着時刻を付した後、当該要求がつながれるキ
ュー(優先キュー、書き込みキュー又は非優先キュー
(図2参照))及び位置を、許容遅延情報リスト(図1
0(b)参照)を参照しつつ、図8に示すような規則に
基づいて決定する。キュー入力部42は、最優先要求を
優先キューにつなぎ、しかも、このとき、優先キューに
既につながれているすべての要求(最優先及び/又は優
先要求)が許容遅延値(図10(b)参照)の範囲で処
理(読み出し)されるように、なおかつ、既につながれ
ている最優先要求よりも先に処理(読み出し)されない
ような範囲で、可能な限り優先キューの先頭に最優先要
求をつなぐ(図8参照)。また、キュー入力部42は、
優先要求を優先キューにつなぎ(図8参照)、しかも、
このとき、アドレス位置ファイルのシリンダ位置と許容
遅延情報リスト(図10(b)参照)とを参照して、当
該優先要求をつなぐ。また、キュー入力部42は、図8
に示すように、非優先要求及び書き込み要求を非優先キ
ュー及び書き込みキューの最後尾に格納するよう決定す
る。なお、キュー入力部42は、上記のようにして決定
したキュー及びそのキューにおける位置と、要求受け付
け部3から入力した要求及びそれに付した要求番号と
を、キュー管理部43に出力し、さらに、要求番号、到
着時刻、優先度情報、遅延限界時間、アクセス位置情報
及びデータサイズを許容遅延情報管理部441(図10
参照)に出力する。
【0163】キュー管理部43(図6参照)は、3種類
のキュー、つまり、優先キューと、書き込みキューと、
非優先キューとを含み、キュー入力部42からの入力す
る要求を、当該要求とともに入力する情報に基づいて、
いずれかのキューにつなぐ。また、キュー管理部43
は、3種類のキューを管理するため、図9に示すよう
な、キュー管理リストを持つ。図9において、キュー管
理リストは、要求番号、優先度情報、キューの種類、そ
のキューにおける格納位置と、アドレス位置情報とを1
組にして保持し、3種類のキューにつながれる要求を管
理する。キュー管理部43は、キュー入力部42から入
力する要求から取り出す優先度情報及びアドレス位置情
報を、さらに、キュー入力部42から併せて入力する要
求番号、キューの種類及びそれにおける位置を、キュー
管理リストに記入する。さらに、キュー管理部43は、
後述するコマンド発行部471により選択され、コマン
ドとして発行される要求の情報を、キュー管理リストか
ら削除する。
【0164】次に、許容遅延管理部44(図6参照)
を、図10を参照して説明する。許容遅延管理部44
は、図10(a)に示すように、許容遅延情報管理部4
41と、優先読み出し許容時間最小値管理部442と、
書き込みキュー先頭要求の処理時間管理部443と、第
2状態テーブル更新部444とを含む。許容遅延情報管
理部441は、図10(b)に示すような、許容遅延情
報リストを持ち、キュー入力部42から入力される情報
(上述)を参照し、以下に示す算出方法を用いることに
よって、入力される要求番号毎に許容遅延値、終了予定
時刻及び見積もり処理時間を求め、これらを許容遅延情
報として当該許容遅延情報リストに記入する。許容遅延
情報管理部441は、許容遅延情報の他にも、キュー入
力部42から入力される優先度情報も許容遅延情報リス
トに記入する。さらに、許容遅延情報管理部441は、
許容遅延情報補正指示部483並びに第1及び第2許容
遅延情報更新指示部472及び484からの指示に応答
して、許容遅延情報を補正したり、更新する。以下、許
容遅延情報について、図10を参照して説明する。
【0165】見積もり処理時間は、本実施形態において
は、読み出し要求か書き込み要求かによって異なる。ま
ず読み出し要求の場合について説明する。見積もり処理
時間(読み出し)とは、1つの読み出し要求に対応する
データを記憶デバイス2から読み出すのに必要と見積も
られる時間であり、次式(1)に基づいて算出される。 見積もり処理時間(読み出し)= シーク時間 + 平均回転待ち時間 +データ 転送時間+オーバヘッド…(1) シーク時間は、許容遅延情報管理部441によって、キ
ュー入力部42から入力されるアクセス位置情報を参照
して求められる。より具体的には、まず、直前に処理さ
れる要求のアドレス位置情報と、見積もり処理時間(読
み出し)を求める要求のアドレス位置情報とのシリンダ
距離が求められる。シーク時間は、このシリンダ距離
を、記憶デバイス2(例えば、ハードディスク)のヘッ
ドが移動する時間である。なお、許容遅延情報管理部4
41は、シリンダ距離からシーク時間を算出する関数を
予め記憶している。平均回転待ち時間は、記憶デバイス
2の回転速度に基づいて算出される。データ転送時間
は、見積もり処理時間(読み出し)を求める要求が持つ
アドレス位置情報、そのアドレス位置におけるデータの
記録密度、及び記憶デバイス2の回転速度に基づいて算
出される。オーバヘッドは、例えば、ビデオデータ等の
サイズに相当するデータを所定回数読み出した場合の実
測時間の平均値から、平均シーク時間と平均回転待ち時
間と平均データ転送時間とを合計した時間を減算して求
められる。したがって、このオーバーヘッドは、キュー
入力部42から出力される要求が持つデータサイズの情
報に応じて変化する。
【0166】また、見積もり処理時間(書き込み)は、
単位ブロックと同一サイズを有するデータを所定回数連
続して書き込んだ場合に、当該書き込みに要した実測時
間の集合において、99.99%の信頼限界となる処理
時間を用いる。なお、見積もり処理時間(読み出し)
に、同様の算出方法を用いてもよい。
【0167】終了予定時刻は、同一のキュー(優先キュ
ー、書き込みキュー又は非優先キュー)の先頭から順番
に要求がコマンドとして発行されると仮定した場合に、
当該要求についての処理(読み出し又は書き込み)が終
了すると予想される時刻である。つまり、終了予定時刻
は、同一のキューにおいて、対象となる要求の直前につ
ながれている要求の終了予定時刻に、当該対象となる要
求の見積もり処理時間を加算して得られる。なお、各要
求の終了予定時刻は、同一のキューにつながれている要
求のみを対象として求める。そのため、あるキューがコ
マンド発行のために選択されると、当該あるキュー以外
のキューにつながれている要求の終了予定時刻は変わ
る。例えば、書き込みキュー内の要求がコマンドとして
発行されると、優先キュー及び非優先キュー内の要求の
終了予定時刻は、当該コマンド(書き込み要求)の見積
もり処理時間を加算される。
【0168】許容遅延値については、以下の通りであ
る。ある要求についての到着時刻及び遅延限界時間を加
算して、当該要求についての処理(読み出し又は書き込
み)が終了していなければならない時刻(以下、終了時
刻と称する)が求められる。許容遅延値は、終了時刻か
ら終了予定時刻を減算した時間である。つまり、後述す
るコマンド発行処理部47は、要求が持つ許容遅延値が
示す時間分ならばコマンドの発行を遅らせても、当該要
求によって、読み出されたり、書き込まれたりするデー
タのリアルタイム性は保たれる。
【0169】優先読み出し許容時間最小値管理部442
は、優先キュー内の要求(最優先及び/又は優先要求)
が持つ許容遅延値のうち、最小のもの(以下、「最小許
容遅延値」という)を保持する。許容遅延情報管理部4
41は、許容遅延情報リストから最小許容遅延値を選択
し、優先読み出し許容時間最小値管理部442に格納す
る。書き込みキュー先頭要求の処理時間管理部443
は、書き込みキューの先頭に格納される要求が持つ見積
もり処理時間(書き込み)を保持する。第2状態テーブ
ル更新部444は、許容遅延情報リストを参照して、書
き込み要求の許容遅延値が「予め定められた一定値」以
上か否かを調べる。次に、第2状態テーブル更新部44
4は、最小許容遅延値と、書き込みキューの先頭の要求
が持つ見積もり処理時間(書き込み)とを比較し、当該
最小許容遅延値の方が小さい場合、優先キュー内の要求
が持つ許容遅延値に余裕がないと判断する。第2状態テ
ーブル更新部444は、書き込み要求の許容遅延値、及
び、優先キュー内の要求が持つ許容遅延値の余裕に基づ
いて、状態テーブル46を更新する。
【0170】ここで、最優先要求が入力する場合のキュ
ー入力部42の動作を、図11に示すフローチャートを
参照して説明する。
【0171】キュー入力部42は、要求受け付け部3か
ら最優先要求が到着すると(ステップS1101)、当
該要求に要求番号及び到着時刻を付す。次に、キュー入
力部42は、他の最優先要求が既に優先キュー内につな
がれているか否かを調べ(ステップS1102)、他の
最優先要求がつながれていないと判断すると、優先キュ
ーの先頭につながれている優先要求をサンプル要求kと
して設定し(ステップS1103)、ステップS110
8(後述する)に進む。
【0172】キュー入力部42は、ステップS1102
で、他の最優先要求がつながれていると判断すると、当
該優先キューの最後尾に最優先要求がつながれているか
否かを、キュー管理リストを参照して調べる(ステップ
S1104)。キュー入力部42は、最後尾に最優先要
求がつながれていると判断すると、到着した最優先要求
を優先キューの最後尾につなぐ(ステップS110
5)。その後、キュー入力部42は、キュー管理部43
及び許容遅延情報管理部441にキュー管理リスト(図
9参照)及び許容遅延情報リスト(図10参照)を更新
させる(ステップS1106)。
【0173】キュー入力部42は、ステップS1106
において、入力した最優先要求が持つアクセス位置情報
を取り出して、アドレス位置リスト参照部14に出力す
る。アドレス位置リスト参照部14は、受け取ったアク
セス位置情報に対応するアドレス位置情報を、アドレス
位置ファイル管理部13から取り出し、キュー入力部4
2に出力する。キュー入力部42は、受け取ったアドレ
ス位置情報と、自身が最優先要求に付した要求番号と、
当該最優先要求をつないだキューの種類及び位置とをキ
ュー管理部43に出力する。キュー管理部43は、受け
取った要求番号、アドレス位置情報、最優先要求がつな
がれたキューの種類(優先キュー)及び優先キュー内の
位置をキュー管理リストに記入して更新する。さらに、
キュー入力部42は、ステップS1106において、自
身が最優先要求に付した要求番号及び到着時刻、最優先
要求の添付情報(優先度情報、遅延限界時間、アクセス
位置情報及びデータサイズの情報)、並びに、更新され
たキュー管理リストに保持されており、当該要求番号に
対応するキューの種類及びキューにおける位置を許容遅
延情報管理部441に出力する。許容遅延情報管理部4
41は、要求番号及び優先度情報を許容遅延情報リスト
に記入し、さらに、キュー管理リストから取り出した情
報及びキュー入力部42から受け取った情報に基づい
て、上述した見積もり処理時間(読み出し)、許容遅延
値及び終了予定時刻を算出し、許容遅延情報リストに記
入して更新する。
【0174】キュー入力部42は、ステップS1104
で、最後尾に最優先要求がつながれていないと判断する
と、優先キューの最後尾に対して、最も近くにつながれ
ている最優先要求の直後につながれている優先要求を、
キュー管理リストの中から選択し、当該優先要求をサン
プル要求kとして設定し(ステップS1107)、ステ
ップS1108に進む。
【0175】キュー入力部42は、到着した最優先要求
について、上記サンプル要求kの直前を、到着した最優
先要求をつなぐ位置と仮決めする(ステップS110
8)。キュー入力部42は、次に、キュー管理部43及
び許容遅延管理部44に、キュー管理リスト及び許容遅
延情報リストの内容を、上記の仮決められた位置に基づ
いて、一時的に更新させる(ステップS1109)。か
かる更新の手順については、ステップS1106と同様
であるため、その説明を省略する。しかしながら、到着
した最優先要求は、上記のサンプル要求kの直前に割り
込むことになるので、キュー管理リストには、到着した
最優先要求の情報が記入されるだけでなく、当該割り込
みによる、優先キュー内での位置のずれが反映される。
このずれは、サンプル要求k及びこれの後ろにつながれ
る要求に生じる。また、許容遅延情報リストには、到着
した最優先要求の要求番号、優先度情報及び許容遅延情
報が記入されるだけでなく、上記の割り込みによる、優
先キュー内での位置のずれが反映される。つまり、サン
プル要求k及びこれの後ろにつながれる要求の、許容遅
延値、終了予定時刻には、到着した最優先要求の見積も
り処理時間が加算される。また、サンプル要求kについ
ては、到着した最優先要求についてのアドレス位置を基
準に算出しなければならないため、見積もり処理時間も
変更される。
【0176】キュー入力部42は、一時的に更新させた
許容遅延情報リストを参照して、このサンプル要求k及
びこれより後ろにつながれる要求について、許容遅延値
の範囲内で処理(読み出し)できるか否かを判断する
(ステップS1110)。キュー入力部42は、サンプ
ル要求k及びこれより後ろにつながれる要求の許容遅延
値が、すべて「予め定められた一定値」以上であれば処
理可能と判断し、いずれか1つでも「予め定められた一
定値」未満であれば処理不可能と判断する。
【0177】キュー入力部42は、ステップS1110
で処理可能と判断すると、ステップS1108で仮決め
した位置を、到着した最優先要求をつなぐ位置と最終的
に決める(ステップS1111)。キュー入力部42
は、次に、キュー管理部43及び許容遅延情報管理部4
41に、現在一時的に更新されているキュー管理リスト
及び許容遅延情報リストを確定的なものとさせる(ステ
ップS1112)。
【0178】一方、キュー管理部43は、ステップS1
110で処理不可能と判断すると、ステップS1108
で仮決められた位置から最優先要求をはずし、さらに、
キュー管理部43及び許容遅延情報管理部441に、キ
ュー管理リスト及び許容遅延情報リストをステップS1
109より以前の状態に戻させる(ステップS111
3)。キュー管理部43は、次に、サンプル要求kが優
先キューの最後尾につながれているか否かを調べ(ステ
ップS1114)、最後尾につながれていると判断する
と、到着した要求を当該サンプル要求kの直後に、つま
り、優先キューの最後尾につなぐ(ステップS110
5)。その後、キュー入力部42は、ステップS110
6に進み、前述と同様の処理を実行する(ステップS1
106)。
【0179】一方、キュー管理部43は、ステップS1
114で、サンプル要求kが最後尾につながれていない
と判断すると、当該サンプル要求kの直後の要求を、新
たなサンプル要求kとして設定する(ステップS111
6)。この後、キュー入力部42は、新たに設定したサ
ンプル要求kに基づいて、ステップS1108以降の処
理を繰り返し実行する。キュー入力部42は、最優先要
求が到着する毎に、図11に示す処理手順にしたがっ
て、最優先要求を優先キューのどの位置につなぐかを決
める。こうして、キュー入力部42は、図8に示した規
則のように、最優先要求を優先キューにつなぐ。
【0180】次に、優先要求が入力する場合のキュー入
力部42の動作を、図12に示すフローチャートを参照
して説明する。
【0181】キュー入力部42は、要求受け付け部3か
ら優先要求が到着すると(ステップS1201)、当該
要求に要求番号及び到着時刻を付す。キュー入力部42
は、次に、キュー管理リストを参照し、優先キューの最
後尾につながれている要求を探して、第1サンプル要求
jと設定する(ステップS1202)。キュー入力部4
2は、次に、キュー管理リストを参照し、第1サンプル
要求jが最優先要求であるか否かを調べ(ステップS1
203)、最優先要求であると判断すると、当該第1サ
ンプル要求jの直後に、到着した優先要求をつなぐ(ス
テップS1204)。キュー入力部42は、次に、キュ
ー管理部43及び許容遅延情報管理部441に、キュー
管理リスト及び許容遅延リストを更新させる(ステップ
S1205)。なお、キュー管理部43及び許容遅延情
報管理部441の更新動作については、図11のステッ
プS1106と同様であるため、その説明を省略する。
【0182】一方、キュー入力部42は、ステップS1
203で、第1サンプル要求jが最優先要求でないと判
断すると、当該第1サンプル要求jの直前につながれて
いる要求を、第2サンプル要求iと設定する(ステップ
S1206)。キュー入力部42は、次に、キュー管理
リストを参照し、第1及び第2サンプル要求j及びiの
シリンダ位置を取り出し、保持する。キュー入力部42
は、次に、到着した優先要求が持つアクセス位置情報を
取り出して、アドレス位置リスト参照部14に出力す
る。アドレス位置リスト参照部14は、受け取ったアク
セス位置情報に対応するアドレス位置情報を、アドレス
位置ファイル管理部13から取り出し、キュー入力部4
2に出力する。
【0183】キュー入力部42は、到着した優先要求
が、第1及び第2サンプル要求j及びiのシリンダ位置
の間のシリンダ位置(アドレス位置情報に含まれる)を
持つか否かを判断し(ステップS1207)、第1及び
第2サンプル要求j及びiのシリンダ位置の間にあると
判断すると、この間を、到着した優先要求をつなぐ位置
と仮決めする(ステップS1208)。キュー入力部4
2は、次に、キュー管理部43及び許容遅延管理部44
に、キュー管理リスト及び許容遅延情報リストの内容
を、上記の仮決められた位置に基づいて、一時的に更新
させる(ステップS1209)。つまり、到着した優先
要求は、上記の第1及び第2サンプル要求j及びiの間
に割り込むことになるので、キュー管理リストには、到
着した優先要求についての情報が記入されるだけでな
く、当該割り込みによる、優先キュー内での位置のずれ
が反映される。このずれは、第1サンプル要求j及びこ
れより後ろにつながれる要求に生じる(ただし、本フロ
ーチャートの第1回目のループにおいては、第1サンプ
ル要求jのみ)。また、許容遅延情報リストには、到着
した優先要求についての要求番号、優先度情報及び許容
遅延情報が記入されるだけでなく、上記の割り込みによ
る、優先キュー内での位置のずれが反映される。つま
り、第1サンプル要求j及びこれより後ろにつながれる
要求の、許容遅延値、終了予定時刻には、到着した優先
要求について算出された見積もり処理時間が加算され
る。また、第1サンプル要求jが持つ見積もり処理時間
は、到着した優先要求についてのアドレス位置を基準に
算出しなければならないため、変更される。
【0184】キュー入力部42は、一時的に更新させた
許容遅延情報リストを参照して、第1サンプル要求j及
びこれより後ろにつながれる要求について、許容遅延値
の範囲内で処理(読み出し)できるか否かを判断する
(ステップS1210)。キュー入力部42は、第1サ
ンプル要求j及びこれより後ろにつながれる要求の許容
遅延値が、すべて「予め定められた一定値」以上であれ
ば処理可能と判断し、いずれか1つでも「予め定められ
た一定値」未満であれば処理不可能と判断する。
【0185】キュー入力部42は、ステップS1210
で処理可能と判断すると、ステップS1208で仮決め
した位置を、到着した優先要求をつなぐ位置と最終的に
決める(ステップS1211)。キュー入力部42は、
次に、キュー管理部43及び許容遅延情報管理部441
に、現在一時的に更新されているキュー管理リスト及び
許容遅延情報リストを確定的なものとさせる(ステップ
S1212)。このように、ステップS1210に示し
た条件を満足する場合、優先キューにおいて、第1サン
プル要求jと第2サンプル要求iとの間に、到着した優
先要求をつないでも、当該第1サンプル要求j及びこれ
より後ろにつながれる要求、許容遅延値を超えて処理
(読み出し)されることはない。しかも、第2サンプル
要求i、到着した優先要求及び第1サンプル要求jのシ
リンダ位置は、昇順又は降順に並ぶこととなり、シーク
時間を短縮することができる。
【0186】一方、キュー管理部43は、ステップS1
210で処理不可能と判断すると、ステップS1208
で仮決められた位置から優先要求をはずし、さらに、キ
ュー管理部43及び許容遅延情報管理部441に、キュ
ー管理リスト及び許容遅延情報リストをステップS12
09よりも以前の状態に戻させる(ステップS121
3)。キュー管理部43は、次に、ステップS1204
に移り、到着した優先要求を、優先キューの最後尾につ
ないで、ステップS1205に進み、前述と同様の処理
を実行する。
【0187】また、キュー入力部42は、ステップS1
207で、到着した優先要求のシリンダ位置が第1及び
第2サンプル要求j及びiのシリンダ位置の間にないと
判断すると、キュー管理リストを参照し、第1サンプル
要求jが優先キューの先頭につながれている要求か否か
を調べる(ステップS1215)。キュー入力部42
は、ステップS1215で、第1サンプル要求jが先頭
につながれていると判断すると、上述したステップS1
204及びS1205を実行する。なお、本実施形態に
おいて、キュー入力部42は、優先キューにつながれて
いる最優先又は優先要求を、第1サンプル要求jとして
設定する。しかし、キュー入力部42は、この処理に加
えて、記憶デバイスで処理中のコマンド(コマンドとし
て発行された要求)を第1サンプル要求jと設定し、さ
らに、優先キューの先頭につながれている最優先又は優
先要求を第2サンプル要求として設定するようにしても
よい。これについては、キュー管理リストのキューの種
類の欄に、前述した優先キュー、書き込みキュー及び非
優先キューが記入されるだけでなく、さらに記憶デバイ
スで処理中という意味を示す情報が記入されるようにし
ておく。こうすると、キュー入力部42は、現在、記憶
デバイスで処理中のコマンドに対応する要求を把握する
ことができるため、当該要求を第1サンプル要求jとし
て設定することができるようになる。一方、キュー入力
部42は、ステップS1215で、第1サンプル要求j
が先頭につながれていないと判断すると、第2サンプル
要求iを、第1サンプル要求kと更新し(ステップS1
216)、ステップS1203に移る。その後、キュー
入力部42は、再度ステップS1203以降の処理を実
行する。この結果、キュー入力部42は、到着した優先
要求を、既に優先キューにつながれている最優先要求よ
り後ろであって、可能な限りシーク時間を短縮できるよ
うにつなぐ。
【0188】ところで、外部装置やファイル書き込み要
求出力部15から出力されるビデオデータ等やアドレス
位置ファイルは、バッファメモリ(図示せず)に一時的
に格納された後、記憶デバイス2上に書き込まれる。す
なわち、バッファメモリには、書き込み待ちのビデオデ
ータや静止画データ等又はアドレス位置ファイルが格納
される。次に、バッファメモリに格納されている書き込
み待ちデータを量(すなわち、バッファメモリの使用容
量)を管理するバッファメモリ管理部45(図6参照)
について、図13を参照して、説明する。図13におい
て、バッファメモリ管理部45は、使用容量管理部45
1と、しきい値管理部452と、第3状態テーブル更新
部453とを含む。使用容量管理部451は、所定時間
毎(後述する使用容量更新指示部485からの指示があ
る毎)に、バッファメモリの使用容量を検出し、保持す
る。しきい値管理部452は、予め定められたしきい値
を保持する。第3状態テーブル更新部453は、使用容
量管理部451及びしきい値管理部452により保持さ
れている使用容量及びしきい値を比較し、その比較結果
に基づいて、状態テーブル46を更新する。
【0189】次に、状態テーブル46(図6参照)につ
いて説明する。状態テーブル46は、要求制御部4の内
部状態を示すテーブルであって、前述から明らかなよう
に、第1、第2及び第3状態テーブル更新部412、4
44及び453により更新される。この要求制御部4の
内部状態は8種類ある。状態テーブル46は、以下のよ
うな、要求制御部4の内部状態に関する情報(8種類)
を保持する(なお、情報には、状態番号“1”〜“8”
を付す)。状態番号“1”は、“使用容量がしきい値以
上である”を意味する。状態番号“2”は、“使用容量
がしきい値未満であって、かつ書き込み要求の許容遅延
値が「予め定められた一定値」未満である”を意味す
る。状態番号“3”は、“使用容量がしきい値未満であ
って、かつ書き込み要求の許容遅延値が「予め定められ
た一定値」以上であって、なおかつ最優先要求がある”
を意味する。状態番号“4”は、“使用容量がしきい値
未満であって、かつ書き込み要求の許容遅延値が「予め
定められた一定値」以上であって、かつ優先要求の許容
遅延値に余裕がなく、なおかつ最優先要求がない”を意
味する。状態番号“5”は、“使用容量がしきい値未満
であって、かつ書き込み要求の許容遅延値が「予め定め
られた一定値」以上であって、かつ優先要求の許容遅延
値に余裕があり、かつ最優先要求がなく、なおかつ書き
込み要求がある”を意味する。状態番号“6”は、“使
用容量がしきい値未満であって、かつ書き込み要求の許
容遅延値が「予め定められた一定値」以上であって、か
つ優先要求の許容遅延値に余裕があって、かつ最優先要
求及び書き込み要求がなく、なおかつ優先要求がある”
を意味する。状態番号“7”は、“使用容量がしきい値
未満であって、かつ書き込み要求の許容遅延値が「予め
定められた一定値」以上であって、かつ優先要求の許容
遅延値に余裕があって、かつ最優先要求、書き込み要求
及び優先要求がなく、なおかつ非優先要求がある”を意
味する。状態番号“8”は、“使用容量がしきい値未満
であって、かつ書き込み要求の許容遅延値が「予め定め
られた一定値」以上であって、かつ優先要求の許容遅延
値に余裕があって、なおかつ最優先要求、書き込み要
求,優先要求及び非優先要求がない”を意味する。
【0190】要求制御部4の内部状態は、上述した8種
類のいずれかに該当し、要求(読み出し又は書き込み)
が到着したり、要求についての読み出し又は書き込みが
終了したりすると変化し、さらに、バッファメモリの使
用容量に応じても変化する。状態テーブル46は、第
1、第2及び第3状態テーブル更新部412、444及
び453に更新されることによって、更新時における要
求制御部4の内部状態を状態番号を用いて保持する。コ
マンド発行処理部47は、状態テーブル46が保持する
状態番号に基づいて、記憶デバイス2に対してコマンド
を発行する。以下、このコマンド発行処理部47につい
て、図14を参照して、詳細に説明する。図14におい
て、コマンド発行処理部47は、コマンド発行部471
と、第1許容遅延情報更新指示部472と、優先度情報
更新指示部473とを含む。
【0191】コマンド発行部471は、状態テーブル4
6が保持する状態番号に基づいて、優先キュー、書き込
みキュー又は非優先キューの中から、キューを1つ選択
し、選択したキューの先頭につながれている要求(読み
出し又は書き込み)をコマンドとして、記憶デバイス2
に対して発行する。記憶デバイス2は、コマンドに応答
して、データを書き込んだり、読み出したりする。ここ
で、図15は、上述した状態番号と、コマンド発行部4
71により選択されるキューとの関係を説明するための
図である。図15において、状態番号及び状態の欄に
は、上述した状態番号1〜8及びその内容が記入されて
おり、選択キューの欄には、コマンド発行部471がコ
マンドとして発行する要求をつないでいるキューが記入
されている。より具体的には、コマンド発行処理部47
は、状態テーブル46が、状態番号“1”、“2”又は
“5”を保持している場合、書き込みキューの先頭につ
ながれている書き込み要求をコマンドとして発行し、状
態番号“3”、“4”又は“6”を保持している場合、
優先キューの先頭につながれている最優先又は優先要求
をコマンドとして発行し、状態番号“7”を保持してい
る場合、非優先キューの先頭につながれている非優先要
求をコマンドとして発行し、さらに、状態番号“8”を
保持している場合、何もしない。コマンド発行部471
は、いずれかのキューにつながれている要求をコマンド
として発行すると、キュー管理部43に、キュー管理リ
ストから当該要求に対応する要求番号等を削除させ、さ
らに、当該要求番号を、第1許容遅延情報更新指示部4
72、優先度情報更新指示部473及び終了通知受け付
け部481(後述)に通知する。
【0192】第1許容遅延情報更新指示部472は、書
き込みキューの先頭につながれている要求がコマンドと
して発行された場合に、その旨を許容遅延情報管理部4
41に出力し、許容遅延情報の更新を指示する。許容遅
延情報管理部441は、この指示に応答して、コマンド
として出力された書き込み要求が持つ見積もり処理時間
(書き込み)を、優先キュー内の最優先及び優先要求が
持つ許容遅延値及び終了予定時刻に加算し、さらに当該
書き込み要求が持つ許容遅延情報を削除する。前述した
ように、終了予定時刻は、同一のキューにつながれる要
求のみを対象とするため、書き込み要求がコマンドとし
て発行されると、優先キューにつながれる最優先又は優
先要求の許容遅延値と終了予定時刻とを更新する必要が
ある。さらに、許容遅延情報管理部441は、更新され
た許容遅延情報リストにおいて、書き込みキューの先頭
につながれる書き込み要求が持つ見積もり処理時間(書
き込み)を出力し、書き込みキュー先頭要求の処理時間
管理部443が保持する情報を更新する。優先度情報更
新指示部473は、3種類のうちのいずれかのキューか
ら要求がコマンドとして発行された場合に、当該要求が
持つ優先度情報を優先度情報管理部411に出力し、優
先度情報の更新を指示する。優先度情報管理部411
は、この指示に応答して、図7を参照して説明した処理
(上述)を実行する。
【0193】記憶デバイス2は、本記憶デバイス制御装
置から受け取ったコマンドに応答して、上述したバッフ
ァメモリに一時的に格納されているビデオデータ等を、
内部の記憶媒体(磁気ディスク等)に書き込んだり、既
に書き込まれているビデオデータ等を記憶媒体から読み
出したりした後、書き込みや読み出しの終了時刻を含む
終了通知をコマンド終了処理部48に出力する。次に、
コマンド終了処理部48について、図16を参照して説
明する。図16において、コマンド終了処理部48は、
終了通知受け付け部481と、次コマンド発行指示部4
82と、許容遅延情報補正指示部483と、第2許容遅
延情報更新指示部484と、使用容量更新指示部485
とを含む。終了通知受け付け部481は、記憶デバイス
2及びコマンド発行部471から受け取る終了通知及び
要求番号を、次コマンド発行指示部482と、許容遅延
情報補正指示部483と、第2許容遅延情報更新指示部
484と、使用容量更新指示部485とに出力する。
【0194】次コマンド発行指示部482は、終了通知
を受け取ると、新たなコマンドの発行するように、コマ
ンド発行部471に出力して指示する。コマンド発行部
471は、この支持を受け取ると、図15に示すテーブ
ルを参照して選択するキューの先頭につながれている要
求をコマンドとして発行する。許容遅延情報補正指示部
483は、終了通知を受け取ると、要求番号及び書き込
み又は読み出しの終了時刻を取り出して、許容遅延情報
管理部441に許容遅延情報リスト(図10(b)参
照)の補正を指示する。前述したように、許容遅延情報
リストには、終了予定時刻が記入されている。この終了
予定時刻は、あくまでも書き込み又は読み出しの終了予
定時刻であり、終了時刻は、現実の処理終了時刻である
ので、両者の間には時間差が生じる。それゆえに、現時
点で許容遅延リストに記入されている要求すべての終了
予定時刻が変わり、さらに、終了予定時刻に基づいて算
出される許容遅延値も変わる。許容遅延情報管理部44
1は、許容遅延情報補正指示部483からの指示に応答
して、上述した時間差を算出し、許容遅延リストに記入
されている終了予定時刻及び許容遅延値に、当該時間差
を反映させる。これに伴い、優先読み出し許容時間最小
値管理部442が保持する値も変わる。
【0195】第2許容遅延情報更新指示部484は、終
了通知を受け取ると、要求番号を取り出して、許容遅延
情報管理部441に許容遅延情報リストの更新を指示す
る。許容遅延情報管理部441は、この指示に応答し
て、要求番号に対応する許容遅延情報を許容遅延情報リ
ストから削除する。これに伴って、優先読み出し許容時
間最小値管理部442や書き込みキュー先頭要求の処理
時間管理部443が保持する値も変わりうる。使用容量
更新指示部485は、終了通知を受け取ると、使用容量
管理部451にバッファメモリの使用容量を更新させ
る。また、第3状態テーブル更新部453は、この更新
によって、使用容量としきい値との大小関係が変化した
場合には、状態テーブル46を更新する。
【0196】上述したように、本記憶デバイス制御装置
は、整数個の単位ブロックを連続的に格納しうるアドレ
ス領域を、アドレス位置ファイルとして記憶デバイス2
に格納する。ビデオデータや静止画データ等を構成する
単位ブロックは、アドレス位置ファイルに基づいて記憶
デバイスに格納されるので、当該ビデオデータや静止画
データは、複数の記憶デバイス2内に分散配置されるこ
ととなる。また、外部装置は、ビデオデータ等を読み出
す場合、最優先又は優先要求を記憶デバイス制御装置に
送信する。記憶デバイス制御装置は、到着した最優先又
は優先要求について、遅延限界値を守るようにコマンド
として発行される順序を決める。そのため、外部装置が
ビデオデータ等を再生した場合に、映像が途切れたり、
音声が飛んだりしない。また、優先要求については、特
に、可能な限りビデオデータ等のアクセス位置(シリン
ダ位置)が連続するように、コマンドとして発行される
順序が決められる。したがって、記憶デバイス2のヘッ
ドがシリンダ間を移動する時間(距離)を短くでき、ビ
デオデータ等の読み出しに必要となる時間を短くでき
る。これによって、従来のものと比較して、単位時間当
たりで多数の要求を遅延限界値を満たす範囲でコマンド
として発行することができ、記憶デバイス2の使用効率
が向上する。その結果、本記憶デバイス制御装置が主と
して適用されるビデオサーバは、同一のビデオデータ等
を多数格納する必要がなくなり、高価な記憶デバイスの
数を減らすことができる。
【0197】また、本記憶デバイス制御装置は、記憶デ
バイス2において、読み出し又は書き込みが終了した時
刻(終了時刻)が、当初の終了予定時刻と異なる場合に
許容遅延情報リスト内の許容遅延値を補正する。これに
よって、さらに多数の要求を遅延限界値を満たす範囲で
コマンドとして発行でき、記憶デバイス2の使用効率が
向上する。
【0198】また、本記憶デバイス制御装置は、バッフ
ァメモリの使用容量がしきい値以上となった場合、たと
え、最優先又は優先要求が遅延限界値を超えていたとし
ても、書き込みキューの先頭につながれている書き込み
要求をコマンドとして発行する。これによって、バッフ
ァメモリがオーバーフローすることがなくなり、外部装
置からのビデオデータや静止画データ等は、確実に記憶
デバイスに書き込まれる。さらに、本記憶デバイス制御
装置によれば、書き込みにおいても遅延限界値が守られ
る。したがって、外部装置からのビデオデータ等は、予
め定められた時間内に記憶デバイス2に書き込まれ、当
該時間を過ぎれば即座に読み出せる状態になる。つま
り、本記憶デバイス制御装置は、所定時刻になると一斉
に読み出される可能性があるビデオデータ(例えば、ニ
ュース)を、当該所定時刻までに記憶デバイス2に書き
込むことができる。
【0199】また、読み出し要求には、最優先、優先及
び非優先の優先度情報が規定されている。外部装置は、
高速なレスポンスが必要となる処理を記憶デバイス2に
対して要求する場合、例えば、アドレス位置ファイルを
読み出すとき、ビデオデータ等の読み出し開始や、読み
出し箇所の変更等には、最優先の優先度情報を用いて要
求(最優先要求)を送信する。記憶デバイス制御装置
は、最優先要求については、許容限界値を保証するだけ
でなく、コマンドとして発行する順序を可能な限り早め
る。これによって、本記憶デバイス制御装置は、高速な
レスポンスが必要となる処理にも対応できる。また、最
優先及び優先要求は、優先キューにつながれ、コマンド
発行部471は、当該優先キューの先頭につながれてい
る最優先又は優先要求をコマンドとして順次発行する。
したがって、本記憶デバイス制御装置によれば、コマン
ド発行のための判断処理の数が少なくなる。これによっ
ても、記憶デバイスの使用効率が向上する。さらに、外
部装置は、遅延限界値を保証する必要がないデータ(コ
ンピュータデータや静止画データ)については非優先要
求を送信し、また遅延限界値を保証しなければならない
ビデオデータ等については最優先又は優先要求を送信し
て、記憶デバイス2から読み出す。記憶デバイス制御装
置は、最優先及び優先要求を優先的にコマンドとして発
行し、非優先要求については、優先キュー及び書き込み
キューが空の場合にコマンドとして発行する。したがっ
て、本記憶デバイス制御装置が適用されるビデオサーバ
は、遅延限界時間を保証する必要がないデータと、これ
を保証しなければならないデータとを共通の記憶デバイ
スに格納することができるようになる。また、上述した
実施形態においては、読み出し要求又は書き込み要求が
遅延限界時間を含むものとして説明した。しかし、この
遅延限界時間は記憶デバイス制御装置側で与えてもよ
い。
【0200】また、コマンド発行部471(図14参
照)は、状態テーブル46が保持する状態番号(図15
参照)を参照して、コマンド発行のためのキューを1つ
選択していた。しかし、記憶デバイス制御装置は、状態
テーブル46と、第1、第2及び第3状態テーブル更新
部412、444及び453とがなくとも構成できる。
この場合、コマンド発行部471は、図17に示すフロ
ーチャートに従って、コマンド発行のためのキューを選
択する。
【0201】まず、コマンド発行部471は、キュー管
理リストを参照し、書き込みキューに書き込み要求がつ
ながれているか否かを調べる(ステップS1701)。
コマンド発行部471は、書き込み要求がつながれてい
ないと判断すると、後述するステップS1708に進み
(後述)、書き込み要求がつながれていると判断する
と、ステップS1702に進む。コマンド発行部471
は、ステップS1702において、使用容量管理部45
1が保持する使用容量と、しきい値管理部452が保持
するしきい値とを取り出して、それらの大小を比較する
(ステップS1702)。コマンド発行部471は、使
用容量がしきい値以上であると判断すると、書き込みキ
ューの先頭につながれている書き込み要求をコマンドと
して記憶デバイス2に発行する(ステップS1703;
1参照)。なお、この処理は図15に示す状態1の内容
をなす。コマンド発行部471は、ステップS1702
において、使用容量がしきい値未満であると判断する
と、許容遅延情報リスト(図10(b)参照)を参照し
て、書き込みキューにつながれる要求それぞれの許容遅
延値が「予め定められた一定値」未満か否かを調べる
(ステップS1704)。コマンド発行部471は、許
容遅延値が「予め定められた一定値」未満であると判断
すると、ステップS1703での処理に進み、書き込み
キューの先頭につながれている書き込み要求をコマンド
として発行する(ステップS1703)。なお、この処
理は図15に示す状態2の内容をなす。
【0202】コマンド発行部471は、ステップS17
04において、許容遅延値が「予め定められた一定値」
以上であると判断すると、優先度情報リストを参照し、
最優先要求が優先キューにつながれているか否かを調べ
(ステップS1705)、最優先要求がつながれている
と判断すると、優先キューの先頭につながれている読み
出し要求をコマンドとして記憶デバイス2に発行する
(ステップS1706)。この処理は図15に示す状態
3の内容をなす。コマンド発行部471は、ステップS
1705において、最優先要求がつながれていないと判
断すると、書き込みキュー先頭要求の処理時間管理部4
43が保持している処理時間が、優先読み出し許容時間
最小値管理部442が保持している許容時間よりも短い
か否かを、つまり、書き込みキューの先頭につながれて
いる書き込み要求についての書き込みが、優先キュー内
の要求それぞれが持つ許容遅延値の時間内に終わるか否
かを調べる(ステップS1707)。コマンド発行部4
71は、書き込みが終わると判断すると、ステップS1
703に進み、書き込みキューの先頭につながれている
書き込み要求をコマンドとして発行する(ステップS1
703)。なお、この処理は図15に示す状態5の内容
をなす。一方、コマンド発行部471は、ステップS1
707において、書き込みが終わらないと判断すると、
ステップS1706での処理に進み、優先キューの先頭
につながれている読み出し要求をコマンドとして記憶デ
バイス2に発行する(ステップS1706)。この処理
は図15に示す状態4の内容をなす。
【0203】次に、コマンド発行部471は、ステップ
S1701において、書き込み要求がつながれていない
と判断すると、優先度情報リストを参照して、最優先又
は優先要求が優先キューにつながれているか否かを調べ
る(ステップS1708)。コマンド発行部471は、
優先キューに要求がつながれていると判断すると、ステ
ップS1706に進み、優先キューの先頭につながれて
いる読み出し要求をコマンドとして記憶デバイス2に発
行する(ステップS1706)。この処理は図15に示
す状態6の内容をなす。一方、コマンド発行部471
は、ステップS1708において、優先キューに要求が
つながれていないと判断すると、優先度情報リストを参
照して、非優先キューに非優先要求がつながれているか
否かを調べる(ステップS1709)。コマンド発行部
471は、非優先キューに要求がつながれていると判断
すると、非優先キューの先頭につながれている非優先要
求をコマンドとして記憶デバイス2に発行する(ステッ
プS1710,図14状態7参照)。一方、コマンド発
行部471は、非優先キューに非優先要求がつながれて
いないと判断すると、どのキューにも要求がつながれて
いないと判断し、コマンドを発行しない(ステップS1
711)。コマンド発行部471は、図17に示すよう
にして、3種類の中からキューを1つ選択できる。
【0204】また、本実施形態においては、記憶デバイ
ス制御装置は、複数の記憶デバイス2を備える構成とし
たが、1つの記憶デバイス2であってもよい。また、本
実施形態では、データは、複数の記憶デバイス2から整
数個の単位ブロックを連続的に格納しうる空き領域が選
択され、SCSIアドレスが付された順序に従って記憶
デバイス2に書き込まれていた。しかし、これに限定さ
れず、データは、複数の記憶デバイス2から空き領域が
ランダムに選択されたり、1つの記憶デバイス2のみか
ら空き領域が選択されたりしてもよい。
【0205】また、本実施形態では、優先度情報として
4種類(最優先、優先、非優先及び書き込み)を規定し
たが、複数個の優先度を規定すれば本記憶デバイス制御
装置は、上述した効果を奏する。また、本実施形態で
は、許容遅延値及びデータサイズは、外部装置から到着
する要求に含まれるようにしていたが、予め記憶デバイ
ス制御装置に保持させておいてもよい。さらに、本実施
形態では、アクセス位置情報は、外部装置から到着する
要求に含まれており、ビデオデータ等が格納されるアド
レス位置の先頭と規定していた。しかし、アクセス位置
情報は、ビデオデータ等が格納される位置が特定できる
情報(例えば、トラック位置)であってもよい。また、
本実施形態では、キュー管理部43(図6参照)は、3
種類のキューを持つよう構成したが、これに限られず、
少なくとも1つのキューを持っていればよい。また、許
容遅延情報リストに記入される見積もり処理時間(読み
出し及び書き込み)の算出方法は、前述に限られず、例
えば、ディスクの回転方向に対する記録位置を識別する
情報に基づいて、回転待ち時間を算出するなどの方法も
考えられる。また、優先キュー内につながれる最優先又
は優先要求の順序は、前述した方法に限られず、当該要
求の先着順で処理する場合と比較して、各要求の処理時
間の見積もり処理時間が短くなるように決められればど
のような方法でもよい。
【0206】また、上述した位置情報管理部1は、外部
からのファイル作成要求に応答して、アドレス位置ファ
イルを作成する。以下には、位置情報管理部1におい
て、アドレス位置ファイルを作成する機能を持つものを
記憶デバイス管理システムと称する。アドレス位置ファ
イルは、上述した処理によって作成されるものだけでな
く、以下の記憶デバイス管理システム(第1〜第7の構
成例)によって作成してもよい。ただし、以下の構成例
におけるアドレス位置ファイルは、SCSIアドレス、
MSFSアドレスやブロックアドレス(後述)から構成
される点で、上述したアドレス位置ファイルと相違す
る。
【0207】図18は、本発明の第1の構成例に係る記
憶デバイス管理システム(以下、「本システム」とい
う)の構成を示すブロック図である。図18において、
本システムは、構成管理部1801と、空き領域管理部
1802と、アドレス位置ファイル作成部1803とを
備えており、アドレス位置ファイルを作成、つまり、外
部の複数の記憶デバイスに、データを分割したブロック
を分散配置する際の配置先(データの配置先)を決め
る。構成管理部1801は、上記記憶デバイスの台数情
報と、各記憶デバイスを識別するための第1の識別子と
を管理する。空き領域管理部1802は、各記憶デバイ
スが持つ空き領域を分割した空きブロック(この空きブ
ロックは1つのブロックを格納しうる)を、当該空きブ
ロックのアドレスと第1の識別子とを用いて管理する。
なお、空き領域管理部1802は、図2に示す空き領域
管理部11に相当するが、上述からも明らかなように、
記憶デバイスが持つ空き領域を管理する方法は相違す
る。アドレス位置ファイル作成部1803は、図3に示
すフローチャートに従う処理を実行してアドレス位置フ
ァイルを作成し、ブロックごとの配置先を、第1の識別
子と空きブロックのアドレスとを用いて決める。なお、
アドレス位置ファイル作成部1803は、図2に示すア
ドレス位置ファイル作成部12に相当するが、以降の説
明からも明らかなように、それぞれが内部で実行する処
理は相違する。
【0208】図19は、本システムの管理対象である記
憶デバイスの構成例を示しており、複数の記憶デバイス
として、3台の記憶デバイス1805a〜1805c
と、これらに対してデータの書き込みなどを実行する記
憶デバイス制御装置1804とを示している。なお、記
憶デバイス制御装置1804は、図1に示す要求受け付
け部と要求制御部に相当する。このことは、図22に示
す記憶デバイス制御装置1806においても該当するこ
とである。記憶デバイス1805a、1805b及び1
805cには、第1の識別子として、他の記憶デバイス
と重複しないSCSIアドレスであるSCSIa、SC
SIb及びSCSIcが与えられている。
【0209】本システムが、複数の記憶デバイス(図1
9参照)向けのアドレス位置ファイルを作成する場合、
構成管理部1801は、SCSIa〜SCSIcと、記
憶デバイスの台数情報としての「3台」とを管理する。
空き領域管理部1802は、空きブロックのアドレス
を、SCSIアドレス別に管理し、これによって、記憶
デバイス1805a〜1805c別に空きブロックを管
理する。なお、本システムの説明をより具体的にするた
め、記憶デバイス1805a〜1805cは、1000
個の空きブロックを有しており、空き領域管理部180
2は、「1」〜「1000」の空きブロックアドレスを
記憶デバイス別に管理する。
【0210】以下、図20に示すフローチャートを参照
し、本システムの動作を詳説する。本システムの外部に
位置する外部装置(図示せず)は、記憶デバイスにデー
タを書き込む必要が生じると、このアドレス位置ファイ
ルの作成を要求するためのファイル作成要求を出力す
る。ファイル作成要求は、データの書き込みに必要な空
きブロックの個数を指定する情報(以下、「指定ブロッ
クサイズ」という)を含む。アドレス位置ファイル作成
部1803は、外部装置からのファイル作成要求を受け
取り(ステップS2001)、これに含まれる「指定ブ
ロックサイズ」を取り出して保持する。
【0211】次に、アドレス位置ファイル作成部180
3は、構成管理部1801から、台数情報及び第1の識
別子を取り出し(ステップS2002)、管理対象とす
る記憶デバイスの構成を認識する。具体例として、本シ
ステムが図19に示すような複数の記憶デバイスを管理
対象とする場合、アドレス位置ファイル作成部1803
は、ステップS2002で、台数情報「3台」と、SC
SIa〜SCSIcとを取り出す。これによって、アド
レス位置ファイル作成部1803は、図19に示すよう
な、複数の記憶デバイスの構成を認識する。
【0212】次に、アドレス位置ファイル作成部180
3は、内部に有しており、ステップS2004(後述)
で取り出す空きブロックアドレス数の累計をとるカウン
ト部(図示せず)を初期値“0”に設定する(ステップ
S2003)。
【0213】次に、アドレス位置ファイル作成部180
3は、空き領域管理部1802から、ステップS200
2で取り出した第1の識別子に対応する空きブロックア
ドレスを1つずつ取り出す(ステップS2004)。ア
ドレス位置ファイル作成部1803は、上記のようにS
CSIa〜SCSIcを取り出した場合、ステップS2
004で、それぞれに対応する空きブロックアドレスと
して、例えば「1」を取り出す。
【0214】次に、アドレス位置ファイル作成部180
3は、第1の識別子とこれに対応する空きブロックアド
レスとをまとめた組を作る。その後、アドレス位置ファ
イル作成部1803は、ランダムな順列を発生させるこ
とにより、自身が作った組をランダムに並び替え、アド
レス位置ファイルとして管理する(ステップS200
5)。つまり、アドレス位置ファイル作成部1803
は、自身が作った組数の階乗通りある順列の1つを、デ
ータの配置先として決める。アドレス位置ファイル作成
部1803は、上記のようにSCSIa、SCSIb及
びSCSIcについて空きブロックアドレス「1」を取
り出した場合、ステップS2005で、(SCSIa;
1)、(SCSIb;1)及び(SCSIc;1)とい
う3つの組を作る。ここで、かっこ内の右側の数字は空
きブロックアドレスを示す。その後、アドレス位置ファ
イル作成部1803は、この3つの組をランダムに並び
替える。このようにして、アドレス位置ファイルは、例
えば、[(SCSIb;1),(SCSIa;1),
(SCSIc;1)]のように作成される(図21
(a)を参照)。
【0215】次に、アドレス位置ファイル作成部180
3は、ステップS2004で取り出した空きブロックア
ドレスの個数分、カウント部をカウントアップした後、
カウント部の現在の指示値と指定ブロックサイズとを比
較する(ステップS2006)。アドレス位置ファイル
作成部1803は、上記現在の指示値が指定ブロックサ
イズよりも小さい場合、当該指定ブロックサイズ分のア
ドレス位置ファイルを作成していないとして、再度、ル
ープ(ステップS2004〜S2006)を実行する。
一方、アドレス位置ファイル作成部1803は、現在の
指示値が指定ブロックサイズ以上である場合、当該指定
ブロックサイズ分のアドレス位置ファイルを作成したと
して、図20に示すフローチャートに従う処理を終了す
る。アドレス位置ファイル作成部1803は、上記のよ
うに、3個の空きブロックアドレスを取り出した場合、
ステップS2006で、カウント部を“3”カウントア
ップし、現在の指示値“3”と指定ブロックサイズとを
比較する。今、現在の指示値“3”が指定ブロックサイ
ズよりも小さいとすると、アドレス位置ファイル作成部
1803は、再度、ループを実行する。今回のループで
は、アドレス位置ファイルが、[(SCSIa;2),
(SCSIc;2),(SCSIb;2)]と作成され
たとする(図21(b)を参照)。その後、アドレス位
置ファイル作成部1803は、カウント部を“3”カウ
ントアップし、現在の指示値“6”と指定ブロックサイ
ズとを比較する。このように、アドレス位置ファイル作
成部1803は、現在の指示値が指定ブロックサイズ以
上になるまで、ループを繰り返し実行する。
【0216】ここで、図21に示す第1のアドレス位置
ファイル2101は、上記の具体例に沿って作られたも
のである。なお、図21は、アドレス位置ファイル作成
部1803が他のファイル作成要求に応答して作った第
2のアドレス位置ファイル2102も示している。第1
及び第2のアドレス位置ファイル2101及び2102
は、SCSIアドレスと空きブロックアドレスを組とし
て、ブロックを書き込むべき記憶デバイスのアドレス位
置を記憶デバイス制御装置1804(図19参照)が一
意に把握できるように作成される。記憶デバイス制御装
置1804は、入力されるデータをブロックに分割し、
当該データとは別経路から入力されるアドレス位置ファ
イルに従って、ブロックを記憶デバイス1805に書き
込む。このとき、記憶デバイス制御装置1804が第1
のアドレス位置ファイル2101に従うとすると、最初
のブロックは、記憶デバイス1805b(SCSIb)
の空きブロックアドレス「1」に書き込まれ、その次の
ブロックは、記憶デバイス1805a(SCSIa)の
空きブロックアドレス「1」に書き込まれる。以降、同
様にして、ブロックは順次、(SCSIc;1),(S
CSIa;2),…で特定される記憶デバイスの空き領
域に書き込まれる。これによって、一連のデータは、ブ
ロックごとに複数の記憶デバイスに分散配置されること
となる。
【0217】上述したようして本システムは、自身が複
数の記憶デバイスを管理する場合に、複数の記憶デバイ
スにデータを均等に分散配置できるように、アドレス位
置ファイルを作成する。これによって、データを読み出
す場合に、特定の記憶デバイスへのアクセスが集中せ
ず、すべての記憶デバイスに対して均等にアクセスが行
われるので、全体として十分に大きい帯域が得られると
いう効果を奏する。また、データを読み出す場合のアク
セスの順番は、第1及び第2のアドレス位置ファイル2
101及び2102を参照すれば明らかなように、デー
タごとで互いに異なる。したがって、帯域が互いに異な
るデータに対する読み出し要求が同時に発生したとして
も、それぞれを読み出すためのアクセスの順番が互いに
異なるため、従来技術で述べたような「アクセスの開
始」を意図的にずらす必要がない。これによって、デー
タの要求元は、要求を出してから短時間に当該データを
得ることができるという効果を奏する。さらに、互いに
帯域の異なるデータが記憶デバイスに混在している場合
でも、従来技術で述べたような、帯域の相違によるアク
セスのタイミングが一致するというようなことがなくな
るという効果を奏する。上記2つの効果は、後で詳説す
る第2〜第7の構成例でも該当することである。
【0218】なお、上述では、本システムは、記憶デバ
イスすべてにデータを分散配置するようにしているが、
一部の記憶デバイスにデータを分散配置するようにして
もよい。このことは、以下に詳説する第3、第5〜第7
の構成例でも該当する。また、第1又は第2のアドレス
位置ファイル2101又は2102を参照すれば明らか
なように、各記憶デバイスの空きブロックアドレスは、
その順序通りに取り出されていたが、当該空きブロック
アドレスはランダムに取り出されてもよい。このこと
は、後で詳説する第2〜第7の構成例でも該当すること
である。
【0219】次に、本発明の第2の構成例に係る記憶デ
バイス管理システム(以下、「本システム」という)に
ついて説明する。本システムのブロック構成は、図18
に示したものと同様であるため、その図示及び概略の説
明を省略し、相当する構成については同一の参照番号を
用いて以下の説明を行う。ただし、本システムが管理対
象とする複数の記憶デバイスなどの構成は図19に示す
ものと異なり、さらに、本システムの構成各部も、以下
に説明するように、第1の構成例において相当するもの
と異なる。ここで、本システムが管理対象とする複数の
記憶デバイスは、予め複数のグループに分けられる。各
グループには、それぞれのグループを識別するために、
他のグループと重複しない第2の識別子が付されてい
る。また、各記憶デバイスには、同一のグループに属す
る他の記憶デバイスと重複しない第1の識別子が付され
ている。
【0220】構成管理部1801は、第1及び第2の識
別子と、本システムが管理対象とするすべての記憶デバ
イスに台数を示す台数情報やグループの数を示すグルー
プ数情報とを管理する。空き領域管理部1802は、各
記憶デバイスの空きブロック(第1の構成例参照)を、
空きブロックのアドレスと第1及び第2の識別子とを用
いて管理する。アドレス位置ファイル作成部1803
は、図23に示すフローチャートに従う処理を実行し
て、ブロックごとの配置先を、第1及び第2の識別子
と、空きブロックアドレスとを用いて決める。
【0221】図22は、本システムの管理対象である記
憶デバイスの構成例を示しており、複数の記憶デバイス
として、6台の記憶デバイス1807(1807a〜1
807f)と、2台の記憶デバイス制御装置1806
(1806a及び1806b)と、1台の入出力制御装
置1808とを示している。図22において、6台の記
憶デバイスのうち3台(記憶デバイス1807a〜18
07c)は、記憶デバイス制御装置1806aを介し
て、また、残りの3台(記憶デバイス1807d〜18
07f)は、記憶デバイス制御装置1806bを介し
て、入出力制御装置1808に接続されている。記憶デ
バイス制御装置1806a及び1806bは、記憶デバ
イス1807a〜1807c及び1807d〜1807
fに対してデータの書き込みなどを実行する。入出力制
御装置1808は、本システムから受け取るアドレス位
置ファイルに従い、外部から入力したデータを分割した
ブロック及び当該アドレス位置ファイルを、該当する記
憶デバイス制御装置1806a又は1806bに振り分
ける。各記憶デバイス1807には、第1の識別子とし
てSCSIアドレスが付されており、具体的には、記憶
デバイス1807a〜1807cには、SCSIa〜S
CSIcが付されており、また、記憶デバイス1807
d〜1807fにも、SCSIa〜SCSIcが付与さ
れている。また、記憶デバイス制御装置1806a及び
1806bには、第2の識別子として、互いに重複しな
いMSFSアドレスであるMSFS1及びMSFS2が
付されている。これによって、複数の記憶デバイス18
07は、MSFSアドレスによってグループ化され、M
SFSアドレスとSCSIアドレスとによって特定され
る。以下の説明にでは、MSFS1及びMSFS2によ
って特定されるグループをグループ1及びグループ2と
いう。
【0222】本システムが、複数の記憶デバイス(図2
2参照)に対してアドレス位置ファイルを決める場合、
構成管理部1801は、MSFS1及びMSFS2を管
理し、さらに、第1の識別子としてSCSIa〜SCS
IcをMSFS1及びMSFS2それぞれについて管理
する。また、構成管理部1801は、グループ数情報と
して「2」を、さらに、台数情報として「6台」を管理
する。空き領域管理部1802は、記憶デバイス180
7それぞれが有する「1」〜「1000」までの空きブ
ロックアドレスを、MSFSアドレス及びSCSIアド
レス別に管理する。
【0223】以下、図23に示すフローチャートを参照
し、本システムの動作を詳説する。第1の構成例で説明
したのと同様に、外部装置は、「指定ブロックサイズ」
を含むファイル作成要求とデータとを出力する。アドレ
ス位置ファイル作成部1803は、外部装置からのファ
イル作成要求を受け取り(ステップS2301)、これ
に含まれる「指定ブロックサイズ」を取り出して保持す
る。
【0224】次に、アドレス位置ファイル作成部180
3は、構成管理部1801から、第1及び第2の識別子
と、台数情報及びグループ数情報とを取り出し(ステッ
プS2302)、管理対象とする記憶デバイスの構成を
認識する。具体例として、本システムが図22に示すよ
うな複数の記憶デバイスを管理対象とする場合、アドレ
ス位置ファイル作成部1803は、ステップS2302
で、MSFS1及びSCSIa〜SCSIcと、MSF
S2及びSCSIa〜SCSIcとを取り出し、さら
に、「6台」という台数情報と「2個」というグループ
数情報とを取り出す。これによって、アドレス位置ファ
イル作成部1803は、図22に示すような記憶デバイ
スの構成を認識する。
【0225】次に、アドレス位置ファイル作成部180
3は、第1の構成例で説明したのと同様のカウント部を
初期値“0”に設定する(ステップS2303)。
【0226】次に、アドレス位置ファイル作成部180
3は、すべての記憶デバイスごとに、つまり、ステップ
S2302の処理によって取り出した第1の識別子ごと
(より厳密には、第2及び第1の識別子の組ごと)に選
択フラグを設定し、すべての選択フラグを「OFF」に
する(ステップS2303)。ここで、「選択フラグ」
とは、ステップS2305で、空きブロックアドレスと
取り出す記憶デバイスとして既に選択されているか否か
を示すフラグである。アドレス位置ファイル作成部18
03は、上記のように、MSFS1及びMSFS2につ
いて、SCSIa〜SCSIcをそれぞれ取り出した場
合、ステップS2304で、「OFF」を示す6個の選
択フラグを設定する。
【0227】次に、アドレス位置ファイル作成部180
3は、第2の識別子で特定されるグループそれぞれか
ら、選択フラグが現在「OFF」を示している第1の識
別子を1つずつランダムに選択し、この選択フラグを
「ON」に変更し(ステップS2305)、これによっ
て、空きブロックアドレスを取り出す記憶デバイスを選
択する。アドレス位置ファイル作成部1803は、上記
のように6個の選択フラグを設定した場合、ステップS
2305において、グループ1及びグループ2の中か
ら、SCSIアドレスを1つずつ選択し、そのSCSI
アドレス向けの選択フラグを「ON」にする。このと
き、グループ1の中からはSCSIbが、さらに、グル
ープ2の中からはSCSIaが選択されたとする。
【0228】次に、アドレス位置ファイル作成部180
3は、各グループに属する記憶デバイスの選択フラグが
すべて「ON」を示しているか否かを判断し、すべての
選択フラグが「ON」を示している場合にのみ、当該選
択フラグを「OFF」に変更し(ステップS230
6)、これによって、次回のループ(ステップS230
5〜S2309)でも、すべてのグループから記憶デバ
イスを選択することが可能となる。例えば、グループ1
に属するSCSIa〜SCSIc向けの選択フラグが
「ON」を示している場合に、アドレス位置ファイル作
成部1803は、ステップS2306で、それらすべて
を「OFF」に変更する。
【0229】次に、アドレス位置ファイル作成部180
3は、空き領域管理部1802から、ステップS230
5で選択した記憶デバイス(第2及び第1の識別子で特
定される)に対応する空きブロックアドレスを1つずつ
取り出す(ステップS2307)。アドレス位置ファイ
ル作成部1803は、上記のように、グループ1につい
てはSCSIbを、さらに、グループ2についてはSC
SIaを選択した場合、ステップS2307で、それぞ
れに対応する空きブロックアドレスとして、例えば
「1」を取り出す。
【0230】次に、アドレス位置ファイル作成部180
3は、第2及び第1の識別子とこれに対応する空きブロ
ックアドレスとを一組にまとめ、このような組をグルー
プ数情報が示す数分だけ作る。その後、アドレス位置フ
ァイル作成部1803は、かかるグループ数分ある組
を、第1の構成例で説明したのと同様にランダムに並び
替え、アドレス位置ファイルとして管理する(ステップ
S2308)。アドレス位置ファイル作成部1803
は、上記のように、MSFS1及びSCSIb並びにM
SFS2及びSCSIaそれぞれについて空きブロック
アドレス「1」を取り出した場合、ステップS2308
で、(MSFS1;SCSIb;1)及び(MSFS
2;SCSIa;1)という組を作る。ここで、かっこ
内の右側の数字は空きブロックアドレスを示す。その
後、アドレス位置ファイル作成部1803は、これらの
組をランダムに並び替える。このとき、アドレス位置フ
ァイルは、これらの順列の1つである[(MSFS1;
SCSIb;1),(MSFS2;SCSIa;1)]
と作成されたとする(図24(a)を参照)。
【0231】次に、アドレス位置ファイル作成部180
3は、ステップS2307で取り出した空きブロックア
ドレスの個数分、カウント部をカウントアップした後、
この現在の指示値と指定ブロックサイズとを比較する
(ステップS2309)。アドレス位置ファイル作成部
1803は、現在の指示値が指定ブロックサイズよりも
小さい場合、再度、ループ(ステップS2305〜S2
309)を実行する。一方、アドレス位置ファイル作成
部1803は、現在の指示値が指定ブロックサイズ以上
である場合、図23に示すフローチャートに従う処理を
終了する。アドレス位置ファイル作成部1803は、上
記のように、空きブロックアドレスを2個取り出した場
合、ステップS2309で、カウント部を“2”カウン
トアップする。今、現在の指示値“2”が指定ブロック
サイズよりも小さいとすると、アドレス位置ファイル作
成部1803は、再度、ループを実行する。今回のルー
プでは、アドレス位置ファイルが、[(MSFS2;S
CSIc;1),(MSFS1;SCSIa;1)]と
作成されるとする(図24(b)を参照)。この後、ア
ドレス位置ファイル作成部1803は、カウント部を
“2”だけカウントアップし、カウント部の現在の指示
値“4”と指定ブロックサイズとを比較する。このよう
に、アドレス位置ファイル作成部1803は、現在の指
示値が指定ブロックサイズ以上になるまで、上記ループ
を繰り返し実行する。
【0232】ここで、図24に示す第1のアドレス位置
ファイル2401は、上記の具体例に沿って作られたも
のである。なお、図24は、アドレス位置ファイル作成
部1803が他のファイル作成要求に応答して作った第
2のアドレス位置ファイル2402も示している。第1
及び第2のアドレス位置ファイル2401及び2402
は、MSFSアドレスとSCSIアドレスと空きブロッ
クアドレスとを組として、ブロックを書き込むべき記憶
デバイスが接続されている記憶デバイス制御装置180
6を入出力制御装置1808が、さらに、ブロックを書
き込むべき記憶デバイスの空きブロックアドレスを記憶
デバイス制御装置1806が一意に把握できるように作
られる。入出力制御装置1808は、アドレス位置ファ
イルに従って、当該アドレス位置ファイルとは別経路か
ら入力されるデータを分割したブロックを、記憶デバイ
ス制御装置1806に振り分ける。記憶デバイス制御装
置1806は、入出力制御装置1808から受け取った
ブロックを、アドレス位置ファイルに従って、記憶デバ
イス1805に書き込む。このとき、両者が第1のアド
レス位置ファイル2401に従うとすると、最初のブロ
ックは、記憶デバイス1807b(MSFS1;SCS
Ib)の空きブロックアドレス「1」の空きブロックに
書き込まれ、その次のブロックは、記憶デバイス180
7d(MSFS2;SCSIa)の空きブロックアドレ
ス「1」の空きブロックに書き込まれる。以降、同様に
して、ブロックは順次、(MSFS2;SCSIc;
1),(MSFS1;SCSIa;1),…で特定され
る記憶デバイスの空きブロックに書き込まれる。これに
よって、一連のデータはブロックごとに、グループ化さ
れた複数の記憶デバイスに分散配置されることとなる。
【0233】上述したように、本システムは、複数のグ
ループに分けられた複数の記憶デバイスを管理する場合
に、データを構成するブロックを、各グループに対し
て、さらに、グループに属する記憶デバイスに対しても
均等に配置できるように、アドレス位置ファイルを作成
する。これによって、データを読み出す場合に、特定の
グループに属する記憶デバイスへのアクセスが集中せ
ず、かつ、各グループに属する個々の記憶デバイスへの
アクセスが集中せず、すべてのグループ及びそのグルー
プに属する記憶デバイスに対して均等な割合でアクセス
が行われるので、全体として十分に大きい帯域を得るこ
とができるという効果を奏する。
【0234】なお、上述では、各グループに属する記憶
デバイス(記憶デバイス)すべてにデータが分散配置さ
れるようにしているが、各グループの一部の記憶デバイ
スにデータが分散配置されるようにしてもよい。
【0235】次に、本発明の第3の構成例に係る記憶デ
バイス管理システム(以下、「本システム」という)に
ついて説明する。本システムのブロック構成、及び、当
該システムが管理対象とする記憶デバイスなどの構成例
は、図18及び図19に示したものと同様であるため、
それらの図示及び概略の説明を省略し、相当する構成に
ついては同一の参照番号を用いて以下の説明を行う。た
だし、本システムの構成管理部1801が管理する情報
及びアドレス位置ファイル作成部1803の処理手順
は、従前の構成例で説明したものと異なるので、これら
の相違については詳説する。なお、空き領域管理部18
02が管理する情報は、第1の構成例で説明したものと
同様であるため、その説明を省略する。
【0236】構成管理部1801は、第1の構成例で説
明した台数情報及び第1の識別子に加え、記憶デバイス
ごとの「分散の比率」を管理する。アドレス位置ファイ
ル作成部1803は、図25に示すフローチャートに従
う処理を実行して、ブロックごとの配置先を、「分散の
比率」を考慮して、第1の識別子及び空きブロックアド
レスを用いて決める。
【0237】ここで、「分散の比率」について説明す
る。「分散の比率」とは、複数の記憶デバイスの帯域
(単位時間当たりに書き込み/読み出しできるデータの
量)及び/又は容量を用いて求められ、1つのデータを
構成するブロックが複数の記憶デバイスに分散配置され
た場合に、それぞれの記憶デバイスに配置されるブロッ
ク数の割合である。「分散の比率」は、例えば、以下の
〜のようにして求められる。 複数の記憶デバイスそれぞれの帯域に比例して求める
場合、各記憶デバイスの「分散の比率」は、 (その記憶デバイスの帯域)/(すべての記憶デバイスの帯域の和) …(2) を演算することにより求められる。今、複数の記憶デバ
イスとして、図19に示す記憶デバイス1805a、1
805b及び1805cを想定し、それぞれの帯域が、
1Mbps、2Mbps及び2Mbpsであると仮定す
る。このとき、記憶デバイス1805aの「分散の比
率」は、上式(2)より、 1Mbps/(1Mbps+2Mbps+2Mbps)
=1/5 となり、同様にして、記憶デバイス1805b及び18
05cの「分散の比率」は、2/5及び2/5となる。 複数の記憶デバイスそれぞれの容量に比例して求める
場合、各記憶デバイスの「分散の比率」は、 (その記憶デバイスの容量)/(すべての記憶デバイスの容量の和) …(3) を演算することにより求められる。今、上述と同様の場
合を想定し、記憶デバイス1805a、1805b及び
1805cの容量が、2GB、2GB及び4GBである
と仮定する。このとき、記憶デバイス1805aの「分
散の比率」は、上式(3)より、 2GB/(2GB+2GB+4GB)=2/8 となり、同様にして、記憶デバイス1805b及び18
05cの「分散の比率」は、2/8及び4/8となる。 複数の記憶デバイスそれぞれの帯域及び容量を考慮し
て求める場合、各記憶デバイスの「分散の比率」は、 {(その記憶デバイスの帯域)/(すべての記憶デバイスの帯域の和)}× α+(その記憶デバイスの容量)/(すべての記憶デバイスの容量の和)× (1−α)…(4) を演算することにより求められる。ここで、α及び(1
−α)は、「分散の比率」を決める際に帯域及び容量が
どのように考慮されるのかを示す比率であり、αは0<
α<1を満たす値である。今、上述と同様の場合を想定
し、記憶デバイス1805a、1805b並びに180
5cの帯域及び容量が、1Mbps及び2GB、2Mb
ps及び2GB、並びに、3Mbps及び4GBである
と仮定し、さらに、αを3/5と仮定する。このとき、
記憶デバイス1805aの「分散の比率」は、上式
(4)より、 1/6×3/5+2/8×2/5=1/5 となり、同様にして、記憶デバイス1805b及び18
05cの「分散の比率」は、3/10及び1/2とな
る。
【0238】本システムが図19に示すような複数の記
憶デバイスを管理し、それぞれの「分散の比率」が上記
の例で得られたものである場合、構成管理部1801
は、台数情報として「3台」を、第1の識別子としてS
CSIa、SCSIb及びSCSIcを、さらに、記憶
デバイス1805a、1805b及び1805cの「分
散の比率」として、SCSIa、SCSIb及びSCS
Icについて、“0.2”、“0.4”及び“0.4”
を管理する。
【0239】以下、図25に示すフローチャートを参照
し、本システムの動作を詳説する。第1の構成例で説明
したのと同様に、外部装置は、「指定ブロックサイズ」
を含むファイル作成要求とデータとを出力する。アドレ
ス位置ファイル作成部1803は、外部装置からのファ
イル作成要求を受け取り(ステップS2501)、これ
に含まれる「指定ブロックサイズ」を取り出して保持す
る。
【0240】次に、アドレス位置ファイル作成部180
3は、構成管理部1801から、第1の識別子及び台数
情報を取り出して、管理対象とする記憶デバイスの構成
を認識し、さらに、「分散の比率」を取り出す(ステッ
プS2502)。具体例として、本システムが図19に
示すような複数の記憶デバイスを管理対象とする場合、
アドレス位置ファイル作成部1803は、ステップS2
502で、図20に示すステップS2002と同様にし
て、当該管理対象を認識する。さらに、アドレス位置フ
ァイル作成部1803は、SCSIa、SCSIb及び
SCSIcに対応する「分散の比率」として“0.
2”、“0.4”及び“0.4”を取り出す。
【0241】次に、アドレス位置ファイル作成部180
3は、第1の構成例で説明したのと同様のカウント部を
初期値“0”に設定する(ステップS2503)。
【0242】次に、アドレス位置ファイル作成部180
3は、データの配置先となる記憶デバイスを選択するた
めに、配置先計算値を、ステップS2502の処理で取
り出した台数情報及び第1の識別子に基づいて設定し、
当該配置先計算値の初期値として“0”を与える(ステ
ップS2504)。アドレス位置ファイル作成部180
3は、上記のように、SCSIa、SCSIb及びSC
SIcを取り出した場合、それぞれについて、初期値
“0”の配置先計算値を設定する。
【0243】次に、アドレス位置ファイル作成部180
3は、各配置先計算値の現在の指示値に、それぞれに対
応する「分散の比率」を加算する(ステップS250
5)。アドレス位置ファイル作成部1803は、上記の
ように、SCSIa、SCSIb及びSCSIcについ
て配置先計算値“0”をそれぞれ設定した場合、ステッ
プS2505で、各配置先計算値“0”に、“0.
2”、“0.4”及び“0.4”を加算する。
【0244】次に、アドレス位置ファイル作成部180
3は、現在、“1.0”以上を示している配置先計算値
があるか否かを判断する(ステップS2506)。アド
レス位置ファイル作成部1803は、現在、すべての配
置先計算値が“1.0”未満を示している場合、ステッ
プS2505に移行する。一方、アドレス位置ファイル
作成部1803は、現在、少なくとも1つの配置先計算
値が“1.0”以上を示している場合、ステップS25
07に移行する。つまり、アドレス位置ファイル作成部
1803は、ステップS2506で、少なくとも1つの
配置先計算値が“1.0”以上を示すまで、ステップS
2505で、各配置先計算値に、対応する「分散の比
率」を加算することとなる。
【0245】アドレス位置ファイル作成部1803は、
ステップS2507に移行すると、“1.0”以上を示
している配置先計算値から“1.0”を減算した後、か
かる減算を行った配置先計算値に対応する第1の識別子
によって特定される記憶デバイスを、空きブロックアド
レスを取り出す記憶デバイスとして選択する(ステップ
S2507)。
【0246】ここで、図26は、ステップS2505及
びS2506が繰り返し実行された場合のSCSIa〜
SCSIcの配置先計算値の遷移、及び、ステップS2
507で選択される記憶デバイス1805を示してい
る。図26において、SCSIaについての配置先計算
値は、ステップS2505が実行されるたびに“0.
2”が加算されるため、初期値“0”から“0.2”→
“0.4”→“0.6”…と遷移する。同様に、SCS
Ib及びSCSIcについての配置先計算値はそれぞ
れ、“0.4”が累積加算されるため、初期値“0”か
ら“0.4”→“0.8”→“1.2”と遷移する。ア
ドレス位置ファイル作成部1803は、SCSIb及び
SCSIcについての配置先計算値が“1.2”になっ
た時点で、ステップS2507に移行し、上記減算を行
って、当該計算値を“0.2”とする(図26に示す○
で示す部分を参照)。アドレス位置ファイル作成部18
03は、減算を行った配置先計算値に対応するSCSI
b及びSCSIcに対応する記憶デバイス1805b及
び1805cを、空きブロックアドレスを取り出す記憶
デバイスとして選択する。
【0247】再度、図25を参照して説明する。ステッ
プS2507の後、アドレス位置ファイル作成部180
3は、空き領域管理部1802から、当該ステップで選
択した第1の識別子に対応する空きブロックアドレスを
1つずつ取り出す(ステップS2508)。アドレス位
置ファイル作成部1803は、上記のように、SCSI
bとSCSIcとを選択した場合、ステップS2508
で、それぞれに対応する空きブロックアドレスとして、
例えば、空きブロックアドレス「1」を取り出す。
【0248】次に、アドレス位置ファイル作成部180
3は、図20のステップS2005と同様の処理を実行
し、第1の識別子とこれに対応する空きブロックアドレ
スとを一組にまとめた後、選択したSCSIアドレスの
数分ある組をランダムに並び替え、アドレス位置ファイ
ルとして管理する(ステップS2509)。アドレス位
置ファイル作成部1803は、上記のように、SCSI
b及びSCSIcそれぞれについて空きブロックアドレ
ス「1」を取り出した場合、ステップS2509で、
(SCSIb;1)及び(SCSIc;1)という組を
作り、これらをランダムに並び替える。このとき、アド
レス位置ファイルは、[(SCSIb;1),(SCS
Ic;1)]と作成されるとする(図27(a)を参
照)。
【0249】次に、アドレス位置ファイル作成部180
3は、ステップS2508で取り出した空きブロックア
ドレスの個数分、カウント部をカウントアップした後、
カウント部の現在の指示値と指定ブロックサイズとを比
較する(ステップS2510)。アドレス位置ファイル
作成部1803は、現在の指示値が指定ブロックサイズ
よりも小さい場合、再度、ループ(ステップS2505
〜S2510)を実行する。一方、アドレス位置ファイ
ル作成部1803は、現在の指示値が指定ブロックサイ
ズ以上である場合、図25に示すフローチャートに従う
処理を終了する。アドレス位置ファイル作成部1803
は、上記のように空きブロックアドレスを2個取り出し
た場合、カウント部を“2”カウントアップする。今、
現在の指示値“2”が、指定ブロックサイズよりも小さ
いとすると、アドレス位置ファイル作成部1803は、
再度、ループ(ステップS2505〜S2510)を実
行する。アドレス位置ファイル作成部1803が、今回
のループのステップS2505及びS2506を繰り返
し実行すると、“0.6”を指示していた配置先計算値
(SCSIaのもの)は、“0.8”→“1.0”と遷
移する。また、“0.2”を指示していた配置先計算値
(SCSIb及びSCSIcのもの)はそれぞれ、
“0.6”→“1.0”と遷移する(図26参照)。ア
ドレス位置ファイル作成部1803は、すべての配置先
計算値が同時に“1.0”を示すため、その時点で、ス
テップS2507に移行し、各配置先計算値について上
記減算を行い、“0.0”とする(図26に示す●で示
す部分を参照)。これによって、記憶デバイス1805
a〜1805cが、空きブロックアドレスを取り出す記
憶デバイスとして選択される。アドレス位置ファイル作
成部1803は、ステップS2508で、SCSIa、
SCSIb及びSCSIcに対応する空きブロックアド
レスとして今回は、空きブロックアドレス「1」、
「2」及び「2」を取り出す。アドレス位置ファイル作
成部1803は、ステップS2509で、(SCSI
a;1)、(SCSIb;2)及び(SCSIc;2)
という組を作り、これらをランダムに並び替える。この
とき、アドレス位置ファイルは、[(SCSIb;
2),(SCSIa;1),(SCSIc;2)]と作
成されたとする(図27(b)を参照)。この後、アド
レス位置ファイル作成部1803は、ステップS251
0で、上述と同様に、カウント部を“3”カウントアッ
プし、現在の指示値“5”と指定ブロックサイズとを比
較する。このように、アドレス位置ファイル作成部18
03は、上記現在の指示値が指定ブロックサイズ以上に
なるまで、ループを繰り返し実行する。
【0250】ここで、図27に示す第1のアドレス位置
ファイル2701は、上記の具体例に沿って作られたも
のである。なお、図27は、アドレス位置ファイル作成
部1803が他のファイル作成要求に応答して作った第
2のアドレス位置ファイル2702も示している。これ
ら、第1及び第2のアドレス位置ファイル2701及び
2702は、第1の構成例で説明したものと同様の構成
を有しており、記憶デバイス制御装置1804が、ブロ
ックごとの配置先を一意に把握できるように作られる。
記憶デバイス制御装置1804は、第1の構成例で説明
したのと同様に、アドレス位置ファイルに従って、デー
タを分割して得られるブロックを、記憶デバイス180
5に書き込む。これによって、一連のデータは、ブロッ
クごとに、複数の記憶デバイスに分散配置される。
【0251】上述したように、本システムは、第1の構
成例のように、データの構成するブロックの個数を、記
憶デバイスごとで均等にするのではなく、「分散の比
率」を用いて、記憶デバイスごとの処理の負担が均等に
なるように、アドレス位置ファイルを作成される。つま
り、例えば、記憶デバイス制御装置1804に接続され
る各記憶デバイス1805の帯域、容量その他の性能が
均等でない場合には、データの構成するブロックの個数
を、記憶デバイスごとで均等にすると、性能の劣る記憶
デバイス(以下、「第1の記憶デバイス」という)の処
理負担は、性能の優れた他の記憶デバイス(以下、「第
2の記憶デバイス」という)の処理負担よりも大きくな
る。そうとすると、第2の記憶デバイスの性能が、第1
の記憶デバイスの性能に制限されて、当該第2の記憶デ
バイスの性能を十分に使えなくなる。しかし、本システ
ムは、第1の記憶デバイスに書き込むブロックの個数
を、第2の記憶デバイスよりも相対的に少なくして、当
該第1の記憶デバイスの処理負担を、当該第2の記憶デ
バイスの処理負担と均等にすることができる。これによ
って、すべての記憶デバイスの性能を有効に利用し、全
体として大きな帯域が得られる。
【0252】なお、本システムで用いられる「分散の比
率」は、構成管理部1801が予め管理するようにして
いたが、アドレス位置ファイル作成部1803にパラメ
ータとして与えたりすることも可能である。また、アド
レス位置ファイル作成部1803は、自身がアルゴリズ
ムを実行することにより求めた「分散の比率」を用い
て、図25に示すフローチャートに従う処理を実行する
ようにしてもよい。
【0253】次に、本発明の第4の構成例に係る記憶デ
バイス管理システム(以下、「本システム」という)に
ついて説明する。本システムのブロック構成、及び、当
該システムが管理対象とする記憶デバイスなどの構成例
は、図18及び図22に示したものと同様であるため、
それらの図示及び概略の説明を省略し、相当する構成に
ついては同一の参照番号を用いて以下の説明を行う。た
だし、本システムの構成管理部1801及び空き領域管
理部1802が管理する情報並びにアドレス位置ファイ
ル作成部1803の処理手順は、従前の構成例で説明し
たものと異なるので、これらの相違については詳説す
る。
【0254】構成管理部1801は、第2の構成例で説
明した台数及びグループ数情報並びに第1及び第2の識
別子に加え、第1及び第2の分散の比率を管理する。ア
ドレス位置ファイル作成部1803は、図28に示すフ
ローチャートに従う処理を実行して、ブロックごとの配
置先を、第1及び第2の分散の比率を考慮して、第1及
び第2の識別子並びに空きブロックアドレスを用いて決
定する。
【0255】ここで、第1及び第2の分散の比率につい
て説明する。第1の分散の比率は、第3の構成例で説明
した分散の比率とほぼ同様であるが、第3の構成例で
は、すべての記憶デバイスに対する割合を示していた
が、本構成例では、同一グループに属するすべての記憶
デバイスに対する割合である点で異なる。それ以外につ
いては異なる点がないので、第1の分散の比率について
は詳説を省略する。
【0256】次に、第2の分散の比率について説明す
る。第2の分散の比率とは、各グループに属するすべて
の記憶デバイスを1つの記憶デバイスにまとめ、この1
まとめにした記憶デバイスの帯域及び/又は容量を用い
て求められ、1つのデータを構成するブロックが、複数
の1まとめにした記憶デバイスに分散配置されたとし
て、それぞれに配置されるブロック数の割合である。つ
まり、データを構成するブロックが複数のグループに分
散配置されるとして、それぞれのグループに配置される
ブロック数の割合である。
【0257】グループに属する複数の記憶デバイスは、
以下のようにして、1つの記憶デバイスにまとめられ
る。まず、第3の構成例で説明したようにして、同一の
グループに属する個々の記憶デバイスについて第1の分
散の比率を求める(前述の〜の説明を参照)。次
に、各記憶デバイスの帯域及び容量に、「分散の比率」
の逆数をそれぞれ掛け合わせ、それぞれの値を実効帯域
及び実効容量とする。そして、同一のグループに属する
記憶デバイスそれぞれの実効帯域及び実効容量の中で一
番値が小さいものを、ひとまとめにした記憶デバイスの
帯域及び容量とする。このひとまとめにした記憶デバイ
スの帯域及び容量に対して、前述の〜での説明と同
様にすると、第2の分散の比率が求められる。
【0258】以下には、その具体例を説明する。図22
に示す記憶デバイス1807a、1807b並びに18
07cの帯域及び容量が、1Mbps及び2GB、2M
bps及び2GB、並びに、3Mbps及び4GBであ
ると仮定する。さらに、記憶デバイス1807a、18
07b及び1807cの第1の分散の比率は、“0.
2”、“0.4”及び“0.4”となったと仮定する。
このとき、記憶デバイス1807a、1807b並びに
1807cの実効帯域及び実効容量は、5Mbps及び
10GB、10Mbps及び10GB、並びに、15M
bps及び20GBとなる。したがって、記憶デバイス
1807a、1807b及び1807cを1つにまとめ
た場合、これらをひとまとめにした記憶デバイス(グル
ープ1)の帯域及び容量は、5Mbps及び10GBと
なる。同様に、記憶デバイス1807d、1807e及
び1807fをひとまとめにした記憶デバイス(グルー
プ2)の帯域及び容量も、5Mbps及び10GBとな
ったとする。このとき、前述のと同様にして、第2の
分散の比率を求めたとすると、グループ1及びグループ
2の分散の比率はそれぞれ“0.5”となる。
【0259】以下、図28に示すフローチャートを参照
し、本システムの動作を詳説する。第1の構成例で説明
したのと同様に、外部装置は、「指定ブロックサイズ」
を含むファイル作成要求とデータとを出力する。アドレ
ス位置ファイル作成部1803は、外部装置からのファ
イル作成要求を受け取り(ステップS2801)、これ
に含まれる指定ブロックサイズを取り出して保持する。
【0260】次に、アドレス位置ファイル作成部180
3は、構成管理部1801から、第1及び第2の識別子
並びに台数及びグループ数情報を取り出して、管理対象
とする記憶デバイスの構成を認識し、さらに、第1及び
第2の分散の比率を取り出す(ステップS2802)。
具体例として、本システムが図22に示すような複数の
記憶デバイスを管理対象とする場合、アドレス位置ファ
イル作成部1803は、ステップS2802で、まず、
「6台」という台数情報及び「2個」というグループ数
情報を取り出す。さらに、MSFS1及びその第2の分
散の比率“0.5”と、グループ1に属することとなる
SCSIa〜SCSIc及びそれらの第1の分散の比率
“0.2”、“0.4”及び“0.4”を取り出す。こ
のことは、MSFS2により特定されるグループ2につ
いても同様である。
【0261】次に、アドレス位置ファイル作成部180
3は、第1の構成例で説明したのと同様のカウント部を
初期値“0”に設定する(ステップS2803)
【0262】次に、アドレス位置ファイル作成部180
3は、データの配置先となる記憶デバイスを選択するた
めに、グループ向け及び記憶デバイス向けの配置先計算
値を、ステップS2502の処理で取り出した第2及び
第1の識別子に基づいて、台数情報とグループ数情報と
の加算値が示す個数分設定し、当該計算値の初期値とし
て“0”を与える(ステップS2804)。アドレス位
置ファイル作成部1803は、上記のように、MSFS
1及びMSFS2について、SCSIa〜SCSIcを
それぞれ取り出した場合、MSFS1及びMSFS2に
ついて、初期値“0”のグループ向けの配置先計算値を
設定し、さらに、各グループに属するSCSIa〜SC
SIcについても、初期値“0”の記憶デバイス向けの
配置先計算値を設定する(図29参照)。
【0263】次に、アドレス位置ファイル作成部180
3は、ステップS2804での処理によって、各グルー
プ向け配置先計算値の現在の値に対応する、第2の分散
の比率を加算する(ステップS2805)。アドレス位
置ファイル作成部1803は、上記のように、MSFS
1及びMSFS2についてグループ向け配置先計算値
“0”をそれぞれ設定した場合、それぞれに対応する第
2の分散の比率“0.5”を、当該計算値“0”に加算
する。
【0264】次に、アドレス位置ファイル作成部180
3は、グループ向け配置先計算値のいずれかが現在
“1.0”以上を示しているか否かを判断する(ステッ
プS2806)。アドレス位置ファイル作成部1803
は、現在、グループ向け配置先計算値のすべてが“1.
0”未満を示している場合、ステップS2805に移行
する。一方、アドレス位置ファイル作成部1803は、
現在、グループ向け配置先計算値のいずれかが“1.
0”以上を示している場合、ステップS2807に移行
する。つまり、アドレス位置ファイル作成部1803
は、ステップS2806で、グループ向け配置先計算値
の少なくとも1つが、“1.0”以上を示すまで、ステ
ップS2805で、当該計算値それぞれに対応する、第
2の分散の比率を加算することとなる。
【0265】ステップS2807に移行したアドレス位
置ファイル作成部1803は、“1.0”以上の示して
いるグループ向け配置先計算値から“1.0”を減算す
る。アドレス位置ファイル作成部1803は、この後、
このグループに属することとなる、記憶デバイス向け配
置先計算値の現在値それぞれに対応する第1の分散の比
率を加算していく。つまり、アドレス位置ファイル作成
部1803は、ステップS2806によって、まず、空
きブロックアドレスを取り出すべき記憶デバイスが属し
ているグループを選択することとなる。アドレス位置フ
ァイル作成部1803は、上記のように、MSFS1及
びMSFS2を選択した場合、それぞれに対応して設定
されているSCSIaの記憶デバイス向け配置先計算値
“0”に、対応する第1の分散の比率“0.2”を加算
する。同様に、アドレス位置ファイル作成部1803
は、SCSIb及びSCSIcそれぞれの記憶デバイス
向け配置先計算値“0”に、分散の比率“0.4”をそ
れぞれ加算する。
【0266】次に、アドレス位置ファイル作成部180
3は、各グループごとの記憶デバイス向け配置先計算値
が現在、最大であるものを選択し、当該計算値に対応す
る記憶デバイスを、空きブロックアドレスを取り出すべ
き記憶デバイスとして選択する。なお、アドレス位置フ
ァイル作成部1803は、同一グループ内に最大の値を
示しているものが複数ある場合には、その中の1つの配
置先計算値をランダムに選択して、空きブロックアドレ
スを取り出すべき記憶デバイスを選択する(ステップS
2808)。
【0267】次に、アドレス位置ファイル作成部180
3は、ステップS2808で選択した、記憶デバイス向
け配置先計算値の現在値から“1.0”を減算する(ス
テップS2809)。
【0268】ここで、図29は、本システムのアドレス
位置ファイル作成部の処理が繰り返し実行された場合に
おける、グループ向け及び記憶デバイス向け配置先計算
値の遷移、及び、ステップS2808で選択される記憶
デバイス1807を示している。図29において、MS
FS1及びMSFS2のグループ向け配置先計算値は、
S2805が実行されるごとに、第2の分散の比率
“0.5”がそれぞれ加算されていくので、初期値
“0”から“0.5”→“1.0”と遷移する。アドレ
ス位置ファイル作成部1803は、MSFS1及びMS
FS2のグループ向け配置先計算値が“1.0”になっ
た時点で、ステップS2807に移行し、上記減算を行
い、当該計算値を“0.0”とする(図29に示す○の
部分を参照)。これによって、グループ1及び2が、空
きブロックアドレスを取り出すべきグループが選択され
る。次に、アドレス位置ファイル作成部1803は、上
述したように、グループ1に属するSCSIa、SCS
Ib及びSCSIcについての記憶デバイス向け配置先
計算値に、第1の分散の比率“0.2”、“0.4”及
び“0.4”をそれぞれ加算する。このことは、グルー
プ2に属するものについても同様である。この後、アド
レス位置ファイル作成部1803は、上述したステップ
S2808を実行するが、このとき、SCSIbとSC
SIcとの記憶デバイス向け配置先計算値が最大の値を
示す。したがって、アドレス位置ファイル作成部180
3は、これら2つの計算値からランダムに1つを選択す
る。このとき、空きブロックアドレスを取り出すべき記
憶デバイスとして、記憶デバイス1807b(SCSI
b)が選択されたものとする。アドレス位置ファイル作
成部1803は、グループ2に対しても、グループ1に
ついて行った処理と同様を行い、空きブロックアドレス
を取り出すべき記憶デバイスとして、記憶デバイス18
07f(SCSIc)が選択されたものとする(図29
に示す●の部分を参照)。この後、アドレス位置ファイ
ル作成部1803は、ステップS2809を実行して、
MSFS1に属するSCSIb(記憶デバイス1807
b)及びMSFS2に属するSCSIc(記憶デバイス
1807f)の記憶デバイス向け配置先計算値それぞれ
を、上記減算を行うことにより、“0.4”から“−
0.6”とする。
【0269】再度、図28を参照して本システムの動作
について説明する。アドレス位置ファイル作成部180
3は、ステップS2810に移行すると、ステップS2
808で選択した記憶デバイス(つまり、この記憶デバ
イスは第2及び第1の識別子により特定される)の空き
ブロックアドレスを、空き領域管理部2から1つずつ取
り出す(ステップS2810)。アドレス位置ファイル
作成部1803は、上記のように、MSFS1について
はSCSIbを、MSFS2についてはSCSIcを選
択した場合、それぞれに対応する空きブロックアドレス
として、「1」を取り出す。
【0270】次に、アドレス位置ファイル作成部180
3は、第2及び第1の識別子とこれらに対応する空きブ
ロックアドレスとを一組にまとめた後、グループの数分
ある組をランダムに並び替え、アドレス位置ファイルと
して管理する(ステップS2811)。アドレス位置フ
ァイル作成部1803は、上記のように、MSFS1及
びSCSIb、並びに、MSFS2及びSCSIcにつ
いて、空きブロックアドレス「1」を取り出した場合、
ステップS2811で、(MSFS1;SCSIb;
1)及び(MSFS2;SCSIc;1)という組を作
り、これらの組をランダムに並び替える。このとき、ア
ドレス位置ファイルは、[(MSFS1;SCSIb;
1),(MSFS2;SCSIc;1)]と作られたと
する(図30(a)を参照)。
【0271】次に、アドレス位置ファイル作成部180
3は、ステップS2810で取り出した空きブロックア
ドレスの個数分、カウント部をカウントアップした後、
カウント部の現在の指示値と指定ブロックサイズとを比
較する(ステップS2812)。アドレス位置ファイル
作成部1803は、現在の指示値が指定ブロックサイズ
よりも小さい場合、再度、ループ(ステップS2805
〜S2812)を実行する。一方、アドレス位置ファイ
ル作成部1803は、現在の指示値が指定ブロックサイ
ズ以上である場合、図28のフローチャートに従う処理
を終了する。
【0272】上述したように、本システムは、データの
構成するブロックを、各グループに対して、さらに各グ
ループに属する記憶デバイスに対して均等に配置するの
ではなく、第1及び第2の分散の比率を用いて、グルー
プごとの処理負担が均等になるように、さらに、各グル
ープに属する記憶デバイスごとの処理負担が均等になる
ように、アドレス位置ファイルを作成している。これに
よっても、データの読み出しなどを行う場合、特定のグ
ループに属する記憶デバイスへのアクセスが集中せず、
かつ、各グループに属する特定の記憶デバイスへのアク
セスが集中せず、しかも、各グループ及びそれに属する
記憶デバイスごとの処理負担は等しいので、全体として
大きい帯域を得ることができるという効果を奏する。
【0273】なお、本システムで用いられる第1及び第
2の分散の比率は、構成管理部1801が予め管理する
ようにしていたが、アドレス位置ファイル作成部180
3にパラメータとして与えたりすることも可能である。
また、アドレス位置ファイル作成部1803は、所定の
アルゴリズムを実行することにより求めたグループ向け
及び記憶デバイス向けの第1及び第2の分散の比率を用
いて、図28に示すフローチャートに従う処理を実行し
てもよい。
【0274】次に、本発明の第5の構成例に係る記憶デ
バイス管理システム(以下、「本システム」という)に
ついて説明する。本システムのブロック構成、及び、当
該システムが管理対象とする記憶デバイスなどの構成例
は、図18及び図19に示したものと同様であるため、
それらの図示及び概略の説明を省略し、相当する構成に
ついては同一の参照番号を用いて以下の説明を行う。た
だし、本システムのアドレス位置ファイル作成部180
3の処理手順は、図14に示すフローチャートに従う。
なお、構成管理部1801及び空き領域管理部1802
が管理する情報は、第1の構成例で説明したものと同様
であるので、その説明を省略する。
【0275】以下、図31に示すフローチャートを参照
し、本システムの動作を説明する。第1の構成例で説明
したのと同様に、外部装置は、指定ブロックサイズを含
むファイル作成要求とデータとを出力する。なお、以下
には、具体例として、指定ブロックサイズが4個の場合
を説明する。アドレス位置ファイル作成部1803は、
図20に示すステップS2001〜S2003の処理と
同様に、ファイル作成要求を受け取り(ステップS31
01)、これに含まれる「指定ブロックサイズ」を取り
出して保持する。次に、アドレス位置ファイル作成部1
803は、構成管理部1801から、第1の識別子及び
台数情報を取り出す(ステップS3102)。具体例と
して、本システムが図19に示すような複数の記憶デバ
イスを管理対象とする場合、アドレス位置ファイル作成
部1803は、ステップS3102では、「3台」とい
う台数情報と、SCSIa〜SCSIcとを取り出す。
次に、アドレス位置ファイル作成部1803は、第1の
構成例で説明したのと同様のカウント部の指示値を
“0”に初期化する(ステップS3103)。
【0276】次に、アドレス位置ファイル作成部180
3は、カウント部の現在の指示値と、指定ブロックサイ
ズの値とが同一であるか否かを判断する(ステップS3
104)。アドレス位置ファイル作成部1803は、両
者が同一でないと判断した場合、ステップS3105に
移行する。一方、アドレス位置ファイル作成部1803
は、両者が同一であると判断した場合、指定ブロックサ
イズ分のアドレス位置ファイルを作成したとして、図3
1に示すフローチャートに従う処理を終了する。アドレ
ス位置ファイル作成部1803は、現在保持している指
定ブロックサイズが“4個”である場合、ステップS3
104で、この個数“4”と、現在の指示値“0”とを
比較する。この場合、両者は同一ではないので、アドレ
ス位置ファイル作成部1803はステップS3105に
移行する。
【0277】ステップS3105に移行したアドレス位
置ファイル作成部1803は、カウント部の現在の指示
値に、次のステップS3106で取り出すべき空きブロ
ックアドレスの数(この数は台数情報で特定される)を
加えた加算値と、指定ブロックサイズとを比較する(ス
テップS3105)。アドレス位置ファイル作成部18
03は、加算値が指定ブロックサイズよりも小さい場
合、台数情報に相当する個数分の空きブロックアドレス
を取り出す必要があると判断し、ステップS3106に
移行する。一方、アドレス位置ファイル作成部1803
は、加算値が指定ブロックサイズの値以上である場合、
台数情報に相当する個数分の空きブロックアドレスを取
り出すと取り出した空きブロックアドレスが余ると判断
し、ステップS3109に移行する。アドレス位置ファ
イル作成部1803は、現在保持している指定ブロック
サイズが“4個”、現在の指示値が“0”であり、さら
に、台数情報が「3台」である場合、ステップS310
5で、加算値“0+3”と指定ブロックサイズ“4”と
を比較する。この場合、加算値は、指定ブロックサイズ
よりも小さいので、ステップS3106に移行する。
【0278】ステップS3106に移行したアドレス位
置ファイル作成部1803は、空き領域管理部1802
から、ステップS3102で取り出した第1の識別子に
対応する空きブロックアドレスを1つずつ取り出す(ス
テップS3106)。アドレス位置ファイル作成部18
03は、上記のように、SCSIa〜SCSIcを取り
出した場合、ステップS3106で、それぞれに対応す
る空きブロックアドレスとして、例えば「1」を取り出
す。
【0279】次に、アドレス位置ファイル作成部180
3は、図20に示すステップS2005と同様の処理を
実行することにより、ステップS2802とステップS
3106とで取り出した第1の識別子とこれに対応する
空きブロックアドレスとをまとめた組を作り、この組を
ランダムに並び替え、アドレス位置ファイルとして管理
する(ステップS3107)。アドレス位置ファイル作
成部1803は、上記のように、SCSIa〜SCSI
cそれぞれについて空きブロックアドレス「1」を取り
出した場合、ステップS3107で、(SCSIa;
1)、(SCSIb;1)及び(SCSIc;1)とい
う組を作り、これらをランダムに並び替える。このと
き、アドレス位置ファイルは、[(SCSIb;1),
(SCSIa;1),(SCSIc;1)]と作成され
たとする(図32(a)参照)。
【0280】次に、アドレス位置ファイル作成部180
3は、ステップS3106で取り出した空きブロックア
ドレスの個数分、カウント部をカウントアップし(ステ
ップS3108)、ステップS3104に移行する。ア
ドレス位置ファイル作成部1803は、上記のように空
きブロックアドレスを3個取り出しているので、カウン
ト部を“3”カウントアップする。
【0281】上述したステップS3104〜S3108
はループを構成しており、ステップS3104で、カウ
ント部の現在の指示値が、指定ブロックサイズの値とが
同一であると判断されるまで、又は、ステップS310
4で、当該現在の指示値が指定ブロックサイズの値と同
一でないと判断され、かつ、ステップS3105で、加
算値が指定ブロックサイズよりも大きいと判断されるま
で、当該ループは繰り返し実行される。アドレス位置フ
ァイル作成部1803は、カウント部の指示値を“3”
にカウントアップした場合、その直後のステップS31
04を実行して、ステップS3105に移行する。アド
レス位置ファイル作成部1803は、カウント部の現在
の指示値“3”に、ステップS3106で取り出すべき
空きブロックアドレスの数“3”を加えた加算値“6”
が指定ブロック数“4”よりも大きいので、ステップS
3109に移行する。
【0282】ステップS3109に移行したアドレス位
置ファイル作成部1803は、まず、 (指定ブロックサイズ−カウント部の計数値)…(4) の演算を行う。その後、アドレス位置ファイル作成部1
803は、空き領域管理部1802を参照して、各記憶
デバイスが現時点で有している空きブロックアドレスの
個数及びその第1の識別子を得る。アドレス位置ファイ
ル作成部1803は、獲得した空きブロックの個数が多
い順に第1の識別子を並び替え、並び替えた順番に従っ
て、第1の識別子を選択していく。アドレス位置ファイ
ル作成部1803は、このような選択動作を、上記演算
結果と、選択した第1の識別子数とが一致するまで行
う。なお、かかる選択動作中、同数の空きブロックアド
レスを有する記憶デバイスが存在する場合がある。かか
る場合、アドレス位置ファイル作成部1803は、同数
の空きブロックを有する記憶デバイスを示す、第1の識
別子の中から1つランダムに選択する(ステップS31
09)。
【0283】アドレス位置ファイル作成部1803は、
上記のように、指定ブロックサイズが“4”で、カウン
ト部が現在“3”を示している場合、ステップS310
9において、上式(4)により“1”を得た後、記憶デ
バイス1805a〜1805cが現時点で999個の空
きブロックアドレスをそれぞれ有していることを認識す
る。この場合、アドレス位置ファイル作成部1803
は、空きブロックアドレスを同数有する記憶デバイスの
台数“3”が、上記演算結果の個数“1”を上回ってい
るので、SCSIa〜SCSIcの中から1つランダム
に選択する。このとき、SCSIaが選択されたものと
する。
【0284】次に、アドレス位置ファイル作成部180
3は、空き領域管理部1802から、ステップS310
9で選択した第1の識別子に対応する空きブロックアド
レスを1つずつ取り出す(ステップS3110)。アド
レス位置ファイル作成部1803は、上記のように、S
CSIaを選択した場合、ステップS3110で、これ
に対応する空きブロックアドレスとして、例えば、
「2」を取り出す。
【0285】次に、アドレス位置ファイル作成部180
3は、ステップS3109で選択した第1の識別子とこ
れに対応する空きブロックアドレスとをまとめた組を作
り、この組をランダムに並び替え、アドレス位置ファイ
ルとして管理する(ステップS3111)。アドレス位
置ファイル作成部1803は、上記のように、SCSI
aについて空きブロックアドレス「2」を取り出した場
合、ステップS3110で、(SCSIa;2)という
組を作る。このとき、アドレス位置ファイル作成部18
03は、作った1つの組をそのまま、アドレス位置ファ
イルとして管理する(図32(b)参照)。
【0286】ここで、図32に示す第1のアドレス位置
ファイル3201は、上述した処理に従って作られたも
のである。図32には、第2のアドレス位置ファイル3
202も示されている。この第2のアドレス位置ファイ
ル3202は、第1のアドレス位置ファイル3201を
作った後、アドレス位置ファイル作成部1803が他の
ファイル作成要求に応答して作られたものである。これ
ら第1及び第2のアドレス位置ファイル3201及び3
202は、第1の構成例で説明したものと同様の構成を
有しており、記憶デバイスなどの記憶デバイスがブロッ
クの配置先を一意に把握できるように作られる。
【0287】記憶デバイス制御装置1804は、上記の
ようにして決められたアドレス位置ファイルを受け取
り、第1の構成例で説明したのと同様に、当該アドレス
位置ファイルに従って、データを分割して得られるブロ
ックを記憶デバイスに書き込んでいく。
【0288】ここで、第2のアドレス位置ファイル32
02が作られる過程を説明する。上記のように、アドレ
ス位置ファイル作成部1803は、第1のアドレス位置
ファイル3201を作った後、他の配置先決定要求を受
け取る(ステップS3101)。この他のファイル作成
要求は、“5個”という指定ブロックサイズを含んでい
る。アドレス位置ファイル作成部1803は、ステップ
S3102及びS3103を実行した後、ループ(ステ
ップS3104〜3108)を1回だけ実行するのは、
第1のアドレス位置ファイル3201が作られた場合と
同様である。このループが実行されることにより、アド
レス位置ファイルは、[(SCSIc;2),(SCS
Ib;2),(SCSIa;3)]と作成される(図3
2(c)参照)。
【0289】アドレス位置ファイル作成部1803は、
このようなアドレス位置ファイルをステップS3107
で作成すると、ステップS3108で第1のカウント部
を“3”カウントアップした後、その直後のステップS
3104を実行して、ステップS3105に移行する。
このとき、カウント部の現在の指示値“3”に、ステッ
プS3106で取り出すべき空きブロックアドレスの数
“3”を加えた加算値“6”が指定ブロック数“5”よ
りも大きいので、アドレス位置ファイル作成部1803
は、ステップS3109に移行する。次に、アドレス位
置ファイル作成部1803は、上式(4)により“2”
を得、さらに、現時点で、記憶デバイス1805aが9
97個、そして、記憶デバイス1805b及び1805
cがそれぞれ998個の空きブロックを有していること
を認識する。そのため、アドレス位置ファイル作成部1
803は、SCSIb及びSCSIcにより特定される
記憶デバイス1805b及び1805cを、空きブロッ
クアドレスを取り出す記憶デバイスとして選択する(ス
テップS3109)。この場合、アドレス位置ファイル
作成部1803は、SCSIb及びSCSIcに対応す
る空きブロックアドレスとして「3」を取り出す(ステ
ップS3110)。次に、アドレス位置ファイル作成部
1803は、(SCSIb;3)及び(SCSIc;
3)という組を作り、これらをランダムに並び替える。
このとき、アドレス位置ファイルは、例えば、[(SC
SIb;3),(SCSIc;3)]と作成される(図
32(d)を参照)。
【0290】分散配置されるデータを構成するブロック
の個数は、必ずしも、記憶デバイスの台数の倍数にはな
らない。そうとすると、従前の構成例に係るシステムで
は、データが均等に分散配置されないということが起こ
り得る。そこで、本構成例に係るシステムでは、上記ブ
ロックの余り(ブロックの個数/記憶デバイスの台数の
余り)に相当する部分は、その時点で空きブロックを多
く有している記憶デバイスに配置されるようにアドレス
位置ファイルが作成される。したがって、データは、記
憶デバイスにより均等に分散配置されることとなる。こ
れによって、本構成例に係るシステムによれば、従前の
構成例に係るシステムと比較しても、より一層大きい帯
域を得ることができることとなる。
【0291】次に、本発明の第6の構成例に係る記憶デ
バイス管理システム(以下、「本システム」という)に
ついて説明する。本システムのブロック構成、及び、当
該システムが管理対象とする記憶デバイスなどの構成例
は、図18及び図19に示したものと同様であるため、
それらの図示及び概略の説明を省略し、相当する構成に
ついては同一の参照番号を用いて以下の説明を行う。た
だし、本システムのアドレス位置ファイル作成部180
3の処理手順は、図33に示すフローチャートに従う。
なお、構成管理部1801及び空き領域管理部1802
が管理する情報は、第1の構成例で説明したものと同様
であるため、それらの説明を省略する。
【0292】以下、図33に示すフローチャートを参照
し、本システムの動作を詳説する。第1の構成例で説明
したのと同様に、外部装置は、指定ブロックサイズを含
むファイル作成要求とデータとを出力する。アドレス位
置ファイル作成部1803は、図20に示すステップS
2001〜S2003の処理と同様に、ファイル作成要
求を受け取り(ステップS3301)、これに含まれる
「指定ブロックサイズ」を取り出して保持する。次に、
アドレス位置ファイル作成部1803は、構成管理部1
801から、第1の識別子及び台数情報を取り出す(ス
テップS3302)。具体的には、本システムが図19
に示すような複数の記憶デバイスを管理対象とする場
合、アドレス位置ファイル作成部1803は、ステップ
S3302で、「3台」という台数情報と、SCSIa
〜SCSIcとを取り出す。次に、アドレス位置ファイ
ル作成部1803は、第1の構成例で説明したのと同様
のカウント部の指示値を“0”に初期化する(ステップ
S3303)。
【0293】次に、アドレス位置ファイル作成部180
3は、空き領域管理部1802から、ステップS330
2で取り出した第1の識別子に対応する空きブロックア
ドレスを1つずつ取り出し、第1の識別子とこれに対応
する空きブロックアドレスとをまとめた組を作る(ステ
ップS3304)。アドレス位置ファイル作成部180
3は、上記のように、SCSIa〜SCSIcを取り出
した場合、ステップS3304で、それぞれに対応する
空きブロックアドレスとして、例えば、「10」を取り
出し、(SCSIa;10)、(SCSIb;10)及
び(SCSIc;10)という組を作る。
【0294】次に、アドレス位置ファイル作成部180
3は、ステップS3304で作った組をランダムに並び
替える(ステップS3305)。アドレス位置ファイル
作成部1803は、ステップS3304で上記のような
組を作った場合、これらの組をランダムに並び替える。
このとき、並び替えた結果は、[(SCSIb;1
0),(SCSIa;10),(SCSIc;10)]
であるとする。
【0295】次に、アドレス位置ファイル作成部180
3は、前回以前のループ(ステップS3304〜ステッ
プS3308)で作成し管理しているアドレス位置ファ
イルに、ステップS3305で並び替えた結果を付加し
た場合に、所定個数の組に相当する区間に、同一の第1
の識別子が存在しないか否かを判断する。アドレス位置
ファイル作成部1803は、同一の第1の識別子が存在
しない場合、上記並び替えた結果をアドレス位置ファイ
ルとして管理する。一方、アドレス位置ファイル作成部
1803は、同一の第1の識別子が存在する場合、ステ
ップS3305に移行し、ステップS3304で作った
組を再度並び替える。
【0296】例えば、前回以前のループにより決定し管
理しているアドレス位置ファイルの末尾3組が、[…、
(SCSIa;9),(SCSIc;9),(SCSI
b;9)]であったとする。また、上記区間として、2
個の組に相当する区間が予め定められていたとする。ア
ドレス位置ファイル作成部1803は、ステップS33
04で上記のように組を並び替えた場合、まず、上記作
成し管理しているアドレス位置ファイルに、ステップS
3305で並び替えた結果を付加することにより、
[…、(SCSIa;9),(SCSIc;9),(S
CSIb;9),(SCSIb;10),(SCSI
a;10),SCSIc;10)]という新たなアドレ
ス位置ファイルを作成し直す。アドレス位置ファイル作
成部1803は、新たなアドレス位置ファイルにおい
て、(SCSIb;9),(SCSIb;10)という
部分に、2個の組に相当する区間に同一のSCSIアド
レスを発見するので、ステップS3304に移行する。
アドレス位置ファイル作成部1803は、今回のステッ
プS3304で、[(SCSIa;10),(SCSI
b;10),(SCSIc;10)]と並び替えたとす
ると、ステップS3306では、2個の組に相当する区
間に同一のSCSIアドレスを発見しないので、ステッ
プS3307に移行する。
【0297】次に、アドレス位置ファイル作成部180
3は、ステップS3305で並び替えた結果を、アドレ
ス位置ファイルとして管理する(ステップS330
7)。次に、アドレス位置ファイル作成部1803は、
ステップS3304で取り出した空きブロックアドレス
の個数分、カウント部をカウントアップした後、カウン
ト部の現在の指示値と指定ブロックサイズとを比較する
(ステップS3308)。アドレス位置ファイル作成部
1803は、現在の指示値が指定ブロックサイズよりも
小さい場合、ステップS3304に移行し、上述と同様
の処理を実行する。一方、アドレス位置ファイル作成部
1803は、現在の指示値が指定ブロックサイズ以上で
ある場合、自身の処理を終了する。
【0298】記憶デバイス制御装置1804は、上記の
ようにして決められたアドレス位置ファイルを受け取
り、第1の構成例で説明したのと同様に、当該アドレス
位置ファイルに従って、データを分割して得られるブロ
ックを記憶デバイスに書き込んでいく。
【0299】従前の構成例に係るシステムが作成するア
ドレス位置ファイルに従えば、データを構成するブロッ
クは、記憶デバイスに均等に分散配置されるが、このこ
とは、全体的にみた場合にいえることであり、局所的に
みると、同一の記憶デバイスに連続してブロックが配置
されることがある。そこで、本構成例に係るシステムで
は、既に管理しているアドレス位置ファイルと、並び替
えた組とにおいて、2つのブロックが連続して同一の記
憶デバイスに配置されないか否かを判断する。これによ
って、データを読み出す際などには、すべての記憶デバ
イスにより均等にアクセスすることとなる、これによっ
て、すべての記憶デバイスの能力を有効に使って、より
大きい帯域を得ることができる。
【0300】なお、上述の説明では、所定個数の組に相
当する区間として、2組に相当する区間としていたが、
この個数は、これに限られず、システムの設計要求など
に基づいて決定すればよい。
【0301】次に、本発明の第7の構成例に係る記憶デ
バイス管理システム(以下、「本システム」という)に
ついて説明する。本システムのブロック構成、及び、当
該システムが管理対象とする記憶デバイスなどの構成例
は、図18及び図19に示したものと同様であるため、
それらの図示を省略し、相当する構成については同一の
参照番号を用いて以下の説明を行う。ただし、本システ
ムのアドレス位置ファイル作成部1803は、第1の構
成例で説明したものと異なり、データにアクセスする帯
域と、1つの記憶デバイスから取り出す空きブロックア
ドレスの個数とを対応させて管理するテーブルを予め有
しており、図34に示すフローチャートに従う処理を実
行する。他の構成については、第1の構成例で説明した
のと同様であるため、その説明を省略する。
【0302】以下、アドレス位置ファイル作成部180
3の処理手順を示すフローチャートである図34を参照
し、本システムの動作を詳説する。第1の構成例などで
説明したのと同様に、外部装置は、ファイル作成要求と
データとを出力する。このファイル作成要求は、前述し
た「指定ブロックサイズ」のほか、データをアクセスす
る際に必要とする帯域を通知するための情報(以下、
「指定アクセス帯域」という)を含んでいる。なお、以
下には、具体例として、指定アクセス帯域が30Mbp
sの場合を説明する。アドレス位置ファイル作成部18
03は、ファイル作成要求を受け取り(ステップS34
01)、これに含まれる「指定ブロックサイズ」及び
「指定アクセス帯域」を取り出して保持する。次に、ア
ドレス位置ファイル作成部1803は、構成管理部18
01から、台数情報及び第1の識別子を取り出し(ステ
ップS3402)、管理対象とする記憶デバイスの構成
を認識する。具体的には、本システムが図19に示すよ
うな複数の記憶デバイスを管理対象とする場合、アドレ
ス位置ファイル作成部1803は、ステップS3402
で、「3台」という台数情報と、SCSIa〜SCSI
cとを取り出す。次に、アドレス位置ファイル作成部1
803は、第1の構成例で説明したのと同様のカウント
部の指示値を“0”に初期化する(ステップS340
3)。
【0303】次に、アドレス位置ファイル作成部180
3は、現在保持している指定アクセス帯域に対応する空
きブロックアドレスの個数を、内部に有するテーブル
(上述)の中から取り出す(ステップS3404)。例
えば、このテーブルには、指定アクセス帯域が1.5M
bps、10Mbps及び30Mbpsの場合、1つの
記憶デバイスから取り出す空きブロックアドレス数は、
「1個」、「2個」及び「4個」と示されているとす
る。ここで、指定アクセス帯域が大きくなるに従って取
り出す空きブロック数を増やしているのは、データをア
クセスする帯域が大きいほど単位時間に同一の記憶デバ
イスにアクセスする割合が高くなり、その場合に記憶デ
バイスの連続領域にデータが存在している方が、より効
率的に記憶デバイスを利用できることを考慮したためで
ある。アドレス位置ファイル作成部1803は、上記の
ように、指定アクセス帯域が「30Mbps」のファイ
ル作成要求を受け取った場合、当該30Mbpsに対応
する空きブロックアドレスの個数として、「4個」とい
う情報を取り出す。
【0304】次に、アドレス位置ファイル作成部180
3は、空き領域管理部1802から、ステップS340
2で取り出した第1の識別子について、ステップS34
04で取り出した個数であって、なおかつ連続する空き
ブロックアドレスを取り出す(ステップS3405)。
アドレス位置ファイル作成部1803は、テーブルから
「4個」という情報を取り出した場合、連続する4個の
空きブロックアドレスとして、SCSIa〜SCSIc
それぞれについて、例えば、「1」〜「4」を取り出
す。
【0305】次に、アドレス位置ファイル作成部180
3は、ステップS3405の処理で取り出した連続する
空きブロックアドレスを1まとめにし、この1まとまり
と第1の識別子とを組とした並び替えの単位(以下、
「単位空きブロックアドレス」という)を作る。したが
って、単位ブロックアドレスは、ステップS3402で
取り出した第1の識別子に相当する個数分、作られる。
次に、アドレス位置ファイル作成部1803は、作った
単位ブロックアドレスをランダムに並び替え、この並び
替えた結果をアドレス位置ファイルとして管理する(ス
テップS3406)。アドレス位置ファイル作成部18
03は、SCSIa〜SCSIcそれぞれについて空き
ブロックアドレス「1」〜「4」を取り出した場合、連
続する4個の空きブロックアドレス「1」〜「4」を1
まとめにした単位空きブロックアドレスを作り、SCS
Iアドレスと単位空きブロックアドレスとの組を作る。
以下には、この組を(SCSIa;1〜4)のように記
す。アドレス位置ファイル作成部1803は、SCSI
b及びSCSIcについても同様の単位空きブロックア
ドレスを作る。そして、アドレス位置ファイル作成部1
803は、上記のような単位ブロックアドレスをランダ
ムに並び替える。このとき、並び替えた結果は、[(S
CSIb;1〜4),(SCSIa;1〜4),(SC
SIc;1〜4)]であるとする(図35(a)を参
照)。
【0306】次に、アドレス位置ファイル作成部180
3は、ステップS3405で取り出した空きブロックア
ドレスの個数分、カウント部をカウントアップした後、
カウント部の現在の指示値と指定ブロックサイズとを比
較する(ステップS3407)。アドレス位置ファイル
作成部1803は、現在の指示値が指定ブロックサイズ
よりも小さい場合、再度、ループ(ステップS3405
〜S3407)を実行する。一方、アドレス位置ファイ
ル作成部1803は、現在の指示値が指定ブロックサイ
ズ以上である場合、図34に示すフローチャートに従う
処理を終了する。
【0307】ここで、図35に示すアドレス位置ファイ
ル3501は、上述した処理に従って作られたものであ
る。第1のアドレス位置ファイル3501は、第1の構
成例で説明したものと同様の構成を有しており、記憶デ
バイスなどの記憶デバイスがブロックの配置先を一意に
把握できるように作られる。
【0308】記憶デバイス制御装置1804は、上記の
ようにして決められたアドレス位置ファイルを受け取
り、第1の構成例などで説明したのと同様に、当該アド
レス位置ファイルに従って、データを分割して得られる
ブロックを記憶デバイスに書き込んでいく。
【0309】「従来技術」の欄でも述べたように、デー
タを構成するブロックは、同一記憶デバイスの連続領域
に配置されていた方がよい場合がある。そこで、本構成
例に係るシステムでは、データが必要とする帯域に応じ
て、取り出す空きブロックアドレスの個数を変更する。
これによって、本システムを適用すると、ビデオサーバ
などの処理効率を向上させることができる。
【0310】上述した構成例では、帯域に応じて取り出
す空きブロックアドレスの個数を決めていたが、これに
限らず、取り出す空きブロックアドレスの個数は、帯域
に類するデータの性質に基づいて決定すればよい。
【0311】上述した第5〜第7の構成例に係る記憶デ
バイス管理システムそれぞれについては、第1の構成例
に係る記憶デバイス管理システムに組み合わせた態様で
説明したが、第2〜第4の構成例に係る記憶デバイス管
理システムに組み合わせることも可能であるし、さら
に、第5〜第7の構成例に係る記憶デバイス管理システ
ムを組み合わせた上で、第1〜第4の構成例に組み合わ
せることも可能である。
【0312】次に、本発明の第2の実施形態に係る記憶
デバイス制御装置について説明する。図36は、本記憶
デバイス制御装置及びその周辺装置の構成を示すブロッ
ク図である。図36において、記憶デバイス制御装置3
600は、第1の実施形態に係る記憶デバイス制御装置
(図1参照)と同様に、外部に接続されており、データ
の読み出し及び書き込みを行う記憶デバイス3610を
制御するためのものであって、要求受け付け部3620
と、読み出し順序決定部3630と、書き込み順序決定
部3640と、キュー管理部3650と、許容遅延管理
部3660と、コマンド発行処理部3670と、コマン
ド終了処理部3680とを備える。ここで、記憶デバイ
ス3610は、第1の実施形態に係る記憶デバイス制御
装置(図1参照)の場合と同様に、ハードディスクドラ
イブであるとして、以下の説明を進める。
【0313】また、要求受け付け部3620は、外部か
ら到着する要求の受け付けを行い、読み出し要求を読み
出し順序決定部3630に出力し、書き込み要求を書き
込み順序決定部3640に出力する。ここで、外部から
到着する要求は、少なくとも、読み出し要求か書き込み
要求かを識別可能にするための情報と、アクセス位置情
報(後述,第1の実施形態と同様)とを含んでいる。読
み出し順序決定部3630は、読み出し要求を入力する
と、許容遅延情報リスト(図38参照)を参照して、読
み出しキュー3651(図37参照)において、読み出
し要求をつなぐ位置を決める。書き込み順序決定部36
40は、読み出し要求の場合と同様に、書き込みキュー
3652(図37参照)において、書き込み要求をつな
ぐ位置を決める。
【0314】次に、キュー管理部3650について、図
37を参照して説明する。図37に示すように、キュー
管理部3650は、読み出しキュー3651と、書き込
みキュー3652と及び実行キュー3653とを持つ。
読み出し又は書き込みキュー3651又は3652は、
処理待ちの読み出し又は書き込み要求を待ち行列の状態
で管理する。実行キュー3653は、記憶デバイス36
10にコマンドとして発行済みであって、その処理が終
了するのを待っている要求(読み出し又は書き込み)を
待ち行列の状態で管理する。キュー管理部3650は、
読み出し順序決定部3630によって決められた順番に
従って、読み出し要求を読み出しキュー3651につな
ぐ。この様子を示しているのが矢印(a)であり、図示
した例では、読み出しキュー3651は、読み出し要求
3654及び3655を格納している。また、キュー管
理部3650は、書き込み順序決定部3640によって
決められた順番に従って、書き込み要求を書き込みキュ
ー3652につなぐ。この様子を示しているのが矢印
(b)であり、図示した例では、書き込みキュー365
2は、書き込み要求3656を格納している。読み出し
キュー3651及び書き込みキュー3652は、自身の
先頭から最後尾に向かう順序で要求が順次処理されるも
のとして、読み出し及び書き込み要求を格納する。
【0315】コマンド発行処理部3670は、後述する
ように、読み出しキュー3651又は書き込みキュー3
652を選択し、選択されたキューの先頭につながれて
いる要求をコマンドとして記憶デバイス3610に発行
する。キュー管理部3650は、これに応答して、コマ
ンドとして発行される要求を該当するキューからはず
し、実行キュー3653につなぐ。この様子を示してい
るのが矢印(c)又は(d)である。実行キュー365
3は、ある時点で、記憶デバイス3610にコマンドと
して発行されており、しかも、当該コマンドについての
処理(読み出し又は書き込み)がまだ終了していない要
求を格納するキューである。図示した例では、実行キュ
ー3653は、要求3657を格納している。また、あ
るコマンドについての処理が記憶デバイス3620上で
終了すると、当該コマンドに対応する要求は実行キュー
3653からはずされる。この様子を示しているのが矢
印(e)である。上述したようにして、キュー管理部3
650は、到着する要求の処理順序を管理する。
【0316】許容遅延管理部3660(図36参照)
は、許容遅延管理リストに記入される情報を管理する。
図38は、許容遅延管理部3660により管理されてい
る許容遅延情報リストを説明するための図である。図6
において、許容遅延情報リストは、要求番号、アクセス
位置、重み時間、終了予定時刻、並べ替え制限時刻、書
き込み要求優先時間及び制限時刻からなる許容遅延情報
を、記憶デバイス制御装置内部に存在する要求(読み出
し、書き込み及び実行キュー(図37参照)につながれ
ている要求)毎に保持している。ここで、要求番号は、
本記憶デバイス制御装置3600に到着している要求そ
れぞれを特定するための番号である。アクセス位置は、
要求に従って、記憶デバイス3610から読み出された
り、記憶デバイス3610に書き込まれたりするデータ
のアクセス位置を示す。
【0317】重み時間は、アクセス位置に基づいて計算
され、記憶デバイス3610での処理に要する時間の重
みを示した時間である。この値は、読み出しキュー36
51又は書き込みキュー3652において、対象となる
要求のアクセス位置と、その直前につながれている要求
のアクセス位置との関数として定義される値であり、実
際の処理に要する時間とは異なる。ここで、重み時間T
は、例えば、 T= f(d)+t+r+x…(5) で表される。ここで、f(d)は、dの単調増加関数で
あり、dは、同一キュー内において、対象となる要求の
シリンダ位置と、その直前につながれている要求のシリ
ンダ位置との距離である。また、tは、書き込むデータ
又は読み出すデータの内部転送時間である。また、r
は、記憶デバイスの回転待ち時間の平均値である。さら
に、xは、コントローラ(記憶デバイス3610の中央
演算処理回路)のオーバヘッド時間である。
【0318】終了予定時刻は、実行キュー3653の先
頭につながれている要求から、対象となる要求までの重
み時間の合計を、当該対象となる要求の到着時刻に加算
した時刻である。ここで、対象となる要求がつながれて
いないキューにつながれている要求の重み時間は、終了
予定時刻の算出に考慮されない。より具体的には、対象
となる要求が、例えば、読み出しキューに3651につ
ながれている読み出し要求3654(図37参照)であ
るとする。読み出し要求3654の終了予定時刻は、そ
の到着時刻に、実行キュー3653につながれている要
求3657と読み出し要求3655及び3654との重
み時間の合計を加算した時刻である。また、書き込み要
求3656の終了予定時刻は、その到着時刻に、要求3
657と書き込み要求3656との重み時間の合計を加
算した時刻である。
【0319】並べ替え制限時刻は、到着した読み出し又
は書き込み要求を、読み出し又は書き込みキュー365
1又は3652の最後尾以外の位置につなぐことができ
るかどうかを判断するための時刻であり、当該時刻を超
えていなければ、同一キュー内に並んでいるすべての要
求についてリアルタイム性が満たされると予想される。
本実施形態においては、書き込み又は読み出し要求が本
記憶デバイス制御装置3600に到着した時刻に、予め
求められている第1の所定時間を加算することによって
得られる。
【0320】書き込み要求優先時刻は、読み出し要求よ
りも書き込み要求を優先させるかどうかを判断するため
の時刻であり、本実施形態においては、書き込み要求が
本記憶デバイス制御装置に到着した時刻に、予め定めら
れた第2の所定時間を加算することによって得られる。
この第2の所定時間は、書き込みキューに処理待ち要求
が過剰にたまらないようにするための時間である。
【0321】制限時刻は、読み出し又は書き込み要求が
コマンドとして発行され、読み出し又は書き込みが完了
していなければならない時刻であり、本実施形態におい
ては、書き込み又読み出し要求が本記憶デバイス制御装
置に到着した時刻に、予め求められている第3の所定時
間を加算することによって得られる。
【0322】ここで、上述した第1の所定時間と第3の
所定時間との関係について述べる。上述した並び替え制
限時刻と制限時刻とは一致することが望ましい。しかし
ながら、並べ替え制限時刻は、本記憶デバイス制御装置
3600内で算出するものであるから、当該制御装置3
600内の時刻体系に従う。ところで、実際の読み出し
や書き込みは、記憶デバイス3610内で行われるの
で、当該デバイスの時刻体系に従う。そのため、上述し
た並べ替え制限時刻を満たすように待ち行列を構成して
も、記憶デバイス3610に書き込まれたり、記憶デバ
イス3610から読み出されたりするデータのリアルタ
イム性は満たされないということが起こりうる。そのた
め、上述した第3の所定時間は、記憶デバイス3610
に対して、書き込みや読み出しを行って得た実測値に基
づいて求められ、リアルタイム性が満たされると信頼で
きる値を用いる。したがって、制限時刻を満たすように
読み出しや書き込みが行われれば、データのリアルタイ
ム性は保証される。一方、第1の所定時間は、この第3
の所定時間から所定の時間を減算して得られる。このよ
うに、並び替え制限時刻と制限時刻との間に余裕を持た
せることにより、上述した時刻体系の相違によって生じ
うる弊害を未然に防止している。また、第2の所定時間
は、書き込みキューに処理待ち要求が過剰にたまらない
ようにするための時間であるから、第3の所定時間より
も短い時間が設定される。
【0323】コマンド発行処理部3670は、図40に
示すアルゴリズムに従って、記憶デバイスへのコマンド
の発行処理を行う。コマンド終了処理部3680は、図
41に示すアルゴリズムに従って、記憶デバイス361
0での処理(読み出し又は書き込み)が終了した読み出
し又は書き込み要求に対して終了処理を行う。
【0324】次に、本記憶デバイス制御装置3600に
おける、読み出し又は書き込み要求が到着してから、デ
ータの読み出し又は書き込みが終了するまで処理につい
て説明する。要求受け付け部3620は、外部から到着
する読み出し又は書き込み要求に対して、要求番号、並
べ替え制限時刻、書き込み優先時刻(これは、書き込み
要求にのみ添付される)及び制限時刻を添付して、読み
出し要求を読み出し順序決定部3630に、また、書き
込み要求を書き込み順序決定部3640に出力する。読
み出し順序決定部3630は、要求受け付け部3620
から読み出し要求及び添付情報を受け取ると、既に記憶
デバイス制御装置に到着しており、未だコマンドとして
発行されていない読み出し要求間での順序を決める。ま
た、書き込み順序決定部3640は、読み出し順序決定
部3630と同様に、書き込み要求についての順序を決
める。
【0325】ここで、図39は、読み出し順序決定部3
640又は書き込み順序決定部3650において、到着
した読み出し要求又は書き込み要求の処理順序を決定す
るアルゴリズムを示すフローチャート図である。以下に
は、読み出し要求の処理順序を決定する際の読み出し順
序決定部3640の動作を、図39を参照して説明す
る。
【0326】読み出し順序決定部3640は、読み出し
要求を要求受け付け部3620から受け取ると(ステッ
プS3901)、読み出しキュー3651の最後尾を仮
決め位置とし、当該最後尾に到着した読み出し要求をつ
なぐ(ステップS3902)。読み出し順序決定部36
40は、ステップS3902が終了すると、その旨を許
容遅延管理部3660に通知し、第1の重み時間の総和
を計算させる(ステップS3903)。許容遅延管理部
3660は、この通知に応答して、内部に保持する許容
遅延情報リスト(図38参照)を一時的に更新する。こ
のとき、許容遅延管理部3660は、まず、到着した読
み出し要求についての重み時間を、上式(5)に基づい
て算出し、当該要求の到着時刻に加算して終了予定時刻
を算出し、さらに、当該重み時間及び終了予定時刻を許
容遅延情報リストに記入する。そして、許容遅延管理部
3660は、読み出しキュー3651につながれる読み
出し要求すべての重み時間を加算し、重み時間の総和
(第1の重み時間の総和)を保持する。許容遅延管理部
3660は、第1の重み時間の総和を求めると、その旨
を読み出し順序決定部3640に通知する。
【0327】次に、読み出し順序決定部3640は、こ
の通知を受け取ると、読み出し要求を読み出しキュー3
651の末尾からはずし、許容遅延情報リストを参照し
て、新たな仮決め位置を探す。より具体的には、読み出
し順序決定部3640は、到着した読み出し要求を、現
時点で読み出しキュー3651につながれており、かつ
処理順序が連続する読み出し要求の間に割り込ませた場
合に、3つのアクセス位置が連続又は同一になるような
位置を、読み出しキュー3651の末尾から順番に探し
ていく。読み出し順序決定部3640は、かかるアクセ
ス位置が連続又は同一になるような位置を見つけると、
当該位置を新たな仮決め位置として、読み出し要求をつ
なぐ(ステップS3904)。読み出し順序決定部36
40は、ステップS3904が終了すると、その旨を許
容遅延管理部3660に通知し、第2の重み時間の総和
を計算させる(ステップS3905)。
【0328】許容遅延管理部3660は、この通知に応
答して、内部に保持する許容遅延情報リスト(図38参
照)を一時的に更新する。このとき、許容遅延管理部3
660は、まず、到着した読み出し要求についての重み
時間を、上式(5)に基づいて算出し、当該要求の到着
時刻に加算して終了予定時刻を算出し、さらに、当該重
み時間及び終了予定時刻を許容遅延情報リストに記入す
る。その後、許容遅延管理部3660は、到着した読み
出し要求を仮決め位置の直後につながれる読み出し要求
のみについて重み時間を算出し直す。これは、到着した
読み出し要求が仮決め位置に割り込むこととなるので、
この直後につながれる読み出し要求についての重み時間
を算出する際のパラメータの1つであるf(d)が変わ
るからである。さらに、許容遅延管理部3660は、到
着した読み出し要求よりも後ろにつながれる読み出し要
求について、終了予定時刻を算出し直す。これは、到着
した読み出し要求が仮決め位置に割り込むこととなるの
で、当該要求の重み時間分、当該要求よりも後ろにつな
がれる読み出し要求の終了予定時刻が遅れるからであ
る。許容遅延情報管理部3660は、上述した一時的な
更新が終了すると、現時点で、読み出しキュー3651
につながれる読み出し要求すべての重み時間を加算し、
重み時間の総和(第2の重み時間の総和)を保持する。
許容遅延管理部3660は、第2の重み時間の総和を求
めると、その旨を読み出し順序決定部3640に通知す
る。
【0329】読み出し順序決定部3640は、この通知
を受け取ると、現在、許容遅延情報管理部3660が保
持している第1及び第2の重み時間の総和を取り出して
比較し(ステップS3906)、第2の重み時間の総和
が第1の重み時間の総和以上であると判断すると、ステ
ップS3909(後述)に進む。読み出し順序決定部3
640は、第2の重み時間の総和が第1の重み時間の総
和よりも小さいと判断すると、ステップS3907に進
む。
【0330】次に、読み出し順序決定部3640は、一
時的に更新された許容遅延情報リストを参照して、現時
点で読み出しキュー3651につながれている読み出し
要求それぞれについて、終了予定時刻が並べかえ制限時
刻内に収まるか否かを調べる(ステップS3907)。
読み出し順序決定部3640は、すべての終了予定時刻
が並べ替え制限時刻内に収まると判断すると、ステップ
S3904で仮決めした位置を、到着した要求がつなが
れる位置と最終的に決める(ステップS3908)。一
方、読み出し順序決定部3640は、いずれか1つの要
求でも終了予定時刻が並べ替え制限時刻内におさまらな
いと判断すると、読み出しキュー3651における新た
な仮決め位置から、到着した読み出し要求をはずし、最
後尾につなぐ(ステップS3909)。
【0331】読み出し順序決定部3640は、ステップ
S3908又はS3909を終了すると、その旨をコマ
ンド発行処理部3670に通知し、許容遅延情報リスト
を更新させ、保持させる(ステップS3910)。次
に、読み出し順序決定部3640は、到着した読み出し
要求を読み出しキュー3651につないだ旨を、コマン
ド発行処理部3911に通知する。
【0332】なお、上述では、読み出し順序決定部36
40についてのみ説明したが、書き込み順序決定部36
50もまた、同様の仮決めアルゴリズムを持っており、
上述と同様の方法で、到着した書き込み要求を書き込み
キュー3652につなぐ。
【0333】ここで、処理順序を決定するアルゴリズム
としては、上述したものの他にも、例えば、図40に示
すようなものがある。
【0334】まず、読み出し順序決定部3640は、読
み出し要求を要求受け付け部3620から受け取ると
(ステップS4001)、読み出しキュー3651の最
後尾につながれている要求をサンプル要求として設定す
る(ステップS4002)。次に、読み出し順序決定部
3640は、サンプル要求の直後に、受け取った読み出
し要求を一時的につなぎ(ステップS4003)、その
旨を許容遅延管理部3660に通知し、重み時間の総和
を計算させる(ステップS4004)。許容遅延管理部
3660は、この通知に応答して、内部に保持する許容
遅延情報リスト(図38参照)を一時的に更新する。こ
のとき、許容遅延管理部3660は、まず、到着した読
み出し要求についての重み時間を、上式(5)に基づい
て算出し、当該要求の到着時刻に加算して終了予定時刻
を算出し、さらに、当該重み時間及び終了予定時刻を許
容遅延情報リストに記入する。そして、許容遅延管理部
3660は、読み出しキュー3651につながれる読み
出し要求すべての重み時間を加算し、重み時間の総和を
保持する。許容遅延管理部3660は、第1の重み時間
の総和を求めると、その旨を読み出し順序決定部364
0に通知する。
【0335】読み出し順序決定部3640は、この通知
を受け取ると、サンプル要求が読み出しキュー3651
の先頭につながれている要求か否かを調べ(ステップS
4005)、先頭につながれていないと判断すると、現
在のサンプル要求の直前につながれている要求を新たな
サンプル要求と設定する(ステップS4006)。この
後、読み出し順序決定部3640は、ステップS400
3に戻り、新たに設定したサンプル要求に基づいて、上
述したステップS4003〜S4005を実行する。つ
まり、読み出し順序決定部3640は、読み出しキュー
3651につながれている読み出し要求を最後尾から順
次的にサンプル要求とし、各読み出し要求の直後に、新
たに到着した読み出し要求を一時的につなぎ、その位置
につないだ場合の重み時間の総和をそれぞれ算出する。
読み出し順序決定部3640は、ステップS4003〜
S4005を、新たな要求が到着する以前に読み出しキ
ュー3651につながれている読み出し要求の個数に相
当する回数、繰り返す。この後のステップS4005
で、読み出し順序決定部3640は、サンプル要求が読
み出しキュー3651の先頭につながれている要求であ
ると判断するので、ステップS4007に進む。
【0336】次に、読み出し順序決定部3640は、許
容遅延管理部3660が保持している重み時間の総和を
取りだし、これらの中から最小の重み時間の総和を選択
し、当該最小値に対応する位置を仮決め位置とし、受け
取った読み出し要求をつなぎ(ステップS4008)、
その旨を許容遅延管理部3660に通知し、許容遅延リ
ストを一時的に更新させる(ステップS4009)。許
容遅延管理部3660は、この通知に応答して、内部に
保持する許容遅延情報リスト(図38参照)を一時的に
更新する。このとき、許容遅延管理部3660は、ま
ず、到着した読み出し要求についての重み時間を、上式
(5)に基づいて算出し、当該要求の到着時刻に加算し
て終了予定時刻を算出し、さらに、当該重み時間及び終
了予定時刻を許容遅延情報リストに記入する。許容遅延
管理部3660は、許容遅延情報リストの記入が終了す
ると、その旨を読み出し順序決定部3640に通知す
る。
【0337】読み出し順序決定部3640は、この通知
に応答して、一時的に更新された許容遅延情報リストを
参照して、現時点で読み出しキュー3651につながれ
ている読み出し要求それぞれについて、終了予定時刻が
並べかえ制限時刻内に収まるか否かを調べる(ステップ
S4010)。読み出し順序決定部3640は、すべて
の終了予定時刻が並べ替え制限時刻内におさまると判断
すると、ステップS4008で仮決めした位置を、到着
した要求が読み出しキュー3651においてつながれる
位置と、最終的に決める(ステップS4010)。次
に、読み出し順序決定部3640は、到着した要求をつ
なぐ位置を最終的に決めると、その旨を許容遅延管理部
3660に通知し、ステップS4009で一時的に更新
させた許容遅延情報リストを保持させる(ステップS4
012)。
【0338】読み出し順序決定部3640は、ステップ
S4010で、いずれか1つの要求でも終了予定時刻が
並べ替え制限時刻内におさまらないと判断すると、受け
取った要求を、ステップS4008でつないだ位置から
はずし、読み出しキュー3651の最後尾につなぎ(ス
テップS4013)、その旨を許容遅延管理部3660
に通知し、許容遅延情報リストを更新し、保持させる。
(ステップS4014)。 読み出し順序決定部364
0は、ステップS4012又はS4014を終了する
と、その旨をコマンド発行処理部3670に通知する
(ステップS4010)。
【0339】なお、読み出し及び書き込み順序決定部3
640及び3650は、他の順序決定アルゴリズムとし
て、読み出しキュー3651及び書き込みキュー365
2に既に連続的につながれている要求が持つアクセス位
置それぞれが連続又は同一であれば、受け取った要求
を、当該連続的につながれている要求の間につなぐこと
を禁止し、かつ、当該読み出しキュー3651及び書き
込みキュー3652において、なるべく先頭につなぐよ
うにしてもよい。
【0340】コマンド発行処理部3670は、読み出し
又は書き込み順序決定部3640又は3650から要求
が到着した旨を受け取ると、記憶デバイスへのコマンド
の発行処理を行う。図41は、コマンド発行処理部36
70において、コマンドを発行するキューを選択するた
めのアルゴリズムを示すフローチャートある。コマンド
発行処理部3670では、まず、実行キュー3653を
参照して、現時点で、記憶デバイス3610で処理中の
要求が規定数未満であるかどうかを調査し(ステップ4
101)、規定数未満になるまで待機する。コマンド発
行処理部3670は、上記の規定数未満であると判断す
ると、書き込みキュー3652に書き込み要求がつなが
れているかどうかを調査し(ステップ4102)、書き
込み要求が存在しないと判断すると、読み出しキュー3
651に読み出し要求がつながれているかどうかを調査
する(ステップS4103,なお、書き込み要求が存在
する場合については後述する)。
【0341】コマンド発行処理部3670は、読み出し
要求がつながれていないと判断すると、コマンドとして
発行されることを待っている要求が存在しないと判断
し、コマンド発行処理を行わない(ステップS410
4)。一方、コマンド発行処理部3670は、読み出し
要求がつながれていると判断すると、読み出しキュー3
651から、その先頭に位置する読み出し要求をはずし
て次実行コマンドとし(ステップS4105)、記憶デ
バイス3610に出力する。さらに、コマンド発行処理
部3670は、読み出しキュー3651からはずした読
み出し要求を、実行キュー3653の最後尾につなぐ。
これによって、コマンド発行処理部3670は、現時点
でコマンドとして発行されている要求がいくつあるかが
把握できる。つまり、上記の規定数が把握できる。
【0342】次に、コマンド発行処理部3670は、許
容遅延管理部3660に次実行コマンドとして読み出し
要求を出力したことを通知する(ステップS410
6)。許容遅延管理部3660は、この通知に応答し
て、許容遅延情報リストを参照して、次実行コマンドと
して発行された読み出し要求が持つ重み時間を得た後、
当該リストに記入されている各書き込み要求の終了予定
時刻を計算し直す。つまり、許容遅延管理部3660
は、かかる通知を受ける以前に記入されていた終了予定
時刻に、次コマンドとして発行された読み出し要求の重
み時間を加算する。この加算を行うのは、終了予定時刻
が各キュー毎に計算されるからであり、これによって、
書き込み要求の終了予定時刻は正確なものに補正され
る。
【0343】一方、コマンド発行処理部3670は、ス
テップS4102で、書き込み要求が書き込みキュー3
652につながれていると判断すると、記憶デバイス3
610に書き込むべきデータが一時的に格納されるバッ
ファメモリの使用容量が所定のしきい値を超えているか
どうかを調べる(ステップS4107)。なお、このバ
ッファメモリの使用量と所定のしきい値との比較につい
ては、第1の実施形態で説明したバッファメモリ管理部
45を構成すれば簡単にできるため、ここでは説明を省
略する。さて、コマンド発行処理部3670は、ステッ
プS4007で、上記の使用容量がしきい値以上である
と判断すると、書き込みキュー3652から、その先頭
に位置する書き込み要求をはずして次実行コマンドとし
(ステップS4108)、記憶デバイス3610に出力
する。さらに、コマンド発行処理部3670は、書き込
みキュー3652からはずした要求を実行キューの最後
尾につなぐ。次に、コマンド発行処理部3670は、許
容遅延管理部3660に次実行コマンドとして書き込み
要求を出力したことを通知する(ステップS410
9)。許容遅延管理部3660は、この通知に応答し
て、許容遅延情報リストを参照して、次実行コマンドと
して発行された書き込み要求が持つ重み時間を、予め定
められた最大処理時間に置き換える。次に、許容遅延管
理部3660は、許容遅延リストに記入されている各書
き込み要求であって、書き込みキュー3652につなが
れている書き込み要求の終了予定時刻を計算し直す。さ
らに、許容遅延管理部3660は、かかる通知を受ける
以前に既に記入されていた終了予定時刻(読み出し要求
のもの)に、次コマンドとして発行された書き込み要求
の重み時間を加算する。この加算を行うのは、終了予定
時刻が各キュー毎に計算されるからである。これによっ
て、書き込み及び読み出し要求の終了予定時刻は正確な
ものに補正される。
【0344】一方、コマンド発行処理部3670は、ス
テップS4107で、上記の使用容量がしきい値未満で
あると判断すると、許容遅延情報リストを参照して、書
き込み要求優先時刻が現在時刻を超えている書き込み要
求が存在するかどうかを調べ(ステップS4111)、
書き込み優先時刻に達している書き込み要求が存在する
と判断すると、上述したステップS4108及びS41
09を実行する。
【0345】一方、コマンド発行処理部3670は、ス
テップS4110で、書き込み優先時刻に達している書
き込み要求が存在しないと判断すると、読み出しキュー
3651に読み出し要求がつながれているかどうかを調
査し(ステップ4111)、読み出し要求が存在しない
と判断すると、上述したステップS4108及びS41
09を実行する。
【0346】一方、コマンド発行処理部3670は、ス
テップS4111で、読み出し要求がつながれていると
判断すると、遅延情報管理リストを参照して、読み出し
キュー3651の先頭に位置する読み出し要求について
のアクセス位置が、実行キュー3653の末尾に位置す
る要求(読み出し又は書き込み)についてのアクセス位
置と連続又は同一か、そうでないかを調べる。コマンド
発行処理部3670は、アクセス位置が連続又は同一で
あると判断すると、前述したステップS4105及びS
4106を実行する。
【0347】一方、コマンド発行処理部3670は、ス
テップS4112で、アクセス位置が連続又は同一でな
いと判断すると、遅延情報管理リストを参照し、書き込
みキュー3652から書き込み要求をはずしてコマンド
として発行しても、読み出しキュー3651につながれ
ている各読み出し要求についての制限時刻を守ることが
できるかどうかを調べる。このとき、コマンド発行処理
部3670は、書き込みキュー3652の先頭に位置す
る書き込み要求についての終了予定時刻と、読み出しキ
ュー3651につながれている各読み出し要求の制限時
刻とを比較して判断する。コマンド発行処理部3670
は、制限時間を守ることができると判断すると、上述し
たステップS4108及びS4109を実行し、制限時
間を守ることができないと判断すると、前述したステッ
プS4105及びS4106を実行する。
【0348】コマンド発行処理部3670は、上述した
ようなアルゴリズムに従って、記憶デバイス3610に
対してコマンドを発行する。記憶デバイス3610は、
コマンドに応じた処理を実行し終了すると、コマンドの
終了通知を発行する。この終了通知は、記憶デバイス3
610上で処理の終了時刻を含んでいる。コマンド終了
処理部3680は、コマンドの終了通知を受け取る。
【0349】ここで、図42は、コマンド終了処理部3
680(図36参照)において、記憶デバイス3610
からコマンドの終了通知が到着した際に行われる処理手
順を示すフローチャートである。コマンド終了処理部3
680は、コマンドの終了通知を受け取ると(ステップ
S4201)、終了時刻を取り出し、許容遅延情報リス
トから当該コマンドに対応する要求についての終了予定
時刻を取り出す。次に、コマンド終了処理部3680
は、終了予定時刻と終了時刻とが、予め定められた規定
値以上の時間差があるかどうかを調べ(ステップS42
02)、時間差がないと判断すると、(ステップS42
03に進む(後述)。なお、ここで、規定値とは、本記
憶デバイス制御装置の仕様に応じて決まる値であり、ソ
フトウェアの処理負担を軽くする場合には大きな値が採
用され、高精度に終了予定時刻を補正しようとする場合
は小さな値が採用される。コマンド終了処理部3680
は、ステップS4203において、コマンドの終了通知
を受け取ったことを許容遅延管理部3660に通知する
(ステップS4203)。許容遅延管理部3660は、
この通知を受け取ると、許容遅延情報リストにおける、
コマンドの終了通知に対応する要求(読み出し又は書き
込み)についての遅延管理情報を削除する。
【0350】一方、コマンド終了処理部3680は、ス
テップS4202で、時間差があると判断すると、この
時間差を許容遅延管理部3660に通知する(ステップ
S4204)。許容遅延管理部3660は、この通知を
受け取ると、許容遅延情報リストにおける、コマンドの
終了通知に対応する要求(読み出し又は書き込み)につ
いての遅延管理情報を削除した後、すべて要求について
の終了予定時刻を計算し直す。つまり、許容遅延管理部
3660は、終了予定時刻に時間差を反映させる。これ
によって、終了予定時刻は、その時点で最も正しい時刻
に補正される。
【0351】コマンド終了処理部3680は、ステップ
S4203又はS4204が終了すると、上述したコマ
ンドの終了通知に対応する要求を、実行キュー3653
からはずし(ステップS4205)、この旨をコマンド
発行処理部3670に通知する(ステップS420
6)。これによって、コマンド発行処理部3670は、
図41のステップS4101からS4102に進む。
【0352】以上に説明したように、本記憶デバイス制
御装置3600は、読み出し又は書き込み順序決定部3
630又は3640において、すべての要求について、
終了予定時刻が並べ替え制限時刻を超えず、しかも、重
み時間の総和ができるだけ小さくなるように、読み出し
又は書き込みキュー3651又は3652内の処理待ち
要求の順序を決める。そのため、本実施形態に係る記憶
デバイス制御装置3600は、並び替えによって起こ
る、処理待ち要求の遅延に限界を設けつつ、要求1つ1
つの処理に必要となる時間を短くでき、記憶デバイス3
610の使用効率を向上させることが可能となる。これ
によって、本記憶デバイス3600を適用するビデオサ
ーバは、より少ない記憶デバイスで、多くのユーザをサ
ポートすることができるようになる。
【0353】また、本記憶デバイス制御装置3600
は、読み出し及び書き込み順序決定部3640及び36
50を別々に設け、読み出し要求についての読み出しが
終了すると予想される時刻が、予め定められた制限時刻
に間に合う範囲で、書き込み要求をコマンドとして発行
するようにしている(図41;ステップS4113)。
そのため、本記憶デバイス制御装置3600は、読み出
し及び書き込み要求が混在する場合に、書き込むべきデ
ータを記憶デバイスの使用効率を向上させつつ、記憶デ
バイス3610から読み出されるデータのリアルタイム
性を保証できる。
【0354】また、本記憶デバイス制御装置3600
は、単位時間当たりに、記憶デバイス3610に発行で
きるコマンド数を規定数未満に制限し、つまり、記憶デ
バイス3610において処理中の要求数を規定数未満に
制限する(図41;ステップS4101)。これによっ
て、本記憶デバイス制御装置3600は、記憶デバイス
3610にとって、最も効率のよい要求数を選択するこ
とができ、かつ、待ち行列の構成する要求数を増やし
て、最も処理効率のよい要求の順序を決めることができ
る。
【0355】また、本記憶デバイス制御装置3600
は、記憶デバイス3600において処理(読み出し又は
書き込み)の終了時刻が、当該処理に対応する読み出し
又は書き込み要求の終了予定時刻とずれている場合、そ
のずれを、待ち行列を構成する要求の終了予定時刻に反
映させる(図42;ステップS4204)。これによっ
て、本記憶デバイス制御装置3600は、重み時間と実
際の処理時間との差を吸収し、終了予定時刻を計算する
際に予め持たせておいた余裕を減らすことができ、その
結果、待ち行列を構成する要求数を増やすことができ、
記憶デバイス3610にとって、最も処理効率のよい要
求の順序を決めることができる。
【0356】また、本記憶デバイス制御装置3600
は、待ち行列を構成する書き込み要求の中に、予め定め
られた書き込み優先時刻に達しているものがある場合、
読み出し要求よりも、書き込み要求を優先してコマンド
を発行する。これによって、本記憶デバイス制御装置3
600によれば、データは制限時間を超えて書き込まれ
ることがなくなるので、記憶デバイス3610上に書き
込まれるデータの信頼性を向上させることができる。
【0357】また、本記憶デバイス制御装置3600
は、読み出し又は書き込み順序決定部3630又は36
40により決められた順番が連続している要求について
のアクセス位置が連続又は同一である場合、新たに到着
した要求が当該連番の要求間への割り込みを禁止する。
したがって、本記憶デバイス制御装置3600は、可能
な限りアクセス位置が連続又は同一の要求を連続して記
憶デバイス3610にコマンドとして発行する。これに
よって、記憶デバイス3610における回転待ち時間
を、実際の処理時間から省くことができ、結果として、
単位要求当たりに必要となる処理時間を減らすことがで
き、記憶デバイス3610は、単位時間当たりにより多
くの要求を処理することができる。あるいは、本記憶デ
バイス制御装置3600は、予め定められた並べ替え制
限時刻を超えない範囲で、新たな要求が到着すると、待
ち行列を構成する要求の中に、アクセス位置が連続又は
同一のものが存在すれば、処理順序が連続するように順
序を決める。これによっても、上述と同様に、要求1つ
1つの処理に必要となる時間を短くでき、記憶デバイス
3610の使用効率を向上させることが可能となる。
【0358】なお、本記憶デバイス制御装置3600
は、上述した実施形態に限定されず、 (1)図39〜図41に示すフローチャートにおける判
断ステップの順序は、1例を示しただけであり、入れ替
えてもよい。 (2)図39〜図41に示すフローチャートにおいて、
一部の判断ステップを採用してもよい。 (3)記憶デバイス3610は、磁気ディスクドライブ
のみならず、CD−I(CD−Interactiv
e)ドライブやMODD(Magnetic Opti
cal Disk Drive)その他の読み出し及び
書き込みが可能な記憶デバイスであればよい。なお、こ
のことは、第1の実施形態(記憶デバイス制御装置)及
び第1〜第7の構成例(記憶デバイス管理システム)に
も該当することである。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係る記憶デバイス制
御装置及びその周辺装置の構成を示すブロック図であ
る。
【図2】位置情報管理部1(図1参照)の構成を示すブ
ロック図である。
【図3】空き領域管理部11(図2参照)が持つ空き領
域リストを示す図である。
【図4】アドレス位置ファイル作成部12(図2参照)
がアドレス位置ファイルを作成する際の処理手順を示す
フローチャートである。
【図5】アドレス位置ファイル管理部13(図2参照)
が持つアドレス位置リストを示す図である。
【図6】要求制御部4(図1参照)の詳細なブロック構
成を示す図であり、さらに、位置情報管理部1や記憶デ
バイス2等との接続関係を示す図である。
【図7】優先度管理部41(図6参照)を説明するため
の図である。
【図8】キュー入力部42(図6参照)に入力する読み
出し要求又は書き込み要求を3種類のうちのいずれかの
キューに格納するための規則を説明するための図であ
る。
【図9】キュー管理部43(図6参照)が持つキュー管
理リストを示す図である。
【図10】許容遅延管理部44(図6参照)を説明する
ための図である。
【図11】最優先要求が入力する場合における、キュー
入力部42(図6参照)の処理手順を示すフローチャー
トである。
【図12】優先要求が入力する場合における、キュー入
力部42(図6参照)の処理手順を示すフローチャート
である。
【図13】バッファメモリ管理部45(図6参照)の詳
細な構成を示すブロック図である。
【図14】コマンド発行処理部47(図6参照)の詳細
な構成を示すブロック図である。
【図15】状態テーブル(図6参照)が保持する状態番
号と、コマンド発行部471により選択されるキューと
の関係を説明するための図である。
【図16】コマンド終了処理部48(図6参照)の詳細
な構成を示すブロック図である。
【図17】記憶デバイス制御装置から状態テーブル46
(図6参照)と、第1、第2及び第3状態テーブル更新
部412、444及び453(図7、図10及び図13
参照)とをなくした場合に、コマンド発行部471が、
コマンド発行のためのキューを選択するために実行する
処理手順を示すフローチャートである。
【図18】本発明に係る記憶デバイス管理システムの第
1〜第7の構成例を示すブロック図である。
【図19】第1、第3、第5〜第7の構成例に係る記憶
デバイス管理システム(図18参照)が管理対象とする
記憶デバイス及びその周辺装置の構成例を示すブロック
図である。
【図20】第1の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図21】第1の構成例に係るアドレス位置ファイル作
成部1803(図18参照)が作成する、アドレス位置
ファイルの一例を示す図である。
【図22】第2及び第4の構成例に係る記憶デバイス管
理システム(図18参照)が管理対象とする記憶デバイ
ス及びその周辺装置の構成例を示すブロック図である。
【図23】第2の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図24】第2の実施形態に係るアドレス位置ファイル
作成部1803(図18参照)が作成する、アドレス位
置ファイルの一例を示す図である。
【図25】第3の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図26】図25に示すステップS2505とS250
6の処理が繰り返し実行されることによる、SCSIa
〜SCSIcの配置先計算値の遷移、及び、ステップS
2507で選択される記憶デバイス1805を示す図で
ある。
【図27】第3の構成例に係るアドレス位置ファイル作
成部1803(図18参照)が作成する、アドレス位置
ファイルの一例を示す図である。
【図28】第4の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図29】図28に示すステップS2805とS280
6の処理が繰り返し実行されることによる、MSFS1
及びMSFS2及びそれぞれについてのSCSIa〜S
CSIcの配置先計算値の遷移、並びに、ステップS2
808で選択される記憶デバイス1805を示す図であ
る。
【図30】第4の構成例に係るアドレス位置ファイル作
成部1803(図18参照)が作成する、アドレス位置
ファイルの一例を示す図である。
【図31】第5の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図32】第5の構成例に係るアドレス位置ファイル作
成部1803(図18参照)が作成する、アドレス位置
ファイルの一例を示す図である。
【図33】第6の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図34】第7の構成例に係るアドレス位置ファイル作
成部1803(図18参照)の処理手順を示すフローチ
ャートである。
【図35】第7の構成例に係るアドレス位置ファイル作
成部1803(図18参照)が作成する、アドレス位置
ファイルの一例を示す図である。
【図36】本発明の第2の実施形態に係る記憶デバイス
制御装置及びその周辺装置の構成を示すブロック図であ
る。
【図37】キュー管理テーブル3630(図36参照)
が管理するキューの構造を概念的に示す図である。
【図38】許容遅延管理部3660(図36参照)が内
部に保持する許容遅延リストを示す図である。
【図39】読み出し順序決定部3640又は書き込み順
序決定部3650(図36参照)において、到着する読
み出し要求又は書き込み要求がコマンドとして発行され
る順序を決めるための処理手順を示すフローチャートで
ある。
【図40】読み出し順序決定部3640又は書き込み順
序決定部3650(図36参照)において、到着する読
み出し要求又は書き込み要求がコマンドとして発行され
る順序を決めるための他の処理手順を示すフローチャー
トである。
【図41】コマンド発行処理部3670(図36参照)
において、どのキューにつながれている要求を取り出し
て、記憶デバイスに対してコマンドとして発行するかを
決めるための処理手順を示すフローチャートである。
【図42】コマンド終了処理部3680(図36参照)
において、記憶デバイス3610からコマンドの終了通
知が到着した際に行われる処理手順を示すフローチャー
トである。
【図43】従来の記憶デバイス制御装置の構成を示すブ
ロック図である。
【符号の説明】
1…位置情報管理部 11,1802…空き領域管理部 12,1803…アドレス位置ファイル作成部 13…アドレス位置ファイル管理部 14…アドレス位置リスト参照部 15…ファイル書き込み要求出力部 2,1805,1807,3610…記憶デバイス 3,3620…要求受け付け部 4…要求制御部 41…優先度管理部 411…優先度情報管理部 412…第1状態テーブル更新部 42…キュー入力部 43,3630…キュー管理部 44,3660…許容遅延管理部 441…許容遅延情報管理部 442…優先読み出し許容時間最小値管理部 443…書き込みキュー先頭要求の処理時間管理部 444…第2状態テーブル更新部 45…バッファメモリ管理部 451…使用容量管理部 452…しきい値管理部 453…第3状態テーブル更新部 46…状態テーブル 47,3670…コマンド発行処理部 471…コマンド発行部 472…第1許容遅延情報更新指示部 473…優先度情報更新指示部 48,3680…コマンド終了処理部 481…終了通知受け付け部 482…次コマンド発行指示部 483…許容遅延情報補正指示部 484…第2許容遅延情報更新指示部 485…使用容量更新指示部 3640…読み出し順序決定部 3650…書き込み順序決定部 1801…構成管理部 1804,1806…記憶デバイス制御装置
───────────────────────────────────────────────────── フロントページの続き (72)発明者 土居 晋三 大阪府門真市大字門真1006番地 松下電器 産業株式会社内

Claims (67)

    【特許請求の範囲】
  1. 【請求項1】 外部から連続的に到着する書き込み又は
    読み出し要求に従って、記憶デバイスへのデータの書き
    込み又は記憶デバイスからのデータの読み出しを制御す
    る記憶デバイス制御装置であって、 前記データは、予め定められたサイズを持つ単位ブロッ
    クに分割されており、 各前記読み出し要求は、自身が到着した時刻から、前記
    読み出しが終了していなければならない時間を示す遅延
    限界値を含んでおり、 前記記憶デバイスが持つ空き領域から、所定個数の単位
    ブロックを連続的に書き込みうる1つ又は複数の連続空
    き領域を、前記記憶デバイスに書き込むべきデータに相
    当する分選択する選択手段と、 前記書き込み要求を書き込みコマンドとして出力する書
    き込みコマンド出力手段と、 外部から連続的に到着する読み出し要求を、読み出しコ
    マンドとして出力する順序を決める順序決定手段と、 前記順序決定手段によって決められる順序に従って、読
    み出しコマンドを出力する読み出しコマンド出力手段と
    を備え、 前記書き込みコマンド出力手段が、前記書き込みコマン
    ドを出力することによって、前記選択手段により選択さ
    れた連続空き領域に、前記記憶デバイスに書き込むべき
    データが書き込まれることと、 前記順序決定手段は、外部から連続的に到着する読み出
    し要求それぞれの処理順序を、各前記遅延限界値を越え
    ず、なおかつ先着順で読み出しコマンドを出力すると仮
    定した場合の読み出し時間よりも短くなるように、決定
    することとを特徴とする、記憶デバイス制御装置。
  2. 【請求項2】 前記選択手段は、前記連続空き領域をラ
    ンダムに選択することを特徴とする、請求項1に記載の
    記憶デバイス制御装置。
  3. 【請求項3】 p個の記憶デバイスd1 ,d2 ,…dp
    が接続されており、 前記選択手段は、前記連続空き領域を、m個(mは、1
    ≦m≦pを満たす整数)の記憶デバイスが持つ空き領域
    から選択するものとし、さらに、 記憶デバイスdi (iは、1≦i≦mを満たす整数)か
    ら選択される連続空き領域を、ai1,ai2,…ain(n
    は、2以上の整数)とするとき、 前記書き込みコマンド出力手段は、前記データを構成す
    る単位ブロックを、a 11,a21,…am1,a12,a22
    …am2,…a1n,a2n,…amn,の順序に従って書き込
    むように、前記書き込みコマンドを出力する、請求項1
    に記載の記憶デバイス制御装置。
  4. 【請求項4】 前記選択手段は、前記連続空き領域を、
    1つの記憶デバイスが持つ空き領域から選択することを
    特徴とする、請求項1に記載の記憶デバイス制御装置。
  5. 【請求項5】 前記遅延限界値は、予め定められた値と
    して内部に格納されている、請求項1に記載の記憶デバ
    イス制御装置。
  6. 【請求項6】 前記遅延限界値は、前記読み出し要求に
    含まれているパラメータである、請求項1に記載の記憶
    デバイス制御装置。
  7. 【請求項7】 前記記憶デバイスにおいて、各前記単位
    ブロックが格納される位置を管理する位置ファイル管理
    手段をさらに備え、 前記順序決定手段は、 前記読み出し要求を待ち行列の状態で一時的に保持する
    読み出しキューを有しており、当該読み出し要求に従っ
    て読み出される単位ブロックの記録位置を管理するキュ
    ー管理手段と、 入力した読み出し要求を、前記読み出しキューにおいて
    付加する位置を決める位置決定手段と、 前記読み出しに要すると見積もられる時間である処理見
    積り時間と、当該読み出し処理が終了すると予想される
    時刻である終了予定時刻と、前記遅延限界値を参照して
    求められる時刻であって、当該読み出し処理が終了して
    いなければならない終了時刻から当該終了予定時刻を減
    算した値である許容遅延値とを算出し管理する許容遅延
    情報算出/管理手段と含み、 前記位置決定手段は、 外部から新たに到着した読み出し要求に従って読み出さ
    れる単位ブロックの記録位置(以下、第1記録位置と称
    する)を、前記位置ファイル管理手段から抽出し、 前記読み出しキューに既に保持されている読み出し要求
    に従って読み出される単位ブロックの記録位置(以下、
    第2記録位置と称する)を、前記キュー管理手段から抽
    出し、 前記第1記録位置と前記第2記録位置とに基づいて、前
    記新たに到着した読み出し要求を、前記読み出しキュー
    において付加する位置を仮決めし、 前記許容遅延情報算出/管理手段は、 前記仮決め位置に付加されている新たに到着した読み出
    し要求について、処理見積り時間を算出し、さらに、 前記新たに到着した読み出し要求についての処理見積り
    時間と、前記仮決め位置に付加されている読み出し要求
    よりも後ろに付加されている各読み出し要求の許容遅延
    値との大小関係を比較し、 前記位置決定手段は、前記許容遅延情報算出/管理手段
    によって、すべての許容遅延値が前記処理見積り時間よ
    りも大きいと判断されると、前記仮決めの位置を、前記
    新たに到着した要求が付加される位置と最終的に決定す
    る、請求項1に記載の記憶デバイス制御装置。
  8. 【請求項8】 前記記憶デバイスは、前記単位ブロック
    を格納するためのディスクを有しており、 前記処理見積り時間は、 前記読み出しキューにおいて、対象となる読み出し要求
    及びその直前に付加されている読み出し要求に従って読
    み出される単位ブロックそれぞれが格納されているトラ
    ック位置間を、前記記憶デバイスのヘッドが移動するた
    めの時間であるシーク時間と、 前記対象となる読み出し要求に従って読み出される単位
    ブロックをディスクから転送するための時間である転送
    時間と、 予め定められたオーバヘッド時間及び回転待ち時間とに
    基づいて算出される、請求項7に記載の記憶デバイス制
    御装置。
  9. 【請求項9】 前記ディスクのトラックにはトラック番
    号が付されており、 前記位置ファイル管理手段及びキュー管理手段は、単位
    ブロックが格納されている位置に対応するトラック番号
    を管理しており、 前記シーク時間は、前記トラック番号に基づいて算出さ
    れる、請求項8に記載の記憶デバイス制御装置。
  10. 【請求項10】 前記記憶デバイスは、前記単位ブロッ
    クを格納するためのディスクを有しており、 前記処理見積り時間は、 前記読み出しキューにおいて、対象となる読み出し要求
    及びその直前に付加されている読み出し要求に従って読
    み出される単位ブロックそれぞれが格納されているシリ
    ンダ位置間を、前記記憶デバイスのヘッドが移動するた
    めの時間であるシーク時間と、 前記対象となる読み出し要求に従って読み出される単位
    ブロックをディスクから転送するための時間である転送
    時間と、 予め定められたオーバヘッド時間及び回転待ち時間とに
    基づいて算出される、請求項7に記載の記憶デバイス制
    御装置。
  11. 【請求項11】 前記ディスクのシリンダには、シリン
    ダ番号が付されており、 前記位置ファイル管理手段及びキュー管理手段は、単位
    ブロックの記録位置に対応するシリンダ番号を管理して
    おり、 前記シーク時間は、前記シリンダ番号に基づいて算出さ
    れる、請求項10に記載の記憶デバイス制御装置。
  12. 【請求項12】 前記転送時間は、読み出し要求に従っ
    て読み出される単位ブロックが格納されている位置にお
    ける記録密度と、前記ディスクの回転速度とに基づいて
    算出される、請求項10に記載の記憶デバイス制御装
    置。
  13. 【請求項13】 前記オーバヘッド時間は、単位ブロッ
    クと同一サイズを有するデータを、複数回連続的に前記
    記憶デバイスから読み出したときに要する時間の実測平
    均値から、前記平均シーク時間、平均回転待ち時間及び
    平均データ転送時間を減算して求められる、請求項8に
    記載の記憶デバイス制御装置。
  14. 【請求項14】 前記回転待ち時間は、前記ディスクの
    平均回転待ち時間である、請求項8に記載の記憶デバイ
    ス制御装置。
  15. 【請求項15】 前記処理見積り時間は、単位ブロック
    と同一サイズを有するデータを、複数回連続的に前記記
    憶デバイスから読み出して得られる、実測時間の集合に
    おいて、所定の信頼限界となる時間を用いる、請求項7
    に記載の記憶デバイス制御装置。
  16. 【請求項16】 前記記憶デバイスは、前記単位ブロッ
    クを格納するためのディスクを有しており、 前記ディスクには、その最内周から最外周へとトラック
    番号が昇順又は降順に付されており、 前記位置ファイル管理手段は、前記単位ブロックが格納
    されている位置に対応するトラック番号を含む位置ファ
    イルを管理し、 前記キュー管理手段は、前記読み出しキューに付加され
    ている読み出し要求に従って読み出される単位ブロック
    が格納されているトラック番号を管理し、 前記位置決定手段は、 外部から新たに到着した読み出し要求に従って読み出さ
    れる単位ブロックが格納されているトラック番号(以
    下、「第1のトラック番号」という)を、前記位置ファ
    イル管理手段から抽出し、 前記読み出しキューに既につながれている読み出し要求
    に従って読み出される単位ブロックが格納されているト
    ラック番号(以下、「第2のトラック番号」という)
    を、前記キュー管理手段から抽出し、 前記第1のトラック番号と前記第2のトラック番号とが
    昇順又は降順の関係にある位置を前記仮決め位置とし
    て、前記新たに到着した読み出し要求を付加することを
    特徴とする、請求項7に記載の記憶デバイス制御装置。
  17. 【請求項17】 前記記憶デバイスは、前記単位ブロッ
    クを格納するためのディスクを有しており、 前記ディスクには、その最内周から最外周へとシリンダ
    番号が昇順又は降順に付されており、 前記位置ファイル管理手段は、前記単位ブロックが格納
    されている位置に対応するシリンダ番号を含む位置ファ
    イルを管理し、 前記キュー管理手段は、前記読み出しキューに付加され
    ている読み出し要求に従って読み出される単位ブロック
    が格納されているシリンダ番号を管理し、 前記位置決定手段は、 外部から新たに到着した読み出し要求に従って読み出さ
    れる単位ブロックが格納されているシリンダ番号(以
    下、「第1のシリンダ番号」という)を、前記位置ファ
    イル管理手段から抽出し、 前記読み出しキューに既につながれている読み出し要求
    に従って読み出される単位ブロックが格納されているシ
    リンダ番号(以下、「第2のシリンダ番号」という)
    を、前記キュー管理手段から抽出し、 前記第1のシリンダ番号と前記第2のシリンダ番号とが
    昇順又は降順の関係にある位置を前記仮決め位置とし
    て、前記新たに到着した読み出し要求を付加することを
    特徴とする、請求項7に記載の記憶デバイス制御装置。
  18. 【請求項18】 前記記憶デバイスが実行した読み出し
    の終了時刻を受け取り、当該終了時刻を前記許容遅延情
    報算出/管理手段に通知するコマンド終了処理手段をさ
    らに備え、 前記許容遅延情報算出/管理手段は、 前記コマンド終了処理手段によって通知された終了時刻
    と、内部で管理する前記読み出し要求の終了予定時刻と
    が異なる場合には、当該終了時刻と当該終了予定時刻と
    の差分の時間を算出し、 算出した差分の時間に基づいて、前記読み出しキュー内
    に格納されている読み出し要求の終了予定時刻及び許容
    遅延値を更新する、請求項7に記載の記憶デバイス制御
    装置。
  19. 【請求項19】 外部から連続的に到着する書き込み又
    は読み出し要求に従って、記憶デバイスへのデータの書
    き込み又は記憶デバイスからのデータの読み出しを制御
    する記憶デバイス制御装置であって、 前記読み出し要求は、当該読み出し要求が入力してから
    読み出し処理が終了するまでの時間の最大値を示す遅延
    限界値を含み、 前記書き込み要求を書き込みコマンドとして、前記記憶
    デバイスに出力する書き込みコマンド出力手段を備え、 前記書き込みコマンド出力手段は、各前記読み出し要求
    が含む遅延限界値を越えない範囲で、前記データの書き
    込みが実行されるよう前記書き込みコマンドを出力す
    る、記憶デバイス制御装置。
  20. 【請求項20】 前記読み出し及び書き込みに要すると
    見積もられる時間である処理見積り時間と、当該処理が
    終了すると予想される時刻である終了予定時刻と、前記
    遅延限界値を参照して求められる時刻であって、当該処
    理が終了していなければならない終了時刻から当該読み
    出し終了予定時刻を減算した値である許容遅延値とを算
    出し管理する許容遅延情報算出/管理手段をさらに備
    え、 前記書き込みコマンド出力手段は、前記許容遅延値が前
    記書き込み要求の処理見積り時間よりも大きい場合、前
    記書き込みコマンドを出力し、 前記許容遅延情報算出/管理手段は、書き込みコマンド
    が出力されると、前記読み出し要求それぞれの許容遅延
    値から、前記書き込み要求の処理見積り時間を減算する
    ことを特徴とする、請求項19に記載の記憶デバイス制
    御装置。
  21. 【請求項21】 前記書き込み要求の処理見積り時間
    は、前記書き込み要求に従って書き込まれるデータと同
    一サイズを有するデータを、複数回連続して前記記憶デ
    バイスに書き込んで得られる、実測時間の集合におい
    て、所定の信頼限界となる処理時間である、請求項20
    に記載の記憶デバイス制御装置。
  22. 【請求項22】 前記記憶デバイスが実行した書き込み
    の現実の終了時刻を受け取り、当該現実の終了時刻を前
    記許容遅延情報算出/管理手段に通知するコマンド終了
    処理手段をさらに備え、 前記許容遅延情報算出/管理手段は、 前記現実の終了時刻に基づいて算出される時間であっ
    て、書き込みに現実に要した処理時間と、前記書き込み
    要求が持つ処理見積り時間とが異なる場合には、当該処
    理時間と当該処理見積り時間との差分の時間を算出し、 算出した差分の時間に基づいて、各前記読み出し要求の
    許容遅延値を更新する、請求項21に記載の記憶デバイ
    ス制御装置。
  23. 【請求項23】 前記遅延限界値は、予め定められた値
    として内部に格納されている、請求項19に記載の記憶
    デバイス制御装置。
  24. 【請求項24】 前記遅延限界値は、読み出し要求に含
    まれているパラメータである、請求項19に記載の記憶
    デバイス制御装置。
  25. 【請求項25】 外部から連続的に到着する書き込み要
    求に従って、記憶デバイスへのデータの書き込みを制御
    する記憶デバイス制御装置であって、 前記記憶デバイスに書き込まれるデータを一時的に格納
    するバッファメモリの使用容量を管理し、当該使用容量
    が所定のしきい値以上か否かを判断するバッファメモリ
    管理/判断手段と、 前記書き込み要求を書き込みコマンドとして、前記記憶
    デバイスに出力する書き込みコマンド出力手段とを備
    え、 前記書き込みコマンド出力手段は、バッファメモリ管理
    /判断手段によって、前記使用容量が所定のしきい値以
    上であると判断された場合には、書き込みコマンドを出
    力し、これによって、前記バッファメモリに一時的に格
    納されているデータが、前記記憶デバイスに書き込まれ
    る、記憶デバイス制御装置。
  26. 【請求項26】 外部から連続的に到着する書き込み要
    求に従って、記憶デバイスへのデータの書き込みを制御
    する記憶デバイス制御装置であって、 各前記書き込み要求は、自身が到着した時刻から、前記
    書き込みが終了していなければならない時間の最大値を
    示す遅延限界値を含んでおり、 前記書き込み要求を書き込みコマンドとして、前記記憶
    デバイスに出力する書き込みコマンド出力手段を備え、 前記書き込みコマンド出力手段は、前記書き込み要求が
    到着してから前記遅延限界値を経過すると、書き込みコ
    マンドを出力する、記憶デバイス制御装置。
  27. 【請求項27】 前記遅延限界値は、予め定められた値
    として内部に格納されている、請求項26に記載の記憶
    デバイス制御装置。
  28. 【請求項28】 前記遅延限界値は、書き込み要求に含
    まれているパラメータである、請求項26に記載の記憶
    デバイス制御装置。
  29. 【請求項29】 外部から連続的に到着する書き込み又
    は読み出し要求に従って、記憶デバイスへのデータの書
    き込み又は記憶デバイスからのデータの読み出しを制御
    する記憶デバイス制御装置であって、 各前記読み出し要求は、第1又は第2の優先度情報を含
    み、 少なくとも、前記第2の優先度情報を含む読み出し要求
    は、当該読み出し要求が到着してから前記読み出しが終
    了するまでの時間の最大値を示す遅延限界値を含み、 前記読み出し要求を読み出しコマンドとして、前記記憶
    デバイスに出力する読み出しコマンド出力手段とを備
    え、 前記読み出しコマンド出力手段は、前記第1の優先度情
    報を含む読み出し要求を、既に到着している第2の優先
    度情報を含む読み出し要求の遅延限界値を越えない範囲
    で、当該第2の優先度情報を含む読み出し要求よりも優
    先的に読み出しコマンドとして出力することを特徴とす
    る、記憶デバイス制御装置。
  30. 【請求項30】 前記データは、所定のデータサイズを
    有する単位ブロックに分割されており、 前記記憶デバイスの空き領域から、単位ブロックを所定
    個数記憶しうる連続空き領域が、前記データが必要とす
    る数だけ選択され、 選択された連続空き領域は、前記データが記録される位
    置を特定するための位置ファイルとして前記記憶デバイ
    スに格納されており、 前記位置ファイルを前記記憶デバイスから読み出すため
    の読み出し要求には、前記第1の優先度情報が含まれて
    いる、請求項29に記載の記憶デバイス制御装置。
  31. 【請求項31】 前記第1の優先度情報を含む読み出し
    要求を待ち行列の状態で保持する第1の読み出しキュー
    と、 前記第2の優先度情報を含む読み出し要求を待ち行列の
    状態で保持する第2の読み出しキューと、 各前記読み出し要求に従って実行される読み出しに要す
    る時間の見積り値である処理見積り時間と、当該読み出
    しが終了すると予想される時刻である終了予定時刻と、
    前記遅延限界値を参照して求められる時刻であって、当
    該読み出しが終了していなければならない終了時刻から
    当該終了予定時刻を減算した値である許容遅延値とを算
    出し管理する許容遅延情報算出/管理手段とをさらに備
    え、 前記読み出しコマンド出力手段は、前記第1の読み出し
    キューに保持される読み出し要求の処理見積り時間が、
    前記第2の読み出しキューに保持される読み出し要求す
    べての許容遅延値よりも小さい場合には、当該第1の読
    み出しキューが保持する待ち行列の先頭位置に保持され
    ている読み出し要求を、読み出しコマンドとして出力す
    ることを特徴とする、請求項29に記載の記憶デバイス
    制御装置。
  32. 【請求項32】 前記第1及び第2の優先度情報を含む
    読み出し要求を待ち行列の状態で保持する読み出しキュ
    ーと、 外部から新たに到着した読み出し要求を、前記読み出し
    キューにおいて、所定の位置に付加することを決定する
    位置決定手段と、 前記読み出しキューに保持されている各読み出し要求に
    従って実行される読み出しに要する時間の見積り値であ
    る処理見積り時間と、当該読み出し処理が終了すると予
    想される時刻である終了予定時刻と、前記遅延限界値を
    参照して求められる時刻であって、当該読み出しが終了
    していなければならない終了時刻から当該終了予定時刻
    を減算した値である許容遅延値とを算出し管理する許容
    遅延情報算出/管理手段とをさらに備え、 前記位置決定手段は、第1の優先度情報を含む読み出し
    要求を、既に読み出しキューに保持されており、第2の
    優先度情報を含む読み出し要求の遅延限界値を越えない
    範囲で、当該第2の優先度情報を含む読み出し要求より
    も優先的に読み出しコマンドとして出力されるように、
    前記待ち行列に付加し、 前記読み出しコマンド出力手段は、前記読み出しキュー
    が保持する待ち行列の先頭から順番に、読み出し要求を
    読み出しコマンドとして出力する、請求項29に記載の
    記憶デバイス制御装置。
  33. 【請求項33】 前記位置決定手段は、前記第1の優先
    度情報を含む読み出し要求が新たに到着すると、前記読
    み出しキューが保持する待ち行列の最後尾の最も近くに
    位置する第2の優先度情報を含む読み出し要求を、サン
    プル要求とし、 許容遅延情報算出/管理手段は、前記読み出しキュー格
    納手段が、入力した第1の優先度情報を含む読み出し要
    求を付加する位置として、前記サンプル要求の直前の位
    置に仮決した場合の当該読み出し要求の処理見積り時間
    を算出し、 前記位置決定手段は、 前記サンプル要求及びそれより後ろに位置しており、第
    2の優先度情報を含む各読み出し要求の許容遅延値と、
    前記新たに到着した読み出し要求の処理見積り時間とを
    比較し、 各前記許容遅延値が処理見積り時間以上であれば、前記
    サンプル要求の直前の位置を、前記新たに到着した読み
    出し要求を付加する位置と最終的に決定し、 少なくとも1つの前記許容遅延値が処理見積り時間未満
    であれば、前記サンプル要求が前記読み出しキューが保
    持する待ち行列の最後尾に位置するか否かを調査し、 前記サンプル要求が最後尾に位置する場合、前記新たに
    到着した読み出し要求を、前記読み出しキューが保持す
    る待ち行列の最後尾に付加し、 前記サンプル要求が最後尾に位置しない場合、当該サン
    プル要求の直後に位置する読み出し要求を、新たなサン
    プル要求として設定する、請求項32に記載の記憶デバ
    イス制御装置。
  34. 【請求項34】 前記記憶デバイスは、前記単位ブロッ
    クを格納するためのディスクを有しており、 前記処理見積り時間は、 前記読み出しキューにおいて、対象となる読み出し要求
    及びその直前に付加されている読み出し要求に従って読
    み出される単位ブロックそれぞれが格納されているトラ
    ック位置又はシリンダ位置間を、前記記憶デバイスのヘ
    ッドが移動するシーク時間と、 前記対象となる読み出し要求に従って読み出される単位
    ブロックをディスクから転送するための時間である転送
    時間と、 予め定められたオーバヘッド時間及び回転待ち時間とに
    基づいて算出される、請求項32に記載の記憶デバイス
    制御装置。
  35. 【請求項35】 前記処理見積り時間は、単位ブロック
    と同一サイズを有するデータを、複数回連続的に前記記
    憶デバイスから読み出して得られる、実測時間の集合に
    おいて、所定の信頼限界となる時間を用いる、請求項3
    2に記載の記憶デバイス制御装置。
  36. 【請求項36】 前記読み出し要求は、第1〜第3の優
    先度情報のいずれかを含み、 前記読み出しコマンド出力手段は、新たに到着した読み
    出し要求が第3の優先度情報を含む場合、第1及び第2
    の優先度情報含む読み出し要求がすべて読み出しコマン
    ドとして出力された後に、当該新たに到着した読み出し
    要求を読み出しコマンドとして出力することを特徴とす
    る、請求項29に記載の記憶デバイス制御装置。
  37. 【請求項37】 外部から連続的に到着する書き込み又
    は読み出し要求に従って、記憶デバイスへのデータの書
    き込み又は記憶デバイスからのデータの読み出しを制御
    する記憶デバイス制御装置であって、 前記読み出し及び書き込み要求は、到着してから読み出
    し又は書き込みが終了するまでの時間の最大値を示す遅
    延限界値を含み、 前記読み出し要求を待ち行列の状態で一時的に保持する
    読み出しキューと、 前記書き込み要求を待ち行列の状態で一時的に保持する
    書き込みキューと、 読み出し又は書き込みキューを選択し、読み出しキュー
    又は書き込みキューが保持する待ち行列の先頭の読み出
    し要求又は書き込み要求を読み出しコマンド又は書き込
    みコマンドとして、前記記憶デバイスに出力するコマン
    ド出力手段と、 到着した読み出し又は書き込み要求に従って実行される
    処理に要する時間の見積り値である処理見積り時間と、
    当該処理が終了すると予想される時刻である終了予定時
    刻と、前記遅延限界値それぞれを参照して求められる時
    刻であって、当該処理が終了していなければならない終
    了時刻から当該終了予定時刻を減算した値である許容遅
    延値とを算出し管理する許容遅延情報算出/管理手段
    と、 前記記憶デバイスに書き込まれるデータを一時的に格納
    するバッファメモリの使用容量を管理し、当該使用容量
    が所定のしきい値以上か否かを判断するバッファメモリ
    管理/判断手段と、 前記書き込みキューが保持する待ち行列の先頭の書き込
    み要求の処理見積り時間と、前記読み出しキューが保持
    する待ち行列を構成する読み出し要求の許容遅延値の最
    小値との大小関係を比較する比較手段と、 前記読み出しキュー又は前記書き込みキューに読み出し
    要求又は書き込み要求が保持されているか否かを判断す
    る判断手段とを備え、 前記コマンド出力手段は、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値以上と判断された場合と、 現在時刻が、前記許容遅延情報算出/管理手段が管理す
    る書き込み要求の許容遅延値に至っている場合と、 前記判断手段によって書き込み要求及び読み出し要求が
    書き込みキュー及び読み出しキューに保持されていると
    判断され、かつ前記比較手段によって書き込み要求の処
    理見積り時間の方が許容遅延値の最小値よりも小さいと
    判断された場合と、 前記判断手段によって書き込み要求のみが書き込みキュ
    ーに保持されていると判断された場合とには、書き込み
    キューを選択し、 前記判断手段によって書き込み要求及び読み出し要求が
    格納されていると判断され、かつ前記バッファメモリ管
    理/判断手段によって、前記使用容量が所定のしきい値
    未満と判断された場合と、 前記判断手段によって読み出し要求のみが読み出しキュ
    ーに保持されていると判断された場合とには、読み出し
    キューを選択する、記憶デバイス制御装置。
  38. 【請求項38】 外部から連続的に到着する書き込み又
    は読み出し要求に従って、記憶デバイスへのデータの書
    き込み又は記憶デバイスからのデータの読み出しを制御
    する記憶デバイス制御装置であって、 前記読み出し要求は、第1〜第3のいずれかの優先度情
    報を含み、 少なくとも、前記第1及び第2の優先度情報を含む読み
    出し要求と、前記書き込み要求とは、到着してから読み
    出し又は書き込みが終了するまでの時間の最大値を示す
    遅延限界値を含み、 前記第1及び第2の優先度情報を含む読み出し要求を待
    ち行列の状態で一時的に保持する第1の読み出しキュー
    と、 前記第3の優先度情報を含む読み出し要求を待ち行列の
    状態で一時的に保持する第2の読み出しキューと、 前記書き込み要求を待ち行列の状態で一時的に保持する
    書き込みキューと、 外部から入力した第1の優先度情報を含む読み出し要求
    を、前記第1の読み出しキューにおいて、所定の位置に
    付加することを決定する位置決定手段と、 第1の読み出しキュー、第2の読み出しキュー又は書き
    込みキューの中から1つのキューを選択し、選択したキ
    ューに保持されている待ち行列の先頭から、読み出し要
    求を読み出しコマンドとして又は書き込み要求を書き込
    みコマンドとして、前記記憶デバイスに出力するコマン
    ド出力手段と、 到着した読み出し要求及び書き込み要求に従って実行さ
    れる処理に要する時間の見積り値である処理見積り時間
    と、当該処理が終了すると予想される時刻である終了予
    定時刻と、前記遅延限界値を参照して求められる時刻で
    あって、当該処理が終了していなければならない終了時
    刻から当該終了予定時刻を減算した値である許容遅延値
    とを算出し管理する許容遅延情報算出/管理手段と、 前記記憶デバイスに書き込まれるデータを一時的に格納
    するバッファメモリの使用容量を管理し、当該使用容量
    が所定のしきい値以上か否かを判断するバッファメモリ
    管理/判断手段と、 前記書き込みキューが保持する待ち行列の先頭の書き込
    み要求の処理見積り時間と、前記第1の読み出しキュー
    が保持する待ち行列を構成する読み出し要求の許容遅延
    値の最小値との大小関係を比較する比較手段と、 前記第1の読み出しキュー、第2の読み出しキュー又は
    書き込みキューに読み出し要求又は書き込み要求が保持
    されているか否か、さらに当該第1の読み出しキューに
    は第1の優先度情報を含む読み出し要求が保持されてい
    るか否かを判断する判断手段とを備え、 前記位置決定手段は、第1の優先度情報を含む読み出し
    要求を、前記第1の読み出しキューに既に格納されてい
    る第2の優先度情報を含む読み出し要求の許容遅延値を
    越えない範囲で、当該第2の優先度情報を含む読み出し
    要求よりも優先的に読み出しコマンドとして出力される
    ように、当該第1の読み出しキューに付加し、 前記コマンド出力手段は、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値以上と判断された場合と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、さらに前記許容
    遅延情報算出/管理手段が管理する書き込み要求の許容
    遅延値に至っている場合と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、前記許容遅延情
    報算出/管理手段が管理する書き込み要求の許容遅延値
    に至っておらず、さらに前記判断手段によって最優先情
    報を含む読み出し要求が格納されていないと判断され、
    かつ前記比較手段によって書き込み要求の処理見積り時
    間の方が許容遅延値の最小値よりも小さいと判断された
    場合とには、書き込みキューを選択し、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、前記許容遅延情
    報算出/管理手段が管理する書き込み要求の許容遅延値
    に至っておらず、さらに前記判断手段によって、前記第
    1の読み出しキューに第1の優先度情報を含む読み出し
    要求が格納されていると判断された場合と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、前記許容遅延情
    報算出/管理手段が管理する書き込み要求の許容遅延値
    に至っておらず、前記判断手段によって、前記第1の読
    み出しキューに第1の優先度情報を含む読み出し要求が
    格納されておらず、さらに前記比較手段によって書き込
    み要求の処理見積り時間の方が許容遅延値の最小値より
    も大きいと判断された場合と、 前記判断手段によって書き込み要求が格納されていない
    と判断された場合とには、前記第1の読み出しキューを
    選択し、 前記判断手段によって、前記第2の読み出しキューにの
    み読み出し要求が格納されていると判断された場合に
    は、当該第2の読み出しキューを選択する、記憶デバイ
    ス制御装置。
  39. 【請求項39】 外部から連続的に到着する書き込み又
    は読み出し要求に従って、記憶デバイスへのデータの書
    き込み又は記憶デバイスからのデータの読み出しを制御
    する記憶デバイス制御装置であって、 前記読み出し又は書き込み要求は、コマンドとして出力
    される優先度を規定する優先度情報を含み、 前記書き込み又は読み出し要求を待ち行列の状態で一時
    的に保持する複数のキューと、 前記優先度情報に基づいて、外部から到着した書き込み
    及び読み出し要求を所定のキューにおいて、所定の位置
    に付加することを決定する位置決定手段と、 複数のキューのうちいずれか1つのキューを選択し、選
    択したキューが保持する待ち行列の先頭に位置する、書
    き込み又は読み出し要求をコマンドとして、前記記憶デ
    バイスに出力するコマンド出力手段と、 前記書き込み要求をコマンドとして発行するか、前記読
    み出し要求をコマンドとして発行するかを決定づける状
    態番号を保持する状態番号保持手段とを備え、 前記コマンド出力手段は、前記状態番号保持手段が保持
    する状態番号に基づいて、複数のキューのうちいずれか
    のキューを選択する、記憶デバイス制御装置。
  40. 【請求項40】 前記読み出し及び書き込み要求は、到
    着してから処理が終了するまでの時間の最大値を示す遅
    延限界値を含み、 前記複数のキューとして、前記読み出し要求を待ち行列
    として一時的に保持する読み出しキュー、及び、前記書
    き込み要求を待ち行列として一時的に保持する書き込み
    キューとがあり、 到着した読み出し要求及び書き込み要求に従って実行さ
    れる処理に要する時間の見積り値である処理見積り時間
    と、当該処理が終了すると予想される時刻である終了予
    定時刻と、前記遅延限界値それぞれを参照して求められ
    る時刻であって、当該処理が終了していなければならな
    い終了時刻から当該終了予定時刻を減算した値である許
    容遅延値とを算出し管理する許容遅延情報算出/管理手
    段と、 前記記憶デバイスに書き込まれるデータを一時的に格納
    するバッファメモリの使用容量を管理し、当該使用容量
    が所定のしきい値以上か否かを判断するバッファメモリ
    管理/判断手段と、 前記書き込みキューが保持する待ち行列の先頭の書き込
    み要求の処理見積り時間と、前記読み出しキューが保持
    する待ち行列を構成する読み出し要求の許容遅延値の最
    小値との大小関係を比較する比較手段と、 前記読み出しキュー及び前記書き込みキューに読み出し
    要求及び書き込み要求が保持されているか否かを判断す
    る判断手段とを備え、 前記状態番号保持手段は、前記状態番号として、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値以上と判断された場合を示す第1
    の状態番号と、 前記許容遅延情報算出/管理手段が管理する書き込み要
    求の許容遅延値に至っている場合を示す第2の状態番号
    と、 前記判断手段によって書き込み要求及び読み出し要求が
    格納されていると判断され、かつ前記比較手段によって
    書き込み要求の処理見積り時間の方が許容遅延値の最小
    値よりも小さいと判断された場合を示す第3の状態番号
    と、 前記判断手段によって書き込み要求のみが格納されてい
    ると判断される場合を示す第4の状態番号と、 前記判断手段によって書き込み要求及び読み出し要求が
    格納されていると判断され、かつ前記バッファメモリ管
    理/判断手段によって、前記使用容量が所定のしきい値
    未満と判断される場合を示す第5の状態番号と、 前記判断手段によって読み出し要求のみが格納されてい
    ると判断される場合を示す第6の状態番号とを保持して
    おり、 前記位置決定手段は、第1の優先度情報を含む読み出し
    要求を、前記読み出しキューに既に格納されている第2
    の優先度情報を含む読み出し要求の許容遅延値を越えな
    い範囲で、当該第2の優先度情報を含む読み出し要求よ
    りも優先的に読み出しコマンドとして出力されるよう
    に、読み出しキューに付加し、 前記コマンド出力手段は、 前記状態番号保持手段が前記第1〜第4のいずれかの状
    態番号を保持しているとき、前記書き込みキューを選択
    し、 前記状態番号保持手段が前記第5又は第6の状態番号を
    保持しているとき、前記読み出しキューを選択する、請
    求項39に記載の記憶デバイス制御装置。
  41. 【請求項41】 前記読み出し要求は、第1〜第3のい
    ずれかの優先度情報を含み、 少なくとも、前記第1及び第2の優先度情報を含む読み
    出し要求、又は、前記書き込み要求は、到着してから読
    み出し又は書き込みが終了するまでの時間の最大値を示
    す遅延限界値を含み、 前記複数のキューとして、前記第1及び第2の優先度情
    報を含む読み出し要求を待ち行列として一時的に保持す
    る第1の読み出しキュー、前記第3の優先度情報を含む
    読み出し要求を待ち行列として一時的に保持する第2の
    読み出しキュー、及び、前記書き込み要求を待ち行列と
    して保持する書き込みキューとがあり、到着した読み出
    し要求及び書き込み要求に従って実行される処理に要す
    る時間の見積り値である処理見積り時間と、当該処理が
    終了すると予想される時刻である終了予定時刻と、前記
    遅延限界値を参照して求められる時刻であって、当該処
    理が終了していなければならない終了時刻から当該終了
    予定時刻を減算した値である許容遅延値とを算出し管理
    する許容遅延情報算出/管理手段と、 前記記憶デバイスに書き込まれるデータを一時的に格納
    するバッファメモリの使用容量を管理し、当該使用容量
    が所定のしきい値以上か否かを判断するバッファメモリ
    管理/判断手段と、 前記書き込みキューが保持する待ち行列の先頭の書き込
    み要求の処理見積り時間と、前記第1の読み出しキュー
    が保持する待ち行列を構成する読み出し要求の許容遅延
    値の最小値との大小関係を比較する比較手段と、 前記第1の読み出しキュー、第2の読み出しキュー又は
    書き込みキューに読み出し要求又は書き込み要求が保持
    されているか否か、さらに当該第1の読み出しキューに
    は第1の優先度情報を含む読み出し要求が保持されてい
    るか否かを判断する判断手段とを備え、 前記位置決定手段は、第1の優先度情報を含む読み出し
    要求を、前記第1の読み出しキューに既に格納されてい
    る第2の優先度情報を含む読み出し要求の許容遅延値を
    越えない範囲で、当該第2の優先度情報を含む読み出し
    要求よりも優先的に読み出しコマンドとして出力される
    ように、当該第1の読み出しキューに付加し、 前記状態番号管理手段が管理する状態番号として、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値以上と判断される場合を示す第1
    の状態番号と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、さらに前記許容
    遅延情報算出/管理手段が管理する書き込み要求の許容
    遅延値に至っている場合を示す第2の状態番号と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、前記許容遅延情
    報算出/管理手段が管理する書き込み要求の許容遅延値
    に至っておらず、さらに前記判断手段によって最優先情
    報を含む読み出し要求が格納されていないと判断され、
    かつ前記比較手段によって書き込み要求の処理見積り時
    間の方が許容遅延値の最小値よりも小さいと判断される
    場合を示す第3の状態番号と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、前記許容遅延情
    報算出/管理手段が管理する書き込み要求の許容遅延値
    に至っておらず、さらに前記判断手段によって、前記第
    1の読み出しキューに第1の優先度情報を含む読み出し
    要求が格納されていると判断される場合を示す第4の状
    態番号と、 前記バッファメモリ管理/判断手段によって、前記使用
    容量が所定のしきい値未満と判断され、前記許容遅延情
    報算出/管理手段が管理する書き込み要求の許容遅延値
    に至っておらず、前記判断手段によって、前記第1の読
    み出しキューに第1の優先度情報を含む読み出し要求が
    格納されておらず、さらに前記比較手段によって書き込
    み要求の処理見積り時間の方が許容遅延値の最小値より
    も大きいと判断される場合を示す第5の状態番号と、 前記判断手段によって書き込み要求が格納されていない
    と判断される場合を示す第6の状態番号と、 前記判断手段によって、前記第2の読み出しキューにの
    み読み出し要求が格納されていると判断される場合を示
    す第7の状態番号とが設定されており、 前記コマンド出力手段は、 前記状態番号管理手段が、前記第1〜第3のいずれかの
    状態番号を保持しているとき、前記書き込みキューを選
    択し、 前記状態番号管理手段が、前記第4〜第6の状態番号を
    保持しているとき、前記第1の読み出しキューを選択
    し、 前記状態番号管理手段が、前記第7の状態番号を保持し
    ているとき、前記第2の読み出しキューを選択する、請
    求項39に記載の記憶デバイス制御装置。
  42. 【請求項42】 前記位置決定手段は、第1の優先度情
    報を含む読み出し要求が外部から新たに到着すると、前
    記第1の読み出しキューの最後尾の最も近くに位置し、
    さらに第2の優先度情報を含む読み出し要求を、サンプ
    ル要求として設定し、 許容遅延情報算出/管理手段は、前記位置決定手段が、
    前記サンプル要求の直前を、到着した新たな読み出し要
    求を付加する位置と仮決めした場合における、当該読み
    出し要求の処理見積り時間を算出し、 前記位置決定手段は、 前記サンプル要求及びそれより後ろに位置しており、第
    2の優先度情報を含む各読み出し要求の許容遅延値と、
    前記新たに到着した読み出し要求の処理見積り時間とを
    比較し、 各前記許容遅延値が処理見積り時間以上であれば、前記
    サンプル要求の直前の位置を、前記新たに到着した読み
    出し要求を付加する位置と最終的に決定し、 少なくとも1つの前記許容遅延値が処理見積り時間未満
    であれば、前記サンプル要求が前記第1の読み出しキュ
    ーが保持する待ち行列の最後尾に位置するか否かを調査
    し、 前記サンプル要求が最後尾に位置する場合、前記新たに
    到着した読み出し要求を、前記第1の読み出しキューが
    保持する待ち行列の最後尾に付加し、 前記サンプル要求が最後尾に位置しない場合、当該サン
    プル要求の直後に位置する読み出し要求を、新たなサン
    プル要求として設定する、請求項38に記載の記憶デバ
    イス制御装置。
  43. 【請求項43】 前記記憶デバイスは、前記単位ブロッ
    クを格納するためのディスクを有しており、 前記読み出し処理見積り時間は、 前記第1及び第2の読み出しキューにおいて、対象とな
    る読み出し要求及びその直前に付加されている読み出し
    要求に従って読み出される単位ブロックそれぞれが格納
    されているトラック位置又はシリンダ位置間を、前記記
    憶デバイスのヘッドが移動するシーク時間と、 前記対象となる読み出し要求に従って読み出される単位
    ブロックをディスクから転送するための時間である転送
    時間と、 予め定められたオーバヘッド時間及び回転待ち時間とに
    基づいて算出される、請求項38に記載の記憶デバイス
    制御装置。
  44. 【請求項44】 前記処理見積り時間は、単位ブロック
    と同一サイズを有するデータを、複数回連続的に前記記
    憶デバイスから読み出して得られる、実測時間の集合に
    おいて、所定の信頼限界となる時間、又は、複数回連続
    的に前記記憶デバイスに書き込んで得られる、実測時間
    の集合において、所定の信頼限界となる時間を用いる、
    請求項38に記載の記憶デバイス制御装置。
  45. 【請求項45】 書き込みの単位であるブロックに分割
    したデータを、複数の記憶デバイスに分散配置するシス
    テムに用いられ、 各前記記憶デバイスには、他の記憶デバイスと重複しな
    い第1の識別子が付されており、 少なくとも、各前記第1の識別子を管理する第1の管理
    部と、 各前記記憶デバイスの空き領域を、前記ブロックを書き
    込みうる空きブロックごとのアドレス及び前記第1の識
    別子を用いて管理する第2の管理部と、 前記第1及び第2の管理部を参照して、すべて又は一部
    の記憶デバイスごとに、前記第1の識別子と前記アドレ
    スとの組を1つずつ作り、さらに、作った組をランダム
    に並び替えることにより、データの配置先を決定する配
    置先決定部とを備える、記憶デバイス管理システム。
  46. 【請求項46】 書き込みの単位であるブロックに分割
    したデータを、所定のグループに分けられた複数の記憶
    デバイスに分散配置するシステムに用いられ、 各前記記憶デバイスは、同一グループに属する他の記憶
    デバイスと重複しない第1の識別子を付されており、 各前記グループには、他のグループと重複しない第2の
    識別子が付されており、 少なくとも、各前記第1の識別子と各前記第2の識別子
    とを管理する第1の管理部と、 各前記記憶デバイスの空き領域を、前記ブロックを書き
    込みうる空きブロックごとのアドレスと、前記第1及び
    第2の識別子とを用いて管理する第2の管理部と、 前記第1及び第2の管理部を参照して、すべて又は一部
    のグループを選択し、グループ内では、ランダムにかつ
    グループに属するすべての記憶デバイスが一通り選択さ
    れるまでは同じ記憶デバイスが選択されない様にそれぞ
    れ1つの記憶デバイスを選択し、選択した記憶デバイス
    に対する前記第1及び第2の識別子と前記アドレスとの
    組を1つずつ作り、さらに、作った組をランダムに並び
    替えることにより、データの配置先を決定する配置先決
    定部とを備える、記憶デバイス管理システム。
  47. 【請求項47】 前記複数の記憶デバイスのうち、少な
    くとも1つの記憶デバイスの性能が、他の記憶デバイス
    の性能と異なっており、 前記データが複数の記憶デバイスに分散配置される場合
    に、各記憶デバイスに配置されるブロックの割合が、前
    記性能に基づいて、分散の比率として規定されており、 前記配置先決定部は、前記分散の比率に従って、組を作
    るべき記憶デバイスを選択し、選択した記憶デバイスご
    とに前記組を1つずつ作り、さらに、作った組をランダ
    ムに並び替える、請求項45に記載の記憶デバイス管理
    システム。
  48. 【請求項48】 各前記グループに属する記憶デバイス
    のうち、少なくとも1つの記憶デバイスの性能が、同一
    グループに属する他の記憶デバイスの性能と異なってお
    り、 前記データが複数の記憶デバイスに分散配置される場合
    に、同一グループに属する記憶デバイスそれぞれに配置
    されるブロックの割合が、前記性能に基づいて、第1の
    分散の比率として、さらに、前記データが複数のグルー
    プに振り分けられる場合に、各グループに振り分けられ
    るブロックの割合が、当該グループに属する記憶デバイ
    スの性能に基づいて、第2の分散の比率として、予め規
    定されており、 前記配置先決定部は、前記第2の分散の比率に従って、
    各グループに前記ブロックを振り分けるべきグループを
    選択し、前記第1の分散の比率に従って、選択したグル
    ープに属するいずれか1つの記憶デバイスを、組を作る
    べき記憶デバイスとして選択し、選択した記憶デバイス
    ごとに前記組を1つずつ作り、さらに、作った組をラン
    ダムに並び替える、請求項46に記載の記憶デバイス管
    理システム。
  49. 【請求項49】 前記分散の比率は、内部に予め管理さ
    れていることを特徴とする、請求項47に記載の記憶デ
    バイス管理システム。
  50. 【請求項50】 前記分散の比率は、前記性能に基づい
    て、内部で求められることを特徴とする、請求項47に
    記載の記憶デバイス管理システム。
  51. 【請求項51】 前記第1及び/又は第2の分散の比率
    は、内部に予め管理されていることを特徴とする、請求
    項48に記載の記憶デバイス管理システム。
  52. 【請求項52】 前記第1及び/又は第2の分散の比率
    は、前記性能に基づいて、内部で求められることを特徴
    とする、請求項48に記載の記憶デバイス管理システ
    ム。
  53. 【請求項53】 前記配置先決定部が前記作った組をラ
    ンダムに並び替えることを繰り返すことによって、前記
    データの配置先が決定していないブロックの数が前記す
    べて又は一部の記憶デバイスの数を下回った場合、 前記配置先決定部は、記憶デバイスが有している空きブ
    ロックの数に基づいて、組を作るべき記憶デバイスを選
    択し、さらに、選択した記憶デバイスごとに前記組を1
    つずつ作る、請求項45〜52のいずれかに記載の記憶
    デバイス管理システム。
  54. 【請求項54】 前記配置先決定部が前記作った組をラ
    ンダムに並び替えることを繰り返す場合において、 前記配置先決定部は、前記決定したデータの配置先と前
    記並び替えた組とにおいて、所定個数の組に相当する区
    間には、同一の記憶デバイスにデータを分散配置しない
    ように、前記作った組をランダムに並び替える、請求項
    45〜53のいずれかに記載の記憶デバイス管理システ
    ム。
  55. 【請求項55】 前記複数の記憶デバイスには、互いに
    性質の異なる複数のデータがそれぞれ分散配置される場
    合において、 前記配置先決定部は、前記組を作るべき記憶デバイスご
    とに、前記性質に基づく個数だけ前記アドレスを取り出
    して1まとめにし、さらに、1まとめにしたアドレスを
    用いて前記組を作る、請求項45〜54のいずれかに記
    載の記憶デバイス管理システム。
  56. 【請求項56】 前記性質とは、前記データが記憶デバ
    イスに書き込まれる際の帯域であって、 前記配置先決定部は、前記帯域に基づいて定められる個
    数だけ前記アドレスを取り出す、請求項55に記載の記
    憶デバイス管理システム。
  57. 【請求項57】 外部から連続的に到着する要求に従っ
    て、記憶デバイスへのデータの書き込みや記憶デバイス
    からのデータの読み出しを制御する記憶デバイス制御装
    置であって、 各前記要求は、前記書き込みや読み出しのために、前記
    記憶デバイス上のアクセス位置を有しており、 未処理の要求を処理すべき順番に並んだ待ち行列の状態
    で一時的に保持するキュー手段と、 外部から新たに到着した要求を受け付け、かつ到着した
    要求に対して並べ替え制限時刻を計算して付加する要求
    受付手段と、 前記要求受付手段が受け付けた要求を、前記キュー手段
    において、第1の条件を満たす位置に付加することを決
    定する位置決定手段と、 前記キュー手段に保持された各要求について、重み時間
    及び終了予定時刻を計算し保持する保持手段とを備え、 前記並べ替え制限時刻は、要求が到着した時刻に基づい
    て決定され、 前記重み時間は、前記キュー手段内において、対象とな
    る要求が有するアクセス位置とその直前に処理されるべ
    き要求が有するアクセス位置とに基づいて決定され、 前記終了予定時刻は、前記キュー手段内において、前記
    重み時間を前記到着時刻に加算した時刻として決定さ
    れ、 前記キュー手段に保持された要求を、前記待ち行列の順
    序に従ってコマンドとして前記記憶デバイスに発行する
    コマンド発行手段とをさらに備え、 前記第1の条件を満たす位置とは、現在到着している要
    求すべてについて、前記終了予定時刻が前記並べ替え制
    限時刻を超えず、しかも、前記重み時間の総和が、前記
    要求受付手段により新たに受け付けられた要求を前記待
    ち行列の末尾に付加したと仮定した場合の重み時間の総
    和以下になる位置であることを特徴とする、記憶デバイ
    ス制御装置。
  58. 【請求項58】 前記要求には、データを書き込むため
    の書き込み要求とデータを読み出すための読み出し要求
    とがあり、 前記キュー手段は、未処理の書き込み要求及び読み出し
    要求を一時的に保持する書き込みキュー及び読み出しキ
    ューを含み、 前記要求受付手段は、さらに、外部から新たに到着した
    要求に対して終了制限時刻を計算して付加し、 前記コマンド発行手段は、前記読み出しキューが保持す
    る読み出し要求すべての前記終了予定時刻が前記制限時
    刻を超えない場合、前記書き込みキューに保持される書
    き込み要求を優先的にコマンドとして発行することを特
    徴とする、請求項57に記載の記憶デバイス制御装置。
  59. 【請求項59】 前記書き込み要求が到着して当該要求
    に対応する書き込みが前記記憶デバイス上で終了するま
    でに最大限必要とされる時間が最大処理時間として予め
    規定されており、 前記保持手段は、前記コマンドとして発行された書き込
    み要求について保持している重み時間を、前記書き込み
    最大処理時間に変更することを特徴とする、請求項58
    に記載の記憶デバイス制御装置。
  60. 【請求項60】 前記コマンド発行部が、所定時間当た
    りに、前記記憶デバイスに発行できるコマンド数は予め
    規定されており、 前記コマンド発行部は、前記コマンド数を超えないよう
    に、前記コマンドを発行することを特徴とする、請求項
    57に記載の記憶デバイス制御装置。
  61. 【請求項61】 前記記憶デバイスは、前記コマンドに
    応答して、前記読み出し又は読み出しが終了すると、終
    了時刻を出力し、 前記記憶デバイスから受け取る終了時刻と、前記保持手
    段に保持されており、前記記憶デバイスにおいて処理が
    終了した要求が持つ終了予定時刻との差分を計算するコ
    マンド終了処理手段をさらに備え、 前記保持手段は、前記コマンド終了処理手段により求め
    られた差分に基づいて、前記キュー手段が保持する要求
    の終了予定時刻又は並べ替え制限時間を計算し直すこと
    を特徴とする、請求項57に記載の記憶デバイス制御装
    置。
  62. 【請求項62】 前記保持手段は、前記コマンド終了処
    理手段により求められた差分が所定の値以上の場合に限
    り、前記終了予定時刻又は前記並べ替え制限時刻を計算
    し直すことを特徴とする、請求項61に記載の記憶デバ
    イス制御装置。
  63. 【請求項63】 前記要求には、データを書き込むため
    の書き込み要求とデータを読み出すための読み出し要求
    とがあり、 前記キュー手段は、書き込みキュー及び読み出しキュー
    を含んでおり、 前記要求受付手段は、さらに、外部から新たに到着した
    書き込み要求に対して書き込み優先時刻を計算して付加
    し、 前記書き込みキュー及び読み出しキューは、前記要求受
    付手段が受け付けた書き込み要求及び読み出し要求を一
    時的に保持し、 前記コマンド発行手段は、前記書き込み優先時刻に達し
    ている書き込み要求を前記書き込みキューが保持してい
    る場合、当該書き込みキューから前記コマンドを優先的
    に発行することを特徴とする、請求項57に記載の記憶
    デバイス制御装置。
  64. 【請求項64】 前記待ち行列において、処理すべき順
    序が連続する要求それぞれが連続又は同一のアクセス位
    置を有する場合、 前記位置決定手段は、前記要求受付手段が受け付けた要
    求を、前記連続する要求の間に付加しないことを特徴と
    する、請求項57に記載の記憶デバイス制御装置。
  65. 【請求項65】 外部から連続的に到着する要求を、処
    理すべき順番に並んだ待ち行列の状態で一時的に保持す
    る、キューのどの位置に付加するかを決定するための方
    法であって、 各前記要求は、前記書き込みや読み出しのために、前記
    記憶デバイス上のアクセス位置を有しており、 前記キューに保持された各要求について、重み時間及び
    終了予定時刻を計算し保持する第1ステップと、 前記重み時間は、前記キュー手段内において、対象とな
    る要求が有するアクセス位置とその直前に処理されるべ
    き要求が有するアクセス位置とに基づいて決定され、さ
    らに、前記終了予定時刻は、前記キュー内において、前
    記重み時間を前記到着時刻に加算した時刻として決定さ
    れ、 外部から新たに到着した要求を受け付け、かつ到着した
    要求に対して並べ替え制限時刻を計算して付加する第2
    ステップと、 前記並べ替え制限時刻は、要求が到着した時刻に基づい
    て決定され、 前記第2ステップで新たに到着した要求を、前記キュー
    において、第1の条件を満たす仮決め位置に付加し、当
    該キューに現在保持されている各要求について、重み時
    間及び終了予定時刻を再計算する第3のステップと、 前記第3ステップで再計算された重み時間及び終了予定
    時刻が、第2の条件を満たす場合に、前記新たに到着し
    た要求を前記仮決め位置に付加すると決める第4のステ
    ップとを備え、 前記第1の条件とは、前記新たに到着した要求が有する
    アクセス位置と、その直前及び/又は直後の要求が有す
    るアクセス位置とが連続又は同一であることであり、 前記第2の条件とは、現在到着している要求すべてにつ
    いて、前記終了予定時刻が前記並べ替え制限時刻を超え
    ず、しかも、前記重み時間の総和が、前記第1ステップ
    により新たに受け付けられた要求を前記待ち行列の末尾
    に付加したと仮定した場合の重み時間の総和以下になる
    ことであるを特徴とする、処理順序決定方法。
  66. 【請求項66】 外部から連続的に到着する要求を、処
    理すべき順番に並んだ待ち行列の状態で一時的に保持す
    る、キューのどの位置に付加するかを決定するための方
    法であって、 各前記書き込み又は読み出し要求は、前記記憶デバイス
    上のアクセス位置を有し、さらに、当該要求の到着時刻
    から、処理が終了していなければならないと予想される
    所定の時間を加算した並べ替え制限時刻を有しており、 前記キューにおいて、対象となる要求が有するアクセス
    位置とその直前に処理されるべき要求が有するアクセス
    位置とに基づいて決定される重み時間と、 前記重み時間を前記到着時刻に加算して得られる終了予
    定時刻とが規定されており、 外部から新たに到着した要求を受け付け、かつ到着した
    要求に対して並べ替え制限時刻を計算して付加する第1
    ステップと、 前記並べ替え制限時刻は、要求が到着した時刻に基づい
    て決定され、 前記第1ステップで新たに到着した要求を、前記待ち行
    列における末尾を仮決め位置として付加し、前記キュー
    に現在保持されている各要求が有する重み時間の第1の
    総和を計算する第2のステップと、 前記新たに到着した要求を前記待ち行列からはずし、当
    該要求を前記待ち行列における新たな仮決め位置に付加
    し、前記キューに現在保持されている各要求について、
    重み時間及び終了予定時刻を計算し、さらに、当該重み
    時間の第2の総和を計算する第3のステップと、 前記第1の総和と前記第2の総和とを比較する第4のス
    テップと、 前記第3のステップにより得られる各要求の終了予定時
    刻が、当該各要求の第1の制限時刻よりも早いか否かを
    判断する第5のステップと、 前記第4のステップにおいて、前記第1の総和の方が大
    きく、かつ、前記第5のステップにおいて、各要求の終
    了予定時刻が、当該各要求の第1の制限時刻よりも早い
    場合に、前記新たに到着した要求が前記待ち行列に付加
    される位置を、前記新たな仮決め位置に決める第6のス
    テップとを備える、処理順序決定方法。
  67. 【請求項67】 外部から連続的に到着する要求を、処
    理すべき順番に並んだ待ち行列の状態で一時的に保持す
    る、キューのどの位置に付加するかを決定するための方
    法であって、 各前記書き込み又は読み出し要求は、前記記憶デバイス
    上のアクセス位置を有し、さらに、当該要求の到着時刻
    から、処理が終了していなければならないと予想される
    所定の時間を加算した並べ替え制限時刻を有しており、 前記キューにおいて、対象となる要求が有するアクセス
    位置とその直前に処理されるべき要求が有するアクセス
    位置とに基づいて決定される重み時間と、 前記重み時間を前記到着時刻に加算して得られる終了予
    定時刻とが規定されており、 外部から新たに到着した要求を受け付け、かつ到着した
    要求に対して並べ替え制限時刻を計算して付加する第1
    ステップと、 前記並べ替え制限時刻は、要求が到着した時刻に基づい
    て決定され、 前記第1ステップで新たに到着した要求を、前記待ち行
    列におけるいずれかの位置を仮決め位置として付加し、
    前記キューに現在保持されている各要求が有する重み時
    間を計算し、当該重み時間の総和を計算して保持する第
    2のステップと、 前記第1のステップは、前記待ち行列におけるすべての
    位置に、前記新たに到着した要求を付加するまで繰り返
    され、これにより、前記重み時間の総和は、前記待ち行
    列を構成する要求数の分だけ得られ、 前記第1のステップが繰り返されて得られる、複数の重
    み時間の総和から最小のものを選択する第2のステップ
    と、 前記第2のステップで選択された重み時間の総和に対応
    する仮決め位置を、前記新たに到着した要求が付加され
    る位置として仮決めする第3のステップと、 前記第3のステップで仮決められた位置に、前記新たに
    到着した要求を付加した場合の前記終了予定時刻を、前
    記待ち行列を構成する各要求について計算し、保持する
    第4のステップと、 前記第4のステップで得られる各終了予定時刻が並べ替
    え制限時刻よりも早い場合に、前記第4のステップで仮
    決められた位置を、前記新たに到着した要求を付加する
    位置として最終的に決める第5のステップとを備える、
    順序決定方法。
JP9081647A 1996-04-30 1997-03-31 記憶デバイス制御装置及び管理システム Pending JPH10275059A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP9081647A JPH10275059A (ja) 1996-04-30 1997-03-31 記憶デバイス制御装置及び管理システム
EP97107084A EP0805593A3 (en) 1996-04-30 1997-04-29 Storage device control unit and management system
US09/435,369 US6408359B1 (en) 1996-04-30 1999-11-08 Storage device management system and method for distributively storing data in a plurality of storage devices

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP8-109183 1996-04-30
JP10918396 1996-04-30
JP9-15239 1997-01-29
JP1523997 1997-01-29
JP9081647A JPH10275059A (ja) 1996-04-30 1997-03-31 記憶デバイス制御装置及び管理システム

Publications (1)

Publication Number Publication Date
JPH10275059A true JPH10275059A (ja) 1998-10-13

Family

ID=27280929

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9081647A Pending JPH10275059A (ja) 1996-04-30 1997-03-31 記憶デバイス制御装置及び管理システム

Country Status (2)

Country Link
EP (1) EP0805593A3 (ja)
JP (1) JPH10275059A (ja)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037490A1 (en) * 2000-10-30 2002-05-10 Matsushita Electric Industrial Co., Ltd. Av stream recording/reproducing device, av stream recording device, av stream recording/reproducing method, av stream recording method
WO2005059757A1 (ja) * 2003-12-19 2005-06-30 Matsushita Electric Industrial Co.,Ltd. 記録デバイス制御装置
JP2006506650A (ja) * 2002-11-18 2006-02-23 インターナショナル リモート イメイジング システムズ インコーポレイテッド マルチレベルコントローラシステム
JP2006513521A (ja) * 2003-01-17 2006-04-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディスクアクセスのためのパワー効率の良いスケジューリング
JP2007087528A (ja) * 2005-09-22 2007-04-05 Fujitsu Ltd 記憶装置、記憶装置の制御方法および記憶装置に用いられる制御プログラム
JP2007166032A (ja) * 2005-12-09 2007-06-28 Ntt Communications Kk パケット通信装置及びそのプログラム
WO2009119633A1 (ja) * 2008-03-26 2009-10-01 日本電気株式会社 データ通信処理装置及び方法
JP2009282648A (ja) * 2008-05-21 2009-12-03 Fujitsu Ltd ストレージ装置、ディスクコントローラ、及びコマンド発行制御方法
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium
JP2012043331A (ja) * 2010-08-23 2012-03-01 Nec Corp データ処理装置、データ処理方法、および、コンピュータ・プログラム
US20160142335A1 (en) 2014-11-19 2016-05-19 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
US10037162B2 (en) 2015-06-15 2018-07-31 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
CN113727878A (zh) * 2019-04-16 2021-11-30 株式会社电装 车辆用装置、车辆用装置的控制方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2816138B1 (fr) * 2000-10-27 2003-01-17 Canon Kk Decodage de donnees numeriques
JP4305378B2 (ja) 2004-12-13 2009-07-29 ソニー株式会社 データ処理システム、アクセス制御方法、その装置およびそのプログラム
US8799535B2 (en) 2008-01-11 2014-08-05 Akamai Technologies, Inc. Storage of data utilizing scheduling queue locations associated with different data rates
US8364892B2 (en) 2008-01-11 2013-01-29 Verivue, Inc. Asynchronous and distributed storage of data
EP2243288A2 (en) * 2008-01-11 2010-10-27 Verivue, Inc. Asynchronous and distributed storage of data
US8750315B2 (en) 2009-01-23 2014-06-10 Akamai Technologies, Inc. Efficiently storing transport streams
US9906757B2 (en) 2009-02-26 2018-02-27 Akamai Technologies, Inc. Deterministically skewing synchronized events for content streams
US9565397B2 (en) 2009-02-26 2017-02-07 Akamai Technologies, Inc. Deterministically skewing transmission of content streams
US8650602B2 (en) 2009-02-27 2014-02-11 Akamai Technologies, Inc. Input queued content switching using a playlist
ES2648119T3 (es) * 2012-12-18 2017-12-28 Telefonica S.A. Procedimiento y sistema para almacenar en caché contenido web en un disco duro
CN115396384B (zh) * 2022-07-28 2023-11-28 广东技术师范大学 一种数据包调度方法、系统及存储介质
CN116225345B (zh) * 2023-05-08 2023-08-11 珠海妙存科技有限公司 一种eMMC的数据存储方法、控制器及可读存储介质
CN118118434B (zh) * 2023-08-05 2025-03-07 哈尔滨商业大学 一种管理数据处理装置及降低处理延时的方法

Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60117326A (ja) * 1983-11-30 1985-06-24 Toshiba Corp 画像デ−タ分割記憶装置
JPH01112460A (ja) * 1987-10-27 1989-05-01 Nec Corp 入出力制御方式
JPH01236488A (ja) * 1988-03-16 1989-09-21 Matsushita Electric Ind Co Ltd 書換可能型光ディスク管理システム
JPH03177943A (ja) * 1989-12-07 1991-08-01 Tokyo Electric Co Ltd データ端末装置
JPH05265661A (ja) * 1992-01-23 1993-10-15 Hitachi Ltd ディスク処理装置
JPH06161934A (ja) * 1992-11-27 1994-06-10 Toshiba Corp ディスク制御装置
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH0764733A (ja) * 1993-08-26 1995-03-10 Nippon Telegr & Teleph Corp <Ntt> 多重読書き方法
JPH07230669A (ja) * 1993-12-24 1995-08-29 Sony Corp 情報データ記録再生装置及び情報データ処理システム
JPH07244642A (ja) * 1994-03-04 1995-09-19 Sanyo Electric Co Ltd 並列処理計算機
JPH07325669A (ja) * 1994-05-31 1995-12-12 Mitsubishi Electric Corp ディスク管理方法
JPH0855137A (ja) * 1994-07-26 1996-02-27 Internatl Business Mach Corp <Ibm> メモリバッファ管理方法及びシステム
JPH0855055A (ja) * 1994-06-10 1996-02-27 Matsushita Electric Ind Co Ltd ディスク制御装置
JPH0869359A (ja) * 1994-08-29 1996-03-12 Hitachi Ltd ディスクアレイ装置
JPH08149420A (ja) * 1994-11-18 1996-06-07 At & T Corp ビデオビットストリームの伝送方法および装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1003166B1 (en) * 1993-12-24 2010-03-17 Sony Corporation Information data recording/reproducing apparatus and information data processing system

Patent Citations (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS60117326A (ja) * 1983-11-30 1985-06-24 Toshiba Corp 画像デ−タ分割記憶装置
JPH01112460A (ja) * 1987-10-27 1989-05-01 Nec Corp 入出力制御方式
JPH01236488A (ja) * 1988-03-16 1989-09-21 Matsushita Electric Ind Co Ltd 書換可能型光ディスク管理システム
JPH03177943A (ja) * 1989-12-07 1991-08-01 Tokyo Electric Co Ltd データ端末装置
JPH05265661A (ja) * 1992-01-23 1993-10-15 Hitachi Ltd ディスク処理装置
JPH06161934A (ja) * 1992-11-27 1994-06-10 Toshiba Corp ディスク制御装置
JPH06259198A (ja) * 1993-03-09 1994-09-16 Hitachi Ltd ディスク装置システム
JPH0764733A (ja) * 1993-08-26 1995-03-10 Nippon Telegr & Teleph Corp <Ntt> 多重読書き方法
JPH07230669A (ja) * 1993-12-24 1995-08-29 Sony Corp 情報データ記録再生装置及び情報データ処理システム
JPH07244642A (ja) * 1994-03-04 1995-09-19 Sanyo Electric Co Ltd 並列処理計算機
JPH07325669A (ja) * 1994-05-31 1995-12-12 Mitsubishi Electric Corp ディスク管理方法
JPH0855055A (ja) * 1994-06-10 1996-02-27 Matsushita Electric Ind Co Ltd ディスク制御装置
JPH0855137A (ja) * 1994-07-26 1996-02-27 Internatl Business Mach Corp <Ibm> メモリバッファ管理方法及びシステム
JPH0869359A (ja) * 1994-08-29 1996-03-12 Hitachi Ltd ディスクアレイ装置
JPH08149420A (ja) * 1994-11-18 1996-06-07 At & T Corp ビデオビットストリームの伝送方法および装置

Cited By (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2002037490A1 (en) * 2000-10-30 2002-05-10 Matsushita Electric Industrial Co., Ltd. Av stream recording/reproducing device, av stream recording device, av stream recording/reproducing method, av stream recording method
JP2006506650A (ja) * 2002-11-18 2006-02-23 インターナショナル リモート イメイジング システムズ インコーポレイテッド マルチレベルコントローラシステム
US8447417B2 (en) 2002-11-18 2013-05-21 Iris International, Inc. Multi-level controller system and method
JP4754828B2 (ja) * 2002-11-18 2011-08-24 イリス インターナショナル インコーポレイテッド マルチレベルコントローラシステム
JP2006513521A (ja) * 2003-01-17 2006-04-20 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ ディスクアクセスのためのパワー効率の良いスケジューリング
US7644193B2 (en) 2003-12-19 2010-01-05 Panasonic Corporation Recording device control apparatus
WO2005059757A1 (ja) * 2003-12-19 2005-06-30 Matsushita Electric Industrial Co.,Ltd. 記録デバイス制御装置
JPWO2005059757A1 (ja) * 2003-12-19 2007-12-13 松下電器産業株式会社 記録デバイス制御装置
JP4668794B2 (ja) * 2003-12-19 2011-04-13 パナソニック株式会社 記録デバイス制御装置
US7647455B2 (en) 2004-04-15 2010-01-12 Sony Corporation Information processing apparatus and method, program, and program recording medium
JP2007087528A (ja) * 2005-09-22 2007-04-05 Fujitsu Ltd 記憶装置、記憶装置の制御方法および記憶装置に用いられる制御プログラム
JP2007166032A (ja) * 2005-12-09 2007-06-28 Ntt Communications Kk パケット通信装置及びそのプログラム
WO2009119633A1 (ja) * 2008-03-26 2009-10-01 日本電気株式会社 データ通信処理装置及び方法
JP2009282648A (ja) * 2008-05-21 2009-12-03 Fujitsu Ltd ストレージ装置、ディスクコントローラ、及びコマンド発行制御方法
US8145834B2 (en) 2008-05-21 2012-03-27 Fujitsu Limited Storage apparatus, disk controller, and command issue control method
JP2012043331A (ja) * 2010-08-23 2012-03-01 Nec Corp データ処理装置、データ処理方法、および、コンピュータ・プログラム
US20160142335A1 (en) 2014-11-19 2016-05-19 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
JP2016099746A (ja) * 2014-11-19 2016-05-30 富士通株式会社 ストレージ管理装置、ストレージ管理方法及びストレージ管理プログラム
US10277676B2 (en) 2014-11-19 2019-04-30 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
US10037162B2 (en) 2015-06-15 2018-07-31 Fujitsu Limited Storage management device, storage management method, and computer-readable recording medium
CN113727878A (zh) * 2019-04-16 2021-11-30 株式会社电装 车辆用装置、车辆用装置的控制方法
CN113727878B (zh) * 2019-04-16 2024-05-14 株式会社电装 车辆用装置、车辆用装置的控制方法

Also Published As

Publication number Publication date
EP0805593A3 (en) 1998-08-05
EP0805593A2 (en) 1997-11-05

Similar Documents

Publication Publication Date Title
JPH10275059A (ja) 記憶デバイス制御装置及び管理システム
US5956321A (en) Stream scheduling system for real time stream server
US5708796A (en) Method of retrieving continuous and non-continuous media data from a file system
US6078998A (en) Real time scheduling of prioritized disk requests
US5754882A (en) Method for scheduling I/O transactions for a data storage system to maintain continuity of a plurality of full motion video streams
EP1262062B1 (en) A disk scheduling system with reordering of a bounded number of requests
US6023720A (en) Simultaneous processing of read and write requests using optimized storage partitions for read and write request deadlines
US5944792A (en) Data transfer device with computed start times for data blocks
EP1152342B1 (en) Access control device and method for controlling access to recording medium
US7522605B2 (en) Data packet handling in computer or communication systems
US6871011B1 (en) Providing quality of service for disks I/O sub-system with simultaneous deadlines and priority
US8320379B2 (en) Arbiter circuit and method of carrying out arbitration
CN1182237A (zh) 媒体服务器数据存取的方法及装置
JPH0918823A (ja) ビデオサービス提供方法及びビデオサーバ
KR102719059B1 (ko) 다중 스트림 솔리드 스테이트 드라이브 서비스 품질 관리
CN119781696B (zh) 多层堆叠存储器的数据交互方法、装置、设备及存储介质
CN101118477A (zh) 一种提高磁盘数据访问效率的方法
AU2012250285B2 (en) Communication management system, communication management method, and program
EP0737929B1 (en) Stream scheduling system for real time stream server
US9166804B2 (en) Packet transmission control device, packet transmission control method, and program
US8635256B2 (en) Network filesystem asynchronous I/O scheduling
JP2006350828A (ja) ストリーム制御装置
JPH08152976A (ja) 記憶装置のアクセス方法
Pan et al. A buffer-inventory-based dynamic scheduling algorithm for multimedia-on-demand servers
KR100299336B1 (ko) 메모리제어장치

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050607

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051011