(57)【要約】【課題】誤り検出符号の変換過程において十分なデータ保護を行う。【解決手段】データ保護回路４内の生成部１００＿１は、入力データＤ１ｉｎを、これを出力データＤ１ｏｕｔとして出力するための経路(Ｐ２→Ｐ４→Ｐ１０→Ｐ１３)上の一の箇所(例えば、Ｐ２とＰ４の接続ノード)から取得し、第２の誤り検出符号(例えば、ＥＣＣ Ｃ１)を生成する。検査部２００＿１は、入力データＤ１ｉｎを、前記経路上の生成部１００＿１の取得箇所よりも出力側に近い他の箇所(例えば、Ｐ１０とＰ１３の接続ノード)から取得し、第１の誤り検出符号(例えば、パリティＣ２)を用いて入力データＤ１ｉｎの検査を行う。また、接続部３００＿１は、入力データＤ１ｉｎが生成部１００＿１に次いで検査部２００＿１により取得されるよう、生成部１００＿１の取得箇所(Ｐ２とＰ４の接続ノード)と検査部２００＿１の取得箇所(Ｐ１０とＰ１３の接続ノード)とを接続する。【選択図】図２
2010204828.tif 000002
【特許請求の範囲】
【請求項１】
第１の入力データと第１の誤り検出符号とを入力とし、前記第１の入力データに対応する第１の出力データと第２の誤り検出符号とを出力するデータ保護回路であって、
前記第１の入力データを前記第１の出力データとして出力するための第１の経路と、
前記第１の経路から前記第１の入力データを取得し、前記第２の誤り検出符号を生成する第１の生成部と、
前記第１の経路上、前記第１の生成部の取得箇所よりも出力側に近い箇所から前記第１の入力データを取得し、前記第１の誤り検出符号を用いて前記第１の入力データの検査を行う第１の検査部と、
を備えたデータ保護回路。
【請求項２】
請求項１において、
前記第１の入力データが前記第１の生成部に次いで前記第１の検査部により取得されるよう、前記第１の生成部の取得箇所と前記第１の検査部の取得箇所とを接続する接続部を、前記第１の経路中にさらに設けたことを特徴とするデータ保護回路。
【請求項３】
請求項１又は２において、
前記第２の誤り検出符号が、前記第１の出力データに対する誤り訂正符号を含み、
前記第１の生成部が、
前記第１の経路上の一の箇所から前記第１の入力データを取得し、前記第２の誤り検出符号を生成して外部に出力する第２の生成部と、
前記第１の経路上の他の箇所から前記第１の入力データを取得し、前記第２の誤り検出符号を生成する第３の生成部と、
前記第２及び第３の生成部により生成された両誤り検出符号の不一致を検出した場合に、前記第２の誤り検出符号が前記第１の出力データの誤り訂正に用いるのに不適であることを外部に通知する通知部と、
を含むことを特徴としたデータ保護回路。
【請求項４】
請求項１又は２において、
前記第１の誤り検出符号が、前記第１の入力データに対する誤り訂正符号を含み、
前記第１の検査部が、前記第１の入力データに前記第１の誤り検出符号を用いて訂正可能な誤りを検出した場合、前記第１の入力データを訂正し、その訂正箇所に応じて前記第２の誤り検出符号を補正することを特徴としたデータ保護回路。
【請求項５】
請求項１又は２において、
第２の入力データを第２の出力データとして出力するための第２の経路と、
前記第２の経路から前記第２の入力データを取得し、前記第１の誤り検出符号を生成する第２の生成部と、
前記第２の経路上、前記第２の生成部の取得箇所よりも出力側に近い箇所から前記第２の入力データを取得し、前記第２の入力データを、これに対応して入力された第２の誤り検出符号を用いて検査する第２の検査部と、
をさらに備えたことを特徴とするデータ保護回路。
【請求項６】
請求項５において、
前記第２の入力データが前記第２の生成部に次いで前記第２の検査部により取得されるよう、前記第２の生成部の取得箇所と前記第２の検査部の取得箇所とを接続する接続部を、前記第２の経路中にさらに設けたことを特徴とするデータ保護回路。
【請求項７】
請求項５又は６において、
前記第２の誤り検出符号が、前記第１の出力データに対する誤り訂正符号を含み、
前記第１の生成部が、前記第１の経路上の一の箇所から前記第１の入力データを取得し、前記第２の誤り検出符号を生成して外部に出力する第３の生成部と、前記第１の経路上の他の箇所から前記第１の入力データを取得し、前記第２の誤り検出符号を生成する第４の生成部と、前記第３及び第４の生成部により生成された両誤り検出符号の不一致を検出した場合に、前記第２の誤り検出符号が前記第１のデータの誤り訂正に用いるのに不適であることを外部に記憶する記憶部とを含み、
前記第２の検査部が、前記第２の入力データに対応する第２の誤り検出符号を用いて訂正可能な誤りを検出し、且つ当該第２の誤り符号が前記誤り訂正に不適であると記憶されていない場合に、当該第２の入力データを訂正することを特徴としたデータ保護回路。
【請求項８】
データをそれぞれ処理する第１及び第２の処理回路と、
前記第１の処理回路からのデータと第１の誤り検出符号とを入力とし、前記データと第２の誤り検出符号とを前記第２の処理回路へ出力する保護回路と、を備え、
前記保護回路が、前記データに対する前記第２の誤り検出符号を生成した後、前記第１の誤り検出符号を用いて前記データの検査を行うデータ処理装置。
【請求項９】
入力されたデータに対する第１の誤り検出符号を生成した後、前記データを、これに対応して入力された第２の誤り検出符号を用いて検査するデータ保護方法。
【請求項１０】
請求項９において、
前記第１の誤り検出符号として、前記データに対する誤り訂正符号を含む誤り検出符号を用い、
前記データの転送経路上の互いに異なる２つの箇所について前記第１の誤り検出符号をそれぞれ生成し、
前記生成した両誤り検出符号の不一致を検出した場合に、前記第１の誤り検出符号が前記データの誤り訂正に用いるのに不適であると判定するデータ保護方法。
【請求項１１】
請求項１０において、
前記第１の誤り検出符号によるデータの検査を要求された場合、当該データに訂正可能な誤りがあるか否かを、前記第１の誤り検出符号を用いて判定し、
訂正可能な誤りが有ると判定し、且つ前記第１の誤り検出符号を、その生成に際して誤り訂正に用いるのに不適であると判定していなかった場合に、当該データを訂正することを特徴としたデータ保護方法。
【請求項１２】
請求項９において、
前記第２の誤り検出符号として、前記データに対する誤り訂正符号を含む誤り検出符号を用い、
前記データに前記第２の誤り検出符号を用いて訂正可能な誤りを検出した場合、前記データを訂正し、その訂正箇所に応じて前記第１の誤り検出符号を補正することを特徴としたデータ保護方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ保護回路及び方法、並びにデータ処理装置に関し、特にデータ保護に用いる誤り検出符号を変換する技術に関する。
【背景技術】
【０００２】
例えば特許文献１に、一般的な誤り検出符号の変換機能を有するデータ処理装置が記載されている。図１２に、特許文献１に記載されるデータ処理装置の構成を示す。
【０００３】
図１２に示すデータ処理装置１ｘは、データＤｘを処理するプロセッサ２と、このプロセッサ２にシステムバスＢ１を介して接続されたパリティ論理回路４００と、ＥＣＣ(Ｅｒｒｏｒ Ｃｏｒｒｅｃｔｉｎｇ Ｃｏｄｅ)論理回路５００と、このＥＣＣ論理回路５００にメモリバスＢ２を介して接続され、データＤｘを記憶するメモリ３とで構成されている。システムバスＢ１上では、データＤｘを、パリティＣ２を付加することにより保護している。一方、メモリバスＢ２上では、データＤｘを、ＥＣＣ Ｃ１を付加することにより保護している。
【０００４】
プロセッサ２によるメモリ３へのデータ書込に際して、まずパリティ論理回路４００は、プロセッサ２から入力されたデータＤｘを、これに対応して入力されたパリティＣ２を用いて検査する。そして、パリティ論理回路４００は、パリティＣ２を除去し、データＤｘのみをＥＣＣ論理回路５００へ転送する。ＥＣＣ論理回路５００は、データＤｘに対するＥＣＣ Ｃ１を生成し、データＤｘと共にメモリ３へ転送する。
【０００５】
一方、プロセッサ２によるメモリ３からのデータ読出に際しては、まずＥＣＣ論理回路５００が、メモリ３から読み出したデータＤｘを、これに対応して読み出したＥＣＣ Ｃ１を用いて検査する。そして、ＥＣＣ論理回路５００は、ＥＣＣ Ｃ１を除去し、データＤｘのみをパリティ論理回路４００へ転送する。パリティ論理回路４００は、データＤｘに対するパリティＣ２を生成し、データＤｘと共にプロセッサ２へ転送する。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平６−３２４９５１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、上記の特許文献１には、誤り検出符号の変換過程におけるデータ保護が不十分であるという課題があった。これは、大略、図１３に示す如くパリティ論理回路４００とＥＣＣ論理回路５００の間が、何らデータ保護が行われない区間(以下、無保護区間と呼称する)ＳＣＴｎとなるためである。
【０００８】
より具体的には、メモリ３からのデータ読出に際して、パリティ論理回路４００−ＥＣＣ論理回路５００間のパスにハードウェア故障や他の回路からの外乱(中性子線やα線等)に因るソフトエラーが生じ、以てデータＤｘにビット化けが発生した場合(ステップＳ１)、パリティ論理回路４００は、不正なデータＤｘに基づきパリティＣ２を生成する(ステップＳ３)。このため、プロセッサ２は、メモリ３から読み出されたデータＤｘが不正であることを何ら検出できない(ステップＳ３)。なお、図示を省略するが、メモリ３へのデータ書込に際しては、ＥＣＣ論理回路５００が、ビット化けが発生している不正なデータＤｘに基づきＥＣＣ Ｃ１を生成する。このため、例えハードウェア故障やソフトエラーが復旧しても、メモリ３からの再読出時に、不正なデータＤｘがそのまま処理されてしまうこととなる。
【課題を解決するための手段】
【０００９】
本発明の一態様に係るデータ保護回路は、入力データと第１の誤り検出符号とを入力とし、前記入力データに対応する出力データと第２の誤り検出符号とを出力するデータ保護回路であって、前記入力データを前記出力データとして出力するための経路と、前記経路から前記入力データを取得し、前記第２の誤り検出符号を生成する生成部と、前記経路上、前記生成部の取得箇所よりも出力側に近い箇所から前記入力データを取得し、前記第１の誤り検出符号を用いて前記入力データの検査を行う検査部とを備える。
【００１０】
また、本発明の一態様に係るデータ処理装置は、データをそれぞれ処理する第１及び第２の処理回路と、前記第１の処理回路からのデータと第１の誤り検出符号とを入力とし、前記データと第２の誤り検出符号とを前記第２の処理回路へ出力する保護回路とを備える。前記保護回路は、前記データに対する前記第２の誤り検出符号を生成した後、前記第１の誤り検出符号を用いて前記データの検査を行う。
【００１１】
さらに、本発明の一態様に係るデータ保護方法は、入力されたデータに対する第１の誤り検出符号を生成した後、前記データを、これに対応して入力された第２の誤り検出符号を用いて検査する。
【００１２】
すなわち、本発明では、誤り検出符号の変換過程において、入力データが互いに異なる誤り検出符号により２重に保護される。従って、上述した不正データの発生をより確実に検出することが可能である。
【発明の効果】
【００１３】
本発明によれば、誤り検出符号の変換過程において十分なデータ保護を行うことができ、以てデータ処理装置の信頼性を向上させることが可能である。
【図面の簡単な説明】
【００１４】
【図１】本発明に係るデータ処理装置の各実施の形態に共通の構成例を示したブロック図である。
【図２】本発明に係るデータ保護回路の実施の形態１の構成例を示したブロック図である。
【図３】本発明に係るデータ保護回路の実施の形態１の動作例を示したテーブルである。
【図４】本発明に係るデータ保護回路の実施の形態２の構成例を示したブロック図である。
【図５】本発明に係るデータ保護回路の実施の形態２の動作例を示したテーブルである。
【図６】本発明に係るデータ保護回路の実施の形態３の構成例を示したブロック図である。
【図７】本発明に係るデータ保護回路の実施の形態４の構成例を示したブロック図である。
【図８】本発明に係るデータ保護回路の実施の形態４の動作例を示したテーブルである。
【図９】本発明に係るデータ保護回路の実施の形態５の構成例を示したブロック図である。
【図１０】本発明に係るデータ保護回路の実施の形態５の動作例を示したテーブルである。
【図１１】本発明に係るデータ保護回路の実施の形態６の構成例を示したブロック図である。
【図１２】一般的なデータ処理装置の構成例を示したブロック図である。
【図１３】一般的なデータ処理装置の課題を説明するための図である。
【発明を実施するための形態】
【００１５】
以下、本発明に係るデータ保護回路及びこれを適用するデータ処理装置の実施の形態を、図１〜図１１を参照して説明する。なお、各図面において同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
【００１６】
[実施の形態１]
図１に示す本実施の形態に係るデータ処理装置１は、ＣＰＵ(Ｃｅｎｔｒａｌ Ｐｒｏｓｅｓｓｉｎｇ Ｕｎｉｔ)やＤＭＡ(Ｄｉｒｅｃｔ Ｍｅｍｏｒｙ Ａｃｃｅｓｓ)コントローラ等のプロセッサ２と、ＳＲＡＭ(Ｓｔａｔｉｃ Ｒａｎｄｏｍ Ａｃｃｅｓｓ Ｍｅｍｏｒｙ)等のメモリ３と、データ保護回路４とで構成されている。プロセッサ２とデータ保護回路４は、システムバスＢ１により相互接続される。また、メモリ３とデータ保護回路４は、メモリバスＢ２により相互接続される。なお、下記の実施の形態２〜６に係るデータ保護回路も、データ保護回路４と同様にデータ処理装置１に適用することができる。
【００１７】
また、図２に示すように、データ保護回路４は、誤り検出符号生成部１００＿１と、データ検査部２００＿１と、これらの生成部１００＿１及び検査部２００＿１を接続する接続部３００＿１とを備えている。ここで、接続部３００＿１は、データ保護回路４の実装工程における最適化(論理合成)に因り、データＤ１ｉｎの生成部１００＿１及び検査部２００＿１による取得順序(生成部１００＿１→検査部２００＿１の順序)が逆転してしまうのを防止する。但し、データＤ１ｉｎの取得順序が保証される場合、接続部３００＿１の設置は必須では無い。これは、下記の実施の形態２〜６に用いる接続部についても同様に適用される。
【００１８】
この内、誤り検出符号生成部１００＿１は、上記のシステムバスＢ１を介して入力されたデータＤ１ｉｎに対するＥＣＣ Ｃ１を生成するＥＣＣ生成回路１０１を有する。また、データ検査部２００＿１は、入力データＤ１ｉｎを、これに対応して入力されたパリティＣ２を用いて検査するパリティ検査回路２０１を有する。なお、誤り検出符号としてＥＣＣ及びパリティを用いるのは必須では無く、種々の誤り検出符号を用いることができる。これは、下記の実施の形態２〜６に用いる誤り検出符号生成部及びデータ検査部についても同様に適用される。
【００１９】
また、接続部３００＿１は、３つのフリップフロップ(以下、ＦＦと略称する)６〜８を有する。この内、ＦＦ６は、入力されたパリティＣ２をパリティ検査回路２０１へ転送する。また、ＦＦ７は、入力データＤ１ｉｎを、パリティ検査回路２０１に与えると共にデータ保護回路４の出力データＤ１ｏｕｔとする。出力データＤ１ｏｕｔは、上記のメモリバスＢ２を介してメモリ３へ転送される。さらに、ＦＦ８は、ＥＣＣ生成回路１０１から出力されたＥＣＣ Ｃ１を、メモリバスＢ２を介してメモリ３へ転送する。なお、接続部３００＿１は、ＦＦに限らず、バッファ等を用いて構成しても良い。これは、下記の実施の形態２〜６に用いる接続部についても同様に適用される。
【００２０】
これにより、図示の如く、パリティ検査回路２０１の前段がパリティ保護区間ＳＣＴ１となり、ＥＣＣ生成回路１０１の後段がＥＣＣ保護区間ＳＣＴ２となる。また、ＥＣＣ生成回路１０１−パリティ検査回路２０１間は、ＥＣＣによるデータ保護と、パリティによるデータ保護のオーバラップ区間(以下、オーバラップ保護区間と呼称する)ＳＣＴ３となる。すなわち、データ保護回路４においては、メモリ３へのデータ書込に際して、図１３に示した無保護区間ＳＣＴｎは存在しない。従って、不正データの発生をより確実に検出することができる。
【００２１】
以下、本実施の形態の動作を、図３を参照して説明する。なお、同図においては、図２に示すパスＰ１〜Ｐ５及びＰ１０〜Ｐ１３、並びにＦＦ６〜ＦＦ９の各々に１ビットエラーが発生した場合の動作例を扱っている。
【００２２】
パスＰ１(システムバスＢ１を含む)及びＰ９、並びにＦＦ６のいずれかにエラーが発生した場合、データ保護回路４は、出力データＤ１ｏｕｔ及びＥＣＣ Ｃ１を正常に発生する。また、データ保護回路４内のパリティ検査回路２０１は、入力データＤ１ｉｎを、誤りの有るパリティ(以下、誤パリティ)Ｃ２を用いて検査する。従って、パリティ検査回路２０１は、前段のパスにエラーが発生していることを検出できる。
【００２３】
パスＰ２(システムバスＢ１を含む)にエラーが発生した場合、データ保護回路４は、誤りの有る出力データ(以下、誤出力データ)Ｄ１ｏｕｔを発生する。また、データ保護回路４内のＥＣＣ生成回路１０１は、誤りの有る入力データ(以下、誤入力データ)Ｄ１ｉｎを正常なデータとして扱い、ＥＣＣ Ｃ１を正常に生成する。しかしながら、パリティ検査回路２０１は、誤入力データＤ１ｉｎを、正常なパリティＣ２を用いて検査する。従って、パリティ検査回路２０１は、前段のパスにエラーが発生していることを検出できる。
【００２４】
パスＰ３にエラーが発生した場合、データ保護回路４は、正常な出力データＤ１ｏｕｔを発生する。一方、データ保護回路４内のＥＣＣ生成回路１０１は、誤入力データＤ１ｉｎに基づき、誤りの有るＥＣＣ(以下、誤ＥＣＣ)Ｃ１を生成する。この場合、パリティ検査回路２０１は、誤ＥＣＣの発生を検出できない。しかしながら、データ保護回路４の後段のＥＣＣ検査(メモリ３からの再読出時のＥＣＣ検査)にて、正常なデータＤ１ｏｕｔが誤ＥＣＣ Ｃ１を用いて検査される。従って、エラー発生が、データ処理装置１全体を通して検出されることとなる。なお、後段のＥＣＣ検査にて正常なデータＤ１ｏｕｔが誤ＥＣＣ Ｃ１を用いて誤って訂正され得るが、このような誤訂正は後述する実施の形態４により防止できる。
【００２５】
パスＰ４及びＰ１０、並びにＦＦ７のいずれかにエラーが発生した場合、データ保護回路４は、誤出力データＤ１ｏｕｔ及び正常なＥＣＣ Ｃ１を発生する。また、パリティ検査回路２０１は、誤入力データＤ１ｉｎを、正常なパリティＣ２を用いて検査する。従って、パリティ検査回路２０１は、前段のパスにエラーが発生していることを検出できる。
【００２６】
パスＰ５及びＰ１１、並びにＦＦ８のいずれかにエラーが発生した場合、データ保護回路４は、正常な出力データＤ１ｏｕｔ及び誤ＥＣＣ Ｃ１を発生する。また、パリティ検査回路２０１は、正常な入力データＤ１ｉｎを、正常なパリティＣ２を用いて検査する。この場合、パリティ検査回路２０１は、誤ＥＣＣの発生を検出できない。しかしながら、パスＰ３の場合と同様、後段のＥＣＣ検査にてエラー発生が検出されることとなる。
【００２７】
パスＰ１２にエラーが発生した場合、データ保護回路４は、出力データＤ１ｏｕｔ及びＥＣＣ Ｃ１を正常に発生する。また、パリティ検査回路２０１は、誤入力データＤ１ｉｎを、正常なパリティＣ２を用いて検査する。従って、パリティ検査回路２０１は、前段のパスにエラーが発生していることを検出できる。
【００２８】
パスＰ１３にエラーが発生した場合、データ保護回路４は、誤出力データＤ１ｏｕｔ及び正常なＥＣＣ Ｃ１を発生する。この場合、データ保護回路４は、誤出力データの発生を検出できない。しかしながら、パスＰ３の場合と同様、後段のＥＣＣ検査にてエラー発生が検出されることとなる。
【００２９】
[実施の形態２]
図４に示す本実施の形態に係るデータ保護回路４ａは、誤り検出符号生成部１００＿２と、データ検査部２００＿２と、これらの生成部１００＿２及び検査部２００＿２を接続する接続部３００＿２とを備えている。
【００３０】
この内、誤り検出符号生成部１００＿２は、図１に示したメモリバスＢ２を介して入力されたＤ２ｉｎに対するパリティＣ２を生成するパリティ生成回路１０２を有する。また、データ検査部２００＿２は、入力データＤ２ｉｎを、これに対応して入力されたＥＣＣ Ｃ１を用いて検査するＥＣＣ検査回路２０２を有する。
【００３１】
また、接続部３００＿２は、３つのＦＦ１９〜２１を有する。この内、ＦＦ１９は、入力されたＥＣＣ Ｃ１をＥＣＣ検査回路２０２へ転送する。また、ＦＦ２０は、入力データＤ２ｉｎを、ＥＣＣ検査回路２０２に与えると共にデータ保護回路４ａの出力データＤ２ｏｕｔとする。出力データＤ２ｏｕｔは、図１に示したシステムバスＢ１を介してプロセッサ２へ転送される。さらに、ＦＦ２１は、パリティ生成回路１０２から出力されたパリティＣ２を、システムバスＢ１を介してプロセッサ２へ転送する。
【００３２】
これにより、図示の如く、パリティ生成回路１０２の後段がパリティ保護区間ＳＣＴ１となり、ＥＣＣ検査回路２０２の前段がＥＣＣ保護区間ＳＣＴ２となる。また、パリティ生成回路１０２−ＥＣＣ検査回路２０２間は、オーバラップ保護区間ＳＣＴ３となる。すなわち、データ保護回路４ａにおいては、メモリ３からのデータ読出に際して、図１３に示した無保護区間ＳＣＴｎは存在しない。従って、不正データの発生をより確実に検出することができる。
【００３３】
以下、本実施の形態の動作を、図５を参照して説明する。なお、同図においては、図４に示すパスＰ１４〜Ｐ１８及びＰ２２〜Ｐ２６、並びにＦＦ１９〜ＦＦ２１の各々に１ビットエラーが発生した場合の動作例を扱っている。
【００３４】
パスＰ１４(メモリバスＢ２を含む)及びＰ２２、並びにＦＦ１９のいずれかにエラーが発生した場合、データ保護回路４ａは、出力データＤ２ｏｕｔ及びパリティＣ２を正常に発生する。また、データ保護回路４ａ内のＥＣＣ検査回路２０２は、入力データＤ２ｉｎを、誤ＥＣＣ Ｃ１を用いて検査する。従って、ＥＣＣ検査回路２０２は、前段のパスにエラーが発生していることを検出できる。
【００３５】
パスＰ１５(メモリバスＢ２を含む)にエラーが発生した場合、データ保護回路４ａは、誤出力データＤ２ｏｕｔを発生する。また、データ保護回路４ａ内のパリティ生成回路１０２は、誤入力データＤ２ｉｎを正常なデータとして扱い、パリティＣ２を正常に生成する。しかしながら、ＥＣＣ検査回路２０２は、誤入力データＤ２ｉｎを、正常なＥＣＣ Ｃ１を用いて検査する。従って、ＥＣＣ検査回路２０２は、前段のパスにエラーが発生していることを検出できる。
【００３６】
パスＰ１６にエラーが発生した場合、データ保護回路４ａは、正常な出力データＤ２ｏｕｔを発生する。一方、パリティ生成回路１０２は、誤入力データＤ２ｉｎに基づき、誤パリティＣ２を生成する。この場合、ＥＣＣ検査回路２０２は、誤パリティの発生を検出できない。しかしながら、データ保護回路４ａの後段のパリティ検査にて、正常なデータＤ２ｏｕｔが誤パリティＣ２を用いて検査される。従って、エラー発生が、データ処理装置１全体を通して検出されることとなる。
【００３７】
パスＰ１７及びＰ２３、並びにＦＦ２０のいずれかにエラーが発生した場合、データ保護回路４ａは、誤出力データＤ２ｏｕｔ及び正常なパリティＣ２を発生する。また、ＥＣＣ検査回路２０２は、誤入力データＤ２ｉｎを、正常なＥＣＣ Ｃ１を用いて検査する。従って、ＥＣＣ検査回路２０２は、前段のパスにエラーが発生していることを検出できる。
【００３８】
パスＰ１８及びＰ２４、並びにＦＦ２１のいずれかにエラーが発生した場合、データ保護回路４ａは、正常な出力データＤ２ｏｕｔ及び誤パリティＣ２を発生する。また、ＥＣＣ検査回路２０２は、誤入力データＤ２ｉｎを、正常なＥＣＣ Ｃ１を用いて検査する。この場合、ＥＣＣ検査回路２０２は、誤ＥＣＣの発生を検出できない。しかしながら、パスＰ１６の場合と同様、後段のパリティ検査にてエラー発生が検出されることとなる。
【００３９】
パスＰ２５にエラーが発生した場合、データ保護回路４ａは、出力データＤ２ｏｕｔ及びパリティＣ２を正常に発生する。また、ＥＣＣ検査回路２０２は、誤入力データＤ２ｉｎを、正常なＥＣＣ Ｃ１を用いて検査する。従って、ＥＣＣ検査回路２０２は、前段のパスにエラーが発生していることを検出できる。
【００４０】
パスＰ２６にエラーが発生した場合、データ保護回路４ａは、誤出力データＤ２ｏｕｔ及び正常なパリティＣ２を発生する。この場合、データ保護回路４ａは、誤出力データの発生を検出できない。しかしながら、パスＰ１６の場合と同様、後段のパリティ検査にてエラー発生が検出されることとなる。
【００４１】
[実施の形態３]
図６に示す本実施の形態に係るデータ保護回路４ｂは、図２に示した誤り検出符号生成部１００＿１、データ検査部２００＿１、及び接続部３００＿１と、図４に示した誤り検出符号生成部１００＿２、データ検査部２００＿２、及び接続部３００＿２とを並列に備えている。
【００４２】
これにより、図示の如く、オーバラップ保護区間ＳＣＴ３が形成される。すなわち、データ保護回路４ｂにおいては、メモリ３に対するデータ書込及びデータ読出の両者に際して、図１３に示した無保護区間ＳＣＴｎが存在しない。
【００４３】
[実施の形態４]
図７に示す本実施の形態に係るデータ保護回路４ｃは、図２に示した誤り検出符号生成部１００＿１に代えて、誤り検出符号生成部１００＿３を設けた点が上記の実施の形態１と異なる。
【００４４】
また、誤り検出符号生成部１００＿３は、図２と同様のＥＣＣ生成回路１０１と、この生成回路１０１と並列に設置され、入力データＤ１ｉｎに対するＥＣＣ Ｃ１を生成するＥＣＣ生成回路１０３と、これらの生成回路１０１及び１０３により生成された両ＥＣＣ Ｃ１を比較して不一致を検出した場合に、ＥＣＣ Ｃ１が出力データＤ１ｏｕｔの誤り訂正に用いるのに不適であることを示すデータ(以下、ＥＣＣ不適表示データ)Ｄ３を外部に通知する通知部１０４とを含む。図示の例では、通知部１０４は、ＥＣＣ不適表示データＤ３をメモリ３に記憶する。また、ＦＦ２９及び３０により、ＥＣＣ生成回路１０１及び１０３に対するデータＤ１ｉｎの入力タイミングを同期させている。これに合わせて、ＦＦ２９により、入力されたパリティＣ２の転送タイミングを遅延させている。なお、これらのＦＦ２９〜ＦＦ３０の設置は必須では無い。
【００４５】
以下、本実施の形態の動作を、図８を参照して説明する。なお、同図においては、図７に示すパスＰ１〜Ｐ５、Ｐ１０〜Ｐ１３、Ｐ２８、Ｐ３３、及びＰ３６、並びにＦＦ６〜９及び３０の各々に１ビットエラーが発生した場合の動作例を扱っている。また、パスＰ１〜Ｐ５及びＰ１０〜Ｐ１３、並びにＦＦ６〜９の各々にエラーが発生した場合の出力データＤ１ｏｕｔ、ＥＣＣ Ｃ１、及びパリティ検査回路２０１によるエラー検出可否は図３と同様であるため、その説明を省略する。
【００４６】
パスＰ１、Ｐ２、Ｐ４、Ｐ５、及びＰ１０〜Ｐ１３、並びにＦＦ６〜９のいずれかにエラーが発生した場合、データ保護回路４ｃ内の各ＥＣＣ生成回路１０１及び１０３は、同一のＥＣＣ Ｃ１を生成する。従って、通知部１０４は、両ＥＣＣ Ｃ１の一致を検出し、ＥＣＣ不適表示データＤ３を発生しない。
【００４７】
一方、パスＰ３、Ｐ２８、Ｐ３３、及びＰ３６、並びにＦＦ３０のいずれかにエラーが発生した場合、通知部１０４は、両ＥＣＣ Ｃ１の不一致を検出し、ＥＣＣ不適表示データＤ３をメモリ３に記憶する。これにより、データ保護回路４ｃの後段のＥＣＣ検査(メモリ３からの再読出時のＥＣＣ検査)にてＥＣＣ不適表示データＤ３を参照でき、以て正常なデータＤ１ｏｕｔが、誤ＥＣＣ Ｃ１を用いて不正データに訂正されてしまうのを防止できる。
【００４８】
[実施の形態５]
図９に示す本実施の形態に係るデータ保護回路４ｄは、図４に示したデータ検査部２００＿２に代えて、データ検査部２００＿３を設けた点が上記の実施の形態２と異なる。
【００４９】
また、データ検査部２００＿３は、図４と同様のＥＣＣ検査回路２０２と、この検査回路２０２からの反転指示ＩＮＳに従い、出力データＤ２ｏｕｔ及びパリティＣ２のビットを反転するビット反転回路２０３を有する。
【００５０】
以下、本実施の形態の動作を、図１０を参照して説明する。なお、同図においては、図９に示すパスＰ１５、Ｐ１７、Ｐ２３、及びＰ２５、並びにＦＦ２０の各々に１ビットエラーが発生した場合の動作例を扱っている。
【００５１】
パスＰ１５(メモリバスＢ２を含む)、Ｐ１７、Ｐ２３、及びＰ２５、並びにＦＦ２０のいずれかにエラーが発生した場合、ＥＣＣ検査回路２０２は、誤入力データＤ２ｉｎを正常なＥＣＣ Ｃ１を用いて検査し、以て前段のパスにエラーが発生していることを検出する。この時、ＥＣＣ検査回路２０２は、ビット反転回路２０３に反転指示ＩＮＳを与え、以てビット反転回路２０３に、正常な出力データＤ２ｏｕｔ及び誤パリティＣ２を出力させる。なお、ＥＣＣ検査回路２０２は、反転指示ＩＮＳとして、入力データＤ２ｉｎの訂正(反転)すべきビット、及びこれに対応するパリティＣ２の反転すべきビットを指定する。
【００５２】
このように、データ保護回路４ｄは、パリティを強制的に反転してパスエラーを通知する。これにより、正常なデータ及びＥＣＣを出力する場合(すなわち、後段の回路が正常に動作可能な場合)であっても、後段のパリティ検査にてエラー発生を検出させることができる。また、このようなパスエラーの通知機構は、データ処理装置１の不具合解析(エラー起因箇所の特定、及びエラー発生時のデータアクセスパターンの解析)等に有用である。
【００５３】
[実施の形態６]
図１１に示す本実施の形態に係るデータ保護回路４ｅは、図７に示した誤り検出符号生成部１００＿３、データ検査部２００＿１、及び接続部３００＿１と、図９に示した誤り検出符号生成部１００＿２、データ検査部２００＿３、及び接続部３００＿２とを並列に備えている。但し、データ検査部２００＿３内のＥＣＣ検査回路２０２が、通知部１０４によりメモリ３へ記憶されたＥＣＣ不適表示データＤ３を参照する。
【００５４】
動作において、ＥＣＣ検査回路２０２は、検査対象の入力データＤ２ｉｎに対応するＥＣＣ不適表示データＤ３をメモリ３から読み出す。ＥＣＣ不適表示データＤ３が通知部１０４におけるＥＣＣの不一致を示す場合、ＥＣＣ検査回路２０２は、ＥＣＣ Ｃ１を用いた入力データＤ２ｉｎの訂正が可能であっても反転指示ＩＮＳを発生せず、以て正常なデータを誤って訂正してしまうのを回避する。
【００５５】
なお、上記の実施の形態によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
【符号の説明】
【００５６】
１  データ処理装置
２  プロセッサ
３  メモリ
４, ４ａ〜４ｅ  データ保護回路
６〜８, １９〜２１, ２９〜３１  ＦＦ
１００＿１〜１００＿３  誤り検出符号生成部
１０１, １０３  ＥＣＣ生成回路
１０２  パリティ生成回路
１０４  通知部
２００＿１〜２００＿３  データ検査部
２０１  パリティ検査回路
２０２  ＥＣＣ検査回路
２０３  ビット反転回路
３００＿１, ３００＿２  接続部
Ｂ１  システムバス
Ｂ２  メモリバス
Ｃ１  ＥＣＣ
Ｃ２  パリティ
Ｄ１ｉｎ, Ｄ２ｉｎ  入力データ
Ｄ１ｏｕｔ, Ｄ２ｏｕｔ  出力データ
Ｄ３  ＥＣＣ不適表示データ
ＩＮＳ  反転指示
Ｐ１〜Ｐ５,Ｐ９〜Ｐ１３,Ｐ１４〜Ｐ１８,Ｐ２２〜Ｐ２８,Ｐ３２〜Ｐ３７  パス
ＳＣＴ１  パリティ保護区間
ＳＣＴ２  ＥＣＣ保護区間
ＳＣＴ３  オーバラップ保護区間
【図１】
2010204828.tif 000003
【図２】
2010204828.tif 000004
【図３】
2010204828.tif 000005
【図４】
2010204828.tif 000006
【図５】
2010204828.tif 000007
【図６】
2010204828.tif 000008
【図７】
2010204828.tif 000009
【図８】
2010204828.tif 000010
【図９】
2010204828.tif 000011
【図１０】
2010204828.tif 000012
【図１１】
2010204828.tif 000013
【図１２】
2010204828.tif 000014
【図１３】
2010204828.tif 000015