JP2017084436A - 装置、有形のマシン読取可能な記録可能な記憶媒体、および方法 - Google Patents

装置、有形のマシン読取可能な記録可能な記憶媒体、および方法 Download PDF

Info

Publication number
JP2017084436A
JP2017084436A JP2016213142A JP2016213142A JP2017084436A JP 2017084436 A JP2017084436 A JP 2017084436A JP 2016213142 A JP2016213142 A JP 2016213142A JP 2016213142 A JP2016213142 A JP 2016213142A JP 2017084436 A JP2017084436 A JP 2017084436A
Authority
JP
Japan
Prior art keywords
threshold voltage
read
reading
bit error
read threshold
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2016213142A
Other languages
English (en)
Other versions
JP2017084436A5 (ja
JP6713909B2 (ja
Inventor
スンダララジャン・サンカラナラヤナン
Sankaranarayanan Sundararajan
アブデルハキム・サレム・アルフッシエン
S Alhussien Abdelhakim
ヂェンガン・チェン
Zhengang Chen
エーリッヒ・エフ・ハラチュ
F Haratsch Erich
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.)
Seagate Technology LLC
Original Assignee
Seagate Technology 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 Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of JP2017084436A publication Critical patent/JP2017084436A/ja
Publication of JP2017084436A5 publication Critical patent/JP2017084436A5/ja
Application granted granted Critical
Publication of JP6713909B2 publication Critical patent/JP6713909B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • 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/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/12Programming voltage switching circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/30Power supply circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3404Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Read Only Memory (AREA)
  • Retry When Errors Occur (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】装置、有形のマシン読取可能な記録可能な記憶媒体、および方法を提供する。
【解決手段】メモリの読取閾値電圧は、複数の読取閾値電圧についての復号されたデータに基づくビット誤り率に基づいて調整される。読取閾値電圧は、読取値を取得するために現在の読取閾値電圧においてメモリを読取ることと、硬判定デコーダを読取値に適用することと、硬判定デコーダが読取値を収束語に収束させるか否かを判断することと、収束語に対応するビットを参照ビットとして記憶することと、硬判定デコーダが収束すると、閾値が満たされるまで、(i)参照ビットに基づいて現在の読取閾値電圧についてのビット誤り率を計算し、(ii)現在の読取基準電圧を新たな読取閾値電圧に調整し、(iii)新たな読取値を取得するために新たな読取閾値電圧においてメモリを読取ることと、閾値が満たされると、ビット誤り率に基づいて読取閾値電圧を選択することと、によって調整され得る。
【選択図】図1

Description

分野
本分野は、一般にソリッドステート記憶装置に関し、より特定的にはこのようなソリッドステート記憶装置において読取閾値電圧を調整するための技術に関する。
背景
フラッシュメモリ装置などのソリッドステート記憶装置は、一般に、記憶セルの読取電圧レベルに基づいて、記憶セルに記憶された異なる2進値を区別する。ソリッドステート記憶装置は、一般に、記憶セルに記憶され得るデータを判断するために、読取電圧レベルを読取閾値電圧と比較する。
しかし、読取電圧レベルなどの記憶セルの特性は、経時的に変化する可能性がある。例えば、プログラム消去サイクル、保持力、読取妨害および他の物理的なアーチファクトが、記憶セルの読取電圧レベルを変化させる可能性がある。記憶セルの読取電圧レベルが対応する読取電圧閾値を超えてシフトすると、記憶されたデータは、適切に読取られない。なぜなら、記憶セルから読取られるデータの値が、記憶セルに元々書込まれていたデータの値とは異なるからである。
したがって、読取電圧レベルのこのようなシフトを考慮に入れるように読取閾値電圧を調整するための技術の改善が必要である。したがって、復号されたデータに基づいて取得されるビット誤り率に基づいて読取閾値電圧を調整するための技術の改善がさらに必要である。
概要
本発明の例示的な実施例は、ソリッドステート記憶装置において読取閾値電圧を調整するための方法および装置を提供する。一実施例では、例示的な方法は、複数の読取閾値電圧についての復号されたデータに基づくビット誤り率に基づいてメモリの読取閾値電圧を調整するステップを備える。読取閾値電圧は、読取値を取得するために現在の読取閾値電圧においてメモリを読取ることと、硬判定(hard decision)デコーダを読取値に適用することと、硬判定デコーダが読取値を収束語に収束させるか否かを判断することと、収束語に対応する1つ以上のビットを参照ビットとして記憶することと、硬判定デコーダが読取値を収束させると以下のステップを実行することと、によって調整されてもよく、当該以下のステップは、参照ビットに基づいて現在の読取閾値電圧についてのビット誤り率を計算するステップと、現在の読取基準電圧を新たな読取閾値電圧に調整するステップと、新たな読取値を取得するために新たな読取閾値電圧においてメモリを読取るステップと、試行されるいくつかの読取閾値電圧について閾値が満たされるまで、計算するステップ、調整するステップおよび読取るステップを繰返すステップと、閾値が満たされると、各々の繰返されたステップについて計算されたビット誤り率に基づいて読取閾値電圧を選択するステップとを含む。
少なくとも1つの例示的な実施例において、ビット誤り率は、硬判定デコーダが現在の読取閾値電圧を収束させなければシンドローム重みから推定され、現在の読取基準電圧を新たな読取閾値電圧に調整する。本発明の1つ以上の実施例では、次の反復のための新たな読取閾値電圧は、複数の読取閾値電圧についてのビット誤り率に基づく第1のビット誤り率プロファイルおよび複数の読取閾値電圧についてのシンドローム重みからのビット誤り率に基づく第2のビット誤り率プロファイルのうちの1つ以上に基づいて選択されてもよい。少なくとも1つの実施例では、新たな読取閾値電圧は、次の反復のために、複数の読取閾値電圧についてのビット誤り率に基づくビット誤りプロファイルの数列および複数の読取閾値電圧についてのシンドローム重みプロファイルの数列のうちの1つ以上に基づいて選択される。
本発明のより完全な理解ならびに本発明のさらなる特徴および利点は、以下の詳細な説明および図面を参照することによって得られるであろう。
本発明が実現され得るソリッドステート記憶システムの概略ブロック図である。 図1の例示的なソリッドステート記憶媒体のための例示的な読取閾値電圧分布を示す。 図1の例示的なソリッドステート記憶媒体のための例示的な読取閾値電圧分布を示す。 図1の例示的なソリッドステート記憶媒体のための例示的な読取閾値電圧分布を示す。 図1の例示的なソリッドステート記憶媒体のための例示的な読取閾値電圧分布を示す。 本発明の局面を組み入れる例示的な読取閾値電圧調整プロセスを示すフローチャートである。 例示的な下位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 例示的な下位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 例示的な下位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 例示的な下位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 例示的な上位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 例示的な上位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 例示的な上位ページのための図3の例示的な読取閾値電圧調整プロセスの実行を示す。 本発明の一実施例に係るスマートスキャンプロセスの例示的な実現例を示すフローチャートである。 本発明の1つ以上の実施例のうちの少なくとも一部を実現するために使用され得る例示的な処理プラットフォームを示す。
詳細な説明
例示的なソリッドステート記憶システムおよび他の処理装置を参照して、本発明の例示的な実施例について本明細書で説明する。しかし、本発明は、示されている特定の例示的なシステムおよび装置構成とともに使用することに限定されるものではないということが理解されるべきである。
本発明のさまざまな局面は、シングルレベルセル(single-level cell:SLC)またはマルチレベルセル(multi-level cell:MLC)NAND(Not And)フラッシュメモリ装置などのソリッドステートメモリ装置のための閾値電圧調整技術に向けられる。本明細書で使用されるマルチレベルセルフラッシュメモリは、各メモリセルが2つ以上のビットを記憶するメモリを備える。本発明は、アナログ値を電圧として記憶するメモリセルを用いて本明細書に示されているが、本発明は、当業者に明らかであるように、記憶されたデータを表わすために電圧または電流を使用するなど、メモリ装置のための任意の記憶機構とともに利用されてもよい。
本発明の局面は、ソリッドステート記憶媒体の進化および/または劣化に伴う読取閾値電圧の変化に対処するために、復号されたデータに基づくビット誤り率を用いて、メモリの読取閾値電圧を調整する。1つの例示的な実施例では、コントローラは、複数の読取閾値電圧についての復号されたデータに少なくとも一部は基づいて取得されるビット誤り率を用いて、メモリの読取閾値電圧を調整する。少なくとも1つの実施例では、ビット誤り率および対応する調整された読取閾値電圧を判断するために、特定のページのシンドローム重みが使用される。
本発明のさらなる局面によれば、ビット誤りプロファイルまたはシンドローム重みプロファイルまたはこれら2つの組み合わせの数列に基づいて次の反復のための適切な読取電圧閾値を選択するために、スマートスキャン機能が任意に利用される。一般に、例示的なスマートスキャン機能は、総トラッキング時間を減少させようとして読取閾値電圧を動的に調整する。
図1は、ソリッドステート記憶システム100の概略ブロック図である。図1に示されているように、例示的なソリッドステートメモリシステム100は、ソリッドステート記憶制御システム110と、ソリッドステート記憶媒体150とを備える。例示的なソリッドステート記憶制御システム110は、コントローラ120と、エンコーダ/デコーダブロック130とを備える。代替的な実施例では、エンコーダ/デコーダブロック130は、コントローラ120内で実現されてもよい。
図1に示されているように、コントローラ120は、他の周知の機能に加えて、復号されたデータに基づくビット誤り率を用いて読取閾値電圧を調整するために、図3に関連して以下でさらに説明する読取閾値電圧調整プロセス300を備える。エンコーダ/デコーダブロック130は、例えば周知の市販の技術および/または製品を用いて実現されてもよい。エンコーダ/デコーダブロック130内のエンコーダは、例えば低密度パリティチェック(low-density parity-check:LDPC)符号化などの誤り訂正符号化を実現してもよい。エンコーダ/デコーダブロック130内のデコーダは、例えば硬判定低密度パリティチェック(hard decision low-density parity-check:HLDPC)デコーダなどの硬判定デコーダとして具体化されてもよい。
ソリッドステート記憶媒体150は、シングルレベルもしくはマルチレベルセルフラッシュメモリ、NANDフラッシュメモリ、相変化メモリ(phase-change memory:PCM)、磁気抵抗ランダムアクセスメモリ(magneto-resistive random access memory:MRAM)、ナノRAM(nano RAM:NRAM)、NORフラッシュメモリ、ダイナミックRAM(dynamic RAM:DRAM)、または別の不揮発性メモリ(non-volatile memory:NVM)などのメモリアレイを備える。本発明は、主にマルチレベルセルNANDフラッシュメモリの文脈において示されているが、本発明は、当業者に明らかであるように、シングルレベルセルフラッシュメモリおよび他の不揮発性メモリにも適用可能である。
例えばマルチレベルセルNANDフラッシュメモリでは、特定のセルに関連付けられる電圧値を予め規定されたメモリ状態に変換するために、閾値検出器が一般に利用される。図2A〜図2Dは、装置閾値電圧分布を示す。一般に、図2A〜図2Dにおける各ピークは、図1のソリッドステート記憶媒体150などの不揮発性メモリの読取ユニットサイズ部分のそれぞれの状態についての装置閾値電圧確率分布を表わす独立したガウス様曲線の抽象的概念である。装置閾値電圧軸は、正の電圧の増加とともに右側に描かれる。絶対尺度は意図的に設けられておらず、基準点は特定されず、そのため、プロットはより一般的に不揮発性メモリのより大きな集団に当てはまる。図2Aおよび図2BはSLCメモリに当てはまるのに対して、図2Cおよび図2DはMLCメモリに当てはまる。
初期時(例えば、対応するデータが書込まれるとき)を表わす図2Aでは、最も左側の分布220は論理1を表わし、最も右側の分布230は論理0を表わす。技術によっては、最も左側の分布が(少なくとも大部分が)負の電圧に属していてもよい。読取閾値210は、理想的には2つの分布の間に位置する。
本明細書における実施例によって関連付けられる場合を除き、これらの装置閾値電圧分布から独立して、いくつかの実施例では、0および1の統計的分布が記憶されているという特定の知識がNVMに書込まれる。より特定的には、いくつかの実施例では、0および1の統計的分布が50−50%(0が50%および1が50%)になるようにさまざまな暗号化および/またはスクランブリング技術が使用される。図2Aの場合に理想的に位置する名目上の読取閾値を用いてSLCが読取られる場合、観察される0および1の読取データ統計的分布は、同様に50−50%である。統計的分布が50−50%であるということは、データのいずれか1つのサンプルが0ビットおよび1ビットの厳密に均一なバランスを有するであろうということを意味するのではなく、むしろ多くのサンプルの平均が50−50%で収束する0ビットと1ビットとの比率を生成し、サンプルの数が増加するにつれて確率的限界がますます厳しくなることを意味する。
図2Aよりも後のときを表わす図2Bでは、名目上の読取閾値210は図2Aと同様であり、2つの装置閾値電圧分布225および235は、図2Aにおけるそれらの以前のそれぞれの分布220および230に対してシフトされている。例示の目的で、2つの分布は、両方が左側に(より負の電圧の方に)均一にシフトしたものとして示されている。より一般的には、2つの分布は、互いに独立して正の方向または負の方向に移動可能であるということが理解されるべきである。
図2Bに鑑みて、やはり名目上の読取閾値210を用いてSLCが読取られた場合、(例えば任意の誤り訂正の前に)不揮発性メモリから直接読取られる観察される0および1の統計的分布は50−50%にならないということが予測可能である。より特定的には、記載されている概念的な例では、読取閾値が、0のうちのいくつかが偽って1として読取られるようなものであるので、1の誤った過剰が予期される。
実際には、推測の方向が逆にされる。すなわち、実際には、一般に、装置閾値電圧分布のこのようなシフトは、知られていないか、または直接知ることはできない。従来技術では、装置閾値電圧分布のシフトの存在を推測するために、(公知の0および1の記憶された分布に対して)不揮発性メモリから読取られる0および1の不均衡を観察することが使用される。さらに、読取閾値は、0/1バランスが回復されるまで必要に応じて、少なくとも一部は観察された不均衡に基づいて読取閾値215に調整される。読取閾値電圧に対する不均衡ベースの調整のより詳細な説明については、例えば2012年6月26日に出願された、「フラッシュチャネルのための高速トラッキング(Fast Tracking for Flash Channels)」と題される、本願の譲受人に譲渡された、引用によって本明細書に援用される米国公開特許出願番号第2013/0343131号を参照されたい。
以下に記載されるように、本発明の局面は、SLCソリッドステート記憶媒体150の進化および/または劣化に伴う読取閾値電圧の変化に対処するために、デコーダ130からの復号されたデータに基づくビット誤り率を用いて、現在の読取閾値電圧210を新たな読取閾値電圧215に調整する。
同様に、図2Cは、MLC装置のための初期装置閾値電圧分布を有する初期時(対応するデータが書込まれるときなど)を表わし、図2Dは、対応するその後の装置閾値電圧分布を有するその後のときを表わす。図2Cおよび図2Dに示される例示的な実施例では、各記憶要素は、各メモリセルに2ビットのデータを記憶するために4つの考えられるデータ状態を利用する。
より具体的には、11状態、01状態、00状態および10状態をそれぞれ表わす選択された例示的なグレーコードマッピングでは、(図2Dの)装置閾値電圧分布251,261,271および281は、(図2Cの)それらの以前のそれぞれの装置閾値電圧分布250,260,270および280に対してシフトされる。VREAD1240、VREAD2242およびVREAD3244の3つの名目上の(当初の)読取閾値も示されている。やはり例示の目的で、図2Dには、4つの分布が、全て左側に(より負の電圧の方に)均一にシフトしたものとして示されている。より一般的には、4つの分布は、互いに独立して正の方向または負の方向に移動可能であるということが理解されるべきである。
従来技術でもやはり、4つの状態の統計的分布が25−25−25−25%(各状態において25%)になるようにさまざまなスクランブリング技術が使用される。図2Cの場合に理想的に位置する名目上の読取閾値電圧を用いてMLCが読取られる場合、いくつかの実施例では、4つの状態の統計的分布は、同様に25−25−25−25%であるように構成可能である。図2Aおよび図2Bに関連して上記したSLC技術と同様に、装置閾値電圧分布のシフトの存在を推測するために、(公知の記憶された状態分布に対して)NVMから読取られる不均衡(例えば予期される25−25−25−25%からの逸脱)を観察することが使用される。次いで、読取閾値は、図2Dに示されるように調整されて、VREAD1265、VREAD2275およびVREAD3285になる。読取閾値調整は、多くの場合、下位ページ読取り(VREAD2275の調整)および上位ページ読取り(VREAD1265および/またはVREAD3285の調整)に対して別々に実行される。
以下に記載されるように、本発明の局面は、MLCソリッドステート記憶媒体150の進化および/または劣化に伴う読取閾値電圧の変化に対処するために、デコーダ130からの復号されたデータに基づくビット誤り率またはシンドローム重みに基づくビット誤り率推定値を用いて、MLCのための現在の読取閾値電圧240,242,244を新たな読取閾値電圧265,275,285にそれぞれ調整する。
図3は、本発明の局面を組み入れる例示的な読取閾値電圧調整プロセス300を示すフローチャートである。図3に示されているように、例示的な読取閾値電圧調整プロセス300が起動されると、カウンタiおよびjがゼロに初期化される。ステップ310において、現在の読取閾値電圧Vにおいて所与のページPを読取って、読取値を取得する。
ステップ315において、硬判定低密度パリティチェックデコーダなどの硬判定デコーダが読取値に適用される。
ステップ320において、硬判定デコーダが読取値を収束語に収束させるか否かを判断するためにテストを実行する。ステップ320において硬判定デコーダが読取値を収束語に収束させると判断されると、ステップ325において、収束語(例えば復号されたデータ)をジーニー(genie)ビット(例えば参照ビット)として記憶する。また、ステップ330において、ステップ325において記憶された参照ビットに基づいて、現在の読取閾値電圧Vについてのビット誤り率を計算する。ビット誤り率は、ビット単位でジーニービットに対して読取値を比較することによって計算され、結果として生じる不一致の数が、ビット誤りの数である。ビット誤り率は、ジーニービットの数の割合として表わされるビット誤りの数である。
ステップ335において、読取閾値電圧カウンタ(i)をインクリメントし、ステップ340において、読取閾値電圧カウンタ(i)が閾値限界N(例えば試行される読取閾値電圧の数に対する限界)未満のままであるか否かを判断するためにさらなるテストを実行する。ステップ340において読取閾値電圧カウンタ(i)が閾値限界未満のままであると判断されると、ステップ345において、新たな読取閾値電圧Vのために所与のページPを読取って、新たな読取値を取得する。
ステップ340において読取閾値電圧カウンタ(i)が閾値限界以上であると判断されると、プログラム制御は、以下に記載されるステップ370に進む。
ステップ320において許可された回数の読取閾値電圧の試行について硬判定デコーダが読取値を収束語に収束させていないと判断されると、プログラム制御は任意にステップ350に進み、所与のページPのシンドローム重みから現在の読取閾値電圧Vについてのビット誤り率(BER(V))を推定する。一般に、シンドロームは、公知の態様の誤ったビットの数の推定値である。シンドローム重みは、例えば指定の回数の反復についてシンドローム重み計算機または硬判定デコーダから取得されることができる。さらなる変形例では、シンドローム重みは、ステップ320における収束を最初に確認することなく計算されてもよく、または、誤りカウントのシンドローム重みベースの推定は、完全に省略されてもよい。したがって、さまざまな実現例では、ステップ350における誤りカウントのシンドローム重みベースの推定およびステップ330における現在の読取閾値電圧Vについてのビット誤り率の計算は、独立して実行されてもよく、または、図3の例示的な実施例のために示されている態様で組み合わせられてもよい。
ビット誤り率は、以下のようにシンドローム重みから計算されることができる。
シンドローム=Hx′
式中、xは読取値であり、HはバイナリLDPCコードのパリティチェック行列であり、′は転置オペレーションを示す。シンドロームは、1および0のベクトルであり、シンドローム重みは、シンドロームベクトルにおける1の個数である。シンドローム重みをビット誤り率に変換するための技術は多数存在する。例えば、シンドローム重みは、以下のようにビット誤り率に変換されることができる。
ビット誤り率推定値=シンドローム重み/H行列の平均行重み
ステップ355において、読取閾値電圧カウンタ(i)をインクリメントし、ステップ360において、読取閾値電圧カウンタ(i)が閾値限界N未満のままであるか否かを判断するためにさらなるテストを実行する。ステップ360において読取閾値電圧カウンタ(i)が閾値限界未満のままであると判断されると、ステップ310において、新たな読取閾値電圧Vのために所与のページPを再度読取って、新たな読取値を取得する。ステップ315において、硬判定デコーダが現在の読取値に再度適用され、ステップ320において、上記の態様で収束テストを再度実行する。
ステップ340または360において読取閾値電圧カウンタ(i)が閾値限界以上であると判断されると、プログラム制御はステップ370に進む。ステップ370において、ページカウンタ(j)をインクリメントし、ステップ370において、ページカウンタ(j)の新たな値がページ限界M未満のままであるか否かを判断するためにさらなるテストを実行する。ステップ370においてページカウンタ(j)の新たな値がページ限界未満のままであると判断されると、プログラム制御はステップ310に進み、上記の態様で次のページを処理し続ける。しかし、ステップ370においてページカウンタ(j)の新たな値がページ限界以上であると判断されると、ステップ375において、ステップ330および/または350のさまざまな反復において計算されたビット誤り率に基づいて読取閾値電圧が選択される。少なくとも1つの実施例では、ステップ375において、全てのiの値についてBER(V)および/またはBER(V)を最小化する読取閾値電圧が選択される。例示的な読取閾値電圧調整プロセス300は、ステップ375において1つ以上のビット誤り率計量を最小化し、実質的に最適な読取閾値電圧を取得する。一実施例では、ステップ375において、ステップ350において計算されたシンドローム重みに基づくビット誤り率のみを用いて、読取閾値電圧が最適化される。
図4〜図7は、図1のMLCソリッドステート記憶媒体の例示的な下位ページのための図3の例示的な読取閾値電圧調整プロセス300の実行を示す。図4に示されているように、特定の読取閾値電圧のために特定の下位ページを読取って、読取値を取得する(図3のステップ310に対応)。図4の例では、デフォルト読取閾値電圧R00を中心として−50〜+50の範囲内で101個の基準インクリメントを用いて、読取閾値電圧を調整することができる。図4の例では、基準インクリメントVrefはゼロに等しい。
ステップ410において、HLDPCデコーダなどの硬判定デコーダを読取値に適用する(図3のステップ315に対応)。ステップ420において、硬判定デコーダが読取値を収束語に収束させるか否かを判断するためにテストを実行する(図3のステップ320に対応)。図4の例では、HLDPCデコーダは収束しない。例示的な読取閾値電圧調整プロセス300において、硬判定デコーダが収束しない場合、プログラム制御は任意にステップ350に進んで、所与のページPのシンドローム重みから現在の読取閾値電圧V(BER(V))についてのビット誤り率を推定する。ステップ355において、読取閾値電圧カウンタ(i)をインクリメントし、新たな読取閾値電圧のためにページを再度読取って、新たな読取値を取得する。この一連のステップは、図5に示されるようにHLDPCデコーダが収束するまで継続する。
図5の例では、基準インクリメントVrefは10に等しい。ステップ510において、HLDPCデコーダを読取値に適用する(図3のステップ315に対応)。ステップ520において、硬判定デコーダが読取値を収束語に収束させるか否かを判断するためにテストを実行する(図3のステップ320に対応)。図5の例では、HLDPCデコーダは収束し、ステップ530において収束語(例えば復号されたデータ)をジーニービット(例えば参照ビット)として記憶する(図3のステップ325に対応)。
図6の例では、基準インクリメントVrefは、最初は依然として10に等しい(図5において検出された収束を追従する)。図6に示されているように、(図3のステップ330に対応する)ステップ630において、ジーニーデータ620に基づいてロービット誤り率(raw bit error rate:RBER)を計算する。図3のステップ335において読取閾値電圧カウンタ(i)がインクリメントされるので、図6に示されているプロセスは、複数の読取閾値電圧(例えば8および12に等しいVref)について取得される。このようにして、複数の読取閾値電圧についてページが再読取され、読取値は、デコーダから取得された公知のジーニービットと比較されることができる。
図7は、複数の読取閾値電圧について図6に示されるステップを実行することによって取得される例示的なロービット誤り率プロファイル700を示す。図7に示されているように、12に等しい例示的な基準インクリメントVrefについて、実質的に最小のRBERが観察される。この選択は、図3のステップ375においてなされる。したがって、12に等しい基準インクリメントVrefに対応する読取閾値電圧は、下位ページについての新たな読取閾値電圧になるだろう。
図8〜図10は、図1のMLCソリッドステート記憶媒体150の例示的な上位ページのための図3の例示的な読取閾値電圧調整プロセス300の実行を示す。図8に示されているように、2つの独立した読取閾値電圧を有する特定の上位ページを読取って、2つの対応する読取値を取得する(図3のステップ310に対応)。図8の例では、上位ページについての2つの読取閾値電圧は、各々、デフォルト読取閾値電圧R01およびR10を中心として−50〜+50の範囲内で101個の基準インクリメントを用いて独立して調整可能である。なお、(上位ページは単一の符号語を形成するので)上位ページについては単一のRBERプロファイルが取得される。
上位ページについての2つの独立した読取閾値電圧は、HLDPCデコーダが収束するまでインクリメントされる(図3のステップ320に対応)。
図8の例では、読取閾値電圧R01についての基準インクリメントVrefは5に等しく、読取閾値電圧R10についての基準インクリメントVrefは−5に等しい。ステップ810において、HLDPCデコーダを読取値に適用する(図3のステップ315に対応)。ステップ820において、硬判定デコーダが読取値を収束語に収束させるか否かを判断するためにテストを実行する(図3のステップ320に対応)。図8の例では、HLDPCデコーダは収束している。ステップ830において、現在の基準インクリメントVrefについてジーニービットを記憶する。
図9の例では、読取閾値電圧R01についての基準インクリメントVrefは5に等しく、読取閾値電圧R01についての基準インクリメントVrefは10に等しい。ステップ910において、現在の基準インクリメントVrefについてページを読取り、ステップ920において、ジーニービットを用いて現在の基準インクリメントVrefについてRBERを計算する。図9に示されているステップは、複数の基準インクリメントVrefについて繰返される。
図10は、複数の読取閾値電圧について図9に示されるステップを実行することによって取得される例示的なロービット誤り率プロファイル1000を示す。図10に示されているように、5に等しい読取閾値電圧R01についての例示的な基準インクリメントVrefおよび−5に等しい読取閾値電圧R10についての例示的な基準インクリメントVrefについて、実質的に最小のRBERが観察される。この選択は、図3のステップ375においてなされる。したがって、5に等しい読取閾値電圧R01についての基準インクリメントVrefおよび−5に等しい読取閾値電圧R10についての基準インクリメントVrefに対応する読取閾値電圧が、上位ページについての新たな読取閾値電圧になるだろう。
1つ以上の実施例によれば、本明細書に記載されている読取閾値電圧調整方法およびプロセスは、ソフトウェア、ハードウェア、またはこれら2つの任意の組み合わせとしてコントローラにおいて実現され得る。
例えば、本明細書に記載されている方法およびプロセスは、記憶装置のファームウェアの一部としてメモリに記憶されてもよく、本明細書に記載されている方法およびプロセスを実行するためのプロセッサによって実行されてもよい。代替的にまたはさらに、本明細書に記載されている方法およびプロセスは、コントローラによってアクセス可能な他のコンピュータ読取可能な媒体に記憶されてもよい。さらなる実施例では、本明細書に記載されている方法およびプロセスは、例えばインターフェイスを介して記憶装置に接続されたホストデバイスのドライバモジュールなど、記憶装置の外部であって記憶装置に作動的に接続されたコンピューティングシステムにおいて実現されてもよい。さらに、本明細書に記載されている方法およびプロセスは、コンピューティングシステムによってアクセス可能なメモリまたは他のコンピュータ読取可能な媒体に記憶されて、コンピューティングシステムのプロセッサによって実行されてもよい。
1つの変形例では、図3の読取閾値電圧調整プロセス300は、ビット誤りプロファイルまたはシンドローム重みプロファイルまたはこれら2つの組み合わせの数列に基づいて次の反復のための適切な読取電圧閾値を選択するために、図11に関連して以下でさらに説明するスマートスキャン機能を任意に利用する。一般に、スマートスキャン機能は、総トラッキング時間を減少させようとして読取閾値電圧を動的に調整する。例えば、読取閾値電圧を特定の方向に移動させているときにビット誤りカウントが減少することを読取閾値電圧調整プロセス300が観察すると、当該方向に沿って基準電圧において後続の読取りがさらになされることができる。保持力が深い場合には、スマートスキャン機能は、読取閾値電圧調整プロセス300によって実行される読取りの総回数を大幅に減少させる。さらなる例では、ビット誤りプロファイルまたはシンドローム重みプロファイルの特性に基づいて、読取ステップサイズを増減させることができる。例えば、プロファイルの谷の近くの読取閾値電圧(例えば実質的に最適な読取閾値電圧)が処理されていることを読取閾値電圧調整プロセス300が検出すると、ステップサイズを減少させることができる。また、HLDPCデコーダがさらなる粒度のために収束すると、減少したステップサイズを利用することができる。
さらなる変形例では、スマートスキャン機能は、所与の電圧において読取られたまたは処理されたいくつかの語をトラッキングし、この量を用いて最適な読取閾値電圧推定値の信頼性を向上させることができる。
図11は、本発明の一実施例に係るスマートスキャンプロセス1100の例示的な実現例を示すフローチャートである。図11に示されているように、スマートスキャンプロセス1100は、最初に、ステップ1110において一組の読取閾値電圧Vを割当てる。その後、ステップ1120において、現在の読取閾値電圧Vにおいて1つ以上のページPを読取って、読取値を取得する。
ステップ1130において、予め規定された回数の反復(2または3回の反復など)で例示的なHLDPCデコーダを実行する。ステップ1140において、任意に非収束語についてはシンドローム重みによって、収束語についてはビット誤りカウントによって、デコーダ出力を取得する。
トラッキングユニット1150は、最大数のページについてプロファイルストレージ1160内のプロファイル値を更新する。図11に示されているように、ステップ1170において、収束語についてロービット誤りプロファイルを更新し、ステップ1180において、読取閾値電圧Vにおいて符号語の数をカウントし、ステップ1190において、全ての語についてシンドロームプロファイルを更新する(収束語についてはシンドローム重みは0)。一組の読取閾値電圧Vは、ステップ1120における1つ以上のページの次の読取りのために、フィードバックの態様でプロファイルストレージからステップ1110に適用される。このようにして、ビット誤りプロファイルおよびシンドローム重みプロファイルが読取オペレーションの間に進展するので、これらのプロファイル1160に基づいて次の一組の読取電圧が生成される。
プロファイル1160の集合体は、読取符号化語(またはeページ)を処理し始めるまで遅延される。それまでは、スキャンの方向は、(例えば予め設定された読取閾値電圧セットを用いて)フラッシュ特性に基づいて予め定められていてもよい。
予め規定された最大数のページが処理された後、ステップ1195において、読取閾値電圧V,VおよびVを出力する。
なお、複数のダイに読取オペレーションを行き渡らせることによって読取時間を減少させるように読取オペレーションは並行して実行されることができる。なお、さらに、ダイ全体にわたる読取りは、さまざまな読取閾値電圧において実行されてもよい(すなわち、同一の閾値電圧においてダイ全体にわたる全てのページを読取る必要はない)。また、スマートスキャン機能は、プロファイル1160の特性に基づいて読取ステップサイズを調整することができる。
結論
上記の用途および関連の実施例は、単に例示的なものであると考えられるべきであり、本明細書に開示されている読取閾値電圧調整技術を用いて多数の他の実施例が構成されてもよい。例えば、図3の読取閾値電圧調整プロセス300は、単にシンドローム重みを用いて(すなわち、図3の左側を用いて)実行されてもよい。さらなる変形例では、図3の読取閾値電圧調整プロセス300は、単にビット誤り率計量を用いて(すなわち、図3の右側を用いて)実行されてもよい。
他の利点の中で、開示されている読取閾値電圧調整技術は、ソリッドステート記憶装置の耐久性を向上させ(しばしば寿命延長と称される)、待ち時間および性能計量を減少させる。
本明細書に記載されている読取閾値電圧調整技術は、少なくとも一部は、メモリに記憶されてコンピュータなどの処理装置のプロセッサによって実行される1つ以上のソフトウェアプログラムの形態で実現されてもよいということも理解されるべきである。上記のように、本明細書において具体化されるこのようなプログラムコードを有するメモリまたは他の記憶装置は、本明細書においてより一般的に「コンピュータプログラム製品」と称されるものの一例である。
例示的な読取閾値電圧調整プロセス300は、1つ以上の処理プラットフォームを用いて実現されてもよい。したがって、処理モジュールまたは他のコンポーネントのうちの1つ以上は、各々がコンピュータ、記憶装置または他の処理プラットフォーム要素で実行されてもよい。記載されているこのような要素は、本明細書においてより一般的に「処理装置」と称されるものの一例であると見なすことができる。
ここで図12を参照して、本発明の1つ以上の実施例の少なくとも一部を実現するために使用され得る1つの考えられる処理プラットフォームが示されている。この実施例における処理プラットフォーム1200は、記載されているシステムの少なくとも一部を備え、1202−1,1202−2,1202−3,...1202−Dで示される少なくとも1つの処理装置を含み、当該少なくとも1つの処理装置は、ネットワーク1204を介して互いに通信する。ネットワーク1204は、無線エリアネットワーク(wireless area network:WAN)、ローカルエリアネットワーク(local area network:LAN)、衛星ネットワーク、電話もしくはケーブルネットワーク、セルラーネットワーク、WiFiもしくはWiMAXなどの無線ネットワーク、または、これらのおよび他のタイプのネットワークのさまざまな部分もしくは組み合わせなどの任意のタイプのネットワークを備え得る。
処理プラットフォーム1200における処理装置1202−1は、メモリ1212に結合されたプロセッサ1210を備える。プロセッサ1210は、マイクロプロセッサ、マイクロコントローラ、特定用途向け集積回路(application specific integrated circuit:ASIC)、フィールドプログラマブルゲートアレイ(field programmable gate array:FPGA)もしくは他のタイプの処理回路、およびこのような回路要素の一部もしくは組み合わせを備え得て、実行可能なコンピュータプログラムコードを具体化させる「コンピュータプログラム製品」の一例と見なすことができるメモリ1212は、ランダムアクセスメモリ(random access memory:RAM)、リードオンリメモリ(read only memory:ROM)または他のタイプのメモリを任意の組み合わせで備え得る。
ネットワークインターフェイス回路1214も処理装置1202−1に含まれており、当該ネットワークインターフェイス回路1214は、処理装置をネットワーク1204および他のシステムコンポーネントと結び付けるために使用され、従来の送受信機を備え得る。
処理プラットフォーム1200の他の処理装置1202は、もしあれば、図中の処理装置1202−1のために示されているのと同様の態様で構成されるものと想定される。
やはり、図に示されている特定の処理プラットフォーム1200は、単に一例として提示されており、記載されているシステムは、さらなるまたは代替的な処理プラットフォームおよび多数の個別の処理プラットフォームを任意の組み合わせで含んでもよく、各々のこのようなプラットフォームは、1つ以上のコンピュータ、記憶装置または他の処理装置を備える。
システムの多数の要素は、図12に示されるタイプの共通の処理プラットフォーム上で集合的に実現されてもよく、または、各々のこのような要素が別々の処理プラットフォーム上で実現されてもよい。
当該技術分野において公知であるように、本明細書に記載されている方法および装置は、製造品であって、それ自体がコンピュータ読取可能なコード手段を具体化させるコンピュータ読取可能な媒体を備える製造品として配布されてもよい。コンピュータ読取可能なプログラムコード手段は、本明細書に記載されている方法を実行するためのステップまたは本明細書に記載されている装置を作製するためのステップのうちの全てまたはいくつかを実行するように、コンピュータシステムとともに動作可能である。コンピュータ読取可能な媒体は、有形の記録可能な媒体(例えば、フロッピー(登録商標)ディスク、ハードドライブ、コンパクトディスク、メモリカード、半導体装置、チップ、特定用途向け集積回路(ASIC))であってもよく、または伝送媒体(例えば、光ファイバ、ワールド・ワイド・ウェブ、ケーブル、または時分割多重アクセス、符号分割多重アクセスを用いた無線チャネル、または他の無線周波数チャネルを備えるネットワーク)であってもよい。コンピュータシステムでの使用に好適な情報を記憶することができる公知のまたは開発された任意の媒体が使用されてもよい。コンピュータ読取可能なコード手段は、磁気媒体上の磁気的変化またはコンパクトディスクの表面上の高さの変化などの命令およびデータをコンピュータが読取ることを可能にするための任意の機構である。
本発明の上記の実施例が単に例示の目的で提示されていることがやはり強調されるべきである。多くの変形例および他の代替的な実施例が使用されてもよい。例えば、当該技術は、本明細書に開示されている読取閾値電圧調整プロセスから恩恵を受けることができるさまざまな他のタイプのソリッドステート記憶媒体に対して適用可能である。また、本明細書に示されている処理装置要素の特定の構成および関連の読取閾値電圧調整技術は、他の実施例では変更されてもよい。さらに、例示的な実施例を説明する過程で上記でなされたさまざまな仮定の単純化も、本発明の要件または限定ではなく例示であると見なされるべきである。添付の特許請求の範囲の範囲内の多数の他の代替的な実施例が当業者に容易に明らかになるであろう。
110 ソリッドステート記憶制御システム、120 コントローラ、130 エンコーダ/デコーダ、150 ソリッドステート記憶媒体、300 読取閾値電圧調整プロセス。

Claims (20)

  1. 装置であって、
    複数の読取閾値電圧についての復号されたデータに基づくビット誤り率に基づいてメモリの読取閾値電圧を調整するように構成されたコントローラを備える、装置。
  2. 前記コントローラは、
    読取値を取得するために現在の読取閾値電圧において前記メモリを読取ることと、
    硬判定デコーダを前記読取値に適用することと、
    前記硬判定デコーダが前記読取値を収束語に収束させるか否かを判断することと、
    前記収束語に対応する1つ以上のビットを参照ビットとして記憶することと、
    1つ以上のビット誤り率に基づいて前記読取閾値電圧を選択することと、
    によって前記読取閾値電圧を調整する、請求項1に記載の装置。
  3. 前記硬判定デコーダが前記読取値を収束させると、前記コントローラは以下のステップを実行し、前記以下のステップは、
    前記参照ビットに基づいて前記現在の読取閾値電圧についてのビット誤り率を計算するステップと、
    前記現在の読取基準電圧を新たな読取閾値電圧に調整するステップと、
    新たな読取値を取得するために前記新たな読取閾値電圧において前記メモリを読取るステップと、
    試行されるいくつかの読取閾値電圧について閾値が満たされるまで、前記計算するステップ、調整するステップおよび読取るステップを繰返すステップと、
    前記閾値が満たされると、各々の繰返されたステップについて計算された前記ビット誤り率に基づいて前記読取閾値電圧を選択するステップとを含む、請求項2に記載の装置。
  4. 前記コントローラは、前記硬判定デコーダが前記現在の読取閾値電圧を収束させなければシンドローム重みから前記ビット誤り率を推定し、前記現在の読取基準電圧を前記新たな読取閾値電圧に調整する、請求項3に記載の装置。
  5. 前記コントローラは、いくつかの読取られた語およびいくつかの符号化されたページのうちの1つ以上において検出されるいくつかの誤りに基づいてカウントプロファイルを判断する、請求項2に記載の装置。
  6. 前記コントローラは、前記複数の読取閾値電圧についての前記ビット誤り率に基づく第1のビット誤り率プロファイルおよび前記複数の読取閾値電圧についてのシンドローム重みからのビット誤り率に基づく第2のビット誤り率プロファイルのうちの1つ以上に基づいて前記新たな読取閾値電圧を選択する、請求項3に記載の装置。
  7. 前記新たな読取閾値電圧の選択は、いくつかの読取られた語およびいくつかの符号化されたページのうちの1つ以上において検出されるいくつかの誤りに基づくカウントプロファイルにさらに基づく、請求項6に記載の装置。
  8. 前記コントローラは、前記複数の読取閾値電圧についての前記ビット誤り率に基づくビット誤りプロファイルの数列、前記複数の読取閾値電圧についてのシンドローム重みプロファイルの数列、所与の読取閾値電圧において読取られたいくつかの語、および所与の読取閾値電圧において処理されたいくつかの語のうちの1つ以上に基づいて、次の反復のための新たな読取閾値電圧を選択する、請求項1に記載の装置。
  9. 前記コントローラは、
    読取値を取得するために現在の読取閾値電圧において前記メモリを読取ることと、
    シンドローム重みから前記ビット誤り率を推定することと、によって前記読取閾値電圧を調整し、前記シンドローム重みは、指定の回数の反復についてシンドローム重み計算機および硬判定デコーダのうちの1つ以上から取得され、前記コントローラはさらに、
    前記複数の読取閾値電圧についての前記シンドローム重みからの前記ビット誤り率に基づく第2のビット誤り率プロファイルに基づいて新たな読取閾値電圧を選択すること、によって前記読取閾値電圧を調整する、請求項1に記載の装置。
  10. 有形のマシン読取可能な記録可能な記憶媒体であって、1つ以上のソフトウェアプログラムは、1つ以上の処理装置によって実行されたときに以下のステップを実行し、前記以下のステップは、
    複数の読取閾値電圧についての復号されたデータに基づくビット誤り率に基づいて、メモリの読取閾値電圧を調整するステップを含む、記憶媒体。
  11. 前記読取閾値電圧は、
    読取値を取得するために現在の読取閾値電圧において前記メモリを読取るステップと、
    硬判定デコーダを前記読取値に適用するステップと、
    前記硬判定デコーダが前記読取値を収束語に収束させるか否かを判断するステップと、
    前記収束語に対応する1つ以上のビットを参照ビットとして記憶するステップと、
    前記硬判定デコーダが前記読取値を収束させると以下のステップを実行するステップと、
    を実行することによって調整され、
    前記以下のステップは、
    前記参照ビットに基づいて前記現在の読取閾値電圧についてのビット誤り率を計算するステップと、
    前記現在の読取基準電圧を新たな読取閾値電圧に調整するステップと、
    新たな読取値を取得するために前記新たな読取閾値電圧において前記メモリを読取るステップと、
    試行されるいくつかの読取閾値電圧について閾値が満たされるまで、前記計算するステップ、調整するステップおよび読取るステップを繰返すステップと、
    前記閾値が満たされると、各々の繰返されたステップについて計算された前記ビット誤り率に基づいて前記読取閾値電圧を選択するステップとを含む、請求項10に記載の記憶媒体。
  12. 前記複数の読取閾値電圧についての前記ビット誤り率に基づく第1のビット誤り率プロファイルおよび前記複数の読取閾値電圧についてのシンドローム重みからのビット誤り率に基づく第2のビット誤り率プロファイルのうちの1つ以上に基づいて前記新たな読取閾値電圧を選択するステップをさらに備える、請求項11に記載の記憶媒体。
  13. 方法であって、
    複数の読取閾値電圧についての復号されたデータに基づいてビット誤り率を取得するステップと、
    前記複数の読取閾値電圧についての復号されたデータに基づく前記ビット誤り率に基づいて、メモリの読取閾値電圧を調整するステップとを備える、方法。
  14. 前記読取閾値電圧は、
    読取値を取得するために現在の読取閾値電圧において前記メモリを読取るステップと、
    硬判定デコーダを前記読取値に適用するステップと、
    前記硬判定デコーダが前記読取値を収束語に収束させるか否かを判断するステップと、
    前記収束語に対応する1つ以上のビットを参照ビットとして記憶するステップと、
    1つ以上のビット誤り率に基づいて前記読取閾値電圧を選択するステップと、
    を実行することによって調整される、請求項13に記載の方法。
  15. 前記硬判定デコーダが前記読取値を収束させると以下のステップをさらに備え、前記以下のステップは、
    前記参照ビットに基づいて前記現在の読取閾値電圧についてのビット誤り率を計算するステップと、
    前記現在の読取基準電圧を新たな読取閾値電圧に調整するステップと、
    新たな読取値を取得するために前記新たな読取閾値電圧において前記メモリを読取るステップと、
    試行されるいくつかの読取閾値電圧について閾値が満たされるまで、前記計算するステップ、調整するステップおよび読取るステップを繰返すステップと、
    前記閾値が満たされると、各々の繰返されたステップについて計算された前記ビット誤り率に基づいて前記読取閾値電圧を選択するステップとを含む、請求項14に記載の方法。
  16. 前記硬判定デコーダが前記現在の読取閾値電圧を収束させなければシンドローム重みから前記ビット誤り率を推定し、前記現在の読取基準電圧を前記新たな読取閾値電圧に調整するステップをさらに備える、請求項15に記載の方法。
  17. いくつかの読取られた語およびいくつかの符号化されたページのうちの1つ以上において検出されるいくつかの誤りに基づいてカウントプロファイルを判断するステップをさらに備える、請求項15に記載の方法。
  18. 前記複数の読取閾値電圧についての前記ビット誤り率に基づく第1のビット誤り率プロファイルおよび前記複数の読取閾値電圧についてのシンドローム重みからのビット誤り率に基づく第2のビット誤り率プロファイルのうちの1つ以上に基づいて前記新たな読取閾値電圧を選択するステップをさらに備える、請求項15に記載の方法。
  19. 前記新たな読取閾値電圧の選択は、いくつかの読取られた語およびいくつかの符号化されたページのうちの1つ以上において検出されるいくつかの誤りに基づくカウントプロファイルにさらに基づく、請求項18に記載の方法。
  20. 前記複数の読取閾値電圧についての前記ビット誤り率に基づくビット誤りプロファイルの数列、前記複数の読取閾値電圧についてのシンドローム重みプロファイルの数列、所与の読取閾値電圧において読取られたいくつかの語、および所与の読取閾値電圧において処理されたいくつかの語のうちの1つ以上に基づいて、次の反復のための新たな読取閾値電圧を選択するステップをさらに備える、請求項15に記載の方法。
JP2016213142A 2015-10-30 2016-10-31 装置、有形のマシン読取可能な記録可能な記憶媒体、および方法 Expired - Fee Related JP6713909B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/928,284 2015-10-30
US14/928,284 US9818488B2 (en) 2015-10-30 2015-10-30 Read threshold voltage adaptation using bit error rates based on decoded data

Publications (3)

Publication Number Publication Date
JP2017084436A true JP2017084436A (ja) 2017-05-18
JP2017084436A5 JP2017084436A5 (ja) 2019-07-04
JP6713909B2 JP6713909B2 (ja) 2020-06-24

Family

ID=58635551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016213142A Expired - Fee Related JP6713909B2 (ja) 2015-10-30 2016-10-31 装置、有形のマシン読取可能な記録可能な記憶媒体、および方法

Country Status (4)

Country Link
US (1) US9818488B2 (ja)
JP (1) JP6713909B2 (ja)
KR (1) KR20170054276A (ja)
CN (1) CN107039080B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209517A (zh) * 2019-04-25 2019-09-06 深圳市金泰克半导体有限公司 一种固态硬盘工作方法、系统、电子设备及存储介质
JP2022045317A (ja) * 2020-09-08 2022-03-18 ウェスタン デジタル テクノロジーズ インコーポレーテッド 不揮発性記憶装置のための読み出し積分時間較正

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10381090B2 (en) 2017-03-31 2019-08-13 Samsung Electronics Co., Ltd. Operation method of nonvolatile memory device and storage device
TWI643196B (zh) * 2017-06-22 2018-12-01 點序科技股份有限公司 快閃記憶體裝置及其資料讀取方法
US10236067B2 (en) * 2017-08-02 2019-03-19 International Business Machines Corporation State-dependent read voltage threshold adaptation for nonvolatile memory
US10403372B2 (en) * 2017-08-29 2019-09-03 SK Hynix Inc. Memory system with adaptive read-threshold scheme and method of operating such memory system
US10276233B1 (en) 2017-10-31 2019-04-30 Seagate Technology Llc Adaptive read threshold voltage tracking with charge leakage mitigation using threshold voltage offsets
US10388368B2 (en) 2017-10-31 2019-08-20 Seagate Technology Llc Adaptive read threshold voltage tracking with charge leakage mitigation using charge leakage settling time
US10418097B2 (en) * 2017-11-27 2019-09-17 Western Digital Technologies, Inc. Non-volatile storage system with read calibration
US10446243B2 (en) * 2017-12-18 2019-10-15 Macronix International Co., Ltd. Storage device and associated control method to determine target memory blocks for probe operation
US11068186B2 (en) * 2018-02-09 2021-07-20 Micron Technology, Inc. Providing recovered data to a new memory cell at a memory sub-system based on an unsuccessful error correction operation
CN110265083B (zh) * 2018-03-12 2021-07-27 旺宏电子股份有限公司 存储器装置的数据探测方法
US10552259B2 (en) * 2018-03-15 2020-02-04 Western Digital Technologies, Inc. Recovery combining hard decoding, soft decoding and artificial codeword generation
CN110473581B (zh) * 2018-05-09 2020-12-29 建兴储存科技(广州)有限公司 固态储存装置及其相关控制方法
CN109062509B (zh) * 2018-07-20 2021-07-16 浪潮电子信息产业股份有限公司 固态硬盘的数据处理方法以及相关装置
KR20200016606A (ko) 2018-08-07 2020-02-17 삼성전자주식회사 메모리 컨트롤러, 메모리 컨트롤러의 동작 방법 및 메모리 시스템
US10761754B2 (en) * 2018-08-07 2020-09-01 Micron Technology, Inc. Adjustment of a pre-read operation associated with a write operation
US10789124B2 (en) * 2018-09-28 2020-09-29 Intel Corporation Techniques to a set voltage level for a data access
US10811091B2 (en) * 2018-10-12 2020-10-20 Western Digital Technologies, Inc. Adaptive processing for read threshold voltage calibration
CN111540393B (zh) 2018-12-11 2023-09-08 爱思开海力士有限公司 用于基于字线分组的读取操作的存储器系统和方法
US11061762B2 (en) * 2019-02-04 2021-07-13 Intel Corporation Memory programming techniques
CN109935261B (zh) * 2019-02-19 2021-08-31 西南交通大学 一种用于存储器差错控制的多级译码方法和装置
US10892029B1 (en) 2019-07-12 2021-01-12 Micron Technology, Inc. Self-adaptive read voltage adjustment using directional error statistics for memories with time-varying error rates
US11107550B2 (en) * 2019-07-12 2021-08-31 Micron Technology, Inc. Self-adaptive read voltage adjustment using boundary error statistics for memories with time-varying error rates
CN112242171A (zh) * 2019-07-17 2021-01-19 英韧科技(上海)有限公司 参考电压确定方法及装置
US11023172B2 (en) * 2019-07-26 2021-06-01 Micron Technology, Inc. Selecting read voltage using write transaction data
US11307799B2 (en) * 2019-08-27 2022-04-19 Micron Technology, Inc. Managing threshold voltage drift based on operating characteristics of a memory sub-system
US10783978B1 (en) * 2019-08-27 2020-09-22 Micron Technology, Inc. Read voltage-assisted manufacturing tests of memory sub-system
US10950315B1 (en) 2019-12-16 2021-03-16 Micron Technology, Inc. Preread and read threshold voltage optimization
CN112988448A (zh) * 2019-12-16 2021-06-18 中国科学院微电子研究所 误码率平衡方法及装置,读取方法及装置
US11494254B2 (en) * 2019-12-20 2022-11-08 Cnex Labs, Inc. Storage system with predictive adjustment mechanism and method of operation thereof
CN112599176B (zh) * 2020-12-15 2022-08-05 联芸科技(杭州)股份有限公司 存储器的最佳检测电压获取方法、读取控制方法及装置
WO2022213320A1 (zh) * 2021-04-08 2022-10-13 中国科学院微电子研究所 用于闪存的数据恢复方法
US11494114B1 (en) * 2021-04-26 2022-11-08 Micron Technology, Inc. Read threshold adjustment techniques for non-binary memory cells
US11443828B1 (en) 2021-04-26 2022-09-13 Micron Technology, Inc. Read threshold adjustment techniques for memory
TWI777519B (zh) * 2021-04-26 2022-09-11 群聯電子股份有限公司 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元
US11488684B1 (en) 2021-06-21 2022-11-01 Western Digital Technologies, Inc. Storage system and method for decision-based memory read threshold calibration
CN113409861B (zh) * 2021-06-28 2024-02-02 芯天下技术股份有限公司 阈值电压的获取系统、传递方法、装置、设备及存储介质
CN113595562B (zh) * 2021-07-23 2023-05-09 深圳宏芯宇电子股份有限公司 软数据处理方法、装置、存储介质及解码器
CN115620760B (zh) * 2022-09-16 2023-10-20 上海江波龙数字技术有限公司 一种最优读出阈值电压的搜索方法、终端及存储介质

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6466614B1 (en) 2001-03-22 2002-10-15 Motorola, Inc. Method and apparatus for classifying a baseband signal
KR100891005B1 (ko) * 2007-06-28 2009-03-31 삼성전자주식회사 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법
CN101645103A (zh) * 2009-09-14 2010-02-10 清华大学 同时减轻集成电路老化和降低泄漏功耗的电源电压调整法
US8315092B2 (en) 2010-01-27 2012-11-20 Fusion-Io, Inc. Apparatus, system, and method for determining a read voltage threshold for solid-state storage media
KR101541040B1 (ko) * 2010-03-12 2015-08-03 엘에스아이 코포레이션 플래시 메모리들을 위한 ldpc 소거 디코딩
US8310870B2 (en) * 2010-08-03 2012-11-13 Sandisk Technologies Inc. Natural threshold voltage distribution compaction in non-volatile memory
US9030870B2 (en) * 2011-08-26 2015-05-12 Micron Technology, Inc. Threshold voltage compensation in a multilevel memory
US8683297B2 (en) * 2011-11-02 2014-03-25 Sandisk Technologies Inc. Systems and methods of generating a replacement default read threshold
US20130343131A1 (en) 2012-06-26 2013-12-26 Lsi Corporation Fast tracking for flash channels
US9645177B2 (en) * 2012-05-04 2017-05-09 Seagate Technology Llc Retention-drift-history-based non-volatile memory read threshold optimization
US8879324B2 (en) * 2013-02-01 2014-11-04 Lsi Corporation Compensation loop for read voltage adaptation
US9037946B2 (en) * 2013-03-12 2015-05-19 Sandisk Technologies Inc. Detecting effect of corrupting event on preloaded data in non-volatile memory
US9147490B2 (en) 2013-03-15 2015-09-29 Sandisk Technologies Inc. System and method of determining reading voltages of a data storage device
US9728263B2 (en) * 2013-05-31 2017-08-08 Sandisk Technologies Llc Method and device for iteratively updating read voltages
US9697905B2 (en) 2013-05-31 2017-07-04 Sandisk Technologies Llc Updating read voltages using syndrome weight comparisons
US20170148510A1 (en) 2013-05-31 2017-05-25 Sandisk Technologies Llc Updating read voltages
TWI619353B (zh) * 2013-07-03 2018-03-21 Lsi公司 在低密度奇偶性校驗(ldpc)解碼器中之對數相似比(llr)抑制
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US20150085571A1 (en) * 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US9620202B2 (en) * 2013-11-01 2017-04-11 Seagate Technology Llc Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory
US9317361B2 (en) 2013-11-27 2016-04-19 Seagate Technology Llc Bit-line defect detection using unsatisfied parity code checks
US9176815B2 (en) 2013-11-28 2015-11-03 Seagate Technology Llc Flash channel with selective decoder likelihood dampening
US9431130B2 (en) 2014-03-04 2016-08-30 Kabushiki Kaisha Toshiba Memory controller, storage device, and memory control method
TWI521529B (zh) 2014-04-15 2016-02-11 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US9263138B1 (en) * 2014-09-30 2016-02-16 Seagate Technology Systems and methods for dynamically programming a flash memory device

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110209517A (zh) * 2019-04-25 2019-09-06 深圳市金泰克半导体有限公司 一种固态硬盘工作方法、系统、电子设备及存储介质
CN110209517B (zh) * 2019-04-25 2024-01-23 深圳市金泰克半导体有限公司 一种固态硬盘工作方法、系统、电子设备及存储介质
JP2022045317A (ja) * 2020-09-08 2022-03-18 ウェスタン デジタル テクノロジーズ インコーポレーテッド 不揮発性記憶装置のための読み出し積分時間較正
US11430531B2 (en) 2020-09-08 2022-08-30 Western Digital Technologies, Inc. Read integration time calibration for non-volatile storage

Also Published As

Publication number Publication date
US20170125111A1 (en) 2017-05-04
CN107039080A (zh) 2017-08-11
JP6713909B2 (ja) 2020-06-24
CN107039080B (zh) 2021-11-12
US9818488B2 (en) 2017-11-14
KR20170054276A (ko) 2017-05-17

Similar Documents

Publication Publication Date Title
JP6713909B2 (ja) 装置、有形のマシン読取可能な記録可能な記憶媒体、および方法
US10290358B2 (en) Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
US9633740B1 (en) Read retry operations where likelihood value assignments change sign at different read voltages for each read retry
US10276247B2 (en) Read retry operations with estimation of written data based on syndrome weights
US10043582B2 (en) Establishing parameters of subsequent read retry operations based on syndrome weights of prior failed decodings
US10180868B2 (en) Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
US9367389B2 (en) Recovery strategy that reduces errors misidentified as reliable
US10388368B2 (en) Adaptive read threshold voltage tracking with charge leakage mitigation using charge leakage settling time
US10276233B1 (en) Adaptive read threshold voltage tracking with charge leakage mitigation using threshold voltage offsets
US20210271422A1 (en) Compound Feature Generation in Classification of Error Rate of Data Retrieved from Memory Cells
US8508991B2 (en) Method for performing memory access management, and associated memory device and controller thereof
US11775217B2 (en) Adaptive and/or iterative operations in executing a read command to retrieve data from memory cells
KR20090036357A (ko) 멀티 비트 프로그래밍 장치 및 방법
US11210163B2 (en) Memory system and control method
US10613927B1 (en) System and method for improved memory error rate estimation
US10176867B2 (en) Estimation of level-thresholds for memory cells
US11983065B2 (en) Logic based read sample offset in a memory sub-system
CN113628665A (zh) 基于以经优化读取电压为中心的信号和噪声特性确定位错误计数
US20150317203A1 (en) Code-Based Read Control for Data Storage Devices
US10877832B2 (en) Data-structure based dynamic program targeting control
US9224479B1 (en) Threshold voltage adjustment in solid state memory
US11309020B2 (en) Dragging first pass read level thresholds based on changes in second pass read level thresholds
US12009034B2 (en) Classification of error rate of data retrieved from memory cells
US9202580B2 (en) Level-estimation in multi-level cell memory
US11204831B2 (en) Memory system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190528

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200416

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200604

R150 Certificate of patent or registration of utility model

Ref document number: 6713909

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees