JP2011522301A - クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 - Google Patents

クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 Download PDF

Info

Publication number
JP2011522301A
JP2011522301A JP2010550838A JP2010550838A JP2011522301A JP 2011522301 A JP2011522301 A JP 2011522301A JP 2010550838 A JP2010550838 A JP 2010550838A JP 2010550838 A JP2010550838 A JP 2010550838A JP 2011522301 A JP2011522301 A JP 2011522301A
Authority
JP
Japan
Prior art keywords
pages
page
flash memory
memory device
cell flash
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.)
Pending
Application number
JP2010550838A
Other languages
English (en)
Other versions
JP2011522301A5 (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.)
Agere Systems LLC
Original Assignee
Agere Systems LLC
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 Agere Systems LLC filed Critical Agere Systems LLC
Publication of JP2011522301A publication Critical patent/JP2011522301A/ja
Publication of JP2011522301A5 publication Critical patent/JP2011522301A5/ja
Pending legal-status Critical Current

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/08Address circuits; Decoders; Word-line control circuits
    • 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
    • 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
    • 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
    • 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/5628Programming or writing circuits; Data input circuits
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Error Detection And Correction (AREA)

Abstract

クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置が提供される。フラッシュ・メモリ・デバイス内の複数のページにわたって単一セクタを記憶することができる。個々のページにおけるセクタの数、ならびに所与のページを符号化および復号化するために使用される符号および/または符号レート、および所与のページを復号化するために使用される復号器または復号化アルゴリズムのパー・ページ制御が提供される。また、マルチ・ページ・アクセス・スキームおよび語線レベル・アクセス・スキームが提供される。

Description

関連出願の相互参照
本出願は、参照により本明細書に組み込まれている、2008年3月11日に出願した米国仮出願第61/068934号の利益を主張するものである。
本発明は一般に多重レベル・セル・フラッシュ・メモリ・デバイスに関し、より詳細には、このような多重レベル・セル・デバイスを符号化し、かつ、このような多重レベル・セル・デバイスにアクセスするための技法に関する。
フラッシュ・メモリ・デバイスなどの多くのメモリ・デバイスには、データを記憶するためのアナログ・メモリ・セルが使用されている。個々のメモリ・セルは、記憶値とも呼ばれている、電荷または電圧などのアナログ値を記憶する。この記憶値は、セル内に記憶された情報を表す。フラッシュ・メモリ・デバイスの場合、例えば、個々のアナログ・メモリ・セルは、通常、特定の電圧を記憶する。個々のセルに対する可能アナログ値の範囲は、通常、複数の閾値領域に分割され、個々の領域は、1つまたは複数のデータ・ビット値に対応している。データは、所望の1つまたは複数のビットに対応する公称アナログ値を書き込むことによってアナログ・メモリ・セルに書き込まれる。
単一レベル・セル(SLC)フラッシュ・メモリ・デバイスは、例えば、1つのメモリ・セル毎に1つのビットを記憶する(つまり2つの可能メモリ状態)。一方、多重レベル・セル(MLC)フラッシュ・メモリ・デバイスは、1つのメモリ・セル毎に複数のビットを記憶する(つまり個々のセルは4つ以上のプログラム可能状態を有している)。多重レベル・セル・フラッシュ・メモリ・デバイスの場合、単に電流または電圧が存在しているか、あるいは存在していないかだけではなく、電流または電圧の量が検出される。多重レベル・セル・デバイスの場合、少なくとも3つの閾値レベルを使用して4つ以上の異なる閾値状態が定義される。したがって個々のセルの動作範囲は、多数の状態に分割されており、また、個々の状態の範囲は、単一レベル・セル・デバイスの場合より狭い。したがって、多重レベル・セル・デバイスにおける任意の単一のビットの信頼性は、単一レベル・セル・デバイスにおける信頼性より低い。多重レベル・セル(MLC)フラッシュ・メモリ・デバイスについてのより詳細な説明については、例えば、それぞれ参照により本明細書に組み込まれている、K.Takeuchiら、「A 56−nm CMOS 99−mm 8−Gb Multi−Level NAND Flash Memory with 10−MB/s Program Throughput」、IEEEE Journal of Solid−State Circuits、Vol.42、No.1、219〜232頁(2007)、および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)を参照されたい。
既存のフラッシュ・デバイスには、ページ・レベル・アクセス技法が使用されており、ページは、フラッシュ・メモリ・デバイスに書き込むことができ、あるいはフラッシュ・メモリ・デバイスから読み出すことができる最小単位である。ページは、通常、互いに独立して書き込まれ、かつ、読み出される。さらに、既存のフラッシュ・メモリには、通常、すべてのページを符号化(および復号化)するために同じ符号および符号レートが使用されている。オペレーティング・システムには、通常、例えば512バイトのユーザ情報からなるデータ・セクタが使用されている。通常、ユーザ・データ長は、セクタ・サイズの倍数である。ある典型的なフラッシュ・メモリ構成では、1つのページには、8個のセクタのユーザ情報が含まれている。したがって、フラッシュ・コントローラは、フラッシュ・メモリ・デバイスに個々のページを書き込むために、ページ・レベル・アクセス技法を使用して8個のセクタの情報を結合している。フラッシュ・メモリ・デバイスからセクタが読み出される毎に、所望のセクタを含んだすべてのページが読み出される。
米国仮出願第61/068934号 米国特許第6522580号
K.Takeuchiら、「A 56−nm CMOS 99−mm2 8−Gb Multi−Level NAND Flash Memory with 10−MB/s Program Throughput」、IEEEE Journal of Solid−State Circuits、Vol.42、No.1、219〜232頁(2007) 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) U.Wachsmannら、「Multilevel Codes:Theoretical Concepts and Practical Design Rules」、IEEE Trans.on Information Theory、Vol.45、No.5、1361〜91頁(1999) S.LinおよびD.Costello、「Error Control Coding:Fundamentals and Application, Second Edition」 Pearson Prentice Hall (2004)
例えば、より低い誤り率を達成し、あるいは記憶容量を改善するためには、多重レベル・セル(MLC)フラッシュ・メモリ・デバイスのための改良型多重レベル符号化および読出し/書込みアクセス技法が必要である。さらに、フラッシュ メモリ・デバイス内の複数のページにわたって単一のセクタを記憶することができる多重レベル・セル・フラッシュ・メモリ・デバイスのための改良型読出し/書込みアクセス技法が必要である。さらに、個々のページ内のセクタの数、ならびに符号化および復号化のために使用される符号および/または符号レートのパー・ページ制御を提供する改良型読出し/書込みアクセス技法が必要である。多重レベル符号についてのより詳細な説明については、例えば、参照により本明細書に組み込まれている、U.Wachsmannら、「Multilevel Codes:Theoretical Concepts and Practical Design Rules」、IEEE Trans.on Information Theory、Vol.45、No.5、1361〜91頁(1999)を参照されたい。
一般に、クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置が提供される。本発明の様々な態様によれば、複数のセルを有する多重レベル・セル・フラッシュ・メモリ・デバイスにデータが記憶され、多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルは、複数のビットを記憶することができ、複数のビットの各々は、異なるページからのビットである。開示されるデータ記憶方法の1つには、複数のページを蓄積するステップと、複数のページを単一のブロックとして符号化するステップと、単一のブロックを多重レベル・セル・フラッシュ・メモリ・デバイスに記憶するステップが含まれている。さらに、記憶された単一のブロックを復号化し、複数のページを提供することも可能である。
他の記憶方法には、多重レベル・セル・フラッシュ・メモリ・デバイスに書き込むべき現在のページのページ・タイプを決定するステップと、決定されたページ・タイプに関連する符号および符号レートのうちの少なくとも1つを決定するステップと、決定された少なくとも1つの符号および符号レートを使用して現在のページを符号化するステップと、符号化された現在のページを多重レベル・セル・フラッシュ・メモリ・デバイスに記憶するステップが含まれている。ページは、多重レベル・セル・フラッシュ・メモリ・デバイスの中に読み出すことができ、また、識別されたページに関連する少なくとも1つの符号、符号レート、復号器または復号化アルゴリズムを使用して復号化することができる。
さらに他の記憶方法には、多重レベル・セル・フラッシュ・メモリ・デバイスに書き込むべき現在のページのページ・タイプを決定するステップと、決定されたページ・タイプに関連するページ当たりのセクタの数を決定するステップと、決定されたセクタの数を蓄積するステップと、蓄積されたセクタを符号化するステップと、蓄積されたセクタを多重レベル・セル・フラッシュ・メモリ・デバイスに記憶するステップが含まれている。少なくとも1つのセクタを読み出す要求を受け取ると、要求されたセクタを有する多重レベル・セル・フラッシュ・メモリ・デバイス内の1つまたは複数のページを識別することができ、また、識別された1つまたは複数のページは、ページ・タイプ・アクセス・スキーム、マルチ・ページ・アクセス・スキームおよび語線レベル・アクセス・スキームのうちの1つまたは複数を使用して読み出すことができる。読み出された、識別された1つまたは複数のページは、識別された1つまたは複数のページに関連する符号、符号レート、復号器および復号化アルゴリズムのうちの少なくとも1つを使用して復号化することができ、また、メモリ・マップを使用して、復号化された1つまたは複数のページから、要求されたセクタを得ることができる。
他の記憶方法には、第1のセットの論理ページを記憶するステップであって、第1のセットの論理ページ内の個々の論理ページの符号化サイズが複数の物理ページのサイズより小さいステップと、第2のセットの論理ページを記憶するステップであって、第2のセットの論理ページ内の個々の論理ページの符号化サイズが複数の物理ページのサイズより大きく、かつ、第2のセットの論理ページの少なくとも一部が複数の物理ページのスピルオーバ領域に記憶されるステップが含まれている。
本発明の他の態様によれば、多重レベル・セル・フラッシュ・メモリ・デバイスが開示される。多重レベル・セル・フラッシュ・メモリ・デバイスは、複数のセルであって、多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、複数のビットの各々が異なるページからのビットである複数のセルと、それぞれ複数のページを備えた複数の語線であって、複数のページの各々が、複数のページの各々の非符号化長が実質的に同様の長さになり、また、複数のページの各々の符号化長が異なるように関連する符号レートを有することができる複数の語線とを備えている。
本発明の他の態様によれば、多重レベル・セル・フラッシュ・メモリ・デバイスが提供される。多重レベル・セル・フラッシュ・メモリ・デバイスは、複数のセルであって、多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、複数のビットの各々が異なるページからのビットである複数のセルと、それぞれ複数のページを備えた複数の語線であって、複数のページの各々が、複数のページの各々の非符号化長が異なり、また、複数のページの各々の符号化長が実質的に同様の長さになるように関連する符号レートを有することができる複数の語線とを備えている。
本発明のさらに他の態様によれば、多重レベル・セル・フラッシュ・メモリ・デバイスが提供される。多重レベル・セル・フラッシュ・メモリ・デバイスは、複数のセルであって、多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、複数のビットの各々が異なるページからのビットである複数のセルと、それぞれ複数のページを備えた複数の語線であって、少なくとも1つのセクタが複数のページにまたがることができる複数の語線とを備えている。
本発明ならびに本発明の他の特徴および利点については、以下の詳細な説明および図面を参照することによってより完全に理解されよう。
本発明によるフラッシュ・メモリ・コントローラとフラッシュ・メモリ・デバイスの間の相互作用を示す略ブロック図である。 図1の例示的多重レベル・セル・フラッシュ・メモリのための一例示的閾値電圧分布を示す図である。 多重レベル・セル(MLC)フラッシュ・メモリ・デバイス内のフラッシュ・セル・アレイを示す図である。 本発明の一態様による、図3のフラッシュ・セル・アレイのための一例示的符号器を示す図である。 本発明の特徴を組み込んだ語線レベル・アクセス・スキームのための書込みプロセスの一例示的実施態様を記述した流れ図である。 本発明の特徴を組み込んだ語線レベル・アクセス・スキームのための読出しプロセスの一例示的実施態様を記述した流れ図である。 語線内の個々のページが異なる符号レートで同じ長さに符号化される、本発明の特徴を組み込んだ可変符号レート符号化スキームを示す図である。 個々のページが整数個のセクタを備えている場合における、フラッシュ・メモリ130に書き込むための可変符号レート書込みプロセスの一例示的実施態様を記述した流れ図である。 個々のページが整数個のセクタを備えている場合における、フラッシュ・メモリ130から読み出すための可変符号レート読出しプロセスの一例示的実施態様を記述した流れ図である。 個々のページが非整数個のセクタを備え、また、所与のセクタが複数のページにまたがることができる場合における、フラッシュ・メモリに書き込むための可変符号レート書込みプロセスの一例示的実施態様を記述した流れ図である。 1つまたは複数のページが非整数個のセクタを備えることができ、また、所与のセクタが複数のページにまたがることができる場合における、フラッシュ・メモリから読み出すための可変符号レート・プロセスの一例示的実施態様を記述した流れ図である。 通常のセルおよびスピルオーバ・セルを備えたマルチ・ページ セル語線を示す図である。 本発明の特徴を組み込んだ多段復号器の略ブロック図である。
本発明によれば、多重レベル・セル(MLC)フラッシュ・メモリ・デバイスのための多重レベル符号化および読出し/書込みアクセス技法が提供される。本明細書において使用されているように、多重レベル・セル・フラッシュ・メモリは、個々のメモリ・セルが複数のビットを記憶するメモリを備えている。通常、1つのフラッシュ・セル内に記憶されている複数のビットは、異なるページに属している。図1は、本発明によるフラッシュ・メモリ・コントローラ100とフラッシュ・メモリ・デバイス120の間の相互作用を示す略ブロック図である。図1に示されているように、ユーザ・データは、以下で説明する本発明の態様によるフラッシュ・メモリ130に書き込むことができ、かつ、フラッシュ・メモリ130から読み出すことができる。図1に示されているように、入力ビット・ストリームは、データ蓄積、集約、蓄積、収集、分割、またはインタリービングなどの潜在的に他のタスクを実行するデータ管理ブロック110によって処理される。次に、集約され、あるいは分割されたデータが符号器140によって符号化され、例えば冗長ビットが追加される。本発明のすべての実施形態では、系統的符号および非系統的符号の両方を使用することができる。
次に、符号化されたデータがマッパ150によって処理され、マッパ150は、符号化された1つまたは複数のビット・ストリームをフラッシュ・メモリ130をプログラムするためのプログラム済み電圧レベルにマップする。フラッシュ・メモリ130からデータが読み出され、読み出された電圧レベルを1つまたは複数のビット・ストリームにデマップするデマッパ160によって処理され、この1つまたは複数のビット・ストリームが復号器170によって復号化される。通常、符号器140およびマッパ150は、ユーザ・データのストリームを、フラッシュ・メモリ130のセルの中にプログラムしなければならない状態または電圧レベルのストリームに変換する。同様に、デマッパ160および復号器170は、フラッシュ・メモリ130から読み出されたセル状態または電圧レベルのストリームを、フラッシュ・メモリ130に記憶されていたユーザ・データのストリームに変換する。データ管理ブロック110は、符号器140の出力部分またはデマッパ160の出力部分で、符号化されたデータ・ストリームに追加データ集約、蓄積、収集、分割、インタリービングまたは他のタスクを適用することができる。
以下、図4および図13に関連して、データを符号化し、かつ、復号化するための本発明による技法についてさらに説明する。以下、例えば図5および6に関連して、フラッシュ・コントローラ100のための適切な技法についてさらに説明する。フラッシュ・メモリ130は、多重レベルNANDフラッシュ・メモリまたは多重レベル位相変化メモリなどの多重レベル・セル・フラッシュ・メモリとして具体化することができる。通常、図2および3に関連して以下でさらに説明するように、フラッシュ・メモリ130には、少なくとも1つのフラッシュ・セル・アレイ、ならびに読出しおよび書込み回路が含まれている。
多重レベル・セル・フラッシュ・メモリ
多重レベル・セル・フラッシュ・メモリの場合、通常、閾値検出器を使用して、特定のセルに関連する電圧値が定義済みメモリ状態に変換される。図2は、参照により本明細書に組み込まれている米国特許第6522580号の教示に基づく、図1の例示的多重レベル・セル・フラッシュ・メモリ130のための一例示的閾値電圧分布を示したものである。図2に示されている例示的実施形態では、個々の記憶素子には、2つのビットのデータを個々のメモリ・セルに記憶するために4つの可能データ状態が使用されている。図2には、個々のピークが1つの状態に対応している4つのピーク210〜213が示されている。多重レベル・セル・フラッシュ・デバイスの場合、セルに2つのビットを記憶するために、閾値電圧分布グラフ200の異なるピーク210〜213が使用される。
閾値電圧分布グラフ200のピーク210〜213には、それぞれ2進値11、01、00および10のラベルが振られている。したがってセルが第1の状態210にある場合、それは、下位ビットが「1」であり、また、上位ビットが「1」であることを表している(これは、通常、セルのプログラムされていない初期状態または消去状態である)。同様に、セルが第2の状態211にある場合、それは、下位ビットが「1」であり、また、上位ビットが「0」であることを表している。セルが第3の状態212にある場合、それは、下位ビットが「0」であり、また、上位ビットが「0」であることを表している。最後に、セルが第4の状態213にある場合、それは、下位ビットが「0」であり、また、上位ビットが「1」であることを表している。
閾値電圧分布210は、0ボルト未満の負の閾値電圧レベルを有する消去状態(「11」データ状態)にあるアレイ内のセルの閾値レベルVの分布を表している。それぞれ「01」および「00」ユーザ・データを記憶しているメモリ・セルの閾値電圧分布211および212は、それぞれ0ボルトと1ボルトの間、および1ボルトと2ボルトの間になるように示されている。閾値電圧分布213は、閾値電圧レベルがリード・パス電圧の2ボルトと4.5ボルトの間に設定された「10」データ状態にプログラムされているセルの分布を示している。
以下でさらに説明するように、単一のメモリ・セルに記憶されている2つのビットの各々は、異なるページからのビットである。言い換えると、個々のメモリ・セルに記憶されている2つのビットの個々のビットは、異なるページ・アドレスを担っている。図2に示されている右側のビットは、下位ページ・アドレスが入力されるとアクセスされる。左側のビットは、上位ページ・アドレスが入力されるとアクセスされる。
フラッシュ・メモリは、通常、複数のブロックで構成されており、個々のブロックは、フラッシュ・セル・アレイとして実施されている。図3は、多重レベル・セル(MLC)フラッシュ・メモリ・デバイス130内のフラッシュ・セル・アレイ300を示したものである。図3に示されているように、フラッシュ・セル・アレイ300は、フラッシュ・セルc当たり複数のビットを記憶している。図3には、1つのブロックに対するフラッシュ・セル・アレイ・アーキテクチャが示されており、個々の例示的セルは、通常、3つのビットを記憶する浮遊ゲート・トランジスタに対応している。例示的セル・アレイ300は、m本の語線およびn本のビット線からなっている。通常、マルチ・ページ・セル・フラッシュ・メモリの場合、個々のページはセクタ・サイズの倍数であり、また、単一セル内のビットは、異なるページに属している。図3の例では、個々のセルの3つのビットは、3つの異なるページに対応しており、また、個々の語線は、3つのページを記憶している。以下の説明では、ページ0、1および2は、下位ページ・レベル、中位ページ・レベルおよび上位ページ・レベルと呼ばれている。さらに、フラッシュ・セル・アレイ300内のページ310などの個々のページは、通常、8個のセクタなどの固定数のセクタを備えている。本発明の一態様によれば、個々のページは、セクタ・サイズの非整数倍であってもよい。
フラッシュ・セル・アレイは、さらに、偶数ページおよび奇数ページに分割することができ、例えば偶数番号のセル(図3のセル2および4など)は偶数ページに対応しており、また、奇数番号のセル(図3のセル1および3など)は奇数ページに対応している。この場合、ページ(ページ0など)は、偶数ページ(偶数ページ0)および奇数ページ(奇数ページ0)を含むことになる。偶数ページおよび奇数ページの詳細な説明については、例えば、参照により本明細書に組み込まれている、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)を参照されたい。本発明のすべての態様は、偶数/奇数ページ分割または他のフラッシュ・セル・アレイ分割を有するフラッシュ・セル・アレイに適用することができる。以下では、ページは、図3に示されているページもしくは偶数ページまたは奇数ページのいずれかを表している。
ジョイント符号化またはパー・ページ符号化
本発明の一態様によれば、語線内の個々のページは、任意選択で、異なる符号レートまたは異なるタイプの符号(または両方)を使用して符号化することができる。例えば、Low Density Parity Check Codes(LDPC)、Bose−Chaudhuri−Hocquenghem(BCH)およびReed Solomon(RS)符号を使用することができる。一実施形態では、より高い信頼性を必要とするページには、より強力な符号またはより低い符号レートを使用することができる。例えば、より大きいページ番号は、場合によっては誤りを生じる可能性がより高い。したがってこれらのページは、これらのページの性能を改善する符号または符号レート(または両方)を使用して符号化することができる。誤り率がより高い上位ページには、より強力な誤り修正符号(より低いレートの符号およびLDPC符号など)を使用することができ、また、誤り率がより低い下位ページには、微力な誤り修正符号(より高いレートの符号および代数符号など)を使用することができる。
したがって、本発明によれば、多重レベル・フラッシュ・セル・アレイ300の語線内の個々のページの符号化パラメータを独自に確立することができる。例えば、本発明の一実施形態によれば、(i)ページ当たりのセクタの数、(ii)符号、(iii)ページを分割および/または符号化するために使用される符号レート、および/または(iv)ページを復号化するために使用される復号器または復号器アルゴリズムのパー・ページ制御が可能である。
図4に関連して以下でさらに説明するように、個々の語線内のデータのj個のページ(jはフラッシュ・セル・アレイ300内の語線当たりのページ数である)は、任意選択で、最大j個の固有符号および/または符号レートを有する独立した符号化スキームを使用した符号器140によって符号化することができる。例えば、図4に示されている実施形態では、個々のページは、任意選択で、固有の符号および符号レートを使用することができる。ページは、例えば、図3に示されている語線内の3つのページを参照することができ、あるいは偶数ページおよび奇数ページを有する3ビット/セル・フラッシュ・セル・アレイ内の6個のページ(3つは偶数ページであり、また、3つは奇数ページである)を参照することができる。
図1および5に関連して以下で説明する本発明の他の態様は、ジョイント符号化スキームをサポートしており、単一の符号および符号レートを有する符号器140によって、個々の語線内のデータのj個のページを符号化することができる。
ページ・アクセス・スキーム、マルチ・ページ・アクセス・スキームおよび語線レベル・アクセス・スキーム
本発明の他の態様によれば、ページ・レベル、マルチ・ページ・レベルまたは語線レベルに基づいてマルチ・ページ・セル・フラッシュ・メモリ130にアクセスすることができる。上で既に示したように、既存のフラッシュ・デバイスには、ページ・レベル・アクセス技法が使用されており、ページは、フラッシュ・メモリ・デバイスに書き込むことができ、あるいはフラッシュ・メモリ・デバイスから読み出すことができる最小単位である。さらに、本発明によれば、(i)フラッシュ・メモリ・デバイスを符号化し、フラッシュ・メモリ・デバイスに書き込み、あるいはフラッシュ・メモリ・デバイスから読み出すための最小単位として複数のページを使用することができるマルチ・ページ・レベル・アクセス技法、および(ii)語線が、データを符号化し、読み出し、あるいは書き込むための最小データ単位である語線レベル・アクセス技法が可能である。本発明は、この方法で、ページの境界を越えた符号語の符号化を可能にし、あるいは語線内における異なるページのための可変符号レートを可能にすることによって、より優れた柔軟性および有効性を提供している。さらに、本発明によれば、複数のページをまとめて符号化するLDPC符号化技法などの改良型符号化スキームおよび復号化スキームを使用することができる。
以下でさらに説明するように、データ管理ブロック110は、ページ・レベル・アクセス・スキーム、マルチ・ページ・アクセス・スキームまたは語線レベル・アクセス・スキームが使用されているかどうかに基づいて、入力ビット・ストリームからデータを蓄積している。マルチ・ページ・アクセス・スキームまたは語線レベル・アクセス・スキームの場合、データ管理および符号化は、複数のページまたはすべての語線に対して実施することができるが、これらの複数のページまたは語線は、知られている技法を使用してページを逐次フラッシュ・メモリに書き込むことによって物理的に書き込むことができる。
語線内のページの符号化/復号化
図4は、本発明の一態様による、図3のマルチ・ページ・セル・フラッシュ・アレイ300のための一例示的符号器400を示したものである。上で既に示したように、例示的フラッシュ・メモリ130内の個々のページは、独立して符号化することができる。図4に示されているように、例示的語線内の3つの例示的ページに対して、3つの全く異なる符号器420−1ないし420−3が使用されている。これらの3つの符号器420−1ないし420−3は、符号化のタイプ(例えばLDPC、BCHおよびRS)または符号レートあるいはその両方の点で異なっていてもよい。上で示したように、下位ページ・レベルは、中位ページ・レベルおよび上位ページ・レベルより高い符号レートで符号化することができる(その逆についても同様である)。一変形形態では、十分な信頼性を有するいくつかのページ・レベルは、全く符号化することができない。図4に示されているように、以下でさらに説明するデータ管理ユニット110内でのデータ分割の後、フラッシュ・セル・アレイ300の適切なセルに記憶される前に、1つのセル内の個々のビットが個別の符号器420−1ないし420−3によって符号化される。
本発明の他の態様によれば、語線内の個々のページは、LDPC、BCH、RS、ハード・デシジョン復号器またはソフト・デシジョン復号器などの異なるタイプの復号器を使用して復号化することができる。例えば、語線内の誤り率がより低いページは、ハード・デシジョン復号器を使用して復号化することができ、一方、誤り率がより高いページは、ソフト・デシジョン復号器を使用して復号化することができる。ハード・デシジョン復号器は、通常、フラッシュ・セル・アレイ300から読み出される、符号化されたビットを使用することになる。ソフト・デシジョン復号器は、ソフト情報、例えばフラッシュ・セル・アレイ300内のセルから読み出される電圧値を使用することになる。
他の変形形態では、復号器が反復復号化を実施すると、個々のページの復号器は、異なる反復回数を実施することができる。例えば、語線内の誤り率がより高いページは、より多くの反復回数を使用して復号化することができ、一方、誤り率がより低いページは、誤り率がより高いページより少ない反復回数を使用して復号化することができる。さらに、図13に関連して以下でさらに説明するように、本発明の他の態様は、語線内の複数のページを復号化しており、例えば、総合誤り率を改善するために、1つのページの復号器は、他のページの復号器に決定を供給している。ハード・デシジョン復号器およびソフト・デシジョン復号器、反復復号化、LDPC符号化および他の符号化技法の説明については、例えば、参照により本明細書に組み込まれている、S.LinおよびD.Costello、「Error Control Coding:Fundamentals and Applications, Second Edition」 Pearson Prentice Hall (2004)を参照されたい。
図5は、本発明の特徴を組み込んだ語線レベル・アクセス・スキームのための書込みプロセス500の一例示的実施態様を記述した流れ図である。図5に示されているように、例示的語線レベル書込みプロセス500は、最初に、ステップ510の間、j×k個のセクタを収集する。jは、フラッシュ・セル・アレイ300内の語線当たりのページ数であり、kはページ当たりのセクタの数である。ステップ510の間、1つまたは複数のページには、場合によっては、データの3つのすべてのページが有効になるまでの間、例えばデータ管理ブロック110内のメモリ回路を使用したバッファリングが必要であることに留意されたい(図3の例示的3−ビット−パー−セル実施形態の場合)。次に、語線レベル書込みプロセス500は、ステップ520の間、データのj個のページを符号化ブロックに符号化する。符号化ブロックは、任意選択で、ステップ530の間、j個のページに分割される。次に、ステップ540の間、j個のページがフラッシュ・セル・アレイ300の中にプログラムされる。
本発明の様々な実施形態では、図1に示されている符号器140を使用することにより、単一の符号および符号レートを使用して、データのj個のページをまとめて符号化することができ、あるいは図4に示されている符号器420を使用することにより、(個々のページ毎に独自の符号および符号レートを有する)最大j個の符号および符号レートを使用して独立して符号化することができることに留意されたい。さらに、ジョイント符号化スキームの場合、ステップ530の間の分割は、通常、図5に示されているように、ステップ520の符号化の後に実施され、一方、独立符号化スキームの場合、データは、通常、ステップ520の符号化に先立って複数のページに分割されることに留意されたい。
図6は、本発明の特徴を組み込んだ語線レベル・アクセス・スキームのための読出しプロセス600の一例示的実施態様を記述した流れ図である。図6に示されているように、例示的語線レベル読出しプロセス600は、最初に、ステップ610の間、少なくとも1つのセクタを読み出す要求を受け取る。次に、語線レベル読出しプロセス600は、ステップ620の間、知られているマッピング技法を使用して、要求されたセクタを有する語線を識別する。語線レベル読出しプロセス600は、ステップ630の間、例えば語線に記憶されているすべてのページを連続的に読み出すことによって、識別された語線を読み出し、また、ステップ640の間、最大j個のページを得るために、語線から読み出されたデータのブロックを復号化する。本発明の他の代替実施形態では、ステップ630の間、語線内のセルに対する電圧値などのソフト情報が、語線レベル読出しのための語線から読み出され、読み出されたソフト情報に基づいて、ステップ640の間、最大j個のページを復号化することができる。十分なソフト情報を有することにより、語線内のすべてのページを復号化することができる。本発明の様々な実施形態では、語線から読み出されたデータのブロックは、ステップ520の間に如何にしてデータがフラッシュ・メモリに書き込まれたかに基づいて、単一の符号および符号レートを使用して復号化することができ、あるいは(個々のページ毎に独自の符号および符号レートを有する)最大j個の符号および符号レートを使用して独立して復号化することができることに留意されたい。最後に、語線レベル読出しプロセス600は、ステップ650の間、書込みプロセス500の間に生成されたメモリ・マップを使用して、要求されたセクタを復号化されたページから獲得する。
可変符号レート多重レベル・セル
上で既に示したように、本発明の一態様によれば、個々のページ毎に異なる符号および/または符号レートを使用して語線内の個々のページを独立して符号化および復号化することができる。一変形形態では、語線内の個々のページは、異なる符号レートを使用して符号化することができる。図7は、語線内の個々のページが異なる符号レートで同じ長さに符号化される、本発明の特徴を組み込んだ可変符号レート符号化スキーム700を示したものである。図7の例示的実施態様に示されているように、下位ページおよび中位ページ711、712は、同じ符号レートを使用して符号化され、また、同じ量のユーザ・データ720およびパリティ・ビット730を備えている。上位ページ713は、ページ711、712と比較すると、より低い符号レートを使用して符号化され、したがってより少ないユーザ・データ720を符号化し、利用可能なより多くの数のパリティ・ビット730を有している。例えば、符号化された下位ページおよび中位ページ711、712は、7個のセクタを備えることができ、一方、符号化された上位ページ713は、6個のセクタを備えることができる。以下、図8ないし11に関連して、図7の可変符号レート符号化スキーム700をサポートするための適切な書込みプロセスおよび読出しプロセスについてさらに説明する。
したがって、本発明によれば、語線内のページが同じ符号化長を有し、かつ、異なる非符号化長を有するように符号レートを選択することができる。以下で説明するように、コントローラ100は、受け取ったデータ・ストリームをページのユーザ・データ・サイズに基づいて、また、プログラミングのために利用することができるフラッシュ・メモリ内の1つまたは複数のページ・タイプ(つまり符号レートおよびページ当たりのセクタの数)に基づいて分割することができる。ページ位置は、フォーマット効率、読出し速度および書込み速度の点でシステム性能が最大化されるように選択することができる。
図8および9は、それぞれ、個々のページが整数個のセクタを備えている場合における、フラッシュ・メモリ130に書き込むための可変符号レート・プロセスおよびフラッシュ・メモリ130から読み出すための可変符号レート・プロセスを示したものである。図10および11は、それぞれ、1つまたは複数のページが非整数個のセクタを備えることができ、また、所与のセクタが複数のページにまたがることができる場合における、フラッシュ・メモリ130に書き込むための可変符号レート・プロセスおよびフラッシュ・メモリ130から読み出すための可変符号レート・プロセスを示したものである。
図8は、個々のページが整数個のセクタを備えている場合における、フラッシュ・メモリ130に書き込むための可変符号レート書込みプロセス800の一例示的実施態様を記述した流れ図である。通常、書込みプロセス800には、符号化されているページ・タイプ(つまりページ・レベル)に基づいてユーザ・データを分割するためのページ・レベル・アクセス・スキームおよび新規な技法が使用されている。さらに、書込みプロセス800には、同じく、識別されたページ・タイプに関連する適切な符号レートが使用されている。例えば、一例示的実施態様では、語線の下位ページおよび中位ページは、ユーザ・データの8個のセクタを備えることができ、一方、上位ページは、ユーザ・データの7個のセクタを備えることができる。したがって、下位ページまたは中位ページがプログラムされている場合、ユーザ・データの8個のセクタを蓄積しなければならず、一方、上位ページがプログラムされている場合、ユーザ・データの7個のセクタを蓄積しなければならない。
図8に示されているように、書込みプロセス800は、最初に、ステップ810の間、書き込まれている現在のページのページ・タイプ(つまりページ・レベルおよび/または偶数ページまたは奇数ページ)を決定し、また、ステップ820の間、ページ当たりのセクタの数、および決定されたページ・タイプに対する符号および/または符号レートを決定する。書込みプロセス800は、ステップ830の間、現在のページ・タイプに対して、決定された数のセクタを蓄積する。ステップ840の間、蓄積されたデータが現在のページに対する符号および符号レートを使用して符号化され、また、ステップ850の間、フラッシュ・セル・アレイ300にページが書き込まれる。
図9は、個々のページが整数個のセクタを備えている場合における、フラッシュ・メモリ130から読み出すための可変符号レート読出しプロセス900の一例示的実施態様を記述した流れ図である。通常、読出しプロセス900にはページ・レベル・アクセス・スキームが使用されている。図9に示されているように、例示的可変符号レート・ページ・レベル読出しプロセス900は、最初に、ステップ910の間、少なくとも1つのセクタを読み出す要求を受け取る。次に、可変符号レート・ページ・レベル読出しプロセス900は、ステップ920の間、要求されたセクタを有するページを識別する。可変符号レート・ページ・レベル読出しプロセス900は、ステップ930の間、識別されたページを読み出し、次に、ステップ940の間、現在のページ・タイプに対する適切な符号および/または符号レートを使用してページを復号化する。ステップ950の間、要求されたセクタが、メモリ・マップを使用して、復号化されたページから獲得される。
上で既に示したように、図10および11は、それぞれ、1つまたは複数のページが非整数個のセクタを備えることができ、また、所与のセクタが複数のページにまたがることができる場合における、フラッシュ・メモリ130に書き込むための可変符号レート・プロセスおよびフラッシュ・メモリ130から読み出すための可変符号レート・プロセスを示したものである。
セクタが複数のページにまたがることができる(例えば個々のページが非整数個のセクタを有する)一実施態様では、可変符号レート・スキームを実施するためには、マルチ・ページ・アクセス技法または語線レベル・アクセス技法を使用しなければならない。図10は、個々のページが非整数個のセクタを備え、また、所与のセクタが複数のページにまたがることができる場合における、フラッシュ・メモリ130に書き込むための可変符号レート書込みプロセス1000の一例示的実施態様を記述した流れ図である。通常、書込みプロセス1000には、符号化されているページ・タイプ(つまり下位ページ、中位ページまたは上位ページ、あるいは偶数ページまたは奇数ページなどのページ・レベル)に基づいてユーザ・データを分割するためのマルチ・ページ・アクセス・スキームまたは語線レベル・アクセス・スキームおよび新規な技法が使用されている。さらに、書込みプロセス1000には、同じく、識別されたページ・タイプに関連する適切な符号レートが使用されている。図10に示されているように、書込みプロセス1000は、最初に、ステップ1010の間、書き込まれている現在のページのページ・タイプを識別し、また、ステップ1020の間、ページ当たりのセクタの数、および決定されたページ・タイプに対する符号および/または符号レートを決定する。この場合も、ページ当たりのセクタの数は非整数個であってもよいことに留意されたい。書込みプロセス1000は、ステップ1030の間、現在のページ・タイプに対して、決定されたすべての数のセクタまたはその一部を蓄積する。書込みプロセス1000は、次に、ステップ1040の間、存在していれば、次のページのために残りのセクタのごく一部をバッファする。このバッファリングは、例えば、データ管理ブロック110内のメモリ回路内で実施することができる。ステップ1050の間、蓄積されたデータが現在のページ・タイプに対する符号レートを使用して符号化され、また、ステップ1060の間、マルチ・ページ・アクセス・スキームまたは語線レベル・アクセス・スキームを使用することが適切である場合、それを使用して、符号化されたデータがフラッシュ・セル・アレイ300に書き込まれる。通常、マルチ・ページ・アクセス・スキームの場合、複数のページが符号化されるまでの間、ステップ1060に先立ってステップ1010ないし1050が繰り返される。次に、知られている技法を使用して、符号化されたこれらのページが例えば逐次フラッシュ・メモリに書き込まれる。語線レベル・アクセス・スキームの場合、語線内のすべてのページが符号化されるまでの間、ステップ1060に先立ってステップ1010ないし1050が繰り返される。次に、例えば知られている技法を使用して語線内のすべてのページを逐次書き込むことにより、すべての語線がフラッシュ・メモリに書き込まれる。
図11は、1つまたは複数のページが非整数個のセクタを備えることができ、また、所与のセクタが複数のページにまたがることができる場合における、フラッシュ・メモリ130から読み出すための可変符号レート・プロセス1100の一例示的実施態様を記述した流れ図である。通常、読出しプロセス1100にはマルチ・ページ・アクセス・スキームまたは語線レベル・アクセス・スキームが使用されている。図11に示されているように、例示的可変符号レート読出しプロセス1100は、最初に、ステップ1110の間、少なくとも1つのセクタを読み出す要求を受け取る。次に、可変符号レート読出しプロセス1100は、ステップ1120の間、要求されたセクタを有する1つまたは複数のページを識別する。
ステップ1130の間、セクタが単一のページまたは複数のページにまたがっているかどうかを決定するための試験が実施される。ステップ1130の間に、セクタが単一のページにまたがっていることが決定されると、ステップ1140の間、ページ・レベル・アクセス技法を使用してそのページが読み出される。しかしながら、ステップ1130の間に、セクタが複数のページにまたがっていることが決定されると、ステップ1150の間、マルチ・ページ・アクセス技法または語線レベル・アクセス技法を使用してそれらのページが読み出される。通常、マルチ・ページ・アクセス・スキームの場合、複数のページが読み出され、また、語線レベル・アクセス・スキームの場合、すべての語線が読み出される。フラッシュ・メモリからページを逐次読み出すことにより、複数のページまたはすべての語線を読み出すことができる。語線レベル読出しの他の代替実施形態では、語線内のセルの電圧値などのソフト情報が語線から読み出され、読み出されたソフト情報に基づいてページを復号化することができる。十分なソフト情報を有することにより、語線内のすべてのページを復号化することができる。
次に、可変符号レート読出しプロセス1100は、ステップ1160の間、1つまたは複数のこれらのページ・タイプ(つまり1つまたは複数のレベルおよび/または偶数ページあるいは奇数ページ)に対する適切な符号および/または符号レートを使用して、読み出された1つまたは複数のページを復号化する。最後に、可変符号レート読出しプロセス1100は、ステップ1170の間、メモリ・マップを使用して、要求されたセクタを1つまたは複数の復号化されたページから獲得する。
多重レベル・セルにおけるクロス・ページ記憶
本発明の他の実施形態では、ページは、物理ページの境界を越えてあふれ出ることができる。その場合、図3に示されているように、データを分割し、かつ、符号化するために使用される論理ページと、語線中に記憶される物理ページとを区別することができる。論理ページは、例えば図4に示されている符号化スキームを使用して符号化することができる。通常、語線中の論理ページは、同じ非符号化長(つまり同じ量のユーザ・データ)を有することができるが、符号化長は異なっている。例えば、同じユーザ・データ長を有する論理ページのための可変符号レート実施態様は、長さが異なる符号化論理ページに導くことができ、その場合、論理ページの一部が語線内の1つのページからその語線内の他のページへスピルオーバすることになる。本発明は、この方法で、語線内のセル(スピルオーバ・セルと呼ばれている)の一部を使用して、物理ページ境界を越える論理データ部分を記憶することを企図している。この場合、スピルオーバ・セルは、通常のセルとは異なり、同じ論理ページに属する少なくとも2つのビットを記憶することができる。以下で説明するように、スピルオーバ・セルは、語線内の他のセルと同時にプログラムすることができ、あるいは物理ページ中にシフトする他の論理ページがプログラムされた後にプログラムすることも可能である。一例示的実施態様では、スピルオーバ・セル1220を使用して、上位ページ2のための追加パリティ・ビットを記憶することができる。
図12は、通常のセル1210およびスピルオーバ・セル1220を備えたマルチ・ページ・セル語線1200を示したものである。図12の例示的実施形態では、下位論理ページ0および中位論理ページ1は、同じ符号化長を有しており、また、上位論理ページ2は、物理ページ0および1の中へスピルオーバしている。一実施態様では、スピルオーバ・セル1220をプログラミングすることなく、最初に論理ページ0および1を語線1200の通常のセル1210の中にプログラムすることができる。次に、論理ページ2が通常のセル1210の上位ページの中、およびスピルオーバ・セル1220のすべてのページの中にプログラムされる。例えば、下位ページ、中位ページおよび上位ページ0、1、2は、従来のフラッシュ・メモリと同様の方法で通常のセル1210の中にプログラムすることができる。上位ページがプログラムされると、スピルオーバ・セル1220の下位ビット、中位ビットおよび上位ビットが同じくプログラムされる(例えば通常のセルの上位ページ・プログラミングの直後に実施される)。
他の実施態様では、マルチ・ページ・アクセス技法または語線レベル・アクセス技法を使用して、通常部分およびスピルオーバ部分を含むすべての物理ページが、上で説明した図5と同様の方法で同時にプログラムされる。例えば、データ管理ユニット110は、複数のセクタを収集し、かつ、集合体化されたデータをj個の論理ページに分割することができる。次に、最大j個の符号器を使用してこのj個の論理ページを符号化することができる。データ管理ユニット110は、次に、符号化されたデータをj個の物理ページに分割し、次に、分割されたこれらの物理ページがディスクに書き込まれる。ディスクには、物理ページの通常のセクションおよびスピルオーバ・セクションの両方を同時に書き込むことができる。j個の物理ページは、知られている技法を使用してフラッシュ・セル・アレイに逐次書き込むことができる。本発明の他の実施形態では、論理ページおよび物理ページの数は異なっていてもよく、データ管理ユニットは、データを収集した後にセクタをj個の論理ページに分割することができ、また、プログラミングのための符号化の後に、符号化されたデータをj’個の物理ページに分割することができる。
スピルオーバしない論理ページは、例えばページ・レベル・アクセス技法を使用して互いに独立してプログラムし、かつ、読み出すことができる。スピルオーバする論理ページがプログラムされ、あるいは読み出されると、図5、6、10、11に関連して上で説明したように、マルチ・ページ・アクセス技法または語線レベル・アクセス技法を使用して少なくとも2つの物理ページをアクセスしなければならない。
他の変形形態では、最初に、スピルオーバ・セルのない物理ページ(つまり図12の例における物理ページ2)のみを読み出すことによってスピルオーバ・ページを読み出すことができる。例えば巡回冗長検査(CRC)符号またはパリティ・チェック符号によって決定される復号化誤りが生じると、同じくスピルオーバ・セル1220を読み出すことができる。復号化誤りの場合における他のオプションは、復号化のためのスピルオーバ・セルを備えたすべての論理ページを得るために、同じく他の物理ページ(つまり図12の物理ページ0および1)を読み出すことである。別法としては、他の物理ページ(つまり図12の物理ページ0および1)が既に読み出され、かつ、バッファに記憶されている場合、スピルオーバ・セルに記憶されているデータを得るために、バッファからこれらのページを読み出すことも可能である。復号化誤りの場合における他のオプションは、スピルオーバ・セル1220を備えたすべての論理ページを得るために、すべての語線1200を読み出すことである。
多段復号化
図13は、本発明の特徴を組み込んだ多段復号器1300の略ブロック図である。図13に示されているように、多段復号器1300では、対応する復号器1310−0ないし1310−2によってコンポーネント符号が連続的に復号化される。一例示的多段復号器1300についてのより詳細な説明については、例えば、参照により本明細書に組み込まれている、U.Wachsmannら、「Multilevel Codes:Theoretical Concepts and Practical Design Rules」、IEEE Trans.on Information Theory、Vol.45、No.5、1361〜91頁(1999)を参照されたい。
本発明によれば、多段復号器1300は、語線内の複数のページを復号化し、例えば、復号器1310−0などの1つのページのための復号器は、総合誤り率を改善するために、復号器1310−1などの他のページの復号器に決定を供給している。図13では、yはデマッパからの出力であり、また、
Figure 2011522301
および
Figure 2011522301
は、それぞれページ0、1および2のための復号器の出力部分で復号化されたビットである。一代替実施態様では、1つのページのための復号器は、ログ尤度比(LLR)またはソフト情報を他のページのための復号器に供給することができる。図13には、一例示的復号化順序が示されており、決定は、最下位ページ0から最上位ページ1へ供給される。本発明の精神から逸脱することなく、他の復号化順序、例えばページ1から0へ、0から2への順序を実施することも可能である。
本発明の他の態様では、最初に、他のページを復号化することなく1つのページを復号化することができ、あるいは他のページから独立して1つのページを復号化することができる。例えば誤りパリティ・チェックによって示される復号化誤りが生じると、図13に示されている多段復号化を実施するために、語線からの他のページを読み出すことができる。
多段復号化を使用した多重レベル符号化は、個々のビット・レベルにおける符号器レートが個々のビット・レベル・チャネルの容量と整合する場合、シャノン容量に近づくことができることが分る。上で既に示したように、本発明によれば、より高い信頼性を必要とするページには、より強力な符号またはより低い符号レートを使用することができる。したがって、選択された符号レートが実質的にビット・レベル・チャネルの容量と整合する場合、記憶容量をシャノン容量に近づけることができる。
製造のプロセス、システムおよび物品詳細
本明細書における多くの流れ図は、複数のステップの一例示的シーケンスを記述したものであるが、シーケンスの変更が可能であることも同じく本発明の一実施形態である。アルゴリズムの様々な置換は、本発明の代替実施形態として企図されている。以上、本発明の例示的実施形態について、ソフトウェア・プログラムにおける処理ステップに関連して説明したが、当業者には明らかであるように、ソフトウェア・プログラムにおける処理ステップとしてのディジタル領域の中で、回路エレメントまたは状態マシンによるハードウェアの中で、あるいはソフトウェアとハードウェアの両方の組合せの中で様々な機能を実施することができる。このようなソフトウェアは、例えばディジタル信号プロセッサ、専用集積回路、マイクロ・コントローラあるいは汎用コンピュータに使用することができる。このようなハードウェアおよびソフトウェアは、集積回路内で実施される回路の中で具体化することができる。
したがって本発明の機能は、これらの方法を実践するための方法および装置の形態で具体化することができる。本発明の1つまたは複数の態様は、例えば、記憶媒体に記憶され、マシンにロードされ、および/またはマシンによって実行されるものであれ、あるいは何らかの伝送媒体を介して伝送されるものであれ、プログラム・コードの形態で具体化することができ、このプログラム・コードがコンピュータなどのマシンにロードされ、かつ、マシンによって実行されると、そのマシンは、本発明を実践するための装置になる。汎用プロセッサ上で実施されると、プログラム・コード・セグメントは、プロセッサと相俟って、特定の論理回路と同様に動作するデバイスを提供する。また、本発明は、集積回路、ディジタル信号プロセッサ、マイクロプロセッサおよびマイクロ・コントローラのうちの1つまたは複数の中で実施することも可能である。
当分野で知られているように、本明細書において説明されている方法および装置は、コンピュータ可読コード手段がその上に具体化されたコンピュータ可読媒体をそれ自体が備えた製造物品として分散させることができる。コンピュータ可読プログラム・コード手段は、本明細書において説明されている方法を実行し、あるいは本明細書において説明されている装置を生成するために、すべてのステップまたはステップの一部を実行するべくコンピュータ・システムと連携して動作することができる。コンピュータ可読媒体は、記録可能媒体(例えばフロッピー・ディスク、ハード・ドライブ、コンパクト・ディスク、メモリ・カード、半導体デバイス、チップ、専用集積回路(ASIC))であっても、あるいは伝送媒体(例えば光ファイバ、ワールド・ワイド・ウェブ、ケーブル、または時分割多重アクセス、符号分割多重アクセスを使用した無線チャネル、または他の無線周波チャネルを備えたネットワーク)であってもよい。コンピュータ・システムとの使用に適した情報を記憶することができる、知られている、あるいは開発されている任意の媒体を使用することができる。コンピュータ可読コード手段は、コンピュータによる、磁気媒体上の磁気の変化あるいはコンパクト・ディスクの表面の高さの変化などの命令およびデータの読出しを可能にするための任意の機構である。
本明細書において説明されているコンピュータ・システムおよびサーバの各々には、本明細書において開示されている方法、ステップおよび機能を実施するように関連するプロセッサを構成することができるメモリが含まれている。メモリは、分散させることができる、つまり局部メモリにすることができ、また、プロセッサは、分散させることも、あるいは単独のプロセッサにすることも可能である。メモリは、電気メモリ、磁気メモリもしくは光学メモリ、またはこれらのタイプあるいは他のタイプの記憶装置の任意の組合せとして実施することができる。さらに、「メモリ」という用語は、関連するプロセッサによってアクセスされるアドレス指定可能空間におけるアドレスから読み出すことができ、あるいはこのアドレスに書き込むことができるあらゆる情報を包含するべく十分広義に解釈されたい。この定義によれば、関連するプロセッサは、ネットワークからの情報を検索することができるため、ネットワーク上の情報は、依然としてメモリ内に存在している。
本明細書において示され、かつ、説明されている実施形態および変形形態は、単に本発明の原理を示したものにすぎないこと、また、当業者によって、本発明の範囲および精神から逸脱することなく、様々な修正を実施することができることを理解されたい。

Claims (35)

  1. 複数のセルを有する多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法であって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なるページからのビットであり、前記方法が、
    複数の前記ページを蓄積することと、
    前記複数のページを単一のブロックとして符号化することと、
    前記単一のブロックを前記多重レベル・セル・フラッシュ・メモリ・デバイスに記憶することと
    を含む方法。
  2. 前記記憶された単一のブロックを復号化するステップをさらに含む、請求項1に記載の方法。
  3. 前記記憶された単一のブロックを復号化する前記ステップが、前記複数の前記ページを提供し、また、前記方法が、要求されたセクタを前記複合化された複数のページから獲得するステップをさらに含む、請求項2に記載の方法。
  4. 前記複数のページが前記多重レベル・セル・フラッシュ・メモリ内の単一の語線に対応する、請求項1に記載の方法。
  5. 前記複数のページが、前記多重レベル・セル・フラッシュ・メモリ・デバイスからの読出しおよび前記多重レベル・セル・フラッシュ・メモリ・デバイスへの書込みのためのものであってもよい最小データ単位である、請求項1に記載の方法。
  6. 少なくとも1つのセクタが複数のページにまたがる、請求項1に記載の方法。
  7. 前記複数のページを単一のブロックとして符号化するステップが、単一の符号および単一の符号レートを使用して前記複数のページを符号化する、請求項1に記載の方法。
  8. 前記複数のページを単一のブロックとして符号化するステップが、複数の符号および複数の符号レートのうちの1つまたは複数を使用して前記複数のページを符号化する、請求項1に記載の方法。
  9. 前記複数のページを単一のブロックとして符号化するステップが、独自の符号および独自の符号レートのうちの1つまたは複数を使用して前記複数のページの各々を符号化する、請求項1に記載の方法。
  10. 前記複数の前記ページを蓄積する前記ステップが、jが前記多重レベル・セル・フラッシュ・メモリ・デバイス内の語線当たりのページ数であり、また、kがページ当たりの前記セクタの数であるj×k個のセクタを蓄積するステップをさらに含む、請求項1に記載の方法。
  11. 前記符号化された単一のブロックを複数のページに分割するステップをさらに含み、また、前記記憶するステップが、前記複数のページの各々を前記多重レベル・セル・フラッシュ・メモリ・デバイスに記憶するステップを含む、請求項1に記載の方法。
  12. 複数のセルを有する多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法であって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なるページからのビットであり、前記方法が、
    前記多重レベル・セル・フラッシュ・メモリ・デバイスに書き込むべき現在のページのページ・タイプを決定することと、
    前記決定されたページ・タイプに関連する符号および符号レートのうちの少なくとも1つを決定することと、
    前記決定された少なくとも1つの符号および符号レートを使用して前記現在のページを符号化することと、
    前記符号化された現在のページを前記多重レベル・セル・フラッシュ・メモリ・デバイスに記憶することと
    を含む方法。
  13. 前記現在のページを符号化する前記ステップに先立って、前記決定されたページ・タイプに関連するページ当たりのセクタの数を決定するステップと、前記決定された数のセクタを蓄積するステップとをさらに含む、請求項12に記載の方法。
  14. 第2のページ・タイプより強力な符号および第2のページ・タイプより低い符号レートのうちの1つまたは複数を使用して、前記第2のページ・タイプより低い信頼性を有する第1のページ・タイプが符号化される、請求項12に記載の方法。
  15. 対応する符号レートを使用して、語線内の個々のページが実質的に同様の長さに符号化される、請求項12に記載の方法。
  16. 少なくとも1つのセクタを読み出す要求を受け取るステップと、前記要求されたセクタを有する前記多重レベル・セル・フラッシュ・メモリ・デバイス内のページを識別するステップと、前記識別されたページに関連する前記少なくとも1つの符号および符号レートを使用して、前記識別されたページを読み出し、かつ、前記読み出されたページを復号化するステップと、メモリ・マップを使用して前記要求されたセクタを前記復号化されたページから獲得するステップとをさらに含む、請求項12に記載の方法。
  17. 語線内の複数のページを復号化するために、複数の復号化段を備えた多段復号器を使用して1つまたは複数のページを復号化するステップをさらに含む、請求項12に記載の方法。
  18. 第1のページのための復号化段が他のページのための復号化段に決定を提供する、請求項17に記載の方法。
  19. 前記決定がハード決定およびソフト決定のうちの1つまたは複数である、請求項18に記載の方法。
  20. 第1のページが復号化され、前記方法が、前記第1のページに対する復号化誤りが検出されると少なくとも1つの追加ページを復号化するステップをさらに含む、請求項17に記載の方法。
  21. 複数のセルを有する多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法であって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なるページからのビットであり、前記方法が、
    前記多重レベル・セル・フラッシュ・メモリ・デバイスに書き込むべき現在のページのページ・タイプを決定することと、
    前記決定されたページ・タイプに関連するページ当たりのセクタの数を決定することと、
    前記決定されたセクタの数を蓄積することと、
    前記蓄積されたセクタを符号化することと、
    前記蓄積されたセクタを前記多重レベル・セル・フラッシュ・メモリ・デバイスに記憶することと
    を含む方法。
  22. 少なくとも1つのセクタが複数のページにまたがり、前記記憶ステップの間、マルチ・ページ・アクセス・スキームおよび語線レベル・アクセス・スキームのうちの1つまたは複数が使用される、請求項21に記載の方法。
  23. ページ当たりの前記セクタの数が非整数個であり、少なくとも1つのセクタが複数のページにまたがる、請求項21に記載の方法。
  24. 後続するページのためにセクションの1つまたは複数のごく一部をバッファリングするステップをさらに含む、請求項21に記載の方法。
  25. 前記蓄積されたセクタを記憶する前記ステップが、マルチ・ページ・アクセス・スキームおよび語線レベル・アクセス・スキームのうちの1つまたは複数を使用する、請求項21に記載の方法。
  26. 少なくとも1つのセクタを読み出す要求を受け取るステップと、前記要求されたセクタを有する前記多重レベル・セル・フラッシュ・メモリ・デバイス内の1つまたは複数のページを識別するステップと、ページ・レベル・アクセス・スキーム、マルチ・ページ・アクセス・スキームおよび語線レベル・アクセス・スキームを使用して前記識別された1つまたは複数のページを読み出すステップとをさらに含む、請求項21に記載の方法。
  27. 前記読み出され、識別された1つまたは複数のページを前記識別された1つまたは複数のページに関連する符号および符号レートのうちの少なくとも1つを使用して復号化するステップと、メモリ・マップを使用して前記要求されたセクタを前記復号化された1つまたは複数のページから獲得するステップとをさらに含む、請求項26に記載の方法。
  28. それぞれ複数の物理ページおよび複数のセルを備えた複数の語線を有する多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法であって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なる論理ページからのビットであり、前記論理ページの各々がユーザ・データの複数のセクタを備え、前記方法が、
    第1のセットの論理ページを記憶することであって、前記第1のセットの論理ページ内の個々の論理ページの符号化サイズが前記複数の物理ページのサイズより小さいことと、
    第2のセットの論理ページを記憶することであって、前記第2のセットの論理ページ内の個々の論理ページの符号化サイズが前記複数の物理ページのサイズより大きく、かつ、前記第2のセットの論理ページの少なくとも一部がスピルオーバ領域に記憶されることと
    を含む方法。
  29. 前記第1のセットの論理ページを記憶する前記ステップに引き続いて前記スピルオーバ領域がプログラムされる、請求項28に記載の方法。
  30. 前記第1のセットの論理ページを記憶する前記ステップに先立って前記スピルオーバ領域がプログラムされる、請求項28に記載の方法。
  31. 前記多重レベル・セル・フラッシュ・メモリ・デバイスが、それぞれ複数の前記ページを備えた複数の語線をさらに備え、前記複数のページの各々が、前記複数のページの各々の非符号化長が実質的に同様の長さになり、また、前記複数のページの各々の符号化長が異なるように関連する符号レートを有する、請求項28に記載の方法。
  32. 前記多重レベル・セル・フラッシュ・メモリ・デバイスが、それぞれ複数の前記ページを備えた複数の語線をさらに備え、前記複数のページの各々が、前記複数のページの各々の非符号化長が異なり、また、前記複数のページの各々の符号化長が実質的に同様の長さになるように関連する符号レートを有する、請求項28に記載の方法。
  33. 多重レベル・セル・フラッシュ・メモリ・デバイスであって、
    複数のセルであって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なるページからのビットである複数のセルと、
    それぞれ複数の前記ページを備えた複数の語線であって、前記複数のページの各々が、前記複数のページの各々の非符号化長が実質的に同様の長さになり、また、前記複数のページの各々の符号化長が異なるように関連する符号レートを有する複数の語線と
    を備えた多重レベル・セル・フラッシュ・メモリ・デバイス。
  34. 多重レベル・セル・フラッシュ・メモリ・デバイスであって、
    複数のセルであって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なるページからのビットである複数のセルと、
    それぞれ複数の前記ページを備えた複数の語線であって、前記複数のページの各々が、前記複数のページの各々の非符号化長が異なり、また、前記複数のページの各々の符号化長が実質的に同様の長さになるように関連する符号レートを有する複数の語線と
    を備えた多重レベル・セル・フラッシュ・メモリ・デバイス。
  35. 多重レベル・セル・フラッシュ・メモリ・デバイスであって、
    複数のセルであって、前記多重レベル・セル・フラッシュ・メモリ・デバイスの個々のセルが複数のビットを記憶することができ、前記複数のビットの各々が異なるページからのビットである複数のセルと、
    それぞれ複数の前記ページを備えた複数の語線であって、少なくとも1つのセクタが前記複数のページにまたがっている複数の語線と
    を備えた多重レベル・セル・フラッシュ・メモリ・デバイス。
JP2010550838A 2008-03-11 2009-03-11 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置 Pending JP2011522301A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US6893408P 2008-03-11 2008-03-11
US61/068,934 2008-03-11
PCT/US2009/036810 WO2009114618A2 (en) 2008-03-11 2009-03-11 Methods and apparatus for storing data in a multi-level cell flash memory device with cross-page sectors, multi-page coding and per-page coding

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2014091070A Division JP5944941B2 (ja) 2008-03-11 2014-04-25 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置

Publications (2)

Publication Number Publication Date
JP2011522301A true JP2011522301A (ja) 2011-07-28
JP2011522301A5 JP2011522301A5 (ja) 2012-04-26

Family

ID=40749883

Family Applications (3)

Application Number Title Priority Date Filing Date
JP2010550838A Pending JP2011522301A (ja) 2008-03-11 2009-03-11 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置
JP2014091070A Expired - Fee Related JP5944941B2 (ja) 2008-03-11 2014-04-25 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置
JP2015228589A Pending JP2016042380A (ja) 2008-03-11 2015-11-24 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置

Family Applications After (2)

Application Number Title Priority Date Filing Date
JP2014091070A Expired - Fee Related JP5944941B2 (ja) 2008-03-11 2014-04-25 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置
JP2015228589A Pending JP2016042380A (ja) 2008-03-11 2015-11-24 クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置

Country Status (8)

Country Link
US (4) US8724381B2 (ja)
EP (4) EP2592553B1 (ja)
JP (3) JP2011522301A (ja)
KR (1) KR20100139010A (ja)
CN (1) CN101999116B (ja)
IL (1) IL208028A0 (ja)
TW (1) TWI533304B (ja)
WO (1) WO2009114618A2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015510213A (ja) * 2012-03-15 2015-04-02 マイクロン テクノロジー, インク. 物理ページ、論理ページ、およびコードワードの対応
JP2016219092A (ja) * 2012-03-06 2016-12-22 マイクロン テクノロジー, インク. 誤り訂正符号の編成を含む装置および方法

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100104623A (ko) * 2009-03-18 2010-09-29 삼성전자주식회사 데이터 처리 시스템 및 그것의 부호율 제어 스킴
KR101616100B1 (ko) * 2009-09-25 2016-04-28 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
EP2545554A4 (en) 2010-03-12 2015-03-11 Lsi Corp LDPC CLEARANCE DECODING FOR FLASH MEMORY
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
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
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
US8406051B2 (en) 2010-05-17 2013-03-26 Seagate Technology Llc Iterative demodulation and decoding for multi-page memory architecture
US8254167B2 (en) 2010-05-17 2012-08-28 Seagate Technologies Llc Joint encoding of logical pages in multi-page memory architecture
US9251873B1 (en) 2010-05-20 2016-02-02 Kandou Labs, S.A. Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US8417877B2 (en) 2010-08-31 2013-04-09 Micron Technology, Inc Stripe-based non-volatile multilevel memory operation
KR101686590B1 (ko) * 2010-09-20 2016-12-14 삼성전자주식회사 플래시 메모리 시스템 및 그것의 워드 라인 인터리빙 방법
US9727414B2 (en) 2010-12-01 2017-08-08 Seagate Technology Llc Fractional redundant array of silicon independent elements
US9105305B2 (en) 2010-12-01 2015-08-11 Seagate Technology Llc Dynamic higher-level redundancy mode management with independent silicon elements
US8719663B2 (en) 2010-12-12 2014-05-06 Lsi Corporation Cross-decoding for non-volatile storage
US9275720B2 (en) * 2010-12-30 2016-03-01 Kandou Labs, S.A. Differential vector storage for dynamic random access memory
EP2666091A2 (en) 2011-01-18 2013-11-27 LSI Corporation Higher-level redundancy information computation
US8825945B2 (en) 2011-01-31 2014-09-02 Marvell World Trade Ltd. Mapping different portions of data to different pages of multi-level non-volatile memory
JP2012174088A (ja) * 2011-02-23 2012-09-10 Hitachi Ltd メモリ制御装置
US10063262B2 (en) 2011-02-28 2018-08-28 Inphi Corporation Non-concatenated FEC codes for ultra-high speed optical transport networks
US9086999B2 (en) * 2011-07-05 2015-07-21 International Business Machines Corporation Data encryption management
US8880977B2 (en) 2011-07-22 2014-11-04 Sandisk Technologies Inc. Systems and methods of storing data
US8995196B2 (en) * 2011-08-15 2015-03-31 Skymedi Corporation Method of sorting a multi-bit per cell non-volatile memory and a multi-mode configuration method
US8972651B2 (en) * 2011-10-05 2015-03-03 Hitachi, Ltd. Storage system and storage method
KR20130070927A (ko) * 2011-12-20 2013-06-28 에스케이하이닉스 주식회사 불휘발성 메모리 장치 및 그 동작 방법
US8856611B2 (en) 2012-08-04 2014-10-07 Lsi Corporation Soft-decision compensation for flash channel variation
US9135106B2 (en) * 2012-05-22 2015-09-15 Hgst Technologies Santa Ana, Inc. Read level adjustment using soft information
US8924820B2 (en) * 2012-07-27 2014-12-30 Kabushiki Kaisha Toshiba Memory controller, semiconductor memory system, and memory control method
US8856431B2 (en) 2012-08-02 2014-10-07 Lsi Corporation Mixed granularity higher-level redundancy for non-volatile memory
US9239754B2 (en) 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
CN102867046B (zh) * 2012-09-06 2016-08-03 记忆科技(深圳)有限公司 基于固态硬盘的数据库优化方法及系统
US8984369B2 (en) * 2012-11-21 2015-03-17 Micron Technology, Inc. Shaping codes for memory
US8656255B1 (en) * 2013-03-15 2014-02-18 Avalanche Technology, Inc. Method for reducing effective raw bit error rate in multi-level cell NAND flash memory
US9047882B2 (en) * 2013-08-30 2015-06-02 Lsi Corporation Systems and methods for multi-level encoding and decoding
KR102204394B1 (ko) 2013-10-14 2021-01-19 삼성전자주식회사 메모리 시스템에서의 코딩 방법 및 디코딩 방법
GB201322075D0 (en) 2013-12-13 2014-01-29 Ibm Device for selecting a level for at least one read voltage
WO2015131203A1 (en) 2014-02-28 2015-09-03 Kandou Lab, S.A. Clock-embedded vector signaling codes
JP6262063B2 (ja) * 2014-03-18 2018-01-17 東芝メモリ株式会社 不揮発性メモリおよび書き込み方法
KR102247087B1 (ko) * 2014-07-08 2021-05-03 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
TWI550615B (zh) * 2014-08-28 2016-09-21 群聯電子股份有限公司 資料存取方法、記憶體儲存裝置及記憶體控制電路單元
CN105468292B (zh) * 2014-09-05 2019-04-23 群联电子股份有限公司 数据存取方法、存储器储存装置及存储器控制电路单元
US10365859B2 (en) 2014-10-21 2019-07-30 International Business Machines Corporation Storage array management employing a merged background management process
US9563373B2 (en) 2014-10-21 2017-02-07 International Business Machines Corporation Detecting error count deviations for non-volatile memory blocks for advanced non-volatile memory block management
US9536600B2 (en) 2014-10-22 2017-01-03 International Business Machines Corporation Simultaneous multi-page commands for non-volatile memories
US9830087B2 (en) * 2014-11-13 2017-11-28 Micron Technology, Inc. Memory wear leveling
US9990279B2 (en) 2014-12-23 2018-06-05 International Business Machines Corporation Page-level health equalization
US10339048B2 (en) 2014-12-23 2019-07-02 International Business Machines Corporation Endurance enhancement scheme using memory re-evaluation
US9613664B2 (en) * 2015-01-20 2017-04-04 Samsung Electronics Co., Ltd. Method of operating memory device including multi-level memory cells
CN104810056A (zh) * 2015-03-05 2015-07-29 华南理工大学 一种基于自适应ldpc码的nand闪存差错控制器
US9727416B2 (en) * 2015-07-01 2017-08-08 Xilinx, Inc. Variable code rate solid-state drive
KR20170004693A (ko) * 2015-07-03 2017-01-11 에스케이하이닉스 주식회사 메모리 장치의 컨트롤러 및 그 동작 방법
US9577854B1 (en) * 2015-08-20 2017-02-21 Micron Technology, Inc. Apparatuses and methods for asymmetric bi-directional signaling incorporating multi-level encoding
US10192614B2 (en) 2015-10-30 2019-01-29 Seagate Technology Llc Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages
US10347343B2 (en) 2015-10-30 2019-07-09 Seagate Technology Llc Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean
US9940034B2 (en) 2016-01-25 2018-04-10 International Business Machines Corporation Reducing read access latency by straddling pages across non-volatile memory channels
US10198313B2 (en) * 2016-03-11 2019-02-05 Western Digital Technologies, Inc. Redundancy of error correction encoded data in a storage system
JP6538741B2 (ja) * 2017-03-09 2019-07-03 株式会社東芝 管理装置、情報処理装置および管理方法
US10164817B2 (en) 2017-03-21 2018-12-25 Micron Technology, Inc. Methods and apparatuses for signal translation in a buffered memory
TWI634556B (zh) * 2017-10-12 2018-09-01 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US10558522B2 (en) 2017-10-20 2020-02-11 Western Digital Technologies, Inc. Dynamic multi-stage decoding
CN109697134B (zh) * 2017-10-20 2022-10-21 群联电子股份有限公司 解码方法、存储器存储装置及存储器控制电路单元
US10467177B2 (en) 2017-12-08 2019-11-05 Kandou Labs, S.A. High speed memory interface
US10460814B2 (en) * 2017-12-12 2019-10-29 Western Digital Technologies, Inc. Non-volatile memory and method for power efficient read or verify using lockout control
US10637511B2 (en) * 2017-12-18 2020-04-28 Western Digital Technologies, Inc Dynamic multi-stage decoding
CN108564983A (zh) * 2018-04-10 2018-09-21 南京扬贺扬微电子科技有限公司 一种用于nand flash的ldpc测试平台
CN111176582A (zh) * 2019-12-31 2020-05-19 北京百度网讯科技有限公司 矩阵存储方法、矩阵访问方法、装置和电子设备
US11424766B1 (en) 2020-01-31 2022-08-23 Marvell Asia Pte Ltd. Method and device for energy-efficient decoders
CN117321934A (zh) * 2021-07-04 2023-12-29 迈凌有限公司 具有2阶fec保护的pmd到tc-mac接口

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11283396A (ja) * 1998-03-27 1999-10-15 Sony Corp メモリ装置
JP2000149592A (ja) * 1998-11-11 2000-05-30 Nec Ic Microcomput Syst Ltd 不良救済用メモリセル及びそれを用いた記憶装置
JP2005078721A (ja) * 2003-09-01 2005-03-24 Nippon Telegr & Teleph Corp <Ntt> 誤り訂正方法およびメモリ回路
JP2005538485A (ja) * 2002-09-06 2005-12-15 サンディスク コーポレイション メモリセルの隣接する行の記憶素子間の結合の効果を減少させる方法
WO2007043042A2 (en) * 2005-10-13 2007-04-19 Ramot At Tel-Aviv University Ltd. Method of error correction in mbc flash memory

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6335878B1 (en) * 1998-07-28 2002-01-01 Hitachi, Ltd. Non-volatile multi-level semiconductor flash memory device and method of driving same
JPH11283398A (ja) 1998-03-30 1999-10-15 Matsushita Electric Ind Co Ltd 半導体回路装置
US6134141A (en) * 1998-12-31 2000-10-17 Sandisk Corporation Dynamic write process for high bandwidth multi-bit-per-cell and analog/multi-level non-volatile memories
US6684289B1 (en) * 2000-11-22 2004-01-27 Sandisk Corporation Techniques for operating non-volatile memory systems with data sectors having different sizes than the sizes of the pages and/or blocks of the memory
US6522580B2 (en) * 2001-06-27 2003-02-18 Sandisk Corporation Operating techniques for reducing effects of coupling between storage elements of a non-volatile memory operated in multiple data states
US6866909B2 (en) 2002-09-04 2005-03-15 General Electric Company Limited play data storage media and method for limiting access to data thereon
US7073100B2 (en) 2002-11-11 2006-07-04 International Business Machines Corporation Method for testing embedded DRAM arrays
JP2008508632A (ja) * 2004-08-02 2008-03-21 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ データ記憶及び再生装置
US7315916B2 (en) 2004-12-16 2008-01-01 Sandisk Corporation Scratch pad block
US7386655B2 (en) 2004-12-16 2008-06-10 Sandisk Corporation Non-volatile memory and method with improved indexing for scratch pad and update blocks
KR100590388B1 (ko) * 2005-03-10 2006-06-19 주식회사 하이닉스반도체 멀티-플레인 타입 플래쉬 메모리 장치와, 그 프로그램 동작및 리드 동작 제어 방법
US7349264B2 (en) * 2005-12-28 2008-03-25 Sandisk Corporation Alternate sensing techniques for non-volatile memories
US7388781B2 (en) * 2006-03-06 2008-06-17 Sandisk Il Ltd. Multi-bit-per-cell flash memory device with non-bijective mapping
TWM304711U (en) * 2006-04-26 2007-01-11 Genesys Logic Inc Flash memory data access reliability enhancing device
WO2007132453A2 (en) * 2006-05-12 2007-11-22 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
US20070300130A1 (en) * 2006-05-17 2007-12-27 Sandisk Corporation Method of Error Correction Coding for Multiple-Sector Pages in Flash Memory Devices
JP2007334413A (ja) * 2006-06-12 2007-12-27 Sony Corp 記憶装置
US7304893B1 (en) * 2006-06-30 2007-12-04 Sandisk Corporation Method of partial page fail bit detection in flash memory devices
US7355892B2 (en) * 2006-06-30 2008-04-08 Sandisk Corporation Partial page fail bit detection in flash memory devices
KR100758301B1 (ko) * 2006-08-04 2007-09-12 삼성전자주식회사 메모리 카드 및 그것의 데이터 저장 방법
CN100504814C (zh) * 2007-01-17 2009-06-24 忆正存储技术(深圳)有限公司 闪存的区块管理方法
US7460398B1 (en) * 2007-06-19 2008-12-02 Micron Technology, Inc. Programming a memory with varying bits per cell
US8259497B2 (en) * 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US8335977B2 (en) * 2007-12-05 2012-12-18 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
US8179719B1 (en) * 2008-03-10 2012-05-15 Marvell International Ltd. Systems and methods for improving error distributions in multi-level cell memory systems
US8054684B2 (en) * 2009-12-18 2011-11-08 Sandisk Technologies Inc. Non-volatile memory and method with atomic program sequence and write abort detection
US8369156B2 (en) * 2010-07-13 2013-02-05 Sandisk Technologies Inc. Fast random access to non-volatile storage
US8472280B2 (en) * 2010-12-21 2013-06-25 Sandisk Technologies Inc. Alternate page by page programming scheme
US8750042B2 (en) * 2011-07-28 2014-06-10 Sandisk Technologies Inc. Combined simultaneous sensing of multiple wordlines in a post-write read (PWR) and detection of NAND failures
US9171627B2 (en) * 2012-04-11 2015-10-27 Aplus Flash Technology, Inc. Non-boosting program inhibit scheme in NAND design
US8793556B1 (en) * 2012-05-22 2014-07-29 Pmc-Sierra, Inc. Systems and methods for reclaiming flash blocks of a flash drive
KR102048765B1 (ko) * 2013-01-15 2020-01-22 삼성전자주식회사 메모리 시스템의 동작 방법 및 메모리 시스템
US9013920B2 (en) * 2013-04-03 2015-04-21 Western Digital Technologies, Inc. Systems and methods of write precompensation to extend life of a solid-state memory
US8996838B1 (en) * 2014-05-08 2015-03-31 Sandisk Technologies Inc. Structure variation detection for a memory having a three-dimensional memory configuration

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11283396A (ja) * 1998-03-27 1999-10-15 Sony Corp メモリ装置
JP2000149592A (ja) * 1998-11-11 2000-05-30 Nec Ic Microcomput Syst Ltd 不良救済用メモリセル及びそれを用いた記憶装置
JP2005538485A (ja) * 2002-09-06 2005-12-15 サンディスク コーポレイション メモリセルの隣接する行の記憶素子間の結合の効果を減少させる方法
JP2005078721A (ja) * 2003-09-01 2005-03-24 Nippon Telegr & Teleph Corp <Ntt> 誤り訂正方法およびメモリ回路
WO2007043042A2 (en) * 2005-10-13 2007-04-19 Ramot At Tel-Aviv University Ltd. Method of error correction in mbc flash memory

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016219092A (ja) * 2012-03-06 2016-12-22 マイクロン テクノロジー, インク. 誤り訂正符号の編成を含む装置および方法
JP2015510213A (ja) * 2012-03-15 2015-04-02 マイクロン テクノロジー, インク. 物理ページ、論理ページ、およびコードワードの対応
US10055285B2 (en) 2012-03-15 2018-08-21 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
US10664345B2 (en) 2012-03-15 2020-05-26 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
US11354187B2 (en) 2012-03-15 2022-06-07 Micron Technology, Inc. Physical page, logical page, and codeword correspondence

Also Published As

Publication number Publication date
US9058879B2 (en) 2015-06-16
EP2592552A3 (en) 2013-08-28
US20140126289A1 (en) 2014-05-08
US20140126287A1 (en) 2014-05-08
US20110090734A1 (en) 2011-04-21
IL208028A0 (en) 2010-12-30
JP2014135097A (ja) 2014-07-24
US20140126288A1 (en) 2014-05-08
EP2592553A3 (en) 2013-08-28
CN101999116B (zh) 2015-05-13
EP2266036A2 (en) 2010-12-29
WO2009114618A3 (en) 2009-11-26
US9135999B2 (en) 2015-09-15
US9007828B2 (en) 2015-04-14
JP5944941B2 (ja) 2016-07-05
EP2266036B1 (en) 2015-11-25
EP2592551A3 (en) 2013-08-28
EP2592552A2 (en) 2013-05-15
WO2009114618A2 (en) 2009-09-17
JP2016042380A (ja) 2016-03-31
EP2266036B9 (en) 2016-05-18
CN101999116A (zh) 2011-03-30
EP2592553A2 (en) 2013-05-15
EP2592553B1 (en) 2015-11-18
KR20100139010A (ko) 2010-12-31
EP2592551A2 (en) 2013-05-15
TWI533304B (zh) 2016-05-11
EP2592552B1 (en) 2015-11-25
US8724381B2 (en) 2014-05-13
TW200951961A (en) 2009-12-16

