JP2017073121A - 軟判定復号のための物理アドレスの相互関連付け - Google Patents

軟判定復号のための物理アドレスの相互関連付け Download PDF

Info

Publication number
JP2017073121A
JP2017073121A JP2016157641A JP2016157641A JP2017073121A JP 2017073121 A JP2017073121 A JP 2017073121A JP 2016157641 A JP2016157641 A JP 2016157641A JP 2016157641 A JP2016157641 A JP 2016157641A JP 2017073121 A JP2017073121 A JP 2017073121A
Authority
JP
Japan
Prior art keywords
bit
value
memory cell
cell
read
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
JP2016157641A
Other languages
English (en)
Other versions
JP6345210B2 (ja
Inventor
ソン セウン−ワァン
Seung-Hwan Song
ソン セウン−ワァン
ケイ ガンナム キラン
K Gunnam Kiran
ケイ ガンナム キラン
ゼット バンディック ズヴォニミール
Z Bandic Zvonimir
ゼット バンディック ズヴォニミール
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.)
HGST Netherlands BV
Original Assignee
HGST Netherlands BV
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 HGST Netherlands BV filed Critical HGST Netherlands BV
Publication of JP2017073121A publication Critical patent/JP2017073121A/ja
Application granted granted Critical
Publication of JP6345210B2 publication Critical patent/JP6345210B2/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
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/0802Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
    • G06F12/0877Cache access modes
    • G06F12/0882Page mode
    • 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
    • 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
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/04Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
    • 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
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • 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
    • 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
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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/3436Arrangements for verifying correct programming or erasure
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Detection And Correction Of Errors (AREA)

Abstract

【課題】複数のデータビットを記憶するメモリセルからデータを読み取る技術を提供する。【解決手段】記憶デバイスは、プロセッサと、マルチレベルメモリセルを含むメモリデバイスとを含む。プロセッサは、第1物理ページアドレスと第2物理ページアドレスを相互に関連付け、各アドレスをマルチレベルメモリセルに関連付け、第1読み込み動作をメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定し、少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定する。プロセッサは、少なくとも部分的に第1ビットの値及び第2ビットの値に基づいて、第2ビットと関連付けられた軟判定値を決定し、少なくとも部分的に軟判定値に基づいて、第2ビットの値を検証する。【選択図】図8

Description

