JP3545252B2 - 情報処理装置 - Google Patents
情報処理装置 Download PDFInfo
- Publication number
- JP3545252B2 JP3545252B2 JP08745699A JP8745699A JP3545252B2 JP 3545252 B2 JP3545252 B2 JP 3545252B2 JP 08745699 A JP08745699 A JP 08745699A JP 8745699 A JP8745699 A JP 8745699A JP 3545252 B2 JP3545252 B2 JP 3545252B2
- Authority
- JP
- Japan
- Prior art keywords
- storage device
- storage
- failure
- cpu
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2097—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements maintaining the standby controller/processing unit updated
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2056—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant by mirroring
- G06F11/2069—Management of state, configuration or failover
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/461—Saving or restoring of program or task context
- G06F9/462—Saving or restoring of program or task context with multiple register sets
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4812—Task transfer initiation or dispatching by interrupt, e.g. masked
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/485—Task life-cycle, e.g. stopping, restarting, resuming execution
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/481—Exception handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Hardware Redundancy (AREA)
- Multi Processors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Description
【発明の属する技術分野】
本発明は情報処理装置に関し、特に、少なくとも1つのCPUを有する複数のノードと、多重化された複数の記憶装置とを有する情報処理装置に関する。
【0002】
【従来の技術】
CPU(Central Processing Unit)およびメモリを具備した複数のノードと、記憶装置とが相互に接続されて構成される情報処理装置においては、信頼性を高めるために記憶装置が二重化される場合が多かった。
【0003】
即ち、同一の内容が記憶された2台の記憶装置が複数のノードと相互に接続されており、これら記憶装置の何れか一方を現用系として使用し、現用系の記憶装置に障害が発生した場合には他方の記憶装置(待機系)を現用系に切り換えることにより、記憶装置の故障に起因するトラブルを未然に防ぐことができる。
【0004】
【発明が解決しようとする課題】
しかしながら、2台の記憶装置の何れか一方が故障した場合には、修理が完了するまで待機系が存在しない状態での運用を強いられることになる。その結果、そのような場合には装置の信頼性の低下を招くという問題点があった。
【0005】
そこで、記憶装置の多重度を上げることも考えられるが、従来の二重化された記憶装置を用いる方法では、故障が発生した場合には他の記憶装置を単に選択するという方法が用いられていたので、このような方法を単純に拡張しただけでは、三重以上の多重度を達成することができないという問題点もあった。
【0006】
本発明はこのような点に鑑みてなされたものであり、情報処理装置に使用される記憶装置の多重度を上げ、装置の信頼性を更に向上させることを目的とする。
【0007】
【課題を解決するための手段】
本発明では上記課題を解決するために、図1に示す、少なくとも1つのCPUを有する複数のノード1,2と、多重化された複数の記憶装置10〜13とを有する情報処理装置において、前記複数の記憶装置は、同一の情報を記憶した1ペアの記憶装置が複数ペア集まって構成されており、前記多重化された記憶装置10〜13のそれぞれが現用系、待機系、または、未接続の何れかであることを示す情報を記憶する各CPU毎に設けられた記憶手段(制御レジスタ1c,1d,2c,2d)と、前記記憶手段に記憶された前記情報に応じて、前記記憶装置にアクセスするアクセス手段(CPU1a,1b,2a,2b)と、前記多重化された各記憶装置において故障が発生したことを検知する故障検知手段(制御装置4〜7)と、前記故障検知手段によって故障の発生が検知された場合であって、前記CPUからアクセスが発生した場合には、そのCPUに対して故障の発生を通知する故障通知手段(制御装置4〜7)と、前記故障通知手段によってあるペアの現用系における故障の発生が通知された場合には、所定の規則に応じて、前記記憶手段に記憶されている前記情報を更新し、他のペアの待機系を優先して現用系に変更する更新手段(CPU1a,1b,2a,2b)と、を有することを特徴とする情報処理装置が提供される。
【0008】
ここで、記憶手段(制御レジスタ1c,1d,2c,2d)は、各CPU毎に設けられており、多重化された記憶装置10〜13のそれぞれが現用系、待機系、または、未接続の何れかであることを示す情報を記憶する。アクセス手段(CPU1a,1b,2a,2b)は、記憶手段に記憶された情報に応じて、記憶装置にアクセスする。故障検知手段(制御装置4〜7)は、多重化された各記憶装置において故障が発生したことを検知する。故障通知手段(制御装置4〜7)は、故障検知手段によって故障の発生が検知された場合であって、CPUからアクセスが発生した場合には、そのCPUに対して故障の発生を通知する。更新手段(CPU1a,1b,2a,2b)は、故障通知手段によってあるペアの現用系における故障の発生が通知された場合には、所定の規則に応じて、記憶手段に記憶されている情報を更新し、他のペアの待機系を優先して現用系に変更する。
【0009】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照して説明する。
図1は、本発明の実施の形態の構成例を示すブロック図である。この図に示すように、本発明に係る情報処理装置は、ノード1,2および制御装置4〜7がバス3によって相互に接続されて構成されている。また、制御装置4〜7には、記憶装置10〜13が接続されている。
【0010】
次に、各部の詳細な構成について説明する。先ず、ノードについて説明する。なお、ノード1,2は、同様の構成とされているので、以下ではノード1についてのみ説明を行う。
【0011】
ノード1は、CPU1a,1b、メモリ1e、および、制御レジスタ1c,1dによって構成されている。CPU1a,1bは、記憶装置10〜13に格納されているプログラムやデータ等を制御装置4〜7およびバス3を介して読み込み、メモリ1eに一旦格納した後、このプログラムに従って各種処理を実行する。
【0012】
メモリ1eは、半導体メモリによって構成されており、CPU1a,1bが実行する基本的なプログラム(例えば、IPL(Initial Program Loader))やデータを記憶しており、また、記憶装置10〜13から読み込まれたプログラム等を一時的に格納する。
【0013】
制御レジスタ1c,1dは、記憶装置10〜13に関する情報を保持している。図2は、制御レジスタ1c,1dの概要を説明する図である。この図に示すように、制御レジスタは、B0〜B5の6ビットによって構成されており、上位4ビットが記憶装置の接続状況を示す接続情報とされており、下位2ビットが現用系の記憶装置を示す現用系情報とされている。
【0014】
接続情報は、ビットB5〜B2のそれぞれが記憶装置10〜13に対応しており、このビットが“0”である場合には、その記憶装置が未接続状態であることを示す。この例では、ビットB5〜B3の全てが“1”の状態となっているので、記憶装置10〜12は全て接続状態であることが分かる。
【0015】
また、現用系情報は、ビットB0をLSB(Least Significant Bit)とした場合に、これらの2ビットによって表される値(10進法では値0〜3)に対応する記憶装置(符号の下1桁が一致する記憶装置)が現用系となる。この図の例では、ビットB1,B0が“00”であるので、記憶装置10が現用系として選択されている。なお、“01”,“10”,“11”の場合には、それぞれ記憶装置11,12,13がそれぞれ現用系として設定されていることを示す。
【0016】
図1に戻って、バス3は、ノード1,2および制御装置4〜7を相互に結合し、これらの間で情報の授受を可能とする。
制御装置4〜7は、記憶装置10〜13に対するデータの読み書きを制御するとともに、記憶装置が故障した場合にはその旨をノード1,2に通知する。
【0017】
図3は、制御装置4の詳細な構成例を示す図である。なお、制御装置4〜7は同様の構成とされているので、制御装置5〜7についての説明は省略する。
制御装置4は、R/W(Read/Write)制御部4a、故障検知部4b、および、故障通知部4cによって構成されている。R/W制御部4aは、ノード1,2から記憶装置10に対するデータの書き込みまたは読み出しを行う場合の制御処理を行う。
【0018】
故障検知部4bは、記憶装置10において故障が発生した場合には、それを検知する。
故障通知部4cは、故障検知部4bによって故障が検知された場合には、他の制御装置5〜7に対してその旨を通知する。
【0019】
記憶装置10〜13は、例えば、半導体メモリ等によって構成されており、制御装置4〜7の制御に応じて、データを所定の領域に書き込んだり、所定の領域からデータを読み出す。
【0020】
なお、記憶装置10〜13は、記憶装置10,11が1つのペアを構成しており、これらの記憶内容は一致している。また、記憶装置12,13も同様にペアを構成しており、これらの記憶内容も一致している。なお、記憶装置10,11と記憶装置12,13が記憶する内容には一部異なる部分が含まれている。なお、以下では、記憶装置10,11および記憶装置12,13によって構成されるそれぞれのペアをセットと呼び、記憶装置10,11によるセットを下位セット、記憶装置12,13によって構成されるセットを上位セットと呼ぶ。
【0021】
次に、図4を参照して、以上の実施の形態の動作について説明する。
図4は、図1に示す情報処理装置が起動された場合に実行される起動処理の一例を説明するフローチャートである。なお、この処理は、情報処理装置が起動された場合において、最初に起動したCPUによって実行される。以下では、CPU1aが最初に起動したとして説明を行う。
[S1]CPU1aは、自ノードに接続可能な記憶装置を検出する。なお、この処理は、CPU1aが所定のコマンドを実行することにより行う。
[S2]CPU1aは、ステップS1における検出結果に対応する変換値を、メモリ1eに格納されているテーブルから取得する。
【0022】
図5は、このテーブルの一例を示す図である。この図では、記憶装置10〜13が「接続可」および「接続不可」である場合に、それぞれの状態に対応する変換値と新現用系の記憶装置が示されている。例えば、第1行目の例では、記憶装置10〜13は、全て「接続可」であり、変換値(記憶装置10〜13のそれぞれの接続可能状態を、接続可を“1”接続不可を“0”によって表した値)は“1111”であり、また、新現用系の記憶装置は、記憶装置10であることが分かる。
【0023】
なお、新現用系を選択する規則は、次の通りである。即ち、下位セットから上位セットに順に見ていった場合に、最初に現れる、双方が「接続可」状態であるセットを選択する。そして、そのセットを構成する記憶装置の下位側(記憶装置10を下位側、記憶装置13を上位側とする)の記憶装置を現用系として選択する。また、双方が接続可であるセットが存在しない場合には、下位側から上位側に向けて見ていき、下位側の記憶装置が「接続可」であるセットが存在する場合には、その記憶装置を現用系とする。なお、下位側が「接続可」となっているセットが見つからなかった場合には上位側から下位側に見ていき、上位側が「接続可」となっているセットが存在する場合にはその記憶装置を現用系とする。
【0024】
なお、双方が「接続可」となっているセットを優先して選択するのは、前述したように各セットの記憶内容は一部異なっているので、一方の記憶装置が故障しているセットが現用系として選択された場合において、他方の記憶装置も故障した場合には異なる部分の情報が全て消去されることになるので、それを防止するためである。
[S3]CPU1aは、取得した変換値をオフセット値とした場合に指定される所定のアドレスから、現用系を示す記憶装置を特定するための情報を取得する。
【0025】
例えば、変換値が“1111”である場合には、その値に所定のベースアドレスの値を加算して得られたアドレス値に対応するアドレスに格納されている情報である“00”(即ち、記憶装置10)が得られることになるので、新たな現用系としては記憶装置10が選択されることになる。
[S4]CPU1aは、得られた変換値を制御レジスタ1cに接続情報として格納するとともに、新たな現用系を示す情報を現用系情報として格納する。
[S5]CPU1aは、制御レジスタ1cの内容をバス3を介して、接続されている全ての記憶装置の所定の領域に対して書き込む。
【0026】
以上のような処理によれば、装置が起動された場合には、最初に起動したCPUが前述のような処理を実行して記憶装置の接続状況を検出するとともに、現用系の記憶装置を決定する。そして、得られたこれらの値(レジスタの値)は、接続状態にある全ての記憶装置の所定の領域に書き込まれることになる。その後、他のCPUが起動した場合には、記憶装置に書き込まれた情報を取得して自己のレジスタに格納するので、全てのCPUが起動した時点で、それぞれの制御レジスタに格納されている内容は同一となる。
【0027】
次に、図6を参照して、記憶装置が故障が発生した場合における処理の一例について説明する。なお、この処理は、記憶装置に対してアクセスを行った場合に、制御装置から故障が発生したことが通知された場合に実行される処理である。
【0028】
即ち、何れかの記憶装置において故障が発生した場合には、その記憶装置に対応する制御装置の故障検知部(図3参照)がこれを検知し、故障通知部が故障が発生したことを全ての制御装置に通知する。その結果、CPUのアクセスがデータの読み出し、または、書き込みの何れかに拘わらず、故障の発生が通知される。故障が通知されると、CPUは、図6に示す処理を実行する。
【0029】
なお、故障通知部を有している理由は次の通りである。即ち、CPUから記憶装置への書き込み動作は、接続されている全ての記憶装置に対して実行されるので、接続状態である記憶装置の何れかが故障状態となった場合でもCPUはこれを検知することができる。
【0030】
しかし、記憶装置からCPUへの読み込み動作は、現用系の記憶装置だけを対象として実行されるので、現用系以外の記憶装置が故障している場合には、CPUはこれを検知することができない。そこで、そのような場合にも故障を検出することが可能なように、何れかの記憶装置において故障が発生した場合には、他の記憶装置に対しても故障の発生を通知する故障通知部が具備されている。
【0031】
図6に示すフローチャートが開始されると、以下の処理が実行される。なお、以下の処理もCPU1aを例に挙げて説明する。
[S10]CPU1aは、故障が発生した記憶装置を未接続の状態にする。
[S11]CPU1aは、制御レジスタ1cの接続情報を変数Rに格納する。
[S12]CPU1aは、故障が発生した記憶装置に対応するビットを“0”に変更する。
【0032】
例えば、現在、接続情報が“1111”である場合に、記憶装置10が故障した場合には、変更後の接続情報は“0111”になる。
[S13]CPU1aは、変更後の接続情報を参照し、接続状態の記憶装置が存在するか否かを判定し、接続状態の記憶装置が存在している場合にはステップS15に進み、それ以外の場合にはステップS14に進む。即ち、接続情報の全てのビットが“0”である場合にはステップS14に進み、それ以外の場合にはステップS15に進む。
[S14]CPU1aは、継続して動作することが不可能であるとして、動作を停止する処理を行う。
[S15]CPU1aは、制御レジスタ1cの現用系情報を参照して、故障した記憶装置が現用系として設定されているか否かを判定し、現用系である場合にはステップS16に進み、それ以外の場合には処理を終了する。
[S16]CPU1aは、記憶装置の接続状態に対応した変換値をテーブルから取得する。
【0033】
図7は、記憶装置の接続状態と、変換値および新現用系記憶装置の対応関係を示す図である。この図では、記憶装置10〜13の接続状態と、それぞれの接続状態における変換値と新現用系記憶装置とが示されている。例えば、記憶装置10〜12が全て「接続」であり、記憶装置13が「未接続」である場合には、変換値は“1110”であり、また、新現用系記憶装置は記憶装置12であることが示されている。なお、現用系の選択方法は、次に示す規則に基づいて決定されている。
(1)現用系記憶装置で故障が発生しない限り、現用系の変更は行わない。
(2)現用系記憶装置において故障が発生した場合には、現用系の移動は下位セットから上位セットへの移動を基本とする。
(3)上位セットの何れの記憶装置も未接続状態である場合に限り上位セットから下位セットへの現用系の移動を認める。
(4)セット内の何れの記憶装置も接続状態にある場合には、偶数の番号を有する記憶装置を現用系とする。
[S17]CPU1aは、新たに現用系となる記憶装置をステップS16において取得した変換値を参照して図7に示すテーブルから特定する。
[S18]CPU1aは、ステップS16において取得した変換値を制御レジスタ1cに接続情報として格納するとともに、ステップS17において取得した情報を現用系情報として格納する。
【0034】
このような処理は、各CPUが記憶装置に対してアクセスを行った場合に実行されるので、全てのCPUが記憶装置に対してアクセスを実行した場合には、各制御レジスタに格納されている内容は同一となり、現用系の切り換えが完了する。
【0035】
このように、個々のCPUが記憶装置にアクセスした時点において、各CPUの制御レジスタに格納されている内容を変更するとともに、現用系の切り換えを実行するので、例えば、あるCPUが以上のような処理を実行中に他の記憶装置が故障したような場合においても、各CPUがアクセスした時点で同様の処理が繰り返されるので、誤った現用系に対してアクセスすることを防止することが可能となる。
【0036】
図8は、記憶装置が次々と故障した場合における以上の処理による現用系の選択の様子を示す図である。なお、この図において、“L”は現用系であることを示している。また、“○”は接続状態であることを示し、“×”は未接続状態であることを示している。
【0037】
先ず、初期状態として“L○○○”であった場合に、記憶装置10が故障したとすると、記憶装置の状態は“×○○○”となるので、図7の8行目に示すように、現用系として記憶装置12が選択されて“×○L○”となる。
【0038】
次に、2台目として記憶装置11が故障した場合には、“××○○”となり、図7の12行目に示すように、記憶装置12が選択されて“××L○”となる。
続いて、3台目として記憶装置12が故障した場合には、“×××○”となり、図7の14行目に示すように、記憶装置13が選択されて“×××L”となる。
【0039】
その他の場合も、図8に示すように状態が遷移することになる。
このように、どのような順序で記憶装置が故障した場合においても、現用系となる記憶装置を一意に決定することが可能となる。
【0040】
また、同一の処理に基づいて、全てのCPUが動作することから、装置全体で現用系を統一することが可能となる。
次に、図9を参照して、新たな記憶装置が接続された場合における処理について説明する。図9は、新たな記憶装置を接続するコマンドを図示せぬ入力装置から受け取ったCPUが実行する処理である。なお、入力装置から入力されたコマンドは、適当なノードに対して割り込み処理によって受け渡しが行われ、そのノードの何れかのCPUが実行することになる。このフローチャートが開始されると、以下の処理が実行される。なお、以下では、CPU1aを例に挙げて説明を行う。
[S20]CPU1aは、制御レジスタ1cの接続情報を変数Rに代入する。
[S21]CPU1aは、新たに接続する記憶装置に対応するRのビットを“1”に設定する。
[S22]CPU1aは、変数Rの内容を制御レジスタ1cに接続情報として格納する。
[S23]CPU1aは、変数Rの内容を他のCPUに対して通知し、それぞれのCPUの制御レジスタに接続情報として設定させる。
【0041】
なお、CPU1aは、同一のノード内にあるCPU1bに対しては、メモリ1eを介して通知し、それ以外のCPU2a,2bに対しては、図示せぬ通信用のバスを介して通知する。
[S24]CPU1aは、新たに接続された記憶装置に対して、現用系の記憶装置の記憶内容を複写する。
[S25]CPU1aは、変数Rの内容を参照して、新たに現用系となる記憶装置を特定する。
【0042】
即ち、CPU1aは、図5に示すテーブルを参照し、変数Rの値に対応する現用系の記憶装置を特定する。なお、図5に示すテーブルは、記憶装置10〜13の4台が接続されている場合に対応しているが、例えば、4台から6台に増加するような場合には6台にも対応するテーブルを別途用意しておく必要がある。なお、このようなテーブルは前述した規則を用いることにより簡単に作成することができる。
[S26]CPU1aは、ステップS25において得られた値を制御レジスタ1cに現用系情報として設定する。
[S27]CPU1aは、ステップS25において得られた値を他のCPUに通知し、各CPUの制御レジスタに現用系情報として設定させる。
【0043】
なお、この場合の通知方法も、ステップS23において説明した場合と同様である。
以上の処理によれば、記憶装置を新たに接続した場合においても、現用系を確実に設定することが可能となる。
【0044】
以上の実施の形態においては、2つのCPUを有する2つのノードと、4台の記憶装置10〜13が接続されている場合を例に挙げて説明したが、本発明はこのような場合にのみ限定されるものではない。
【0045】
また、それぞれの記憶装置に対して制御装置を1つずつ具備するようにしたが、これらを統一して1つの制御装置にしてもよい。
【0046】
【発明の効果】
以上説明したように本発明では、少なくとも1つのCPUを有する複数のノードと、多重化された記憶装置とを有する情報処理装置において、多重化された記憶装置のそれぞれが現用系、待機系、または、未接続の何れかであることを示す情報を記憶する各CPU毎に設けられた記憶手段と、記憶手段に記憶された情報に応じて、記憶装置にアクセスするアクセス手段と、多重化された各記憶装置において故障が発生したことを検知する故障検知手段と、故障検知手段によって故障の発生が検知された場合であって、CPUからアクセスが発生した場合には、そのCPUに対して故障の発生を通知する故障通知手段と、故障通知手段によって故障の発生が通知された場合には、所定の規則に応じて、記憶手段に記憶されている情報を更新する更新手段と、を有するようにしたので、情報処理装置の信頼性を向上させることが可能となる。
【図面の簡単な説明】
【図1】本発明の実施の形態の構成例を示すブロック図である。
【図2】図1に示す制御レジスタの概要を示す図である。
【図3】図1に示す制御手段の詳細な構成例を示すブロック図である。
【図4】図1に示す装置が起動された場合に、最初に起動したCPUが実行するプログラムの一例を説明するフローチャートである。
【図5】図4に示すフローチャートにおいて参照される現用系の記憶装置を決定するためのテーブルの一例である。
【図6】記憶装置が故障した場合に、CPUが記憶装置に対してアクセスした場合に実行される処理の一例を説明するフローチャートである。
【図7】図6および図9に示すフローチャートにおいて参照される現用系の記憶装置を決定するためのテーブルの一例である。
【図8】3台の記憶装置が順次故障した場合における、現用系記憶装置が選択される様子を示す図である。
【図9】新たに記憶装置が接続された場合に実行される処理の一例を説明するフローチャートである。
【符号の説明】
1,2 ノード
1a,1b CPU
1c,1d 制御レジスタ
1e メモリ
2a,2b CPU
2c,2d 制御レジスタ
2e メモリ
3 バス
4〜7 制御装置
10〜13 記憶装置
Claims (5)
- 少なくとも1つのCPUを有する複数のノードと、多重化された複数の記憶装置とを有する情報処理装置において、
前記複数の記憶装置は、同一の情報を記憶した1ペアの記憶装置が複数ペア集まって構成されており、
前記多重化された記憶装置のそれぞれが現用系、待機系、または、未接続の何れかであることを示す情報を記憶する各CPU毎に設けられた記憶手段と、
前記記憶手段に記憶された前記情報に応じて、前記記憶装置にアクセスするアクセス手段と、
前記多重化された各記憶装置において故障が発生したことを検知する故障検知手段と、
前記故障検知手段によって故障の発生が検知された場合であって、前記CPUからアクセスが発生した場合には、そのCPUに対して故障の発生を通知する故障通知手段と、
前記故障通知手段によってあるペアの現用系における故障の発生が通知された場合には、所定の規則に応じて、前記記憶手段に記憶されている前記情報を更新し、他のペアの待機系を優先して現用系に変更する更新手段と、
を有することを特徴とする情報処理装置。 - 前記更新手段は、故障が発生した記憶装置が現用系である場合にのみ、待機系を現用系に変更することを特徴とする請求項1記載の情報処理装置。
- 前記更新手段は、前記所定の規則が記述されたテーブルに従って、前記記憶手段に記憶されている前記情報を更新することを特徴とする請求項1記載の情報処理装置。
- 装置が起動された場合には、前記記憶手段に記憶されている情報を所定の規則に従って設定する起動時設定手段を更に有し、
前記起動時設定手段は、双方の記憶手段が未接続でないペアが存在する場合には、そのペアを優先して選択し、そのペアの何れか一方を現用系として設定することを特徴とする請求項1記載の情報処理装置。 - 新たな記憶装置が接続状態にされた場合には、前記記憶手段に記憶されている情報を所定の規則に従って設定する接続時設定手段を更に有し、
前記接続時設定手段は、双方の記憶手段が未接続でないペアが存在する場合には、そのペアを優先して選択し、そのペアの何れか一方を現用系として設定することを特徴とする請求項1記載の情報処理装置。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP08745699A JP3545252B2 (ja) | 1999-03-30 | 1999-03-30 | 情報処理装置 |
| US09/452,092 US6745341B1 (en) | 1999-03-30 | 1999-11-30 | Information processing apparatus having fault detection for multiplex storage devices |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP08745699A JP3545252B2 (ja) | 1999-03-30 | 1999-03-30 | 情報処理装置 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2000285030A JP2000285030A (ja) | 2000-10-13 |
| JP3545252B2 true JP3545252B2 (ja) | 2004-07-21 |
Family
ID=13915378
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP08745699A Expired - Fee Related JP3545252B2 (ja) | 1999-03-30 | 1999-03-30 | 情報処理装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US6745341B1 (ja) |
| JP (1) | JP3545252B2 (ja) |
Families Citing this family (12)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3293125B2 (ja) * | 1998-07-24 | 2002-06-17 | 日本電気株式会社 | オンチップマルチプロセッサシステムにおける初期設定・診断方式 |
| JP3545252B2 (ja) | 1999-03-30 | 2004-07-21 | 富士通株式会社 | 情報処理装置 |
| KR100553145B1 (ko) * | 2001-02-24 | 2006-02-22 | 인터내셔널 비지네스 머신즈 코포레이션 | 고장 발생 시 완전한 성능을 유지하는 컴퓨터 파일 시스템, 컴퓨터 파일 시스템을 포함하는 컴퓨터 시스템, 컴퓨터 파일 서버의 유지 방법, 컴퓨터 파일 시스템의 완전한 성능을 유지하기 위한 프로그램을 수록한 컴퓨터 판독 가능한 기록 매체 및 프로그램 스토리지 디바이스 |
| US8180871B2 (en) | 2001-05-23 | 2012-05-15 | International Business Machines Corporation | Dynamic redeployment of services in a computing network |
| US7111066B2 (en) * | 2002-03-27 | 2006-09-19 | Motorola, Inc. | Method of operating a storage device |
| US6925541B2 (en) * | 2002-06-12 | 2005-08-02 | Hitachi, Ltd. | Method and apparatus for managing replication volumes |
| US20040181707A1 (en) * | 2003-03-11 | 2004-09-16 | Hitachi, Ltd. | Method and apparatus for seamless management for disaster recovery |
| JP2007094578A (ja) * | 2005-09-27 | 2007-04-12 | Fujitsu Ltd | ストレージシステム及びその構成部品交換処理方法 |
| JP5096799B2 (ja) * | 2007-05-29 | 2012-12-12 | 株式会社野村総合研究所 | クラスタシステム、計算機、および障害対処方法 |
| JP5949408B2 (ja) * | 2012-10-02 | 2016-07-06 | 富士通株式会社 | 情報処理装置、情報処理装置の制御方法および情報処理装置の制御プログラム |
| US9430150B2 (en) * | 2013-01-28 | 2016-08-30 | Dell Products, Lp | Power control for data storage devices and method therefor |
| CN110612487A (zh) * | 2017-05-10 | 2019-12-24 | 三菱电机株式会社 | 控制装置以及替代选出程序 |
Family Cites Families (6)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB1344474A (en) * | 1971-03-04 | 1974-01-23 | Plessey Co Ltd | Fault detection and handling arrangements for use in data proces sing systems |
| JPS5870495A (ja) | 1981-10-22 | 1983-04-26 | Nec Corp | 多重化記憶装置の制御装置 |
| JP2514208B2 (ja) * | 1987-07-15 | 1996-07-10 | 富士通株式会社 | ホットスタンドバイメモリ−コピ−方式 |
| US5761413A (en) * | 1987-12-22 | 1998-06-02 | Sun Microsystems, Inc. | Fault containment system for multiprocessor with shared memory |
| US6038680A (en) * | 1996-12-11 | 2000-03-14 | Compaq Computer Corporation | Failover memory for a computer system |
| JP3545252B2 (ja) | 1999-03-30 | 2004-07-21 | 富士通株式会社 | 情報処理装置 |
-
1999
- 1999-03-30 JP JP08745699A patent/JP3545252B2/ja not_active Expired - Fee Related
- 1999-11-30 US US09/452,092 patent/US6745341B1/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2000285030A (ja) | 2000-10-13 |
| US6745341B1 (en) | 2004-06-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP3545252B2 (ja) | 情報処理装置 | |
| KR100201796B1 (ko) | 데이타를 네트워크 노드에 다운로딩하는 방법 및 시스템 | |
| US6237108B1 (en) | Multiprocessor system having redundant shared memory configuration | |
| CN112199240A (zh) | 一种节点故障时进行节点切换的方法及相关设备 | |
| WO1993015462A1 (fr) | Controleur de memoire | |
| US7644263B2 (en) | Storage control system and boot control system | |
| US6654880B1 (en) | Method and apparatus for reducing system down time by restarting system using a primary memory before dumping contents of a standby memory to external storage | |
| JP2687927B2 (ja) | 外部バスの障害検出方法 | |
| JP2875842B2 (ja) | プログラマブルコントローラ | |
| JP5233869B2 (ja) | 処理システム及び処理装置が実行するプログラムの実行方法 | |
| JP2000293376A (ja) | ブートプログラムの切替回路及び切替方法 | |
| JP5929420B2 (ja) | 演算処理装置、演算処理装置の制御方法及び情報処理装置 | |
| JP2001290704A (ja) | マルチプロセス制御装置及びマルチプロセス制御方法 | |
| JP3547208B2 (ja) | マルチプロセッサシステム及びその構成方法 | |
| JP4066950B2 (ja) | コンピュータシステムおよびその保守方法 | |
| JPH1013494A (ja) | 伝送装置及びその復旧方式 | |
| JPH06103056A (ja) | アドレス制御装置 | |
| JPH0863406A (ja) | メモリアクセス制御装置 | |
| JPH09307574A (ja) | 二重化コントローラ用ネットワークシステム | |
| JP2005128629A (ja) | データベースの更新方式 | |
| WO2015025343A1 (ja) | 電子回路、情報処理装置、及びメモリ制御方法 | |
| KR100675136B1 (ko) | 엠엠유를 이용한 운영체제 기반 이중화 방법 | |
| WO2004079573A1 (ja) | マルチプロセッサシステム | |
| JPH1031629A (ja) | メモリの故障検出方法 | |
| JPH0713874A (ja) | 多重化記憶システム |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040203 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040406 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040407 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080416 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090416 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100416 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110416 Year of fee payment: 7 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120416 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130416 Year of fee payment: 9 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140416 Year of fee payment: 10 |
|
| LAPS | Cancellation because of no payment of annual fees |