JP2003157697A - 半導体記憶装置 - Google Patents
半導体記憶装置Info
- Publication number
- JP2003157697A JP2003157697A JP2001356571A JP2001356571A JP2003157697A JP 2003157697 A JP2003157697 A JP 2003157697A JP 2001356571 A JP2001356571 A JP 2001356571A JP 2001356571 A JP2001356571 A JP 2001356571A JP 2003157697 A JP2003157697 A JP 2003157697A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- data
- bit
- bits
- error
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/65—Purpose and implementation aspects
- H03M13/6566—Implementations concerning memory access contentions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
- H03M13/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
- H03M13/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
- H03M13/158—Finite field arithmetic processing
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Probability & Statistics with Applications (AREA)
- General Physics & Mathematics (AREA)
- Pure & Applied Mathematics (AREA)
- Algebra (AREA)
- General Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Error Detection And Correction (AREA)
- Detection And Correction Of Errors (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
- Read Only Memory (AREA)
Abstract
てチップの集積度を向上させる。 【解決手段】 I/O端子1040〜1047とページバ
ッファ1020〜1027との間に、複数のメモリセルエ
リア1010〜1017に書き込むデータに対して誤り訂
正用の検査ビットECCを生成して付加する符号化器及
び生成された検査ビットECCを使用してメモリセルエ
リア1010〜1017から読み出されたデータに対して
誤り訂正処理を行う復号器を備えたECC回路103と
を備える。ECC回路103は、1つのメモリセルエリ
ア101jに対する書き込み及び読み出しの単位となる
528ビットの8倍の4224ビットを情報ビット長と
して1つの40ビットの検査ビットECCを割り当て、
符号化処理及び復号処理を8ビットで並列に実行する。
Description
シュメモリ等の半導体記憶装置に係り、特に、チップ内
に誤り訂正機能を持たせた半導体記憶装置に関する。
えを繰り返すとセルの特性が劣化すること、及び長時間
放置するとデータ化けすることが知られている。したが
って、この種のNAND型フラッシュメモリの信頼性を
上げるため、従来より、チップ内に誤り検出訂正用のE
CC(Error Correcting Code)回路を搭載した半導体
メモリが提案されている(例えば特開平2000−34
8497号、特開平2001−14888号等)。
AND型フラッシュメモリの構成を簡略的に示すブロッ
ク図である。このメモリは、8つのメモリセルエリア1
0,11,…,17から構成されている。各メモリセルエ
リア10〜17は、マトリクス状に配列された図示しない
複数のメモリセルからなり、共通のワード線に接続され
た528個のメモリセルに対して528本のビット線を
介して528ビットのデータ(=1ページ)を一括して
書き込み及び読み出しができるようになっている。各メ
モリセルエリア10〜17には、528ビットの書き込み
データ及び読み出しデータを保持するページバッファ2
0〜27が接続されている。ページバッファ20〜27と、
各メモリセルエリア10〜17毎に設けられたI/O端子
40〜47との間には、各メモリセルエリア10〜17毎に
ECC回路30〜37がそれぞれ設けられている。
リア10〜17に記憶される1ページ分(528ビット)
の情報ビットに対し、所定ビット数の検査ビット(EC
C)を付加する符号化機能と、検査ビットが付加された
情報ビットから所定ビット数の誤り検出及び誤り訂正を
行う復号機能とを備えたもので、誤り訂正符号として、
例えば比較的少ない回路規模で複数ビットの誤り訂正が
可能なBCH(Bose-Chaudhuri-Hocquenghem)符号が使
用されている。外部とメモリとの間は、例えばメモリセ
ル数に対応する8ビット単位でデータがリード・ライト
される。従って、各ECC回路30〜37には、1ビット
ずつデータが入力され、内部の巡回型シフトレジスタを
1ビットずつ巡回し、1ビットずつ出力することで、符
号化処理及び復号処理が実行される。
回路30〜37の符号化及び復号動作ついて説明する。な
お、情報ビット数528ビットで、2ビット誤り訂正3
ビット誤り検出を行うBCH符号の検査ビット数は21
ビットになるが、ここでは説明を簡単にするため、情報
ビット数k=7、符号長n=15、訂正ビット数t=2
の2ビット誤り訂正3ビット誤り検出が可能なBCH符
号を用いた誤り検出・訂正方式を例にとり説明する。こ
の場合の符号化、復号化に必要な生成多項式は以下のよ
うになることが一般に知られている。
は7)の内部に機能的に構成される符号化回路10を示
すブロック図である。この符号化回路10は、レジスタ
D7,D6,D5,D4,D3,D2,D1,D0からなるシフ
トレジスタ11と、モジュロ2の演算を行うXOR回路
121,122,123,124と、切替スイッチSW1,
SW2とから構成されている。
シフトレジスタ11の値をそれぞれX倍することに相当
する。いま、シフトレジスタ11に格納されたデータの
値を、次のように表す。
5X5+a6X6+a7X7 [但しaiはレジスタDiに格納された値でai=0又は
1(i=0〜7)]
5X6+a6X7+a7X8
8=X7+X6+X4+1の関係があるため、数3は、
a7)X4+a4X5+(a5+a7)X6+(a6+a7)X7
させた際に、レジスタD7の値a7をレジスタD0に格納
し、レジスタD3,D7の値a3,a7をXOR回路121
で足し込んでレジスタD4に格納し、レジスタD5,D7
の値a5+a7をXOR回路122で足し込んでレジスタ
D6に格納し、レジスタD6,D7の値a6+a7をXOR
回路123で足し込んでレジスタD7に格納することに相
当する。
W2がON側に接続され、I/O端子4iを介して外部
から入力データ(情報ビット)I0,I1,I2,I3,I
4,I5,I6(I0〜I6=0又は1)が1ビットずつ入
力される。入力データI0〜I6が1ビット入力される毎
に、シフトレジスタ11が1回動作する。データI0〜
I6が入力されている間はスイッチSW1はONである
ため、これらのデータがそのまま1ビットずつページバ
ッファ2iに出力される。同時に、データI0〜I6は、
XOR回路121でレジスタD7の値a7と足し込まれ、
順次シフトレジスタ11に格納されていく。データI0
〜I6のページバッファ2iへの入力が終了すると、シ
フトレジスタ11のレジスタD7,D6,D5,D4,
D3,D2,D1,D0の内部には検査ビットI7,I8,I
9,I10,I11,I12,I13,I14がそれぞれ格納され
た状態となる。その後、スイッチSW1,SW2は共に
OFF側に接続され、シフトレジスタ11が動作する毎
に、スイッチSW1を介して、検査ビットI7〜I14が
ページバッファ2iにシリアルに出力される。そして、
ページバッファ2iに格納された情報ビットと検査ビッ
トとがメモリセルエリア1iに記憶される。同時に、シ
フトレジスタ11の値はリセットされる。
ローム計算回路と、誤り位置検出回路とから構成され
る。2ビット誤り訂正の場合、復号に際して2つのシン
ドロームS1,S3が必要であり、これらは最小多項式M
1(x)=X4+X+1により求められることが知られて
いる。図23(a)は、従来のS1シンドローム計算回
路20を具体的に表した図、同図(b)は、従来のS3
シンドローム計算回路30を示す図である。
0は、最小多項式M1(x)に基づき、レジスタD3,D
2,D1,D0からなるシフトレジスタ21とXOR回路
221,222とにより構成されている。ここでシフトレ
ジスタ21を1回動かす動作はシフトレジスタ21の値
をX倍することに相当する。いま、シフトレジスタ21
に格納された値を、次のように表す。
1(i=0〜3)]
X4=X+1の関係があるため、
際に、レジスタD3の値a3をレジスタD0に格納し、レ
ジスタD0,D3の値a0,a3をXOR回路122で足し
込んでレジスタD1に格納することに相当する。メモリ
セルに記憶された情報ビットI0〜I6と検査ビットI7
〜I14とは、この順にS1シンドローム計算回路20に
1ビットずつ入力され、1ビット入力される毎に、シフ
トレジスタ21が1回動作する。全てのビットI0〜I
14が入力されたらシフトレジスタ21(D0〜D3)にシ
ンドロームS1が生成される。
30も、S1シンドローム計算回路20と同様にD3,D
2,D1,D0からなるシフトレジスタ31及びXOR回
路32 1,322,323,324からなり、最小多項式M
1(x)のX3回路により構成されている。S3シンドロ
ーム計算回路30では、シフトレジスタ31を1回動か
す動作はシフトレジスタ31の値をX3倍することに相
当する。いま、シフトレジスタ31に格納された値を数
5のように表し、これをX3すると、
X4=X+1の関係があるため、
(a0+a3)X3
際に、レジスタD1の値a1をレジスタD0に格納し、レ
ジスタD1,D2の値a1,a2をXOR回路322で足し
込んでレジスタD1に格納し、レジスタD2,D3の値
a2,a3をXOR回路323で足し込んでレジスタD2に
格納し、レジスタD0,D3の値a0,a3をXOR回路3
24で足し込んでレジスタD3に格納することに相当す
る。このS3シンドローム回路30にも、メモリセルに
記憶された情報ビットI0〜I6と検査ビットI7〜I14
とが、この順に1ビットずつ入力され、1ビット入力さ
れる毎に、シフトレジスタ31が1回動作する。全ての
ビットI0〜I14が入力されたらシフトレジスタ31
(D0〜D3)にシンドロームS3が生成される。
フローチャートである。まず、S1,S2シンドローム計
算回路20,30で、メモリセルエリア1iから読み出
された情報ビットと検査ビットからシンドロームS1,
S3を計算する(ステップS1)。シンドロームS1,S
3が、S1=S3=0の場合、エラー無しとして読み出さ
れた情報ビットがそのまま出力される(ステップS2,
S3,S4)。シンドロームS1,S3のうち、いずれか
一方のみが0のときには、訂正不能としてデータがその
まま出力される(ステップS2,S3,S5,S6,S
7)。S1≠0,S3≠0場合、計算を行ない、σ1=S1
2、σ2=S1 3+S3を求める(ステップS2,S6,S
8)。ここでσ2=0の場合(ステップS9)、1ビッ
トエラーがあることが分かるので、1ビット訂正して出
力する(ステップS10)。σ2≠0の場合(ステップ
S9)、2ビットエラーがあることが分かるので、2ビ
ット訂正して出力する(ステップS11)。
置多項式σ(Z)にZ=αI(I=0,1,2,3,
4,5,6)を順次代入することによって求められるこ
とが一般に知られている。σ(αI)=0となったiが
誤りの位置である。
検出回路の構成を図25及び図26に示す。図25は、
S1、σ1及びσ2を計算すると共に格納する第1の演算
部40aを示し、図26は、第1の演算部40aの演算
結果に基づいて数10の演算を行ってデータの誤り位置
を示す検出信号を出力する第2の演算部40bを示して
いる。第1の演算部40aは、図25に示すようにシフ
トレジスタ41、X演算回路42及びX2演算回路43
により構成されている。シフトレジスタ41aには、シ
ンドロームS1が格納され、シフトレジスタ42a,4
3aにはσ1=S 1 2、σ2=S1 3+S3の演算結果が格納
される。ここでシフトレジスタ42aの値を、
1(i=0〜3)]
するので、シフトレジスタ42aの値は、
X4=X+1の関係があるため、数12は、
際に、レジスタD3の値a3をレジスタD0に格納し、レ
ジスタD0,D3の値a0,a3をXOR回路42bで足し
込んでレジスタD1に格納することに相当する。
タ43aの値をX2倍するので、シフトレジスタ43a
の値に数11で示す値が格納されているとすると、これ
をX2倍することにより、シフトレジスタ43aの値
は、
X4=X+1の関係があるため、数14は、
際に、レジスタE2の値a2をレジスタE0に格納し、レ
ジスタE1の値a1をレジスタE3に格納し、レジスタ
E2,E3の値a2,a3をXOR回路43b1で足し込ん
でレジスタE1に格納し、レジスタE 0,E3の値a0,a
3をXOR回路43b2で足し込んでレジスタE2に格納
することに相当する。
トレジスタ41a,42a,43aを1回動作させるこ
とにより、X演算回路42では、σ1の項がZ倍され、
X2演算回路43では、σ2の項がZ2倍ずつされる。N
AND型フラッシュメモリでは、メモリセルに記憶され
た情報ビットをチップの外部に出力する際のトグル信号
に同期させてシフトレジスタ41a,42a,43aを
動かす。これにより、第2の演算部40bでは、XOR
回路44とNORゲート45とで演算された結果の出力
が、誤り位置となったところで1となり、この出力で対
応するデータIiを反転させることにより誤り検出訂正
が行われる。
号を用いた従来のECC回路では、1ビットの入力に対
し1回のシフト及び計算が基本動作となる。NAND型
フラッシュメモリでは、1つのアドレスに対して8IO
又は16IO等の単位で外部よりデータが並列に入力さ
れるため、各IO毎に誤り訂正させるか、この一度の入
力の間に8又は16回の計算を行なわなくてはならな
い。しかし、一度の入力の間に8又は16回の計算行な
うことは、この部分のみ高速で動作させることを意味
し、特別なプロセスなどが必要なため、現実には行なえ
ない。
(各I/O)毎にECC回路3iを設けて各メモリセル
エリア1i単位で誤り訂正を行うようにしている。この
場合、NAND型フラッシュメモリでは、1ページ(5
28バイト)単位でデータをリードしたり、プログラム
したりするので、各I/O毎に2ビット誤り訂正3ビッ
ト誤り検出をすると、情報ビット数は528ビット、検
査ビット数は21ビットとなり、チップ全体で合計21
×8=168ビットの余分な検査ビットが必要になる。
これがチップの集積度を高める際の阻害要因となってい
た。
たもので、情報ビット数に対する検査ビット数を削減し
てチップの集積度を向上させることができる半導体記憶
装置を提供することを目的とする。
セルがマトリクス配列された複数のメモリセルエリア
と、各メモリセルエリアのデータ入出力部に設けられて
前記メモリセルエリアへの書き込みデータ及び前記メモ
リセルエリアからの読み出しデータを一時格納する複数
のバッファと、前記各メモリセルエリアへの書き込み用
のデータを外部から入力すると共に前記各メモリセルエ
リアから読み出されたデータを外部に出力する複数の入
出力端子と、前記複数の入出力端子と前記複数のバッフ
ァとの間に設けられて前記複数のメモリセルエリアに書
き込むデータに対して誤り訂正用の検査ビットを生成し
て付加する符号化器及び前記生成された検査ビットを使
用して前記複数のメモリセルエリアから読み出されたデ
ータに対して誤り訂正処理を行う復号器を備えた誤り訂
正回路とを備えた半導体記憶装置において、前記誤り訂
正回路は、1つの前記メモリセルエリアに対する書き込
み及び読み出しの単位となるデータのビット数をMとし
たとき、M×Nビット(Nは2以上の整数)を情報ビッ
ト長として1つの検査ビットを割り当て、符号化処理及
び復号処理の少なくとも一方をNビットのデータを並列
に処理して実行するものであることを特徴とすることを
特徴とする。
アに対するアクセスの単位であるMビット毎に情報ビッ
トを生成していたのに対し、Nビットの並列処理が可能
になったことにより、M×Nビットに対して1つの検査
ビットを割り当てることが可能になり、トータル的な情
報ビットに対する検査ビット数を削減することができ
る。これにより、誤り訂正回路を搭載しつつチップの集
積度を向上させることができる一例を挙げると、tビッ
ト訂正(t+1)ビット誤り検出BCH符号では、
と、符号長及び情報ビット数は指数関数的に増加する
が、検査ビット数はそれほど増加しない。このため、情
報ビット数は、2m−1−m×tを超えない限度で大き
い方が情報ビット数に対する検査ビット数の割合が小さ
くなる。従って、できるだけ大きな情報ビット数に対
し、検査ビットを設けた方が有利である。例えば、NA
ND型フラッシュメモリは、1ページ(528バイト)
でリードしたり、プログラムするが、各IO毎(メモリ
セルエリア毎)に2ビット誤り訂正3ビット誤り検出を
すると、情報ビット数はk=528ビット、検査ビット
数は21ビットとなるため、合計21×8=168ビッ
トの余分な検査ビットが必要である。しかし、1ページ
を1つの単位で、2ビット誤り訂正3ビット誤り検出を
すると、情報ビット数が4224ビットのとき、検査ビ
ット数は27ビットで良い。3ビット誤り訂正4ビット
誤り検出としても、情報ビット数が4224ビットのと
き、検査ビット数は40ビットで足りる。
メモリセルエリアは、N個設けられている。符号化器
は、例えば情報ビット長k=M×N、符号長n、訂正ビ
ット長tで定められる生成多項式G(X)から導かれる
巡回符号を検査ビットとして生成するシフトレジスタ及
び演算回路からなり、前記シフトレジスタが、次数を順
番に異ならせたNビットのデータを並列に入力し、1回
のシフト動作で各データをXN倍し、M回のシフト動作
で内部に前記検査ビットを生成するものである。
検査ビットとを入力してシンドロームを計算するシンド
ローム計算回路と、前記計算されたシンドロームから誤
り位置多項式の項を計算する第1の演算部及び計算され
た誤り多項式の項から誤り位置多項式を算出して誤り位
置を検出する第2の演算部からなる誤り位置検出回路
と、前記メモリセルエリアからバッファを介して読み出
されたデータに対して前記検出された誤り位置でデータ
反転処理を施すデータ反転回路とを備え、前記シンドロ
ーム計算回路が、情報ビット長k=M×N、符号長n、
訂正ビット長tで定められるα演算子の最小多項式M
(X)に基づく巡回符号をシンドロームとして生成する
シフトレジスタ及び演算回路からなり、前記シフトレジ
スタが、次数を順番に異ならせたNビットのデータを並
列に入力し、1回のシフト動作で各データをXKN(Kは
整数)倍し、全ての前記情報ビット及び検査ビットが入
力されることにより内部にシンドロームを生成するもの
である。
算部が、情報ビット長k=M×N、符号長n、訂正ビッ
ト長tで定められるα演算子の最小多項式M(X)に基
づく巡回符号を誤り位置多項式の項として生成するシフ
トレジスタ及び演算回路からなり、前記シフトレジスタ
が、前記メモリエリアからのデータ出力に同期してシフ
ト動作をし、各データをXK(Kは整数)倍し、順次、
誤り訂正位置を検出するものである。
第1の演算部は、演算用ロジック回路を構成するレジス
タと演算回路とを切り替えて構成されるようにしても良
い。また、復号器は、シンドローム又は誤り位置多項式
の項を計算する際に使用されるガロア演算回路を更に含
むようにしても良い。更に、前記第2の演算部は、例え
ば前記Nビットのデータに対してそれぞれ設けられたN
個のローケータと、隣接するローケータ間に介挿されて
隣接するローケータへのデータをXL倍するXL演算回路
(Lは整数)とを備えたものである。
明の実施形態について説明する。 (1)第1の実施形態 まず、本発明を理解するため、第1の実施形態として、
情報ビット数k=7、符号長n=15、訂正ビット数t
=2の2ビット誤り訂正の例について説明する。
が符号化回路10に入力されると、この入力データI0
は、XOR回路124によって符号化回路のX7の項に足
しこまれ、その後X倍される。初期状態では符号化回路
10の各レジスタ11の値は0であるため、この値を
(0)とすると
10に入力されると、この入力データI1は、符号化回
路10のX7の項に足しこまれ、この後X倍されている
ので、
力されると、この入力データI2は、符号化回路10の
X7の項に足しこまれ、この後X倍されているので、
化回路10に入力されると、
X+I3 X7)X+I4X7)X+I5X7)X+I6X7)X
X6)X2+I4X7+I5X6)X2+I6X7)X
れぞれ符号化回路10のX7,X6の項に足しこまれ、こ
の後X2倍され、次に入力データI2,I3がそれぞれが
符号化回路10のX7,X6の項に足しこまれ、この後X
2倍され、次に入力データI4,I5がそれぞれが符号化
回路10のX7,X6の項に足しこまれ、この後X2倍さ
れることを意味する。つまり2ビットの入力の後、1回
のシフトレジスタ11の動作でデータがX2倍される。
但し、最後のI6は従来通り1ビットの入力で、X倍さ
れることになる。
で示した値として、これをX2倍すると、
a5X7+a6X8+a7X9
X8=X7+X6+X4+1の関係があるため、数21は、
+(a2+a6+a7)X4+(a3+a7)X5+(a4+a
6+a7)X6+(a5+a6)X7
実施形態に係る符号化回路50の構成を示すブロック図
である。この符号化回路50は、レジスタD7,D6,D
5,D4,D3,D2,D1,D0からなるシフトレジスタ5
1と、XOR回路521,522,523,524,5
25,526,527と、入力データ及び出力データを切
り換えるための4つのスイッチSW11,SW12,S
W21,SW22とから構成されている。シフトレジス
タ51は、図2に示すように、リセット信号RSTnに
よりデータの内容がリセットされ、クロック信号CLK
に同期して入力端子INから出力端子OUTへと1ビッ
トのデータを転送する4段のトランスファーゲート51
aと、必要なゲート回路51bとから構成されている。
XOR回路52は、図3に示すように、入力端子IN
1,IN2に入力されたデータにモジュロ2の演算を施
して出力端子OUTから出力する。
1回のシフト動作で、レジスタD6,D7の値a6,a7を
XORゲート526で足し込んでレジスタD0に格納し、
レジスタD7の値a7をレジスタD1に格納し、レジスタ
D0の値a0をレジスタD2に格納し、レジスタD1の値a
1をレジスタD3に格納し、レジスタD2,D6,D7の値
a2,a6,a7をXOR回路521,526で足し込んで
レジスタD4に格納し、レジスタD3,D7の値a3,a7
をXOR回路522で足し込んでレジスタD5に格納し、
レジスタD4,D6,D7の値a4,a6,a7をXOR回路
523,526で足し込んでレジスタD6に格納し、レジ
スタD5,D6の値a5,a6をXOR回路525で足し込
んでレジスタD7に格納する。
れた入力データ(情報ビット)I0,I1,I2,I3,I
4,I5,I6は、入力データI0,I2,I4と、入力デー
タI1,I3,I5の2つに分割され、入力データI0,I
2,I4がスイッチSW11,SW21のON側の端子に
入力され、入力データI1,I3,I5がスイッチSW1
2,SW22のON側の端子に入力されている。つまり
入力データは、2ビットづつ(I0,I1),(I2,
I3),(I4,I5)の順で並列に入力され、入力後に
シフトレジスタ51が1回動作する。但し、シフトレジ
スタ51は、1つおきに結線されているので、1回のシ
フト動作でデータがX2倍される。データ(I0,
I1),(I2,I3),(I4,I5)が入力されている
間は、スイッチSW11,SW21,SW12,SW2
2は全てONであり、これらのデータがそのまま2ビッ
トずつ並列に出力される。同時に、データI0,I2,I
4は、XOR回路527でレジスタD7の値a7と足し込ま
れ、順次シフトレジスタ51に格納され、データI1,
I3,I5は、XOR回路524でレジスタD7の値a7と
足し込まれ、順次シフトレジスタ51に格納されてい
く。但し、入力データの最後のI6は1ビットの入力で
あるため、図22に示した従来の符号化回路10と同じ
結線状態に切り替わるようにする。このような切替を行
うのは、情報ビット数としてk=7を選択したためであ
る。データI0,I1,I2,I3,I4,I5,I6の入力
が終了すると、シフトレジスタ51のレジスタD7,
D6,D5,D4,D3,D2,D1,D0の内部には検査ビ
ットI7,I8,I9,I10,I11,I12,I13,I14が
それぞれ格納された状態となる。その後、スイッチSW
11,SW21,SW12,SW22は全てOFF側に
接続され、シフトレジスタ51を動作させる毎に、SW
11の出力に検査ビットI7,I9,I11,I13が出力さ
れ、SW12の出力に検査ビットI8,I10,I12,I
14が出力される。同時に、シフトレジスタ51の値はリ
セットされる。これにより、2ビット入力の並列処理に
よる検査ビットの生成が可能になる。
は、まず、S1シンドローム計算回路20内の値がX倍
された後、XOR回路221によりX0の項に入力データ
I0が足しこまれる。初期状態ではS1シンドローム計算
回路20のシフトレジスタ21の値は0であるため、こ
の値を(0)とすると、
0内の値がX倍された後、X0の項に入力データI1が足
しこまれるので、
20内の値がX倍された後、X0の項に入力データI2が
足しこまれるので、
でがS1シンドローム計算回路20に入力されると、
I2)X+I3)X+I4)X+I5)X+ I6)X+I7)X+
I8)X+I9)X+I10)X+I11)X+I12)X+I13)X
+I14
I3)X2+I4X+I5)X2+I6X+I7)X2+I8X+I
9)X2+I10X+I11)X2+I12X+I13)X+I14
路20内の値をX2倍した後、入力データI0,がX1の
項、入力データI1がX0の項にそれぞれ足しこまれ、次
に、S1シンドローム計算回路20内の値をX2倍した
後、入力データI2,がX1の項、入力データI3がX0の
項にそれぞれ足しこまれ、次に、S1シンドローム計算
回路20内の値をX2倍した後、入力データI4がX1の
項、入力データI5がX0の項にそれぞれ足しこまれるこ
とを意味する。つまり1回のシフトレジスタの動作でデ
ータがX2倍され、その後、2ビットのデータを入力し
ている。但し、最後はS1シンドローム計算回路20内
の値をX倍した後、1ビットの入力で入力データI14が
X0の項に足しこまれている。
で示した値として、これをX2倍すると、
り、X4=X+1の関係があるため、
した本実施形態に係るS1シンドローム計算回路60の
構成を示すブロック図である。このS1シンドローム計
算回路60は、レジスタD0,D1,D2,D3からなるシ
フトレジスタ61と、XOR回路621,622,6
23,624とから構成されている。
30に基づき、1回のシフト動作で、レジスタD2の値
a2をレジスタD0に格納し、レジスタD2,D3の値
a2,a3をXOR回路622で足し込んでレジスタD1に
格納し、レジスタD0,D3の値a 0,a3をXOR回路6
24で足し込んでレジスタD2に格納し、レジスタD1の
値a1をレジスタD3に格納する。
れた情報ビットI0,I1,I2,I3,I4,I5,I
6と、検査ビットI7,I8,I9,I10,I11,I12,I
13,I14とは、I0,I2,I4,I6,I8,I10,
I12,I14と、I1,I3,I5,I7,I9,I11,I13
とに分割され、S1シンドローム計算回路60に2ビッ
トづつ(I0,I1),(I2,I3),(I4,I5),…
の順で並列に入力され、入力後にシフトレジスタ61が
1回動作する。但し、シフトレジスタ61は、1つおき
に結線されているので、1回のシフト動作でデータがX
2倍される。データI0,I 2,I4,…,I14は、XOR
回路623でXOR回路622の出力a2+a3と足し込ま
れ、レジスタD1に格納され、データI1,I3,I5,
…,I13は、XOR回路621でレジスタD2の値a2と
足し込まれ、レジスタD0に格納される。但し、情報ビ
ットの最後のI6は1ビットの入力であるため、図23
の回路と同じ配線に切り替わる。又は、I15=0を、S
1シンドローム計算回路60に入力させ、シフト動作さ
せた後、シフトレジスタにX-1を掛ける。これにより、
2ビット入力の並列処理が可能になる。
いて説明する。図23(b)の従来のS3シンドローム
計算回路30では、まず、S3シンドローム計算回路3
0内の値がX3倍された後、XOR回路321によりX0
の項に入力データI0が足しこまれる。初期状態では、
S3シンドローム計算回路30のシフトレジスタ31の
値は0であるため、この値を(0)とすると
0内の値がX3倍された後、X0の項に入力データI1が
足しこまれるので、
30内の値がX3倍された後、X0の項に入力データI2
が足しこまれるので、
までがS3シンドローム計算回路30に入力されると、
I3)X3+I4)X3+I5)X3+I6)X3+I7)X3+I8)
X3+I9)X3+I10)X3+I11)X3+I12)X3+I13)
X3+I14
I3)X6+I4X3+I5)X6+I6X3+I7)X6+I8X3
+I9)X6+I10X3+I11)X6+I12X3+I13)X3+
I14
路30内の値をX6倍した後、入力データI0がX3の
項、入力データI1がX0の項にそれぞれ足しこまれ、次
に、S3シンドローム計算回路30内の値をX6倍した
後、入力データI2がX3の項、入力データI3がX0の項
にそれぞれ足しこまれ、次にS3シンドローム計算回路
30内の値をX6倍した後、入力データI4がX3の項、
入力データI5がX0の項にそれぞれ足しこまれることを
意味している。つまり1回のシフトレジスタの動作でデ
ータがX6倍され、その後、2ビットのデータを入力し
ている。但し、最後はS3シンドローム計算回路30内
の値をX3倍した後、1ビットの入力で入力データI14
がX0の項に足しこまれている。
示した値として、これをX6倍すると、
X4=X+1の関係があるため、
X2+(a0+a1+a3)X3
した本実施例に係るS3シンドローム計算回路70の構
成を示すブロック図である。このS3シンドローム計算
回路70は、レジスタD0,D1,D2,D3からなるシフ
トレジスタ71と、XOR回路721,722,723,
724,725,726とから構成されている。
37に基づき、1回のシフト動作で、レジスタD1,D2
の値a1,a2をXOR回路721で足し込んでレジスタ
D0に格納し、レジスタD1,D3の値a1,a3をXOR
回路726で足し込んでレジスタD1に格納し、レジスタ
D0,D2の値a0,a2をXOR回路724で足し込んで
レジスタD2に格納し、レジスタD0,D1,D3の値
a0,a1,a3をXOR回路725,726で足し込んで
レジスタD3に格納する。
れた情報ビットI0,I1,I2,I3,I4,I5,I
6と、検査ビットI7,I8,I9,I10,I11,I12,I
13,I14とは、I0,I2,I4,I6,I8,I10,
I12,I14と、I1,I3,I5,I7,I9,I11,I13
とに分割され、S3シンドローム計算回路70に2ビッ
トづつ(I0,I1),(I2,I3),(I4,I5),…
の順で並列に入力され、入力後シフトレジスタ71が1
回動作する。データI0,I2,I4,…,I14は、XO
R回路723でXOR回路726の出力a1+a3と足し込
まれ、レジスタD1に格納され、データI1,I3,I5,
…,I13は、XOR回路722でXOR回路721の出力
a1+a2と足し込まれ、レジスタD0に格納される。但
し、情報ビットの最後のI6は1ビットの入力であるた
め、図23のS3シンドローム計算回路30と同じ配線
に切り替わる。又は、I15=0を、S3シンドローム計
算回路70に入力させ、シフト動作させた後、シフトレ
ジスタにX-3を掛ける。これにより、2ビット入力の並
列処理が可能になる。
誤り位置検出回路では、S1,S3シンドローム計算回路
60,70が1回のシフト動作で従来の2回分のシフト
動作を行うものであるから、誤り位置検出回路も、従来
の2回分のシフト動作に相当する演算を行う。いま、数
10の誤り位置多項式を、
て構成された誤り位置検出回路の構成を示す図である。
この誤り位置検出回路80は、S1、σ1及びσ2を計算
すると共に格納する第1の演算部80a(図5)と、数
38に基づいてデータの誤り位置を検出して検出信号を
出力する第2の演算部80bとから構成されている。第
1の演算部80aは、図5に示すようにシフトレジスタ
81、X2演算回路82及びX4演算回路83により構成
されている。シフトレジスタ81aには、初期状態とし
てシンドロームS1が格納され、シフトレジスタ82
a,83aには初期状態としてσ1=S1 2、σ2=S1 3+
S3の演算結果が格納される。この誤り位置検出回路8
0では、出力データI0,I1,I2,I3,I4,I5,I
6のうち1つおきの出力データI0,I2,I4,I6、に
同期して、誤り検出が行なわれ、シフトレジスタ81
a,82a,83aを1回動作させることにより、X2
演算回路82ではσ1の項がZ2倍、X4演算回路83で
は、σ2の項がZ4倍ずつされる。エラーがあるとσ=0
となる。
演算回路43と同一構成であり、シフトレジスタ43a
とシフトレジスタ82aとが対応し、XOR回路43b
1,43b2とXOR回路82b1,82b2とが対応する
ので、詳細な構成説明は割愛する。
レジスタ83aの値をX4倍するので、シフトレジスタ
83aの値は、
X4=X+1の関係があるため、
(a1+a2)X2+(a2+a3)X3
は、数40に基づき、1回のシフト動作で、レジスタE
0,E3の値a0,a3をXOR回路83b1で足し込んで
レジスタE0に格納し、レジスタE0,E1,E3の値
a0,a1,a3をXOR回路83b1,83b2で足し込
んでレジスタE1に格納し、レジスタE1,E2の値a1,
a2をXOR回路83b3で足し込んでレジスタE2に格
納し、レジスタE2,E3の値a2,a3をXOR回路83
b4で足し込んでレジスタE3に格納する。
I0,I2,I4,I6の誤り位置を検出する第1検出部8
4と、データI1,I3,I5の誤り位置を検出する第2
検出部85と、データI1,I3,I5に関してσ1の項を
Z倍するX演算回路86と、データI1,I3,I5に関
してσ2の項をZ2倍するX2演算回路87とからなる。
各検出部84,85のXOR回路88とNORゲート8
9とで演算された結果の出力が、誤り位置となったとこ
ろで1となり、この出力で対応するデータIiを反転さ
せることにより、1回のシフト動作で2ビット同時の並
列的な誤り位置検出が可能になる。なお、X演算回路8
6、X2演算回路87の構成は図25及び図26に示し
た従来回路と同じであるが、データを記憶するためのレ
ジスタは必要ない。
態に係るNAND型フラッシュメモリのブロック図であ
る。このメモリは、8つのメモリセルエリア1010,
1011,…,1017を備えている。これらメモリセル
エリア1010〜1017に対してメモリセルエリア10
10〜1017への書き込みデータ(D0〜D7)及びメ
モリセルエリア1010〜1017からの読み出しデータ
(D0〜D7)を一時格納する8つのページバッファ1
020,1021,…,1027が設けられている。ペー
ジバッファ1020〜1027と、I/O端子1040,
1041,…,1047との間には、書き込みデータに対
する誤り訂正の検査ビットECCを生成すると共に、検
査ビット(ECC)を使用して読み出しデータの誤り訂
正を行うECC回路103が設けられている。このEC
C回路103は、従来のものとは異なり、全メモリセル
エリア1010〜1017に対して1回にリード・ライト
される528ビット×8I/O=4224ビット分(M
=528,N=8)のデータを情報ビットとし、これに
共通の40ビットの検査ビットを付加して誤り検出訂正
を行う。
及び制御信号は、それぞれ制御信号動作回路106及び
アドレスデコーダ107に供給されている。制御信号動
作回路106は、各種制御信号ALE,CLE,CE,
WE,RE,WP等を入力して各部に供給する制御電圧
を発生すると共に、外部回路にREADY/BUSY信
号を出力する。アドレスデコーダ107は、外部からI
/O端子105を介して入力されたアドレスを、一時的
に記憶し、カラムデコーダ108及びブロック選択回路
109を駆動する。カラムデコーダ108は、ページバ
ッファ1020〜1021の各1つのカラムを活性化す
る。ブロック選択回路109は、メモリセルエリア10
10〜1011中のワード線に読み出し、書き込み又は消
去に必要な電圧を与える。
0〜7)は、図8に示すように、電気的書換え可能な不
揮発性メモリセルMCをマトリクス状に配列して構成さ
れている。この例では、16個のメモリセルMCが1つ
の単位として直列に接続され、一方の端のメモリセルM
Cのドレインは、選択ゲートトランジスタSG1を介し
てビット線BLに接続され、他方の端のメモリセルMC
のソースは、選択ゲートトランジスタSG2を介して共
通ソース線SLに接続されている。ロウ方向のメモリセ
ルMCの制御ゲートは、共通のワード線WLに接続さ
れ、ロウ方向の選択ゲートトランジスタSG1,SG2
のゲート電極は、共通の選択ゲート線SGL1,SGL
2に接続されている。この実施形態の場合、制御ゲート
線に沿った1056個のメモリセルMCのうち、奇数番
目と偶数番目にそれぞれ配置されたメモリセルMCに記
憶される528ビットのデータが1回の書き込み及び読
み出しの単位である1ページとなる。また、この例では
カラム方向に隣接する16ページ分のデータが1回の消
去の単位である1ブロックとなる。但し、メモリセルエ
リア1017には、ワード線WLに沿った1056(5
28×2)個の情報ビット記憶用のメモリセルMCの
他、誤り訂正用の検出ビットを80(40×2)ビット
分記憶するためのメモリセルMCが設けられている。
ように、528個のデータ記憶回路121を備え、各デ
ータ記憶回路121は、それぞれ2本のビット線BL
i,BLi+1に接続され、アドレスによって選択され
たいずれか一方のビット線BLを介してメモリセルエリ
ア101j中のメモリセルMCのデータを読み出した
り、ビット線BLを介してメモリセルエリアMC中のメ
モリセルの状態を検出したり、ビット線BLを介してメ
モリセルエリア101j中のメモリセルMCに書き込み
制御電圧を印加してメモリセルMCに書き込みを行う。
528個のデータ記憶回路121のうち、いずれか1つ
のデータ記憶回路121がカラムデコーダ108によっ
て選択され、選択されたデータ記憶回路121だけがE
CC回路103と接続される。
108により同一カラムアドレスを示す8ビット分(8
IO分)のデータ記憶回路121とECC回路103と
が接続される。読み出し動作のときは、図8の点線で示
す1ページ分のメモリセルMCが選択され、528×8
ビットのデータが一時に全てのデータ記憶回路121に
記憶される。カラムデコーダ108は、外部より入力さ
れるリードイネーブル(RE)信号に同期してカラムア
ドレスを1つずつインクリメントする。これにより、メ
モリセルエリア1010〜1017の各1つ、計8つのデ
ータ記憶回路121が次々と選択され、順次8ビット分
(8IO分)のデータがECC回路103に出力される
ことになる。書き込み動作のときも同様に、外部よりI
/O端子1040〜1047を介して8ビット分(8IO
分)のデータが順次ECC回路103に入力され、EC
C回路103から順次8ビット分のデータが出力され
る。カラムデコーダ108は、外部より入力されるライ
トイネーブル(WE)信号に同期してカラムアドレス
を、1づつインクリメントする。これにより、メモリセ
ルエリア1010〜1017の各1つ、計8つのデータ記
憶回路121が次々と選択され、ECC回路103から
の8ビット分のデータが、選択された記憶回路121に
入力されていく。
する。図9は、ECC回路103の詳細を示すブロック
図である。ECC回路103は、複数段のレジスタ、X
OR回路、スイッチ等から構成される演算用ロジック回
路131と、シンドローム計算等に用いるガロア演算回
路132と、復号時に動作する誤り位置検出回路133
(主として第2の演算部)及びデータ反転回路134と
を備えて構成されている。演算用ロジック回路131
は、ECC回路103が符号化回路として機能するとき
には、検査ビット生成回路を構成し、ECC回路103
が復号器として機能する場合には、シンドローム演算回
路及び誤り位置検出回路の主として第1の演算部を構成
する。
D7)ずつ入力し、528×8=4224ビットのデー
タを単位として誤り検出訂正をおこなう。例えば、3ビ
ット訂正4ビット誤り検出のBCH符号について考える
と、情報ビットk=4224、符号長n=8191、訂
正ビットt=3、m=13となり符号化及び復号に必要
な生成多項式は以下のようになる。
形し、数43を求める。
2X39)X+I3X39)………)X+I527X39)X
7X32)X8+(I8X39……I15X32))X8………(I520X
39+I521X38……I527X32)X8
る。まず、一回のWE信号のクロックに対し入力される
8ビットのデータD0〜D7=I0,I1,I2,…,I7
のそれぞれにX39,X38,X37,…,X32を掛け、内部
のレジスタ値に足しこみ、その後、レジスタの値をX8
する。続いて、次のWE信号のクロックに対し入力され
る8ビットのデータD0〜D7=I8,I9,I10,…,
I15のそれぞれにX39,X38,X37,…,X32を掛け、
内部のレジスタ値に足しこみ、その後、レジスタの値を
X8する。これを、最後の8ビットのデータD0〜D7
=I4216,I4217,I4218,…,I4223まで528回繰
り返す。
えられた40段のレジスタREG0,REG1,…,R
EG39を示す。これらは符号化回路の巡回シフトレジ
スタを構成する。これらレジスタREG0〜REG39
の入力をB0,B1,…,B39、出力をA0,A1,
…,A39とする。演算用ロジック回路131は、上記
数41の生成多項式と数43とに基づき、1回のデータ
入力で下記数45及び数46に示すXOR演算を実行す
る。ここで使用されるXOR演算は数44に示される。
レジスタREG32〜REG39は、出力A32〜A3
9を出力する前に、数45で示すように、外部より入力
される8ビットのデータD0〜D7がレジスタ値にXO
R演算により足しこまれた結果である出力AA32〜A
A39を出力する。出力A0〜31、AA32〜AA3
9はXOR回路に繋がり、数46で示すXOR演算の結
果B0〜39は、レジスタREG0〜REG39の入力
に繋がり、シフトレジスタのクロックに同期し、取りこ
まれる。この演算を528回繰り返すと、演算ロジック
回路131レジスタREG0〜REG39には、40ビ
ットの検査ビットI4224,I4225,I4226,…,I4264
が生成される。
処理を示すフローチャート、図12は、同じく符号化処
理のタイミングチャートである。まず外部からデータ入
力コマンド(80h)を入力すると(S21)、演算用
ロジック回路131の内部のレジスタREG0〜40が
リセットされ(S22)、次にアドレス(Add)が与
えられる。続いてWE(ライトイネーブル)信号が外部
から入力され、これに同期してデータが8ビットずつペ
ージバッファ102jにロードされる(S23,S2
4,S25)。これと同時にデータが演算用ロジック回
路131に送りこまれ、検査ビットECCが計算され
る。カラムアドレスが最終の528に達したら(S2
5)、データロードを終了する。続いて外部よりプログ
ラムコマンド(10h)が入力され、これによりメモリ
セルMCへのデータ書き込みのための図示しないチャー
ジポンプによる昇圧動作が開始される。これと同時に、
書込み動作を行なう前に、図示しない内部オシレータ等
により40ビットのREG0〜REG39から順次5バ
イトずつ検査ビットが出力され、ページバッファ102
7のデータ記憶回路121に格納される。この後、デー
タ記憶回路121に格納されたデータが、外部アドレス
Addにより選択された1ページ(図8の点線で示す)
のメモリセルMCに記憶される。
シンドロームS0,S1,S3,S5が必要であることが知
られている。シンドロームS0は最小多項式M0(x)=
x+1により求められる。最小多項式M1(x)=x10
+x3+1により求められるx10=x3+1をα演算子と
すると、シンドロームS1はα演算子より、シンドロー
ムS3はα3演算子より、シンドロームS5はα5演算子よ
り求められる。従来の復号回路では、一回のWE信号の
クロックに対し1ビットしか入力できなかったが、第1
の実施形態の数27から数28に、また数34から数3
5に変形されたときと同様に変形し、一回のWE信号の
クロックに対し8ビットのデータを取り込めるようにす
る。したがって、シンドロームS1はα8演算子より、シ
ンドロームS3はα24演算子より、シンドロームS5はα
40演算子より求められる。
えられた40段のレジスタREG0〜REG39を示
す。レジスタREG0はS0シンドローム計算回路の巡
回シフトレジスタを構成し、レジスタREG1〜13は
S1シンドローム計算回路の巡回シフトレジスタを構成
し、レジスタREG14〜26はS3シンドローム計算
回路の巡回シフトレジスタを構成し、レジスタREG2
7〜39はS5シンドローム計算回路の巡回シフトレジ
スタを構成する。ここで、レジスタREG0の入力をP
P0、出力をP0、レジスタREG1〜13の入力をA
A0,AA1,…,AA12、出力をA0,A1,…,
A12、レジスタREG14〜26の入力をBB0,B
B1,…,BB12、出力をB0,B1,…,B12、
レジスタREG27〜39の入力をCC0,CC1,
…,CC12、出力をC0,C1,…,C12とする。
演算ロジック回路131は、1回のデータ入力で下記数
47,数48,数49及び数50の演算を実行する。デ
ータ記憶回路121から読み出された、8ビットのデー
タD0〜D7と、それぞれのレジスタREG0〜REG
39の出力P0、A0〜13、B0〜13、C0〜13
とはXOR回路により足しこまれ、XOR回路の出力P
P0、AA0〜13、BB0〜13、CC0〜13とな
り、レジスタREG0〜REG39の入力に繋がり、シ
フトレジスタのクロックに同期し、取りこまれる。レジ
スタREG1〜13に繋がるXOR回路はα8演算回路
で、データD0〜D7の入力が加わっている。レジスタ
REG14〜REG26に繋がるXOR回路はα24演算
回路で、データD0〜D7の入力が加わっている。レジ
スタREG27〜39に繋がるXOR回路はα40演算回
路で、データD0〜D7の入力が加わっている。しか
し、α40演算回路は回路規模が大きいため、図9に示し
たガロア演算回路132の片方の入力にα40を入力し、
その出力とデータD0〜D7とをXOR回路で適宜演算
して求めることも出来る。
ーチャートである。外部よりデータリードコマンド(0
0h)を入力した後、読み出すアドレス(Add)を入
力することにより、リード動作が開始される(S3
1)。まず、アドレスにより選択された、1ページ(5
28バイト)分のメモリセルMCのデータをページバッ
ファ1020〜1027に読み出す(S32)。この後、
内部オシレータにより発振される信号に同期し、データ
D0〜D7が1バイトずつECC回路103に入力さ
れ、シンドロームを計算する(S33)。図27に示す
ように、シンドロームS0,S1,S3,S5を計算した
後、S1=S3=S5=0 の場合(S34)で、S0=0
だと(S35)エラー無し(正常出力:S36)とな
る。S0≠0(S35)では、訂正不能となる(S3
7)。S1=S3=S5=0でない場合(S34)、σ2=
S1 2S3+S5 とσ0=S1 3+S3を計算する(S3
8)。σ0=0の場合(S39)で、σ2=0かつS0=
0の場合(S40)、1ビットエラーがあるので1ビッ
ト訂正のアルゴリズムに移行する(S41)。σ 2=0
かつS0=0でない場合(S40)、訂正不能となる
(S42)。σ0≠0の場合(S39)、σ1=S1(S1
3+S3) とσ3=(S1 3+S3)2+S1(S1 2 S3+
S5)を計算する(S43)。σ3=0の場合(S44)
で、σ2≠0かつS0=0の場合(S45)、2ビットエ
ラーがあるので2ビット訂正するアルゴリズムに移行す
る(S46)。σ2≠0かつS0=0でない場合、訂正不
能となる(S47)。σ3≠0の場合(S44)で、S0
=1だと(S48)3ビットエラーがあるので3ビット
訂正するアルゴリズムに移行する(S49)。但し、2
ビット訂正と3ビット訂正のアルゴリズムは同じであ
る。S0≠1だと(S48)訂正不能となる(S5
0)。
路を示す。この誤り位置検出回路は、演算用ロジック回
路131に内蔵された各13ビットの4つのレジスタ
R,A,B,C及び図示しないXOR回路により構成さ
れる第1の演算部と、ガロア演算回路132と、8つの
ローケータ141及びこれらローケータ141の間に挿
入された×α,×α2,×α3の演算を行う演算回路14
2からなる第2の演算部133と、これらの間を接続す
る13ビットのバスBUSR,BUSA,BUSB,B
USCとを備えて構成されている。ガロア演算回路13
2の出力はレジスタRに接続されている。
σ0,σ1,σ3,σ2を算出するアルゴリズムを示してい
る。レジスタA,B,CにシンドロームS1,S3,S5
がそれぞれ格納されており、これらが全て0であればエ
ラー無しなので、この演算は実行しない(S61)。そ
うでない場合、σ2=S1 2S3+S5の演算を行い、レジ
スタRに順次演算結果が格納されていき、最後に得られ
た演算結果がレジスタRからレジスタCに転送される
(S62)。次に、σ0=S1 3+S3の演算を行い、レジ
スタRに順次演算結果が格納されていき、最後に得られ
た演算結果がレジスタRからレジスタBに転送される
(S63)。レジスタB,Cに求められた演算結果が共
に0であれば、1ビットエラーとして(S64)、1を
レジスタRに格納し(S65)、そうでない場合には、
σ1=S1(S1 3+S3)とσ3=(S1 3+S 3)2+S
1(S1 2 S3+S5)の演算を行う(S66,S67,
S68)。
1のうち情報ビットk=4224(528×8ビット)
を誤り訂正するようにしているが、符号長n=8191
の符号では、本来、情報ビットとして検査ビット40ビ
ットを除いた8151ビットを持つことができる。この
ため、誤り位置は、8151−4224+1=3928
ビット分だけずれていることになり、カラムアドレス0
番地から読み出す場合、σ1にα3928、σ2にα
7856(=3928×2)、σ3にα3593(=3928×3-8191)を掛ける
計算を行なう(S69,S70,S71)。同様に、カ
ラムアドレスi番地から読み出す場合、σ1に
α3928+i、σ2にα7858(=(3928+i)×2)、σ3にα
3596(=(39 28+i)×3-8191)を掛ける計算を行なう。α
3928+i等の係数は例えばROMに書きこんでおく。これ
らの係数はカラムアドレスiによるため、図7のカラム
デコーダ108により選択されるカラムデータ記憶付近
に、もしくはメモリセルエリア101内に格納する。又
は、カラムアドレス0番地の係数のみ記憶し、他のアド
レスがアクセスした場合は、誤り位置検出の動作をダミ
ーで動かし係数を合わせるようにしても良い。
示すブロック図である。いま、同図(a)に示す13ビ
ットの入力A,Bをそれぞれ、次のように示す。
る。
となる。AとbiとがAND回路151でAND演算さ
れ、その演算結果をX乗算回路152でX倍して、XO
R回路153で次のAとbi+1とのAND演算結果と
XOR演算する。ここで、X乗算回路152は、同図
(c)に示すように、数41のαの最小多項式M
1(X)より、X13=X4+X3+X+1の関係があるの
で、X12の項がX0の項にシフトすると共に、XOR回
路154により、X3,X1,X0の項に足し込まれ、そ
れぞれX4,X3,X1の項に格納されるという演算を行
う。以上の演算の結果、13ビットのレジスタA,B,
C,Rにはそれぞれ、σ1、σ3、σ2、σ0が初期値とし
て与えられる。
正の場合、下記数53の誤り位置多項式に従うことが知
られている。
3・・・…)を順次代入してσ(αI)= 0となった
iが誤りの位置となる。本実施形態では、一回のWEの
クロックに対し8ビットのデータを出力するため、第1
の実施形態で数10を数38に変形したように、数53
を、次の数54のように変形する。
同時に誤り検出を行う。つまり8I/O分の出力データ
のうちI/O0に対して、誤り検出を行ない、誤りがあ
るとσ=0となる。図16の演算の結果、13ビットの
シフトレジスタA,B,C,Rにはそれぞれ、σ1、
σ3、σ2、σ0が初期値として与えられている、演算用
ロジック回路131のシフトレジスタAに繋がるXOR
回路はα8演算回路、シフトレジスタBに繋がるXOR
はα24演算回路、シフトレジスタCに繋がるXORはα
16演算回路を構成する。レジスタAの入力をAA0,A
A1,…,AA12、出力をA0,A1,…,A12、
レジスタBの入力をBB0,BB1,…,BB12、出
力をB0,B1,…,B12、レジスタCの入力をCC
0,CC1,…,CC12、出力をC0,C1,…,C
12とすると、これらのα8,α16,α24演算回路で
は、それぞれ数55,数56及び数57の演算を行う。
成を示す回路図である。ローケータ141は、XOR回
路数161とNOR回路162とからなり、σ(Z)を
計算し、I/O0(j=0〜7)にエラーがある(σ=
0)とHを出力する。これにより、図9のデータ反転
回路134で、このときのページバッファ1020のデ
ータ記憶回路121のデータが反転されて出力される。
一方、I/O1のデータに関しては、σ(Z)のσ1の
項がZ倍、σ2の項がZ 2倍、σ3の項がZ3倍された値な
ので、図15に示すように、σ1の項×Xを、σ 2の項に
×X2、σ3の項に×X3を演算する演算回路1421を搭
載させ、その出力を、誤り位置多項式を解くためにロー
ケータ1411に供給する。誤りが検出される(σ=
0)と、出力がHとなる。これらのX演算回路、X2演
算回路、X3演算回路の入力をX0〜X12、出力Y0
〜Y12とすると、これら演算回路は、次のような演算
を実行する。これら演算回路には、データを記憶するた
めのレジスタは必要はない。
(Z)のσ1の項がZ2倍、σ2の項がZ4倍、σ3の項が
Z6倍された値であるが、I/O0を基準としてσ1の項
×X2を、σ2の項に×X4、σ3の項に×X6を演算する
演算回路を搭載させると、X6など大きな倍数の演算回
路の回路規模が大きくなってしまう。このため、この実
施形態では、演算回路1421の出力を再度、×X、×
X2、×X3させる演算回路1411を設ける。以下、同
様にしてI/O7のデータまで演算回路1427を配置
する。もし、I/O7までの信号伝搬遅延時間が問題と
なる場合には、図19に示すように、誤り位置検出回路
(第2の演算部)133を構成する8つのローケータ1
41を演算用ロジック回路131の両側に4つずつ分割
して配置することにより、ローケータ141までの信号
伝搬路を1/2にすれば良い。
のタイミングチャートである。同図(a)は、誤り位置
多項式の項を全て計算してからデータの読み出しと誤り
訂正とを行う場合を示している。外部よりデータリード
コマンド(00h)を入力した後、読み出すアドレス
(Add)を入力することにより、READY/BUS
Y信号がアクティブになり、リード動作が開始される。
まず、アドレスにより選択された、1ページ(528バ
イト)分のメモリセルMCのデータがページバッファ1
020〜1027に読み出される。続いて、内部オシレー
タにより発振される信号に同期し、データD0〜D7が
1バイトずつECC回路103に入力され、シンドロー
ムが計算され、算出されたシンドロームS0,S1,
S3,S5を用いて誤り位置多項式の項を演算する。その
後、ライトイネーブル(RE)信号に同期してデータが
読み出されると同時に、誤り訂正処理が実行される。こ
の場合、ECC回路103がない場合に比べ、トータル
のビジー時間の追加分は、シンドローム計算と誤り訂正
用の演算子の計算時間分となり、1回のシンドローム計
算に50ns、演算子の演算時間に3.6μsとする
と、528×50ns+3.6μs=30μsとなる。
シンドロームS0,S1,S3,S5を計算するようにした
例で、上記と同様にリード動作が開始され、1ページ
(528バイト)分のメモリセルMCのデータがページ
バッファ1020〜1027に読み出されると、RE信号
に同期してページバッファ1020〜1027からデータ
D0〜D7が1バイトずつ出力されると共にECC回路
103でシンドローム計算が実行される。もし、シンド
ローム計算の結果、エラーが検出された場合には、ステ
ータス・フェイルコマンド(70h)がアクティブにな
るので、誤り訂正用の演算子が計算され、その後、再度
データを出力して誤り訂正を行う。この場合、エラーが
無い場合、トータルのビジー時間の追加は0となる。
たときと、情報ビットを4224ビットとしたときとで
は、2ビット誤り訂正3ビット誤り検出をした場合、許
容されるランダム不良数(デバイス不良確率が1ppm
となるときのランダム不良数)は、当然情報ビットを5
28ビットとしたときの方がよい。これを256Mビッ
トの記憶容量のNAND型フラッシュメモリに適用した
場合が表1となる。表1より、情報ビット数が528ビ
ットの2ビット訂正BCH符号では、許されるランダム
不良数は100ビットであり、情報ビット数を4224
ビットとすると30ビットしか許されなくなるが、3ビ
ット訂正BCH符号で情報ビット数4224ビットで
は、300ビットまでランダム不良を許し、また必要コ
ードも40ビットと短い。更に、4ビット訂正BCH符
号で情報ビット数4224ビットでは、1000ビット
までランダム不良が許容され、必要コードも53ビット
と短いという効果がある。
のNAND型フラッシュメモリにECC回路を搭載しな
い場合、2ビット訂正の従来構成のECCを搭載した場
合、2ビット訂正の本実施形態のECC回路を搭載した
場合について、チップサイズで比較してみると、下記表
2のようになる。
を搭載したフラッシュメモリでは、従来型のECC回路
搭載メモリがそれぞれ6.8%(128M),5.1%
(512M)のチップサイズの増加があったのに対し、
本実施形態のECC回路搭載メモリは、チップサイズの
増加がその半分の3.2%(128M),2.5%(5
12M)であった。
来、各メモリセルエリアに対するアクセスの単位である
Mビット毎に情報ビットを生成していたのに対し、Nビ
ットの並列処理が可能になったことにより、M×Nビッ
トに対して1つの検査ビットを割り当てることが可能に
なり、トータル的な情報ビットに対する検査ビット数を
削減することができる。これにより、誤り訂正回路を搭
載しつつチップの集積度を向上させることが可能にな
る。
モリに搭載されるECC回路に使用される符号化器の構
成を示すブロック図である。
成を示すブロック図である。
表である。
ンドローム計算回路を示すブロック図である。
成する第1の演算部を示すブロック図である。
すブロック図である。
ラッシュメモリのブロック図である。
成を示す回路図である。
ック図である。
ジック回路を構成するレジスタを示す図である。
ャートである。
る。
ク回路を構成するレジスタを示す図である。
ブロック図である。
式の各項の算出アルゴリズムを示すフローチャートであ
る。
ロック図である。
図である。
他の例を示すブロック図である。
グチャートである。
ラッシュメモリの構成を示すブロック図である。
を示すブロック図である。
ローム計算回路を示すブロック図である。
すフローチャートである。
1の演算部を示すブロック図である。
2の演算部を示すブロック図である。
Claims (8)
- 【請求項1】 複数のメモリセルがマトリクス配列され
た複数のメモリセルエリアと、 各メモリセルエリアのデータ入出力部に設けられて前記
メモリセルエリアへの書き込みデータ及び前記メモリセ
ルエリアからの読み出しデータを一時格納する複数のバ
ッファと、 前記各メモリセルエリアへの書き込み用のデータを外部
から入力すると共に前記各メモリセルエリアから読み出
されたデータを外部に出力する複数の入出力端子と、 前記複数の入出力端子と前記複数のバッファとの間に設
けられて前記複数のメモリセルエリアに書き込むデータ
に対して誤り訂正用の検査ビットを生成して付加する符
号化器及び前記生成された検査ビットを使用して前記複
数のメモリセルエリアから読み出されたデータに対して
誤り訂正処理を行う復号器を備えた誤り訂正回路とを備
えた半導体記憶装置において、 前記誤り訂正回路は、1つの前記メモリセルエリアに対
する書き込み及び読み出しの単位となるデータのビット
数をMとしたとき、M×Nビット(Nは2以上の整数)
を情報ビット長として1つの検査ビットを割り当て、符
号化処理及び復号処理の少なくとも一方をNビットのデ
ータを並列に処理して実行するものであることを特徴と
する半導体記憶装置。 - 【請求項2】 前記メモリセルエリアはN個設けられて
いることを特徴とする請求項1記載の半導体記憶装置。 - 【請求項3】 前記符号化器は、情報ビット長k=M×
N、符号長n、訂正ビット長tで定められる生成多項式
G(X)から導かれる巡回符号を検査ビットとして生成
するシフトレジスタ及び演算回路からなり、 前記シフトレジスタは、次数を順番に異ならせたNビッ
トのデータを並列に入力し、1回のシフト動作で各デー
タをXN倍し、M回のシフト動作で内部に前記検査ビッ
トを生成するものであることを特徴とする請求項2記載
の半導体記憶装置。 - 【請求項4】 前記復号器は、前記情報ビットと検査ビ
ットとを入力してシンドロームを計算するシンドローム
計算回路と、 前記計算されたシンドロームから誤り位置多項式の項を
計算する第1の演算部及び計算された誤り多項式の項か
ら誤り位置多項式を算出して誤り位置を検出する第2の
演算部からなる誤り位置検出回路と、 前記メモリセルエリアからバッファを介して読み出され
たデータに対して前記検出された誤り位置でデータ反転
処理を施すデータ反転回路とを備え、 前記シンドローム計算回路は、情報ビット長k=M×
N、符号長n、訂正ビット長tで定められるα演算子の
最小多項式M(X)に基づく巡回符号をシンドロームと
して生成するシフトレジスタ及び演算回路からなり、 前記シフトレジスタは、次数を順番に異ならせたNビッ
トのデータを並列に入力し、1回のシフト動作で各デー
タをXKN(Kは整数)倍し、全ての前記情報ビット及び
検査ビットが入力されることにより内部にシンドローム
を生成するものであることを特徴とする請求項2記載の
半導体記憶装置。 - 【請求項5】 前記復号器は、前記情報ビットと検査ビ
ットとを入力してシンドロームを計算するシンドローム
計算回路と、 前記計算されたシンドロームから誤り位置多項式の項を
計算する第1の演算部及び計算された誤り多項式の項か
ら誤り位置多項式を算出して誤り位置を検出する第2の
演算部からなる誤り位置検出回路と、 前記メモリセルエリアからバッファを介して読み出され
たデータに対して前記検出された誤り位置でデータ反転
処理を施すデータ反転回路とを備え、 前記第2の演算部は、情報ビット長k=M×N、符号長
n、訂正ビット長tで定められるα演算子の最小多項式
M(X)に基づく巡回符号を誤り位置多項式の項として
生成するシフトレジスタ及び演算回路からなり、 前記シフトレジスタは、前記メモリエリアからのデータ
出力に同期してシフト動作をし、各データをXK(Kは
整数)倍し、順次、誤り訂正位置を検出するものである
ことを特徴とする請求項2記載の半導体記憶装置。 - 【請求項6】 前記符号化器、シンドローム計算回路及
び第1の演算部は、演算用ロジック回路を構成するレジ
スタと演算回路とを切り替えて構成されるものであるこ
とを特徴とする請求項4又は5記載の半導体記憶装置。 - 【請求項7】 前記シンドローム又は誤り位置多項式の
項を計算する際に使用されるガロア演算回路を更に含む
ことを特徴とする請求項4又は5記載の半導体記憶装
置。 - 【請求項8】 前記第2の演算部は、 前記Nビットのデータに対してそれぞれ設けられたN個
のローケータと、 隣接するローケータ間に介挿されて隣接するローケータ
へのデータをXL倍するXL演算回路(Lは整数)とを備
えたものであることを特徴とする請求項4又は5記載の
半導体記憶装置。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001356571A JP4112849B2 (ja) | 2001-11-21 | 2001-11-21 | 半導体記憶装置 |
US10/292,397 US7076722B2 (en) | 2001-11-21 | 2002-11-12 | Semiconductor memory device |
US11/414,826 US7644342B2 (en) | 2001-11-21 | 2006-05-01 | Semiconductor memory device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001356571A JP4112849B2 (ja) | 2001-11-21 | 2001-11-21 | 半導体記憶装置 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006126365A Division JP4113225B2 (ja) | 2006-04-28 | 2006-04-28 | 半導体装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003157697A true JP2003157697A (ja) | 2003-05-30 |
JP4112849B2 JP4112849B2 (ja) | 2008-07-02 |
Family
ID=19168071
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001356571A Expired - Lifetime JP4112849B2 (ja) | 2001-11-21 | 2001-11-21 | 半導体記憶装置 |
Country Status (2)
Country | Link |
---|---|
US (2) | US7076722B2 (ja) |
JP (1) | JP4112849B2 (ja) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005109446A1 (ja) * | 2004-05-06 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | 半導体メモリ装置 |
JP2007220260A (ja) * | 2006-02-20 | 2007-08-30 | Toshiba Corp | 半導体記憶装置 |
JP2007234086A (ja) * | 2006-02-27 | 2007-09-13 | Toshiba Corp | 半導体記憶装置 |
JP2008525937A (ja) * | 2004-12-22 | 2008-07-17 | サンディスク コーポレイション | 消去されたセクタの検出メカニズム |
JP2009070509A (ja) * | 2007-09-14 | 2009-04-02 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
JP2011060386A (ja) * | 2009-09-11 | 2011-03-24 | Nec Personal Products Co Ltd | 不揮発性メモリの試験方法及びメモリ試験装置 |
JP2011233207A (ja) * | 2010-04-28 | 2011-11-17 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
JP2012243338A (ja) * | 2011-05-17 | 2012-12-10 | Sharp Corp | 不揮発性半導体記憶装置 |
JP2014063503A (ja) * | 2013-11-07 | 2014-04-10 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4112849B2 (ja) * | 2001-11-21 | 2008-07-02 | 株式会社東芝 | 半導体記憶装置 |
JP4550439B2 (ja) * | 2003-02-28 | 2010-09-22 | 東芝メモリシステムズ株式会社 | Ecc制御装置 |
JP4217887B2 (ja) * | 2003-07-22 | 2009-02-04 | 日本電気株式会社 | 受信装置 |
KR100546348B1 (ko) | 2003-07-23 | 2006-01-26 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그 데이터 저장 방법 |
JP2005327437A (ja) * | 2004-04-12 | 2005-11-24 | Nec Electronics Corp | 半導体記憶装置 |
US7099221B2 (en) | 2004-05-06 | 2006-08-29 | Micron Technology, Inc. | Memory controller method and system compensating for memory cell data losses |
US20060010339A1 (en) * | 2004-06-24 | 2006-01-12 | Klein Dean A | Memory system and method having selective ECC during low power refresh |
US7340668B2 (en) * | 2004-06-25 | 2008-03-04 | Micron Technology, Inc. | Low power cost-effective ECC memory system and method |
US7116602B2 (en) * | 2004-07-15 | 2006-10-03 | Micron Technology, Inc. | Method and system for controlling refresh to avoid memory cell data losses |
US6965537B1 (en) * | 2004-08-31 | 2005-11-15 | Micron Technology, Inc. | Memory system and method using ECC to achieve low power refresh |
JP4791831B2 (ja) * | 2006-01-20 | 2011-10-12 | 株式会社東芝 | 半導体記憶装置 |
DE102006010820A1 (de) | 2006-03-07 | 2007-09-13 | Micronas Gmbh | Fehlerkorrektur- und Fehlererfassungs-Verfahren zum Auslesen von gespeicherten Informationsdaten und Speichersteuereinrichtung dafür |
JP2007305267A (ja) * | 2006-05-15 | 2007-11-22 | Toshiba Corp | 半導体記憶装置 |
JP2008021390A (ja) * | 2006-07-14 | 2008-01-31 | Toshiba Corp | 半導体記憶装置 |
KR100833600B1 (ko) * | 2006-08-25 | 2008-05-30 | 삼성전자주식회사 | 에러 정정 회로, 그 방법 및 상기 회로를 구비하는 반도체메모리 장치 |
JP4891704B2 (ja) * | 2006-08-28 | 2012-03-07 | 株式会社東芝 | 半導体記憶装置 |
US7894289B2 (en) * | 2006-10-11 | 2011-02-22 | Micron Technology, Inc. | Memory system and method using partial ECC to achieve low power refresh and fast access to data |
US7900120B2 (en) * | 2006-10-18 | 2011-03-01 | Micron Technology, Inc. | Memory system and method using ECC with flag bit to identify modified data |
JP2008217857A (ja) * | 2007-02-28 | 2008-09-18 | Toshiba Corp | メモリコントローラ及び半導体装置 |
US8069395B2 (en) * | 2007-03-01 | 2011-11-29 | Cisco Technology, Inc. | Three bit error detection using ECC codes |
US8042022B2 (en) | 2007-03-08 | 2011-10-18 | Micron Technology, Inc. | Method, system, and apparatus for distributed decoding during prolonged refresh |
JP4621715B2 (ja) * | 2007-08-13 | 2011-01-26 | 株式会社東芝 | メモリ装置 |
CN101140809A (zh) * | 2007-09-07 | 2008-03-12 | 炬力集成电路设计有限公司 | 支持流水线纠错码和可配置操作的flash控制器及其控制方法 |
US7791974B2 (en) * | 2008-03-31 | 2010-09-07 | Intel Corporation | Recovery of existing SRAM capacity from fused-out blocks |
US8023358B2 (en) * | 2008-04-02 | 2011-09-20 | International Business Machines Corporation | System and method for providing a non-power-of-two burst length in a memory system |
JP2010009141A (ja) * | 2008-06-24 | 2010-01-14 | Toshiba Corp | データ転送方法 |
JP2010097600A (ja) * | 2008-09-22 | 2010-04-30 | Panasonic Corp | 半導体記録装置 |
JP5259343B2 (ja) * | 2008-10-31 | 2013-08-07 | 株式会社東芝 | メモリ装置 |
US20100198902A1 (en) * | 2009-02-03 | 2010-08-05 | Microsoft Corporation | Computing minimal polynomials of radical expressions |
US8533564B2 (en) * | 2009-12-23 | 2013-09-10 | Sandisk Technologies Inc. | System and method of error correction of control data at a memory device |
TWI473105B (zh) * | 2011-01-18 | 2015-02-11 | Macronix Int Co Ltd | 具有錯誤自動檢查與更正位元之三維記憶體結構 |
US8615690B2 (en) * | 2011-05-05 | 2013-12-24 | Mediatek Inc. | Controller of memory device and method for operating the same |
US9471419B2 (en) | 2013-03-12 | 2016-10-18 | Sandisk Technologies Llc | Systems and methods for performing data recovery in a memory system |
US9239756B2 (en) * | 2013-12-13 | 2016-01-19 | Sandisk Technologies Inc. | Systems and methods for performing data recovery in a memory system |
US20150193301A1 (en) * | 2014-01-06 | 2015-07-09 | Kabushiki Kaisha Toshiba | Memory controller and memory system |
US9720772B2 (en) | 2015-03-04 | 2017-08-01 | Kabushiki Kaisha Toshiba | Memory system, method for controlling magnetic memory, and device for controlling magnetic memory |
US9659610B1 (en) * | 2016-05-18 | 2017-05-23 | Micron Technology, Inc. | Apparatuses and methods for shifting data |
US10394648B2 (en) * | 2016-11-07 | 2019-08-27 | Samsung Electronics Co., Ltd. | Method to deliver in-DRAM ECC information through DDR bus |
TWI643201B (zh) * | 2017-11-27 | 2018-12-01 | 慧榮科技股份有限公司 | 編碼器及相關的編碼方法與快閃記憶體控制器 |
CN109756235A (zh) * | 2018-12-07 | 2019-05-14 | 天津津航计算技术研究所 | 一种可配置的并行bch纠错编码方法 |
US20230267043A1 (en) * | 2022-02-23 | 2023-08-24 | Micron Technology, Inc. | Parity-based error management for a processing system |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS62214599A (ja) | 1986-03-14 | 1987-09-21 | Fujitsu Ltd | 半導体記憶装置 |
JPH03119835A (ja) | 1989-10-03 | 1991-05-22 | Nippon Telegr & Teleph Corp <Ntt> | 誤り訂正回路 |
US5291496A (en) * | 1990-10-18 | 1994-03-01 | The United States Of America As Represented By The United States Department Of Energy | Fault-tolerant corrector/detector chip for high-speed data processing |
US5226043A (en) * | 1990-12-27 | 1993-07-06 | Raytheon Company | Apparatus and method for data error detection and correction and address error detection in a memory system |
JP2662472B2 (ja) | 1991-06-13 | 1997-10-15 | シャープ株式会社 | 誤り訂正処理用シンドローム演算回路 |
US5343426A (en) * | 1992-06-11 | 1994-08-30 | Digital Equipment Corporation | Data formater/converter for use with solid-state disk memory using storage devices with defects |
JP3241851B2 (ja) | 1993-03-18 | 2001-12-25 | 株式会社東芝 | 誤り訂正復号装置 |
JPH09180496A (ja) | 1995-12-28 | 1997-07-11 | Fujitsu Ltd | 半導体記憶装置 |
US5699368A (en) * | 1994-03-25 | 1997-12-16 | Mitsubishi Denki Kabushiki Kaisha | Error-correcting encoder, error-correcting decoder, and data transmitting system with error-correcting codes |
JPH08167857A (ja) | 1994-12-15 | 1996-06-25 | Mitsubishi Electric Corp | 復号方式 |
JP3272903B2 (ja) * | 1995-03-16 | 2002-04-08 | 株式会社東芝 | 誤り訂正検出回路と半導体記憶装置 |
WO1996032674A2 (en) * | 1995-04-13 | 1996-10-17 | Cirrus Logic, Inc. | Semiconductor memory device for mass storage block access applications |
US5757826A (en) * | 1995-07-12 | 1998-05-26 | Quantum Corporation | Word-wise processing for reed-solomon codes |
US5754563A (en) * | 1995-09-11 | 1998-05-19 | Ecc Technologies, Inc. | Byte-parallel system for implementing reed-solomon error-correcting codes |
JPH09162753A (ja) | 1995-12-05 | 1997-06-20 | Fuji Electric Co Ltd | 符号語の復号方式 |
JPH09288895A (ja) * | 1996-04-19 | 1997-11-04 | Toshiba Corp | 3値記憶半導体記憶システム |
US5740188A (en) * | 1996-05-29 | 1998-04-14 | Compaq Computer Corporation | Error checking and correcting for burst DRAM devices |
US6308295B1 (en) * | 1996-10-08 | 2001-10-23 | Arizona Board Of Regents | Parallel spectral reed-solomon encoder and decoder |
US5784391A (en) * | 1996-10-08 | 1998-07-21 | International Business Machines Corporation | Distributed memory system with ECC and method of operation |
JPH10126280A (ja) | 1996-10-18 | 1998-05-15 | Matsushita Electric Ind Co Ltd | 並列処理誤り訂正復号装置 |
JPH10334697A (ja) | 1997-05-28 | 1998-12-18 | Sony Corp | 半導体記憶装置およびその誤り訂正方法 |
JPH1173797A (ja) | 1997-08-27 | 1999-03-16 | Sony Corp | 記憶装置 |
US6360346B1 (en) * | 1997-08-27 | 2002-03-19 | Sony Corporation | Storage unit, method of checking storage unit, reading and writing method |
US6732322B1 (en) * | 1998-01-21 | 2004-05-04 | Sony Corporation | Encoding method and memory device |
WO1999048097A1 (en) * | 1998-03-18 | 1999-09-23 | Stmicroelectronics S.R.L. | Reed-solomon decoding of data read from dvd or cd supports |
US6158040A (en) * | 1998-07-29 | 2000-12-05 | Neomagic Corp. | Rotated data-aligmnent in wade embedded DRAM for page-mode column ECC in a DVD controller |
KR100287018B1 (ko) * | 1998-08-07 | 2001-04-16 | 윤종용 | 에러 정정 회로를 구비한 반도체 메모리 장치 |
JP4105819B2 (ja) * | 1999-04-26 | 2008-06-25 | 株式会社ルネサステクノロジ | 記憶装置およびメモリカード |
JP2000348497A (ja) | 1999-06-08 | 2000-12-15 | Toshiba Corp | 半導体記憶装置 |
JP4074029B2 (ja) * | 1999-06-28 | 2008-04-09 | 株式会社東芝 | フラッシュメモリ |
KR100322542B1 (ko) * | 1999-08-11 | 2002-03-18 | 윤종용 | 파이프 라인상의 고속동작을 구현하는 ecc 회로를 구비하는동기식 반도체 메모리장치 및 이 동기식 반도체 메모리장치의 에러 체크 및 정정방법 |
JP3975245B2 (ja) * | 1999-12-16 | 2007-09-12 | 株式会社ルネサステクノロジ | 記録再生装置および半導体メモリ |
US6862662B1 (en) * | 2000-03-03 | 2005-03-01 | Micron Technology, Inc. | High density storage scheme for semiconductor memory |
US6731538B2 (en) * | 2000-03-10 | 2004-05-04 | Kabushiki Kaisha Toshiba | Semiconductor memory device including page latch circuit |
JP4707803B2 (ja) * | 2000-07-10 | 2011-06-22 | エルピーダメモリ株式会社 | エラーレート判定方法と半導体集積回路装置 |
US20030120858A1 (en) * | 2000-09-15 | 2003-06-26 | Matrix Semiconductor, Inc. | Memory devices and methods for use therewith |
US6661730B1 (en) * | 2000-12-22 | 2003-12-09 | Matrix Semiconductor, Inc. | Partial selection of passive element memory cell sub-arrays for write operation |
JP2002251884A (ja) * | 2001-02-21 | 2002-09-06 | Toshiba Corp | 半導体記憶装置及びそのシステム装置 |
US6957378B2 (en) * | 2001-06-04 | 2005-10-18 | Kabushiki Kaisha Toshiba | Semiconductor memory device |
US7051264B2 (en) * | 2001-11-14 | 2006-05-23 | Monolithic System Technology, Inc. | Error correcting memory and method of operating same |
JP4112849B2 (ja) * | 2001-11-21 | 2008-07-02 | 株式会社東芝 | 半導体記憶装置 |
JP3914839B2 (ja) * | 2002-07-11 | 2007-05-16 | エルピーダメモリ株式会社 | 半導体記憶装置 |
JP4102313B2 (ja) | 2004-02-05 | 2008-06-18 | 株式会社東芝 | 半導体集積回路装置 |
JP4191100B2 (ja) * | 2004-06-18 | 2008-12-03 | エルピーダメモリ株式会社 | 半導体記憶装置 |
-
2001
- 2001-11-21 JP JP2001356571A patent/JP4112849B2/ja not_active Expired - Lifetime
-
2002
- 2002-11-12 US US10/292,397 patent/US7076722B2/en not_active Expired - Lifetime
-
2006
- 2006-05-01 US US11/414,826 patent/US7644342B2/en not_active Expired - Lifetime
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101115843B1 (ko) | 2004-05-06 | 2012-03-09 | 파나소닉 주식회사 | 반도체 메모리장치 |
CN100576360C (zh) * | 2004-05-06 | 2009-12-30 | 松下电器产业株式会社 | 半导体存储器装置 |
US7793192B2 (en) | 2004-05-06 | 2010-09-07 | Panasonic Corporation | Semiconductor memory device |
JPWO2005109446A1 (ja) * | 2004-05-06 | 2008-03-21 | 松下電器産業株式会社 | 半導体メモリ装置 |
WO2005109446A1 (ja) * | 2004-05-06 | 2005-11-17 | Matsushita Electric Industrial Co., Ltd. | 半導体メモリ装置 |
JP4791356B2 (ja) * | 2004-05-06 | 2011-10-12 | パナソニック株式会社 | 半導体メモリ装置 |
US8327238B2 (en) | 2004-12-22 | 2012-12-04 | Sandisk Technologies Inc. | Erased sector detection mechanisms |
JP2008525937A (ja) * | 2004-12-22 | 2008-07-17 | サンディスク コーポレイション | 消去されたセクタの検出メカニズム |
JP2007220260A (ja) * | 2006-02-20 | 2007-08-30 | Toshiba Corp | 半導体記憶装置 |
JP2007234086A (ja) * | 2006-02-27 | 2007-09-13 | Toshiba Corp | 半導体記憶装置 |
JP2009070509A (ja) * | 2007-09-14 | 2009-04-02 | Oki Electric Ind Co Ltd | 半導体記憶装置 |
US7656322B2 (en) | 2007-09-14 | 2010-02-02 | Oki Semiconductor Co., Ltd. | Semiconductor memory device having error correction function |
JP2011060386A (ja) * | 2009-09-11 | 2011-03-24 | Nec Personal Products Co Ltd | 不揮発性メモリの試験方法及びメモリ試験装置 |
JP2011233207A (ja) * | 2010-04-28 | 2011-11-17 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
US8677217B2 (en) | 2010-04-28 | 2014-03-18 | The University Of Tokyo | Data input / output control device and semiconductor memory device system |
JP2012243338A (ja) * | 2011-05-17 | 2012-12-10 | Sharp Corp | 不揮発性半導体記憶装置 |
JP2014063503A (ja) * | 2013-11-07 | 2014-04-10 | Univ Of Tokyo | データ入出力制御装置および半導体記憶装置システム |
Also Published As
Publication number | Publication date |
---|---|
US20060195766A1 (en) | 2006-08-31 |
JP4112849B2 (ja) | 2008-07-02 |
US7076722B2 (en) | 2006-07-11 |
US20030101405A1 (en) | 2003-05-29 |
US7644342B2 (en) | 2010-01-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2003157697A (ja) | 半導体記憶装置 | |
JP5043562B2 (ja) | エラー訂正回路、その方法及び前記回路を備える半導体メモリ装置 | |
US8339854B2 (en) | Nonvolatile memory device and data randomizing method thereof | |
US7464320B2 (en) | Synchronous semiconductor storage device having error correction function | |
US7366971B2 (en) | Semiconductor memory having sub-party cell array error correction | |
US20090319863A1 (en) | Error-correcting system of semiconductor memory, error-correcting method, and memory system with error-correcting system | |
US8990667B2 (en) | Error check and correction circuit, method, and memory device | |
US7984363B2 (en) | Integrated circuit device including a circuit to generate error correction code for correcting error bit for each of memory circuits | |
JP2006190425A (ja) | 半導体記憶装置 | |
US20080082872A1 (en) | Memory controller, memory system, and data transfer method | |
KR20120063329A (ko) | 에러 체크 및 정정기 및 그것을 포함하는 메모리 시스템 | |
JP4113225B2 (ja) | 半導体装置 | |
US7075851B2 (en) | Semiconductor memory device inputting/outputting data and parity data in burst operation | |
JP2014033364A (ja) | 誤り検出訂正回路、及びメモリ装置 | |
JP2001202792A (ja) | 半導体記憶装置のエラー訂正符号化方法及び半導体記憶装置 | |
CN115732017A (zh) | 半导体存储装置及读出方法 | |
JP5617776B2 (ja) | メモリ回路,メモリ装置及びメモリデータの誤り訂正方法 | |
JP7178465B1 (ja) | 半導体記憶装置 | |
US11831335B2 (en) | Memory system and control method of controlling nonvolatile memory | |
JPH10334697A (ja) | 半導体記憶装置およびその誤り訂正方法 | |
JPS58222497A (ja) | マイクロプログラム制御装置 | |
JPH01119997A (ja) | 半導体記憶装置 | |
JPS61233500A (ja) | 半導体記憶装置 | |
JPS63214840A (ja) | エラ−検出訂正回路 | |
JP2014057203A (ja) | ガロア体演算回路、及びメモリ装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040929 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070828 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071029 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20071225 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080225 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080317 |
|
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: 20080408 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080410 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 4112849 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110418 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130418 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140418 Year of fee payment: 6 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
EXPY | Cancellation because of completion of term |