CN103714857A - 使用比特误差的下边界的电力节约技术 - Google Patents
使用比特误差的下边界的电力节约技术 Download PDFInfo
- Publication number
- CN103714857A CN103714857A CN201310329027.0A CN201310329027A CN103714857A CN 103714857 A CN103714857 A CN 103714857A CN 201310329027 A CN201310329027 A CN 201310329027A CN 103714857 A CN103714857 A CN 103714857A
- Authority
- CN
- China
- Prior art keywords
- bit sequence
- error correction
- charge
- lower boundary
- reads back
- 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
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/325—Power saving in peripheral device
- G06F1/3275—Power saving in memory, e.g. RAM, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3206—Monitoring of events, devices or parameters that trigger a change in power modality
- G06F1/3215—Monitoring of peripheral devices
- G06F1/3225—Monitoring of peripheral devices of memory devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
-
- 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
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Read Only Memory (AREA)
- Detection And Correction Of Errors (AREA)
- Error Detection And Correction (AREA)
Abstract
本发明涉及使用比特误差的下边界的电力节约技术。获得读回比特序列以及电荷约束信息。至少部分地基于读回比特序列和电荷约束信息来确定与读回比特序列相关联的若干比特误差的下边界。比较下边界和与误差校正解码器相关联的误差校正能力阈值。如果下边界大于或等于误差校正能力阈值,则预测误差校正解码失败,并且响应于预测来配置组件以节约电力。
Description
其它申请的交叉引用
本申请要求2012年6月5日提交的、标题为“BOUNDING THEBIT-ERRORS AND EARLY DECODER TERMINATION FORCHARGE-CONSTRAINED OR CHARGE-KNOWN DATA-SEQUENCES INNAND FLASH STORAGE DEVICES”的美国临时专利申请No.61/655,817(代理人案卷号LINKP123+)的优先权,其出于所有目的在这里通过引用被并入。
技术领域
本发明涉及固态存储器中的电力节约技术。
背景技术
固态存储器,诸如NAND闪存,经常用于移动设备。在移动系统中,节省电力是重要的,因为电池提供受限或有限量的电力。能够节省电力的新的固态存储控制器将是想要的。
发明内容
根据本发明的第一方面,一种系统,其包括:I/O接口,其被配置为获得读回比特序列;以及解码失败预测器,其被配置为:获得电荷约束信息;至少部分地基于读回比特序列和电荷约束信息,来确定与读回比特序列相关联的若干比特误差的下边界;比较下边界和与误差校正解码器相关联的误差校正能力阈值;并且如果下边界大于或等于误差校正能力阈值,则:预测误差校正解码失败;并且响应于预测来配置组件以节约电力。
根据本发明的第二方面,一种方法,其包括:获得读回比特序列;获得电荷约束信息;使用处理器以至少部分地基于读回比特序列和电荷约束信息来确定与读回比特序列相关联的若干比特误差的下边界;使用处理器来比较下边界和与误差校正解码器相关联的误差校正能力阈值;以及如果下边界大于或等于误差校正能力阈值,则:预测误差校正解码失败;并且响应于预测来配置组件以节约电力。
附图说明
本发明的各种实施例在下面的详细描述和附图中公开。
图1为示出了由固态存储器中的一组单元所存储的电压电平的实施例的图。
图2为图示了用于响应于误差校正解码失败预测来配置组件以节约电力的过程的实施例的流程图。
图3为图示了用于确定下边界的过程的实施例的流程图。
图4为示出了当存在已知电荷约束时下边界图形的实施例的图。
图5为示出了当存在有界电荷约束时下边界图形的实施例的图。
图6为示出了应用RDS约束代码的写入比特序列的实施例的图。
图7为示出了当存在有界RDS电荷约束时下边界图形的实施例的图。
图8为示出了当存在已知RDS电荷约束时下边界图形的实施例的图。
图9为示出了存储控制器的实施例的图,所述存储控制器使用下边界以预测误差校正解码失败,并相应地配置组件以便节约电力。
具体实施方式
本发明可以以多种方式实现,包括作为过程、装置、系统、物质成分、嵌入在计算机可读存储介质上的计算机程序产品、和/或处理器,诸如配置为执行存储在耦合到处理器的存储器上和/或由其提供的指令的处理器。在本说明书中,这些实现或本发明可采用的任何其它形式可称为技术。总的来说,所公开的过程的步骤的顺序可在本发明的范围内被更改。除非另外声明,被描述为配置为执行任务的诸如处理器或存储器之类的组件可实现为暂时配置为在给定时刻执行任务的通用组件,或被制造来执行该任务的专门的组件。如在这里所使用,术语“处理器”指的是配置为处理诸如计算机程序指令之类的数据的一个或多个设备、电路,和/或处理核。
在下面提供本发明的一个或多个实施例的详细描述以及图示了本发明原理的附图来。虽然本发明连同这样的实施例被描述,但本发明不限于任何实施例。本发明的范围仅由权利要求来限定,且本发明包括多种可替换方案、修改和等同物。多种具体的细节在下面的描述中被陈述,以便提供对本发明的透彻理解。出于例子的目的而提供这些细节,并且本发明可根据权利要求来实践,而没有这些具体细节中的一些或全部。出于清楚的目的,与本发明相关的技术领域中已知的技术资料未被详细描述,使得本发明不会不必要地模糊不清。
图1为示出由固态存储器中的一组单元所存储的电压电平的实施例的示图。在所示出的例子中,有8个单元:C1至C8。单元存储的电压以升序示出在图100中。组102(包括单元C3至C4和C6至C7)被写入1。如此,无论读回什么值,那些单元实际存储1。组104(包括单元C1至C2、C5和C8)被写入0,并且因而无论实际上读回什么值,其真正存储0。图150示出写入到单元C1至C8的写入的比特序列(即,[0 0 1 1 0 1 1 0])。
为读取单元,读取阈值(t)被选择。在图100中,示范性读取阈值(106)具有单元C7和C3存储的电压之间的电压。具有低于该读取阈值的电压的单元被判读为或读取为1,而具有高于该读取阈值的电压的单元被判读为或读取为0。使用图100中所示的示范性读取阈值106,图154示出了从单元C1至C8读回的比特序列。注意,针对单元C3的读回值(158)为0,但写入值(156)为1,并且因而C3已被错误地读取。因而读回比特序列154中的比特误差数为1(即,单元C3)。
写入比特序列的电荷定义为其中N1为写入比特序列中(例如,实际或写入的)1的数目,而N0为写入比特序列中(例如,实际或写入的)0的数目。换句话说,电荷为相对于平衡序列(例如,具有CW=0的序列)超过的1的数目。(自然地,电荷可以可替换地定义为超过的0的数目,而当电荷被定义为超过的0的数目的情况时,在这里所描述的技术也适用。)对于写入比特序列152,电荷为
对于读回比特序列,读回1的数目和读回0的数目为读取阈值t的函数。因此,读回比特序列的电荷为t的函数:
其中t为读取阈值,N1(T)为使用该读取阈值t读回1的数目,而N0(t)为使用该读取阈值t读回0的数目。
在下面描述的一些实施例中,读取处理器(在该图中未示出)得知已被电荷约束的写入比特序列的电荷。例如,这可能是由于在写入比特序列被存储时该写入处理器也存储电荷(其中保证电荷落在特定的限制或边界内),而读取处理器(在该图中未示出)获取该存储的电荷。或者,该写入处理器可配置为总是用相同电荷来输出写入比特序列(例如,其落在特定边界内或满足某种限制)。这种类型的系统在这里称为已知电荷约束系统。
在下面描述的一些实施例中,读取处理器未得知写入比特序列的确切电荷,但得知电荷被保证位于其内的某范围。例如,写入处理器可配置为输出具有特定范围的电荷的写入比特序列。尽管对应的读取处理器可能未得知写入比特序列的确切电荷,但该读取处理器将得知该电荷的边界或范围。这种类型的系统在这里称为有界电荷约束系统。
下图的图描述了一些实施例,在其中下边界用来预测误差校正解码过程是否将失败,并且如果失败的话,则组件被配置为节省电力。例如,该组件可为诸如低密度奇偶校验(LDPC)解码器之类的迭代误差校正解码器,其提前终止。或者,该组件可与NAND闪存控制器和NAND闪存介质之间的I/O总线相关联(例如,其中NAND闪存控制器为第一半导体器件(有时称为“芯片”),而该NAND闪存介质为第二半导体器件)。
图2为图示了用于响应于误差校正解码失败的预测来配置组件以节省电力的过程的实施例的流程图。在一些实施例中,该过程由与存储控制器(例如NAND闪存控制器)相关联的读取控制器来执行。在一些实施例中,该过程由半导体器件来执行,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
在200,读回比特序列被获得。在一些实施例中,一个或多个完整或整个的代码字(codeword)在200被获得。在一些实施例中,代码字中的一个或多个段在200被获得(例如,代码字中的一个或多个结束段未被获得和/或处理)。在一些实施例中,在200获得的比特序列的长度可取决于存储控制器与存储介质之间的I/O总线的尺寸。在一个例子中,I/O总线为2,048比特宽,而代码字为4,096位长。这个例子中的代码字可分解为两个2,048比特的“块(chunk)”,并将需要两个I/O传输。
在202,电荷约束信息被获得。例如,在电荷被存储的已知电荷约束系统中,写入比特序列的电荷从存储器中获得。可替换地,在有界电荷约束系统中,电荷的边界被获得。
在204,与读回比特序列相关联的若干比特误差的下边界至少部分地基于读回比特序列和电荷约束信息来确定。另一种考虑该下边界的方式为,在读回比特序列中至少存在那许多实际的比特误差,还可能更多。例如,读回比特误差分为两类。写入为1而读回为0的比特称为O型误差;写入为0而读回为1的比特称为1型误差。O型误差的数目为e0(T),而1型误差的数目为e1(T),其中这些误差对读取阈值的依赖被明确地陈述(即,e0和e1为t的函数)。如果1和0的实际的(例如,写入的)数目分别为N1和N0,则等式(1)可被重新写为:
如上所述,写入比特序列的电荷为:
当插入到等式(2)中时其变成:
C(t)=CW+|e1(t)|-\e0(t)| (4)
在有界电荷约束系统中,电荷由某一已知的值(N)来束缚:
为了使用该性质来找出比特误差的实际数目的下边界,应当注意的是,误差的实际数目e(t)可分解为两个在下面的误差类型:
e(t)=|e1(t)|+|e0(t)| (6)
而等式(4)可被重新写为:
C(t)-CW=|e1(t)|-|e0(t)| (7)
如果取等式(7)的绝对值,则结果如下:
|C(t)-CW|=||e1(t)|-|e0(t)|| (8)
其中等式(8)的右侧可以由比特误差的总数e(t)束缚上边界,其产生下面的不等式:
e(t)≥||e1(t)|-|e0(t)||=|C(t)-CW|=m(t) (9)
换句话说,m(t)为比特误差实际数目e(t)的下边界。步骤204的其它例子在下文中进一步详细描述。
回到图2,在206,该下边界与和误差校正解码器相关联的误差校正能力阈值相比较。即使不存在使误差校正解码器在其之外被保证失败的比特误差的固有或本来的数目,误差校正能力阈值也可被定义,针对其该误差校正解码器具有高的失败概率。例如,诸如低密度奇偶校验(LDPC)解码器之类的迭代的误差校正解码器不是固有地或本来地具有误差校正能力半径。针对这样的解码器,阈值(超过该阈值则解码具有高的失败概率)可被确定或设置,针对这样的解码器。
在208,确定该下边界是否大于或等于该阈值。如果是的话,则在210误差校正解码失败被预测,并且响应于该预测,配置组件以节省电力。在一些实施例中,节省电力来自诸如LDPC解码器之类的迭代的误差校正解码器,因为解码过程(其已经开始)提前终止(例如,在达到解码尝试的最大数目之前)。可替换地,解码等待在这里所示的处理完成,并且在210不发起解码,否则发起解码。在一些实施例中,节省电力来自取消或不执行存储控制器和存储介质之间的I/O传输(例如,读取)。
图3为图示了用于确定下边界的过程的实施例的流程图。在一些实施例中,过程用于图2中的步骤204。在300,确定是否存在已知电荷约束或有界电荷约束。如果存在已知电荷约束,则在302,该下边界为mk(t)=|C(t)-CW|。参见例如等式(9)。
如果存在有界电荷约束,则在304,该下边界为:mb(t)=|C(t)+N|,如果C(t)<-N的话;mb(t)=0,如果-N≤C(t)≤N的话;或者mb(t)=|C(t)-N|,如果C(t)>N的话。例如,虽然写入比特序列(Cw)的确切电荷在有界电荷约束系统中未知,但边界(N)为已知:
-N≤Cw≤N (10)
因此等式(9)可重新写为:
一些观察使得等式(11)能够修改为步骤304中所示的形式。首先,当C(t)落在允许的范围(即,C(t)∈[-N,N])内时,检测不到比特误差,因为来自读回比特序列的电荷是可信的或被允许的。仅当C(t)处于允许范围之外时,下边界mb(t)可为非零。故当C(t)∈[-N,N]时,mb(t)=0。
另一观察为,C(t)是随t的增加而单调递增的函数(至少在这个例子中,其中电压和比特值之间的关系遵循图1中所示的关系)。如此,随着t减少,C(t)最终变为负值,并且对于小于-N的负值C(t),最小化|C(t)-c|的c的值为-N。相反地,随着t的增加,C(t)最终变为正值,并且对于大于N的正值C(t),最小化|C(t)-c|的c的值为N。通过使用该观察,等式(11)可重新写成:
这示出了步骤304中的等式可以如何被获得。
下图的图描述了已知电荷约束的实施例。
图4为示出当存在已知电荷约束时下边界图形的实施例的图。在所示出的例子中,存在已知电荷约束,例如由于写入比特序列的电荷被保存,或由于写入处理器配置为用相同或相一致的电荷来输出并存储写入比特序列。图400a和图400b示出了相同的信息,其中图400b示出了图400a的近视图。
在该例子中,代码字中写入的1的数目为N1=8442,而代码字中写入的0的数目为N0=7942。由于其为已知电荷约束的例子,该读取处理器得知Cw=(8442-7942)/2=250。同样在该例子中,该阈值为代码字的1%,对于长度为16,384比特的代码字,其在该例子中对应于164比特。
随着读取阈值在图400a和400b中从左扫到右,读回比特序列的电荷改变,因为读回1的数目增加而读回0的数目减少(至少在该例子中)。由于其为已知电荷约束的例子,根据在其中C(t)随t变化的等式(9),该下边界为mk(t)=|C(t)-CW||=|C(t)-250|,。
为清晰起见,图400a和图400b示出了下边界的对数404(即l0g10(mk(t)))、比特误差的实际数目的对数406(即log10(e(t)))以及误差校正能力阈值的对数402(即log10(164)),因为对数更加清楚地示出函数之间的差别。当该下边界大于误差校正能力阈值时,误差校正解码器失败被预测。在该特定例子中,如果t<2.7701V或t<3.2379V,则误差校正解码失败被预测。
在该例子中,直到通过使用下边界来做出决定,才发起解码。所以,如果t<2.7701V或t>3.2379V,则不尝试解码。如果误差校正解码失败未被预测(在该例子中,t∈[2.7701V,3.2379V]),则尝试误差校正解码。
如在图400b中所示,下边界mk(t)非常接近误差的实际数目,因为该读取阈值与最优读取阈值相距较远(在该例子中为3.0045V)。实际上,下边界404与误差的实际数目406穿过误差校正能力阈值402之处之间的差近似为16mV。换句话说,当存在已知电荷约束时,下边界为相对紧的边界,并且在使用mk(1)代替e(t)中存在非常少的损耗。
下图示出了有界电荷约束的实施例。
图5为示出了当存在有界电荷约束时下边界图形的实施例的图。在该例子中,N1=8224,N0=8160,而Cw=(8224-8160)/2=32。然而,由于这是有界电荷约束系统,故只有边界N=128为已知,而Cw=32是未知的。如在之前的图中那样,为清晰起见,示出了对数以更清楚地示出不同函数之间的差别。
在该例子中,通过使用等式(12)来获得下边界504。误差校正能力阈值为代码字中比特的1%,对于16,384比特的代码字,其对应于164比特的误差校正能力阈值,如线条502所示。在该例子中,如果读取阈值在[2.6577V,3.3053V]之间(即,mb(t)小于该误差校正能力阈值),则误差校正解码被尝试。如果不是这样的话,这不尝试误差校正解码。自然地,在一些其它实施例中,误差校正解码可在下边界(例如,mb(t)或mk(t))被计算之前启动,而且如果误差校正解码失败被预测,则误差校正解码被终止(例如,早于正常情况和/或在达到解码尝试最大数目之前)。
出于比较的目的,还示出了当已知电荷Cw=32时对应的下边界(506),如比特误差的实际数目(508)那样。不足为奇的是,与当存在有界电荷约束时的下边界(504)相比,当存在已知电荷约束时的下边界(506)具有更好的性能并更接近比特误差的实际数目(508)。
电荷约束代码的一种类型是运行数字和(RDS,running digital sum)约束代码。下图描述了使用RDS约束代码的系统的实施例。
图6为示出了应用RDS约束代码的写入比特序列的实施例的图。在该示出的例子中,写入比特序列(600)分成段,每个段都为M比特长。例如,如果该写入比特序列为16,384比特长(即L=16,384)而M=256,则有64段,每个段都为256比特长。
对于第一至第二段(602a至602b),RDS约束代码保证或强加约束,即电荷(即)由[-M/2,M/2]束缚。在该例子中,由于M=256,则针对602a至602b的由[-128,128]束缚。类似地,针对第一至第三段(602a至602c)的电荷(即)也被保证由[-M/2,M/2]束缚。对于该例子,那意指 总的来说,RDS约束代码保证对应于第1至第k段(其中k可为2、3、...、L/M中的任何一个)的电荷将在[-M/2,M/2]之间。
如之前那样,在一些实施例中,RDS约束的写入比特序列的最终或总的电荷(即CL/M)可以为已知,或可替换地,只有界限(即M)可以为已知。落在前一类中的系统称为已知RDS电荷约束系统,而落在后一类中的系统称为有界RDS电荷约束系统。
下图描述了有界RDS电荷约束的实施例。
图7为示出当存在有界RDS电荷约束时下边界图形的实施例的图。在示出的例子中,L=16,384,而M=256。如此,存在64个段,并且示出的图形的x轴对应于段号。在示出的图形中,函数704为写入比特序列的电荷(即),其随段号变化,而函数700为读回比特序列的电荷(即),其随段号变化,线条702a为RDS上边界(在该例子中,RDS上边界为M/2=128),线条702b为RDS下边界(在该例子中,RDS下边界为-M/2=-128)。不像图4和5,读取阈值的范围未被“扫”。在该例子中,读取电荷函数700中的所有数据点对应于相同的读取阈值,在这种情况下t=3.4V。
在图7的例子中:
在该例子中,响应于在第46段之后被预测的误差校正解码失败,系统取消或中止剩余18段的传输。例如,在第46段之后失败被预测,所以第47段至第64段的传输被取消。在一些实施例中,被取消的传输穿过存储介质(例如,在第一半导体器件上)与存储控制器(例如,在第二半导体器件上)之间的I/O总线。取消第47段至第64段的传输节省了电力。
在一些实施例中,响应于在第46段之后被预测的误差校正解码失败,不发起误差校正解码器。也就是说,误差校正解码被延迟,直到已经完成误差校正解码预测,而没有任何失败的预测。在一些实施例中,一接收到数据就开始误差校正解码,而误差校正解码器被终止(例如,提前和/或在达到解码尝试最大数目之前)。
与一般的有界电荷约束系统(其例子在图5中被示出)相比较,在有界RDS电荷约束系统中,甚至在代码字中的所有比特已被接收之前预测误差校正解码失败是可能的。一般,读回比特序列的电荷尽管不是段号的确切地单调递增或递减函数,但仍随着段号增加展示了一般的向上或向下的趋势。例如,在图7中,读回比特序列的电荷随段号增加而展示了向上的趋势。因此,一旦针对读回比特序列特定长度的下边界超过误差校正能力阈值时,断定针对整个读回比特序列的下边界也将超过该阈值是安全的。如此,可能的是,在不处理整个读回比特序列的情况下预测误差校正解码失败。
回到图2,应当注意的是,图2的过程适用于已知RDS电荷约束系统和有界RDS电荷约束系统。例如,在这样的系统中,图2的过程被重复执行。在第一次,该过程在读回比特序列中的第一段和第二段上执行。当第一次执行时,在208的检查例如确定该下边界(通过使用第一段至第二段来计算)是否大于或等于该阈值。在第二次,该过程在读回比特序列的第一段至第三段执行。第二次的在208的检查确定该下边界(通过使用第一段至第三段来计算)是否大于或等于该阈值。
下图描述了已知RDS电荷约束系统的实施例。
图8为示出了当存在已知RDS电荷约束时下边界的图形的实施例的图。在该例子中,线条802a和802b分别为RDS上边界和RDS下边界。函数800为与读回序列相关联的电荷,并且随段号而变化。函数804是与写入比特序列相关联的电荷,并且也基于段号而变化。线条806示出了写入比特序列的最终的或总的电荷。如在之前的例子中那样,图形示出了针对固定或给定读取阈值的值;所示出的示范性图形并不对应于阈值的扫。
在该例子中,有两种方式来预测误差校正解码失败。第一,由于界限为已知,关于图7的上述过程可用来在每个段之后都检查误差校正解码失败。例如,第一次执行图2的过程时,通过使用第一至第二段来计算的下边界(即)被使用;第二次执行图2的过程时,通过使用第一至第三段来计算的下边界(即)被使用;等等。
可以在已知RDS电荷约束系统中预测误差校正解码失败的第二种方式是,当整个读回比特序列被接收并且已知RDS电荷约束系统可以被使用时。例如在图8中,写入比特序列的最终的或总的电荷为5,并且如线条806所示。在第64段(即最后一段)已被接收之后通过,使用已知RDS电荷约束来计算的下边界(即)可根据等式(9)来计算:该下边界大于误差校正能力阈值164,所以误差校正解码失败被预测。自然地,通过使用基于RDS边界的技术,解码失败可能在最后的段之前被预测。
图9为示出了存储控制器的实施例的图,其使用下边界来预测误差校正解码的失败并相应地配置组件以便节省电力。在示出的例子中,存储控制器900为第一半导体器件,而外部存储器920(例如NAND闪存)为第二半导体设备。存储控制器900包括写入处理器910,其输出写入比特序列。由写入处理器910输出的写入比特序列被电荷约束,在一些实施例中例如为RDS电荷约束。在已知(例如RDS)电荷约束系统中,最终的或总的电荷存储于外部存储器920中。可替换地,如果该系统为有界(例如RDS)电荷约束系统,则最终的或总的电荷不被存储。写入比特序列和可选的最终电荷从写入处理器910传递至I/O接口930。通过使用I/O接口930,写入比特序列以及可选的最终电荷被写入外部存储器920。
当想要所存储的数据时,指挥I/O接口930访问外部存储器920以便获得读回比特序列。在一些实施例中,读回比特序列以“块”返回。例如,如果代码字为4,096比特长,而I/O接口930与外部存储器920之间的总线为2,048比特宽,则针对单个代码字需要两次传输。在一些RDS电荷约束的实施例中,一个或多个段(例如,每个长度为M)通过I/O接口930来获得。
该读回比特序列被传递至读取处理器950中的误差校正解码器952和解码失败预测器954。在一些实施例中,误差校正解码器952(例如,LDPC解码器)一接收到数据就开始解码。在一些其它实施例中,误差校正解码器952等待来自解码失败预测器954的指令以开始处理。在这样的实施例中,误差校正解码器952前面的缓冲器956存储数据,直到从解码失败预测器954接收指令以丢弃该存储的数据或者开始解码。
解码失败预测器954使用读回比特序列来获得一个或多个下边界,并使用那些(多个)下边界来预测(如果适当的话)误差校正解码器952是否将会失败。在该例子中,如果该系统为已知(例如RDS)电荷约束系统,则对应于该读回比特序列的最终的或总的电荷从外部存储器920检索,并用于生成下边界中。
取决于该预测以及系统如何配置,解码失败预测器954输出各种解码器控制信号至误差校正解码器954。在误差校正解码器952一接到数据就开始处理的系统中,解码终止信号被发送至误差校正解码器952。如果未预测到失败,则正在进行的解码被允许继续并且不中断。在误差校正解码器952在开始解码前等待来自解码失败预测器954的指令的实施例中,丢弃指令可以被发送至缓冲器956以丢弃所存储的数据(其具有高的失败概率)。如果没有预测到失败,则开始解码的指令被发送至缓冲器956和误差校正解码器952。
在一些(例如,已知或有界的)RDS电荷约束实施例中,取决于失败预测的结果和/或系统如何配置,解码失败预测器954将I/O控制信号发送至I/O接口930。例如,在一些实施例中,直到由解码失败预测器954指挥其检索下一个段,I/O接口930才检索下一个段。在这样的实施例中,在每个新段的每个检查之后,如果没有预测到解码失败(至少目前为止),则解码失败预测器954指挥I/O接口930以检索下一个段。在一些实施例中,除非另外指挥,I/O接口930检索来自外部存储器920的数据。在一些这样的实施例中,“取消读取”信号可发送至I/O接口930,并且如果与预测的失败相关联的传输或访问仍然悬而未决,则取消那些传输或访问。
虽然出于理解的清晰的目的,前面的实施例已经被相当详细地描述,但是本发明不限于所提供的细节。存在许多可替换的方式来实现本发明。所公开的实施例是说明性的而不是限制性的。
Claims (16)
1.一种系统,其包括:
I/O接口,其被配置为获得读回比特序列;以及
解码失败预测器,其被配置为:
获得电荷约束信息;
至少部分地基于读回比特序列和电荷约束信息,来确定与读回比特序列相关联的若干比特误差的下边界;
比较下边界和与误差校正解码器相关联的误差校正能力阈值;并且
如果下边界大于或等于误差校正能力阈值,则:
预测误差校正解码失败;并且
响应于预测来配置组件以节约电力。
2.根据权利要求1所述的系统,其中,
误差校正解码器包括以下中的一个或多个:迭代误差校正解码器或低密度奇偶校验(LDPC)解码器。
3.根据权利要求1所述的系统,其中,
系统包括半导体器件,所述半导体器件包括以下中的一个或多个:现场可编程门阵列(FPGA)或专用集成电路(ASIC)。
4.根据权利要求1所述的系统,其中,
读回比特序列从以下中的一个或多个读回:固态存储器或NAND闪存。
5.根据权利要求1所述的系统,其中,
确定下边界包括确定是否存在已知电荷约束或有界电荷约束。
6.根据权利要求5所述的系统,其中,
如果存在已知电荷约束,则:
电荷约束信息包括对应于读回比特序列的写入比特序列的电荷(CW);并且
确定下边界进一步包括使用mk(t)=|C(t)-CW|,其中mk(t)为下边界,而C(t)为读回比特序列的电荷。
7.根据权利要求5所述的系统,其中,
如果存在有界电荷约束,则:
电荷约束信息包括边界(N);并且
确定下边界进一步包括使用
8.根据权利要求1所述的系统,其中,
电荷约束信息与运行数字和(RDS)相关联。
9.根据权利要求1所述的系统,其中,
配置组件以节约电力包括指挥误差校正解码器终止已经在读回比特序列上开始的误差校正解码。
10.根据权利要求1所述的系统,其中,
配置组件以节约电力包括指挥缓冲器丢弃读回比特序列,其中误差校正解码器还未开始处理读回比特序列。
11.根据权利要求1所述的系统,其中,
配置组件以节约电力包括指挥I/O接口取消读取与读回比特序列相关联的段。
12.一种方法,其包括:
获得读回比特序列;
获得电荷约束信息;
使用处理器以至少部分地基于读回比特序列和电荷约束信息来确定与读回比特序列相关联的若干比特误差的下边界;
使用处理器来比较下边界和与误差校正解码器相关联的误差校正能力阈值;以及
如果下边界大于或等于误差校正能力阈值,则:
预测误差校正解码失败;并且
响应于预测来配置组件以节约电力。
13.根据权利要求12所述的方法,其中,
误差校正解码器包括以下中的一个或多个:迭代误差校正解码器或低密度奇偶校验(LDPC)解码器。
14.根据权利要求12所述的方法,其中,
确定下边界包括确定是否存在已知电荷约束或有界电荷约束。
15.根据权利要求14所述的方法,其中,
如果存在已知电荷约束,则:
电荷约束信息包括对应于读回比特序列的写入比特序列的电荷(CW);并且
确定下边界进一步包括使用mk(t)=|C(t)-CW|,其中mk(t)为下边界,而C(t)为读回比特序列的电荷。
16.根据权利要求14所述的方法,其中,
如果存在有界电荷约束,则:
电荷约束信息包括边界(N);并且
确定下边界进一步包括使用
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261655817P | 2012-06-05 | 2012-06-05 | |
US61/655817 | 2012-06-05 | ||
US13/902410 | 2013-05-24 | ||
US13/902,410 US9128710B2 (en) | 2012-06-05 | 2013-05-24 | Power saving techniques that use a lower bound on bit errors |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103714857A true CN103714857A (zh) | 2014-04-09 |
CN103714857B CN103714857B (zh) | 2017-03-01 |
Family
ID=49879465
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310329027.0A Active CN103714857B (zh) | 2012-06-05 | 2013-06-04 | 存储控制器及其电力节约方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9128710B2 (zh) |
KR (1) | KR101547577B1 (zh) |
CN (1) | CN103714857B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10411200B2 (en) * | 2014-08-07 | 2019-09-10 | Universal Display Corporation | Electroluminescent (2-phenylpyridine)iridium complexes and devices |
KR20170009554A (ko) * | 2015-07-17 | 2017-01-25 | 에스케이하이닉스 주식회사 | 테스트 시스템 및 테스트 방법 |
US9584162B1 (en) * | 2016-01-05 | 2017-02-28 | International Business Machines Corporation | Microcode data recovery strategies for use of iterative decode |
US10714195B2 (en) * | 2017-08-31 | 2020-07-14 | SK Hynix Inc. | Read disturb detection and recovery with adaptive thresholding for 3-D NAND storage |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101697490A (zh) * | 2009-10-16 | 2010-04-21 | 苏州国芯科技有限公司 | 一种应用在基于理德-所罗门码的ecc模块上的解码方法 |
CN101789269A (zh) * | 2008-07-17 | 2010-07-28 | 马维尔国际贸易有限公司 | 固态存储器装置中的数据恢复 |
CN101800901A (zh) * | 2009-02-09 | 2010-08-11 | 联发科技股份有限公司 | 信号处理装置及方法 |
CN101937725A (zh) * | 2009-06-30 | 2011-01-05 | 恒忆有限责任公司 | 比特错误阈值和内容可寻址存储器以寻址重映射存储装置 |
US8099652B1 (en) * | 2010-12-23 | 2012-01-17 | Sandisk Corporation | Non-volatile memory and methods with reading soft bits in non uniform schemes |
US20120030538A1 (en) * | 2010-07-30 | 2012-02-02 | Michael Anthony Maiuzzo | Forward Error Correction Decoding |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002025282A (ja) * | 2000-07-12 | 2002-01-25 | Hitachi Ltd | 不揮発性半導体記憶装置 |
US7924648B2 (en) * | 2006-11-28 | 2011-04-12 | Anobit Technologies Ltd. | Memory power and performance management |
CN102141943A (zh) * | 2010-01-28 | 2011-08-03 | 建兴电子科技股份有限公司 | 闪存装置及其数据保护方法 |
JP5467270B2 (ja) * | 2010-04-28 | 2014-04-09 | 国立大学法人 東京大学 | データ入出力制御装置および半導体記憶装置システム |
US8869000B2 (en) * | 2011-01-31 | 2014-10-21 | Marvell World Trade Ltd. | Methods and systems for efficient decoding of concatenated error correction codes |
US20130132806A1 (en) * | 2011-11-21 | 2013-05-23 | Broadcom Corporation | Convolutional Turbo Code Decoding in Receiver With Iteration Termination Based on Predicted Non-Convergence |
-
2013
- 2013-05-24 US US13/902,410 patent/US9128710B2/en active Active
- 2013-06-04 CN CN201310329027.0A patent/CN103714857B/zh active Active
- 2013-06-04 KR KR1020130064031A patent/KR101547577B1/ko active IP Right Grant
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101789269A (zh) * | 2008-07-17 | 2010-07-28 | 马维尔国际贸易有限公司 | 固态存储器装置中的数据恢复 |
CN101800901A (zh) * | 2009-02-09 | 2010-08-11 | 联发科技股份有限公司 | 信号处理装置及方法 |
CN101937725A (zh) * | 2009-06-30 | 2011-01-05 | 恒忆有限责任公司 | 比特错误阈值和内容可寻址存储器以寻址重映射存储装置 |
CN101697490A (zh) * | 2009-10-16 | 2010-04-21 | 苏州国芯科技有限公司 | 一种应用在基于理德-所罗门码的ecc模块上的解码方法 |
US20120030538A1 (en) * | 2010-07-30 | 2012-02-02 | Michael Anthony Maiuzzo | Forward Error Correction Decoding |
US8099652B1 (en) * | 2010-12-23 | 2012-01-17 | Sandisk Corporation | Non-volatile memory and methods with reading soft bits in non uniform schemes |
Also Published As
Publication number | Publication date |
---|---|
US9128710B2 (en) | 2015-09-08 |
US20140013166A1 (en) | 2014-01-09 |
KR20130136926A (ko) | 2013-12-13 |
KR101547577B1 (ko) | 2015-08-26 |
CN103714857B (zh) | 2017-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9269448B2 (en) | Generating soft read values using multiple reads and/or bins | |
KR101422050B1 (ko) | 셀 당 멀티비트인 플래시 메모리에서의 오류 보정 방법 | |
US8464134B2 (en) | Method and apparatus for error correction according to erase counts of a solid-state memory | |
JP5502064B2 (ja) | メモリ装置およびデータ判定方法 | |
KR101697271B1 (ko) | 감소된 개수의 검증 동작들을 이용한 비휘발성 메모리의 프로그래밍 | |
US9378090B2 (en) | Cell-to-cell program interference aware data recovery when ECC fails with an optimum read reference voltage | |
CN107622783B (zh) | 译码方法、存储器存储装置及存储器控制电路单元 | |
US9478298B2 (en) | Memory system and method of reading data thereof | |
CN103714857A (zh) | 使用比特误差的下边界的电力节约技术 | |
DE102014100161A1 (de) | Speichersystem und Betriebsverfahren davon | |
US9553612B2 (en) | Decoding based on randomized hard decisions | |
US20110216590A1 (en) | Nonvolatile memory device using interleaving technology and programmming method thereof | |
US9043672B2 (en) | Memory controller, storage device, and memory control method | |
US20140056067A1 (en) | Threshold optimization for flash memory | |
US9009576B1 (en) | Adaptive LLR based on syndrome weight | |
US9043679B2 (en) | Memory device | |
CN106205699B (zh) | 存储器管理方法、存储器存储装置与存储器控制电路单元 | |
JP2010165426A (ja) | メモリコントローラおよび半導体メモリ装置 | |
KR102157672B1 (ko) | 반도체 장치 및 이의 동작 방법 | |
CN110100236B (zh) | 数据读取方法及闪存设备 | |
CN105915234B (zh) | 避免对涡轮乘积码误校正的方案 | |
CN115641895A (zh) | 非易失性存储器及其编程方法 | |
US9229798B2 (en) | Error handling method, memory storage device and memory controlling circuit unit | |
JP7213130B2 (ja) | 不揮発性記憶装置、データ読み出し方法、および、プログラム | |
US11881869B1 (en) | Asymmetric bit errors in low-density parity-check codes for non-volatile memory devices |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |