JP5475665B2 - フラッシュメモリのクロスカップリング事後補正 - Google Patents

フラッシュメモリのクロスカップリング事後補正 Download PDF

Info

Publication number
JP5475665B2
JP5475665B2 JP2010526419A JP2010526419A JP5475665B2 JP 5475665 B2 JP5475665 B2 JP 5475665B2 JP 2010526419 A JP2010526419 A JP 2010526419A JP 2010526419 A JP2010526419 A JP 2010526419A JP 5475665 B2 JP5475665 B2 JP 5475665B2
Authority
JP
Japan
Prior art keywords
cell
cells
data
value
reading
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
JP2010526419A
Other languages
English (en)
Other versions
JP2010541119A5 (ja
JP2010541119A (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.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL 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 SanDisk IL Ltd filed Critical SanDisk IL Ltd
Publication of JP2010541119A publication Critical patent/JP2010541119A/ja
Publication of JP2010541119A5 publication Critical patent/JP2010541119A5/ja
Application granted granted Critical
Publication of JP5475665B2 publication Critical patent/JP5475665B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • 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/5642Sensing or reading circuits; Data output 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/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • 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/563Multilevel memory reading aspects
    • G11C2211/5634Reference cells

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)

Description

本発明は、不揮発性メモリ、より具体的にはフラッシュメモリに関し、特に1セル当たり数ビットを蓄積するフラッシュメモリに関する。
フラッシュメモリデバイスは長年にわたり知られている。通常、フラッシュメモリの各セルには1ビットの情報が蓄積される。従来は2通りのセル状態によりビットを蓄積してきた。ひとつは論理「0」を表す状態であり、もうひとつは論理「1」を表す状態である。フラッシュメモリセルでは、セルのチャネル上にフローティングゲート(セルのトランジスタのソース素子とドレイン素子とを結ぶ部分)を設け、さらにこのフローティングゲート内に蓄積される電荷量に対して2つの有効状態を設けることにより、2つの状態を実現する。通常、一方の状態ではフローティングゲートの電荷はゼロで、消去後の書き込みがなされていない当初のセル状態であり(通常は「1」状態と定義される)、他方の状態ではある程度の負電荷がフローティングゲートにある(通常は「0」状態と定義される)。ゲートに負電荷があるとセルのトランジスタのしきい値電圧(トランジスタを導通させるためにトランジスタのコントロールゲートに印加すべき電圧)が増加する。セルのしきい値電圧をチェックすることにより、蓄積されたビットを読み出すことができる。しきい値電圧が高い状態にあるならビット値は「0」であり、しきい値電圧が低い状態にあるならビット値は「1」である。実際にはセルのしきい値電圧を正確に読み出す必要はなく、セルが2つの状態のどちらにあるかを正確に識別すればよい。そのためには、2つの状態の中間にあたる基準電圧値に照らして比較を行い、セルのしきい値電圧がこの基準値より低いか高いかを判断するだけでよい。
図1Aは、これがどう機能するかを示すものである。具体的には、多数のセルのしきい値電圧分布が図1Aに見られる。フラッシュデバイスの中にあるセルの特性や挙動は全く同じというわけではないため(例えば、不純物濃度の僅かなばらつきやシリコン構造の欠陥のため)、全てのセルに対して同じプログラミング操作を行っても、全てのセルでしきい値電圧が全く同じになることはない。(歴史的理由により、フラッシュメモリにデータを書き込むことを一般的にはフラッシュメモリを「プログラムする」と言うことに留意するべきである。本願明細書では用語「書き込み」と「プログラミング」を互換的に使用する。)むしろしきい値電圧は図1Aに示されるのと同様に分布する。値「1」を蓄積するセルは負のしきい値電圧を通常有し、ほとんどのセルは図1Aの左側のピークに見られる値に近いしきい値電圧になるが、少数のセルではこれよりも低いか高いしきい値電圧になる。同様に、値「0」を蓄積するセルは正のしきい値電圧を通常有し、ほとんどのセルは図1Aの右側のピークに見られる値に近いしきい値電圧になるが、少数のセルではこれよりも低いか高いしきい値電圧になる。
近年、慣例上「マルチレベルセル」、略して「MLC」と呼ばれる手法を用いた新しいタイプのフラッシュデバイスが市場に登場している。(前述したように、旧式のフラッシュセルでも2レベル以上になるため、この呼び方は誤解を招く。そこで本願明細書では2種類のフラッシュセルを「シングルビットセル」(SBC)と「マルチビットセル」(MBC)と呼ぶことにする。)MBCフラッシュによる進歩として、各々のセルには2つのビットが蓄積される。(原則として1セル当たり3ビット以上の蓄積もMBCに含まれる。ここでは説明を簡潔にするために2ビットの場合を強調するが、1セル当たり3ビット以上をサポートするフラッシュメモリデバイスにも本発明が等しく当てはまることを理解するべきである。)1つのセルで2ビットの情報を蓄積するには、セルを4通りの状態のいずれか1つに置かなければならない。セルの「状態」はセルのしきい値電圧によって表されるため、MBCセルでは当然、4通りの有効しきい値電圧範囲をサポートしなければならない。図1Bは、典型的MBCセルのしきい値電圧分布を示す。図1Bには予定通り4つのピークがあり、各ピークはいずれか1つの状態にそれぞれ相当する。SBCの場合、各状態は実際にはしきい値電圧の範囲であって、単一のしきい値電圧ではない。セルの内容を読み出すときには、セルのしきい値電圧がどの範囲にあるかを正確に識別できさえすればよい。MBCフラッシュデバイスの先行技術例については、Harariの米国特許第5,434,825号(特許文献1)を参照されたい。
MBCセルで2つのビットを4状態のいずれか1つとして符号化する場合は普通、両ビットが値「1」を持つ場合を図1Bの左端の状態(通常は負のしきい値電圧)とする。(以降の説明では次のような表記を用いる。セルの2つのビットは「下位ビット」と「上位ビット」と呼ぶ。これらのビットの明示値は[「上位ビット」「下位ビット」]の形式で記述し、右側を下位ビット値とする。したがって、下位ビットが「0」で上位ビットが「1」の場合は「10」と記述する。この用語・表記の選択は恣意的であって、これとは別の名称・符号化も可能であることを理解するべきである。)この表記により、左端の状態は「11」の場合に相当する。残りの3状態は左から右の順に「10」、「00」、「01」と割り当てられているように示される。あらゆる目的のためにあたかもその全体が本願明細書において参照により援用されているChenの米国特許第6,522,580号(特許文献2)では、このような符号化を用いたMBC NANDフラッシュデバイスの実施例を見ることができる。特にChenの図8を参照されたい。しかし、本発明がこの状態割り当てに依拠しているわけではなく、これとは別の順序も使用可能であることに留意するべきである。MBCセルの内容を読み出すときには、セルのしきい値電圧がどの範囲にあるかを正確に識別しなければならない。この場合に限っては、1つの基準電圧に対する比較ですまないことがある。数回の比較が必要となることがある。例えば、図1Bの場合に下位ビットを読み出すにはまず、セルのしきい値電圧を比較基準電圧V1 と比較し、その比較の結果に応じてゼロの比較基準電圧または比較基準電圧V2 にセルのしきい値電圧を比較する。下位ビットの読み出しにあたってセルのしきい値電圧をゼロ基準電圧とV2 の両方に無条件に比較する方法もある。いずれにせよ2回の比較が必要となる。
サイズが同様のセルに1ビットではなく2ビットを蓄積するMBCデバイスは、コスト面で大変有利である。しかし、MBCフラッシュを使用するにはいくつか欠点もある。MBCメモリの平均読み出し・書き込み時間はSBCメモリより長く、これが性能低下を招く。また、MBCの信頼性はSBCより低い。これは容易に理解できる。MBCではしきい値電圧範囲の格差がSBCより格段に小さくなるからである。しきい値電圧に動揺が生じても(例えば、蓄積電荷の漏れによるしきい値電圧のドリフト、近傍セルにおける操作から生じる干渉等)2状態の格差が大きいSBCでは見過ごされることもあるが、MBCではセルの状態が変わってしまってビットに誤りが生じることがある。その結果、データ保持時間や多数の書き込み/消去サイクルに対するデバイス耐久性の点でMBCセルの品質水準が低下する。したがって、MBCセルとSBCセルの両方を使用すると有利な点もあり、その選択は応用要求によって異なり得る。
前の説明はフローティングゲート式のフラッシュメモリセルに関するものだが、これとはタイプの異なるフラッシュメモリ技術もある。例えば、NROMフラッシュメモリ技術には導電性フローティングゲートがなく、代わりに電荷をトラップする絶縁層がある。ここではフローティングゲート技術において説明するが、本発明はあらゆるタイプのフラッシュメモリに等しく応用できる。
図2Aは、先行技術による典型的なフラッシュメモリデバイスのブロック図であり、Chenの図1と同じである。メモリセルアレイ1には複数のメモリセル(M)が行列状に配置され、列制御回路2、行制御回路3、cソース制御回路4、およびc−pウェル制御回路5によって制御されている。メモリセル(M)に蓄積されたデータを読み出し、プログラミング操作中にメモリセル(M)の状態を確認し、ビット線(BL)の電圧レベルを制御してプログラミングを助長もしくは禁止するため、列制御回路2はメモリセルアレイ1のビット線(BL)へ接続される。ワード線(WL)のいずれか1つを選択し、読み出し電圧を印加し、列制御回路2により制御されるビット線電圧レベルに組み合わされたプログラミング電圧を印加し、メモリセル(M)のp形領域の電圧に結合される消去電圧を印加するため、行制御回路3はワード線(WL)へ接続される。c−ソース制御回路4は、メモリセル(M)に接続される共通ソース線を制御する。c−pウェル制御回路5はc−pウェル電圧を制御する。NANDフラッシュデバイスでは通常、1本のワード線によって制御されるセルがデバイスの1ページか2ページに相当し、ワード線はブロックに編成され、それぞれのブロックは通常いくつかのワード線を含み、その数は適度な2の累乗であり、例えば25=32である。ページは、NANDフラッシュデバイスでまとめてプログラムできるセルの最小単位である。ブロックは、NANDフラッシュデバイスでまとめて消去できるセルの最小単位である。
メモリセル(M)に蓄積されたデータは列制御回路2によって読み出され、データ入出力回路6内のバッファとI/O線を通じて外部I/O線へ出力される。メモリセルに蓄積されるプログラムデータは外部I/O線を通じてデータ入出力回路6内のバッファへ入力され、列制御回路2へ転送される。外部I/O線はコントローラ20へ接続される。
フラッシュメモリデバイスを制御するコマンドデータは、外部制御線へ接続されたコマンドインターフェイスへ入力される。外部制御線はコントローラ20に接続される。コマンドデータは要求された操作が何かをフラッシュメモリに伝える。入力コマンドは状態マシン8へ転送され、状態マシン8は、列制御回路2、行制御回路3、cソース制御回路4、c−pウェル制御回路5、およびデータ入出力回路6を制御する。READY/BUSY、PASS/FAIL等、状態マシン8はフラッシュメモリのステータスデータを出力できる。
コントローラ20は、パーソナルコンピュータ、デジタルカメラ、個人用携帯情報端末(PDA)等のホストシステムに接続されるかあるいは接続可能である。メモリアレイ1におけるデータの蓄積、読み出し、送受信といったコマンドはホストから始まる。コントローラ20はコマンドをコマンド信号に変換し、コマンド回路7で解釈し実行できるようにする。コントローラ20はまた、メモリアレイ1で読み書きするユーザデータのためのバッファメモリを通常内蔵する。典型的なメモリシステムには、コントローラ20を含む1つの集積回路チップ21と、メモリアレイおよび関連する制御回路、入出力回路、ならびに状態マシン回路をそれぞれ含む1つ以上の集積回路チップ22とが含まれる。当然のことながら、トレンドは、システムのメモリアレイとコントローラ回路を1つ以上の集積回路チップにまとめて集積する方向にある。メモリシステムはホストシステムの一部として組み込まれることもあれば、ホストシステムのソケットに取り外し可能な状態で挿入できるメモリカードに含まれることもある。このようなメモリカードにメモリシステム全体が含まれることもあれば、コントローラ、メモリアレイ、関連する周辺回路を別々のカードに設けることもある。
図2Bは先行技術によるもうひとつの典型的フラッシュメモリデバイスのブロック図であり、Gutermanらの米国特許第6,751,766号(特許文献3)の図1と同じである。個別にアドレスできる多数のメモリセルが規則的な行列からなるアレイ11に配置されている。ビット線と、ワード線に配置された選択ゲートと、ステアリングゲートとにより個々のメモリセルを制御できる。ここでビット線はアレイ11の列沿いに延在し、ワード線はアレイ11の行沿いに延在するように指定される。ビット線ユニット13は、ビット線デコーダ、蓄積素子、ドライバ回路、およびセンスアンプを含む。ビット線ユニット13は、線15によりセルアレイ11へ結合でき、ビット制御線29と読み出し線41とによりコントローラ27へ結合できる。ワード線ユニット19は、選択ゲートデコーダおよびドライバ回路を含み得る。ワード線ユニット19は、線17によりセルアレイ11へ結合でき、ワード制御線31によりコントローラ27へ結合できる。ステアリング線ユニット43は、ステアリングゲートデコーダおよびドライバ回路を含み得る。ステアリングユニット43は、線23によりセルアレイ11へ結合でき、ステアリング制御線33によりコントローラ27へ結合でき、線44によりビット線ユニット13へ結合できる。ビット線ユニット13、ワード線ユニット19、およびステアリングユニット43はバス25へ結合でき、バス25はコントローラ27へ結合される。コントローラ27は線35によりホストへ結合できる。
予め選択されたメモリセルをプログラムするときには、これをプログラムするにあたって十分な所定レベルの電圧を該当するビット線、ワード線、およびステアリングゲートに印加可能である。コントローラ27は、予め選択されたメモリセルのアドレスを、バス25から線26a、26b、および26cを通じてビット線ユニット13、ワード線ユニット19、およびステアリングゲートユニット43にあるそれぞれのデコーダへ送信する。ビット線ユニット13、ワード線ユニット19、ステアリングゲートユニット43、およびコントローラ27では、ビット制御線29、ワード制御線31、およびステアリング制御線33を通じてステータスと制御コマンドがやり取りされる。
予め選択されたメモリセルを読み出すときには、この読み出しにあたって十分な所定レベルの電圧を該当するビット線、ワード線、およびステアリングゲートに印加可能である。コントローラ27は、ビット制御線29を通じてビット線の電圧を印加でき、ワード制御線31を通じてワード線の電圧を印加でき、ステアリング制御線33を通じてステアリングゲートの電圧を印加できる。これらの電圧により予め選択されたメモリセルの中に電流を発生させることができる。この電流は、予め選択されたメモリセルがプログラム済みか否かを表す。ビット線ユニット13のセンスアンプでは電流の値を増幅し基準に比較できる。比較の結果はラッチまたはレジスタに一時的に蓄積できる。予め選択されたメモリセルから読み出されたデータは、読み出し線41を通じてコントローラ27へ送信できる。
フローティングゲートに蓄積された見かけの電荷は、隣接するフローティングゲートの蓄積電荷に基づく電界結合のためにずれることがある。あらゆる目的のためにあたかもその全体が本願明細書において参照により援用されている米国特許第5,867,429号(特許文献4)では、ここで「セル間クロスカップリング」とも呼ぶフローティングゲート間結合現象がChenとFongにより説明されている。目標ゲートに隣接するフローティングゲートとは、同一ビット線上の近傍フローティングゲートか、同一ワード線上の近傍フローティングゲートか、目標フローティングゲートから斜めに近傍ビット線と近傍ワード線上に位置するフローティングゲートのことである。
フローティングゲート間結合現象は隣接するメモリセルが別々のときにプログラムされる場合に最も顕著となる。例えば、第1のデータに相当する一定レベルの電荷をフローティングゲートに加えて第1のメモリセルをプログラムすると仮定する。その後、第2のデータに相当する一定レベルの電荷をフローティングゲートに加えて隣接する1つ以上のメモリセルをプログラムすると仮定する。第1のメモリセルには隣接メモリセルの電荷が結合されるため、1つ以上の隣接メモリセルがプログラムされた後に第1のメモリセルから電荷レベルを読み出すと、プログラムされたレベルと異なることになる。隣接メモリセルからの結合によって読み出される充分な量の見かけの電荷レベルがずれると、蓄積されたデータの読み出しに誤りが生じる。
MBCデバイスではセルの状態を定めるしきい値電圧範囲がSBCデバイスより狭いため、MBCデバイスにとってフローティングゲート間結合効果はSBCデバイスより大きな問題となる。
フローティングゲート間結合の補償にあたっては数通りのアプローチが知られている。ChenとFongによるフラッシュメモリでは、フローティングゲートが結合しないようにセルが互いに物理的に隔離される。ChenとFongはまた、フローティングゲート間結合を補償するように比較基準電圧(例えば、図1BのV1、V2 )を調整する。あらゆる目的のためにあたかもその全体が本願明細書において参照により援用されている、Chen、Cernea、およびHemnikは米国特許第7,196,946号(特許文献5)で類似する方法を教示している。フラッシュメモリからのデータ読み出しにあたっては、蓄積されるデータのエラー補正符号化とその後に続く、読み出されたデータのエラー補正復号化によって不正確さを補償するのが一般的だが、これはフローティングゲート間結合の補償にもなる。
フラッシュメモリセルアレイを概略的に示す図3はChenとFongの図8Aと同じであり、9つのセルには参照符号151から159が付されている。図3で破線の矢印沿いの数字は矢印で結ばれたセル間の結合比である。ChenとFongによると、例えばセル151を読み出す場合は、近傍セル152から159(あるいは少なくともセル151への結合が最も強いセル152および156)を読み出し、セル151に対する各々の結合比をこれらの読み出し値に組み合わせ、セル151の比較基準電圧をデフォルト値からどの程度ずらせばよいかを判断する。
前述した説明では、セルの状態を決定するしきい値電圧範囲の幅程度の分解能によりしきい値電圧を読み出すことになっている。Ban が米国公開特許出願第2005/0013165号(特許文献6)で教示するように、しきい値電圧の読み出しにあたっては分解能を精細にするとしばしば有利である。それぞれ3ビットを蓄積するMBCセルのしきい値電圧分布を示す図4は、Banの図2を修正したものである。しきい値電圧がVmin とV1 との間のしきい値電圧分布110内にあるセルは、ビットパターン「111」に相当する状態にあると解釈される。しきい値電圧がV1 とV2 との間のしきい値電圧分布112内にあるセルは、ビットパターン「110」に相当する状態にあると解釈される。しきい値電圧がV2 とV3 との間のしきい値電圧分布114内にあるセルは、ビットパターン「101」に相当する状態にあると解釈される。しきい値電圧がV3 とV4 との間のしきい値電圧分布116内にあるセルは、ビットパターン「100」に相当する状態にあると解釈される。しきい値電圧がV4 とV5 との間のしきい値電圧分布118内にあるセルは、ビットパターン「011」に相当する状態にあると解釈される。しきい値電圧がV5 とV6 との間のしきい値電圧分布120内にあるセルは、ビットパターン「010」に相当する状態にあると解釈される。しきい値電圧がV6 とV7 との間のしきい値電圧分布122内にあるセルは、ビットパターン「001」に相当する状態にあると解釈される。しきい値電圧がV7 とVmax との間のしきい値電圧分布124内にあるセルは、ビットパターン「000」に相当する状態にあると解釈される。Ban によると、MBCセルの読み出しにあたっては、セルの状態を決定するしきい値電圧範囲の境界となる、Banが「整数」比較基準電圧と呼ぶ、比較基準電圧V1 、V2 、V3 、V4 、V5 、V6 、およびV7 にセルのしきい値電圧を比較するばかりでなく、Ban が「分数」比較基準電圧(V0.5 、V1.5 、V2.5 、V3.5 、V4.5 、V6.5 、およびV7.5 )と呼ぶものにも比較する。セルの状態を決定するしきい値電圧範囲の幅程度の分解能によるフラッシュセルの読み出しの結果は、しばしば「ハードビット」と呼ばれ、より細かい分解能によるフラッシュセルの読み出しの結果は、しばしば「ソフトビット」と呼ばれる。
米国特許第5,434,825号 米国特許第6,522,580号 米国特許第6,751,766号 米国特許第5,867,429号 米国特許第7,196,946号 米国公開特許出願第2005/0013165号 米国特許第6,295,326号
John G. Proakis, Digital Communications (McGraw-Hill, 2000), Chapter 11 Dai Qingyuan and E. Shwedyk, Detection of bandlimited signals over frequency selective Rayleigh fading channels, IEEE Transactions on Communication vol. 42 no. 2 (1994) pp. 941-950 Simon Haykin, Adaptive Filter Theory, Third Edition, Prentice Hall,1996; R. D. Gitlin et al., An algorithm for the stable operation of a digitally implemented fractionally spaced adaptive equalizer, Proc. IEEE Int. Conf. Acoust. Speech Signal Process., May 1982, pp. 1379-1382 R. Johnson, Jr., et al., Blind equalization using the constant modulus criterion: a review, Proc. IEEE vol. 86 no. 10 (1998) pp. 1927-1950 Y. Sato, A method for self-recovering equalization for multilevel amplitude modulation system, IEEE Trans. Commun. vol. COM-23 (June 1975) pp. 679-682 D. N. Godard, Self-recovering equalization and carrier tracking in two-dimensional data communication system, IEEE Trans. Commun. vol. COM-28 (Nov. 1980) pp. 1867-1875 Ching-Hsiang Tseng and Cheng-bin Lin, A stop-and-go dual-mode algorithm for blind equalization, GLOBECOM '96 (18-22 November 1996) vol. 2 pp. 1427-1431 V. Weerackody and S. A. Kassam, Dual-mode type algorithms for blind equalization, IEEE Trans. Commun. vol. 42 no. 1 (1994) pp. 22-28 M. J. Lopez et al., Reduced-complexity MAP equalizer for dispersive channels, IEEE Vehicular Technology Conference 2000 vol. 3 pp. 1371-1375 Nigel C. McGinty and Rodney A. Kennedy, Reduced-state sequence estimator with reverse-time structure, IEEE Trans. Commun. vol. 45 no. 3 (1997) pp. 265-268 Alexanra Duel-Hallen and Chris Heegard, Delayed decision-feedback sequence estimation, IEEE Trans. Commun. vol. 37 no. 5 (1989) pp. 428-436 Mikael Sternad et al., Robust decision feedback equalizers, IEEE Int. Conf. Acoustics, Speech and Signal Processing (April 27-30, 1993) vol. 3 pp. 555-558
本発明は、セル間クロスカップリングの場合にデフォルト比較基準電圧を使って読み出されるしきい値電圧の補正に図3に示されるような結合比を役立てることができるという考えに基づき、比較基準電圧は変更しない。この考えは、セル間クロスカップリングと、通信工学分野において起こる同様の問題、すなわちシンボル間干渉(ISI)とが形式上類似していることに基づく。
Figure 0005475665
本発明は、セル間クロスカップリングが形式上ISIと同じであるという考えに基づいている。したがって、セル間クロスカップリングの測定にはチャネル推定法を役立てることができ、セル間クロスカップリングの補正には等化法を役立てることができる。下の表は、ISIとセル間クロスカップリングの線形モデルの場合に、ISIパラメータとフラッシュメモリパラメータとの対応を示すものである。
Figure 0005475665
ここに表示されたISIとセル間クロスカップリングとの対応は、ISIとセル間クロスカップリングの線形モデルに基づくものである。ISIとセル間クロスカップリングを同等の非線形モデルで表現することもでき、非線形チャネル推定・等化のパラメータと、セル間クロスカップリングの非線形推定・補正のパラメータとを同様に対応付けることもできる。セル間クロスカップリングの非線形推定・補正も本発明の範囲に含まれるが、線形補正が本発明の好適な実施形態にあたるため、ここではセル間クロスカップリングの線形推定・補正に重点を置く。
本発明によると、データを蓄積しかつ読み出す方法が提供され、この方法は、(a)複数のセルを含むメモリを提供するステップであって、セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積され、その後、各値の測定値を得るために各値を測定することによりセルが読み出されるステップと、(b)セルのいずれか1セルと、1セルの少なくとも1つの近傍セルとを読み出し、これにより1セルと各近傍セルの測定値を得るステップと、(c)各測定値と、各近傍セルが1セルの読み出しを妨害するそれぞれの程度とに基づき、1セルに蓄積された各データを推定するステップと、を含む。
さらに、本発明によると、メモリデバイスが提供され、このメモリデバイスは、(a)複数のセルを含むメモリと、(b)回路であって、(i)データを表すセルの物理的特性の各値を設定することによりセルにデータを蓄積し、かつ(ii)その後、各値の測定値を得るために各値を測定することによりセルを読み出す回路と、(c)1セルの各測定値と、1セルの少なくとも1つの近傍セルの各測定値とに基づき、かつ各近傍セルが1セルの読み出しを妨害するそれぞれの程度に基づき、セルのいずれか1セルに蓄積された各データを推定する機構と、を備える。
さらに、本発明によると、システムが提供され、このシステムは、(a)メモリデバイスであって、(i)複数のセルと、(ii)回路であって、(A)データを表すセルの物理的特性の各値を設定することによりセルにデータを蓄積し、かつ(B)その後、各値の測定値を得るために各値を測定することによりセルを読み出す回路と、を備えるメモリデバイスと、(b)1セルの各測定値と、1セルの少なくとも1つの近傍セルの測定値とに基づき、かつ各近傍セルが1セルの読み出しを妨害するそれぞれの程度に基づき、セルのいずれか1セルに蓄積された各データを推定するコードを含む、メモリデバイスのためのドライバコードが蓄積された、不揮発性メモリと、(c)コードを実行するプロセッサと、を備える。
さらに、本発明によると、コンピュータ可読コードが組み込まれたコンピュータ可読蓄積媒体が提供され、このコンピュータ可読コードは、複数のセルを含むメモリデバイスのためのドライバコードであり、データを表すセルの物理的特性の各値を設定することによりセルにデータが蓄積され、その後、各値の測定値を得るために各値を測定することによりセルは読み出され、コンピュータ可読コードは、1セルの各測定値と、1セルの少なくとも1つの近傍セルの各測定値とに基づき、かつ各近傍セルが1セルの読み出しを妨害するそれぞれの程度に基づき、セルのいずれか1セルに蓄積された各データを推定するプログラムコードを含む。
本発明の基礎的な方法は、複数のセルを含むメモリを使用して、データを蓄積しかつ読み出す方法である。セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積される。例えばセルがフラッシュセルなら、好適な物理的特性はフラッシュセルのしきい値電圧である。セルにデータが蓄積された後には、各値の測定値を得るために物理的特性の各値を測定することによりセルが読み出される。いずれか1セル(「目標セル」)と、この1つ以上の近傍セルとを読み出すことにより、目標セルと近傍セルの測定値を得る。図2Aおよび2Bのデバイス等、フラッシュメモリデバイスの場合の測定値は、ハードビット(例えば、図1Bの「0<しきい値電圧<V1 」)かソフトビット(例えば、図4の「V1.5 <しきい値電圧<V2 」)である。測定値は、データの蓄積時に設定された物理的特性の各値に一致しないことがある。例えば図4で、状態「110」までプログラムされたフラッシュセルでも、読み出しのときにはしきい値電圧がV2 を上回り状態「101」になることがある。本発明の要点は、そのようなセル間クロスカップリングに起因する読み出しの誤りを補正することである。最後に、各測定値と、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度とに基づき、目標セルに実際に蓄積されたデータを推定する。ここで「推定」は専ら計算であって、ChenとFongのように、セルの読み出しに用いる比較基準電圧の再設定やセルの再読み出し等は含まないものと理解する。後述する好適な実施形態では通信工学分野のISI等化アルゴリズムを応用してこの推定を行うため、ここではこの推定を「等化」と呼ぶ。
この方法は好ましくは、目標セルの各近傍セルが目標セルの読み出しを妨害する程度を算出することも含む。典型的には通信工学分野のISIチャネル推定アルゴリズムを応用して算出を行う。したがって、ここではこの算出を「クロスカップリング推定」と呼ぶこともある。算出は、セル間クロスカップリングの非線形モデル、あるいはセル間クロスカップリングの線形モデルに基づいてもよい。算出は、後述するバッチクロスカップリング推定のように等化とは別に(等化に先立ち)行うことができる。あるいは後述する適応型クロスカップリング推定・等化のように等化とともに繰り返し行うこともできる。算出は、最小平均二乗誤差(MMSE)、帰納的最大確率(MAP)、最大尤度(ML)等の基準に基づいてもよい。
より好ましくは、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度は、目標セルと近傍セルを読み出すことによって得られる各測定値に基づいて算出する。この方法は、最も好ましくは目標セルと近傍セルとは別の1つ以上のさらなるセルを読み出すことで1つ以上のさらなる測定値を得ることを含む。この場合は、1つ以上のさらなる測定値に基づいて各近傍セルが目標セルを妨害するそれぞれの程度を算出する。例えば後述するLMMSEアルゴリズムでは、目標セルと同じ状態sにあるとされるM個のセルの測定から統計μ0|s を得る。例えば、目標セルとさらなるセルはフラッシュメモリの共通の消去ブロック、あるいはフラッシュメモリの共通のワード線に位置することがある。
より好ましくは、この方法は目標セルとその近傍セルにデータを蓄積することを含む。この方法の好ましい態様では、目標セルと近傍セルにデータが蓄積される前に、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出する。例えば、メモリのユーザがデータを蓄積し読み出す前のメモリ設計時あるいはメモリ製造時に、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出し得る。この方法のもうひとつの好ましい態様で、目標セルと近傍セルにデータが蓄積された後に、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出する。例えば後述するバックグラウンド算出オプションでは、目標セルとその近傍セルにデータが書き込まれ、目標セルと近傍セルは専ら算出のためにバックグラウンドで読み出され、読み出しの結果から各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出し、その後メモリのユーザによって目標セルから同じデータが読み出されるときには、算出したそれぞれの程度をデータの推定に用いる。後述するオンザフライ算出・等化オプションはこの態様の重要で特別なケースである。この場合は目標セルに最後に蓄積されたデータを推定するため、目標セルが読み出されるたびに算出を行う。
もうひとつの好ましい代替案では、目標セルとその近傍セルに別のデータを蓄積し、目標セルと近傍セルを読み出すことで、目標セルと近傍セルから別の測定値を得ることができる。別の測定値に基づき、各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出する。例えば後述するバックグラウンド算出オプションでは、目標セルとその近傍セルにデータが書き込まれ、目標セルと近傍セルは専ら算出のためにバックグラウンドで読み出され、読み出しの結果から各近傍セルが目標セルの読み出しを妨害するそれぞれの程度を算出し、算出に用いるデータを別のデータに差し替えた後、メモリのユーザによって目標セルから新たなデータが読み出されるときには、算出したそれぞれの程度を新たなデータの推定に用いる。もうひとつの例として、メモリの製造時に各近傍セルが目標セルを妨害するそれぞれの程度を算出する場合は、目標セルと近傍セルをプログラムして既知データ(すなわち、他所にも蓄積されているデータ)を蓄積し、プログラムされた目標セルと近傍セルの測定値とメモリから別個に蓄積されるデータに基づき、算出を行う。
推定は、好ましくは近傍セルによる妨害のための目標セルの各測定値を補正することを含む。あるいは、目標セルの各測定値は補正されない。代わりに、セルの各値の分布のパラメータの1つ以上の期待値を推定し、以降の処理に用いる。後述するLMMSE例でμ0|s,N およびσ2 0|s,N は期待値である。
算出と同様、推定はMMSE、MAP、ML等の基準に基づく。
本発明のメモリデバイスはメモリと等化機構を含む。メモリは複数のセルを含む。セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積される。その後、各値の測定値を得るために各値を測定することによりセルが読み出される。こうして得た測定値は、データが蓄積されたときに設定される物理的特性の各値に一致しないことがあるため、本発明の1つ以上の方法を等化機構に用いてデータを推定する。等化機構はハードウェアで実装できるほか(例えば、セルを読み出す回路)、ファームウェアまたはソフトウェアで実装できる(例えば、メモリのコントローラ)。
本発明のシステムは、メモリデバイス、不揮発性メモリ、およびプロセッサを含む。メモリデバイスは、複数のセルからなるメモリを含む。セルには、データを表すセルの物理的特性の各値を設定することによりデータが蓄積される。その後、各値の測定値を得るために各値を測定することによりセルが読み出される。不揮発性メモリには、メモリデバイスのためのドライバコードが蓄積される。ドライバコードに含まれるコードはプロセッサによって実行され、本発明の1つ以上の方法によりメモリデバイスに蓄積されたデータを推定する。このようなドライバコードが組み込まれたコンピュータ可読蓄積媒体は本発明の範囲に含まれる。
ここでは例証のみを目的として添付の図面を参照しながら本発明を説明する。
1ビット方式でプログラムされるフラッシュセルのしきい値電圧分布を示す。 2ビット方式でプログラムされるフラッシュセルのしきい値電圧分布を示す。 フラッシュメモリデバイスのブロック図である。 フラッシュメモリデバイスのブロック図である。 フラッシュメモリセルアレイのクロスカップリング状態を示す。 3ビット方式でプログラムされソフトビットとして読み出されるフラッシュセルのしきい値電圧分布を示す。 本発明のシステムの高水準ブロック図である。
Figure 0005475665
線形最小平均二乗誤差(LMMSE)クロスカップリング推定・等化は、クロスカップリングの推定・等化に用いる好適な一手法である。この手法は目標セルと近傍セルの二次統計に基づく。具体的には、近傍セルの読み出ししきい値電圧の共分散行列と、目標セルおよび近傍セルの相互相関ベクトルとに基づく。
次の例は、一度に1ワード線がプログラムされ、偶数ビット線沿いのセルがプログラムされた後に奇数ビット線沿いのセルがプログラムされるフラッシュメモリの例である。セル間クロスカップリングは主に偶数ビット線沿いのセルに影響をおよぼす。この各セルに影響をおよぼす近傍セルは、同一ワード線に沿って次のビット線上に位置するセルおよび同一ビット線に沿って次のワード線上に位置するセルである。これは特定の状態sまでプログラム済みとするM個の目標セルx0,i の、読み出し時のしきい値電圧x0,i 、i=1・・・Mと、2つの重要な近傍セルの読み出し時のしきい値電圧x1,i およびx2,i のセル間クロスカップリング推定とセル間クロスカップリング補正の例である。x1,i は、同一ワード線に沿って次のビット線上に位置するセルの読み出し時のしきい値電圧である。x2,i は、同一ビット線に沿って次のワード線上に位置するセルの読み出し時のしきい値電圧である。
Figure 0005475665
Figure 0005475665
Figure 0005475665
目標セルに蓄積される各ビットiにつき、これらの二次統計を用いて対数尤度比(ビットが「1」としてプログラムされた確率に対するビットが「0」としてプログラムされた確率の比の対数)を次のとおりに計算する。
Figure 0005475665
0iの和は、ビットiが「0」ビットになっている状態sの和である。s1iの和は、残りの状態の和、すなわちビットiが「1」ビットになっている状態sの和である。例えば、図4のように状態がしきい値電圧に対応付けられる1セル当たり3ビットのフラッシュメモリで、左端のビットの場合、分子の和は右端の4つの状態の和であり、分母の和は左端の4つの状態の和であり、中間のビットの場合、分子の和は左から3番目と4番目の状態と右から1番目と2番目の状態の和であり、分母の和は左から1番目と2番目の状態と右から3番目と4番目の状態の和であり、右端のビットの場合、分子の和は左から2番目と4番目の状態と右から1番目と3番目の状態の和であり、分母の和は左から1番目と3番目の状態と右から2番目と4番目の状態の和である。
和がi番目のビットが「0」になる最も近いx0 の状態s0iとi番目のビットが「1」になる最も近いx0 の状態s1iのみに制限されるなら、Li の式は格段に単純になる。
Figure 0005475665
式11または式12を使って計算されるLi は、ビットiを含む符号語の推定にあたってECCデコーダへの入力として使用できる。
本発明のこの態様では、式(3)から(7)、(9)、および(10)の二次統計計算がLMMSEクロスカップリング推定であり、式(11)または式(12)におけるLiの計算がLMMSE等化である。
Figure 0005475665
このほかに、より正確ではあるが多量の計算を要する適応クロスカップリング推定・等化ではカルマンフィルタを使って補正係数aj を推定する。これは米国特許第6,295,326号(特許文献7)に見られるTonissenらによる通信工学分野でのチャネル推定・等化のためのカルマンフィルタの使用に似ている。Dai Qingyuan and E. Shwedyk, Detection of bandlimited signals over frequency selective Rayleigh fading channels, IEEE Transactions on Communication vol. 42 no. 2 (1994) pp. 941-950(非特許文献2)も併せて参照されたい。
このほかに、ISI方面で周知であり、当業者であればセル間クロスカップリングの推定・補正に容易に応用できる適応型チャネル推定・等化アルゴリズムには次のものがある。
符号付きLMS (Simon Haykin, Adaptive Filter Theory, Third Edition, Prentice Hall,1996; R. D. Gitlin et al., An algorithm for the stable operation of a digitally implemented fractionally spaced adaptive equalizer, Proc. IEEE Int. Conf. Acoust. Speech Signal Process., May 1982, pp. 1379-1382(非特許文献3))
CMAアルゴリズム (R. Johnson, Jr., et al., Blind equalization using the constant modulus criterion: a review, Proc. IEEE vol. 86 no. 10 (1998) pp. 1927-1950(非特許文献4))
SATOアルゴリズム (Y. Sato, A method for self-recovering equalization for multilevel amplitude modulation system, IEEE Trans. Commun. vol. COM-23 (June 1975) pp.679-682 (非特許文献5))
Godardアルゴリズム (D. N. Godard, Self-recovering equalization and carrier tracking in two-dimensional data communication system, IEEE Trans. Commun. vol. COM-28 (Nov. 1980) pp. 1867-1875 (非特許文献6))
SUNUAアルゴリズム (Ching-Hsiang Tseng and Cheng-bin Lin, A stop-and-go dual-mode algorithm for blind equalization, GLOBECOM '96 (18-22 November 1996) vol. 2 pp. 1427-1431 (非特許文献7))
DMGSAアルゴリズム (V. Weerackody and S. A. Kassam, Dual-mode type algorithms for blind equalization, IEEE Trans. Commun. vol. 42 no. 1 (1994) pp. 22-28(非特許文献8))
バッチクロスカップリング推定でも複合適応型クロスカップリング推定・等化でも、データの等化にあたってデータを再度読み出す必要はない。読み出されたたしきい値電圧はバッファに蓄積され、必要に応じてバッファから引き出される。例えばセル間クロスカップリングの線形モデルの係数をクロスカップリング推定段階に算出するLMMSEの最初の例では、バッファ内のデータを2度使用する。まずは係数を推定するクロスカップリング推定段階で使用し、次に推定した係数をデータに適用する等化段階で使用する。
クロスカップリング推定・等化法は推定基準で分類することもできる。推定の平均二乗誤差(MMSE)が極小化されるMMSEは好適な基準である。観察に基づく未知のパラメータの事後確率が極大化されるMAPも好適な基準である。未知パラメータに基づく観察の条件付き確率が極大化されるMLも好適な基準である。MAP推定は未知パラメータと観察の複合確率分布の知識を必要とする。ML推定は観察に基づく未知パラメータの条件付き確率分布の知識を必要とする。条件によっては異なる推定基準が一致することがあることに留意するべきである。例えばガウスノイズモデルではMMSE基準とMAP基準が一致する。(しかるべき基準のもとで)最適シンボル推定を求めるか、それともシンボル列全体の最適推定を求めるかで、種々の推定アルゴリズムを区別することもできる。通信工学におけるMAPチャネル推定・等化の使用については、M. J. Lopez et al., Reduced-complexity MAP equalizer for dispersive channels, IEEE Vehicular Technology Conference 2000 vol. 3 pp. 1371-1375(非特許文献9)を参照されたい。ISI方面で周知であり、当業者であればセル間クロスカップリングの推定・補正に容易に応用できるMLアルゴリズムには次のものがある。
RRSEアルゴリズム (Nigel C. McGinty and Rodney A. Kennedy, Reduced-state sequence estimator with reverse-time structure, IEEE Trans. Commun. vol. 45 no. 3 (1997) pp. 265-268(非特許文献10))
DDFSEアルゴリズム (Alexanra Duel-Hallen and Chris Heegard, Delayed decision-feedback sequence estimation, IEEE Trans. Commun. vol. 37 no. 5 (1989) pp. 428-436 (非特許文献11))
DFEアルゴリズム (Mikael Sternad et al., Robust decision feedback equalizers, IEEE Int. Conf. Acoustics, Speech and Signal Processing (April 27-30, 1993) vol. 3 pp. 555-558(非特許文献12))
なお、これらのMLアルゴリズムは非線形アルゴリズムである。
フラッシュメモリデバイスの次のライフサイクル段階のうちのいずれか1つにおいて、前述した方法をクロスカップリング推定に適用し得る時期は、クロスカップリング係数がデバイスにより、時間により、取り扱いにより変化するか否かに応じて、あるいはどれくらい早く変化するかに応じて異なる。
1.設計
2.製造
3.バックグラウンド
4.オンザフライ
共通設計の全デバイスでクロスカップリング係数(より一般的には非線形クロスカップリングモデルのパラメータ)が同じなら、実験用のデバイスにランダムなデータをプログラムし、前述した方法のいずれか1つを用いて実験用デバイスのクロスカップリング係数を算出する。さらに算出したクロスカップリング係数を全生産デバイスに蓄積し、使用する。
共通設計の全デバイスでクロスカップリング係数が同じではないが、各デバイスの寿命にわたってごく僅かしか変化しない場合は、製造時に各デバイスにランダムなデータをプログラムし、前述した方法のいずれか1つを用いてデバイスのクロスカップリング係数を算出する。さらに算出したクロスカップリング係数をデバイスに蓄積し、デバイスの寿命全体にわたって使用する。
デバイス寿命(製造時に算出)とデバイス機種(設計時に算出)に対するクロスカップリング係数算出では、セルに蓄積されるデータについて仮説を立てないことに留意するべきである。例えば、しきい値電圧x0 を持つセルが対応するしきい値電圧範囲のデータを蓄積するようにプログラムされたとは仮定しない。寿命算出に用いるランダムデータは事前に分かっている。
クロスカップリング係数がデバイスの寿命にわたってゆっくりと変化し、かつデバイスのプログラム−消去サイクル数に対してゆっくりと変化する場合、前述した方法のいずれか1つをバッチモードで使用し、デバイスのブロックごとにクロスカップリング係数をバックグラウンドで算出する。
クロスカップリング係数がかなり速やかに変化するためにバックグラウンドクロスカップリング推定では頼りにならない場合は、ワード線が読み出されるときに等化とともにクロスカップリング推定を行う。目標ワード線が読み出されるときには、近傍セルを含む全てのワード線(通常はもう1つのワード線のみ)も読み出されなければならないことに留意するべきである。
図2Aは先行技術によるフラッシュメモリデバイスであると同時に、ハードウェアで等化を行う本発明のフラッシュメモリデバイスでもある。クロスカップリング推定のタイミングに関する最初の3つの選択肢(設計、製造、バックグラウンド)の場合は、コントローラ20にクロスカップリング係数の表がある。データ入出力回路6は、列制御回路2によって読み出されるしきい値電圧にクロスカップリング係数を適用する。クロスカップリング推定のタイミングに関する4番目の選択肢(オンザフライ)の場合、データ入出力回路6は、読み出された選択されたしきい値電圧をコントローラ20へ送信するように構成される。コントローラ20は前述した方法のいずれか1つを用いてクロスカップリング係数を計算する。計算したクロスカップリング係数はデータ入出力回路6へ送り返され、読み出されるしきい値電圧に適用される。クロスカップリング係数の表をよりコンパクトにするため、1ワード線の全目標セルに、あるいは1ブロックの全目標セルに、あるいは1ブロックの全偶数ワード線の全目標セルか1ブロックの全奇数ワード線の全目標セルに(偶数ワード線の係数は奇数ワード線の係数と異なることがある)、あるいは1ブロックの全偶数ビット線の全目標セルか1ブロックの全奇数ビット線の全目標セルに(偶数ビット線の係数は奇数ビット線の係数と異なることがある)、あるいはこれらの目標セルの各近傍セルに対して数個のワード線または数個のブロック内の該当する位置にある全目標セルに、同じクロスカップリング係数を使用することができる。
図2Bは先行技術によるフラッシュメモリデバイスであると同時に、コントローラ27のファームウェアかソフトウェアで等化が行われる本発明のフラッシュメモリデバイスでもある。コントローラ27にはクロスカップリング係数の表がある。コントローラ27は、ビット線ユニット13から受信するしきい値電圧の測定値にクロスカップリング係数を適用する。クロスカップリング推定のタイミングに関する最初の2つの選択肢(設計、製造)の場合、この表はデバイスの寿命にわたって固定される。クロスカップリング推定のタイミングに関する残りの2つの選択肢(バックグラウンド、オンザフライ)の場合、コントローラ27は前述した方法のいずれか1つを使用し、ビット線ユニット13から受信するしきい値電圧の測定値からクロスカップリング係数を計算する。図2Aのデバイスの場合のように、クロスカップリング係数の表をよりコンパクトにするため、1ワード線の全目標セルに、あるいは1ブロックの全目標セルに、あるいは1ブロックの全偶数ワード線の全目標セルか1ブロックの全奇数ワード線の全目標セルに(偶数ワード線の係数は奇数ワード線の係数と異なることがある)、あるいは1ブロックの全偶数ビット線の全目標セルか1ブロックの全奇数ビット線の全目標セルに(偶数ビット線の係数は奇数ビット線の係数と異なることがある)、あるいはこれらの目標セルの各近傍セルに対して数個のワード線または数個のブロック内の該当する位置にある全目標セルに、同じクロスカップリング係数を使用することができる。
図5は、本発明のシステム50の高水準ブロック図である。システム50は、プロセッサ52と、4つのメモリデバイス、すなわちRAM54、ブートROM56、マスストレージデバイス(ハードディスク)58、およびフラッシュメモリデバイス62としての図2Bのフラッシュメモリデバイスを含み、これらはいずれも共通のバス64を介して通信する。フラッシュメモリデバイス62のコントローラ27は、システム50ではバス64に至るインターフェイスとして機能するに過ぎない。前述した図2Bのフラッシュコントローラ27の残りの機能は、マスストレージデバイス58に蓄積されプロセッサ52によって実行されるフラッシュメモリドライバコード60によってエミュレートされる。このドライバコードは、プロセッサ52によって実行されるユーザアプリケーションとフラッシュメモリデバイス62とを連係させ、フラッシュメモリデバイス62のフラッシュメモリを管理する。ドライバコード60は従来のフラッシュ管理ドライバコードの機能のほかに、本発明の方法の実施にあたって図2Bのコントローラ27の機能をエミュレートする。具体的に、クロスカップリング推定のタイミングに関する最初の3つの選択肢(設計、製造、バックグラウンド)の場合は、フラッシュメモリデバイス62のためのクロスカップリング係数表66がマスストレージデバイス58に蓄積される。クロスカップリング推定のタイミングに関する最初の2つの選択肢(設計、製造)の場合は、フラッシュメモリデバイス62とともにこの表が提供され、ドライバコード60の実行時にプロセッサ52によって使用され、セル間クロスカップリングのためにフラッシュメモリデバイス62から受信するしきい値電圧測定値を補正する。クロスカップリング推定のタイミングに関する3番目の選択肢の場合は、プロセッサ52がしかるべきドライバコード60を実行し、フラッシュメモリデバイス62から受信するしきい値電圧の測定値に基づきクロスカップリング係数をバックグラウンドで計算し、計算したクロスカップリング係数を表66に蓄積し、セル間クロスカップリングのためにフラッシュメモリデバイス62から読み出されるしきい値電圧測定値の補正に使用する。クロスカップリング推定のタイミングに関する4番目の選択肢の場合、プロセッサ52がフラッシュメモリ62からしきい値電圧測定値を受信し、しかるべきドライバコード60を実行し、クロスカップリング係数を計算し、計算したクロスカップリング係数をRAM54の表68に蓄積し、セル間クロスカップリングのためにしきい値電圧測定値の補正に使用する。ドライバコード60は、典型的にはシステム50のオペレーティングシステムコードに含まれるが、単独のコードでもよい。
フラッシュメモリデバイス62を除くシステム50のコンポーネントはフラッシュメモリデバイス62のホスト70に相当する。マスストレージデバイス58は、本発明を実現するコンピュータ可読ドライバコードを保持するコンピュータ可読蓄積媒体の一例である。このようなコードを保持するCD等、読み出し専用メモリもこのようなコンピュータ可読蓄積媒体である。
これまで限られた数の実施形態に関して本発明を説明してきたが、本発明の変形、修正、および応用が数多く可能であることは理解されよう。

Claims (12)

  1. データを蓄積しかつ読み出す方法であって、
    (a)複数のセル(151〜159)を含むメモリ(1;11;62)を提供するステップであって、データを表すセル(151〜159)の物理的特性の各値を設定することにより前記セル(151〜159)にデータを蓄積し、その後、各値の測定値を得るために各値を測定することにより前記セル(151〜159)を読み出すステップと、
    (b)前記セルのいずれか1セル(151)と、前記1セル(151)の少なくとも1つの近傍セル(152〜159)とを読み出し、これにより前記1セル(151)と前記近傍セル(152〜159)の各測定値を得るステップと、
    (c)各近傍セル(152〜159)が前記1セル(151)の読み出しを妨害するそれぞれの程度を算出するステップであって、前記算出するステップは前記妨害の線形または非線形モデルに基づくステップと、
    (d)各測定値と、各近傍セル(152〜159)が前記1セル(151)の読み出しを妨害する前記算出されたそれぞれの程度とに基づき、データが前記1セル(151)に蓄積された時に設定された前記データの物理的特性の各値を推定するステップであって、前記推定するステップは各測定値の再設定を含まない計算であるステップと、
    を含む方法。
  2. 請求項1記載の方法において、
    前記セル(151〜159)は、フラッシュセル(151〜159)であり、
    前記物理的特性は、前記フラッシュセル(151〜159)のしきい値電圧である方法。
  3. 請求項1記載の方法において、
    前記算出するステップは、
    前記推定するステップとは別に遂行されるか、あるいは
    前記推定するステップとともに繰り返し遂行される方法。
  4. 請求項1記載の方法において、
    (e)前記1セルと少なくとも1つの近傍セルとは別の少なくとも1つのさらなるセル(152〜159)を読み出し、これにより少なくとも1つのさらなる測定値を得るステップをさらに含み、
    前記算出するステップは、前記少なくとも1つのさらなる測定値にも基づく方法。
  5. 請求項4記載の方法において、
    前記メモリ(1;11;62)は、フラッシュメモリであり、
    前記1セル(151)と少なくとも1つのさらなるセル(152〜159)は、前記メモリ(1;11;62)の同じ消去ブロックにある方法。
  6. 請求項5記載の方法において、
    前記1セル(151)と少なくとも1つのさらなるセル(152〜159)は、前記メモリ(1;11;62)の同じワード線にある方法。
  7. 請求項1記載の方法において、
    (e)前記1セル(151)と少なくとも1つの各近傍セル(152〜159)とにデータを蓄積するステップをさらに含む方法。
  8. 請求項7記載の方法において、
    前記算出するステップは、
    前記蓄積するステップの前に遂行されるか、
    前記蓄積するステップの後に遂行されるか、あるいは
    前記1セル(151)が読み出されるたびに遂行される方法。
  9. 請求項1記載の方法において、
    前記推定するステップは、
    少なくとも1つの近傍セル(152〜159)による妨害のために前記1セル(151)の各測定値を補正することと、
    前記1セル(151)の各値の分布のパラメータの少なくとも1つの期待値を推定することと、
    を含む方法。
  10. メモリデバイスであって、
    (a)複数のセル(151〜159)を含むメモリ(1;11;62)と、
    (b)回路(2〜8,20〜22;13,15,17,19,23,25,26a〜26c,27,29,31,33,35,41,43,44)であって、
    (i)データを表すセル(151〜159)の物理的特性の各値を設定することにより前記セル(151〜159)にデータを蓄積し、かつ
    (ii)その後、各値の測定値を得るために各値を測定することにより前記セル(151〜159)を読み出す回路と、
    (c)前記セルのいずれか1セル(151)の各測定値と、前記1セル(151)の少なくとも1つの近傍セル(152〜159)の各測定値とに基づき、かつ各近傍セル(152〜159)が前記1セル(151)の読み出しを妨害するそれぞれの程度に基づき、データが前記1セル(151)に蓄積された時に設定された前記データの物理的特性の各値を、各測定値を再設定することなく、推定する機構であって、各近傍セル(152〜159)が前記1セル(151)の読み出しを妨害するそれぞれの程度を、前記妨害の線形または非線形モデルに基づき算出するように構成される機構と、
    を備えるメモリデバイス。
  11. 請求項10記載のメモリデバイスにおいて、
    前記推定する機構は、
    前記セルのいずれか1セル(151)の各測定値と、前記1セルの少なくとも1つの近傍セル(152〜159)の各測定値とに基づき、かつ各近傍セル(152〜159)が前記1セル(151)の読み出しを妨害するそれぞれの程度に基づき、前記1セル(151)に蓄積されたデータを推定するコードを含む、前記メモリデバイスのためのドライバコードを蓄積する不揮発性メモリと、
    前記コードを実行するプロセッサと、
    を備えるメモリデバイス。
  12. 請求項1〜9のいずれか記載の方法によって規定されたプログラム命令を組み入れたコンピュータ可読蓄積媒体。
JP2010526419A 2007-09-25 2008-06-23 フラッシュメモリのクロスカップリング事後補正 Active JP5475665B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/860,553 US7751237B2 (en) 2007-09-25 2007-09-25 Post-facto correction for cross coupling in a flash memory
US11/860,553 2007-09-25
PCT/IL2008/000855 WO2009040784A1 (en) 2007-09-25 2008-06-23 Post-facto correction for cross coupling in a flash memory

Publications (3)

Publication Number Publication Date
JP2010541119A JP2010541119A (ja) 2010-12-24
JP2010541119A5 JP2010541119A5 (ja) 2011-08-11
JP5475665B2 true JP5475665B2 (ja) 2014-04-16

Family

ID=39828999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010526419A Active JP5475665B2 (ja) 2007-09-25 2008-06-23 フラッシュメモリのクロスカップリング事後補正

Country Status (6)

Country Link
US (3) US7751237B2 (ja)
EP (1) EP2201572B1 (ja)
JP (1) JP5475665B2 (ja)
KR (1) KR101426063B1 (ja)
TW (1) TWI463499B (ja)
WO (1) WO2009040784A1 (ja)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090097673A (ko) * 2008-03-12 2009-09-16 삼성전자주식회사 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치
US8185787B1 (en) * 2008-04-09 2012-05-22 Link—A—Media Devices Corporation Blind and decision directed multi-level channel estimation
US8458563B2 (en) * 2008-06-23 2013-06-04 Ramot At Tel Aviv University Ltd. Reading a flash memory by joint decoding and cell voltage distribution tracking
US8464131B2 (en) * 2008-06-23 2013-06-11 Ramot At Tel Aviv University Ltd. Reading a flash memory by constrained decoding
US8406048B2 (en) 2008-08-08 2013-03-26 Marvell World Trade Ltd. Accessing memory using fractional reference voltages
TW201019327A (en) * 2008-09-30 2010-05-16 Lsi Corp Methods and apparatus for soft data generation for memory devices using reference cells
KR101484556B1 (ko) * 2008-10-28 2015-01-20 삼성전자주식회사 독출 보상 회로
US7995387B2 (en) * 2009-01-30 2011-08-09 Sandisk Il Ltd. System and method to read data subject to a disturb condition
US8374026B2 (en) * 2009-01-30 2013-02-12 Sandisk Il Ltd. System and method of reading data using a reliability measure
TWI412036B (zh) * 2009-07-22 2013-10-11 Silicon Motion Inc 資料讀取的方法及資料儲存裝置
KR101678909B1 (ko) * 2009-09-17 2016-11-23 삼성전자주식회사 플래시 메모리 시스템 및 그것의 소거 리프레쉬 방법
US7990767B2 (en) * 2009-12-30 2011-08-02 Sandisk Il Ltd. Flash memory system having cross-coupling compensation during read operation
US8213255B2 (en) 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
KR101658619B1 (ko) * 2010-04-27 2016-09-23 에스케이하이닉스 주식회사 반도체 메모리 장치의 소거 방법
TWI455132B (zh) * 2010-06-23 2014-10-01 Phison Electronics Corp 資料讀取方法、控制電路與記憶體控制器
US8531888B2 (en) 2010-07-07 2013-09-10 Marvell World Trade Ltd. Determining optimal reference voltages for progressive reads in flash memory systems
US8627175B2 (en) 2010-09-27 2014-01-07 Seagate Technology Llc Opportunistic decoding in memory systems
US8243511B2 (en) 2010-09-27 2012-08-14 Seagate Technology Llc Reuse of information from memory read operations
US8879317B2 (en) 2011-03-01 2014-11-04 Sandisk Technologies Inc. System and method of decoding data from memory based on sensing information and decoded data of neighboring storage elements
US9076547B2 (en) 2012-04-05 2015-07-07 Micron Technology, Inc. Level compensation in multilevel memory
US9030870B2 (en) 2011-08-26 2015-05-12 Micron Technology, Inc. Threshold voltage compensation in a multilevel memory
KR101919902B1 (ko) 2011-10-18 2018-11-20 삼성전자 주식회사 메모리 장치의 데이터 독출 방법
US8760932B2 (en) 2011-10-18 2014-06-24 Seagate Technology Llc Determination of memory read reference and programming voltages
US8711619B2 (en) 2011-10-18 2014-04-29 Seagate Technology Llc Categorizing bit errors of solid-state, non-volatile memory
US8737133B2 (en) 2011-10-18 2014-05-27 Seagate Technology Llc Shifting cell voltage based on grouping of solid-state, non-volatile memory cells
US8693257B2 (en) 2011-10-18 2014-04-08 Seagate Technology Llc Determining optimal read reference and programming voltages for non-volatile memory using mutual information
US8913437B2 (en) * 2011-12-15 2014-12-16 Marvell World Trade Ltd. Inter-cell interference cancellation
US8811076B2 (en) 2012-07-30 2014-08-19 Sandisk Technologies Inc. Systems and methods of updating read voltages
US8874992B2 (en) * 2012-08-31 2014-10-28 Sandisk Technologies Inc. Systems and methods to initiate updating of reference voltages
WO2014113726A1 (en) * 2013-01-17 2014-07-24 University Of Hawaii Estimation of memory data
KR102089532B1 (ko) 2013-02-06 2020-03-16 삼성전자주식회사 메모리 컨트롤러, 메모리 시스템 및 메모리 시스템의 동작 방법
US9129711B2 (en) 2013-02-28 2015-09-08 Kabushiki Kaisha Toshiba Semiconductor memory device
US9135109B2 (en) 2013-03-11 2015-09-15 Seagate Technology Llc Determination of optimum threshold voltage to read data values in memory cells
US9147490B2 (en) 2013-03-15 2015-09-29 Sandisk Technologies Inc. System and method of determining reading voltages of a data storage device
KR102114230B1 (ko) * 2013-10-07 2020-05-25 에스케이하이닉스 주식회사 메모리 시스템 및 이의 동작 방법
US9859925B2 (en) 2013-12-13 2018-01-02 Empire Technology Development Llc Low-complexity flash memory data-encoding techniques using simplified belief propagation
US9934867B2 (en) 2014-01-06 2018-04-03 Seagate Technology Llc Capacitance coupling parameter estimation in flash memories
KR102190241B1 (ko) 2014-07-31 2020-12-14 삼성전자주식회사 메모리 컨트롤러의 동작 방법 및 불휘발성 메모리 시스템
KR102318561B1 (ko) 2014-08-19 2021-11-01 삼성전자주식회사 스토리지 장치, 스토리지 장치의 동작 방법
US9406377B2 (en) 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US10204043B2 (en) 2016-03-08 2019-02-12 Toshiba Memory Corporation Memory controller, method of controlling nonvolatile memory and memory system
US9761308B1 (en) 2016-03-11 2017-09-12 Western Digital Technologies, Inc. Systems and methods for adaptive read level adjustment
WO2020170041A1 (en) * 2019-02-20 2020-08-27 Marvell Asia Pte, Ltd. Decoding of high-density memory cells in a solid-state drive
US11557350B2 (en) * 2020-10-16 2023-01-17 Western Digital Technologies, Inc. Dynamic read threshold calibration
US11393540B2 (en) 2020-10-26 2022-07-19 Western Digital Technologies, Inc. Adjacent memory cell interference mitigation
US11342033B1 (en) 2020-12-28 2022-05-24 Sandisk Technologies Llc Look neighbor ahead for data recovery
US11854631B2 (en) 2021-08-19 2023-12-26 Kioxia Corporation System and method for dynamic compensation for multiple interference sources in non-volatile memory storage devices
US11513887B1 (en) 2021-08-23 2022-11-29 Apple Inc. Cancelation of cross-coupling interference among memory cells

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5268870A (en) 1988-06-08 1993-12-07 Eliyahou Harari Flash EEPROM system and intelligent programming and erasing methods therefor
US5867429A (en) * 1997-11-19 1999-02-02 Sandisk Corporation High density non-volatile flash memory without adverse effects of electric field coupling between adjacent floating gates
US6295326B1 (en) 1999-03-08 2001-09-25 Bandspeed, Inc. Kalman filter based equalization for digital multicarrier communications systems
US6522580B2 (en) 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6751766B2 (en) 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
US6781877B2 (en) 2002-09-06 2004-08-24 Sandisk Corporation Techniques for reducing effects of coupling between storage elements of adjacent rows of memory cells
US6829167B2 (en) 2002-12-12 2004-12-07 Sandisk Corporation Error recovery for nonvolatile memory
US7372731B2 (en) 2003-06-17 2008-05-13 Sandisk Il Ltd. Flash memories with adaptive reference voltages
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
US7221008B2 (en) 2003-10-06 2007-05-22 Sandisk Corporation Bitline direction shielding to avoid cross coupling between adjacent cells for NAND flash memory
US7817469B2 (en) * 2004-07-26 2010-10-19 Sandisk Il Ltd. Drift compensation in a flash memory
US7348618B2 (en) 2005-03-30 2008-03-25 Intel Corporation Flash memory cell having reduced floating gate to floating gate coupling
US7196946B2 (en) 2005-04-05 2007-03-27 Sandisk Corporation Compensating for coupling in non-volatile storage
US7954037B2 (en) 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US7349258B2 (en) * 2005-12-06 2008-03-25 Sandisk Corporation Reducing read disturb for non-volatile storage
US7262994B2 (en) * 2005-12-06 2007-08-28 Sandisk Corporation System for reducing read disturb for non-volatile storage
CN103258572B (zh) 2006-05-12 2016-12-07 苹果公司 存储设备中的失真估计和消除
WO2008026203A2 (en) 2006-08-27 2008-03-06 Anobit Technologies Estimation of non-linear distortion in memory devices
US7423912B2 (en) * 2006-09-19 2008-09-09 Atmel Corporation SONOS memory array with improved read disturb characteristic
ITRM20070273A1 (it) * 2007-05-16 2008-11-17 Micron Technology Inc Lettura di celle di memoria non volatile a livello mutiplo.
KR100877103B1 (ko) * 2007-06-01 2009-01-07 주식회사 하이닉스반도체 리드 디스터브가 억제되도록 하는 플래시 메모리소자의리드 방법
US8374026B2 (en) * 2009-01-30 2013-02-12 Sandisk Il Ltd. System and method of reading data using a reliability measure
US8213255B2 (en) * 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information

Also Published As

Publication number Publication date
WO2009040784A1 (en) 2009-04-02
TWI463499B (zh) 2014-12-01
US8508989B2 (en) 2013-08-13
KR101426063B1 (ko) 2014-08-01
US20090080259A1 (en) 2009-03-26
US7990764B2 (en) 2011-08-02
EP2201572B1 (en) 2017-01-25
EP2201572A1 (en) 2010-06-30
US20100135074A1 (en) 2010-06-03
JP2010541119A (ja) 2010-12-24
KR20100075958A (ko) 2010-07-05
TW200921684A (en) 2009-05-16
US20110305080A1 (en) 2011-12-15
US7751237B2 (en) 2010-07-06

Similar Documents

Publication Publication Date Title
JP5475665B2 (ja) フラッシュメモリのクロスカップリング事後補正
US9377962B2 (en) Determining bias information for offsetting operating variations in memory cells
JP5443612B2 (ja) エラーを管理するための書き込み後読み出しおよび適応再書き込みを伴う不揮発性メモリおよび方法
US9047955B2 (en) Adjusting operating parameters for memory cells based on wordline address and cycle information
KR101961975B1 (ko) 비휘발성 저장소자에 대한 온 칩 다이내믹 판독
US9318223B2 (en) Programming nonvolatile memory based on statistical analysis of charge level distributions of memory cells
US7821839B2 (en) Gain control for read operations in flash memory
US8547740B2 (en) Adaptive estimation of memory cell read thresholds
KR101058568B1 (ko) 메모리 셀에 대한 적응적 판독 및 기입 시스템과 방법
KR20090101160A (ko) 플래시 메모리로부터 판독된 하드 비트 및 소프트 비트의 소프트 디코딩
KR20100021999A (ko) 플래시 메모리의 적응형 동적 판독
KR20110061648A (ko) 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템
TW201203273A (en) Non-volatile storage with temperature compensation based on neighbor state information
US8385116B2 (en) Nonvolatile semiconductor storage device, controller and threshold adjustment method
KR20140096796A (ko) 멀티레벨 불휘발성 메모리 장치 및 프로그램 방법
Wang et al. Histogram-based flash channel estimation
US8605501B2 (en) System and method for determining data dependent noise calculation for a flash channel
Papandreou et al. Enhancing the reliability of MLC NAND flash memory systems by read channel optimization
KR101437103B1 (ko) 메모리 장치 및 메모리 데이터 읽기 방법
KR20110082016A (ko) 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110623

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20110623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130122

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130419

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130426

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130517

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130524

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130620

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130627

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130722

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140206

R150 Certificate of patent or registration of utility model

Ref document number: 5475665

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250