図面 (/)

技術 二重化記憶装置の記憶一致方法および装置

出願人 株式会社日立製作所
発明者 真矢讓磯野聡一大辻彰
出願日 1995年12月20日 (25年8ヶ月経過) 出願番号 1995-331356
公開日 1997年6月30日 (24年1ヶ月経過) 公開番号 1997-171441
状態 拒絶査定
技術分野 ハードウェアの冗長性 外部記憶装置との入出力 検索装置 計算機におけるファイル管理
主要キーワード システム監視装置 制御用通信 チェックポイントデータ データ域 制御ポインタ キャストアウト 入出力チャネル ホットスタンバイ方式
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(1997年6月30日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

二重化記憶装置ホットスタンバイ方式の構成にした場合に、現用記憶装置オーバヘッドを小さくすること、また複数の処理装置と現用の記憶装置および待機の記憶装置とをチャンネル装置によって接続した構成であっても、現用の記憶装置と待機の記憶装置の記憶内容を一致させること。

解決手段

処理装置からは現用の記憶装置にのみコマンドを発行し、待機の記憶装置に対しては現用の記憶装置からコマンドを転送させ、それぞれの記憶装置において受信コマンドに対する処理を実行させる。

概要

背景

従来において、複数の処理装置中央処理複合体)に対し二重化記憶装置を接続して成る計算機システムとして、二重化記憶装置のうち1つに障害が発生した場合には、その障害を複数の処理装置に意識させて他方の記憶装置切り替え並列トランザクションサーバの持つリカバリ機能を利用して障害を回復するようにしたものがある。

概要

二重化記憶装置をホットスタンバイ方式の構成にした場合に、現用の記憶装置のオーバヘッドを小さくすること、また複数の処理装置と現用の記憶装置および待機の記憶装置とをチャンネル装置によって接続した構成であっても、現用の記憶装置と待機の記憶装置の記憶内容を一致させること。

処理装置からは現用の記憶装置にのみコマンドを発行し、待機の記憶装置に対しては現用の記憶装置からコマンドを転送させ、それぞれの記憶装置において受信コマンドに対する処理を実行させる。

目的

本発明の目的は、二重化記憶装置をホットスタンバイ方式の構成にした場合に、現用の記憶装置のオーバヘッドを小さくすることができる二重化記憶一致方法および装置を提供することにある。

同時に、複数の処理装置と現用の記憶装置および待機の記憶装置とをチャンネル装置によって接続した構成であっても、現用の記憶装置と待機の記憶装置の記憶内容を一致させることができる二重化記憶一致方法および装置を提供することにある。

効果

実績

技術文献被引用数
2件
牽制数
1件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

一方を現用記憶装置とし、他方を待機の記憶装置とするプロセッサを備えた複数の記憶装置から成り、処理装置発行するコマンドにより前記複数の記憶装置をアクセスする二重化記憶装置の記憶一致方法であって、処理装置から発行するコマンドは現用の記憶装置にのみ送信し、待機の記憶装置に対しては現用の記憶装置が受信したコマンドを転送し、現用と待機の記憶装置のそれぞれに受信したコマンドに対する処理を実行させることを特徴とする二重化記憶装置の記憶一致方法。

請求項2

現用の記憶装置は、現用の記憶装置の内容を更新するコマンドのみを待機の記憶装置に送信することを特徴とする請求項1記載の二重化記憶装置の記憶一致方法。

請求項3

現用の記憶装置のコマンドの実行結果が正常終了の場合、現用の記憶装置は待機の記憶装置の実行結果と比較せずに現用の記憶装置のコマンド実行結果を処理装置に送信し、さらに、現用の記憶装置は、待機の記憶装置からコマンド実行結果を参照し、その実行結果がメモリ不足あるいは障害の場合は、待機の記憶装置をリセットすることを特徴とする請求項1または2記載の二重化記憶装置の記憶一致方法。

請求項4

現用の記憶装置のコマンドの実行結果が正常終了の場合、現用の記憶装置は待機の記憶装置の実行結果と比較せずに現用の記憶装置のコマンド実行結果を処理装置に送信し、さらに、現用の記憶装置は、待機の記憶装置からコマンド実行結果を参照し、その実行結果がタイムアウトの場合は、待機の記憶装置におけるコマンドに対する処理を最後まで実行させることを特徴とする請求項1または2記載の二重化記憶装置の記憶一致方法。

請求項5

前記処理装置は複数の処理装置で構成され、前記現用の記憶装置と待機の記憶装置とはチャネル装置によって接続されていることを特徴とする請求項1ないし4記載のいずれかの二重化記憶装置の記憶一致方法。

請求項6

一方を現用の記憶装置とし、他方を待機の記憶装置とするプロセッサを備えた複数の記憶装置から成り、処理装置の発行するコマンドにより前記複数の記憶装置をアクセスする二重化記憶装置であって、現用の記憶装置は処理装置から発行されたコマンドを受信し、その受信したコマンドに対する処理を実行する手段と、受信したコマンドを待機の記憶装置に対して転送する手段とを備え、待機の記憶装置は現用の記憶装置から受信したコマンドに対する処理を実行する手段を備えることを特徴とする二重化記憶装置。

請求項7

現用の記憶装置における前記受信したコマンドを待機の記憶装置に対して転送する手段は、現用の記憶装置の内容を更新するコマンドのみを待機の記憶装置に転送することを特徴とする請求項6記載の二重化記憶装置。

請求項8

現用の記憶装置における前記受信したコマンドを待機の記憶装置に対して転送する手段は、現用の記憶装置のコマンドの実行結果が正常終了の場合、待機の記憶装置の実行結果と比較せずに現用の記憶装置のコマンド実行結果を処理装置に送信し、さらに、現用の記憶装置は、待機の記憶装置からコマンド実行結果を参照し、その実行結果がメモリ不足あるいは障害の場合は、待機の記憶装置をリセットする手段を備えることを特徴とする請求項6または7記載の二重化記憶装置。

請求項9

現用の記憶装置における前記受信したコマンドを待機の記憶装置に対して転送する手段は、現用の記憶装置のコマンドの実行結果が正常終了の場合、待機の記憶装置の実行結果と比較せずに現用の記憶装置のコマンド実行結果を処理装置に送信し、さらに、現用の記憶装置は、待機の記憶装置からコマンド実行結果を参照し、その実行結果がタイムアウトの場合は、待機の記憶装置におけるコマンドに対する処理を最後まで実行させる手段を備えることを特徴とする請求項6または7記載の二重化記憶装置。

請求項10

前記処理装置は複数の処理装置で構成され、前記現用の記憶装置と待機の記憶装置とはチャネル装置によって接続されていることを特徴とする請求項6ないし9記載のいずれかの二重化記憶装置。

技術分野

0001

本発明は、一方を現用記憶装置、他方を待機の記憶装置とした二重化記憶一致方法および装置に係り、特に、現用の記憶装置が処理装置から受信したコマンドを待機の記憶装置に転送することにより、コマンドの受信順序保証し、かつ大量のチェックポイントデータの転送を不要とする二重化記憶一致方法および装置に関するものである。

背景技術

0002

従来において、複数の処理装置(中央処理複合体)に対し二重化記憶装置を接続して成る計算機システムとして、二重化記憶装置のうち1つに障害が発生した場合には、その障害を複数の処理装置に意識させて他方の記憶装置に切り替え並列トランザクションサーバの持つリカバリ機能を利用して障害を回復するようにしたものがある。

発明が解決しようとする課題

0003

しかしながら、上記のような二重化記憶装置をホットスタンバイ方式の構成にした場合、処理装置の数の増加や処理能力の向上により、現用系から待機系に転送するチェックポイントデータ量が多くなり、これを転送するための現用の記憶装置のオーバヘッドが大きくなるという問題が発生する。

0004

