JP3871471B2 - Ecc回路搭載半導体記憶装置及びその検査方法 - Google Patents

Ecc回路搭載半導体記憶装置及びその検査方法 Download PDF

Info

Publication number
JP3871471B2
JP3871471B2 JP19690399A JP19690399A JP3871471B2 JP 3871471 B2 JP3871471 B2 JP 3871471B2 JP 19690399 A JP19690399 A JP 19690399A JP 19690399 A JP19690399 A JP 19690399A JP 3871471 B2 JP3871471 B2 JP 3871471B2
Authority
JP
Japan
Prior art keywords
data
ecc code
ecc
bit
circuit
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.)
Expired - Fee Related
Application number
JP19690399A
Other languages
English (en)
Other versions
JP2001023394A (ja
Inventor
利行 本多
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.)
Panasonic Corp
Panasonic Holdings Corp
Original Assignee
Panasonic Corp
Matsushita Electric Industrial Co Ltd
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 Panasonic Corp, Matsushita Electric Industrial Co Ltd filed Critical Panasonic Corp
Priority to JP19690399A priority Critical patent/JP3871471B2/ja
Priority to EP05023775A priority patent/EP1619582A3/en
Priority to DE60034403T priority patent/DE60034403T2/de
Priority to EP00114325A priority patent/EP1069503B1/en
Priority to US09/613,631 priority patent/US6938193B1/en
Priority to TW089113922A priority patent/TW591665B/zh
Publication of JP2001023394A publication Critical patent/JP2001023394A/ja
Application granted granted Critical
Publication of JP3871471B2 publication Critical patent/JP3871471B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding 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/1012Adding 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
    • G06F11/102Error in check bits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2205Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
    • G06F11/2215Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested to test error correction or detection circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • 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

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、誤り訂正符号回路(ECC回路)を内蔵した半導体記憶装置に関するものである。
【0002】
【従来の技術】
近年の半導体記憶装置の記憶容量の増加に伴い、内蔵されている記憶素子中のいずれかが故障する確率や、誤書き込み,誤読み出しなどの確率も高まってくる。そのため、電気信号からデータの誤りを検知してさらにこれを訂正する機能を有するECC回路搭載導体記憶装置が提案されている。
【0003】
このECC回路とは、符号(コード)理論に基づいて設計された誤り訂正機能を有する回路である。符号化による誤りの訂正は、本来伝達すべき情報に余分なもの(冗長性)を一定の規則に従って付加して送り、それらを受けた方では、受けた情報がこの規則に従っているかどうかを調べ、その結果によって誤りを検出・訂正するという順序で行なわれる。そのために、ECC回路搭載半導体記憶装置においては、ディジタル情報に対し、より組織的に機械で処理しやすい形で冗長性を付加し、信頼性の向上を図っている。
【0004】
ここで、従来例として、特開平5−54697号公報に開示されているECC回路搭載半導体記憶装置の構成および動作について、図10及び図11を参照しながら説明する。
【0005】
図10は上記公報に係る発明の背景となっている従来のECC回路搭載半導体記憶装置(“第1の従来例”とする)の構成を概略的に示すブロック図である。図10に示すように、ECC回路搭載メモリブロック101は、データ記憶領域102と、ECCコード記憶領域103と、ECCコード生成器104と、復号器105と、I/Oコントロール回路106とによって構成されている。
【0006】
I/Oコントロール回路106は、ECC回路搭載メモリブロック101の外部に配置されるデバイスから入出力データ線112を経て入力されるデータを、入力データ線107を経由してデータ記憶領域102とECCコード生成器104とに送られる。ECCコード生成器104は、入力データ線107からの入力データ信号を受けて、このデータに対応するECCコードを生成し、このECCコードを書き込みECCコード線108を介してECCコード記憶領域103に入力する。復号器105は、データ記憶領域102から読み出されたデータを読み出しデータ線109を介して取り込むとともに、ECCコード記憶領域103から読み出されたECCコードを読み出しECCコード線110を介して取り込んで、データに誤りがなければそのデータを、データに誤りがあれば誤りの訂正を行ったデータを出力データ線111からI/Oコントロール回路106に送る。そして、I/Oコントロール回路106は、復号器105から出力されたデータを、そのまま入出力データ線112を介してECC回路搭載メモリブロック101の外部のデバイスに出力する。
【0007】
以下、ECC回路搭載メモリブロック101にデータを書き込む動作と、ECC回路搭載メモリブロック101からデータを読み出す動作とについて、より詳細に、8ビットのデータと4ビットのECCコードとによって1ワードが構成される場合を例にとって説明する。
【0008】
まず、ECC回路搭載メモリブロック101にデータを書き込む時は、I/Oコントロール回路106によって、ECC回路搭載メモリブロック101の外部のデバイスからデータ入出力線112を経て入力される8ビットのデータ
(D0,D1,D2,D3,D4,D5,D6,D7)
を取り込む。そして、この取り込まれた8ビットのデータが、I/Oコントロール回路106により、入力データ線107を経てデータ記憶領域102に書き込まれるとともに、ECCコード生成器104にも入力される。
【0009】
次に、ECCコード生成器104において、入力された8ビットのデータに対応する4ビットのECCコード
(C0,C1,C2,C3)
が生成され、このECCコードがECCコード線108を経てECCコード記憶領域103に書き込まれる。このとき、上記公報に記載されている方法によると、ECCコード(C0,C1,C2,C3)の各要素は、下記式(1)
C0=D0+D1+D3+D4+D6
C1=D0+D2+D3+D5+D6
C2=D1+D2+D3+D7
C3=D4+D5+D6+D7 (1)
に基づいて生成される。ただし、上記式(1)及び以下の説明において、記号+は排他的論理和を表すものとする。
【0010】
次に、ECC回路搭載メモリブロック101からデータを読み出すときは、復号器105に、データ記憶領域102から読み出される8ビットのデータ
(D0’,D1’,D2’,D3’,D4’,D5’,D6’,D7’)
を読み出しデータ線109を通じて取り込むとともに、ECCコード記憶領域103から読み出される4ビットのECCデータ
(C0’,C1’,C2’,C3’)
を読み出しECCコード線110を介して取り込む。そして、復号器105は、4ビットのシンドローム
(S0,S1,S2,S3)
を、下記式
S0=C0’+D0’+D1’+D3’+D4’+D6’
S1=C1’+D0’+D2’+D3’+D5’+D6’
S2=C2’+D1’+D2’+D3’+D7’
S3=C3’+D4’+D5’+D6’+D7’
に基づいて生成する。
【0011】
復号器105は、読み出された8ビットのデータの中の1ビットまでの誤りを訂正するために、シンドロームのビット列に対応するデータ
(D0’,D1’,D2’,D3’,D4’,D5’,D6’,D7’)
中の誤りと判定されたビットのデータを反転処理した後に、出力データ線111に出力する。
【0012】
このとき、シンドロームのビット列に対応するデータ(検査行列H)は、下記式(2)
【0013】
【数1】
Figure 0003871471
【0014】
で示される。このとき、s=(S0,S1,S2,S3)としたとき、シンドロームsは、下記式
s=(D0’,D1’…,D7’,C0’,…,C3’)H
で表される。ここで、シンドロームsはデータ自体の情報を含まず誤りビットの情報だけを含んでいることが、ベクトル計算から確認できる。
【0015】
図12は、上記式(2)の有する意味を分かりやすくするために作成されたもので、誤りビットとシンドロームとの関係を示す図である。
【0016】
たとえば、S0=1,S1=1,S2=1,S3=0という結果が得られたときには、ビットD3’のデータが誤りであることがわかるので、このビットのデータを訂正するのである。一方、SO=S1=S2=S3=0の時には、データに誤りがないことになり、どのビットのデータも反転しない。
【0017】
このように誤りの訂正処理がされた8ビットのデータは、出力データ線111に出力され、I/Oコントロール回路106から入出力データ線112を介してECC回路搭載メモリブロック101の外部に出力される。
【0018】
以上の手順により、ECC回路メモリブロック101へのデータの書き込みと、ECC回路メモリブロック101からのデータの読み出しとが行なわれる。
【0019】
次に、第2の従来例のECC回路を搭載した半導体記憶装置の構成および動作について説明する。図11は、上記公報に記載されている公報に係る発明の構成を概略的に示すブロック図である。
【0020】
これは、図10に示すECC回路だけでは、一定の定められた誤り訂正処理以外の処理を行なうのに不便であることから、半導体記憶装置の特性等を考慮した各種の誤り訂正処理を行なうための改善を施したものである。
【0021】
図11に示すように、第2の従来例の半導体記憶装置は、図10に示す半導体記憶装置の構成に加えて、ECCコードI/Oコントロール回路113を設けたものである。
【0022】
図11に示す回路において、通常の動作時には、テストモード信号117が”0”に設定される。これにより、ECC回路搭載メモリブロック101へのデータの書き込み・読み出し動作は、すでに説明した第1の従来例の動作と同様の動作によって行なわれる。
【0023】
次に、テストモード時の動作について説明する。テストモード信号117が”1”に設定されると、テストモード信号117によって、セレクタゲート114〜116が制御される。これによって、データ記憶領域102には、I/Oコントロール回路106から入力データ線107を介してデータが書き込まれる。また、データ記憶領域102から読み出されたデータは、読み出しデータ線109とセレクタゲート114を経由してI/Oコントロール回路106に出力される。このとき、書き込み・読み出しの動作にECCコード生成器104や復号器105が関与しないので、データ記憶領域102に対するデータの書き込み・読み出しをECCコード生成器104や復号器105を経由することなくいわば直接に行なうことができる。
【0024】
一方、ECCコード記憶領域103には、ECC回路搭載メモリブロック101の外部のデバイスにより、ECCデータ(C0,C1,C2,C3)がECCコードI/Oコントロール回路113とセレクタゲート115とを経由して書き込まれる。また、ECCコード記憶領域103から読み出されたデータは、セレクタゲート116とECCコードI/Oコントロール回路113とを経由してECC回路搭載メモリブロック101の外部のデバイスに出力される。このように、ECCコード記憶領域103に対するデータの書き込み・読み出しを直接行なうことができる。
【0025】
上記第2の従来例に係るECC回路搭載半導体記憶装置においては、以上のようにして、たとえばチェッカーパターンの検査用データを用いてデータ記憶領域102とECCコード記憶領域103とのメモリセルの検査を行い、2ビット以上の誤りを訂正して良品・不良品の判別を行うように改善されている。
【0026】
【発明が解決しようとする課題】
しかるに、上記第1,第2の従来例においては、それぞれ以下のような不具合があった。
【0027】
第1の従来例においては、データ記憶領域とECCコード記憶領域とで異なる検査パターン(たとえばチェッカーパターン)を用いて検査しなければならない場合に、テストを迅速に行なうことができない。
【0028】
一方、第2の従来例においては、検査パターンを多様に変化させることが可能になるが、反面、半導体記憶装置全体の占有面積が増大し、半導体記憶装置を搭載した電子機器の小型化の要請に十分応えることができない。
【0029】
さらに、図10,図11に示される構成において、復号器105の誤りを訂正する動作の検査は行う手段がなく、1ビット誤りが発生したときでも正しく訂正されない可能性がある,つまり、従来の検査方法によってはECC回路搭載半導体記憶装置の信頼性を十分確保することができないという不具合があった。
【0030】
本発明の目的は、ECC回路自体の構成の簡略化を図りつつ、搭載される電子機器の小型化に適した機能の高いECC回路搭載半導体記憶装置を提供することや、ECC回路搭載半導体記憶装置の信頼性の向上を図るための検査方法を提供することにある。
【0031】
【課題を解決するための手段】
本発明の第のECC回路搭載半導体記憶装置は、複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段と、検査モード時に、上記ECCコード生成手段に与えるデータの各ビットの値を任意に変更させるデータ入力制御手段とを備え、上記復号手段は、検査モード時には検査用の任意のシンドロームを生成する機能を有している。
【0032】
これにより、復号手段の不良を検出することが可能になり、より信頼性の高いECC回路搭載半導体記憶装置が得られる。
【0033】
本発明の第のECC回路搭載半導体記憶装置は、複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段と、検査モード時に、上記ECCコード生成手段に与えるデータの各ビットの値を変更させるデータ入力制御手段とを備え、上記復号手段は、検査モード時には、対応して訂正するデータビットが存在しないパターンであって、そのパターンのうちいずれか1つのビットが反転しても対応して訂正すべきデータビットが存在するシンドロームパターンを生成する機能を有している。
【0034】
これにより、ECCコード記憶手段の不良を検出することができる。
【0035】
本発明の第のECC回路搭載半導体記憶装置の検査方法は、複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたECC回路搭載半導体記憶装置の検査方法であって、任意の2ビットにおいて(0 0),(0 1),(1 0),(1 1)の4通りのパターンが含まれるメモリ検査用データとメモリ検査用ECCコードとを生成する方法である。
【0036】
この方法により、ワードに含まれる2ビット以上の不良を検出することが可能になる。
【0037】
本発明の第のECC回路搭載半導体記憶装置の検査方法は、複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたECC回路搭載半導体記憶装置の検査方法であって、データから上記ECCコードとは異なるパターンを有する検査用ECCコードを生成し、検査用の任意のシンドロームを生成する方法である。
【0038】
この方法により、復号手段の不良を検出できる検査方法を提供することができる。
【0039】
本発明の第のECC回路搭載半導体記憶装置の検査方法は、複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたECC回路搭載半導体記憶装置の検査方法であって、検査モード時には、対応して訂正するデータビットが存在しないパターンであって、そのパターンのうちいずれか1つのビットが反転しても対応して訂正すべきデータビットが存在するシンドロームパターンを生成する方法である。
【0040】
この方法により、ECCコード記憶手段の不良を検出できる検査方法を提供することができる。
【0041】
【発明の実施の形態】
(第1の実施形態)
図1は、第1の実施形態におけるECC回路搭載半導体記憶装置の構成を概略的に示すブロック図である。図1に示すように、半導体記憶装置には、多数のメモリセルをマトリクス状に配置したメモリセルアレイ5が設けられており、このメモリセルアレイ5は複数個のメモリブロック9に分割されていて、各メモリブロック9ごとに、図4に示されるようなデータ記憶領域9aとECCコード記憶領域9bとが設けられている。そして、メモリセルアレイ5の周辺には、列を選択するためのカラムデコーダ4と、行を選択するためのロウデコーダ(図示せず)とが配置されている。そして、カラムデコーダ4はビット線群6により、ロウデコーダはワード線群(図示せず)により、それぞれメモリセルアレイ5と接続されている。なお、ロウデコーダに付設されている回路は、本願発明の特徴部分とは関連性がないために、図1において記載を省略している。
【0042】
周辺回路においては、主要な要素として、ECC回路搭載半導体記憶装置の外部のデバイスからデータを書き込む際におけるデータの入力制御を行なうための入力制御回路1と、データの伝達を行なうための8ビットのデータバス2と、ECCコードを伝達するための4ビットのECCコードバス3と、メモリセルアレイ5に書き込みするデータからECCコードを生成するとともに、メモリセルアレイ5から読み出したデータ・ECCコードからシンドロームを生成してデータの誤りを訂正する機能を備えたECC回路7と、ECC回路7から出力されるデータをECC回路搭載半導体記憶装置の外部のデバイスに出力するための制御を行う出力制御回路8とが設けられている。
【0043】
以下、以上のように構成されたECC回路搭載半導体記憶装置の書き込み・読み出し動作について説明する。
【0044】
まず、データをECC回路搭載半導体記憶装置に書き込むときは、ECC回路搭載半導体記憶装置の外部のデバイスから8ビットのデータ
(D0,D1,D2,D3,D4,D5,D6,D7)
が入力制御回路1に入力される。そして、入力制御回路1に入力された8ビットのデータは、データバス2からメモリセルアレイ5に送られてデータ記憶領域9aに格納されるとともに、ECC回路7に取り込まれる。ECC回路7は、データバス2から取り込んだ8ビットのデータを元に、4ビットのECCコード
(C0,C1,C2,C3)
を生成する。このECCコードは、ECCコードバス3からカラムデコーダ4を経由してメモリセルアレイ5に送られてECCコード記憶領域9bに格納される。ここで、データ及びECCコードは、ビット線群6の中のある1ワード(=データ8ビット+ECCコード4ビット;以下1ワードと記述)のデータに対応するビット線に出力され、メモリセルアレイ5へと書き込まれる。
【0045】
次に、データをECC回路搭載半導体記憶装置からデータを読み出すときは、メモリセルアレイ5から読み出される1ワードのデータが、カラムデコーダ4によって選択されたビット線群6の中のビット線を経由してデータバス2及びECCバス3に読み出される。そして、データバス2を経由した8ビットのデータと、ECCコードバス3を経由した4ビットのECCコードとがECC回路7に取り込まれる。ECC回路7は、8ビットのデータと4ビットのECCコードとに基づいて、4ビットのシンドローム
(S0,S1,S2,S3)
を生成する。そして、このシンドロームに基づいて、図12に示すような誤りビットとシンドロームとの関係を参照して、データに訂正すべき誤りがあるとこれを訂正し、誤りがなければそのままにしておくという誤りの訂正処理を行なった後に、8ビットのデータを出力制御回路8へ出力する。出力制御回路8は、ECC回路7から入力される8ビットのデータをECC回路搭載半導体記憶装置の外部のデバイスに出力し、これによって、データの読み出しが完了する。
【0046】
図2は、図1のECC回路7の内部構成を示す回路図である。図2に示すように、ECC回路7内には、ECCコード・シンドローム生成回路16と、データ訂正回路17とが配設されており、ECC回路7の各バス2,3との接続部分には、データバス2からECC回路7へのデータの入力を制御するデータバス入力制御回路10と、ECCコードバス3からECC回路7へのECCコードの入力を制御するECCコードバス入力制御回路11と、ECCコードバス3からECC回路7へのECCコードの出力を制御するECCコードバス出力制御回路12とが設けられている。ECCコード・シンドローム生成回路16は、排他的論理和ゲート13とインバータゲート14とを組み合わせて構成されている。また、データ訂正回路17は、論理積ゲート15と排他的論理和ゲート13とを組み合わせて構成されている。
【0047】
図3は、ECCコードバス入力制御回路11の構成を概略的に示す回路図である。同図に示すように、ECCコードバス入力制御回路11は、テスト信号TESTを反転するためのインバータ14と、ECCコードをECC回路7内に伝えるNチャネル型MOSトランジスタ及びPチャネル型MOSトランジスタからなるCMOSトランスファゲート18と、必要に応じてECC回路7内に送る信号を“L”に固定するためのNチャネル型MOSトランジスタ19とにより構成されている。そして、テスト信号TESTが“L”のときには、CMOSトランスファゲート18によってECCコード(CO,C1,C2,C3)がECC回路7内に送られる一方、テスト信号TESTが“H”のときにはECCコード(CO,C1,C2,C3)のECC回路7内への入力が阻止され、かつ、Nチャネル型MOSトランジスタ19によってECC回路7内に送られる信号が“L”に固定される。
【0048】
−具体的な回路構成−
本実施形態のECC回路搭載半導体記憶装置によると、図1,図2及び図3に示すように、図10及び図11に示す第1,第2の従来例の半導体記憶装置に比べて、従来別に設けられていたECCコード生成器104に相当する部分がECC回路7に組み込まれ、ECC回路7によってECC生成器104と復号器105との機能を併せて果たすように構成されていることで、装置自体の小型化が図られている。具体的には、図10及び図11に示す構成におけるECCコード生成器104には、本実施形態のECC回路7内のECCコード・シンドローム生成回路16内の16個の排他的論理和ゲートのうち12個の排他的論理和ゲートとインバータとが必要である(図中の波線によって囲まれる部分)。ただし、従来のECC回路搭載半導体記憶装置においては、本実施形態のごときECCコードバス入力制御回路11は不要である。その他の部分は、本実施形態と上記各従来例とでは、回路構成はほとんど変わらない。従って、排他的論理和ゲートが少なくとも6個のトランジスタによって構成され、インバータが2つのトランジスタによって構成されていることを考慮すると、本実施形態のECC回路搭載半導体記憶装置により、従来のECC回路搭載半導体記憶装置に比べて、トランジスタの数が低減されていることがわかる。よって、本実施形態のECC回路搭載半導体記憶装置により、装置全体の小型化を図ることができる。
【0049】
−演算方法−
次に、以上のように構成されたECC回路7のECCコード生成・シンドローム生成・データ訂正動作を示す演算と、これに対応する回路動作とについて説明する。
【0050】
まず、演算方法は、8ビットのデータビットから4ビットのECCコードを生成する式として、下記式(3)
C0=D0+D1+D2 +D5+D6
C1= D1+D2+D3+D4+D5
C2=D0 +D2+D3+D4 +D7
C3=D0+D1 +D3 +D6+D7 (3)
を使用する。
【0051】
上記式(3)から、本実施形態のECC回路搭載半導体記憶装置が以下のような2つの特徴を有していることが導かれる。
【0052】
第1に、それぞれのECCコード中の各ビットCO,C1,C2,C3の演算のために割り当てられているデータのビットの数が同じである。式(3)においては、各ECCコードの各ビットには、いずれも5ビットのデータが割り当てられている。たとえば、ECCコードの1つのビットC0には、5ビットのデータD0,D1,D2,D5,D6が割り当てられている。その結果、回路で演算を実現するときのゲート数が全てのECCコード中の各ビットごとに等しくなり、回路遅延のばらつきを生じない。それに対し、従来の式(1)で示されるECCコードを使用した場合には、ECCコード中の1つのビットC0には5つのデータビットが割り当てられ、ECCコード中の他のビットC3には4つのデータビットが割り当てられるので、回路遅延にばらつきを生じるおそれがあった。
【0053】
第2に、8ビットのデータビットのパターンと同じ種類のパターンが4ビットのECCコードパターンとして生成される。たとえば、データとしてチェッカーパターンを書き込む場合、
(D0,D1,D2,D3,D4,D5,D6,D7)
=(0,1,0,1,0,1,0,1)
とすると、ECCコードは、
(C0,C1,C2,C3)=(0,1,0,1)
となり、ECCコードもチェッカーパターンになる。また、ストライプパターンを生成するためには、「ALL0パターン」と「ALL1パターン」とを生成する必要があるが、データビットが全て”1”の時ECCコードも全て”1”になる。
【0054】
それに対し、式(1)で表される従来のECCコードを用いた場合、
(D0,D1,D2,D3,D4,D5,D6,D7)
=(0,1,0,1,0,1,0,1)
とすると、ECCコードは、
(C0,C1,C2,C3)=(0,0,0,1)
となり、ECCコードはチェッカーパターンとはならない。また、データビットが全て”1”の時、ECCコードは全て”1”にはならない。
【0055】
以上のようなチェッカーパターンやストライプパターンは、メモリセルの検査において物理的に隣接しているメモリセル(ビットに対応する)間の干渉等の不良を検出するために有効な検査パターンである。ところが、従来のECC回路搭載半導体記憶装置においては、チェッカーパターンやストライプパターンを用いた検査を行なうために、専用の検査パターンを用いる必要があることになる。それに対し、本実施形態のECC回路搭載半導体記憶装置によると、データパターンと同じ種類のECCコードパターンが生成されるので、各種の検査パターンを別途準備していなくても、データパターンを用いて各種検査に適合したECCコードを生成できる。従って、準備しておく必要のある検査パターン数を低減することができる。
【0056】
次に、上記式(3)は
C0= (D1+D6)+(D2+D5) +D0
C1= (D2+D5)+(D3+D4)+D1
C2=(D0+D7) +(D3+D4)+D2
C3=(D0+D7)+(D1+D6) +D3
のように書き換えることができる。このように書き換えても、各ECCコードの各ビットは式(3)の値と等価であることは容易に理解できる。すなわち、上記括弧でくくった演算結果を共用することができる。たとえば、(D0+D7)の値は、ECCコード中のビットC2とC3との演算に使用できる。従って、動作速度の向上を図ることができる。
【0057】
一方、ECCコードの生成式である式(3)に対応するシンドロームの生成式は、下記式(4)
S0=C0+D0+D1+D2 +D5+D6
S1=C1+ D1+D2+D3+D4+D5
S2=C2+D0 +D2+D3+D4 +D7
S3=C3+D0+D1 +D3 +D6+D7 (4)
で表される。また、上記式(4)は、
S0=(D1+D6)+(D2+D5) +(D0+C0)
S1= (D2+D5)+(D3+D4)+(D1+C1)
S2=(D0+D7) +(D3+D4)+(D2+C2)
S3=(D0+D7)+(D1+D6) +(D3+C3)
のように書き換えることができる。式(3)と式(4)とを比較すると、共通部分が多いことがわかる。したがって、ECCコードの生成と、シンドロームの生成とにおいても、回路を共用することができ、動作速度の向上を図ることができる。
【0058】
また、シンドロームの生成の結果、誤りが発見されたときに行なわれるデータの訂正は、下記式(5)
( S0・/S1・ S2・ S3)+D0→D0
( S0・ S1・/S2・ S3)+D1→D1
( S0・ S1・ S2・/S3)+D2→D2
(/S0・ S1・ S2・ S3)+D3→D3
(/S0・ S1・ S2・/S3)+D4→D4
( S0・ S1・/S2・/S3)+D5→D5
( S0・/S1・/S2・ S3)+D6→D6
(/S0・/S1・ S2・ S3)+D7→D7 (5)
に従って行われる。ただし、式(5)において、“・”は論理積を表し、“/”はデータの反転を表す。たとえば、“/S0”は、S0が”0”の時“1”を、S0が“1”の時“0”を表す。“→”は左辺の演算結果を右辺に代入することを表す。つまり、上記式(5)は、( )内が“0”であればデータが変化せず、( )内が“1”のときにデータが反転することを示している。たとえば、シンドロームが(1011)のときには、データビットD0が誤りであると判断されて、その値が反転するように訂正される。また、シンドロームが(1100)のときには、データビットD5が反転するように訂正されることになる。
【0059】
ここで、下記式(6)は、従来技術で説明した式()に対応する本実施形態のECC回路搭載半導体記憶装置で用いている検査行列Hを示す式である。
【0060】
【数2】
Figure 0003871471
【0061】
また、従来技術の説明において述べたように、シンドロームsは、下記式
s=(D0,D1…,D7,C0,…,C3)H
で表される。
【0062】
図9は、本実施形態における誤りビットとシンドロームとの関係を示す図である。
【0063】
−回路動作−
次に、本実施形態に係るECC回路搭載半導体記憶装置の回路動作について説明する。
【0064】
ECCコードを生成するときは、データバス入力制御回路10からデータバス2の8ビットのデータがECC回路7内に入力される。そして、ECCコード入力制御回路11により、ECC回路7への入力が”0”に固定される。そして、ECCコード・シンドローム生成回路16により、式(3)に基づくECCコードの生成が行われ、ECCコードバス出力制御回路12からECCコードバス3を介してメモリセルアレイに4ビットのECCコードが送られる。
【0065】
シンドロームを生成するときは、データバス2の8ビットのデータが、データバス入力制御回路10からECC回路7内に取り込まれる。また、メモリセルアレイからECCコードバス3に取り出された4ビットのECCコードが、ECCコード入力制御回路11からECC回路7内に取り込まれる。そして、ECCコード・シンドローム生成回路16により、式(4)に基づくシンドロームの生成が行なわれた後、データ訂正回路17により、必要に応じて式(5)に基づくデータの訂正が行なわれる。さらに、出力制御回路8から半導体記憶装置の外部のデバイスに8ビットのデータが出力される。
【0066】
以上のように、本実施形態におけるECC回路搭載半導体記憶装置の回路動作によると、上述のようにECCコードの各ビットを算出する際のデータのビット数を均一にしているので(式(3)参照)、ECCコードを生成する際の各ECCコードビットの回路遅延を等しくすることができ、よって、ECCコード生成の際の動作の円滑化を図ることができる。
【0067】
なお、ECCコードの各ビットを算出するための式(3)においては、すでに説明したように、データビットの任意の2ビットの入れ替えを複数回行ってもよいし、シンドロームの各ビットを算出する際の式(4)においても、データビットの任意の2ビットの入れ替えを複数回行ってもよい。
【0068】
また、上記式(3)において、C0とC1とを入れ替えると、
C0= D1+D2+D3+D4+D5
C1=D0+D1+D2 +D5+D6
C2=D0 +D2+D3+D4 +D7
C3=D0+D1 +D3 +D6+D7 (3)
のようになる。このように、ECCコードビットの任意の2ビットの入れ替えを複数回行ってもよい。
【0069】
なお、16ビットのデータ(D0−D15)と5ビットのECCコード(C0−C4)とを用いる場合には、以下の式
C0=D0+D1+D3+D4+D6+D8+D9 +D13+D14
C1=D1+D2+D3+D7+D8+D9+D10+D11+D12
C2=D0+D2+D3+D5+D6+D9+D10+D12+D13
C3=D4+D5+D6+D7+D8+D9+D10+D11+D15
C4=D0+D1+D2+D4+D5+D7+D10+D14+D15
によって、ECCコードを算出することができる。
【0070】
(第2の実施形態)
図4は、第2の実施形態に係るECC回路搭載半導体記憶装置のメモリセルアレイ5の構成を模式的に示す図である。同図に示すように、メモリセルアレイ5内は4つのメモリブロック9に分けられており、各メモリブロック9ごとにデータ記憶領域9aとECCコード記憶領域9bとが設けられている。そして、メモリセルアレイ5中の行の番号をX=0,1,2,…,255とし、各メモリブロック9の番号をY=0,1,2,3とする。そして、1つのメモリセルブロック9におけるデータ記憶領域9aとECCコード記憶領域9bとによって1つのワードに対応するメモリセルブロックが構成されており、これを“単位ワードブロック”とする。
【0071】
ここで、本実施形態においても、第1の実施形態において説明した式(3)を用いて、8ビットのデータから4ビットのECCコードを生成するものとする。つまり、第1の実施形態と同様に、8ビットのデータパターンから、同じ種類のパターンが4ビットのECCコードパターンとして生成されるという特徴をそのまま有している。
【0072】
このECCコードパターンは以下の規則性を有している。すなわち、添字が偶数であるECCコードビットを演算する式に、添字が偶数であるデータビットの奇数個と、添字が奇数であるデータビットの偶数個とを割り当てる。たとえば、ECCコードにおいて添字が偶数であるビットCOには、添字が偶数であるデータビットの奇数個(D0,D2,D6)と、添字が奇数であるデータビットの偶数個(D1,D5)とが割り当てられている。一方、添字が奇数であるECCコードビットを演算する式には、添字が奇数であるデータビットの奇数個と、添字が偶数であるデータビットの偶数個とを割り当てる。たとえば、ECCコードにおいて添字が奇数であるビットC1には、添字が奇数であるデータビットの奇数個(D1,D3,D5)と、添字が偶数であるデータビットの偶数個(D2,D4)とが割り当てられている。
【0073】
以上のような規則性に従って生成できる検査パターンにおける具体的なデータビットとECCコードビットとの対応の例を以下に示す。
【0074】
パターン名 (D0 〜 D7)(C0 〜 C3)
ALL0 (0 0 0 0 0 0 0 0)(0 0 0 0)
ALL1 (1 1 1 1 1 1 1 1)(1 1 1 1)
チェッカー (0 1 0 1 0 1 0 1)(0 1 0 1)
チェッカーバー (1 0 1 0 1 0 1 0)(1 0 1 0)
まず、メモリセルアレイ5内のすべてのメモリセル(データ記憶領域及びECCコード記憶領域を含む)に“0”のデータを書き込むときには、メモリセルアレイ5内の全てのアドレスのデータビット(又はECCコードビット)を全て“0”として書き込みを行う。次に、メモリセルアレイ5内のすべてのメモリセルに“1”のデータを書き込むときには、メモリセルアレイ5内の全てのアドレスのデータビット(又はECCコードビット)を全て“1”として書き込みを行う。
【0075】
次に、メモリセルアレイ5全体にチェッカーパターンを書き込むときには、行番号X=0である全てのアドレスの単位ワードブロック21には“0”から始まり交互に“0”,“1”を繰り返すパターンである部分チェッカーパターンを書き込む。行番号X=1である全てのアドレスの単位ワードブロック21には“1”から始まり交互に“1”,“0”を繰り返すパターンである部分チェッカーバーパターンを書き込む。さらに、行番号X=2である全てのアドレスの単位ワードブロック21には部分チェッカーパターンを書き込む。つまり、行番号Xが偶数であるアドレスの全ての単位ワードブロック21には部分チェッカーパターンを、行番号Xが奇数であるアドレスの全ての単位ワードブロック21には部分チェッカーバーパターンを書き込むことにより、メモリセルアレイ5の全体にチェッカーパターンを書き込むことができる。
【0076】
図5は、上述の手順によって、メモリセルアレイ5の全体にチェッカーパターンが書き込まれた状態を示す図である。
【0077】
また、メモリセルアレイ5に、行方向のストライプパターン(横縞)を書き込むときには、たとえば行番号Xが偶数であるアドレスの全ての単位ワードブロック21には部分ALL0パターンを、行番号Xが奇数であるアドレスの全ての単位ワードブロック21には部分ALL1パターンを書き込む。メモリセルアレイ5に、列向のストライプパターン(縦縞)を書き込むときには、たとえば各行の全ての単位ワードブロック21に部分チェッカーパターンを書き込むか、各行の全ての単位ワードブロック21に部分チェッカーバーパターンを書き込む。
【0078】
以上のように、本実施形態においては、ECCコードを生成するために規則として、添字が偶数であるECCコードビットを演算する式に、添字が偶数であるデータビットの奇数個と、添字が奇数であるデータビットの偶数個とを割り当てる一方、添字が奇数であるECCコードビットを演算する式には、添字が奇数であるデータビットの奇数個と、添字が偶数であるデータビットの偶数個とを割り当てるようにしている。これにより、部分チェッカーパターンのデータを利用して部分チェッカーパターンのECCコードを、部分チェッカーバーパターンのデータを利用して部分チェッカーバーパターンのECCコードを、部分ALL0パターンのデータを利用して部分ALL0パターンのECCコードを、部分ALL1パターンのデータを利用して部分ALL1パターンのECCコードをそれぞれ生成することができる。そして、このような各種のパターンを用いてメモリセルアレイ5中の各メモリセルの検査を行なうことにより、縦横斜め方向に隣接したメモリセル(ビット)間の干渉等の不良を検出することができる。
【0079】
従って、第2の実施形態のECCコードの生成方法によると、データのパターンを利用して同じ種類のパターンのECCコードパターンを生成できるので、別途ECCコード専用の検査パターンを準備しなくても、メモリ検査において、縦横斜め方向に隣接したメモリセル(ビット)間の干渉等の不良を検出することができるという利点がある。
【0080】
(第3の実施形態)
図6は、第3の実施形態に係るECC回路搭載半導体記憶装置の構成を示すブロック図である。
【0081】
同図に示すように、本実施形態におけるECC回路搭載半導体記憶装置の構成は、第1の実施形態と同様である(図1参照)。本実施形態においては、ECC回路搭載半導体記憶装置中の入力制御回路1に検査パターンを出力し、出力制御回路8から検査パターンを入力してメモリ検査を行うテスト回路22が配設されており、このテスト回路22の検査方法に特徴がある。
【0082】
上記従来技術において説明したように、1ビットまで訂正可能なECC回路搭載半導体記憶装置においてECC回路搭載メモリブロックの外部とのECCコード入出力のための信号線を用いずにメモリの検査を行うためには、データビットのみの検査で1ワード中に含まれる2ビット以上の不良を検出する必要がある。しかし、従来行われているようなメモリの検査パターンでは2ビット以上の不良を検出できない。たとえば、検査パターンとして
(D0 D1 D2 D3 D4 D5 D6 D7)
ALL0 ( 0 0 0 0 0 0 0 0)
ALL1 ( 1 1 1 1 1 1 1 1)
チェッカー ( 0 1 0 1 0 1 0 1)
チェッカーバー( 1 0 1 0 1 0 1 0)
の4パターンを使用していると、D0が“0”に、D2が“1”に固定された不良モードはそれぞれの4パターンでは1ビット誤りとして認識されるため検出できない。
【0083】
ここで、本実施形態においては、テスト回路22の発生するデータビットのパターンとして、
( D0 D1 D2 D3 D4 D5 D6 D7 C0 C1 C2 C3 )
パターン1( 0 0 0 0 0 0 0 0 0 0 0 0 )
パターン2( 1 1 1 1 1 1 1 1 1 1 1 1 )
パターン3( 0 1 0 1 0 1 0 1 0 1 0 1 )
パターン4( 1 0 1 0 1 0 1 0 1 0 1 0 )
パターン5( 0 0 1 1 0 0 1 1 0 0 1 1 )
パターン6( 1 1 0 0 1 1 0 0 1 1 0 0 )
パターン7( 1 1 1 1 0 0 0 0 1 1 1 1 )
パターン8( 0 1 0 1 1 1 1 1 1 0 1 0 )
パターン9( 1 0 1 0 1 1 1 1 0 1 0 1 )
の9パターンを使用する。以上の9パターンを作成する上でのルールとして、相隣接していないビット同士も含め、任意の2ビットに着目したときにその2ビットのパターンとして
(0 0)
(0 1)
(1 0)
(1 1)
の4通りのパターンが必ず含まれるように作られている。テスト回路22による9パターンで検査を行うことで、不良の発生した任意の2ビットはいずれか1つ以上のパターンで2ビット不良として検出することができる。パターンを発生するテスト回路22を設けることにより、ECC回路搭載半導体記憶装置のメモリセルアレイ中のデータビット及びECCコードビットの双方について2ビット以上の不良を検出しうる検査方法を提供することができる。
【0084】
また、このようなテスト回路22は、半導体チップ内に組み込んでも組み込まなくてもよいが、テスト回路22を半導体チップ内に組み込むことにより、外部デバイスとの入出力信号線を増やさずにメモリの2ビット以上の誤りを検出する検査手法を提供することができる。
【0085】
なお、2ビット不良を検出する検査パターンを発生するテスト回路22は、マイクロプロセッサを用いても実現できる。
【0086】
図7は、テスト回路22に代えて、マイクロプロセッサ23によって、本実施形態のテスト方法を行なうように構成した例を示すブロック図である。この場合、メモリ・ロジック混載型半導体装置に適した構造が得られる。
【0087】
なお、テスター等のハードウェアを別途設けることにより直接メモリのデータビットにアクセスすることでも実現できる。
【0088】
(第4の実施形態)
図8は、第4の実施形態に係るECC回路搭載半導体記憶装置の構成の一部(特にECC回路)を示す回路図である。ECC回路搭載半導体記憶装置全体の構成は、図1に示すとおりである。
【0089】
図8に示すように、本実施形態におけるECC回路25は、図2に示すECC回路7の構成に加えて、データバス2から取り込んだデータ(D0,D1,D2,D3)をECCコード生成用の排他的論理ゲートに入力するか否かを制御するためのデータバス入力テスト制御回路26と、データバス入力制御回路10からの入力とデータ訂正回路17からの入力とを切り替えて出力制御回路8に送るセレクタゲート27とを備えている。
【0090】
以下、以上のように構成されたECC回路25について、通常書き込み動作・テストモード書き込み動作・通常読み出し動作・テストモード読み出し動作を示す演算と、対応する回路動作とを説明する。
【0091】
通常書き込み動作は、8ビットのデータビットから4ビットのECCコードを生成する式として、第1の実施形態で示した式(3)を用いて行なう。また、通常読み出しのシンドローム生成は、第1の実施形態で示した式(4)を用いて行なう。
【0092】
一方、テストモード書き込みのためには、下記式(7)
C0= (D1+D6)+(D2+D5)
C1= (D2+D5)+(D3+D4)
C2=(D0+D7) +(D3+D4)
C3=(D0+D7)+(D1+D6) (7)
を使用する。また、テストモード読み出しにおいては、読み出した8ビットのデータをそのまま出力する。
【0093】
ここで、テストモード書き込み動作のための式(7)の特徴は、ECCコードを生成する式(3)中の右辺のうちの1つのビット(D0,D1,D2,D3)がそれぞれ省かれていることである。この操作を行なうために、ECC制御回路25中のデータバス入力テスト制御回路26によって、8ビットのデータ中の最初の4ビットのデータ(D0,D1,D2,D3)の通過を遮断する。
【0094】
そして、テストモード書き込みの後、通常読み出しを行うと、ビット誤りが存在しないときのシンドローム(S0,S1,S2,S3)は、式(7)を式(4)に代入して求められ、(0,0,0,0)ではなく(D0,D1,D2,D3)と等しくなる。つまり、外部から入力するデータビットにより任意のシンドロームを設定できる。
【0095】
次に、回路動作について説明する。テストモード書き込みを行うときは、データバス入力制御回路10は、データバス2の8ビットのデータをECC回路25内に入力する。データバス入力テスト制御回路26は、ECCコード・シンドローム生成回路16への出力を“0”に固定する。ECCコード入力制御回路11は、ECC回路25への入力を“0”に固定する。式(7)に対応するECCコード・シンドローム生成回路16によりECCコード生成が行われ、ECCコードバス出力制御回路12からECCコードバス3へと4ビットのテスト用ECCコードが出力される。
【0096】
シンドロームを生成するときは、データバス入力制御回路10はデータバス2の8ビットのデータをECC回路25内に入力する。セレクタゲート27は、入力された8ビットのデータをそのまま出力制御回路8から外部のデバイスに出力する。
【0097】
データ訂正回路17の検査を行なうためには、データビットD0,D1,D2,D4を、対応して修正するシンドロームS0,S1,S2,S3と同じパターンにする。つまり、図9に示すシンドロームS0,S1,S2,S3のパターンの各行と同じパターンにすれば複合機能の検査を行なうことができる。例として、データビットD0,D1,D2,D4を図9のシンドロームS0,S1,S2,S3の1行目に示しているパターン(1,0,1,1)にしてテストモード書き込みを行ない、通常読み出しを行なうと、シンドロームS0,S1,S2,S3は(1,0,1,1)になるので、対応するデータであるD0の値は反転して出力される。その結果、読み出されるデータビットD0,D1,D2,D4が(0,0,1,1)であることを確認することにより、データビットD0を訂正する複合機能の検査を行なうことができる。
【0098】
このように第4の実施形態によれば、対応する訂正ビットが存在するシンドロームが生成されるようにECCコードビットを設定する手段を設けることにより、ECC回路25中の複合機能の検査を行なうことができ、ECC回路搭載半導体記憶装置の信頼性を確保することができる。
【0099】
また、ECCコード記憶領域9bの検査を行うためには、データビットD0,D1,D2,D3を全て“1”にしてテストモード書き込みを行う。ビット誤りが存在しない場合でもシンドロームは(0,0,0,0)ではなく(1,1,1,1)になる。この(1,1,1,1)というシンドロームは、
1.対応して修正するビットは存在しない
2.ECCコードに1ビット誤りが存在すると、シンドロームの1ビットが反転し、対応するデータビットの訂正を必ず行う
という2つの特徴がある。そのため、通常読み出し時に、ビット誤りが存在しない場合、書き込みを行ったデータと同じデータを読み出すことができる。
【0100】
しかしながら、ECCコード(C0,C1,C2,C3)に誤りが1ビット存在すると、シンドローム(S0,S1,S2,S3)は
(1,0,1,1)(C1が誤っているとき)
(1,1,0,1)(C2が誤っているとき)
(1,1,1,0)(C3が誤っているとき)
(0,1,1,1)(C0が誤っているとき)
のいずれかになり、通常読み出し時にそれぞれD0,D1,D2,D3が反転され出力される。すなわち、ECCコード中の1つのビットの不良が検出され、ECCコード記憶領域の検査を行うことができる。
【0101】
下記表1は、ECCコード領域の考えられる全ての不良のパターンとそれを検出するためのテストモード書き込みのパターンを列挙したものである。
【0102】
【表1】
Figure 0003871471
【0103】
以上のように、第4の実施形態によれば、対応する訂正ビットが存在しないシンドロームが生成されるようにECCコードビットを設定する手段を設けることにより、メモリセルアレイ5内のECCコード領域9aの検査を行うことができ、ECC回路搭載半導体記憶装置の信頼性を確保することができる。
【0104】
【発明の効果】
本発明のECC回路搭載半導体記憶装置によると、ECC回路自体の構成の簡略化を図りつつ、各種の検査パターンを自在に盛り込むことを可能にすることにより、機能の高い半導体記憶装置の提供を図ることができる。
【0105】
本発明のECC回路搭載半導体記憶装置の検査方法によると、半導体記憶装置の信頼性を確保するための検査を簡便に行なうことができる。
【図面の簡単な説明】
【図1】 本発明の第1の実施形態におけるECC回路搭載半導体記憶装置の構成を概略的に示すブロック図である。
【図2】 本発明の第1の実施の形態におけるECC回路の回路図である。
【図3】 本発明の第1の実施形態におけるECCコードバス入力制御回路の構成を概略的に示す回路図である。
【図4】 本発明の第2の実施形態におけるメモリセルアレイの構成を模式的に示す図である。
【図5】 本発明の第2の実施形態におけるメモリセルアレイにチェッカーパターンを書き込んだ状態を示す図である。
【図6】 本発明の第3の実施形態におけるECC回路搭載半導体記憶装置の構成を概略的に示すブロック図である。
【図7】 本発明の第3の実施形態の変形例におけるECC回路搭載半導体記憶装置の構成を概略的に示すブロック図である。
【図8】 本発明の第4の実施形態におけるECC回路の回路図である。
【図9】 本発明の第5の実施形態における誤りビットとシンドロームとの関係を示す図である。
【図10】 第1の従来例におけるECC回路搭載半導体記憶装置の構成を概略的に示すブロック図である。
【図11】 第2の従来例におけるECC回路搭載半導体記憶装置の構成を概略的に示すブロック図である。
【図12】 従来例における誤りビットとシンドロームとの関係を示す図である。
【符号の説明】
1 入力制御回路
2 データバス
3 ECCコードバス
4 カラムデコーダ
5 メモリセルアレイ
6 ビット線群
7 ECC回路
8 出力制御回路
9 メモリブロック
9a データ記憶領域
9b ECCコード記憶領域
10 データバス入力制御回路
11 ECCコードバス入力制御回路
12 ECCコードバス出力制御回路
13 排他的論理和ゲート
14 インバータゲート
15 論理積ゲート
16 ECCコード・シンドローム生成回路
17 データ訂正回路
18 CMOSトランスファゲート
19 Nチャネル型MOSトランジスタ
21 単位ワードブロック
22 テスト回路
23 CPU
25 ECC回路
26 データバス入力テスト制御回路
27 セレクタゲート

Claims (5)

  1. 複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、
    上記データの各ビットを記憶するためのデータ記憶手段と、
    上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、
    上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段と、
    検査モード時に、上記ECCコード生成手段に与えるデータの各ビットの値を任意に変更させるデータ入力制御手段とを備え、
    上記復号手段は、検査モード時には検査用の任意のシンドロームを生成する機能を有することを特徴とするECC回路搭載半導体記憶装置。
  2. 複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、
    上記データの各ビットを記憶するためのデータ記憶手段と、
    上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、
    上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段と、
    検査モード時に、上記ECCコード生成手段に与えるデータの各ビットの値を変更させるデータ入力制御手段とを備え、
    上記復号手段は、検査モード時には、対応して訂正するデータビットが存在しないパターンであって、そのパターンのうちいずれか1つのビットが反転しても対応して訂正すべきデータビットが存在するシンドロームパターンを生成する機能を有することを特徴とするECC回路搭載半導体記憶装置。
  3. 複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたECC回路搭載半導体記憶装置の検査方法であって、
    任意の2ビットにおいて(0 0),(0 1),(1 0),(1 1)の4通りのパターンが含まれるメモリ検査用データとメモリ検査用ECCコードとを生成することを特徴とするECC回路搭載半導体記憶装置の検査方法。
  4. 複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたECC回路搭載半導体記憶装置の検査方法であって、
    データから上記ECCコードとは異なるパターンを有する検査用ECCコードを生成し、検査用の任意のシンドロームを生成することを特徴とするECC回路搭載半導体記憶装置の検査方法。
  5. 複数のビットからなるデータに基づいて、複数のビットからなるECCコードを生成するためのECCコード生成手段と、上記データの各ビットを記憶するためのデータ記憶手段と、上記ECCコードの各ビットを記憶するためのECCコード記憶手段と、上記データ記憶手段のデータと上記ECCコード記憶手段のECCコードとに基づいて誤り訂正のためのシンドロームを演算処理し、上記データの各ビットの誤りを訂正する機能を有する復号手段とを備えたECC回路搭載半導体記憶装置の検査方法であって、
    検査モード時には、対応して訂正するデータビットが存在しないパターンであって、そのパターンのうちいずれか1つのビットが反転しても対応して訂正すべきデータビットが存在するシンドロームパターンを生成することを特徴とするECC回路搭載半導体記憶装置の検査方法。
JP19690399A 1999-07-12 1999-07-12 Ecc回路搭載半導体記憶装置及びその検査方法 Expired - Fee Related JP3871471B2 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP19690399A JP3871471B2 (ja) 1999-07-12 1999-07-12 Ecc回路搭載半導体記憶装置及びその検査方法
EP05023775A EP1619582A3 (en) 1999-07-12 2000-07-04 Semiconductor memory device with an ECC circuit and method of testing the memory
DE60034403T DE60034403T2 (de) 1999-07-12 2000-07-04 Halbleiterspeicheranordnung mit einer Fehlerkorrekturkodeschaltung und Verfahren zur Prüfung eines Speichers
EP00114325A EP1069503B1 (en) 1999-07-12 2000-07-04 Semiconductor memory device with an ECC circuit and method of testing the memory
US09/613,631 US6938193B1 (en) 1999-07-12 2000-07-11 ECC circuit-containing semiconductor memory device and method of testing the same
TW089113922A TW591665B (en) 1999-07-12 2000-07-12 ECC circuit-containing semiconductor memory device and method of testing the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19690399A JP3871471B2 (ja) 1999-07-12 1999-07-12 Ecc回路搭載半導体記憶装置及びその検査方法

Publications (2)

Publication Number Publication Date
JP2001023394A JP2001023394A (ja) 2001-01-26
JP3871471B2 true JP3871471B2 (ja) 2007-01-24

Family

ID=16365572

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19690399A Expired - Fee Related JP3871471B2 (ja) 1999-07-12 1999-07-12 Ecc回路搭載半導体記憶装置及びその検査方法

Country Status (5)

Country Link
US (1) US6938193B1 (ja)
EP (2) EP1069503B1 (ja)
JP (1) JP3871471B2 (ja)
DE (1) DE60034403T2 (ja)
TW (1) TW591665B (ja)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7111224B1 (en) * 2001-02-28 2006-09-19 Xilinx, Inc. FPGA configuration memory with built-in error correction mechanism
EP1286360A3 (en) * 2001-07-25 2006-12-06 Hewlett-Packard Company Manufacturing test for a fault tolerant magnetoresistive solid-state storage device
US7073099B1 (en) * 2002-05-30 2006-07-04 Marvell International Ltd. Method and apparatus for improving memory operation and yield
US7376887B2 (en) * 2003-12-22 2008-05-20 International Business Machines Corporation Method for fast ECC memory testing by software including ECC check byte
US6988237B1 (en) 2004-01-06 2006-01-17 Marvell Semiconductor Israel Ltd. Error-correction memory architecture for testing production errors
JP2005228039A (ja) 2004-02-13 2005-08-25 Toshiba Corp 半導体装置及びそのメモリテスト方法
US7293206B2 (en) * 2004-09-13 2007-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Test data pattern for testing a CRC algorithm
DE102004060368A1 (de) * 2004-12-15 2006-07-06 Infineon Technologies Ag Verfahren zur Erzeugung eines Fehlercodes, Schnittstellenanordnung und deren Verwendung
US7721178B2 (en) * 2006-06-01 2010-05-18 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code
US20070283223A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with all checkbits transferred last
US20070283207A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus timing improvements
US20070283208A1 (en) * 2006-06-01 2007-12-06 International Business Machines Corporation Systems, methods, and computer program products for providing a two-bit symbol bus error correcting code with bus diagnostic features
US8595573B2 (en) * 2006-12-03 2013-11-26 Apple Inc. Automatic defect management in memory devices
JP4853650B2 (ja) * 2007-01-25 2012-01-11 ラピスセミコンダクタ株式会社 不揮発性半導体記憶装置及びそのアクセス評価方法。
US8020115B2 (en) * 2007-04-09 2011-09-13 Infineon Technologies Ag Apparatus, method and system for permanent storage of data
WO2008155678A1 (en) * 2007-06-20 2008-12-24 Nxp B.V. Detection of defective data sequences
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
JP5309938B2 (ja) * 2008-12-05 2013-10-09 富士通株式会社 要求処理装置、要求処理システムおよびアクセス試験方法
EP2256634A1 (en) * 2009-05-27 2010-12-01 Robert Bosch Gmbh A data processing device and a method for error detection and error correction
US20110219266A1 (en) * 2010-03-04 2011-09-08 Qualcomm Incorporated System and Method of Testing an Error Correction Module
US8694862B2 (en) * 2012-04-20 2014-04-08 Arm Limited Data processing apparatus using implicit data storage data storage and method of implicit data storage
JP6018508B2 (ja) 2013-01-09 2016-11-02 エスアイアイ・セミコンダクタ株式会社 不揮発性半導体記憶装置及びそのテスト方法
US9519539B2 (en) * 2014-10-24 2016-12-13 Macronix International Co., Ltd. Monitoring data error status in a memory
JP6395185B2 (ja) * 2015-02-19 2018-09-26 ラピスセミコンダクタ株式会社 半導体記憶装置のテスト方法及び半導体記憶装置
EP3370152B1 (en) * 2017-03-02 2019-12-25 INTEL Corporation Integrated error checking and correction (ecc) in memory devices with fixed bandwidth interfaces
EP3454216B1 (en) * 2017-09-08 2020-11-18 Nxp B.V. Method for protecting unauthorized data access from a memory
US10795759B2 (en) * 2018-09-10 2020-10-06 Micron Technology, Inc. Apparatuses and methods for error correction coding and data bus inversion for semiconductor memories
KR20220168737A (ko) * 2021-06-17 2022-12-26 삼성전자주식회사 반도체 메모리 장치
EP4120083A1 (en) 2021-07-13 2023-01-18 STMicroelectronics Application GmbH Processing system, related integrated circuit, device and method

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4201337A (en) 1978-09-01 1980-05-06 Ncr Corporation Data processing system having error detection and correction circuits
JPS6051749B2 (ja) 1979-08-31 1985-11-15 富士通株式会社 エラ−訂正方式
US4335459A (en) * 1980-05-20 1982-06-15 Miller Richard L Single chip random access memory with increased yield and reliability
US4561095A (en) * 1982-07-19 1985-12-24 Fairchild Camera & Instrument Corporation High-speed error correcting random access memory system
US4730320A (en) * 1985-02-07 1988-03-08 Mitsubishi Denki Kabushiki Kaisha Semiconductor memory device
JPS6273500A (ja) * 1985-09-26 1987-04-04 Mitsubishi Electric Corp 半導体記憶装置
JPH01196647A (ja) * 1988-01-31 1989-08-08 Nec Corp 誤り訂正機能を有する記憶装置
US4888773A (en) * 1988-06-15 1989-12-19 International Business Machines Corporation Smart memory card architecture and interface
JPH0387000A (ja) * 1989-08-30 1991-04-11 Mitsubishi Electric Corp 半導体記憶装置
JPH0554697A (ja) 1991-08-23 1993-03-05 Sharp Corp 半導体メモリ
US5502732A (en) * 1993-09-20 1996-03-26 International Business Machines Corporation Method for testing ECC logic
US5463643A (en) * 1994-03-07 1995-10-31 Dell Usa, L.P. Redundant memory channel array configuration with data striping and error correction capabilities
US5487077A (en) * 1994-05-23 1996-01-23 International Business Machines Corporation Location dependent variable error correction processing for multi-track recording media using variable length coding means
JP3039455B2 (ja) 1997-06-30 2000-05-08 日本電気株式会社 半導体メモリ装置テスト方法及び半導体メモリ装置

Also Published As

Publication number Publication date
EP1069503B1 (en) 2007-04-18
EP1069503A3 (en) 2004-10-27
EP1619582A2 (en) 2006-01-25
JP2001023394A (ja) 2001-01-26
DE60034403T2 (de) 2007-08-16
EP1619582A3 (en) 2006-09-06
US6938193B1 (en) 2005-08-30
TW591665B (en) 2004-06-11
EP1069503A2 (en) 2001-01-17
DE60034403D1 (de) 2007-05-31

Similar Documents

Publication Publication Date Title
JP3871471B2 (ja) Ecc回路搭載半導体記憶装置及びその検査方法
US7555699B2 (en) Storage control circuit, and method for address error check in the storage control circuit
JPH0668700A (ja) 半導体メモリ装置
JPS63115239A (ja) エラ−検査訂正回路
JPS6042560B2 (ja) 半導体記憶装置
US5691996A (en) Memory implemented error detection and correction code with address parity bits
JPS62117200A (ja) 自己テスト機能付き半導体メモリおよび自己テスト方法
JPH1125689A (ja) 半導体メモリ装置テスト方法及び半導体メモリ装置
JP2008059711A (ja) 半導体記憶装置
US20230368860A1 (en) Memory and operation method of memory
TWI249170B (en) Semiconductor storage device and evaluation method
JPS59200349A (ja) 誤り訂正回路用診断回路
JP2845804B2 (ja) データメモリ保持確認回路
JPS5826120B2 (ja) 記憶装置
JPH04341998A (ja) メモリ回路
JP4397699B2 (ja) 半導体集積回路
JP3600562B2 (ja) 半導体記憶装置
JPH01165099A (ja) 半導体記憶装置
JPS62165254A (ja) Ecc回路付記憶装置
JPH02267649A (ja) 誤り訂正装置の診断回路
JP2010113741A (ja) 半導体記憶装置、および、パリティビット発生回路の故障検出方法
JPS6010661B2 (ja) 誤り検査方式
JPS61192100A (ja) 半導体記憶装置
JPS6232822B2 (ja)
JPS6013492B2 (ja) 誤り検出訂正方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060511

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060523

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060719

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20061017

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20091027

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20101027

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20111027

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20121027

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees