JP3180737B2 - システムの冗長化方法 - Google Patents

システムの冗長化方法

Info

Publication number
JP3180737B2
JP3180737B2 JP29747297A JP29747297A JP3180737B2 JP 3180737 B2 JP3180737 B2 JP 3180737B2 JP 29747297 A JP29747297 A JP 29747297A JP 29747297 A JP29747297 A JP 29747297A JP 3180737 B2 JP3180737 B2 JP 3180737B2
Authority
JP
Japan
Prior art keywords
error
module
cpu
output
detected
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
Application number
JP29747297A
Other languages
English (en)
Other versions
JPH11134210A (ja
Inventor
晋司 渡部
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP29747297A priority Critical patent/JP3180737B2/ja
Publication of JPH11134210A publication Critical patent/JPH11134210A/ja
Application granted granted Critical
Publication of JP3180737B2 publication Critical patent/JP3180737B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Landscapes

  • Hardware Redundancy (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システムの冗長化
方法に関し、特に耐故障性を強化したシステムの冗長化
方法に関する。
【0002】
【従来の技術】従来、情報処理装置を構成するモジュー
ルの何れか1つに障害が発生した場合、システムとして
機能しなくなり、情報処理装置全体が動作できなくな
る。そのため情報処理装置を構成する各モジュールを二
重化するか、または三重化して多数決をとる冗長構成に
することにより、1つのモジュールに障害が発生した場
合でも、冗長化した他のモジュールが動作し続けること
によって、情報処理装置全体には影響を与えることなく
動作し続けることができる。例えば、特開平7−209
94に示されるように、バス、およびバスに接続される
モジュールを二重化し、障害時には二重化された、もう
一方のモジュールが動作し続けることにより、耐故障性
を備えた情報処理装置となっている。
【0003】図9は従来例の基本構成を示す概念図であ
る。ホストアダプタ部901は対上位CPU(ホスト)
接続論理モジュールであり、ディスクアダプタ部902
は対記憶媒体接続用論理モジュールであるディスクアダ
プタ部、キャッシュメモリパッケージ903は両モジェ
ール間で転送されるデータを一時記憶するキャッシュメ
モリ装置(キャッシュメモリモジュール)、コモンバス
904はホストアダプタ901,ディスクアダプタ90
2,キャッシュメモリパッケージ903の間のデータ転
送制御を司り、アレイディスク905は縦横にアレイ状
に配置した記憶媒体である。
【0004】ホストアダプタ901は、上位インタフェ
ース側のデータ形式、およびアドレス形式を記憶媒体イ
ンタフェース用のデータ形式及びアドレス形式に変化す
る手段と、これらを制御管理するマイクロプロセッサ
有している。ディスクアダプタ902は、記憶媒体ヘデ
ータを格納するためのアドレス演算機能と、記憶データ
保証用冗長データの生成機能と、記憶媒体構成情報を認
識する機能と、これらを制御管理するマイクロプロセッ
サを有している。
【0005】図10は従来例の装置各モジュールにおけ
る多重化と縮退運転を示した図である。921は2ポー
ト化されたチャネルパスであり、ホストアダプタ901
にはチャネルパスアダプタ929が2モジュール、対上
位用チャネルパスが4パス実装しており、障害発生時は
交替チャネルアダブタ(CHP)、交替チャネルパスを
使用して縮退運転に入る。
【0006】SCSIパス922はディスクアダプタ9
02とアレイディスク905の間のインタフェースを司
るパスで、1行の磁気ディスク群に対して別のディスク
アダプタ902からもアクセス可能なように二重化して
おり、当パスに障害が発生した場合は交替SCSIパス
を使用して縮退運転に入る。
【0007】また、アレイディスクマスタの制御を行う
DMP992も二重化しており、障害発生時は交替DM
P992を使用して縮退運転に入る。共有メモリ91
8、キャッシュメモリ920も二重化しており、共有メ
モリに障害が発生した場合は残るもう一方を使用して縮
退運転に入り、キャッシュメモリに障害が発生した場合
はライトベンディングデータをディスクにデステージ
し、障害発生キャッシュメモリを除いたキャッシュメモ
リで縮退運転を行う。アレイディスク905上の磁気デ
ィスクに障害が発生した場合は、当該磁気ディスクを切
り離し、予備の磁気ディスクに修復しながら読み出し書
き込みの動作を行う。
【0008】
【発明が解決しようとする課題】上述した従来の技術に
おいては、情報処理装置内で耐故障性を高めるために二
重化された各モジュールは、モジュール内の一部の機能
に障害が発生した場合であっても、障害の発生したモジ
ュールをシステム全体から切り離し、障害の発生してい
ない他方のモジュールのみのシンプレックス状態で動作
を続けていた。
【0009】そのため、障害モジュールの交換までに必
要な時間に比例してシンプレックス動作しているモジュ
ールにも障害が発生してシステムダウンという結果にな
る可能性が増大するという問題があった。
【0010】通常、耐故障性を高めた情報処理装置にお
いては、信頼性を重要視されるクリティカルな業務に使
用される場合が殆どであり、一瞬のシステムダウンも許
されない。そのため故障しているモジュールも活線挿抜
でオンライン状態において交換可能である。しかし従来
技術においては、例え二重化構成であっても一方のモジ
ュールに障害が発生してシステムから切り離されている
間は、単純にモジュールの故障率に等しいシステムダウ
ンの危険性があり、故障したモジュールの交換はサービ
ス拠点より交換モジュールを取り寄せる時間も必要であ
り、許されないシステムダウンの可能性を増大させてい
た。
【0011】本発明の目的は、各モジュールを冗長化し
て耐故障性を高めたシステムにおいて、何れかのモジュ
ールが故障した場合にも、システムダウンの可能性を最
小限にして、より信頼性の高い冗長化方法を提供するこ
とである。
【0012】
【課題を解決するための手段】本発明の冗長化方法が適
用されたシステムは、各モジュールを冗長化して耐故障
性を高めたシステムにおいて、何れかのモジュールが故
障した場合にもシステムダウンの可能性を最小限にし
て、より信頼性の高いシステムを可能にする。
【0013】より具体的には、システムを構成する各モ
ジュールを二重化(図1の19,20)、またはモジュ
ールを三重化(図6の601,602,603)して多
数決をとることにより、耐故障性を備えたシステムのモ
ジュール内の同一機能内の要素を複数に分割してブロッ
ク化するか、または同一機能の要素を複数備えて、エラ
ー発生時にエラー発生の箇所を切り離し、縮退して動作
継続が可能な構成要素(図1の1,2,3,4,7,
8,11,12)と、その構成要素のエラーを検出する
と共に、構成要素内の複数に分割された何れのブロッ
ク、または複数ある同一機能の前記構成要素の中で何れ
の構成要素でエラーが検出されたかを判定して、そのエ
ラー情報を出力するエラー検出回路(図1の5,6,
9,10,13,14)と、エラー検出回路のエラー情
報出力より自モジュール内にエラーが検出されたことを
通知された場合は、自モジュール内のエラー発生部所を
切除して他の正常な機能要素に切り換え、同時に冗長化
された全ての他モジュールに自モジュール内で検出され
たエラー情報を通知し、他モジュールで検出されたエラ
ーのエラー情報を受信すると、該エラー情報に従って自
モジュール内の該当部所を切り離して縮退動作するよう
に指示を出す構成制御回路(図1の15,16)とを有
する。
【0014】さらに、エラー検出回路に構成要素内のデ
ータにエラー訂正コードを付与し、構成要素の出力に訂
正可能なエラーが検出された場合、構成要素内のエラー
が発生したデータを修正するエラー訂正回路(図2の2
06)と、構成要素の出力に検出されたエラーが訂正可
能なエラーであればエラー検出されたことを構成制御部
に通知せず、訂正不可能なエラーであればエラーが検出
されたことを構成制御部に通知する訂正不可能エラーチ
ェック回路(図2の205)とを有する。
【0015】本発明のシステムの冗長化方法は、モジュ
ール内の各機能の構成要素を複数にブロック化するか、
または同一機能要素を複数個備えることによって縮退動
作を可能とし、何れかのモジュール内の機能要素に障害
が発生した場合、システムから切り離す単位を障害が発
生した機能要素に局所化して縮退し、更に障害の発生し
ていない他モジュールにも、どの構成要素に障害が発生
したかを通知し、他モジュールも通知された情報に従っ
て障害の発生したモジュールと同一構成に制御すること
により、障害モジュールの交換までの時間の間も以前と
変わらない冗長構成で動作し続けることが可能であり、
障害発生時以降にシングルオペレーションになることに
より起こる可能性のあるシステムダウンすることのない
信頼性の高い冗長化を実現することができる。
【0016】また、上記の構成要素内のデータにエラー
訂正コードを付与し構成要素の出力にエラーが検出され
た場合でも、検出されたエラーが訂正可能な場合はエラ
ー報告を行わず、構成要素内のエラーの発生したデータ
を訂正する。
【0017】検出されたエラーが訂正不可能な場合の
み、エラーが発生した機能要素を切除して縮退し、同時
に他モジュールに通知する。これにより、縮退動作を行
う確率そのものを低くして、より信頼性の高い情報処理
装置を可能にする。
【0018】
【発明の実施の形態】次に、本発明の実施形態を図面を
参照して詳細に説明する。図1は本発明のシステムの冗
長化方法が適用されたシステムの説明用基本ブロック図
である。
【0019】このシステムは、モジュールa19とモジ
ュールb20に二重化した構成である。モジュールa
とモジュールb20は同一の構成要素を備えているた
め、モジュールa19の構成要素を中心に説明する。
【0020】CPUI1とCPUJ2は演算処理を行
い、同一機能を複数個備えたマルチCPU構成になって
いる。一方に障害が発生した場合は、縮退してもう一方
のみで動作可能である。
【0021】CPUエラー検出回路5はCPUI1とC
PUJ2のエラーを検出し、また、CPUI1またはC
PUJ2のどちらにエラーが検出されたかも判定して出
力する。
【0022】図3はCPUI1とCPUJ2とに対する
CPUエラー検出回路5の実施形態の1つである。CP
I1とCPUJ2をエラーチェックのためにそれぞれ
を二重化して、CPUIa301、CPUIb302、
およびCPUJa303、CPUJb304を備えてい
る。
【0023】比較回路I305はCPUIa301とC
PUIb302を比較することでCPUI1のエラーを
検出する。比較回路J306はCPUJa303とCP
UJb304を比較することでCPUJ2のエラーを検
出する。
【0024】また、図5の実施の形態はCPUI1とC
PUJ2とCPUエラー検出回路5の図1のCPU構成
とは異なる実施形態で、三重化多数決の構成であり、C
PUa501、CPUb502、CPUc503により
三重化される。
【0025】比較器ab504はCPUa501とCP
Ub502の出力を比較し、比較器ac505はCPU
a501とCPUc503の出力を比較し、比較器bc
506はCPUb502とCPUc503の出力を比較
する。
【0026】AND回路a507は比較器ab504と
比較器ac505の出力のAND論理とNAND論理を
出力し、AND論理出力はCPUa501にエラーが検
出されたことを示し、NAND論理出力はCPUa50
1の出力を選択するようにする指示である。AND回路
b508は比較器ab504と比較器bc506の出力
のAND論理とNAND論理を出力し、AND論理出力
はCPUb502にエラーが検出されたことを示し、N
AND論理出力はCPUb502の出力を選択するよう
にする指示である。AND回路c509は比較器ac5
05と比較器bc506の出力のAND論理とNAND
論理を出力し、AND論理出力はCPUc503にエラ
ーが検出されたことを示し、NAND論理出力はCPU
c503の出力を選択するようにする指示である。
【0027】出力選択回路510はAND回路a50
7、AND回路b508、AND回路c509からのN
AND論理出力の指示に従って、CPUa501、CP
Ub502、CPUc503の出力を選択する。
【0028】キャッシュメモリ7はCPUI1、および
CPUJ2がメインメモリ11のデータに高速にアクセ
スすることを目的として、メインメモリ11のデータを
一時的に記憶する小容量で高速のメモリである。ここで
はキャッシュメモリをブロック0〜3の4つにブロック
化し、ブロック毎の縮退動作を可能にしている。キャッ
シュエラー検出回路9はキャッシュメモリ7のエラーを
検出し、また、4つの中のどのブロックにエラーが検出
されたかも判定して出力する。
【0029】図4はキャッシュメモリ7とキャッシュエ
ラー検出回路9の1つである。ブロック番号判定回路4
01はキャッシュメモリ7をアクセスした際のアドレス
より、どのブロックにアクセスしたかを判定する回路で
ある。ブロック番号保持レジスタ402はブロック番号
判定回路401の出力を保持する。キャッシュメモリ7
は保持するデータに対するエラーチェックを行うための
エラーチェックコードを付与される。エラーチェック回
路404はキャッシュメモリ7から出力されるデータ
と、そのデータに付与されているエラーチェックコード
によりエラーの検出を行う。
【0030】メインメモリ11はプログラムデータを記
憶する記憶装置である。ここではメインメモリ11をブ
ロック0〜3の4つにブロック化し、縮退動作を可能に
している。
【0031】メモリエラー検出回路13はメインメモリ
11のエラーを検出し、また、4つの中のどのブロック
にエラーが検出されたかも判定して出力する。
【0032】構成制御回路15はモジュールa19内の
CPUエラー検出回路5またはキャッシュエラー検出回
路9またはメモリエラー検出回路13でエラーが検出さ
れた場合は、エラーが検出された機能、およびその機能
内のブロック番号を構成通知線a17よってもう一方
モジュールb20の構成制御回路16に通知する。同
様にしてモジュールb20内で検出されたエラーに関し
ては、構成制御回路16より構成通知線b18によって
通知される。
【0033】また、構成制御回路15はモジュールa
内でエラーの検出された機能のブロック、または構成
制御回路16からの通知に基づくモジュールb20内で
エラーの検出された機能要素、またはブロックを無効に
する指示を行う。モジュールa19とモジュールb20
は、二重化されたバスであるシステムバスa21とシス
テムバスb22の両方に接続される。
【0034】図2は図1に示すメインメモリ11とメモ
リエラー検出回路13の実施形態の1つである。ブロッ
ク番号判定回路201はメインメモリ11をアクセスし
た際のアドレスより、どのブロックにアクセスしたかを
判定する回路である。ブロック番号保持レジスタ202
はブロック番号判定回路201の出力を保持する。
【0035】メインメモリ11では保持するデータに対
して、エラーチェック、およびエラー訂正を行うための
エラーチェック&訂正コードを付与される。
【0036】訂正不可能エラーチェック回路205は、
メインメモリ11の出力にエラーが検出された場合で
も、検出されたエラーが訂正可能なエラーである場合は
構成制御回路15にエラー報告を行わず、検出されたエ
ラーが訂正不可能なエラーである場合にのみ構成制御回
路15にエラー報告を行う。
【0037】エラー訂正回路404は、メインメモリ1
1から出力されるデータとそのデータに付与されている
エラーチェック&訂正コードにより、まずエラーチェッ
クを行って、その結果エラーが検出され、かつ検出され
たエラーが訂正可能なエラーである場合はそのエラーを
訂正して出力する。
【0038】データ選択回路204はメインメモリ11
内のエラーを起こしているデータを修正するために、エ
ラー訂正回路206からの訂正データをエラー訂正回路
206からの指示に従って選択する。
【0039】図6は図1に示すシステムとは構成が異な
る。各モジュールは機能により図1より細分化され、演
算処理を行うCPU機能部は三重化構成をとり、CPU
a601、CPUb602、CPUc603より三重化
される。CPUa601、CPUb602、CPUc6
03の出力はそれぞれ二重化構成をとる多数決論理a6
07、および多数決論理b608で多数決論理をとるこ
とにより、何れか1つのCPUに障害が発生してエラー
のあるデータを出力した場合でも多数決論理a607、
および多数決論理b608はエラーのない正しいデータ
を出力できる。CPUa構成制御回路604、CPUb
構成制御回路605、CPUc構成制御回路606はお
互いに自モジュール内の構成を通知し合い、CPUa6
01、CPUb602、CPUc603を同一の構成に
制御する。多数決論理a構成制御回路609と多数決論
理b構成制御回路610は、お互いに自モジュール内の
構成を通知し合い、多数決論理a607と多数決論理b
608を同一の構成に制御する。メモリa611とメモ
リb612も二重化構成をとり、多数決論理a607と
多数決論理b608の両方の出力を入力する。
【0040】メモリa構成制御回路613とメモリb構
成制御回路614はお互いに自モジュール内の構成を通
知し合い、メモリa611とメモリb612を同一構成
に制御する。
【0041】次に、図1,2,3,4,5,6の回路の
動作について図面を参照して説明する。ただし、図2,
3,4,5は図1の機能の一部の実施形態であるため、
図1の説明に含めて説明する。
【0042】まず、図1から説明する。図1はモジュー
ルが二重化構成をとる場合の詳細な実施の形態であり、
モジュールが三重化構成をとる場合の基本的な実施の形
態は図6で説明する。
【0043】図1のモジュールa19とモジュールb2
0は同一の構成要素を備えているため、モジュールa
の構成要素を中心に説明すると、CPUI1とCPU
J2は、それぞれ演算処理を行い、同一機能を複数備え
たマルチCPU構成になっている。一方に障害が発生し
た場合は、縮退してもう一方のみのシングルCPUで動
作可能である。
【0044】CPUエラー検出回路5はCPUI1とC
PUJ2の出力をチェックしてエラーを検出し、また、
CPUI1またはCPUJ2のどちらにエラーが検出さ
れたかも判定して出力する。
【0045】図3はCPUI1とCPUJ2とCPUエ
ラー検出回路5の詳細な実施形態の1つである。演算処
理を行うCPUI1とCPUJ2のエラーチェックは、
最も単純にそれぞれ二重化して出力を比較することでエ
ラーチェックを行うことが望ましく、その場合は、それ
ぞれCPUIa301、CPUIb302、およびCP
UJa303、CPUJb304構成とする。
【0046】比較回路I305はCPUIa301とC
PUIb302の出力を比較することでCPUI1のエ
ラーを検出する。比較回路J306はCPUJa303
とCPUJb304の出力を比較することでCPUJ2
のエラーを検出する。比較回路I305と比較回路J3
06はそれぞれ、比較結果が等しくない場合に1が出力
される。
【0047】また、図5の実施の形態はCPUI1とC
PUJ2とCPUエラー検出回路5とを有する図1のC
PU構成とは異なる実施形態の1つであり、三重化多数
決の構成である。基本的な考えは図1と同じであり、何
れか1つのCPUに障害が発生した場合であっても、障
害の発生したCPUを切り離して、縮退して動作し続け
ることを可能にすることを目的としている。演算処理を
行うCPUはCPUa501、CPUb502、CPU
c503により三重化され、論理的には1つのCPUと
して動作する。
【0048】比較器ab504はCPUa501とCP
Ub502の出力を比較し、比較器ac505はCPU
a501とCPUc503の出力を比較し、比較器bc
506はCPUb502とCPUc503の出力を比較
し、それぞれ比較結果が等しくない揚合に1が出力され
る。
【0049】AND回路a507は比較器ab504と
比較器ac505の出力のAND論理とNAND論理を
出力し、AND論理出力はCPUa501にエラーが検
出されたことを示し、NAND論理出力はCPUa50
1の出力にエラーがないことを保証してCPUa501
の出力を選択させる指示である。AND回路b508は
比較器ab504と比較器bc506の出力のAND論
理とNAND論理を出力し、AND論理出力はCPUb
502にエラーが検出されたことを示し、NAND論理
出力はCPUb502の出力にエラーがないことを保証
してCPUb502の出力を選択させる指示である。A
ND回略c509は比較器ac505と比較器bc50
6の出力のAND論理とNAND論理を出力し、AND
論理出力はCPUc503にエラーが検出されたことを
示し、NAND論理出力はCPUc503の出力にエラ
ーがないことを保証してCPUc503の出力を選択さ
せる指示である。
【0050】出力選択回路510はAND回路a50
7、AND回路b508、AND回路c509からのN
AND論理出力の指示に従って、CPUa501、CP
Ub502、CPUc503の出力を選択する。
【0051】キャッシュメモリ7はCPUI1、および
CPUJ2がメインメモリ11のデータに高速にアクセ
スすることを目的として、メインメモリ11のデータを
一時的に記憶する小容量で高速のメモリである。ここで
はキャッシュメモリ7をブロック0〜3の4つに分割し
てブロック化し、キャッシュメモリ7の何れかのブロッ
クに障害が発生した場合でも、残りのブロックで縮退動
作を可能にしている。キャッシュエラー検出回路9はキ
ャッシュメモリ7のエラーを検出し、また、4つの中の
どのブロックにエラーが検出されたかも判定して出力す
る。
【0052】図4はキャッシュメモリ7と、キャッシュ
エラー検出回路9の1つの実施形態で、図3のCPUと
同様に二重化の構成等も可能であるが、ここではキャッ
シュメモリ7内のデータにエラーチェックコードを付与
する実施形態を説明する。
【0053】ブロック番号判定回路401はキャッシュ
メモリ7をアクセスした際のアドレスより、どのブロッ
クにアクセスしたかを判定する回路である。
【0054】ブロック番号保持レジスタ402はブロッ
ク番号判定回路401の出力を保持し、ブロック番号保
持レジスタ402に保持されているブロック番号は、キ
ャッシュメモリ7の出力にエラーが検出された時に、図
1の構成制御回路15ヘエラーの検出されたブロック番
号を報告するために使用される。
【0055】キャッシュメモリ7は4つのブロックに分
割され、かつ保持するデータにはエラーチェックを行う
ためのエラーチェックコードが付与される。何れかのブ
ロックに障害が発生した場合は、障害の発生したブロッ
クを切り離し、縮退して動作を継続し続ける。
【0056】エラーチェック回路404はキャッシュメ
モリ7から出カされるデータと、そのデータに付与され
ているエラーチェックコードによりエラーの検出を行
う。エラーが検出された場合はブロック番号保持レジス
タ402に保持されているブロック番号を共に、図1の
構成制御回路15ヘエラーの通知を行う。
【0057】メインメモリ11はプログラムデータを記
憶する記憶装置である。ここではメインメモリ11をブ
ロック0〜3の4つにブロック化し、何れかのブロック
に障害が発生した場合は残りのブロックで動作し続け、
縮退動作が可能である。
【0058】メモリエラー検出回路13はメインメモリ
11のエラーを検出し、また、4つの中のどのブロック
にエラーが検出されたかも判定して構成制御回路15ヘ
出力する。
【0059】図2はメインメモリ11と、メモリエラー
検出回路13の実施形態の1つであり、メインメモリ1
1は図3のCPUと同様に二重化の構成等も可能である
が、ここではメインメモリ11内のデータにエラーチェ
ック&訂正コードを付与する実施形態を説明する。
【0060】ブロック番号判定回路201はメインメモ
リ11をアクセスした際のアドレスより、どのブロック
にアクセスしたかを判定する回路である。
【0061】ブロック番号保持レジスタ202はブロッ
ク番号判定回路201の出力を保持する。ブロック番号
保持レジスタ202に保持されているブロック番号は、
メインメモリ11の出力にエラーが検出された時に、図
1の構成制御回路15ヘエラーの検出されたブロック番
号を報告するために使用される。
【0062】メインメモリ11は4つのブロックに分割
され、保持するデータに対しては、エラーチェック、お
よびエラー訂正を行うためのエラーチェック&訂正コー
ドを付与される。また、何れかのブロックに障害が発生
した場合は、障害の発生したブロックを切り離して縮退
して動作し続ける。
【0063】訂正不可能エラーチェック回路205は、
メインメモリ11の出力にエラーが検出された場合で
も、検出されたエラーが訂正可能なエラーである場合は
構成制御回路15にエラー報告を行わず検出されたエラ
ーが訂正不可能なエラーである場合にのみ構成制御回路
15にエラー報告を行う。これにより致命的な障害でな
い限りエラー報告がなくなり、エラー報告の頻度を減ら
すことができる。
【0064】エラー訂正回路206は、メインメモリ1
1から出力されるデータとそのデータに付与されている
エラーチェック&訂正コードにより、まずエラーチェッ
クを行って、その結果エラーが検出され、かつ検出され
たエラーが訂正可能なエラーである場合はそのエラーを
訂正して出力すると同時に、エラーを訂正したデータを
メインメモリ11ヘライトするための指示を行う。
【0065】データ選択回路204はメインメモリ11
内のエラーを起こしているデータを修正するために、エ
ラー訂正回路206からの指示に従って、通常のデータ
パスからエラー修正用のデータパスに切り替えて、エラ
ー訂正回路206からの訂正データを選択して出力す
る。
【0066】構成制御回路15はモジュールa19内の
CPUエラー検出回路5またはキャッシュエラー検出回
路9またはメモリエラー検出回路13でエラーが検出さ
れて通知された場合は、エラーが検出された機能、およ
びその機能内のブロック番号を構成通知線a17によっ
てもう一方のモジュールb20の構成制御回路16に通
知する。同様にしてモジュールb20内で検出されたエ
ラーに関しては、構成制御回路16より構成通知線b
によって通知される。
【0067】また、構成制御回路15はモジュールa
内でエラーの検出された機能要素/ブロック、または
構成制御回路16からの通知に基づくモジュールb20
内でエラーの検出された機能要素/ブロックに該当する
機能要素/ブロックを無効にする指示を行う。この時、
構成制御回路16も全く同じ指示を行うため、モジュー
ルa19とモジュールb20は全く同じ構成で縮退動作
を行い、どちらか一方のモジュールに障害が発生して
も、変わらずに二重化動作を継続し続ける。
【0068】モジュールa19とモジュールb20は、
二重化されたバスであるシステムバスa21とシステム
バスb22の両方に接続されている。
【0069】次に、図6を説明する。図6に示すシステ
ムは各モジュールが細かく細分化され、CPUの機能部
は三重化されている。
【0070】演算処理を行うCPU機能部は三重化構成
をとり、CPUa601、CPUb602、CPUc6
03により三重化される。図6は基本的な概念のみを示
しているが、それぞれのCPU機能部は図1のモジュー
ルa19、モジュールb20と同等に縮退可能な構成で
ある。
【0071】CPUa601、CPUb602、CPU
c603の出力はそれぞれ二重化構成をとる多数決論理
a607、および多数決論理b608で多数決論理をと
ることにより、何れか1つのCPUに障害が発生してエ
ラーのあるデータを出力した場合でも、多数決論理a6
07、および多数決論理b608はエラーのない正しい
データを選択して出カする。
【0072】CPUa構成制御回路604、CPUb構
成制御回路605、CPUc構成制御回路606はお互
いに自モジュール内の構成を通知し合い、CPUa60
1、CPUb602、CPUc603を同一の構成に制
御する。CPUa601、CPUb602、CPUc6
03の何れかに障害が発生した揚合は、それぞれのCP
Uが同等に縮退して動作し、変わらず三重化構成を維持
する。
【0073】多数決論理a構成制御回路607と多数決
論理b構成制御回路608は、お互いに自モジュール内
の構成を通知し合い、何れかに障害が発生した場合でも
二重化動作を続けられるように、多数決論理a607と
多数決論理b608を同一の構成に縮退して動作するよ
うに制御する。
【0074】プログラムデータを格納するメモリa61
1とメモリb612も二重化構成をとり、多数決論理a
607と多数決論理b608の両方の出力を入力する。
多数決論理a607と多数決論理b608の両方を入力
する理由は、どちらかの多数決論理が縮退不可能な致命
的なエラーで切り離された場合にも、メモリa611と
メモリb612の両方を動作可能にして、システムヘの
悪影響を最小限にするためである。縮退可能なメモリは
図2、4のような実施形態で実現できる。
【0075】メモリa構成制御回路613とメモリb構
成制御回路614はお互いに自モジュール内の構成を通
知し合い、どちらかのメモリに障害が発生した場合でも
二重化動作を続けられるように、メモリa611とメモ
リb612を同一構成に縮退して動作するように制御す
る。
【0076】
【実施例】次に、本発明の実施例について図面を参照し
て説明する。まず、第1の実施の形態における実施例を
図1,2,3,4,5を参照して具体的に説明する。た
だし、図2,3,4,5は図1の機能の一部の実施例で
あり、図1の説明の途中に含めて説明する。
【0077】図1はモジュールが二重化構成をとる場合
の詳細な実施例である。耐故障性のある情報処理装置
は、ほとんどが図1のような二重化構成をとるか、また
は図6に示されるような三重化多数決の構成をとる。
【0078】図1に示す情報処理装置はモジュールa
モジュールb20で二重化される。モジュールa
とモジュールb20は同一の構成要素を備えているた
め、モジュールa19の構成要素を中心に説明する。
【0079】CPUI1とCPUJ2はそれぞれ演算処
理を行い、同一機能を複数備えたマルチCPU構成にな
っている。一方のCPUに障害が発生した場合は、縮退
してもう一方のCPUみのシングルCPUで動作可能で
ある。ただし、縮退して一方のみのシングルCPUで動
作する場合は、演算処理性能がマルチの場合より落ちる
こととなる。縮退動作については図7のフローチャート
を用いて後述する。
【0080】また、縮退動作時に演算処理性能が落ちる
ことのない構成に関しては、図5を参照して後述する。
【0081】CPUエラー検出回路5はCPUI1とC
PUJ2の出力をチェックしてエラーを検出し、また、
CPUI1、またはCPUJ2のどちらにエラーが検出
されたかも判定して出力する。
【0082】図3を用いて、CPUI1とCPUJ2と
CPUエラー検出回路5の詳細な実施例の1つを説明す
る。
【0083】演算処理を行うCPUI1とCPUJ2の
エラーチェックは、それぞれが複数保有する場合は、最
も単純に、それぞれ二重化して出力を比較することでエ
ラーチェックを行い、それぞれCPUIa301、CP
UIb302、およびCPUJa303、CPUJb3
04より構成される。エラーチェックの方法を二重化し
て出力を比較する方法をとる理由は、演算処理を行う機
能部では図2,4に示すようなデータにエラーチェック
コードを付与する方法では、内部での処理が非常に複雑
で困難であり、また演算処理部には汎用のマイクロプロ
セッサを使用することが大半であり、汎用のマイクロプ
ロセッサにエラーチェックコードを付与することはでき
ないためである。比較回路I305はCPUIa301
とCPUIb302の出力を比較することでCPUI1
のエラーを検出する。比較回路J306はCPUJa3
03とCPUJb304の出力を比較することでCPU
J2のエラーを検出する。比較回路I305と比較回路
J306はそれぞれ、比較結果が等しくない場合に1が
出力される。
【0084】また、図5の実施例はCPUI1とCPU
J2とCPUエラー検出回路5の図1,3に示すCPU
構成とは異なる実施例の1つであり、三重化多数決の構
成である。基本的な考えは図1,3と同じであり、何れ
か1つのCPUに障害が発生した場合であっても障害の
発生したCPUを切り離して、縮退して動作し続けるこ
とを可能にすることを目的としている。ただし、図1,
3に示すマルチCPU構成と異なる点は、同一性能当た
りではハードウェア量は1.5倍になる代わりに、何れ
か1つのCPUに障害が発生して縮退した場合であって
も、演算処理性能に変化はないということである。
【0085】演算処理を行うCPUはCPUa501、
CPUb502、CPUc503により三重化され、論
理的には1つのCPUとして動作する。
【0086】比較器ab504はCPUa501とCP
Ub502の出力を比較し、比較器ac505はCPU
a501とCPUc503の出力を比較し、比較器bc
506はCPUb502とCPUc503の出カを比較
し、それぞれ比較結果が等しくない場合に1が出力され
る。比較器ab504から1が出力される場合は、CP
Ua501とCPUb502の出力のどちらかにエラー
が発生しているということである。
【0087】同様に、比較器ac505から1が出力す
る時はCPUa501とCPUc503の出力のどちら
かにエラーが発生し、比較器bc506から1が出力さ
れる時はCPUb502とCPUc503の出力のどち
らかにエラーが発生しているということを示す。従って
それらの組み合わせにより、比較器ab504と比較器
ac505の両方から1が出力されている場合はCPU
a501の出力にエラーが発生しているということであ
り、また、比較器ab504と比較器bc506の両方
から1が出力されている場合はCPUb502の出力に
エラーが発生しているということであり、更に、比較器
ac505と比較器bc506の両方から1が出力され
ている場合はCPUc503の出力にエラーが発生して
いるということである。この論理は以下のAND回路で
とられる。
【0088】AND回路a507は比較器ab504と
比較器ac505の出力のAND論理とNAND論理を
出力し、AND論理出力はCPUa501にエラーが検
出されたことを示し、NAND論理出力はCPUa50
1の出力にエラーがないことを保証して、出力選択回路
510にCPUa501の出力を選択させる指示とな
る。
【0089】同様に、AND回路b508は比較器ab
504と比較器bc506の出力のAND論理とNAN
D論理を出力し、AND論理出力はCPUb502にエ
ラーが検出されたことを示し、NAND論理出力はCP
Ub502の出力にエラーがないことを保証して出力選
択回路510にCPUb502の出力を選択させる指示
となる。
【0090】さらに、AND回路c509は比較器ac
505と比較器bc506の出力のAND論理とNAN
D論理を出力し、AND論理出力はCPUc503にエ
ラーが検出されたことを示し、NAND論理出力はCP
Uc503の出力にエラーがないことを保証して出力選
択回路510にCPUc503の出力を選択させる指示
となる。
【0091】出力選択回路510はAND回路a50
7、AND回路b508、AND回路c509からのN
AND論理出力の指示に従って、CPUa501、CP
Ub502、CPUc503の出力を選択する。選択さ
れたCPUの出力が以降の処理で使用される。
【0092】図7のフローチャートを使用して、図1に
示すCPUI1で障害が発生した場合の縮退動作につい
て説明する。
【0093】CPUエラー検出回路5によりCPUI1
の出力にエラーが検出され(ステップ71)、そのエラ
ー情報が構成制御回路15、および構成制御回路16に
通知される(ステップ72)。障害CPUの切除を指示
し(ステップ73)、エラー発生が自モジュールか否か
を確認し(ステップ74)、構成制御回路15からはC
PUI1を切り離す指示を行い(ステップ76)、構成
制御回路16からはCPUI3を切り離す指示を行う
(ステップ76)。この時、実際に障害を起こしている
ため切り離されるCPUI1と、構成を同一にするため
に切り離されるCPUI3では処理が異なる。
【0094】障害の起こっているCPUI1は切り離し
の処理をそのまま実行するが、障害の起こっていないC
PUI3はそのまま切り離すと、CPUI1とCPUI
3上で処理されていたプロセス情報が失われ、以降の動
作が保証できなくなる。そのため、正常に動作している
CPUI3のプロセス情報をメインメモリ11とメイン
メモリ12の両方のモジュールのメインメモリに退避さ
せる処置を行う。この時、モジュールb20のCPUI
3より両モジュールのメインメモリ11,12にプロセ
ス情報を退避する方法として、モジュールb20より自
モジュール以外へのライトを目的としているグローバル
ライトを使用して、ライトトランザクションをシステム
バスに対して発行する。モジュールa19とモジュール
b20の両方がシステムバスよりそのライトトランザク
ションを受け取り、最終的に、それぞれメインメモリ1
1と、メインメモリ12にCPUI3からのプロセス情
報がライトされる。CPUI3はこのプロセス情報の退
避処理の完了後に切り離される。
【0095】CPUI1で障害が発生した場合の縮退動
作は、以上のようなフローに従ってCPUI1とCPU
I3とを切り離すことによって実行される。なお、図5
のような三重化多数決の方法を採用している場合は、プ
ロセス情報をメインメモリに退避する必要はなく、単純
に障害CPUの切り離し処理だけを行う。
【0096】また、キャッシュメモリ7はCPUI1、
およびCPUJ2がメインメモリ11にアクセスするデ
ータを一時的に記憶する小容量で高速のメモリであり、
データの高速アクセスを目的としており、ここではキャ
ッシュメモリ7をブロック0〜3の4つに分割してブロ
ック化し、キャッシュメモリ7の何れかのブロックに障
害が発生した場合でも、残りのブロックで縮退動作を可
能にしている。
【0097】キャツシュメモリ7は性能を上げるために
必要とされる機能のため、性能の低下を容認できるシス
テムであれば最終的に全てのブロックを切り離す縮退動
作も可能である。また、ここでは4つのブロックに分割
しているが、分割数を増やすことにより縮退動作時の悪
影響を小さくすることもできる。これはメインメモリ1
1でも同様である。
【0098】キャッシュエラー検出回路9はキャッシュ
メモリ7のエラーを検出し、また、4つの中のどのブロ
ックにエラーが検出されたかも判定して出力する。
【0099】ここで図4を参照して、キャッシュメモリ
7とキャッシュエラー検出回路9の実施例の1つを説明
する。
【0100】図3のCPUと同様に二重化の構成等も可
能であるが、ここではキャッシュメモリ7内のデータに
エラーチェックコードを付与する実施例を説明する。使
用されるエラーチェックコードとしては、対象のデータ
ビットの排他的論理和をとることで求められるパリティ
チェックコードが一般的である。
【0101】ブロック番号判定回路401はキャッシュ
メモリ7をアクセスした際のアドレスより、どのブロッ
クにアクセスしたかを判定する回路である。アドレスの
上位ビット、または下位ビットによってブロック化する
方が効率的であるため、ブロック判定回路401ではア
ドレスの上位ビットまたは下位ビットをチェックするこ
とにより、アクセスするブロック番号を判定できる。
【0102】ブロック番号保持レジスタ402はブロッ
ク番号判定回路401の出力を保持する。ブロック番号
保持レジスタ402に保持されているブロック番号は、
キャッシュメモリ7の出力にエラーが検出された時に、
図1に示す構成制御回路15へエラーの検出されたブロ
ック番号を報告するために使用される。
【0103】キャッシュメモリ7は4つのブロックに分
割され、かつ保持するデータに対してエラーチェックを
行うためのエラーチェックコードが付与される。何れか
のブロックに障害が発生した場合は障害の発生したブロ
ックを切り離して縮退して動作し続ける。
【0104】エラーチェック回路404はキャッシュメ
モリ7から出力されるデータと、そのデータに付与され
ているエラーチェックコードによりエラーの検出を行
う。エラーが検出された場合はブロック番号保持レジス
タ402に保持されているブロック番号と共に、図1の
構成制御回路15へエラーの通知を行う。
【0105】ここで、図8のフローチャートを使用し
て、図1におけるモジュールb20のキャッシュメモリ
8のブロック0で障害が発生した場合の縮退動作につい
て説明する。基本的には図7のフローチャートと同様で
ある。ただし、ここでの説明はキャッシュメモリの方式
がライトバック方式、つまりCPUからキャッシュメモ
リにライト動作が行われた場合、キャッシュメモリにの
みライトを行いメインメモリまでは反映させず、キャッ
シュメモリに格納されているデータがメインメモリに格
納されているデータと異なる状況が起こる方式で説明す
る。詳細は後述のフローチャート中で説明する。
【0106】まず、キャッシュエラー検出回路10によ
りキャッシュメモリ8のブロック0の出力にエラーが検
出されたとすると(ステップ81)、そのエラー情報が
構成制御回路16、および構成制御回路15に通知され
る(ステップ82)。
【0107】構成制御回路15からはキャッシュメモリ
7のブロック0を切り離す指示を行い、構成制御回路1
6からはキャッシュメモリ8のブロック0を切り離す指
示を行う(ステップ83)。この時、実際に障害を起こ
しているため切り離されるキャッシュメモリ8のブロッ
ク0と、構成を同一にするために切り離されるキャッ
ュメモリ7のブロック0では処理が異なる(ステップ8
4)。障害の起こっているキャッシュメモリ8のブロッ
ク0は切り離しの処理をそのまま実行し(ステップ8
6)、障害の起こっていないキャッシュメモリ7のブロ
ック0はそのまま切り離すと、キャッシュメモリ7とキ
ャッシュメモリ8のブロック0内に格納されているデー
タが失われ、以降の動作が保証できなくなる。ただし前
述の通り、以降の動作が保証できなくなる場合は、キャ
ッシュメモリの内容とメインメモリの内容が異なること
のあるキャッシュメモリ方式がライトバック方式などの
場合のみである。キャッシュメモリ方式が常にキャッシ
ュメモリとメインメモリの内容が等しくなるライトスル
ー方式などの場合は、失われるデータが存在しないため
以降の動作保証ができなくなるということはない。従っ
て、ライトスルー方式での縮退動作のフローは図8より
単純であり、障害の発生したキャッシュメモリのブロッ
クを切り離す処理を行うのみである。
【0108】上述のライトバック方式のキャッシュメモ
リでは、正常に動作しているキャッシュメモリ7のブロ
ック0に格納されているデータで、メインメモリ11に
格納されているデータとは異なる、つまりCPUI1
たはCPUJ2からのライトにより内容を更新されたデ
ータを、メインメモリ11とメインメモリ12の両方の
モジュールのメインメモリに退避させる処置を行う(ス
テップ85)。
【0109】この時、モジュールal9のキャッシュメ
モリ7より両モジュールのメインメモリ11,12にブ
ロック0の格納データを退避する方法として、モジュー
ルal9より自モジュール以外へのライトを目的として
いるグローバルライトを使用して、ライトトランザクシ
ョンをシステムバスに対して発行する。モジュールal
9とモジュールb20の両方がシステムバスよりそのラ
イトトランザクションを受け取り、最終的にそれぞれメ
インメモリ11とメインメモリ12にキャッシュメモリ
7のブロック0からのデータがライトされる。キャッシ
ュメモリ7のブロック0はこのデータ退避処理の完了後
に切り離される。
【0110】キャッシュメモリ8のブロック0で障害が
発生した場合の縮退動作は、以上のようなフローに従っ
てキャッシュメモリ7のブロック0とキャッシュメモリ
8のブロック0を切り離すことによって実行される。
【0111】メインメモリ11はプログラムデータを記
憶する記憶装置である。ここではメインメモリ11をブ
ロック0〜3の4つにブロック化し、何れかのブロック
に障害が発生した場合は残りのブロックで動作し続け、
縮退動作が可能である。前述のキャッシュメモリ7と同
等の縮退動作を行う。ただし、キャッシュメモリ7とは
異なり、全てのブロックを切り離すことは不可能であ
り、0Sが必要とする最低限のメモリ容量は確保しなけ
ればならない。
【0112】メモリエラー検出回路13はメインメモリ
11のエラーを検出し、また、4つの中のどのブロック
にエラーが検出されたかも判定して構成制御回路15ヘ
出力する。
【0113】ここで図2を参照して、メインメモリ11
とメモリエラー検出回路13の実施例の1つを説明す
る。メインメモリ11は図3の二重化構成や図4のエラ
ーチェックコードを付与する方法も可能であるが、ここ
ではメインメモリ11内のデータにエラーチェック&訂
正コードを付与する実施例を説明する。
【0114】ブロック番号判定回路201はメインメモ
リ11をアクセスした際のアドレスより、どのブロック
にアクセスしたかを判定する回路である。キャッシュメ
モリ7と同様に、アドレスの上位ビット、または下位ビ
ットによってブロック化する方が効率的であるため、ブ
ロック判定回路201ではアドレスの上位ビット、また
は下位ビットをチェックすることにより、アクセスする
ブロック番号を判定できる。
【0115】ブロック番号保持レジスタ202はブロッ
ク番号判定回路201の出力を保持する。ブロック番号
保持レジスタ202に保持されているブロック番号は、
メインメモリ11の出力にエラーが検出された時に、図
1の構成制御回路15へエラーの検出されたブロック番
号を報告するために使用される。
【0116】メインメモリ11は4つのブロックに分割
され、更に保持するデータに対し、エラーチェック、お
よびエラー訂正を行うためのエラーチェック&訂正コー
ドを付与される。エラーチェック&訂正コードは、コー
ドサイズの適切さより1ビットエラー訂正2ビットエラ
ー検出ECCコードを使用することが一般的である。何
れかのブロックに障害が発生した場合は、障害の発生し
たブロックを切り離して縮退して動作し続ける。
【0117】訂正不可能エラーチェック回路205は、
メインメモリ11の出力にエラーが検出された場合で
も、検出されたエラーが訂正可能なエラーである場合は
構成制御回路15にエラー報告を行わず検出されたエラ
ーが訂正不可能なエラーである場合にのみ構成制御回路
15にエラー報告を行う。これにより致命的な障害でな
い限りエラー報告がなくなり、エラー報告の頻度を減ら
し、縮退動作を行ってシステム性能に影響を与えること
を減少させることができる。
【0118】エラー訂正回路206は、メインメモリ1
1から出力されるデータとそのデータに付与されている
エラーチェック&訂正コードにより、まずエラーチェッ
クを行って、その結果エラーが検出され、かつ検出され
たエラーが訂正可能なエラーである場合はそのエラーを
訂正して出力すると同時に、工ラーを訂正したデータを
メインメモリ11ヘライトするための指示を行う。メイ
ンメモリ11ヘの訂正データライトを行う理由は、訂正
データのライトを実行しなければメインメモリ11内で
エラーを起こしたデータはそのままの状態で残り、更に
訂正不可能なエラーに進行して、結局は縮退動作を行う
という結果に繋がるからである。
【0119】データ選択回路204はメインメモリ11
内のエラーを起こしているデータを修正するために、エ
ラー訂正回路206からの指示に従って、通常のデータ
パスからエラー修正用のデータパスに切り替えて、エラ
ー訂正回路206からの訂正データを選択して出力す
る。
【0120】メインメモリ11またはメインメモリ12
に障害が起こった場合の縮退動作のフローチャートは、
図8のキャッシュメモリ7,8の縮退動作のフローチャ
ートとほぼ同一である。注意する点としては、障害を起
こしたメインメモリのブロックに格納されているデータ
をグローバルライトで退避するという意味が、障害の発
生したブロックに格納されているデータをメインメモリ
内の別のブロックに移動するという結果になることであ
る。
【0121】構成制御回路15はモジュールa19内の
CPUエラー検出回路5、キャッシュエラー検出回路
9、またはメモリエラー検出回路13でエラーが検出さ
れて通知された場合は、エラーが検出された機能、およ
びその機能内のブロック番号を構成通知線a17によっ
て、もう一方のモジュールb20の構成制御回路16に
通知する。同様にしてモジュールb20内で検出された
エラーに関しては、構成制御回路16より構成通知線b
18によって構成制御回路15に通知される。
【0122】構成制御回路15はモジュールa19内で
エラーの検出された機能のブロックを切除する指示を
し、構成制御回路16からの通知に際しては、該通知に
該当する機能のブロックを無効にする指示を行う。この
時、構成制御回路16も全く同じ指示を行うため、モジ
ュールa19とモジュールb20は全く同じ構成で縮退
動作を行い、どちらか一方のモジュールに障害が発生し
ても、変わらずに二重化動作を継続し続ける。構成制御
回路から障害を起こした機能を切り離す方法としては、
構成制御回路からCPUに割り込みを発信し、CPUは
その一連の割り込みの処理として障害を起こした機能を
切り離す方法などがある。
【0123】モジュールa19とモジュールb20は、
二重化されたバスであるシステムバスa21とシステム
バスb22の両方に接続される。モジェールa19とモ
ジュールb20はそれぞれシステムバスa21とシステ
ムバスb22の両バスにデータを送信し、両バスからデ
ータを受信する。これにより、システムとしてはモジュ
ールa19とモジュールb20、またはシステムバスa
21とシステムバスb22のそれぞれの一方が完全に切
り離された場合でも、動作し続けることが可能である。
【0124】以上により図1示す実施例においては、
モジュール内の何れかの機能に障害が発生した場合で
も、障害の発生したモジュール全体を切り離さず、障害
を起こしたモジュール内の機能の一部を切り離し、更に
構成が異なると二重化されたモジュールの同期動作が不
可能になるため、正常な側のモジュールを障害を起こし
た側のモジュールと同一構成になるように制御し、その
結果、二重化モジュールは障害を起こしても変わらずに
信頼性の高い二重化構成のまま動作し続けることが可能
になる。
【0125】次に、図6に示すシステムの動作について
説明する。このシステムの冗長化構成の本概念は、図1
のシステムと比較すると各モジュールは細かく細分化さ
れ、特にCPUの機能部は三重化されているのが特徴で
ある。
【0126】演算処理を行うCPU機能部は三重化構成
をとり、CPUa601、CPUb602、CPUc6
03により三重化される。図6は基本的な概念のみを示
しているが、それぞれのCPU機能部は図1のモジュー
ルa19、モジュールb20と同等に縮退可能な構成
で、図3や図5のようなエラー検出構成をとる。
【0127】CPUa601、CPUb602、CPU
c603の出力は、それぞれ二重化構成をとる多数決論
理a607、および多数決論理b608で多数決論理を
とることにより、何れか1つのCPUに障害が発生して
エラーのあるデータを出力した場合でも、多数決論理a
607、および多数決論理b608によりエラーのない
正しいデータを選択して出力する。
【0128】CPUa構成制御回路604、CPUb構
成制御回路605、CPUc構成制御回路606はお互
いに自モジュール内の構成を通知し合い、CPUa60
1、CPUb602、CPUc603を同一の構成に制
御する。CPUa601、CPUb602、CPUc6
03の何れかに障害が発生した場合は、それぞれのCP
Uが複数構成の場合は同等に縮退して動作し、変わらず
三重化構成をとるが、単数の場合はエラー発生のCPU
が切除され、正常なCPUが二重化構成を確保する。
【0129】多数決論理a構成制御回路609と多数決
論理b構成制御回路610は、お互いに自モジュール内
の構成を通知し合い、何れかに障害が発生した場合でも
二重化動作を続けられるように、多数決論理a607と
多数決論理b608を同一の構成に縮退して動作するよ
うに制御する。
【0130】ブログラムデータを格納するメモリa61
1とメモリb612も二重化構成をとり、多数決論理a
607と多数決論理b608の両方の出力を入力する。
多数決論理a607と多数決論理b608の両方を入力
する理由は、どちらかの多数決論理が縮退不可能な致命
的なエラーで切り離された場合にも、メモリa611と
メモリb612の両方を動作可能にして、システムヘの
悪影響を最小限にするためである。縮退可能なメモリは
図2、4のような実施例などで実現できる。メモリa構
成制御回路613とメモリb構成制御回路614はお互
いに自モジュール内の構成を通知し合い、どちらかのメ
モリに障書が発生した場合でも二重化動作を続けられる
ように、メモリa611とメモリb612を同一構成に
縮退して動作するように制御する。
【0131】以上により図6の実施例においては図1の
実施例と同様に、モジュール内の何れかの機能に障害が
発生した場合でも、障害の発生したモジュール全体を切
り離さず、障害を起こしたモジュール内の機能の一部を
切り離し、更に構成が異なると二重化または三重化され
たモジュールの同期動作が不可能になるため、正常な側
のモジュールを障害を起こした側のモジュールと同一構
成になるように制御し、その結果、二重化または三重化
モジュールは障害を起こしても変わらずに信頼性の高い
二重化または三重化構成で動作し続けることが可能にな
る。
【0132】
【発明の効果】第1の効果は、システムを構成する各モ
ジュールを冗長化することにより耐故障性を高めたシス
テムにおいて、冗長化した何れかのモジュールの機能の
一部に障害が発生した場合であっても、障害の発生した
モジュールは障害の発生した機能の一部のみを切り離し
て縮退動作を行い、障害の発生していないモジュールも
障害の発生したモジュールの構成に合わせて縮退動作を
行うことで、障害発生したにもかかわらず信頼性の高い
冗長化された構成のまま動作し続けることができること
である。
【0133】第2の効果は、障害の影響を障害の起こっ
ている機能の一部のみを切り離して縮退動作させること
により、多重故障に耐え得るようにようになることであ
る。例えば、二重化したモジュールの一方のCPUに障
害が発生し、もう一方のモジュールにはメモリに障害が
発生する二重故障が起こったとしても、本発明では動作
し続けることが可能である。このため、さらに信頼性を
高めた冗長化システムを提供できることである。
【0134】第3の効果は、モジュール内の機能のデー
タに対して、エラーチェック、およびエラー訂正を実行
可能なコードを付与し、検出されたエラーが訂正可能で
ある場合はエラーを訂正することにより、エラーが検出
されたために開始される縮退動作の頻度を減少させ縮退
動作によるシステムヘの影響を減少させるとともに、よ
り信頼性の高い冗長化システムを提供できることであ
る。
【図面の簡単な説明】
【図1】本発明の冗長化方法が適用された冗長化適用シ
ステムの第一の実施例のブロック図である。
【図2】図1に示すメインメモリ11とメモリエラー検
出回路13の詳細ブロック図である。
【図3】図1に示すCPUI1とCPUJ2とのCPU
エラー検出回路の二重化比較法説明図である。
【図4】図1に示すキャッシュメモリ7とキャッシュエ
ラー検出回路9の詳細ブロック図である。
【図5】本発明の冗長化方法の第2の実施の形態が適用
された三重冗長化システムのエラー検出回路の説明図で
ある。
【図6】本発明の冗長化方法が適用された三重冗長化シ
ステムの構成説明図である。
【図7】図1に示す冗長化システムの動作のフローチャ
ートである。
【図8】図1に示すキャッシュメモリ7にエラーが検出
されたときの動作のフローチャートである。
【図9】従来の冗長化システムの一例の概念図である。
【図10】図9に示した従来例の冗長化システムの障害
時のシステム構成を示す図である。従来の発明の第一の
実施例の構成図です。
【符号の説明】
1,3 CPUI 2,4 CPUJ 5,6 CPUエラー検出回路 7,8 キャッシュメモリ 9,10 キャッシュエラー検出回路 11,12 メインメモリ 13,14 メモリエラー検出回路 15,16 構成制御回路 17 構成通知線a 18 構成通知線b 19 モジュールa 20 モジュールb 21 システムバスa 22 システムバスb 201 ブロック番号判定回路 202 ブロック番号保持レジスタ 204 データ選択回路 205 訂正不可能エラーチェック回路 206 エラー訂正回路 301 CPUIa 302 CPUIb 303 CPUJa 304 CPUJb 305 比較回路I 306 比較回路J 401 ブロック番号判定回路 402 ブロック番号保持レジスタ 404 エラーチェック回路 501 CPUa 502 CPUb 503 CPUc 504 比較回路ab 505 比較回路ac 506 比較回路bc 507 AND回路a 508 AND回路b 509 AND回路c 510 出力選択回路 601 CPUa 602 CPUb 603 CPUc 604 CPUa構成制御回路 605 CPUb梅成制御回路 606 CPUc構成制御回路 607 多数決論理a 608 多数決論理b 609 多数決論理a構成制御回路 610 多数決論理b構成制御回路 611 メモリa 612 メモリb 613 メモリa構成制御回路 614 メモリb構成制御回路 901 ホストアダプタ部 902 ディスクアダプタ部 903 キャッシュメモリパッケージ 904 コモンバス 905 アレイディスク 918 共有メモリ 920 キャッシュメモリ 922 ディスクアダプタ2 929 チャネルアダプタ 992 ディスクアダプタマスタ制御プログラム(D
SP)
フロントページの続き (56)参考文献 特開 平9−34809(JP,A) 特開 平7−20994(JP,A) 田中明、他7名,「ACOSシステム 3800のRAS」,NEC技報,日本電 気,平成4年2月10日,第45巻,第1 号,p.34−39 藤原傭隆、他8名,「ACOSシステ ム3900のRAS」,NEC技報,日本電 気,平成6年2月25日,第47巻,第2 号,p.20−25 大塚壮一,他2名,「PC−9801+V 60+Unix+TRON FRM機能と フォールト・トレラント・システムの考 え方」,インターフェース,CQ出版, 昭和64年1月1日,第15巻,第1号, p.265−273 (58)調査した分野(Int.Cl.7,DB名) G06F 11/16 - 11/20 G06F 15/16 - 15/177 G06F 12/16

Claims (8)

    (57)【特許請求の範囲】
  1. 【請求項1】 システムを構成する各現用モジュールを
    冗長化することにより、耐故障性を備えたシステムの冗
    長化方法において、 各モジュール内の一部を切り離して縮退動作可能な構成
    とする縮退可能化ステップと、 各モジュール内のエラーを検出するエラー検出ステップ
    と、 モジュール内の機能要素の何れかにエラーが検出される
    と、同一冗長化モジュール全体に亙って、エラーが検出
    された部分を切り離し、エラーを起したモジュールと同
    一構成として縮退を行う縮退ステップを有することを特
    徴とするシステムの冗長化方法。
  2. 【請求項2】 前記縮退可能化ステップが、各モジュー
    ル内の同一機能要素を複数装備し、エラーが起った場合
    は、複数装備した同一機能要素のエラーを起した機能要
    のみを切り離して動作するステップを有し、縮退動作
    を可能にする請求項1記載のシステムの冗長化方法。
  3. 【請求項3】 前記エラー検出ステップが、各モジュー
    ル内の構成要素のエラーを検出すると共に、縮退動作を
    可能とするために備えられた前記複数の同一機能要素の
    何れかにエラーが検出されたかを判定し、そのエラー情
    報を出力する請求項2記載のシステムの冗長化方法。
  4. 【請求項4】 前記縮退可能化ステップが、各モジュー
    ル内の同一機能要素内を複数のブロックに分割し、エラ
    ーが起った場合は機能要素内のエラーを起した部分を切
    り離すことにより、縮退動作を可能とする請求項1記載
    のシステムの冗長化方法。
  5. 【請求項5】 前記エラー検出ステップが、各モジュー
    ル内の構成要素のエラーを検出すると共に、縮退動作を
    可能とするために分割された前記機能要素のブロックの
    何れかにエラーが検出されたかを判定し、そのエラー情
    報を出力する請求項4記載のシステムの冗長化方法。
  6. 【請求項6】 前記エラー検出ステップが自モジュール
    内にエラーを検出した場合は、冗長化された全ての他モ
    ジュール検出されたエラー情報を通知すると共に、冗
    長化された他モジュールで検出されたエラーのエラー情
    報を受信し、エラー情報に従って冗長化された全モジュ
    ールで同一の機能要素の一部を切り離して縮退動作する
    ように指示を出す機能制御ステップを含む請求項3また
    は5記載のシステムの冗長化方法。
  7. 【請求項7】 前記エラー検出ステップが、各モジュー
    ルの構成要素内のデータにエラー訂正コードを付与する
    ことにより、構成要素内の出力に訂正可能なエラーが検
    出される場合、構成要素内のエラーの発生したデータを
    訂正するエラー訂正ステップを有する請求項1記載のシ
    ステムの冗長化方法。
  8. 【請求項8】 前記エラー検出ステップが、各モジュー
    ルの構成要素内で検出されたエラーが前記エラー訂正ス
    テップで訂正可能な場合は、エラーが検出されなかった
    と同等に前記縮退ステップを実行せず訂正不可能なエラ
    ーのみ前記縮退ステップを実行する請求項7記載のシス
    テムの冗長化方法。
JP29747297A 1997-10-29 1997-10-29 システムの冗長化方法 Expired - Fee Related JP3180737B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP29747297A JP3180737B2 (ja) 1997-10-29 1997-10-29 システムの冗長化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP29747297A JP3180737B2 (ja) 1997-10-29 1997-10-29 システムの冗長化方法

Publications (2)

Publication Number Publication Date
JPH11134210A JPH11134210A (ja) 1999-05-21
JP3180737B2 true JP3180737B2 (ja) 2001-06-25

Family

ID=17846947

Family Applications (1)

Application Number Title Priority Date Filing Date
JP29747297A Expired - Fee Related JP3180737B2 (ja) 1997-10-29 1997-10-29 システムの冗長化方法

Country Status (1)

Country Link
JP (1) JP3180737B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102342640B1 (ko) * 2019-12-31 2021-12-23 주식회사 올스웰 멀티 원심 집진 시스템

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100362761C (zh) * 2004-09-28 2008-01-16 华为技术有限公司 一种实现单板倒换的方法
JP2006195863A (ja) * 2005-01-17 2006-07-27 Fujitsu Ten Ltd エラー検出装置
JP6098778B2 (ja) * 2012-03-29 2017-03-22 日本電気株式会社 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
JP6069951B2 (ja) * 2012-08-23 2017-02-01 日本電気株式会社 フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム
WO2014125606A1 (ja) * 2013-02-15 2014-08-21 三菱電機株式会社 制御装置
US9235485B2 (en) * 2013-07-22 2016-01-12 International Business Machines Corporation Moving objects in a primary computer based on memory errors in a secondary computer

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
大塚壮一,他2名,「PC−9801+V60+Unix+TRON FRM機能とフォールト・トレラント・システムの考え方」,インターフェース,CQ出版,昭和64年1月1日,第15巻,第1号,p.265−273
田中明、他7名,「ACOSシステム3800のRAS」,NEC技報,日本電気,平成4年2月10日,第45巻,第1号,p.34−39
藤原傭隆、他8名,「ACOSシステム3900のRAS」,NEC技報,日本電気,平成6年2月25日,第47巻,第2号,p.20−25

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102342640B1 (ko) * 2019-12-31 2021-12-23 주식회사 올스웰 멀티 원심 집진 시스템

Also Published As

Publication number Publication date
JPH11134210A (ja) 1999-05-21

Similar Documents

Publication Publication Date Title
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
US7600152B2 (en) Configuring cache memory from a storage controller
EP0889409B1 (en) Mirrored write-back cache module warmswap
Spainhower et al. IBM S/390 parallel enterprise server G5 fault tolerance: A historical perspective
US7472236B2 (en) Managing mirrored memory transactions and error recovery
US6505305B1 (en) Fail-over of multiple memory blocks in multiple memory modules in computer system
US7096407B2 (en) Technique for implementing chipkill in a memory system
US6981173B2 (en) Redundant memory sequence and fault isolation
US20060117216A1 (en) Program, storage control method, and storage system
US20090327803A1 (en) Storage control device and storage control method
JPH04338849A (ja) 記憶エラー訂正方法及び過剰エラー状態を報告する方法
JPH0683717A (ja) 大型耐故障不揮発性複数ポート・メモリー
US20040163027A1 (en) Technique for implementing chipkill in a memory system with X8 memory devices
US5632013A (en) Memory and system for recovery/restoration of data using a memory controller
US7076686B2 (en) Hot swapping memory method and system
WO2014099021A1 (en) Multiple computer system processing write data outside of checkpointing
JP2001249911A (ja) データ転送方法及びデータ処理システム
WO2023020031A1 (zh) 一种内存故障恢复方法、系统以及内存
JP3180737B2 (ja) システムの冗長化方法
JP3068009B2 (ja) 冗長化メモリのエラー訂正機構
Abbott et al. Durable memory RS/6000 system design
EP3882774A1 (en) Data processing device and data processing method
WO2021043246A1 (zh) 数据读取方法及装置
JP2005166016A (ja) ディスクアレイ装置
JP3156654B2 (ja) 二重化コンピュータシステムおよびその運用方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees