(57)【要約】【課題】　通常使用するメモリ内のメモリ素子の障害発生前に、交替メモリ素子に関連する論理の障害を検出することのできる交替メモリ素子を有する情報処理装置。【解決手段】　メモリ部１内のメモリ素子１００〜１７１の障害発生前に、メモリ部１の書き込みデータから生成したデータを交替メモリ素子２に書き込む。また、読み出したメモリ部１内のメモリ素子のデータと交替メモリ素子２のデータとから交替メモリ素子２に関連する論理の障害をチェックする。【選択図】　　　図１
2004110858.tif 000002
【特許請求の範囲】
【請求項１】
　複数のメモリ素子を有するメモリ部と、前記メモリ部から読み出したデータの誤り訂正を行うと共に障害メモリ素子の障害位置情報及びメモリ素子の障害発生を示す障害検出信号を出力する誤り訂正部と、前記メモリ素子の障害時に、その障害メモリ素子と交替させて使用する交替メモリ素子とから成る記憶装置を備えた情報処理装置であって、前記記憶装置は、前記情報処理装置の起動後の動作中に、前記メモリ素子に障害が発生していない時点で、前記メモリ部にデータを書き込むと同時に前記メモリ部に書き込む書き込みデータから生成したデータを前記交替メモリ素子に書き込む書き込み手段と、前記メモリ部からデータを読み出す際に前記交替メモリ素子からデータを読み出す読み出し手段と、前記交替メモリ素子から読み出したデータのエラーを検出する検出手段とから成ることを特徴とする情報処理装置。
【請求項２】
　前記書き込み手段は、所定の書き込み選択情報により前記メモリ部に書き込むデータから前記交替メモリ素子に書き込む所定のデータを選択する手段を有し、前記検出手段は、データの書き込み時に選択したメモリ素子からの読み出しデータを前記交替メモリ素子からの読み出しデータに置き換える手段と、前記誤り訂正部から出力された障害位置情報と前記書き込み選択情報との一致を比較する手段とを有することを特徴とする請求項１記載の情報処理装置。
【請求項３】
　前記書き込み手段は、書き込みデータの全部あるいはその一部のデータのパリティを生成して交替メモリ素子に書き込む手段を有し、前記検出手段は、パリティ生成に用いたデータを書き込んだメモリ素子の読み出しデータと交替メモリ素子の読み出しデータとからパリティチェックを行う手段を有し、前記誤り訂正部からの障害検出信号と前記パリティチェック手段の出力から前記交替メモリ素子の障害発生を判別することを特徴とする請求項１記載の情報処理装置。
【請求項４】
　前記書き込み手段は、書き込みアドレスから得られる書き込み選択情報により前記メモリ部に書き込むデータから前記交替メモリ素子に書き込む所定のデータを選択する手段を有し、前記検出手投は、読み出しアドレスから得られる読み出し選択情報により定まるメモリ素子からの読み出しデータを交替メモリ素子の読み出しデータと置き換える手段と、前記誤り訂正部から出力された障害位置情報と前記読み出し選択情報との一致を比較する手段とを有することを特徴とする請求項１記載の情報処理装置。
【請求項５】
　複数のメモリ素子を有するメモリ部と、前記メモリ素子の障害時に、その障害メモリ素子と交替させて使用する交替メモリ素子とから成る記憶装置を備えた情報処理装置において、前記記憶装置は、前記情報処理装置の起動後の動作中に、前記メモリ素子に障害が発生していない時点で、前記メモリ部にデータを書き込むと同時に前記メモリ部に書き込む書き込みデータから生成したデータを前記交替メモリ素子に書き込む書き込み手段と、前記メモリ部からデータを読み出す際に前記交替メモリ素子からデータを読み出す読み出し手段と、前記交替メモリ素子から読み出したデータのエラーを検出する検出手段とから成ることを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
　本発明は、交替メモリ素子を具備する記憶装置を用いた情報処理装置に係り、特に、メモリ素子の障害時に、障害となったメモリ素子を交替メモリ素子と交替させて使用する交替メモリ機構を有する記憶装置を用いた情報処理装置に関する。
【背景技術】
【０００２】
　データエラーを救済する方法に関する従来技術として、あるデータに対してチェックビットを付加することにより、障害の検出や訂正を行う方法が知られている。この方法は、例えば、８バイト（６４ビット）のデータに対して、８ビットのチェックビットを付加し、誤り訂正機構（ＥＣＣ）を通すことにより、１ビットの誤り訂正を行うことができるようにしたものである。また、さらに記憶装置の信頼性を向上させるために、交替メモリ素子を用意しておき、障害が発生したメモリ素子を交替メモリ素子で置き換えることにより、障害メモリ素子を除去すると共に、引き続きさらにもう１ビットのエラーが発生しても、誤り訂正機構（ＥＣＣ）で誤り訂正を行うことを可能にした技術が知られている。
【０００３】
　前述したような記憶装置に関する従来技術として、例えば、非特許文献１、特許文献１、２等に記載された技術が知られている。
【０００４】
　図７は従来技術による交替メモリ素子を有する記憶装置の構成例を示すブロック図、図８は図７に示す記憶装置の動作例を説明するタイムチャートであり、以下、図７、図８を参照して従来技術による記憶装置の構成と動作とを説明する。図７において、１はメモリ部、１００〜１７１はメモリ素子、２は交替メモリ素子、３、４００〜４７１はセレクタ、５は交替制御部、６は誤り訂正機構（以下、ＥＣＣという）、４０はＡＮＤ回路、５０は回復処理状態ビットラッチ、８０は比較器、２００〜２７１は障害メモリ位置情報ラッチである。
【０００５】
　図７に示す従来技術による記憶装置は、メモリ素子１００〜１７１を有するメモリ部１と、セレクタ３、４００〜４７１と、交替メモリ素子２と、ＥＣＣ６と、障害メモリ位置情報ラッチ２００〜２７１、回復処理状態ビットラッチ５０、ＡＮＤ回路４０及び比較器８０を有する交替制御部５とを備えて構成されている。メモリ素子１００〜１７１は、実際にはそれぞれが複数ビットで構成され、交替メモリ素子２は、メモリ素子１００〜１７１のそれぞれと同数のビットを有している。この記憶装置において、Write#５００〜Write#５７１は、セレクタ３に対するセレクト信号であり、障害メモリ位置情報ラッチ２００〜２７１にセットされている信号である。
【０００６】
　セレクト信号のそれぞれは、メモリ素子１００〜１７１に対応しており、“１”がセットされているセレクト信号に対応するメモリ素子に対する書き込みデータがセレクタ３により選択されて交替メモリ素子２に書き込まれる。セレクト信号Write#５００〜Write#５７１の値が全て“０”であれば、メモリ部１に対する書き込みデータは交替メモリ素子２には書き込まれない。また、“１”がセットされているセレクト信号Write#の数は０または１個でなくてはならない。
【０００７】
　また、図示記憶装置において、Read#６００〜Read#６７１は、セレクタ４００〜４７１に対するセレクト信号であり、これらのセレクタ４００〜４７１は、メモリ素子１００〜１７１に対応して設けられている。そして、セレクト信号Read# の値が“０”の場合、メモリ部１のデータが選択され、“１”の場合、そのセレクト信号Read# に対応するメモリ素子の代わりのデータとして交替メモリ素子２のデータが選択される。“１”がセットされているセレクト信号Read# の数は０または１個でなくてはならない。
【０００８】
　図７に示す従来技術において、いま、メモリ部１内のメモリ素子１０１に障害が発生したものとする。この障害は、メモリ部１の読み出し時に、ＥＣＣ６により検出され、ＥＣＣ６は、メモリ部１からの読み出しデータに対して誤り訂正を行って正しい読み出しデータを出力すると共に、障害メモリ素子の位置、この場合メモリ素子１０１の障害としたので、この障害位置を検出して障害位置情報Bit#３０１を“１”として、交替制御部５の障害メモリ位置情報ラッチ２０１を“１”にセットする。また、ＥＣＣ６は、同時に、回復処理状態ビットラッチ５０を“１”にセットする。
【０００９】
　障害メモリ位置情報ラッチ２０１が“１”にセットされたことにより、図８に示すように、セレクタ３に対するセレクト信号Write#５０１が“１”となり、セレクタ３は、障害メモリ素子１０１に書き込むべきデータを選択するように制御され、メモリ素子１０１に書き込むべきデータと同一のデータが交替メモリ素子２に書き込まれるようになる。しかし、回復処理状態ビットラッチ５０の値とセレクト信号Write#５０１〜Write#５７１の値のそれぞれとのＡＮＤをとる７２個のＡＮＤ回路４０は、回復処理状態ビットラッチ５０がセットされている間、セレクタ４００〜４７１を制御するセレクト信号Read#６００〜Read#６７１の全てを“０”として出力する。
【００１０】
　一方、回復処理状態ビットラッチ５０がセットされたことにより、図示しない制御により、回復処理が開始される。回復処理は、メモリ部１の全アドレスのデータを読み出して書き戻すことにより行われる。その後のデータの読み出しの処理では、回復処理状態ビットラッチ５０がセットされている間、障害メモリ素子１０１のデータが読み出されることになる。そして、この状態でデータを読み出して同一のデータを書き込む処理を行うことにより、障害メモリ素子１０１のデータが交替メモリ素子２に移されて回復処理が行われる。
【００１１】
　前述の回復処理を行う理由は、交替メモリ素子２には、障害メモリ素子１０１の交替素子とされる時点で無効なデータが入っているからである。回復処理中に、１ビットエラーが発生した場合、ＥＣＣ６は、誤り訂正を行っているので、交替メモリ素子２には正しいデータが書き込まれることになる。そして、全アドレスのデータを読み出して書き戻すことによりメモリ全体の回復処理が行われる。その後、図示しない制御により回復処理完了信号１０が発生されて、回復処理状態ビットラッチ５０がリセットされる。これにより、図８に示すように、セレクト信号Read# ６０１の値が“１”となり、セレクタ４０１によって障害メモリ素子１０１に対応するデータが交替メモリ素子２から読み出される。
【００１２】
　障害メモリ素子を交替メモリ素子２に置き換えた後に、ＥＣＣ６により誤りが検出された場合、ＥＣＣ６から出力される障害メモリ素子の障害位置情報Bit#とセレクト信号Read# とを比較器８０を用いて比較することにより、メモリ部１と交替メモリ素子２との障害を切り分ける。比較器８０は、７２ビットのBit#と７２ビットのRead# とのビット列が一致するか否かを比較する。比較の結果の交替メモリ素子障害情報９０が“１”すなわちBit#とRead# とのビット列のパターンが一致した場合、交替メモリ素子２が壊れており、交替メモリ素子障害情報９０が“０”すなわちBit#とRead# とが不一致の場合、ＥＣＣ６から出力されるBit#のメモリ素子が壊れていると判断することができる。
【００１３】
　前述した従来技術による記憶装置は、メモリ部１に障害が発生した後であれば、障害情報９０により、交替メモリ素子２の障害を検出することができる。そして、障害が発生した場合、メモリ素子に障害が発生したことを示す障害検出信号５５、障害メモリ素子の位置を示す障害位置情報Bit#３００〜３７１、交替メモリ素子の障害を示す交替メモリ素子障害情報９０といったメモリ素子の障害情報がコンソール等に出力される。保守員は、これらの情報に基づいて障害メモリ素子の修理手続きを開始することができる。
【非特許文献１】ＩＢＭ　Ｊ．ＲＥＳ．ＤＥＶＥＬＯＰ．　ＶＯＬ．３６　ＮＯ．４　ＪＵＬＹ　１９９２　Ｐ．７６５〜７７９
【特許文献１】特開平１−２５１１４６号公報
【特許文献２】特開平４−１１５３３８号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
　前述した従来技術による交替メモリ素子を具備する記憶装置は、メモリ部１内のメモリ素子に障害が発生し、その素子を交替メモリ素子２に置き換えるまでは、交替メモリ素子２、交替メモリ素子２に書き込むデータを選択するセレクタ３、メモリ部１内のメモリ素子を交替メモリ素子２に置き換えて読み出すセレクタ４００〜４７１を交替メモリ素子２側に置き換えた場合の動作のチェック行っていない。このため、前記従来技術は、メモリ部１内のメモリ素子に障害が発生した後に置き換えられるべき交替メモリ素子２を含む交替メモリ素子２に関連する論理がすでに壊れている場合、正しく動作できない可能性があるという問題点を有している。
【００１５】
　本発明の目的は、前記従来技術の問題点を解決し、交替メモリ素子を有する記憶装置における交替メモリ素子に関連する論理の障害を、交替メモリ素子の使用前に検出可能とした記憶装置を用いた情報処理装置を提供することにある。
【課題を解決するための手段】
【００１６】
　本発明によれば前記目的は、複数のメモリ素子を有するメモリ部と、前記メモリ部から読み出したデータの誤り訂正を行うと共に障害メモリ素子の障害位置情報及びメモリ素子の障害発生を示す障害検出信号を出力する誤り訂正部と、前記メモリ素子の障害時に、その障害メモリ素子と交替させて使用する交替メモリ素子とから成る記憶装置を備えた情報処理装置であって、前記記憶装置が、前記情報処理装置の起動後の動作中に、前記メモリ素子に障害が発生していない時点で、前記メモリ部にデータを書き込むと同時に前記メモリ部に書き込む書き込みデータから生成したデータを前記交替メモリ素子に書き込む書き込み手段と、前記メモリ部からデータを読み出す際に前記交替メモリ素子からデータを読み出す読み出し手段と、前記交替メモリ素子から読み出したデータのエラーを検出する検出手段とから成ることにより達成される。
【００１７】
　また、前記目的は、複数のメモリ素子を有するメモリ部と、前記メモリ素子の障害時に、その障害メモリ素子と交替させて使用する交替メモリ素子とから成る記憶装置を備えた情報処理装置において、前記記憶装置が、前記情報処理装置の起動後の動作中に、前記メモリ素子に障害が発生していない時点で、前記メモリ部にデータを書き込むと同時に前記メモリ部に書き込む書き込みデータから生成したデータを前記交替メモリ素子に書き込む書き込み手段と、前記メモリ部からデータを読み出す際に前記交替メモリ素子からデータを読み出す読み出し手段と、前記交替メモリ素子から読み出したデータのエラーを検出する検出手段とから成ることにより達成される。
【発明の効果】
【００１８】
　本発明によれば、通常使用するメモリ内のメモリ素子に障害が発生する前に交替メモリ素子の障害の検出を行うことができる。
【発明を実施するための最良の形態】
【００１９】
　以下、本発明による情報処理装置の実施形態を図面により詳細に説明する。
【００２０】
　図１は本発明の第１の実施形態による情報処理装置で使用する交替メモリ素子を有する記憶装置の構成例を示すブロック図、図２は図１に示す記憶装置の動作例を説明するタイムチャートである。図１において、５１は障害発生状態ビットラッチ、３０、３１はセレクタ、４３はＡＮＤ回路、７０は切替器であり、他の符号は図７の場合と同一である。
【００２１】
　図１に示す本発明の第１の実施形態で使用する記憶装置は、図７により説明した従来技術の記憶装置における交替制御部５内に、障害が発生したか否かを表わす情報を格納する障害発生状態ビットラッチ５１、一定時間毎に“０”、“１”を出力する切替器７０、障害発生の前後で、セレクト信号Write#５７１、Read# ６７１にセットする値を切り替えるセレクタ３０、３１を追加して構成されており、その他の構成は従来技術の場合と同一である。
【００２２】
　図１に示す記憶装置の初期状態において、障害発生状態ビットラッチ５１は“０”に設定されている。これにより、セレクタ３０は、セレクタ３に対するセレクト信号Write#５７１を“１”とするので、メモリ素子１７１に対する書き込みデータが交替メモリ素子２に書き込まれるようになる。また、同時に、セレクタ３１は、一定時間毎に“０”、“１”の信号を切り替えて出力している切替器７０の出力を選択してセレクト信号Read# ６７１として出力するので、図２に示すように、セレクト信号Read# ６７１は、一定時間毎に“０”、“１”に切り替えられる。この結果、セレクタ４７１の出力は、セレクト信号Read# ６７１の値に応じてメモリ素子１７１のデータ、交替メモリ素子２のデータを交互に出力することになる。
【００２３】
　ＥＣＣ６が障害を検出した場合、比較器８０は、ＥＣＣ６から出力される障害位置情報Bit#とセレクト信号Read# の値とを比較する。比較器８０の出力である交替メモリ素子障害情報９０が“１”すなわちBit#とRead# の値とが等しい場合、交替メモリ素子２が壊れており、交替メモリ素子障害情報９０が“０”すなわちBit#とRead# の値とが等しくない場合、メモリ部１内のメモリ素子が壊れていると判断することができる。本発明の第１の実施形態によれば、これにより、メモリ部１内のメモリ素子に障害が発生する前に、交替メモリ素子２の障害を検出することができる。
【００２４】
　図１に示す本発明の第１の実施形態において、いま、メモリ部１内のメモリ素子１０１に障害が発生したものとする。この障害は、メモリ部１の読み出し時に、ＥＣＣ６により検出され、ＥＣＣ６は、メモリ部１からの読み出しデータに対して誤り訂正を行って正しい読み出しデータを出力すると共に、障害発生状態ビットラッチ５１、回復処理状態ビットラッチ５０、障害メモリ位置情報ラッチ２０１を“１”にセットする。障害発生状態ビットラッチ５１が“１”にセットされると、セレクタ３０、３１は、障害メモリ位置情報ラッチ２７１を選択する。但し、セレクト信号Read# は、回復処理状態ビットラッチ５０が“１”であるため、ＡＮＤ回路４０により全て“０”にされる。そして、回復処理は、従来技術の場合と同様に、障害メモリ素子１０１を含むメモリ部１のデータのみを読み出して、ＥＣＣ６を通してデータの誤りを訂正し、障害メモリ素子１０１のデータを交替メモリ素子２に書き込むことにより行われる。
【００２５】
　障害メモリのデータを交替メモリ素子２に全て移動した後、回復処理完了信号１０を用いて回復処理状態ビットラッチ５０がリセットされる。これにより、図２に示すように、セレクト信号Read# ６０１の値が障害メモリ位置情報と等しい“１”となり、セレクタ４０１によって障害メモリ素子１０１に対応するデータが交替メモリ素子２から読み出される。
【００２６】
　また、交替メモリ素子２に障害が発生した場合、障害発生状態ビットラッチ５１がセットされる。しかし、ＡＮＤ回路４３により障害メモリ位置情報ラッチ２００〜２７１には、交替メモリ素子２が壊れたことを示すため、その全てに“０”がセットされているため、交替メモリ素子２へのデータの書き込みは行われない。そして、メモリ部１内のメモリ素子のデータを交替メモリ素子２のデータに置き換えることも行わない。また、交替メモリ素子２で障害が発生した場合、回復処理を行っても構わないが、回復処理を行っても意味がない。このため、ＡＮＤ回路４４は、回復処理状態ビットラッチ５０をセットしないように制御され回復処理は行われない。
【００２７】
　そして、障害が発生した場合、メモリ素子に障害が発生したことを示す障害検出信号５５、障害メモリ素子を示す障害位置情報Bit#３００〜Bit#３７１、交替メモリ素子２の障害を示す交替メモリ素子障害情報９０といったメモリ素子の障害情報がコンソール等に出力される。
【００２８】
　前述した本発明の第１の実施形態は、メモリ素子の交替前、メモリ素子１７１に対するデータを交替メモリ素子２にリード／ライトするとして説明したが、交替メモリ素子２にリード／ライトするデータは、メモリ素子１７１に対するデータに限らずメモリ部１内のどのメモリ素子に対するデータであってもよい。また、障害は、メモリ素子１０１、交替メモリ素子２以外で起きてもかまわない。
【００２９】
　図３は本発明の第２の実施形態による情報処理装置で使用する交替メモリ素子を有する記憶装置の構成例を示すブロック図、図４は図３に示す記憶装置の動作例を説明するタイムチャートである。図３において、２０はパリティジェネレータ、２１はパリティチェッカ、４２はＡＮＤ回路であり、他の符号は図１の場合と同一である。
【００３０】
　図３に示す本発明の第２の実施形態で使用する記憶装置は、図７により説明した従来技術の記憶装置における交替制御部５内に、障害が発生したか否かを表わす障害発生状態ビットラッチ５１を設け、メモリ部１内のメモリ素子の障害前に、メモリ部１に書き込むデータのパリティデータを生成して、このデータを交替メモリ素子２に書き込むようにする論理であるパリティジェネレータ２０、及び、メモリ部１内メモリ素子の障害前に、メモリ部１と交替メモリ素子２とから読み出したデータのパリティチェックを行う論理であるパリティチェッカ２１を加えて構成されており、その他の構成は従来技術の場合と同一である。
【００３１】
　図３に示す記憶装置の初期状態において、障害発生状態ビットラッチ５１は“０”に設定されている。これにより、ＡＮＤ回路４１は、メモリ部１への書き込みデータのパリティデータを選択することを示すセレクタ３に対するセレクト信号Write#５７２を“１”にセットし、セレクタ３にパリティデータを選択させ、パリティデータを交替メモリ素子２に書き込む。また、データを読み出す際、パリティチェッカ２１は、パリティジェネレート時に用いたメモリ部１のデータと交替メモリ素子２のデータとを用いてパリティチェックを行う。そして、ＥＣＣ６でエラーが検出されず、パリティチェッカ２１でパリティエラーが検出された場合、交替メモリ素子２が壊れており、ＥＣＣ６でエラーが検出された場合、ＥＣＣ６が出力した障害位置情報Bit#で指摘されたメモリ部１内のメモリ素子が壊れていると判断することができる。
【００３２】
　前述したように、本発明の第２の実施形態においても、メモリ部１内のメモリ素子に障害が発生する前に、交替メモリ素子２に障害があることを検出することができる。
【００３３】
　なお、前述では、メモリ部１に対するデータの全部を用いてパリティを生成し、チェックするとして説明したが、本発明は、メモリ部１に対するデータの一部を用いてパリティを生成し、チェックするようにしてもよく、また、パリティとして奇遇どちらを用いてもよい。
【００３４】
　図３に示す本発明の第２の実施形態において、いま、メモリ部１内のメモリ素子の１つに障害が発生したものとする。ＥＣＣ６は、この障害を検出して障害検出信号５５を発し、障害発生状態ビットラッチ５１をセットする。これにより、ＡＮＤ回路４１は、セレクタ３に対するセレクト信号Write#５７２を“０”とするので、セレクタ３は、交替メモリ素子２にメモリ部１に対するデータのパリティデータの書き込みを行わない。また、メモリ部１に対するデータと交替メモリ素子２のデータとのパリティチェックの結果は、ＡＮＤ回路４２によって無視される。その後の回復処理以降の動作は、前述した第１の実施形態の場合と同様に行われる。
【００３５】
　そして、障害が発生した場合、メモリ素子に障害が発生したことを示す障害検出信号５５、障害メモリ素子を示す障害位置情報Bit#３００〜Bit#３７１、交替メモリ素子２の障害を示す交替メモリ素子障害情報９０、９１といったメモリ素子の障害情報がコンソール等に出力される。
【００３６】
　図５は本発明の第３の実施形態による情報処理装置で使用する交替メモリ素子を有する記憶装置の構成例を示すブロック図、図６は図５に示す記憶装置の動作例を説明するタイムチャートである。図５において、３２はセレクタ、６０はデコーダであり、他の符号は図１の場合と同一である。
【００３７】
　図５に示す本発明の第３の実施形態で使用する記憶装置は、図７により説明した従来技術の記憶装置における交替制御部５内に、障害が発生したか否かを表わす障害発生状態ビットラッチ５１、障害発生の前後で、セレクタ３に対するセレクト信号Write#、セレクタ４００〜４７１に対するセレクト信号Read# にセットする値を切り替えるセレクタ３２、メモリ参照アドレスをデコードするデコーダ６０を加えて構成されており、その他の構成は従来技術の場合と同一である。
【００３８】
　図５に示す記憶装置の初期状態において、障害発生状態ビットラッチ５１は“０”に設定されている。これにより、セレクタ３２は、セレクト信号Write#、Read# として、メモリ参照アドレスをデコードするデコーダ６０の出力を選択してセットする。なお、デコードされるメモリ参照アドレスのデータ、デコーダの構成は任意であるが、例えば、アドレスの任意の７ビットをデコードするものであってもよく、この場合、デコード結果が７２〜１２７の場合、“０”を出力するようにデコーダを構成してよい。
【００３９】
　そして、セレクタ３は、メモリのアドレスに従ってメモリ素子１００〜１７１に対するデータを選択して交替メモリ素子２に書き込み、セレクタ４００〜４７１はアドレスに従ってメモリ部１内のメモリ素子のデータを交替メモリ素子２のデータに置き換えて読み出す。すなわち、本発明の第３の実施形態は、メモリ部１内のメモリ素子に障害が発生する前から、セレクタ３が全てのメモリ部１内のメモリ素子に対する書き込みデータを選択して交替メモリ素子２に書き込みを行い、セレクタ４００〜４７１がメモリ部１内のメモリ素子の全てについて、交替メモリ素子２に切り替えて読み出し行うことになる。
【００４０】
　ＥＣＣ６が障害を検出した場合、ＥＣＣ６から出力される障害メモリ素子の位置を示す障害位置情報Bit#とセレクト信号Read# の値とを比較器８０を用いて比較することにより障害箇所を特定することができる。すなわち、Bit#とRead# とが等しく比較器８０の出力である交替メモリ素子障害情報９０が“１”の場合、交替メモリ素子２のデータパスが壊れており、Bit#とRead# とが等しくなく交替メモリ素子障害情報９０が“０”の場合、メモリ部１のデータパスが壊れていると判断することができる。
【００４１】
　前述したように、本発明の第３の実施形態においても、メモリ部１内のメモリ素子に障害が発生する前に、交替メモリ素子２に障害があることを検出することができる。
【００４２】
　図５に示す本発明の第３の実施形態において、いま、メモリ部１内のメモリ素子１０１に障害が発生したものとする。この障害は、ＥＣＣ６により検出され、この結果ＥＣＣ６の出力により、障害発生状態ビットラッチ５１、回復処理状態ビットラッチ５０、障害メモリ位置情報ラッチ２０１がセットされる。障害発生状態ビットラッチ５１がセットされると、セレクタ３２は、障害メモリ位置情報を選択することになる。しかし、回復処理状態ビットが“１”であるため、ＡＮＤ回路４０により、セレクト信号Read# は全て“０”にされる。その後の回復処理以降の動作は、前述した第１の実施形態の場合と同様に行われる。
【００４３】
　また、交替メモリ素子２に障害が発生した場合、前述と同様に障害発生状態ビットラッチ５１がセットされる。しかし、ＡＮＤ回路４３により障害メモリ位置情報ラッチ２００〜２７１には交替メモリ素子２が壊れたことを示すために、全て“０”がセットされるため、交替メモリ素子２にデータが書き込まれることはない。そして、メモリ部１内のメモリ素子に対するデータと交替メモリ素子２のデータとの置き換えは行われない。また、交替メモリ素子２に障害が発生した場合、回復処理を行っても構わないが、回復処理を行っても意味がない。このため、ＡＮＤ回路４４は、回復処理状態ビットラッチ５０をセットしないように制御され、回復処理は行われない。
【００４４】
　前述した本発明の第３の実施形態は、第１の実施形態の場合と同様に、メモリ素子１０１、交替メモリ素子２に障害が発生した場合について説明したが、本発明は、それ以外のメモリ素子で障害が起きた場合にも同様に動作することができる。そして、障害が発生した場合、第１の実施形態の場合と同様にメモリ素子の障害情報がコンソールなどに出力される。
【００４５】
　前述した本発明の各実施形態によれば、メモリ部１内のメモリ素子に障害が発生する前に交替メモリ素子２の障害の検出を行うことができ、交替メモリ素子２に書き込むデータを選択するセレクタ３を用いて、メモリ部１内の任意のメモリ素子に対するデータを交替メモリ素子２に書き込み、また、セレクタ４００〜４７１を用いてメモリ部１内のメモリ素子と交替メモリ素子２を置き換えて、交替メモリ素子２が使用可能であることをチェックすることができる。
【００４６】
　なお、第２の実施形態は、交替メモリ素子２の障害のみを検出することができ、第１の実施形態は、交替メモリ素子２と、セレクタ３でメモリ素子１７１をセレクトした場合、セレクタ４７１で交替メモリ素子２をセレクトした場合の障害しか検出することができない。
【００４７】
　以上、３つの実施形態について説明したが、これらはいずれもメモリに障害が発生する前から交替メモリ素子２にデータを書き込み、読み出す手段を設け、交替メモリ素子２に関連する論理が正しく動作することをチェックすることにより、メモリ部１の障害発生前に交替メモリ素子２に関連する論理の障害を検出することができる。また、交替メモリ素子２へは、“０”、“１”の両方の値を書き込むことができるので、交替メモリ素子２に関連する論理のＳolidな障害も検出することができる。
【００４８】
　また、前述した本発明の各実施形態によれば、交替メモリ素子２の障害だけでなく、交替メモリ素子２に書き込むデータを選択するセレクタ３、メモリ部１内のメモリ素子と交替メモリ素子２とのデータを置き換えて読み出すセレクタ４００〜４７１等の交替メモリ素子２に関連する論理の障害をメモリ部１の障害発生前に検出することができる。
【００４９】
　さらに、前述した本発明の各実施形態による情報処理装置は、メモリ部を構成するメモリ素子あるいは交替メモリ素子が障害となったとき、情報処理装置の起動後に、記憶装置から出力される障害メモリ素子情報として、交替メモリ素子を含む交替メモリ素子に関連する論理の障害情報を最初に出力させることが可能となる。
【図面の簡単な説明】
【００５０】
【図１】本発明の第１の実施形態による情報処理装置で使用する交替メモリ素子を有する記憶装置の構成例を示すブロック図である。
【図２】図１に示す記憶装置の動作例を説明するタイムチャートである。
【図３】本発明の第２の実施形態による情報処理装置で使用する交替メモリ素子を有する記憶装置の構成例を示すブロック図である。
【図４】図３に示す記憶装置の動作例を説明するタイムチャートである。
【図５】本発明の第３の実施形態による情報処理装置で使用する交替メモリ素子を有する記憶装置の構成例を示すブロック図である。
【図６】図５に示す記憶装置の動作例を説明するタイムチャートである。
【図７】従来技術による交替メモリ素子を有する記憶装置の構成例を示すブロック図である。
【図８】図７に示す記憶装置の動作例を説明するタイムチャートである。
【符号の説明】
【００５１】
　１　メモリ
　１００〜１７１　メモリ素子
　２　交替メモリ素子
　３、３０、３１、３２、４００〜４７１　セレクタ
　５　交替制御部
　６　誤り訂正機構（ＥＣＣ）
　２０　パリティジェネレータ
　２１　パリティチェッカ
　４０〜４４　ＡＮＤ回路
　５０　回復処理状態ビット
　５１　障害発生状態ビット
　６０　デコーダ
　７０　切替器
　８０　比較器
　２００〜２７１　障害メモリ位置情報ラッチ
【図１】
2004110858.tif 000003
【図２】
2004110858.tif 000004
【図３】
2004110858.tif 000005
【図４】
2004110858.tif 000006
【図５】
2004110858.tif 000007
【図６】
2004110858.tif 000008
【図７】
2004110858.tif 000009
【図８】
2004110858.tif 000010