(57)【要約】【課題】ホスト装置にデータ書き込み完了を通知する時、確実にキャッシュメモリにデータを保持することを保証する。【解決手段】ホスト装置１からの書き込み要求を受信し、書き込みデータを転送するともに、この転送後に演算処理制御部に書き込み完了を通知するホストＩＯ制御回路１１と、このホストＩＯ制御回路からのデータをキャッシュメモリに書き込むメモリ制御回路１２とを有するディスク制御装置５を備え、メモリ制御回路には、キャッシュメモリの読出し領域を指定する回路１２ｂ及び演算処理制御部１４から確認アクセスがあった時、未記憶データを記憶し、キャッシュメモリの読出し領域に書き込み完了データを設定する実行制御手段１２ｃとを設け、演算処理制御部は、ホスト装置に書き込み完了を通知する前に読出し領域から完了通知を読み出し、完了通知を返信するディスクアレイ装置である。【選択図】    図１
2005025371.tif 000002
【特許請求の範囲】
【請求項１】
上位装置からの書き込み要求を受信し、書き込みデータを転送する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、
前記メモリ制御部に、前記キャッシュメモリの読出し領域を指定する回路を設け、外部から書き込み完了確認のアクセスに基づいて前記キャッシュメモリの読出し領域から完了データを読出し可能にしたことを特徴とするディスクアレイ装置。
【請求項２】
上位装置からの書き込み要求を受信し、書き込みデータを転送するともに、この転送後に演算処理制御部に書き込み完了を通知する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、
前記メモリ制御部に、前記キャッシュメモリの読出し領域を指定する回路及びこの回路に完了確認アクセスがあった場合、既に受けている未記憶データを前記キャッシュメモリに記憶し、前記回路で指定されるキャッシュメモリの読出し領域に書き込み完了データを設定するアクセス実行制御手段とを設け、
前記演算処理制御部に、前記上位装置に当該書き込み完了を通知する前に前記回路に完了確認アクセスを行い、前記読出し領域から完了データを読み出す完了確認手段を設けたことを特徴とするディスクアレイ装置。
【請求項３】
入出力制御部が上位装置からの書き込み要求を受信し、書き込みデータをメモリ制御部に転送し、このメモリ制御部が転送されてきた書き込みデータをキャッシュメモリに書き込むディスクアレイ装置のデータ書き込み制御方法であって、
前記メモリ制御部に前記キャッシュメモリの読出し領域を指定するステップと、
前記入出力制御部が前記メモリ制御部に書き込みデータを転送した後、演算処理制御部に書き込み完了を通知するステップと、
前記メモリ制御部が受け取った書き込みデータを前記キャッシュメモリに書き込むステップと、
前記演算処理制御部が前記上位装置に書き込み完了を通知する前に完了確認のアクセスを行うステップと、
この完了確認のアクセスを受け取ると、前記メモリ制御部は未だ残っている書き込みデータが存在する場合には前記キャッシュメモリに書き込み、前記読出し領域に書き込み完了データを設定するステップとを有し、
前記演算処理制御部が前記完了確認のアクセスのもとに書き込み完了を確認し、前記上位装置に書き込み完了を通知するステップとを有することを特徴とするディスクアレイ装置のデータ書き込み制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホスト装置からのデータ書き込み要求に基づいてキャッシュメモリにデータを書き込むディスクアレイ装置及びデータ書き込み制御方法に関する。
【０００２】
【従来の技術】
従来、キャッシュ機能を備えたディスクシステムでは、図３に示すようにホスト装置１に通信回線２を介してディスクアレイ装置３が接続され、このディスクアレイ装置３は、ホスト装置１からの書き込み要求に応じてデータの書き込み処理を行う一方、データ書き込み後にホスト装置１に書き込み完了を通知する機能をもっている。従って、ディスクアレイ装置３はホスト装置１の記憶装置としての役割をもっている。
【０００３】
このディスクアレイ装置３は、１台ないしは複数台のディスク装置４、…及びホスト装置１からの要求に基づく入出力制御及びディスク装置４への制御を行うディスク制御装置５が設けられている。このディスク制御装置５とディスク装置４、…はディスクインタフェース６により接続されている。
【０００４】
ディスク制御装置５は、具体的には、ホスト装置１との間でデータの送受信を行うホストＩＯ（入出力）制御回路１１、このホストＩＯ制御回路１１からの要求に応じて書き込み・読出し制御を実行するメモリ制御回路１２、ディスク装置４，…の書き込み・読出し制御を実行するディスク制御回路１３及び構成全体を統括制御するＣＰＵで構成される演算処理制御部１４等によって構成されている。これら各構成回路等１１〜１４は内部バス１５によって接続され、さらにメモリ制御回路１２にはディスク装置４に記憶するディスクデータの一部のデータや制御情報等を記憶する複数のキャッシュメモリ１６ａ，１６ｂ，…が接続されている。
【０００５】
このようなディスクシステムでは、ホスト装置１とディスクアレイ装置３との間の書き込みアクセス制御方法は、近年、一般に使用されている高速シリアル伝送用のファイバチャネルの制御方法が用いられ、大略的に図４に示すような流れにそって行われている。
【０００６】
＊  ホスト装置１は書き込み要求コマンドをディスクアレイ装置３に発行する（Ｓ１）。
＊  ホスト装置１は、書き込み要求コマンドの発行後、書き込みデータをディスクアレイ装置３に送信する（Ｓ２）。
＊  ディスクアレイ装置３は、データの書き込み完了をホスト装置１に通知する（Ｓ３）。
一方、ディスク制御装置５の内部バス１５のデータ転送制御方式には、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）バス等のバス制御方式が用いられ、次に述べるように初期設定後にデータ転送が行われている。
【０００７】
［１］  ホストＩＯ制御回路１１は、初期化処理として、演算処理制御部１４から受け取るキャッシュメモリ１６ａ，１６ｂ，…の制御バスのアドレスをメモリ制御回路１２内のベースアドレスレジスタに設定する。
【０００８】
［２］  この初期化処理後、ホスト装置１から所要の要求を受けると、ホストＩＯ制御回路１１は、演算処理制御部１４から要求アドレスを受け取り、メモリ制御回路１２に転送する。
【０００９】
［３］  メモリ制御回路１２は、転送されてきたアドレスがベースアドレスレジスタ内のアドレスに一致するか否かを判断し、一致する場合には転送受付の応答を返送する。
【００１０】
［４］  ホストＩＯ制御回路１１は、転送受付の応答を受けたとき、メモリ制御回路１２にデータを転送する。
【００１１】
ところで、従来のＰＣＩバスは、ホストＩＯ制御回路１１からのデータ転送中であっても、データの転送を待たせる制御が可能であるが、近年、ＰＣＩバスの拡張形であるＰＣＩ−Ｘ等の制御バスでは、データ転送中にデータの転送を待たせる制御が禁止されているものがある。
【００１２】
一方、キャッシュメモリ等に用いられるＤＲＡＭは、データを保持する必要から一定時間ごとにリフレッシュを行っている、このリフレッシュ実行時にはメモリ制御回路１２からキャッシュメモリ１６ａ，…にアクセスできず、データの書き込みを一時中断する必要がある。
【００１３】
そこで、ＰＣＩ−Ｘ等の制御バスを用いた場合、メモリ制御回路１２にバッフアを実装し、前記［４］のデータ転送時に受信したデータをバッフアに蓄え、ホストＩＯ制御回路１１からのデータ転送を完了させる。メモリ制御回路１２は、データ転送完了後、バッフアに蓄えているデータをキャッシュメモリ１６ａ，…に書き込む。
【００１４】
従って、ディスク制御装置５は、メモリ制御回路１２によるバッフアデータ格納後の内部バスの転送完了とメモリ制御回路１２によるキャッシュメモリへのデータ書き込み完了とが同期しないバス制御方式がとられている。その結果、ホスト装置１からデータ書き込み要求を受けたとき、ディスク制御装置５は、次のような手順でデータの書き込み制御を行っている。
【００１５】
（１）  ホストＩＯ制御回路１１は、ホスト装置１から書き込み要求を受けると、演算処理制御部１４にデータを受信したことを割り込み信号で通知する。
【００１６】
（２）  また、ホストＩＯ制御回路１１は、ホスト装置１からの書き込みデータを受信する。このとき、演算処理制御部１４は、前記（１）のデータ受信の通知を受けると、書き込みデータに対応するキャッシュメモリ１６ａ，…の書き込みアドレスをホストＩＯ制御回路１１に通知する。
【００１７】
（３）  ホストＩＯ制御回路１１は、演算処理制御部１４から書き込みアドレスを受けると、当該アドレスにデータを書き込む指示をメモリ制御回路１２に転送する。さらに、ホストＩＯ制御回路１１は、書き込みデータの転送完了後、キャッシュメモリ１６ａ，…への書き込み完了を割り込み信号により演算処理制御部１４に通知する。
【００１８】
（４）  メモリ制御回路１２は、転送されてきた書き込みデータをキャッシュメモリ１６ａ，…に書き込む。
【００１９】
（５）  演算処理制御部１４は、書き込み完了を確認すると、ホスト装置１に対してデータ転送完了通知を返す。よって、ホスト装置１は、キャッシュメモリ１６ａ，…にデータが書き込まれたと判断し、データ書き込み要求を完了する。
【００２０】
さらに、もう１つの従来技術としては、ホストシステムに通信回線を介してディスクサブシステムが接続され、通常動作において、ホスト側から書き込み要求を受けたとき、ディスクサブシステムは、書き込み要求に基づいてデータをキャッシュメモリに書き込んだ後、ホストシステムに終了報告することが記載されている（特許文献１）。従って、このシステムにおいても、通常動作では、前述する図３と同様な転送完了通知が行われている。
【００２１】
【特許文献１】
特開２０００−２６７９３６号公報（従来の技術参照）
【００２２】
【発明が解決しようとする課題】
従って、以上のような従来のディスクシステムでは、次のような問題が指摘されている。
【００２３】
以上のようなディスクシステムにおけるデータ書き込み制御では、、演算処理制御部１４への書き込み完了通知時、キャッシュメモリ１６ａ，…にデータが書き込まれておらず、メモリ制御回路１２のバッフアに存在することが想定される。このことは、ホスト装置１へのデータ転送完了通知が前記（３）の書き込みデータ転送完了後に実行されるが、必ずしも前記（４）のメモリへのデータ書き込み後に実行されているとは限らない。その結果、実際上、キャッシュメモリ１６ａ，…にデータを書き込む前にホスト装置１が書き込み完了通知を受けることになる。
【００２４】
一般に、キャッシュメモリを実装するディスクアレイ装置３では、ディスク装置４にデータを書き込む前に一旦キャッシュメモリ１６ａ，…に高速書き込みするものであり、ディスク装置４に存在しないデータがキャッシュメモリに存在していることになる。その結果、停電等によりディスク装置４の電源が切れた場合、キャッシュメモリのデータを保護する必要があるので、停電時にはキャッシュメモリに電池等のバックアップ電源を供給し、データを保持している。
【００２５】
しかし、以上のような一連の制御においては、ホスト装置１への完了通知時にキャッシュメモリ１６ａ，…にデータが書き込まれている保証がなく、停電時に電池等のバックアップ電源を用いて、キャッシュメモリ１６ａ，…の内容を保持したとしても、キャッシュメモリ１６ａ，…にデータを書き込む前で既にホスト装置１に完了通知を返した直後に停電した場合、キャッシュメモリ１６ａ，…には過去のデータだけが残っており、データのアンマッチングが生ずる問題がある。なお、停電が発生した場合、ＰＣＩ−Ｘだけでなく、ＰＣＩバスのバス制御においても同様の問題が生ずる。
【００２６】
本発明は上記事情にかんがみてなされたもので、ホスト装置にデータ書き込み完了を通知する時、キャッシュメモリに確実にデータを保持していることを保証するディスクアレイ装置及びデータ書き込み制御方法を提供することを目的とする。
【００２７】
【課題を解決するための手段】
（１）  上記課題を解決するために、本発明は、上位装置からの書き込み要求を受信し、書き込みデータを転送する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、メモリ制御部には、キャッシュメモリの読出し領域を指定する回路を設け、外部から書き込み完了確認のアクセスに基づいてキャッシュメモリの読出し領域から完了状態を示すデータを読出し可能にすれば、少なくとも外部装置は、メモリ制御部の回路に指定される読出し領域のデータから未記憶データの存在有無を確認することが可能である。
【００２８】
（２）  本発明に係るディスクアレイ装置は、上位装置からの書き込み要求を受信し、書き込みデータを転送するともに、この転送後に演算処理制御部に書き込み完了を通知する入出力制御部と、この入出力制御部から転送されてくる書き込みデータをキャッシュメモリに書き込むメモリ制御部とを有するディスク制御装置を備えたディスクアレイ装置であって、
前記メモリ制御部には、キャッシュメモリの読出し領域を指定する回路及びこの回路に完了確認アクセスがあった場合、既に受けている未記憶データを前記キャッシュメモリに記憶し、前記回路で指定されている当該キャッシュメモリの読出し領域に書き込み完了を表すデータを設定するアクセス実行制御手段とを設け、演算処理制御部に上位装置に当該書き込み完了を通知する前に前記回路に完了確認アクセスを行い、前記読出し領域から完了通知を受ける行う完了確認手段を設ければ、演算処理制御部としては、前記回路を介して読出し領域からデータ読出し完了を確実に確認でき、上位装置に完了通知を返信した時点では、データがキャッシュメモリに格納されていることを保証できる。
【００２９】
（３）  さらに、本発明に係るディスクアレイ装置のデータ書き込み制御方法は、メモリ制御部にキャッシュメモリの読出し領域を指定するステップと、入出力制御部がメモリ制御部に書き込みデータを転送した後、演算処理制御部に書き込み完了を通知するステップと、メモリ制御部は受け取った書き込みデータを前記キャッシュメモリに書き込むステップと、演算処理制御部が上位装置に書き込み完了を通知する前に完了確認のアクセスを行うステップと、この完了確認のアクセスを受け取ると、メモリ制御部は未だ残っている書き込みデータが存在する場合にキャッシュメモリに書き込み、読出し領域に書き込み完了を表すデータを設定し、完了確認のアクセスを実行するステップとを有することにより、前述するディスクアレイ装置と同様の作用効果を奏することができる。
【００３０】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【００３１】
図１は本発明に係るディスクアレイ装置を適用したディスクシステムの一実施の形態を示す構成図である。なお、同図において図３に示す部分と同一又は等価な部分には同一符号を付し、その詳しい説明は図３に譲る。
【００３２】
このディスクアレイ装置３は、ホスト装置１とは通信回線２を介して接続され、内部的には、１台ないしは複数台のディスク装置４、…及びホスト装置１からの要求に基づく入出力制御及びディスク装置４への制御を行うディスク制御装置５が設けられ、ディスク制御装置５とディスク装置４、…とはディスクインタフェース６によって接続されている。
【００３３】
このディスク制御装置５は、図３と同様にホストＩＯ（入出力）制御回路１１、メモリ制御回路１２、ディスク制御回路１３及びＣＰＵで構成される演算処理制御部１４等が設けられ、各構成回路等１１〜１４は内部バス１５により接続され、さらにメモリ制御回路１２にはディスク装置４に記憶するディスクデータの一部のデータや制御情報等を記憶する複数のキャッシュメモリ１６ａ，１６ｂ，…が接続されている。これら構成回路等１１〜１４の機能は図３で説明した通りである。
【００３４】
図３と比較して特に異なるところは、メモリ制御回路１２にキャッシュメモリベースアドレスレジスタ１２ａの他に、キャッシュメモリ読出専用ベースレジスタ１２ｂを設け、さらに機能的にはアクセス実行制御手段１２ｃが設けられている。
【００３５】
キャッシュメモリベースアドレスレジスタ１２ａは、キャッシュメモリ１６ａ，１６ｂ、…の制御バスのアドレスを格納するレジスタであって、演算処理制御部１４から初期化処理の段階で制御バスのアドレスが設定される。キャッシュメモリ読出専用ベースレジスタ１２ｂは、キャッシュメモリ１６ａ，１６ｂ、…の所要とする領域指定データが格納され、当該指定領域からキャッシュメモリ１６ａ，１６ｂ、…へのデータ書き込み完了データを読み出す可能とするレジスタである。アクセス実行制御手段１２ｃは、演算処理制御部１４からキャッシュメモリ読出専用ベースレジスタ１２ｂのアクセスを受信した時、それ以前に受信した全てのデータをキャッシュメモリ１６ａ，１６ｂ、…に格納した後、演算処理制御部１４からのアクセスを実行する制御を行う。ここで、アクセスを実行する制御とは、前述するキャッシュメモリ１６ａ，１６ｂ、…の指定領域に完了データを格納することである。従って、アクセス実行完了後、それ以前の要求のあった書き込みデータは全てキャッシュメモリ１６ａ，１６ｂ、…に書き込まれている。
【００３６】
一方、演算処理制御部１４には、機能的には、完了確認手段１４ａが設けられている。この完了確認手段１４ａは、ホスト装置１に書き込み完了を返す前にメモリ制御回路１２のキャッシュメモリ読出専用ベースレジスタ１２ｂをアクセスし、書き込み完了状態を取り込むものである。
【００３７】
次に、以上のようなディスクシステムの動作ないし本発明に係るディスクアレイ装置のデータ書き込み制御方法の一実施の形態について図２を参照して説明する。
【００３８】
今、ホスト装置１から書き込み要求が送信されてきた場合、ディスクアレイ装置５は、次のような手順に従って制御を実行する。
【００３９】
（１）  ディスクアレイ装置５のホストＩＯ制御回路１１は、ホスト装置１から送信されてくる書き込み要求コマンドＳ１１を受信すると（Ｓ１１）、書き込み要求コマンドを受信したことを割り込み信号で演算処理制御部１４に通知する（Ｓ１２）
（２）  ホストＩＯ制御回路１１は、ホスト装置１から書き込みデータを受信する（Ｓ１３）。このとき、演算処理制御部１４は、ホストＩＯ制御回路１１から書き込み要求を受けると、書き込みデータに対するキャッシュメモリの書き込みアドレスをホストＩＯ制御回路１１に通知する（Ｓ１４）。
【００４０】
（３）  ホストＩＯ制御回路１１は、演算処理制御部１４から受け取った書き込みアドレスに書き込みデータを書き込むようにメモリ制御回路１２に転送する（Ｓ１５）。そして、書き込みデータの転送完了後、キャッシュメモリ１６ａ，１６ｂ，…への書き込み完了を演算処理制御部１４に通知する（Ｓ１６）。
【００４１】
（４）  メモリ制御回路１２は、ホストＩＯ制御回路１１から書き込みデータを受けると、キャッシュメモリ１６ａ，１６ｂ，…の書き込みアドレスに書き込みデータを書き込む（Ｓ１７）。
【００４２】
（５）  演算処理制御部１４は、ホストＩＯ制御回路１１から書き込み完了を受けると、キャッシュメモリ１６ａ，１６ｂ，…への書き込みが確実に完了したかをメモリ制御回路１２のキャッシュメモリ読出専用ベースレジスタ１２ｂにアクセスする（Ｓ１８）。このとき、メモリ制御回路１２は、キャッシュメモリ読出専用ベースレジスタ１２ｂのアクセスを受信すると、未だ未記憶の書き込みデータが存在する場合には、当該未記憶の書き込みデータをキャッシュメモリ１６ａ，１６ｂ，…に速やかに書き込んだ後、キャッシュメモリ読出専用ベースレジスタ１２ｂに設定されるキャッシュメモリ１６ａ，１６ｂ，…の読出し領域に書き込み完了を表すデータを設定する（Ｓ１９）。従って、演算処理制御部１４は、キャッシュメモリ読出専用ベースレジスタ１２ｂに指定される読出し領域から書き込み完了状態のデータを取得できる（Ｓ２０）。
【００４３】
（６）  演算処理制御部１４は、読出し領域から書き込み完了を読み出すと、ホスト装置１に完了通知を返信する（Ｓ２１）。
【００４４】
従って、以上のようなディスクアレイ装置の構成によれば、メモリ制御部１２にキャッシュメモリの読出し領域を指定するキャッシュメモリ読出専用ベースレジスタ１２ｂを設けることにより、演算処理制御部１４は、書き込み完了確認のアクセスに基づいてキャッシュメモリの読出し領域から完了状態を示すデータを読出すことができる。このことは、メモリ制御回路１２は、演算処理制御部１４から書き込み完了確認のアクセスを受けた時、未だ書き込んでいない書き込みデータをキャッシュメモリ１６ａ，１６ｂ，…に書き込んで、キャッシュメモリ１６ａ，１６ｂ，…の読出し領域に書き込み完了を表すデータを設定すれば、演算処理制御部１４としては、キャッシュメモリ読出専用ベースレジスタ１２ｂを介して読出し領域からデータ読出し完了時にはキャッシュメモリにデータが確実に格納されていることになり、よってホスト装置１に完了通知を返信した時点では、データがキャッシュメモリに格納されていることを保証することが可能となり、停電時などにデータのアンマッチングが発生することがなくなる。
【００４５】
以上のような構成においては、メモリ制御回路１２に接続される内部バス６のデータ転送完了とメモリ制御回路１２によるキャッシュメモリ１６ａ，…への書き込み完了とが同期しないバス制御を行うディスク制御装置にとって有効なものである。
【００４６】
なお、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。ホスト装置１からディスクアレイ装置３に書き込み要求コマンドと書き込みデータとをそれぞれ個別に転送するように記載されているが、例えば書き込みデータを伴う書き込み要求コマンドを転送する場合でも同様であることは言うまでもない。
【００４７】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位，下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【００４８】
【発明の効果】
以上説明したように本発明によれば、ホスト装置にデータ書き込み完了を通知する時、確実にキャッシュメモリにデータを保持していることを保証できるディスクアレイ装置及びデータ書き込み制御方法を提供できる。
【図面の簡単な説明】
【図１】本発明に係るディスクアレイ装置を適用したディスクシステムの一実施の形態を示す構成図。
【図２】本発明に係るディスクアレイ装置のデータ書き込み制御方法を説明する動作の流れを説明する図。
【図３】ディスクアレイ装置を適用した従来のディスクシステムを説明する構成図。
【図４】従来の一般的な書き込みアクセス制御方式を説明する図。
【符号の説明】
１…ホスト装置（上位装置）、２…通信回線、３…ディスクアレイ装置、４…ディスク装置、５…ディスク制御装置、１１…ホストＩＯ制御回路、１２…メモリ制御回路、１２ｂ…キャッシュメモリ読出専用ベースレジスタ、１２ｃ…アクセス実行制御手段、１３…ディスク制御回路、１４…演算処理制御部、１４ａ…完了確認手段、１５…内部バス、１６ａ，１６ｂ…キャッシュメモリ。
【図１】
2005025371.tif 000003
【図２】
2005025371.tif 000004
【図３】
2005025371.tif 000005
【図４】
2005025371.tif 000006