(57)【特許請求の範囲】
【請求項１】
記録データを複数に分割し、複数のｎビット分割データを得るステップと、
前記複数のｎビット分割データに対応したｎビットパリティデータを生成するステップと、
前記複数のｎビット分割データおよび前記ｎビットパリティデータの中から１つまたは複数のｎビット余剰データを残し、前記ｎビット余剰データ以外のｎビット分割データおよびｎビットパリティデータを複数の主記録装置にｎビット単位で記録するステップと、
前記ｎビット余剰データを前記複数の主記録装置の中から選択された２つ以上の主記録装置のそれぞれにｎビット単位で重複して記録するステップと、
を含むデータ処理方法。
【請求項２】
記録データを複数に分割し、複数のｎビット分割データを得るステップと、
前記複数のｎビット分割データに対応したｎビットパリティデータを生成するステップと、
前記複数のｎビット分割データおよび前記ｎビットパリティデータの中から１つまたは複数のｎビット余剰データを残し、前記ｎビット余剰データ以外のｎビット分割データおよびｎビットパリティデータを複数の主記録装置にｎビット単位で記録するステップと、
前記ｎビット余剰データを前記複数の主記録装置の中から選択された２つ以上の主記録装置のそれぞれにｎビット単位で重複して記録するステップと、
補助記録装置を起動するステップと、
前記ｎビット余剰データを前記補助記録装置に記録するステップと、
を含むデータ処理方法。
【請求項３】
前記主記録装置および補助記録装置は、ハードディスク装置である請求項２記載のデータ処理方法。
【請求項４】
前記補助記録装置を停止し、省電力動作モードを選択するステップをさらに含む請求項２記載のデータ処理方法。
【請求項５】
前記補助記録装置に記録されている前記ｎビット余剰データを、前記複数の主記録装置に記録されている前記ｎビット分割データと前記ｎビットパリティデータとから生成するステップをさらに含む請求項２記載のデータ処理方法。
【請求項６】
前記複数の主記録装置に加えて前記補助記録装置を稼動させた状態において、
前記複数の主記録装置の数に分割されたｎビット分割データを得るステップと、
前記ｎビット分割データに対応したｎビットパリティデータを生成するステップと、
前記ｎビット分割データおよび前記ｎビットパリティデータを前記複数の主記録装置および前記補助記録装置にｎビット単位で記録するステップと、
をさらに含む請求項２記載のデータ処理方法。
【請求項７】
記録データを複数に分割し、複数のｎビット分割データを得る手段と、
前記複数のｎビット分割データに対応したｎビットパリティデータを生成する手段と、
前記複数のｎビット分割データおよび前記ｎビットパリティデータの中から１つまたは複数のｎビット余剰データを残し、前記ｎビット余剰データ以外のｎビット分割データおよびｎビットパリティデータを複数の主記録装置にｎビット単位で記録する手段と、
前記ｎビット余剰データを前記複数の主記録装置の中から選択された２つ以上の主記録装置のそれぞれにｎビット単位で重複して記録する手段と、
を含むデータ処理システム。
【請求項８】
記録データを複数に分割し、複数のｎビット分割データを得る手段と、
前記複数のｎビット分割データに対応したｎビットパリティデータを生成する手段と、
前記複数のｎビット分割データおよび前記ｎビットパリティデータの中から１つまたは複数のｎビット余剰データを残し、前記ｎビット余剰データ以外のｎビット分割データおよびｎビットパリティデータを複数の主記録装置にｎビット単位で記録する手段と、
前記ｎビット余剰データを前記複数の主記録装置の中から選択された２つ以上の主記録装置のそれぞれにｎビット単位で重複して記録する手段と、
補助記録装置を起動する手段と、
前記ｎビット余剰データを前記補助記録装置に記録する手段と、
を含むデータ処理システム。
【請求項９】
コンピュータで実行可能なプログラムであって、
記録データを複数に分割し、複数のｎビット分割データを得る手順と、
前記複数のｎビット分割データに対応したｎビットパリティデータを生成する手順と、
前記複数のｎビット分割データおよび前記ｎビットパリティデータの中から１つまたは
複数のｎビット余剰データを残し、前記ｎビット余剰データ以外のｎビット分割データおよびｎビットパリティデータを複数の主記録装置にｎビット単位で記録する手順と、
前記ｎビット余剰データを前記複数の主記録装置の中から選択された２つ以上の主記録装置のそれぞれにｎビット単位で重複して記録する手順と、
をコンピュータに実行させるプログラム。
【請求項１０】
コンピュータで実行可能なプログラムであって、
記録データを複数に分割し、複数のｎビット分割データを得る手順と、
前記複数のｎビット分割データに対応したｎビットパリティデータを生成する手順と、
前記複数のｎビット分割データおよび前記ｎビットパリティデータの中から１つまたは複数のｎビット余剰データを残し、前記ｎビット余剰データ以外のｎビット分割データおよびｎビットパリティデータを複数の主記録装置にｎビット単位で記録する手順と、
前記ｎビット余剰データを前記複数の主記録装置の中から選択された２つ以上の主記録装置のそれぞれにｎビット単位で重複して記録する手順と、
補助記録装置を起動する手順と、
前記ｎビット余剰データを前記補助記録装置に記録する手順と、
をコンピュータに実行させるプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数の記録装置を並列使用した技術に関する。例えば本発明は、複数のハードディスク装置を利用したディスクアレイシステムの低消費電力化の技術に適用できる。
【０００２】
【従来の技術】
複数のハードディスク装置を利用した記録システムとして、ＲＡＩＤ(Redundant Arrays of Inexpensive Disks)が知られている。ＲＡＩＤは、データを分割して、複数のハードディスク装置に対して並列にデータの読み書きを行うシステムとして要約される。ＲＡＩＤには、ＲＡＩＤ０〜ＲＡＩＤ５までの６種類がある。このうち、主に利用されているのが、ＲＡＩＤ０、ＲＡＩＤ１およびＲＡＩＤ５である。
【０００３】
ＲＡＩＤ０は、複数のハードディスク装置を並列使用して、データをそれぞれのディスクに分散して記録する。つまりＲＡＩＤ０では、データは、所定の規則にしたがって分割され、各ディスクに分散して記録される。ＲＡＩＤ０では、複数のハードディスク装置が統合されてあたかも一つの記録装置であるかのように動作する。ＲＡＩＤ０は、データの書き込みや読み出しが高速に行える優位性があるが、１台のハードディスク装置が故障すると、記録されているデータが失われる欠点がある。
【０００４】
ＲＡＩＤ１では、複数（通常は２台）のハードディスクに同じデータを記録する。ＲＡＩＤ１は、一つのハードディスク装置が故障しても、データが失われない優位性があるが、動作速度は１台のハードディスク装置を用いる場合と同等である。また、ＲＡＩＤ１は、ハードディスクの利用台数分の容量が得られるわけではないので、ディスク容量の利用効率が悪く、単位データ容量当たりのコストが高くなる欠点がある。
【０００５】
ＲＡＩＤ５は、３台以上のハードディスク装置で構成される。以下、例えばハードディスク装置１〜５で示される５台のハードディスク装置で構成されるＲＡＩＤ５の例を説明する。この場合、あるデータに着目すると、このデータはブロック毎に４分割され、分割されたデータはハードディスク装置１〜ハードディスク装置４に順に記録される。そして、このハードディスク装置１〜ハードディスク装置４に記録されたデータのパリティデータがハードディスク装置５に記録される。更に連続するデータは、ハードディスク装置５、ハードディスク装置１、ハードディスク装置２およびハードディスク装置３の４台のディスクに記録され、そのパリティデータがハードディスク装置４に記録される。更に連続するデータは、ハードディスク装置４、ハードディスク装置５、ハードディスク装置１およびハードディスク装置２の４台のハードディスク装置に記録され、そのパリティデータがハードディスク装置３に記録される。こうして、４つの分割されたデータの組およびそのパリティデータが各ハードディスク装置に分散して記録される。
【０００６】
この例では、全体で見た場合にハードディスク装置４台分の容量がデータを扱うために利用され、残り１台分の容量がパリティデータを扱うために利用される。なお、パリティデータというのは、対応する主データが失われた場合に、失われた主データを復元するための補助データである。
【０００７】
このような方法を採用することで、ＲＡＩＤ５では、Ｎ台のハードディスク装置を用いたシステムに（Ｎ−１）台分のハードディスク装置に相当する容量のデータを各ハードディスク装置に分散して記録できる。また、ＲＡＩＤ５では、（Ｎ−１）台分のハードディスク装置が並列的に動作するので、高速なデータの書き込みおよび読み出し性能が得られる。また、ＲＡＩＤ５では、どれか一つのハードディスク装置が故障しても、残ったハードディスク装置に残存しているデータとパリティデータを用いて、故障したハードディスク装置に記録されていたデータを復元できる。こうして、高速動作とハードディスク装置の故障によるデータの損失を防ぐ構成が得られる。なお、ハードディスク装置が２台同時に故障した場合には、データは保護されない。しかし、ハードディスク装置が２台同時に故障する事態は確率的に小さく、問題にはならないと考えられている。
【０００８】
また、ＲＡＩＤ５では、主データとパリティデータが各ハードディスク装置に分散されて記録され、特定のハードディスク装置に負担が集中しないようになっている。これにより、ＲＡＩＤ５は、特定のハードディスク装置への負担の集中による性能低下を防いでいる。
【０００９】
【発明が解決しようとする課題】
上述したようにＲＡＩＤ５では、Ｎ台のハードディスク装置を利用した場合、１台のハードディスク装置の容量はパリティデータの記録に利用されるので、等価的には（Ｎ−１）台のハードディスク装置が並列動作すると見なせる。従って、Ｎ台のハードディスク装置を利用したＲＡＩＤ５では、利用できる容量は（Ｎ−１）台分となり、動作速度の向上も（Ｎ−１）台の並列動作に対応したものとなる。つまり、ＲＡＩＤ５では、扱うデータの容量に対して、１台余分にハードディク装置を用意しなければならない。ＲＡＩＤを構成するハードディスク装置の数が多い場合は、上記の１台余分にハードディスク装置が必要であるという点はあまり問題とはならない。しかし、ＲＡＩＤを構成するハードディスク装置の数が少ない場合は、ハードディスク装置の有効利用という点で問題がある。例えば、４台のハードディスク装置で構成されるＲＡＩＤ５の場合、データの取り扱いは、７５％の容量が負担し、残り２５％分は、パリティデータの記録用となり、用いるハードディスク装置の利用効率が低くなってしまう。この点は、ＲＡＩＤ３およびＲＡＩＤ４においても同様にいえる。
【００１０】
さらにＲＡＩＤには、下記に詳述する発熱の問題がある。通常ＲＡＩＤは、大きな記録容量を必要とするサーバに利用される。サーバは、データの書き込みや読み出しが出来るだけすばやく行える性能が要求される。そのため、稼動時間（場合によっては２４時間）中において、ＲＡＩＤを構成する複数のハードディスク装置は、アイドリング状態となっている。アイドリング状態では、ディスクが定速回転し、データの書き込みあるいは読み出し動作がすぐに行えるようになっている。
【００１１】
アイドリングを行っていないと、ハードディスク装置が起動するのに数十秒必要となり、必要な時にデータの書き込みや読み出しがすぐに行えず、サーバとしての機能が発揮できない。
【００１２】
ハードディスク装置のアイドリングには、電力を消費する。大規模なサーバでは、ハードディスク装置を数十台以上備えるので、アイドリングで消費される電力も相当なものとなる。例えば、アイドリング状態で２０Ｗの電力を消費するハードディスク装置を４台備えたサーバユニットを２０台ラックに格納したサーバの場合、アイドリングだけで１６００Ｗの電力を消費する。この消費電力は、熱となり、放熱され、サーバ設置環境の温度を上昇させる。
【００１３】
ＬＡＮ(local Area Network)やインターネットの普及によって、サーバにはより大きな記憶容量が要求されるようになっている。さらにインターネットの普及により、サーバによっては、２４時間動作が要求されるものも少なくない。
【００１４】
このような背景において、上述した動作時間中に常時消費するアイドリング電力、およびそれに起因する発熱が問題となる。省エネルギーの観点からこの消費電力は極力低減されるのが好ましい。また、発熱は、空調設備への負担、サーバ自体の故障や不良の原因、他の機器への悪影響といった諸問題の要因となるので、極力低減されるのが望まれる。
【００１５】
ＲＡＩＤシステムの低消費電力化を計ろうとする技術として、日本国特許第２５４６０８８号に記載されたものがある。この技術では、Ｎ個のハードディスク装置を備え、そのそれぞれに対して、データを分割して記録すると共に、分割したデータに対してパリティデータを作成し、そのパリティデータを所定の手続に従って分割し、各データに付加して各ハードディスク装置に記録する。しかし、パリティデータの他に分割データも重複記録の対象とする点、および補助記録装置の選択的利用については示唆されていない。
【００１６】
本発明の目的は、記録装置の利用効率を高めたデータ記録システムの提供にある。本発明の他の目的は、ＲＡＩＤを利用したシステムにおいて、ＲＡＩＤが備えている機能をできるだけ損なわずに低消費電力化を実現する技術の提供にある。
【００１７】
【課題を解決するための手段】
本願の発明の概略を説明すれば、以下の通りである。即ち、本発明は、複数に分割された分割データを得るステップと、前記分割データに対応したパリティデータを生成するステップと、前記分割データおよび前記パリティデータの中から１つまたは複数の余剰データを残し、他を複数の主記録装置に分散して記録するステップと、前記余剰データを前記複数の主記録装置の中から選択された複数の記録装置のそれぞれに記録するステップと、を含むデータ処理方法である。
【００１８】
上記発明によれば、例えばＮ台のハードディスク装置を利用してその全てを並列動作させてＲＡＩＤ機能が実現できる。この場合、余剰データを２以上のハードディスク装置に記録するので、データの記録時には余剰データを記録する動作が必要とされる。しかしこの構成では、データの読み出し時には、Ｎ個に分割されたデータの読み出しを行えば良いので、従来のＮ＋１台のハードディスク装置を用いたＲＡＩＤと同じ性能が得られる。通常の用途では、データの記録は読み出しに比較してその頻度は大幅に少ない。従って、上記発明を用いた場合、記録装置としての性能は、従来のＮ＋１台のハードディスク装置を用いたＲＡＩＤに比較して遜色ないものが得られる。
【００１９】
上記発明において、データの分割は、所定のバイト数または所定のビット数を単位として可能であり、特定の単位に限定されない。
【００２０】
本明細書において、分割データというのは、文書データ等の記録しようとするデータを所定の規則に従って複数に分割して得たデータ片をいう。このデータ片を集めると、基のデータが得られる。パリティデータは、分割データの何れか一つが失われても、残った他の分割データから失われた情報を復元するための補助データである。パリティデータは、例えば分割データの排他的論理和から得られる。通常、所定個数の分割データに対応してパリティデータが生成される。
【００２１】
余剰データというのは、複数の主記録装置のそれぞれにデータ片を対応させていった際に主記録装置に対応せず余ってしまったデータ片をいう。主記録装置というのは、ハードディスク装置のように装置内に回転機構を備えており、システムの稼動中はデータの記録または読み出し動作、あるいはアイドリング状態にある記録装置をいう。アイドリング状態というのは、記録装置に対してデータの記録や読み出しが行われていない状態（非動作状態）において、いつでも動作状態に移れるように記録装置内の回転機構が定速回転し、所定の電力を消費している状態をいう。
【００２２】
上記発明における複数の主記録装置の中から選択された複数の記録装置というのは、複数の主記録装置の中から選択された２つ以上の主記録装置をいう。例えば、主記録装置としてハードディスク装置が４台ある場合、その中から選ばれた２台のハードディスク装置が上記複数の主記録装置の中から選択された複数の記録装置に該当する。
【００２３】
上記発明において、さらに補助記録装置を起動するステップと、前記余剰データを前記補助記録装置に記録するステップと、を含むのは好ましい。この発明では、少なくとも２台の主記録装置に余剰データが記録されるので、記録しようとする、あるいは記録されているデータ量が多い場合、その分が主記録装置の負担となる。そこで、所定のタイミングで余剰データを主記録装置とは別の補助記録装置に移すことで、この負担を軽減する。具体的には、適当なタイミングで補助記録装置を起動し、そこに主記録装置に記録されている余剰データを移動させる。こうすると、その分主記録装置の空き領域が大きくなり、主記録装置の性能低下が抑制される。また、上記の構成では、補助記録装置を停止させれば、システムを省電力動作モードとして動作できる。こうして、記録するデータ量が大きい場合や頻繁に記録が発生する場合は、補助記録装置を起動して高速記録動作、そうでない場合は省電力動作とシステムの動作形態を任意に選択できる。
【００２４】
補助記録装置というのは、主記録装置とは別の記憶装置でハードディスク装置のように装置内に回転機構を備えており、任意のタイミングで起動される記録装置である。ここでいう起動とは、記録装置内の回転機構が動いてなく、電力を消費していない状態から、動作状態あるいはアイドリング状態へと移行させる操作をいう。補助記録装置としては、主記録装置と同じものが選択可能である。省電力モードというのは、補助記録装置が起動しておらず、補助記録装置がアイドリング電力を消費していない状態をいう。
【００２５】
また、上記発明において、複数の主記録装置に加えて補助記録装置を稼動させた状態で、前記複数の主記録装置の数に分割された分割データを得るステップと、前記分割データに対応したパリティデータを生成するステップと、前記分割データおよび前記パリティデータを前記複数の主記録装置および前記補助記録装置に分散して記録するステップと、をさらに含んでも良い。
【００２６】
この場合、補助記録装置を動作させた後に、補助記録装置も主記録装置と同等に動作させ、分割データとパリティデータを所定の規則に従って、主記録装置と補助記録装置に分散して記録する。この動作により、例えばＲＡＩＤ３、ＲＡＩＤ４あるいはＲＡＩＤ５と同等な機能を実現できる。この動作を利用すれば、例えば補助記録装置を停止させた省電力モードから通常のＲＡＩＤ５の動作モードへの移行といった動作形態が実現できる。
【００２７】
本発明は、システムあるいはプログラムとして把握可能である。例えば本発明は、上述した各ステップを実行する手段を備えたシステムとして把握される。本発明をシステムとして把握した場合、そこには本発明を実行するためのアレイコントローラや本発明を実行可能なハードウェアシステムが含まれる。
【００２８】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【００２９】
まず、本実施の形態で示すＲＡＩＤの基本的な仕組みを最も簡単な場合を例に挙げて説明する。図１は、本発明のデータ処理方法を適用した一実施形態を説明するための図である。ここでは、主記録装置として３台のハードディスク装置を用い、補助記録装置として１台のハードディスク装置を用いる場合を例示する。
【００３０】
図１に例示する方法では、全体で４台のハードディスク装置を用い、その中で３台のハードディスク装置が主記録装置として常時稼動し、残り１台は、補助記録装置として必要な場合にだけ稼動する。また以下の例示では、通常のＲＡＩＤ技術を前提とし、分割データをストライピングデータと表記する。
【００３１】
まず、書き込みデータ１０１から分割データであるストライピングデータを得、さらにストライピングデータからパリティデータを得る。ストライブデータというのは、主記録装置であるハードディスク装置１０６、１０７および１０８に対応して書き込みデータ１０１を分割したデータ片をいう。パリティデータは、ストライピングデータの一つが失われても、他のストライピングデータから失われたストライピングデータを復元するために利用されるデータ復元用の補助的なデータである。
【００３２】
図１の例では、システムの動作中は、常時稼動する３台のハードディスク装置１０６〜１０８に対応して、３つのストライピングデータ１０２〜１０４を得る。つまり、図１に例示するデータの記録方法では、データ１０１を３つに分割し、ストライピングデータ１０２〜１０４を得る。そして、ストライピングデータ１０２〜１０４のパリティデータ１０５を生成する。パリティデータ１０５は、ストライピングデータ１０２〜１０４の何れか一つが失われた場合に、残った２つのデータから失われたデータを再生するためのデータ再生用の補助データである。
【００３３】
図１に示す例では、ストライピングデータ１０２をハードディスク装置１０６に記録し、ストライピングデータ１０３をハードディスク装置１０７に記録し、ストライピングデータ１０４をハードディスク装置１０８に記録する。また、４つ目のデータであるパリティデータ１０５を余剰データとして、ハードディスク装置１０６と１０７にそれぞれパリティデータ１０５ａ、１０５ｂとして記録する。ここで、パリティデータ１０５ａおよび１０５ｂは、パリティデータ１０５と同じものである。
【００３４】
この例では、余剰データを記録するための記録装置として、主記録装置であるハードディスク装置１０６〜１０８の中から２台のハードディスク装置１０６および１０７が選択される。
【００３５】
この状態では、ハードディスク装置１０６〜１０８の３台が並列動作する。即ち、データ１０１の書き込みおよび読み出しは、ハードディスク装置１０６〜１０８が並列に動作して行われる。この動作形態では、３台のハードディスク装置１０６〜１０８の全てを有効利用できる。つまり、３台のハードディスクを用いて、データの書き込みおよび読み出しに際して３台分の動作を実現できる。ただし、パリティデータ１０５が１０５ａおよび１０５ｂとして重複して２台のハードディスク装置に記録されるため、その分だけ有効データ記録容量が減少することになる。
【００３６】
この状態において、ハードディスク装置１０６〜１０８の何れか１台が故障し、そのハードディスク装置に記録されているデータが失われても、システムにおいてデータは保持される。例えば、ハードディスク装置１０６が故障し、そこに記録されているストライピングデータ１０２の読み出しが不可能になった場合、ハードディスク装置１０７に記録されているストライピングデータ１０３とパリティデータ１０５ｂ、およびハードディスク装置１０８に記録されているストライピングデータ１０４によってストライピングデータ１０２が復元される。
【００３７】
また例えば、ハードディスク装置１０７が故障し、そこに記録されているストライピングデータ１０３の読み出しが不可能になった場合、ハードディスク装置１０６に記録されているストライピングデータ１０２とパリティデータ１０５ａ、およびハードディスク装置１０８に記録されているストライピングデータ１０４によってストライピングデータ１０３が復元される。
【００３８】
また例えば、ハードディスク装置１０８が故障し、そこに記録されているストライピングデータ１０４の読み出しが不可能になった場合、ハードディスク装置１０６に記録されているストライピングデータ１０２とパリティデータ１０５ａ、およびハードディスク装置１０７に記録されているストライピングデータ１０３によってストライピングデータ１０４が復元される。
【００３９】
こうして、３台のハードディスク装置１０６〜１０７の中で１台のハードディスク装置が故障しても、システムからデータが失われる事態が避けられる。
【００４０】
さらに図１に例示するシステムでは、必要な時に補助記録装置である補助ハードディスク装置１０９を起動し、主記録装置に記録されている余剰データであるコピーデータ１０５ａまたは１０５ｂを補助ハードディスク装置１０９へ移す。この際、ハードディスク装置１０６に記録されていたパリティデータ１０５ａ、およびハードディスク装置１０７に記録されていたパリティデータ１０５ｂは消去される。こうして、ハードディスク装置１０６および１０７の有効データ記録容量が回復される。補助ハードディスク装置１０９は、余剰データの記録が終わると、再び停止される。
【００４１】
図１の例では、２つのハードディスクに記録され、適当なタイミングで補助ハードディスク装置に移される余剰データとして、パリティデータ１０５が選択されている。しかし、余剰データは、ストライピングデータ１０２〜１０４の中からも任意に選択可能である。また、余剰データの記録に利用するハードディスク装置も特定のハードディスク装置に限定されず任意に選択可能である。
【００４２】
補助ハードディスク装置１０９の起動タイミングとしては、多様な態様が挙げられる。例えば、一定期間毎に起動させ、短時間動作させる例、ハードディスク装置１０６〜１０８に記録されている余剰データの容量が一定値以上となった場合に起動する例、扱うデータの容量が所定値より大きい場合に起動する例、ユーザの操作によって起動する例、データ書き込みのアクセスが一定の頻度以上になった場合に自動的に起動する例等が挙げられる。
【００４３】
補助ハードディスク１０９を起動することで、ハードディスク装置１台分の消費電力が増加するが、高速動作（通常のＲＡＩＤ動作）を行えるモードに移行できる。こうして、高速動作がやや犠牲になる省電力モードと、電力消費は増加するが高速動作を追及した高速動作モードを適宜選択できる。
【００４４】
以下、本発明を利用したより具体的な例を示す。図２は、本発明のデータ処理方法を適用した一実施形態で利用されるＲＡＩＤシステムの概要を示す図である。ＲＡＩＤ機能を有するサーバ２０１は、ホストＣＰＵ(Central Processing Unit)２０２、バッファメモリ２０３、メインメモリ２０４、アレイコントローラ２０５、バス配線２０６およびハードディスク装置１０６〜１０９を含む。
【００４５】
アレイコントローラ２０５は、ＲＡＩＤ機能を実行するための専用ハードウェアであり、バスコントローラ２１０、ＣＰＵ２１１、ＲＯＭ(Read Only Memory)２１２、ＲＡＩＤエンジン２１３、ＲＡＭ(Random Access Memory)２１４、キャッシュメモリ２１５およびバックアップメモリ２１６を含む。
【００４６】
ホストＣＰＵ２０２は、サーバ２０１の機能を統括する。バッファメモリ２０３は、メインメモリ２０４に記録されているデータをＲＡＩＤの機能を使ってハードディスク装置１０６〜１０９に記録する際に、データを一時的に記録する機能を有する。
【００４７】
バスコントローラ２１０は、アレイコントローラ２０５とバス配線２０６との間で行われるデータのやり取りを制御する機能を有する。ＣＰＵ２１１は、アレイコントローラ２０５のデバイスを統括制御し、ＲＡＩＤを実現するための処理を実行する。具体的には、ＣＰＵ２１１によってハードディスク装置１０６〜１０９に記録するストライブデータの生成、パリティデータの生成、これらデータの転送等が実行される。
【００４８】
ＲＯＭ２１２は、アレイコントローラ２０５の機能を実行するためのプログラムおよびその他必要とされるデータが記録されている。ＲＡＩＤエンジン２１３は、ハードディスク装置１０６〜１０９の動作状態を制御する機能を有する。また、ＲＡＩＤエンジン２１３を介して、アレイコントローラ２０５とハードディスク装置１０６〜１０９の間におけるデータのやり取りが行われる。ＲＡＭ２１４は、アレイコントローラ２０５の動作時に必要な情報を一時的に記録する機能を有する。キャッシュメモリ２１５は、ハードディスク装置１０６〜１０９へのデータの記録時、あるいはハードディスク装置１０６〜１０９からのデータの読み出し時にデータを一時的に貯える機能を有する。バックアップメモリ２１６は、複数のハードディスク装置に分散して記録されるデータの管理テーブルおよび後述する余剰データの管理テーブルが記録される。バックアップメモリ２１６は、図示しないバッテリーによってバックアップされ、予期せず電源が切れた場合に記録されているデータが失われないようになっている。
【００４９】
図２に例示するサーバ２０１では、ハードディスク装置１０６、１０７および１０８がシステムの稼動中は常時稼動する主記録装置として機能し、ハードディスク装置１０９が適宜起動される補助記録装置として機能する。
【００５０】
図３は、本発明のデータ処理方法を適用した一実施形態を説明するフローチャートである。図４は、本発明のデータ処理方法を適用した一実施形態を説明する図である。
【００５１】
ここでは、図２に例示するＲＡＩＤ機能を有するサーバ２０１において、ＲＡＩＤ機能を利用したデータの記録を行う場合の例を説明する。またここでは、ユーザが図示しないＬＡＮ(Local Area Network)等を介して接続された図示しないコンピュータ端末を操作して、必要な指示をサーバ２０１に対して与える場合を例に挙げて説明する。また、最初に補助ハードディスク装置１０９を利用しない省電力モードでの動作例を説明し、次に補助ハードディスク装置１０９を利用した高速動作モードでの動作例を説明する。
【００５２】
まずユーザは、サーバ２０１のハードディスク装置に記録しようとするデータを図示しないユーザが使用している端末内あるいはメインメモリ２０４内から選択し、そのデータをサーバ２０１に記録するように指示する操作を行う。こうして、データの書き込みが開始される（ステップ３０１）。なお、この段階でハードディスク装置１０６〜１０８はアイドリング動作をしており、補助ハードディスク装置１０９は停止している。
【００５３】
ユーザによって選択されたデータは、バッファメモリ２０３に一旦蓄えられ、アレイコントローラ２０５へ送られる。この動作は、ホストＣＰＵ２０２によって制御される。アレイコントローラ２０５では、バッファメモリ２０３から送られてきたデータをバスコントローラ２１０で受け取り、さらにこのデータをキャッシュメモリ２１５に一時的に蓄える。ここで、ＣＰＵ２１１は、アレイコントローラ２０５で受け取ったデータの容量が所定容量を超えているか、を判断する（ステップ３０２）。ステップ３０２の判断が偽である場合、ＣＰＵ２１１はハードディスク装置１０６〜１０９において余剰データの記録に利用可能な所定の領域（つまり余剰データの書き込み可能な所定の空き容量）があるかを判断する（ステップ３０３）。ステップ３０３の判断が真の場合、キャッシュメモリ２１５内のデータにストライピング処理が加えられ、ストライピングデータが得られ（ステップ３０７）、さらにストライピングデータからパリティデータの作成が行われる（ステップ３０７）。これらの動作は、ＲＯＭ２１２に記録されているプログラムに従ってＣＰＵ２１１によって実行される。
【００５４】
図４には、書き込みデータ１０１とそれに対応するストライピングデータとパリティデータの一例が示されている。図４の例では、書き込みデータ１０１からストライピングデータＤ１〜Ｄ３とそのパリティデータＰ１でなるデータ群４０１、ストライピングデータＤ４〜Ｄ６とそのパリティデータＰ２でなるデータ群４０２、ストライピングデータＤ７〜Ｄ９とそのパリティデータＰ３でなるデータ群４０３が生成される。なおここでは、ストライピングデータＤ１〜Ｄ９をブロック単位で生成する場合の例を示す。
【００５５】
例えば、パリティデータＰ１は、ストライピングデータＤ１〜Ｄ３の各バイトの排他的論理和(Exclusive OR)によって得られる。パリティデータＰ１は、ストライピングデータＤ１〜Ｄ３の何れか一つが失われた場合に、残った２つのストライピングデータから失われたストライピングデータを再生する補助データである。
【００５６】
ここで、データ群４０１における余剰データはＰ１、データ群４０２における余剰データはＤ４、データ群４０３における余剰データはＤ８である。ストライピングデータの生成とパリティデータの生成は、ＣＰＵ２１１によって行われる。
【００５７】
次に生成したストライピングデータとパリティデータをハードディスク装置１０６〜１０８へ記録する（ステップ３０８）。
【００５８】
ステップ３０８では、データ群４０１が４０５に示すように分割されてハードディスク装置１０６、１０７および１０８に記録される。即ち、データ群４０１に着目した場合、ハードディスク装置１０６にストライピングデータＤ１と余剰データであるパリティデータＰ１が記録され、ハードディスク装置１０７にストライピングデータＤ２と余剰データであるストライピングデータＰ１が記録され、ハードディスク装置１０８にストライピングデータＤ３が記録される。つまり、この場合、余剰データであるパリティデータＰ１は、ハードディスク装置１０６と１０７とにそれぞれ記録され、ハードディスク装置１０８には記録は行われない。
【００５９】
同様に、データ群４０２が４０６に示すように分割されてハードディスク装置１０６、１０７および１０８に記録される。また、データ群４０３が４０７に示すように分割されてハードディスク装置１０６、１０７および１０８に記録される。以上のデータの記録は、ＣＰＵ２１１によって制御されてＲＡＩＤエンジン２１３からハードディスク装置１０６〜１０８に対して行われる。
【００６０】
Ｄ１〜Ｄ７およびＰ１〜Ｐ３の各データの記録先に関する情報は、バックアップメモリ２１６内の管理テーブルに記録される。
【００６１】
このようなデータの処理および各ハードディスク装置への書き込み方法を採用することで、ストライピングデータとパリティデータとを各ハードディスク装置に均等に分散させ、各ハードディスク装置に均等に負担が加わる状態とできる。これにより、データの書き込みやデータの読み出しにおいて、特定のハードディスク装置に負担が集中する現象が是正される。
【００６２】
ここでは、データ群４０４で示すように書き込みデータ１０１を処理しているが、得られるストライピングデータとパリティデータの状態は、書き込みデータ１０１の容量やストライプ単位によって異なる。
【００６３】
以上のようにして、書き込みデータ１０１がハードディスク装置１０６〜１０８に分割して記録され、データの書き込みが終了する（ステップ３０９）。
【００６４】
次に省電力モードにおいて記録されているデータを読み出す場合の例を説明する。ここでは、図４の状態でデータがハードディスク装置１０７〜１０８に分散記録されている場合にデータを読み出す例を説明する。
【００６５】
まず、アレイコントローラ２０５では、ホストＣＰＵ２０２からのアクセス要求を受け、バックアップメモリ２１６内から該当するデータに関する管理テーブルが読み出される。そしてこの管理データを参照して、アレイコントローラ２０５からハードディスク装置１０６〜１０８に対して、データ読み出しのための命令が出される。この際、余剰データに関する読み出し命令は出されない。
【００６６】
上記命令を受けたハードディスク装置１０６〜１０８は、並列的に動作し、それぞれ該当するデータ片を読み出し、それをアレイコントローラ２０５へ送る。この場合、ハードディスク装置１０６は、データＤ１、Ｄ５およびＤ９を読み出し、それらをアレイコントローラ２０５へ送る。ハードディスク装置１０７は、データＤ２、Ｄ６およびＰ３を読み出し、それらをアレイコントローラ２０５へ送る。ハードディスク装置１０８は、データＤ３、Ｐ２およびＤ７を読み出し、それらをアレイコントローラ２０５へ送る。
【００６７】
アレイコントローラ２０５では、ハードディスク装置１０６〜１０８から送られてこなかったストライピングデータＤ４をストライピングデータＤ５、Ｄ６およびパリティデータＰ２から生成し、さらにストライピングデータＤ８をストライピングデータＤ７、Ｄ９およびパリティデータＰ３から生成する。こうして、ストライピングデータＤ１〜Ｄ９が得られ、それらから書き込まれていたデータ１０１が得られる。以上のようにして、ハードディスク装置１０６〜１０８に分散して記録されていたデータ１０１が読み出される。
【００６８】
以上説明したデータの書き込み動作と読み出し動作において、書き込み動作時に余剰データの書き込みが行われるために、通常のＲＡＩＤ（例えばＲＡＩＤ５）より、書き込み速度の点ではやや不利となる。しかし、データ読み出し動作においては、各ハードディスク装置に記録されている余剰データを読み出す必要はなく、通常のＲＡＩＤと同等の読み出し速度が得られる。通常の使用方法においては、データの書き込み頻度は、データの読み出し頻度に比較して大幅に少ない。よって、以上で例示した動作形態は、ＲＡＩＤの総合的な性能として見た場合、ハードディスク装置を更にもう一つ必要とする従来のＲＡＩＤと同等と見なせる。つまり、従来のＲＡＩＤよりハードディスク装置を一つ少なくした構成で、ＲＡＩＤとしての総合的な性能で遜色ないシステムが得られる。
【００６９】
次に補助ハードディスク装置１０９を動作させる場合の一例を説明する。例えば、書き込もうとするデータ（書き込みデータ１０１に対応）の容量が大きいので、主ハードディスク装置に加えて補助ハードディスク装置１０９を稼動させる場合の例を説明する。この場合、各ハードディク装置に分散して記録される余剰データの容量も書き込もうとするデータの容量に対応して大きくなり、各ハードディスク装置への負担も大きくなる。この結果、データの書き込み速度が低下する問題が発生する。この問題を回避するために、図３のフローチャートに例示する方法では、ステップ３０２において、書き込むデータの容量が所定容量を超えるかを判断している。
【００７０】
そしてステップ３０２の判断が真の場合は、これまで停止していた補助ハードディスク装置１０９を起動する（ステップ３０４）。そして、ハードディスク装置１０６、１０７および１０８に記録されている余剰データが補助ハードディスク装置１０９へ移される（ステップ３０５）。
【００７１】
以下、ステップ３０５で行われる補助ハードディスク装置への余剰データの移動についてより詳細に説明する。
【００７２】
図５は、本発明の一実施形態における余剰データの補助ハードディスク装置への移動の一例を説明するための図である。ここでは、ステップ３０５の一例として、ハードディスク装置１０６〜１０８に２種類のデータ群６０１と６０２が記録されている状態から、補助ハードディスク１０９を起動し、補助ハードディスク装置１０９に、ハードディスク装置１０６〜１０８に書き込まれている余剰データを移す場合の例を説明する。なお、データ群６０１と６０２は、図４に示す方法で書き込まれたそれぞれ別のデータである。
【００７３】
まず、アレイコントローラ２０５において、バックアップメモリ２１６上の管理テーブルに記録されている余剰データの管理情報が参照される。ここで、ハードディスク装置１０６に余剰データとしてＰ１、Ｄ８、ｐ１およびｄ８が記録されている旨の情報が得られる。また、同様にハードディスク装置１０７に余剰データとしてＰ１、Ｄ４、ｐ１およびｄ４が記録され、ハードディスク装置１０８に、余剰データとしてＤ４、Ｄ８、ｄ４およびｄ８が記録されている旨の情報が得られる。この余剰データの管理情報に基づいて、ハードディスク装置１０６〜１０８に対して余剰データの読み出し命令がアレイコントローラ２０５から出される。ハードディスク装置１０６〜１０９は、この命令に従って余剰データの読み出しを行う。この際、余剰データＰ１は、ハードディスク１０６と１０７に重複して記録されているので、何れか一方が読み出される。これは、他の余剰データについても同様である。
【００７４】
読み出された余剰データは、各ハードディスク装置からアレイコントローラ２０５へ送られる。さらにこの余剰データは、アレイコントローラ２０５から起動が完了した補助ハードディスク装置１０９へ送られ、補助ハードディスク装置１０９に記録される。そして、ハードディスク装置１０６〜１０８に記録されている余剰データが消去される。また、補助ハードディスク装置１０９へ移された余剰データの管理情報が、上記管理テーブルから削除される。
【００７５】
こうして、余剰データＰ１、Ｄ４、Ｄ８、ｐ１、ｄ４およびｄ８が、補助ハードディスク装置１０９に移され、６０３および６０４に示すような状態を得る。
【００７６】
以上説明した余剰データの補助ハードディスク装置への移動操作は、ステップ３０３の判断が偽の場合にも行われる。つまり、ハードディスク装置１０６〜１０８に余剰データの記録に利用できる領域が所定の容量以下となった場合に補助ハードディスク装置１０９が起動され、ハードディスク装置１０６〜１０８に記録されている余剰データが補助ハードディスク装置１０９に移される。こうして、ハードディスク装置１０６〜１０８において、余剰データを書き込める領域が新たに確保される。
【００７７】
補助ハードディスク装置１０９へ余剰データを移動させた後、補助ハードディスク装置１０９を停止させ、再びハードディスク装置１０６〜１０８を使用した省電力モードに移行する。この際、ハードディスク装置１０６〜１０８に記録されていた余剰データが補助ハードディスク装置１０９へ移動されているので、ハードディスク装置１０６〜１０８における余剰データの記録による負荷はなくなり、再び省電力モードでのデータの記録が行える。
【００７８】
なお、補助ハードディスク装置１０９を起動させた高速動作モードでのデータの記録も行える。この場合、ハードディスク装置１０６〜１０８に加えて補助ハードディスク装置１０９も利用したＲＡＩＤとなる。補助ハードディスク装置１０９を利用した動作モードは、補助ハードディスク装置１０９を完全に停止させた状態における省電力モードより、書き込み速度の向上が見込める。なお、補助ハードディスク装置１０９を利用した動作モードは、通常のＲＡＩＤと同じ性能が得られるので、通常動作モードともいえる。
【００７９】
以下において、補助ハードディスク装置１０９を起動させた状態（通常動作モードあるいは高速動作モード）におけるデータの記録方法についてその一例を説明する。
【００８０】
一例を挙げると、この場合アレイコントローラ２０５では、図５の６０３で示されるように、ストライピングデータＤ１〜Ｄ３およびそのパリティデータＰ１が生成され、さらにストライピングデータＤ４〜Ｄ６およびそのパリティデータＰ２が生成され、ストライピングデータＤ７〜Ｄ９およびそのパリティデータＰ３が生成される。そして、ハードディスク装置１０６にストライピングデータＤ１、Ｄ５およびＤ９が記録され、ハードディスク装置１０７にストライピングデータＤ２、Ｄ６およびパリティデータＰ３が記録され、ハードディスク装置１０８にストライピングデータＤ３、Ｄ７およびパリティデータＰ２が記録され、ハードディスク装置１０９にストライピングデータＤ４、Ｄ８およびパリティデータＰ１が記録される。また、各ハードディスク装置に記録されたデータ片の管理情報は、バックアップメモリ２１６上の管理テーブルに記録される。なお、データ片の管理に関しては、通常のＲＡＩＤ５と同じ管理をしても構わない。その場合、バックアップメモリ２１６への管理情報の書き込みは不要である。
【００８１】
上述した補助ハードディスク装置１０９を起動させた高速動作モードでのデータの記録動作では、余剰データの扱いはなく、各ハードディスク装置１０６〜１０９にストライピングデータとパリティデータとが、分散して記録される。この記録形態は、ＲＡＩＤ５におけるデータの扱い方と同じであり、また性能もＲＡＩＤ５と同等である。
【００８２】
補助ハードディスク装置１０８を使用しない省電力モードと補助ハードディスク装置１０８を稼動させた高速動作モードとの選択には、さらに以下の例が挙げられる。一つは、データの書き込みアクセスの状態を監視しておき、一定時間の中で決められた回数以上の書き込みが行われた場合に省電力モードから高速動作モードへ移行する形態である。省電力モードにおけるデータの記録は、余剰データを２つのハードディスク装置に重複して記録しなければならないので、データ記録時の書き込み速度は、高速動作モードの場合に比較して不利になる。そこで、上記のように書き込み頻度が多い場合に自動的に高速動作モードに以降するように設定しておき、データの書き込み頻度が多くなった場合の書き込み速度の低下を抑制する。
【００８３】
また、補助ハードディスク装置１０８を使用しない省電力モードと補助ハードディスク装置１０８を稼動させた高速動作モードとの選択の他の例として、ユーザが手動でモードを選択する例が挙げられる。例えば、ユーザが大容量のデータのバックアップを行うとする場合に手動で省電力モードから高速動作モードに切り換える例が挙げられる。この手動での切り換えを行うには、例えばユーザが使用している端末に、画面上において省電力モードあるいは高速動作モードを任意に選択できるクリックボタンを表示するＧＵＩ(Graphical User Interface)を用意すればよい。
【００８４】
また、動作モードの切り替えのさらに他の例として、予め決められた所定の時期に省電力モードから高速動作モードに切り換える形態を挙げられる。例えば、就業時間後や週末の夜といったデータのバックアップ操作が集中する時間帯が予想できる場合、あるいは統計的に書き込み要求が集中する時間が予想できる場合がある。このような場合、予め決めた時間帯において、補助ハードディスク装置１０９が稼動するように設定しておき、データの書き込みを上述した補助ハードディスク装置１０９をも利用した高速動作モードで行う。
【００８５】
以下において、所定期間における書き込み回数が所定回数以上となった場合に自動的に省電力モードから高速動作モードに移行し、データの書き込みを高速動作モードで行う場合の一例を説明する。この例では、図２に例示するシステムにおいて、アレイコントローラ２０５内のＲＯＭ２１２にデータの書き込み要求の状態を監視し、所定期間内に一定回数以上のデータの書き込み要求があった場合にハードディスク装置１０６〜１０８を稼動させた省電力モードから、さらにハードディスク装置１０９を稼動させた高速動作モードへと移行させる機能を実現するプログラムを記録させておく。
【００８６】
この場合、サーバ２０１に対して、図示しない端末からの書き込みアクセスが集中し、所定期間内における書き込みアクセス数が所定回数を超えた段階で、ハードディスク装置１０６〜１０８を稼動させた省電力モードから、さらに補助ハードディスク装置１０９を稼動させた高速動作モードへと移行する。
【００８７】
高速動作モードへの移行開始から移行終了までは、補助ハードディスク装置１０９の起動に時間がかかるので、多少の時間が必要とされる。そこで、高速動作モードへの以降が終了するまでの間に書き込みアクセスのあったデータは、省電力モードでの記録を行なうと共に、すぐに記録が行なえないデータは、キャッシュメモリ２１５内に一時的に記録される。そして、補助ハードディスク装置１０９の起動が完了した時点において、キャッシュメモリ２１５内に一時的に記録されていたデータおよび書き込み要求のあったデータを順次高速動作モードにおける記録形態でハードディスク装置装置１０６〜１０９に分散して記録する。
【００８８】
ここで、省電力モードにおけるデータの記録動作では、バックアップメモリ２１６内の管理テーブルに余剰データに関する管理情報が記録される。そして、高速動作モードに移行した段階で、余剰データに関する管理情報は記録されず、通常のＲＡＩＤの場合と同様な管理手法でデータの管理が行なわれる。
【００８９】
なお、記録要求のあったデータの記録が終了した段階でハードディスク装置１０６〜１０８に記録されている余剰データを補助ハードディスク装置１０９へ移動してもよい。
【００９０】
そして、データ書き込み要求の頻度が低下し、補助ハードディスク装置１０９を稼動させなくても良い程度に負荷が下がった段階でハードディスク装置１０９を停止させ、高速動作モードから省電力モードへと移行する。
【００９１】
この高速動作モードから省電力モードへの移行方法として以下の形態が挙げられる。一つは、データの書き込み頻度が所定の回数以下になった状態を検知し、補助ハードディスク装置を停止する方法が挙げられる。また、ユーザが手動で補助ハードディスク装置を停止する方法が挙げられる。また、予め決めておいた時間になったら補助ハードディスク装置を停止するようなプログラムを利用する方法が挙げられる。
【００９２】
次に余剰データを補助ハードディスク装置１０９に移した後において、システムに記録されているデータを読み出す場合の一例を説明する。この場合、２つの形態がある。一つの形態は、起動してあった補助ハードディスク装置１０９を再びアイドリング動作をしていない停止状態として、省電力モードにした状態でのデータの読み出しである。他の一つの形態は、補助ハードディスク装置１０９を起動した状態の高速動作モードにおけるデータの読み出しである。
【００９３】
まず、省電力モードでのデータの読み出し例について説明する。この場合、ハードディスク装置１０６〜１０９へのデータの記録状態として、図５の６０１で例示される状態または６０３で例示される状態があり、それぞれの状態からの読み出し例が挙げられる。
【００９４】
最初に図５の６０１の状態で記録されているデータを読み出す場合について説明する。即ち、補助ハードディスク装置１０９を使用していない省電力モードにおいて、ハードディスク装置１０６〜１０８に記録されているデータを読み出す場合を説明する。この場合、まず該当するデータの読み出し指令がアレイコントローラ２０５に対して出される。アレイコントローラ２０５では、バックアップメモリ２１６上の管理テーブルに記録されている該当するデータの管理情報が参照される。そして、アレイコントローラ２０５から、ハードディスク装置１０６〜１０８に対して、該当するデータ片の読み出し命令が出される。この際、余剰データに対する読み出し命令は出されない。
【００９５】
上記読み出し命令に対して、ハードディスク装置１０６からデータ片Ｄ１、Ｄ５およびＤ９が読み出され、ハードディスク装置１０７からデータ片Ｄ２、Ｄ６およびＰ３が読み出され、ハードディスク装置１０８からデータ片Ｄ３、Ｐ２およびＤ７が読み出される。各ハードディスク装置で読み出されたデータ片は、アレイコントローラ２０５へ送られる。アレイコントローラ２０５では、ストライピングデータＤ４をストライピングデータＤ５、Ｄ６およびパリティデータＰ２から生成し、ストライピングデータＤ８をストライピングデータＤ７、Ｄ９およびパリティデータＰ３から生成する。こうして、アレイコントローラ２０５は、ストライピングデータＤ１〜Ｄ９を得る。そして、アレイコントローラ２０５において、ストライピングデータＤ１〜Ｄ９が結合され、基のデータ１０１（図４参照）を得る。こうして、ハードディスク装置１０６〜１０８に分散して記録されていたデータ１０１が読み出される。
【００９６】
次に補助ハードディスク装置１０９を動作させていない省電力モードにおいて、図５の６０３で示される状態で記録されているデータを読み出す場合について説明する。この場合。補助ハードディスク１０９は動作していないので、データＰ１、Ｄ４およびＤ８は補助ハードディスク装置１０９からは読み出せない。
【００９７】
まず、該当するデータの読み出し指令を受けたアレイコントローラ２０５では、バックアップメモリ２１６上の管理テーブルに記録されている該当するデータの管理情報が参照される。そして、アレイコントローラ２０５から、ハードディスク装置１０６〜１０８に対して、該当するデータ片の読み出し命令が出される。この際、ハードディスク装置１０６からデータ片Ｄ１、Ｄ５およびＤ９が読み出され、ハードディスク装置１０７からデータ片Ｄ２、Ｄ６およびＰ３が読み出され、ハードディスク装置１０８からデータ片Ｄ３、Ｐ２およびＤ７が読み出される。そして、読み出されたデータ片は、各ハードディスク装置からアレイコントローラ２０５へ送られる。アレイコントローラ２０５では、ストライピングデータＤ５、Ｄ６およびパリティデータＰ２からストライピングデータＤ４を生成し、ストライピングデータＤ９、Ｄ７およびパリティデータＰ３からストライピングデータＤ８を生成する。こうしてストライピングデータＤ１〜Ｄ９を得る。そして、ストライピングデータＤ１〜Ｄ９より記録されていたデータ１０１（図４参照）を得る。
【００９８】
以上のようにして、補助ハードディスク装置１０９を稼動させていない省電力モードにおけるデータの読み出しが行われる。
【００９９】
次に主ハードディスク装置１０６〜１０８に加えて補助ハードディスク装置１０９を動作させた高速動作モードにおけるデータの読み出しの例を説明する。ここでは、高速動作モードにおいて、図５の６０３で例示される状態で記録されているデータを読み出す場合を説明する。
【０１００】
まず該当するデータの読み出し指令がアレイコントローラ２０５に対して出される。アレイコントローラ２０５では、バックアップメモリ２１６上の管理テーブルに記録されている該当するデータの管理情報が参照される。そして、アレイコントローラ２０５から、ハードディスク装置１０６〜１０９に対して、該当するデータ片の読み出し命令が出される。この際、データ片の読み出し命令は、ストライピングデータのみに対して行われる。
【０１０１】
上記読み出し命令に対して、ハードディスク装置１０６からストライプＤ１、Ｄ５およびＤ９が読み出され、ハードディスク装置１０７からストライピングデータＤ２およびＤ６が読み出され、ハードディスク装置１０８からストライピングデータＤ３およびＤ７が読み出され、ハードディスク装置１０９からストライピングデータＤ４およびＤ８が読み出される。各ハードディスク装置で読み出されたデータ片は、アレイコントローラ２０５へ送られる。アレイコントローラ２０５では、ハードディスク装置１０６〜１０９から送られてきたストライピングデータＤ１〜Ｄ９から基のデータ１０１を得る。こうして、補助ハードディスク装置１０９を使用した高速動作モードでのデータの読み出しが行われる。
【０１０２】
なお、補助ハードディスク装置１０９を使用した高速動作モードでのデータの読み出しにおいて、読み出しの対象となるデータが、補助ハードディスク装置１０９を利用しない図５の６０１で例示される状態で記録されている場合もある。この場合は、ハードディスク装置１０６〜１０８から余剰データを除く該当するデータ片が読み出され、省電力モードにおける場合と同様の方法により、システムに記録されていたデータの読み出しが行われる。
【０１０３】
次に省電力モードで動作中に一つのハードディスク装置が故障した場合に失われたデータを再生する方法について説明する。ここでは、図２に例示するシステムにおいて、図５の６０１で例示される状態でデータが記録されている場合の例、および図５の６０３で例示される状態でデータが記録されている場合の例について説明する。
【０１０４】
まず、図５の６０１で例示される状態でデータが記録されている場合の例について説明する。またここでは、ハードディスク装置１０９が動作していない省電力モードでシステムが動作している場合の例を説明する。
【０１０５】
この場合、ハードディスク装置１０６〜１０８に６０１で示される状態でデータが分散して記録されている。この状態で、ハードディスク装置１０６が故障した場合について説明する。まず何らかの理由により、ハードディスク装置１０６が故障し、記録されているデータが読み出せなる。この故障は、例えばハードディスク装置１０６の回転機構の故障、ヘッドの移動を制御する機構の故障、といった原因によって発生する。
【０１０６】
ハードディスク装置１０６が故障すると、ハードディスク装置１０６に記録されていたデータ片Ｄ１、Ｐ１、Ｄ５、Ｄ９およびＤ８は読み出せなくなる。この場合、データの読み出し要求があると、アレイコントローラ２０５内では、バックアップメモリ２１６内の管理テーブルが参照され、該当するデータのデータ片の読み出し指示がハードディスク装置１０６〜１０８に対して行なわれる。ここで、ハードディスク装置１０６は故障しているので、上記データの読み出し指示に対する応答が行なわれず、ハードディスク装置１０６が故障している旨の判定がアレイコントローラ２０５内で行なわれる。
【０１０７】
ハードディスク装置１０６が故障している旨の判定が下されたら、アレイコントローラ２０５は、バックアップメモリ２１６内の管理テーブルを参照し、ハードディスク装置１０７に対して、データ片Ｄ２、Ｄ６およびＰ３、さらに余剰データＰ１とＤ４の読み出し指令を出す。同様に、アレイコントローラ２０５は、バックアップメモリ２１６内の管理テーブルを参照し、ハードディスク装置１０８に対して、データ片Ｄ３、Ｐ２およびＤ７、さらに余剰データＤ４とＤ８の読み出し指令を出す。
【０１０８】
各ハードディスク装置で読み出されたデータ片は、アレイコントローラ２０５へ送られる。アレイコントローラ２０５では、ハードディスク装置１０７と１０８とから読み出されたデータ片に基づいて、ハードディスク装置１０６に記録されていたデータの再生を行なう。即ち、アレイコントローラ２０５において、ストライピングデータＤ２およびＤ３とパリティデータＰ１とからストライピングデータＤ１が生成される。また、アレイコントローラ２０５において、ストライピングデータＤ６およびＤ４とパリティデータＰ２とからストライピングデータＤ５が生成される。また、アレイコントローラ２０５において、ストライピングデータＤ７およびＤ８とパリティデータＰ３とからストライピングデータＤ９が生成される。
【０１０９】
こうして、ハードディスク装置１０６に記録されていたデータ片Ｄ１、Ｄ５およびＤ９が再生される。なお、ハードディスク装置１０６に記録されていたパリティデータＰ１およびストライピングデータＤ８は、他のハードディスク装置に記録されているので、再生する必要はない。
【０１１０】
以上のようにして、ストライピングデータＤ１〜Ｄ９を得、そこから書き込まれていた基のデータを得る。こうして、ハードディスク装置１０６が故障しても残ったハードディスク装置１０７と１０８に記録されているデータに基づいて、失われたデータを再生し、システムとしてデータが失われる事態が回避される。
【０１１１】
上述した動作は、自動的に行なわれるので、データの読み出しを指示したユーザにとっては、通常のシステムが動作している場合と同様な状態でシステムが動作しているように感じられる。
【０１１２】
次に主ハードディスク装置１０６〜１０８に加えて、補助ハードディスク装置１０９を稼動させた高速動作モードにおいて、一つのハードディスク装置が故障した場合の例を説明する。ここでは、ハードディスク装置１０７が故障した状態において、図５の６０３で示される状態で記録されているデータを読み出す場合の例を説明する。
【０１１３】
この場合、データの読み出し要求があると、アレイコントローラ２０５内では、バックアップメモリ２１６内の管理テーブルが参照され、該当するデータのデータ片の読み出し指示がハードディスク装置１０６〜１０９に対して行なわれる。ここで、ハードディスク装置１０７は故障しているので、上記データの読み出し指示に対する応答が行なわれず、ハードディスク装置１０７が故障している旨の判定がアレイコントローラ２０５内で行なわれる。
【０１１４】
ハードディスク装置１０７が故障している旨の判定が下されたら、アレイコントローラ２０５は、バックアップメモリ２１６内の管理テーブルを参照し、ハードディスク装置１０６に対して、データ片Ｄ１、Ｄ５およびＤ９の読み出し指令を出す。同様にアレイコントローラ２０５は、バックアップメモリ２１６内の管理テーブルを参照し、ハードディスク装置１０８に対して、データ片Ｄ３、Ｐ２、およびＤ７の読み出し指令を出す。同様にアレイコントローラ２０５は、バックアップメモリ２１６内の管理テーブルを参照し、ハードディスク装置１０９に対して、データ片Ｐ１、Ｄ４およびＤ８の読み出し指令を出す。つまり、アレイコントローラ２０５は、故障したハードディスク装置１０７以外のハードディスク装置から、読み出し指令のあったデータに関するデータ片の読み出し指令を出す。
【０１１５】
そしてアレイコントローラ２０５は、得られたデータ片から失われたストライピングデータを再生する。即ち、ストライピングデータＤ１、Ｄ３およびパリティデータＰ１から失われたストライピングデータＤ２を再生する。また、ストライピングデータＤ４、Ｄ５およびパリティデータＰ２から失われたストライピングデータＤ６を再生する。
【０１１６】
こうして、アレイコントローラ２０５は、ストライピングデータＤ１〜Ｄ９を得る。そしてアレイコントローラ２０５において、ストライピングデータＤ１〜Ｄ９に基づいて記録されていた基のデータが得られる。
【０１１７】
以上のようにして、高速動作モードにおいて、一つのハードディスク装置が故障してもシステムに記録されていたデータは読み出せる。
【０１１８】
ここでは、読み出しのアクセスがあった場合に支障なくデータを読み出す場合を例に挙げて説明を加えたが、ハードディスク装置１０６が故障した事態を受けて、ハードディスク装置１０６の記録内容を復旧させる際に上述した操作を行なっても良い。この場合、何らかの報知手段により、システムの管理者にハードディスク装置が故障した旨が知らされる。システムの管理者は、故障したハードディスク装置をサーバ２０１から取り外し、新たなハードディスク装置を代わりにサーバ２０１に装着する。そして、その状態で失われたデータの復旧が行われ、さらに復旧されたデータは新たに装着されたハードディスク装置に記録される。こうして、主ハードディスク装置の一つが故障し、そこに記録されているデータが読み出せなくなっても、システムの状態を元に戻せる。
【０１１９】
省電力モードから高速動作モードに移行することで、ハードディスク装置１０６〜１０８の負担が軽くなり、その能力を最大限発揮できるようになる。なお、ステップ３０５における余剰データの移動は、もしハードディスク装置１０６〜１０８に十分な空き容量があれば、ステップ３０８の後で行われてもよい。以上のようにして、省電力モードでの稼動中に、各ハードディスク装置における余剰データを扱う負担がある程度大きくなった段階で、補助ハードディスク装置を起動させ、ＲＡＩＤの機能が低下しないようにできる。こうして、ハードディスク装置の高利用効率と低消費電力化を実現しつつ、従来技術と同様のＲＡＩＤの機能が得られる。
【０１２０】
以下、本発明のデータ処理方法を利用した他の実施形態を例示する。図６および図７は、本発明のデータ処理方法を利用した他の実施形態を説明する図である。ここでは、パリティデータを余剰データとして取扱う一例を説明する。ここで例示する方法は、図２に例示するシステムで実施できる。また、処理の流れは、図３に例示するフローチャートと同じである。
【０１２１】
まず省電力モードでの動作を説明する。この例では、書き込みデータ１０１からストライピングデータＤ１〜Ｄ９が生成され、さらにストライピングデータＤ１〜Ｄ３からパリティデータＰ１が生成され、ストライピングデータＤ４〜Ｄ６からパリティデータＰ２が生成され、ストライピングデータＤ７〜Ｄ９からパリティデータＰ３が生成される。
【０１２２】
そして、３台のハードディスク装置１０６、１０７および１０８のそれぞれにストライピングデータが割当てられ記録される。即ち、ハードディスク装置１０６には、ストライピングデータＤ１、Ｄ４、Ｄ７・・・が記録され、ハードディスク装置１０７には、ストライピングデータＤ２、Ｄ５、Ｄ８・・・が記録され、ハードディスク装置１０８には、ストライピングデータＤ３、Ｄ６、Ｄ９・・・が記録される。そして、パリティデータＰ１はハードディスク装置１０６と１０７に記録され、パリティデータＰ２はハードディスク装置１０７と１０８に記録され、パリティデータＰ３はハードディスク装置１０６と１０８に記録される。
【０１２３】
この例では、パリティデータが余剰データとして扱われ、各ハードディスク装置に分散して書き込まれる。
【０１２４】
ハードディスク装置１０６〜１０８において、余剰データを扱う負担が大きくなった段階で、補助ハードディスク装置１０９を起動する（図７参照）。そして、図７に示すように、補助ハードディスク装置１０９へ余剰データであるパリティデータＰ１、Ｐ２およびＰ３を移す。この際、ハードディスク装置１０６〜１０８において、パリティデータＰ１〜Ｐ３は削除される。こうして、ハードディスク装置１０６〜１０８は、余剰データを扱う負担分が軽減される。
【０１２５】
また、ハードディスク装置１０６〜１０９の全てを利用してＲＡＩＤ機能を実現してもよい。この場合、補助ハードディスク装置１０９を起動させた状態において、ハードディスク装置１０６〜１０８にストライピングデータが記録され、補助ハードディスク装置１０９にパリティデータが記録されてＲＡＩＤ３やＲＡＩＤ４と同等な機能が実現される。
【０１２６】
以下において、ストライピングデータとパリティデータの具体的な生成方法について一例を例示する。ここでは、３つのストライピングデータとそのパリティデータの場合の例を説明する。まず、ストライピングデータをそれぞれＤ（１）、Ｄ（２）、Ｄ（３）とする。また、パリティデータをＰ（０）とする。ここで、Ｄ（１）、Ｄ（２）、Ｄ（３）およびＰ（０）には、下記数式「数１」の関係が成立する。なお、「＋」は排他的論理和を示す演算記号である。
【０１２７】
【数１】
0004307777.tif 000002
【０１２８】
上記の「数１」は、偶数パリティを表す式であるが、右辺を「＝１」とした奇数パリティも可能である。なお、排他的論理和とは、下記数式「数２」の性質がある（ここでは２進数の例を示す）
【０１２９】
【数２】
0004307777.tif 000003
【０１３０】
排他的論理和の性質に従えば、パリティデータＰ（０）は、下記数式「数３」のように表される。
【０１３１】
【数３】
0004307777.tif 000004
【０１３２】
ここで、２進数で考えて、仮にＤ（１）＝１、Ｄ（２）＝１、Ｄ（３）＝０であるとする。この場合、「数２」の規則によって、Ｐ（０）は０となる。
【０１３３】
仮にストライピングデータＤ（１）が失われたとする。Ｄ（１）は下記数式「数４」のように示される。
【０１３４】
【数４】
0004307777.tif 000005
【０１３５】
上述したようにＤ（２）＝１、Ｄ（３）＝０、Ｐ（０）＝０であるから、上記数式「数４」から、Ｄ（１）＝１が求められる。こうして、失われたストライピングデータＤ（１）は、残ったストライピングデータＤ（２）、Ｄ（３）およびパリティデータＰ（０）から復元される。また、他のストライピングデータＤ（２）およびＤ（３）も同様な計算によって、他のストライピングデータとパリティデータから復元できる。上記は偶数パリティの場合であるが、奇数パリティの場合は、「数３」および「数４」の右辺（または左辺）に「＋１」を加えればよい。
【０１３６】
本実施の形態では、従来の技術では４台のハードディスクを必要としたＲＡＩＤの機能を３台のハードディスク装置で実現できる。これにより、従来の技術に比較して、ハードディスク装置１台分の消費電力を節約でき、またアイドリング動作に従う発熱も抑制される。また、本実施の形態では、ハードディスク装置の利用効率を高められる。また、補助ハードディスク装置を適宜起動することで、性能低下を最低限に抑えられる。
【０１３７】
本実施の形態では、３台のハードディスク装置を用いた省電力モードと１台の補助ハードディスク装置をさらに利用した高速動作モードを例示した。本発明を利用した省電力モードの動作は、３台以上のハードディスク装置で実現可能である。また、補助ハードディスク装置の数も１台に限定されず、複数台を利用できる。
【０１３８】
本実施の形態では、ＲＡＩＤを実現するために専用ハードウェアであるアレイコントローラを用いる例を示したが、アレイコントローラの機能をソフトウェアによって実現してもよい。この場合、ＲＡＩＤを実現するためのソフトウェアに従ってサーバのホストＣＰＵ、あるいは適当なコンピュータによってＲＡＩＤの動作が統括される。
【０１３９】
本実施の形態においては、余剰データの管理情報を含む管理テーブルをバックアップメモリ２１６に置く例を説明した。しかし、バックアップメモリを備えていないアレイコントローラやアレイコントローラを用いずにソフトウェアで本発明を実施する場合には、管理テーブルをサーバあるいはシステムを制御しているコンピュータのＲＡＭ上に置いても良い。この場合、特別なハードウェアが必要とされず、コストパフォーマンスも良い。しかし、システムの稼動中に停電等で電源が遮断された場合に管理データが失われる問題がある。
【０１４０】
この問題に対応する方法としては、定期的にＲＡＭに記録されている管理データをハードディスク装置に記録し、管理データのバックアップをする方法が挙げられる。この方法では、電源が予期せず切れた場合、電源を復旧させた後、まず電源を切れる前の最後にハードディスク装置に記録された管理テーブルを読み出す。この管理テーブルには、バックアップが行なわれた後における管理情報はなく、バックアップが行なわれた後に記録されたデータに関し、その余剰データがどのハードディスク装置に記録されているのかは分からない。
【０１４１】
そこで、ディスクアレイを構成する各ハードディスク装置をスキャンし、余剰データのないデータグループがあれば、新たに余剰データを再生して、その余剰データを書き込まれるべき場所に記録する。そして、この余剰データに関する管理情報を管理テーブルへ追加し、管理テーブルの更新を行なう。なお、どのデータグループにも属さないハードディスク装置上のデータは、関連付けから外れた余剰データであるので削除する。
【０１４２】
以上の操作を全てのハードディスク装置に対して行い、余剰データと管理テーブルの再生を行なう。この操作は、ハードディスク装置への管理テーブルのバックアップ動作が行なわれた後に更新された管理情報が小さければ小さい程、より短時間で終了する。従って、より頻繁にハードディスク装置への管理テーブルのバックアップを行なうことで、上述した操作はより短時間で行なえる。
【０１４３】
以上本発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で変更することが可能である。
【０１４４】
図８は、本発明のデータ処理方法を適用した実施形態の他の変形例を説明する図である。図８に示すのは、Ｎ個のストライピングデータとそのパリティデータをＮ−１台のハードディスク装置に分散して記録する場合の一例である。図８には、主記録装置である３台のハードディスク装置と補助記録装置である１台の補助ハードディスク装置を利用するシステムの例が示されている。
【０１４５】
この場合、システムに記録するデータ１０１から、４つのストライピングデータ９０１〜９０４を生成し、さらにストライピングデータ９０１〜９０４のパリティデータ９０５を生成する。こうして都合５つのデータを生成する。そして、その中の３つのデータを主記録装置であるハードディスク装置１０６、１０７および１０８にそれぞれ記録する。また、余った余剰データであるストライピングデータ９０４とパリティデータ９０５をハードディスク装置１０６と１０７にそれぞれ記録する。この際、余剰データは、ハードディスク装置１０６と１０７にそれぞれ同じものが重複して記録される。なお、余剰データの管理情報は、図示しないアレイコントローラ中のバックアップメモリ内に記録される。
【０１４６】
図８には、ストライピングデータ９０１をハードディスク装置１０６に記録し、ストライピングデータ９０２をハードディスク装置１０７に記録し、ストライピングデータ９０３をハードディスク装置１０８に記録し、ストライピングデータ９０４をハードディスク装置１０６と１０７にそれぞれストライピングデータ９０４ａ、９０４ｂとして記録し、パリティデータ９０５をハードディスク装置１０６と１０７にそれぞれパリティデータ９０５ａ、９０５ｂとして記録する状態が示されている。なお、データ９０４ａと９０４ｂは、データ９０４と同じものであり、データ９０５ａと９０５ｂは、データ９０５と同じものである。
【０１４７】
例えばハードディスク装置１０６が故障し、ストライピングデータ９０１、ストライピングデータ９０４ａおよびパリティデータ９０５ａが失われたとする。この場合、ストライピングデータ９０１は、ストライピングデータ９０２、ストライピングデータ９０３、ストライピングデータ９０４ｂおよびパリティデータ９０５ｂから生成される。またこの場合、ストライピングデータ９０４ａおよびパリティデータ９０５ａは、同じものがハードディスク装置１０７に記録されているので、失われても問題ない。同様にして、ハードディスク装置１０７またはハードディスク装置１０８の何れか一方が故障し、記録されているデータが失われても、失われたデータは生成され、システムはデータを失わない。
【０１４８】
図８に示す例では、余剰データを扱うことによりハードディスクが引き受ける負担が、図１に例示する場合に比較して大きい。図８に示す例では、余剰データの存在に起因するハードディスク装置１０６および１０７の負担を軽減するために、補助記録装置であるハードディスク装置１０９を適当なタイミングで起動し、そこに余剰データ９０５を移す。またこの際、余剰データ９０４ａは、余剰データ９０４としてハードディスク装置１０６内に残す。図８には、余剰データ９０５をハードディスク装置１０９に移し、余剰データ９０５ａ、９０４ｂおよび９０５ｂが消去された例が示されている。これにより、余剰データの扱いに起因するハードディスク装置１０６および１０７の負担を軽減できる。なお、ハードディスク装置１０９に記録される余剰データ９０５は、余剰データ９０５ａまたは余剰データ９０５ｂの何れであっても良い。
【０１４９】
図８に示す例では、従来のＲＡＩＤであれば５台のハードディスク装置が必要であったものを３台のハードディスクでＲＡＩＤを構成できる。図８に示す例においてもハードディスク装置１０６〜１０８を稼動させた省電力モードとハードディスク装置１０６〜１０９を稼動させた高速動作モードを選択できる。
【０１５０】
図９は、他の変形例を示す図である。図９の例示では、補助ハードディスク装置としてハードディスク装置１０９と１１０の２台を用意する。そして、適当なタイミングでハードディスク装置１０９と１１０を起動し、ハードディスク装置１０９へ余剰データ９０４ｂを移し、ハードディスク装置１１０へ余剰データ９０５を移す。この際、ハードディスク装置１０６内の余剰データ９０５ａとハードディスク装置１０７内の余剰データ９０４ｂおよび９０５ｂは消去する。こうして、ハードディスク装置１０６と１０７の負担が軽減される。なお、ハードディスク装置１１０に記録される余剰データ９０５は、余剰データ９０５ａまたは余剰データ９０５ｂの何れであっても良い。
【０１５１】
本発明は、ＮＡＳ(Network Attached Storage)に適用してもよい。また、本発明は、記録媒体として磁気テープを利用したものに適用してもよい。例えば、多数の磁気テープ記録装置をアレイとして用いたシステムに本発明は適用可能である。
【０１５２】
【発明の効果】
本願で開示される発明のうち、代表的なものによって得られる効果は、以下の通りである。すなわち、本発明により、記録装置の利用効率を高めた記録システムが提供される。また、本発明により、ＲＡＩＤを利用したシステムにおいて、ＲＡＩＤが備えている機能をできるだけ損なわずに低消費電力化を実現する技術が提供される。
【図面の簡単な説明】
【図１】  本発明のデータ処理方法を適用した一実施形態を説明するための図である。
【図２】  本発明のデータ処理方法を適用した一実施形態で利用されるＲＡＩＤシステムの概要を示す図である。
【図３】  本発明のデータ処理方法を適用した一実施形態を説明するフローチャートである。
【図４】  本発明のデータ処理方法を適用した一実施形態を説明する図である。
【図５】  本発明の一実施形態における余剰データの補助ハードディスク装置への移動の一例を説明する図である。
【図６】  本発明のデータ処理方法を利用した他の実施形態を説明する図である。
【図７】  本発明のデータ処理方法を利用した他の実施形態を説明する図である。
【図８】  本発明のデータ処理方法を利用した他の実施形態を説明する図である。
【図９】  本発明のデータ処理方法を利用した他の実施形態を説明する図である。
【符号の説明】
１０１…書き込みデータ、１０２…ストライピングデータ、１０３…ストライピングデータ、１０４…ストライピングデータ、１０５…パリティデータ、１０５ａ…パリティデータ、１０５ｂ…パリティデータ、１０６…ハードディスク装置、１０７…ハードディスク装置、１０８…ハードディスク装置、１０９…ハードディスク装置、１１０…ハードディスク装置、２０１…アレイコントローラ、２０１…サーバ、２０２…ホストＣＰＵ、２０３…バッファメモリ、２０４…メインメモリ、２０５…アレイコントローラ、２０６…バス配線、２１０…バスコントローラ、２１１…ＣＰＵ、２１２…ＲＯＭ、２１３…ＲＡＩＤエンジン、２１４…ＲＡＭ、２１５…キャッシュメモリ、４０１…データ群、４０２…データ群、４０３…データ群、４０４…データ群、９０１…ストライピングデータ、９０２…ストライピングデータ、９０３…ストライピングデータ、９０４…ストライピングデータ、９０４ａ…ストライピングデータ、９０４ｂ…ストライピングデータ、９０５…パリティデータ、９０５ａ…パリティデータ、９０５ｂ…パリティデータ。
【図１】
0004307777.tif 000006
【図２】
0004307777.tif 000007
【図３】
0004307777.tif 000008
【図４】
0004307777.tif 000009
【図５】
0004307777.tif 000010
【図６】
0004307777.tif 000011
【図７】
0004307777.tif 000012
【図８】
0004307777.tif 000013
【図９】
0004307777.tif 000014