JP5620973B2 - アナログメモリセルにおける最適スレッシュホールドのサーチ - Google Patents

アナログメモリセルにおける最適スレッシュホールドのサーチ Download PDF

Info

Publication number
JP5620973B2
JP5620973B2 JP2012289484A JP2012289484A JP5620973B2 JP 5620973 B2 JP5620973 B2 JP 5620973B2 JP 2012289484 A JP2012289484 A JP 2012289484A JP 2012289484 A JP2012289484 A JP 2012289484A JP 5620973 B2 JP5620973 B2 JP 5620973B2
Authority
JP
Japan
Prior art keywords
read
threshold
memory cells
result
group
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.)
Expired - Fee Related
Application number
JP2012289484A
Other languages
English (en)
Other versions
JP2013145625A (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.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2013145625A publication Critical patent/JP2013145625A/ja
Application granted granted Critical
Publication of JP5620973B2 publication Critical patent/JP5620973B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/021Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Description

本発明は、一般的に、メモリ装置に関するもので、より詳細には、アナログメモリセルを読み取るためのスレッシュホールドを設定する方法及びシステムに関する。
フラッシュメモリのような多数の形式のメモリ装置は、データを記憶するためにアナログメモリセルのアレイを使用している。各アナログメモリセルは、セルに記憶されたデータを表わす電荷又は電圧のようなあるレベルの所与の物理的量を保持する。この物理的量のレベルは、アナログ記憶値又はアナログ値とも称される。例えば、フラッシュメモリでは、各アナログメモリセルが、ある量の電荷を保持する。あり得るアナログ値の範囲は、典型的に、1つ以上のデータビット値を表わすプログラミング状態又はプログラミングレベルに各々対応する領域へと分割される。望ましいビット(1つ又は複数)に対応する公称アナログ値を書き込むことによりアナログメモリセルにデータが書き込まれる。
シングルレベルセル(SLC)装置と一般的に称されるあるメモリ装置は、情報の単一ビットを各メモリセルに記憶し、即ち各メモリセルは、2つのあり得るメモリ状態をとるようにプログラムすることができる。マルチレベルセル(MLC)装置としばしば称される高密度装置は、メモリセル当たり2つ以上のビットを記憶し、即ち3つ以上のあり得るメモリ状態をとるようにプログラムすることができる。
フラッシュメモリ装置は、例えば、ベズ氏等により“Introduction to Flash Memory”Proceedings of the IEEE、第91巻、第4号、2003年4月、第489−502ページに説明されており、これは、参考としてここに援用される。マルチレベルフラッシュセル及び装置は、例えば、エイタン氏等により、“Multilevel Flash Cells and their Trade-Offs”Proceedings of the 1996 IEEE International Electron Devices Meeting (IEDM)、ニューヨーク州ニューヨーク、第169−172ページに説明されており、これも、参考としてここに援用される。この論文は、共通接地、DINOR、AND、NOR、及びNANDセルのような多数の種類のマルチレベルフラッシュセルを比較している。
エイタン氏等は、ニトライドリードオンリメモリ(NROM)と称される別の形式のアナログメモリセルを“Can NROM, a 2-bit, Trapping Storage NVM Cell, Give a Real Challenge to Floating Gate Cells?”Proceedings of the 1999 International Conference on Solid State Devices and Materials (SSDM)、日本国東京、1999年9月21−24日、第522−524ページに説明しており、これも、参考としてここに援用される。又、NROMセルは、マーヤン氏等により、“A 512 Mb NROM Flash Data Storage Memory with 8 MB/s Data Rate”Proceedings of the 2002 IEEE International Solid-State Circuit Conference (ISSCC 2002)、カリフォルニア州サンフランシスコ、2002年2月3−7日、第100−101ページにも説明されており、これも、参考としてここに援用される。他の規範的形式のアナログメモリセルは、フローティングゲート(FG)セル、強誘電RAM(FRAM)セル、磁気RAM(MRAM)セル、チャージトラップフラッシュ(CTF)及び相変化RAM(PRAM、相変化メモリPCMとも称される)セルである。FRAM、MRAM及びPRAMセルは、例えば、キム及びホ氏により、“Future Memory Technology including Emerging New Memories”Proceedings of the 24th International Conference on Microelectronics (MIEL)、ニース、セルビア及びモンテネグロ、2004年5月16−19日、第1巻、第377−384ページに説明されており、これも、参考としてここに援用される。
アナログメモリセルを読み取るための読み取りスレッシュホールド及び他の読み取りパラメータを設定する種々の技術がこの分野で知られている。例えば、参考としてここに開示を援用する米国特許公告第2009/0199074号は、アナログメモリセルを含むメモリを動作するための方法を述べている。この方法は、複数の方程式で表すことのできるエラー修正コード(ECC)でデータをエンコードすることを含む。エンコードされたデータは、グループのメモリセルに各入力記憶値を書き込むことによりアナログメモリセルのグループに記憶される。出力記憶値の複数のセットが、各セットに対して1つ以上の異なる各読み取りパラメータを使用して、グループのメモリセルから読み取られる。出力記憶値の各セットにより満足される方程式の数が決定される。読み取りパラメータの好ましい設定は、満足される方程式の各数に応じて識別される。メモリは、読み取りパラメータの好ましい設定を使用して動作される。
ここに述べる本発明の一実施形態は、アナログメモリセルのグループにデータを記憶することを含む方法を提供する。グループのメモリセルは、第1の読み取りスレッシュホールドを使用して読み取られて、第1の読み出し結果を発生し、そして第2の読み取りスレッシュホールドを使用して再読み取りされて、第2の読み出し結果を発生する。第1の読み取りスレッシュホールドの少なくとも1つ及び第2の読み取りスレッシュホールドの少なくとも1つを含む第3の読み取りスレッシュホールドが定義される。第1、第2及び第3の読み取りスレッシュホールドの読み出し性能は、第1及び第2の読み出し結果に基づいて評価される。第1、第2又は第3の読み取りスレッシュホールドは、評価された読み出し性能に基づいて選択され、そしてその選択された読み取りスレッシュホールドを使用してデータ回復が遂行される。
ある実施形態において、データ回復を遂行することは、メモリセルのグループに記憶されたデータを回復するか、又はメモリセルの異なるグループに記憶されたデータを回復することを含む。一実施形態において、読み出し性能を評価することは、第1及び第2の読み出し結果から、第3の読み取りスレッシュホールドを使用してグループのメモリセルを読み取ることにより生じる第3の読み出し結果を導出し、そしてその第3の読み出し結果に基づいて読み出し性能を査定することを含む。
ここに開示する実施形態では、第3の読み出し結果を導出することは、グループのメモリセルを、1つ以上の補助的な読み取りスレッシュホールドを使用するグループからの読み出しに基づいて第1及び第2のサブセットへと分割し、そして第1サブセットのメモリセルから読み取られた第1の読み出し結果、及び第2サブセットのメモリセルから読み取られた第2の読み出し結果を選択することにより第3の読み出し結果を形成することを含む。一実施形態において、補助的な読み取りスレッシュホールドは、読み取りスレッシュホールドの第1又は第2のセットを含む。
別の実施形態において、記憶されたデータは、エラー修正コード(ECC)でエンコードされ、そして読み出し性能を評価することは、グループのメモリセルを第1及び第2のサブセットに分割し、第2のサブセットのメモリセルから読み取られた第1の読み出し結果をナル化しながら、第1のサブセットのメモリセルから読み取られた第1の読み出し結果に基づいてECCの第1の部分的シンドロームを計算し、第1のサブセットのメモリセルから読み取られた第2の読み出し結果をナル化しながら、第2のサブセットのメモリセルから読み取られた第2の読み出し結果に基づいてECCの第2の部分的シンドロームを計算し、第1及び第2の部分的シンドロームを加算することにより、第3の読み取りスレッシュホールドを使用してグループのメモリセルを読み取ることにより生じる第3の読み出し結果に対応するECCの第3のシンドロームを計算し、そして第1の読み出し結果に対して計算された第1のシンドローム、第2の読み出し結果に対して計算された第2のシンドローム、及び第3のシンドロームを比較することにより読み出し性能を評価することを含む。一実施形態において、グループのメモリセルを第1及び第2のサブセットに分割することは、1つ以上の補助的な読み取りスレッシュホールドを使用するグループからの読み出しに基づいて第1及び第2のサブセットを定義することを含む。
更に別の実施形態において、記憶されたデータは、パリティチェック方程式のセットにより定義されたECCでエンコードされ、そして読み出し性能を評価することは、第1の読み出し結果、第2の読み出し結果、及び第3の読み取りスレッシュホールドを使用してグループのメモリセルを読み取ることにより生じる第3の読み出し結果により満足されるパリティチェック方程式の各カウントを計算することを含む。更に別の実施形態において、記憶されたデータは、ECCでエンコードされ、そして読み出し性能を評価することは、第1、第2及び第3の読み取りスレッシュホールドに基づいてECCのデコードの成功又は失敗を評価することを含む。
ここに開示する実施形態において、記憶されたデータは、ECCでエンコードされ、そして読み出し性能を評価することは、第1、第2及び第3の読み取りスレッシュホールドに基づいてECCをデコードするデコーディングプロセスの暫定的結果を評価することを含む。暫定的結果を評価することは、ECCのエラーロケーター多項式のランクを計算することを含む。
一実施形態において、ECCは、複数の補助的ECCを含む複合ECCを含み、暫定的結果を評価することは、補助的ECCのサブセットのみのデコーディング結果を評価することを含む。別の実施形態において、メモリ装置にはアナログメモリセルが含まれ、そしてメモリセルを読み取り及び再読み取りすることは、第1及び第2の両読み取りスレッシュホールドを使用してメモリセルを読み取る単一読み取りコマンドをメモリ装置で受け取って実行することを含む。
更に、本発明の一実施形態によれば、メモリ及び記憶回路を備えた装置が提供される。メモリは、複数のアナログメモリセルを含む。記憶回路は、アナログメモリセルのグループにおいてデータを記憶し、第1の読み取りスレッシュホールドを使用してグループ内のメモリセルを読み取って第1の読み出し結果を発生し、第2の読み取りスレッシュホールドを使用してグループ内のメモリセルを再読み取りして第2の読み出し結果を発生し、第1の読み取りスレッシュホールドの少なくとも1つ及び第2の読み取りスレッシュホールドの少なくとも1つを含む第3の読み取りスレッシュホールドを定義し、第1、第2及び第3の読み取りスレッシュホールドの読み出し性能を第1及び第2の読み出し結果に基づいて評価し、その評価された読み出し性能に基づいて第1、第2又は第3の読み取りスレッシュホールドを選択し、そしてその選択された読み取りスレッシュホールドを使用してデータ回復を遂行するように構成される。
又、本発明の一実施形態によれば、インターフェイス及び記憶回路を備えた装置も提供される。インターフェイスは、複数のアナログメモリセルを含むメモリと通信するように構成される。記憶回路は、アナログメモリセルのグループにおいてデータを記憶し、第1の読み取りスレッシュホールドを使用してグループ内のメモリセルを読み取って第1の読み出し結果を発生し、第2の読み取りスレッシュホールドを使用してグループ内のメモリセルを再読み取りして第2の読み出し結果を発生し、第1の読み取りスレッシュホールドの少なくとも1つ及び第2の読み取りスレッシュホールドの少なくとも1つを含む第3の読み取りスレッシュホールドを定義し、第1、第2及び第3の読み取りスレッシュホールドの読み出し性能を第1及び第2の読み出し結果に基づいて評価し、その評価された読み出し性能に基づいて第1、第2又は第3の読み取りスレッシュホールドを選択し、そしてその選択された読み取りスレッシュホールドを使用してデータ回復を遂行するように構成される。
本発明は、添付図面を参照した実施形態の以下の詳細な説明から完全に理解されるであろう。
本発明の一実施形態によるメモリシステムを概略的に示すブロック図である。 本発明の一実施形態により最適な読み取りスレッシュホールドを選択するための構成を概略的に示す図である。 本発明の一実施形態により最適な読み取りスレッシュホールドを選択するための構成を概略的に示す図である。 本発明の一実施形態により最適な読み取りスレッシュホールドを選択するための方法を概略的に示すフローチャートである。 本発明の一実施形態により最適な読み取りスレッシュホールドを選択するための方法を概略的に示すフローチャートである。
概略
データは、典型的に、データを表わす各アナログ記憶値をセルに書き込むことによりアナログメモリセルに記憶される。アナログ記憶値の範囲は、典型的に、あり得るデータ値を表わすプログラミングレベルと称される領域に分割される。アナログメモリセルは、典型的に、それらのアナログ記憶値を、隣接するプログラミングレベル間の境界に位置する読み取りスレッシュホールドと比較することにより読み取られる。
多くの実際的なケースでは、メモリセルのアナログ記憶値は、時間と共に且つあるメモリセルグループから別のメモリセルグループへと変化する。それ故、読み取りスレッシュホールドを高い精度で追跡しそして位置付けることが重要である。読み取りスレッシュホールドの正確な位置付けは、読み取りエラーの確率に著しい影響を及ぼす。
他方、複数のセットの読み取りスレッシュホールドの評価は、例えば、著しいレイテンシ及び電力消費を招く。というのは、このタスクは、メモリセルからの非常に多数の読み取り動作を含むからである。読み取りスレッシュホールドの評価は、セル当たり非常に多数のビットを記憶する高次のMLCを使用するときには特に複雑なものとなる。
ここに述べる本発明の実施形態は、読み取りスレッシュホールドを評価するための改良された方法及びシステムを提供する。ここに開示する技術は、読み取りスレッシュホールドの複数セットのうちの小さなサブセットのみを使用してメモリセルを実際に読み取りながら、それらの複数セットの読み出し性能(performance)を評価する。読み取りスレッシュホールドの残りのセットの読み出し性能は、メモリセルを実際に読み取らずに、計算により評価される。その結果、スレッシュホールド評価プロセスにより被るレイテンシ及び電力消費が著しく減少される。次いで、読み取りスレッシュホールドの最良性能(best-performing)セットを使用して、記憶されたデータが回復される。
ある実施形態では、第1及び第2セットの読み取りスレッシュホールドを使用してアナログメモリセルのグループが読み取られて、第1及び第2の読み出し結果を各々生じさせる。第1セットから少なくとも1つの読み取りスレッシュホールド及び第2セットから少なくとも1つの読み取りスレッシュホールドを選択することにより、ハイブリッドセットと称される第3セットの読み取りスレッシュホールドが形成される。第1、第2及び第3セットの読み出し性能は、第1及び第2の読み出し結果に基づいて評価され、そして記憶されたデータをデコードするために最良性能セットが選択される。或いは又、別のグループのメモリセルにおいてデータをデコードするために最良性能セットが使用される。
特に、ハイブリッドセットの読み出し性能は、そのセットを使用してメモリセルを読み取ることなく評価される。この種の構成は、少数の初期セットから選択された読み取りスレッシュホールドの全てのあり得る組み合わせを評価するのに使用することができる。
そのようなハイブリッドセットの読み出し性能を評価するための幾つかの規範的構成についてここに述べる。1つの実施形態において、ハイブリッドセットの読み出し結果は、セルごとに、第1又は第2の読み出し結果から対応する読み出し結果を選択することにより再現される(メモリセルを読み取らずに計算により)。読み出し結果を第1の読み出し結果から選択すべきか第2の読み出し結果から選択すべきかの判断は、セルごとに、1つ以上の補助的なスレッシュホールドを使用する補助的な読み取り動作の各結果に基づいて行われる。
別の実施形態では、メモリセルのグループに記憶されたデータは、低密度パリティチェック(LDPC)コードのようなエラー修正コード(ECC)でエンコードされる。メモリセルのグループは、補助的な読み取り動作又は他の適当な基準の結果に基づいてサブセットへと区分化される。第1セットの読み取りスレッシュホールドを使用してメモリセルを読み取った後に、ECCの各部分的シンドロームがメモリセルの各サブセットについて計算される。このプロセスは、第2セットの読み取りスレッシュホールドを使用して得られる読み出し結果について繰り返されて、このセットについての部分的シンドロームも発生される。
第1、第2及び第3(ハイブリッド)セットの読み取りスレッシュホールドの読み出し性能は、部分的シンドロームの適当な組み合わせを加算(モジュロ2、即ちXOR化)することによって評価される。ある実施形態では、種々のセットの読み取りスレッシュホールドに関連した部分的シンドロームのみが保持され、そして生の読み出し結果が破棄される。従って、スレッシュホールド評価プロセスにより要求されるメモリスペースが著しく減少される。
システムの説明
図1は、本発明の一実施形態によるメモリシステム20を概略的に示すブロック図である。システム20は、コンピューティング装置、セルラー電話又は他の通信ターミナル、取り外し可能なメモリモジュール(「USBフラッシュドライブ」とも称される)、ソリッドステートディスク(SSD)、デジタルカメラ、音楽及び他のメディアプレーヤ及び/又はデータが記憶されそして検索される他のシステム又は装置のような種々のホストシステム及び装置に使用することができる。
システム20は、メモリセルアレイ28にデータを記憶するメモリ装置24を備えている。メモリアレイは、複数のメモリブロック34を含む。各メモリブロック34は、複数のアナログメモリセル32を含む。本特許出願及び特許請求の範囲において、「アナログメモリセル」という語は、電圧又は電荷のような物理的パラメータの連続的なアナログ値を保持するメモリセルを説明するために使用される。アレイ28は、例えば、NAND、NOR及びチャージトラップフラッシュ(CTF)フラッシュセル、相変化RAM(PRAM、相変化メモリPCMとも称される)、ニトライドリードオンリメモリ(NROM)、強誘電RAM(FRAM)、磁気RAM(MRAM)、及び/又はダイナミックRAM(DRAM)セルのような任意の種類のアナログメモリセルを含む。
セルに記憶される電荷レベル、及び/又はセルに書き込まれ及びセルから読み出されるアナログ電圧又は電流は、ここでは、総体的に、アナログ値、アナログ記憶値又は記憶値と称される。記憶値は、例えば、スレッシュホールド電圧、又は他の適当な種類の記憶値を含む。システム20は、プログラミングレベルとも称される各プログラミング状態をとるようにセルをプログラミングすることによりアナログメモリセルにデータを記憶する。プログラミング状態は、あり得る状態の限定セットから選択され、そして各プログラミング状態は、ある公称記憶値に対応する。例えば、3ビット/セルMLCは、8つのあり得る公称記憶値の1つをセルに書き込むことにより、8つのあり得るプログラミング状態の1つをとるようにプログラムすることができる。
メモリ装置24は、読み取り/書き込み(R/W)ユニット36を備え、これは、メモリ装置に記憶するためのデータをアナログ記憶値に変換してメモリセル32へ書き込む。別の実施形態では、R/Wユニットは、変換を行わず、電圧サンプル、即ちセルに記憶するための記憶値が与えられる。アレイ28からデータを読み取るときに、R/Wユニット36は、メモリセル32の記憶値を、1ビット以上の解像度をもつデジタルサンプルへと変換する。データは、典型的に、ページと称されるグループにおいてメモリセルへ書き込まれそしてメモリセルから読み取られる。ある実施形態では、R/Wユニットは、セルに1つ以上の負の消去パルスを適用することによりセル32のグループを消去することができる。消去は、典型的に、全メモリブロックで行われる。
メモリ装置24へのデータの記憶及びそこからのデータの検索は、メモリコントローラ40によって行われる。メモリコントローラは、メモリ装置24と通信するためのインターフェイス44と、種々のメモリ管理機能を実行するプロセッサ48とを備えている。メモリコントローラ40は、メモリ装置に記憶するためのデータを受け容れ及びメモリ装置から検索されるデータを出力するためにホスト52と通信する。メモリコントローラ40及び特にプロセッサ48は、ハードウェアで具現化される。或いは又、メモリコントローラは、適当なソフトウェアを実行し、又はハードウェアとソフトウェア要素を組み合わせて実行するマイクロプロセッサを含んでもよい。
図1の構成は、単に概念を明瞭にするためにのみ示された規範的なシステム構成である。他の適当なメモリシステム構成も使用できる。本発明の原理を理解する上で必要のない要素、例えば、種々のインターフェイス、アドレス回路、タイミング及びシーケンシング回路、並びにデバッグ回路は、明瞭化のために図から省略されている。
図1の例は、単一のメモリ装置24を示すが、システム20は、メモリコントローラ40によりコントロールされる複数のメモリ装置を備えてもよい。図1に示す規範的なシステム構成において、メモリ装置24及びメモリコントローラ40は、2つの別々の集積回路(IC)として具現化される。しかしながら、別の実施形態では、メモリ装置及びメモリコントローラは、単一のマルチチップパッケージ(MCP)又はシステムオンチップ(SoC)内の個別の半導体ダイに一体化されて、内部バスにより相互接続されてもよい。又、それとは別に、メモリコントローラ回路のある部分又は全部が、メモリアレイが配置される同じダイに存在してもよい。更に、それとは別に、メモリコントローラ40の機能のある部分又は全部がソフトウェアで具現化されて、ホストシステムのプロセッサ又は他の要素により実行されてもよい。ある実施形態では、ホスト44及びメモリコントローラ40は、同じダイに製造されてもよいし、又は同じ装置パッケージ内の個別のダイに製造されてもよい。
ある実施形態では、メモリコントローラ40は、ここに述べる機能を実行するようにソフトウェアでプログラムされる汎用プロセッサを備えている。ソフトウェアは、例えば、ネットワークを経て電子的形態でプロセッサへダウンロードされるか、それに加えて又はそれとは別に、磁気、光学又は電子メモリのような非一時的有形媒体に与えられ及び/又は記憶されてもよい。
アレイ28の規範的構成において、メモリセル32は、複数の行及び列に配列され、各メモリセルは、フローティングゲートトランジスタより成る。各行のトランジスタのゲートは、ワードラインにより接続され、そして各列のトランジスタのソースは、ビットラインにより接続される。メモリアレイは、典型的に、複数のページ、即ち同時にプログラムされ及び読み取られるメモリセルのグループへと分割される。ページは、時々、セクターへと細分化される。ある実施形態では、各ページは、アレイの全行より成る。別の実施形態では、各行(ワードライン)を2つ以上のページへ分割することができる。例えば、ある装置では、各行が2つのページに分割され、その一方は、奇数順のセルより成り、そしてその他方は、偶数順のセルより成る。
典型的に、メモリコントローラ40は、データをページ単位でプログラムするが、消去はメモリブロック34全体で行う。典型的に、必ずしもそうでないが、1メモリブロックは、ほぼ106個のメモリセルであり、一方、1ページは、ほぼ103−104個のメモリセルである。
以下の説明は、メモリセル32に記憶されたデータを読み取るための読み取りスレッシュホールドを選択する多数の規範的な技術について述べる。ここに開示する技術は、メモリコントローラ40及び/又はR/Wユニット36により実行することができる。明瞭化のために、以下の説明は、メモリ装置のR/Wユニット36とメモリコントローラ40のプロセッサ48との間での機能の特定の割り振りについて述べる。しかしながら、一般的には、ここに開示する技術を構成する種々のタスクは、メモリコントローラとR/W回路との間で適当な仕方で割り振ることもできるし、又はそれら要素の任意の1つにより遂行することもできる。従って、本特許出願及び特許請求の範囲では、メモリコントローラ40及びR/W回路36は、一緒に、ここに開示する技術を実行する記憶回路と称される。
図2は、本発明の一実施形態により最適な読み取りスレッシュホールドを選択するための構成を概略的に示す図である。ここに示す実施形態では、メモリセル32は、4レベルMLCを含み、その各々は、2つのデータビットを保持する。別の実施形態では、ここに開示する技術は、8レベル又は16レベルMLCのような他の適当な形式のMLCを読み取るための読み取りスレッシュホールドを選択するのに使用することができる。
図2の例では、典型的に所与のワードラインに沿ったメモリセルのグループは、2つのデータページを保持し、即ち1つのページは、グループのメモリセルの第1ビットにおいて最下位ビット(LSB)ページと称され、そして別のページは、グループのメモリセルの第2ビットにおいて最上位ビット(MSB)ページと称されるものである。
図は、グループのメモリセルにおけるスレッシュホールド電圧(VTH)分布を示している。この例では、スレッシュホールド電圧は、4つの各プログラミングレベルに対応する4つの分布60A…60Dに分布される。各プログラミングレベルは、2つのビット、LSB及びMSBの各組み合わせを表わす。
Figure 0005620973
このマッピングは、2つの隣接するプログラミングレベルが互いに単一ビット値だけ異なるようなグレイコードを使用する。更に、このマッピングでは、最も低い2つのプログラミングレベルは、LSB=“1”に対応し、そして最も高い2つのプログラミングレベルは、LSB=“0”に対応する。
典型的に、R/Wユニット36は、セルのスレッシュホールド電圧をLSB読み取りスレッシュホールド64と比較することによりLSBページを読み取る。スレッシュホールド電圧がスレッシュホールド64より下のメモリセルは、LSB=“1”を保持するとみなされ、そしてスレッシュホールド電圧がスレッシュホールド64より上のメモリセルは、LSB=“0”を保持するとみなされる。
ユニット36は、典型的に、セルスレッシュホールド電圧を、一対のMSB読み取りスレッシュホールドV1A及びV2A、又は一対のMSB読み取りスレッシュホールドV1B及びV2Bと比較することにより、MSBページを読み取る。スレッシュホールド電圧がV1AとV2Aとの間(又はV1BとV2Bとの間)に入るメモリセルは、LSB=“0”を保持するとみなされ、そしてスレッシュホールド電圧がスレッシュホールドV1Aより下又はスレッシュホールドV2Aより上(或いは又スレッシュホールドV1Bより下又はスレッシュホールドV2Bより上)のメモリセルは、LSB=“1”を保持するとみなされる。
実際に、分布60A・・・60Dの形状及び位置は、時間と共に及びメモリセルのあるグループから別のグループへと変化し得る。特に、プログラミングレベル分布が接近離間されているか又は部分的に重畳しているときには、読み取りスレッシュホールドを正確に位置付けることが読み取りエラーの確率に対して非常に重要である。分布と分布との間の境界領域は、時間と共に及びメモリセルグループ間で変化するので、読み取りスレッシュホールドの位置は、典型的に、適応する仕方で調整しなければならない。
減少された読み取り動作回数での読み取りスレッシュホールドサーチ
図2において明らかなように、各MSB読み出し動作は、一対の読み取りスレッシュホールドとの比較を伴う。MSB読み取りスレッシュホールドの最適な位置を見つけるために、典型的に、読み取りスレッシュホールドの複数の候補対を評価し、そして最良性能対を選択することが必要である。
複数対のスレッシュホールドに対する徹底的なサーチは、メモリセルスレッシュホールド電圧を感知して各対のスレッシュホールドと比較するという非常に多数の読み出し動作を伴い、それ故、著しいレイテンシ及び電力消費を招く。ここに述べる幾つかの実施形態では、メモリコントローラ40は、メモリセル32からの少数回の読み取り動作しか遂行せずに、複数セットの読み取りスレッシュホールドの読み出し性能を評価する。その結果、処理時間及び電力消費が減少される。
ここに示す例では、メモリコントローラは、グループ内のメモリセルを2回読み取り、即ち読み取りスレッシュホールド対{V1A、V2A}を使用して、及び読み取りスレッシュホールド対{V1B、V2B}を使用して、読み取る。これら2つの読み出し動作の結果に基づき、メモリコントローラは、読み取りスレッシュホールドの2つの付加的な対{V1A、V2B}及び{V1B、V2A}の読み出し性能を、これら読み取りスレッシュホールド対を使用してメモリセルを読み取らずに、評価する。従って、読み取り動作の回数が、{V1A、V2A}、{V1B、V2B}、{V1A、V2B}及び{V1B、V2A}の従来の読み出しと比較して半分に減少される。
メモリセルを実際に読み取るところの読み取りスレッシュホールドのセット(この例では、対{V1A、V2A}及び{V1B、V2B})は、ここでは、スレッシュホールドの明示的セット、又は単に明示的スレッシュホールドと称される。この明示的スレッシュホールドに基づいて計算されるスレッシュホールドの付加的なセット(この例では、対{V1A、V2B}及び{V1B、V2A})は、ここでは、読み取りスレッシュホールドのハイブリッドセット又は簡単にハイブリッドスレッシュホールドと称される。
明示的スレッシュホールド及びハイブリッドスレッシュホールドを含む種々の読み取りスレッシュホールド対の読み出し性能を評価した後に、メモリコントローラは、最良の読み出し性能を示す読み取りスレッシュホールドの対を選択する。読み取りスレッシュホールド(明示的又はハイブリッド)の選択された対は、メモリセルのグループに記憶されたデータを回復するのに使用される。
2ビット/セルメモリの場合、ここに開示する技術は、N回の読み取り動作(Nセットの明示的スレッシュホールド)の読み出し結果を使用して、N2対の読み取りスレッシュホールド組み合わせ(N2セットのハイブリッドスレッシュホールド)の読み出し性能を評価することができる。非常に多数のスレッシュホールド対を評価するとき、又は高次のMLCを使用するときには、読み取り動作の回数の減少が著しく大きくなる。
図2の例は、この技術の有効性を立証している。この例では、2対の明示的スレッシュホールド({V1A、V2A}及び{V1B、V2B})は、スレッシュホールド電圧分布間の境界に最適に位置付けられていない。しかしながら、ハイブリッド対{V1B、V2A}は、非常に良好に位置付けられている。メモリセルが、実際には、ハイブリッド対{V1B、V2A}を使用して読み取られなくても、メモリコントローラは、明示的スレッシュホールド対{V1A、V2A}及び{V1B、V2B}の読み出し結果からその読み出し性能を評価する。次いで、メモリコントローラは、ハイブリッド対{V1B、V2A}をその後のデータ回復のために選択することができる。
図2の例では、メモリコントローラ40は、明示的対({V1A、V2A}及び{V1B、V2B})の読み出し結果を使用して、ハイブリッド対({V1A、V2B}及び{V1B、V2A})の読み出し結果を、それらハイブリッド対を使用してメモリセルを実際に読み取ることなく、人為的に構成する。このため、メモリコントローラは、1つ以上の補助的なスレッシュホールドを使用してメモリセルを読み取る。
ある実施形態では、LSBスレッシュホールド64は、補助的なスレッシュホールドとして働く。補助的なスレッシュホールド64の読み出し結果(“0”又は“1”)は、図中、LSB_PAGEで示され、そしてセルスレッシュホールド電圧が入るVTHインターバルの関数として示されている。
明示的対{V1A、V2A}のMSB読み出し結果が、次の行に示され、MSB_PAGE_Aで表されている。MSB_PAGE_Bで表された次の行は、明示的対{V1B、V2B}の読み出し結果を示す。2つのインターバル(V1A<VTH<V1B及びV2A<VTH<V2B)には、明示的対の読み出し結果の間に不一致があることに注意されたい。
この実施形態では、メモリコントローラは、補助的スレッシュホールド64の読み出し結果を使用して、読み取りスレッシュホールドの2つの明示的対の読み出し結果からハイブリッド対{V1B、V2B}の人為的読み出し結果を構成する。ハイブリッド対{V1B、V2A}の人為的読み出し結果は、図2の下部に、MSB_PAGE_OPTと表示されている。明示的対の各読み出し結果が一致するときには(即ち、両方とも“0”又は両方とも“1”)、メモリコントローラは、ハイブリッド対の対応する読み出し結果をこの値に設定する。明示的対の各読み出し結果が不一致であると、メモリコントローラは、ハイブリッド対の対応する読み出し結果を、補助的スレッシュホールドの対応する読み出し結果に基づいて、これら値の1つに設定する。
プログラミングレベルに対するビットのマッピング(前記テーブル1)のために、LSB_PAGEのビットは、どのメモリセルがスレッシュホールド64の左側に入るスレッシュホールド電圧を有するか(LSB_PAGE=“1”)、及びどのメモリセルがスレッシュホールド64の右側に入るスレッシュホールド電圧を有するか(LSB_PAGE=“0”)指示する。
従って、{V1B、V2A}の読み出し結果を再生成するために、メモリコントローラは、対応するLSB_PAGE読み出し結果が“0”である場合には(V2Aとの比較を模擬する)、MSB_PAGE_OPTの読み出し結果を、MSB_PAGE_Aの対応する読み出し結果に設定する。他方、LSB_PAGE読み出し結果が“1”である場合には、メモリコントローラは、MSB_PAGE_OPTの読み出し結果を、MSB_PAGE_Bの対応する読み出し結果に設定する(V1Bとの比較を模擬する)。
上述した論理は、(読み取りノイズのあり得る作用以外)ハイブリッドスレッシュホールド{V1B、V2A}を使用してグループ内のメモリセルを読み取ることにより生じる厳密な読み出し結果を、このハイブリッド対を使用してメモリセルを実際に読み取ることなく、再構成する。第2のハイブリッド対{V1A、V2B}の人為的な読み出し結果も同様に再構成することができる。
この技術は、LSBスレッシュホールド64を位置付けるところの精度に対して不感であることに注意されたい。というのは、LSBスレッシュホールド64に近いスレッシュホールド電圧は、MSBスレッシュホールドから離れている(それ故、それらのビット値は、MSB_PAGE_A及びMAB_PAGE_Bにおいて同じである)からである。図において明らかなように、スレッシュホールド64は、プログラミングレベル60Bと60Cとの間に最適に位置付けられない。それでも、人為的MSB_PAGE_OPT読み出し結果の構成は、依然、正確である。
ここに開示する技術は、3つ以上の読み取りスレッシュホールドのセットでも同様に使用することができる。例えば、次のビットマップ及び関連スレッシュホールド構成を使用して、LSBページ、センターシグニフィカンスビット(CSB)ページ、及びMSBページを記憶する3ビット/セルメモリセルのグループについて考える。
Figure 0005620973
この例では、MSBページは、{RV31、RV33、RV35、RV37}と表された4つのMSBスレッシュホールドのセットを使用して読み取られる。MSBページは、スレッシュホールドの2つの明示的セット{V1A、V2A、V3A、V4A}及び{V1B、V2B、V3B、V4B}を使用して2回読み取られると仮定する。ハイブリッドセット{V1A、V2B、V3A、V4B}の読み出し結果を構成するために、メモリコントローラは、先ず、LSB及びCSBページを読み取る(上述したように、精度の低い読み取りスレッシュホールドで充分である)。次いで、LSB及びCSB(補助的スレッシュホールド)の値が、各セルについて、どれが当該MSBスレッシュホールド(V1、V2、V3又はV4)であるか決定する。
LSB及びCSBビットの値に基づいて、メモリコントローラは、第1又は第2のいずれかのMSB読み取り動作からビットを選択する。例えば、セルが“0”のLSB及びCSBビットを有する場合には、当該スレッシュホールドは、RV35→V3となる。メモリコントローラは、V3Aを使用するために人為的な読み出し結果を必要とするので、第1の読み出しの結果を選択する。セルが“0”のLSBビット及び“1”のCSBビットを有する場合には、当該スレッシュホールドは、RV37→V4となる。メモリコントローラは、V4Bを使用するために人為的な読み出し結果を必要とするので、第2の読み出しの結果が選択される。
ある実施形態では、種々の明示的セットにおける読み取りスレッシュホールド値が独特なものである。しかしながら、別の実施形態では、複数の明示的及び/又はハイブリッドセットが所与のスレッシュホールド値を使用する。
多くの実際的なケースでは、補助的な読み取りスレッシュホールドは、付加的な読み取り動作を要求しないことに注意されたい。例えば、図2の構成では、LSBページデータを回復するのに使用される通常のLSB読み出しを補助的なスレッシュホールド読み出しとして再使用することができる。3ビット/セルの例でも、通常のLSB及びCSB読み出し動作を補助的なスレッシュホールド読み出しとして再使用することができる。
図3は、本発明の別の実施形態により最適な読み取りスレッシュホールドを選択するための構成を概略的に示す図である。上述した図2の構成では、メモリコントローラは、1つ以上の補助的なスレッシュホールドを使用してハイブリッドスレッシュホールドセットに対する人為的な読み出し結果を発生した。他方、図3の構成では、読み取りスレッシュホールドの明示的セットの1つが補助的スレッシュホールドとして働く。
図3の例では、メモリコントローラ40は、{V1_0、V2_0}、{V1A、V2A}及び{V1B、V2B}と表わされた読み取りスレッシュホールドの3つの明示的セットを使用してメモリセルのグループを読み取り、各々PAGE_0、PAGE_A及びPAGE_Bと表わされた3つのページを発生する。これら3つの読み取り動作の読み出し結果から、メモリコントローラは、全部で9つのあり得る組み合わせスレッシュホールド対の人為的な読み出し結果を再生成する(即ち、6つのハイブリッドスレッシュホールド対に対する6つの人為的読み出し結果を発生する)。
この実施形態では、メモリコントローラは、明示的対の1つ(この例では、{V1_0、V2_0})を補助的なスレッシュホールドとして使用する。この技術は、例えば、LSBページが利用できない場合に使用することができる。この技術の1つの効果は、補助的なスレッシュホールドを使用する専用の読み取り動作の必要性を排除し、むしろ、1つの明示的対の読み出し結果を再使用することである。その結果、より良好なスループットを得ることができる。
以下の説明は、明示的スレッシュホールドの中の最も低いものが、補助的なスレッシュホールドとして働くように選択され、即ちV1_0≦V1A、V1_0≦V1B、V2_0≦V2A及びV2_0≦V2Bであると仮定する。しかしながら、別の実施形態では、明示的スレッシュホールドの中の最も高いものが、補助的なスレッシュホールドとして働くように選択されてもよい。
一実施形態では、ハイブリッド対{V1B、V2A}の読み出し結果を人為的に発生するために(図中PAGE_OPTと表わされた)、メモリコントローラは、次のロジックを適用する。
■PAGE_0=“0”のメモリセルでは、PAGE_OPTにおける対応する読み出し結果をPAGE_Bの読み出し結果であるように設定する。
■PAGE_0=“1”のメモリセルでは、PAGE_OPTにおける対応する読み出し結果をPAGE_Aの読み出し結果であるように設定する。
{V1_0、V2_0}からのスレッシュホールドを{V1A、V2A}からのスレッシュホールドと混合するハイブリッド対の読み出し結果を人為的に発生するため、メモリコントローラは、依然、PAGE_0({V1_0、V2_0}の読み出し結果)を使用して、補助的なスレッシュホールドとして働くようにする。従って、3つの読み出し動作{V1_0、V2_0}、{V1A、V2A}及び{V1B、V2B}を使用して、全部で9セットの読み出し結果を発生することができる。
更に別の例として、メモリコントローラが4つのあり得る組み合わせを発生する2つの明示的読み取り動作のケースについて考える。メモリコントローラは、{V1_0、V2_0}及び{V1A、V2A}を使用してメモリセルのグループを読み取り、そしてPAGE_0を補助的スレッシュホールドとして使用する。このケースでは、スレッシュホールドは、V1_0≦V1A及びV2_0≦V2Aのように順序付けされねばならない(一般性を失うことなく)。
図4は、本発明の一実施形態により最適な読み取りスレッシュホールドを選択するための方法を概略的に示すフローチャートである。この方法は、メモリコントローラ40が、第1の読み出しステップ70において、第1の明示的読み取りスレッシュホールドを使用してアナログメモリセル32のグループを読み取ることで始まる。又、メモリコントローラは、第2の読み出しステップ74において、第2の明示的読み取りスレッシュホールドを使用してメモリセルの同じグループを再読み取りする。
メモリコントローラは、補助的読み取りステップ78において、1つ以上の補助的スレッシュホールドを使用してメモリセルのグループを読み取る。上述したように、メモリコントローラは、(例えば、ステップ70又は74において)明示的読み出し動作の1つを再使用して、補助的読み出し動作として働かせる。
メモリコントローラは、ハイブリッド結果発生ステップ82において、明示的読み取りスレッシュホールドの読み出し結果、及び補助的スレッシュホールドの対応する読み出し結果を使用して、読み取りスレッシュホールドの1つ以上のハイブリッドセットに対する読み出し結果を人為的に発生する。スレッシュホールドの各ハイブリッドセットは、第1の読み取りスレッシュホールドから選択された少なくとも1つのスレッシュホールドと、第2の読み取りスレッシュホールドから選択された少なくとも1つのスレッシュホールドとを含む。
複数の読み出し結果を使用して、メモリコントローラ40は、最適スレッシュホールド選択ステップ86において、読み取りスレッシュホールドの種々の明示的及びハイブリッドセットの読み出し性能を評価する。典型的に、メモリコントローラは、最良の読み出し性能を有する読み取りスレッシュホールド(明示的又はハイブリッド)のセットを選択し、そしてそのセットを使用して、メモリセルのグループに記憶されたデータを回復する。
種々の実施形態において、メモリコントローラ40は、読み出し性能を異なる仕方で評価し、そして異なる基準を使用して、読み取りスレッシュホールドの最良性能セットを選択する。ある実施形態では、メモリセルのグループに記憶されたデータは、パリティチェック方程式のセットにより定義されたエラー修正コード(ECC)でエンコードされる。ECCは、例えば、低密度パリティチェック(LDPC)コード、又は他の適当な形式のECCを含む。
ある実施形態では、読み出し結果のセットごとに、メモリコントローラは、満足されたパリティチェック方程式の数(カウント)を計算する。満足されたパリティチェック方程式の最大カウントを有する読み出し結果を発生する読み取りスレッシュホールド(明示的又はハイブリッド)のセットが、最良性能セットとみなされる。満足されたパリティチェック方程式の数に基づいて読み取りスレッシュホールドを設定する付加的な態様が、前記米国特許出願公告第2009/0199074号で取り扱われている。この基準は、「シンドローム和(syndrome sum)」(シンドロームベクトルの重み、即ちシンドロームが0ではなく1に等しい位置の和)とも称され、即ちこのシンドローム和を最小にすることは、満足されたパリティチェック方程式の最大数を有する読み出し結果を見つけることに等しい。
別の実施形態において、メモリコントローラは、読み取りスレッシュホールド(明示的又はハイブリッド)の各セットの読み出し結果に対してECCをデコードするように試みる(それが読み取られたか人為的に再生されたかに関わらず)。読み出し結果の所与のセットに対してECCをデコードすることが成功であるか失敗であるかは、読み取りスレッシュホールドの対応するセットの読み出し性能の指示として使用される。規範的なフローにおいて、メモリコントローラは、ECCのデコーディングが成功するまで、明示的及びハイブリッドの両セットを含めて、読み取りスレッシュホールドの付加的なセットをテストする反復プロセスを実行する。
他の実施形態では、メモリコントローラは、読み取りスレッシュホールド(明示的又はハイブリッド)の各セットの読み出し結果に対してECCをデコードし始める(それが読み取られたか人為的に再生されたかに関わらず)。読み取りスレッシュホールドの所与のセットについてECCをデコードするときには、メモリコントローラは、ECCデコーディングプロセスのある暫定結果を、読み取りスレッシュホールドの対応セットの読み出し性能の指示として使用することができる。
例えば、記憶されたデータがBose-Chaudhuri-Hocquenghem(BCH)コードでエンコードされる構成について考える。典型的なBCHデコーディングプロセスでは、デコーダがエラーロケーター多項式(ELP)を計算し、次いで、ELPのルートを見出すことによりエラーを探索する。BCHデコーディングプロセスにおいて早期に得られるELPのランクは、コードワードにおけるエラーの数を表わす。そのような実施形態では、メモリコントローラは、ELPのランクを読み取りスレッシュホールドの読み出し性能の指示として使用する。メモリコントローラは、この段階から進むことができる。或いは又、メモリコントローラは、それ以前の読み取り結果がデコード可能であっても、デコーディングプロセスを完了せずに読み取りスレッシュホールドの別のセットを評価し続けてもよい。
別の例として、ECCは、データがマトリクスに配列され、そして各行及び列がハミングコードのようにある補助的なECCでここにエンコードされるターボプロダクトコード(TPC)を含む。これらの実施形態では、メモリコントローラは、マトリクスの行及び列のサブセットのみについて補助的なコードをデコードし、そしてデコーディング結果を読み取りスレッシュホールドの読み出し性能の指示として使用する。
TPCとは別に、他の形式のECCは、複数のコンポーネントECCより成る複合ECCと考えることもできる。ここに開示する技術は、必要な変更を加えて、そのようなECCと共に使用することができる。例えば、プロダクトコードは、2つ以上の次元、例えば、3次元で定義することができる。規範的な3次元コードにおいて、データは、k・k・kビットの3乗で配列され、各次元における各kビットは、コンポーネントコードを使用してnビットへエンコードされ、n・n・nビットのコードワードを発生する。2次元プロダクトコードの別のあり得る一般化は、行及び列をエンコードするのに加えて、データマトリクスの対角線を「バーチャル」な第3次元としてエンコードすることである。更に別の例として、プロダクトコードは、データビットの一部分の送信又は記憶を控えることにより短縮することができる。
別の実施形態では、ここに開示する技術は、コンポーネントコードで構成された複合ECCとみなすこともできる一般化された低密度パリティチェック(G−LDPC)コードと共に使用することができる。G−LDPCコードは、タナーグラフによって説明することができる。このグラフの各チェックノードは、単一パリティチェック式を表わすのではなく、ECC(ハミング、BCH、RS又はコンボリューションコードのような)を表わす。プロダクトコードは、G−LDPCの特殊なケースと考えられ、即ちこのケースの「一般化されたチェックノード」は、例えば、ハミングコードパリティチェックマトリクスである。そのようなG−LDPCコードのタナーグラフは、全n2ビットノードを片側に有し、そして2nチェックノードを反対側に有する。各チェックノードは、マトリクスコードワードの行又は列に対応する。例えば、行1の全ビットが、一般化されたチェックノードに接続され、それらが有効なハミングコードワードであることを意味する。
ここに開示する技術は、G−LDPCコードと共に使用することができ、即ち一般化されたチェックノードの一部分のデコーディングに基づいてパラメータ推定を行うことができる。
更に、それとは別に、メモリコントローラ40は、当該メモリセルの記憶値の累積分布関数(CDF)を推定することにより読み取りスレッシュホールドの所与のセットの性能を評価することができる。例えば、メモリコントローラは、メモリセルの所与のグループにおける“1” 読み出し結果の数をカウントし、そしてこの数を予め定められた基準数に最も近づける読み取りスレッシュホールドを選択する。読み取りスレッシュホールドを調整するためのCDFに基づく方法の例が、例えば、米国特許出願公告第2010/0091535号に説明されており、その開示を参考としてここに援用する。
更に、それとは別に、メモリコントローラ40は、読み取りスレッシュホールドの種々のセットの読み出し性能を評価し、そして他の適当な基準を使用して読み取りスレッシュホールドの最良性能セットを選択する。
シンドローム計算によりデコードされるECCを使用するときには、メモリコントローラは、読み取りスレッシュホールドのあるハイブリッドセットに基づいてECCをデコードするように試み、そしてシンドロームを使用してエラーベクトルを計算する。首尾良く行われた場合には、メモリコントローラは、読み取り結果を再生し、そしてそれをエラーベクトルと結合して、エラー修正された読み取り結果を発生することができる。
一般的に、メモリコントローラは、データが、例えば、読み取り結果の以前のセットからデコード可能であっても、読み取りスレッシュホールド(明示的又はハイブリッド)の付加的なセットを評価し続けて、読み取りスレッシュホールドの最良性能セットを見つけることができる。1つの規範的実施形態では、必ずしも最適ではない読み取りスレッシュホールドのセットを使用して現在ページが読み取られてデコードされ、そして将来の読み取り動作に最適な読み取りスレッシュホールドが使用される。
種々の実施形態において、メモリコントローラは、読み取りスレッシュホールドの最良性能セットを識別すると、そのセットを使用して得られた読み出し結果に基づいてECCをデコードするように試みる。メモリコントローラにより使用されるデコーディングプロセスは、ハードデコーディングプロセス又はソフトデコーディングプロセスを含む。ある実施形態において、ソフトデコーディングプロセスは、最良性能セットの付近に位置する読み取りスレッシュホールドを使用する付加的な読み取り動作を伴う。しかしながら、それとは別に、ハード入力に基づいて、例えば、最良性能スレッシュホールドセットのみを使用したハード読み出し結果に基づいて、ソフトデコーディングプロセスを動作してもよい。
種々の実施形態において、読み取りスレッシュホールドの最良性能セットが見つかると、メモリコントローラは、それらスレッシュホールドを使用して得られる読み出し結果が存在すれば、それらからデータを回復する。或いは又、メモリコントローラは、最良性能の読み取りスレッシュホールドを使用してメモリセルを読み取り、次いで、読み出し結果からデータを回復する。更に、それとは別に、メモリコントローラは、最良性能の読み取りスレッシュホールドの付近に位置する読み取りスレッシュホールドで1つ以上の付加的な読み取り動作を遂行し、そしてそれら付加的な読み取り動作の読み出し結果を使用してデータを回復する。
異なる読み取り動作からの部分的ECCシンドロームの結合による効率的な読み取りスレッシュホールドサーチ
以下の説明は、明示的な読み取りスレッシュホールドの読み出し結果に基づき、読み取りスレッシュホールドのハイブリッドセットに対する人為的な読み出し結果を発生する別の技術を示す。ここに開示する技術は、例えば、上述した図2−4の技術より好ましいこともある。というのは、種々の明示的読み取りスレッシュホールドを使用して得られる読み出し結果の完全なセットを記憶しなくてもよいからである。このメモリスペースの減少は、特に、明示的な読み取りスレッシュホールドの数(ひいては、読み出し結果の数)が多い高次のMLC(例えば、3又は4ビット/セル)において顕著である。
ここに開示する技術は、各スレッシュホールドセットの読み出し性能を評価する種々の基準で使用するのに適している。ある実施形態において、ここに開示する技術は、データビットの線型関数の非線型処理に基づく基準で使用することができる。例えば、上述したシンドローム和基準は、そのような基準である。というのは、ECCシンドロームは、データビットの線型関数であるが、シンドロームにおける値“1”の数がシンドロームの非線型関数だからである。
前記段落における「線型(linearity)」という語は、次のものを指す。即ち、シンドロームの計算が有限フィールド代数を使用して実行され、そしてシンドロームは、2つのベクトルの和(有限フィールドにわたる)のシンドロームが、個々のベクトルのシンドロームの和に等しいという意味で有限フィールドにおいて線型である。他方、シンドロームの和は、自然数の代数を使用して計算され、有限フィールドのバイナリ記号は、自然数(0又は1)として処理される。シンドローム和は、2ビットベクトルの和にわたって(有限フィールドにわたって)それを計算することが、2つの個々のベクトルのシンドローム和を加算することと等しくないという意味で、非線型である。ここでの加算及び乗算の表記は、有限フィールド代数、或いは自然又は真の代数の適した方を指す、
図2及び3に示したもののような4つのプログラミングレベルを有する2ビット/セルメモリセルのグループについて考え、そしてメモリコントローラ40がMSB読み取りスレッシュホールドの種々の明示的セットを使用してグループを読み取ると仮定する。ある実施形態では、明示的読み取りスレッシュホールドの各セットに対して読み出し結果の全ベクトルを記憶するのではなく、メモリコントローラ40は、2つの部分的ECCシンドロームのみを計算しそして記憶する。
メモリセルのグループに記憶されたデータをエンコードするのに使用されるECCのパリティチェックマトリクスをHで表し、そして読み取りスレッシュホールドのある明示的セットを使用してMSB読み出し結果のベクトルをxで表すことにする。xの完全シンドロームは、s=H・xとして定義される。xが有効ECCコードワードである場合には、s=H・x=0である。さもなければ、sの値は、xにより満足されるパリティチェック方程式の数を表わす。典型的に、シンドロームにおける非ゼロビットの数は、満足されない方程式の数を指示する。
読み出し結果xの2つの部分的シンドロームは、s1=H・x1及びs2=H・x2として定義され、x1は、残りのビットがナル化されたLSB=“0”に対するメモリセルのMSB値のベクトルを表わし、そしてx2は、残りのビットがナル化されたLSB=“1”に対するメモリセルのMSB値のベクトルを表わす。s=H・x=H・x1+Hx2であるから、部分的シンドロームの和は、完全シンドロームに等しいことが示される。
典型的に、読み取りスレッシュホールドのある明示的セットを使用して発生される読み出し結果のベクトルxごとに、メモリコントローラ40は、グループ内のメモリセルを、2つのサブセット、即ちLSB=“0”に対する1つのサブセット、及びLSB=“1”に対する別のサブセット、へ分割する。メモリコントローラは、図2のスレッシュホールド64のようなLSBスレッシュホールドでグループを読み取ることによりメモリセルを分割する。或いは又、メモリコントローラは、上述した図3の構成によりMSB読み取り動作を使用して、又は他の適当な方法を使用して、メモリセルを2つのサブセットに分割する。
この分割を使用して、メモリコントローラは、ベクトルx1及びx2を発生し、次いで、部分的シンドロームs1=H・x1及びs2=H・x2を計算する。この段階では、メモリコントローラは、生の読み取り結果(x、x1及びx2)を破棄し、そして部分的シンドロームのみを保持する。このプロセスは、典型的に、読み取りスレッシュホールドの明示的セットごとに繰り返される。
メモリコントローラは、異なる明示的セットから読み取りスレッシュホールドの組み合わせを使用して形成された読み取りスレッシュホールドの種々のハイブリッドセットの完全シンドロームを評価するために、記憶された部分的シンドロームを使用する。
例えば、2つの明示的MSB読み取り動作、即ち読み取りスレッシュホールド{V1A、V2A}を使用する第1の読み取り動作、及び読み取りスレッシュホールド{V1B、V2B}を使用する第2の読み取り動作について考える。第1の読み取り動作について、メモリコントローラは、s1A及びs2Aと示された2つの部分的シンドロームを計算しそして記憶する。第2の読み取り動作について、メモリコントローラは、s1B及びs2Bと示された2つの部分的シンドロームを計算しそして記憶する。次いで、メモリコントローラは、s1A+s2Bを計算することによりハイブリッドセット{V1A、V2B}について完全なシンドロームを計算することができる。同様に、ハイブリッドセット{V1B、V2A}についての完全なシンドロームは、s1B+s2Aにより与えられる。
完全なシンドローム(部分的シンドロームの和)は、満足されたパリティチェック方程式の数を表わすので、メモリコントローラは、読み取りスレッシュホールドの種々の(明示的又はハイブリッド)セットの読み出し性能を、それら読み取りスレッシュホールドに関連した各完全シンドロームを計算することにより、評価する。これらの完全シンドロームは、明示的読み取りスレッシュホールドについて計算された適当な部分的シンドロームを加算することにより計算することができる。典型的に、メモリコントローラは、完全シンドロームの和が最小である読み取りスレッシュホールドの(明示的又はハイブリッド)セットを選択する。次いで、読み取りスレッシュホールドの選択されたセットが、記憶されたデータをデコードするのに使用される。
生の読み出し結果ではなく、部分的シンドロームを記憶することは、メモリスペースの著しい節減を与える。シンドロームの長さは、ECCの冗長サイズに匹敵するので、典型的に、データページサイズの3−10%程度である。
ここに開示する技術は、2ビット/セルメモリのMSB読み出しのケースについて述べたが、この選択は、単に概念を明瞭化するためのものである。別の実施形態では、この技術は、他の適当なメモリ構成でも使用することができる。3ビット/セルメモリでは、読み取りスレッシュホールドの明示的セットごとに4つの部分的シンドロームが計算されそして記憶される。
図5は、本発明の一実施形態により最適な読み取りスレッシュホールドを選択する方法を概略的に示すフローチャートである。ここに述べる実施形態は、部分的シンドロームを参照するが、ある基準を満足するまで読み取り動作を追加する技術は、部分的シンドロームでの使用に限定されず、上述したシンドロームの和に基づく方法及び他の方法にも同様に適用することができる。
この方法は、コマンド入力ステップ90において、メモリコントローラ40がホスト52からMSB読み取りコマンドを受け容れることで始まる。MSB読み取りコマンドは、メモリセルの選択されたグループからMSBページを読み出すことを要求する。
メモリコントローラは、LSB読み出しステップ94において、メモリセルの指定グループからLSBページを読み出す。メモリコントローラは、上述したように、LSBページの読み出し結果を使用して、グループ内のメモリセルを2つのサブセットに分割する。
図5のループの各パスにおいて、メモリコントローラ40は、MSB読み出しステップ98において、MSB読み取りスレッシュホールドの付加的な明示的セットを使用して、メモリセルのグループを読み取る。メモリコントローラは、明示的読み取りスレッシュホールドの新たなセットについて部分的シンドロームを計算しそして記憶する。
メモリコントローラは、シンドローム和最小化ステップ102において、完全シンドローム和(部分的シンドロームの和)が最小の読み取りスレッシュホールドの(明示的又はハイブリッド)セットを見出す。このセットは、それまでに得た明示的読み出し結果を使用して得られる最良性能セットである。
メモリコントローラは、基準チェックステップ106において、それまでに得たシンドローム和が最小の完全シンドロームが規定の基準を満足するかどうかチェックする。例えば、メモリコントローラは、得られた最小シンドローム和を許容上限と比較し、そして最良性能シンドロームのシンドローム和がその限界より小さいかどうか検証する。
(完全)シンドロームの最小シンドローム和が充分に小さい場合には、メモリコントローラは、出力ステップ110において、読み取りスレッシュホールドの最良性能セット(シンドローム和が最小の関連読み取りスレッシュホールドのセット)を出力し、そしてこの方法は、終了となる。
さもなければ、メモリコントローラは、終了チェックステップ114において、読み取り動作の最大許容数(明示的読み取りスレッシュホールドセットの最大許容数)に到達したかどうかチェックする。読み取り動作の最大許容数に到達した場合には、メモリコントローラは、ステップ110において、読み取りスレッシュホールドの最良性能セットを出力し、そしてこの方法は、終了となる。さもなければ、この方法は、ステップ98へ戻り、メモリコントローラは、メモリセルのグループを、読み取りスレッシュホールドの付加的な明示的セットで再読み取りする。
種々の別の実施形態において、メモリコントローラは、どれほど多くの明示的セットを使用しなければならないか、及びどのハイブリッドセット(明示的セットからの読み取りスレッシュホールドの組み合わせ)を評価しなければならないか判断する。考えられる全ての組み合わせを必ずしもテストする必要はない。
ここに開示する技術は、LDPCコードにも、又、ECCの特定形式にも限定されない。例えば、ここに開示する方法及びシステムは、記憶されたデータが、シンドローム計算を使用してデコードされる他の形式のECC、例えば、Bose-Chaudhuri-Hocquenghem(BCH)、リード・ソロモン(RS)又はハミングコードでエンコードされるときに使用することができる。
ここに述べる方法のいずれかを実行するときに、メモリコントローラは、読み取りスレッシュホールドの複数の明示的セットの読み出しをメモリセルからの単一の読み取りコマンドにおいて合成する。例えば、4つの読み取りスレッシュホールドを使用してメモリセルのグループを読み取るMSB読み取りコマンドをサポートする3ビット/セルメモリ装置について考える。メモリコントローラは、単一のMSB読み取りコマンドを使用してCSB読み取りスレッシュホールドの2つの明示的セット(各々2つのスレッシュホールドを要求する)を評価する。複数のスレッシュホールドコマンドを使用する読み出しの付加的な態様は、本特許出願の譲受人に譲渡された米国特許第8,068,360号に取り扱われており、該特許の開示は、参考としてここに援用される。
ここに述べる実施形態は、主として、データ記憶アプリケーション及びメモリ装置に向けられるが、ここに述べる方法及びシステムは、デジタル通信システムの受信器のような他のアプリケーションにも使用できる。
従って、上述した実施形態は、例示に過ぎず、本発明は、特に図示して以上に述べたものに限定されないことが明らかであろう。むしろ、本発明の範囲は、上述した種々の特徴の組み合わせ及びサブ組み合わせと、従来技術に開示されておらず且つ以上の説明を読んだときに当業者に明らかとなるその変更及び修正の両方を包含する。本特許出願に参照とし援用された文書は、本出願の一体的部分とみなすべきであるが、本明細書に明示的又は暗示的になされた定義と矛盾しないようにそれら援用された文書において用語が定義される程度でのみ、本明細書の定義を考慮すべきである。
20:メモリシステム
24:メモリ装置
28:メモリセルアレイ
32:メモリセル
34:メモリブロック
36:読み取り/書き込み(R/W)ユニット
40:メモリコントローラ
44:インターフェイス
48:プロセッサ
52:ホスト

Claims (20)

  1. アナログメモリセルのグループにデータを記憶する段階と、
    前記グループのメモリセルを、第1の読み取りスレッシュホールドを使用して読み取って、第1の読み出し結果を発生する段階と、
    前記グループのメモリセルを、第2の読み取りスレッシュホールドを使用して再読み取りして、第2の読み出し結果を発生する段階と、
    前記グループのメモリセルを、補助的な読み取りスレッシュホールドを使用して読み取って、補助的な読み出し結果を発生する段階と
    前記第1の読み出し結果、第2の読み出し結果及び前記補助的な読み出し結果により前記第1の読み取りスレッシュホールドの少なくとも1つ、及び前記第2の読み取りスレッシュホールドの少なくとも1つを含む第3の読み取りスレッシュホールドを定義する段階と、
    前記第3の読み取りスレッシュホールドを用いて前記グループのメモリセルを読み取ることによって生成される第3の読み出し結果を 決定する段階と、
    前記第1、第2及び第3の読み取りスレッシュホールドの読み出し性能を、前記第1及び第2の読み出し結果に基づいて評価する段階と、
    前記第1、第2又は第3の読み取りスレッシュホールドを、前記評価された読み出し性能に基づいて選択し、そしてその選択された読み取りスレッシュホールドを使用してデータ回復を遂行する段階と、
    を備えた方法。
  2. 前記データ回復を遂行することは、
    前記メモリセルのグループに記憶されたデータを回復すること、及び
    前記メモリセルの異なるグループに記憶されたデータを回復すること、
    の少なくとも1つを含む、請求項1に記載の方法。
  3. 前記第3の読み出し結果を 決定する段階が前記第1及び第2の読み出し結果により前記第3の読み取り結果を 決定することを含む、請求項1に記載の方法。
  4. 前記第3の読み出し結果を 決定する段階が、
    前記グループのメモリセルを、前記少なくとも1つの補助的な読み取りスレッシュホールドを使用する前記グループからの読み出しに基づき第1及び第2のサブセットへと分割すること、及び
    前記第1サブセットのメモリセルから読み取られた第1の読み出し結果、及び前記第2サブセットのメモリセルから読み取られた第2の読み出し結果を選択することにより前記第3の読み出し結果を形成すること、
    を含む請求項3に記載の方法。
  5. 前記少なくとも1つの補助的な読み取りスレッシュホールドは、前記読み取りスレッシュホールドの第1又は第2のセットを含む、請求項4に記載の方法。
  6. 前記記憶されたデータは、エラー修正コード(ECC)でエンコードされ、そして前記読み出し性能を評価することは、
    前記グループのメモリセルを第1及び第2のサブセットに分割すること、
    前記第2のサブセットのメモリセルから読み取られた第1の読み出し結果をナル化しながら、前記第1のサブセットのメモリセルから読み取られた第1の読み出し結果に基づいてECCの第1の部分的シンドロームを計算すること、
    前記第1のサブセットのメモリセルから読み取られた第2の読み出し結果をナル化しながら、前記第2のサブセットのメモリセルから読み取られた第2の読み出し結果に基づいてECCの第2の部分的シンドロームを計算すること、
    前記第1及び第2の部分的シンドロームを加算することにより、前記第3の読み取りスレッシュホールドを使用して前記グループのメモリセルを読み取ることにより生じる第3の読み出し結果に対応するECCの第3のシンドロームを計算すること、及び
    前記第1の読み出し結果に対して計算された第1のシンドローム、前記第2の読み出し結果に対して計算された第2のシンドローム、及び第3のシンドロームを比較することにより前記読み出し性能を評価すること、
    を含む請求項1に記載の方法。
  7. 前記グループのメモリセルを第1及び第2のサブセットに分割することは、前記少なくとも1つの補助的な読み取りスレッシュホールドを使用するグループからの読み出しに基づいて前記第1及び第2のサブセットを定義することを含む、請求項6に記載の方法。
  8. 前記記憶されたデータは、パリティチェック方程式のセットにより定義されたエラーチェックコード(ECC)でエンコードされ、そして前記読み出し性能を評価することは、前記第1の読み出し結果、前記第2の読み出し結果、及び前記第3の読み取りスレッシュホールドを使用して前記グループのメモリセルを読み取ることにより生じる第3の読み出し結果によって満足されるパリティチェック方程式の各カウントを計算することを含む、請求項1に記載の方法。
  9. 前記記憶されたデータは、エラー修正コード(ECC)でエンコードされ、前記読み出し性能を評価することは、前記第1、第2及び第3の読み取りスレッシュホールドに基づいてECCのデコードの成功又は失敗を評価することを含む、請求項1に記載の方法。
  10. 前記記憶されたデータは、エラー修正コード(ECC)でエンコードされ、前記読み出し性能を評価することは、前記第1、第2及び第3の読み取りスレッシュホールドに基づいてECCをデコードするデコーディングプロセスの暫定的結果を評価することを含む、請求項1に記載の方法。
  11. 複数のアナログメモリセルより成るメモリと、
    記憶回路と、
    を備えた装置において、前記記憶回路は、前記アナログメモリセルのグループにおいてデータを記憶し、第1の読み取りスレッシュホールドを使用して前記グループ内のメモリセルを読み取って第1の読み出し結果を発生し、第2の読み取りスレッシュホールドを使用して前記グループ内のメモリセルを再読み取りして第2の読み出し結果を発生し、少なくとも1つの補助的な読み取りスレッシュホールドを使用して前記グループ内のメモリセルを再読み取りして補助的な読み出し結果を発生し、前記第1の読み出し結果、前記第2の読み出し結果及び前記補助的な読み出し結果により前記第1の読み取りスレッシュホールドの少なくとも1つ及び前記第2の読み取りスレッシュホールドの少なくとも1つを含む第3の読み取りスレッシュホールドを定義し、前記第3の読み取りスレッシュホールドを用いて前記グループのメモリセルを読み取ることによって生成される第3の読み出し結果を決定し、前記第1、第2及び第3の読み取りスレッシュホールドの読み出し性能を前記第1及び第2の読み出し結果に基づいて評価し、その評価された読み出し性能に基づいて前記第1、第2又は第3の読み取りスレッシュホールドを選択し、そしてその選択された読み取りスレッシュホールドを使用してデータ回復を遂行するように構成された、装置。
  12. 前記記憶回路は、
    前記メモリセルのグループに記憶されたデータを回復すること、及び
    前記メモリセルの異なるグループに記憶されたデータを回復すること、
    の少なくとも1つを遂行することにより前記データの回復を遂行するように構成された、請求項11に記載の装置。
  13. 前記第3の読み出し結果を決定するために、前記記憶回路は、さらに、前記第1及び第2の読み出し結果により前記第3の読み取り結果を決定するように構成された、請求項11に記載の装置。
  14. 前記第3の読み出し結果を決定するために、前記記憶回路は、前記グループのメモリセルを、前記少なくとも1つの補助的な読み取りスレッシュホールドを使用する前記グループからの読み出しに基づき第1及び第2のサブセットへと分割し、そして前記第1サブセットのメモリセルから読み取られた第1の読み出し結果、及び前記第2サブセットのメモリセルから読み取られた第2の読み出し結果を選択することにより前記第3の読み出し結果を形成するように構成された、請求項13に記載の装置。
  15. 前記少なくとも1つの補助的な読み取りスレッシュホールドは、前記読み取りスレッシュホールドの第1又は第2のセットを含む、請求項14に記載の装置。
  16. 前記記憶されたデータは、エラー修正コード(ECC)でエンコードされ、そして前記記憶回路は、前記グループのメモリセルを第1及び第2のサブセットへ分割し、前記第2のサブセットのメモリセルから読み取られた第1の読み出し結果をナル化しながら、前記第1のサブセットのメモリセルから読み取られた第1の読み出し結果に基づいてECCの第1の部分的シンドロームを計算し、前記第1のサブセットのメモリセルから読み取られた第2の読み出し結果をナル化しながら、前記第2のサブセットのメモリセルから読み取られた第2の読み出し結果に基づいてECCの第2の部分的シンドロームを計算し、前記第1及び第2の部分的シンドロームを加算することにより、前記第3の読み取りスレッシュホールドを使用して前記グループのメモリセルを読み取ることにより生じる第3の読み出し結果に対応するECCの第3のシンドロームを計算し、及び前記第1の読み出し結果に対して計算された第1のシンドローム、前記第2の読み出し結果に対して計算された第2のシンドローム、及び第3のシンドロームを比較することにより前記読み出し性能を評価するように構成された、請求項11に記載の装置。
  17. 前記記憶回路は、前記少なくとも1つの読み取りスレッシュホールドを使用するグループからの読み出しに基づいて前記第1及び第2のサブセットを定義するように構成された、請求項16に記載の装置。
  18. 前記記憶されたデータは、パリティチェック方程式のセットにより定義されたエラーチェックコード(ECC)でエンコードされ、そして前記記憶回路は、前記第1の読み出し結果、前記第2の読み出し結果、及び前記第3の読み取りスレッシュホールドを使用して前記グループのメモリセルを読み取ることにより生じる第3の読み出し結果によって満足されるパリティチェック方程式の各カウントを計算することにより前記読み出し性能を評価するように構成された、請求項11に記載の装置。
  19. 前記記憶されたデータは、エラー修正コード(ECC)でエンコードされ、前記記憶回路は、前記第1、第2及び第3の読み取りスレッシュホールドに基づいてECCのデコードの成功又は失敗を評価することにより読み出し性能を評価するように構成された、請求項11に記載の装置。
  20. 前記記憶されたデータは、エラー修正コード(ECC)でエンコードされ、前記記憶回路は、前記第1、第2及び第3の読み取りスレッシュホールドに基づいてECCをデコードするデコーディングプロセスの暫定的結果を評価することにより前記読み出し性能を評価するように構成された、請求項11に記載の装置。
JP2012289484A 2011-12-28 2012-12-27 アナログメモリセルにおける最適スレッシュホールドのサーチ Expired - Fee Related JP5620973B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201161580673P 2011-12-28 2011-12-28
US61/580,673 2011-12-28
US13/595,571 US8773904B2 (en) 2011-12-28 2012-08-27 Optimized threshold search in analog memory cells
US13/595,571 2012-08-27

Publications (2)

Publication Number Publication Date
JP2013145625A JP2013145625A (ja) 2013-07-25
JP5620973B2 true JP5620973B2 (ja) 2014-11-05

Family

ID=47522270

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012289484A Expired - Fee Related JP5620973B2 (ja) 2011-12-28 2012-12-27 アナログメモリセルにおける最適スレッシュホールドのサーチ

Country Status (8)

Country Link
US (1) US8773904B2 (ja)
EP (1) EP2610874A1 (ja)
JP (1) JP5620973B2 (ja)
KR (1) KR101428891B1 (ja)
CN (1) CN103186490B (ja)
BR (1) BR102012033346A2 (ja)
TW (1) TWI511146B (ja)
WO (1) WO2013101363A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10777283B2 (en) 2018-12-27 2020-09-15 Toshiba Memory Corporation Memory system

Families Citing this family (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8358542B2 (en) 2011-01-14 2013-01-22 Micron Technology, Inc. Methods, devices, and systems for adjusting sensing voltages in devices
US9530515B2 (en) * 2013-03-13 2016-12-27 Sandisk Technologies Llc Determining read voltages for reading memory
US9342402B1 (en) 2014-01-28 2016-05-17 Altera Corporation Memory interface with hybrid error detection circuitry for modular designs
US9911477B1 (en) 2014-04-18 2018-03-06 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
US20170046224A1 (en) * 2014-04-25 2017-02-16 Empire Technology Development Llc Storing data in storage devices
US9811263B1 (en) 2014-06-30 2017-11-07 Altera Corporation Memory controller architecture with improved memory scheduling efficiency
KR101590725B1 (ko) 2014-10-13 2016-02-02 포항공과대학교 산학협력단 멀티 레벨 상 변화 메모리의 데이터 코딩 장치 및 방법
WO2016108553A1 (en) 2014-12-30 2016-07-07 Lg Electronics Inc. Method and apparatus for allocating resources for bi-directional transmission in wireless communication system
WO2016142572A1 (en) * 2015-03-10 2016-09-15 Coriant Oy Methods and devices for managing transfer of data frames
US9779818B2 (en) 2015-07-09 2017-10-03 Apple Inc. Adaptation of high-order read thresholds
US10296232B2 (en) * 2015-09-01 2019-05-21 Western Digital Technologies, Inc. Service level based control of storage systems
US9697075B2 (en) 2015-09-08 2017-07-04 Apple Inc. Efficient search for optimal read thresholds in flash memory
US10193574B1 (en) * 2016-05-19 2019-01-29 Apple Inc. Efficient syndrome calculation in processing a GLDPC code
JP6673021B2 (ja) * 2016-05-31 2020-03-25 富士通株式会社 メモリおよび情報処理装置
US10289484B2 (en) * 2016-09-16 2019-05-14 Micron Technology, Inc. Apparatuses and methods for generating probabilistic information with current integration sensing
US10388394B2 (en) * 2017-07-25 2019-08-20 Apple Inc. Syndrome weight based evaluation of memory cells performance using multiple sense operations
KR20190113437A (ko) * 2018-03-28 2019-10-08 에스케이하이닉스 주식회사 메모리 시스템, 그것의 동작방법 및 메모리 시스템을 포함하는 컴퓨팅 시스템
US10908986B2 (en) 2018-04-02 2021-02-02 Sandisk Technologies Llc Multi-level recovery reads for memory
CN110797069B (zh) * 2018-08-01 2021-10-22 群联电子股份有限公司 电压调整方法、存储器控制电路单元以及存储器存储装置
TWI701674B (zh) * 2019-12-30 2020-08-11 華邦電子股份有限公司 記憶體裝置及其資料讀取方法
CN114724602B (zh) * 2022-03-07 2023-02-10 北京得瑞领新科技有限公司 低密度校验码解码能力的验证方法、装置及计算机设备

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3976839B2 (ja) 1996-07-09 2007-09-19 株式会社ルネサステクノロジ 不揮発性メモリシステムおよび不揮発性半導体メモリ
US7697326B2 (en) * 2006-05-12 2010-04-13 Anobit Technologies Ltd. Reducing programming error in memory devices
US7821826B2 (en) * 2006-10-30 2010-10-26 Anobit Technologies, Ltd. Memory cell readout using successive approximation
WO2008053472A2 (en) 2006-10-30 2008-05-08 Anobit Technologies Ltd. Reading memory cells using multiple thresholds
US7941590B2 (en) * 2006-11-06 2011-05-10 Marvell World Trade Ltd. Adaptive read and write systems and methods for memory cells
US7900102B2 (en) 2006-12-17 2011-03-01 Anobit Technologies Ltd. High-speed programming of memory devices
WO2008111058A2 (en) 2007-03-12 2008-09-18 Anobit Technologies Ltd. Adaptive estimation of memory cell read thresholds
US8259497B2 (en) 2007-08-06 2012-09-04 Apple Inc. Programming schemes for multi-level analog memory cells
US7782674B2 (en) * 2007-10-18 2010-08-24 Micron Technology, Inc. Sensing of memory cells in NAND flash
US8068360B2 (en) 2007-10-19 2011-11-29 Anobit Technologies Ltd. Reading analog memory cells using built-in multi-threshold commands
WO2009050703A2 (en) * 2007-10-19 2009-04-23 Anobit Technologies Data storage in analog memory cell arrays having erase failures
US8000141B1 (en) * 2007-10-19 2011-08-16 Anobit Technologies Ltd. Compensation for voltage drifts in analog memory cells
US8156398B2 (en) 2008-02-05 2012-04-10 Anobit Technologies Ltd. Parameter estimation based on error correction code parity check equations
US8000135B1 (en) 2008-09-14 2011-08-16 Anobit Technologies Ltd. Estimation of memory cell read thresholds by sampling inside programming level distribution intervals
JP5349256B2 (ja) 2009-11-06 2013-11-20 株式会社東芝 メモリシステム
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
KR101618311B1 (ko) 2010-02-08 2016-05-04 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
TWI447733B (zh) 2010-04-14 2014-08-01 Phison Electronics Corp 計算補償電壓與調整門檻值電壓之方法及記憶體裝置與控制器

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10777283B2 (en) 2018-12-27 2020-09-15 Toshiba Memory Corporation Memory system

Also Published As

Publication number Publication date
US8773904B2 (en) 2014-07-08
US20130170272A1 (en) 2013-07-04
JP2013145625A (ja) 2013-07-25
WO2013101363A1 (en) 2013-07-04
EP2610874A1 (en) 2013-07-03
TWI511146B (zh) 2015-12-01
CN103186490B (zh) 2015-12-23
KR101428891B1 (ko) 2014-08-08
CN103186490A (zh) 2013-07-03
TW201342383A (zh) 2013-10-16
BR102012033346A2 (pt) 2013-10-08
KR20130077914A (ko) 2013-07-09

Similar Documents

Publication Publication Date Title
JP5620973B2 (ja) アナログメモリセルにおける最適スレッシュホールドのサーチ
US8830746B2 (en) Optimized threshold search in analog memory cells using separator pages of the same type as read pages
US9136879B2 (en) Error correction coding over multiple memory pages
US8869008B2 (en) Adaptation of analog memory cell read thresholds using partial ECC syndromes
US8234545B2 (en) Data storage with incremental redundancy
US7900102B2 (en) High-speed programming of memory devices
US8145984B2 (en) Reading memory cells using multiple thresholds
US10388394B2 (en) Syndrome weight based evaluation of memory cells performance using multiple sense operations
KR101674339B1 (ko) 분류 코드를 사용한 소프트 데이터의 결정
US9230639B2 (en) SNR estimation in analog memory cells
TWI546807B (zh) 在讀取臨限值錯誤的存在下從類比記憶體胞之軟讀出
US10998920B1 (en) Overcoming saturated syndrome condition in estimating number of readout errors
US10795761B2 (en) Memory system and method of controlling non-volatile memory
KR101885976B1 (ko) 셀당 비-정수 개의 비트들을 사용하는 아날로그 메모리 셀들에서의 데이터 저장 관리
US9021334B2 (en) Calculation of analog memory cell readout parameters using code words stored over multiple memory dies
US11874736B2 (en) Calculating soft metrics depending on threshold voltages of memory cells in multiple neighbor word lines
US11621048B2 (en) Positioning read thresholds in a nonvolatile memory based on successful decoding

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20131127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20131226

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20140326

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20140331

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20140916

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140919

R150 Certificate of patent or registration of utility model

Ref document number: 5620973

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees