[go: up one dir, main page]

JP2010517117A - マルチレベル・セル・メモリ・デバイス内のデータをアレンジする方法 - Google Patents

マルチレベル・セル・メモリ・デバイス内のデータをアレンジする方法 Download PDF

Info

Publication number
JP2010517117A
JP2010517117A JP2008550908A JP2008550908A JP2010517117A JP 2010517117 A JP2010517117 A JP 2010517117A JP 2008550908 A JP2008550908 A JP 2008550908A JP 2008550908 A JP2008550908 A JP 2008550908A JP 2010517117 A JP2010517117 A JP 2010517117A
Authority
JP
Japan
Prior art keywords
data
error
bit
bits
error correction
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
JP2008550908A
Other languages
English (en)
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.)
Western Digital Israel Ltd
Original Assignee
SanDisk IL Ltd
M Systems Flash Disk Pionners Ltd
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 SanDisk IL Ltd, M Systems Flash Disk Pionners Ltd filed Critical SanDisk IL Ltd
Publication of JP2010517117A publication Critical patent/JP2010517117A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • G11C16/0483Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

【課題】特定なECCスキームと併用した場合に従来の技術の処理時間および電力消費を最小にするための、物理ページの異なるビット・ページ間で入力データをインターリーブする方法を提供する。
【解決手段】データを記憶するための方法は、第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を記憶すること、第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置にデータの第二の部分を記憶すること、データと一緒にエラー訂正パリティ・ビットを記憶すること、そしてエラー訂正パリティ・ビットを用いて、読み出したデータへエラー訂正スキームを適用することを含む。この方法においては、第二の部分のビットが訂正のためにチェックされる前に、第一の部分の少なくとも一つのビットが、訂正のためにチェックされる。エラー訂正スキームは、すべてのデータの訂正のためのチェックの前に停止される。
【選択図】図1

Description

本発明は、マルチレベル・セル・フラッシュメモリ・デバイスに関する。より詳しくは、本発明は、マルチレベル・セル・フラッシュメモリ・デバイスにおけるエラー訂正の分野に関する。
フラッシュメモリ・デバイスは、長年知られている。すべてのフラッシュメモリ・デバイスの内、NANDタイプ・メモリは、メモリへ書き込まれる多数の情報ビットが、これらのビットがメモリへ当初書き込まれた方式とは異なる「フリップ」した状態で読み戻されることがあるという事実において、もちろん他の特定な特性もあるのだが、他のタイプのメモリ(例えばNOR)とは異なる。
「フリップ」ビットを得るこの現象を克服して、NANDタイプ・メモリを実際のアプリケーションに使用可能にするために、これらNANDタイプ・メモリと共にECC(エラー訂正コード)アルゴリズムを利用することは、一般的な技術である。ECCアルゴリズムは、典型的に、フラッシュメモリにより、以下のように利用される。
*データをメモリへ書き込む前に、追加の(冗長な)情報ビットを計算するために、このデータにECCアルゴリズムを適用する。これら冗長ビットは、しばしば「パリティ・ビット」または「同等」と呼ばれ、後に、エラー検出および訂正のために使用される。オリジナル・データとパリティとの組み合わせは、「コード・ワード」と呼ばれている。
*コード・ワード全体(すなわち、オリジナル・データおよびパリティ)は、フラッシュメモリ・デバイスに記録される。注目すべきは、NANDフラッシュメモリ・デバイスの実サイズが、オリジナル・データおよびパリティを収容するように設計されていることである。
*データがメモリから取り出されるとき、コード・ワード全体が読み取られ、そのデータおよびパリティに対して、起こり得る「ビット・フリップ」(すなわち、エラー)を検出して訂正するためにECCアルゴリズムが適用される。
注目すべきは、ECCアルゴリズムの実施例が、ハードウェアで、ソフトウェアで、またはハードとソフトとの組み合わせで、等しく得られることである。さらに、ECCアルゴリズムは、メモリ・デバイス内に、メモリ・デバイス・コントローラ内に、ホスト内に実装しても、あるいはシステムのこれらのコンポーネント間で「分散されてもよい」。
フラッシュメモリ・デバイスは、フラッシュメモリ・デバイスの各メモリ・セル内に記憶されるデータ要素(例えば、データ・ビット)の数において異なるものがある。SLC(シングルレベル・セル)メモリは、各メモリ・セル内に単一ビットを記憶するように作動可能であり、MLC(マルチレベル・セル)メモリは、各メモリ・セル内に複数ビットを記憶するように作動可能である。
MLCメモリにおける電圧レベルのコーディング方式、そしてメモリ・セルへの入力データの割り当て方式は、ECCデザインの最適化を達成する上で非常に重要である。
マルチビット・フラッシュセル内にデータを記憶するための、従来の技術による方法が、ムリン氏の米国出願公報第20060101193号に開示されている。この特許出願は、すべての目的に対して、参照により本文に完全に記述したものと見なす。
ムリン出願によれば、入力データをメモリ・デバイスの物理ページへ割り当てる(ECC性能の観点からの)最適な方式は、物理ページの異なるビット・ページ間に、これらのデータ・ビットをインターリーブすることによる。この場合、ビット・ページは、一グループのビットであり、それらの各々のビットが物理ページの異なるセルに属し、且つそれらのすべてのビットがセル内で同じ有効位(すなわち、LSB、…、MSB)を持つと定義する。メモリ・デバイス内にデータをアレンジするそのような方式は、メモリ・デバイスから取り出されてからその本来の順序に再編成された(すなわち、デインターリーブされた)データが、その中にエラー・ビットの均一な(最適な)分布を持つことを保証する。
ムリン出願で開示されたインタリーブ・プロセスは、データをメモリ・デバイスへ書き込むプロセス中、論理ページの入力データが、物理メモリ・ページのビット・ページ間で等しく拡散されることを保証する。換言すれば、インタリーブ・プロセスは、物理ページの各ビット・ページが、この物理ページを共有する入力データ論理ページの各々から、等しい個数のビットを割り当てられることを保証する。
したがって、データがメモリから読み出され、これらデータにデインターリービングが適用されると、デインターリービング・プロシージャによって作成された論理ページの各々は、物理ページのビット・ページの各々からの、等しい割合のビットを含むことになる。
MLCメモリ・デバイスの物理ページへ入力データを割り当てるために適用するインタリーブ・スキームの方式は、本技術では指定されない。なぜなら、データを物理ページ内に均一に分散するどのスキームも、ECC性能の観点において、等しく最適であるためである。
しかし、いくつかのECCスキームに対しては、特定なインターリービング方法を採用することによって、処理時間および電力消費を節約するという追加の利点が得られる可能性がある。
したがって、これらのECCスキームを利用する場合、従来の技術における処理時間および電力消費量を最小にするインターリービング方法を提供することが望ましい。
したがって、本発明の主要な目的は、特定なECCスキームと併用した場合に従来の技術の処理時間および電力消費を最小にするための、物理ページの異なるビット・ページ間で入力データをインターリーブする方法を提供することである。
本文におけるビット・ページBP0、BP1、BP2、BP3の各々は、1セルにつき4ビットの物理ページに関連させて次のように定義する。ビット・ページBP0は、LSB物理ページ・セルに対応する。ビット・ページBP1は、LSB―1物理ページ・セルに対応する。ビット・ページBP2は、LSB―2物理ページ・セルに対応する。そしてビット・ページBP3は、MSB物理ページ・セルに対応する。
本発明の好適実施例によれば、データを記憶するための、次のステップを含む方法が提供される。(a)第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を記憶するステップ。(b)第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置にデータの第二の部分を記憶するステップ。(c)データと一緒にエラー訂正パリティ・ビットを記憶するステップ。(d)不揮発性メモリからデータおよびエラー訂正パリティ・ビットを読み取るステップ。そして(e)エラー訂正パリティ・ビットを用いて、読み出したデータへエラー訂正を適用するステップ。この場合、第二の部分のビットが訂正のためにチェックされる前に、第一の部分の少なくとも一つのビットが、訂正のためにチェックされる。
方法は、また、すべてのデータの訂正のためのチェックの前に、エラー訂正の適用を停止するステップを含むことが好ましい。
方法は、また、データ内のエラー・ビットの数を判定するステップ、そして、すべてのデータの訂正のためのチェックの前に、エラー・ビット数に応じて、エラー訂正の適用を停止するステップを含むことが好ましい。
不揮発性メモリは、不揮発性メモリのセル毎に複数ビットを記憶するように作動可能であることが好ましい。
本発明のもう一つの好適実施例によれば、さらに、次のものを含むメモリ・デバイスが提供される。(a)データを記憶するための不揮発性メモリ。そして(b)コントローラ。なお、(i)このコントローラは、第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を、そして第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置に、データの少なくとも第二の部分を記憶するよう作動可能である。(ii)コントローラは、また、エラー訂正パリティ・ビットを用いて、エラー訂正をデータへ適用するように作動可能である。この場合、第二の部分のビットが訂正のためにチェックされる前に、第一の部分の少なくとも一つのビットが、訂正のためにチェックされる。
コントローラは、また、すべてのデータの訂正のためのチェックの前に、エラー訂正の実行を停止するように作動可能であることが好ましい。
コントローラは、また、データ内のエラー・ビットの数を判定し、そして、この数に応じて、エラー訂正の実行を停止するように作動可能であることが好ましい。
不揮発性メモリは、セルにつき複数ビットを記憶するように作動可能であることが好ましい。
不揮発性メモリはフラッシュメモリであることが好ましい。
本発明のさらにもう一つの好適実施例によれば、データを記憶するための、次のステップを含む方法が提供される。(a)不揮発性メモリ内にデータを記憶するステップ。(b)データと一緒に(データへ適用した正当性チェック・コードから得ることが可能な)エラー検出パリティ・ビットを記憶するステップ。(c)エラー検出パリティ・ビットとは別に、データと一緒にエラー訂正パリティ・ビットを記憶するステップ。(d)不揮発性メモリから、データ、エラー検出パリティ・ビットおよびエラー訂正パリティ・ビットを読み取るステップ。(e)エラー訂正パリティ・ビットを用いて、以前に読み取ったデータへエラー訂正を適用するステップ。そして(f)エラー検出パリティ・ビットに応じて、すべてのデータを訂正した後に、しかしエラー訂正パリティ・ビットのいずれをも訂正する前に、エラー訂正の適用を停止するステップ。
エラー検出パリティ・ビットが、データ内にエラーが全く存在しないことを示す場合にのみ、エラー訂正の適用の停止が実行されることが好ましい。
本発明のさらにもう一つの好適実施例によれば、さらに、次のものを含むメモリ・デバイスが提供される。(a)データを記憶するための不揮発性メモリ。そして(b)コントローラ。なお、このコントローラは、(i)エラー検出パリティ・ビットが、エラー訂正パリティ・ビットとは別に記憶されるように、データと一緒にエラー訂正パリティ・ビットおよびエラー検出パリティ・ビットを記憶するように作動可能である。(ii)不揮発性メモリから、データ、エラー検出パリティ・ビットおよびエラー訂正パリティ・ビットを読み取るように作動可能である。そして(iii)すべてのデータを訂正した後に、しかしエラー訂正パリティ・ビットのいずれをも訂正する前にエラー訂正スキームを停止する方式で、エラー訂正パリティ・ビットを用いて、且つエラー検出パリティ・ビットに応じて、以前に読み取られたデータへエラー訂正を適用するように作動可能である。
コントローラは、また、エラー検出パリティ・ビットが、データ内にエラーが全く存在しないことを示す場合にのみ、エラー訂正を停止するように作動可能であることが好ましい。
不揮発性メモリは、セルにつき複数ビットを記憶するように作動可能であることが好ましい。
不揮発性メモリはフラッシュメモリであることが好ましい。
本発明の、他の特徴および利点は、以下の図面および説明文から明らかになる。
本発明を、その実施例に関連させてより良く理解するために、添付の図面を参照する。図中、類似する数字は、全体を通して、対応するセクションあるいは素子を指す。
本発明は、従来の技術における処理時間および電力消費量を最小にするために、特定なECCアルゴリズムと併用する、MLCメモリ・デバイスの物理ページの異なるビット・ページ間で入力データをインターリーブするための方法である。
「フリップ」ビットを検出して訂正するためにすべてのデータ・ビットの検索が必要なECCスキームを考察しよう。そのようなスキームに対する例として、BCHデコーディングを考察してもよいだろう。
(一般的に、4よりも大きい)比較的多数のビット・エラーに対してBCHデコーダを実行する場合、「チェイン・サーチ」を用いて訂正すべきデータ・ビットを検出するのが一般的である。例えば、W.ウエズレー・ピーターソン、E.J.ウェルドンJr.「エラー訂正コード」、第二版、マサチューセッツ工科大学、1972を参照する。なお、この特許は、すべての目的において、参照により本文に完全に記述したものとする。「チェイン・サーチ」は、コード・ワードのビット・スキャンを行い、特定なビットがエラー・ビットでそれを反転すべきかどうかを調べる。しかし、コード・ワード内のエラー・ビットの合計数は、コード・ワード構造によって制限されるため、一般的に、「チェイン・サーチ」に先行するデコーディング・アルゴリズム段階で計算される。したがって、訂正すべきエラー・ビットの正確な数は、(「チェイン・サーチ」を用いる)コード・ワードのビット・スキャニングの前に、ECCアルゴリズムによって判定される。
よって、コード・ワードのビット・スキャニングは、すべてのエラー・ビットが検出されて訂正されたときに停止してもよい。そうすれば、コード・ワードのすべてのビットをビット・スキャンする必要を免れて、処理時間および電力を節約できる。アルゴリズムがすべてのエラー・ビットを既に捜し出したので、訂正すべきビットがもはや検出できないことが確かであれば、サーチは停止してもよい。
さて、入力データのインターリービングを見てみよう。本技術において既知であるように、データをインターリーブするプロセスは、メモリへデータを書き込むプロセス中、論理ページの入力データが、物理メモリ・ページのビット・ページ間で、等しく拡散されることを保証する。換言すれば、インターリービング・プロセスは、物理ページの各ビット・ページが、この物理ページを共有する入力データ論理ページの各々から、等しい個数のビットを得ることを、または、入力データ論理ページのビットが、等しい割合で、物理ページのすべてのビット・ページの間で分散されることを保証する。
したがって、データがメモリから読み出され、これらのデータにデインターリービング・プロセスが適用されると、デインターリービング・プロセスが作成した論理ページの各々は、物理ページのビット・ページの各々から等しい割合のビットを含む。
さらに、ムリン出願に開示されているように、物理ページのビット・ページの各々は、異なる確率のビット・エラーを持つことが、本技術において既知である。この確率は、メモリ・デバイス内で実行される電圧レベルのコーディング・スキームに依存する。電圧レベル・コーディング{7,6,4,5,1,0,2,3}を持つ3ビット・パー・セル・デバイスを実装する例を用いると、明白であるが、そのようなデバイスのビット・ページは、1:2:4の比率に従ったビット・エラーの確率を持つ(この比率は、各ビット・ページに対するレベル・コードにおけるビット変化の数に対応する)。この場合、LSB(最下位ビット)ページは、MSB(最上位ビット)ページの確率の4倍を持つ。物理ページの総エラー確率がPであると仮定すると、デバイスのビット・ページは、各々、P/7、2*P/7および4*P/7の確率を持つ。詳細はムリン出願を参照のこと。
デインターリービング後、各論理ページは、等しい割合で、すべてのエラー確率を持つビットを含むため、ビットの三分の一が、P/7のエラー確率を持ち、ビットの三分の一が、2*P/7のエラー確率を持ち、そしてビットの三分の一が、4*P/7のエラー確率を持つことになる。よって、物理ページの異なるビット・ページからデインターリーブした論理ページの異なる部分では、異なる個数のエラー・ビットが、エラー訂正アルゴリズムによって統計学的に検出される。
さて、ビットを次々とスキャンしてエラーを探索するエラー訂正アルゴリズムの段階をもう一度考察する。ビット・ページのビットを、エラー確率が減少する順序でスキャンするなら、平均で、このプロセスは、他のケースに比較して、より早く論理ページのすべてのエラーを検出してしまうだろう。したがって、時間および電力を節約できることになる。
しかしながら、ビット・スキャニングは、シーケンシャル方式で(すなわち、論理ページの最初のビットから論理ページの最後のビットへ)実行するのが最も経済的である。
したがって、ビット・スキャニングが論理ページの最初から開始するなら、ビットの最初の割り当ては、本発明によるインターリービング方法によって、エラー発生の確率が最も大きな、物理ページのLSBビット・ページに配置すべきであり、ビットの次の割り当ては、(LSB+1)ビット・ページに配置すべきであり、そして以降同様である。ビットの最後の割り当ては、本発明によるインターリービング方法によって、エラーの確率が最も小さな、物理ページのMSBビット・ページに配置すべきである。
最も一般的な言い方をすれば、1ページにNセルを持つMビット・パー・セル・デバイスのケースでは、本発明によるインターリービング方法は、次のように行われる。
各入力論理ページに対して、
N/Mビットの第一の割り当ては、インターリービングによって、物理ページの(LSB)ビット・ページに配置し、
N/Mビットの第二の割り当ては、インターリービングによって、物理ページの(LSB+1)ビット・ページに配置し、
N/MビットのM番目の割り当ては、インターリービングによって、物理ページの(MSB)ビット・ページに配置する。
よって、本発明によるインターリービング方法は、高確率で、論理ページ全体がビット・スキャンされる前に、典型的にすべてのエラー・ビットが検出されて訂正されることを保証するために提供される。これによって、最適処理時間および最適電力消費を達成する。
さて、図1を参照する。これは、本発明によるシステム10のブロック図である。コントローラ14は、ホスト20から受信したデータ・ビットが、インターリーブされてメモリ12内に記憶される方式を管理するように作動可能である。
インターリービング・ユニット16は、ホスト20から受信しECCユニット18でコード化した入力データへ、本発明によるインターリービング方法に従ってインターリービングを適用するよう実装されている。
さて、図2(A)を参照する。論理ページLP0、LP1、LP2、LP3に関わるデータ・ビットを、Nセルの物理ページを持つ4ビット・パー・セル・メモリ・デバイスへ書き込むことを説明する模範的な、非限定的な図である。各論理ページLP0、LP1、LP2、LP3は、各々四つのビット割り当てを含む。この場合、各割り当ての第一のインデックスは論理ページ番号を表し、第二のインデックスは割り当て番号を表す。
ビット割り当て「0,0」、「0,1」、「0,2」、「0,3」は、論理ページLP0に関連づけられ、ビット割り当て「1,0」、「1,1」、「1,2」、「1,3」は、論理ページLP1に関連づけられ、ビット割り当て「2,0」、「2,1」、「2,2」、「2,3」は、論理ページLP2に関連づけられ、そしてビット割り当て「3,0」、「3,1」、「3,2」、「3,3」は、論理ページLP3に関連づけられている。
典型的に、論理ページLP0、LP1、LP2、LP3の割り当て「0,3」、「1,3」、「2,3」、「3,3」内の少なくともいくつかのビットは、各々、データのパリティ・ビットを含む。
さて、図2(B)を参照する。本発明によるインターリービング方法の後の、4ビット・パー・セル・メモリ・デバイスの物理ページのビット・ページBP0、BPl、BP2、BP3へ書き込まれる、図2Aのデータ・ビットの模範的な、非限定的な説明図である。
本発明によるインターリービング方法の後、データ・ビットは、4ビット・パー・セル・メモリ・デバイスのビット・ページへ、以下のように書き込まれる。ビット割り当て「0,0」、「1,0」、「2,0」、「3,0」は、(エラー発生確率が最大である)ビット・ページBP0へ書き込まれ、ビット割り当て「0,1」、「1,1」、「2,1」、「3,1」は、(エラー発生確率が二番目に大きい)ビット・ページBP1へ書き込まれ、ビット割り当て「0,2」、「1,2」、「2,2」、「3,2」は、(エラー発生確率が三番目に大きい)ビット・ページBP2に書き込まれ、そしてビット割り当て「0,3」、「1,3」、「2,3」、「3,3」は、(エラー発生確率が最少である)ビット・ページBP3へ書き込まれる。
したがって、ビット・ページBP3の割り当て「0,3」、「1,3」、「2,3」、「3,3」内の少なくともいくつかのビットは、データのパリティ・ビットを含む。
データ・ビットが、本発明によるインターリービング方法によってメモリ・デバイスへ書き込まれる場合、データ・ビットを読み戻してデインターリーブするとき、論理ページLP0、LP1、LP2、LP3の各々におけるデータ・ビットは、各論理ページの最初から開始して、エラー確率が減少する順序でアレンジする。さて、これらの論理ページへ、論理ページの最初から、(エラー訂正プロシージャの一部として)チェイン・サーチを適用した場合、平均で、すべてのエラー・ビットは、論理ページの最後に到達する前に検出されて訂正されてしまう。チェイン・サーチは、最後の訂正ビットで停止してもよい。そうすれば、時間および電力を節約できる。
注意すべきは、各ビット割り当て内の[N/4]ビットのいずれも、メモリ・デバイス内に書き込まれる順序が、本発明によって制限されることがないことである。
さらに、注目すべきは、本発明によるインターリービング方法とは独立して、しかもそれに加えて、オプションとして、入力コード・ワードのユーザ・データ部分に対して、本技術において既知である単純な正当性チェック・コードを適用することによって、ビット・スキャニング・プロセスの効果を向上させることが望ましい。そのような正当性チェック・コードは、単純なチェックサムまたはCRC(巡回冗長検査)でもよい。正当性チェック・コードから得られたエラー検出パリティ・ビットが、(パリティ・ビットに加えて)ユーザ・データ・ビットをメモリ・デバイスへ書き込む前に入力コード・ワードのユーザ・データ・ビットへ付加される場合は、エラーを検索している間に、たとえ論理ページ内のすべてのエラーが検出されなくても(つまり、いくつかのエラーがユーザ・データ・ビットにはでなくパリティ・ビットにある場合)、メモリ・デバイスから読み出した正当性チェック・コードが、スキャンしたユーザ・データ・ビットへ適用されている正当性チェック・コードに合致することを条件として、すべてのユーザ・データ・ビットをチェックし終えたときにビット・スキャニング・プロセスを停止してもよい。
そのようなエラー・チェック技術を利用することによる時間および電力の節約は、エラー確率がより大きい、したがってコード・ワード内のパリティ・ビットの割合がより大きいケースでは、より大きいことは明らかである。
しかしながら、メモリ・デバイスから読み出した正当性チェック・コードと、スキャンしたユーザ・データ・ビットに適用されている正当性チェック・コードとが合致してもユーザ・データ・ビットにエラーがあるという(軽度ではあるが)特定な確率が残る(この確率は、正当性チェック・コードのタイプに、そしてサイズに依存する)ため、このプロシージャには、ユーザ・データ・ビットにおけるエラー誤検出の確率を増加させるという不都合がある。
本発明によるシステムをその特定な実施例に関して説明したが、さらに同業者が修正を施すことは可能であるのだから、上記説明は限定を意味しないと理解すべきである。また、そのような修正は、添付の請求項の範囲内でカバーすることを意図している。
本発明によるシステムを表すブロック図である。 (A)は、1ページでNセルを持つ4ビット・パー・セル・メモリ・デバイスのデータ・ビットへ、ホスト・コンピュータが関連づける論理ページの模範的な、非限定的な概略図であり、(B)は、本発明によるインタリーブ・スキーム後の、(A)に示す4ビット・パー・セル・メモリ・デバイスの物理ページのビット・ページへ書き込まれるデータ・ビットの、模範的な、非限定的な概略図である。

Claims (15)

  1. (a)第一のエラー確率を持つ不揮発性メモリのビット位置にデータの第一の部分を記憶するステップ、
    (b)前記第一のエラー確率よりも低い第二のエラー確率を持つ前記不揮発性メモリのビット位置にデータの第二の部分を記憶するステップ、
    (c)データと一緒にエラー訂正パリティ・ビットを記憶するステップ、
    (d)前記不揮発性メモリからデータおよび前記エラー訂正パリティ・ビットを読み取るステップ、そして
    (e)前記エラー訂正パリティ・ビットを用いて、読み取ったデータへエラー訂正を適用するステップからなり、前記第二の部分のビットが訂正のためにチェックされる前に、前記第一の部分の少なくとも一つのビットが、訂正のためにチェックされる、データを記憶するための方法。
  2. さらに、
    (f)すべてのデータの訂正のためのチェックの前に、前記適用を停止するステップからなる、請求項1の方法。
  3. さらに、
    (f)データ内のエラー・ビット数を判定するステップ、
    (g)すべてのデータの訂正のためのチェックの前に、前記エラー・ビット数に応じて前記適用を停止するステップからなる、請求項1の方法。
  4. 前記不揮発性メモリが、前記不揮発性メモリのセル毎に複数ビットを記憶するように作動可能である、請求項1の方法。
  5. (a)データを記憶するための不揮発性メモリ、そして
    (b)コントローラからなるメモリ・デバイスであって、
    このコントローラが、
    (i)第一のエラー確率を持つ不揮発性メモリのビット位置に前記データの第一の部分を、そして前記第一のエラー確率よりも低い第二のエラー確率を持つ不揮発性メモリのビット位置に、前記データの少なくとも第二の部分を記憶するよう、そして
    (ii)エラー訂正パリティ・ビットを用いて、前記データへエラー訂正を適用するよう作動可能であり、前記第二の部分のビットが訂正のためにチェックされる前に、前記第一の部分の少なくとも一つのビットが、訂正のためにチェックされる、メモリ・デバイス。
  6. 前記コントローラが、さらに、すべての前記データの訂正のためのチェックの前に、前記エラー訂正を停止するように作動可能である、請求項5のメモリ・デバイス。
  7. 前記コントローラが、さらに、前記データ内のエラー・ビットの数を判定して、前記数に応じて前記エラー訂正を停止するよう作動可能である、請求項5のメモリ・デバイス。
  8. 前記不揮発性メモリが、セルにつき複数ビットを記憶するように作動可能である、請求項5のメモリ・デバイス。
  9. 前記不揮発性メモリがフラッシュメモリである、請求項5のメモリ・デバイス。
  10. (a)不揮発性メモリ内にデータを記憶するステップ、
    (b)データと一緒にエラー検出パリティ・ビットを記憶するステップ、
    (c)前記エラー検出パリティ・ビットとは別に、データと一緒にエラー訂正パリティ・ビットを記憶するステップ、
    (d)前記不揮発性メモリからデータ、前記エラー検出パリティ・ビットおよび前記エラー訂正パリティ・ビットを読み取るステップ、
    (e)前記エラー訂正パリティ・ビットを用いて、前記読み取ったデータへエラー訂正を適用するステップ、そして
    (f)すべてのデータを訂正した後に、しかし前記エラー訂正パリティ・ビットのどれをも訂正する前に、前記エラー検出パリティ・ビットに応じて、前記適用を停止するステップからなる、データを記憶するための方法。
  11. 前記エラー検出パリティ・ビットが、データ内にエラーが全く存在しないことを示す場合にのみ、前記停止が実行される、請求項10の方法。
  12. (a)データを記憶するための不揮発性メモリ、そして
    (b)コントローラからなるメモリ・デバイスであって、
    このコントローラが、
    (i)前記データと一緒にエラー訂正パリティ・ビットおよびエラー検出パリティ・ビットを記憶するように作動可能であり、このため、前記エラー検出パリティ・ビットが、前記エラー訂正パリティ・ビットとは別に記憶され、
    (ii)前記不揮発性メモリから前記データ、前記エラー検出パリティ・ビットおよび前記エラー訂正パリティ・ビットを読み取るように作動可能であり、そして
    (iii)すべての前記データを訂正した後に、しかし前記エラー訂正パリティ・ビットのどれをも訂正する前に、エラー訂正を停止する方式で、前記エラー訂正パリティ・ビットを用いて、且つ前記エラー検出パリティ・ビットに応じて、前記読み取ったデータへ前記エラー訂正を適用するように作動可能である、メモリ・デバイス。
  13. 前記エラー検出パリティ・ビットが、前記データ内に全くエラーが存在しないことを示す場合にのみ、コントローラが、前記エラー訂正を停止するように作動可能である、請求項12のメモリ・デバイス。
  14. 前記不揮発性メモリが、セルにつき複数ビットを記憶するように作動可能である、請求項12のメモリ・デバイス。
  15. 前記不揮発性メモリがフラッシュメモリである、請求項12のメモリ・デバイス。
