(57)【要約】 【課題】キャッシュメモリへの無駄なアクセスを極力なくし、キャッシュメモリのボトルネックを軽減するディスクアレイ装置を提供する。【解決手段】キャッシュメモリ２０を管理する管理情報の中にＷＴフラグ、ＭＯＤフラグ、ＰＧフラグ、ＴＹＰＥフラグを設け、パリティ生成に使用されているキャッシュページのデータがＦＡＳＴライトによってホストから書き込まれたデータであり、且つそのデータによるパリティの更新が完了していないことを認識可能とし、この場合、通常のキャッシュヒットと同様にホストからのライトデータによる更新を行う。【選択図】    図１
2006268523.tif 000002
【特許請求の範囲】
【請求項１】
キャッシュメモリを使って処理の高速化、及びパリティデータ生成を行うディスクアレイ装置において、ライトヒットしたキャッシュページが使用中であった場合においても、該当するデータがパリティデータ生成に使用しているのであれば、通常のライトヒット動作と同様に前記キャッシュページへの書き込みを可能としたことを特徴とするディスクアレイ装置。
【請求項２】
前記キャッシュメモリは、前記キャッシュページを管理する管理領域を有し、前記管理領域は、ＷＴフラグ、ＭＯＤフラグ、ＰＧフラグ、ＴＹＰＥフラグを有することを特徴とする請求項１記載のディスクアレイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ディスクアレイ装置に関し、特に、データの一時記憶手段としてキャッシュメモリを使用して高速処理を行うディスクアレイ装置に関する。
【背景技術】
【０００２】
ディスクアレイ装置とは、カリフォルニア大学バークレー校において考案された「ＲＡＩＤアーキテクチャ」を用いた、複数の磁気ディスク装置を内蔵するファイル装置であり、データを格納する１台以上のデータディスクとそれらの冗長データを格納する１台以上の冗長ディスクによってデータが管理されている。
【０００３】
「ＲＡＩＤアーキテクチャ」には、冗長データの生成にいくつかの方法が提唱されており、その冗長データの生成方法によってＲＡＩＤ１、３、４、５などに分類される。更に今日では複数台のディスクに故障が発生しても復旧が可能であるＲＡＩＤ６と呼ばれるより信頼性に重点をおいた方式も認知されている。ＲＡＩＤアーキテクチャを記載の文献としては、特許文献１、特許文献２がある。
【０００４】
これらのうち、ＲＡＩＤ３、４、５、６は冗長データをパリティ演算することにより求めている為、ライト動作時におけるパリティ生成によるオーバーヘッド（以降ライトペナルティ）が発生し、性能の面、特にライト性能で課題を残していた。
【０００５】
この問題を解決する一つの方法としてキャッシュメモリを使用することが一般に知られている。特に、キャッシュメモリを不揮発メモリとすることにより、ライトデータをキャッシュメモリに書き込んだ時点で完了とするＦＡＳＴライト方式を用いることによりホストに対するレスポンスは飛躍的に高速化した。
【０００６】
【特許文献１】特開２０００−１１２６６８号公報
【特許文献２】特開２００３−２２８４６１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
第１の問題点は、 ＦＡＳＴライト方式によってキャッシュメモリ上に書き込まれたデータに対するパリティデータの更新処理は、ホストコンピュータからの要求とは非同期に行われるため、その後のホストコンピュータからのライト動作がキャッシュメモリ上のデータにヒットした場合であっても、該当データがパリティデータ生成のために使用されているため更新できないことがあるという点である。
【０００８】
例えば、図４においてキャッシュメモリ上に更新前データＤ０ｎと新データＤ０ｎ＋１、更新前パリティデータＰｎがあり、それらを使って新パリティデータＰｎ＋１を生成しているとする。ここへ新データＤ０ｎ＋１に対する更に新しいデータＤ０ｎ＋２のライト要求が発生した場合、キャッシュヒットはするが、該当キャッシュページがビジー中のため、別にキャッシュページをオープンしそこに最新データＤ０ｎ＋２を格納しなくてはならない。その後、新パリティデータＰｎ＋１の生成が完了した後、更新前データとなったＤ０ｎ＋１と更新後データＤ０ｎ＋２とパリティデータＰｎ＋１から、再度新パリティデータＰｎ＋２を生成することになる。
【０００９】
本ケースでは、新パリティデータＰｎ＋２を生成する為に、６回のリード転送と２回のライト転送が行われ、また、キャッシュページも余分に使用することとなった。
【００１０】
最近では、データの一括管理を目的として多数のホストコンピュータからの要求を処理する為に、ホストディレクタポートがますます増え、キャッシュメモリへのアクセスがボトルネックとなってしまうという問題がある。
【００１１】
本発明の目的は、キャッシュメモリを使用して高速処理を実現するディスクアレイ装置において、キャッシュメモリへの無駄なアクセスを極力なくし、キャッシュメモリのボトルネックを軽減するディスクアレイ装置を提供することにある。
【課題を解決するための手段】
【００１２】
本発明のディスクアレイ装置は、キャッシュメモリを使って処理の高速化、及びパリティデータ生成を行うディスクアレイ装置において、ライトヒットしたキャッシュページが使用中であった場合においても、該当するデータがパリティデータ生成に使用しているのであれば、通常のライトヒット動作と同様にキャッシュページへの書き込みを可能としたことを特徴とするディスクアレイ装置。
【００１３】
キャッシュメモリは、キャッシュページを管理する管理領域を有し、管理領域は、ＷＴフラグ、ＭＯＤフラグ、ＰＧフラグ、ＴＹＰＥフラグを有することを特徴とする。
【発明の効果】
【００１４】
本発明のディスクアレイ装置は、ホストコンピュータからのライト転送において キャッシュヒットしたキャッシュページが既に使用中であったとしても、ある条件下の元で通常のキャッシュヒット動作と同様にライトデータを処理することが可能となり、更に、既に動作中である無駄な転送を中断させることにより、キャッシュメモリに対するアクセスを低減させ、キャッシュメモリのボトルネックを軽減することができるという効果がある。
【発明を実施するための最良の形態】
【００１５】
次に、本発明を実施するための最良の形態について図面を参照して詳細に説明する。
【００１６】
図１は、キャッシュメモリを搭載したディスクアレイ装置の概略構成ブロック図である。
【００１７】
図１を参照すると、ホストインターフェース１は、ホストコンピュータとの通信、データ転送を行う。
【００１８】
ホストディレクタ１０〜１１は、ホストコンピュータからの要求に対してキャッシュメモリ２０上に記録されているキャッシュ管理情報よりキャッシュヒット判定を行い、ヒットならば該当キャッシュページに対するアクセスを行い、ミスヒットならばディスクディレクタ３０に対してディスクデータを要求する。
【００１９】
キャッシュメモリ２０は、ホストディレクタ１０、１１、及びディスクディレクタ３０からの要求に合わせてライトデータの書き込み、リードデータの返却を行う。また、本キャッシュメモリ２０は、論理的に多数のキャッシュページを単位として管理されており、その管理情報もキャッシュメモリ２０上に格納されている。更に、管理情報の中には、図３で示される様にＷＴフラグ、ＭＯＤフラグ、ＰＧフラグ、ＴＹＰＥフラグが含まれている。
【００２０】
通信手段４０は、ホストディレクタ１０、１１とディスクディレクタ３０間の通信を可能とし、各々のディレクタに対し割り込みを発生されることが可能である。
【００２１】
ディスクディレクタ３０は、ホストディレクタ１０、１１からの要求に従い、ディスク装置４〜８のデータの読み出しを行い、キャッシュメモリ２０にデータをロードし、また、ホストディレクタ１０、１１によってＦＡＳＴライトされたデータに対しては内蔵のＥＸＯＲエンジン３１によって適時パリティデータの生成を行う。また、パリティデータの生成後にＦＡＳＴライトされたデータと生成されたパリティをディスク装置４〜８の該当ブロックに書き込む機能を有する。内蔵のＥＸＯＲエンジン３１は、ディスクディレクタ３０の指示に従い転送を中断、再起動することが可能となっている。
【００２２】
以上詳細に実施例の構成を述べたが、図１のディスク装置４〜８は、当業者にとってよく知られており、また本発明とは直接関係しないので、その詳細な構成は省略する。
【００２３】
次に、上述のように構成したディスクアレイ装置のキャッシュの制御方法について、図１を参照して説明する。
【００２４】
ホストディレクタ１０は、ホストインターフェース１を介してホストコンピュータからのライト要求を受け取る。ホストディレクタ１０は、要求されたディスクの論理アドレスとレングスからキャッシュメモリ２０の管理情報を検索し、キャッシュメモリ上に該当アドレスのデータが存在するかどうかを判定する（ヒット判定）。また、キャッシュページ毎の管理情報には、図３に示す様な情報が含まれており、ヒットしたキャッシュページが使用中（ＢＵＳＹ＝‘１’）かどうか、使用中であればどのような転送で使用されているのかをＷＴフラグ、ＭＯＤフラグ、ＰＧフラグ、ＴＹＰＥフラグより判断する。
【００２５】
使用中でなければ（ＢＵＳＹ＝‘０’）、ホストディレクタ１０が使用中であることを示すために、ＢＵＳＹ＝‘１’、ＩＤ＝‘１０’として管理情報の更新を行い、これを、該当するキャッシュページ分実施し、転送長分のページが確保できたらホストコンピュータに対してデータ書き込み可能状態であることを通知し、ライト転送が開始される。
【００２６】
キャッシュページが使用中であってもＷＴ＝‘０’且つＭＯＤ＝‘１’且つＰＧ＝‘１’且つＴＹＰＥ＝‘０’の場合、つまり、ディスクディレクタ３０によって、図４に示すような更新前データＤ０ｎと新データＤ０ｎ＋１と更新前パリティＰｎから新パリティＰｎ＋１を生成する転送が起動されているケースにおけるＤ０ｎ＋１に対するライトヒットの場合は、通信手段４０を介してディスクディレクタ３０に対して該当データのパリティ生成のための転送の中断を指示すると共にホストコンピュータに対してデータ書き込み可能状態であることを通知し、ライト転送が開始される。
【００２７】
ディスクディレクタ３０は、ホストディレクタ１０からの転送中断指示を受け取ると、該当する転送を行っているＥＸＯＲエンジン３１の転送を中断させる。このとき、キャッシュページは、使用中のままとし、いつでも該当キャッシュページが使用できるようにする。
【００２８】
ホストコンピュータからのライト転送が正常に完了すると、ホストディレクタ１０は、中断させていた転送のリスタートを通信手段４０を使ってディスクディレクタ３０に指示する。
【００２９】
ディスクディレクタ３０は、ホストディレクタ１０からの指示を受け取ると、ＥＸＯＲエンジン３１を使って中断された転送のリスタートを行い、ホストコンピュータから新たにライトされたデータＤ０ｎ＋２と更新前のデータＤ０ｎと更新前パリティデータＰｎから新パリティデータＰｎ＋２が生成される。
【００３０】
また、キャッシュページが使用中である場合の別のケースとして、ＷＴ＝‘０’且つＰＧ＝‘１’且つＴＹＰＥ＝‘１’の場合、つまり、ディスクディレクタ３０によって、図２に示す様な同一パリティグループ（ここでは４データ＋１パリティと仮定）内のデータがキャッシュ上に存在し、それらのデータＤ０ｎ＋１、Ｄ１ｎ＋１、Ｄ２ｎ＋１、Ｄ３ｎ＋１から新パリティＰｎ＋１を生成する転送が起動されている場合においても同様に、ホストディレクタ１０がデータＤ０ｎ＋２を更新後に転送をリスタートすることにより、新パリティＰｎ＋２を得ることができる。
【図面の簡単な説明】
【００３１】
【図１】キャッシュメモリを搭載したディスクアレイ装置の概略構成ブロック図である。
【図２】最新データが全てキャッシュ上に存在する場合のパリティ生成を説明するための図である。
【図３】キャッシュメモリ上の管理情報を示す図である。
【図４】通常のパリティ生成イメージ（タイプ０）を説明するための図である。
【符号の説明】
【００３２】
１    ホストインターフェース
１０、１１    ホストディレクタ
２０    キャッシュメモリ
３０    ディスクディレクタ
３１    ＥＸＯＲエンジン
４０    通信手段
４〜８    ディスク装置
【図１】
2006268523.tif 000003
【図２】
2006268523.tif 000004
【図３】
2006268523.tif 000005
【図４】
2006268523.tif 000006