(57)【要約】【課題】限定された領域にしか同時にはアクセスしない特徴を持つ家庭用のＡＶストレージディスクアレイ装置の電源が、従来の設計では、ピーク時の電力を賄うために大型になってしまう。【解決手段】アクセスが終了したハードディスクを遅滞なく回転を停止、又は電源をオフにすること、及び入出力数の制限をアクセスされるディスクの台数で行なう。これにより、同時に稼動するハードディスクの台数が制限されるため、電源の設計性能を低く抑えることができ、結果的に筐体の小型化、省エネ化を実現することができる。【選択図】図１
2005063591.tif 000002
【特許請求の範囲】
【請求項１】
各ディスクのデータ記録状況と空き容量及び稼動状況を管理するディスク管理テーブル、及び、
各ディスクのデータ入出力状況を管理する入出力管理テーブルを有し、
書き込みモードでファイルのオープン要求を受けたときには、
ディスク管理テーブルを参照して所定のアルゴリズムで各ディスクの空き容量から書き込み対象のディスクを決定し、
ディスク管理テーブルを参照して、書き込み対象のディスクが稼動中になっても最大同時稼動数を越えないと判定したときには、
書き込み対象のディスク上のファイルシステムに対して書き込みモードでファイルをオープンし、
ディスク管理テーブル及び入出力管理テーブルを更新し、
書き込み要求に応じてデータを書き込み、
書き込み対象のファイルに対してクローズ要求が来たときには、クローズ操作を実行し、
完了後にディスク管理テーブル及び入出力管理テーブルを再更新し、
書き込み対象のディスクに入出力が残存していなければ書き込み対象のディスクの回転を止めて省電力状態にし
読み出しモードでファイルのオープン要求を受けたときには、
ディスク管理テーブルを参照して読み出し対象のディスクを特定し、
ディスク管理テーブルを参照して、読み出し
対象のディスクが稼動中になっても最大同時稼動数を越えないと判定したときには、
読み出し対象のファイルを読み出しモードでファイルをオープンし、
ディスク管理テーブル及び入出力管理テーブルを更新し、
読み出し要求に応じてデータを読み出し、
読み出し対象のファイルに対してクローズ要求が来たときには、クローズ操作を実行し、
完了後にディスク管理テーブル及び入出力管理テーブルを再更新し、
読み出し対象のディスクに入出力が残存していなければ読み出し対象のディスクの回転を止めて省電力状態にする
ことを特徴とするディスクアレイ装置。
【請求項２】
ファイル入出力のクローズ完了後、ディスク管理テーブルを再更新して対象のディスクタイムアウト待機状態とし、
所定時間経過までに同一のディスクに対する入出力要求が発生しない場合、もしくは、いずれかのディスクに対する入出力要求が発生した場合にタイムアウト状態を解除して当該ディスクの回転を止めて省電力状態にする
ことを特徴とする、請求項１記載のディスクアレイ装置。
【請求項３】
ディスク管理テーブルは、複数のディスクにまたがってひとつのファイルを記録し読み出すことが可能な形式とし、
読み出し要求位置が異なるディスクから読み出す位置に到達するか、又は、所定のデータ量をシーケンシャルに読み出すと異なるディスクから読み出すことになる位置に到達したときに、
続きの読み出し対象のディスクから、対象のファイルを読み出しモードでオープンし、
入出力管理テーブルを再更新し、
読み出し対象のディスクに入出力が残存していなければ
読み出し位置が続きの読み出し対象ディスクに移った時点で、最初のディスクの回転を止めて省電力状態にする
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項４】
プレイリストによる再生指定が可能なコマンド体系を有し、
読み出し要求位置が、所定のデータ量をシーケンシャルに読み出すとプレイリストの次のデータを読み出す位置に到達したときに、
続きの読み出し対象のディスクから、対象のファイルを読み出しモードでオープンし、
入出力管理テーブルを再更新し、
読み出し対象のディスクに入出力が残存していなければ
読み出し位置が次のデータに移った時点で、最初のディスクの回転を止めて省電力状態にする
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項５】
パリティディスクを有し、
パリティディスクの状態も含めてディスク管理テーブルで管理する
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項６】
ディスクアレイ全体で、各ディスクに分散したパリティブロックを有し、
パリティブロックの状態も含めてディスク管理テーブルで管理する
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項７】
ディスクから高速に読み出したデータを蓄積して読み出し要求に応えるバッファメモリを有し、
ディスク上に記録された特定のファイルの読み出しが完了したら、読み出し要求が未到着の領域をバッファメモリに残して、
ディスクに対するファイル入力をクローズし、
入出力管理テーブルを再更新し、
読み出し対象のディスクに入出力が残存していなければ
対象のディスクの回転を止めて省電力状態にする
ことを特徴とする請求項１記載のディスクアレイ装置。
【請求項８】
読み出し要求が完了する時点より所定の時間さかのぼって、新しいファイルのオープン要求を待ち行列に入れ、
ディスクに対するファイル入力をクローズし、
入出力管理テーブルを再更新した時点で、
オープン要求の可否を判定する
ことを特徴とする請求項１記載のディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、消費電量が少なく、小型化、低コスト化に貢献するディスクアレイ装置に関するものである。
【背景技術】
【０００２】
ディスクアレイ装置は、大容量のストレージとして主に業務用に使用されている。現在家庭用のＡＶデータストレージはＨＤＤレコーダに代表されるようにハードディスク１基または２基で構成されているが、将来的には家庭用でも大容量記録を行うためにディスクアレイ装置が用いられると考えられる。
【０００３】
家庭用にディスクアレイ装置を導入するにあたっての問題は、電源容量と筐体のサイズである。ハードディスク自体は小型化されていても、最大消費電力を賄うための電源を用意する設計では、めったに起こらない最大消費電力を供給するために大型の電源を使用する必要があり、ディスクアレイ装置が大型になってしまう。
【０００４】
業務用のディスクアレイ装置と異なり、家庭用のディスクアレイ装置の同時アクセス数は少なくてもよく、同時アクセス数が１本でも十分な場合もある。データの配置を工夫すれば、ディスクアレイ装置の管理下にあるハードディスクの全てが起動状態にある必要はなく、１台ないし２台のハードディスクさえ稼動していれば、要求される性能を満たすことになる。
【０００５】
ディスクアレイ装置の電源を小型化する方法としては、ディスクの起動タイミングをずらす方法がある。これはハードディスク電源投入直後から回転を開始するまでの時間について、ディスクごとに異なる設定値を与え、回転開始時の生じる電力消費のピークが重ならないようにするものであり、業務用のハードディスクユニットには一般的に備わっている機能である。しかし、この設定だけでは、起動タイミングがずれるだけで、全てのディスクが稼動状態になってしまうので、全ディスクが稼動しているという前提での電源設計が必要になる。
【０００６】
もうひとつの一般的な方法は、一定時間アクセスのないハードディスクについては、ディスクの回転を停止するか、電源自体をオフにすることにより、次にアクセスが発生するまでの時間の電力消費を抑えるものである（例えば、特許文献１参照。）。しかしながら、この方法を用いても、一定時間アクセスがないと判断するまでディスクは稼動中となる。
【０００７】
図２にタイムアウトによってディスクの回転を停止させるディスクアレイ装置のディスクの稼動状態を示す。ＤＡＴＡ２０１がディスク１、ＤＡＴＡ２０２がディスク２に記録されているものとする。タイミングＡの時点では、ディスク２、ディスク３の入出力はないものの、以前の入出力のタイムアウト計測中であり、ディスク２、ディスク３は稼動中である。タイミングＢではディスク１が稼動を開始しており、３台のディスクが同時に稼動している。タイミングＣでは、ディスク２、ディスク３はタイムアウトにより停止しており、１台のみの稼動である。タイミングＣではディスク２が稼動して２０２にアクセスされている一方でディスク１に稼動中である。
【特許文献１】特開２０００−２９３３１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
解決しようとする問題点は、限定された領域にしか同時にはアクセスしない特徴を持つ家庭用のＡＶストレージディスクアレイ装置の電源が、従来の設計では、ピーク時の電力を賄うために大型になってしまう点である。
【課題を解決するための手段】
【０００９】
請求項１記載の本発明は、アクセスが終了したハードディスクを遅滞なく回転を停止、または電源をオフにすること、及び、入出力数の制限をアクセスされるディスクの台数で行うことを最も主要な特徴とする。
【００１０】
請求項２記載の本発明は、請求項１記載の本発明の手段に加えて、タイムアウトを計測することを特徴とする。
【００１１】
請求項３記載の本発明は、請求項１記載の本発明の手段に加えて、複数のディスクにまたがって記録された大きなサイズのデータを読み出す際に、ディスクの切り替わり点への到達に先行して、続きのデータが記録されたディスクを稼動状態にすることを特徴とする。
【００１２】
請求項４記載の本発明は、請求項１記載の本発明の手段に加えて、複数のディスクに夫々記録されたファイルを順序付けて連続して読み出す際に、ディスクの切り替わり点への到達に先行して、次に読み出すファイルが記録されたディスクを稼動状態にすることを特徴とする。
【００１３】
請求項５記載の本発明は、請求項１記載の本発明の手段に加えて、ディスクアレイにパリティディスクを設け、パリティディスクも含めディスクの停止、稼動を制御することを特徴とする。
【００１４】
請求項６記載の本発明は、請求項１記載の本発明の手段に加えて、ディスクアレイに、各ディスクに分散したパリティ領域を設け、パリティブロックへのアクセスも含めて、夫々のディスクの停止、稼動を制御することを特徴とする。
【００１５】
請求項７記載の本発明は、請求項１記載の本発明の手段に加えて、バッファメモリを用いて、データを先読みし、ディスクからデータの読み出しが完了したら、ディスクを停止して、現在のデータの読み出し要求を処理中であっても、新たなオープン要求に応えることを特徴とする。
【００１６】
請求項８記載の本発明は、請求項１記載の本発明の手段に加えて、バッファメモリを用いて、データを先読みし、ディスクからデータの読み出しが完了したら、ディスクを停止すると共に、現在のデータの読み出し要求が完了すると想定される時間から所定時間前に到達した、新たなオープン要求を待ち行列に入れて、現在のデータの読み出しが完了したらディスクを停止して、新たなオープン要求に応えることを特徴とする。
【発明の効果】
【００１７】
請求項１記載の本発明のディスクアレイ装置は、同時に稼動するハードディスクの台数が制限されるため、電源の設計性能を低く抑えることができ、結果的に筐体の小型化、省エネ化を実現することができる。
【００１８】
請求項２記載の本発明のディスクアレイ装置は、請求項１記載の本発明の効果に加えて、同一のディスクに対して、ファイルの読み出し終了後、僅かな間隔をあけてファイルのオープン要求が発生した場合に、直ちにその要求に応えることができる。
【００１９】
請求項３記載の本発明は、請求項１記載の本発明の効果に加えて、複数のディスクにまたがって記録された大きなサイズのデータを読み出す際に、読み出すディスクが切り替わってもディスクの回転を待つことなく、連続してデータを読み出すことができる。
【００２０】
請求項４記載の本発明は、請求項１記載の本発明の効果に加えて、連続してファイルを読み出す際に、読み出すディスクが切り替わってもディスクの回転を待つことなく、連続してデータを読み出すことができる。
【００２１】
請求項５、および請求項６記載の本発明は、冗長度を持たせたディスクアレイ装置であっても、請求項１記載の本発明ど同等の効果を得ることができる。
【００２２】
請求項７記載の本発明は、現在のデータの読み出し要求を処理中であっても、新たなオープン要求に応えることによって、切り替わり点で稼動ディスク台数を１台も増やす必要がない。
【００２３】
請求項８記載の本発明は、現在のデータの読み出しをディスクから行なっている場合であっても、新たなオープン要求を待ち行列に入れることによって、上位層からは全通電したディスクアレイ装置を使っているのとなんら変わりのないシーケンスで操作することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明の実施の形態を、図面を参照しながら説明する。
【００２５】
（実施の形態１）
図１は本発明のディスクアレイ装置の１実施例を示し、図１においては、ＤＡＴＡ１０１がディスク１、ＤＡＴＡ１０２がディスク２に記録されるものとする。ＤＡＴＡ１０３は書き込みを拒否される。ディスク管理テーブルでは、下表に示す通り、各ディスクの動作状態、空き容量、保持しているデータの名称を管理する、
【００２６】
【表１】
2005063591.tif 000003
【００２７】
入出力管理テーブルでは、下表に示す通り、入出力を実行中のデータと対象のディスクとの関連を管理する。入出力管理テーブルで管理される入出力ディスクの最大同時稼動数を１とする。
【００２８】
【表２】
2005063591.tif 000004
【００２９】
まず、書き込み時の動作について、図１及び図１１を用いて説明する。
【００３０】
タイミングＡの時点では、入出力管理テーブルで管理されている入出力トランザクションは存在しない。
【００３１】
ホストからＤＡＴＡ１０１の書き込みのためにＷＲＩＴＥモードでのＯＰＥＮ要求がファイルシステムに対して行われると（Ｓ１０１）、ファイルシステムは、ディスク管理テーブルから空き容量の最も多いディスクであるディスク１を選択する（Ｓ１０２）。続いて、ファイルシステムは、ディスク１が停止中の場合は（Ｓ１０３）、ディスク管理テーブルで管理されている動作状態のうち停止中でないディスクの合計数が最大同時稼動数未満であることを確認すると（Ｓ１０４）、ディスク管理テーブルのディスク１の動作状態を停止中から稼動中に更新し（Ｓ１０５）、入出力管理テーブルにはＤＡＴＡ１０１のトランザクションを追加し（Ｓ１０６）、ディスク１をＷＡＫＥ  ＵＰする（Ｓ１０７）。ＷＡＫＥ  ＵＰが完了してディスク１からＣＯＭＰＬＥＴＥを受け取ると（Ｓ１０８）、ファイルシステムは、ホストに対してＯＰＥＮの返答であるＯＫを返す（Ｓ１０９）。
【００３２】
以降、ホストからのＷＲＩＴＥ要求に従って、ファイルシステムは、ディスク１に対してＷＲＩＴＥ動作を行う。ホストからＣＬＯＳＥ要求が来ると（Ｓ２０１）、ファイルシステムは、当該トランザクションを終了させ、入出力管理テーブルの当該トランザクションも削除する（Ｓ２０３）。入出力管理テーブル中のディスク１に関するトランザクションが消滅したため、ファイルシステムは、ディスク管理テーブルのディスク１の稼動状態を停止中に更新し（Ｓ２０５）、ディスク１にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させる（Ｓ２０６）。
【００３３】
ＤＡＴＡ１０２の書き込みについてもＤＡＴＡ１０１の書き込みと同様であるが、ＤＡＴＡ１０２の書き込み中にディスク２に記録されたＤＡＴＡ１０３の読み出し要求が発生しており（Ｓ１０１）、このとき、ディスク管理テーブルを参照して得られたＤＡＴＡ１０３の記録場所であるディスク２が停止中で（Ｓ１０３）、かつ、ディスク管理テーブルで管理されている動作状態のうち停止中でないディスクの合計数が最大同時稼動数と同じであることから（Ｓ１０４）、ファイルシステムは、ＯＰＥＮ要求をＲＥＪＥＣＴする（Ｓ１１０）。
【００３４】
次に読み出し時の動作について図３及び図１２を用いて説明する。
【００３５】
図３は読み出し時の一例を示すシーケンス図である。ディスク１にデータ１０１とデータ１１０、ディスク２にデータ１０３、ディスク３にデータ１０２が記録されている。
【００３６】
タイミングＡの時点では、入出力管理テーブルで管理されている入出力トランザクションは存在しない。
【００３７】
ホストからＤＡＴＡ１０１の読み出しのためにＲＥＡＤモードでのＯＰＥＮ要求がファイルシステムに対して行われると（Ｓ１０１）、ファイルシステムは、ディスク管理テーブルを参照して得られたＤＡＴＡ１０１の記録場所であるディスク１を選択する（Ｓ１０２）。
【００３８】
ディスク１が稼動していない場合は（Ｓ１０３）、ファイルシステムは、ディスク管理テーブルで管理されている動作状態のうち停止中でないディスクの合計数が最大同時稼動数未満であることを確認すると（Ｓ１０４）、ディスク管理テーブルのディスク１の動作状態を停止中から稼動中に更新し（Ｓ１０５）、入出力管理テーブルにはＤＡＴＡ１０１のトランザクションを追加し（Ｓ１０６）、ディスク１をＷＡＫＥ  ＵＰする（Ｓ１０７）。ディスク１のＷＡＫＥ  ＵＰが完了してディスク１からＣＯＭＰＬＥＴＥを受け取ると（Ｓ１０８）、ファイルシステムは、ホストに対してＯＰＥＮの返答であるＯＫを返す（Ｓ１０９）。
【００３９】
以降、ホストからのＲＥＡＤ要求に従って、ファイルシステムは、ディスク１に対してＲＥＡＤ動作を行う。
【００４０】
データ１０１のＲＥＡＤ動作中に、ホストからデータ１１０の読み出しのために、ＲＥＡＤモードでのＯＰＥＮ要求がファイルシステムに対して行われると（Ｓ１０１）、ファイルシステムは、ディスク管理テーブルを参照して得られたＤＡＴＡ１１０の記録場所であるディスク１を選択し（Ｓ１０２）、ディスク１が稼動中である場合は（Ｓ１０３）、ディスク１のＷＡＫＥ  ＵＰは不要であり、出力管理テーブルにはＤＡＴＡ１１０のトランザクションを追加し（Ｓ１１０）、直ちにＯＫを返す（Ｓ１０９）。
【００４１】
ホストからデータ１０１の読み出しに対するＣＬＯＳＥ要求が来ると（Ｓ２０１）、当該トランザクションは終了し、ファイルシステムは、入出力管理テーブルからＤＡＴＡ１０１のトランザクションを削除するが（Ｓ２０３）、他にディスク１を使用しているＤＡＴＡ１１０のトランザクションが存在するので（Ｓ２０４）、ＳＴＡＮＤ  ＢＹは行わない。
【００４２】
ホストからデータ１１０の読み出しに対するＣＬＯＳＥ要求が来ると、当該トランザクションは終了し、ファイルシステムは、入出力管理テーブルの当該トランザクションも削除する。入出力管理テーブル中のディスク１に関するトランザクションが消滅したため、ファイルシステムは、ディスク１にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させ、ディスク管理テーブルのディスク１の稼動状態を停止中に更新する。
【００４３】
（実施の形態２）
図４は本発明のディスクアレイ装置の１実施例を示し、図４においては、ＤＡＴＡ１０１、ＤＡＴＡ１１０、ＤＡＴＡ１１１がディスク１に記録されている。本実施例は請求項２記載の発明の実施の形態である。
【００４４】
本実施例では、実施の形態１と異なる部分である、ファイル入出力完了時の動作について図４、図１３及び図１４を用いて説明する。
【００４５】
ホストからデータ１０１の読み出しに対するＣＬＯＳＥ要求が来ると（Ｓ２０１）、ファイルシステムは、当該トランザクションを終了させ、入出力管理テーブルの当該トランザクションも削除する（Ｓ２０３）。
【００４６】
入出力管理テーブル中のディスク１に関するトランザクションが消滅したため（Ｓ２０４）、ファイルシステムは、タイマーを起動し（Ｓ３０１）、ディスク管理テーブルのディスク１の動作状態をタイムアウト待機状態にして（Ｓ３０２）、所定時間の経過を待つ（Ｓ３０３）。
【００４７】
所定時間の経過を待たずして、ホストから新たにＤＡＴＡ１１０の読み出しのためにＲＥＡＤモードでのＯＰＥＮ要求がファイルシステムに対して行われると、ファイルシステムは、ディスク管理テーブルを参照して得られたＤＡＴＡ１１０の記録場所であるディスク１を選択する（Ｓ４０１）。
【００４８】
ファイルシステムは、ディスク１の動作状態をタイムアウト待機中から稼動中に変更し（Ｓ４０３）、入出力管理テーブルにはＤＡＴＡ１１０のトランザクションを追加し（Ｓ１１０）、ＯＫを返す（Ｓ１０９）。
【００４９】
もし、ＤＡＴＡ１１０の記録場所がディスク１以外の場合で当該ディスクが停止中の場合、ファイルシステムは、ディスク管理テーブルを参照し、動作状態が停止中でないディスクの総数が最大同時稼動数以上になる場合には（Ｓ１０４）、タイムアウト待機中のディスクを検索し（Ｓ４０４）、該当するディスク１の稼動状態を停止中に更新し（Ｓ４０５）、ＳＴＡＮＤ  ＢＹを送って省電力モードに移行させる（Ｓ４０６）。さらに、ファイルシステムは、ＤＡＴＡ１１０の入出力を行うディスクの動作状態を稼動中に変更し（Ｓ１０５）、入出力管理テーブルにはＤＡＴＡ１１０のトランザクションを追加し（Ｓ１０６）、当該ディスクをＷＡＫＥ  ＵＰする（Ｓ１０７）。ＷＡＫＥ  ＵＰが完了して当該ディスクからＣＯＭＰＬＥＴＥを受け取ると（Ｓ１０８）、ファイルシステムは、ホストに対してＯＰＥＮの返答であるＯＫを返して（Ｓ４０７）、ディスク１のタイムアウト状態を継続する（Ｓ３０３）。
【００５０】
図４では、ＤＡＴＡ１１０は、ディスク１からの読み出しとなるため、ファイルシステムは、ＯＰＥＮ要求に対するＯＫを直ちに返す。
【００５１】
ＤＡＴＡ１１０の読み出しが完了してＣＬＯＳＥ要求を受け取ったときにも同様にディスク管理テーブルのディスク１の動作状態をタイムアウト待機状態にして所定時間の経過を待つ。このときはタイムアウト経過まで新しいＯＰＥＮ要求が発生していないので、タイムアウト時間経過後に、ファイルシステムは、ディスク管理テーブルのディスク１の稼動状態を停止中に更新し（Ｓ３０４）、ディスク１にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させる（Ｓ３０５）。
【００５２】
その後、ホストからＤＡＴＡ１１１の読み出しのためにＲＥＡＤモードでのＯＰＥＮ要求がファイルシステムに対して行われると、ファイルシステムは、改めてディスク１をＷＡＫＥ  ＵＰする。
【００５３】
（実施の形態３）
図５は本発明のディスクアレイ装置の１実施例を示し、図５においては、ＤＡＴＡ１０１の前半部分がディスク１、後半部分がディスク２に記録されている。本実施例は請求項３記載の発明の実施の形態である。
【００５４】
本実施例のディスク管理テーブルを下表に示す。データ管理の項目に分割サイズ、順序、分割数があり、ファイルシステムは、対象のデータの分割数、各ディスクに記録されたデータの順序、分割サイズを理解して、ディスクをまたがって記録されたデータを認識することができる。
【００５５】
【表３】
2005063591.tif 000005
【００５６】
本実施例の入出力管理テーブルを下表に示す。本実施例の入出力管理テーブルでは、対象のディスクで読み出しを完了するまでの予測時間が残時間フィールドとして用意されている。
【００５７】
【表４】
2005063591.tif 000006
【００５８】
本実施例では、ＤＡＴＡ１０１の読み出し時の動作について図５、図１５及び図１６を用いて説明する。
【００５９】
ホストからＤＡＴＡ１０１の読み出しのためにＲＥＡＤモードでのＯＰＥＮ要求がファイルシステムに対して行われると、ファイルシステムは、ディスク管理テーブルを参照して得られたＤＡＴＡ１０１の先頭部分が記録されたディスクであるディスク１を選択する。
【００６０】
ホストに対してＯＫを返すまでの動作は、実施の形態１と同様であるので省略する。
以降、ホストからのＲＥＡＤ要求に従って、ファイルシステムは、ディスク１に対してＲＥＡＤ動作を行う。
【００６１】
ファイルシステムはＲＥＡＤ要求によるデータ転送の平均レートを計算し（Ｓ５０２）、残時間を算出して（Ｓ５０３）、入出力管理テーブルを更新する（Ｓ５０４）。ディスク１上のＤＡＴＡ１０１読み出しの残時間が所定の時間、例えば１０秒を切ったとき（Ｓ６０１）、ファイルシステムは、ディスク管理テーブルを参照してディスク上のＤＡＴＡ１０１の続きのファイルがディスク２にあることを識別し（Ｓ６０２）、ディスク２が稼動していない場合（Ｓ１０３）、ディスク管理テーブルで管理されている動作状態のうち停止中でないディスクの合計数が最大同時稼動数未満であることを確認すると（Ｓ１０４）、ディスク管理テーブルのディスク２の動作状態を停止中から稼動中に更新し（Ｓ１０５）、入出力管理テーブルにはＤＡＴＡ１０１のトランザクションを追加し（Ｓ１０６）、ディスク２をＷＡＫＥ  ＵＰする（Ｓ１０７）。
【００６２】
ファイルシステムは、ホストからのＲＥＡＤ要求に従って、ディスク１上のＤＡＴＡ１０１のデータの読み出しが完了すると、以降の読み出しをディスク２上のＤＡＴＡ１０１から行う。このとき読み出し位置は、ディスク１のＤＡＴＡ１０１のサイズ分のオフセットを差し引いた値となる。ディスク１上のＤＡＴＡ１０１を読み出すトランザクションは終了するので、ファイルシステムは、入出力管理テーブルの当該トランザクションを削除する。入出力管理テーブル中のディスク１に関するトランザクションが消滅したため、ファイルシステムは、ディスク１にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させ、ディスク管理テーブルのディスク１の稼動状態を停止中に更新する。
【００６３】
（実施の形態４）
図６は本発明のディスクアレイ装置の１実施例を示し、図６においては、ＤＡＴＡ１０１がディスク１、ＤＡＴＡ１０２がディスク３に記録されている。本実施例は請求項４記載の発明の実施の形態である。
【００６４】
本実施例では、ＤＡＴＡ１０１、ＤＡＴＡ１０２の順でファイルを読み出す際の動作について図６、図１５及び図１７を用いて説明する。
【００６５】
ファイルシステムは、ホストから下表に示すプレイリストを受け取り、ＤＡＴＡ１０１、ＤＡＴＡ１０２の再生順序を保持する。
【００６６】
【表５】
2005063591.tif 000007
【００６７】
ホストからＤＡＴＡ１０１の読み出しのためにＲＥＡＤモードでのＯＰＥＮ要求がファイルシステムに対して行われてから、ＲＥＡＤ動作までの動作は実施の形態１と同様であるので省略する。
【００６８】
ファイルシステムはＲＥＡＤ要求によるデータ転送の平均レートを計算し（Ｓ５０２）、残時間を算出して（Ｓ５０３）、入出力管理テーブルを更新する（Ｓ５０４）。ディスク１上のＤＡＴＡ１０１読み出しの残時間が所定の時間、例えば１０秒を切ったとき（Ｓ６０１）、ファイルシステムは、プレイリストを参照して、ＤＡＴＡ１０１の次に再生するファイルがＤＡＴＡ１０２であることを認識する（Ｓ７０１）。次にファイルシステムは、ディスク管理テーブルを参照してＤＡＴＡ１０２がディスク３にあることを識別し（Ｓ７０２）、ディスク３が稼動していない場合（Ｓ１０３）、ディスク管理テーブルで管理されている動作状態のうち停止中でないディスクの合計数が最大同時稼動数未満であることを確認すると（Ｓ１０４）、ディスク管理テーブルのディスク３の動作状態を停止中から稼動中に更新し（Ｓ１０５）、入出力管理テーブルにはＤＡＴＡ１０２のトランザクションを追加し（Ｓ１０６）、ディスク３をＷＡＫＥ  ＵＰする（Ｓ１０７）。
【００６９】
ディスク３のＷＡＫＥ  ＵＰが完了した後に、ホストからＤＡＴＡ１０２のＯＰＥＮ要求を受け取ると、ファイルシステムは直ちにＯＫを返す。ＷＡＫＥ  ＵＰが完了していない場合は、完了した後にＯＫを返す。
【００７０】
ファイルシステムは、ホストからのＲＥＡＤ要求に従って、ディスク３上のＤＡＴＡ１０２を読み出す。ＤＡＴＡ１０１に対するＣＬＯＳＥ要求を受け取ると、ディスク１上のＤＡＴＡ１０１を読み出すトランザクションは終了するので、ファイルシステムは、入出力管理テーブルの当該トランザクションを削除する。入出力管理テーブル中のディスク１に関するトランザクションが消滅したため、ファイルシステムは、ディスク１にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させ、ディスク管理テーブルのディスク１の稼動状態を停止中に更新する。
【００７１】
（実施の形態５）
図７は本発明のディスクアレイ装置の１実施例を示し、図７においては、ＤＡＴＡ１０１がディスク１、ＤＡＴＡ１０２がディスク２に記録されている。またＤＡＴＡ１０１のパリティＰ１０１、データ２０２のパリティＰ１０２は、パリティディスクであるディスク３に記録されている。本実施例は請求項５記載の発明の実施の形態である。
【００７２】
本実施例の最も顕著な動作を表すものとして、書き込み時の動作について説明する。入出力管理テーブルで管理される入出力ディスクの最大同時稼動数を２とする。タイミングＡの時点では、入出力管理テーブルで管理されている入出力トランザクションは存在しない。
【００７３】
ホストからＤＡＴＡ１０１の書き込みのためにＷＲＩＴＥモードでのＯＰＥＮ要求がファイルシステムに対して行われると、ファイルシステムは、ディスク管理テーブルから空き容量の最も多いディスクであるディスク１をデータ書き込み用のディスクとして選択する。
【００７４】
次に、ファイルシステムは、ディスク管理テーブルで管理されている動作状態のうち停止中でないディスクの合計数を参照し、ディスク１とパリティディスクであるディスク３が稼動しても最大同時稼動数未満であることを確認すると、ディスク１、ディスク３が稼動中でなければ、夫々のディスクをＷＡＫＥ  ＵＰする。ディスク管理テーブルのディスク１お呼びディスク３の動作状態は停止中から稼動中に更新され、入出力管理テーブルには、ディスク１とディスク３に対するＤＡＴＡ１０１のトランザクションが追加される。ディスク１のＷＡＫＥ  ＵＰが完了してディスク１からＣＯＭＰＬＥＴＥを受け取ると、ファイルシステムは、ホストに対してＯＰＥＮの返答であるＯＫを返す。
【００７５】
以降、ホストからのＷＲＩＴＥ要求に従って、ファイルシステムは、ディスク１のデータ書き込み領域と、ディスク３の対応するパリティ領域から、データとパリティを読み出し、ＤＡＴＡ１０１の記録によって変更になるパリティを再計算して、ディスク３に書き戻す。ディスク１のデータＸ１、ディスク２のデータＸ２、ディスク３のパリティＰの関係は下記の式で表現される。
【００７６】
ＤＡＴＡ１０１をディスク１に書き込む領域に元々記録されていたデータと関連するパリティをＸ１Ａ、ＰＡ、書き込まれるＤＡＴＡ１０１のデータをＸ１Ｂ、書き戻すパリティをＰＢとすると書き戻すパリティＸＢは下記の式により求める。ディスク２のデータＸ２は関係しないのでディスク２を稼動中にする必要はない。
ＰＢ  ＝  Ｘ１Ａ  ＸＯＲ  Ｘ１Ｂ  ＸＯＲ  ＰＡ
ホストからＣＬＯＳＥ要求が来ると、ファイルシステムは、当該トランザクションを終了させ、入出力管理テーブルの当該トランザクションも削除する。入出力管理テーブル中のディスク１とディスク３に関するトランザクションが消滅したため、ファイルシステムは、ディスク１とディスク３にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させ、ディスク管理テーブルのディスク１の稼動状態を停止中に更新する。
【００７７】
ＤＡＴＡ１０２の書き込みについてもＤＡＴＡ１０１の書き込みと同様であるが、対象となるディスクがディスク２とディスク３になる。
【００７８】
（実施の形態６）
図８は本発明のディスクアレイ装置の１実施例を示し、図８においては、ＤＡＴＡ１０１がディスク１、ＤＡＴＡ１０２がディスク２に記録されている。またＤＡＴＡ１０１のパリティＰ１０１はディスク２、データ２０２のパリティＰ１０２はディスク３に記録されている。本実施例は請求項６記載の発明の実施の形態である。
【００７９】
本実施例については、実施の形態５との違いのみを説明する。実施の形態５では、パリティはディスク３に記録されるが、本実施例ではパリティを分散して配置している。本実施例のパリティの配置を下表に示す。
【００８０】
【表６】
2005063591.tif 000008
【００８１】
（実施の形態７）
図９は本発明のディスクアレイ装置の１実施例を示し、図９においては、ＤＡＴＡ１０１がディスク１、ＤＡＴＡ１０２がディスク３に記録されている。ファイルシステムと各ディスクとの間には、ディスクから高速にデータを読み出して、ホストからの要求に応じてデータを転送することができるバッファメモリが配置されている。本実施例は請求項７記載の発明の実施の形態である。
【００８２】
読み出し時の動作についてＤＡＴＡ１０１の読み出しの完了とＤＡＴＡ１０２の読み出し開始の付近のシーケンスについて図９及び図１８を用いて説明する。タイミングＡの時点では、入出力管理テーブルで管理されている入出力トランザクションは存在しない。
【００８３】
ファイルシステムは、ディスク１に対してＤＡＴＡ１０１のＲＥＡＤ動作を行っており、メモリ上にバッファリングする（Ｓ８０２）。ホストからのＲＥＡＤ要求に従って、ファイルシステムは、メモリから対象のデータを読み出して転送する。
【００８４】
ディスク１に対するＤＡＴＡ１０１のＲＥＡＤ動作が完了すると、ファイルシステムは、入出力管理テーブルからＤＡＴＡ１０１のトランザクションを削除する（Ｓ２０３）。以降のＲＥＡＤ要求については、メモリから対象のデータを読み出して転送する。
【００８５】
入出力管理テーブルからＤＡＴＡ１０１のトランザクションを削除した時点で、入出力管理テーブル中のディスク１に関するトランザクションが消滅したため（Ｓ２０４）、ファイルシステムは、ディスク管理テーブルのディスク１の稼動状態を停止中に更新し（Ｓ２０５）、ディスク１にＳＴＡＮＤ  ＢＹを送って省電力モードに移行させる（Ｓ２０６）。
【００８６】
この結果、ＤＡＴＡ１０１のＲＥＡＤ要求には引き続きメモリから応答している状態であっても、新たなＤＡＴＡ１０２の要求に並行して応答することが可能になり、ファイルシステムは、ＤＡＴＡ１０２のオープン動作、メモリ読み込み動作、ＲＥＡＤ動作を行うことができる。
【００８７】
（実施の形態８）
図１０は本発明のディスクアレイ装置の１実施例を示し、図１０においては、ＤＡＴＡ１０１がディスク１、ＤＡＴＡ１０２がディスク３に記録されている。ファイルシステムと各ディスクとの間には、ディスクから高速にデータを読み出して、ホストからの要求に応じてデータを転送することができるバッファメモリが配置されている。本実施例は請求項８記載の発明の実施の形態である。
【００８８】
読み出し時のシーケンスについて、実施の形態７と異なる点に重点をおいて図１０及び図１９を用いて説明する。
【００８９】
ファイルシステムはＲＥＡＤ要求によるデータ転送の平均レートを計算し、メモリからのＤＡＴＡ１０１読み出しの残時間が所定の時間、例えば１０秒を切ったときに、待ち行列受付可能なキューの長さを１としてオープン要求を受け付ける。この時点では、ディスク１に対するＤＡＴＡ１０１のＲＥＡＤ動作が完了していなくてもよい。
【００９０】
この時点でＤＡＴＡ１１０に対するオープン要求が発生すると、ファイルシステムは、ディスク３が停止中であることを確認しても直ちにＲＥＪＥＣＴせずに、待ち行列にオープン要求を登録する（Ｓ９０１）。
【００９１】
ディスク１に対するＤＡＴＡ１０１のＲＥＡＤ動作が完了して、ディスク管理テーブルのディスク１の稼動状態が停止中に更新された時点で、待ち行列に入っていたオープン要求が取り出されて評価され（Ｓ９０２）、その結果、ファイルシステムは、ディスク３をＷＡＫＥ  ＵＰさせ（Ｓ１０７）、ホストからのＲＥＡＤ要求に応える（Ｓ１０９）。
【産業上の利用可能性】
【００９２】
ハードディスクレコーダ、ＤＶＤレコーダの増設ディスクストレージ等の、家庭用映像機器、オーディオ機器の大容量ストレージの用途に適用できる。
【図面の簡単な説明】
【００９３】
【図１】実施の形態１の書き込み時の実施方法を示したシーケンス図
【図２】従来のタイムアウトを用いたディスクアレイ装置の動作を示す図
【図３】実施の形態１の読み出し時の実施方法を示したシーケンス図
【図４】実施の形態２の読み出し時の実施方法を示したシーケンス図
【図５】実施の形態３の読み出し時の実施方法を示したシーケンス図
【図６】実施の形態４の読み出し時の実施方法を示したシーケンス図
【図７】実施の形態５の書き込み時の実施方法を示したシーケンス図
【図８】実施の形態６の書き込み時の実施方法を示したシーケンス図
【図９】実施の形態７の読み出し時の実施方法を示したシーケンス図
【図１０】実施の形態８の読み出し時の実施方法を示したシーケンス図
【図１１】実施の形態１のオープン時の動作を示すフローチャート
【図１２】実施の形態１のクローズ時の動作を示すフローチャート
【図１３】実施の形態２のタイムアウト待機中の動作を示すフローチャート
【図１４】実施の形態２のタイムアウト待機中の動作を示すフローチャート
【図１５】実施の形態３及び実施の形態４のレート計算動作を示すフローチャート
【図１６】実施の形態３のディスクをまたがる読み出し動作を示すフローチャート
【図１７】実施の形態４のディスクをまたがる読み出し動作を示すフローチャート
【図１８】実施の形態７及び実施の形態８の読み出し動作を示すフローチャート
【図１９】実施の形態８のオープン要求の処理を示すフローチャート
【符号の説明】
【００９４】
ＤＡＴＡ１０１    ディスクに記録されるＤＡＴＡ
ＤＡＴＡ１０２    ディスクに記録されるＤＡＴＡ
ＤＡＴＡ１０３    ディスクに記録されるＤＡＴＡ
ＤＡＴＡ１１０    ディスクに記録されるＤＡＴＡ
Ｐ１０１    ディスクに記録されるパリティ
Ｐ１０２    ディスクに記録されるパリティ
【図１】
2005063591.tif 000009
【図２】
2005063591.tif 000010
【図３】
2005063591.tif 000011
【図４】
2005063591.tif 000012
【図５】
2005063591.tif 000013
【図６】
2005063591.tif 000014
【図７】
2005063591.tif 000015
【図８】
2005063591.tif 000016
【図９】
2005063591.tif 000017
【図１０】
2005063591.tif 000018
【図１１】
2005063591.tif 000019
【図１２】
2005063591.tif 000020
【図１３】
2005063591.tif 000021
【図１４】
2005063591.tif 000022
【図１５】
2005063591.tif 000023
【図１６】
2005063591.tif 000024
【図１７】
2005063591.tif 000025
【図１８】
2005063591.tif 000026
【図１９】
2005063591.tif 000027