(57)【特許請求の範囲】
【請求項１】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記ホストプロセッサは、書き込み先である記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域がない場合に、他の記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリを一時的に利用する
ことを特徴とするデータ書き込みシステム。
【請求項２】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記複数の記憶制御装置の内の一つの記憶制御装置は、二つ以上の不揮発性キャッシュメモリを有し、
前記ホストプロセッサが記憶装置書き込み不要フラグの付いた書き込み要求を前記一つの記憶制御装置に送ると、前記一つの記憶制御装置は前記不揮発性キャッシュメモリの内の一つのメモリにデータを書き込み、前記不揮発性キャッシュメモリの一つのメモリが満杯となると前記ホストプロセッサにデータの退避要求を送り、
前記ホストプロセッサによる記憶装置書き込み不要フラグの付いた次の書き込み要求に対して前記不揮発性キャッシュメモリの他のメモリにデータ書き込みを行う
ことを特徴とするデータ書き込みシステム。
【請求項３】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
データの書き込み先である記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリに、書き込みデータ量に足りる空き領域がない場合に、他の記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリを一時的に利用するとともに、
前記複数の記憶制御装置の不揮発性キャッシュメモリの共同利用の各種制御を記憶制御装置同士で制御する
ことを特徴とするデータ書き込みシステム。
【請求項４】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記複数の記憶制御装置の内の特定の記憶制御装置は、二つ以上の不揮発性キャッシュメモリの特定領域を有し、
記憶装置への書き込み不要フラグの付いた前記特定領域への書き込み要求がホストプロセッサから前記特定の記憶制御装置に送られる場合、前記特定の記憶制御装置は、前記一つの特定領域にホストプロセッサからのデータを書き込みし、
前記一つの特定領域全体が使用されると前記特定の記憶制御装置は、前記ホストプロセッサにデータの退避要求を送り、前記ホストプロセッサが前記一つの特定領域のデータを読み込んで他の記憶装置に格納要求を出し、前記他の記憶装置への格納終了後に前記一つの特定領域を再度書き込み可能となし、
一方、前記ホストプロセッサは新たに記憶装置への書き込み不要フラグの付いた書き込み要求を前記一つの特定領域とは異なる他の不揮発性キャッシュメモリの特定領域に送り、前記特定の記憶制御装置が前記ホストプロセッサからのデータを前記他の特定領域に書き込みする
ことを特徴とするデータ書き込みシステム。
【請求項５】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置のそれぞれに接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記ホストプロセッサに結合する不揮発性メモリ付きのプロセッサを有し、記憶装置を接続しない不揮発性メモリ制御装置をさらに備え、
前記不揮発性メモリ制御装置は、二つ以上の不揮発性キャッシュメモリの特定領域を有し、
記憶装置への書き込み不要フラグの付いた前記特定領域への書き込み要求がホストプロセッサから前記不揮発性メモリ制御装置に送られる場合、前記不揮発性メモリ制御装置は、前記一つの特定領域に前記ホストプロセッサからのデータを書き込みし、
前記一つの特定領域全体が使用されると前記不揮発性メモリ制御装置は、ホストプロセッサにデータの退避要求を送り、ホストプロセッサが前記一つの特定領域のデータを読み込んで記憶装置に格納要求を出し、前記記憶装置への格納終了後に前記一つの特定領域を再度書き込み可能となし、
一方、前記ホストプロセッサは新たに記憶装置への書き込み不要フラグの付いた書き込み要求を前記一つの特定領域とは異なる他の不揮発性キャッシュメモリの特定領域に送り、前記不揮発性メモリ制御装置が前記ホストプロセッサからのデータを前記他の特定領域に書き込みする
ことを特徴とするデータ書き込みシステム。
【請求項６】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置のそれぞれに接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記ホストプロセッサに結合する不揮発性メモリ付きのプロセッサを有し、記憶装置を接続しない不揮発性メモリ制御装置をさらに備え、
前記ホストプロセッサの処理結果を前記記憶装置に更新する際に格納先の記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域がない場合、当該記憶制御装置とは別の記憶制御装置の不揮発性キャッシュメモリの空き領域を探して共有書き込み領域を定義し、記憶装置への書き込み不要フラグを付けて別の記憶制御装置に書き込み要求をして不揮発性キャッシュメモリへ一時的に格納し、
変更した格納先を前記不揮発性メモリ制御装置に伝達し、他のホストプロセッサがデータを記憶制御装置から読み込んだ時に前記不揮発性メモリ制御装置内の現在の格納先を確認し、前記別の記憶制御装置の不揮発性キャッシュメモリから変更データを読み込み、
前記書き込みデータ量に足りる空き領域のなかった不揮発性キャッシュメモリ領域に空き領域ができるとホストプロセッサに空きを通知し、一時的に別の不揮発性キャッシュメモリに格納してあったデータを前記ホストプロセッサが読み込んで更新元の記憶制御装置に記憶装置への書き込み必要フラグを付けて再度書き込み要求し、
全データを更新元の記憶装置に書き込み完了後に一時的に使用した前記別の記憶制御装置の不揮発性キャッシュメモリ領域を開放するとともに前記不揮発性メモリ制御装置に格納先の変更を通知する
ことを特徴とするデータ書き込みシステム。
【請求項７】
データベースサブシステムを内蔵した一つのホストプロセッサ内に、複数の記憶装置と、前記データベースサブシステムと結合する入出力プロセッサと、前記入出力プロセッサと前記記憶装置を結合するプロセッサ及び不揮発性キャッシュメモリを有した複数の記憶制御装置と、前記データベースサブシステムに結合する不揮発性メモリ付きのプロセッサを有した不揮発性メモリ制御装置と、を含み、更に、前記一つのホストプロセッサは他のホストプロセッサとリンクしているデータ書き込みシステムであって、
前記一つのホストプロセッサの処理結果を前記記憶装置に更新する際に、前記データベースサブシステムが前記入出力プロセッサに書き込み要求し、前記入出力プロセッサが格納先の記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域があるかないかを入手して、書き込みデータ量に足りる空き領域がない場合、当該記憶制御装置とは別の記憶制御装置の不揮発性キャッシュメモリの空き領域を探して共有書き込み領域を定義し、記憶装置への書き込み不要フラグを付けて別の記憶制御装置に書き込み要求をして不揮発性キャッシュメモリへ一時的に格納し、
変更した格納先を前記不揮発性メモリ制御装置に伝達し、他のホストプロセッサがデータを入出力プロセッサに要求して記憶制御装置から読み込んだ時に前記不揮発性メモリ制御装置内の現在の格納先を確認し、前記別の記憶制御装置の不揮発性キャッシュメモリから変更データを読み込み、
前記書き込みデータ量に足りる空き領域のなかった不揮発性キャッシュメモリ領域に空き領域ができると入出力プロセッサは、一時的に別の不揮発性キャッシュメモリに格納してあったデータを読み込んで更新元の記憶制御装置に記憶装置への書き込み必要フラグを付けて再度書き込み要求し、
全データを更新元の記憶装置に書き込み完了後に前記入出力プロセッサは前記不揮発性メモリ制御装置に格納先の変更を通知する
ことを特徴とするデータ書き込みシステム。
【請求項８】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置のそれぞれに接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記複数の記憶制御装置同士を接続ケーブルで結合し、
前記ホストプロセッサの処理結果を前記記憶装置に更新する際に格納先の記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域がない場合、当該記憶制御装置とは別の記憶制御装置の不揮発性キャッシュメモリの空き領域を前記接続ケーブルを経由して入手して別の記憶制御装置に書き込み要求をして不揮発性キャッシュメモリへ書き込み前記別の記憶制御装置に結合した記憶装置に一時的に格納し、
前記当該記憶制御装置は変更した格納先を前記当該記憶制御装置内の不揮発性キャッシュメモリに記憶し、
前記ホストプロセッサが前記当該記憶制御装置にデータ読み込み要求すると、前記当該記憶制御装置は前記不揮発性キャッシュメモリ内の現在の格納先を確認し、前記別の記憶制御装置の不揮発性キャッシュメモリから変更データを読み込み、
前記書き込みデータ量に足りる空き領域のなかった不揮発性キャッシュメモリ領域に空き領域ができると前記別の記憶制御装置は、前記別の記憶制御装置に結合した記憶装置に一時的に格納されていたデータを読み込んで更新元の記憶制御装置に書き込み要求し、前記更新元の記憶制御装置への書き込み完了後に一時的に格納されていたデータを消去し、
前記当該記憶制御装置は前記変更した格納先を消去する
ことを特徴とするデータ書き込みシステム。
【請求項９】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置のそれぞれに接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
不揮発性メモリ付きのプロセッサを有した不揮発性メモリ制御装置が、前記複数の記憶制御装置にそれぞれ結合されて前記不揮発性メモリ制御装置の前記不揮発性メモリが共有されており、
前記ホストプロセッサの処理結果を前記記憶装置に更新する際に格納先の記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域がない場合、当該記憶制御装置は前記不揮発性メモリ制御装置に書き込み要求をして、前記不揮発性メモリ制御装置が前記記憶制御装置と前記不揮発性メモリ制御装置の内で使用可能な不揮発性キャッシュメモリ又は不揮発性メモリを選定してデータを一時的に書き込み、
前記不揮発性メモリ制御装置は前記一時的書き込み完了を前記当該記憶制御装置に送り、
前記書き込みデータ量に足りる空き領域のなかった不揮発性キャッシュメモリ領域に空き領域ができると前記不揮発性メモリ制御装置は、前記データの書き込み先からデータを読み込んで更新元の記憶制御装置に書き込み、
前記不揮発性メモリ制御装置からの前記書き込み完了を受け取った後に一時的に書き込まれた不揮発性キャッシュメモリ又は不揮発性メモリのエリアを再使用可能とする
ことを特徴とするデータ書き込みシステム。
【請求項１０】
請求項９に記載のデータ書き込みシステムにおいて、
前記不揮発性メモリ制御装置は複数のホストプロセッサと結合していることを特徴とするデータ書き込みシステム。
【請求項１１】
請求項９又は１０に記載のデータ書き込みシステムにおいて、
前記不揮発性メモリ制御装置は、前記不揮発性メモリの外に、前記記憶装置とは別にデータを保持するディスク装置を備えていることを特徴とするデータ書き込みシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ホストプロセッサ、複数の大規模記憶装置、前記ホストプロセッサと前記記憶装置とを結合するプロセッサ及び不揮発性キャッシュメモリを有する記憶制御装置、を備えたデータ書き込みシステムにおける高速なキャッシュメモリの利用方式に関する。
【０００２】
【従来の技術】
ホストプロセッサ上のデータベースシステム等は、システムダウン等の回復処理の為に、トランザクション毎にロギングデータが採取されるが、ロギングデータが不揮発性の記憶装置に格納されるまで、次のトランザクションが処理されない。ディスクの書き込み動作は、ディスクの回転数に限界がある為にホストプロセッサの動作よりも遅いため、米国特許５，２９７，２５８号明細書や米国特許５，５８６，２９１号明細書に記載の様にディスクに書き込む前にディスク制御装置内の高速書き込み可能な不揮発性キャッシュメモリに書き込んでから、データベースシステムは、次のトランザクション処理に進む。
【０００３】
しかし、ディスクの動作が遅い為に、当該不揮発性キャッシュメモリ領域からディスクに書き込む時間がかかるために、当該領域がオーバフローすることになり、ディスクに書き込まれるまでホストプロセッサが待ち状態になり、次のトランザクションを処理できなくなる。また、オーバフローさせないためには、不揮発性キャッシュメモリのサイズよりも少ないデータ量だけディスクに書き込む様に調節する必要があるが、他のディスク書き込み量によって不揮発性キャッシュメモリの空きがなくなる可能性があり、調整が困難であり、必要以上に不揮発性キャッシュメモリを用意する必要があった。
【０００４】
また、ロギングデータ等は不揮発性キャッシュメモリから一度ディスク記憶装置に書かれた後に再度ホストプロセッサによってデータ圧縮されて別の保管用ディスク記憶装置あるいはテープ記憶装置に格納される為、前記ディスク記憶装置が再度利用可能になるために時間がかかり、多くのディスク記憶装置が必要であった。
【０００５】
一方、特開平０６−０８３７８１号公報に記載の様にデータベースのレコードを一つの大規模な不揮発性メモリ領域に格納する方法があるが、ディスク制御装置とは別に不揮発性メモリが別個必要になり、メモリ領域が一つのためにディスクに書き込む時点で、ディスク制御装置のキャッシュメモリの使用率やサイズによって、書き込み待ちが発生する問題があった。また、ディスクに格納する場合に当該ディスクのディスク制御装置のキャッシュしか使用できず、他のディスク制御装置内のキャッシュ領域に未使用領域がある場合でもこれを使用できなかった。
【０００６】
また、米国特許５，８４８，２４１号明細書は、ディスク記憶装置とホストプロセッサの間にリソース共有機構をもつ方法を記載しているが、ディスク制御装置の不揮発性キャッシュメモリが不足するとディスクへの書き込みが遅くなり、リソース共有機構が書き込み完了待ちで待たされることになる。
【０００７】
【発明が解決しようとする課題】
データベースシステム等の動作するホストプロセッサの高速化に比べ、ディスクのアクセスタイムは、ディスクが回転体であることから相対的に遅くなってきている。また、一般的に大規模データ記憶装置は高すぎないコストで記録密度を高くするため、アクセスタイムは遅くなる。
【０００８】
また、ホストプロセッサ上のデータベースシステム等はトランザクション毎にシステムダウン等の回復処理のためにロギングデータを採取しているが、回復処理の複雑化を回避するため、ロギングデータの採取が終わる迄、次のトランザクションを処理できない。またロギングデータだけでなく、大量のデータベースレコードを処理する場合にも同様な問題が発生する。
【０００９】
そこで、常により高速な不揮発性記憶装置にデータを格納して、データの格納処理時間を短縮し、複数ある記憶制御装置内にある高速不揮発性キャッシュメモリを有効利用して、ホストプロセッサが高速にトランザクションを処理できるようにすることが本発明の課題である。具体的には、ディスク制御装置に複数の不揮発性キャッシュメモリを備えさせて連続したトランザクション処理を実行することを可能とし、また、複数個のディスク制御装置のそれぞれの不揮発性キャッシュメモリを各ディスク制御装置の管理の元で利用可能とすることで、ホストプロセッサがデータ処理を待ち時間無く迅速に実行できることが本発明の目的である。
【００１０】
【課題を解決するための手段】
前記課題を解決するために、本発明は主として次のような構成を採用する。
【００１１】
ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記ホストプロセッサは、書き込み先である記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域がない場合に、他の記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリを一時的に利用するデータ書き込みシステム。
【００１２】
また、ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記複数の記憶制御装置の内の一つの記憶制御装置は、二つ以上の不揮発性キャッシュメモリを有し、
前記ホストプロセッサが記憶装置書き込み不要フラグの付いた書き込み要求を前記一つの記憶制御装置に送ると、前記一つの記憶制御装置は前記不揮発性キャッシュメモリの内の一つのメモリにデータを書き込み、前記不揮発性キャッシュメモリの一つのメモリが満杯となると前記ホストプロセッサにデータの退避要求を送り、
前記ホストプロセッサによる記憶装置書き込み不要フラグの付いた次の書き込み要求に対して前記不揮発性キャッシュメモリの他のメモリにデータ書き込みを行うデータ書き込みシステム。
【００１３】
また、ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
データの書き込み先である記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリに、書き込みデータ量に足りる空き領域がない場合に、他の記憶装置に結合された記憶制御装置の不揮発性キャッシュメモリを一時的に利用するとともに、
前記複数の記憶制御装置の不揮発性キャッシュメモリの共同利用の各種制御を記憶制御装置同士で制御するデータ書き込みシステム。
【００１４】
また、ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置に接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記複数の記憶制御装置の内の特定の記憶制御装置は、二つ以上の不揮発性キャッシュメモリの特定領域を有し、
記憶装置への書き込み不要フラグの付いた前記特定領域への書き込み要求がホストプロセッサから前記特定の記憶制御装置に送られる場合、前記特定の記憶制御装置は、前記一つの特定領域にホストプロセッサからのデータを書き込みし、
前記一つの特定領域全体が使用されると前記特定の記憶制御装置は、前記ホストプロセッサにデータの退避要求を送り、前記ホストプロセッサが前記一つの特定領域のデータを読み込んで他の記憶装置に格納要求を出し、前記他の記憶装置への格納終了後に前記一つの特定領域を再度書き込み可能となし、
一方、前記ホストプロセッサは新たに記憶装置への書き込み不要フラグの付いた書き込み要求を前記一つの特定領域とは異なる他の不揮発性キャッシュメモリの特定領域に送り、前記特定の記憶制御装置が前記ホストプロセッサからのデータを前記他の特定領域に書き込みするデータ書き込みシステム。
【００１５】
また、ホストプロセッサと、前記ホストプロセッサに接続される複数の記憶制御装置と、前記複数の記憶制御装置のそれぞれに接続される記憶装置と、を有するデータ書き込みシステムであって、
前記記憶制御装置は、前記ホストプロセッサから受領したデータの前記記憶装置に対する書き込みを制御するプロセッサと、前記ホストプロセッサから受領したデータを一時的に保持する不揮発性のキャッシュメモリとを有し、
前記複数の記憶制御装置同士を接続ケーブルで結合し、
前記ホストプロセッサの処理結果を前記記憶装置に更新する際に格納先の記憶制御装置の不揮発性キャッシュメモリに書き込みデータ量に足りる空き領域がない場合、当該記憶制御装置とは別の記憶制御装置の不揮発性キャッシュメモリの空き領域を前記接続ケーブルを経由して入手して別の記憶制御装置に書き込み要求をして不揮発性キャッシュメモリへ書き込み前記別の記憶制御装置に結合した記憶装置に一時的に格納し、
前記当該記憶制御装置は変更した格納先を前記当該記憶制御装置内の不揮発性キャッシュメモリに記憶し、
前記ホストプロセッサが前記当該記憶制御装置にデータ読み込み要求すると、前記当該記憶制御装置は前記不揮発性キャッシュメモリ内の現在の格納先を確認し、前記別の記憶制御装置の不揮発性キャッシュメモリから変更データを読み込み、
前記書き込みデータ量に足りる空き領域のなかった不揮発性キャッシュメモリ領域に空き領域ができると前記別の記憶制御装置は、前記別の記憶制御装置に結合した記憶装置に一時的に格納されていたデータを読み込んで更新元の記憶制御装置に書き込み要求し、前記更新元の記憶制御装置への書き込み完了後に一時的に格納されていたデータを消去し、
前記当該記憶制御装置は前記変更した格納先を消去するデータ書き込みシステム。
【００１６】
【発明の実施の形態】
本発明の種々の実施形態に係る高速データ書き込みシステムについて、図面を用いて以下説明する。まず、本発明の概要を説明すると、ホストプロセッサ上のデータベースシステム等では、トランザクションの結果やロギングデータが出力されるが、システムダウン等の回復処理の為に不揮発性記憶装置に格納される迄、次のトランザクションが処理されない。このような高速レスポンスが要求されるロギングデータの様な書き込み目的のデータについて、記憶制御装置内の高速な不揮発性メモリ領域に一時的にデータを蓄積させ、ディスク等の低速な記憶装置に書き込まず、当該メモリ領域全体が使用された時に他の記憶装置に退避させ、再度当該メモリ領域を使用可能にする。ここで、退避させるまで時間がかかるので、二つ以上の不揮発性キャッシュメモリ領域を用意しておき、ホストプロセッサがディスク等の記憶装置への書き込みの必要性を記憶制御装置に書き込み時に指示することで、他のデータの読み書きと区別し、高速に書き込み可能にしようとするものである。
【００１７】
また、データベース内の読み書きされるレコードデータについては、書き込み時間の短縮のために複数ある記憶制御装置内の高速な不揮発性キャッシュメモリで空いている領域を探して一時的に格納し、後に本来の低速な記憶装置に書き込むことでプロセッサの書き込み待ち時間を低減させようとするものである。
【００１８】
以下、本発明の種々の実施形態について具体的に説明する。
【００１９】
「実施形態１」
図１において、高速データ書き込みシステムは、ホストプロセッサ１０１と、ディスク記憶装置１２８，１３０，１３２と、ホストプロセッサとディスク制御装置を結合するプロセッサ１１３，１１７，１２１を持ったディスク制御装置１１２，１１６，１２０と、を備えており、ホストプロセッサ１０１上にデータベースサブシステム１０２があり、制御プロセッサ１０３とデータを格納するバッファ領域１０６〜１０８を使用してデータの書き込みを行う。
【００２０】
ディスク制御装置１２０内に二つ以上の不揮発性キャッシュメモリの特定領域１２２及び１２３を持ち、ホストプロセッサ１０１がディスク書き込み不要フラグ（ディスクに即時に書き込まなくても良い旨のフラグ）の付いた書き込み要求をディスク制御装置１２０に送ると、当該ディスク制御装置１２０は不揮発性キャッシュメモリの特定領域１２２に、ディスク１３２には書き込まずにホストプロセッサ１０１からのデータを前からあるデータに追加書き込みし、一つの当該特定領域１２２全体が使用されると、ディスク制御装置１２０は、ホストプロセッサ１０１にデータの退避要求を送る。そうすると、ホストプロセッサ１０１が前記特定領域１２２とは異なる特定領域１２３にディスク書き込み不要フラグのついた書き込み要求をディスク制御装置１２０に送り、前記特定領域１２２とは異なる不揮発性キャッシュメモリの特定領域１２３にホストプロセッサ１０１からのデータを追加書き込みする。
【００２１】
ホストプロセッサ１０１が前記の使用済みの不揮発性キャッシュメモリの特定領域１２２のデータを退避用データバッファ１０４あるいは１０５に書き込み、その後、退避用データバッファ１０４あるいは１０５内のデータを必要があれば圧縮して別のディスク制御装置１１２あるいは１１６に書き込み要求する。書き込み要求を受けたディスク制御装置１１２あるいはディスク制御装置１１６は、制御プロセッサ１１３及び１１７によって、不揮発性キャッシュメモリ１１４あるいは１１８にデータを一旦書き込み、ホストプロセッサ１０１に書き込み終了を伝達し、ホストプロセッサ１０１は不揮発性キャッシュメモリ領域１２２を再度使用可能にする。書き込まれた退避データはディスク記憶装置１２８あるいは１３０に保管データ１２９あるいは１３１として記憶される。
【００２２】
ホストプロセッサ１０１の処理速度に比べディスク記憶装置１２８及び１３０への記憶速度は遅いために、不揮発性キャッシュメモリ領域１２２、１２３及び退避用データバッファ１０４及び１０５は２個以上用意しておく。即ち、図１の例で、二つの不揮発性キャッシュメモリに対応する二つの退避用バッファの内のバッファ１０４のデータを必要時にディスク記憶装置１２８に格納している間に、バッファ１０５とこれに対応する不揮発性キャッシュメモリの特定領域１２３は書き込み可能となっていて、ホストプロセッサ１０１はトランザクション処理ができる態勢となっている。
【００２３】
ここで、一例として挙げたディスク書き込み不要フラグのついた書き込み要求の対象となるデータは、一例としてロギングデータ等が挙げられる。データベースの読み書きと同時に発生するログは定常的に大量に書き込みが必要となり、これが性能のボルトネックとなる。
【００２４】
本発明の実施形態は、これらのデータを一時的にキャッシュに置いておき、時間をかけてディスクに書き込むことで、書き込み待ち時間を削減可能とすることを特徴とするものである。また、今後フラッシュメモリが普及してきても、恐らく高速メモリと低速メモリの価格に差があって階層的なメモリ構成のため、本発明は、書き込み待ち時間を回避する有効な構成となり得る。
【００２５】
「実施形態２」
図２において、高速データ書き込みシステムは、ホストプロセッサ２０１と、テープ記憶装置２２７と、ディスク記憶装置２２９と、これらの記憶装置とホストプロセッサを結合するプロセッサ２１３及び２１７を有したテープ制御装置２１２及びディスク制御装置２１６と、ホストプロセッサ２０１に結合する不揮発性メモリ制御装置２２０と、を備えており、ホストプロセッサ２０１上にデータベースサブシステム２０２があり、制御プロセッサ２０３とデータを格納するバッファ領域２０６〜２０８を使用してデータの書き込みを行う。
【００２６】
不揮発性メモリ制御装置２２０内に二つ以上の不揮発性キャッシュメモリの特定領域２２２，２２３を持ち、ホストプロセッサ２０１がバッファ２０６〜２０８にあるデータを不揮発性メモリ制御装置２２０に送ると、当該不揮発性メモリ制御装置２２０は不揮発性キャッシュメモリの特定領域２２２にデータを書き込み、一つの当該特定領域２２２全体が使用されると、不揮発性メモリ制御装置２２０は、ホストプロセッサ２０１にデータの退避要求を送る。そうすると、ホストプロセッサ２０１が前記特定領域２２２とは異なる特定領域２２３への書き込み要求を不揮発性メモリ制御装置２２０に送り、前記特定領域２２２とは異なる不揮発性キャッシュメモリの特定領域２２３にホストプロセッサ２０１からのデータを書き込み、ホストプロセッサ２０１が前記の使用済みの不揮発性キャッシュメモリの特定領域２２２のデータを複数の退避用データバッファ２０４あるいは２０５に読み込む。
【００２７】
その後、退避用データバッファ２０４あるいは２０５内のデータを必要があれば圧縮して別の記憶制御装置２１２あるいは２１６に書き込み要求する。書き込み要求を受けたテープ制御装置２１２あるいはディスク制御装置２１６は制御プロセッサ２１３及び２１７によって、不揮発性キャッシュメモリ２１４あるいは２１８にデータを一旦書き込み、ホストプロセッサ２０１に書き込み終了を伝達し、ホストプロセッサ２０１は、不揮発性キャッシュメモリ領域２２２を再度使用可能にする。
【００２８】
書き込まれた退避データ２１４あるいは２１８はテープ記憶装置２２７あるいはディスク記憶装置２２９に保管データ２２８あるいは２３０として記憶される。ホストプロセッサ２０１の処理速度に比べ記憶装置２２７及び２２９への記憶速度は遅いために、不揮発性キャッシュメモリ特定領域２２２，２２３及び退避用データバッファ２０４〜２０５は２個以上用意する。また、テープ記憶装置はディスク記憶装置よりも低速なため、別途退避用データバッファ２０４あるいは２０５から直接書き込むのでなく、一度ディスク記憶装置に格納した後にテープ記憶装置に複写することもできる。
【００２９】
本実施形態２では、本発明の実施形態１との対比で、不揮発性メモリ制御装置２２０がそれに付属するディスク記憶装置を設置せずに、二つ以上の不揮発性キャッシュメモリを設置して常にメモリを使用可能状態としておき、トランザクション処理を待ち時間無く実行できるものである。
【００３０】
「実施形態３」
データ読み込みでは、通常、不揮発性領域は使用されずに、揮発性領域が使われる。データ書き込み時のみ、データが消えない様に不揮発性が使用される。通常、多くても書き込みは全体（ディスクへの入出力処理）の２０％以下である。どこにもキャッシュの空きがないと、書き込みを待たされることとなる。更に、一般的には、不揮発性領域の使用率が１００％にならない様に、読み書きの比率を考慮してユーザがサイズを設定する。また、キャッシュの使用量と容量は常にモニタ可能であり、書き込もうとしているデータが不揮発性キャッシュに入るかどうか、チェックできる。ここでチェックした結果を以下の説明では使用率として表現する。
【００３１】
図３に示す本発明の実施形態３において、高速データ書き込みシステムは、ホストプロセッサ３０１，３３２と、ディスク記憶装置３２７，３２９と、ホストプロセッサと記憶装置を結合するプロセッサ３１３，３１７を有したディスク制御装置３１２，３１６と、複数のホストプロセッサ３０１，３３２を結合する不揮発性メモリ制御装置３２０と、を備えており、ホストプロセッサ３０１あるいは３３２上にデータベースサブシステム３０２あるいは３３３があり、制御プロセッサ３０３あるいは３３４とデータを格納するバッファ領域３０６〜３０８あるいは３３９〜３４１を使用してデータの読み書きを行う。
【００３２】
ディスク３２７にあるデータをホストプロセッサ３０１が読み込み、データを更新して書き込む時、ホストプロセッサは不揮発性キャッシュメモリ３１４の使用率をディスク制御装置３１２から入手し使用率が低ければそのままディスク制御装置３１２に書き込み要求をする。メモリ３１４の使用率が高ければ、他の不揮発性キャッシュメモリ３１８の使用率をディスク制御装置３１６から入手し、不揮発性キャッシュメモリ３１８の使用率の方が高ければディスク制御装置３１２に書き込み要求し、メモリ３１８の使用率の方が低ければ必要であれば書き込み不要フラグ（ディスク記憶装置３２９への書き込み不要フラグ）をつけてディスク制御装置３１６に書き込み要求する。
【００３３】
この時、ホストプロセッサ３０１が、バッファ３０６〜３０８にあるデータをディスク制御装置３１６に送ると、当該ディスク制御装置３１６は、不揮発性キャッシュメモリの特定領域３１８にデータを書き込み、ホストプロセッサ３０１に書き込み終了を伝達し、ホストプロセッサ３０１は不揮発性メモリ制御装置３２０に書き込み先変更を通知し（読み込んだディスク３２７から書き込んだディスク３２９への書き込み先変更通知）、これを不揮発性キャッシュメモリ３２２に記憶する。
【００３４】
他のホストプロセッサ３３２が、データをディスク制御装置３１２あるいは３１６から読み込んだ後には、不揮発性キャッシュメモリ３２２にデータの格納先が変更されているか確認し、もし先にホストプロセッサ３０１が同じデータを変更し、別の不揮発性キャッシュメモリ３１８に格納していたならば、再度変更先のディスク制御装置３１６から読み込み直す。ホストプロセッサ３０１は不揮発性キャッシュメモリ３１４に格納領域が確保できた時に、一時的に格納されていた不揮発性キャッシュメモリ３１８内のデータを読み込んでディスク制御装置３１２にディスク書き込み必要フラグ（ディスク記憶装置３２７への書き込み必要フラグ）を付けて書き込み要求をし、不揮発性キャッシュメモリ３１４に書き込み完了後にホストプロセッサ３０１は不揮発性メモリ制御装置３２０へ格納先変更を通知する。不揮発性キャッシュメモリ３１４に書き込まれたデータはディスク記憶装置３２７に保管データ３２８として記憶される。
【００３５】
本発明の実施形態３では、ホストプロセッサが複数個存在し、その複数個のホストプロセッサがディスク制御装置並びにディスク記憶装置を共有して使用する場合、いわゆるＳＡＮ（Ｓｔｒａｇｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）又はＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）の環境下でディスク制御装置の不揮発性キャッシュメモリを共有して有効且つ効率的に活用することを特徴とするものである。ここにおいて、ホストプロセッサは必ずしも複数存在することが前提ではなく、要は不揮発性キャッシュメモリをディスク制御装置同士で共有していることが前提となるのである。読み書きされるデータの書き込みの際に、読み込まれたディスクに対応するディスク制御装置のキャッシュメモリに空き領域がなければ、他のディスク制御装置の不揮発性キャッシュメモリの空き領域に書き込むべく、他のディスク制御装置に対しディスクへの書き込み不要を指示して書き込み、書き込み先の変更を通知する。元の不揮発性キャッシュメモリ領域に空き領域ができてからホストプロセッサがディスク書き込みを指示して本来のディスクに格納し、再度書き込み先の変更を通知するものである。
【００３６】
「実施形態４」
図４に示す本発明の実施形態４において、高速データ書き込みシステムは、ホストプロセッサ４０１，４３５と、ディスク記憶装置４３１，４３２と、ホストプロセッサとディスク記憶装置を制御するプロセッサ４１７，４２１を有したディスク制御装置４１６，４２０と、ホストプロセッサ４０１内に前記ディスク制御装置と複数のホストプロセッサ４０１，４３５を結合する不揮発性メモリ制御装置４２４の入出力を制御する入出力プロセッサ４４３と、を備えており、ホストプロセッサ４０１及び４３５上にデータベースサブシステム４０２，４０９及び４３６があり、制御プロセッサ４０３，４１０あるいは４３７とデータを格納するバッファ領域４０６，４０７，４１３，４１４あるいは４４０〜４４２を使用してデータの読み書きを行う。
【００３７】
ディスク４３１にあるデータを制御プロセッサ４０３が読み込み、データを更新して書き込む時、プロセッサ４０３は入出力プロセッサ４４３に書き込みを要求し、入出力プロセッサ４４３が不揮発性キャッシュメモリ４１８の使用率をディスク制御装置４１６から入手し使用率が低ければそのままディスク制御装置４１６に書き込み要求をし、使用率が高ければ、他の不揮発性キャッシュメモリ４２２あるいは４２７の使用率をディスク制御装置４２０あるいは不揮発性メモリ制御装置４２４から入手し、不揮発性キャッシュメモリ４１８の使用率の方が低ければディスク制御装置４１６に書き込みを要求する。不揮発性キャッシュメモリ４２２の使用率の方が低ければ書き込み不要フラグ（ディスク記憶装置４３２への書き込み不要フラグ）をつけてディスク制御装置４２０に書き込み要求をし、不揮発性キャッシュメモリ４２７の使用率の方が低ければ不揮発性メモリ制御装置４２４に書き込み要求をする。
【００３８】
例えば、制御プロセッサ４０３がバッファ４０６，４０７にあるデータ（ディスク４３１の読み込みデータ）を入出力プロセッサ４４３に要求してディスク制御装置４２０に送ると、当該ディスク制御装置４２０は不揮発性キャッシュメモリの特定領域４２２にデータを書き込み、制御プロセッサ４０３に書き込み終了を伝達し、制御プロセッサ４０３は不揮発性メモリ制御装置４２４に書き込み先変更を通知し、書き込み先管理用不揮発性キャッシュメモリ４２６に記憶する。他の制御プロセッサ４１０あるいは４３７がデータを入出力プロセッサ４４３に要求してディスク制御装置４１６から読み込んだ後には、書き込み先管理用不揮発性キャッシュメモリ４２６にデータの格納先が変更されているか確認し、もし先に制御プロセッサ４０３が同じデータを変更し、別の不揮発性キャッシュメモリ４２２に格納していたならば、再度変更先のディスク制御装置４２０から読み込み直す。
【００３９】
入出力プロセッサ４４３は、不揮発性キャッシュメモリ４１８に格納可能領域が確保できた時に、一時的に格納されていた不揮発性キャッシュメモリ４２２内のデータを読み込んでディスク制御装置４１６にディスク書き込み必要フラグを付けて書き込み要求をし、不揮発性キャッシュメモリに書き込み完了後に入出力プロセッサ４４３は、不揮発性メモリ制御装置４２４へ再度格納先変更を通知する。不揮発性キャッシュメモリ４１８に書き込まれたデータはディスク記憶装置４３１に保管データ４３３として記憶される。
【００４０】
「実施形態５」
図５に示す本発明の実施形態５において、高速データ書き込みシステムは、ホストプロセッサ５０１と、ディスク記憶装置５３０，５３２，５３４と、ホストプロセッサとディスク記憶装置を結合するプロセッサ５１３，５１８，５２３を有するディスク制御装置５１２，５１７，５２２と、を備えており、前記複数のディスク制御装置同士が接続ケーブル５１６，５２１で接続されているとともに、ホストプロセッサ５０１上にデータベースサブシステム５０２があり、制御プロセッサ５０３とデータを格納するバッファ領域５０６〜５０８を使用してデータの読み書きを行う。
【００４１】
ディスク記憶装置５３０にあるデータをホストプロセッサ５０１が読み込み、データを更新して書き込む時、不揮発性キャッシュメモリ５１４に格納領域が不足している場合、ディスク制御装置５１２以外の不揮発性キャッシュメモリ５１９の空き領域をディスク制御装置５１７から接続ケーブル５１６を経由して入手し、不揮発性キャッシュメモリ５１９の空き領域の方が少なればディスク記憶装置５３０に書き込み、大きければディスク制御装置５１７に接続ケーブル５１６を経由して書き込み要求する。この時、当該ディスク制御装置５１７は不揮発性キャッシュメモリ領域５１９にデータを書き込み、記憶装置５３２に一時的に格納し、記憶制御装置５１２に書き込み終了を伝達し、記憶制御装置５１２は、不揮発性キャッシュメモリ領域５１４に書き込み先変更を記憶する。
【００４２】
ホストプロセッサ５０１が、当該データをディスク制御装置５１２から読み込み要求すると、記憶制御装置５１２は、不揮発性キャッシュメモリ５１４にデータの格納先が変更されているか確認し、もし、別の記憶制御装置５１７に格納してあるならば、変更先のディスク制御装置５１７から読み込み、その結果をホストプロセッサ５０１に伝達する。
【００４３】
記憶制御装置５１７は、不揮発性キャッシュメモリ５１４に格納可能領域が確保できた時に、一時的に記憶装置５３２に格納されていたデータ５３３を読み込んでディスク制御装置５１２に書き込み要求をし、不揮発性キャッシュメモリ５１４に書き込み完了後に一時格納されていたデータを消去し、ディスク制御装置５１２は、前記不揮発性キャッシュメモリ５１４内にある変更格納先を消去する。不揮発性キャッシュメモリ５１４に書き込まれたデータは、本来のディスク記憶装置５３０に保管データ５３１として記憶される。
【００４４】
本実施形態は、複数のディスク制御装置同士が各ディスク制御装置に装着されている不揮発性キャッシュメモリを相互利用できるようになっているとともに、更に、ディスク制御装置同士を結ぶ接続ケーブルによってそれぞれの不揮発性キャッシュメモリの管理制御をディスク制御装置が実行しているものである。
【００４５】
「実施形態６」
図６に示す本発明の実施形態６は、複数のディスク制御装置６１２，６１６，６２０が、２つの不揮発性記憶制御装置６３７，６４２に接続され、不揮発性キャッシュメモリ６３９，６４４及び６４５が共有されている単一のホストプロセッサシステムの構成である。単一のプロセッサシステムは、１つのホストプロセッサ６０１と、２つの不揮発性記憶制御装置６３７，６４２と、ディスク制御装置に接続された複数のディスク記憶装置６２８，６３０，６３２と、を備えている。
【００４６】
記憶制御装置６１２、６１６，６２０は、プロセッサ６１３，６１７，６２１と、不揮発性キャシュメモリ６１４，６１８，６２２，６２３と、揮発性キャシュメモリ６１５，６１９，６２４と、から成っている。ホストプロセッサ６０１では、データベースサブシステム６０２は、ディスク記憶装置６２８，６３０，６３２内のデータ６２９，６３１，６３３を更新するために、プロセッサ６０３及び一時的に格納されるバッファ６０６，６０７，６０８を使用する。
【００４７】
例えば、ホストプロセッサ６０１がデータをディスク記憶装置６２８に書く時、もし不揮発性キャシュメモリ６１４に十分な格納領域があれば、ディスク制御装置６１２は不揮発性キャシュメモリ６１４に書き込む。もしも、不揮発性キャシュメモリ６１４に十分な格納領域が確保できないならば、ディスク制御装置６１２が、書き込み要求を不揮発性記憶制御装置６３７と６４２に送り、他の不揮発性キャシュメモリ６１８，６２２，６２３，６３９，または６４４に十分な格納領域があれば、不揮発性記憶制御装置６３７または６４２が使用可能な不揮発性キャシュメモリの中の一つ、例えば６１８にデータを書き込む。もし必要であれば、ディスク装置に書くことはしない。
【００４８】
その後、不揮発性記憶制御装置６３７または６４２は書き込み完了をディスク制御装置６１２に送り、ホストプロセッサ６０１は書き込み完了をディスク制御装置６１２から受け取る。不揮発性記憶制御装置６３７または６４２は、不揮発性キャシュメモリ６１４に十分な格納領域があったり、あるいは、ホストプロセッサ６０１の処理量が小さくなった時にディスク制御装置６１６から、更新されたデータを、元々格納されていたディスク記憶装置６２８に移動させる。それから、ディスク制御装置６１６は、不揮発性記憶制御装置６３７または６４２から書き込み完了を受け取った後に、一時的に書き込まれたキャッシュエリアを再使用可能にする。
【００４９】
別の構成例は、ホストプロセッサ６０１が、データを、バックアップのための同一のデータを持っているディスク記憶装置６２８または６３０に書く時で、ホストプロセッサ６０１は、不揮発性キャシュメモリ６１４と６１８に書き込み可能な領域をもっている。もし両方の不揮発性キャシュメモリ６１４と６１８に十分な格納領域があるならば、ホストプロセッサ６０１は６１２と６１６に書き込む要求を出す。もし、例えば不揮発性キャシュメモリ６１４に十分な格納領域がなければ、プロセッサ６０１は、ディスク制御装置６１６に書き込み要求をだし、ディスク制御装置６１６はデータを不揮発キャシュメモリ６１８に書く。ホストプロセッサ６０１はディスク制御装置６１６から書き込み完了を受け取る。ホストプロセッサ６０１は、不揮発性キャシュメモリ６１４に十分な格納領域ができたり、ホストプロセッサ６０１の処理量が低くなった時、ディスク装置６２８に、ディスク制御装置６１６からデータをコピーする。その後、ホストプロセッサ６０１は、不揮発性キャシュメモリ６１４または６１８内のより小さい空きしかなかった不揮発性使用済み領域を開放する。
【００５０】
「実施形態７」
図７に示す実施形態７は、図６に示す単一のホストプロセッサを複数のホストプロセッサとする場合である。２つの高速結合装置７３７，７４２が、図６の不揮発性メモリ制御装置６３７，６４２として使われる。
【００５１】
「実施形態８」
図８は図７の高速結合装置において、一時的にデータを格納するだけでなく、冗長にデータを保持するためにディスク装置８４９，８５０を持たせたものである。
【００５２】
前述した本発明の全ての実施形態の内容において、各ホストプロセッサが使用可能な不揮発性キャッシュメモリ領域は、事前にユーザが登録しておくことが必要であり、その登録数を増やすことで共有可能な領域を増やすことが可能となり、本発明の機能乃至作用が実現可能となる。
【００５３】
また、前記本発明の実施形態は、ストレージエリアネットワークの環境下でも実現可能でありその効果は大きい。上記実施形態で述べたホストプロセッサとは、大型計算機をはじめ、ワークステーション、サーバー、ＰＣ他ストレージを接続できる全てのプロセッサ装置を対象とすることが可能である。
【００５４】
以上説明したように、本発明の実施形態は次のような構成、機能乃至作用を奏するものを含むものである。
【００５５】
ホストプロセッサ上のデータベースシステム等では、トランザクションの結果やロギングデータを記憶装置に格納するが、システムダウン等の回復処理のために不揮発性記憶装置に格納される迄、次のトランザクションが処理されない。こういった高速なレスポンスが要求され、消失させてはならないデータについて、ディスク制御装置内の複数の高速な不揮発性メモリ領域に一時的にデータを常駐させ、ディスク等の低速記憶装置に書き込まず、当該不揮発性メモリ領域全体が使用された時にホストプロセッサへディスク制御装置が格納先の変更を伝達し、ホストプロセッサが不揮発性メモリ内の纏まったデータを別のディスク記憶装置に記録させ、再度当該不揮発性メモリ領域を使用可能にする。
【００５６】
ディスクに記録させるまで時間がかかるので、二つ以上の高速な不揮発性メモリ領域を前記ディスク制御装置に用意しておき、ホストプロセッサに前もって使用可能な不揮発性キャッシュメモリ領域を複数登録しておき、順にこれらを利用し、常に不揮発性キャッシュメモリが使用可能な状態にしておく。
【００５７】
データベース内のレコードデータについては当該ディスク制御装置の不揮発性キャッシュメモリに空きがなければ、ホストプロセッサが複数あるディスク制御装置の不揮発性キャッシュメモリの空いている領域に一時的に格納し、後に当該ディスク制御装置に書き込む。一時的に格納する領域はバックアップバッテリーなどにより不揮発性メモリであればディスク記憶装置は必要なく、ホストプロセッサが不揮発性メモリ領域にあるデータを読み込み、圧縮した後、ディスク、テープ等の補助記憶装置に格納し、これが終了すると、前記不揮発性メモリ領域を再度使用可能にする。
【００５８】
書き込み目的のデータについては、ディスク制御装置内の二つ以上の不揮発性キャッシュメモリ領域に一時的にデータを蓄積させ、ディスクに書き込まず、当該領域全体が使用された時にホストプロセッサが当該データを必要があれば圧縮し、他のディスク制御装置あるいはテープ制御装置等の補助記憶制御装置内の不揮発性キャッシュメモリに書き込み要求を出し、書き込みさせる迄に時間がかかるので、二つ以上の不揮発性メモリ領域を用意しておき、書き込みが完了すると再度前記領域を使用可能にする。
【００５９】
読み書きされるデータの書き込みについてはディスク制御装置内のキャッシュメモリでは全データを格納できず、ディスクに書き込む必要があるので、ホストプロセッサが当該ディスク制御装置から不揮発性キャッシュメモリ領域の空き領域の大きさを入手し、空き領域があればディスク書き込みを指示し、空き領域がなければ他のディスク制御装置で不揮発性キャッシュメモリの空き領域のあるディスク制御装置に対しディスクへの書き込み不要を指示して書き込む。この際他のホストプロセッサに対し、書き込み先の変更を伝達し、元の不揮発性キャッシュメモリ領域に空き領域ができてからホストプロセッサがディスク書き込みを指示して本来のディスクに格納し、他のプロセッサに再度書き込み先の変更を伝達する。また、一時的に格納する領域にはバックアップバッテリーがあればディスクは必要ない。
【００６０】
【発明の効果】
複数ある高速かつ高価な不揮発性キャッシュメモリを有効利用し、キャッシュメモリに比べて時間のかかる大規模記憶装置への書き込みをホストプロセッサが待たない様にすることで、高速化するホストプロセッサを有効利用できる。
【図面の簡単な説明】
【図１】本発明の実施形態１に係る高速データ書き込みシステムであって、ホストプロセッサ、ディスク制御装置及びディスク記憶装置についての構成並びに接続を示す図である。
【図２】本発明の実施形態２に係る高速データ書き込みシステムであって、ホストプロセッサ、テープ制御装置、磁気テープ、ディスク制御装置及びディスク記憶装置についての構成並びに接続を示す図である。
【図３】本発明の実施形態３に係る高速データ書き込みシステムであって、複数のホストプロセッサ、ディスク制御装置、ディスク記憶装置及び不揮発性メモリ制御装置についての構成並びに接続を示す図である。
【図４】本発明の実施形態４に係る高速データ書き込みシステムであって、複数のホストプロセッサ、ディスク制御装置、ディスク記憶装置及び入出力プロセッサについての構成並びに接続を示す図である。
【図５】本発明の実施形態５に係る高速データ書き込みシステムであって、ホストプロセッサ、ディスク制御装置及びディスク記憶装置についての構成並びに接続を示す図である。
【図６】本発明の実施形態６に係る高速データ書き込みシステムであって、ホストプロセッサ、ディスク制御装置、ディスク記憶装置及び不揮発性記憶制御装置についての構成並びに接続を示す図である。
【図７】本発明の実施形態７に係る高速データ書き込みシステムであって、図６の実施形態６におけるホストプロセッサが複数個の場合の図である。
【図８】本発明の実施形態８に係る高速データ書き込みシステムであって、図７の高速結合装置において、一時的にデータを格納するだけでなく、冗長にデータを保持するのディスク装置を備えた構成並びに接続を示す図である。
【符号の説明】
１０１…ホストプロセッサ、１０２…データベースサブシステム、１０３，１１３，１１７，１２１…制御プロセッサ、１０４…退避用データバッファ１、１０５…退避用データバッファ２、１０６…データバッファ１、１０７…データバッファ２、１０８…データバッファ３、１０９，１１０，１１１，１２５，１２６，１２７…接続ケーブル、１１２，１１６，１２０…ディスク制御装置、１１４，１１８…不揮発性キャッシュメモリ、１１５，１１９，１２４…揮発性キャッシュメモリ、１２２…不揮発性キャッシュメモリ領域１、１２３…不揮発性キャッシュメモリ領域２、１２８，１３０，１３２…ディスク記憶装置、１２９，１３１，１３３…保管データ、
２０１…ホストプロセッサ、２０２…データベースサブシステム、２０３，２１３，２１７，２２１…制御プロセッサ、２０４…退避用データバッファ１、２０５…退避用データバッファ２、２０６…データバッファ１、２０７…データバッファ２、２０８…データバッファ３、２０９，２１０，２１１…接続ケーブル、２１２，２１６…ディスク制御装置、２１４，２１８，２２４…不揮発性キャッシュメモリ、２１５，２１９…揮発性キャッシュメモリ、２２０…不揮発性メモリ制御装置、２２２…不揮発性キャッシュメモリ特定領域１、２２３…不揮発性キャッシュメモリ特定領域２、２２５，２２６…接続ケーブル、２２７…磁気テープ等の補助記憶装置、２２８，２３０…保管データ、２２９…ディスク記憶装置、
３０１…ホストプロセッサ１、３０２…データベースサブシステム１、３０３，３１３，３１７，３２１，３３４…制御プロセッサ、３０４…退避用データバッファ１、３０５…退避用データバッファ２、３０６…データバッファ１、３０７…データバッファ２、３０８…データバッファ３、３０９，３１０，３１１，３２５，３２６，３３１，３３５，３３８…接続ケーブル、３１２，３１６…ディスク制御装置、３１４，３１８…不揮発性キャッシュメモリ、３１５，３１９，３２４…揮発性キャッシュメモリ、３２０…不揮発性メモリ制御装置、３２２…不揮発性キャッシュメモリ領域１、３２３…不揮発性キャッシュメモリ領域２、３２７，３２９…ディスク記憶装置、３２８，３３０…記憶データ、３３２…ホストプロセッサ２、３３３…データベースサブシステム２、３３６…退避用データバッファ１、３３７…退避用データバッファ２、３３９…データバッファ１、３４０…データバッファ２、３４１…データバッファ３、
４０１…ホストプロセッサ１、４０２…データベースサブシステム１、４０３…制御プロセッサ、４０４…退避用データバッファ１、４０５…退避用データバッファ２、４０６…データバッファ１、４０７…データバッファ２、４０８…データバス、４０９…データベースサブシステム２、４１０…制御プロセッサ２、４１１…退避用データバッファ３、４１２…退避用データバッファ４、４１３…データバッファ３、４１４…データバッファ４、４１５，４２９，４３０…接続ケーブル、４１６…ディスク制御装置、４１７…ディスク制御プロセッサ１、４１８，４２２…不揮発性キャッシュメモリ、４１９，４２３，４２８…揮発性キャッシュメモリ、４２０…ディスク制御装置１、４２１…ディスク制御プロセッサ、４２４…不揮発性メモリ制御装置、４２５…制御プロセッサ、４２６…書き込み先管理用不揮発性キャッシュメモリ領域、４２７…不揮発性キャッシュメモリ領域１、４３１…ディスク記憶装置１、４３２…ディスク記憶装置２、４３３，４３４…記憶データ、４３５…ホストプロセッサ２、４３６…データベースサブシステム３、４３７，５１８，５２３…制御プロセッサ、４３８…退避用データバッファ１、４３９…退避用データバッファ２、４４０…データバッファ１、４４１…データバッファ２、４４２…データバッファ３、４４３…入出力プロセッサ、
５０１…ホストプロセッサ１、５０２…データベースサブシステム１、５０３，５１３…制御プロセッサ、５０４…退避用データバッファ１、５０５…退避用データバッファ２、５０６…データバッファ１、５０７…データバッファ２、５０８…データバッファ３、５０９，５１０，５１１，５１６，５２１，５２７，５２８，５２９…接続ケーブル、５１２，５１７，５２２…ディスク制御装置、５１４，５１９，５２４，５２５…不揮発性キャッシュメモリ、５１５，５２０，５２６…揮発性キャッシュメモリ、５３０，５３２，５３４…ディスク記憶装置、５３１，５３３，５３５…記憶データ、
６０１…ホストプロセッサ１、６０２…データベースサブシステム１、６０３，６１３，６１７，６２１，６３８，６４３…制御プロセッサ、６０４…退避用データバッファ１、６０５…退避用データバッファ２、６０６…データバッファ１、６０７…データバッファ２、６０８…データバッファ３、６０９，６１０，６１１，６２５，６２６，６２７，６３４，６３５，６３６…接続ケーブル、６１２，６１６，６２０…ディスク制御装置、６１５，６１９，６２４，６４１，６４６…揮発性キャッシュメモリ、６１４，６１８，６２２，６２３，６３９，６４０，６４４，６４５…不揮発性キャッシュメモリ、６２８，６３０，６３２，６３７，６４２…ディスク記憶装置、６２９，６３１，６３３…記憶データ、
７０１…ホストプロセッサ１、７０２…データベースサブシステム１、７０３，７１３，７１７，７２１，７３８，７４３，７５１…制御プロセッサ、７０４…退避用データバッファ１、７０５…退避用データバッファ２、７０６…データバッファ１、７０７…データバッファ２、７０８…データバッファ３、７０９，７１０，７１１，７２５，７２６，７２７，７３４，７３５，７３６，７４７，７４８…接続ケーブル、７１２，７１６，７２０，７３７，７４２…ディスク制御装置、７１４，７１８，７２２，７２３，７３９，７４０，７４４，７４５…不揮発性キャッシュメモリ、７１５，７１９，７２４，７４１，７４６…揮発性キャッシュメモリ、７２８，７３０，７３２…ディスク記憶装置、７２９，７３１，７３３…記憶データ、７４９…ホストプロセッサ１、７５０…データベースサブシステム１、７５２…退避用データバッファ１、７５３，８５９…退避用データバッファ２、７５４，８６０…データバッファ１、７５５，８６１…データバッファ２、７５６，８６２…データバッファ３、
８０１…ホストプロセッサ１、８０２…データベースサブシステム１、８０３，８１３，８１７，８２１，８３８，８４３，８５７…制御プロセッサ、８０４…退避用データバッファ１、８０５…退避用データバッファ２、８０６…データバッファ１、８０７…データバッファ２、８０８…データバッファ３、８０９，８１０，８１１…接続ケーブル、８１２，８１６，８２０，８４７…ディスク制御装置、８１４，８１８，８２２，８２３，８３９，８４０，８４４，８４５…不揮発性キャッシュメモリ、８１５，８１９，８２４，８４１，８４６…揮発性キャッシュメモリ、８２７，８３４，８３５，８３６，８５１，８５２，８５３，８５４…接続ケーブル、８２５，８２６，８２８，８３０，８３２，８４８，８４９，８５０…ディスク記憶装置、８２９，８３１，８３３…記憶データ、８３７，８４２…高速結合装置、８５５…ホストプロセッサ１、８５６…データベースサブシステム１、８５８…退避用データバッファ１、８５９…退避用データバッファ２
【図１】
0004076316.tif 000002
【図２】
0004076316.tif 000003
【図３】
0004076316.tif 000004
【図４】
0004076316.tif 000005
【図５】
0004076316.tif 000006
【図６】
0004076316.tif 000007
【図７】
0004076316.tif 000008
【図８】
0004076316.tif 000009