(57)【特許請求の範囲】
【請求項１】
複数のコンピュータと対応してそれぞれ設けられ、各々がリセット認識通知手段及び緊急データ処理手段を有する複数のコントローラと、
前記複数のコントローラによって共有され、コンピュータからのデータを一時的に保持するキャッシュメモリとを備え、
前記複数のコントローラは、１つのコンピュータからのデータを受信して前記キャッシュメモリに書き込むとともに、前記キャッシュメモリのデータをディスクに書き込み、
前記リセット認識通知手段は、１つのコンピュータからのリセット通知を受信して該リセット通知を他のコントローラに通知し、
前記緊急データ処理手段は、前記リセット認識通知手段からのリセット通知に応じて、前記キャッシュメモリのデータを保護する
ことを特徴とするディスク制御装置。
【請求項２】
前記１つのコンピュータと対応するコントローラが受信したデータを、該コントローラとは異なるコントローラと対応する緊急データ処理手段が前記ディスクに書き込むことにより、前記キャッシュメモリに保持されているデータを保護することを特徴とする請求項１記載のディスク制御装置。
【請求項３】
複数のコンピュータからのデータを一時的に保持するキャッシュメモリに対して、１つのコンピュータからのデータを受信して書き込むとともに、前記キャッシュメモリのデータをディスクに書き込む制御処理と、
前記複数のコンピュータに対応してそれぞれ設けられたコントローラが１つのコンピュータからのリセット通知を受信する受信処理と、
１つのコンピュータからのリセット通知を受信したコントローラが該コントローラとは異なる他のコントローラにリセット通知を行うことにより、前記他のコントローラが前記キャッシュメモリのデータを保護する緊急データ処理とを実行させるためのプログラムを記録した記録媒体。
【請求項４】
前記緊急データ処理は、前記コンピュータから受信したデータを前記ディスクに書き込むことにより前記キャッシュメモリに保持されているデータの保護を行うことを特徴とする請求項３記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、共有ディスクを有する複数のコンピュータを管理し、一つのコンピュータが故障したとき、他のコンピュータに処理を引き継ぐようにしたコンピュータ管理システム等に用いて好適な上記共有ディスクを制御するディスク制御装置及びこのディスク制御装置で用いられるプログラムを記録した記録媒体に関するものである。
【０００２】
【従来の技術】
図４は従来のディスク制御装置を用いたコンピュータ管理システムの構成を示すブロック図である。
図４において、複数（ここでは２つ）のコンピュータ１（１０1）、コンピュータ２（１０2））はディスク制御装置１１により管理される。
【０００３】
ディスク制御装置１１は、コンピュータ１（１０1）と入出力部１２1を介して通信するコントローラ１（１３1）と、コンピュータ２（１０2）と入出力部１２2を介して通信するコントローラ２（１３2）とを有している。コントローラ１（１３1）とコントローラ２（１３2）とはバス１４で接続され、このバス１４にはキャッシュメモリ１５とディスク１６とが接続されている。
【０００４】
次に動作について説明する。今、コンピュータ１（１０1）が動作しているものとすると、コンピュータ１（１０1）が処理したデータを保存する場合は、図４の（１）で示すように、コントローラ１（１３1）がそのデータを受信してキャッシュメモリ１５に一時的に保持した後、図４の（２）のようにディスク１６に保存する。
【０００５】
ここで、コンピュータ１（１０1）がＨＷ障害、ＯＳパニックなど何らかの要因により再起動がかかった場合は、図５の（１）で示すようにディスク制御装置１１にリセットが伝えられる。ディスク制御装置１１では、コンピュータ１（１０1）からのリセットを認識して、図５の（２）で示すようにキャッシュメモリ１５の初期化動作を行う。この初期化は、コンピュータ１（１０1）の起動時にこのコンピュータ１（１０1）に接続されているリソースを認識・構成するために必要な動作である。
【０００６】
キャッシュメモリ１５の初期化後は、コンピュータ１（１０1）の処理はコンピュータ２（１０2）に引き継がれ、コントローラ２（１３2）によりデータのキャッシュメモリ１５及びディスク１６への書き込み動作が行われる。
【０００７】
複数のコンピュータの管理システムとしては、この他に例えば特開平１０２０７８５５号公報に記載されるものがある。この公報においては、コンピュータ側にディスクキャッシュメモリを設けたものが示されている。
【０００８】
【発明が解決しようとする課題】
しかしながら、上記のリセットが発生した時、そのリセットが行われる前にディスク制御装置１１へ送られた正常なデータがキャッシュメモリ１５にまだ存在している場合は、そのデータがディスク１６に書き込まれる前に初期化動作が行われので、キャッシュメモリ１５内のデータが消去されてしまい、大切なデータがロストしてしまうという問題があった。
また、上記特開平１０２０７８５５号公報に記載されるものにおいても、リセット時にディスクキャッシュメモリの内容が無効になるという同様の問題があった。
【０００９】
本発明は上記の問題を解決するためになされたもので、リセット時にキャッシュメモリのデータが失われることを防止することを目的としている。
【００１０】
【課題を解決するための手段】
上記の目的を達成するために、本発明によるディスク制御装置は、コンピュータ（例えば、実施の形態におけるコンピュータ１（１０1））からのデータを一時的に保持するキャッシュメモリ（同キャッシュメモリ１５）と、上記キャッシュメモリを共有し、複数のコンピュータと対応してそれぞれ設けられ１つのコンピュータからのデータを受信して上記キャッシュメモリに書き込むと共に、上記キャッシュメモリのデータをディスク（同ディスク１６）に書き込む複数の制御手段（同入出力部１２1、１２2、コントローラ１（１３1）、コントローラ２（１３2））と、上記複数の制御手段と対応してそれぞれ設けられ上記１つのコンピュータからのリセット通知を受信しこれを該リセット通知を受信したコントローラとは異なる他のコントローラに通知する複数のリセット認識通知手段（同入出力部１２1、１２2、リセット認識通知部１７1、１７2）と、上記複数の制御手段と対応してそれぞれ設けられ上記リセット認識通知手段からのリセット通知に応じて上記キャッシュメモリのデータを保護する複数の緊急データ処理手段（同緊急データ処理部１８1、１８2）とを設けたものである。
【００１１】
また、本発明によるプログラムを記録した記録媒体は、コンピュータからのデータを受信してキャッシュメモリに書き込むと共に、上記キャッシュメモリのデータをディスクに書き込む制御処理と、上記コンピュータからのリセット通知を受信する受信処理と、コンピュータからのリセット通知を受信した第１のコントローラが前記第１のコントローラとは異なる第２のコントローラに通知したリセット通知に応じて上記キャッシュメモリのデータを保護する緊急データ処理とを実行するためのプログラムを記録したものである。
【００１２】
【発明の実施の形態】
以下、本発明の実施の形態を図面と共に説明する。
図１は本発明によるディスク制御装置を用いたコンピュータ管理システムを示すブロック図であり、図４と対応する部分には同一番号を付して重複する説明は省略する。
【００１３】
本実施の形態は、コンピュータ１（１０1）、コンピュータ２（１０2）からのデータを受信・保存するディスク制御装置１１において、図１に示すようにディスク制御装置１１内のコントローラ１（１３1）、コントローラ２（１３2）に、コンピュータ１（１０1）、コンピュータ２（１０2）からのリセット受信時の通信を行うリセット認識通知部１７1 、１７2を設けている。これらの通信は、ＨＷの信号による通信やコントローラ間を結ぶバス１４上のコマンド通信などが考えられる。
【００１４】
さらに、通知を受信したコントローラが、通知を出したコントローラが処理中であるデータの有無を判断し、データが有る場合にはそのデータを自分の処理の中に取り込む緊急データ処理部１８1、１８2を設けている。
【００１５】
上記の構成によって、一方のコントローラでコンピュータからのリセットを検出したときに、他方のコントローラで上記一方のコントローラが受信していたデータの書き込みを代替することにより、データのロストを防ぐようにしている。
【００１６】
次に動作について説明する。
まず、電源オン後のコンピュータ１（１０1）の起動時の場合を考える。このときコンピュータ１（１０1）からリセットが通知される。このリセットは、リセット認識通知部１７1、１７2により他のコンピュータ２（１０2）に通知されるが、コンピュータ１（１０1）の電源オン後であるので、それ以前にコンピュータ１（１０1）から受信しているデータは無く、コンピュータ２（１０2）で処理されるデータは無い。従って、従来と同じ動作となり、本実施の形態による方法を実現していても問題は無い。
【００１７】
通常の運用中には、コンピュータ１（１０1）から受信したデータは、コントローラ１（１３1）により図２の（１）で示すように一時的にキャッシュメモリ１５に保存され、その後図２の（２）で示すようにディスク１６に書き込まれる。
【００１８】
次に、上記通常運用中にコンピュータ１（１０1）が何らかの要因で再起動し、図３の（１）のようにコントローラ１（１３1）に対してリセットが通知された場合について説明する。リセットがコントローラ１（１３1）に通知されると、その通知が図３の（２）のようにリセット認識通知部１７1によりコントローラ２（１３2）の緊急データ処理部１８2へ通知される。これに応じて図３の（３）で示すように緊急データ処理部１８2が動作し、図３の（４）で示すように、コントローラ２（１３2）が処理するデータの前にコントローラ１（１３1）のデータをディスク１６へ書き込む処理を行う。
【００１９】
本実施の形態によれば、リセットを検出したことを他のコントローラに通知するリセット認識通知部１７1、１７2と、通知されたときに通知を行ったコントローラが行うはずだったデータを自分の処理に組み込んでデータを保護する緊急データ処理部１８1、１８2とを設けることにより、本来リセットにより処理されないキャッシュメモリ１５からディスク１６へのデータの書き込みが、他のコントローラで代替されて実行されるので、データがロストすることを防止することができる。
【００２０】
尚、ディスク制御装置１１を構成するコンピュータシステムにおけるＣＰＵのプログラムを格納するＲＯＭ，ＲＡＭ等のメモリは、本発明によるプログラムを記録した記録媒体を構成することになる。この記録媒体には、前述した実施の形態の動作を実行するためのプログラムが格納される。
また、このような記録媒体としては、半導体記憶装置や種々のディスク媒体、あるいは磁気記録媒体等を用いることができる。
【００２１】
【発明の効果】
本発明によれば、コンピュータからのリセットを検出したことを他のコントローラ等の制御手段に通知する複数のリセット認識手段と、リセットを通知されたときに通知を行った制御手段が行うはずだったデータを自分の処理に組み込むことにより、データを保護する複数の緊急データ処理手段とを設けることにより、本来リセットにより処理されないキャッシュメモリからディスクへのデータの書き込みが、他の制御手段で代替されて実行されるので、キャッシュメモリのデータが失われるのを防止することができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態によるディスク制御装置を用いたコンピュータ管理システムを示すブロック図である。
【図２】  本発明の実施の形態によるコンピュータ管理システムの動作を示すブロック図である。
【図３】  本発明の実施の形態によるコンピュータ管理システムの動作を示すブロック図である。
【図４】  従来のディスク制御装置を用いたコンピュータ管理システムの構成を示すブロック図である。
【図５】  従来のコンピュータ管理システムの動作を示すブロック図である。
【符号の説明】
１０1、１０2  コンピュータ
１１  ディスク制御装置
１２1、１２2  入出力部
１３1、１３2  コントローラ
１４  バス
１５  キャッシュメモリ
１６  ディスク
１７1、１７2  リセット認識通知部
１８1、１８2  緊急データ処理部
【図１】
0004009401.tif 000002
【図２】
0004009401.tif 000003
【図３】
0004009401.tif 000004
【図４】
0004009401.tif 000005
【図５】
0004009401.tif 000006