JP2010204828A - データ保護回路及び方法、並びにデータ処理装置 - Google Patents
データ保護回路及び方法、並びにデータ処理装置 Download PDFInfo
- Publication number
- JP2010204828A JP2010204828A JP2009048048A JP2009048048A JP2010204828A JP 2010204828 A JP2010204828 A JP 2010204828A JP 2009048048 A JP2009048048 A JP 2009048048A JP 2009048048 A JP2009048048 A JP 2009048048A JP 2010204828 A JP2010204828 A JP 2010204828A
- Authority
- JP
- Japan
- Prior art keywords
- data
- error detection
- detection code
- error
- input data
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Probability & Statistics with Applications (AREA)
- Detection And Correction Of Errors (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Detection And Prevention Of Errors In Transmission (AREA)
Abstract
【課題】誤り検出符号の変換過程において十分なデータ保護を行う。
【解決手段】データ保護回路4内の生成部100_1は、入力データD1inを、これを出力データD1outとして出力するための経路(P2→P4→P10→P13)上の一の箇所(例えば、P2とP4の接続ノード)から取得し、第2の誤り検出符号(例えば、ECC C1)を生成する。検査部200_1は、入力データD1inを、前記経路上の生成部100_1の取得箇所よりも出力側に近い他の箇所(例えば、P10とP13の接続ノード)から取得し、第1の誤り検出符号(例えば、パリティC2)を用いて入力データD1inの検査を行う。また、接続部300_1は、入力データD1inが生成部100_1に次いで検査部200_1により取得されるよう、生成部100_1の取得箇所(P2とP4の接続ノード)と検査部200_1の取得箇所(P10とP13の接続ノード)とを接続する。
【選択図】図2
【解決手段】データ保護回路4内の生成部100_1は、入力データD1inを、これを出力データD1outとして出力するための経路(P2→P4→P10→P13)上の一の箇所(例えば、P2とP4の接続ノード)から取得し、第2の誤り検出符号(例えば、ECC C1)を生成する。検査部200_1は、入力データD1inを、前記経路上の生成部100_1の取得箇所よりも出力側に近い他の箇所(例えば、P10とP13の接続ノード)から取得し、第1の誤り検出符号(例えば、パリティC2)を用いて入力データD1inの検査を行う。また、接続部300_1は、入力データD1inが生成部100_1に次いで検査部200_1により取得されるよう、生成部100_1の取得箇所(P2とP4の接続ノード)と検査部200_1の取得箇所(P10とP13の接続ノード)とを接続する。
【選択図】図2
Description
本発明は、データ保護回路及び方法、並びにデータ処理装置に関し、特にデータ保護に用いる誤り検出符号を変換する技術に関する。
例えば特許文献1に、一般的な誤り検出符号の変換機能を有するデータ処理装置が記載されている。図12に、特許文献1に記載されるデータ処理装置の構成を示す。
図12に示すデータ処理装置1xは、データDxを処理するプロセッサ2と、このプロセッサ2にシステムバスB1を介して接続されたパリティ論理回路400と、ECC(Error Correcting Code)論理回路500と、このECC論理回路500にメモリバスB2を介して接続され、データDxを記憶するメモリ3とで構成されている。システムバスB1上では、データDxを、パリティC2を付加することにより保護している。一方、メモリバスB2上では、データDxを、ECC C1を付加することにより保護している。
プロセッサ2によるメモリ3へのデータ書込に際して、まずパリティ論理回路400は、プロセッサ2から入力されたデータDxを、これに対応して入力されたパリティC2を用いて検査する。そして、パリティ論理回路400は、パリティC2を除去し、データDxのみをECC論理回路500へ転送する。ECC論理回路500は、データDxに対するECC C1を生成し、データDxと共にメモリ3へ転送する。
一方、プロセッサ2によるメモリ3からのデータ読出に際しては、まずECC論理回路500が、メモリ3から読み出したデータDxを、これに対応して読み出したECC C1を用いて検査する。そして、ECC論理回路500は、ECC C1を除去し、データDxのみをパリティ論理回路400へ転送する。パリティ論理回路400は、データDxに対するパリティC2を生成し、データDxと共にプロセッサ2へ転送する。
しかしながら、上記の特許文献1には、誤り検出符号の変換過程におけるデータ保護が不十分であるという課題があった。これは、大略、図13に示す如くパリティ論理回路400とECC論理回路500の間が、何らデータ保護が行われない区間(以下、無保護区間と呼称する)SCTnとなるためである。
より具体的には、メモリ3からのデータ読出に際して、パリティ論理回路400−ECC論理回路500間のパスにハードウェア故障や他の回路からの外乱(中性子線やα線等)に因るソフトエラーが生じ、以てデータDxにビット化けが発生した場合(ステップS1)、パリティ論理回路400は、不正なデータDxに基づきパリティC2を生成する(ステップS3)。このため、プロセッサ2は、メモリ3から読み出されたデータDxが不正であることを何ら検出できない(ステップS3)。なお、図示を省略するが、メモリ3へのデータ書込に際しては、ECC論理回路500が、ビット化けが発生している不正なデータDxに基づきECC C1を生成する。このため、例えハードウェア故障やソフトエラーが復旧しても、メモリ3からの再読出時に、不正なデータDxがそのまま処理されてしまうこととなる。
本発明の一態様に係るデータ保護回路は、入力データと第1の誤り検出符号とを入力とし、前記入力データに対応する出力データと第2の誤り検出符号とを出力するデータ保護回路であって、前記入力データを前記出力データとして出力するための経路と、前記経路から前記入力データを取得し、前記第2の誤り検出符号を生成する生成部と、前記経路上、前記生成部の取得箇所よりも出力側に近い箇所から前記入力データを取得し、前記第1の誤り検出符号を用いて前記入力データの検査を行う検査部とを備える。
また、本発明の一態様に係るデータ処理装置は、データをそれぞれ処理する第1及び第2の処理回路と、前記第1の処理回路からのデータと第1の誤り検出符号とを入力とし、前記データと第2の誤り検出符号とを前記第2の処理回路へ出力する保護回路とを備える。前記保護回路は、前記データに対する前記第2の誤り検出符号を生成した後、前記第1の誤り検出符号を用いて前記データの検査を行う。
さらに、本発明の一態様に係るデータ保護方法は、入力されたデータに対する第1の誤り検出符号を生成した後、前記データを、これに対応して入力された第2の誤り検出符号を用いて検査する。
すなわち、本発明では、誤り検出符号の変換過程において、入力データが互いに異なる誤り検出符号により2重に保護される。従って、上述した不正データの発生をより確実に検出することが可能である。
本発明によれば、誤り検出符号の変換過程において十分なデータ保護を行うことができ、以てデータ処理装置の信頼性を向上させることが可能である。
以下、本発明に係るデータ保護回路及びこれを適用するデータ処理装置の実施の形態を、図1〜図11を参照して説明する。なお、各図面において同一要素には同一の符号が付されており、説明の明確化のため、必要に応じて重複説明は省略される。
[実施の形態1]
図1に示す本実施の形態に係るデータ処理装置1は、CPU(Central Prosessing Unit)やDMA(Direct Memory Access)コントローラ等のプロセッサ2と、SRAM(Static Random Access Memory)等のメモリ3と、データ保護回路4とで構成されている。プロセッサ2とデータ保護回路4は、システムバスB1により相互接続される。また、メモリ3とデータ保護回路4は、メモリバスB2により相互接続される。なお、下記の実施の形態2〜6に係るデータ保護回路も、データ保護回路4と同様にデータ処理装置1に適用することができる。
図1に示す本実施の形態に係るデータ処理装置1は、CPU(Central Prosessing Unit)やDMA(Direct Memory Access)コントローラ等のプロセッサ2と、SRAM(Static Random Access Memory)等のメモリ3と、データ保護回路4とで構成されている。プロセッサ2とデータ保護回路4は、システムバスB1により相互接続される。また、メモリ3とデータ保護回路4は、メモリバスB2により相互接続される。なお、下記の実施の形態2〜6に係るデータ保護回路も、データ保護回路4と同様にデータ処理装置1に適用することができる。
また、図2に示すように、データ保護回路4は、誤り検出符号生成部100_1と、データ検査部200_1と、これらの生成部100_1及び検査部200_1を接続する接続部300_1とを備えている。ここで、接続部300_1は、データ保護回路4の実装工程における最適化(論理合成)に因り、データD1inの生成部100_1及び検査部200_1による取得順序(生成部100_1→検査部200_1の順序)が逆転してしまうのを防止する。但し、データD1inの取得順序が保証される場合、接続部300_1の設置は必須では無い。これは、下記の実施の形態2〜6に用いる接続部についても同様に適用される。
この内、誤り検出符号生成部100_1は、上記のシステムバスB1を介して入力されたデータD1inに対するECC C1を生成するECC生成回路101を有する。また、データ検査部200_1は、入力データD1inを、これに対応して入力されたパリティC2を用いて検査するパリティ検査回路201を有する。なお、誤り検出符号としてECC及びパリティを用いるのは必須では無く、種々の誤り検出符号を用いることができる。これは、下記の実施の形態2〜6に用いる誤り検出符号生成部及びデータ検査部についても同様に適用される。
また、接続部300_1は、3つのフリップフロップ(以下、FFと略称する)6〜8を有する。この内、FF6は、入力されたパリティC2をパリティ検査回路201へ転送する。また、FF7は、入力データD1inを、パリティ検査回路201に与えると共にデータ保護回路4の出力データD1outとする。出力データD1outは、上記のメモリバスB2を介してメモリ3へ転送される。さらに、FF8は、ECC生成回路101から出力されたECC C1を、メモリバスB2を介してメモリ3へ転送する。なお、接続部300_1は、FFに限らず、バッファ等を用いて構成しても良い。これは、下記の実施の形態2〜6に用いる接続部についても同様に適用される。
これにより、図示の如く、パリティ検査回路201の前段がパリティ保護区間SCT1となり、ECC生成回路101の後段がECC保護区間SCT2となる。また、ECC生成回路101−パリティ検査回路201間は、ECCによるデータ保護と、パリティによるデータ保護のオーバラップ区間(以下、オーバラップ保護区間と呼称する)SCT3となる。すなわち、データ保護回路4においては、メモリ3へのデータ書込に際して、図13に示した無保護区間SCTnは存在しない。従って、不正データの発生をより確実に検出することができる。
以下、本実施の形態の動作を、図3を参照して説明する。なお、同図においては、図2に示すパスP1〜P5及びP10〜P13、並びにFF6〜FF9の各々に1ビットエラーが発生した場合の動作例を扱っている。
パスP1(システムバスB1を含む)及びP9、並びにFF6のいずれかにエラーが発生した場合、データ保護回路4は、出力データD1out及びECC C1を正常に発生する。また、データ保護回路4内のパリティ検査回路201は、入力データD1inを、誤りの有るパリティ(以下、誤パリティ)C2を用いて検査する。従って、パリティ検査回路201は、前段のパスにエラーが発生していることを検出できる。
パスP2(システムバスB1を含む)にエラーが発生した場合、データ保護回路4は、誤りの有る出力データ(以下、誤出力データ)D1outを発生する。また、データ保護回路4内のECC生成回路101は、誤りの有る入力データ(以下、誤入力データ)D1inを正常なデータとして扱い、ECC C1を正常に生成する。しかしながら、パリティ検査回路201は、誤入力データD1inを、正常なパリティC2を用いて検査する。従って、パリティ検査回路201は、前段のパスにエラーが発生していることを検出できる。
パスP3にエラーが発生した場合、データ保護回路4は、正常な出力データD1outを発生する。一方、データ保護回路4内のECC生成回路101は、誤入力データD1inに基づき、誤りの有るECC(以下、誤ECC)C1を生成する。この場合、パリティ検査回路201は、誤ECCの発生を検出できない。しかしながら、データ保護回路4の後段のECC検査(メモリ3からの再読出時のECC検査)にて、正常なデータD1outが誤ECC C1を用いて検査される。従って、エラー発生が、データ処理装置1全体を通して検出されることとなる。なお、後段のECC検査にて正常なデータD1outが誤ECC C1を用いて誤って訂正され得るが、このような誤訂正は後述する実施の形態4により防止できる。
パスP4及びP10、並びにFF7のいずれかにエラーが発生した場合、データ保護回路4は、誤出力データD1out及び正常なECC C1を発生する。また、パリティ検査回路201は、誤入力データD1inを、正常なパリティC2を用いて検査する。従って、パリティ検査回路201は、前段のパスにエラーが発生していることを検出できる。
パスP5及びP11、並びにFF8のいずれかにエラーが発生した場合、データ保護回路4は、正常な出力データD1out及び誤ECC C1を発生する。また、パリティ検査回路201は、正常な入力データD1inを、正常なパリティC2を用いて検査する。この場合、パリティ検査回路201は、誤ECCの発生を検出できない。しかしながら、パスP3の場合と同様、後段のECC検査にてエラー発生が検出されることとなる。
パスP12にエラーが発生した場合、データ保護回路4は、出力データD1out及びECC C1を正常に発生する。また、パリティ検査回路201は、誤入力データD1inを、正常なパリティC2を用いて検査する。従って、パリティ検査回路201は、前段のパスにエラーが発生していることを検出できる。
パスP13にエラーが発生した場合、データ保護回路4は、誤出力データD1out及び正常なECC C1を発生する。この場合、データ保護回路4は、誤出力データの発生を検出できない。しかしながら、パスP3の場合と同様、後段のECC検査にてエラー発生が検出されることとなる。
[実施の形態2]
図4に示す本実施の形態に係るデータ保護回路4aは、誤り検出符号生成部100_2と、データ検査部200_2と、これらの生成部100_2及び検査部200_2を接続する接続部300_2とを備えている。
図4に示す本実施の形態に係るデータ保護回路4aは、誤り検出符号生成部100_2と、データ検査部200_2と、これらの生成部100_2及び検査部200_2を接続する接続部300_2とを備えている。
この内、誤り検出符号生成部100_2は、図1に示したメモリバスB2を介して入力されたD2inに対するパリティC2を生成するパリティ生成回路102を有する。また、データ検査部200_2は、入力データD2inを、これに対応して入力されたECC C1を用いて検査するECC検査回路202を有する。
また、接続部300_2は、3つのFF19〜21を有する。この内、FF19は、入力されたECC C1をECC検査回路202へ転送する。また、FF20は、入力データD2inを、ECC検査回路202に与えると共にデータ保護回路4aの出力データD2outとする。出力データD2outは、図1に示したシステムバスB1を介してプロセッサ2へ転送される。さらに、FF21は、パリティ生成回路102から出力されたパリティC2を、システムバスB1を介してプロセッサ2へ転送する。
これにより、図示の如く、パリティ生成回路102の後段がパリティ保護区間SCT1となり、ECC検査回路202の前段がECC保護区間SCT2となる。また、パリティ生成回路102−ECC検査回路202間は、オーバラップ保護区間SCT3となる。すなわち、データ保護回路4aにおいては、メモリ3からのデータ読出に際して、図13に示した無保護区間SCTnは存在しない。従って、不正データの発生をより確実に検出することができる。
以下、本実施の形態の動作を、図5を参照して説明する。なお、同図においては、図4に示すパスP14〜P18及びP22〜P26、並びにFF19〜FF21の各々に1ビットエラーが発生した場合の動作例を扱っている。
パスP14(メモリバスB2を含む)及びP22、並びにFF19のいずれかにエラーが発生した場合、データ保護回路4aは、出力データD2out及びパリティC2を正常に発生する。また、データ保護回路4a内のECC検査回路202は、入力データD2inを、誤ECC C1を用いて検査する。従って、ECC検査回路202は、前段のパスにエラーが発生していることを検出できる。
パスP15(メモリバスB2を含む)にエラーが発生した場合、データ保護回路4aは、誤出力データD2outを発生する。また、データ保護回路4a内のパリティ生成回路102は、誤入力データD2inを正常なデータとして扱い、パリティC2を正常に生成する。しかしながら、ECC検査回路202は、誤入力データD2inを、正常なECC C1を用いて検査する。従って、ECC検査回路202は、前段のパスにエラーが発生していることを検出できる。
パスP16にエラーが発生した場合、データ保護回路4aは、正常な出力データD2outを発生する。一方、パリティ生成回路102は、誤入力データD2inに基づき、誤パリティC2を生成する。この場合、ECC検査回路202は、誤パリティの発生を検出できない。しかしながら、データ保護回路4aの後段のパリティ検査にて、正常なデータD2outが誤パリティC2を用いて検査される。従って、エラー発生が、データ処理装置1全体を通して検出されることとなる。
パスP17及びP23、並びにFF20のいずれかにエラーが発生した場合、データ保護回路4aは、誤出力データD2out及び正常なパリティC2を発生する。また、ECC検査回路202は、誤入力データD2inを、正常なECC C1を用いて検査する。従って、ECC検査回路202は、前段のパスにエラーが発生していることを検出できる。
パスP18及びP24、並びにFF21のいずれかにエラーが発生した場合、データ保護回路4aは、正常な出力データD2out及び誤パリティC2を発生する。また、ECC検査回路202は、誤入力データD2inを、正常なECC C1を用いて検査する。この場合、ECC検査回路202は、誤ECCの発生を検出できない。しかしながら、パスP16の場合と同様、後段のパリティ検査にてエラー発生が検出されることとなる。
パスP25にエラーが発生した場合、データ保護回路4aは、出力データD2out及びパリティC2を正常に発生する。また、ECC検査回路202は、誤入力データD2inを、正常なECC C1を用いて検査する。従って、ECC検査回路202は、前段のパスにエラーが発生していることを検出できる。
パスP26にエラーが発生した場合、データ保護回路4aは、誤出力データD2out及び正常なパリティC2を発生する。この場合、データ保護回路4aは、誤出力データの発生を検出できない。しかしながら、パスP16の場合と同様、後段のパリティ検査にてエラー発生が検出されることとなる。
[実施の形態3]
図6に示す本実施の形態に係るデータ保護回路4bは、図2に示した誤り検出符号生成部100_1、データ検査部200_1、及び接続部300_1と、図4に示した誤り検出符号生成部100_2、データ検査部200_2、及び接続部300_2とを並列に備えている。
図6に示す本実施の形態に係るデータ保護回路4bは、図2に示した誤り検出符号生成部100_1、データ検査部200_1、及び接続部300_1と、図4に示した誤り検出符号生成部100_2、データ検査部200_2、及び接続部300_2とを並列に備えている。
これにより、図示の如く、オーバラップ保護区間SCT3が形成される。すなわち、データ保護回路4bにおいては、メモリ3に対するデータ書込及びデータ読出の両者に際して、図13に示した無保護区間SCTnが存在しない。
[実施の形態4]
図7に示す本実施の形態に係るデータ保護回路4cは、図2に示した誤り検出符号生成部100_1に代えて、誤り検出符号生成部100_3を設けた点が上記の実施の形態1と異なる。
図7に示す本実施の形態に係るデータ保護回路4cは、図2に示した誤り検出符号生成部100_1に代えて、誤り検出符号生成部100_3を設けた点が上記の実施の形態1と異なる。
また、誤り検出符号生成部100_3は、図2と同様のECC生成回路101と、この生成回路101と並列に設置され、入力データD1inに対するECC C1を生成するECC生成回路103と、これらの生成回路101及び103により生成された両ECC C1を比較して不一致を検出した場合に、ECC C1が出力データD1outの誤り訂正に用いるのに不適であることを示すデータ(以下、ECC不適表示データ)D3を外部に通知する通知部104とを含む。図示の例では、通知部104は、ECC不適表示データD3をメモリ3に記憶する。また、FF29及び30により、ECC生成回路101及び103に対するデータD1inの入力タイミングを同期させている。これに合わせて、FF29により、入力されたパリティC2の転送タイミングを遅延させている。なお、これらのFF29〜FF30の設置は必須では無い。
以下、本実施の形態の動作を、図8を参照して説明する。なお、同図においては、図7に示すパスP1〜P5、P10〜P13、P28、P33、及びP36、並びにFF6〜9及び30の各々に1ビットエラーが発生した場合の動作例を扱っている。また、パスP1〜P5及びP10〜P13、並びにFF6〜9の各々にエラーが発生した場合の出力データD1out、ECC C1、及びパリティ検査回路201によるエラー検出可否は図3と同様であるため、その説明を省略する。
パスP1、P2、P4、P5、及びP10〜P13、並びにFF6〜9のいずれかにエラーが発生した場合、データ保護回路4c内の各ECC生成回路101及び103は、同一のECC C1を生成する。従って、通知部104は、両ECC C1の一致を検出し、ECC不適表示データD3を発生しない。
一方、パスP3、P28、P33、及びP36、並びにFF30のいずれかにエラーが発生した場合、通知部104は、両ECC C1の不一致を検出し、ECC不適表示データD3をメモリ3に記憶する。これにより、データ保護回路4cの後段のECC検査(メモリ3からの再読出時のECC検査)にてECC不適表示データD3を参照でき、以て正常なデータD1outが、誤ECC C1を用いて不正データに訂正されてしまうのを防止できる。
[実施の形態5]
図9に示す本実施の形態に係るデータ保護回路4dは、図4に示したデータ検査部200_2に代えて、データ検査部200_3を設けた点が上記の実施の形態2と異なる。
図9に示す本実施の形態に係るデータ保護回路4dは、図4に示したデータ検査部200_2に代えて、データ検査部200_3を設けた点が上記の実施の形態2と異なる。
また、データ検査部200_3は、図4と同様のECC検査回路202と、この検査回路202からの反転指示INSに従い、出力データD2out及びパリティC2のビットを反転するビット反転回路203を有する。
以下、本実施の形態の動作を、図10を参照して説明する。なお、同図においては、図9に示すパスP15、P17、P23、及びP25、並びにFF20の各々に1ビットエラーが発生した場合の動作例を扱っている。
パスP15(メモリバスB2を含む)、P17、P23、及びP25、並びにFF20のいずれかにエラーが発生した場合、ECC検査回路202は、誤入力データD2inを正常なECC C1を用いて検査し、以て前段のパスにエラーが発生していることを検出する。この時、ECC検査回路202は、ビット反転回路203に反転指示INSを与え、以てビット反転回路203に、正常な出力データD2out及び誤パリティC2を出力させる。なお、ECC検査回路202は、反転指示INSとして、入力データD2inの訂正(反転)すべきビット、及びこれに対応するパリティC2の反転すべきビットを指定する。
このように、データ保護回路4dは、パリティを強制的に反転してパスエラーを通知する。これにより、正常なデータ及びECCを出力する場合(すなわち、後段の回路が正常に動作可能な場合)であっても、後段のパリティ検査にてエラー発生を検出させることができる。また、このようなパスエラーの通知機構は、データ処理装置1の不具合解析(エラー起因箇所の特定、及びエラー発生時のデータアクセスパターンの解析)等に有用である。
[実施の形態6]
図11に示す本実施の形態に係るデータ保護回路4eは、図7に示した誤り検出符号生成部100_3、データ検査部200_1、及び接続部300_1と、図9に示した誤り検出符号生成部100_2、データ検査部200_3、及び接続部300_2とを並列に備えている。但し、データ検査部200_3内のECC検査回路202が、通知部104によりメモリ3へ記憶されたECC不適表示データD3を参照する。
図11に示す本実施の形態に係るデータ保護回路4eは、図7に示した誤り検出符号生成部100_3、データ検査部200_1、及び接続部300_1と、図9に示した誤り検出符号生成部100_2、データ検査部200_3、及び接続部300_2とを並列に備えている。但し、データ検査部200_3内のECC検査回路202が、通知部104によりメモリ3へ記憶されたECC不適表示データD3を参照する。
動作において、ECC検査回路202は、検査対象の入力データD2inに対応するECC不適表示データD3をメモリ3から読み出す。ECC不適表示データD3が通知部104におけるECCの不一致を示す場合、ECC検査回路202は、ECC C1を用いた入力データD2inの訂正が可能であっても反転指示INSを発生せず、以て正常なデータを誤って訂正してしまうのを回避する。
なお、上記の実施の形態によって本発明は限定されるものではなく、特許請求の範囲の記載に基づき、当業者によって種々の変更が可能なことは明らかである。
1 データ処理装置
2 プロセッサ
3 メモリ
4, 4a〜4e データ保護回路
6〜8, 19〜21, 29〜31 FF
100_1〜100_3 誤り検出符号生成部
101, 103 ECC生成回路
102 パリティ生成回路
104 通知部
200_1〜200_3 データ検査部
201 パリティ検査回路
202 ECC検査回路
203 ビット反転回路
300_1, 300_2 接続部
B1 システムバス
B2 メモリバス
C1 ECC
C2 パリティ
D1in, D2in 入力データ
D1out, D2out 出力データ
D3 ECC不適表示データ
INS 反転指示
P1〜P5,P9〜P13,P14〜P18,P22〜P28,P32〜P37 パス
SCT1 パリティ保護区間
SCT2 ECC保護区間
SCT3 オーバラップ保護区間
2 プロセッサ
3 メモリ
4, 4a〜4e データ保護回路
6〜8, 19〜21, 29〜31 FF
100_1〜100_3 誤り検出符号生成部
101, 103 ECC生成回路
102 パリティ生成回路
104 通知部
200_1〜200_3 データ検査部
201 パリティ検査回路
202 ECC検査回路
203 ビット反転回路
300_1, 300_2 接続部
B1 システムバス
B2 メモリバス
C1 ECC
C2 パリティ
D1in, D2in 入力データ
D1out, D2out 出力データ
D3 ECC不適表示データ
INS 反転指示
P1〜P5,P9〜P13,P14〜P18,P22〜P28,P32〜P37 パス
SCT1 パリティ保護区間
SCT2 ECC保護区間
SCT3 オーバラップ保護区間
Claims (12)
- 第1の入力データと第1の誤り検出符号とを入力とし、前記第1の入力データに対応する第1の出力データと第2の誤り検出符号とを出力するデータ保護回路であって、
前記第1の入力データを前記第1の出力データとして出力するための第1の経路と、
前記第1の経路から前記第1の入力データを取得し、前記第2の誤り検出符号を生成する第1の生成部と、
前記第1の経路上、前記第1の生成部の取得箇所よりも出力側に近い箇所から前記第1の入力データを取得し、前記第1の誤り検出符号を用いて前記第1の入力データの検査を行う第1の検査部と、
を備えたデータ保護回路。 - 請求項1において、
前記第1の入力データが前記第1の生成部に次いで前記第1の検査部により取得されるよう、前記第1の生成部の取得箇所と前記第1の検査部の取得箇所とを接続する接続部を、前記第1の経路中にさらに設けたことを特徴とするデータ保護回路。 - 請求項1又は2において、
前記第2の誤り検出符号が、前記第1の出力データに対する誤り訂正符号を含み、
前記第1の生成部が、
前記第1の経路上の一の箇所から前記第1の入力データを取得し、前記第2の誤り検出符号を生成して外部に出力する第2の生成部と、
前記第1の経路上の他の箇所から前記第1の入力データを取得し、前記第2の誤り検出符号を生成する第3の生成部と、
前記第2及び第3の生成部により生成された両誤り検出符号の不一致を検出した場合に、前記第2の誤り検出符号が前記第1の出力データの誤り訂正に用いるのに不適であることを外部に通知する通知部と、
を含むことを特徴としたデータ保護回路。 - 請求項1又は2において、
前記第1の誤り検出符号が、前記第1の入力データに対する誤り訂正符号を含み、
前記第1の検査部が、前記第1の入力データに前記第1の誤り検出符号を用いて訂正可能な誤りを検出した場合、前記第1の入力データを訂正し、その訂正箇所に応じて前記第2の誤り検出符号を補正することを特徴としたデータ保護回路。 - 請求項1又は2において、
第2の入力データを第2の出力データとして出力するための第2の経路と、
前記第2の経路から前記第2の入力データを取得し、前記第1の誤り検出符号を生成する第2の生成部と、
前記第2の経路上、前記第2の生成部の取得箇所よりも出力側に近い箇所から前記第2の入力データを取得し、前記第2の入力データを、これに対応して入力された第2の誤り検出符号を用いて検査する第2の検査部と、
をさらに備えたことを特徴とするデータ保護回路。 - 請求項5において、
前記第2の入力データが前記第2の生成部に次いで前記第2の検査部により取得されるよう、前記第2の生成部の取得箇所と前記第2の検査部の取得箇所とを接続する接続部を、前記第2の経路中にさらに設けたことを特徴とするデータ保護回路。 - 請求項5又は6において、
前記第2の誤り検出符号が、前記第1の出力データに対する誤り訂正符号を含み、
前記第1の生成部が、前記第1の経路上の一の箇所から前記第1の入力データを取得し、前記第2の誤り検出符号を生成して外部に出力する第3の生成部と、前記第1の経路上の他の箇所から前記第1の入力データを取得し、前記第2の誤り検出符号を生成する第4の生成部と、前記第3及び第4の生成部により生成された両誤り検出符号の不一致を検出した場合に、前記第2の誤り検出符号が前記第1のデータの誤り訂正に用いるのに不適であることを外部に記憶する記憶部とを含み、
前記第2の検査部が、前記第2の入力データに対応する第2の誤り検出符号を用いて訂正可能な誤りを検出し、且つ当該第2の誤り符号が前記誤り訂正に不適であると記憶されていない場合に、当該第2の入力データを訂正することを特徴としたデータ保護回路。 - データをそれぞれ処理する第1及び第2の処理回路と、
前記第1の処理回路からのデータと第1の誤り検出符号とを入力とし、前記データと第2の誤り検出符号とを前記第2の処理回路へ出力する保護回路と、を備え、
前記保護回路が、前記データに対する前記第2の誤り検出符号を生成した後、前記第1の誤り検出符号を用いて前記データの検査を行うデータ処理装置。 - 入力されたデータに対する第1の誤り検出符号を生成した後、前記データを、これに対応して入力された第2の誤り検出符号を用いて検査するデータ保護方法。
- 請求項9において、
前記第1の誤り検出符号として、前記データに対する誤り訂正符号を含む誤り検出符号を用い、
前記データの転送経路上の互いに異なる2つの箇所について前記第1の誤り検出符号をそれぞれ生成し、
前記生成した両誤り検出符号の不一致を検出した場合に、前記第1の誤り検出符号が前記データの誤り訂正に用いるのに不適であると判定するデータ保護方法。 - 請求項10において、
前記第1の誤り検出符号によるデータの検査を要求された場合、当該データに訂正可能な誤りがあるか否かを、前記第1の誤り検出符号を用いて判定し、
訂正可能な誤りが有ると判定し、且つ前記第1の誤り検出符号を、その生成に際して誤り訂正に用いるのに不適であると判定していなかった場合に、当該データを訂正することを特徴としたデータ保護方法。 - 請求項9において、
前記第2の誤り検出符号として、前記データに対する誤り訂正符号を含む誤り検出符号を用い、
前記データに前記第2の誤り検出符号を用いて訂正可能な誤りを検出した場合、前記データを訂正し、その訂正箇所に応じて前記第1の誤り検出符号を補正することを特徴としたデータ保護方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009048048A JP2010204828A (ja) | 2009-03-02 | 2009-03-02 | データ保護回路及び方法、並びにデータ処理装置 |
US12/714,999 US20100223527A1 (en) | 2009-03-02 | 2010-03-01 | Data protection circuit, data protection method, and data processing apparatus |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009048048A JP2010204828A (ja) | 2009-03-02 | 2009-03-02 | データ保護回路及び方法、並びにデータ処理装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2010204828A true JP2010204828A (ja) | 2010-09-16 |
Family
ID=42667798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009048048A Pending JP2010204828A (ja) | 2009-03-02 | 2009-03-02 | データ保護回路及び方法、並びにデータ処理装置 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20100223527A1 (ja) |
JP (1) | JP2010204828A (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP6212396B2 (ja) * | 2014-01-08 | 2017-10-11 | ルネサスエレクトロニクス株式会社 | データ処理装置 |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5313475A (en) * | 1991-10-31 | 1994-05-17 | International Business Machines Corporation | ECC function with self-contained high performance partial write or read/modify/write and parity look-ahead interface scheme |
CA2262894C (en) * | 1997-06-19 | 2004-08-03 | Kabushiki Kaisha Toshiba | Information data multiplexing transmission system, multiplexer and demultiplexer used therefor, and error correcting encoder and decoder |
CN1333950A (zh) * | 1999-11-15 | 2002-01-30 | 三菱电机株式会社 | 使用循环码的错误控制装置与方法 |
JP2002043953A (ja) * | 2000-07-26 | 2002-02-08 | Mitsubishi Electric Corp | 誤り訂正方法及び誤り訂正装置 |
JP4016709B2 (ja) * | 2002-04-26 | 2007-12-05 | 日本電気株式会社 | オーディオデータの符号変換伝送方法と符号変換受信方法及び装置とシステムならびにプログラム |
JP3735591B2 (ja) * | 2002-06-18 | 2006-01-18 | 株式会社東芝 | 信号処理装置、信号処理方法、及び記憶媒体 |
US7149947B1 (en) * | 2003-09-04 | 2006-12-12 | Emc Corporation | Method of and system for validating an error correction code and parity information associated with a data word |
JP4339914B2 (ja) * | 2006-01-31 | 2009-10-07 | 富士通株式会社 | エラー訂正コード生成方法及びメモリ管理装置 |
JP4564520B2 (ja) * | 2007-08-31 | 2010-10-20 | 株式会社東芝 | 半導体記憶装置およびその制御方法 |
JP4538034B2 (ja) * | 2007-09-26 | 2010-09-08 | 株式会社東芝 | 半導体記憶装置、及びその制御方法 |
US20090282308A1 (en) * | 2008-05-09 | 2009-11-12 | Jan Gutsche | Memory Cell Arrangement and Method for Reading State Information From a Memory Cell Bypassing an Error Detection Circuit |
US8495454B2 (en) * | 2008-07-14 | 2013-07-23 | Marvell World Trade Ltd. | Methods, apparatuses, systems, and architectures for quickly and reliably encoding and/or decoding system data |
-
2009
- 2009-03-02 JP JP2009048048A patent/JP2010204828A/ja active Pending
-
2010
- 2010-03-01 US US12/714,999 patent/US20100223527A1/en not_active Abandoned
Also Published As
Publication number | Publication date |
---|---|
US20100223527A1 (en) | 2010-09-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3839215B2 (ja) | 誤り検出・訂正方法、計算機システムの主記憶制御装置、及び計算機システム | |
US8732550B2 (en) | Processor and error correcting method | |
KR102267860B1 (ko) | 결함 탐지를 가진 오류 정정 하드웨어 | |
US9535784B2 (en) | Self monitoring and self repairing ECC | |
US8566672B2 (en) | Selective checkbit modification for error correction | |
US6519717B1 (en) | Mechanism to improve fault isolation and diagnosis in computers | |
US7509559B2 (en) | Apparatus and method for parity generation in a data-packing device | |
JP3068009B2 (ja) | 冗長化メモリのエラー訂正機構 | |
JP2009295252A (ja) | 半導体記憶装置及びそのエラー訂正方法 | |
US10185635B2 (en) | Targeted recovery process | |
JP2006260139A (ja) | エラー検出訂正装置の制御方法、エラー検出訂正装置、情報処理システム、エラー検出訂正装置の制御プログラム、データ処理装置 | |
JPH0375834A (ja) | パリティの置換装置及び方法 | |
JP2010204828A (ja) | データ保護回路及び方法、並びにデータ処理装置 | |
EP3882774A1 (en) | Data processing device and data processing method | |
JP6332134B2 (ja) | メモリ診断回路 | |
JPH08263453A (ja) | データ障害処理装置 | |
JP2011232910A (ja) | メモリ診断方式 | |
CN109840158A (zh) | 存储器和操作该存储器的方法 | |
US9542266B2 (en) | Semiconductor integrated circuit and method of processing in semiconductor integrated circuit | |
JP2023005919A (ja) | 半導体装置および誤り検出方法 | |
JP5325032B2 (ja) | 多重系システムの高信頼性制御装置 | |
US20170337110A1 (en) | Data processing device | |
JP2006011576A (ja) | 高信頼性制御装置 | |
JP3730877B2 (ja) | エラー報告方式及びその方法 | |
JPH08286977A (ja) | ストアインキャッシュの障害処理システム |