この開示は、セルあたり複数のビットを記憶するメモリデバイスからデータを読み取ることに関する。
コンピュータ又はその他の電子デバイスにおいて使用される記憶デバイスは、不揮発性メモリ又は揮発性メモリのいずれでもあり得る。不揮発性メモリと揮発性メモリの主な差異は、不揮発性メモリが持続電力供給を必要とせずにデータを記憶し続け得ることである。その結果、不揮発性メモリデバイスは、様々な電子応用のための一般的なメモリとして発展してきた。たとえば、フラッシュメモリデバイスを含む不揮発性メモリデバイスは、一般的にソリッドステートドライブ(SSD)などのソリッドステート記憶デバイスに組み込まれている。記憶密度を高めるために、一部のSSD及びその他のメモリデバイスでは物理セルあたり複数のデータビットを記憶する。これは記憶密度を高めるが、複数の情報ビットを記憶する物理セルからのデータ読み込みはより難しく、且つ、セルの軟判定情報を得るために複数回の再読み込み動作を行うので、長い読み込み時間及び読み込みディスターブの問題が生ずることがある。
本開示は、いくつかの例において、少なくとも1つのプロセッサにより、マルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付けることを含む方法について記述する。この方法は、少なくとも1つのプロセッサの制御により、少なくとも第1読み込み動作をマルチレベルメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定することも含み得る。いくつかの例において、この方法は、少なくとも1つのプロセッサにより、少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定することも含み得る。この方法は、少なくとも1つのプロセッサにより、第1ビットの値及び第2ビットの値に基づいて、第2ビットに関する軟判定値を決定することをさらに含み得る。さらに、この方法は、少なくとも1つのプロセッサにより、少なくとも部分的に軟判定値に基づいて、第2ビットの値を検証することを含み得る。
いくつかの例において、本開示は、少なくとも1つのプロセッサ及び少なくとも1つのマルチレベルメモリセルを含む少なくとも1つのメモリデバイスを含む記憶デバイスについて記述する。このプロセッサは、マルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関係付けるように構成することができる。このプロセッサは、少なくとも第1読み込み動作をマルチレベルメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定するように構成することもできる。いくつかの例において、このプロセッサは、さらに、少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定するように構成することもできる。このプロセッサは、第2ビットと関連付けられた軟判定値を少なくとも部分的に第1ビットの値及び第2ビットの値に基づいて決定するように構成することもできる。このプロセッサは、少なくとも部分的に軟判定値に基づいて、第2ビットの値を検証するように構成することもできる。
いくつかの例において、本開示は、実行されたときに、少なくとも1つのプロセッサにマルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付けさせる命令を記憶するコンピュータ可読記憶媒体について記述する。この命令は、実行されたときに、少なくとも1つのプロセッサに少なくとも第1読み込み動作をマルチレベルメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定させることができる。いくつかの例において、この命令は、実行されたときに、少なくとも1つのプロセッサに少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定させることができる。また、この命令は、実行されたときに、少なくとも1つのプロセッサに第2ビットに関する軟判定値を少なくとも部分的に第1ビットの値及び第2ビットの値に基づいて決定させることもできる。さらに、この命令は、実行されたときに、少なくとも1つのプロセッサに少なくとも部分的に軟判定値に基づいて、第2ビットの値を検証させることができる。
いくつかの例において、本開示は、少なくとも1つのマルチレベルメモリセルを含む少なくとも1つのメモリデバイスを含む記憶デバイスについて記述する。この記憶デバイスは、マルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付ける手段も含むことができる。いくつかの例において、この記憶デバイスは、少なくとも第1読み込み動作をマルチレベルメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定する手段を含むこともできる。さらに、この記憶デバイスは、少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定する手段を含むことができる。さらに、この記憶デバイスは、少なくとも部分的に第1ビットの値及び第2ビットの値に基づいて軟判定値を決定する手段を含むことができる。いくつかの例において、この記憶デバイスは、少なくとも部分的に軟判定値に基づいて、第2ビットの値を検証する手段も含み得る。
添付図面及び以下の説明において1つ又は複数の例を用いて詳述する。その他の特徴、目的及び長所は、明細書及び図面から、且つ、請求項から明らかとなるであろう。
本開示の1つ又は複数の技術に従って記憶デバイスがホストデバイスの記憶デバイスとして機能することができる例示的な記憶環境を示す概念的略ブロック図である。 本開示の1つ又は複数の技術による例示的なメモリデバイスを示す概念図である。 本開示の1つ又は複数の技術による例示的なコントローラを示す概念的略ブロック図である。 本開示の1つ又は複数の技術による2ビット/セル(MLC)技術のセル閾値電圧分布並びにロアーページ及びアッパーページの対応ビット値を示す概念図である。 本開示の1つ又は複数の技術による2ビット/セル(MLC)技術のセル閾値電圧分布並びにロアーページ及びアッパーページの対応ビット値を示す概念図である。 本開示の1つ又は複数の技術による3ビット/セル(TLC)技術のセル閾値電圧分布並びにロアーページ、ミドルページ及びアッパーページの対応ビット値を示す概念図である。 本開示の1つ又は複数の技術による3ビット/セル(TLC)技術のセル閾値電圧分布並びにロアーページ、ミドルページ及びアッパーページの対応ビット値を示す概念図である。 本開示の1つ又は複数の技術に従って、マルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチメモリセルと関連付けられた第2物理ページアドレスを相互に関連付け、且つ、第2物理ページアドレスと関連付けられた第2ビットの値を第1物理ページアドレスと関連付けられた第1ビットの値及び第2ビットの値に少なくとも部分的に基づいて検証する例示的な技術を示す流れ図である。
本開示は、複数のデータビットを記憶するメモリセルからデータを読み取る技術について記述する。マルチレベルセル(MLC)フラッシュメモリセル又はトリプルレベルセル(TLC)フラッシュメモリセルなど複数のデータビットを記憶するメモリセルでは、メモリセルは、複数の物理ページアドレスに関連付けることができる。たとえば、MLCフラッシュメモリセルは、第1物理ページアドレス(MLCフラッシュメモリセルにより記憶される第1ビットについて)及び第2物理ページアドレス(MLCフラッシュセルにより記憶される第2ビットについて)に関連付けることができる。コントローラ又は読み込みチャネル、又はそれらの両方を含み得る少なくとも1つのプロセッサにより第1物理ページアドレスと第2物理ページアドレスを相互に関連付けることができる。第1物理ページアドレスと第2物理ページアドレスを相互に関連付けることにより、少なくとも1つのプロセッサは、第2物理ページアドレスと関連付けられた第2ビットの値を決定するときに、第1物理ページアドレスと関連付けられた第1ビットの値と関連付けられた情報を利用することができる。いくつかの例において、これにより、第2物理ページアドレスに関連付けられたビットを読み取るために少なくとも1つのプロセッサにより行われる読み込みの回数を低減すること、又は少なくとも1つのプロセッサが第2物理ページアドレスと関連付けられたビットの値を決定する正確度を高めること、又はそれらの両方が可能になる。いくつかの例では、第2物理ページアドレスと関連付けられたビットを読み取るために少なくとも1つのプロセッサにより行われる読み込みの回数を低減することにより、第2物理ページアドレスと関連付けられたデータの読み込みに関連する読み込みオーバーヘッドを低減することができ、それにより読み込みスループットが向上すること、又はメモリセルの摩耗が低減すること、又はそれらの両方が期待できる。
いくつかの例では、少なくとも1つのプロセッサは、軟判定復号を利用して第2ビットの値を検証することができる。たとえば、少なくとも1つのプロセッサは、第1ビットの値及び第2ビットの値を利用して対数尤度比(LLR)の値を計算することができ、次に少なくとも1つのプロセッサがこれを利用して第2ビットの値を検証する。いくつかの例では、少なくとも1つのプロセッサは、低密度パリティチェック(LDPC)においてLLR値を使用して第2ビットの値を確認することができる。前述したように、第1物理ページアドレス及び第2物理ページアドレスが相互に関連付けられるので、少なくとも1つのプロセッサがすでに第1物理ページアドレスの読み込みを完了している場合、少なくとも1つのプロセッサは、第1物理ページアドレスと関連付けられたすでに読み込み済みのビット値を利用してLLRを計算することができる。
MLCフラッシュメモリセル又はTLCフラッシュメモリセルでは、種々のビット値がメモリセル内に電圧レベルとして記憶される。いくつかの例では、少なくとも1つのプロセッサは第2ビットの値の決定において第1ビットの値を利用できるので、第2ビットのビット遷移(たとえば、0から1又は1から0)の両側の電圧レベルは、第1ビットのビット遷移の両側の電圧レベルより狭く配置できる。第1ビットのビット遷移の電圧レベル間の幅がより大きいことは、第1ビットの0ビット値と1ビット値間により大きな識別を与えることができ、且つ、第1ビット値及び第2ビット値を使用して決定される軟判定復号値を利用して第2ビットの値を検証できるので、第2ビットの電圧状態のより密接な配置が可能になる。
図1は、記憶デバイス6がこの開示の1つ又は複数の技術に従ってホストデバイス4の記憶デバイスとして機能を果たし得る例示的な記憶環境2を示す概念的略ブロック図である。たとえば、ホストデバイス4は、記憶デバイス6に含まれている不揮発性記憶デバイスを利用してデータを記憶し、且つ、読み出すことができる。いくつかの例において、記憶環境2は、記憶デバイス6のように、記憶配列として機能し得る複数のメモリデバイスを含むことができる。たとえば、記憶環境2は、ホストデバイス4の大容量記憶デバイスとして集団的に機能するリダンダント・アレイ・オブ・インエクスペンシブ・ディスク(RAID)として構成された複数の記憶デバイス6を含むことができる。
記憶環境2は、記憶デバイス6のような1つ又は複数の記憶デバイスにデータを記憶し、且つ/又はそれから読み出すホストデバイス4を含むことができる。図1に示すように、ホストデバイス4は、インタフェース14経由で記憶デバイス6と通信することができる。ホストデバイス4は、コンピュータサーバ、ネットワークアタッチトストレージ(NAS)ユニット、デスクトップコンピュータ、ノート(すなわち、ラップトップ)コンピュータ、タブレット型コンピュータ、セットトップボックス、いわゆる「スマートフォン」などの電話送受器、いわゆる「スマート」パッド、テレビジョン、カメラ、ディスプレイデバイス、デジタルメディアプレーヤ、ビデオゲーム機、ビデオストリーミングデバイス等を含む様々な装置のいずれかを含むことができる。ホストデバイス4は、論理アドレス又は仮想アドレスを使用して記憶環境2に記憶されるデータを識別することができる。
図1に示したように、記憶デバイス6は、コントローラ8、不揮発性メモリアレイ10(NVMA10)、電力供給装置11、揮発性メモリ12、及びインタフェース14を含むことができる。いくつかの例では、記憶デバイス6は、明確を期するために図1に示されていない追加構成要素を含むことができる。たとえば、記憶デバイス6は、記憶デバイス6の部品を実装し、且つ、記憶デバイス6の部品を電気的に相互接続する導電配線を含むプリント基板(PB)等を含むことができる。いくつかの例では、記憶デバイス6の物理的寸法及びコネクタ構成は、1つ又は複数の標準フォームファクターに適合し得る。いくつかの例示的な標準フォームファクターは、3.5インチハードディスクドライブ(HDD)、2.5インチHDD、1.8インチHDD、ペリフェラルコンポーネントインターコネクト(PCI)、拡張PCI(PCI−X)、PCIエクスプレス(PCIe)(たとえば、PCIe x1、x4、x8、x16、PCIeミニカード、MiniPCI等)を含むが、これらのみには限られない。いくつかの例では、記憶デバイス6は、ホストデバイス4のマザーボードに直接結合することができる(たとえば、直接ハンダ付けする)。
記憶デバイス6は、ホストデバイス4とインタフェースするためのインタフェース14を含むことができる。インタフェース14は、ホストデバイス4とデータを交換するデータバスとホストデバイス4とコマンドを交換する制御バスのいずれか、又はそれらの両方を含むことができる。インタフェース14は、適切なプロトコルに従って動作することができる。たとえば、インタフェース14は、以下のプロトコルの1つ又は複数に従って動作することができる:アドバンスドテクノロジーアタッチメント(ATA)(たとえば、シリアルATA(SATA)及びパラレルATA(PATA))、ファイバーチャネル、小型計算機システムインタフェース(SCSI)、シリアルアタッチドSCSI(SAS)、ペリフェラルコンポーネントインターコネクト(PCI)、PCIエクスプレス、又は不揮発性メモリエクスプレス(NVMe)。インタフェース14の電気的接続(たとえば、データバス、制御バス、又はこれらの両方)は、コントローラ8に電気的に接続され、それによりホストデバイス4とコントローラ8間に電気的接続を与え、且つ、ホストデバイス4とコントローラ8間のデータ交換を可能にする。いくつかの例では、インタフェース14の電気的接続は、記憶デバイス6がホストデバイス4から電力を受け取ることも可能にすることができる。たとえば、図1に示すように、電力供給装置11は、ホストデバイス4からインタフェース14経由で電力を受け取ることができる。
記憶デバイス6は、記憶デバイス6の1つ又は複数の動作を管理することができるコントローラ8を含んでいる。たとえば、コントローラ8は、メモリデバイス16Aa〜16Nn(まとめて、「メモリデバイス16」)からのデータの読み込み及び/又は同装置へのデータの書き込みを管理することができる。いくつかの例では、図1には示されていないが、記憶デバイス6は、記憶デバイス6の1つ又は複数の動作も管理し得る読み込みチャネル又は書き込みチャネル、又はこれらの両方を含むこともできる。たとえば、読み込みチャネルは、一例として、メモリデバイス16からの読み込みを管理することができ、また、書き込みチャネルは、一例として、メモリデバイス16への書き込みを管理することができる。いくつかの例では、読み込みチャネルは、メモリデバイス16のメモリセルにより記憶された個別のビットの値の決定など、この開示の技術を実行することができる。
記憶デバイス6は、複数のメモリデバイス16を含み得るNVMA10を含むことができる。メモリデバイス16のそれぞれは、データを記憶し、且つ/又は読み出すように構成することができる。たとえば、メモリデバイス16のメモリデバイスは、コントローラ8からデータ及びメモリデバイスに対しそのデータの記憶を命令するメッセージを受け取ることができる。同様に、メモリデバイス16のメモリデバイスは、コントローラ8からそのメモリデバイスに対しデータの読み出しを命令するメッセージを受け取ることができる。いくつかの例では、メモリデバイス16のそれぞれは、ダイと呼ばれることもある。いくつかの例では、単一の物理チップが複数のダイ(すなわち、複数のメモリデバイス16)を含み得る。いくつかの例では、メモリデバイス16のそれぞれは、比較的大量のデータ(たとえば、128MB、256MB、512MB、1GB、2GB、4GB、8GB、16GB、32GB、64GB、128GB、256GB、512GB、1TB等)を記憶するように構成することができる。
いくつかの例では、メモリデバイス16は、任意の種類の不揮発性メモリデバイスを含むことができる。メモリデバイス16のいくつかの例は、フラッシュメモリデバイス、相変化メモリ(PCM)デバイス、抵抗ランダムアクセスメモリ(ReRAM)デバイス、磁気抵抗ランダムアクセスメモリ(MRAM)デバイス、強誘電体ランダムアクセスメモリ(F−RAM)デバイス、ホログラムメモリデバイス、及びその他の任意の種類の不揮発性メモリデバイスを含むがこれらに限られないデバイスを含む。
フラッシュメモリデバイスは、NAND又はNORベースのフラッシュメモリデバイスを含むことができ、且つ、各フラッシュメモリセルのトランジスタのフローティングゲートに含まれている電荷に基づいてデータを記憶し得る。NANDフラッシュメモリデバイスでは、フラッシュメモリデバイスは、複数のブロックに分割され、それらのブロックのそれぞれが複数のページに分割され得る。図2は、例示的なメモリデバイス16Aaを示す概念的ブロック図である。この例示ユニットは、複数のブロック17A〜17N(まとめて、「ブロック17」)を含み、これらのそれぞれが複数のページ19Aa〜19Nm(まとめて、「ページ19」)に分割される。特定のメモリデバイス(たとえば、メモリデバイス16Aa)内のページ19の各ページは、複数のフラッシュメモリセルを含み得る。NANDフラッシュメモリデバイスでは、フラッシュメモリセルの行は、ワード線を使用して電気的に接続されて複数のページ19のうちの1ページを定義することができる。ページ19のそれぞれにおける個々のセルは、個々のビット線に電気的に接続され得る。コントローラ8は、NANDフラッシュメモリデバイスとの間においてページレベルでデータの読み込み及び書き込みを行い、且つ、NANDフラッシュメモリデバイスのデータをブロックレベルで消去することができる。
いくつかの例では、各フラッシュメモリセルが1ビットのデータを記憶するのではなく、各フラッシュメモリセルが複数ビットのデータを含むことができる。たとえば、メモリデバイス16のフラッシュメモリセルは、MLCフラッシュメモリセル、TLCフラッシュメモリセル等を含み得る。いくつかの例では、MLCフラッシュメモリセル又はTLCフラッシュメモリセル中の各ビットは、ページ19の個々のページに関連付けられる。たとえば、MLCフラッシュメモリセルにより記憶される第1ビットはアッパーページに関連付け、且つ、MLCフラッシュセルにより記憶される第2ビットはロアーページに関連付けることができる。同様に、TLCフラッシュメモリセルにより記憶される第1ビットはアッパーページに関連付け、TLCフラッシュメモリセルにより記憶される第2ビットはミドルページに関連付け、且つ、TLCフラッシュメモリセルにより記憶される第3ビットはロアーページに関連付けることができる。同様に、MLC及びTLCフラッシュメモリセルの個々のビットは、以下においてより詳しく説明するように、個々の物理ページアドレスに関連付けることができる。
いくつかの例では、コントローラ8をメモリデバイス16の各メモリデバイスに別々に接続することは実際的でないであろう。そこで、メモリデバイス16とコントローラ8間の接続を多重化することが考えられる。1つの例として、メモリデバイス16は、チャネル18A〜18N(まとめて、「チャネル18」)にグループ化することができる。たとえば、図1に示したように、メモリデバイス16Aa〜16Anは第1チャネル18Aにグループ化し、且つ、メモリデバイス16Na〜16Nnは第Nチャネル18Nにグループ化することができる。チャネル18のそれぞれにグループ化されたメモリデバイス16は、コントローラ8への1つ又は複数の接続を共用し得る。たとえば、第1チャネル18Aにグループ化されたメモリデバイス16は、共通I/Oバス及び共通制御バスに接続され得る。記憶デバイス6は、チャネル18のそれぞれの個別チャネルのための共通I/Oバス及び共通制御バスを含むことができる。いくつかの例では、チャネル18の各チャネルは、メモリデバイスを各チャネル上で多重化するために使用され得る1群のチップイネーブル(CE)線を含み得る。たとえば、各CE線は、メモリデバイス16の個々のメモリデバイスに接続することができる。この方法により、コントローラ8とメモリデバイス16間の個別接続の数を低減することができる。また、各チャネルは、それぞれ独立してコントローラ8への接続を有し、コントローラ8は各チャネルに異なるコマンドを同時に発行し得るので、接続数の低減は、データスループット率に大きな影響を与えないであろう。
記憶デバイス6は、記憶デバイス6の1つ又は複数の構成要素に電力を供給し得る電力供給装置11を含むことができる。標準モードにおいて動作する場合、電力供給装置11は、ホストデバイス4のような外部装置により供給される電力を使用して1つ又は複数の構成要素に電力を供給し得る。たとえば、電力供給装置11は、インタフェース14経由でホストデバイス4から受け取った電力を使用して1つ又は複数の構成要素に電力を供給することができる。いくつかの例では、電力供給装置11は、外部装置からの給電が停止したときなどシャットダウンモードで動作している場合に1つ又は複数の構成要素に電力を供給するように構成されている1つ又は複数の電力貯蔵構成要素を含むことができる。この方法により、電力供給装置11は、オンボードバックアップ電源として機能を果たすことができる。1つ又は複数の電力貯蔵構成要素のいくつかの例は、コンデンサ、超コンデンサ、電池等を含むがこれらのみには限られない。いくつかの例では、1つ又は複数の電力貯蔵構成要素により貯蔵され得る電力量は、1つ又は複数の電力貯蔵構成要素のコスト及び/又はサイズ(たとえば、面積/体積)に応じて決めることができる。換言すると、1つ又は複数の電力貯蔵構成要素により蓄えられる電力量の増加に応じて、1つ又は複数の電力貯蔵構成要素のコスト及び/又はサイズも増加する。
記憶デバイス6は、情報を記憶するためにコントローラ8により使用され得る揮発性メモリ12を含むことができる。いくつかの例では、コントローラ8は、揮発性メモリ12をキャッシュメモリとして使用し得る。たとえば、コントローラ8は、キャッシュ情報13がメモリデバイス16に書き込まれるまでキャッシュ情報13を揮発性メモリ12に格納することができる。図1に示したように、揮発性メモリ12は、電力供給装置11から受け取った電力を消費することができる。揮発性メモリ12の例は、ランダムアクセスメモリ(RAM)、ダイナミックランダムアクセスメモリ(DRAM)、スタティックRAM(SRAM)、及び同期ダイナミックRAM(SDRAM(たとえば、DDR1、DDR2、DDR3、DDR3L、LPDDR3、DDR4等))を含むが、これらのみには限られない。
いくつかの例では、コントローラ8は、揮発性メモリ12を使用して論理−物理(又は仮想−物理)データアドレス変換テーブルを記憶することができる。ホストデバイス4は論理データアドレスを使用してデータのユニットを参照することができ、また、コントローラ8は、物理データアドレスを利用してメモリデバイス16に対しデータの書き込み及び読み込みを指示することができる。いくつかの例では、論理−物理データアドレス変換テーブルは、論理データアドレス及び対応する物理データアドレスを含む入力項目を含み得る。いくつかの例では、論理−物理データアドレス変換テーブル中の各入力項目が論理データアドレスを含むのではなく、論理−物理データアドレス変換テーブルは、論理−物理データアドレス変換テーブル中の各入力項目のそれぞれの論理データアドレスをコード化するインデックスを含むことができる。これらの例の一部では、論理−物理データアドレス変換テーブルが論理−物理データアドレス変換テーブル中に個々の入力項目のインデックス値(又は論理データアドレス)を記憶しない場合がある。
この開示の1つ又は複数の技術に従って、コントローラ8は、同一メモリセルと関連付けられた物理ページアドレスに相互に関連付けることができる。たとえば、それぞれ、2ビットを記憶し、そしてMLCフラッシュメモリセルと呼ばれるメモリセルがある。1組のMLCフラッシュメモリセルをこの組のMLCフラッシュメモリセルの個々のMLCフラッシュメモリセルの個々の第1ビットについて第1物理ページアドレスに関連付けることができる。第1の組のMLCフラッシュメモリセルをこれらの個々のMLCフラッシュメモリセルの個々の第2ビットについて第2物理ページアドレスに関連付けることができる。コントローラ8は、第1物理ページアドレスを第2物理ページアドレスに関連付けることができる。いくつかの例では、第1物理ページアドレスはアッパーページに関連付けられ、且つ、第2物理ページアドレスはロアーページに関連付けられる。
コントローラ8は、第1物理ページアドレスと関連付けられたアッパーページからデータを読み取ることができる。たとえば、MLCフラッシュメモリセルの場合、コントローラ8は、2つの読み込み基準電圧をマルチレベルメモリセルに加えて第1物理ページアドレスと関連付けられた第1ビットの値を決定することができる。この方法により、コントローラ8は、MLCフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第1ビットが0であるか又は1であるか決定することができる。いくつかの例では、コントローラ8は、MLCフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第1ビットの値を揮発性メモリ12に格納することができる。
後にコントローラ8は、ホスト4から、MLCフラッシュメモリセルの第2ロアーページに関連付けられているとコントローラ8が決定するデータの読み込み要求を受けることができる。コントローラは、第3読み込み基準電圧(第1の2つの基準電圧と異なる)をMLCフラッシュメモリセルに加えることができる。この第3読み込み基準電圧は、第2ビットの0値に関連付けられる第1メモリセル電圧状態と第2ビットの1値に関連付けられる第2メモリセル電圧状態の中間の値として選択することができる。これは、ロアーページ(及び第2物理ページアドレス)に関連付けられた第2ビットの値に関する情報を与えることができる。
コントローラ8は、第2ビット(ロアーページビット)と関連付けられた軟判定値をMLCフラッシュメモリセルからの第1ビット(アッパーページビット)の値及び第2ビットの値に基づいて決定することもできる。いくつかの例では、軟判定値は、対数尤度比(LLR)を含み得る。あるビット(b)のLLRは、スケール係数(S)、そのビットが値0を有する確率(P(b=0))及びそのビットが値1を有する確率(P(b=1)により次のように計算することができる。
LLR(b)=S*log(P(b=0)/P(b=1))
たとえば、LLRの比較的大きい絶対値は、その一定のビットが0の値(正の値のLLRの場合)又は1の値(負の値のLLRの場合)である確率が比較的高いことを示すであろう。反対にLLRの比較的小さい絶対値は、その一定のビットが0の値(正の値のLLRの場合)又は1の値(負の値のLLRの場合)である確率が比較的低いことを示すであろう。
この開示の1つ又は複数の技術に従って、コントローラ8は、第1及び第2ビットの値に基づいて軟判定値に値を割り当てることができる。たとえば、コントローラ8は、第1ビットが1の値をもち、且つ、第2ビットが0の値を有するとコントローラ8が決定した場合に、第2ビットと関連付けられた軟判定値に比較的大きい正の値(たとえば、100)を割り当てることができる(これは、第2ビットが0の値を有する確率が高いことを示す)。別の例として、コントローラ8は、第1ビットが0の値をもち、且つ、第2ビットが0の値を有するとコントローラ8が決定した場合に、第2ビットと関連付けられた軟判定値に比較的小さい正の値(たとえば、10)を割り当てることができる(これは、第2ビットが0の値を有する確率が低いことを示す)。さらなる例として、コントローラ8は、第1ビットが1の値をもち、且つ、第2ビットが1の値を有するとコントローラ8が決定した場合に、第2ビットの軟判定値(たとえば、LLR)に比較的大きい負の値(たとえば、−100)を割り当てることができる(これは、第2ビットが1の値を有する確率が高いことを示す)。さらに別の例として、コントローラ8は、第1ビットが0の値をもち、且つ、第2ビットが1の値を有するとコントローラ8が決定した場合に第2ビットの軟判定値に比較的小さい負の値(たとえば、−10)を割り当てることができる(これは、第2ビットが1の値を有する確率が低いことを示す)。いくつかの例では、コントローラ8は、第1ビットの値の読み込み時に軟判定値を決定せず、且つ、第1ビットと第2ビットの両方を読み取った後に第2ビットと関連付けられた軟判定値を決定することができる。
第1及び第2物理ページアドレスは相互に関連付けられており、且つ、コントローラ8がロアーページからデータを読み取る前にアッパーページからデータを読み取った場合には第1ビットの値は揮発性メモリ12に記憶され得るので、コントローラ8は、アッパーページの再度読み込みを行わずに、第2ビットに関連付けられる軟判定値を決定することができる。再度読み込みの代わりに、コントローラ8は、第1ビットの値を揮発性メモリ12から読み出し、その値を利用して第2ビットに関連付けられる軟判定値を決定する。これは、第2ビットの値を決定するために使用される読み込み動作の回数を低減し、それにより読み込みスループットを増大するか又はメモリデバイス16の摩耗を低減するか、又はそれらの両方を実現することができる。
図3は、コントローラ8の例示的な詳細を示す概念的略ブロック図である。いくつかの例では、コントローラ8は、アドレス変換モジュール32、書き込みモジュール34、維持モジュール36、読み込みモジュール38、スケジューリングモジュール40、及び複数のチャネルコントローラ42A〜42N(まとめて、「チャネルコントローラ42」)を含み得る。他の例では、コントローラ8は、追加のモジュール又はハードウェアユニットを含むか、又はより少ないモジュール又はハードウェアユニットを含み得る。コントローラ8は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、又はその他のデジタル論理回路を含み得る。いくつかの例では、コントローラ8は、チップ上のシステム(SoC)とすることができる。
コントローラ8は、インタフェース14経由でホストデバイス4とインタフェースし、且つ、メモリデバイス16へのデータ記憶及びそれからのデータ読み出しを管理することができる。たとえば、コントローラ8の書き込みモジュール34は、メモリデバイス16への書き込みを管理し得る。たとえば、書き込みモジュール34は、記憶デバイス6に対し論理データアドレスと関連付けられたデータを記憶するように命令するメッセージ及びデータをホストデバイス4からインタフェース14経由で受け取ることができる。書き込みモジュール34は、メモリデバイス16へのデータの書き込みを管理することができる。
たとえば、書き込みモジュール34は、アドレス変換モジュール32と交信することができる。このモジュールは、ホストデバイス4によりデータの記憶場所を管理するために使用される論理データアドレスと書き込みモジュール34によりメモリデバイス16に対しデータの書き込みを指示するために使用される物理データアドレス間の変換を管理する。コントローラ8のアドレス変換モジュール32は、メモリデバイス16により記憶されるデータの論理データアドレス(又は論理ブロックアドレス)をメモリデバイス16により記憶されるデータの物理データアドレス(又は物理ブロックアドレス)に関連付ける論理−物理データアドレス変換テーブルを利用することができる。たとえば、ホストデバイス4は、記憶デバイス6への命令又はメッセージにおいてメモリデバイス16により記憶されるデータの論理データアドレスを利用することができる一方、書き込みモジュール34は、メモリデバイス16へのデータ書き込みを制御するためにデータの物理データアドレスを利用する。(同様に、読み込みモジュール38は、メモリデバイス16からのデータ読み込みを制御するために物理データアドレスを利用することができる。)物理データアドレスは、メモリデバイス16の実際の物理的位置に対応する。
上述したように、いくつかの例では、メモリデバイス16のメモリセルは、MLCフラッシュメモリセル又はTLCフラッシュメモリセル等のような複数ビット/セル式メモリセルとすることができる。メモリデバイス16のメモリセルとして複数ビット/セル式メモリセルを使用しているいくつかの例では、複数の物理ページアドレス及び複数のページをメモリセルに関連付けることができる。たとえば、アッパーページと関連付けられた第1物理ページアドレス及びロアーページと関連付けられた第2物理ページアドレスは、両方ともメモリセルに関連付けることができる。第1物理ページアドレスと第2物理ページアドレスは、論理−物理データアドレス変換テーブルにおいて相互に関連付けることができる。いくつかの例では、アドレス変換モジュール32は、論理−物理データアドレス変換テーブルを揮発性メモリ12に格納することができる。
この方法により、ホストデバイス4は1組のデータについて静的論理データアドレスを使用することが可能になる一方、データを実際に記憶する物理データアドレスが変更可能となる。アドレス変換モジュール32は、論理データアドレスを物理データアドレスにマップする論理−物理データアドレス変換テーブルを保持し、それにより、たとえばウェアレベリング又はガーベージコレクション等によりデータの物理データアドレスが変更される場合にもホストデバイス4による静的論理データアドレスの使用を可能にすることができる。いくつかの例では、論理−物理データアドレス変換テーブルを単層テーブルとし、それにより、アドレス変換モジュール32は、ホストデバイス4から受け取った論理データアドレスにハッシュを適用することにより、対応する物理データアドレスを直接読み出すことができる。
上述したように、コントローラ8の書き込みモジュール34は、1つ又は複数の動作を行ってメモリデバイス16へのデータ書き込みを管理することができる。たとえば、書き込みモジュール34は、データを格納するメモリデバイス16内の1つ又は複数のブロックを選択し、且つ、選択されたブロックを含むメモリデバイス16のメモリデバイスに実際に当該データを格納させることにより、メモリデバイス16へのデータ書き込みを管理することができる。上述したように、書き込みモジュール34は、選択されたブロックに基づいてアドレス変換モジュール32に論理−物理データアドレス変換テーブルを更新させることができる。たとえば、書き込みモジュール34は、ホストデバイス4から1組のデータ及び論理データアドレスを含むメッセージを受け取り、データを格納するメモリデバイス16の特定のメモリデバイス内のブロック及びページを選択し、メモリデバイス16のその特定のメモリデバイスにデータを実際に格納させ(たとえば、当該特定メモリデバイスに対応するチャネルコントローラ42のチャネルコントローラ経由で)、且つ、当該論理データアドレスがメモリデバイス16の当該特定メモリデバイス内の選択された物理データアドレスに対応することを示すようにアドレス変換モジュール32に論理−物理データアドレス変換テーブルを更新させることができる。
いくつかの例では、データをメモリデバイス16に格納することに加えて、書き込みモジュール34は、1つ又は複数のデータブロックが故障するか又は破損した場合に、メモリデバイス16にデータのユニットを回復するために使用し得る情報を格納させることができる。パリティ情報を使用して他のブロックにより記憶されているデータを回復することができる。いくつかの例では、このパリティ情報は、他のブロックにより格納されているデータのXORとすることができる。
論理値の0のビット(帯電)を旧論理値の1のビット(非帯電)に書き込むために、大電流が使用される。この電流は、隣接フラッシュメモリセルの電荷に偶然の変化を引き起こすほど大きいことがある。偶然の変化を防止するために、ブロック内のセルにデータを書き込む前にフラッシュメモリセルのブロック全体を1の論理値(非帯電)に消去しておくことができる。このような理由により、フラッシュメモリセルは、ブロックレベルで消去し、且つ、ページレベルで書き込むことがある。
ホストデバイス4からの書き込みコマンドの受信に応じて、書き込みモジュール34は、メモリデバイス16のどの物理位置(たとえばブロック)にデータを書き込むか決定することができる。たとえば、書き込みモジュール34は、空きであるか(たとえば、データを全く格納していない)、部分的に空いているか(たとえば、ブロックの一部のページのみデータを格納している)、又は少なくともいくつかの無効(又は古い)データを格納している1つ又は複数の物理ブロックアドレスをアドレス変換モジュール32又は維持モジュール36に要求することができる。1つ又は複数の物理データブロックアドレスを受け取った後、書き込みモジュール34は、上述の1つ又は複数のブロックを選択し、且つ、チャネルコントローラ42にデータを選択されたブロックに書き込ませるメッセージを伝えることができる。
読み込みモジュール38は、同様に、メモリデバイス16からのデータ読み込みを制御することができる。たとえば、読み込みモジュール38は、ホストデバイス4からデータを要求するメッセージを関連論理データアドレスとともに受け取ることができる。アドレス変換モジュール32は、フラッシュ変換層又はテーブルを使用して論理データアドレスを物理データアドレスに変換することができる。次に読み込みモジュール38は、1つ又は複数のチャネルコントローラ42を制御して物理データアドレスからデータを読み出すことができる。書き込みモジュール34と同様に、読み込みモジュール38は、1つ又は複数のブロックを選択し、且つ、チャネルコントローラ42に選択されたブロックからデータを読み取らせるメッセージをそれに伝えることができる。
チャネルコントローラ42の各チャネルコントローラは、チャネル18の個々のチャネルに接続され得る。いくつかの例では、コントローラ8は、記憶デバイス6のチャネル18の個数と同数のチャネルコントローラ42を含むことができる。チャネルコントローラ42は、たとえば、書き込みモジュール34、読み込みモジュール38、及び/又は維持モジュール36の制御の下で、それぞれのチャネルに接続されているメモリデバイス16のアドレス指定、プログラミング、消去、及び読み込みの詳細な制御を行うことができる。
維持モジュール36は、記憶デバイス6(たとえばメモリデバイス16)の性能の維持及び有用寿命の延長に関する動作を行うように構成され得る。たとえば、維持モジュール36は、ウェアレベリング又はガーベージコレクションの少なくとも1つを実行することができる。
コントローラ8のスケジューリングモジュール40は、メモリデバイス16により行われる動作をスケジュールすることができる。たとえば、スケジューリングモジュール40は、コントローラ8の他の構成要素から受け取った要求に基づいて1つ又は複数のメモリデバイス16に1つ又は複数の動作を実行させることができる。いくつかの例では、スケジューリングモジュール40は、特定のメモリデバイスに対応するチャネルコントローラにメモリデバイス16の特定のメモリデバイスへのコマンドを出力させることにより、その特定のメモリデバイスに1つ又は複数の動作を行わせることができる。1つの例として、スケジューリングモジュール40は、チャネルコントローラ42Aがメモリデバイス16Aaにデータを記憶させるコマンドを出力することを可能にし得る。
この開示の1つ又は複数の技術に従って、アドレス変換モジュール32は、同一メモリセルと関連付けられた物理ページアドレスに相互に関連付けることができる。たとえば、これらのメモリセルは、それぞれ、2ビットを格納することができ、且つ、MLCフラッシュメモリセルと呼ぶことができる。1組のMLCフラッシュメモリセルをこの組のMLCフラッシュメモリセルの個々のMLCフラッシュメモリセルのそれぞれの第1ビットについて第1物理ページアドレスに関連付けることができる。第1の組のMLCフラッシュメモリセルをこれらの個々のMLCフラッシュメモリセルのそれぞれの第2ビットについて第2物理ページアドレスに関連付けることができる。アドレス変換モジュール32は、第1物理ページアドレスを第2物理ページアドレスアドレスに相互に関連付けることができる。いくつかの例では、第1物理ページアドレスはアッパーページに関連付けられ、且つ、第2物理ページアドレスはロアーページに関連付けられる。
コントローラ8は、ホストデバイス4からインタフェース14経由で読み込みコマンドを受け取ることができる。読み込みコマンドは、論理ページアドレスを識別することができ、且つ、アドレス変換モジュール32は、その論理ページアドレスが1組のメモリセルのアッパーページと関連付けられた物理ページアドレスと関連付けられたことを見出すことができる。読み込みモジュール38は、当該ビットの値をアッパーページから読み出すことができる。たとえば、図4は、MLCフラッシュメモリセルのセル閾値電圧レベル及びロアーページ及びアッパーページの対応するビット値を示す概念図である。読み込みモジュール38は、第1読み込み基準電圧R1及び第3読み込み基準電圧R3を別々にMLCフラッシュメモリセルに加えることにより、1つ又は複数のチャネルコントローラ42にアッパーページからデータを読み取らせることができる。図4に示したように、第1読み込み基準電圧R1は、アッパーページの1を表す第1セル電圧状態S1とアッパーページの0を表す第2セル電圧状態S2の中間にある。同様に、第3読み込み基準電圧R3は、アッパーページの0を表す第3セル電圧状態S3とアッパーページの1を表す第4セル電圧状態S4の中間にある。
MLCフラッシュメモリセルの電圧レベルが第1(最低)セル電圧状態S1、第2(下から2番目)セル電圧状態S2、第3(上から2番目)セル電圧状態S3、又は第4(最高)セル電圧状態S4のいずれであるかに従って、第1読み込み基準電圧R1が加えられたとき、及び第3読み込み基準電圧R3が加えられたとき、MLCフラッシュメモリセルは、導電状態となるか、又は非導電状態になることができる。この方法により、読み込みモジュール38は、MLCフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第1ビットが0であるか又は1であるか決定することができる。いくつかの例では、コントローラ8(たとえば、読み込みモジュール38)は、MLCフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第1ビットの値を揮発性メモリ12に格納することができる。
コントローラ8は、MLCフラッシュメモリセルのロアーページと関連付けられた物理ページアドレスに関連付けられているとアドレス変換モジュール32により決定される論理ページアドレスと関連付けられたデータの読み込み要求をホスト4から受け取ることもできる。読み込みモジュール38は、1つ又は複数のチャネルコントローラ42に第2読み込み基準電圧R2をMLCフラッシュメモリセルに印加させることができる。図4に示したように、第2読み込み基準電圧R2は、ロアーページの1を表す第2セル電圧状態S2とロアーページの0を表す第3セル電圧状態S3の中間にある。この方法により、読み込みモジュール38は、ロアーページと関連付けられた第2物理ページアドレスと関連付けられた第2ビットの値を決定することができる。
ロアーページと関連付けられた第2ビットと関連付けられた軟判定値を決定するために、読み込みモジュール38は、第2読み込み基準電圧R2を加えることにより決定されたロアーページと関連付けられた第2ビットの値及びアッパーページと関連付けられた第1ビットの値を利用することができる。いくつかの例では、軟判定値は、LLRを含み得る。たとえば読み込みモジュール38は、第1ビットが1の値をもち、且つ、第2ビットが0の値を有すると読み込みモジュール38が決定した場合に、第2ビットと関連付けられた軟判定値に比較的大きい正の値(たとえば、100)を割り当てることができる(これは、第2ビットが0の値を有する確率が高いことを示す)。これに対して、読み込みモジュール38は、第1ビットが0の値をもち、且つ、第2ビットが0の値を有すると読み込みモジュール38が決定した場合に、第2ビットと関連付けられた軟判定値に比較的小さい正の値(たとえば、10)を割り当てることができる(これは、第2ビットが0の値を有する確率が低いことを示す)。別の例として、読み込みモジュール38は、第1ビットが1の値をもち、且つ、第2ビットが1の値を有すると読み込みモジュール38が決定した場合に、第2ビットと関連付けられた軟判定値(たとえば、LLR)に比較的大きい負の値(たとえば、−100)を割り当てることができる(これは、第2ビットが1の値を有する確率が高いことを示す)。これに対し、読み込みモジュール38は、第1ビットが0の値をもち、且つ、第2ビットが1の値を有すると読み込みモジュール38が決定した場合に、第2ビットと関連付けられた軟判定値に比較的小さい負の値(たとえば、−10)を割り当てることができる(これは、第2ビットが1の値を有する確率が低いことを示す)。いくつかの例では、読み込みモジュール38は、第1ビットの値の読み込み時に軟判定値を決定せず、その代わりに第2ビットを読み取った後に第2ビットと関連付けられた軟判定値を決定することができる。
いくつかの例では、読み込みモジュール38は、第2読み込み基準電圧R2をメモリセルに加えることにより得た情報に基づいて第2ビットの値を決定し、且つ、誤り訂正符号(ECC)アルゴリズムにおいて軟判定値を利用して第2ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール38は、低密度パリティチェック(LDPC)アルゴリズムにおいて軟判定値を利用して第2ビットに割り当てられた値を検証することができる。たとえば、軟判定値の比較的大きい絶対値は、第2ビットの値が第2読み込み基準電圧R2を使用して読み取った値である確率が比較的高いことを示すであろう。反対に、軟判定値の比較的低い値は、第2ビットの値が第2読み込み基準電圧R2を使用して読み取った値である確率が比較的低いことを示すであろう。
一例として、読み込みモジュール38は、第1読み込み基準電圧R1及び第3読み込み基準電圧R3をメモリセルに加えた後に、第1ビットの値が1であると決定することができる。第1ビットの値が1であることに基づいて、読み込みモジュール38は、比較的大きい絶対値(たとえば、−100又は100)を第2ビットの軟判定値に割り当てることができる。別の例として、読み込みモジュール38が第1ビットの値を0と決定した場合に、読み込みモジュール38は、比較的小さい絶対値(たとえば−10又は10)を第2ビットと関連付けられた軟判定値に割り当てることができる。この例を続けると、読み込みモジュール38は、第2読み込み基準電圧R2をメモリセルに加え、且つ、第2ビットと関連付けられた軟判定値の符号を第2ビットの値に基づいて決定することができる。第2ビットの軟判定値は、ECCアルゴリズムにおいてロアーページデータを復号するために利用することができる。
第1及び第2物理ページアドレスは相互に関連付けられており、且つ、読み込みモジュール38がロアーページからデータを読み取る前にアッパーページからデータを読み取った場合には第1ビットの値は揮発性メモリ12(たとえば、読み込みキャッシュ)に格納され得るので、読み込みモジュール38は、アッパーページの再読み込みを行わずに第2ビットと関連付けられた軟判定値を決定することができる。再読み取りの代わりに、読み込みモジュール38は、揮発性メモリ12から第1ビットの値を取り出し、且つ、その値を利用して軟判定値を決定することができる。これは、第2ビットの値を決定するために行われる読み込み動作の回数を低減し、それにより読み込みスループットを増大するか、又はメモリデバイス16の摩耗を低減するか、又はそれらの両方をもたらすであろう。
いくつかの例では、軟判定値を利用してロアーページと関連付けられた第2ビットの値を決定することにより、アッパーページと関連付けられた第1ビットの値の決定を容易にするためのセル電圧状態変更を可能にすることができる。たとえば、図5は、MLCフラッシュメモリセルのセル閾値電圧レベル及びロアーページ、ミドルページ、及びアッパーページの対応するビット値を示す概念図である。
図5に示すように、アッパーページ決定境界における電圧差又は間隔(第1セル電圧状態S1と第2セル電圧状態S2との間、及び第3セル電圧状態S3と第4セル電圧状態S4との間)は、ロアーページ決定境界における電圧差又は間隔(第2セル電圧状態S2と第3セル電圧状態S3との間)より大きい。前述したように、読み込みモジュール38は、読み込み基準電圧R1及びR3を使用してアッパーページ(及び第1物理ページアドレス)と関連付けられた第1ビットの値を決定でき、且つ、軟判定値を利用せずに第1ビットの値を決定することが可能である。この理由により、アッパーページ決定境界におけるより大きな電圧差は、第1セル電圧状態S1(アッパーページの1を表す)と第2セル電圧状態S2(アッパーページの0を表す)との間、又は第3セル電圧状態S3(アッパーページの0を表す)と第4セル電圧状態S4(アッパーページの1を表す)との間の識別を容易にすることができる。
第1セル電圧状態S1と第2セル電圧状態S2との間、及び第3セル電圧状態S3と第4セル電圧状態S4との間のこのより大きな差異は、アッパーページと関連付けられたビットの値を決定するためにMLCメモリセルに加えるべき読み込み基準電圧数の低減を可能にすることもできる。たとえば、いくつかの例では、S1とS2との間の電圧レベルを有する複数の読み込み基準電圧ではなく、S1とS2との間の電圧レベルを有するただ一つの読み込み基準電圧、読み込み基準電圧R1を使用することができる。同様に、いくつかの例では、S3とS4との間の電圧レベルを有する複数の読み込み基準電圧ではなく、S3とS4との間の電圧レベルを有するただ一つの読み込み基準電圧、読み込み基準電圧R3を使用することができる。いくつかの例では、これは、アッパーページと関連付けられた第1ビットの値を決定するために加えるべき読み込み基準電圧数を低減することができる。たとえば、一部の装置で行われているように6つの読み込み基準電圧(それぞれ、R1及びR3近傍の3つ)を使用する代わりに、ただ2つの読み込み基準電圧(R1及びR3)を使用してアッパーページと関連付けられた第1ビットの値を決定することができる。
さらに、読み込みモジュール38はロアーページ(及び第2物理ページアドレス)と関連付けられた第2ビットの値の決定において軟判定値を利用するので、ロアーページ決定境界における電圧の差異又は間隔(第2セル電圧状態S2と第3セル電圧状態S3との間)は、より小さくなり、且つ、軟判定値は、第2ビットの値を正確に決定する読み込みモジュール38の能力に貢献することができる。さらに、第1ビットの値及び第2ビットの値に基づくロアーページと関連付けられた第2ビットの軟判定値を利用することは、第2読み込み基準電圧R2近傍の複数の相異なる読み込み基準電圧を使用するのではなく、単一読み込み基準電圧(第2読み込み基準電圧R2)のみを使用してロアーページの値を読み取ることを可能にすることができる。たとえば、一部の装置で行われているようにR2近傍の3つの読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧R2のみを使用してロアーページと関連付けられた第2ビットの値を読み取ることを可能にし得る。たとえば一部の装置で行われているようにR2近傍の3つの読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧R2のみを使用してロアーページと関連付けられた第2ビットの値を読み取ることができる。さらに、アッパー及びロアーページの論理アドレスは関連付けられているので、第2ビットと関連付けられた軟判定値を決定するためにアッパーページの読み込みを繰り返す必要がない。最良のシナリオでは、これは、第1及び第2ビットの値を決定するために行われる読み込みサイクルの回数を9回(第1ビットの値を決定する6回の読み込みサイクル及び第2ビットの値を決定する3回の読み込みサイクル)から3回(第1ビットの値を決定する2回の読み込みサイクル及び第2ビットの値を決定する1回の読み込みサイクル)に低減することができる。軟判定値は第2ビットの値を決定するために読み込みモジュール38によりそのまま使用されるのみであるが、この方法により、軟判定値は、より少ない回数の読み込み動作による第1ビット(アッパーページと関連付けられた)及び第2ビット(ロアーページと関連付けられた)の両方の正確な決定を容易にすることができる。
図4及び5において2ビット/セル式メモリセルについて記述されている概念は、3ビット/セルを格納するメモリセルに応用することができる。図6は、TLCフラッシュメモリセルのセル閾値電圧レベル及びロアーページ、ミドルページ、及びアッパーページの対応するビット値を示す概念図である。
コントローラ8は、ホスト4からインタフェース14経由で読み込みコマンドを受け取ることができる。読み込みコマンドは論理ページアドレスを識別することができ、また、アドレス変換モジュール32は、当該論理ページアドレスが1組のメモリセルのアッパーページと関連付けられた物理ページアドレスと関連付けられたことを見出すことができる。読み込みモジュール38は、このビットの値をアッパーページから読み取ることができる。読み込みモジュール38は、第1読み込み基準電圧R1、第3読み込み基準電圧R3、第5読み込み基準電圧R5、及び第7読み込み基準電圧R7を別々にTLCフラッシュメモリセルに加えることにより、1つ又は複数のチャネルコントローラ42にアッパーページからデータを読み取らせることができる。図6に示すように、第1読み込み基準電圧R1は、アッパーページの1を表す第1セル電圧状態S1とアッパーページの0を表す第2セル電圧状態S2の中間にある。同様に、第3読み込み基準電圧R3は、アッパーページの0を表す第3セル電圧状態S3とアッパーページの1を表す第4セル電圧状態S4の中間にある。第5読み込み基準電圧R5は、アッパーページの1を表す第5セル電圧状態S5とアッパーページの0を表す第6セル電圧状態S6の中間にある。また、第7読み込み基準電圧R7は、アッパーページの0を表す第7セル電圧状態S7とアッパーページの1を表す第8セル電圧状態S8の中間にある。
TLCフラッシュメモリセルの電圧レベルが第1セル電圧状態S1、第2セル電圧状態S2、第3セル電圧状態S3、第4セル電圧状態S4、第5セル電圧状態S5、第6セル電圧状態S6、第7セル電圧状態S7、又は第8セル電圧状態S8のいずれであるかに基づいて、TLCフラッシュメモリセルは、第1読み込み基準電圧R1が加えられたとき、第3読み込み基準電圧R3が加えられたとき、第5読み込み基準電圧R5が加えられたとき、又は第7読み込み基準電圧R7が加えられたとき、導電状態又は非導電状態になり得る。この方法により、読み込みモジュール38は、TLCフラッシュメモリセルにより格納されており、且つ、アッパーページと関連付けられた第1ビットが0であるか又は1であるか決定することができる。いくつかの例では、コントローラ8(たとえば、読み込みモジュール38)は、TLCフラッシュメモリセルにより格納されており、且つ、アッパーページと関連付けられた第1ビットの値を揮発性メモリ12に格納することができる。
コントローラ8は、TLCフラッシュメモリセルのミドルページと関連付けられた物理ページアドレスに関連付けられているとアドレス変換モジュール32により決定される論理ページアドレスと関連付けられたデータの読み込み要求をホスト4から受け取ることもできる。読み込みモジュール38は、1つ又は複数のチャネルコントローラ42に第2読み込み基準電圧R2及び第6読み込み基準電圧R6をTLCフラッシュメモリセルに別々に印加させることができる。図6に示すように、第2読み込み基準電圧R2は、ミドルページの1を表す第2セル電圧状態S2とミドルページの0を表す第3セル電圧状態S3の中間にある。また、第6読み込み基準電圧R6は、ミドルページの0を表す第6セル電圧状態S6とミドルページの1を表す第7セル電圧状態S7の中間にある。この方法により、読み込みモジュール38は、ミドルページと関連付けられた第2物理ページアドレスと関連付けられた第2ビットの値を決定することができる。
ミドルページと関連付けられた第2ビットの値を検証するために、読み込みモジュール38は、第2読み込み基準電圧R2及び第6読み込み基準電圧R6を加えることにより決定されるミドルページと関連付けられた第2ビットの値及びアッパーページと関連付けられた第1ビットの値に少なくとも部分的に基づいている軟判定値を利用することができる。いくつかの例では、軟判定値は、LLRを含むことができる。たとえば、読み込みモジュール38は、第1ビットが1の値を有すると読み込みモジュール38が決定した場合に、比較的大きい絶対値(たとえば、第2ビット1について−100、第2ビット0について100)を第2ビットと関連付けられた軟判定値に割り当てることができる。別の例として、読み込みモジュール38は、第1ビットが0の値を有すると読み込みモジュール38が決定した場合に、比較的小さい絶対値(たとえば、第2ビット1について−10、第2ビット0について10)を第2ビットと関連付けられた軟判定値に割り当てることができる。
たとえば、軟判定値の比較的大きい絶対値は、第2ビットが正しい値を有する確率が比較的高いことを示すであろう。反対に、軟判定値の比較的小さい絶対値は、第2ビットが正しい値を有する確率が比較的低いことを示すであろう。
いくつかの例では、読み込みモジュール38は、第2読み込み基準電圧R2及び第6読み込み基準電圧R6をTLCメモリセルに加えることにより得られた情報に基づいて、第2ビットの値を決定することができ、且つ、軟判定値をECCアルゴリズムにおいて利用して第2ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール38は、この軟判定値をLDPCアルゴリズムにおいて利用して第2ビットに割り当てられた値を検証することができる。いくつかの例では、コントローラ8(たとえば読み込みモジュール38)は、TLCフラッシュメモリセルにより記憶され、且つ、アッパーページと関連付けられた第1ビットの値を揮発性メモリ12に格納することができる。
コントローラ8は、TLCフラッシュメモリセルのロアーページと関連付けられた第3物理ページアドレスに関連付けられているとアドレス変換モジュール32により決定される論理ページアドレスと関連付けられたデータの読み込み要求をホスト4から受け取ることもできる。読み込みモジュール38は、1つ又は複数のチャネルコントローラ42に第4読み込み基準電圧R4をTLCフラッシュメモリセルに印加させることができる。図6に示すように、第4読み込み基準電圧R4は、ロアーページの1を表す第4セル電圧状態S4とロアーページの0を表す第5セル電圧状態S5の中間にある。この方法により、読み込みモジュール38は、ロアーページと関連付けられた第3物理ページアドレスと関連付けられた第3ビットの値を決定することができる。
ロアーページと関連付けられた第3ビットの値を検証するために、読み込みモジュール38は、第4読み込み基準電圧R4を加えることにより決定されるロアーページと関連付けられた第3ビットの値、アッパーページと関連付けられた第1ビットの値、及びミドルページと関連付けられた第2ビットの値の値に基づいている軟判定値を利用することができる。いくつかの例では、軟判定値は、LLRを含むことができる。たとえば、読み込みモジュール38は、第1ビットと第2ビットの両方が1の値を有すると読み込みモジュール38が決定した場合に、比較的大きい絶対値(たとえば、−100、100)を軟判定値に割り当てることができる。別の例として、読み込みモジュール38は、第2ビットが0の値を有すると読み込みモジュール38が決定した場合に、比較的小さい絶対値(たとえば、−10、10)を軟判定値に割り当てることができる。もう1つの例として、読み込みモジュール38は、第2ビットが1の値をもち、且つ、第1ビットが0の値を有すると読み込みモジュール38が決定した場合に、中位の絶対値(たとえば、−40、40)を軟判定値に割り当てることができる。読み込みモジュール38は、第4読み込み基準電圧R4を加えることにより決定されたロアーページと関連付けられた第3ビットの値を利用して符号(たとえば、+又は−)を軟判定値に割り当てることができる。たとえば、第4読み込み基準電圧R4を加えることにより決定されたロアーページと関連付けられた第3ビットの値が1である場合、この符号は負とすることができ、また、第4読み込み基準電圧R4を加えることにより決定されたロアーページと関連付けられた第3ビットの値が0である場合、この符号は正とすることができる。
いくつかの例では、読み込みモジュール38は、さらに、ミドルページとアッパーページとの間のビット論理積演算子に基づく軟判定値を利用することができる。いくつかの例では、読み込みモジュール38は、第1ビットの値の読み込み時又は第2ビットの読み込み時に軟判定値を決定せず、その代わりに第3ビットの値に関する決定の後に軟判定値を決定することができる。
いくつかの例では、読み込みモジュール38は、第4読み込み基準電圧R4をTLCメモリセルに加えることにより得た情報に基づいて、第3ビットの値を決定することができ、且つ、軟判定値をECCアルゴリズムにおいて利用して第3ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール38は、軟判定値をLDPCアルゴリズムにおいて利用して第3ビットに割り当てられた値を検証することができる。
いくつかの例では、軟判定値を利用してミドルページと関連付けられた第2ビットの値及びロアーページと関連付けられた第1ビットの値を決定することは、アッパーページと関連付けられた第1ビットの値の決定を容易にするためのセル電圧状態変更を可能にし得る。たとえば、図7は、TLCフラッシュメモリセルのセル閾値電圧レベル及びロアーページ、ミドルページ、及びアッパーページの対応するビット値を示す概念図である。
図7に示すように、アッパーページ決定境界における電圧の差異又は間隔(第1セル電圧状態S1と第2セル電圧状態S2との間、第3セル電圧状態S3と第4セル電圧状態S4との間、第5セル電圧状態S5と第6セル電圧状態S6との間、及び第7セル電圧状態S7と第8セル電圧状態S8との間)は、ミドルページ決定境界における電圧の差異又は間隔(第2セル電圧状態S2と第3セル電圧状態S3との間、及び第6セル電圧状態S6と第7セル電圧状態S7との間)より大きく、且つ、ロアーページ決定境界における電圧の差異又は間隔(第4セル電圧状態S4と第5セル電圧状態S5との間)より大きい。上述したように、読み込みモジュール38は、読み込み基準電圧R1、R3、R5、及びR7を使用してアッパーページ(及び第1物理ページアドレス)と関連付けられた第1ビットの値を決定することができ、且つ、軟判定値を利用せずに第1ビットの値を決定することができる。この理由により、アッパーページ決定境界におけるより大きな電圧差は、第1セル電圧状態S1(アッパーページの1を表す)と第2セル電圧状態S2(アッパーページの0を表す)との間、又は第3セル電圧状態S3(アッパーページの0を表す)と第4セル電圧状態S4(アッパーページの1を表す)との間、又は第5セル電圧状態S5(アッパーページの1を表す)と第6セル電圧状態S6(アッパーページの0を表す)との間、又は第7セル電圧状態S7(アッパーページの0を表す)と第8セル電圧状態S8(アッパーページの1を表す)との間の識別を容易にすることができる。
第1セル電圧状態S1と第2セル電圧状態S2との間、第3セル電圧状態S3と第4セル電圧状態S4との間、第5セル電圧状態S5と第6セル電圧状態S6との間、及び第7セル電圧状態S7と第8セル電圧状態S8との間にこのように大きな弁別があることは、さらに、アッパーページと関連付けられたビットの値を決定するためにTLCメモリセルに加えるべき読み込み基準電圧の個数の低減を可能にすることができる。たとえば、いくつかの例では、S1とS2との間の電圧レベルを有する複数の読み込み基準電圧ではなく、S1とS2との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧R1のみ加えることができる。同様に、いくつかの例では、S3とS4との間の電圧レベルを有する複数の読み込み基準電圧ではなく、S3とS4との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧R3のみ印加することができる。S5とS6との間の電圧レベルを有する複数の読み込み基準電圧ではなく、S5とS6との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧R5のみ印加することができる。且つ、S7とS8との間の電圧レベルを有する複数の読み込み基準電圧ではなく、S7とS8との間の電圧レベルを有する単一読み込み基準電圧、読み込み基準電圧R7のみ印加することができる。いくつかの例では、これは、アッパーページと関連付けられた第1ビットの値を決定するために使用される読み込み基準電圧の個数を低減することができる。たとえば、いくつかの装置で行われているように12個の読み込み基準電圧(それぞれ、R1、R3、R5、及びR7近傍の3個)を使用する代わりに、4個の読み込み基準電圧(R1、R3、R5及びR7)のみ使用してアッパーページと関連付けられた第1ビットの値を決定することができる。
さらに、読み込みモジュール38は、ミドルページと関連付けられた第2ビットの値及びロアーページと関連付けられた第3ビットの値の決定において軟判定値を利用するので、ミドルページ決定境界及びロアーページ決定境界における電圧の差異又は間隔は、より小さくすることができ、且つ、軟判定値は、第2ビットの値及び第3ビットの値を正確に決定する読み込みモジュール38の能力に貢献することができる。さらに、第1ビットの値及び第2ビットの値に基づくミドルページと関連付けられた第2ビットの軟判定値を利用することは、第2読み込み基準電圧R2近傍の複数の相異なる読み込み基準電圧及び第6読み込み基準電圧R6近傍の複数の相異なる読み込み基準電圧を使用するのではなく、ただ2個の読み込み基準電圧(第2読み込み基準電圧R2及び第6読み込み基準電圧R6)を使用するミドルページの値の読み込みを可能にし得る。たとえば、いくつかの装置で行われているようにR2近傍の3個の読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧R2のみを使用することができる。同様に、いくつかの装置で行われているようにR6近傍の3個の読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧R6のみを使用することができる。
さらに、第1ビットの値、第2ビットの値及び第3ビットの値に基づくロアーページと関連付けられた第3ビットの軟判定値を利用することは、第4読み込み基準電圧R4近傍の複数の相異なる読み込み基準電圧を使用するのではなく、単一の読み込み基準電圧(第4読み込み基準電圧R4)のみを使用するロアーページの値の読み込みを可能にし得る。たとえば、いくつかの装置で行われているようにR4近傍の3個の読み込み基準電圧を使用する代わりに、単一の読み込み基準電圧R4のみを使用してロアーページと関連付けられた第3ビットの値を読み取ることができる。アッパー、ミドル、及びロアーページの論理アドレスは関連付けられているので、アッパーページの読み込みは第2ビットと関連付けられた軟判定値を決定するために繰り返さなくてもよく、且つ、アッパーページ及びミドルページの読み込みは第3ビットと関連付けられた軟判定値を決定するために繰り返さなくてもよい。これは、第1及び第2ビットの値を決定するために使用される読み込みサイクルの回数を21(第1ビットの値を決定する12回の読み込みサイクル、第2ビットの値を決定する6回の読み込みサイクル、第3ビットの値を決定する3回の読み込みサイクル)から7回の読み込みサイクル(第1ビットの値を決定する4回の読み込みサイクル、第2ビットの値を決定する2回の読み込みサイクル、及び第3ビットの値を決定する1回の読み込みサイクル)に低減することができる。この方法では、軟判定値は第1ビットの値を決定するために読み込みモジュール38により直接に使用されないのであるが、軟判定値は第1ビット(アッパーページと関連付けられた)、第2ビット(ミドルページと関連付けられた)、及び第3ビット(ロワーページと関連付けられた)の正確な決定を容易にすることができる。
図8は、本開示の1つ又は複数の技術に従って、少なくとも1つのプロセッサによりマルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付け、且つ、少なくとも1つのプロセッサにより、第1物理ページアドレスと関連付けられた第1ビットの値に少なくとも部分的に基づいて、第2物理ページアドレスと関連付けられた第2ビットの値を決定する例示的な技術を示す流れ図である。図8の技術について、説明のために図1の記憶環境2及び図1及び3のコントローラ8に用いて記述する。しかし、当然のことながら、図8の技術は別のプロセッサにより、又は別の記憶環境において実行することができ、また、コントローラ8及び記憶環境2はメモリデバイス16からデータを読み取るために他の技術を実行することができる。
図8の技術は、少なくとも1つのプロセッサ(たとえばコントローラ8)によりマルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付けることを含んでいる(52)。上述したように、いくつかの例では、第1物理ページアドレスはマルチレベルメモリセルのアッパーページに関連付けられ、且つ、第2物理ページアドレスはマルチレベルメモリセルのロアーページに関連付けられる。いくつかの例では、アドレス変換モジュール32は、マルチレベルメモリセルと関連付けられた第1物理ページアドレスとマルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付けることができる(52)。
図8の技術は、少なくとも1つのプロセッサ(たとえばコントローラ8)により、少なくとも第1読み込み動作をマルチレベルメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定することも含んでいる(54)。セルあたりのビット数に応じて、少なくとも第1読み込み動作は、たとえば、第1及び第2読み込み基準電圧をMLCメモリセルに加えること、又は第1、第2、第3、及び第4読み込み基準電圧をTLCメモリセルに加えることを含み得る。いくつかの例では、読み込みモジュール38は、チャネルコントローラ42の1つを制御することにより少なくとも第1読み込み動作をマルチレベルメモリセルに適用して、第1物理ページアドレスと関連付けられた第1ビットの値を決定することができる(54)。
図8の技術は、少なくとも1つのプロセッサ(たとえばコントローラ8)により、少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定することも含む(58)。セルあたりのビット数に応じて、少なくとも第2読み込み動作は、たとえば、第3の別の読み込み基準電圧をMLCメモリセルに加えること、又は第5及び第6読み込み基準電圧をTLCメモリセルに加えることを含み得る。いくつかの例では、読み込みモジュール38は、チャネルコントローラ42の1つを制御することにより少なくとも第2読み込み動作をマルチレベルメモリセルに適用して、第2物理ページアドレスと関連付けられた第2ビットの値を決定させることができる(58)。
図8の技術は、さらに、少なくとも1つのプロセッサ(たとえば、コントローラ8)により、第2ビットに関連付けられる軟判定値を少なくとも部分的に第1ビットの値及び第2ビットの値に基づいて決定することを含む(56)。たとえば、コントローラ8の読み込みモジュール38は、第1ビットが1の値を有するとコントローラ8が決定した場合に、比較的大きい絶対値(たとえば、−100、100)を第2ビットに関連付けられる軟判定値(たとえば、LLR)に割り当てることができる。別の例として、読み込みモジュール38は、第1ビットが0の値を有すると読み込みモジュール38が決定した場合に、比較的小さい絶対値(たとえば、−10、10)を第2ビットに関連付けられる軟判定値(たとえば、LLR)に割り当てることができる。いくつかの例では、読み込みモジュール38は、第1ビットの値の読み込み時に第2ビットの軟判定値情報を決定しないことが可能である。
図8の技術は、さらに、少なくとも1つのプロセッサ(たとえば、コントローラ8)により、第2ビットと関連付けられた軟判定値情報に少なくとも部分的に基づいて、第2ビットの値を検証することを含む(60)。たとえば、読み込みモジュール38は、軟判定値情報をECCアルゴリズムにおいて利用して第2ビットに割り当てられた値を検証することができる。たとえば、読み込みモジュール38は、軟判定値情報をLDPCアルゴリズムにおいて利用して第2ビットに割り当てられた値を検証することができる。
上記の例は記憶デバイスのコントローラに関して説明したが、他の例においては、本明細書において説明した例は、汎用プロセッサのような別のプロセッサ又は読み込みチャネルによっても実行され得る。さらに、前出例はフラッシュメモリについて説明されたが、本明細書において説明された技術は、別の種類のマルチレベルメモリセルにおいて利用することができる。たとえば、本明細書において説明された技術は、抵抗RAM、相変化メモリ、磁気抵抗RAM、DRAM等についても利用できる。
この開示において説明された技術は、少なくとも部分的に、ハードウェア、ソフトウェア、ファームウェア、又はこれらの任意の組み合わせにおいて実行され得る。たとえば、説明した技術の種々の側面は、1つ又は複数のマイクロプロセッサ、DSP、ASIC、EPGA、又はその他の任意の等価の集積論理回路又は個別論理回路及びかかる構成要素の任意の組み合わせを含む1つ又は複数のプロセッサにおいて実行され得る。用語「プロセッサ」又は「処理回路」は、一般的に上記の論理回路のいずれかを指すが、単独又は他の論理回路との組み合わせ、又は他の任意の等価の回路でもよい。ハードウェアを含む制御ユニットもこの開示の1つ又は複数の技術を実行することができる。
かかるハードウェア、ソフトウェア、及びファームウェアは、この開示において説明された様々な技術をサポートするために同一装置内又は別々の装置内において実現することができる。また、記述されたユニット、モジュール又は構成部品のいずれも、まとめて又は個別であるが相互動作可能な論理装置として実現され得る。モジュール又はユニットとしての種々の特徴の記述は、種々の機能的側面を強調することを意図しており、且つ、かかるモジュール又はユニットが別々のハードウェア、ファームウェア、又はソフトウェア構成要素として実現されなければならないことを必ずしも意味しない。むしろ、1つ又は複数のモジュール又はユニットと関連付けられた機能性は、別々のハードウェア、ファームウェア、又はソフトウェア構成要素により実行され得るか、又は共通又は別々のハードウェア、ファームウェア、又はソフトウェア構成要素内にまとめられ得る。
この開示において説明された技術は、エンコードされた命令を記憶するコンピュータ可読記憶媒体を含む製品中においても具体化又はコード化され得る。コード化されたコンピュータ可読記憶媒体を含む製品中に埋め込まれたか又はエンコードされた命令は、たとえばコンピュータ可読記憶媒体中に含まれているか又はコード化されている命令が1つ又は複数のプロセッサにより実行されたときに、1つ又は複数のプログラム可能なプロセッサ又はその他のプロセッサに本明細書において説明された技術の1つ又は複数を実行させることができる。コンピュータ可読記憶媒体は、ランダムアクセスメモリ(RAM)、読み出し専用メモリ(ROM)、プログラム可能読み出し専用メモリ(PROM)、消去可能プログラム可能読み出し専用メモリ(EPROM)、電気的消去可能読み出し専用メモリ(EEPROM)、フラッシュメモリ、ハードディスク、コンパクトディスクROM(CD−ROM)、フロッピーディスク、カセット、磁気媒体、光媒体、又はその他のコンピュータ可読媒体を含み得る。いくつかの例では、製品は、1つ又は複数のコンピュータ可読記憶媒体を含み得る。
いくつかの例において、コンピュータ可読記憶媒体は、非一時的媒体を含み得る。用語「非一時的」は、当該記憶媒体が搬送波又は伝播信号中において具体化されるものでないことを示すことができる。ある例においては、非一時的記憶媒体は、時間とともに変化し得るデータを格納することができる(たとえば、RAM又はキャッシュに)。
様々な例について説明した。これら及びその他の例は、以下の請求項の範囲内にある。
2 記憶環境
4 ホストデバイス
6 記憶デバイス
8 コントローラ
10 不揮発性メモリアレイ
11 電力供給装置
12 揮発性メモリ
13 情報
14 インタフェース
16 メモリデバイス
16Aa メモリデバイス
16Na メモリデバイス
17 ブロック
17A ブロック
18 チャネル
18A チャネル
18N チャネル
32 アドレス変換モジュール
34 書き込みモジュール
36 維持モジュール
38 読み込みモジュール
40 スケジューリングモジュール
42 チャネルコントローラ
42A チャネルコントローラ

Claims (20)

  1. 少なくとも1つのプロセッサにより、マルチレベルメモリセルと関連付けられた第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付けることと、
    前記少なくとも1つのプロセッサにより、少なくとも第1読み込み動作を前記マルチレベルメモリセルに適用して前記第1物理ページアドレスと関連付けられた第1ビットの値を決定することと、
    前記少なくとも1つのプロセッサにより、少なくとも第2読み込み動作を前記マルチレベルメモリセルに適用して前記第2物理ページアドレスと関連付けられた第2ビットの値を決定することと、
    前記少なくとも1つのプロセッサにより、前記第2ビットと関連付けられた軟判定値を前記第1ビットの値及び前記第2ビットの値に基づいて決定することと、
    前記少なくとも1つのプロセッサにより、前記第2ビットと関連付けられた前記軟判定値情報に少なくとも部分的に基づいて、前記第2ビットの値を検証することと
    を含む方法。
  2. 前記第1物理ページアドレスが、前記マルチレベルメモリセルのアッパーページと関連付けられた物理ページアドレスを含み、且つ、前記第2物理ページアドレスが、前記マルチレベルメモリセルのロアーページと関連付けられた物理ページアドレスを含む、請求項1に記載の方法。
  3. 前記マルチレベルメモリセルが2ビット/セル式メモリセルを含み、
    前記少なくとも第1読み込み動作を前記マルチレベルメモリセルに適用することが、2つの読み込み基準電圧を前記2ビット/セル式メモリセルに加えて前記第1ビットの値を決定することを含み、
    前記少なくとも第2読み込み動作を前記マルチレベルメモリセルに適用することが、1つの読み込み基準電圧を前記2ビット/セル式メモリセルに加えることを含み、且つ、
    前記第2ビットの値を検証することが、前記プロセッサにより対数尤度比を決定すること及び前記第2ビットを検証するために利用されるエラー訂正符号において前記対数尤度比を利用することを含む
    請求項1に記載の方法。
  4. 前記第1ビットが1に等しい場合に、前記対数尤度比が大きな絶対値を含み、且つ、前記第1ビットが0に等しい場合に、小さい絶対値を含む、請求項3に記載の方法。
  5. 第1セル電圧状態が、第1読み込み基準電圧、第2読み込み基準電圧、及び第3読み込み基準電圧より低い電圧を有し、
    第2セル電圧状態が、前記第1読み込み基準電圧より高く、且つ、前記第2読み込み基準電圧及び前記第3読み込み基準電圧より低い電圧を有し、
    第3セル電圧状態が、前記第2読み込み基準電圧より高く、且つ、前記第3読み込み基準電圧より低い電圧を有し、
    前記第1セル電圧状態と前記第2セル電圧状態との間の電圧差が、前記第2セル電圧状態と前記第3セル電圧状態との間の電圧差より大きい
    請求項4に記載の方法。
  6. 前記マルチレベルメモリセルと関連付けられた前記第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた前記第2物理ページアドレスを相互に関連付けることが、前記プロセッサにより、前記第1物理ページアドレスから読み取ったデータと読み込みキャッシュ中の前記第2物理ページアドレスから読み取ったデータを相互に関連付けることを含む、請求項1に記載の方法。
  7. 少なくとも1つのマルチレベルメモリセルを含む少なくとも1つのメモリデバイスと、
    プロセッサであって、
    前記マルチレベルメモリセルと関連付けられた第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付け、
    少なくとも第1読み込み動作を前記マルチレベルメモリセルに適用して、前記第1物理ページアドレスと関連付けられた第1ビットの値を決定し、
    少なくとも第2読み込み動作を前記マルチレベルメモリセルに適用して、前記第2物理ページアドレスと関連付けられた第2ビットの値を決定し、
    前記第2ビットと関連付けられた軟判定値を、前記第1ビットの値及び前記第2ビットの値に少なくとも部分的に基づいて決定し、且つ、
    前記第2ビットと関連付けられた前記軟判定値に少なくとも部分的に基づいて、前記第2ビットの値を検証する
    ように構成されている少なくとも1つのプロセッサと
    を含む記憶デバイス。
  8. 前記第1物理ページアドレスが、前記マルチレベルメモリセルのアッパーページと関連付けられた物理ページアドレスを含み、且つ、前記第2物理ページアドレスが、前記マルチレベルメモリセルのロアーページと関連付けられた物理ページアドレスを含む、請求項7に記載の記憶デバイス。
  9. 前記マルチレベルメモリセルが2ビット/セル式メモリセルを含み、
    前記少なくとも1つのプロセッサが、第1読み込み基準電圧を前記2ビット/セル式メモリセルに加え、且つ、第2の異なる読み込み基準電圧を前記2ビット/セル式メモリセルに加えることにより、前記第1物理ページアドレスと関連付けられた前記第1ビットの値を決定するように構成されており、
    前記少なくとも1つのプロセッサが、第3の異なる読み込み基準電圧を前記2ビット/セル式メモリセルに加えることにより、前記第2ビットの値を決定するように構成されており、
    前記第3の異なる読み込み基準電圧が、前記第1読み込み基準電圧と前記第2の異なる読み込み基準電圧との間の大きさを有し、且つ、
    前記少なくとも1つのプロセッサが、少なくとも対数尤度比を決定すること及び前記第2ビットを検証するために利用されるエラー訂正コードにおいて前記対数尤度比を利用することにより、前記第2ビットの値を検証するように構成される
    請求項7に記載の記憶デバイス。
  10. 前記第1ビットが1に等しい場合に、前記対数尤度比が大きい絶対値を含み、且つ、前記第1ビットが0に等しい場合に、小さい絶対値を含む、請求項9に記載の記憶デバイス。
  11. 第1セル電圧状態が、前記第1読み込み基準電圧、前記第2読み込み基準電圧、及び前記第3読み込み基準電圧より低い電圧を有し、
    第2セル電圧状態が、前記第1読み込み基準電圧より高く、且つ、前記第2読み込み基準電圧及び前記第3読み込み基準電圧より低い電圧を有し、
    第3セル電圧状態が、前記第2読み込み基準電圧より高く、且つ、前記第3読み込み基準電圧より低い電圧を有し、
    前記第1セル電圧状態と前記第2セル電圧状態との間の電圧差が、前記第2セル電圧状態と前記第3セル電圧状態との間の電圧差より大きい
    請求項10に記載の記憶デバイス。
  12. 前記少なくとも1つのプロセッサが、前記少なくとも第1物理ページアドレスから読み取ったデータと読み込みキャッシュ中の前記第2物理ページアドレスから読み取ったデータを相互に関連付けることにより、前記マルチレベルメモリセルと関連付けられた前記第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた前記第2物理ページアドレスを相互に関連付けるように構成される、請求項7に記載の記憶デバイス。
  13. 前記少なくとも1つのプロセッサが、前記記憶デバイスのコントローラ又は前記記憶デバイスの読み込みチャネルの少なくとも一方を含む、請求項7に記載の記憶デバイス。
  14. 命令を記憶するコンピュータ可読記憶媒体であって、その命令が実行されたときに、少なくとも1つのプロセッサに、
    マルチレベルメモリセルと関連付けられた第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付けさせ、
    少なくとも第1読み込み動作を前記マルチレベルメモリセルに適用して、前記第1物理ページアドレスと関連付けられた第1ビットの値を決定させ、
    少なくとも第2読み込み動作を前記マルチレベルメモリセルに適用して、前記第2物理ページアドレスと関連付けられた第2ビットの値を決定させ、
    前記第2ビットと関連付けられた軟判定値を、前記第1ビットの値及び前記第2ビットの値に少なくとも部分的に基づいて決定させ、且つ、
    前記軟判定値に少なくとも部分的に基づいて、前記第2ビットの値を検証させる
    コンピュータ可読記憶媒体。
  15. 前記第1物理ページアドレスが、前記マルチレベルメモリセルのアッパーページと関連付けられた物理ページアドレスを含み、且つ、前記第2物理ページアドレスが、前記マルチレベルメモリセルのロアーページと関連付けられた物理ページアドレスを含む、請求項14に記載のコンピュータ可読記憶媒体。
  16. 前記マルチレベルメモリセルが2ビット/セル式メモリセルを含み、
    前記命令が、実行されたとき、前記少なくとも1つのプロセッサに第1読み込み基準電圧を前記2ビット/セル式メモリセルに加え、且つ、第2の異なる読み込み基準電圧を前記2ビット/セル式メモリセルに加えることにより、前記1第物理ページアドレスと関連付けられた前記第1ビットの値を決定し、
    前記命令が、実行されたとき、前記少なくとも1つのプロセッサに第3の異なる読み込み基準電圧を前記2ビット/セル式メモリセルに加えることにより、前記第2ビットの値を決定し、
    前記異なる第3読み込み基準電圧が、前記第1読み込み基準電圧と前記異なる第2読み込み基準電圧との間の大きさを有し、且つ、
    前記命令が、実行されたとき、前記少なくとも1つのプロセッサに少なくとも対数尤度比を決定すること及び前記第2ビットを検証するために利用されるエラー訂正コードにおいて前記対数尤度比を利用することにより、前記第2ビットの値を検証させる
    請求項14に記載のコンピュータ可読記憶媒体。
  17. 前記第1ビットが1に等しい場合に、前記対数尤度比が大きい絶対値を含み、且つ、前記第1ビットが0に等しい場合に、小さい絶対値を含む、請求項16に記載のコンピュータ可読記憶媒体。
  18. 第1セル電圧状態が、前記第1読み込み基準電圧、前記第2読み込み基準電圧、及び前記第3読み込み基準電圧より低い電圧を有し、
    第2セル電圧状態が、前記第1読み込み基準電圧より高く、且つ、前記第2読み込み基準電圧及び前記第3読み込み基準電圧より低い電圧を有し、
    第3セル電圧状態が、前記第2読み込み基準電圧より高く、且つ、前記第3読み込み基準電圧より低い電圧を有し、
    前記第1セル電圧状態と前記第2セル電圧状態との間の電圧差が、前記第2セル電圧状態と前記第3セル電圧状態との間の電圧差より大きい
    請求項17に記載のコンピュータ可読記憶媒体。
  19. 前記少なくとも1つのプロセッサが、前記少なくとも第1物理ページアドレスから読み取ったデータと読み込みキャッシュ中の前記第2物理ページアドレスから読み取ったデータを相互に関連付けることにより、前記マルチレベルメモリセルと関連付けられた前記第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた前記第2物理ページアドレスを相互に関連付けるように構成される、請求項14に記載のコンピュータ可読記憶媒体。
  20. 少なくとも1つのマルチレベルメモリセルを含む少なくとも1つのメモリデバイスと、
    前記マルチレベルメモリセルと関連付けられた第1物理ページアドレスと前記マルチレベルメモリセルと関連付けられた第2物理ページアドレスを相互に関連付ける手段と、
    少なくとも第1読み込み動作を前記マルチレベルメモリセルに適用して、前記第1物理ページアドレスと関連付けられた第1ビットの値を決定する手段と、
    少なくとも第2読み込み動作を前記マルチレベルメモリセルに適用して、前記第2物理ページアドレスと関連付けられた第2ビットの値を決定する手段と、
    少なくとも部分的に前記第1ビットの値及び前記第2ビットの値に基づいて、軟判定値を決定する手段と、
    前記軟判定値に少なくとも部分的に基づいて、前記第2ビットの値を検証する手段と
    を含む記憶デバイス。

JP2016157641A 2015-08-11 2016-08-10 軟判定復号のための物理アドレスの相互関連付け Expired - Fee Related JP6345210B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/823,751 2015-08-11
US14/823,751 US9659637B2 (en) 2015-08-11 2015-08-11 Correlating physical page addresses for soft decision decoding

Publications (2)

Publication Number Publication Date
JP2017073121A true JP2017073121A (ja) 2017-04-13
JP6345210B2 JP6345210B2 (ja) 2018-06-20

Family

ID=57799965

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016157641A Expired - Fee Related JP6345210B2 (ja) 2015-08-11 2016-08-10 軟判定復号のための物理アドレスの相互関連付け

Country Status (6)

Country Link
US (1) US9659637B2 (ja)
JP (1) JP6345210B2 (ja)
KR (1) KR101933763B1 (ja)
CN (1) CN106445843B (ja)
DE (1) DE102016009807A1 (ja)
GB (1) GB2541298B (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20170039795A (ko) * 2015-10-01 2017-04-12 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10289313B2 (en) * 2016-06-28 2019-05-14 Intel Corporation Method and apparatus for improving sequential reading in NAND flash
KR102384706B1 (ko) * 2017-06-09 2022-04-08 삼성전자주식회사 반도체 메모리 장치, 이를 포함하는 메모리 시스템 및 반도체 메모리 장치의 동작 방법
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
US11954220B2 (en) 2018-05-21 2024-04-09 Pure Storage, Inc. Data protection for container storage
US12086431B1 (en) 2018-05-21 2024-09-10 Pure Storage, Inc. Selective communication protocol layering for synchronous replication
US11675503B1 (en) 2018-05-21 2023-06-13 Pure Storage, Inc. Role-based data access
US11099781B2 (en) 2018-07-19 2021-08-24 Silicon Motion, Inc. Flash memory controller, flash memory module and associated electronic device
US10733047B2 (en) 2018-09-28 2020-08-04 Sandisk Technologies Llc Hard and soft bit data from single read
KR20200073017A (ko) * 2018-12-13 2020-06-23 에스케이하이닉스 주식회사 데이터 저장 장치와, 그것의 동작 방법
CN111026675B (zh) * 2019-12-06 2022-02-15 华中科技大学 一种高效的闪存数据刷新方法及基于闪存的固态硬盘
US11294819B2 (en) * 2020-03-31 2022-04-05 Western Digital Technologies, Inc. Command optimization through intelligent threshold detection
US11921581B1 (en) * 2022-08-15 2024-03-05 Micron Technology, Inc. Read recovery including low-density parity-check decoding

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012181761A (ja) * 2011-03-02 2012-09-20 Toshiba Corp 半導体メモリ装置および復号方法
JP2013025821A (ja) * 2011-07-22 2013-02-04 Fusion-Io Inc ソリッドステート記憶媒体に関する設定パラメーターを判定するための装置、システム、及び方法

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8775913B2 (en) * 2010-03-31 2014-07-08 Lsi Corporation Methods and apparatus for computing soft data or log likelihood ratios for received values in communication or storage systems
KR101792868B1 (ko) 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
US8943384B2 (en) 2012-04-12 2015-01-27 Seagate Technology Llc Using a soft decoder with hard data
US8856611B2 (en) 2012-08-04 2014-10-07 Lsi Corporation Soft-decision compensation for flash channel variation
US9239754B2 (en) 2012-08-04 2016-01-19 Seagate Technology Llc Single read based soft-decision decoding of non-volatile memory
US10468096B2 (en) 2012-10-15 2019-11-05 Seagate Technology Llc Accelerated soft read for multi-level cell nonvolatile memories
KR20140072637A (ko) * 2012-12-05 2014-06-13 삼성전자주식회사 비휘발성 메모리 장치 및 메모리 컨트롤러의 동작 방법
US9021332B2 (en) 2012-12-11 2015-04-28 Seagate Technology Llc Flash memory read error recovery with soft-decision decode
US20140169102A1 (en) 2012-12-19 2014-06-19 Western Digital Technologies, Inc. Log-likelihood ratio and lumped log-likelihood ratio generation for data storage systems
US9015554B2 (en) 2012-12-20 2015-04-21 Seagate Technology Llc Management of non-valid decision patterns of a soft read retry operation
US8924824B1 (en) 2013-03-12 2014-12-30 Western Digital Technologies, Inc. Soft-decision input generation for data storage systems
US9021331B2 (en) 2013-03-14 2015-04-28 Seagate Technology Llc Method and apparatus for generation of soft decision error correction code information
US9007854B1 (en) * 2013-12-09 2015-04-14 Western Digital Technologies, Inc. Method and system for optimized soft decoding in a data storage device

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012181761A (ja) * 2011-03-02 2012-09-20 Toshiba Corp 半導体メモリ装置および復号方法
JP2013025821A (ja) * 2011-07-22 2013-02-04 Fusion-Io Inc ソリッドステート記憶媒体に関する設定パラメーターを判定するための装置、システム、及び方法

Also Published As

Publication number Publication date
KR20170019328A (ko) 2017-02-21
US20170047114A1 (en) 2017-02-16
JP6345210B2 (ja) 2018-06-20
GB2541298B (en) 2019-04-03
CN106445843B (zh) 2019-10-01
GB2541298A (en) 2017-02-15
DE102016009807A1 (de) 2017-02-16
KR101933763B1 (ko) 2018-12-28
US9659637B2 (en) 2017-05-23
CN106445843A (zh) 2017-02-22

Similar Documents

Publication Publication Date Title
JP6345210B2 (ja) 軟判定復号のための物理アドレスの相互関連付け
US10459793B2 (en) Data reliability information in a non-volatile memory device
US20210165832A1 (en) Proactive corrective actions in memory based on a probabilistic data structure
US10133625B2 (en) Storing parity data separate from protected data
US20190163620A1 (en) Handling of unaligned writes
US10290353B2 (en) Error mitigation for 3D NAND flash memory
KR102592803B1 (ko) 데이터 저장 장치 및 그것의 동작 방법
CN113035262B (zh) 存储器子系统中奇偶校验数据的管理
US20220229722A1 (en) Method and apparatus to improve performance of a redundant array of independent disks that includes zoned namespaces drives
US11775179B2 (en) Enabling stripe-based operations for error recovery at a memory sub-system
CN114518843A (zh) 存储控制器和包括存储控制器的存储设备
CN113127254A (zh) 存储器子系统中多平面奇偶校验数据的存储管理
US11210028B2 (en) Method for accessing flash memory module and associated flash memory controller and electronic device
KR20220033975A (ko) CbA 기술을 사용한 재배치 흐름
CN106935265B (zh) 非易失性存储器装置以及包括该非易失性存储器装置的数据存储装置
US10817192B2 (en) Data storage apparatus selecting memory block group based on interleaving index and operating method thereof
US20230051018A1 (en) Memory system and method of operating the same
US11586379B2 (en) Memory system and method of operating the same
US11106575B2 (en) Systems and methods for data storage in a memory system
US20160211024A1 (en) Decoding data using a reserved word line
US20200394134A1 (en) Data storage device and operating method thereof
KR20210079894A (ko) 데이터 저장 장치 및 그것의 동작 방법
US11861208B2 (en) Performing data operations on grouped memory cells
US11860732B2 (en) Redundancy metadata media management at a memory sub-system
CN113126899B (zh) 完全多平面操作启用

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20170814

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170825

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171121

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180522

R150 Certificate of patent or registration of utility model

Ref document number: 6345210

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees