(57)【要約】【課題】  メモリのデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、しかも、処理速度の低下を招くことのないメモリデータ訂正システムおよびメモリデータ訂正方法を提供する。【解決手段】  プログラムに従って所定の処理を行うプロセッサ１と、所定のデータを記憶するメモリ２と、メモリ２に記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号をプロセッサ１に送るデータ訂正回路３と、を備えている。【選択図】      図１
2013206230.tif 000002
【特許請求の範囲】
【請求項１】
プログラムに従って所定の処理を行うプロセッサと、
所定のデータを記憶するメモリと、
前記メモリに記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号を前記プロセッサに送るデータ訂正回路と、
を備えていることを特徴とするメモリデータ訂正システム。
【請求項２】
前記プロセッサは、前記データ訂正回路から訂正信号が送られた場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とする請求項１に記載のメモリデータ訂正システム。
【請求項３】
前記データ訂正回路は、前記プロセッサが前記メモリにアクセスしていない場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とする請求項１に記載のメモリデータ訂正システム。
【請求項４】
メモリに記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号をプロセッサに送り、前記プロセッサは、訂正信号が送られた場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とするメモリデータ訂正方法。
【請求項５】
メモリに記憶されたデータを訂正するとともにデータをデータを訂正したことを示す訂正信号をプロセッサに送り、前記プロセッサが前記メモリにアクセスしていない場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とするメモリデータ訂正方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はメモリデータ訂正システムおよびメモリデータ訂正方法に係り、特に、メモリのデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、しかも、処理速度の低下を招くことのないメモリデータ訂正システムおよびメモリデータ訂正方法に関する。
【背景技術】
【０００２】
従来、所定のデータを記録するメモリにおいては、一過性のノイズや宇宙線などが原因となり、データのビット反転などが発生することが知られている。このようなデータのビット反転が発生すると、データとして正常なものではなくなるので、このデータを利用するシステムが停止してしまったり、誤動作などを招いてしまうという問題がある。
【０００３】
そのため、メモリにデータを記憶させる際に、データ訂正用符号を記憶させ、データのビット反転が発生した場合においても、データ訂正符号を用いて訂正したデータを出力することができるようにした技術がある。
【０００４】
このような技術として、従来から、例えば、アドレス信号を検出した結果、セグメントの誤りが検出された場合に、Ｃ１訂正回路に入力されるデータを符号語を成さないデータに変換することにより、Ｃ１訂正では本来エラー検出できないシンボルに対してＣ２訂正の読みだしの時にエラーフラグを立てることができ、Ｃ２訂正符号による消失訂正能力を下げることなく、誤訂正を起こす確率を下げることができるようにした技術が開示されている（例えば、特許文献１を参照。）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平０５−２１０９２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、前記従来の技術においては、データ訂正用符号によりメモリのデータを訂正する場合、メモリに記憶された内部データそのものを訂正する機能ではないため、そのまま放置しておくと、さらにビット反転が発生し、訂正することができなくなるおそれがあるという問題を有している。また、無条件にメモリの内部データを訂正する処理を行わせようすると、メモリを利用した処理速度が遅くなるおそれがあるという問題を有している。
【０００７】
本発明は前記した点に鑑みてなされたものであり、メモリのデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、しかも、処理速度の低下を招くことのないメモリデータ訂正システムおよびメモリデータ訂正方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００８】
本発明は前記目的を達成するために、請求項１の発明に係るメモリデータ訂正システムは、プログラムに従って所定の処理を行うプロセッサと、
所定のデータを記憶するメモリと、
前記メモリに記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号を前記プロセッサに送るデータ訂正回路と、
を備えていることを特徴とする。
【０００９】
請求項２に係る発明は、請求項１において、前記プロセッサは、前記データ訂正回路から訂正信号が送られた場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とする。
【００１０】
請求項３に係る発明は、請求項１において、前記データ訂正回路は、前記プロセッサが前記メモリにアクセスしていない場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とする。
【００１１】
請求項４に係るメモリデータ訂正方法は、メモリに記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号をプロセッサに送り、前記プロセッサは、訂正信号が送られた場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とする。
【００１２】
請求項５に係る発明は、メモリに記憶されたデータを訂正するとともにデータをデータを訂正したことを示す訂正信号をプロセッサに送り、前記プロセッサが前記メモリにアクセスしていない場合に、前記メモリに訂正後のデータの再書き込みを行うことを特徴とする。
【発明の効果】
【００１３】
請求項１に係る発明によれば、データ訂正回路により、メモリに記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号をプロセッサに送るようにしているので、メモリのデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができる。
【００１４】
請求項２に係る発明によれば、プロセッサにより、データ訂正回路から訂正信号が送られた場合に、メモリに訂正後のデータの再書き込みを行うようにしているので、従来のように、無条件にメモリの内部データを訂正する処理を行わせる場合のように処理速度が低下してしまうことを確実に防止することができる。
【００１５】
請求項３に係る発明によれば、データ訂正回路により、プロセッサがメモリにアクセスしていない場合に、メモリに訂正後のデータの再書き込みを行うようにしているので、従来のように、無条件にメモリの内部データを訂正する処理を行わせる場合のように処理速度が低下してしまうことを確実に防止することができる。
【００１６】
請求項４に係る発明によれば、メモリに記憶されたデータを訂正するとともにデータを訂正したことを示す訂正信号をプロセッサに送り、プロセッサにより、訂正信号が送られた場合に、メモリに訂正後のデータの再書き込みを行うようにしているので、メモリのデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、しかも、従来のように、無条件にメモリの内部データを訂正する処理を行わせる場合のように処理速度が低下してしまうことを確実に防止することができる。
【００１７】
請求項５に係る発明によれば、メモリに記憶されたデータを訂正するとともにデータをデータを訂正したことを示す訂正信号をプロセッサに送り、プロセッサがメモリにアクセスしていない場合に、メモリに訂正後のデータの再書き込みを行うようにしているので、メモリのデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、しかも、従来のように、無条件にメモリの内部データを訂正する処理を行わせる場合のように処理速度が低下してしまうことを確実に防止することができる。
【図面の簡単な説明】
【００１８】
【図１】本発明に係るメモリデータ訂正システムの第１実施形態を示す概略構成図である。
【図２】本発明に係るメモリデータ訂正システムの第１実施形態におけるデータ訂正方法を示す説明図である。
【図３】本発明に係るメモリデータ訂正システムの第１実施形態におけるデータ訂正方法の動作を示すフローチャートである。
【図４】本発明に係るメモリデータ訂正システムの第２実施形態を示す概略構成図である。
【図５】本発明に係るメモリデータ訂正システムの第２実施形態におけるデータ訂正方法を示す説明図である。
【図６】本発明に係るメモリデータ訂正システムの第２実施形態におけるデータ訂正方法の動作を示すフローチャートである。
【発明を実施するための形態】
【００１９】
以下、本発明の実施形態について図面を参照して説明する。
【００２０】
図１は、本発明に係るメモリデータ訂正システムの第１実施形態を示す概略構成図であり、本実施形態においては、メモリデータ訂正システムは、所定のプログラムに従って所定の処理を行うプロセッサ１を備えている。また、メモリデータ訂正システムは、所定のプログラムやデータを保存するためのメモリ２を備えており、プロセッサ１とメモリ２との間には、データ訂正回路３が設けられている。
【００２１】
本実施形態においては、図２に示すように、データ訂正回路３は、メモリ２に書き込まれたデータが、ノイズなどによりビット反転などが発生して書き換わってしまった場合に、データが変わったことを認識するように構成されている。すなわち、データ訂正回路３は、メモリ２に書き込まれるデータに対してｎビットの訂正用データを対応させることにより、メモリ２に書き込まれたデータが書き換わったか否かを判断することができるように、例えば、ＥＣＣ（Ｅｒｒｏｒ  Ｃｈｅｃｋ  ａｎｄ  Ｃｏｒｒｅｃｔ）メモリ２と同様の機能を有するように構成されている。
【００２２】
また、データ訂正回路３は、プロセッサ１からデータの読み出し要求があった場合には、メモリ２のデータをプロセッサ１に送るように構成されており、メモリ２のデータが書き換わってしまった場合には、メモリ２から読み出したデータを正しいデータに訂正してプロセッサ１に送るとともに、訂正信号をプロセッサ１を送るように構成されている。そして、プロセッサ１は、データ訂正回路３から訂正信号が送られた場合には、訂正が行われたデータをメモリ２に対して再書き込み処理するように構成されている。
【００２３】
図２の例で説明すると、メモリ２に「１２３４」というデータが書き込まれている状態で、ビット反転などが発生してデータが「１２３０」に書き換わってしまった場合に、データ訂正回路３は、プロセッサ１からデータの読み出し要求があった場合に、メモリ２のデータ「１２３０」を正しい「１２３４」に訂正してプロセッサ１に送るとともに、訂正信号をプロセッサ１を送るように構成されている。そして、プロセッサ１は、データ訂正回路３から訂正信号が送られた場合には、訂正が行われたデータ「１２３４」をメモリ２の「１２３０」と置き換えるように再書き込み処理するように構成されている。
【００２４】
次に、前述のメモリデータ訂正システムを用いたメモリデータ訂正方法について図３に示すフローチャートを参照して説明する。
【００２５】
本実施形態においては、プロセッサ１からメモリ２のデータへの読み取り要求があった場合に（ＳＴ１：ＹＥＳ）、データ訂正回路３により、メモリ２のデータが書き換わったか否か判定し（ＳＴ２）、メモリ２のデータが書き換わっていた場合には（ＳＴ２：ＹＥＳ）、データ訂正回路３により、データを訂正してプロセッサ１に送るとともに、訂正信号をプロセッサ１に送る（ＳＴ３）。
【００２６】
そして、訂正信号を受けた場合には、プロセッサ１により、メモリ２に訂正後のデータを再書き込みするようになっている（ＳＴ４）。一方、メモリ２のデータが書き換わっていない場合には、そのままデータをプロセッサ１に送る（ＳＴ５）。
【００２７】
以上述べたように、本実施形態においては、メモリ２のデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、常に正しいデータに基づく処理を行うことができる。また、データ訂正回路３から訂正信号が送られた場合にのみデータの再書き込み処理を行うようにしているので、処理速度が低下してしまうことを確実に防止することができる。
【００２８】
次に、本発明の第２実施形態について説明する。
【００２９】
図４に示すように、本実施形態においては、データ訂正回路３には、再書き込み回路４が設けられている。また、図５に示すように、データ訂正回路３は、前記第１実施形態と同様に、プロセッサ１からデータの読み出し要求があった場合には、メモリ２のデータをプロセッサ１に送るように構成されており、メモリ２のデータが書き換わってしまった場合には、メモリ２から読み出したデータを正しいデータに訂正してプロセッサ１に送るように構成されている。
【００３０】
また、本実施形態においては、データ訂正回路３の再書き込み回路４は、メモリ２のデータが書き換わってしまった場合には、プロセッサ１がメモリ２にアクセスしていない期間に、訂正が行われたデータをメモリ２に対して再書き込み処理するように構成されている。
【００３１】
図４の例で説明すると、メモリ２に「１２３４」というデータが書き込まれている状態で、ビット反転などが発生してデータが「１２３０」に書き換わってしまった場合に、データ訂正回路３は、プロセッサ１からデータの読み出し要求があった場合に、メモリ２のデータ「１２３０」を正しい「１２３４」に訂正してプロセッサ１に送るように構成されている。そして、データ訂正回路３の再書き込み回路４は、プロセッサ１がメモリ２にアクセスしていない期間に、訂正が行われたデータ「１２３４」をメモリ２の「１２３０」と置き換えるように再書き込み処理するように構成されている。
【００３２】
その他の構成は、前記第１実施形態と同様であるので、同一部分には、同一符号を付してその説明を省略する。
【００３３】
次に、前述のメモリデータ訂正システムを用いたメモリデータ訂正方法について図６に示すフローチャートを参照して説明する。
【００３４】
本実施形態においては、プロセッサ１からメモリ２のデータへの読み取り要求があった場合に（ＳＴ１０：ＹＥＳ）、データ訂正回路３により、メモリ２のデータが書き換わったか否か判定し（ＳＴ１１）、メモリ２のデータが書き換わっていた場合には（ＳＴ１１：ＹＥＳ）、データ訂正回路３により、データを訂正してプロセッサ１に送る（ＳＴ１２）。
【００３５】
そして、データ訂正回路３は、プロセッサ１がメモリ２にアクセスしているか否か判断し（ＳＴ１３）、プロセッサ１がメモリ２にアクセスしていない場合に（ＳＴ１３：ＮＯ）、メモリ２に訂正後のデータを再書き込みするようになっている（ＳＴ１４）。一方、メモリ２のデータが書き換わっていない場合には、そのままデータをプロセッサ１に送る（ＳＴ１５）。
【００３６】
以上述べたように、本実施形態においては、メモリ２のデータにビット反転などが発生した場合でも、確実にデータの訂正を行うことができ、常に正しいデータに基づく処理を行うことができる。また、データ訂正回路３によりプロセッサ１がメモリ２にアクセスしていない期間にのみデータの再書き込み処理を行うようにしているので、処理速度が低下してしまうことを確実に防止することができる。
【００３７】
なお、本発明は前記実施形態に限定されるものではなく、本発明の趣旨に基づいて種々の変形が可能である。
【符号の説明】
【００３８】
１  プロセッサ
２  メモリ
３  データ訂正回路
４  再書き込み回路
【図１】
2013206230.tif 000003
【図２】
2013206230.tif 000004
【図３】
2013206230.tif 000005
【図４】
2013206230.tif 000006
【図５】
2013206230.tif 000007
【図６】
2013206230.tif 000008