(57)【要約】【課題】  ＲＡＩＤ装置において、記憶しているファイルのＲＡＩＤタイプを容易に変更することができない。【解決手段】  ＲＡＩＤ０からＲＡＩＤ５に変更する場合には、ＨＤＤ制御部２８が、各ＨＤＤが分散して記憶しているファイルを読み出す。パリティ情報生成部２６が、ＨＤＤ制御部２８が読み出したファイルのパリティ情報を生成する。割当制御部２４が、ＨＤＤ制御部２８が読み出したファイルとパリティ情報とを記憶する領域を指定する。ＨＤＤ制御部２８が、割当制御部２４が指定した領域に読み出したファイルとパリティ情報とを記憶させる。また、ＲＡＩＤ５からＲＡＩＤ０に変更する場合には、ＨＤＤ制御部２８が、領域において、記憶しているパリティ情報を消去する。【選択図】  図１
2006338091.tif 000002
【特許請求の範囲】
【請求項１】
複数のハードディスク装置に接続され、前記複数のハードディスク装置に分散してファイルを記憶させるＲＡＩＤ制御装置において、
前記複数のハードディスク装置をそれぞれ複数の領域に並列に分割し、分割した前記領域にファイルと前記ファイルのパリティ情報とを記憶させるハードディスク装置制御手段と、
ファイルを分割し、分割したファイルと前記分割したファイルのパリティ情報とを記憶する領域を指定する割当制御手段と、
指示に応じて、分割されたファイルのパリティ情報を生成するパリティ情報生成手段とを含み、
前記パリティ情報生成手段は、前記ハードディスク装置制御手段によって前記ハードディスク装置が記憶しているファイルが読み出されると、読み出されたファイルのパリティ情報を生成し、
前記割当制御手段は、読み出されたファイルと前記パリティ情報とを記憶する領域を指定し、
前記ハードディスク装置制御手段は、指定された領域に読み出したファイルと前記パリティ情報とを記憶させる
ことを特徴とするＲＡＩＤ制御装置。
【請求項２】
ハードディスク装置制御手段は、ハードディスク装置が記憶しているファイルの記憶形式を所定の記憶形式に変更する場合に、前記ファイルのパリティ情報を消去する
請求項１記載のＲＡＩＤ制御装置。
【請求項３】
ハードディスク装置が記憶しているファイルの領域と、前記領域の状態とを対応づける制御テーブルを含み、
割当制御手段は、前記制御テーブルで、前記ファイルを記憶している領域と、前記領域が前記ファイルのパリティ情報を記憶しているか否かを示す情報とを対応づける
請求項１または請求項２記載のＲＡＩＤ制御装置。
【請求項４】
ハードディスク装置制御手段は、ハードディスク装置における領域をブロックに分割し、
割当制御手段は、制御テーブルで、前記領域と、前記領域が含む分割されたブロックとを対応づけ、前記ブロックと、前記ブロックがファイルまたはパリティ情報を記憶しているか否かを示す情報とを対応づける
請求項３記載のＲＡＩＤ制御装置。
【請求項５】
割当制御手段は、制御テーブルにおいて、ファイルを記憶している領域内のブロックであって、パリティ情報を記憶していないことを示す情報に対応づけられているブロックが所定の数存在することを示していると、前記ブロックを使用して、分割したファイルと前記分割したファイルのパリティ情報とを記憶するように指定する
請求項４記載のＲＡＩＤ制御装置。
【請求項６】
割当制御手段は、制御テーブルで、領域と、前記領域が記憶しているファイルのＲＡＩＤタイプとを対応づける
請求項３から請求項５のうちいずれか１項記載のＲＡＩＤ制御装置。
【請求項７】
複数のハードディスク装置に分散してファイルを記憶させるＲＡＩＤ制御方法において、
前記複数のハードディスク装置をそれぞれ複数の領域に並列に分割し、
ファイルを分割し、
指示に応じて、分割したファイルのパリティ情報を生成し、
分割したファイルと前記分割したファイルのパリティ情報とを記憶する領域を指定し、
指定した前記領域にファイルと前記ファイルのパリティ情報とを記憶させ、
前記ハードディスク装置が記憶しているファイルを読み出し、
読み出したファイルのパリティ情報を生成し、
読み出したファイルと前記パリティ情報とを記憶する領域を指定し、
指定した領域に読み出したファイルと前記パリティ情報とを記憶させる
ことを特徴とするＲＡＩＤ制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のハードディスクドライブに分散してファイルを記憶させるＲＡＩＤ制御装置、およびＲＡＩＤ制御方法に関する。
【背景技術】
【０００２】
複数のハードディスクによって構成されるハードディスクアレイや、複数のハードディスクドライブの信頼性や性能を向上させる手法として、ＲＡＩＤ（Ｒｅｄｕｎｄａｎｔ  Ａｒｒａｙｓ  ｏｆ  Ｉｎｄｅｐｅｎｄｅｎｔ（Ｉｎｅｘｐｅｎｓｉｖｅ）  Ｄｉｓｋｓ）がある。そして、ＲＡＩＤの手法を用いて情報を記憶するハードディスクアレイやハードディスクドライブはＲＡＩＤ装置と呼ばれている。
【０００３】
ＲＡＩＤには、ＲＡＩＤ０からＲＡＩＤ５の各手法（以下、ＲＡＩＤの各手法をＲＡＩＤタイプという）がある。ユーザは、各ハードディスクに論理ボリューム（論理領域）を構築する際に、論理ボリュームごとにＲＡＩＤタイプを設定する。
【０００４】
従来の技術では、論理ボリュームを構築する際にＲＡＩＤタイプを設定すると、その論理ボリュームに記憶させるファイルは全てその論理ボリュームのＲＡＩＤタイプでなければならない。そのため、複数のタイプのＲＡＩＤを使用すると予想される場合には、例えば、信頼性を重視するＲＡＩＤ５の論理ボリュームと、容量効率を重視するＲＡＩＤ０の論理ボリュームとを予め別に作成しておく必要がある。そして、ＲＡＩＤ装置の導入時に将来の使用容量、または、保存容量を予測して、それぞれの論理ボリュームの容量を決定する必要がある。
【０００５】
具体的には、それが唯一であり絶対にデータを消失してはならない重要なファイルを保存するときには、冗長のために余計な記憶容量を使ってもＲＡＩＤ５が選択される。マスタファイルが別にある場合等、ハードディスクドライブの故障時には消失してもよいファイルを保存するときには、記憶容量をできるだけ使わないようにＲＡＩＤ０が選択される。そして、選択されたＲＡＩＤタイプに応じた論理ボリュームにファイルを記憶させる。
【０００６】
しかし、予測した各ＲＡＩＤタイプのファイルを記憶する容量に対して、実際に使用する容量が異なってしまった場合、論理ボリュームの容量変更や再構築をしなければならない。
【０００７】
また、ファイルを入手した時には重要だったのでＲＡＩＤ５を選択していたが、その後重要度が低くなったので記憶容量を削減するためにＲＡＩＤ０に変更したりする場合がある。さらに、ファイルを入手した時には重要ではなかったのでＲＡＩＤ０を選択したが、その後重要になったのでＲＡＩＤ５に変更したりする場合がある。
【０００８】
なお、特許文献１には、ＲＡＩＤ装置が記憶しているファイルごとにＲＡＩＤタイプを設定することができるシステムが記載されているが、ファイルのＲＡＩＤタイプを変更する方法について記載されていない。
【０００９】
特許文献２には、ファイルに冗長性を付加し、ＲＡＩＤタイプを変更することができる装置が記載されている。
【００１０】
【特許文献１】特開２０００−９９２８２号公報  （段落００１５〜００３０、図１）
【特許文献２】特開２００４−２１３０６４号公報  （段落００３７〜００７４、図１）
【発明の開示】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献２に記載されている装置で、ファイルのＲＡＩＤタイプを変更する場合、一旦ファイルを読み出してＲＡＩＤ装置のキャッシュメモリに記憶させ、他の論理ボリュームに他のＲＡＩＤタイプで記憶させるという処理を行わなければならず、時間と手間とがかかる。
【００１２】
そこで、ファイルごとにＲＡＩＤタイプを設定し、設定したＲＡＩＤタイプを容易に変更することができるＲＡＩＤ制御装置、およびＲＡＩＤ制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１３】
本発明によるＲＡＩＤ制御装置は、複数のハードディスク装置に接続され、複数のハードディスク装置に分散してファイルを記憶させるＲＡＩＤ制御装置であって、複数のハードディスク装置をそれぞれ複数の領域に並列に分割し、分割した領域にファイルとファイルのパリティ情報とを記憶させるハードディスク装置制御手段と、ファイルを分割し、分割したファイルと分割したファイルのパリティ情報とを記憶する領域を指定する割当制御手段と、指示に応じて、分割されたファイルのパリティ情報を生成するパリティ情報生成手段とを含み、パリティ情報生成手段は、ハードディスク装置制御手段によってハードディスク装置が記憶しているファイルが読み出されると、読み出されたファイルのパリティ情報を生成し、割当制御手段は、読み出されたファイルとパリティ情報とを記憶する領域を指定し、ハードディスク装置制御手段は、指定された領域に読み出したファイルとパリティ情報とを記憶させることを特徴とする。
【００１４】
ハードディスク装置制御手段は、ハードディスク装置が記憶しているファイルの記憶形式を所定の記憶形式に変更する場合に、ファイルのパリティ情報を消去してもよい。
【００１５】
ハードディスク装置が記憶しているファイルの領域と、領域の状態とを対応づける制御テーブルを含んでもよく、割当制御手段は、制御テーブルで、ファイルを記憶している領域と、領域がファイルのパリティ情報を記憶しているか否かを示す情報とを対応づけてもよい。
【００１６】
ハードディスク装置制御手段は、ハードディスク装置における領域をブロックに分割してもよく、割当制御手段は、制御テーブルで、領域と、領域が含む分割されたブロックとを対応づけてもよく、ブロックと、ブロックがファイルまたはパリティ情報を記憶しているか否かを示す情報とを対応づけてもよい。
【００１７】
割当制御手段は、制御テーブルにおいて、ファイルを記憶している領域内のブロックであって、パリティ情報を記憶していないことを示す情報に対応づけられているブロックが所定の数存在することを示していると、ブロックを使用して、分割したファイルと分割したファイルのパリティ情報とを記憶するように指定してもよい。
【００１８】
割当制御手段は、制御テーブルで、領域と、領域が記憶しているファイルのＲＡＩＤタイプとを対応づけてもよい。
【００１９】
本発明によるＲＡＩＤ制御方法は、複数のハードディスク装置に分散してファイルを記憶させるＲＡＩＤ制御方法であって、複数のハードディスク装置をそれぞれ複数の領域に並列に分割し、ファイルを分割し、指示に応じて、分割したファイルのパリティ情報を生成し、分割したファイルと分割したファイルのパリティ情報とを記憶する領域を指定し、指定された領域にファイルとファイルのパリティ情報とを記憶させ、ハードディスク装置が記憶しているファイルを読み出し、読み出したファイルのパリティ情報を生成し、読み出したファイルとパリティ情報とを記憶する領域を指定し、指定した領域に読み出したファイルとパリティ情報とを記憶させることを特徴とする。
【発明の効果】
【００２０】
本発明によれば、ファイルごとにＲＡＩＤタイプを設定し、設定したＲＡＩＤタイプを容易に変更することができる。
【００２１】
ハードディスク装置が記憶しているパリティ情報を消去するように構成されている場合には、ＲＡＩＤ５で記憶しているファイルを、ＲＡＩＤ０で記憶するように変更することができる。
【００２２】
ファイルを記憶している領域と、領域がファイルのパリティ情報を記憶しているか否かを示す情報とを対応づける制御テーブルを含むように構成されている場合には、制御テーブルを参照することにより、領域のＲＡＩＤタイプを認識することができる。
【００２３】
領域をブロックに分割し、領域と、領域が含む分割されたブロックと、ブロックがファイルまたはパリティ情報を記憶しているか否かを示す情報とが対応づけられているように構成されている場合には、各ブロックがファイルまたはパリティ情報を記憶しているか否かを認識することができる。
【００２４】
ＲＡＩＤ０でファイルを記憶すると、領域に、ファイルおよびパリティ情報を記憶していないブロックが存在することになる。そこで、ファイルを記憶している領域内のブロックであって、パリティ情報を記憶していない所定の数のブロックを使用して、分割したファイルと分割したファイルのパリティ情報とを記憶させるように構成されている場合には、ファイルおよびパリティ情報を記憶していないブロックにファイルおよびパリティ情報を記憶させるため、ハードディスク装置の記憶容量の利用効率を向上させることができる。
【発明を実施するための最良の形態】
【００２５】
本発明の実施の形態について、図面を参照して説明する。図１は、本発明によるＲＡＩＤ制御装置を利用したファイル管理システムの実施の形態の一構成例を示すブロック図である。
【００２６】
図１に示すファイル管理システムは、ファイルを記憶するハードディスクとハードディスクに対するデータ読み書き機能とを有するハードディスク装置（ＨＤＤ：ハードディスクドライブ）３０、３１、３２、３３、各ＨＤＤに記憶させるファイルと、各ＨＤＤに行う処理を示す指示とを入力するホストコンピュータ１０、およびホストコンピュータ１０に入力された指示にもとづいて、各ＨＤＤにファイルを記憶させるＲＡＩＤコントローラ（ＲＡＩＤ制御装置）２０を含む。
【００２７】
ホストコンピュータ１０は、入力されたファイルをどのＲＡＩＤタイプで各ＨＤＤに記憶させるかを指定するＲＡＩＤタイプ指定部１２、および入力されたファイルとＲＡＩＤタイプ指定部１２が指定したＲＡＩＤタイプを示す情報とをＲＡＩＤコントローラ２０に送信するＩＯ発行部１１を含む。
【００２８】
ＲＡＩＤタイプ指定部１２は、キーボード等の入力手段（図示せず）を介して入力されたファイルの重要度等に応じて、ファイルのＲＡＩＤタイプを指定する。具体的には、ＲＡＩＤタイプ指定部１２は、入力手段に、例えば、重要なファイルであり信頼性を重視することが入力されれば、ＲＡＩＤ５を指定する。また、信頼性よりもＨＤＤの利用効率を重視することが入力されれば、ＲＡＩＤ０を指定する。なお、ＲＡＩＤタイプ指定部１２は、入力手段にＲＡＩＤタイプが入力されると、入力されたＲＡＩＤタイプを指定してもよい。
【００２９】
ＩＯ発行部１１は、ＲＡＩＤタイプ指定部１２が指定したＲＡＩＤタイプとファイルとファイルの記憶を指示するライトコマンドとをＲＡＩＤコントローラ２０に送信する。また、ホストコンピュータ１０は、各ＨＤＤに記憶させるファイルを管理するファイル管理プログラムを搭載している。そして、ＩＯ発行部１１は、ファイル管理プログラムが、各ＨＤＤにおいて、ファイルを記憶する領域のブロックを示す論理アドレスを指定すると、指定された論理アドレスをＲＡＩＤコントローラ２０に送信する。
【００３０】
具体的には、例えば、ホストコンピュータ１０とＲＡＩＤコントローラ２０とがＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）接続されていれば、ファイルの記憶を指示するライトコマンドのＣＤＢ（Ｃｏｍｍａｎｄ  Ｄｅｓｃｒｉｐｔｏｒ  Ｂｌｏｃｋ）の未使用領域にＲＡＩＤタイプや論理アドレスを示すフラグを設ける。また、モードセレクトコマンドに、ＲＡＩＤタイプや論理アドレスを指定するユニークページを定義し、ライトコマンドを送信する前にモードセレクトコマンドを送信してもよい。
【００３１】
ＲＡＩＤコントローラ２０は、ＩＯ発行部１１から情報を受信するＩＯ制御部２１、ＩＯ発行部１１が送信したＲＡＩＤタイプを認識するＲＡＩＤタイプ解析部２３、各ＨＤＤの使用状況を示す制御テーブル２５、制御テーブル２５を参照してファイルのＲＡＩＤタイプを決定する割当制御部（割当制御手段）２４、割当制御部２４の制御に応じて、ファイルのＲＡＩＤタイプを変更するＲＡＩＤタイプ変更制御部２２、割当制御部２４の制御に応じて、ファイルに付加するパリティ情報を生成するパリティ情報生成部（パリティ情報生成手段）２６、割当制御部２４の制御に応じて、ファイルのコピーを生成するコピー制御部２７、およびファイルを各ＨＤＤに送信して記憶させるＨＤＤ制御部（ハードディスク装置制御手段）２８を含む。
【００３２】
図２は、各ＨＤＤが記憶するファイルを示す説明図である。図２では、各ＨＤＤがファイル４１、４２、４３を信頼性を重視してＲＡＩＤ５で分散して記憶していることが例示されている。また、各ＨＤＤがファイル５１、５２、５３をＨＤＤの容量の利用効率を重視してＲＡＩＤ０で分散して記憶していることが例示されている。
【００３３】
ここで、各ＨＤＤがファイル４１をストライプサイズ（ファイルを記憶するために分割された各ブロックの大きさ）が１２８ＫＢのＲＡＩＤ５で分散して記憶する場合を例に説明する。各ＨＤＤは所定の記憶容量の領域に並列に分割され、１のファイルを記憶する領域は各ＨＤＤに分散している。
【００３４】
ここで、各ＨＤＤが所定の記憶容量の領域に並列に分割されるとは、それぞれのＨＤＤが、同じ大きさの記憶容量を有するように領域に分割されることをいう。具体的には、例えば、ＨＤＤ３０、３１、３２、３３がそれぞれ０．５ＭＢの記憶容量の領域を有するように分割される場合をいう。なお、一般に、各ＨＤＤは、それぞれ複数の領域を有するように分割される。すなわち、ＨＤＤ３０、３１、３２、３３がそれぞれ０．５ＭＢの記憶容量の領域を８つづつ有するように分割されたりする。そして、ＲＡＩＤコントローラ２０は、ＨＤＤ３０における１番目の領域と、ＨＤＤ３１における１番目の領域と、ＨＤＤ３２における１番目の領域と、ＨＤＤ３３における１番目の領域とを対応づける情報を記憶している。また、ＲＡＩＤコントローラ２０は、同様に、各ＨＤＤにおける２番目の領域から８番目の領域を、それぞれ対応づける情報を記憶している。
【００３５】
各ＨＤＤにおいて分割された各領域は、ファイル自体を記憶するブロックと、ファイルに付加されるパリティ情報を記憶するブロックとが設けられるようにそれぞれ分割される。そして、ファイル自体を記憶するブロックに、各ブロックを示す論理アドレスが設定される。
【００３６】
ＨＤＤ制御部２８は、各ＨＤＤを領域およびブロックに分割して論理アドレスを設定する。このとき、ＨＤＤ制御部２８は、ファイル管理プログラムを搭載しているホストコンピュータ１０の指示に従って、領域およびブロックの分割と、論理アドレスの設定とを行う。ＨＤＤ制御部２８は、ＩＯ制御部２１を介してホストコンピュータ１０に、設定した論理アドレスの一覧を通知する。ホストコンピュータ１０の記憶手段（図示せず）は、通知された論理アドレスの一覧を記憶する。
【００３７】
図１には、ファイル管理システムが、ＨＤＤ３０、３１、３２、３３の４台のＨＤＤを含むことが例示されている。そこで、各ＨＤＤのいずれか１つが故障等した場合であってもＲＡＩＤ５で記憶したファイルを修復することができるようにするため、各ＨＤＤにおける一の領域は、ブロックをそれぞれ４個（１個はパリティ情報を記憶するブロック）含むように分割される。すると、４台×４個＝１６であるので、１のファイルを記憶する領域は、それぞれブロックを１６個含む。
【００３８】
具体的には、ストライプサイズが１２８ＫＢなので、１２８ＫＢ×１６個＝２ＭＢであるため、各ＨＤＤは、１のファイルを記憶する領域の物理容量（各ＨＤＤに分散している領域の合計）が２ＭＢになるように並列に分割される。そして、２ＭＢ÷４台＝０．５ＭＢなので、１つのファイルを記憶する領域の１つのＨＤＤにおける物理容量は０．５ＭＢとなり、各ＨＤＤは、０．５ＭＢごとに領域に分割される。なお、１６個のブロックのうち、４個はパリティ情報を記憶するので、分散している１つのファイルを記憶する領域の論理容量は（１６個−４個）×１２８ＫＢ＝１．５ＭＢなので、１．５ＭＢとなる。
【００３９】
各ＨＤＤは、前述したように分割された領域に、ＲＡＩＤ５のファイルまたはＲＡＩＤ０のファイルを記憶する。なお、ＲＡＩＤ０のファイルを記憶する場合、各ＨＤＤの各領域のパリティ情報を記憶するブロックは使用されない。そのため、ＨＤＤ制御部２８は、ＲＡＩＤ０のファイルを記憶している領域内の未使用のブロックを抽出し、抽出したブロックを集めて仮想領域を生成して、その仮想領域に他のファイルやパリティ情報を記憶させる。
【００４０】
次に、ＲＡＩＤタイプを変更する場合について説明する。図３は、各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更する場合を示す説明図である。図３では、ファイル４３をＲＡＩＤ５からＲＡＩＤ０に変更することが例示されている。
【００４１】
ファイル４３をＲＡＩＤ５からＲＡＩＤ０に変更する場合、ＨＤＤ制御部２８は、ファイル４３のパリティ情報を各ＨＤＤから消去する。
【００４２】
また、ファイル５３をＲＡＩＤ０からＲＡＩＤ５に変更する場合、割当制御部２４は、制御テーブル２５を参照して各ＨＤＤの使用状況を参照し、ファイル５３を記憶している領域のパリティ情報を記憶するために設けられたブロックが、仮想領域として他のファイルに使用されているか否かを判断する。
【００４３】
仮想領域として使用されている場合には、割当制御部２４は、ＨＤＤ制御部２８に、仮想領域が記憶している情報を他の領域に記憶させ、パリティ情報を記憶するために設けられたブロックの情報を各ＨＤＤから消去する。
【００４４】
割当制御部２４は、ＨＤＤ制御部２８に各ＨＤＤからファイル５３を読み出させて、パリティ情報生成部２６に、ファイル５３のパリティ情報を生成させる。このとき、コピー制御部２７は、仮想領域が記憶している情報をコピーしてＨＤＤ制御部２８に出力してもよい。ＨＤＤ制御部２８は、パリティ情報生成部２６が生成したパリティ情報をパリティ情報を記憶するために設けられたブロックに記憶させる。
【００４５】
図４は、制御テーブル２５を示す説明図である。制御テーブル２５は、論理アドレスが設定された各ブロックがどの領域に含まれているかを示す論理アドレステーブル６０（図４（ａ））、各領域の状態や、物理位置、パリティ情報を記憶するために設けられたブロックの状態を示す状態テーブル６１（図４（ｂ））、および各物理位置が含む論理アドレスが設定されたブロックを示すブロックテーブル６２（図４（ｃ））を含む。
【００４６】
割当制御部２４は、論理アドレスに領域を割り当て、論理アドレステーブル６０における領域が割り当てられた論理アドレスに対応する欄に領域の番号を設定する。
【００４７】
割当制御部２４は、各ＨＤＤの状態にしたがって、状態テーブル６１の各領域の状態や、物理位置、パリティ情報を記憶するために設けられたブロックの状態を設定する。具体的には、各領域の状態の欄には、その領域が未使用であるのか、未割当であるのか、ＲＡＩＤ０で使用されているのか、または、ＲＡＩＤ５で使用されているのかが設定される。また、物理位置の欄には、その領域がひとまとまりのブロックによって構成されているのか（図４（ｂ）では直接と記す）、または、分散した複数のブロックの集合によって構成されているのか（図４（ｂ）では集合と記す）と、その領域のＨＤＤにおける物理位置とが設定される。
【００４８】
なお、物理位置とは、その領域の各ＨＤＤにおける代表的なセクタ等を示したり、その領域の各ＨＤＤにおける代表的なセクタ等を簡単な計算で導き出したりすることができる情報である。領域の物理位置は各ＨＤＤによって異なることが考えられるが、説明の簡単のため、番号で示す。
【００４９】
また、パリティ情報を記憶するために設けられたブロックの状態の欄（図４（ｂ）ではパリティ状態と記す欄）には、その領域におけるパリティ情報を記憶するために設けられたブロックが、仮想領域として他のファイルを記憶している場合に、その仮想領域を示す番号が設定される。
【００５０】
なお、領域を示す番号は、その領域がひとまとまりのブロックによって構成されている場合にはその領域を示す物理位置が設定され、分散した複数のブロックの集合によって構成されている場合には、所定の仮想領域を示す番号が設定される。図４（ｂ）には、領域を示す番号が１００番以上であれば仮想領域をそれぞれ示し、１００番未満であればひとまとまりのブロックによって構成されている領域の物理位置をそれぞれ示していることが例示されている。そして、仮想領域の物理位置の欄には、仮想領域として使用される領域の物理位置が設定される。図４（ｃ）では、仮想領域として使用される領域の物理位置が設定されていない場合が、？で示されている。
【００５１】
ブロックテーブル６２は、論理アドレスが設定された各物理位置のブロックを、ＨＤＤごとに示している。図４（ｃ）では、物理位置ごとに、各ＨＤＤに含まれるブロックが縦に示されている。
【００５２】
次に、各ＨＤＤにファイルを記憶させたり、各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更したりした場合の制御テーブル２５の変化について説明する。
【００５３】
図４で例示された状態の各ＨＤＤの論理アドレス０〜１１のブロックに、ＲＡＩＤ５のファイルを記憶させた場合について説明する。図５は、ＲＡＩＤ５でファイルを記憶させた場合の制御テーブル２５を示す説明図である。
【００５４】
制御テーブル２５の初期状態を示す図４を参照すると、論理アドレス０〜１１には領域が割り当てられていない（領域の欄が空欄）。ホストコンピュータ１０が、論理アドレス０〜１１にファイルを記憶させることを指示すると、割当制御部２４は、論理アドレス０〜１１に領域０を割り当てて、論理アドレステーブル６０の論理アドレス０〜１１の行の領域を０に設定する。そして、状態テーブル６１の領域０に対応する状態の欄を、ＲＡＩＤ５に設定する。また、ブロックテーブル６２で示される物理位置０に対応する欄に、ＲＡＩＤ５でファイルを記憶した各ブロックの論理アドレスと、パリティ情報を示す情報（図５では、Ｐと記す）とを設定する。すると、制御テーブル２５は、図５に例示した状態に変更される。
【００５５】
次に、図５で例示された状態の各ＨＤＤの論理アドレス２４〜３５のブロックに、ＲＡＩＤ０のファイルを記憶させた場合について説明する。図６は、ＲＡＩＤ０でファイルを記憶させた場合の制御テーブル２５を示す説明図である。
【００５６】
ホストコンピュータ１０が、論理アドレス２４〜３５にファイルを記憶させることを指示すると、割当制御部２４は、論理アドレス２４〜３５に領域１を割り当てて、論理アドレステーブル６０の論理アドレス２４〜３５の行の領域を１に設定する。そして、状態テーブル６１の領域１に対応する状態の欄を、ＲＡＩＤ０に設定する。また、各ＨＤＤにＲＡＩＤ０でファイルを記憶させる場合、ファイルにパリティ情報は付加されていないので、領域のパリティ情報を記憶するために設けられたブロックが未使用となる。そこで、割当制御部２４は、そのブロックを仮想領域である領域１００に割り当て、パリティ割当の欄に領域１００を設定する。
【００５７】
そして、割当制御部２４は、状態テーブル６１の領域１００に対応する物理位置の欄をＲＡＩＤ０でファイルを記憶させた物理位置である１に設定する。すると、パリティ情報が付加されなかったために使用されなかったブロックを使用可能にすることができる。
【００５８】
なお、図６に例示したように、割当制御部２４は、使用されている論理アドレスと連続していない論理アドレスにファイルを記憶することが指示された場合であっても、使用されている物理位置に連続した物理位置にファイルを記憶させる。具体的には、論理アドレス０〜１１が使用されていて、論理アドレス２４〜３５にファイルを記憶することが指示された場合であっても、割当制御部２４は、使用されている物理位置０に連続している物理位置１にファイルを記憶させる。
【００５９】
次に、図６で例示された状態の各ＨＤＤが記憶しているＲＡＩＤ０のファイルを、ＲＡＩＤ５に変更する場合について説明する。図７は、ＲＡＩＤ０で記憶されたファイルをＲＡＩＤ５に変更する場合の制御テーブル２５を示す説明図である。
【００６０】
割当制御部２４は、状態テーブル６１の領域１の行の状態をＲＡＩＤ５に設定し、パリティ割当の欄に設定されていた領域番号を消去する。そして、領域１００に対応する物理位置の欄の物理位置１を消去する。すると、領域１００として利用可能にしていたブロックを領域１に戻し、そのブロックにＲＡＩＤ５のファイルのパリティ情報を記憶させることができる。割当制御部２４は、ブロックテーブル６２を参照して、ＨＤＤ制御部２８に、領域１の物理位置１が含むブロックが記憶しているファイルを読み出させ、パリティ情報生成部２６に、パリティ情報を生成させる。ＨＤＤ制御部２８は、生成されたパリティ情報を、物理位置１におけるパリティ情報を記憶するためのブロックにそれぞれ記憶させる。
【００６１】
次に、図７で例示された状態の各ＨＤＤが領域０で記憶しているＲＡＩＤ５のファイルを、ＲＡＩＤ０に変更する場合について説明する。図８は、ＲＡＩＤ５で記憶されたファイルをＲＡＩＤ０に変更する場合の制御テーブル２５を示す説明図である。
【００６２】
割当制御部２４は、状態テーブル６１の領域０の行の状態をＲＡＩＤ０に設定し、パリティ割当を領域１００に設定する。そして、領域１００の行の物理位置に物理位置０を追加する。また、割当制御部２４は、ブロックテーブル６２を参照して、ＨＤＤ制御部２８に、物理位置０におけるパリティ情報を消去する。すると、ＲＡＩＤ０で記憶されているファイルにはパリティ情報が付加されていないので、物理位置０におけるパリティ情報を記憶するためのブロックが使用可能になる。
【００６３】
次に、図８で例示された状態の各ＨＤＤに、複数のファイルをＲＡＩＤ０で記憶させる場合について説明する。図９は、ＲＡＩＤ０のファイルを複数記憶させた場合の制御テーブル２５を示す説明図である。
【００６４】
図８で例示された状態の各ＨＤＤに、３つのファイルをＲＡＩＤ０で記憶させる場合を例に説明する。図８を参照すると、論理アドレス３６〜７１には領域が割り当てられていない。ホストコンピュータ１０が、論理アドレス３６〜７１に３つのファイルを記憶させることを指示すると、論理アドレス３６〜４７、４８〜５９、６０〜７１に、それぞれ領域２、３、４を割り当て、それらのブロックにそれぞれファイルを記憶させればよいことがわかる。そこで、割当制御部２４は、論理アドレステーブル６０の論理アドレス３６〜４７、４８〜５９、６０〜７１の各行の領域を２、３、４に設定する。
【００６５】
そして、割当制御部２４は、状態テーブル６１の領域２、３、４の各行の状態をＲＡＩＤ０に設定し、パリティ割当をそれぞれ領域１００に設定する。また、状態テーブル６１の領域１００の行の物理位置に物理位置２、３、４を追加し、状態を未使用に設定する。そして、割当制御部２４は、ＨＤＤ制御部２８に、物理位置２、３、４に、ＲＡＩＤ０でファイルを記憶させる。
【００６６】
次に、図９で例示された状態の各ＨＤＤの仮想領域に、ＲＡＩＤ５でファイルを記憶させる場合について説明する。図１０は、仮想領域にＲＡＩＤ５でファイルを記憶させる場合の制御テーブル２５を示す説明図である。
【００６７】
図９を参照すると、論理アドレス８４〜９５には領域が割り当てられていない。ホストコンピュータ１０が、論理アドレス８４〜９５にファイルを記憶させることを指示すると、割当制御部２４は、論理アドレス８４〜９５に未使用の仮想領域である領域１００を割り当てて、論理アドレステーブル６０の論理アドレス８４〜９５の行の領域を１００に設定する。そして、状態テーブル６１の領域１００の行の状態をＲＡＩＤ５に設定する。
【００６８】
状態テーブル６１の領域１００の行の物理位置の欄は、物理位置０、２、３、４なので、割当制御部２４は、ＨＤＤ制御部２８に、物理位置０、２、３、４におけるパリティ情報を記憶するためのブロックに、ファイルをＲＡＩＤ５で記憶させる。
【００６９】
なお、各ＨＤＤに、領域と同じサイズのファイルを記憶させた場合について説明したが、領域と異なるサイズのファイルを各ＨＤＤに記憶させる場合であっても同様の処理を行うことができる。
【００７０】
例えば、ファイルのサイズが領域よりも小さい場合には、領域の一部のブロックがファイルを記憶する。また、ファイルのサイズがテーブルの領域よりも大きい場合には、割当制御部２４は、複数の領域を用いてファイルを記憶させる。
【００７１】
さらに、ＲＡＩＤ０に割り当てられた領域に、その領域よりも小さいファイルをＲＡＩＤ５で記憶させる（上書きする）場合には、その領域に記憶されているファイルのパリティ情報を生成し、生成したパリティ情報とファイルとを、その領域のブロックに記憶させる。また、ＲＡＩＤ５に割り当てられた領域に、その領域より小さいファイルをＲＡＩＤ０で記憶させる（上書きする）場合には、上書きされないブロック（すなわち、パリティ情報を記憶するために設けられたブロック）にパリティ情報が存在する可能性があるので、制御テーブル２５が記憶している内容は変更せずに（すなわち、状態テーブル６１の状態の欄をＲＡＩＤ５に設定したまま）、ファイルをその領域に記憶させる。
【００７２】
次に、本発明の実施の形態のファイル管理システムの動作について、図面を参照して説明する。図１１は、ファイル管理システムが、ファイルを記憶する際の動作を説明するフローチャートである。
【００７３】
ホストコンピュータ１０にファイルが入力され、ＲＡＩＤタイプ指定部１２がファイルを保存するＲＡＩＤタイプを指定すると、ホストコンピュータ１０が搭載しているファイル管理プログラムは、記憶手段が記憶している論理アドレスの一覧を読み出し、入力されたファイルを記憶させる領域の論理アドレスを指定する。そして、ＩＯ発行部１１は、入力されたファイルとＲＡＩＤタイプ指定部１２が指定したＲＡＩＤタイプを示す情報と、指定した論理アドレスを示す情報とをＲＡＩＤコントローラ２０に送信する。
【００７４】
ＲＡＩＤコントローラ２０のＩＯ制御部２１は、ＩＯ発行部１１からファイルと、ＲＡＩＤタイプを示す情報と、論理アドレスを示す情報とを受信すると、ファイルをＨＤＤ制御部２８に出力し、ＲＡＩＤタイプを示す情報をＲＡＩＤタイプ解析部２３に出力し、ファイルと、論理アドレスを示す情報とを割当制御部２４に出力する。
【００７５】
ＲＡＩＤタイプ解析部２３は、入力されたＲＡＩＤタイプを示す情報にもとづいて、ファイルをどのＲＡＩＤタイプで各ＨＤＤに記憶させるのかを解析する。そして、解析した結果をＩＯ制御部２１に出力する。ＩＯ制御部２１は、ＲＡＩＤタイプ解析部２３が解析した結果を割当制御部２４に出力する。
【００７６】
割当制御部２４は、指定された論理アドレスを示す情報が入力されると、制御テーブル２５を参照して、指定された論理アドレスを示す情報が示す論理アドレスが既に領域に割り当てられているか否かを判断する（ステップＳ１０１）。
【００７７】
割当制御部２４は、指定された論理アドレスが領域に割り当てられていないと判断すると、制御テーブル２５を検索して、未使用の領域の領域番号を抽出する（ステップＳ１０２）。
【００７８】
割当制御部２４は、抽出した領域番号から１つを選択し、選択した領域番号を制御テーブル２５の論理アドレステーブル６０の論理アドレスに対応する欄に設定する（ステップＳ１０３）。
【００７９】
また、割当制御部２４は、ＲＡＩＤタイプ解析部２３が解析した結果が入力されると、ホストコンピュータ１０がＲＡＩＤ０を指定したか否かを判断する（ステップＳ１０４）。
【００８０】
割当制御部２４は、ＲＡＩＤ０が指定されたと判断すると、制御テーブル２５の状態テーブル６１の選択した領域番号に対応する状態の欄を、ＲＡＩＤ０に設定する（ステップＳ１０５）。
【００８１】
そして、割当制御部２４は、制御テーブル２５の状態テーブル６１を参照して、未割当の領域の領域番号を検索して抽出し、領域番号を１つ選択する（ステップＳ１０６）。そして、ステップＳ１０３で選択された領域の領域番号に対応するパリティ割当の欄に、ステップＳ１０６で選択された領域番号を設定し、ステップＳ１０６で選択された領域番号に対応する物理位置の欄に、ステップＳ１０３で選択された領域番号に対応する物理位置を設定する（ステップＳ１０７）。
【００８２】
割当制御部２４は、ステップＳ１０６で選択した未割当の領域のすべてのブロックに、物理位置を設定する（すなわち、仮想領域としてのブロックのすべてに、物理位置が設定される）と（ステップＳ１０８）、制御テーブル２５の状態テーブル６１におけるステップＳ１０６で選択した未割当の領域の状態を、未割当から未使用に変更して設定する（ステップＳ１０９）。
【００８３】
そして、割当制御部２４は、制御テーブル２５を参照して、ファイルを領域のブロックの大きさに分割し、分割したファイルと、選択した領域番号とをパリティ情報生成部２６に出力する。
【００８４】
パリティ情報生成部２６は、入力された分割されたファイルと、選択された領域番号とをＨＤＤ制御部２８に出力する。
【００８５】
また、割当制御部２４は、ステップＳ１０４で、ホストコンピュータ１０がＲＡＩＤ０を指定していないと判断すると、制御テーブル２５の状態テーブル６１の選択した領域番号に対応する状態の欄を、ＲＡＩＤ５に設定する（ステップＳ１１０）。
【００８６】
割当制御部２４は、制御テーブル２５を参照して、ファイルを領域のブロックの大きさに分割し、分割したファイルと、選択した領域番号とをパリティ情報生成部２６に出力する。
【００８７】
パリティ情報生成部２６は、ブロックに分割されたファイルが入力されると、パリティ情報を生成する（ステップＳ１１１）。
【００８８】
パリティ情報生成部２６は、生成したパリティ情報と、ブロックに分割されたファイルと、選択された領域番号とをＨＤＤ制御部２８に出力する。
【００８９】
また、割当制御部２４は、ステップＳ１０１で、指定された論理アドレスが既に領域に割り当てられていると判断すると、制御テーブル２５を参照して、割り当てられている領域のＲＡＩＤタイプを確認する（ステップＳ１１２）。
【００９０】
割当制御部２４は、割り当てられている領域のＲＡＩＤタイプと、指定されたＲＡＩＤタイプとが合致しないと判断すると（ステップＳ１１３）、割り当てられている領域のＲＡＩＤタイプを変更する処理を実行する（ステップＳ１１４）。なお、割り当てられている領域のＲＡＩＤタイプを変更する処理については後述する。
【００９１】
割当制御部２４は、割り当てられている領域のＲＡＩＤタイプと、指定されたＲＡＩＤタイプとが合致すると判断したり（ステップＳ１１３）、割り当てられている領域のＲＡＩＤタイプを変更する処理を実行すると、指定されたＲＡＩＤタイプがＲＡＩＤ５であるか否かを判断する（ステップＳ１１５）。
【００９２】
割当制御部２４は、指定されたＲＡＩＤタイプがＲＡＩＤ５であると判断すると、ファイルを領域のブロックの大きさに分割し、分割したファイルをパリティ情報生成部２６に出力し、ステップＳ１１１以降の処理をパリティ情報生成部２６に実行させる。
【００９３】
割当制御部２４は、指定されたＲＡＩＤタイプがＲＡＩＤ５ではないと判断すると、ステップＳ１１６以降の処理をＨＤＤ制御部２８に実行させる。
【００９４】
ＨＤＤ制御部２８は、各ＨＤＤにファイル等を記憶させる（ステップＳ１１６）。なお、ＨＤＤ制御部２８は、パリティ情報生成部２６がパリティ情報を生成した場合には、各ＨＤＤの所定のブロックにパリティ情報を記憶させる。
【００９５】
次に、本発明の実施の形態のファイル管理システムが、各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更する際の動作について説明する。
【００９６】
本発明の実施の形態のファイル管理システムが、各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更する場合には、２つの場合が考えられる。
【００９７】
１つ目は、ホストコンピュータ１０に、論理アドレスを指定し、ＲＡＩＤタイプを変更する指示が入力された場合である。
【００９８】
また、２つ目は、前述したファイルを記憶する際の動作で、割り当てられている領域のＲＡＩＤタイプと、指定されたＲＡＩＤタイプとが合致しない場合（ステップＳ１１３のＮの場合）である。
【００９９】
１つ目の場合と２つ目の場合とで、異なる動作について説明する。そこで、まず、１つ目の場合の動作について説明する。ホストコンピュータ１０は、論理アドレスを指定し、変更後のＲＡＩＤタイプを示すコマンドをＲＡＩＤコントローラ２０に送信する。
【０１００】
例えば、ホストコンピュータ１０とＲＡＩＤコントローラ２０とがＳＣＳＩインタフェースで接続されているのであれば、モードセレクトコマンドのユニークページをＲＡＩＤタイプを変更できるように定義してしておく。そして、ホストコンピュータ１０のＩＯ発行部１１は、ファイルを各ＨＤＤに記憶させた後の任意のタイミングで、ホストコンピュータ１０が、モードセレクトコマンドをＲＡＩＤコントローラ２０に送信する等の動作を実行する。
【０１０１】
ＲＡＩＤコントローラ２０のＩＯ制御部２１は、モードセレクトコマンドを受信すると、ＲＡＩＤタイプ変更制御部２２に出力する。ＲＡＩＤタイプ変更制御部２２は、モードセレクトコマンドが入力されると、モードセレクトコマンドのユニークページが示す変更後のＲＡＩＤタイプと、ＲＡＩＤタイプを変更する論理アドレスとを割当制御部２４に出力する。
【０１０２】
また、２つ目の場合は、前述したファイルを記憶する際の動作の、ステップＳ１１３までの動作と同様の動作を行う。
【０１０３】
１つ目の場合と２つ目の場合とで共通するＲＡＩＤコントローラ２０の動作について、図面を参照して説明する。図１２は、各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更する際のＲＡＩＤコントローラ２０の動作を説明するフローチャートである。
【０１０４】
割当制御部２４は、ホストコンピュータ１０の指示に応じて（前述した１つ目の場合）、または、制御テーブル２５を参照して（前述した２つ目の場合）、ＲＡＩＤタイプの変更がＲＡＩＤ５からＲＡＩＤ０への変更であるか否かを判断する（ステップＳ２０１）。
【０１０５】
割当制御部２４は、ＲＡＩＤタイプの変更がＲＡＩＤ５からＲＡＩＤ０への変更であると判断すると、制御テーブル２５の状態テーブル６１のＲＡＩＤタイプを変更する領域に対応する状態の欄をＲＡＩＤ０に変更して設定する（ステップＳ２０２）。
【０１０６】
そして、割当制御部２４は、制御テーブル２５の状態テーブル６１を参照して、未割当の領域を検索して抽出し、１つを選択する（ステップＳ２０３）。そして、ＲＡＩＤタイプを変更する領域に対応するパリティ割当の欄に、選択した領域の領域番号を設定する。そして、選択した領域に対応する物理位置の欄に、ＲＡＩＤタイプを変更する領域に対応する物理位置を設定する（ステップＳ２０４）。
【０１０７】
割当制御部２４は、選択した未割当の領域のすべてのブロックに、物理位置が設定されると（ステップＳ２０５）、制御テーブル２５の状態テーブル６１における選択した領域番号を設定した未割当の領域の状態を、未割当から未使用に変更して設定する（ステップＳ２０６）。
【０１０８】
また、割当制御部２４が、ステップＳ２０１で、ＲＡＩＤタイプの変更がＲＡＩＤ５からＲＡＩＤ０への変更ではないと判断した場合について説明する。以下、説明の簡単のため、各領域と各物理位置とにそれぞれアルファベットを付する。
【０１０９】
割当制御部２４は、制御テーブル２５の状態テーブル６１のＲＡＩＤタイプを変更する領域Ｃに対応する状態の欄をＲＡＩＤ５に変更して設定する（ステップＳ２０７）。
【０１１０】
そして、割当制御部２４は、制御テーブル２５の状態テーブル６１のＲＡＩＤタイプを変更する領域Ｃに対応するパリティ割当に設定されている領域番号Ｄを読み出す（ステップＳ２０８）。そして、読み出した領域番号Ｄの物理位置の欄から、ＲＡＩＤタイプを変更する領域Ｃに対応する物理位置Ｃを消去し、制御テーブル２５の状態テーブル６１のＲＡＩＤタイプを変更する領域に対応するパリティ割当Ｄを消去する（ステップＳ２０９）。
【０１１１】
割当制御部２４は、制御テーブル２５の状態テーブル６１を参照して、ステップＳ２０８で読み出した領域番号Ｄの領域である領域Ｄの状態が使用中であるか否かを判断する（ステップＳ２１０）。
【０１１２】
割当制御部２４は、使用中であれば、制御テーブル２５の状態テーブル６１を参照して、状態が未使用か未割当であって、物理位置が集合で、物理位置が１つ以上設定されている領域を抽出し、抽出した領域から１つ（領域Ｅ）を選択する（ステップＳ２１１）。そして、割当制御部２４は、制御テーブル２５の状態テーブル６１におけるステップＳ２１１で選択した領域Ｅの物理位置の欄に設定されている物理位置から１つを選択（物理位置Ｆ）する（ステップＳ２１２）。
【０１１３】
割当制御部２４は、制御テーブル２５の状態テーブル６１において、ステップＳ２１２で選択した物理位置Ｆを、ステップＳ２１１で選択した領域Ｅの物理位置の欄から消去する（ステップＳ２１３）。
【０１１４】
割当制御部２４は、制御テーブル２５の状態テーブル６１において、ステップＳ２１１で抽出した領域Ｅに対応する状態の欄を未割当に設定する（ステップＳ２１４）。
【０１１５】
割当制御部２４は、制御テーブル２５の状態テーブル６１において、ステップＳ２０８で読み出した領域Ｄに対応する物理位置の欄に、ステップＳ２１２で選択した物理位置Ｆ
を追加する（ステップＳ２１５）。
【０１１６】
そして、割当制御部２４は、制御テーブル２５の状態テーブル６１において、ステップＳ２１２で選択した物理位置Ｆに対応するパリティ割当の欄に、ステップＳ２０８で読み出した領域番号Ｄを設定する（ステップＳ２１６）。
【０１１７】
割当制御部２４は、制御テーブル２５のブロックテーブル６２において、ＲＡＩＤタイプを変更する領域Ｃのブロックのうち、パリティ情報の存在を示す表示を消去し、ステップＳ２１２で選択した物理位置Ｆのブロックのうち、パリティ情報を記憶するために設けられたブロックが、パリティ情報を記憶していることを示す表示に変更する。
【０１１８】
また、ＨＤＤ制御部２８は、ＲＡＩＤタイプを変更する領域Ｃからパリティ情報を読み出し、読み出したパリティ情報を、ステップＳ２１２で選択した物理位置Ｆのうち、パリティ情報を記憶するために設けられたブロックに記憶させる（ステップＳ２１７）。
【０１１９】
割当制御部２４は、ブロックテーブル６２を参照して、ＨＤＤ制御部２８に、ＲＡＩＤタイプを変更する領域Ｃに記憶されているファイルを読み出させ、パリティ情報生成部２６に、パリティ情報を生成させる（ステップＳ２１８）。ＨＤＤ制御部２８は、生成されたパリティ情報を、領域Ｃのパリティ情報を記憶するためのブロックにそれぞれ記憶させる（ステップＳ２１９）。
【０１２０】
以上に述べたように、この実施の形態によれば、ファイルごとにＲＡＩＤタイプを設定し、設定したＲＡＩＤタイプを容易に変更することができる。
【０１２１】
また、ファイルを記憶している領域内のブロックであって、パリティ情報を記憶していないブロックを使用して、分割したファイルと分割したファイルのパリティ情報とを記憶させるため、ハードディスクドライブの記憶容量の利用効率を向上させることができる。
【０１２２】
なお、以上に述べた実施の形態では、ＲＡＩＤ０とＲＡＩＤ５の場合について説明したが、本発明は、他のＲＡＩＤタイプにも適用することができる。
【０１２３】
例えば、ＲＡＩＤ１の場合には、論理アドレスに対して分割した領域を２つ割り当て、それらをミラーリングで使用し、それぞれの領域をＲＡＩＤ０と同じ管理方法にすればよい。
【０１２４】
また、例えば、ＲＡＩＤ３の場合には、ＲＡＩＤ５と同様の管理方法でありながら、ファイルを書き込む際にストライプサイズを小さくして、１つのファイルを４つのＨＤＤに分散することで実現できる。このとき、パリティ情報を格納するＨＤＤはＲＡＩＤ５と同じように移動していくため、一般的なＲＡＩＤ３とは異なるが、ＲＡＩＤ３本来の目的である、１つのファイルを複数のＨＤＤに分散させて、かつ、冗長パリティを持たせるという条件は満たしている。
【０１２５】
なお、本発明の実施の形態は、ホストコンピュータ１０とＲＡＩＤコントローラ２０というシステム構成だけではなく、サーバに搭載するＲＡＩＤボードや、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）装置など、ＨＤＤを搭載しかつＲＡＩＤの仕組みを利用する全ての装置に適用可能である。
【産業上の利用可能性】
【０１２６】
本発明は、ＶＯＤ（Ｖｉｄｅｏ  Ｏｎ  Ｄｅｍａｎｄ）サーバや放送システムなど映像情報を配信するシステムに適用することができる。また、Ｘ線やＣＴスキャン等の画像データを録画したり再生したりする医療分野等のシステムに適用することができる。さらに、ホームサーバやＨＤＤ搭載家庭電化製品など、一般家庭において大量のデータを扱う装置に適用することができる。
【０１２７】
具体的には、例えば、ホームサーバでは、使用者がコンピュータを用いて作成したデータや、デジタルカメラやデジタルビデオカメラで撮影した画像データや映像データなどのように、唯一のものは信頼性を重視してＲＡＩＤ５でＨＤＤに記憶させる。また、テレビジョン放送の番組や、映画等は容量効率を重視してＲＡＩＤ０でＨＤＤに記憶させる。そして、後になってＨＤＤの空き容量が少なくなってきた場合には、撮影した画像データをＲＡＩＤ０に変更して空き容量を増やすことができる。また、お気に入りの映画をどうしても残しておきたい場合には、ＲＡＩＤ５に変更することができる。
【図面の簡単な説明】
【０１２８】
【図１】本発明によるＲＡＩＤ制御装置を利用したファイル管理システムの実施の形態の一構成例を示すブロック図である。
【図２】各ＨＤＤが記憶するファイルを示す説明図である。
【図３】各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更する場合を示す説明図である。
【図４】制御テーブルを示す説明図である。
【図５】ＲＡＩＤ５でファイルを記憶させた場合の制御テーブルを示す説明図である。
【図６】ＲＡＩＤ０でファイルを記憶させた場合の制御テーブルを示す説明図である。
【図７】ＲＡＩＤ０で記憶されたファイルをＲＡＩＤ５に変更する場合の制御テーブルを示す説明図である。
【図８】ＲＡＩＤ５で記憶されたファイルをＲＡＩＤ０に変更する場合の制御テーブルを示す説明図である。
【図９】ＲＡＩＤ０のファイルを複数記憶させた場合の制御テーブルを示す説明図である。
【図１０】仮想領域にＲＡＩＤ５でファイルを記憶させる場合の制御テーブルを示す説明図である。
【図１１】ファイル管理システムが、ファイルを記憶する際の動作を説明するフローチャートである。
【図１２】各ＨＤＤが記憶しているファイルのＲＡＩＤタイプを変更する際のＲＡＩＤコントローラの動作を説明するフローチャートである。
【符号の説明】
【０１２９】
１０  ホストコンピュータ
１１  ＩＯ発行部
１２  ＲＡＩＤタイプ指定部
２０  ＲＡＩＤコントローラ
２１  ＩＯ制御部
２２  ＲＡＩＤタイプ変更制御部
２３  ＲＡＩＤタイプ解析部
２４  割当制御部
２５  制御テーブル
２６  パリティ情報生成部
２７  コピー制御部
２８  ＨＤＤ制御部
３０、３１、３２、３３  ＨＤＤ
６０  論理アドレステーブル
６１  状態テーブル
６２  ブロックテーブル
【図１】
2006338091.tif 000003
【図２】
2006338091.tif 000004
【図３】
2006338091.tif 000005
【図４】
2006338091.tif 000006
【図５】
2006338091.tif 000007
【図６】
2006338091.tif 000008
【図７】
2006338091.tif 000009
【図８】
2006338091.tif 000010
【図９】
2006338091.tif 000011
【図１０】
2006338091.tif 000012
【図１１】
2006338091.tif 000013
【図１２】
2006338091.tif 000014