JP2005203042A - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP2005203042A
JP2005203042A JP2004009329A JP2004009329A JP2005203042A JP 2005203042 A JP2005203042 A JP 2005203042A JP 2004009329 A JP2004009329 A JP 2004009329A JP 2004009329 A JP2004009329 A JP 2004009329A JP 2005203042 A JP2005203042 A JP 2005203042A
Authority
JP
Japan
Prior art keywords
circuit
bits
test
error
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.)
Granted
Application number
JP2004009329A
Other languages
English (en)
Other versions
JP3935149B2 (ja
Inventor
Osamu Hirabayashi
修 平林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004009329A priority Critical patent/JP3935149B2/ja
Priority to US10/805,227 priority patent/US7249296B2/en
Publication of JP2005203042A publication Critical patent/JP2005203042A/ja
Application granted granted Critical
Publication of JP3935149B2 publication Critical patent/JP3935149B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check

Landscapes

  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Tests Of Electronic Circuits (AREA)

Abstract

【課題】ECC搭載メモリをテストするBIST回路の不良検出精度を向上させる。
【解決手段】ECC回路12Aは、メモリセルアレイ11の出力データに対してN(Nは自然数)ビットのエラー訂正機能を有する。BIST回路13Aは、テスト対象アドレスからバックグラウンドデータの読み出しを行い、かつ、テスト対象アドレスの少なくとも一部に対してバックグラウンドデータを反転させた反転データの書き込み/読み出しを行う。N+1ビットエラー検知回路14Aは、2度の読み出し時にECC回路12Aにより検出されたエラービット数n1,n2の合計がNを越えるとき、テストNG(不良品)であることを示す信号を出力する。
【選択図】図1

Description

本発明は、半導体集積回路に関し、特に、ECC(Error Correcting Code)回路を搭載したメモリをテストするBIST(Built-In Self Test)回路に適用される。
半導体デバイス技術の進展による素子の微細化は、例えば、データを記憶するセルのストレージノード容量の減少を招いており、その結果、データのソフトエラーが大きな問題となってきている。
そこで、近年では、このようなソフトエラー対策として、ECC回路をチップ内のメモリに搭載させることがよく行われている。
ECC回路を搭載するメモリは、通常データとしてのデータビットを記憶する部分と、エラー検出のために使用するコードビットを記憶する部分とを持つ。データビットのエラーは、コードビットに基づいて検出する。エラーが検出されると、さらに、そのエラーがどのビットで発生したかを確認し、エラーの訂正を行う。
ECC回路のエラー訂正能力及びエラー検出能力は、コードビットの数によって決まる。一般的なECC回路は、1ビットのエラー訂正機能と2ビットのエラー検出機能とを持つものが多い。この場合、コードビットとしては、SEC-DED (Single Error Correction-Double Error Detection)コードが使用される。
ところで、システムLSIチップでは、それに搭載されるメモリの良/不良をテストするために、BIST(Built-In Self Test)回路をそのチップ内に搭載することが多くなっている。BIST回路の機能は、メモリに対してテストパターンの書き込み/読み出しを行い、メモリ出力としての読み出しデータと期待値としての書き込みデータとの比較により、セルの不良検出を行うというものである。
テストパターンとしては、故障検出率、テスト時間、回路規模などを考慮し、いわゆるマーチパターンが広く使用されている。
マーチパターンによるテストアルゴリズム(基本動作)は、以下の通りである。
(1) まず、メモリを構成する全てのセル(全てのアドレス)に対して、バックグラウンドデータを書き込む。バックグラウンドデータとしては、例えば、繰り返しデータ[1010・・・],[0101・・・]や、同一データ[1111・・・],[0000・・・]などが用いられる。
(2) 次に、テスト対象アドレス(最初のアドレス)を特定し、そのテスト対象アドレスからデータを読み出す。そして、読み出しデータとバックグラウンドデータ(期待値)とを比較して、そのテスト対象アドレスのテストを行う。
(3) 続いて、そのテスト対象アドレスに対して、バックグラウンドデータを反転させた反転データの書き込み/読み出しを行う。反転データは、例えば、バックグラウンドデータが[1010・・・]のときは、[0101・・・]となり、バックグラウンドデータが[1111・・・]のときは、[0000・・・]となる。そして、読み出しデータと反転データ(期待値)とを比較して、そのテスト対象アドレスのテストを行う。
この後、テスト対象アドレスを変えながら、上記(2) 及び(3) の動作を繰り返し行い、全てのアドレスをテストしたら、テスト動作を終了する。
図12は、ECC回路を搭載するメモリとBIST回路とからなる従来の半導体集積回路の例を示している。
メモリセルアレイ11には、通常データとしてのデータビットとエラー検出のためのコードビットとが記憶される。テスト時、データビットは、例えば、BIST回路13において生成され、また、コードビットは、例えば、ECC回路12においてデータビットに基づき生成される。
メモリ出力としての読み出しデータは、ECC回路12によりエラー訂正された後に、BIST回路13に転送される。ECC回路12が1ビットのエラー訂正機能を有する場合、仮に、テスト対象アドレス内に1ビットの不良(セル故障など)があっても、これを訂正できるため、このような不良は、許容することができる。
つまり、BIST回路13では、ECC回路12によりエラー訂正された読み出しデータとバックグラウンドデータ(期待値)との比較が行われるため、テスト対象アドレス内に1ビットを越えない不良があるときは、両者は等しく、テスト結果としては、良品と判断される。
これに対し、テスト対象アドレス内に2ビット以上の不良(セル故障など)があるときは、1ビットのエラー訂正機能を有するECC回路12では、これを訂正できない。従って、BIST回路13では、読み出しデータとバックグラウンドデータ(期待値)とが完全に一致しないと判断され、テスト結果としては、不良品と判断される。
しかしながら、BIST回路13によりマーチパターンを発生させて行う従来のテストでは、テスト対象アドレス内の不良ビットを正確に検出できない場合があり、この場合、不良品を良品として判定してしまう問題がある。
この問題について、以下、具体的に説明する。
前提として、テスト対象となるメモリは、1ビットのエラー訂正機能と2ビットのエラー検出機能とを有するECC回路を搭載しているものとする。
まず、メモリの全てのアドレスに対して、バックグラウンドデータとして、[1010・・・]を書き込む場合を考える。
図13に示すように、バックグラウンドデータを書き込んだ後、テスト対象アドレス0,1,2,・・・7を特定し、そのテスト対象アドレス0,1,2,・・・7内の8ビットデータを読み出す。ここで、テスト対象アドレス0,1,2,・・・7のうち、アドレス5のビットが“1”縮退故障(常に“1”)であり、アドレス7のビットが“0”縮退故障(常に“0”)であるとする。
この場合、同図の1)に示すように、アドレス5の“1”縮退故障については検出できるが、アドレス7の“0”縮退故障については検出できない。つまり、ECC回路は、アドレス5の1ビットエラーのみを検出し、このエラーを訂正するため、BIST回路は、その製品が不良品であるにもかかわらず、その製品を良品と判断してしまう。
この後、同図の2)に示すように、テスト対象アドレス0,1,2,・・・7に対し、バックグラウンドデータを反転させた反転データ[0101・・・]の書き込み/読み出しを実行する。
この場合、アドレス7の“0”縮退故障については検出できるが、アドレス5の“1”縮退故障については検出できない。つまり、ECC回路は、アドレス7の1ビットエラーのみを検出し、このエラーを訂正するため、BIST回路は、その製品が不良品であるにもかかわらず、その製品を良品と判断してしまう。
同様に、メモリの全てのアドレスに対して、バックグラウンドデータとして、[1111・・・]を書き込む場合を考える。条件は、前の例と同じとする。
テスト対象アドレス0,1,2,・・・7内の8ビットデータを読み出すと、同図の3)に示すように、アドレス7の“0”縮退故障については検出できるが、アドレス5の“1”縮退故障については検出できない。つまり、ECC回路は、アドレス5の1ビットエラーのみを検出し、このエラーを訂正するため、BIST回路は、その製品が不良品であるにもかかわらず、その製品を良品と判断してしまう。
この後、同図の4)に示すように、テスト対象アドレス0,1,2,・・・7に対し、バックグラウンドデータを反転させた反転データ[0000・・・]の書き込み/読み出しを実行する。
この場合、アドレス5の“1”縮退故障については検出できるが、アドレス7の“0”縮退故障については検出できない。つまり、ECC回路は、アドレス5の1ビットエラーのみを検出し、このエラーを訂正するため、BIST回路は、その製品が不良品であるにもかかわらず、その製品を良品と判断してしまう。
このように、テスト対象アドレス0,1,2,・・・7内に2ビットの縮退故障が存在していても、マーチパターンを用いてテストした場合、ECC回路は、これら2ビットの縮退故障を同時に検出することができないため、結果として、BIST回路は、テスト対象アドレス0,1,2,・・・7内に2ビットの縮退故障がある製品に対して良品という誤った判定をしてしまう。
なお、このような問題は、テストに使用するデータパターンの種類を増やすことにより解決できる。つまり、テスト対象アドレス0,1,2,・・・7内にECC回路の訂正能力を超える数の縮退故障があった場合に、その縮退故障の全てを必ず検出できるようなデータパターンを用いてテストすることもできる。
しかし、このように、データパターンの種類を増やしてテストを行うと、当然に、BIST回路の複雑化及び面積増加や、テスト時間の増大などの問題が生じる。
USP4,604,751 特開平8−263391 特開2001−211085 USP5,910,921 特開2002−124098 USP5,274,646 特開2000−196466
本発明の目的は、ECC搭載メモリをマーチパターンによりテストする場合に、テスト時間の増大を招くことなく、テスト回路による不良検出精度を向上させることにある。
本発明の例に関わる半導体集積回路は、メモリと、前記メモリの出力データに対してN(Nは自然数)ビットのエラー訂正機能を有するECC回路と、前記メモリのテスト対象アドレスから第1データパターンが読み出された時に前記ECC回路により検出されたエラービット数n1と、前記テスト対象アドレスの少なくとも一部に対して前記第1データパターンを反転させた第2データパターンが読み出された時に前記ECC回路により検出されたエラービット数n2との合計が、Nを越えるとき、それを示す信号を出力するエラー検知回路とを備える。
本発明の例によれば、ECC搭載メモリをマーチパターンによりテストする場合に、テスト時間の増大を招くことなく、テスト回路による不良検出精度を向上させることができる。
以下、図面を参照しながら、本発明の例を実施するための最良の形態について詳細に説明する。
1. 概要
本発明の例は、ECC回路を搭載したメモリをテストするテスト回路に適用される。例えば、テスト回路としてBIST回路を使用し、このBIST回路によりマーチパターンを発生してテストを行う場合、ECC回路のエラー訂正能力がN(Nは自然数)ビットであるとすると、テスト対象アドレス内の不良(縮退故障など)は、Nビットまで許容することができる。
言い換えると、ECC回路のエラー訂正能力がNビットのとき、テスト対象アドレス内の不良(縮退故障など)がNビットを越えると、ECC回路によっては、これを訂正することができないため、製品としては、不良品と判断しなければならない。
しかしながら、BIST回路で広く採用されているマーチパターンを用いるテストでは、テスト対象アドレス内にNビットを越える不良が存在していても、同時に、全ての不良を検出することができず、結果として、不良品として判断しなければならない製品を良品として判断する場合があった。
そこで、本発明の例では、(1) バックグラウンドデータ(第1データパターン)の読み出し、(2) バックグラウンドデータを反転させた反転データ(第2データパターン)の書き込み/読み出し、というマーチ動作の基本単位のうち、上記(1) の読み出し時にECC回路により検出されたエラービット数n1と上記(2) の読み出し時にECC回路により検出されたエラービット数n2との合計がNを越えているか否かに基づいて、製品の良/不良を判定する。
このような構成により、テスト対象アドレス内の全ての不良を確実に検出できるようになるため、テスト回路の複雑化及び面積増加や、テスト時間の増大などを招くことなく、テスト回路による不良検出精度を向上できる。
2. 第1実施の形態
以下、本発明の第1実施の形態に関わる半導体集積回路について説明する。
図1は、本発明の第1実施の形態に関わる半導体集積回路の例を示している。
メモリセルアレイ11には、通常データとしてのデータビットとエラー検出のためのコードビットとが記憶される。テスト時、データビットは、例えば、BIST回路13Aにおいて生成され、また、コードビットは、例えば、ECC回路12Aにおいてデータビットに基づき生成される。
メモリ出力としての読み出しデータは、ECC回路12Aによりエラー訂正された後に、BIST回路13Aに転送される。ECC回路12Aは、N(Nは自然数)ビットのエラー訂正機能、N+1ビットのエラー検出機能を有する。
例えば、ECC回路12Aが1ビットのエラー訂正機能を有する場合、テスト対象アドレス内に1ビットの不良(セル故障など)があっても、これを訂正できるため、このような不良は、許容することができる。
つまり、BIST回路13Aでは、ECC回路12Aによりエラー訂正された読み出しデータとバックグラウンドデータ(期待値)との比較が行われるため、テスト対象アドレス内に1ビットを越えない不良があるときは、両者は等しく、テスト結果としては、良品と判断される。
これに対し、テスト対象アドレス内に2ビット以上の不良(セル故障など)があるときは、1ビットのエラー訂正機能を有するECC回路12Aでは、これを訂正できない。従って、BIST回路13Aでは、読み出しデータとバックグラウンドデータ(期待値)とが完全に一致しないと判断され、テスト結果としては、不良品と判断される。
ここで、既に説明したように、BIST回路13Aによりマーチパターンを発生させて行う従来のテストでは、テスト対象アドレス内の不良ビットを正確に検出できない場合があり、この場合、不良品を良品として判定してしまう問題がある。
そこで、本発明の例では、このような問題を解決するために、N+1ビットエラー検知回路14Aを新規に設けている。N+1ビットエラー検知回路14Aは、ECC回路12Aのエラー訂正能力(Nビット)を越えるエラーを確実に検知する機能を有する。
マーチ動作の基本単位は、(1) バックグラウンドデータの読み出し、及び、(2) バックグラウンドデータを反転させた反転データの書き込み/読み出しからなる。
READ1は、バックグラウンドデータの読み出し時にイネーブル状態(例えば、“H”)になる信号である。また、READ2は、バックグラウンドデータを反転させた反転データの読み出し時にイネーブル状態(例えば、“H”)になる信号である。
READ1,READ2のいずれか一方が“H”のとき、メモリセルアレイ11のテスト対象アドレスからデータが読み出され、ECC回路12Aによりエラー検出/訂正される。ECC回路12Aから出力されるSECは、ECC回路12Aによりエラー検出/訂正されたビット数n1,n2を表している。
例えば、READ1がイネーブル状態になり、メモリセルアレイ11からバックグラウンドデータが読み出されるとき、ECC回路12Aにおいてn1ビットのエラー訂正が行われた場合には、その情報が、SECとして、N+1ビットエラー検知回路14Aに取り込まれる。
同様に、READ2がイネーブル状態になり、メモリセルアレイ11からバックグラウンドデータを反転させた反転データが読み出されるとき、ECC回路12Aにおいてn2ビットのエラー訂正が行われた場合には、その情報が、SECとして、N+1ビットエラー検知回路14Aに取り込まれる。
N+1ビットエラー検知回路14Aは、ECC回路12Aによりエラー検出/訂正されたビット数n1,n2の合計がNを越えるとき、即ち、N+1以上であるとき、テストがNG(不良品)であることを示す信号DEDを出力する。
RSTは、BIST回路13Aがメモリセルアレイ11のテストを開始するとき、N+1ビットエラー検知回路14Aの状態をリセットするための信号である。
図2は、図1の半導体集積回路の動作(テスト方法1)を示している。
テスト対象となるメモリは、Nビットのエラー訂正機能、N+1ビットのエラー検出機能を有するECC回路を搭載しているものとする。
まず、メモリの全てのアドレスに対して、バックグラウンドデータ、例えば、[1010・・・]を書き込む(ステップST1)。
次に、テスト対象アドレス(最初のアドレス)を決定し、そのテスト対象アドレス内のビットデータ(バックグラウンドデータ)を読み出す(ステップST2,3)。
この後、テスト1として、エラービット数n1を検出する。
即ち、ECC回路は、テスト対象アドレス内にNビット以下のエラーn1が存在する場合には、これを検出/訂正すると共に、“n1”を示す信号SECを出力する。また、ECC回路は、テスト対象アドレス内にN+1ビット以上のエラーn1が存在する場合には、これを検出すると共に、それをBIST回路に伝える(ステップST4)。
次に、テスト対象アドレスに対して、バックグラウンドデータを反転させた反転データの書き込み/読み出しを行う(ステップST5)。
この後、テスト2として、エラービット数n2を検出する。
即ち、ECC回路は、テスト対象アドレス内にNビット以下のエラーn2が存在する場合には、これを検出/訂正すると共に、“n2”を示す信号SECを出力する。N+1ビットエラー検知回路は、n1+n2の合計がNを越えるとき、n1及びn2の各々がNを越えていなくても、テストNG(不良品)と判断する。
また、ECC回路は、テスト対象アドレス内にN+1ビット以上のエラーn2が存在する場合には、これを検出すると共に、それをBIST回路に伝える(ステップST6)。
次に、n1+n2の合計がN以下のとき、メモリ内の全てのアドレスをテストしたか否かを確認する(ステップST7)。
メモリ内の全てのアドレスをテストしていない場合には、テスト対象アドレス変えて、再び、テスト1及びテスト2を行う。メモリ内の全てのアドレスをテストしている場合には、テストOK(良品)と判断し、テストを終了する。
このようなテスト方法によれば、ECC搭載メモリをマーチパターンによりテストする場合に、テスト回路の複雑化及び面積増加や、テスト時間の増大などを招くことなく、テスト回路による不良検出精度を向上させることができる。
次に、N+1ビットエラー検知回路の回路例について説明する。
図3は、2ビットエラー検知回路の例を示している。図4は、図3の回路の動作波形を示している。
2ビットエラー検知回路14Aは、1ビットのエラー訂正機能及び2ビットのエラー検出機能を有するECC回路を搭載したメモリをテストする場合に使用される。
この回路は、前段部と後段部とから構成される。
前段部は、セレクタSEL1,SEL2、レジスタREG1及びオア回路OR1から構成され、バックグラウンドデータの読み出し時(1回目の読み出し時)にECC回路により検出されたエラービット数n1(例えば、1)を記憶する機能を有する。つまり、テスト対象アドレス内に1ビットエラーが発見されたときは、1ビットエラーが検出されたことを示す情報がレジスタREG1に記憶される。
後段部は、セレクタSEL3,SEL4、レジスタREG2及びアンド回路AND1から構成され、バックグラウンドデータを反転させた反転データの読み出し時(2回目の読み出し時)に、前段部のレジスタREG1に記憶されたエラービット数n1とECC回路により検出されたエラービット数n2(例えば、1)との合計を求め、その合計がECC回路のエラー訂正能力N(例えば、1)を越えるか否かを判断する機能を有する。つまり、エラービット数n1,n2の合計がECC回路のエラー訂正能力Nを越えるときは、それを示す信号がレジスタREG2に記憶される。
具体的な動作について説明する。
テスト開始時に、まず、RSTが“H”になり、前段部のレジスタREG1及び後段部のレジスタREG2の状態が初期化される。つまり、RSTが“H”になると、セレクタSEL2,SEL4は、“1”側の入力信号を選択して出力する状態になるため、その出力信号は、“L(=Vss)”になる。
従って、レジスタREG1,REG2には、“L”が記憶され、2ビットエラー検知回路14Aの出力信号DEDが“L”になる。
この後、RSTが“L”になると、セレクタSEL2,SEL4は、“0”側の入力信号を選択して出力する状態になる。
バックグラウンドデータの読み出し時(1回目の読み出し時TREAD1)には、READ1が“H”になり、テスト対象アドレスADDのデータがDoutとして読み出される。この時、セレクタSEL1は、“1”側の入力信号を選択して出力する状態になる。従って、ECC回路で1ビットのエラー訂正が行われると、SECが“H”になり、レジスタREG1には、“H”が記憶される。
この後、書き込み信号WEが“H”、その反転信号bWEが“L”になり、テスト対象アドレスADDについて、バックグラウンドデータを反転させた反転データの書き込みが行われる(TWRITE)。
バックグラウンドデータを反転させた反転データの読み出し時(2回目の読み出し時)には、READ2が“H”になり、テスト対象アドレスADDのデータがDoutとして読み出される。この時、セレクタSEL3は、“1”側の入力信号を選択して出力する状態になる。従って、ECC回路で1ビットのエラー訂正が行われると、SECが“H”になる。
ここで、前段部のレジスタREG1に“L”が記憶されている場合には、アンド回路AND1の出力信号は“L”になるため、レジスタREG2には“L”が記憶されたままとなる。つまり、2ビットエラー検知回路14Aの出力信号DEDは、“L”のままである。
これに対し、前段部のレジスタREG1に“H”が記憶されている場合には、アンド回路AND1の出力信号は“H”になるため、レジスタREG2には“H”が記憶される。つまり、2ビットエラー検知回路14Aの出力信号DEDは、“H”になる。
なお、READ2が“H”になると、前段部のオア回路OR1の出力信号が“H”になり、セレクタSEL2は、“1”側の入力信号を選択して出力する状態になる。つまり、この時、前段部のレジスタREG1の状態がリセットされ、次のマーチ動作に備えることができる。
このように、本発明の例によれば、マーチパターンを用いたテスト方法に関して、1回目の読み出し時TREAD1に発生したエラービット数(例えば、1ビット)と2回目の読み出し時TREAD2に発生したエラービット数(例えば、1ビット)との合計がECC回路のエラー訂正能力(例えば、1ビット)を超える場合には、テストNG(不良品)と判定される。
一般的には、図5に示すように、ビットエラーの原因がセルの縮退故障であると仮定すると、マーチパターンのように、同一アドレスに対する相補データ(“0”,“1”)の書き込み/読み出しによりメモリのテストを行う場合、縮退故障の総数は、“0”データの書き込み/読み出しにより発生したビットエラーの数と“1”データの書き込み/読み出しにより発生したビットエラーの数との合計になる。
従って、1回目の読み出し時TREAD1に発生したエラービット数と2回目の読み出し時TREAD2に発生したエラービット数との合計に基づいて、テスト結果(良品/不良品)を判定すれば、テスト対象アドレス内の全ての不良を確実に検出できる。
以上のように、本発明の例によれば、テスト回路の複雑化及び面積増加や、テスト時間の増大などを招くことなく、テスト回路による不良検出精度を向上できる。
3. 第2実施の形態
以下、本発明の第2実施の形態に関わる半導体集積回路について説明する。
第1実施の形態では、テスト対象アドレスに対して、相補データ(“0”,“1”)の書き込み/読み出し(テスト1,テスト2)を行うことを前提にして、エラービット数n1,n2を検出することにより、製品の良否を判定する。
しかし、(1) データビット(例えば、8ビット)のうちの一部(例えば、4ビット)のみを使用するため、その一部のみについてテストを行いたい場合や、(2) コードビットのテストを行いたい場合などにおいては、上述の第1実施の形態をそのまま適用すると不都合が生じることがある。
例えば、データビット(8ビット)のうちの一部(4ビット)のみについてテストを行いたいときでも、テスト対象アドレスは、データビットの全て(8ビット)を含むことになる場合がある。この場合、データビットの一部(4ビット)については、相補データの書き込み/読み出しによりテストを行うことになるが、残りのビット(4ビット)については、同一データの書き込み/読み出しが行われる。
従って、同一データの書き込み/読み出しが行われる残りのビット(4ビット)のいずれか1つに縮退故障があると、テスト1及びテスト2の双方においてビットエラーが検出され、1ビットエラーであるにもかかわらず、2ビットエラーと判定されてしまう。
また、例えば、データビットとコードビットをテストの対象とする場合でも、コードビットの値は、データビットの値に基づいて決定される。このため、データビットに対して相補データの書き込み/読み出しによりテストを行っても、コードビットの一部については、相補データではなく、同一データの書き込み/読み出しが行われる場合がある。
従って、同一データの書き込み/読み出しが行われるコードビットの一部のいずれか1つに縮退故障があると、テスト1及びテスト2の双方においてビットエラーが検出され、1ビットエラーであるにもかかわらず、2ビットエラーと判定されてしまう。
そこで、第2実施の形態では、テスト対象アドレスに対しては、原則として相補データ(“0”,“1”)の書き込み/読み出しによりテストを行うが、仮に、テスト対象アドレスの一部について同一データの書き込み/読み出しが行われる場合であっても、縮退故障などの不良を正確に検出するための技術を提案する。
図6は、本発明の第2実施の形態に関わる半導体集積回路の例を示している。
メモリセルアレイ11には、通常データとしてのデータビットとエラー検出のためのコードビットとが記憶される。テスト時、データビットは、例えば、BIST回路13Bにおいて生成され、また、コードビットは、例えば、ECC回路12Bにおいてデータビットに基づき生成される。
メモリ出力としての読み出しデータは、ECC回路12Bによりエラー訂正された後に、BIST回路13Bに転送される。ECC回路12Bは、N(Nは自然数)ビットのエラー訂正機能、N+1ビットのエラー検出機能を有する。
ここで、上述の第1実施の形態では、BIST回路13Bによりマーチパターンを発生させてメモリのテストを行う場合に、仮に、テスト対象アドレスの一部に対して、常に、同一データの書き込み/読み出しが行われるときには、1ビットエラーであっても2ビットエラーと判定される場合があり、良品を不良品としてしまう問題がある。
そこで、第2実施の形態では、このような問題を解決するために、改良されたN+1ビットエラー検知回路14Bを設けている。N+1ビットエラー検知回路14Bは、ECC回路12Bのエラー訂正能力(Nビット)を越えるビットエラーを正確かつ確実に検知する機能を有する。
READ1は、バックグラウンドデータの読み出し時にイネーブル状態(例えば、“H”)になる信号である。また、READ2は、バックグラウンドデータを反転させた反転データの読み出し時にイネーブル状態(例えば、“H”)になる信号である。
READ1,READ2のいずれか一方が“H”のとき、メモリセルアレイ11のテスト対象アドレスからデータが読み出され、ECC回路12Bによりエラー検出/訂正される。
STATEは、テスト対象アドレスに書き込んだデータパターンを表している。
例えば、READ1がイネーブル状態のときには、STATEは、バックグラウンドデータを表している。また、READ2がイネーブル状態のときには、STATEは、TWRITEステップ(図4参照)において、テスト対象アドレスに書き込んだデータ、つまり、バックグラウンドデータを反転した反転データ又はバックグラウンドデータと同じデータを表している。
このSTATEをチェックすることにより、テスト2において、テスト対象アドレスのいずれのビットに反転データが書き込まれ、いずれのビットに同一データが書き込まれたかを確認できる。
ECC回路12Bから出力されるSECは、テスト対象アドレスのビット(例えば、データビットnビット+コードビットmビット)の各々に対して、エラーの有無を示す信号であり、エラービットを特定できるようになっている。
例えば、READ1がイネーブル状態になり、メモリセルアレイ11からバックグラウンドデータが読み出されるとき、ECC回路12Bにおいて、特定のアドレス(例えば、アドレス5)のビットに対してエラー訂正が行われた場合には、その情報が、SECとして、N+1ビットエラー検知回路14Bに取り込まれる。
同様に、READ2がイネーブル状態になり、メモリセルアレイ11からバックグラウンドデータを反転させた反転データ又はバックグラウンドデータと同じデータが読み出されるとき、ECC回路12Bにおいて、特定のアドレス(例えば、アドレス5)のビットに対してエラー訂正が行われた場合には、その情報が、SECとして、N+1ビットエラー検知回路14Bに取り込まれる。
N+1ビットエラー検知回路14Bは、テスト1において、エラービット数n1を検出する。また、N+1ビットエラー検知回路14Bは、テスト2において、まず、STATEに基づいて、テスト対象アドレスのうちからビットエラーの有無を判断する対象とすべきビット、即ち、チェック対象ビットを特定する。
この後、N+1ビットエラー検知回路14Bは、チェック対象ビットについて、SEC信号に基づいて、エラービット数n2を求める。
そして、n1,n2の合計がNを越えるとき、即ち、N+1以上であるとき、テストがNG(不良品)であることを示す信号DEDを出力する。
RSTは、BIST回路13Bがメモリセルアレイ11のテストを開始するとき、N+1ビットエラー検知回路14Bの状態をリセットするための信号である。
図7は、図6の半導体集積回路の動作(テスト方法2)を示している。
テスト対象となるメモリは、Nビットのエラー訂正機能、N+1ビットのエラー検出機能を有するECC回路を搭載しているものとする。
まず、メモリの全てのアドレスに対して、バックグラウンドデータ、例えば、[1010・・・]を書き込む(ステップST1)。
次に、テスト対象アドレス(最初のアドレス)を決定し、そのテスト対象アドレス内のビットデータ(バックグラウンドデータ)を読み出す(ステップST2,3)。
この後、テスト1として、エラービット数n1を検出する。
即ち、ECC回路は、テスト対象アドレス内にNビット以下のエラーn1が存在する場合には、これを検出/訂正すると共に、テスト対象アドレスの各ビットについてのエラーの有無を示すSEC信号を出力する。N+1ビットエラー検知回路は、SEC信号に基づいてn1を求める。
また、ECC回路は、テスト対象アドレス内にN+1ビット以上のエラーn1が存在する場合には、これを検出すると共に、それをBIST回路に伝える(ステップST4)。
次に、チェック対象ビットの特定を行う(ステップST5)。
即ち、テスト対象アドレス内のビットのうち、バックグラウンドデータを反転させた反転データを書き込むビットのみをテスト2におけるエラービット数n2の算出の対象(チェック対象ビット)とし、バックグラウンドデータと同じデータを書き込むビットに対しては、テスト2におけるエラービットn2の算出の対象としない。
次に、チェック対象ビットに対して、バックグラウンドデータを反転させた反転データの書き込み/読み出しを行う(ステップST6)。
この後、テスト2として、エラービット数n2を検出する。
即ち、ECC回路は、テスト対象アドレス内にNビット以下のエラーn2が存在する場合には、これを検出/訂正すると共に、テスト対象アドレスの各ビットについてのエラーの有無を示すSEC信号を出力する。N+1ビットエラー検知回路は、チェック対象ビットについて、SEC信号に基づき、エラービット数n2を検出する。
そして、N+1ビットエラー検知回路は、n1+n2の合計がNを越えるとき、n1及びn2の各々がNを越えていなくても、テストNG(不良品)と判断する。
また、ECC回路は、テスト対象アドレス内にN+1ビット以上のエラーn2が存在する場合には、これを検出すると共に、それをBIST回路に伝える(ステップST7)。
次に、n1+n2の合計がN以下のとき、メモリ内の全てのアドレスをテストしたか否かを確認する(ステップST8)。
メモリ内の全てのアドレスをテストしていない場合には、テスト対象アドレス変えて、再び、テスト1及びテスト2を行う。メモリ内の全てのアドレスをテストしている場合には、テストOK(良品)と判断し、テストを終了する。
このようなテスト方法によれば、ECC搭載メモリをマーチパターンによりテストする場合に、テスト回路の複雑化及び面積増加や、テスト時間の増大などを招くことなく、テスト回路による不良検出精度を向上させることができる。
図8及び図9は、チェック対象ビットの特定についての例を示している。
まず、データビット(nビット)とコードビット(mビット)とをテスト対象とし、例えば、バックグラウンドデータとして、“1010・・・”という繰り返しデータパターンを書き込んだ場合を考える。
この場合、図8に示すように、テスト1では、テスト対象アドレス0,1,・・・7,a,b,・・・eの全てのビットを対象にして“n1”を求める。
この後、データビットに対して、バックグラウンドデータを反転させた反転データ“0101・・・”を書き込もうとすると、コードビットのアドレスc,dには反転データが書き込まれるが、コードビットのアドレスa,b,eには同一データが書き込まれる。
従って、テスト2の対象にコードビットのアドレスa,b,eを含めると、1ビットエラーを2ビットエラーとして検出してしまう恐れがあるため、これらアドレスa,b,eは、テスト2の対象としない。
つまり、テスト2では、テスト対象アドレスのうち、データビットの全アドレス0,1,・・・7とコードビットの特定のアドレスc,dのみを対象(チェック対象ビット)にして“n2”を求める。
次に、データビット(nビット)の一部のみを使用するため、その一部のみをテストする場合を考える。データビットの一部には、バックグラウンドデータとして、“1010・・・”という繰り返しデータパターンを書き込むものとする。
この場合、図9に示すように、テスト1では、データビットの一部、即ち、アドレス0,1,2,3のビットを対象にして“n1”を求める。
この後、データビットの一部に対して、バックグラウンドデータを反転させた反転データ“0101・・・”を書き込む。
そして、テスト2では、再び、データビットの一部、即ち、アドレス0,1,2,3のビットを対象にして“n2”を求める。
ここで、アドレス4,5,6,7については、テスト1及びテスト2において同一データが書き込まれるため、これらアドレスのビットをテスト対象にすると、1ビットエラーを2ビットエラーとして検出してしまう恐れがあるため、これらアドレスのビットについては、テストの対象としない。
図10は、テスト方法2による効果を示している。
データビット(nビット)とコードビット(mビット)とをテスト対象とし、例えば、コードビットのアドレスeに“0”縮退故障が発生しているとする。バックグラウンドデータは、“1010・・・”という繰り返しパターンとする。
この場合、テスト1では、テスト対象アドレス0,1,・・・7,a,b,・・・eのうち、コードビットのアドレスeにビットエラーがあることが検出される。
この後、データビットに対して、バックグラウンドデータを反転させた反転データ“0101・・・”を書き込む。この時、コードビットのアドレスa,b,c,d,eには、“10011”が書き込まれる。つまり、コードビットのアドレスc,dには反転データが書き込まれるため、これらのアドレスc,dは、チェック対象ビットになるが、コードビットのアドレスa,b,eには同一データが書き込まれるため、これらのアドレスa,b,eは、チェック対象ビットにならない。
従って、テスト2においては、再び、コードビットのアドレスeにおけるビットエラーを検出することがないため、1ビットエラーの重複検出を防止できる。
このように、本発明の例によれば、マーチパターンを用いたテスト方法に関して、相補データでなく、同一データが書き込まれるアドレスに対しては、テスト2において、エラービット数n2を求めるときの対象(チェック対象ビット)としない。
従って、エラービット数n1,n2の合計に基づいて、テスト結果(良品/不良品)を判定すれば、テスト対象アドレス内の不良を正確かつ確実に検出できる。
以上のように、本発明の例によれば、テスト回路の複雑化及び面積増加や、テスト時間の増大などを招くことなく、テスト回路による不良検出精度を向上できる。
4. その他
本発明の例において、テストの対象となるメモリは、DRAM、SRAMの他、フラッシュメモリ、FeRAM、MRAMなどの不揮発性メモリであってもよい。
本発明の例は、例えば、図11に示すように、複数の機能ブロック(CPU、ロジック回路、メモリ1,2など)を含むシステムLSIにおけるメモリ1,2のテストに適用できる。
上述の各実施の形態に関し、BIST回路は、テストの対象となるメモリセルアレイが配置されるチップ内に形成されていてもよいし、そのチップとは異なるチップに形成されていてもよい。また、BIST回路を省略し、外部テスタを用いて、メモリセルアレイのテストを行ってもよい。
また、ECC回路については、Nビットエラー訂正機能とN+1ビットエラー検出機能とを有するものとして説明したが、本発明の例においては、ECC回路は、必ずしもN+1ビットエラー検出機能を持っている必要はない。例えば、本発明の例は、ECC回路がNビットエラー訂正機能のみを有する場合にも適用可能である。
本発明の例は、上述の実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で、構成要素を変形して具体化できる。また、上述の形態に開示されている複数の構成要素の適宜な組み合せにより種々の発明を構成できる。例えば、上述の形態に開示される全構成要素から幾つかの構成要素を削除してもよいし、異なる形態の構成要素を適宜組み合わせてもよい。
本発明の例は、ECC回路を搭載したメモリをテストするBIST回路に適用され、主として、DRAM、SRAMなどのメモリを含む複数の機能ブロックを持つシステムLSIに有効である。
本発明の第1実施の形態に関わる半導体集積回路を示す図。 図1の回路の動作の概要(テスト方法1)を示す図。 エラー検知回路の例を示す図。 図1の回路の動作を示す信号波形図。 テスト方法1の具体例を示す図。 本発明の第2実施の形態に関わる半導体集積回路を示す図。 図2の回路の動作の概要(テスト方法2)を示す図。 テスト方法2におけるチェック対象ビットの例を示す図。 テスト方法2におけるチェック対象ビットの例を示す図。 テスト方法2による効果を示す図。 本発明の例が適用されたシステムLSIの概要を示す図。 従来の半導体集積回路を示す図。 従来のテスト方法における問題点を示す図。
符号の説明
11: メモリセルアレイ、 12,12A,12B: ECC回路、 13,13A,13B: BIST回路、 14A,14B: N+1ビットエラー検出回路、SEL1,SEL2,SEL3,SEL4: セレクタ、 REG1,REG2: レジスタ、 OR1: オア回路、 AND1: アンド回路。

Claims (6)

  1. メモリと、
    前記メモリの出力データに対してN(Nは自然数)ビットのエラー訂正機能を有するECC回路と、
    前記メモリのテスト対象アドレスから第1データパターンが読み出された時に前記ECC回路により検出されたエラービット数n1と、前記テスト対象アドレスの少なくとも一部に対して前記第1データパターンを反転させた第2データパターンが読み出された時に前記ECC回路により検出されたエラービット数n2との合計が、Nを越えるとき、それを示す信号を出力するエラー検知回路とを具備することを特徴とする半導体集積回路。
  2. 第1の動作として前記メモリのテスト対象アドレスから第1データパターンを読み出し、かつ、第2の動作として、前記テスト対象アドレスの少なくとも一部に対して前記第2データパターンを書き込み、その書き込んだ前記第2データパターンを読み出すBIST回路を更に具備することを特徴とする請求項1に記載の半導体集積回路。
  3. 前記BIST回路は、前記テスト対象アドレスを変えながら、前記第1及び第2の動作を繰り返し行うことを特徴とする請求項2に記載の半導体集積回路。
  4. 前記ECC回路は、前記エラービット数n1,n2を示すSEC信号を出力し、
    前記BIST回路は、前記第1データパターンの読み出し時に第1読み出し信号を出力し、前記第2データパターンの読み出し時に第2読み出し信号を出力し、
    前記エラー検知回路は、前記第1読み出し信号を受けて前記エラービット数n1を記憶し、前記第2読み出し信号を受けて前記エラービット数n2を記憶し、ロジック処理によりn1+n2を計算することを特徴とする請求項2に記載の半導体集積回路。
  5. 前記エラー検知回路は、前記テスト対象アドレスのビットのうち、前記第2データパターンの書き込みが行われたビットのみをチェック対象ビットとし、前記チェック対象ビットに発生したエラーについて前記エラービット数n2を算入することを特徴とする請求項1及び2のいずれか1項に記載の半導体集積回路。
  6. 前記ECC回路は、前記テスト対象アドレスのビットの各々に対してエラーの有無を示すSEC信号を出力し、
    前記BIST回路は、前記第1及び第2テストパターンを示すステート信号を出力し、
    前記エラー検知回路は、前記ステート信号に基づいて前記チェック対象ビットを特定し、かつ、前記チェック対象ビットについて、前記SEC信号に基づき、前記エラービット数n2を求める
    ことを特徴とする請求項5に記載の半導体集積回路。
JP2004009329A 2004-01-16 2004-01-16 半導体集積回路 Expired - Fee Related JP3935149B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004009329A JP3935149B2 (ja) 2004-01-16 2004-01-16 半導体集積回路
US10/805,227 US7249296B2 (en) 2004-01-16 2004-03-22 Semiconductor integrated circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004009329A JP3935149B2 (ja) 2004-01-16 2004-01-16 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2005203042A true JP2005203042A (ja) 2005-07-28
JP3935149B2 JP3935149B2 (ja) 2007-06-20

Family

ID=34747211

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004009329A Expired - Fee Related JP3935149B2 (ja) 2004-01-16 2004-01-16 半導体集積回路

Country Status (2)

Country Link
US (1) US7249296B2 (ja)
JP (1) JP3935149B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199703A (ja) * 2008-02-25 2009-09-03 Nec Computertechno Ltd 集積回路、集積回路の動作試験方法および動作試験プログラム
KR20150068140A (ko) * 2013-12-11 2015-06-19 삼성전자주식회사 반도체 메모리 장치 및 그것의 테스트 방법
JP2018156712A (ja) * 2017-03-21 2018-10-04 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の診断方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376887B2 (en) * 2003-12-22 2008-05-20 International Business Machines Corporation Method for fast ECC memory testing by software including ECC check byte
KR100571758B1 (ko) * 2004-05-11 2006-04-17 삼성전자주식회사 반전된 패턴 데이터 비교부를 구비하는 반도체 메모리장치 및 이 장치의 병렬 비트 테스트 방법
JP2007305223A (ja) * 2006-05-11 2007-11-22 Matsushita Electric Ind Co Ltd 半導体集積回路におけるテスト回路生成方法、テスト回路生成装置および半導体集積回路
US7900100B2 (en) * 2007-02-21 2011-03-01 International Business Machines Corporation Uncorrectable error detection utilizing complementary test patterns
TW200947450A (en) * 2008-05-09 2009-11-16 A Data Technology Co Ltd Storage system capable of data recovery and method thereof
TWI382422B (zh) * 2008-07-11 2013-01-11 Genesys Logic Inc 根據錯誤更正碼更新快閃記憶體之資料頁面之儲存裝置與方法
TWI395226B (zh) * 2008-11-07 2013-05-01 Silicon Motion Inc 測試儲存裝置的方法及其系統
US8429470B2 (en) 2010-03-10 2013-04-23 Micron Technology, Inc. Memory devices, testing systems and methods
US8918683B2 (en) * 2012-09-14 2014-12-23 SK Hynix Inc. One-time program cell array circuit and memory device including the same
US9582354B2 (en) 2014-01-28 2017-02-28 Infineon Technologies Ag Apparatus and method for improving data storage by data inversion
KR102238706B1 (ko) * 2014-11-28 2021-04-09 삼성전자주식회사 반도체 메모리 장치 및 이를 포함하는 메모리 시스템
US9570160B1 (en) * 2015-10-29 2017-02-14 Sandisk Technologies Llc Non-volatile storage system with defect detetction and early programming termination
DE102016100630B4 (de) 2016-01-15 2020-10-01 Infineon Technologies Ag Speichervorrichtung und Verfahren zum Testen einer Speichervorrichtung
KR102553267B1 (ko) * 2018-05-17 2023-07-07 삼성전자 주식회사 멀티-채널 패키지, 및 그 패키지를 테스트하는 테스트 장치 및 테스트 방법
CN111078459B (zh) * 2018-10-22 2022-11-29 长鑫存储技术有限公司 半导体芯片的测试方法、装置及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4680760A (en) * 1985-08-05 1987-07-14 Motorola, Inc. Accelerated test apparatus and support logic for a content addressable memory
JP2862948B2 (ja) * 1990-04-13 1999-03-03 三菱電機株式会社 半導体記憶装置
US6473877B1 (en) * 1999-11-10 2002-10-29 Hewlett-Packard Company ECC code mechanism to detect wire stuck-at faults

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009199703A (ja) * 2008-02-25 2009-09-03 Nec Computertechno Ltd 集積回路、集積回路の動作試験方法および動作試験プログラム
KR20150068140A (ko) * 2013-12-11 2015-06-19 삼성전자주식회사 반도체 메모리 장치 및 그것의 테스트 방법
KR102127455B1 (ko) * 2013-12-11 2020-06-26 삼성전자주식회사 반도체 메모리 장치 및 그것의 테스트 방법
JP2018156712A (ja) * 2017-03-21 2018-10-04 ルネサスエレクトロニクス株式会社 半導体装置及び半導体装置の診断方法

Also Published As

Publication number Publication date
US20050160332A1 (en) 2005-07-21
JP3935149B2 (ja) 2007-06-20
US7249296B2 (en) 2007-07-24

Similar Documents

Publication Publication Date Title
JP3935149B2 (ja) 半導体集積回路
US7266735B2 (en) Semiconductor device having ECC circuit
JP3842238B2 (ja) メモリ・システム及びこれのテスト方法
US9703633B2 (en) Circuits, apparatuses, and methods for correcting data errors
TW556203B (en) Semiconductor memory device having ECC type error recovery circuit
JP3892832B2 (ja) 半導体記憶装置
US7206988B1 (en) Error-correction memory architecture for testing production errors
US8572444B2 (en) Memory apparatus and testing method thereof
KR20030043658A (ko) 패리티 셀 어레이를 구비한 메모리 회로
JPS6061837A (ja) エラ−訂正装置
JP3039455B2 (ja) 半導体メモリ装置テスト方法及び半導体メモリ装置
US8397132B2 (en) Memory device
JP3184738B2 (ja) エラー訂正可能なメモリ・デバイス
US8122320B2 (en) Integrated circuit including an ECC error counter
US20080082870A1 (en) Parallel bit test device and method using error correcting code
JP2007066423A (ja) 半導体集積回路装置
US20080013389A1 (en) Random access memory including test circuit
CN106067326B (zh) 错误校正电路及包括其的半导体存储器件
KR100577988B1 (ko) 오류 검출 능력이 강화된 플래시 메모리 및 다비트 오류검출 방법
JP2008176828A (ja) エラー検出訂正回路のテスト回路およびテスト方法
JP2004280893A (ja) 半導体装置
JPH02278355A (ja) フオールト・トレラント・メモリ・システム
TWI748507B (zh) 資料存取系統及操作資料存取系統的方法
US20040255224A1 (en) Semiconductor storage device and evaluation method
US8527820B2 (en) Semiconductor device and test method thereof

Legal Events

Date Code Title Description
TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070313

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070316

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100330

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110330

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120330

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130330

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees