本申请文件总体涉及非易失性存储器装置,并且更具体地,涉及非易失性存储器装置中的错误校正。
背景技术:
数据完整性是任意数据存储装置与数据传输的重要特征。对于包括nand闪速存储器装置的各种类型的数据存储装置,推荐使用强错误校正码(ecc)。
固态驱动器(ssd)利用多层nand闪存装置进行持久存储。然而,多层nand闪存装置可能本质上不可靠,并且通常需要使用ecc以ecc奇偶校验位的额外存储空间为代价来大幅提高数据可靠性。因此需要能够以更高的服务质量(qos)来提供数据保护的ecc。
技术实现要素:
本公开技术的实施例涉及改进自适应软解码器的服务质量(qos)的方法、装置和系统。除其它特征与益处之外,本申请文件中描述的方法与装置有利地实现了企业级存储系统中的关键指标qos的改进。
在一示例方面,一种改进非易失性存储器装置中的解码器的服务质量的方法包括:基于非易失性存储器装置的当前操作条件,从有序的多个解码器参数集中选择第一解码器参数集,每个解码器参数集对应于非易失性存储器装置的不同的操作条件并且包括与软解码操作相关的参数;基于第一解码器参数集,执行软解码操作;在确定软解码操作成功时,对有序的多个解码器参数集重新排序以将第一解码器参数集放置在有序的多个解码器参数集的开始处,否则,基于从有序的多个解码器参数集中选择的第二解码器参数集,执行软解码操作。
在另一示例方面,上述方法可以由包括处理器的视频编码器设备或视频解码器设备实现。
在又一示例方面,这些方法可以以处理器可执行指令的形式实施并存储在计算机可读程序介质上。
本申请文件中描述的主题可以以提供以下特征中的一个或多个特征的特定方式来实现。
附图说明
图1示出了存储器系统的示例。
图2是示例性非易失性存储器装置的示图。
图3是示出非易失性存储器装置的单元电压电平分布(vth)的示例图。
图4是示出非易失性存储器装置的单元电压电平分布(vth)的另一示例图。
图5是示出编程干扰之前与之后的非易失性存储器装置的单元电压电平分布(vth)的示例图。
图6是示出作为参考电压的函数的非易失性存储器装置的单元电压电平分布(vth)的示例图。
图7是示出实现本公开技术的实施例的系统的延迟特性的性能图。
图8示出了用于改进自适应软解码器的qos的另一示例性方法的流程图。
具体实施方式
企业级ssd(企业级固态驱动器,有时也称为企业级固态磁盘)是一种将数据持久存储或将数据临时缓存在非易失性半导体存储器中的装置,并且旨在用于存储系统、服务器以及直连式存储(das)装置。与旋转硬盘驱动器(hdd)相比,企业级ssd通常使用nand闪速存储器,并且具有更高的性能和更低的功耗。
企业级ssd相对于客户端ssd或消费级ssd可以提供的优势示例包括更高的性能、在断电情况下对dram存储的数据的保护、更强的错误校正码(ecc)以及一致且持久的服务质量(qos)。与客户端ssd或消费级ssd相比,企业级ssd还倾向于提供更高级别的耐久性。
图1至图6概述了可以实现本公开技术的实施例的非易失性存储器系统(例如,企业级ssd)。
图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中的每一个中的存储器单元可以按行和列布置在存储器单元组中。每个存储器单元组可以是物理单元组。例如,一组多个存储器单元可以形成存储器单元组。每个存储器单元组也可以是逻辑单元组。例如,存储器单元组可以是可以由诸如库地址、块地址与页面基础地址的唯一地址标识的库、块或页面。在读取操作或写入操作期间,与特定存储器单元组相关联的唯一地址可以用于访问该特定存储器单元组。基于该唯一地址,可以将信息写入该特定存储器单元组中的一个或多个存储器单元或从该特定存储器单元组中的一个或多个存储器单元中检索信息。
存储器区域102、104、106和108中的存储器单元可以包括非易失性存储器单元。非易失性存储器单元的示例包括闪速存储器单元、相变存储器(pram)单元、磁阻随机存取存储器(mram)单元或其它类型的非易失性存储器单元。在存储器单元被配置为nand闪速存储器单元的示例性实施方式中,读取操作或写入操作可以基于页面来执行。然而,nand闪速存储器中的擦除操作是基于块来执行的。
每个非易失性存储器单元可以被配置为单层单元(slc)或多层存储器单元。单层单元可以每单元存储一位信息。多层存储器单元可以每单元存储多于一位的信息。例如,存储器区域102、104、106和108中的每个存储器单元可以被配置为每单元存储两位信息的多层单元(mlc)、每单元存储三位信息的三层单元(tlc)、或每单元存储四位信息的四层单元(qlc)。在另一示例中,存储器区域111中的每个存储器单元可以被配置为存储至少一位信息(例如,一位信息或多位信息),而存储器区域112中的每个存储器单元可以被配置为存储多于一位的信息。
如图1所示,存储器系统100包括控制器模块120。控制器模块120包括:存储器接口121,与存储器模块110通信;主机接口126,与主机(未示出)通信;处理器124,执行固件级代码;以及高速缓存123与存储器122,临时或持久存储可执行固件/指令与相关信息。在一些实施方式中,控制器模块120可以包括错误校正引擎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)来实现,即,使用编程与验证方法,将阶梯编程电压施加到字线来对同一字线上的存储器单元重复编程。每个编程状态与在验证操作中使用的验证电压相关联,并设置每个阈值电压分布窗口的目标位置。
阈值电压分布失真或重叠可导致读取错误。理想的存储器单元阈值电压分布可由于例如编程和擦除(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的示例中,顶行的电压分布(损坏之前)与底行的电压分布(受保持错误污染)的比较显示出了向左偏移。
在一些实施例中,企业级ssd中使用的ecc为低密度奇偶校验(ldpc)码。ldpc码具有鲁棒错误校正性能,是奇偶校验矩阵可以由低密度奇偶校验矩阵表示的线性块前向错误校正(ecc)码的系列。ldpc解码器可以是硬解码器(在其内部计算中使用位)或软解码器(在其内部计算中使用可靠性指标,例如对数似然比)。
软ldpc解码器的参数高度依赖于nand操作条件,例如编程/擦除(p/e)周期、解码器尝试解码的数据的保持与读取干扰(sprd)。软解码器的现有实施方式依赖于基于解码器尝试解码的大多数数据而选择的解码器参数的预定集,从而优化了平均性能。然而,对于企业级存储,通常成为最关键的指标的是服务质量(qos)而不是性能。在一个示例中,企业级ssd的qos指的是在为读取/写入工作负载提供服务时的延迟(例如,响应时间)和每秒输入/输出操作(称为iops)性能的一致性与可预测性。
在企业级ssd中,qos通常是在寿命终止(eol)时的第一个规范违反。延迟分布的长尾现象通常是由于触发软读取与软解码过程的可能性增加而导致的。在某些情况下(例如,基于驱动器测量),软解码延迟可以长达几毫秒,并且主要受软解码器中的重试模式的影响。
在一些实施例中,软解码器可以使用例如α与β缩放、迭代控制、初始llr、llr衰减缩放因子和校验和阈值的多个解码器参数来配置。在本申请文件中,这些参数中的一个集合表示为参数集,并且软解码器可以被设计成使用多个不同的参数集(例如,多达16个不同的参数集),并可以以预定的顺序布置。因此,如果一个参数集解码失败,则解码器将切换到另一参数集并尝试再次解码。在一个示例中,切换到不同的参数集可能会产生60微秒到80微秒的延迟。在最坏的情况下,重试模式可能会花费超过1毫秒的时间来收敛。
在一些实施例中,参数集的每一个中的参数值与参数集的预定顺序基于nand装置的模型,例如加性高斯白噪声(awgn)模型。在其它实施例中,awgn模型可以基于从候选ssd驱动器收集的数据来修改。
从候选ssd驱动器收集的数据表明:
(1)在不同的操作条件下(例如,nand条件,诸如p/e周期、保持和sprd)噪声模型中存在显著变化,并且
(2)参数集的排序取决于操作条件。在示例中,排序可基于使用每个参数集成功解码的概率。
本公开技术的实施例通过基于底层装置(例如,企业级ssd)的变化的操作条件应用解码器参数集的不同排序,来改进自适应软解码器的qos。优化的排序有利地减少了解码操作的延迟。
在一些实施例中,自适应软解码器的操作包括离线优化与在线优化。
离线优化。如上所述,操作条件(表示为c)包括p/e周期(表示为pec)、保持(表示为ret)和接近装置寿命终止的sprd(表示为sprd),并表示为ci=[peci,reti,sprdi]。对于每组操作条件,定义了多个解码器参数集(表示为p)。对于操作条件ci,解码器参数集的示例性排序为:
p(ci)=[p0(ci),p1(ci),p2(ci),...,p14(ci),p15(ci)]。
在此,pj(ci)表示对于操作条件ci的第j个解码器参数集。
在线优化。在软解码操作期间,一旦确定操作条件类似于ci,则软解码器将把p(ci)应用于其重试模式,作为解码操作的一部分。
在一个示例中,pj(ci)是软解码器使用的解码器参数集。如果解码操作成功,则解码器参数集的排序更新为
p(ci)=[pj(ci),p0(ci),p1(ci),…,pj-1(ci),pj 1(ci),...,p15(ci)]。
另一方面,如果解码操作失败,则对下一轮解码操作使用不同的解码器参数集pk≠j(ci)。如果p(ci)的所有项导致解码失败,则不更新p(ci),并且实施替代的错误校正机制(例如,芯片猎杀过程)。
除了pec、ret与sprd,操作条件可以进一步包括物理位置。从大量存储器存储装置收集的数据表明,在装置(例如,企业级ssd)的同一区域中的存储器具有相似的特性(或操作条件,ci)。因此,如果针对某组操作条件的特定解码器参数集(例如,pj(ci)在解码操作中成功,则将其移至排序的前面(或开始),这使得其能够重复使用,并且由于相邻存储器位置与刚刚解码的存储器位置具有相似的操作条件而增加了成功解码的可能性。因此,解码器参数集的重新排序有利地减少了解码延迟并改进了qos。
在一些实施例中,可以通过固件或硬件来执行在线优化。在前一种情况下,固件跟踪解码器集的排序,并基于解码器性能更新排序。在后一种情况下,硬件控制排序与更新,并且不需要固件干预。
图7示出了实现本公开技术的实施例的系统的延迟特性。该示例对应于50%的读取和50%的写入工作负载,示出了与包括使用256gb管芯的1太字节(tb)ssd的现有系统(707)相比的qos改进(704)。如图7所示,其绘制了延迟小于给定延迟(y轴)对给定延迟(x轴)的概率,在本公开技术的实施例中,较低的延迟概率始终较低。
图8示出了用于改进自适应软解码器的服务质量(qos)的方法800的流程图。方法800包括,在操作810,基于非易失性存储器装置的当前操作条件,从有序的多个解码器参数集中选择第一解码器参数集,每个解码器参数集对应于非易失性存储器装置的不同的操作条件并且包括与软解码操作相关的参数。
方法800包括,在操作820,基于第一解码器参数集执行软解码操作。
方法800包括,在操作830,在确定软解码操作成功时,对有序的多个解码器参数集重新排序以将第一解码器参数集放置在有序的多个解码器参数集的开始处。
方法800包括,在操作840,在确定软解码操作失败时,基于从有序的多个解码器参数集中选择的第二解码器参数集执行软解码操作。
在一些实施例中,操作条件包括多个编程和擦除周期、保持参数或读取干扰参数中的至少一个。
在一些实施例中,每个解码器参数集包括以下参数中的至少两个:β缩放因子、迭代控制机制、初始对数似然比(llr)位宽、llr衰减缩放因子或校验和阈值。
在一些实施例中,有序的多个解码器参数集的大小为16。
在一些实施例中,基于每个解码器参数集的误码率(ber)、误块率(bler)或码字失败率(cfr)对有序的多个解码器参数集排序。在其它实施例中,排序可以基于延迟度量或每秒的多个读取/写入操作数量。
在一些实施例中,在与非易失性存储器装置相关联的固件组件或硬件组件中确定排序。
在一些实施例中,方法800进一步包括在选择之前执行离线优化的操作,该离线优化基于非易失性存储器装置的awgn模型或与非易失性存储器装置的操作条件相关的至少一个数据集,生成有序的多个解码器参数集。
本申请文件中描述的主题与功能操作的实施方式可以以各种系统、数字电子电路实现,或者以计算机软件、固件或包括本说明书中公开的结构及其等效结构的硬件实现,或者以其中的一个或多个的组合实现。本说明书中描述的主题的实施方式可以被实现为一个或多个计算机程序产品,即在有形和非暂时性计算机可读介质上编码的计算机程序指令的一个或多个模块,以供数据处理设备执行或控制数据处理设备的操作。计算机可读介质可以是机器可读存储装置、机器可读存储衬底、存储器装置、影响机器可读传播信号的物质组成、或它们中一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,例如包括可编程处理器、计算机、或多个处理器或多个计算机。除硬件之外,设备还包括为所讨论的计算机程序创建执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统、或它们中一个或多个组合的代码。
计算机程序(也称为程序、软件、软件应用、脚本或代码)可以以包括编译或解译语言的任意形式的编程语言来写入,并且可以以包括如独立运行的程序或如模块、组件、子程序或适用于计算环境的其它单元的任意形式进行部署。计算机程序不必对应于文件系统中的文件。程序可以存储在保存其它程序或数据的文件(例如,存储在标记语言文档中的一个或多个脚本)的一部分中、专用于讨论的程序的单个文件中、或多个协调文件(例如,存储一个或多个模块、子程序、或部分代码的文件)中。可以将计算机程序部署成在位于一个站点或分布在多个站点并通过通信网络互连的一台计算机或多台计算机上执行。
本说明书中描述的进程和逻辑流程可以通过运行一个或多个计算机程序以通过对输入数据进行操作并生成输出执行功能的一个或多个可编程处理器来执行。进程和逻辑流程也可以由例如fpga(现场可编程门阵列)或asic(专用集成电路)的专用逻辑电路执行,并且设备也可以被实现为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
适合执行计算机程序的处理器包括,例如通用微处理器和专用微处理器、以及任意种类的数字计算机的任意一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或二者接收指令和数据。计算机的基本元件是用于执行指令的处理器与用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置,例如磁盘、磁光盘或光盘,或可操作地联接以从一个或多个大容量存储装置接收数据或将数据传输到一个或多个大容量存储装置。然而,计算机不需要具有这种装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如,eprom、eeprom和闪存装置。处理器和存储器可以由专用逻辑电路补充或合并到专用逻辑电路中。
尽管本申请文件包含许多细节,但是这些细节不应解释为对任何发明或可以要求保护的范围的限制,而应解释为对可以特定于特定发明的特定实施例的特征的描述。在本申请文件中在单独实施例的上下文的背景下描述的某些特征也可以在单个实施例中组合实现。相反,在单个实施例的上下文的背景下描述的各种特征也可以分别在多个实施例中实现或以任意合适的子组合来实现。此外,尽管特征可能在上文描述为在某些组合中起作用并且甚至最初如此要求,但是在某些情况下,可以从所要求保护的组合中排除该组合中的一个或多个特征,并且所要求保护的组合可以针对子组合或子组合的变型。
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应被理解为要求以所示的特定顺序或以连续的顺序执行这样的操作,或者执行所有示出的操作以实现期望的效果。此外,本申请文件中描述的实施例中的各个系统组件的分离不应被理解为在所有实施例中都需要这种分离。
本申请文件中仅描述一些实施方式和示例,并且可以基于本申请文件中所描述和示出的内容进行其它实施方式、改进和变型。
1.一种改进非易失性存储器装置中解码器的服务质量的方法,包括:
基于所述非易失性存储器装置的当前操作条件,从有序的多个解码器参数集中选择第一解码器参数集,每个解码器参数集对应于所述非易失性存储器装置的不同的操作条件并且包括与软解码操作相关的参数;
基于所述第一解码器参数集,执行所述软解码操作;
在确定所述软解码操作成功时,对所述有序的多个解码器参数集重新排序以将所述第一解码器参数集放置在所述有序的多个解码器参数集的开始处;以及
在确定所述软解码操作失败时,基于从所述有序的多个解码器参数集中选择的第二解码器参数集,执行所述软解码操作。
2.根据权利要求1所述的方法,其中所述操作条件包括多个编程和擦除周期、保持参数或读取干扰参数中的至少一个。
3.根据权利要求1所述的方法,其中每个解码器参数集包括以下参数中的至少两个:
β缩放因子;
迭代控制机制;
初始对数似然比(llr)位宽;
llr衰减缩放因子;或
校验和阈值。
4.根据权利要求1所述的方法,其中所述有序的多个解码器参数集的大小为16。
5.根据权利要求1所述的方法,其中基于每个解码器参数集的误码率、误块率或码字失败率对所述有序的多个解码器参数集排序。
6.根据权利要求5所述的方法,其中在与所述非易失性存储器装置相关联的固件组件或硬件组件中确定所述排序。
7.根据权利要求1所述的方法,进一步包括:
在所述选择之前执行离线优化,所述离线优化基于所述非易失性存储器装置的加性高斯白噪声(awgn)模型或与所述非易失性存储器装置的操作条件相关的至少一个数据集,生成所述有序的多个解码器参数集。
8.一种改进非易失性存储器装置中解码器的服务质量的系统,包括:
处理器和存储器,所述存储器包括所述存储器上存储的指令,其中所述指令在由所述处理器执行时使所述处理器:
基于所述非易失性存储器装置的当前操作条件,从有序的多个解码器参数集中选择第一解码器参数集,每个解码器参数集对应于所述非易失性存储器装置的不同的操作条件并且包括与软解码操作相关的参数;
基于所述第一解码器参数集,执行所述软解码操作;
在确定所述软解码操作成功时,对所述有序的多个解码器参数集重新排序以将所述第一解码器参数集放置在所述有序的多个解码器参数集的开始处;以及
在确定所述软解码操作失败时,基于从所述有序的多个解码器参数集中选择的第二解码器参数集,执行所述软解码操作。
9.根据权利要求8所述的系统,其中所述操作条件包括多个编程和擦除周期、保持参数或读取干扰参数中的至少一个。
10.根据权利要求8所述的系统,其中每个解码器参数集包括以下参数中的至少两个:
β缩放因子;
迭代控制机制;
初始对数似然比(llr)位宽;
llr衰减缩放因子;或
校验和阈值。
11.根据权利要求8所述的系统,其中所述有序的多个解码器参数集的大小为16。
12.根据权利要求8所述的系统,其中基于每个解码器参数集的误码率、误块率或码字失败率对所述有序的多个解码器参数集排序。
13.根据权利要求12所述的系统,其中在与所述非易失性存储器装置相关联的固件组件或硬件组件中确定所述排序。
14.根据权利要求8所述的系统,其中所述指令在由所述处理器执行时进一步使所述处理器:
在所述选择之前执行离线优化,所述离线优化基于所述非易失性存储器装置的加性高斯白噪声(awgn)模型或与所述非易失性存储器装置的操作条件相关的至少一个数据集,生成所述有序的多个解码器参数集。
15.一种非暂时性计算机可读存储介质,所述非暂时性计算机可读存储介质存储用于改进非易失性存储器装置中解码器的服务质量的指令,包括:
基于所述非易失性存储器装置的当前操作条件从有序的多个解码器参数集中选择第一解码器参数集的指令,每个解码器参数集对应于所述非易失性存储器装置的不同的操作条件并且包括与软解码操作相关的参数;
基于所述第一解码器参数集执行所述软解码操作的指令;
在确定所述软解码操作成功时,对所述有序的多个解码器参数集重新排序以将所述第一解码器参数集放置在所述有序的多个解码器参数集的开始处的指令;以及
在确定所述软解码操作失败时,基于从所述有序的多个解码器参数集中选择的第二解码器参数集执行所述软解码操作的指令。
16.根据权利要求15所述的存储介质,其中所述操作条件包括多个编程和擦除周期、保持参数或读取干扰参数中的至少一个。
17.根据权利要求15所述的存储介质,其中所述有序的多个解码器参数集的大小为16。
18.根据权利要求15所述的存储介质,其中基于每个解码器参数集的误码率、误块率或码字失败率对所述有序的多个解码器参数集排序。
19.根据权利要求18所述的存储介质,其中在与所述非易失性存储器装置相关联的固件组件或硬件组件中确定所述排序。
20.根据权利要求15所述的存储介质,进一步包括:
在所述选择之前执行离线优化的指令,所述离线优化基于所述非易失性存储器装置的加性高斯白噪声(awgn)模型或与所述非易失性存储器装置的操作条件相关的至少一个数据集,生成所述有序的多个解码器参数集。
技术总结