CN111538621A - 针对位线故障的软芯片猎杀恢复 - Google Patents

针对位线故障的软芯片猎杀恢复 Download PDF

Info

Publication number
CN111538621A
CN111538621A CN201911414883.XA CN201911414883A CN111538621A CN 111538621 A CN111538621 A CN 111538621A CN 201911414883 A CN201911414883 A CN 201911414883A CN 111538621 A CN111538621 A CN 111538621A
Authority
CN
China
Prior art keywords
codewords
memory
parity
bit line
soft information
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
CN201911414883.XA
Other languages
English (en)
Other versions
CN111538621B (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.)
SK Hynix Inc
Original Assignee
SK Hynix 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 SK Hynix Inc filed Critical SK Hynix Inc
Publication of CN111538621A publication Critical patent/CN111538621A/zh
Application granted granted Critical
Publication of CN111538621B publication Critical patent/CN111538621B/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/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/1068Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in sector programmable memories, e.g. flash disk
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block 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/1044Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices with specific ECC/EDC distribution
    • 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
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2906Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes
    • H03M13/2921Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes using block codes wherein error correction coding involves a diagonal direction
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2948Iterative 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/45Soft decoding, i.e. using symbol reliability information
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/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/13Linear codes

Landscapes

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

Abstract

本公开涉及提高存储器装置的块的性能的装置、系统和方法。在示例中,通过实现软芯片猎杀恢复以减轻数据存储装置中的位线故障来提高性能。示例性方法包括:对存储块中的多个存储器单元中的每个水平行单元进行编码以生成多个码字中的每一个;以及生成多个奇偶校验符号,多个奇偶校验符号中的每一个基于跨越多个码字的对角定位的符号。

Description

针对位线故障的软芯片猎杀恢复
相关申请的交叉引用
本申请文件要求于2018年12月31日提交的申请号为62/787,158、名称为“针对位线故障的软芯片猎杀恢复”的美国临时专利申请的优先权和权益。通过引用将前述专利申请的全部内容作为本申请文件的公开内容的一部分并入。
技术领域
本申请文件总体涉及非易失性存储器装置,并且更特别地,涉及非易失性存储器装置中的错误校正。
背景技术
数据完整性对于数据存储装置和数据传输很重要。对于包括NAND闪速存储器装置和双列直插式存储器模块(DIMM)的各种类型的数据存储装置,推荐使用强错误校正码(ECC)。芯片猎杀是一种高级错误检查和校正(ECC)计算机存储器技术的形式,其保护计算机存储器系统免受任何单个存储器芯片故障以及单个存储器芯片的任意部分的多位错误。改善芯片猎杀操作提高了数据存储和数据传输的数据完整性。
发明内容
本公开技术的实施例涉及提高存储器装置的块的性能的方法、装置和系统。在示例中,通过实现软芯片猎杀恢复以减轻数据存储装置中的位线故障来提高性能。除其它特征和益处之外,本文件中描述的方法和装置有利地改善了存储器错误。
在一个示例方面,一种提高存储器装置的性能的方法包括:接收包括Nb个码字的存储块的N个码字,其中N和Nb是正整数,Nb大于2,Nb小于N,每个码字对应于存储器字线,并且Nb个码字中的每一个包括错误指示;对N个码字进行解码;识别被错误解码的第一组码字和被正确解码的第二组码字;获取被错误解码的第一组码字的通道信息,通道信息与第一组码字中的每一个的奇偶校验部分相关联;基于通道信息和被正确解码的第二组码字的解码结果,生成与Nb个码字对应的软信息,Nb个码字的至少一个符号的软信息包括符号判决和与符号判决相关联的概率;基于软信息,识别可能已经经历位线故障的候选位线;更新与候选位线对应的软信息;以及对Nb个码字执行解码操作。
在另一示例方面,一种提高存储器装置的性能的方法包括:对存储块的多个存储器单元中的每个水平行单元进行编码,以生成多个码字中的每一个;以及生成多个奇偶校验符号,多个奇偶校验符号中的每一个基于跨越多个码字的对角定位的符号。
在又一示例方面,这些方法可以以处理器可执行指令的形式实施并存储在计算机可读程序介质上。
可以以提供以下特征中的一个或多个的特定方式来实现本申请文件中描述的主题。
附图说明
图1示出存储器系统的示例。
图2是示例非易失性存储器装置的示图。
图3是示出非易失性存储器装置的单元电压电平分布(Vth)的示例图。
图4是示出非易失性存储器装置的单元电压电平分布(Vth)的另一示例图。
图5是示出编程干扰之前和之后的非易失性存储器装置的单元电压电平分布(Vth)的示例图。
图6是示出作为参考电压的函数的非易失性存储器装置的单元电压电平分布(Vth)的示例图。
图7是示出被配置以改善针对位线故障的软芯片猎杀恢复的示例性存储系统的框图。
图8示出生成芯片猎杀奇偶校验的示例。
图9示出用于改善针对位线故障的软芯片猎杀恢复的示例方法的流程图。
图10示出用于提高存储器装置的块的性能的另一示例方法的流程图。
图11示出用于提高存储器装置的块的性能的又一示例方法的流程图。
图12是示出可以实现本公开技术的实施例的示例性数据存储装置的框图。
具体实施方式
可以使用各种错误检查和校正(ECC)实施方式来执行芯片猎杀操作。在示例中,可以通过将汉明码ECC字的位分散在多个存储器芯片上来实现芯片猎杀操作,使得任意单个存储器芯片的故障将仅影响每个字的一个ECC位。这使得即使一个芯片完全故障,也允许重建存储器内容。典型的实施方式使用诸如BCH代码的可以利用较少的开销校正多个位的较高级的代码。
公司数据中心的观察结果表明,与具有只能校正单位错误的错误校正码的存储器模块相比,具有芯片猎杀错误校正的存储器报告不可校正错误的存储器模块的比例较低。学术研究也表明,使用真实世界的存储器跟踪和模拟二者的芯片猎杀存储器具有显著降低的存储器错误。
芯片猎杀操作正越来越多地并入非易失性存储器系统(例如NAND闪速存储器或DIMM)中,以确保稳定的数据存储和访问。图1至图6概述了可以实现本公开技术的实施例的非易失性存储器系统。
图1是可以在本公开技术的一些实施例中实现的存储器系统100的示例的框图。存储器系统100包括可以用于存储供其它电子装置或系统使用的信息的存储器模块110。存储器系统100可以被并入其它电子装置和系统中(例如,位于电路板上)。可选地,存储器系统100可以被实现为诸如USB闪存驱动器或固态驱动器(SSD)的外部存储装置。
存储器系统100中包括的存储器模块110可以包括存储器区域(例如,存储器阵列)102、104、106和108。存储器区域102、104、106和108中的每一个可以被包括在单个存储器管芯中或多个存储器管芯中。存储器管芯可以被包括在集成电路(IC)芯片中。
存储器区域102、104、106和108中的每一个包括多个存储器单元组。可以基于存储器单元组执行读取操作、编程操作或擦除操作。因此,每个存储器单元组可以包括预定数量的存储器单元。存储器区域102、104、106或108中的存储器单元可以被包括在单个存储器管芯中或多个存储器管芯中。
存储器区域102、104、106和108中的每一个中的存储器单元可以在存储器单元组中以行和列布置。每个存储器单元组可以是物理单元组。例如,一组多个存储器单元可以形成存储器单元组。每个存储器单元组也可以是逻辑单元组。例如,存储器单元组可以是可以由诸如组块(bank)地址、块地址和页面基地址的唯一地址标识的组块、块或页面。在读取操作或写入操作期间,与特定存储器单元组相关联的唯一地址可以用于访问该特定存储器单元组。基于该唯一地址,可以将信息写入该特定存储器单元组中的一个或多个存储器单元或从该特定存储器单元组中的一个或多个存储器单元中检索信息。
存储器区域102、104、106和108中的存储器单元可以包括非易失性存储器单元。非易失性存储器单元的示例包括闪速存储器单元、相变存储器(PRAM)单元、磁阻随机存取存储器(MRAM)单元或其它类型的非易失性存储器单元。在存储器单元被配置为NAND闪速存储器单元的示例实施方式中,可以基于页面来执行读取操作或写入操作。然而,基于块执行NAND闪速存储器中的擦除操作。
每个非易失性存储器单元可以被配置为单层单元(SLC)或多层存储器单元。单层单元可以每单元存储一位信息。多层存储器单元可以每单元存储多于一位信息。例如,存储器区域102、104、106和108中的每个存储器单元可以被配置为每单元存储两位信息的多层单元(MLC)、每单元存储三位信息的三层单元(TLC)、或每单元存储四位信息的四层单元(QLC)。在另一示例中,一个存储器区域中的每个存储器单元可以被配置为存储至少一位信息(例如,一位信息或多位信息),并且另一个存储器区域中的每个存储器单元可以被配置为存储多于一位信息。
如图1所示,存储器系统100包括控制器模块120。控制器模块120包括:存储器接口121,与存储器模块110通信;主机接口126,与主机(未示出)通信;处理器124,执行固件级代码;以及高速缓存123和存储器122,临时或永久存储可执行固件/指令和相关信息。在一些实施方式中,控制器模块120可以包括错误校正引擎(也称为ECC引擎)125,错误校正引擎125对存储在存储器模块110中的信息执行错误校正操作。错误校正引擎125可以被配置为检测/校正单位错误或多位错误。在另一实施方式中,错误校正引擎125可以位于存储器模块110中。
主机可以是包括一个或多个处理器的装置或系统,一个或多个处理器操作以从存储器系统100检索数据或者将数据存储或写入至存储器系统100中。在一些实施方式中,主机的示例可以包括个人计算机(PC)、便携式数字装置、数字照相机、数字多媒体播放器、电视和无线通信装置。
在一些实施方式中,控制器模块120还可以包括与主机通信的主机接口126。主机接口126可以包括符合主机接口规范中的至少一个的组件,主机接口规范包括但不限于串行高级技术附件(SATA)、串列小型计算机系统接口(SAS)规范、外围组件互连高速(PCIe)。
图2示出可以在本公开技术的一些实施例中使用的存储器单元阵列的示例。
在一些实施方式中,存储器单元阵列可以包括被划分成许多块的NAND闪速存储器阵列,并且每个块包含一定数量的页面。每个块包括多个存储器单元串,并且每个存储器单元串包括多个存储器单元。
在存储器单元阵列是NAND闪速存储器阵列的一些实施方式中,基于页面执行读取操作和写入(编程)操作,并且基于块执行擦除操作。在对块中包括的任意页面执行编程操作之前,必须同时擦除同一块内的所有存储器单元。在实施方式中,NAND闪速存储器可以使用偶数/奇数位线结构。在另一实施方式中,NAND闪速存储器可以使用全位线结构。在偶数/奇数位线结构中,偶数和奇数位线沿着每条字线交织并且被交替访问,使得每对偶数和奇数位线可以共享诸如页面缓冲器的外围电路。在全位线结构中,全部位线同时被访问。
图3示出多层单元装置中的阈值电压分布曲线的示例,其中针对每个编程/擦除状态的单元数量被绘制为阈值电压的函数。如其中所示,阈值电压分布曲线包括具有最低阈值电压的擦除状态(表示为“ER”并且对应于“11”)以及三个编程状态(表示为分别对应于“01”、“00”和“10”的“P1”、“P2”和“P3”),读取电压(由虚线表示)在状态之间。在一些实施例中,由于存储器阵列的材料特性的差异,编程/擦除状态的每个阈值电压分布具有有限的宽度。
在将多于一个数据位写入存储器单元中时,由于相邻分布之间的距离减小,因此需要对存储器单元的阈值电压电平进行精细布置。这可以通过使用增量步进脉冲编程(ISPP)来实现,即,使用向字线施加阶梯(stair case)编程电压的编程和验证方法来对同一字线上的存储器单元重复编程。每个编程状态与在验证操作中使用的验证电压相关联,并设置每个阈值电压分布窗口的目标位置。
阈值电压分布失真或重叠可能导致读取错误。理想的存储器单元阈值电压分布可能由于例如编程和擦除(P/E)循环、单元之间干扰以及数据保持错误而严重失真或重叠,这将在下文中进行讨论,并且在大多数情况下,可以通过使用错误校正码(ECC)来管理这些读取错误。
图4示出理想的阈值电压分布曲线410的示例和失真的阈值电压分布曲线420的示例。纵轴表示具有横轴上表示的特定阈值电压的存储器单元的数量。
对于n位多层单元NAND闪速存储器,可以将每个单元的阈值电压编程为2n个可行值。在理想的多层单元NAND闪速存储器中,每个值对应于不重叠的阈值电压窗口。
闪速存储器P/E循环对单元晶体管的电荷捕获层的浮栅的隧道氧化物造成损害,从而导致阈值电压偏移并且因此逐渐降低存储器装置噪声容限。随着P/E循环增加,不同编程状态的相邻分布之间的余量减小,并且最终分布开始重叠。阈值电压被编程在相邻分布的重叠范围内的存储器单元中存储的数据位可能被误判为不同于原始目标值的值。
图5示出NAND闪速存储器中的单元之间干扰的示例。单元之间干扰还可能导致闪存单元的阈值电压失真。一个存储器单元晶体管的阈值电压偏移可以通过干扰单元与牺牲单元之间的寄生电容耦合效应来影响其相邻存储器单元晶体管的阈值电压。单元之间干扰的量可能受到NAND闪速存储器位线结构的影响。在偶数/奇数位线结构中,一个字线上的存储器单元与偶数和奇数位线交替地连接,并且在同一字线中,偶数单元在奇数单元之前被编程。因此,偶数单元和奇数单元经历不同量的单元之间干扰。全位线结构中的单元比偶数/奇数位线结构中的偶数单元遭受更少的单元之间干扰,并且全位线结构可以有效地支持高速电流感测,以改善存储器读取和验证速度。
图5中的虚线表示所考虑的单元的P/E状态(在编程干扰之前)的标称分布,并且“相邻状态值”表示已将相邻状态编程为的值。如图5所示,在将相邻状态编程为P1时,所考虑的单元的阈值电压分布偏移特定的量。然而,在将相邻状态编程为比P1具有更高阈值电压的P2时,导致与相邻状态为P1相比更大的偏移。类似地,当将相邻状态编程为P3时,阈值电压分布的偏移最大。
图6示出通过比较正常的阈值电压分布和偏移的阈值电压分布的NAND闪速存储器中的保持错误的示例。随着时间推移,存储在NAND闪速存储器中的数据容易损坏,这被称为数据保持错误。保持错误由存储在单元晶体管的浮栅或电荷捕获层中的电荷损失引起。由于浮栅或电荷捕获层的磨损,具有较多编程擦除循环的存储器单元更可能经历保持错误。在图6的示例中,比较顶行的电压分布(损坏之前)和底行的电压分布(受保持错误污染),显示出向左偏移。
在一些实施例中,可以在图1至图6中描述的NAND闪速存储器中实现针对位线故障的软芯片猎杀恢复。例如,如果图2所示的非易失性存储器的一个或多个组件在非易失性存储器系统的操作之前或期间发生故障,则可以有利地使用软芯片猎杀恢复。故障的原因可能是由于制造过程期间的缺陷、使用之前或使用期间对装置的机械应力、存储器单元中的介电材料的劣化等。故障可能发生在存储器单元级别,这可能在非易失性存储器的其它组件内扩散并导致故障。在一些实施例中,当一组存储器单元中的任意一个中没有数据可写入和/或可读取时,可以认为该组存储器单元发生故障。在其它实施例中,当一组存储器单元中的至少一个不可写入和/或不可读取时,可以认为该组发生故障。在这些情况下,诸如一个或多个奇偶校验位的错误校正码(ECC)方案可以用来恢复故障组中的数据。
当前的芯片猎杀方案基于来自同一位线的存储器单元计算奇偶校验(使用XOR运算),这导致更加难以从位线故障中恢复,这在NAND闪速存储器中最为常见。本公开技术的实施例包括生成可以避免多个位线故障的芯片猎杀奇偶校验的新方法、装置和系统。
图7是示出被配置以改善针对位线故障的软芯片猎杀恢复的示例性存储系统700的框图。如图7所示,数据被存储在存储器装置710(例如,NAND闪存或DIMM)上。存储器读取接口(也称为存储器控制器)720用于访问存储在存储器装置710上的数据,并利用通常用于确保存储器可靠性的两种类型的错误校正码-低密度奇偶校验(LDPC)码和利用奇偶校验的线性二进制码接口连接。如图7所示,LDPC码模块(也称为LDPC码编码器/解码器)740和线性奇偶校验码模块(也称为线性奇偶校验码编码器/解码器)730二者与存储器读取接口720和存储器装置710二者接口连接。通常,LDPC码模块和线性奇偶校验码模块(分别为740和730)包括编码功能和解码功能二者,并且可以支持各种码字大小和码率。在一些实施例中,图7中的一些或全部模块可以使用诸如专用集成电路(ASIC)或现场可编程门阵列(FPGA)的半导体组件来实现。
图8示出根据本公开技术的生成芯片猎杀奇偶校验的示例。如其中所示,每个字线(如图8中的WL i所示,并对应于例如图2中的WL i,其中i=0、……、N)包括其内容已使用LDPC码进行编码的存储器单元。如图8中不同阴影的位所示,基于对跨越码字对角定位的数据位的XOR运算生成奇偶校验码字的奇偶校验位。例如,可以基于WL 0中的位b0、WL 2中的位b1等生成第一奇偶校验位,并基于WL 1中的位b0、WL 3中的位b1等生成第二奇偶校验位。这由于特定位线中的单元中的信息跨越多个奇偶校验位分布而有利地确保可以更加稳定地检测到单个位线故障。可选地,如果故障的主要机制是位线故障,则该方案可以容易地提高芯片猎杀奇偶校验的校正能力。
用于改善针对位线故障的软芯片猎杀恢复的另一示例性方法基于使用块中的成功解码的字线来检测位线故障。也就是说,当芯片猎杀恢复完成时,块中的所有字线通过LDPC解码器被读取和解码。成功解码的字线数据可以用于基于成功解码的数据中所有错误的交集找到位线错误位置。例如,位总是处于错误的位置可以被识别为位线故障的潜在候选。在对失败的码字进行LDPC解码期间,可以擦除这些位的位置。该方法利用了错误随机分布并且因此对于块中所有成功解码的字线而言错误位于同一位置的概率非常低的事实。
图9示出用于改善针对位线故障的软芯片猎杀恢复的示例性方法的流程图。在该示例中,假设块(或芯片猎杀条带)包含n个码字(每个对应于字线),芯片猎杀方案包括基于其它n-1个码字生成奇偶校验码字,并且存在nb个坏字线。在一些实施例中,坏字线因不能被LDPC解码器校正而被这样指定。在其它实施例中,该指定可以基于其它条件。在图9的情况中,并且在不失一般性的情况下,可以用0、1、2、……、nb-1对坏字线索引。图9所示的方法900开始于操作[1],在操作[1]中接收到坏(或失败)的码字。
方法900包括:在操作[2]中,对块中的所有字线进行解码,其中块可以为超级块。
方法900包括:在操作[3]中,确定所有字线是否已经被正确解码。
方法900包括:在操作[4]中,确定字线不可解码,并丢弃LDPC解码结果。获得该字线的通道信息并在之后的阶段中使用该字线的通道信息。
方法900包括:在操作[5]中,确定字线可解码,并将LDPC解码结果传递到之后的阶段。结合所有字线的软信息,其中通道信息用于LDPC码字发散的字线。
方法900包括:在操作[6]中,收集不可解码字线的所有通道信息和可解码字线的所有解码结果。基于该收集的信息,通过最小和消息传递算法或另一软解码算法来重新计算nb个坏字线的软输入信息。
方法900包括:在操作[7]中,比较(已经成功解码的字线的)解码结果及其接收信息,以识别这些字线的错误位置。利用该错误位置信息,如果多个字线具有相同的位置,则该位置很有可能是位线故障。一旦已识别出位线故障信息,擦除与故障的位线位置对应的(在操作[6]中生成的)软输入。在示例中,软输入可以利用0替换。在另一示例中,可以利用最大或最小软值替换软输入。
方法900包括:在操作[8]中,使用在操作[7]中重新计算的软输入再次解码nb个坏字线。
方法900包括:在操作[9]中,确定是否存在一些可以被解码的坏字线。如果存在,则使用这些新解码的字线的解码结果来更新剩余的不可解码字线的软输入信息和位线故障信息。该过程用于解码其余故障的字线。
方法900包括:在操作[10]中,如果所有nb个坏字线被成功解码,则结束该方法。可选地,当发生超时时,结束该方法。
图10是示出用于通过例如针对存储器装置中的位线故障实施软芯片猎杀恢复来提高存储器装置的块的性能的示例性方法的流程图。在一些实施例中,位线故障可能发生在存储器装置的块中,该块包括N个码字。方法1000包括:在操作1010中,接收包括Nb个码字的存储块的N个码字,N和Nb是正整数,Nb大于2,Nb小于N,每个码字对应于存储器字线,并且Nb个码字中的每一个包括错误指示。
方法1000包括:在操作1020中,对N个码字进行解码。
方法1000包括:在操作1030中,识别被错误解码的第一组码字和被正确解码的第二组码字。
方法1000包括:在操作1040中,获取被错误解码的第一组码字的通道信息,该通道信息与第一组码字中的每一个的奇偶校验部分相关联。
方法1000包括:在操作1050中,基于通道信息和被正确解码的第二组码字的解码结果,生成与Nb个码字对应的软信息,Nb个码字的至少一个符号的软信息包括符号判决和与该符号判决相关联的概率。
方法1000包括:在操作1060中,基于软信息识别可能已经经历位线故障的候选位线。
方法1000包括:在操作1070中,更新与候选位线对应的软信息。
方法1000包括:在操作1080中,对Nb个码字执行解码操作。
在一些实施例中,基于针对Nb个码字的芯片猎杀奇偶校验更新软信息。
在一些实施例中,识别候选位线包括:基于比较解码结果和N个码字中的第二组码字的接收信息来识别Nb个码字中的一个或多个符号位置,其中芯片猎杀奇偶校验基于一个或多个符号位置。
在一些实施例中,芯片猎杀奇偶校验基于跨越Nb个码字的对角定位的符号。
在一些实施例中,生成软信息进一步基于最大乘积消息传递算法或最小和消息传递算法。
在一些实施例中,基于低密度奇偶校验(LDPC)码生成N个码字。
在一些实施例中,可能已经经历位线故障的候选位线对应于LDPC码的发散码字。
在一些实施例中,存储器装置是NAND闪速存储器装置或双列直插式存储器模块(DIMM)。
图11是示出用于通过例如针对存储器装置中的位线故障实施软芯片猎杀恢复来提高存储器装置的块的性能的示例性方法的流程图。方法1100包括:在操作1110中,对存储块的多个存储器单元中的每个水平行单元进行编码,以生成多个码字中的每一个。
方法1100包括:在操作1120中,生成多个奇偶校验符号,多个奇偶校验符号中的每一个基于跨越多个码字的对角定位的符号。
图12是示出根据本发明构思的另一示例实施例的数据存储装置的框图。参照图12,数据存储装置1200可以包括闪速存储器1210和存储器控制器1220。存储器控制器1220可以响应于从数据存储装置1200的外部输入的控制信号来控制闪速存储器1210。在数据存储装置1200中,闪速存储器1210可以被配置为与非易失性存储器装置相同或基本上相同。也就是说,闪速存储器1210可以使用不同的读取电压从选择的存储器单元读取数据,以将数据输出到存储器控制器1220。
数据存储装置1200可以是存储卡装置、SSD装置、多媒体卡装置、SD卡、记忆棒装置、HDD装置、混合驱动装置或USB闪存装置。例如,数据存储装置1200可以是诸如数字照相机、个人计算机等的满足用户装置标准的卡。
本申请文件中描述的主题和功能操作的实施方式可以以各种系统、数字电子电路实现,或者以计算机软件、固件或包括本说明书中公开的结构及其等效结构的硬件实现,或者以其中的一个或多个的组合实现。本说明书中描述的主题的实施方式可以被实现为一种或多种计算机程序产品,即,有形且非暂时性的计算机可读介质上编码的计算机程序指令的一个或多个模块,以用于被数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储装置、机器可读存储基板、存储器装置、影响机器可读传播信号的物质组成、或其中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机、或者多个处理器或多个计算机。除硬件之外,设备还可以包括为讨论的计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、或其中的一个或多个的组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以包括编译或解译语言的任意形式的编程语言来写入,并且可以以包括如独立运行的程序或如模块、组件、子程序或适用于计算环境的其它单元的任意形式进行部署。计算机程序不必与文件系统中的文件对应。程序可以存储在保存其它程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分、专用于讨论的程序的单个文件、或多个配合文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一台计算机上执行或在位于一个站点或通过通信网络分布于多个站点并互连的多台计算机上执行。
本说明书中描述的进程和逻辑流程可以通过一个或多个可编程处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出执行功能来执行。进程和逻辑流程也可以由例如FPGA(现场可编程门阵列)或ASIC(专用集成电路)的专用逻辑电路执行,并且设备也可以被实现为专用逻辑电路。
适合执行计算机程序的处理器包括例如通用微处理器和专用微处理器、以及任意种类的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于执行指令的处理器和用于存储指令与数据的一个或多个存储器装置。通常,计算机将还包括例如磁盘、磁光盘或光盘的用于存储数据的一个或多个大容量存储装置,或可操作地联接以从一个或多个大容量存储装置接收数据或将数据传输到一个或多个大容量存储装置或者从一个或多个大容量存储装置接收数据并将数据传输到一个或多个大容量存储装置。然而,计算机不需要具有这种装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如,EPROM、EEPROM和闪速存储器装置。处理器和存储器可以由专用逻辑电路补充或合并到专用逻辑电路中。
说明书与附图一起仅被认为是示例性的,其中示例性表示示例。
尽管本申请文件包含许多细节,但是这些细节不应解释为对任何发明或可以要求保护的内容的范围的限制,而应解释为对可以特定于特定发明的特定实施例的特征的描述。在本申请文件中在单独实施例的上下文中描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文中描述的各种特征也可以分别在多个实施例中实现或以任意合适的子组合来实现。此外,尽管特征可能在上文描述为在某些组合中起作用并且甚至最初如此要求,但是在某些情况下,可以从所要求保护的组合中排除该组合中的一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变体。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,本申请文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
本申请文件中仅描述一些实施方式和示例,并且可以基于本申请文件中所描述和示出的内容进行其它实施方式、改进和变化。

Claims (20)

1.一种提高存储器装置的块的性能的方法,包括:
接收包括Nb个码字的存储块的N个码字,其中N和Nb为正整数,Nb大于2,Nb小于N,每个码字对应于存储器字线,并且所述Nb个码字中的每一个包括错误指示;
对所述N个码字进行解码;
识别被错误解码的第一组码字和被正确解码的第二组码字;
获取被错误解码的所述第一组码字的通道信息,所述通道信息与所述第一组码字中的每一个的奇偶校验部分相关联;
基于所述通道信息和被正确解码的所述第二组码字的解码结果,生成与所述Nb个码字对应的软信息,所述Nb个码字的至少一个符号的软信息包括符号判决和与所述符号判决相关联的概率;
基于所述软信息,识别可能已经经历位线故障的候选位线;
更新与所述候选位线对应的软信息;以及
对所述Nb个码字执行解码操作。
2.根据权利要求1所述的方法,其中基于针对所述Nb个码字的芯片猎杀奇偶校验更新所述软信息。
3.根据权利要求2所述的方法,其中识别所述候选位线包括:
基于比较所述解码结果和所述N个码字中的所述第二组码字的接收信息来识别所述Nb个码字中的一个或多个符号位置,其中所述芯片猎杀奇偶校验基于所述一个或多个符号位置。
4.根据权利要求2所述的方法,其中所述芯片猎杀奇偶校验基于跨越所述Nb个码字的对角定位的符号。
5.根据权利要求1所述的方法,其中生成所述软信息进一步基于最大乘积消息传递算法或最小和消息传递算法。
6.根据权利要求1所述的方法,其中所述N个码字基于低密度奇偶校验码即LDPC码生成。
7.根据权利要求6所述的方法,其中可能已经经历所述位线故障的所述候选位线对应于所述LDPC码的发散码字。
8.根据权利要求1所述的方法,其中所述存储器装置是NAND闪速存储器装置或双列直插式存储器模块即DIMM。
9.一种提高存储器装置的块的性能的方法,包括:
对存储块的多个存储器单元中的每个水平行单元进行编码,以生成多个码字中的每一个;以及
生成多个奇偶校验符号,所述多个奇偶校验符号中的每一个基于跨越所述多个码字的对角定位的符号。
10.一种提高存储器装置的块的性能的系统,包括:
处理器和存储器,所述存储器包括所述存储器上存储的指令,其中所述指令在被所述处理器执行时使所述处理器:
接收包括Nb个码字的存储块的N个码字,其中N和Nb为正整数,Nb大于2,Nb小于N,每个码字对应于存储器字线,并且所述Nb个码字中的每一个包括错误指示;
对所述N个码字进行解码;
识别被错误解码的第一组码字和被正确解码的第二组码字;
获取被错误解码的所述第一组码字的通道信息,所述通道信息与所述第一组码字中的每一个的奇偶校验部分相关联;
基于所述通道信息和被正确解码的所述第二组码字的解码结果,生成与所述Nb个码字对应的软信息,所述Nb个码字的至少一个符号的软信息包括符号判决和与所述符号判决相关联的概率;
基于所述软信息,识别可能已经经历位线故障的候选位线;
更新与所述候选位线对应的软信息;并且
对所述Nb个码字执行解码操作。
11.根据权利要求10所述的系统,其中基于针对所述Nb个码字的芯片猎杀奇偶校验更新所述软信息。
12.根据权利要求11所述的系统,其中识别所述候选位线包括:
基于比较所述解码结果和所述N个码字中的所述第二组码字的接收信息来识别所述Nb个码字中的一个或多个符号位置,其中所述芯片猎杀奇偶校验基于所述一个或多个符号位置。
13.根据权利要求11所述的系统,其中所述芯片猎杀奇偶校验基于跨越所述Nb个码字的对角定位的符号。
14.根据权利要求10所述的系统,其中生成所述软信息进一步基于最大乘积消息传递算法或最小和消息传递算法。
15.根据权利要求10所述的系统,其中所述存储器装置是NAND闪速存储器装置或双列直插式存储器模块即DIMM。
16.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质上存储有提高存储器装置的块的性能的指令,包括:
接收包括Nb个码字的存储块的N个码字的指令,其中N和Nb为正整数,Nb大于2,Nb小于N,每个码字对应于存储器字线,并且所述Nb个码字中的每一个包括错误指示;
对所述N个码字进行解码的指令;
识别被错误解码的第一组码字和被正确解码的第二组码字的指令;
获取被错误解码的所述第一组码字的通道信息的指令,所述通道信息与所述第一组码字中的每一个的奇偶校验部分相关联;
基于所述通道信息和被正确解码的所述第二组码字的解码结果生成与所述Nb个码字对应的软信息的指令,所述Nb个码字的至少一个符号的软信息包括符号判决和与所述符号判决相关联的概率;
基于所述软信息识别可能已经经历位线故障的候选位线的指令;
更新与所述候选位线对应的软信息的指令;以及
对所述Nb个码字执行解码操作的指令。
17.根据权利要求16所述的非暂时性计算机可读存储介质,其中基于针对所述Nb个码字的芯片猎杀奇偶校验更新所述软信息。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中识别所述候选位线的指令包括:
基于比较所述解码结果和所述N个码字中的所述第二组码字的接收信息来识别所述Nb个码字中的一个或多个符号位置的指令,其中所述芯片猎杀奇偶校验基于所述一个或多个符号位置。
19.根据权利要求17所述的非暂时性计算机可读存储介质,其中所述芯片猎杀奇偶校验基于跨越所述Nb个码字的对角定位的符号。
20.根据权利要求16所述的非暂时性计算机可读存储介质,其中生成所述软信息的指令进一步基于最大乘积消息传递算法或最小和消息传递算法。
CN201911414883.XA 2018-12-31 2019-12-31 针对位线故障的软芯片猎杀恢复 Active CN111538621B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201862787158P 2018-12-31 2018-12-31
US62/787,158 2018-12-31

Publications (2)

Publication Number Publication Date
CN111538621A true CN111538621A (zh) 2020-08-14
CN111538621B CN111538621B (zh) 2023-04-07

Family

ID=71124293

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911414883.XA Active CN111538621B (zh) 2018-12-31 2019-12-31 针对位线故障的软芯片猎杀恢复

Country Status (2)

Country Link
US (1) US11055174B2 (zh)
CN (1) CN111538621B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116486882A (zh) * 2023-04-27 2023-07-25 深圳市晶存科技有限公司 基于字线的芯片性能测试方法、装置、设备及介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20200141172A (ko) * 2019-06-10 2020-12-18 에스케이하이닉스 주식회사 메모리 시스템 및 그것의 동작방법
US11404136B2 (en) * 2020-12-16 2022-08-02 Micron Technology, Inc. Memory device protection using interleaved multibit symbols

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180067847A1 (en) * 2016-09-06 2018-03-08 Samsung Electronics Co., Ltd. Memory device including column redundancy
CN107958680A (zh) * 2015-10-22 2018-04-24 三星电子株式会社 存储器装置的边缘字线管理方法及操作存储器装置的方法
US20180137309A1 (en) * 2016-11-16 2018-05-17 Sandisk Technologies Llc Storage System and Method for Providing Gray Levels of Read Security
CN108053862A (zh) * 2014-09-26 2018-05-18 英特尔公司 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据
US20180308545A1 (en) * 2017-04-25 2018-10-25 International Business Machines Corporation Sram bitline equalization using phase change material

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6202106B1 (en) * 1998-09-09 2001-03-13 Xilinx, Inc. Method for providing specific knowledge of a structure of parameter blocks to an intelligent direct memory access controller
US8055976B2 (en) 2007-08-13 2011-11-08 International Business Machines Corporation System and method for providing error correction and detection in a memory system
US8290059B2 (en) * 2007-08-15 2012-10-16 Maxlinear, Inc. Method and apparatus for preserving deinterleaving erasure information of block interleaved coded signal
US9317361B2 (en) 2013-11-27 2016-04-19 Seagate Technology Llc Bit-line defect detection using unsatisfied parity code checks
US20180167088A1 (en) * 2016-12-09 2018-06-14 Futurewei Technologies, Inc. Error-Correcting Code Method and System with Hybrid Block Product Codes
US10048741B1 (en) * 2017-01-26 2018-08-14 Advanced Micro Devices, Inc. Bandwidth-aware multi-frequency performance estimation mechanism
US10733077B2 (en) * 2017-12-28 2020-08-04 Intel Corporation Techniques for monitoring errors and system performance using debug trace information
KR20190099933A (ko) * 2018-02-20 2019-08-28 삼성전자주식회사 외부의 전압을 기반으로 동작 모드를 결정하는 메모리 장치 및 그 동작방법
US11070997B2 (en) * 2018-02-22 2021-07-20 Intel Corporation Performance measurement job control for 5G networks and network slicing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108053862A (zh) * 2014-09-26 2018-05-18 英特尔公司 使用来自多个存储单元和奇偶校验存储单元的可靠性信息为一个失效存储单元恢复数据
CN107958680A (zh) * 2015-10-22 2018-04-24 三星电子株式会社 存储器装置的边缘字线管理方法及操作存储器装置的方法
US20180067847A1 (en) * 2016-09-06 2018-03-08 Samsung Electronics Co., Ltd. Memory device including column redundancy
US20180137309A1 (en) * 2016-11-16 2018-05-17 Sandisk Technologies Llc Storage System and Method for Providing Gray Levels of Read Security
US20180308545A1 (en) * 2017-04-25 2018-10-25 International Business Machines Corporation Sram bitline equalization using phase change material

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
XUEQIANG WANG ET AL. *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116486882A (zh) * 2023-04-27 2023-07-25 深圳市晶存科技有限公司 基于字线的芯片性能测试方法、装置、设备及介质
CN116486882B (zh) * 2023-04-27 2023-12-08 深圳市晶存科技有限公司 基于字线的芯片性能测试方法、装置、设备及介质

Also Published As

Publication number Publication date
US11055174B2 (en) 2021-07-06
CN111538621B (zh) 2023-04-07
US20200210286A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
US9928126B1 (en) Recovery from cross-temperature read failures by programming neighbor word lines
CN112783685B (zh) 快速收敛的低密度奇偶校验码的位翻转解码器
CN111538620B (zh) 存储器装置的鲁棒检测方法
US11184024B2 (en) Error mitigation scheme for bit-flipping decoders for irregular low-density parity-check codes
US10084479B2 (en) Low BER hard-decision LDPC decoder
CN111538621B (zh) 针对位线故障的软芯片猎杀恢复
CN112860474B (zh) 快速收敛的低密度奇偶校验码的软位翻转解码器
US11057058B2 (en) Quality of service of an adaptive soft decoder
US11139831B2 (en) Fast fail support for error correction in non-volatile memory
CN114649047A (zh) 具有高度可变节点的低密度奇偶校验码的译码
CN114765047A (zh) 非易失性存储器装置中的软读取阈值估计的高斯建模
US11265015B2 (en) Out-of-order processing for bit-flipping decoders in non-volatile memory devices
CN112562772B (zh) 自适应低密度奇偶校验硬解码器
US10084487B2 (en) Apparatuses and methods for erasure-assisted ECC decoding
US11456757B2 (en) Oscillation detection and mitigation in bit-flipping decoders
CN115482866A (zh) 基于存储器装置中先前读取尝试的参数估计
US20240103727A1 (en) Out-of-order bit-flipping decoders for non-volatile memory devices
CN112331244B (zh) 广义低密度奇偶校验码的软输入软输出分量代码解码器
TWI837354B (zh) 廣義低密度同位檢查碼的軟輸入軟輸出組件碼解碼器
US11574697B2 (en) Compression framework for log-likelihood ratio generation
US11881869B1 (en) Asymmetric bit errors in low-density parity-check codes for non-volatile memory devices
US11050442B2 (en) Reducing the latency of a syndrome-based quasi-cyclic decoder

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