JP2012504841A - メモリ・デバイスの軟データ生成の方法および装置 - Google Patents

メモリ・デバイスの軟データ生成の方法および装置 Download PDF

Info

Publication number
JP2012504841A
JP2012504841A JP2011530194A JP2011530194A JP2012504841A JP 2012504841 A JP2012504841 A JP 2012504841A JP 2011530194 A JP2011530194 A JP 2011530194A JP 2011530194 A JP2011530194 A JP 2011530194A JP 2012504841 A JP2012504841 A JP 2012504841A
Authority
JP
Japan
Prior art keywords
statistics
cell
soft
read
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.)
Granted
Application number
JP2011530194A
Other languages
English (en)
Other versions
JP5590620B2 (ja
JP2012504841A5 (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.)
LSI Corp
Original Assignee
LSI Logic Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from PCT/US2009/049333 external-priority patent/WO2010002948A1/en
Application filed by LSI Logic Corp filed Critical LSI Logic Corp
Publication of JP2012504841A publication Critical patent/JP2012504841A/ja
Publication of JP2012504841A5 publication Critical patent/JP2012504841A5/ja
Application granted granted Critical
Publication of JP5590620B2 publication Critical patent/JP5590620B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/02Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements
    • G11C11/16Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using magnetic elements using elements in which the storage effect is based on magnetic spin effect
    • 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/5607Digital 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 magnetic storage elements
    • 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/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/02Arrangements for writing information into, or reading information out from, a digital store with means for avoiding parasitic signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/20Employing a main memory using a specific memory technology
    • G06F2212/202Non-volatile memory
    • G06F2212/2022Flash memory
    • 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

Abstract

メモリ・デバイスの軟データ生成の方法および装置を提供する。少なくとも1つの軟データ値が、少なくとも1つの硬読取値を入手することと、硬読取値を読み取るための統計に基づいて少なくとも1つの硬読取値に関連する軟データ値を生成することとによって、メモリ・デバイスについて生成される。硬読取値は、データ・ビット、電圧レベル、電流レベル、および抵抗レベルのうちの1つまたは複数を含むことができる。生成される軟データ値は、(i)1つまたは複数の対数尤度比を生成するのに使用される軟読取値および(ii)1つまたは複数の対数尤度比のうちの1つまたは複数を含むことができる。統計は、ビット・ベースの統計およびセル・ベースの統計のうちの1つまたは複数を含む。統計は、オプションで、ターゲット・セルに対する少なくとも1つのアグレッサ・セルのパターン依存外乱ならびに位置固有統計を含むこともできる。少なくとも1つの軟データ値を、軟読取値を入手することと、軟読取値を読み取るための統計に基づいて軟読取値に関連する軟データ値を生成することであって、統計は、位置固有統計およびパターン依存統計のうちの1つまたは複数を含む、生成することとによって、メモリ・デバイスについて生成することができる。

Description

関連出願の相互参照
本願は、それぞれ参照によって本明細書に組み込まれている、2008年9月30日に出願した米国仮出願第61/194,751号および2009年6月30日に出願した国際出願第PCT/US09/49333号、名称「Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories」の優先権を主張するものである。
本願は、それぞれ本願と同時に出願され、参照によって本明細書に組み込まれている、国際出願、名称「Methods and Apparatus for Soft Data Generation for Memory Devices Based on Performance Factor Adjustment」、国際出願、名称「Methods and Apparatus for Soft Data Generation for Memory Devices Using Reference Cells」、および国際出願、名称「Methods and Apparatus for Soft Data Generation for Memory Devices Using Decoder Performance Feedback」に関連する。
本発明は、全般的にはフラッシュ・メモリ・デバイスに関し、より具体的には、そのようなフラッシュ・メモリ・デバイスでのセル間干渉、バック・パターン依存(back pattern dependency)、雑音、および他のひずみを軽減する改善された軟デマッピング(soft demapping)および軟データ生成(soft data generation)の技法に関する。
フラッシュ・メモリ・デバイスなどの複数のメモリ・デバイスは、データを格納するのにアナログ・メモリ・セルを使用する。各メモリ・セルは、電荷または電圧など、ストレージ・バリュー(storage value)とも称するアナログ値を格納する。ストレージ・バリューは、セルに格納された情報を表す。たとえば、フラッシュ・メモリ・デバイスでは、各アナログ・メモリ・セルは、通常はある電圧を格納する。各セルの可能なアナログ値の範囲は、しきい領域に分割され、各領域は、1つまたは複数のデータ・ビット値に対応する。データは、所望の1つまたは複数のビットに対応する公称アナログ値を書き込むことによってアナログ・メモリ・セルに書き込まれる。
たとえば、シングルレベル・セル(SLC)フラッシュ・メモリ・デバイスは、メモリ・セルあたり1ビット(すなわち、2つの可能なメモリ状態)を格納する。その一方で、マルチレベル・セル(MLC)フラッシュ・メモリ・デバイスは、メモリ・セルあたり複数のビットを格納する(すなわち、各セルが、4つ以上のプログラム可能な状態を有する)。MLCフラッシュ・メモリ・デバイスのより詳細な議論については、たとえば、参照によって本明細書に組み込まれている、2009年3月11日に出願した国際出願第PCT/US09/36810号、名称「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」を参照されたい。
たとえば、マルチレベルNANDフラッシュ・メモリ・デバイスでは、フローティング・ゲート・デバイスが、複数の間隔に分割される範囲内のプログラム可能しきい電圧と共に使用され、各間隔は、異なるマルチビット値に対応する。所与のマルチビット値をメモリ・セルにプログラムするためには、メモリ・セル内のフローティング・ゲート・デバイスのしきい電圧を、その値に対応するしきい電圧間隔にプログラムする。
メモリ・セルに格納されたアナログ値は、しばしば、ひずむ。ひずみは、通常、たとえばバック・パターン依存(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月)を参照されたい。
複数の技法が、ICIおよび他の外乱の影響を軽減するために提案されまたは提唱されてきた。たとえば、Ki−Tae Park他は、ICIを軽減する、偶数/奇数プログラミング(even/odd programming)、ボトム・アップ・プログラミング(bottom up programming)、およびマルチステージ・プログラミング(multi−stage programming)などの既存のプログラミング技法を説明している。2009年6月30日に出願された国際出願第PCT/US09/49333号、名称「Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories」は、フラッシュ・メモリでの軟デマッピングおよび外乱軽減の方法および装置を開示している。
米国仮出願第61/194,751号 国際出願第PCT/US09/49333号 国際出願、名称「Methods and Apparatus for Soft Data Generation for Memory Devices Based on Performance Factor Adjustment」 国際出願、名称「Methods and Apparatus for Soft Data Generation for Memory Devices Using Reference Cells」 国際出願、名称「Methods and Apparatus for Soft Data Generation for Memory Devices Using Decoder Performance Feedback」 国際出願第PCT/US09/36810号 米国特許第6,522,580号 国際出願第PCT/US09/49326号 国際出願第PCT/US09/49327号 国際出願第PCT/US09/49328号
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月) A.J.BlanksbyおよびC.J.Howland、「A 690−mW 1−Gb/s 1024−b, Rate−1/2 Low−Density Parity−Check Decoder」、IEEE J.Solid−State Circuits、Vol.37、404〜412頁(2002年3月) D.E.Hocevar、「LDPC Code Construction With Flexible Hardware Implementation」、IEEE Int’l Conf.on Comm.(ICC)、米国アラスカ州アンカレッジ、2708〜2712頁(2003年5月) R.N.S.Ratnayake、E.F.Haratsch、およびGu−Yeon Wei、「A Bit−node centric architecture for low−density parity check decoders」、IEEE Global Telecommunications Conference(Globecom)、米国コロンビア特別区ワシントン、265〜270頁(2007年11月) E.Yeo他、「VLSI Architectures for Iterative Decoders in Magnetic Recording Channels」、IEEE Trans.On Magnetics、Vol.37、No.2、748〜755頁(2001年3月)
これらの既存の方法は、フラッシュ・メモリの復号性能を改善するのを助けたが、複数の制約をこうむり、この制約は、克服されたならば、フラッシュ・メモリの信頼性をさらに改善することができる。たとえば、現在のフラッシュ・メモリは、通常、復号のためにフラッシュ制御システムに硬データ(hard data)のみを供給する。しかし、軟データが、復号プロセスの誤り率性能を改善できることが周知である。したがって、フラッシュ・メモリからの硬データを使用して軟データを推定するかその質を高め、これによって復号性能を改善する、軟データ生成技法の必要が存在する。
一般に、メモリ・デバイスの軟データ生成の方法および装置を提供する。本発明の一態様によれば、少なくとも1つの軟データ値が、少なくとも1つの硬読取値を入手することと、硬読取値を読み取るための統計に基づいて少なくとも1つの硬読取値に関連する軟データ値を生成することとによって、メモリ・デバイスについて生成される。硬読取値は、データ・ビット、電圧レベル、電流レベル、および抵抗レベルのうちの1つまたは複数など、軟データまたは硬データ(あるいはその組合せ)を含むことができる。生成される軟データ値は、(i)1つまたは複数の対数尤度比を生成するのに使用される軟読取値あるいは(ii)1つまたは複数の対数尤度比を含むことができる。
統計は、ビット・ベースの統計、セル・ベースの統計、およびパターン依存統計のうちの1つまたは複数を含むことができる。1つまたは複数の可能なレベルLVLwritに関するセル・ベースの統計は、書込レベルLVLwritが書き込まれたか復号された時にレベルLVLreadが読み取られた確率に基づくものとすることができる。代替案では、1つまたは複数の可能なレベルLVLreadに関するセル・ベースの統計は、読取レベルLVLreadが読み取られた時にレベルLVLwriteが書き込まれたか復号された確率に基づくものとすることができる。
統計は、ターゲット・セルに対する少なくとも1つのアグレッサ・セルのパターン依存外乱を含むこともできる。1つまたは複数の識別されたパターンに関するおよび1つまたは複数の可能な基準レベルLVLrefに関するパターン依存統計は、基準レベルLVLrefが復号されたか書き込まれた時にレベルLVLreadが読み取られた確率に基づくものとすることができる。代替案では、1つまたは複数の識別されたパターンに関するおよび1つまたは複数の可能な読取レベルLVLreadに関するパターン依存統計は、読取レベルLVLreadが読み取られた時に基準レベルLVLrefが復号されたか書き込まれた確率に基づくものとすることができる。
さらなる態様によれば、統計は、位置固有統計を含むことができ、軟データ値は、メモリ・デバイスの所望の位置について生成される。少なくとも1つの所有の位置に関するおよび1つまたは複数の可能な基準レベルLVLrefに関する位置固有統計は、基準レベルLVLrefが復号されたか書き込まれた時にレベルLVLreadが所望の位置で読み取られた確率に基づくものとすることができる。代替案では、少なくとも1つの所有の位置に関するおよび1つまたは複数の可能な読取レベルLVLreadに関する位置固有統計は、読取レベルLVLreadが所望の位置で読み取られた時に基準レベルLVLrefが復号されたか書き込まれた確率に基づくものとすることができる。
本発明のもう1つの態様によれば、少なくとも1つの軟データ値は、軟読取値を入手することと、軟読取値を読み取るための統計に基づいて軟読取値に関連する軟データ値を生成することであって、統計は、位置固有統計およびパターン依存統計のうちの1つまたは複数を含む、生成することとによって、メモリ・デバイスについて生成される。
本発明ならびに本発明のさらなる特徴および利益のより完全な理解は、次の詳細な説明および図面を参照することによって得られる。
従来のフラッシュ・メモリ・システムを示す概略ブロック図である。 図1の例示的なフラッシュ・メモリの例示的なしきい電圧分布を示す図である。 マルチレベル・セル(MLC)フラッシュ・メモリ・デバイス内の例示的なフラッシュ・セル・アレイのアーキテクチャを示す図である。 図2の電圧割当て方式の例示的な2ステージMLCプログラミング方式を示す図である。 隣接セルに加えられるICIを減らす代替MLCプログラミング方式を集合的に示す図である。 隣接セルに加えられるICIを減らす代替MLCプログラミング方式を集合的に示す図である。 マルチレベル・セル(MLC)フラッシュ・メモリ・デバイス内の例示的なフラッシュ・セル・アレイをさらに詳細に示す図である。 セル間干渉、バック・パターン依存、雑音、および他のひずみなどの複数の例示的なアグレッサ・セルに起因するターゲット・セルについて存在する外乱を示す図である。 本発明によるコントローラ・ベースの軟デマッピング/軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システムを示す概略ブロック図である。 本発明の代替実施形態によるメモリ・ベースの軟デマッピング/軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システムを示す概略ブロック図である。 反復的なデマッピングおよび復号ならびにオプションのインターリービングを用いる例示的なフラッシュ読取チャネル・アーキテクチャを示す図である。 本発明による軟データ生成を用いる例示的なフラッシュ・メモリ・システムを示す図である。 例示的な軟デマッピング・プロセスおよび例示的な軟データ生成プロセスを説明する流れ図である。 例示的な軟デマッピング・プロセスおよび例示的な軟データ生成プロセスを説明する流れ図である。 LDPC(low−density parity−check)符号の例示的な2部グラフ表現を示す図である。 例示的なLDPCデコーダ・アーキテクチャを示すブロック図である。 本発明の一実施形態による軟データ生成を用いる例示的なフラッシュ・メモリ・システムを示す図である。 例示的な2進チャネルの誤り確率pおよびqを示すトレリスである。 フラッシュ・メモリからのデータの読出に関する統計を記録する例示的なセル・ベースの統計テーブルを示す図である。 フラッシュ・メモリからのデータの読出に関する統計を記録する例示的なセル・ベースの統計テーブルを示す図である。 フラッシュ・メモリからのデータの読出に関する統計を記録する例示的なセル・ベースの統計テーブルを示す図である。 フラッシュ・メモリからのデータの読出に関するパターン依存統計を記録する例示的なパターン依存セル・ベース統計テーブルを示す図である。 本発明の基準セル実施形態に関する、図3の例示的なフラッシュ・セル・アレイをさらに詳細に示す図である。 本発明の基準セル実施形態に関するビット・ベースの統計生成プロセスの例示的実施態様を説明する流れ図である。 本発明の基準セル実施形態に関するセル・ベースの統計生成プロセスの例示的実施態様を説明する流れ図である。 本発明の復号済み符号語実施形態に関するビット・ベースの統計生成プロセスの例示的実施態様を説明する流れ図である。 本発明の復号済み符号語実施形態に関するセル・ベースの統計生成プロセスの例示的実施態様を説明する流れ図である。 メモリ・アレイ内の複数の異なる位置に関する誤り確率統計を計算する例示的なビット・ベースの位置固有統計生成プロセスを説明する流れ図である。 メモリ・アレイ内の複数の異なる位置に関する統計を計算する例示的なセル・ベースの位置固有統計生成プロセスを説明する流れ図である。 各アグレッサ・セルのすべての可能な値に基づく、所与のターゲット・セルに対するパターン依存外乱の影響を示す確率密度関数の集団を示す図である。 少なくとも1つのターゲット・セルに関連する1つまたは複数のアグレッサ・セル内の所与のデータ・パターンに依存する誤り確率統計を推定する例示的なビット・ベースのパターン依存統計生成プロセスを説明する流れ図である。 少なくとも1つのターゲット・セルに関連する1つまたは複数のアグレッサ・セル内の所与のデータ・パターンに依存する統計を推定する例示的なセル・ベースのパターン依存統計生成プロセスを説明する流れ図である。 本発明の基準セル実施形態の2つの可能な2進値の誤り確率統計を推定する例示的な非対称統計生成プロセスを説明する流れ図である。 本発明の復号済み符号語実施形態の2つの可能な2進値の誤り確率統計を推定する例示的な非対称統計生成プロセスを説明する流れ図である。 満足されないパリティ検査を使用する統計生成プロセスの例示的実施態様を説明する流れ図である。 満足されないパリティ検査を使用してメモリ・アレイ内の複数の異なる位置の誤り確率統計を推定する例示的な位置固有統計生成プロセスを説明する流れ図である。 満足されないパリティ検査を使用して2つの可能な2進値の誤り確率統計を推定する例示的な非対称統計生成プロセスを説明する流れ図である。
本発明のさまざまな態様は、シングルレベル・セルまたはマルチレベル・セル(MLC)NANDフラッシュ・メモリ・デバイスなどのメモリ・デバイスでの改善された復号のための軟データ生成技法を対象とする。本明細書で使用されるときに、マルチレベル・セル・フラッシュ・メモリは、各メモリ・セルが複数のビットを格納するメモリを含む。通常、1つのフラッシュ・セルに格納される複数のビットは、異なるページに属する。本発明は、本明細書ではアナログ値を電圧として格納するメモリ・セルを使用して例示されるが、当業者に明白であるように、本発明を、格納されたデータを表すのに電圧または電流を使用することなど、メモリ・デバイスの任意のストレージ機構と共に使用することができる。
図1は、従来のフラッシュ・メモリ・システム100の概略ブロック図である。図1に示されているように、例示的なフラッシュ・メモリ・システム100は、フラッシュ制御システム110およびフラッシュ・メモリ・ブロック160を含む。例示的なフラッシュ制御システム110は、フラッシュ・コントローラ120、エンコーダ/デコーダ・ブロック140、および1つまたは複数のバッファ145を含む。代替実施形態では、エンコーダ/デコーダ・ブロック140およびいくつかのバッファ145を、フラッシュ・コントローラ120の内部で実施することができる。エンコーダ/デコーダ・ブロック140およびバッファ145を、たとえば、周知の市販の技法および/または製品を使用して実施することができる。
例示的なフラッシュ・メモリ・ブロック160は、それぞれ周知の市販の技法および/または製品を使用して実施できる、メモリ・アレイ170および1つまたは複数のバッファ180を含む。メモリ・アレイ170は、NANDフラッシュ・メモリ、相変化メモリ(PCM)、MRAMメモリ、NORフラッシュ・メモリ、または別の不揮発性フラッシュ・メモリなど、シングルレベル・セルまたはマルチレベル・セルのフラッシュ・メモリとして実施することができる。本発明を、主にマルチレベル・セルNANDフラッシュ・メモリの文脈で例示するが、当業者に明白であるように、本発明を、シングルレベル・セル・フラッシュ・メモリおよび他の不揮発性メモリに適用することができる。
マルチレベル・セル・フラッシュ・メモリ
マルチレベル・セルNANDフラッシュ・メモリでは、しきい値検出器が、通常、特定のセルに関連する電圧値を事前定義のメモリ状態に変換するのに使用される。図2に、参照によって本明細書に組み込まれている米国特許第6,522,580号の教示に基づく、図1の例示的なマルチレベル・セル・フラッシュ・メモリ170の例示的なしきい電圧分布を示す。一般に、セルのしきい電圧は、そのセルがある量の電流を導通するようにするためにそのセルに印加される必要がある電圧である。しきい電圧は、セルに格納されるデータに関する測定値である。
図2に示された例示的な実施形態では、各ストレージ要素は、各メモリ・セル内に2ビットのデータを格納するために4つの可能なデータ状態を使用する。図2は、4つのピーク210〜213を示し、各ピークは1つの状態に対応する。マルチレベル・セル・フラッシュ・デバイスでは、しきい電圧分布グラフ200の異なるピーク210〜213が、セルに2ビットを格納するのに使用される。
しきい電圧分布グラフ200のピーク210〜213は、対応する2進値を用いてラベルを付けられている。したがって、あるセルが第1状態210であるときに、そのセルは、下側ビット(最下位ビット、LSBとも称する)について「1」を、上側ビット(最上位ビット、MSBとも称する)について「1」を表す。状態210は、一般に、セルの初期未プログラム状態または消去状態である。同様に、あるセルが、第2状態211であるときに、そのセルは、下側ビットについて「0」、上側ビットについて「1」を表す。あるセルが第3状態212であるときに、そのセルは、下側ビットについて「0」、上側ビットについて「0」を表す。最後に、あるセルが第4状態213であるときに、そのセルは、下側ビットについて「1」、上側ビットについて「0」を表す。
しきい電圧分布210は、0ボルト未満の負のしきい電圧レベルを有する、消去状態(「11」データ状態)であるアレイ内のセルのしきい電圧Vの分布を表す。それぞれ「10」および「00」のユーザ・データを格納するメモリ・セルのしきい電圧分布211および212が、それぞれ0ボルトと1ボルトとの間ならびに1ボルトと2ボルトとの間にあるものとして示されている。しきい電圧分布213は、読取経路電圧の2ボルトと4.5ボルトとの間にセットされたしきい電圧レベルを有する、「01」データ状態になるようにプログラムされたセルの分布を示す。
したがって、図2の例示的実施形態では、0ボルト、1ボルト、および2ボルトを、各レベルまたは各状態の間の電圧レベルしきい値として使用することができる。これらの電圧レベルしきい値は、フラッシュ・メモリ160(たとえば、フラッシュ・メモリ160内のセンシング回路)によって、所与のセルの電圧レベルまたは状態を判定するのに使用される。フラッシュ・メモリ160は、電圧レベルしきい値に対する測定電圧の比較に基づいて各セルに1つまたは複数のビットを割り当て、この割当ては、その後、硬判定としてフラッシュ制御システム110に送られる。それに加えてまたはその代わりに、軟情報(soft information)を使用する実施態様では、フラッシュ・メモリ160は、測定電圧または測定電圧の量子化版を軟情報としてフラッシュ制御システム110に送ることができ、ここでは、メモリ・セルに格納されたビット数より多数のビットが、測定電圧を表すのに使用される。
さらに、セルが、通常は周知のプログラム/検証技法を使用してプログラムされることに留意されたい。一般に、プログラム/検証サイクル中には、フラッシュ・メモリ160は、最小ターゲットしきい電圧を超えるまで、セル・トランジスタ内に電荷をたくわえるために増加する電圧を徐々に印加する。たとえば、図2の例で「10」データ状態をプログラムする時に、フラッシュ・メモリ160は、0.4Vの最小ターゲットしきい電圧を超えるまで、セル・トランジスタ内に電荷をたくわえるために増加する電圧を徐々に印加することができる。
下でさらに述べるように、単一のメモリ・セルに格納された2ビットのそれぞれは、異なるページからのものである。言い換えると、各メモリ・セルに格納された2ビットの各ビットは、異なるページ・アドレスを担う。図2に示された右側ビットは、下側ページ・アドレスが入力される時にアクセスされる。左側ビットは、上側ページ・アドレスが入力される時にアクセスされる。
図3に、マルチレベル・セル(MLC)フラッシュ・メモリ・デバイス160内の例示的なフラッシュ・セル・アレイ300のアーキテクチャを示し、ここで、各例示的セルは、通常、2ビットを格納するフローティングゲート・トランジスタに対応する。図3では、各セルが、2ビットが属する2つのページの2つの番号に関連する。例示的なセル・アレイ・セクション300は、ワード線nからn+2および4つのビット線を示す。例示的なフラッシュ・セル・アレイ300は、偶数ページおよび奇数ページに区分され、たとえば、偶数番号を有するセル(番号0および2を有するセルなど)は、偶数ページに対応し、奇数番号を有するセル(番号1および3を有するセルなど)は、奇数ページに対応する。ワード線nは、たとえば、偶数ビット線に偶数ページ0および2を格納し、奇数ビット線に奇数ページ1および3を格納する。
さらに、図3は、偶数ビット線セルまたは奇数ビット線セルのいずれかが選択され、示された順序で順次(ボトム・アップ)プログラムされる、例示的なプログラム・シーケンスを示す。番号は、ページがプログラムされる順序を示す。たとえば、ページ0は、ページ1の前にプログラムされる。偶数ページおよび帰趨ページのプログラミングのさらなる議論については、参照によって本明細書に組み込まれている、K.−T.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月)を参照されたい。
図4に、図2の電圧割当て方式の例示的な2ステージMLCプログラミング方式400を示す。図4に示されているように、LSBプログラミング・ステージ中には、消去状態410である選択されたセルの状態は、LSBが0である場合には最低のプログラム済み状態411に移動する。したがって、LSBプログラミング状態で、メモリ・セルは、消去状態「11」から「10」にプログラムされる。次に、MSBプログラム・ステージ中に、2つの状態すなわち状態「00」(412)および状態「01」(413)が、以前のLSBデータに応じて順次形成される。一般に、MSBプログラミング状態中には、「10」状態が「00」にプログラムされ、状態「11」が「01」にプログラムされる。
図4のプログラミング方式400が、状態410から状態413への状態の変化に関連する最大電圧シフトを示すことに留意されたい。複数のプログラミング方式が、状態の変化に関連する最大電圧シフトを減らし、これによって、電圧シフトによって引き起こされるICIを減らすために提案されまたは提唱されてきた。
図5Aおよび5Bは、隣接セルに加えられるICIを減らす代替MLCプログラミング方式500を集合的に示す。図5Aに示されているように、LSBプログラミング・ステージ中に、メモリ・セルは、SLCプログラミングに似た形で、状態「11」から一時的(または中間)状態として状態「x0」にプログラムされる。同一ワード線内の隣接セルもLSBプログラムされた後に、分布は、おそらくは、ICIに起因して図5Aのピーク510によって示されるように広げられる。その後、図5Bに示されたMSBプログラミング・ステージで、「x0」状態が、入力データに対応する最終状態として「00」および「10」のいずれかにプログラムされ、あるいは、「11」状態が、最終的な「01」状態にプログラムされる。一般に、「11」セルを除くすべてのメモリ・セルは、MSBプログラミング・ステージで、LSBデータについて一時的にプログラムされた状態からその最終的な状態に再プログラムされ、その結果、隣接セルによって引き起こされるICIを大幅に減らせるようになる。最終的な状態のセルは、最終的な状態に再プログラムされたので、中間状態である間に経験したICIから損害を受けない。最終的な状態のセルは、最終的な状態になって以降に経験したICIからのみ損害を受ける。上で注記したように、中間プログラム状態を使用する、図5Aおよび5Bのマルチステップ・プログラミング・シーケンスは、最大電圧変化を減らし、したがって、これらの電圧変化によって引き起こされるICIを減らす。図5Bで、たとえばMSBプログラミング・ステージ中の最大電圧シフトが、それぞれ状態「11」から「01」へおよび状態「x0」から状態「10」への遷移に関連することがわかる。これらの電圧シフトは、図4の状態「11」から「01」への最大電圧シフトより大幅に小さい。
図6に、マルチレベル・セル(MLC)フラッシュ・メモリ・デバイス130内の例示的なフラッシュ・セル・アレイ600をさらに詳細に示す。図6に示されているように、フラッシュ・セル・アレイ600は、フラッシュ・セルあたり3つのビットcを格納する。図6は、1ブロックのフラッシュ・セル・アレイ・アーキテクチャを示し、ここで、各例示的なセルは、通常、3ビットを格納するフローティングゲート・トランジスタに対応する。例示的なセル・アレイ600は、m個のワード線およびn個のビット線からなる。通常、現在のマルチページ・セル・フラッシュ・メモリでは、単一のセル内のビットは、異なるページに属する。図6の例では、各セルの3つのビットは、3つの異なるページに対応し、各ワード線は、3つのページを格納する。次の議論では、ページ0、1、および2を、ワード線内の下側ページ・レベル、中央ページ・レベル、および上側ページ・レベルと称する。
上で示したように、フラッシュ・セル・アレイを、偶数ページおよび奇数ページにさらに区分することができ、たとえば、偶数番号を有するセル(図6のセル2および4など)は、偶数ページに対応し、奇数番号を有するセル(図6のセル1および3など)は、奇数ページに対応する。この場合に、ページ(ページ0など)は、偶数セル内に偶数ページ(偶数ページ0)を含み、奇数セル内に奇数ページ(奇数ページ0)を含む。
セル間干渉および他の外乱
図7に、セル間干渉、バック・パターン依存、雑音、および他のひずみなどの複数の例示的なアグレッサ・セル720に起因するターゲット・セル710について存在する外乱を示す。次の表記か、図7で使用されている。
WL ワード線、
BL ビット線、
BLo 奇数ビット線、
BLe 偶数ビット線、および
C キャパシタンス。
たとえば、ICIは、ターゲット・セル710がプログラムされた後にプログラムされるアグレッサ・セル720によって引き起こされる。ICIは、ターゲット・セル710の電圧Vを変更する。例示的実施形態では、「ボトム・アップ」プログラミング方式が仮定され、ワード線iおよびi+1内の近接アグレッサ・セルが、ターゲット・セル710のICIを引き起こす。ブロックのそのようなボトム・アップ・プログラミングを用いると、図7に示されているように、下側ワード線i−1からのICIが除去され、5つまでの隣接するセルが、アグレッサ・セル720としてICIに寄与する。しかし、当業者に明白であるように、本明細書で開示される技法を、ワード線i−1などの他のワード線からのアグレッサ・セルもICIに寄与する場合に一般化できることに留意されたい。ワード線i−1、i、およびi+1からのアグレッサ・セルがICIに寄与する場合には、8つまでの最も近い隣接セルを考慮する必要がある。ターゲット・セルからより遠い他のセルは、そのICIへの寄与を無視できる場合には、無視することができる。一般に、アグレッサ・セル720は、所与のターゲット・セル710の後にプログラムされるアグレッサ・セル720を識別するためにプログラミング・シーケンス方式(ボトム・アップまたは偶数/奇数技法など)を分析することによって識別される。
一般に、Vは、セルに格納されたデータを表す電圧であり、読取動作中に入手される。Vを、読取動作によって、たとえばセルあたりに格納されるビット数より高い精度を有する軟電圧値として、またはセルあたりに格納されるビット数と同一の分解能を有する硬電圧レベル(たとえば、3ビット/セル・フラッシュについて3ビット)に量子化された値として、入手することができる。
ICI軽減技法のより詳細な議論については、たとえば、それぞれ参照によって本明細書に組み込まれている国際出願第PCT/US09/49326号、名称「Methods and Apparatus for Read−Side Intercell Interference Mitigation in Flash Memories」または国際出願第PCT/US09/49327号、名称「Methods and Apparatus for Write−Side Intercell Interference Mitigation in Flash Memories」を参照されたい。
軟データ生成
本発明は、フラッシュ・メモリの軟デマッピング技法および軟データ生成技法を提供する。下で図12Aに関連してさらに述べる、1つの例示的実施形態では、質を高められた軟データが、確率密度関数、その近似、ビット・ベースの確率、またはセル・ベースの確率などの確率統計を使用してフラッシュ・メモリによって割り当てられる軟データから生成される。下で図12Bに関連してさらに述べる、別の例示的実施形態では、軟データは、確率密度関数、その近似、ビット・ベースの確率、またはセル・ベースの確率などの確率統計を使用してフラッシュ・メモリによって割り当てられる硬データから生成される。一般に、フラッシュ・メモリによって割り当てられるデータは、最初に入手される。次に、本発明は、フラッシュ・メモリからのデータに基づいて、確率または信頼性情報などの軟情報を生成し、またはその質を高める。生成された軟情報を、オプションで、軟判定復号に使用することができる。本明細書で使用されるときに、用語「確率密度関数」は、確率密度関数と、ヒストグラムおよびガウス近似などのその近似とを含まなければならない。
図8は、本発明によるコントローラ・ベースの軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システム800の概略ブロック図である。図8に示されているように、例示的なフラッシュ・メモリ・システム800は、インターフェース850によって接続された、フラッシュ制御システム810およびフラッシュ・メモリ・ブロック860を含む。例示的なフラッシュ制御システム810は、通常は1つまたは複数の集積回路である、フラッシュ・コントローラ820および読取チャネル825を含む。
例示的な読取チャネル825は、信号処理ユニット830、エンコーダ/デコーダ・ブロック840、および1つまたは複数のバッファ845を含む。用語「読取チャネル」が、書込チャネルをも含むことができることに留意されたい。代替実施形態では、エンコーダ/デコーダ・ブロック840およびいくつかのバッファ845を、フラッシュ・コントローラ820の内部で実施することができる。エンコーダ/デコーダ・ブロック840およびバッファ845を、たとえば、本発明の特徴および機能を提供するために本明細書で変更される、周知の市販の技法および/または製品を使用して実施することができる。
例示的な信号処理ユニット830は、それぞれたとえば図12Aおよび12Bに関連して下でさらに述べる1つまたは複数の軟デマッパおよび/または軟データ生成プロセス835を実施する1つまたは複数のプロセッサを含む。例示的なフラッシュ・メモリ・ブロック860は、それぞれ周知の市販の技法および/または製品を使用して実施できるメモリ・アレイ870および1つまたは複数のバッファ880を含む。
開示される軟データ生成技法のさまざまな実施形態では、例示的なインターフェース850は、アグレッサ・セルに関連する情報を表す値など、従来のフラッシュ・メモリ・システムに関連する追加情報を伝える必要がある場合がある。したがって、インターフェース850は、従来のフラッシュ・メモリ・システム内のインターフェースより大きい容量またはより高速のレートを有する必要がある場合がある。インターフェース850を、オプションで、参照によって本明細書に組み込まれている、2009年6月30日に出願した国際出願第PCT/US09/49328号、名称「Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array」(弁理士整理番号第08−0769号)の教示に従って実施することができ、この国際出願第PCT/US09/49328号の教示は、たとえばダブル・データ・レート(DDR)技法を使用してインターフェース850の情報搬送容量を高める。書込動作中に、インターフェース850は、通常はページ・レベル・アクセス技法またはワード線レベル・アクセス技法を使用して、ターゲット・セルに格納されるプログラム値を転送する。例示的なページ・レベル・アクセス技法またはワード線レベル・アクセス技法のより詳細な議論については、たとえば、参照によって本明細書に組み込まれている、2009年3月11日に出願した国際出願第PCT/US09/36810号、名称「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」を参照されたい。
読取動作中に、インターフェース850は、ターゲット・セルおよびアグレッサ・セルについてメモリ・アレイ870から入手された硬読取値および/または軟読取値を転送する。たとえば、ターゲット・セルを有するページの読取値に加えて、上側/下側ワード線または隣接する偶数ビット線もしくは奇数ビット線内の1つまたは複数の近接ページの読取値が、インターフェース・バスを介して転送される。図8の実施形態では、開示される軟データ生成技法は、フラッシュ・メモリの外部で、通常は最小面積を達成するために論理回路用に最適化されたプロセス・テクノロジで実施される。しかし、これは、インターフェース850上で転送される可能性がある追加のアグレッサ・セル・データという犠牲を払うものである。
図9は、本発明の代替実施形態によるメモリ・ベースの軟データ生成技法を組み込まれた例示的なフラッシュ・メモリ・システム900の概略ブロック図である。図9に示されているように、例示的なフラッシュ・メモリ・システム900は、インターフェース950によって接続された、フラッシュ制御システム910およびフラッシュ・メモリ・ブロック960を含む。
例示的なフラッシュ制御システム910は、通常は1つまたは複数の集積回路である、フラッシュ・コントローラ920およびオプションの読取チャネル925を含む。代替実施形態では、エンコーダ/デコーダ・ブロック940およびいくつかのバッファ945を、フラッシュ・コントローラ920の内部で実施することができる。例示的なフラッシュ・コントローラ920を、たとえば、本発明の特徴および機能をサポートするために本明細書で変更される、周知の市販の技法および/または製品を使用して実施することができる。例示的な読取チャネル925は、エンコーダ/デコーダ・ブロック940および1つまたは複数のバッファ945を含む。エンコーダ/デコーダ・ブロック940およびバッファ945を、周知の市販の技法および/または製品を使用して実施することができる。
例示的なフラッシュ・メモリ・ブロック960は、それぞれ周知の市販の技法および/または製品を使用して実施することができる、メモリ・アレイ970および1つまたは複数のバッファ980を含む。さらに、例示的なフラッシュ・メモリ・ブロック960は、それぞれたとえば図12Aおよび12Bに関連して下でさらに述べる1つまたは複数の軟デマッピングおよび/または軟データ生成プロセス990を実施する1つまたは複数のプロセッサを含む例示的な信号処理ユニット985を含む。
開示される軟データ生成技法のさまざまな実施形態では、例示的なインターフェース950は、アグレッサ・セルに関連する情報を表す値など、従来のフラッシュ・メモリ・システムに関連する追加情報を伝える必要がある場合がある。したがって、インターフェース950は、従来のフラッシュ・メモリ・システム内のインターフェースより大きい容量またはより高速のレートを有する必要がある場合がある。インターフェース950を、オプションで、参照によって本明細書に組み込まれている、2009年6月30日に出願した国際出願第PCT/US09/49328号、名称「Methods and Apparatus for Interfacing Between a Flash Memory Controller and a Flash Memory Array」(弁理士整理番号第08−0769号)の教示に従って実施することができ、この国際出願第PCT/US09/49328号の教示は、たとえばダブル・データ・レート(DDR)技法を使用してインターフェース950の情報搬送容量を高める。
書込動作中に、インターフェース950は、ターゲット・セルおよびアグレッサ・セルに格納されるプログラム・データを転送する。読取動作中に、インターフェース950は、ターゲット・セル(1つまたは複数)およびオプションでアグレッサ・セルの新しい硬読取値、硬データ、軟読取値、または軟データを転送する。通常、単一の読取アクセスについて伝えられる情報は、1ページまたは1ワード線のデータである。ターゲット・セルのデータだけを送ることは、通常は論理回路用ではなくメモリ用に最適化された、フラッシュ・メモリの製造に使用されるメモリ・プロセス・テクノロジを使用してメモリの内部で軟データ生成プロセスを実施するという犠牲を払って、インターフェース950の帯域幅要件を減らすことに留意されたい。
図10に、参照によって本明細書に組み込まれている2009年6月30日に出願した国際出願第PCT/US09/49333号、名称「Methods and Apparatus for Soft Demapping and Intercell Interference Mitigation in Flash Memories」の教示に従う反復的なデマッピングおよび復号ならびにオプションのインターリービングを用いる例示的なフラッシュ読取チャネル・アーキテクチャ1000を示す。図10に示されているように、例示的な書込経路は、エンコーダ1010、オプションのインターリーバ1020、直並列コンバータ1030、およびマッパ1040を含む。データは、既知の形でメモリ1050に書き込まれ、メモリ1050から読み取られる。例示的な読取経路は、軟デマッパまたは軟データ・ジェネレータ1060、並直列コンバータ1070、デインターリーバ1080、デコーダ1090、およびインターリーバ1095を含む。一般に、下でさらに述べるように、軟デマッパまたは軟データ・ジェネレータ1060は、反復プロセスが最終判断に収束するまで反復的な形で新しい軟情報を生成し、軟デマッパにフィード・バックするためにデコーダ1090によって処理される、下でさらに説明される軟情報を生成する。
本発明に従って軟情報(LLR)を生成するのに軟デマッパ1060によって使用される式を、下の「読取統計を使用する軟データ(LLR)の計算」という題名のセクションで述べる。図10に示されているように、軟デマッパ1060によって生成される軟情報を、軟デマッパ1060、デインターリーバ1080、デコーダ1090、およびフィードバック経路内のインターリーバ1095の間の反復デマッピングおよび復号に使用することができる。
フラッシュからのデータに基づく軟データ生成
本発明は、現在のフラッシュ・メモリ860、960が、通常はフラッシュ制御システム810、910に硬データだけを供給することを認めるものである。しかし、軟データが、復号プロセスで誤り率性能を改善できることが周知である。したがって、本発明の一態様によれば、フラッシュ・メモリ860、960からの硬データは、軟データを推定するのに使用され、これによって、フラッシュ制御システム810、910での復号性能を改善する。たとえば、後で述べるように、硬データの統計特性を使用して、軟データを推定するかその質を高めることができる。生成された軟データを、その後、誤り率性能を改善するために、LDPC符号の確率伝搬(belief propagation)復号などの復号に使用することができる。
本発明のもう1つの態様によれば、フラッシュ・メモリ860、960は、フラッシュ制御システム810、910に軟データまたは軟情報を供給する。質を高められた軟データが、フラッシュ・メモリ860、960によって供給された軟データから生成されて、これによって、フラッシュ制御システム810、910での復号性能が改善される。軟情報を使用する実施態様では、フラッシュ・メモリ・システム860、960は、測定電圧または測定電圧の量子化版を軟情報としてフラッシュ制御システム810、910に送り、ここで、メモリ・セルに格納されるビット数より多数のビットが、測定電圧を表すのに使用される。
図11に、本発明の一実施形態によるコントローラ・ベースの軟データ生成を用いる例示的なフラッシュ・メモリ・システム1100を示す。図11に示されているように、例示的なフラッシュ・メモリ・システム1100は、インターフェース1115によって接続された、フラッシュ・メモリ・ブロック1110およびフラッシュ制御システム1120を含む。後で述べるように、軟データ値または硬データ値(あるいはその両方)は、フラッシュ・メモリ・ブロック1110によって割り当てることができ、さらなる復号および処理のためにインターフェース1115を介してフラッシュ制御システム1120に転送される。例示的なフラッシュ制御システム1120は、下で図12Aおよび12Bに関連してさらに述べる軟デマッパ/軟データ・ジェネレータ1200と、下で図13〜14に関連してさらに述べるデコーダ1400とを含む。デコーダ1400は、たとえば、確率伝搬、メッセージ・パッシング、Sum−Product、またはMin−Sumアルゴリズムなど、LDPC復号アルゴリズムを使用して実施することができる。
図11に示されているように、軟デマッパ/軟データ・ジェネレータ1200によって生成される軟情報を、オプションで、軟デマッパ/軟データ・ジェネレータ1200とデコーダ1400との間の反復的なデマッピングおよび復号に使用することができる。一般に、図11に示されているように、軟デマッパ/軟データ・ジェネレータ1200は、下の「読取統計を使用する軟データ(LLR)の計算」という題名のセクションで述べるように、LLRの形の軟情報Lを生成する。当初に、軟デマッパ/軟データ・ジェネレータ1200によって計算されたLLR、Lは、フラッシュ・メモリ1100からの軟読出または硬読出(あるいはその両方)および対応する統計に基づく。LLR、Lは、デコーダ1400によって処理されて、新しい軟情報Lを生成し、この軟情報Lは、反復プロセスが最終判断に収束するまで、反復的な形で軟デマッパ/軟データ・ジェネレータ1200にフィード・バックされる。
軟デマッパ/軟データ・ジェネレータ1200
図12Aは、フラッシュ・メモリ860、960によって供給される軟データから質を高められた軟データを生成するために本発明の特徴を組み込んだ例示的な軟デマッピング・プロセス1200を説明する流れ図である。図12Aに示されているように、例示的な軟デマッピング・プロセス1200は、当初に、ステップ1210中にターゲット・セルの軟データrをフラッシュ・メモリ860、960から入手し、オプションで、ターゲット・セルに関連するアグレッサ・セル(1つまたは複数)に格納されたデータを表す1つまたは複数の値hを入手する。
その後、軟デマッピング・プロセス1200は、ステップ1220中に、1つまたは複数の確率密度関数など、rおよびオプションでhに基づく統計(または確率)を入手する。この統計は、下の「統計の収集」という題名のセクションでさらに述べる。
その後、ステップ1230中に、入手された統計を使用してLLR(1つまたは複数)を計算する。LLR(1つまたは複数)は、下の「読取統計を使用する軟データ(LLR)の計算」という題名のセクションで述べる。その後、ステップ1240中に、計算されたLLRをデコーダ1400に供給し、あるいはオプションでデインターリーバに供給する。計算されたLLRを、オプションで、たとえばLLRの符号に基づいて、読取データに対する最終判断を行うのに使用することができる。
図12Bは、フラッシュ・メモリ810、910によって供給される硬データから軟データを生成するために本発明の特徴を組み込んだ例示的な軟データ生成プロセス1250を説明する流れ図である。図12Bに示されているように、例示的な軟データ生成プロセス1250は、当初に、ステップ1260中にターゲット・セルの硬データ
Figure 2012504841
をフラッシュ・メモリ810、910から入手し、オプションで、ターゲット・セルに関連するアグレッサ・セル(1つまたは複数)に格納されたデータを表す1つまたは複数の値
Figure 2012504841
を入手する。硬データ
Figure 2012504841
は、たとえば、フラッシュ・メモリ810、910によって各セルに割り当てられた2進ビットまたはレベルとすることができる。
セル内の1ビットのLLRを計算するために、他のビットは使用不能であり、セル内の他のビットは、たとえば、ページ・アクセス技法およびワード線アクセス技法を使用して読み取られる。例示的なページ・レベル・アクセス技法およびワード線レベル・アクセス技法のより詳細な議論については、たとえば、参照によって本明細書に組み込まれている2009年3月11日に出願した国際出願第PCT/US09/36810号、名称「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」を参照されたい。ページ・アクセス技法を用いると、そのLLRが計算されようとしているページが読み取られ、オプションで、同一ワード線内の他のページをも読み取ることができ、その結果、硬データをセルのレベル
Figure 2012504841
にマッピングできるようになる。ワード線アクセス技法を用いると、ワード線全体を読み取って、セル内のすべてのビットを入手することができ、これらのビットから、硬データ・レベル
Figure 2012504841
が入手される。
たとえば、アグレッサ・セル720(または、アグレッサ・セル720が格納されているページもしくはワード線)からビットを読み出すことによって、パターン
Figure 2012504841
が入手される。アグレッサ・セルを読み出す技法のより詳細な議論については、たとえば、参照によって本明細書に組み込まれている国際出願第PCT/US09/49326号、名称「Methods and Apparatus for Read−Side Intercell Interference Mitigation in Flash Memories」を参照されたい。
次に、軟データ生成プロセス1250は、ステップ1270中に、1つまたは複数の確率密度関数など、
Figure 2012504841
およびオプションで
Figure 2012504841
に基づく統計(または確率)を入手する。この統計は、下の「統計の収集」という題名のセクションでさらに述べるように、ビット・ベースの確率またはセル・ベースの確率とすることもできる。軟読取値の分布のガウス近似が使用されるときには、この統計は、ガウス近似式について「読取統計を使用する軟データ(LLR)の計算」という題名のセクションで述べるように、分布の平均値または分散を含む。平均値および分散は、たとえば、プログラム/消去サイクル、読取サイクル、および温度などの異なる性能要因についてフラッシュ・メモリ・チップの特性試験中に事前計算し、テーブルに格納することができる。平均値および分散を、性能要因に基づき、オプションで、アグレッサ・セル720に格納されたパターン
Figure 2012504841
にも基づいて、テーブルから入手することができる。
次に、ステップ1280中に、入手された統計を使用して、LLR(1つまたは複数)を計算する。LLR(1つまたは複数)は、下の「読取統計を使用する軟データ(LLR)の計算」という題名のセクションで述べる。「読取統計を使用する軟データ(LLR)の計算」という題名のセクションで説明するように、統計に加えてまたはその代わりに、デコーダによって供給される先験的LLR Lをオプションで使用して、LLRを計算できることに留意されたい。セル内のビットのLLRが計算される時に、先験的LLR Lは、セル内の少なくとも1つのビット(オプションで他のすべてのビット)に使用される。これは、セル内のこれらの他のビットが読み取られており、先験的LLR Lがデコーダによってそれらについて計算済みであることを必要とする。
その後、ステップ1290中に、計算されたLLRがデコーダ1400に供給され、あるいはオプションでデインターリーバに供給される。計算されたLLRを、オプションで、たとえばLLRの符号に基づいて、読取データに対する最終判断を行うのに使用することができる。セル内のすべてのビット(またはワード線内のすべてのページ)を、2009年3月11日に出願した国際出願第PCT/US09/36810号、名称「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号に記載されているように、別々に符号化し、復号することができる。
デコーダ1400 LDPC実施態様
LDPC符号およびLDPC復号の次の背景の議論は、参照によって本明細書に組み込まれている、A.J.BlanksbyおよびC.J.Howland、「A 690−mW 1−Gb/s 1024−b, Rate−1/2 Low−Density Parity−Check Decoder」、IEEE J.Solid−State Circuits、Vol.37、404〜412頁(2002年3月)の議論に基づく。より詳細な議論について、読者は、BlanksbyおよびHowlandの論文全体を参照されたい。
LDPC符号のグラフ表現
LDPC符号を、2部グラフを使用して表すことができ、2部グラフでは、ノードの一方の集合は、パリティ検査制約を表し、他方の集合は、データ・ビットを表す。図13は、LDPC符号の例示的な2部グラフ表現1300を示す図である。パリティ検査行列は、グラフの結合行列であり、ここで、Hの列iに対応するビット・ノードiは、Hの項目hjiがセットされているすなわち非0である場合に、Hの行jに対応するチェック・ノードjに接続される。
LDPC符号を復号するのに使用される1つのアルゴリズムが、sum−productアルゴリズムとして知られている。このアルゴリズムを用いる良い復号性能のためには、LDPC符号のグラフ表現内のサイクルの長さが、できる限り長いことが重要である。図13の例示的な表現では、長さ4の例示的な短いサイクルが図示されている。図13に示された長さ4のサイクルなどの短いサイクルは、sum−productアルゴリズムの性能を劣化させる。LDPC符号を復号する別の周知のアルゴリズムが、min−sumアルゴリズムである。
Sum−Productアルゴリズム
sum−productアルゴリズムは、LDPC符号を復号するための反復アルゴリズムである。sum−productアルゴリズムは、メッセージ・パッシング・アルゴリズムまたは確率伝搬としても知られている。sum−productアルゴリズムのより詳細な議論については、たとえば、それぞれ参照によって本明細書に組み込まれている、A.J.BlanksbyおよびC.J.Howland、「A 690−mW 1−Gb/s 1024−b, Rate−1/2 Low−Density Parity−Check Decoder」、IEEE J.Solid−State Circuits、Vol.37、404〜412頁(2002年3月)、D.E.Hocevar、「LDPC Code Construction With Flexible Hardware Implementation」、IEEE Int’l Conf.on Comm.(ICC)、米国アラスカ州アンカレッジ、2708〜2712頁(2003年5月)、ならびにR.N.S.Ratnayake、E.F.Haratsch、およびGu−Yeon Wei、「A Bit−node centric architecture for low−density parity check decoders」、IEEE Global Telecommunications Conference(Globecom)、米国コロンビア特別区ワシントン、265〜270頁(2007年11月)を参照されたい。
ビット・ノードiからチェック・ノードjへのメッセージQi,jは、
Figure 2012504841
によって与えられ、ここで、Le,iは、ビットiの軟デマッパ/軟データ・ジェネレータによって供給される外来LLRである。チェック・ノードjからビット・ノードiへのメッセージRj,iは、
Figure 2012504841
によって与えられ、ここで、
Figure 2012504841
かつ
Figure 2012504841
である。ビットiの帰納的対数尤度比(LLR)とも呼ばれる帰納的情報値Λは、
Figure 2012504841
によって与えられる。
反復的なデマッピングおよび復号のために軟デマッパ/軟データ・ジェネレータに供給されるビットiのLLR La,iは、
Figure 2012504841
として与えられ、ここで、Bは、ビット・ノードiに接続されたチェック・ノードの集合であり、Cは、チェック・ノードjに接続されたビット・ノードの集合である。
LDPCデコーダ ハードウェア共有デコーダ・アーキテクチャ
LDPC符号を復号するsum−productアルゴリズムを実施する時の重要な課題は、メッセージの受渡しを管理することである。チェック・ノードとビット・ノードとの両方の機能性が、比較的単純なので、そのそれぞれの実現は、少数のゲートだけを用いる。主な問題は、機能ノードの間のメッセージの受渡しに必要な帯域幅の実施である。
図14は、例示的なハードウェア共有LDPCデコーダ・アーキテクチャ1400のブロック図である。図14に示されているように、一般化されたLDPCデコーダ・アーキテクチャ1400は、それぞれチェック・ノード機能性またはビット・ノード機能性のいずれかを実施する複数の機能ユニット1410、1420と、メッセージを格納し、グラフ接続性を実現するメモリ・ファブリック1450とを含む。制御論理1430は、メモリ・ファブリック1450の構成を制御する。ハードウェア共有LDPCデコーダ・アーキテクチャ1400の実施態様の詳細な議論については、たとえば、E.Yeo他、「VLSI Architectures for Iterative Decoders in Magnetic Recording Channels」、IEEE Trans.On Magnetics、Vol.37、No.2、748〜755頁(2001年3月)を参照されたい。
そのようなハードウェア共有アーキテクチャが、デコーダの面積を減らすことが認められている。
図15に、本発明の一実施形態による軟データ生成を用いる例示的なフラッシュ・メモリ・システム1500を示す。図15に示されているように、例示的なフラッシュ・メモリ・システム1500は、フラッシュ・メモリ・ブロック1510を含む。後で述べるように、硬データ値または軟データ値(あるいはその両方)は、通常、フラッシュ・メモリ・ブロック1510によって割り当てられ、さらなる復号および処理のためにインターフェース1515を介してフラッシュ制御システム1520に転送される。例示的なフラッシュ制御システム1520は、下で図16に関連してさらに述べるLLRジェネレータ1550、下の「統計の収集」という題名のセクションでさらに述べる統計ジェネレータ(1つまたは複数)1570、およびデコーダ1530を含む。統計ジェネレータ(1つまたは複数)1570によって生成される統計は、オプションで、下でたとえば図17Aから17Cおよび18に関連してさらに述べる1つまたは複数の統計テーブル1560に記録され、あるいはその代わりに、リアルタイムで生成され得る。
統計ジェネレータ(1つまたは複数)1570によって生成された統計は、LLRジェネレータ1550によって使用されて、たとえばLLR、Lの形の軟データを生成する。当初に、LLR、Lは、フラッシュ・メモリ1510からの軟読出または硬読出(あるいはその両方)および対応する統計に基づく。LLR、Lは、デコーダ1530によって処理されて、新しい軟情報Lを生成し、この軟情報Lは、反復プロセスが最終判断に収束するまで、反復的な形でLLRジェネレータ1550にフィード・バックされる。
デコーダ1530は、やはり、たとえば確率伝搬、メッセージ・パッシング、Sum−Product、またはMin−SumアルゴリズムなどのLDPC復号アルゴリズムを使用して実施することができる。本明細書で説明される統計ジェネレータ1570およびLLRジェネレータ1550の機能を、フラッシュ制御システム1520、デコーダ1530、および読取チャネル825(たとえば、図8を参照されたい)のうちの1つまたは複数で実施できることに留意されたい。
読取統計を使用する軟データ(LLR)の計算
ビットcの先験的対数尤度比(LLR)Lは、次のように定義することができる。
Figure 2012504841
ここで、P(…)は確率である。
同様に、フラッシュ出力rに対して条件付けられたビットcのLLRは、次のように計算される。
Figure 2012504841
ここで、L(c)は、後続デコーダに渡される外来LLRまたは軟情報であり、p(…)は、確率密度関数(PDF)である。
図16は、例示的な2進チャネルの誤り確率pおよびqを示すトレリス1600である。2進チャネルの文脈で、pが誤り確率を表し、そうでない場合に、p(…)が確率密度関数を表すことに留意されたい。p≠qの場合には、この2進チャネルは非対称である。p=qの場合には、この2進チャネルは対称である。図16に示されているように、pは、2進0の誤り確率(すなわち、0が書き込まれた時に1を読み取る確率)である。同様に、qは、2進1の誤り確率(すなわち、1が書き込まれた時に0を読み取る確率)である。2進0を正しく読み取る確率(すなわち、0が書き込まれた時に0を読み取る確率)は、1−pとして表すことができる。同様に、2進1を正しく読み取る確率(すなわち、1が書き込まれた時に1を読み取る確率)は、1−qとして表すことができる。
2進非対称チャネルの外来LLR
トレリス1600によって定義される2進非対称チャネルのビットcの外来LLR、L(c)は、次のように表すことができる。
Figure 2012504841
読取ビット
Figure 2012504841
の外来LLR、L(c)は、
Figure 2012504841
として計算される。
読取ビット
Figure 2012504841
の外来LLR、L(c)は、
Figure 2012504841
として計算される。
2進対称チャネルの外来LLR(ただし、p=q=p
読取ビット
Figure 2012504841
の外来LLR、L(c)は、
Figure 2012504841
として計算される。
読取ビット
Figure 2012504841
の外来LLR、L(c)は、
Figure 2012504841
として計算される。
フラッシュ・メモリからの軟出力の外来LLR
2ビット/セル・フラッシュ・メモリについて、外来LLRを、フラッシュ・メモリ810、910から受け取られる軟値rについて、次のように計算することができる。
Figure 2012504841
一般に、セルあたりの任意のビット数について、ビットCの外来LLRは、
Figure 2012504841
と表すことができ、ここで、
r 受け取られた信号
s 格納されたビット(c,c,…c)によって与えられるオリジナルの格納された状態またはレベル
符号化されたビット
m セルあたりのビット数
Figure 2012504841
先験的LLR
(C) 外来LLR
Figure 2012504841
そのビット・ラベルが位置iで値C=cを有する状態またはレベルの部分集合である
ここで、L(C)は、たとえばLDPCデコーダ1090または1400などのデコーダによって供給される。最初の反復では、L(C)を0に初期化することができる。
次の等値性
Figure 2012504841
を使用すると、外来LLRの式を、次のように書くこともできる。
Figure 2012504841
この式を、
Figure 2012504841
にさらに単純化することができる。
この式は、数学的には、すべての状態またはレベルが同等にありそうである場合の上の式と同等である。
フラッシュ・メモリからの軟出力のパターン依存外来LLR
フラッシュ・メモリ810、910から受け取られる、ターゲット・セルの1つまたは複数の軟値rおよびアグレッサ・セル(1つまたは複数)の1つまたは複数の値
Figure 2012504841
について、
Figure 2012504841
であることを示すことができ、ここで、
Figure 2012504841
は、ターゲット・セルに対する外乱を引き起こす周囲のセル(1つまたは複数)または他のセル内に格納されたデータ・パターンである。たとえば、
Figure 2012504841
は、LLRが計算されようとしている位置(k,l)のターゲット・セルに近接するすべてのアグレッサ・セルを表す。
パターン
Figure 2012504841
を、たとえばアグレッサ・セルから硬データを読み出すことによって入手することができる。
外来LLRの式を、次のように書くこともできる。
Figure 2012504841
この式を、
Figure 2012504841
にさらに単純化することができる。
この式は、数学的に、すべての状態が同等にありそうである場合に上の式と同等である。
フラッシュ・メモリからの硬出力の外来LLR
軟出力がフラッシュ・メモリから使用可能ではなく、フラッシュ・メモリが、フラッシュ・メモリによって格納されたデータに割り当てられた状態またはレベルである硬データ
Figure 2012504841
だけを供給する時には、外来LLRを、
Figure 2012504841
として計算することができ、ここで、
Figure 2012504841
は、軟値r(電圧など)の期待値または硬値
Figure 2012504841
を仮定する軟値rに関するある他の推定値である。
Figure 2012504841
は、状態またはレベルsが最初に書き込まれ格納されたと仮定して、硬値(状態またはレベルなど)
Figure 2012504841
が読み取られる確率である。
外来LLRを、その代わりに
Figure 2012504841
として計算することができ、ここで、
Figure 2012504841
は、硬値(状態またはレベル)
Figure 2012504841
が読み取られると仮定して、状態またはレベルsが最初に書き込まれるか格納された確率である。
フラッシュ・メモリからの硬出力のパターン依存外来LLR
軟出力がフラッシュ・メモリから使用可能ではなく、フラッシュ・メモリが、フラッシュ・メモリによって格納されたデータに割り当てられた状態またはレベルである硬データ
Figure 2012504841
だけを供給するときには、外来LLRを、アグレッサ・セルに格納されたパターン
Figure 2012504841
に基づいて計算することができ、
Figure 2012504841
ここで、
Figure 2012504841
は、状態またはレベルsが最初に書き込まれ格納されたと仮定して、硬値(状態またはレベル)
Figure 2012504841
が読み取られ、アグレッサ・セル内のパターンが
Figure 2012504841
である確率である。
Figure 2012504841
は、ターゲット・セルに対する外乱を引き起こす周囲のセル(1つまたは複数)または他のセルに格納されたデータ・パターンである。たとえば、
Figure 2012504841
は、そのLLRが計算されようとしている位置(k,l)のターゲット・セルに近接するすべてのアグレッサ・セルを表す。
パターン
Figure 2012504841
を、たとえばアグレッサ・セルからの硬データを読み出すことによって入手することができる。
パターン依存LLRを、その代わりに
Figure 2012504841
として計算することができ、ここで、
Figure 2012504841
は、硬値(状態またはレベルなど)
Figure 2012504841
が読み取られ、アグレッサ・セル内のパターンが
Figure 2012504841
であると仮定して、状態またはレベルsが最初に書き込まれたか格納された確率である。
フラッシュからの軟出力の軟デコーダ・フィードバックなしの外来LLR
デコーダからの軟出力が、軟デマッパ/軟データ・ジェネレータ内で使用されない(言い換えると、L(C)=0)であるときには、軟デマッパ/軟データ・ジェネレータ内の外来LLRを、次のように計算することができる。
Figure 2012504841
これらの外来LLRは、その後、図10および11に示されたデコーダに渡される。次に、LDPCは、たとえばデータ・ビットが復号されるまでデコーダの内部の局所反復のためにメッセージ渡し復号アルゴリズムを適用することができる。この場合に、軟デマッパ/軟データ・ジェネレータの間の大域検出/復号反復は、全体的な計算の複雑さを下げるために、実行されない。
パターン依存LLRを、この場合には次のように計算することができる。
Figure 2012504841
フラッシュからの硬出力の軟デコーダ・フィードバックなしの外来LLR
軟データがフラッシュ・メモリから使用可能ではなく、デコーダからの軟出力が、計算の複雑さを減らすのに使用される場合には、外来LLRを次のように計算することができる。
Figure 2012504841
ここで、
Figure 2012504841
は、軟値r(電圧など)の期待値または硬値
Figure 2012504841
を仮定する軟値rのある他の推定値である。
Figure 2012504841
は、状態またはレベルsが最初に書き込まれ格納されたと仮定して、硬値(状態またはレベルなど)
Figure 2012504841
が読み取られる確率である。
代替実施態様では、LLRを
Figure 2012504841
として計算することができ、ここで、
Figure 2012504841
は、硬値(状態またはレベルなど)
Figure 2012504841
が読み取られると仮定して、状態またはレベルsが最初に書き込まれるか格納された確率である。
パターン依存LLRは、この場合に、次のように計算することができる。
Figure 2012504841
フラッシュからの軟出力の外来LLRのガウス近似
フラッシュ・メモリからの軟出力(読取しきい電圧など)が、ガウス分布を有してモデル化される場合には、最初に格納されたか書き込まれたレベルsを仮定した軟出力p(r)の条件PDF p(r|s)を
Figure 2012504841
と表すことができ、ここで、σ(s)は、標準偏差であり、E{r|s}は、状態sの軟出力(しきい電圧など)の平均値または期待値である。
すると、外来LLRを
Figure 2012504841
として計算することができる。
すべての状態の電圧分布が同一の標準偏差σ(s)=σを有する場合には、この式を次の式に単純化することができる。
Figure 2012504841
この式を、
Figure 2012504841
にさらに単純化することができる。
フラッシュからの硬出力の外来LLRのガウス近似
フラッシュ・メモリからの軟出力が使用可能ではないときには、LLRを、軟出力がガウス分布であると仮定して次のように計算することができ、
Figure 2012504841
ここで、E{r|s}は、状態sに関する軟出力r(しきい電圧など)の平均値または期待値であり、
Figure 2012504841
は、フラッシュ・メモリによって割り当てられ、供給される状態またはレベルである硬出力
Figure 2012504841
に関する軟出力r(しきい電圧など)の平均値または期待値である。
すべての状態に関する電圧分布が、同一の標準偏差σ(s)=σを有する場合には、この式を、次の式に単純化することができる。
Figure 2012504841
この式を、さらに
Figure 2012504841
に単純化することができる。
フラッシュ・メモリからの硬出力のパターン依存外来LLRのガウス近似
硬出力のパターン依存LLRは、軟出力の分布がガウシアンとしてモデル化される場合に、次のように計算することができる。
Figure 2012504841
ここで、
Figure 2012504841
は、上で定義したように、アグレッサ・セルに格納されるパターンであり、
Figure 2012504841
は、状態sおよびパターン
Figure 2012504841
に関する軟出力の分布の標準偏差である。
すべての状態およびパターンの電圧分布が、同一の標準偏差
Figure 2012504841
を有する場合には、この式を次の式に単純化することができる。
Figure 2012504841
この式を、さらに
Figure 2012504841
に単純化することができる。
フラッシュ・メモリからの軟出力の軟デコーダ・フィードバックなしの外来LLRのガウス近似
軟デコーダ・フィードバックが使用されないときには、外来LLRを、フラッシュ・メモリからの軟出力が使用可能であるときの軟出力分布に関するガウス近似を使用して次のように計算することができる。
Figure 2012504841
すべての状態の電圧分布が同一の標準偏差σ(s)=σを有する場合には、この式を、次の式に単純化することができる。
Figure 2012504841
この式を、さらに
Figure 2012504841
に単純化することができる。
フラッシュ・メモリからの硬出力の軟デコーダ・フィードバックなしの外来LLRのガウス近似
軟デコーダ・フィードバックが使用されないときには、外来LLRを、フラッシュ・メモリからの硬出力だけが使用可能であるときの軟出力分布のガウス近似を使用して次のように計算することができる。
Figure 2012504841
すべての状態の電圧分布が同一の標準偏差σ(s)=σを有する場合には、この式を、次の式に単純化することができる。
Figure 2012504841
この式を、さらに
Figure 2012504841
に単純化することができる。
対応するパターン依存LLRは、次のように計算される。
Figure 2012504841
すべての状態およびパターンの電圧分布が同一の標準偏差
Figure 2012504841
を有する場合には、この式を次の式に単純化することができる。
Figure 2012504841
これを、さらに
Figure 2012504841
に単純化することができる。
読取統計テーブル
図17A〜17Cは、フラッシュ・メモリからのデータの読出に関する統計を記録する例示的なセル・ベースの統計テーブルである。図17Aは、(書込レベル(s)および読取レベル(
Figure 2012504841
))の所与の対について、書込レベル(s)が書き込まれたときに
読取レベル(
Figure 2012504841
)が読み取られた回数を示す、例示的なセル・ベースの統計カウント・テーブル1700である。たとえば、書込レベル(s)も00と等しいときに、読取レベル(
Figure 2012504841
)は、10617回読み取られた。さらに、書込レベル(s)が01と等しいときに、読取レベル(
Figure 2012504841
)は、誤って148回読み取られた。カウント・テーブル1700は、オプションで、各行および列の合計をも示す。カウント・テーブル1700内の値は、図21、23、25、および28に関連して下で述べる、複数のセル・ベースの統計プロセスによって使用される。
図17Bは、(書込レベル(s)および読取レベル(
Figure 2012504841
))の所与の対について、読取レベル(
Figure 2012504841
)が読み取られたという条件の下で書込レベル(s)が書き込まれた確率
Figure 2012504841
を示す、例示的なセル・ベースの統計テーブルである。図17Cは、(書込レベル(s)および読取レベル(
Figure 2012504841
))の所与の対について、書込レベル(s)が書き込まれたという条件の下で、読取レベル(
Figure 2012504841
)が読み取られた確率
Figure 2012504841
を示す、例示的なセル・ベースの統計テーブル1740である。
図18は、所与のパターンの存在下でフラッシュ・メモリからのデータの読出に関するパターン依存統計を記録する例示的なパターン依存セル・ベース統計テーブル1800である。例示的なテーブル1800は、(書込レベル(s)および読取レベル(
Figure 2012504841
))の所与の対について、所与のパターン
Figure 2012504841
の存在下で、書込レベル(s)が書き込まれたという条件の下で、読取レベル(
Figure 2012504841
)がパターン
Figure 2012504841
の存在下で読み取られた確率
Figure 2012504841
を示す。
統計の収集
基準セルを使用する統計収集
図19に、図3の例示的なフラッシュ・セル・アレイをさらに詳細に示す。図19に示されているように、例示的なフラッシュ・セル・アレイ1900は、すべての動作条件で信頼できるチャネル推定値または統計を提供するために複数の基準セル1920−refから1920−ref(本明細書では集合的に基準セル1920と称する)を含む。
例示的な基準セル1920は、図19では切り刻まれた背景を有して図示されている。基準セル1920を、既知のビット・パターンまたは既知の記号パターンなどの既知のパターンを使用して周期的にまたは間欠的にプログラムすることができる。基準セル1920を、任意の所望の形で、たとえば、各ワード線内の一貫したまた可変の個数のセルを使用して、フラッシュ・セル・アレイ1900の中で分散させることができることに留意されたい。基準セル1920の位置は、固定することができ、あるいは、たとえば使い古されたまたは損傷を受けたセルを回避するために、経時的に変更することができる。一実施態様では、基準セル1920の位置は、固定され、同一の基準セル1920の性能を、経時的に観察することができる。この固定位置実施態様では、基準セル1920を、オプションで、1回だけ書き込むことができ、あるいは、フラッシュ・メモリ・アレイ内の他のセルに匹敵する回数だけ書き込み、読み取ることができる。
さらなる変形形態では、基準セル1920の位置は、基準セル1920の性能がアレイ1900全体の性能を反映するために、経時的に変更される。さらに別の変形形態では、統計を、複数の異なるアレイ1900内の基準セル1920から入手することができ、その後、結果は、平均をとられる。
下でさらに述べるように、基準セル1920は、読み取られ、既知のパターンと比較される。たとえば、誤りを検出する確率pの推定値を、次のように入手することができる。
Figure 2012504841
基準セルのプログラミングおよび読取を、オプションで、既知の形で、メモリにまたがって消耗を拡散させるウェアレベル・アルゴリズムと組み合わせることができる。
さまざまな実施形態では、基準セル1920は、すべての可能なレベルを格納することができ、周期的パターン(レベルが交番する場合)を有し、周期的に書き込まれまたは経時的に読み取られるのいずれかとすることができる。
後で述べるように、本発明のさまざまな実施形態は、ビット・ベースの統計、セル・ベースの統計、またはパターン依存統計を収集し、使用する。ビット・ベースの統計を使用する実施形態について、ビット誤り性能が測定される。セル・ベースの統計を使用する実施形態について、読取統計が、セルを基礎として測定される。パターン依存統計について、読取統計は、アグレッサ・セルに格納されたデータ・パターンをも説明する。
1.基準セルを使用するビット・ベースの統計
図20は、本発明の基準セル実施形態に関するビット・ベースの統計生成プロセス2000の例示的実施態様を説明する流れ図である。一般に、ビット・ベースの統計生成プロセス2000は、ビット誤りを検出する確率pを計算する。その後、誤りを検出する確率pをLLRジェネレータ1550(図15)によって使用して、所望の軟データを計算することができる。当初に、統計生成プロセス2000は、ステップ2010中に、1つまたは複数の基準セル1920に既知のパターンを書き込む。前に示したように、既知のパターンは、たとえば、既知のビット・パターンまたは既知の記号パターンとすることができる。
その後、ステップ2020中に、基準セルを読み取る。その後、統計生成プロセス2000は、ステップ2030中に、基準セル1920内の誤りのあるビットの個数など、エラー・メトリックを判定する。前に示したように、ステップ2020中に読み取られた基準セル1920を、既知のパターンと比較することができる。
統計生成プロセス2000は、ステップ2040中に、次のように誤り確率統計を計算する。
Figure 2012504841
2.基準セルを使用するセル・ベースの統計
図21は、本発明の基準セル実施形態に関するセル・ベースの統計生成プロセス2100の例示的実施態様を説明する流れ図である。図21に示されているように、セル・ベースの統計生成プロセス2100は、当初に、ステップ2110中に基準セル1920に1つまたは複数の既知の電圧レベルを書き込む。
その後、セル・ベースの統計生成プロセス2100は、ステップ2120中に基準セル1920から電圧レベルを読み取る。可能な書込レベルsまたはLVLwritごとに、セル・ベースの統計生成プロセス2100は、ステップ2130中に、この書込レベルsまたはLVLwritが書き込まれた時に各レベル
Figure 2012504841
またはLVLreadが読み取られた回数をカウントする。
ステップ2140中に、次のように誤り確率統計を計算する。
Figure 2012504841
代替案では、ステップ2140中に、誤り確率統計を次のように計算することができる(逆の事例)。
Figure 2012504841
代替の正規化項を、ステップ2140中に計算される式の分母に使用できることに留意されたい。
復号済み符号語を使用する統計収集
本発明の復号済み符号語実施形態では、軟データは、基準セルとして復号済み符号語から入手されたデータを使用して、フラッシュ・メモリ・デバイス810、910などのメモリ・デバイスについて生成される。一般に、フラッシュ・メモリ・デバイスなどのメモリ・デバイスからの硬データが復号され、誤りのある復号済みビットの個数などのエラー・メトリックが入手される。たとえば、誤りのある復号済みビットの個数を、復号済みビットをメモリ・デバイスから入手された硬データと比較することによって入手することができる。この形で、復号済み符号語を、正しいと仮定することができ、復号済み符号語は、上で述べた基準セルとして働くことができる。
1.復号済み符号語を使用するビット・ベースの統計
図22は、本発明の復号済み符号語実施形態に関するビット・ベースの統計生成プロセス2200の例示的実施態様を説明する流れ図である。一般に、ビット・ベースの統計生成プロセス2200は、復号済み符号語を使用して、誤りを検出する確率pを計算する。その後、誤りを検出する確率pを、LLRジェネレータ1550(図15)によって使用して、所望の軟データを計算することができる。当初に、統計生成プロセス2200は、ステップ2210中に、フラッシュ・メモリから硬データを入手する。
その後、ビット・ベースの統計生成プロセス(復号済み符号語)2200は、ステップ2220中に硬データを復号する。フラッシュ・メモリからの誤りのあるビットの個数などのエラー・メトリックを、ステップ2230中に判定する。誤りのあるビットの個数は、たとえば、復号済みビット(正しいと仮定される)をフラッシュ・メモリからの硬データと比較することによって判定することができる。
統計生成プロセス2200は、ステップ2240中に次のように誤り確率統計を計算する。
Figure 2012504841
2.復号済み符号語を使用するセル・ベースの統計
図23は、本発明の特徴を組み込んだセル・ベースの統計生成プロセス(復号済み符号語)2300の例示的実施態様を説明する流れ図である。一般に、統計生成プロセス2300は、復号済み符号語を使用して、セル・ベースの誤り確率を計算する。当初に、セル・ベースの統計生成プロセス2300は、ステップ2310中にフラッシュ・メモリから硬データを入手する。
その後、セル・ベースの統計生成プロセス(復号済み符号語)2300は、ステップ2320中に硬データを復号する。その後、ステップ2325中に、復号済みビットを対応する電圧レベルにマッピングする。
その後、可能な復号済み電圧レベルsまたはLVLdecodごとに、セル・ベースの統計生成プロセス(復号済み符号語)2300は、ステップ2330中に、この復号済みレベルs LVLdecodが復号された時に各電圧レベル
Figure 2012504841
またはLVLreadが読み取られた回数をカウントする。
ステップ2340中に、次のように誤り確率統計を計算する。
Figure 2012504841
代替案では、誤り確率統計を、ステップ2340中に次のように計算することができる(逆の事例)
Figure 2012504841
条件固有の誤り確率
前に示したように、誤り確率統計を、オプションで、メモリ・アレイの異なる位置について、アグレッサ・セルの異なるパターンについて、異なる温度について、異なる個数のプログラム/消去サイクルまたは読取サイクルについて、その他など、異なる条件について入手することができる。その後、同一条件が観察される時に、軟データを、正しい条件依存の統計または確率を使用して入手することができる。
下で図24および25に関連して述べるように、例示的な位置固有統計生成プロセス2400、2500は、それぞれビット・ベースの統計およびセル・ベースの統計を使用して、メモリ・アレイの異なる位置に関する誤り確率統計を入手する。
ビット・ベースの位置固有統計
図24は、メモリ・アレイ内の複数の異なる位置に関するビット誤りを検出する確率を推定する例示的なビット・ベースの位置固有統計生成プロセス2400を説明する流れ図である。たとえば、誤りを検出する確率p0,LOCを、異なるページ位置、ワード線位置、ビット線位置(偶数ビット線および奇数ビット線など)、およびマルチレベル・セル内の異なるビット(最上位ビット(MSB)および最下位ビット(LSB)など)のうちの1つまたは複数について入手することができる。図24に示されているように、例示的なビット・ベースの位置固有統計生成プロセス2400は、当初に、ステップ2430中に、所望の位置固有統計に基づいて、基準セルまたは復号済み符号語の所望の位置の誤りのあるビットの個数を判定する。たとえば、位置固有統計がMSBに関するものである場合には、ステップ2430中に、誤りのあるMSBビットの個数を評価する。MSB統計が入手されつつあるときには、たとえば、LSBビットなど、各セル内のすべての他のビットをオプションで無視できることに留意されたい。
次に、位置固有統計生成プロセス2400は、ステップ2440中に次のように位置固有誤り確率統計を計算する。
Figure 2012504841
セル・ベースの位置固有統計
セル・ベースの位置固有実施態様について、メモリ・アレイ内の関心を持たれている異なる位置は、たとえば、異なるワード線位置またはビット線位置(偶数ビット線および奇数ビット線など)のうちの1つまたは複数を含むことができる。
図25は、異なるワード線位置またはビット線位置(偶数ビット線および奇数ビット線など)のうちの1つまたは複数など、メモリ・アレイ1900内の複数の異なる位置について誤り確率統計を入手する例示的なセル・ベースの位置固有統計生成プロセス2500を説明する流れ図である。図25に示されているように、可能な基準電圧レベルsまたはLVLrefごとに、例示的なセル・ベースの位置固有統計生成プロセス2500は、当初に、ステップ2530中に、この基準レベルsまたはLVLrefが復号されたか書き込まれた時に各電圧レベル
Figure 2012504841
LVLreadが所望の位置で読み取られた回数をカウントする。
次に、セル・ベースの位置固有統計生成プロセス2500は、ステップ2540中に次のように位置固有誤り確率統計を計算する。
Figure 2012504841
代替案では、
Figure 2012504841
を、上で述べたように計算することができる。
本発明のさまざまな実施態様では、別々のビット・ベースの、セル・ベースの、またはパターン・ベースの統計を、ページごと、ワード線ごと、もしくはメモリ・アレイごとに、またはページのグループ、ワード線のグループ、もしくはメモリ・アレイのグループについて(あるワード線内の異なるページ・レベル、またはあるメモリ・アレイ内の下ワード線、中ワード線、および上ワード線についてなど)、収集することができる。さらに、統計を、複数のページ、ワード線、またはメモリ・アレイにまたがって平均化することができ、その後、平均統計を、これらのページ、ワード線、またはメモリ・アレイについて使用することができる。
パターン依存の統計
前に示したように、本発明のさまざまな実施形態は、1つまたは複数の軟値rについて、ターゲット・セルおよび1つまたは複数の値
Figure 2012504841
について、アグレッサ・セル(1つまたは複数)について、外来LLR、Lを計算し、ここで、
Figure 2012504841
は、アグレッサ・セル(囲むセル(1つまたは複数))などに格納されたデータ・パターンである。
図26に、各アグレッサ・セル720のすべての可能な値に基づく、例示的なマルチレベル・セル・フラッシュ・メモリ600の所与のターゲット・セル710に関する確率密度関数2610の例示的な集団2600を示す。例示的なマルチレベル・セル・フラッシュ・メモリは、セルあたり4つのレベル(2ビット)を有し、1つのアグレッサ・セル720が、データ依存pdfについて考慮される。所与のターゲット・セル710の各可能なレベルに適用可能な確率密度関数の個数は、各アグレッサ・セル720の可能なレベルの個数を、所与のターゲット・セル710に影響するアグレッサ・セル720の個数乗したものである。前に示したように、例示的実施形態では、各セルは、4つの可能な値のうちの1つを有することができ、ターゲット・セル710あたり1つのアグレッサ・セル720があり、各アグレッサ・セル720は、4つの可能なレベルのうちの1つを有することができる。したがって、例示のために、確率密度関数の集団2600は、アグレッサ・セルのパターンに適用可能なデータまたは電圧レベル0に関する4つの確率密度関数2610−1から2610−4を含む。他のデータ・レベル1、2、および3のそれぞれについても、4つの確率密度関数がある。当業者に明白であるように、本発明を、セルあたり任意の個数のレベルおよび任意の個数のアグレッサ・セル720を有するマルチレベル・セル・フラッシュ・メモリ600に拡張することができる。
一般に、図26の各確率密度関数は、他の雑音および外乱の影響の中でも、対応するアグレッサ・セル720の所与の値に関する所与のターゲット・セル710に対するICIの影響を表す。本発明のさらなる実施形態では、データ依存確率密度関数は、ICIの代わりにまたはICIに加えて、他のデータ依存ひずみを表すことができる。後で述べるように、さまざまな実施形態では、確率密度関数を、事前定義の静的なものとするか、リアルタイム観察に基づいて適合されるものとするか、あるいは、ガウス関数など、アグレッサ・セル720の測定されたまたは検出された値hの関数として表すことができる。
本発明の一態様によれば、フラッシュ・メモリ・デバイス内の外乱は、少なくとも1つのターゲット・セルに対する1つまたは複数のアグレッサ・セルのパターン依存外乱を表す1つまたは複数の確率密度関数を入手することによって特徴を表すことができる。外乱は、たとえば、バック・パターン依存、セル間干渉、プログラム妨害、読取妨害、および/または追加の雑音を含むことができる。確率密度関数を、1つまたは複数のデータ判断に基づいて更新することができる。確率密度関数を、格納されたテーブルおよび/または式として表すことができる。
さらに、確率密度関数のテーブル・エントリまたは関数パラメータを、オプションで、たとえば受け取られたデータ判断に基づいて、適応式に更新できることに留意されたい。たとえば、確率密度関数を、受け取られたアグレッサ・パターン
Figure 2012504841
に基づいて選択することができる。選択された確率密度関数は、その後、受け取られたターゲット・セル値rに基づいて、既知の技法を使用して、最新のオカレンスを用いて更新される(たとえば、対応するカウンタを増やすことによって)。
前に示したように、所与のターゲット・セル710に影響するアグレッサ・セル720の個数を、複数の要因に基づいて減らすか無視することができる。この形で、検討する必要がある確率密度関数の個数を減らすことができる。たとえば、ICIを軽減する例示的実施態様では、斜めに結合する係数kxyが、他の結合する係数よりはるかに小さい(しばしばそうであるように)場合には、斜めに位置するセルからのICIを無視することができる。さらに、プログラミング・シーケンスは、検討される必要があるアグレッサ・セル720の個数に影響する。たとえば、ボトム・アップ手法など、ワード線が必ず固定された順序で書き込まれる場合には、下側ワード線内のセルからの外乱ICI寄与がない場合がある。さらに、外乱ICIがターゲット・セル710の左右の隣に関して対称である場合には、特性を表される必要がある確率密度関数の個数が、半分だけ減らされる。
前に示したように、1つの例示的実施態様では、確率密度関数を、ガウス確率密度関数を使用して近似することができる。さらなる変形形態では、確率密度関数が、たとえばヒストグラムに基づく場合に、追加の複雑さという犠牲を払って、改善された性能を得ることができる。確率密度関数がヒストグラムを使用して実施されるときに、確率密度関数を、成功して復号されたワード線を使用してヒストグラムをトレーニングすることによって適応式に更新することができる。
さらなる実施形態では、確率密度関数およびその近似を、読取データを検出するために、ビタビ・アルゴリズム、軟出力ビタビ(SOVA)アルゴリズム、およびBCJRアルゴリズムなどのトレリス・ベースの検出アルゴリズムによって使用することができる。
1.ビット・ベースのパターン依存統計
図27は、少なくとも1つのターゲット・セル710(図7)に関連する1つまたは複数のアグレッサ・セル720の所与のパターン
Figure 2012504841
またはPATTに関するビット・エラーを検出する確率p0,PATTを推定する例示的なビット・ベースのパターン依存統計生成プロセス2700を説明する流れ図である。当初に、ビット・ベースのパターン依存統計生成プロセス2700は、ステップ2720中に基準ターゲット・セル710および潜在的に関連するアグレッサ・セル(1つまたは複数)720を読み取る。さらに、ステップ2725中に、読み取られたターゲット・ビットごとに、関連するアグレッサ・セル720のパターンPATTを識別する。このパターンは、ステップ2725中に、たとえば書き込まれた既知のパターンを評価することによって、または基準セルもしくは復号済み符号語の実際の読取動作に基づいて、識別することができる。
ステップ2730中に、1つまたは複数の識別されたパターンについて、対応するパターンを有する誤りのあるターゲット・ビットの個数を判定する。その後、ステップ2740中に、次のように誤り確率統計を計算する。
Figure 2012504841
当業者に明白であるように、上で説明した諸技法を、オプションで、位置固有パターン依存統計を入手するために統合できることに留意されたい。さらに、さらなる変形形態では、それに加えてまたはその代わりに、読取統計を、メモリ・デバイスの耐久性、読取サイクル数、保持特性、温度、または他のパラメータの関数として入手することができる。
2.セル・ベースのパターン依存統計
図28は、少なくとも1つのターゲット・セルに関連する1つまたは複数のアグレッサ・セルの所与のパターンに関する誤りを検出する確率を推定する例示的なセル・ベースのパターン依存統計生成プロセス2800を説明する流れ図である。図28に示されているように、セル・ベースのパターン依存統計生成プロセス2800は、当初に、ステップ2820中に1つまたは複数のターゲット・セルを読み取る。その後、ステップ2825中に、関連するアグレッサ・セル(1つまたは複数)のパターン
Figure 2012504841
またはPATTを識別する。
その後、ステップ2830中に、1つまたは複数の識別されたパターンについて、および可能な基準電圧レベルsまたはLVLrefごとに、セル・ベースのパターン依存統計生成プロセス2800は、この基準レベルsまたはLVLrefが復号されたか書き込まれた時に各電圧レベル
Figure 2012504841
またはLVLreadが読み取られた回数をカウントする。
ステップ2840中に、パターン依存誤り確率統計が、次のように計算される。
Figure 2012504841
非対称誤り確率統計
前に示したように、NANDフラッシュ・メモリ・チャネルなどのある種のチャネルでは、2進0および2進1などの異なる可能な2進値の誤りを検出する確率が、大きく異なる可能性がある。したがって、本発明は、オプションで、非対称チャネルの誤りを検出する確率を提供する。図29および30は、2進0および2進1などの2つの可能な2進値の誤り確率pおよびqを推定する例示的な非対称統計生成プロセス2900、3000を提供する。下でさらに述べるように、図29は、基準セルを使用して非対称統計を推定し、図30は、復号済み符号語を使用して非対称統計を推定する。したがって、本発明は、フラッシュ・メモリからの硬データに基づいて可能な2進値ごとに非対称LLRを提供する。
非対称誤り確率−基準セル
前に示したように、NANDフラッシュ・メモリ・チャネルなどのある種のチャネルでは、2進0および2進1などの異なる可能な2進値の誤りを検出する確率が、大きく異なる可能性がある。したがって、本発明は、オプションで、非対称チャネルの誤りを検出する確率を提供する。図29は、本発明の基準セル実施形態の2つの可能な2進値の誤り確率を推定する例示的な非対称統計生成プロセス2900を説明する流れ図である。
図29に示されているように、非対称統計生成プロセス2900は、当初に、ステップ2910中に基準セル1920に既知のパターンを書き込み、その後、ステップ2020中に基準セル1920を読み取る。非対称統計生成プロセス2900は、ステップ2930中に基準データ内の2進0を有する誤りのあるビットの個数を判定し、その後、次のように、ステップ2940中に2進0の誤り確率統計を計算する。
Figure 2012504841
その後、非対称統計生成プロセス2900は、ステップ2950中に基準データ内の2進1を有する誤りのあるビットの個数を判定し、その後、次のように、ステップ2960中に2進1の誤り確率統計を計算する。
Figure 2012504841
非対称誤り確率−復号済み符号語
図30は、本発明の復号済み符号語実施形態の2つの可能な2進値の誤り確率を推定する例示的な非対称統計生成プロセス3000を説明する流れ図である。図30に示されているように、非対称統計生成プロセス3000は、当初に、ステップ3010中にフラッシュ・メモリから硬データを入手し、ステップ3020中に硬データを復号する。
その後、非対称統計生成プロセス3000は、ステップ3030中に復号済みデータ内の2進0を有するフラッシュ・メモリからの誤りのあるビットの個数を判定する。その後、ステップ3040中に、次のように2進0の誤り確率統計を計算する。
Figure 2012504841
同様に、ステップ3050中に、復号済みデータ内の2進1を有するフラッシュ・メモリからの誤りのあるビットの個数を判定する。その後、ステップ3060中に、次のように2進1の誤り確率統計を計算する。
Figure 2012504841
一実施形態では、NANDフラッシュ・メモリがアイドルである(すなわち、ユーザ・データを能動的に読み取っても書き込んでもいない)間に、統計を収集し、計算し、格納することができる。
例示的実施形態は、基準セルまたはデコーダ・フィードバックを使用する統計収集を使用したが、検出されたデータまたは復号されたデータを使用して、たとえば最小平均二乗誤差判断基準を使用して、統計を推定するのに適応的方法を使用することもできる。
代替実施形態では、統計または対応するLLRを、ワーストケース動作条件(たとえば、プログラム/消去サイクルの個数、保持時間、および温度に関する)について、たとえばフラッシュ・メモリの実験的特性試験に基づいて事前に計算し、その後、これらを悪いチャネル条件について使用することができる。この形で、より正確な統計またはLLRが、誤り確率が最大であるときに使用可能である。言い換えると、事前定義の統計または対応するLLRを、事前定義の動作条件について事前に計算することができる。
さらなる変形形態では、軟データを、復号が成功するまで異なる統計(誤り確率など)に基づいて反復して生成することができる。統計を、データの成功の検出または復号まで、ある範囲にわたって変更することができる。本発明のこの変形形態は、データの仮想再読取を提供する。データは、実際にはフラッシュ・メモリから再読取されないが、データは、異なる軟情報を用いて成功して復号される。
満足されないパリティ検査に基づく誤り性能
本発明の諸態様は、満足されないパリティ検査を、軟データを入手するために性能メトリックとして使用することもできることを認めるものである。(N,K,J,L)LDPC符号を検討されたく、Nは、符号語長であり、Kは、未符号化符号語長(符号語内のユーザ・データ長)であり、JおよびLは、それぞれパリティ検査行列の列重みおよび行重みである。(N,K,J,L)LDPC符号語が、誤り確率pで伝送されるか格納される時に、チェック・サムが最初の反復で不合格になる確率を、次のように表すことができる。
Figure 2012504841
この確率を、次のように推定することができる。
Figure 2012504841
したがって、誤り確率pを、次のように推定することができる。
Figure 2012504841
上の手順では、チャネルおよび初期LLR値を、反復復号を実行する前に推定することができる。チャネル推定の複雑さおよび待ち時間は、軟判定復号の1反復のそれより小さく、LDPC符号の硬判定復号に対するかなりの性能利益を伴う。軟判定復号の標準実施態様と比較した追加のハードウェアは、次の計算を実行するブロックである。
Figure 2012504841
図31は、本発明の一態様による、満足されないパリティ検査を使用する統計生成プロセス3100の例示的実施態様を説明する流れ図である。一実施形態では、最初の反復の後の満足されないパリティ検査が使用される。一般に、統計生成プロセス3100は、満足されないパリティ検査を使用して、誤りを検出する確率pを計算する。その後、誤りを検出する確率pを、LLRジェネレータ1550(図15)によって使用して、所望の軟データを計算することができる。
当初に、統計生成プロセス3100は、ステップ3110中に満足されないパリティ検査の個数を入手する。次に、統計生成プロセス3100は、ステップ3120中に次のように誤り確率統計を計算する。
Figure 2012504841
位置固有統計−満足されないパリティ検査
図32は、満足されないパリティ検査を使用してメモリ・アレイ1900内の複数の異なる位置の誤り確率統計を入手する例示的な位置固有統計生成プロセス3200を説明する流れ図である。たとえば、誤り確率統計を、異なるページ位置、ワード線位置、ビット線位置(偶数ビット線および奇数ビット線など)、およびマルチレベル・セル内の異なるビット(最上位ビット(MSB)および最下位ビット(LSB)など)のうちの1つまたは複数について入手することができる。一般に、位置固有統計は、満足されないパリティ検査を使用して、所望の位置にビットを位置決めする符号語を使用することによって入手される(ステップ3210)。
次に、図32に示されているように、例示的な位置固有統計生成プロセス3200は、ステップ3220中に、符号語に関する満足されないパリティ検査の個数を入手する。その後、ステップ3230中に、次のように位置固有誤り確率統計を計算する。
Figure 2012504841
満足されないパリティ検査に基づく非対称統計
図33は、満足されないパリティ検査を使用して2つの可能な2進値の誤りを検出する確率を推定する例示的な非対称統計生成プロセス3300を説明する流れ図である。本発明のこの態様は、平均誤り確率
Figure 2012504841
を、満足されないパリティ検査に基づいて計算できることを認めるものである(ただし、
Figure 2012504841
)。pおよびqの値を、平均誤り確率
Figure 2012504841
と、誤り確率pおよびqの比kとに基づいて計算することができる。
誤り確率pおよびqの比kを、上で説明した復号済み符号語技法などのデータ分析を使用して入手することができる。代替案では、誤り確率pおよびqの比kを、たとえば、本願と同時に出願され、参照によって本明細書に組み込まれている、国際出願、名称「Methods and Apparatus for Soft Data Generation for memory devices Using Reference Cells」に記載の基準セル技法を使用して入手することができる。誤り確率pおよびqの比kは、通常は、オフラインで計算され、たとえばテーブルに格納されるはずである。図33に示されているように、例示的な非対称統計生成プロセス(満足されないパリティ検査)3300は、当初に、ステップ3310中に誤り確率pおよびqの比kを入手する。
平均誤り確率
Figure 2012504841
を、ステップ3320中に、図16に関連して上で説明した技法を使用して入手することができる。具体的に言うと、平均誤り確率
Figure 2012504841
を、次のように推定することができる。
Figure 2012504841
その後、ステップ3330中に、次のように2進0の誤り確率統計pを計算する。
Figure 2012504841
その後、ステップ3340中に、次のように2進1の誤り確率統計qを計算する。
Figure 2012504841
非対称統計生成プロセス(満足されないパリティ検査)3300によって計算される誤り確率統計pおよびqを、オプションで位置固有および/またはパターン依存にすることができることに留意されたい。
プロセス、システム、および製造品の詳細
本明細書の複数の流れ図は、ステップの例示的シーケンスを説明するが、そのシーケンスを変更できることも、本発明の実施形態である。アルゴリズムのさまざまな置換が、本発明の代替実施形態として企図されている。本発明の例示的実施形態を、ソフトウェア・プログラム内の処理ステップに関して説明したが、当業者に明白であるように、さまざまな機能を、ディジタル領域でソフトウェア・プログラム内の処理ステップとして、ハードウェアで回路要素または状態機械によって、あるいはソフトウェアとハードウェアとの両方の組合せで実施することができる。そのようなソフトウェアを、たとえば、ディジタル信号プロセッサ、特定用途向け集積回路、マイクロコントローラ、または汎用コンピュータで使用することができる。そのようなハードウェアおよびソフトウェアを、集積回路内で実施される回路内で実施することができる。
したがって、本発明の機能を、方法およびこれらの方法を実践する装置の形で実施することができる。本発明の1つまたは複数の態様を、たとえば、記憶媒体に格納されるか、機械にロードされかつ/または機械によって実行されるか、あるいはある伝送媒体を介して伝送されるかのいずれかであるプログラム・コードの形で実施することができ、ここで、そのプログラム・コードがコンピュータなどの機械にロードされ、その機械によって実行されるときに、その機械は、本発明を実践する装置になる。汎用コンピュータで実施される時に、プログラム・コード・セグメントは、特定の論理回路に類似して動作するデバイスを提供するためにプロセッサと組み合わされる。本発明を、集積回路、ディジタル信号プロセッサ、マイクロプロセッサ、およびマイクロコントローラのうちの1つまたは複数で実施することもできる。
当技術分野で既知のように、本明細書で述べられた方法および装置を、コンピュータ可読コード手段をその上で実施されたコンピュータ可読媒体をそれ自体が含む製造品として配布することができる。コンピュータ可読プログラム・コード手段は、本明細書で述べられた方法を実行するステップのすべてまたは一部を実行しまたは本明細書で述べられた装置を作成するために、コンピュータ・システムに関連して動作可能である。コンピュータ可読媒体は、記録可能媒体(たとえば、フロッピ・ディスク、ハード・ドライブ、コンパクト・ディスク、メモリ・カード、半導体デバイス、チップ、特定用途向け集積回路(ASIC))とすることができ、あるいは、伝送媒体(たとえば、光ファイバを含むネットワーク、ワールド・ワイド・ウェブ、ケーブル、または時分割多元接続、符号分割多元接続、もしくは他の無線周波数チャネルを使用する無線チャネル)とすることができる。コンピュータ・システムと共に使用するのに適切な情報を格納できる既知のまたは開発されるすべての媒体を、使用することができる。コンピュータ可読コード手段は、磁気媒体上の磁気変動またはコンパクト・ディスクの表面上の高さ変動など、コンピュータが命令およびデータを読み取ることを可能にするすべての機構である。
本明細書で説明されるコンピュータ・システムおよびサーバは、それぞれ、本明細書で開示される方法、ステップ、および機能を実施するために関連プロセッサを構成するメモリを含む。メモリを、分散型またはローカルとすることができ、プロセッサを、分散型または単独とすることができる。メモリを、電子メモリ、磁気メモリ、または光メモリ、あるいは上記または他のタイプのストレージ・デバイスの任意の組合せとして実施することができる。さらに、用語「メモリ」は、関連するプロセッサによってアクセスされるアドレス空間内のアドレスから読み取られるかそのアドレスに書き込まれることが可能なすべての情報を包含するのに十分に広く解釈されなければならない。この定義を用いると、ネットワーク上の情報は、それでも、関連するプロセッサがネットワークからその情報を取り出すことができるので、メモリに含まれる。
本明細書で図示され、説明された実施形態および変形形態が、本発明の原理の単なる例示であり、さまざまな修正形態を、本発明の範囲および趣旨から逸脱せずに当業者が実施できることを理解されたい。

Claims (46)

  1. メモリ・デバイスの少なくとも1つの軟データ値を生成する方法であって、
    少なくとも1つの硬読取値を入手することと、
    前記硬読取値を読み取るための統計に基づいて前記少なくとも1つの硬読取値に関連する前記軟データ値を生成することと
    を含む方法。
  2. 前記硬読取値は、データ・ビット、電圧レベル、電流レベル、および抵抗レベルのうちの1つまたは複数を含む、請求項1に記載の方法。
  3. 前記硬読取値は、軟データおよび硬データのうちの1つまたは複数を含む、請求項1に記載の方法。
  4. 前記軟データ値は、1つまたは複数の対数尤度比を生成するのに使用される軟読取値を含む、請求項1に記載の方法。
  5. 前記軟データ値は、1つまたは複数の対数尤度比を含む、請求項1に記載の方法。
  6. 前記ステップのうちの1つまたは複数は、コントローラ、読取チャネル、信号処理ユニット、およびデコーダのうちの1つまたは複数によって実施される、請求項1に記載の方法。
  7. 前記統計は、少なくとも1つの確率密度関数を含む、請求項1に記載の方法。
  8. 前記統計は、複数のワード線にまたがって平均をとられ、前記平均をとられた統計は、前記軟データ値を生成するのに使用される、請求項1に記載の方法。
  9. 前記統計は、ビット・ベースの統計、セル・ベースの統計、およびパターン依存統計のうちの1つまたは複数を含む、請求項1に記載の方法。
  10. 別々のセル・ベースの統計は、前記メモリ・デバイス内の複数のワード線について維持される、請求項9に記載の方法。
  11. 1つまたは複数の可能なレベルLVLwritに関する前記セル・ベースの統計は、前記書込レベルLVLwritが書き込まれたか復号された時にレベルLVLreadが読み取られた確率に基づく、請求項9に記載の方法。
  12. 1つまたは複数の可能なレベルLVLreadに関する前記セル・ベースの統計は、前記読取レベルLVLreadが読み取られた時にレベルLVLwritが書き込まれたか復号された確率に基づく、請求項9に記載の方法。
  13. 前記メモリ・デバイス内の少なくとも1つのアグレッサ・セルについて格納されたデータを表す値
    Figure 2012504841
    を入手するステップをさらに含む、請求項1に記載の方法。
  14. 前記値
    Figure 2012504841
    は、硬データおよび軟データのうちの1つまたは複数を含む、請求項13に記載の方法。
  15. 前記入手するステップは、前記少なくとも1つのアグレッサ・セルを読み取るステップをさらに含む、請求項13に記載の方法。
  16. 前記入手するステップは、前記少なくとも1つのアグレッサ・セルが配置される1つまたは複数のページまたはワード線を読み取るステップをさらに含む、請求項13に記載の方法。
  17. 前記統計は、ターゲット・セルに対する外乱の表示を含む、請求項1に記載の方法。
  18. 前記外乱は、バック・パターン依存、セル間干渉、プログラム妨害、読取妨害、および追加の雑音のうちの1つまたは複数を含む、請求項17に記載の方法。
  19. 前記統計は、ターゲット・セルに対する少なくとも1つのアグレッサ・セルのパターン依存外乱を含む、請求項1に記載の方法。
  20. 1つまたは複数の識別されたパターンに関するおよび1つまたは複数の可能な基準レベルLVLrefに関する前記パターン依存統計は、前記基準レベルLVLrefが復号されたか書き込まれた時にレベルLVLreadが読み取られた確率に基づく、請求項19に記載の方法。
  21. 1つまたは複数の識別されたパターンに関するおよび1つまたは複数の可能な読取レベルLVLreadに関する前記パターン依存統計は、前記読取レベルLVLreadが読み取られた時に基準レベルLVLrefが復号されたか書き込まれた確率に基づく、請求項19に記載の方法。
  22. 前記統計は、位置固有統計を含み、前記軟データ値は、前記メモリ・デバイスの所望の位置について生成される、請求項1に記載の方法。
  23. 少なくとも1つの所有の位置に関するおよび1つまたは複数の可能な基準レベルLVLrefに関する前記位置固有統計は、前記基準レベルLVLrefが復号されたか書き込まれた時にレベルLVLreadが前記所望の位置で読み取られた確率に基づく、請求項22に記載の方法。
  24. 少なくとも1つの所有の位置に関するおよび1つまたは複数の可能な読取レベルLVLreadに関する前記位置固有統計は、前記読取レベルLVLreadが前記所望の位置で読み取られた時に基準レベルLVLrefが復号されたか書き込まれた確率に基づく、請求項22に記載の方法。
  25. 前記統計は、格納されたテーブルおよび式のうちの1つまたは複数として表される、請求項1に記載の方法。
  26. 前記統計は、ガウス近似を使用して表される、請求項1に記載の方法。
  27. 前記軟データ値をデコーダに供給するステップをさらに含む、請求項1に記載の方法。
  28. 前記軟データ値は、前記デコーダに反復して供給される、請求項27に記載の方法。
  29. 前記軟データ値は、前記デコーダに供給され、前記デコーダは、新しい軟データ値を計算し、前記新しい軟データ値は、前記反復プロセスが収束するまで、反復的な形で処理される、請求項28に記載の方法。
  30. 前記メモリ・デバイスは、フラッシュ・メモリ・デバイスである、請求項1に記載の方法。
  31. 前記メモリ・デバイスは、セルあたり少なくとも2つのデータ・レベルsを格納することができる、請求項1に記載の方法。
  32. 前記入手するステップは、セル内の複数のビットを読み取るステップをさらに含む、請求項1に記載の方法。
  33. 前記入手するステップは、ワード線内の1つまたは複数のページを読み取るステップをさらに含む、請求項1に記載の方法。
  34. 前記統計は、確率と確率分布の平均または分散とのうちの1つまたは複数を含む、請求項1に記載の方法。
  35. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含み、ここで、
    Figure 2012504841
    は、レベルsが前記メモリ・デバイスに書き込まれたという条件で前記硬読取値
    Figure 2012504841
    が読み取られる確率である、請求項1に記載の方法。
  36. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含み、ここで、
    Figure 2012504841
    は、前記硬読取値
    Figure 2012504841
    が読み取られるという条件でレベルsが前記メモリ・デバイスに書き込まれた確率である、請求項1に記載の方法。
  37. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含み、ここで、
    Figure 2012504841
    は、レベルsが前記メモリ・デバイスに書き込まれたという条件で、前記硬読取値
    Figure 2012504841
    が読み取られ、パターン
    Figure 2012504841
    が1つまたは複数のアグレッサ・セルに格納される確率である、請求項1に記載の方法。
  38. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含み、ここで、
    Figure 2012504841
    は、前記硬読取値
    Figure 2012504841
    が読み取られ、1つまたは複数のアグレッサ・セル内のパターンが、
    Figure 2012504841
    であるという条件でレベルsが前記メモリ・デバイスに書き込まれた確率である、請求項1に記載の方法。
  39. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含む、請求項1に記載の方法。
  40. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含み、ここで、複数の状態の電圧分布は、実質的に類似する標準偏差σ(s)=σを有する、請求項1に記載の方法。
  41. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含み、ここで、複数の状態の電圧分布は、実質的に類似する標準偏差σ(s)=σを有する、請求項1に記載の方法。
  42. 前記軟データ値は、
    Figure 2012504841
    として計算される1つまたは複数の対数尤度比を含む、請求項1に記載の方法。
  43. メモリ・デバイスの少なくとも1つの軟データ値を生成する方法であって、
    軟読取値を入手することと、
    前記軟読取値を読み取るための統計に基づいて前記軟読取値に関連する前記軟データ値を生成することであって、前記統計は、位置固有統計およびパターン依存統計のうちの1つまたは複数を含む、生成することと
    を含む方法。
  44. 前記軟読取値は、デコーダから入手される、請求項43に記載の方法。
  45. メモリ・デバイスの少なくとも1つの軟データ値を生成するシステムであって、前記システムは、
    メモリと、
    前記メモリに結合され、
    少なくとも1つの硬読取値を入手し、
    前記硬読取値を読み取るための統計に基づいて前記少なくとも1つの硬読取値に関連する前記軟データ値を生成する
    ように動作可能な少なくとも1つのプロセッサと
    を含む、システム。
  46. メモリ・デバイスの少なくとも1つの軟データ値を生成するシステムであって、前記システムは、
    メモリと、
    前記メモリに結合され、
    軟読取値を入手し、
    前記軟読取値を読み取るための統計に基づいて前記軟読取値に関連する前記軟データ値を生成する
    ように動作可能な少なくとも1つのプロセッサであって、前記統計は、位置固有統計およびパターン依存統計のうちの1つまたは複数を含む、少なくとも1つのプロセッサと
    を含む、システム。
JP2011530194A 2008-09-30 2009-09-30 メモリ・デバイスの軟データ生成の方法および装置 Expired - Fee Related JP5590620B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US19475108P 2008-09-30 2008-09-30
US61/194,751 2008-09-30
PCT/US2009/049333 WO2010002948A1 (en) 2008-07-01 2009-06-30 Methods and apparatus for soft demapping and intercell interference mitigation in flash memories
USPCT/US2009/049333 2009-06-30
PCT/US2009/059077 WO2010039866A1 (en) 2008-09-30 2009-09-30 Methods and apparatus for soft data generation for memory devices

Publications (3)

Publication Number Publication Date
JP2012504841A true JP2012504841A (ja) 2012-02-23
JP2012504841A5 JP2012504841A5 (ja) 2012-11-22
JP5590620B2 JP5590620B2 (ja) 2014-09-17

Family

ID=42073862

Family Applications (4)

Application Number Title Priority Date Filing Date
JP2011530195A Expired - Fee Related JP5535219B2 (ja) 2008-09-30 2009-09-30 基準セルを使用する、メモリ・デバイスの軟データ生成の方法および装置
JP2011530193A Pending JP2012504820A (ja) 2008-09-30 2009-09-30 性能要因調整に基づくメモリ・デバイスの軟データ生成の方法および装置
JP2011530196A Expired - Fee Related JP5535220B2 (ja) 2008-09-30 2009-09-30 デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置
JP2011530194A Expired - Fee Related JP5590620B2 (ja) 2008-09-30 2009-09-30 メモリ・デバイスの軟データ生成の方法および装置

Family Applications Before (3)

Application Number Title Priority Date Filing Date
JP2011530195A Expired - Fee Related JP5535219B2 (ja) 2008-09-30 2009-09-30 基準セルを使用する、メモリ・デバイスの軟データ生成の方法および装置
JP2011530193A Pending JP2012504820A (ja) 2008-09-30 2009-09-30 性能要因調整に基づくメモリ・デバイスの軟データ生成の方法および装置
JP2011530196A Expired - Fee Related JP5535220B2 (ja) 2008-09-30 2009-09-30 デコーダ性能フィードバックを使用するメモリ・デバイス用の軟データ生成の方法および装置

Country Status (8)

Country Link
US (4) US8830748B2 (ja)
EP (4) EP2340541A1 (ja)
JP (4) JP5535219B2 (ja)
KR (3) KR20110061650A (ja)
CN (4) CN102203877B (ja)
IL (4) IL211895A0 (ja)
TW (4) TWI517162B (ja)
WO (4) WO2010039874A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527071A (ja) * 2008-07-01 2011-10-20 エルエスアイ コーポレーション フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置
JP2016506590A (ja) * 2012-12-19 2016-03-03 ウェスタン デジタル テクノロジーズ インコーポレーテッド データストレージシステムのための対数尤度比及び一括対数尤度比生成

Families Citing this family (108)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8611151B1 (en) 2008-11-06 2013-12-17 Marvell International Ltd. Flash memory read performance
US8947929B1 (en) * 2008-11-06 2015-02-03 Marvell International Ltd. Flash-based soft information generation
US8179731B2 (en) 2009-03-27 2012-05-15 Analog Devices, Inc. Storage devices with soft processing
US8213236B1 (en) 2009-04-21 2012-07-03 Marvell International Ltd. Flash memory
CN101923896A (zh) * 2009-06-12 2010-12-22 威刚科技(苏州)有限公司 电子存储装置及其纠错方法
US8392809B1 (en) * 2009-10-16 2013-03-05 Marvell International Ltd. Log-likelihood-ratio (LLR) table calibration
US8510628B2 (en) * 2009-11-12 2013-08-13 Micron Technology, Inc. Method and apparatuses for customizable error correction of memory
KR101678404B1 (ko) * 2010-02-25 2016-11-23 삼성전자주식회사 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법
TWI437570B (zh) * 2010-03-10 2014-05-11 Macronix Int Co Ltd 藉由編程準位的交換改善多位階單元的編程速度
US8429500B2 (en) 2010-03-31 2013-04-23 Lsi Corporation Methods and apparatus for computing a probability value of a received value in communication or storage systems
US8775913B2 (en) 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
US8504885B2 (en) 2010-03-31 2013-08-06 Lsi Corporation Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems
US8332728B2 (en) * 2010-04-02 2012-12-11 Skymedi Corporation Method and apparatus of generating a soft value for a memory device
KR101678407B1 (ko) * 2010-05-10 2016-11-23 삼성전자주식회사 데이터 저장 장치 및 그것의 프로그램 방법
CN102893529B (zh) 2010-05-31 2016-03-30 国际商业机器公司 用于ldpc码的解码的方法和系统
US8819503B2 (en) 2010-07-02 2014-08-26 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8756394B1 (en) 2010-07-07 2014-06-17 Marvell International Ltd. Multi-dimension memory timing tuner
US8737141B2 (en) 2010-07-07 2014-05-27 Stec, Inc. Apparatus and method for determining an operating condition of a memory cell based on cycle information
US8737136B2 (en) * 2010-07-09 2014-05-27 Stec, Inc. Apparatus and method for determining a read level of a memory cell based on cycle information
US8499227B2 (en) 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus
CN102436842B (zh) * 2010-09-29 2014-05-14 群联电子股份有限公司 存储器储存装置、存储器控制器与产生对数似然比的方法
US8848438B2 (en) * 2010-10-05 2014-09-30 Stec, Inc. Asymmetric log-likelihood ratio for MLC flash channel
US8549382B2 (en) 2010-12-17 2013-10-01 Intel Corporation Storage drive with LDPC coding
US9086984B2 (en) 2011-01-04 2015-07-21 Seagate Technology Llc Detection and decoding in flash memories with selective binary and non-binary decoding
US9898361B2 (en) 2011-01-04 2018-02-20 Seagate Technology Llc Multi-tier detection and decoding in flash memories
US9292377B2 (en) 2011-01-04 2016-03-22 Seagate Technology Llc Detection and decoding in flash memories using correlation of neighboring bits and probability based reliability values
US9082480B2 (en) 2011-01-04 2015-07-14 Seagate Technology Llc Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window
US9106264B2 (en) 2011-01-04 2015-08-11 Lsi Corporation Encoding and decoding in flash memories using convolutional-type low-density parity check codes
KR101736337B1 (ko) * 2011-02-28 2017-05-30 삼성전자주식회사 비휘발성 메모리 장치, 상기 메모리 장치를 제어하는 컨트롤러, 및 상기 컨트롤러 동작 방법
US9502117B2 (en) 2011-03-14 2016-11-22 Seagate Technology Llc Cell-level statistics collection for detection and decoding in flash memories
US9047955B2 (en) 2011-03-30 2015-06-02 Stec, Inc. Adjusting operating parameters for memory cells based on wordline address and cycle information
US8549380B2 (en) 2011-07-01 2013-10-01 Intel Corporation Non-volatile memory error mitigation
KR101775660B1 (ko) * 2011-09-29 2017-09-07 삼성전자주식회사 워드 라인 전압의 변화없이 상이한 문턱 전압들을 갖는 메모리 셀들을 읽는 방법 및 그것을 이용한 불 휘발성 메모리 장치
KR101919902B1 (ko) * 2011-10-18 2018-11-20 삼성전자 주식회사 메모리 장치의 데이터 독출 방법
JP5943395B2 (ja) * 2011-11-02 2016-07-05 国立大学法人 東京大学 メモリコントローラおよびデータ記憶装置
US8811545B2 (en) * 2011-11-08 2014-08-19 Mitsubishi Electric Research Laboratories, Inc. Method for reducing interference in OFDM wireless networks
CN102394113B (zh) * 2011-11-14 2014-06-18 清华大学 一种应用于快闪存储器中的动态ldpc纠错码方法
US8644067B2 (en) * 2011-11-30 2014-02-04 Sandisk Technologies Inc. Systems and methods of decoding data using soft bits at a non-binary decoder that uses probabilistic decoding
US8913437B2 (en) * 2011-12-15 2014-12-16 Marvell World Trade Ltd. Inter-cell interference cancellation
US9117529B2 (en) * 2011-12-23 2015-08-25 Hgst Technologies Santa Ana, Inc. Inter-cell interference algorithms for soft decoding of LDPC codes
US8943386B1 (en) * 2012-02-16 2015-01-27 Sk Hynix Memory Solutions Inc. Generating soft read values which optimize dynamic range
US9195586B2 (en) 2012-02-23 2015-11-24 Hgst Technologies Santa Ana, Inc. Determining bias information for offsetting operating variations in memory cells based on wordline address
US8943384B2 (en) * 2012-04-12 2015-01-27 Seagate Technology Llc Using a soft decoder with hard data
US9256522B1 (en) * 2012-04-19 2016-02-09 Sk Hynix Memory Solutions Inc. Method and system for generating soft-information after a single read in NAND flash using expected and measured values
KR102089570B1 (ko) 2012-06-04 2020-03-16 삼성전자주식회사 저장 장치 및 그것의 데이터 처리 방법
US8856615B1 (en) 2012-06-11 2014-10-07 Western Digital Technologies, Inc. Data storage device tracking log-likelihood ratio for a decoder based on past performance
US9239754B2 (en) * 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
US8732537B2 (en) * 2012-08-06 2014-05-20 Lsi Corporation Method and system for symbol error rate estimation and sector quality measurement
RU2012134916A (ru) * 2012-08-15 2014-02-20 ЭлЭсАй Корпорейшн Способ выбора подходящего кода ldcp
US9159407B2 (en) * 2012-10-22 2015-10-13 Apple Inc. Soft readout from analog memory cells in the presence of read threshold errors
KR102005709B1 (ko) * 2012-10-22 2019-08-01 삼성전자 주식회사 메모리 장치 구동 방법 및 메모리 시스템
KR102081581B1 (ko) 2012-11-02 2020-02-26 삼성전자 주식회사 메모리 장치 구동 방법
CN103811077B (zh) * 2012-11-12 2017-03-29 光宝电子(广州)有限公司 闪存中的资料补偿方法
US9135155B2 (en) 2012-11-30 2015-09-15 Sandisk Technologies Inc. Storage and retrieval of shaped data
US9575683B2 (en) 2012-11-30 2017-02-21 Sandisk Technologies Llc Processing shaped data
US9190174B2 (en) 2012-11-30 2015-11-17 Micron Technology, Inc. Determining soft data from a hard read
US9116822B2 (en) 2012-12-07 2015-08-25 Micron Technology, Inc. Stopping criteria for layered iterative error correction
US9021332B2 (en) 2012-12-11 2015-04-28 Seagate Technology Llc Flash memory read error recovery with soft-decision decode
WO2014109756A1 (en) 2013-01-11 2014-07-17 Empire Technology Development Llc Page allocation for flash memories
US9065483B2 (en) 2013-01-21 2015-06-23 Micron Technology, Inc. Determining soft data using a classification code
US9229848B2 (en) 2013-01-21 2016-01-05 Micron Technology, Inc. Determining soft data for fractional digit memory cells
JP6367562B2 (ja) * 2013-01-31 2018-08-01 エルエスアイ コーポレーション 選択的なバイナリ復号および非バイナリ復号を用いるフラッシュ・メモリ内の検出および復号
US8879324B2 (en) * 2013-02-01 2014-11-04 Lsi Corporation Compensation loop for read voltage adaptation
KR101742462B1 (ko) 2013-02-27 2017-06-01 엠파이어 테크놀로지 디벨롭먼트 엘엘씨 메모리 디바이스들을 위한 선형 프로그래밍 기반 디코딩
US10061640B1 (en) 2013-03-12 2018-08-28 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
US9021331B2 (en) 2013-03-14 2015-04-28 Seagate Technology Llc Method and apparatus for generation of soft decision error correction code information
KR102081415B1 (ko) 2013-03-15 2020-02-25 삼성전자주식회사 비휘발성 메모리 장치의 llr 최적화 방법 및 비휘발성 메모리 장치의 에러 정정 방법
US9286155B1 (en) * 2013-05-24 2016-03-15 Marvell International Ltd. Systems and methods for generating soft information in a flash device
GB2518632A (en) 2013-09-26 2015-04-01 Ibm Estimation of level-thresholds for memory cells
US9201729B2 (en) * 2013-10-21 2015-12-01 Seagate Technology, Llc Systems and methods for soft data utilization in a solid state memory system
CN103594123B (zh) * 2013-11-28 2016-09-14 中国科学院微电子研究所 非挥发性存储器及其校调方法
US9859925B2 (en) 2013-12-13 2018-01-02 Empire Technology Development Llc Low-complexity flash memory data-encoding techniques using simplified belief propagation
US9798613B2 (en) * 2013-12-27 2017-10-24 Toshiba Memory Corporation Controller of nonvolatile semiconductor memory
US9645763B2 (en) * 2014-01-13 2017-05-09 Seagate Technology Llc Framework for balancing robustness and latency during collection of statistics from soft reads
TWI521529B (zh) * 2014-04-15 2016-02-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
TWI492234B (zh) 2014-04-21 2015-07-11 Silicon Motion Inc 讀取快閃記憶體中所儲存之資料的方法、記憶體控制器與記憶體系統
US9460783B2 (en) * 2014-06-03 2016-10-04 Micron Technology, Inc. Determining soft data
CN105468471A (zh) * 2014-09-12 2016-04-06 光宝科技股份有限公司 固态存储装置及其错误更正方法
JP2016062463A (ja) * 2014-09-19 2016-04-25 株式会社東芝 メモリシステム、誤り訂正装置、および誤り訂正方法
US9639420B2 (en) * 2015-03-13 2017-05-02 Micron Technology, Inc. High performance memory controller
US10148293B2 (en) * 2015-03-17 2018-12-04 SK Hynix Inc. Incremental LLR generation for flash memories
US9595317B2 (en) * 2015-05-28 2017-03-14 Sandisk Technologies Llc Multi-state programming for non-volatile memory
US9740559B2 (en) * 2015-10-28 2017-08-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for compaction based flash memory data recovery
US10204006B2 (en) 2015-10-28 2019-02-12 Avago Technologies International Sales Pte. Limited Systems and methods for side data based soft data flash memory access
US10108489B2 (en) 2015-10-28 2018-10-23 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for efficient soft data based flash memory data recovery
CN105427892B (zh) * 2015-11-23 2018-05-01 北京大学深圳研究生院 一种面向相变存储的非均匀纠错方法及相变存储装置
KR102459077B1 (ko) * 2016-01-12 2022-10-27 삼성전자주식회사 비선형 필터링 방식을 사용하는 메모리 시스템 및 그것의 읽기 방법
US9984752B2 (en) * 2016-03-14 2018-05-29 Toshiba Memory Corporation Memory system and data encoding and decoding method to mitigate inter-cell interference
US10289484B2 (en) * 2016-09-16 2019-05-14 Micron Technology, Inc. Apparatuses and methods for generating probabilistic information with current integration sensing
US10158380B2 (en) * 2016-12-06 2018-12-18 Sandisk Technologies Llc ECC and read adjustment based on dynamic memory error model estimation
JP2019053798A (ja) 2017-09-14 2019-04-04 東芝メモリ株式会社 半導体記憶装置
CN107705817B (zh) * 2017-09-22 2020-09-08 山东存储之翼电子科技有限公司 利用闪存通道特性的解码方法、装置及数据存储系统
TWI693604B (zh) * 2018-03-06 2020-05-11 深圳衡宇芯片科技有限公司 用於決定非揮發性記憶體中位元值的方法與系統
CN108563533A (zh) * 2018-03-27 2018-09-21 深圳忆联信息系统有限公司 一种获取ici影响因子及提升纠错能力的方法
KR102653843B1 (ko) * 2018-04-19 2024-04-02 에스케이하이닉스 주식회사 데이터 저장 장치 및 이의 리드 디스터번스 방지 방법, 이를 이용한 스토리지 시스템
CN110444242B (zh) * 2018-05-03 2023-09-08 爱思开海力士有限公司 有基于深度学习的干扰校正能力的存储器系统及操作方法
US11099781B2 (en) * 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
JP7066584B2 (ja) 2018-09-18 2022-05-13 キオクシア株式会社 メモリシステム
CN109379087B (zh) * 2018-10-24 2022-03-29 江苏华存电子科技有限公司 Ldpc根据闪存组件错误率调变核编译码速率的方法
US20200349422A1 (en) * 2019-05-02 2020-11-05 Silicon Storage Technology, Inc. Output array neuron conversion and calibration for analog neural memory in deep learning artificial neural network
US11349495B2 (en) * 2020-04-15 2022-05-31 Seagate Technology Llc Recovering from hard decoding errors by remapping log likelihood ratio values read from NAND memory cells
US11177002B1 (en) * 2020-06-30 2021-11-16 Sandisk Technologies Llc Programming memory cells using encoded TLC-fine
US11699498B2 (en) 2020-12-04 2023-07-11 Micron Technology, Inc. Managing probabilistic data integrity scan intervals
US11467737B2 (en) * 2020-12-04 2022-10-11 Micron Technology, Inc. Reducing probabilistic data integrity scan collisions
US11609857B2 (en) 2020-12-04 2023-03-21 Micron Technology, Inc. Identification and caching of frequent read disturb aggressors
US11409599B2 (en) 2020-12-04 2022-08-09 Micron Technology, Inc. Managing probabilistic data integrity scans in workloads with localized read patterns
KR20220080589A (ko) * 2020-12-07 2022-06-14 삼성전자주식회사 Ecc 디코딩을 수행하는 ecc 엔진, 이의 동작 방법 및 ecc 엔진을 포함하는 스토리지 장치
US11881869B1 (en) 2022-09-30 2024-01-23 SK Hynix Inc. Asymmetric bit errors in low-density parity-check codes for non-volatile memory devices

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003100791A1 (en) * 2002-05-20 2003-12-04 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
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
JP2008016092A (ja) * 2006-07-04 2008-01-24 Toshiba Corp 不揮発性半導体記憶システム
JP2008059679A (ja) * 2006-08-31 2008-03-13 Toshiba Corp 不揮発性半導体記憶装置及び不揮発性記憶システム
JP2008171543A (ja) * 2007-01-07 2008-07-24 Internatl Business Mach Corp <Ibm> メモリ・セル集合体を操作するための方法、メモリ・コントローラ、メモリ・チップ、およびコンピュータ・プログラム
JP2009537056A (ja) * 2006-05-12 2009-10-22 アノビット テクノロジーズ リミテッド メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
JP2009271852A (ja) * 2008-05-09 2009-11-19 Toshiba Corp 半導体記憶装置
JP2010109468A (ja) * 2008-10-28 2010-05-13 Toshiba Corp 復号器、メモリコントローラおよび半導体メモリ装置
JP2010530592A (ja) * 2007-06-20 2010-09-09 サムスン エレクトロニクス カンパニー リミテッド メモリセルの読み取りレベル制御装置およびその方法
JP2010541119A (ja) * 2007-09-25 2010-12-24 サンディスク アイエル リミテッド フラッシュメモリのクロスカップリング事後補正
JP2011040137A (ja) * 2009-08-13 2011-02-24 Toshiba Corp コントローラ
JP2011065599A (ja) * 2009-09-18 2011-03-31 Toshiba Corp メモリシステムおよびメモリシステムの制御方法

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4015238A (en) * 1975-11-24 1977-03-29 Harris Corporation Metric updater for maximum likelihood decoder
US5657332A (en) * 1992-05-20 1997-08-12 Sandisk Corporation Soft errors handling in EEPROM devices
US6029264A (en) * 1997-04-28 2000-02-22 The Trustees Of Princeton University System and method for error correcting a received data stream in a concatenated system
US6041430A (en) * 1997-11-03 2000-03-21 Sun Microsystems, Inc. Error detection and correction code for data and check code fields
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
US6560733B1 (en) * 1999-07-09 2003-05-06 Micron Technology, Inc. Soft error detection for digital signal processors
JP3928311B2 (ja) * 1999-09-06 2007-06-13 三菱電機株式会社 ターボ符号の誤り訂正復号装置およびターボ符号の誤り訂正復号方法
US6625236B1 (en) * 2000-02-08 2003-09-23 Ericsson Inc. Methods and systems for decoding symbols by combining matched-filtered samples with hard symbol decisions
WO2001076079A2 (en) * 2000-04-04 2001-10-11 Comtech Telecommunication Corp. Enhanced turbo product code decoder system
US7107511B2 (en) * 2002-08-15 2006-09-12 Broadcom Corporation Low density parity check (LDPC) code decoder using min*, min**, max* or max** and their respective inverses
US6813322B2 (en) * 2001-04-26 2004-11-02 Telefonaktiebolaget L.M. Ericsson (Publ) Soft output value biasing
JP3814502B2 (ja) * 2001-08-09 2006-08-30 松下電器産業株式会社 干渉除去装置及び干渉除去方法
JP2003152553A (ja) * 2001-11-13 2003-05-23 Ntt Docomo Inc 復号方法及び通信装置
US7051264B2 (en) * 2001-11-14 2006-05-23 Monolithic System Technology, Inc. Error correcting memory and method of operating same
JP3549519B2 (ja) * 2002-04-26 2004-08-04 沖電気工業株式会社 軟出力復号器
KR100526186B1 (ko) * 2003-04-04 2005-11-03 삼성전자주식회사 플래시 메모리의 오류블록 관리방법 및 장치
US6980140B1 (en) * 2004-06-18 2005-12-27 Nortel Networks Limited Flash ADC receiver with reduced errors
CN100593911C (zh) * 2004-07-19 2010-03-10 德克萨斯仪器股份有限公司 一种对通信系统中接收到的层数据进行解码的方法和系统
US7181676B2 (en) 2004-07-19 2007-02-20 Texas Instruments Incorporated Layered decoding approach for low density parity check (LDPC) codes
JP2006114078A (ja) * 2004-10-12 2006-04-27 Toshiba Corp 不揮発性半導体記憶装置及びその動作方法
US7730384B2 (en) * 2005-02-28 2010-06-01 Agere Systems Inc. Method and apparatus for evaluating performance of a read channel
US7187585B2 (en) 2005-04-05 2007-03-06 Sandisk Corporation Read operation for non-volatile storage that includes compensation for coupling
US7276855B2 (en) * 2005-07-15 2007-10-02 General Electric Company Auxilary lighting circuit for high intensity discharge system
JP4664797B2 (ja) * 2005-10-13 2011-04-06 ジーイー・メディカル・システムズ・グローバル・テクノロジー・カンパニー・エルエルシー Mri装置
US7526715B2 (en) * 2005-10-17 2009-04-28 Ramot At Tel Aviv University Ltd. Probabilistic error correction in multi-bit-per-cell flash memory
US7954037B2 (en) * 2005-10-25 2011-05-31 Sandisk Il Ltd Method for recovering from errors in flash memory
US8784978B2 (en) * 2005-11-22 2014-07-22 Triton Systems, Inc. Multilayer flame retardant barrier films and fabrics
JP2007183844A (ja) * 2006-01-10 2007-07-19 Hitachi Global Storage Technologies Netherlands Bv 補助記憶装置および記録再生方法
US7844879B2 (en) * 2006-01-20 2010-11-30 Marvell World Trade Ltd. Method and system for error correction in flash memory
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7400532B2 (en) * 2006-02-16 2008-07-15 Micron Technology, Inc. Programming method to reduce gate coupling interference for non-volatile memory
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US7502254B2 (en) * 2006-04-11 2009-03-10 Sandisk Il Ltd Method for generating soft bits in flash memories
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007149678A2 (en) 2006-06-19 2007-12-27 Sandisk Corporation Programming defferently sized margins and sensing with compensations at select states for improved read operations in non-volatile memory
US20080040336A1 (en) 2006-08-04 2008-02-14 Metacarta, Inc. Systems and methods for presenting results of geographic text searches
US7894269B2 (en) 2006-07-20 2011-02-22 Sandisk Corporation Nonvolatile memory and method for compensating during programming for perturbing charges of neighboring cells
JP5047288B2 (ja) * 2006-08-05 2012-10-10 ベンホフ ゲーエムベーハー エルエルシー 固体記憶素子及び方法
TWI353521B (en) * 2006-09-28 2011-12-01 Sandisk Corp Soft-input soft-output decoder for nonvolatile mem
JP5177991B2 (ja) * 2006-10-25 2013-04-10 株式会社東芝 不揮発性半導体記憶装置
WO2008053472A2 (en) * 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
KR101017847B1 (ko) 2006-11-03 2011-03-04 쌘디스크 코포레이션 가변 판독 임계값을 갖는 비휘발성 메모리
US7558109B2 (en) * 2006-11-03 2009-07-07 Sandisk Corporation Nonvolatile memory with variable read threshold
KR100766042B1 (ko) * 2006-12-06 2007-10-12 삼성전자주식회사 연접 부호화를 이용한 멀티 레벨 셀 메모리 장치
US7814401B2 (en) * 2006-12-21 2010-10-12 Ramot At Tel Aviv University Ltd. Soft decoding of hard and soft bits read from a flash memory
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
KR101425958B1 (ko) 2007-09-06 2014-08-04 삼성전자주식회사 멀티-비트 데이터를 저장하는 메모리 시스템 및 그것의읽기 방법
US7656707B2 (en) * 2007-12-14 2010-02-02 Intel Corporation Systems and methods for discrete channel decoding of LDPC codes for flash memory
KR101515122B1 (ko) * 2008-02-15 2015-04-27 삼성전자주식회사 저장된 데이터의 오류에 기반하여 기준 전압을 제어하는 방법과 메모리 데이터 검출 장치
KR101437396B1 (ko) * 2008-02-27 2014-09-05 삼성전자주식회사 레이턴시를 줄일 수 있는 에러 정정 블록을 포함하는메모리 시스템 및 그것의 에러 정정 방법
KR101378365B1 (ko) * 2008-03-12 2014-03-28 삼성전자주식회사 하이브리드 메모리 데이터 검출 장치 및 방법
KR101398212B1 (ko) 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
KR101398200B1 (ko) 2008-03-18 2014-05-26 삼성전자주식회사 메모리 장치 및 인코딩/디코딩 방법
US7843725B2 (en) 2008-06-11 2010-11-30 Micron Technology, Inc. M+L bit read column architecture for M bit memory cells
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
JP4818381B2 (ja) * 2009-03-02 2011-11-16 株式会社東芝 半導体メモリ装置
US8549385B2 (en) 2009-12-15 2013-10-01 Marvell World Trade Ltd. Soft decoding for quantizied channel
US9245653B2 (en) 2010-03-15 2016-01-26 Intelligent Intellectual Property Holdings 2 Llc Reduced level cell mode for non-volatile memory
US8498152B2 (en) 2010-12-23 2013-07-30 Sandisk Il Ltd. Non-volatile memory and methods with soft-bit reads while reading hard bits with compensation for coupling
KR102149770B1 (ko) 2013-08-26 2020-08-31 삼성전자주식회사 메모리 컨트롤러 및 그것의 동작 방법

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005527062A (ja) * 2002-05-20 2005-09-08 サンディスク コーポレイション 格納されたデータの品質についての情報を用いることによる誤り訂正符号の効率向上およびマルチレベルメモリシステムの操作
WO2003100791A1 (en) * 2002-05-20 2003-12-04 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
JP2009537056A (ja) * 2006-05-12 2009-10-22 アノビット テクノロジーズ リミテッド メモリ素子用の歪み推定と誤り訂正符号化の組み合せ
WO2007132457A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Combined distortion estimation and error correction coding for memory devices
JP2008016092A (ja) * 2006-07-04 2008-01-24 Toshiba Corp 不揮発性半導体記憶システム
JP2008059679A (ja) * 2006-08-31 2008-03-13 Toshiba Corp 不揮発性半導体記憶装置及び不揮発性記憶システム
JP2008171543A (ja) * 2007-01-07 2008-07-24 Internatl Business Mach Corp <Ibm> メモリ・セル集合体を操作するための方法、メモリ・コントローラ、メモリ・チップ、およびコンピュータ・プログラム
JP2010530592A (ja) * 2007-06-20 2010-09-09 サムスン エレクトロニクス カンパニー リミテッド メモリセルの読み取りレベル制御装置およびその方法
JP2010541119A (ja) * 2007-09-25 2010-12-24 サンディスク アイエル リミテッド フラッシュメモリのクロスカップリング事後補正
JP2009271852A (ja) * 2008-05-09 2009-11-19 Toshiba Corp 半導体記憶装置
JP2010109468A (ja) * 2008-10-28 2010-05-13 Toshiba Corp 復号器、メモリコントローラおよび半導体メモリ装置
JP2011040137A (ja) * 2009-08-13 2011-02-24 Toshiba Corp コントローラ
JP2011065599A (ja) * 2009-09-18 2011-03-31 Toshiba Corp メモリシステムおよびメモリシステムの制御方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011527071A (ja) * 2008-07-01 2011-10-20 エルエスアイ コーポレーション フラッシュ・メモリにおける読み取り側セル間干渉軽減のための方法および装置
JP2016506590A (ja) * 2012-12-19 2016-03-03 ウェスタン デジタル テクノロジーズ インコーポレーテッド データストレージシステムのための対数尤度比及び一括対数尤度比生成

Also Published As

Publication number Publication date
US9378835B2 (en) 2016-06-28
JP5590620B2 (ja) 2014-09-17
CN102203875B (zh) 2016-08-03
US20110167305A1 (en) 2011-07-07
CN102203877A (zh) 2011-09-28
WO2010039874A1 (en) 2010-04-08
KR20110061648A (ko) 2011-06-09
TW201019327A (en) 2010-05-16
TW201019326A (en) 2010-05-16
IL211969A0 (en) 2011-06-30
JP5535220B2 (ja) 2014-07-02
IL211955A0 (en) 2011-06-30
KR20110061650A (ko) 2011-06-09
WO2010039859A1 (en) 2010-04-08
JP2012504820A (ja) 2012-02-23
JP2012504842A (ja) 2012-02-23
CN102203877B (zh) 2016-07-06
TWI517162B (zh) 2016-01-11
EP2340538A1 (en) 2011-07-06
TW201019329A (en) 2010-05-16
TWI562151B (en) 2016-12-11
JP2012514819A (ja) 2012-06-28
EP2340540A1 (en) 2011-07-06
US20110305082A1 (en) 2011-12-15
CN102203875A (zh) 2011-09-28
WO2010039869A1 (en) 2010-04-08
WO2010039866A1 (en) 2010-04-08
EP2340541A1 (en) 2011-07-06
CN102203876A (zh) 2011-09-28
US20110239089A1 (en) 2011-09-29
US8892966B2 (en) 2014-11-18
US9064594B2 (en) 2015-06-23
KR20110061649A (ko) 2011-06-09
US8830748B2 (en) 2014-09-09
KR101758192B1 (ko) 2017-07-14
EP2340539A1 (en) 2011-07-06
TW201019328A (en) 2010-05-16
IL211956A0 (en) 2011-06-30
CN102171767A (zh) 2011-08-31
CN102203876B (zh) 2015-07-15
IL211895A0 (en) 2011-06-30
JP5535219B2 (ja) 2014-07-02
TWI581269B (zh) 2017-05-01
US20110225350A1 (en) 2011-09-15

Similar Documents

Publication Publication Date Title
JP5590620B2 (ja) メモリ・デバイスの軟データ生成の方法および装置
KR101628413B1 (ko) 플래시 메모리 디바이스 내의 타겟 셀 판독 방법 및 시스템, 플래시 메모리 내의 방해를 특징화하는 방법
US10929221B2 (en) Multi-tier detection and decoding in flash memories utilizing data from additional pages or wordlines
US8775913B2 (en) Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
US8429500B2 (en) Methods and apparatus for computing a probability value of a received value in communication or storage systems
US9106264B2 (en) Encoding and decoding in flash memories using convolutional-type low-density parity check codes
US8504885B2 (en) Methods and apparatus for approximating a probability density function or distribution for a received value in communication or storage systems
KR102154789B1 (ko) 선택적 이진 및 비-이진 디코딩을 이용한 플래시 메모리에서의 검출 및 디코딩
US9082480B2 (en) Detection and decoding in flash memories with error correlations for a plurality of bits within a sliding window
KR20110082016A (ko) 소프트 데이터 값 생성 방법 및 소프트 데이터 값 생성 시스템

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120713

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121001

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20121001

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130319

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20130619

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20130626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130919

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140325

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140624

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

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140718

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140724

R150 Certificate of patent or registration of utility model

Ref document number: 5590620

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140725

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees