CN109471808A - 具有数据可靠性机制的存储系统及其操作方法 - Google Patents

具有数据可靠性机制的存储系统及其操作方法 Download PDF

Info

Publication number
CN109471808A
CN109471808A CN201811038646.3A CN201811038646A CN109471808A CN 109471808 A CN109471808 A CN 109471808A CN 201811038646 A CN201811038646 A CN 201811038646A CN 109471808 A CN109471808 A CN 109471808A
Authority
CN
China
Prior art keywords
data
control processor
processor unit
data page
read
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201811038646.3A
Other languages
English (en)
Other versions
CN109471808B (zh
Inventor
张骁杰
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.)
Xinaike Lab Corp
Original Assignee
Xinaike Lab Corp
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 Xinaike Lab Corp filed Critical Xinaike Lab Corp
Publication of CN109471808A publication Critical patent/CN109471808A/zh
Application granted granted Critical
Publication of CN109471808B publication Critical patent/CN109471808B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • G11C11/5642Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/073Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a memory management context, e.g. virtual memory or cache management
    • 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/1012Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories
    • GPHYSICS
    • 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/004Reading or sensing circuits or methods
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/08Address circuits; Decoders; Word-line control circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • G11C16/28Sensing or reading circuits; Data output circuits using differential sensing or reference cells, e.g. dummy cells
    • 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/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/612Aspects specific to channel or signal-to-noise ratio estimation
    • 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
    • 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/004Reading or sensing circuits or methods
    • G11C2013/0057Read done in two steps, e.g. wherein the cell is read twice and one of the two read values serving as a reference value
    • 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/10Test algorithms, e.g. memory scan [MScan] algorithms; Test patterns, e.g. checkerboard patterns 
    • 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
    • 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/63Joint error correction and other techniques
    • H03M13/6325Error control coding in combination with demodulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computer Hardware Design (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Read Only Memory (AREA)

Abstract

一种存储系统,包括:控制处理器单元,配置成:对原始数据页的读取进行初始化,所述原始数据页包括可校正的错误;通过将所述可校正的错误校正为校正数据并将原始数据与所述校正数据进行比较,计算原始误码率(RBER)(EQ1),以及基于RBER(EQ1)计算校正模型特性;和非易失性存储阵列,所述非易失性存储阵列耦合至所述控制处理器单元,并且被配置成将经处理的数据页存储在具有所述原始数据页的物理块中;以及其中,所述控制处理器单元进一步被配置成将校正模型特性应用到位于所述物理块中的所述原始数据页。

Description

具有数据可靠性机制的存储系统及其操作方法
技术领域
本发明的实施例总地涉及存储系统,更具体地,涉及用于数据可靠性的系统。
背景技术
智能设备在我们日常生活中的激增推动了非易失性存储器(如NAND闪存)的发展,以支持这些设备。为了降低每十亿字节的NAND闪存的成本,通过在同一硅片区域中封装更多数据,通过缩小闪存单元的大小,并在每个闪存单元中存储更多位,使存储设备变得更加密集,但这种缩小单元尺寸的方法以读回可靠性为代价。必须找到一种机制来提供所需的数据可靠性,同时使NAND闪存页的重复读取减少到最少。
因此,仍然需要具有数据可靠性机制的存储系统来提供改进的数据可靠性和恢复。鉴于商业竞争压力的不断增加,以及消费者期望的不断增长和市场中有意义的产品差异化的机会的减少,找到这些问题的答案越来越重要。此外,降低成本、提高效率和性能以及满足竞争压力的需求使得为这些问题寻找答案的关键必要性变得更加紧迫。
对这些问题的解决方案已经做了长期寻求,但是先前的发展没有教导或暗示任何解决方案,因此,长期以来本领域技术人员一直没有解决这些问题。
发明内容
本发明实施例提供一种装置,包括控制处理器单元,被配置成:对原始数据页的读取进行初始化,所述原始数据页具有可校正的错误;读/写通道,耦合到控制处理器单元,被配置成:通过将可校正的错误校正为校正数据并将原始数据与校正数据进行比较来计算原始误码率(RBER),并基于RBER计算校正模型特性;以及非易失性存储阵列,所述非易失性存储阵列耦合到读/写通道,被配置成将经处理的数据页存储在具有原始数据页的物理块中;并且其中读/写通道进一步被配置成将校正模型特性应用于物理块中的原始数据页。
本发明实施例提供了一种方法,包括:对原始数据页的读取进行初始化,所述原始数据页包括可校正的错误;通过将原始数据中的可校正的错误校正为校正数据并将原始数据与校正数据进行比较来计算原始误码率(RBER);基于RBER计算校正模型特性;并将校正模型特性应用于物理块中的原始数据页。
本发明的实施例提供了一种非暂时性计算机可读介质,包括:对原始数据页的读取进行初始化,所述原始数据页包括可校正的错误;通过将原始数据中的可校正的错误校正为校正数据并将原始数据与校正数据进行比较来计算原始误码率(RBER);基于RBER计算校正模型特性;并将校正模型特性应用于物理块中的原始数据页。
除了上述那些之外或代替那些,本发明的某些实施例具有其他步骤或元件。通过参考附图阅读下面的详细描述,这些步骤或元件对于本领域技术人员将变得显而易见。
附图说明
图1是在本发明的一个实施例中的具有数据可靠性机制的存储系统。
图2描述了对多级单元NAND闪存页进行示例性访问的体系构架视图。
图3是在一个实施例中用于NAND闪存单元单次访问的统计概率表。
图4是在一个实施例中用于NAND闪存单元多次访问的统计概率表。
图5是在本发明的一个实施例中具有数据可靠性机制的存储系统的可操作流程图。
图6是在本发明的一个实施例中对存储系统进行操作的方法的流程图。
具体实施方式
对下面实施例进行了足够详细的描述,以使本领域技术人员能够制造和使用本发明。应当理解,根据本公开,其他实施例将是显而易见的,并且可以在不脱离本发明的实施例的范围的情况下进行系统、过程或机械的改变。
在下面的描述中,给出了许多具体细节以提供对本发明的透彻理解。然而,显而易见的是,可以在没有这些具体细节的情况下实践本发明。为了避免模糊本发明的实施例,并未详细公开一些公知的电路、系统配置和处理步骤。
示出了系统实施例的附图是半图解的,并且未按比例绘制,并且特别地,为了清楚呈现的目的,在附图中夸大地示出一些尺寸。类似地,尽管为了便于描述,附图中的视图通常示出类似的方位,但是附图中的这种描绘在大多数情况下是任意的。通常,本发明可以以任何方位操作。
根据使用术语的上下文,这里提到的术语“模块”可以包括硬件或在本发明的实施例中由软件支持的硬件。例如,软件可以是机器代码、固件、嵌入式代码和应用软件。又例如,硬件可以是电路、处理器、计算机、集成电路、集成电路核、无源设备或其组合。
作为示例,一种恢复数据的方法是使用高级信号处理算法重新读取和后读取信号处理。例如,所有后读取信号处理算法都需要使用不同的阈值进行重新读取,将这些阈值进一步转换为每个位的对数似然比(LLR)以进行例如低密度奇偶校验(LDPC)、软解码等的后处理。可以理解的是,重读取数据页会由于数据页和存储数据页的物理块中的电荷耗尽和电荷再分配而增加数据页的误码率(bit error rate)。
现在参考图1,其中示出了在本发明实施例中具有数据可靠性机制的存储系统100的功能框图。存储系统100的功能框图描绘了耦合到读/写通道104的非易失性存储器阵列102。控制接口106可以通过使得能够传输用户数据128进入本地数据存储器108或使校正数据126能够从本地数据存储器108传输到系统主机(未示出)来管理读/写通道104和本地数据存储器108。本地数据存储器108可以是耦合到读/写通道104和控制接口106以用作处理用户数据128的临时存储位置的易失性存储器阵列,例如包括动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、寄存器文件或其组合的互连的易失性存储器集成电路的矩阵。可以理解的是,原始数据124、校正数据126和用户数据128可以是位于本地数据存储器108中任何地方的瞬态信息。
非易失性存储器阵列102可以是互连的非易失性存储器集成电路的矩阵,例如单级单元(SLC)或多级单元(MLC)的NAND闪存阵列或另一种非易失性存储器技术。将非易失性存储器阵列102中的单元组织成多个经处理的数据页110,所述经处理的数据页110可以是用于写和读操作的最小单元。通过将它们的存储电压与阈值电压“t”进行比较来完成读取原始数据页112中的单元。读操作返回一个二进制向量,每个单元有一个位:1表示低于t的电压,0表示更高电压。但是,可能对某些单元进行了错误分类,从而在读取的位值中引入错误。可以利用读取阈值的选择来使读取中的误码率(BER)最小化。可以通过使用纠错码(ECC)、低密度奇偶校验(LDPC)或其他数据结构技术来校正经处理的数据页110。
读/写通道104可以是硬件结构,其可以由软件支持,以对用户数据128进行编码和解码,从而存储在非易失性存储器阵列102中。读/写通道104还可以从非易失性存储器阵列102检索原始数据页112,以作为原始数据124存储在本地数据存储器108中。原始数据124具有可校正的错误,其将由错误恢复(ER)电路120处理以生成校正数据126。ER电路120可以对原始数据124执行例如奇偶校正、ECC处理、低密度奇偶校验(LDPC)或其他纠错处理等的纠错处理,以产生校正数据126。
读/写通道104的另一方面是将经处理的数据页110写入非易失性存储器阵列102。读/写通道104可从本地数据存储器108检索用户数据128并将用户数据128准备用于作为经处理的数据页110写入非易失性存储器阵列102。读/写通道104可以在将经处理的数据页110写入非易失性存储器阵列102之前通过添加纠错信息并对各个位进行加扰来对用户数据128进行编码。
位于如擦除单元的相同物理块113中的原始数据页112和经处理的数据页110可以具有类似的电特性。作为示例,同一物理块113内的经处理的数据页110和原始数据页112可以具有相同数量的编程/擦除周期、保持时间,并且通常具有相同的读取干扰特性。物理块113可以具有类似的电压移位模式,并且如果经处理的数据页110和原始数据页112以相同的读取阈值读取,则它们具有类似的原始误码率(RBER)。
控制接口106可以包括由控制处理器单元114支持的总线控制器单元116。控制处理器单元114可以以多种不同方式用硬件电路实现。例如,控制处理器单元114可以是处理器、专用集成电路(ASIC)、嵌入式处理器、微处理器、硬件控制逻辑、硬件有限状态机(FSM)、数字信号处理器(DSP)或其组合。控制处理器单元114可以协调存储系统100的操作。总线控制器116可以执行用户数据128移入和移出存储系统100。总线控制器116可以实现为硬件控制逻辑、硬件有限状态机(FSM)或可编程总线控制器,其可以在本地数据存储器108和系统主机(未示出)之间提供数据传输。
控制处理器单元114可以管理读/写通道104的操作,包括执行计算、优化读取阈值、以及执行从主机系统(未示出)传送的接口命令。控制处理器单元114可以记录用于访问原始数据页112的读取阈值,并且可以在访问经处理的数据页110时使用相同的读取阈值。读/写通道104可以包括阈值优化单元118、错误恢复(ER)电路120和读/写电路122。阈值优化单元118可以是能够识别与物理块113在先前共同使用的读取阈值的硬件结构。控制处理器单元114可以与阈值优化单元118交互,以便调整读取阈值从而获得物理块113的最佳原始误码率(RBER)。控制处理器单元114可以对通过总线控制器116接收的接口命令进行解码并设置对原始数据页112或要由读/写通道104访问的经处理的数据页110的识别。一旦设置完成,控制处理器单元114可以使读/写通道104能够执行接口命令。应当理解的是,作为单独的硬件功能,读/写通道104可以实现为控制处理器单元114的一部分或非易失性存储器阵列102的一部分。
ER电路120可以通过将原始数据页112(其具有ECC可校正的错误)读取到本地数据存储器108中来提供RBER的值,其校正原始数据124中的错误并将如从原始数据页112物理读取的原始数据124与已经由ER电路120完成了纠错的校正数据126进行比较。ER电路120可以维持物理块113中的所有数据页110的读取阈值。可以将物理块113的读取阈值传送到控制处理器单元114,以进行可能的优化,从而减少由正在执行的接口命令处理的原始数据页112的RBER。
ER电路120还可以通过在将数据写入非易失性存储器阵列102之前对数据进行加扰来准备写入用户数据128,以便使所有非易失性单元平均配备。在通常的实践中,用户数据128通常与具有独立于用户数据128的一半为零和一半为一的随机二进制序列进行异或(XOR)。结果,写入非易失性单元的最终数据是一半为零和一半为一(统计上,不完全是)的二进制序列。这意味着,当来自原始数据页112的原始数据124的大小足够大时,0的数量应该非常接近1的数量。
ER电路120可用于对预期或目标数据进行编码,以提供错误保护、错误检测、纠错、冗余或其组合。ER电路120可用于对存储在本地数据存储器108中的原始数据124进行解码,以基于错误检测、纠错、冗余或其处理的组合来恢复预期或校正数据126。
为了说明的目的,将存储系统100描述为在采用NAND闪存存储和访问信息时利用数据可靠性机制。然而,应当理解的是,存储系统100可以将数据可靠性机制与如电阻性非易失性存储器、其他类型的闪存或非易失性存储器或其组合的其他类型的存储器一起使用。
已经发现,控制处理器单元114可以优化物理块113中的所有原始数据页112的读取阈值。这可以允许ER电路120基于原始数据页112的单个硬读取来生成校正模型特性121,诸如对数似然比(LLR)。通过对在原始数据页112上执行的硬读取的数量进行最小化,也可以使RBER的劣化最小化。校正模型特性121可以是物理块113中的任何原始数据页112的适当校正因子。
现在参看图2,其中示出了多级单元(MLC)NAND闪存页的示例性读取201的架构视图。示例性访问201的架构视图描述了对7个数据位202和由3个连续的硬读取访问的错误恢复位204进行访问,以检测MLC数据。
在b位MLC闪存中,每个单元存储2b个不同的预定义电压电平之一。当每个单元存储多个位,即b≥2时,使用格雷(Gray)编码完成信息位到电压电平的映射,以确保相邻电平之间仅一个位发生改变。这样做是因为在相邻电平之间最可能发生错误。格雷编码使平均BER最小化。进一步,将b个位中的每一个指派给不同的页。
应当理解的是,仅示出了图1的原始数据页112的访问的一部分。这是为了便于理解和简洁。每次访问可以涉及原始数据页112中的一个或更多个。输出数据206可以由ER电路120组装并存储在原始数据124中,其保存在图1的本地数据存储器108中。一旦将输出数据206组装为原始数据124,ER电路120就可以分析原始数据124以输入如低密度奇偶校验(LDPC)的特定的解码技术。
现在参看图3,其中示出了实施例中的NAND闪存单元单次访问(single access)的统计概率图301。统计概率图301描绘了写为“1”的作为统计1简档302的单元和写为“0”的统计0简档304的单元。统计1简档302和统计0简档304可以代表在非易失性存储器阵列102的图1中的物理块113中的单元的电压分布,分别写为1或0。读取阈值305可以由图1的控制处理器单元114设置或优化。读取阈值305是建立参考的电压电平,所述参考用于确定存储在非易失性存储器单元中的一个或更多个位的值。
示出为统计1简档302的被写为“1”的单元可以除以读取阈值305以得到概率密度函数(pdf)。可以将相邻两个电压电平之间的单次读取显示为曲线,所述曲线为相应的写电压的实际电压分布图。因此,在每个曲线下正好有一个区域。读取阈值305与示出为统计1简档302的被写为“1”的单元和示出为统计0简档304的被写为“0”的单元相交(intersect)。所述相交可以定义为:当电压小于读取阈值(即位于红线的左边时),读出值为1,否则读出值为0。306是位于读取阈值305的左边并位于曲线306下方的区域,其为写入1和读出1的概率。308是位于读取阈值305右边并位于曲线308下方的区域,其为写入1和读出0的概率,可以是可校正的错误。因此,根据pfd的性质,我们得到 310是位于读取阈值305左边并位于曲线310下方的区域,其为写入0和读出1的概率,可以是另一可校正的错误的示例。312是位于读取阈值305右边并位于曲线312下方的区域,其为写入0和读出0的概率。因此,我们也得出
现在,可将读出错误概率RBERε写为:
我们假设1的比率是θ,0≤θ≤1,则0的比率是1-θ。基于图1中ER电流120的扰乱过程,1和0的数量应当近似相等。读出1的比率可以表示为:
同样基于概率密度函数(pdf)我们得出以下方程:
以及
由于ε和θ是已知的值,其通过ER电路120的处理确定,上述4个线性方程形成4个未知的线性方程组,其可以解为:
表示为L(1)的读出1的校正模型特性121则可以通过ER电路120计算为:
其中Pr(w=x|r=y),x,y∈{0,1}表示写入x和读出y的概率。
类似地,表示为L(0)的读出值0的校正模型特性121则可以通过ER电路120计算为:
已经发现存储系统100可以基于RBERε和1的比率θ为图1中的原始数据124计算校正模型特性121。基于将L(0)和L(1)提交给软件解码过程(如LDPC,ECC,奇偶变换等)从而对原始数据124进行快速处理的能力可以使在每个单元上执行硬读取的数量最小化同时显著减少数据处理时间。对位于物理块113中的任何原始数据页112来说,L(0)和L(1)的值可以是常数,从而进一步提升存储系统100的性能。
现在参看图4,其中示出了在一个实施例中NAND闪存单元多次访问(multipleaccess)的统计概率表。统计概率表401描述了示出为统计1简档302的写为“1”的单元和示出为统计0简档304的写为“0”的单元。可以由图1中的控制处理器单元114设置或优化第一读取阈值402。第一读取阈值402和第二读取阈值404是建立参考的电压电平,所述参考用以确定存储在非易失性存储器单元中的一个或更多个位的值。第一读取阈值402和第二读取阈值404可以独立使用或者结合使用,以精炼关于存储在非易失性存储器单元中的一个或更多个位的值的统计信息。可以选取第二读取阈值404以增强错误校正可用的信息。需要理解的是,两个读取阈值的使用仅仅是示例,并且广义上包括任何数量的具有额外读取阈值的数据块的额外读取。
示出为统计1简档302的写为“1”的单元可以除以第一读取阈值402和第二读取阈值404以得到概率密度函数(pdf)。在这个示例中,当电压小于读取阈值时,读出值为1,否则读出值为0。因此,这两个读出值仅输出三个有效两位二进制序列。如果第二读取阈值404比第一读取阈值402的电压低,则三个有效两位为11、10和00。类似地,如果第二读取阈值比第一读取阈值402的电压高,则三个有效两位为11、01和00。在两个相邻电压电平之间的单个读出值可以显示为统计电压分布曲线,统计电压分布曲线是相应的写电压的实际电压分布曲线。因此,每条曲线下方的总面积为1。第一读取阈值402和第二读取阈值404可以与示出为统计1简档302的写为“1”的单元和示出为统计0简档304的写为“0”的单元相交。
如果电压比第一读取阈值402和第二读取阈值404低,即位于第二读取阈值404左边,则读出值为1并且表明406位于第二读取阈值404左边并且位于左边位概率曲线下方的区域,其为写入1和将两位读出为11的概率。408是位于第一读取阈值402和第二读取阈值404之间并且位于左边概率曲线下方的区域,其为写入1和读出两位为10的概率。410是位于第一读取阈值402右边并且位于左边概率曲线的下方的区域,其为写入1和读出两位为00的概率。
类似地,412是位于第二读取阈值404左边并且位于右边概率曲线的下方的区域,其为写入0和读出两位为11的概率。414是位于第一读取阈值402和第二读取阈值404之间并且位于右边概率曲线的下方的区域,其为写入0和读出两位为10的概率。416为位于第一读取阈值402右边并且位于右边概率曲线的下方的区域,其为写入0和读出两位为00的概率。
根据pdf的性质,我们得出:
以及
第一读出RBERε1可以写为
第二读出RBERε2可以写为
1在第一读出中的比率θ1可以表示为:
1在第二读出中的比率θ2可以表示为:
应当理解的是,这里有6个未知量()和6个线性方程。通过解这些线性方程,可以采用第一读出RBERε1、第二读出RBERε2、1在第一读出中的比率θ1以及1在第二读出中的比率θ2来计算的值。
来自两个读出值中的两位11的LLR,可以表示为L(11),现在可以计算为:
其中,Pr(w=x|r=y)表示写入x和读出y的概率。
类似地,来自两个读出值中的两位10的LLR,表示为L(10),则计算为:
以及,来自两个读出值中的两位00的LLR,表示为L(00),则计算为:
为了使之完整,我们指定无效读出序列为零LLR,
L(01)=0
通过比较上述来自单个读出值、两个读出值、或更多个读出值的LLR生成步骤,可以理解的是,当增加再多一个读出值,将会有两个更多的未知量,即与新的读取阈值的分解量相对应的概率。同时,还存在两个更多的已知量,即与任何额外读取阈值相对应的1的比率和RBER。
对于n个读出值,存在2(n+1)个未知概率,并且我们可以用n个RBERε1、ε2、...、εn形成n个线性方程,用n个不同1的比率θ1、θ2、...、θn形成另外n个线性方程,加上相应概率总和为1的两个更多线性方程。因此,存在2n+2个线性方程以对2n+2个未知量求解。这一线性方程组总是具有至少一个解。以这种方式,LLR可以用于任何数量的读出值的计算。
前面已经发现存储系统100可以基于RBERε和1的比率θ计算图1中的原始数据124的校正模型特性121。基于将L(0)和L(1)提交给软件解码过程(如LDPC、ECC、奇偶变换等诸如此类)的快速处理原始数据124的能力,可以对在每个单元上执行的硬读取的数量进行最小化,并显著减少数据处理时间。L(00)、L(01)、L(10)和L(11)的值可以针对在物理块113内的任何原始数据页112保持为常量,进一步提升存储系统100的性能。
现在参看图5,其中示出了在本发明的一个实施例中的具有数据可靠性机制的存储系统的操作流程图。可以理解的是,在这一应用中所描述的功能可以实现为由主机处理器(未示出)、图1中的控制处理器单元114或者其组合等执行的存储在非暂时性计算机可读介质中的指令。
非暂时性计算机可读介质可以包括光盘(CD)、数字化视频光盘(DVD)或者通用串行总线(USB)闪存存储器设备。可以将非暂时性计算机可读介质集成为主机系统(未示出)的一部分或者安装为存储系统100的非易失性存储阵列102。
非暂时性计算机可读介质可以包括执行“读取具有可校正的错误的原始数据”操作502所需的指令。可校正的错误可以通过如奇偶校正、ECC处理、低密度奇偶校验(LDPC)或其他错误校正处理等的过程进行校正。流程包括通过校正可校正的错误504生成图1中的校正数据126。图1中的原始数据124和校正数据126可以是存储在图1中的本地数据存储器108上的临时数据。
如方程1和方程13示例的,流程可以包括“通过比较原始数据和校正数据来计算原始误码率(RBER)”506。对原始数据124和校正数据126进行比较可以为非易失性存储器的整个物理块提供RBER。
如方程9和方程10示例的,流程可以包括“针对整个NV块计算从RBER计算LLR”508。非易失性存储器的物理块可以具有相同的RBER,因为物理块可以经受相似数量的写入、读取、擦除以及磨损均衡(wear leveling)。基于非易失性存储器的物理架构,可以以普通速率对整个物理块的充电进行耗尽。
流程包括“采用LLR进行所有错误校正和软解码”510。从RBER和校正数据126中的1的比率来生成LLR。LLR可以应用于在图1中的物理块113中的所有原始数据页112。
流程可以包括“基于NV块的退化(degradation)和RBER调整阈值”512。应当理解的是,图1中的控制处理器单元114可以调整图3中的读取阈值305,以便追踪非易失性存储阵列102的物理块103的改变。控制处理单元114可以监控校正过程的效率并作出调整,以便维持存储系统100的最高效率。
已经发现,当访问原始数据页112时,存储系统100可以提高性能。包括如方程9中示出的L(0)和方程10中示出的L(1)的普通LLR的应用,可以加速对来自非易失性存储阵列102的物理块113的数据进行校正。控制处理器114可以为在非易失性存储阵列102中活动的所有物理块113维持校正值的列表。
下面参看图6,其中示出对在本发明的实施例中的存储系统100进行操作的方法600的流程图。方法600包括:在框602中,对数据页的读取进行初始化,所述数据页包括可校正的错误;在框604中,通过将原始数据中的可校正的错误校正为校正数据,并将原始数据与校正数据进行比较,计算原始误码率(RBER);在框606中,基于RBER计算校正模型特性;以及在框608中,将校正模型特性应用于物理块的原始数据页。
所产生的方法、过程、装置、设备、产品和/或系统是直接的、成本效益好的、不复杂的、高度通用的、精确的、灵敏的和有效的,并且可以通过适配已知组件实现,以用于现成的、高效的和经济的制造、应用和使用。本发明的实施例的另一重要方面是有价值地支持和服务于减少成本、简化系统和提升性能的历史性趋势。
本发明的实施例的这些和其他有价值的方面最终促进技术状态达到至少新的水平。
在结合特定的最佳模式对本发明进行描述的同时,需要理解的是,根据前面的描述,许多替代选择、修改和变形对本领域技术人员来说是显而易见的。因此,这将意图包含落入所包括的权利要求的范围内的所有这些替代选择、修改和变形。这里提出或在附图中示出的所有事项将理解为说明性的和非限定性的功能。

Claims (15)

1.一种存储系统,包括:
控制处理器单元,配置成:
对原始数据页的读取进行初始化,所述原始数据页具有可校正的错误;
通过将所述可校正的错误校正为校正数据并将原始数据与所述校正数据进行比较,计算原始误码率(RBER)(EQ1),以及
基于所述RBER(EQ1)计算校正模型特性;和
非易失性存储阵列,所述非易失性存储阵列耦合至所述控制处理器单元,并且配置成将经处理的数据页存储在具有所述原始数据页的物理块中;以及
其中,所述控制处理器单元进一步配置成将所述校正模型特性应用到位于所述物理块中的所述原始数据页。
2.如权利要求1所述的系统,其中所述控制处理器单元访问错误恢复(ER)电路,所述错误恢复(ER)电路被配置成读取所述原始数据并生成所述校正数据。
3.如权利要求1所述的系统,其中所述控制处理器单元进一步被配置成对所述用户数据进行编码以当被写入所述非易失性存储阵列中的所述经处理的数据页时包括相似或相等数量的0和1。
4.如权利要求1所述的系统,其中所述控制处理器单元进一步被配置成维护所述物理块中的所述原始数据页的读取阈值。
5.如权利要求1所述的系统,进一步包括本地数据存储器,所述本地数据存储器耦合至控制接口,被配置成存储用户数据以由所述控制处理器单元进行编码。
6.如权利要求1所述的系统,其中所述控制处理器单元进一步被配置成计算读出1的比率(EQ2)以生成如L(1)(EQ9)和L(0)(EQ10)的所述校正模型特性。
7.如权利要求1所述的系统,其中,所述控制处理器单元进一步被配置成计算概率密度函数
8.如权利要求1所述的系统,其中所述控制处理器单元进一步被配置成将所述原始数据加载到本地数据存储器以对所述校正数据进行处理。
9.如权利要求1所述的系统,其中所述控制处理器单元进一步被配置成采用仅对原始数据页的读出进行单一执行来生成所述校正模型特性。
10.如权利要求1所述的系统,其中所述控制处理器单元进一步被配置成计算L(0)(EQ10)和L(1)(EQ9)以供软解码过程使用。
11.一种操作存储系统的方法,包括:
对原始数据页的读取进行初始化,所述原始数据页包括可校正的错误;
通过将原始数据中的所述可校正的错误校正为校正数据并将所述原始数据与所述校正数据进行比较,计算原始误码率(RBER)(EQ1);
基于所述RBER(EQ1)计算校正模型特性;以及
将所述校正模型特性应用到位于所述物理块中的所述原始数据页。
12.如权利要求11所述的方法,进一步包括将所述原始数据读出至本地数据存储器并生成所述校正数据。
13.如权利要求11所述的方法,进一步包括对所述用户数据进行编码,以当被写入非易失性存储阵列中的所述经处理的数据页时包括相似或相等数量的0和1。
14.如权利要求11所述的方法,进一步包括为所述物理块中的所述原始数据页维护读取阈值。
15.如权利要求11所述的方法,进一步包括将用户数据存储至本地数据存储器以用于由所述控制处理器单元进行编码。
CN201811038646.3A 2017-09-08 2018-09-06 具有数据可靠性机制的存储系统及其操作方法 Active CN109471808B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/699,886 2017-09-08
US15/699,886 US10269422B2 (en) 2017-09-08 2017-09-08 Storage system with data reliability mechanism and method of operation thereof

Publications (2)

Publication Number Publication Date
CN109471808A true CN109471808A (zh) 2019-03-15
CN109471808B CN109471808B (zh) 2023-10-31

Family

ID=65631575

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811038646.3A Active CN109471808B (zh) 2017-09-08 2018-09-06 具有数据可靠性机制的存储系统及其操作方法

Country Status (3)

Country Link
US (1) US10269422B2 (zh)
CN (1) CN109471808B (zh)
TW (1) TW201921281A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113053451A (zh) * 2021-03-05 2021-06-29 深圳三地一芯电子有限责任公司 Nandflash内生成softbit的方法、系统、主机以及储存介质
CN116364163A (zh) * 2023-04-17 2023-06-30 武汉喻芯半导体有限公司 一种基于nand闪存控制器的纠错方法及系统

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof
JP2019164850A (ja) * 2018-03-19 2019-09-26 東芝メモリ株式会社 メモリシステム

Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289477A (en) * 1991-06-06 1994-02-22 International Business Machines Corp. Personal computer wherein ECC and partly error checking can be selectively chosen for memory elements installed in the system, memory elements enabling selective choice of error checking, and method
US20040136236A1 (en) * 2002-10-29 2004-07-15 Guy Cohen Method circuit and system for read error detection in a non-volatile memory array
US20070136623A1 (en) * 2004-09-10 2007-06-14 Rambus Inc. Memory controller and method for operating a memory controller having an integrated bit error rate circuit
CN101256521A (zh) * 2007-03-01 2008-09-03 创惟科技股份有限公司 提高闪存资料存取可靠性的方法
US20080244368A1 (en) * 2007-03-31 2008-10-02 Henry Chin Guided Simulated Annealing in Non-Volatile Memory Error Correction Control
CN101510448A (zh) * 2008-02-14 2009-08-19 爱特梅尔公司 用于存储器的错误检测/校正方案
US20090213653A1 (en) * 2008-02-21 2009-08-27 Anobit Technologies Ltd Programming of analog memory cells using a single programming pulse per state transition
CN101779194A (zh) * 2007-07-09 2010-07-14 美光科技公司 用于存储器的错误校正
US20100177564A1 (en) * 2009-01-14 2010-07-15 Micron Technology, Inc. Method for detecting flash program failures
US20100211833A1 (en) * 2007-10-22 2010-08-19 Hanan Weingarten Systems and methods for averaging error rates in non-volatile devices and storage systems
US20100332894A1 (en) * 2009-06-30 2010-12-30 Stephen Bowers Bit error threshold and remapping a memory device
US20120072786A1 (en) * 2010-09-21 2012-03-22 International Business Machines Corporation Use of hashing function to distinguish random and repeat errors in a memory system
CN102713855A (zh) * 2009-12-23 2012-10-03 桑迪士克科技股份有限公司 在存储器设备处的控制数据的错误校正的系统和方法
WO2012159490A1 (zh) * 2011-05-26 2012-11-29 忆正科技(武汉)有限公司 一种闪存错误预估模块及其预估方法
CN102890621A (zh) * 2011-07-22 2013-01-23 弗森-艾奥公司 确定固态存储介质配置参数的装置、系统和方法
US20130111299A1 (en) * 2011-11-01 2013-05-02 Hitachi, Ltd. Non-volatile storage system compensating prior probability for low-density parity check codes
EP2608036A1 (en) * 2011-12-22 2013-06-26 Thomson Licensing Method and system for managing error detection and correction
US8621318B1 (en) * 2012-01-11 2013-12-31 Pmc-Sierra Us, Inc. Nonvolatile memory controller with error detection for concatenated error correction codes
US20140153332A1 (en) * 2012-11-30 2014-06-05 Micron Technology, Inc. Determining soft data from a hard read
US20140204671A1 (en) * 2013-01-21 2014-07-24 Sandisk Technologies Inc. Systems and methods of updating read voltages
CN103985415A (zh) * 2013-02-10 2014-08-13 Lsi公司 基于保留漂移历史的非易失性存储器读取阈值最优化
US20140301142A1 (en) * 2013-04-03 2014-10-09 Western Digital Technologies, Inc. Systems and methods of write precompensation to extend life of a solid-state memory
EP2822184A1 (en) * 2013-07-03 2015-01-07 LSI Corporation Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US20150085571A1 (en) * 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US8996838B1 (en) * 2014-05-08 2015-03-31 Sandisk Technologies Inc. Structure variation detection for a memory having a three-dimensional memory configuration
CN104769556A (zh) * 2012-10-11 2015-07-08 美光科技公司 更新可靠性数据
US20160049203A1 (en) * 2014-08-12 2016-02-18 Sandisk Technologies Inc. System and method of using multiple read operations
CN105374388A (zh) * 2014-08-19 2016-03-02 三星电子株式会社 存储装置和操作存储装置的方法
US20170047114A1 (en) * 2015-08-11 2017-02-16 HGST Netherlands B.V. Correlating physical page addresses for soft decision decoding
US9633740B1 (en) * 2016-02-11 2017-04-25 Seagate Technology Llc Read retry operations where likelihood value assignments change sign at different read voltages for each read retry
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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

Patent Citations (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5289477A (en) * 1991-06-06 1994-02-22 International Business Machines Corp. Personal computer wherein ECC and partly error checking can be selectively chosen for memory elements installed in the system, memory elements enabling selective choice of error checking, and method
US20040136236A1 (en) * 2002-10-29 2004-07-15 Guy Cohen Method circuit and system for read error detection in a non-volatile memory array
US20070136623A1 (en) * 2004-09-10 2007-06-14 Rambus Inc. Memory controller and method for operating a memory controller having an integrated bit error rate circuit
CN101256521A (zh) * 2007-03-01 2008-09-03 创惟科技股份有限公司 提高闪存资料存取可靠性的方法
US20080244368A1 (en) * 2007-03-31 2008-10-02 Henry Chin Guided Simulated Annealing in Non-Volatile Memory Error Correction Control
CN101779194A (zh) * 2007-07-09 2010-07-14 美光科技公司 用于存储器的错误校正
US20100211833A1 (en) * 2007-10-22 2010-08-19 Hanan Weingarten Systems and methods for averaging error rates in non-volatile devices and storage systems
CN101510448A (zh) * 2008-02-14 2009-08-19 爱特梅尔公司 用于存储器的错误检测/校正方案
US20090213653A1 (en) * 2008-02-21 2009-08-27 Anobit Technologies Ltd Programming of analog memory cells using a single programming pulse per state transition
US20100177564A1 (en) * 2009-01-14 2010-07-15 Micron Technology, Inc. Method for detecting flash program failures
US20100332894A1 (en) * 2009-06-30 2010-12-30 Stephen Bowers Bit error threshold and remapping a memory device
CN102713855A (zh) * 2009-12-23 2012-10-03 桑迪士克科技股份有限公司 在存储器设备处的控制数据的错误校正的系统和方法
US20120072786A1 (en) * 2010-09-21 2012-03-22 International Business Machines Corporation Use of hashing function to distinguish random and repeat errors in a memory system
WO2012159490A1 (zh) * 2011-05-26 2012-11-29 忆正科技(武汉)有限公司 一种闪存错误预估模块及其预估方法
CN102890621A (zh) * 2011-07-22 2013-01-23 弗森-艾奥公司 确定固态存储介质配置参数的装置、系统和方法
US20130111299A1 (en) * 2011-11-01 2013-05-02 Hitachi, Ltd. Non-volatile storage system compensating prior probability for low-density parity check codes
EP2608036A1 (en) * 2011-12-22 2013-06-26 Thomson Licensing Method and system for managing error detection and correction
US8621318B1 (en) * 2012-01-11 2013-12-31 Pmc-Sierra Us, Inc. Nonvolatile memory controller with error detection for concatenated error correction codes
CN104769556A (zh) * 2012-10-11 2015-07-08 美光科技公司 更新可靠性数据
US20140153332A1 (en) * 2012-11-30 2014-06-05 Micron Technology, Inc. Determining soft data from a hard read
US20140204671A1 (en) * 2013-01-21 2014-07-24 Sandisk Technologies Inc. Systems and methods of updating read voltages
CN103985415A (zh) * 2013-02-10 2014-08-13 Lsi公司 基于保留漂移历史的非易失性存储器读取阈值最优化
US20140301142A1 (en) * 2013-04-03 2014-10-09 Western Digital Technologies, Inc. Systems and methods of write precompensation to extend life of a solid-state memory
EP2822184A1 (en) * 2013-07-03 2015-01-07 LSI Corporation Log-likelihood ratio (LLR) dampening in low-density parity-check (LDPC) decoders
US20150085571A1 (en) * 2013-09-24 2015-03-26 Sandisk Technologies Inc. Updating read voltages
US8996838B1 (en) * 2014-05-08 2015-03-31 Sandisk Technologies Inc. Structure variation detection for a memory having a three-dimensional memory configuration
US20160049203A1 (en) * 2014-08-12 2016-02-18 Sandisk Technologies Inc. System and method of using multiple read operations
CN105374388A (zh) * 2014-08-19 2016-03-02 三星电子株式会社 存储装置和操作存储装置的方法
US20170047114A1 (en) * 2015-08-11 2017-02-16 HGST Netherlands B.V. Correlating physical page addresses for soft decision decoding
US9633740B1 (en) * 2016-02-11 2017-04-25 Seagate Technology Llc Read retry operations where likelihood value assignments change sign at different read voltages for each read retry
US10269422B2 (en) * 2017-09-08 2019-04-23 Cnex Labs, Inc. Storage system with data reliability mechanism and method of operation thereof

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
BIANCA SCHROEDER: "Flash Reliability in Production: The Expected and the Unexpected", 《14TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES (FAST ’16) 》 *
BIANCA SCHROEDER: "Flash Reliability in Production: The Expected and the Unexpected", 《14TH USENIX CONFERENCE ON FILE AND STORAGE TECHNOLOGIES (FAST ’16) 》, 25 February 2016 (2016-02-25), pages 67 - 80 *
YU CAI: "Data Retention in MLC NAND Flash Memory:Characterization, Optimization, and Recovery", 《2015 IEEE 21ST INTERNATIONAL SYMPOSIUM ON HPCA》 *
YU CAI: "Data Retention in MLC NAND Flash Memory:Characterization, Optimization, and Recovery", 《2015 IEEE 21ST INTERNATIONAL SYMPOSIUM ON HPCA》, 9 March 2015 (2015-03-09), pages 551 - 563 *
潘兴明等: "基于海明编码的EEPROM数据存取功能的实现", 《电子设计工程》 *
潘兴明等: "基于海明编码的EEPROM数据存取功能的实现", 《电子设计工程》, no. 07, 5 April 2015 (2015-04-05), pages 170 - 173 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113053451A (zh) * 2021-03-05 2021-06-29 深圳三地一芯电子有限责任公司 Nandflash内生成softbit的方法、系统、主机以及储存介质
CN113053451B (zh) * 2021-03-05 2022-05-10 深圳三地一芯电子有限责任公司 Nandflash内生成softbit的方法、系统、主机以及储存介质
CN116364163A (zh) * 2023-04-17 2023-06-30 武汉喻芯半导体有限公司 一种基于nand闪存控制器的纠错方法及系统
CN116364163B (zh) * 2023-04-17 2023-11-10 武汉喻芯半导体有限公司 一种基于nand闪存控制器的纠错方法及系统

Also Published As

Publication number Publication date
TW201921281A (zh) 2019-06-01
CN109471808B (zh) 2023-10-31
US20190080751A1 (en) 2019-03-14
US10269422B2 (en) 2019-04-23

Similar Documents

Publication Publication Date Title
US11074125B2 (en) Data storage system and method for decoding data based on extrapolated flipped-bit data
US10572338B2 (en) Estimating an error rate associated with memory
US10146460B1 (en) Programming schemes for avoidance or recovery from cross-temperature read failures
CN109471808A (zh) 具有数据可靠性机制的存储系统及其操作方法
US9454414B2 (en) System and method for accumulating soft information in LDPC decoding
CN103295635B (zh) 快闪存储器的数据读取方法、存储器控制装置和系统
US9847141B1 (en) Classifying memory cells to multiple impairment profiles based on readout bit-flip counts
US9086984B2 (en) Detection and decoding in flash memories with selective binary and non-binary decoding
EP2776929A1 (en) Soft information generation for memory systems
TW201019328A (en) Methods and apparatus for soft data generation for memory devices based on performance factor adjustment
KR20090083759A (ko) 메모리 장치 및 메모리 데이터 읽기 방법
US11630722B2 (en) Method and system for decoding data based on association of first memory location and second memory location
US11249848B2 (en) Error check code (ECC) decoder and memory system including ECC decoder
CN112599169A (zh) 存储器的读操作控制方法及装置以及存储器控制器
CN115248743A (zh) 存储器的读取阈值调整技术
US11210154B2 (en) Data-structure based dynamic program targeting control
US11295819B2 (en) Dual sense bin balancing in NAND flash
CN112562772B (zh) 自适应低密度奇偶校验硬解码器
Jeon et al. Limited magnitude error locating parity check codes for flash memories
US9202580B2 (en) Level-estimation in multi-level cell memory
CN112988448A (zh) 误码率平衡方法及装置,读取方法及装置
US20240134559A1 (en) Identifying center of valley in memory systems
CN113921060A (zh) 管理在存储器子系统中的清理操作的执行

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