JP5232013B2 - フラッシュメモリにおける誤り訂正のための方法およびシステム - Google Patents

フラッシュメモリにおける誤り訂正のための方法およびシステム Download PDF

Info

Publication number
JP5232013B2
JP5232013B2 JP2008551451A JP2008551451A JP5232013B2 JP 5232013 B2 JP5232013 B2 JP 5232013B2 JP 2008551451 A JP2008551451 A JP 2008551451A JP 2008551451 A JP2008551451 A JP 2008551451A JP 5232013 B2 JP5232013 B2 JP 5232013B2
Authority
JP
Japan
Prior art keywords
data
level
volatile memory
solid
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2008551451A
Other languages
English (en)
Other versions
JP2009524176A (ja
JP2009524176A5 (ja
Inventor
ラマムーシー、アディチャ
ウー、ジニング
スタルジャ、パンタス
Original Assignee
マーベル ワールド トレード リミテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by マーベル ワールド トレード リミテッド filed Critical マーベル ワールド トレード リミテッド
Publication of JP2009524176A publication Critical patent/JP2009524176A/ja
Publication of JP2009524176A5 publication Critical patent/JP2009524176A5/ja
Application granted granted Critical
Publication of JP5232013B2 publication Critical patent/JP5232013B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1666Error detection or correction of the data by redundancy in hardware where the redundant component is memory or memory area
    • 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
    • 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
    • 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
    • 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/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C27/00Electric analogue stores, e.g. for storing instantaneous values
    • G11C27/005Electric analogue stores, e.g. for storing instantaneous values with non-volatile charge storage, e.g. on floating gate or MNOS
    • 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/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/16Storage of analogue signals in digital stores using an arrangement comprising analogue/digital [A/D] converters, digital memories and digital/analogue [D/A] converters 
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1148Structural properties of the code parity-check or generator matrix
    • H03M13/1177Regular LDPC codes with parity-check matrices wherein all rows and columns have the same row weight and column weight, respectively
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1515Reed-Solomon codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/40Specific encoding of data in memory or cache
    • G06F2212/403Error protection encoding, e.g. using parity or ECC codes
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C2029/0411Online error correction
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/16Solid state audio
    • 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/562Multilevel memory programming aspects
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)

Description

関連出願
本願は、米国特許法第119条(e)に基づき、以下の米国仮出願の恩恵を主張する。以下の米国仮出願はすべて、共通の譲渡人を有し、参照によりその内容がすべて本願に組み込まれる。
仮出願第60/760,622号(発明の名称:「フラッシュメモリ−誤り訂正−」、出願日:2006年1月20日)
仮出願第60/761,888号(発明の名称:「符号化および信号処理に基づくフラッシュメモリの記憶容量の拡大」、出願日:2006年1月25日)
仮出願第60/771,621号(発明の名称:「符号化および信号処理に基づくフラッシュメモリの記憶容量の拡大」、出願日:2006年2月8日)
本願はまた、同時に出願された米国特許出願第11/598,178号(発明の名称:「符号化および信号処理を行うフラッシュメモリ」、出願日:2006年11月8日)に関する。当該特許出願も、共通の譲渡人を有し、参照によりその内容がすべて本願に組み込まれる。
本発明は概して、集積回路に関する。特に本発明は、多重レベル固体不揮発性メモリにおいて誤り訂正を実施するための方法およびシステムに関する。
フラッシュEEPROMメモリ等の固体不揮発性メモリは多岐にわたる電子アプリケーションにおいて利用されている。フラッシュメモリは、コンパクトフラッシュ(CF、登録商標)、マルチメディアカード(MMC)、およびセキュアデジタル(SD)などの数多くのメモリカードフォーマットで利用されている。そういったカードを使用する電子システムには、パーソナルコンピュータ、ノート型コンピュータ、手持ちコンピュータデバイス、カメラ、MP3音声プレーヤ等がある。フラッシュEEPROMメモリはまた、多くのホストシステムにおいて大容量ストレージとして利用されている。
従来の固体メモリは、2つの異なる値(0または1)のいずれか一方を取り得る2進数つまり「ビット」を並べることによって情報を格納している。ビットはグループ分けされることによって、より大きな数字を表現する。
大半の固体不揮発性メモリデバイスと同様に、フラッシュEEPROMには欠陥および不良が発生し得る。誤りの原因は幾つかあるが、プログラミング動作、消去動作および読み出し動作などのメモリデバイスにおける通常の動作によるストレスおよび周囲条件が原因でメモリ状態のしきい値レベルが次第にずれてしまうことが挙げられる。動作中にエラーが発生しないように、フラッシュメモリデバイスは誤り訂正符号(ECC)技術を利用する。通常はプログラミング動作において、データセクタの終端に添付される冗長ビット(パリティビット)がコントローラによって生成される。例えば、512バイトのデータセクタには16バイトのECCデータが添付され得るので、合計528バイトのページとなる。読み出し動作において、16バイトのECCデータに含まれる冗長データを用いて、フラッシュメモリから読み出されるデータにおいて誤りを検出および訂正する。
従来のメモリの最大記憶密度は、各ストレージ素子のサイズと単一の集積回路チップ上に集積され得るストレージ素子の数とによって決まる。記憶密度の向上は通常、メモリセルを製造する場合の処理形状における線幅を縮小することによって図られてきた。
固体不揮発性メモリの密度を大きくするために用いられる技術は上記以外に、1メモリセルに2ビット以上を記憶する方法、つまり、多重レベルメモリセル技術が挙げられる。任意のメモリセルに電荷が格納されているかどうかを感知する(つまり、2進法セル)のではなく、多重レベルメモリでは、容量性ストレージセルに格納されている電荷量を感知するセンス増幅器を利用する。2進数よりも大きい単位、例えば、4レベル(セル当たり2ビット)、8レベル(セル当たり3ビット)、16レベル(セル当たり4ビット)等の単位に情報を量子化し、このような多重レベルの単位で格納することによって、メモリを高密度化することができる。例えば、4つの異なるしきい値レベルを生成するべくセルがプログラミングされると、4つの異なる読み出しレベルが実現される。1セルにつき4レベル信号が提供される場合、固体不揮発性メモリの各セルには2つのデータビットを符号化し得る。多重レベルメモリ技術により、各メモリセルが2つ以上のビットを格納することができるので、メモリセルの数を増やすことなく、より高密度のメモリを製造することが可能となる。例示のみを目的として説明すると、1セル当たり2ビットを格納できるメモリセルであれば、3つのプログラミング状態と1つの消去状態とが実現され得る。図1は、4レベルで量子化を行う固体不揮発性メモリのセルについて、電圧の関数として確率分布関数(PDF)を示す簡略図である。図1に示したメモリセルによると、4つのプログラミング状態が利用されている。同図に示すように、固体不揮発性メモリによっては、プログラミング特性のPDFにおいて、より低い電圧レベルにおいてより広い分布が見られる。
なお、本出願に対応する外国の特許出願においては下記の文献が発見または提出されている。
米国特許出願公開第2001/0025358号明細書 米国特許出願公開第2002/0038440号明細書 米国特許出願公開第2004/0042294号明細書 米国特許出願公開第2002/0038440号明細書 米国特許出願公開第2001/0025358号明細書 米国特許出願公開第2004/0042294号明細書 米国特許第6279133号明細書 Supplementary European Search Report mailed June 29, 2009, for International Application No. PCT/US2007001620 Examination Report mailed September 28, 2009, for European Patent Application No. 07718319.2 Examination Report mailed September 28, 2009, for European Patent Application No. 07718293.9
しかし、セルにおける量子化レベルの数を増やすと、隣接するレベル間の電圧差が小さくなってしまう。多重レベル符号化システムにおいてこのように電圧差が小さくなることは、信号距離(ハミング距離)減少(Dmin減少)と呼ばれることもある。信号距離減少は、不揮発性メモリの書き込み(プログラミング)動作および読み出し動作の両方の性能に影響を及ぼし得る。プログラミングにおいては、単にセルを完全に充電または完全に放電させることよりも、複数の離散した充電単位を容量性セルに移すことの方が、より困難である。このため、任意のセルに対して移される電荷量が不確実であると、レベルシフトが生じてしまう場合があり、この結果セルに間違ったレベルが格納されるという「プログラミング乱れ」が発生してしまう。読み出し動作においては、ある信号レベルの分布が隣接する信号レベルの分布と重複していると「読み出し乱れ」が発生してしまう。信号距離が減少するので、セルに格納される離散値の数が増加すると、2進数のストレージセルに比べてセルのノイズマージンが減少してしまい、ストレージ素子の読み出しにおいてエラーがより発生しやすくなってしまう。読み出し乱れは、図1に示すようにノイズ分布がより大きいという特徴を持つ低レベルの信号においてより発生しやすい。
多重レベル固体不揮発性メモリにおいて隣接するレベル間の電圧分離度が低下すると、従来の固体不揮発性メモリセルに比べて、誤りが増えてしまうことがある。このため、多重レベルセルを有する固体不揮発性メモリを動作させる方法および技術を改善することが求められている。
本発明の一実施形態は、固体不揮発性メモリユニットを提供する。該メモリユニットは、第1のデジタルレベル数で特徴付けられるデータを格納する多重レベル固体不揮発性メモリアレイを備える。該メモリユニットはさらにアナログ/デジタルコンバータを備える。当該アナログ/デジタルコンバータは、多重レベル固体不揮発性メモリアレイからデータを受け取る。当該アナログ/デジタルコンバータはさらに、第1のデジタルレベル数よりも多い第2のデジタルレベル数で特徴付けられるデジタル信号を出力する。
本発明の別の実施形態は、固体不揮発性メモリユニットを操作する方法を提供する。当該方法は、第1のデータを符号化することと、多重レベル固体不揮発性メモリアレイに、符号化された第1のデータを格納することとを含む。格納される符号化された第1のデータは、第1のデジタルレベル数で特徴付けられる。当該方法はさらに、メモリアレイから符号化された第1のデータを取り出すことと、取り出したデータを、多重レベル固体不揮発性メモリアレイに対応付けられた数よりも多い数のデジタルレベルにデジタル化することとを含む。
本発明の別の実施形態は、第1のデジタルレベル数で特徴付けられる多重レベル固体不揮発性メモリアレイ用のコントローラを提供する。当該コントローラは、データビット列を受け取り、符号化データビット列を供給する第1の符号器を備える。当該コントローラはさらに、符号化データビット列を、多重レベル固体不揮発性メモリアレイでの格納用のデータシンボル列へと変換するマッパを備える。当該コントローラはさらに、多重レベル固体不揮発性メモリアレイから電圧信号列を受け取り、第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を生成する第1の復号器を備える。
本発明のさらに別の実施形態は、第1のデジタルレベル数で特徴付けられる多重レベル固体不揮発性メモリアレイ用のコントローラを操作する方法を提供する。当該方法は、第1のデータビット列を符号化して符号化データビット列を供給することと、符号化データビット列を変換してデータシンボル列を得ることとを含む。当該方法はさらに、多重レベル固体不揮発性メモリアレイにデータシンボル列を格納することと、データシンボル列を取り出すこととを含む。当該方法はさらに、データシンボル列を復号して、第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を供給することを含む。
本発明の一実施形態は、固体不揮発性メモリユニットを提供する。当該メモリユニットは、第1のデータを符号化する手段と、多重レベル固体不揮発性メモリアレイに、符号化された第1のデータを格納する手段とを含む。格納される符号化された第1のデータは、第1のデジタルレベル数で特徴付けられる。当該メモリユニットはさらに、メモリアレイから符号化された第1のデータを取り出す手段と、取り出したデータを、多重レベル固体不揮発性メモリアレイに対応付けられた数よりも多いデジタルレベル数にデジタル化する手段とを含む。
本発明の別の一実施形態は、第1のデジタルレベル数で特徴付けられる多重レベル固体不揮発性メモリアレイ用のコントローラを提供する。当該コントローラは、第1のデータビット列を符号化して符号化データビット列を供給する手段と、符号化データビット列を変換してデータシンボル列を得る手段とを備える。当該コントローラはさらに、多重レベル固体不揮発性メモリアレイにデータシンボル列を格納する手段と、データシンボル列を取り出す手段とを備える。当該コントローラはさらに、データシンボル列を復号して、第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を供給する手段を備える。
本発明のさらに別の実施形態は、コードで、例えばデジタルシグナルプロセッサ(DSP)によって、実施され得る。そのような一実施形態は、第1のデータを符号化するコードと、多重レベル固体不揮発性メモリアレイに、符号化された第1のデータを格納する手段とを含む。格納される符号化された第1のデータは、第1のデジタルレベル数で特徴付けられる。当該実施形態はさらに、メモリアレイから符号化された第1のデータを取り出すコードと、取り出したデータを、多重レベル固体不揮発性メモリアレイに対応付けられた数よりも多いデジタルレベル数にデジタル化するコードとを含む。
コード、例えばDSPによって実施されうる別の実施形態は、第1のデジタルレベル数で特徴付けられる多重レベル固体不揮発性メモリアレイを制御するコードを提供する。当該実施形態は、第1のデータビット列を符号化して符号化データビット列を供給するコードと、符号化データビット列を変換してデータシンボル列を得るコードとを含む。当該実施形態はさらに、多重レベル固体不揮発性メモリアレイにデータシンボル列を格納するコードと、データシンボル列を取り出すコードとを含む。当該実施形態はさらに、データシンボル列を復号して、第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を供給するコードを含む。
従来技術と比較して、本発明は多くの効果を実現する。例えば、本発明の実施形態は格納密度が向上した固体不揮発性メモリシステムを提供する。また、実施形態によっては、固体不揮発性メモリから読み出されるデータの信頼性を向上させる。実施形態はそれぞれ、上記の効果のうち1以上の効果を上記以外の効果と共に実現し得る。上記およびそれ以外の効果は本明細書においてより詳細に説明され、以下に説明する図面を参照しつつより具体的に説明する。
4レベルで量子化を行う固体不揮発性メモリのセルについて、電圧の関数として確率分布関数を示す簡略図である。
非符号化1ビットPAMを示す信号空間(コンステレーション)ダイヤグラムである。
平均出力が1であるPAMを用いて変調される2ビットデータを示す信号空間ダイヤグラムである。
固体不揮発性メモリのセルに利用される、ピーク値が±1に限定されたPAMを用いて変調した2ビットデータを示す信号空間ダイヤグラムである。
本発明の一実施形態に係る、誤り修正符号を有する固体不揮発性メモリユニットの一例を示す簡略ブロック図である。
本発明の一実施形態に係る、アナログ/デジタルコンバータを組み込んだ固体不揮発性メモリユニットを示す簡略ブロック図である。
本発明の別の実施形態に係る、誤り訂正を行う固体不揮発性メモリユニットを示す簡略ブロック図である。
本発明の実施形態例に係るメモリユニットのワードエラーレート(WER)と従来の非符号化システムとを比較する図である。
本発明の一実施形態に係る、レートが1/2の畳み込み符号器の一例を示す様々なブロックである。
本発明の一実施形態に係る、2次元集合分割の一例を示す図である。
従来のTCM符号器を示す簡略ブロック図である。
本発明の一実施形態に基づき、集合分割と反復符号とを組み合わせた例を示す図である。
本発明の一実施形態に係る、内部符号と外部符号とを含む2レベルシステムを示す簡略図である。
本発明の別の実施形態例に係る、2レベル符号化チャネルを示す簡略ブロック図である。
本発明に係る、セクタサイズおよびコードワードサイズの例を示す。 本発明に係る、セクタサイズおよびコードワードサイズの例を示す。 本発明に係る、セクタサイズおよびコードワードサイズの例を示す。
本発明の一実施形態に係る、3元インターリーブセルの一例を示す図である。
本発明の実施形態例が提供するインターリーブ方法を示す、概略図である。
図13Aに示した方法でインターリーブを行ったシステムについて、SNRの関数としてSERをプロットした図である。
本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。 本発明が実施され得るデバイスを示す図である。
図2Aは、非符号化1ビットパルス振幅変調(PAM)を示す信号空間(コンステレーション)ダイヤグラムである。非符号化1ビットPAMによると、情報は0(−1ボルト)または1(+1ボルト)として格納される。図2Bは、平均出力が1であるPAMを用いて変調される2ビットデータを示す信号空間ダイヤグラムである。2ビットで定められる4つの状態、つまり「00」状態、「01」状態、「10」状態および「11」状態が、4つの可能な電圧レベル、例えば−3/√5ボルト、−1/√5ボルト、+1/√5ボルト、および+3/√5ボルトのうちのいずれか1つにマッピングされている。これらの電圧レベルを所与とすると、1/2符号レートの2ポイントPAM(2−PAM)および4ポイントPAM(4−PAM)はともに、スペクトル効率が1ビット/セルとなり、出力が等しいという特徴を持つ。図2Bに図示した変調方法について、グレイマッピングに基づく4状態の符号は自然マッピングの4状態よりも低いビットエラーレートを実現する。
固体不揮発性メモリデバイスでは、フローティングゲートに印加される最大電圧によって、多重レベルシンボルのマッピングに利用され得る最大電圧に上限が課される。この結果、適用される変調方法および符号化方法の信号点(コンステレーション)の値のピークが制約されることになる。従って固体不揮発性メモリデバイスにおいては、信号点(コンステレーションポイント)についてこの制限を考慮しなければならない。固体不揮発性メモリシステムが持つ最大電圧が制限されてしまうという特性は、追加で出力を増加させることできる他のチャネルとは対照的である。従って、本発明の実施形態では、上記の制限があるにも関わらず動作可能に構成された多重レベル不揮発性固体メモリ用の変調方法および符号化方法を利用する。
図2Cは、固体不揮発性メモリのセルに利用される、ピーク値が±1に限定されたPAMを用いて変調した2ビットデータを示す信号空間ダイヤグラムである。シンボル「00」は、−1ボルトの信号振幅にマッピングされ、シンボル「10」は+1ボルトの信号振幅にマッピングされる。これらの電圧が、本例では、任意の固体不揮発性メモリセルに格納される最大電圧に対応する。不揮発性固体メモリセル全体における最大許容電圧を考慮するべく出力スケール(power scaling)を利用すると、二乗自由距離(squared free distance)が5/9倍に減少することが分かる。この結果、非符号化2PAMシステムと比較すると、符号化ゲインが0dBとなる。
レベルの数が増加するにつれて、信号ノイズ比(SNR)が減少する。しかし、SNRの減少の傾斜は、上記の2つのシステムにおいて異なる。図2Bおよび図2Cにおいて、SNRは信号空間(コンステレーション)マップにおける直近の隣接点間の最小距離に関連している。このため、固体不揮発性メモリデバイスにおける電圧に関する制約によって、最小距離およびSNRが低減されることになる。従って、任意のレベル数において、メモリシステムは一般的に、他の公知のシステムに比べるとSNRが低くなっている。こういった違いがあるので、本発明の実施形態に係る符号化方法および変調方法は、固体不揮発性メモリに特徴的な環境に適応している。
信号配置(コンステレーション)のエネルギーが等しいと仮定すると、非符号化システムの場合、エラー確率(Puncoded)の上限は以下のように表される。
Figure 0005232013
ここで、Aminは直近の隣接点の数で、
Figure 0005232013
は信号配置(コンステレーション)における2点間の二乗最小距離(minimum distance squared)で、Q(x)は余誤差関数(complementary error function)である。
符号化システムの場合は以下のようになる。
Figure 0005232013
ここで、dfreeは最小距離である。
漸近符号化ゲインは以下のように定義される。
Figure 0005232013
符号化システムの最小距離dfreeは通常、非符号化システムに比べて大きくなる。この結果、漸近符号化ゲインは1より大きくなる。しかしながら、直近の隣接点の数もまた増加するので、実質符号化ゲインはいくらか減少する。
図3Aは、本発明の一実施形態に係る、ECCを有する固体不揮発性メモリユニット300の一例を示す簡略ブロック図である。多重レベル固体不揮発性メモリ314の多重レベルメモリセルに書き込まれるユーザデータは、冗長シンボルを追加するべく、符号器310によってECC符号化されている。このように符号化されたデータは、チャネル符号化のために変調器312に送られる。本発明の実施形態によると、数多くある符号化方法および変調方法のうちいずれを用いてもよい。
多重レベル固体不揮発性メモリ314は、変調器312から、符号化され且つ変調されたデータを受け取る。多重レベル固体不揮発性メモリ314はフラッシュEEPROMなどであってよい。多重レベルフラッシュメモリは一般的に、1以上のフラッシュメモリセルアレイと読み書き(プログラミング)回路とを備える。多重レベルフラッシュメモリ以外のほかの固体不揮発性メモリ技術も、本発明の範囲に含まれる。本願ではフラッシュメモリなどのフローティングゲートメモリセルを説明するが、これは単に例示を目的としているのみである。本明細書において説明する本発明の実施形態は、適当に変形することによって、フローティングゲート技術以外のメモリ技術にも応用される。当業者には数多くの変更例、変形例、代替例が明らかである。
多重レベル固体不揮発性メモリ314からデータが読み出されて、復調器316および復号器318に送られる。本発明の実施形態に係る復調器は、多重レベル固体不揮発性メモリ314に格納されていたデータに関するソフト情報を抽出するべく構成された信号処理ロジックを有する。従来の2進法不揮発性メモリシステムでは、あるセルに関連付けられた電圧値が任意のしきい値より低いか高いかを判定するしきい値検出器が用いられる。このようなしきい値を利用する方式は多重レベルメモリシステムでも利用される。多重レベルメモリシステムでは単に、しきい値検出回路が使用するしきい値の数が増える。プロセスなどの変化を追跡してその結果に基づいてしきい値を調整する回路を有する多重レベルメモリシステムもあるが、このようなシステムは、多重レベルシステムのレベルの数に等しい複数の可能な値から選ばれた値を出力する。このため例えば、従来の4レベル不揮発性メモリの場合、センス増幅器は4つのレベルのうち1つのレベルを表すデータ信号を生成する。
従来の多重レベルメモリシステムとは対照的に、本発明の実施形態は、多重レベル固体不揮発性メモリ314が利用するレベル数よりも多い数の値を取り得る出力を生成する復調器を利用している。この情報は、出力が多重レベルメモリに格納されている値以外の情報も含むので、ソフト情報と呼ばれることもある。例示のみを目的として説明すると、復調器316の一部として設けられる、または復調器316と組み合わせられて動作するアナログ/デジタル(A/D)コンバータまたは検出器は、例えば4レベルメモリと通信するべく設けられたセンス増幅器が検出した値に応じて、例えば32個の値を取り得る出力信号を提供する。本発明の実施形態は、32レベルの出力信号を利用する場合に限定されるものではなく、例えば8レベル、16レベルまたはそれ以上のレベルを持つ出力信号が本発明の範囲に含まれる。アプリケーションによっては、ソフト情報は処理されるべくソフト情報復号器(不図示)に送られる。本発明の実施形態によると、復調器316が提供するソフト情報は、固体不揮発性メモリ314からのデータの読み出しの信頼性を向上させるべく信号処理動作において利用される。
本発明の実施形態によると、符号器310、変調器312、復調器316および復号器318は、多重レベル固体不揮発性メモリ314と通信するコントローラの構成要素である。メモリデバイスは通常、1つのカードに実装される1以上のメモリチップを備える。メモリチップはそれぞれ、メモリセルアレイとプログラミング、読み出しおよび消去等の動作を行う集積回路とを含み得る。本発明の実施形態によると、上記のような動作を行うコントローラ回路は、メモリチップが配設されている集積回路(IC)内に設けられるとしてもよいし、設けられないとしてもよい。本明細書で言及するコントローラは、符号化/復号および変調/復調を実行するものに限定されず、ウェアレベリングおよびインターフェースなどのほかの機能を実現し得る。
本発明の実施形態によれば、システム設計において既存の固体不揮発性メモリのメモリ密度を大きくすることが可能となる。本明細書においてより詳細に説明されているが、本明細書で開示している技術および方法を用いると、従来のシステムと比較して、読み出しエラーおよび書き込みエラーの修正が改善される。このため、例えば8レベルアプリケーションに対して、レベルを追加することによって例えば4レベルメモリシステムを利用しようと試みた場合に読み出し動作において任意の性能測定では許容可能な水準を超える数のエラーが発生しても、本明細書にて提案する技術を用いて復調プロセスにおいてそれらのエラーを補正し得るので、例えば8レベルアプリケーションにおいて4レベルメモリシステムを使用することが可能となる。このため本発明は、メモリアレイ、センス増幅器等の一部の構成要素を変更することなく、既存の固体不揮発性メモリシステムのメモリ密度を高めることができる。
図3Bは、本発明の一実施形態に係る、ADコンバータを組み込んだ固体不揮発性メモリユニット350を示す簡略ブロック図である。図3Bに示すように、符号器360および変調器362は、多重レベル不揮発性固体メモリ364に対して、符号化され且つ変調されたデータを与える。ADコンバータ366は、多重レベル不揮発性固体メモリ364から信号を受け取る。ADコンバータ366が出力するデジタル信号は、多重レベル不揮発性固体メモリ364に対応付けられたレベル数よりも、分解能が高い(レベル数が多い)。例示のみを目的として説明すると、ある実施形態において、多重レベル不揮発性固体メモリ364は例えば、各セルに2ビットを格納する4レベルメモリである。読み出し動作において、ADコンバータ366は、メモリ364の1以上のセルに対応付けられたアナログ信号を、アプリケーションに応じて、例えば8個、16個、32個または64個のレベルのいずれかに変換する。他の実施形態では、4レベルより多数のレベル数を用いる。復調器368に常駐する信号処理アルゴリズムは、ADコンバータ366の出力に基づいて、セルに格納されている4レベルのうちの1つのレベルと対応するデータを当該セルが含む確率を判定する。当業者には数多くの変更例、変形例、代替例が明らかである。
従来の固体メモリでは、データがメモリから読み出されると、当該データの誤りを検出および修正するべくECC技術が利用される。このようなECC技術は単に、センス増幅器が生成するバイナリデジタルデータまたは多重レベルデジタルデータに対して作用する。一方本発明によると、復調器316が生成および利用するソフト情報は単にバイナリデジタルデータまたは多重レベルデジタルデータだけではなく、さらに追加の情報も含んでいる。ソフト情報は通常分布によって表される。この分布は、データが、多重レベルシステムのレベル数と同数の、しきい値によって得られるデジタル値になってしまえば通常は適用できない信号処理技術を実施する上で有用である。
本発明の実施形態によれば、非符号化システムと比較した場合に多重レベル固体不揮発性メモリシステムにおいて、正の符号化ゲインが得られる。表1は、符号の状態数の関数として、非符号化1ビット/セルの不揮発性メモリに対する畳み込み符号化2ビット/セルの多重レベル不揮発性メモリの符号化ゲインの一例を示す。第1行目に示すように、4つの状態を取り得るシステムの場合(図2A乃至図2Cに図示)、非符号化システムに対する符号化ゲインは0dBである。しかし、状態数が増えるに従って、非符号化システムに対する符号化ゲインが正となる。
Figure 0005232013
表2は、符号の状態数の関数として、非符号化2ビット/セルの多重レベル不揮発性メモリに対する畳み込み符号化3ビット/セルの多重レベル不揮発性メモリの符号化ゲインを示す。状態数が4以上である1ビット/セル多重レベル不揮発性メモリについて示したように、非符号化システムに対する符号化ゲインは状態数が4以上のシステムについて正である。
Figure 0005232013
図4は、本発明の別の実施形態に係る、誤り訂正を行う固体不揮発性メモリユニットを示す簡略ブロック図である。図4に示すように、外部符号器410は内部符号器412に符号化データを与える。例えば、外部符号器410はリードソロモン符号器で、内部符号器はLDPC符号器であってよい。これらの符号化技術は単に例として挙げられているに過ぎず、本発明の範囲を限定するものではない。当業者には数多くの変更例、変形例、代替例が明らかである。変調器414は、内部符号器412から符号化データを受け取り、プログラミング動作において多重レベル固体不揮発性メモリ416へと格納される前に当該データを変調する。読み出し動作において、多重レベル固体不揮発性メモリ416に格納されているデータが取り出されて、復調器418、内部復号器420および外部復号器422へと送られる。
本発明の実施形態によれば、送信データに構造化冗長性を付加することによって、出力および/または帯域幅が限定されたチャネルのビットエラーレート(BER)特性を改善するべく、前方誤り訂正(FEC)符号を含む誤り訂正符号(ECC)は幾つ用いてもよい。例えば、付加的なバーストノイズ(ランダムマルチビットエラー)を持つチャネルに対してデータブロックを符号化するべくブロック符号を利用し得る。本発明は符号化および格納の前にユーザデータを操作しない系統的符号器と、非系統的符号器との両方に応用され得ると理解されたい。
例えば、ハミング符号、BCH符号、リード・ミュラー符号およびアレイ符号といった2進数符号およびリードソロモン(RS)符号のような非2進数符号を含む様々な線形ブロック符号のうちいずれを利用するとしてもよい。ブロックサイズの選択はSNRと利用される符号とに応じて決まる。例えば、電圧レベルが1セル当たり4から8に増加し、3つのセルごとにグループ化されて9ビットシンボルを形成すると仮定する。GF(2)に基づいて(511,451)リードソロモン符号を適用し、コードワード長は5119=4599ビットで、符号レートは451/511〜=0.883である。この場合、符号化システムの記憶容量は3451/511〜=2.6ビット/セルで、非符号化4レベルシステムに比べると容量が32%増加していることになる。このような符号化システムのワードエラーレート(WER)と4レベル非符号化システムを図5で比較する。同図から、WER<10−8の場合はRS符号化システムは非符号化システムより性能が優れていることが分かる。つまり、上記のRS符号によれば信頼性および容量が改善される。
本発明の別の実施形態例によると、例えば、ノイズがシンボル毎に独立している場合、畳み込み符号を用いてデータを符号化する。畳み込み符号は、符号化データに相関を組み込むので、復号器において最小距離が大きくなる。畳み込み符号は、ガウスノイズの影響を受ける固体不揮発性メモリに格納された、または、そのようなメモリから読み出された、シリアル転送データに適用される。畳み込み符号は進行性符号である。どの時点においても、畳み込み符号器の出力は、それ以前および現在の入力値の両方に依存し得る。このため、畳み込み符号は一般的に、整列した一連のデータ値における誤りを訂正するために用いられる。従って、そのような符号は、整列した一連のストリーム(つまり、データストリーム)としてデータを格納および読み出す多重レベル固体不揮発性メモリで利用され得る。
復号器は、ハード決定入力または多重レベル量子化入力の一方を受け取る。ソフト入力の方が、検出器で発生させる誤りが少ないことは公知である。図6は、レートが1/2の畳み込み符号器600の一例を示す様々なブロックである。2を法とする加算器610が生成する出力C2は、シフトレジスタ602および606と入力Uとによって定義される。例えば、電圧レベルが4から8に増加する場合、レートが3/4の畳み込み符号を適用して33/4=2.25ビット/セルとすると、記憶容量が10%増加する。非符号化4レベルシステムと同様のエラーレートを実現するためには、畳み込み符号の自由距離は(7/3)=5.44よりも大きくなければならない。6つのメモリユニットを有する3/4の畳み込み符号器であれば、2=64個の状態を提供するビタビ復号器が必要である。
トレリス符号化変調(TCM)は、符号レートおよび符号化ゲインを増加させて且つ復号の複雑性を低減することを目的として、畳み込み符号と集合分割とを組み合わせる。信号点(コンステレーションポイント)の一群は、より小さいサブ群へと分割され得る。この場合、各サブ群に含まれる複数の信号点は、元々の信号配置(コンステレーション)に比べて、より離れて配置される。図7は、2次元集合分割の一例を示す図である。同図において、複数の点「○」は1つのサブ群を表し、複数のバツ印「×」は別のサブ群を表す。元々の信号点間の最小距離がdであるとすると、各サブ群に含まれる信号点間の最小距離は√2dとなる。フラッシュメモリシステムの読み出し経路チャネルなどの加算性ホワイトガウスノイズ(AWGN)チャネルを有するシステムにおいては、システムの性能を決めるパラメータは、畳み込み符号の自由ハミング距離ではなく、送信信号列同士の間の自由ユークリッド距離である。従って、TCM設計を最適化する場合にはハミング距離ではなくユークリッド距離を参照する。
図8は、TCMの一例を示す。入力ビットは2群に分割される。第1群はkビットを有し、レートがk/(k+1)の符号器802を経由してサブ群を選択する。第2群は(k−k)ビットを有し、各サブ群において信号配置(コンステレーション)マッパ804を用いて信号点を選択する。以下に、容量が2ビット/セルから2.5ビット/セルへと増加する例を説明する。電圧レベルが8レベルあり、隣接する2つのセル毎に組み合わせて64QAM信号配置(コンステレーション)を形成すると仮定する。64QAM信号配置は4つのコセット(coset)に分割される。各コセットに含まれる任意の2点間の距離は8d0である。レートが3/4の畳み込み符号に基づいてコセットを選択し、2つの非符号化ビットを用いて任意のコセットにおいて点を選択すると仮定する。この場合、符号レートは全体的に5/6となり、2.5ビット/セルとなる。結果として、符号化ゲインは0.43dBとなる。以上より、このようなTCM符号化システムは、記憶容量を25%増加させつつ、非符号化4レベルシステムよりも高い性能を実現する。
不規則構成(random construciton)に基づいた符号の中には、反復検出方法によって復号され得るものもある。このような符号には、ターボ符号、つまり直列連結畳み込み符号または並列連結畳み込み符号、低密度パリティ検査(LDPC)符号、ターボプロダクト符号およびこれらを変形した符合などがある。
TCMの符号化ゲインは2つの要素に基づいて得られる。一つは、各サブ群において信号点間の距離を大きくする集合分割である。もう一つは、異なるサブ群間のユークリッド距離を大きくする畳み込み符号である。後者の効果は、畳み込み符号以外のゲインが高い符号を利用することによっても実現し得る。集合分割と反復符号を組み合わせる例を図9に示す。16PAMシステムが4つのサブ群に分割される場合を考える。この場合、各サブ群に含まれる点同士の間の最小距離は4dであるので、非符号化システムに比べて12dBのゲインを実現する。しかし、異なるサブ群の間では最小距離がd0のままである。サブ群の選択はLDPC符号器902が供給するLDPC符号化ビットによって決まるので、ゲインが12dBのLDPC符号を利用すれば、システム全体ではゲインが約12dBとなる。一般的には、システム全体のゲインは、集合分割のゲインと反復符号化のゲインの最小値である。図9に示すLDPC符号器902は、反復符号ブロックサイズによって定まるコードワード全体に対して作用する必要がある。反復符号以外にも、RS符号およびBCH符号などのゲインが高い符号を利用してサブ群選択のために入力の一部を符号化するとしてもよい。
実施形態によっては、符号化ゲインをさらに改善するべく、多段階符号化を利用するとしてもよい。図10Aおよび図10Bに、内部符号器と外部符号器とを含む2段階符号化を示す。一実施形態例によると、外部符号器1002はRS符号器であってよく、内部符号器1004はTCM符号器であってよい。TCM復号器1006に起因するバースト性エラーは、RS復号器1008によって修正される。
別の実施形態例によると、内部符号器1004はLDPC符号またはターボ符号などの反復符号を実施し、外部符号器1002はRS符号を実施する。反復符号は、2進数符号であってもよいし、またはシンボルベースの符号であってよい。各シンボルは複数ビットを含み得る。反復符号はSISO(ソフトインプットソフトアウトプット)復号器を用いて復号され得る。一方、RS符号はSISO復号器またはハード決定復号器を用いて復号され得る。外部RS復号器1008はソフト情報をやり取りするべく内部復号器1006との間で反復を行うとしてもよい。このような反復によって、ソフト情報の質が改善され、各反復の後にはビットエラーの数が減っている。
本明細書での様々な実施形態の説明は、例示を目的としたものに過ぎず、本発明の範囲を限定するものではない。記載しているもの以外の符号化技術、インターリーブ技術、変調技術、復調技術、復号技術、マッピング技術なども本発明の範囲に含まれる。
図1から分かるように、プログラミングされたセルのPDFは当該セルのしきい値電圧に応じて異なる。4つのレベルが等距離で離間されている場合、2ボルトからボルトの範囲内のしきい値電圧によって定義されるPDFを持つセルに対応するレベルは、分布が広くなっているので、他のレベルよりも誤りが生じやすい。従って、実施形態によっては、制約符号化を行う。特定のパターンを禁止したり、または特定のパターンの頻度を低減させたりする。例えば、2ボルトからボルトの範囲内のしきい値電圧によって定義されるPDFを持つセルに対応するデータの頻度を低減することによって、エラーの確率を全体的に低減する。

実施形態によっては、コードワードサイズとセクタサイズとを対応させる。例えば、セクタサイズが256キロビットとすると、内部符号および外部符号は1つの外部コードワードが256キロビットとなるように構成され得る。セクタサイズに対して、コードワードサイズを小さくしてもよいし大きくしてもよい。図11Aでは、セクタサイズはコードワードサイズと等しくなっている。コードワードサイズの方を小さくすると、図11Bに示すようにセクタはそれぞれ複数のコードワードを含む。コードワードサイズの方を大きくすると、図11Cに示すようにコードワードはそれぞれ複数のセクタを含む。一般的に、コードワードサイズが大きくなると、符号化ゲインは増加し、復号遅延は長くなり、復号器の複雑さが増す。
コードワードは、格納に先立ってインターリーブされるとしてもよい。図12は3元インターリーブセルの一例を示す。当該インターリーブセルでは、セル1202がコードワード1を形成し、セル1204がコードワード2を形成し、セル1206がコードワード3を形成している。欠陥がまたがっているセルの数が3つ以下であれば、当該欠陥が各コードワードで生じさせているシンボルエラーは1つのみであり、3つのシンボルエラーを含む1バーストよりも修正が容易である。
本発明のほかの実施形態例によると、上述したようなデータの符号化は多くの不揮発性固体半導体メモリに対して適用され得る。これらの複数のメモリは、実施形態によっては、物理的に上下方向に積層され得る。例えば、そのような不揮発性固体半導体メモリが8個積層される場合、当該8つのメモリに対してGF(2)ベースのRS符号が適用され得る。ここで、RS符号シンボルの各ビットは当該8個のメモリのうちの1つから得られたものである。このような複数のメモリに対して符号化を行うことによって、1つのメモリが大量の欠陥を有している場合のエラー回復処理が改善される。
図13Aは、本発明の実施形態例に係るインターリーブ方法を示す概略図である。図13Aに示すように、一例としてTCM符号器である内部符号器はデータの行に対して使用され、一例としてRS符号器である外部符号器はデータのブロック列に対して使用される。本実施形態例は、データが矩形フォーマット(つまりブロック)でメモリセルに書き込まれる固体不揮発性メモリで使用され得る。内部TCM符号にかなりの長さのマルチビットエラーが存在する場合、本発明の実施形態によると、複数の独立した外部RS符号が当該マルチビットエラーによって汚染されたデータを処理する。このため、各RS符号に影響を及ぼすエラーの数は限られる。図13Aによると、ある実施例での列の数は、部分的に最大エラーバースト長によって決まる。行の数は、部分的にブロックコードワード当たりのセクタの数によって決まる。
本発明の実施形態によると、列の数は特定のアプリケーションに応じて予め決まっている。例えば、列の数(インターリーブ深さに関連)が最大エラーバースト長よりも多い場合は、列に対して作用する外部符号器は特定のシンボルエラーレートによって特徴付けられるメモリなしのチャネルと同様である。従って、発生するエラーバーストは、異なる外部符号器符号に影響を与える。シンボルエラーレートは通常TCMシミュレーションを個別に用いて決定され、エラー確率は個別のモデリングによって推定され得る。一例としてRS符号器である外部符号器のオーバーヘッドの割合は、ブロックコードワードの行のサイズを大きくすることによって、低減され得る。または、オーバーヘッドの割合を一定に保持しつつRS符号の行のサイズを大きくすることができ、この結果、列当たりの修正力を高くすることができる。
図13Bは、図13Aに示した方法でインターリーブを行ったシステムについて、SNRの関数としてSERをプロットした図である。図13Bに示したデータの算出は、ブロックコードワード当たり10列および10セクタに基づいて行われた。他の実施形態では、特定のアプリケーションに応じて、ブロックコードワード当たりの列数およびセクタ数を変更する。比較を目的として、非符号化2ビット/セル4PAMシステムのSERを図示する。外部符号器(本例ではRS符号器)の強度が修正力の範囲内で変更される実施例のSER値を示している(tRS=12、14および16)。外部符号化の修正力または強度が高くなると、より小さいSNR値で符号化システムが非符号化システムと等しいレベルまで落ちる。図13Bによると、このように交差する点は、tRS=12、14および16のそれぞれにおいておよそ22.4dB、22.2dBおよび22.0dBである。
ある実施形態例において、多重レベル固体不揮発性メモリは例えば各セルに2.5ビット/セルを持つ。そのような実施形態によると、2つの隣接する8レベルセル(3ビット/セル)が64QAM変調シンボルを形成する。64QAM変調シンボルの6ビットのうち、5ビットがデータに使用され1ビットが符号化に使用される。このため、これらの実施形態例では、符号レートが5/6で状態毎の分岐の数は4である。このようなシステムでは、5個のデータビットが2つの隣接するセルに格納されるので、2.5ビット/セルを実現する。このような実施形態例によると、非符号化4PAMシステムと比較した場合の符号化ゲインは、例えば16状態について0.423dBとなり得る。尚、算出には多重性が含まれているので算出結果は変形される。例えば、多重性が二倍になるとおよそ0.2dBの損失が推定される。当業者には、数多くの変更例、変形例および代替例が明らかである。
本発明の別の実施形態例は、例えば3.5ビット/セルの多重レベル固体不揮発性メモリシステムを提供する。そのような実施形態によると、2つの隣接する16レベルのセル(4ビット/セル)が256QAM変調シンボルを形成する。256QAM変調シンボルの8ビットのうち、7ビットがデータに使用され1ビットが符号化に使用される。このため、これらの実施形態例では、符号レートが7/8で状態毎の分岐の数は4である。このようなシステムでは、7個のデータビットが2つの隣接するセルに格納されるので、3.5ビット/セルを実現する。非符号化8PAMシステムと比較した場合の符号化ゲインは、例えば8状態について0.527dB、16状態について1.317dBとなり得る。尚、算出には多重性が含まれているので算出結果は変形される。例えば、多重性が二倍になるとおよそ0.2dBの損失が推定される。当業者には、数多くの変更例、変形例および代替例が明らかである。
図14A乃至図14Gは本発明の様々な実施例を示す。図14Aを参照すると、本発明はハードディスクドライブ1400において実現され得る。本発明は、図14Aにおいて1402として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方を実施するとしてもよい。実施形態によっては、HDD1400の信号処理回路および/または制御回路1402および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、および/または、磁気格納媒体1406に対して出力される、および/または、磁気格納媒体1406から受信されたデータをフォーマットするとしてもよい。
HDD1400は、コンピュータ、携帯情報端末などの携帯用コンピュータデバイス、携帯電話、メディアプレーヤまたはMP3プレーヤなどのホストデバイス(不図示)および/またはそれ以外のデバイスと、1以上の有線通信リンクまたは無線通信リンク1408を介して通信し得る。HDD1400は、ランダムアクセスメモリ(RAM)、フラッシュメモリなどの低レイテンシ不揮発性メモリ、リードオンリーメモリ(ROM)および/またはそれ以外の適切な電子データストレージなどであるメモリ1409に接続され得る。
図14Bを参照すると、本発明はDVDドライブ1410において実現され得る。本発明は、図14Bにおいて1412として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方、および/または、DVDドライブ1410の大量データストレージ1418を実施するとしてもよい。DVDドライブ1410の信号処理回路および/または制御回路1412および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、および/または、光学格納媒体1416から読み出された、および/または、光学格納媒体1416に書き込まれるデータをフォーマットするとしてもよい。実施形態によっては、DVDドライブ1410の信号処理回路および/または制御回路1412および/またはその他の回路(不図示)はさらに、符号化および/または復号化および/またはDVDドライブに関連するそれ以外の信号処理機能といった機能を実行し得る。
DVDドライブ1410は、コンピュータ、テレビまたはそれ以外のデバイスなどの出力デバイス(不図示)と、1以上の有線通信リンクまたは無線通信リンク1417を介して通信し得る。DVDドライブ1410は、不揮発にデータを格納する大量データストレージ1418と通信し得る。大量データストレージ1418は、図14Aに示したようなハードディスクドライブ(HDD)を含み得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。DVDドライブ1410は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1419に接続され得る。
図14Cを参照すると、本発明は高精細テレビ(HDTV)1420において実現され得る。本発明は、図14Cにおいて1422として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方、HDTV1420のWLANインターフェースおよび/または大容量データストレージを実現するとしてもよい。HDTV1420は、有線または無線でHDTV入力信号を受信し、ディスプレイ1426用のHDTV出力信号を生成する。実施形態によっては、HDTV1420の信号処理回路および/または制御回路1422および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、データをフォーマットし、および/または、必要に応じてその他のHDTV関連処理を行うとしてもよい。
HDTV1420は、光学および/または磁気ストレージデバイスのように不揮発にデータを格納する大量データストレージ1427と通信し得る。少なくとも1つのHDDは図14Aに示す構成を有し、および/または、少なくとも1つのDVDドライブは図14Bに示す構成を有し得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。HDTV1420は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1428に接続され得る。HDTV1420はまた、WLANネットワークインターフェース1429を介したWLANとの接続をサポートし得る。
図14Dを参照すると、本発明は、車両1030の制御システム、WLANインターフェースおよび/または大容量データストレージにおいて実現されるとしてもよい。実施形態によっては、本発明は、1以上のセンサから入力を受信するパワートレイン制御システム1432を実施する。センサの例を挙げると、温度センサ、圧力センサ、回転センサ、気流センサ、および/または、エンジン操作パラメータ、伝達操作パラメータ、および/またはそれ以外の制御信号といった出力制御信号を1以上生成するそれ以外の適切なセンサなどがある。
本発明は、車両1430の別の制御システム1440においても実現され得る。制御システム1440も同様に、入力センサ1442から信号を受信し、および/または、1以上の出力デバイス1444に制御信号を出力するとしてもよい。実施形態によっては、制御システム1440は、アンチロックブレーキングシステム(ABS)、ナビゲーションシステム、テレマティックスシステム、車両テレマティックスシステム、車線逸脱システム、車間距離制御システム、およびステレオ、DVD、コンパクトディスク等の車両内エンターテインメントシステムの一部であってよい。これ以外にも実施例は検討されている。
パワートレイン制御システム1432は、不揮発にデータを格納する大量データストレージ1446と通信し得る。大量データストレージ1446は、例えばHDDおよび/またはDVDドライブなどの光学および/または磁気ストレージデバイスを含み得る。少なくとも1つのHDDは図14Aに示す構成を有し、および/または、少なくとも1つのDVDドライブは図14Bに示す構成を有し得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。パワートレイン制御システム1432は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1447に接続され得る。パワートレイン制御システム1432はまた、WLANネットワークインターフェース1448を介したWLANとの接続をサポートし得る。制御システム1440はまた、大量データストレージ、メモリおよび/またはWLANインターフェース(全て不図示)を含み得る。
図14Eを参照すると、本発明は携帯電話用アンテナ1451を含み得る携帯電話1450において実現され得る。本発明は、図14Eにおいて1452として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方、携帯電話1450のWLANインターフェースおよび/または大容量データストレージを実現するとしてもよい。実施形態によっては、携帯電話1450は、マイクロフォン1456、スピーカおよび/または音声出力ジャックなどの音声出力1458、ディスプレイ1460、および/または、キーパッド、ポインティングデバイス、音声起動デバイスおよび/またはそれ以外の入力デバイスである入力デバイス1462を備える。携帯電話1450の信号処理および/または制御回路1452および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、データをフォーマットし、および/または、その他の携帯電話機能を実施するとしてもよい。
携帯電話1450は、例えばHDDおよび/またはDVDドライブなどの光学および/または磁気ストレージデバイスのように不揮発にデータを格納する大量データストレージ1464と通信し得る。少なくとも1つのHDDは図14Aに示す構成を有し、および/または、少なくとも1つのDVDドライブは図14Bに示す構成を有し得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。携帯電話1450は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1466に接続され得る。携帯電話1450はまた、WLANネットワークインターフェース1468を介したWLANとの接続をサポートし得る。
図14Fを参照すると、本発明はセットトップボックス1480において実施され得る。本発明は、図14Fにおいて1484として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方、セットトップボックス1480のWLANインターフェースおよび/または大容量データストレージを実現するとしてもよい。セットトップボックス1480は、ブロードバンドソースなどのソースから信号を受信し、テレビおよび/またはモニタおよび/またはその他のビデオおよび/またはオーディオ出力デバイスのようなディスプレイ1488に適切な標準および/または高精細オーディオ/ビデオ信号を出力する。セットトップボックス1480の信号処理および/または制御回路1484および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、データをフォーマットし、および/または、その他のセットトップボックス機能を実施するとしてもよい。
セットトップボックス1480は、不揮発にデータを格納する大量データストレージ1490と通信し得る。大量データストレージ1490は、例えばHDDおよび/またはDVDドライブなどの光学および/または磁気ストレージデバイスを含み得る。少なくとも1つのHDDは図14Aに示す構成を有し、および/または、少なくとも1つのDVDドライブは図14Bに示す構成を有し得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。セットトップボックス1480は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1494に接続され得る。セットトップボックス1480はまた、WLANネットワークインターフェース1496を介したWLANとの接続をサポートし得る。
図14Gを参照すると、本発明はメディアプレーヤ1472において実現され得る。本発明は、図14Gにおいて1471として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方、メディアプレーや1472のWLANインターフェースおよび/または大容量データストレージを実現するとしてもよい。実施形態によっては、メディアプレーヤ1472は、ディスプレイ1476および/またはキーパッド、タッチパッド等のユーザ入力1477を有する。実施形態によっては、メディアプレーヤ1472は、ディスプレイ1476および/またはユーザ入力1477を介して、メニュー、ドロップダウンメニュー、アイコンおよび/またはポイントアンドクリックインターフェースを通常使用するグラフィカルユーザインターフェース(GUI)を利用し得る。メディアプレーヤ1472はさらに、スピーカおよび/または音声出力ジャックなどの音声出力1475を有する。メディアプレーヤ1472の信号処理および/または制御回路1471および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、データをフォーマットし、および/または、その他のメディアプレーヤ機能を実施するとしてもよい。
メディアプレーヤ1472は、圧縮オーディオおよび/またはビデオコンテンツなどのデータを不揮発に格納する大量データストレージ1470と通信し得る。実施例によっては、圧縮オーディオファイルは、MP3フォーマットまたはそれ以外の適切な圧縮オーディオおよび/またはビデオフォーマットに準拠したファイルを含む。大量データストレージは、HDDおよび/またはDVDドライブなどの光学および/または磁気ストレージデバイスを含み得る。少なくとも1つのHDDは図14Aに示す構成を有し、および/または、少なくとも1つのDVDドライブは図14Bに示す構成を有し得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。メディアプレーヤ1472は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1473に接続され得る。メディアプレーヤ1472はまた、WLANネットワークインターフェース1474を介したWLANとの接続をサポートし得る。
図14Hを参照すると、本発明はアンテナ1439を含み得るボイスオーバーインターネットプロトコル(VoIP)電話1483において実現され得る。本発明は、図14Hにおいて1482として一般的に識別される、信号処理回路および/または制御回路のどちらか一方または両方、VoIP電話1483のワイヤレスインターフェースおよび/または大容量データストレージを実現するとしてもよい。実施形態によっては、VoIP電話1483は、マイクロフォン1487、スピーカおよび/または音声出力ジャックなどの音声出力1489、ディスプレイモニタ1491、キーパッド、ポインティングデバイス、音声起動デバイスおよび/またはそれ以外の入力デバイスである入力デバイス1492、およびWiFi(Wireless Fidelity)通信モジュール1486等を備える。VoIP電話1483の信号処理および/または制御回路1482および/またはその他の回路(不図示)は、データを処理し、符号化および/または暗号化を行って、演算を実施し、データをフォーマットし、および/または、その他のVoIP電話機能を実施するとしてもよい。
VoIP電話1483は、例えばハードディスクドライブ(HDD)および/またはDVDなどの光学および/または磁気ストレージデバイスのようにデータを不揮発に格納する大量データストレージ1402と通信し得る。少なくとも1つのHDDは図14Aに示す構成を有し、および/または、少なくとも1つのDVDは図14Bに示す構成を有し得る。HDDは、約1.8"未満の直径を持つプラッタを1以上有するミニHDDであってよい。VoIP電話1483は、RAM、ROM、フラッシュメモリなどの低レイテンシ不揮発性メモリおよび/またはそれ以外の適切な電子データストレージなどであるメモリ1485に接続され得る。VoIP電話1483は、WiFi通信モジュール1486を介してVoIPネットワーク(不図示)との間に通信リンクを確立する。上記以外の実施例も検討されている。
上述した本発明の実施形態は、例示を目的にしたものであって本発明を限定するものではない。様々な代替例および均等物を実施することが可能である。本発明は、使用するコンパレータ、カウンタ、パルス幅変調器、ドライバまたはフィルタの種類について限定されるものではない。本発明は、基準用の充電電流および放電電流を定めるための増幅器の種類について限定されるものではない。本発明は発振器の種類によって限定されるものではない。本発明は、本開示内容が実装される集積回路の種類について限定されるものではない。また本発明は、本開示内容を製造するために利用され得る、CMOS、バイポーラまたはBICMOSなどの、処理技術の種類について特定の種類に限定されるものではない。上記以外の実施形態の追加、削除または変更は本開示内容から明らかであり、本願の特許請求の範囲に含まれるものとする。
[項目1]
第1のデジタルレベル数を用いてそれぞれデータを格納する複数のメモリセルを有する多重レベル固体不揮発性メモリアレイ用のコントローラであって、
第1のデータビット列を符号化して符号化データビット列を供給する手段と、
上記符号化データビット列を変換してデータシンボル列を得る手段と、
上記多重レベル固体不揮発性メモリアレイが有するメモリセルに上記データシンボル列を格納する手段と、
上記データシンボル列を取り出す手段と、
取り出された上記データシンボル列を復号して、上記メモリセルに上記データシンボル列を格納するのに用いられた上記第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を供給する手段と、を備えるコントローラ。
[項目2]
上記第1のデータビット列を生成するべく第2のデータビット列を符号化する手段と、
上記出力データシンボル列を復号する手段と、をさらに備える、項目1に記載のコントローラ。
[項目3]
上記第1のデータビット列の符号化は第1のECC技術に従って実行され、上記第2のデータビット列の符号化は第2のECC技術に従って実行される、項目2に記載のコントローラ。
[項目4]
上記第1のECC技術と上記第2のECC技術は異なる、項目3に記載のコントローラ。
[項目5]
上記多重レベル固体不揮発性メモリアレイは1以上のフラッシュEEPROM(登録商標)アレイを含む、項目1に記載のコントローラ。
[項目6]
上記データシンボルと対応付けられたソフト情報を処理する手段、をさらに備える項目1に記載のコントローラ。

Claims (38)

  1. 第1のデジタルレベル数を用いてデータを格納する複数のメモリセルを有する多重レベル固体不揮発性メモリアレイと、
    前記多重レベル固体不揮発性メモリアレイに格納するデータを生成する第1の符号器と、
    前記多重レベル固体不揮発性メモリアレイが有する前記複数のメモリセルのそれぞれに格納されている前記データを受け取り、前記データに基づいて、前記データの格納に用いられた前記第1のデジタルレベル数よりも多い第2のデジタルレベル数で特徴付けられる、それぞれの前記データのデジタル信号を出力する、アナログ/デジタルコンバータと
    を備え、
    複数のデジタルレベルのうちの第1のレベルに対してプログラミングされた前記複数のメモリセルの電圧は、第1の分布の幅を有する第1の確率分布関数によって特徴づけられ、
    複数のデジタルレベルのうちの第2のレベルに対してプログラミングされた前記複数のメモリセルの電圧は、第2の分布の幅を有する第2の確率分布関数によって特徴づけられ、
    前記第1の分布の幅は前記第2の分布の幅よりも広く、
    前記第1の符号器は、前記第2のレベルのデータの頻度に比べて、前記第1のレベルのデータの頻度を低減させる、固体不揮発性メモリユニット。
  2. 前記多重レベル固体不揮発性メモリアレイはフラッシュEEPROM(登録商標)アレイである
    請求項1に記載の固体不揮発性メモリユニット。
  3. 前記固体不揮発性メモリユニットは集積回路内に配設されている
    請求項1または2に記載の固体不揮発性メモリユニット。
  4. 前記固体不揮発性メモリアレイから取り出されたデータを復号する第1の復号器
    をさらに備える請求項1から3のいずれか1項に記載の固体不揮発性メモリユニット。
  5. 前記第1の符号器と通信する第2の符号器と、
    前記第1の復号器と通信する第2の復号器と
    をさらに備える請求項4に記載の固体不揮発性メモリユニット。
  6. 前記第1の符号器は第1のECC技術を実行して、前記第2の符号器は第2のECC技術を実行する
    請求項5に記載の固体不揮発性メモリユニット。
  7. 前記第1のECC技術と前記第2のECC技術は異なる
    請求項6に記載の固体不揮発性メモリユニット。
  8. 前記第2の符号器はリードソロモン符号器を含む
    請求項5に記載の固体不揮発性メモリユニット。
  9. 前記第1の符号器により供給された符号化データを変調する変調器と、
    前記固体不揮発性メモリアレイから取り出された、変調された前記データを復調する復調器と
    をさらに備える、請求項1から8のいずれか1項に記載の固体不揮発性メモリユニット。
  10. 前記第1の符号器および前記変調器はどちらも、トレリス符号化変調器を含む
    請求項9に記載の固体不揮発性メモリユニット。
  11. 前記第1の符号器は2進符号器である
    請求項1から10のいずれか1項に記載の固体不揮発性メモリユニット。
  12. 前記第1の符号器は畳み込み符号器である
    請求項1から10のいずれか1項に記載の固体不揮発性メモリユニット。
  13. 前記第1の符号器は反復符号器である
    請求項1から10のいずれか1項に記載の固体不揮発性メモリユニット。
  14. 第1のデータを含むデータストリームを生成する段階と、
    多重レベル固体不揮発性メモリアレイが有するメモリセルに、第1のデジタルレベル数を用いて前記第1のデータを含む前記データストリームを格納する段階と、
    前記メモリアレイが有する前記メモリセルから格納されている前記第1のデータを含む前記データストリームを取り出す段階と、
    前記取り出したデータストリームに含まれるデータを、前記第1のデジタルレベル数よりも多い第2のデジタルレベル数にデジタル化する段階と
    を備え、
    複数のデジタルレベルのうちの第1のレベルに対してプログラミングされた前記多重レベル固体不揮発性メモリアレイが有する複数のメモリセルの電圧は、第1の分布の幅を有する第1の確率分布関数によって特徴付けられ、
    複数のデジタルレベルのうちの第2のレベルに対してプログラミングされた前記複数のメモリセルの電圧は、第2の分布の幅を有する第2の確率分布関数によって特徴付けられ、
    前記第1の分布の幅は前記第2の分布の幅よりも広く、
    前記データストリームを生成することは、前記データストリームの第2のレベルのデータの頻度に比べて前記データストリームの第1のレベルのデータの頻度を低減させる、固体不揮発性メモリユニットを操作する方法。
  15. 前記多重レベル固体不揮発性メモリアレイはフラッシュEEPROM(登録商標)アレイである
    請求項14に記載の方法。
  16. 前記固体不揮発性メモリユニットは集積回路内に配設されている
    請求項14または15に記載の方法。
  17. 前記取り出したデータストリームに含まれるデータを復号する段階
    をさらに備え、
    前記データストリームを生成する段階は、第2のデータストリームを符号化する段階を含む、
    請求項14に記載の方法。
  18. 前記第2のデータストリームを生成するべく第3のデータを符号化する段階と、
    前記第2のデータストリームを再生成するべく、復号された前記取り出されたデータを復号する段階と
    をさらに備える請求項17に記載の方法。
  19. 前記第2のデータストリームの符号化は第1のECC技術に従って実行され、前記第3のデータの符号化は第2のECC技術に従って実行される
    請求項18に記載の方法。
  20. 前記第1のECC技術と前記第2のECC技術は異なる
    請求項19に記載の方法。
  21. 前記第3のデータを符号化する段階は、リードソロモン符号化技術を実行する段階を含む
    請求項18に記載の方法。
  22. 符号化された前記第1のデータを変調する段階と、
    前記多重レベル固体不揮発性メモリアレイに変調された前記データストリームを格納する段階と、
    前記多重レベル固体不揮発性メモリアレイから、変調された前記データストリームを取り出す段階と、
    前記多重レベル固体不揮発性メモリアレイから取り出された前記データストリームを復調する段階と
    をさらに備える請求項17に記載の方法。
  23. 前記符号化および前記変調はどちらも、トレリス符号化変調の実行を含む
    請求項22に記載の方法。
  24. 前記第2のデータストリームの符号化は、2進符号化技術に従って実行される
    請求項17に記載の方法。
  25. 前記第2のデータストリームの符号化は、畳み込み符号化技術に従って実行される
    請求項17に記載の方法。
  26. 前記第2のデータストリームの符号化は、反復符号化技術に従って実行される
    請求項17に記載の方法。
  27. 第1のデジタルレベル数を用いてそれぞれデータを格納する複数のメモリセルを有する多重レベル固体不揮発性メモリアレイ用のコントローラであって、
    データビット列を受け取り、符号化データビット列を供給する第1の符号器と、
    前記符号化データビット列を、前記多重レベル固体不揮発性メモリアレイが有するメモリセルでの格納用のデータシンボル列へと変換するマッパと、
    前記多重レベル固体不揮発性メモリアレイが有するメモリセルに格納されているデータシンボル列に基づく電圧信号列を受け取り、前記メモリセルに前記データシンボル列を格納するのに用いられた前記第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を生成する第1の復号器と
    を備え、
    複数のデジタルレベルのうちの第1のレベルに対してプログラミングされた前記多重レベル固体不揮発性メモリアレイが有する複数のメモリセルの電圧は、第1の分布の幅を有する第1の確率分布関数によって特徴付けられ、
    複数のデジタルレベルのうちの第2のレベルに対してプログラミングされた前記複数のメモリセルの電圧は、第2の分布の幅を有する第2の確率分布関数によって特徴付けられ、
    前記第1の分布の幅は前記第2の分布の幅よりも大きく、
    前記第1の符号器は、前記符号化データビット列の第2のレベルのデータの頻度に比べて前記符号化データビット列の第1のレベルのデータの頻度を低減させながら、前記符号化データビット列を生成する、コントローラ。
  28. 前記第1の符号器と通信する第2の符号器と、
    前記第1の復号器と通信する第2の復号器と
    をさらに備える請求項27に記載のコントローラ。
  29. 前記第1の符号器は第1のECC技術を実行して、前記第2の符号器は第2のECC技術を実行する
    請求項28に記載のコントローラ。
  30. 前記第1のECC技術と前記第2のECC技術は異なる
    請求項29に記載のコントローラ。
  31. 前記多重レベル固体不揮発性メモリアレイは1以上のフラッシュEEPROM(登録商標)アレイを含む
    請求項27から30のいずれか1項に記載のコントローラ。
  32. 前記第1の復号器はソフト情報復号器を含む
    請求項27から31のいずれか1項に記載のコントローラ。
  33. 第1のデジタルレベル数を用いてそれぞれデータを格納する複数のメモリセルを有する多重レベル固体不揮発性メモリアレイ用のコントローラを操作する方法であって、
    符号化データビット列を供給するべく第1のデータビット列を符号化する段階と、
    データシンボル列を得るべく前記符号化データビット列を変換する段階と、
    前記多重レベル固体不揮発性メモリアレイが有するメモリセルに前記データシンボル列を格納する段階と、
    前記データシンボル列を取り出す段階と、
    取り出された前記データシンボル列を復号して、前記メモリセルに前記データシンボル列を格納するのに用いられた前記第1のデジタルレベル数より多い第2のデジタルレベル数で特徴付けられる出力データシンボル列を供給する段階と
    を備え、
    複数のデジタルレベルのうちの第1のレベルに対してプログラミングされた前記多重レベル固体不揮発性メモリアレイが有する複数のメモリセルの電圧は、第1の分布の幅を有する第1の確率分布関数によって特徴付けられ、
    複数のデジタルレベルのうちの第2のレベルに対してプログラミングされた前記複数のメモリセルの電圧は、第2の分布の幅を有する第2の確率分布関数によって特徴付けられ、
    前記第1の分布の幅は前記第2の分布の幅よりも広く、
    前記第1のデータビット列を符号化する段階は、前記符号化データビット列の第2のレベルのデータの頻度に比べて前記符号化データビット列の第1のレベルのデータの頻度を低減する段階を含む、方法。
  34. 前記第1のデータビット列を生成するべく第2のデータビット列を符号化する段階と、
    前記出力データシンボル列を復号する段階と
    をさらに備える請求項33に記載の方法。
  35. 前記第1のデータビット列の符号化は第1のECC技術に従って実行され、前記第2のデータビット列の符号化は第2のECC技術に従って実行される
    請求項34に記載の方法。
  36. 前記第1のECC技術と前記第2のECC技術は異なる
    請求項35に記載の方法。
  37. 前記多重レベル固体不揮発性メモリアレイは1以上のフラッシュEEPROM(登録商標)アレイを含む
    請求項33から36のいずれか1項に記載の方法。
  38. 前記データシンボルと関連付けられたソフト情報を処理する段階と
    をさらに備える請求項33から37のいずれか1項に記載の方法。
JP2008551451A 2006-01-20 2007-01-19 フラッシュメモリにおける誤り訂正のための方法およびシステム Active JP5232013B2 (ja)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US76062206P 2006-01-20 2006-01-20
US60/760,622 2006-01-20
US76188806P 2006-01-25 2006-01-25
US60/761,888 2006-01-25
US77162106P 2006-02-08 2006-02-08
US60/771,621 2006-02-08
PCT/US2007/001620 WO2007084749A2 (en) 2006-01-20 2007-01-19 Method and system for error correction in flash memory

Publications (3)

Publication Number Publication Date
JP2009524176A JP2009524176A (ja) 2009-06-25
JP2009524176A5 JP2009524176A5 (ja) 2010-03-18
JP5232013B2 true JP5232013B2 (ja) 2013-07-10

Family

ID=38288304

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008551451A Active JP5232013B2 (ja) 2006-01-20 2007-01-19 フラッシュメモリにおける誤り訂正のための方法およびシステム

Country Status (6)

Country Link
US (5) US7844879B2 (ja)
EP (1) EP1987519B1 (ja)
JP (1) JP5232013B2 (ja)
KR (1) KR101410434B1 (ja)
TW (2) TWI367492B (ja)
WO (1) WO2007084749A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517976A (ja) * 2011-05-12 2014-07-24 マイクロン テクノロジー, インク. メモリセルをプログラミングすること

Families Citing this family (260)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US8848442B2 (en) * 2006-03-06 2014-09-30 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
US8645793B2 (en) * 2008-06-03 2014-02-04 Marvell International Ltd. Statistical tracking for flash memory
US8050086B2 (en) 2006-05-12 2011-11-01 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
WO2007132456A2 (en) * 2006-05-12 2007-11-22 Anobit Technologies Ltd. Memory device with adaptive capacity
US20070266296A1 (en) * 2006-05-15 2007-11-15 Conley Kevin M Nonvolatile Memory with Convolutional Coding
US7840875B2 (en) * 2006-05-15 2010-11-23 Sandisk Corporation Convolutional coding methods for nonvolatile memory
US7818653B2 (en) 2006-09-28 2010-10-19 Sandisk Corporation Methods of soft-input soft-output decoding for nonvolatile memory
US7805663B2 (en) * 2006-09-28 2010-09-28 Sandisk Corporation Methods of adapting operation of nonvolatile memory
US7904783B2 (en) * 2006-09-28 2011-03-08 Sandisk Corporation Soft-input soft-output decoder for nonvolatile memory
US7904780B2 (en) * 2006-11-03 2011-03-08 Sandisk Corporation Methods of modulating error correction coding
US8001441B2 (en) * 2006-11-03 2011-08-16 Sandisk Technologies Inc. Nonvolatile memory with modulated error correction coding
US8316206B2 (en) * 2007-02-12 2012-11-20 Marvell World Trade Ltd. Pilot placement for non-volatile memory
US7827450B1 (en) 2006-11-28 2010-11-02 Marvell International Ltd. Defect detection and handling for memory based on pilot cells
US8595573B2 (en) 2006-12-03 2013-11-26 Apple Inc. Automatic defect management in memory devices
KR100785925B1 (ko) * 2006-12-06 2007-12-17 삼성전자주식회사 Tcm을 이용한 멀티 레벨 셀 메모리 장치
KR100822030B1 (ko) * 2006-12-26 2008-04-15 삼성전자주식회사 고 부호화율 부호를 이용한 멀티 레벨 셀 메모리 장치
US8583981B2 (en) * 2006-12-29 2013-11-12 Marvell World Trade Ltd. Concatenated codes for holographic storage
US8369141B2 (en) 2007-03-12 2013-02-05 Apple Inc. Adaptive estimation of memory cell read thresholds
US7904793B2 (en) * 2007-03-29 2011-03-08 Sandisk Corporation Method for decoding data in non-volatile storage using reliability metrics based on multiple reads
US8281212B1 (en) * 2007-03-30 2012-10-02 Link—A—Media Devices Corporation Iterative ECC decoder with out of order completion
US7958427B1 (en) * 2007-03-30 2011-06-07 Link—A—Media Devices Corporation ECC with out of order completion
US7966550B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Soft bit data transmission for error correction control in non-volatile memory
US7971127B2 (en) * 2007-03-31 2011-06-28 Sandisk Technologies Inc. Guided simulated annealing in non-volatile memory error correction control
US7975209B2 (en) * 2007-03-31 2011-07-05 Sandisk Technologies Inc. Non-volatile memory with guided simulated annealing error correction control
US7966546B2 (en) * 2007-03-31 2011-06-21 Sandisk Technologies Inc. Non-volatile memory with soft bit data transmission for error correction control
US7808834B1 (en) 2007-04-13 2010-10-05 Marvell International Ltd. Incremental memory refresh
WO2008139441A2 (en) 2007-05-12 2008-11-20 Anobit Technologies Ltd. Memory device with internal signal processing unit
US8234545B2 (en) 2007-05-12 2012-07-31 Apple Inc. Data storage with incremental redundancy
US8117520B2 (en) * 2007-06-15 2012-02-14 Micron Technology, Inc. Error detection for multi-bit memory
US8051358B2 (en) 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US8065583B2 (en) * 2007-07-06 2011-11-22 Micron Technology, Inc. Data storage with an outer block code and a stream-based inner code
KR101480383B1 (ko) * 2007-07-25 2015-01-09 삼성전자주식회사 코드 인코딩 장치
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8031526B1 (en) 2007-08-23 2011-10-04 Marvell International Ltd. Write pre-compensation for nonvolatile memory
US8386879B2 (en) * 2007-08-23 2013-02-26 Nec Laboratories America, Inc. GLDPC encoding with Reed-Muller component codes for optical communications
US8189381B1 (en) 2007-08-28 2012-05-29 Marvell International Ltd. System and method for reading flash memory cells
US8085605B2 (en) 2007-08-29 2011-12-27 Marvell World Trade Ltd. Sequence detection for flash memory with inter-cell interference
US8300478B2 (en) 2007-09-19 2012-10-30 Apple Inc. Reducing distortion using joint storage
US8174905B2 (en) 2007-09-19 2012-05-08 Anobit Technologies Ltd. Programming orders for reducing distortion in arrays of multi-level analog memory cells
WO2009095902A2 (en) 2008-01-31 2009-08-06 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8527819B2 (en) 2007-10-19 2013-09-03 Apple Inc. Data storage in analog memory cell arrays having erase failures
US8694715B2 (en) 2007-10-22 2014-04-08 Densbits Technologies Ltd. Methods for adaptively programming flash memory devices and flash memory systems incorporating same
US8443242B2 (en) * 2007-10-25 2013-05-14 Densbits Technologies Ltd. Systems and methods for multiple coding rates in flash devices
KR101509836B1 (ko) 2007-11-13 2015-04-06 애플 인크. 멀티 유닛 메모리 디바이스에서의 메모리 유닛의 최적화된 선택
US8327245B2 (en) * 2007-11-21 2012-12-04 Micron Technology, Inc. Memory controller supporting rate-compatible punctured codes
US8499229B2 (en) * 2007-11-21 2013-07-30 Micro Technology, Inc. Method and apparatus for reading data from flash memory
US8046542B2 (en) * 2007-11-21 2011-10-25 Micron Technology, Inc. Fault-tolerant non-volatile integrated circuit memory
US8225181B2 (en) * 2007-11-30 2012-07-17 Apple Inc. Efficient re-read operations from memory devices
WO2009072104A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith
WO2009072103A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. Flash memory apparatus and methods using a plurality of decoding stages including optional use of concatenated bch codes and/or designation of 'first below' cells
WO2009072105A2 (en) 2007-12-05 2009-06-11 Densbits Technologies Ltd. A low power chien-search based bch/rs decoding system for flash memory, mobile communications devices and other applications
US8359516B2 (en) * 2007-12-12 2013-01-22 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009074979A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
US8209588B2 (en) * 2007-12-12 2012-06-26 Anobit Technologies Ltd. Efficient interference cancellation in analog memory cell arrays
US8456905B2 (en) 2007-12-16 2013-06-04 Apple Inc. Efficient data storage in multi-plane memory devices
US8327246B2 (en) 2007-12-18 2012-12-04 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8230300B2 (en) 2008-03-07 2012-07-24 Apple Inc. Efficient readout from analog memory cells using data compression
US8179719B1 (en) 2008-03-10 2012-05-15 Marvell International Ltd. Systems and methods for improving error distributions in multi-level cell memory systems
KR20090097673A (ko) * 2008-03-12 2009-09-16 삼성전자주식회사 연판정 값에 기반하여 메모리에 저장된 데이터를 검출하는장치
US8493783B2 (en) 2008-03-18 2013-07-23 Apple Inc. Memory device readout using multiple sense times
US8400858B2 (en) 2008-03-18 2013-03-19 Apple Inc. Memory device with reduced sense time readout
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8533563B2 (en) * 2008-03-31 2013-09-10 Qimonda Ag Memory read-out
US8086940B2 (en) * 2008-04-28 2011-12-27 Newport Media, Inc. Iterative decoding between turbo and RS decoders for improving bit error rate and packet error rate
US8090999B2 (en) * 2008-06-10 2012-01-03 Micron Technology, Inc. Memory media characterization for development of signal processors
US7995388B1 (en) 2008-08-05 2011-08-09 Anobit Technologies Ltd. Data storage using modified voltages
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8949684B1 (en) 2008-09-02 2015-02-03 Apple Inc. Segmented data storage
US8482978B1 (en) 2008-09-14 2013-07-09 Apple Inc. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
WO2010039869A1 (en) * 2008-09-30 2010-04-08 Lsi Corporation Methods and apparatus for soft data generation for memory devices using reference cells
US8239734B1 (en) * 2008-10-15 2012-08-07 Apple Inc. Efficient data storage in storage device arrays
US8321772B1 (en) 2008-10-20 2012-11-27 Link—A—Media Devices Corporation SOVA sharing during LDPC global iteration
US8261159B1 (en) 2008-10-30 2012-09-04 Apple, Inc. Data scrambling schemes for memory devices
US8208304B2 (en) 2008-11-16 2012-06-26 Anobit Technologies Ltd. Storage at M bits/cell density in N bits/cell analog memory cell devices, M>N
US8291297B2 (en) * 2008-12-18 2012-10-16 Intel Corporation Data error recovery in non-volatile memory
US9449719B2 (en) * 2008-12-19 2016-09-20 Seagate Technology Llc Solid-state storage device including a high resolution analog-to-digital converter
US8248831B2 (en) 2008-12-31 2012-08-21 Apple Inc. Rejuvenation of analog memory cells
US8174857B1 (en) 2008-12-31 2012-05-08 Anobit Technologies Ltd. Efficient readout schemes for analog memory cell devices using multiple read threshold sets
US8924661B1 (en) 2009-01-18 2014-12-30 Apple Inc. Memory system including a controller and processors associated with memory devices
KR101519626B1 (ko) * 2009-02-27 2015-05-14 삼성전자주식회사 반도체 메모리 장치 및 그것의 데이터 처리 방법
US8228701B2 (en) * 2009-03-01 2012-07-24 Apple Inc. Selective activation of programming schemes in analog memory cell arrays
US8259506B1 (en) 2009-03-25 2012-09-04 Apple Inc. Database of memory read thresholds
US8832354B2 (en) 2009-03-25 2014-09-09 Apple Inc. Use of host system resources by memory controller
US20100251076A1 (en) * 2009-03-27 2010-09-30 Chao-Yi Wu Storage controller having soft decoder included therein, related storage control method thereof and system using the same
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8238157B1 (en) 2009-04-12 2012-08-07 Apple Inc. Selective re-programming of analog memory cells
US8370709B2 (en) * 2009-04-16 2013-02-05 Micron Technology, Inc. Multiple-level memory cells and error detection
US8560918B1 (en) * 2009-04-21 2013-10-15 Marvell International Ltd. Method and apparatus for dynamically selecting an error correction code to be applied to data in a communication system
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8370702B2 (en) 2009-06-10 2013-02-05 Micron Technology, Inc. Error correcting codes for increased storage capacity in multilevel memory devices
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
EP2299362A3 (en) * 2009-08-18 2011-05-04 ViaSat, Inc. Forward error correction for memories
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies Ltd. Flash memory module and method for programming a page of flash memory cells
US8995197B1 (en) 2009-08-26 2015-03-31 Densbits Technologies Ltd. System and methods for dynamic erase and program control for flash memory device memories
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
US9330767B1 (en) 2009-08-26 2016-05-03 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory module and method for programming a page of flash memory cells
US8730729B2 (en) 2009-10-15 2014-05-20 Densbits Technologies Ltd. Systems and methods for averaging error rates in non-volatile devices and storage systems
US8495465B1 (en) 2009-10-15 2013-07-23 Apple Inc. Error correction coding over multiple memory pages
US8724387B2 (en) 2009-10-22 2014-05-13 Densbits Technologies Ltd. Method, system, and computer readable medium for reading and programming flash memory cells using multiple bias voltages
US8626988B2 (en) 2009-11-19 2014-01-07 Densbits Technologies Ltd. System and method for uncoded bit error rate equalization via interleaving
US8677054B1 (en) 2009-12-16 2014-03-18 Apple Inc. Memory management schemes for non-volatile memory devices
US9037777B2 (en) 2009-12-22 2015-05-19 Densbits Technologies Ltd. Device, system, and method for reducing program/read disturb in flash arrays
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
DE112009005490T5 (de) * 2009-12-31 2013-01-24 Micron Technology, Inc. Verfahren für eine Phasenwechselspeichermatrix
US8694814B1 (en) 2010-01-10 2014-04-08 Apple Inc. Reuse of host hibernation storage space by memory controller
US8677203B1 (en) 2010-01-11 2014-03-18 Apple Inc. Redundant data storage schemes for multi-die memory systems
KR101678404B1 (ko) * 2010-02-25 2016-11-23 삼성전자주식회사 사전 확률 정보를 사용하는 메모리 시스템 및 그것의 데이터 처리 방법
US8700970B2 (en) 2010-02-28 2014-04-15 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8745317B2 (en) 2010-04-07 2014-06-03 Densbits Technologies Ltd. System and method for storing information in a multi-level cell memory
US9021177B2 (en) 2010-04-29 2015-04-28 Densbits Technologies Ltd. System and method for allocating and using spare blocks in a flash memory
US8694853B1 (en) 2010-05-04 2014-04-08 Apple Inc. Read commands for reading interfering memory cells
US8386895B2 (en) 2010-05-19 2013-02-26 Micron Technology, Inc. Enhanced multilevel memory
US8489979B2 (en) * 2010-05-28 2013-07-16 Seagate Technology Llc Methods and devices to reduce outer code failure rate variability
US8656263B2 (en) * 2010-05-28 2014-02-18 Stec, Inc. Trellis-coded modulation in a multi-level cell flash memory device
US8572457B2 (en) * 2010-05-28 2013-10-29 Seagate Technology Llc Outer code protection for solid state memory devices
US8615703B2 (en) 2010-06-04 2013-12-24 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US11336303B2 (en) 2010-06-04 2022-05-17 Micron Technology, Inc. Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US8572423B1 (en) 2010-06-22 2013-10-29 Apple Inc. Reducing peak current in memory systems
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8621321B2 (en) 2010-07-01 2013-12-31 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US20120008414A1 (en) 2010-07-06 2012-01-12 Michael Katz Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
US8595591B1 (en) 2010-07-11 2013-11-26 Apple Inc. Interference-aware assignment of programming levels in analog memory cells
US9104580B1 (en) 2010-07-27 2015-08-11 Apple Inc. Cache memory for hybrid disk drives
US8645794B1 (en) 2010-07-31 2014-02-04 Apple Inc. Data storage in analog memory cells using a non-integer number of bits per cell
US8856475B1 (en) 2010-08-01 2014-10-07 Apple Inc. Efficient selection of memory blocks for compaction
US8493781B1 (en) 2010-08-12 2013-07-23 Apple Inc. Interference mitigation using individual word line erasure operations
WO2012020278A1 (en) * 2010-08-13 2012-02-16 Sandisk Il Ltd. Data coding using divisions of memory cell states
US8694854B1 (en) 2010-08-17 2014-04-08 Apple Inc. Read threshold setting based on soft readout statistics
US8595585B2 (en) * 2010-08-20 2013-11-26 Nec Laboratories America, Inc. Reverse concatenated encoding and decoding
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US9116826B2 (en) * 2010-09-10 2015-08-25 Trellis Phase Communications, Lp Encoding and decoding using constrained interleaving
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US9021181B1 (en) 2010-09-27 2015-04-28 Apple Inc. Memory management for unifying memory cell conditions by using maximum time intervals
US8892809B2 (en) 2010-10-25 2014-11-18 Marvell World Trade Ltd. Data compression and encoding in a memory system
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
KR101250672B1 (ko) * 2010-12-03 2013-04-09 한국과학기술원 플래시 메모리 장치의 셀 간 간섭을 최소화하기 위한 격자 부호 변조 방법, 이를 이용하는 격자 부호 변조 회로, 오류 정정 회로 및 플래시 메모리 장치의 데이터 입력 방법과 플래시 메모리 장치
US8850100B2 (en) 2010-12-07 2014-09-30 Densbits Technologies Ltd. Interleaving codeword portions between multiple planes and/or dies of a flash memory device
KR20120082230A (ko) * 2011-01-13 2012-07-23 에스케이하이닉스 주식회사 랜덤 코드 발생회로를 포함하는 반도체 장치 및 반도체 시스템과, 데이터 프로그래밍 방법
US10079068B2 (en) 2011-02-23 2018-09-18 Avago Technologies General Ip (Singapore) Pte. Ltd. Devices and method for wear estimation based memory management
US8693258B2 (en) 2011-03-17 2014-04-08 Densbits Technologies Ltd. Obtaining soft information using a hard interface
US8621330B2 (en) 2011-03-21 2013-12-31 Microsoft Corporation High rate locally decodable codes
US8990665B1 (en) 2011-04-06 2015-03-24 Densbits Technologies Ltd. System, method and computer program product for joint search of a read threshold and soft decoding
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9501392B1 (en) 2011-05-12 2016-11-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of a non-volatile memory module
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9396106B2 (en) 2011-05-12 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. Ltd. Advanced management of a non-volatile memory
US8667211B2 (en) 2011-06-01 2014-03-04 Densbits Technologies Ltd. System and method for managing a non-volatile memory
US9130596B2 (en) * 2011-06-29 2015-09-08 Seagate Technology Llc Multiuse data channel
US8588003B1 (en) 2011-08-01 2013-11-19 Densbits Technologies Ltd. System, method and computer program product for programming and for recovering from a power failure
US8553468B2 (en) 2011-09-21 2013-10-08 Densbits Technologies Ltd. System and method for managing erase operations in a non-volatile memory
US8456919B1 (en) * 2011-11-10 2013-06-04 Sandisk Technologies Inc. Method and apparatus to provide data including hard bit data and soft bit data to a rank modulation decoder
US8947941B2 (en) 2012-02-09 2015-02-03 Densbits Technologies Ltd. State responsive operations relating to flash memory cells
US8996788B2 (en) 2012-02-09 2015-03-31 Densbits Technologies Ltd. Configurable flash interface
US9026887B2 (en) 2012-03-15 2015-05-05 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8793556B1 (en) 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
US8996957B1 (en) 2012-05-22 2015-03-31 Pmc-Sierra, Inc. Systems and methods for initializing regions of a flash drive having diverse error correction coding (ECC) schemes
US9047214B1 (en) 2012-05-22 2015-06-02 Pmc-Sierra, Inc. System and method for tolerating a failed page in a flash device
US9183085B1 (en) 2012-05-22 2015-11-10 Pmc-Sierra, Inc. Systems and methods for adaptively selecting from among a plurality of error correction coding schemes in a flash drive for robustness and low latency
KR101991911B1 (ko) * 2012-05-22 2019-06-24 삼성전자주식회사 비트 상태 맵핑 동작을 수행하는 코드 변조 인코더와 코드 변조 디코더를 포함하는 메모리 컨트롤러, 그것을 포함하는 데이터 저장 장치 및 플래시 메모리 시스템
US8788910B1 (en) 2012-05-22 2014-07-22 Pmc-Sierra, Inc. Systems and methods for low latency, high reliability error correction in a flash drive
US8972824B1 (en) 2012-05-22 2015-03-03 Pmc-Sierra, Inc. Systems and methods for transparently varying error correction code strength in a flash drive
US9021333B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for recovering data from failed portions of a flash drive
US9021337B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for adaptively selecting among different error correction coding schemes in a flash drive
US9135106B2 (en) * 2012-05-22 2015-09-15 Hgst Technologies Santa Ana, Inc. Read level adjustment using soft information
US9176812B1 (en) 2012-05-22 2015-11-03 Pmc-Sierra, Inc. Systems and methods for storing data in page stripes of a flash drive
US9021336B1 (en) 2012-05-22 2015-04-28 Pmc-Sierra, Inc. Systems and methods for redundantly storing error correction codes in a flash drive with secondary parity information spread out across each page of a group of pages
US8838937B1 (en) 2012-05-23 2014-09-16 Densbits Technologies Ltd. Methods, systems and computer readable medium for writing and reading data
US8879325B1 (en) 2012-05-30 2014-11-04 Densbits Technologies Ltd. System, method and computer program product for processing read threshold information and for reading a flash memory module
US9042492B2 (en) * 2012-06-27 2015-05-26 Broadcom Corporation Staggered transmission and reception for reducing latency and memory
US9921954B1 (en) 2012-08-27 2018-03-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Method and system for split flash memory management between host and storage controller
US9577673B2 (en) 2012-11-08 2017-02-21 Micron Technology, Inc. Error correction methods and apparatuses using first and second decoders
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US10085017B2 (en) * 2012-11-29 2018-09-25 Advanced Micro Devices, Inc. Bandwidth saving architecture for scalable video coding spatial mode
KR101545512B1 (ko) * 2012-12-26 2015-08-24 성균관대학교산학협력단 반도체 메모리 장치, 검증 독출 방법 및 시스템
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8995302B1 (en) 2013-01-16 2015-03-31 Pmc-Sierra Us, Inc. Method and apparatus for translated routing in an interconnect switch
US9092353B1 (en) 2013-01-29 2015-07-28 Pmc-Sierra Us, Inc. Apparatus and method based on LDPC codes for adjusting a correctable raw bit error rate limit in a memory system
US9083492B2 (en) * 2013-02-15 2015-07-14 Cortina Systems, Inc. Apparatus and method for communicating data over a communication channel
US8990661B1 (en) 2013-03-05 2015-03-24 Pmc-Sierra Us, Inc. Layer specific attenuation factor LDPC decoder
US9813080B1 (en) 2013-03-05 2017-11-07 Microsemi Solutions (U.S.), Inc. Layer specific LDPC decoder
US10230396B1 (en) 2013-03-05 2019-03-12 Microsemi Solutions (Us), Inc. Method and apparatus for layer-specific LDPC decoding
US9026867B1 (en) 2013-03-15 2015-05-05 Pmc-Sierra, Inc. Systems and methods for adapting to changing characteristics of multi-level cells in solid-state memory
US9081701B1 (en) 2013-03-15 2015-07-14 Pmc-Sierra, Inc. Systems and methods for decoding data for solid-state memory
US9208018B1 (en) 2013-03-15 2015-12-08 Pmc-Sierra, Inc. Systems and methods for reclaiming memory for solid-state memory
US9009565B1 (en) 2013-03-15 2015-04-14 Pmc-Sierra, Inc. Systems and methods for mapping for solid-state memory
US9053012B1 (en) 2013-03-15 2015-06-09 Pmc-Sierra, Inc. Systems and methods for storing data for solid-state memory
US9450610B1 (en) 2013-03-15 2016-09-20 Microsemi Storage Solutions (Us), Inc. High quality log likelihood ratios determined using two-index look-up table
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9112653B2 (en) * 2013-06-19 2015-08-18 Mitsubishi Electric Research Laboratories, Inc. Method and system for modulating optical signals as high-dimensional lattice constellation points to increase tolerance to noise
US9313561B1 (en) * 2013-07-11 2016-04-12 Inphi Corporation Integrated driver redundancy for a silicon photonics device
US9444580B2 (en) 2013-08-06 2016-09-13 OptCTS, Inc. Optimized data transfer utilizing optimized code table signaling
US10523490B2 (en) 2013-08-06 2019-12-31 Agilepq, Inc. Authentication of a subscribed code table user utilizing optimized code table signaling
US9455799B2 (en) 2013-08-06 2016-09-27 OptCTS, Inc. Dynamic control of quality of service (QOS) using derived QOS measures
US9413491B1 (en) 2013-10-08 2016-08-09 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for multiple dimension decoding and encoding a message
US9786388B1 (en) 2013-10-09 2017-10-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9397706B1 (en) 2013-10-09 2016-07-19 Avago Technologies General Ip (Singapore) Pte. Ltd. System and method for irregular multiple dimension decoding and encoding
US9559725B1 (en) 2013-10-23 2017-01-31 Seagate Technology Llc Multi-strength reed-solomon outer code protection
US9171624B2 (en) 2013-12-20 2015-10-27 Apple Inc. Management of data storage in analog memory cells using a non-integer number of bits per cell
US9645763B2 (en) 2014-01-13 2017-05-09 Seagate Technology Llc Framework for balancing robustness and latency during collection of statistics from soft reads
US9536612B1 (en) 2014-01-23 2017-01-03 Avago Technologies General Ip (Singapore) Pte. Ltd Digital signaling processing for three dimensional flash memory arrays
US10120792B1 (en) 2014-01-29 2018-11-06 Avago Technologies General Ip (Singapore) Pte. Ltd. Programming an embedded flash storage device
US9685242B2 (en) * 2014-03-11 2017-06-20 Kabushiki Kaisha Toshiba Memory system
US9319178B2 (en) 2014-03-14 2016-04-19 Qualcomm Incorporated Method for using error correction codes with N factorial or CCI extension
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
TWI530959B (zh) 2014-06-17 2016-04-21 慧榮科技股份有限公司 用來控制一記憶裝置之方法以及記憶裝置與控制器
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
GB2527604A (en) 2014-06-27 2015-12-30 Ibm Data encoding in solid-state storage devices
EP3164942A1 (en) 2014-07-02 2017-05-10 Agilepq, Inc. Data recovery utilizing optimized code table signaling
US9972393B1 (en) 2014-07-03 2018-05-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Accelerating programming of a flash memory module
US9584159B1 (en) 2014-07-03 2017-02-28 Avago Technologies General Ip (Singapore) Pte. Ltd. Interleaved encoding
US9417804B2 (en) 2014-07-07 2016-08-16 Microsemi Storage Solutions (Us), Inc. System and method for memory block pool wear leveling
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US10067828B2 (en) * 2014-10-03 2018-09-04 Hitachi, Ltd. Memory controller and data control method
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
WO2016092245A1 (en) * 2014-12-11 2016-06-16 Toshiba Research Europe Limited Array codes
US9613664B2 (en) * 2015-01-20 2017-04-04 Samsung Electronics Co., Ltd. Method of operating memory device including multi-level memory cells
US10305515B1 (en) 2015-02-02 2019-05-28 Avago Technologies International Sales Pte. Limited System and method for encoding using multiple linear feedback shift registers
US10332613B1 (en) 2015-05-18 2019-06-25 Microsemi Solutions (Us), Inc. Nonvolatile memory system with retention monitor
US10628255B1 (en) 2015-06-11 2020-04-21 Avago Technologies International Sales Pte. Limited Multi-dimensional decoding
US9851921B1 (en) 2015-07-05 2017-12-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Flash memory chip processing
US9799405B1 (en) 2015-07-29 2017-10-24 Ip Gem Group, Llc Nonvolatile memory system with read circuit for performing reads using threshold voltage shift read instruction
US9577854B1 (en) * 2015-08-20 2017-02-21 Micron Technology, Inc. Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding
KR20170068681A (ko) * 2015-12-09 2017-06-20 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US9886214B2 (en) 2015-12-11 2018-02-06 Ip Gem Group, Llc Nonvolatile memory system with erase suspend circuit and method for erase suspend management
US9892794B2 (en) 2016-01-04 2018-02-13 Ip Gem Group, Llc Method and apparatus with program suspend using test mode
US9899092B2 (en) 2016-01-27 2018-02-20 Ip Gem Group, Llc Nonvolatile memory system with program step manager and method for program step management
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
EP3465974A1 (en) 2016-06-06 2019-04-10 Agilepq, Inc. Data conversion systems and methods
US10291263B2 (en) 2016-07-28 2019-05-14 Ip Gem Group, Llc Auto-learning log likelihood ratio
US10283215B2 (en) 2016-07-28 2019-05-07 Ip Gem Group, Llc Nonvolatile memory system with background reference positioning and local reference positioning
US10236915B2 (en) 2016-07-29 2019-03-19 Microsemi Solutions (U.S.), Inc. Variable T BCH encoding
US10175890B2 (en) 2016-12-22 2019-01-08 Western Digital Technologies, Inc. Non-binary ECCs for low latency read, fractional bits per cell of NAND flash
US10263639B2 (en) 2017-02-07 2019-04-16 Alibaba Group Holding Limited Managing soft information in high-capacity solid state drive
US10164817B2 (en) 2017-03-21 2018-12-25 Micron Technology, Inc. Methods and apparatuses for signal translation in a buffered memory
CN107705817B (zh) * 2017-09-22 2020-09-08 山东存储之翼电子科技有限公司 利用闪存通道特性的解码方法、装置及数据存储***
US10355893B2 (en) * 2017-10-02 2019-07-16 Micron Technology, Inc. Multiplexing distinct signals on a single pin of a memory device
US11403241B2 (en) 2017-10-02 2022-08-02 Micron Technology, Inc. Communicating data with stacked memory dies
US10725913B2 (en) 2017-10-02 2020-07-28 Micron Technology, Inc. Variable modulation scheme for memory device access or operation
US10446198B2 (en) 2017-10-02 2019-10-15 Micron Technology, Inc. Multiple concurrent modulation schemes in a memory system
US10304550B1 (en) 2017-11-29 2019-05-28 Sandisk Technologies Llc Sense amplifier with negative threshold sensing for non-volatile memory
US10411808B2 (en) * 2018-01-05 2019-09-10 Zte Corporation Probabilistically shaped multi-level pulse modulation with gray code mapping
DE102018112215B3 (de) * 2018-04-30 2019-07-25 Basler Ag Quantisiererbestimmung, computerlesbares Medium und Vorrichtung, die mindestens zwei Quantisierer implementiert
US10910044B2 (en) 2018-09-28 2021-02-02 Sandisk Technologies Llc State coding for fractional bits-per-cell memory
US10643695B1 (en) 2019-01-10 2020-05-05 Sandisk Technologies Llc Concurrent multi-state program verify for non-volatile memory
US11024392B1 (en) 2019-12-23 2021-06-01 Sandisk Technologies Llc Sense amplifier for bidirectional sensing of memory cells of a non-volatile memory
US11231870B1 (en) 2020-08-11 2022-01-25 Micron Technology, Inc. Memory sub-system retirement determination
US11556416B2 (en) 2021-05-05 2023-01-17 Apple Inc. Controlling memory readout reliability and throughput by adjusting distance between read thresholds
US11847342B2 (en) 2021-07-28 2023-12-19 Apple Inc. Efficient transfer of hard data and confidence levels in reading a nonvolatile memory
US11960776B2 (en) * 2022-06-02 2024-04-16 Micron Technology, Inc. Data protection for stacks of memory dice
US20240111618A1 (en) * 2022-09-29 2024-04-04 Advanced Micro Devices, Inc. Multi-level signal reception

Family Cites Families (61)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6011360B2 (ja) * 1981-12-15 1985-03-25 ケイディディ株式会社 音声符号化方式
US4675863A (en) * 1985-03-20 1987-06-23 International Mobile Machines Corp. Subscriber RF telephone system for providing multiple speech and/or data signals simultaneously over either a single or a plurality of RF channels
NL9100218A (nl) * 1991-02-07 1992-09-01 Philips Nv Encodeer/decodeer-schakeling, alsmede digitaal video-systeem voorzien van de schakeling.
US6222762B1 (en) * 1992-01-14 2001-04-24 Sandisk Corporation Multi-state memory
US5365530A (en) * 1992-05-12 1994-11-15 Mitsubishi Denki Kabushiki Kaisha Error-correction encoding and decoding system
JP3999822B2 (ja) * 1993-12-28 2007-10-31 株式会社東芝 記憶システム
JPH09251427A (ja) 1996-03-18 1997-09-22 Nec Home Electron Ltd フラッシュメモリの符号誤り訂正装置及び方法
KR100244864B1 (ko) * 1996-03-18 2000-03-02 니시무로 타이죠 불휘발성 반도체 기억 장치
JPH09284348A (ja) * 1996-04-15 1997-10-31 Ricoh Co Ltd 復号方法
JP3200012B2 (ja) * 1996-04-19 2001-08-20 株式会社東芝 記憶システム
US5815439A (en) 1996-04-30 1998-09-29 Agate Semiconductor, Inc. Stabilization circuits and techniques for storage and retrieval of single or multiple digital bits per memory cell
JPH1055687A (ja) * 1996-08-09 1998-02-24 Sony Corp 不揮発性半導体記憶装置
WO1998009219A1 (de) * 1996-08-30 1998-03-05 Siemens Aktiengesellschaft Fehlererkennung in einem speichersystem
KR100219842B1 (ko) * 1997-03-12 1999-09-01 서평원 이동 전화시스템
KR100246184B1 (ko) 1997-07-02 2000-03-15 김영환 리드-솔로몬 에러 정정 코드를 이용한 프레쉬 메모리 시스템의 운영 방법
JPH1173797A (ja) * 1997-08-27 1999-03-16 Sony Corp 記憶装置
JPH11136139A (ja) * 1997-11-04 1999-05-21 Hitachi Ltd 復号方法および装置、記憶装置およびこれを用いた情報機器、メモリチップ、記録符号、光通信システム
JPH11143787A (ja) * 1997-11-06 1999-05-28 Hitachi Ltd 記録再生装置
US6279133B1 (en) * 1997-12-31 2001-08-21 Kawasaki Steel Corporation Method and apparatus for significantly improving the reliability of multilevel memory architecture
JPH11213693A (ja) * 1998-01-27 1999-08-06 Sony Corp メモリ装置
US7083108B2 (en) * 1998-07-10 2006-08-01 Silverbrook Research Pty Ltd Redundantly encoded data structure for encoding a surface
US6397364B1 (en) * 1998-04-20 2002-05-28 Mordecai Barkan Digital data representation for multi-bit data storage and transmission
JP2000286719A (ja) * 1999-03-31 2000-10-13 Mitsubishi Electric Corp 誤り訂正システム
JP4074029B2 (ja) 1999-06-28 2008-04-09 株式会社東芝 フラッシュメモリ
US7356639B2 (en) * 2000-01-05 2008-04-08 Rambus Inc. Configurable width buffered module having a bypass circuit
US7404032B2 (en) * 2000-01-05 2008-07-22 Rambus Inc. Configurable width buffered module having switch elements
US7363422B2 (en) * 2000-01-05 2008-04-22 Rambus Inc. Configurable width buffered module
US7890846B2 (en) * 2000-01-06 2011-02-15 Supertalent Electronics, Inc. Electronic data flash card with Reed Solomon error detection and correction capability
US6715116B2 (en) * 2000-01-26 2004-03-30 Hewlett-Packard Company, L.P. Memory data verify operation
US6810502B2 (en) * 2000-01-28 2004-10-26 Conexant Systems, Inc. Iteractive decoder employing multiple external code error checks to lower the error floor
JP2001332982A (ja) * 2000-05-18 2001-11-30 Mitsubishi Electric Corp 光伝送システム、fec多重化装置、fec多重分離装置、および誤り訂正方法
JP2002100192A (ja) * 2000-09-22 2002-04-05 Toshiba Corp 不揮発性半導体メモリ
EP1329070A2 (de) * 2000-10-16 2003-07-23 Systemonic AG Verfahren zur erzeugung von soft-bit-informationen aus gray-codierten signalen
US20030126545A1 (en) * 2001-10-05 2003-07-03 Tan Alfred Keng Tiong Non-linear code-division multiple access technology with improved detection algorithms and error correction coding
JP3515519B2 (ja) * 2000-12-28 2004-04-05 三洋電機株式会社 データ受信装置
US6724658B2 (en) * 2001-01-15 2004-04-20 Stmicroelectronics S.R.L. Method and circuit for generating reference voltages for reading a multilevel memory cell
EP1399819A2 (en) 2001-04-24 2004-03-24 Koninklijke Philips Electronics N.V. Improved error correction scheme for use in flash memory allowing bit alterability
JP3578736B2 (ja) * 2001-08-07 2004-10-20 Necマイクロシステム株式会社 ブランチメトリック算出装置およびその算出方法
US7142612B2 (en) * 2001-11-16 2006-11-28 Rambus, Inc. Method and apparatus for multi-level signaling
KR100487417B1 (ko) * 2001-12-13 2005-05-03 주식회사 하이닉스반도체 불휘발성 강유전체 메모리 장치 및 그를 이용한멀티플-비트 데이타의 라이트 및 리드 방법
EP1355234B1 (en) * 2002-04-15 2016-06-29 Micron Technology, Inc. Use of an error correction circuit in program and erase verify procedures
US6751766B2 (en) 2002-05-20 2004-06-15 Sandisk Corporation Increasing the effectiveness of error correction codes and operating multi-level memory systems by using information about the quality of the stored data
TW575806B (en) 2002-07-15 2004-02-11 Silicon Motion Tech Inc A method for enhancing flash memory error correction capability and providing data encryption in the same time
JP4086583B2 (ja) * 2002-08-08 2008-05-14 シャープ株式会社 不揮発性半導体メモリ装置およびデータ書き込み制御方法
US20040083334A1 (en) * 2002-10-28 2004-04-29 Sandisk Corporation Method and apparatus for managing the integrity of data in non-volatile memory system
US7379505B2 (en) * 2003-02-13 2008-05-27 Broadcom Corporation Method and apparatus for performing trellis coded modulation of signals for transmission on a TDMA channel of a cable network
JP4188744B2 (ja) * 2003-04-08 2008-11-26 株式会社ルネサステクノロジ メモリカード
JP2005078721A (ja) * 2003-09-01 2005-03-24 Nippon Telegr & Teleph Corp <Ntt> 誤り訂正方法およびメモリ回路
US7012835B2 (en) 2003-10-03 2006-03-14 Sandisk Corporation Flash memory data correction and scrub techniques
KR100547146B1 (ko) * 2003-10-06 2006-01-26 삼성전자주식회사 영상처리장치 및 그 방법
JP4056488B2 (ja) * 2004-03-30 2008-03-05 エルピーダメモリ株式会社 半導体装置の試験方法及び製造方法
US7057939B2 (en) * 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
JP4135680B2 (ja) 2004-05-31 2008-08-20 ソニー株式会社 半導体記憶装置および信号処理システム
JP2006048783A (ja) * 2004-08-02 2006-02-16 Renesas Technology Corp 不揮発性メモリおよびメモリカード
JP4614732B2 (ja) * 2004-10-22 2011-01-19 パナソニック株式会社 デコード装置
JP2006134536A (ja) * 2004-11-09 2006-05-25 Matsushita Electric Ind Co Ltd 不揮発性半導体記憶装置およびその読み出し方法
US7457166B2 (en) * 2005-03-31 2008-11-25 Sandisk Corporation Erase voltage manipulation in non-volatile memory for controlled shifts in threshold voltage
US7408804B2 (en) * 2005-03-31 2008-08-05 Sandisk Corporation Systems for soft programming non-volatile memory utilizing individual verification and additional soft programming of subsets of memory cells
KR100680473B1 (ko) * 2005-04-11 2007-02-08 주식회사 하이닉스반도체 액세스 시간이 감소된 플래시 메모리 장치
US7366022B2 (en) * 2005-10-27 2008-04-29 Sandisk Corporation Apparatus for programming of multi-state non-volatile memory using smart verify
US7535766B2 (en) * 2006-10-13 2009-05-19 Sandisk Corporation Systems for partitioned soft programming in non-volatile memory

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517976A (ja) * 2011-05-12 2014-07-24 マイクロン テクノロジー, インク. メモリセルをプログラミングすること

Also Published As

Publication number Publication date
TWI455137B (zh) 2014-10-01
US8677215B2 (en) 2014-03-18
EP1987519A2 (en) 2008-11-05
US7844879B2 (en) 2010-11-30
KR20080098040A (ko) 2008-11-06
TW201126527A (en) 2011-08-01
TW200737213A (en) 2007-10-01
US20140201600A1 (en) 2014-07-17
US20150058702A1 (en) 2015-02-26
JP2009524176A (ja) 2009-06-25
TWI367492B (en) 2012-07-01
KR101410434B1 (ko) 2014-07-02
US8473812B2 (en) 2013-06-25
WO2007084749A3 (en) 2008-04-10
EP1987519B1 (en) 2015-08-19
US20070171730A1 (en) 2007-07-26
EP1987519A4 (en) 2009-07-29
US20110060969A1 (en) 2011-03-10
US20130290813A1 (en) 2013-10-31
WO2007084749A2 (en) 2007-07-26
US9053051B2 (en) 2015-06-09
US8856622B2 (en) 2014-10-07

Similar Documents

Publication Publication Date Title
JP5232013B2 (ja) フラッシュメモリにおける誤り訂正のための方法およびシステム
JP5232014B2 (ja) 符号化及び信号処理機能を有するフラッシュメモリ
US10355815B2 (en) Bitwise operations and apparatus in a multi-level system
JP5345201B2 (ja) 符号化および/または復号化メモリ装置および方法
TWI451430B (zh) 用於利用乘積碼糾正非揮發性記憶體中的錯誤的系統和方法
JP5723967B2 (ja) ソリッド・ステート・ストレージ・デバイスのsレベル・ストレージに入力データを記録するための方法、エンコーダ装置、およびソリッド・ステート・ストレージ・デバイス
JP2013524609A5 (ja)
CN101405811B (zh) 具有编码和信号处理的闪存
US8458557B1 (en) Interleaved error correction coding for channels with non-uniform signal-to-noise ratios
US8910013B1 (en) Methods and apparatus for providing multi-layered coding for memory devices

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100118

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100201

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120510

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120918

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121211

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130322

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

Free format text: PAYMENT UNTIL: 20160329

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

Ref document number: 5232013

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250