JP4896605B2 - 不揮発性半導体記憶システム - Google Patents

不揮発性半導体記憶システム Download PDF

Info

Publication number
JP4896605B2
JP4896605B2 JP2006184362A JP2006184362A JP4896605B2 JP 4896605 B2 JP4896605 B2 JP 4896605B2 JP 2006184362 A JP2006184362 A JP 2006184362A JP 2006184362 A JP2006184362 A JP 2006184362A JP 4896605 B2 JP4896605 B2 JP 4896605B2
Authority
JP
Japan
Prior art keywords
data
voltage
soft value
error correction
likelihood
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.)
Active
Application number
JP2006184362A
Other languages
English (en)
Other versions
JP2008016092A (ja
Inventor
充祥 本間
昇 柴田
浩典 内川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
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 JP2006184362A priority Critical patent/JP4896605B2/ja
Priority to US11/772,563 priority patent/US7508704B2/en
Priority to KR1020070066579A priority patent/KR100893799B1/ko
Publication of JP2008016092A publication Critical patent/JP2008016092A/ja
Priority to US12/397,369 priority patent/US7872910B2/en
Application granted granted Critical
Publication of JP4896605B2 publication Critical patent/JP4896605B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • 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
    • G11C11/5621Digital 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 using charge storage in a floating gate
    • G11C11/5628Programming or writing circuits; Data input circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding 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 multilevel memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/24Bit-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2211/00Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C2211/56Indexing scheme relating to G11C11/56 and sub-groups for features not covered by these groups
    • G11C2211/564Miscellaneous aspects
    • G11C2211/5646Multilevel memory with flag bits, e.g. for showing that a "first page" of a word line is programmed but not a "second page"

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、不揮発性半導体記憶システムに関し、特に、1つのメモリセルに2ビット以上のデータ(複数ビットデータ)を記憶可能な不揮発性半導体記憶装置を備えた不揮発性半導体記憶システムに関する。
不揮発性半導体記憶装置の一つとして、NANDセル型フラッシュメモリが知られている。このNANDセル型フラッシュメモリは、複数のNANDセルユニットから構成されるメモリセルアレイを有する。各NANDセルユニットは、直列接続される複数のメモリセルと、その両端に接続される2つの選択トランジスタとから構成される。メモリセルは、消去状態においては、閾値電圧が負の“1”データを保持している。データ書き込み時には、フローティングゲートに電子が注入され閾値電圧が正である“0”データに書き換えられる。NANDセル型フラッシュメモリは、書き込み時には閾値電圧を低い方から高い方へ移動させることのみが可能であり、逆の移動(閾値電圧の高い方から低い方)はブロック単位での消去動作によってのみ行うことができる。
近年、メモリ容量の増加を目的として、1つのメモリセルに2ビット以上の情報を記憶するいわゆる多値(n値:n≧3)NANDセル型フラッシュメモリの開発が進んでいる。一例として4値NANDセル型EEPROMでは、メモリセルに4値(2ビット)のデータ(“00”,“01”,“10”,“11”)を記憶できる。
多値NANDセル型フラッシュメモリでは、選択されたメモリセルに接続される1本のビット線に対応して、複数個のラッチ回路が設けられる(例えば、特許文献1参照)。即ち、選択されたメモリセルに対して、n値(n≧3)データを書き込んだり又は読み出したりする場合に、複数個のラッチ回路は、n値データを一時的に記憶する役割を果たす。例えば、4値NANDセル型フラッシュメモリでは、書き込み時又は読み出し時に、4値(2ビット)データを一時的に記憶しておくために、選択されたメモリセルに接続される1本のビット線に対応して、2個のラッチ回路が設けられる。
しかし、このような多値記憶方式は、メモリセルの微細化と共に、メモリセルアレイにおける不良ビットの発生率を飛躍的に増加させており、不揮発性メモリチップの歩留まりを低下させる原因となっている。こうした状況に鑑み、メモリセルのデータの信頼性を保証するため、誤り訂正符号(ECC)を用いた誤り訂正回路を組み込んだメモリも提案されている(例えば、特許文献2参照)。
しかし、n値記憶方式のフラッシュメモリでは、n個の閾値電圧分布を設定する必要があり、2値(1ビット)記憶の場合に比べ、閾値電圧分布間の距離、即ちデータマージンが小さくなる。nが大きくなるほどデータマージンが小さくなり(場合によっては分布が重なりマージンが無くなり)、それだけ書き込みエラーが大きくなる可能性が高くなる。書き込みエラーの発生率が高くなると、従来のECC回路では対応が困難になる。
特開2005−63516号公報 特開2002−251884号公報(段落0026〜0030他)
本発明は、書き込みエラーの発生率が高くなった場合であっても誤りを検出し訂正することが可能な不揮発性半導体記憶システムを提供することを目的とする。
本発明の一態様に係る不揮発性半導体記憶システムは、閾値電圧の差により複数ビットを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイと、前記ビット線の各々に接続され前記ビット線を制御するビット線制御回路と、前記複数ビットのデータを表現する複数の閾値分布のうちの1つの上限より大きくその閾値分布より上の閾値電圧を有する他の閾値分布の下限より小さい大きさを有する複数ビットデータ読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うと共に、前記複数の閾値分布の各々の上限より小さく下限より大きい閾値電圧を有し複数通りの軟値を生成する軟値読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うワード線制御回路と、前記軟値読み出し電圧に前記ワード線電圧が設定されることにより生成される軟値に基づいて前記メモリセルに格納された複数ビットのデータの尤度を計算する尤度計算回路と、前記複数ビットのデータに対し前記尤度に基づいてデータ誤り訂正を実行する誤り訂正回路とを備え、前記誤り訂正回路は、前記軟値の読み出しを行っている間、並行して前記複数ビットのデータと冗長データによる誤り検出及び誤り訂正を実行可能に構成されていることを特徴とする。
また、本発明の別態様に係る不揮発性半導体記憶システムは、閾値電圧の差により複数ビットを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイと、前記ビット線の各々に接続され前記ビット線を制御するビット線制御回路と、前記複数ビットのデータを表現する複数の閾値分布のうちの1つの上限より大きくその閾値分布より上の閾値電圧を有する他の閾値分布の下限より小さい大きさを有する複数ビットデータ読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うと共に、前記複数の閾値分布の各々の上限より小さく下限より大きい閾値電圧を有し複数通りの軟値を生成する軟値読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うワード線制御回路と、前記軟値読み出し電圧に前記ワード線電圧が設定されることにより生成される軟値に基づいて前記メモリセルに格納された複数ビットのデータの尤度を計算する尤度計算回路とを備え、前記軟値を用いて計算した尤度に基づく誤り訂正が失敗したと判定される場合、前記軟値読み出し電圧の数を増加させて改めて前記軟値を取得して前記尤度計算回路による尤度を計算するように構成されたことを特徴とする。
本発明によれば、書き込みエラーの発生率が高くなった場合であっても誤りを検出し訂正することが可能な不揮発性半導体記憶システムを提供することが可能になる。
次に、本発明の実施の形態を、4値NANDセル型フラッシュメモリを備えたシステムを例として、図面を参照して詳細に説明する。
[基本原理]
4値NANDセル型フラッシュメモリは、1つのメモリセルにおける閾値電圧が、4通りの分布を持ち得るように構成されている。図1は、4値NANDセル型フラッシュメモリのメモリセルに記憶される2ビットの4値データ(データ“11”、“10”、“01”、“00”)とメモリセルの閾値電圧(Vth)の分布を示している。なお、図1において、VA、VB、VCは4つのデータを読み出す場合に選択ワード線に印加される電圧(複数ビットデータ読み出し電圧)であり、VAv、VBv、VCvは書き込み動作の完了を確認するためのベリファイ電圧を示している。
ブロック消去後のメモリセルは、データ“11”とされており、負の閾値電圧Vthを有する。また、書き込み状態のデータ“01”、“10”、“00”のメモリセルは、正の閾値電圧Vthを有する。また、書き込み状態のうち、データ“01”が最も閾値電圧が低く、データ“00”が最も閾値電圧が高く、データ“10”は、データ“01”とデータ“00”の中間の閾値電圧を有する。
1つのメモリセルの2ビットデータは、下位(Lower)ページデータと上位(upper)ページデータからなり、下位ページデータと上位ページデータは別々の書き込み動作、つまり、2回の書き込み動作により、メモリセルに書き込まれる。データ“*@”と標記するとき、*は上位ページデータを、@は下位ページデータを表している。
まず、下位ページデータの書き込みを、図2を参照して説明する。全てのメモリセルは、消去状態、即ち、データ“11”であるものとする。図2に示すように、下位ページデータの書き込みを行うと、メモリセルの閾値電圧Vthの分布は、下位ページデータの値(“1”、或いは“0”)に応じて、2つの閾値電圧分布に分けられる。すなわち、下位ページデータの値が“1”の場合には、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、メモリセルは、消去状態のデータ(データ“11”)を維持する。
一方、下位ページデータの値が“0”の場合には、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。具体的には、ベリファイ電位VBv´を設定し、このベリファイ電位VBv´以上の閾値電圧となるまで書き込み動作が繰り返される。その結果、メモリセルは、書き込み状態(データ“10”)に変化する。なお、データ“10”の閾値電圧分布は、隣接セルへの書き込み動作の影響のため、データ“11”に比べ広い分布となっている。
次に、上位ページデータの書き込みを、図3を参照して説明する。上位ページデータの書き込みは、チップの外部から入力される書き込みデータ(上位ページデータ)と、メモリセルに既に書き込まれている下位ページデータとに基づいて行われる。
即ち、図3に示すように、上位ページデータの値が“1”の場合には、メモリセルのトンネル酸化膜に高電界がかからないようにし、メモリセルの閾値電圧Vthの上昇を防止する。その結果、データ“11”(消去状態)のメモリセルは、データ“11”をそのまま維持し、データ“01”のメモリセルは、データ“01”をそのまま維持する。
一方、上位ページデータの値が“0”の場合には、メモリセルのトンネル酸化膜に高電界を印加し、フローティングゲート電極に電子を注入して、メモリセルの閾値電圧Vthを所定量だけ上昇させる。その結果、データ“11”(消去状態)のメモリセルは、データ“01”に変化し、データ“01”のメモリセルは、データ“00”に変化する。
以上の動作を要約すると、次のようになる。
(1)下位ページデータが“1”、上位ページデータが“1”のときには、消去状態のセルのデータは“11”に維持される。
(2)下位ページデータが“0”、上位ページデータが“1”のときには、データ“10”がメモリセルに書き込まれる。
(3)下位ページデータが“1”、上位ページデータが“0”のときには、データ“01”がメモリセルに書き込まれる。
(4)下位ページデータが“0”、上位ページデータが“0”のときには、データ“00”がメモリセルに書き込まれる。
(5)上記(1)〜(4)の書き込みは、下位ページデータの書き込み動作をまず行い、続いて上位データの書き込み動作を行うという、計2回の書き込み動作により実行される。
なお、メモリセルMCが、下位ページデータの書き込みのみが終了し上位ページデータの書き込みが未了である段階であるのか、それとも上位ページデータの書き込みも終了した段階であるのかを、データとしていずれかの記憶手段に記憶しておく必要がある。このため、これを示すためのフラグデータFLAGが、データを記憶するメモリセルと同様のメモリセル(フラグセル)に記憶される。図2〜図3に示すように、前者の段階である場合にはフラグデータFLAGは“1”(負の閾値電圧)であり、後者の段階である場合にはフラグデータFLAGは“0”(閾値電圧VB以上)である。
[メモリ構成]
図4は、不揮発性半導体記憶システムの一例として、4値(2ビット)を記憶するNANDセル型フラッシュメモリを備えたシステムの構成を示している。このフラッシュメモリは、データを記憶するメモリセルをマトリックス状に配置してなるメモリセルアレイ1を備えている。メモリセルアレイ1は複数のビット線と複数のワード線と共通ソース線を含み、ビット線とワード線の交点に電気的にデータを書き換え可能なメモリセルがマトリクス状に配置されている。メモリセルには、情報ビットとしての多値データに加え、情報ビットに誤り訂正のために付加される冗長データ、上述のフラグデータFLAGが格納され得る。
このメモリセルアレイ1には、ビット線を制御するためのビット制御回路2、及びワード線電圧を制御するためのワード線制御回路6が接続されている。すなわち、ビット線制御回路2は、ビット線を介してメモリセルアレイ1中のメモリセルのデータを読み出す機能に加え、読み出しデータや書き込みデータを保持するデータラッチ機能を有するセンスアンプ兼データラッチ回路である。またビット線制御回路2は、ビット線を介してメモリセルアレイ1中のメモリセルに書き込み制御電圧を印加してメモリセルに書き込みを行う。
ビット線制御回路2には、カラムデコーダ3、データ入出力バッファ4及びデータ入出力端子5及びコントローラ11が接続されている。
メモリセルアレイ1から読み出されたメモリセルのデータは、ビット線制御回路2、データ入出力バッファ4及びコントローラ11を介してデータ入出力端子5から外部へ出力される。メモリセルアレイ1、ビット線制御回路2、カラムデコーダ3、データ入出力バッファ4、ワード線制御回路6及び制御信号入力端子8が不揮発性半導体記憶装置100を構成し、これにコントローラ11及びデータ入出力端子5が加わって不揮発性半導体記憶システムが構成されている。 また、外部からデータ入出力端子5に入力された書き込みデータは、データ入出力バッファ4を介して、カラムデコーダ3によってビット線制御回路2に入力され、指定されたメモリセルへの書き込みが行われる。
また、メモリセルアレイ1、ビット線制御回路2、カラムデコーダ3、データ入出力バッファ4、ワード線制御回路6及びコントローラ11は、制御回路7に接続されている。制御回路7は、制御信号入力端子8に入力される制御信号に従い、メモリセルアレイ1、ビット線制御回路2、カラムデコーダ3、データ入出力バッファ4、ワード線制御回路6及びコントローラ11を制御するための制御信号及び制御電圧を発生させる。
ワード線制御回路6は、読み出し動作において、4値データの4つの閾値分布(図1)のうちの1つの上限と、より値の大きい他の閾値分布の下限との間の複数ビットデータ読み出し電圧(図1ではVA、VB、VC)やベリファイ電圧をワード線電圧としてワード線WLに印加する制御を行う。
これに加え、ワード線制御回路6は、後述する軟値の生成のため、4つの閾値分布の各々の上限と下限との間の大きさを有する複数通りの電圧(軟値読み出し電圧)をワード線電圧としてワード線WLに印加する制御を行う。詳しくは後述する。
また、コントローラ11は、第1誤り訂正回路101、尤度計算回路102、第2誤り訂正回路103、及び出力制御回路104を備えている。
第1誤り訂正回路101は、複数ビットデータ読み出し電圧VA、VB、VCがワード線WLに印加されて読み出される複数ビットデータ(上位ページデータ、下位ページデータ)を、この複数ビットデータに付加された誤り訂正のための冗長データに基づいて誤り訂正するものである。冗長データは、例えば読み出された複数ビットデータが格納されるのと同一のセクタ内のメモリセルに格納されて同時に読み出すようにすることができるが、これに特に限定されるものではない。
kビットの情報ビットに対し冗長データmを付加した場合における訂正可能な訂正ビット数は限定されており、訂正ビット数を超えたデータ誤りが生じると、第1誤り訂正回路101による訂正は不可能になる。冗長データmを増やすことにより対処することも可能であるが、メモリの集積度の向上の障害となり、複数ビット化の意義が薄れてしまう。そこで、本実施の形態では、尤度計算回路102、及び第2誤り訂正回路103により、第1誤り訂正回路101により訂正し切らず、誤り訂正が失敗したデータの誤りを訂正する。
尤度計算回路102は、ビット線制御回路2において生成される軟値データに基づいて、読み出された複数ビットデータの「確かさ」(尤度)を計算する。軟値データは、上述の軟値読み出し電圧をワード線WLに印加した場合に読み出されるデータに基づいてビット線制御回路2において生成される。この軟値データの具体例については後述する。尤度計算回路102は一例として、軟値データと尤度とを関連付けて記憶する尤度テーブル(図示せず)を有しており、これを参照することにより尤度を判定し出力することができる。
また第2誤り訂正回路103は、「確かさ」の程度(尤度)が低いと判定されたデータを訂正して、第1誤り訂正回路101を補完する役割を有する。
出力制御回路104は、第1誤り訂正回路101、又は第2誤り訂正回路103による誤り訂正がなされたデータをデータ入出力端子5に向けて出力する制御を行う。第1誤り訂正回路101によりデータ誤り訂正が完了した場合には、第2誤り訂正回路103による訂正を経ることなく、第1誤り訂正回路101によるデータ誤り訂正後の複数ビットデータをデータ入出力端子5に出力する。一方、第1誤り訂正回路101のみによってはデータ誤り訂正が完了しなかった場合に、第2誤り訂正回路103からの出力データをデータ入出力端子5に出力する。
図5は、図1に示すメモリセルアレイ1及びビット線制御回路2の構成を示している。メモリセルアレイ1はNANDセル型メモリセルアレイであり、複数のNANDセルを含んで構成されている。1つのNANDセルは、直列接続された例えば16個のEEPROMからなるメモリセルMCと、その両端に接続される選択ゲートS1、S2とにより構成されている。選択ゲートS1はビット線BL0に接続され、選択ゲートS2はソース線SRCに接続されている。
同一のロウに配置されたメモリセルMCの制御ゲートはワード線WL1、WL2、WL3・・・WL16に共通接続されている。また、第1の選択ゲートS1はセレクト線SG1に共通接続され、第2の選択ゲートS2はセレクト線SG2に共通接続されている。
メモリセルアレイ1は、破線で示すように、複数のブロックを含んでいる。各ブロックは、複数のNANDセルにより構成され、このブロック単位でデータが消去される。また、消去動作は、データ記憶回路10、フラグ用データ記憶回路10aに接続されている2本のビット線について同時に行なわれる。
ビット線制御回路2は、複数のデータ記憶回路10及びフラグ用データ記憶回路10aを有している。各データ記憶回路10及びフラグ用データ記憶回路10aには、一対のビット線(BL0、BL1)、(BL2、BL3)…(BLi、BLi+1)、(BL、BL)が接続されている。各データ記憶回路10は、メモリセルMCから読み出されるデータを保持する機能を有すると共に、メモリセルMCに書き込まれるデータを保持する機能を有する。また、後述するように、複数ビットデータ記憶及び複数ビットデータ読み出しを行う際、また後述するように軟値データの生成を行なう際、内部データを操作する役割を有する。
また、ビット線BLiの1つおきに配置され、1つのワード線WLiに接続された複数のメモリセル(破線で囲まれた範囲のメモリセル)は、1セクタを構成する。このセクタ毎にデータが書き込まれ、読み出される。1セクタには例えば2ページ分のデータが記憶される。また、各ワード線WLには、フラグデータFLAGを記憶するためのフラグセルFCが接続されている。前述したように、このフラグセルFCに記憶されるフラグデータFLAGは、メモリセルMCに対する下位ページデータの書き込み動作が終了した段階では“1”とされ、上位ページデータの書き込みが終了した段階では“0”とされる。
リード動作、プログラムベリファイ動作及びプログラム動作時において、データ記憶回路10に接続されている2本のビット線(BLi、BLi+1)のうち外部より指定されたアドレス信号(YA1、YA2…YAi、YAflag)に応じて1本のビット線が選択される。さらに、外部アドレスに応じて、1本のワード線が選択され、1セクタ(2ページ分)が選択される。この2ページの切り替えはアドレスによって行われる。
図6及び図7は、メモリセルMC、ならびに選択ゲートS1及びS2の断面構造を示している。図6はメモリセルMCの断面構造を示している。基板41にはメモリセルMCを構成するMOSFETのソース、ドレインとして機能するn型拡散層42が形成されている。また基板41の上にはゲート絶縁膜43を介して浮遊ゲート(FG)44が形成され、この浮遊ゲート44の上には絶縁膜45を介して制御ゲート(CG)46が形成されている。
選択ゲートS1、S2は、基板41と、この基板41に形成されたソース、ドレインとしてのn型拡散層47を備えている。基板41の上にはゲート絶縁膜48を介して制御ゲート49が形成されている。
図8は、メモリセルアレイの1つのNANDセルの断面を示している。この例において、1つのNANDセルは、図6に示す構成の16個のメモリセルMCが直列接続されて構成されている。NANDセルのドレイン側、ソース側には、図7に示す構成の第1の選択ゲートS1、S2が設けられている。
データ記憶回路10の構成例を図9を参照して説明する。なお、データ記憶回路10aの構成も略同様であるので説明を省略する。このデータ記憶回路10は、プライマリデータキャッシュ(PDC)、セコンダリデータキャッシュ(SDC)、ダイナミックデータキャッシュ(DDC)、テンポラリデータキャッシュ(TDC)を有している。
SDC、PDC、DDCは、書き込み時に入力データを保持し、読み出し時に読み出しデータを保持し、ベリファイ時に一時的にデータを保持し、複数ビットデータを記憶する際に内部データの操作のためのデータ記憶を司る。TDCは、データの読み出し時にビット線のデータを増幅し、一時的に保持するとともに、複数ビットデータを記憶する際に内部データの操作に使用される。
SDCは、ラッチ回路を構成するクロックドインバータ回路61a、61bと、トランジスタ61c、61dとにより構成されている。トランジスタ61cはクロックドインバータ回路61aの入力端と、クロックドインバータ回路61bの入力端の間に接続され、そのゲートに信号EQ2を供給されている。
トランジスタ61dはクロックドインバータ回路61bの出力端と接地間に接続され、そのゲートには信号PRSTが供給されている。
また、SDCのノードN2a(クロックドインバータ回路61aの出力端)は、カラム選択トランジスタ61eを介して入出力データ線IOnに接続されている。また、ノードN2b(クロックドインバータ回路61bの出力端)は、カラム選択トランジスタ61fを介して入出力データ線IOに接続される。これらカラム選択トランジスタ61e、61fのゲートにはカラム選択信号CSLiが供給されている。
PDCは、ラッチ回路を構成するクロックドインバータ回路61i、61jと、トランジスタ61kとにより構成されている。トランジスタ61kは、クロックドインバータ回路61iの入力端とクロックドインバータ回路61jの入力端の相互間に接続されている。このトランジスタ61kのゲートには信号EQ1が供給されている。このPDCのノードN1aとSDCのノードN2aとは、トランジスタ61g、61hにより接続されている。トランジスタ61gのゲートには信号BLC2が供給され、トランジスタ61hのゲートには信号BLC1が供給されている。
また、PDCのノードN1b(クロックドインバータ回路61jの入力端)はトランジスタ61lのゲートに接続されている。このトランジスタ61lの電流通路の一端はトランジスタ61mを介して接地されている。このトランジスタ61mのゲートには信号CHK1が供給されている。また、トランジスタ61lの電流通路の他端はトランスファーゲートを構成するトランジスタ61n、61oの電流通路の一端に接続されている。このトランジスタ61nのゲートには信号CHK2nが供給されている。また、トランジスタ61oのゲートはトランジスタ61gと61hの接続ノードに接続されている。
トランジスタ61n、61oの電流通路の他端には、信号COMiが供給されている。この信号COMiは全データ記憶回路10に共通の信号であり、全データ記憶回路10のベリファイが完了したかどうかを示す信号である。すなわち、後述するように、ベリファイが完了すると、PDCのノードN1bが”L”となる。この状態において、信号CHK1、CHK2nを”H”とすると、ベリファイが完了している場合、信号COMiが”H”となる。
TDCは、例えば電荷保持用MOSキャパシタ61pとブースト用MOSキャパシタ61pbにより構成されている。このMOSキャパシタ61pは、前記トランジスタ61g、61hの接続ノードN3と接地間に接続されている。また、接続ノードN3には、トランジスタ61qA、61qBを介してDDCが接続されている。トランジスタ61qA、61qBのゲートには、それぞれ信号REGA、REGBが供給されている。また、MOSキャパシタ61pbは、一端をノードN3に接続され、他端はブースト電圧BOOSTを与えられる。
DDCは、トランジスタ61rA、61sA、61rB、61sBにより構成されている。トランジスタ61rA及び61sAにより1つのデータキャッシュDDCAが構成され、トランジスタ61rB及び61sBによりもう1つのデータキャッシュが構成されている。
トランジスタ61rA、61rBの電流通路の一端には信号VPREが供給され、他端はそれぞれトランジスタ61qA、61qBの電流通路に接続されている。このトランジスタ61rA、61rBのゲートはそれぞれトランジスタ61sA、61sBを介してPDCのノードN1aに接続されている。このトランジスタ61sA、61sBのゲートにはそれぞれ信号DTGA、DTGBが供給されている。さらに、接続ノードN3にはトランジスタ61t、61uの電流通路の一端が接続されている。トランジスタ61uの電流通路の他端には信号VPREが供給され、ゲートには信号BLPREが供給されている。
トランジスタ61tのゲートには信号BLCLAMPが供給されている。このトランジスタ61tの電流通路の他端はトランジスタ61vを介してビット線BLiに接続され、またトランジスタ61wを介してビット線BLi+1に接続されている。
ビット線BLiの他端はトランジスタ61xの電流通路の一端に接続されている。このトランジスタ61xのゲートには信号BlASoが供給されている。ビット線BLi+1の他端はトランジスタ61yの電流通路の一端に接続されている。このトランジスタ61yのゲートには信号BlASeが供給されている。これらトランジスタ61x、61yの電流通路の他端には、信号BLCRLが供給されている。トランジスタ61x、61yは、信号BlASo、BlASeに応じてトランジスタ61v、61wと相補的にオンとされ、非選択のビット線に所定のバイアスBLCRLを供給して、非選択ビット線を選択ビット線のシールド線とする。
[書き込み動作及びベリファイ動作]
次に、このNANDセル型フラッシュメモリにおける複数ビット書き込み動作及び書き込みベリファイ動作を、図10及び図11を参照して説明する。上述したように、書き込み動作は、下位ページデータの書き込み、上位ページデータの書き込みという2段階で行なわれる。
図10に示すように、まず図5の1セクタの下位ページを選択するため、アドレスを指定し、続いて、書き込みデータを外部より入力し全てのデータ記憶回路10内のSDCに記憶する(S11)。
書き込みコマンドが入力されると、トランジスタ61h、61gがオンとされ、これにより全てのデータ記憶回路10内のSDCのデータがPDCに転送される(S12)。外部より下位ページデータとしてデータ“1”が入力された場合、PDCのノードN1aは、”H”になり、データ“0”が入力された場合、PDCのノードN1aは、”L”となる。なお、この下位ページデータの書き込み動作においては、フラグセルFCにはデータが書き込まれない。このため、フラグ用データ記憶回路10a内のPDCはデータ“1”となる。
続いて、メモリセルMCへの書き込み(プログラム)動作に移行する(S13)。具体的には、トランジスタ61h、61t及び61v又は61wがオンとなり、PDCに保持されたデータがビット線BLi又はBLi+1に供給される。PDCにデータ“1”が保持されている時、ビット線がVddになり、データ“0”が保持されている時、ビット線がVss(接地電位)になる。また、非選択ページのセルには書き込みが行なわれないようにするため、非選択ページのビット線にもVddを供給する。
ここで、選択されているブロックのセレクト線SG1にVdd、選択されたセルのワード線に電位VPGM(20V)、非選択のセルのワード線に電位VPASS(10V)を印加する。これにより、選択セルに書き込みを行うと共に、非選択セルに対する書き込みを防止する。
続いて、書き込みベリファイ動作に移行する(S14)。まず、非選択ワード線及びセレクト線SG1に読み出し時の電位Vreadを与えると共に、ビット線を1Vにプリチャージする。また、選択ワード線にベリファイ電位VBv´を与える。続いて、メモリセルのソース側のセレクト線SG2を”H”にする。
選択したメモリセルMCの閾値電圧がベリファイ電位VBv´より高ければ、そのメモリセルMCはオフを維持し、従ってビット線は”H”のままである。
一方、選択したメモリセルMCの閾値電圧がベリファイ電位VBv´より低ければ、そのメモリセルMCはオンとなり、ビット線は”L”となる。TDCのノードN3は、ビット線が”L”の場合、”L”となり、ビット線が”H”の場合、”H”となる。
ここで、DDCには“0”書き込みを行う場合”L”が記憶され、“0”書き込みを行わない場合”H”が記憶されている。信号VPREをVddとし、信号REGAを”H”にすると、“0”書き込みを行わない場合のみTDCのノードN3が強制的に”H”となる。この動作の後、PDCのデータをDDCに移し、TDCの電位をPDCに転送する。
以上の動作の下、PDCが”L”の場合、再び書き込み動作を行い全てのデータ記憶回路10のデータが”H”になるまでこのプログラム動作とベリファイ動作を繰り返す(S15−S13)。その後、隣接するメモリセルにも書き込みが順次行なわれると、書き込みデータによっては、FG−FG間容量によって、メモリセルの閾値電圧が上がり、データ“10”の閾値電圧分布が高いほうに広がる。
次に、上位ページデータの書き込み(プログラム)動作を図11を参照して説明する。上位ページデータの書き込み動作でも、まずアドレスを指定し、続いて、書き込みデータを外部より入力し全てのデータ記憶回路10内のSDCに記憶する(S21)。
この後、書き込みコマンドが入力されると、フラグセルFCにフラグデータFLAGとして“0”を書き込むため、フラグセル用データ記憶回路10a内のSDCにデータ“0”が入力される(S22)。
続いて、上位ページ書き込み後のデータが“11”(下位ページデータが“1”)であるのか“10”(下位ページデータが“0”)であるのかを判断するため、内部リード動作が行なわれる(S23)。選択ワード線には、電位VA(図1)を供給する。非選択ワード線及びセレクト線SG1には電位Vreadを供給する。
メモリセルのデータが“10”である場合、PDCに”H”がラッチされ、メモリセルのデータが“11”である場合、PDCに”L”がラッチされる。
その後、書き込みたいデータが“11”、“01”、“10”、“00”のいずれであるのかに従い、各データキャッシュSDC、PDC、TDC、DDCに記憶されるデータが設定される(S24)。
続いて、書き込み動作に先立ってデータ“10”のベリファイを行う(S25)。その後、下位ページデータの書き込み動作と同様にして書き込み動作を実行する(S26)。
更に、データ“01”、“10”、“00”についても、それぞれ電位をVAv、VBv、VCvに設定してベリファイ動作を行い(S27〜S29)、全てのデータ記憶回路10のPDCのデータが“H”になるまでこの書き込み動作とベリファイ動作を繰り返す(S30)。
[読出し動作]
続いて、通常の4値データの読出し動作を、下位ページデータの読出しと上位ページデータの読出しに分けて説明する。
図13は、下位ページデータの読出しの手順をフローチャートで示している。まず、アドレスを指定し、図5に示す1セクタを選択する。続いて選択ワード線の電位をVAとして読み出し動作を行い(S31)、フラグセルFCのフラグデータFLAGが“0”か“1”であるかを判別する(S32)。
フラグセルFCから読み出されたフラグデータFLAGが“1”の場合、上位ページデータの書き込みは完了しておらず、このため、メモリセルMCの閾値電圧の分布は、図2のようになっている。このデータは、ワード線の電位をVAにして読み出し動作をすればよく、従って既にデータ記憶回路10に読み出されている。このため、データ記憶回路10に記憶されているデータを外部に出力して読み出しを行う(S33)。
一方、フラグセルFCから読み出されたフラグデータFLAGが“0”(メモリセルのデータが“1”)の場合、上位ページデータの書き込みが行われており、したがってメモリセルMCの閾値電圧分布は、図3に示すようになっている。従って、ワード線の電位をVBに設定して読み出し動作を行い(S34)、この後、データ記憶回路10に読み出されたデータを外部に出力する(S33)。このときのデータ記憶回路10中の各データキャッシュの動作は、書き込みベリファイ動作のときと略同様である。
続いて、上位ページデータの読出し動作の手順を図13のフローチャートを参照して説明する。上位ページデータの読み出しでは、まず、アドレスを指定し、図5に示す1セクタを選択する。続いて、ワード線の電位をVCとして読み出しを行う(S35)。これにより、閾値電圧がVCより低いメモリセルからは“1”が読み出され、閾値電圧がVCより高いメモリセルからは“0”が読み出され、このデータは、仮の上位ページデータUpper(pre1)としてTDCに保持される。TDCに保持されたデータUpper(pre1)は、一端トランジスタ61hがオンとされてPDCに転送された後、トランジスタ61sAをオンとすることによりDDCAに保持される。
この後、ワード線電位をVAとして読み出し動作を行って(S36)、フラグセルFCのフラグデータFLAGが“0”か“1”であるかを判別する(S37)。
この結果、フラグセルFCのフラグデータFLAGが“1”で、上位ページの書き込みが行なわれていない場合、出力データを“1”に固定する(S38)。出力を“1”にするには、データ記憶回路10の信号PRSTを”H”とし、SDCを“1”に設定する。あるいは、データ入出力バッファ4よりデータ“1”しか出力させないようにする。
また、フラグセルのフラグデータFLAGが“0”の場合、DDCAに保持されているデータUpper(pre1)と、新たに読み出されるデータUpper(pre2)とに基づいて、上位ページデータUpperを読み出す(S39)。この読み出しにおけるデータ記憶回路10の具体的な動作を以下に説明する。
新たに読み出されたデータUpper(pre2)はTDCに保持される。このとき、VPREを接地電位とした状態において、トランジスタ61qAのゲートの信号REGAを“H”とする。このとき、DDCAに保持されているデータUpper(pre1)が“0”すなわちトランジスタ61rAのゲートの電位が“H”である場合には、ノードN3の電圧は放電される。一方、DDCAに保持されているデータUpper(pre1)が“1”すなわちトランジスタ61rAのゲートの電位が“L”である場合には、ノードN3の電圧は変化しない。すなわち、DDCAに保持されているデータUpper(pre1)が“0”である場合において、新たなデータUpper(pre2)は強制的に“1”に反転させられる。
以上のような動作が行なわれた後におけるTDCの保持データをSDCに転送後外部へ上位ページデータUpperとして出力する。データUpper(pre1)と、出力される上位ページデータUpperとの関係は、図14に示すようになっている。以上のような手順で下位ページデータLowerと、上位ページデータUpperとが読み出され、4値データの読み出しが完了する。
このような手順により読み出された4値データは、データ誤りが発生した場合(例えば、データ“00”が、閾値分布が隣接するデータ“10”として誤って読み出された場合)、第1誤り訂正回路101により冗長データに基づいた誤り検出及び誤り訂正が行なわれる。
しかしながら単純に4値データをビットデータとして読み出しただけでは、閾値分布に対する正当性が厳密に”0”か”1”かという点でしか判断ができず、訂正能力は情報ビットに対して付加された冗長データの量のみで厳密に決まってしまう。メモリセルの微細化が進展し、更に1つのメモリセルに記憶されるn値データのnが大きくされると、書き込みエラーの発生率が高くなり、冗長データを用いた第1誤り訂正回路101のみでは対応が困難になる場合が生じ得る。
そこで本実施の形態では、第1の誤り訂正回路101によっては誤りを訂正し切らず誤り訂正が失敗した場合において、複数ビットデータの確かさを示す尤度を尤度計算回路102により生成し、この尤度を用いて第2誤り訂正回路103により誤り訂正を実行する。これにより、冗長データのビット数を増やすことなく誤り訂正を実行することを可能にする。軟値データは、例えば図15に示すように、データ“11”、“01”、“10”、“00”の各々の閾値分布の上限と下限の間の大きさを有する、複数の軟値読み出し電圧(4)〜(15)をワード線電圧としてワード線制御回路6により生成して読み出しを行うことにより生成される。このような軟値データにより、読み出し対象とされたメモリセルが、4値データ(“11”、“01”、“10”、“00”)のうちのいずれであるのかということのみならず、1つの閾値分布の中の中心(頂点)付近の閾値電圧を有するのか、それとも閾値分布の上限又は下限に近い閾値電圧を有するのかを判定することができる。閾値電圧が閾値分布の上限又は下限に近い場合には、閾値分布の中心付近である場合に比べ、データ誤りが生じている可能性が高い。換言すれば、前者は後者に比べ、複数ビットデータの「確かさ」の程度(尤度)が低い。第2誤り訂正回路103は、「確かさ」の程度(尤度)が低いと判定される軟値データが得られたメモリセルの4値データの訂正と、この訂正後のシンドローム計算とを、シンドロームがすべて“0”となるまで繰り返す。
この図15では、軟値読み出し電圧(4)〜(7)は、それぞれデータ“11”、“01”、“10”、“00”それぞれの閾値分布の中点付近(上限と下限の略中間)の電圧である。また、その他の軟値読み出し電圧(8)〜(15)は、軟値読み出し電圧(4)〜(7)と共に、各閾値分布を略等間隔に分割するように設定している。すなわち、
(i)軟値読み出し電圧(4)、(8)、(9)は、データ“00”の閾値分布を略等間隔に分割するように設定されており、
(ii)軟値読み出し電圧(5)、(10)、(11)は、データ“10”の閾値分布を略等間隔に分割するように設定されており、
(iii)軟値読み出し電圧(6)、(12)、(13)は、データ“00”の閾値分布を略等間隔に分割するように設定されており、
(iv)軟値読み出し電圧(7)、(14)、(15)は、データ“11”の閾値分布を略等間隔に分割するように設定されている。
これは、あくまでも閾値分布が略ガウス分布形状とされている場合の一例でありこの例に限定されるものではない。分布の形状によっては、各閾値分布においてやや偏った間隔で分割してもよい。また、各閾値分布の分割数すなわち各閾値分布に含まれる軟値読み出し電圧の数も、3つに限らず4つ又はそれ以上にしてもよい。
次に、この軟値データの具体的な生成手順を図15を参照して説明する。まず、図12、図13で説明したように、ワード線電圧を順に(1)複数ビットデータ読み出し電圧VB、(2)複数ビットデータ読み出し電圧VC、(3)複数ビットデータ読み出し電圧VAに設定して、下位ページデータLower、仮の上位ページデータUpper(pre1)、上位ページデータUpperを読み出す。
図15の下半分に記載された“1”、“0”のマトリクス表示は、ワード線電圧が(1)、(2)、・・・、(15)と変化された場合における、当該メモリセルの閾値電圧の大きさと、得られるページデータ、及び軟値(軟値1(prei)、軟値2(prei)、軟値1、軟値2)を示している。
次に、ワード線電圧は、各閾値分布の上限と下限の中間付近の軟値読み出し電圧(4)〜(7)に、その順で(すなわち段階的に高い方から低い方へ下げられて)設定される。まず軟値読み出し電圧(4)が設定された場合に読み出される軟値データ軟値1(pre1)は、データ“00”の閾値分布の右半分より大きい閾値電圧を有するメモリセルについてのみデータ”0“として読み出され、それ以外では”1“として読み出される。この読み出された軟値1(pre1)は、一旦TDCに保持され、PDCを経てDDCAに保持される。
次に、軟値読み出し電圧(5)を設定して軟値データ軟値1(pre2)を読み出す。この軟値1(pre2)は、データ“10”の閾値分布の右半分より大きい閾値電圧を有するメモリセルについてのみがデータ”0“として読み出され、それ以外は”1“として読み出されて、TDCに保持される。ただし、軟値1(pre1)はDDCAに保持されており、もし、DDCAに保持されている軟値1(pre1)が”0“であった場合には、TDCに保持されたデータは強制的に”1“に反転させられる(図15の矢印参照)。すなわち、軟値読み出し電圧を段階的に小さくしていった場合に、第1の軟値読み出し電圧と、これより一段階小さい第2の軟値読み出し電圧とがいずれもメモリセルを導通させなかった場合に、第2の軟値読み出し電圧で得られたデータを反転させて軟値とするものである。
以下同様に、軟値読み出し電圧(6)、(7)がワード線電圧として印加され、1つ前の軟値1(prei)が“0”であった場合にはデータ反転がなされる。軟値読み出し電圧(7)により生成されるデータが軟値1であり、これが後述する軟値2と共に、尤度計算回路102における尤度計算に用いられる。
続いて、ワード線電圧は、軟値読み出し電圧(8)〜(15)に、その順で(すなわち段階的に高い方から低い方へ下げられて)設定される。DDCAに保持されている1つ前の軟値が“0”であった場合にデータ反転がなされる点は(4)〜(7)の場合と同様である。軟値読み出し電圧(15)がワード線電圧として印加されて生成される軟値2が、軟値1とともに尤度計算回路102において尤度計算のために用いられる。
本実施の形態の不揮発性半導体記憶装置では、以上の軟値生成手順の実行と並行して、軟値取得に先立って取得済みの複数ビットデータ及び冗長データに基づく第1誤り訂正回路101における誤り検出及び誤り訂正を実行することができる。第1誤り訂正回路101における誤り検出・訂正の結果、誤りがすべて訂正された場合には、並行して生成されていた軟値は不要となるので廃棄され、第1誤り訂正回路101による訂正データが出力制御回路104から出力される。第2誤り訂正回路103は、冗長データに基づく第1誤り訂正回路101により誤り訂正が失敗したと判定される場合に、複数ビットデータ及び冗長データに加え、尤度計算回路102で軟値を用いて計算された尤度に基づく誤り訂正を開始する。このような並行処理が実行されることにより、データ転送のスループット向上を図ることができる。
第2誤り訂正回路103は、計算された尤度に基づいてトライアンドエラーで訂正を繰り返す。しかし、所定回数訂正を繰り返しても訂正が完了しない場合には訂正は失敗と判定し、一旦計算された尤度は廃棄する。そして、軟値読み出し電圧の数を、上記の(4)〜(15)の12個より増加(例えば16個)として新たに軟値を取得して尤度計算回路102により尤度を計算する。これにより、複数ビットデータの確かさ(尤度)をより正確に判定し、誤りを訂正することができる可能性を高くすることができる。このように、軟値読み出し電圧の数を段階的に増加させることは、不揮発性半導体装置のデータ読み出し速度を、データ誤りをなくしつつ維持するという観点から好ましい。
以上、発明の実施の形態を説明したが、本発明はこれらに限定されるものではなく、発明の趣旨を逸脱しない範囲内において、種々の変更、追加等が可能である。例えば、上記実施の形態では、複数ビットデータとして4値データを例にとって説明したが、本発明はこれに限定されるものでないことはいうまでもなく、8値、16値のようなN値(N は1以上の整数)においても適用可能であることはいうまでもない。
また、複数ビットデータを構成する複数ページデータの誤り検出及び訂正は、それぞれに付加されている冗長データに基づいて独立に実行してもよいし、一体として実行してもよい。後者の場合には、データ入出力バッファ4にページデータの数に応じた記憶素子(シフトレジスタ)を設け、これらに複数ページデータを各々記憶させた後読み出すことが可能である。
また、メモリセルの閾値電圧は時間の経過と共に変化し、従って閾値分布も例えば図16に示すように変化する。この場合、軟値読み出し電圧(例えばデータ“00”については電圧(4)、(8)、(9))の大きさが不変であると、軟値読み出し電圧が閾値分布を適切な間隔で分割しないこととなり、軟値に基づく「確かさ」の計算が正しく行なわれない虞がある。このため、図16に示すように、時間の経過と共に軟値読み出し電圧を(4)、(8)、(9)からシフトした(4)´、(8)´、(9)´に変化させ、変化した閾値分布に対応した値に設定する。これにより、軟値に基づく「確かさ」の計算を一層正確に行なうことが可能になる。時間の経過に伴う各軟値読み出し電圧の変化量は、シミュレーションに基づいてあらかじめ計算された値をテーブルに格納しておき、このテーブルの値に基づいて決定することが好適である。
また、図17に示すように、このような閾値電圧の変化を抑制するため、ユーザからの命令により、又は定期的にメモリセルのデータの書き直しを実行し、図16右側のように変化した閾値電圧の分布を図16左側のように修正するデータリフレッシュ回路110を設けることも可能である。
また、上記の実施の形態では、冗長データに基づく複数ビットデータの誤り訂正を行なう第1の誤り訂正回路101と、軟値に基づいて計算された尤度に基づく誤り訂正を行なう第2誤り訂正回路103とを設けていたが、本発明はこれに限定されるものではない。図18は、変形例の1つを示すものであり、この例では、複数ビットデータと冗長データに基づいて複数ビットデータの尤度を計算する第1尤度計算回路112と、軟値に基づいて複数ビットデータの尤度を計算する第2尤度計算回路113とを備えている。尤度計算回路112、113は、それぞれ冗長データ、軟値データと尤度とを関連付けて記憶する尤度テーブル(図示せず)を有しており、これを参照することにより尤度を判定し出力することができる。
そして、誤り訂正回路114は、第1尤度計算回路112で計算された尤度、または第2尤度計算回路113で計算された尤度に基づいて誤り訂正を実行する。このように、冗長データに基づいて複数ビットデータの尤度を計算しているため、誤り訂正回路114を1つだけ設ければよい。
4値記憶のフラッシュメモリにおける書き込みデータの例を示す。 4値記憶のフラッシュメモリにおけるデータ書き込み手順を示す概念図である。 4値記憶のフラッシュメモリにおけるデータ書き込み手順を示す概念図である。 本発明の第1の実施の形態によるNANDセル型フラッシュメモリを含む不揮発性半導体記憶システムの概略構成を示す構成図である。 図4に示すメモリセルアレイ1及びビット線制御回路2の構成を示す回路図である。 図5のメモリセルMCの断面図である。 図5の選択ゲートS1、S2の断面図である。 メモリセルアレイの1つのNANDセルを示す断面図である。 図5に示すに示すデータ記憶回路10の一構成例を示す回路図である。 4値データを構成する下位ページデータの書き込みの手順を示すフローチャートである。 4値データを構成する上位ページデータの書き込みの手順を示すフローチャートである。 4値データの下位ページデータの読出しの手順を示すフローチャートである。 4値データの上位ページデータの読出しの手順を示すフローチャートである。 下位ページデータLower、上位ページデータUpperの関係を示す概念図である。 軟値データの具体的な生成手順を説明する。 本実施の形態の変形例を示す。 本実施の形態の変形例を示す。 本実施の形態の変形例を示す。
符号の説明
1・・・メモリセルアレイ、 2・・・ビット制御回路、 3・・・カラムデコーダ、 4・・・データ入出力バッファ、 5・・・データ入出力端子、 6・・・ワード線制御回路、 7・・・制御回路、 8・・・制御信号入力端子、 9・・・不良ブロック判定回路、 10、10a・・・データ記憶回路、 11・・・コントローラ、 101・・・第1誤り訂正回路、 102・・・尤度計算回路、 103・・・第2誤り訂正回路、 104・・・出力制御回路、 110・・・データリフレッシュ回路、 112・・・第1尤度計算回路、 113・・・第2尤度計算回路、 114・・・誤り訂正回路、 PDC・・・プライマリデータキャッシュ、 SDC・・・セコンダリデータキャッシュ、 DDC・・・ダイナミックデータキャッシュ、 TDC・・・テンポラリデータキャッシュ、 FC・・・フラグセル。

Claims (10)

  1. 閾値電圧の差により複数ビットを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイと、
    前記ビット線の各々に接続され前記ビット線を制御するビット線制御回路と、
    前記複数ビットのデータを表現する複数の閾値分布のうちの1つの上限より大きくその閾値分布より上の閾値電圧を有する他の閾値分布の下限より小さい大きさを有する複数ビットデータ読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うと共に、前記複数の閾値分布の各々の上限より小さく下限より大きい閾値電圧を有し複数通りの軟値を生成する軟値読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うワード線制御回路と、
    前記軟値読み出し電圧に前記ワード線電圧が設定されることにより生成される軟値に基づいて前記メモリセルに格納された複数ビットのデータの尤度を計算する尤度計算回路と
    前記複数ビットのデータに対し前記尤度に基づいてデータ誤り訂正を実行する誤り訂正回路とを備え、
    前記誤り訂正回路は、前記軟値の読み出しを行っている間、並行して前記複数ビットのデータと冗長データによる誤り検出及び誤り訂正を実行可能に構成されていることを特徴とする不揮発性半導体記憶システム。
  2. 閾値電圧の差により複数ビットを記憶することが可能なメモリセルが複数のビット線及び複数のワード線に沿ってマトリクス状に配置されて構成されたメモリセルアレイと、
    前記ビット線の各々に接続され前記ビット線を制御するビット線制御回路と、
    前記複数ビットのデータを表現する複数の閾値分布のうちの1つの上限より大きくその閾値分布より上の閾値電圧を有する他の閾値分布の下限より小さい大きさを有する複数ビットデータ読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うと共に、前記複数の閾値分布の各々の上限より小さく下限より大きい閾値電圧を有し複数通りの軟値を生成する軟値読み出し電圧をワード線電圧として前記ワード線に印加する制御を行うワード線制御回路と、
    前記軟値読み出し電圧に前記ワード線電圧が設定されることにより生成される軟値に基づいて前記メモリセルに格納された複数ビットのデータの尤度を計算する尤度計算回路とを備え、
    前記軟値を用いて計算した尤度に基づく誤り訂正が失敗したと判定される場合、前記軟値読み出し電圧の数を増加させて改めて前記軟値を取得して前記尤度計算回路による尤度を計算するように構成されたことを特徴とする不揮発性半導体記憶システム。
  3. 前記複数ビットのデータに対し前記尤度に基づいてデータ誤り訂正を実行する誤り訂正回路を有することを特徴とする請求項2記載の不揮発性半導体記憶システム。
  4. 前記誤り訂正回路は、前記軟値の読み出しを行っている間、並行して前記複数ビットのデータと冗長データによる誤り検出及び誤り訂正を実行可能に構成されていることを特徴とする請求項3記載の不揮発性半導体記憶システム。
  5. 前記誤り訂正回路は、前記複数のメモリセルの持つ複数ビットのデータと冗長データに基づく誤り訂正を実行可能に構成され、これが失敗したと判定される場合に前記複数ビットのデータ及び前記冗長データに加え前記軟値を用いて計算された尤度に基づく誤り訂正を開始するように構成されたことを特徴とする請求項1又は3記載の不揮発性半導体記憶システム。
  6. 前記軟値を用いて計算した尤度に基づく誤り訂正が失敗したと判定される場合、前記軟値読み出し電圧の数を増加させて改めて前記軟値を取得して前記尤度計算回路による尤度を計算するように構成されたことを特徴とする請求項1記載の不揮発性半導体記憶システム。
  7. 最初に前記閾値分布の各々の中間付近の値を有する第1電圧に前記軟値読み出し電圧を設定して第1軟値を生成し、続いて前記第1電圧と前記閾値分布の上限又は下限との間の値を有する第2電圧に前記軟値読み出し電圧を設定して第2軟値を生成し、これら第1軟値及び第2軟値に基づいて前記尤度を前記尤度計算回路により計算するように構成され、
    前記第1軟値及び前記第2軟値は、
    前記第1電圧及び前記第2電圧を高い方から低い方へ段階的に下げていき、ある第1電圧及び第2電圧が設定された場合において読み出されるデータの状態に基づき、これより1段階低い第1電圧及び第2電圧が設定された場合において読み出されるデータを反転させることにより生成されることを特徴とする請求項1又は2記載の不揮発性半導体記憶システム。
  8. 前記軟値を用いて計算した尤度に基づく誤り訂正が失敗したと判定される場合、前記第2電圧の数を増加させて新たに前記軟値を取得して前記尤度計算回路による尤度を計算するように構成されたことを特徴とする請求項7記載の不揮発性半導体記憶システム。
  9. 前記軟値読み出し電圧は、時間経過に従って変化するように設定されることを特徴とする請求項1又は2記載の不揮発性半導体記憶システム。
  10. 時間経過に伴うメモリセルの閾値電圧の変化を抑えるためメモリセルのデータの書き直しを実行するデータリフレッシュ回路を更に備えたことを特徴とする請求項1又は2記載の不揮発性半導体記憶システム。
JP2006184362A 2006-07-04 2006-07-04 不揮発性半導体記憶システム Active JP4896605B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006184362A JP4896605B2 (ja) 2006-07-04 2006-07-04 不揮発性半導体記憶システム
US11/772,563 US7508704B2 (en) 2006-07-04 2007-07-02 Non-volatile semiconductor storage system
KR1020070066579A KR100893799B1 (ko) 2006-07-04 2007-07-03 불휘발성 반도체 기억 시스템
US12/397,369 US7872910B2 (en) 2006-07-04 2009-03-04 Non-volatile semiconductor storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006184362A JP4896605B2 (ja) 2006-07-04 2006-07-04 不揮発性半導体記憶システム

Publications (2)

Publication Number Publication Date
JP2008016092A JP2008016092A (ja) 2008-01-24
JP4896605B2 true JP4896605B2 (ja) 2012-03-14

Family

ID=39072964

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006184362A Active JP4896605B2 (ja) 2006-07-04 2006-07-04 不揮発性半導体記憶システム

Country Status (3)

Country Link
US (2) US7508704B2 (ja)
JP (1) JP4896605B2 (ja)
KR (1) KR100893799B1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008108356A (ja) * 2006-10-25 2008-05-08 Toshiba Corp 不揮発性半導体記憶装置

Families Citing this family (54)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7453723B2 (en) 2006-03-01 2008-11-18 Micron Technology, Inc. Memory with weighted multi-page read
US8209580B1 (en) 2006-05-08 2012-06-26 Marvell International Ltd. Error correction coding for varying signal-to-noise ratio channels
US7685494B1 (en) * 2006-05-08 2010-03-23 Marvell International, Ltd. Error correction coding for varying signal-to-noise ratio channels
US7369434B2 (en) * 2006-08-14 2008-05-06 Micron Technology, Inc. Flash memory with multi-bit read
JP4564520B2 (ja) 2007-08-31 2010-10-20 株式会社東芝 半導体記憶装置およびその制御方法
JP5178167B2 (ja) * 2007-12-04 2013-04-10 株式会社東芝 半導体記憶装置及びそのデータ書き込み方法
KR100953047B1 (ko) * 2007-12-28 2010-04-14 주식회사 하이닉스반도체 불휘발성 메모리 소자의 동작 방법
KR101436505B1 (ko) * 2008-01-03 2014-09-02 삼성전자주식회사 메모리 장치
KR101378365B1 (ko) * 2008-03-12 2014-03-28 삼성전자주식회사 하이브리드 메모리 데이터 검출 장치 및 방법
KR101425020B1 (ko) * 2008-03-17 2014-08-04 삼성전자주식회사 메모리 장치 및 데이터 판정 방법
JP2010003348A (ja) 2008-06-19 2010-01-07 Toshiba Corp 半導体記憶装置及び誤り訂正方法
US8433980B2 (en) * 2008-06-23 2013-04-30 Sandisk Il Ltd. Fast, low-power reading of data in a flash memory
KR101483190B1 (ko) 2008-09-05 2015-01-19 삼성전자주식회사 메모리 시스템 및 그것의 데이터 처리 방법
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
US8675417B2 (en) * 2008-09-28 2014-03-18 Ramot At Tel Aviv University Ltd. Method and system for adaptive coding in flash memories
CN102203876B (zh) * 2008-09-30 2015-07-15 Lsi公司 用于存储器器件的软数据生成的方法和装置
KR101529880B1 (ko) * 2008-10-31 2015-06-19 삼성전자주식회사 에러 추정 방법 및 정정 방법
JP5361603B2 (ja) 2009-08-13 2013-12-04 株式会社東芝 コントローラ
KR101679358B1 (ko) 2009-08-14 2016-11-24 삼성전자 주식회사 플래시 메모리 장치, 이의 프로그램 방법 및 독출 방법
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
KR101618311B1 (ko) 2010-02-08 2016-05-04 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
US8213255B2 (en) * 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
KR101678404B1 (ko) 2010-02-25 2016-11-23 삼성전자주식회사 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법
JP5039160B2 (ja) * 2010-03-02 2012-10-03 株式会社東芝 不揮発性半導体記憶システム
JP2011197957A (ja) * 2010-03-18 2011-10-06 Toshiba Corp 誤り訂正符号復号装置及び誤り訂正符号復号方法
US8451664B2 (en) 2010-05-12 2013-05-28 Micron Technology, Inc. Determining and using soft data in memory devices and systems
JP2011253595A (ja) 2010-06-03 2011-12-15 Toshiba Corp 不揮発性半導体記憶装置
TWI455132B (zh) * 2010-06-23 2014-10-01 Phison Electronics Corp 資料讀取方法、控制電路與記憶體控制器
JP2012027966A (ja) 2010-07-20 2012-02-09 Toshiba Corp 不揮発性半導体記憶装置
US9292377B2 (en) * 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US9898361B2 (en) * 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
JP2012181761A (ja) * 2011-03-02 2012-09-20 Toshiba Corp 半導体メモリ装置および復号方法
US9502117B2 (en) * 2011-03-14 2016-11-22 Seagate Technology Llc Cell-level statistics collection for detection and decoding in flash memories
US8631288B2 (en) 2011-03-14 2014-01-14 Micron Technology, Inc. Methods, devices, and systems for data sensing in a memory system
JP5813380B2 (ja) 2011-06-03 2015-11-17 株式会社東芝 半導体記憶装置
JP2013029882A (ja) 2011-07-26 2013-02-07 Toshiba Corp メモリコントローラ、半導体記憶装置および復号方法
US9001587B2 (en) 2011-09-16 2015-04-07 Samsung Electronics Co., Ltd. Flash memory and reading method of flash memory
KR101775660B1 (ko) * 2011-09-29 2017-09-07 삼성전자주식회사 워드 라인 전압의 변화없이 상이한 문턱 전압들을 갖는 메모리 셀들을 읽는 방법 및 그것을 이용한 불 휘발성 메모리 장치
KR101878455B1 (ko) 2011-11-18 2018-07-16 삼성전자주식회사 비휘발성 메모리 장치의 데이터 독출 방법 및 구동 방법
KR102143517B1 (ko) * 2013-02-26 2020-08-12 삼성전자 주식회사 에러 정정회로를 포함하는 반도체 메모리 장치 및 반도체 메모리 장치의 동작방법
US9025393B2 (en) 2013-03-25 2015-05-05 Seagate Technology Llc Method of optimizing solid state drive soft retry voltages
CN104424045B (zh) * 2013-09-09 2017-07-28 群联电子股份有限公司 解码方法、存储器储存装置与非易失性存储器模块
US9460783B2 (en) * 2014-06-03 2016-10-04 Micron Technology, Inc. Determining soft data
US9881674B2 (en) 2014-12-11 2018-01-30 Micron Technology, Inc. Sequential write and sequential write verify in memory device
US9595342B2 (en) * 2015-01-20 2017-03-14 Sandisk Technologies Llc Method and apparatus for refresh programming of memory cells based on amount of threshold voltage downshift
US9960788B2 (en) * 2015-03-27 2018-05-01 Toshiba Memory Corporation Memory controller, semiconductor memory device, and control method for semiconductor memory device
KR20180025357A (ko) * 2016-08-29 2018-03-09 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US11016703B2 (en) * 2016-09-16 2021-05-25 Sony Corporation Memory controller, memory system, information system, and memory control method
US20190361769A1 (en) * 2017-01-12 2019-11-28 Agency For Science, Technology And Research Memory device with soft-decision decoding and methods of reading and forming thereof
JP2020047312A (ja) * 2018-09-14 2020-03-26 キオクシア株式会社 メモリシステム
JP7213130B2 (ja) 2019-04-24 2023-01-26 株式会社メガチップス 不揮発性記憶装置、データ読み出し方法、および、プログラム
EP3891614B1 (en) * 2019-04-30 2023-06-21 Yangtze Memory Technologies Co., Ltd. Electronic apparatus and method of managing read levels of flash memory
JP2021007061A (ja) * 2019-06-28 2021-01-21 キオクシア株式会社 メモリシステム
KR20210013387A (ko) * 2019-07-24 2021-02-04 삼성전자주식회사 메모리 시스템

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3176019B2 (ja) 1995-04-05 2001-06-11 株式会社東芝 不揮発性半導体記憶部を含む記憶システム
KR0172408B1 (ko) * 1995-12-11 1999-03-30 김광호 다수상태 불휘발성 반도체 메모리 및 그의 구동방법
JP2002251884A (ja) 2001-02-21 2002-09-06 Toshiba Corp 半導体記憶装置及びそのシステム装置
US6657891B1 (en) * 2002-11-29 2003-12-02 Kabushiki Kaisha Toshiba Semiconductor memory device for storing multivalued data
JP4220319B2 (ja) * 2003-07-04 2009-02-04 株式会社東芝 不揮発性半導体記憶装置およびそのサブブロック消去方法
JP4245437B2 (ja) 2003-08-08 2009-03-25 シャープ株式会社 不揮発性半導体記憶装置の書き込み方法
US7009889B2 (en) * 2004-05-28 2006-03-07 Sandisk Corporation Comprehensive erase verification for non-volatile memory
KR100660534B1 (ko) * 2004-12-09 2006-12-26 삼성전자주식회사 불휘발성 메모리 장치의 프로그램 검증방법
JP4991131B2 (ja) * 2005-08-12 2012-08-01 株式会社東芝 半導体記憶装置
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
KR101202537B1 (ko) * 2006-05-12 2012-11-19 애플 인크. 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US7352628B2 (en) * 2006-06-19 2008-04-01 Sandisk Corporation Systems for programming differently sized margins and sensing with compensations at select states for improved read operations in a non-volatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008108356A (ja) * 2006-10-25 2008-05-08 Toshiba Corp 不揮発性半導体記憶装置

Also Published As

Publication number Publication date
US7872910B2 (en) 2011-01-18
US20080123408A1 (en) 2008-05-29
KR100893799B1 (ko) 2009-04-20
JP2008016092A (ja) 2008-01-24
KR20080004374A (ko) 2008-01-09
US20090201726A1 (en) 2009-08-13
US7508704B2 (en) 2009-03-24

Similar Documents

Publication Publication Date Title
JP4896605B2 (ja) 不揮発性半導体記憶システム
JP4791912B2 (ja) 不揮発性半導体記憶装置及び不揮発性記憶システム
JP5095131B2 (ja) 半導体記憶装置
JP4991131B2 (ja) 半導体記憶装置
JP4945187B2 (ja) 半導体記憶装置
JP4786171B2 (ja) 半導体記憶装置
KR100515544B1 (ko) 반도체 기억 장치
JP5367210B2 (ja) 半導体記憶装置
JP4713873B2 (ja) 半導体記憶装置
JP4041057B2 (ja) 不揮発性半導体記憶装置
JP2008047273A (ja) 半導体記憶装置およびその制御方法
JP2009158061A (ja) 半導体記憶装置
JP2010225220A (ja) 不揮発性半導体記憶装置、及びそのデータ書き込み方法
JP2014157650A (ja) 半導体記憶装置
JP2008010046A (ja) 不揮発性半導体記憶装置
JP5802603B2 (ja) 半導体記憶装置
KR100756711B1 (ko) 데이터의 파괴를 방지하는 반도체 메모리 장치
JP2012123856A (ja) 不揮発性半導体記憶装置
JP5075992B2 (ja) 半導体記憶装置
JP5242603B2 (ja) 半導体記憶装置
JP4489084B2 (ja) 不揮発性半導体記憶装置
JP5355667B2 (ja) メモリシステム
JP5296175B2 (ja) 半導体記憶装置
JP5197730B2 (ja) 半導体記憶装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110607

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110725

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111221

R151 Written notification of patent or utility model registration

Ref document number: 4896605

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

Year of fee payment: 3

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

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