CN111462800A - 用于确定非易失性存储器器件的最佳阈值的方法 - Google Patents
用于确定非易失性存储器器件的最佳阈值的方法 Download PDFInfo
- Publication number
- CN111462800A CN111462800A CN202010074038.9A CN202010074038A CN111462800A CN 111462800 A CN111462800 A CN 111462800A CN 202010074038 A CN202010074038 A CN 202010074038A CN 111462800 A CN111462800 A CN 111462800A
- Authority
- CN
- China
- Prior art keywords
- page
- threshold
- memory device
- reading
- distribution
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 88
- 238000009826 distribution Methods 0.000 claims abstract description 63
- 230000001186 cumulative effect Effects 0.000 claims description 8
- 238000011156 evaluation Methods 0.000 claims 3
- 238000009825 accumulation Methods 0.000 claims 2
- 238000012937 correction Methods 0.000 description 16
- 238000002474 experimental method Methods 0.000 description 7
- 239000000872 buffer Substances 0.000 description 5
- 238000010586 diagram Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 239000013589 supplement Substances 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000009469 supplementation Effects 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3404—Convergence or correction of memory cell threshold voltages; Repair or recovery of overerased or overprogrammed cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/04—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS
- G11C16/0483—Erasable programmable read-only memories electrically programmable using variable threshold transistors, e.g. FAMOS comprising cells having several storage transistors connected in series
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1008—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
- G06F11/1012—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices using codes or arrangements adapted for a specific type of error
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/56—Digital 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/5621—Digital 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/5642—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/08—Address circuits; Decoders; Word-line control circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/26—Sensing or reading circuits; Data output circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/30—Power supply circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/021—Detection or location of defective auxiliary circuits, e.g. defective refresh counters in voltage or current generators
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/02—Detection or location of defective auxiliary circuits, e.g. defective refresh counters
- G11C29/028—Detection or location of defective auxiliary circuits, e.g. defective refresh counters with adaption or trimming of parameters
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/04—Detection or location of defective memory elements, e.g. cell constructio details, timing of test signals
- G11C29/08—Functional testing, e.g. testing during refresh, power-on self testing [POST] or distributed testing
- G11C29/12—Built-in arrangements for testing, e.g. built-in self testing [BIST] or interconnection details
- G11C29/38—Response verification devices
- G11C29/42—Response verification devices using error correcting codes [ECC] or parity check
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/52—Protection of memory contents; Detection of errors in memory contents
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C29/00—Checking stores for correct operation ; Subsequent repair; Testing stores during standby or offline operation
- G11C29/56—External testing equipment for static stores, e.g. automatic test equipment [ATE]; Interfaces therefor
- G11C29/56008—Error analysis, representation of errors
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
Abstract
提供了一种用于确定非易失性存储器器件的最佳阈值的方法,该方法包括:用默认阈值从非易失性存储器器件读取页面,并尝试使用默认阈值对该页面进行硬解码;当硬解码失败时,用预定的偏移电压再读取该页面两次,并且尝试使用默认阈值对该页面进行软解码;用每个电平的高斯分布来近似被成功解码的位的经验分布;找到高斯分布的交叉点;以及将该交叉点设置为新的读取阈值,并且用该新的读取阈值再次读取该页面。
Description
技术领域
本发明构思的示例性实施例涉及机器学习,并且更具体地,涉及用于确定非易失性存储器器件的最佳阈值的方法。
背景技术
在NAND闪存器件中存储数据并随后读取NAND闪存器件通常容易出错。因此,纠错码被用来对此进行补偿。然而,当NAND闪存器件积累了大量错误时,纠错码克服错误的能力受到阻碍,甚至完全丧失能力。在这种情况下,可能会出现读取失败和随后的数据丢失。
在读取操作期间可能导致错误增加的因素之一是逻辑1和逻辑0之间的决策阈值的不正确布置。换句话说,电压电平的不正确决策会导致读取误差的增加,其中高于该电压电平的NAND闪存单元被视为包含0,而低于该电压电平的NAND闪存单元被视为包含1。由于最佳决策阈值可能在芯片中的不同块或字线之间不同以及在不同的磨损次数和水平的相同字线之间不同,所以预先选择的最佳阈值可能不理想。因此,甚至预先选择的最佳阈值会增加错误量,并潜在地导致读取失败。目前,在默认阈值不满足的情况下,采用几种连续的方法来估计最佳阈值。这些方法如下:
1、使用默认阈值读取页面。
2、软解码:再采用两个读取阈值,并结合之前的读取操作来评估哪些位是第一次错误的。然后,再次尝试解码该页面。
3、较少读取估计(Less Read Estimation,LRE):再使用三个或四个的读取阈值将多项式拟合到联合位分布(joint bit distribution),并使用经拟合的联合位分布来估计最佳阈值并解码该页面。
4、报告该页面的读取失败和数据损坏。
除了这些方法有限的有效性之外,要考虑的另一因素是这些方法引起的读取延迟。例如,用特定阈值从NAND闪存中读取是一项昂贵且耗时的操作。换句话说,即使页面解码最终成功,最坏情况下的读取时间仍然会受到显著影响。因此,闪存系统所能够提供的整体服务质量下降。
发明内容
根据本发明构思的一示例性实施例,提供了一种用于确定非易失性存储器器件的最佳阈值的方法,该方法包括:用默认阈值从非易失性存储器器件读取页面,并且尝试使用默认阈值对该页面进行硬解码;当硬解码失败时,用预定的偏移电压再读取该页面两次,并且尝试使用默认阈值对该页面进行软解码;用每个电平的高斯分布来近似(approximating)被成功解码的位的经验分布;找到高斯分布的交叉点;以及将该交叉点设置为新的读取阈值,并且用新的读取阈值再次读取该页面。
根据本发明构思的一示例性实施例,提供了一种用于确定NAND闪存器件的最佳阈值的方法,该方法包括:用默认阈值从NAND闪存器件读取页面,并尝试使用默认阈值对该页面进行硬解码;当硬解码失败时,用预定的偏移电压再读取该页面两次,并且尝试使用默认阈值对该页面进行软解码;使用迭代重加权最小二乘(iteratively reweighted leastsquare,IRLS)方法用第一电平和第二电平的高斯分布来近似被成功解码的位的经验分布;找到高斯分布的交叉点;以及将该交叉点设置为新的读取阈值,并且用新的读取阈值再次读取该页面。
根据本发明构思的一示例性实施例,提供了一种用于确定NAND闪存器件的最佳阈值的方法,该方法包括:用默认阈值从NAND闪存器件读取页面,并且尝试使用默认阈值对该页面进行硬解码;当硬解码失败时,用预定的偏移电压再读取该页面两次,并且尝试使用默认阈值对该页面进行软解码;使用迭代重加权最小二乘(IRLS)方法用每个电平的高斯分布来近似被成功解码的位的经验分布;找到高斯分布的交叉点;以及将该交叉点设置为新的读取阈值,并且用新的读取阈值再次读取该页面。
附图说明
从以下结合附图的描述中,本发明构思的上述和其他特征将变得明显,在附图中:
图1是示出根据本发明构思的一示例性实施例的用于确定NAND闪存器件的最佳阈值的方法的流程图;
图2是示出在图1的方法中用迭代重加权最小二乘(IRLS)进行估计的图;
图3是示出使用图1的方法的合成数据实验的结果的图;
图4是示出使用图1的方法的真实数据实验的结果的图;
图5是示出使用图1的方法执行的具有较低的初始位错误率(bit error rate,BER)的附加实验的图;
图6是示出LRE和图1的方法之间的比较的图;以及
图7是示出根据本发明构思的一示例性实施例的存储器系统的图。
具体实施方式
在本发明构思的示例性实施例中,提供了一种增加当前阈值估计的有效性以及减少它们引起的时间延迟的方法。该方法补充或者甚至取代当前阈值估计算法的阶段4。换句话说,本发明的方法不需要三次或四次附加的昂贵的读取操作。然而,本发明的方法能够提供相当的或者甚至更好的阈值估计。
本发明的方法依赖于基本解码单位(例如帧)严格小于页面大小的事实。例如,在边界情况下经常发生的是,当无法解码整个页面时,几帧仍然成功被解码(并且当没有帧成功被解码时,很可能BER非常差,以至于即使找到最佳阈值也不能使该页面被解码)。本发明的方法使用经解码的帧作为页面的位分布(例如,0的位分布(zero bits distribution)和1的位分布(one bits distribution))的样本,并且使用由此获得的经验分布来估计页面的位分布。该估计然后被用于计算这两个分布的交叉点作为最佳阈值。
由于传统的软解码和LRE可以与本发明构思的示例性实施例结合使用,现在将提供对其的简要讨论。
在软解码或软决策解码中,在用默认阈值解码失败后,在默认阈值周围执行两次附加的读取操作,并且由所有三个阈值(即默认阈值和在其周围的两个阈值)评估每个位。在所有的读取阈值下保持其值的位被视为强位(strong bit),不保持其值的位被视为弱位(weak bit),该弱位的值通过取多数值来确定。然后翻转该弱位,试图降低读取操作的BER,并再次尝试解码页面。如果失败,在宣布数据丢失之前,尝试LRE。
当软解码失败时,执行LRE。LRE需要三次或四次附加的读取操作(当期望的阈值在第一电压电平和第二电压电平之间时,需要四次,否则需要三次),并且尝试将低阶多项式拟合到阈值周围的电压电平的联合累积分布。三阶多项式可以用于第一电压电平和第二电压电平,否则用二阶多项式。这是通过计算每两个相邻的阈值之间的陷获的位的量来完成的,并且在除以每个这样的区间的长度之后,它们被视为该点处的累积分布函数(cumulative distribution function,CDF)的平均值。利用这些点,可以拟合多项式来表示靠近采样点的数据。然后,多项式的最小值被找到,并被假定为最佳阈值的最好的猜测。最后,在该点执行另一读取操作,以尝试解码该页面。
LRE虽然有用,但有几个缺点:
1、缓慢性——LRE需要三到四次读取操作来实现,而且读取昂贵。
2、不准确性——如果分布不对称,对称多项式(诸如二阶抛物线)将不会在分布的交叉点处达到其最小值。因此,在最佳条件下不会返回最佳阈值。
3、僵化性——LRE没有考虑电压分布的变化,并试图将同一个多项式拟合到所有的电压分布,这不是最佳的。
4、局部性——多项式近似仅在被采样的点周围是好的近似。如果初始误差是差的,则在最佳阈值周围的拟合将是差的。
本发明的方法可以补充或取代LRE,没有这些缺点。
在下文中,将参考附图描述根据本发明构思的示例性实施例的方法(也称为“算法”)。
概述
在根据本发明构思的一示例性实施例的方法中,在从NAND闪存读取页面之后,尝试使用默认读取阈值来解码该页面。当BER高于约8e-3时,解码器将开始无法正确解码该页面。然而,解码是对帧进行的(例如,1帧=1,000位),并且如果错误率不超过预定阈值太多,则一些帧仍然可以被解码。因此,尽管整个页面没有被解码,但它的一部分被成功解码。事实上,在被成功解码的部分中,位最终被识别。然后,这些位被用作整个页面的位的经验分布。在这种情况下,该算法试图通过估计0的位分布和1的位分布之间的相交点来找到最佳阈值。为此,通过使用迭代重加权最小二乘(IRLS)算法来估计该分布。交叉点是从所估计的分布计算的。
算法:解码序列
这里,将描述算法的一般工作流程。接下来将详细解释算法的子部分。
参考图1,用默认阈值读取页面,并尝试硬解码(105)。如果硬解码失败,则执行软决策解码(110),例如用预定的偏移电压再读取该页面两次并尝试软解码。如果用软解码部分成功,则该方法执行以下步骤:用每个电平的高斯分布来近似被成功解码的位的经验分布(115)。该近似使用IRLS(见下面的算法1)。接下来,使用下面的算法2找到高斯分布的交叉点(120)。最后,该交叉点被设置为新的读取阈值,并且用新的读取阈值再次读取该页面(125)。
如图1中进一步示出的,如果105的硬解码成功,则该页面被视为已读取(130),如果110的软决策解码被确定为成功,则该页面被视为已读取(130),并且如果110的软决策解码被确定为不成功,则执行LRE(135)。此外,如果用新的阈值读取的页面被确定为成功,则该页面被视为已读取(130),并且如果用新的阈值读取的页面被确定为不成功,则执行LRE(135)。
算法1:用IRLS的估计
A.获取样本
这里,阈值设置为约xv的每次读取尝试指示字线的单元的哪一部分保持电压高于xv并因此读取0,以及该字线的单元的哪一部分保持电压低于xv并因此读取1。因此,每次读取尝试从页面的累积分布提供样本,例如,有多少单元高于阈值并且有多少单元低于阈值。
此外,由于假设一些帧已经被部分解码,因此存在已知的位(因为它们已经被解码)的集合。因此,在经解码的位中存在两个样本:所有高于阈值的0的位(zero bits)和所有低于阈值的1的位(one bits)。在尝试软决策解码之后,我们被留有来自每个累积分布的三个样本,如图2所示。例如,在图2中,x轴表示电压,y轴表示单级单元(single levelcell,SLC)的CDF。例如,在图2中,Xa、Xb、Xc、Xd、Xe、Xf、Xg、Xh、Xi、Xj表示x轴的刻度值,Ya、Yb、Yc、Yd、Ye、Yf、Yg、Yh、Yi、Yj、Yk表示y轴的刻度值。
在图2中,左边的曲线和右边的曲线是分别被分配为0和1的单元的单元电压电平的累积分布。与累积分布图(即,左边的曲线和右边的曲线)交叉点的三条垂直线是对单元执行的三次读取操作。例如,中心虚线是硬决策读取操作,两条点线是两个软决策读取操作。交叉点是经由部分解码(即部分成功的软决策读取操作)获得的相应累积分布的经验样本。
B.从样本中估计
这里,令s是接收到的经采样的值,Φ是百分位数函数(percentile function)。
然后我们具有
并且因此
Φ-1(s)·σ+μ=y
并且由于有三个样本,我们得到
A是超定的线性系统。对于A的最优解是使用最小二乘法来估计μ和σ。然而,由于仅所有页面的小的子集被采样,因此样本可能具有很大的噪声,尤其是最后一个样本。因此,应计算加权最小二乘分数(由噪声方差的倒数加权)。此外,应确定每个样本会产生多少噪声。
因此,使用IRLS是因为它可以同时做两件事。例如,每次迭代可能涉及通过取最小绝对偏差并重新分配权重来重新计算权重,直到该算法收敛,因此我们得到:
算法1:IRLS
1.W(0)=I
3.δ=1e-4
4.β(1)=(ATW(0)A)-1ATW(0)y
5.whileβ(t+1)≠β(t)
a.β(t+1)=(ATW(t)A)-1ATW(t)y
6.returnβ
这里,β是(σ,μ)矢量。换句话说,β是对该分布的高斯拟合的参数的估计。对两种分布进行相同的过程,以获得对于这两种分布中的每一个的高斯近似。
算法2:计算最佳阈值
现在算法已经计算出分布的高斯近似,可以计算出它们的交叉点。此外,可以证明该交叉点是最佳阈值。
重组以上项,我们得到:
并将其代入二次方程中,最终结果是:
因为可以有两个交叉点,所以取离样本点最近的交叉点,并将该交叉点作为最佳阈值点返回。
结果
A.概述
根据本发明构思的示例性实施例的方法在两个数据集上测试。一个数据集是通过从高斯分布中采样电压而人工生成的,并被用作基线模型。另一个数据集使用从NAND芯片读取的真实电压电平,具有各种BER特性,并处于其生命周期的各个阶段,以考虑尽可能多的不同的场景。虽然芯片是三级单元(triple-level cell,TLC)芯片,但分析是在单级单元(SLC)设置中进行的。这里,从字线选择两个相邻的电压电平,并且使用该方法来找到该相邻的电压电平之间的最佳阈值电压。
该方法针对不同的原始BER水平进行了测试,并且重点是最小的BER。最小的BER在纠错码能够处理的极限附近,并且在哪里正确识别最佳阈值是最重要的。例如,BER过低时,不需要软解码,并且BER过高时,即使是最佳阈值也无济于事。还检查了不同水平的阈值错位(misplacing),从相对接近到最佳,再到很远。每个测试被进行几次,并对结果进行平均,以更好地表示典型的行为(结果方差在任何情况下都很低)。假设所有的测试仅能够从页面解码单个帧,并且仅这些位是该方法预先知道的。
合成数据实验
这里,测量了该方法在合成数据上的表现,该合成数据是由先前的高斯分布生成的。每次从区间中随机选择分布的方差来近似真实数据方差。BER由分布之间的间距控制,并且因此,该方法能够针对许多不同的场景进行测试。结果总结在图3的图中。
图3展示了在上述合成数据上运行时该方法的结果。横轴表示初始阈值误差,例如在实际硬决策读取电压和用于硬决策读取操作的最佳读取电压之间测量的间距,单位为伏特。纵轴表示应用该方法之后保留的误差。换句话说,纵轴表示纠正之后的阈值误差,单位为伏特。例如,在图3中,Xa、Xb、Xc、Xd、Xe、Xf、Xg、Xh表示横轴的刻度值,Ya、Yb、Yc、Yd、Ye、Yf、Yg、Yh表示纵轴的刻度值。图3中示出的四个曲线图表示在不同水平的原始BER(例如BERA、BER B、BER C和BER D)下应用该方法。
可以看出,即使在初始阈值非常远离最佳的情况下,阈值也有显著和一致的提高。该方法不受改变BER的显著影响,并且当更多帧被初始解码时没有表现出任何差异。
真实数据实验
如上所述,真实数据集从NAND芯片、从不同的块和不同的字线、以及以不同水平的原始BER产生,以考虑尽可能多的场景和电压分布。然后对该方法进行测试,以查看它在许多情况下是否能产生令人满意的结果。图4中的曲线图总结了主要结果。
图4展示了该方法当在从NAND芯片提取的真实数据上运行时的结果。横轴表示初始阈值误差,例如在实际硬决策读取电压和硬决策读取操作的最佳读取电压之间测量的间距,单位为伏特。纵轴表示应用该方法之后保留的误差。换句话说,纵轴表示纠正之后的阈值误差,单位为伏特。例如,在图4中,Xa、Xb、Xc、Xd、Xe、Xf、Xg、Xh表示横轴的刻度值,Ya、Yb、Yc、Yd、Ye、Yf、Yg、Yh表示纵轴的刻度值。图4所示的四个曲线图表示在各种水平的原始BER(例如BER A、BER B、BER C和BER D)下应用该方法。
可以看出,该方法在真实数据上的表现优于合成数据。初始阈值的提高是明显的,尽管最终略有下降,但考虑到初始糟糕的默认阈值,仍然是非常好的。此外,在较低的初始误差水平下,该方法几乎完全消除了误差。在这里也是,初始BER对该方法没有显著影响。经解码的帧的数量的增加(该曲线图是用一个经解码的帧制作的)对该方法也没有任何影响。
较低BER的附加实验
图5是示出使用图1的方法执行的具有较低初始BER的附加实验的图。在图5中,所使用的BER是A、B、C、D和E。x轴表示距最佳阈值的初始误差容限,单位为毫伏,并且y轴表示纠正之后的误差,单位为毫伏。例如,在图5中,Xa、Xb、Xc、Xd、Xe、Xf表示x轴的刻度值,Ya、Yb、Yc、Yd、Ye、Yf、Yg、Yh、Yi表示y轴的刻度值。可以看出,图5的结果接近于图4的结果,因此分析保持相同。
对图1的算法的扩展
应当理解,根据本发明构思的示例性实施例的方法可以用附加信息(诸如芯片的状态、当前块编程擦除(program-erase,PE)周期等)来补充。
方向阈值估计
因为根据本发明构思的示例性实施例的方法非常好地近似电压分布,所以电压分布可以在不使用软决策读取的情况下来近似,而是依靠芯片的其他信息来近似。这可能意味着对于硬决策的更好的初始阈值电平,这将减少所需的软决策的次数。
在TLC中估计阈值
在TLC设置中估计阈值的不同之处在于,单个页面由来自超过两个的不同电压电平的位构成。这意味着,即使知道该位的正确值,也不能将该位分配给特定电平。例如,在页面0上,值为1的位可以属于电平1、5、6和7中的任何一个。因此,位的值(例如,0或1)和强度(例如,强位或弱位)不足以确定它取自哪个电平。现在将讨论根据本发明构思的示例性实施例估计阈值的几种方式。
A.附加感测操作
用附加感测操作,可以识别每个位从其取得的确切电平。对于具有(2 3 2)布线方案的TLC芯片,在字线中对第一页面和第三页面执行附加感测操作,并且对第二页面执行两次附加感测操作。虽然这种方法引入了附加感测操作,但它仍然比LRE快得多,其中LRE要求对第一页面的七次感测操作、对第二页面的九次感测操作、以及对第三页面的六次感测操作。用这种方法,相对于LRE,感测操作的次数可以减少5到7次操作。
B.对LRE的补充
另一种方法是使用图1的方法作为对LRE的补充。例如,与LRE同时运行该方法,并对该方法使用LRE感测。除了更快之外,该方法在阈值估计方面比LRE更准确(见图6)。因此,即使运行LRE,该方法也可以通过提供更准确的估计来帮助LRE。例如,在图6中,x轴表示距最佳阈值的初始误差容限,单位为毫伏,并且y轴表示纠正之后的误差,单位为毫伏。例如,在图6中,Xa、Xb、Xc、Xd、Xe、Xf表示x轴的刻度值,Ya、Yb、Yc、Yd、Ye、Yf、Yg、Yh、Yi、Yj、Yk表示y轴的刻度值。图6的曲线图是通过对在Yb和Yc之间的初始BRE对该方法的结果进行平均并在完全相同的数据点上运行LRE而产生的。数据点是来自NAND芯片的真实电压读数,并且用于运行LRE的matlab代码附有运行本发明构思的方法的代码。
C.在软解码阶段中向解码器传递附加信息
目前,软解码阶段中的解码器接收对于每个位的硬决策读取下的位的值及位的强度。然而,来自软决策感测的许多信息没有被传输到解码器。例如,每个软解码感测操作下的位的值不被提供给解码器。用这些值,可以激活本发明构思的方法。因此,通过在软解码阶段期间或之后发送位的值,可以使用本发明构思的方法,而无需任何附加感测操作。
存储器系统
图7是应用了根据本发明构思的示例性实施例的方法的存储器系统的框图。参考图7,存储器系统900包括存储器控制器1000和非易失性存储器器件2000。
非易失性存储器器件2000可以是但不限于闪存器件、NAND闪存器件、相变RAM(phase change RAM,PRAM)、铁电RAM(ferroelectric RAM,FRAM)、磁RAM(magnetic RAM,MRAM)等。根据本发明构思的示例性实施例,非易失性存储器器件2000可以包括多个NAND闪存器件。非易失性存储器器件2000可以具有平面结构或三维(3D)存储器单元结构,该3D存储器单元结构具有存储器单元的堆叠。
非易失性存储器器件2000可以包括存储器单元阵列2100、X解码器121、电压生成器125、I/O缓冲器124、页面缓冲器123和控制逻辑126,它们中的每一个都可以被实施为一个或更多个电路。非易失性存储器器件2000还可以包括输入/输出(I/O)盘127。
存储器单元阵列2100包括多条字线和多条位线。存储器单元阵列2100的每个存储器单元可以被实施为非易失性存储器单元。例如,存储器单元阵列2100的每个存储器单元可以具有例如浮置栅极或电荷存储层(诸如电荷俘获层)。
存储器单元阵列2100可以包括多个块和多个页面。一个块包括多个页面。页面可以是编程和读取操作的单位,并且块可以是擦除操作的单位。例如,存储器单元阵列2100包括第一块2120和第二块2130。如图7所示,第一块2120包括页面1-N,并且第二块2130包括页面1-N,其中N是大于1的正整数。
控制逻辑126控制非易失性存储器器件2000的整体操作。当从存储器控制器1000接收到命令CMD时,控制逻辑126解释命令CMD,并根据解释的命令CMD控制非易失性存储器器件2000以执行操作(例如,编程操作、读取操作、读取重试操作或擦除操作)。
X解码器121由控制逻辑126控制,并根据行地址驱动存储器单元阵列2100中的字线W/L中的至少一条。
电压生成器125由控制逻辑126控制,以生成编程操作、读取操作或擦除操作所需的一个或更多个电压,并将生成的电压提供给由X解码器121选择的一行或更多行。
寄存器128是其中存储从存储器控制器1000输入的信息的空间,并且可以包括多个锁存器。例如,寄存器128可以将读取的电压信息分组并以表格的形式存储该信息。
页面缓冲器123由控制逻辑126控制,并根据操作模式(例如,读取操作或编程操作)作为感测放大器或写入驱动器操作。
I/O盘127和I/O缓冲器124可以用作在外部器件(例如,存储器控制器1000或主机)和非易失性存储器器件2000之间交换的数据的I/O路径。
存储器控制器1000可以包括微处理器111、只读存储器(ROM)113、随机存取存储器(RAM)112、编码器1100、解码器1200、存储器接口116和总线118。存储器控制器1000的元件111至116可以通过总线118彼此电连接。
微处理器111控制包括存储器控制器1000的存储器系统900的整体操作。微处理器111是通过生成控制信号来控制其他元件的电路。当向存储器系统900供电时,微处理器111驱动固件(例如,存储在ROM 113中),以用于操作RAM 112上的存储器系统900,从而控制存储器系统900的整体操作。根据本发明构思的示例性实施例,微处理器111还可以发布用于控制存储器控制器1000的其他元件的操作的指令,该其他元件包括例如ROM 113、RAM 112、编码器1100、解码器1200、存储器接口116和总线118中的一些或全部。根据本发明构思的示例性实施例,本文描述为由存储器控制器1000执行的任何操作可以由微处理器111执行,或者在微处理器111的控制下执行。根据本发明构思的示例性实施例,本文描述为由存储器控制器1000执行的任何操作可以由微处理器111执行,或者在微处理器111的控制下执行,其中微处理器111执行对应于该操作并且被包括在程序代码(例如,存储在ROM 113中)中的指令。
虽然存储器系统900的驱动固件代码存储在ROM 113中,但是本发明构思的示例性实施例不限于此。除了ROM 113之外,固件代码也可以存储在非易失性存储器器件2000的一部分中。因此,微处理器111的控制或干预不仅可以包括微处理器111的直接控制,还可以包括由作为微处理器111驱动的软件的固件的干预。
RAM 112(其是用作缓冲器的存储器)可以存储从主机或微处理器111输入的初始命令、数据和各种变量,或者从非易失性存储器器件2000输出的数据。RAM 112可以存储输入到非易失性存储器器件2000和从非易失性存储器器件2000输出的数据和各种参数和变量。
存储器接口116可以用作存储器控制器1000和非易失性存储器器件2000之间的接口。存储器接口116连接到非易失性存储器器件2000的I/O盘127,并且可以与I/O盘127交换数据。此外,存储器接口116可以创建适合于非易失性存储器器件2000的命令,并将创建的命令提供给非易失性存储器器件2000的I/O盘127。存储器接口116提供要由非易失性存储器器件2000执行的命令和非易失性存储器器件2000的地址。
根据本发明构思的示例性实施例,解码器1200可以是纠错码(error correctingcode,ECC)解码器,编码器1100可以是ECC编码器。根据本发明构思的示例性实施例,解码器1200和编码器1100执行错误位纠正。编码器1100可以通过在数据被提供给非易失性存储器器件2000之前对数据执行纠错编码来生成添加有一个或更多个奇偶校验位和/或冗余位的数据。该一个或更多个奇偶校验位和/或冗余位可以存储在非易失性存储器器件2000中。
解码器1200可以对输出数据执行纠错解码,基于纠错解码的结果确定纠错解码是否成功,并且基于确定结果输出指令信号。读取的数据可以被传输到解码器1200,并且解码器1200可以使用该一个或更多个奇偶校验位和/或冗余位来纠正数据的错误位。当错误位的数量超过可以被纠正的错误位的极限时,解码器1200不能纠正错误位,导致纠错失败。编码器1100和解码器1200可以使用例如低密度奇偶校验(low density parity check,LDPC)码、Bose-Chaudhuri-Hockenghem(BCH)码、turbo码、Reed-Solomon(RS)码、卷积码、递归系统码(recursive systematic code,RSC)或编码调制(诸如网格编码调制(trellis-codedmodulation,TCM)或块编码调制(block coded modulation,BCM))中的一种或更多种来执行纠错。
编码器1100和解码器1200中的每一个都可以包括纠错电路、系统或器件。
应当理解,本发明构思的上述方法可以由存储器控制器1000和非易失性存储器器件2000中的一个或更多个上述元件来执行。
虽然已经参考本发明的示例性实施例描述了本发明的构思,但是对于本领域技术人员来说明显的是,在不脱离由所附权利要求限定的本发明构思的精神和范围的情况下,可以对其进行各种改变和修改。
本申请要求于2019年1月22日提交的申请号为16/253,938的美国专利申请的优先权,该美国专利申请的公开内容通过引用整体结合于此。
Claims (19)
1.一种用于确定非易失性存储器器件的最佳阈值的方法,所述方法包括:
用默认阈值从所述非易失性存储器器件读取页面,并且尝试使用所述默认阈值对所述页面进行硬解码;
当所述硬解码失败时,用预定的偏移电压再读取所述页面两次,并且尝试使用所述默认阈值对所述页面进行软解码;
用每个电平的高斯分布来近似被成功解码的位的经验分布;
找到所述高斯分布的交叉点;以及
将所述交叉点设置为新的读取阈值,并且用所述新的读取阈值再次读取所述页面。
2.根据权利要求1所述的方法,其中,当所述再读取所述页面两次存在部分成功时,执行对被成功解码的位的经验分布的近似。
3.根据权利要求1所述的方法,其中,当所述再读取所述页面两次完全失败时,执行较少读取估计(LRE)。
4.根据权利要求1所述的方法,其中,如果所述用所述新的读取阈值再次读取所述页面成功,则所述页面被返回给调用应用。
5.根据权利要求1所述的方法,其中,如果所述用所述新的读取阈值再次读取所述页面失败,则执行较少读取估计(LRE)。
6.根据权利要求1所述的方法,其中,使用迭代重加权最小二乘(IRLS)方法执行用每个电平的高斯分布来近似被成功解码的位的经验分布。
7.根据权利要求1所述的方法,其中,找到所述高斯分布的交叉点包括选择最接近样本点的交叉点作为所述最佳阈值,所述样本点是在近似所述经验分布时获得的。
8.根据权利要求1所述的方法,其中,所述非易失性存储器器件是NAND闪存器件。
9.一种用于确定非易失性存储器器件的最佳阈值的方法,所述方法包括:
对来自所述非易失性存储器器件的页面进行部分解码;
用高电平和低电平中的每一个的高斯分布来近似被成功解码的位的经验分布;
找到所述高斯分布的交叉点;以及
将所述交叉点设置为新的读取阈值,并且用所述新的读取阈值再次读取所述页面。
10.根据权利要求9所述的方法,其中,所述高电平的第一累积电平分布曲线图和所述低电平的第二累积电平分布曲线图相同的电压值对应于第一对所述高斯分布的交叉点。
11.根据权利要求10所述的方法,其中,所述电压值对应于来自所述第二累积电平分布曲线图的样本中的中心样本和来自所述第一累积电平分布曲线图的样本中的中心样本。
12.根据权利要求9所述的方法,其中,使用迭代重加权最小二乘(IRLS)方法来采样所述被成功解码的位的电压分布,以估计所述高斯分布。
13.根据权利要求9所述的方法,其中,如果所述部分解码失败,则执行较少读取估计(LRE)。
14.根据权利要求9所述的方法,其中,如果用所述新的读取阈值再次读取所述页面成功,则返回正确读取的页面。
15.根据权利要求9所述的方法,其中,如果用所述新的读取阈值再次读取所述页面失败,则执行较少读取估计(LRE)。
16.根据权利要求9所述的方法,其中,所述非易失性存储器器件是NAND闪存器件。
17.一种用于确定NAND闪存器件的最佳阈值的方法,所述方法包括:
用默认阈值从所述NAND闪存器件读取页面,并且尝试使用所述默认阈值对所述页面进行硬解码;
当所述硬解码失败时,用预定的偏移电压再读取所述页面两次,并且尝试使用所述默认阈值对所述页面进行软解码;
使用迭代重加权最小二乘(IRLS)方法用第一电平和第二电平的高斯分布来近似被成功解码的位的经验分布;
找到所述高斯分布的交叉点;以及
将所述交叉点设置为新的读取阈值,并且用所述新的读取阈值再次读取所述页面。
18.根据权利要求17所述的方法,其中,所述第一电平对应于低电压,并且所述第二电平对应于高电压。
19.根据权利要求17所述的方法,其中,所述新的读取阈值位于所述第一电平和所述第二电平之间。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/253,938 | 2019-01-22 | ||
US16/253,938 US10861561B2 (en) | 2019-01-22 | 2019-01-22 | Threshold estimation in NAND flash devices |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111462800A true CN111462800A (zh) | 2020-07-28 |
CN111462800B CN111462800B (zh) | 2024-08-30 |
Family
ID=71610005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010074038.9A Active CN111462800B (zh) | 2019-01-22 | 2020-01-22 | 用于确定非易失性存储器器件的最佳阈值的方法 |
Country Status (3)
Country | Link |
---|---|
US (2) | US10861561B2 (zh) |
KR (1) | KR20200091777A (zh) |
CN (1) | CN111462800B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9430735B1 (en) * | 2012-02-23 | 2016-08-30 | Micron Technology, Inc. | Neural network in a memory device |
JP2015204126A (ja) | 2014-04-16 | 2015-11-16 | 株式会社東芝 | 半導体記憶装置 |
US10861561B2 (en) | 2019-01-22 | 2020-12-08 | Samsung Electronics Co., Ltd. | Threshold estimation in NAND flash devices |
KR20210039075A (ko) * | 2019-10-01 | 2021-04-09 | 삼성전자주식회사 | 비휘발성 메모리 장치의 초기화 제어 방법 및 비휘발성 메모리 장치를 포함하는 메모리 시스템 |
US11587620B2 (en) | 2020-06-05 | 2023-02-21 | Samsung Electronics Co., Ltd. | Automatic program voltage selection network |
US11907571B2 (en) | 2020-07-13 | 2024-02-20 | SK Hynix Inc. | Read threshold optimization systems and methods using domain transformation |
US11355204B2 (en) | 2020-09-03 | 2022-06-07 | SK Hynix Inc. | Efficient read-threshold calculation method for parametric PV-level modeling |
US11430530B2 (en) | 2021-01-25 | 2022-08-30 | SK Hynix Inc. | Deep learning based program-verify modeling and voltage estimation for memory devices |
US11514999B2 (en) | 2021-04-16 | 2022-11-29 | SK Hynix Inc. | Systems and methods for parametric PV-level modeling and read threshold voltage estimation |
CN113192550B (zh) * | 2021-04-27 | 2023-08-01 | 山东大学 | 一种存储器最佳读电压确定方法 |
US11749354B2 (en) | 2021-07-13 | 2023-09-05 | SK Hynix Inc. | Systems and methods for non-parametric PV-level modeling and read threshold voltage estimation |
US11769556B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Systems and methods for modeless read threshold voltage estimation |
US11769555B2 (en) | 2021-07-27 | 2023-09-26 | SK Hynix Inc. | Read threshold voltage estimation systems and methods for parametric PV-level modeling |
US11854629B2 (en) | 2021-11-22 | 2023-12-26 | SK Hynix Inc. | System and method for non-parametric optimal read threshold estimation using deep neural network |
CN115344433B (zh) * | 2022-10-19 | 2023-03-24 | 珠海妙存科技有限公司 | 数据恢复方法、数据恢复装置、固态硬盘、存储介质 |
CN116261008B (zh) * | 2022-12-14 | 2024-08-02 | 海信视像科技股份有限公司 | 音频处理方法和音频处理装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040531A1 (en) * | 2012-08-04 | 2014-02-06 | Lsi Corporation | Single-read based soft-decision decoding of non-volatile memory |
US20160277041A1 (en) * | 2015-03-17 | 2016-09-22 | Sk Hynix Memory Solutions Inc. | Incremental llr generation for flash memories |
CN108573722A (zh) * | 2017-03-13 | 2018-09-25 | 三星电子株式会社 | 操作非易失性存储器件的方法和非易失性存储器件 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8259506B1 (en) * | 2009-03-25 | 2012-09-04 | Apple Inc. | Database of memory read thresholds |
US9021331B2 (en) * | 2013-03-14 | 2015-04-28 | Seagate Technology Llc | Method and apparatus for generation of soft decision error correction code information |
US20170148510A1 (en) * | 2013-05-31 | 2017-05-25 | Sandisk Technologies Llc | Updating read voltages |
US10475523B2 (en) * | 2013-05-31 | 2019-11-12 | Western Digital Technologies, Inc. | Updating read voltages triggered by the rate of temperature change |
US9355069B2 (en) * | 2013-12-20 | 2016-05-31 | Johnson Controls Technology Company | Systems and methods for determining the uncertainty in parameters of an energy use model |
US9407294B2 (en) * | 2014-07-07 | 2016-08-02 | Kabushi Kaisha Toshiba. | Non-volatile memory controller with error correction (ECC) tuning via error statistics collection |
CN106559807B (zh) * | 2015-09-25 | 2021-08-20 | 华为技术有限公司 | 一种数据传输方法以及相关设备 |
US10347343B2 (en) * | 2015-10-30 | 2019-07-09 | Seagate Technology Llc | Adaptive read threshold voltage tracking with separate characterization on each side of voltage distribution about distribution mean |
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 |
US10861561B2 (en) | 2019-01-22 | 2020-12-08 | Samsung Electronics Co., Ltd. | Threshold estimation in NAND flash devices |
-
2019
- 2019-01-22 US US16/253,938 patent/US10861561B2/en active Active
- 2019-08-05 KR KR1020190094987A patent/KR20200091777A/ko not_active Application Discontinuation
-
2020
- 2020-01-22 CN CN202010074038.9A patent/CN111462800B/zh active Active
- 2020-11-18 US US16/951,162 patent/US11232842B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140040531A1 (en) * | 2012-08-04 | 2014-02-06 | Lsi Corporation | Single-read based soft-decision decoding of non-volatile memory |
US20160277041A1 (en) * | 2015-03-17 | 2016-09-22 | Sk Hynix Memory Solutions Inc. | Incremental llr generation for flash memories |
CN105989890A (zh) * | 2015-03-17 | 2016-10-05 | 爱思开海力士有限公司 | 用于快闪存储器的增量llr 产生 |
CN108573722A (zh) * | 2017-03-13 | 2018-09-25 | 三星电子株式会社 | 操作非易失性存储器件的方法和非易失性存储器件 |
Also Published As
Publication number | Publication date |
---|---|
KR20200091777A (ko) | 2020-07-31 |
US11232842B2 (en) | 2022-01-25 |
CN111462800B (zh) | 2024-08-30 |
US10861561B2 (en) | 2020-12-08 |
US20210074368A1 (en) | 2021-03-11 |
US20200234772A1 (en) | 2020-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111462800B (zh) | 用于确定非易失性存储器器件的最佳阈值的方法 | |
US9639419B2 (en) | Read voltage level estimating method, memory storage device and memory control circuit unit | |
KR101835605B1 (ko) | 플래시 메모리 시스템 및 플래시 메모리 시스템의 리드 방법 | |
CN103380416B (zh) | 用于读取存储器的目标存储器扇区的方法和存储器系统 | |
US9021331B2 (en) | Method and apparatus for generation of soft decision error correction code information | |
US20110231738A1 (en) | Error correction decoding apparatus and error correction decoding method | |
US20110134692A1 (en) | Adaptive dynamic reading of flash memories | |
US20190081641A1 (en) | Soft Decision LDPC Decoder With Improved LLR From Neighboring Bits | |
US10903861B2 (en) | Method and device for generating soft decision detection parameters | |
KR20110081822A (ko) | 플래시 메모리에서의 적응형 코딩 방법 및 시스템 | |
JP2016506590A (ja) | データストレージシステムのための対数尤度比及び一括対数尤度比生成 | |
CN110246533B (zh) | 固态储存装置的失败模式检测方法及错误更正方法 | |
KR20180129249A (ko) | 컨트롤러, 반도체 메모리 시스템 및 그것의 동작 방법 | |
US20140281128A1 (en) | Decoding data stored in solid-state memory | |
US20190220348A1 (en) | Memory system and control method | |
US10467090B2 (en) | Memory controller and decoding method | |
US11563450B1 (en) | System and method for high reliability fast RAID decoding for NAND flash memories | |
US10574272B2 (en) | Memory system | |
US10771094B2 (en) | Memory system configured to estimate a read voltage using a histogram | |
US20160077914A1 (en) | Solid state storage device and error correction method thereof | |
CN107170482B (zh) | 存储器读取方法及存储器装置 | |
CN117480732A (zh) | 具有陷阱块管理的ldpc解码 | |
US10614897B1 (en) | System and method for high performance sequential read by decoupling of inter-cell interference for NAND flash memories | |
US9378829B2 (en) | Non-volatile memory device with an EPLI comparator | |
US20160080004A1 (en) | Memory controller and decoding method |
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 |