用于减少数据访问延迟的介质质量感知ECC解码方法选择与流程

文档序号:14518916阅读:333来源:国知局
本公开的示例性实施例涉及一种存储器系统,更特别地,涉及一种具有介质(media)质量感知错误校正码(ecc)解码选择的存储器系统及其操作方法。
背景技术
::在数字时代,计算机系统的使用已经迅速增加。由于这个事实,诸如存储器系统的数字数据存储器的可靠性尤为重要。计算机系统内部的电或磁干扰可能引起存储器系统的存储器单元的单个位自发地翻转到相反的状态而引起错误并导致内部数据损坏。存储器系统的位错误可能由内部nand存储器结构从先前重复访问中的劣化引起。在这种情况下,nand正在损耗,并且没有如同步动态随机存取存储器(sdram)类型的存储器那样获得高能量粒子扰动。具有ecc控制器的存储器系统或存储装置是一种可以检测和校正最常见类型的内部数据损坏的计算机数据存储器。具有ecc控制器的存储器系统用于在任何情况下都不能容忍数据损坏的大多数计算机。通常,ecc控制器保持存储器系统不受单个位错误的影响,即使实际存储的一个或多个位已被翻转到错误的状态,但从每个字读取的数据总是与已写入的数据相同。虽然具有ecc控制器的存储器系统可以检测和校正错误,但大多数非ecc存储器系统不能校正错误,尽管一些可能支持错误检测但并不支持校正。因此,仍然存在对具有ecc控制器的存储器系统及其操作方法的需要。鉴于对提高性能和安全性的需求不断增加,找到这些问题的答案也越发关键。一直在寻求这些问题的解决方案,但是先前的研究没有教导或提出任何解决方案,因此长期以来,这些问题的解决方案一直困惑着本领域的技术人员。技术实现要素:本公开的实施例涉及一种具有ecc控制器的存储器系统及其操作方法,其能够改善具有ecc控制器的存储器系统的性能和可靠性。一种存储器系统的操作方法包括:表征存储器系统以及生成索引判决表(decisiontable);评估读取命令,并根据索引判决表预测被提出的错误恢复操作;以及执行所提出的错误恢复操作。一种存储器系统包括:存储器装置;以及半导体存储器控制器,其控制该存储器装置的操作,包含执行存储在存储器控制器中的指令和程序的处理器、表征存储器系统并生成索引判决表的存储器表征器、评估读取命令并根据索引判决表预测提出的错误恢复操作的动态评估器(in-flightassessor)以及执行所提出的错误恢复操作的选择性解码器。附图说明图1是示意性地示出根据本发明的实施例的存储器系统的顶级框图。图2是示出根据本发明的实施例的存储器系统的详细框图。图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。图4是示意性地示出根据本发明的实施例的存储器系统的存储器控制器的框图。图5a是示出根据本发明的实施例的存储器系统的一位硬解码读取方案的图。图5b是示出根据本发明的实施例的存储器系统的读取重试读取方案的图。图5c是示出根据本发明的实施例的存储器系统的两位解码读取方案的图。图5d是示出根据本发明的实施例的存储器系统的软解码读取方案的图。图6是示意性地示出根据本发明的实施例的存储器系统的改进的错误恢复进程的框图。图7是示意性地示出根据本发明的实施例的存储器系统的自适应ecc解码进程的框图。图8是示出本发明的另一实施例中的存储器系统的操作方法的流程图。具体实施方式下面将参照附图更详细地描述各个实施例。然而,本发明可以不同的形式实施,并不应被解释为受限于本文所阐述的实施例。相反地,提供这些实施例以便使本公开彻底且完整,并且将本发明的范围全面地传达给本领域的技术人员。贯穿本公开,相同的附图标记在遍及本发明的各个附图和实施例中表示相同的部件。本发明可以多种方式实施,包括如过程;设备;系统;物质的组成;在计算机可读存储介质上实施的计算机程序产品;和/或处理器,诸如适于执行存储在联接到处理器的存储器上的指令和/或由联接到处理器的存储器提供的指令的处理器。在本说明书中,这些实施例或本发明可能采取的任何其它形式可被称为技术。通常,所公开的进程的步骤的顺序可在本发明的范围内改变。除非另有说明,否则被描述为适于执行任务的诸如处理器或存储器的部件可被实施为在给定时间暂时适于执行任务的一般部件或被制造为执行该任务的特定部件。如本文所使用的,术语“处理器”指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理核心。下面提供了本发明的一个或多个实施例的详细描述以及说明本发明的原理的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限制,并且本发明包括许多替代方案、修改和等同物。为了提供对本发明的全面理解,在下面的描述中阐述了许多具体细节。为了示例的目的提供这些细节,并且可根据权利要求在没有一些或所有这些具体细节的情况下实施本发明。为了清晰的目的,没有详细描述与本发明相关的
技术领域
:中公知的技术内容,以免不必要地模糊本发明。诸如固态驱动器(ssd)的存储器系统包括ecc控制器,其在利用读取命令读取介质期间通常以“正常”模式操作,直到发生不可校正的错误。一旦发生不可校正的错误,ecc控制器就可以在“错误恢复”模式下操作。在错误恢复模式下,数个不同的步骤可以涉及尝试校正在正常模式下不可校正的错误。不同的步骤可被顺序地执行。后续步骤比先前步骤更加稳健(robust)来尝试校正错误并提供预期数据。现参照图1,其中示出了示意性地示出根据本发明的实施例的存储器系统的顶级框图。存储器系统可以包括许多部件,包括诸如闪存控制器或ecc控制器的存储器控制器100以及诸如闪速存储器装置的半导体存储器装置200。存储器控制器100可以包括处理器106,其用于执行存储在存储器系统中用于操作存储器系统的程序和指令。存储器控制器100可经由通信输入/输出(i/o)总线来控制半导体存储器装置200的全部操作,包括命令cmd、地址addr、数据data、电力pwr和控制信号ctrl。控制信号ctrl可包括命令锁存使能(cle)信号、地址锁存使能(ale)信号、芯片使能(ce)信号、写入使能(we)信号、读取使能(re)信号等。半导体存储器装置200可在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可通过输入/输出线从存储器控制器100接收命令、地址和数据。半导体存储器装置200可通过电源线接收电力pwr,以及通过控制线接收控制信号ctrl。存储器控制器100和半导体存储器装置200可被集成在诸如固态驱动器(ssd)或存储卡的单个半导体装置中。当ecc控制器被用在ssd中时,联接到存储器系统的主机(未示出)的操作速度可显著提升。存储器控制器100和半导体存储器装置200可被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可被集成在单个半导体装置中以配置诸如以下的存储卡:个人计算机存储卡国际协会(pcmcia)的pc卡、标准闪存(cf)卡、智能媒体(sm)卡、记忆棒、多媒体卡(mmc)、缩小尺寸的多媒体卡(rs-mmc)、微型版本的mmc(mmcmicro)、安全数字(sd)卡、小型安全数字(minisd)卡、微型安全数字(microsd)卡、安全数字高容量(sdhc)和通用闪存(ufs)。对于另一示例,存储器系统可被提供为包括诸如以下电子装置的各种元件中的一种:计算机、超移动pc(umpc)、工作站、上网本计算机、个人数字助理(pda)、便携式计算机、网络平板pc、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(pmp)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(dmb)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和发送信息的装置、家庭网络的电子装置之一、计算机网络的电子装置之一、远程信息处理网络的电子装置之一、射频识别(rfid)装置或计算系统的元件装置。现参照图2,其中示出了示出根据本发明的实施例的存储器系统的详细框图。例如,图2的存储器系统可描述图1所示的存储器系统。存储器系统可包括存储器控制器100和半导体存储器装置200。存储器系统可响应于来自主机装置的请求而操作,并且特别地,存储待被主机装置访问的数据。主机装置可利用各种电子装置中的任意一种来实施。在一些实施例中,主机装置可包括诸如以下的电子装置:台式计算机、工作站、三维(3d)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器以及数字视频播放器。在一些实施例中,主机装置可包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、mp3播放器、便携式多媒体播放器(pmp)以及便携式游戏机。半导体存储器装置200可存储待由主机装置访问的数据。半导体存储器装置200可利用诸如动态随机存取存储器(dram)和静态随机存取存储器(sram)的易失性存储器装置或诸如只读存储器(rom)、掩模rom(mrom)、可编程rom(prom)、可擦除可编程rom(eprom)、电可擦除可编程rom(eeprom)、铁电随机存取存储器(fram)、相变ram(pram)、磁阻ram(mram)和电阻式ram(rram)的非易失性存储器装置实施。存储器控制器100可控制数据在半导体存储器装置200中的存储。例如,存储器控制器100可响应于来自主机装置的请求来控制半导体存储器装置200。存储器控制器100可将从半导体存储器装置200读取的数据提供给主机装置,并可将从主机装置提供的数据存储到半导体存储器装置200中。存储器控制器100可包括通过总线160联接的存储单元110、控制单元120、错误校正码(ecc)单元130、主机接口140和存储器接口150。存储单元110可用作存储器系统和存储器控制器100的工作存储器,并且存储用于驱动存储器系统和存储器控制器100的数据。当存储器控制器100控制半导体存储器装置200的操作时,存储单元110可存储被存储器控制器100和半导体存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。存储单元110可利用易失性存储器来实施。存储单元110可利用静态随机存取存储器(sram)或动态随机存取存储器(dram)来实现。如上所述,存储单元110可将主机装置使用的数据存储在半导体存储器装置200中,用于读取操作和写入操作。为了存储数据,存储单元110可包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。控制单元120可控制存储器系统的一般操作,以及响应于来自主机装置的写入请求或读取请求控制用于半导体存储器装置200的写入操作或读取操作。控制单元120可驱动被称为闪存转换层(ftl)的固件来控制存储器系统的一般操作。例如,ftl可执行诸如逻辑到物理(l2p)映射、损耗均衡、垃圾收集和坏块处理的操作。l2p映射亦可称为逻辑块寻址(lba)。ecc单元130可在读取操作期间检测并校正从半导体存储器装置200读取的数据中的错误。当错误位的数量大于或等于可校正错误位的阈值数量时,ecc单元130不校正错误位,并且可输出指示校正错误位失败的错误校正失败信号。在一些实施例中,ecc单元130可基于诸如以下的编码调制来执行错误校正操作:低密度奇偶校验(ldpc)码、博斯-查德胡里-霍昆格姆(bose-chaudhri-hocquenghem,bch)码、turbo码、turbo乘积码(tpc)、里德-所罗门(reed-solomon,rs)码、卷积码、递归系统码(rsc)、网格编码调制(tcm)以及分组编码调制(bcm)等。ecc单元130可包括用于错误校正操作的所有电路、系统或装置。主机接口140可通过诸如以下的各种接口协议中的一种或多种与主机装置通信:通用串行总线(usb)、多媒体卡(mmc)、高速外围组件互连(pci-e)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。存储器接口150可在存储器控制器100和半导体存储器装置200之间提供接口,以允许存储器控制器100响应于来自主机装置的请求来控制半导体存储器装置200。存储器接口150可在cpu120的控制下生成用于半导体存储器装置200的控制信号和进程数据。当半导体存储器装置200是诸如nand闪速存储器的闪速存储器时,存储器接口150可在cpu120的控制下生成用于存储器的控制信号和进程数据。半导体存储器装置200可包括存储器单元阵列210、控制电路220、电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270。存储器单元阵列210可包括多个存储块211,并且可在其中存储数据。电压生成电路230、行解码器240、页面缓冲器250、列解码器260和输入/输出电路270形成存储器单元阵列210的外围电路。外围电路可执行存储器单元阵列210的编程操作、读取操作或擦除操作。控制电路220可控制外围电路。电压生成电路230可生成具有各种电平的操作电压。例如,在擦除操作中,电压生成电路230可生成具有各种电平的操作电压,诸如擦除电压和通过电压。行解码器240可连接到电压产生电路230和多个存储块211。行解码器240可响应于由控制电路220生成的行地址radd在多个存储块211中选择至少一个存储块,并将从电压生成电路230提供的操作电压传输到在多个存储块211中选择的存储块。页面缓冲器250通过位线bl(未示出)连接到存储器单元阵列210。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器250可利用正电压对位线bl进行预充电,在编程操作中向所选择的存储块传输数据/在读取操作中从所选择的存储块接收数据,或者临时存储传输的数据。列解码器260可向页面缓冲器250传输数据/从页面缓冲器250接收数据,或者向输入/输出电路270传输数据/从输入/输出电路270接收数据。输入/输出电路270可通过输入/输出电路270,向控制电路220传输从外部装置(例如,存储器控制器100)传输的命令和地址,将来自外部装置的数据传输到列解码器260,或将来自列解码器260的数据输出到外部装置。控制电路220可响应于命令和地址来控制外围电路。现参照图3,其中示出了示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列210的存储块211。存储块211可包括分别联接到位线bl0至blm-1的多个单元串221。每列的单元串可包括一个或多个漏极选择晶体管(dst)和一个或多个源极选择晶体管(sst)。多个存储器单元或存储器单元晶体管可串联联接在dst和sst之间。存储器单元mc0至mcn-1的每一个可由每个单元中存储多位的数据信息的多层单元(mlc)形成。单元串221可分别电联接到相应的位线bl0至blm-1。在一些实施例中,存储块211可包括nand型闪速存储器单元。然而,存储块211不限于nand闪速存储器,而是可包括nor型闪速存储器、其中组合有两种或更多种类型的存储器单元的混合闪速存储器以及其中控制器嵌入到存储器芯片内的1-nand闪速存储器。现参照图4,其中示出了示意性地示出根据本发明的实施例的存储器系统的存储器控制器的框图。图1的存储器控制器100可包括硬解码器402、读取重试解码器404、过采样(ovs)两位解码器406和软解码器408。在错误恢复进程中,硬解码器402可在步骤1中执行一位硬解码,读取重试解码器404可在步骤2中执行读取重试解码,其中读取重试解码可包括具有不同读取阈值设置的硬解码的多次迭代,ovs两位解码器406可在步骤3中执行ovs两位解码,其中ovs两位解码可以是一种具有在ldpc软解码器中创建和使用的两位解对数似然比(llr)估计的部分软解码,并且软解码器408可在步骤4中执行软解码,其中软解码可以是使用三或四位llr估计输入的全部软解码。存储器系统的错误恢复进程可以包括正常模式和错误恢复模式。当错误恢复进程处于正常模式时,正常操作通常可以使用步骤1中的硬判决读取或尝试校正错误的硬解码方法。硬解码器402可以执行读取模块410和解码模块412。读取模块410可以利用一个读取参考电压来读取闪速存储器。读取模块410的输出可以被转发到解码模块412以进行ldpc硬解码。如果ldpc硬解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。如果ldpc硬解码失败,则存储器控制器100可以继续进行到步骤2。硬解码可以包括两种形式,位翻转解码与最小和解码。在本发明的实施例中提供的位翻转解码方法中,在检测到错误之后,根据位翻转规则仅翻转一位。在位翻转解码方法中,可被校正的错误的深度最低,但解码时间可以最快,功耗可以最低。如果硬解码成功,则存储器控制器100可以向请求这种数据的应用转发这种无错误数据。如果硬解码失败,则存储器控制器100可以在错误恢复模式下开始错误恢复进程。在最小和解码方法中,存储器控制器100利用的消息传递软解码器在存储器位被读取为0的情况下,向硬解码的输入数据分配正对数似然比(+llr)值,在存储器位被读取为1的情况下,向硬解码的输入数据分配负对数似然比(-llr)值。在该方法中,置信传播适用于所有具有相同可靠度的输入样本。置信传播,亦被称为和积消息传递,是一种用于对图形模型执行推断的消息传递算法。置信传播计算每个未被观察到的节点的边际分布,对任何观察到的节点则附带条件。在错误恢复模式下,错误恢复进程通常可以步骤2的读取重试解码开始。在读取重试解码的简单算法中,可以尝试一系列另外的硬解码操作,但是在每个新介质读取中使用调整的读取阈值。读取重试解码器404可以执行多次读取模块414和解码模块412。多次读取模块414可以利用多组预先计算的读取参考电压来读取闪速存储器。多次读取模块414的输出可以被转发到解码模块以进行ldpc硬解码。如果ldpc硬解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。当ldpc硬解码失败时,如果还没有达到最大重试次数,则存储器控制器100可以返回到多次读取模块414以进行另外的迭代。一旦达到最大重试次数并且ldpc硬解码失败,则存储器控制器100可以继续进行到步骤3。读取重试解码的读取阈值可以针对每个半导体存储器装置介质被预先确定,并且通常在不知道创建了读取阈值以进行校正的支持条件的情况下被应用。尝试的重试次数可以被推荐为较小的数,例如五(5)。如果读取重试解码尝试恢复数据失败,则错误恢复进程可以尝试使用ovs两位解码进行解码。步骤3的ovs两位解码可以利用擦除标志有效地标记每个硬检测的位。ovs两位解码器406可以执行读取组模块416和两位解码模块418。读取组模块416可以利用一组读取参考电压来读取闪速存储器。读取组模块416的输出可以被转发到两位解码模块418以进行ldpc软解码。如果ldpc软解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。如果ldpc软解码失败,则存储器控制器100可以继续进行到步骤4。具有擦除标志的硬检测的位的信息可以大大地增加ovs两位解码器406的错误校正能力,而具有相对较低的额外的介质访问开销。ovs两位解码器406可以将两个数据向量返回到存储器控制器100,诸如硬检测的位的硬检测数据和诸如擦除标志的擦除信息。如果某一位的阈值电压被感测为离两个相邻状态的边界线远,则该位可以被假定为被校正的概率较高,并且该位的值强,表示强位。如果某一位的阈值电压被感测为基本上接近两个相邻状态的边界线,则该位的值被假定为弱,该位被校正的概率较低,表示弱位。对于强位,如果位值被读取为0或1,则+llrstrong或-llrstrong可以分别被分配。对于弱位,如果位值被读取为0或1,则+llrweak和-llrweak可以被分别分配。如果ovs两位解码失败,则在步骤4的软解码中存储器控制器100可以分配更多读取以读取图1的半导体存储器装置200,并将存储器单元的阈值电压范围分成更多的区域,并且分配更多的有限的llr值。软解码器408可以执行多组读取模块420和软解码模块422。多组读取模块420可以利用多组读取参考电压来读取闪速存储器。多组读取模块420的输出可以被转发到软解码模块422以进行ldpc软解码。如果ldpc软解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。虽然硬解码在固定组的可能值上操作,通常在二进制码中为0或1,但是对软解码的输入可以在0和1之间的整个值范围上采用。0和1之间的整个值范围的额外信息可以指示每个输入数据点的可靠性,并用于形成对原始数据的更好的估计。因此,软解码通常在出现损坏的数据的情况下比对应的硬解码表现的更好。当半导体存储器装置介质质量低时,错误恢复延迟可能会高。错误恢复进程可能需要执行包括步骤1至步骤4的另外的步骤,以校正错误。由于四个步骤是按顺序执行的,所以在需要执行所有四个步骤的情况下,错误恢复进程流程的延迟惩罚可能比较显著。即使存储器介质质量为中低时,读取错误恢复延迟可能仍然相对较高。错误恢复进程可能需要执行包括步骤1至步骤3的另外的步骤,以校正错误。在需要执行三个步骤的情况下,错误恢复进程流程的延迟惩罚可能仍然较高。例如,在步骤1中,硬解码器402尝试利用硬解码方法来校正错误。如果步骤1失败,则错误恢复进程可以进行步骤2。如果读取重试解码器404利用读取重试解码方法校正错误失败,则错误恢复进程可以进行到步骤3。如果ovs两位解码器406成功地校正了错误,则由于步骤1、步骤2和步骤3是按顺序执行的,所以错误恢复延迟是这三个步骤的延迟的组合。现参照图5a,其中示出了示出根据本发明的实施例的存储器系统的一位硬解码读取方案的图。一位硬解码方案被用在图2的错误恢复进程的步骤1中。在一位硬解码方案中,可以单次尝试一位翻转。现参照图5b,其中示出了示出根据本发明的实施例的存储器系统的读取重试方案的图。读取重试方案被用在图2的错误恢复进程的步骤2中。在读取重试解码中,可以多次尝试一位翻转,其中多次尝试具有最大限制,诸如五次尝试。最大限制可以根据图1的半导体存储器装置200的特性预先确定。由于不同的半导体存储器装置可能具有不同的特征和独特的特性,所以预先确定的最大限制可以相应地改变。现参照图5c,其中示出了示出根据本发明的实施例的存储器系统的ovs两位解码方案的图。ovs两位解码方案被用在图2的错误恢复进程的步骤3中。目标位可以被感测并与其相邻状态进行比较。如果目标位的感测的值离两个相邻状态的边界线远,则目标位可以是被假定为被校正的概率较高的强位。如果目标位的感测的值接近两个相邻状态的边界线,则目标位可以是被假定为被校正的概率较低的弱位。现参照图5d,其中示出了示出根据本发明的实施例的存储器系统的软解码方案的图。软解码方案被用在图2的错误恢复进程的步骤4中。如果ovs两位解码失败,则在步骤4的软解码中,存储器控制器100可以分配更多读取以读取半导体存储器装置200,半导体存储器单元的阈值电压范围可以被划分为更多的区域,并且分配更多的有限的llr值。来自另外被划分的范围的另外的值可以更好地指示每个输入数据点的可靠性,并用于形成对原始数据的更准确的估计。上述解码方案可以被顺序地用于错误恢复进程。随后的解码方案可能比先前尝试用于校正错误的解码方案更强大,但操作上更昂贵。操作成本可以包括更高的功耗、更长的操作时间、用以实施的更复杂的硬件或其组合。因此,错误恢复进程总是可以从最简单的解码方案开始尝试,并在较简单的解码方案失败之后转向更强大的解码方案。现参照图6,其中示出了示意性地示出根据本发明的实施例的存储器系统的改进的错误恢复进程的框图。改进的错误恢复进程可以包括硬解码器602、读取重试解码器(未示出)、校正子(syndrome)检查部件604、过采样(ovs)两位解码器606、软解码器608和存储器介质质量预测部件609。在错误恢复进程中,存储器介质质量预测部件609可以预测当前读取命令的错误率,硬解码器602可以执行步骤1中的一位硬解码,读取重试解码器可以执行步骤2中的读取重试解码,ovs两位解码器606可以执行步骤3中的ovs两位解码,软解码器608可以执行步骤4中的软解码。硬解码器602可以执行读取模块610和解码模块612。读取模块610可以利用一个读取参考电压来读取闪速存储器。读取模块610的输出可以被转发到解码模块612以进行ldpc硬解码。如果ldpc硬解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。如果ldpc硬解码失败,则存储器控制器100可以继续进行下一步骤。当ldpc解码失败时,校正子检查部件604可以收集校正子错误计数。收集的校正子错误计数可以被组织成错误/校正子统计,并被提供用于决定错误恢复操作的下一步骤。当错误/校正子统计较低时,错误恢复操作的下一步骤可被确定为ovs两位解码的较不稳健的操作。当错误/校正子统计较高时,错误恢复操作的下一步骤可被确定为软解码的更稳健的操作。ovs两位解码器606可以执行读取组模块616和两位解码模块618。读取组模块616可以利用一组读取参考电压来读取闪速存储器。读取组模块616的输出可以被转发到两位解码模块618以进行ldpc软解码。如果ldpc软解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。如果ldpc软解码失败,则存储器控制器100可以继续进行下一步骤。软解码器608可以执行多组读取模块620和软解码模块622。多组读取模块620可以利用多组读取参考电压来读取闪速存储器。多组读取模块620的输出可以被转发到软解码模块622以进行ldpc软解码。如果ldpc软解码结果为成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。在本发明的实施例中提供的存储器系统的方法可以减少错误恢复流程的延迟。本公开的原理是预测步骤1、步骤2或步骤3可能由于闪存介质的低质量而失败,因此跳过被预测为最可能失败的步骤。可以直接确定和触发最佳的解码选项,以消除先前尝试的延迟惩罚。类似地,在步骤3的ovs两位解码可以直接校正错误的情况下,可以消除步骤1和步骤2的惩罚。如果基于对介质读取的现有知识来选择主动解码策略,则可以节省相当多的延迟。在减少的读取延迟方法中,防御策略可被用于通过跳过被所有可用的先前信息识别的最可能的失败来最小化延迟。例如,基于存储器介质特性,在相同的字线(wl)中,最高有效位(msb)页面可能比最低有效位(lsb)或中心有效位(csb)页面显示出明显更高的错误率。此外,由于存储器介质内部结构,某些wl可能返回噪音读取数据而非其它数据。这两种劣化的组合可以界定出高于正常错误概率的概率。在上述情况下,硬解码和读取重试解码可能不能产生无错误的结果,但可以实施ovs两位解码来代替校正错误。单个ovs两位解码的开销肯定小于单个ovs两位解码与失败的硬解码和单次读取重试解码迭代的开销。在另一示例中,因为较低的错误率预测,标称wl上的lsb页面可以引起选择简单的硬解码方法。类似地,如果利用较长的保留时间选择的lsb页面可以预测到更可能产生许多错误,则可以直接选择ovs两位解码,而不迭代在前的硬解码和读取重试解码的失败的尝试。在另一示例中,在具有高的编程擦除计数(pec)的最差的wl上读取msb页面。在这种非常高的错误率预测的情况下,可以跳过硬解码、读取重试解码和ovs两位解码,并且可以直接选择全部软解码。在读取数据之前,存储器介质质量预测部件609可以基于数据处于具有较高、中等还是较低的错误率的页面类型上来预测待被从介质读取的数据的错误率。错误率预测还可以基于与各个错误率的pec相关性、数据读取的保留时间、被读取的块的读取干扰计数或其组合。基于来自存储器介质质量预测部件609的错误率预测,如果数据被预测为具有较高的错误率,诸如大于阈值2(th2),则存储器控制器100可以选择使用软解码进行解码,并跳过硬解码和ovs两位解码。如果所预测错误率为中等,诸如大于阈值1(th1)但小于th2,则存储器控制器100可选择ovs两位解码并跳过硬解码。如果错误率预测较低,诸如小于th1,则可以选择硬解码。在该方案中显著的是,如果选择了较弱的错误恢复方案,并且其解码失败,则可以自动选择更强的错误恢复方案,并且与现有方案相比不存在可靠性损失。需要注意的一个重要事项是,即使在失败的解码尝试中,信息也可以被校正子检查部件604有效地收集和使用,以为进一步尝试做出更明智的决定。考虑硬解码是第一选择但其失败的情况。低密度奇偶校验(ldpc)解码器校正子可以提供数据损坏等级指示的附加信息。附加信息可用于以与第一选择相同的主动方式来选择下一操作步骤。例如,如果校正子错误计数推断出比ovs两位解码方法可以可靠地处理的错误更多的错误,则可以跳过ovs两位解码方法,并且可以选择全部软解码选项作为替代。校正子错误计数的收集可以被组织来生成错误/校正子统计。使用上述方法,可以减少用于恢复存储在劣化的闪存介质中的数据的延迟。当然,所有的闪存介质并非都被同等制造,必须采用闭环系统来了解闪速存储器的特性并确定不同的触发阈值。以该方式,即使闪速存储器行为的初始预测不准确并且第一次尝试失败,仍然可以有效地减少延迟。现参照图7,其中示出了示意性地示出根据本发明的实施例的存储器系统的自适应ecc解码进程的框图。自适应ecc解码进程可以包括诸如nand表征器的存储器表征器702、动态评估器704和选择性解码器706。闪速存储器装置有两种主要类型,nand和nor,分别以在闪速存储器装置中使用的逻辑门nand门和nor门命名。nand型闪速存储器可以块或页面来写入和读取,其中块或页面比整个存储器装置小得多。在本发明的实施例中,在改进的错误恢复进程中提供了多个不同的要素。诸如nand介质表征、动态介质评估和预防性数据解码或选择性解码的多个不同的要素可以一起创建延迟优化的错误恢复进程。错误恢复进程可能需要至少所有上述三个要素才能成功实施。如本文所述的优化延迟的能力可以取决于诸如nand介质的存储器介质的完整属性表征的第一基本要素。存储器表征器702可以用于执行存储器表征。存储器表征器702可以包括属性表征器708、判决数据库710、评估器712和索引判决表714。存储器表征进程可被设计成突出产生各种程度的nand介质读取错误的条件。nand表征进程不是千篇一律的一组表达,因为每个nand介质变体可以具有相对于读取延迟的减少区分重要程度的属性。属性及其评估的简要描述见表1。表1属性的值及描述如表1所示,属性表征器708可以根据相对于读取延迟的减少的重要程度来表征存储器系统的属性。每个属性的值可以根据表征结果而变化。例如,pec属性的值可以处于0至5000的范围内。更高的pec值可表示更高的编程擦除周期,诸如存储器单元被更频繁地写入和读取。被频繁访问的存储器单元可能比其它存储器单元损耗的更加严重。因此,更高的pec值可以预测更高的错误率,并且诸如软解码的更强大的解码方法可能适于错误恢复进程。诸如pec属性的每个属性可以具有由属性表征器708创建的对应的表征结果。属性的表征结果可以被用于构建判决数据库710。判决数据库710可以包括根据每个属性及其值的所有的表征结果。评估器712可以根据散列算法计算判决数据库710中的每个表征结果的散列值。散列算法是一种单向散列函数(hashfunction),采用可变长度输入并产生固定长度输出,称为哈希值或散列值。散列函数确保如果输入信息以任何方式改变,则产生的输出可以完全不同。散列算法的输入可以是判决数据库710的表征结果。索引判决表714可以基于由评估器712计算的散列值来组织。通过查找索引判决表714,可以直接确定相应的错误校正操作,而不是经过大量的尝试和失败迭代。因此,读取延迟的减少可以是显著的。诸如动态评估器704的第二基本要素可以要求存储器控制器100能够进行“动态”评估。动态评估器704可以用于基于用于读取存储器介质的当前读取命令来确定如何解释表1中的类别所示的知识数据库。因此,对于存储器装置的每个nand块,存储器系统的固件可以保持状态计数器以追踪诸如pec、sprd、编程时间和温度的属性。在读取命令执行期间,存储器控制器100可以评估读取命令所针对的nand页面类型和wl组的属性。动态评估器704可以执行读取模块715、散列评估器716和查找模块718。由读取模块715读取的读取命令的所有的属性评估可以在散列评估器716中一起散列,以在离线进程中产生不可约的一组推荐。在离线进程中,散列评估器716可以计算当前评估的散列,并将散列转发到查找模块718。散列值的结果可以被收集到查找模块718中的散列结果索引中。散列结果索引可以用于从索引判决表714中检索解码器的推荐的操作步骤,例如“跳过硬解码和读取重试解码,继续进行ovs两位解码”。推荐的操作步骤或提出的错误恢复操作可以被转发到下一步骤。最后,第三个基本要素是nand介质读取ecc解码器或选择性解码器706的硬件实施。选择性解码器706可以执行执行模块720和反馈模块722。执行模块720可以执行提出的错误恢复操作。如果提出的错误恢复操作成功,则存储器控制器100可以将校正的数据呈现为从其读取的闪速存储器输出数据。如果提出的错误恢复操作失败,则反馈模块722可以收集相关信息并反馈给散列评估器716。选择性解码器706的硬件实施可以利用完全访问图4中先前尝试的错误/校正子统计提供解码尝试的交替序列。错误/校正子统计可以被反馈到“动态”评估进程中,以可能改变下一操作步骤。而且在可能的迭代进程中,存储器控制器100可以向解码判决树提供反馈用于决定下一操作步骤。由于先前的选择与预期行为不相关,所以反馈将是产生最佳结果的例外条款。例如,提出的操作步骤为硬解码。当提出的操作步骤被执行但失败时,存储器控制器100可以自动地推荐下一更加稳健的错误校正操作,诸如读取重试解码。然而,利用错误/校正子统计的反馈,存储器控制器100可以将下一操作步骤改变为软解码。下一操作步骤的改变可能是由错误/校正子统计的附加信息预测到可能比读取重试解码能够处理的更高的错误率所引起。因此,可以实现额外减少读取延迟,并且错误校正进程可以更智能。因为最终结果可以取决于整组三个基本要素,所以上述三个基本要素的组合至关重要。另一基本要求为此处描述的nand介质读取进程可以是主动的。在主动的nand介质读取进程中,存储器控制器100可以在检测到任何错误之前采取操作。使用散列函数从广泛的不同判决输入属性创建一组独特的、精简的确定性结果也至关重要。通常,存储器控制器100可以查看pec或sprd,其中pec和sprd可以是一系列的输入。本发明的实施例的上述基本要素包括存储器系统的错误恢复进程。本发明的实施例的错误恢复进程的益处包括通过评估错误恢复操作的成功概率并预测适当的错误恢复操作来智能地预测错误恢复操作,以校正存储器系统的错误。在本发明的实施例中提供的存储器系统的设备和操作方法可以减少错误恢复进程的读取延迟,引起精度性能提升、更低的功耗和更快的存取时间。现参照图8,其中示出了示出根据本发明的另一实施例的存储器系统的操作方法的流程图。该方法可以包括:表征存储器系统并生成索引判决表(框图802);评估读取命令并根据索引判决表预测提出的错误恢复操作(框图806);并执行所提出的错误恢复操作(框图810)。本发明的实施例的上述基本要素包括存储器系统的错误恢复进程的操作方法。错误恢复进程的操作方法的益处包括通过评估错误恢复操作的成功概率并预测适当的错误恢复操作来智能地预测错误恢复操作,以校正存储器系统的错误。在本发明的实施例中提供的存储器系统的设备和操作方法可以减少错误恢复进程的读取延迟,引起精度性能提升、更低的功耗和更快的存取时间。因此,显而易见的是,本发明的存储器系统提供了重要的和迄今未知且难以获得的存储器系统的错误恢复的解决方案、性能和功能方面。所得到的方法、进程、设备、装置、产品和/或系统是直接的、成本有效的、不复杂的、高度通用且有效性的,可以通过适应已知技术而令人惊奇和显著地实现,并因此容易适合于有效和经济地制造与常规制造方法或工艺和技术完全兼容的集成电路封装系统。本发明的另一重要方面在于它有价值地支持和服务于降低成本、简化系统和提高性能的历史趋势。本发明的这些和其它有价值的方面因此将科技的状态至少提升至下一个层次。虽然已经结合特定的最佳模式描述了本发明,但是应当理解的是,根据前面的描述,许多替代、修改和变化对于本领域技术人员将是显而易见的。因此,旨在包含落入所附权利要求的范围内的所有这样的替代、修改和变化。所有本文以上所述或于附图中示出的事项均以说明性的及非限制的意义来诠释。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1