JP7291816B2 - フラッシュメモリにおける適応ソフトビット圧縮 - Google Patents

フラッシュメモリにおける適応ソフトビット圧縮 Download PDF

Info

Publication number
JP7291816B2
JP7291816B2 JP2022012496A JP2022012496A JP7291816B2 JP 7291816 B2 JP7291816 B2 JP 7291816B2 JP 2022012496 A JP2022012496 A JP 2022012496A JP 2022012496 A JP2022012496 A JP 2022012496A JP 7291816 B2 JP7291816 B2 JP 7291816B2
Authority
JP
Japan
Prior art keywords
compression
soft
bits
softbit
conditions
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.)
Active
Application number
JP2022012496A
Other languages
English (en)
Other versions
JP2022167776A (ja
JP2022167776A5 (ja
Inventor
ザミール・ラン
シャロン・エラン
バザルスキー・アレクサンダー
Original Assignee
ウェスタン デジタル テクノロジーズ インコーポレーテッド
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 ウェスタン デジタル テクノロジーズ インコーポレーテッド filed Critical ウェスタン デジタル テクノロジーズ インコーポレーテッド
Publication of JP2022167776A publication Critical patent/JP2022167776A/ja
Publication of JP2022167776A5 publication Critical patent/JP2022167776A5/ja
Application granted granted Critical
Publication of JP7291816B2 publication Critical patent/JP7291816B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/35Unequal or adaptive error protection, e.g. by providing a different level of protection according to significance of source information or by adapting the coding according to the change of transmission channel characteristics
    • H03M13/353Adaptation to the channel
    • 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
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/40Response verification devices using compression techniques
    • 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/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/1201Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details comprising I/O circuitry
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/152Bose-Chaudhuri-Hocquenghem [BCH] codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/154Error and erasure correction, e.g. by using the error and erasure locator or Forney polynomial
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/3059Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6041Compression optimized for errors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/60General implementation details not specific to a particular type of compression
    • H03M7/6064Selection of Compressor
    • 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
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6577Representation or format of variables, register sizes or word-lengths and quantization

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • Human Computer Interaction (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)

Description

本出願は、概して、メモリデバイスに関し、より具体的には、メモリデバイスにおける適応ソフトビット圧縮に関する。
不揮発性記憶デバイスは、フラッシュメモリデバイス及び他の記憶デバイスを含む。フラッシュメモリデバイスでは、記憶素子は、1つ以上のビット値を示す特定の閾値電圧を記憶するようにプログラムされ得る。例えば、閾値電圧の特定の範囲は、論理「1」のビット値に対応し得、閾値電圧の別の範囲は、論理「0」のビット値に対応し得る。
不揮発性記憶デバイスは、誤り訂正技術を使用して、データの記憶及び回収の信頼性を改善し得る。例えば、データは、記憶される前に符号化され得、このデータは、記憶デバイスから読み出された後に復号化されて、データ内の1つ以上の誤りを訂正し得る(確率論的誤り訂正能力など、誤り訂正能力による)。
特定の誤り訂正技術は、ソフトビットを使用して、誤り訂正能力を改善する。これらのソフトビットは、遷移よりも高い/低いを読み出し、遷移閾値近くのビットをマーキングすることによって生成され得る。ソフトビットは、記憶素子から読み出されたハードビットの信頼性を示し得る。一例として、ハードビットは、論理「0」のビット値を示し得、このハードビットに対応するソフトビットは、論理「0」のビット値が比較的信頼できること(例えば、記憶素子の状態を反映する読み出し電圧が、読み出し閾値から比較的遠い場合)、又は論理「0」のビット値が比較的信頼できないこと(例えば、記憶素子の状態を示す読み出し電圧が閾値電圧の目標範囲の境界に隣接する場合)を示し得る。ソフトビットは、どのデータビットが「不正確」である可能性が高いか(例えば、閾値電圧範囲の境界近くにあることに起因する)を示すことによって復号化プロセスを改善し得る。ソフトビットを生成し、使用すると、記憶デバイスにおいてリソースが消費される。例えば、ソフトビットを生成するために、(読み出しプロセス中にハードビットのみを生成する場合と比較して)追加の感知動作が実行され得る。別の例として、メモリからコントローラにソフトビットを転送すると、システム帯域幅が使用され得、他の動作に利用可能なリソースが減少する可能性があり、場合によっては、メモリの性能が遅くなり得る。
不揮発性メモリセルのサイズが収縮し、セルの密度が増加するに伴い、不揮発性メモリ記憶デバイスの信頼性要件は、より困難なものとなっている。増大した信頼性要件は、性能、処理時間、電力消費、及び複雑さを犠牲にして記憶デバイスの誤り訂正能力を高めるソフトビットを提供することによって満たされ得る。
ソフトビット圧縮の従来の実装は、固定(非適応)圧縮スキームを含む。更に、ソフトビットデルタも適応的に調整されていない。これらの圧縮比及びソフトビット(SB)デルタを(特にNANDビット誤り率(BER)に)適応させていないことにより、ソフトビットは十分な情報量がなく、復号化障害をもたらすか、又はソフトビットは情報量が過剰であり、ソフトビットページを低減するために更に圧縮され得、それによってNANDとコントローラとの間のトラフィックを減少させる。
本開示は、適応ソフトビット圧縮を有するデバイス、方法、及び装置を含む。ソフトビットページを適応的に圧縮することにより、ソフトビットページのサイズが大幅に低減され得、メモリアレイからコントローラへのソフトビットページの転送に関連する待ち時間及び電力の両方が節約され得る。通常の動作条件では、少量のビットのみがソフトビットページによって「信頼できない」としてマークされ、ソフトビットデータを2~8の圧縮比で非常に効率的に圧縮することが可能である。
本開示は、一実施形態では、1つ以上の記憶素子、圧縮ソフトビット回路、及び読み出し/書き込み回路を含むメモリを提供する。圧縮ソフトビット回路は、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定するように構成されている。読み出し/書き込み回路は、1つ以上の記憶素子からハードビットのセットを読み出し、1つ以上の記憶素子からハードビットのセットを読み出す間、決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知するように構成されており、ソフトビットの第1のセットは第1の固定サイズを有し、ソフトビットの第1のセットの各ソフトビットは、ハードビットのセットの対応するハードビットの信頼性を示す。圧縮ソフトビット回路は、ソフトビットの第1のセットを受信し、決定された圧縮スキームに基づいて、ソフトビットの第1のセットからソフトビットの第2のセットを生成し、ソフトビットの第2のセットを出力するように更に構成されている。
本開示はまた、方法を提供する。一実施形態では、この方法は、圧縮ソフトビット回路で、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定することを含む。この方法は、読み出し/書き込み回路で、1つ以上の記憶素子からハードビットのセットを読み出すことを含む。この方法は、圧縮ソフトビット回路で、1つ以上の記憶素子からハードビットのセットを読み出す間、決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することを含み、ソフトビットの第1のセットは第1の固定サイズを有し、ソフトビットの第1のセットの各ソフトビットは、ハードビットのセットの対応するハードビットの信頼性を示す。この方法は、圧縮ソフトビット回路で、ソフトビットの第1のセットを受信することを含む。この方法は、圧縮ソフトビット回路で、決定された圧縮スキームに基づいて、ソフトビットの第2のセットを生成することを含む。この方法はまた、ソフトビットの第2のセットを出力することを含む。
本開示はまた、一実施形態では、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定するための手段と、1つ以上の記憶素子からハードビットのセットを読み出すための手段と、1つ以上の記憶素子からハードビットのセットを読み出す間、決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知するための手段であって、ソフトビットの第1のセットが第1の固定サイズを有し、ソフトビットの第1のセットの各ソフトビットが、ハードビットのセットの対応するハードビットの信頼性を示す、手段と、ソフトビットの第1のセットを受信するための手段と、決定された圧縮スキームに基づいて、ソフトビットの第2のセットを生成するための手段と、ソフトビットの第2のセットを出力するための手段と、を含む装置を提供する。
このようにして、本開示の様々な態様は、少なくともメモリデバイスの技術分野並びにそれらの設計及びアーキテクチャにおいて改善をもたらす。本開示は、ファームウェア(すなわち、プロセッサ上で実行されるコード)、コンピュータシステム及びネットワーク、ユーザインターフェース、並びにアプリケーションプログラミングインターフェースによって制御されるハードウェア又は回路、並びにハードウェア実装方法、信号処理回路、メモリアレイ、特定用途向け集積回路、フィールドプログラマブルゲートアレイなどを含む、様々な形態で具体化することができる。上述の概要は、本開示の様々な態様の一般的な概念を提供することのみを意図したものであり、いかなる方法でも本開示の範囲を限定するものではない。
本開示のいくつかの実施形態による、固定サイズソフトビット非可逆圧縮を有するデータ記憶デバイスを含むシステムのブロック図である。
本開示の様々な態様による、ソフトビット読み出しを示す図である。
本開示のいくつかの実施形態による、適応ソフトビット圧縮を実行するための例示的な方法を示すフローチャートである。
本開示のいくつかの実施形態による、ECCデコーダの対数尤度比(LLR)を調整するための例示的な方法を示すフローチャートである。
本開示の様々な態様による、ソフトビットビン当たりのビット誤り率の計算を示す図である。
本開示の様々な態様による、ソフトビットデルタ、圧縮比、及びECC訂正能力の関係の分析を示すグラフである。
以下の説明では、本開示の1つ以上の態様の理解を提供するために、データ記憶デバイス構成、コントローラ動作などのような多数の詳細が記載される。これらの具体的な詳細は単なる例示であり、本出願の範囲を限定することを意図するものではないことは、当業者には容易に明らかであろう。具体的には、メモリデバイスに関連付けられた機能は、ハードウェア(例えば、アナログ回路又はデジタル回路)、ハードウェアとソフトウェアとの組み合わせ(例えば、非一時的コンピュータ可読媒体に記憶され、処理回路又は制御回路によって実行される、プログラムコード又はファームウェア)、又は任意の他の好適な手段によって実行され得る。以下の説明は、本開示の様々な態様の一般的な概念を提供することのみを意図するものであり、いかなる方法でも本開示の範囲を限定するものではない。
図1は、本開示のいくつかの実施形態による、固定サイズソフトビット非可逆圧縮を有するデータ記憶デバイスを含むシステムのブロック図である。図1の実施例では、システム100は、データ記憶デバイス102及びホストデバイス150を含む。データ記憶デバイス102は、コントローラ120、及びコントローラ120に結合されたメモリ104(例えば、不揮発性メモリ)を含む。
コントローラ120によって提供される構造的特徴及び機能的特徴の一実施例を図1に示す。ただし、コントローラ120は、図1のコントローラ120によって提供される構造的特徴及び機能的特徴に限定されない。コントローラ120は、図1に示されていない、少数又は追加の構造的特徴及び機能的特徴を含み得る。
データ記憶デバイス102及びホストデバイス150は、バス接続又はワイヤレス接続などの接続(例えば、通信経路110)を介して動作可能に結合され得る。いくつかの実施例では、データ記憶デバイス102は、ホストデバイス150内に埋め込まれ得る。代替的に、他の実施例では、データ記憶デバイス102は、ホストデバイス150から取り外し可能であり得る(すなわち、ホストデバイス150に「取り外し可能に」結合される)。一実施例として、データ記憶デバイス102は、取り外し可能なユニバーサルシリアルバス(USB)構成によって、ホストデバイス150に取り外し可能に結合され得る。いくつかの実装態様では、データ記憶デバイス102は、ソリッドステートドライブ(SSD)を含むか、又はそれに対応し得るが、このSSDは、埋め込みストレージドライブ(例えば、モバイル埋め込みストレージドライブ)、エンタープライズ記憶ドライブ(ESD)、クライアントストレージデバイス、又はクラウドストレージドライブ、又は他の好適なストレージドライブとして使用され得る。
データ記憶デバイス102は、有線通信経路及び/又はワイヤレス通信経路などの通信経路110を介してホストデバイス150に結合されるように構成され得る。例えば、データ記憶デバイス102は、インターフェース108がホストデバイス150に通信可能に結合されたときなど、データ記憶デバイス102とホストデバイス150との間の通信経路110を介した通信を可能にするインターフェース108(例えば、ホストインターフェース)を含み得る。
ホストデバイス150は、電子プロセッサ及びメモリを含み得る。メモリは、電子プロセッサによって実行可能であり得るデータ及び/又は命令を記憶するように構成され得る。メモリは、単一のメモリであってもよいか、又は1つ以上の不揮発性メモリ、1つ以上の揮発性メモリ、若しくはこれらの組み合わせなどの1つ以上のメモリを含み得る。ホストデバイス150は、データ記憶デバイス102のメモリ104へのデータの消去、データの読み出し、又はデータの書き込みのための1つ以上の要求など、1つ以上のコマンドをデータ記憶デバイス102に発行し得る。例えば、ホストデバイス150は、メモリ104に記憶されるユーザデータ132などのデータを提供するか、又はメモリ104から読み出されるデータを要求するように構成され得る。ホストデバイス150は、モバイルスマートフォン、音楽プレーヤ、ビデオプレーヤ、ゲーム機、電子書籍リーダ、パーソナルデジタルアシスタント(PDA)、ラップトップコンピュータ若しくはノートブックコンピュータなどのコンピュータ、これらの任意の組み合わせ、又は他の好適な電子デバイスを含み得る。
ホストデバイス150は、メモリ104からの読み出し、及びメモリ104への書き込みを可能にするメモリインターフェースを介して通信する。いくつかの実施例では、ホストデバイス150は、ユニバーサルフラッシュストレージ(UFS)ホストコントローラインターフェース仕様などの工業規格に準拠して動作し得る。他の実施例では、ホストデバイス150は、セキュアデジタル(SD)ホストコントローラ仕様又は他の好適な工業規格などの1つ以上の他の仕様に準拠して動作し得る。ホストデバイス150はまた、任意の他の好適な通信プロトコルによって、メモリ104と通信し得る。
データ記憶デバイス102のメモリ104は、不揮発性メモリ(例えば、NAND、BiCSファミリーのメモリ、又は他の好適なメモリ)を含み得る。いくつかの実施例では、メモリ104は、任意のタイプのフラッシュメモリとし得る。例えば、メモリ104は、二次元(2D)メモリ又は三次元(3D)フラッシュメモリとし得る。メモリ104は、1つ以上のメモリダイ103を含み得る。1つ以上のメモリダイ103の各々は、1つ以上のブロック(例えば、1つ以上の消去ブロック)を含み得る。各ブロックは、記憶素子107A~107Nの代表的なグループなどの記憶素子の1つ以上のグループを含み得る。記憶素子107A~107Nのグループは、ワード線として構成され得る。記憶素子107のグループは、それぞれ代表的な記憶素子109A及び109Nなどの複数の記憶素子(例えば、本明細書で「ストリング」と称されるメモリセル)を含み得る。
メモリ104は、1つ以上のメモリダイ103の動作を支持するための読み出し/書き込み回路140などの支持回路を含み得る。単一の構成要素として示されているが、読み出し/書き込み回路140は、読み出し回路及び書き込み回路など、メモリ104の別個の構成要素に分割され得る。読み出し/書き込み回路140は、メモリ104の1つ以上のメモリダイ103の外部にし得る。代替的に、1つ以上の個々のメモリダイは、他のメモリダイのいずれかにおける任意の他の読み出し及び/又は書き込み動作とは独立して、個々のメモリダイ内の記憶素子から読み出し及び/又は記憶素子に書き込みするように動作可能である、対応する読み出し/書き込み回路を含み得る。
メモリ104は、1つ以上のラッチ(例えば、ラッチ112、114、及び116を含む一組のラッチ111)及び圧縮ソフトビット(CSB)回路118を更に含み得る。いくつかの実施例では、読み出し/書き込み回路140を使用して1つ以上のCSB動作を実行し得る。メモリアレイ104、読み出し/書き込み回路140、CSB回路118は、メモリ104のメモリダイ内に統合され得る。一実施例では、CSB回路118は複製され、CSB回路118をメモリダイと統合することによって、又はCSB回路を含むダイをそれぞれのメモリダイに結合することによって、各メモリダイの一部となる。CSB回路118は、メモリアレイ104、読み出し/書き込み回路140、ラッチ112、114、及び116のうちの1つ以上、又はメモリ-コントローラバス106など、メモリ104とコントローラ120との間の接続、のうちの1つ以上に結合され得る。
CSB回路118は、1つ以上のAND論理ゲートなど、1つ以上の論理ゲートを含み得る。代替的又は追加的に、CSB回路118は、1つ以上の他の論理ゲート、例えば、1つ以上のOR論理ゲート、1つ以上の排他的OR(XOR)論理ゲート、1つ以上のインバータ(NOT)論理ゲート、1つ以上のNOT-AND(NAND)論理ゲート、1つ以上のNOT-OR(NOR)論理ゲート、1つ以上の排他的NOR(XNOR)ゲート、1つ以上の他の論理ゲート、又はこれらの組み合わせを含み得る。他の例では、CSB回路118は、メモリ104から省略され得、CSB回路118を参照して説明される動作は、ラッチ112、114、及び116で(例えば、ラッチ112、114、及び116で実行される論理動作を使用して)実行され得る。
データ記憶デバイス102は、バス106、インターフェース(例えば、インターフェース回路)、別の構造、又はこれらの組み合わせを介してメモリ104(例えば、1つ以上のメモリダイ103)に結合されたコントローラ120を含む。例えば、バス106は、コントローラ120が、1つ以上のメモリダイ103の各々と、他のメモリダイ103との通信と並列かつ独立して通信することを可能にするために、複数の別個のチャネルを含み得る。いくつかの実装態様では、メモリ104は、フラッシュメモリとし得る。
コントローラ120は、ホストデバイス150からデータ及び命令を受信し、ホストデバイス150にデータを送信するように構成されている。例えば、コントローラ120は、インターフェース108を介してホストデバイス150にデータを送信することができ、コントローラ120は、インターフェース108を介してホストデバイス150からデータを受信し得る。コントローラ120は、データ及びコマンド(例えば、メモリ動作136)をメモリ104に送信するように、並びにメモリ104からデータ及び固定サイズ圧縮ソフトビットを受信するように構成されている。例えば、コントローラ120は、データ及び書き込みコマンドを送信して、メモリ104にデータをメモリ104の指定されたアドレスに記憶させるように構成されている。書き込みコマンドは、データを記憶することになるメモリ104の一部分の物理アドレス(例えば、メモリ104のワード線の物理アドレス)を指定し得る。
コントローラ120は、メモリ104に読み出しコマンドを送信して、メモリ104の指定されたアドレスからデータにアクセスするように構成されている。読み出しコマンドは、メモリ104の領域の物理アドレス(例えば、メモリ104のワード線の物理アドレス)を指定し得る。コントローラ120はまた、バックグラウンドスキャン動作、ガベージコレクション動作、及び/若しくは摩耗平準化動作、又は他の好適なメモリ動作に関連付けられたメモリ104にデータ及びコマンドを送信するように構成され得る。
コントローラ120は、メモリ124、誤り訂正符号(ECC)エンジン126、及びプロセッサ128を含み得る。メモリ124は、プロセッサ128によって実行可能であり得るデータ及び/又は命令を記憶するように構成され得る。メモリ124は、ソフトビット非可逆圧縮解除器160、ソフトビットデータベース162、及びLLR調整アプリケーション164を含み得る。ソフトビット非可逆圧縮解除器160は、プロセッサ128によって実行可能であるハードウェア回路又は命令であり得る。LLR調整アプリケーション164は、プロセッサ128に、ECCデコーダ126の対数尤度比(LLR)を、図5に関して以下でより詳細に説明されるような圧縮誤りに関するソフトビットページ品質に基づいて調整させ得る。更に、他の実施例では、LLR調整アプリケーション164は、ECCデコーダ126に、ECCデコーダ126のLLRをソフトビットページ品質に基づいて調整させ得る。更に他の実施例では、メモリ124に記憶された任意のアプリケーションから分離した別個のアプリケーション又は回路が、ECCデコーダ126のLLRをソフトビットページ品質に基づいて調整し得る。
コントローラ120は、メモリデバイス104にメモリ動作136(例えば、読み出しコマンド)を送信して、読み出し/書き込み回路140に、記憶素子に記憶されたデータを感知させ得る。例えば、コントローラ120は、ホストデバイス150から読み出しアクセスの要求を受信することに応答して、読み出しコマンドをメモリデバイス104に送信し得る。読み出しコマンドを受信することに応答して、メモリデバイス104は、記憶領域107Aを(例えば、読み出し/書き込み回路140を使用して)感知して、データを表すハードビットのセット及びソフトビットのセットなど、ビットのセットを1つ以上生成し得る。ソフトビットのセットは、対応するハードビットのセットの復号化中にECCエンジン126によって使用可能な信頼性情報を示し得る。
ハードビットのセットは、単一の論理ページ又は1つ以上の論理ページを表し得る。ソフトビットのセットは、対応する単一の論理ページ又は対応する1つ以上の論理ページを表し得る。
圧縮ソフトビット(CSB)回路118は、ページなどの定義されたメモリ空間がより小さな固定サイズセグメントに分割されることを可能にする。例えば、CSB回路118が、NAND条件及び/又はシステム条件に基づいて64ビットの固定サイズセグメントに対応するソフトビットを更に小さな固定サイズ(例えば、12ビット)に適応的に圧縮するため、以下に記載される適応ソフトビット圧縮は、メモリコントローラ120が、定義されたメモリ空間、すなわち、64ビットの固定サイズセグメントに分割されたページからデータを読み取ることを可能にする。定義されたメモリ空間のこの分割は、メモリコントローラ120の読み出し動作を簡素化し、その効率を向上させ、適応的に圧縮されたソフトビットは、ソフトビットありの読み出し動作を実行するために必要なバス幅を減少させる。
圧縮ソフトビット(CSB)回路118はまた、適応非可逆圧縮が、分散された様式で実行されることを可能にする。例えば、ラッチ116及びCSB回路118は、互いに別々に又は組み合わさって(並列、交互、又は他の好適な組み合わせで)適応圧縮を実行し、バス106を介してソフトビットの第2のセット138をコントローラ120に出力し得る。
図2は、本開示の様々な態様による、ソフトビット読み出し200を示す図である。図2に示すように、「ソフトビットデルタ」は、ハードビット(HB)感知とソフトビット感知との間の距離であり、X軸は感知電圧であり、Y軸はセル電圧分布である。図2の例では、ソフトビット読み出し200は、左側ソフトビットデルタ202及び右側ソフトビットデルタ204を含む。
図2に示すように、左側ソフトビットデルタ202及び右側ソフトビットデルタ204は対称である。しかしながら、いくつかの実施例では、左側ソフトビットデルタ202及び右側ソフトビットデルタ204は、非対称であり得、すなわち、互いに異なり得る。
更に、図2に示すように、ソフトビットデルタ(SBページとHBページとの間の感知電圧差)を調整することは、トレードオフをもたらす。ソフトビットデルタを増加させる(すなわち、図2に示される両側矢印の長さを増加させる)ことにより、「低信頼性」セクションが拡張され、HB閾値に近いより多くの誤ったビットが捕捉され、信頼できないとマークされる。しかしながら、同時に、ソフトビットデルタを拡張した後、より多くの正しいビットが信頼できないとマークされる。ソフトビットデルタを減少させると、反対のことが起こる。言い換えれば、任意の所与の時間において、SBデルタは、ソフトビットの情報を最大化し、かつNAND条件及び/又はシステム条件に従って変化する、1つの値を有し得る。
ソフトビットに圧縮を追加することは、追加の検討事項を必要とする。SBページの圧縮率は、ソフトビットデータのエントロピーに依存する。エントロピーが減少すると、圧縮率は増加する。エントロピーが増加すると、圧縮率は減少する。
ソフトビットページが疎である実施例では、信頼できないとマークされた少量のビットが存在する(図2の実施例では「0」)。マークされたビットが少ないほど、ソフトビットデータのエントロピーは低くなる。可逆圧縮スキームの場合、より低いエントロピーは、圧縮SBページのサイズを低減し、これにより、システムスループットが増加する。固定非可逆圧縮スキームの場合、より低いエントロピーは圧縮品質を増加させ、これにより、圧縮プロセスで失われる情報の量が減少する。
前述を考慮して、ソフトビット圧縮を使用するシステムは、SBデルタを適応的に調整するか、又は圧縮スキームを適応的に調整して、システムの圧縮及び効果を考慮しながら、訂正能力及び性能を最大化し得る。具体的には、SBページに対する圧縮及び効果、並びに非可逆圧縮による情報損失を考慮しながらである。
NAND条件が変化すると、Y軸として示されるセル電圧分布(CVD)も変化し、異なる量の誤り及び信頼できる/信頼できないビットをもたらす。BERが高いほど、デコーダ(例えば、ECCデコーダ126)からより高い訂正能力が必要とされる。デコーダからのより高い訂正能力は、より高い圧縮比、より高い若しくはより低いソフトビットデルタ、又はこれらのいくつかの組み合わせによって達成され得る。
より高い圧縮比(すなわち、より少ない圧縮)は、より高い品質のソフトビットページをもたらす。圧縮比(圧縮ソフトビットページと非圧縮ソフトビットページとの間の比)は、多くの場合、データ記憶デバイス102の全体的な性能を決める転送スループットに直接関連している。同様に、より大きなソフトビットデルタは、より多くのビットを信頼できないとマークし、より少ない圧縮をもたらす。
前述を考慮して、圧縮品質は、非可逆圧縮に起因してもたらされた誤りの量を指し、全体的なソフトビットページ品質は、ソフトビットデルタと圧縮品質の両方の結果である。ソフトビットデルタを増加又は減少させることは、上で説明したように、データの観点からソフトビットページの品質を改善又は劣化させ得る。しかしながら、圧縮の観点からは、ソフトビットデルタを増加させることは、データの圧縮をより困難なものとし、そのため、所与の圧縮比に対して、ソフトビットデルタの増加は、より低い圧縮品質(例えば、より多くの圧縮誤り)をもたらす。ソフトビットデルタの増加による圧縮品質の低下を考慮するために、圧縮比を上げて圧縮品質を維持し得る。
図3は、本開示のいくつかの実施形態による、適応ソフトビット圧縮を実行するための例示的な方法300を示すフローチャートである。理解しやすくするために、方法300は、CSB回路118に関して説明される。しかしながら、方法300は、データ記憶デバイス102内の他の回路(例えば、プロセッサ128及びラッチ112~116)と組み合わせて、又はそれらによって別々に実行され得る。
図3の実施例では、方法300は、決定される1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定すること(ブロック302)を含む。例えば、CSB回路118は、決定されるBERに基づいてソフトビットデルタ及び圧縮スキームを決定する。CSB回路118はまた、BERに基づいてソフトビットデルタ及び圧縮比を決定し得る。
方法300は、決定されたソフトビットデルタ(例えば、ソフトビットデルタ位置)を使用してソフトビットの第1のセットを感知すること(ブロック304)を含む。例えば、CSB回路118は、決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知するように、読み出し/書き込み回路140を制御する。
方法300は、決定された圧縮スキームに基づいて、読み出し/書き込み回路140によって感知されるソフトビットの第1のセットからソフトビットの第2のセットを生成すること(ブロック306)を含む。例えば、CSB回路118は、決定された圧縮スキームに基づいてソフトビットの第1のセットからソフトビットの第2のセットを生成する。
方法300は、ソフトビットの第2のセットを出力すること(ブロック308)を含む。例えば、CSB回路118は、ソフトビットの第2のセットをコントローラ120に出力する。
いくつかの実施例では、ソフトビットの第2のセットをソフトビットページコントローラに転送した後、方法300は、決定される1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを再決定すること(ブロック302)によって繰り返される。他の実施例では、方法300は、論理ページ単位で実行され得る。
更に、いくつかの実施例では、方法300は、ソフトビットデルタ及び圧縮スキームを決定する前に、1つ以上の記憶素子の1つ以上の条件を決定することを含み得る。例えば、CSB回路118は、NAND条件に基づいてソフトビットデルタ及び圧縮スキームを決定する前に、メモリ104のNAND条件(例えば、ビット誤り率(BER))を決定し得る。いくつかの実施形態では、BERを決定するために他の回路が提供され、CSB回路118は、この他の回路からBERを受信する。上記の実施例では、1つ以上の条件は、異なるBER及びCVD特性を示す論理ページを考慮するために、論理ページごとに決定され得る。
図4は、本開示のいくつかの実施形態による、ECCデコーダの対数尤度比(LLR)を調整するための例示的な方法400を示すフローチャートである。図4の実施例では、方法400は、圧縮誤りに関するソフトビットページ品質を決定すること(ブロック402)を含む。例えば、コントローラ120のプロセッサ128は、LLR調整アプリケーション164を実行するとき、図5で以下に記載されるような新しいBERを決定し得る。
方法400はまた、圧縮誤りに関するソフトビットページ品質に基づいてECCデコーダの対数尤度比(LLR)を調整すること(ブロック404)を含む。例えば、コントローラ120のプロセッサ128は、LLR調整アプリケーション164を実行するとき、新しいBERに基づいてECCデコーダ126のLLRを調整し得る。いくつかの実施例では、ソフトビットページ品質は、圧縮誤り、及びNANDにより誘発される誤りに関するものである。言い換えれば、新しいBERは、NANDによって及び非可逆的圧縮によって誘発されるエラーを考慮し得る。
いくつかの実施例では、方法400は、方法300の延長部であり得る。例えば、圧縮誤りに関するソフトビットページ品質の決定は、方法300で出力される圧縮ソフトビットに少なくとも部分的に基づき得る。
図5は、本開示の様々な態様による、ソフトビットビン当たりのビット誤り率の計算500を示す図である。図5は、プロセッサ128に関して説明されている。しかしながら、図5は、コントローラ120内の他の回路、例えば、ECCデコーダ126に等しく適用可能であり得る。
非可逆圧縮スキームは、固定圧縮スキームで実装され得る。すなわち、非可逆圧縮スキームは、ソフトビットページの別個の部分で動作し、それらを個別に固定(より小さい)サイズのベクトルに圧縮する。例えば、ソフトビットページの各64ビット部分は、16ビットに圧縮され得、これは、25%の圧縮比である。
NANDダイ上の論理は非常に高価であり、そのため、非可逆圧縮スキームは、実装するのにより現実的である。しかしながら、非可逆圧縮スキームのマイナス面は、元のソフトビットページにおける情報の一部が失われることであり、すなわち、デコーダ側の圧縮解除されたページは、元のSBページの完全な複製にはならない。
デコーダLLRは、電圧ビン内の各ビットの信頼性を表し、以下の式()に従ってビンのBERにより計算される。
Figure 0007291816000001
非可逆圧縮スキームの場合、圧縮誤りが推定され、各ビンに追加されて、プロセッサ128、ECCデコーダ126、他の専用ハードウェア回路、又はこれらの組み合わせによりLLRを適宜調整し得る。誤りを推定するために、ビン当たりの公称LLR及び公称BERは、プロセッサ128、ECCデコーダ126、他の専用ハードウェア回路、又はこれらの組み合わせによって計算され得る。BERが与えられると、プロセッサ128によってガウスCVDが推測されて、最適なソフトビット閾値位置を計算し得る。ガウス分布の標準偏差(σ)は、以下の式(1)におけるBERに従ってECCデコーダ126によって計算され得る。
Figure 0007291816000002
次いで、以下の式(2)及び(3)において、デルタ(Δ)がソフトビット閾値オフセットであり、アルファ(α)が低信頼性(高BER)ビン内のビットの割合であり、(1-α)は、高信頼性(低BER)ビン内のビットの割合であると仮定する。
Figure 0007291816000003
信頼できる/信頼できないビンのBER(plow及びphigh)を使用すると、公称LLRの大きさは、上記の式()に従ってプロセッサ128によって計算され得る。
前述を考慮して、プロセッサ128は、予想される圧縮誤りに従ってビン当たりのBERを調整し得る。例えば、64ビットから16ビットへの固定非可逆圧縮を仮定すると、CSB回路118は、非可逆圧縮スキームを使用して、各64ビットにおいて最大3つの信頼できないビット(例えば、3つの「0」)をマーク及び再構築し、それらの位置を16ビットに圧縮し得る。各64ビットベクトルにおける任意の追加の0は廃棄される、すなわち、コントローラ120においてプロセッサ128により「1」として再構築される。これは、この非可逆圧縮スキームにおける圧縮誤りが、プロセッサ128に、信頼できないビットを信頼できないビンから信頼できるビンに移動させることを意味する。
プロセッサ128は、圧縮誤りの予想される割合、すなわち、64ビットベクトル内の第4の信頼できないビット又はそれより上のビット(第5の信頼できないビット、第6の信頼できないビットなど)であるビットの数を以下の式(4)で計算する。
Figure 0007291816000004
したがって、信頼できるビン内のビットの新しいビット誤り率(BER)は、以下の式(5)である。
Figure 0007291816000005
プロセッサ128が信頼できないビンから信頼できるビンにビットを移動させるだけなので、信頼できないビンにおけるBERはphighとして変化しないままである。したがって、プロセッサ128は、調整された
Figure 0007291816000006
を使用して、調整されたLLRの大きさを上記の式()で計算し得る。
図6は、本開示の様々な態様による、ソフトビットデルタ、圧縮比、及びECC訂正能力の関係の分析600を示すグラフである。図6の実施例では、分析600は、ゼロ圧縮スキーム602、可変可逆圧縮スキーム604、第1の固定非可逆圧縮スキーム606、第2の固定非可逆圧縮スキーム608、及び第3の固定非可逆圧縮スキーム610を含む。
ゼロ圧縮スキーム602は、100%の圧縮比を有し、これは、ゼロ圧縮である。可変可逆圧縮スキーム604は、可変圧縮比を有するランレングス符号化(RLC)可逆圧縮である。第1の固定非可逆圧縮スキーム606は、18.75%の圧縮比、例えば、64ビットから12ビットへの圧縮を有する。第2の固定非可逆圧縮スキーム608は、25%の圧縮比、例えば、64ビットから16ビットへの圧縮を有する。第3の固定圧縮スキーム610は、50%の圧縮比、例えば、16ビットから8ビットへの圧縮を有する。
スキーム602~610の各々では、異なるソフトビットデルタが最良の訂正能力をもたらす。ゼロ圧縮スキーム602を使用する場合、最良の訂正能力を有するソフトビットデルタは、100mVである。圧縮率18.75%、25%、及び50%を有する固定非可逆圧縮スキーム604~608を使用する場合、最良の訂正能力を有するソフトビットデルタは、それぞれ、50mV、62.5mV、及び87.5mVである。
可変可逆圧縮スキーム604を使用する場合、最良の訂正能力を有するソフトビットデルタは、BERの上昇に応じて変化する。BERが低い(第1の閾値を下回る)場合、最良の訂正能力を有するソフトビットデルタは37.5mVであり得る。BERが高い(第1の閾値を超える)場合、最良の訂正能力を有するソフトビットデルタは100mVであり得る。
分析600では、垂直軸は圧縮比(すなわち、圧縮データと非圧縮データとの間の比)であり、水平軸は、上記のように結果として得られた訂正可能BERを示し、圧縮比は、コントローラ120に転送されるデータの量を直接制御し、多くのシナリオでは、システム全体の性能を決定付ける。
スキームの各々について、異なるSBデルタに対して結果として得られる圧縮比及び訂正可能BERが示されている。図6に示すように、必要とされる訂正可能BERに応じて達成可能圧縮比(システム読み出し性能)間に幅広い相違がある。
システム100の使用事例は、BERが低いときに高圧縮を使用し、BERが上昇するにつれてソフトビットデルタ及び圧縮比をゆっくりと増加させる。例えば、BERが低い(第1の閾値を下回る)場合、CSB回路118は、50mVで第1の固定非可逆圧縮スキーム606を選択する。BERが上昇する(第1の閾値を超える)と、CSB回路118は、第1の固定非可逆圧縮スキーム606から62.5mVでの第2の固定非可逆圧縮スキーム608に切り替わり得る。BERが引き続き上昇する(第2の閾値を超える)と、CSB回路118は、第2の固定非可逆圧縮スキーム610から87.5mVでの第3の固定非可逆圧縮スキーム610に切り替わり得る。
いくつかの実施例では、実装コストに起因して、固定非可逆圧縮スキームのみがCSB回路118に利用可能であり得る。他の実施例では、BERが最大に達する(ゼロ圧縮閾値に達する)と、CSB回路118は、第3の固定非可逆圧縮スキーム610から100mVでのゼロ圧縮スキーム602に切り替わり得る。更に他の実施例では、CSB回路118は、50mV及び62.5mVでの第1の固定非可逆圧縮スキーム606及び第2の固定非可逆圧縮スキーム608の代わりに、それぞれ、75mV及び100mVでの可変可逆圧縮スキーム604で開始し得る。
図6に示すように、ソフトビットデルタ及び圧縮スキーム(非可逆、可逆、及びゼロ圧縮)の効果は、訂正能力及び転送スループットに劇的な影響を及ぼす。NAND条件(及び/又はシステム条件)に基づくソフトビットデルタ及び/又は圧縮スキームの調整は、読み出しスループットを改善し、かなりの数分の1に電力を減少させる(ソフトビットページサイズは、品質を利用可能な条件に適応的に一致させながら、実質的に低減され得る)。更に、(図5で上述したように)ECCパラメータをソフトビットの品質に適合させることは、ECCデコーダ性能を最適化して、ソフトビット内の情報を十分に利用し、訂正能力を改善し、復号化待ち時間と電力の両方を低減する。
本明細書に説明されるプロセス、システム、方法、ヒューリスティックなどに関して、かかるプロセスのステップは、特定の順序付けられたシーケンスに従って発生するものとして説明されているが、かかるプロセスは、本明細書に説明される順序以外の順序で実行されると説明されたステップを用いて実施され得ることを理解されたい。更に、特定のステップが同時に実行されてもよく、他のステップが追加されてもよく、又は本明細書に説明される特定のステップを省略することができることを理解されたい。すなわち、本明細書のプロセスの説明は、特定の実施形態を例示する目的で提供され、特許請求の範囲を限定するものと解釈されるべきではない。
したがって、上の説明は例示的であり、限定的ではないことが意図されることを理解されたい。提供される実施例以外の多くの実施形態及び用途は、上の説明を読むことで明らかとなるであろう。範囲は、上の説明を参照して決定されるべきではなく、その代わりに、添付の特許請求の範囲を参照して、かかる特許請求の範囲が権利を与えられる等価物の全範囲とともに決定されるべきである。将来の開発が本明細書で考察される技術において生じ、開示されたシステム及び方法がそのような将来の実施形態に組み込まれることが予想及び意図されている。要約すると、用途は、修正及び変形が可能であることを理解されたい。
特許請求の範囲で使用される全ての用語は、本明細書でなされる反対の明示的な指示がない限り、本明細書に説明される技術において知識豊富な者によって理解されるような、最も広い合理的な構造及びそれらの通常の意味が与えられることを意図している。具体的には、「a」、「the」、「said」などのような単数形冠詞の使用は、請求項の反対の明示的な限定を列挙しない限り、示された要素のうちの1つ以上を列挙するために読み取られるべきである。
要約書は、読者が技術的開示の性質を迅速に確認することができるように提供される。請求項の範囲又は意味を解釈又は限定するために使用されないことが理解されよう。加えて、上述の[発明を実施するための形態]において、様々な機能が、本開示を合理化する目的で様々な実施形態において一緒にグループ化されていることが分かり得る。本開示の方法は、請求される実施形態が各請求項に明示的に列挙されているよりも多くの機能を必要とするという意図を反映するものとして解釈されるべきではない。むしろ、以下の特許請求の範囲が反映されるように、本発明の主題は、開示される単一の実施形態の全ての機能よりも少ないことにある。したがって、以下の特許請求の範囲は、「発明を実施するための形態」に組み込まれ、各特許請求の範囲は、個別に請求される主題として独立している。
以下の項目は、出願当初の特許請求の範囲に記載されていた項目である。
(項目1)
メモリであって、
1つ以上の記憶素子と、
圧縮ソフトビット回路であって、
前記1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定するように構成されている、圧縮ソフトビット回路と、
読み出し/書き込み回路であって、
前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、を行うように構成されている、読み出し/書き込み回路と、を備え、
前記圧縮ソフトビット回路は、
前記ソフトビットの第1のセットを受信することと、
前記決定された圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
前記ソフトビットの第2のセットを出力することと、を行うように更に構成されている、メモリ。
(項目2)
前記圧縮ソフトビット回路が、
前記1つ以上の記憶素子の前記1つ以上の条件を決定することであって、
前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記圧縮スキームが第1の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、こと、を行うように更に構成されている、項目1に記載のメモリ。
(項目3)
前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記圧縮スキームが第2の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、項目2に記載のメモリ。
(項目4)
前記1つ以上の条件が、前記第2の閾値以上の第3のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記圧縮スキームが第3の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズ及び前記第3の固定サイズよりも大きい第4の固定サイズを有する、項目3に記載のメモリ。
(項目5)
前記圧縮ソフトビット回路が、
前記1つ以上の記憶素子の前記1つ以上の条件を決定することであって、
前記1つ以上の条件が、ゼロ圧縮閾値以上の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記圧縮スキームがゼロ圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズと同じ第2の固定サイズを有する、こと、を行うように更に構成されている、項目1に記載のメモリ。
(項目6)
前記圧縮ソフトビット回路が、
前記1つ以上の記憶素子の前記1つ以上の条件を決定することであって、
前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記圧縮スキームが第1の可変可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、こと、を行うように更に構成されている、項目1に記載のメモリ。
(項目7)
前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記圧縮スキームが第1の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、項目6に記載のメモリ。
(項目8)
方法であって、
圧縮ソフトビット回路で、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定することと、
読み出し/書き込み回路で、前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
前記圧縮ソフトビット回路で、前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、
前記圧縮ソフトビット回路で、前記ソフトビットの第1のセットを受信することと、
前記圧縮ソフトビット回路で、前記決定された圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
前記ソフトビットの第2のセットを出力することと、を含む、方法。
(項目9)
前記圧縮ソフトビット回路で、前記1つ以上の記憶素子の前記1つ以上の条件を決定することを更に含み、
前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定することが、前記第1のBERに基づいて前記圧縮スキームが第1の固定非可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、項目8に記載の方法。
(項目10)
前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定することが、前記第2のBERに基づいて前記圧縮スキームが第2の固定非可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、項目9に記載の方法。
(項目11)
前記1つ以上の条件が、前記第2の閾値以上の第3のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定することが、前記第3のBERに基づいて前記圧縮スキームが第3の固定非可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズ及び前記第3の固定サイズよりも大きい第4の固定サイズを有する、項目10に記載の方法。
(項目12)
前記圧縮ソフトビット回路で、前記1つ以上の記憶素子の前記1つ以上の条件を決定することを更に含み、
前記1つ以上の条件が、ゼロ圧縮閾値以上の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定することが、前記第1のBERに基づいて前記圧縮スキームがゼロ圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズと同じ第2の固定サイズを有する、項目8に記載の方法。
(項目13)
前記圧縮ソフトビット回路で、前記1つ以上の記憶素子の前記1つ以上の条件を決定することを更に含み、
前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定することが、前記第1のBERに基づいて前記圧縮スキームが可変可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、項目8に記載の方法。
(項目14)
前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定することが、前記第2のBERに基づいて前記圧縮スキームが第1の固定非可逆圧縮スキームであるということを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、項目13に記載の方法。
(項目15)
圧縮誤りに関するソフトビットページ品質を決定することと、
前記圧縮誤りに関する前記ソフトビットページ品質に基づいて対数尤度比(LLR)を調整することと、を更に含む、項目8に記載の方法。
(項目16)
装置であって、
1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び圧縮スキームを決定するための手段と、
前記1つ以上の記憶素子からハードビットのセットを読み出すための手段と、
前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知するための手段であって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、手段と、
前記ソフトビットの第1のセットを受信するための手段と、
前記決定された圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成するための手段と、
前記ソフトビットの第2のセットを出力するための手段と、を備える、装置。
(項目17)
前記1つ以上の記憶素子の前記1つ以上の条件を決定するための手段を更に備え、
前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するための前記手段が、前記第1のBERに基づいて前記圧縮スキームが第1の固定非可逆圧縮スキームであると決定するための手段を更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、項目16に記載の装置。
(項目18)
前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するための前記手段が、前記第2のBERに基づいて前記圧縮スキームが第2の固定非可逆圧縮スキームであると決定するための手段を更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、項目17に記載の装置。
(項目19)
前記1つ以上の条件が、前記第2の閾値以上の第3のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記圧縮スキームを決定するための前記手段が、前記第3のBERに基づいて前記圧縮スキームが第3の固定非可逆圧縮スキームであると決定するための手段を更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズ及び前記第3の固定サイズよりも大きい第4の固定サイズを有する、項目18に記載の装置。
(項目20)
圧縮誤りに関するソフトビットページ品質を決定するための手段と、
前記圧縮誤りに関する前記ソフトビットページ品質に基づいて対数尤度比(LLR)を調整するための手段と、を更に備える、項目16に記載の装置。

Claims (13)

  1. メモリであって、
    1つ以上の記憶素子と、
    圧縮ソフトビット回路であって、
    前記1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定するように構成されている、圧縮ソフトビット回路と、
    読み出し/書き込み回路であって、
    前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
    前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、を行うように構成されている、読み出し/書き込み回路と、を備え、
    前記圧縮ソフトビット回路は、
    前記ソフトビットの第1のセットを受信することと、
    決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
    前記ソフトビットの第2のセットを出力することと、を行うように更に構成されており、
    前記圧縮ソフトビット回路が、
    前記1つ以上の記憶素子の前記1つ以上の条件を決定することであって、
    前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記1つの圧縮スキームが第1の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、こと、を行うように更に構成されている、メモリ。
  2. 前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記1つの圧縮スキームが第2の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、請求項1に記載のメモリ。
  3. 前記1つ以上の条件が、前記第2の閾値以上の第3のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記1つの圧縮スキームが第3の固定非可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズ及び前記第3の固定サイズよりも大きい第4の固定サイズを有する、請求項2に記載のメモリ。
  4. メモリであって、
    1つ以上の記憶素子と、
    圧縮ソフトビット回路であって、
    前記1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定するように構成されている、圧縮ソフトビット回路と、
    読み出し/書き込み回路であって、
    前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
    前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、を行うように構成されている、読み出し/書き込み回路と、を備え、
    前記圧縮ソフトビット回路は、
    前記ソフトビットの第1のセットを受信することと、
    決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
    前記ソフトビットの第2のセットを出力することと、を行うように更に構成されており、
    前記圧縮ソフトビット回路が、
    前記1つ以上の記憶素子の前記1つ以上の条件を決定することであって、
    前記1つ以上の条件が、ゼロ圧縮閾値以上の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記1つの圧縮スキームがゼロ圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズと同じ第2の固定サイズを有する、こと、を行うように更に構成されている、メモリ。
  5. メモリであって、
    1つ以上の記憶素子と、
    圧縮ソフトビット回路であって、
    前記1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定するように構成されている、圧縮ソフトビット回路と、
    読み出し/書き込み回路であって、
    前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
    前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、を行うように構成されている、読み出し/書き込み回路と、を備え、
    前記圧縮ソフトビット回路は、
    前記ソフトビットの第1のセットを受信することと、
    決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
    前記ソフトビットの第2のセットを出力することと、を行うように更に構成されており、
    前記圧縮ソフトビット回路が、
    前記1つ以上の記憶素子の前記1つ以上の条件を決定することであって、
    前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するために、前記圧縮ソフトビット回路は、前記1つの圧縮スキームが第1の可変可逆圧縮スキームであると決定するように更に構成され、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、こと、を行うように更に構成されている、メモリ。
  6. 方法であって、
    圧縮ソフトビット回路で、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定することと、
    読み出し/書き込み回路で、前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
    前記読み出し/書き込み回路で、前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、
    前記圧縮ソフトビット回路で、前記ソフトビットの第1のセットを受信することと、
    前記圧縮ソフトビット回路で、決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
    前記ソフトビットの第2のセットを出力することと、を含み、
    前記圧縮ソフトビット回路で、前記1つ以上の記憶素子の前記1つ以上の条件を決定することを更に含み、
    前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定することが、前記第1のBERに基づいて前記1つの圧縮スキームが第1の固定非可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、方法。
  7. 前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定することが、前記第2のBERに基づいて前記1つの圧縮スキームが第2の固定非可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、請求項6に記載の方法。
  8. 前記1つ以上の条件が、前記第2の閾値以上の第3のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定することが、前記第3のBERに基づいて前記1つの圧縮スキームが第3の固定非可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズ及び前記第3の固定サイズよりも大きい第4の固定サイズを有する、請求項7に記載の方法。
  9. 方法であって、
    圧縮ソフトビット回路で、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定することと、
    読み出し/書き込み回路で、前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
    前記読み出し/書き込み回路で、前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、
    前記圧縮ソフトビット回路で、前記ソフトビットの第1のセットを受信することと、
    前記圧縮ソフトビット回路で、決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
    前記ソフトビットの第2のセットを出力することと、を含み、
    前記圧縮ソフトビット回路で、前記1つ以上の記憶素子の前記1つ以上の条件を決定することを更に含み、
    前記1つ以上の条件が、ゼロ圧縮閾値以上の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定することが、前記第1のBERに基づいて前記1つの圧縮スキームがゼロ圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズと同じ第2の固定サイズを有する、方法。
  10. 方法であって、
    圧縮ソフトビット回路で、1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定することと、
    読み出し/書き込み回路で、前記1つ以上の記憶素子からハードビットのセットを読み出すことと、
    前記読み出し/書き込み回路で、前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知することであって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、ことと、
    前記圧縮ソフトビット回路で、前記ソフトビットの第1のセットを受信することと、
    前記圧縮ソフトビット回路で、決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成することと、
    前記ソフトビットの第2のセットを出力することと、を含み、
    前記圧縮ソフトビット回路で、前記1つ以上の記憶素子の前記1つ以上の条件を決定することを更に含み、
    前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定することが、前記第1のBERに基づいて前記1つの圧縮スキームが可変可逆圧縮スキームであると決定することを更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、方法。
  11. 装置であって、
    1つ以上の記憶素子の1つ以上の条件に基づいてソフトビットデルタ及び複数の圧縮スキームのうち1つの圧縮スキームを決定するための手段と、
    前記1つ以上の記憶素子からハードビットのセットを読み出すための手段と、
    前記1つ以上の記憶素子から前記ハードビットのセットを読み出す間、前記決定されたソフトビットデルタを使用してソフトビットの第1のセットを感知するための手段であって、前記ソフトビットの第1のセットが第1の固定サイズを有し、前記ソフトビットの第1のセットの各ソフトビットが、前記ハードビットのセットの対応するハードビットの信頼性を示す、手段と、
    前記ソフトビットの第1のセットを受信するための手段と、
    決定された前記1つの圧縮スキームに基づいて、前記ソフトビットの第1のセットからソフトビットの第2のセットを生成するための手段と、
    前記ソフトビットの第2のセットを出力するための手段と、を備え
    前記1つ以上の記憶素子の前記1つ以上の条件を決定するための手段を更に備え、
    前記1つ以上の条件が、第1の閾値未満の第1のビット誤り率(BER)であり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するための前記手段が、前記第1のBERに基づいて前記1つの圧縮スキームが第1の固定非可逆圧縮スキームであると決定するための手段を更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さい第2の固定サイズを有する、装置。
  12. 前記1つ以上の条件が、前記第1の閾値以上かつ第2の閾値未満である第2のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するための前記手段が、前記第2のBERに基づいて前記1つの圧縮スキームが第2の固定非可逆圧縮スキームであると決定するための手段を更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズよりも大きい第3の固定サイズを有する、請求項11に記載の装置。
  13. 前記1つ以上の条件が、前記第2の閾値以上の第3のBERであり、前記1つ以上の条件に基づいて前記ソフトビットデルタ及び前記1つの圧縮スキームを決定するための前記手段が、前記第3のBERに基づいて前記1つの圧縮スキームが第3の固定非可逆圧縮スキームであると決定するための手段を更に含み、前記ソフトビットの第2のセットが、前記第1の固定サイズよりも小さく、かつ前記第2の固定サイズ及び前記第3の固定サイズよりも大きい第4の固定サイズを有する、請求項12に記載の装置。
JP2022012496A 2021-04-23 2022-01-31 フラッシュメモリにおける適応ソフトビット圧縮 Active JP7291816B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/239,057 2021-04-23
US17/239,057 US11456758B1 (en) 2021-04-23 2021-04-23 Adaptive soft-bit compression in flash memory

Publications (3)

Publication Number Publication Date
JP2022167776A JP2022167776A (ja) 2022-11-04
JP2022167776A5 JP2022167776A5 (ja) 2023-01-17
JP7291816B2 true JP7291816B2 (ja) 2023-06-15

Family

ID=83365683

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022012496A Active JP7291816B2 (ja) 2021-04-23 2022-01-31 フラッシュメモリにおける適応ソフトビット圧縮

Country Status (3)

Country Link
US (1) US11456758B1 (ja)
JP (1) JP7291816B2 (ja)
KR (1) KR102639556B1 (ja)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070149135A1 (en) 2003-12-23 2007-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Information transfer method and system
US20140237318A1 (en) 2013-02-20 2014-08-21 Sandisk Enterprise Ip Llc Bandwidth optimization in a non-volatile memory system
US20170046220A1 (en) 2015-08-11 2017-02-16 Sandisk Technologies Inc. Soft bit techniques for a data storage device

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8363837B2 (en) 2005-02-28 2013-01-29 HGST Netherlands B.V. Data storage device with data transformation capability
US8464131B2 (en) 2008-06-23 2013-06-11 Ramot At Tel Aviv University Ltd. Reading a flash memory by constrained decoding
US8233324B2 (en) 2010-03-25 2012-07-31 Sandisk Il Ltd. Simultaneous multi-state read or verify in non-volatile storage
US8099652B1 (en) 2010-12-23 2012-01-17 Sandisk Corporation Non-volatile memory and methods with reading soft bits in non uniform schemes
US8874994B2 (en) 2011-07-22 2014-10-28 Sandisk Technologies Inc. Systems and methods of storing data
CN104662853B (zh) 2012-08-21 2017-07-11 扬智欧洲有限公司 软度量值压缩方法
US9214965B2 (en) 2013-02-20 2015-12-15 Sandisk Enterprise Ip Llc Method and system for improving data integrity in non-volatile storage
US9641378B1 (en) 2013-03-12 2017-05-02 Western Digital Technologies, Inc. Adjustment of compression ratios for data storage
US9882678B2 (en) 2014-09-23 2018-01-30 Cavium, Inc. Method and apparatus for improving data integrity using compressed soft information
US9406377B2 (en) 2014-12-08 2016-08-02 Sandisk Technologies Llc Rewritable multibit non-volatile memory with soft decode optimization
US10275186B2 (en) 2015-10-30 2019-04-30 Sandisk Technologies Llc System and method of data compression and data shaping
KR20170062621A (ko) * 2015-11-27 2017-06-08 에스케이하이닉스 주식회사 메모리 시스템 및 그의 동작 방법
US10284233B2 (en) * 2016-12-06 2019-05-07 Western Digital Technologies, Inc. ECC adjustment based on dynamic error information
US10158380B2 (en) * 2016-12-06 2018-12-18 Sandisk Technologies Llc ECC and read adjustment based on dynamic memory error model estimation
US10374639B2 (en) * 2016-12-06 2019-08-06 Western Digital Technologies, Inc. Adaptive bit-flipping decoder based on dynamic error information
US10715177B2 (en) 2017-06-20 2020-07-14 Samsung Electronics Co., Ltd. Lossy compression drive
US10802908B2 (en) * 2018-07-31 2020-10-13 Western Digital Technologies, Inc. Data dependent allocation of error correction resources
US11456754B2 (en) 2020-10-13 2022-09-27 Western Digital Technologies, Inc. Fixed size soft bit lossy compression in flash memory

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070149135A1 (en) 2003-12-23 2007-06-28 Telefonaktiebolaget Lm Ericsson (Publ) Information transfer method and system
US20140237318A1 (en) 2013-02-20 2014-08-21 Sandisk Enterprise Ip Llc Bandwidth optimization in a non-volatile memory system
US20170046220A1 (en) 2015-08-11 2017-02-16 Sandisk Technologies Inc. Soft bit techniques for a data storage device

Also Published As

Publication number Publication date
KR20220146315A (ko) 2022-11-01
KR102639556B1 (ko) 2024-02-23
JP2022167776A (ja) 2022-11-04
US11456758B1 (en) 2022-09-27

Similar Documents

Publication Publication Date Title
JP5806792B2 (ja) フラッシュメモリ用のldpc消失復号化
US9425828B2 (en) Memory device and memory system
TWI612525B (zh) 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US8949690B2 (en) Memory controller
US8560926B2 (en) Data writing method, memory controller and memory storage apparatus
US9239754B2 (en) Single read based soft-decision decoding of non-volatile memory
US9136872B2 (en) Memory, memory system, and error checking and correcting method for memory
US11456754B2 (en) Fixed size soft bit lossy compression in flash memory
US9336081B2 (en) Data writing and reading method, and memory controller and memory storage apparatus using the same for improving reliability of data access
US10275186B2 (en) System and method of data compression and data shaping
US10636495B2 (en) Adjustable read retry order based on decoding success trend
US11146291B2 (en) Configuring iterative error correction parameters using criteria from previous iterations
US20210350867A1 (en) Compute an optimized read voltage
US11184033B2 (en) Data storage device
US20200234786A1 (en) Data reading method, storage controller and storage device
CN111383689A (zh) 可调nand写入性能
US11562801B2 (en) Determine signal and noise characteristics centered at an optimized read voltage
US20220246214A1 (en) One-Ladder Read of Memory Cells Coarsely Programmed via Interleaved Two-Pass Data Programming Techniques
US9009576B1 (en) Adaptive LLR based on syndrome weight
US11269704B2 (en) Memory system and control method thereof
JP7291816B2 (ja) フラッシュメモリにおける適応ソフトビット圧縮
CN117153232A (zh) 用于不规则低密度奇偶校验解码的跨列缩放的位翻转阈值
US11750218B2 (en) Iterative error correction with adjustable parameters after a threshold number of iterations
US20220199154A1 (en) Reading Memory Cells Coarsely Programmed via Interleaved Two-Pass Data Programming Techniques
CN107025940B (zh) 非易失性存储器装置及其实时自适应读取电压调整方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20220131

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20220209

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20220531

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230105

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20230105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20230227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20230314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230516

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230605

R150 Certificate of patent or registration of utility model

Ref document number: 7291816

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150