JP2003036693A - 多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ - Google Patents

多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ

Info

Publication number
JP2003036693A
JP2003036693A JP2002045116A JP2002045116A JP2003036693A JP 2003036693 A JP2003036693 A JP 2003036693A JP 2002045116 A JP2002045116 A JP 2002045116A JP 2002045116 A JP2002045116 A JP 2002045116A JP 2003036693 A JP2003036693 A JP 2003036693A
Authority
JP
Japan
Prior art keywords
bit
binary
parity code
address
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.)
Pending
Application number
JP2002045116A
Other languages
English (en)
Inventor
Hideyuki Furukawa
秀之 古川
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2002045116A priority Critical patent/JP2003036693A/ja
Priority to US10/146,074 priority patent/US6990623B2/en
Publication of JP2003036693A publication Critical patent/JP2003036693A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

(57)【要約】 【課題】 多値半導体メモリの誤り検出・訂正を、簡易
な手法で確実に実行する。 【解決手段】 2ビットのデータを保持する多値のメモ
リセルの各ビットを示すアドレスにそれぞれ対応する誤
り検出用の2進ビットアドレスが、1つのメモリセルに
対応する2つの2進ビットアドレスの各桁が互いに排他
的になるように割り当てられる。2進ビットアドレスの
各桁について、その桁が"0"である全ての2進ビットア
ドレスに対応するデータのパリティ符号と、その桁が"
1"である全ての2進ビットアドレスに対応するデータ
のパリティ符号とからなる第1パリティ符号が、書き込
みデータと読み出しデータとについてそれぞれ生成され
る。読み出しデータの第1パリティ符号が、書き込みデ
ータの第1パリティ符号と全て異なるときに、記憶して
いる2ビットのデータがともに誤りであるメモリセルが
一つ存在することが検出される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、1つのメモリセル
に複数のビット情報を記憶できる多値半導体メモリの誤
り検出・訂正技術に関する。
【0002】
【従来の技術】一般に、半導体メモリは、1つのメモリ
セルに1ビットの情報を記憶している。フラッシュメモ
リ等の半導体メモリでは、データの書き込み時および読
み出し時に、それぞれメモリセルのアクセス単位毎に簡
単なエラー検出・訂正符号(ECC(Error Correcting Co
de))を生成し、これ等ECCを比較することで、1ビッ
トエラーの検出・訂正をしている。図28および図29
は、フラッシュメモリにおいて、1ビットの誤りを検出
・訂正をする方法を示している。説明を簡単にするため
に、メモリセルのアクセス単位(書き込み・読み出し単
位)が8ビット単位の場合について説明する。実際のフ
ラッシュメモリでは、例えば、4096ビット単位で読み出
し動作および書き込み動作が実行される。この例では、
ECCとして奇数パリティ符号が使用される。
【0003】この例では、パリティ符号を生成するため
に2進ビットアドレスBAが使用される。2進ビットアド
レスBAは、各メモリセルを示す物理ビットアドレスPAを
2進表現したものである。対象となるメモリセルは8個
なので、2進ビットアドレスBAは、3ビットで構成され
る。以下、2進数で"10010110"の書き込みデータWDがメ
モリセルに書き込まれ、メモリセルから2進数で"10010
010"の読み出しデータRDが読み出される例について説明
する。すなわち、物理ビットアドレスPAが"2"のメモリ
セルで、データの誤りが発生する。
【0004】図29に示すように、パリティ符号P0-P5
のビット数は、2進ビットアドレスBAのビット数の2倍
の6ビットに設定される。パリティ符号P0は、2進ビッ
トアドレスBAの最下位桁が"0"である4つの2進ビット
アドレスBAに対応するデータから算出される。すなわ
ち、パリティ符号P0は、2進ビットアドレス"000"、"01
0"、"100"、"110"に対応する4つの物理ビットアドレ
ス"0"、"2"、"4"、"6"に読み書きされるデータを使用し
て生成される。
【0005】パリティ符号P1は、2進ビットアドレスBA
の最下位桁が"1"である4つの2進ビットアドレスBAに
対応するデータから算出される。すなわち、パリティ符
号P1は、2進ビットアドレス"001"、"011"、"101"、"11
1"に対応する4つの物理ビットアドレス"1"、"3"、"
5"、"7"に読み書きされるデータを使用して生成され
る。同様に、パリティ符号P2、P4は、それぞれ2進ビッ
トアドレスBAの第2桁、第3桁(最上位桁)が"0"であ
る4つの2進ビットアドレスBAに対応するデータから算
出される。パリティ符号P3、P5は、それぞれ2進ビット
アドレスBAの第2桁、第3桁(最上位桁)が"1"である
4つの2進ビットアドレスBAに対応するデータのパリテ
ィである。
【0006】このように、書き込み時のパリティ符号WP
の各ビットおよび読み出し時のパリティ符号RPの各ビッ
トは、図28に示した書き込みデータWD("10010110")
のうちの所定の4ビットおよび読み出しデータRD("100
10100")のうちの所定の4ビットからそれぞれ求められ
る。パリティ符号P0-P5は、上述したように2進ビット
アドレスBAの各桁が"0"または"1"の場合についてそれぞ
れ生成される。このため、1ビットエラーが発生したと
き、パリティ符号WP、RPの各ビットを比較すると、パリ
ティ符号P0、P1の一方、パリティ符号P2、P3の一方、お
よびパリティ符号P4、P5の一方がそれぞれ反転してい
る。具体的には、図29に示すように、下線を付した誤
りが発生した2進ビットアドレスBA("010")は、パリ
ティ符号P0、P1の一方、パリティ符号P2、P3の一方、お
よびパリティ符号P4、P5の一方にそれぞれ含まれる。し
たがって、パリティWP、RPにおける各パリティP0-P5の
排他的論理和(WP xor RP)において、パリティ符号P
0、P1、パリティ符号P2、P3、およびパリティ符号P4、P
5が互いに異なる場合、1ビットエラーが検出される。
このとき、エラーの発生した2進ビットアドレスBAは、
パリティ符号P5、P3、P1を並べた値(この例では"01
0")になる。そして、このアドレスから読み出されたデ
ータを反転することで、誤りが訂正される。
【0007】近時、フラッシュメモリが搭載される携帯
機器等では、扱うデータ量が増大してきており、さらな
る大容量のフラッシュメモリが要求されている。このた
め、1つのメモリセルに2ビットの情報を記憶できる4
値フラッシュメモリが開発されている。図30は、1つ
のメモリセルに2ビットの情報を記憶できるフラッシュ
メモリにおいて、各データの論理値と閾値電圧VTHとの
関係を示している。
【0008】例えば、メモリセルの閾値電圧VTHが基準
電圧V1より低いとき、メモリセルに保持されているデー
タは、"00"である。メモリセルの閾値電圧VTHが基準電
圧V1、V2の間にあるとき、メモリセルに保持されている
データは、"01"である。メモリセルの閾値電圧VTHが基
準電圧V2、V3の間にあるとき、メモリセルに保持されて
いるデータは、"10"である。メモリセルの閾値電圧VTH
が基準電圧V3より高いとき、メモリセルに保持されてい
るデータは、"11"である。この種のフラッシュメモリで
は、閾値電圧VTHに応じて異なるメモリセル電流を、複
数の基準電流と比較することで、メモリセルに保持され
ているデータが読み出される。
【0009】
【発明が解決しようとする課題】2ビットの情報を記憶
できるメモリセルを有する4値フラッシュメモリでは、
メモリセルに欠陥が発生した場合、書き込み動作時に閾
値電圧の制御ができなくなる。このため、同じメモリセ
ルで2ビットエラーが発生する可能性が高い。したがっ
て、この種の多値フラッシュメモリにおいては、1ビッ
トエラーの検出・訂正を行うだけでは、不良を十分に救
済できない。上述した4値フラッシュメモリでは、従来
の2ビットエラーの検出・訂正の手法を取り入れること
で、誤りの検出・訂正効率は向上する。しかし、従来の
2ビットエラーの検出・訂正をする回路は、1ビットエ
ラーの検出・訂正をする回路よりかなり複雑になる。こ
のため、2ビットエラーの検出・訂正回路をフラッシュ
メモリに搭載した場合、チップサイズが増加し、製造コ
ストが上昇するという問題があった。また、2ビットエ
ラーの検出・訂正回路は、1ビットエラーの検出・訂正
回路に比べ、誤りの検出・訂正時間が長くなる。このた
め、今後高速に読み出しが可能な4値フラッシュメモリ
が開発された場合、読み出しサイクル時間内に誤りが訂
正できないおそれがある。
【0010】また、1つのメモリセルに8値および16
値を記憶する半導体メモリでは、それぞれ、3ビットエ
ラーおよび4ビットエラーが発生しやすい。しかし、従
来、1つの多値メモリセルで発生する複数ビット不良に
特化した誤り検出・訂正の手法は提案されていない。本
発明の目的は、1つのメモリセルに複数のビット情報を
記憶できる多値半導体メモリにおいて、誤りの検出およ
び誤りの訂正を簡易な手法で確実に実行することにあ
る。
【0011】本発明の別の目的は、1つのメモリセルに
複数のビット情報を記憶できる多値半導体メモリにおい
て、チップサイズを増加させることなく、誤りの検出お
よび誤りの訂正を簡易な回路で実現することにある。
【0012】
【課題を解決するための手段】請求項1の多値半導体メ
モリの誤り検出・訂正方法および請求項4の誤り検出・
訂正機能を有する多値半導体メモリでは、2ビットのデ
ータを保持する多値のメモリセルの各ビットを示すアド
レスにそれぞれ対応する誤り検出用の2進ビットアドレ
スが、1つのメモリセルに対応する2つの2進ビットア
ドレスの各桁が互いに排他的になるように割り当てられ
る。2進ビットアドレスの各桁について、その桁が"0"
である全ての2進ビットアドレスに対応する書き込みデ
ータのパリティ符号と、その桁が"1"である全ての2進
ビットアドレスに対応する書き込みデータのパリティ符
号とからなる第1パリティ符号が生成される。
【0013】メモリセルからのデータの読み出し時に、
書き込みデータの第1パリティ符号を生成したときと同
じ組み合わせの2進ビットアドレスに対応する読み出し
データの第1パリティ符号が生成される。すなわち、デ
ータの読み出し時に、2進ビットアドレスの各桁につい
て、その桁が"0"である全ての2進ビットアドレスに対
応する読み出しデータの第1パリティ符号と、その桁
が"1"である全ての該2進ビットアドレスに対応する読
み出しデータの第1パリティ符号とが生成される。
【0014】そして、読み出し時に生成した第1パリテ
ィ符号が、書き込み時に生成した第1パリティ符号と全
て異なるときに、記憶している2ビットのデータがとも
に誤りであるメモリセルが一つ存在することが検出され
る。2進ビットアドレスの割り当て、第1パリティ符号
の生成は、例えば、多値半導体メモリの第1生成回路に
より行われる。1つのメモリセルで発生した2ビットエ
ラーは、例えば、多値半導体メモリの第1検出回路によ
り検出される。
【0015】1つのメモリセルに割り当てられる2進ビ
ットアドレスを全てのビットが互いに反転するように組
み合わせるだけで、1つのメモリセルで発生する2ビッ
トエラーを検出できる。このため、第1生成回路および
第1検出回路を簡易に形成できる。したがって、1つの
メモリセルに複数のビット情報を記憶できる多値半導体
メモリにおいて、誤りの検出および誤りの訂正を簡易な
手法で確実に実行できる。
【0016】誤りの検出を簡易な回路で実現できるた
め、1つのメモリセルの2ビットエラーを検出する回路
を搭載しても、多値半導体メモリのチップサイズが増加
することはない。請求項2の多値半導体メモリの誤り検
出・訂正方法および請求項6の誤り検出・訂正機能を有
する多値半導体メモリでは、各メモリセルに誤り訂正用
の2進セルアドレスが割り当てられる。2進セルアドレ
スの各桁について、その桁が"0"または"1"のいずれか
である全ての2進セルアドレスに対応するメモリセルの
一方のビットに書き込まれるデータの第2パリティ符号
が生成される。記憶している2ビットのデータがともに
誤りであるメモリセルが一つ存在することを検出したと
きに、書き込みデータの第2パリティ符号を生成したと
きと同じ組み合わせの2進セルアドレスに対応するメモ
リセルの一方のビットから読み出されるデータの第2パ
リティ符号が生成される。
【0017】書き込み時に生成した第2パリティ符号の
各ビットと読み出し時に生成した第2パリティ符号の各
ビットとの排他的論理和が求められる。求めた排他的論
理和がアドレスの各桁に割り当てられ、誤りが発生した
2進セルアドレスが判明する。誤りが発生したメモリセ
ルから読み出された2ビットのデータを反転すること
で、誤りが訂正される。
【0018】2進セルアドレスの割り当て、第2パリテ
ィ符号の生成は、例えば、多値半導体メモリの第2生成
回路により行われる。1つのメモリセルで発生した2ビ
ットの誤りは、例えば、多値半導体メモリの第1訂正回
路により訂正される。メモリセルの一方のビットに対応
するデータを用いて第2パリティ符号が生成されるた
め、第2生成回路を簡易に形成できる。したがって、簡
易な回路で容易に1つのメモリセルの2ビットエラーを
訂正できる。
【0019】誤りの訂正を簡易な回路で実現できるた
め、1つのメモリセルの2ビットエラーを訂正する回路
を搭載しても、多値半導体メモリのチップサイズが増加
することはない。請求項3の多値半導体メモリの誤り検
出・訂正方法および請求項8の誤り検出・訂正機能を有
する多値半導体メモリでは、書き込み時に生成した第1
パリティ符号および読み出し時に生成した第1パリティ
符号の排他的論理和が求められる。第1パリティ符号を
生成する際にそれぞれ着目した桁に対応する一対の排他
的論理和が、全て互いに反転しているとき、メモリセル
から読み出したデータのうち1ビットが誤りであること
が検出される。
【0020】一対の排他的論理和の一方をアドレスの各
桁に割り当てることで、誤りが発生した2進ビットアド
レスが求められる。メモリセルから読み出されたデータ
のうち2進ビットアドレスに対応するデータを反転する
ことで、誤りが訂正される。1ビットエラーの検出は、
例えば、多値半導体メモリの第2検出回路により行われ
る。1ビットエラーの訂正は、例えば、多値半導体メモ
リの第2訂正回路により行われる。
【0021】1つのメモリセルの2ビットエラーの検出
に用いた第1パリティ符号を流用して、1ビットエラー
の検出・訂正ができるため、1ビットエラーの検出・訂
正の機能を追加しても誤り検出・訂正の回路規模が増大
することはない。すなわち、多値半導体メモリのチップ
サイズが増加することはない。請求項5の誤り検出・訂
正機能を有する多値半導体メモリは、第1パリティ符号
の各ビットを2ビットデータに変換する変換回路と、2
ビットデータを前記第1パリティ符号として保持する多
値メモリセルとを有している。
【0022】請求項7の誤り検出・訂正機能を有する多
値半導体メモリでは、第2パリティ符号の各ビットを2
ビットデータに変換する変換回路と、2ビットデータに
第2パリティ符号として保持する多値メモリセルとを有
している。第1パリティ符号および第2パリティ符号の
論理値(1ビット)を、多値に変換して保持しておくこ
とで、パリティ符号自体のエラーの発生確率を下げるこ
とができる。すなわち、多値メモリセルに記憶されるパ
リティ符号の信頼性を向上できる。この結果、誤り検
出、誤り訂正を確実に行うことができる。
【0023】請求項9の多値半導体メモリの誤り検出・
訂正方法および請求項13の誤り検出・訂正機能を有す
る多値半導体メモリでは、複数ビットのデータを保持す
るメモリセルからそれぞれ2ビットをビット対として選
択して複数の第1集合が構成される。そして、各第1集
合について、上述と同様に、メモリセルのビット対を示
す2つの2進第1アドレスが、これ等2進第1アドレス
の各桁を互いに排他的にして割り当てられる。次に、2
進第1アドレスの各桁について、その桁が"0"である全
ての該2進第1アドレスに対応する書き込みデータのパ
リティ符号と、その桁が"1"である全ての該2進第1ア
ドレスに対応する書き込みデータのパリティ符号とから
なる第1パリティ符号が生成される。
【0024】メモリセルからのデータの読み出し時に生
成した第1パリティ符号が、書き込み時に生成した第1
パリティ符号と全て異なるときに、各第1集合に割り当
てられた領域において、ビット対のデータがともに誤り
であるメモリセルが一つ存在することが検出される。2
進第1アドレスの割り当て、第1パリティ符号の生成
は、例えば、多値半導体メモリの第1生成回路により行
われる。ビット対のデータがともに誤りであるメモリセ
ルの検出は、例えば、多値半導体メモリの第1検出回路
により行われる。
【0025】メモリセルを複数のビット対に分割し、ビ
ット対を複数の第1集合にそれぞれ割り当てることで、
2ビットを超えるデータを記憶する多値メモリセルにお
いても、第1集合毎にビット対のデータがともに誤りで
あるメモリセルを検出できる。すなわち、簡易な手法で
多値メモリセルの誤りを検出できる。請求項10の多値
半導体メモリの誤り検出・訂正方法および請求項14の
誤り検出・訂正機能を有する多値半導体メモリでは、第
1集合のビット対の一方のビットをそれぞれ選択して、
第1集合に対応する複数の第2集合が構成される。そし
て、各第2集合について、選択されたビットを示す誤り
訂正用の2進第2アドレスが、メモリセルに対応してそ
れぞれ割り当てられる。次に、2進第2アドレスの各桁
について、その桁が"0"である全ての該2進第2アドレ
スに対応する書き込みデータの第2パリティ符号、また
はその桁が"1"である全ての該2進第2アドレスに対応
する書き込みデータの第2パリティ符号が生成される。
【0026】第1集合に対応する各第2集合において、
書き込みデータの第2パリティ符号を生成したときと同
じ組み合わせの2進第2アドレスに対応するメモリセル
のビットから読み出されるデータの第2パリティ符号が
生成される。ビット対のデータがともに誤りであるメモ
リセルが一つ存在することが検出されたときに、書き込
み時に生成した第2パリティ符号の各ビットと読み出し
時に生成した第2パリティ符号の各ビットとの排他的論
理和を求め、求めた排他的論理和を2進数の各桁に割り
当てて、誤りが発生した2進第2アドレスとする。そし
て、誤りが発生したメモリセルから読み出された2ビッ
トのデータを反転することで、誤りが訂正される。
【0027】2進第2アドレスの割り当て、第2パリテ
ィ符号の生成は、例えば、多値半導体メモリの第2生成
回路により行われる。ビット対のデータがともに誤りで
あるメモリセルのエラーの訂正は、例えば、多値半導体
メモリの第1訂正回路により行われる。第1集合に対応
する第2集合を構成し、第2集合によって誤りの発生し
たメモリセルを特定することで、2ビットを超えるデー
タを記憶する多値メモリセルにおいても、各第1集合毎
にビット対のデータがともに誤りであるメモリセルの誤
りを訂正できる。すなわち、簡易な手法で多値メモリセ
ルの誤りを訂正できる。
【0028】請求項11の多値半導体メモリの誤り検出
・訂正方法および請求項15の誤り検出・訂正機能を有
する多値半導体メモリでは、各第1集合について、書き
込み時に生成した第1パリティ符号および読み出し時に
生成した第1パリティ符号の排他的論理和が求められ
る。そして、ビット対の排他的論理和が、全て互いに反
転しているとき、各第1集合に割り当てられた領域にお
いて、メモリセルから読み出したデータのうち1ビット
が誤りであることが検出される。
【0029】次に、ビット対の一方を2進数の各桁に割
り当てることで、誤りが発生した2進第1アドレスを求
め、メモリセルから読み出されたデータのうち2進第1
アドレスに対応するデータを反転することで、誤りが訂
正される。1ビット誤りの検出および訂正は、例えば、
多値半導体メモリの第2検出回路および第2訂正回路に
よりそれぞれ行われる。
【0030】多値メモリセルを複数のビット対に分割
し、ビット対を複数の第1集合にそれぞれ割り当てるこ
とで、2ビットを超えるデータを記憶する多値メモリセ
ルにおいても、第1集合毎にメモリセルの1ビット誤り
を検出・訂正できる。すなわち、簡易な手法で多値メモ
リセルの誤りを検出・訂正できる。請求項12の多値半
導体メモリの誤り検出・訂正方法および請求項16の誤
り検出・訂正機能を有する多値半導体メモリでは、各第
1集合について、書き込み時に生成した第1パリティ符
号および読み出し時に生成した第1パリティ符号の排他
的論理和が求められる。そして、排他的論理和の1つの
みが"1"のとき、第1パリティ符号のうち1ビットが誤
りであることが検出される。すなわち、多値メモリセル
を複数のビット対に分割した場合にも、第1集合毎に第
1パリティ符号自体の誤りを検出できる。第1パリティ
符号の誤りの検出は、例えば、多値半導体メモリの第3
検出回路により行われる。
【0031】請求項17の誤り検出・訂正機能を有する
多値半導体メモリでは、パリティ記憶回路は、第1パリ
ティ符号をそれぞれ記憶する複数の多値メモリセルを有
している。第1パリティ符号は、パリティ記憶回路内の
各多値メモリセルの複数ビットに同時に記憶される。こ
のため、パリティ記憶回路内の多値メモリセルにビット
誤りが発生した場合にも、多数決論理等により、正しい
パリティ符号を読み出すことができる。
【0032】
【発明の実施の形態】以下、本発明の原理および実施形
態を図面を用いて説明する。図1ないし図4は、本発明
の第1の基本原理を示している。本発明の多値半導体メ
モリは、1つのメモリセルに2ビットのデータを記憶す
る。1回の書き込み動作で、n/2個のメモリセルがアク
セスされ、nビットのデータが書き込まれる。同様に、
1回の読み出し動作で、n/2個のメモリセルがアクセス
され、nビットのデータが読み出される。データを記憶
する各ビット領域は、0〜n-1の物理ビットアドレスPAで
識別される。メモリセルは、0〜(n/2)-1の物理セルアド
レスPCAで識別される。
【0033】この発明では、誤り検出用の第1パリティ
符号を生成するための2進ビットアドレスBAと、誤り訂
正用の第2パリティ符号を生成するための2進セルアド
レスBCAとを使用する。2進ビットアドレスBAは、メモ
リセルの各ビットを示すアドレス(物理ビットアドレス
PA)に対応して割り当てられる。2進セルアドレスBCA
は、メモリセルに対応して割り当てられる。第1パリテ
ィ符号および第2パリティ符号については、後述する図
2および図3でそれぞれ説明する。
【0034】本発明では、各メモリセルを示す一対の物
理ビットアドレスPAにそれぞれ対応する一対の2進ビッ
トアドレスBAの各桁が、互いに排他的になるように割り
当てられている。このように、この発明では、第1パリ
ティ符号を生成するための2進ビットアドレスBAを物理
ビットアドレスPAと同じにせず、1つの物理セルアドレ
スPCAに対応する2つの2進ビットアドレスBAの和を常
に"111...1111"(全桁が1)にしたことを特徴としてい
る。
【0035】2進セルアドレスBCAは、各メモリセルを
示す物理セルアドレスPCAを2進表現したものである。
メモリセルの物理ビットアドレスPAに対応する領域に
は、それぞれ書き込みデータWD0〜WDn-1が書き込まれ、
これ等領域から読み出しデータRD0〜RDn-1が読み出され
る。図2は、誤り検出用のパリティ符号P0〜Pm-1(第1
パリティ符号)の生成に必要な2進ビットアドレスBAの
組み合わせを示している。パリティ符号P0〜Pm-1は、こ
れ等2進ビットアドレスBAに対応するデータを使用して
生成される。パリティ符号P0〜Pm-1の個数mは、2進ビ
ットアドレスBAのビット数の2倍(m=2・log2(n))に設
定されている。
【0036】パリティ符号P0は、2進ビットアドレスBA
の最下位桁が"0"であるn/2個の2進ビットアドレスBAに
対応するデータから生成される。すなわち、パリティ符
号P0は、2進ビットアドレス"***...***0"(*は任意の
値)に対応するn/2個の物理ビットアドレスPAに読み書
きされるデータを使用して生成される。パリティ符号P1
は、2進ビットアドレスBAの最下位桁が"1"であるn/2個
の2進ビットアドレスBAに対応するデータから生成され
る。すなわち、パリティ符号P1は、2進ビットアドレ
ス"***...***1"(*は任意の値)に対応するn/2個の物理
ビットアドレスPAに読み書きされるデータを使用して生
成される。
【0037】同様に、添え数字が偶数のパリティ符号P
2、P4、...、Pm-2は、それぞれ2進ビットアドレスBAの
所定の桁が"0"であるn/2個の2進ビットアドレスBAに対
応するデータから生成される。添え数字が奇数のパリテ
ィ符号P3、P5、...、Pm-1は、それぞれ2進ビットアド
レスBAの所定の桁が"1"であるn/2個の2進ビットアドレ
スBAに対応するデータから生成される。
【0038】上述した規則にしたがって、書き込み時の
パリティ符号WP(第1パリティ符号)のビットWP0〜WPm
-1は、図1に示したnビットの書き込みデータWDのビッ
トWD0〜WDn-1のうちの所定のn/2個からそれぞれ生成さ
れる。パリティ符号WPは、nビットの書き込みデータWD
0〜WDn-1とともに所定のメモリ領域に書き込まれる。同
様に、読み出し時のパリティ符号RP(第1パリティ符
号)のビットRP0〜RPm-1は、nビットの読み出しデータ
RDのビットRD0〜RDn-1のうちの所定のn/2個ビットから
それぞれ生成される。パリティ符号RPは、nビットのデ
ータの読み出し時に生成される。以降、パリティ符号W
P、RPを、単にパリティWP、RPとも称する。
【0039】次に、本発明の誤り検出・訂正方法につい
て説明する。まず、読み出し動作時に、読み出しデータ
RDとともにパリティWPが読み出される。パリティWPのビ
ットWP0〜WPm-1と、読み出しデータRDから生成したパリ
ティRPのビットRP0〜RPm-1との排他的論理和XP0〜XPm-1
(WP xor RP)がそれぞれ求められる。そして、排他的
論理和XP0〜XPm-1を使用して、以下のように誤り検出が
行われる。
【0040】(a)パリティWP、RPの各ビットが等しい
とき、すなわち、排他的論理和XPの各ビットが全て"0"
のとき、エラーは発生していない。 (b)パリティWP、RPの各ビットを比較して、パリティ
符号P0、P1の一方、パリティ符号P2、P3の一方、...、
パリティ符号Pm-2、Pm-1の一方が全て反転していると
き、1ビットエラーが発生している。換言すれば、パリ
ティWP、RPの排他的論理和を求め、パリティWP、RPを生
成する際にそれぞれ着目した2進ビットアドレスBAの各
桁に対応する一対の排他的論理和が、全て互いに反転し
ているとき、1ビットエラーが検出される。1ビットエ
ラー検出の条件は、次式(1)によっても表せる。すな
わち、整数kについて、隣接する偶数と奇数の排他的論
理和が互いに異なるとき、1ビットエラーが検出され
る。
【0041】 XP2k xor XP2k+1 = 1 (1) (整数k=0〜((m/2)-1)、m=2・log2(n)) このとき、エラーの発生した2進ビットアドレスBA(エ
ラービットアドレス)は、一対の排他的論理和の一方の
数値をアドレスの各桁に割り当てることで求められる。
この例では、奇数の添え数字の排他的論理和XPを上位か
ら並べた値になる。具体的には、エラービットアドレス
の各桁は、上位からXPm-1、XPm-3、...、XP5、XP3、XP1
になる。そして、エラービットアドレスから読み出した
データを反転することで、誤り訂正が行われる。
【0042】(c)排他的論理和XP0〜XPm-1が全て"1"
のとき、1つのメモリセルで発生した2ビットエラーが
検出される。すなわち、パリティWPの各ビットとパリテ
ィRPの各ビットとが全て異なるとき、1つのメモリセル
で発生した2ビットエラーが検出される。これは、同一
のメモリセルに記憶される2ビットに対応する一対の2
進ビットアドレスBAを、全てのビットが互いに反転する
ように組み合わせたためである。
【0043】図3は、1つのメモリセルで発生した2ビ
ットエラーを訂正するためのパリティ符号CP0〜CPj-1
(第2パリティ符号)の生成に必要な2進セルアドレス
BCAの組み合わせを示している。パリティ符号CP0〜CPj-
1は、これ等2進セルアドレスBCAに対応するデータを使
用して生成される。パリティ符号CP0〜CPj-1は、同一の
メモリセルにおける2ビットエラー(1つのメモリセル
のエラー)の訂正にしか使用されない。このため、上述
したパリティ符号P0〜Pm-1を生成する場合と異なり、パ
リティ符号CP0〜CPj-1の生成数は少なくて済む。具体的
には、パリティ符号CP0〜CPj-1の個数jは、2進ビット
アドレスBA(物理ビットアドレスPA)のビット数の2分
の1(j=log2(n/2))である。すなわち、パリティ符号C
P0〜CPj-1の個数jは、2進セルアドレスBCAのビット数
と同じになる。
【0044】パリティ符号CP0は、2進セルアドレスBCA
の最下位桁が"1"であるn/4個の2進セルアドレスBCAに
対応する一対のデータの一方を使用して生成される。す
なわち、パリティ符号CP0は、2進セルアドレス"***...
***1"(*は任意の値)に対応する2つの物理ビットアド
レスPAのうち、例えば奇数の物理ビットアドレスPAに対
応するデータを使用して生成される。
【0045】パリティ符号CP1は、2進セルアドレスBCA
の第2桁が"1"であるn/4個の2進セルアドレスBAに対応
する一対のデータの一方を使用して生成される。すなわ
ち、パリティ符号CP1は、2進セルアドレス"***...**1
*"(*は任意の値)に対応する2つの物理ビットアドレ
スPAのうち、例えば奇数の物理ビットアドレスPAに対応
するデータを使用して生成される。
【0046】同様に、パリティ符号CP2〜CPj-1は、それ
ぞれ2進セルアドレスBCAの所定の桁が"1"であるn/4個
の2進セルアドレスBAに対応する一対のデータの一方を
使用して生成される。すなわち、パリティ符号CP0〜CPj
-1は、2進セルアドレスBCAの各桁について、その桁が"
0"または"1"のいずれかである全ての2進セルアドレ
スBCAに対応するメモリセルの一方のビットに書き込ま
れるデータを使用して生成される。この例では、メモリ
セルの一方のビットを奇数の物理ビットアドレスPAに対
応するビットとした。メモリセルの一方のビットを偶数
の物理ビットアドレスPAに対応するビットとしてパリテ
ィ符号CP0〜CPj-1を生成することもできる。
【0047】書き込み動作時に生成されるパリティ符号
CP0〜CPj-1が、パリティ符号WCP0〜WCPj-1である。書き
込み時のパリティ符号WCP(第2パリティ符号)のビッ
トWCP0〜WCPj-1は、上述した規則にしたがって、図1に
示したnビットの書き込みデータWDのビットWD0〜WDn-1
のうちの所定のn/4ビットからそれぞれ生成される。パ
リティ符号WCPは、書き込みデータWDおよび上述したパ
リティ符号WPとともに所定のメモリ領域に書き込まれ
る。
【0048】同様に、読み出し動作時に生成されるパリ
ティ符号CP0〜CPj-1が、パリティ符号RCP0〜RCPj-1であ
る。読み出し時のパリティ符号RCP(第2パリティ符
号)のビットRCP0〜RCPj-1は、nビットの読み出しデー
タRDのビットRD0〜RDn-1のうちの所定のn/4ビットから
それぞれ生成される。パリティ符号RCPは、読み出しデ
ータRDの読み出し時に、パリティ符号RPとともに生成さ
れる。以降、パリティ符号WCP、RCPを、単にパリティWC
P、RCPとも称する。
【0049】そして、読み出し動作時に、読み出しデー
タRD、パリティWPとともに読み出されるパリティWCPの
各ビットWCP0〜WCPj-1と、読み出しデータRDから生成し
たパリティRCPの各ビットRCP0〜RCPj-1とから、それぞ
れ排他的論理和XRP0〜XRPj-1(WCP xor RCP)が求めら
れる。2ビットエラーが発生した2進セルアドレスBCA
は、排他的論理和XRP0〜XRPj-1をの数値をアドレスの各
桁に割り当てることで求められる。具体的には、2進セ
ルアドレスBCAの各桁は、上位からXRPj-1、XRPj-
2、...、XRP1、XRP0になる。そして、この2進セルアド
レスBCAからエラーが発生した物理セルアドレスPCAが求
められ、エラーが発生した2つの物理ビットアドレスPA
が求められる。この物理ビットアドレスPAに対応する読
み出しデータRDのビットデータを反転することで、1つ
のメモリセルでの2ビットエラーが訂正される。
【0050】(d)図2に示した排他的論理和XP0〜XPm
-1のビットパターンが、エラーなし、1ビットエラー、
1つのメモリセルでの2ビットエラーのいずれにも該当
しない場合、2つ以上のメモリセルにまたがって2ビッ
ト以上のエラーが発生している、または、パリティを格
納しているメモリセルにおいて1ビット以上のエラーが
発生していることが検出される。
【0051】図4は、上述した多値半導体メモリが実行
する誤り検出・訂正のフローを示している。フロー中の
(a)〜(d)は、上記の説明(a)〜(d)に対応し
ている。このフローは、データの読み出し動作時に実行
される。まず、ステップS1において、書き込みパリティ
WPと読み出しパリティRPとが等しいかどうか判定され
る。書き込みパリティWPと読み出しパリティRPとが等し
い場合、すなわち、図2に示した排他的論理和XP0〜XPm
-1が全て"0"のときには、エラーなしと判定される。こ
のとき、メモリセルから読み出されたデータは、そのま
ま外部に出力される。書き込みパリティWPと読み出しパ
リティRPが異なる場合、処理はステップS2に移行する。
【0052】ステップS2において、整数k(k=0〜((m/2)
-1))について、上述した式(1)が成り立つかどうか
判定される。式(1)が成立する場合、1ビットのエラ
ーが検出され、処理はステップS3に移行する。式(1)
が成立しない場合、処理はステップS4に移行する。ステ
ップS3において、図2で説明したように、1ビットエラ
ーの訂正が行われる。すなわち、メモリセルから読み出
されたデータのうち1ビットが訂正され、外部に出力さ
れる。
【0053】ステップS4において、書き込みパリティWP
と読み出しパリティRPとが全て異なるかどうか判定され
る。書き込みパリティWPと読み出しパリティRPとが全て
異なる場合、すなわち、図2に示した排他的論理和XP0
〜XPm-1が全て"1"のときには、1つのメモリセルでの2
ビットエラーが検出され、処理はステップS5に移行す
る。書き込みパリティWPと読み出しパリティRPの相違パ
ターンが、ステップS1、S2、S4のいずれでもない場合、
2つ以上のメモリセルにまたがる2ビット以上のエラ
ー、または、パリティを格納しているメモリセルにおけ
る1ビット以上のエラーが検出される。
【0054】ステップS5において、図3で説明したよう
に、1つのメモリセルで発生した2ビットエラーが訂正
される。すなわち、メモリセルから読み出されたデータ
のうち1つのメモリセルに対応する2ビットが訂正さ
れ、外部に出力される。図5は、本発明の第1の実施形
態を示している。この実施形態は、請求項1ないし請求
項4、請求項6、請求項8に対応している。多値半導体
メモリは、1つのメモリセルに2ビットの情報を記憶で
きるフローティングゲート型の4値フラッシュメモリと
して形成されている。このフラッシュメモリでは、書き
込みデータ(4値)に応じて、メモリセルのフローティ
ングゲートにトラップされるキャリアの量が4段階に調
整される。そして、メモリセルの閾値電圧に応じた4種
類のメモリセル電流を検出することで、メモリセルに記
憶されている2ビットのデータが読み出される。
【0055】フラッシュメモリは、ページバッファ1
0、メモリコア12、および図示しない入力回路、出力
回路、制御回路等を有している。ページバッファ10
は、バッファ制御回路14、データバッファ16、1
8、およびECC制御回路20を有している。メモリコア
12は、データエリアおよびスペアエリアで構成され複
数のページからなるメモリセルアレイ22と、読み出し
動作、書き込み動作(プログラム動作)、および消去動
作を実行する動作制御回路24とを含んでいる。読み出
し動作および書き込み動作は、ページ単位で実行され、
消去動作は、ページ単位または複数のページ単位で実行
される。
【0056】図6は、図5に示したメモリセルアレイ2
2の詳細を示している。メモリセルアレイ22の各ペー
ジは、512バイト(4096ビット=n)のデータエリア
と、16バイト(128ビット)のスペアエリアとで構成さ
れている。1つのメモリセルが2ビットのデータを記憶
できるため、1ページのデータエリアは、2048個のメモ
リセルを有し、1ページのスペアエリアは、64個のメモ
リセルを有している。メモリセルに記憶するデータと閾
値電圧との関係は、上述した図17と同一である。すな
わち、メモリセルの閾値電圧は、基準電圧V1、V2、V3に
より4種類に分けられ、閾値電圧の低い順にそれぞれ論
理データ"00"、"01"、"10"、"11"が割り当てられてい
る。
【0057】各ページのスペアエリアのうち下位の35ビ
ットは、24ビットのパリティ符号P0〜P23(第1パリテ
ィ符号)および11ビットのパリティ符号CP0〜CP10(第
2パリティ符号)を記憶する領域に割り当てられてい
る。スペアエリアの残りの領域は、リザーブ領域に割り
当てられている。図5に示したバッファ制御回路14
は、パリティCP0〜CP10に基づいて1つのメモリセルで
発生した2ビットエラーを訂正する第1訂正回路14
a、およびパリティP0〜P23に基づいて1ビットエラー
を訂正する第2訂正回路14bを有している。バッファ
制御回路14は、外部からの制御信号に応じてデータバ
ッファ16、18、およびECC制御回路20を制御す
る。
【0058】データバッファ16は、メモリセルアレイ
22のデータエリアにおける所定のページに対してデー
タ信号を読み書きするためのバッファで、512バイトの
容量を有している。このフラッシュメモリは、データ信
号が8ビットで構成されている。このため、1バイトの
データ信号が512回入力されることで、データバッファ
16に512バイトのデータ信号が入力される。データバ
ッファ18は、メモリセルアレイ22のスペアエリアに
おける所定のページに対してデータ信号を読み書きする
ためのバッファで、16バイトの容量を有している。
【0059】ECC制御回路20は、パリティP0〜P23を生
成する第1生成回路20a、パリティCP0〜CP10を生成
する第2生成回路20b、パリティCP0〜CP10に基づい
て1つのメモリセルで発生した2ビットエラーを検出す
る第1検出回路20c、およびパリティP0〜P23に基づ
いて1ビットエラーを検出する第2検出回路20dを有
している。ECC制御回路20は、図1〜図4で説明した
パリティ符号の生成および誤り検出を行う。
【0060】バッファ制御回路14は、書き込み動作時
に、外部から順次供給される512バイトの書き込みデー
タ(データ信号)をデータバッファ16を介してデータ
エリア内の指定されたページに書き込む。このとき、EC
C制御回路20の第1生成回路20aおよび第2生成回
路20bは、バッファ制御回路14から転送される書き
込みデータからパリティWP0〜WP23およびパリティWCP0
〜WCP10をそれぞれ生成し、生成したパリティをデータ
バッファ18に出力する。バッファ制御回路14は、デ
ータバッファに転送されたパリティWP0〜WP23、WCP0〜W
CP10をスペアエリア内の指定されたページに書き込む。
【0061】バッファ制御回路14は、読み出し動作時
に、指定されたページのデータエリアおよびスペアエリ
アからデータおよびパリティ符号をそれぞれ読み出し、
データバッファ16、18にそれぞれ一時保持する。こ
のとき、ECC制御回路20の第1生成回路20aおよび
第2生成回路20bは、データエリアから読み出した51
2バイトのデータからパリティRP0〜RP23およびパリティ
RCP0〜RCP10をそれぞれ生成する。
【0062】ECC制御回路20の第1検出回路20c、
第2検出回路20dは、スペアエリアから読み出したパ
リティWP0〜WP23と、第1生成回路20aが生成したパ
リティRP0〜RP23の排他的論理和XP0〜XP23を算出する。
上述した基本原理で説明したように、排他的論理和XP0
〜XP23を使用して、エラーなし、1ビットエラー、1つ
のメモリセルで発生した2ビットエラー、2つ以上のメ
モリセルにまたがって発生した2ビット以上のエラー、
または、パリティを格納しているメモリセルにおける1
ビット以上のエラーが検出される。なお、第1検出回路
20cおよび第2検出回路20dは、同一の回路で構成
してもよい。
【0063】エラーが検出されない場合、ECC制御回路
20は、エラーが検出されなかったことをバッファ制御
回路14に伝える。バッファ制御回路14は、バッファ
16に保持された512バイトの読み出しデータをそのま
ま外部に出力する。第2検出回路20dにより1ビット
エラーが検出された場合、ECC制御回路20は、エラー
が発生した物理ビットアドレスPA(エラービットアドレ
ス)をバッファ制御回路14に伝える。バッファ制御回
路14の第2訂正回路14bは、バッファ16に保持さ
れた512バイトの読み出しデータのうち、エラービット
アドレスに対応するデータを反転する。そしてエラーが
訂正された512バイトの読み出しデータが外部に出力さ
れる。
【0064】第1検出回路20cは、1つのメモリセル
で発生した2ビットエラーを検出した場合、図3で説明
したように、パリティRCP0〜RCP10を使用してエラーが
発生した2進セルアドレスBCAを算出する。第1検出回
路20cは、算出した2進セルアドレスBCAから2つの
連続した物理ビットアドレスPA(エラービットアドレ
ス)を算出し、算出した物理ビットアドレスPAをバッフ
ァ制御回路14に伝える。バッファ制御回路14の第1
訂正回路14aは、バッファ16に保持された512バイ
トの読み出しデータのうち、エラービットアドレスに対
応するデータを反転する。そしてエラーが訂正された51
2バイトの読み出しデータが外部に出力される。
【0065】2つ以上のメモリセルにまたがって発生し
た2ビット以上のエラー、または、パリティを格納して
いるメモリセルにおける1ビット以上のエラーが検出さ
れた場合、ECC制御回路20は、訂正できないエラーが
発生したことをバッファ制御回路14に伝える。バッフ
ァ制御回路14は、訂正できないエラーが発生したこと
を制御信号として外部に出力する。この後、例えば、フ
ラッシュメモリを搭載するシステムは、エラーが発生し
たページをそれ以降使用しないようにする、または、再
度同じページの読み出し動作を実行する。
【0066】次に、具体的な数値を用いて、上述した1
ビットエラーの検出および訂正、1つのメモリセルで発
生した2ビットエラーの検出および訂正、2つ以上のメ
モリセルにまたがって発生した2ビット以上のエラー
(またはパリティを格納しているメモリセルにおける1
ビット以上のエラー)の検出について説明する。説明を
簡単にするために、上述した図16と同様にメモリセル
のアクセス単位(書き込み・読み出し単位)が8ビット
の場合について説明する。この例では、奇数パリティ符
号が使用される。
【0067】図7および図8は、1ビットエラーの検出
方法および訂正方法を示している。図16と同様に、2
進数で"10010110"の書き込みデータWDがメモリセルに書
き込まれ、2進数で"10010010"の読み出しデータRDがメ
モリセルから読み出される。すなわち、物理ビットアド
レスPAが"2"のメモリセルで、1ビットエラーが発生す
る。
【0068】図8に示すように、まず、図5に示した第
1生成回路20aは、2進ビットアドレスBAの各桁が"
0"または"1"である2進ビットアドレスBAに対応するデ
ータのパリティ符号P0〜P5を生成する。第2検出回路2
0dは、添え数字が偶数の排他的論理和(例えばXP0)
と、この排他的論理和に隣接し、添え数字が奇数の排他
的論理和(例えばXP1)との排他的論理和をそれぞれ求
める。これ等排他的論理和が全て"1"であることに基づ
いて1ビットエラーが検出される。第2検出回路20d
は、添え数字が奇数のパリティ符号XP5、XP3、XP1を使
用して、エラーが発生した2進ビットアドレスBA("00
1")を求める。さらに、第2検出回路20dは、求めた
2進ビットアドレスBAから1ビットエラーが発生した物
理ビットアドレスPA("2")を求める。この後、バッフ
ァ制御回路14の第2訂正回路14bは、物理ビットア
ドレスPAから読み出したデータを反転しする。すなわ
ち、1ビットエラーが訂正される。
【0069】図9〜図11は、1つのメモリセルで発生
した2ビットエラーの検出方法および訂正方法を示して
いる。この例では、2進数で"10010110"の書き込みデー
タWDがメモリセルに書き込まれ、2進数で"10011010"の
読み出しデータRDがメモリセルから読み出される。すな
わち、物理ビットアドレスPAが"2"および"3"のメモリセ
ル(物理セルアドレスPCA="1")で、2ビットエラーが
発生する。
【0070】図10に示すように、まず、図5に示した
第1生成回路20aは、2進ビットアドレスBAの各桁
が"0"または"1"である2進ビットアドレスBAに対応する
データのパリティ符号P0〜P5を生成する。第1検出回路
20cは、排他的論理和XPが全て"1"であることに基づ
いて1つのメモリセルで発生した2ビットエラーを検出
する。
【0071】次に、図11に示すように、第2検出回路
20dは、パリティ符号WCP、RCPから求めた排他的論理
和XRPを使用して、エラーが発生した2進セルアドレスB
CA("01")を求める。さらに、第2検出回路20dは、
求めた2進セルアドレスBCAから物理セルアドレスPCA
(="1")および物理ビットアドレスPA(="2"、"3")
を求める。この後、図5に示したバッファ制御回路14
の第1訂正回路14aは、物理ビットアドレスPAから読
み出したデータを反転する。すなわち、1つのメモリセ
ルで発生した2ビットエラーが訂正される。
【0072】図12および図13は、2つ以上のメモリ
セルにまたがって発生した2ビット以上のエラー、また
は、パリティを格納しているメモリセルにおける1ビッ
ト以上のエラーの検出方法を示している。この例では、
2進数で"10010110"の書き込みデータWDがメモリセルに
書き込まれ、2進数で"10010000"の読み出しデータRDが
メモリセルから読み出される。すなわち、物理ビットア
ドレスPAが"1"および"2"のメモリセルで、2ビットエラ
ーが発生する("0"と"1"の物理セルアドレスPCAにまた
がった2ビットエラー)。
【0073】図13に示すように、まず、第1生成回路
20aは、2進ビットアドレスBAの各桁が"0"または"1"
である2進ビットアドレスBAに対応するデータのパリテ
ィ符号P0〜P5を生成する。ECC制御回路20は、排他的
論理和XPが予め予想されたパターンでないことに基づい
て2つ以上のメモリセルにまたがって発生した2ビット
以上のエラー、またはパリティを格納しているメモリセ
ルにおける1ビット以上のエラーを検出する。
【0074】以上、本実施形態では、1つのメモリセル
に割り当てられる2進ビットアドレスBAを全てのビット
が互いに反転するように組み合わせた。このため、簡易
な第1生成回路20aおよび第1検出回路20cで、1
つのメモリセルで発生する2ビットエラーを容易に検出
できる。したがって、4値半導体メモリにおいて、誤り
の検出および誤りの訂正を簡易な手法で確実に実行でき
る。
【0075】メモリセルの一方のビットに対応するデー
タを用いてパリティ符号CP0〜CP10を生成したので、第
2生成回路20bを簡易に形成できる。すなわち、簡易
な回路で1つのメモリセルの2ビットエラーを訂正でき
る。簡易な第1および第2検出回路20c、20dで誤
りを検出できるため、4値フラッシュメモリのチップサ
イズが大きく増加することはない。
【0076】1つのメモリセルの2ビットエラーの検出
に用いたパリティ符号P0〜P23を流用して、1ビットエ
ラーの検出・訂正をした。このため、1ビットエラーの
検出・訂正の機能を追加しても誤り検出・訂正の回路規
模が増大することはない。すなわち、多値半導体メモリ
のチップサイズが増加することはない。図14は、本発
明の多値半導体メモリの第2の実施形態を示している。
この実施形態は、請求項1ないし請求項8に対応してい
る。第1の実施形態で説明した要素と同一の要素につい
ては、同一の符号を付し、これ等については、詳細な説
明を省略する。
【0077】この実施形態の多値半導体メモリは、1つ
のメモリセルに2ビットの情報を記憶できるフローティ
ングゲート型のフラッシュメモリとして形成されてい
る。フラッシュメモリは、第1の実施形態のECC制御回
路20を有するページバッファ10の代わりにECC制御
回路28を有するページバッファ26を含んでいる。EC
C制御回路28は、第1の実施形態と同じ第1生成回路
20a、第2生成回路20b、第1検出回路20c、お
よび第2検出回路20dの他に変換回路26aを有して
いる。ページバッファ26のその他の回路およびメモリ
コア12は第1の実施形態と同じ構成である。
【0078】図15は、図14に示したメモリセルアレ
イ22のスペアエリアの詳細を示している。この実施形
態では、24ビットのパリティ符号WP0〜WP23および11ビ
ットのパリティ符号WCP0〜WCP10を格納するために、そ
れぞれ48ビット、22ビットのスペアエリアが使用され
る。例えば、メモリセルに記憶するデータと閾値電圧と
の関係を上述した図18と同じにした場合、図14に示
した変換回路26aは、パリティ符号の論理値"0"、"1"
を、論理値"00"、"11"にそれぞれ変換する。すなわち、
変換回路26aは、パリティ符号の論理値を1ビットか
ら2ビットに変換する。このように、パリティ符号の論
理値を、図18の両端の閾値電圧に対応する論理値に変
換することで、パリティ符号のエラーの発生確率を下げ
ることができる。すなわち、スペアエリアに記憶される
パリティ符号自体の信頼性が向上する。
【0079】この実施形態においても、上述した第1の
実施形態と同様の効果を得ることができる。さらに、こ
の実施形態では、パリティ符号WP0〜WPm-1およびパリテ
ィ符号WCP0〜WCPj-1の各ビットをメモリセルの2ビット
を使用して記憶した。このため、パリティ符号の信頼性
を向上できる。この結果、誤り検出、誤り訂正を確実に
行うことができる。
【0080】なお、上述した実施形態では、メモリセル
の閾値電圧の低い順に、それぞれ論理データ"00"、"0
1"、"10"、"11"を割り当てた例について述べた。本発明
はかかる実施形態に限定されるものではない。例えば、
閾値電圧の低い順に、それぞれ論理データ"00"、"0
1"、"11"、"10"を割り当ててもよい。この場合、メモリ
セルの閾値電圧の値が隣の領域の値に変わっても、2ビ
ットエラーは発生しないため、2ビットエラーの発生確
率を下げることができる。
【0081】上述した実施形態では、奇数パリティを用
いて誤り検出・訂正を行った例について述べた。本発明
はかかる実施形態に限定されるものではない。例えば、
偶数パリティを用いて誤り検出・訂正を行ってもよい。
上述した実施形態では、本発明を多値フラッシュメモリ
に適用した例について述べた。本発明はかかる実施形態
に限定されるものではない。例えば、本発明を多値強誘
電体メモリに適用してもよい。あるいは、本発明を多値
を記憶できる他の不揮発性半導体メモリ、揮発性半導体
メモリに適用してもよい。
【0082】上述した第1の実施形態では、パリティ符
号CP0〜CP10を、各桁が"1"である2進セルアドレスBCA
の集合を用いて生成した例について述べた。本発明はか
かる実施形態に限定されるものではない。例えば、パリ
ティ符号CP0〜CP10を、各桁が"0"である2進セルアドレ
スBCAの集合を用いて生成してもよい。図16ないし図
22は、本発明の第2の基本原理を示している。
【0083】この基本原理の多値半導体メモリは、1つ
のメモリセルにmビット(偶数)のデータを記憶する。
1回の書き込み動作で、n/m個のメモリセルがアクセス
され、nビットのデータが書き込まれる。同様に、1回
の読み出し動作で、n/m個のメモリセルがアクセスさ
れ、nビットのデータが読み出される。メモリセルにお
ける1ビットのデータを記憶するビット領域は、0〜n-1
の物理ビットアドレスPAで識別される。
【0084】この基本原理では、メモリセル毎に2ビッ
トずつ(ビット対)が選択され、m/2個の第1集合A1、A
2、...、A(m/2)が構成される。例えば、第1集合A1に
は、メモリセルの下位2ビットが割り当てられ、第1集
合A(m/2)には、メモリセルの上位2ビットが割り当てら
れる。第1集合A1、A2、...、A(m/2)は、図16に示し
た構成に限らない。各メモリセルの全ビットが、第1集
合A1、A2、...、A(m/2)のいずれかに2ビットずつ割り
当てられればよい。
【0085】第1集合A1、A2、...、A(m/2)において、
1つのメモリセルのビット対を示す2つの2進第1アド
レスBA1は、各桁が互いに排他的になるように割り当て
られている。2進第1アドレスBA1は、図18で説明す
る誤り検出用の第1パリティ符号PC1を生成するために
使用される。また、第1集合A1、A2、...、A(m/2)のビ
ット対の一方が選択されて、第1集合A1、A2、...、A(m
/2)にそれぞれ対応する第2集合B1、B2、...、B(m/2)が
構成される。この例では、第1集合A1、A2、...、A(m/
2)のビット対のうち偶数ビットが、各第2集合B1、B
2、...、B(m/2)に割り当てられる。選択される1ビット
を、第1集合A1、A2、...、A(m/2)の奇数ビットにして
もよい。
【0086】各第2集合B1、B2、...、B(m/2)におい
て、各ビットを示す2進第2アドレスB2は、互いに重複
しないように、順次割り当てられる。2進第2アドレス
B2は、図20で説明する誤り訂正用の第2パリティ符号
PC2を生成するために使用される。図17は、図16に
示した第1集合A1を2進第1アドレスBA1順に並び替え
た場合の2進第1アドレスBA1、物理ビットアドレスP
A、および各ビットに格納されるデータDの対応を示して
いる。
【0087】図18は、第1集合A1における誤り検出用
の第1パリティ符号PC1(L0A1、L1A1、...、L(log2(2n/
m)-1)A1、H0A1、H1A1、...、H(log2(2n/m)-1)A1)の生
成に必要な2進第1アドレスBA1の組み合わせおよび計
算式を示している。第1パリティ符号PC1は、2進第1
アドレスBA1に対応するデータDを使用して生成される。
この例では、第1パリティ符号PC1は、偶数パリティで
あるが、奇数パリティでもよい。第1パリティ符号PC1
の個数は、2進第1アドレスBA1のビット数の2倍(2・l
og2(2n/m))に設定されている。
【0088】第1パリティ符号L0A1は、最下位桁が"0"
である2進第1アドレスBA1に対応するデータから生成
される。すなわち、第1パリティ符号L0A1は、2進第1
アドレスBA1"***...***0"(*は任意の値)に対応する物
理ビットアドレスPAに読み書きされるデータを使用して
生成される。第1パリティ符号H0A1は、最下位桁が"1"
である2進第1アドレスBA1に対応するデータから生成
される。すなわち、第1パリティ符号H0A1は、2進第1
アドレスBA1"***...***1"(*は任意の値)に対応する物
理ビットアドレスPAに読み書きされるデータを使用して
生成される。
【0089】同様に、"L"が付く他の第1パリティ符号
は、それぞれ所定の桁が"0"である2進第1アドレスBA1
に対応するデータから生成される。"H"が付く他の第1
パリティ符号は、それぞれ所定の桁が"1"である2進第
1アドレスBA1に対応するデータから生成される。半導
体メモリの書き込み動作時に、メモリセルへの書き込み
データに応じて生成される第1パリティ符号PC1(書き
込み第1パリティ符号)は、書き込みデータとともに所
定のメモリ領域に書き込まれる。同様に、半導体メモリ
の読み出し動作時に、第1パリティ符号PC1(読み出し
第1パリティ符号)は、メモリセルからの読み出しデー
タに応じて生成され、書き込み動作時に生成された第1
パリティ符号PC1と比較される。
【0090】他の第1集合A2、A3、...、A(m/2)におけ
る誤り検出用の第1パリティ符号PC1についても、図1
8の規則で生成される。図19は、図16に示した第2
集合B1を2進第2アドレスBA2順に並び替えた場合の2
進第2アドレスBA2、物理ビットアドレスPA、および各
ビットに格納されるデータDの対応を示している。
【0091】図20は、第2集合B1における誤り訂正用
の第2パリティ符号PC2(H0B1、H1B1、...、H(log2(n/
m)-1)B1)の生成に必要な2進第2アドレスBA2の組み合
わせおよび計算式を示している。第2パリティ符号PC2
は、2進第2アドレスBA2に対応するデータDを使用して
生成される。第2パリティ符号PC2の個数は、2進第2
アドレスBA2のビット数(log2(n/m))に設定されてい
る。第2パリティ符号PC2は、第1集合内の同一のメモ
リセルにおける2ビットエラーの訂正にしか使用されな
いため、生成数は少なくて済む。
【0092】第2パリティ符号H0B1は、最下位桁が"1"
である2進第2アドレスBA2に対応するデータから生成
される。すなわち、第2パリティ符号H0B1は、2進第2
アドレスBA2"***...***1"(*は任意の値)に対応する物
理ビットアドレスPAに読み書きされるデータを使用して
生成される。同様に、"H"が付く他の第2パリティ符号
は、それぞれ所定の桁が"1"である2進第2アドレスBA2
に対応するデータから生成される。半導体メモリの書き
込み動作時に、メモリセルへの書き込みデータに応じて
生成される第2パリティ符号PC2(書き込み第2パリテ
ィ符号)は、書き込みデータとともに所定のメモリ領域
に書き込まれる。同様に、半導体メモリの読み出し動作
時に、第2パリティ符号PC2(読み出し第2パリティ符
号)は、メモリセルからの読み出しデータに応じて生成
され、書き込み動作時に生成された第2パリティ符号PC
2と比較される。
【0093】他の第2集合B2、B3、...、B(m/2)におけ
る誤り検出用の第2パリティ符号PC2についても、図2
0と同様にして生成される。次に、本発明の誤り検出・
訂正方法について説明する。図21および図22は、上
述した多値半導体メモリが実行する誤り検出・訂正のフ
ローを示している。このフローは、データの読み出し動
作時に実行される。図中、XLjAiは、第1集合Ai(i=1〜
m/2)における書き込みデータの第1パリティ符号LjAi
(j=0〜log2(2n/m)-1)と読み出しデータの第1パリテ
ィ符号LjAi(j=0〜log2(2n/m)-1)の排他的論理和を示
している。XHjAiは、第1集合Ai(i=1〜m/2)における
書き込みデータの第1パリティ符号HjAi(j=0〜log2(2n
/m)-1)と読み出しデータの第1パリティ符号HjAi(j=0
〜log2(2n/m)-1)の排他的論理和を示している。
【0094】まず、ステップS6において、j=0〜log2(2n
/m)-1、i=1〜m/2の全てについて、XLjAiおよびXHjAiが"
0"かどうか判定される。すなわち、全ての第1集合Aiに
おいて、2進第1アドレスBA1の同じ桁に対応する2つ
の第1パリティ符号PC1が等しいかどうか判定される。X
LjAiおよびXHjAiが"0"の場合、エラーなしと判定され
る。このとき、メモリセルから読み出されたデータは、
そのまま外部に出力される。XLjAiとXHjAiとが異なる場
合、処理はステップS7に移行する。
【0095】ステップS7において、第1集合Aiを示す"
i"が"1"にセットされ、処理はステップS8に移行する。
ステップS8において、j=0〜log2(2n/m)-1について、全
てのXLjAiとXHjAiとが異なるかどうか判定される。全て
のXLjAiとXHjAiとが異なる場合、その第1集合Aiについ
て、1ビットのエラーが検出され、処理はステップS9に
移行する。XLjAiとXHjAiとのペアの少なくとも一つが同
じ場合、処理はステップS11に移行する。
【0096】ステップS9において、1ビットエラーの訂
正が行われる。1ビットエラーの訂正は、上述した第1
の基本原理(図2)と同様にしてエラーアドレスを求
め、求めたエラーアドレスから読み出されたデータを反
転することで行われる。エラーアドレスは、次式(2)
で表される。
【数1】 1ビットエラーが訂正された後、処理はステップS10に
移行する。ステップS10において、第1集合Aiを示す"i"
がインクリメントされ、処理は再びステップS8に移行す
る。すなわち、次の第1集合Aiについてのエラー検出お
よびエラー訂正が行われる。
【0097】一方、ステップS11において、XLjAiおよび
XHjAiの1つだけが"1"の場合、第1パリティ符号自体の
1ビットエラーが検出され、処理はステップS10に移行
する。このとき、メモリセルから読み出されたデータは
正常である。XLjAiおよびXHjAiの複数が"1"の場合、処
理は図22のステップS12に移行する。ステップS12にお
いて、j=0〜log2(2n/m)-1について、全てのXLjAiおよび
XHjAiが"1"かどうか判定される。全てのXLjAiおよびXHj
Aiが"1"の場合、その第1集合Aiについて、1つのメモ
リセルでの2ビットエラーが検出され、処理はステップ
S13に移行する。XLjAiおよびXHjAiが、ステップS8、S1
1、S12のいずれでもない場合、2つ以上のメモリセルに
またがる2ビット以上のエラー、または、パリティを格
納しているメモリセルにおける2ビット以上のエラーが
検出され、処理は、ステップS14に移行する。これらの
エラーは、訂正不可能なエラーである。
【0098】ステップS13において、処理中の第1集合A
iにおいて、1つのメモリセルで発生した2ビットエラ
ーが訂正される。2ビットエラーの訂正は、上述した第
1の基本原理(図3)と同様にしてエラーの発生したセ
ルアドレスを求め、求めたセルアドレスから読み出され
た2ビットのデータを反転することで行われる。ここ
で、第1集合Aiに対応する第2集合Biの2進第2アドレ
スBA2は、図16に示したように、各メモリセル毎の一
対の2進第1アドレスBA1に対応して1つずつ割り当て
られている。このため、第1集合Aiにおいて、一つのメ
モリセル内で2ビットエラーが発生したとき、第2集合
Biによって生成される第2パリティ符号PC2のパターン
は、1ビットエラーのパターンになる。すなわち、エラ
ーアドレスは、次式(3)で表される。
【0099】
【数2】 ここで、"XHkBi"は、第2集合Bi(i=1〜m/2)における
書き込みデータの第2パリティ符号HjBi(j=0〜log2(n/
m)-1)と読み出しデータの第2パリティ符号LjBi(j=0
〜log2(2n/m)-1)との排他的論理和を示している。そし
て、式(3)に示したエラーアドレスに対応するビット
およびエラーアドレスの全ビットを反転したアドレスに
対応するビットから読み出されたデータを反転すること
により、2ビットデータが訂正される。データの訂正
後、処理は図21に示したステップS10に移行する。
【0100】一方、ステップS14において、全ての第1
集合について、少なくともステップS8が実行されたかど
うかが判定される。すなわち、ステップS6でエラーがあ
ると判定された場合に、全ての第1集合についてエラー
検出が実行されたかどうかが判定される。ステップS8を
実行していない第1集合Aiが存在する場合、処理は、図
21に示したステップS10に移行する。全ての第1集合A
iがステップS8を実行している場合、誤り検出・訂正の
処理は終了する。
【0101】このように、第1集合A毎にステップS8、S
9、S11、S12、S13を実行することで、1つのメモリセル
に2ビットを超えるデータが記憶される半導体メモリに
おいても、簡易な手段で誤り検出・訂正を行うことがで
きる。なお、上述した第2の基本原理では、ビット数が
偶数のメモリセルについて説明した。本発明をビット数
が奇数のメモリセルに適用する場合、図16に示した第
1集合A(m/2)に、メモリセルあたり1ビットを割り当
て、第1集合A(m/2)に対応する第2集合B(m/2)を削除す
ればよい。
【0102】また、第1パリティ符号PC1および第2パ
リティ符号PC2を格納する領域については、1つの多値
メモリセルの複数ビットに第1または第2パリティ符号
PC1、PC2の1ビットをそれぞれ記憶させることで、パリ
ティ符号の記憶領域の複数ビットエラーに対処できる。
図23は、本発明の第3の実施形態を示している。この
実施形態は、請求項9ないし請求項12に対応してい
る。第1の実施形態で説明した要素と同一の要素につい
ては、同一の符号を付し、これ等については、詳細な説
明を省略する。
【0103】多値半導体メモリは、1つのメモリセルに
2ビットの情報を記憶できるフローティングゲート型の
4値フラッシュメモリとして形成されている。このフラ
ッシュメモリでは、書き込みデータ(4値)に応じて、
メモリセルのフローティングゲートにトラップされるキ
ャリアの量が4段階に調整される。そして、メモリセル
の閾値電圧に応じた4種類のメモリセル電流を検出する
ことで、メモリセルに記憶されている2ビットのデータ
が読み出される。
【0104】この実施形態のフラッシュメモリは、第1
の実施形態のフラッシュメモリのバッファ制御回路14
およびECC制御回路20の代わりに、バッファ制御回路
30およびECC制御回路32を有している。その他の構
成は、第1の実施形態とほぼ同じである。すなわち、読
み出し動作および書き込み動作は、ページ単位で実行さ
れ、消去動作は、ページ単位または複数のページ単位で
実行される。
【0105】バッファ制御回路30は、図22のステッ
プS13に示した2ビットエラーを訂正する第1訂正回路
30aと、図21のステップS9に示した1ビットエラー
を訂正する第2訂正回路30bとを有している。第1訂
正回路30aおよび第2訂正回路30bは、第1の実施
形態の第1および第2訂正回路14a、14bとほぼ同
じ回路である。
【0106】ECC制御回路32は、第1パリティ符号PC1
を生成する第1生成回路32a、第2パリティ符号PC2
を生成する第2生成回路32b、図21のステップS8に
示した1ビットエラーを検出する第1検出回路32c、
図22のステップS12に示した2ビットエラーを検出す
る第2検出回路32d、図21のステップS11に示したE
CCコードエラーを検出するECC検出回路32e、第1お
よび第2パリティ符号PC1、PC2を記憶するパリティ記憶
回路32f、およびECC制御部32gを有している。
【0107】第1および第2生成回路32a、32b、
第1および第2検出回路32c、32dは、第1の実施
形態の第1および第2生成回路20a、20b、第1お
よび第2検出回路20c、20dとほぼ同じ回路であ
る。パリティ記憶回路32fは、複数の多値メモリセル
を有しており、1つの多値メモリセルの複数ビットに第
1パリティ符号PC1(または第2パリティ符号PC2)の1
ビットを記憶する。
【0108】ECC制御部32gは、第1集合Ai毎に、第
1および第2生成回路32a、32b、第1および第2
検出回路32c、32dを動作させる。すなわち、ECC
制御部32gは、図21のステップS7、S10、S14に対
応する回路である。この実施形態では、後述する図24
に示すように、一つの第1集合A1および一つの第2集合
B1のみが構成されるため、ECC制御部32gは、第1お
よび第2生成回路32a、32b、第1および第2検出
回路32c、32dを1回だけ動作させる。
【0109】図24は、第3の実施形態におけるメモリ
セルのアドレッシングを示している。この例では説明を
簡単にするため、一度にアクセスされるメモリセルの数
を4個にしている。すなわち、1回のアクセスで8ビッ
トのデータが、メモリセルに読み書きされる。メモリセ
ルの各ビットは、物理ビットアドレスPAで示され、各メ
モリセルは、2進セルアドレスBCAで示される。
【0110】一つのメモリセルは2ビットを記憶するた
め、一つの第1集合A1およびこの第1集合A1に対応する
一つの第2集合B1が構成される。図25は、第1パリテ
ィ符号PC1を生成するための2進第1アドレスBA1の組み
合わせを示している。図26は、第2パリティ符号PC2
を生成するための2進第2アドレスBA2の組み合わせを
示している。
【0111】図27は、図23に示した第1生成回路3
2aおよび第2生成回路32bの詳細を示している。第
1生成回路32aは、図25に示した第1パリティ符号
PC1(L0A1、H0A1、L1A1、H1A1、L2A1、H2A1)を生成し、
第2生成回路32bは、図26に示した第2パリティ符
号PC2(H0B1、H1B1)を生成する。第1生成回路32a
は、EORゲートとDフリップフロップを有しデータDのパ
リティを演算する6個のパリティ演算回路34aと、パ
リティ演算回路34aに入力するデータDを物理ビット
アドレスPAに応じて選択する複数の論理ゲート(EORゲ
ート、ANDゲート、インバータ)とで構成されている。
パリティ演算回路34aは、第1パリティ符号PC1をそ
れぞれ出力する。
【0112】第2生成回路32bは、EORゲートとDフリ
ップフロップを有しデータDのパリティを演算する2個
のパリティ演算回路34bと、パリティ演算回路34b
に入力するデータDを物理ビットアドレスPAに応じて選
択する複数の論理ゲート(ANDゲート、インバータ)と
で構成されている。パリティ演算回路34bは、第2パ
リティ符号PC2をそれぞれ出力する。
【0113】第1および第2生成回路32a、32bに
供給される物理ビットアドレスPAのビット"0"、"1"、"
2"は、例えば、アドレスカウンタ36により生成され
る。アドレスカウンタ36は、図23に示したバッファ
制御回路30内に形成される(図23には図示せず)。
そして、アドレスカウンタ36の動作に同期して、物理
ビットアドレスPAに対応するデータDが直列に供給さ
れ、第1および第2パリティ符号PC1、PC2が生成され
る。
【0114】以上、この実施形態では、メモリセルのビ
ット対を複数の第1集合Aにそれぞれ割り当て、第1集
合A毎に第1パリティ符号PC1および第2パリティ符号PC
2を生成した。このため、第1集合A毎にビット対のデー
タがともに誤りであるメモリセルが一つ存在することを
容易に検出し訂正できる。また、第1集合A毎にメモリ
セルの1ビット誤りを容易に検出し訂正できる。
【0115】さらに、第1集合Aを利用して、第1パリ
ティ符号PC1自体の誤りを検出でき、第2集合B利用して
第2パリティ符号PC2自体の誤りを検出できる。第1お
よび第2パリティ符号PC1、PC2を、パリティ記憶回路3
2f内の各多値メモリセルの複数ビットに同時にそれぞ
れ記憶した。このため、パリティ記憶回路32f内の多
値メモリセルにビット誤りが発生した場合にも、多数決
論理等により、正しい第1および第2パリティ符号PC
1、PC2を読み出すことができる。
【0116】以上、本発明について詳細に説明してきた
が、上記の実施形態およびその変形例は発明の一例に過
ぎず、本発明はこれに限定されるものではない。本発明
を逸脱しない範囲で変形可能であることは明らかであ
る。
【0117】
【発明の効果】請求項1の多値半導体メモリの誤り検出
・訂正方法および請求項4の誤り検出・訂正機能を有す
る多値半導体メモリでは、1つのメモリセルに複数のビ
ット情報を記憶できる多値半導体メモリにおいて、誤り
の検出および誤りの訂正を簡易な手法で確実に実行でき
る。1つのメモリセルの2ビットエラーを検出する回路
を搭載することで多値半導体メモリのチップサイズが増
加することはない。請求項2の多値半導体メモリの誤り
検出・訂正方法および請求項6の誤り検出・訂正機能を
有する多値半導体メモリでは、簡易な回路で容易に1つ
のメモリセルの2ビットエラーを訂正できる。1つのメ
モリセルの2ビットエラーを訂正する回路を搭載して
も、多値半導体メモリのチップサイズが増加することは
ない。
【0118】請求項3の多値半導体メモリの誤り検出・
訂正方法および請求項8の誤り検出・訂正機能を有する
多値半導体メモリでは、1ビットエラーの検出・訂正の
機能を追加しても誤り検出・訂正の回路規模が増大する
ことはない。すなわち、多値半導体メモリのチップサイ
ズが増加することはない。請求項5および請求項7の誤
り検出・訂正機能を有する多値半導体メモリでは、パリ
ティ符号自体のエラーの発生確率を下げることができ、
多値メモリセルに記憶されるパリティ符号の信頼性を向
上できる。この結果、誤り検出、誤り訂正を確実に行う
ことができる。
【0119】請求項9の多値半導体メモリの誤り検出・
訂正方法および請求項13の誤り検出・訂正機能を有す
る多値半導体メモリでは、2ビットを超えるデータを記
憶する多値メモリセルにおいても、第1集合毎にビット
対のデータがともに誤りであるメモリセルを検出でき
る。すなわち、簡易な手法で多値メモリセルの誤りを検
出できる。
【0120】請求項10の多値半導体メモリの誤り検出
・訂正方法および請求項14の誤り検出・訂正機能を有
する多値半導体メモリでは、2ビットを超えるデータを
記憶する多値メモリセルにおいても、各第1集合毎にビ
ット対のデータがともに誤りであるメモリセルの誤りを
訂正できる。すなわち、簡易な手法で多値メモリセルの
誤りを訂正できる。
【0121】請求項11の多値半導体メモリの誤り検出
・訂正方法および請求項15の誤り検出・訂正機能を有
する多値半導体メモリでは、2ビットを超えるデータを
記憶する多値メモリセルにおいても、第1集合毎にメモ
リセルの1ビット誤りを検出・訂正できる。すなわち、
簡易な手法で多値メモリセルの誤りを検出・訂正でき
る。
【0122】請求項12の多値半導体メモリの誤り検出
・訂正方法および請求項16の誤り検出・訂正機能を有
する多値半導体メモリでは、多値メモリセルを複数のビ
ット対に分割した場合にも、第1集合毎に第1パリティ
符号自体の誤りを検出できる。請求項17の誤り検出・
訂正機能を有する多値半導体メモリでは、パリティ記憶
回路内の多値メモリセルにビット誤りが発生した場合に
も、多数決論理等により、正しいパリティ符号を読み出
すことができる。
【図面の簡単な説明】
【図1】本発明の第1の基本原理におけるメモリセルの
アドレッシングを示す説明図である。
【図2】本発明の第1の基本原理における第1パリティ
符号の生成に必要な2進ビットアドレスの組み合わせを
示す説明図である。
【図3】本発明の第1の基本原理における第2パリティ
符号の生成に必要な2進セルアドレスの組み合わせを示
す説明図である。
【図4】本発明の第1の基本原理における誤り検出・訂
正方法を示すフローチャートである。
【図5】本発明の第1の実施形態を示すブロック図であ
る。
【図6】図5のメモリセルアレイの詳細を示す説明図で
ある。
【図7】第1の実施形態において、1ビットエラーが発
生した状態を示す説明図である。
【図8】第1の実施形態において、第1パリティ符号を
使用した1ビットエラーの誤り検出・訂正の概要を示す
説明図である。
【図9】第1の実施形態において、1つのメモリセルで
2ビットエラーが発生した状態を示す説明図である。
【図10】第1の実施形態において、第1パリティ符号
を使用した1つのメモリセルでの2ビットエラーの誤り
検出の概要を示す説明図である。
【図11】第1の実施形態ににおいて、第2パリティ符
号を使用した2ビットエラーの誤り訂正の概要を示す説
明図である。
【図12】第1の実施形態において、異なるメモリセル
で2ビットエラーが発生した状態を示す説明図である。
【図13】第1の実施形態において、第1パリティ符号
を使用した異なるメモリセルでの2ビットエラーの誤り
検出の概要を示す説明図である。
【図14】本発明の第2の実施形態を示すブロック図で
ある。
【図15】第2の実施形態におけるスペアエリアの詳細
を示す説明図である。
【図16】本発明の第2の基本原理におけるメモリセル
のアドレッシングを示す説明図である。
【図17】本発明の第2の基本原理における2進第1ア
ドレス、物理ビットアドレス、およびデータの対応を示
す説明図である。
【図18】本発明の第2の基本原理における第1パリテ
ィ符号の生成に必要な2進第1アドレスの組み合わせお
よび計算式を示す説明図である。
【図19】本発明の第2の基本原理における2進第2ア
ドレス、物理ビットアドレス、およびデータの対応を示
す説明図である。
【図20】本発明の第2の基本原理における第2パリテ
ィ符号の生成に必要な2進第1アドレスの組み合わせお
よび計算式を示す説明図である。
【図21】本発明の第2の基本原理における誤り検出・
訂正方法を示すフローチャートである。
【図22】本発明の第2の基本原理における誤り検出・
訂正方法を示すフローチャートである。
【図23】本発明の第3の実施形態を示すブロック図で
ある。
【図24】本発明の第3の実施形態におけるメモリセル
のアドレッシングを示す説明図である。
【図25】本発明の第3の実施形態における第1パリテ
ィ符号を使用した1ビットエラーの誤り検出・訂正の概
要を示す説明図である。
【図26】本発明の第3の実施形態における第2パリテ
ィ符号を使用した2ビットエラーの誤り訂正の概要を示
す説明図である。
【図27】本発明の第3の実施形態における第1および
第2生成回路の詳細を示す回路図である。
【図28】従来のフラッシュメモリにおいて、1ビット
エラーが発生した状態を示す説明図である。
【図29】従来の1ビットエラーの誤り検出・訂正の概
要を示す説明図である。
【図30】1つのメモリセルに2ビットを記憶できるフ
ラッシュメモリにおいて、各データの論理値と、閾値電
圧VTHとの関係を示す説明図である。
【符号の説明】
10 ページバッファ 12 メモリコア 14 バッファ制御回路 16、18 データバッファ 20 ECC制御回路 20a ECC生成回路 20b 誤り検出・訂正回路 22 メモリセルアレイ 24 動作制御回路 30 バッファ制御回路 30a 第1訂正回路 30b 第2訂正回路 32 ECC制御回路 32a 第1生成回路 32b 第2生成回路 32c 第1検出回路 32d 第2検出回路 32e 第3検出回路 32f パリティ記憶回路 32g ECC制御部 34a、34b パリティ演算回路 36 アドレスカウンタ A1〜A(m/2) 第1集合 B1〜B(m/2) 第2集合 BA 2進ビットアドレス BA1 2進第1アドレス BA2 2進第2アドレス BCA 2進セルアドレス CP0〜CPj-1 パリティ符号(第2パリティ符号) D データ P0〜Pm-1 パリティ符号(第1パリティ符号) PA 物理ビットアドレス PC1 第1パリティ符号 PC2 第2パリティ符号 PCA 物理セルアドレス RCP、RCP0〜RCPj-1 パリティ符号(第2パリティ符
号) RD0〜RDn-1 読み出しデータ RP、RP0〜RPm-1 パリティ符号(第1パリティ符号) WCP、WCP0〜WCPj-1 パリティ符号(第2パリティ符
号) WD0〜WDn-1 書き込みデータ WP、WP0〜WPm-1 パリティ符号(第1パリティ符号) XP0〜XPm-1 排他的論理和 XRP0〜XRPj-1 排他的論理和
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.7 識別記号 FI テーマコート゛(参考) G06F 12/16 320 G06F 12/16 320G G11C 16/02 H03M 13/11 16/06 13/29 H03M 13/11 G11C 17/00 641 13/29 639C Fターム(参考) 5B001 AA00 AA02 AB01 AB02 AD03 AE03 5B018 GA02 HA14 HA35 NA06 RA02 5B025 AD01 AD04 AD05 AD13 AE08 5J065 AA01 AB01 AC03 AD02 AD03 AE03 AF03 AH04 AH06 AH17 5L106 AA10 BB13

Claims (17)

    【特許請求の範囲】
  1. 【請求項1】 1つのメモリセルに2ビットのデータを
    保持する多値半導体メモリの誤り検出・訂正方法であっ
    て、 前記メモリセルの各ビットを示すアドレスにそれぞれ対
    応する誤り検出用の2進ビットアドレスを、1つの前記
    メモリセルに対応する2つの該2進ビットアドレスの各
    桁が、互いに排他的になるように割り当て、 前記2進ビットアドレスの各桁について、その桁が"0"
    である全ての該2進ビットアドレスに対応する書き込み
    データのパリティ符号と、その桁が"1"である全ての該
    2進ビットアドレスに対応する前記書き込みデータのパ
    リティ符号とからなる第1パリティ符号を生成し、 前記メモリセルからのデータの読み出し時に、前記書き
    込みデータの前記第1パリティ符号を生成したときと同
    じ組み合わせの前記2進ビットアドレスに対応する読み
    出しデータの第1パリティ符号を生成し、 前記読み出し時に生成した前記第1パリティ符号が、書
    き込み時に生成した前記第1パリティ符号と全て異なる
    ときに、記憶している2ビットのデータがともに誤りで
    ある前記メモリセルが一つ存在することを検出すること
    を特徴とする多値半導体メモリの誤り検出・訂正方法。
  2. 【請求項2】 請求項1記載の多値半導体メモリの誤り
    検出・訂正方法において、 前記各メモリセルに誤り訂正用の2進セルアドレスを割
    り当て、 前記2進セルアドレスの各桁について、その桁が"0"ま
    たは"1"のいずれかである全ての該2進セルアドレスに
    対応する前記メモリセルの一方のビットに書き込まれる
    データの第2パリティ符号を生成し、 記憶している2ビットのデータがともに誤りである前記
    メモリセルが一つ存在することを検出したときに、書き
    込みデータの前記第2パリティ符号を生成したときと同
    じ組み合わせの前記2進セルアドレスに対応する前記メ
    モリセルの前記一方のビットから読み出されるデータの
    第2パリティ符号を生成し、 書き込み時に生成した前記第2パリティ符号の各ビット
    と読み出し時に生成した前記第2パリティ符号の各ビッ
    トとの排他的論理和を求め、 求めた前記排他的論理和をアドレスの各桁に割り当てる
    ことで、誤りが発生した前記2進セルアドレスを求め、 誤りが発生した前記メモリセルから読み出された2ビッ
    トのデータを反転することで、誤りを訂正することを特
    徴とする多値半導体メモリの誤り検出・訂正方法。
  3. 【請求項3】 請求項1記載の多値半導体メモリの誤り
    検出・訂正方法において、 前記書き込み時に生成した前記第1パリティ符号および
    前記読み出し時に生成した前記第1パリティ符号の排他
    的論理和を求め、 前記第1パリティ符号を生成する際にそれぞれ着目した
    前記桁に対応する一対の前記排他的論理和が、全て互い
    に反転しているとき、前記メモリセルから読み出したデ
    ータのうち1ビットが誤りであることを検出し、 前記一対の排他的論理和の一方をアドレスの各桁に割り
    当てることで、誤りが発生した前記2進ビットアドレス
    を求め、 前記メモリセルから読み出されたデータのうち該2進ビ
    ットアドレスに対応するデータを反転することで、誤り
    を訂正することを特徴とする多値半導体メモリの誤り検
    出・訂正方法。
  4. 【請求項4】 2ビットのデータをそれぞれ保持する複
    数のメモリセルと、 前記メモリセルの各ビットを示すアドレスにそれぞれ対
    応する誤り検出用の2進ビットアドレスを、1つの前記
    メモリセルに対応する2つの該2進ビットアドレスの各
    桁が、互いに排他的になるように割り当て、前記2進ビ
    ットアドレスの各桁について、その桁が"0"である全て
    の該2進ビットアドレスに対応する書き込みデータのパ
    リティ符号と、その桁が"1"である全ての該2進ビット
    アドレスに対応する前記書き込みデータのパリティ符号
    とからなる第1パリティ符号を生成し、前記メモリセル
    からのデータの読み出し時に、前記書き込みデータの前
    記第1パリティ符号を生成したときと同じ組み合わせの
    前記2進ビットアドレスに対応する読み出しデータの第
    1パリティ符号を生成する第1生成回路と、 前記読み出し時に生成した前記第1パリティ符号が、書
    き込み時に生成した前記第1パリティ符号と全て異なる
    ときに、記憶している2ビットのデータがともに誤りで
    ある前記メモリセルが一つ存在することを検出する第1
    検出回路とを備えていることを特徴とする誤り検出・訂
    正機能を有する多値半導体メモリ。
  5. 【請求項5】 請求項4記載の誤り検出・訂正機能を有
    する多値半導体メモリにおいて、 前記第1パリティ符号の各ビットを2ビットデータに変
    換する変換回路と、 前記2ビットデータを前記第1パリティ符号として保持
    する多値メモリセルとを備えていることを特徴とする誤
    り検出・訂正機能を有する多値半導体メモリ。
  6. 【請求項6】 請求項4記載の誤り検出・訂正機能を有
    する多値半導体メモリにおいて、 前記各メモリセルに誤り訂正用の2進セルアドレスを割
    り当て、前記2進セルアドレスの各桁について、その桁
    が"0"または"1"のいずれかである全ての該2進セルア
    ドレスに対応する前記メモリセルの一方のビットに書き
    込まれるデータの第2パリティ符号を生成するととも
    に、記憶している2ビットのデータがともに誤りである
    前記メモリセルが一つ存在することが前記第1検出回路
    により検出されたときに、書き込みデータの前記第2パ
    リティ符号を生成したときと同じ組み合わせの前記2進
    セルアドレスに対応する前記メモリセルの前記一方のビ
    ットから読み出されるデータの第2パリティ符号を生成
    する第2生成回路と、 書き込み時に生成した前記第2パリティ符号の各ビット
    と読み出し時に生成した前記第2パリティ符号の各ビッ
    トとの排他的論理和を求め、求めた前記排他的論理和を
    アドレスの各桁に割り当てることで、誤りが発生した前
    記2進セルアドレスを求め、誤りが発生した前記メモリ
    セルから読み出された2ビットのデータを反転すること
    で、誤りを訂正する第1訂正回路とを備えていることを
    特徴とする誤り検出・訂正機能を有する多値半導体メモ
    リ。
  7. 【請求項7】 請求項6記載の誤り検出・訂正機能を有
    する多値半導体メモリにおいて、 前記第2パリティ符号の各ビットを2ビットデータに変
    換する変換回路と、 前記2ビットデータに前記第2パリティ符号として保持
    する多値メモリセルとを備えていることを特徴とする誤
    り検出・訂正機能を有する多値半導体メモリ。
  8. 【請求項8】 請求項4記載の誤り検出・訂正機能を有
    する多値半導体メモリにおいて、 前記書き込み時に生成した前記第1パリティ符号および
    前記読み出し時に生成した前記第1パリティ符号の排他
    的論理和を求め、前記第1パリティ符号を生成する際に
    着目した前記桁に対応する一対の前記排他的論理和が、
    全て互いに反転しているとき、前記メモリセルから読み
    出したデータのうち1ビットが誤りであることを検出す
    る第2検出回路と、 前記一対の排他的論理和の一方をアドレスの各桁に割り
    当てることで、誤りが発生した前記2進ビットアドレス
    を求め、前記メモリセルから読み出されたデータのうち
    該2進ビットアドレスに対応するデータを反転すること
    で、誤りを訂正する第2訂正回路とを備えていることを
    特徴とする誤り検出・訂正機能を有する多値半導体メモ
    リ。
  9. 【請求項9】 1つのメモリセルに複数ビットのデータ
    を保持する多値半導体メモリの誤り検出・訂正方法であ
    って、 前記メモリセルからそれぞれ2ビットをビット対として
    選択して複数の第1集合を構成し、 前記各第1集合について、 前記メモリセルの前記ビット対を示す2つの2進第1ア
    ドレスを、該2進第1アドレスの各桁が、互いに排他的
    になるように割り当て、 前記2進第1アドレスの各桁について、その桁が"0"で
    ある全ての該2進第1アドレスに対応する書き込みデー
    タのパリティ符号と、その桁が"1"である全ての該2進
    第1アドレスに対応する前記書き込みデータのパリティ
    符号とからなる第1パリティ符号を生成し、 前記メモリセルからのデータの読み出し時に、前記書き
    込みデータの前記第1パリティ符号を生成したときと同
    じ組み合わせの前記2進第1アドレスに対応する読み出
    しデータの第1パリティ符号を生成し、 前記読み出し時に生成した前記第1パリティ符号が、書
    き込み時に生成した前記第1パリティ符号と全て異なる
    ときに、前記各第1集合に割り当てられた領域におい
    て、前記ビット対のデータがともに誤りである前記メモ
    リセルが一つ存在することを検出することを特徴とする
    多値半導体メモリの誤り検出・訂正方法。
  10. 【請求項10】 請求項9記載の多値半導体メモリの誤
    り検出・訂正方法において、 前記第1集合の前記ビット対の一方のビットをそれぞれ
    選択して、前記第1集合に対応する複数の第2集合を構
    成し、 前記各第2集合について、 選択されたビットを示す誤り訂正用の2進第2アドレス
    を、前記メモリセルに対応してそれぞれ割り当て、 前記2進第2アドレスの各桁について、その桁が"0"で
    ある全ての該2進第2アドレスに対応する書き込みデー
    タの第2パリティ符号、またはその桁が"1"である全て
    の該2進第2アドレスに対応する書き込みデータの第2
    パリティ符号を生成し、 前記第1集合に対応する前記各第2集合において、 書き込みデータの前記第2パリティ符号を生成したとき
    と同じ組み合わせの前記2進第2アドレスに対応する前
    記メモリセルのビットから読み出されるデータの第2パ
    リティ符号を生成し、 前記ビット対のデータがともに誤りである前記メモリセ
    ルが一つ存在することを検出したときに、書き込み時に
    生成した前記第2パリティ符号の各ビットと読み出し時
    に生成した前記第2パリティ符号の各ビットとの排他的
    論理和を求め、 求めた前記排他的論理和を2進数の各桁に割り当てて、
    誤りが発生した前記2進第2アドレスとし、 誤りが発生した前記メモリセルから読み出された2ビッ
    トのデータを反転することで、誤りを訂正することを特
    徴とする多値半導体メモリの誤り検出・訂正方法。
  11. 【請求項11】 請求項9記載の多値半導体メモリの誤
    り検出・訂正方法において、 前記各第1集合について、 前記書き込み時に生成した前記第1パリティ符号および
    前記読み出し時に生成した前記第1パリティ符号の排他
    的論理和を求め、 前記ビット対の前記排他的論理和が、全て互いに反転し
    ているとき、前記各第1集合に割り当てられた領域にお
    いて、前記メモリセルから読み出したデータのうち1ビ
    ットが誤りであることを検出し、 前記ビット対の一方を2進数の各桁に割り当てること
    で、誤りが発生した前記2進第1アドレスを求め、 前記メモリセルから読み出されたデータのうち該2進第
    1アドレスに対応するデータを反転することで、誤りを
    訂正することを特徴とする多値半導体メモリの誤り検出
    ・訂正方法。
  12. 【請求項12】 請求項9記載の多値半導体メモリの誤
    り検出・訂正方法において、 前記各第1集合について、 前記書き込み時に生成した前記第1パリティ符号および
    前記読み出し時に生成した前記第1パリティ符号の排他
    的論理和を求め、 前記排他的論理和の1つのみが"1"のとき、前記第1パ
    リティ符号のうち1ビットが誤りであることを検出する
    ことを特徴とする多値半導体メモリの誤り検出・訂正方
    法。
  13. 【請求項13】 複数ビットのデータをそれぞれ保持す
    る複数のメモリセルと、 前記メモリセルからそれぞれ2ビットをビット対として
    選択して構成された複数の第1集合の各々について、前
    記メモリセルの前記ビット対を示す2つの2進第1アド
    レスを、該2進第1アドレスの各桁が、互いに排他的に
    なるように割り当て、前記2進第1アドレスの各桁につ
    いて、その桁が"0"である全ての該2進第1アドレスに
    対応する書き込みデータのパリティ符号と、その桁が"
    1"である全ての該2進第1アドレスに対応する前記書
    き込みデータのパリティ符号とからなる第1パリティ符
    号を生成し、前記メモリセルからのデータの読み出し時
    に、前記書き込みデータの前記第1パリティ符号を生成
    したときと同じ組み合わせの前記2進第1アドレスに対
    応する読み出しデータの第1パリティ符号を生成する第
    1生成回路と、 前記読み出し時に生成した前記第1パリティ符号が、書
    き込み時に生成した前記第1パリティ符号と全て異なる
    ときに、前記各第1集合に割り当てられた領域におい
    て、前記ビット対のデータがともに誤りである前記メモ
    リセルが一つ存在することを検出する第1検出回路とを
    備えていることを特徴とする誤り検出・訂正機能を有す
    る多値半導体メモリ。
  14. 【請求項14】 請求項13記載の誤り検出・訂正機能
    を有する多値半導体メモリにおいて、 前記第1集合の前記ビット対の一方のビットをそれぞれ
    選択して構成される、前記第1集合に対応する複数の第
    2集合の各々について、選択されたビットを示す誤り訂
    正用の2進第2アドレスを、前記メモリセルに対応して
    それぞれ割り当て、前記2進第2アドレスの各桁につい
    て、その桁が"0"である全ての該2進第2アドレスに対
    応する書き込みデータの第2パリティ符号、またはその
    桁が"1"である全ての該2進第2アドレスに対応する書
    き込みデータの第2パリティ符号を生成するとともに、
    前記第1集合に対応する前記第2集合において、書き込
    みデータの前記第2パリティ符号を生成したときと同じ
    組み合わせの前記2進第2アドレスに対応する前記メモ
    リセルのビットから読み出されるデータの第2パリティ
    符号を生成する第2生成回路と、 ビット対のデータがともに誤りである前記メモリセルが
    一つ存在することを検出された前記各第2集合につい
    て、書き込み時に生成した前記第2パリティ符号の各ビ
    ットと読み出し時に生成した前記第2パリティ符号の各
    ビットとの排他的論理和を求め、求めた前記排他的論理
    和を2進数の各桁に割り当てて、誤りが発生した前記2
    進第2アドレスとし、誤りが発生した前記メモリセルか
    ら読み出された2ビットのデータを反転することで、誤
    りを訂正する第1訂正回路とを備えていることを特徴と
    する誤り検出・訂正機能を有する多値半導体メモリ。
  15. 【請求項15】 請求項13記載の誤り検出・訂正機能
    を有する多値半導体メモリにおいて、 前記各第1集合について、前記書き込み時に生成した前
    記第1パリティ符号および前記読み出し時に生成した前
    記第1パリティ符号の排他的論理和を求め、前記ビット
    対の前記排他的論理和が、全て互いに反転していると
    き、前記各第1集合に割り当てられた領域において、前
    記メモリセルから読み出したデータのうち1ビットが誤
    りであることを検出する第2検出回路と、 1ビット誤りが検出された前記各第1集合について、前
    記ビット対の一方をアドレスの各桁に割り当てること
    で、誤りが発生した前記2進第1アドレスを求め、前記
    メモリセルから読み出されたデータのうち該2進第1ア
    ドレスに対応するデータを反転することで、誤りを訂正
    する第2訂正回路とを備えていることを特徴とする誤り
    検出・訂正機能を有する多値半導体メモリ。
  16. 【請求項16】 請求項13記載の誤り検出・訂正機能
    を有する多値半導体メモリにおいて、 前記各第1集合について、前記書き込み時に生成した前
    記第1パリティ符号および前記読み出し時に生成した前
    記第1パリティ符号の排他的論理和を求め、前記排他的
    論理和の1つのみが"1"のとき、前記第1パリティ符号
    のうち1ビットが誤りであることを検出する第3検出回
    路を備えていることを特徴とする誤り検出・訂正機能を
    有する多値半導体メモリ。
  17. 【請求項17】 請求項13記載の誤り検出・訂正機能
    を有する多値半導体メモリにおいて、 前記第1パリティ符号をそれぞれ記憶する複数の多値メ
    モリセルを有するパリティ記憶回路を備え、 前記各第1パリティ符号は、前記パリティ記憶回路内の
    前記各多値メモリセルの複数ビットに同時に記憶される
    ことを特徴とする誤り検出・訂正機能を有する多値半導
    体メモリ。
JP2002045116A 2001-05-16 2002-02-21 多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ Pending JP2003036693A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2002045116A JP2003036693A (ja) 2001-05-16 2002-02-21 多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ
US10/146,074 US6990623B2 (en) 2001-05-16 2002-05-16 Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001-146536 2001-05-16
JP2001146536 2001-05-16
JP2002045116A JP2003036693A (ja) 2001-05-16 2002-02-21 多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ

Publications (1)

Publication Number Publication Date
JP2003036693A true JP2003036693A (ja) 2003-02-07

Family

ID=26615190

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002045116A Pending JP2003036693A (ja) 2001-05-16 2002-02-21 多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ

Country Status (1)

Country Link
JP (1) JP2003036693A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007207397A (ja) * 2006-02-06 2007-08-16 Toshiba Corp 半導体記憶装置
JP2008077810A (ja) * 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
JP2009512055A (ja) * 2005-10-13 2009-03-19 ラマト アット テル アビブ ユニバーシティ リミテッド Mbcフラッシュメモリにおけるエラー訂正の方法
US8069296B2 (en) 2006-01-23 2011-11-29 Kabushiki Kaisha Toshiba Semiconductor memory device including control means and memory system
JP4825874B2 (ja) * 2005-10-17 2011-11-30 ラマト アット テル アビブ ユニバーシティ リミテッド マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正
JP2012503267A (ja) * 2008-09-22 2012-02-02 サムスン エレクトロニクス カンパニー リミテッド マルチレベルセルフラッシュメモリにおけるlsbページ復旧方法、その方法に用いるプログラム方法、およびその方法を用いるマルチレベルフラッシュメモリ
US9424126B2 (en) 2013-09-03 2016-08-23 Kabushiki Kaisha Toshiba Memory controller
JP6115740B1 (ja) * 2015-12-17 2017-04-19 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009512055A (ja) * 2005-10-13 2009-03-19 ラマト アット テル アビブ ユニバーシティ リミテッド Mbcフラッシュメモリにおけるエラー訂正の方法
JP4825874B2 (ja) * 2005-10-17 2011-11-30 ラマト アット テル アビブ ユニバーシティ リミテッド マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正
US8069296B2 (en) 2006-01-23 2011-11-29 Kabushiki Kaisha Toshiba Semiconductor memory device including control means and memory system
JP2007207397A (ja) * 2006-02-06 2007-08-16 Toshiba Corp 半導体記憶装置
JP2008077810A (ja) * 2006-09-25 2008-04-03 Toshiba Corp 不揮発性半導体記憶装置
US8136014B2 (en) 2006-09-25 2012-03-13 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
US8239730B2 (en) 2006-09-25 2012-08-07 Kabushiki Kaisha Toshiba Non-volatile semiconductor memory device
JP2012503267A (ja) * 2008-09-22 2012-02-02 サムスン エレクトロニクス カンパニー リミテッド マルチレベルセルフラッシュメモリにおけるlsbページ復旧方法、その方法に用いるプログラム方法、およびその方法を用いるマルチレベルフラッシュメモリ
US9424126B2 (en) 2013-09-03 2016-08-23 Kabushiki Kaisha Toshiba Memory controller
JP6115740B1 (ja) * 2015-12-17 2017-04-19 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置
JP2017111846A (ja) * 2015-12-17 2017-06-22 ウィンボンド エレクトロニクス コーポレーション 半導体記憶装置

Similar Documents

Publication Publication Date Title
US7096406B2 (en) Memory controller for multilevel cell memory
JP3982639B2 (ja) マルチレベルセルを有するメモリからデータを読み取る方法
JP3999822B2 (ja) 記憶システム
US6233717B1 (en) Multi-bit memory device having error check and correction circuit and method for checking and correcting data errors therein
US5754566A (en) Method and apparatus for correcting a multilevel cell memory by using interleaving
KR100632952B1 (ko) 정전으로 인한 프로그램 페일의 유무를 판별할 수 있는방법 및 장치
US6119245A (en) Semiconductor storage device and method of controlling it
US6990623B2 (en) Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
JP2000149592A (ja) 不良救済用メモリセル及びそれを用いた記憶装置
KR20140060285A (ko) 데이터를 저장하기 위한 시스템들 및 방법들
JPS5966000A (ja) メモリ・システム
JPH11283396A (ja) メモリ装置
US6438726B1 (en) Method of dual use of non-volatile memory for error correction
US4679196A (en) Semiconductor memory device with a bit error detecting function
JP2003036693A (ja) 多値半導体メモリの誤り検出・訂正方法および誤り検出・訂正機能を有する多値半導体メモリ
KR100272153B1 (ko) 3치기억 반도체기억시스템
US6901552B1 (en) System for storing data words in a RAM module
US20020174397A1 (en) Method for error detection/correction of multilevel cell memory and multilevel cell memory having error detection/correction function
JP4099844B2 (ja) メモリ装置
JP2000132995A (ja) 半導体装置
JP2002074973A (ja) 不揮発性半導体記憶装置及びシステム
JP2005216437A (ja) 誤り訂正機能付き半導体記憶装置およびその誤り訂正方法
JPH10334697A (ja) 半導体記憶装置およびその誤り訂正方法
JPH11212876A (ja) 符号化方法およびそれを利用したメモリ装置
JPH11213693A (ja) メモリ装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050201

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20060719

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20070919

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20071029

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080417

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080617

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20081209

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090428