Similar Documents

Publication Publication Date Title
JP5944941B2 (ja) クロス・ページ・セクタ、マルチ・ページ符号化およびパー・ページ符号化を使用して多重レベル・セル・フラッシュ・メモリ・デバイスにデータを記憶するための方法および装置
US8327246B2 (en) Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US8797795B2 (en) Methods and apparatus for intercell interference mitigation using modulation coding
US8756365B2 (en) Apparatus and method for enhancing flash endurance by encoding data
US9106264B2 (en) Encoding and decoding in flash memories using convolutional-type low-density parity check codes
US8176234B2 (en) Multi-write coding of non-volatile memories
US8463985B2 (en) Constrained coding to reduce floating gate coupling in non-volatile memories
US9032278B2 (en) Method for performing data shaping, and associated memory device and controller thereof
KR20140093289A (ko) 다수의 판독들 및/또는 빈들을 사용한 소프트 판독 값들의 생성
KR20150129325A (ko) 솔리드 스테이트 메모리에 저장된 데이터 디코딩
KR102355082B1 (ko) 채널 편파 코드의 연속 제거 리스트 디코딩을 위한 효율적인 생존 메모리 아키텍처
JP2010165426A (ja) メモリコントローラおよび半導体メモリ装置
KR101419335B1 (ko) 멀티 레벨 셀 플래시 메모리의 페이지 단위 클러스터링 장치 및 방법

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120309

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120309

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120710

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130716

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20131015

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20131022

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20131113

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131226

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20140804

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140812

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150630

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150831