以下本発明の実施の形態について、図面を参照しながら説明する。なお、以下の実施の形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定するものではない。
なお、本発明の実施の形態では、情報記憶媒体として、BD−Rのような追記型の光ディスクを利用したアレイシステムを例に説明を行う。
また、アレイシステムとしては、4台の光ディスク記録再生装置(ドライブ装置)を並列動作させると共に、システム及びデータの信頼性を高めるために、4台のドライブ装置のうちの2台のドライブ装置をパリティドライブ装置として用いるRAID6を例に説明する。
(1)光ディスクアレイシステムの構成
始めに、本発明の実施の形態における光ディスクアレイシステム100の構成について簡単に説明する。
図1は、本発明の実施の形態における光ディスクアレイシステム100の構成を示すブロック図である。光ディスクアレイシステム100は、複数の可搬型の光ディスク1a〜1dで構成されるディスクアレイにデータを記録する。
光ディスクアレイシステム100は、SAS(Serial Attached SCSI)又はFC(Fiber Chanel)などのインタフェースケーブルを介して、ホストである上位装置101と接続される。上位装置101は、例えば、サーバ用コンピュータなどである。
光ディスクアレイシステム100は、コントローラ110と、メモリ140と、複数の光ディスクドライブ150a〜150dとを備える。コントローラ110とメモリ140と複数台の光ディスクドライブ150a〜150dとは、SATA(Serial ATA)のようなI/Oバスで接続される。
メモリ140は、上位装置(ホスト)101に送信される記録データ又は上位装置(ホスト)101から受信される再生データを一時的に保持するキャッシュメモリとして使用される。また、メモリ140は、その他の情報(光ディスク1a〜1dの管理情報又はRAIDに関する管理情報など)を格納するのに使用される。メモリ140は、基本的にDRAM(Dynamic Random Access Memory)のような揮発性メモリで構成される。
光ディスクドライブ150a〜150dは、複数の光ディスク1a〜1dの各々にデータを記録する。また、光ディスクドライブ150a〜150dは、複数の光ディスク1a〜1dの各々からデータを再生する。光ディスクドライブ150a〜150dは、光ディスク1a〜1dに対して、上位装置(ホスト)101から要求を受けたデータを記録又は再生する記録再生装置である。上述した通り、本発明の実施の形態では、4台の光ディスクドライブ150a〜150d(4枚の光ディスク1a〜1d)がディスクアレイを構成する。そのため、図1に示す通り4台の光ディスクドライブ150a〜150dがコントローラ110に接続されている。
また、それぞれの光ディスクドライブ150a〜150dには、光ディスク1a〜1dが1枚ずつ装着される。例えば、図1に示すように、光ディスクドライブ150aには光ディスク1aが装着され、光ディスクドライブ150bには光ディスク1bが装着され、光ディスクドライブ150cには光ディスク1cが装着され、光ディスクドライブ150dには光ディスク1dが装着される。そして、これら4枚の光ディスク1a〜1dでディスクアレイが構成され、RAID6の方式でデータが記録又は再生される。
複数の光ディスク1a〜1dの各々は、複数のデータブロックを有し、データブロック単位でデータを記録するユーザ領域と、データが欠落している記録不正領域に関する情報を表す記録不正領域情報を含む管理情報を記録する管理情報領域とを有している。記録不正領域情報は、ディスクアレイを構成する複数の光ディスク1a〜1dの中で、記録不正領域が存在する光ディスクと、光ディスクの中の記録不正領域が存在する位置とを含む。また、記録不正領域は、少なくとも記録エラーが発生したデータブロック又はデータが記録されなかったデータブロックのいずれかを含む。
なお、本実施の形態では、光ディスクドライブ150a〜150dは、それぞれ1枚の光ディスク1a〜1dが装着されるが、本発明は特にこれに限定されず、同時に複数枚の光ディスクが装着可能なディスクチェンジャ形式の記録再生装置であっても良い。
なお、ディスクアレイ(RAID)を構成する4枚の光ディスク1a〜1dは、例えば1つのマガジン(図示せず)に格納されて管理されても良い。ここで、マガジンとは、複数の光ディスクをまとめて格納することが出来るカートリッジのことである。同一のマガジンに格納されている複数の光ディスクに対してRAIDとしてデータを記録又は再生することで、ユーザが取り扱いやすくなるとともに、例えば、RAIDを構成する複数の光ディスクを無くしてしまうリスクを低減出来るといったメリットがある。或いは、光ディスクアレイシステム100を長期間使用して、データが記録された光ディスクの数が非常に多くなった場合であっても、RAIDを構成する複数の光ディスクの組み合わせが分散して分からなくなってしまうといった事態を防ぐことが出来るというメリットもある。
更には、例えばマガジンにRFID(Radio Frequency IDentification)又はバーコードなどの付帯情報メモリを貼り付けておくことも可能になる。こうすることで、例えばマガジンが光ディスクアレイシステム100の外部にオフラインで棚管理されるような場合に、マガジン内の複数の光ディスクで構成されるディスクアレイのRAIDのレベル、データが記録された日付、又はデータ(ファイル)のリストなどをRFIDリーダ又はバーコードリーダにより把握することが可能になるといったメリットもある。
なお、光ディスクアレイシステム100は、複数のマガジンを装着可能であっても良い。更に、光ディスクアレイシステム100は、複数のマガジンを切り替え、各マガジン内に格納されている複数の光ディスクを、それぞれ複数の光ディスクドライブ150a〜150dに装着又は取り出しするための搬送体、即ちチェンジャメカニズム(図示せず)を備えていても良い。
以下、本発明の実施の形態では、光ディスクアレイシステム100においてRAIDを構成する複数(4枚)の光ディスク1a〜1dは、同一のマガジンに格納されて管理されているとして説明する。
コントローラ110は、ディスクアレイにデータをストライピング(分散)して記録するために光ディスクドライブ150a〜150dを制御する。また、コントローラ110は、ディスクアレイからデータを再生するために複数の光ディスクドライブ150a〜150dを制御する。コントローラ110は、ホスト制御部111、ドライブ制御部112及びRAID制御部120を備える。コントローラ110は、例えばCPU(中央演算処理装置)などで構成される。
ホスト制御部111は、上位装置(ホスト)101からの処理要求(コマンド)に対する制御、SAS又はFCなどのインタフェースに応じたプロトコル制御、又はデータ転送制御などを行う。
ドライブ制御部112は、光ディスクアレイシステム100に備えられる複数の光ディスクドライブ150a〜150dを制御する。
RAID制御部120は、光ディスクアレイシステム100に備えられる複数の光ディスクドライブ150a〜150dをディスクアレイ(RAID)として扱うための制御を行う。RAID制御部120は、記録制御部121、再生制御部122、修復制御部123、パリティ演算部124、管理情報更新部125、管理情報取得部126、ドライブ状態管理部127、バッファ管理部128、記録状態判別部129及びアドレス変換部130を備える。
記録制御部121は、光ディスク1a〜1dの複数のデータブロックにデータを分散して記録するとともに、複数のデータブロックのうちのデータが欠落したデータブロックのデータ修復に用いられる少なくとも1つのパリティデータを少なくとも1つのパリティブロックに記録する。
記録制御部121は、主にRAIDとしての記録処理を制御する。記録制御部121は、上位装置101から記録要求されたデータを、RAIDレベル(例えばストライプ内にパリティブロックを2つ備えたRAID6など)に従って適切な光ディスクドライブ150a〜150d(光ディスク1a〜1d)に振り分けて記録する。この際、アドレス変換部130は、光ディスク1a〜1dにおけるデータ記録位置を算出する。また、バッファ管理部128は、メモリ140に対する記録データの管理を実施する。また、パリティ演算部124は、RAIDのパリティデータを演算し算出する。
再生制御部122は、記録不正領域情報に基づいて、記録不正領域から読み出されるデータを無効化し、少なくとも1つのパリティデータを用いて記録不正領域のデータを再生する。
再生制御部122は、主にRAIDとしての再生処理を制御する。再生制御部122は、上位装置から再生要求されたデータを、RAIDレベル(例えばストライプ内にパリティブロックを2つ備えたRAID6など)に従って適切な光ディスクドライブ150a〜150d(光ディスク1a〜1d)から再生する。この際、アドレス変換部130は、光ディスク1a〜1dからのデータ再生位置を算出する。また、バッファ管理部128は、メモリ140に対する再生データの管理を実施する。また、修復制御部123は、パリティデータを用いたデータ修復を実施する。
ここで、パリティブロックは、複数のデータブロックのうちの任意のデータブロックのデータが欠落しても、欠落したデータブロックのデータを修復可能にするためのブロックである。パリティブロックは、データ修復に用いられるパリティデータを含んでいる。
修復制御部123は、RAIDによる冗長化構成を有する光ディスクがデグレード状態になった場合、つまりデータ修復が必要な場合に、デグレード状態の光ディスクに対するRAIDレベルに応じたパリティデータを用いたデータ修復を制御する。
なお、本発明の実施の形態において、修復制御部123は、デグレード状態となった光ディスクそのものに対してデータ修復を行う処理部として説明している。しかし、修復制御部123の機能はこれに限定されるものではない。修復制御部123は、例えば光ディスクアレイシステム100が備えたメモリ140又は上位装置101が備えるメモリなどを利用して、別の(新品の)光ディスクに対してデータを修復するといった処理を行っても良い。また、データの記録又は再生を行う光ディスクアレイシステム100としては、必ずしも修復制御部123を備えていなくとも良い。
パリティ演算部124は、RAIDのレベルに応じたパリティデータを演算して生成する。
管理情報更新部125は、データの記録時に少なくとも1つの光ディスクドライブで記録に失敗した場合に、少なくとも1つの光ディスクのRAID管理情報領域(管理情報領域)に記録不正領域情報を記録する。管理情報更新部125は、所定のタイミングで全ての複数の光ディスク1a〜1dのRAID管理情報領域(管理情報領域)に記録不正領域情報を記録することが好ましい。
管理情報更新部125は、RAID管理情報(アレイ管理情報)を生成するとともに、RAID管理情報を更新する。より具体的には、未使用(Blank)状態の光ディスクがセットされた場合に、管理情報更新部125は、ユーザ等からの指示をトリガに、ユーザ等から選択されたRAIDレベルに従い、ディスクアレイ(RAID)に関する管理情報(RAID管理情報)を生成し、生成したRAID管理情報を、RAIDを構成する少なくとも1つの光ディスクに記録する。例えば、管理情報更新部125は、RAIDを構成する全ての光ディスクにRAID管理情報を記録する。RAID管理情報は、後述のRAID管理情報領域21(アレイ管理情報領域)にRAID管理情報を記録する。
また、既にRAIDを構築済みの光ディスクに対して、RAID管理情報の内容が変更された場合に、管理情報更新部125は、適切なタイミングでRAID管理情報を更新記録する。ここで、使用される光ディスクは追記型の光ディスクである。追記型の光ディスクでは、情報がトラック上に連続的に記録され、物理的に情報を書き換えることは出来ない。このような場合、管理情報更新部125は、擬似オーバーライト(POW)と呼ばれる機能などを用いて、更新後のデータを交替記録させることで、論理的な書き換え記録を実現することも可能である。
RAID管理情報領域21へのRAID管理情報の記録は、例えば光ディスクドライブから光ディスクが排出(Eject)される直前、又は記録エラーが発生した直後などに実施される。この時、光ディスクに記録されるRAID管理情報は、例えばメモリ140中に記憶されている。なお、RAID管理情報については、後述の「(2)光ディスクの領域構造」にて説明するため、ここでの詳細な説明は割愛する。
管理情報取得部126は、光ディスクドライブに装着された光ディスクのRAID管理情報領域21から、RAID管理情報を取得する(読み出す)。すなわち、管理情報取得部126は、RAID管理情報領域から記録不正領域情報を取得する。
更に、管理情報取得部126は、RAID管理情報が記録された全ての光ディスクからRAID管理情報を取得し、不整合があった場合には適切なRAID管理情報に修復する機能も有する。管理情報取得部126は、少なくとも1つの光ディスクドライブに装着された少なくとも1つの光ディスクのRAID管理情報領域21から、RAID管理情報を取得する。RAID管理情報領域21からのRAID管理情報の読み出しは、例えば光ディスクドライブに光ディスクが装着され、起動した直後などに実施され、光ディスクから読み出されたRAID管理情報は例えばメモリ140中に記憶される。
ドライブ状態管理部127は、光ディスクアレイシステム100に備えられたディスクアレイ(RAID)を構成する複数の光ディスクドライブ150a〜150dのそれぞれの状態、及び複数の光ディスクドライブ150a〜150dのそれぞれに装着された光ディスク1a〜1dのそれぞれの状態を管理する。
ここで、光ディスクドライブの状態とは、例えば、記録及び再生が可能な“正常状態”、光ピックアップなどの光ディスクドライブの一部の部品の劣化又は故障などの影響で記録のみが出来ない“記録不可状態”、又は記録及び再生がともに出来ない状態であり、光ディスクドライブの交換が必要である“記録再生不可状態(=ドライブ故障状態)”などのことである。
また、光ディスクの状態とは、例えば、正常に記録及び再生が行われている“正常状態”、何らかの理由により記録に失敗したためにデータが欠落しており、データ修復が必要である“デグレード状態”、スペア領域などが枯渇して記録が出来ない“記録不可状態”、又は管理情報などが読み出せないために記録及び再生自体を行うことが出来ない“ディスク故障状態”などのことである。これらの情報を用いて、RAID制御部120は、ディスクアレイ(RAID)として使用可能な光ディスクドライブ及び光ディスクを判断する。
バッファ管理部128は、メモリ140のキャッシュメモリ上に一時的に格納される記録データ又は再生データを管理する。また、バッファ管理部128は、光ディスクへのデータ記録成功をトリガに、バッファ上に格納された記録データを破棄(無効化)するなどの制御も行う。
記録状態判別部129は、光ディスクドライブの故障などの影響で記録に失敗し、データが欠落した記録不正領域の有無を判別するとともに、記録不正領域の位置を判別する。記録状態判別部129における動作の詳細については、後述の「(3)記録不正領域の判別方法」にて説明するため、ここでの詳細な説明は割愛する。ここで、記録不正領域とは、記録再生装置である光ディスクドライブ又は情報記憶媒体である光ディスクのいずれかの原因により、光ディスク上の記録エラーとなったブロック又は記録がなされなかったブロックのことであり、言い換えるとデータが欠落しているブロックのことである。
アドレス変換部130は、上位装置(ホスト)101から記録要求又は再生要求された論理ディスクのアドレス情報を、対応する光ディスク上のアドレス情報に変換する。なお、同一種類の光ディスクでは、特定の位置又は領域に欠陥(ディフェクト)などが偏ってしまうリスクを考慮し、後述のRAIDデータ領域22の開始位置を光ディスクごとにずらして(オフセットさせて)記録するといった方法も有効である。アドレス変換部130は、データの記録開始位置を光ディスク1a〜1d毎にずらした場合の各光ディスク1a〜1dにおけるオフセットサイズを勘案したアドレス変換にも対応する。
なお、メモリ140は揮発性メモリであるとしているが、揮発性メモリだけでなく、メモリ140はSSD(Solid State Drive)のような不揮発性メモリであっても良い。例えば、光ディスクアレイシステム100が複数のマガジンを装着可能な場合、マガジンに関連する調整情報(ディスクの状態、又は光ディスクドライブと光ディスクとの組み合わせにおける最適記録パワーのような調整値など)が、マガジンと対応付けられて不揮発性メモリ(メモリ140)に保存される。これにより、マガジンを交換して光ディスクを入れ替えるための交換時間(光ディスクの起動時間)などを短縮することが出来る。また、メモリ140は、光ディスクアレイシステム100にて動作させるOS(Operating System)などを保存する領域としても使用できる。
なお、本実施の形態において、光ディスク1a〜1dが複数の可搬型の情報記憶媒体の一例に相当し、光ディスクアレイシステム100が情報処理装置の一例に相当し、光ディスクドライブ150a〜150dが複数のドライブ装置の一例に相当し、コントローラ110が制御部の一例に相当し、記録制御部121がデータ記録部の一例に相当し、管理情報更新部125が領域情報記録部の一例に相当し、再生制御部122が再生制御部の一例に相当し、管理情報取得部126が情報取得部の一例に相当する。
(2)光ディスクの領域構造
図2は、本発明の実施の形態における光ディスクの領域構成図である。円盤状の光ディスク1には、スパイラル状に多数のトラック2が形成されており、各トラック2には細かく分けられた多数のクラスタ(Cluster)3が形成されている。クラスタ3は、エラー訂正の単位であり、記録動作及び再生動作が行われる最小の単位であり、ECCブロック又は単にブロックと呼ばれることもある。例えば、BD(Blu−ray Disc)の場合、クラスタ3のサイズは32セクタである。1セクタは2KByteであるので、1クラスタは64KByteである。
光ディスク1には、データの記録又は再生が行われる記録層を含む複数の層が積層されて形成される。光ディスク1の記録層は、リードイン領域4とデータ領域5とリードアウト領域6とを含む。ユーザデータの記録又は再生はデータ領域5に対して行われる。リードイン領域4及びリードアウト領域6は、光ディスクドライブにおける光ヘッド(図示せず)がデータ領域5の端部へアクセスする場合に、光ヘッドがオーバーランしてもトラック2に追随できるようにするための役割を果たす。リードイン領域4及びリードアウト領域6は、ユーザからは直接アクセスできない領域であり、DMA(Disc Management Area)又はTDMA(Temporary Disc Management Area)と呼ばれる、光ディスク1の管理情報が記録される領域などを備えている。
なお、光ディスク1が複数の記録層を備える場合、リードイン領域4に相当する内周側の領域をインナーゾーンと呼び、リードアウト領域6に相当する外周側の領域をアウターゾーンと呼んだりもする。
図3は、ディスクアレイとしてRAIDを構成する複数の光ディスクのうち、任意の光ディスクにおけるデータ領域5の詳細な構成を示す図である。
データ領域5は、ユーザデータ領域10、内周スペア領域11及び外周スペア領域12を含む。
ユーザデータ領域10は、ユーザデータが記録又は再生される領域である。
内周スペア領域11及び外周スペア領域12は、ユーザデータ領域10の中の欠陥クラスタの代わりに用いられる交替クラスタ(又は交替先クラスタとも呼ぶ)を割り当てるための領域として予め用意された予備領域(スペア領域)である。内周スペア領域(以下、ISAとも呼ぶ)11は、光ディスク1の内周側に配置され、外周スペア領域(以下、OSAとも呼ぶ)12は、光ディスク1の外周側に配置される。ここで、ISA11及びOSA12は、欠陥クラスタの交替用領域としてだけでなく、TDMAなどの管理情報を記録するための領域が割り当てられることもある。また、ISA11及びOSA12のサイズは、ユーザによって任意のサイズに設定することが可能であり、データ領域5がISA11及びOSA12を備えない、すなわちISA11及びOSA12のサイズは、0に設定することも可能である。
ユーザデータ領域10は、さらに、FS領域20とRAID管理情報領域21とRAIDデータ領域22とを含む。
FS(ファイルシステム)領域20は、PC(パーソナルコンピュータ)に接続された標準的な記録再生装置(光ディスクドライブ)に当該光ディスク1を単独で装着した場合でも、記録されているデータを読み出しやすくするためにファイルシステム情報を記録する領域である。FS領域20がファイルシステム情報を有することで、例えば、RAID管理情報領域21又はRAIDデータ領域22は、それぞれ1つのファイルとして扱われる。ファイルシステム情報としては、例えばUDF(Universal Designe Format)が使用される。
RAIDデータ領域22は、ユーザデータが記録又は再生される領域である。RAIDデータ領域22は、他の複数の光ディスクとともに所定のRAID(例えばストライプ内にパリティブロックを2つ備えたRAID6など)を構成してデータが記録される領域である。言い換えると、RAIDデータ領域22だけはRAIDとしてデータが記録されるが、FS領域20及びRAID管理情報領域21はRAID形式ではなく、それぞれの光ディスク1で単独でデータが記録される領域である。
RAID管理情報領域(アレイ管理情報領域)21は、RAIDデータ領域22への記録で使用されているRAIDに関するRAID管理情報(アレイ管理情報)を記録するための領域である。RAID管理情報(アレイ管理情報)は、RAID構成情報30、記録不正領域管理情報31及びマガジン管理情報32を含む。
図4は、RAID管理情報領域21に記録されるRAID管理情報の詳細な構成を示す図である。
RAID構成情報30は、ヘッダ40、RAIDレベル41、RAID構成台数42、ストライプサイズ43、RAID番号44及びRAID情報45を含む。
ヘッダ40は、RAID構成情報30の先頭に付与される情報である。ヘッダ40は、RAID構成情報30であることを示す識別子及びRAID構成情報30のサイズに関する情報などを含む。
RAIDレベル(アレイ種別情報)41は、ディスクアレイへの記録方式、つまりRAIDの方式(レベル)に関する情報である。すなわち、RAIDレベル(アレイ種別)41は、ディスクアレイの記録方式を光ディスクアレイシステム100などが識別するための情報である。この記録方式とは、言い換えると、ストライプに含まれるパリティデータの個数、パリティデータの生成方法、及びパリティデータを用いたユーザデータの修復方法に関する情報のことである。具体的には、例えば本発明の実施の形態では、RAIDレベル41は、“RAID6”に相当する数値又はRAID6を識別可能な情報である。
RAID構成台数(アレイ構成数情報)42は、1つのディスクアレイ(RAID)を構成する光ディスクドライブの台数(或いはRAIDを構成する光ディスクの枚数)に関する情報である。すなわち、RAID構成台数(アレイ構成数情報)42は、ディスクアレイを構成する光ディスクの数を表す情報である。本発明の実施の形態では、RAID構成台数42は“4”となる。すなわち、RAID構成台数(アレイ構成数情報)42は、例えば、ディスクアレイを構成する情報記憶媒体(光ディスク)の数を表す情報である。
ストライプサイズ43は、RAIDとしての記録又は再生の単位であるストライプのサイズに関する情報である。例えば、ストライプを構成する各光ディスクのブロックサイズが1クラスタ(64KByte)であるとすると、4枚の光ディスクでストライプを構成するため、ストライプサイズ43は、64KByte×4=256KByteとなる。なお、ストライプサイズ43は、パリティデータを含まない純粋にユーザデータのみが記録されるデータブロックのサイズであっても良い。つまり、4枚の光ディスクでRAID6が構成される場合は、ストライプサイズ43は、2枚の光ディスクのパリティデータブロック分を除いた残り2枚分の光ディスクのデータブロックのサイズ(128KByte)であっても良い。
RAID番号(アレイ番号情報)44は、当該光ディスクがRAID(ディスクアレイ)を構成する複数の光ディスクのうちの何番目の光ディスクであるかを示す値である。つまり、RAID番号44は、RAID(ディスクアレイ)における当該光ディスクの構成順番を示す情報である。具体的には、例えば図1に示すように、光ディスクドライブ150aに装着された光ディスク1aは、“RAID#0”、つまり、RAIDを構成する1番目の光ディスクであるため、光ディスク1aのRAID番号44は、“#”に続く添え字の“0”、又は、何番目の光ディスクであるかを純粋に示す数値の“1”となる。また、“RAID#1”である光ディスク1bのRAID番号44は、“1”(又は“2”)となる。
なお、光ディスクは可搬型の媒体である。そのため、光ディスクが例えマガジンの中にRAIDのディスク順に装着されていたとしても、光ディスクアレイシステム100の修理、メンテナンス又はユーザの操作ミスなどによって順番が入れ替わってしまうことは珍しくない。つまり、光ディスクドライブ150aに4番目のRAIDを構成する光ディスク1dが装着されるような場合もあり得る。このような場合、光ディスクドライブ150aに装着された光ディスク1dが1番目のRAIDのディスク(RAID#0)であるとして扱ってしまうと、データの再生順番が狂ってしまい、データ再生時にデータ化けが発生するといった問題を引き起こしてしまう。この問題を解消するために、RAID構成情報30は、RAID番号44を備える。言い換えると、RAID構成情報30がRAID番号44を備えることで、RAID(ディスクアレイ)を構成する光ディスクドライブと光ディスクとの組み合わせが変わったとしても、同じRAIDセットを構成する光ディスクが装着される限りにおいては、正しくRAIDとして継続してデータを記録又は再生することが出来る。
RAID情報45は、RAIDを構成する各光ディスクドライブ及び光ディスクに関する情報であり、対応するRAID番号の光ディスクドライブ及び光ディスクに関する情報を含む。RAID構成情報30は、RAIDを構成する複数の光ディスクドライブの台数(光ディスクの枚数)分のRAID情報45を含む。本発明の実施の形態では、4台の光ディスクドライブ150a〜150dでRAID(ディスクアレイ)が構成されるため、RAID構成情報30は、4つ分のRAID情報(RAID#0情報45〜RAID#3情報45)を含む。
言い換えると、RAID情報45は、RAID番号(アレイ番号)とそのRAID番号を構成する光ディスクドライブ又は光ディスクを識別可能な情報(例えば、装置シリアル番号又は媒体シリアル番号)とが対応付けられた、RAID(ディスクアレイ)を構成する全ての光ディスクドライブ又は光ディスクに関するテーブル情報(アレイ構成情報テーブル)である。RAID情報45は、ディスクアレイを構成する光ディスクのアレイ番号と光ディスクを一意に識別するための媒体識別番号とが対応付けられた、ディスクアレイを構成する全ての情報記憶媒体に関するアレイ構成情報テーブルである。この情報を用いることで、例えば、光ディスクアレイシステム100は、異なるRAIDセットとして記録された光ディスクが混在しているような不正な状態を検知することが可能になる。
管理情報取得部126は、RAID管理情報領域に記録されたRAID構成情報(アレイ管理情報)を取得する。また、管理情報取得部126は、少なくとも光ディスクが装着された光ディスクドライブが起動されたタイミングにおいて、RAID管理情報領域に記録されたRAID構成情報(アレイ管理情報)を取得する。再生制御部122は、取得したRAID構成情報(アレイ管理情報)に基づいて複数の光ディスクドライブ150a〜150dを制御する。
RAID情報45は、ドライブ固有ID70、ドライブ状態71、ディスク固有ID72及びディスク状態73を含む。
ドライブ固有ID70は、対応するRAID番号に対応する光ディスクドライブを識別するための情報である。ドライブ固有ID70は、例えば各光ディスクドライブに付与されているユニークなID(例えばSerial番号など)であり、例えば光ディスクに最初に又は直前にデータを記録した光ディスクドライブのSerial番号などである。
ドライブ状態71は、対応するRAID番号に対応する光ディスクにデータを記録又は再生した光ディスクドライブの最新の状態を示す情報である。ここで、光ディスクドライブの状態とは、例えば、記録又は再生が可能な“正常状態”、光ディスクドライブの一部の部品の劣化又は故障などの影響で記録のみが出来ない“記録不可状態”、又は、記録及び再生がともに出来ない状態であり、光ディスクドライブの交換が必要な“記録再生不可状態(=ドライブ故障状態)”などのことある。なお。ドライブ状態71に関する情報は、光ディスクアレイシステム100におけるドライブ状態管理部127において管理される光ディスクドライブに関する情報と同等である。
ディスク固有ID72は、対応するRAID番号に対応する光ディスクを識別するための情報である。ディスク固有ID72は、例えば各光ディスクに付与されているユニークなID(例えばBD−Rが備えるBCA(Burst Cutting Area)に含まれるSerial番号、又はRFIDタグ付き光ディスクのRFID内に備えられるSerial番号など)である。ここで、BCAとは、より詳細には、光ディスクの製造段階において、特殊な装置を用いてディスクごとに固有の情報がバーコード状に形成される領域である。BCAは、例えばレーザで反射膜を除去することにより形成される。このように、本実施の形態における各々の光ディスクは、光ディスクを一意に識別可能な媒体シリアル番号があらかじめ記録されている識別情報領域(例えば、BCA)を有していても良い。
ディスク状態73は、対応するRAID番号に対応する光ディスクの最新の状態を示す情報である。ここで、光ディスクの状態とは、例えば、正常に記録及び再生が行われている“正常状態”、何らかの理由により記録に失敗したためにデータが欠落しており、データ修復が必要である“デグレード状態”、スペア領域などが枯渇して記録が出来ない“記録不可状態”、又は管理情報などが読み出せないために記録及び再生自体を行うことが出来ない“ディスク故障(使用不能)状態”などのことである。なお、ディスク状態73は、光ディスクアレイシステム100のドライブ状態管理部127において管理される光ディスクの状態に関する情報と同じである。
記録不正領域管理情報31は、ヘッダ50、記録不正領域総数51及び記録不正領域情報52を含む。
ヘッダ50は、前述のヘッダ40と同様に、記録不正領域管理情報31の先頭に付与される情報である。ヘッダ50は、記録不正領域管理情報31であることを示す識別子及び記録不正領域管理情報31のサイズに関する情報などを含む。
記録不正領域総数51は、RAIDを構成する複数の光ディスクの中で、光ディスクドライブが故障したなどの理由によりデータが正常に記録されずに、データが欠落してしまっている領域(=以降、記録不正領域と呼ぶ)の総数を示す情報である。具体的には、記録不正領域総数51は、後述の記録不正領域情報52の個数を示す。
記録不正領域情報52は、記録不正領域に関する情報である。より詳細には、記録不正領域情報52は、RAID(ディスクアレイ)を構成する複数の光ディスクの中で、データが欠落している少なくとも1つのブロックからなる記録不正領域が存在している光ディスクと、その光ディスクの中の記録不正領域が存在する位置とを特定可能な情報である。なお、記録不正領域の最小単位は、記録エラーが発生した少なくとも1つのブロック又はデータが記録されなかった少なくとも1つのブロックである。記録不正領域情報52は、記録不正RAID番号75、記録不正領域先頭位置76及び記録不正領域サイズ77などを含む。
記録不正RAID番号75は、記録不正領域が存在しているRAID内の番号(RAID番号)を表し、前述のRAID番号44に対応した情報である。なお、記録不正RAID番号75は、記録不正領域が存在している光ディスクが識別できる情報であれば良く、例えば光ディスクに関するディスク固有ID72に対応した情報などであっても良い。
記録不正領域先頭位置76は、記録不正領域が存在する光ディスク内における先頭位置(先頭アドレス)に関する情報である。記録不正領域先頭位置76は、例えば該当する光ディスクのユーザデータ領域10(もしくはRAIDデータ領域22)に対して仮想的に割り当てられる論理アドレス(LBA)であっても良い。また、記録不正領域先頭位置76は、該当する光ディスク上に物理的に付与されているADIP(Address In Pre−groove)のような物理アドレス(PBA)であっても良い。
記録不正領域サイズ77は、記録不正領域先頭位置76を先頭とした記録不正領域のサイズに関する情報である。記録不正領域サイズ77の単位は、例えば、ストライプを構成する各光ディスクにおけるブロックサイズ(つまり64KByteのクラスタ)単位である。なお、記録不正領域サイズ77の単位は任意の単位で良く、例えば光ディスクにおけるアクセスの最小単位である2KByteのセクタ単位などであっても良い。
なお、以下では、説明の簡素化のため、記録不正領域(記録に失敗してデータが欠落した領域)が存在し、本来の冗長度を満足するためにはパリティを用いたデータ修復が必要な光ディスクの状態のことを“デグレード状態”と呼ぶこととする。
マガジン管理情報32は、RAID(ディスクアレイ)を構成する複数の光ディスクがまとめて格納されるマガジン(カートリッジ)に関する情報のことである。マガジン管理情報32は、上述の図1の説明において示した通り、RAIDを構成する複数の光ディスクが1つのマガジンに格納されて管理されるような場合に用いられる情報である。マガジン管理情報32は、ヘッダ60、マガジンID61、マガジン種別62及び格納ディスク総数63を含む。
ヘッダ60は、前述のヘッダ40及びヘッダ50と同様に、マガジン管理情報32の先頭に付与される情報である。ヘッダ60は、マガジン管理情報32であることを示す識別子及びマガジン管理情報32のサイズに関する情報などを含む。
マガジンID61は、各マガジンに付与されているユニークなID(例えばマガジンに貼り付けられるバーコード又はRFIDに記録されたSerial番号のような情報)である。このように、マガジンID61が光ディスクに記録されているので、マガジンと光ディスクとの対応関係が分からなくなった場合に、マガジンID61に基づいて光ディスクが格納されるマガジンを特定することができる。
マガジン種別62は、マガジンの種類を示す情報である。より具体的には、マガジン種別62は、マガジンに格納されている光ディスクの種類、光ディスクの総容量、又はマガジン内の光ディスクが交換可能であるか否かなどを示す情報である。なお、光ディスクの種類を示す情報は、光ディスクが書き換え型のBD−REであるか、追記型のBD−Rであるかを示す情報である。また、光ディスクの総容量は、光ディスクが記録層を1層のみ備えた総容量25GByteの光ディスクであるか、記録層を2層備えた総容量50GByteの光ディスクであるかを示す情報である。
格納ディスク総数63は、マガジンに格納されている複数の光ディスクの総数を表す情報である。
なお、RAID管理情報領域21に記録されるRAID管理情報は、RAID構成情報30に含まれるRAID番号44を除いて、RAID(ディスクアレイ)を構成する全ての光ディスクに同じ情報が記録されても良い。RAID管理情報領域21は、パリティデータを含むRAID方式により、情報を記録することが出来ない。そこで、このように、RAID番号44以外の情報がそれぞれ同じであるRAID管理情報が複数の光ディスクに多重記録されることで、RAID管理情報の冗長性を高め、信頼性を向上させることができる。
ここで、RAID管理情報は、RAID(ディスクアレイ)を構成する全ての光ディスクに記録されると説明しているが、RAID管理情報は、所定数以上の光ディスクに記録されれば良い。より具体的には、例えばディスクアレイのRAIDレベルがRAID6である場合、2つ以下の光ディスクドライブ又は光ディスクが不良でありデータの読みだしが出来ない場合であっても、ディスクアレイとしてはデータを再生することが可能である。よって、少なくとも3枚の光ディスクに同じデータが多重記録されていれば、必ずRAID管理情報が取得可能になる。しかし、再生できたRAID管理情報が必ずしも最新のRAID管理情報であるとは限らないリスクも考慮すると、2つ以上の同じデータが読み出せる方が好ましい。以上から、ディスクアレイを構成する複数の光ディスクのうちの少なくとも4枚の光ディスクにRAID管理情報を多重記録できれば良い。本発明の実施の形態では、4台の光ディスクドライブ150a〜150d(4枚の光ディスク1a〜1d)でディスクアレイが構成される例を示している。そのため、実質的には、ディスクアレイを構成する全ての光ディスク1a〜1dに同じRAID管理情報が多重記録されることになる。
一方、RAID番号44は、情報が記録された光ディスクがRAIDの何番目の光ディスクなのかを示す非常に重要な情報であるが、多重記録されないため冗長性に欠けるように見える。
しかし、例えばRAIDを構成する4枚の光ディスクのうち、1枚の光ディスクのRAID管理情報の取得(再生)に失敗したような場合を考えてみる。このような場合であれば、他の3枚の光ディスクのRAID管理情報に記載されたRAID番号44から、RAID管理情報の取得に失敗した光ディスクのRAID番号44を補間することが出来る。そのため、1枚の光ディスクのRAID管理情報の取得(再生)に失敗した場合であっても、冗長性としては問題無いといえる。
但し、RAIDを構成する4枚の光ディスクのうちの2枚以上の光ディスクについて、RAID管理情報(特に、RAID番号44)の取得に失敗してしまうと、全ての光ディスクのRAID番号44を判断することは出来なくなってしまう。
この問題は、RAID構成情報30におけるRAID情報45により解決することができる。RAID情報45は、ディスク固有ID72を含む。つまり、光ディスクの固有IDを取得することが出来れば、取得した固有IDを持つ光ディスクがRAIDの何番目の光ディスクであるのかを導き出すことが出来る。光ディスクの固有IDが記録されるBCA又はRFIDは、通常の記録再生領域とは異なる記録方式でデータが記録されているため、非常に再生特性が良い。つまり、仮に、光ディスクのRAID管理情報(特に、RAID番号44)が取得できなくても、BCAから光ディスクの固有IDを取得できる可能性は高い。このとき、RAID(ディスクアレイ)を構成する全ての光ディスクには、同じRAID情報45が多重記録されている。RAID情報45に冗長性が確保されていれば、仮に2枚以上の光ディスクのRAID管理情報(特に、RAID番号44)が取得できなかったような場合であっても、RAID管理情報領域21に記録されるRAID管理情報は、各光ディスクのRAID番号44を正しく把握することが出来るだけの冗長性を備えることができる。
以上述べたように、光ディスクのRAID管理情報領域21には、RAID構成情報30に含まれる情報としてRAID番号44が記録される。これにより、光ディスクアレイシステム100の修理、メンテナンス又はユーザの操作ミスなどによりRAID(ディスクアレイ)を構成する光ディスクドライブと光ディスクとの組み合わせが変わったとしても、RAIDとして継続的に正しくデータを記録又は再生することが出来る。
また、光ディスクのRAID管理情報領域21は、RAID構成情報30に含まれる情報として、RAIDにおける各RAID番号に対応する光ディスクを把握可能なRAID情報45を、RAIDを構成する光ディスクドライブの台数(光ディスクの枚数)分だけ備えている。これにより、仮に、RAIDを構成するある光ディスクからRAID管理情報(特に、RAID番号44)が取得できなかったとしても、当該光ディスクがRAIDの何番目の光ディスクであるのかを正確に把握することが出来る。
また、光ディスク1のRAID管理情報領域21には、マガジン管理情報32に含まれる情報としてマガジンID61が記録される。これにより、仮に、光ディスクアレイシステム100に備えられるチェンジャ(図示せず)の異常などにより光ディスクがマガジンに正しく格納できなかったような場合でも、光ディスクのRAID管理情報領域21からマガジンID61を読み出すことで、対応するマガジンを識別することが可能になる。これにより、異なるRAIDセット(マガジン)を構成する光ディスクが混在してしまったような事態が起きても、その不正状態を検出することも出来る。
また、光ディスクのRAID管理情報領域21には、RAID情報45に含まれる情報としてドライブ固有ID70が記録される。例えば、ドライブ固有ID70が、直前に記録又は再生に使用した光ディスクドライブを識別可能な情報である場合を考えてみる。前述したように、光ディスクアレイシステム100は不揮発メモリを備え、不揮発メモリ中に最適記録パワーなどのマガジンに関連する調整情報などが確保される。そして、調整情報が以降の記録又は再生に適用されることで起動時間の短縮が図られる。
しかし、最適記録パワーなどの調整情報は、光ディスクドライブと光ディスクとの組み合わせによって変わりうる情報である。言い換えると、光ディスクドライブと光ディスクとの組み合わせが変わった場合には、調整情報は使用出来ない。このような状況に対して、光ディスク中にドライブ固有ID70が記録されることで、現在光ディスクが装着されている光ディスクドライブが、不揮発メモリに記憶されている調整情報を算出した光ディスクドライブと同一であるか否かを判断することができ、不揮発メモリに記憶されている調整情報を使用することが可能であるか否かを判断することができる。
なお、本発明の実施の形態では、RAID管理情報は、RAID構成情報30、記録不正領域管理情報31及びマガジン管理情報32という3種類の情報から構成されるとして説明しているが、RAID管理情報は、必ずしも3種類の情報から構成されなくても良い。
例えば、RAID構成情報30、記録不正領域管理情報31及びマガジン管理情報32の全てをまとめて1つのRAID管理情報として構成しても同様の効果を得ることが出来ることは言うまでも無い。なお、マガジン管理情報32は、RAID(ディスクアレイ)を構成する複数の光ディスクが1つのマガジンに格納される場合に必要な情報であり、RAID(ディスクアレイ)を構成する複数の光ディスクがマガジンで管理されていない場合には必ずしも必要の無い情報である。
なお、図4には示さなかったが、例えばRAID構成情報30のヘッダ40は、更新記録(書き換え)された回数を示す更新回数情報、及び記録された日時である日時情報などを含んでも良い。更新回数情報及び日時情報は、例えば、RAID管理情報の更新途中に異常が発生した場合など、最新のRAID構成情報30を探したい場合などに使用することが出来る。より具体的には、RAID構成情報30が例えば更新回数情報を含むことで、4つの光ディスク1a〜1dのそれぞれのRAID管理情報領域21に記録されたRAID構成情報30のうち、最も更新回数が大きいRAID構成情報30を、最新のRAID構成情報30として使用することが可能になる。なお、これらの情報は、もちろん記録不正領域管理情報31又はマガジン管理情報32などが、更新回数情報及び日時情報を含んでも同様の効果を得ることが出来る。
なお、記録不正領域管理情報31に含まれる記録不正領域情報52は、記録不正領域の先頭位置である記録不正領域先頭位置76と、記録不正領域の連続したサイズである記録不正領域サイズ77とを含むと説明したが、記録に失敗してデータが欠落している領域を把握することが出来る情報であれば、必ずしも上記の情報に限らない。より具体的には、例えば、1つのブロック(クラスタ)に対して1ビットを割り当てるブロック単位のビットマップ形式で記録不正領域(ブロック)を管理するという方法などでも上記と同様の効果を得ることは言うまでも無い。
なお、本発明の実施の形態では、RAID管理情報は、RAID(ディスクアレイ)を構成する光ディスク上の所定の領域に記録される例を示しているが、例えば光ディスクアレイシステム100に備えられる不揮発メモリ(メモリ140)、又はマガジンが備えるRFIDなどに記憶されても同様の効果を実現できることは言うまでもない。但し、例えば光ディスクアレイシステム100に備えられる不揮発メモリがRAID管理情報を記憶する場合、光ディスクを別の光ディスクアレイシステムに入れ替えた場合に対応できない。そのため、RAID管理情報は、光ディスク、又はRAIDを構成する光ディスクが格納されるマガジンのRFIDなどに記録する方が好ましい。
なお、本発明の実施の形態で説明した記録不正領域管理情報31と特許文献2に記載されている欠陥リストとでは大きな違いがある。
欠陥リストは、それぞれの情報記憶媒体の中の欠陥位置に関する情報を、それぞれの情報記憶媒体に対してのみ記録される情報である。また、欠陥リストは、情報記憶媒体上の欠陥クラスタを管理するための情報であるため、情報記憶媒体にデータを記録する記録再生装置(ドライブ)が故障して記録に失敗した場合に、記録失敗に関する情報は記録されない。
一方、記録不正領域管理情報31は、複数の情報記憶媒体を束ねて構築されるRAID(ディスクアレイ)全体の中での、データが欠落したブロック(クラスタ)に関する情報であり、RAID(ディスクアレイ)を構成する複数の情報記憶媒体に対して同じ情報が記録される。また、例え情報記憶媒体にデータを記録する任意の記録再生装置(ドライブ)が故障して記録に失敗した場合でも、ディスクアレイ(RAID)を構成する複数の情報記憶媒体に対して記録不正領域管理情報31が記録される。そのため、記録再生装置(ドライブ)の故障が原因で記録に失敗しデータが欠落したブロック(クラスタ)に関する情報を含む記録不正領域管理情報31が、正常な記録再生装置(ドライブ)に装着された情報記憶媒体の中のRAID管理情報領域21に記録される。
言い換えれば、欠陥リストという情報を用いる方法では、光ディスクのような可搬型の情報記憶媒体を用いた光ディスクアレイシステムにおいて、ディスクアレイを構成する光ディスクの中にデータ欠落領域を含んだ状態のディスクアレイに対して、高いデータ信頼性、高い可用性及び高い転送レートを確保することができ、継続してデータを記録又は再生することができるという本発明の実施の形態で説明したような効果を得ることは出来ない。
(3)記録不正領域の判別方法
ここでは、光ディスクアレイシステム100のコントローラ110が備える記録状態判別部129の動作について、一例を述べる。
図5は、記録不正領域を含んだRAID(ディスクアレイ)における、複数の光ディスク1a〜1dの記録状態を示す説明図である。より詳細には、図1に示す4台の光ディスクドライブ150a〜150dと4枚の光ディスク1a〜1dとによりRAID6のディスクアレイが構成される。図5では、データの記録中に、光ディスクドライブ150bが故障などによりデータを記録することが出来ない状態(記録不可状態)になり、光ディスクドライブ150bに装着されたRAID#1を構成する光ディスク1bに対して記録が継続出来なくなった例を示している。なお、図5における記録不正領域とは、RAID#1である光ディスク1bのlba3からlba5までのブロックとなる。
なお、図5では、説明簡略化のため、ストライプを構成するブロック単位に論理ブロックアドレスが割り振られている。ここで、論理ブロックアドレスとは、光ディスクに対してホスト(ユーザ)がアクセス可能な空間に対して仮想的に割り振られた位置情報のことである。また、説明簡略化のため、4枚の光ディスク1a〜1dを束ねて1枚の光ディスク(1ボリューム)に見せる論理ディスクにおける論理ブロックアドレスは“LBA”とし、物理的な1枚の光ディスク毎における論理ブロックアドレスは“lba”とし、2つの論理ブロックアドレスを区別して記載する。本明細書の実施の形態における以降の説明においても、図5と同様に論理ブロックアドレスの記載を分けて説明する。
図5では、論理ディスクのLBA6にデータを記録している際に、光ディスクドライブ150bが記録に失敗し記録不可状態になったが、1つのパリティブロックを有するRAID5に相当するRAIDレベルでの冗長度を保った記録が可能であるため、ディスクアレイとしての記録は継続され、LBA11までデータが記録された状態を示す。図5において、ハッチングで示したブロックが記録済みブロックであり、ハッチングしていないブロックが未使用(未記録)ブロックである。
光ディスク1bにおいては、lba3のブロックへの記録前又はlba3のブロックへの記録中に光ディスクドライブ150b又は光ディスク1bが原因で記録に失敗したとする。この結果、4枚の光ディスク1a〜1dで構成されるRAID6のディスクアレイは、1つのパリティに対応する冗長性が失われてパリティブロックを1つのみ有するRAID5相当のディスクアレイになる。この状態でも、残りの3台の光ディスクドライブ150a,150c,150dは正常であり、RAID5相当の冗長度は確保されているため、まだ信頼性を保ってデータを記録することができる。
そのため、正常に記録可能な残りの3台の光ディスクドライブ150a,150c,150dは、継続してデータを記録することができる。その結果、論理ディスクとしてはLBA11までデータが記録される。なお、記録不可となった光ディスクドライブ150bに装着された光ディスク1bにおいて、lba0からlba2までは正常に記録が出来た領域となり、lba3からlba5までは記録不正領域となる。また、記録不正領域のうち、lba3は、記録中又は記録後のVerify(正常に記録できたか否かの確認)でエラーとなった可能性もある。そのため、lba3は、記録済み状態、一部記録済み状態又は未記録状態のいずれかであるが、lba4及びlba5は未記録状態である。
なお、1つのパリティが失われた状態で記録を継続するか否かは、例えばユーザの指示により選択可能であっても良い。
ここで、記録に失敗しデータが欠落したデグレード状態の光ディスク1bは、出来るだけ早いタイミングでデータを修復することが好ましい。しかし、光ディスクのような可搬型の情報記憶媒体にデータをアーカイブする場合、データが記録された光ディスクは、光ディスクドライブから取り外されてオフラインで棚管理される場合も多い。また、システムの使用状況によっては即座にデータを修復できない場合も多い。言い換えると、データが修復される前でも、より高い信頼性で記録又は再生が行えることが求められる。そこで、後述の「(4)記録不正領域を含むRAIDからのデータ再生方法」に示すような方法を用いてデータを再生し、記録不正領域を正確に判別することが重要となる。
以下、記録状態判別部129が記録不正領域を判別する方法として、(i)記録不正領域管理情報31を利用する方法と、(ii)トラック情報80を利用する方法との2つの具体例について説明する。
(i)記録不正領域管理情報31を利用する方法
図6及び図7は、光ディスクのRAID管理情報領域21に記録される、RAID管理情報の具体例を示す図である。
図6は、光ディスクのRAID管理情報領域21に記録される記録不正領域管理情報31の具体例を示す図である。ここで、RAID(ディスクアレイ)の状態は、図5に示す状態であるとする。また、光ディスク1a〜1dのRAID管理情報領域21に記録されたRAID管理情報は、光ディスク1a〜1dの起動時に管理情報取得部126によってメモリ140に読み出されている。以降、RAID管理情報の内容が変更されるたびにメモリ140内に記憶されたRAID管理情報が最新の状態として更新される。そして、RAID管理情報は、任意のタイミングで管理情報更新部125によって再び光ディスク1a〜1dのRAID管理情報領域21に更新記録される。
記録不正領域管理情報31は、記録に失敗するなどして正しくデータが記録されていない、データが欠落した記録不正領域を管理するための情報である。記録不正領域管理情報31から、記録不正領域がRAID(ディスクアレイ)上に何箇所存在するのか、記録不正領域はRAIDを構成する何番目の光ディスクであるのか、及び記録不正領域は光ディスクのどの位置であるのかを一目瞭然で把握することが出来る。
例えば、図6に示す記録不正領域管理情報31では、RAID(ディスクアレイ)上に存在する記録不正領域は1箇所であり、記録不正領域は、RAID#1を構成する光ディスク(つまり、光ディスク1b)に存在する。また、記録不正領域の先頭の論理ブロックアドレスはlba3であり、記録不正領域のサイズは、連続した3ブロック(つまり、lba3からlba5の間の領域)であることを示している。
なお、記録に失敗しデータが欠落したデグレード状態の光ディスクは、出来るだけ早いタイミングでデータを修復することが好ましい。ここで、例えば、光ディスクドライブ150bが故障したなどの理由でデータが記録出来なくなってデータの記録に失敗した光ディスク1bの場合、光ディスクドライブ150bを交換すれば、光ディスク1bは継続して記録又は再生に利用可能である。この際、修復制御部123は、ストライプ単位でパリティデータなどから欠落したデータを修復して、修復したデータを対応する光ディスク1bの記録不正領域に書き戻す。或いは、修復制御部123は、記録不正領域の部分は欠陥領域として扱い、修復したデータをスペア領域に交替記録する。これらの方法により、記録不正領域のデータのみを修復するだけで正常な状態の光ディスク1bに修復させることが出来る。
これは、ドライブが故障してデグレード状態になった場合に、必ず交換した新たなHDD(ハードディスクドライブ)に対して全てのデータを修復しなければならなかった従来のHDDシステムと比べて、可搬型の情報記憶媒体でRAIDを構成する場合の1つの大きな特徴である。もちろん、ドライブの故障ではなく、ディスクアレイを構成する光ディスク自体に問題が生じた場合にデータを修復するためには、従来のHDDと同様に、別のディスクセットに対してデータをコピーする必要がある。
なお、(i)で説明した方法は、本発明の実施の形態で説明している追記型の光ディスクだけでなく、書き換え型の光ディスクに対してもそのまま適用可能な方法である。但し、追記記録が保証される追記型光ディスクと比べて、書き換え型光ディスクはランダムに記録がなされる可能性がある。そのため、記録不正領域は、ブロック(クラスタ)単位のビットマップ形式で管理されることが好ましい。
なお、記録不正領域管理情報31以外の情報を用いても、記録不正領域を含んだ光ディスク1bを特定することが出来る。図7は、RAID構成情報30に含まれるRAID情報45を示す図である。図7に示すように、記録不正領域を含んだデグレード状態の光ディスク1bのディスク状態73は、異常(Fatal)状態であるとして記録されている。そのため、ディスク状態73の情報を確認することで、記録不正領域を含んだデグレード状態にある光ディスク1bを特定することが可能である。少なくともディスク状態73の情報を用いることで、従来のHDDと同様の制御方法、つまり、記録エラーなどの障害が発生した光ディスクドライブ150b又は光ディスク1bを再生に使用せずに、必ずパリティデータからデータを修復して再生する制御方法を実現することが出来ることは言うまでも無い。
(ii)トラック情報80を利用する方法
図8及び図9は、光ディスクに関するトラック情報について説明するための図である。ここでも、RAID(ディスクアレイ)の状態は、図5に示す状態であるとする。
光ディスクドライブ150a〜150dは、装着された光ディスク1a〜1dのトラック(SRR:Sequential Recording Rangeとも呼ぶ)に関するトラック情報80をコントローラ110に通知する機能を備えている。光ディスクには、DMA(Disc Management Area)又はTDMA(Temporary DMA)と呼ばれる管理情報領域にSRRI(SRR Information)と呼ばれる情報が記録されている。SRRIは、光ディスク上の全てのトラック(SRR)に関して、該当するSRRが追記可能(Open)であるか否かを示す情報と、光ディスク上の実アドレスである物理ブロックアドレスでの先頭位置と記録終端位置とに関する情報などを含む。SRRIに基づいて、光ディスクドライブ150a〜150dは、光ディスクドライブ150a〜150dを制御するコントローラ110などが把握可能な論理ブロックアドレスの形式で、トラック情報80を通知する。より詳細には、光ディスクドライブ150a〜150dは、MMC(Multi Media Command)規格で規定されたRead Track Informationコマンドに対して、トラック情報80を返送する。
図8は、トラック情報80のデータ構造を示す説明図である。
図8に示すように、トラック情報80は、トラック番号81、トラック状態82、先頭アドレス83、LRA(Last Recorded Address)84、NWA(Next Writable Address)85及び残サイズ86を含む。
トラック番号81は、光ディスク上に存在するトラック(SRR)に割り振られる通し番号を示す情報である。
トラック状態82は、当該トラックが追記可能な状態(Open状態)であるか、追記不能な状態(Close状態)であるかを示す情報である。
先頭アドレス83は、当該トラックが配置される先頭位置に関する情報であり、論理ブロックアドレス(lba)で通知される。
LRA84は、当該トラックにおいて有効なユーザデータが記録されている最終位置を示す情報であり、論理ブロックアドレス(lba)で通知される。
NWA85は、当該トラックにおいて次にユーザデータを記録(追記)可能な位置を示す情報であり、論理ブロックアドレス(lba)で通知される。
残サイズ86は、当該トラックにおいて記録可能な(未使用状態の)領域のサイズに関する情報である。
図9は、図5の状態にある4枚の光ディスク1a〜1dのそれぞれにおけるトラック情報80の具体例を示す図である。
図9に示すように、記録エラーが発生した光ディスク1bのトラック情報80は、正常に記録された他の光ディスク1a,1c,1dのトラック情報80と比べて、LRA84及びNWA85などが異なる。より具体的には、全ての光ディスク1a〜1dにおいてトラック開始位置(先頭アドレス83)が同じ場合である場合、LRA84の値又はNWA85の値が最も大きい光ディスクは、正常に記録できた光ディスクであると判断することが出来る。また、LRA84の値又はNWA85の値が、他の光ディスクのLRA84の値又はNWA85の値よりも小さい光ディスクは、記録不正領域を含んでいると判断することが出来る。これは、光ディスクが複数のトラックを備える場合であっても同様である。
なお、LRA84が指す値は、例え正常にデータが記録された場合でも、記録されるデータの内容(ユーザデータ、又はパディングデータのような非ユーザデータ)によって同じRAIDを構成する光ディスク1a〜1dの間で異なる可能性がある。そのため、NWA85を用いて記録不正領域を判断することによって、より確実かつ容易に記録不正領域を判断することができる。つまり、図9の場合、NWA85の最大値が“6”であり、RAID#1を構成する光ディスク1bのNWA85の値は、他の光ディスクと異なる“3”であるため、光ディスク1bにおけるlba3からlba5(=NWA85が示すlba6の手前のブロック)までの領域が記録不正領域であると判断することが出来る。
なお、RAIDデータ領域22の開始位置を光ディスクごとにずらして(オフセットさせて)データを記録する方法が採用される場合は、同一ストライプを構成するブロックが存在するトラックの配置も光ディスクごとに異なり、また対応するトラックの先頭アドレス83なども異なる。しかし、このような場合であっても、オフセット情報とトラック情報80とを用いて対応するトラックを確定させ、そのLRAの値又はNWAの値から演算することで、上記に示した方法と同じ方法で記録不正領域を算出することが可能である。
なお、(ii)で説明した方法は、本発明の実施の形態で説明している追記型の光ディスクに対してのみ適用可能であり、一般的な書き換え型の光ディスクに対しては適用することは出来ない。何故ならば、一般的な書き換え型の光ディスクには、トラック(SRR)という概念が無いためである。言い換えれば、追記型の光ディスクと同様にトラックの概念を持った書き換え型の光ディスクに対してであれば、(ii)で説明した方法を適用することは可能である。
(4)記録不正領域を含むディスクアレイからのデータ再生方法
図10は、図5の状態のディスクアレイにおける、論理ディスクの記録状態を示す説明図である。なお、上記(3)に示す記録不正領域判別方法により、RAID制御部120における記録状態判別部129は、既にどの領域が記録不正領域であるのかが把握できている状態であるとする。
従来、ディスクアレイ装置で多く利用されたHDD又はSSDの場合、ドライブとディスクとが一体である。そのため、ドライブ及びディスクのいずれか一方が原因でエラーが発生した場合には、エラーが発生したHDDは利用不能状態になる。その結果、仮に4台のHDDでRAID6としてディスクアレイが構成される状態で、1つのHDDがエラーとなった場合、ディスクアレイは全ての領域において1つのパリティ分の冗長度を失った状態となる。つまり、エラーとなったHDDに記録されたデータは全て失われることになる。その結果、制御方法も単純であり、基本的に全てのストライプ、詳細には、エラーが発生したHDDに対してユーザデータが記録されたストライプの再生において、パリティに基づいてデータを修復し再生することになる。
一方、光ディスクのような可搬型情報記憶媒体を用いたディスクアレイの場合には、図10に示すように、ドライブとディスクとは分離可能である。そのため、例え光ディスクドライブ150bが故障して記録出来ない状態になったとしても、光ディスクドライブ150bだけを交換する又はホットスペアドライブを利用することで光ディスク1bは継続して利用可能である。また、仮に、光ディスクの傷、汚れ又はディフェクトなどの局所的な欠陥が原因で記録エラーとなったとしても、記録エラーになった領域以外の領域は基本的に利用可能である。そのため、少なくとも正常に記録できた領域のデータは失われることは無く、基本的に再生に利用することが出来る。
図10に示すように、LBA0からLBA5までの領域は、RAID6相当の冗長性を保った状態で正常に記録できた領域である。また、LBA6からLBA11までの領域は、1つのパリティブロック分の冗長度を失ったRAID5相当の冗長性で記録された領域である。LBA12以降の領域は、未使用(未記録)領域であり、次回の記録実施時には、追記位置(NWA)であるLBA12から、同じく1つのパリティブロック分の冗長度を失った状態で記録が再開される。
ここで、RAID6相当の冗長性を保って正常に記録されたLBA0からLBA5までの領域に対しては、通常通り再生が行われる。より具体的には、各ストライプ単位で見た場合に、少なくともユーザデータ(非パリティデータ)が記録されたデータブロックを有する光ディスクからユーザデータが再生されることで、正しくユーザデータを再生することが可能である。また、仮に、データブロックが正常に読み出せなかった場合には、パリティブロックを用いて、正常に読み出せなかったデータブロックのデータを修復することが可能である。つまり、ディスクアレイの中に記録不正領域が含まれているとしても、正常に記録できているLBA0からLBA5までの領域については、RAID6相当の冗長性により、非常に高い信頼性を保った状態でデータを再生することが出来る。この制御方法は、ドライブとディスクとが一体であるHDD又はSSDを用いたディスクアレイでは出来なかった制御方法である。
一方で、1つのパリティブロック分の冗長性を失った状態で記録された領域、つまり記録不正領域を含むLBA6からLBA11までの領域においては、従来のHDDの場合と同様、基本的にパリティを用いたデータの修復及び再生が必要である。また、追記位置(LBA12)から新たにデータが記録される場合についても、従来のHDDの場合と同様、1つのパリティブロック分の冗長性を失った状態(RAID5相当)でデータの記録が継続できる。
具体的な例について説明する。図5に示すLBA8からLBA9のストライプの場合、ユーザデータが記録される予定の光ディスク1bのブロックは、記録不正状態であるため、正しくデータが記録されていない。あるいは、光ディスク1bのLBA8からLBA9のブロックは、未記録状態である。そのため、修復制御部123は、LBA8からLBA9のストライプからデータを再生する際には、少なくとも光ディスク1bに記録される予定であったLBA9のユーザデータを、パリティブロックに記録されたパリティデータを用いて修復して再生するように制御する。
より詳細には、再生制御部122は、光ディスク1bの記録不正領域内のブロックからはデータを再生しないように制御する。もしくは、再生制御部122は、光ディスク1bの記録不正領域内のブロックからデータを再生した後、再生したデータを無効化するように制御する。特に、(追記型の)光ディスクを用いたディスクアレイシステムでは、記録されなかった領域は未記録状態のままとなることが多い。光ディスクドライブは、未記録領域への再生要求に対して“00”データが読み出されたかのように動作する。言い換えると、LBA8を先頭としたストライプからデータを再生する際に、LBA9に相当する光ディスク1bからデータを再生し、再生したデータをデータブロックのデータとして扱ってしまうと、LBA9のデータブロックに記録されたデータは“00”データであると誤って判断される。その結果、データ化けが発生してしまう。
仮に、ストライプからデータを再生する際に、パリティデータを含む全てのストライプデータを読み出したとしても、ストライプから読み出されたデータに異常なデータが含まれていることを検出することは可能である。しかしながら、ストライプ中のどのブロックから再生されたデータが異常なデータであるかは判断できない。つまり、記録不正領域を正しく把握して再生を制御することが出来なければ、記録不正領域を含むディスクアレイからのデータ再生においてデータ化けが発生する。しかしながら、記録不正領域を正しく把握して再生を制御することが出来れば、データ化けが発生するおそれは無い。
なお、この課題に対する解決策の1つとして、当然、未記録領域への再生要求に対して光ディスクドライブは“00”データを返すのではなく、エラー応答させても良い。
一方、LBA0から始まるストライプの場合、記録不正領域を含む光ディスク1bにもユーザデータが記録されている。しかし、記録不正領域を含む光ディスク1bも再生可能であるため、このストライプでは、光ディスク1a及び光ディスク1bのデータを再生すれば良い。この場合、2つのパリティブロックが残っている。そのため、仮に、光ディスク1a及び光ディスク1bからのデータ再生が失敗したとしても、パリティデータP0及びQ0が記録された光ディスク1c及び光ディスク1dのデータ再生が出来れば、ストライプに記録されたユーザデータは修復して再生することが可能である。
このように、記録エラーが発生した光ディスク1bを含むディスクアレイにおいて、記録不正領域を正しく把握して、記録不正領域を含むストライプと記録不正領域を含まないストライプとで再生方法を切替えることが可能となる。これにより、従来のHDDを用いたディスクアレイシステムと比べて、より高い信頼性を保った状態での再生が可能となる。これは、特にデータ消失が許されないビジネス用途又はデータセンター用途などにおいて、非常に大きな効果である。
図11は、本発明の実施の形態における光ディスクアレイシステム100の再生処理を示すフローチャートである。ここでは、光ディスクアレイシステム100が上位装置(ホスト)101からの再生要求を受けた場合を例に説明する。また、上位装置(ホスト)101から要求されるデータ再生サイズは、ブロック単位である。なお、ここでは、説明簡略化のため、データ再生サイズがストライプ単位である場合を例に説明する。また、光ディスクアレイシステム100において構成されるRAID(ディスクアレイ)の状態は、図5に示す状態とする。
まず、ステップS1において、管理情報取得部126は、光ディスクドライブ150a〜150dに光ディスク1a〜1dが装着されて起動されると、光ディスクドライブ150a〜150dに装着された光ディスク1a〜1dのRAID管理情報領域21から、RAID管理情報を取得する。管理情報取得部126は、取得したRAID管理情報をメモリ140に記憶する。
次に、ステップS2において、ホスト制御部111は、再生位置及び転送サイズに関する情報(再生パラメータ)を受領する。より具体的には、光ディスクアレイシステム100におけるホスト制御部111は、上位装置(ホスト)101から要求された、データを再生する先頭位置に関する論理ディスクの論理ブロックアドレス(先頭LBA)、及びデータを再生及び転送するブロックサイズ(残転送サイズ)などの再生パラメータを受領する。なお、先頭LBA及び残転送サイズなどの再生パラメータは、それぞれメモリ140に格納される。メモリ140に格納された先頭LBA及び残転送サイズは、以降の処理において必要に応じて更新される。
次に、ステップS3において、記録状態判別部129は、先頭LBAが属するストライプに記録不正領域が含まれているか否かを判断する。より具体的には、まず、アドレス変換部130は、再生要求を受けた先頭LBA90が属するストライプを、各光ディスク1における論理ブロックアドレスlbaに変換する。そして、記録状態判別部129は、再生対象のストライプを構成するブロックのうち、ユーザデータが記録されたデータブロックの中に記録不正領域が存在するか否かを判断する。言い換えると、記録状態判別部129は、再生させない又は再生データを無効化するといった再生制限を行う必要のある光ディスク1が存在するか否かを判断する。
なお、記録状態判別部129は、上記(3)で説明した記録不正領域判別方法に基づいて、再生対象のストライプを構成するブロックのうち、ユーザデータが記録されたデータブロックの中に記録不正領域が存在するか否かを判別する。
ここで、RAIDにおける再生の動作においては、ストライプ単位でデータが再生される場合、RAIDとしての並列動作が可能なため、データブロックのユーザデータだけでなくパリティブロックのパリティデータも合わせて読み出すのが一般的である。仮に、データブロックのユーザデータの読み出しに失敗した場合には、同時に読み出したパリティブロックのパリティデータからユーザデータを修復して再生することが出来る。つまり、本質的には、ユーザデータだけでなく、パリティデータについても不正なデータでないかを正しく把握しておくことが必要である。そのため、記録状態判別部129は、データブロック及びパリティブロックのいずれであるかに関わらず、再生するストライプを構成するブロックの中に記録不正領域に含まれるブロックが存在するか否かを判断すれば良い。しかし、本発明の実施の形態においては、説明簡素化のため、記録状態判別部129は、再生要求を受けたストライプを構成するブロックの中のユーザデータを含むデータブロックに対してのみ、記録不正領域が含まれているか否かを判断する例を示す。
記録状態判別部129は、再生対象のストライプを構成するブロックのうち、ユーザデータが記録されているデータブロックの中に記録不正領域が存在する場合には再生制限を行う必要があると判断する。この処理は、ある光ディスクにおいて再生エラーが発生した場合と同様の処理となる。そして、再生制限を行う必要があると判断された場合には、ステップS4の処理へ移行する。再生制限を行う必要が無いと判断された場合には、ステップS5の処理へ移行する。
再生対象のストライプを構成するブロックのうち、ユーザデータが記録されているデータブロックの中に記録不正領域が存在すると判断された場合(ステップS3でYES)、ステップS4において、再生制御部122は、ユーザデータを修復して再生する。より具体的には、再生制御部122は、再生対象のストライプを構成するブロックのうち、記録不正領域に含まれるデータブロックを除くデータブロックのユーザデータと、少なくとも1つのパリティブロックのパリティデータとを読み出すように、対応する光ディスクドライブに要求する。読み出されたデータは、例えばメモリ140に一時的に格納される。そして、再生制御部122は、パリティデータを用いて、記録不正領域に含まれるデータブロックに本来記録される予定であったユーザデータを修復する。そして、再生制御部122は、ホスト制御部111を用いて、修復されたユーザデータを含む再生要求されたユーザデータを上位装置(ホスト)101へ転送する。これにより、再生制御部122は、あたかもデータブロックから正しくデータが読み出せたかのようにホスト(上位装置)101に対して振る舞うことが出来る。
なお、ステップS4では、再生制御部122は、記録不正領域に含まれるブロックに対してはデータを読み出さないように制御しているが、この制御方法に限るものではない。具体的には、例えば、再生制御部122は、ストライプを構成する全てのブロックのデータを全ての光ディスクドライブに読み出させ、読み出されたデータのうち記録不正領域に相当するブロックのデータを、正しく読み出せなかったデータとして無効化させる。そして、再生制御部122は、パリティデータを用いて無効化したデータを修復して再生する。このような制御方法でも実現可能である。或いは、再生制御部122は、記録不正領域に含まれるブロックが存在する光ディスクを再生する光ディスクドライブからのデータ読み出し結果が強制的にエラーになるように光ディスクドライブを制御しても良い。このような制御方法でも実現可能である。
一方、再生対象のストライプを構成するブロックのうち、ユーザデータが記録されているデータブロックの中に記録不正領域が存在しないと判断された場合(ステップS3でNO)、ステップS5において、再生制御部122は、通常通りユーザデータを再生する。より具体的には、再生制御部122は、再生対象のストライプを構成する全てのブロックのデータを読み出すように光ディスクドライブに要求する。読み出されたデータは、メモリ140に一時的に格納される。そして、再生制御部122は、読み出されたデータのうちユーザデータを上位装置(ホスト)101へ転送する。
なお、仮に、ユーザデータが含まれるデータブロックのうち、ユーザデータを正しく読み出せなかったデータブロックが存在した場合には、再生制御部122は、ステップS4の処理と同様に、パリティデータを用いてユーザデータを修復して再生する。
次に、ステップS6において、再生制御部122は、残転送サイズを更新する。より具体的には、再生制御部122は、メモリ140に格納されている残転送サイズから、ステップS4又はステップS5で転送が完了したサイズ(つまり2ブロック)分を減算して、新たな残転送サイズとしてメモリ140内の残転送サイズの値を更新する。
次に、ステップS7において、再生制御部122は、残転送サイズが残っているか否かを判断する。すなわち、再生制御部122は、続けて次のユーザデータを転送するか否かを判断する。より具体的には、再生制御部122は、ステップS6で更新したメモリ140中に格納された残転送サイズが1以上であるか否かを判断する。残転送サイズが1以上である、つまり転送が完了していないデータが残っていると判断された場合(ステップS7でYES)、ステップS8の処理へ移行する。一方、残転送サイズが0である、つまり残転送サイズがなく上位装置(ホスト)101から要求されたサイズ分のユーザデータの転送が完了したと判断された場合(ステップS7でNO)、処理を終了する。
次に、ステップS8において、再生制御部122は、先頭LBAを更新する。具体的には、再生制御部122は、メモリ140に格納されている先頭LBAの値に、ステップS4又はステップS5で転送が完了したサイズ(つまり2ブロック)分を加算して、新たな先頭LBAとしてメモリ140内の先頭LBAの値を更新する。そして、ステップS3の処理へ戻る。
以上が、再生処理における制御フローである。
以上説明したように、記録不正領域を含むストライプからデータが再生される際には、記録不正領域に含まれるブロックからデータが再生されない、又は読み出されたデータが無効として扱われる。これにより、未記録領域であるにも関わらず再生要求に対してデータ(“00”データ)が正しく読み出せたように振舞う光ディスクドライブを備えた光ディスクアレイシステム100においても、再生時にデータ化けが発生するという問題を解消することが出来る。更に、記録不正領域を含んだ光ディスクを有するRAID(ディスクアレイ)において、正しくRAIDとしての冗長度を保って記録できた記録不正領域を含まない領域に対してデータが再生される場合には、正しくRAIDとしての冗長度を確保してデータが再生される。そのため、RAID(ディスクアレイ)としてのデータ信頼性を向上させることが出来る。
なお、上述のステップS1は、上位装置(ホスト)101から再生要求を受け付けたタイミングではなく、例えば光ディスクが光ディスクドライブにセット(起動)された時点で読み出しておいても良い。
なお、上述の図11では、上位装置(ホスト)101から要求されたデータ再生サイズがストライプ単位の場合を例に説明しているが、例えばデータ再生サイズがブロック(クラスタ)単位の場合には、少なくとも該当するブロックのデータが記録された光ディスクからのデータが再生されれば良い。仮に、該当するブロックが記録不正領域である場合には、例えば上述のステップS4において、再生制御部122は、当該ブロックが存在するストライプ単位でパリティデータからデータを修復すればよい。
なお、記録不正領域は必ずしも未記録状態であるとは限らない。具体的には、例えば書き換え型の光ディスクを用いたRAID(ディスクアレイ)の場合は、光ディスクドライブの故障の影響等で記録されずデータが欠落した領域は、未記録状態である場合もあるが、何らかの別のデータが記録されている場合もある。このような場合、仮に未記録領域への再生要求に対してエラーとするように光ディスクドライブを制御したとしても、対応することは出来ない。本発明の実施の形態で示したように、記録不正領域を判別し、記録不正領域であるブロックからデータを再生しない、又は記録不正領域であるブロックから読み出されたデータを無効として扱うことが好ましい。これにより、追記型の光ディスクだけでなく、書き換え型の光ディスクに対しても同じ制御方法により、データ化けが発生しない信頼性の高いデータ再生方法を提供することが出来る。
なお、記録に失敗した領域(つまり記録不正領域)以外にも、RAID(ディスクアレイ)を構成する光ディスク内に未記録領域が存在する場合があり得る。具体的には、図12に示すように、ユーザデータが記録されていたトラック(SRR)#0が、使用可能なブロックが残っている状態で追記不可(Close)となった場合である。例えば、図12の場合、記録終端位置であるLRAはLBA11であるが、LBA12と、トラック#0の終端位置であるLBA17との間のブロック(領域)は、未記録のままとなる。しかし、この領域は、記録データが欠落した記録不正領域では無いため、記録不正領域として扱う必要は無く、例えば記録不正領域情報52として記録する必要は無い。言い換えれば、追記型の光ディスクを用いたディスクアレイの場合、正常な状態(意図した状態)で未記録領域が光ディスク上に残ったままになることもある。つまり、記録不正領域とは、あくまで記録に失敗するなどの理由でデータが欠落してしまった領域のことである。
また、一般的には、LBA12とLBA17との間のブロックには有効なデータが記録されている訳ではないので、データ再生が要求されることは無い。しかし、光ディスクアレイシステム100としては、仮に、上位装置(ホスト)101等からデータ再生要求を受けた場合には、“00”データを読み出す光ディスクドライブの機能を用いてRAIDとしてデータが再生されれば良い。この際、LBA12とLBA17との間のブロックは記録不正領域ではないため、LBA0とLBA5との間のブロックと同様にRAID6としての通常の再生が行われればよい。
なお、このような場合においても、仮に未記録領域への再生要求に対してエラーとするように光ディスクドライブを制御するだけでは、対応することは出来ない。本発明の実施の形態で示したように、記録不正領域を判別し、記録不正領域であるブロックからデータを再生しない、又は記録不正領域であるブロックから読み出されたデータを無効として扱う方法が最良の方法であると言える。
(5)記録不正領域を含むRAIDへの冗長度を確保した記録継続方法
上述したとおり、RAID6のディスクアレイを構成することで、1台の光ディスクドライブ(又は1枚の光ディスク)に異常が発生(故障)したとしても、RAID5相当の冗長度を確保した状態でならば、記録を継続することが出来る。しかし、出来るだけ早く元のRAID6の冗長度を保った状態に復帰し、RAID6の冗長度でデータが記録されることが望ましい。
従来のHDDを用いたディスクアレイの場合、故障したドライブを正常なドライブに交換する又はホットスペアドライブを用いることにより、パリティデータを用いて、故障したドライブ内のデータを修復した後、記録を継続することが出来た。
一方、光ディスクを用いたアレイシステムの場合、光ディスクドライブに故障等が発生しても、データが記録されている光ディスクは使用可能である。つまり、光ディスク内には、管理情報を含む以前のデータが有効な状態で残っている。このような場合、交換された光ディスクドライブ又はホットスペアドライブに光ディスクが装着されることで、記録データが欠落してデグレード状態となった光ディスクのデータを必ずしも修復せずに、そのまま使い続けることが出来る。
しかし、特に、追記型の光ディスクの場合、記録可能な位置は追記位置(NWA)に限定されてしまう。そのため、デグレード状態の光ディスクに対しては、データを修復せずにそのまま新たなデータを継続して記録することは出来ない。
この問題については、追記位置を新たに作成する(トラックを分割する)という方法を用いることで解決できる。なお、トラックの分割については、MMC規格で規定されたReserve Trackコマンドによって実現できる。
図13は、図5の状態の記録不正領域を含んだ光ディスク1bが存在するRAID(ディスクアレイ)に対して、継続してRAID6でのデータを記録する場合のディスク状態の例を示す説明図である。
図13に示すように、RAID#1を構成する光ディスク1bは記録不正領域を含んでおり、LBA6からLBA11までの間はパリティドライブが1つのみ存在するRAID5相当の冗長度で継続してデータが記録された状態であるとする。この状態で、問題が生じたRAID#1の光ディスクドライブ150bが交換され、データの記録及び再生が可能になった場合を考える。
前述のような状態の光ディスク1a〜1dで構成されたRAID(ディスクアレイ)に対しては、論理ディスクとしての追記可能位置(NWA)であるLBA12の位置で新たにトラックを分割して、LBA12から次のトラック開始位置の手前(つまりLBA17)までの領域を新たなトラック(トラック#1)とする。つまり、RAIDを構成する全ての光ディスク1a〜1dに対して、各光ディスクのNWAであるlba6のブロックの手前でトラックを分割する。こうすることで、新たに分割したトラック#1の論理ディスクの先頭であるLBA12から、4枚の光ディスク1a〜1d全てを用いたRAID6でデータを記録することが可能になる。
より具体的に、従来のHDDを用いたディスクアレイシステムでは、ある1台のHDDが使用途中で記録不正領域を含む状態になると、以降はパリティドライブが1つのみ存在するRAID5相当の冗長度でしかデータを継続して記録できない。一方、本発明の実施の形態の光ディスクアレイシステム100の場合は、例えば光ディスクドライブの故障などの原因である1つの光ディスクが使用途中で記録不正領域を含む状態になったとしても、光ディスクドライブを交換する、或いは他の正常な状態の光ディスクアレイシステム100を用いれば、最大限の冗長性を確保した状態でデータを継続して記録することが可能になる。このように、本発明の実施の形態の光ディスクアレイシステム100は、従来のHDDを用いたディスクアレイシステムには無い効果を実現できる。
図14は、図13のディスクアレイにおける、論理ディスクの記録状態を示す図である。図10を用いた説明と比べて、LBA12の位置で新たにトラックが分割されている点が異なっている。そのため、LBA0からLBA11までのトラック#0は、再生制御方法としては図10で説明した再生制御方法と同じであるが、トラック#0は論理的にはClose状態となる。一方、LBA12からのトラック#1の追記位置(NWA)がLBA12である点は図10の場合と同じであるが、トラック#1においてRAID6でデータが記録出来る点が異なっている。つまり、記録不正領域を含む光ディスク1bを備えたRAID(ディスクアレイ)については、記録不正領域のデータが修復される前であっても、継続した記録要求に対して、パリティを2つ備えたRAID6の高い冗長度を確保した状態でデータを記録することが出来る。
図15は、図13の状態にある4枚の光ディスク1a〜1dそれぞれに関するトラック情報80の具体例を示す図である。
それぞれの光ディスク1a〜1dのトラック情報80を見ると、RAID#1を構成する光ディスク1bを除いた残り3枚の光ディスク1a,1c,1dについては、lba0からlba5までのトラック#0のトラック状態はClose状態となる。しかし、光ディスク1bについては、NWA(追記可能位置)でトラックが分割されていないので、lba0からlba5までのトラック#0のトラック状態はOpen状態のままとなることも想定される。言い換えると、同一のストライプを構成するトラックに関して、RAIDを構成する複数の光ディスク1a〜1dのうちのトラック状態82が異なる(Open状態である)光ディスクのトラックは、記録不正領域を含んでいるトラック(つまり、データの修復が必要な領域)であると判断することが可能になる。なお、新たに生成されたトラック#1については、4枚の光ディスク1a〜1dの全てのトラック状態82が同じ状態になり、さらに4枚の光ディスク1a〜1dの全てのNWA85及び残サイズ86も同じ状態となる。そのため、これら4枚の光ディスク1a〜1dを跨いだRAID6でのデータの記録が可能となる。
なお、図13及び図14では、RAIDを構成する全ての光ディスク1a〜1dに対してトラックを分割する例を示している。しかしながら、少なくとも記録不正領域を含む光ディスクに対してのみ、他の光ディスクのNWA位置と同じ位置でトラックを分割することで、上述した効果を得ることが出来る。但し、このような方法を用いると、他の光ディスクとトラックの分割位置が変わってくるため、論理ディスクにおけるトラック情報の算出が困難になる。そこで、RAID管理情報は、トラックが分割された光ディスクのRAID番号44と、その光ディスクにおけるトラックが分割された位置情報(つまり、トラック分割情報)とを更に含んでも良い。
また、図13及び図14で示した方法で全ての光ディスク1a〜1dに対してトラックが分割された場合でも、光ディスクアレイシステム100で自動的に分割したトラックに関する情報は、上位装置(ホスト)101に対して報告しないことが好ましい。そこで、RAIDを構成する全ての光ディスク1a〜1dに対してトラックが分割される場合であっても、RAID管理情報は、光ディスクアレイシステム100で自動的にトラックを分割した位置を示すトラック分割情報を更に含んでも良い。
図16は、本発明の実施の形態における光ディスクアレイシステム100の記録処理を示すフローチャートである。ここでは、光ディスクアレイシステム100が上位装置(ホスト)101から記録要求を受けた場合を例に説明する。また、上位装置(ホスト)101から要求されるデータ記録サイズは、ブロック単位である。また、キャッシュ処理が有効である場合は、記録データの受領完了を待って、上位装置(ホスト)101からの記録要求に対して完了応答しても良いが、本実施の形態では、実際に光ディスクへの記録を行ってから上位装置(ホスト)101からの記録要求に対して完了応答する例について説明する。
まず、ステップS11において、管理情報取得部126は、光ディスクドライブ150a〜150dに光ディスク1a〜1dが装着されて起動されると、光ディスクドライブ150a〜150dに装着された光ディスク1a〜1dのRAID管理情報領域21から、RAID管理情報を取得する。管理情報取得部126は、取得したRAID管理情報をメモリ140に記憶する。なお、RAID管理情報が記録されていない未使用の光ディスクが光ディスクドライブに装着された場合、管理情報更新部125は、RAID管理情報を生成し、生成したRAID管理情報を未使用の光ディスクに記録しても良い。
次に、ステップS12において、ホスト制御部111は、記録位置及び記録データサイズに関する情報(記録パラメータ)を受領する。より具体的には、光ディスクアレイシステム100におけるホスト制御部111は、上位装置(ホスト)101から要求された、データを記録する先頭位置に関する論理ディスクの論理ブロックアドレス(先頭LBA)、及び記録データサイズなどの記録パラメータを受領する。
次に、ステップS13において、記録制御部121は、ホスト制御部111によって受領された記録パラメータに基づき、データの記録が可能であるか否かを判断する。より具体的には、記録制御部121は、記録開始する先頭LBAが、論理ディスクとしての追記可能位置(NWA)の条件を満たしているか否か、又は複数の光ディスクがRAIDとして記録可能な状態であるか否かなどを判断する。
ここで、厳密な意味では、パリティドライブへの記録が出来なくても、複数の光ディスクがRAIDとして記録可能な状態であるということも出来る。例えば、RAID6の場合、ストライプを構成する2台の光ディスクドライブ(2枚の光ディスク)への記録が同時に出来ない状態であっても、冗長ドライブ無しのRAID0相当の記録を行うことが可能であるといえる。しかし、ユーザによっては、RAID6でデータを記録する際に、パリティドライブが1台でも欠如することを認めないといった場合も想定される。
そこで、光ディスクアレイシステム100は、記録を継続させない(すなわち、記録エラーとして扱う)記録継続エラーレベルの設定をユーザから受け付ける機能を備えても良い。具体的には、光ディスクアレイシステム100は、ユーザが許容するエラードライブ(ディスク)の数の設定を受け付け、設定された数を超えない限りは記録可能として扱う。このような方法を用いる場合、例えばRAID6において、記録継続エラーレベルが1(1台のエラードライブまでは許容)である場合には、図13に示したようなトラックの分割処理が必ずしも行われなくとも良く、記録継続エラーレベルが0(1台のエラードライブも許容しない)である場合には、図13に示したようなトラックの分割処理が行われる。
ここで、記録可能ではないと判断された場合(ステップS13でNO)、ステップS14において、ホスト制御部111は、上位装置(ホスト)101からの記録要求に対して、記録できないとしてエラー応答する。
一方、記録可能であると判断された場合(ステップS13でYES)、ステップS15において、RAID制御部120は、データの記録処理を行う。より具体的には、記録制御部121は、上位装置(ホスト)101から記録データを受領し、記録データをメモリ140(バッファ)に一時的に格納する。さらに、パリティ演算部124は、受領した記録データに基づいてパリティデータを生成し、生成したパリティデータをメモリ140に一時的に格納する。さらに、アドレス変換部130は、記録要求を受けた先頭LBAが属するストライプを各光ディスク1a〜1dにおける論理ブロックアドレスlbaに変換する。そして、記録制御部121は、メモリ140に格納されている受領した記録データ及び生成したパリティデータを、対応する光ディスクドライブ150a〜150dに出力する。光ディスクドライブ150a〜150dは、入力された記録データ又はパリティデータを光ディスク1a〜1dに記録する。
次に、ステップS16において、記録制御部121は、記録データ及びパリティデータの記録中に記録エラーが発生したか否かを判断する。ここで、記録エラーが発生していないと判断された場合(ステップS16でNO)、ステップS18の処理へ移行する。
一方、記録エラーが発生したと判断された場合(ステップS16でYES)、ステップS17において、管理情報更新部125は、メモリ140に記憶されているRAID管理情報に含まれる記録不正領域情報を更新する。具体的には、管理情報更新部125は、記録不正領域を特定するための記録不正領域情報、すなわち、記録不正RAID番号75、記録不正領域先頭位置76及び記録不正領域サイズ77を含む記録不正領域情報52を更新する。
次に、ステップS18において、記録制御部121は、上位装置(ホスト)101から受領したデータの記録が完了したか否かを判断する。ここで、データの記録が完了していないと判断された場合(ステップS18でNO)、ステップS15の処理に戻り、記録制御部121は、残りの記録データ及びパリティデータを継続して記録する。
なお、上述した記録継続エラーレベルが設定されており、設定された記録継続エラーレベルの条件を満たす場合には、記録制御部121は、記録要求は正常終了したと判断し、ステップS19の処理へ移行する。一方、設定された記録継続エラーレベルの条件を満たさない場合には、記録制御部121は、記録に失敗したものとして上位装置(ホスト)101からの記録要求に対して、記録失敗としてエラー応答する。
データの記録が完了したと判断された場合(ステップS18でYES)、ステップS19において、記録制御部121は、追記可能位置(NWA)を更新する。より具体的には、記録制御部121は、論理ディスクとしての追記可能位置(NWA)情報を、記録が完了したサイズ分だけ更新する。
次に、ステップS20において、管理情報更新部125は、メモリ140に記憶されているRAID管理情報を光ディスク1a〜1dに記録する。この際、管理情報更新部125は、更新された記録不正領域情報を光ディスク1a〜1dに記録する。管理情報更新部125は、メモリ140に記憶されているRAID管理情報を光ディスクドライブ150a〜150dに出力する。光ディスクドライブ150a〜150dは、入力されたRAID管理情報を光ディスク1a〜1dに記録する。そして、ホスト制御部111は、上位装置(ホスト)101からの記録要求に対して完了応答する。
以上の手順により、記録処理が実現される。
ここで、上述のステップS15において、パリティ演算部124によりパリティデータが生成されるためには、ストライプ単位で記録データが揃っていることが必要である。しかし、上位装置(ホスト)101から要求される記録データサイズが必ずストライプ単位で要求されるとは限らない。仮に、記録データサイズがストライプ単位に満たない状態でディスクアレイにデータが記録される場合には、パリティ演算部124は、ストライプにおける未受領分のデータを固定データ(例えば、全て0のNullデータ)として扱うことにより、パリティデータを生成すれば良い。
このような場合、当該ストライプにおいて記録要求を受けたデータに相当する光ディスク、及びパリティデータに相当する光ディスクに対してのみ実際に記録が行われ、未受領分のデータに相当する光ディスクに対しては、記録は行われない。また、このような状態で記録されているストライプに対して新たに追記データを受領した場合には、以前記録したパリティデータが変わってしまうことになる。このような場合は、記録制御部121は、上述した擬似オーバーライト(POW)と呼ばれる機能などを用いて、論理的にパリティデータを書き換える。これにより、追記型光ディスクを用いたディスクアレイにおいても、ストライプ単位に満たないデータ単位での記録又は再生を行うことが可能である。言い替えると、複数の追記型光ディスクで構成されるディスクアレイに対し、上位装置(ホスト)101は、従来の単一の光ディスクに対してアクセスするのと同様のセクタ単位で記録要求又は再生要求を行うことが可能である。
なお、本発明の実施の形態において、RAIDレベルとしてRAID6を用いて説明しているが、ストライプ中に1つのパリティブロックを有するRAID5など、ストライプ中に少なくとも1つのパリティブロックを有し、パリティからデータの修復が可能なディスクアレイの記録方式であれば、上記と同様の効果を得ることが出来る。
なお、本発明の実施の形態において、光ディスクアレイシステム100は4台の光ディスクドライブのみでRAIDを構成する例を説明しているが、接続される光ディスクドライブの台数はこれに限定されない。使用するRAIDレベルに最低限必要な台数以上であれば、光ディスクアレイシステム100は、例えば10台又は12台などの光ディスクドライブで構成されても良い。
なお、本発明の実施の形態では、光ディスクアレイシステム100は、接続された4台全ての光ディスクドライブ150a〜150dを使ってRAID(ディスクアレイ)を構成する例を説明しているが、必ずしも接続された全ての光ディスクドライブを使ってRAIDを構成しなくても良い。具体的には、例えば、6台の光ディスクドライブが接続されている場合、5台の光ディスクドライブでRAID6を構成し、残りの1台の光ディスクドライブをホットスペアドライブとして用いても良い。なお、これらは、光ディスクドライブだけに限ったことではなく、光ディスクについても同様である。つまり、複数の光ディスクのうちの1枚の光ディスクをスペア用の光ディスクとして用いても良い。
なお、上述した具体的実施形態には以下の構成を有する発明が主に含まれている。
本発明の一局面に係る情報処理装置は、複数の可搬型の情報記憶媒体で構成されるディスクアレイにデータを記録する情報処理装置であって、前記複数の情報記憶媒体の各々に前記データを記録する複数のドライブ装置と、前記ディスクアレイに前記データを分散して記録するために前記複数のドライブ装置を制御する制御部とを備え、前記複数の情報記憶媒体の各々は、複数のデータブロックを有し、前記データブロック単位で前記データを記録するユーザ領域と、前記データが欠落している記録不正領域に関する情報を表す記録不正領域情報を記録する管理情報領域とを有し、前記記録不正領域情報は、前記ディスクアレイを構成する前記複数の情報記憶媒体の中で、前記記録不正領域が存在する前記情報記憶媒体と、前記情報記憶媒体の中の前記記録不正領域が存在する位置とを含み、前記制御部は、前記複数の情報記憶媒体の前記複数のデータブロックに前記データを分散して記録するとともに、前記複数のデータブロックのうちの前記データが欠落した前記データブロックのデータを修復するための少なくとも1つのパリティデータを少なくとも1つのパリティブロックに記録するデータ記録部と、前記データの記録時に少なくとも1つの前記ドライブ装置で記録に失敗した場合に、少なくとも1つの情報記憶媒体の前記管理情報領域に前記記録不正領域情報を記録する領域情報記録部とを含む。
この構成によれば、複数のドライブ装置は、複数の情報記憶媒体の各々にデータを記録する。制御部は、ディスクアレイにデータを分散して記録するために複数のドライブ装置を制御する。複数の情報記憶媒体の各々は、複数のデータブロックを有し、データブロック単位でデータを記録するユーザ領域と、データが欠落している記録不正領域に関する情報を表す記録不正領域情報を記録する管理情報領域とを有する。記録不正領域情報は、ディスクアレイを構成する複数の情報記憶媒体の中で、記録不正領域が存在する情報記憶媒体と、情報記憶媒体の中の記録不正領域が存在する位置とを含む。データ記録部は、複数の情報記憶媒体の複数のデータブロックにデータを分散して記録するとともに、複数のデータブロックのうちのデータが欠落したデータブロックのデータを修復するための少なくとも1つのパリティデータを少なくとも1つのパリティブロックに記録する。領域情報記録部は、データの記録時に少なくとも1つのドライブ装置で記録に失敗した場合に、少なくとも1つの情報記憶媒体の管理情報領域に記録不正領域情報を記録する。
したがって、ディスクアレイを構成する複数の情報記憶媒体の中で、データが欠落している記録不正領域が存在する情報記憶媒体と、情報記憶媒体の中の記録不正領域が存在する位置とを含む記録不正領域情報が記録されるので、欠落したデータが修復される前であっても、高いデータ信頼性、高い可用性及び高い転送レートを確保することができ、継続してデータを記録することができる。
また、上記の情報処理装置において、前記複数の情報記憶媒体の各々は、追記型の情報記憶媒体であることが好ましい。
この構成によれば、複数の情報記憶媒体の各々は、追記型の情報記憶媒体であるので、書き換え型の情報記憶媒体ではなく、追記型の情報記憶媒体によりディスクアレイを構成することができる。
また、上記の情報処理装置において、前記領域情報記録部は、所定のタイミングで全ての前記複数の情報記憶媒体の前記管理情報領域に前記記録不正領域情報を記録することが好ましい。
この構成によれば、同じ記録不正領域情報を複数の情報記憶媒体に記録することで、記録不正領域情報の冗長性を高め、信頼性を向上させることができる。
また、上記の情報処理装置において、前記制御部は、前記ディスクアレイから前記データを再生するために前記複数のドライブ装置を制御し、前記複数のドライブ装置は、前記複数の情報記憶媒体の各々から前記データを再生し、前記制御部は、前記記録不正領域情報に基づいて、前記記録不正領域から読み出されるデータを無効化し、前記少なくとも1つのパリティデータを用いて前記記録不正領域のデータを再生する再生制御部をさらに含むことが好ましい。
この構成によれば、制御部は、ディスクアレイからデータを再生するために複数のドライブ装置を制御する。複数のドライブ装置は、複数の情報記憶媒体の各々からデータを再生する。再生制御部は、記録不正領域情報に基づいて、記録不正領域から読み出されるデータを無効化し、少なくとも1つのパリティデータを用いて記録不正領域のデータを再生する。
したがって、記録不正領域情報に基づいて、記録不正領域から読み出されるデータが無効化され、少なくとも1つのパリティデータを用いて記録不正領域のデータが再生されるので、ドライブ装置又は情報記憶媒体に障害が発生し、任意の情報記憶媒体の所定の領域のデータが欠落したとしても、欠落したデータを修復することなく、高いデータ信頼性、高い可用性及び高い転送レートを確保することができ、継続してデータを再生することができる。
すなわち、例えば、未記録領域にも関わらず再生要求に対してデータが正しく読み出せたように振舞うドライブ装置を備えた情報処理装置においても、記録不正領域から読み出されるデータが無効化されるので、再生時にデータ化けが発生するような問題を解消することができる。
さらに、記録不正領域を含む情報記憶媒体を含むディスクアレイにおいて、記録不正領域を含まずに所定の冗長度を保って記録された領域からデータが再生される場合には、所定の冗長度を確保してデータが再生されるので、ディスクアレイとしてのデータの信頼性を向上させることができる。
また、上記の情報処理装置において、前記管理情報領域には、前記ディスクアレイに関する記録状態を管理するためのアレイ管理情報がさらに記録され、前記アレイ管理情報は、前記ディスクアレイの記録方式を識別するためのアレイ種別情報と、前記ディスクアレイを構成する前記情報記憶媒体の数を表すアレイ構成数情報と、前記ディスクアレイにおける当該情報記憶媒体の構成順番を示すアレイ番号情報と、前記ディスクアレイを構成する前記情報記憶媒体の前記アレイ番号と前記情報記憶媒体を一意に識別するための媒体識別番号とが対応付けられた、前記ディスクアレイを構成する全ての情報記憶媒体に関するアレイ構成情報テーブルとを含み、前記領域情報記録部は、前記ディスクアレイを構築するための初期化処理を行うタイミングにおいて、前記管理情報領域に前記アレイ管理情報を記録することが好ましい。
この構成によれば、管理情報領域には、ディスクアレイに関する記録状態を管理するためのアレイ管理情報がさらに記録される。アレイ管理情報は、ディスクアレイの記録方式を識別するためのアレイ種別情報と、ディスクアレイを構成する情報記憶媒体の数を表すアレイ構成数情報と、ディスクアレイにおける当該情報記憶媒体の構成順番を示すアレイ番号情報と、ディスクアレイを構成する情報記憶媒体のアレイ番号と情報記憶媒体を一意に識別するための媒体識別番号とが対応付けられた、ディスクアレイを構成する全ての情報記憶媒体に関するアレイ構成情報テーブルとを含む。領域情報記録部は、ディスクアレイを構築するための初期化処理を行うタイミングにおいて、管理情報領域にアレイ管理情報を記録する。
したがって、例えば、ディスクアレイを構成する情報記憶媒体の順番が入れ替わり、ドライブ装置と情報記憶媒体との対応関係が変わってしまった場合でも、アレイ番号情報に基づいて、ドライブ装置と情報記憶媒体との対応関係を正しく識別することができ、継続してデータを記録することができる。また、仮に、情報記憶媒体からアレイ番号情報が取得できなかったとしても、アレイ構成情報テーブルに基づいて、情報記憶媒体のディスクアレイにおける構成順番を正確に把握することが出来る。
また、上記の情報処理装置において、前記アレイ種別情報は、前記パリティデータの数、前記パリティデータの生成方法、及び前記パリティデータを用いた前記記録不正領域のデータの修復方法を識別可能な情報であることが好ましい。
この構成によれば、アレイ種別情報に基づいて、パリティデータの数、パリティデータの生成方法、及びパリティデータを用いた記録不正領域のデータの修復方法を識別することができる。
また、上記の情報処理装置において、前記管理情報領域には、前記ディスクアレイに関する記録状態を管理するためのアレイ管理情報がさらに記録され、前記アレイ管理情報は、前記ディスクアレイの記録方式を識別するためのアレイ種別情報と、前記ディスクアレイを構成する前記情報記憶媒体の数を表すアレイ構成数情報と、前記ディスクアレイにおける当該情報記憶媒体の構成順番を示すアレイ番号情報と、前記ディスクアレイを構成する前記情報記憶媒体の前記アレイ番号と前記情報記憶媒体を一意に識別するための媒体識別番号とが対応付けられた、前記ディスクアレイを構成する全ての情報記憶媒体に関するアレイ構成情報テーブルとを含み、前記制御部は、少なくとも前記情報記憶媒体が装着された前記ドライブ装置が起動されたタイミングにおいて、前記管理情報領域に記録された前記アレイ管理情報を取得する情報取得部をさらに備え、前記再生制御部は、取得した前記アレイ管理情報に基づいて前記複数のドライブ装置を制御することが好ましい。
この構成によれば、管理情報領域には、ディスクアレイに関する記録状態を管理するためのアレイ管理情報がさらに記録される。アレイ管理情報は、ディスクアレイの記録方式を識別するためのアレイ種別情報と、ディスクアレイを構成する情報記憶媒体の数を表すアレイ構成数情報と、ディスクアレイにおける当該情報記憶媒体の構成順番を示すアレイ番号情報と、ディスクアレイを構成する情報記憶媒体のアレイ番号と情報記憶媒体を一意に識別するための媒体識別番号とが対応付けられた、ディスクアレイを構成する全ての情報記憶媒体に関するアレイ構成情報テーブルとを含む。情報取得部は、少なくとも情報記憶媒体が装着された前記ドライブ装置が起動されたタイミングにおいて、管理情報領域に記録されたアレイ管理情報を取得する。再生制御部は、取得したアレイ管理情報に基づいて複数のドライブ装置を制御する。
したがって、例えば、ディスクアレイを構成する情報記憶媒体の順番が入れ替わり、ドライブ装置と情報記憶媒体との対応関係が変わってしまった場合でも、アレイ番号情報に基づいて、ドライブ装置と情報記憶媒体との対応関係を正しく識別することができ、継続してデータを再生することができる。また、仮に、情報記憶媒体からアレイ番号情報が取得できなかったとしても、アレイ構成情報テーブルに基づいて、情報記憶媒体のディスクアレイにおける構成順番を正確に把握することが出来る。
また、上記の情報処理装置において、前記制御部は、前記管理情報領域から前記記録不正領域情報を取得する情報取得部をさらに備えることが好ましい。
この構成によれば、情報取得部は、管理情報領域から記録不正領域情報を取得する。したがって、データ記録時において、管理情報領域から取得した記録不正領域情報をメモリに一時的に記憶し、少なくとも1つのドライブ装置で記録に失敗した場合に、メモリ内の記録不正領域情報を更新する。これにより、記録に失敗する毎に、情報記憶媒体に記録不正領域情報を記録する必要がなくなり、情報記憶媒体にアクセスする回数を低減することができる。
また、上記の情報処理装置において、前記記録不正領域は、少なくとも記録エラーが発生したデータブロック又は前記データが記録されなかったデータブロックのいずれかを含むことが好ましい。
この構成によれば、少なくとも記録エラーが発生したデータブロック又はデータが記録されなかったデータブロックのいずれかに関する情報を情報記憶媒体に記録することができる。
本発明の他の局面に係る情報処理方法は、複数の可搬型の情報記憶媒体で構成されるディスクアレイにデータを記録する情報処理方法であって、前記複数の情報記憶媒体の各々は、複数のデータブロックを有し、前記データブロック単位で前記データを記録するユーザ領域と、前記データが欠落している記録不正領域に関する情報を表す記録不正領域情報を記録する管理情報領域とを有し、前記記録不正領域情報は、前記ディスクアレイを構成する前記複数の情報記憶媒体の中で、前記記録不正領域が存在する前記情報記憶媒体と、前記情報記憶媒体の中の前記記録不正領域が存在する位置とを含み、前記複数の情報記憶媒体の前記複数のデータブロックに前記データを分散して記録するとともに、前記複数のデータブロックのうちの前記データが欠落した前記データブロックのデータを修復するための少なくとも1つのパリティデータを少なくとも1つのパリティブロックに記録するように、前記複数の情報記憶媒体の各々に前記データを記録する複数のドライブ装置を制御するデータ記録ステップと、前記データの記録時に少なくとも1つの前記ドライブ装置で記録に失敗した場合に、少なくとも1つの情報記憶媒体の前記管理情報領域に前記記録不正領域情報を記録する記録不正領域情報記録ステップとを含む。
この構成によれば、複数の情報記憶媒体の各々は、複数のデータブロックを有し、データブロック単位でデータを記録するユーザ領域と、データが欠落している記録不正領域に関する情報を表す記録不正領域情報を記録する管理情報領域とを有している。記録不正領域情報は、ディスクアレイを構成する複数の情報記憶媒体の中で、記録不正領域が存在する情報記憶媒体と、情報記憶媒体の中の記録不正領域が存在する位置とを含む。データ記録ステップにおいて、複数の情報記憶媒体の複数のデータブロックにデータを分散して記録するとともに、複数のデータブロックのうちのデータが欠落したデータブロックのデータを修復するための少なくとも1つのパリティデータを少なくとも1つのパリティブロックに記録するように、複数の情報記憶媒体の各々にデータを記録する複数のドライブ装置が制御される。記録不正領域情報記録ステップにおいて、データの記録時に少なくとも1つのドライブ装置で記録に失敗した場合に、少なくとも1つの情報記憶媒体の管理情報領域に記録不正領域情報が記録される。
したがって、ディスクアレイを構成する複数の情報記憶媒体の中で、データが欠落している記録不正領域が存在する情報記憶媒体と、情報記憶媒体の中の記録不正領域が存在する位置とを含む記録不正領域情報が記録されるので、欠落したデータが修復される前であっても、高いデータ信頼性、高い可用性及び高い転送レートを確保することができ、継続してデータを記録することができる。
本発明の他の局面に係る情報記憶媒体は、データを記録するための可搬型の情報記憶媒体であって、複数のデータブロックを有し、前記データブロック単位で前記データを記録するユーザ領域と、前記データが欠落している記録不正領域に関する情報を表す記録不正領域情報を記録する管理情報領域とを備え、ディスクアレイは、複数の可搬型の情報記憶媒体で構成され、前記ユーザ領域は、前記複数の情報記憶媒体に分散された前記データと、複数のデータブロックのうちの前記データが欠落した前記データブロックのデータを修復するためのパリティデータとを記録し、前記記録不正領域情報は、前記ディスクアレイを構成する複数の情報記憶媒体の中で、前記記録不正領域が存在する前記情報記憶媒体と、前記情報記憶媒体の中の前記記録不正領域が存在する位置とを含む。
この構成によれば、ユーザ領域は、複数のデータブロックを有し、データブロック単位でデータを記録する。管理情報領域は、データが欠落している記録不正領域に関する情報を表す記録不正領域情報を記録する。ディスクアレイは、複数の可搬型の情報記憶媒体で構成される。ユーザ領域は、複数の情報記憶媒体に分散されたデータと、複数のデータブロックのうちのデータが欠落したデータブロックのデータを修復するためのパリティデータとを記録する。記録不正領域情報は、ディスクアレイを構成する複数の情報記憶媒体の中で、記録不正領域が存在する情報記憶媒体と、情報記憶媒体の中の記録不正領域が存在する位置とを含む。
したがって、ディスクアレイを構成する複数の情報記憶媒体の中で、データが欠落している記録不正領域が存在する情報記憶媒体と、情報記憶媒体の中の記録不正領域が存在する位置とを含む記録不正領域情報が記録されるので、欠落したデータが修復される前であっても、高いデータ信頼性、高い可用性及び高い転送レートを確保することができ、継続してデータを記録することができる。
以上、本発明の特定の実施の形態について説明されてきたが、当業者にとっては他の多くの変形例、修正、及び他の利用が本発明に含まれることは明らかである。それゆえ、本発明は、ここでの特定の実施の形態に限定されず、請求項によってのみ限定され得る。
すなわち、発明を実施するための形態の項においてなされた具体的な実施態様又は実施例は、あくまでも、本発明の技術内容を明らかにするものであって、そのような具体例にのみ限定して狭義に解釈されるべきものではなく、本発明の精神と特許請求事項との範囲内で、種々変更して実施することができるものである。