JP2009122901A - 半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラム - Google Patents
半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラム Download PDFInfo
- Publication number
- JP2009122901A JP2009122901A JP2007295270A JP2007295270A JP2009122901A JP 2009122901 A JP2009122901 A JP 2009122901A JP 2007295270 A JP2007295270 A JP 2007295270A JP 2007295270 A JP2007295270 A JP 2007295270A JP 2009122901 A JP2009122901 A JP 2009122901A
- Authority
- JP
- Japan
- Prior art keywords
- data
- semiconductor memory
- unit
- read
- memory unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Abstract
【課題】放射線によるソフトエラーの影響を低減し、信頼性を向上して稼働させる。
【解決手段】プログラムを構成するオペコードを含む各種データが記憶される第1FeRAM13Aと、第1FeRAM13Aと同一構成を有し、第1FeRAM13Aに記憶したデータの複製データが記憶される第2FeRAM13Bと、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを第1FeRAM13A及び第2FeRAM13Bの双方から所定時間間隔を空けて複数回読み出し、各読み出し毎に第1FeRAM13Aから読み出したデータと、第2FeRAM13Bから読み出したデータと、を比較し、複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータをデータ読出要求に対応する出力データ読出データDE2Xとして出力する。
【選択図】図2
【解決手段】プログラムを構成するオペコードを含む各種データが記憶される第1FeRAM13Aと、第1FeRAM13Aと同一構成を有し、第1FeRAM13Aに記憶したデータの複製データが記憶される第2FeRAM13Bと、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを第1FeRAM13A及び第2FeRAM13Bの双方から所定時間間隔を空けて複数回読み出し、各読み出し毎に第1FeRAM13Aから読み出したデータと、第2FeRAM13Bから読み出したデータと、を比較し、複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータをデータ読出要求に対応する出力データ読出データDE2Xとして出力する。
【選択図】図2
Description
本発明は、半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムに係り、特に、命令コード(オペコード)を記憶する半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムに関する。
従来、中性子などの放射線を被曝するような環境においては、半導体記憶装置のビットの値が変化してしまう「ソフトエラー」という呼ばれる不具合が発生することが知られている。
しかしながら、信頼性の求められる装置、例えば、航空機、宇宙船などにおいて用いられる各種装置、医療機器、原子力関連装置において、特に緊急制御や人命にかかわるフェイルセーフ機能を実現する回路などにあっては、例え、ソフトエラーが発生したような場合であっても、装置が異常状態となるような障害発生を回避する必要がある。
しかしながら、信頼性の求められる装置、例えば、航空機、宇宙船などにおいて用いられる各種装置、医療機器、原子力関連装置において、特に緊急制御や人命にかかわるフェイルセーフ機能を実現する回路などにあっては、例え、ソフトエラーが発生したような場合であっても、装置が異常状態となるような障害発生を回避する必要がある。
このような考えの下に、特許文献1あるいは特許文献2には、強誘電体メモリと、エラー検出・訂正回路とを組み合わせ障害発生率を低減するという技術が提案されている。
また、特許文献3記載には、メモリを3組用意してエラー検出能力及びエラー訂正納涼区を強化するという技術が提案されている。
さらに、特許文献4には、CPU、ROM、RAMで構成するプロセッサモジュールを複数設けることによりシステムに冗長性を持たせ、プロセッサモジュールの多数決で障害の影響を回避する技術が提案されている。
特開平10−97472号公報
特開2004−199713号公報
特開2004−38468号公報
特開2004−133496号公報
また、特許文献3記載には、メモリを3組用意してエラー検出能力及びエラー訂正納涼区を強化するという技術が提案されている。
さらに、特許文献4には、CPU、ROM、RAMで構成するプロセッサモジュールを複数設けることによりシステムに冗長性を持たせ、プロセッサモジュールの多数決で障害の影響を回避する技術が提案されている。
ところで、エラー訂正回路や冗長性を持たせた装置においても、放射線によるソフトエラーの発生は偶発的なものでありエラー訂正回路や冗長性を持たせた部分に障害が起こることが想定される。
また、三重、四重の冗長システムによる多数決は、偶然性が重なると少数が正しい場合を排除することができないとともに、装置そのものが複雑で過剰なものとなるおそれがあった。
また、三重、四重の冗長システムによる多数決は、偶然性が重なると少数が正しい場合を排除することができないとともに、装置そのものが複雑で過剰なものとなるおそれがあった。
また、CPUの処理や、RAM上のデータなどにソフトエラーが発生した場合では、最終的にリセットをかけたり、再起動したり、電源を再投入したりすることができるが、ROMなどの不揮発性メモリに格納されている命令コードが変化してしまった場合には、対応しきれない場合が生ずる。
そこで、本発明の目的は、放射線によるソフトエラーの影響を低減し、信頼性を向上して稼働させることができる半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムを提供することにある。
そこで、本発明の目的は、放射線によるソフトエラーの影響を低減し、信頼性を向上して稼働させることができる半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラムを提供することにある。
上記課題を解決するため、本発明の第1の態様は、プログラムを構成するオペコードを含む各種データが記憶される第1半導体メモリ部と、前記第1半導体メモリと同一構成を有し、前記第1半導体メモリ部に記憶したデータの複製データが記憶される第2半導体メモリ部と、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第1半導体メモリ部及び前記第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出部と、前記各読み出し毎に前記第1半導体メモリ部から読み出したデータと、前記第2半導体メモリ部から読み出したデータと、を比較するデータ比較部と、前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力部と、を備えたことを特徴としている。
上記構成によれば、読出部は、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを第1半導体メモリ部及び第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す。
データ比較部は、各読み出し毎に第1半導体メモリ部から読み出したデータと、第2半導体メモリ部から読み出したデータと、を比較する。
データ出力部は、データ比較部の比較結果に基づいて複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータをデータ読出要求に対応する読出データとして出力する。
したがって、1回の読み出しにおいて第1半導体メモリ部及び第2半導体メモリ部から読み出したデータが一致し、かつ、複数回の読み出しにおいて全て一致した場合にのみデータ読出要求に対応する読出データとして出力するので、ソフトエラーの影響を排除することが可能となる。
データ比較部は、各読み出し毎に第1半導体メモリ部から読み出したデータと、第2半導体メモリ部から読み出したデータと、を比較する。
データ出力部は、データ比較部の比較結果に基づいて複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータをデータ読出要求に対応する読出データとして出力する。
したがって、1回の読み出しにおいて第1半導体メモリ部及び第2半導体メモリ部から読み出したデータが一致し、かつ、複数回の読み出しにおいて全て一致した場合にのみデータ読出要求に対応する読出データとして出力するので、ソフトエラーの影響を排除することが可能となる。
この場合において、前記データ比較部は、第n(nは、正の整数)回目に前記読出部により前記第1半導体メモリから読み出したデータ及び前記第n回目に前記読出部により前記第2半導体メモリから読み出したデータを比較する第n比較部と、第(n+1)回目に前記読出部により前記第1半導体メモリから読み出したデータ、前記第(n+1)回目に前記読出部により前記第2半導体メモリから読み出したデータおよび前記第n比較部において一致した第n回目のデータを比較する第(n+1)比較部と、を備えたことを特徴としている。
上記構成によれば、前記データ比較部の第n比較部は、第n(nは、正の整数)回目に読出部により第1半導体メモリから読み出したデータ及び第n回目に読出部により第2半導体メモリから読み出したデータを比較する。
同様に第(n+1)比較部は、第(n+1)回目に読出部により第1半導体メモリから読み出したデータ、第(n+1)回目に読出部により第2半導体メモリから読み出したデータおよび第n比較部において一致した第n回目のデータを比較するので、n回のデータ読み出しで全てデータが一致した場合にのみ、読出データが出力されるので、確実にソフトエラーの影響を排除することができる。
また、前記データ出力部は、少なくとも前回の読出データと今回の読出データが一致した場合に当該一致したデータを前記データ読出要求に対応する正規の読出データとして出力することを特徴としている。
したがって、所定時間間隔を空けた少なくとも2回の読み出しにおいて、データが一致する必要があるので、確実にソフトエラーの影響を排除することができる。
同様に第(n+1)比較部は、第(n+1)回目に読出部により第1半導体メモリから読み出したデータ、第(n+1)回目に読出部により第2半導体メモリから読み出したデータおよび第n比較部において一致した第n回目のデータを比較するので、n回のデータ読み出しで全てデータが一致した場合にのみ、読出データが出力されるので、確実にソフトエラーの影響を排除することができる。
また、前記データ出力部は、少なくとも前回の読出データと今回の読出データが一致した場合に当該一致したデータを前記データ読出要求に対応する正規の読出データとして出力することを特徴としている。
したがって、所定時間間隔を空けた少なくとも2回の読み出しにおいて、データが一致する必要があるので、確実にソフトエラーの影響を排除することができる。
また、前記第1半導体メモリ部及び前記第2半導体メモリ部は、強誘電体メモリとして構成されていることを特徴としている。
構造上、強誘電体メモリは、ソフトエラーに対して耐性が高いので、より一層ソフトエラーの影響を低減することができる。
また、情報処理装置は、上記いずれかに記載の半導体記憶装置と、前記データ読出要求を前記第1半導体メモリ部あるいは前記第2半導体メモリ部におけるアドレスを指定して行うデータ処理部と、前記データ処理部により処理されたデータを格納するメインメモリ装置と、を備えたことを特徴としている。
上記構成によれば、情報処理装置は、確実にソフトエラーの影響を受けていないデータに基づいて処理を行うことができる。
構造上、強誘電体メモリは、ソフトエラーに対して耐性が高いので、より一層ソフトエラーの影響を低減することができる。
また、情報処理装置は、上記いずれかに記載の半導体記憶装置と、前記データ読出要求を前記第1半導体メモリ部あるいは前記第2半導体メモリ部におけるアドレスを指定して行うデータ処理部と、前記データ処理部により処理されたデータを格納するメインメモリ装置と、を備えたことを特徴としている。
上記構成によれば、情報処理装置は、確実にソフトエラーの影響を受けていないデータに基づいて処理を行うことができる。
また、プログラムを構成するオペコードを含む各種データが記憶される第1半導体メモリ部と、前記第1半導体メモリと同一構成を有し、前記第1半導体メモリに記憶したデータの複製データが記憶される第2半導体メモリ部と、を備えた半導体記憶装置を制御するための半導体記憶装置の制御方法において、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第1半導体メモリ部及び前記第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出過程と、前記各読み出し毎に前記第1半導体メモリ部から読み出したデータと、前記第2半導体メモリ部から読み出したデータと、を比較するデータ比較過程と、前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力過程と、を備えたことを特徴としている。
上記構成によれば、1回の読み出しにおいて第1半導体メモリ部及び第2半導体メモリ部から読み出したデータが一致し、かつ、複数回の読み出しにおいて全て一致した場合にのみデータ読出要求に対応する読出データとして出力するので、ソフトエラーの影響を排除することが可能となる。
上記構成によれば、1回の読み出しにおいて第1半導体メモリ部及び第2半導体メモリ部から読み出したデータが一致し、かつ、複数回の読み出しにおいて全て一致した場合にのみデータ読出要求に対応する読出データとして出力するので、ソフトエラーの影響を排除することが可能となる。
また、プログラムを構成するオペコードを含む各種データが記憶される第1半導体メモリ部と、前記第1半導体メモリと同一構成を有し、前記第1半導体メモリに記憶したデータの複製データが記憶される第2半導体メモリ部と、を備えた半導体記憶装置をコンピュータにより制御するための制御プログラムにおいて、外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第1半導体メモリ部及び前記第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出させ、前記各読み出し毎に前記第1半導体メモリ部から読み出したデータと、前記第2半導体メモリ部から読み出したデータと、を比較させ、前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力させる、ことを特徴としている。
本発明によれば、ソフトエラーの影響を排除してデータの読み出しを行えるので、航空機、宇宙船などにおいて用いられる各種装置、医療機器、原子力関連装置等のように特に信頼性が必要とされる装置に適用が可能となる。
以下、本発明の好適な実施の形態について図面を参照して説明する。
まず、実施形態の具体的な説明に先立ち、本発明の原理について説明する。
本発明は、以下の原理に基づいて行っている。
(1) 放射線によるソフトエラーは飛来する放射線により偶発的に生じるため、同一一(例えば、同一メモリセル)で再現性が得られる可能性は低い。
(2) FeRAMのメモリ原理は、原子結晶格子構造の原子の位置によっているため、放射線の影響を受けにくい構造となっている。
これら(1)、(2)に基づき、一対のFeRAMの双方に同一プログラム(同一オペコード及び同一データ)を記録し、読み出し時に両者を比較する。これによりFeRAMの周辺回路やデータ読み書き時において放射線の影響を受けて障害(例えば、ビット反転)が起きている場合には、双方のFeRAMの対応するデータが一致しないため、障害が発生した旨を容易に検出することができる。
まず、実施形態の具体的な説明に先立ち、本発明の原理について説明する。
本発明は、以下の原理に基づいて行っている。
(1) 放射線によるソフトエラーは飛来する放射線により偶発的に生じるため、同一一(例えば、同一メモリセル)で再現性が得られる可能性は低い。
(2) FeRAMのメモリ原理は、原子結晶格子構造の原子の位置によっているため、放射線の影響を受けにくい構造となっている。
これら(1)、(2)に基づき、一対のFeRAMの双方に同一プログラム(同一オペコード及び同一データ)を記録し、読み出し時に両者を比較する。これによりFeRAMの周辺回路やデータ読み書き時において放射線の影響を受けて障害(例えば、ビット反転)が起きている場合には、双方のFeRAMの対応するデータが一致しないため、障害が発生した旨を容易に検出することができる。
この場合において、放射線に起因するソフトエラーの発生は偶発的、かつ、一過性のものであり、同一障害状態が継続することはないため、原則的には、同一データが一対のFeRAMから読み出せるまで処理を継続する。
さらに二つのメモリセルのエラーが同時に発生し、偶然一致してしまった場合でも、このようなエラーが連続して発生する確率は非常に低いので、所定時間経過後に再び同一メモリセルのデータを読み出すことにより、このようなエラーについても回避することが可能となる。
さらに二つのメモリセルのエラーが同時に発生し、偶然一致してしまった場合でも、このようなエラーが連続して発生する確率は非常に低いので、所定時間経過後に再び同一メモリセルのデータを読み出すことにより、このようなエラーについても回避することが可能となる。
以下、より具体的に説明する。
図1は、半導体記憶装置を有する情報処理装置の概要構成ブロック図である。
情報処理装置10は、情報処理装置10全体を制御するためのCPU11と、ワーキングメモリとして機能するメインメモリ12と、制御プログラムおよび当該制御プログラムに必要とされる各種データを不揮発的に記憶する第1FeRAM13Aと、第1FeRAM13Aと同一の内容を不揮発的に記憶する第2FeRAM13Bと、CPU11の制御下で第1FeRAM13A及び第2FeRAM13Bを制御するメモリ制御回路14と、を備えている。
図1は、半導体記憶装置を有する情報処理装置の概要構成ブロック図である。
情報処理装置10は、情報処理装置10全体を制御するためのCPU11と、ワーキングメモリとして機能するメインメモリ12と、制御プログラムおよび当該制御プログラムに必要とされる各種データを不揮発的に記憶する第1FeRAM13Aと、第1FeRAM13Aと同一の内容を不揮発的に記憶する第2FeRAM13Bと、CPU11の制御下で第1FeRAM13A及び第2FeRAM13Bを制御するメモリ制御回路14と、を備えている。
この場合において、第1FeRAM13A及び第2FeRAM13Bは同一構成であるので、第1FeRAM13Aの構成について説明する。
第1FeRAM13Aは、メモリ制御回路14との間のインタフェース動作を行う外部インタフェース(I/F)ロジック部15と、外部I/Fロジック部15を介して入力された行アドレスデータに基づいてワード線を選択するための行デコーダ16と、外部I/Fロジック部15を介して入力された列アドレスデータに基づいてビット線を選択するための列デコーダ17と、複数のメモリセルが碁盤の目状に配置されたメモリセルアレイ18と、行アドレスデータ及び列アドレスデータに対応するメモリセルのデータを外部I/Fロジック部15に出力するために一時的に格納され、あるいは、外部I/Fロジック部15からメモリセルアレイ18に格納すべきデータが一時的に格納されるデータ入出力バッファ19と、を備えている。
第1FeRAM13Aは、メモリ制御回路14との間のインタフェース動作を行う外部インタフェース(I/F)ロジック部15と、外部I/Fロジック部15を介して入力された行アドレスデータに基づいてワード線を選択するための行デコーダ16と、外部I/Fロジック部15を介して入力された列アドレスデータに基づいてビット線を選択するための列デコーダ17と、複数のメモリセルが碁盤の目状に配置されたメモリセルアレイ18と、行アドレスデータ及び列アドレスデータに対応するメモリセルのデータを外部I/Fロジック部15に出力するために一時的に格納され、あるいは、外部I/Fロジック部15からメモリセルアレイ18に格納すべきデータが一時的に格納されるデータ入出力バッファ19と、を備えている。
図2は、メモリ制御回路の概要構成ブロック図である。
メモリ制御回路14は、メモリ制御回路14全体を制御する制御部21と、制御部21から出力された第1FeRAMを選択するためのチップセレクト信号、読出アドレスおよび読出信号Readに基づく読出アドレス及び読出タイミングで第1FeRAM13Aから出力されたデータのデータエラー検出及びエラー訂正を行う第1エラー検出・訂正回路22と、第1エラー検出・訂正回路22により必要に応じてエラーが訂正されたデータD1を一時的に格納する第1読出データラッチ回路23と、制御部21から出力された第2FeRAMを選択するためのチップセレクト信号、読出アドレスおよび読出信号Readに基づく読出アドレス及び読出タイミングで第2FeRAM13Bから出力されたデータのデータエラー検出及びエラー訂正を行う第2エラー検出・訂正回路24と、第2エラー検出・訂正回路24により必要に応じてエラーが訂正されたデータD2を一時的に格納する第2読出データラッチ回路25と、を備えている。
メモリ制御回路14は、メモリ制御回路14全体を制御する制御部21と、制御部21から出力された第1FeRAMを選択するためのチップセレクト信号、読出アドレスおよび読出信号Readに基づく読出アドレス及び読出タイミングで第1FeRAM13Aから出力されたデータのデータエラー検出及びエラー訂正を行う第1エラー検出・訂正回路22と、第1エラー検出・訂正回路22により必要に応じてエラーが訂正されたデータD1を一時的に格納する第1読出データラッチ回路23と、制御部21から出力された第2FeRAMを選択するためのチップセレクト信号、読出アドレスおよび読出信号Readに基づく読出アドレス及び読出タイミングで第2FeRAM13Bから出力されたデータのデータエラー検出及びエラー訂正を行う第2エラー検出・訂正回路24と、第2エラー検出・訂正回路24により必要に応じてエラーが訂正されたデータD2を一時的に格納する第2読出データラッチ回路25と、を備えている。
さらにメモリ制御回路14は、第1の所定タイミングで第1読出データラッチ回路23から読み出したデータD1および第2の所定タイミングで第2読出データラッチ回路25から読み出したデータD2が一致しているか否かを判別し、判別結果データR1を制御部21に出力するとともに、データD1とデータD2とが一致している場合に、データD2を一致データDE1として出力する第1コンパレータ26と、一致データDE1を取り込んで一時的に格納する一致データラッチ回路27と、を備えている。また、第1の所定タイミングとは異なる第2の所定タイミングで第1読出データラッチ回路23から読み出したデータD1、第2の所定タイミングで第2読出データラッチ回路25から読み出したデータD2および一致データラッチ回路27の出力である一致データDE1の全てが一致しているか否かを判別し、判別結果データR2を制御部21に出力するとともに、データD1、データD2および一致データDE1が全て一致している場合に、一致データDE2(=D1=D2=DE1)を制御部21に出力する第2コンパレータ28と、を備えている。
この場合において、第1エラー検出・訂正回路22及び第2エラー検出・訂正回路24は、例えば、ECC(Error Check and Correct)によりエラー検出および訂正を行っている。
この場合において、第1エラー検出・訂正回路22及び第2エラー検出・訂正回路24は、例えば、ECC(Error Check and Correct)によりエラー検出および訂正を行っている。
次にデータ読出動作を説明する。
図3は、データ読出処理のタイミングチャートである。
図4は、CPUの命令コード取り込み時における制御部の処理フローチャートである。
制御部21は、時刻t1において、CPU11からデータ読出のためのアドレス信号SADが入力されると、時刻t2において、読出信号Readを“L”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出可能状態とする。同時に制御部21は、CPU11を待機状態とするためのウエイト信号SWを“L”レベルとして、データ読出が完了するまでCPU11を待機状態とし、CPU11の読み出しを待機(ウエイト)させる(ステップS11)。
これにより、時刻t3において、第1FeRAM13A及び第2FeRAM13Bのアドレス信号SADに対応するアドレスからデータが読み出される(ステップS12)。
具体的には、図3の例の場合には、第1FeRAM13Aから第1エラー検出・訂正回路22を介して第1読出データラッチ回路23にデータ=“AA”が格納されることとなる。
図3は、データ読出処理のタイミングチャートである。
図4は、CPUの命令コード取り込み時における制御部の処理フローチャートである。
制御部21は、時刻t1において、CPU11からデータ読出のためのアドレス信号SADが入力されると、時刻t2において、読出信号Readを“L”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出可能状態とする。同時に制御部21は、CPU11を待機状態とするためのウエイト信号SWを“L”レベルとして、データ読出が完了するまでCPU11を待機状態とし、CPU11の読み出しを待機(ウエイト)させる(ステップS11)。
これにより、時刻t3において、第1FeRAM13A及び第2FeRAM13Bのアドレス信号SADに対応するアドレスからデータが読み出される(ステップS12)。
具体的には、図3の例の場合には、第1FeRAM13Aから第1エラー検出・訂正回路22を介して第1読出データラッチ回路23にデータ=“AA”が格納されることとなる。
一方、第2FeRAM13Bから第2エラー検出・訂正回路24を介して第2読出データラッチ回路25にソフトエラーによりデータ=“AA”だったものがデータ“8A”として格納される。
これにより第1コンパレータ26は、時刻t4において、データD1及びデータD2を取り込み、両データD1、D2が一致したか否かを判別し(ステップS13)、データが不一致だった旨の判別結果データR1を制御部21に出力する。
この場合において、ステップS13の判別において、データD1=データD2であった場合には(ステップS13;Yes)、処理を後述するステップS15に移行する。
これにより第1コンパレータ26は、時刻t4において、データD1及びデータD2を取り込み、両データD1、D2が一致したか否かを判別し(ステップS13)、データが不一致だった旨の判別結果データR1を制御部21に出力する。
この場合において、ステップS13の判別において、データD1=データD2であった場合には(ステップS13;Yes)、処理を後述するステップS15に移行する。
その後、制御部21は、1回目のデータ読み出しを終了するために、読出信号Readを“H”レベルとする。
次に制御部21は、時刻t5において、読出信号Readを再び“L”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出可能状態とする。
続いて、時刻t6において、第1FeRAM13A及び第2FeRAM13Bのアドレス信号SADに対応するアドレスからデータが読み出される(ステップS14)。
次に制御部21は、時刻t5において、読出信号Readを再び“L”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出可能状態とする。
続いて、時刻t6において、第1FeRAM13A及び第2FeRAM13Bのアドレス信号SADに対応するアドレスからデータが読み出される(ステップS14)。
具体的には、図3の例の場合には、第1FeRAM13Aから第1エラー検出・訂正回路22を介して第1読出データラッチ回路23にデータD1=“AA”が格納されることとなる。
一方、第2FeRAM13Bから第2エラー検出・訂正回路24を介して第2読出データラッチ回路25にもデータD2=“AA”が格納されることとなる。
この段階において、データD1、データD2のうち、少なくともいずれかのデータが実際に壊れてしまい、永遠にデータD1、D2が一致することなく、ステップS13及びステップS14の処理が無限に繰り返されるのを防止するため、ウオッチドッグタイマを動作させ(ステップS19)、無限ループから抜け出せるようにしている。
一方、第2FeRAM13Bから第2エラー検出・訂正回路24を介して第2読出データラッチ回路25にもデータD2=“AA”が格納されることとなる。
この段階において、データD1、データD2のうち、少なくともいずれかのデータが実際に壊れてしまい、永遠にデータD1、D2が一致することなく、ステップS13及びステップS14の処理が無限に繰り返されるのを防止するため、ウオッチドッグタイマを動作させ(ステップS19)、無限ループから抜け出せるようにしている。
これにより第1コンパレータ26は、時刻t7において、データD1及びデータD2を取り込み、データが一致だった旨の判別結果データR1を制御部21に出力する。
これと並行して第1コンパレータ26は、データD1(あるいはデータD2)を一致データDE1として一致データラッチ回路27に出力する。
これにより、一致データラッチ回路27は、一致データDE1を取り込んで一時的に格納する。
これと並行して第1コンパレータ26は、データD1(あるいはデータD2)を一致データDE1として一致データラッチ回路27に出力する。
これにより、一致データラッチ回路27は、一致データDE1を取り込んで一時的に格納する。
次に制御部21は、2回目のデータ読出処理に移行させることとなるが、偶然の一致を避けるため、一定時間待機状態とし(ステップS15)、その後、時刻t8において、読出信号Readを再び“L”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出可能状態とする。
続いて、時刻t9において、第1FeRAM13A及び第2FeRAM13Bのアドレス信号SADに対応するアドレスからデータを読み出すとともに、一致データラッチ回路27から一致データDE1が読み出される(ステップS16)。
続いて、時刻t9において、第1FeRAM13A及び第2FeRAM13Bのアドレス信号SADに対応するアドレスからデータを読み出すとともに、一致データラッチ回路27から一致データDE1が読み出される(ステップS16)。
具体的には、図3の例の場合には、第1FeRAM13Aから第1エラー検出・訂正回路22を介して第1読出データラッチ回路23にデータD1=“AA”が格納されることとなる。また、第2FeRAM13Bから第2エラー検出・訂正回路24を介して第2読出データラッチ回路25にもデータ2=“AA”が格納されることとなる。
これにより第2コンパレータ26は、時刻t10において、データD1、データD2および一致データDE1を取り込み、全てのデータが一致していたか否かを判別し(ステップS17)、全てのデータD1、データD2、一致データDE1が一致していたか否かの判別結果データR2を制御部21に出力する。すなわち、この場合には、全てのデータD1、データD2、一致データDE1が一致していた旨の判別結果データR2が制御部21に出力されることとなる。
これにより第2コンパレータ26は、時刻t10において、データD1、データD2および一致データDE1を取り込み、全てのデータが一致していたか否かを判別し(ステップS17)、全てのデータD1、データD2、一致データDE1が一致していたか否かの判別結果データR2を制御部21に出力する。すなわち、この場合には、全てのデータD1、データD2、一致データDE1が一致していた旨の判別結果データR2が制御部21に出力されることとなる。
この段階において、データD1、データD2、一致データDE1のうち、少なくともいずれかのデータが実際に壊れてしまい、永遠にデータD1、D2、DE1が一致することなく、ステップS12〜S17の処理が無限に繰り返されるのを防止するため、ウオッチドッグタイマを動作させ(ステップS19)、無限ループから抜け出せるようにしている。
これと並行して第1コンパレータ26は、データD1(あるいはデータD2)を一致データDE2として制御部21に出力する。
これにより、制御部21は、時刻t11において、読出信号Readを“H”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出不可状態とする。同時に制御部21は、CPU11を待機状態から通常状態に移行させるためにウエイト信号SWを“H”レベルとし、一致データDE2を出力データDE2XとしてCPU11に対して出力することとなる。
これと並行して第1コンパレータ26は、データD1(あるいはデータD2)を一致データDE2として制御部21に出力する。
これにより、制御部21は、時刻t11において、読出信号Readを“H”レベルとし、第1FeRAM13A及び第2FeRAM13Bを読出不可状態とする。同時に制御部21は、CPU11を待機状態から通常状態に移行させるためにウエイト信号SWを“H”レベルとし、一致データDE2を出力データDE2XとしてCPU11に対して出力することとなる。
この結果、CPU11は、ソフトエラーの影響を受けていない正しいデータである出力データDE2Xを得ることが可能となる。
これと並行して制御部21は、時刻t11において、CPU11を通常状態とするためにウエイト信号SWを“H”レベルとして、CPU11の待機(ウエイト)状態を解除する(ステップS18)。
この結果、CPU11は、読み出された出力データDE2Xに基づいて処理を継続することとなる。
これと並行して制御部21は、時刻t11において、CPU11を通常状態とするためにウエイト信号SWを“H”レベルとして、CPU11の待機(ウエイト)状態を解除する(ステップS18)。
この結果、CPU11は、読み出された出力データDE2Xに基づいて処理を継続することとなる。
以上の説明のように、本実施形態によれば、構造的にソフトエラーに強いFeRAMを用い、FeRAM自体を二つ設けることにより物理的な冗長性を確保し、さらに論理的にも2回連続して同一のデータが読み出せた場合にのみ正しいデータがメモリから読み出されたと判断して、CPU11に出力するので、ソフトエラーの影響を受けることなく正しいデータを読み出すことが可能となる。
したがって、原子力関係制御装置、航空宇宙関係機器、医療機器などのコントローラとして用いられるマイクロプロセッサユニット(MPU、CPU)に適用することで、非常に高信頼性の装置を得ることが可能となる。
したがって、原子力関係制御装置、航空宇宙関係機器、医療機器などのコントローラとして用いられるマイクロプロセッサユニット(MPU、CPU)に適用することで、非常に高信頼性の装置を得ることが可能となる。
以上の説明においては、オペコードを格納するメモリのデータ読み出しを主体として説明したが、データ書込時にも同様の手法でベリファイを行いながら書込を行うことで、上述したメインメモリ12についても、処理速度が許す限り適用が可能である。このような構成とする結果、月面探査機のように宇宙線の影響を大きく受けてしまうような環境下でも信頼性の高い制御を行うことができる。
以上の説明においては、メモリとして構造的にソフトエラーに強いFeRAMを用いる場合について説明したが、他のメモリであっても、複数のメモリを用い、同様の手法で読み出しを行うことで、より信頼性の高いメモリ装置を構成することができる。
以上の説明においては、メモリとして構造的にソフトエラーに強いFeRAMを用いる場合について説明したが、他のメモリであっても、複数のメモリを用い、同様の手法で読み出しを行うことで、より信頼性の高いメモリ装置を構成することができる。
以上の説明においては、メモリを二つ設ける場合について説明したが、3つ以上であっても、同様に適用が可能である。
具体的には、複数のメモリから二つのメモリの組み合わせ全てについてデータを読み出して比較し、さらに全てのメモリの組み合わせについて所定の時間間隔をおいて読み出して、全てのデータが一致した場合にも同様にソフトエラーの影響を受けていないデータとして取り扱うことができる。
具体的には、複数のメモリから二つのメモリの組み合わせ全てについてデータを読み出して比較し、さらに全てのメモリの組み合わせについて所定の時間間隔をおいて読み出して、全てのデータが一致した場合にも同様にソフトエラーの影響を受けていないデータとして取り扱うことができる。
以上の説明においては、情報処理装置10の用途については明確に触れなかったが、ハードディスク互換の装置や、メモリカード、USBメモリ等として構成することが可能である。
また、以上の説明では、予めROMに制御プログラムが格納されている場合について説明したが、プログラムを記録媒体(図示省略)に格納して提供したり、インターネットなどの通信ネットワークを介して提供するようにしたりすることも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
また、以上の説明では、予めROMに制御プログラムが格納されている場合について説明したが、プログラムを記録媒体(図示省略)に格納して提供したり、インターネットなどの通信ネットワークを介して提供するようにしたりすることも可能である。記録媒体としては、CD−ROM、フラッシュROM、メモリカード(コンパクトフラッシュ(登録商標)、スマートメディア、メモリースティック等)、光磁気ディスク、デジタルバーサタイルディスクおよびフレキシブルディスク等を利用することができる。
10…情報処理装置、11…CPU、12…メインメモリ、14…メモリ制御回路、15…外部I/Fロジック部、16…行デコーダ、17…列デコーダ、18…メモリセルアレイ、19…データ入出力バッファ、21…制御部、22…第1エラー検出・訂正回路、23…第1読出データラッチ回路、24…第2エラー検出・訂正回路、25…第2読出データラッチ回路、26…第2コンパレータ、26…第1コンパレータ、27…一致データラッチ回路、28…第2コンパレータ、D1、D2…データ、DE1、DE2…一致データ、DE2X…出力データ(読出データ)、R1、R2…判別結果データ、Read…読出信号、SAD…アドレス信号、SW…ウエイト信号。
Claims (7)
- プログラムを構成するオペコードを含む各種データが記憶される第1半導体メモリ部と、
前記第1半導体メモリと同一構成を有し、前記第1半導体メモリ部に記憶したデータの複製データが記憶される第2半導体メモリ部と、
外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第1半導体メモリ部及び前記第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出部と、
前記各読み出し毎に前記第1半導体メモリ部から読み出したデータと、前記第2半導体メモリ部から読み出したデータと、を比較するデータ比較部と、
前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力部と、
を備えたことを特徴とする半導体記憶装置。 - 請求項1記載の半導体記憶装置において、
前記データ比較部は、第n(nは、正の整数)回目に前記読出部により前記第1半導体メモリから読み出したデータ及び前記第n回目に前記読出部により前記第2半導体メモリから読み出したデータを比較する第n比較部と、
第(n+1)回目に前記読出部により前記第1半導体メモリから読み出したデータ、前記第(n+1)回目に前記読出部により前記第2半導体メモリから読み出したデータおよび前記第n比較部において一致した第n回目のデータを比較する第(n+1)比較部と、
を備えたことを特徴とする半導体記憶装置。 - 請求項1または請求項2記載の半導体記憶装置において、
前記データ出力部は、少なくとも前回の読出データと今回の読出データが一致した場合に当該一致したデータを前記データ読出要求に対応する正規の読出データとして出力することを特徴とする半導体記憶装置。 - 請求項1ないし請求項3のいずれかに記載の半導体記憶装置において、
前記第1半導体メモリ部及び前記第2半導体メモリ部は、強誘電体メモリとして構成されていることを特徴とする半導体記憶装置。 - 請求項1ないし請求項4のいずれかに記載の半導体記憶装置と、
前記データ読出要求を前記第1半導体メモリ部あるいは前記第2半導体メモリ部におけるアドレスを指定して行うデータ処理部と、
前記データ処理部により処理されたデータを格納するメインメモリ装置と、
を備えたことを特徴とする情報処理装置。 - プログラムを構成するオペコードを含む各種データが記憶される第1半導体メモリ部と、前記第1半導体メモリと同一構成を有し、前記第1半導体メモリに記憶したデータの複製データが記憶される第2半導体メモリ部と、を備えた半導体記憶装置を制御するための半導体記憶装置の制御方法において、
外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第1半導体メモリ部及び前記第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出す読出過程と、
前記各読み出し毎に前記第1半導体メモリ部から読み出したデータと、前記第2半導体メモリ部から読み出したデータと、を比較するデータ比較過程と、
前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力するデータ出力過程と、
を備えたことを特徴とする半導体記憶装置の制御方法。 - プログラムを構成するオペコードを含む各種データが記憶される第1半導体メモリ部と、前記第1半導体メモリと同一構成を有し、前記第1半導体メモリに記憶したデータの複製データが記憶される第2半導体メモリ部と、を備えた半導体記憶装置をコンピュータにより制御するための制御プログラムにおいて、
外部からのデータ読出要求に基づいて、当該データ読出要求に対応する一対のデータを前記第1半導体メモリ部及び前記第2半導体メモリ部の双方から所定時間間隔を空けて複数回読み出させ、
前記各読み出し毎に前記第1半導体メモリ部から読み出したデータと、前記第2半導体メモリ部から読み出したデータと、を比較させ、
前記複数回の読み出しに対して、全てのデータが一致した場合に、当該一致したデータを前記データ読出要求に対応する読出データとして出力させる、
ことを特徴とする制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007295270A JP2009122901A (ja) | 2007-11-14 | 2007-11-14 | 半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007295270A JP2009122901A (ja) | 2007-11-14 | 2007-11-14 | 半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009122901A true JP2009122901A (ja) | 2009-06-04 |
Family
ID=40814998
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007295270A Withdrawn JP2009122901A (ja) | 2007-11-14 | 2007-11-14 | 半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2009122901A (ja) |
-
2007
- 2007-11-14 JP JP2007295270A patent/JP2009122901A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019312B2 (en) | Error monitoring of a memory device containing embedded error correction | |
KR101750662B1 (ko) | 데이터 에러 교정용 회로, 장치, 및 방법 | |
US9619324B2 (en) | Error correction in non—volatile memory | |
US20100169886A1 (en) | Distributed memory synchronized processing architecture | |
US10891185B2 (en) | Error counters on a memory device | |
US20120079346A1 (en) | Simulated error causing apparatus | |
US9917601B2 (en) | Adaptive error correction in a memory system | |
US8949694B2 (en) | Address error detection | |
KR101557572B1 (ko) | 메모리 회로들, 메모리에 액세스하는 방법 및 메모리를 복구하는 방법 | |
JP2009301194A (ja) | 半導体記憶装置の制御システム | |
JP2012104112A (ja) | ミラー化データ・ストレージ・システムにおけるエラーを検出するための方法、コンピュータ・プログラム及びシステム | |
JP2007179450A (ja) | 半導体集積回路 | |
JP5421152B2 (ja) | 半導体集積回路 | |
US20140281681A1 (en) | Error correction for memory systems | |
JP2007265056A (ja) | プログラマブルロジックデバイスのコンフィギュレーション装置 | |
JP2009295252A (ja) | 半導体記憶装置及びそのエラー訂正方法 | |
US20170116060A1 (en) | Error location pointers for nvm | |
US9043655B2 (en) | Apparatus and control method | |
JP2009122901A (ja) | 半導体記憶装置、情報処理装置、半導体記憶装置の制御方法および制御プログラム | |
KR20170143084A (ko) | 반도체장치 및 반도체시스템 | |
WO2013132806A1 (ja) | 不揮発性論理集積回路と不揮発性レジスタの誤りビットの訂正方法 | |
US11861181B1 (en) | Triple modular redundancy (TMR) radiation hardened memory system | |
CN117037884B (zh) | 在存储阵列中使用的熔断器单元及其处理方法、存储阵列 | |
JP2001325155A (ja) | データ記憶装置の誤り訂正方法 | |
US20140372837A1 (en) | Semiconductor integrated circuit and method of processing in semiconductor integrated circuit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100901 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20100901 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20111219 |