JP2008550908A 2006-01-18 2007-01-17 マルチレベル・セル・メモリ・デバイス内のデータをアレンジする方法 Pending JP2010517117A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US75939606P 2006-01-18 2006-01-18
PCT/IL2007/000061 WO2007083303A2 (en) 2006-01-18 2007-01-17 A method of arranging data in a multi-level cell memory device

Publications (1)

Publication Number Publication Date
JP2010517117A true JP2010517117A (ja) 2010-05-20

Family

ID=38288010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008550908A Pending JP2010517117A (ja) 2006-01-18 2007-01-17 マルチレベル・セル・メモリ・デバイス内のデータをアレンジする方法

Country Status (6)

Country Link
US (1) US8020060B2 (ja)
EP (1) EP1974471A2 (ja)
JP (1) JP2010517117A (ja)
CN (1) CN101502001A (ja)
TW (1) TW200737215A (ja)
WO (1) WO2007083303A2 (ja)

Families Citing this family (163)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8650352B2 (en) 2007-09-20 2014-02-11 Densbits Technologies Ltd. Systems and methods for determining logical values of coupled flash memory cells
US8365040B2 (en) 2007-09-20 2013-01-29 Densbits Technologies Ltd. Systems and methods for handling immediate data errors in flash memory
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
US8341335B2 (en) 2007-12-05 2012-12-25 Densbits Technologies Ltd. Flash memory apparatus with a heating system for temporarily retired memory portions
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
US8607128B2 (en) 2007-12-05 2013-12-10 Densbits Technologies Ltd. Low power chien-search based BCH/RS decoding system for flash memory, mobile communications devices and other applications
US8276051B2 (en) 2007-12-12 2012-09-25 Densbits Technologies Ltd. Chien-search system employing a clock-gating scheme to save power for error correction decoder and other applications
WO2009074978A2 (en) 2007-12-12 2009-06-18 Densbits Technologies Ltd. Systems and methods for error correction and decoding on multi-level physical media
WO2009078006A2 (en) 2007-12-18 2009-06-25 Densbits Technologies Ltd. Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US7934052B2 (en) 2007-12-27 2011-04-26 Pliant Technology, Inc. System and method for performing host initiated mass storage commands using a hierarchy of data structures
US8627165B2 (en) * 2008-03-24 2014-01-07 Micron Technology, Inc. Bitwise operations and apparatus in a multi-level system
US8972472B2 (en) 2008-03-25 2015-03-03 Densbits Technologies Ltd. Apparatus and methods for hardware-efficient unbiased rounding
US8111548B2 (en) 2008-07-21 2012-02-07 Sandisk Technologies Inc. Programming non-volatile storage using binary and multi-state programming processes
US8332725B2 (en) 2008-08-20 2012-12-11 Densbits Technologies Ltd. Reprogramming non volatile memory portions
US8127091B2 (en) * 2008-10-30 2012-02-28 Micron Technology, Inc. Programming memory cells with additional data for increased threshold voltage resolution
US8458574B2 (en) 2009-04-06 2013-06-04 Densbits Technologies Ltd. Compact chien-search based decoding apparatus and method
US8819385B2 (en) 2009-04-06 2014-08-26 Densbits Technologies Ltd. Device and method for managing a flash memory
US8566510B2 (en) 2009-05-12 2013-10-22 Densbits Technologies Ltd. Systems and method for flash memory management
US8027195B2 (en) 2009-06-05 2011-09-27 SanDisk Technologies, Inc. Folding data stored in binary format into multi-state format within non-volatile memory devices
US8102705B2 (en) 2009-06-05 2012-01-24 Sandisk Technologies Inc. Structure and method for shuffling data within non-volatile memory devices
US20110002169A1 (en) 2009-07-06 2011-01-06 Yan Li Bad Column Management with Bit Information in Non-Volatile Memory Systems
US8868821B2 (en) 2009-08-26 2014-10-21 Densbits Technologies Ltd. Systems and methods for pre-equalization and code design for a flash memory
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
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
US8305812B2 (en) 2009-08-26 2012-11-06 Densbits Technologies 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
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
US8725935B2 (en) 2009-12-18 2014-05-13 Sandisk Technologies Inc. Balanced performance for on-chip folding of non-volatile memories
US8144512B2 (en) 2009-12-18 2012-03-27 Sandisk Technologies Inc. Data transfer flows for on-chip folding
US8468294B2 (en) 2009-12-18 2013-06-18 Sandisk Technologies Inc. Non-volatile memory with multi-gear control using on-chip folding of data
US20110153912A1 (en) 2009-12-18 2011-06-23 Sergey Anatolievich Gorobets Maintaining Updates of Multi-Level Non-Volatile Memory in Binary Non-Volatile Memory
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
US8341502B2 (en) 2010-02-28 2012-12-25 Densbits Technologies Ltd. System and method for multi-dimensional decoding
US8516274B2 (en) 2010-04-06 2013-08-20 Densbits Technologies Ltd. Method, system and medium for analog encryption in a flash memory
US8527840B2 (en) 2010-04-06 2013-09-03 Densbits Technologies Ltd. System and method for restoring damaged data programmed on a flash device
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
US8417876B2 (en) 2010-06-23 2013-04-09 Sandisk Technologies Inc. Use of guard bands and phased maintenance operations to avoid exceeding maximum latency requirements in non-volatile memory systems
US8468431B2 (en) 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US8539311B2 (en) 2010-07-01 2013-09-17 Densbits Technologies Ltd. System and method for data recovery in multi-level cell memories
US8467249B2 (en) 2010-07-06 2013-06-18 Densbits Technologies Ltd. Systems and methods for storing, retrieving, and adjusting read thresholds in flash memory storage system
CN107093464A (zh) 2010-07-13 2017-08-25 桑迪士克科技有限责任公司 后台存储器系统接口的动态优化
US8464135B2 (en) 2010-07-13 2013-06-11 Sandisk Technologies Inc. Adaptive flash interface
US9069688B2 (en) 2011-04-15 2015-06-30 Sandisk Technologies Inc. Dynamic optimization of back-end memory system interface
US8964464B2 (en) 2010-08-24 2015-02-24 Densbits Technologies Ltd. System and method for accelerated sampling
US8508995B2 (en) 2010-09-15 2013-08-13 Densbits Technologies Ltd. System and method for adjusting read voltage thresholds in memories
US8560919B2 (en) * 2010-10-22 2013-10-15 Sandisk Technologies Inc. System and method of interleaving data according to an adjustable parameter
US9063878B2 (en) 2010-11-03 2015-06-23 Densbits Technologies Ltd. Method, system and computer readable medium for copy back
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
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
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
US9342446B2 (en) 2011-03-29 2016-05-17 SanDisk Technologies, Inc. Non-volatile memory system allowing reverse eviction of data updates to non-volatile binary cache
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
CN102279803A (zh) * 2011-04-13 2011-12-14 西安交通大学 一种提高多层单元NAND-Flash存储可靠性的备用区分配方法
US8996790B1 (en) 2011-05-12 2015-03-31 Densbits Technologies Ltd. System and method for flash memory management
US9195592B1 (en) 2011-05-12 2015-11-24 Densbits Technologies Ltd. Advanced management of a non-volatile memory
US9110785B1 (en) 2011-05-12 2015-08-18 Densbits Technologies Ltd. Ordered merge of data sectors that belong to memory space portions
US9372792B1 (en) 2011-05-12 2016-06-21 Avago Technologies General Ip (Singapore) Pte. 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
US9396106B2 (en) 2011-05-12 2016-07-19 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
US8775901B2 (en) 2011-07-28 2014-07-08 SanDisk Technologies, Inc. Data recovery for defective word lines during programming of non-volatile memory arrays
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
JP2013089082A (ja) 2011-10-19 2013-05-13 Toshiba Corp メモリコントローラ、半導体記憶システムおよびメモリ制御方法
US8793543B2 (en) 2011-11-07 2014-07-29 Sandisk Enterprise Ip Llc Adaptive read comparison signal generation for memory systems
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
US8842473B2 (en) 2012-03-15 2014-09-23 Sandisk Technologies Inc. Techniques for accessing column selecting shift register with skipped entries in non-volatile memories
US9026887B2 (en) 2012-03-15 2015-05-05 Micron Technology, Inc. Physical page, logical page, and codeword correspondence
CN103365737B (zh) * 2012-04-06 2016-09-14 国民技术股份有限公司 数据读写方法、读写装置及数据存储系统
US8996793B1 (en) 2012-04-24 2015-03-31 Densbits Technologies Ltd. System, method and computer readable medium for generating soft information
US8681548B2 (en) 2012-05-03 2014-03-25 Sandisk Technologies Inc. Column redundancy circuitry for non-volatile memory
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
US8804452B2 (en) 2012-07-31 2014-08-12 Micron Technology, Inc. Data interleaving module
US9699263B1 (en) 2012-08-17 2017-07-04 Sandisk Technologies Llc. Automatic read and write acceleration of data accessed by virtual machines
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
US9076506B2 (en) 2012-09-28 2015-07-07 Sandisk Technologies Inc. Variable rate parallel to serial shift register
US9490035B2 (en) 2012-09-28 2016-11-08 SanDisk Technologies, Inc. Centralized variable rate serializer and deserializer for bad column management
US8897080B2 (en) 2012-09-28 2014-11-25 Sandisk Technologies Inc. Variable rate serial to parallel shift register
US9368225B1 (en) 2012-11-21 2016-06-14 Avago Technologies General Ip (Singapore) Pte. Ltd. Determining read thresholds based upon read error direction statistics
US9501398B2 (en) 2012-12-26 2016-11-22 Sandisk Technologies Llc Persistent storage device with NVRAM for staging writes
US9239751B1 (en) 2012-12-27 2016-01-19 Sandisk Enterprise Ip Llc Compressing data from multiple reads for error control management in memory systems
US9612948B2 (en) 2012-12-27 2017-04-04 Sandisk Technologies Llc Reads and writes between a contiguous data block and noncontiguous sets of logical address blocks in a persistent storage device
KR102123946B1 (ko) * 2012-12-28 2020-06-17 삼성전자주식회사 멀티 레벨 셀 메모리 장치 및 그것의 동작방법
US9454420B1 (en) 2012-12-31 2016-09-27 Sandisk Technologies Llc Method and system of reading threshold voltage equalization
US9069659B1 (en) 2013-01-03 2015-06-30 Densbits Technologies Ltd. Read threshold determination using reference read threshold
US8913428B2 (en) 2013-01-25 2014-12-16 Sandisk Technologies Inc. Programming non-volatile storage system with multiple memory die
US9026757B2 (en) 2013-01-25 2015-05-05 Sandisk Technologies Inc. Non-volatile memory programming data preservation
US9870830B1 (en) 2013-03-14 2018-01-16 Sandisk Technologies Llc Optimal multilevel sensing for reading data from a storage medium
US9117530B2 (en) 2013-03-14 2015-08-25 Sandisk Technologies Inc. Preserving data from adjacent word lines while programming binary non-volatile storage elements
US9236886B1 (en) 2013-03-15 2016-01-12 Sandisk Enterprise Ip Llc Universal and reconfigurable QC-LDPC encoder
US9367246B2 (en) 2013-03-15 2016-06-14 Sandisk Technologies Inc. Performance optimization of data transfer for soft information generation
US9244763B1 (en) 2013-03-15 2016-01-26 Sandisk Enterprise Ip Llc System and method for updating a reading threshold voltage based on symbol transition information
US9092350B1 (en) * 2013-03-15 2015-07-28 Sandisk Enterprise Ip Llc Detection and handling of unbalanced errors in interleaved codewords
US9136877B1 (en) 2013-03-15 2015-09-15 Sandisk Enterprise Ip Llc Syndrome layered decoding for LDPC codes
US9159437B2 (en) 2013-06-11 2015-10-13 Sandisk Enterprise IP LLC. Device and method for resolving an LM flag issue
US9136876B1 (en) 2013-06-13 2015-09-15 Densbits Technologies Ltd. Size limited multi-dimensional decoding
US9384126B1 (en) 2013-07-25 2016-07-05 Sandisk Technologies Inc. Methods and systems to avoid false negative results in bloom filters implemented in non-volatile data storage systems
US9524235B1 (en) 2013-07-25 2016-12-20 Sandisk Technologies Llc Local hash value generation in non-volatile data storage systems
US9009568B2 (en) 2013-08-09 2015-04-14 Sandisk Technologies Inc. Sensing parameter management in non-volatile memory storage system to compensate for broken word lines
US9235509B1 (en) 2013-08-26 2016-01-12 Sandisk Enterprise Ip Llc Write amplification reduction by delaying read access to data written during garbage collection
US9639463B1 (en) 2013-08-26 2017-05-02 Sandisk Technologies Llc Heuristic aware garbage collection scheme in storage systems
TWI512732B (zh) * 2013-08-30 2015-12-11 Phison Electronics Corp 解碼方法、記憶體儲存裝置與非揮發性記憶體模組
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
US9348694B1 (en) 2013-10-09 2016-05-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Detecting and managing bad columns
US9786388B1 (en) 2013-10-09 2017-10-10 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
US9442662B2 (en) 2013-10-18 2016-09-13 Sandisk Technologies Llc Device and method for managing die groups
US9298608B2 (en) 2013-10-18 2016-03-29 Sandisk Enterprise Ip Llc Biasing for wear leveling in storage systems
US9436831B2 (en) 2013-10-30 2016-09-06 Sandisk Technologies Llc Secure erase in a memory device
US9263156B2 (en) 2013-11-07 2016-02-16 Sandisk Enterprise Ip Llc System and method for adjusting trip points within a storage device
US9244785B2 (en) 2013-11-13 2016-01-26 Sandisk Enterprise Ip Llc Simulated power failure and data hardening
US9703816B2 (en) 2013-11-19 2017-07-11 Sandisk Technologies Llc Method and system for forward reference logging in a persistent datastore
CN103645964B (zh) * 2013-11-22 2017-05-10 中国电子科技集团公司第三十二研究所 嵌入式处理器的高速缓存容错机制
US9520197B2 (en) 2013-11-22 2016-12-13 Sandisk Technologies Llc Adaptive erase of a storage device
US9520162B2 (en) 2013-11-27 2016-12-13 Sandisk Technologies Llc DIMM device controller supervisor
US9582058B2 (en) 2013-11-29 2017-02-28 Sandisk Technologies Llc Power inrush management of storage devices
US9235245B2 (en) 2013-12-04 2016-01-12 Sandisk Enterprise Ip Llc Startup performance and power isolation
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
US9703636B2 (en) 2014-03-01 2017-07-11 Sandisk Technologies Llc Firmware reversion trigger and control
US9390814B2 (en) 2014-03-19 2016-07-12 Sandisk Technologies Llc Fault detection and prediction for data storage elements
US9454448B2 (en) 2014-03-19 2016-09-27 Sandisk Technologies Llc Fault testing in storage devices
US9448876B2 (en) 2014-03-19 2016-09-20 Sandisk Technologies Llc Fault detection and prediction in storage devices
US9626399B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Conditional updates for reducing frequency of data modification operations
US9390021B2 (en) 2014-03-31 2016-07-12 Sandisk Technologies Llc Efficient cache utilization in a tiered data structure
US9626400B2 (en) 2014-03-31 2017-04-18 Sandisk Technologies Llc Compaction of information in tiered data structure
US9697267B2 (en) 2014-04-03 2017-07-04 Sandisk Technologies Llc Methods and systems for performing efficient snapshots in tiered data structures
US9384128B2 (en) 2014-04-18 2016-07-05 SanDisk Technologies, Inc. Multi-level redundancy code for non-volatile memory controller
US9646699B2 (en) 2014-04-30 2017-05-09 Empire Technology Development Llc Differential writing for life extension of portions of a memory device
US9542262B1 (en) 2014-05-29 2017-01-10 Avago Technologies General Ip (Singapore) Pte. Ltd. Error correction
US10162748B2 (en) 2014-05-30 2018-12-25 Sandisk Technologies Llc Prioritizing garbage collection and block allocation based on I/O history for logical address regions
US10656840B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Real-time I/O pattern recognition to enhance performance and endurance of a storage device
US10146448B2 (en) 2014-05-30 2018-12-04 Sandisk Technologies Llc Using history of I/O sequences to trigger cached read ahead in a non-volatile storage device
US9703491B2 (en) 2014-05-30 2017-07-11 Sandisk Technologies Llc Using history of unaligned writes to cache data and avoid read-modify-writes in a non-volatile storage device
US10114557B2 (en) 2014-05-30 2018-10-30 Sandisk Technologies Llc Identification of hot regions to enhance performance and endurance of a non-volatile storage device
US10372613B2 (en) 2014-05-30 2019-08-06 Sandisk Technologies Llc Using sub-region I/O history to cache repeatedly accessed sub-regions in a non-volatile storage device
US10656842B2 (en) 2014-05-30 2020-05-19 Sandisk Technologies Llc Using history of I/O sizes and I/O sequences to trigger coalesced writes in a non-volatile storage device
US9652381B2 (en) 2014-06-19 2017-05-16 Sandisk Technologies Llc Sub-block garbage collection
US9892033B1 (en) 2014-06-24 2018-02-13 Avago Technologies General Ip (Singapore) Pte. Ltd. Management of memory units
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
US9449702B1 (en) 2014-07-08 2016-09-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Power management
US9443601B2 (en) 2014-09-08 2016-09-13 Sandisk Technologies Llc Holdup capacitor energy harvesting
US9934872B2 (en) 2014-10-30 2018-04-03 Sandisk Technologies Llc Erase stress and delta erase loop count methods for various fail modes in non-volatile memory
US9524211B1 (en) 2014-11-18 2016-12-20 Avago Technologies General Ip (Singapore) Pte. Ltd. Codeword management
US9224502B1 (en) 2015-01-14 2015-12-29 Sandisk Technologies Inc. Techniques for detection and treating memory hole to local interconnect marginality defects
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
US10032524B2 (en) 2015-02-09 2018-07-24 Sandisk Technologies Llc Techniques for determining local interconnect defects
US9269446B1 (en) 2015-04-08 2016-02-23 Sandisk Technologies Inc. Methods to improve programming of slow cells
US9564219B2 (en) 2015-04-08 2017-02-07 Sandisk Technologies Llc Current based detection and recording of memory hole-interconnect spacing defects
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
US9954558B1 (en) 2016-03-03 2018-04-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Fast decoding of data stored in a flash memory
KR102599047B1 (ko) 2018-11-13 2023-11-06 삼성전자주식회사 데이터 신뢰성을 향상한 메모리 컨트롤러, 이를 포함하는 메모리 시스템 및 메모리 컨트롤러의 동작방법
US11354231B2 (en) * 2019-05-30 2022-06-07 Silicon Motion, Inc. Method for performing access management of memory device with aid of information arrangement, associated memory device and controller thereof, associated electronic device
CN112214172A (zh) * 2020-10-12 2021-01-12 北京泽石科技有限公司 Qlc nand的编码方法与编码装置

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5051889A (en) * 1987-10-23 1991-09-24 Chips And Technologies, Incorporated Page interleaved memory access
US6628544B2 (en) * 1999-09-30 2003-09-30 Infineon Technologies Ag Flash memory cell and method to achieve multiple bits per cell
JP3969240B2 (ja) * 2002-08-02 2007-09-05 ソニー株式会社 半導体記憶装置
US7493457B2 (en) * 2004-11-08 2009-02-17 Sandisk Il. Ltd States encoding in multi-bit flash cells for optimizing error rate

