(57)【特許請求の範囲】
【請求項１】
コンピュータシステムに利用されるデータを読取可能なディスクアレイシステムであって、
前記コンピュータシステムと接続可能なインターフェースと、
前記インタフェースに接続されるコントローラーと、
前記コントローラに接続されるメモリと、
前記コントローラに接続される複数のディスク装置と、を備え、
前記ディスク装置は、複数の格納領域に分割され、
前記複数のディスク装置によって、複数のデータをそれぞれ格納可能なデータ格納領域と、前記複数のデータから演算可能な冗長データを格納可能な一の冗長データ格納領域と、が対応付けられてストライプグループが構成されており、
前記メモリは、ストライプグループごとの冗長データの生成状態を保持し、
前記コントローラは、
前記メモリから前記ストライプグループごとに冗長データの生成状態を参照し、前記冗長データが生成されていないストライプグループを特定し、前記特定されたストライプグループを構成するデータ格納領域からデータを読み出し、前記読み出されたデータと前記ライト要求に含まれるデータとを用いて冗長データを作成し、前記冗長データを冗長データ格納領域に格納し、
前記メモリに格納される前記ストライプグループの生成状態を更新する、ことを特徴とする、ディスクアレイシステム。
【請求項２】
コンピュータシステムに利用されるデータを読取可能なディスクアレイシステムであって、
前記コンピュータシステムと接続可能なインターフェースと、
前記インタフェースに接続されるコントローラーと、
前記コントローラに接続されるメモリと、
前記コントローラに接続される複数のディスク装置と、を備え、
前記ディスク装置は、複数の格納領域に分割され、
前記複数のディスク装置によって、複数のデータをそれぞれ格納可能なデータ格納領域と、前記複数のデータから演算可能な冗長データを格納可能な一の冗長データ格納領域と、が対応付けられてストライプグループが構成され、
前記メモリは、ストライプグループごとの冗長データの生成状態を保持し、
前記コントローラは、
前記コンピュータシステムから前記インタフェースを介して、ストライプグループを構成するデータ格納領域に格納すべきデータのライト要求を受け、
前記ライト要求に対応するストライプグループの冗長データの生成状態を参照し、
前記冗長データが生成されていない場合、前記ライト要求に含まれるデータが格納されるべきデータ格納領域に対応付けられている他のデータ格納領域に格納されているデータを読み出し、前記読み出されたデータと前記ライト要求に含まれるデータとから冗長データを作成し、冗長データ格納領域に格納し、
前記メモリに格納される前記ライト要求に含まれるデータを含むストライプグループの生成状態を更新する、
ことを特徴とするディスクアレイシステム。
【請求項３】
請求項２記載のディスクアレイシステムであって、
前記コントローラは、前記冗長データが既に生成されている場合、前記冗長データ格納領域から冗長データを読み出し、前記冗長データを前記データとを用いて新たな冗長データを生成し、前記データを所定のデータ格納領域に、前記新たな冗長データを前記冗長データ格納領域に格納することを特徴とするディスクアレイシステム。
【請求項４】
コンピュータシステムに利用されるデータを読取可能なディスクアレイシステムであって、
前記コンピュータシステムと接続可能なインターフェースと、
前記インタフェースに接続されるコントローラーと、
前記コントローラに接続される複数のディスク装置と、を備え、
前記ディスク装置は、複数の格納領域に分割され、
前記複数のディスク装置によって、複数のデータをそれぞれ格納可能なデータ格納領域と、前記複数のデータから演算可能な冗長データを格納可能な一の冗長データ格納領域と、が対応付けられてストライプグループが構成されており、
前記冗長データ格納領域には、ストライプグループごとの冗長データの生成状態が記録され、
前記コントローラは、
前記コンピュータシステムから前記インタフェースを介して、ストライプグループを構成するデータ格納領域に格納すべきデータのライト要求を受け、
前記ライト要求に対応するストライプグループの冗長データ格納領域から前記生成状態を含むデータを読み出し、
前記生成状態を参照し、前記冗長データが生成されていない場合、前記ライト要求に含まれるデータが格納されるべきデータ格納領域に対応付けられている他のデータ格納領域に格納されているデータを読み出し、前記読み出されたデータと前記ライト要求に含まれるデータとから冗長データを作成し、前記生成状態を更新し、前記更新された生成状態を前記冗長データとともに冗長データ格納領域に格納する、
ことを特徴とするディスクアレイシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、コンピュータシステムの記憶装置に関する。
【０００２】
【従来の技術】
従来、単体で用いられていた磁気ディスク装置（ハードディスク装置）に代えて、複数の磁気ディスク装置を並列に動かして読み出し／書き込みの高速化を図り、冗長構成によって信頼性をあげた外部記憶装置であるディスクアレイ装置が考えられている（論文：″Ａ Ｃase for Ｒedundant Ａrrays of Ｉnexpensive Ｄisks（ＲＡＩＤ）″，Ｄavid Ａ.Ｐatterson，Ｇarth Ｇibson，and Ｒandy Ｈ.Ｋatz，Ｃomputer Ｓcience Ｄivision Ｄepartment of Ｅlectrical Ｅngineering and Ｃomputer Ｓcience，Ｕniversity of Ｃalifornia Ｂerkelay）。記憶装置は、一般的にディスクアレイ装置やＲＡＩＤ（Ｒedundant Ａrrays of Ｉnexpensive Ｄisks）と呼ばれている。論文の中では、ディスクアレイ装置の構成により、そのレベルに１から５までの番号が与えられている。ＲＡＩＤレベル３は、大量のデータを転送するシーケンシャルファイルアクセスに対し性能の向上が見込め、ＲＡＩＤレベル５は、小さなサイズの読み書きが大量に発生するランダムアクセスに対して性能の向上が見込まれることは周知の通りである（日経エレクトロニクス1993/4/26Ｎo.576Ｐ.77〜91特集ディスクアレイ装置）。
【０００３】
ここで、アレイ制御について、図８を用いて説明する。ディスクアレイ装置は複数の磁気ディスク装置を有する。アレイ制御とは、複数の磁気ディスク装置にどのようにデータを分散させ、また、どのように冗長データを作成し、冗長データをどこに格納するかを規定することである。
【０００４】
図８に示すように、３台の磁気ディスク装置で構成するディスクアレイ装置には、０から７までのデータ格納領域がある。このデータ格納領域はストライプと呼ばれ、図８では、３２ＫＢのデータを格納することができる。
【０００５】
また、Ｐ０１，Ｐ２３，Ｐ４５，Ｐ６７で表す冗長データ格納領域がある。Ｐ０１には、ストライプ０番とストライプ１番に格納しているデータの排他的論理和（ＸＯＲ）を演算した
（Ｐ０１）＝（ストライプ０のデータ）ＸＯＲ（ストライプ１のデータ）
を格納する。同様にＰｎｍの場合は、
（Ｐnm）＝（ストライプｎのデータ）ＸＯＲ（ストライプｍのデータ）
を格納する。このような冗長データは、ディスクアレイ装置を構成するディスク装置のディスク装置の内、１台のディスク装置が壊れた時に有効になる。この状態を縮退状態と呼ぶが、この状態における読み書き処理については後述する。
【０００６】
データ格納領域のストライプｎ番からストライプｍ番と、冗長データ格納領域Ｐnmをまとめて、ストライプグループと呼ぶ。コンピュータシステムからディスクアレイ装置を見ると、ストライプ０番から７番まで連続した論理的な１台の記憶装置として認識される。しかし、実際には複数のディスク装置を使用している。
【０００７】
図８に示したデータ領域と冗長データ領域の配置方式は、Ｌeft−Ａsymmetric方式と呼ばれ、ＲＡＩＤレベル５のディスクアレイ装置では一般的な冗長データの配置方式である。
【０００８】
まず、コンピュータシステムがディスクアレイ装置からデータを読み出す処理について説明する。例えば、ストライプ４と５には、アプリケーシヨンが格納されている。コンピュータシステムがこのアプリケーシヨンの読み出し要求をディスクアレイ装置に発行すると、ディスクアレイ装置は、物理ディスク装置１番のストライプ４番（６４ＫＢからの３２ＫＢ）と、物理ディスク装置２番のストライプ５番（６４ＫＢからの３２ＫＢ）を読み出し、コンピュータシステムに転送する。
【０００９】
次にコンピュータシステムがディスクアレイ装置にデータを書き込む処理について説明する。ディスクアレイ装置の書き込み処理は、冗長データがあるために、単体で使用されるディスク装置とは異なる。データ領域に書き込みを行うと、冗長データも更新する必要がある。例えば、ストライプ６番にデータ書き込む時には、二つの方式がある。
【００１０】
第１の方法は、ストライプ６番にデータを書き込む前に
（Ｐ６７）＝（ストライプ６のデータ）ＸＯＲ（ストライプ７のデータ）
の演算を行い、冗長データＰ６７を生成し、ストライプ６番のデータと、冗長データＰ６７を書き込む方式である。Ｐ６７を生成するには、ストライプ７のデータを読み出し、Ｐ６７を生成する必要がある。
【００１１】
第２の方法は、
（Ｐ６７）＝（書き込む前のストライプ６のデータ）ＸＯＲ（ストライプ６に書き込むデータ）ＸＯＲ（書き込む前のＰ６７の冗長データ）
を演算する方式である。この演算を行うためには、ストライプ６にデータを書き込む前に、ストライプ６のデータと冗長データＰ６７を読み出し、Ｐ６７を求めてから、ストライプ６にデータを書き込み、冗長データＰ６７を書き込む。
【００１２】
以後、第１の方法を読み出し型ライト処理と呼び、第２の方法を部分更新型ライト処理と呼ぶことにする。
【００１３】
冗長データにパリティを用いるディスクアレイ装置において特徴的な、縮退時のリード処理について説明する。例えば、図８で、ディスク装置１番が故障して読み書きができなくなったとする。この状態で、ストライプ４，５に格納されたアプリケーシヨンを読み出すことを考える。ディスクアレイ装置は、まず、ストライプ４番からアプリケーシヨンの前半分を読み出そうとするが、エラーが発生して読み出すことができない。このような場合、ディスクアレイ装置は、冗長データＰ４５とストライプ５を読み出し
（ストライプ４のデータ）＝（Ｐ４５）ＸＯＲ（ストライプ５のデータ）
を演算し、壊れたディスク装置１番のデータを生成する。生成したストライプ４のデータと、読み出したストライプ５のデータをコンピュータシステムに転送する。これにより、ディスク装置が１台壊れた縮退状態に追いてもデータの読み出しを行うことができる。
【００１４】
もちろん、ディスクアレイ装置が、あらかじめディスク装置１番が壊れていることを知っていれば、ストライプ４番に対する読み出し処理は省略できる。
【００１５】
縮退時に正しいデータを読むためには、正しいパリティが生成されていなければならない。このパリティ合わせには、二つの方式が用いられている。
【００１６】
第１の方法は、全てのストライプグループに対して、
（Ｐnm）＝（ストライプｎのデータ）ＸＯＲ（ストライプｍのデータ）
を演算する方式である。
【００１７】
第２の方法は、ディスクアレイを構成する全てのディスク装置に対して、ゼロを書き込む方式である。第２の方式は演算が必要な第１の方式に比べて、ディスク装置にデータを書き込むだけであり、処理が簡略化できる。上記パリティ演算式が満たされていれば、書き込むデータはゼロでなくても良い。
【００１８】
【発明が解決しようとする課題】
従来の技術で示したように、冗長データにパリティを用いるディスクアレイ装置では、パリティがあっていなければ、縮退時のデータを保証することができない。つまり、パリティがあっていない状態で縮退状態に移行すると、失ったデータを正しく再生できない。そのため、ディスクアレイ装置では、パリティ合わせの処理を、ディスクアレイを構成した工場出荷時や、ユーザがアレイを構成した初期導入時に必ず行わなければならない。
【００１９】
パリティ合わせにかかる時間は、ディスク装置の性能や、ＸＯＲ演算性能等で決まる。例えば、ディスク装置の書き込み性能が１ＭＢ／秒の場合、１台のディスクをゼロ初期化するのに、４ＧＢのディスクの場合６８分程度かかる。
【００２０】
ディスク装置は年々大容量化しており、ディスクアレイ装置の容量も大容量化している。パリティ合わせにかかる時間も年々増加している。
【００２１】
本発明の目的は、ディスクアレイ装置の初期導入時にかかる、パリティ合わせ時間を無くすことにある。
【００２２】
【課題を解決するための手段】
上記目的を達成するために、本発明はディスクアレイ装置に、ディスクアレイ装置内の冗長データの状態を保持する、冗長データ状態保持手段を設けたことを特徴とする。
【００２３】
また、上記目的を達成するために、コンピュータシステムとディスクアレイ装置間を流れるデータを関する要求監視手段と、要求監視手段と冗長データ保持手段の情報を元にアレイ制御を行う冗長データ生成手段を設けた。
【００２４】
また、上記目的を達成するために、冗長データ保持手段を不揮発性の記憶手段を使用した。
【００２５】
冗長データ状態保持手段は、ストライプグループ毎の冗長データの状態を保持する。具体的には、対応するストライプグループのパリティが既に生成済みであるか否かを保持する。コンピュータシステムから本発明を使用するディスクアレイ装置にライト要求が発行されると、ディスクアレイ装置は、ライトする場所のストライプを求め、そのストライプグループのパリティが生成されているか否かを冗長データ状態保持手段から読み出す。もう既にパリティが生成されている場合には、部分更新型ライト処理を行うことができる。まだパリティが生成されている場合には、読み出し型ライト処理を行い、そのストライプグループのパリティを合わせ、冗長データ情報保持手段にパリティを合わせたことを保持する。
【００２６】
以上のように処理することで、ライトが発生したパリティグループからパリティが生成されて行く。このため、初期導入時にパリティ合わせを行わなくても、ディスクアレイを使用するうちにパリティ合わせを行うことができる。
【００２７】
要求監視手段は、ディスクアレイ装置に発行されるコンピュータシステムからのリードライト要求を監視する。コンピュータシステムからの要求がある既定値以下になると、要求監視手段は、冗長データ監視手段にストライプグループのパリティを生成するように要求する。冗長データ生成手段は、冗長データ状態保持手段から、まだパリティ合わせを行っていないストライプグループを選び出し、そのストライプグループのパリティを合わせる。このように処理することで、ライトの発生していないストライプグループに対してもパリティを合わせることができる。
【００２８】
本発明によるパリティ合わせの方式は、初期導入時に行わないため、全てのストライプグループのパリティが合うまでには時間がかかる。このため、冗長データ情報保持手段を不揮発性の記憶手段を用いている。よって、途中までパリティ合わせを行った状態で電源を遮断しても、次回電源起動時に以前のストライプグループの状態を失うことはない。
【００２９】
【発明の実施の形態】
以下、本発明の実施例を図を用いて説明する。
【００３０】
《第１実施例》
図１は、本発明の第１の実施例であるディスクアレイ装置を備えたコンピュータシステムの概略構成を示す図である。
【００３１】
ディスクアレイ装置１００とコンピュータシステム９００は、バス９５０を用いて接続する。バス９５０としては、ＳＣＳＩ（Ｓmall Ｃomputer Ｓystem Ｉnterface），ＩＳＡ（Ｉndustry Ｓtanderd Ａrchitecture），ＥＩＳＡ（Ｅxtended Ｉndustry Ｓtanderd Ａrchitecture），ＰＣＩ（Ｐeripheral ＣompornentＩnterconnect）などを用いる。また、ＰＣＭＣＩＡ（Ｐersonal Ｃomputer Ｍemory Ｃard Ｉnternatinal Ａssociation）やＪＥＩＤＡ（Ｊapan Ｅlectronic Ｉndustry Ｄevelopment Ａssociation）によって規定されるインタフェースを用いることもできる。もちろん、その他のバスを用いてもよい。
【００３２】
ディスクアレイ装置１００には、複数のディスク装置５００を接続する。本実施例の場合は３台のディスク装置５００を接続する。ディスク装置を接続するバス５５０としてはＩＤＥやＳＣＳＩが一般的である。本実施例ではＳＣＳＩを例にとる。
【００３３】
ディスクアレイ装置１００は、コンピュータシステム９００のバス９５０と接続するためのバス変換器１１０と、ディスク装置５００を接続するためのＳＣＳＩコントローラ１２０と、アレイ制御等を行うＭＰＵ１３０と、冗長データ情報保持手段を実現するＥＥＰＲＯＭ（Ｅlectric Ｅrasable Ｐrogramable Ｒead Ｏnly Ｍemory）１４０で構成する。ＥＥＰＲＯＭ１４０に保持した情報は、ディスクアレイ装置１００の電源が遮断されても消えることはない。
【００３４】
ＭＰＵ１３０では、プログラムにより図２で示す処理を行う。主な機能は、アレイ制御１３１と、要求監視１３２と、冗長データ生成１３３である。本実施例では、ディスクアレイ装置１００内にＭＰＵ１３０を設けたが、コンピュータシステム９００内にあるＣＰＵにその処理を行わせる方法もある。
【００３５】
本発明により設けた冗長データ情報保持手段について説明する。本実施例では、冗長データ情報保持手段をＥＥＰＲＯＭで実現する。ＥＥＰＲＯＭの１ビット毎にストライプグループのパリティ生成済み（０：ビットＯＦＦ）と、パリティ未生成（１：ビットＯＮ）で表す。
【００３６】
例えば、ストライプグループ０番のパリティ生成の情報を確認するためには、アドレス００００Ｈの０ビット目を確認し、もしそのビットが０ならばストライプグループ０番のパリティは生成済みであり、１ならパリティは未生成である。ストライプグループ１０番のパリティ生成の情報を確認するためには、アドレス０００１Ｈの２ビット目を確認し、もしそのビットが０ならストライプグループ０番のパリティは生成済みであり、１ならパリティは未生成である。
【００３７】
ストライプグループが３２７６８個あるようなディスクアレイ装置であれば、ＥＥＰＲＯＭ１４０には４０９６ＫＢの容量が必要になる。
【００３８】
コンピュータシステム９００からディスクアレイ装置にライト要求が送られてくると、ＭＰＵ１３０内のアレイ制御１３１がライト要求を解釈し、ライトを行うストライプグループ番号を算出する。アレイ制御１３１は、ＥＥＰＲＯＭ１４０から、ストライプグループ番号に対応するパリティの状態を獲得する。もし、パリティ未生成（対応するビットが１）なら読み出し型ライト処理を行う。パリティが生成済み（対応するビットが０）なら部分更新型ライト処理を行う。
【００３９】
パリティが未生成（対応するビット１）で読み出し型ライト処理を行った場合には、ＥＥＰＲＯＭ１４０の対応するビットを０にする。これにより次回、同ストライプグループにライト要求が来た場合には、部分更新型ライト処理を行うことができる。
【００４０】
図６を用いて具体的にライト処理について説明する。図６は一つのストライプグループを抜き出したものである。ストライプグループは、データ領域のＳ０，Ｓ１と、冗長データ領域のＰ０１からなる。
【００４１】
データ領域Ｓ０の領域Ａに対してライト要求が来た場合を考える。ＭＰＵ１３０はライト要求を受け取ると、ストライプグループ番号を算出する。アレイ制御１３１は、ＥＥＰＲＯＭ１４０から、ストライプグループ番号に対応するパリティの状態を獲得する。
【００４２】
まず、パリティが未生成（対応するビットが１）の場合、アレイ制御１３１は、まず、領域Ａにコンピュータシステムから送られてきたデータ（ＮＥＷ−Ａ）を書き込む。書き込みが終了すると、アレイ制御１３１はＳ０とＳ１のデータを全て読み出し、
（Ｐ０１）＝（Ｓ０）ＸＯＲ（Ｓ１）
を算出する。算出した冗長データ（パリティ）をＰ０１に書き込み、ＥＥＰＲＯＭ１４０の対応するビットを０（パリティ生成済み）にする。
【００４３】
次に、パリティ生成済み（対応するビット０）の場合、アレイ制御１３１は、まず、書き込む前の領域Ａのデータ（ＯＬＤ−Ａ）と、領域Ａに対応するＰ０１内の領域Ｐ（ＯＬＤ−Ｐ）を読み出す。アレイ制御１３１は
（ＮＥＷ−Ｐ）＝（ＯＬＤ−Ａ）ＸＯＲ（ＯＬＤ−Ｐ）ＸＯＲ（ＮＥＷ−Ａ）
を算出する。ここで、（ＮＥＷ−Ａ）はコンピュータシステムから送られた、領域Ａに書き込むべきデータである。アレイ制御１３１は、領域Ａに（ＮＥＷ−Ａ）を、領域Ｐ（ＮＥＷ−Ｐ）を書き込み処理を終了する。
【００４４】
本発明を用いると、全てのストライプグループのパリティを生成する前に、１台のディスク装置５００が故障して、縮退状態に移行することが考えられる。パリティが未生成で読み出し型ライト処理を行おうとしたが、読み出し対象のディスク装置が故障していてストライプのデータが読み出せない場合には、そのストライプからは全て０が読めたとして処理を行う。
【００４５】
本発明を用いたディスクアレイ装置のリード処理は、縮退時リード処理とも従来のディスクアレイ装置と変わらない。
【００４６】
本実施例では、要求監視手段はＭＰＵ１３０内の要求監視１３２で、冗長データ生成手段はＭＰＵ１３０内の冗長データ生成１３３で実現している。
【００４７】
要求監視１３２は、コンピュータシステムから発行される、単位時間当たりのリードライト要求をカウントする。単位時間当たりのリードライト要求が既定値以下になると、要求監視１３２は、冗長データ生成１３３にパリティを生成するように要求する。
【００４８】
冗長データ生成１３３は、ＥＥＰＲＯＭ１４０をチェックし、まだビットが１（パリティが未生成）なストライプグループを捜し出す。冗長データ生成１３３は、当該ストライプグループに対してパリティ合わせを行う。
【００４９】
以上のように処理することで、初期導入時にパリティ合わせを行っておかなくても、ライト処理を繰り返すうちに、使用したストライプグループからパリティを合わせることができる。また、要求監視手段と、冗長データ生成手段により、ディスクアレイ装置が内部処理としてパリティ合わせを行ってくれる。
【００５０】
従来のディスクアレイ装置では、使用するユーザが初期導入時にパリティ合わせを行う必要が合ったが、本発明を用いることでユーザはパリティ合わせを意識する必要がない。
【００５１】
《第２の実施例》
図４は本発明の第２の実施例であるディスクアレイ装置を備えたコンピュータシステムの概略構成を示す図である。
【００５２】
第１の実施例と第２の実施例の違いは、第１の実施例ではディスクアレイ装置１００にＥＥＰＲＯＭ１４０で実現していた冗長データ情報保持手段を、ディスク装置６００内に設けた点である。
【００５３】
ディスク装置は、図５（Ａ）に示すように、一般的に５１２バイトを単位としてデータを保持する。本実施例で使用するディスク装置は、図５（Ｂ）に示すように、従来の５１２バイトの記録単位に冗長データ情報保持手段として属性バイト６９０を１バイト付加している。
【００５４】
属性バイト６９０には、ストライプグループのパリティの状態を保持する。属性バイトの値が０の場合には、そのストライプグループのパリティは未生成であり、１の場合にはパリティは生成済みである。
【００５５】
コンピュータシステム９００からディスクアレイ装置にライト要求が送られてくると、ＭＰＵ１３０内のアレイ制御１３１がライト要求を解釈する。アレイ制御１３１は、まず、部分更新型ライト処理を試みる。
【００５６】
部分更新型ライト処理では、まず、書き込む前のデータと、書き込む前の冗長データを読み出す。そして、読み出した冗長データの属性バイトをチェックする。属性バイトが１の場合には、既に当該ストライプグループはパリティ生成済みであるため、そのまま部分更新型ライト処理を続行する。もし、属性バイトが０の場合には、読み出し型ライト処理に変更してライト処理を行い、データの書き込みと、当該ストライプグループのパリティ合わせを行う。冗長データを書き込むときには、属性バイトを１に変更して書き込む。これにより次回、同ストライプグループにライト要求が来た場合には、部分更新型ライト処理を行うことができる。
【００５７】
図７を用いて具体的にライト処理について説明する。図７は一つのストライプグループを抜き出したものである。ストライプグループは、データ領域のＳ０，Ｓ１と、冗長データ領域のＰ０１からなる。物理ディスク装置のデータの保持単位は５１２バイトとしているので、例えば３２ＫＢのストライプの場合、５１２バイトの領域６４個で一つのストライプを構成している。
【００５８】
データ領域Ｓ０の領域Ａに対してライト要求が来た場合を考える。アレイ制御１３１は部分更新型ライト処理でライトを試みる。アレイ制御１３１は、書き込む前の領域Ａのデータ（ＯＬＤ−Ａ）と、領域Ａに対応するＰ０１内の領域Ｐ（ＯＬＤ−Ｐ）を読み出す。次に、読み出した領域Ｐの属性バイト６９０をチェックする。属性バイトの状態により以下の二つの処理に分かれる。
【００５９】
読み出した領域Ｐ（ＯＬＤ−Ｐ）の全ての属性バイト６９０が１の場合、ストライプグループすでにパリティ生成済みであるので、そのまま部分更新型ライト処理を続行する。アレイ制御１３１は、
（ＮＥＷ−Ｐ）＝（ＯＬＤ−Ａ）ＸＯＲ（ＯＬＤ−Ｐ）ＸＯＲ（ＮＥＷ−Ａ）
を算出する。ここで、（ＮＥＷ−Ａ）はコンピュータシステムから送られた、領域Ａに書き込むべきデータである。アレイ制御１３１は、領域Ａに（ＮＥＷ−Ａ）を、領域Ｐに（ＮＥＷ−Ｐ）を書き込み処理を終了する。
【００６０】
読み出した領域Ｐ（ＯＬＤ−Ｐ）の属性バイトに０が含まれている場合、ストライプグループはまだパリティが生成されていないので、読み出し型ライト処理に変更する。アレイ制御１３１は、まず、領域Ａにコンピュータシステムから送られてきたデータ（ＮＥＷ−Ａ）を書き込む。書き込みが終了すると、アレイ制御１３１はＳ０とＳ１のデータを全て読み出し、
（Ｐ０１）＝（Ｓ０）ＸＯＲ（Ｓ１）
を算出する。算出した冗長データ（パリティ）をＰ０１に書き込む。このＰ０１への冗長データ書き込み時に属性バイトを０から１に変更する。
【００６１】
冗長データ情報保持手段をディスク装置内に設けることで、ディスクアレイ装置とディスク装置の関係が疎になる。第１の実施例の場合、冗長データの生成情報はディスクアレイ装置内のＥＥＰＲＯＭ１４０が持つ。このため、ディスク装置だけを他のディスクアレイ装置１００に接続した場合には、ＥＥＰＲＯＭ１４０内の冗長データの生成情報を引き継ぐ手段を用意しなければならない。第２の実施例の場合、冗長データの生成情報は、各ディスク装置が持つため、ディスク装置だけを他のディスクアレイ装置１００に接続した場合にも自動的に情報が引き継がれる。
【００６２】
第１の実施例で示したＥＥＰＲＯＭ１４０をディスク装置内に設けても、第２の実施例と同様の効果を得ることができる。
【００６３】
【発明の効果】
本発明によれば、ディスクアレイ装置の初期導入時にパリティ合わせを行わなくてもよい。これは、初期導入時にパリティ合わせにかかる時間を省略できるだけではなく、ディスクアレイ装置を使用するユーザに対して、パリティを意識させなくてもよい。
【図面の簡単な説明】
【図１】本発明の第１の実施例のディスクアレイ装置を備えたコンピュータシステムの構成を示したブロック図。
【図２】ＭＰＵ１３０内部の構成を示すブロック図。
【図３】冗長データ情報保持手段を実現するＥＥＰＲＯＭ１４０の情報保持方式を示す説明図。
【図４】本発明の第２の実施例のディスクアレイ装置を備えたコンピュータシステムの構成を示したブロック図である。
【図５】従来のディスク装置のデータ配置方式と属性バイトを持つディスク装置のデータ配置方式を示す説明図。
【図６】第１の実施例における読み出し型ライト処理と、部分更新型ライト処理の説明図。
【図７】第２の実施例における読み出し型ライト処理と部分更新型ライト処理の説明図。
【図８】Ｌeft−Ａsymmetric配置方式のＲＡＩＤ５を示した説明図。
【符号の説明】
１００…ディスクアレイ装置、
１１０…バス変換器、
１２０…ＳＣＳＩコントローラ、
１３０…ＭＰＵ、
１４０…ＥＥＰＲＯＭ（冗長データ情報保持手段）、
５００…ディスク装置、
５５０…ＳＣＳＩバス、
９００…コンピュータシステム、
９５０…バス。
【図１】
0003711631.tif 000002
【図２】
0003711631.tif 000003
【図３】
0003711631.tif 000004
【図４】
0003711631.tif 000005
【図５】
0003711631.tif 000006
【図６】
0003711631.tif 000007
【図７】
0003711631.tif 000008
【図８】
0003711631.tif 000009