CN103210376A - 基于存储器质量监视器的补偿方法及设备 - Google Patents

基于存储器质量监视器的补偿方法及设备 Download PDF

Info

Publication number
CN103210376A
CN103210376A CN2011800538466A CN201180053846A CN103210376A CN 103210376 A CN103210376 A CN 103210376A CN 2011800538466 A CN2011800538466 A CN 2011800538466A CN 201180053846 A CN201180053846 A CN 201180053846A CN 103210376 A CN103210376 A CN 103210376A
Authority
CN
China
Prior art keywords
data
value
institute
retrieve data
quality metric
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2011800538466A
Other languages
English (en)
Other versions
CN103210376B (zh
Inventor
布鲁斯·A·利卡宁
杰拉尔德·L·卡德洛尼
拉里·J·考德莱
约翰·L·西伯里
斯蒂芬·P·范阿肯
盖伊·R·瓦格纳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Micron Technology Inc
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Publication of CN103210376A publication Critical patent/CN103210376A/zh
Application granted granted Critical
Publication of CN103210376B publication Critical patent/CN103210376B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/02Detection or location of defective auxiliary circuits, e.g. defective refresh counters
    • G11C29/028Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1048Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using arrangements adapted for a specific error detection or correction feature
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0033Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C13/00Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00
    • G11C13/0002Digital stores characterised by the use of storage elements not covered by groups G11C11/00, G11C23/00, or G11C25/00 using resistive RAM [RRAM] elements
    • G11C13/0021Auxiliary circuits
    • G11C13/0035Evaluating degradation, retention or wearout, e.g. by counting writing cycles
    • 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
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/3418Disturbance prevention or evaluation; Refreshing of disturbed memory data
    • G11C16/3431Circuits or methods to detect disturbed nonvolatile memory cells, e.g. which still read as programmed but with threshold less than the program verify threshold or read as erased but with threshold greater than the erase verify threshold, and to reverse the disturbance via a refreshing programming or erasing step
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/34Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
    • G11C16/349Arrangements for evaluating degradation, retention or wearout, e.g. by counting erase cycles
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • 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/11Error 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/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • 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/1515Reed-Solomon 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/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/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/3738Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with judging correct decoding
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4138Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors soft-output Viterbi algorithm based decoding, i.e. Viterbi decoding with weighted decisions
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5671Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge trapping in an insulator

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Probability & Statistics with Applications (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Algebra (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

在一个实施例中,编码器从存储器单元读取数据集合以获得由于已被存储而受一个或一个以上失真机制影响的所检索数据。响应于所述所检索数据而产生质量度量,所述质量度量响应于用户数据与相关联的所检索数据之间的差而在值上改变。质量监视器确立所述质量度量的当前值与阈值之间的关系且将所述关系监视为指示所述所检索数据的质量的降级,且选择性地起始误差响应。在另一实施例中,在监视质量度量时使校正值迭代通过值集合,以使得可选择所述质量度量的最紧密接近所述质量度量的紧跟在所述数据的初始写入之后的值的值。

Description

基于存储器质量监视器的补偿方法及设备
本发明一般来说涉及由存储器单元阵列组成的非易失性存储器领域,且更明确地说涉及一种至少用于响应于质量监视器而起始此存储器的误差补偿的方法及设备。
关于快闪存储器的最近趋势存在于试图通过增加共同组成存储器单元阵列的个别存储器单元所存储的信息量来增加存储容量。举例来说,如第2008/0162791号美国公开专利申请案(下文中,′791申请案)所认识到,增加每存储器单元数据级的数目致使在从存储器读回数据时成比例地增加误差概率,所述公开专利申请案以引用的方式并入本文中。此误差概率增加至少部分地归因于增加每一存储器单元所存储的数据级的数目,这是因为将需要在数据级之间解决相关联的准确性增加。因此,更有可能影响个别存储器单元所存储的值的失真机制可导致给定存储器单元所存储的数据值的移位,此可导致跨越一阈值的读取数据值在相对更紧密定位的数据阈值之间不适当地移位。′791申请案教示使用误差校正码来补偿误差概率的增加。尽管′791申请案代表对当时现有技术水平的重大改进,但申请人相信可采用提供对′791申请案的全面改进的额外技术。
除上文所描述的示范性方面及实施例外,通过参考图式及通过研究以下说明其它方面及实施例将变得显而易见。
发明内容
附图说明
在图式的参考图中图解说明实例性实施例。本文中所揭示的实施例及图打算为图解说明性而非限制性。
图1是图解说明根据本发明产生的存储器控制器的一个实施例的框图,所述存储器控制器形成用于提供基于质量度量的补偿的总体系统的一部分。
图2是图解说明用于确定若干值的集合或分布的平均值的技术的一个实施例的流程图。
图3是图解说明用于确定若干值的集合或分布的方差值的技术的一个实施例的流程图。
图4是图解说明用于关于一个或一个以上质量度量操作图1的控制器的方法的一个实施例的流程图。
图5是图解说明用于关于呈块校正码的校正计数的形式的质量度量操作图1的控制器的方法的另一实施例的流程图。
图6是图解说明关于硬窗及软窗的数据值的理想化分布集合的曲线图。
图7是可能数据值的分布的曲线图,此处展示所述曲线图以图解说明由于老化以及与硬窗及软窗相关的扩展所致的移位的效应。
图8是一分布的所要数据值的曲线图以及遵照所测量值集合的曲线拟合曲线图,此处展示所述曲线图以图解说明其中基于应用线性拟合的所述曲线图的补偿的开发。
图9是一分布的所要数据值的另一曲线图以及遵照所测量值集合的曲线拟合曲线图,此处展示所述曲线图以图解说明其中应用非线性曲线拟合的基于所述曲线图的补偿的开发。
图10是图解说明用于确定数据分布的统计平均值及曲线拟合以确立校正或补偿量的方法的一个实施例的流程图。
图11是图解说明用于确定可组成数据分布的总体范围的多个子范围中的每一者的平均值的硬件平均值确定单元的一个实施例的框图。
图12是用于图11的硬件平均值确定单元中的均值范围单元的一个实施例的框图。
图13是将校正量应用于传入分布流以产生输出流的基于表差的电路的一个实施例的框图。
图14是图解说明用于初始化及操作图13的表差电路的方法的一个实施例的流程图。
图15是图解说明用于基于至少一个质量度量的迭代确定而确定补偿值的方法的一个实施例的流程图。
图16是适合的存储器裸片的一个实施例的图解性平面图。
图17是图解说明形成图16的存储器裸片的一部分的擦除块的一个实施例的图解性平面图。
具体实施方式
以下说明经呈现以使所属领域的技术人员能够制作及使用本发明,且在专利申请案及其要求的上下文中提供。所属领域的技术人员将易于了解对所描述实施例的各种修改,且本文中所教示的类属原理可适用于其它实施例。因此,本发明并不打算限于所展示的实施例,而是打算使本文中所描述的包含修改及等效物的原理及特征与最宽广的范围相一致,如在所附权利要求书的范围内所定义。应注意,所述图式可在本质上以被认为最佳地图解说明所关注特征的方式为图解性的。可关于所述图中所提供的各种视图出于增强读者的理解的目的采用描述性术语,且所述描述性术语绝不打算为限制性。
尽管本文中所提供的实例中的至少一些实例就存储电荷的非易失性存储器单元阵列来说为框定的(例如NAND及NROM快闪存储器),但应了解在此类存储器单元中将电荷用作可变物理参数并不打算为限制性且可采用任何适合可变物理参数。举例来说,除电子或空穴存储量外,所述物理参数还包含相变媒体存储装置(相变存储器(PRAM、纳米管))中的电阻、磁性存储装置(探针存储器件)中的磁矩或磁性自旋方向、电容改变(铁电随机存取存储器(FERAM)或分子存储器件)、MRAM(磁性随机存取存储器)及基于MEMS(微机电)的媒体或以上的任何组合。仍可开发其它适合存储器形式。
现在将注意力转向其中贯穿各个图可使用相似元件符号指示相似元件的图式,图1是包含在虚线内的由元件符号10指示的存储器控制器的框图,所述存储器控制器形成通常由元件符号12指示的总体系统的一部分。系统12进一步包含通过存储器控制器10彼此介接的主机14及固态非易失性存储器20。主机14连接到形成存储器控制器的一部分的主机接口32,而存储器20连接到形成存储器控制器10的另一部分的存储器接口34。所述主机可为例如个人计算机的任何适合形式的装置。存储器接口可包含组成存储器接口与任何所附接存储器装置之间的物理连接的一个或多个存储器端口。另外,可存在一个或多个存储器接口。各自具有多个存储器端口的多个存储器接口可出于高存储器系统吞吐量的目的通过使一个以上存储器装置能够使用单个所附接控制器同时执行读取或写入操作而提供于控制器中。
在系统12中,主机14使用组成非易失性存储器20的存储单元存储及检索数据。读取及写入分别由编码区段42及解码区段44启用,所述区段将数据从主机输送到非易失性存储器且从存储器输送到主机。主机可以使得能够在数据返回到主机之前通过解码过程识别在主机读取所述数据时发生的位误差并从所述数据移除所述位误差的方式执行数据到存储器中的存储。微控制器50及固件52可视需要提供存储器控制器10的各种组件的控制信号及管理,但出于图解说明清楚的目的未展示控制线。在读取及写入操作期间,微控制器可接收并解释来自主机14的命令且执行此些操作以及其它操作。本文中所描述的技术中的任一者可使用软件、固件、硬件或其任何适合组合来实施。以此方式,存储器控制器10操作以接收来自主机的命令,且响应于这些命令,将存储器控制器从主机接收的数据写入到附接到存储器接口34的一个或一个以上存储器装置,或者所述存储器控制器从一个或一个以上所附接存储器装置读取数据且将所读取数据返回到主机。可通过经由主机接口32发布的命令实施且执行其它功能。这些额外功能可包含主机计算机与控制器之间的数据传送。在一些实施例中,可将补偿应用于存储器接口的存储器控制器侧上的数据流。
仍参考图1,非易失性存储器20可由一个或一个以上个别存储器装置组成,所述存储器装置中的每一者可由可交换地称为编码器的编码区段42或可交换地称为解码器的解码区段44存取。所述非易失性存储器的装置技术可为能够存储每存储器单元一个以上位的任何非易失性媒体。组成存储器20的一或若干装置可以一个或一个以上非易失性存储器装置的形式提供,所述一个或一个以上非易失性存储器装置可遵照能够基于表征可由每一个别存储器单元保存的数据值的可变物理参数非易失性保持数据的任何适合技术。每一存储器装置可为一半导体裸片。今日的可从本文中所描述的高级技术受益的数据存储系统可使用NAND快闪作为存储媒体,但此高级技术关于基于当前可获得或尚待开发的任何其它适合形式的非易失性存储器的装置也相等地适用,如上文所描述。此类其它适合形式的非易失性存储器可实现类似于借助NAND快闪所见的所述益处的益处。
主机14可为将读取及写入命令发布到数据存储与检索系统的任何适合装置。所述主机通常包含处理器,且可为计算机系统的一部分,但还可为嵌入式系统的一部分。编码器42在从主机14到存储器20的数据传送过程期间操作。所述编码器可以使得可在主机随后请求从存储器20读取所述主机时检测且校正至少一些误差的方式对主机提交的数据执行变换。解码器44在从存储器20到主机14的数据传送过程期间操作。所述解码器可对以由存储器存储数据的形式从所述存储器检索的数据执行变换并将所述数据转换成主机将其原始地提交到编码器的形式。如存储于存储器20中的数据的形式可包含使解码器44能够检测且校正数据中的(举例来说)由于存储器14不完善及/或失真而发生的位误差的编码,例如(举例来说)于2009年3月13日提出申请的标题为多级系统中的逐位运算及设备(BITWISE OPERATIONS AND APPARATUS IN A MULTI-LEVELSYSTEM)的序列号为12/403,546的美国专利申请案及于2010年6月4日提出申请的标题为具有非易失性存储器的多级系统中的高级逐位运算及设备(ADVANCED BITWISEOPERATIONS AND APPARATUS IN A MULTI-LEVEL SYSTEM WITHNONVOLATILE MEMORY)的序列号为12/794,706的美国专利申请案中所描述,所述两个申请案均与本申请案为共同所有的且所述两个申请案均以引用的方式并入本文中。
根据本发明产生的实施例可应用于编码器、解码器及非易失性存储器的实施方案,以及应用于其中主机通过发送产生数据的传送以存储于存储器中及产生数据在从存储于存储器中恢复之后传送到主机的命令来引导操作的系统环境。
后补偿校正的应用可(举例来说)通过后补偿加法器60或接收与从存储器接口接收的每一读取值相关联的校正值的类似机构而应用于传入读取数据流,如将进一步描述。补偿值自身可构成可基于下文所描述的质量度量监视及确定技术产生的结果的组合。在一个实施例中,在固件控制下的微控制器50可确定所述补偿值且将所得值放置到适合存储器中。在一个实施例中,现在存储器驻存补偿值的应用可通过从存储器检索所述补偿值且经由后补偿加法器60将所述值应用于传入读取流的专用硬件排序机构而应用。
预补偿校正的应用可类似于上文刚刚描述的预补偿过程进行,然而,校正值通过预补偿加法器62而应用。主要差异存在于将预补偿校正值应用于写入数据流而非读取数据流。同样,补偿值自身可由基于尚待描述的质量度量监视及确定技术的结果的组合组成。
质量度量可基于所收集的某种形式的信息,所述信息可反映(举例来说)存在于存储器20中的失真以使得可响应于所述失真而应用适合补偿。无论经受补偿的基础失真机制如何,本发明可通过逆转失真对任何数据施加的差异来起作用以逆转失真对数据值的效应。由于本发明应用于数据存储及检索且控制器出于此目的而实施写入及读取所存储信息二者择一的过程,因此可将补偿应用于这些过程中的任一者(读取或写入)。信息采集步骤可形成确定质量度量的一部分,且因此可以相等有效性开始在读取过程期间的补偿(后补偿)或在写入过程期间的补偿(预补偿),其中在从一者进行到另一者的机制中具有极小差异或不具有差异。
在形成质量度量的基础时,实施例可执行至少以下类型的信息采集:
1)统计平均值(均值计算),
2)统计变化(方差计算),及
3)统计误差率搜集。
可对存储于存储器20中或目标为写入到所述存储器的数据单位执行(1)、(2)及(3)中的确定。由于所关注的失真可从每一存储器装置的物理方面导出,因此出于计算目的必须根据每一存储器装置的物理页大小将数据单位定大小。数据单位可为物理页的一部分、一整个物理页或多个物理页:数据单位对这些物理属性的相依性可基于特定存储器的读取特性。注意如上文所描述的数据单位与和数据的逻辑范围对应的码字之间的区别为重要的。码字可由一个或一个以上数据单位构造而成。以此方式,数据单位不同于码字,这是因为质量计算通常与数据单位有关而控制器的编码及解码电路与码字有关。码字与用于计算的数据单位之间的区别依据码字范围与编码及解码过程(而非质量度量计算)相关的事实。由于质量度量应用于其的数据单位的物理方面,因此在适合实施例中,码字可为数据单位的子集、数据单位的超集或与数据单位相同。如果码字横跨单个数据单位以上,那么在此情形中,可针对多达构成所述码字的数据单位个别地计算质量度量。尽管如此,出于计算(1)、(2)及(3)的目的,数据单位有时可包括与服务于控制器的编码及解码(写入及读取)过程的流相同的流。此外,在一个实施例中,所述确定可基于正通过代表连接到控制器的主机的控制器中的读取(或写入)过程读取(或写入)的当前数据。在另一实施例中,所述确定可仅出于执行所关注的确定的目的而使用一个或一个以上预先存在数据单位独立于任何主机命令进行。举例来说,此些预先存在数据单位可已从先前写入操作驻存于存储器20中。
图1的组件提供基于包含呈任何适合或所要组合的统计平均值、统计变化及统计误差率中的任一者或一者以上的质量度量执行补偿确定。应了解,可采用任何适合统计值作为质量度量且本文中所陈述的实例并不打算为限制性。质量监视区段64可监视所关注且可获得的任何质量度量(例如,统计平均值、统计变化及基于统计误差率搜集的值),如下文将详细描述。在一个方面中,质量监视区段64用以基于一个或一个以上质量度量追踪数据的质量且确立将基于质量度量应用的补偿的量。在一些实施例中,QM区段64可基于阈值做出确定以确定正测量的数据的质量。在此情形中,术语质量与数据无误差相关。即,数据中存在的误差越少,数据的质量越高。在一些实施例中,质量监视区段64可由硬件及软件的任何适合组合组成。后补偿单元70及预补偿单元72分别经配置以用于确定后补偿上下文或预补偿上下文中的补偿值。补偿的特定量或量值可由质量监视区段64影响。即,如果正监视的一个或一个以上质量度量指示相对大量的数据降级,那么补偿的总量可成比例地增加。选定后补偿确定集合中的每一者可由后补偿单元70确立且在提供为到后补偿加法器60的输出之前组合。举例来说,总补偿值可由来自统计平均值、统计方差及一个或一个以上统计误差率值中的每一者、这些物项的任何子组合或这些物项中的任一者的贡献以灵活方式的组合组成。可在从存储器接口34接收的当前读取值进入解码器44之前将此总后补偿输出与所述当前值相加。类似地,选定预补偿确定集合中的每一者可由预补偿单元72确立且在提供为到预补偿加法器62的输出之前组合。可将此预补偿输出与从编码器42接收的当前写入值相加。所述选定预补偿确定集合可不同于所述选定后补偿确定集合且任一集合可包含可获得确定的任何所要组合、可获得确定的子集或所述确定中的单个选定一者。
现在连同图1一起转向图2,图2图解说明用于确定统计平均值的通常由元件符号100指示的方法的一个实施例。方法100可实现确立向所述方法呈现的任何系列的数据值的平均值。统计平均值确定的过程通常为其中确定一集合的所有个别数据值的平均值(均值)的过程。虽然并非要求,但所述方法可涉及处理目标为存储器装置中的单个物理页或从存储器装置中的单个物理页读取的数据值、擦除块或存储器的任何大小适合的单位。方法100以步骤102开始,其中固件52可布置以通过将目标数据值集合列队以进入到过程中来处理所述集合。可(举例来说)在可由已存在于控制器10的缓冲器中的微控制器50存取的暂时性存储器103中或可由所述控制器存取的任何适合位置中形成值队列以使得过程可按顺序通过数据。除暂时性存储器103外,还可提供适合缓冲器(举例来说)作为后补偿单元70及预补偿单元72的一部分。在104处,确定过程是否定向于目标值集合的开始处。如果过程定向于目标数据值集合的开始处,那么过程可在106处通过清除可从先前数据值集合剩余的任何残余值而将自身初始化。在108处,获得初始数据值且存储为当前平均值。可出于存储一个或一个以上平均值确定的目的而提供平均值寄存器区段110(图1)。步骤112接着确定是否可在所述集合中获得另一值。如果如此,那么操作返回到通过以用以得出新的当前平均值的已知方式将新值与积累总值相加且除以值的总数目而重新确定新的当前平均值的108。所述平均值计算可由平均值计算器114(图1)执行。在116处,控制器可获得运行或最终平均输出。步骤108及112在回圈中继续操作直到步骤112确定已达到值的集合的末尾。那时,过程在118处终止,其中在116处可获得所述集合的最终平均值。因此,所述过程对集合中的数据值中的每一者迭代、每迭代带入一个值且在每一迭代上更新输出值。在过程结束时,控制器可获得当前数据值集合的结果。
通过图2中所展示的过程,实施例可包含用于平均值计算的硬件,所述平均值计算为来自通过计算硬件流式传输的集合的数据值的结果。固件52可负责配置及初始化数据值到硬件中的传送,一旦开始所述传送,硬件即可基于每一额外数据值自动更新平均值。此基于硬件的平均值计算将为所属领域的技术人员所熟悉。
连同图1一起参考图3,图3图解说明用于确定统计方差值的通常由元件符号200指示的方法的一个实施例。方法200可实现确立向所述方法呈现的任何系列的数据值的方差值。应了解,方差计算的过程通常为其中确定一集合的所有个别数据值的方差(可就标准偏差或西格玛参考所述方差)的过程。虽然并非要求,但所述方法可涉及处理目标为存储器装置中的单个物理页或从存储器装置中的单个物理页读取的数据值、擦除块或存储器的任何大小适合的单位。方差计算自身可通常作为硬件功能比作为软件功能更迅速且高效地执行,且可通过执行个别数据值与平均数据值之间的平方差的求和的任何基于硬件的技术实施,但硬件实施方案并非要求。所属领域的技术人员将熟悉用于方差确定的目的的软件及硬件实施方案两者。方法200在其中固件52(图1)可安排通过在过程的入口处将目标数据值集合列队来处理所述集合的开始202处开始。可(举例来说)在与已存在于控制器10的缓冲器中的微控制器50相关联的暂时性存储器103中(如上文所描述)或可由所述控制器存取的任何适合位置中形成值队列以使得过程可按顺序通过数据。在204处,确定过程是否定向于目标数据值集合的开始处。如果过程定向于目标数据值集合的开始处,那么过程可在206处通过清除可从先前数据值集合剩余的任何残余方差值而将自身初始化。在208处,获得且存储初始数据值。可出于存储一个或一个以上方差值确定的目的而提供方差值寄存器区段210(图1)。步骤212接着(举例来说)通过检索额外数据值且基于所有先前数据值加上所述额外数据值的集合重新计算方差而确定是否可在集合中获得另一值。如果如此,那么操作返回到208,此操作是通过检索额外数据值且基于所有先前数据值加上额外数据值的集合重新确定方差而重新确定新的当前方差值。可由方差值计算器214(图1)执行方差值计算。在216处,控制器可获得运行或最终方差输出。步骤208及212在回圈中继续操作直到步骤212确定已达到值的集合的末尾。那时,过程在218处终止,其中在216处可获得所述集合的最终方差值。因此,所述过程对集合中的数据值中的每一者迭代、每迭代带入一个值且在每一迭代上更新输出方差值。在过程结束时,控制器可获得当前数据值集合的方差结果。
通过图3中所展示的过程,实施例可包含用于方差值计算的硬件,所述方差值计算为来自流式传输通过计算硬件的集合的数据值的结果。固件52可负责配置及初始化数据值到硬件中的传送,一旦开始所述传送,硬件即可基于每一额外数据值自动更新方差值。此基于硬件的方差计算将为所属领域的技术人员所熟悉。
参考图1,质量度量产生器260可形成解码器44的用于执行统计误差率确定以确立一个或一个以上质量度量的一部分。在一个实施例中,解码器可包含维特比检测器以使得质量度量为用于形成存储器20的一部分的每一存储器装置的维特比检测器的分支度量的德尔塔。信号处理算法(例如维特比解码器)通常设计有一序列的预期值与所接收的实际值之间的其分支度量的积累(称为均方误差或MSE)。MSE为随解码数据实时捕获的数据质量的度量。申请人认识到与数据质量相关的此信息可以若干种不同方式用以改进系统,如将进一步描述。
在又一实施例中,解码器44包含计数针对所解码的里德-所罗门数据的每一块执行的符号校正的数目的里德-所罗门解码器,如质量度量产生器260。里德-所罗门解码器的符号校正的计数可用作系统中的每一存储器装置的数据质量的量度。将了解,里德-所罗门(RS)检测器能够校正多达每RS块特定数目个RS符号。在一些实施例中,可监视每RS块符号校正的数目。举例来说,解码器可识别校正仅一个符号所针对的每一RS块;识别校正两个符号所针对的每一RS块;且识别校正三个RS符号所针对的每一RS块等等。以此方式,可基于每RS块符号校正的数目建立柱状图。通常,一个符号的校正将比逐渐增大数目个符号校正发生的频繁得多。校正数据的此形式可用作质量度量以确定数据的总质量及系统误差率。应了解,可由质量度量产生器260追踪的任何适合统计误差率可形成质量度量的基础,且本文中所详细描述的质量度量的特定形式并不打算为限制性。
申请人认识到非易失性存储器系统中的质量监视器可用以校准已知特性的不同装置、以校正值校正系统中数据质量、检测数据老化影响、向主机系统报告数据质量以用于进一步行动且在高质量数据的情形中增加吞吐量性能或数据密度。质量监视器允许智能非易失性(NVM)控制器基于质量监视器信息而修改存储器系统。系统修改可包含(通过实例方式)将改进数据在较长时间周期内的可靠性或赋予向主机系统报告即将发生的故障的能力以使得数据可在所述数据丢失之前移动到新位置的行动。
仍参考图1,控制器10的质量监视区段64可基于正常用户数据(在此数据行进通过系统时)监视一个或一个以上质量度量。即,不存在出于确立质量度量的目的而利用特殊校准数据的要求。因此,可在对系统吞吐量的有限或基本上无影响的情况下产生及监视质量度量。即,可基于常规用户数据存取积累质量度量数据。换句换说,可在不借助对特殊专用校准数据及其它此类源进行额外“带外”存取的情况下积累质量数据。在一些实施例中,在对系统吞吐量的低或无影响的情况下,可由控制器以流式传输数据方式执行所有所需计算。因此,经由使用正常数据,可监视数据的潜在降级。基于降级的水平,可(举例来说)由微控制器50、主机14或在系统的用户的判断下起始响应事件。响应事件可包含通知用户不可接受的数据降级水平及后补偿或预补偿上下文中的补偿技术的自动激活中的一者或一者以上。在261处以由主机14发布的通知的形式(举例来说)在与主机相关联的显示器上指示此指示。响应事件的起始可为:(1)由用户起始,(2)由与某一阈值相比较的数据质量度量触发,其中质量度量可为由方差计算器214确定的数据分布的标准偏差或方差、由平均值计算器114确定的正常数据或校准数据的分布的平均值移位、形成解码器44的一部分且充当QM产生器260的维特比检测器的均方误差或路径度量及形成解码器44的一部分且类似地充当QM产生器260的BCH或者里德-所罗门检测器或解码器的经校正符号的数目。在一些实施例中,传感器区段262可包含温度传感器,所述温度传感器经提供以使得绝对温度及/或温度改变可致使质量监视器区段64起始响应事件(包含但不限于将当前质量度量值与阈值进行比较)且经受所述响应事件,从而就起始补偿触发进一步响应。类似地,传感器区段262可包含电压监视器,所述电压监视器监视供应电压以使得供应电压的充分大的改变致使质量监视器区段64起始响应事件。在一个实施例中,质量监视器区段64可响应于(举例来说)从检查质量度量的最后时间以来的某一预定时间周期的通过而起始响应事件。在此方面,可出于致使控制器10参与检查所关注的任何质量度量且之后基于指示数据降级的质量度量的改变作出适当响应的目的而利用任何可测量参数。
现在转向图4,用于操作图1的控制器10的方法的一个实施例通常由元件符号300指示。所述方法在开始301处开始。在302处,从存储器20读取数据集合。此数据在一些实施方案中可为正常用户数据,且在其它实施方案中为先前保存且具有一个或一个以上已知特性(例如,已知平均值及已知方差或标准偏差)的校准数据。当使用正常用户数据时,可在将数据写入到存储器20之前确定平均值及/或方差且可将所确定值存储于平均值寄存器110及方差寄存器210中以供未来参考。此外,可(举例来说)通过读取数据及监视可产生维特比解码器或LDPC解码器的分支度量的QM产生器260的输出(如上文所论述)且取决于使用中的特定误差校正码而紧接在将数据写入到存储器20之后基本上确定统计误差率。还如上文所描述,可使用块校正码(例如,里德-所罗门或BCH)以使得每码字校正的符号的数目可充当质量度量。因此,针对所读取的所存储数据集合,通过读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于非易失性存储器中且从非易失性存储器被读取而受一个或一个以上失真机制影响。
在304处,响应于所检索数据集合而产生一个或一个以上质量度量,所述一或若干质量度量的值改变响应于用户数据与相关联的所检索数据之间的差。取决于解码器44及QM产生器260的特定实施例且通过实例方式,由QM产生器260产生的质量度量可包含维特比解码器或LDPC解码器的分支度量及针对块校正码在每码字基础上校正的符号的数目。将这些质量度量提供到质量监视器区段64。后者还可分别从平均值寄存器110及方差寄存器210接收平均值及方差值来充当质量度量。
仍参考图4,在306处,可将质量度量中的一者或一者以上与阈值进行比较。举例来说,此比较可确立质量度量的当前值与阈值之间的关系。质量度量的基线值可先前已(举例来说)由质量监视器区段64、平均值寄存器110及/或方差寄存器210存储。基线值可(举例来说)紧接在将数据存储于存储器20中的写入操作之后先前确立,如上文所论述。在此实施例的上下文中,可将所述关系确立为质量度量的当前值与基线值之间的差以供与阈值进行比较。当所述差不超过阈值时,操作沿正常分支移动到步骤308。步骤308接着确定是否可获得另一数据集合以进入到过程中。如果如此,操作可出于读取一后续数据集合的目的而返回到步骤302。然而,当所述差在306处超过阈值时,操作出于起始对此条件的响应的目的而沿过程的误差分支进行到310,所述条件指示已检测到与原始用户数据比较的所检索数据的降级的某一水平。可调用任何适合响应。在一个实施例中,可通知用户潜在数据降级。在另一实施例中,可起始补偿程序。一个适合误差响应存在于将具有校正量值的校正量与组成相关联的所检索数据集合的每一数据值相加。后补偿偏移/值可由后补偿单元70确定且通过后补偿加法器60与所检索数据值相加。校正量值可基于质量度量的当前值与质量度量的基线值之间的差。即,校正量值可与质量度量与基线值之间的差的增加成比例地增加。在完成步骤310后,操作旋即返回到步骤304以重新产生质量度量且随后在步骤306中对其值进行复位。在满足306处的决定后,操作可旋即返回到步骤308,步骤308可导致在302处读取一后续数据集合或在312处过程的结束。
参考图5,其图解说明供与可实施于图1的解码器44中的块校正码一起使用的通常由元件符号300′指示的图4的方法300的另一实施例。在301处进入过程。在302处,从存储器20读取数据块或集合。在304′处,根据使用中的任何适合块校正码(例如,里德-所罗门或BCH)解码且校正块。QM产生器260可出于参考目的而维持且保存每块校正的数目且可将校正计数提供到图1的质量监视器区段64。在306′处,监视校正计数。如果所述计数不超过可为零或适合较大值的所规定校正计数极限,那么操作移动到步骤308。后者接着确定是否可获得另一数据集合以进入到过程中。如果如此,那么操作返回到302。另一方面,如果超过校正计数极限,那么操作进行到起始对数据的潜在降级的响应的310,如上文所描述。操作接着可返回到重新确定校正计数以使得所述方法继续直到满足306′处的测试的304′。如果在308处不可获得另一数据集合,那么方法在312处结束。
鉴于前述内容,现在将关于在电荷陷获装置及其操作的上下文中确定质量度量及相关补偿提供额外细节,但这些细节并不打算为限制性。即,所属领域的技术人员可容易地将本发明论述应用于其它形式的存储器单元存储技术。使用具有N通道技术的典型NAND装置的实例,所属领域的技术人员将了解,注入到浮动栅极或每一存储器单元的经陷获电荷区域中的电子为提供可编程数据存储的机构。基于存储于给定存储器单元中的电荷的量,存储器单元的众所周知的阈值电压VT改变。因此,读取技术确立VT的相对值。在经陷获电荷装置(例如NROM SONOS或NAND SONO或者其中电荷陷获于通常为CMOS装置的栅极区域中的氮化物层中的类似装置)中,电子或空穴的添加致使形成存储器单元的晶体管的众所周知的VT充电。不管特定存储器单元架构如何,每一存储器单元的晶体管的VT的值表示存储于所述单元中的信息。
对于1位/单元或单电平单元(SLC)装置,VT值可为高或低值(存储2个电平),对于更复杂多电平单元(MLC)装置,可针对2位/单元装置存储4个电平、针对3位/单元装置存储8个电平、在4位/单元装置中存储16个电平等等。表达式N=log2(L)描述布置于一单元中的VT电平的数目(L)与所述布置所表示的位(N)的数目之间的关系。此外,申请人认识到N的非整数值为可接受的,举例来说,3.585个位/单元等于12个电平/单元。
现在转向图6,由通常由元件符号500指示的曲线图表示实例性系统的数据值的理想化分布。实例性系统每单元存储两个位以使得展示增加的VT的四个不同分布A到D,其中垂直轴表示VT的每一值的发生的数目且水平轴表示可交换地称为变量(x)的VT。每一理想化分布处于针对分布A指定为窗00、针对分布B指定为窗01、针对分布C指定为窗10且针对分布D指定为窗11的相关联窗内的中心。由于每一理想化分布处于所述窗中的相应一者内的中心,因此每一分布的平均值及峰值处于其相应窗内的中心。应了解,图6中所见的数据值的理想化分布可因在不存在任何失真机制的情况下读取存储于存储器中且从所述存储器读取的大量数据值而产生。因此,例如图6的所述数据分布的数据分布可通过读取适合大量存储器单元而构造为柱状图。此柱状图可基于在读取操作期间获得的正常用户数据或基于校准方式构造而成。在此方面,申请人已发现正常用户数据为充分随机的以便产生有用数据分布。对于基于实际读取操作获得的数据,可以若干种方式影响所得分布,如下文将在一个或一个以上适当点处描述。
仍参考图6,每单元装置2位含有信息A到D的由指定为502a、502b及502c的三个阈值电平划分的总共4个区或窗。通过实例方式,每单元装置4位具有将写入的值的16个窗,其中15个阈值电平分离这些值。在信号处理的语言中,分离信息值的离散阈值称为硬阈值。使用硬阈值的数据检测可称为分割器检测。由硬阈值表示的位在本文中可称为硬位。然而,较高分辨率信息可指示值位于硬阈值之间的何处且可称为软信息或软位。因此,硬位比软位更重要。软信息与特定样本距硬阈值如何近相关且因此与正确检测样本的概率相关。通过指示所检测值靠近于一硬阈值的软信息实现的检测样本具有比具有指示所检测值在两个硬阈值之间的中心的软信息的所检测样本低的校正概率。信号处理算法(例如维特比及低密度奇偶码以及可存在于解码器44(图1)中的其它算法)就误差概率使用软信息来帮助值或值序列的正确解码。
在图6的实例中,每一硬窗00到11借助软信息的额外2个位过度取样。因此,每一硬窗的VT范围划分成针对硬窗00指定为a到d的四个子范围。所述子范围在每一硬窗内由三个软阈值510分离,具体指定若干个软阈值510。因此使用总共16个软窗区或4个位来描述用户数据的2个位。应了解,软位及信息位的数目可鉴于本发明无限扩大。举例来说,含有用户信息的4个位的系统可由3个额外软位过度取样,因此需要数据的7个位来完全描述用户数据的4个位。每一硬窗对应于出于存储信息的目的而使用的存储器单元的物理性质的范围,而每一软窗对应于硬窗中的一者内的物理性质的子范围。读取操作确立物理性质属于哪一软窗。
仍参考图6,应了解,可提供且以用户数据分辨率写入用户数据,所述用户数据分辨率包含将每存储器单元存储的特定数目个用户数据位(例如,每单元2个位)以使得存储器单元通过其存储信息的物理性质被至少划分成通过对应于用户数据分辨率的硬阈值的布置分离的特定数目个区域。所存储数据集合可随后在一个或一个以上读取操作中读取以使得通过读取操作从存储器单元中的相关联者获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于非易失性固态存储器中且从非易失性固态存储器被读取而受一个或一个以上失真机制影响。此类失真可包含图6所图解说明的分布的移位及扩展,如将由随后图图解说明。其它失真可包含(举例来说)跨越(x)的总体范围引入的山峰或可称为下垂的山谷。此外,可同时存在一个以上形式的失真。不管一或若干失真的特定形式如何,物理性质的数据值可随后针对每一相关联存储器单元以大于特定用户数据分辨率的读取分辨率读取以获得与相关联的所检索数据中的每一数据值相关联的软位的集合以使得所述软位指示每一数据值驻存于硬阈值之间的何处,借此在读取操作期间产生软信息。相关联的所检索数据集合的至少一个校正或补偿值可基于软位而确定。
参考图7,由通常由元件符号600指示的曲线图表示已经受存储器20(图1)中的老化的失真的数据值的实例性分布。应注意,图7的曲线图基于使用(通过实例方式但并不打算为限制性)用户信息的2个位及2个软位的图6的曲线图。在图7中,可看出与图6中的对应分布相比,分布A到D在VT上向下移位。可提供软位或软信息以用于测量及确定数据的标准统计表示,例如,每一硬窗内的平均值及硬窗内的所有值的方差。举例来说,所确定平均值可用以指示数据未处于硬窗中的中心。在图7中,针对硬窗00,线602表示所述硬窗的中心线。分布A的平均值由线604指示以使得经移位分布A的平均值在VT上移位展示为双头箭头的量610,以使得在目前实例中,分布A的中心线604属于硬窗00的子范围(a)。因此,所图解说明移位指示数据误差的显著概率,这是因为子范围(a)紧紧邻近于硬窗00的下部边缘且可触发适当误差响应。每一窗的中心与平均值之间的差610可用作校正值以修改每一窗内的所有数据值以使得经修改数据的平均值处于所述窗内的中心。在此方面,应注意,分布B到D也展示为移位差610,然而,每一分布的移位量可不同以使得可针对每一分布应用不同补偿量。出于校正所存储数据的目的,可以任何适合方式(举例来说,通过一旦移位量超过某一阈值即重新写入数据)执行补偿。可(举例来说)通过将等于移位610的数据量与每一数据值相加来执行校正读取数据。可通过在将数据值写入到存储器之前将此数据量与每一数据值相加来实现预补偿。
参考图6及7,图6中的VT分布A到D中的每一者的初始宽度通常由于写入操作中的公差的变化所致。因此,可与初始宽度相关联地确定初始方差或偏差。使用双头实箭头指示图7中的D分布的初始宽度620。随后,在编程/擦除循环(称作耐久性)及老化(也称作保持性)之后分布的扩展也可伴随分布的移动。所属领域的技术人员将了解,在已知时间内高温浸渍或烘培可视为等效于在长得多的时间内以更典型周围温度的同一经编程装置老化。应了解,每一存储器单元可略微不同地编程且每一存储器单元可略微不同地保持电荷。使用虚线以虚影展示表示分布D的改变的后续分布622。标的分布经受扩展以及移位。使用双头虚箭头指示后续D分布的后续宽度624。因此,后续方差或宽度可显著大于分布D的初始方差或宽度。然而,应了解,至少出于本实例的目的经移位分布D与后续分布622的平均值为相同的。此类别的传输或存储通道的信噪比(SNR)的标准定义为窗的宽度除以用电力或电压分贝表示的信号分布的标准偏差(西格玛)。具有大西格玛的宽分布具有低SNR。在一个实施例中,质量监视区段64(图1)可将后续方差与初始方差(如通过方差计算214确定)进行比较且基于所述比较确定适当补偿量。在另一实施例中,如果初始方差与后续方差之间的差超过阈值,那么存储器单元可能被重新写入以便至少部分地恢复初始方差。应了解,可通过根据对应于软位的物理性质的子范围过滤所检索数据而针对所检索数据集合开发数据分布的柱状图(例如图7中所展示),如将进一步描述。以略微不同方式陈述,可通过为硬阈值之间的每一软位值的发生计数来形成柱状图信息。
参考图1、6及7,可在从存储器20读取每一数据值时通过后补偿加法器60将校正或补偿量(例如对应于移位610的量)与每一值相加以补偿可由于延长的存储时间、温度或电压改变或者由于多个擦除/编程循环的降级而发生的电荷损失。与每一数据值相加的校正量通常少于全硬位,然而,补偿并不限定于软位。后者在通常在不改变硬位值的情况下允许待与数据相加的相对小的校正量方面具有益处。如上文所论述,平均值可针对对应于硬窗中的每一者的分布A到D中的每一者移位不同量。在一个实施例中,可针对分布A到D中的每一者确定平均均值误差,从而在目前实例中产生四个平均值。接着可将这四个值的平均值应用为所有所检索数据值的总校正值。应了解,任何可获得数目个分布可贡献于总平均值且四个分布的使用为通过实例方式且并不打算为限制性。在另一实施例中,每一窗的均值误差经确定且用作仅应用于属于所述特定窗的所述值的校正值以使得每一窗可经受不同校正值。
在又一实施例中,每一窗的数据的所确定均值位置可用以确立跨越图7中的VT值的整个范围延伸的曲线拟合方程式。所述曲线拟合方程式可采取表示数据所必需的任何阶次或形式的任何所要形式。通过实例方式,适合曲线拟合程序将为所属领域的技术人员所熟悉且包含但不限于多项式拟合、指数拟合、仿样拟合、最小平方拟合等等。一般来说,最佳类型的拟合取决于拟合的数据。在一个实施例中,曲线拟合程序的处理器实施方案可允许不仅改变曲线拟合的参数而且还改变曲线拟合操作的类型的灵活性。一旦确立曲线拟合方程式,即可使用所述方程式来基于数据的曲线拟合与所要位置之间的差确定每一数据值的校正量。
此校正/补偿过程可由以下方程式表征:
校正量=f(x)-g(x)   (1)
其中f(x)为表示数据的曲线拟合的函数且g(x)为表示数据的所要位置的函数。如上文所述,变量(x)可表示VT。函数g(x)针对VT的给定输入值给出VT的所要值而g(x)表示VT的实际输入值。接着将如由方程式1反映的每一输入数据值(x)的校正量与输入数据值相加以产生经补偿值作为输出。校正量可为正的或负的。
转向图8,f(x)及g(x)对输入值(x)的曲线图通常由800指示,且f(x)中的所测量均值位置或所测量数据值各自由X指定。就两个方程式来说,数据被描述为类型y=mx+b的一阶方程式,其中数据的输出表示y通过将实际数据值x与增益因子m相乘且加上常数值b来计算,其中b可为正的或负的。在图8的实例中,
g(x)=x   (2)
f(x)=x-2   (3)
针对(x)的给定值通过f(x)给出的数据的曲线拟合表示与通过g(x)给出的数据的所要位置之间的差变成需要与(x)的给定值相加的校正量,此将为需要的以使数据处于窗内的中心。在目前实例中,在f(x)及g(x)两者均为线性表达式的情况下:
校正量=f(x)-g(x)=x-(x-2)=+2   (4)
因此,针对(x)的任何给定输入值,校正值为x+2。
参考图9,图f(x)及g(x)对输入值(x)的另一曲线图通常由元件符号900指示。同样,f(x)为表示数据的曲线拟合的函数且g(x)为表示数据的所要位置的函数。所要均值位置在f(x)中由圆圈指定,而所测量位置或所测量数据值各自由X指定。应注意,f(x)的形状可视为山峰而下垂将沿垂直轴相对地出现以便在g(x)下方延伸。在此图中,用由15个硬阈值分离的16个可能数据值表示4位数据,然而,每一硬阈值由7个额外软阈值进一步划分,从而产生总共128个可能值。因此,在此实例中,4位数据经受16个分布,此类似于图8的先前2位数据实例,惟针对此实例数据的均值位置可表示为以下类型的二阶方程式除外:
y=ax2+bx+c   (5)
因此,g(x)保持呈上文方程式(2)的形式而f(x)可呈方程式(5)的二次形式,但此并非所需形式,这是因为可使用提供曲线拟合的所要水平的任何适合形式。可以许多不同方式执行此校正的实施方案,如将在下文中立即描述。
参考图10,用于对数据集合进行曲线拟合且应用校正的方法通常由元件符号1000指示。所述方法在1002处通过根据上文已描述的技术确定进入方法的每一分布的平均值开始。应了解,还可确定方差或所关注的任何其它适合统计值。在1004处,可使用曲线拟合程序来公式化遵循每一分布的平均值的曲线拟合方程式。在1006处,针对每一分布的每一数据值基于数据的曲线拟合表示及数据的所要位置(举例来说,如上文关于图8及9所描述)确定校正量。在1008处,所述方法以通过后补偿加法器60(图1)或预补偿加法器62分别经由后补偿单元70及预补偿单元72将校正量与所述分布的数据相加结束。应了解,这些步骤中的任何或所有步骤可由微控制器50或针对将执行的功能具体设计的专用硬件执行,且所述装置中的任一者可由所属领域的技术人员鉴于本文中已揭露的教示容易地配置。
仍连同图1一起参考图10,在一个实施例中,微控制器50在数据已从存储器20传送到暂时性存储器103之后依据数据分布确定统计平均值及曲线拟合方程式。此实施例可允许涉及曲线拟合的异常情形的额外灵活性且可允许基于程序变量调整平均值的统计计算。可在数据驻存于暂时性存储器203中时将所确定的校正量与数据相加,或者可将校正量添加于专用硬件功能中以减小处理器上的负担且改进总体系统性能。
在一个实施例中,可通过过滤值在值的若干个子范围内的分布或收集的数据执行平均值确定,所述子范围中的每一者可表示软窗中的一者。通过将每一子范围内的所有数据求和且除以样本的数目计算所述数据的平均值。然而,可出于确定给定分布的平均值的目的而采用任何适合技术,包含(举例来说)使用变量范围或范围与偏移、移动平均值、指数移动平均值及低通滤波以及其它众所周知的均值或平均值计算。还应了解,给定平均技术通常可容易地以硬件实施,且因此,可通过实施为硬件功能而从处理器上的负担移除此功能。在一个硬件实施例中,可在后补偿加法器60与存储器接口34之间的数据流中包含平均单元以使得在从存储器20读取数据时,数据分布一完全可用于加法器60或填充到暂时性存储器103中平均结果即准备好用于处理。在此硬件实施方案中,可基于预期可用于计算的分布的数目复制均值计算电路,如将在下文中立即进一步描述。
现在将注意力转向图11,其为图解说明通常由元件符号1100指示的硬件均值确定单元的一个实施例的框图。通过实例方式,后者经配置以供用于4位系统中,然而,所属领域的技术人员可基于本文中的教示容易地使此单元适应任何所要数目个位。针对4位均值确定单元,存在所预期的对应于16个可能值的16个可能分布。因此,硬件系统包含16个分离的均值范围单元,如图11中所展示且适当地在数字上指定。每一均值范围单元1到16在输入数据路径1102上接收输入数据分布且将平均值提供到其中的每一者适当地在数字上指定的相关联平均值寄存器1到16。在一个实施例中,举例来说,均值范围检测器1到16的范围可为连续的且不重叠,从而对应于例如图7中所见的所述软窗的每一软窗。在另一实施例中,所述范围可至少部分地彼此重叠。如所见,举例来说,在图7中,此重叠可反映分布A到D的重叠。在再一实施例中,可将所述范围间隔开以使得从平均为任何分布的一部分排除VT或(x)的一些值。举例来说,当期望所确定平均值中的较高相对准确性时,可使用后者。
连同图11一起参考图12,图12为图解说明图11中所见的均值范围单元1到16的一个实施例的框图,所述框图通常由元件符号1200指示。分布范围检查器1202从分布输入1102接收所有输入分布值。分布范围检查器实际上为输入分布值的带通滤波器且仅使在从低电平固定(x)值1210到高电平固定值1212规定的范围内的所述值通过。因此,每一分布范围检查器的输出1214可仅包含属于在(x)的所规定低电平1210与(x)的所规定高电平1212之间且包含1210及1212的所规定范围内的数据值。均值计算器1220接收范围内数据值且确定所接收值的平均值。平均值寄存器1222存储所述平均值。因此,图11的均值确定单元1100基于设定相应均值范围单元1到16的高/低电平限制的方式产生所关注的每一子范围的平均值。
再次参考上文方程式(1),校正量可为在所要数据与曲线拟合数据之间执行的两个方程式之间的差。此可在一个实施例中实施为方程式的差且因此由处理器执行。在另一实施例中,可与表示数据的传入分布的数据表及表示目标值的所要数据位置表一起采取表差法。这些表中的任一者或两者可依据相关联方程式填写。出于依据曲线拟合方程式的输出产生的表的目的,可至少部分地使用依据数据分布获得的直接测量值产生数据表。表操作的差分可由处理器容易地执行或实施为专用件的硬件。人们认为,所属领域的技术人员可容易地借助手头的总体揭示内容配置任一种方法。应了解,如将在下文中立即看出,基于表的方法容易地适应非线性或逐段线性函数或者其任何所要组合。
图13为基于表差的电路的一个实施例的框图,所述框图通常由元件符号1300指示。在此实施例中,电路1300经配置以用于将校正量应用于可在输入线1304上获得的实例性传入分布流1302。通过非限制性实例方式,输入流1302包含值序列5、4、3、2、1、0、9、8、7、6。表1条目及值由元件符号1306指示,其中每一条目通过其数据值索引。即,给定条目数值的数据值等于给定条目数。举例来说,表条目1的数据值等于1;表条目2的数据值等于2;表条目3的数据值等于3等等。表2根据与表1相同的条目数集合陈述校正值。通过非限制性实例的方式,校正值集合由元件符号1308指示。对于表2,实例性条目0到5各自设定为1而条目6到9各自设定为-1。应了解,在此实例中,校正值集合表示逐段线性函数且表的分段可以灵活方式表示许多形式的函数(包含非线性函数)以组成函数段的逐段阵列。此外,校正值可为正的或负的。输入流1302同步通过表1及表2以使得通过加法器1312与对应表条目相加从而基于所述输入流产生输出流1314,表1及表2。在目前实例中,输出流值为6、5、4、3、2、1、8、7、6、5。出于描述性目的且为了促进读者的理解,图13中的数据值已给出为整数,然而,应了解,此些值可表示包含附加到硬位或数据位的软信息的任何长度的数据值。在另一实施例中,电路1300可以具有由处理器(例如,图1的微控制器50)执行的相关联功能的软件实施。
连同图13一起参考图14,用于初始化及操作图13的表差电路的方法的一个实施例通常由元件符号1400指示。在1402处,所述方法通过用任何所要值(例如,从1到表的末尾的顺序值)填充表1开始。在1404处,用对应于从条目1到表的末尾的每一条目的校正量加载表2。在1406处,将传入数据1302同步流式传输至表1及表2以使得对所述表进行寻址。在1408处,加法器1312将所呈现值相加。在1410处,所述方法以加法器1312产生经补偿输出1314结束。应了解,目前方法非常通用以使得可视需要重新加载任一表中的值。举例来说,可用可与其它类型的补偿有关或用于在借助第一遍补偿获得不满意结果的情况下对原始数据的重新尝试的不同校正量重新加载表2。在另一实施例中,可用经校正输出值加载表1以使得不需要表2以及加法器1312。即,可用以下值加载表1:
表1
Figure BDA00003158786700191
转向图1及15,后者为图解说明通常由元件符号1500指示的用于确定校正或补偿值的方法的一个实施例的流程图。应了解,可(举例来说)由图1的质量监视区段64出于(举例来说)基于从解码器44或格子解码器的质量度量单元260接收的质量度量(例如,位误差率(BER)、均方误差(MSE))、基于块误差校正码的校正计数(CC)、来自均值计算器114的分布的平均值或来自方差计算器214的方差确定将提供到后补偿单元70及预补偿单元72的校正值的目的而采用此方法。在1502处,读取所关注的数据集合或分布且确定至少一个质量度量的初始基线值。在1504处,检测可包含以下各项的触发事件:时间的通过、通过将质量度量的当前值与基线值进行比较实现的读回操作中的数据集合的降级、块误差校正码中的每块校正的误差的数目及为数据集合的至少潜在降级的指示符的任何其它适合事件。应了解,可在定期与某一阈值比较的基础上监视质量度量。可在超过阈值时发生检测。在1506处,将校正值应用于数据集合。可(举例来说)基于所确定平均值选择校正值。在一个实施例中,所述方法递增地步进通过校正值的潜在值的范围。在1508处,在校正值在适当位置中的情况下重新确定质量度量。在1510处,出于参考目的保存校正值及相关联质量度量值。在1512处,做出是否将另一校正值应用于数据集合的确定。如果如此,那么操作返回到步骤1506。否则操作进行到1514,其中针对在校正数据中的应用选择产生最接近基线值的质量度量的值的最佳校正值。即,选定值表示数据的最高质量或所应用的所有校正值当中的质量的最大改进。在1516处,出于校正目的将选定校正值应用到数据。因此,可基于质量度量的迭代确定最优化校正值。
再次参考图1且通过实例方式,存储器20展示为包含如上文所描述的非易失性存储器装置的多个半导体存储器裸片1600(展示其中的两者)。图16图解性地图解说明每一存储器裸片1600的物理布局的一个实施例的细节。明确地说,每一存储器裸片1600可由指定为平面0及平面1的一对区域组成。这些平面中的每一者由指定为擦除块0到n-1的多个n擦除块组成。
连同图16一起参考图17,图17图解性地图解说明通常由元件符号1700指示的适合用于形成每一裸片1600的擦除块的擦除块的一个实施例。擦除块1700包含沿指定为字线0到字线m-1的字线布置的多个页。每一字线由多个页组成。在目前实例中,每一字线包含两个页。所述页指定为页0到页m-1以使得总共m个页组成每一擦除块。在目前实例中,所述页布置为在虚线矩形内展示的偶数编号的页的第一群组1702及也在虚线矩形内展示的奇数编号的页的第二群组1704。如上文所论述,可基于存储器裸片的物理布局(例如存储器裸片的各种子区域)应用补偿。在适合实施例中,可基于例如如图16及17所图解性地图解说明的这些特征的平面、擦除块、字线或页选择子区域。
已出于图解及说明的目的呈现对本发明的前述说明。本发明并不打算为穷尽性或将本发明限于所揭示的一或若干精确形式,且其它修改及变化形式根据上文教示可为可能的,其中所属领域的技术人员将认识到特定修改、排列、添加及其子组合。
结论
本发明揭露一种供与由用于存储用户数据的多个存储器单元组成的非易失性存储器一起使用的设备及相关联方法,其中所述存储器单元经配置以用于基于可响应于编程操作而设定的物理性质存储所述用户数据且用于在读取操作中读取表示所述用户数据的所存储数据。
在一个实施例中,编码器在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响。质量度量产生器响应于所述所检索数据而产生质量度量,所述质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变。质量监视器区段确立所述质量度量的当前值与阈值之间的关系且将所述关系监视为指示所述所检索数据的质量的降级,且响应于所述监视而选择性地起始误差响应事件。
在另一实施例中,解码器在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响。质量度量产生器响应于所述所检索数据而产生初始质量度量,所述初始质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变。质量监视区段迭代地使一系列校正值与所述所检索数据集合相加以形成一系列经校正的所检索数据集合以使得经修改质量度量与所述系列的经校正的所检索数据集合中的每一者相关联且选择所述系列的校正值中的产生所述质量度量的最大改进的特定一者用于随后校正来自所述存储器的至少一后续所检索数据集合。在一个特征中,可鉴于所述质量度量的与最初存储所述数据相关联的基线值识别所述选定校正值。
已出于图解及说明的目的呈现对本发明的前述说明。本发明并不打算为穷尽性或将本发明限于所揭示的一或若干精确形式,且其它修改及变化形式根据上文教示可为可能的,其中所属领域的技术人员将认识到特定修改、排列、添加及其子组合。

Claims (31)

1.一种供与由用于存储用户数据的多个存储器单元组成的非易失性固态存储器一起使用的方法,其中所述存储器单元经配置以用于基于可响应于编程操作而设定的物理性质存储所述用户数据且用于在读取操作中读取表示所述用户数据的所存储数据,所述方法包括:
在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响;
响应于所述所检索数据而产生质量度量,所述质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变;
确立所述质量度量的当前值与阈值之间的关系;及
将所述关系监视为指示所述所检索数据的质量的降级,且响应于所述监视而选择性地起始误差响应事件。
2.根据权利要求1所述的方法,其中起始所述误差响应事件包含产生指示先前在所述编程操作中存储的所述用户数据的至少潜在丢失的警告且将所述警告引导到所述存储器的用户。
3.根据权利要求1所述的方法,其包含将所述质量度量选择为数学统计值以从所述所检索读取数据导出所述质量度量。
4.根据权利要求3所述的方法,其包含将所述数学统计值执行为所述所检索数据的平均值。
5.根据权利要求3所述的方法,其包含将所述数学统计值执行为所述所检索读取数据的标准偏差。
6.根据权利要求3所述的方法,其中以经编码形式将所述用户数据存储于所述存储器中,且所述方法包含将所述质量度量确定为所述所检索读取数据的位误差率。
7.根据权利要求3所述的方法,其中以经编码形式将所述用户数据存储于所述存储器中,且所述方法包含响应于所述所检索数据而基于维特比格子的分支度量确定所述质量度量。
8.根据权利要求7所述的方法,其中所述分支度量为基于出现于所述所检索数据中的序列的预期值与出现于所述所检索数据中的所述序列的实际值之间的差的均方误差项。
9.根据权利要求1所述的方法,其包含将所述阈值设定为预定最大误差量。
10.根据权利要求1所述的方法,其包含在所述读取之前,
最初将所述用户数据存储于所述存储器单元中;
确定所述质量度量的与最初存储所述用户数据相关联的基线值;及
将所述关系确立为所述质量度量的所述当前值与所述基线值之间的差以供与所述阈值进行比较且响应于所述差超过所述阈值而选择性地起始所述误差响应事件。
11.根据权利要求10所述的方法,其中所述误差响应事件包含将具有一校正量值的校正量与组成所述相关联的所检索数据集合的每一数据值相加。
12.根据权利要求11所述的方法,其包含响应于所述质量度量与所述基线值之间的所述差的增加而增加所述校正量值。
13.根据权利要求1所述的方法,其中确立所述关系包含将所述质量度量的所述当前值与所述阈值进行比较且响应于在所述比较中所述当前值超过所述阈值而选择性地起始所述误差响应事件。
14.根据权利要求1所述的方法,其包含:在所述读取之前,基于每单元特定多数目个位及特定数据分辨率最初将所述用户数据写入到所述存储器单元以使得所述物理性质被划分成通过硬阈值的布置分离的特定数目个区域,且所述读取以大于所述特定数据分辨率的读取分辨率检测所述物理性质的值以产生与所述相关联的所检索数据中的每一数据值相关联的软位集合以使得所述软位指示每一数据值驻存于所述硬阈值之间的何处;及基于所述软位产生所述质量度量。
15.根据权利要求14所述的方法,其中所述物理性质的范围定义在所述硬阈值中的邻近者之间延伸的硬窗,且读取包含跨越每一硬窗分布软阈值的布置以确立与每一硬窗相关联的多个软窗,且所述软窗中的每一者定义一个软位,且所述读取以充分分辨率确立所述物理性质的数据值以将所述物理性质的所述值识别为属于所述软窗中的一者。
16.根据权利要求15所述的方法,其包含
将子范围集合指派给所述物理性质以使得一个子范围对应于每一软窗,及
基于所述子范围过滤所述所检索数据集合以使得将所述所检索数据的每一数据值指派给所述子范围中的一者以供所述确定使用。
17.根据权利要求15所述的方法,其中读取所述所存储数据集合包含:(i)收集每一数据值以形成与读取所述存储器单元中的至少给定一者相关联的数据值集合以使得所述数据值集合跨越所述硬窗间隔开,(ii)针对所述给定存储器单元识别所述数据值集合跨越所述物理参数的总体范围的总体分布,及(iii)基于所述软位及所述总体分布确定所述相关联的所检索数据集合的至少一个校正值。
18.根据权利要求17所述的方法,其中
所述识别包含对所述数据值集合进行曲线拟合以公式化至少一个所测量分布方程式,且
确定包含确立在不存在所述失真机制的情况下准确的所要分布方程式且将所述所测量分布方程式与所述所要分布方程式进行比较以确立所述校正值。
19.根据权利要求17所述的方法,其中将所述存储器组织成若干页且执行所述读取操作以在不大于逐页基础上获得所述所存储数据集合。
20.根据权利要求19所述的方法,其中将每一页组织为多个字线且在逐字线基础上执行所述读取操作。
21.根据权利要求17所述的方法,其中识别所述总体分布包含确定由所述软位表征的所述数据值集合跨越每一硬窗的子分布,并确定每一硬窗的子分布均值误差,且基于所有所述硬窗的子分布均值误差的总体平均均值误差执行所述校正。
22.根据权利要求17所述的方法,其中识别所述总体分布包含确定由所述软位表征的所述数据值集合跨越每一硬窗的子分布,且基于每一硬窗的所述子分布均值误差执行所述硬窗的所述校正。
23.根据权利要求15所述的方法,其中由具有存储器裸片区的存储器裸片形成所述存储器,且读取所述所存储数据集合包含:(i)至少部分地基于所述存储器裸片的物理布局识别所述存储器裸片区的补偿子区域类型中的多种类型,及(ii)针对每一子区域类型收集所述所存储数据的不同集合,及(iii)确定包含针对每一子区域类型单独地确立不同校正值。
24.根据权利要求1所述的方法,其中使用供应电压值操作所述存储器,且所述存储器在操作温度下操作,且所述方法包含另外起始所述产生以基于所述供应电压值的改变、所述操作温度的改变及预定时间推移中的至少一者重新测量所述质量度量。
25.根据权利要求1所述的方法,其中以经编码形式将所述用户数据存储于所述存储器中,且所述方法包含
在所述读取期间根据块校正码校正并解码所述所存储数据集合,
维持所述用户数据的经历校正的当前块的校正计数,及
基于所述校正计数的特定值起始所述产生。
26.一种供与由用于存储用户数据的多个存储器单元组成的非易失性固态存储器一起使用的设备,其中所述存储器单元经配置以用于基于可响应于编程操作而设定的物理性质存储所述用户数据且用于在读取操作中读取表示所述用户数据的所存储数据,所述设备包括:
解码器,其用于在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响;
质量度量产生器,其用于响应于所述所检索数据而产生质量度量,所述质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变;及
质量监视区段,其用于确立所述质量度量的当前值与阈值之间的关系且用于将所述关系监视为指示所述所检索数据的质量的降级,且响应于所述监视而选择性地起始误差响应事件。
27.一种供与由用于存储用户数据的多个存储器单元组成的非易失性固态存储器一起使用的方法,其中所述存储器单元经配置以用于基于可响应于编程操作而设定的物理性质存储所述用户数据且用于在读取操作中读取表示所述用户数据的所存储数据,所述方法包括:
在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响;
响应于所述所检索数据而产生初始质量度量,所述初始质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变;
将第一校正值与所述所检索数据集合相加以形成第一经校正的所检索数据集合;
基于所述第一经校正的所检索数据集合产生第一经校正质量度量,所述第一经校正质量度量响应于所述用户数据与所述第一经校正的所检索数据集合之间的差而在值上改变;
将所述第一经校正质量度量与所述初始质量度量进行比较以产生第一质量差值;
将不同于所述第一校正值的第二校正值与所述所检索数据集合相加以形成第二经校正的所检索数据集合;
基于所述第二经校正的所检索数据集合产生第二经校正质量度量,所述第二经校正质量度量响应于所述用户数据与所述第二经校正的所检索数据集合之间的差而在值上改变;
将所述第二经校正质量度量与所述初始质量度量进行比较以产生第二质量差值;及
将当前最低质量差值选择为所述第一质量差值及所述第二质量差值中的最低一者且将所述当前最低质量差值的相关联当前校正值指派为用于随后校正来自所述存储器的至少一后续所检索数据集合的当前优选校正值。
28.根据权利要求27所述的方法,其进一步包括:
将不同于所述第一校正值及所述第二校正值的额外校正值与所述所检索数据集合相加以形成额外经校正的所检索数据集合;
基于所述额外经校正的所检索数据集合产生额外经校正质量度量,所述额外经校正质量度量响应于所述用户数据与所述额外经校正的所检索数据集合之间的差而在值上改变;
将所述第二经校正质量度量与所述初始质量度量进行比较以产生额外质量差值;及
将当前最低质量差值选择为所述第一质量差值、所述第二质量差值及所述额外质量差值中的最低一者且将所述当前最低质量差值的所述相关联当前校正值指派为用于随后校正所述额外所检索数据集合的所述当前优选校正值。
29.根据权利要求28所述的方法,其包含针对一系列其它额外校正值迭代地重复权利要求28的所述相加、产生、比较及选择且从所有所述校正值当中选择所述当前最低质量差值。
30.一种供与由用于存储用户数据的多个存储器单元组成的非易失性固态存储器一起使用的方法,其中所述存储器单元经配置以用于基于可响应于编程操作而设定的物理性质存储所述用户数据且用于在读取操作中读取表示所述用户数据的所存储数据,所述方法包括:
在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响;
响应于所述所检索数据而产生初始质量度量,所述初始质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变;
迭代地使一系列校正值与所述所检索数据集合相加以形成一系列经校正的所检索数据集合以使得经修改质量度量与所述系列的经校正的所检索数据集合中的每一者相关联;
选择所述系列的校正值中的产生所述质量度量的最大改进的特定一者用于随后校正来自所述存储器的至少一后续所检索数据集合。
31.一种供与由用于存储用户数据的多个存储器单元组成的非易失性固态存储器一起使用的设备,其中所述存储器单元经配置以用于基于可响应于编程操作而设定的物理性质存储所述用户数据且用于在读取操作中读取表示所述用户数据的所存储数据,所述设备包括:
解码器,其用于在所述读取操作中读取所述所存储数据的集合以使得通过所述读取操作获得相关联的所检索数据集合,所述所检索数据由于所述所存储数据集合已被存储于所述非易失性固态存储器中且从所述非易失性固态存储器被读取而受一个或一个以上失真机制影响;
质量度量产生器,其用于响应于所述所检索数据而产生初始质量度量,所述初始质量度量响应于所述用户数据与所述相关联的所检索数据之间的差而在值上改变;及
质量监视区段,其用于迭代地使一系列校正值与所述所检索数据集合相加以形成一系列经校正的所检索数据集合以使得经修改质量度量与所述系列的经校正的所检索数据集合中的每一者相关联,且用于选择所述系列的校正值中的产生所述质量度量的最大改进的特定一者用于随后校正来自所述存储器的至少一后续所检索数据集合。
CN201180053846.6A 2010-09-23 2011-09-08 基于存储器质量监视器的补偿方法及设备 Active CN103210376B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/888,585 US8499227B2 (en) 2010-09-23 2010-09-23 Memory quality monitor based compensation method and apparatus
US12/888,585 2010-09-23
PCT/US2011/050801 WO2012039946A2 (en) 2010-09-23 2011-09-08 Memory quality monitor based compensation method and apparatus

Publications (2)

Publication Number Publication Date
CN103210376A true CN103210376A (zh) 2013-07-17
CN103210376B CN103210376B (zh) 2015-11-25

Family

ID=45871944

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180053846.6A Active CN103210376B (zh) 2010-09-23 2011-09-08 基于存储器质量监视器的补偿方法及设备

Country Status (6)

Country Link
US (3) US8499227B2 (zh)
EP (1) EP2619673B1 (zh)
JP (1) JP5695203B2 (zh)
KR (1) KR101483383B1 (zh)
CN (1) CN103210376B (zh)
WO (1) WO2012039946A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105575434A (zh) * 2014-10-31 2016-05-11 英飞凌科技股份有限公司 非易失性存储器的健康状态
CN109642829A (zh) * 2016-09-08 2019-04-16 高通股份有限公司 时间温度传感器位置偏移误差校正
CN110121707A (zh) * 2016-12-30 2019-08-13 谷歌有限责任公司 确定语义上不同的响应以提供作为包括在电子通信中的建议
CN112771613A (zh) * 2018-08-31 2021-05-07 美光科技公司 存储器系统中的温度补偿
CN112786100A (zh) * 2015-02-16 2021-05-11 德州仪器公司 铁电存储器中的数据保持损失筛选
CN113377285A (zh) * 2020-02-25 2021-09-10 美光科技公司 用于读取干扰的预测性媒体管理
CN113628667A (zh) * 2020-05-07 2021-11-09 美光科技公司 对用以从存储器单元读取数据的操作的智能主动响应

Families Citing this family (72)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101506655B1 (ko) * 2008-05-15 2015-03-30 삼성전자주식회사 메모리 장치 및 메모리 데이터 오류 관리 방법
US8499227B2 (en) * 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus
US8639865B2 (en) * 2011-10-25 2014-01-28 Micron Technology, Inc. Method and apparatus for calibrating a memory interface with a number of data patterns
KR20130049332A (ko) * 2011-11-04 2013-05-14 삼성전자주식회사 메모리 시스템 및 그것의 동작 방법
EP2595321A1 (en) * 2011-11-16 2013-05-22 MStar Semiconductor, Inc. Tail-biting convolutional decoding apparatus and decoding method
US8811076B2 (en) 2012-07-30 2014-08-19 Sandisk Technologies Inc. Systems and methods of updating read voltages
US8751915B2 (en) * 2012-08-28 2014-06-10 Lsi Corporation Systems and methods for selectable positive feedback data processing
US8694847B2 (en) * 2012-08-28 2014-04-08 Lsi Corporation Systems and methods for sector quality determination in a data processing system
US8874992B2 (en) 2012-08-31 2014-10-28 Sandisk Technologies Inc. Systems and methods to initiate updating of reference voltages
US9519531B2 (en) * 2012-11-27 2016-12-13 Samsung Electronics Co., Ltd. Memory devices and memory systems having the same
KR102076067B1 (ko) * 2012-11-27 2020-02-11 삼성전자주식회사 메모리 모듈 및 메모리 시스템
US9842660B1 (en) * 2012-12-28 2017-12-12 Virident Systems, Llc System and method to improve enterprise reliability through tracking I/O performance metrics in non-volatile random access memory
US9286002B1 (en) 2012-12-28 2016-03-15 Virident Systems Inc. Dynamic restriping in nonvolatile memory systems
US9214959B2 (en) 2013-02-19 2015-12-15 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for skip layer data decoding
US9021188B1 (en) 2013-03-15 2015-04-28 Virident Systems Inc. Small block write operations in non-volatile memory systems
US9135164B2 (en) 2013-03-15 2015-09-15 Virident Systems Inc. Synchronous mirroring in non-volatile memory systems
US10073626B2 (en) 2013-03-15 2018-09-11 Virident Systems, Llc Managing the write performance of an asymmetric memory system
US20140317467A1 (en) * 2013-04-22 2014-10-23 Storart Technology Co., Ltd. Method of detecting and correcting errors with bch engines for flash storage system
US9274889B2 (en) 2013-05-29 2016-03-01 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for data processing using global iteration result reuse
US8959414B2 (en) 2013-06-13 2015-02-17 Lsi Corporation Systems and methods for hybrid layer data decoding
TWI521513B (zh) 2013-06-28 2016-02-11 群聯電子股份有限公司 讀取電壓設定方法、控制電路與記憶體儲存裝置
US20150012801A1 (en) * 2013-07-03 2015-01-08 Chih-Nan YEN Method of detecting and correcting errors with bch and ldpc engines for flash storage systems
US8917466B1 (en) 2013-07-17 2014-12-23 Lsi Corporation Systems and methods for governing in-flight data sets in a data processing system
US8817404B1 (en) 2013-07-18 2014-08-26 Lsi Corporation Systems and methods for data processing control
KR102065664B1 (ko) 2013-08-09 2020-01-13 삼성전자 주식회사 메모리 장치의 열화 상태 추정 방법 및 이를 이용한 메모리 시스템에서의 웨어 레벨링 방법
US8908307B1 (en) 2013-08-23 2014-12-09 Lsi Corporation Systems and methods for hard disk drive region based data encoding
US9196299B2 (en) 2013-08-23 2015-11-24 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for enhanced data encoding and decoding
US9298720B2 (en) 2013-09-17 2016-03-29 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for fragmented data recovery
US9219503B2 (en) 2013-10-16 2015-12-22 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for multi-algorithm concatenation encoding and decoding
US9489256B2 (en) 2013-11-07 2016-11-08 Seagate Technology Llc Device quality metrics using unsatisfied parity checks
US9323606B2 (en) 2013-11-21 2016-04-26 Avago Technologies General Ip (Singapore) Pte. Ltd. Systems and methods for FAID follower decoding
RU2014104571A (ru) 2014-02-10 2015-08-20 ЭлЭсАй Корпорейшн Системы и способы для эффективного с точки зрения площади кодирования данных
US9378765B2 (en) 2014-04-03 2016-06-28 Seagate Technology Llc Systems and methods for differential message scaling in a decoding process
JP2015204126A (ja) 2014-04-16 2015-11-16 株式会社東芝 半導体記憶装置
US10402319B2 (en) 2014-07-25 2019-09-03 Micron Technology, Inc. Apparatuses and methods for concurrently accessing different memory planes of a memory
US9594615B2 (en) 2014-09-30 2017-03-14 Apple Inc. Estimating flash quality using selective error emphasis
US10089589B2 (en) * 2015-01-30 2018-10-02 Sap Se Intelligent threshold editor
US10496277B1 (en) * 2015-12-30 2019-12-03 EMC IP Holding Company LLC Method, apparatus and computer program product for storing data storage metrics
US9904594B2 (en) * 2016-04-15 2018-02-27 Micron Technology, Inc. Monitoring error correction operations performed in memory
US10282111B2 (en) * 2016-07-29 2019-05-07 Western Digital Technologies, Inc. Adaptive wear levelling
US10140040B1 (en) 2017-05-25 2018-11-27 Micron Technology, Inc. Memory device with dynamic program-verify voltage calibration
US10452480B2 (en) 2017-05-25 2019-10-22 Micron Technology, Inc. Memory device with dynamic processing level calibration
US10402272B2 (en) * 2017-05-25 2019-09-03 Micron Technology, Inc. Memory device with dynamic programming calibration
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
US10147466B1 (en) * 2017-09-26 2018-12-04 Micron Technology, Inc. Voltage reference computations for memory decision feedback equalizers
US10579473B2 (en) * 2017-09-29 2020-03-03 Intel Corporation Mitigating silent data corruption in error control coding
US10910061B2 (en) * 2018-03-14 2021-02-02 Silicon Storage Technology, Inc. Method and apparatus for programming analog neural memory in a deep learning artificial neural network
KR102544144B1 (ko) * 2018-03-26 2023-06-16 에스케이하이닉스 주식회사 전자 장치, 이를 포함하는 메모리 시스템 및 이의 동작 방법
US10566063B2 (en) 2018-05-16 2020-02-18 Micron Technology, Inc. Memory system with dynamic calibration using a trim management mechanism
US10664194B2 (en) 2018-05-16 2020-05-26 Micron Technology, Inc. Memory system with dynamic calibration using a variable adjustment mechanism
US10990466B2 (en) 2018-06-20 2021-04-27 Micron Technology, Inc. Memory sub-system with dynamic calibration using component-based function(s)
US11188416B2 (en) 2018-07-12 2021-11-30 Micron Technology, Inc. Enhanced block management for a memory sub-system
US10761754B2 (en) * 2018-08-07 2020-09-01 Micron Technology, Inc. Adjustment of a pre-read operation associated with a write operation
US10629278B2 (en) 2018-09-05 2020-04-21 Micron Technology, Inc. First-pass dynamic program targeting (DPT)
US10658066B2 (en) 2018-09-05 2020-05-19 Micron Technology, Inc. First-pass continuous read level calibration
DE102018216543B3 (de) * 2018-09-27 2020-01-02 Robert Bosch Gmbh Verfahren zum Kalibrieren eines Sensorsystems
US10936246B2 (en) 2018-10-10 2021-03-02 Micron Technology, Inc. Dynamic background scan optimization in a memory sub-system
US11211131B2 (en) 2018-12-10 2021-12-28 Micron Technology, Inc. Adjusting program effective time using program step characteristics
US10706935B2 (en) 2018-12-10 2020-07-07 Micron Technology, Inc. Read window budget based dynamic program step characteristic adjustment
US10970160B2 (en) 2018-12-10 2021-04-06 Micron Technology, Inc. Bit error rate based dynamic program step characteristic adjustment
US10754583B2 (en) 2018-12-10 2020-08-25 Micron Technology, Inc. Level width based dynamic program step characteristic adjustment
US10698636B1 (en) 2018-12-10 2020-06-30 Micron Technology, Inc. Trigger margin based dynamic program step characteristic adjustment
US10748625B1 (en) 2019-03-07 2020-08-18 Micron Technology, Inc. Dynamic programing of valley margins of a memory cell
US10885975B2 (en) 2019-03-07 2021-01-05 Micron Technology, Inc. Dragging first pass read level thresholds based on changes in second pass read level thresholds
US11119848B2 (en) 2019-07-10 2021-09-14 Micron Technology, Inc. Logic based read sample offset in a memory sub system
US11119697B2 (en) * 2019-07-12 2021-09-14 Micron Technology, Inc. Read voltage management based on write-to-read time difference
CN110808003B (zh) * 2019-09-06 2021-01-15 华为技术有限公司 一种补偿方法及电子设备
US11403031B2 (en) * 2019-11-13 2022-08-02 Microsoft Technology Licensing, Llc Systems and methods for encoding and decoding data
US11361825B2 (en) 2019-12-18 2022-06-14 Micron Technology, Inc. Dynamic program erase targeting with bit error rate
US11734094B2 (en) * 2020-08-19 2023-08-22 Micron Technology, Inc. Memory component quality statistics
EP3958266A1 (en) * 2020-08-21 2022-02-23 Commissariat à l'Energie Atomique et aux Energies Alternatives Method for determining target resistance levels for a resistive memory cell, and associated memory device
US11593197B2 (en) * 2020-12-23 2023-02-28 Samsung Electronics Co., Ltd. Storage device with data quality metric and selectable data recovery scheme

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080086677A1 (en) * 2006-10-10 2008-04-10 Xueshi Yang Adaptive systems and methods for storing and retrieving data to and from memory cells
CN101458954A (zh) * 2007-09-06 2009-06-17 三星电子株式会社 多位数据存储系统和读取操作
CN101496110A (zh) * 2006-05-12 2009-07-29 爱诺彼得技术有限责任公司 存储设备中的失真估计和消除
US20090204852A1 (en) * 2008-02-07 2009-08-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
CN101523504A (zh) * 2006-08-05 2009-09-02 本霍夫有限公司 固态存储元件及方法
CN101625903A (zh) * 2008-06-20 2010-01-13 马维尔国际有限公司 对存储器进行监控

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790570A (en) 1996-08-30 1998-08-04 Cornell Research Foundation, Inc. Concatenated trellis coded modulation and linear block codes
US6034996A (en) 1997-06-19 2000-03-07 Globespan, Inc. System and method for concatenating reed-solomon and trellis codes
US6567475B1 (en) 1998-12-29 2003-05-20 Ericsson Inc. Method and system for the transmission, reception and processing of 4-level and 8-level signaling symbols
US7142612B2 (en) 2001-11-16 2006-11-28 Rambus, Inc. Method and apparatus for multi-level signaling
FR2840477B1 (fr) 2002-06-03 2005-02-04 Nortel Networks Ltd Procede d'adaptation de liens radio et unite de controle mettant en oeuvre le procede
US7359313B2 (en) 2002-06-24 2008-04-15 Agere Systems Inc. Space-time bit-interleaved coded modulation for wideband transmission
US7379505B2 (en) 2003-02-13 2008-05-27 Broadcom Corporation Method and apparatus for performing trellis coded modulation of signals for transmission on a TDMA channel of a cable network
JP4825874B2 (ja) * 2005-10-17 2011-11-30 ラマト アット テル アビブ ユニバーシティ リミテッド マルチビット・パー・セル・フラッシュメモリにおける、確率に基づくエラー訂正
US8055979B2 (en) * 2006-01-20 2011-11-08 Marvell World Trade Ltd. Flash memory with coding and signal processing
WO2007132453A2 (en) 2006-05-12 2007-11-22 Anobit Technologies Ltd. Distortion estimation and cancellation in memory devices
TWI360126B (en) * 2006-09-28 2012-03-11 Sandisk Corp Nonvolatile memory with adaptive operations and me
JP5177991B2 (ja) * 2006-10-25 2013-04-10 株式会社東芝 不揮発性半導体記憶装置
JP2008108351A (ja) 2006-10-25 2008-05-08 D & M Holdings Inc 光ディスク再生装置
KR100907218B1 (ko) * 2007-03-28 2009-07-10 삼성전자주식회사 읽기 레벨 제어 장치 및 그 방법
US7577036B2 (en) * 2007-05-02 2009-08-18 Micron Technology, Inc. Non-volatile multilevel memory cells with data read of reference cells
US8051358B2 (en) 2007-07-06 2011-11-01 Micron Technology, Inc. Error recovery storage along a nand-flash string
US8627165B2 (en) 2008-03-24 2014-01-07 Micron Technology, Inc. Bitwise operations and apparatus in a multi-level system
EP2340541A1 (en) 2008-09-30 2011-07-06 LSI Corporation Method and apparatus for soft data generation for memory devices using decoder performance feedback
US8499227B2 (en) * 2010-09-23 2013-07-30 Micron Technology, Inc. Memory quality monitor based compensation method and apparatus

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101496110A (zh) * 2006-05-12 2009-07-29 爱诺彼得技术有限责任公司 存储设备中的失真估计和消除
CN101523504A (zh) * 2006-08-05 2009-09-02 本霍夫有限公司 固态存储元件及方法
US20080086677A1 (en) * 2006-10-10 2008-04-10 Xueshi Yang Adaptive systems and methods for storing and retrieving data to and from memory cells
CN101458954A (zh) * 2007-09-06 2009-06-17 三星电子株式会社 多位数据存储系统和读取操作
US20090204852A1 (en) * 2008-02-07 2009-08-13 Siliconsystems, Inc. Solid state storage subsystem that maintains and provides access to data reflective of a failure risk
CN101625903A (zh) * 2008-06-20 2010-01-13 马维尔国际有限公司 对存储器进行监控

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105575434A (zh) * 2014-10-31 2016-05-11 英飞凌科技股份有限公司 非易失性存储器的健康状态
CN112786100A (zh) * 2015-02-16 2021-05-11 德州仪器公司 铁电存储器中的数据保持损失筛选
CN109642829A (zh) * 2016-09-08 2019-04-16 高通股份有限公司 时间温度传感器位置偏移误差校正
CN110121707A (zh) * 2016-12-30 2019-08-13 谷歌有限责任公司 确定语义上不同的响应以提供作为包括在电子通信中的建议
CN110121707B (zh) * 2016-12-30 2023-10-31 谷歌有限责任公司 确定语义不同的响应以提供作为包括在电子通信中的建议
CN112771613A (zh) * 2018-08-31 2021-05-07 美光科技公司 存储器系统中的温度补偿
CN113377285A (zh) * 2020-02-25 2021-09-10 美光科技公司 用于读取干扰的预测性媒体管理
US11907570B2 (en) 2020-02-25 2024-02-20 Micron Technology, Inc. Predictive media management for read disturb
CN113377285B (zh) * 2020-02-25 2024-05-10 美光科技公司 用于读取干扰的预测性媒体管理
CN113628667A (zh) * 2020-05-07 2021-11-09 美光科技公司 对用以从存储器单元读取数据的操作的智能主动响应
CN113628667B (zh) * 2020-05-07 2024-03-29 美光科技公司 对用以从存储器单元读取数据的操作的智能主动响应

Also Published As

Publication number Publication date
US20140380123A1 (en) 2014-12-25
EP2619673A4 (en) 2017-05-03
US8862969B2 (en) 2014-10-14
JP2013539120A (ja) 2013-10-17
US9081717B2 (en) 2015-07-14
JP5695203B2 (ja) 2015-04-01
KR101483383B1 (ko) 2015-01-14
KR20130096734A (ko) 2013-08-30
EP2619673A2 (en) 2013-07-31
WO2012039946A2 (en) 2012-03-29
US8499227B2 (en) 2013-07-30
US20120079353A1 (en) 2012-03-29
US20130290811A1 (en) 2013-10-31
EP2619673B1 (en) 2019-05-22
WO2012039946A3 (en) 2012-05-31
CN103210376B (zh) 2015-11-25

Similar Documents

Publication Publication Date Title
CN103210376A (zh) 基于存储器质量监视器的补偿方法及设备
KR102380614B1 (ko) 동적 프로그래밍 교정을 이용하는 메모리 디바이스
US8693257B2 (en) Determining optimal read reference and programming voltages for non-volatile memory using mutual information
KR102398957B1 (ko) 동적 타깃 교정을 이용하는 메모리 디바이스
US10452480B2 (en) Memory device with dynamic processing level calibration
KR101144096B1 (ko) 소프트-입력, 소프트-출력(siso) 디코더, 통계 유닛 및 적합한 동작을 갖는 비휘발성 메모리
US10613781B2 (en) Apparatus and method for determining an operating condition of a memory cell based on cycle information
CN102203877B (zh) 使用解码器性能反馈的用于存储器器件的软数据生成的方法和装置
CN102893337B (zh) 具有基于邻近存储元件的状态信息的温度补偿的非易失性存储装置
JP5923085B2 (ja) メモリデバイスおよびシステム内のソフトデータの決定および使用
US7805663B2 (en) Methods of adapting operation of nonvolatile memory
CN109599143B (zh) 具有读阈值机制的存储系统及其操作方法
TW200905692A (en) Non-volatile memory system with soft bit data transmission for error correction control and method of reading the same
KR101684037B1 (ko) 조절가능한 충전 상태 레벨(들)을 사용하여 메모리 셀을 프로그래밍하는 장치 및 방법
CN114155902A (zh) 判断存储器系统读取电压的存储器装置及其方法
Li et al. Implementing rank modulation
WO2012015438A1 (en) Memory element and method for determining the data state of a memory element
CN115691144A (zh) 一种异常交通状态监测方法、装置、设备及可读存储介质
WO2014102800A1 (en) Method and device for reliable storage in nor flash memory

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant