JP2003256294A - 記憶システム - Google Patents

記憶システム

Info

Publication number
JP2003256294A
JP2003256294A JP2003095677A JP2003095677A JP2003256294A JP 2003256294 A JP2003256294 A JP 2003256294A JP 2003095677 A JP2003095677 A JP 2003095677A JP 2003095677 A JP2003095677 A JP 2003095677A JP 2003256294 A JP2003256294 A JP 2003256294A
Authority
JP
Japan
Prior art keywords
data
error
bit
storage
read
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
JP2003095677A
Other languages
English (en)
Other versions
JP3866674B2 (ja
Inventor
Toru Tanzawa
徹 丹沢
Tomoharu Tanaka
智晴 田中
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2003095677A priority Critical patent/JP3866674B2/ja
Publication of JP2003256294A publication Critical patent/JP2003256294A/ja
Application granted granted Critical
Publication of JP3866674B2 publication Critical patent/JP3866674B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

(57)【要約】 【課題】 バースト誤りが生じて1符号語中に2ビット
誤りが発生した場合でも、1ビット誤りを訂正し、更
に、2ビット誤りを検出する符号を用いて2ビット誤り
を訂正する可能性を有する記憶システムを提供するこ
と。 【解決手段】 複数の記憶素子に情報データと検査デー
タとを記憶する記憶手段(210,220)と、前記情
報データと前記検査データとに基づいて前記情報データ
の誤りを検出するための誤り検出手段(40)と、前記
情報データと前記検査データとに基づいて前記情報デー
タの誤りを修正する誤り修正手段(50)と、バースト
破壊が前記複数の記憶素子に記憶されたデータに発生す
る位置を検出するバースト破壊位置検出手段(160)
とバースト破壊が発生したデータを変更するデータ変更
手段(170)とを備えた。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、記憶システム、特
に電気的書替え可能な不揮発性半導体メモリを用いた多
値の記憶システムに関する。
【0002】
【従来の技術】近年、記憶システムとして、半導体メモ
リを用いた半導体記憶装置が広く使用されている。半導
体記憶装置では、高集積度化、高密度化に伴う種々な影
響による信頼性低下を防ぐことが重要な課題である。
【0003】このため、誤り検出/訂正を行う誤り検出
/訂正符号が、半導体記憶装置へしばしば適応される。
実用上、この誤り検出/訂正符号は次の全てを満足しな
ければならない。
【0004】(1) エラー頻度が、半導体記憶装置に
固有な許容エラー頻度以下であること。
【0005】(2) 高速な読み書き動作に伴い、高速
な符号化及び復号化が可能なものであること。
【0006】(3) 符号構成に当たって、符号の冗長
度はできるだけ小さいこと。
【0007】上記のような実用的な観点から、今日ま
で、1ビット誤りを訂正し、かつ、2ビット誤りを検出
するSEC−DED符号が広く採用されている。
【0008】一層の高信頼度を狙いとして、2ビット誤
りを訂正するDEC符号が応用されている。特に、メモ
リパッケージ単位、或いは複数ビット出力記憶素子単位
の誤り検出/訂正を目的としたバイト誤り検出/訂正符
号が重要である。このようなバイト単位でデータを扱う
装置を具体的に実用化する観点から言えば、単一バイト
誤りを訂正するだけでなく、2バイト誤り検出能力の高
いSbEC−DbED符号が要求される。
【0009】電気的書替え可能な不揮発性半導体記憶装
置(EEPROM)では、半導体基板上に積層形成され
た電荷蓄積層及び制御ゲートからなるメモリセルを用い
て、電荷蓄積層に蓄えられた複数の電荷量の大きさを離
散的に設定する(すなわち、制御ゲートから見た複数の
しきい電圧Vtを離散的に設定する)ことによって、複
数の情報を記憶することができる。
【0010】また、単位面積当たり格納できるデータ量
を増やすために、多値記憶の方法が考えられている。例
えば、3値セルを2個のセルで3ビットとする多値RO
Mが知られている。
【0011】多値メモリは、3つ以上の異なる電圧Vt
分布をとることが可能なメモリセルによって構成され
る。電荷蓄積層に蓄えられた電荷量の大きさが0である
時の電圧Vtを中性電圧Vt0 とすれば、長時間放置後
に、メモリセルに書き込まれた情報を示すしきい電圧V
tの分布が、中性電圧Vt0 を含むような電圧分布に変
わる場合がある。
【0012】そのため、多値メモリに対する誤り訂正方
法が考えられている。
【0013】例えば、 (1) 多値ダイナミック型半導体メモリの場合には、
1ソフトエラーで1セルデータは完全に破壊されるの
で、1セル当たりのビット数が救済できる訂正符号が必
要である。
【0014】(2) フラッシュメモリの場合には、読
み出された多値データと書き込まれた多値データとの大
きさは1だけしか変わり得ないので、隣接状態の対応す
る情報が1ビットだけ異なるように対応付けしておけ
ば、状態が隣へ遷移した場合に、パリティ検出ができ
る。
【0015】3値メモリの場合には、例えば制御ゲート
を共有する隣合うメモリセルで構成されるセル群がその
基本要素である。この場合、1メモリセルは3値を有す
るので、1セル群は3×3=9値を有する。そのうちの
8値を使うことにより、2セル(すなわち1セル群)当
たり3ビット情報を記憶できる。
【0016】高集積化可能な3値NAND型EEPRO
Mの構造とその動作を簡単に述べる。図24は、NAN
Dセル構造例を示す断面図であり、NANDセルは、p
基板11と、浮遊ゲート14と、制御ゲート16と、層
間絶縁膜17と、ビット線18と、n型拡散層19とを
有する。
【0017】複数のメモリセルのうち隣接するメモリセ
ルのソース及びドレインを共有する形で直列接続し、こ
れを一単位としてビット線に接続して、NANDセルを
構成する。メモリセルアレイは、p型基板又はn型基板
に形成されたp型ウェル内に集積形成される。NAND
セルのドレイン側は選択ゲートを介してビット線に接続
され、ソース側もドレイン側と同様に選択ゲートを介し
てソース線に接続される。メモリセルの制御ゲートは、
行方向に連続的に配設されてワード線となる。
【0018】上記の3値NAND型EEPROMの動作
は次の通りである。
【0019】データの書き込みの動作は、ビット線から
最も離れた位置のメモリセルから順に行われる。選択メ
モリセルの制御ゲートには高電圧Vpp(=20V程度)
が印加され、選択メモリセルよりビット線側にあるメモ
リセルの制御ゲート及び選択ゲートに中間電圧Vm(=
10V程度)が印加され、ビット線にデータに応じて0
V、低電圧Vdd(=2V程度)又は中間電圧が与えられ
る。ビット線に0V又は低電圧Vdd(=2V程度)が与
えられた時に、ビット線の電位は選択メモリセルのドレ
インまで伝達されて、ドレインから浮遊ゲートに電子注
入が生じる。これにより、選択メモリセルのしきい電圧
は正方向にシフトする。しかし、ビット線に低電圧Vdd
が与えられた時のシフト量はビット線に0Vが与えられ
た時のシフト量より小さくなる。ビット線に中間電圧が
与えられた時は電子注入が起こらないので、しきい電圧
は変化しない。
【0020】データ消去動作は、NANDセル内の全て
のメモリセルに対して同時に行われる。すなわち、全て
の制御ゲート、選択ゲートを0Vとし、ビット線及びソ
ース線を浮遊状態として、p型ウェル及びn型基板に高
電圧Vpp(=20V程度)が印加される。これにより、
全てのメモリセル浮遊ゲートの電子がp型ウェルに放出
され、しきい電圧は負方向にシフトする。
【0021】データ読み出し動作は、2サイクルで行わ
れる。第1のサイクルでは、選択メモリセルの制御ゲー
トを0V、それ以外のメモリセルの制御ゲート及び選択
ゲートを電源電圧Vcc(=5V程度)として、選択メモ
リセルで電流が流れるか否かを検出する。第2のサイク
ルでは、選択メモリセルの制御ゲートを低電圧Vdd(=
2V程度)とし、それ以外のメモリセルの制御ゲート及
び選択ゲートを電源電圧Vcc(=5V程度)として、選
択メモリセルで電流が流れるか否かを検出する。ここ
で、3つのしきい電圧分布Vtは、それぞれVt<0
V、0V=<Vt<Vdd、Vdd=<Vt<Vccである。
【0022】多値の値を決める物理量(例えば、EEP
ROMのメモリセルのしきい電圧)の大きさを大きい順
に並べた時のi番目のデータを多値データ“i”とし
て、読み出された多値データと書き込まれた多値データ
との大きさが1だけ変わる場合を考慮する。その時、読
み出される出力データが書き込まれた入力データと大き
さが2以上異なる場合が存在する。その結果、入出力デ
ータを情報データとする誤り訂正/検出符号として、少
なくともSbEC符号が必要となる。更に、信頼度を2
値記憶素子の場合のSEC−DED符号と同程度にする
には、SbEC−DbED符号が要求される。しかし、
このSbEC−DbED符号はSEC−DED符号に比
べ、高い冗長度、すなわち複雑な復号化回路を必要とす
る。
【0023】上記の大きさが2以上異なる場合を簡単に
説明する。
【0024】表1は、3値セルの状態を”0”、”
1”、”2”とした場合における2つのセルの状態の9
通りの組合せのうち、”2””2”を除いた8通りを用
いて3ビットとする多値メモリの情報と状態の対応関係
を表す。3ビット情報と状態の組合せは、隣合う2つが
1ビットだけ、又は、大きさ”1”だけ、それぞれ異な
るように並べられて対応している。この時、状態が大き
さ”1”だけ変わり得る場合を想定すると、状態の組合
せでは入出力データ”4”に対応する状態”1””1”
は、”1””2”、”1””0”、”0””1”及び”
2””1”の4通りに変わり得るのに対して、3ビット
情報の方は3ビットのうち1ビット異なる3通り(すな
わち、入出力データ”3”、”5”及び”7”)にしか
変わらない。従って、このような誤りのある場合に、情
報ビットを訂正しようとすると、2ビット訂正可能な誤
り訂正符号を用いなければならない。
【0025】 また、記憶データのカラム不良等のバースト誤りがある
場合に、正味の誤り訂正/検出能力は低下する。このよ
うなバースト誤りがある場合に、例えばバースト誤りの
あるアドレス以外の1つの記憶データに誤りがある時に
これらを訂正したければ、少なくとも2ビット誤り訂正
符号を適用しなければならない。
【0026】例えば、電気的書替え可能な不揮発性半導
体記憶装置(EEPROM)では、特有なカラム不良が
生ずることがある。このカラム不良は、ビット線にリー
クがある場合、或いはブロック内の共通カラム中のメモ
リセルが過剰書き込み又は過剰消去された場合に起こ
る。このようなカラム不良がある場合に、更に別のカラ
ムアドレスのメモリセルに誤りがある時には、SbEC
符号などの単一bビットバイト誤り訂正符号によって誤
りが訂正できず、例えば二重bビットバイト誤り訂正符
号が必要である。しかし、この符号はSbEC符号に比
べ、高い冗長度、すなわち複雑な復号化回路を必要とす
る。
【0027】
【発明が解決しようとする課題】上記のように従来の記
憶システムは、下記のような問題を有する。
【0028】多値の値を決める物理量の大きさを大きい
順に並べた時のi番目のデータを多値データ“i”とし
て、読み出された多値データと書き込まれた多値データ
との大きさが1だけ変わる場合に、読み出される出力デ
ータが書き込まれた入力データと大きさが2以上異なる
場合が存在する。その結果、入出力データを情報データ
とする誤り訂正/検出符号として、少なくともSbEC
符号が必要である。更に、信頼度を2値記憶素子の場合
のSEC−DED符号と同程度にするには、SbEC−
DbED符号が要求される。しかし、このSbEC−D
bED符号はSEC−DED符号に比べ、高い冗長度、
すなわち複雑な復号化回路を必要とする。
【0029】EEPROMは、特有なカラム不良が生ず
ることがあり、このようなカラム不良がある場合に更に
別のカラムアドレスのメモリセルに誤りがある時に、S
bEC符号などの単一bビットバイト誤り訂正符号によ
っては訂正できず、例えば二重bビットバイト誤り訂正
符号が必要である。この符号はSbEC符号に比べ、高
い冗長度、すなわち複雑な復号化回路を必要とする。
【0030】本発明の目的は、多値の値を決める物理量
の大きさを大きい順に並べた時のi番目のデータを多値
データ“i”として、読み出された多値データと書き込
まれた多値データとの大きさが1しか変わらない場合に
適した誤り検出/訂正手段を用いることによって、比較
的低い冗長度、すなわち簡単な復号化回路を用いること
及び2ビット誤り検出を完全に行い得る記憶システムを
提供することである。
【0031】本発明の他の目的は、バースト誤りが生じ
て1符号語中に2ビット誤りが発生した場合でも、1ビ
ット誤りを訂正し、更に、2ビット誤りを検出する符号
を用いて2ビット誤りを訂正する可能性を有する記憶シ
ステムを提供することである。
【0032】
【課題を解決するための手段】本発明の第1の局面に係
る記憶システムは、それぞれがデータ"0"、"1"、・・
・、"n−1"に対応するn値の記憶状態のいずれか1つ
の状態を記憶する複数の記憶素子を有し、n値情報デー
タを記憶する情報データ記憶手段と、検査データを記憶
する検査データ記憶手段とを備えた記憶手段と、前記n
値情報データから中間バイナリ・コードに変換する変換
手段と、前記中間バイナリ・コードと前記検査データと
に基づいて前記中間バイナリ・コードの誤りを検出し、
訂正する検出/訂正手段とを具備することを特徴とす
る。また、また、上記のn値の記憶は、複数の記憶素子
の組み合わせにより行われるようにしている。
【0033】本発明の第1の局面に係る記憶システムの
望ましい実施態様には、次のものがある。なお、下記の
実施態様はそれぞれ独立に適用しても良いし、適宜組み
合わせて適用しても良い。
【0034】(1) 情報データ記憶手段が、記憶すべ
きデータに対応するバイナリ・コードを用いて、誤り検
出データ/訂正データ記憶手段の記憶素子に記憶すべき
データに対応する中間バイナリ・コードを発生させる手
段と、中間バイナリ・コードに基づいて、記憶素子にn
値記憶させる書き込み手段を備えたこと。
【0035】(2) 記憶素子の記憶データを、1ビッ
トが“0”と“1”で構成される複数ビットのバイナリ
・コードに変換して、情報データと誤り検出データ又は
誤り訂正データから誤りを検出又は訂正し、バイナリ・
コードから複数の記憶素子のデータの組み合わせで表さ
れるデータ・コードを出力すること。
【0036】(3) (2)において、データ・コード
から変換された情報データ記憶手段の記憶素子が記憶す
べきデータに対応するバイナリ・コードから、誤り検出
データ/訂正データ記憶手段の記憶素子に記憶すべきデ
ータに対応するバイナリ・コードを発生させ、このバイ
ナリ・コードに基づいて、記憶素子にn値記憶させる書
き込み手段を備えたこと。
【0037】(4) 記憶素子のデータ“i”(i=
0、1、…、n−2)に対応するバイナリ・コードとデ
ータ“i+1”に対応するバイナリ・コードは、バイナ
リ・コード中の1ビットのみ異なるようにされ、且つ記
憶素子のデータ“i”(i=1、…、n−1)に対応す
る前記バイナリ・コードとデータ“i−1”に対応する
バイナリ・コードは、バイナリ・コード中の1ビットの
み異なるようにされること。
【0038】(5) 記憶素子は蓄えられた電荷量でn
値記憶し、電荷量の大きさの順に、データ“0”、
“1”、…、“n−1”が対応していること。
【0039】(6) 記憶システムは不揮発性半導体記
憶システムであり、記憶素子は半導体層上に電荷蓄積層
と制御ゲートが積層形成され構成されたメモリセルであ
ること。
【0040】(7) 前記記憶素子の記憶状態の遷移は
1以下であること。
【0041】(8) 前記記憶手段は、N値(Nは3以
上の整数)かつM個(Mは2以上の整数)の記憶素子の
組合せで、n<2M の関係を有するnビット(2n <N
M <2 n+1 )情報を記憶すること。
【0042】多値の値を決める物理量の大きさを大きい
順に並べた時のi番目のデータを多値データ“i”とし
て、読み出された多値データと書き込まれた多値データ
との大きさが1しか変わらない場合に、多値データの大
きさが1だけ異なるとき対応するコードが1ビット異な
る(すなわちハミング距離1となる)ような中間バイナ
リ・コードを導入することによって、1ビット誤り訂正
符号の適用が可能となる。これにより、比較的低い冗長
度、すなわち簡単な復号化回路を用いることができ、更
に2ビット誤り検出能力を持つ2ビット誤り検出符号に
拡張することによって2ビット誤り検出を完全に行うこ
とができる。
【0043】例えば、電気的書替え可能な不揮発性半導
体記憶装置(EEPROM)では、図25に示すよう
に、半導体基板(n基板11′上のpウェル11)上に
積層形成された電荷蓄積層14及び制御ゲート16から
なるメモリセルを用いて、電荷蓄積層14に蓄えられた
電荷量の大きさを離散的にすることによって、すなわち
制御ゲート16から見たしきい電圧Vtを離散的にする
ことによって、情報を記憶することができる。多値メモ
リは、このVt分布を3つ以上持たせたメモリセルによ
って構成される。
【0044】図26は、3値メモリの場合のセルのしき
い電圧レベルと多値“0”、“1”、“2”の対応例を
示す。電荷蓄積層に蓄えられた電荷量の大きさが0であ
る時の電圧Vtを中性電圧Vt0 と呼び、この中性電圧
Vt0 が“1”の電圧Vt分布内であれば、メモリセル
に書き込まれた情報は、長時間放置後中性電圧Vt0
含むVt分布の対応する情報に変わってしまうことがあ
る。この場合の情報の誤りの大きさは、高々“1”であ
る。すなわち、情報の誤りは、“0”と“1”の間又は
“1”と“2”の間のみに起こる。
【0045】図27及び図28は、それぞれNOR型E
EPROM、NAND型EEPROMのセルアレイ部分
を示す図である。3値メモリでは、例えば制御ゲートを
共有した隣合うメモリセルで構成されるセル群をその基
本要素とする。1メモリセルは3値を有するので、1セ
ル群は9値を有する。そのうちの8値を使って、2セル
当たり3ビットの情報を記憶できる。
【0046】3値データと中間バイナリ・コードとの対
応関係を、例えば、表2のように多値データが大きさ1
だけ異なる時に対応するバイナリ・コードがハミング距
離1となるようにすることによって、誤りは1ビット誤
り訂正符号の適用によって訂正できる。
【0047】 表 2 3値データ バイナリ・データ “0” 01 “1” 00 “2” 10 更に、4値、5値、8値の場合も同様に、多値データと
バイナリ・コードの対応関係を、例えば下記の表3、表
4、表5のようにすることによって達成できる。
【0048】 表 3 4値データ バイナリ・データ “0” 00 “1” 01 “2” 11 “3” 10 表 4 5値データ バイナリ・データ “0” 000 “1” 001 “2” 011 “3” 111 “4” 110 表 5 8値データ バイナリ・データ “0” 000 “1” 001 “2” 011 “3” 010 “4” 110 “5” 100 “6” 101 “7” 111 本発明の第2の局面に係る記憶システムは、複数の記憶
素子に情報データと検査データとを記憶する記憶手段
と、前記情報データと前記検査データとに基づいて前記
情報データの誤りを検出するための誤り検出手段と、前
記情報データと前記検査データとに基づいて前記情報デ
ータの誤りを修正する誤り修正手段と、バースト破壊が
前記複数の記憶素子に記憶されたデータに発生する位置
を検出するバースト破壊位置検出手段と、バースト破壊
が発生したデータを変更するデータ変更手段とを具備す
ることを特徴とする。
【0049】本発明の第2の局面に係る他の記憶システ
ムは、情報データと検査データとを含むデータを複数の
記憶素子に記憶する記憶手段と、前記複数の記憶素子で
発生するバースト破壊の位置を検出するバースト破壊位
置検出手段と、バースト破壊が発生したデータを変更す
るデータ変更手段と、前記情報データと前記検査データ
との関係に基づいて、前記データ変更手段によって変更
されたデータの誤りを検出するための誤り検出手段と、
前記情報データと前記検査データとの関係に基づいて、
データ変更手段によって変更されたデータの前記誤りを
修正するための誤り修正手段とを具備することを特徴と
する。第2の局面に係る記憶システムにおいて、下記の
ような実施態様が好ましい。なお、下記の実施態様はそ
れぞれ独立に適用しても良いし、適宜組み合わせて適用
しても良い。
【0050】(1) 考え得る全てバースト破壊位置の
データを用いて、前記データ再設定手段と前記誤り検出
/訂正手段を繰り返し用いながら誤り検出又は訂正を行
うこと。
【0051】(2) すべての可能なデータパターンが
十分に試されるまでデータを変更するための反復手段を
更に具備すること。
【0052】(3) 複数のバースト破壊が所定の数の
ビット誤りよりも大きいとき、ビット誤りの数がビット
誤りの所定の数よりも大きいとき、又は、修正可能な誤
りの数が修正可能な誤りの所定の数よりも大きいとき
に、読み出しデータが誤りを含むことを表す誤りフラッ
グを出力するための誤りフラッグ出力手段を更に具備す
ること。
【0053】(4) 前記複数の記憶素子のそれぞれは
N値(Nは1以上の整数である)の1つの値を記憶する
こと。
【0054】(5) 前記N値の1つが帯電量の大きさ
によって与えられること。
【0055】(6) 前記複数の記憶素子のそれぞれ
は、半導体層上に電荷蓄積層とコントロールゲートを積
層して形成される不揮発性メモリセルを含むこと。
【0056】本発明の第2の局面に係る記憶システムに
よれば、電気的書替え可能な不揮発性半導体記憶装置
(EEPROM)において、固有なカラム不良等のバー
スト誤りが生じ、その結果1符号語中に2ビット誤りが
発生しても、1ビット誤りを訂正し、2ビット誤りを検
出する符号を用いて2ビット誤りを訂正する可能性を持
たせることができる。
【0057】
【発明の実施の形態】図面を参照して本発明の実施の形
態を説明する。
【0058】図1は、本発明の第1実施形態に係る記憶
システムの概略構成図である。第1実施形態の記憶シス
テムは、データ変換器10と、検査データ演算器20
と、セルアレイ30と、誤り検出器40と、誤り訂正器
50と、データ逆変換器60とを具備する。
【0059】データの書き込みは、次のように行われ
る。
【0060】データ変換器10は、書き込みデータであ
る入力データD10を、多値の値を決める物理量の大き
さを大きい順に並べた時のi番目のデータを多値データ
“i”として、読み出された多値データと書き込まれた
多値データとの大きさが1だけ異なる場合にハミング距
離1となるようなバイナリ・コードに変換する。その
後、検査データ演算器20は、バイナリ・コードから検
査データD30を生成する。この時、データ変換器10
で変換されたバイナリ・コードを情報データD20とし
て、情報データD20と検査データD30とが、書込デ
ータD40として、書込データD40がセルアレイ30
に書き込まれる。
【0061】データの読み出しは、次のように行われ
る。
【0062】セルアレイ30から読み出された読出デー
タD50は、誤り検出器40と誤り訂正器50に入力さ
れる。セルアレイ30から読み出されたデータに誤りが
あった時に、誤り検出器40は、誤りの数が許容能力の
範囲であれば誤りを検出して、検出した誤りの位置を誤
り訂正器50に出力する。誤り訂正器50は、誤り検出
器40で検出された誤りの数が許容能力の範囲であれ
ば、セルアレイ30から読み出された読出データD50
の誤りを訂正する。この時、誤り訂正器50の出力はバ
イナリ・コードの多値情報データである。データ逆変換
器60は、この情報データを、セルアレイ30からの読
み出しデータである出力データD60に逆変換して出力
する。
【0063】上記のように第1実施形態によれば、多値
の値を決める物理量の大きさを大きい順に並べた時のi
番目のデータを多値データ“i”として、読み出された
多値データと書き込まれた多値データとの大きさが1し
か変わらないことを前提として、多値の情報データをバ
イナリ・コードに変換し、多値データとバイナリ・コー
ドの対応を多値データの大きさが1だけ異なる時にハミ
ング距離1になるバイナリ・コードに変換する。このた
め、1ビット誤り訂正符号の適用が可能となり、比較的
低い冗長度、すなわち簡単な復号化回路を用いることが
できる。更に、2ビット誤り検出能力を持つ2ビット誤
り検出符号に拡張することによって2ビット誤り検出を
完全に行うことができる。
【0064】図2は、本発明の第2実施形態に係る記憶
システムの概略構成図である。図2において、図1と同
一部分には同一符号を付して、その詳しい説明は省略す
る。第2実施形態は、第1実施形態における各構成要素
が、CPU100とEEPROM200のいずれに含ま
れるかを示す。
【0065】第2実施形態において、CPU100は、
データ変換器10と、検査データ演算器20と、誤り訂
正器50と、誤り検出器40と、データ逆変換器60
と、を有し、EEPROM200はセルアレイ30のみ
を有する。本第2実施形態では、CPU100とEEP
ROM200とでやりとりされるデータはバイナリ・コ
ードである。
【0066】図3は、本発明の第3実施形態に係る記憶
システムの概略構成図である。図3において、図1と同
一部分には同一符号を付して、その詳しい説明は省略す
る。
【0067】第3実施形態は、第2実施形態において、
EEPROM200が、CPU100と同様に、データ
変換器10と、データ逆変換器60とを有する構成であ
り、この場合には、CPU100とEEPROM200
とでやりとりされるデータはバイナリ・コードでなく、
通常の情報データである。但し、第3実施形態の場合に
は、読出データD50に誤りが生じ、使用されないバイ
ナリ・コードに変わった時に、その誤りを検出して、E
EPROM200の外部に出力するために(例えばEE
PROM200の出力バッファを高いインピーダンス状
態にするために)、EEPROM200内に禁止データ
検出器70が設けられる。
【0068】図4は、本発明の第4実施形態に係る記憶
システムの概略構成図である。図4において、図1と同
一部分には同一符号を付して、その詳しい説明は省略す
る。
【0069】第4実施形態は、本発明の第1実施形態に
おけるデータ変換器10とデータ逆変換器60を一体化
したもので、基本的な動作は本発明の第1実施形態と同
様である。但し、本実施形態は2n 値(nは2以上の整
数)の場合に限定される。
【0070】書き込みは、次のように行われる。
【0071】入出力データ−多値データ変換器80は、
書き込みデータである入力データD10を、多値の値を
決める物理量の大きさを大きい順に並べた時のi番目の
データを多値データ“i”として、読み出された多値デ
ータと書き込まれた多値データとの大きさが1しか変わ
らないことを前提として、多値の情報データをバイナリ
・コードに変換し、多値データとバイナリ・コードの対
応を多値データの大きさが1だけ異なる時にハミング距
離1になるバイナリ・コードに変換する。その後、検査
データ演算器20は、バイナリ・コードから検査データ
D30を生成する。この時、データ変換器10で変換さ
れたバイナリ・コードを情報データD20として、情報
データD20と検査データD30とが書込データD40
として、書込データD40がセルアレイ30に書き込ま
れる。
【0072】データの読み出しは、次のように行われ
る。
【0073】セルアレイ30から読み出された読出デー
タD50は、誤り検出器40と誤り訂正器50に導入さ
れる。セルアレイ30から読み出されたデータに誤りが
あった時に、誤り検出器40は、誤りの数が許容能力の
範囲であれば誤りを検出して、検出した誤りのビット位
置情報を誤り訂正器50に出力する。誤り訂正器50
は、誤り検出器40で検出された誤りの数が許容能力の
範囲であれば、セルアレイ30から読み出された読出デ
ータD50の誤りを訂正する。誤り訂正器50の出力は
バイナリ・コードの多値情報データである。入出力デー
タ−多値データ変換器80は、この情報データを、読み
出しデータである出力データD60に逆変換して出力す
る。
【0074】図5は、本発明の第5実施形態に係る記憶
システムの概略構成図である。図5において、図1と同
一部分には同一符号を付して、その詳しい説明は省略す
る。
【0075】第5実施形態は、本発明の第2実施形態に
おいて、CPU100とEEPROM200とでやりと
りされるデータを多元多値データとした構成例を示し、
基本的な動作は本発明の第2実施形態と同様である。
【0076】書き込み時には、書き込みデータである入
力データD10は、データ変換器10によって、多値の
値を決める物理量をその大きさ順に並べた時にi番目の
ものを多値データ“i”とする時に、多値データが大き
さ1だけ異なる時ハミング距離1となるようなバイナリ
・データに変換される。その後、検査データ演算器20
は、バイナリ・コードから検査データD30を生成す
る。更に、バイナリ・コードを情報データD20とし、
これらのデータは多元多値データ変換器90に導入され
る。多元多値データ変換器90は、入力データを多元多
値データに変換して出力する。
【0077】上記の構成により、CPU100とEEP
ROM200でやりとりされるデータは、多元多値デー
タとなる。EEPROM200に入力された多元多値デ
ータは、書込データD40として、セルアレイ30に書
き込まれる。
【0078】読み出し時には、セルアレイ30から読み
出された多元多値の読出データD50はCPU100の
多元多値データ変換器90に入力される。多元多値デー
タ変換器90は、入力された多元多値データをバイナリ
・コードに変換する。その後、このデータは誤り検出器
40と誤り訂正器50に入力される。セルアレイ30か
ら読み出されたデータに誤りがあった時に、誤り検出器
40は、誤りの数が許容能力の範囲であれば誤りを検出
して、検出した誤りの位置情報を誤り訂正器50に出力
する。誤り訂正器50は、誤り検出器40で検出された
誤りの数が許容能力の範囲であれば、セルアレイ30か
ら読み出された読出データD50の誤りを訂正する。誤
り訂正器50の出力はバイナリ・コードの多値情報デー
タである。データ逆変換器60は、この情報データを、
読み出しデータである出力データD60に逆変換して出
力する。
【0079】第6実施形態は、2つの3値メモリセルの
状態の9通りの組合せのうち、8通りを用いて3ビット
とする多値メモリを使った多値記憶システムの誤り訂正
検出の具体例を示す。上記各実施形態は、記憶情報をバ
イナリ・コード(中間バイナリ・コードを含む)へ変換
の後に、誤り訂正を行う実施形態を示したが、第6実施
形態は、上記各実施形態において、バイナリ・コードと
して、中間バイナリ・コードを用いて誤り訂正を行う具
体的な実施形態を下記に示す。
【0080】図6は、3値セルのしきい電圧Vtの分布
(”0”、”1”及び”2”)が、それぞれ中間バイナ
リ・コード00、01及び11に対応する示す。図6に
おいて、各分布のしきい電圧Vtは、それぞれVt=<
−1V、0V=<Vt=<1V、2V=<Vt=<3V
である。組み合わされる2つのメモリセルであるセル1
とセル2の中間バイナリ・コードの8通りの組合せを中
間バイナリ・コードと呼ぶことにし、入出力データとそ
れぞれに対応する8ビットの中間バイナリ・コードの関
係を、表6のようにする。表6から、状態が大きさ”
1”だけ変わり得る場合に、3ビット情報でなく、セル
の情報から変換される中間バイナリ・コードに対して誤
り訂正を行うことによって、1ビット誤り訂正符号が導
入できることがわかる。
【0081】 表 6 入出力データ 3ビット情報 中間バイナリ・コード ”0” 000 ”00””00” ”1” 001 ”00””01” ”2” 011 ”00””11” ”3” 100 ”01””00” ”4” 101 ”01””01” ”5” 111 ”01””11” ”6” 010 ”11””00” ”7” 110 ”11””01” 図7は、21ビットの中間バイナリ・コードの1ビット
誤りを訂正し、6ビットの検査ビットを合わせた27ビ
ット中の2ビット誤りを検出する誤り訂正検出のための
検査行列である。
【0082】図8は、情報データの中間バイナリ・コー
ドへの変換とその逆変換を行うデータ変換回路110の
回路図である。信号WEは書き込み時にハイ、、信号R
Eは読み出し時にハイになる。図8(a)において、バ
ーのついた信号(例えば、/WE)は、その反転信号を
示す。このデータ変換回路110により、書き込み時に
は情報データから中間バイナリ・コードへ変換が行わ
れ、読み出し時には中間バイナリ・コードから情報デー
タへの逆変換が行われる。16ビットの情報データIO
l (l=1〜15)の15ビット分のデータは、図8
(a)に示すように3ビット毎に4ビットの中間バイナ
リ・コードIOOk (k=1〜20)に変換される。残
りの情報データIO16は、図8(b)のようにそのまま
IOO21に変換される。そして、16ビット情報そのも
のでなく、データ変換回路110によって変換された中
間バイナリ・コードIOOの21ビットのデータが、誤
り訂正符号の情報データとして扱われる。
【0083】上記のデータ変換回路110と、EEPR
OM200のデータ入出力ピンであるIOパッド120
と、IOバッファ130と、誤り訂正検出回路(EC
C)140と、書込/読出回路150との接続関係を図
9に示す。
【0084】図9(a)では、データ変換回路110が
CPU100側にあり、EEPROM200は16ビッ
トの中間バイナリ・コードを入力する。図9(b)で
は、EEPROM200が、データ変換回路110と、
ECC140と、読み書き回路159とを有し、EEP
ROM200は16ビットの情報データを入出力する。
図9(c)では、CPU100がECC140を有し、
EEPROM200は、21ビットの中間バイナリ・コ
ードと6ビットの検査ビットを入出力する。
【0085】図10〜図12は、16ビットの中間バイ
ナリ・コードの1ビット誤りを訂正し、6ビットの検査
ビットを合わせた22ビット中の2ビット誤りを検出す
るECC140の構成例を示す図である。このECC1
40による誤り検出及び訂正は、図7の検査行列を用い
て実現される。図10(a)の回路によって、書き込み
時に書き込み情報データIk (k=1〜21)は、入力
k とされる。図10(b)の回路は、書き込み時に検
査データを発生させ、読み出し時にシンドロームを発生
させる回路である。この回路は6組あり、入力A(i)
及び入力B(i)は、それぞれ表7及び表8で与えられ
る。
【0086】 表 7 i=1 i=2 i=3 i=4 i=5 i=6 A1(i) I1 I1 I1 I2 I3 I4 A2(i) I5 I2 I2 I3 I4 I5 A3(i) I6 6 I3 I4 I5 I6 A4(i) I7 I8 I9 I7 I7 I8 A5(i) I9 I10 I11 I10 I8 I9 A6(i) I10 I11 I12 I12 I11 I12 A7(i) I13 I14 I13 I13 I14 I15 A8(i) I16 I17 I15 I14 I15 I16 A9(i) I17 I18 I18 I16 I17 I18 A10(i) I19 I19 I19 I19 I19 I20 A11(i) I20 I20 I20 I20 I21 I21 A12(i) I21 I21 I21 0 0 0 表 8 i=1 i=2 i=3 i=4 i=5 i=6 B1(i) O1 1 1 2 3 4 B2(i) O5 2 2 3 4 5 B3(i) O6 O6 O3 4 5 O6 B4(i) O7 8 9 7 7 8 B5(i) O9 1011108 9 B6(i) O101112121112 B7(i) O131413131415 B8(i) O161715141516 B9(i) O171818161718 B10(i) O191919191920 B11(i) O202020202121 B12(i) O212121 0 0 0 図11は、誤り訂正/検出回路の構成例を示す図であ
る。図11に示す誤り訂正回路は、読み出し時にシンド
ロームが図7のパターンで誤りビットを知らせる信号C
RCTk がハイになる場合に読み出し情報データIk
反転させて、誤り訂正を行い、出力Ok を出力する。さ
もなければ、この誤り訂正回路は、読み出し情報データ
k をそのまま出力Ok とする。
【0087】図12の回路は、シンドロームSi (i=
1〜6)のうち1つでも1(ハイ)となる場合に信号E
RDETを1として、誤りがあったことを知らせる回路
である。この時、1となるシンドロームの数が偶数であ
るとき、信号EVENERが1となり、偶数個の誤りが
発生したことを知らせる。また、誤りが発生したが、誤
りの訂正はされなかった場合には、信号NOTCRCT
が1となる。
【0088】図13は、I、Pと書込/読出回路150
とビット線との接続関係を示し、図14及び図15は、
それぞれ2入力及び1入力書込/読出回路150を表
す。図16は、カラムデコーダを示す。
【0089】図13において、I1 とI2 は同一の書込
/読出回路150aに入出力され、それを介して1ビッ
ト線に接続される。図13に示すように、図14に示さ
れる2入力書込/読出回路150aは、20個のIに対
して10個設けられる。I21とPi (i=1〜6)はそ
れぞれ図15に示す1入力書込/読出回路150bに入
出力され、それを介して1ビット線に接続される。従っ
て、図15に示される1入力書込/読出回路150bは
7個設けられる。図16は、カラムデコーダであり、信
号CSLn は選択されたアドレスに対してハイ、非選択
のアドレスに対してローとなる。
【0090】図17〜図20を用いて、図13〜図16
に示す回路の各制御信号とデータのタイミングを説明す
る。
【0091】はじめに、書き込み時の動作を説明する。
【0092】図17は、書き込みデータの入力時のタイ
ミングを示す図である。
【0093】書き込み信号WEがハイになり、書き込み
情報データがIOl (l=1〜16)に出力されると、
データ変換回路110が、書き込み中間バイナリ・コー
ドIOOk =IOIk =Ok =Ik (k=1〜21)を
出力する。それと同時に、検査データが発生されて、P
i (i=1〜6)として出力される。これらの書き込み
データIk 及びPi は選択されたカラムアドレスの書込
/読出回路150に入力される。
【0094】図18は、書き込み時における、書込/読
出回路150の制御信号とセルの選択ゲートSG1、S
G2と制御ゲートCG1〜CG8のタイミング図であ
る。
【0095】2入力書込/読出回路150aでは、書き
込みデータが”0”の時、I2l、I 2l-1は共に0である
ので、内部ノードN1 及びN2 が0にラッチされる。信
号φa1、φa2、φpa、PBa及びVRFYaがロ
ーのままで、VBHaが8V、VBMaが2V、VBL
aが0Vになる。従って、”0”書き込み時には、ビッ
ト線BLには、8Vが印加される。書き込みデータが”
1”の時には、N1 =1、N2 =0、”2”の時、N1
=N2 =1がそれぞれラッチされるので、”1”及び”
2”書き込み時にはビット線BLにはそれぞれ2V及び
0Vが印加される。
【0096】一方、データを書き込むメモリセルがワー
ド線CG4に接続されている時、ワード線CG4には2
0V、それ以外のワード線CG1〜CG3、CG5〜C
G8及び選択線SG2には10V、選択線SG1には0
Vがぞれぞれ印加されるので、”0”、”1”、”2”
書き込みのメモリセルには、ゲートとチャネル間にそれ
ぞれVg =12V、18V、20Vが印加される。Vg
=12Vでは、トンネル電流は流れず、メモリセルのし
きい電圧は変わらない。Vg =18Vでは、トンネル電
流が流れ、メモリセルのしきい電圧は正の方向に移動
し、しきい電圧は0V以上1V以下になる。Vg =20
Vの時はVg =18Vの時よりもトンネル電流は大き
く、しきい電圧は2V以上3V以下になる。
【0097】上記のようにして、3値の中間バイナリ・
コード00、01、11をメモリセルに書き込むことが
できる。一方、1入力書込/読出回路150bは、2入
力書込/読出回路150aの第2センスアンプを除いた
ものである。書き込み時には、データの”0”、”1”
に応じてそれぞれ8V、2Vが印加される。
【0098】次に、図19及び図20を参照して、読み
出し動作を説明する。
【0099】2入力書込/読出回路150aでは、読み
出しは、2ステップで行われる。
【0100】第1のステップでは、”0”か否かの判定
を行う。
【0101】はじめにビット線BLを1.8V、ダミー
ビット線BLBを1.5Vに充電しておく。その後で、
ワード線CG4以外のワード線CG1〜CG3、CG5
〜CG8及び選択線SG1及びSG1を4Vにする。読
み出されるデータが”0”ならば、ビット線BLに充電
された電荷は放電され、ビット線の電位は1.5V以下
になり、そうでなければ、1.8Vを保つ。最後に、こ
れらの電圧は、QP13、QP14、QP15、QN5
7、QN58、QN59で構成される第1のセンスアン
プに入力され、それらの電位差が増幅される。読み出さ
れるデータが”0”ならば内部ノードN1 =0が、読み
出されるデータが”1”又は”2”ならば内部ノードN
1 =1がラッチされる。
【0102】第2のステップでは、”2”か否かの判定
を行う。第2のステップと第1のステップとの唯一の違
いは、読み出すメモリセルのワード線CG4を2Vにす
ることである。今回は、QP16、QP17、QP1
8、QN62、QN63、QN64で構成される第2の
センスアンプが使用され、読み出されるデータが”2”
ならば、内部ノードN2 =1が、読み出されるデータ”
0”又は”1”ならば内部ノードN2 =0がラッチされ
る。
【0103】上記のようにして、3値の中間バイナリ・
コード00、01、11をメモリセルから読み出すこと
ができる。1入力書込/読出回路150bでは、第1ス
テップのみ活性化し、ビット線電位のロー、ハイがそれ
ぞれ”0”、”1”に対応する。
【0104】図20は、読み出しデータの出力時のタイ
ミングを示す図である。
【0105】読み出しデータは選択されたカラムアドレ
スの書込/読出回路150からIk(k=1〜21)、
i (i=1〜6)に出力される。これらの27ビット
データからシンドロームSiが計算され、誤りがあれば
訂正して読み出し出力データ(中間バイナリ・コード)
がOk =IOIk =IOOk (k=1〜21)に出され
る。最後に、読み出しデータIOOk は、データの逆変
換によって読み出し情報データIOl (l=1〜16)
とされる。
【0106】上記のように、本発明は、情報データをバ
イナリ・コード(中間バイナリ・コードを含む)に変換
した後に、誤り検出及び誤り訂正を行っているので、1
ビット誤り訂正符号を適用できる。
【0107】上記の第1〜第6実施形態において、2個
のメモリセルによる3値メモリを考慮したが、N値メモ
リセルのM個の組合せも同様に適用可能である。この場
合には、NM 個の状態ができるので、この中の2n (<
M )個の状態を使用して、nビットデータと1対1に
対応させる。
【0108】以下、本発明がN値メモリセルのM個の組
合せに適用できる理由を説明する。
【0109】各メモリセルのどの状態にも両端を除き2
つの隣接状態がある。M個のセルの状態の組合せは、2
M 通りである。
【0110】もし、n<2M であれば、状態の組合せが
隣の状態に遷移したときに、対応する情報が必ず1ビッ
ト変わるような状態の組合せと情報との対応関係はな
い。従って、上記の誤りに対して、少なくとも2ビット
誤り訂正符号が必要となる。
【0111】一方、2m >N>2m-1 を満たすmビット
(m>=2)で、N個の状態を、隣の状態に遷移したと
き対応するmビット表現(すなわち、中間バイナリ・コ
ード)が必ず1ビットだけ変わるようなN状態と中間バ
イナリ・コードと対応関係は必ず存在する。これは、各
セルのどの状態も高々2つの隣の状態があり、1ビット
だけ異なる中間バイナリ・コードはm(>=2)個ある
ことによる。
【0112】従って、誤り検出/訂正は、中間バイナリ
・コードに対して行えば、1ビット誤り訂正符号で充分
である。
【0113】図21は、本発明の第7実施形態に係る記
憶システムの概略構成図である。本実施形態において、
第1実施形態と同じものには同じ符号を付し、詳細な説
明は省略する。
【0114】第7実施形態の記憶システムは、情報デー
タ記憶部210と、検査データ記憶部220と、誤り検
出器40と、誤り訂正器50と、バースト破壊位置検出
部160と、データ再設定部170と、を具備する。情
報データ記憶部210は、情報データD20を記憶す
る。検査データ記憶部220は、誤り検出データ及び誤
り訂正データを記憶する。バースト破壊位置検出部16
0は、前記各記憶部の記憶データのバースト破壊位置を
検出する。データ再設定部170は、前記バースト破壊
位置検出部160によって検出されるバースト破壊位置
のデータを仮定して再設定する。上記の構成において、
第1〜第6実施形態のように、セルアレイ30が、情報
データ記憶部210と、検査データ記憶部220とを有
する構成としても良い。
【0115】上記のように構成された第7実施形態の係
る記憶システムの動作を図22を参照して説明する。図
22は、本発明の第7実施形態における誤り検出/訂正
のアルゴリズムを示すフローチャートである。
【0116】各ステップ毎の動作の詳細を説明する前
に、動作の概略を説明する。
【0117】記憶されたデータの読み出しが始まると、
カラム不良番地が検索される。カラム不良がなければ情
報データD20と検査データD30が読み出され、これ
らのデータは誤り検出器40と誤り訂正器50にそれぞ
れ入力される。誤りがあった時、誤り検出器40によっ
てその許容能力範囲の数の誤りであれば誤りの検出が行
われ、この時誤り訂正器50によってその許容能力範囲
の数の誤りであれば誤りの訂正が行われる。誤り数が誤
り検出器40の許容能力範囲より大きければ、確率的に
誤りの検出を行う。これで読み出しが終了される。
【0118】カラム不良が生じた場合には、不良カラム
のアドレスにポインタが立てられる。その後、情報デー
タD20と検査データD30が読み出され、これらのデ
ータは誤り検出器40に入力される。誤りの数が誤り検
出器40の許容能力範囲内にあれば、先の実施形態と同
様に誤り検出/訂正が実行される。誤りの数が誤り検出
器40の許容能力範囲内になければ、不良カラムのアド
レスにあるデータを変更し、このデータを再度誤り検出
器40に入力する。
【0119】誤りの数と誤り検出器40の検出可能な誤
り数の大小関係に応じて、不良カラムのアドレスにある
データの変更を考えられる全てのパターンに対して行わ
れるまで、上述のアルゴリズムを繰り返す。これらのど
のパターンに対しても誤りの数が誤り検出器40の許容
能力範囲内にあり、誤りの数が誤り訂正器50の許容能
力範囲内になければ、誤りがあったことを知らせるエラ
ーフラグを出力する。
【0120】図22示す各ステップの内容を、以下に簡
単に説明する。
【0121】読み出し開始する(ステップS1)。カラ
ム不良のあるアドレスを検索する(ステップS2)。こ
こで、カラム不良の数をnとする。
【0122】nが0か否か、すなわちカラム不良がある
か否かを判断し(ステップS3)、カラム不良がある時
にはステップS11に進み、カラム不良がない時にはス
テップS4に進む。
【0123】情報データD20及び検査データD30の
読み出しを行う(ステップS4)。そして、誤り検出を
行い、この時誤りの数をmとする(ステップS5)。
【0124】ステップS5で得られた誤りの数が訂正で
きる誤りの数以下であるか否かを判断し(ステップS
6)、誤りの数が訂正できる誤りの数以下である場合に
はステップS7に進み、誤りの数が訂正できる誤りの数
以下でない場合にはステップS9へ進む。
【0125】誤りの数が0であるか否かを判断し(ステ
ップS7)、誤りの数が0である場合にはステップS1
0に進み、読み出しを終了する(ステップS10)。誤
りの数が0でない場合にはステップS8に進み、誤りの
訂正を行う(ステップS8)。
【0126】ステップS6で誤りの数が訂正できる誤り
の数以下でない判断された場合に訂正できない誤りがあ
ったことを知らせるエラーフラグを出力し(ステップS
9)、読み出しを終了する(ステップS10)。
【0127】ステップS3でカラム不良があると判断さ
れたとき、その数が許容するカラム不良の数N以下であ
るか否かを判断し(ステップS11)、カラム不良の数
が許容するカラム不良の数以下である場合にはステップ
S12に進み、その不良カラムのアドレスai(i=
1、…、n)を出力し(ステップS12)、そうでない
場合にはステップS20に進み、訂正できない誤りがあ
ったことを知らせるエラーフラグを出力して(ステップ
S20)、読み出しを終了する(ステップS21)。
【0128】情報データD20及び検査データD30の
読み出しを行い(ステップS13)、次に、誤り検出を
行い、この時誤りの数をmとする(ステップS14)。
【0129】ステップS14で得られた誤りの数が完全
に検出できる誤りの数L以下であるか否かを判断し(ス
テップS15)、誤りの数が完全に検出できる誤りの数
以下である場合にはステップS16へ進み、更に誤りの
数が訂正できる誤りの数以下であるか否かを判断する
(ステップS16)。ステップS15において、誤りの
数が完全に検出できる誤りの数以下でない場合にはステ
ップS19へ進み、訂正できない誤りがあったことを知
らせるエラーフラグを出力して(ステップS19)、読
み出しを終了する(ステップS21)。
【0130】ステップS16において、誤りの数が訂正
できる誤りの数以下である場合にはステップS7へ進
み、誤りの数が訂正できる誤りの数以下でない場合には
ステップS17へ進み、不良カラムアドレスのデータを
変更する(ステップS17)。
【0131】そして、ステップS17の不良カラムアド
レスのデータ変更を考えられる全ての場合を行ったか否
かを判断し(ステップS18)、不良カラムアドレスの
データ変更を考えられる全ての場合を行ったと判断され
た場合ステップS5に進み、そうでない場合にはステッ
プS14に戻る。
【0132】上記のフローチャートにおいて、許容する
不良カラムの数Nは、望ましくは完全に検出できる誤り
の数L以下にする。通常は、N=L−M又はN=1であ
る。
【0133】図23は、第7実施形態における不良例を
示すブロック図である。図中の斜線部は、それが位置す
るメモリセルに誤りが生じたことを示し、その数字はそ
れぞれの誤りの大きさを示している。以下では例とし
て、1ビット誤り訂正2ビット誤り検出符号を適応した
場合を述べる。
【0134】a行が読み出された場合、誤りは一つもな
いので、そのまま正しく読み出される。
【0135】b行又はd行が読み出された場合、誤りは
一つだけなので、誤り訂正器50により訂正される。
【0136】c行が読み出された場合、誤りは二つであ
るので、誤り検出器40により検出される。
【0137】e行が読み出された場合、誤りは不良カラ
ム上に一つ、不良カラム外に一つであるので、まず誤り
検出器40により検出される。その後、不良カラム上の
データは取り得る可能なデータに変換され、もとの書き
込みデータとされる誤りは不良カラム外の一つになる。
ここで、このデータは誤り訂正器50により訂正され
る。
【0138】f行が読み出された場合、誤りは不良カラ
ム上に大きさ2の誤りであるので、誤り検出器40によ
り検出される。その後、上と同様にこのデータは誤り訂
正器50により訂正される。
【0139】g行が読み出された場合、誤りは不良カラ
ム上に大きさ2の誤りが一つ、不良カラム外に一つであ
る。この場合には、確率的に誤り検出器40により検出
される。検出された場合は、その後に上と同様にこのデ
ータは誤り訂正器50により訂正される。
【0140】h行が読み出された場合、誤りは不良カラ
ム上に大きさ2の誤りが一つ、不良カラム外に二つ以上
である。この場合は、確率的に誤り検出器40により検
出されるが、誤りは訂正され得ない。
【0141】表9は、3値の場合における情報ビット数
に対する検査ビット数の関係を示すものである。
【0142】 表 9 検査データ数 情 報 2元表現多値 情報データに 2元表現多値 データ数 データに対し 対し データに対し S2EC-D2ED 適用 S3EC-D3ED適用 SEC-DED 適用 … … … … 16 10(10) 9(6) 6(6) 32 12(12) 12(8) 7(7) 64 12(12) 15(10) 8(8) 128 14(14) 15(10) 9(9) … … … … バイナリ・コードにおいて単一2ビットバイト誤り訂正
二重2ビットバイト誤り検出符号を適応する場合、真の
情報データにおいて単一3ビットバイト誤り訂正二重3
ビットバイト誤り検出符号を適応する場合、本発明によ
るバイナリ・コードにおいて1ビット誤り訂正2ビット
誤り検出符号を適応する場合、を示している。表9か
ら、本発明によるバイナリ・コードにおいて1ビット誤
り訂正2ビット誤り検出符号を適応する場合に情報デー
タ数に対する検査データ数を最小にすることが分かる。
なお、表9中の括弧内の数字は、検査データ数に対応す
るメモリセルの数を表す。
【0143】本発明は、上記各実施の形態に限ることな
く、その他、実施段階ではその要旨を逸脱しない範囲で
種々の変形を実施し得ることが可能である。さらに、上
記各実施形態には、種々の段階の発明が含まれており、
開示される複数の構成要件における適宜な組合せにより
種々の発明が抽出され得る。
【0144】また、例えば各実施形態に示される全構成
要件から幾つかの構成要件が削除されても、発明が解決
しようとする課題の欄で述べた課題が解決でき、発明の
効果で述べられている効果が得られる場合には、この構
成要件が削除された構成が発明として抽出され得る。
【0145】
【発明の効果】本発明によれば次のような効果が得られ
る。
【0146】上記のように、本発明によれば、多値を決
める物理量をその大きさ順に並べた時にi番目のものを
多値データ“i”とするとき、読み出された多値データ
が書き込まれた多値データと高々大きさ1だけ変わり得
る場合、多値データとバイナリ・コードの対応を多値デ
ータ大きさ1だけ異なるとき対応するバイナリ・コード
がハミング距離1となるようにする手段を用いることに
よって、1ビット誤り訂正符号の適用が可能となる。こ
れにより、比較的低い冗長度、すなわち簡単な復号化回
路を用いることができ、更に2ビット誤り検出能力を持
つ2ビット誤り検出符号に拡張することによって2ビッ
ト誤り検出を完全に行うことができる。
【0147】また、バースト誤りが生じ、その結果とし
て1符号語中に2ビット誤りが発生しても、1ビット誤
りを訂正し、かつ、2ビット誤りを検出する符号を用い
て2ビット誤りを訂正する可能性を持たせることができ
る。
【図面の簡単な説明】
【図1】 本発明の第1実施形態に係る記憶システムの
概略構成図。
【図2】 本発明の第2実施形態に係る記憶システムの
概略構成図。
【図3】 本発明の第3実施形態に係る記憶システムの
概略構成図。
【図4】 本発明の第4実施形態に係る記憶システムの
概略構成図。
【図5】 本発明の第5実施形態に係る記憶システムの
概略構成図。
【図6】 3値セルのしきい電圧Vtの分布と中間バイ
ナリ・コードとの対応を示す図。
【図7】 誤り訂正検出のための検査行列の例を示す
図。
【図8】 データ変換回路の回路図例を示す図。
【図9】 データ変換回路と、IOパッドと、IOバッ
ファと、誤り訂正検出回路(ECC)と、書込/読出回
路との接続関係を示す図。
【図10】 ECCの構成例を示す図。
【図11】 誤り訂正回路の構成例を示す図。
【図12】 誤り報知回路例を示す図。
【図13】 I、Pと書込/読出回路150とビット線
との接続関係を示す図。
【図14】 2入力書込/読出回路例を示す図。
【図15】 1入力書込/読出回路例を示す図。
【図16】 カラムデコーダ例を示す図。
【図17】 書き込みデータの入力時のタイミングを示
す図。
【図18】 書き込み時における、書込/読出回路の制
御信号と、セルの選択ゲートSG1、SG2と、制御ゲ
ートCG1〜CG8のタイミング図。
【図19】 読み出し時における、書込/読出回路の制
御信号と、セルの選択ゲートSG1、SG2と、制御ゲ
ートCG1〜CG8のタイミング図。
【図20】 読み出しデータの出力時のタイミングを示
す図。
【図21】 本発明の第7実施形態に係る記憶システム
の概略構成図。
【図22】 本発明の第7実施形態における誤り検出/
訂正のアルゴリズムを示すフローチャート。
【図23】 本発明の第7実施形態における不良例を示
すブロック図。
【図24】 NANDセルの断面構造例を示す図。
【図25】 EEPROMのメモリセル構造を示す図。
【図26】 3値の場合のメモリセルのしきい電圧と
“0”、“1”、“2”との対応関係を示す図。
【図27】 3値NOR型EEPROMの回路構成を示
す図。
【図28】 3値NAND型EEPROMの回路構成を
示す図。
【符号の説明】
10…データ変換器、20…検査データ演算器、30…
セルアレイ、11…p型ウェル、14…浮遊ゲート(電
荷蓄積層)、16…制御ゲート、17…層間絶縁膜、1
8…ビット線、19…n型拡散層、40…誤り検出器、
50…誤り訂正器、60…データ逆変換器、70…禁止
データ検出器、80…入出力データ−多値データ変換
器、90…多元多値データ変換器、100…CPU、1
10…データ変換回路、120…IOパッド、130…
IOバッファ、140…ECC、150…書込/読出回
路、160…バースト破壊位置検出部、170…データ
再設定部、200…EEPROM、210…情報データ
記憶部、220…検査データ記憶部、D10…入力デー
タ、D20…情報データ、D30…検査データ、D40
…書込データ、D50…読出データ、D60…出力デー
タ。
フロントページの続き (72)発明者 田中 智晴 神奈川県川崎市幸区小向東芝町1番地 株 式会社東芝マイクロエレクトロニクスセン ター内 Fターム(参考) 5B018 GA02 HA35 NA06

Claims (7)

    【特許請求の範囲】
  1. 【請求項1】 複数の記憶素子に情報データと検査デー
    タとを記憶する記憶手段と、 前記情報データと前記検査データとに基づいて前記情報
    データの誤りを検出するための誤り検出手段と、 前記情報データと前記検査データとに基づいて前記情報
    データの誤りを修正する誤り修正手段と、 バースト破壊が前記複数の記憶素子に記憶されたデータ
    に発生する位置を検出するバースト破壊位置検出手段
    と、 バースト破壊が発生したデータを変更するデータ変更手
    段とを具備することを特徴とする記憶システム。
  2. 【請求項2】 すべての可能なデータパターンが十分に
    試されるまでデータを変更するための反復手段を更に具
    備することを特徴とする請求項1に記載の記憶システ
    ム。
  3. 【請求項3】 情報データと検査データとを含むデータ
    を複数の記憶素子に記憶する記憶手段と、 前記複数の記憶素子で発生するバースト破壊の位置を検
    出するバースト破壊位置検出手段と、 バースト破壊が発生したデータを変更するデータ変更手
    段と、 前記情報データと前記検査データとの関係に基づいて、
    前記データ変更手段によって変更されたデータの誤りを
    検出するための誤り検出手段と、 前記情報データと前記検査データとの関係に基づいて、
    前記データ変更手段によって変更されたデータの前記誤
    りを修正するための誤り修正手段とを具備することを特
    徴とする記憶システム。
  4. 【請求項4】 複数のバースト破壊が所定の数のビット
    誤りよりも大きいとき、ビット誤りの数がビット誤りの
    所定の数よりも大きいとき、又は、修正可能な誤りの数
    が修正可能な誤りの所定の数よりも大きいときに、読み
    出しデータが誤りを含むことを表す誤りフラッグを出力
    するための誤りフラッグ出力手段を更に具備することを
    特徴とする請求項1又は請求項3に記載の記憶システ
    ム。
  5. 【請求項5】 前記複数の記憶素子のそれぞれはN値
    (Nは1以上の整数である)の1つの値を記憶すること
    を特徴とする請求項1又は請求項3に記載の記憶システ
    ム。
  6. 【請求項6】 前記N値の1つが帯電量の大きさによっ
    て与えられることを特徴とする請求項5に記載の記憶シ
    ステム。
  7. 【請求項7】 前記複数の記憶素子のそれぞれは、半導
    体層上に電荷蓄積層とコントロールゲートを積層して形
    成される不揮発性メモリセルを含むことを特徴とする請
    求項6に記載の記憶システム。
JP2003095677A 1993-12-28 2003-03-31 記憶システム Expired - Fee Related JP3866674B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003095677A JP3866674B2 (ja) 1993-12-28 2003-03-31 記憶システム

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP5-354152 1993-12-28
JP35415293 1993-12-28
JP2003095677A JP3866674B2 (ja) 1993-12-28 2003-03-31 記憶システム

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP32634494A Division JP3999822B2 (ja) 1993-12-28 1994-12-27 記憶システム

Publications (2)

Publication Number Publication Date
JP2003256294A true JP2003256294A (ja) 2003-09-10
JP3866674B2 JP3866674B2 (ja) 2007-01-10

Family

ID=28676673

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003095677A Expired - Fee Related JP3866674B2 (ja) 1993-12-28 2003-03-31 記憶システム

Country Status (1)

Country Link
JP (1) JP3866674B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085716A (ja) * 2016-09-23 2018-05-31 株式会社半導体エネルギー研究所 半導体装置、表示システム及び電子機器
JP2018133087A (ja) * 2017-02-17 2018-08-23 インフィネオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG メモリのメモリセル内のデータの処理

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018085716A (ja) * 2016-09-23 2018-05-31 株式会社半導体エネルギー研究所 半導体装置、表示システム及び電子機器
JP2018133087A (ja) * 2017-02-17 2018-08-23 インフィネオン テクノロジーズ アクチエンゲゼルシャフトInfineon Technologies AG メモリのメモリセル内のデータの処理

Also Published As

Publication number Publication date
JP3866674B2 (ja) 2007-01-10

Similar Documents

Publication Publication Date Title
JP3999822B2 (ja) 記憶システム
US8239730B2 (en) Non-volatile semiconductor memory device
US8830746B2 (en) Optimized threshold search in analog memory cells using separator pages of the same type as read pages
US7096406B2 (en) Memory controller for multilevel cell memory
JP5621175B2 (ja) 変調コーディングを使用するセル間干渉軽減のための方法および装置
US7818653B2 (en) Methods of soft-input soft-output decoding for nonvolatile memory
KR100822030B1 (ko) 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
US8635508B2 (en) Systems and methods for performing concatenated error correction
US9348694B1 (en) Detecting and managing bad columns
TW417110B (en) Multi-value type semiconductor memory device and its defect removal method
JPH11312396A (ja) マルチビット半導体メモリ装置及びその装置の誤り訂正方法
JP2011197957A (ja) 誤り訂正符号復号装置及び誤り訂正符号復号方法
US9799397B2 (en) Management of data storage in memory cells using a non-integer number of bits per cell
US9786388B1 (en) Detecting and managing bad columns
US20210005255A1 (en) Resistive memory apparatus and method for writing data thereof
JP3866674B2 (ja) 記憶システム
US20200089418A1 (en) Memory having different reliabilities
US20240086277A1 (en) Nand fast cyclic redundancy check
US11145372B2 (en) Decoding method, memory controlling circuit unit, and memory storage device
JP4212594B2 (ja) 多値半導体記憶装置及びその書き込み方法並びに記憶媒体
JPH10334697A (ja) 半導体記憶装置およびその誤り訂正方法
JPH0743959B2 (ja) 誤り訂正機能付半導体メモリ
JP2007179480A (ja) メモリコントローラおよびフラッシュメモリシステム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060124

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060323

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060516

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060718

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060817

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

LAPS Cancellation because of no payment of annual fees