CN107068187B - 似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作 - Google Patents

似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作 Download PDF

Info

Publication number
CN107068187B
CN107068187B CN201710076991.5A CN201710076991A CN107068187B CN 107068187 B CN107068187 B CN 107068187B CN 201710076991 A CN201710076991 A CN 201710076991A CN 107068187 B CN107068187 B CN 107068187B
Authority
CN
China
Prior art keywords
read
voltage
read voltage
memory
value
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201710076991.5A
Other languages
English (en)
Other versions
CN107068187A (zh
Inventor
阿卜杜勒哈基姆·S·埃侯赛因
桑达尔杰·桑卡兰阿拉亚南
瑞万·阮
卢多维克·当让
埃里希·F·哈拉特施
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Seagate Technology LLC
Original Assignee
Seagate Technology LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Seagate Technology LLC filed Critical Seagate Technology LLC
Publication of CN107068187A publication Critical patent/CN107068187A/zh
Application granted granted Critical
Publication of CN107068187B publication Critical patent/CN107068187B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/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/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • G11C16/14Circuits for erasing electrically, e.g. erase voltage switching circuits
    • G11C16/16Circuits for erasing electrically, e.g. erase voltage switching circuits for erasing blocks, e.g. arrays, words, groups
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • 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/026Detection or location of defective auxiliary circuits, e.g. defective refresh counters in sense amplifiers
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/08Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
    • G11C29/12Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
    • G11C29/38Response verification devices
    • G11C29/42Response verification devices using error correcting codes [ECC] or parity check
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/04Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
    • G11C29/50Marginal testing, e.g. race, voltage or current testing
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C29/00Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
    • G11C29/52Protection of memory contents; Detection of errors in memory contents
    • 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
    • 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/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
    • H03M13/1125Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using different domains for check node and bit node processing, wherein the different domains include probabilities, likelihood ratios, likelihood differences, log-likelihood ratios or log-likelihood difference pairs
    • 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/3746Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35 with iterative 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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Read Only Memory (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Retry When Errors Occur (AREA)

Abstract

存储器中的读取重试操作采用针对多个读取重试操作在不同读取电压处改变正负号的似然值指派。一种用于存储器的多次读取重试的方法包括:使用第一读取电压读取码字以获得第一读取值;基于第一似然值指派将所述第一读取值映射到第一似然值,所述第一似然值指派大体上在所述第一读取电压处改变正负号;使用第二读取电压读取所述码字以获得第二读取值,其中所述第二读取电压从所述第一读取电压移位以补偿模拟电压的预期改变;以及基于第二似然值指派将所述第二读取值映射到第二似然值,其中所述第二似然值指派大体上在所述第二读取电压处改变正负号。任选地基于所述第一似然值和/或所述第二似然值使用所述码字的迭代解码产生读取数据。

Description

似然值指派针对每一读取重试在不同读取电压处改变正负号 的读取重试操作
相关申请案的交叉参考
本申请案涉及2013年12月20日申请的标题为“用于非易失性存储器的读取重试(Read Retry For Non-Volatile Memories)”的第2015/0149840号美国公开专利申请案以及2013年12月20日申请的标题为“存储器的读取通道中的多次读取重试(Multiple Readretries in a Read Channel of a Memory)”的第2015/0162057号美国公开专利申请案,以上每一申请案以全文引用的方式并入本文中。
技术领域
技术领域大体上涉及固态存储媒体,且更具体地说涉及用于这些固态存储媒体的读取阈值电压的调整。
背景技术
固态存储装置使用模拟存储器单元来存储数据。每个存储器单元存储存储值,例如电气电压。存储值表示存储器单元中存储的信息。许多固态存储装置基于存储器单元的读取电压电平区分开存储器单元可存储的不同二进制值。每一存储器单元的可能存储值的范围通常被分成阈值区,其中每一区通过读取阈值电压分隔开且对应于一或多个数据位值。理想地,给定固态存储装置中的所有存储器单元对于所存储的逻辑位值具有相同的读取阈值电压。然而,在实践中,在相似于高斯分布的沿读取阈值电压轴的概率分布(例如,“读取阈值电压分布”)中,读取阈值电压跨单元而不同。
另外,固态存储装置可随时间推移而移位。举例来说,存储器单元泄漏、存储器单元损坏和对存储器单元的其它干扰可改变存储器单元的读取电压电平。因此,读取阈值电压可随时间推移而移位。泄漏和其它干扰的比率还可在存储器单元随时间推移经使用时随着老化而增加。如果存储器单元的读取电压电平移位超过读取阈值电压,则发生数据误差,因为从存储器单元读取的数据的值不同于写入到存储器单元的数据的值。
数据是成块地从非易失性存储器读取,所述块在本文中被称作“读取单元”或“码字”,其通常通过包含错误校正而受保护以防止错误,例如包含使用错误校正算法产生的奇偶校验位,例如低密度奇偶校验(LDPC)编码。在固态磁盘控制器的控制下,从非易失性存储器单元读取位。例如在LDPC解码器中解码所得数据以应用错误校正算法。如果数据未能在LDPC解码器中收敛,那么可使用读取重试操作来重新读取数据且再次应用错误校正算法。虽然单元电压是连续的,但非易失性存储器单元一般在读取操作之后仅提供二进制硬决策。当例如LDPC解码算法等软迭代解码算法用于错误校正时,期望将由非易失性存储器产生的硬决策转换为对解码器给予更多信息以帮助校正错误的软决策。从单个读取转换的软决策可能不具有足够质量用于成功解码。在此情况下,可使用具有变化读取电压的多次读取来获得软决策的足够质量。因此,读取参考电压的位置和频率可直接影响软决策的质量且最终影响通道读取的理论信息内容。
仍需要用于执行读取重试操作的改进的技术。
发明内容
本发明的说明性实施例提供用于读取重试操作的方法和设备,其中似然值指派针对多次读取重试操作在不同读取电压处改变正负号。在一个实施例中,一种用于存储器的多次读取重试的方法包括:使用第一读取电压从所述存储器读取码字以获得第一读取值;基于第一似然值指派将所述第一读取值映射到一或多个第一似然值,其中所述第一似然值指派大体上在所述第一读取电压处改变正负号;使用第二读取电压读取所述存储器的所述码字以获得第二读取值,其中所述第二读取电压从所述第一读取电压移位以补偿所述存储器的一或多个存储器单元的一或多个模拟电压的预期改变;以及基于第二似然值指派将所述第二读取值映射到一或多个第二似然值,其中所述第二似然值指派大体上在所述第二读取电压处改变正负号。
在至少一个实施例中,基于所述第一似然值和所述第二似然值中的一或多者使用所述码字的迭代解码产生读取数据。任选地存储提供成功解码的给定读取电压,其中所述给定读取电压用作所述第一读取电压和较高优先级重试读取电压中的一或多者,所述较高优先级重试读取电压用于所述码字的页类型的页的未来读取操作。所述页类型包括例如在大体上相似时间写入的页、在存储器块中具有大体上相似页位置的页以及在大体上相似时间具有突发错误的页中的一或多者。
在一或多个实施例中,所述第二读取电压在补偿由于电荷泄漏、编程/擦除循环、读取干扰、擦除干扰中的一或多者所致的所述存储器单元的所述模拟电压的所述预期改变的方向上从所述第一读取电压移位。
所揭示的用于其中似然值指派针对多次读取重试操作在不同读取电压处改变正负号的读取重试操作的技术克服了与先前描述的常规技术相关联的问题中的一或多者。从附图和以下详细描述中将更容易清楚本发明的这些以及其它特征和优点。
附图说明
图1说明根据本发明的一或多个实施例的其中可使用通道跟踪来调整读取重试参考电压的非易失性存储器通道的模型;
图2是根据本发明的一些实施例的用于正常硬决策读取的单元电压分布的曲线图;
图3是根据本发明的一些实施例的用于重试软决策读取的不同状态中的单元电压的单元电压分布的曲线图;
图4说明根据本发明的一些实施例的具有基于通道跟踪的读取重试电压调整的快闪通道读取路径;
图5是根据一个实施例的软决策解码过程的流程图;
图6是用于多次读取重试操作的默认对数似然比值的查找表;
图7说明根据本发明的实施例使用来自图6的查找表的LLR值指派执行的若干连续读取操作;
图8和9是说明根据本发明的实施例的读取重试过程的实施方案的流程图;以及
图10说明可用以实施本发明的一或多个实施例的至少一部分的处理平台。
具体实施方式
本发明的一或多个实施例涉及用于读取重试操作的改进的技术。如下文所论述,通道跟踪包含估计用于非易失性存储器中的不同数据状态的电压分布的平均值和方差。如果所检索数据的低密度奇偶校验解码失败,那么在一或多个实施例中,存储器控制器进入软低密度奇偶校验解码操作,其中软数据用作对低密度奇偶校验解码器的输入。在读取重试模式中,在不同读取参考电压下执行存储器页的多次读取以获得单元上的所存储电压的经量化版本。随后,将用于每一位的多次读取模式映射到表示位值为二进制零或一的置信度水平的对数似然比(LLR)。最后,将所述对数似然比作为软数据输入传递到低密度奇偶校验解码器以恢复写入的数据。因为对数似然比是由有限数目的位表示,例如(但不限于)四位带正负号的整数,所以对数似然比值的可能数目将极有限(在四位带正负号的整数的情况下为16)。在对数似然比中,正负号指示决策区(例如,对于二进制零值为负且对于二进制一值为正),且量值指示决策中的置信度。
调整读取电压步阶的分辨率以有效地使用对数似然比的有限位宽。在一些实施例中,使用经设计以增加在早期读取重试下低密度奇偶校验解码器的收敛概率的查找表将用于每一位的多次读取模式映射到对数似然比。这平均地改善系统处理量。与基于均匀间隔读取参考电压的对数似然比的较不稳健的计算相比,这确保了将多位模式映射到恰当固定点对数似然比值。特别地,虽然一些实施例使用对数似然比,但也可使用普通似然概率值。
根据本发明的一个方面,指派给每一读取重试区的对数似然比值在用于多次读取重试的当前读取电压的位置处改变正负号。以此方式,LLR指派的中心不受约束于读取重试操作中的第一读取的位置处或读取重试窗口的中心处。除了其它益处,所揭示读取重试技术还采用补偿各种情形的LLR指派,例如基于策略的保持、耐久性和读取干扰。另外,在执行较多读取操作的同时可识别最佳读取电压。
个别地考虑,每一非易失性存储器单元具有对应于所述单元的装置阈值电压并且进一步对应于存储在所述单元中的逻辑位值的特定存储(编程)电荷。虽然理想地,非易失性存储器中的所有单元将具有用于所存储逻辑位值的相同装置阈值电压,但实际上出于多种原因,装置阈值电压遵循概率分布,例如高斯分布。因此,跨越例如读取单元等大量单元合计考虑,存在与每单元存在的状态(每单元每存储位两个状态)一样多的装置阈值电压分布(例如,高斯概率曲线)。即,对于每存储单元N位,存在2N个状态和相同数目的装置阈值电压分布。因此,非易失性存储器中的读取电路可能需要2N-1个不同读取参考电压以区别2N个状态。
装置阈值电压分布通过例如读取干扰、写入干扰和保持损失等一或多个因数而不同于其初始/标称分布。更确切地说,随着时间、温度和与使用相关的其它因数,装置阈值电压分布中的每一者的位置可相对于装置阈值电压轴线而改变。这些改变增加了使用先前基于标称装置阈值电压分布建立的读取阈值的读取参考电压值执行的读取错误的似然。在一些实施例中,当在从非易失性存储器读取的读取单元中遇到硬决策不可校正的错误时,执行一系列读取重试操作以恢复所述读取单元。读取重试操作包含控制器以基于通道跟踪而调整的不同参考电压重新读取所述读取单元。
本文所揭示的读取重试参考电压调整可应用于单电平单元(SLC)快闪存储器(其中N=1)和多电平单元(MLC)快闪存储器(其中N>1)。单电平单元存储器每存储单元存储一个位,具有两个装置阈值电压分布(一个用于零且另一个用于一),且使用单个读取阈值,读取参考电压VREF0。从较低到较高装置阈值电压,所述两个装置阈值电压分布被称为E(擦除)状态和D1(第一数据)状态。虽然是任意,但在一些实施例中映射或译码将逻辑一指派到E状态且将逻辑零指派到D1状态。因此,对零和一的参考是用于D1状态和E状态的相应解码的代理参考。多电平单元存储器每单元存储多于一个位,具有超过两个装置阈值电压分布,且使用多个不同读取阈值来区分分布。举例来说,四电平单元存储器每单元存储两个位,具有四个装置阈值电压分布,且一般使用三个读取阈值(读取电压参考VREF1、VREF2和VREF3)。从较低到较高装置阈值电压,所述四个装置阈值电压分布被称为E(擦除)、D1(数据1)、D2(数据2)和D3(数据3)状态。虽然是任意的,但所述四个装置阈值电压分布中的每一者也是根据特定二进制序列(例如格雷码序列)而映射(寻址)。因此,对11、10、00和01状态中的一或多者的参考是用于E、D1、D2和D3状态的相应解码的代理参考。
对于单电平存储器单元,跟踪模块估计状态D1和E的电压分布的平均值和方差,且基于这些分布设定读取参考电压VREF0。当零(状态E)和一(状态D1)在写入的数据中具有相等似然时,计算的VREF0将处于分布的相交点处。读取控制模块起始所寻址页从快闪装置到读取缓冲器的M次数据读取,其中第一读取处于VREF0的读取参考电压,且后续读取参考电压处于通过对状态D1和E的电压分布的平均值和方差的通道跟踪而确定的在VREF0周围的不同电平。对于多电平存储器单元,跟踪模块估计所有状态的电压分布的平均值和方差。
图1说明根据本发明的一或多个实施例的其中可使用通道跟踪来调整读取重试参考电压的非易失性存储器通道100的模型。应注意,在此实例中使用具有四个状态的两位输入,但本文所揭示的读取重试参考电压调整不限于任何特定位宽度或状态数目的使用。对于两个输入数据位102,两个数据位102b1、b2可在映射104中映射到四个可能的状态。举例来说,用于两个数据位102的值“11”可映射到状态s0,值“01”可映射到状态s1,值“00”可映射到状态s2,且值“10”可映射到状态s3。对于多电平单元,取决于两个数据位102的值,所述单元经编程为从四个可能的状态选择的状态106。在将表示选定状态106的电压写入到存储器单元和从存储器单元读取时,由于编程过程以及其它低效率和干扰而添加噪声108,从而产生有噪声的单元电压110y。所述噪声可被认为是加性高斯白噪声(AWGN),其中噪声方差取决于所发射信号而不同。
图2是根据本发明的一些实施例的用于正态硬决策读取的单元电压分布202、204、206、208的图表200。因此,从存储器单元读取的所得电压看起来在一定程度上相似于图2的图表200中展示的分布202、204、206、208,而非对应于目标状态电压电平212、214、216、218处的四个状态的四个相异离散电压电平。每一分布202、204、206、208将具有大致等于所述状态的目标电压的平均值,且方差将取决于噪声。因为存储器单元上的电压不准确,所以电压读回可根据分布202、204、206、208而变化。在一些实施例中,在存储器单元的初始读取期间,参考电压V0 220、V1 222和V2 224在读取期间用以确定存储器单元的状态,从而返回关于存储器单元的状态的硬决策。
一般来说,如果读取电压低于参考电压220,那么决策(图1的112)指示确定存储器单元处于状态S0 226中。如果读取电压高于参考电压V0 220且低于参考电压V1 222,那么决策指示确定存储器单元处于状态S1 230中。如果读取电压高于参考电压V1 222且低于参考电压V2 224,那么决策指示确定存储器单元处于状态S2 232中。如果读取电压高于参考电压V2 224,那么决策指示确定存储器单元处于状态S3 234中。
在一些实施例中,读取操作分为读取最低有效位(LSB)页和最高有效位(MSB)页的过程。状态S0 226和S1 230对应于最低有效位值1,状态S2 232和S3 234对应于最低有效位值0。当读取最低有效位时,参考电压V1 222应用于存储器单元,且如果单元上的电压高于参考电压V1 222,那么最低有效位解释为具有值0。如果单元上的电压低于参考电压V1 222,那么最低有效位解释为具有值1。与状态S1 230和S2 232相比,状态S0 226和S3 234较不可能产生读取错误,这是因为其分布202和208更加远离与参考电压V1 222相关联的分布204、206的相交点。当读取最高有效位时,状态S0 226和S3 234对应于最高有效位值1,且状态S1230和S2 232对应于最高有效位值0。为读取最高有效位页,决策准则是不同的且应用一对参考电压V0 220和V2 224。在本发明的一些实施例中,通过通道跟踪模块供应参考电压V0220、V1 222和V2 224的电平。
当在读取期间使用参考电压V0 220、V1 222和V2 224确定存储器单元的状态时,可归因于相邻分布的重叠区而造成错读。举例来说,如果实际写入状态是对应于目标状态电压电平212的S0,但读取电压处于分布202的高于参考电压V0 220的上边缘,那么决策将不正确地识别状态S1 230。在这些情况下,如果对从非易失性存储器读取的数据的低密度奇偶校验解码不收敛于正确值上并校正错误,那么启动重试操作。
在读取重试操作期间,非易失性存储器控制器进入到软低密度奇偶校验解码操作中,其中软数据用作去往低密度奇偶校验解码器的输入。在重试时,在不同读取参考电压处执行存储器页的多次读取,以获得单元上的所存储电压的经量化版本。之后,接着将每一位的多次读取模式映射到表示位值的置信度水平为0或1的对数似然比(LLR)。最后,将对数似然比作为软数据输入传送到低密度奇偶校验解码器以恢复所写入的数据。
图3是根据本发明的一些实施例的重试软决策读取的不同状态中的单元电压的单元电压分布302、304、306、308的图表300。在读取重试期间,通过应用额外参考电压340、342、344、346、348、350以及参考电压V0 320、V1 322和V2 324产生软决策数据。通过使用不同参考电压(例如,344、346)执行额外读取操作,定义额外区或状态,例如主要状态S0 326、S1 330、S2 332和S3 334,以及新中间状态e1 360、e2 362、e3 364、e4 366、e5 370和e6 372。为每一状态指派状态值(例如,{111}、{011}、{001})。
举例来说,当读取最低有效位页时,在一系列读取操作中应用参考电压344、322、346以确定最低有效位是否为“0”,其中存储器单元处于状态S2 332或S3 334中,或最低有效位是否为“1”,其中存储器单元处于状态S0 326、S1 330中。给定三个参考电压344、322、346,硬决策将具有三个位值。尽管可以多种不同次序应用参考电压,从而影响硬决策结果,但以所述次序应用三个参考电压344、322、346的硬决策值的一个实例如下。如果读取电压低于参考电压344左边的所有三个参考电压344、322、346,那么硬决策是{111}。如果读取电压高于参考电压344且低于参考电压322、346,那么硬决策是{011}。如果读取电压高于参考电压344、322且低于参考电压346,那么硬决策是{001}。如果读取电压高于所有三个参考电压344、322、346,那么硬决策是{000}。可通过在三个连续读取操作中应用三个参考电压344、322、346中的每一者来逐位产生硬决策。
当读取最高有效位页时,在一系列读取操作中应用参考电压340、320、342以及348、324、350以确定最高有效位是否为“0”,其中存储器单元处于状态S1 330或S2 332中,或最高有效位是否为“1”,其中存储器单元处于状态S0 326或S3 334中。如果读取电压低于参考电压340,那么硬决策是{111}。如果读取电压介于参考电压340与320之间,那么硬决策是{011}。如果读取电压介于参考电压320与342之间,那么硬决策是{001}。如果读取电压介于参考电压342与348之间,那么硬决策是{000}。如果读取电压介于参考电压348与324之间,那么硬决策是{100}。如果读取电压介于参考电压324与350之间,那么硬决策是{110}。如果读取电压高于参考电压350,那么硬决策是{111}。
值得注意的是,从存储器单元读取的值为正确的似然度基于所读取的状态而不同。举例来说,如果读取重试产生对应于状态S0 326的硬决策,那么存储器单元实际上含有与目标状态电压电平312相关联的值的似然度大于读取重试产生对应于状态e1 360的硬决策的情况下的似然度,这是因为与状态e1 360相比,状态S0 326更加远离分布302与304的相交点。
可基于对通道的了解将读取操作的硬决策转换成软决策(对数似然比值)。因而,状态S0 326的硬决策将具有比状态e1 360的硬决策高的对数似然。存储器单元的对数似然比含有对于存储器单元的每一可能值,所述单元含有所述值的似然。因此,给定四个状态存储器单元,存储于存储器单元中的数据的对应对数似然比将具有四个机率或似然值,其各自提供存储器单元含有四个可能值中的一者的似然度。以任何合适方式从读取重试操作硬决策产生对数似然比值。基于本文中提供的揭示内容,所属领域的一般技术人员将认识到用于从读取重试操作硬决策计算对数似然比值的多种技术和方程式。在一些实施例中,基于预期的通道特性预计算每一可能的读取重试操作的对数似然比,并将其存储于查找表中以供在操作期间使用。
在一些实施例中,当来自读取重试操作的数据未能在解码器中收敛时,触发另一读取重试操作,其中应用较大数目个参考电压,从而给出提供到解码器的较高质量的软决策。增加参考电压的数目的此类过程可持续所要的时间,直到达到重试的最大数目且用信号发送了读取失败为止。
本文中所揭示的读取重试参考电压的调整会调整参考电压以达成规定的对数似然比表,其经设计以达成具有较低数目个读取重试的低密度奇偶校验解码收敛。
最初,分布(例如,302、304)之间的相交点的位置并非已知的。如果读取参考电压经定位以使得在分布(例如,302)的中心附近捕获读取值,那么将不使用整个范围的所得对数似然比,且将不最小化硬读取位错误率。举例来说,如果使用三个带正负号的位表示对数似然比,那么可能的对数似然比的范围为从-7到7。在一或多个实施例中,执行通道跟踪并应用算法以逆向地找到将使用全分辨率的可能对数似然比的读取参考电压,而非将对数似然比集中于可用范围的边缘处。
在一些实施例中,在读取重试操作中应用基于通道跟踪的读取参考电压调整。在这些实施例中,首先执行硬读取,读取硬决策并解码所述硬决策。可通过将来自存储器单元的0值映射到对应于0值的大负对数似然比值,并将来自存储器单元的1值映射到对应于1值的大正对数似然比值,将硬决策映射到具有软信息输入的低密度奇偶校验解码器的对数似然比值。
如果解码失败,那么启动读取重试操作,并执行软读取,从而产生经解码的软信息或对数似然比。在软读取中,在不同读取参考电压处执行页的多次读取以获得存储器单元上的所存储电压的经量化版本。使用查找表将来自存储器单元的多位读取模式映射到表示位值的置信度水平为0或1的对数似然比。将对数似然比传送到执行软解码的解码器(例如(但不限于)低密度奇偶校验解码器),以恢复所写入的数据。在假设读取电压分布具有大致上高斯分布下,实施算法以逆向地识别将填入查找表的参考电压。
在一些实施例中,逆向地识别将填入查找表以映射到对数似然比的参考电压的算法是贪婪算法,这意味着其在达到将使用的读取参考电压的解之前考虑读取参考电压的所有可能值。其也是逆算法,这意味着其开始于可能的对数似然比且接着识别将产生映射到使用全分辨率的对数似然比的经量化电压的读取参考电压。通过使用全对数似然比分辨率,低密度奇偶校验解码能够以较低数目个读取重试收敛于正确的经写入值上。在适当选择读取参考电压下,可以观察到,对数似然比的有限范围不会减损低密度奇偶校验解码器的性能。在一些实施例中,低密度奇偶校验解码包括最小和解码算法,但基于通道跟踪的读取重试电压调整不限于与任何特定类型的解码器一起使用。
图4说明根据本发明的一些实施例的具有基于通道跟踪的读取重试电压调整的闪存通道读取路径400。读取路径400包含具有存储器单元阵列的闪存装置,或任何其它类型的非易失性存储器。基于本文中提供的揭示内容,所属领域的一般技术人员将认识到可受益于本文中所揭示的基于通道跟踪的读取重试电压调整的多种存储技术。
在一系列N次读取中通过读取控制装置424将读取参考电压426应用于闪存装置402。读取每一存储器单元N次,且所述N次读取产生含有每个存储器单元N位的读取数据404作为存储器单元上的所存储电压的经量化版本。将读取数据404缓冲于读取缓冲器406中,且将来自读取缓冲器406的经缓冲读取数据410提供到对数似然比产生电路412(或似然产生器,其也可适于使用普通似然值)。在对数似然比产生电路产生电路412中将存储器单元的N位映射到存储器单元的对数似然比。在一些实施例中,对数似然比产生电路412含有将经缓冲读取数据410的读取模式映射到对数似然比的查找表。
跟踪模块430从读取缓冲器406或从任何其它合适的源接收经缓冲读取数据410。一般来说,通道跟踪技术适应读取阈值电压的改变以维持所要的性能水平。自适应跟踪算法通常跟踪固态存储通道中的变化且因此,有助于维持经更新通道参数的集合。经更新通道参数用以(例如)调整读取阈值电压。举例来说,2012年6月26日申请的标题为“非易失性存储器的读取阈值的优化(Optimization of Read Thresholds for Non-VolatileMemory)”的第2013/0343131号美国公开专利申请案(其以全文引用的方式并入本文中)揭示用于适应读取阈值电压的技术。
跟踪模块430识别对应于零对数似然比的存储器单元的相邻电压分布(例如,302、304)之间的相交点,并提供读取参考电压电平VREF0 432,包含对应于相交点的读取参考电压VREF0。当对应于相交点的读取参考电压VREF0用于软读取操作时,其将引起位错误率减少。读取参考电压VREF0在一些实施例中用作读取重试操作的第一读取参考电压(参见例如320),以及VREF0周围的额外读取参考电压以获得所有可能的对数似然比值。跟踪模块430因此产生将用于读取重试操作中的读取参考电压电平VREF0 432。在其它实施例中,取决于跟踪算法设计、跟踪不准确度或偏离峰值或尾端中的高斯行为的实际通道分布,VREF0可不对应于分布的相交点。在其它情况下,VREF0可与分布的相交点一致,但可能不首先应用(原本应在412和424的计算中被考虑到)。
跟踪模块430也跟踪电压分布(例如,302、304),计算至少一些电压分布(例如,304、306)的平均值(例如,μ0 312、μ1 314等)和方差σ0、σ1。给定假设电压分布(例如,304、306)具有高斯分布,电压分布平均值和方差434识别相邻分布之间的相交点。在一些实施例中,跟踪模块430计算对应于每一存储器单元中的每一可能状态的每一电压分布的电压分布平均值和方差434。在一些其它实施例中,跟踪模块430计算对应于存储器单元的群组中的每一可能状态的每一电压分布的电压分布平均值和方差434。可基于读取数据以任何合适方式计算电压分布平均值和方差434。作为一实例,跟踪模块430可如在2012年6月26日申请的标题为“闪存通道的快速跟踪(Fast Tracking for FlashChannels)”的第2013/0343131号美国公开专利申请案(其以全文引用的方式并入本文中)中所揭示地操作。基于本文中提供的揭示内容,所属领域的一般技术人员将认识到用于基于从高斯分布所取样的数据计算平均值和方差的多种技术。然而,跟踪模块430不限于任何特定跟踪算法。举例来说,在一些其它实施例中,跟踪模块430在无需估计平均值或方差的情况下跟踪相交点。即使在不或无法跟踪平均值和方差的情况下,在一些实施例中,出于确定参考电压的目的使用平均值和方差的预特征化表。在动态地更改似然映射的例子中,也动态地计算参考电压隙。因此,片语“计算平均值和方差”在本文中也指代使用平均值和方差的预特征化表的实施例。
对于二状态存储器单元或单级存储器单元,跟踪模块430估计状态“1”和“0”的电压分布的平均值和方差,以及最高程度地减少位错误率且当0和1等可能地处于所写入数据中时有可能处于所述分布的相交点处的读取参考电压VREF0
跟踪模块430将电压分布平均值和方差434提供到对数似然比产生电路412以供在更新对数似然比查找表时使用。对数似然比产生电路412用以出于解码目的计算似然值。对数似然比产生电路412也基于电压分布平均值和方差434以及读取参考电压VREF0 432确定在何处放置VREF0 432周围的其它N-1个读取参考电压,以在经缓冲读取数据410中的读取模式映射到对数似然比时获得所有可能的对数似然比值。对数似然比产生电路412确定在何处放置VREF0 432周围的其它N-1个读取参考电压,更新查找表,以及将N-1个读取参考电压电平422提供到读取控制器424。重要的是应注意,功能性的划分不限于本文中所揭示的实例实施例。举例来说,在其它实施例中,跟踪模块430计算且提供VREF0 432周围的读取参考电压并将所述电压提供到对数似然比产生电路412,而非对数似然比产生电路412确定在何处放置VREF0 432周围的其它N-1个读取参考电压,且功能性的这些划分应被视为等效的。
基于由跟踪模块430提供的通道跟踪信息,在对数似然比产生电路412中实施基于通道跟踪的读取重试电压调整算法。在一些实施例中,如基于对数似然比产生电路412中的对数似然比查找表以及来自跟踪模块430的电压分布平均值和方差434所计算的读取参考电压存储在对数似然比产生电路412中。
读取控制器424控制闪存装置402中的读取重试操作,这提供在读取闪存装置402中的存储单元时将使用的N个读取参考电压(包含VREF0 432)中的每一者。读取控制器424启动对页的N次读取,其中在一些实施例中,第一读取使用读取参考电压VREF0,并且其中随后的N-1次读取在如由对数似然比产生电路412确定的VREF0周围的读取参考电压下进行。
作为单级存储单元的实例,位在两个可能的阈值电压下进行存储。阈值电压电平遵循具有居中相交的相等方差的高斯概率密度函数。由逻辑0和逻辑1表示的电平分别具有均值μ0=-1v和μ1=1v,这可通过通道跟踪发现。在本实例中,可通过通道跟踪发现最佳读取参考电压VREF0为0伏。低密度奇偶校验解码器使用软解码算法、使用具有[-8,7]范围的四位对数似然比对最低有效位页进行解码,但还可使用其它的固定点表示。
图5是根据一个实施例的软决策解码过程500的流程图。软决策解码过程500可(例如)由图4的读取控制器424实施。如图5中所示,软决策解码过程500首先在步骤560期间,使用LLR LUT 600将所获得的模式映射到LLR值,如在下文结合图6和7进一步论述的。在步骤566期间执行测试,以确定解码是否收敛。如果在步骤566期间确定解码收敛,那么程序控制结束。然而,如果在步骤566期间确定解码并未收敛,那么过程500在步骤568期间进行检查以观察是否已经到达读取重试模式的末端。如果模式的一或多个额外读取参考电压仍为待使用,那么在步骤570期间获得下一参考电压,基于所述下一读取参考电压,在之后重新读取码字,并且程序控制返回到解码步骤562、564(如由过程500的初始步骤中的步骤560所确定)以使用对数似然比值的下一集合对当前码字再次进行解码。围绕步骤560到步骤570和再次返回的环路通常持续到在步骤566中达成收敛或在每一步骤568已经尝试全部读取参考电压。如果在已经进行最后读取重试和在解码中已使用对数似然比值的最后集合之后,解码仍未成功,那么在572期间宣告解码失败,并且过程500结束。
在一些实施例中,对数似然比(软)值被计算为基于多个规则的设计过程的部分。所述规则通常包含但不限于以下规则:
规则1:当两个读取包围优选的读取位置,但所述优选的读取尚未完成时,决策区域的经修改对数似然比值应该为0,这反映了二元决策值的相等似然性。
规则2:第一个和最后一个对数似然比值应该是相同的,以实现在需要节约可变空间的情况下,仅存储快页表以及随后将快页表拼接在一起以产生慢页表。
规则3:在优选的读取位置的右侧和左侧处的对数似然比值正负号具有相反的正负号,这是因为噪声分布的固有单模态。
规则4:当策区域更加远离指示二元决策值的较高置信度的优选读取位置时,决对数似然比值在量值上增长。
规则5:对数似然比值的量值以远离优选读取位置的Δ移位的数目的形式几乎线性地增长,这是由于在噪声分布的尾部中的指数式衰减。
规则6:第一个和最后一个对数似然比值在量值上从固定点表示中的最大可能值按比例缩小,以改进低密度奇偶校验解码错误平台的性能,因为如果出现写入侧错误,那么它会导致解码过程的可变LLR的更快饱和,所以按比例缩小LLR值延迟陷于接近码字(near-codeword)的解码器并因此改进错误平台的行为。
规则7:如果在按比例缩小的情况下过多决策区域会重复对数似然比值,那么发生规则6的例外情况,随后使用最大可能对数似然比值以免浪费可用的读取重试。然而,实际上,规则6和7是错误平台与瀑布行为之间的折衷,并且不具有写入侧错误的专用通道可得益于遵循规则7而不是规则6。
规则8:如果在任一读取重试阶段中,优选的读取位置朝向最左侧读取的左侧或朝向最右侧读取的右侧,那么第一个或最后一个对数似然比值从规则6中的对数似然比值进一步按比例缩小。在这种选择的情况下,将会存在具有更低决策置信度的更多错误,由此改进解码器的收敛可能性。
规则9:被指派到每一读取重试区域的对数似然比(LLR)值在用于多个读取重试的一或多个读取电压的位置处改变正负号,所述读取电压最可能使genie误码率BER(例如,使用已知的位值)或与BER相关的度量最小化。
图6是用于多个读取重试操作的最低有效位(LSB)的默认对数似然比值的查找表600。表格600通常说明每单元两个位类型的存储器的查找表。表格660(例如)由读取控制器424进行存储。进行重试的电压扫描窗口的中心以及因此所得的图3中的初始读取重试经选择以降低对应的快页和慢页误码率。降低误码率使用呈电荷态可能性分布302、304、306、308的均值μ和方差σ形式的可用侧信息。然而,如果关于某一状态的统计数据的此类信息不易于使用,那么无法计算对应的对数似然比值,因为插入似然性计算公式的均值和方差将是不可用的。在其它情形中,获得此类信息成本高、不精确,或不被闪存架构以有效方式所支持。
在此类情形中,默认查找表(例如,LUT)可用于将决策区域(例如,多读取模式)映射成预定义的对数似然比值。在一或多个实施例中,可针对不同的闪存类型和/或不同的通道条件,维持不同表格。例如,针对不同的程序/擦除周期(例如,PEC)点或读取干扰周期,存储不同的查找表。此外,可针对偶数-奇数架构中的奇数和偶数字线,或针对内嵌有单级单元页或仅快页(例如,LPO)页的单级单元(例如,SLC)块,由控制器424维持不同的对数似然比值。可基于某一度量或基于涉及当前经测量通道条件(例如耐久性、保持或读取干扰等)或特定针对当前几何(偶/奇字线、中间/边缘字线或中间/边缘块)的闪存部分的某一代表性特征,动态地(例如,在运行中)修改那些查找表。
查找表600示出了默认表格的实施例,所述表格具有对称围绕初始读取的特性,但LLR一般来说还可为不对称的,所述表格还具有被指派到每一读取重试区域的LLR值,所述LLR值在用于每一读取重试的基本上最佳读取电压的位置处从正号变成负号,所述表格具有非零对数似然比值,并且对数似然比值从固定点Q4.0的带正负号表示获取。尽管带正负号表示中的最大表项可为负的(例如,-8)或正的(例如,+7),但较小的最大表项经选择以降低在错误位置处的饱和对数似然比值的出现率,这可能是低密度奇偶校验软解码中的问题。针对不同的闪存类型,查找表的表项可为不同的,这在使用本文中的方案鉴定具有控制器的闪存的过程中决定。因此,例如,通过针对其它闪存类型或持续性通道减损,查找表是非对称的和/或具有零表项,查找表可看起来是不同的。
用于图6的实施例中的LSB的查找表600可易于通过所属领域的技术人员扩展到具有两个或两个以上感测参考电压的MSB页。一般来说,闪存页类型可具有两个以上的多个感测电压,例如在TLC闪存装置中。在这些情况下,LLR查找表600的大小将作为参考电压的数目的函数相应地增长,以便读取页。可通过在相同的字线中或基于多个位读取模式对其它页进行额外读取,区分围绕参考电压中的每一者的决策区域。在所有情况下,本文中所揭示的概念和规则可被扩展到此类页,以计算具有多个参考电压的页的LLR。
以此方式,在每一次读取重试时,基于度量(例如,不等性、先前解码尝试的校正子权值和/或此类度量史)调用不同的LLR群集。在一或多个实施例中,LLR查找表600以各种情形为目标,例如耐久性、保持、读取干扰、横跨管芯的变化和横跨页的变化。例如,为了反映高于默认电压的最佳读取电压(例如以高耐久性或读取干扰方式),可在高于默认电压下的读取的读取处选取LLR的正负号改变。为了反映低于默认电压的最佳电压(例如在除擦除状态以外的状态的保持噪声中),可在低于默认电压下的读取的读取处选取LLR的正负号改变。为了反映横跨几何的变化,不同页可基于块或闪存管芯中的页局部性而具有不同的正负号改变。这些位置变化可进行离线研究,并且可用于相应地选取LLR值和正负号改变位置。
在一或多个实施例中,存储在表格600中(或在替代实施方案中动态产生)的LLR值可基于通道条件和解码性能进行调整,如在下文中结合图9进一步所论述。确切地说,重试算法可跟踪成功读取电压的历程,并将它们用于具有与成功恢复的页相似的通道条件或位置的其它页的重试。可(例如)针对同时写入和擦除、读取相同次数或借助于管芯上的共同位置而暴露于相同温度条件的页,假设通道条件相似。几何的相似性可基于(例如)属于因相似的单元间推断(ICI)或底层存储单元上的物理特性而呈现相似错误行为的管芯或块的相同区域。另一方面,在开放块(即,已经进行仅部分编程的块)中,最近已经编程的一些页还可共享LLR查找表,这是由于它们相比于擦除或远离当前编程边界的块中的其它页而呈现的特定ICI噪声。
如上所述,本发明的一个方面将LLR值指派到每一读取重试区域,以使得LLR值在用于每一读取重试的当前读取电压的位置处从正号变成负号。以此方式,LLR查找表600的中心(LLR=0)不被限制为在第一读取的位置或重试窗口的中心处。因此,在执行额外读取的同时可搜索最佳VREF0
一般来说,当通道跟踪/估计是受支持且可能(例如,通道信息可用)时,使用在原始BER感测中被视为最佳的读取阈值电压执行第一读取操作,并且读取重试窗口的中心(LLR=0)是第一读取。然而,当通道信息不可用时,通过在遵循LDPC失败的每一额外读取操作处改变关于在原始BER感测中的最佳读取的假设,所揭示的方法补偿对通道知识的缺乏。出于与实施的跟踪的种类有关的原因,补偿跟踪的读取阈值电压的缺少或不准确性也是合理的。例如,如果通过跟踪收集的统计数据在闪存中的不同区域的多个页中进行平均化,那么所估计的读取参考电压仅对平均页有好处,并且因此离群值页的读取电压需要进行动态调整(例如,在运行中)或在选取读取重试中的LLR正负号改变中进行调整。并且,由于跟踪的成本或滞后通道改变的时延,仅可不频繁地进行跟踪,且因此需要说明从最迟跟踪估计的偏离。(例如)由于从最后估计开始的在高温下的经过时间(保持)或从最后估计开始的对页的进一步读取(读取干扰),可产生那些偏离。此外,由于最后跟踪进行并因此承受更多磨损,且因前述噪声而更易受丢失/获得电荷影响,所以页可能已经进行许多次擦除和编程。
致力于更多地读取以探索基本上最佳的参考电压的显著动机是软LDPC的性能在每一额外读取操作处快速饱和,以及在三个读取操作之后接续的软解码的益处是最小的;因此,在所揭示的方法中,算法将额外读取转向获得最小BER,以使得那些额外的读取操作不会被浪费。BER将基于读取数据和解码数据之间的差或与其有关的另一度量,例如在解码失败之后未满足的奇偶校验的数目、以其它方式同等可能地为一或零的读取中的一和零的平衡。
在一或多个实施例中,一旦LDPC解码在某一电压移位处成功,就将成功的电压移位首先用于对下一码字的下一读取重试,由此改进吞吐量以及帮助中断突发错误。一或多个实施例基于逐页对读取重试进行定制,而不是针对块中或横跨管芯的全部页使用相同的关于LLR=0位置的跟踪假设。
图7说明根据本发明的实施例执行的使用根据图6的查找表600的LLR值分配710的数个连续读取操作700。一般来说,读取重试模式经实施以补偿通道跟踪中的不足。利用从成功解码获得的知识,任选地增强读取重试模式,如下文中结合图8和9进一步所论述。LLR群集中的LLR值在用于每一连续读取操作的参考电压的位置或来自读取重试模式中的过去读取操作中的位置处改变正负号。以此方式,连续读取操作700补偿来自通道跟踪模块430的不当参考电压。当在额外读取的情况下,软信息的质量提高所产生的决策区域的额外数目,可在相同读取电压处超过一次地选取LLR正负号改变。在一或多个实施例中,这是两个先前技术的混合方法。第一技术执行在不同读取参考电压处的硬读取,并且试图仅使用当前正负号信息进行解码而不需集合过去读取和当前读取。另一技术是集合多个读取,但维持相同的关于最佳读取电压的位置的假设。
如图7中所示,对于可为过去失败的常态读取或新鲜的读取重试读取的初始读取重试操作730-1,对数似然比产生电路412(图4)将参考电压740-1置于VREF0处。此参考电压处于中间,其中电压分布相交并相等以使得读取结果同等可能地处于任一状态(最小化误码的可能性并最大化解码成功的可能性),并且其中二元决策是同等可能的此类读取结果被映射到对数似然比0。这还允许读取参考电压被置放在随后的围绕VREF0的读取重试中,以充分使用对数似然比的清晰度和范围。因此,在一些实施例中,在第一读取重试中,参考电压被置于从默认或初始电压偏移的0伏处,并且,对数似然比群集是{6,-5},其对数似然比值映射有所得两个状态的读取数据。对数似然比群集中的LLR值在参考电压740-1的位置处改变正负号。
在一个或多个实施例中,初始参考电压740-1(VREF0)为优选(或计算过的)读取参考电压。在各种实施例中,优选读取电压VREF0由参考电压跟踪技术提供。在一些实施例中,参考电压VREF0为默认电压,选择所述默认电压以匹配特定最差状况程序/擦除周期或保持条件。应注意,图6中的默认查找表600是针对图7中的读取序列定制的,如果所述读取序列改变,那么暗示默认表600的LLR值应相应地改变。
在一些实施例中,对于第二读取重试操作730-2,将对数似然比群集设定为{5,2,-6}来执行重试,所述重试对耐久性效果进行补偿(例如,假设阈值电压归因于程序/擦除周期效应而增加)。将额外参考电压740-2设定成相对于第一参考电压740-1电压偏移Δ。
在一个或多个实施例中,Δ可用特定闪存类型、通道条件或页局部性的某一默认值编程。将在离线确定特定闪存类型的Δ电压时达成若干目标。举例来说,目标可包含在指定最大数量的读取重试之后改进软解码收敛的概率,且改进每一读取重试的软解码收敛的概率。另一目标将为降低有限扫描问题的出现率,其中若干读取重试在中心围绕优选读取参考电压VREF0的情况下无法皆被置于扫描界限内。较大固定电压Δ将增加此类特殊状况的频率。较小Δ电压将导致由于读取噪声的影响而导致的不合法读取模式(待转换成LLR的多读取硬模式)的频率增加。而且,Δ的较小值将限制本文中所揭示的最优参考电压的最大和最小电压偏差,且因此较大Δ将使得更容易达到最优参考电压,尤其是在通过跟踪发现的平均最优电压完全不是真正最优电压的情况下。
因此,第二读取重试操作730-2包含使用740-1(VREF0)和设定成VREF0+Δ的额外参考电压740-2进行读取。在至少一个实施例中,对于第二读取重试操作730-2,仅使用参考电压740-2执行一个新的读取操作,且重用针对参考电压740-1的先前读取(且后续读取重试操作730也是相似情况)。两个参考电压740-1和740-2产生表示三个可能状态的读出数据,所述三个可能状态被映射到三项对数似然比群集{5,2,-6}。对数似然比群集中的LLR值在参考电压740-2的位置处改变正负号。
对由第二读取重试730-2产生的对数似然比执行解码,且如果低密度奇偶校验解码成功地收敛,那么读取操作结束。否则,可开始第三读取重试730-3。
在一些实施例中,对于第三读取重试操作730-3,将对数似然比群集设置为{5,-1,-2,-6}以执行补偿保持效应的重试(例如,假设已归因于电荷泄漏效应而减小阈值电压)。将额外参考电压740-3设置为参考电压740-1减去Δ。因此,第三读取重试操作730-3包含使用740-1的读取(VREF0),分别设置为VREF0+Δ及VREF0-Δ的额外参考电压740-2、740-3。三个参考电压产生表示四个可能状态的读取数据,所述四个可能状态映射到四个条目对数似然比群集{5,-1,-2,-6}。对数似然比群集中的LLR值在参考电压740-3的位置处改变正负号。
对由第三读取重试操作730-3产生的对数似然比执行解码,且如果低密度奇偶校验成功地解码会聚,那么读取操作结束。否则,可启动第四读取重试操作730-4。
在一些实施例中,对于第四读取重试操作730-4,将对数似然比群集设置为{5,4,2,1,-6}以执行补偿持久效应的重试。将额外参考电压740-4设置为参考电压740-1加上2Δ。因此,第四读取重试操作730-4包含使用740-1的读取(VREF0),分别设置为VREF0+Δ及VREF0-Δ及VREF0+2Δ的额外参考电压740-2、740-3、740-4。四个参考电压产生表示五个可能状态的读取数据,所述五个可能状态映射到五个条目对数似然比群集{5,4,2,1,-6}。对数似然比群集中的LLR值在参考电压740-4的位置处改变正负号。
在一些实施例中,对于第五读取重试操作730-5,将对数似然比群集设置为{6,-1,-2,-4,-5,-6}以执行补偿保持效应的重试。将额外参考电压740-5设置为参考电压740-1减去2Δ。因此,第五读取重试操作730-5包含使用740-1的读取(VREF0),分别设置为VREF0+Δ及VREF0-Δ及VREF0+2Δ及VREF0-2Δ的额外参考电压740-2、740-3、740-4、740-5。五个参考电压产生表示六个可能状态的读取数据,所述六个可能状态映射到六个条目对数似然比群集{6,-1,-2,-4,-5,-6}。对数似然比群集中的LLR值在参考电压740-5的位置处改变正负号。
在一些实施例中,对于第六读取重试操作730-6,将对数似然比群集设置为{6,5,4,2,1,-1,-6}以执行补偿持久效应的重试。将额外参考电压740-6设置为参考电压740-1加上3Δ。因此,第六读取重试操作730-6包含使用740-1的读取(VREF0),分别设置为VREF0+Δ及VREF0-Δ及VREF0+2Δ及VREF0-2Δ及VREF0+3Δ的额外参考电压740-2、740-3、740-4、740-5、740-6。六个参考电压产生表示七个可能状态的读取数据,所述七个可能状态映射到六个条目对数似然比群集{6,5,4,2,1,-1,-6}。然而,对数似然比群集中的LLR值改变在参考电压740-4的位置处的正负号,且并不改变740-6的读取位置处的正负号。对重试尝试730-6的独特添加为如果740-4对应于最佳读取,那么730-6相较于730-4在740-4周围具有更多决策区域且具有更高的解码成功概率。
在一些实施例中,对于第七读取重试操作730-7,将对数似然比群集设置为{5,1,-1,-2,-4,-5,-6,-7}以执行补偿保持效应的重试。将额外参考电压740-7设置为参考电压740-1减去3Δ。因此,第七读取重试操作730-7包含使用740-1的读取(VREF0),分别设置为VREF0+Δ及VREF0-Δ及VREF0+2Δ及VREF0-2Δ及VREF0+3Δ及VREF0-3Δ的额外参考电压740-2、740-3、740-4、740-5、740-6、740-7。七个参考电压产生表示八个可能状态的读取数据,所述八个可能状态映射到六个条目对数似然比群集{5,1,-1,-2,-4,-5,-6,-7}。然而,对数似然比群集中的LLR值改变在参考电压740-5的位置处的正负号,且并不改变740-7的读取位置处的正负号。对重试尝试730-7的独特添加为如果740-5对应于最佳读取,那么730-7相较于730-5在740-5周围具有更多决策区域且具有更高的解码成功概率。
对由第七读取重试操作730-7产生的对数似然比执行解码,且如果低密度奇偶校验成功地解码会聚,那么读取操作结束。否则,可启动额外读取重试操作达到预定最大重试数目,后接添加额外参考电压740-7的模式,以替代地执行补偿保持效应及持久效应的重试,其中每一重试采用对数似然比群集中改变相应参考电压或之前已经尝试的其它过去读取的位置处的正负号的LLR值,直到对数似然比群集包含对数似然比范围内的每一可能值为止。所执行读取重试操作的数目不限于任何特定数目。在执行所要数目的读取重试操作以尝试正确地读取及解码写入到存储器单元的数据之后,如果解码尚未成功,那么可指示读取故障且操作终止或可启动额外错误恢复操作。
总起来说,选择对应于读取结果中所要的对数似然比值范围的对数似然比群集,且基于经由信道跟踪所获得的均值及方差计算可产生那些对数似然比值的参考电压电平。因此,多位读取模式映射到在对数似然比范围内具有所要间距的预定对数似然比及对数似然比群集中改变相应读取参考电压或来自之前失败的解码试验的过去读取电压的位置处的正负号的LLR值,而非计算由均匀间隔的读取参考电压产生的用于读取模式的对数似然比。
在读取重试模式的一或多个实施例中,优化初始读取以用于寿命终点(例如,持久效应),接着优化读取以用于寿命起点(例如,保持)(由于近来制造的固态存储器通常将展现极小误码率(BER))。
本文中所揭示的基于读取重试电压调整的信道跟踪允许对对数似然比的分辨率的更为完全使用,从而改进参考电压的放置以通过各模式产生映射到并不集中在对数似然比范围的相对较小部分中的对数似然比的读取数据。通过选择用于读取重试操作的参考电压,改进较早解码成功的几率且增大总体吞吐量。对读取参考电压的动态选择产生调整或适应于变化的信道条件的能力。实际上,从跟踪估计提取信道质量信息以有效地选择读取重试电压。
图8为根据本发明的一个实施例的说明读取重试程序800的实施的流程图。如图8中所展示,如果在步骤805期间确定硬LDPC解码已失败,那么读取重试程序800在步骤810期间在+Δ处执行读取操作,其中+Δ为两个读取操作的新中心读取(例如,在此处LLR改变正负号)。在步骤815期间建立{5,2,-6}的LLR指派且执行软LDPC解码。如果在步骤820期间确定在读取重试之后软LDPC解码成功,那么Δ(对应于提供成功解码的偏移)在步骤825期间经存储。换句话说,Δ为最佳读取操作的位置。
因此,如果读取相似页(例如,相同块或已知以其它方式相似),那么Δ应用于初始读取或Δ应用作此页类型(例如,具有共享特性的页)的较高优先级读取重试。举例来说,相同的成功电压偏移可用于相同群组中的其它页(例如,基于旁侧知识)或其它相似页(例如,大体上在相同时间处写入的,在块中具有相似位置(例如,块1的页100相似于块2的页100)或在存在突发错误(例如,同时页失效)的情况下)。
然而,如果在步骤820期间确定软LDPC解码并不成功,那么在步骤830期间在-Δ处执行另一读取重试,其中-Δ为三个读取操作的新中心读取。在步骤835期间建立{5,-1,-2,-6}的LLR指派且执行软LDPC。如果在步骤840期间确定在最新读取重试之后软LDPC解码成功,那么在步骤845期间存储-Δ。
然而,如果在步骤840期间确定软LDPC解码并不成功,那么在步骤850期间在+2Δ处执行另一读取重试,其中+2Δ为四个读取操作的新中心读取。在步骤855期间建立{5,4,2,1,-6}的LLR指派且执行软LDPC。如果在步骤860期间确定在最新读取重试之后软LDPC解码成功,那么在步骤865期间存储+2Δ。
然而,如果在步骤860期间确定软LDPC解码并不成功,那么在步骤870期间在-2Δ处执行另一读取重试,其中-2Δ为五个读取操作中的新中心读取。在步骤875期间建立{6,-1,-2,-4,-5,-6}的LLR指派且执行软LDPC。如果在步骤880期间确定在最新读取重试之后软LDPC解码成功,那么在步骤882期间存储-2Δ。
然而,如果在步骤880期间确定软LDPC解码并不成功,那么在步骤884期间在+3Δ处执行另一读取重试,其中+2Δ为六个读取操作中的中心读取。在步骤886期间建立{6,5,4,2,1,-1,-6}的LLR指派且执行软LDPC。如果在步骤888期间确定在最新读取重试之后软LDPC解码成功,那么在步骤890期间存储+2Δ。
然而,如果在步骤888期间确定软LDPC解码并不成功,那么在步骤892期间在-3Δ处执行另一读取重试,-2Δ为在步骤892期间七个读取操作中的中心读取。在步骤894期间建立{5,1,-1,-2,-4,-5,-6,-7}的LLR指派且执行软LDPC。如果在步骤896期间确定在最新读取重试之后软LDPC解码成功,那么在步骤898期间存储-2Δ。
然而,如果在步骤896期间确定软LDPC解码并不成功,那么可任选地尝试额外重试方法。
图9为说明根据本发明的另一实施例的读取重试程序900的实施的流程图。如图9中所展示,在步骤905期间确定对于ECC页(例如,Epage 0)的硬LDPC解码已失败,接着读取重试程序900在步骤910期间在-Δ处执行读取操作,其中-Δ为两个读取操作中的新中心读取,且使用本文中所描述的设计规则选择LLR LUT 600。
如果在步骤915期间确定对于当前读取重试的Epage 0的软LDPC解码并不成功,那么在步骤920期间在+Δ处执行另一读取重试,其中+Δ为三个读取操作中的新中心读取,且修改LLR LUT 600。
如果在步骤925期间确定对于当前读取重试的Epage 0的软LDPC解码并不成功,那么在步骤930期间在-2Δ处执行另一读取重试,其中-2Δ为四个读取操作中的新中心读取,且修改LLR LUT 600。
如果在步骤935期间确定对于当前读取重试的编码页(Epage)0的软LDPC解码成功,那么在步骤940期间针对随后页完成对Epage 0的解码且存储-2Δ(对应于成功解码)。换句话说,-2Δ为最佳读取操作的位置。如果读取相似页(例如,来自块/裸片中的相同位置或已知为相似的其它物),那么-2Δ可用于初始读取或-2Δ可增加到较高优先级读取重试。
如图9中所展示,在步骤950期间确定对于另一ECC页(例如,Epage 1)硬LDPC解码已失败,接着读取重试程序900在步骤960期间在-Δ处执行读取操作,其中-Δ为两个读取操作的新中心读取且LLR LUT 600经修改。
如果在步骤970期间确定对于当前读取重试的Epage 1软LDPC解码并不成功,那么在步骤980期间在-2Δ处执行另一读取重试,其中-2Δ为三个读取操作的新中心读取且修改LLR LUT 600。由于读取重试程序900在成功地解码相似Epage 0时存储-2Δ而选择-2Δ(步骤940)。
如果在步骤990期间确定对于当前读取重试的Epage 1软LDPC解码成功,那么在步骤995期间针对随后页完成解码Epage 1且存储-2Δ(对应于成功解码)。
一或多个实施例平衡保持补偿(展现负参考电压位移)及持久/读取打扰补偿(展现正参考电压位移)情境当中的读取的数目。或者,如果首先针对持久性执行三个读取操作,那么持久情境将从第二、第三及第四读取操作获得软LLR值,同时保持情境将从第五、第六及第七读取操作获得软LLR值。如果读取操作标靶持久性及保持性交错,那么两个情境接收相当软LDPC及参考电压搜索试验。
在一或多个实施例中,LLR正负号变化的顺序是基于贯穿寿命平衡吞吐量,此经设计以减小所需读取操作的平均数以成功地解码,尤其对于更有可能进入读取重试模式的那些码字。举例来说,如果在偏移0处执行实时读取,那么具有最佳参考电压(VREF)的页在寿命终点处的-2Δ处且参考电压(VREF)的页在寿命起点处的-Δ处。接着,由于寿命终点页在较高概率的情况下进入重试,因此在-Δ参考电压之前使用-2Δ的参考电压。
并非始终如此:保持性或持久性将产生大于默认电压的负或正偏差。替代地,在某些快闪信道类型中,且对于诸如长期保持性下降的噪音,分布加宽而无尾部相交的位置的显著改变。在此状况下,解码性能由于分布更为高斯且存在较低LLR饱和度而更多地得益于软LLR。因此,吾人将在默认读取电压下执行固定正负号改变而非经由频繁的LLR正负号变化盲目搜索最佳参考电压。
变化形式
对于每一新快闪读取,可在请求另外的快闪读取之前通过多个解码试验排空所有LLR指派,或可基于通过跟踪及达到此试验的失败试验的校正子权重或不等性所提供的最佳参考电压列表而测试一些LLR指派。
在另一变化形式中,前两个或三个读取操作可假设默认参考电压足够且引入关于默认参考电压的软信息。当重试模式从第二读取操作前进到第三读取操作时,默认参考电压附近的LLR值可减小以考虑分布的持久加宽。如果解码器在这两个或三个读取操作之后未能会聚,那么可假定这是保持性事件。因此,应注意,假设默认参考电压向左移动1Δ计数。然而,移动并不意味着在此移动默认参考电压下进行读取。相反地,其意味着在此假设下更改LLR表格600。可在此新默认参考电压下继续两个读取。
此变化形式辨识保持性可注意其它系统层级算法,例如读取清除,且可假设在任一点处的典型保持性不超过一两个月。因此,在一个或多个实施例中,保持覆盖移动到第四、第五及第六读取操作。持久性通常并不将电压移动得过于远离默认参考电压,因此默认参考电压保持不变且当执行更多读取时在更接近于默认参考电压的区域中使用经减小LLR。
结论
先前应用及相关联实施例应被视为仅为说明性的,且多个其它实施例可使用本文所公开的读取阈值电压调整技术及LLR群集指派技术经配置。根据一或多个实施例,本文中所描述的方法和程序可在控制器中作为软件、硬件或这两者的任何组合实施。
举例来说,本文中所描述的方法和程序可作为固态存储装置的固件的部分存储于存储器中,且可由处理器执行以用于执行本文中所描述的方法和程序。本文中所描述的方法和程序可替代或另外地存储于可由控制器存取的计算机可读媒体中。在另外的实施例中,本文中所描述的方法和程序可在存储装置外部的且可操作地连接到存储装置的计算系统中实施,例如在经由(例如)接口连接到存储装置的主机装置的驱动器模块中实施。本文中所描述的方法和程序可进一步存储于可由计算系统存取的存储器或其它计算机可读媒体中且可由计算系统的处理器执行。
还应理解,如本文中所描述的读取阈值电压调整技术及LLR群集指派技术可至少部分地呈存储于存储器中的一或多个软件程序形式实施且可由处理装置(例如,计算机)的处理器执行。如先前所提到,存储器或其中实施有此类程序代码的其它存储装置是本文中被更一般地称作“计算机程序产品”的实例。
所公开的读取阈值电压调整技术及LLR群集指派技术可使用一或多个处理平台实施。因此,处理模块或其它组件中的一或多个可各自在计算机、存储装置或其它处理平台元件上运行。给定此类元件可被看作在本文中被更一般地称作“处理装置”的实例。
现参考图10,展示可用于实施本发明的一或多个实施例的至少一部分的一个可能的处理平台。在此实施例中,处理平台1000包括给定系统的至少一部分且包含至少一个处理装置,表示为1002-1、1002-2、1002-3、...、1002-D,其经由网路1004与彼此通信。网络1004可包括任何类型的网络,例如无线局域网络(WAN)、局域网(LAN)、卫星网络、电话或电缆网络、蜂窝式网络、无线网络(例如,WiFi或WiMAX),或这些及其它类型的网络的各个部分或组合。
处理平台1000中的处理装置1002-1包括耦合到存储器1012的处理器1010。处理器1010可包括微处理器、微控制器、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它类型的处理电路,以及此类电路元件的部分或组合,并且存储器1012可看作其中实施有可执行计算机程序代码的“计算机程序产品”的实例,其可包括呈现任何组合形式的随机存取存储器(RAM)、只读存储器(ROM)或其它类型的存储器。
处理装置1002-1中还包含的为网络接口电路1014,其用于将处理装置与网络1004及其它系统组件介接,并且可包括常规的收发器。
假设以与经展示用于图中的处理装置1002-1的方式相相似的方式来配置处理平台1000的另一处理装置1002(如果存在的话)。
同样,图中展示的特定处理平台1000仅借助于实例呈现,并且给定的系统可包含额外的或替代性的处理平台,以及呈现任一组合形式的多个不同的处理平台,其中每一此类平台包括一或多个计算机、存储装置或其它处理装置。
系统的多个元件可共同地实施在图10中所展示的类型的共同处理平台上,或每一此类元件可实施在单独的处理平台上。
如本领域中已知,本文中所论述的方法和设备可分布为一种制品,其自身包括其上实施有计算机可读代码装置的计算机可读媒体。计算机可读程序代码装置可结合计算机系统操作,以进行步骤中的全部或一些,从而执行方法或形成本文所论述的设备。计算机可读媒体可为有形的可记录的媒体(例如,软性磁盘、硬盘驱动器、光盘、存储卡、半导体装置、芯片、专用集成电路(ASIC)),或可为发射媒体(例如,包括光纤的网络、万维网、电缆或使用时分多址、码分多址的无线信道,或其它射频信道)。可使用已知的或发展成熟的可适合与计算机系统一起使用来存储信息的任何媒体。计算机可读代码装置是用于允许计算机读取指令和数据(例如,磁性媒体上的磁性变化或光盘表面上的高度变化)的任何机构。
应再次强调,仅出于说明的目的而呈现本发明的上述实施例。可使用许多变化形式和其它替代性实施例。举例来说,技术适用于各种其它类型的固态存储装置,所述固态存储装置可得益于本文中所公开的读取阈值电压调整程序。并且,本文所展示的处理装置元件的特定配置及相关联的读取阈值电压调整技术可在其它实施例中变化。此外,在以上描述说明性实施例的整个过程中作出的各种简化假设也应被看作是例示性的,而不是对本发明的要求或限制。在所附权利要求书的范围内的多个其它替代性实施例对所属领域的技术人员来说将是易于显而易见的。

Claims (20)

1.一种用于存储器的多次读取重试的方法,其包括:
使用第一读取电压从所述存储器读取码字以获得第一读取值;
基于第一似然值指派将所述第一读取值映射到一或多个第一似然值,所述第一似然值指派给所述第一读取电压的多个可能决策区域中的每一者指派一似然值,其中所述第一似然值指派在所述第一读取电压处改变正负号;
使用第二读取电压读取所述存储器的所述码字以获得第二读取值,其中所述第二读取电压从所述第一读取电压移位以补偿所述存储器的一或多个存储器单元的一或多个模拟电压的预期改变;以及
基于第二似然值指派将所述第二读取值映射到一或多个第二似然值,所述第二似然值指派给所述第一读取电压和所述第二读取电压的多个可能决策区域中的每一者指派一似然值,其中所述第二似然值指派在所述第二读取电压处改变正负号。
2.根据权利要求1所述的方法,其进一步包括基于所述第一似然值和所述第二似然值中的一或多者使用所述码字的迭代解码产生读取数据的步骤。
3.根据权利要求2所述的方法,其进一步包括存储提供成功解码的给定读取电压的步骤,其中所述给定读取电压用作所述第一读取电压和较高优先级重试读取电压中的一或多者,所述较高优先级重试读取电压用于所述码字的页类型的页的未来读取操作。
4.根据权利要求3所述的方法,其中所述页类型包括在相似时间写入的页、在存储器块中具有相似页位置的页以及在相似时间具有突发错误的页中的一或多者。
5.根据权利要求1所述的方法,其中所述第二读取电压在补偿由于电荷泄漏、编程/擦除循环、读取干扰、擦除干扰中的一或多者所致的所述存储器单元的所述模拟电压的所述预期改变的方向上从所述第一读取电压移位。
6.根据权利要求1所述的方法,其中所述存储器包括非易失性存储器。
7.根据权利要求1所述的方法,其进一步包括记录成功读取电压的历史且使用所述成功读取电压用于与成功恢复的页具有相似通道条件和相似位置中的一或多者的其它页的读取重试的步骤,其中所述相似通道条件和所述相似位置中的所述一或多者是基于一或多个预定义相似性条件。
8.一种非暂时性计算机可读存储媒体,其中一或多个软件程序当由一或多个处理装置执行时实施根据权利要求1所述的方法的步骤。
9.一种装置,其包括:
控制器,其经配置以通过实施以下步骤而执行存储器的多次读取重试:
使用第一读取电压从所述存储器读取码字以获得第一读取值;
基于第一似然值指派将所述第一读取值映射到一或多个第一似然值,所述第一似然值指派给所述第一读取电压的多个可能决策区域中的每一者指派一似然值,其中所述第一似然值指派在所述第一读取电压处改变正负号;
使用第二读取电压读取所述存储器的所述码字以获得第二读取值,其中所述第二读取电压从所述第一读取电压移位以补偿所述存储器的一或多个存储器单元的一或多个模拟电压的预期改变;以及
基于第二似然值指派将所述第二读取值映射到一或多个第二似然值,所述第二似然值指派给所述第一读取电压和所述第二读取电压的多个可能决策区域中的每一者指派一似然值,其中所述第二似然值指派在所述第二读取电压处改变正负号。
10.根据权利要求9所述的装置,其进一步包括基于所述第一似然值和所述第二似然值中的一或多者使用所述码字的迭代解码产生读取数据的步骤。
11.根据权利要求10所述的装置,其进一步包括存储提供成功解码的给定读取电压的步骤,其中所述给定读取电压用作所述第一读取电压和较高优先级重试读取电压中的一或多者,所述较高优先级重试读取电压用于所述码字的页类型的页的未来读取操作。
12.根据权利要求11所述的装置,其中所述页类型包括在相似时间写入的页、在存储器块中具有相似页位置的页以及在相似时间具有突发错误的页中的一或多者。
13.根据权利要求9所述的装置,其中所述第二读取电压在补偿由于电荷泄漏、编程/擦除循环、读取干扰、擦除干扰中的一或多者所致的所述存储器单元的所述模拟电压的所述预期改变的方向上从所述第一读取电压移位。
14.根据权利要求9所述的装置,其中所述存储器包括非易失性存储器。
15.根据权利要求9所述的装置,其进一步包括记录成功读取电压的历史且使用所述成功读取电压用于与成功恢复的页具有相似通道条件和相似位置中的一或多者的其它页的读取重试的步骤,其中所述相似通道条件和所述相似位置中的所述一或多者是基于一或多个预定义相似性条件。
16.一种用于存储器的多次读取重试的设备,其包括:
存储器;以及
至少一个处理装置,其耦合到所述存储器,操作以实施以下步骤:
使用第一读取电压从所述存储器读取码字以获得第一读取值;
基于第一似然值指派将所述第一读取值映射到一或多个第一似然值,所述第一似然值指派给所述第一读取电压的多个可能决策区域中的每一者指派一似然值,其中所述第一似然值指派在所述第一读取电压处改变正负号;
使用第二读取电压读取所述存储器的所述码字以获得第二读取值,其中所述第二读取电压从所述第一读取电压移位以补偿所述存储器的一或多个存储器单元的一或多个模拟电压的预期改变;以及
基于第二似然值指派将所述第二读取值映射到一或多个第二似然值,所述第二似然值指派给所述第一读取电压和所述第二读取电压的多个可能决策区域中的每一者指派一似然值,其中所述第二似然值指派在所述第二读取电压处改变正负号。
17.根据权利要求16所述的设备,其进一步包括基于所述第一似然值和所述第二似然值中的一或多者使用所述码字的迭代解码产生读取数据的步骤。
18.根据权利要求17所述的设备,其进一步包括存储提供成功解码的给定读取电压的步骤,其中所述给定读取电压用作所述第一读取电压和较高优先级重试读取电压中的一或多者,所述较高优先级重试读取电压用于所述码字的页类型的页的未来读取操作。
19.根据权利要求16所述的设备,其中所述第二读取电压在补偿由于电荷泄漏、编程/擦除循环、读取干扰、擦除干扰中的一或多者所致的所述存储器单元的所述模拟电压的所述预期改变的方向上从所述第一读取电压移位。
20.根据权利要求16所述的设备,其进一步包括记录成功读取电压的历史且使用所述成功读取电压用于与成功恢复的页具有相似通道条件和相似位置中的一或多者的其它页的读取重试的步骤,其中所述相似通道条件和所述相似位置中的所述一或多者是基于一或多个预定义相似性条件。
CN201710076991.5A 2016-02-11 2017-02-13 似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作 Active CN107068187B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/041,501 US9633740B1 (en) 2016-02-11 2016-02-11 Read retry operations where likelihood value assignments change sign at different read voltages for each read retry
US15/041,501 2016-02-11

Publications (2)

Publication Number Publication Date
CN107068187A CN107068187A (zh) 2017-08-18
CN107068187B true CN107068187B (zh) 2024-02-23

Family

ID=58546563

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710076991.5A Active CN107068187B (zh) 2016-02-11 2017-02-13 似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作

Country Status (4)

Country Link
US (1) US9633740B1 (zh)
JP (1) JP7091023B2 (zh)
KR (1) KR20170094775A (zh)
CN (1) CN107068187B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10417087B2 (en) * 2014-07-22 2019-09-17 Ngd Systems, Inc. System and method for adaptive multiple read of NAND flash
US10795765B2 (en) 2014-07-22 2020-10-06 Ngd Systems, Inc. SSD for long term data retention
CN106816179B (zh) * 2015-11-30 2020-12-25 华为技术有限公司 一种闪存纠错方法和装置
US10290358B2 (en) 2016-07-08 2019-05-14 Seagate Technology Llc Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
US10180868B2 (en) 2016-07-08 2019-01-15 Seagate Technology Llc Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
JP2018045387A (ja) * 2016-09-13 2018-03-22 東芝メモリ株式会社 メモリシステム
US10558381B2 (en) * 2016-12-16 2020-02-11 Sandisk Technologies Llc Dynamic read table generation
US10236070B2 (en) 2017-06-27 2019-03-19 Western Digital Technologies, Inc. Read level tracking and optimization
US10269422B2 (en) 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
US10740178B2 (en) * 2017-10-05 2020-08-11 Western Digital Technologies, Inc. Self-prioritizing adaptive retry threshold adjustment
US10558522B2 (en) 2017-10-20 2020-02-11 Western Digital Technologies, Inc. Dynamic multi-stage decoding
CN109857330B (zh) * 2017-11-30 2022-02-15 宜鼎国际股份有限公司 数据存取效率的预估方法
US10637511B2 (en) 2017-12-18 2020-04-28 Western Digital Technologies, Inc Dynamic multi-stage decoding
JP7039298B2 (ja) * 2018-01-16 2022-03-22 キオクシア株式会社 メモリシステム
KR102532563B1 (ko) * 2018-03-28 2023-05-17 에스케이하이닉스 주식회사 메모리 장치 및 그것의 동작방법
US11003375B2 (en) 2018-05-15 2021-05-11 Micron Technology, Inc. Code word format and structure
US10831653B2 (en) 2018-05-15 2020-11-10 Micron Technology, Inc. Forwarding code word address
US10783972B2 (en) * 2018-08-02 2020-09-22 SK Hynix Inc. NAND flash memory with reconfigurable neighbor assisted LLR correction with downsampling and pipelining
US10804938B2 (en) * 2018-09-25 2020-10-13 Western Digital Technologies, Inc. Decoding data using decoders and neural networks
US11086529B2 (en) 2018-09-26 2021-08-10 Western Digital Technologies, Inc. Data storage systems and methods for improved data relocation based on read-level voltages associated with error recovery
CN111104044B (zh) * 2018-10-25 2024-04-30 上海宝存信息科技有限公司 数据储存装置及其适应性数据读取方法
KR102651440B1 (ko) * 2018-11-15 2024-03-27 에스케이하이닉스 주식회사 저장 장치 및 그 동작 방법
KR102585217B1 (ko) 2018-12-12 2023-10-05 삼성전자주식회사 비휘발성 메모리 장치 및 상기 비휘발성 메모리 장치의 동작 방법
US11276472B2 (en) 2018-12-12 2022-03-15 Samsung Electronics Co., Ltd. Non-volatile memory device and method of operating the same
US11594286B2 (en) 2019-08-21 2023-02-28 Samsung Electronics Co., Ltd. Non-volatile memory device and method of operating the same
US10891189B2 (en) * 2019-01-28 2021-01-12 Seagate Technology Llc Customized parameterization of read parameters after a decoding failure for solid state storage devices
CN111798889A (zh) * 2019-04-08 2020-10-20 深圳大心电子科技有限公司 数据读取方法、存储控制器与存储装置
TWI690929B (zh) * 2019-04-11 2020-04-11 點序科技股份有限公司 記憶體裝置及其讀取參考電壓的調整方法
JP7502317B2 (ja) * 2019-04-30 2024-06-18 長江存儲科技有限責任公司 コントローラ、機器および方法
US11288009B2 (en) 2019-07-10 2022-03-29 Micron Technology, Inc. Read sample offset bit determination using most probably decoder logic in a memory sub-system
CN110706735B (zh) * 2019-09-30 2021-09-14 中国科学院微电子研究所 一种NAND Flash存储器读阈值电压修复方法
US11514968B2 (en) * 2020-03-26 2022-11-29 Micron Technology, Inc. Charge leakage detection for memory system reliability
KR20220043432A (ko) 2020-09-29 2022-04-05 에스케이하이닉스 주식회사 메모리 시스템에서 읽기 전압을 제어하는 장치 및 방법
US11705193B2 (en) * 2021-02-01 2023-07-18 Micron Technology, Inc. Error avoidance based on voltage distribution parameters
WO2022193272A1 (en) * 2021-03-19 2022-09-22 Micron Technology, Inc. Determining offsets for memory read operations
US11443830B1 (en) 2021-03-30 2022-09-13 Micron Technology, Inc. Error avoidance based on voltage distribution parameters of block families
US11735254B2 (en) 2021-03-30 2023-08-22 Micron Technology, Inc. Error avoidance based on voltage distribution parameters of blocks
CN113595562B (zh) * 2021-07-23 2023-05-09 深圳宏芯宇电子股份有限公司 软数据处理方法、装置、存储介质及解码器
KR20230021949A (ko) 2021-08-06 2023-02-14 삼성전자주식회사 메모리 장치 및 이의 동작 방법
CN116453572A (zh) * 2022-01-10 2023-07-18 长鑫存储技术有限公司 存储器的测试方法及测试装置
CN116185309B (zh) * 2023-04-27 2023-08-08 合肥康芯威存储技术有限公司 一种数据处理方法及数据存储设备

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154948A (zh) * 2006-07-31 2008-04-02 艾格瑞系统有限公司 利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5197544B2 (ja) * 2009-10-05 2013-05-15 株式会社東芝 メモリシステム
US8392809B1 (en) * 2009-10-16 2013-03-05 Marvell International Ltd. Log-likelihood-ratio (LLR) table calibration
US8607124B2 (en) 2009-12-24 2013-12-10 Densbits Technologies Ltd. System and method for setting a flash memory cell read threshold
US8243511B2 (en) 2010-09-27 2012-08-14 Seagate Technology Llc Reuse of information from memory read operations
US9009574B2 (en) 2011-06-07 2015-04-14 Marvell World Trade Ltd. Identification and mitigation of hard errors in memory systems
KR101968746B1 (ko) * 2011-12-30 2019-04-15 삼성전자주식회사 저장 장치로부터 데이터를 읽는 읽기 방법, 에러 정정 장치, 그리고 에러 정정 코드 디코더를 포함하는 저장 시스템
US8879324B2 (en) * 2013-02-01 2014-11-04 Lsi Corporation Compensation loop for read voltage adaptation
US9146850B2 (en) 2013-08-01 2015-09-29 SMART Storage Systems, Inc. Data storage system with dynamic read threshold mechanism and method of operation thereof
US10319460B2 (en) 2013-08-14 2019-06-11 Infineon Technologies Ag Systems and methods utilizing a flexible read reference for a dynamic read window
US9209835B2 (en) 2013-11-27 2015-12-08 Seagate Technology Llc Read retry for non-volatile memories
US9176815B2 (en) * 2013-11-28 2015-11-03 Seagate Technology Llc Flash channel with selective decoder likelihood dampening
US9236099B2 (en) 2013-12-10 2016-01-12 Seagate Technology Llc Multiple retry reads in a read channel of a memory
US9396792B2 (en) * 2014-02-26 2016-07-19 Seagate Technology Llc Adjusting log likelihood ratio values to compensate misplacement of read voltages
KR20160102740A (ko) 2015-02-23 2016-08-31 에스케이하이닉스 주식회사 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101154948A (zh) * 2006-07-31 2008-04-02 艾格瑞系统有限公司 利用共享硬件及顺序和-积体系结构进行低密度奇偶校验解码的方法和设备

Also Published As

Publication number Publication date
JP2017168089A (ja) 2017-09-21
US9633740B1 (en) 2017-04-25
JP7091023B2 (ja) 2022-06-27
CN107068187A (zh) 2017-08-18
KR20170094775A (ko) 2017-08-21

Similar Documents

Publication Publication Date Title
CN107068187B (zh) 似然值指派针对每一读取重试在不同读取电压处改变正负号的读取重试操作
US10043582B2 (en) Establishing parameters of subsequent read retry operations based on syndrome weights of prior failed decodings
US10290358B2 (en) Independent read threshold voltage tracking for multiple dependent read threshold voltages using syndrome weights
US10180868B2 (en) Adaptive read threshold voltage tracking with bit error rate estimation based on non-linear syndrome weight mapping
US10388368B2 (en) Adaptive read threshold voltage tracking with charge leakage mitigation using charge leakage settling time
US9563502B1 (en) Read retry operations with read reference voltages ranked for different page populations of a memory
US10276247B2 (en) Read retry operations with estimation of written data based on syndrome weights
US9548128B2 (en) Read retry for non-volatile memories
US10019313B2 (en) Flash channel with selective decoder likelihood dampening
US10276233B1 (en) Adaptive read threshold voltage tracking with charge leakage mitigation using threshold voltage offsets
CN107039080B (zh) 使用基于经解码数据的误码率的读取阈值电压自适应
KR101403429B1 (ko) 멀티 비트 프로그래밍 장치 및 방법
US20160027521A1 (en) Method of flash channel calibration with multiple luts for adaptive multiple-read
US9582359B2 (en) Write mapping to mitigate hard errors via soft-decision decoding
KR102154789B1 (ko) 선택적 이진 및 비-이진 디코딩을 이용한 플래시 메모리에서의 검출 및 디코딩
US9269448B2 (en) Generating soft read values using multiple reads and/or bins
TWI613661B (zh) 用於補償快閃裝置之標稱電壓變化之系統及方法
US10490288B1 (en) Page-level reference voltage parameterization for solid statesolid state storage devices
WO2012154255A1 (en) Reliability metrics management for soft decoding
US20150365106A1 (en) Deterministic read retry method for soft ldpc decoding in flash memories
US11301323B2 (en) Customized parameterization of read parameters after a decoding failure for solid state storage devices
US11139833B2 (en) Adaptive read retry optimization
JP2010530592A (ja) メモリセルの読み取りレベル制御装置およびその方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant