JP2018156712A - 半導体装置及び半導体装置の診断方法 - Google Patents

半導体装置及び半導体装置の診断方法 Download PDF

Info

Publication number
JP2018156712A
JP2018156712A JP2017053974A JP2017053974A JP2018156712A JP 2018156712 A JP2018156712 A JP 2018156712A JP 2017053974 A JP2017053974 A JP 2017053974A JP 2017053974 A JP2017053974 A JP 2017053974A JP 2018156712 A JP2018156712 A JP 2018156712A
Authority
JP
Japan
Prior art keywords
circuit
semiconductor device
address
bit
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
JP2017053974A
Other languages
English (en)
Other versions
JP6841698B2 (ja
Inventor
洋一 前田
Yoichi Maeda
洋一 前田
前野 秀史
Hideshi Maeno
秀史 前野
潤 松嶋
Jun Matsushima
潤 松嶋
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.)
Renesas Electronics Corp
Original Assignee
Renesas Electronics 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 Renesas Electronics Corp filed Critical Renesas Electronics Corp
Priority to JP2017053974A priority Critical patent/JP6841698B2/ja
Priority to US15/862,041 priority patent/US10580513B2/en
Priority to EP18151650.1A priority patent/EP3379541A1/en
Publication of JP2018156712A publication Critical patent/JP2018156712A/ja
Application granted granted Critical
Publication of JP6841698B2 publication Critical patent/JP6841698B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • G06F3/0632Configuration or reconfiguration of storage systems by initialisation or re-initialisation of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/20Address generation devices; Devices for accessing memories, e.g. details of addressing circuits using counters or linear-feedback shift registers [LFSR]
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C29/32Serial access; Scan testing
    • 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/36Data generation devices, e.g. data inverters
    • 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
    • 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/44Indication or identification of errors, e.g. for repair
    • G11C29/4401Indication or identification of errors, e.g. for repair for self repair
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • G11C2029/0401Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals in embedded memories
    • 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
    • G11C2029/0407Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals on power on
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/26Accessing multiple arrays
    • G11C2029/2602Concurrent test
    • 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/18Address generation devices; Devices for accessing memories, e.g. details of addressing circuits
    • G11C29/30Accessing single arrays
    • G11C2029/3202Scan chain
    • 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
    • G11C2029/4402Internal storage of test result, quality data, chip identification, repair information

Abstract

【課題】BIST回路によって、ECC回路によるエラー訂正可否を判定することが可能な半導体装置を提供する。【解決手段】アドレス生成回路ADRGは、メモリMEMにおけるテスト対象のアドレスADRを生成し、テストデータ生成回路TDGは、当該アドレスADRへのライトデータWDと、当該アドレスADRからのリードデータRDに対する期待値データEXDとを生成する。判定回路JDGは、アドレスADR毎に、リードデータRDと期待値データEXDとの一致・不一致をビット毎に比較し、不一致となるビット数がECC回路によるエラー訂正可能なビット数の範囲内の場合にエラー訂正可能と判定し、範囲外の場合にエラー訂正不可能と判定する。【選択図】図1

Description

本発明は、半導体装置および半導体装置の診断方法に関し、例えば、メモリの自己診断機能を備える半導体装置及び半導体装置の診断方法に関する。
例えば、特許文献1には、メモリアレイを診断するBIST(Built In Self Test)回路が示される。当該BIST回路は、メモリアレイに入力されるアドレスおよびデータを定めるアドレスカウンタおよびデータパタン発生回路と、これらを制御するステートマシンと、メモリアレイからのリードデータを期待値と比較し、その比較結果を1ビットに圧縮するデータ圧縮回路と、その出力を蓄えるフェイルアドレスレジスタとを備える。
米国特許第5173906号明細書
例えば、自動車等の分野では、機能安全規格であるISO26262に対応するため、半導体装置の内蔵メモリに対してECC(Error Correcting Code)回路、及び、BIST回路を搭載することが必須となっている。ECC回路は、各メモリセルに、特定の条件を満たすエラーが生じた場合、当該エラーを訂正することで、システムの動作を停止させることなく継続させるための回路である。一方、BIST回路は、半導体装置の起動時にメモリセルにエラーが無いかを診断する回路である。BIST回路は、エラーを検出した場合、システムに対して障害通知を発行し、動作の停止を促す。
ここで、半導体装置の内蔵メモリにECC回路で訂正可能なエラーが含まれていた場合を想定する。この場合、ECC回路によってエラーを訂正できるため、システムとしての障害は、本来、生じないはずである。しかし、例えば、特許文献1に示されるようなBIST回路を搭載する場合、システムの起動時等で、BIST回路によって半導体装置(具体的には内蔵メモリ)のエラーが検出され、結果として、システムに対して障害通知が発行される。なぜなら、特許文献1に示されるようなBIST回路は、ECC回路によるエラー訂正の可否を判別することは困難であり、エラーを検出した場合、その訂正可否に関わらずシステムに対して障害通知を行うためである。
後述する実施の形態は、このようなことに鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。
一実施の形態による半導体装置は、メモリと、メモリを診断するBIST回路とを有する。BIST回路は、アドレス生成回路と、テストデータ生成回路と、判定回路と有する。アドレス生成回路は、メモリにおけるテスト対象のアドレスを生成し、テストデータ生成回路は、当該アドレスへのライトデータと、当該アドレスからのリードデータに対する期待値データとを生成する。判定回路は、アドレス毎に、リードデータと期待値データとの一致・不一致をビット毎に比較し、不一致となるビット数がECC回路によるエラー訂正可能なビット数の範囲内の場合にエラー訂正可能と判定し、範囲外の場合にエラー訂正不可能と判定する。
前記一実施の形態によれば、BIST回路によって、ECC回路によるエラー訂正可否を判定することが可能になる。
本発明の実施の形態1による半導体装置の主要部の構成例を示す概略図である。 図1の半導体装置の実際の構成例を示す概略図である。 (a)は、図1における判定回路の構成例を示す回路図であり、(b)は、(a)におけるラッチ回路の構成例を示す回路図である。 (a)、(b)および(c)は、図3(a)の判定回路を用いたテスト時の動作例を示す模式図である。 図1におけるシステム制御回路の主要部の処理内容の一例を示すフロー図である。 本発明の実施の形態2による半導体装置において、図1の判定回路の構成例を示す回路図である。 (a)は、図6の判定回路における主要な信号の機能を表す補足図であり、(b)および(c)は、図6の判定回路を用いたテスト時の動作例を示す模式図である。 図6の判定回路を拡張した構成例を示す回路図である。 本発明の実施の形態3による半導体装置において、図1の判定回路の構成例を示す回路図である。 図9の判定回路を用いたテスト時の動作例を示す模式図である。 本発明の実施の形態4による半導体装置の主要部の構成例を示す概略図である。 図11の半導体装置におけるテスト時の動作例を示す模式図である。 本発明の比較例1となる半導体装置の主要部の構成例を示す概略図である。
以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数、数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。
さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。
以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。
(実施の形態1)
《半導体装置の概略構成》
図1は、本発明の実施の形態1による半導体装置の主要部の構成例を示す概略図である。図1に示す半導体装置DEVは、一つの半導体チップで構成され、特に限定はされないが、マイクロコントローラチップ等である。当該半導体装置DEVは、ユーザ回路ULG1,ULG2と、メモリMEMと、BIST回路BSTCと、選択回路MUXとを備える。メモリMEMは、必ずしも限定されないが、例えば、SRAM(Static Random Access Memory)等である。
ユーザ回路ULG1,ULG2は、例えばCPU(Central Processing Unit)等を含み、ユーザに応じた所望の機能を実現する回路である。図1の例では、記載の便宜上、メモリMEMの入力側で処理を行うユーザ回路ULG1と、メモリMEMの出力側で処理を行うユーザULG2とを分けている。ただし、ユーザ回路ULG1,ULG2は、物理的には同一の回路であってよい。明細書では、ユーザ回路ULG1,ULG2を総称してユーザ回路ULGと呼ぶ。ユーザ回路ULG(この例ではULG2)は、半導体装置DEVの起動時制御を行うシステム制御回路SYSCTを備える。
BIST回路BSTCは、アドレス生成回路ADRGと、コマンド生成回路CMDGと、テストデータ生成回路TDGと、判定回路JDGとを備える。アドレス生成回路ADRGは、メモリMEMにおけるテスト対象のアドレスADRを順に生成する。コマンド生成回路CMDGは、ライトコマンド、リードコマンドといったコマンドCMDを生成する。テストデータ生成回路TDGは、アドレスADRへのライトデータWDと、アドレスADRからのリードデータRDに対する期待値データEXDとを生成する。具体的には、テストデータ生成回路TDGは、コマンド生成回路CMDGがライトコマンドを発行する際にはライトデータWDを生成し、コマンド生成回路CMDGがリードコマンドを発行する際には期待値データEXDを生成する。
選択回路MUXは、ユーザ回路ULGからのアドレス、コマンドおよびライトデータか、BIST回路BSTCからのアドレスADR、コマンドCMDおよびライトデータWDのいずれか一方を選択してメモリMEMへ出力する。BIST回路BSTCは、テストを実行する際に、選択信号SS1を制御することで、選択回路MUXにBIST回路BSTCからの各信号を選択させる。
判定回路JDGは、良否判定回路PFJGと、エラー訂正可否判定回路ECJGとを備える。良否判定回路PFJGは、アドレスADR毎に、メモリMEMからのリードデータRDと、テストデータ生成回路TDGからの期待値データEXDとの一致・不一致をビット毎に比較する。良否判定回路PFJGは、アドレス生成回路ADRGによって生成されるテスト対象のアドレスADR内で、不一致となるビット(すなわちエラー)が生じなかった場合には、エラー無し(パス)を表す‘0’レベルの良否判定信号PFSを出力する。一方、良否判定回路PFJGは、テスト対象のアドレスADR内で、不一致となるビットが生じた場合には、エラー有り(フェイル)を表す‘1’レベルの良否判定信号PFSを出力する。
エラー訂正可否判定回路ECJGは、アドレスADR毎に、リードデータRDと期待値データEXDとの一致・不一致をビット毎に比較し、不一致となるビット数がECC回路によるエラー訂正可能なビット数の範囲内の場合にエラー訂正可能と判定し、範囲外の場合にエラー訂正不可能と判定する。エラー訂正可否判定回路ECJGは、テスト対象のアドレスADR内で、エラー訂正不可能と判定したケースが発生した場合には、エラー訂正不可能を表す‘0’レベルの訂正可否判定信号ECSを出力する。一方、エラー訂正可否判定回路ECJGは、テスト対象のアドレスADR内で、エラー訂正不可能と判定したケースが発生せず、かつエラー訂正可能と判定したケースが発生した場合には、エラー訂正可能を表す‘1’レベルの訂正可否判定信号ECSを出力する。
このように、判定回路JDGは、アドレス毎のテスト結果を3通りのケースに区別する。1つ目のケースは、ビット毎の比較結果が全て一致することでパスと判定するケース(明細書ではパスケースと呼ぶ)であり、2つ目のケースは、エラー訂正可能と判定するケース(明細書では訂正可能ケースと呼ぶ)であり、3つ目のケースは、エラー訂正不可能と判定するケース(明細書では訂正不可能ケースと呼ぶ)である。そして、判定回路JDGは、テスト対象のアドレスADR内における当該3通りのケースの発生状況に応じて、最終テスト結果として、当該3通りのケースにそれぞれ対応する3通りの信号のいずれかをシステム制御回路SYSCTへ出力する。
具体的には、判定回路JDGは、テスト対象のアドレスADR内で訂正不可能ケースが発生した場合には、最終テスト結果として、訂正不可能ケースに対応する信号を出力する。当該信号は、‘1’レベル(フェイル)の良否判定信号PFSと、‘0’レベル(エラー訂正不可能)の訂正可否判定信号ECSとの組み合わせである。システム制御回路SYSCTは、当該信号を受信した場合、訂正不可能なエラーが生じているため、メモリ障害有りかつシステム障害有りと認識する。
また、判定回路JDGは、テスト対象のアドレスADR内で訂正不可能ケースが発生せず、かつ訂正可能ケースが発生した場合には、最終テスト結果として、訂正可能ケースに対応する信号を出力する。当該信号は、‘1’レベル(フェイル)の良否判定信号PFSと、‘1’レベル(エラー訂正可能)の訂正可否判定信号ECSとの組み合わせである。システム制御回路SYSCTは、当該信号を受信した場合、訂正可能なエラーが生じているため、メモリ障害有りかつシステム障害無しと認識する。
一方、判定回路JDGは、テスト対象のアドレスADR内でパスケースのみが発生した場合には、最終テスト結果として、パスケースに対応する信号を出力する。当該信号は、‘0’レベル(パス)の良否判定信号PFSであり、訂正可否判定信号ECSはドントケアレベルでよい。システム制御回路SYSCTは、当該信号を受信した場合、メモリ障害無しかつシステム障害無しと認識する。
図2は、図1の半導体装置の実際の構成例を示す概略図である。図2に示す半導体装置DEVは、図1の構成例と比較して、ECCコード生成回路ECGと、ECC実行回路ECEとが追加された構成となっている。ECCコード生成回路ECGは、ユーザ回路ULGと選択回路MUXの間に設けられ、ユーザ回路ULGによるメモリMEMのライト動作時にECCコードを付加したライトデータを生成する。ECC実行回路ECEは、メモリMEMとユーザ回路ULGの間に設けられ、ユーザ回路ULGによるメモリMEMのリード動作時にECCコードに基づきエラー訂正を実行する。
ユーザ回路ULGがメモリMEMにライト動作を行う場合、メモリMEMには、ライトデータに加えて、ECCコード生成回路ECGで生成されたECCコードが格納される。また、ユーザ回路ULGがメモリMEMにリード動作を行う場合、メモリMEMからは、リードデータRDに加えて、ECCコードが読み出される。BIST回路BSTCは、このようなECC回路の内側で、ECC回路を介さずに、また、ライトデータWDが格納される領域とECCコードが格納される領域とを特に区別することなく、メモリMEMをテストする。
《判定回路の詳細》
図3(a)は、図1における判定回路の構成例を示す回路図であり、図3(b)は、図3(a)におけるラッチ回路の構成例を示す回路図である。図4(a)、図4(b)および図4(c)は、図3(a)の判定回路を用いたテスト時の動作例を示す模式図である。図3(a)において、メモリMEMからのリードデータRDおよびテストデータ生成回路TDGからの期待値データEXDは、共に、nビット(この例では、説明の簡素化のため4ビット)となっている。
図3(a)に示す判定回路JDG1は、ビット比較回路CMPBと、nビット(4ビット)のラッチ回路LT[0]〜LT[3]と、カウンタ回路CUNT1と、カウント値比較回路CMP1とを備える。ビット比較回路CMPBは、アドレス生成回路ADRGによるアドレス(リードアドレス)ADR毎に、4ビットのリードデータRD[0]〜RD[3]と4ビットの期待値データEXD[0]〜EXD[3]との一致・不一致をそれぞれ比較する。ビット比較回路CMPBは、当該ビット毎の一致/不一致に応じて各ビットが‘0’レベル/‘1’レベルとなる4ビットの比較結果信号R[0]〜R[3]を出力する。
この例では、ビット比較回路CMPBは、リードデータRD[0]〜RD[3]と期待値データEXD[0]〜EXD[3]とをビット毎に比較する4個の排他的論理和ゲートXOR[0]〜XOR[3]で構成される。ただし、論理ゲートの種類は、例えば負論理を用いる等、適宜変更することが可能である。この論理ゲートの種類の変更は、後述する各種構成例においても同様に行うことができる。
ラッチ回路LT[0]〜LT[3]は、比較結果信号R[0]〜R[3]をそれぞれラッチする。明細書では、ラッチ回路LT[0]〜LT[3]を総称してラッチ回路LTと呼び、比較結果信号R[0]〜R[3]を総称して比較結果信号Rと呼ぶ。ラッチ回路LTは、図3(b)に示されるように、オアゲートORと、選択回路SELと、フリップフロップ回路FFとを備える。オアゲートORは、比較結果信号Rとフリップフロップ回路FFの保持信号とのオア演算を行う。選択回路SELは、オアゲートORからの出力信号かスキャンイン信号SIのいずれか一方を選択信号SS2に基づき選択し、フリップフロップ回路FFへ出力する。
このように、ラッチ回路LT[0]〜LT[3]は、スキャン機能付きのラッチ回路となっており、順に、スキャン接続される。ラッチ回路LT内のフリップフロップ回路FFの保持信号は、スキャンアウト信号SOとなり、スキャン接続先となる他のラッチ回路LTのスキャンイン信号SIとなる。例えば、ラッチ回路LT[0]のスキャンアウト信号SOは、ラッチ回路LT[1]のスキャンイン信号SIとなる。
カウンタ回路CUNT1は、テストが終了した段階で、スキャン機能を用いて、4ビットのラッチ回路LT[0]〜LT[3]の中から‘1’レベル(不一致レベル)をラッチしているビット数をカウントする。カウント値比較回路CMP1は、カウンタ回路CUNT1のカウント値と、予め定めた閾値Cth1とを比較することで、不一致となるビット数がECC回路によるエラー訂正可能なビット数の範囲内か否かを判定する。加えて、カウント値比較回路CMP1は、パスかフェイルの判定も行う。カウント値比較回路CMP1は、これらの判定結果に基づいて、良否判定信号PFSおよび訂正可否判定信号ECSを出力する。
このように、図3(a)の判定回路JDG1は、比較結果信号R[0]〜R[3]に‘1’レベル(不一致レベル)が生じた場合、当該‘1’レベルを、対応するラッチ回路LTでラッチする。ラッチ回路LTでは、比較結果信号RがオアゲートORを介してフリップフロップ回路FFに入力されるため、フリップフロップ回路FFは、一度‘1’レベルを保持すると、リセットや再設定が生じるまでは、‘1’レベルを保持し続ける。
テスト対象のアドレスADRに対するテストが終了すると、BIST回路BSTCは、選択信号SS2をスキャン経路側に切り換え、スキャン経路を用いて各ラッチ回路LT[0]〜LT[3]内のフリップフロップ回路FFの値を順にシフトさせながらカウンタ回路CUNT1へ出力する。カウンタ回路CUNT1は、入力される値が‘1’レベルであればカウントアップを行う。これにより、カウント値比較回路CMP1は、すべてのラッチ回路LT[0]〜LT[3]内のフリップフロップ回路FFの値がカウンタ回路CUNT1に入力された後、そのカウント値によって最終テスト結果を定めることができる。
例えば、閾値(すなわち訂正可能なビット数)Cth1を“1”とした場合、最終テスト結果は、カウンタ回路CUNT1のカウント値が“0”の場合にはパスケースとなり、“1”の場合にはフェイルかつ訂正可能ケースとなり、“2”以上の場合にはフェイルかつ訂正不可能ケースとなる。これに応じて、カウント値比較回路CMP1は、カウント値が“0”の場合には‘0’レベルの良否判定信号PFSを出力し、“1”の場合には‘1’レベルの良否判定信号PFSと‘1’レベルの訂正可否判定信号ECSとを出力し、“2”以上の場合には‘1’レベルの良否判定信号PFSと‘0’レベルの訂正可否判定信号ECSとを出力する。
テストの具体例として、図4(a)では、アドレスADR#A1に対するリードサイクルで比較結果信号R[2]が‘1’レベル(不一致レベル)となっている。この場合、テスト対象のアドレスADRに対するテスト(アドレススキャン)が終了した段階で、ラッチ回路LT[2]内のフリップフロップ回路FFに‘1’レベルが保持される。その結果、カウンタ回路CUNT1のカウント値は“1”となり、最終テスト結果は、フェイルかつ訂正可能ケースとなる。図4(b)では、アドレスADR#A1および#A5に対するリードサイクルで共に比較結果信号R[2]が‘1’レベル(不一致レベル)となっている。この場合も、最終テスト結果は、フェイルかつ訂正可能ケースとなる。
一方、図4(c)では、アドレスADR#A1に対するリードサイクルで比較結果信号R[2],R[3]が共に‘1’レベル(不一致レベル)となっている。この場合、テスト対象のアドレスADRに対するテストが終了した段階で、ラッチ回路LT[2],LT[3]内のフリップフロップ回路FFに‘1’レベルが保持される。その結果、カウンタ回路CUNT1のカウント値は“2”となり、最終テスト結果は、フェイルかつ訂正不可能ケースとなる。
《システム制御回路の動作》
図5は、図1におけるシステム制御回路の主要部の処理内容の一例を示すフロー図である。システム制御回路SYSCTは、半導体装置DEVの電源投入を検知したのち(ステップS101)、BIST回路BSTCにメモリのテスト(起動時診断)を実行させる(ステップS102)。メモリのテストが終了すると、システム制御回路SYSCTは、BIST回路BSTCから最終テスト結果を受信する(ステップS103)。
ここで、ステップS104において、最終テスト結果がパスの場合(すなわち、‘0’レベルの良否判定信号PFSを受信した場合)、システム制御回路SYSCTは、ユーザ回路ULGを含むシステムを起動する(ステップS105)。一方、ステップS104において、最終テスト結果がフェイルの場合(すなわち、‘1’レベルの良否判定信号PFSを受信した場合)、システム制御回路SYSCTは、エラー訂正可否を判定する(ステップS106)。
ステップS106において、エラー訂正可能な場合(すなわち、‘1’レベルの訂正可否判定信号ECSを受信した場合)、システム制御回路SYSCTは、ユーザ回路ULGを含むシステムを起動する(ステップS107)。ただし、当該エラーによってECC回路のエラー訂正能力が費やされ、新たなエラー(例えばソフトエラー)に対して弱体化する可能性があるため、システム制御回路SYSCTは、例えば、装置外部へ警告レベル1を発行することが望ましい。警告レベル1が発行された場合、必要に応じて、例えば、半導体装置DEVの再起動等を行ってもよく、それでも改善しない場合は、システムメンテナンス等を行ってもよい。
ステップS106において、エラー訂正不可能な場合(すなわち、‘0’レベルの訂正可否判定信号ECSを受信した場合)、システム制御回路SYSCTは、ユーザ回路ULGを含むシステムを起動しない(ステップS108)。この場合、システム制御回路SYSCTは、例えば、装置外部へ警告レベル2を発行することで、システムエラー処理を促す。システムエラー処理としては、例えば、半導体装置DEVの再起動や、システムメンテナンス等が挙げられる。
《半導体装置(比較例)の概略構成》
図13は、本発明の比較例1となる半導体装置の主要部の構成例を示す概略図である。図13に示す比較例1の半導体装置DEV’は、図1および図2に示した半導体装置DEVと比較して、BIST回路BSTC’内にエラー訂正可否判定回路ECJGが設けられない構成となっている。システム制御回路SYSCT’は、良否判定信号PFSのみに基づいて、メモリMEMのエラーの有無を判定し、ひいてはシステム障害の有無を判定する。
特に、メモリMEMがSRAMの場合、α線による1ビットエラー(ソフトエラーと呼ばれる)がランダムに生じることが知られている。このため、SRAMでは、その対策として、通常、図13および図2に示されるようなECC回路(ECG,ECE)が搭載される。ソフトエラーは、BIST実行時にも生じ得る。ソフトエラーのような1ビットエラーは、本来、ECC実行回路ECEによって訂正可能であるため、システム(半導体装置DEV)の外部から見ると、システム障害に該当しない。しかし、図13のシステム制御回路SYSCT’は、BIST回路BSTC’から‘1’レベル(フェイル)の良否判定信号PFSを受信すると、エラー訂正可否に関わらず、システム障害有りと判定する必要がある。
そこで、比較例2として、BIST回路BSTC’にてエラーが検出された場合、ユーザ回路ULGのソフトウエア処理による診断でECC回路によるエラー訂正可否を判定する方式が考えられる。具体的には、システム制御回路SYSCT’は、例えば、図5のステップS104においてフェイルを受信した場合、ユーザ回路ULGを起動したのち、ユーザ回路ULGに再度テストを行わせる。ユーザ回路ULGは、ECC回路(ECG,ECE)の外側からメモリMEMを正常に読み書きできたか否かによってECC回路(ECG,ECE)を含めてメモリMEMを診断する。しかし、このようなソフトウエア処理による診断は、実行時間が長くなるため、半導体装置DEV’の起動時間の増大を招く恐れがある。
また、比較例3として、ECC回路(ECG,ECE)の外側から入出力を行うようにBIST回路を設ける方式が考えられる。ただし、BIST回路は、例えば、製造時の量産テストで利用される場合がある。この場合、量産テストの性質上、BIST回路は、図1等のように、ECC回路の内側に設けられることが望ましい。また、ユーザ回路ULGおよびECC回路からメモリMEMを見た場合の論理アドレスおよび論理データと、メモリMEMを単体で見た場合の物理アドレスおよび物理データとが一致しない場合がある。論理アドレスおよび論理データを用いてテストを行うと、メモリの物理構造等を反映した最適なテストが行えない場合がある。
《実施の形態1の主要な効果》
そこで、実施の形態1の半導体装置を用いると、代表的には、BIST回路によって、ECC回路によるエラー訂正可否を判定することが可能になる。これにより、比較例1の方式と異なり、ECC回路で訂正可能なエラーが生じた場合には、システム障害を生じさせずに済む。また、比較例2の方式と比較して、ソフトウエア処理による診断が不要となるため、半導体装置DEVの起動時間の短縮が図れる。さらに、比較例3の方式と異なり、BIST回路を量産テストでも利用することができ、また、物理アドレスおよび物理データを用いてテストを行えるため、メモリの物理構造等を反映した最適なテストを行うことができる。
(実施の形態2)
《判定回路(変形例[1])の詳細》
図6は、本発明の実施の形態2による半導体装置において、図1の判定回路の構成例を示す回路図である。図7(a)は、図6の判定回路における主要な信号の機能を表す補足図であり、図7(b)および図7(c)は、図6の判定回路を用いたテスト時の動作例を示す模式図である。図6において、リードデータRDおよび期待値データEXDは、共に、nビット(nは2以上の整数)であり、ここでは、説明の簡素化のためn=4となっている。
図6に示す判定回路JDG2は、複数の排他的論理和ゲートXOR[0]〜XOR[3],XOR01,XOR23,XOR03と、複数のアンドゲートAD01,AD23,AD03と、オアゲートOR10とを備える。また、加えて、判定回路JDG2は、ラッチ回路LTa,LTbと、アンドゲートAD10と、オアゲートOR11とを備える。排他的論理和ゲートXOR[0]〜XOR[3],XOR01,XOR23,XOR03のそれぞれは、2入力の論理レベルの一致/不一致に応じて‘0’レベル/‘1’レベルを出力する。複数のアンドゲートAD01,AD23,AD03のそれぞれは、2入力の論理レベルが共に‘1’レベルの場合に‘1’レベルを出力する。オアゲートOR10は、複数のアンドゲートAD01,AD23,AD03の中の少なくとも一つが‘1’レベルを出力したか否かを判定する。
ここで、複数の排他的論理和ゲートXOR[0]〜XOR[3],XOR01,XOR23,XOR03は、アドレスADR毎のnビットのリードデータRDとnビットの期待値データEXDとを1段目の入力として、最終段の出力が1個となるように順にトーナメントツリー状に結合される。この例では、排他的論理和ゲートは、トーナメントツリー状の1段目に4個(XOR[0]〜XOR[3])設けられ、2段目に2個(XOR01,XOR23)設けられ、3段目に1個(XOR03)設けられる。
複数のアンドゲートAD01,AD23,AD03は、トーナメントツリー状の2段目から最終段に設けられる排他的論理和ゲートにそれぞれ対応する形で、2段目から最終段に設けられる排他的論理和ゲートと同じ入力となるように設けられる。この例では、2段目に設けられる2個の排他的論理和ゲートXOR01,XOR23と同じ入力となるように、2個のアンドゲートAD01,AD23が設けられ、3段目に設けられる1個の排他的論理和ゲートXOR03と同じ入力となるように、1個のアンドゲートAD03が設けられる。
1段目の排他的論理和ゲートXOR[0]〜XOR[3]は、図3(a)の場合と同様に、ビット比較回路CMPBを構成し、アドレスADR毎に、リードデータRDと期待値データEXDとが入力される。また、排他的論理和ゲートXOR01およびアンドゲートAD01は、要素回路CE01を構成し、排他的論理和ゲートXOR23およびアンドゲートAD23は、要素回路CE23を構成し、排他的論理和ゲートXOR03およびアンドゲートAD03は、要素回路CE03を構成する。
トーナメントツリー状に結合された排他的論理和ゲートにおける最終段(XOR03)からの信号Saは、ラッチ回路LTaの入力信号となる。また、オアゲートOR10からの信号Sbは、ラッチ回路LTbの入力信号となる。ラッチ回路LTa,LTbのそれぞれは、例えば、図3(b)に示したような構成を備える。ただし、ラッチ回路LTa,LTbのそれぞれは、必ずしもスキャン機能を備える必要はなく、選択回路SELを削除したような構成であってもよい。
アンドゲートAD10は、ラッチ回路LTaおよびラッチ回路LTbの出力信号がそれぞれ‘1’レベルおよび‘0’レベルの場合に、‘1’レベル(訂正可能)の訂正可否判定信号ECSを出力する。オアゲートOR11は、ラッチ回路LTaおよびラッチ回路LTbの出力信号が共に‘0’レベルの場合に、‘0’レベル(パス)の良否判定信号PFSを出力する。
このような構成において、最終段の排他的論理和ゲートXOR03からの信号Saは、1段目の排他的論理和ゲートXOR[0]〜XOR[3]からの比較結果信号R[0]〜R[3]における‘1’レベル(すなわち不一致ビット)の数が偶数個(0も含む)であれば‘0’レベルに、奇数個であれば‘1’レベルとなる。いずれかのアドレスADRで、一度でも奇数個のエラー(すなわち不一致ビット)が発生すると、ラッチ回路LTaによって‘1’レベルが保持される。ただし、このような排他的論理和ゲートのツリーでは、エラーの数が1ビットであるか、3ビット以上の奇数個であるかを区別できず、また、2ビット以上の偶数個のエラーを検出することができない。
一方、オアゲートOR10からの信号Sbは、各アンドゲートAD01,AD23,AD03の中の少なくとも1つが‘1’レベルを出力した場合に‘1’レベルとなる。いずれかのアドレスADRで、オアゲートOR10からの‘1’レベルが一度でも出力されると、ラッチ回路LTbによって‘1’レベルが保持される。ここで、各アンドゲートAD01,AD23,AD03が‘1’レベルを出力するのは、いずれかのアドレスADRで2ビット以上のエラーが生じた場合である。
例えば、比較結果信号(R[0],R[1])=(1,1)の場合、アンドゲートAD01が‘1’レベルを出力し、比較結果信号(R[2],R[3])=(1,1)の場合、アンドゲートAD23が‘1’レベルを出力する。また、比較結果信号R[0],R[1]の中のいずれか1ビットが‘1’レベルであり、かつ、比較結果信号R[2],R[3]の中のいずれか1ビットが‘1’レベルの場合、アンドゲートAD03が‘1’レベルを出力する。3ビットや4ビットのエラーが生じた場合にも、各アンドゲートAD01,AD23,AD03の中の少なくとも1個が‘1’レベルを出力する。
このようなラッチ回路LTa,LTbの出力を組み合わせることで、最終テスト結果を生成することが可能である。具体的には、ラッチ回路LTaの出力が‘1’レベルかつラッチ回路LTbの出力が‘0’レベルの場合(すなわち奇数個のエラーが生じた場合で、当該エラーは2ビット以上でない場合)は、1ビットのエラーが発生したことになり、訂正可能ケースと判定することができる。また、ラッチ回路LTaの出力を問わず、ラッチ回路LTbの出力が‘1’レベルの場合(すなわち2ビット以上のエラーが生じた場合)は、訂正不可能ケースと判定することができる。さらに、ラッチ回路LTa,LTbの出力が共に‘0’レベルの場合(すなわちパスか、または偶数個のエラーが生じた場合で、当該エラーは2ビット以上でない場合)は、エラーが発生していないことを意味するため、パスケースと判定することができる。
図7(a)には、信号Sa,Sbの機能が示される。信号(Sa,Sb)=(0,0)の場合はパスケースとなり、信号(Sa,Sb)=(1,0)の場合はフェイルかつ訂正可能ケースとなり、信号(Sa,Sb)=(x,1)(xはドントケア)の場合はフェイルかつ訂正不可能ケースとなる。テストの具体例として、図7(b)では、アドレスADR#A1に対するリードサイクルで比較結果信号R[2]が‘1’レベル(不一致レベル)となっており、アドレスADR#A4に対するリードサイクルで比較結果信号R[3]が‘1’レベルとなっている。この場合、アドレスADR#A1および#A4では、信号(Sa,Sb)=(1,0)となり、ラッチ回路LTaの出力は‘1’レベルとなり、ラッチ回路LTbの出力は‘0’レベルとなる。その結果、良否判定信号PFSおよび訂正可否判定信号ECSは、共に‘1’レベルとなり、これは、フェイルかつ訂正可能ケースを意味する。
図7(c)では、アドレスADR#A1に対するリードサイクルで比較結果信号R[1],R[2]が‘1’レベルとなっており、アドレスADR#A4に対するリードサイクルで比較結果信号R[2],R[3]が‘1’レベルとなっている。アドレスADR#A1では、信号Sbは、アンドゲートAD03が‘1’レベルを出力するため‘1’レベルとなり、信号Saは、エラー数が偶数個であるため‘0’レベルとなる。アドレスADR#A4では、信号Sbは、アンドゲートAD23が‘1’レベルを出力するため‘1’レベルとなり、信号Saは、エラー数が偶数個であるため‘0’レベルとなる。
さらに、図7(c)では、アドレスADR#A6に対するリードサイクルで比較結果信号R[1],R[2],R[3]が‘1’レベルとなっている。アドレスADR#A6では、信号Sbは、アンドゲートAD01が‘1’レベルを出力するため‘1’レベルとなり、信号Saは、エラー数が奇数個であるため‘1’レベルとなる。このようにエラー数が3ビット以上の場合には、それに包含される2ビットエラーをアンドゲートAD01,AD23,AD03のいずれかが検出することになるため、信号Sbは‘1’レベルとなる。このようなテストにより、ラッチ回路LTa,LTbは、共に‘1’レベルとなる。その結果、良否判定信号PFSは‘1’レベルとなり、訂正可否判定信号ECSは‘0’レベルとなり、これは、フェイルかつ訂正不可能ケースを意味する。
図8は、図6の判定回路を拡張した構成例を示す回路図である。図8に示す判定回路JDG2aは、図6の判定回路JDG2と異なり、リードデータRDおよび期待値データEXDが8ビット(n=8)となっている。この場合も、図6の場合と同様に、排他的論理和ゲートをトーナメントツリー状に結合し、2段目から最終段に結合される各排他的論理和ゲートと同じ入力となるように、アンドゲートを設け、当該アンドゲートの出力をオアゲートOR20に入力すればよい。その結果、図8では、図6と比べて、排他的論理和ゲートおよびアンドゲートで構成される4個の要素回路CE45,CE67,CE47,CE07が追加されることになる。
なお、ここでは、nが2の場合を例としたが、nは、2に限らず、2以上の整数であればよい。この場合、一般的なトーナメントツリーにおけるシードの場合と同様に、2段目から最終段のいずれかに、このシード用の排他的論理和ゲートを適宜挿入し、併せてアンドゲートを設ければよい。例えば、図8において、n=9の場合、要素回路CE67と要素回路CE47の間に要素回路を挿入し、当該要素回路の2入力を、要素回路CE67の排他的論理和ゲートの出力信号と、追加された比較結果信号(すなわちR[8](図示せず))にすればよい。また、これに限らず、要素回路CE47と要素回路CE07の間に要素回路を挿入することも、要素回路CE07の後段に要素回路を挿入することも可能である。
《実施の形態2の主要な効果》
以上、実施の形態2の半導体装置を用いることで、実施の形態1の場合と同様の効果が得られる。さらに、実施の形態1の方式では正しく判定できないエラーを、正しく判定することが可能になる。すなわち、図3(a)の判定回路JDG1を用いた場合、例えば、図7(b)に示したように、1ビットエラーが、異なるビットで複数生じるような状況で、カウンタ回路CUNT1のカウント値が“2”となるため、訂正不可能ケースと判定されてしまう。この場合、フェイルセーフの観点では問題は無いが、訂正可能と判定できる範囲が狭まってしまう。図6の判定回路JDG2を用いると、図3(a)の構成例と比較して、回路構成は複雑化するものの、訂正可能ケースを正しく判定することができる。
(実施の形態3)
《判定回路(変形例[2])の詳細》
図9は、本発明の実施の形態3による半導体装置において、図1の判定回路の構成例を示す回路図である。図10は、図9の判定回路を用いたテスト時の動作例を示す模式図である。図9において、リードデータRDおよび期待値データEXDは、共に、nビット(ここでは、説明の簡素化のため4ビット)である。
図9に示す判定回路JDG3は、ビット比較回路CMPBと、オアゲートOR30と、1ビットエラーデコード回路DEC1と、アンドゲートAD30と、ラッチ回路LTa,LTbと、アンドゲートAD10およびオアゲートOR11とを備える。ビット比較回路CMPBは、図3(a)の場合と同様であり、ビット毎の一致/不一致に応じて各ビットが‘0’レベル/‘1’レベルとなる4ビットの比較結果信号R[0]〜R[3]を出力する。ラッチ回路LTa,LTb、アンドゲートAD10およびオアゲートOR11は、図6の場合と同様である。
オアゲートOR30は、4ビットの比較結果信号R[0]〜R[3]の中の少なくとも1ビットが‘1’レベルであるか否かを判定する。1ビットエラーデコード回路DEC1は、ここでは、アンド・オアの複合ゲートで構成され、4ビットの比較結果信号R[0]〜R[3]の中の1ビットのみが‘1’レベルであるか否かを判定し、1ビットのみが‘1’レベルである場合に‘1’レベルの信号Saを出力する。具体的には、1ビットエラーデコード回路DEC1は、4個のアンドゲートで、4ビット中のそれぞれ異なる1ビットのみが‘1’レベルとなるケースを検出し、その検出結果をオアゲートで束ねて出力する。その結果、1ビットエラーデコード回路DEC1は、1ビットエラーを検出した際に、‘1’レベルの信号Saを出力する。
アンドゲートAD30は、オアゲートOR30の出力が‘1’レベルであり、1ビットエラーデコード回路DEC1の出力が‘0’レベルである場合(すなわちエラーが生じた場合で、そのエラーは、1ビットエラーで無い場合)に‘1’レベルの信号Sbを出力する。この‘1’レベルの信号Sbは、図6の場合と同様に、2ビット以上のエラーが生じたことを意味する。
なお、図9の信号Saは、図6の信号Saとは若干機能が異なる。すなわち、図6の信号Saは奇数個のエラーが生じた場合に‘1’レベルとなるが、図9の信号Saは、奇数個のエラーの内、1ビットエラーが生じた場合のみで‘1’レベルとなる。ただし、信号Sbによって1ビットエラーか2ビット以上のエラーかを区別できるため、実質的に、図6の信号Saの‘1’レベルは、図9の場合と同様に、1ビットエラーとして取り扱うことができる。このような信号Sa,Sbにより、図9の判定回路JDG3は、図6の判定回路JDG2と同様の判定動作を行う。
ここで、図9の判定回路JDG3は、さらに、カウンタ回路CUNT2と、カウント値比較回路CMP2と、ラッチ回路LTcとを備える。カウンタ回路CUNT2は、テスト対象のアドレスADR内で訂正可能ケースが発生した回数をカウントする。具体的には、カウンタ回路CUNT2は、1ビットエラーデコード回路DEC1が‘1’レベルを出力した回数をカウントする。カウント値比較回路CMP2は、カウンタ回路CUNT2のカウント値が予め定めた閾値Cth2を超えた場合に、‘1’レベルを出力する。ラッチ回路LTcは、図3(b)と同様の構成を備え、当該‘1’レベルをラッチし、‘1’レベルのアラーム信号ARMとして出力する。
ここで、前述した実施の形態2の方式では、例えば、IOエラーの状況(すなわち、特定の1ビットがスタティックエラーとなる状況)でも、その他にエラーが発生しなければ、訂正可能ケースと判定される。この判定は、正しいが、実際には、当該IOエラーの訂正によってECC回路に処理負荷がかかるため、実質的に、ECC回路によるエラー訂正能力が著しく低下するか、もしくは無効となる。その結果、起動後の通常動作中にソフトエラー等が生じた場合にエラー訂正を行えなくなる。
そこで、例えば、図10に示されるように、1ビットエラーとなるIOエラーが生じた場合には、訂正可能ケースを意味する‘1’レベルの訂正可否判定信号ECSと共に、‘1’レベルのアラーム信号ARMを出力する。図9の構成例では、このようなIOエラーを含めて、1ビットエラーが生じた回数が閾値Cth2を超えた場合に‘1’レベルのアラーム信号ARMが出力される。閾値Cth2に関しては、例えば、半導体装置DEVの不揮発性メモリ等に閾値Cth2を格納することで、外部から任意に設定できるように構成してもよい。
なお、図9の判定回路JDG3からカウンタ回路CUNT2等を省いて図6の判定回路JDG2の代わりに適用することも可能であり、図6の判定回路JDG2に対して、図9の判定回路JDG3と同様のカウンタ回路CUNT2等を追加することで、図9の判定回路JDG3の代わりに適用することも可能である。後者の場合、図6と図9を等価にするためには、カウンタ回路CUNT2は、図6において、信号(Sa,Sb)=(1,0)が生じた回数(すなわち1ビットエラーが生じた回数)をカウントすればよいが、実質的には、信号Saが‘1’レベルとなった回数をカウントすればよい。すなわち、信号Saが‘1’レベルとなった回数をカウントしながら、最終テスト結果が、訂正可能ケースであった場合、当該カウント値は、1ビットエラーが生じた回数を意味することになる。
《実施の形態3の主要な効果》
以上、実施の形態3の半導体装置を用いることで、実施の形態2の場合と同様の効果が得られる。さらに、ECC回路によるエラー訂正能力が著しく低下している、もしくは無効となっている状況を検知し、アラーム信号ARMによってシステム制御回路SYSCT等に通知することが可能になる。システム制御回路SYSCTは、当該アラーム信号ARMを受信した場合、例えば、図5のステップS108の場合と同様に取り扱えばよい。なお、図9において、例えば、ECC回路でエラー訂正可能なビット数が2ビットの場合には、1ビットエラーデコード回路DEC1の場合と同様の2ビットエラーデコード回路を追加すればよい。
(実施の形態4)
《半導体装置(応用例)の概略構成》
図11は、本発明の実施の形態4による半導体装置の主要部の構成例を示す概略図である。図12は、図11の半導体装置におけるテスト時の動作例を示す模式図である。図11に示す半導体装置DEVは、複数のメモリMEM1,MEM2と、複数のBIST回路BSTC1,BSTC2と、複数の選択回路MUX1,MUX2と、ECC回路(ECG,ECE)と、ユーザ回路ULGとに加えて、総合判定回路TJGを備える。
ユーザ回路ULGは、ECC回路(ECG,ECE)を介して、論理アドレスと、各論理アドレスに対するnビットの論理データ(ライトデータ)とを用いて、複数のメモリMEM1,MEM2にアクセスする。メモリMEM1は、論理アドレスに対するnビットの論理データの一部のビット(iビット分)を保持する。メモリMEM2は、論理アドレスに対するnビットの論理データの他の一部のビット(jビット分)を保持する。
BIST回路BSTC1,BSTC2は、図1および図3の場合と同様に、それぞれ、選択回路MUX1,MUX2を介して、メモリMEM1,MEM2をテストする。選択回路MUX1には、BIST回路BSTC1からのiビットのライトデータWD1と、ビット分割回路BBからのiビットのライトデータとが入力される。選択回路MUX2には、BIST回路BSTC2からのjビットのライトデータWD2と、ビット分割回路BBからのjビットのライトデータとが入力される。ビット分割回路BBは、ECCコード生成回路ECGからのnビットのライトデータをiビットとjビットに分割する。また、メモリMEM1からのiビットのリードデータRD1と、メモリMEM2からのjビットのリードデータRD2は、ビット統合回路BDによってnビットのリードデータRDに統合され、ECC実行回路ECEへ出力される。
このように、複数のメモリMEM1,MEM2を組み合わせてシステムのメモリ空間を構成する場合、複数のメモリMEM1,MEM2に対して個別にBIST回路BSTC1,BSTC2が設けられる一方で、ECC回路は、複数のメモリMEM1,MEM2を一つとみなして動作することがある。この場合、BIST回路BSTC1が、メモリMEM1において所定の論理アドレスに対応する物理アドレスで1ビットエラーを検出し、BIST回路BSTC2も、メモリMEM2において同じ所定の論理アドレスに対応する物理アドレスで1ビットエラーを検出した場合に問題が生じる。すなわち、この場合、ECC回路から見ると2ビットエラーとなるため、訂正不可能ケースとなる。
そこで、総合判定回路TJGは、BIST回路BSTC1内の判定回路(例えば図6のJDG2)とBIST回路BSTC2内の判定回路(例えばJDG2)が、同一の論理アドレスにおいて共に訂正可能ケースと判定した場合に、最終テスト結果を訂正不可能ケースと判定する。具体例として、例えば、2個の同一構成のメモリMEM1,MEM2を用いて、単純に、データ幅を2倍に拡張するような場合を想定する。この場合、図12に示されるように、BIST回路BSTC1,BSTC2は、同時に起動されてテストを実行し、総合判定回路TJGには、BIST回路BSTC1からの信号Sa1,Sb1とBIST回路BSTC2の信号Sa2,Sb2とが入力される。
信号Sa1,Sb1および信号Sa2,Sb2は、例えば、図6の信号Sa,Sbに該当する信号である。総合判定回路TJGは、アドレスADR#2で、信号(Sa1,Sb1,Sa2,Sb2)=(1,0,1,0)の場合(すなわち個々に訂正可能ケースと判定された場合)には訂正不可能ケースと判定し、総合的な最終テスト結果として、訂正不可能ケースを表す信号(Sa,Sb)=(x,1)を生成する。当該信号Sa,Sbは、図6等の場合と同様にして、訂正可否判定信号ECSおよび良否判定信号PFSに変換される。総合判定回路TJGは、信号(Sa1,Sb1,Sa2,Sb2)のその他の組み合わせに関しても、各組み合わせ内容に応じた信号Sa,Sbを生成する。
ここでは、単純なケースを想定したが、実際には、ユーザ回路ULGから見た論理アドレスと、BIST回路BSTC1,BSTC2から見た物理アドレスとが適宜スクランブルされるケースや、BIST回路BSTC1,BSTC2を同時に起動できないケース等も生じ得る。このような場合には、例えば、各BIST回路BSTC1,BSTC2は、1ビットエラーを検出した物理アドレスを保持し、総合判定回路TJGは、予め定まっている論理アドレスと物理アドレスとの対応関係に基づき、保持された物理アドレスが同一の論理アドレスか否かを判定してもよい。また、エラー訂正可能なビット数が2ビットの場合には、各BIST回路BSTC1,BSTC2は、さらに、1ビットエラーか2ビットエラーかの情報を保持してもよい。総合判定回路TJGは、このビット数の情報を含めて訂正可能ケースか否かの判定を行えばよい。
《実施の形態4の主要な効果》
以上、実施の形態4の半導体装置を用いることで、実施の形態1〜3の場合と同様の効果が得られる。さらに、複数のメモリ毎にBIST回路が設けられ、かつ複数のメモリに共通でECC回路が設けられるようなシステムに対しても、ECC回路によるエラー訂正可否を正しく判定することが可能になる。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
AD アンドゲート
ADR アドレス
ADRG アドレス生成回路
BSTC BIST回路
CMD コマンド
CMDG コマンド生成回路
CMP カウント値比較回路
CMPB ビット比較回路
CUNT カウンタ回路
Cth 閾値
ECE ECC実行回路
ECG ECCコード生成回路
ECS 訂正可否判定信号
EXD 期待値データ
JDG 判定回路
LT ラッチ回路
MEM メモリ
MUX 選択回路
OR オアゲート
PFS 良否判定信号
R 比較結果信号
RD リードデータ
SYSCT システム制御回路
TDG テストデータ生成回路
TJG 総合判定回路
ULG ユーザ回路
WD ライトデータ
XOR 排他的論理和ゲート

Claims (17)

  1. メモリと、
    前記メモリを診断するBIST(Built In Self Test)回路とを有する半導体装置であって、
    前記BIST回路は、
    前記メモリにおけるテスト対象のアドレスを生成するアドレス生成回路と、
    前記アドレスへのライトデータと、前記アドレスからのリードデータに対する期待値データとを生成するテストデータ生成回路と、
    前記アドレス毎に、前記リードデータと前記期待値データとの一致・不一致をビット毎に比較し、不一致となるビット数がECC(Error Correcting Code)回路によるエラー訂正可能なビット数の範囲内の場合にエラー訂正可能と判定し、範囲外の場合にエラー訂正不可能と判定する判定回路と、
    を有する、
    半導体装置。
  2. 請求項1記載の半導体装置において、
    前記判定回路は、前記アドレス毎に、前記ビット毎の比較結果が全て一致することでパスと判定する第1のケースか、前記エラー訂正可能と判定する第2のケースか、前記エラー訂正不可能と判定する第3のケースかを区別し、前記テスト対象のアドレス内で前記第3のケースが発生した場合には、最終テスト結果としてエラー訂正不可能を表す第1の信号を出力し、前記テスト対象のアドレス内で前記第3のケースが発生せず、かつ前記第2のケースが発生した場合には、前記最終テスト結果としてエラー訂正可能を表す第2の信号を出力する、
    半導体装置。
  3. 請求項2記載の半導体装置において、
    前記判定回路は、前記テスト対象のアドレス内で前記第2のケースが発生した回数をカウントする第1のカウンタ回路を有する、
    半導体装置。
  4. 請求項2記載の半導体装置において、さらに、
    ユーザに応じた機能を備えるユーザ回路と、
    前記半導体装置の起動時制御を行うシステム制御回路と、
    を有し、
    前記システム制御回路は、前記半導体装置の電源投入後に前記BIST回路にテストを行わせたのち、前記判定回路から前記第1の信号を受信した場合には、前記ユーザ回路を起動せず、前記第2の信号を受信した場合には前記ユーザ回路を起動する、
    半導体装置。
  5. 請求項1記載の半導体装置において、さらに、
    前記メモリのライト動作時にECCコードを付加したライトデータを生成するECCコード生成回路と、
    前記メモリのリード動作時に前記ECCコードに基づきエラー訂正を実行するECC実行回路と、
    前記ECCコード生成回路からの前記ライトデータか、前記BIST回路からの前記ライトデータのいずれか一方を選択して前記メモリへ出力する選択回路と、
    を有する、
    半導体装置。
  6. 請求項1記載の半導体装置において、
    前記判定回路は、
    前記アドレス毎に、nビットの前記リードデータとnビットの前記期待値データとの一致・不一致をそれぞれ比較し、当該ビット毎の一致/不一致に応じて各ビットが第1の論理レベル/第2の論理レベルとなるnビットの比較結果信号を出力するビット比較回路と、
    前記nビットの比較結果信号をそれぞれラッチするnビットのラッチ回路と、
    テストが終了した段階で、前記nビットのラッチ回路の中から前記第2の論理レベルをラッチしているビット数をカウントする第2のカウンタ回路と、
    前記第2のカウンタ回路のカウント値と、予め定めた閾値とを比較することで、前記不一致となるビット数がECC回路によるエラー訂正可能なビット数の範囲内か否かを判定するカウント値比較回路と、
    を有する、
    半導体装置。
  7. 請求項1記載の半導体装置において、
    前記判定回路は、
    2入力の論理レベルの一致/不一致に応じて第1の論理レベル/第2の論理レベルを出力する複数の第1の論理ゲートと、
    2入力の論理レベルが共に前記第2の論理レベルの場合に所定の論理レベルを出力する複数の第2の論理ゲートと、
    前記複数の第2の論理ゲートの中の少なくとも一つが前記所定の論理レベルを出力したか否かを判定する第3の論理ゲートと、
    を備え、
    前記複数の第1の論理ゲートは、前記アドレス毎のnビットの前記リードデータとnビットの前記期待値データとを1段目の入力として、最終段の出力が1個となるように順にトーナメントツリー状に結合され、
    前記複数の第2の論理ゲートは、前記トーナメントツリー状の2段目から前記最終段に設けられる前記第1の論理ゲートにそれぞれ対応する形で、前記2段目から前記最終段に設けられる前記第1の論理ゲートと同じ入力となるように設けられる、
    半導体装置。
  8. 請求項7記載の半導体装置において、
    前記判定回路は、さらに、前記テスト対象のアドレス内で前記複数の第1の論理ゲートの前記最終段の出力が前記第2の論理レベルとなった回数をカウントする第1のカウンタ回路を有する、
    半導体装置。
  9. 請求項1記載の半導体装置において、
    前記判定回路は、
    前記アドレス毎に、nビットの前記リードデータとnビットの前記期待値データとの一致・不一致をそれぞれ比較し、当該ビット毎の一致/不一致に応じて各ビットが第1の論理レベル/第2の論理レベルとなるnビットの比較結果信号を出力するビット比較回路と、
    前記nビットの比較結果信号の中の少なくとも1ビットが前記第2の論理レベルであるか否かを判定する第4の論理ゲートと、
    前記nビットの比較結果信号の中の1ビットのみが前記第2の論理レベルであるか否かを判定し、1ビットのみが前記第2の論理レベルである場合に所定の論理レベルを出力する1ビットエラーデコード回路と、
    を有する、
    半導体装置。
  10. 請求項9記載の半導体装置において、
    前記判定回路は、さらに、前記テスト対象のアドレス内で前記1ビットエラーデコード回路が前記所定の論理レベルを出力した回数をカウントする第1のカウンタ回路を有する、
    半導体装置。
  11. 論理アドレスに対する論理データの一部のビットを保持する第1のメモリと、
    前記論理アドレスに対する前記論理データの他の一部のビットを保持する第2のメモリと、
    前記第1のメモリを診断する第1のBIST(Built In Self Test)回路と、
    前記第2のメモリを診断する第2のBIST回路と、
    総合判定回路と、
    を有する半導体装置であって、
    前記第1のBIST回路および前記第2のBIST回路のそれぞれは、
    対応するメモリにおけるテスト対象のアドレスを生成するアドレス生成回路と、
    前記アドレスへのライトデータと、前記アドレスからのリードデータに対する期待値データとを生成するテストデータ生成回路と、
    前記アドレス毎に、前記リードデータと前記期待値データとの一致・不一致をビット毎に比較し、不一致となるビット数がECC(Error Correcting Code)回路によるエラー訂正可能なビット数の範囲内の場合にエラー訂正可能と判定し、範囲外の場合にエラー訂正不可能と判定する判定回路と、
    を有し、
    前記総合判定回路は、前記第1のBIST回路内の前記判定回路と前記第2のBIST回路内の前記判定回路が、同一の前記論理アドレスにおいて共に前記エラー訂正可能と判定した場合に、最終テスト結果としてエラー訂正不可能と判定する、
    半導体装置。
  12. 請求項11記載の半導体装置において、さらに、
    前記論理アドレスに対するライト動作時にECCコードを付加したライトデータを生成するECCコード生成回路と、
    前記論理アドレスに対するリード動作時に前記ECCコードに基づきエラー訂正を実行するECC実行回路と、
    前記ECCコード生成回路からの前記ライトデータか、前記第1のBIST回路からの前記ライトデータのいずれか一方を選択して前記第1のメモリへ出力する第1の選択回路と、
    前記ECCコード生成回路からの前記ライトデータか、前記第2のBIST回路からの前記ライトデータのいずれか一方を選択して前記第2のメモリへ出力する第2の選択回路と、
    を有する、
    半導体装置。
  13. メモリを有する半導体装置の診断方法であって、
    前記メモリにおけるテスト対象のアドレスを生成する第1のステップと、
    前記アドレスへのライトデータと、前記アドレスからのリードデータに対する期待値データとを生成する第2のステップと、
    前記アドレス毎に、前記リードデータと前記期待値データとの一致・不一致をビット毎に比較し、不一致となるビット数がECC(Error Correcting Code)回路によるエラー訂正可能なビット数の範囲内の場合にエラー訂正可能と判定し、範囲外の場合にエラー訂正不可能と判定する第3のステップと、
    を有する、
    半導体装置の診断方法。
  14. 請求項13記載の半導体装置の診断方法において、
    前記第3のステップは、
    前記アドレス毎に、前記ビット毎の比較結果が全て一致することでパスと判定する第1のケースか、前記エラー訂正可能と判定する第2のケースか、前記エラー訂正不可能と判定する第3のケースかを区別する第3Aのステップと、
    前記テスト対象のアドレス内で前記第3のケースが発生した場合には、最終テスト結果としてエラー訂正不可能を表す第1の信号を出力し、前記テスト対象のアドレス内で前記第3のケースが発生せず、かつ前記第2のケースが発生した場合には、前記最終テスト結果としてエラー訂正可能を表す第2の信号を出力する第3Bのステップと、
    を有する、
    半導体装置の診断方法。
  15. 請求項14記載の半導体装置の診断方法において、
    前記第1のステップ、前記第2のステップおよび前記第3のステップは、前記半導体装置が有するBIST(Built In Self Test)回路によって実行される、
    半導体装置の診断方法。
  16. 請求項15記載の半導体装置の診断方法において、
    前記半導体装置は、さらに、ユーザに応じた機能を備えるユーザ回路を有し、
    前記診断方法は、
    前記半導体装置の電源投入後に前記BIST回路にテストを行わせる第4のステップと、
    前記第4のステップののち、前記BIST回路から前記第1の信号を受信した場合には、前記ユーザ回路を起動せず、前記第2の信号を受信した場合には前記ユーザ回路を起動する第5のステップと、
    を有する、
    半導体装置の診断方法。
  17. 請求項14記載の半導体装置の診断方法において、
    前記第3のステップは、さらに、前記テスト対象のアドレス内で前記第2のケースが発生した回数をカウントする第3Cのステップを有する、
    半導体装置の診断方法。
