JP2007041665A - Ecc機能検査回路およびecc機能検査方法 - Google Patents
Ecc機能検査回路およびecc機能検査方法 Download PDFInfo
- Publication number
- JP2007041665A JP2007041665A JP2005222410A JP2005222410A JP2007041665A JP 2007041665 A JP2007041665 A JP 2007041665A JP 2005222410 A JP2005222410 A JP 2005222410A JP 2005222410 A JP2005222410 A JP 2005222410A JP 2007041665 A JP2007041665 A JP 2007041665A
- Authority
- JP
- Japan
- Prior art keywords
- data
- ecc
- inversion
- circuit
- memory
- 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
Landscapes
- Tests Of Electronic Circuits (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
【課題】 検査対象アドレスのデータとECCデータだけについて全データパターンを設定できプログラムによる有効なECC機能検査を実行する。
【解決手段】 データ反転回路15は、CPU18により検査対象アドレスとデータ部13への書込みデータのビット毎に反転を指定できるビット反転データとが設定されると記憶する。データ反転回路16はCPUにより検査対象アドレスとECC部14への書込みデータによりECC生成回路12が生成した書込みECCデータのビット毎に反転を指定できるECCビット反転データとが設定されると記憶する。また、データ反転回路とデータ反転回路は、CPUからメモリ17へのアクセスアドレスを検査アドレスと比較する機能を有する。
【選択図】 図2
【解決手段】 データ反転回路15は、CPU18により検査対象アドレスとデータ部13への書込みデータのビット毎に反転を指定できるビット反転データとが設定されると記憶する。データ反転回路16はCPUにより検査対象アドレスとECC部14への書込みデータによりECC生成回路12が生成した書込みECCデータのビット毎に反転を指定できるECCビット反転データとが設定されると記憶する。また、データ反転回路とデータ反転回路は、CPUからメモリ17へのアクセスアドレスを検査アドレスと比較する機能を有する。
【選択図】 図2
Description
本発明は、半導体メモリなどにおけるECC(Error−Correcting−Code)等の誤り検出・訂正機能の検査回路および検査方法に関する。
従来、この種のECC機能検査回路のテストは、図3に示すように、誤り検出訂正回路21およびECC生成回路22を有するECC回路20とECCデータメモリ24との間にスイッチ25を設け、先ずスイッチ25をオンとしてデータメモリ23とECCデータメモリ24にデータを書き込み、次にスイッチ25をオフとしてデータメモリ23の同じアドレスに先のデータと異なるデータを書き込み、最後にデータメモリ23とECCデータメモリ24を読み出すことにより行っている(例えば、特許文献1参照)。
スイッチ25オンのときにデータメモリ23にデータAが書き込まれるとすると、ECC生成回路22はデータAに対してシンドロームによりECCデータを生成しECCデータメモリ24に書き込む。次にスイッチ25オフのときにデータメモリ23の同じアドレスにデータBが書き込まれるとすると、データBはECCデータメモリ24に書き込まれているECCデータとは対応しないので、データメモリ23には擬似的に誤ったデータが書き込まれた状態を創出することになる。
この状態で、データA対応のECCデータとデータBとが誤り検出訂正回路21に読み出し、その出力をチェックする。その結果、データAが検出できればデータBは誤り検出訂正回路21においてECCデータによりデータAに訂正されたことになるので、ECC回路20は正常に動作したことが確認できるのである。
なお、上述の技術においては、全ての誤りデータパターンを設定するのは容易ではないところ、データ選択回路を用いて、ECCデータメモリに書き込むECCデータとして任意のデータを設定可能とした技術が知られている(例えば、特許文献2参照)。
しかしながら、上述した特許文献1記載の技術では、スイッチ25のオン/オフ動作によりデータメモリ23に誤りデータの設定を行うため、ECCデータメモリ24にECCデータの誤りを設定するのは容易ではなく、またECCデータはECC生成回路22のシンドロームにより生成されるため、ECCデータの誤りデータパターン全てを設定できないという第1の問題点がある。
更に、CPUの主記憶装置にECC機能を付加した装置などで、検査プログラム(ソフトウェア)でECC回路を検査する場合に有効な検査を行うことができないという第2の問題点がある。その理由は以下のとおりである。検査プログラムのデータ自体がデータメモリ23およびECCデータメモリ24と同じ主記憶装置上にあり、プログラムが動作する度に主記憶装置へのアクセスが行われる。その結果、主記憶装置に検査用の誤りデータを設定する際にも検査プログラムが動作して主記憶装置のアクセスが頻繁に行われているので、検査プログラムによる制御でスイッチ25をオフにして書込み不可状態にした後に、検査プログラムの動作による主記憶装置の書込みが行われると、誤ったデータを設定してしまうのである。
また、上述した特許文献2記載の技術では、ECCデータメモリに書き込むECCデータは任意のデータに設定可能となるものの、データメモリに書き込む元となるデータの誤りを任意に設定できない。そのため、結局は全ての誤りデータパターンを設定できない点で不十分であり、問題の全てを解決しているとは言えない。
そこで、本発明の目的は、検査対象アドレスのデータおよびECCデータだけについて全てのデータパターンを設定できる有効なECC機能検査回路と、ソフトウェアの検査プログラムによる容易かつ有効なECC機能検査方法を提供することを目的とする。
本発明のECC機能検査回路は、メモリ上の検査プログラムをCPUが実行することにより前記メモリ上のデータに対するECC機能を検査するECC機能検査回路において、CPU(図2の18)とメモリ(図2の17)間のデータパスに、CPUにより、メモリの検査対象アドレスと、該検査対象アドレスについてメモリのデータ部(図2の13)への書込みデータのビット毎に反転を指定できるビット反転データとが設定され、設定された検査対象アドレスおよびビット反転データを記憶する第1のデータ反転回路(図2の15)と、CPUにより、メモリの検査対象アドレスと、該検査対象アドレスについてメモリのECC部への書込みデータによりECC生成回路(図2の12)が生成した書込みECCデータのビット毎に反転を指定できるECCビット反転データとが設定され、設定された検査対象アドレスおよびえCCビット反転データを記憶する第2のデータ反転回路(図2の16)とを挿入し、第1のデータ反転回路および第2のデータ反転回路は、CPUからメモリへのアクセスアドレスを検査アドレスと比較する機能を有することを特徴とする。
本発明のECC機能検査方法は、上記のECC機能検査回路を用いたECC機能検査方法であって、CPUが第1のデータ反転回路に検査対象アドレスとビット反転データ、第2のデータ反転回路に検査対象アドレスとECCビット反転データをそれぞれ設定・記憶する手順と、CPUが書込みデータを出力するとECC生成回路が所定のシンドロームにより書込みECCデータを生成する手順と、第1のデータ反転回路は記憶しているビット反転データにより書込みデータをビット反転してメモリのデータ部に書き込み、第2のデータ反転回路は記憶しているECCビット反転データにより書込みECCデータをビット反転してメモリのECC部に書き込む手順と、メモリのデータ部およびECC部を読み出し、誤り検出訂正回路(図2の11)による誤り検出・訂正を経た読出しデータをCPUへ出力する手順と、CPUにおいて読出しデータを書込みデータと比較する手順とを有することを特徴とする。
本発明によれば、メインメモリのデータ部およびECC部に対応してデータ反転回路を設け、そこにビット反転データを設定する構成としたため、データビット毎にデータを反転させることができので、ECC機能の検査をするために必要な擬似的なエラーデータパターンをすべて設定できるという第1の効果を得ることができる。
また、データ反転回路に検査対象アドレスを設定し検査対象アドレスのデータだけを反転させることができ、メインメモリアクセス時にはアクセスアドレスと検査対象アドレスを比較する構成としたため、メインメモリ上の検査プログラム(ソフトウェア)による有効なECC機能検査が可能になるという第2の効果もを得ることができる。
本発明のECC機能検査回路は、図1に示すように、ECCデータメモリ14に対する従来の書込み制御機能としてのスイッチ25(図3参照)に代えてデータ反転回路16を設けると共に、データメモリ13に対してもデータ反転回路15を設ける。データ反転回路15にはアドレスaと、ビット反転データbと、書込みデータdとが入力可能であり、データ反転回路16にはアドレスaと、ECCビット反転データcと、書込みデータdからECC生成回路12が生成したECCデータeとが入力可能である。
これにより、データメモリ13およびECCデータメモリ14の検査対象アドレス、ビット反転データbおよびECCビット反転データcを設定して、データメモリ13およびECCデータメモリ14の任意の検査対象アドレスだけに異常ビットが指定可能な任意の誤りデータを書き込むことを可能とする。
本発明によるECC機能検査方法では、先ずアドレスaに検査対象アドレスを設定し、ビット反転データbおよびECCビット反転データcを設定する。ビット反転データbおよびECCビット反転データcはビット毎に設定可能であるから、全ての誤りデータのパターンを作り出すことができる。検査対象アドレスとビット反転データbはデータ反転回路15に、検査対象アドレスとECCビット反転データcはデータ反転回路16にそれぞれ記憶される。
次に、アドレスaとして任意アドレスAを供給し、書込みデータdとして任意データDを供給する。任意アドレスAはデータ反転回路15およびデータ反転回路16において検査対象アドレスと比較される。その結果、一致した場合には、ビット反転回路15はビット反転データbにより任意データDを反転したデータをデータメモリ13に書き込む。また、ビット反転回路16はECC生成回路12で生成されたECCデータをECCビット反転データcにより反転したデータをECCデータメモリ14に書き込む。
そして、後に検査対象アドレスの読出しを行ったときに、データメモリ13およびECCデータメモリ14からの読出しデータを誤り検出訂正回路11によりチェックすることで、読出しデータrが任意データDに訂正され、エラー検出ができた場合にECC回路10が正常に動作したことが確認できる。
一方、任意アドレスAと検査対象アドレスが一致しない場合には、任意データDをデータメモリ13に反転せずそのまま書き込むと共に、ECC生成回路12で生成されたECCデータをECCデータメモリ14に反転せずそのまま書き込む。任意アドレスAと検査対象アドレスが一致しない場合とは、例えば、検査プログラムによるメモリアクセスの場合である。
次に、本発明の実施例について図面を参照して詳細に説明する。図2を参照すると、本発明のECC機能検査回路の一実施例を示す。このECC機能検査回路は、CPU18とメインメモリ17との間のデータパスに2つのデータ反転回路15と16が挿入されている。
CPU18はメインメモリ17上の検査プログラムによってECC回路10の検査を行う。そのために、各回路に対し、アドレスa,ビット反転データb,ECCビット反転データc,書込みデータd等の設定をする。ECC回路10は、ECC生成回路12と誤り検出訂正回路11から構成され、ECCデータの生成とメインメモリデータの誤り検出および訂正を行う。
メインメモリ17は、CPU18の主記憶装置であって、データ部13とECCデータ部14から構成され、検査プログラムを格納している。メインメモリ17の記憶素子は、高集積化されたLSI・MOS等であり、蓄積電荷量の微少に起因するソフトエラーに晒されている。ECC回路10は、このソフトエラーに対する耐性を付与する。
データ反転回路15はメインメモリ17のデータ部13、データ反転回路16はメインメモリ17のECC部14に対応し、検査対象アドレスおよびビット反転データbの設定・記憶機能を有する。データ反転回路15は、CPU18よるメインメモリアクセスのアドレスaと設定された検査対象アドレスを比較し、合致した場合にはメインメモリアクセス時のメインメモリ17への書込みデータdをビット毎にビット反転データbに基づきビット反転させたライトデータをメインメモリ17のデータ部13に書き込む。
また、データ反転回路16は、CPU18よるメインメモリアクセスのアドレスaと設定された検査対象アドレスを比較し、合致した場合にはメインメモリアクセス時のメインメモリ17への書込みデータdからECC生成回路12が生成した書込みECCデータeをECCビット反転データcに基づきビット反転させたライトECCデータをメインメモリ17のECCデータ部14に書き込む。
次に、本発明によるECC回路10の検査方法について説明する。
図2において、ECC回路10の検査はメインメモリ17上の検査プログラムに従ってCPU18が実行する。そのため、直接にはECC回路10を検査しない、検査プログラム自体の実行のためにもCPU18はメインメモリ17をアクセスする。
先ず、CPU18はデータ反転回路15に対して検査対象アドレスとビット反転データb、データ反転回路16に対して検査対象アドレスとECCビット反転データcを設定する。書込みデータ反転回路15は、設定された検査対象アドレスとビット反転データbを記憶し、データ反転回路16は、設定された検査対象アドレスとECCビット反転データcと書込みデータdから生成した書込みECCデータeを記憶する。
ビット反転データbは、書込みデータdを構成するビットの内で擬似的にエラーを設定したいビットを指定するものである。また、ECCビット反転データcは、ECC生成回路12が書込みECCデータeを構成するビットの内で擬似的にエラーを設定したいビットを指定するものである。
CPU18がメインメモリ17へ書込みデータdを書き込もうとするとき、アドレスaがデータ反転回路15とデータ反転回路16に供給され、書込みデータdがECC生成回路12に供給される。ECC生成回路12は書込みデータdに対して所定のシンドロームにより書込みECCデータeを生成する。
そして、データ反転回路15はアドレスaが先に設定した検査対象アドレスに含まれていると判定すると、書込みデータdをビット反転データbによりビット反転したライトデータd1をデータ部13に書き込む。また、データ反転回路16はアドレスaが先に設定した検査対象アドレスに含まれていると判定すると、書込みECCデータeをECCビット反転データcによりビット反転したライトECCデータe1をECC部14に書き込む。
ライトデータd1は書込みデータdに対してビット反転により誤りを起こさせたものであり、ライトECCデータe1は書込みECCデータeに対してビット反転により誤りを起こさせたものである。このため、ライトデータd1の書込みによりデータ部13の検査対象アドレス、あるいはライトECCデータe1の書込みによりECCデータ部14の検査対象アドレスに擬似的なエラーを発生させたことになる。
一方、CPU18がメインメモリ17へ書込みデータdを書き込もうとするとき、アドレスaがデータ反転回路15とデータ反転回路16において検査対象アドレスに含まれていないと判定されることも十分に起こり得る。このような場合には、データ反転回路15は書込みデータdをビット反転することなくそのままライトデータd1としてデータ部13へ書き込む。また、データ反転回路16は、ECC生成回路12が書込みデータdから生成した書込みECCデータeをビット反転することなくそのままライトECCデータe1としてECC部14へ書き込む。
上記書込みの後に、検査プログラムによって動作するCPU18は、検査対象アドレスについて、メインメモリ17のデータ部13からリードデータr1を、ECC部14からリードECCデータr2を読み取る。この誤りのあるデータは、ECC回路10の誤り検出訂正回路11において誤りを検出し訂正され読出しデータrとなる。この読出しデータrは、先に書込みを行った書込みデータdと照合し一致すれば、ECC回路10が誤りデータを正しく訂正できたことを確認することができる。
上記一連動作は、検査プログラムよって行われるが、検査プログラムを実行するためにCPU18がメインメモリ17をアクセスするときのアクセスアドレスは、データ反転回路15,16により検査対象アドレスと比較される。その結果、両アドレスは当然に一致しないため、検査対象アドレス以外に誤りデータを設定することはなく、ECC機能の有効な検査を行うことができるのである。
10 ECC回路
11 誤り検出訂正回路
12 ECC生成回路
13 データ部
14 ECC部
15 データ反転回路
16 データ反転回路
17 メインメモリ
18 CPU
11 誤り検出訂正回路
12 ECC生成回路
13 データ部
14 ECC部
15 データ反転回路
16 データ反転回路
17 メインメモリ
18 CPU
Claims (2)
- メモリ上の検査プログラムをCPUが実行することにより前記メモリ上のデータに対するECC機能を検査するECC機能検査回路において、
前記CPUと前記メモリ間のデータパスに、
前記CPUにより、前記メモリの検査対象アドレスと、該検査対象アドレスについて前記メモリのデータ部への書込みデータのビット毎に反転を指定できるビット反転データとが設定され、設定された検査対象アドレスおよびビット反転データを記憶する第1のデータ反転回路と、
前記CPUにより、前記メモリの検査対象アドレスと、該検査対象アドレスについて前記メモリのECC部への書込みデータによりECC生成回路が生成した書込みECCデータのビット毎に反転を指定できるECCビット反転データとが設定され、設定された検査対象アドレスおよびえCCビット反転データを記憶する第2のデータ反転回路とを挿入し、
前記第1のデータ反転回路および前記第2のデータ反転回路は、前記CPUから前記メモリへのアクセスアドレスを前記検査アドレスと比較する機能を有することを特徴とするECC機能検査回路。 - 請求項1記載のECC機能検査回路を用いたECC機能検査方法であって、
CPUが第1のデータ反転回路に検査対象アドレスとビット反転データ、第2のデータ反転回路に検査対象アドレスとECCビット反転データをそれぞれ設定・記憶する手順と、
CPUが書込みデータを出力するとECC生成回路が所定のシンドロームにより書込みECCデータを生成する手順と、
第1のデータ反転回路は記憶しているビット反転データにより書込みデータをビット反転してメモリのデータ部に書き込み、第2のデータ反転回路は記憶しているECCビット反転データにより前記書込みECCデータをビット反転してメモリのECC部に書き込む手順と、
メモリのデータ部およびECC部を読み出し、誤り検出訂正回路による誤り検出・訂正を経た読出しデータをCPUへ出力する手順と、
CPUにおいて読出しデータを前記書込みデータと比較する手順とを有することを特徴とするECC機能検査方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005222410A JP2007041665A (ja) | 2005-08-01 | 2005-08-01 | Ecc機能検査回路およびecc機能検査方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005222410A JP2007041665A (ja) | 2005-08-01 | 2005-08-01 | Ecc機能検査回路およびecc機能検査方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007041665A true JP2007041665A (ja) | 2007-02-15 |
Family
ID=37799616
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2005222410A Pending JP2007041665A (ja) | 2005-08-01 | 2005-08-01 | Ecc機能検査回路およびecc機能検査方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007041665A (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009238359A (ja) * | 2008-03-28 | 2009-10-15 | Fujitsu Microelectronics Ltd | 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置 |
JP2010218447A (ja) * | 2009-03-18 | 2010-09-30 | Renesas Electronics Corp | データ処理装置 |
KR101028901B1 (ko) | 2009-02-05 | 2011-04-12 | (주)인디링스 | 메모리 장치, 메모리 관리 장치 및 메모리 관리 방법 |
JP2012073678A (ja) * | 2010-09-27 | 2012-04-12 | Fujitsu Ltd | 擬似エラー発生装置 |
WO2013018202A1 (ja) * | 2011-08-02 | 2013-02-07 | 富士通株式会社 | データ通信装置および制御方法 |
JP2014146110A (ja) * | 2013-01-28 | 2014-08-14 | Nec Corp | 情報処理装置、エラー検出機能診断方法およびコンピュータプログラム |
JPWO2013018202A1 (ja) * | 2011-08-02 | 2015-03-02 | 富士通株式会社 | データ通信装置および制御方法 |
CN104731671A (zh) * | 2013-12-20 | 2015-06-24 | 炬芯(珠海)科技有限公司 | 一种插错装置及方法、纠错码电路的验证设备和方法 |
JP2017126357A (ja) * | 2017-03-07 | 2017-07-20 | インテル・コーポレーション | メモリにエラーを注入する方法および装置 |
-
2005
- 2005-08-01 JP JP2005222410A patent/JP2007041665A/ja active Pending
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009238359A (ja) * | 2008-03-28 | 2009-10-15 | Fujitsu Microelectronics Ltd | 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置 |
KR101028901B1 (ko) | 2009-02-05 | 2011-04-12 | (주)인디링스 | 메모리 장치, 메모리 관리 장치 및 메모리 관리 방법 |
JP2010218447A (ja) * | 2009-03-18 | 2010-09-30 | Renesas Electronics Corp | データ処理装置 |
JP2012073678A (ja) * | 2010-09-27 | 2012-04-12 | Fujitsu Ltd | 擬似エラー発生装置 |
WO2013018202A1 (ja) * | 2011-08-02 | 2013-02-07 | 富士通株式会社 | データ通信装置および制御方法 |
JPWO2013018202A1 (ja) * | 2011-08-02 | 2015-03-02 | 富士通株式会社 | データ通信装置および制御方法 |
JP2014146110A (ja) * | 2013-01-28 | 2014-08-14 | Nec Corp | 情報処理装置、エラー検出機能診断方法およびコンピュータプログラム |
CN104731671A (zh) * | 2013-12-20 | 2015-06-24 | 炬芯(珠海)科技有限公司 | 一种插错装置及方法、纠错码电路的验证设备和方法 |
CN104731671B (zh) * | 2013-12-20 | 2018-09-25 | 炬芯(珠海)科技有限公司 | 一种插错装置及方法、纠错码电路的验证设备和方法 |
JP2017126357A (ja) * | 2017-03-07 | 2017-07-20 | インテル・コーポレーション | メモリにエラーを注入する方法および装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007041665A (ja) | Ecc機能検査回路およびecc機能検査方法 | |
US9818492B2 (en) | Method for testing a memory and memory system | |
KR101374455B1 (ko) | 메모리 에러와 리던던시 | |
US20080126905A1 (en) | Memory control device, computer system and data reproducing and recording device | |
JP2005242797A (ja) | エラー訂正回路 | |
JP4834721B2 (ja) | メモリ制御装置およびメモリ制御方法 | |
KR20060041870A (ko) | 메모리를 구비한 반도체 장치 및 메모리 테스트 방법 | |
US20230385145A1 (en) | Memory address protection circuit and method of operating same | |
JP5462453B2 (ja) | 半導体装置 | |
JP3935149B2 (ja) | 半導体集積回路 | |
JP2008009721A (ja) | 評価システム及びその評価方法 | |
US20070124559A1 (en) | Microcontroller and RAM | |
JP2017004588A (ja) | 誤り訂正能力をテストするための回路および方法 | |
JP2008262325A (ja) | メモリ制御装置、メモリ制御方法、情報処理システム、そのプログラム及び記憶媒体 | |
JP2008262630A (ja) | 半導体集積回路及びメモリ検査方法 | |
JP2008176828A (ja) | エラー検出訂正回路のテスト回路およびテスト方法 | |
US7484147B2 (en) | Semiconductor integrated circuit | |
JP5176646B2 (ja) | 誤り訂正機能確認回路及び誤り訂正機能確認方法とそのコンピュータプログラム、並びに記憶装置 | |
JP5006121B2 (ja) | 論理検証装置、論理検証方法 | |
JP2007257628A (ja) | 記憶された情報データの読み取りのための誤り訂正と誤り検出の方法およびそのための記憶制御ユニット | |
JP2007064762A (ja) | 半導体装置、テストモード制御回路 | |
JP2006155735A (ja) | 記憶装置 | |
JP2008234358A (ja) | 記憶装置、情報処理装置及び不正書込検出方法 | |
JP2006286135A (ja) | 半導体記憶装置及びその読み書き制御方法 | |
JP6358122B2 (ja) | マイクロコンピュータ |