Also Published As

Publication number Publication date
CN101502001A (zh) 2009-08-05
WO2007083303A3 (en) 2009-04-09
WO2007083303A2 (en) 2007-07-26
US20070180346A1 (en) 2007-08-02
US8020060B2 (en) 2011-09-13
EP1974471A2 (en) 2008-10-01
TW200737215A (en) 2007-10-01

Similar Documents

Publication Publication Date Title
JP2010517117A (ja) マルチレベル・セル・メモリ・デバイス内のデータをアレンジする方法
KR101576102B1 (ko) 플래시 메모리의 블록으로부터 데이터를 판독하는 방법 및 관련 메모리 장치
US8707135B2 (en) Method and system of dynamic data storage for error correction in a memory device
US8631304B2 (en) Overlapping error correction operations
US8122303B2 (en) Data structure for flash memory and data reading/writing method thereof
US9063878B2 (en) Method, system and computer readable medium for copy back
US8175012B2 (en) Decoding/encoding method for booting from a NAND flash and system thereof
US9015554B2 (en) Management of non-valid decision patterns of a soft read retry operation
CN101536109B (zh) Mbc闪存中的错误校正的方法
JP3982639B2 (ja) マルチレベルセルを有するメモリからデータを読み取る方法
US10180794B2 (en) Soft decoding scheduling
US8055942B2 (en) Data storage devices and methods for power-on initialization
US20100131806A1 (en) Apparatus for coding at a plurality of rates in multi-level flash memory systems, and methods useful in conjunction therewith
US20120042225A1 (en) Data storage with an outer block code and a stream-based inner code
US8015473B2 (en) Method, system, and apparatus for ECC protection of small data structures
US20140250346A1 (en) Memory System And Operation Method Thereof
JP5132687B2 (ja) メモリにおけるキャッシュを利用した誤り検出及び訂正方法及び装置
JP5529751B2 (ja) メモリアレイにおけるエラー訂正
US20140115416A1 (en) Non-volatile memory error correction
US8949684B1 (en) Segmented data storage
US8463982B2 (en) Method of storing and accessing error correcting code in NAND flash
CN101308702B (zh) 适用于闪存的数据结构及其数据写入方法和数据读取方法
US7689895B2 (en) On-the fly error checking and correction CODEC system and method for supporting non-volatile memory
WO2019136976A1 (zh) 一种编译码系统使用多种错误纠正码组合的方法
CN109872764B (zh) 一种多级存储单元闪存的ecc多码率编解码系统及方法