JP2017053974A 2017-03-21 2017-03-21 半導体装置 Active JP6841698B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2017053974A JP6841698B2 (ja) 2017-03-21 2017-03-21 半導体装置
US15/862,041 US10580513B2 (en) 2017-03-21 2018-01-04 Semiconductor device and diagnostic method therefor
EP18151650.1A EP3379541A1 (en) 2017-03-21 2018-01-15 Semiconductor device and diagnostic method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017053974A JP6841698B2 (ja) 2017-03-21 2017-03-21 半導体装置

Publications (2)

Publication Number Publication Date
JP2018156712A true JP2018156712A (ja) 2018-10-04
JP6841698B2 JP6841698B2 (ja) 2021-03-10

Family

ID=60997329

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017053974A Active JP6841698B2 (ja) 2017-03-21 2017-03-21 半導体装置

Country Status (3)

Country Link
US (1) US10580513B2 (ja)
EP (1) EP3379541A1 (ja)
JP (1) JP6841698B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020194357A (ja) * 2019-05-28 2020-12-03 株式会社東芝 情報処理回路及び情報処理方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111078459B (zh) * 2018-10-22 2022-11-29 长鑫存储技术有限公司 半导体芯片的测试方法、装置及系统
KR20200136747A (ko) * 2019-05-28 2020-12-08 에스케이하이닉스 주식회사 메모리 장치, 메모리 장치를 포함하는 메모리 시스템 및 메모리 시스템의 동작 방법
CN110289041B (zh) * 2019-06-25 2021-05-18 浙江大学 一种系统芯片中bist与ecc结合的存储器检测装置
CN110289040B (zh) * 2019-06-25 2021-05-11 浙江大学 一种系统芯片中bist与ecc结合的存储器检测方法
US10910082B1 (en) * 2019-07-31 2021-02-02 Arm Limited Apparatus and method
JP2022115179A (ja) * 2021-01-28 2022-08-09 キオクシア株式会社 半導体集積回路装置及びその動作方法
US20240013847A1 (en) * 2021-09-29 2024-01-11 Dream Chip Technologies Gmbh Electronic circuit and method for self-diagnosis of a data memory

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6414797A (en) * 1987-07-08 1989-01-18 Nec Corp Semiconductor integrated memory
US20050160332A1 (en) * 2004-01-16 2005-07-21 Osamu Hirabayashi Semiconductor integrated circuit
US20060048031A1 (en) * 2004-09-01 2006-03-02 Agere Systems, Inc. Built-in self test for memory arrays using error correction coding
JP2013065376A (ja) * 2011-09-16 2013-04-11 Elpida Memory Inc 半導体装置
US20160042809A1 (en) * 2014-08-11 2016-02-11 Young-Il Kim Semiconductor memory devices and memory systems including the same
US20160155515A1 (en) * 2014-11-28 2016-06-02 Samsung Electronics Co., Ltd. Semiconductor memory devices, memory systems including the same and methods of operating the same

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4461001A (en) 1982-03-29 1984-07-17 International Business Machines Corporation Deterministic permutation algorithm
US4584681A (en) * 1983-09-02 1986-04-22 International Business Machines Corporation Memory correction scheme using spare arrays
US5173906A (en) 1990-08-31 1992-12-22 Dreibelbis Jeffrey H Built-in self test for integrated circuits
US5383195A (en) * 1992-10-19 1995-01-17 Motorola, Inc. BIST circuit with halt signal
JP2001035196A (ja) * 1999-07-26 2001-02-09 Mitsubishi Electric Corp 故障解析機能を備えた半導体集積回路装置
JP4497695B2 (ja) * 2000-10-13 2010-07-07 株式会社ルネサステクノロジ 半導体集積回路装置
US7149941B2 (en) * 2002-04-30 2006-12-12 International Business Machines Corporation Optimized ECC/redundancy fault recovery
US7308621B2 (en) * 2002-04-30 2007-12-11 International Business Machines Corporation Testing of ECC memories
US6781898B2 (en) * 2002-10-30 2004-08-24 Broadcom Corporation Self-repairing built-in self test for linked list memories
JP3788983B2 (ja) 2003-07-10 2006-06-21 松下電器産業株式会社 半導体集積回路装置
JP3889391B2 (ja) * 2003-11-06 2007-03-07 ローム株式会社 メモリ装置および表示装置
JP4237109B2 (ja) * 2004-06-18 2009-03-11 エルピーダメモリ株式会社 半導体記憶装置及びリフレッシュ周期制御方法
JP2007257791A (ja) * 2006-03-24 2007-10-04 Fujitsu Ltd 半導体記憶装置
JP2007305223A (ja) 2006-05-11 2007-11-22 Matsushita Electric Ind Co Ltd 半導体集積回路におけるテスト回路生成方法、テスト回路生成装置および半導体集積回路
US8738977B2 (en) * 2006-08-31 2014-05-27 Agere Systems Llc Yield-enhancing device failure analysis
JP4359327B2 (ja) 2007-12-03 2009-11-04 パナソニック株式会社 半導体集積回路装置、icカードおよび検査装置
US8010847B2 (en) * 2008-09-30 2011-08-30 Infineon Technologies Ag Memory repair
US8001432B2 (en) * 2008-11-20 2011-08-16 Lsi Corporation Uninitialized memory detection using error correction codes and built-in self test
US9432298B1 (en) * 2011-12-09 2016-08-30 P4tents1, LLC System, method, and computer program product for improving memory systems
US9224503B2 (en) * 2012-11-21 2015-12-29 International Business Machines Corporation Memory test with in-line error correction code logic
US9087614B2 (en) 2012-11-27 2015-07-21 Samsung Electronics Co., Ltd. Memory modules and memory systems
DE102013211077B4 (de) * 2013-06-13 2015-09-24 Infineon Technologies Ag Verfahren zum Testen eines Speichers und Speichersystem
DE102013215055B4 (de) * 2013-07-31 2021-01-28 Infineon Technologies Ag Schaltungsanordnung, Vorrichtung, Verfahren und Computerprogramm mit modifiziertem Fehlersyndrom zur Fehlererkennung von permanenten Fehlern in Speichern
JP2016184189A (ja) 2015-03-25 2016-10-20 ルネサスエレクトロニクス株式会社 診断プログラム、診断方法および半導体装置
JP2017053974A (ja) 2015-09-08 2017-03-16 富士ゼロックス株式会社 画像形成装置
US9984766B1 (en) * 2017-03-23 2018-05-29 Arm Limited Memory protection circuitry testing and memory scrubbing using memory built-in self-test

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6414797A (en) * 1987-07-08 1989-01-18 Nec Corp Semiconductor integrated memory
US20050160332A1 (en) * 2004-01-16 2005-07-21 Osamu Hirabayashi Semiconductor integrated circuit
JP2005203042A (ja) * 2004-01-16 2005-07-28 Toshiba Corp 半導体集積回路
US20060048031A1 (en) * 2004-09-01 2006-03-02 Agere Systems, Inc. Built-in self test for memory arrays using error correction coding
JP2013065376A (ja) * 2011-09-16 2013-04-11 Elpida Memory Inc 半導体装置
US20160042809A1 (en) * 2014-08-11 2016-02-11 Young-Il Kim Semiconductor memory devices and memory systems including the same
US20160155515A1 (en) * 2014-11-28 2016-06-02 Samsung Electronics Co., Ltd. Semiconductor memory devices, memory systems including the same and methods of operating the same

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020194357A (ja) * 2019-05-28 2020-12-03 株式会社東芝 情報処理回路及び情報処理方法
JP7235591B2 (ja) 2019-05-28 2023-03-08 株式会社東芝 情報処理回路及び情報処理方法

Also Published As

Publication number Publication date
JP6841698B2 (ja) 2021-03-10
US10580513B2 (en) 2020-03-03
US20180277237A1 (en) 2018-09-27
EP3379541A1 (en) 2018-09-26

Similar Documents

Publication Publication Date Title
JP6841698B2 (ja) 半導体装置
US8812931B2 (en) Memory system with ECC-unit and further processing arrangement
TW556203B (en) Semiconductor memory device having ECC type error recovery circuit
US7353438B2 (en) Transparent error correcting memory
KR101750662B1 (ko) 데이터 에러 교정용 회로, 장치, 및 방법
US9471423B1 (en) Selective memory error reporting
US7200780B2 (en) Semiconductor memory including error correction function
JP4064658B2 (ja) 不揮発性半導体メモリ装置及びそれのフェイルビット数検出方法
JP3842238B2 (ja) メモリ・システム及びこれのテスト方法
EP1255197B1 (en) System and method for correcting soft errors in random access memory devices
US20090037782A1 (en) Detection of address decoder faults
US9042191B2 (en) Self-repairing memory
US20050071730A1 (en) Continuous self-verify of configuration memory in programmable logic devices
US20180121282A1 (en) Register error detection system
US20120079346A1 (en) Simulated error causing apparatus
US20070136640A1 (en) Defect detection and repair in an embedded random access memory
US8918707B2 (en) Codeword error injection via checkbit modification
JP4353329B2 (ja) 半導体記憶装置及びそのテスト方法
JP2007066423A (ja) 半導体集積回路装置
US8402327B2 (en) Memory system with error correction and method of operation
US10552261B2 (en) Semiconductor device and memory module
US11069421B1 (en) Circuitry for checking operation of error correction code (ECC) circuitry
CN106067326B (zh) 错误校正电路及包括其的半导体存储器件
CN114333968A (zh) 存储器的控制方法、存储器控制器及电子装置
US11557365B2 (en) Combined ECC and transparent memory test for memory fault detection

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191018

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200715

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200825

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20201026

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201223

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: 20210126

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210218

R150 Certificate of patent or registration of utility model

Ref document number: 6841698

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150