(57)【要約】【課題】放射線によるソフトエラーの影響を低減し、信頼性を向上して稼働させる。【解決手段】プログラムを構成するオペコードを含む各種データが記憶される第１ＦｅＲＡＭ１３Ａと、第１ＦｅＲＡＭ１３Ａと同一構成を有し、第１ＦｅＲＡＭ１３Ａに記憶したデータの複製データが記憶される第２ＦｅＲＡＭ１３Ｂと、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂの双方から所定時間間隔を空けて複数回読み出し、各読み出し毎に第１ＦｅＲＡＭ１３Ａから読み出したデータと、第２ＦｅＲＡＭ１３Ｂから読み出したデータと、を比較し、複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータをデータ読出要求に対応する出力データ読出データＤＥ２Ｘとして出力する。【選択図】図２
2009122901.tif 000002
【特許請求の範囲】
【請求項１】
プログラムを構成するオペコードを含む各種データが記憶される第１半導体メモリ部と、
前記第１半導体メモリと同一構成を有し、前記第１半導体メモリ部に記憶したデータの複製データが記憶される第２半導体メモリ部と、
外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第１半導体メモリ部及び前記第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出部と、
前記各読み出し毎に前記第１半導体メモリ部から読み出したデータと、前記第２半導体メモリ部から読み出したデータと、を比較するデータ比較部と、
前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力部と、
を備えたことを特徴とする半導体記憶装置。
【請求項２】
請求項１記載の半導体記憶装置において、
前記データ比較部は、第ｎ（ｎは、正の整数）回目に前記読出部により前記第１半導体メモリから読み出したデータ及び前記第ｎ回目に前記読出部により前記第２半導体メモリから読み出したデータを比較する第ｎ比較部と、
第（ｎ＋１）回目に前記読出部により前記第１半導体メモリから読み出したデータ、前記第（ｎ＋１）回目に前記読出部により前記第２半導体メモリから読み出したデータおよび前記第ｎ比較部において一致した第ｎ回目のデータを比較する第（ｎ＋１）比較部と、
を備えたことを特徴とする半導体記憶装置。
【請求項３】
請求項１または請求項２記載の半導体記憶装置において、
前記データ出力部は、少なくとも前回の読出データと今回の読出データが一致した場合に当該一致したデータを前記データ読出要求に対応する正規の読出データとして出力することを特徴とする半導体記憶装置。
【請求項４】
請求項１ないし請求項３のいずれかに記載の半導体記憶装置において、
前記第１半導体メモリ部及び前記第２半導体メモリ部は、強誘電体メモリとして構成されていることを特徴とする半導体記憶装置。
【請求項５】
請求項１ないし請求項４のいずれかに記載の半導体記憶装置と、
前記データ読出要求を前記第１半導体メモリ部あるいは前記第２半導体メモリ部におけるアドレスを指定して行うデータ処理部と、
前記データ処理部により処理されたデータを格納するメインメモリ装置と、
を備えたことを特徴とする情報処理装置。
【請求項６】
プログラムを構成するオペコードを含む各種データが記憶される第１半導体メモリ部と、前記第１半導体メモリと同一構成を有し、前記第１半導体メモリに記憶したデータの複製データが記憶される第２半導体メモリ部と、を備えた半導体記憶装置を制御するための半導体記憶装置の制御方法において、
外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第１半導体メモリ部及び前記第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出過程と、
前記各読み出し毎に前記第１半導体メモリ部から読み出したデータと、前記第２半導体メモリ部から読み出したデータと、を比較するデータ比較過程と、
前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力過程と、
を備えたことを特徴とする半導体記憶装置の制御方法。
【請求項７】
プログラムを構成するオペコードを含む各種データが記憶される第１半導体メモリ部と、前記第１半導体メモリと同一構成を有し、前記第１半導体メモリに記憶したデータの複製データが記憶される第２半導体メモリ部と、を備えた半導体記憶装置をコンピュータにより制御するための制御プログラムにおいて、
外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第１半導体メモリ部及び前記第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出させ、
前記各読み出し毎に前記第１半導体メモリ部から読み出したデータと、前記第２半導体メモリ部から読み出したデータと、を比較させ、
前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力させる、
ことを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムに係り、特に、命令コード（オペコード）を記憶する半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムに関する。
【背景技術】
【０００２】
従来、中性子などの放射線を被曝するような環境においては、半導体記憶装置のビットの値が変化してしまう「ソフトエラー」という呼ばれる不具合が発生することが知られている。
しかしながら、信頼性の求められる装置、例えば、航空機、宇宙船などにおいて用いられる各種装置、医療機器、原子力関連装置において、特に緊急制御や人命にかかわるフェイルセーフ機能を実現する回路などにあっては、例え、ソフトエラーが発生したような場合であっても、装置が異常状態となるような障害発生を回避する必要がある。
【０００３】
このような考えの下に、特許文献１あるいは特許文献２には、強誘電体メモリと、エラー検出・訂正回路とを組み合わせ障害発生率を低減するという技術が提案されている。
また、特許文献３記載には、メモリを３組用意してエラー検出能力及びエラー訂正納涼区を強化するという技術が提案されている。
さらに、特許文献４には、ＣＰＵ、ＲＯＭ、ＲＡＭで構成するプロセッサモジュールを複数設けることによりシステムに冗長性を持たせ、プロセッサモジュールの多数決で障害の影響を回避する技術が提案されている。
【特許文献１】特開平１０−９７４７２号公報
【特許文献２】特開２００４−１９９７１３号公報
【特許文献３】特開２００４−３８４６８号公報
【特許文献４】特開２００４−１３３４９６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、エラー訂正回路や冗長性を持たせた装置においても、放射線によるソフトエラーの発生は偶発的なものでありエラー訂正回路や冗長性を持たせた部分に障害が起こることが想定される。
また、三重、四重の冗長システムによる多数決は、偶然性が重なると少数が正しい場合を排除することができないとともに、装置そのものが複雑で過剰なものとなるおそれがあった。
【０００５】
また、ＣＰＵの処理や、ＲＡＭ上のデータなどにソフトエラーが発生した場合では、最終的にリセットをかけたり、再起動したり、電源を再投入したりすることができるが、ＲＯＭなどの不揮発性メモリに格納されている命令コードが変化してしまった場合には、対応しきれない場合が生ずる。
そこで、本発明の目的は、放射線によるソフトエラーの影響を低減し、信頼性を向上して稼働させることができる半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記課題を解決するため、本発明の第１の態様は、プログラムを構成するオペコードを含む各種データが記憶される第１半導体メモリ部と、前記第１半導体メモリと同一構成を有し、前記第１半導体メモリ部に記憶したデータの複製データが記憶される第２半導体メモリ部と、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第１半導体メモリ部及び前記第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出部と、前記各読み出し毎に前記第１半導体メモリ部から読み出したデータと、前記第２半導体メモリ部から読み出したデータと、を比較するデータ比較部と、前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力部と、を備えたことを特徴としている。
【０００７】
上記構成によれば、読出部は、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを第１半導体メモリ部及び第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す。
データ比較部は、各読み出し毎に第１半導体メモリ部から読み出したデータと、第２半導体メモリ部から読み出したデータと、を比較する。
データ出力部は、データ比較部の比較結果に基づいて複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータをデータ読出要求に対応する読出データとして出力する。
したがって、１回の読み出しにおいて第１半導体メモリ部及び第２半導体メモリ部から読み出したデータが一致し、かつ、複数回の読み出しにおいて全て一致した場合にのみデータ読出要求に対応する読出データとして出力するので、ソフトエラーの影響を排除することが可能となる。
【０００８】
この場合において、前記データ比較部は、第ｎ（ｎは、正の整数）回目に前記読出部により前記第１半導体メモリから読み出したデータ及び前記第ｎ回目に前記読出部により前記第２半導体メモリから読み出したデータを比較する第ｎ比較部と、第（ｎ＋１）回目に前記読出部により前記第１半導体メモリから読み出したデータ、前記第（ｎ＋１）回目に前記読出部により前記第２半導体メモリから読み出したデータおよび前記第ｎ比較部において一致した第ｎ回目のデータを比較する第（ｎ＋１）比較部と、を備えたことを特徴としている。
【０００９】
上記構成によれば、前記データ比較部の第ｎ比較部は、第ｎ（ｎは、正の整数）回目に読出部により第１半導体メモリから読み出したデータ及び第ｎ回目に読出部により第２半導体メモリから読み出したデータを比較する。
同様に第（ｎ＋１）比較部は、第（ｎ＋１）回目に読出部により第１半導体メモリから読み出したデータ、第（ｎ＋１）回目に読出部により第２半導体メモリから読み出したデータおよび第ｎ比較部において一致した第ｎ回目のデータを比較するので、ｎ回のデータ読み出しで全てデータが一致した場合にのみ、読出データが出力されるので、確実にソフトエラーの影響を排除することができる。
また、前記データ出力部は、少なくとも前回の読出データと今回の読出データが一致した場合に当該一致したデータを前記データ読出要求に対応する正規の読出データとして出力することを特徴としている。
したがって、所定時間間隔を空けた少なくとも２回の読み出しにおいて、データが一致する必要があるので、確実にソフトエラーの影響を排除することができる。
【００１０】
また、前記第１半導体メモリ部及び前記第２半導体メモリ部は、強誘電体メモリとして構成されていることを特徴としている。
構造上、強誘電体メモリは、ソフトエラーに対して耐性が高いので、より一層ソフトエラーの影響を低減することができる。
また、情報処理装置は、上記いずれかに記載の半導体記憶装置と、前記データ読出要求を前記第１半導体メモリ部あるいは前記第２半導体メモリ部におけるアドレスを指定して行うデータ処理部と、前記データ処理部により処理されたデータを格納するメインメモリ装置と、を備えたことを特徴としている。
上記構成によれば、情報処理装置は、確実にソフトエラーの影響を受けていないデータに基づいて処理を行うことができる。
【００１１】
また、プログラムを構成するオペコードを含む各種データが記憶される第１半導体メモリ部と、前記第１半導体メモリと同一構成を有し、前記第１半導体メモリに記憶したデータの複製データが記憶される第２半導体メモリ部と、を備えた半導体記憶装置を制御するための半導体記憶装置の制御方法において、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第１半導体メモリ部及び前記第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出過程と、前記各読み出し毎に前記第１半導体メモリ部から読み出したデータと、前記第２半導体メモリ部から読み出したデータと、を比較するデータ比較過程と、前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力過程と、を備えたことを特徴としている。
上記構成によれば、１回の読み出しにおいて第１半導体メモリ部及び第２半導体メモリ部から読み出したデータが一致し、かつ、複数回の読み出しにおいて全て一致した場合にのみデータ読出要求に対応する読出データとして出力するので、ソフトエラーの影響を排除することが可能となる。
【００１２】
また、プログラムを構成するオペコードを含む各種データが記憶される第１半導体メモリ部と、前記第１半導体メモリと同一構成を有し、前記第１半導体メモリに記憶したデータの複製データが記憶される第２半導体メモリ部と、を備えた半導体記憶装置をコンピュータにより制御するための制御プログラムにおいて、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第１半導体メモリ部及び前記第２半導体メモリ部の双方から所定時間間隔を空けて複数回読み出させ、前記各読み出し毎に前記第１半導体メモリ部から読み出したデータと、前記第２半導体メモリ部から読み出したデータと、を比較させ、前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力させる、ことを特徴としている。
【発明の効果】
【００１３】
本発明によれば、ソフトエラーの影響を排除してデータの読み出しを行えるので、航空機、宇宙船などにおいて用いられる各種装置、医療機器、原子力関連装置等のように特に信頼性が必要とされる装置に適用が可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、本発明の好適な実施の形態について図面を参照して説明する。
まず、実施形態の具体的な説明に先立ち、本発明の原理について説明する。
本発明は、以下の原理に基づいて行っている。
（１）  放射線によるソフトエラーは飛来する放射線により偶発的に生じるため、同一一（例えば、同一メモリセル）で再現性が得られる可能性は低い。
（２）  ＦｅＲＡＭのメモリ原理は、原子結晶格子構造の原子の位置によっているため、放射線の影響を受けにくい構造となっている。
これら（１）、（２）に基づき、一対のＦｅＲＡＭの双方に同一プログラム（同一オペコード及び同一データ）を記録し、読み出し時に両者を比較する。これによりＦｅＲＡＭの周辺回路やデータ読み書き時において放射線の影響を受けて障害（例えば、ビット反転）が起きている場合には、双方のＦｅＲＡＭの対応するデータが一致しないため、障害が発生した旨を容易に検出することができる。
【００１５】
この場合において、放射線に起因するソフトエラーの発生は偶発的、かつ、一過性のものであり、同一障害状態が継続することはないため、原則的には、同一データが一対のＦｅＲＡＭから読み出せるまで処理を継続する。
さらに二つのメモリセルのエラーが同時に発生し、偶然一致してしまった場合でも、このようなエラーが連続して発生する確率は非常に低いので、所定時間経過後に再び同一メモリセルのデータを読み出すことにより、このようなエラーについても回避することが可能となる。
【００１６】
以下、より具体的に説明する。
図１は、半導体記憶装置を有する情報処理装置の概要構成ブロック図である。
情報処理装置１０は、情報処理装置１０全体を制御するためのＣＰＵ１１と、ワーキングメモリとして機能するメインメモリ１２と、制御プログラムおよび当該制御プログラムに必要とされる各種データを不揮発的に記憶する第１ＦｅＲＡＭ１３Ａと、第１ＦｅＲＡＭ１３Ａと同一の内容を不揮発的に記憶する第２ＦｅＲＡＭ１３Ｂと、ＣＰＵ１１の制御下で第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂを制御するメモリ制御回路１４と、を備えている。
【００１７】
この場合において、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂは同一構成であるので、第１ＦｅＲＡＭ１３Ａの構成について説明する。
第１ＦｅＲＡＭ１３Ａは、メモリ制御回路１４との間のインタフェース動作を行う外部インタフェース（Ｉ／Ｆ）ロジック部１５と、外部Ｉ／Ｆロジック部１５を介して入力された行アドレスデータに基づいてワード線を選択するための行デコーダ１６と、外部Ｉ／Ｆロジック部１５を介して入力された列アドレスデータに基づいてビット線を選択するための列デコーダ１７と、複数のメモリセルが碁盤の目状に配置されたメモリセルアレイ１８と、行アドレスデータ及び列アドレスデータに対応するメモリセルのデータを外部Ｉ／Ｆロジック部１５に出力するために一時的に格納され、あるいは、外部Ｉ／Ｆロジック部１５からメモリセルアレイ１８に格納すべきデータが一時的に格納されるデータ入出力バッファ１９と、を備えている。
【００１８】
図２は、メモリ制御回路の概要構成ブロック図である。
メモリ制御回路１４は、メモリ制御回路１４全体を制御する制御部２１と、制御部２１から出力された第１ＦｅＲＡＭを選択するためのチップセレクト信号、読出アドレスおよび読出信号Ｒｅａｄに基づく読出アドレス及び読出タイミングで第１ＦｅＲＡＭ１３Ａから出力されたデータのデータエラー検出及びエラー訂正を行う第１エラー検出・訂正回路２２と、第１エラー検出・訂正回路２２により必要に応じてエラーが訂正されたデータＤ１を一時的に格納する第１読出データラッチ回路２３と、制御部２１から出力された第２ＦｅＲＡＭを選択するためのチップセレクト信号、読出アドレスおよび読出信号Ｒｅａｄに基づく読出アドレス及び読出タイミングで第２ＦｅＲＡＭ１３Ｂから出力されたデータのデータエラー検出及びエラー訂正を行う第２エラー検出・訂正回路２４と、第２エラー検出・訂正回路２４により必要に応じてエラーが訂正されたデータＤ２を一時的に格納する第２読出データラッチ回路２５と、を備えている。
【００１９】
さらにメモリ制御回路１４は、第１の所定タイミングで第１読出データラッチ回路２３から読み出したデータＤ１および第２の所定タイミングで第２読出データラッチ回路２５から読み出したデータＤ２が一致しているか否かを判別し、判別結果データＲ１を制御部２１に出力するとともに、データＤ１とデータＤ２とが一致している場合に、データＤ２を一致データＤＥ１として出力する第１コンパレータ２６と、一致データＤＥ１を取り込んで一時的に格納する一致データラッチ回路２７と、を備えている。また、第１の所定タイミングとは異なる第２の所定タイミングで第１読出データラッチ回路２３から読み出したデータＤ１、第２の所定タイミングで第２読出データラッチ回路２５から読み出したデータＤ２および一致データラッチ回路２７の出力である一致データＤＥ１の全てが一致しているか否かを判別し、判別結果データＲ２を制御部２１に出力するとともに、データＤ１、データＤ２および一致データＤＥ１が全て一致している場合に、一致データＤＥ２（＝Ｄ１＝Ｄ２＝ＤＥ１）を制御部２１に出力する第２コンパレータ２８と、を備えている。
この場合において、第１エラー検出・訂正回路２２及び第２エラー検出・訂正回路２４は、例えば、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）によりエラー検出および訂正を行っている。
【００２０】
次にデータ読出動作を説明する。
図３は、データ読出処理のタイミングチャートである。
図４は、ＣＰＵの命令コード取り込み時における制御部の処理フローチャートである。
制御部２１は、時刻ｔ１において、ＣＰＵ１１からデータ読出のためのアドレス信号ＳＡＤが入力されると、時刻ｔ２において、読出信号Ｒｅａｄを“Ｌ”レベルとし、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂを読出可能状態とする。同時に制御部２１は、ＣＰＵ１１を待機状態とするためのウエイト信号ＳＷを“Ｌ”レベルとして、データ読出が完了するまでＣＰＵ１１を待機状態とし、ＣＰＵ１１の読み出しを待機（ウエイト）させる（ステップＳ１１）。
これにより、時刻ｔ３において、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂのアドレス信号ＳＡＤに対応するアドレスからデータが読み出される（ステップＳ１２）。
具体的には、図３の例の場合には、第１ＦｅＲＡＭ１３Ａから第１エラー検出・訂正回路２２を介して第１読出データラッチ回路２３にデータ＝“ＡＡ”が格納されることとなる。
【００２１】
一方、第２ＦｅＲＡＭ１３Ｂから第２エラー検出・訂正回路２４を介して第２読出データラッチ回路２５にソフトエラーによりデータ＝“ＡＡ”だったものがデータ“８Ａ”として格納される。
これにより第１コンパレータ２６は、時刻ｔ４において、データＤ１及びデータＤ２を取り込み、両データＤ１、Ｄ２が一致したか否かを判別し（ステップＳ１３）、データが不一致だった旨の判別結果データＲ１を制御部２１に出力する。
この場合において、ステップＳ１３の判別において、データＤ１＝データＤ２であった場合には（ステップＳ１３；Ｙｅｓ）、処理を後述するステップＳ１５に移行する。
【００２２】
その後、制御部２１は、１回目のデータ読み出しを終了するために、読出信号Ｒｅａｄを“Ｈ”レベルとする。
次に制御部２１は、時刻ｔ５において、読出信号Ｒｅａｄを再び“Ｌ”レベルとし、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂを読出可能状態とする。
続いて、時刻ｔ６において、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂのアドレス信号ＳＡＤに対応するアドレスからデータが読み出される（ステップＳ１４）。
【００２３】
具体的には、図３の例の場合には、第１ＦｅＲＡＭ１３Ａから第１エラー検出・訂正回路２２を介して第１読出データラッチ回路２３にデータＤ１＝“ＡＡ”が格納されることとなる。
一方、第２ＦｅＲＡＭ１３Ｂから第２エラー検出・訂正回路２４を介して第２読出データラッチ回路２５にもデータＤ２＝“ＡＡ”が格納されることとなる。
この段階において、データＤ１、データＤ２のうち、少なくともいずれかのデータが実際に壊れてしまい、永遠にデータＤ１、Ｄ２が一致することなく、ステップＳ１３及びステップＳ１４の処理が無限に繰り返されるのを防止するため、ウオッチドッグタイマを動作させ（ステップＳ１９）、無限ループから抜け出せるようにしている。
【００２４】
これにより第１コンパレータ２６は、時刻ｔ７において、データＤ１及びデータＤ２を取り込み、データが一致だった旨の判別結果データＲ１を制御部２１に出力する。
これと並行して第１コンパレータ２６は、データＤ１（あるいはデータＤ２）を一致データＤＥ１として一致データラッチ回路２７に出力する。
これにより、一致データラッチ回路２７は、一致データＤＥ１を取り込んで一時的に格納する。
【００２５】
次に制御部２１は、２回目のデータ読出処理に移行させることとなるが、偶然の一致を避けるため、一定時間待機状態とし（ステップＳ１５）、その後、時刻ｔ８において、読出信号Ｒｅａｄを再び“Ｌ”レベルとし、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂを読出可能状態とする。
続いて、時刻ｔ９において、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂのアドレス信号ＳＡＤに対応するアドレスからデータを読み出すとともに、一致データラッチ回路２７から一致データＤＥ１が読み出される（ステップＳ１６）。
【００２６】
具体的には、図３の例の場合には、第１ＦｅＲＡＭ１３Ａから第１エラー検出・訂正回路２２を介して第１読出データラッチ回路２３にデータＤ１＝“ＡＡ”が格納されることとなる。また、第２ＦｅＲＡＭ１３Ｂから第２エラー検出・訂正回路２４を介して第２読出データラッチ回路２５にもデータ２＝“ＡＡ”が格納されることとなる。
これにより第２コンパレータ２６は、時刻ｔ１０において、データＤ１、データＤ２および一致データＤＥ１を取り込み、全てのデータが一致していたか否かを判別し（ステップＳ１７）、全てのデータＤ１、データＤ２、一致データＤＥ１が一致していたか否かの判別結果データＲ２を制御部２１に出力する。すなわち、この場合には、全てのデータＤ１、データＤ２、一致データＤＥ１が一致していた旨の判別結果データＲ２が制御部２１に出力されることとなる。
【００２７】
この段階において、データＤ１、データＤ２、一致データＤＥ１のうち、少なくともいずれかのデータが実際に壊れてしまい、永遠にデータＤ１、Ｄ２、ＤＥ１が一致することなく、ステップＳ１２〜Ｓ１７の処理が無限に繰り返されるのを防止するため、ウオッチドッグタイマを動作させ（ステップＳ１９）、無限ループから抜け出せるようにしている。
これと並行して第１コンパレータ２６は、データＤ１（あるいはデータＤ２）を一致データＤＥ２として制御部２１に出力する。
これにより、制御部２１は、時刻ｔ１１において、読出信号Ｒｅａｄを“Ｈ”レベルとし、第１ＦｅＲＡＭ１３Ａ及び第２ＦｅＲＡＭ１３Ｂを読出不可状態とする。同時に制御部２１は、ＣＰＵ１１を待機状態から通常状態に移行させるためにウエイト信号ＳＷを“Ｈ”レベルとし、一致データＤＥ２を出力データＤＥ２ＸとしてＣＰＵ１１に対して出力することとなる。
【００２８】
この結果、ＣＰＵ１１は、ソフトエラーの影響を受けていない正しいデータである出力データＤＥ２Ｘを得ることが可能となる。
これと並行して制御部２１は、時刻ｔ１１において、ＣＰＵ１１を通常状態とするためにウエイト信号ＳＷを“Ｈ”レベルとして、ＣＰＵ１１の待機（ウエイト）状態を解除する（ステップＳ１８）。
この結果、ＣＰＵ１１は、読み出された出力データＤＥ２Ｘに基づいて処理を継続することとなる。
【００２９】
以上の説明のように、本実施形態によれば、構造的にソフトエラーに強いＦｅＲＡＭを用い、ＦｅＲＡＭ自体を二つ設けることにより物理的な冗長性を確保し、さらに論理的にも２回連続して同一のデータが読み出せた場合にのみ正しいデータがメモリから読み出されたと判断して、ＣＰＵ１１に出力するので、ソフトエラーの影響を受けることなく正しいデータを読み出すことが可能となる。
したがって、原子力関係制御装置、航空宇宙関係機器、医療機器などのコントローラとして用いられるマイクロプロセッサユニット（ＭＰＵ、ＣＰＵ）に適用することで、非常に高信頼性の装置を得ることが可能となる。
【００３０】
以上の説明においては、オペコードを格納するメモリのデータ読み出しを主体として説明したが、データ書込時にも同様の手法でベリファイを行いながら書込を行うことで、上述したメインメモリ１２についても、処理速度が許す限り適用が可能である。このような構成とする結果、月面探査機のように宇宙線の影響を大きく受けてしまうような環境下でも信頼性の高い制御を行うことができる。
以上の説明においては、メモリとして構造的にソフトエラーに強いＦｅＲＡＭを用いる場合について説明したが、他のメモリであっても、複数のメモリを用い、同様の手法で読み出しを行うことで、より信頼性の高いメモリ装置を構成することができる。
【００３１】
以上の説明においては、メモリを二つ設ける場合について説明したが、３つ以上であっても、同様に適用が可能である。
具体的には、複数のメモリから二つのメモリの組み合わせ全てについてデータを読み出して比較し、さらに全てのメモリの組み合わせについて所定の時間間隔をおいて読み出して、全てのデータが一致した場合にも同様にソフトエラーの影響を受けていないデータとして取り扱うことができる。
【００３２】
以上の説明においては、情報処理装置１０の用途については明確に触れなかったが、ハードディスク互換の装置や、メモリカード、ＵＳＢメモリ等として構成することが可能である。
また、以上の説明では、予めＲＯＭに制御プログラムが格納されている場合について説明したが、プログラムを記録媒体（図示省略）に格納して提供したり、インターネットなどの通信ネットワークを介して提供するようにしたりすることも可能である。記録媒体としては、ＣＤ−ＲＯＭ、フラッシュＲＯＭ、メモリカード（コンパクトフラッシュ（登録商標）、スマートメディア、メモリースティック等）、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
【図面の簡単な説明】
【００３３】
【図１】半導体記憶装置を有する情報処理装置の概要構成ブロック図である。
【図２】メモリ制御回路の概要構成ブロック図である。
【図３】データ読出処理のタイミングチャートである。
【図４】ＣＰＵの命令コード取り込み時における制御部の処理フローチャートである。
【符号の説明】
【００３４】
１０…情報処理装置、１１…ＣＰＵ、１２…メインメモリ、１４…メモリ制御回路、１５…外部Ｉ／Ｆロジック部、１６…行デコーダ、１７…列デコーダ、１８…メモリセルアレイ、１９…データ入出力バッファ、２１…制御部、２２…第１エラー検出・訂正回路、２３…第１読出データラッチ回路、２４…第２エラー検出・訂正回路、２５…第２読出データラッチ回路、２６…第２コンパレータ、２６…第１コンパレータ、２７…一致データラッチ回路、２８…第２コンパレータ、Ｄ１、Ｄ２…データ、ＤＥ１、ＤＥ２…一致データ、ＤＥ２Ｘ…出力データ（読出データ）、Ｒ１、Ｒ２…判別結果データ、Ｒｅａｄ…読出信号、ＳＡＤ…アドレス信号、ＳＷ…ウエイト信号。
【図１】
2009122901.tif 000003
【図２】
2009122901.tif 000004
【図３】
2009122901.tif 000005
【図４】
2009122901.tif 000006