JP4999921B2 - メモリ素子用の歪み推定と誤り訂正符号化の組み合せ - Google Patents

メモリ素子用の歪み推定と誤り訂正符号化の組み合せ Download PDF

Info

Publication number
JP4999921B2
JP4999921B2 JP2009508669A JP2009508669A JP4999921B2 JP 4999921 B2 JP4999921 B2 JP 4999921B2 JP 2009508669 A JP2009508669 A JP 2009508669A JP 2009508669 A JP2009508669 A JP 2009508669A JP 4999921 B2 JP4999921 B2 JP 4999921B2
Authority
JP
Japan
Prior art keywords
analog value
cell
memory
memory cell
distortion
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
JP2009508669A
Other languages
English (en)
Other versions
JP2009537056A (ja
JP2009537056A5 (ja
Inventor
シャルヴィ、オフィール
ソマール、ナタリー
マイスロス、アリエル
ソコロフ、デュータン
Original Assignee
アノビット テクノロジーズ リミテッド
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 アノビット テクノロジーズ リミテッド filed Critical アノビット テクノロジーズ リミテッド
Priority claimed from PCT/IL2007/000580 external-priority patent/WO2007132457A2/en
Publication of JP2009537056A publication Critical patent/JP2009537056A/ja
Publication of JP2009537056A5 publication Critical patent/JP2009537056A5/ja
Application granted granted Critical
Publication of JP4999921B2 publication Critical patent/JP4999921B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Read Only Memory (AREA)

Description

(関連出願の参照)
本出願は、2006年5月12日に提出の米国仮特許願第60/747106号、2006年10月30日に提出の米国仮特許願第60/863480号、2006年11月1日に提出の米国仮特許願第60/863810号、2006年11月28日に提出の米国仮特許願第60/867399号、2007年1月16日に提出の米国仮特許願第60/885024号、2007年1月23日に提出の米国仮特許願第60/886102号、2007年2月11日に提出の米国仮特許願第60/889277号、2007年3月4日に提出の米国仮特許願第60/892869号、2007年3月12日に提出の米国仮特許願第60/894290号、2007年3月13日に提出の米国仮特許願第60/894456号、2007年4月16日に提出の米国仮特許願第60/912056号、および2007年4月22日に提出の米国仮特許願第60/913281号に関連するものである。
本発明は、一般にメモリ素子、詳細には誤り訂正符号化および歪み推定を用いてメモリ素子の性能を改善する方法および装置に関する。
いくつかの種類のメモリ素子、例えば、フラッシュメモリおよびダイナミック・ランダム・アクセス・メモリ(DRAM)などでは、データを格納するためにアナログ・メモリ・セルのアレイを使用する。フラッシュメモリ素子は、例えば、非特許文献1に記載されており、これは参照して本明細書に盛り込まれる。
このようなメモリ素子では、各アナログ・メモリセルはトランジスタを通常備え、このトランジスタはセルに格納した情報を表わす或る量の電荷を保持する。特定のセルに書き込まれた電荷はセルの「閾値電圧」、すなわち、セルが電流を伝導するようにセルに印加する必要がある電圧に影響を与える。
シングルレベルセル(SLC)素子と通例呼ばれる、いくつかのメモリ素子は各メモリセルに単一ビットの情報を格納する。通常、セルの可能な閾値電圧の範囲は2つの領域に分割される。領域の1つに落ちる電圧値は「0」ビット値を表わし、第2領域に属する電圧は「1」ビット値を表わす。マルチレベルセル(MLC)素子とよく呼ばれる高密度素子は1メモリセル当たり2つ以上のビットを格納する。マルチレベルセルでは、閾値電圧の範囲は2つ以上の領域に分割され、各領域は2ビット以上を表わす。
マルチレベル・フラッシュ・セルおよび素子は、例えば、非特許文献2に記載されており、これは参照して本明細書に盛り込まれる。この論文は数種類のマルチレベル・フラッシュ・セル、例えば、共通接地、DINOR、AND、NOR、およびNANDセルを比較している。
他の典型的な種類のアナログ・メモリ・セルは、窒化読出し専用メモリ(NROM)セル、強誘電体RAM(FRAM)セル、磁気RAM(MRAM)セル、および位相変化RAM(PRAM、位相変化メモリ-PCMとも呼ばれる)セルである。NROMセルは、例えば、非特許文献3に記載されており、これは参照して本明細書に盛り込まれる。
FRAM、MRAM、およびPRAMは、例えば、非特許文献4に記載されており、これは参照して本明細書に盛り込まれる。
いくつかの応用では、メモリ素子に格納したデータは誤り訂正記号(ECC)を用いて符号化される。例えば、ロドニー(Rodney)およびサヤノ(Sayano)は、マルチレベル記憶セルを用いたランダム・アクセス・メモリ(RAM)素子の保護のための多くのオンチップ符号化技術を非特許文献5に記述しており、これは参照して本明細書に盛り込まれる。別の例として、特許文献1には符号化変調技術を用いてデータをアナログメモリ素子に格納する方法が記載されており、この開示は参照して本明細書に盛り込まれる。マルチレベルメモリ素子の他のECC方式は特許文献2および特許文献3に記載されており、これらの開示は参照して本明細書に盛り込まれる。
アナログ・メモリ・セルから読み取った閾値電圧値は時々歪む。歪みはさまざまな理由、例えば、隣接メモリセルからの電界結合、アレイの同じ列に沿った他のセルに起因するバック・パターン・デペンデンシー(BPD)、アレイの他のセルの動作に起因する撹乱ノイズ、および素子エージングに起因する閾値電圧ドリフトなどに因る。いくつかの一般的な歪み機構が前掲のベズ(Bez)らによる論文に記載されている。メモリセルにおける妨害はまた非特許文献6に記載されており、これは参照して本明細書に盛り込まれる。
特許文献4には、高密度フラッシュ電気的消去・書込み可能読出し専用メモリ(EEPROM)セルアレイの浮遊ゲート間の電界結合を補償する方法が記載されており、この開示は参照して本明細書に盛り込まれる。開示された方法によれば、セルの読み取りは読み取られるセルと電界結合されるすべてのセルの状態を最初に読み取ることによって補償される。次に浮遊ゲート電圧かそれとも各結合セルの状態に関連する数にセル間の結合比を乗じる。セルの各々に関する状態間のブレイクポイントレベルは隣接セルから結合された電圧を補償する量によって調整される。
米国特許第6,212,654号明細書 米国特許第6,469,931号明細書 米国特許第7,023,735号明細書 米国特許第5,867,429号明細書 Bezら著「Introduction to Flash Memory」 Proceedings of the IEEE,(91:4)、2003年4月、p.489−502 Eitanら著「Multilevel Flash Cells and their Trade-Offs」 Proceedings of the 1996 IEEE International Electron Devices Meeting (IEDM),New York,New York、p.169−172 Maayanら著「A 512 Mb NROM Flash Data Storage Memory with 8 MB/s Data Rate」 Proceedings of the 2002 IEEE International Solid-State Circuits Conference (ISSCC 2002),San Francisco, California、2002年2月3〜7日、p.100−101 KimおよびKoh著「Future Memory Technology including Emerging New Memories」 Proceedings of the 24th International Conference on Microelectronics (MIEL),Nis,Serbia and Montenegro、2004年5月16〜19日、第1巻、p.377−384 「On-Chip ECC for Multi-Level Random Access Memories」 Proceedings of the 1989 IEEE/CAM International Theory Workshop,Ithaca,New York、1989年6月25〜29日 Leeら著「Effects of Floating Gate Interference on NAND Flash Memory Cell Operation」 IEEE Electron Device Letters,(23:5)、2002年5月、p.264−266 Agrellら著「Closest Point Search in Lattices」 IEEE Transaction on Information Theory,volume 48、2002年8月、p.2201−2214 Jungら著「A 117mm2 3.3V Only 128Mb Multilevel NAND Flash Memory for Mass Storage Applications」 IEEE Journal of Solid State Circuits,(11:31)、1996年11月、p.1575−1583 Takeuchiら著「A Multipage Cell Architecture for High-Speed Programming Multilevel NAND Flash Memories」 IEEE Journal of Solid State Circuits,(33:8)、1998年8月、p.1228−1238
本発明の実施形態ではメモリ素子を動作させる方法が提供され、この方法は、
データを誤り訂正記号(ECC)を用いて符号化し、符号化データを第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納する段階と、
符号化データを格納した後に、符号化データが格納されたメモリ素子のメモリセルから関連第2アナログ値を読み取る段階であって、関連第2アナログ値の少なくともいくつかは関連第1アナログ値と異なる段階と、
第2アナログ値に含まれる歪みを推定する段階と、
推定歪みに応答可能なように第2アナログ値に関して誤り訂正メトリクスを計算する段階と、
データを復元するために、ECC復号プロセスで誤り訂正メトリクスを用いて第2アナログ値を処理する段階と、
を含む。
いくつかの実施形態では、誤り訂正メトリクスを計算する段階は、各メモリセルについて、歪みを示す1つ以上のセルパラメタを評価する段階と、セルパラメタに応答可能なように誤り訂正メトリクスを計算する段階とを含む。セルパラメタは、他のメモリセルから読み取られたアナログ値、他のメモリセルの推定相互結合係数、読み取られた第2アナログ値の統計的分布のパラメタ、メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクル後の経過時間、メモリセルで前に検出された誤り、メモリセルが接続されている語線の識別、メモリセルが接続されているビット線の識別、メモリセルが接続されているビット線に結合されたセンス増幅器の推定パラメタ、および環境パラメタから成るパラメタの群から選択される少なくとも1つのパラメタを含むとよい。
別の実施形態では、第2アナログ値を処理する段階は、第2アナログ値の可能な値の範囲を複数の決定間隔に分割する段階と、第2アナログ値が入る関連決定間隔を決定する段階とを含み、誤り訂正メトリクスを計算する段階は、ECC復号プロセスの性能を改善するために、第2アナログ値を決定間隔に関連して変更する機能を規定する段階を含む。
さらに別の実施形態では、第2アナログ値を処理する段階は、ECC復号プロセスの性能に関するフィードバックを受け取る段階と、フィードバックに応答可能なようにECC復号プロセスを変更する段階とを含む。さらに別の実施形態では、第2アナログ値を処理する段階は第2アナログ値を決定閾値と比較する段階を含み、ECC復号プロセスを変更する段階は決定閾値を変更する段階を含む。決定閾値を変更する段階は第2アナログ値をメモリセルから変更した決定閾値を用いて再び読み取る段階を含む。或る実施形態では、第2アナログ値を決定閾値と比較する段階はメモリ素子の第2アナログ値を決定閾値を用いて読み取る段階を含み、決定閾値を変更する段階はコマンドをメモリ素子に送って、閾値を変更することを要求する段階を含む。
開示される実施形態では、第2アナログ値を処理する段階は、いろいろなセットの決定閾値を用いてECC復号プロセスの関連する複数の反復を実行することによって、各メモリセルに格納されたデータの複数の推定値を生成する段階と、データの複数の推定値に応答可能なようにデータを復元する段階とを含む。データを復元する段階は各メモリセルについて独立に複数の推定値の1つを選択する段階を含むとよい。
いくつかの実施形態では、第2アナログ値を処理する段階は第1誤り性能を有する第1ECC復号プロセスを適用する段階を含み、フィードバックを受け取る段階は第1プロセスを用いて復号されたデータにおける復号誤りの表示を受け取る段階を含み、そしてECC復号プロセスを変更する段階は第1誤り性能よりも良い第2誤り性能を有する第2ECC復号プロセスを用いて第2アナログ値を処理する段階を含む。別の実施形態では、ECC復号プロセスを変更する段階は第2アナログ値を読み取るのに用いるサンプリング分解能を変更する段階を含む。
いくつかの実施形態では、第2アナログ値を読み取る段階は関連するいろいろなセットの決定閾値を用いて第2アナログ値の複数のインスタンスを読み取る段階を含み、誤り訂正メトリクスを計算する段階は、各メモリセルについて独立に複数のインスタンスを組み合わせる段階と、組み合わせた複数のインスタンスに基づいて誤り訂正メトリクスを計算する段階とを含む。第2アナログ値の複数のインスタンスを読み取り、組み合わせる段階は、第2アナログ値の追加インスタンスを反復して得る段階と、ECCの復号に成功するまで追加インスタンスを用いて誤り訂正メトリクスを更新する段階とを含むとよい。
いくつかの実施形態では、各メモリセルについて、歪みを推定する段階は、メモリセルから読み取られた第2アナログ値の歪みの潜在的な一因となる、潜在的に妨害するメモリセルのサブセットから第2アナログ値を読み取る段階を含み、誤り訂正メトリクスを計算する段階は潜在的に妨害するメモリセルによる歪みを評価する段階を含む。或る実施形態では、潜在的に妨害するメモリセルによってメモリセルに与えられる歪みを評価する段階は、潜在的に妨害するメモリセルから読み取られた第2アナログ値およびメモリセルから読み取られた第2アナログ値の両方に基づいて、各潜在的に妨害するメモリセルによって与えられる歪みを近似する段階を含む。別の実施形態では、第2アナログ値を処理する段階は、メモリセルの第2アナログ値を第1量子化レベルで処理する段階と、潜在的に妨害するメモリセルから読み取られた第2アナログ値を第1量子化レベルよりも粗い第2量子化レベルで処理する段階とを含む。第2アナログ値を処理する段階は、第2アナログ値を読み取るのに用いる回路の閾値を反復して変更することによって、第2アナログ値を第1および第2量子化レベルで読み取る段階を含むとよい。
開示される実施形態では、符号化データを格納する段階はプログラムおよび検査(P&V)プロセスを用いて第1アナログ値をメモリセルに書き込む段階を含み、歪みを推定する段階は、潜在的に妨害するメモリセルを、前記メモリセルよりも早く完全にプログラムされたメモリセル、前記メモリセルよりも遅く完全にプログラムされたメモリセル、およびP&Vプロセスによって前記メモリセルと同時に完全にプログラムされたメモリセルから成るクラスの群から選択される少なくとも2つのクラスに分類する段階と、総歪みをクラスの各々内で別々に計算する段階とを含む。
いくつかの実施形態では、メモリセルは、フラッシュ・メモリ・セル、ダイナミック・ランダム・アクセス・メモリ(DRAM)セル、位相変化メモリ(PCM)セル、窒化読出し専用メモリ(NROM)セル、磁気RAM(MRAM)セル、または強誘電体RAM(FRAM)セルを含むとよい。
開示される実施形態では、ECCはブロックコードを含む。ブロックコードはBCHコードおよびリード・ソロモン(RS)コードの1つを含むとよい。或る実施形態では、ブロックコードは低密度奇偶検査(LDPC)コード、ターボコード、およびターボ・プロダクト・コード(ТPC)の1つを含むとよい。ECC復号プロセスは反復復号プロセスを含むとよい。さらに、または代替として、ECC復号プロセスは第2アナログ値を読み取ることによって生成されるフィードバックを使用するとよい。ECC復号プロセスは最尤シーケンス推定(MLSE)プロセスを含むとよい。ECCは、従来コード、トレリス符号化変調(TCM)コード、ビットインターリブド符号化変調(BICM)コード、および連結コードの1つを含むとよい。誤り訂正メトリクスは尤度比(LR)または対数尤度比(LLR)を含むとよい。
いくつかの実施形態では、歪みを推定する段階はメモリセルの1つに含まれる歪みを他のメモリセルに含まれる歪みに基づいて予測する段階を含む。
或る実施形態では、メモリセルは潜在的に妨害するメモリセルの分離したグループに配置され、各グループの歪みを推定する段階はグループ内のメモリセルの対の間の相互干渉を表わす相互結合マトリックスの逆を評価する段階を含み、誤り訂正メトリクスを計算する段階は、第1アナログ値に適用され、グループ内の関連メモリセルの平均歪みレベルで合計した相互結合マトリックスの逆と第2アナログ値に適用された相互結合マトリックスの逆との間のディスタンスを計算する段階を含む。別の実施形態では、分離したグループは関連窒化読出し専用メモリ(NROM)セルを含み、各グループ内の潜在的に妨害するメモリセルは関連NROMセルの第1および第2電荷蓄積領域を含む。さらに別の実施形態では、メモリセルは潜在的に妨害するメモリセルの分離したグループに配置され、各グループの歪みを推定する段階は、グループ内の関連メモリセルの平均歪みレベルのベクトルおよびグループ内のメモリセルの対の間の相互干渉を表わす相互結合マトリックスを評価する段階を含み、そして誤り訂正メトリクスを計算する段階は、グループ内のメモリセルから読み取られた第2アナログ値のベクトルと、相互結合マトリックスと平均歪みレベルのベクトルとの積との差に応答可能なようにメトリクスを計算する段階を含む。別の実施形態では、分離したグループは関連窒化読出し専用メモリ(NROM)セルを含み、各グループ内の潜在的に妨害するメモリセルは関連NROMセルの第1および第2電荷蓄積領域を含む。
さらに別の実施形態では、符号化データを格納する段階は、符号化データをスクランブルする段階と、スクランブルされたデータを格納する段階とを含み、第2アナログ値を処理する段階はメモリセルから読み取られた第2アナログ値を逆スクランブルする段階を含む。さらに別の実施形態では、データを格納する段階はメモリセルの少なくともいくつかを消去レベルで維持する段階を含み、第2アナログ値を読み取る段階、歪みを推定する段階、誤り訂正メトリクスを計算する段階、および第2アナログ値を処理する段階は、消去レベルで維持されていたメモリセルから読み取られた第2アナログ値の歪みを補償する段階を含む。
本発明の実施形態に従って、メモリ素子を動作させる方法がまた提供され、この方法は、
データを第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納する段階と、
データを格納した後に、関連メモリセルから第2アナログ値の複数のインスタンスを読み取る段階であって、インスタンスの各々は第2アナログ値を関連決定閾値と比較することによって読み取られる段階と、
第2アナログ値に含まれる歪みを推定する段階と、
データを復元するために、推定歪みに応答可能なように第2アナログ値の複数のインスタンスを処理する段階と、
を含む。
いくつかの実施形態では、複数のインスタンスを読み取り、処理する段階は第2アナログ値の追加インスタンスを反復して得る段階を含む。
本発明の実施形態に従って、誤り訂正記号(ECC)を用いて符号化され、第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置が追加として提供され、この装置は、
符号化データが格納されたメモリ素子のアナログ・メモリ・セルから関連第2アナログ値を読み取るように構成される読み取りユニットであって、関連第2アナログ値の少なくともいくつかは関連第1アナログ値と異なる読み取りユニットと、
第2アナログ値に含まれる歪みを推定し、推定歪みに応答可能なように第2アナログ値に関して誤り訂正メトリクスを計算するように構成される信号処理ユニットと、
ECCを復号し、データを復元するために、誤り訂正メトリクスを用いて第2アナログ値を処理するように構成される復号器と、
を備える。
或る実施形態では、読み取りユニットは第1集積回路(IC)内にあり、信号処理ユニットおよび復号器は第1ICと異なる第2IC内にある。代替実施形態では、読み取りユニット、信号処理ユニット、および復号器は単一素子に集積化されている。
本発明の実施形態に従って、第1アナログ値としてメモリ素子の関連アナログ・メモリ・セルに格納されたデータを検索する装置がさらに提供され、この装置は、
第2アナログ値の複数のインスタンスを関連メモリセルから読み取るように構成される読み取りユニットであって、インスタンスの各々は第2アナログ値を関連決定閾値と比較することによって読み取られる読み取りユニットと、
データを復元するために、第2アナログ値に含まれる歪みを推定し、推定歪みに応答可能なように第2アナログ値の複数のインスタンスを処理するように構成される信号処理ユニットと、
を備える。
本発明は、図面を併用して、その実施形態についての次の詳細な説明によってより完全に理解されるだろう。
(図面の簡単な説明)
図1は、本発明の実施形態に従って、メモリ信号処理の装置を図式的に示すブロック図である。
図2は、本発明の実施形態に従って、メモリ・セル・アレイを図式的に示す図である。
図3は、本発明の実施形態に従って、メモリ・セル・アレイの電圧分布を示すグラフである。
図4は、本発明の実施形態に従って、データをメモリ・セル・アレイから検索するプロセスを図式的に示す機能ブロック図である。
図5は、本発明の実施形態に従って、データをメモリ・セル・アレイから検索する方法を図式的に示す流れ図である。
図6は、本発明の実施形態に従って、メモリ・セル・アレイの歪みを推定する方法を図式的に示す流れ図である。
概観
本発明の実施形態はメモリ素子に格納された情報を検索する改善された方法および方式を提供する。以下に説明する実施形態では、データはメモリ・セル・アレイのアレイに書き込まれる電荷のレベルとして格納される。電荷レベルはセルのそれぞれの閾値電圧を決定する。さまざまな歪み機構の影響を低下させるために、データはそれをメモリセルに格納するに先立って誤り訂正記号(ECC)を用いて符号化される。
データは、メモリセルの閾値電圧を読み取り、ECCをECC復号器を用いて復号することによって復元される。ECC復号器はECCメトリクス、例えば、読み取り電圧にわたって規定される対数尤度比(LLR)で動作する。
信号処理ユニットは読み取り電圧に含まれる歪みを推定する。歪みは、アレイの他のセル、かかるセルで実行される動作、および/またはエージングのような効果に起因する可能性がある。歪み機構に応じて、セルに蓄積された電荷の実際レベルおよび/または感知され、サンプリングされた電圧は影響を受ける可能性がある。信号処理ユニットはECCメトリクスを推定歪みに基づいて計算し、ECCメトリクスをECC復号器に提供する。ECC復号器は、目標メモリセルに格納されたデータを復元するために、ECCをメトリクスを用いて復号する。ECCメトリクスはまた予想歪みレベルを示す追加のいくつかのセルパラメタも考慮するとよい。いくつかの実施形態では、ECC復号プロセスの成功、失敗、または品質に応じたフィードバックが復号プロセスの動作を変更するために使用される。
推定歪みに基づくECCメトリクスを用いることによってECC復号プロセスの性能を著しく改善する。ECC復号プロセスの改善された性能はより高い情報記憶密度をいくつかの方法で達成するために使用され得る。例えば、各メモリセルに蓄積される電圧レベルの数(従って情報ビットの数)を増大させることができる。他の実施形態では、セル間の増大した相互結合およびより高いエージング速度を有する可能性がある、より小さく高密度のメモリ・セル・アレイが、改善されたECC性能のために、良好な性能を伴って使用され得る。追加して、または代替として、符号レートが所与の誤り率要求について減らされることが可能であり、より小さい符号化オーバヘッドをもたらす。代替実施形態では、所与のメモリアレイおよびECCの性能誤りを改善することができる。改善された性能はまたメモリ素子によって使用される閾値電圧の範囲を小さくするためにも使用されることが可能であり、従って素子の電力消費を減らし、その信頼性および耐久性を改善する。
本明細書に述べた方法および装置は多種多様のメモリ素子およびセルタイプ、例えば、いろいろなフラッシュ・メモリ・セル、DRAMセル、NROMセル、MRAMセル、およびPCMセルなどで使用され得る。本発明の原理はまたさまざまな記憶媒体および素子、例えばハード・ディスク・ドライブ(HDD)におけるデータの記憶および検索でも使用され得る。
どんな適切な推定方法もメモリ・セル・アレイから読み取られた電圧の歪みを推定するために使用され得る。いくつかの例示的な方法をここで説明する。
システムの記載
図1は、本発明の実施形態に従って、メモリ信号処理の装置20を図式的に示すブロック図である。装置20はデータをメモリ・セル・アレイ28に格納するメモリ素子24を備えている。メモリアレイは複数のアナログメモリ・セル32を備えている。本特許出願の文脈で、かつ特許請求の範囲で、用語「アナログ・メモリ・セル」は、物理的パラメタの連続アナログ値、例えば、電圧または電荷などを保持することによって情報を格納する任意のメモリセルを表わすために使用される。アレイ28はどんな種類のアナログ・メモリ・セルでも、例えば、NANDおよびNORフラッシュセル、PCM、NROM、FRAM、MRAM、およびDRAMセルなどを備えるとよい。
メモリ素子24に格納するデータは素子に提供され、データバッファ36に保存される。次にデータはアナログ電圧に変換され、読み取り/書き込み(R/W)ユニット40を用いてメモリセル32に書き込まれ、この機能は以下にさらに詳細に説明される。データをアレイ28から読み取るとき、ユニット40は電荷、従ってメモリセル32のアナログ電圧をデジタルサンプルに変換する。各デジタルサンプルは1つ以上のビットを用いて表わされる。サンプルはバッファ36に保存される。ユニット40によって生成されるサンプルはソフトサンプルとも呼ばれる。メモリ素子24の動作およびタイミングは制御論理48によって管理される。
データのメモリ素子24への格納およびそれからの検索はメモリ信号プロセッサ(MSP)52によって実行される。MSP52はメモリ素子24とデータを格納、検索するホストまたはアプリケーションとの間に介在する。以下に詳細に示すように、MSP52はデータの信頼性および記憶密度を改善するために誤り訂正符号化と歪み推定を組み合わせる新しい方法を使用する。
MSP52は符号化器/復号器64を備え、これはECCを用いて素子24に書き込まれるデータを符号化し、データを素子24から読み取るときECCを復号する。信号処理ユニット60は素子24に書き込まれ、かつそれから検索されるデータを処理する。具体的に言えば、ユニット60は素子24から読み取られた電圧に影響を及ぼす歪みを推定する。推定歪みは、以下にさらに詳細に説明するように、ECCの性能を改善するために使用される。
MSP52はデータバッファ72を備え、これはデータを格納するために、かつメモリ素子24とインターフェースをとるためにユニット60によって使用される。MSP52はまた入力/出力(I/О)バッファ56を備え、これはMSPとホストとの間にインターフェースを形成する。コントローラ76はMSP52の動作およびタイミングを管理する。以下に述べる機能を実行するのに加えて、コントローラ76は追加のメモリ管理機能、例えば、磨耗レベリングおよび不良ブロック管理などを実行するとよい。信号処理ユニット60およびコントローラ76はハードウェアに組み入れられるとよい。あるいは、ユニット60および/またはコントローラ76は適切なソフトウェア、またはハードウェアとソフトウェア要素の組み合わせを実行するマイクロプロセッサを備えるとよい。
図1の構成は例示的な装置構成であり、これは概念を単に明確にするために示されている。その他の適切な構成も使用され得る。本発明の原理を理解するためには不要である要素、例えば、さまざまなインターフェース、アドレス指定回路、タイミングおよび順序付け回路、データスクランブル回路、およびデバック回路などが明確にするために図から省かれた。
図1に示す例示的な装置では、メモリ素子24およびMSP52は2つの別々の集積回路(IC)として組み入れられている。代替実施形態では、しかしながら、メモリ素子およびMSPは単一ICまたはシステム・オン・チップ(SoC)に集積化されるとよい。いくつかの実施形態では、単一MSP52は複数のメモリ素子24に接続されるとよい。装置20の具体化のいくつかの実施形態の追加アーキテクチャーの態様は前掲の米国仮特許願第60/867399号にさらに詳細に記載されている。
典型的な書き込み動作において、メモリ素子24に書き込まれるデータはホストから受け取られ、I/Oバッファ56に保存される。符号化器/復号器64はデータを符号化し、符号化データは、データバッファ72を経由して、メモリ素子24へ転送される。素子24においてデータはバッファ36に一時的に格納される。R/Wユニット40はデータをアナログ電圧に変換し、データをアレイ28の適切なセル32に書き込む。
典型的な読み取り動作において、R/Wユニット40はアナログ電圧値を適切なメモリセル32から読み取り、電圧をデジタルサンプルに変換する。サンプルはバッファ36に保存され、MSP52のバッファ72へ転送される。信号処理ユニット60は、以下に説明する方法を用いて、データサンプルに含まれる歪みを推定する。
データのブロックはバッファ72からユニット60へ転送され、符号化器/復号器64はこのブロックのECCを復号する。符号化器/復号器64はユニット60によって与えられる歪み推定を使用して、ECC復号プロセスの性能を改善する。復号データはI/Oバッファ56を経由してホストへ転送される。
いくつかの実施形態では、MSP52は、それがメモリセルに書き込まれる前にデータをスクランブルし、歪み推定性能を改善するために、メモリセルから読み取られたデータを逆スクランブルする。
メモリアレイ構成および歪みのメカニズム
図2は、本発明の実施形態に従って、メモリ・セル・アレイ28を図式的に示す図である。図2は特定のアレイ構成で接続されているフラッシュ・メモリ・セルを参照しているけれども、本発明の原理は他のタイプのメモリセルおよび他のアレイ構成にも同様に適用可能である。いくつかの例示的なセルタイプおよびアレイ構成は上の背景項で引用した参考文献に記載されている。
アレイ28のメモリセル32は複数の行および列を有する格子状に配置されている。各セル32は浮遊ゲート金属酸化物半導体(MOS)トランジスタを備える。或る量の電荷(電子またはホール)が適切な電圧レベルをトランジスタのゲート、ソース、およびドレインに印加することによって特定のセルに蓄積され得る。セルに蓄積された値はセルの閾値電圧を測定することによって読み取られることが可能であり、これはトランジスタを導通させるためにトランジスタのゲートに印加する必要がある最小電圧として規定される。読み取り閾値電圧はセルに蓄積された電荷に比例する。
図2の例示的な構成では、各行のトランジスタのゲートは語線80によって接続されている。各列のトランジスタのソースはビット線84によって接続されている。いくつかの実施形態では、例えばいくつかのNORセル素子では、ソースはビット線に直接接続される。代替実施形態では、例えばいくつかのNANDセル素子では、ビット線は浮遊ゲートセルのストリングに接続される。
通常、R/Wユニット40は、変化する電圧レベルを特定のセル32のゲートに(すなわち、セルが接続されている語線に)印加し、かつセルのドレイン電流が或る閾値を超えるかどうか(すなわち、トランジスタが導通するかどうか)を調べることによって、特定のセル32の閾値電圧を読み取る。ユニット40は通常一連のいろいろな電圧値をセルが接続されている語線に印加し、ドレイン電流が閾値を超える最も低いゲート電圧値を決定する。通常、ユニット40はページとも呼ばれているセルの行全体を同時に読み取る。
いくつかの実施形態では、ユニット40はセルのビット線を或る電圧レベルに事前に充電することによってドレイン電流を測定する。ゲート電圧が所望値に設定されると、ドレイン電流はビット線電圧をセルを通じて放電させる。ゲート電圧が印加された後、数マイクロ秒間、ユニット40はビット線電圧を測定し、ビット線電圧を閾値と比較する。いくつかの実施形態では、各ビット線84は関連センス増幅器に接続され、これはビット線電流を増幅し、それを電圧に変換する。増幅された電圧は比較器を用いて閾値と比較される。
以下に述べる方法のいくつかは読み取り電圧レベルが比較される閾値の調整を含む。かかる閾値調整は、場合によっては各読み取り動作に先立って、高速で実行されるとよい。いくつかの実施形態では、メモリ素子24、具体的に言えばR/Wユニット40は高速で効果的かつ柔軟な閾値調整を可能にするように設計される。例えば、MSP52とメモリ素子24との間のインターフェースは、R/Wユニット40によって高速で効果的かつ柔軟な閾値調整を可能にするコマンドを備える。かかるコマンドは要求された調整を各個別閾値ごとに規定するか、または全閾値セットについて同一の調整を要求するとよい。このために使用され得る例示的なコマンドインタフェースは、前掲の米国仮特許願第60/889277号、第60/912056号、および第60/913281号に記載されている。
上述の電圧読み取り方法は例示的な方法である。あるいは、R/Wユニット40はセル32の閾値電圧を読み取るためにその他の適切な方法を使用するとよい。例えば、ユニット40は1つ以上のアナログ-デジタル変換器(ADC)を備え、これはビット線電圧をデジタルサンプルに変換する。さらにあるいは、本明細書に述べた方法および装置は、アナログ値をアナログ・メモリ・セルへ書き込み、それから読み取る、任意の適切な方法または手段とともに使用され得る。
いくつかの実施形態では、全ページ(行)は並列に書き込まれ、読み取られる。セルの消去は複数のページを含むブロックで通常実行される。典型的なメモリ素子は数十万ページを含むとよく、各々は数千のセル(例えば、16Kまたは32Kセル)を含む。他のブロックサイズも使用され得るけれども、典型的な消去ブロックは約128ページである。
R/Wユニット40によってデジタル化された電圧はさまざまなタイプの歪みを含む可能性があり、これはアレイ28のいろいろな歪み機構に起因する。いくつかの歪み機構はセルに蓄積される実際の電荷に影響を及ぼすのに対して、他の機構は感知された電圧を歪ませる。例えば、アレイの隣接セル間の電気的結合は特定のセルの閾値電圧を変更する可能性がある。この効果は妨害ノイズと呼ばれる。別の例として、電荷がセルから時間とともに漏洩する可能性がある。このエージング効果の結果として、セルの閾値電圧は最初に書き込まれた値から時間とともにドリフトする可能性がある。
通例妨害ノイズと呼ばれている、別のタイプの歪みはアレイの或るセルにおける読み取り、書き込み、または消去に起因し、これは他のセルの意図しないプログラミングまたは消去を引き起こす。さらに別のサンプルとして、特定のセルのソース・ドレイン電流は、バックパターン従属性と呼ばれている効果によって、隣接セル、例えば、同じNANDセルストリングの他のセルの変化の影響を受け得る。
図3は、本発明の実施形態に従って、メモリ・セル・アレイ28の電圧分布を示すグラフである。図3はメモリ・セル・アレイから値を読み取る精度に与える歪みの影響を示すために使用されている。図3の例では、各セル32は4つの名目電圧レベルを用いて2ビットの情報を格納している。グラフ92A...92Dは、各セルがプログラムされる時に、全アレイにわたる電圧分布を示す。グラフ92Aは「11」ビット値を格納しているセルにおける電圧の分布を示す。グラフ92B、92C、および92Dは「01」、「00」、および「10」ビット値をそれぞれ格納しているセルにおける電圧分布を示す。
本例では、セル32の閾値電圧は3ビット変換を用いて読み取られる。従って、閾値電圧の範囲は8つの決定ゾーン96A...96Hに分割される。各セルのデータ内容は、セルから読み取られた閾値レベルが収まる決定ゾーンに基づいて決定される。例えば、決定ゾーン96Fに収まる、特定のセルから読み取られた電圧レベル98はセルのデータ内容が「00」であること示す。決定ゾーン96Eに収まる電圧レベルはまた「11」のデータ内容を示すとして解釈されることに留意する必要がある。4つの決定ゾーンは4つの可能なビット組み合わせを復号するのに通常十分であるけれども、8つの決定ゾーンを用いることはより良い分解能を与え、歪み推定および復号性能を改善する。
さまざまな歪み機構の結果として、閾値電圧の分布は変化する可能性がある。例えば、閾値電圧はエージングに因って時間とともにドリフトする可能性がある。グラフ100A...100Dは、電圧が時間とともにシフトした後の「11」、「01」、「00」、および「10」のデータ内容を有するセルの分布をそれぞれ示している。
具体的に言えば、電圧レベル98は歪みに因ってシフトされたレベル104に変化した。図で分かるように、電圧レベル104は、もともと意図したように、決定ゾーン96Fではなく、ゾーン96Eに収まる。本例では、8つの決定ゾーンによって与えられる分解能の向上に因って、偏りは決定誤りを必ずしも引き起こさない。しかしながら、一般に、歪みはセルのデータ内容の読み取り誤りを引き起こす可能性がある。
歪み概算によりアシストされるECC符号化
装置20は、ECCを用いてセルに格納したデータを符号化することによって、セル32のデータ内容について誤った決定を行う可能性を減らす。本例では、符号化器/復号器64は各ページのデータを別々に符号化する。代替実施形態では、データはその他の適切なサイズを有するブロックで符号化され得る。例えば、各ページはいくつかのセクタに分割されることが可能であり、符号化器/復号器64は各セクタのデータを別々に符号化する。あるいは、データは複数のページにわたって符号化され得る。
当技術分野で周知のさまざまな種類の誤り訂正記号はデータを符号化するために使用され得る。ECCは、例えば、データの固定サイズのブロックを別々に符号化するブロックコードを含むとよい。例示的なブロックコードはボーズ・チャウドーリー・ホッホクエンゲム(BCH)コードまたはリード-ソロモン(RS)コードを含むとよい。ブロックコードの特別なクラスは反復復号プロセスに適しているコードのクラスである。反復プロセスを用いて通常復号されるコードは、例えば、低密度奇偶検査(LDPC)コード、ターボ-コード、およびターボ・プロダクト・コード(TPC)を含む。他の種類のコードは重畳コードおよびトレリス符号化変調(TCM)コードを含むとよい。さらなる代替として、コードは既知のビットインターリブド符号化変調(BICM)コードを含むとよく、これは従来のコード、ビットインタリーバ、およびグレイマッパーを通常含む。
ECCプロセスは、フィードバック符号化プログラミングプロセス、例えば、前掲の米国仮特許願第60/863810号に記載されているプロセスを代替として含むとよい。場合によっては、2つのコードは連結コードを形成するために内部および外部コードとして順次に使用され得る。
符号化器/復号器64によって用いられるECCは読み取りデータにわたって規定されるメトリクスで動作する。もし或る電圧レベルが読み取られたならば、ECCメトリクスは特定の情報ビット(またはリード-ソロモンコードおよびトレリスコードの場合のように、記号)が符号化された統計的可能性に関する情報を提供するとよい。ECCメトリクスは、電圧分布92A...92Dの中心および分散のようなパラメタに基づいているとよい。
通常、MSP52は電圧分布のパラメタを推定し、推定パラメタを用いて、ビットまたは記号可能性を計算する。さらに、MSPはセルの状態に関する情報を保管または受け取り、この情報を用いて、セルの電圧分布の特性を評価し、それに応じてECCメトリクスを変更する。例えば、MSPは、セルが受けたプログラムおよび消去サイクルの数、ならびにそれらがどのくらい前にプログラムされたかを追跡するとよい。これらのパラメタは、セルがプログラムされて以来それが被った漏洩ノイズのレベルを示している。
いくつかの実施形態では、ECCメトリクスは尤度比(LR)または対数尤度比(LLR)を含むとよく、これらは次のように定義される。
Figure 0004999921
Figure 0004999921
ここで、Xは特定のメモリセルに格納された1つ以上のビットの特定のデータビットを示し、rはセルから読取られた電圧レベルを示す。あるいは、ECCメトリクスは、メモリセルから読み取られる電圧レベルにわたって規定されたその他のメトリックを含むとよく、これはECC復号プロセスを支援する。
他の種類のECCメトリクスは、付加白色ガウス・ノイズ・シナリオでよく用いられる2乗誤差LLR、ならびにビタビ復号器、TCMコード、およびBICMコードでよく用いられる平均2乗誤差推定を含むとよい。
いくつかの実施形態では、ECCメトリックは復号ビットの相対的信頼度を示すとよい。例えば、ビットは読み取り閾値レベルの分布の中心からの距離に基づいて「誤った疑いがある」、「正常」、または「安全」に分類され得る。読み取り電圧が決定ゾーンの縁に近い場合に、関連ビットは「誤った疑いがある」と分類される。電圧が十分決定ゾーン内にある場合に、関連ビットは「安全」と分類される。さもなければ、ビットは「正常」と分類される。かかるECCメトリクスは、例えば、ブロック・コード・ソフト復号器によって使用され得る。
信号処理ユニット60はメモリセル32から読み取られた電圧に含まれる歪みを推定し、推定歪みに基づいてECCメトリクスを計算する。推定歪みに基づくECCメトリクスを用いることにより、それはより小さい歪みを有する値をより重要視するので、符号化器/復号器64によって実行されるECC復号プロセスの性能は著しく改善され、逆の場合も同じである。
図3の例を参照すると、そしてp(X=0)=p(X=1)=0.5と仮定すると、式[2]は次式になる。
Figure 0004999921
ここで、Sは決定ゾーン96A...96Hを示し、S|X=0は、ビットXが「0」に等しいセルにプログラムされる値のサブセットを示し、そしてS|X=1は、ビットXが「1」に等しいプログラムされた値のサブセットを示す。
仮にTは読み取り電圧rに最も近いX=0に対する値を示すとし、そしてTは読み取り電圧rに最も近いX=1に対する値を示す。ほとんどの実際的事例では、式[3]の和は各和の最大項によって近似されることが可能であり、最大項は通常TおよびTを含む項である。また、rの電圧分布は分散σを有するガウス分布であると仮定して、式[3]は次式によって近似され得る。
Figure 0004999921
rは特定の決定ゾーン内の値を表わし、符号[V、V]で示されるので、式[4]は次式のようにより正確に書くことができる。
Figure 0004999921
ここで、Q()はガウス相補累積分布関数(CDF)を示す。本例では、ユニット60はV、V、T、Tおよびσに基づいてLLRを計算する。
いくつかの実施形態では、MSPによって評価されるECCメトリクスは、ECCメトリクスの精度および性能を改善するために、MSPが利用できる追加セルパラメタを考慮に入れるとよい。かかる追加情報はセルの予想歪みレベルを示す任意のパラメタ、例えば、隣接セルに書き込まれた値、隣接セルの推定相互結合係数、セルが受けたプログラムおよび消去サイクルの数、前のプログラムおよび消去サイクル以後に経過した期間、セルで検出された前の復号誤り、セルが接続される語線および/またはビット線の識別、供給電圧(VCC)および温度のような環境パラメタ、および/またはその他の適切なパラメタを含むとよい。例えば、上式[3]の条件付き確率は追加セルパラメタを考慮に入れる条件付き確率で置き換えられ得る。
いくつかの実際的事例では、隣接セルからの相互結合妨害のレベルは隣接セルに蓄積した電圧(または電荷)ばかりでなく、妨害されたセルの電圧レベル(または電荷レベル)にも依存する。従って、いくつかの実施形態では、MSPは妨害するセルおよび妨害されたセルの電圧(または電荷)レベルにわたって規定した機能を評価することによってECCメトリクスを計算する。
相互結合係数の値を推定する段階のいくつかの態様が「メモリ素子における歪み推定および取消し」という発明の名称の2007年5月10日に提出のPCT出願に記載されており、この開示は参照して本明細書に盛り込まれる。
場合によっては、メモリ・セル・アレイをセルのグループに分割することが可能であり、これにより相互結合妨害は各グループに限定され、いろいろなグループは互いから分離される。極端な例がNROM素子で起こり、ここでは各セルは2つの値をセルの2つの電荷領域に格納する。セルとセルの分離が十分に高い場合に、相互結合は各セルの2つの値の間にだけ起こると見なすことができる。
かかる場合に、特定のセルグループにおけるセル間の相互結合係数は相互結合行列で構成されることが可能であり、ECCメトリクスを相互結合行列を用いて計算することができる。
仮に=[x...x]はk個の相互に妨害するセルのグループに書き込まれたk個の値を示すとする。仮に=[y...y]はセルから読み取られたk個の値を示すとする。場合によっては、例えば、セルがグループ内のすべてのセルに同時に適用されるプログラムおよび検査(P&V)プロセスを用いて書き込まれる場合、セルがプログラムされる時にである。ベクトルはいろいろな歪み機構、例えばエージングに因って経時変化する。後の時点におけるベクトルの値は次式のように書き込まれ得る。
Figure 0004999921
ここで、はエージングに因るk個の電圧の関連電圧変化のベクトルを示し、はランダム・エージング・ノイズ構成要素のベクトルを示す。k個のランダム構成要素は分散σを有するガウス分布を有すると仮定される。Hは次式のように規定される相互結合行列である。
Figure 0004999921
ここで、αijはグループ内のセルjからセルiまでの相互結合係数を示す。k=2の場合、例えばNROMの場合、
Figure 0004999921
そのk個の構成要素は相関性があるので、上式[6]の項Hはホワイトではない。上式[6]の両辺にHの逆数を乗じて次式を得る。
Figure 0004999921
ここで、項(H−1 )は決定性であり(そして、書き込まれたレベルは既知であると仮定すれば、既知であり)、はランダムかつホワイトである。
MSP52は係数αijを推定することによってH−1を計算する。次にMSPは次式を最小にするの値を決定することによってデータを復号することができる。
Figure 0004999921
ここで、‖‖はユークリッドノルムを示す。
例えば、ハード決定ECC復号器を用いる場合、MSPは、上式[9]を最小にする値のセットを決定するために、のいろいろの可能なデータ値の組み合わせを通じて走査または探索することができる。任意の適切な探索プロセスをこのために使用することができる。例えば、MSPは、非特許文献7(これは参照して本明細書に盛り込まれる)に記載の方法のような球復号方法を使用することができる。あるいは、V-BLAST近似復号方法も、当技術分野で周知のように、使用することができる。
ソフト決定ECC復号器を用いる場合、例えばBICMを用いる場合、MSPは通常各データビットのLLRを探索プロセス中に計算する。例えば、MSPは問題のデータビットが「1」に設定されるすべての値について上式[9]の最小値を計算し、この結果から問題のデータビットが「0」に設定されるすべての値について式[9]の最小値を差し引くことができる。次に結果として生じるLLRはソフトECC復号器によってメトリクスとして使用され得る。あるいは、は、におけるハード決定に基づいて、変化の名目平均値を用いることによって近似され得る。次に、式−H・は上式[4]または[5]におけるLLR計算への入力として使用され得る。
通常、上式[9]はECC復号器によってECCメトリックとして使用され得る。例えば、ECCがTCM方式を含み、かつECC復号器がビタビ復号器を備える場合に、復号器は上式[9]をグループ内のk個のセルに対応する値のグループのメトリックとして使用することができる。
図4は、本発明の実施形態に従って、データをメモリ・セル・アレイ28から検索するプロセスを図式的に示す機能ブロック図である。データをメモリ素子24から読み取る場合に、R/Wユニット40はアレイ28のメモリセル32から読込まれた電圧レベルに基づいてデジタル化サンプルを生成する。サンプルはデータバッファ72に格納される。
本特許出願の文脈の中で、かつ特許請求の範囲で、「読み取りデータ」、「サンプリング電圧」、および「読み取り電圧」のような用語は、メモリセルに格納したアナログ電圧をデジタルサンプルに明示的に変換することか、あるいはかかるサンプルをインターフェースを通じて受け取ることを意味する。例えば、上図1に示すような2チップ構成を用いる場合、これらの用語は外部比較器またはA/D変換器によって生成したサンプルをMSPによって受け取ることを指すことができる。
目標サンプル(すなわち、そのデータがホストによって要求されるメモリセルのサンプル)は信号処理ユニット60のメトリック計算モジュール108に提供される。メトリック計算モジュールは目標サンプルのECCメトリクスを計算する。
目標サンプルも、潜在的に目標セルを歪ませる可能性がある他のセルのサンプルも信号処理ユニット60の歪み推定モジュール112に提供される。モジュール112は目標セルおよび潜在的に妨害するセルのサンプルに基づいて目標セルに起因する歪みを推定する。モジュール112は歪みを推定するためにさまざまな方法を実行するとよい。例示的な推定方法を以下にさらに説明する。
モジュール112は、問題の歪み機構のタイプおよび用いる推定方法に基づいて、潜在的に妨害するセルのいろいろな数およびタイプを考察するとよい。例えば、いくつかの実施形態では、モジュール112はアレイ内の各セルからその8つの隣りのセルへの相互結合妨害を推定する。これらの実施形態では、通常モジュール112は復号されるページ(行)も前と後のページも処理する。この場合のデータバッファは数ページのサイズであり得る。
代替実施形態では、モジュール112は或るセルの左隣りおよび右隣りのセルだけに由来する歪みを考察するとよい。これらの実施形態では、データバッファはより小さく、約単一ページであるとよい。
いくつかの実施形態では、モジュール112は目標セルから離れたページ中のセルに起因する歪みを推定する。例えば、バック・パターン・ノイズは離れたページ以外の目標セルと同じ列のセルに起因する可能性がある。これらの実施形態では、かかる離れたセルの内容、またはこのセルに関する他の情報はモジュール112に提供されるとよい。
場合によっては、潜在的に妨害するセルから読み取られたサンプルは格納され、より粗い量子化で、すなわち目標セルのサンプルの量子化と比べてより小さいビット数で処理され得る。減らされた量子化はデータバッファのサイズおよびモジュール112の複雑さを減らすことができる。
歪み推定モジュール112は推定歪みをメトリック計算モジュール108に提供する。メトリック計算モジュールは推定歪みに基づいてECCメトリクスを計算し、メトリクスを符号化器/復号器64に提供する。ECC符号化器/復号器は目標メモリセルに格納したデータを復元するためにメトリクスを用いてECCを復号する。
いくつかの実施形態では、メトリック計算モジュール108は目標セルから読み取られたサンプル値について、かつ決定閾値について機能を規定する。この機能は、歪み推定がモジュール112によって提供されると仮定されると、ECC復号プロセスの誤り確率を小さくするために決定閾値に関してサンプル値を変更する。例えば、図3を参照すると、モジュール108によって評価される機能は曲線100A...100Dを曲線92A...92Dにそれぞれマップするように、電圧軸をほとんど包む。機能がその後の目標サンプルで動作する場合に、ビット決定はシフトされた分布100A...100Dに基づいて行われる。
場合によっては、ECC復号プロセスからのフィードバック(例えば、復号成功または失敗)は歪み推定およびメトリック計算プロセスをさらに改善するために使用され得る。かかるフィードバックを使用するデータ検索方法を以下に図5で説明する。
ECC復号器はセルのシーケンスについて考察し、結合決定を行うとよい。例えば、復号器は、このために、当技術分野で周知である、さまざまな最尤シーケンス推定(MLSE)技法を適用するとよい。
ECC符号化フィードバックを用いる反復歪み概算
図5は、本発明の別の実施形態に従って、データをメモリ・セル・アレイ28から検索する方法を図式的に示す流れ図である。方法の段階128〜140は上図4のプロセスに類似しているプロセスを表わしている。続く段階144〜156はECC復号プロセスからのフィードバックに基づいて復号プロセスの反復適合を実行する。
方法は、読み取り段階128で、アレイ28の所望目標セルの電圧および潜在的に妨害するセルからの電圧を読み取るR/Wユニット40で始まる。歪み推定段階132で、信号処理ユニット60は読み取り電圧に含まれる歪みを推定する。メトリック計算段階136で、ユニット60はECCメトリクスを計算する。ユニット60は任意のECCメトリックおよび任意の歪み推定方法、例えば本明細書に記載の方法などを使用することができる。復号段階140で、ECC符号化器/復号器64はECCを復号し、格納データを復元する。
ECC符号化器/復号器64は、ページがうまく復号されたかどうか、すなわち復号ページが誤りを含むかどうかをユニット60(またはコントローラ76)に通知する。成功検査段階144で検査すると、復号が成功した場合は、成功した終了段階148として、方法は成功裏に終了する。ユニット60は復号ページが誤りを含むかどうかを確認するためにいろいろな方法を使用するとよい。例えば、ユニット60は復号器出力が有効なコードワードであるかどうかを検査するとよい。あるいは、1つ以上の検査合計ビット、例えば周期的冗長検査(CRC)はデータと共に格納されるとよい。ユニット60は復号データについてCRCを計算し、それを格納CRC値と比較することができる。さらなる代替として、ユニット60は復号データの信頼性メトリックを計算し、それを所定閾値と比較するとよい。
本例では、或る最大数のフィードバック反復だけが、エンドレスループ、手詰まり状態を回避するために許容されている。従って、ECC復号器からのフィードバックが復号ページは誤りを含むことを示す場合に、反復検査段階152で、ユニット60(またはコントローラ76)は最大数の反復が既に実行されたかどうかを検査する。最大数の反復が既に行い尽くされた場合は、誤り終了段階160で、方法はデータをうまく復号せずに終了する。
さもなければ、フィードバック適合段階156で、ECC復号器は復号プロセスを適合させる。例えば、ECC復号器は最小誤り確率を生じたLLR値に印を付けることができる。次にユニット60はこの情報を用いて、最小誤り確率を有する目標サンプルに印を付ける。代替として、復号器は低い信頼レベルを有するビットに「消去個所」として印を付け、復号プロセス結果によって消去マークを更新するとよい。さらなる代替として、ECC復号器フィードバックを用いて復号プロセスを調整または更新するその他の技術も使用することができる。次に方法は上の歪み推定段階132にループバックし、ユニット60は与えられたフィードバックに基づいて歪みを再推定する。
MSP52は、上の復号段階140でデータを復号する場合に、電圧閾値の或るセットを使用する。いくつかの実施形態では、誤りが上の成功検査段階144で検出される場合に、ユニット60は復号性能を改善するために閾値を調整することによって復号プロセスを変更する。ユニット60は閾値を調整する任意の適切な方法を使用するとよい。例えば、ユニット60は勾配検索を実行するとよく、そこでは閾値は、誤り性能が向上するか、または低下するかどうかに応じて増減する。あるいは、閾値は必要な読み取り動作の数を最小にするように調整され得る。決定閾値を調整するために使用され得る、さらなる閾値適合方法は前掲の米国仮特許願第60/894290号に記載されている。
場合によっては決定閾値を調整する段階がセル電圧を再読み取る段階を含むことに留意する必要がある。例えば、セル閾値電圧が上述のようにいろいろな電圧を語線に印加することによって読み取られる場合に、セルは変更された決定閾値を用いて再読み取られる。セルが高分解能ADCを用いて読み取られる場合に、セルの再読み取りは通常必要ではない。
いくつかの実施形態では、ユニット60は各個別セルの歪み特性に適合させるために閾値をセルごとに選択することができる。可能な閾値は適応できる方法で予め決定または調整され得る。例えば、セルの或るグループは、符号TH1...TH3で示す閾値の3つの所定セットを用いて、3つの復号反復で読み取られると仮定する。本例では、次の表は3つの復号反復によって生じるビットシーケンスを表にして示している。
Figure 0004999921
シーケンス中の各ビットについて、3つの閾値セットの1つは最も低い歪みレベルを生じた。各ビットの最良閾値セットは次の表によって与えられる。
Figure 0004999921
ユニット60は、シーケンス中の各ビットについて、最良閾値セットを用いた復号結果を選択する。このようにして、決定結果は次の表によって与えられる。
Figure 0004999921
代替実施形態では、ユニット60はECC復号前に閾値をセルごとに選択する。これらの実施形態では、セルはECC復号に先立って複数の所定セットの閾値を用いて読み取られる。次に、各セルについて、閾値の最良セットがこのセルの推定歪みに従って使用される。最良閾値セットはECC復号器への入力を生成するために各セルに対して適用される。
代替として、最良閾値を用いて復号された値を選択するために、ユニット60はいろいろな閾値を用いていろいろな反復で読み取られたデータ値を組み合わせることがよい。例えば、ユニット60はいろいろな反復で復号されたビット値について多数決を実行するとよい。
さらなる代替として、ユニット60はいろいろな閾値を用いてセルから電圧を読み取り、ECCを復号する前にいろいろな反復からの読取り値を組み合わせることができる。言い換えれば、各セルについて、ユニット60はいろいろな閾値を用いてセル電圧を読み取り、複数の読み取り電圧に基づいてECC復号メトリクス(例えば、LLR)を生成することができる。次に、ECCはメトリクスを用いて復号される。いくつかの実施形態では、ECC復号が成功するまで、セルは反復していろいろな閾値を用いて読み取られる。各反復で、セルはいろいろな閾値を用いて読み取られる。復号メトリクスはいろいろな反復でセルから読み取られた電圧に基づいて計算または更新される。ECCが成功裏に復号されるまでプロセスは続く。
上の記述がセルをいろいろな閾値でセルごとに再び読み取ることに言及したけれども、単一セットの閾値をページ全体に使用することができる。
いくつかの実施形態では、MSP52は高まる性能を有する2つ以上のいろいろな復号器を備える。より高性能の復号器は通常、より簡単な復号器に比べて、より高い複雑さを有し、より大きい電力を使い、そしてより大きい処理遅延を発生させる。最初に、MSPは最も複雑でない復号器を用いてページを復号し、復号誤りが検出されるときだけより高性能の復号器に戻る。この方法を用いて、高性能で複雑な復号器は必要なときだけ起動されるので、平均電力消費および処理遅延は小さくなる。
例えば、MSPは最初どんなECC復号も無しにデータを復号するように試み、誤りが検出されるときECC復号器の使用に戻る。この技術は、例えば、MSPによって使用されるECCスキームがシステマティックコード、すなわち符号化されていない情報ビットを変更せずに別個の冗長ビットを追加するコードを備える場合に使用され得る。別の例として、より簡単な復号器はハードウェアで実施されるハード決定リード-ソロモン(RS)復号器を備えるとよく、この入力はメモリなしのセルごとの決定を含む。より高性能の復号器はソフト決定RS復号器を含むとよく、これはソフトウェアで実施され、セル電圧の高分解能サンプリングを使用する。
ECC復号器によって与えられたフィードバックに基づいて復号プロセスを変更する別の可能性は、電圧レベルが読み取られる分解能を変更することである。分解能は、例えば、成功した復号が達成されるまで、メモリセルから読み取られた電圧をデジタル化するために使用される閾値電圧を反復して変更することによって変更され得る。上で述べたように、いくつかの実施形態では潜在的に妨害するセルの電圧および妨害されたセルの電圧はいろいろな分解能で読み取られる。かかる場合に、潜在的に妨害するセル、妨害されたセル、または両方の読み取り分解能が適合され得る。
好適な歪み概算方法
MSP52の信号処理ユニット60は、メモリセル32から読み取られた電圧に含まれる歪みを推定する任意の適切な方法を使用することができる。いくつかの例示的な方法が前掲の米国仮特許願第60/747106号および第60/885024号に記載されている。あるいは、その他の適切な歪み推定方法を使用することができる。
図6は、本発明の実施形態に従って、メモリ・セル・アレイ28の歪みを推定する方法を図式的に示す流れ図である。以下に述べる方法は歪み推定モジュール112によって、例えば上図5の方法の歪み推定段階132で、使用され得る。この方法は、目標セルよりも前にプログラムされたセルに起因する歪みは、目標セルの後にプログラムされたセルに起因する歪みと異なる可能性があるという事実を使用する。
別の仮定は、当技術分野で周知のように、アレイはプログラムおよび検査(P&V)プロセスを用いてプログラムされたことである。P&Vプロセスは、例えば、非特許文献8および非特許文献9に記載されており、これらは両方とも参照して本明細書に盛り込まれる。
いくつか既知のP&Vプロセスでは、或るページの各セルは符号0...M−1で示すM個の電圧レベルの1つにプログラムされ、ここでレベル0は消去レベルである。P&VプロセスはページをM個のフェーズでプログラムする。フェーズiで、一連の電圧パルスはセルに印加され、このプログラムされたレベルはi以上でなければならない。各パルス後に、プロセスはいろいろなセルの電圧を読み取り、所望レベルに達したセルへのパルスの印加を停止する。
方法は、電圧読み取り段階170で、アレイ32のセル28から読み取られサンプルされた電圧を受け入れるMSP52で始まる。電圧は目標セルの電圧および目標セルへの妨害を潜在的に引き起こすセルの電圧の両方とも含む。本例では、アレイ28のページは、他の読み取り設定も使用され得るけれども、順番に、すなわち行ごとに読み取られる。
所与の目標セルについて、分類段階174で、潜在的に妨害するセルはプログラミングの時間によって分類される。符号D1で示す、セル32のサブセットは、目標セルがプログラムされた時にP&Vプロセスによってまだ完全にプログラムされなかった潜在的に妨害するセルを含む。目標セルがプログラムされたときにクラスD1のセルは消去レベルにあったが、それ以来プログラムされた可能性がある。
いくつかのプログラミングスキームでは、セルはいくつかの段階でプログラムされる。例えば、4レベルセルのいくつかのプログラミング方法では、最下位のビット(LSB)および最上位のビット(MSB)は2つの別々の段階で書き込まれる。例示的な方法は前掲の竹内らによる文献に記載されている。かかる方法では、セルは或る時点で中間レベルにプログラムされるとよく、今後のプログラミング段階はセルをその最終プログラム値に至らせる。かかるプログラミング方法が使用される場合に、クラスD1は、目標セルがプログラムされるときに消去レベルか、あるいは中間プログラミングレベルにあったが、それ以来その最終値にプログラムされた可能性があるセルを含むように拡大される。
符号D2で示す、セル32の別のサブセットは、目標セルがプログラムされた時に既にプログラムされていた潜在的に妨害するセルを含む。このセルから目標セルへの妨害が目標セルがプログラムされたときに既にあったので、P&Vプロセスはこの妨害を少なくとも部分的に既に補正した。ただし目標セルが消去される場合は除き、この場合にP&Vアルゴリズムはそれに適用されなかった。符号D3で示す、セルの第3クラスは、目標セルと同時にプログラムされる潜在的に妨害するセル、例えば、目標セルと同じページのセルを含む。
信号処理ユニット60は、クラスベースの歪み推定段階178で、潜在的に妨害するセルのいろいろなクラスによる目標セルに対する歪みを推定する。仮にnおよびmはアレイ28内の目標セルの行および列の数をそれぞれ示す。xn,mは目標セルがP&Vプロセスを用いて書き込まれた後の目標セルの電圧を示す。xi,jは目標セルがプログラムされた時の行iおよび列jに位置するセルの電圧を示す。yn,mは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってxn,mと異なる。同様に、yi,jは目標セルから読み取られたセル電圧値を示し、これは歪みに因ってxi,jと異なる。
n,mに含まれる集合歪み次式のように推定され得る。
Figure 0004999921
ここで、hn,m,i,jは行iおよび列jの妨害するセルから行nおよび列mの目標セルへの相互結合妨害係数を示す。bは一定のバイアス項を示す。
クラスD1のセルは、目標セルがプログラムされた後にプログラムされたセルを含む。従って、このセルに起因する妨害はその時に存在しなかったし、P&Vプロセスはこの歪みを補償しなかったこともあり得る。
クラスD2のセルは、目標セルがプログラムされたときに既にプログラムされており、このセルに起因する歪みは、P&Vプロセスが目標セルをプログラムしたときに既に存在していた。従って、目標セルがプログラムされたとき、P&Vプロセスはこの歪みを既に(少なくとも部分的に)補償していた。クラスD2は目標セルが消去されるときに空であり、何故ならこの場合にそれはP&Vアルゴリズムによって処理されず、前にプログラムされたセルからの歪みは補償されなかったからであることに留意する必要がある。それにもかかわらず、この補償は目標セルがプログラムされた時に正しかったし、エージング、または目標セルが読み取られた時間と時間との間に起きた他の効果を考慮しない。上式[10]の第2項のxは電圧の推定値であり、これは目標セルがプログラムされた時に妨害するセルに存在していた。
式[10]の第1および第2項はプログラムする時と読み取る時との間における妨害するセル電圧の変化のために互いに異なることに留意する必要があり、電圧変化に対するクラスD1のセルは追加プログラミングに起因する一方で、変化に対するクラスD2のセルは歪みに起因する。
いくつかの実施形態では、(数式)はECC復号をこれらのセルの出力に適用することによって推定され得る。ECCはセルに書き込まれたビットのセットを復元することによって深刻な誤り、例えば深刻な漏洩に起因する誤りを訂正するのに役立ち得る。あるいは、式[10]の第2項のyi,j−xi,jはyi,jのメモリなしの機能、例えば電圧レベルがyi,jであるセルについて漏洩誤りを推定するα・yi,jを用いて推定され得る。あるいは、yi,j−xi,jはセルからの平均予想漏洩によって近似され得る。
クラスD3のセルを指す上式[10]の第3項はP&Vプロセスの使用を想定し、P&Vプロセスは目標セルと同じか、またはそれより小さいレベルにプログラムされるD3セルに起因する歪みを本質的に補償する。目標セルと同じページの潜在的に妨害するセルがより高いレベルにプログラムされる場合に、目標セルが既に完全にログラムされた後に、このプログラミングはP&Vプロセスの後のパスで実行される。従って、目標セルよりも高いレベルを有するD3セルに起因する歪みのかなりの部分は、目標セルがプログラムされる時に存在せず、P&Vプロセスは歪みのこの部分を補償することができない。
場合によっては、或るセルをプログラムするために用いるP&Vパルスの数は、P&Vプロセスのセルごとの許容値ならびにさまざまな読み取りおよび書き込み間違いによって変化する可能性がある。結果として、いくつかのセルは、同じ電圧レベルであっても、他から書き込むのがより速くなり得る。目標セルが或る妨害するセルよりもプログラムするのが速い場合に、このセルからの妨害はP&Vプロセスによって正しく補償されない。
いくつかの実施形態では、上式[10]はこの差を補償するために変更され得る。式[10]の第3項は次のように書くことができる。
Figure 0004999921
ここで、
Figure 0004999921
式[12]で、xは、例えば、上述のECC復号プロセスを用いることによるxの抽出値を示す。Δは目標セルが妨害するセルよりもプログラムするのが速かった事実を補償する因子を示す。
上式[10]は、歪みは妨害するセルの電圧変化だけに依存し、妨害するセルの電圧には依存しないと仮定する。上式[10]はまた、歪みは線形であり、すなわち妨害するセルの電圧変化を乗じた定数としてモデル化され得ると仮定する。いくつかの実際のシナリオでは、しかしながら、これらの2つの仮定は当てはまらない可能性がある。具体的に言えば、場合によっては或る妨害するセルから或る妨害されるセルへの妨害は妨害するセルの電圧および妨害されるセルの電圧の両方に依存する。場合によっては、式[10]は次式のようにより一般に書き変えられ得る。
Figure 0004999921
ここで、f(t,t,r)は電圧が、tからtへ変化する妨害するセルに起因する、電圧レベルがrである妨害されるセルに対する歪みを示す。
場合によっては、例えば、セル電圧がバック・パターン・デペンダンシフィ(BPD)の影響を受ける場合に、妨害するセルは妨害されるセルと同じセルストリングまたはビット線に沿って位置し、或るセルに対する歪みはビット線に沿ってその上に位置するセルの電圧に依存する。
場合によっては、ユニット60は特定のセルの歪みを他のセルの既知または前に推定した歪み値から予測するとよい。例えば、アレイ内で互いに近接して位置するセルは類似または相関性がある歪みレベルを有する可能性がある。別の例として、歪みのいくらかが供給電圧に起因するか、またはそれを通じて伝播する場合に、同じ電源(VCC)回路を共用するセルは類似の歪みを有する可能性がある。
いくつかの実施形態では、ユニット60は、センス増幅器において利得およびバイアス誤りに起因する歪みに応答可能なようにECCメトリクスを訂正する。或るメモリセルが読み取られるとき、センス増幅器はセルを流れる電流を電圧に変換する。従ってセンス増幅器出力における電圧はv=kSAiを満足する必要があり、ここでvは出力電圧を示し、iはセル電流を示し、そしてkSAは増幅器の利得を示し、これはすべてのセルについて一定であると仮定する。多くの実際の場合に、しかしながら、増幅器の利得は一定ではない。増幅器はまたバイアス誤りを生じさせる可能性がある。従って、センス増幅器の出力電圧はv=(kSA+ΔSA)i+BSAと表わすことが可能であり、ここでkSAは一定であり、ΔSAは利得誤りを示し、そしてBSAはバイアス誤りを示す。ΔSAおよびBSAはセンス増幅器ごと(すなわち、ビット線ごと)に変化する可能性がある。
いくつかの実施形態では、ユニット60はΔSAおよびBSAの値を推定し、推定したセンス増幅器パラメタに基づいてECCメトリクスを変更する。例えば、上式[4]また[5]のLLR計算は、式[4]の読み取り電圧r、または式[5]の区間境界VおよびVを変え、変倍することによって、いろいろなΔSAおよびBSA値を明らかにするために変更され得る。
例えば、上式[4]の読み取り電圧rはrで置き換えすることが可能であり、これはr=(r−BSA)・kSA/(kSA+ΔSA)と定義される。
図6の例示的な方法が特定のP&Vプロセス実施に言及したけれども、この方法はその他の適切なP&Vプロセスで、変更すべきところは変更して、使用され得る。開示した実施形態に基づいて他の種類のP&Vプロセスで使用するための方法の適合は当業者には明らかである。
多くの既知の素子では、名目電圧レベルの1つは「消去」レベルと定義される。いくつかの既知のデータ記憶方法および素子では、消去レベルにあるセルはP&Vプロセスに参加しない。従って、これらのセルはP&Vプロセスによって訂正されない隣接セルから相互結合妨害を被る可能性がある。この妨害は消去レベル電圧分布をすぐ上のレベルの方へ拡大し、必要なマージンを増やす。多くのNANDフラッシュセルでは、消去レベルは負電圧を有するのに対して、他のレベルは正電圧を有する。かかる既知の素子では、負電圧を読み取ることは多くの場合不可能であり、従って妨害を訂正するために消去セルの正確な電圧を読み取ることは不可能である。いくつかの実施形態では、MSP52が或るメモリセルがわずかに正の電圧レベルを有することを検出し、このセルの歪みレベルが高いことを測定する場合に、MSPは、このセルは消去セルであり、その電圧は歪みに因って誤って正になったと判断を下す。MSPは、必要なマージンを減らすように、かかるセルの歪みを補償することができる。
NROMフラッシュセルでは、消去セルの電圧レベルは通常正であり、従ってこれを読み取ることができる。NROMセルの2つの側の間の相互結合は通常P&Vプロセスによって補償されるけれども、歪みはセルの片側または両側が消去されている場合に補償されない。かかる場合に、MSP52は、セルの片側または両側が消去されている場合でさえも、歪みを補償し、必要なマージンを減らすことができる。
本明細書で説明した実施形態はデータをマルチレベルセル(MLC)から検索する段階に主に対処しているけれども、本発明の原理は単一レベルセル(SLC)でも使用することができる。本明細書で説明した実施形態はデータを固体メモリ素子から検索する段階に主に対処しているけれども、本発明の原理はハード・ディスク・ドライブ(HDD)ならびに他の記憶媒体および素子のデータを格納し、検索するためにも使用することができる。
従って、上述の実施形態は例を用いて言及されること、および本発明は上に具体的に図示され、記述されたものに限定されないことが認識される。むしろ、本発明の範囲は、上に記述したさまざまな特徴、および前の説明を読む当業者の心に浮かぶだろう、かつ先行技術に開示されていない、その変更例および変更態様の組み合せおよび副組合せの両方を含む。
本発明の実施形態に従って、メモリ信号処理の装置を図式的に示すブロック図である。 本発明の実施形態に従って、メモリ・セル・アレイを図式的に示す図である。 本発明の実施形態に従って、メモリ・セル・アレイの電圧分布を示すグラフである。 本発明の実施形態に従って、データをメモリ・セル・アレイから検索するプロセスを図式的に示す機能ブロック図である。 本発明の実施形態に従って、データをメモリ・セル・アレイから検索する方法を図式的に示す流れ図である。 本発明の実施形態に従って、メモリ・セル・アレイの歪みを推定する方法を図式的に示す流れ図である。
符号の説明
20 装置
24 メモリ素子
28 メモリ・セル・アレイ
32 アナログ・メモリ・セル
36 データバッファ
40 読み取り/書き込みユニット
48 制御論理
52 メモリ信号プロセッサ
56 入力/出力バッファ
60 信号処理ユニット
64 符号化器/復号器
72 データバッファ
76 コントローラ

Claims (42)

  1. 1つのメモリ素子を動作させる方法であって、
    データを1つの誤り訂正記号(ECC)を用いて符号化し、前記符号化されたデータを第1アナログ値として前記メモリ素子のそれぞれのアナログ・メモセルに格納するステップと、
    前記符号化されたデータを格納した後に、前記符号化されたデータが格納された前記メモリ素子の前記メモリセルからそれぞれ第2アナログ値を読み取るステップと、
    ここにおいて少なくともいくつかの前記第2アナログ値は、それぞれの前記第1アナログ値と異なり、
    前記第2アナログ値に含まれる1つの歪みを推定するステップと、
    前記推定された歪みに応答して前記第2アナログ値に関して誤り訂正を計算するステップと、
    前記データを再構成するために、1つのECC復号プロセスにおいて前記誤り訂正を用いて前記第2アナログ値を処理するステップと、
    からなることを特徴とする方法。
  2. 前記誤り訂正を計算するステップが、
    それぞれの前記メモリセルについて、前記歪みを示す1つ以上のセルパラメタを評価するステップと、
    前記セルパラメタに応答して前記誤り訂正を計算するステップと、
    を含むことを特徴とする請求項1に記載の方法。
  3. 前記セルパラメタが、他のメモリセルから読み取られた前記アナログ値、前記他のメモリセルの推定クロスカップリング係数、前記読み取られた第2アナログ値の1つの統計的分布のパラメタ、前記メモリセルが前に受けたプログラミングおよび消去サイクルの数、前のプログラミングおよび消去サイクルからの経過時間、前記メモリセルで検出された従前の誤り、前記メモリセルが接続されている1つのワード線1つの識別、前記メモリセルが接続されている1つのビット線の1つの識別、前記メモリセルが接続されている前記ビット線に結合された1つのセンスアンプ1つの推定パラメタ、および1つの環境パラメタから成るパラメタの群から選択される少なくとも1つのパラメタを含むことを特徴とする請求項2に記載の方法。
  4. 前記第2アナログ値を処理するステップが、
    前記第2アナログ値の可能な値の1つの範囲を複数の決定間隔に分割するステップと、
    前記第2アナログ値が入るそれぞれの前記決定間隔を決定するステップと、を含み、
    前記誤り訂正を計算するステップが、
    前記ECC復号プロセスの性能を改善するために、前記第2アナログ値を前記決定間隔に対して変更する1つの関数定義するステップを含む、
    ことを特徴とする請求項1に記載の方法。
  5. 前記第2アナログ値を処理するステップが、
    前記ECC復号プロセスの1つの性能に関するフィードバックを受け取るステップと、
    前記フィードバックに応答して前記ECC復号プロセスを変更するステップと、
    を含むことを特徴とする請求項1に記載の方法。
  6. 前記第2アナログ値を処理するステップが、前記第2アナログ値を決定閾値と比較するステップを含み、前記ECC復号プロセスを変更するステップが、前記決定閾値を変更するステップを含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  7. 前記決定閾値を変更するステップが、前記変更した決定閾値を用いて、前記メモリセルから前記第2アナログ値を再び読み取るステップを含むことを特徴とする請求項6に記載の方法。
  8. 前記第2アナログ値を前記決定閾値と比較するステップが、前記決定閾値を用いて前記メモリ素子の前記第2アナログ値を読み取るステップを含み、前記決定閾値を変更するステップが前記閾値を変更する1つの命令を前記メモリ素子に送るステップを含む、ことを特徴とする請求項6に記載の方法。
  9. 前記第2アナログ値を処理するステップが、
    異なる複数組の前記決定閾値を用いて、前記ECC復号プロセスをそれぞれ複数反復することによって、各メモリセルに格納された前記データの多重の推定値を生成するステップと、
    前記データの前記多重の推定値に応答して前記データを再構築するステップと、
    を含むことを特徴とする請求項6に記載の方法。
  10. 前記データを再構築するステップが、それぞれの前記メモリセルに対し前記多重の推定値の内の1つを独立して選択するステップを含むことを特徴とする請求項9に記載の方法。
  11. 前記第2アナログ値を処理するステップが、1つの第1誤り性能を有する1つの第1ECC復号プロセスを適用するステップを含み、
    前記フィードバックを受け取るステップが、前記第1のECC復号プロセスを用いて復号された前記データにおける復号誤りの1つの表示を受け取るステップを含み、
    前記ECC復号プロセスを変更するステップが、前記第1誤り性能よりも性能が優れた1つの第2誤り性能を有する1つの第2ECC復号プロセスを用いて前記第2アナログ値を処理するステップを含む、ことを特徴とする請求項5に記載の方法。
  12. 前記ECC復号プロセスを変更するステップが、前記第2アナログ値を読み取るのに用いる1つのサンプリング分解能を変更するステップを含むことを特徴とする請求項5に記載の方法。
  13. 前記第2アナログ値を読み取るステップが、
    それぞれの異なる複数組の前記決定閾値を用いて前記第2アナログ値の多重のインスタンスを読み取るステップを含み、
    前記誤り訂正を計算するステップが、
    それぞれの前記メモリセルに対し前記多重のインスタンスを独立して組み合わせるステップと、
    前記組み合わされ多重のインスタンスに基づいて、前記誤り訂正を計算するステップと、
    を含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  14. 前記第2アナログ値の前記複数のインスタンスを読み取り、組み合わせるステップが、
    前記第2アナログ値の追加インスタンスを反復して得るステップと、
    前記ECCの復号に成功するまで、前記追加インスタンスを用いて前記誤り訂正を更新するステップと、
    を含むことを特徴とする請求項13に記載の方法。
  15. それぞれの前記メモリセルについて、前記歪みを推定するステップが、
    前記メモリセルから読み取られた前記第2アナログ値における前記歪みに寄与する可能性のある1サブ組の干渉可能性を有するメモリセルから前記第2アナログ値を読み取るステップを含み、
    前記誤り訂正を計算するステップが、前記干渉可能性を有するメモリセルの寄与による前記歪みを評価するステップを含む、
    ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  16. 前記干渉可能性を有するメモリセルの寄与により前記メモリセルに与えられる前記歪みを評価するステップが、前記干渉可能性を有するメモリセルから読み取られた前記第2アナログ値および前記メモリセルから読み取られた前記第2アナログ値の両方に基づいて、干渉可能性を有するそれぞれのメモリセルの寄与による前記歪みを近似するステップを含むことを特徴とする請求項15に記載の方法。
  17. 前記第2アナログ値を処理するステップが、
    前記メモリセルの前記第2アナログ値を1つの第1量子化レベルで処理するステップと、
    前記干渉可能性を有するメモリセルから読み取られた前記第2アナログ値を、前記第1量子化レベルよりも粗い1つの第2量子化レベルで処理するステップと、
    を含むことを特徴とする請求項15に記載の方法。
  18. 前記第2アナログ値を処理するステップが、
    前記第2アナログ値を読み取るのに使用され1つの回路の1つの閾値を反復して変更することによって、前記第2アナログ値を前記第1および第2量子化レベルで読み取るステップを含む、
    ことを特徴とする請求項17に記載の方法。
  19. 前記符号化データを格納するステップが、
    1つのプログラムおよび検証(P&V)プロセスを用いて前記第1アナログ値を前記メモリセルに書き込むステップを含み、
    前記歪みを推定するステップが、
    前記P&Vプロセスによって、前記1つのメモリセルよりも早く完全にプログラムされたメモリセル、前記1つのメモリセルよりも遅く完全にプログラムされたメモリセル、および前記1つのメモリセルと同時に完全にプログラムされたメモリセル、から成る群の部類から選択される少なくとも2つの部類に、複数の前記干渉可能性を有するメモリセルを分類するステップと、
    歪みの合計それぞれの前記部類の内で別々に計算するステップと、
    を含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  20. 前記メモリセルがフラッシュ・メモセルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  21. 前記メモリセルがダイナミック・ランダム・アクセス・メモリ(DRAM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  22. 前記メモリセルが位相変化メモリ(PCM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  23. 前記メモリセルが窒化読出し専用メモリ(NROM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  24. 前記メモリセルが磁気RAM(MRAM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  25. 前記メモリセルが強誘電体RAM(FRAM)セルからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  26. 前記ECCが1つのブロックコードからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  27. 前記ブロックコードが1つのBCHコードまたは1つのリード・ソロモン(RS)コードからなることを特徴とする請求項26に記載の方法。
  28. 前記ブロックコードが1つの低密度奇偶検査(LDPC)コード、1つのターボコード、および1つのターボ・プロダクト・コード(ТPC)の内の1つからなることを特徴とする請求項26に記載の方法。
  29. 前記ECC復号プロセスが1つの反復復号プロセスからなることを特徴とする請求項28に記載の方法。
  30. 前記ECC復号プロセスが、前記第2アナログ値を読み取ることによって生成されるフィードバックを使用することを特徴とする請求項1〜5のいずれか一項に記載の方法。
  31. 前記ECC復号プロセスが、1つの最尤シーケンス推定(MLSE)プロセスからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  32. 前記ECCが、1つの従来コード、1つのトレリス符号化変調(TCM)コード、1つのビットインターリブド符号化変調(BICM)コード、および1つの連結コードの内の1つからなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  33. 前記誤り訂正が尤度比(LR)からなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  34. 前記誤り訂正が対数尤度比(LLR)からなることを特徴とする請求項1〜5のいずれか一項に記載の方法。
  35. 前記歪みを推定するステップが、前記メモリセルの1つに含まれる前記歪みを他の複数のメモリセルに含まれる前記歪みに基づいて予測するステップを含むことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  36. 前記メモリセルが、孤立した複数の群干渉可能性を有するメモリセルに配置され、
    それぞれの群の前記歪みを推定するステップが、前記内の前記メモリセルのペア間の相互干渉を表わす1つのクロスカップリング行列1つの行列を評価するステップを含み、
    前記誤り訂正を計算するステップが、前記第1アナログ値に適用され、前記内のそれぞれの前記メモリセルの平均歪みレベル合計した前記クロスカップリング行列前記行列と、前記第2アナログ値に適用された前記クロスカップリング行列前記行列との間の1つの距離を計算するステップを含む、
    ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  37. 前記孤立した複数の群それぞれ窒化読出し専用メモリ(NROM)セルからなり、それぞれの群内の前記干渉可能性を有するメモリセルがそれぞれの前記NROMセルの第1および第2電荷蓄積領域からなることを特徴とする請求項36に記載の方法。
  38. 前記メモリセルが、孤立した複数の群干渉可能性を有するメモリセルに配置され、
    それぞれの群の前記歪みを推定するステップが、前記内のそれぞれの前記メモリセルの平均歪みレベルの1つのベクトル、および前記内の前記メモリセルのペア間の相互干渉を表わす1つのクロスカップリング行列を評価するステップを含み、
    前記誤り訂正を計算するステップが、前記内の前記メモリセルから読み取られた前記第2アナログ値の1つのベクトルと、前記クロスカップリング行列と前記平均歪みレベルの前記ベクトルとの1つの積との1つのに応答して前記を計算するステップを含む、
    ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  39. 前記孤立した複数の群が、それぞれ窒化読出し専用メモリ(NROM)セルからなり
    それぞれの群内の前記干渉可能性を有するメモリセルが、それぞれ前記NROMセルの第1および第2電荷蓄積領域からなる、ことを特徴とする請求項38に記載の方法。
  40. 前記符号化データを格納するステップが、
    前記符号化データをスクランブルするステップと、
    前記スクランブルされたデータを格納するステップと、を含み、
    前記第2アナログ値を処理するステップが、
    前記メモリセルから読み取られた前記第2アナログ値をスクランブルするステップを含む、
    ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  41. 前記データを格納するステップが、
    少なくともいくつかの前記メモリセルを1つの消去されたレベル維持するステップを含み、
    前記第2アナログ値を読み取るステップ、前記歪みを推定するステップ、前記誤り訂正を計算するステップ、および前記第2アナログ値を処理するステップが、
    前記消去されたレベル維持されていた前記メモリセルから読み取られた、前記第2アナログ値の前記歪みを補償するステップを含む、
    ことを特徴とする請求項1〜5のいずれか一項に記載の方法。
  42. 1つの誤り訂正記号(ECC)を用いて符号化され、第1アナログ値として1つのメモリ素子のそれぞれのアナログ・メモリセルに格納されたデータを獲得する装置であって、
    前記符号化されたデータが格納された前記メモリ素子の前記アナログ・メモリセルから、それぞれ第2アナログ値を読み取るように構成される1つの読み取りユニットと、
    ここにおいて少なくともいくつかの前記第2アナログ値はそれぞれの前記第1アナログ値と異な
    前記第2アナログ値に含まれる1つの歪みを推定し、前記推定された歪みに応答して前記第2アナログ値に関して誤り訂正を計算するように構成される1つの信号処理ユニットと、
    前記ECCを復号し、前記データを再構築するために、前記誤り訂正を用いて前記第2アナログ値を処理するように構成される1つの復号器と、
    からなることを特徴とする装置。
JP2009508669A 2006-05-12 2007-05-10 メモリ素子用の歪み推定と誤り訂正符号化の組み合せ Active JP4999921B2 (ja)

Applications Claiming Priority (19)

Application Number Priority Date Filing Date Title
US74710606P 2006-05-12 2006-05-12
US60/747,106 2006-05-12
US86348006P 2006-10-30 2006-10-30
US60/863,480 2006-10-30
US86381006P 2006-11-01 2006-11-01
US60/863,810 2006-11-01
US86739906P 2006-11-28 2006-11-28
US60/867,399 2006-11-28
US88502407P 2007-01-16 2007-01-16
US60/885,024 2007-01-16
US88610207P 2007-01-23 2007-01-23
US60/886,102 2007-01-23
US89286907P 2007-03-04 2007-03-04
US60/892,869 2007-03-04
US89429007P 2007-03-12 2007-03-12
US60/894,290 2007-03-12
US89445607P 2007-03-13 2007-03-13
US60/894,456 2007-03-13
PCT/IL2007/000580 WO2007132457A2 (en) 2006-05-12 2007-05-10 Combined distortion estimation and error correction coding for memory devices

Publications (3)

Publication Number Publication Date
JP2009537056A JP2009537056A (ja) 2009-10-22
JP2009537056A5 JP2009537056A5 (ja) 2010-06-03
JP4999921B2 true JP4999921B2 (ja) 2012-08-15

Family

ID=41314441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009508669A Active JP4999921B2 (ja) 2006-05-12 2007-05-10 メモリ素子用の歪み推定と誤り訂正符号化の組み合せ

Country Status (1)

Country Link
JP (1) JP4999921B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100838292B1 (ko) * 2007-06-20 2008-06-17 삼성전자주식회사 메모리 셀의 읽기 레벨 제어 장치 및 그 방법
JP5399403B2 (ja) * 2007-10-31 2014-01-29 アギア システムズ インコーポレーテッド マルチレベルフラッシュメモリの系統誤差訂正
KR101434405B1 (ko) * 2008-02-20 2014-08-29 삼성전자주식회사 메모리 장치 및 메모리 데이터 읽기 방법
KR101378365B1 (ko) * 2008-03-12 2014-03-28 삼성전자주식회사 하이브리드 메모리 데이터 검출 장치 및 방법
US8675417B2 (en) * 2008-09-28 2014-03-18 Ramot At Tel Aviv University Ltd. Method and system for adaptive coding in flash memories
US8671327B2 (en) 2008-09-28 2014-03-11 Sandisk Technologies Inc. Method and system for adaptive coding in flash memories
CN102203876B (zh) 2008-09-30 2015-07-15 Lsi公司 用于存储器器件的软数据生成的方法和装置
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US8213255B2 (en) * 2010-02-19 2012-07-03 Sandisk Technologies Inc. Non-volatile storage with temperature compensation based on neighbor state information
US8737138B2 (en) 2010-11-18 2014-05-27 Micron Technology, Inc. Memory instruction including parameter to affect operating condition of memory
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
CN103917964A (zh) * 2011-11-02 2014-07-09 国立大学法人东京大学 存储控制器和数据存储装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4068863B2 (ja) * 2002-03-08 2008-03-26 富士通株式会社 不揮発性多値半導体メモリ
JP3913704B2 (ja) * 2003-04-22 2007-05-09 株式会社東芝 不揮発性半導体記憶装置及びこれを用いた電子装置
KR101274950B1 (ko) * 2006-05-12 2013-06-17 애플 인크. 조절가능한 용량을 가진 메모리 디바이스
JP5095131B2 (ja) * 2006-05-31 2012-12-12 株式会社東芝 半導体記憶装置
KR100907218B1 (ko) * 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
KR101425958B1 (ko) * 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법

Also Published As

Publication number Publication date
JP2009537056A (ja) 2009-10-22

Similar Documents

Publication Publication Date Title
JP4999921B2 (ja) メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
KR101202537B1 (ko) 메모리 디바이스를 위한 결합된 왜곡 추정 및 에러 보정 코딩
US9292381B2 (en) Distortion estimation and cancellation in memory devices
USRE46346E1 (en) Reading memory cells using multiple thresholds
US8830746B2 (en) Optimized threshold search in analog memory cells using separator pages of the same type as read pages
US7900102B2 (en) High-speed programming of memory devices
JP5535220B2 (ja) デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置
CN101601094B (zh) 使用多个门限读取存储单元的方法
US7697326B2 (en) Reducing programming error in memory devices
US9898361B2 (en) Multi-tier detection and decoding in flash memories
CN101512661B (zh) 用于存储设备的失真估计与纠错编码的组合
JP5620973B2 (ja) アナログメモリセルにおける最適スレッシュホールドのサーチ
US9213602B1 (en) Write mapping to mitigate hard errors via soft-decision decoding
WO2011146364A2 (en) Joint encoding of logical pages in multi-page memory architecture
WO2008075351A2 (en) Soft decoding of hard and soft bits read from a flash memory

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100419

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100419

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

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

R150 Certificate of patent or registration of utility model

Ref document number: 4999921

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150525

Year of fee payment: 3

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250