すなわち、一般的なホットスタンバイ方式では、現用系の処理装置は一定の時間間隔でチェックポイントデータ(チェックポイントダンプ)を待機系の処理装置に送信する。そして、現用系で障害が発生すると、待機系の処理装置は現用系から受信したチェックポイントデータにより現用系の処理を引き継ぐようにしている。従って、この方式を上記二重化記憶装置を持つ計算機システムに適用した場合、処理装置の数の増加や処理能力の向上により、現用系から待機系に転送するチェックポイントデータ量が多くなり、これを転送するための現用の記憶装置のオーバヘッドが大きくなるという問題が発生する。

0005

一方、チェックポイントデータを転送しないで、現用系と待機系がコマンド(電文)を同時に受信することを保証することにより、記憶内容を一致させるホットスタンバイ方式がある。この方式にあっては、現用系と待機系とをそれぞれLANあるいは回線切替装置により接続し、コマンドの送信側がLANあるいは回線切替装置を占有することにより、両系におけるコマンドの受信順序が一致するようにコマンドを送信する。

0006

ところが、複数の処理装置と現用の記憶装置および待機の記憶装置とをチャンネル装置によって接続した場合、チャンネル装置を通じて複数の処理装置が別々に現用および待機の記憶装置にコマンドを発行することが可能となり、現用の記憶装置と待機の記憶装置のコマンドの受信順序が一致しなくなり、その結果、現用の記憶装置と待機の記憶装置の記憶内容が一致しなくなるという問題が発生する。

0007

本発明の目的は、二重化記憶装置をホットスタンバイ方式の構成にした場合に、現用の記憶装置のオーバヘッドを小さくすることができる二重化記憶一致方法および装置を提供することにある。

0008

同時に、複数の処理装置と現用の記憶装置および待機の記憶装置とをチャンネル装置によって接続した構成であっても、現用の記憶装置と待機の記憶装置の記憶内容を一致させることができる二重化記憶一致方法および装置を提供することにある。

課題を解決するための手段

0009

上記目的を達成するために、本発明は、処理装置からは現用の記憶装置にのみコマンドを発行し、待機の記憶装置に対しては現用の記憶装置からコマンドを転送させ、それぞれの記憶装置において受信コマンドに対する処理を実行させるようにしたことを主要な特徴とするものである。

0010

このような手段によれば、処理装置が記憶装置をアクセスする場合、現用の記憶装置にみにコマンドを発行する。現用の記憶装置は、処理装置からコマンドを受信すると、そのコマンドを待機の記憶装置に転送すると同時に、その受信コマンドに対する処理を実行し、処理装置に処理結果を戻す。

0011

一方、待機の記憶装置は、現用の記憶装置から受信したコマンドに対する処理を実行する。

0012

従って、現用の記憶装置と待機の記憶装置におけるコマンドの受信順序は常に一致し、これら記憶装置と処理装置とをチャンネル装置によって接続したとしても、両者の記憶内容を一致させることができる。

0013

また、現用の記憶装置は、従来のチェックポイントデータに代えて、該チェックポイントデータよりもデータ量の少ないコマンドを待機の記憶装置に送信することになるので、現用の記憶装置のオーバヘッドを小さくすることができる。

0014

ここで、記憶装置には、データキャッシュ機能を提供するキャッシュ構造メッセージ通信機能およびデータのロック機能を提供するリスト構造がある。

0015

このような構造を有する処理装置が記憶装置をアクセスする場合、現用の記憶装置は、処理装置からコマンドを受信すると、そのコマンドに対する処理を実行し、処理装置に処理結果を戻す。その際、現用の記憶装置は受信したコマンドを解析し、受信コマンドがキャッシュ構造あるいはリスト構造を更新するコマンドならば、これを待機の記憶装置に送信する。待機の記憶装置は、受信したコマンドに対する処理を実行し、応答を現用の記憶装置に戻す。最後に、現用の記憶装置は処理装置に応答を戻す。

0016

しかし、受信したコマンドが上記構造を更新しないコマンドならば、現用の記憶装置は受信コマンドを待機の記憶装置に送信しない。現用の記憶装置のみコマンドに対する処理を実行し、処理装置に応答を戻す。

0017

この結果、現用の記憶装置と待機の記憶装置は、同一のコマンドを同一の順序で実行することにより、現用の記憶装置と待機の記憶装置の内容が一致するようになる。

発明を実施するための最良の形態

0018

以下、図面を参照して本発明の実施の形態を詳細に説明する。

0019

なお、実施例を説明するための全図において、同一機能を有するものは同一符号を付け、その繰り返しの説明は省略する。

0020

図1は、本発明を適用した並列計算機システムの実施形態を示すシステム構成図であり、現用の記憶装置10、待機の記憶装置11および3台の処理装置20〜22から構成されている。

0021

記憶装置10、11と処理装置20〜22のハードウェア構成は同一とし、それぞれプロセッサ10−1〜22−1、メモリ10−2〜22−2、IOP10−3〜22−3、システム監視装置10−4〜22−4と入出力チャネル10−6〜22−6とから構成されている。

0022

各処理装置20〜22は、入出力チャネル20−6〜22−6により、2台の記憶装置10、11と接続されている。換言すれば、二重化された2台の記憶装置10、11は、処理装置20〜22のいずれかからでもアクセス可能になっている。

0023

2台の記憶装置10,11のシステム監視装置10−4〜11−4は、制御用通信パス3により接続され、この制御用通信パス3によって相手の記憶装置をリセットするためのメッセージ通信するようになっている。

0024

処理装置20〜22は、ディスク4を共有する。

0025

記憶装置10、11には、処理装置20〜22のデータキャッシュ機能を提供するキャッシュ構造、処理装置20〜22間のメッセージ通信機能とデータの排他制御機能を提供するリスト構造がある。この構造については、図3および図4で後述する。

0026

図2は、記憶装置10、11のソフトウェア構成を示す図であり、現用の記憶装置10のソフトウェアは、スーパバイザ部10−10、コマンド処理部10−11および一致制御処理部10−12とを備ている。この他に、受信したコマンドを格納するバッファ10−13とコマンドの処理に対する処理を監視するタイマタイムアウト時に使用する再開テーブル10−14を備えている。

0027

コマンド処理部10−11は、コマンドを実行するものであり、一致制御処理部10−12は、コマンドの実行結果が一致したかチェックするものである。

0028

待機の記憶装置11のソフトウェアは、現用の記憶装置10のソフトウェアと同一構成であり、スーパバイザ部11−10、コマンド処理部11−11および一致制御処理部11−12を備え、さらに、受信したコマンドを格納するバッファ11−13とタイムアウト時に使用する再開テーブル11−14を備えている。

0029

この構成における動作の概要は次の通りである。

0030

処理装置20〜22が現用および待機の記憶装置10,11をアクセスする場合には、処理装置20〜22は該当するコマンドを現用の記憶装置10に送信する(処理50)。

0031

現用の記憶装置10は、処理装置20〜22のいずれかからコマンドを受信すると、受信したコマンドに対する処理を実行することにより、記憶装置10内のキャッシュ構造30−0またはリスト構造40−0をアクセスする(処理51)。

0032

更に、このコマンドが記憶装置10,11の内容(キャッシュ構造またはリスト構造)を更新するコマンドならば、現用の記憶装置10はこのコマンドを待機の記憶装置11に送信する(処理52)。このコマンドは、記憶装置10と11との間の通信パス5を経由して送信される。

0033

待機の記憶装置11は、受信したコマンドに対する処理、すなわちキャッシュ構造30−1またはリスト構造40−1に対する更新処理を実行し(処理53)、処理結果の応答メッセージを現用の処理装置10に返信する(処理54)。この応答メッセージは、記憶装置10と11との間の通信パス5を経由して送信される。

0034

現用の記憶装置10の一致制御部10−12は、両記憶装置の実行結果が一致したか否かをチェックし(処理55)、その結果を処理装置20〜22に戻す(処理56)。

0035

現用の記憶装置10は、処理装置20〜22から受信したコマンドがキャッシュ構造またはリスト構造の更新コマンドでなければ、このコマンドは待機の記憶装置11に送信しない。

0036

従って、処理装置20〜22から受信したコマンドがキャッシュ構造またはリスト構造の更新コマンドでなければ、現用の記憶装置10のみがそのコマンドに対する処理を実行し、処理装置20〜22に対し読み出したデータを戻す(処理57)。

0037

現用の記憶装置10のキャッシュ構造30−0やリスト構造40−0で状態遷移が発生すると(処理60)、現用の記憶装置10は処理装置20〜22に対して状態遷移を通知するために、状態遷移コマンドを発行する(処理61)。

0038

一方、待機の処理装置11のキャッシュ構造30−1やリスト構造40−1で状態遷移が発生すると(処理62)、待機の処理装置11は状態遷移コマンドを現用の記憶装置10に発行する(処理63)。この状態遷移コマンドは、記憶装置10と11との間の通信パス5を経由して送信される。

0039

そして、現用の記憶装置10は、一致制御処理部10−12で一定時間内に状態遷移コマンドが一致したか判定する(処理64)。

0040

図3は、キャッシュ構造30−0の詳細を示す図である。

0041

キャッシュ構造は、特開平6−83706号の「シスプレックス共用データコヒーレンシを維持する方法」に記載されているように、キャッシュ構造制御情報30−3、ローカルキャッシュ構造制御情報30−4、キャストアウトクラス制御情報30−5、ディレクトリ項目30−7およびキャッシュ構造データ30−8から構成されている。

0042

キャッシュ構造制御情報30−3は、構造サイズ、キャストアウトクラス数などキャッシュ構造に関する制御情報である。ローカルキャッシュ制御情報30−4は、ローカルキャッシュ(処理装置にあるキャッシュ)がSESキャッシュ(記憶装置にあるキャッシュ)に割り当てられているときに有効な情報である。

0043

キャストアウトクラス制御情報30−5は、変更済みのデータをディスク4に格納するキャストアウト処理のための情報である。

0044

ディレクトリ項目30−7には、キャッシュの名前30−10とデータ域ポインタ30−11があり、キャッシュの名前30−10でデータを識別し、データ域ポインタ30−11でキャッシュ構造データ30−8の格納場所を特定するようになっている。

0045

ディレクトリ項目30−7の数には上限があり、これが上限に達すると、メモリ不足というメッセージを処理装置20〜22に通知する。

0046

図4は、リスト構造の詳細を示す図である。

0047

リスト構造は、特開平6−44195号の「シスプレックス共用データコヒーレンシを維持する方法」に記載されているように、リスト構造制御情報40−3、ユーザ制御情報40−4、ロックテーブル40−5、リスト制御情報40−6、リスト項目制御情報40−10、リスト構造データ40−18および付属リスト構造データ40−19で構成されている。リスト項目制御情報40−10には、ポインタによって次のリスト項目制御情報40−20が関連付けられている。

0048

リスト構造制御情報40−3は、構造の大きさ、リストの数などリスト構造に関する制御情報である。ユーザ制御情報40−4は、ユーザが定義して利用する情報である。ロックテーブル40−5は、リスト項目制御情報40−10の読み出しや書き込みの排他制御を行うテーブルである。

0049

リスト制御情報40−6は、リスト項目のカウント最大値を示す情報である。リスト項目制御情報40−10,40−20は、リスト構造データ40−18,40−28や付属リスト構造データ40−19,40−29を識別するリスト項目識別子40−11,40−21、データ40−18,40−58へのポインタ(データ域ポインタ)40−12,40−22、付属データ40−19,40−29へのポインタ(付属データ域ポインタ)40−13,40−23および次リスト項目制御情報へのポインタ(次リスト項目制御ポインタ)40−14,40−24を備えている。

0050

リスト項目制御情報40−10,40−20の数には上限があり、これが上限に達すると、メモリ不足というメッセージを処理装置20〜22に通知する。

