JP2015520907A - 半導体ディスクコントローラにおける0−1バランス管理 - Google Patents
半導体ディスクコントローラにおける0−1バランス管理 Download PDFInfo
- Publication number
- JP2015520907A JP2015520907A JP2015510441A JP2015510441A JP2015520907A JP 2015520907 A JP2015520907 A JP 2015520907A JP 2015510441 A JP2015510441 A JP 2015510441A JP 2015510441 A JP2015510441 A JP 2015510441A JP 2015520907 A JP2015520907 A JP 2015520907A
- Authority
- JP
- Japan
- Prior art keywords
- read
- threshold voltage
- volatile memory
- data
- bits
- 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
Links
- 239000004065 semiconductor Substances 0.000 title description 3
- 238000000034 method Methods 0.000 claims abstract description 115
- 238000012545 processing Methods 0.000 claims description 19
- 238000009826 distribution Methods 0.000 abstract description 140
- 238000003860 storage Methods 0.000 description 36
- 239000000872 buffer Substances 0.000 description 23
- 210000004027 cell Anatomy 0.000 description 23
- 238000011084 recovery Methods 0.000 description 18
- 230000009471 action Effects 0.000 description 16
- 230000006870 function Effects 0.000 description 15
- 238000013507 mapping Methods 0.000 description 15
- 238000005070 sampling Methods 0.000 description 15
- 230000004044 response Effects 0.000 description 12
- 238000004891 communication Methods 0.000 description 11
- 238000012005 ligant binding assay Methods 0.000 description 11
- 238000012937 correction Methods 0.000 description 10
- 239000004744 fabric Substances 0.000 description 10
- 230000008859 change Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 7
- 238000013459 approach Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000013403 standard screening design Methods 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- CXOXHMZGEKVPMT-UHFFFAOYSA-N clobazam Chemical compound O=C1CC(=O)N(C)C2=CC=C(Cl)C=C2N1C1=CC=CC=C1 CXOXHMZGEKVPMT-UHFFFAOYSA-N 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 239000003999 initiator Substances 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 230000000670 limiting effect Effects 0.000 description 3
- 229940044442 onfi Drugs 0.000 description 3
- 210000000352 storage cell Anatomy 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 230000006835 compression Effects 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000000047 product Substances 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 235000013599 spices Nutrition 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013519 translation Methods 0.000 description 2
- 230000014616 translation Effects 0.000 description 2
- 102100024406 60S ribosomal protein L15 Human genes 0.000 description 1
- 101001117935 Homo sapiens 60S ribosomal protein L15 Proteins 0.000 description 1
- 229910052581 Si3N4 Inorganic materials 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000032683 aging Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 239000006227 byproduct Substances 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011067 equilibration Methods 0.000 description 1
- 230000005294 ferromagnetic effect Effects 0.000 description 1
- 238000012886 linear function Methods 0.000 description 1
- 230000005291 magnetic effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000002156 mixing Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000012536 packaging technology Methods 0.000 description 1
- 229910021420 polycrystalline silicon Inorganic materials 0.000 description 1
- 229920005591 polysilicon Polymers 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- APTZNLHMIGJTEW-UHFFFAOYSA-N pyraflufen-ethyl Chemical compound C1=C(Cl)C(OCC(=O)OCC)=CC(C=2C(=C(OC(F)F)N(C)N=2)Cl)=C1F APTZNLHMIGJTEW-UHFFFAOYSA-N 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- HQVNEWCFYHHQES-UHFFFAOYSA-N silicon nitride Chemical compound N12[Si]34N5[Si]62N3[Si]51N64 HQVNEWCFYHHQES-UHFFFAOYSA-N 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 238000010408 sweeping Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
- 239000004557 technical material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/11—Error 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 using multiple parity bits
- H03M13/1102—Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1068—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1048—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding 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/1072—Adding 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0658—Controller construction arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/09—Error detection only, e.g. using cyclic redundancy check [CRC] codes or single parity bit
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/1515—Reed-Solomon codes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2206/00—Indexing scheme related to dedicated interfaces for computers
- G06F2206/10—Indexing scheme related to storage interfaces for computers, indexing schema related to group G06F3/06
- G06F2206/1014—One time programmable [OTP] memory, e.g. PROM, WORM
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/15—Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
- H03M13/151—Cyclic 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/152—Bose-Chaudhuri-Hocquenghem [BCH] codes
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/03—Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
- H03M13/05—Error 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/13—Linear codes
- H03M13/19—Single error correction without using particular properties of the cyclic codes, e.g. Hamming codes, extended or generalised Hamming codes
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Quality & Reliability (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Algebra (AREA)
- Pure & Applied Mathematics (AREA)
- Read Only Memory (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Error Detection And Correction (AREA)
Abstract
Description
この前書きは、「発明を実施するための形態」のより迅速な理解を促進するためだけに含まれており、いずれの前書きの段落も、必然的に、主題全体を要約したものであり、包括的または制限的記述であることは意図されないため、本発明は、前書き(もしあれば、明示的な例を含む)内に提示される概念に限定されない。例えば、続く前書きは、スペースおよび構成によって特定の実施形態のみに限定された、概略情報を提供する。最終的に特許請求の範囲が導き出されるものを含む、多くの他の実施形態が存在し、明細書のバランスを通して記載される。
ここに定義される様々な省略語(例えば、頭字語)のうちの少なくともいくつかは、本明細書で使用される特定の要素を指す。
以下の、0および1のカウントの追跡および管理、ならびに0状態および1状態を区別するために使用される読み出し閾値のシフトの最初の記載は、SLCメモリおよび(わずかな変化では、述べられたように)MLCメモリのより下位のページに直接適用可能である。MLCメモリに関してより一般的には、より上位のページのカウントの追跡および管理、ならびに複数の読み出し閾値(例えば、読み出し電圧基準VREAD1、VREAD2、およびVREAD3)のシフトのための拡張は、以下の別個の段落に詳述される。
さらなる実施形態では、読み出し閾値「読み出し均衡点」を発見するために、二分探索のような動作(適切な読み出し電圧基準のそれぞれの値で、同一の読み出し単位を反復的にサンプリングする)が使用される。これは、閾値電圧軸上の隣接する閾値電圧分布間の点であり、読み出すと、エラーの統計的マージン内で、書き込まれる統計的状態分布またはその理想的なモデルと合致する、生データ(エラー訂正前)の統計的状態分布をもたらす。
MLCメモリでは、複数の読み出し閾値が管理される。いくつかの実施形態では、これは、複数のデバイス閾値電圧分布の均一な変位を想定し、より下位のページの読み出しデータの0/1バランスに基づく第1の読み出し閾値(VREAD1)に対して行われる決定に基づき、すべての他の読み出し閾値を変化させることによって実施される。
いくつかの実施形態では、軟判定ベースのデコーディングを実施するために、NVMから軟判定情報が取得される。軟判定情報は、読み出し単位のデータの複数のサンプルを取得するために、公称(未調節の)読み出し閾値の周囲の様々な読み出し閾値のサンプリング点(SLCでは、VREAD1の値)で、読み出し単位(または1つのNVMダイから1回に転送される読み出し単位の各グループ)を読み出し、したがって、読み出し単位の各ビットの値の軟判定尤度を構築することによって取得される。サンプルの間隔は、少なくとも一部において、その電荷状態の公称分離等の使用されるNVMの特定の特性に依存する。
いくつかの実施形態では、好ましい読み出し閾値を発見する別の手法は、2つの点を発見する代わりに、各隣接する閾値電圧分布上に1つの点を発見し、補間によって、これらの2つの点の間の中点を判定する。例えば、各閾値電圧分布のピークでのサンプリングは、読み出しデータの0/1(またはどちらのピークかによって1/0)の75/25バランスをもたらすべきである。いったん2つのピークが識別されると、閾値電圧軸上の2つの点の間の計算された中点が、新しい読み出し閾値を設定するために使用される。
前書きから発明を実施するための形態の結びにおいて、本明細書に記載される概念による、様々な実施形態のタイプの追加の説明を提供する、少なくともいくつかの明白に「EC」(組み合わせ例)として列挙されるものを含む、実施形態例の集合が続き、これらの実施例は、相互排他的であること、包括的であること、または制限的であることは意図されず、本発明は、これらの実施形態例に限定されず、むしろ、発行される特許請求の範囲の範囲内のすべての可能な修正物および変形物、ならびにそれらの均等物を包含する。
NVMの少なくとも1つ以上の読み出しの0の数と1の数との間の不一致を判定するステップと、
該NVMからの訂正不可能な読み出しに応えて、少なくとも一部において、該判定された不一致に基づき、閾値電圧を選択的にシフトさせるステップを介して、後続の不一致を低減するステップと、
を含む、方法。
該NVMは、複数個の状態を有するMLCメモリであり、該状態のそれぞれは、所定のグレーコードマッピングに従う、関連付けられたMSBおよびLSB値を有し、該NVMの該1つ以上の読み出しは、MSB読み出しであり、
不一致を判定するステップは、該MSB読み出しのデータを選択的に反転させるために、該1つ以上のMSB読み出しに対応するLSB読み出しを使用するステップを含む、
EC1に記載の方法。
該NVMからの訂正不可能な読み出しに応えて、少なくとも一部において、該判定された不一致に基づき、閾値電圧を選択的にシフトさせるステップを介して、後続の不一致を低減するための手段と、
を備える、デバイス。
該NVMは、複数個の状態を有するMLCメモリであり、該状態のそれぞれは、所定のグレーコードマッピングに従う、関連付けられたMSBおよびLSB値を有し、該NVMの該1つ以上の読み出しは、MSB読み出しであり、
該不一致を判定するための手段は、該MSB読み出しのデータを選択的に反転させるために、該1つ以上のMSB読み出しに対応するLSB読み出しを使用するための手段を備える、
EC17に記載のデバイス。
周期的に、該NVMからの訂正不可能な読み出しに応えて、少なくとも一部において、該シフトの前に判定される該不一致のうちの少なくとも1つに基づき、少なくとも1つの読み出し閾値電圧を選択的にシフトさせるステップと、
を含む、方法。
該NVMは、複数個の状態を有するMLCメモリであり、該状態のそれぞれは、所定のグレーコードマッピングに従う、関連付けられたMSBおよびLSB値を有し、該NVMから読み出される該値では、該読み出しは、MSB読み出しであり、
該不一致を判定するステップは、該MSB読み出しのデータを選択的に反転させるために、該1つ以上のMSB読み出しに対応するLSB読み出しを使用するステップを含む、
EC25に記載の方法。
不一致を判定するための手段であって、該不一致のそれぞれは、それぞれの大きさを有し、NVMに記憶されている値および該NVMから読み出されるそれぞれの値のそれぞれの既知の分布のそれぞれの不一致である、手段と、
周期的に、該NVMからの訂正不可能な読み出しに応えて、少なくとも一部において、該シフトの前に判定される該不一致のうちの少なくとも1つに基づき、少なくとも1つの読み出し閾値電圧を選択的にシフトさせるための手段と、
を備える、デバイス。
NVMから読み出されるデータの1つ以上の部分のそれぞれの0のカウントと1のカウントの差を判定するステップであって、
読み出し閾値の複数個の読み出し基準電圧設定のそれぞれで、該判定するステップが実施され、該差が計算される、ステップと、
閾値の中心点を計算するために、該計算された差の補間を使用するステップと、
少なくとも一部において、該計算された閾値の中心点に基づき、該読み出し閾値を、更新された読み出し基準電圧設定にシフトさせるステップと、
を含む、方法。
NVMから読み出されるデータの1つ以上の部分のそれぞれの0のカウントと1のカウントの差を判定するための手段であって、読み出し閾値の複数個の読み出し基準電圧設定のそれぞれで、該判定が実施され、該差が計算される、手段と、
閾値の中心点を計算するために、該計算された差の補間を使用するための手段と、
少なくとも一部において、該計算された閾値の中心点に基づき、該読み出し閾値を、更新された読み出し基準電圧設定にシフトさせるための手段と、
を備える、デバイス。
複数個の閾値電圧のそれぞれで、同一の読み出し単位のデータを読み出すステップと、
該同一の読み出し単位の各読み出しの0の読み出しカウントおよび1の読み出しカウントを判定するステップと、
少なくとも一部において、該読み出しカウントに基づき、閾値の中心点を計算するステップと、
少なくとも一部において、該読み出されたデータおよび該計算された閾値の中心点に基づき、軟判定情報を生成するステップと、
を含む、方法。
複数個の閾値電圧のそれぞれで、同一の読み出し単位のデータを読み出すための手段と、
該同一の読み出し単位の各読み出しの0の読み出しカウントおよび1の読み出しカウントを判定するための手段と、
少なくとも一部において、該読み出しカウントに基づき、閾値の中心点を計算するための手段と、
少なくとも一部において、該読み出されたデータおよび該計算された閾値の中心点に基づき、軟判定情報を生成するための手段と、
を備える、デバイス。
複数個の閾値電圧のそれぞれで、同一の読み出し単位のデータを読み出すステップと、
該同一の読み出し単位の各読み出しの0のカウントおよび1のカウントを判定するステップと、
少なくとも一部において、該読み出しカウントに基づき、該複数個の閾値電圧のうちの 中心点に最も近い閾値電圧を識別するステップであって、該中心点に最も近い閾値電圧は、概念的閾値の中心点に対応する、ステップと、
少なくとも一部において、該読み出されるデータおよび該識別された中心点に最も近い閾値電圧に基づき、軟判定情報を生成するステップと、
を含む、方法。
複数個の閾値電圧のそれぞれで、同一の読み出し単位のデータを読み出すための手段と、
該同一の読み出し単位の各読み出しの0のカウントおよび1のカウントを判定するための手段と、
少なくとも一部において、該読み出しカウントに基づき、該複数個の閾値電圧のうちの中心点に最も近い閾値電圧を識別するための手段であって、該中心点に最も近い閾値電圧は、概念的閾値の中心点に対応する、手段と、
少なくとも一部において、読み出される該データおよび該識別された中心点に最も近い閾値電圧に基づき、軟判定情報を生成するための手段と、
を備える、デバイス。
NVMにデータを記憶するステップであって、該記憶されるデータは、特定の0−1バランスを有する、ステップと、
0のカウントおよび1のカウントを維持するステップであって、該0のカウントおよび該1のカウントは、読み出しカウントである、ステップと、
該0のカウント、該1のカウント、および該特定の0−1バランスの関数として、該NVMの0−1バランスを評価するステップと、
該NVMからの訂正不可能な読み出し、および該0−1バランスが指定範囲外であるという判定の後に、該閾値電圧を、少なくとも一部において、該評価に基づき、該閾値電圧の可能な限り少ないシフトで該0−1バランスを該指定範囲内に回復するという目標に従って判定される値にシフトさせるステップと、
を含み、
該NVMからのデータ復元が、最適化される、
方法。
該閾値電圧の該シフトは、該0−1バランスが該特定の0−1バランスに対して過度の1を含むという判定に基づき、より低い電圧へのシフトであり、
該閾値電圧の該シフトは、該0−1バランスが該特定の0−1バランスに対して過度の0を含むという判定に基づき、より高い電圧へのシフトである、
EC74に記載の方法。
データをNVMに記憶するための手段であって、該記憶されるデータは、特定の0−1バランスを有する、手段と、
0のカウントおよび1のカウントを維持するための手段であって、該0のカウントおよび該1のカウントは、読み出しカウントである、手段と、
該0のカウント、該1のカウント、および該特定の0−1バランスの関数として、該NVMの0−1バランスを評価するための手段と、
該NVMからの訂正不可能な読み出し、および該0−1バランスが指定範囲外であるという判定の後に、該閾値電圧を、少なくとも一部において、該評価に基づき、該閾値電圧の可能な限り少ないシフトで該0−1バランスを該指定範囲内に回復するという目標に従って判定される値にシフトさせるための手段と、
を含み、
該NVMからのデータ復元が、最適化される、
デバイス。
該閾値電圧の該シフトは、該0−1バランスが該特定の0−1バランスに対して過度の1を含むという判定に基づき、より低い電圧へのシフトであり、
該閾値電圧の該シフトは、該0−1バランスが該特定の0−1バランスに対して過度の0を含むという判定に基づき、より高い電圧へのシフトである、
EC80に記載のデバイス。
不揮発性メモリの一部分に書き込まれるデータをスクランブルして、既知の統計的平均数の0のビットと、既知の統計的平均数の1のビットとを有するスクランブルされたデータを発生させるステップと、
該スクランブルされたデータを該不揮発性メモリの該部分に書き込むステップと、
該書き込むステップの後に、該不揮発性メモリの該部分を読み出すステップと、
該不揮発性メモリの該部分から読み出されるデータの0のビット数と1のビット数との間の不一致を演算するステップと、
少なくとも一部において、該不一致に基づき、該不揮発性メモリの後続の読み出しのための閾値電圧を判定するステップと、
を含む、方法。
該不揮発性メモリの該部分を、該閾値電圧を使用して再読み出しするステップ
をさらに含む、EC86に記載の方法。
該再読み出しするステップの前に、ECCデコーダを用いて、該不揮発性メモリの該部分から読み出された該データをデコードして、該不揮発性メモリの該部分から読み出された該データが訂正不可能であると判定するステップをさらに含む、
EC88に記載の方法。
該ECCデコーダを用いて、該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされたデータをデコードして、該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされた該データが訂正不可能であると判定するステップと、
該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされた該データの0のビット数と1のビット数との間の第2の不一致を演算するステップと、
少なくとも一部において、該第1の不一致および該第2の不一致に基づき、該不揮発性メモリの第2の再読み出しのための第2の閾値電圧を判定するステップと、
をさらに含む、EC89に記載の方法。
該不揮発性メモリの該部分を、該第2の閾値電圧を使用して再読み出しするステップ
をさらに含む、EC90に記載の方法。
不揮発性メモリの一部分に書き込まれるデータをスクランブルして、既知の統計的平均数の0のビットと、既知の統計的平均数の1のビットとを有するスクランブルされたデータを発生させるための手段と、
該スクランブルされたデータを該不揮発性メモリの該部分に書き込むための手段と、
該書き込みの後に、該不揮発性メモリの該部分を読み出すための手段と、
該不揮発性メモリの該部分から読み出されるデータの0のビット数と1のビット数との間の不一致を演算するための手段と、
少なくとも一部において、該不一致に基づき、該不揮発性メモリの後続の読み出しのための閾値電圧を判定するための手段と、
を備える、デバイス。
該不揮発性メモリの該部分を、該閾値電圧を使用して再読み出しするための手段
をさらに備える、EC93に記載のデバイス。
該再読み出しの前に、ECCデコーダを用いて、該不揮発性メモリの該部分から読み出された該データをデコードして、該不揮発性メモリの該部分から読み出された該データが訂正不可能であると判定するための手段
をさらに備える、EC95に記載のデバイス。
該ECCデコーダを用いて、該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされたデータをデコードして、該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされた該データが訂正不可能であると判定するための手段と、
該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされた該データの0のビット数と1のビット数との間の第2の不一致を演算するための手段と、
少なくとも一部において、該第1の不一致および該第2の不一致に基づき、該不揮発性メモリの第2の再読み出しのための第2の閾値電圧を判定するための手段と、
をさらに備える、EC96に記載のデバイス。
不揮発性メモリの一部分に書き込まれるデータをスクランブルして、既知の統計的平均数の0のビットと、既知の統計的平均数の1のビットとを有するスクランブルされたデータを発生させる動作と、
該スクランブルされたデータを該不揮発性メモリの該部分に書き込む動作と、
該書き込みの後に、該不揮発性メモリの該部分を読み出す動作と、
該不揮発性メモリの該部分から読み出されるデータの0のビット数と1のビット数との間の不一致を演算する動作と、
少なくとも一部において、該不一致に基づき、該不揮発性メモリの後続の読み出しのための閾値電圧を判定する動作と、
を含む動作を実施および/または制御させる、
有形のコンピュータ可読媒体。
該不揮発性メモリの該部分を、該閾値電圧を使用して再読み出しする動作
をさらに含む、EC100に記載の有形のコンピュータ可読媒体。
該再読み出しの前に、ECCデコーダを用いて、該不揮発性メモリの該部分から読み出された該データをデコードして、該不揮発性メモリの該部分から読み出された該データが訂正不可能であると判定する動作
をさらに含む、EC102に記載の有形のコンピュータ可読媒体。
該ECCデコーダを用いて、該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされたデータをデコードして、該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされた該データが訂正不可能であると判定する動作と、
該不揮発性メモリの該部分から該第1の閾値電圧を使用して再読み出しされた該データの0のビット数と1のビット数との間の第2の不一致を演算する動作と、
少なくとも一部において、該第1の不一致および該第2の不一致に基づき、該不揮発性メモリの第2の再読み出しのための第2の閾値電圧を判定する動作と、
をさらに含む、EC103に記載の有形のコンピュータ可読媒体。
該不揮発性メモリの該部分を、該第2の閾値電圧を使用して再読み出しする動作
をさらに含む、EC104に記載の有形のコンピュータ可読媒体。
図1Aは、NVM要素(例えば、フラッシュメモリ)を介して実現されるもの等の不揮発性ストレージを管理するために0/1バランス回復を使用するSSDコントローラを含む、SSD101の実施形態の選択された詳細を図示する。SSDコントローラ100は、1つ以上の外部インターフェース110を介して、ホスト(図1Bのホスト102等)に通信可能に連結される。様々な実施形態によると、外部インターフェース110は、SATAインターフェース、SASインターフェース、PCIeインターフェース、ファイバチャネルインターフェース、イーサネット(登録商標)インターフェース(10ギガビットイーサネット(登録商標)等)、前述のインターフェースのいずれかの非標準版、カスタムインターフェース、あるいはストレージおよび/もしくはコンピューティングデバイスの相互接続ならびに/または通信のために使用される任意の他のタイプのインターフェースのうちの1つ以上である。例えば、いくつかの実施形態では、SSDコントローラ100は、SATAインターフェースと、PCIeインターフェースとを含む。
図2Aから図2Dは、「0/1」バランス回復に関する閾値電圧分布を図示する。この考察のために、各丘のような隆起は、NVMの読み出し単位サイズの部分のそれぞれの状態の閾値電圧確率分布を表す独立したガウス様曲線を抽象化したものである。閾値電圧軸は、右に正の電圧が増加するように引かれる。プロットが、NVMのより大きい集団により一般的に適用されるように、絶対尺度は、意図的に提供されておらず、また、基準点も識別されていない。図2Aおよび図2Bは、SLC固有であり、一方、図2Cおよび図2Dは、MLC固有である。
図3Aは、特定の機能を強調するように、選択される論理ブロックの境界を引き直した、図1Aおよび図1BのSSD101、SSDコントローラ100、ならびにNVM199の代替図を提供する。最高水準のSSD101は、外部インターフェース110、SSDコントローラ100、NVM199、およびデバイスインターフェース190を特長とする。
図4は、図1A、図1B、および図3AのSSDの実施形態の選択される制御フローの詳細を図示し、書き込み関連動作および読み出し関連動作に関する特定の詳細を提供する。書き込み動作は、アクション410で開始し、430まで続く。戻り経路は明白に描写されていないが、後続の書き込み動作は、再びアクション410で開始する。同様に、読み出し動作は、アクション440で開始し、460まで続き、条件によっては480まで続く。戻り経路は明白に描写されていないが、後続の読み出し動作は、再びアクション440で開始する。少なくとも初期の書き込みは、同一位置に対する読み出しに先行することが想定される。そうでなければ、試験などの人為的な場合を除き、同一の位置または概して異なる位置への読み出し動作および書き込み動作は、一般的に、アプリケーションのニーズが指図する際に独立して呼び出される。そうは言うものの、ヒューリスティックな実施例では、最初の読み出し動作440は、概念的に、同一の位置への最後の書き込み動作430の直後に続く。
いくつかの実施形態では、例えば、フラッシュメモリ、コンピューティングホストフラッシュメモリコントローラ、および/もしくはSSDコントローラ(図1AのSSDコントローラ100等)、ならびにプロセッサ、マイクロプロセッサ、システムオンチップ、アプリケーション専用集積回路、ハードウェアアクセラレータ、または前述の動作のすべてもしくは部分を提供する他の回路の部を伴う、0−1のバランスがとられたSSDによって実施される動作のすべてまたは部分の様々な組み合わせは、コンピュータシステムによる処理と互換性のある仕様によって指定される。仕様は、ハードウェア記述言語、回路記述、ネットリスト記述、マスク記述、またはレイアウト記述等の様々な記述に従う。記述例には、Verilog、VHDL、SPICE、PSpice、IBIS、LEF、DEF、GDS−II、OASIS等のSPICEの異版、または他の記述が挙げられる。様々な実施形態では、処理は、1つ以上の集積回路上に含むのに好適な論理および/または回路をもたらす、検証する、または指定する、解釈、コンパイル、シミュレーション、および合成の任意の組み合わせを含む。様々な実施形態によると、各集積回路は、様々な技法に従って設計可能および/または製造可能である。技法には、プログラマブル技法(フィールドもしくはマスクプログラマブルゲートアレイ集積回路等)、セミカスタム技法(完全に、もしくは部分的にセルベースの集積回路等)、ならびにフルカスタム技法(実質的に特化された集積回路等)、それらの任意の組み合わせ、または集積回路の設計および/もしくは製造に適合する任意の他の技法が挙げられる。
単に文章および図面の準備における便宜のために、特定の選択が行われてきており、そうではないと示されていない限り、選択は、それ自体が、記載される実施形態の構造または動作に関する追加の情報を伝達すると解釈されるべきではない。選択の例には、図面の番号付与に使用される特定の記号表示の構成または割り当て、ならびに実施形態の特長および要素を識別し、参照するために使用される要素識別子の特定の構成または割り当て(例えば、付記もしくは番号表示)が挙げられる。
Claims (20)
- 不揮発性メモリの一部分に書き込まれるデータをスクランブルして、既知の統計的平均数の0のビットと、既知の統計的平均数の1のビットとを有するスクランブルされたデータを発生させるステップと、
前記スクランブルされたデータを前記不揮発性メモリの前記部分に書き込むステップと、
前記書き込むステップの後に、前記不揮発性メモリの前記部分を読み出すステップと、
前記不揮発性メモリの前記部分から読み出されるデータの0のビット数と1のビット数との間の不一致を演算するステップと、
少なくとも一部において、前記不一致に基づき、前記不揮発性メモリの後続の読み出しのための閾値電圧を判定するステップと、
を含む、方法。 - 前記演算するステップは、0のビットの予想数と前記不揮発性メモリの前記部分から読み出された前記データの0のビット数との間の差を評価するステップを含む、請求項1に記載の方法。
- 前記判定は、0のビットの前記既知の統計的平均数または1のビットの前記既知の統計的平均数にさらに基づく、請求項1に記載の方法。
- 前記不揮発性メモリの前記部分を、前記閾値電圧を使用して再読み出しするステップ
をさらに含む、請求項1に記載の方法。 - 前記書き込むステップは、ECCエンコーダを用いて、前記スクランブルされたデータをエンコードし、前記エンコードされたスクランブルされたデータを前記不揮発性メモリの前記部分に書き込むステップを含み、
前記再読み出しするステップの前に、ECCデコーダを用いて、前記不揮発性メモリの前記部分から読み出された前記データをデコードして、前記不揮発性メモリの前記部分から読み出された前記データが訂正不可能であると判定するステップ
をさらに含む、請求項4に記載の方法。 - 前記不一致は、第1の不一致であり、前記閾値電圧は、第1の閾値電圧であり、
前記ECCデコーダを用いて、前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされたデータをデコードして、前記前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされたデータが訂正不可能であると判定するステップと、
前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされた前記データの0のビット数と1のビット数との間の第2の不一致を演算するステップと、
少なくとも一部において、前記第2の不一致に基づき、前記不揮発性メモリの第2の再読み出しのための第2の閾値電圧を判定するステップと、
をさらに含む、請求項5に記載の方法。 - 前記不揮発性メモリの前記部分を、前記第2の閾値電圧を使用して再読み出しするステップ
をさらに含む、請求項6に記載の方法。 - 前記ECCエンコーダは、前記スクランブルされたデータに1バイト以上を追加し、前記ECCエンコーダによって追加される前記1バイト以上は、前記既知の統計的平均数の0のビットと、前記既知の統計的平均数の1のビットとを有する、請求項5に記載の方法。
- 不揮発性メモリの一部分に書き込まれるデータをスクランブルして、既知の統計的平均数の0のビットと、既知の統計的平均数の1のビットとを有するスクランブルされたデータを発生させるための手段と、
前記スクランブルされたデータを前記不揮発性メモリの前記部分に書き込むための手段と、
前記書き込みの後に、前記不揮発性メモリの前記部分を読み出すための手段と、
前記不揮発性メモリの前記部分から読み出されるデータの0のビット数と1のビット数との間の不一致を演算するための手段と、
少なくとも一部において、前記不一致に基づき、かつ、少なくとも一部において、0のビットの前記既知の統計的平均数または1のビットの前記既知の統計的平均数に基づき、前記不揮発性メモリの後続の読み出しのための閾値電圧を判定するための手段と、
を備える、デバイス。 - 前記不揮発性メモリの前記部分を、前記閾値電圧を使用して再読み出しするための手段
をさらに備える、請求項9に記載のデバイス。 - 前記書き込みは、ECCエンコーダを用いて、前記スクランブルされたデータをエンコードし、前記エンコードされたスクランブルされたデータを前記不揮発性メモリの前記部分に書き込むことを含み、
前記再読み出しの前に、ECCデコーダを用いて、前記不揮発性メモリの前記部分から読み出された前記データをデコードして、前記不揮発性メモリの前記部分から読み出された前記データが訂正不可能であると判定するための手段
をさらに備える、請求項10に記載のデバイス。 - 前記不一致は、第1の不一致であり、前記閾値電圧は、第1の閾値電圧であり、
前記ECCデコーダを用いて、前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされたデータをデコードして、前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされた前記データが訂正不可能であると判定するための手段と、
前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされた前記データの0のビット数と1のビット数との間の第2の不一致を演算するための手段と、
少なくとも一部において、前記第2の不一致に基づき、前記不揮発性メモリの第2の再読み出しのための第2の閾値電圧を判定するための手段と、
前記不揮発性メモリの前記部分を、前記第2の閾値電圧を使用して再読み出しするための手段と、
をさらに備える、請求項11に記載のデバイス。 - 前記ECCエンコーダは、前記スクランブルされたデータに1バイト以上を追加し、前記ECCエンコーダによって追加される前記1バイト以上は、前記既知の統計的平均数の0のビットと、前記既知の統計的平均数の1のビットとを有する、請求項11に記載のデバイス。
- 命令セットが記憶されている有形のコンピュータ可読媒体であって、前記命令セットは、処理要素によって実行される際、前記処理要素に、
不揮発性メモリの一部分に書き込まれるデータをスクランブルして、既知の統計的平均数の0のビットと、既知の統計的平均数の1のビットとを有するスクランブルされたデータを発生させる動作と、
前記スクランブルされたデータを前記不揮発性メモリの前記部分に書き込む動作と、
前記書き込みの後に、前記不揮発性メモリの前記部分を読み出す動作と、
前記不揮発性メモリの前記部分から読み出されるデータの0のビット数と1のビット数との間の不一致を演算する動作と、
少なくとも一部において、前記不一致に基づき、前記不揮発性メモリの後続の読み出しのための閾値電圧を判定する動作と、
を含む動作を実施および/または制御させる、有形のコンピュータ可読媒体。 - 前記判定は、0のビットの前記既知の統計的平均数または1のビットの前記既知の統計的平均数にさらに基づく、請求項14に記載の有形のコンピュータ可読媒体。
- 前記動作は、
前記不揮発性メモリの前記部分を、前記閾値電圧を使用して再読み出しする動作
をさらに含む、請求項14に記載の有形のコンピュータ可読媒体。 - 前記書き込みは、ECCエンコーダを用いて、前記スクランブルされたデータをエンコードし、前記エンコードされたスクランブルされたデータを前記不揮発性メモリの前記部分に書き込むことを含み、前記動作は、
前記再読み出しの前に、ECCデコーダを用いて、前記不揮発性メモリの前記部分から読み出された前記データをデコードして、前記不揮発性メモリの前記部分から読み出された前記データが訂正不可能であると判定する動作
をさらに含む、請求項16に記載の有形のコンピュータ可読媒体。 - 前記不一致は、第1の不一致であり、前記閾値電圧は、第1の閾値電圧であり、前記動作は、
前記ECCデコーダを用いて、前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされたデータをデコードして、前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされた前記データが訂正不可能であると判定する動作と、
前記不揮発性メモリの前記部分から前記第1の閾値電圧を使用して再読み出しされた前記データの0のビット数と1のビット数との間の第2の不一致を演算する動作と、
少なくとも一部において、前記第2の不一致に基づき、前記不揮発性メモリの第2の再読み出しのための第2の閾値電圧を判定する動作と、
をさらに含む、請求項17に記載の有形のコンピュータ可読媒体。 - 前記動作は、
前記不揮発性メモリの前記部分を、前記第2の閾値電圧を使用して再読み出しする動作
をさらに含む、請求項18に記載の有形のコンピュータ可読媒体。 - 前記ECCエンコーダは、前記スクランブルされたデータに1バイト以上を追加し、前記ECCエンコーダによって追加される前記1バイト以上は、前記既知の統計的平均数の0のビットと、前記既知の統計的平均数の1のビットとを有する、請求項17に記載の有形のコンピュータ可読媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/464,433 US8839073B2 (en) | 2012-05-04 | 2012-05-04 | Zero-one balance management in a solid-state disk controller |
US13/464,433 | 2012-05-04 | ||
PCT/US2013/039138 WO2013166200A1 (en) | 2012-05-04 | 2013-05-01 | Zero-one balance management in a solid-state disk controller |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2015520907A true JP2015520907A (ja) | 2015-07-23 |
JP2015520907A5 JP2015520907A5 (ja) | 2016-06-23 |
JP6163540B2 JP6163540B2 (ja) | 2017-07-12 |
Family
ID=49513581
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2015510441A Expired - Fee Related JP6163540B2 (ja) | 2012-05-04 | 2013-05-01 | 半導体ディスクコントローラにおける0−1バランス管理 |
Country Status (7)
Country | Link |
---|---|
US (3) | US8839073B2 (ja) |
EP (1) | EP2845198A4 (ja) |
JP (1) | JP6163540B2 (ja) |
KR (1) | KR101754653B1 (ja) |
CN (1) | CN107094370B (ja) |
TW (1) | TWI612524B (ja) |
WO (1) | WO2013166200A1 (ja) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018194948A (ja) * | 2017-05-15 | 2018-12-06 | ラピスセミコンダクタ株式会社 | 半導体記憶装置、メモリコントローラ及びメモリの監視方法 |
US10719396B2 (en) | 2018-03-19 | 2020-07-21 | Toshiba Memory Corporation | Memory system |
JP2023518243A (ja) * | 2020-03-18 | 2023-04-28 | マイクロン テクノロジー,インク. | メモリサブシステムにおけるプログラムされたビット数に基づいて読み出し電圧レベルを調整すること |
US11854638B2 (en) | 2021-02-08 | 2023-12-26 | Megachips Corporation | Nonvolatile semiconductor storage device and read voltage correction method |
Families Citing this family (107)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101541040B1 (ko) | 2010-03-12 | 2015-08-03 | 엘에스아이 코포레이션 | 플래시 메모리들을 위한 ldpc 소거 디코딩 |
US8719663B2 (en) | 2010-12-12 | 2014-05-06 | Lsi Corporation | Cross-decoding for non-volatile storage |
US8839073B2 (en) | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
US8938659B2 (en) * | 2012-05-04 | 2015-01-20 | Lsi Corporation | Low-density parity-check decoder disparity preprocessing |
US8879325B1 (en) * | 2012-05-30 | 2014-11-04 | Densbits Technologies Ltd. | System, method and computer program product for processing read threshold information and for reading a flash memory module |
US8923062B1 (en) * | 2012-07-06 | 2014-12-30 | Sk Hynix Memory Solutions Inc. | Generating read thresholds using gradient descent and without side information |
US8856431B2 (en) | 2012-08-02 | 2014-10-07 | Lsi Corporation | Mixed granularity higher-level redundancy for non-volatile memory |
US9086982B1 (en) * | 2012-08-15 | 2015-07-21 | Marvell International Ltd. | Adjusting bit reliability information input for decoding stored data |
US9671962B2 (en) | 2012-11-30 | 2017-06-06 | Sandisk Technologies Llc | Storage control system with data management mechanism of parity and method of operation thereof |
US8913442B2 (en) * | 2012-12-21 | 2014-12-16 | Elite Semiconductor Memory Technology Inc. | Circuit for sensing MLC flash memory |
US9548135B2 (en) | 2013-03-11 | 2017-01-17 | Macronix International Co., Ltd. | Method and apparatus for determining status element total with sequentially coupled counting status circuits |
US9478271B2 (en) * | 2013-03-14 | 2016-10-25 | Seagate Technology Llc | Nonvolatile memory data recovery after power failure |
KR102131802B1 (ko) * | 2013-03-15 | 2020-07-08 | 삼성전자주식회사 | 비휘발성 메모리 장치의 데이터 독출 방법, 비휘발성 메모리 장치, 및 메모리 시스템의 구동 방법 |
US10049037B2 (en) | 2013-04-05 | 2018-08-14 | Sandisk Enterprise Ip Llc | Data management in a storage system |
US9543025B2 (en) | 2013-04-11 | 2017-01-10 | Sandisk Technologies Llc | Storage control system with power-off time estimation mechanism and method of operation thereof |
KR20140146333A (ko) * | 2013-06-17 | 2014-12-26 | 삼성전자주식회사 | 메모리 컨트롤러와 이의 동작 방법 |
US9489299B2 (en) | 2013-06-19 | 2016-11-08 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
US9489294B2 (en) | 2013-06-19 | 2016-11-08 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
US9489300B2 (en) * | 2013-06-19 | 2016-11-08 | Sandisk Technologies Llc | Data encoding for non-volatile memory |
KR102076231B1 (ko) * | 2013-07-09 | 2020-02-12 | 에스케이하이닉스 주식회사 | 데이터 저장 장치, 그것의 동작 방법 및 그것을 포함하는 데이터 처리 시스템 |
US9431113B2 (en) | 2013-08-07 | 2016-08-30 | Sandisk Technologies Llc | Data storage system with dynamic erase block grouping mechanism and method of operation thereof |
US20150074492A1 (en) * | 2013-09-11 | 2015-03-12 | Kabushiki Kaisha Toshiba | Memory system and memory controller |
US9164837B2 (en) * | 2013-09-12 | 2015-10-20 | Seagate Technology Llc | Transfer unit management |
US9213599B2 (en) * | 2013-09-18 | 2015-12-15 | Seagate Technology Llc | Method of erase state handling in flash channel tracking |
CN105474179B (zh) * | 2013-09-25 | 2018-09-18 | 英特尔公司 | 具有分布变换器的存储器控制器 |
US9747157B2 (en) * | 2013-11-08 | 2017-08-29 | Sandisk Technologies Llc | Method and system for improving error correction in data storage |
US9209835B2 (en) | 2013-11-27 | 2015-12-08 | Seagate Technology Llc | Read retry for non-volatile memories |
US9582354B2 (en) * | 2014-01-28 | 2017-02-28 | Infineon Technologies Ag | Apparatus and method for improving data storage by data inversion |
US9454551B2 (en) * | 2014-03-13 | 2016-09-27 | NXGN Data, Inc. | System and method for management of garbage collection operation in a solid state drive |
US9354822B2 (en) * | 2014-03-13 | 2016-05-31 | NXGN Data, Inc. | Programmable data read management system and method for operating the same in a solid state drive |
US9448745B2 (en) | 2014-03-13 | 2016-09-20 | NXGN Data, Inc. | Configurable read-modify-write engine and method for operating the same in a solid state drive |
TWI540586B (zh) | 2014-04-15 | 2016-07-01 | 群聯電子股份有限公司 | 解碼方法、記憶體儲存裝置、記憶體控制電路單元 |
US9384128B2 (en) * | 2014-04-18 | 2016-07-05 | SanDisk Technologies, Inc. | Multi-level redundancy code for non-volatile memory controller |
KR102174030B1 (ko) * | 2014-05-13 | 2020-11-05 | 삼성전자주식회사 | 불휘발성 메모리 장치를 포함하는 저장 장치 및 그것의 읽기 방법 |
KR102249810B1 (ko) | 2014-07-23 | 2021-05-11 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
GB2530043A (en) | 2014-09-10 | 2016-03-16 | Ibm | Device and method for storing data in a plurality of multi-level cell memory chips |
US9251909B1 (en) * | 2014-09-29 | 2016-02-02 | International Business Machines Corporation | Background threshold voltage shifting using base and delta threshold voltage shift values in flash memory |
TWI559314B (zh) * | 2014-12-27 | 2016-11-21 | 群聯電子股份有限公司 | 記憶體管理方法、記憶體儲存裝置及記憶體控制電路單元 |
US9224492B1 (en) * | 2015-02-17 | 2015-12-29 | Phison Electronics Corp. | Memory management method, memory storage device and memory controlling circuit unit |
US9811420B2 (en) * | 2015-03-27 | 2017-11-07 | Intel Corporation | Extracting selective information from on-die dynamic random access memory (DRAM) error correction code (ECC) |
CN106155812A (zh) | 2015-04-28 | 2016-11-23 | 阿里巴巴集团控股有限公司 | 一种对虚拟主机的资源管理的方法、装置、系统及电子设备 |
US10121013B2 (en) | 2015-05-07 | 2018-11-06 | Samsung Electronics Co., Ltd. | XOR-based scrambler/descrambler for SSD communication protocols |
KR102519663B1 (ko) * | 2015-07-31 | 2023-04-07 | 삼성전자주식회사 | 스토리지 장치, 스토리지 장치를 포함하는 시스템 및 그것의 동작 방법 |
CN105183371A (zh) * | 2015-08-14 | 2015-12-23 | 山东大学 | 基于迁移均衡策略的用电信息分布式文件存储方法与装置 |
US9865338B2 (en) | 2015-09-02 | 2018-01-09 | Toshiba Memory Corporation | Memory system and method of controlling nonvolatile memory by converting write data written to a page |
US10192614B2 (en) | 2015-10-30 | 2019-01-29 | Seagate Technology Llc | Adaptive read threshold voltage tracking with gap estimation between default read threshold voltages |
US10347343B2 (en) * | 2015-10-30 | 2019-07-09 | Seagate Technology Llc | Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean |
US9418731B1 (en) * | 2015-11-06 | 2016-08-16 | Phison Electronics Corp. | Memory management method, memory storage device and memory control circuit unit |
US9870472B2 (en) * | 2015-11-18 | 2018-01-16 | Dell Products, L.P. | Detecting malign code in unused firmware memory |
TWI573017B (zh) * | 2015-12-11 | 2017-03-01 | 英業達股份有限公司 | 非揮發性記憶體固態硬碟之燈號控制系統 |
KR102459077B1 (ko) | 2016-01-12 | 2022-10-27 | 삼성전자주식회사 | 비선형 필터링 방식을 사용하는 메모리 시스템 및 그것의 읽기 방법 |
US9842022B2 (en) * | 2016-01-20 | 2017-12-12 | Intel Corporation | Technologies for reducing latency in read operations |
US10162702B2 (en) * | 2016-02-01 | 2018-12-25 | Lattice Semiconductor Corporation | Segmented error coding for block-based memory |
KR102500616B1 (ko) * | 2016-02-26 | 2023-02-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US9721657B1 (en) | 2016-04-02 | 2017-08-01 | Intel Corporation | Managing threshold voltage shift in nonvolatile memory |
KR102585221B1 (ko) | 2016-04-21 | 2023-10-05 | 삼성전자주식회사 | 메모리 장치, 메모리 시스템 및 메모리 장치의 동작 방법 |
US10685710B2 (en) * | 2016-11-17 | 2020-06-16 | Toshiba Memory Corporation | Memory controller |
CN106598742B (zh) * | 2016-12-26 | 2020-01-03 | 湖南国科微电子股份有限公司 | 一种ssd主控内部负载均衡系统及方法 |
US10503586B2 (en) | 2017-04-26 | 2019-12-10 | Sandisk Technologies Llc | Dynamic read based on read statistics |
US10705910B2 (en) * | 2017-06-16 | 2020-07-07 | Alibaba Group Holding Limited | Method and apparatus for operating a data storage system |
TWI643196B (zh) * | 2017-06-22 | 2018-12-01 | 點序科技股份有限公司 | 快閃記憶體裝置及其資料讀取方法 |
CN109119106B (zh) * | 2017-06-26 | 2022-08-02 | 中兴通讯股份有限公司 | 数据存储方法、设备及计算机可读存储介质 |
US10171110B1 (en) * | 2017-07-03 | 2019-01-01 | Seagate Technology Llc | Sequential power transitioning of multiple data decoders |
US10403372B2 (en) * | 2017-08-29 | 2019-09-03 | SK Hynix Inc. | Memory system with adaptive read-threshold scheme and method of operating such memory system |
US10545685B2 (en) * | 2017-08-30 | 2020-01-28 | Micron Technology, Inc. | SLC cache management |
TWI653538B (zh) * | 2017-11-13 | 2019-03-11 | 慧榮科技股份有限公司 | 資料儲存裝置與記憶體裝置之資料處理方法 |
US20190042137A1 (en) * | 2018-02-05 | 2019-02-07 | Intel Corporation | Memory device with separate memory controllers for program/erase and read operations |
JP7074519B2 (ja) | 2018-03-19 | 2022-05-24 | キオクシア株式会社 | メモリシステム、および、メモリ制御方法 |
KR102648618B1 (ko) * | 2018-03-28 | 2024-03-19 | 에스케이하이닉스 주식회사 | 컨트롤러, 그것의 동작방법 및 컨트롤러를 포함하는 메모리 시스템 |
US10389335B1 (en) * | 2018-05-04 | 2019-08-20 | Apple Inc. | Clock pulse generation circuit |
CN108683423B (zh) * | 2018-05-16 | 2022-04-19 | 广东工业大学 | 一种多级闪存信道下的ldpc码动态串行调度译码算法及装置 |
CN108648778B (zh) * | 2018-05-21 | 2020-10-09 | 深圳忆联信息系统有限公司 | 一种固态硬盘读系统及其方法 |
US10643719B2 (en) * | 2018-09-04 | 2020-05-05 | Micron Technology, Inc. | Enhanced read disturbance detection and remediation for a memory sub-system |
US10691377B2 (en) * | 2018-09-21 | 2020-06-23 | Micron Technology, Inc. | Adjusting scan event thresholds to mitigate memory errors |
US10866763B2 (en) * | 2018-10-30 | 2020-12-15 | Western Digital Technologies, Inc. | Dynamic read based on read statistics |
US10922178B2 (en) * | 2018-10-31 | 2021-02-16 | Hewlett Packard Enterprise Development Lp | Masterless raid for byte-addressable non-volatile memory |
CN109582228B (zh) * | 2018-11-15 | 2022-02-01 | 深圳忆联信息系统有限公司 | 基于nand闪存控制器的自动读重试的硬件加速方法及装置 |
US11204828B2 (en) * | 2018-12-10 | 2021-12-21 | Micron Technology, Inc. | Management of corruptive read in memory systems |
EP3672124A1 (en) * | 2018-12-21 | 2020-06-24 | Xieon Networks S.à r.l. | Link margin estimation based on performance monitoring for a transmission system with forward error correction |
KR20200095103A (ko) * | 2019-01-31 | 2020-08-10 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그 동작 방법 |
CN111508547A (zh) * | 2019-01-31 | 2020-08-07 | 睿宽智能科技有限公司 | 保存期限预测方法及资料保存方法 |
US11128314B2 (en) * | 2019-06-24 | 2021-09-21 | SK Hynix Inc. | Error characteristic estimation for NAND flash |
KR102645786B1 (ko) * | 2019-07-08 | 2024-03-12 | 에스케이하이닉스 주식회사 | 컨트롤러, 메모리 시스템 및 그것의 동작 방법 |
KR102654797B1 (ko) * | 2019-07-12 | 2024-04-05 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 불량 컬럼 리페어를 제공하는 메모리 디바이스 및 이를 동작시키는 방법 |
US11016829B2 (en) * | 2019-07-26 | 2021-05-25 | Toshiba Memory Corporation | Two-layered deterministic interprocess communication scheduler for input output determinism in solid state drives |
US11010244B2 (en) * | 2019-09-16 | 2021-05-18 | Macronix International Co., Ltd. | Memory data management method |
JP2021047690A (ja) * | 2019-09-19 | 2021-03-25 | キオクシア株式会社 | メモリシステム |
CN110808079A (zh) * | 2019-10-10 | 2020-02-18 | 鸿秦(北京)科技有限公司 | 一种新式延缓磨损延长固态硬盘使用寿命的方法 |
US11062756B2 (en) * | 2019-10-14 | 2021-07-13 | Western Digital Technologies, Inc. | Extending operating temperature of storage device |
CN111145820B (zh) * | 2019-12-11 | 2021-12-28 | 合肥大唐存储科技有限公司 | 一种数据读取方法及装置、存储介质和设备 |
US11294819B2 (en) * | 2020-03-31 | 2022-04-05 | Western Digital Technologies, Inc. | Command optimization through intelligent threshold detection |
US11301321B2 (en) * | 2020-05-28 | 2022-04-12 | Western Digital Technologies, Inc. | Data shaping for integrated memory assembly |
US11295819B2 (en) | 2020-06-30 | 2022-04-05 | Western Digital Technologies, Inc. | Dual sense bin balancing in NAND flash |
CN112558883B (zh) * | 2020-12-23 | 2024-05-14 | 深圳大普微电子科技有限公司 | 一种数据存储管理方法、固态硬盘控制器及固态硬盘 |
US11500548B2 (en) * | 2021-03-04 | 2022-11-15 | Micron Technology, Inc. | Memory physical presence security identification |
US11355216B1 (en) * | 2021-04-06 | 2022-06-07 | Beijing Tenafe Electronic Technology Co., Ltd. | Adaptive DSP generation of read thresholds for gaussian and non-gaussian distributions in solid state storage using cumulative observed counts |
US20230015697A1 (en) * | 2021-07-13 | 2023-01-19 | Citrix Systems, Inc. | Application programming interface (api) authorization |
CN113612484A (zh) * | 2021-07-27 | 2021-11-05 | 深圳市德明利技术股份有限公司 | 一种硬判决和软判决相结合的高效ldpc纠错算法的实现方法 |
US11978524B2 (en) | 2021-08-25 | 2024-05-07 | Western Digital Technologies, Inc. | Cumulative wordline dispersion and deviation for read sense determination |
US11869614B2 (en) | 2021-08-25 | 2024-01-09 | Western Digital Technologies, Inc. | Cell statistics generator for NVM devices |
US11656789B2 (en) | 2021-08-25 | 2023-05-23 | Western Digital Technologies, Inc. | Asymmetric read sense |
US11972150B2 (en) * | 2021-09-29 | 2024-04-30 | Silicon Motion, Inc. | Method and non-transitory computer-readable storage medium and apparatus for programming data into flash memory through dedicated acceleration hardware |
CN114546267B (zh) * | 2022-02-14 | 2022-11-18 | 深圳源创存储科技有限公司 | 一种基于大数据计算的固态硬盘及固态硬盘系统 |
EP4365904A1 (en) * | 2022-11-01 | 2024-05-08 | EM Microelectronic-Marin SA | Method and memory system for redundantly storing sensible data and adjusting a reference value |
CN115547397B (zh) * | 2022-11-25 | 2023-06-02 | 芯天下技术股份有限公司 | 读取芯片配置文件信息的方法、装置、设备及存储介质 |
KR20240111144A (ko) * | 2023-01-09 | 2024-07-16 | 에스케이하이닉스 주식회사 | 스토리지 장치 및 이의 동작 방법 |
CN116643915A (zh) * | 2023-05-08 | 2023-08-25 | 西安秦派能智能科技有限公司 | 手机芯片数据恢复方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63308800A (ja) * | 1987-06-10 | 1988-12-16 | Hitachi Ltd | 記憶装置 |
US20080151618A1 (en) * | 2006-12-24 | 2008-06-26 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
JP2009163774A (ja) * | 2009-04-24 | 2009-07-23 | Toshiba Corp | メモリコントローラ及び半導体装置 |
JP2010140227A (ja) * | 2008-12-11 | 2010-06-24 | Toshiba Corp | メモリシステム及びメモリアクセス方法 |
US20110182119A1 (en) * | 2010-01-27 | 2011-07-28 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
WO2011113034A2 (en) * | 2010-03-12 | 2011-09-15 | Sandforce, Inc. | Ldpc erasure decoding for flash memories |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW261687B (ja) | 1991-11-26 | 1995-11-01 | Hitachi Seisakusyo Kk | |
US6347051B2 (en) | 1991-11-26 | 2002-02-12 | Hitachi, Ltd. | Storage device employing a flash memory |
US6678823B1 (en) | 2000-05-01 | 2004-01-13 | Xtec, Incorporated | Methods and apparatus for authenticating data stored in semiconductor memory cells |
US7580211B2 (en) * | 2004-11-02 | 2009-08-25 | Mediatek, Inc. | DVD recording |
JP4801935B2 (ja) | 2005-06-08 | 2011-10-26 | 株式会社東芝 | 半導体記憶装置 |
US7681109B2 (en) | 2005-10-13 | 2010-03-16 | Ramot At Tel Aviv University Ltd. | Method of error correction in MBC flash memory |
US7844877B2 (en) * | 2005-11-15 | 2010-11-30 | Ramot At Tel Aviv University Ltd. | Method and device for multi phase error-correction |
US7457178B2 (en) | 2006-01-12 | 2008-11-25 | Sandisk Corporation | Trimming of analog voltages in flash memory devices |
US7613043B2 (en) * | 2006-05-15 | 2009-11-03 | Apple Inc. | Shifting reference values to account for voltage sag |
US7639531B2 (en) * | 2006-05-15 | 2009-12-29 | Apple Inc. | Dynamic cell bit resolution |
CN101681282A (zh) * | 2006-12-06 | 2010-03-24 | 弗森多系统公司(dba弗森-艾奥) | 用于共享的、前端、分布式raid的装置、系统和方法 |
KR100816162B1 (ko) | 2007-01-23 | 2008-03-21 | 주식회사 하이닉스반도체 | 낸드 플래시 메모리 장치 및 셀 특성 개선 방법 |
WO2008111058A2 (en) * | 2007-03-12 | 2008-09-18 | Anobit Technologies Ltd. | Adaptive estimation of memory cell read thresholds |
US7903468B2 (en) | 2007-04-23 | 2011-03-08 | Ramot At Telaviv University Ltd. | Adaptive dynamic reading of flash memories |
KR100888842B1 (ko) | 2007-06-28 | 2009-03-17 | 삼성전자주식회사 | 읽기 전압을 최적화할 수 있는 플래시 메모리 장치 및그것의 독출 전압 설정 방법 |
KR100891005B1 (ko) | 2007-06-28 | 2009-03-31 | 삼성전자주식회사 | 고온 스트레스로 인한 읽기 마진의 감소를 보상하기 위한플래시 메모리 장치 및 그것의 읽기 전압 조정 방법 |
KR101411976B1 (ko) | 2007-07-09 | 2014-06-27 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 에러 정정 방법 |
KR20090042039A (ko) * | 2007-10-25 | 2009-04-29 | 삼성전자주식회사 | 불휘발성 메모리 장치의 데이터 관리 방법 |
WO2009072104A2 (en) | 2007-12-05 | 2009-06-11 | Densbits Technologies Ltd. | Flash memory device with physical cell value deterioration accommodation and methods useful in conjunction therewith |
KR100953047B1 (ko) | 2007-12-28 | 2010-04-14 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자의 동작 방법 |
US7957187B2 (en) | 2008-05-09 | 2011-06-07 | Sandisk Corporation | Dynamic and adaptive optimization of read compare levels based on memory cell threshold voltage distribution |
TWI373773B (en) * | 2008-05-27 | 2012-10-01 | Phison Electronics Corp | Storage sysetm having multiple non-volatile memory, and controller and access method thereof |
KR101413137B1 (ko) | 2008-07-04 | 2014-07-01 | 삼성전자주식회사 | 메모리 장치 및 메모리 프로그래밍 방법 |
KR101434400B1 (ko) | 2008-07-09 | 2014-08-27 | 삼성전자주식회사 | 불휘발성 메모리 장치 및 메모리 시스템 및 그것의 관리방법 |
US8089813B2 (en) | 2008-07-18 | 2012-01-03 | International Business Machines Corporation | Controllable voltage reference driver for a memory system |
KR101391362B1 (ko) | 2008-07-23 | 2014-05-07 | 삼성전자주식회사 | 읽기 전압 레벨이 설정가능한 플래시 메모리 시스템 및읽기 전압 레벨의 설정방법 |
KR100967004B1 (ko) | 2008-08-05 | 2010-06-30 | 주식회사 하이닉스반도체 | 플래시 메모리 장치의 동작 제어 방법 |
US8000135B1 (en) | 2008-09-14 | 2011-08-16 | Anobit Technologies Ltd. | Estimation of memory cell read thresholds by sampling inside programming level distribution intervals |
US7830693B2 (en) | 2008-11-12 | 2010-11-09 | Seagate Technology Llc | NAND based resistive sense memory cell architecture |
US9031241B2 (en) * | 2009-02-05 | 2015-05-12 | D.E. Shaw Research, Llc | Link and physical coding sub-layer protocols |
KR101523677B1 (ko) * | 2009-02-26 | 2015-05-28 | 삼성전자주식회사 | 플래시 메모리 장치 및 그것의 프로그램 방법 그리고 그것을 포함하는 메모리 시스템 |
KR101005188B1 (ko) | 2009-02-26 | 2011-01-04 | 주식회사 하이닉스반도체 | 불휘발성 메모리 소자 및 그 동작 방법 |
US8264890B2 (en) | 2009-04-09 | 2012-09-11 | Sandisk Technologies Inc. | Two pass erase for non-volatile storage |
US8345477B1 (en) | 2009-07-29 | 2013-01-01 | Marvell International Ltd. | Non-volatile memory devices having uniform error distributions among pages |
JP2011040124A (ja) | 2009-08-07 | 2011-02-24 | Toshiba Corp | 半導体記憶装置のデータ読み出し方法 |
US8130544B2 (en) | 2009-08-17 | 2012-03-06 | Skymedi Corporation | Method of reducing bit error rate for a flash memory |
US8456926B2 (en) | 2010-11-18 | 2013-06-04 | Grandis, Inc. | Memory write error correction circuit |
US8305812B2 (en) | 2009-08-26 | 2012-11-06 | Densbits Technologies Ltd. | Flash memory module and method for programming a page of flash memory cells |
US8351258B1 (en) * | 2010-01-22 | 2013-01-08 | Marvell International Ltd. | Adapting read reference voltage in flash memory device |
US8553466B2 (en) | 2010-03-04 | 2013-10-08 | Samsung Electronics Co., Ltd. | Non-volatile memory device, erasing method thereof, and memory system including the same |
US8539311B2 (en) * | 2010-07-01 | 2013-09-17 | Densbits Technologies Ltd. | System and method for data recovery in multi-level cell memories |
US8531888B2 (en) | 2010-07-07 | 2013-09-10 | Marvell World Trade Ltd. | Determining optimal reference voltages for progressive reads in flash memory systems |
US8402349B2 (en) * | 2010-12-06 | 2013-03-19 | Apple Inc. | Two dimensional data randomization for a memory |
KR101765123B1 (ko) * | 2011-01-14 | 2017-08-04 | 삼성전자주식회사 | 통신시스템에서 전송 신호의 호환성을 제공하기 위한 장치 및 방법 |
US20130343131A1 (en) | 2012-06-26 | 2013-12-26 | Lsi Corporation | Fast tracking for flash channels |
US8839073B2 (en) | 2012-05-04 | 2014-09-16 | Lsi Corporation | Zero-one balance management in a solid-state disk controller |
US8938659B2 (en) | 2012-05-04 | 2015-01-20 | Lsi Corporation | Low-density parity-check decoder disparity preprocessing |
US9847139B2 (en) | 2012-10-01 | 2017-12-19 | Seagate Technology Llp | Flash channel parameter management with read scrub |
-
2012
- 2012-05-04 US US13/464,433 patent/US8839073B2/en active Active
-
2013
- 2013-05-01 CN CN201380023414.XA patent/CN107094370B/zh not_active Expired - Fee Related
- 2013-05-01 EP EP13784892.5A patent/EP2845198A4/en not_active Withdrawn
- 2013-05-01 WO PCT/US2013/039138 patent/WO2013166200A1/en active Application Filing
- 2013-05-01 KR KR1020147032045A patent/KR101754653B1/ko active IP Right Grant
- 2013-05-01 JP JP2015510441A patent/JP6163540B2/ja not_active Expired - Fee Related
- 2013-05-02 TW TW102115758A patent/TWI612524B/zh not_active IP Right Cessation
-
2014
- 2014-08-29 US US14/472,869 patent/US9430154B2/en active Active
-
2016
- 2016-08-17 US US15/238,839 patent/US10002046B2/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS63308800A (ja) * | 1987-06-10 | 1988-12-16 | Hitachi Ltd | 記憶装置 |
US20080151618A1 (en) * | 2006-12-24 | 2008-06-26 | Sandisk Il Ltd. | Flash memory device and system with randomizing for suppressing errors |
JP2010140227A (ja) * | 2008-12-11 | 2010-06-24 | Toshiba Corp | メモリシステム及びメモリアクセス方法 |
JP2009163774A (ja) * | 2009-04-24 | 2009-07-23 | Toshiba Corp | メモリコントローラ及び半導体装置 |
US20110182119A1 (en) * | 2010-01-27 | 2011-07-28 | Fusion-Io, Inc. | Apparatus, system, and method for determining a read voltage threshold for solid-state storage media |
WO2011113034A2 (en) * | 2010-03-12 | 2011-09-15 | Sandforce, Inc. | Ldpc erasure decoding for flash memories |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2018194948A (ja) * | 2017-05-15 | 2018-12-06 | ラピスセミコンダクタ株式会社 | 半導体記憶装置、メモリコントローラ及びメモリの監視方法 |
US10719396B2 (en) | 2018-03-19 | 2020-07-21 | Toshiba Memory Corporation | Memory system |
JP2023518243A (ja) * | 2020-03-18 | 2023-04-28 | マイクロン テクノロジー,インク. | メモリサブシステムにおけるプログラムされたビット数に基づいて読み出し電圧レベルを調整すること |
US11854638B2 (en) | 2021-02-08 | 2023-12-26 | Megachips Corporation | Nonvolatile semiconductor storage device and read voltage correction method |
Also Published As
Publication number | Publication date |
---|---|
CN107094370B (zh) | 2021-01-05 |
US8839073B2 (en) | 2014-09-16 |
US9430154B2 (en) | 2016-08-30 |
WO2013166200A1 (en) | 2013-11-07 |
CN107094370A (zh) | 2017-08-25 |
KR101754653B1 (ko) | 2017-07-06 |
US20130297986A1 (en) | 2013-11-07 |
EP2845198A1 (en) | 2015-03-11 |
TWI612524B (zh) | 2018-01-21 |
US20160357631A1 (en) | 2016-12-08 |
US20150205527A1 (en) | 2015-07-23 |
EP2845198A4 (en) | 2015-11-25 |
JP6163540B2 (ja) | 2017-07-12 |
US10002046B2 (en) | 2018-06-19 |
TW201407618A (zh) | 2014-02-16 |
KR20150002829A (ko) | 2015-01-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6163540B2 (ja) | 半導体ディスクコントローラにおける0−1バランス管理 | |
US10734087B2 (en) | Retention-drift-history-based non-volatile memory read threshold optimization | |
US11024396B2 (en) | Reduction or elimination of a latency penalty associated with adjusting read thresholds for non-volatile memory | |
US9595320B2 (en) | Optimization of read thresholds for non-volatile memory | |
JP6452278B2 (ja) | 不揮発性メモリの耐久性平準化のためのセル損傷の測定 | |
US9239754B2 (en) | Single read based soft-decision decoding of non-volatile memory | |
US8856611B2 (en) | Soft-decision compensation for flash channel variation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20160421 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20160422 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20160426 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160426 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20170117 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20170124 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20170418 |
|
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: 20170613 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170619 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6163540 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |