(57)【要約】【課題】異常状態に起因するデータエラーを検出可能な情報処理装置および情報処理方法を提供する。【解決手段】エラー検出手段１３は、データ読込み手段１２で読み込まれた３２ビットデータとシンドロームコードを比較して当該データのエラーを検出する。エラー情報書込み手段１４は、エラー検出手段１３によりデータのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報をＥＣＣメモリ３２に書き込む。エラー情報読込み手段１５は、データ読込み手段１１によるデータの読込み時に、当該データに対応するエラー情報をＥＣＣメモリ３２から読み込む。【選択図】図１
2008250671.tif 000002
【特許請求の範囲】
【請求項１】
データおよび当該データのエラー検出コードを記憶する記憶装置に、データおよび当該データのエラー検出コードを書き込むデータ書込み手段と、
前記記憶装置から前記データおよび前記エラー検出コードを読み込むデータ読込み手段と、
前記データ読込み手段で読み込まれたエラー検出コードに基づいて、対応するデータのエラーを検出するエラー検出手段と、
を備える情報処理装置において、
前記エラー検出手段によりデータのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むエラー情報書込み手段と、
前記データ読込み手段によるデータの読込み時に、当該データに対応する前記エラー情報を前記記憶装置から読み込むエラー情報読込み手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記エラー情報書込み手段は、前記記憶装置に残っている、前記エラー検出コード用の領域の未使用ビットに前記エラー情報を書き込むことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記エラー情報はエラーの検出回数を示し、前記エラー検出手段によりデータのエラーが検出された場合、前記エラー情報書込み手段は、前記エラー読込み手段で読み込まれた前記エラー情報が示す回数をカウントアップして当該エラー情報を前記記憶装置に書き込むことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記データ、当該データのエラー検出コードおよび当該データのエラー情報の記憶領域は、前記記憶装置のアドレスにより予め対応付けられていることを特徴とする請求項１〜３のいずれか１項に記載の情報処理装置。
【請求項５】
データおよび当該データのエラー検出コードを記憶する記憶装置に、データおよび当該データのエラー検出コードを書き込むステップと、
前記記憶装置から前記データおよび前記エラー検出コードを読み込むステップと、
前記読込むステップで読み込まれたエラー検出コードに基づいて、対応するデータのエラーを検出するステップと、
を備える情報処理方法において、
前記エラーを検出するステップによりデータのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むステップと、
前記読み込むステップによるデータの読込み時に、当該データに対応する前記エラー情報を前記記憶装置から読み込むステップと、
を備えることを特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データおよび当該データのエラー検出コードを記憶装置に書き込むことで、当該データのエラー検出を可能とした情報処理装置および情報処理方法に関する。
【背景技術】
【０００２】
ＥＣＣ（Error Correcting Code）を用いて、メモリに格納されたデータのエラー検出やビット改正を行う技術が知られている。例えば、３２ビットデータに対し、７ビットのシンドロームコードを作成することで、データ１の１ビット改正および２ビット以上のエラーの検出が可能となる。ＣＰＵとメモリとの間に介在するメモリコントローラでは、データ読込み時には、メモリのデータおよびシンドロームコードを併せてチェックし、エラーがない場合には、そのままＣＰＵにデータをパスする。また、１ビット誤りを検出した場合には、ビット改正を行い改正後のデータをＣＰＵにパスする。さらに、２ビット以上の誤りが検出された場合には、ＣＰＵにエラーを通知する。この場合、ビット改正は不可能となる。
【特許文献１】特開２００５−２３４８５５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のシステムでは、エラーの発生についてメモリのアドレスと対応付けた管理をしていないため、同一アドレスにおいて複数回エラーが発生した場合であっても、そのことを認識できない。通常、通電時に同一アドレスに対してデータエラーが２回以上発生する可能性は限りなく０に近い。仮に、そのようなことが発生したとすれば、純粋なソフトエラーではなく、ノイズやデバイス不良、あるいは劣悪な環境が原因となった、いわば異常に起因する可能性が高い。したがって、同一アドレスにおけるデータエラーを認識できれば、合理的な処理が可能となる。
【０００４】
本発明の目的は、異常状態に起因するデータエラーを検出可能な情報処理装置および情報処理方法を提供することにある。
【課題を解決するための手段】
【０００５】
本発明の情報処理装置は、データおよび当該データのエラー検出コードを記憶する記憶装置に、データおよび当該データのエラー検出コードを書き込むデータ書込み手段と、前記記憶装置から前記データおよび前記エラー検出コードを読み込むデータ読込み手段と、前記データ読込み手段で読み込まれたエラー検出コードに基づいて、対応するデータのエラーを検出するエラー検出手段と、を備える情報処理装置において、前記エラー検出手段によりデータのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むエラー情報書込み手段と、前記データ読込み手段によるデータの読込み時に、当該データに対応する前記エラー情報を前記記憶装置から読み込むエラー情報読込み手段と、を備えることを特徴とする。
この情報処理装置によれば、データのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むので、データエラー発生の履歴をデータごとに把握することで、異常状態に起因するデータエラーを検出ができる。
【０００６】
前記エラー情報書込み手段は、前記記憶装置に残っている、前記エラー検出コード用の領域の未使用ビットに前記エラー情報を書き込んでもよい。
【０００７】
前記エラー情報はエラーの検出回数を示し、前記エラー検出手段によりデータのエラーが検出された場合、前記エラー情報書込み手段は、前記エラー読込み手段で読み込まれた前記エラー情報が示す回数をカウントアップして当該エラー情報を前記記憶装置に書き込んでもよい。
【０００８】
前記データ、当該データのエラー検出コードおよび当該データのエラー情報の記憶領域は、前記記憶装置のアドレスにより予め対応付けられていてもよい。
【０００９】
本発明の情報処理方法は、データおよび当該データのエラー検出コードを記憶する記憶装置に、データおよび当該データのエラー検出コードを書き込むステップと、前記記憶装置から前記データおよび前記エラー検出コードを読み込むステップと、前記読込むステップで読み込まれたエラー検出コードに基づいて、対応するデータのエラーを検出するステップと、を備える情報処理方法において、前記エラーを検出するステップによりデータのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むステップと、前記読み込むステップによるデータの読込み時に、当該データに対応する前記エラー情報を前記記憶装置から読み込むステップと、を備えることを特徴とする。
この情報処理方法によれば、データのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むので、データエラー発生の履歴をデータごとに把握することで、異常状態に起因するデータエラーを検出ができる。
【発明の効果】
【００１０】
本発明の情報処理装置によれば、データのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むので、データエラー発生の履歴をデータごとに把握することで、異常状態に起因するデータエラーを検出ができる。
【００１１】
本発明の情報処理方法によれば、データのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むので、データエラー発生の履歴をデータごとに把握することで、異常状態に起因するデータエラーを検出ができる。
【発明を実施するための最良の形態】
【００１２】
以下、図１〜図２を参照して、本発明による情報処理装置の一実施形態について説明する。
【００１３】
図１は、本発明による情報処理装置としてのメモリコントローラを用いたシステムの構成を示すブロック図である。
【００１４】
図１に示すように、メモリコントローラ１は、ＣＰＵ１と、外部メモリ３１およびＥＣＣ（Error Correcting Code）メモリ３２との間に接続され、ＣＰＵ１の指示に従って、データの書込み、読込みを制御する。このシステムでは、３２ビットデータに対し、ＥＣＣとして７ビットのシンドロームコードを割り当てている。これにより、データのエラー検出とともに、データの１ビット改正が可能とされている。２ビット以上のエラーの場合、ビット改正は不可能となる。
【００１５】
図１に示すように、メモリコントローラ１は、ＣＰＵ２から渡された３２ビットデータを外部メモリ３１に、当該データから作成されたシンドロームコードをＥＣＣメモリ３２に、それぞれ書き込むデータ書込み手段１１と、外部メモリ３１から３２ビットデータを外部メモリ３１から、当該データのシンドロームコードをＥＣＣメモリ３２から、それぞれ読み込むとともに、当該３２ビットデータをＣＰＵ２に渡すデータ読込み手段１２と、データ読込み手段１２で読み込まれた３２ビットデータとシンドロームコードを比較して当該データのエラーを検出するとともに、可能な場合にはビット改正を実行するエラー検出手段１３と、エラー検出手段１３によりデータのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報をＥＣＣメモリ３２に書き込むエラー情報書込み手段１４と、データ読込み手段１１によるデータの読込み時に、当該データに対応するエラー情報をＥＣＣメモリ３２から読み込むエラー情報読込み手段１５と、を構成する。
【００１６】
３２ビットデータおよび当該データのシンドロームコードを格納する領域は、外部メモリ３１およびＥＣＣメモリ３２のアドレスとして定められており、データの書込み時および読込み時には、このアドレスがデータ書込み手段１１およびデータ書込み手段１２に与えられる。
【００１７】
次に、図１に示すシステムの動作について説明する。
【００１８】
データの書込みに際して、ＣＰＵ２はメモリコントローラ１に対してエラー情報の初期化を指示する。
【００１９】
ＣＰＵ２がデータの書込みにきた場合、データ書込み手段１１はこのデータに基づいて７ビットのシンドロームコードを作成し、データを外部メモリ３１に、シンドロームコードをＥＣＣメモリ３２に、それぞれ書き込む。また、エラー情報書込み手段１４は、ＣＰＵ２からの上記指示に従って１ビットのエラー情報として「０」をＥＣＣメモリ３２に書き込む。このとき、データ書込み手段１１およびエラー情報書込み手段１４は、協働してシンドロームコード（７ビット）とエラー情報（１ビット）からなる８ビットデータをＥＣＣメモリ３２に書き込む。この書込み処理を、ＣＰＵ２により指示された外部メモリ３１およびＥＣＣメモリ３２の全アドレスに対して実行する。
【００２０】
次に、ＣＰＵ２はメモリコントローラ１に対してエラー情報の初期化指示を解除する。
【００２１】
ＣＰＵ２がデータの読込みにきた場合、データ読込み手段１２は、データを外部メモリ３１から、シンドロームコードをＥＣＣメモリ３２から、それぞれ読み込む。また、データ書込み手段１１およびエラー情報書込み手段１４は、シンドロームコード（７ビット）およびエラー情報（１ビット）からなる８ビットデータをＥＣＣメモリ３２の所定アドレスから読み込む。さらに、エラー検出手段１３は、データ読込み手段１２により読み込まれたデータおよびシンドロームコードに基づいて、エラー発生の有無をチェックする。
【００２２】
図２は、データ読込み時におけるメモリコントローラ１の動作を示すフローチャートである。
【００２３】
図２のステップでは、エラー検出手段１３によりエラー発生の有無をチェックし、エラーが発生したと判断されるのを待って、ステップＳ２へ進む。
【００２４】
ステップＳ２では、エラー検出手段１３によるデータのビット改正が可能か否かにかかわらず、メモリコントローラ１は、エラー情報書込み手段１４により読み込んだエラー情報をチャックする。
【００２５】
エラー情報が「０」であった場合、メモリコントローラ１は、ステップＳ３において、データからシンドロームコードを再計算するとともに、ＥＣＣメモリ３２の所定アドレスのエラー情報に「１」を書き込む。また、メモリコントローラ１は、ステップＳ４において、今回のエラーが１回目のエラーであることをＣＰＵ２に通知し、ステップＳ１へ戻る。
【００２６】
一方、エラー情報が「１」であった場合、メモリコントローラ１は、ステップＳ５において、データからシンドロームコードを再計算するとともに、ＥＣＣメモリ３２の所定アドレスのエラー情報に「１」を書き込む。また、メモリコントローラ１は、ステップＳ６において、今回のエラーが２回目のエラーであることをＣＰＵ２に通知し、ステップＳ１へ戻る。
【００２７】
このように、本実施形態の情報処理装置では、エラー情報をシンドロームコードとともに記録し、データの読込み時にエラー情報をチェックしているので、エラーの発生回数を認識でき、純粋なソフトエラーと、それ以外の原因によるエラーとを峻別することができる。
【００２８】
また、上記のように、７ビットのシンドロームコードを用いる場合、８ビット単位で構成されたメモリの１ビット分が無駄になっており、従来、有効に利用されていないという事情がある。しかし、本実施形態の情報処理装置では、余っている１ビットをエラー情報に有効に割り当てることができ、メモリの容量に影響を与えず、書込み、読込み動作の負担ともならない。
【００２９】
上記実施形態では、エラー情報として１ビットを割り当てることで、エラー発生の回数が２回以上であることを認識可能としている。しかし、２以上のビット数をエラー情報に割り当てることができる場合には、エラー情報をエラー回数のカウント数値とすることができる。この場合、エラー検出手段によりデータのエラーが検出された場合、エラー情報書込み手段は、エラー読込み手段で読み込まれたエラー情報が示す回数をカウントアップして当該エラー情報をメモリに書き込めばよい。これにより、エラー情報はエラーの検出回数を示すこととなり、通電時におけるアドレスごとのエラーの発生回数をエラー情報として保有することができる。
【００３０】
以上説明したように、本発明の情報処理装置によれば、データのエラーが検出された場合、当該データについてエラーが検出された旨のエラー情報を前記記憶装置に書き込むので、データエラー発生の履歴をデータごとに把握することで、異常状態に起因するデータエラーを検出ができる。
【００３１】
本発明の適用範囲は上記実施形態に限定されることはない。本発明は、データおよび当該データのエラー検出コードを記憶する記憶装置に、データおよび当該データのエラー検出コードを書き込むデータ書込み手段と、記憶装置から上記データおよびエラー検出コードを読み込むデータ読込み手段と、データ読込み手段で読み込まれたエラー検出コードに基づいて、対応するデータのエラーを検出するエラー検出手段と、を備える情報処理装置に対し、広く適用することができる。
【図面の簡単な説明】
【００３２】
【図１】本発明による情報処理装置としてのメモリコントローラを用いたシステムの構成を示すブロック図。
【図２】データ読込み時におけるメモリコントローラの動作を示すフローチャート。
【符号の説明】
【００３３】
１１    データ書込み手段
１２    データ読込み手段
１３    エラー検出手段
１４    エラー情報書込み手段
１５    エラー情報読込み手段
３１    外部メモリ（記憶装置）
３２    ＥＣＣメモリ（記憶装置）
【図１】
2008250671.tif 000003
【図２】
2008250671.tif 000004