0051

図5は、コマンドの実行結果を示す図である。

0052

コマンドの実行結果には、正常終了80、タイムアウト81、メモリ不足82および構造の障害83という4つの分類がある。

0053

正常終了80とは、コマンドが正しく実行された場合である。これは記憶装置状態は正常であり、現用の記憶装置10のコマンドの実行結果と待機の記憶装置11のコマンドの実行結果は必ず一致する。

0054

タイムアウト81とは、記憶装置10,11の状態は実行処理量が多く、あるいはI/O待ち時間が長いため、記憶装置10,11の状態は正常であるが、一定時間以内に応答を返すことを指し、タイムアウトになった場合は、コマンドの再開箇所と共に処理装置20〜22に返信する。現用の記憶装置10と待機の記憶装置11のコマンドの実行結果は、再開箇所を含めると、一致するとは限らない。また、一方の記憶装置10、11は、正常終了するかも知れない。

0055

メモリ不足82とは、書き込みコマンドの場合には、ディレクトリ項目情報30−7あるいはリスト項目制御情報40−10,40−20を書き込む際、空きの項目がないため、書き込み処理が実行できなかった場合のことである。現用の記憶装置10と待機の記憶装置11のコマンドの実行結果は必ず一致する。

0056

障害83とは、記憶装置10、11が自身のメモリ10−2、11−2をアクセスしたが、アクセスできなかった場合のことである。

0057

図6および図7は、現用の記憶装置10の受信コマンドに対する処理手順を示すフローチャートである。

0058

現用の記憶装置10は、処理装置20ヵ〜22からコマンドを受信したならば、受信したコマンドに対する処理を実行する(ステップ100)。

0059

次に、現用の記憶装置10は、受信したコマンドを待機の記憶装置11に送信する(ステップ101)。そして、現用の記憶装置10のコマンドの実行結果を判定する(ステップ102)。

0060

現用の記憶装置10の実行結果が正常終了またはメモリ不足の場合、現用の記憶装置10は待機の記憶装置11のコマンドの実行結果を待たないで、コマンドの実行結果を処理装置20〜22に送信する(ステップ103)。そして、待機の記憶装置11のコマンドの実行結果を待つ(ステップ104)。

0061

現用の記憶装置10のコマンドの実行結果がメモリ不足の場合(ステップ105)、現用の記憶装置10の実行結果と待機の記憶装置の実行結果が共にメモリ不足となっているかどうかを判定し(ステップ112)、共にメモリ不足となっている場合は、現用の記憶装置10はバッファ10−13にコマンド格納されているかチェックする(ステップ120)。そして、バッファ10−13にコマンドがあれば、ステップ100に戻り、次ののコマンド処理を継続する。バッファ10−13にコマンドがなければ、コマンド受付待ち状態にする(ステップ122)。

0062

待機の記憶装置11のコマンドの実行結果がメモリ不足でない場合には、現用の記憶装置10のコマンドの実行結果と待機の記憶装置11のコマンドの実行結果が一致していないので、待機の記憶装置11で障害が発生したと判定し、待機の記憶装置11をリセットする(ステップ114)。

0063

現用の記憶装置10のコマンドの実行結果が正常終了であった場合(ステップ105)、待機の記憶装置11のコマンドの実行結果が正常終了かどうかを判定する(ステップ106)。

0064

待機の記憶装置11のコマンドの実行結果が正常終了であった場合には、次のコマンドの処理(ステップ120〜122)を実行する。

0065

待機の記憶装置11のコマンドの実行結果が正常終了でなかった場合は、待機の記憶装置11のコマンドの実行結果がタイムアウトかどうかを判定する(ステップ107)。

0066

待機の記憶装置のコマンドの実行結果がタイムアウトであった場合には、待機の記憶装置11は最後までコマンドを実行する(ステップ111)。待機の記憶装置11のコマンドの実行結果がメモリ不足あるいは障害の場合、待機の記憶装置11をリセットする(ステップ110)。

0067

一方、ステップ102において、現用の記憶装置10のコマンドの実行結果がタイムアウトであった場合、現用の記憶装置10は待機の記憶装置11の実行結果を待つ(ステップ130)。そして、待機の記憶装置11の実行結果を判定する(ステップ131)。その結果、待機の記憶装置11の実行結果が正常終了あるいはタイムアウトであった場合、再開テーブル10−14に再開箇所を設定する(ステップ132)。そして、現用の記憶装置10は自身のコマンドの実行結果を処理装置20〜22に送信する(ステップ133)。

0068

ステップ131において、待機の記憶装置11の実行結果がメモリ不足あるいは障害であった場合、待機の記憶装置11に異常が発生したと判定し、待機の記憶装置11をリセットする(ステップ134)。そして、次コマンドの処理(ステップ120〜122)を実行する。

0069

ステップ102において、現用の記憶装置10の実行結果が障害であった場合、現用の記憶装置10は待機の記憶装置11の実行結果を待つ(ステップ140)。そして、現用の記憶装置10は待機の記憶装置11のコマンドの実行結果を処理装置20〜22に送信する(ステップ141)。そして、待機の記憶装置11は現用の記憶装置10をリセットし、待機の記憶装置11を現用に切り替える(ステップ142)。そして、新たに現用となった記憶装置10が次コマンドの処理(ステップ120〜122)を実行する。

0070

ここで、タイムアウトが発生した場合の処理について詳細に記述する。

0071

図8は、タイムアウトの処理を示す説明図である。

0072

ここでは、現用の記憶装置10が2項目を処理した後、タイムアウト81になったが、待機の記憶装置11は3項目を処理した後、タイムアウト81になった場合を示している。

0073

図9は、図8のようなタイムアウト事例における再開テーブル10−14の内容を示す説明図である。これは、現用の記憶装置10のコマンドの実行結果がタイムアウトになった場合に使用するテーブルである。

0074

この再開テーブル10−14は、現用の記憶装置10が待機の記憶装置11の再開箇所を管理するためのテーブルである。再開テーブル10−14には、コマンドの実行結果がタイムアウト81になった場合に、該当するコマンドの識別子、および現用と待機の記憶装置10、11の再開箇所を格納する。

0075

図8の例の場合、コマンドの識別子は“WRITE1”,現用の記憶装置の再開箇所は“3”,待機の記憶装置の再開箇所は“4”とする。

0076

図10は、コマンドの応答情報を示す説明図である。

0077

タイムアウトの場合の応答情報は、コマンド識別子90、応答情報91および再開箇所92から構成される。図8の例の場合、コマンド識別子90には実行中のコマンドを示す識別子“WRITE1”を、応答情報91には“タイムアウト”を、再開箇所92は現用の記憶装置は“3”、待機の記憶装置は“4”を設定する。

0078

図11はコマンドのリトライを示す説明図である。

0079

現用の記憶装置10でタイムアウトが発生すると、処理装置20〜22はタイムアウトの発生したコマンドを再送しなければならない。処理装置20〜22はコマンドに再開箇所を設定し、現用の記憶装置10にコマンドを発行する。

0080

現用の記憶装置10では、最初に受信した時に、すべての書き込みデータをバッファ10−13に格納しておく。

0081

その後、現用の記憶装置10は、再開テーブル10−14を参照することにより、再開箇所92で指定された部分から処理を継続する。更に、現用の記憶装置10は、待機の記憶装置11にコマンドを転送するが、この際、複数の書き込みのデータを送信する場合には、すべての書き込みデータを送信する。

0082

待機の記憶装置10は、すべての書き込みデータをバッファ10−13に格納する。

0083

そして、待機の記憶装置10は、リトライコマンド290を現用の記憶装置10から受信すると、再開テーブル11−14で指定された再開箇所から再開する。その処理が終了すると、応答メッセージ291を現用の記憶装置10に戻す。

0084

このようにして、現用の記憶装置10は処理装置20〜22からコマンドを受信し、その受信コマンドを待機の記憶装置11に転送することによって、待機の記憶装置11と記憶内容を一致させることが可能となる。

0085

次に、記憶装置10、11でキャッシュ構造またはリスト構造の状態遷移が発生すると、これを処理装置20〜22に通知しなければならない。この状態遷移コマンドについて説明する。

0086

図12は、状態遷移コマンドの一致制御処理を示す図である。

0087

状態遷移コマンドは、リスト構造40(40−0,40−1)あるいはキャッシュ構造30(30−0,30−1)で状態遷移が発生した場合に、これを処理装置20〜22に通知するコマンドである。

0088

現用と待機の記憶装置10、11は、受信したコマンドの書き込みや削除など項目の操作時にその実行時をイベントとして発生する。

0089

状態遷移コマンドは、現用の記憶装置10と待機の記憶装置11で同一イベント時に発生するため、状態遷移コマンドが同期して発生するかチェックすることにより、現用と待機の記憶装置10、11が正常に実行しているかチェックする。

0090

このように、一方の記憶装置のみで状態遷移が発生した場合には、状態遷移が発生しなかった記憶装置は、障害が発生したとみなし、リセットする。以下にこの処理手順を説明する。

0091

現用の記憶装置10で状態遷移が発生すると(ステップ300)、現用の記憶装置10は処理装置20〜22に対して状態遷移コマンドを発行する(ステップ301)。そして、一定時間、同一の状態遷移コマンドを待機の記憶装置11から受信するかチェックする(ステップ302)。

0092

現用の記憶装置10がこれを受信すると、待機の記憶装置11は正常と判定するが、一定時間経過しても受信しない場合は(ステップ303)、待機の記憶装置11をリセットする(ステップ304)。

0093

この結果、現用の記憶装置10と待機の記憶装置11は、それぞれ受信したコマンドを実行することにより、メモリの内容を一致することが可能となる。

0094

以上、本発明者によってなされた発明を、前記実施例に基づき具体的に説明したが、本発明は、前記実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能であることは勿論である。

発明の効果

0095

以上説明したように、本発明によれば、処理装置からは現用の記憶装置にのみコマンドを発行し、待機の記憶装置に対しては現用の記憶装置からコマンドを転送させ、それぞれの記憶装置において受信コマンドに対する処理を実行させるようにしたため、二重化記憶装置をホットスタンバイ方式の構成にした場合に、現用の記憶装置のオーバヘッドを小さくすることができる。

0096

同時に、複数の処理装置と現用の記憶装置および待機の記憶装置とをチャンネル装置によって接続した構成であっても、現用の記憶装置と待機の記憶装置の記憶内容を一致させることができる。

図面の簡単な説明

0097

図1本発明を適用した並列計算機システムの実施の形態を示すシステム構成図である。
図2二重化記憶装置のソフトウェア構成を示す図である。
図3現用および待機の記憶装置におけるキャッシュ構造を示す図である。
図4現用および待機の記憶装置におけるリスト構造を示す図である。
図5現用および待機の記憶装置に対するコマンドの実行結果の分類を示す図である。
図6処理装置から受信したコマンドに対する処理手順を示すフローチャートである。
図7図6続きを示すフローチャートである。
図8タイムアウト時の処理を示す説明図である。
図9タイムアウト時の再開テーブルの内容を示す説明図である。
図10タイムアウト時の応答情報を示す説明図である。
図11コマンドのリトライを実行する場合の説明図である。
図12状態遷移コマンドの一致制御処理を示すフローチャートである。

--

0098

10…現用の記憶装置、10−1,11−1,20−1,20−2,20−3…プロセッサ、10−2,11−2,20−2,21−2,22−2…メモリ、10−4,11−4,20−4,21−4,22−4…システム監視装置、10−6,11−6,20−6,21−6,22−6…入出力チャネル、10−11,11−11…コマンド処理部、10−12,11−12…一致制御処理部、10−14,11−14…再開テーブル、11…待機の記憶装置、20〜22…処理装置。

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