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

システムの冗長化方法

Info

Publication number
JPH11134210A
JPH11134210A JP9297472A JP29747297A JPH11134210A JP H11134210 A JPH11134210 A JP H11134210A JP 9297472 A JP9297472 A JP 9297472A JP 29747297 A JP29747297 A JP 29747297A JP H11134210 A JPH11134210 A JP H11134210A
Authority
JP
Japan
Prior art keywords
error
module
cpu
detected
output
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.)
Granted
Application number
JP9297472A
Other languages
English (en)
Other versions
JP3180737B2 (ja
Inventor
Shinji Watabe
晋司 渡部
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)

Abstract

(57)【要約】 【課題】 障害によって冗長モジュールがシンプレクス
運転にならないで少なくとも二重化冗長システムの構成
を維持できる冗長化方法の提供。 【解決手段】 各モジュールを少なくとも二重の冗長化
とし、モジュール内各機能を複数に分割してブロック化
するか、各機能要素を複数個備え、モジュール内のいず
れかの機能の一部に障害が発生した場合は、障害の発生
したブロツクまたは障害を起こしている機能要素のみを
切り離して縮退動作させ、さらに平行運転している正常
な冗長モジュールも、障害を起こして縮退動作を行って
いるモジュールと同一構成になるように縮退させて平行
運転させることにより、冗長化性を障害前と同様に維持
することでき、信頼性の高い冗長構成で動作を継続し続
けることが可能になる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、システムの冗長化
方法に関し、特に耐故障性を強化したシステムの冗長化
方法に関する。
【0002】
【従来の技術】従来、情報処理装置を構成するモジュー
ルの何れか1つに障害が発生した場合、システムとして
機能しなくなり、情報処理装置全体が動作できなくな
る。そのため情報処理装置を構成する各モジュールを二
重化するか、または三重化して多数決をとる冗長構成に
することにより、1つのモジュールに障害が発生した場
合でも、冗長化した他のモジュールが動作し続けること
によって、情報処理装置全体には影響を与えることなく
動作し続けることができる。例えば、特開平7−209
94に示されるように、バス、およびバスに接続される
モジュールを二重化し、障害時には二重化された、もう
一方のモジュールが動作し続けることにより、耐故障性
を備えた情報処理装置となっている。
【0003】図9は従来例の基本構成を示す概念図であ
る。ホストアダプタ部901は対上位CPU(ホスト)
接続論理モジュールであり、ディスクアダプタ部902
は対記憶媒体接続用論理モジュールであるディスクアダ
プタ部、キャッシュメモリパケージ903は両モジェー
ル間で転送されるデータを一時記憶するキャッシュメモ
リ装置(キャッシュメモリモジュール)、コモンバス9
04はホストアダプタ901,ディスクアダプタ90
2,キャッシュメモリパッケージ903の間のデータ転
送制御を司り、アレイディスク905は縦横にアレイ状
に配置した記憶媒体である。
【0004】ホストアダプタ901は、上位インタフェ
ース側のデータ形式、およびアドレス形式を記憶媒体イ
ンタフェース用のデータ形式及ぴアドレス形式に変化す
る手段と、これらを制御管理するマイクロプロセツサを
有している。ディスクアダプタ902は、記憶媒体ヘデ
ータを格納するためのアドレス演算機能と、記憶データ
保証用冗長データの生成機能と、記憶媒体構成情報を認
識する機能と、これらを制御管理するマイクロプロセッ
サを有している。
【0005】第10図は従来例の装置各モジュールにお
ける多重化と縮退運転を示した図である。921は2ポ
ート化されたチャネルパスであり、ホストアダプタ90
1にはチャネルパスアダプタ929が2モジュール、対
上位用チャネルパスが4パス実装しており、障害発生時
は交替チャネルアダブタ(CHP)、交替チャネルパス
を使用して縮退運転に入る。
【0006】SCSIパス922はディスクアダプタ9
02とアレイディスク605の間のインタフェースを司
るパスで、1行の磁気ディスク群に対して別のディスク
アダプタ902からもアクセス可能なように二重化して
おり、当パスに障害が発生した場合は交替SCSIパス
を使用して縮退運転に入る。
【0007】また、アレイディスクマスタの制御を行う
DMP992も二重化しており、障害発生時は交替DM
P992を使用して縮退運転に入る。共有メモリ91
8、キャツシュメモリ920も二重化しており、共有メ
モリに障害が発生した場合は残るもう一方を使用して縮
退運転には入り、キャッシュメモリに障害が発生した場
合はライトベンディングデータをディスクにデステージ
し、障害発生キャッシュメモリを除いたキャッシュメモ
リで縮退運転を行う。アレイディスク605上の磁気デ
ィスクに障害が発生した場合は、当該磁気ディスクを切
り離し、予備の磁気ディスクに修復しながら読み出し書
き込みの動作を行う。
【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,1314)と、エラー検出回路のエラー情報
出力より自モジュール内にエラーが検出されたことを通
知された場合は、自モジュール内のエラー発生部所を切
除して他の正常な機能要素に切り換え、同時に冗長化さ
れた全ての他モジュールに自モジュール内で検出された
エラー情報を通知し、他モジュールで検出されたエラー
のエラー情報を受信すると、該エラー情報に従って自モ
ジュール内の該当部所を切り離して縮退動作するように
指示を出す構成制御回路(図1の15,16)とを有す
る。
【0014】さらに、エラー検出回路に構成要素内のデ
ータにエラー訂正コードを付与し、構成要素の出力に訂
正可能なエラーが検出された場合、構成要素内のエラー
が発生したデータを修正するエラー訂正回路(図2の2
06)と、構成要素の出力に検出されたエラーが訂正可
能なエラーであればエラー検出されたことを構成制御部
に通知せず、訂正不可能なエラーであればエラーが検出
されたことを構成制御部に通知する訂正不可能エラーチ
ェック回路(図2の205)とを有する。
【0015】本発明のシステムの冗長化方法は、モジュ
ール内の各機能の構成要素を複数にブロック化するか、
または同一機能要素を複数個備えることによって縮退動
作を可能とし、何れかのモジェール内の機能要素に障害
が発生した場合、システムから切り離す単位を障害が発
生した機能要素に局所化して縮退し、更に障害の発生し
ていない他モジェールにも、どの構成要素に障害が発生
したかを通知し、他モジエールも通知された情報に従っ
て障害の発生したモジュールと同一構成に制御すること
により、障害モジュールの交換までの時間の間も以前と
変わらない冗長構成で動作し続けることが可能であり、
障害発生時以降にシングルオペレーションになることに
より起こる可能性のあるシステムダウンすることのない
信頼性の高い冗長化を実現することができる。
【0016】また、上記の構成要素内のデータにエラー
訂正コードを付与し構成要素の出力にエラーが検出され
た場合でも、検出されたエラーが訂正可能な場合はエラ
ー報告を行わず、構成要素内のエラーの発生したデータ
を訂正する。
【0017】検出されたエラーが訂正不可能な場合の
み、エラーが発生した機能要素を切除して縮退し、同時
に他モジュールに通知する。これにより、縮退動作を行
う確率そのものを低くして、より信頼性の高い情報処理
装置を可能にする。
【0018】
【発明の実施の形態】次に、本発明の実施形態を図面を
参照して詳細に説明する。図1は本発明のシステムの冗
長化方法が適用されたシステムの説明用基本ブロック図
である。
【0019】このシステムは、モジュールal9とモジ
ュールb20に二重化した構成である。モジュールal
9とモジュールb20は同一の構成要素を備えているた
め、モジュールal9の構成要素を中心に説明する。
【0020】CPUIlとCPUJ2は演算処理を行
い、同一機能を複数個備えたマルチCPU構成になって
いる。一方に障害が発生した場合は、縮退してもう一方
のみで動作可能である。
【0021】CPUエラー検出回路5はCPUIlとC
PUJ2のエラーを検出し、また、CPUIlまたはC
PUJ2のどちらにエラーが検出されたかも判定して出
力する。
【0022】図3はCPUIlとCPUJ2とに対する
CPUエラー検出回路5の実施形態の1つである。CP
UIlとCPUJ2をエラーチェックのためにそれぞれ
を二重化して、CPUIa301、CPUIb302、
およびCPUJa303、CPUJb304を備えてい
る。
【0023】比較回路I305はCPUIa301とC
PUIb302を比較することでCPUIlのエラーを
検出する。比較回路J306はCPUJa303とCP
UJb304を比較することでCPUJ2のエラーを検
出する。
【0024】また、図5の実施の形態はCPUIlと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はCPUIl、および
CPUJ2がメインメモリ11のデータに高速にアクセ
スすることを目的として、メインメモリ11のデータを
一時的に記憶する小容量で高速のメモリである。ここで
はキャッシュメモリをブロック0〜3の4つにプロック
化し、ブロック毎の縮退動作を可能にしている。キャッ
シュエラー検出回路9はキャッシュメモリ7のエラーを
検出し、また、4つの中のどのブロックにエラーが検出
されたかも判定して出力する。
【0029】図4はキャツシメモリ7とキャッシュエラ
ー検出回路9の1つである。ブロック番号判定回路40
1はキャッシュメモリ7をアクセスした際のアドレスよ
り、どのブロックにアクセスしたかを判定する回路であ
る。ブロック番号保持レジスタ402はプロック番号判
定回路401の出力を保持する。キャッシュメモリ7は
保持するデータに対するエラーチェックを行うためのエ
ラーチェックコードを付与される。エラーチェック回路
404はキャツシメモリ7から出力されるデータと、そ
のデータに付与されているエラーチェックコードにより
エラーの検出を行う。
【0030】メインメモリ11はプログラムデータを記
憶する記憶装置である。ここではメインメモリ11をブ
ロック0〜3の4つにブロック化し、縮退動作を可能に
している。
【0031】メモリエラー検出回路13はメインメモリ
11のエラーを検出し、また、4つの中のどのプロック
にエラーが検出されたかも判定して出力する。
【0032】構成制御回路15はモジュールal9内の
CPUエラー検出回路5またはキャッシュュエラー検出
回路9またはメモリエラー検出回路13でエラーが検出
された場合は、エラーが検出された機能、およびその機
能内のブロック番号を構成通知線al7によつてもう一
方のモジユールb20の構成制御回路16に通知する。
同様にしてモジュールb20内で検出されたエラーに関
しては、構成制御回路16より構成通知線bl8によっ
て通知される。
【0033】また、構成制御回路15はモジュールal
9内でエラーの検出された機能のブロック、または構成
制御回路16からの通知に基づくモジュールb20内で
エラーの検出された機能要素、またはブロックを無効に
する指示を行う。モジュールal9とモジュール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構成制御回路605はお
互いに自モジュール内の構成を通知し合い、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のモジュールal9とモジュールb2
0は同一の構成要素を備えているため、モジュールal
9の構成要素を中心に説明すると、CPUIlとCPU
J2は、それぞれ演算処理を行い、同一機能を複数備え
たマルチCPU構成になっている。一方に障害が発生し
た場合は、縮退してもう一方のみのシングルCPUで動
作可能である。
【0044】CPUエラー検出回路5はCPUIlとC
PUJ2の出力をチェックしてエラーを検出し、また、
CPUIlまたはCPUJ2のどちらにエラーが検出さ
れたかも判定して出力する。
【0045】図3はCPUIlとCPUJ2とCPUエ
ラー検出回路5の詳細な実施形態の1つである。演算処
理を行うCPUIlとCPUJ2のエラーチェックは、
最も単純にそれぞれ二重化して出力を比較することでエ
ラーチェックを行うことが望ましく、その場合は、それ
ぞれCPUIa301、CPUIb302、およびCP
UJa303、CPUJb304構成とする。
【0046】比較回路I305はCPUIa301とC
PUIb302の出力を比較することでCPUIlのエ
ラーを検出する。比較回路J306はCPUJa303
とCPUJb304の出力を比較することでCPUJ2
のエラーを検出する。比較回路I305と比較回路J3
06はそれぞれ、比較結果が等しくない場合に1が出力
される。
【0047】また、図5の実施の形態はCPUIlと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はCPUIl、および
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はプログラムデータを記
憶する記憶装置である。ここではメインメモリllをブ
ロック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の出力にエラーが検出された場合で
も、検出されたエラーが訂正可能なエラーである場合は
構成制御回路l5にエラー報告を行わず検出されたエラ
ーが訂正不可能なエラーである場合にのみ構成制御回路
15にエラー報告を行う。これにより致命的な障害でな
い限りエラー報告がなくなり、エラー報告の頻度を減ら
すことができる。
【0064】エラー訂正回路206は、メインメモリ1
1から出力されるデータとそのデータに付与されている
エラーチェック&訂正コードにより、まずエラーチェッ
クを行って、その結果エラーが検出され、かつ検出され
たエラーが訂正可能なエラーである場合はそのエラーを
訂正して出力すると同時に、エラーを訂正したデータを
メインメモリ11ヘライトするための指示を行う。
【0065】データ選択回路204はメインメモリ11
内のエラーを起こしているデータを修正するために、エ
ラー訂正回路206からの指示に従って、通常のデータ
パスからエラー修正用のデータパスに切り替えて、エラ
ー訂正回路206からの訂正データを選択して出力す
る。
【0066】構成制御回路15はモジュールal9内の
CPUエラー検出回路5またはキャッシュエラー検出回
路9またはメモリエラー検出回路13でエラーが検出さ
れて通知された場合は、エラーが検出された機能、およ
びその機能内のプロツク番号を構成通知線al7によっ
てもう一方のモジュールb20の構成制御回路16に通
知する。同様にしてモジュールb20内で検出されたエ
ラーに関しては、構成制御回路16より構成通知線bl
8によって通知される。
【0067】また、構成制御回路l5はモジュールal
9内でエラーの検出された機能要素/ブロック、または
構成制御回路16からの通知に基づくモジュールb20
内でエラーの検出された機能要素/ブロックに該当する
機能要素/ブロックを無効にする指示を行う。この時、
構成制御回路16も全く同じ指示を行うため、モジュー
ルal9とモジュールb20は全く同じ構成で縮退動作
を行い、どちらか一方のモジュールに障害が発生して
も、変わらずに二重化動作を継続し続ける。
【0068】モジュールal9とモジュールb20は、
二重化されたバスであるシステムバスa21とシステム
バスb22の両方に接続されている。
【0069】次に、図6を説明する。図6に示すシステ
ムは各モジュールが細かく細分化され、CPUの機能部
は三重化されている。
【0070】演算処理を行うCPU機能部は三重化構成
をとり、CPUa601、CPUb602、CPUc6
03により三重化される。図6は基本的な概念のみを示
しているが、それぞれのCPU機能部は図1のモジュー
ルal9、モジュール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構成制御回路609と多数決
論理b構成制御回路610は、お互いに自モジュール内
の構成を通知し合い、何れかに障害が発生した場合でも
二重化動作を続けられるように、多数決論理a607と
多数決論理b608を同一の構成に縮退して動作するよ
うに制御する。
【0074】プログラムデータを格納するメモリa61
1とメモリb612も二重化構成をとり、多数決論理a
607と多数決論理b608の両方の出力を入力する。
多数決論理a608と多数決論理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に示す情報処理装置はモジュールal
9とモジエールb20で二重化される。モジュールal
9とモジュールb20は同一の構成要素を備えているた
め、モジュールal9の構成要素を中心に説明する。
【0079】CPUIlとCPUJ2はそれぞれ演算処
理を行い、同一機能を複数備えたマルチCPU構成にな
っている。一方のCPUに障害が発生した場合は、縮退
してもう一方のCPUみのシングルCPUで動作可能で
ある。ただし、縮退して一方のみのシングルCPUで動
作する場合は、演算処理性能がマルチの場合より落ちる
こととなる。縮退動作については図7のフローチャート
を用いて後述する。
【0080】また、縮退動作時に演算処理性能が落ちる
ことない構成に関しては、図5を参照して後述する。
【0081】CPUエラー検出回路5はCPUIlと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の出力を比較することでCPUIl
のエラーを検出する。比較回路J306はCPUJa3
03とCPUJb304の出力を比較することでCPU
J2のエラーを検出する。比較回路I305と比較回路
J306はそれぞれ、比較結果が等しくない場合に1が
出力される。
【0084】また、図5の実施例はCPUIlと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に
示すCPUIlで障害が発生した場合の縮退動作につい
て説明する。
【0093】CPUエラー検出回路5によりCPUIl
の出力にエラーが検出されと(ステップ71)、そのエ
ラー情報が構成制御回路15、および構成制御回路16
に通知される(ステップ72)。障害CPUの切除を指
示し(ステップ73)、エラー発生が自モジュールか否
かを確認し(ステップ74)、構成制御回路15からは
CPUllを切り離す指示を行い(ステップ76)、構
成制御回路16からはCPUI3を切り離す指示を行う
(ステップ76)。この時、実際に障害を起こしている
ため切り離されるCPUIlと、構成を同一にするため
に切り離されるCPUI3では処理が異なる。
【0094】障害の起こっているCPUIlは切り離し
の処理をそのまま実行するが、障害の起こっていないC
PUI3はそのまま切り離すと、CPUIlとCPUI
3上で処理されていたプロセス情報が失われ、以降の動
作が保証できなくなる。そのため、正常に動作している
CPUI3のプロセス情報をメインメモリ11とメイン
メモリ12の両方のモジュールのメインメモリに退避さ
せる処置を行う。この時、モジュールb20のCPUI
3より両モジュールのメインメモリ11,12にプロセ
ス情報を退避する方法として、モジュールb20より自
モジュール以外へのライトを目的としているグローバル
ライトを使用して、ライトトランザクシヨンをシステム
バスに対して発行する。モジュールal9とモジュール
b20の両方がシステムバスよりそのライトトランザク
シヨンを受け取り、最終的に、それぞれメインメモリ1
1と、メインメモリ12にCPUI3からのプロセス情
報がライトされる。CPUI3はこのプロセス情報の退
避処理の完了後に切り離される。
【0095】CPUIlで障害が発生した場合の縮退動
作は、以上のようなフローに従ってCPUIlと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に
格納されているデータとは異なる、つまりCPUIlま
たは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はモジュールal9内の
CPUエラー検出回路5、キャッシュエラー検出回路
9、またはメモリエラー検出回路13でエラーが検出さ
れて通知された場合は、エラーが検出された機能、およ
びその機能内のブロック番号を構成通知線al7によっ
て、もう一方のモジュールb20の構成制御回路16に
通知する。同様にしてモジュールb20内で検出された
エラーに関しては、構成制御回路16より構成通知線b
l8によって構成制御回路15に通知される。
【0122】構成制御回路15はモジュールal9内で
エラーの検出された機能のブロックを切除する指示を
し、構成制御回路16からの通知に際しては、該通知に
該当する機能のブロックを無効にする指示を行う。この
時、構成制御回路16も全く同じ指示を行うため、モジ
ュールal9とモジュールb20は全く同じ構成で縮退
動作を行い、どちらか一方のモジュールに障害が発生し
ても、変わらずに二重化動作を継続し続ける。構成制御
回路から障害を起こした機能を切り離す方法としては、
構成制御回路からCPUに割り込みを発信し、CPUは
その一連の割り込みの処理として障害を起こした機能を
切り離す方法などがある。
【0123】モジュールal9とモジュールb20は、
二重化されたバスであるシステムバスa21とシステム
バスb22の両方に接続される。モジェールal9とモ
ジュールb20はそれぞれシステムバスa21とシステ
ムバスb22の両バスにデータを送信し、両バスからデ
ータを受信する。これにより、システムとしてはモジュ
ールal9とモジュールb20、またはシステムバスa
21とシステムバスb22のそれぞれの一方が完全に切
り離された場合でも、動作し続けることが可能である。
【0124】以上により図1示す実施例においては、モ
ジュール内の何れかの機能に障害が発生した場合でも、
障害の発生したモジュール全体を切り離さず、障害を起
こしたモジュール内の機能の一部を切り離し、更に構成
が異なると二重化されたモジュールの同期動作が不可能
になるため、正常な側のモジエールを障害を起こした側
のモジュールと同一構成になるように制御し、その結
果、二重化モジュールは障害を起こしても変わらずに信
頼性の高い二重化構成のまま動作し続けることが可能に
なる。
【0125】次に、図6に示すシステムの動作について
説明する。このシステムの冗長化構成の本概念は、図1
のシステムと比較すると各モジュールは綱かく細分化さ
れ、特にCPUの機能部は三重化されているのが特徴で
ある。
【0126】演算処理を行うCPU機能部は三重化構成
をとり、CPUa601、CPUb602、CPUc6
03により三重化される。図6は基本的な概念のみを示
しているが、それぞれのCPU機能部は図1のモジュー
ルal9、モジュールb20と同等に縮退可能な構成
で、図3や図5のようなエラー検出構成をとる。
【0127】CPUa601、CPUb602、CPU
c603の出力は、それぞれ二重化構成をとる多数決論
理a607、および多数決論理b608で多数決論理を
とることにより、何れか1つのCPUに障害が発生して
エラーのあるデータを出力した場合でも、多数決論理a
607、および多数決論理b608によりエラーのない
正しいデータを選択して出力する。
【0128】CPUa構成制御回路604、CPUb構
成制御回路605、CPUc構成制御回路605はお互
いに自モジュール内の構成を通知し合い、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)

Claims (8)

    【特許請求の範囲】
  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 true JPH11134210A (ja) 1999-05-21
JP3180737B2 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 (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006195863A (ja) * 2005-01-17 2006-07-27 Fujitsu Ten Ltd エラー検出装置
CN100362761C (zh) * 2004-09-28 2008-01-16 华为技术有限公司 一种实现单板倒换的方法
JP2013206278A (ja) * 2012-03-29 2013-10-07 Nec Corp 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
JP2014041503A (ja) * 2012-08-23 2014-03-06 Nec Corp フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム
WO2014125606A1 (ja) * 2013-02-15 2014-08-21 三菱電機株式会社 制御装置
JP2016528616A (ja) * 2013-07-22 2016-09-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セカンダリ・コンピュータ中のメモリ・エラーに応じたプライマリ・コンピュータ中のオブジェクトの移動

Families Citing this family (1)

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

Cited By (9)

* 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 エラー検出装置
JP2013206278A (ja) * 2012-03-29 2013-10-07 Nec Corp 冗長化システム、冗長化方法、冗長化システムの可用性向上方法、及びプログラム
US9195553B2 (en) 2012-03-29 2015-11-24 Nec Corporation Redundant system control method
JP2014041503A (ja) * 2012-08-23 2014-03-06 Nec Corp フォールトトレラントコンピュータシステム、フォールトトレラントコンピュータシステムの起動方法およびフォールトトレラントコンピュータシステムの起動プログラム
WO2014125606A1 (ja) * 2013-02-15 2014-08-21 三菱電機株式会社 制御装置
JP6029737B2 (ja) * 2013-02-15 2016-11-24 三菱電機株式会社 制御装置
US9952579B2 (en) 2013-02-15 2018-04-24 Mitsubishi Electric Corporation Control device
JP2016528616A (ja) * 2013-07-22 2016-09-15 インターナショナル・ビジネス・マシーンズ・コーポレーションInternational Business Machines Corporation セカンダリ・コンピュータ中のメモリ・エラーに応じたプライマリ・コンピュータ中のオブジェクトの移動

Also Published As

Publication number Publication date
JP3180737B2 (ja) 2001-06-25

Similar Documents

Publication Publication Date Title
US7600152B2 (en) Configuring cache memory from a storage controller
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
US7320086B2 (en) Error indication in a raid memory system
US5379417A (en) System and method for ensuring write data integrity in a redundant array data storage system
US7900084B2 (en) Reliable memory for memory controller with multiple channels
US6981173B2 (en) Redundant memory sequence and fault isolation
EP0889409B1 (en) Mirrored write-back cache module warmswap
US20040168101A1 (en) Redundant memory system and memory controller used therefor
US20090327803A1 (en) Storage control device and storage control method
JP4456552B2 (ja) 動的代替機能を持つ論理集積回路、これを用いた情報処理装置及び論理集積回路の動的代替方法
JPH04338849A (ja) 記憶エラー訂正方法及び過剰エラー状態を報告する方法
US5632013A (en) Memory and system for recovery/restoration of data using a memory controller
US7076686B2 (en) Hot swapping memory method and system
JP2001249911A (ja) データ転送方法及びデータ処理システム
JP3180737B2 (ja) システムの冗長化方法
JP3068009B2 (ja) 冗長化メモリのエラー訂正機構
EP3882774B1 (en) Data processing device
WO2021043246A1 (zh) 数据读取方法及装置
JP2005166016A (ja) ディスクアレイ装置
JP3156654B2 (ja) 二重化コンピュータシステムおよびその運用方法
JP2004171373A (ja) ディスクアレイ装置
US20030221058A1 (en) Mirrored computer memory on single bus
JPH04241039A (ja) ベーシックプロセッシングユニット及び高信頼化コンピュータシステム

Legal Events

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