特許第5710474号(P5710474)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ エルエスアイ コーポレーションの特許一覧

特許5710474フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置
<>
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000014
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000015
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000016
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000017
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000018
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000019
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000020
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000021
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000022
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000023
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000024
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000025
  • 特許5710474-フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置 図000026
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】5710474
(24)【登録日】2015年3月13日
(45)【発行日】2015年4月30日
(54)【発明の名称】フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置
(51)【国際特許分類】
   G11C 16/02 20060101AFI20150409BHJP
   G11C 16/04 20060101ALI20150409BHJP
【FI】
   G11C17/00 613
   G11C17/00 611F
   G11C17/00 622E
   G11C17/00 641
【請求項の数】9
【全頁数】26
(21)【出願番号】特願2011-516835(P2011-516835)
(86)(22)【出願日】2009年6月30日
(65)【公表番号】特表2011-527071(P2011-527071A)
(43)【公表日】2011年10月20日
(86)【国際出願番号】US2009049326
(87)【国際公開番号】WO2010002941
(87)【国際公開日】20100107
【審査請求日】2012年6月28日
(31)【優先権主張番号】61/135,732
(32)【優先日】2008年7月22日
(33)【優先権主張国】US
(31)【優先権主張番号】61/133,921
(32)【優先日】2008年7月7日
(33)【優先権主張国】US
(31)【優先権主張番号】61/134,688
(32)【優先日】2008年7月10日
(33)【優先権主張国】US
(31)【優先権主張番号】61/133,675
(32)【優先日】2008年7月1日
(33)【優先権主張国】US
(31)【優先権主張番号】61/194,751
(32)【優先日】2008年9月30日
(33)【優先権主張国】US
(73)【特許権者】
【識別番号】508243639
【氏名又は名称】エルエスアイ コーポレーション
(74)【代理人】
【識別番号】100087642
【弁理士】
【氏名又は名称】古谷 聡
(74)【代理人】
【識別番号】100082946
【弁理士】
【氏名又は名称】大西 昭広
(74)【代理人】
【識別番号】100121061
【弁理士】
【氏名又は名称】西山 清春
(74)【代理人】
【識別番号】100094112
【弁理士】
【氏名又は名称】岡部 讓
(72)【発明者】
【氏名】ハラッシュ,エリック,エフ.
(72)【発明者】
【氏名】イヴコヴィック,ミロス
(72)【発明者】
【氏名】クラチコヴスキー,ヴィクター
(72)【発明者】
【氏名】ミラディノヴィック,ネナド
(72)【発明者】
【氏名】ヴィトヤエーヴ,アンドレイ
(72)【発明者】
【氏名】イエン,ジョンソン
【審査官】 堀田 和義
(56)【参考文献】
【文献】 特開2007−323731(JP,A)
【文献】 特開2009−64440(JP,A)
【文献】 国際公開第2008/011439(WO,A1)
【文献】 国際公開第2008/011440(WO,A1)
【文献】 特表2011−527072(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G11C 16/02
(57)【特許請求の範囲】
【請求項1】
フラッシュ・メモリ・デバイスを読み取るための方法であって、
少なくとも1つのターゲット・セルに関する読み取り値を獲得すること、
前記ターゲット・セルより後にプログラミングされた少なくとも1つのアグレッサ・セルの中に格納されたデータに対応する電圧を表す値を獲得すること、
前記少なくとも1つのアグレッサ・セルからの前記ターゲット・セルに関するセル間干渉を算出すること
前記読み取り値から前記算出されたセル間干渉を除去することによって、前記セル間干渉を補償する新たな読み取り値を計算すること、及び、
復号誤りが生じた場合、1つまたは複数のセル間干渉軽減パラメータの数を増やすこと
備える、方法。
【請求項2】
少なくとも1つのアグレッサ・セルの中に格納されたデータに対応する電圧を表す前記値は、測定された値、予期される値、推定される値、平均値、量子化された値、および検出された値の1つまたは複数を備える請求項1に記載の方法。
【請求項3】
前記セル間干渉軽減パラメータは、考慮されるアグレッサ・セルを含む、請求項に記載の方法。
【請求項4】
前記セル間干渉軽減パラメータは、ハード電圧値に加えてソフト電圧値を使用することを備える請求項に記載の方法。
【請求項5】
前記少なくとも1つのアグレッサ・セルは、前記ターゲット・セルに隣接する1つまたは複数のセルを備える請求項1に記載の方法。
【請求項6】
前記算出するステップは、少なくとも1つのアグレッサ・セルの中に格納されたデータに対応する電圧を表す前記値に基づいて、セル間干渉を計算する請求項1に記載の方法。
【請求項7】
前記少なくとも1つのアグレッサ・セルの内の第1アグレッサ・セルの中に格納されたデータに対応する電圧を表す前記値は、前記第1アグレッサ・セルが前記ターゲット・セルと同一のページまたは同一のワード線にある場合、測定された値を備え、さらに該少なくとも1つのアグレッサ・セルの内の第2アグレッサ・セルの中に格納されたデータに対応する電圧を表す前記値は、前記第2アグレッサ・セルが前記ターゲット・セルと異なるページまたは異なるワード線にある場合、予期される値を備える請求項1に記載の方法。
【請求項8】
マルチステップ・ページ・プログラミング・シーケンスの1つまたは複数のステップに適用される請求項1に記載の方法。
【請求項9】
フラッシュ・メモリ・デバイスを読み取るためのシステムであって、
メモリと、
前記メモリに結合され、
少なくとも1つのターゲット・セルに関する読み取り値を獲得し、
前記ターゲット・セルより後にプログラミングされた少なくとも1つのアグレッサ・セルの中に格納されたデータに対応する電圧を表す値を獲得し、
前記少なくとも1つのアグレッサ・セルからの前記ターゲット・セルに関するセル間干渉を算出し
前記読み取り値から前記算出されたセル間干渉を除去することによって、前記セル間干渉を補償する新たな読み取り値を計算し、さらに、
復号誤りが生じた場合、1つまたは複数のセル間干渉軽減パラメータの数を増やすように動作する少なくとも1つのプロセッサと、を備えるシステム。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、参照によりそれぞれ本明細書に組み込まれている、2008年7月1日に出願した米国仮特許出願第61/133,675号、2008年7月3日に出願した米国仮特許出願第61/133,921号、2008年7月10日に出願した米国仮特許出願第61/134,688号、2008年7月22日に出願した米国仮特許出願第61/135,732号、および2008年9月30日に出願した米国仮特許出願第61/194,751号の優先権を主張する。
【0002】
本出願は、2009年3月11日に出願した、「Methods and Apparatus for Storing Data in a Multi−Level Cell Flash Memory Device with Cross−Page Sectors,Multi−Page Coding and Per−Page Coding」という名称の国際特許出願第PCT/US09/36810号、ならびに本出願とそれぞれ同時に出願し、参照により本明細書に組み込まれている「Methods and Apparatus for Write−Side Intercell Interference Mitigation in Flash Memories」という名称の国際特許出願、「Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array」という名称の国際特許出願、「Methods and Apparatus for Intercell Interference Mitigation Using Modulation Coding」という名称の国際特許出願、および「Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories」という名称の国際特許出願と関連する。
【0003】
本発明は、一般に、フラッシュ・メモリ・デバイスに関し、より詳細には、そのようなフラッシュ・メモリ・デバイスにおけるセル間干渉の影響を軽減するための改良された技術に関する。
【背景技術】
【0004】
フラッシュ・メモリ・デバイスなどのいくつかのメモリ・デバイスは、データを格納するのにアナログ・メモリ・セルを使用する。各メモリ・セルは、電荷または電圧などの、格納値とも呼ばれるアナログ値を格納する。格納値は、セルの中に格納された情報を表す。例えば、フラッシュ・メモリ・デバイスにおいて、各アナログ・メモリ・セルは、通常、或る電圧を格納する。各セルに関する可能なアナログ値の範囲は、通常、複数のしきい値領域に分割され、各領域は、1つまたは複数のデータ・ビット値に対応する。データは、所望される1つまたは複数のビットに対応する公称アナログ値を書き込むことによって、アナログ・メモリ・セルに書き込まれる。
【0005】
例えば、SLC(シングルレベル・セル)フラッシュ・メモリ・デバイスは、1メモリ・セル当り1ビット(または可能な2つのメモリ状態)を格納する。他方、MLC(マルチレベル・セル)フラッシュ・メモリ・デバイスは、1メモリ・セル当り2ビット以上を格納する(すなわち、各セルは、4つ以上のプログラミング可能な状態を有する)。MLCフラッシュ・メモリ・デバイスのより詳細な説明に関しては、例えば、参照により本明細書に組み込まれている、2009年3月11に出願した、「Methods and Apparatus for Storing Data in a Multi−Level Cell Flash Memory Device with Cross−Page Sectors,Multi−Page Coding and Per−Page Coding」という名称の国際特許出願PCT/US09/36810号を参照されたい。
【0006】
例えば、マルチレベルNANDフラッシュ・メモリ・デバイスにおいて、浮動ゲート・デバイスが、異なるマルチビット値にそれぞれが対応する複数の間隔に分割される或る範囲内のプログラマブルしきい値電圧で使用される。所与のマルチビット値をメモリ・セルに入れるようにプログラミングするのに、メモリ・セルにおける浮動ゲート・デバイスのしきい値電圧が、その値に対応するしきい値電圧間隔に入るようにプログラミングされる。
【0007】
メモリ・セルの中に格納されたアナログ値は、しばしば、歪んでいる。これらの歪みは、通常、例えば、BPD(バック・パターン依存)、雑音、およびICI(セル間干渉)に起因する。フラッシュ・メモリ・デバイスにおける歪みのより詳細な説明に関しては、例えば、参照によりそれぞれ本明細書に組み込まれている、J.D.Lee他、「Effects of Floating−Gate Interference on NAND Flash Memory Cell Operation」、IEEE Electron Device Letters、264〜266頁、(2002年5月)、またはKi−Tae Park他、「A Zeroing Cell−to−Cell Interference Page Architecture With Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories」、IEEE J.of Solid State Circuits、Vol.43、No.4、919〜928頁、(2008年4月)を参照されたい。
【0008】
ICIは、セル間の寄生静電容量の結果であり、一般に、歪みの最も顕著な原因であると考えられる。Id.例えば、ICIは、技術スケーリングとともに増大することが知られており、トランジスタ・サイズがより小さくなるにつれ、しきい値電圧分布の歪みの大きな原因となる。このため、ICIが、MLCメモリの中に確実に格納され得る電圧レベルの数を制限するので、ICIは、信頼できるMLCメモリのために特に関心対象とされる。
【0009】
セル間の静電容量結合を小さくすることによってICIの影響を軽減するためのいくつかの技術が、提案または示唆されている。例えば、Ki−Tae Park他は、ICIを軽減する偶/奇プログラミング、ボトムアップ・プログラミング、および多段プログラミングなどの既存のプログラミング技術を説明する。これらの既存の方法は、ICIの影響を低減することに役立ってきたが、トランジスタ・サイズが小さくされるにつれ、例えば、フラッシュ・セルが非常に近接しているために寄生静電容量がはるかに大きい65ナノメートル技術より小さくなると、それほど効果的でなくなる。したがって、ICIの影響を軽減するための改良された信号処理および符号化の技術の必要性が存在する。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】米国仮特許出願第61/133,675号
【特許文献2】米国仮特許出願第61/133,921号
【特許文献3】米国仮特許出願第61/134,688号
【特許文献4】米国仮特許出願第61/135,732号
【特許文献5】米国仮特許出願第61/194,751号
【特許文献6】国際特許出願第PCT/US09/36810号
【特許文献7】国際特許出願「Methods and Apparatus for Write‐Side Intercell Interference Mitigation in Flash Memories」
【特許文献8】国際特許出願「Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array」(整理番号08−0769)
【特許文献9】国際特許出願「Methods and Apparatus for Intercell Interference Mitigation Using Modulation Coding」
【特許文献10】国際特許出願「Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories」
【特許文献11】米国特許第6,522,580号
【非特許文献】
【0011】
【非特許文献1】J.D.Lee他、「Effects of Floating−Gate Interference on NAND Flash Memory Cell Operation」、IEEE Electron Device Letters、264〜266頁、(2002年5月)
【非特許文献2】Ki−Tae Park他、「A Zeroing Cell−to−Cell Interference Page Architecture with Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories」、IEEE J.of Solid State Circuits、Vol.43、No.4、919〜928頁、(2008年4月)
【発明の概要】
【課題を解決するための手段】
【0012】
概して、フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置が提供される。本発明の一態様によれば、少なくとも1つのターゲット・セルに関する読み取り値を獲得すること、このターゲット・セルより後にプログラミングされた少なくとも1つのアグレッサ・セルの中に格納された電圧を表す値を獲得すること、少なくとも1つのアグレッサ・セルからのターゲット・セルに関するセル間干渉を算出すること、および算出されたセル間干渉を少なくとも1つのターゲット・セルに関する読み取り値から除去することによってセル間干渉を補償する新たな読み取り値を獲得することによって、フラッシュ・メモリ・デバイスが読み取られる。この新たな読み取り値は、オプションとして、復号器に供給されることが可能である。アグレッサ・セルは、ターゲット・セルと同一のワード線における隣接セル、および/またはターゲット・セルの上位または下位の隣接するワード線におけるセルなどの、ターゲット・セルに隣接する1つまたは複数のセルを備える。
【0013】
本発明の一変種において、少なくとも1つのアグレッサ・セルの中に格納された電圧を表す値は、測定された値、予期される値、推定される値、平均値、量子化された値、および検出された値の1つまたは複数を備える。測定された値は、例えば、ハード電圧値、ソフト電圧値、またはハード電圧値とソフト電圧値の組合せを備えることが可能である。予期される値は、例えば、所与の状態に関連する電圧分布の平均を備えることが可能である。
【0014】
例示的な反復型の実施例において、復号誤りが生じた場合、1つまたは複数のセル間干渉軽減パラメータが調整されることが可能である。例えば、セル間干渉軽減パラメータは、例えば、(i)考慮されるアグレッサ・セルの数、または(ii)ハード電圧値に加えてソフト電圧値を使用することを備えることが可能である。開示される技術は、オプションとして、マルチステップ・ページ・プログラミング・シーケンスの1つまたは複数のステップに適用され得る。
【0015】
本発明のより完全な理解、ならびに本発明のさらなる特徴および利点は、後段の詳細な説明および図面を参照することによって得られる。
【図面の簡単な説明】
【0016】
図1】従来のフラッシュ・メモリ・システムを示す概略ブロック図である。
図2図1の例示的なマルチレベル・セル・フラッシュ・メモリに関する例示的なしきい値電圧分布を示す図である。
図3】MLC(マルチレベル・セル)フラッシュ・メモリ・デバイスにおける例示的なフラッシュ・セル・アレイのアーキテクチャを示す図である。
図4図2の電圧割当てスキームに関する例示的な2段階MLCプログラミング・スキームを示す図である。
図5A】隣接セルに加えられるICIを低減する代替のMLCプログラミング・スキームを示す図である。
図5B】隣接セルに加えられるICIを低減する代替のMLCプログラミング・スキームを示す図である。
図6】MLC(マルチレベル・セル)フラッシュ・メモリ・デバイスにおける例示的なフラッシュ・セル・アレイをさらに詳細に示す図である。
図7】いくつかの例示的なアグレッサ・セルからの寄生静電容量に起因してターゲット・セルに関して存在するICIを示す図である。
図8】本発明によるコントローラ・ベースのICI軽減技術を組み込む例示的なフラッシュ・メモリ・システムを示す概略ブロック図である。
図9】本発明の代替の実施形態によるメモリ・ベースのICI軽減技術を組み込む例示的なフラッシュ・メモリ・システムを示す概略ブロック図である。
図10】本発明の特徴を組み込んだ書き込み側ICI軽減プロセスの例示的な実施例を説明する流れ図である。
図11】本発明の特徴を組み込んだ読み取り側ICI軽減プロセスの例示的な実施例を説明する流れ図である。
図12】本発明の特徴を組み込んだ反復読み取り側ICI軽減プロセスの例示的な実施例を説明する流れ図である。
【発明を実施するための形態】
【0017】
本発明の様々な態様は、シングルレベル・セルNANDフラッシュ・メモリ・デバイスまたはMLC(マルチレベル・セル)NANDフラッシュ・メモリ・デバイスなどのメモリ・デバイスにおいてICIを軽減するための信号処理技術を対象とする。本明細書で使用される、マルチレベル・セル・フラッシュ・メモリは、各メモリ・セルが2ビット以上を格納するメモリを備える。通常、1つのフラッシュ・セルの中に格納された複数のビットは、異なるページに属する。本発明は、アナログ値を電圧として格納するメモリ・セルを使用して本明細書で説明されるが、本発明は、当業者には明白なとおり、格納されたデータを表すのに電圧または電流を使用するなどの、フラッシュ・メモリに関する任意の格納機構と共に使用され得る。
【0018】
図1は、従来のフラッシュ・メモリ・システム100の概略ブロック図である。図1に示されるとおり、例示的なフラッシュ・メモリ・システム100は、フラッシュ制御システム110と、フラッシュ・メモリ・ブロック160とを備える。例示的なフラッシュ制御システム110は、フラッシュ・コントローラ120と、符号器/復号器ブロック140と、1つまたは複数のバッファ145とを備える。代替の実施形態において、符号器/復号器ブロック140およびいくつかのバッファ145は、フラッシュ・コントローラ120内部に実装されてもよい。符号器/復号器ブロック140およびバッファ145は、例えば、よく知られた市販の技術および/または製品を使用して実施されることが可能である。
【0019】
例示的なフラッシュ・メモリ・ブロック160は、よく知られた市販の技術および/または製品を使用して、それぞれ実施されることが可能なメモリ・アレイ170と、1つまたは複数のバッファ180とを備える。メモリ・アレイ170は、NANDフラッシュ・メモリ、PCM(相変化メモリ)、MRAMメモリ、NORフラッシュ・メモリ、または別の不揮発性フラッシュ・メモリなどのシングルレベル・セル・フラッシュ・メモリまたはマルチレベル・セル・フラッシュ・メモリとして実施されることが可能である。本発明は、主に、マルチレベル・セルNANDフラッシュ・メモリのコンテキストにおいて例示されるが、本発明は、当業者には明白なとおり、シングルレベル・セル・フラッシュ・メモリおよびその他の不揮発性メモリにも適用され得る。
【0020】
(マルチレベル・セル・フラッシュ・メモリ)
マルチレベル・セルNANDフラッシュ・メモリにおいて、しきい値検出器が、或る特定のセルに関連する電圧値を、事前定義されたメモリ状態に変換するのに通常、使用される。図2は、参照により本明細書に組み込まれている米国特許第6,522,580号の教示に基づく、図1の例示的なマルチレベル・セル・フラッシュ・メモリ170に関する例示的なしきい値電圧分布を示す。一般に、セルのしきい値電圧は、セルが或る量の電流を伝導するようにセルに印加される必要がある電圧である。しきい値電圧は、セルの中に格納されたデータに関する測度である。
【0021】
図2に示される例示的な実施形態において、各格納要素は、可能な4つのデータ状態を使用して、各メモリ・セルの中に2ビットのデータを格納する。図2は、4つのピーク210〜213を示し、各ピークは、1つの状態に対応する。マルチレベル・セル・フラッシュ・デバイスにおいて、しきい値電圧分布グラフ200の異なるピーク210〜213が、セルの中に2ビットを格納するために使用される。
【0022】
しきい値電圧分布グラフ200のピーク210〜213には、対応する2進値でラベルが付けられる。このため、セルが第1の状態210にある場合、セルは、低い方のビット(最下位ビット、LSBとしても知られる)に関して「1」を表し、高い方のビット(最上位ビット、MSBとしても知られる)に関して「1」を表す。状態210は、一般に、セルの初期の未だにプログラミングされていない状態、または消去された状態である。同様に、セルが第2の状態211にある場合、セルは、低い方のビットに関して「0」を表し、高い方のビットに関して「1」を表す。セルが第3の状態212にある場合、セルは、低い方のビットに関して「0」を表し、高い方のビットに関して「0」を表す。最後に、セルが第4の状態213にある場合、セルは、低い方のビットに関して「1」を表し、高い方のビットに関して「0」を表す。
【0023】
しきい値電圧分布210は、0ボルトを下回る負のしきい値電圧レベルで、消去された状態(「11」データ状態)にあるアレイ内のセルのしきい値電圧Vの分布を表す。「10」ユーザ・データを格納するメモリ・セルのしきい値電圧分布211が、0ボルトから1ボルトまでの範囲内にあるように示され、「00」ユーザ・データを格納するメモリ・セルのしきい値電圧分布212が、1ボルトから2ボルトまでの範囲内にあるように示される。しきい値電圧分布213は、しきい値電圧レベルが2ボルトから4.5ボルトまでの範囲内の読み取り走査電圧に設定された、「01」データ状態にプログラミングされているセルの分布を示す。
【0024】
このように、図2の例示的な実施形態において、0ボルト、1ボルト、および2ボルトが、各レベルまたは各状態の間の電圧レベルしきい値として使用され得る。これらの電圧レベルしきい値は、フラッシュ・メモリ160(例えば、フラッシュ・メモリ160における感知回路)によって、所与のセルの電圧レベルまたは電圧状態を判定するのに使用される。フラッシュ・メモリ160は、測定された電圧を電圧レベルしきい値と比較することに基づいて、各セルに1つまたは複数のビットを割り当て、これらの割当ては、次に、ハード判定としてフラッシュ制御システム110に伝送される。さらに、または代替として、ソフト情報を使用する実施例において、フラッシュ・メモリ160は、メモリ・セルの中に格納されたビットの数より多くのビットが、測定された電圧を表すのに使用される場合に、測定された電圧、または測定された電圧の量子化されたバージョンをソフト情報としてフラッシュ制御システム110に伝送することが可能である。
【0025】
セルは、通常、よく知られたプログラミング/検証技術を使用してプログラミングされることがさらに注目される。一般に、プログラミング/検証サイクル中、フラッシュ・メモリ160は、最小限のターゲットしきい値電圧を超えるまで、高まる電圧を徐々に印加して、セル・トランジスタの中に電荷を格納する。例えば、図2の例で「10」データ状態をプログラミングする際、フラッシュ・メモリ160は、0.4ボルトという最小限のターゲットしきい値電圧を超えるまで、高まる電圧を徐々に印加して、セル・トランジスタの中に電荷を格納することが可能である。
【0026】
後段でさらに説明するとおり、シングル・メモリ・セルの中に格納される2ビットのそれぞれは、異なるページからである。つまり、各メモリ・セルの中に格納された2ビットの各ビットには、異なるページ・アドレスが付いている。図2に示される右側のビットは、下位のページ・アドレスが入力されると、アクセスされる。左側のビットは、上位のページ・アドレスが入力されると、アクセスされる。
【0027】
図3は、MLC(マルチレベル・セル)フラッシュ・メモリ・デバイス160における例示的なフラッシュ・セル・アレイ300のアーキテクチャを示し、それぞれの例示的なセルは、通常、2ビットを格納する浮動ゲート・トランジスタに対応する。図3で、各セルは、その2ビットが属する2つのページに関する2つの番号に関連する。例示的なセル・アレイ・セクション300は、ワード線n乃至n+2、および4つのビット線を示す。例示的なフラッシュ・セル・アレイ300は、偶ページと奇ページに分割され、ただし、例えば、偶数番号を有するセル(番号0および2を有するセルなどの)は、偶ページに対応し、奇数番号を有するセル(番号1および3を有するセルなどの)は、奇ページに対応する。ワード線nは、例えば、偶ビット線の中に偶ページ0および2を格納し、奇ビット線の中に奇ページ1および3を格納する。
【0028】
さらに、図3は、偶ビット線または奇ビット線が、示された順序で順次に(ボトムアップで)選択され、プログラミングされる例示的なプログラミング・シーケンスを示す。番号は、それらのページがプログラミングされる順序を示す。例えば、ページ0は、ページ1より前にプログラミングされる。偶ページおよび奇ページのプログラミングのさらなる説明に関しては、例えば、参照により本明細書に組み込まれている、Ki−Tae Park他、「A Zeroing Cell−to−Cell Interference Page Architecture with Temporary LSB Storing and Parallel MSB Program Scheme for MLC NAND Flash Memories」、IEEE Journal of Solid−State Circuits、Vol.43、No.4、919〜928頁、(2008年4月)を参照されたい。
【0029】
図4は、図2の電圧割当てスキームに関する例示的な2段階MLCプログラミング・スキーム400を示す。図4に示されるとおり、LSBプログラミング段階中、消去された状態410にある選択されたセルの状態は、LSBがゼロである場合、プログラミングされた最低の状態411に移る。このため、LSBプログラミング段階で、メモリ・セルは、消去された状態「11」から「10」にプログラミングされる。次に、MSBプログラミング段階中、2つの状態、状態「00」(412)および状態「10」(413)が、前のLSBデータに依存して順次に形成される。一般に、MSBプログラミング段階中、「10」状態は、「00」にプログラミングされ、状態「11」は、「01」にプログラミングされる。
【0030】
図4のプログラミング・スキーム400は、状態410から状態413への状態の変化に関連する最大電圧シフトを例示することが注目される。状態の変化に関連する最大電圧シフトを低減し、その結果、電圧シフトによって生じるICIを低減する、いくつかのプログラミング・スキームが提案または示唆されている。
【0031】
図5Aおよび図5Bは一緒になって、隣接セルに加えられるICIを低減する代替のMLCプログラミング・スキーム500を示す。図5Aに示されるとおり、LSBプログラミング段階中、メモリ・セルが、SLCプログラミングと同様の仕方で、状態「11」から、一時的(または中間)状態として状態「x0」にプログラミングされる。同一のワード線における隣接セルもLSBプログラミングされた後、分布は、ICIに起因して、図5Aにおけるピーク510によって示されるとおり、場合により、広くなっている。その後、図5Bに示されるMSBプログラミング段階で、「x0」状態が、入力データに対応する最終段階として「00」または「10」にプログラミングされ、さもなければ、「11」状態が、最終の「01」状態にプログラミングされる。一般に、「11」セルを除くすべてのメモリは、隣接セルによって生じるICIが大きく低減され得るように、LSBデータに関する一時的にプログラミングされた状態から、MSBプログラミング状態における最終状態に再プログラミングされる。最終状態におけるセルは、最終状態に再プログラミングされているので、中間状態にある間にセルが経験したICIを被らない。最終状態におけるセルは、最終状態になってからセルが経験したICIだけしか被らない。前述したとおり、中間プログラミング段階を使用する図5Aおよび図5Bのマルチステップ・プログラミング・シーケンスは、最大電圧変化を低減し、したがって、これらの電圧変化によって生じるICIを低減する。図5Bで、例えば、MSBプログラミング段階中の最大電圧シフトは、状態「11」から「01」への遷移、および状態「x0」から「10」への遷移にそれぞれ関連することを見て取ることができる。これらの電圧シフトは、図4における状態「11」から「01」への最大電圧シフトと比べて、相当に小さい。
【0032】
図6は、MLC(マルチレベル・セル)フラッシュ・メモリ・デバイス130における例示的なフラッシュ・セル・アレイ600をさらに詳細に示す。図6に示されるとおり、フラッシュ・セル・アレイ600は、1フラッシュ・セル、c当り3ビットを格納する。図6は、1ブロックに関するフラッシュ・セル・アレイ・アーキテクチャを示し、ただし、それぞれの例示的なセルは、3ビットを格納する浮動ゲート・トランジスタに通常、対応する。例示的なセル・アレイ600は、m個のワード線と、n個のビット線とから成る。通常、現行のマルチページ・セル・フラッシュ・メモリにおいて、単一のセル内の複数のビットは、異なるページに属する。図6の例において、各セルに関する3ビットは、異なる3つのページに対応し、各ワード線が、3つのページを格納する。以下の説明において、ページ0、1、および2は、ワード線内で低ページ・レベル、中ページ・レベル、および高ページ・レベルと呼ばれる。
【0033】
前述したとおり、フラッシュ・セル・アレイは、偶ページと奇ページにさらに分割されることが可能であり、ただし、例えば、偶数番号を有するセル(図6のセル2および4などの)は、偶ページに対応し、奇数番号を有するセル(図6のセル1および3などの)は、奇ページに対応する。この場合、或るページ(ページ0などの)は、偶セルにおいて偶ページ(偶ページ0)を含み、奇セルにおいて奇ページ(奇ページ0)を含む。
【0034】
(セル間干渉)
前述したとおり、ICIは、セル間の寄生静電容量の結果であり、一般に、歪みの最も顕著な原因の1つであると考えられる。図7は、いくつかの例示的なアグレッサ・セル720からの寄生静電容量に起因してターゲット・セル710に関して存在するICIを示す。以下の表記が図7において使用される。
WL:ワード線
BL:ビット線
BLo:奇ビット線
BLe:偶ビット線、および
C:静電容量。
【0035】
本発明は、ICIが、ターゲット・セル710がプログラミングされた後にプログラミングされるアグレッサ・セル720によってもたらされることを認識する。ICIは、ターゲット・セル710の電圧、Vを変化させる。例示的な実施形態において、「ボトムアップ」プログラミング・スキームが想定され、ワード線iおよびi+1における隣接するアグレッサ・セルが、ターゲット・セル710に関するICIを生じさせる。ブロックのそのようなボトムアップ・プログラミングでは、下位のワード線i−1からのICIは、除去され、5つまでの隣接セルが、図7に示されるとおり、アグレッサ・セル720としてICIに寄与する。しかし、本明細書で開示される技術は、当業者には明白なとおり、ワード線i−1などの他のワード線からのアグレッサ・セルもICIに寄与する事例にまで一般化され得ることが注目される。ワード線i−1、i、およびi+1からのアグレッサ・セルがICIに寄与する場合、最も近い8つまでの隣接セルが考慮される必要がある。ターゲット・セルからより離れている他のセルは、それらのセルの、ICIへの寄与がごくわずかである場合、無視され得る。一般に、アグレッサ・セル720は、プログラミング・シーケンス・スキーム(ボトムアップ技術または偶/奇技術などの)を分析して、所与のターゲット・セル710の後にプログラミングされるアグレッサ・セル720を識別することによって、識別される。
【0036】
ターゲット・セル710上にアグレッサ・セル720によってもたらされるICIは、以下のとおり、例示的な実施形態においてモデル化され得る。すなわち、
【0037】
【数1】
ただし、
【0038】
【数2】
は、アグレッサ・セル(w,b)のV電圧の変化であり、
【0039】
【数3】
は、ICIに起因するターゲット・セル(i,j)のV電圧の変化であり、k、kおよびkxyは、x方向、y方向、およびxy方向に関する静電容量結合係数である。
【0040】
一般に、Vは、セル上に格納され、読み取り動作中に獲得されるデータを表す電圧である。Vは、例えば、1セル当り格納されたビットの数より高い精度でソフト電圧値として、または1セル当り格納されたビットの数(例えば、1セル当り3ビットのフラッシュの場合、3ビット)と同一の分解能でハード電圧レベルに量子化された値として、読み取り動作によって獲得され得る。
【0041】
(システム・レベルの考慮事項)
図8は、本発明によるコントローラ・ベースのICI軽減技術を組み込む例示的なフラッシュ・メモリ・システム800の概略ブロック図である。図8に示されるとおり、例示的なフラッシュ・メモリ・システム800は、インタフェース850によって接続された、フラッシュ制御システム810と、フラッシュ・メモリ・ブロック860とを備える。例示的なフラッシュ制御システム810は、通常、1つまたは複数の集積回路上に、フラッシュ・コントローラ820と、読み取りチャネル825とを備える。例示的なフラッシュ・コントローラ820は、本発明の特徴および機能をサポートするようにこの場合、変形される、例えば、よく知られた市販の技術および/または製品を使用して実施されることが可能である。
【0042】
例示的な読み取りチャネル825は、信号処理ユニット830と、符号器/復号器ブロック840と、1つまたは複数のバッファ845とを備える。「読み取りチャネル」という用語は、書き込みチャネルも包含し得ることが注目される。代替の実施形態において、符号器/復号器ブロック840およびいくつかのバッファ845は、フラッシュ・コントローラ820内部に実装されてもよい。符号器/復号器ブロック840およびバッファ845は、本発明の特徴および機能を提供するようにこの場合、変形される、例えば、よく知られた市販の技術および/または製品を使用して実施されることが可能である。
【0043】
例示的な信号処理ユニット830は、例えば、図10図12に関連して後段でさらに説明される、1つまたは複数のICI軽減プロセス835を実施する1つまたは複数のプロセッサを備える。さらに、図8に示される様々なブロックの間のデータ・フローも、例えば、図10図12に関連して後段でさらに説明される。一般に、図11および図12に関連して後段でさらに説明されるとおり、読み取り動作中にICI軽減を実行するのに、1つまたは複数のICI軽減プロセス835は、ハード読み取り値またはソフト読み取り値に基づいて、新たな読み取り値を計算する。同様に、図10に関連して後段でさらに説明されるとおり、書き込み動作中にICI軽減を実行するのに、1つまたは複数のICI軽減プロセス835は、ターゲット・セルおよびアグレッサ・セルに関するプログラム・データに基づいて、メモリ・アレイ870の中に格納されるべき事前補償されたプログラム値を生成する。
【0044】
例示的なフラッシュ・メモリ・ブロック860は、メモリ・アレイ870と、よく知られた市販の技術および/または製品を使用してそれぞれ実施されることが可能な1つまたは複数のバッファ880とを備える。
【0045】
開示されるICI軽減技術の様々な実施形態において、例示的なインタフェース850は、アグレッサ・セルに関連する情報を表す値などの、従来のフラッシュ・メモリ・システムと関係するさらなる情報を伝える必要がある可能性がある。このため、インタフェース850は、従来のフラッシュ・メモリ・システムにおけるインタフェースと比べて、より大きい容量(例えば、より多くの入力ピンまたは出力ピン)、またはより高速のレートを有する必要がある可能性がある。インタフェース850は、オプションとして、例えば、DDR(ダブル・データレート)技術を使用して、インタフェース850の情報伝送容量を増加させる、本出願と同時に出願し、参照により本明細書に組み込まれている「Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array」という名称の国際PCT特許出願第 号(整理番号08−0769)の教示に、例えば、従って実施されることが可能である。
【0046】
書き込み動作中、インタフェース850は、ページ・レベル・アクセス技術またはワード線レベル・アクセス技術を通常、使用して、ターゲット・セルの中に格納されるように、事前補償されたプログラム値を転送する。例示的なページ・レベル・アクセス技術またはワード線レベル・アクセス技術のより詳細な説明に関しては、例えば、参照により本明細書に組み込まれている、2009年3月11日に出願した、「Methods and Apparatus for Storing Data in a Multi−Level Cell Flash Memory Device with Cross−Page Sectors,Multi−Page Coding and Per−Page Coding」という名称の国際特許出願PCT/US09/36810号を参照されたい。事前補償されたプログラム値の数は、通常、元のプログラム値の数より多いので、通常、元のプログラム値を表すのと比べて、事前補償されたプログラム値を表すのに、より多くのビットが要求される。したがって、書き込み側ICI軽減に関して、インタフェース850は、従来のインタフェースと比べて、より多くのデータを転送する必要がある。
【0047】
読み取り動作中、インタフェース850は、ターゲット・セルおよびアグレッサ・セルに関してメモリ・アレイ870から獲得されたハード読み取り値および/またはソフト読み取り値を転送する。例えば、ターゲット・セルを伴うページの読み取り値に加えて、上位/下位のワード線、あるいは隣接する偶ビット線または奇ビット線における1つまたは複数の隣接ページの読み取り値が、インタフェース・バスを介して転送される。
【0048】
図8の実施形態において、開示される書き込み側ICI軽減技術は、通常、最小の面積を実現するように論理回路に合わせて最適化されたプロセス技術で、フラッシュ・メモリの外部に実装される。しかし、このことは、インタフェース850上でさらなるアグレッサ・セル・データが転送されなければならないという犠牲を払う。
【0049】
図9は、本発明の代替の実施形態によるメモリ・ベースのICI軽減技術を組み込む例示的なフラッシュ・メモリ・システム900の概略ブロック図である。図9に示されるとおり、例示的なフラッシュ・メモリ・システム900は、インタフェース950によって接続された、フラッシュ制御システム910と、フラッシュ・メモリ・ブロック960とを備える。例示的なフラッシュ制御システム910は、通常、1つまたは複数の集積回路上に、フラッシュ・コントローラ920と、オプションの読み取りチャネル925とを備える。例示的な読み取りチャネル925は、符号器/復号器ブロック940と、1つまたは複数のバッファ945とを備える。代替の実施形態において、符号器/復号器ブロック940およびいくつかのバッファ945は、フラッシュ・コントローラ920内部に実装されてもよい。例示的なフラッシュ・コントローラ920は、本発明の特徴および機能をサポートするようにこの場合、変形される、例えば、よく知られた市販の技術および/または製品を使用して実施されることが可能である。符号器/復号器ブロック940およびバッファ945は、よく知られた市販の技術および/または製品を使用して実施されることが可能である。
【0050】
例示的なフラッシュ・メモリ・ブロック960は、メモリ・アレイ970と、よく知られた市販の技術および/または製品を使用してそれぞれ実施されることが可能な1つまたは複数のバッファ980とを備える。さらに、例示的なフラッシュ・メモリ・ブロック960は、例えば、図10図12に関連して後段でさらに説明される、1つまたは複数のICI軽減プロセス990を実施する1つまたは複数のプロセッサを備える例示的な信号処理ユニット985を備える。さらに、図9に示される様々なブロックの間のデータ・フローも、例えば、図10図12に関連して後段でさらに説明される。一般に、後段でさらに説明されるとおり、読み取り動作中にICI軽減を実行するのに、1つまたは複数のICI軽減プロセス990は、メモリ・アレイ970から読み取られたハード読み取り値またはソフト読み取り値に基づいて、新たな読み取り値を計算する。同様に、図10に関連して後段でさらに説明されるとおり、書き込み動作中にICI軽減を実行するのに、1つまたは複数のICI軽減プロセス990は、ターゲット・セルおよびアグレッサ・セルに関してフラッシュ・コントローラ910から受け取られたプログラム・データに基づいて、事前補償されたプログラム値を生成する。
【0051】
開示されるICI軽減技術の様々な実施形態において、例示的なインタフェース950は、アグレッサ・セルに関連する情報を表す値などの、従来のフラッシュ・メモリ・システムと関係するさらなる情報を伝える必要がある可能性がある。このため、インタフェース950は、従来のフラッシュ・メモリ・システムにおけるインタフェースと比べて、より大きい容量(例えば、より多くの入力ピンまたは出力ピン)、またはより高速のレートを有する必要がある可能性がある。インタフェース950は、オプションとして、例えば、DDR(ダブル・データレート)技術を使用して、インタフェース950の情報伝送容量を増加させる、本出願と同時に出願し、参照により本明細書に組み込まれている「Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array」という名称の国際PCT特許出願第 号(整理番号08−0769)の教示に、例えば、従って実施されることが可能である。
【0052】
書き込み動作中、インタフェース950は、ターゲット・セルおよびアグレッサ・セルの中に格納されるようにプログラム・データを転送し、事前補償されたプログラム値が、フラッシュ・メモリ960内部で計算される。インタフェース950は、例えば、従来のフラッシュ・メモリ・システムの場合と同様にターゲット・セルに対するページのためのプログラム・データを転送し、さらに、アグレッサ・セルに対する隣接するワード線、または偶ビット線もしくは奇ビット線のためのプログラム・データを転送する。通常、事前補償されたプログラム値を表すのと比べて、このプログラム・データを表すのに要求されるビットは、より少ない。したがって、書き込み側ICI軽減に関して、インタフェース950は、通常、インタフェース850と比べて、より小さい帯域幅しか要求しない。しかし、このことは、論理回路にではなく、メモリに合わせて通常、最適化されるフラッシュ・メモリを製造するのに使用されるメモリ・プロセス技術を使用して、メモリ内部に書き込み側ICI軽減プロセスを実装するという犠牲を払う。
【0053】
読み取り動作中、インタフェース950は、ターゲット・セルに関して、ならびにオプションとしてアグレッサ・セルに関してICI軽減プロセス990によって計算されたハード読み取り値もしくはハード読み取りデータ、またはソフト読み取り値もしくはソフト読み取りデータを転送する。通常、単一回の読み取りアクセスに関して伝えられる情報は、データのページまたはワード線である。論理回路にではなく、メモリに合わせて通常、最適化されるフラッシュ・メモリを製造するのに使用されるメモリ・プロセス技術を使用して、メモリ内部に読み取り側ICI軽減プロセスを実装するという犠牲を払って、ターゲット・セルに関するデータだけを送ることは、インタフェース950の帯域幅要件を小さくすることが注目される。
【0054】
図8および図9のICI軽減技術の様々な実施形態において使用される静電容量結合係数k、kおよびkxyは、フラッシュ制御システム810、910および/またはフラッシュ・メモリ・ブロック860、960において計算され得ることが注目される。静電容量結合係数k、kおよびkxyは、それぞれのインタフェース850、950上で転送されることが必要である可能性がある。静電容量結合係数は、適応性であることが可能であり、絶えず、時々、または定期的に更新されることが可能であることが注目される。
【0055】
前述したとおり、本発明の様々な態様は、ICIを軽減する信号処理技術を提供する。とりわけ利点として、ICI軽減の信号処理アプローチは、技術的制約および物理的制約に縛られない。一般に、後段で詳細に説明されるとおり、書き込み側ICI軽減は、アグレッサ・セル720の中に格納されるプログラム電圧の知識を有して、ターゲット・セル710のプログラミング中に実現され得る。同様に、読み取り側ICI軽減が、アグレッサ・セル720の中に既に格納されている電圧の知識を有して実現され得る。このように、本発明のいくつかの態様は、例示的な書き込み側ICI軽減技術、および例示的な読み取り側ICI軽減技術を提供する。本発明のさらなる変種において、ICI軽減は、開示される書き込み側ICI軽減技術と読み取り側ICI軽減技術の組合せを使用して実現され得る。
【0056】
(書き込み側ICI軽減)
図10は、本発明の特徴を組み込む書き込み側ICI軽減プロセス1000の例示的な実施例を説明する流れ図である。図8および図9に関連して前述したとおり、書き込み側ICI軽減プロセス1000は、通常、フラッシュ制御システム810における信号処理ユニット830、またはフラッシュ・メモリ960における信号処理ユニット985によって実施される。図10に示されるとおり、書き込み側ICI軽減プロセス1000は、ステップ1010中にフラッシュ・メモリ700における1つまたは複数のターゲット・セル710に書き込まれるべきプログラム・データを最初に獲得する。前述したとおり、例示的なページ・レベル・アクセス技術またはワード線レベル・アクセス技術のより詳細な説明は、例えば、参照により本明細書に組み込まれている、2009年3月11に出願した、「Methods and Apparatus for Storing Data in a Multi−Level Cell Flash Memory Device with Cross−Page Sectors,Multi−Page Coding and Per−Page Coding」という名称の国際特許出願PCT/US09/36810号において見ることができる。
【0057】
その後、ステップ1020中、ターゲット・セル710に関して、書き込み側ICI軽減プロセス1000は、後にプログラミングされるべき少なくとも1つの隣接セル720のためのプログラム・データの1つまたは複数のビットを獲得する。ステップ1020中に獲得されるアグレッサ・セル720は、メモリ700における隣接ページに関連することが可能であり、書き込み側IC軽減プロセス1000は、アグレッサ・セル720のためのプログラム・データが利用可能になるまで待たなければならない可能性があることが注目される。ターゲット・セルおよび潜在的なアグレッサ・セルに関するプログラム・データは、それらのアグレッサ・セルに関するすべての値が利用可能になるまで、例えば、バッファ845または980の中に格納されることが可能である。これらのバッファは、ICI軽減を実行するのに十分な量のデータが集められるまで、例えば、ターゲット・セルに対するページ、ならびに隣接するワード線、または隣接する偶ビット線もしくは奇ビット線におけるx、y、またはxy方向における隣接ページを格納することが可能である。前の書き込みプロセスからの潜在的なアグレッサ・セルに関するプログラム・データが、バッファの中で利用可能である可能性がある。前述したとおり、アグレッサ・セル720は、プログラミング・シーケンス・スキーム(ボトムアップ技術または偶/奇技術などの)を分析して、所与のターゲット・セル710の後にプログラミングされるアグレッサ・セル720を識別することによって、識別される。
【0058】
書き込み側ICI軽減プロセス1000は、ステップ1030中にターゲット・セルに関するICIを事前補償する。予期されるICIを補償するターゲット・セル710の新たなプログラム電圧は、以下の式で得られる。すなわち、
【0059】
【数4】
ただし、PVは、元のプログラムしきい値電圧であり、PVtcは、ICI消去後の新たなプログラムしきい値電圧であり、さらにΔVは、ICI消去項である。
【0060】
一般に、式(2)に関するICI軽減項は、結合係数、ならびにアグレッサ・セル720の電圧変化に基づいて計算される。前述したとおり、図7の例示的な実施形態において、アグレッサ・セル720は、同一のワード線、および隣接する上位のワード線におけるセルを備える。オプションとして、隣接する下位のワード線におけるアグレッサ・セルも、それらのセルがICIを生じさせる場合、考慮されることが可能である。このため、ICIに起因する電圧分布のシフトと広がりの両方が軽減される。
【0061】
ICI軽減項は、以下のとおり計算されることが可能である。すなわち、
【0062】
【数5】
ただし、
【0063】
【数6】
は、電圧レベルlがセル(w,b)にプログラミングされた際のセル(w,b)のV電圧の変化であり、l∈{1,2,...L}は、電圧レベルであり(1セル当り3ビットの場合、L=8)、さらにk、kおよびkxyは、静電容量結合係数である。異なるターゲット・セル、および異なるアグレッサ・セルに異なる電圧レベルlがプログラミングされ得ることに留意されたい。
【0064】
【数7】
として、例えば、V電圧の予期される変化、または平均変化が使用され得る。
【0065】
最後に、ステップ1030中にターゲット・セル710に関して計算された、事前補償されたプログラム値が、ステップ1040中にフラッシュ・メモリ860、960に供給される。
【0066】
(読み取り側ICI軽減)
前述したとおり、読み取り側ICI軽減は、アグレッサ・セル720の中に格納されている電圧の知識を有して実現され得る。本明細書で説明されるとおり、開示される読み取り側ICI軽減技術は、フラッシュ・セルから取得されたソフト電圧値、あるいはハード電圧レベル(検出された電圧レベル)(または以上の組合せ)を処理することができる。例示的な実施形態において、ソフト電圧値は、ターゲット・セル710に関して使用されるのに対して、ハード電圧レベルは、アグレッサ・セル720に関して使用される。
【0067】
図11は、本発明の特徴を組み込む読み取り側ICI軽減プロセス1100の例示的な実施例を説明する流れ図である。図8および図9に関連して前述したとおり、読み取り側ICI軽減プロセス1100は、通常、フラッシュ制御システム810における信号処理ユニット830、またはフラッシュ・メモリ960における信号処理ユニット985によって実施される。読み取り側ICI軽減プロセス1100は、通常、所与のページまたはワード線を読み取る要求を受け取ると、実施される。その後、フラッシュ・コントローラ820は、通常、読み取られる必要があるセルを識別する。
【0068】
図11に示されるとおり、読み取り側ICI軽減プロセス1100は、最初に、ステップ1110中、1つまたは複数のターゲット・セル710に関する読み取り値を獲得する。その後、所与のターゲット・セル710に関して、読み取り側ICI軽減プロセス1100は、ステップ1120中、少なくとも1つのアグレッサ・セル720の中の格納された電圧を表す値を獲得する。ターゲット・セルおよびアグレッサ・セルに関する値は、ハード値またはソフト値であることが可能である。ハード値は、前述したとおり、読み取られたしきい値電圧を電圧レベルしきい値と比較することによって、または信号処理技術もしくは信号復号技術によって獲得された、検出された電圧レベルであることが可能である。ステップ1120中に獲得される値は、測定された値、あるいは、例えば、所与のレベルまたは状態に関連する電圧分布の平均に基づく、予期される値であり得ることが注目される。
【0069】
予期される値が使用される場合、隣接するワード線の中に格納された実際の値の知識は、軽減を実現するのに要求されない。例えば、ターゲット・セルを含む単一のワード線が測定されることが可能であり、予期される値が、隣接するワード線(アグレッサ・セル720)の中に格納された電圧に関して使用されることが可能である。このため、測定された値が、同一のワード線におけるアグレッサ・セルに関して使用され、予期される値が、隣接するワード線におけるアグレッサ・セルに関して使用される。予期される値は、電圧分布の知識を使用して、例えば、オフラインで計算され得る。隣接するワード線に関して予期される値を使用することは、この隣接するワード線が読み取られる必要がなく、さらにこの隣接するワード線に対応するデータが、インタフェース・バス850を介して伝送される必要がないという利点を有する。
【0070】
さらなる変種において、ターゲット・セル710に関してソフト値が使用され得る一方で、アグレッサ・セル720に関してハード値が使用されて、インタフェース850、950上で送られるデータが減らされる。
【0071】
ステップ1120中に獲得されるアグレッサ・セル720に関する値は、メモリ700における隣接ページに関連することが可能であり、読み取り側ICI軽減プロセス1100は、アグレッサ・セル720に関する値が利用可能になるまで待たなければならない可能性があることが注目される。ターゲット・セルおよび潜在的なアグレッサ・セルに関する値は、それらのアグレッサ・セルに関するすべての値が利用可能になるまで、例えば、バッファ845または980の中に格納されることが可能である。これらのバッファは、ICI軽減を実行するのに十分な量のデータが集められるまで、例えば、ターゲット・セルに関するページ、ならびに隣接するワード線、または隣接する偶ビット線もしくは奇ビット線におけるx方向、y方向、またはxy方向における隣接ページを格納することが可能である。また、前の読み取りプロセスからの潜在的なアグレッサ・セルに関する値が、バッファの中で利用可能である可能性もある。
【0072】
ステップ1130中、読み取り側ICI軽減プロセス1100は、対応するアグレッサ・セル720からのターゲット・セル710に関するICIを算出する。ターゲット・セル710に関するICIは、以下の式で得られる。すなわち、
【0073】
【数8】
ただし、
【0074】
【数9】
は、電圧レベルlがセル(w,b)にプログラミングされた際のセル(w,b)のV電圧の平均の、実際の、または推定された変化である。l∈{1,2,..L}は、電圧レベルである(1セル当り3ビットの場合、L=8)。k、kおよびkxyは、静電容量結合係数である。V電圧の変化は、例えば、測定された値とベースライン電圧もしくは基準電圧の差であることが可能である。
【0075】
例えば、フラッシュ・メモリ・セルが図5Bの最終状態「10」にあることを測定された値が示す場合、電圧の変化は、この測定された値と状態「x0」に関する基準電圧の差として計算されることが可能であり、ただし、例えば、状態「x0」の分布に関する平均が基準電圧として使用される。
【0076】
一般に、式(4)に関するICI軽減項は、結合係数、ならびにアグレッサ・セル720の電圧変化に基づいて計算される。前述したとおり、図7の例示的な実施形態において、アグレッサ・セル720は、同一のワード線、および隣接する上位のワード線におけるセルを備える。オプションとして、隣接する下位のワード線におけるセルも、それらのセルがICIを生じさせる場合、アグレッサ・セルと見なされることが可能である。このため、電圧分布のシフトと広がりの両方が軽減される。同一のワード線からのデータだけしか考慮されない実施形態では、電圧分布のシフトが軽減され、広がりは、より小さい量だけ抑えられる。
【0077】
読み取り側ICI軽減プロセス1100は、ステップ1140中に、以下のとおり、算出されたICIをターゲット・セル710の読み取り値から除去することによって、ターゲット・セル710に関するICIを訂正する新たな読み取り値を獲得する。すなわち、
【0078】
【数10】
ただし、RVは、元の読み取り電圧または読み取り値であり、RVtcは、ICI消去後の新たな読み取り電圧または新たな読み取り値であり、さらにΔVは、ICI消去項である。
【0079】
最後に、読み取り側ICI軽減プロセス1100は、ステップ1150中に復号のために新たな読み取り値をもたらす。
【0080】
図12は、本発明の特徴を組み込む反復読み取り側ICI軽減プロセス1200の例示的な実施例を説明する流れ図である。図8および図9に関連して前述したとおり、反復読み取り側ICI軽減プロセス1200は、通常、フラッシュ制御システム810における信号処理ユニット830、またはフラッシュ・メモリ960における信号処理ユニット985によって実施される。概して、反復読み取り側ICI軽減プロセス1200のステップ1210乃至1250は、図11の読み取り側ICI軽減プロセス1100の対応するステップ1110乃至1150と実質的に同様である。
【0081】
ステップ1260中に、復号誤りが検出された(例えば、復号器840(図8)によって)かどうかを判定する試験が実行される。ステップ1260中に、復号誤りは生じなかった判定された場合、プログラム制御は終了する。
【0082】
しかし、ステップ1260中に、復号誤りが生じていると判定された場合、ステップ1270中に、プロセス1200の後続の回に関するICI軽減の範囲を拡大するように1つまたは複数のICI軽減パラメータが調整される。例えば、プロセス1200の第1の実行または第1回が、ターゲット・セルを含む同一のページまたは同一のワード線におけるICIだけしか補償しない可能性がある(それぞれ、ページ・アクセス技術またはワード線アクセス技術に関して)。ステップ1260中に復号誤りが検出された場合、プロセス1200の第2の実行または第2回は、x方向、y方向、および、オプションとして、xy方向からのICIを考慮するように、隣接する1つまたは複数のページまたはワード線も包含することが可能である。
【0083】
さらなる変種において、プロセス1200の第1の実行または第1回が、ターゲット・セルおよび/またはアグレッサ・セルに関するハード値だけしか用いないが、復号誤りが生じた場合に、ターゲット・セルおよび/またはアグレッサ・セルに関するソフト値を含めるように拡張されることが可能である。ソフト情報は、より多い数の電圧レベルしきい値を使用して電圧を読み出すことによって、または第1の読み取りと比べて異なるしきい値を使用して電圧を再び読み取ることによって獲得されることが可能である(その場合、ソフト情報は、これらの複数の読み取り値に基づいて計算され得る)。
【0084】
読み取り側ICI軽減プロセス1100と反復読み取り側ICI軽減プロセス1200の両方において、ICI軽減のために用いられる電圧は、1セル当り格納されるビットの数より精度の高いソフト電圧値であることも、1セル当り格納されるビットの数(例えば、1セル当り3ビットを有するMLCメモリの場合、3ビット)と同一の分解能を有するハード電圧レベルに量子化された値であることも可能である。読み取りプロセスの別の変種において、ソフト電圧値がターゲット・セル710に関して使用されることが可能であり、ハード電圧値がアグレッサ・セル720に関して使用されることが可能である。さらに、ICI軽減は、アグレッサ・セル720に関する検出された値に基づくことが可能であり、ただし、検出された値は、アグレッサ・セルを読み取り、信号処理技術および信号復号技術を使用して、格納された値を検出することによって獲得される。代替として、検出された値は、それらの値が、以前の読み取りプロセス後に格納されている場合、バッファ845、880、945、または980から読み取られることも可能である。
【0085】
(ICI軽減の単純化)
A.マルチステップ・ページ・プログラミング・シーケンス
前述したとおり、図5Aおよび図Bは、例示的なマルチステップ・ページ・プログラミング・シーケンスを示す。本発明の或る態様は、マルチステップ・ページ・プログラミング・シーケンスがMLCフラッシュ・デバイス600に適用される際、中間プログラミング中に出現するICIは、最終の上位ページの後のプログラミングによって相殺されることを認識する。一般に、上位(MSB)ページの最終プログラミングは、最終プログラミングされた電圧の分布を再プログラミングし、引き締め、したがって、中間状態に加えられたICIを消去する。このため、本発明の一実施形態において、ICIは、最終の最上位ページ(MSB)がプログラミングされると初めて、消去される。下位のページ(すなわち、中間状態)のプログラミングに関するICIを消去することは、オプションであるが、一般に、良好な誤り率のパフォーマンスを実現するのに要求されない。例えば、図6の1セル当り3ビットのフラッシュ・デバイス600の場合、下位ページおよび中位ページの中間プログラミングは、無視され得る。
【0086】
一般に、書き込み側ICI軽減の場合、例えば、隣接するワード線またはビット線における、アグレッサ・セルのプログラム・レベルlの知識が要求される。一般に、式(3)には、異なるL個のΔV(l)値が存在する。例えば、図6の例示的なMLCフラッシュ・セル・アレイ600において、Lは、1セル当り3ビットを有するMLCフラッシュ・セル・アレイ600において8である。しかし、本発明の一態様は、使用されるプログラミング・アルゴリズムに依存して、異なるM個だけのΔV(l)を使用して、異なるL個のΔV(l)値が近似で記述され得ることを認識し、ただし、M<Lである。図5Bに示される例示的なプログラミング・スキームに関して、「11」から「01」への遷移と「x0」から「10」への遷移は、ほぼ同一の電圧シフトを有するので、異なるM=3個のΔV(l)を考慮するだけで十分である。より複雑なICI軽減プロセスは、可能なすべての遷移、「11」から「11」への遷移、「11」から「01」への遷移、「x0」から「00」への遷移、「x0」から「10」への遷移に関して、異なるL=4個のΔV(l)値を考慮する。図7の実施形態において、式(2)および式(3)における別々のΔV値の数は、ICIを生じさせる隣接する5つのセル720が存在するので、Lではなく、Mである。したがって、計算される必要がある別々のΔV値の数は、M<Lである場合、大幅に減る。
【0087】
図7に示される例示的なフラッシュ・メモリに関してマルチステップ・ページ・プログラミング・シーケンスが使用される場合、図10および図11のコントローラ・ベース、またはメモリ・ベースのICI軽減プロセス1000、1100が、それぞれ、以下のとおり実施される。ページ・データは、バッファ・メモリ845または980の中に一時的に格納され、隣接する上位のワード線に関する上位ページ・データが利用可能になるまで、フラッシュ・メモリ・デバイス870、970に書き込まれない。それぞれのICI軽減ブロック835または990が、図10に関連して前述したとおり、これらのデータ・ビットに基づいて新たなプログラム電圧(事前補償されたプログラム値)を計算する。電源電圧が、例えば、電力中断または電力遮断に起因して、しきい値電力を下回って低下した場合、バッファ・メモリ845または980の中に格納されたデータが、データが失われることを防止するようにフラッシュ・メモリ870、970(または別の不揮発性メモリ)に書き込まれることが可能である。
【0088】
やはり読み取り側ICI軽減に関して、式(4)および式(5)に基づいて計算される別々のΔV値の数が、マルチステップ・プログラミング・シーケンスの電圧シフト特性を考慮に入れ、別々のM<L個だけの電圧シフトΔV(l)しか考慮しないことによって、減らされることが可能である。その場合、図7の実施形態において、式(4)および式(5)における別々のΔV値の数は、ICIを生じさせる隣接する5つのセル720が存在するので、Lではなく、Mである。
【0089】
前述した書き込み側ICI軽減および読み取り側ICI軽減は、最終状態だけではなく、例えば、1セル当り3ビットのフラッシュにおける中位のページがプログラミングされる際に、または1セル当り3ビットのフラッシュにおける中位のページをプログラミングした後に形成された中間状態を読み取る際に、中間状態にも適用され得る。
【0090】
マルチステップ・ページ・プログラミング考慮事項は、フラッシュ・メモリの読み取りと書き込みの両方に影響を与えることが注目される。中間状態にプログラミングされると、セルは、無期限に中間状態に保たれ得る。セルが、読み取り動作中に中間状態である場合、ICI軽減が、本発明に従って実施されることが可能である。
【0091】
B.X−Y方向の静電容量結合係数を無視する
前述したとおり、例示的な実施形態において、式(3)および式(4)は、図7に示される例示的なフラッシュ・メモリにおけるターゲット・セル710と5つまでの隣接アグレッサ・セル720の間のICIに対処するのに、静電容量結合係数k、kおよびkxyを考慮する。しかし、本発明の別の態様は、kxy≪k<kであることを認識する。このため、x−y方向における静電容量結合kxyは、式(3)および式(4)において無視されることが可能であり、ICI軽減項は、以下のとおりとなる。すなわち、
【0092】
【数11】
【0093】
すると、式(3)および式(4)によって与えられる別々のΔVの数は、Lではなく、Lに減らされる。別々のΔVの数は、別々のM<L個だけの電圧シフトΔV(l)しか考慮しないことによって、さらに減らされ得る。すると、計算される必要がある別々のΔV値の数は、M個に減らされる。一般に、ICI軽減の単純化AおよびBにおいて、別々のΔV値の数は、Mによって与えられ、ただし、kは、考慮されるアグレッサ・セルの数であり、Mは、考慮される別々の電圧シフトの数である。書き込み側軽減および読み取り側軽減に関する両方の式(3)と(4)は、本明細書で説明されるとおり単純化され得る。別々のΔV値の数を減らすことにより、式(2)から明白なとおり、事前補償されたプログラム値の数も減らされる。このことは、例えば、インタフェース850を介して伝送される必要があるデータの量を減らすのに役立ち、その結果、別々のM<L個だけの電圧シフトΔV(l)しか考慮しないことにより、別々のΔV値の数を減らさない書き込み側軽減スキームと比べて、インタフェース850の容量(ピン数または伝送レートの点で)が、減らされることが可能である。
【0094】
C.偶/奇プログラミングに関してX方向における係数を無視する
図3に関連して前述したとおり、例示的な偶/奇プログラミング・シーケンスが、示された順序で偶または奇のビット線を選択し、順次に(ボトムアップで)プログラミングする。本発明の別の態様は、x方向の結合が、偶ページまたは奇ページに関して(例えば、奇ページが偶ページの後にプログラミングされる場合、奇ページに関して)無視され得ることを認識する。したがって、奇ページに関して、式(3)におけるICI軽減項は、以下のとおり単純化される。すなわち、
【0095】
【数12】
ただし、計算される必要がある別々のΔV値の数は、M個だけに減らされる。奇ビット線と偶ビット線の並行プログラミングを使用する一部のフラッシュ・アーキテクチャは、ほとんどパフォーマンスの損失なしにx結合がすべて省略されることを許す。一般に、式(7)は、偶ページと奇ページの両方に関してハードウェア複雑度を減らすのに使用され得る。書き込み側軽減および読み取り側軽減に関する両方の式(3)と(4)は、本明細書で説明されるとおり単純化され得る。
【0096】
D.電圧レベルしきい値を調整することによって残留ICIおよび保持効果に対処する
本発明の一態様は、保持効果および漏れ効果に起因する一定の、さらに/または残留のICI効果および電圧シフトに対処することが、1つまたは複数の電圧レベルしきい値の適切な調整によって行われ得ることを認識する。
【0097】
開示されるICI軽減技術は、保持に起因する信号の劣化にもかかわらず、実現され得ることが注目される。ターゲット・セルおよびアグレッサ・セルのしきい値電圧はそれぞれ、保持効果、および関連する漏れ効果によるそれぞれの量だけシフトする。適切な電圧レベルしきい値を選択することによって、保持効果および残留ICI効果は、軽減され得る。
【0098】
(プロセス、システム、および製造品の詳細)
本明細書のいくつかの流れ図は、ステップの例示的な順序を説明するが、その順序が変更され得ることも本発明の実施形態である。本発明の代替の実施形態として、アルゴリズムの様々な置換が企図される。本発明の例示的な実施形態は、ソフトウェア・プログラムにおける処理ステップに関連して説明されてきたが、当業者には明白なとおり、様々な機能が、デジタル領域で、ソフトウェア・プログラムにおいて、回路要素もしくは状態マシンによってハードウェアにおいて、またはソフトウェアとハードウェアの両方の組合せにおいて、処理ステップとして実施されることが可能である。そのようなソフトウェアは、例えば、デジタルシグナルプロセッサ、特定用途向け集積回路、マイクロコントローラ、または汎用コンピュータにおいて使用されることが可能である。そのようなハードウェアおよびソフトウェアは、集積回路内で実施される回路内で実施されることが可能である。
【0099】
このため、本発明の機能は、方法の形態、およびそれらの方法を実施するための装置の形態で実施されることが可能である。本発明の1つまたは複数の態様は、例えば、記憶媒体の中に格納され、マシンにロードされ、さらに/またはマシンによって実行されるか、何らかの伝送媒体を介して伝送されるかにかかわらず、プログラム・コードの形態で実施されることが可能であり、このプログラム・コードが、コンピュータなどのマシンにロードされ、マシンによって実行されると、そのマシンが、本発明を実施するための装置となる。汎用プロセッサ上で実施される場合、それらのプログラム・コード・セグメントは、プロセッサと一緒になって、特定の論理回路と同様に動作するデバイスを提供する。また、本発明は、集積回路、デジタルシグナルプロセッサ、マイクロプロセッサ、およびマイクロコントローラの1つまたは複数において実施されることも可能である。
【0100】
当技術分野で知られているとおり、本明細書で説明される方法および装置は、コンピュータ可読媒体を自ら備え、その媒体上にコンピュータ可読コード手段が実現されている製造品として配布されることが可能である。このコンピュータ可読プログラム・コード手段は、コンピュータ・システムと連携して、本明細書で説明される方法を実行する、または本明細書で説明される装置を作成するステップのすべて、または一部を実行するように動作可能である。このコンピュータ可読媒体は、記録可能な媒体(例えば、フロッピー・ディスク、ハードドライブ、コンパクト・ディスク、メモリ・カード、半導体デバイス、チップ、ASIC(特定用途向け集積回路))であっても、伝送媒体(例えば、光ファイバ、ワールド・ワイド・ウェブ、ケーブル、あるいは時分割多元接続チャネル、符号分割多元接続チャネル、または他の無線周波数チャネルを使用する無線チャネルを備えるネットワーク)であってもよい。コンピュータ・システムで使用するのに適した、情報を格納することができる、知られている、または開発される任意の媒体が、使用されることが可能である。コンピュータ可読コード手段は、磁気媒体上の磁気変化、またはコンパクト・ディスクの表面上の高さ変化などの、命令およびデータをコンピュータが読み取ることを許すための任意の機構である。
【0101】
本明細書で説明されるコンピュータ・システムおよびサーバはそれぞれ、本明細書で開示される方法、ステップ、および機能を実施するように関連するプロセッサを構成するメモリを含む。これらのメモリは、分散型であることも、ローカル型であることも可能であり、これらのプロセッサは、分散型であることも、単体であることも可能である。これらのメモリは、電気メモリ、磁気メモリ、または光メモリとして、あるいは以上のタイプまたは他のタイプの格納デバイスの任意の組合せとして実施されることが可能である。さらに、「メモリ」という用語は、関連するプロセッサによってアクセスされるアドレス指定可能な空間内のアドレスから読み取られる、またはそのようなアドレスに書き込まれることが可能な任意の情報を包含するように十分に広く解釈されなければならない。この定義で、ネットワーク上の情報は、関連するプロセッサが、ネットワークからその情報を取得することができるため、やはりメモリの範囲内にある。
【0102】
本明細書で示され、説明される実施形態および変形形態は、本発明の原理を単に例示するに過ぎないこと、ならびに様々な変形が、本発明の趣旨および範囲を逸脱することなく、当業者によって実施されることが可能であることを理解されたい。
図1
図2
図3
図4
図5A
図5B
図6
図7
図8
図9
図10
図11
図12