用于存储器系统的相邻辅助校正错误恢复及其方法与流程

文档序号:19119937发布日期:2019-11-13 01:33阅读:187来源:国知局
用于存储器系统的相邻辅助校正错误恢复及其方法与流程

本申请要求于2018年5月3日提交的申请号为62/666,365的美国临时申请的权益,该申请的全部内容通过引用并入本文。

本公开的实施例涉及用于存储器系统的错误恢复方案。



背景技术:

计算机环境范例已经变为可在任何时间和任何地点使用的普适计算系统。因此,诸如移动电话、数码相机和笔记本计算机的便携式电子装置的使用已经快速增长。这些便携式电子装置通常使用具有存储器装置的存储器系统,即数据存储装置。数据存储装置用作便携式电子装置的主存储器装置或辅助存储器装置。

使用存储器装置的存储器系统因不具有移动部件而提供优良的稳定性、耐用性、高信息存取速度以及低功耗。具有这种优点的存储器系统的示例包括通用串行总线(usb)存储器装置、诸如通用闪存(ufs)的具有各种接口的存储卡以及固态驱动器(ssd)。存储器系统可使用各种类型的编码器和解码器。



技术实现要素:

本发明的各方面提供了一种能够使用相邻单元的数据对某个单元的读取数据执行错误恢复操作的存储器系统及其方法。

在一个方面,一种存储器系统包括存储器装置和控制器,其中存储器装置包括多个单元。控制器对多个单元之中的选择单元执行读取。当读取选择单元失败时,控制器基于选择单元的第一读取数据和与选择单元相邻的至少一个相邻单元的第二读取数据,调整选择单元的对数似然比(llr)值以生成调整llr值。

在另一方面,一种操作存储器系统的方法,该存储器系统包括存储器装置和控制器,该存储器装置具有多个单元,该方法包括:对多个单元之中的选择单元执行读取;并且当读取选择单元失败时,基于选择单元的第一读取数据和与选择单元相邻的至少一个相邻单元的第二读取数据,来调整选择单元的对数似然比(llr)值以生成调整llr值。

从以下描述中,本发明另外的方面将变得显而易见。

附图说明

图1是示出根据本发明的实施例的数据处理系统的框图。

图2是示出根据本发明的实施例的存储器系统的框图。

图3是示出根据本发明的实施例的存储器装置的存储块的电路图。

图4a至图4c是示出存储器装置的单元的状态分布的示图。

图5a和图5b是示出存储器装置中的多个存储器单元的示图。

图6是示出存储器装置中的存储器单元的错误率的示图。

图7是示出根据本发明的实施例的控制器的示图。

图8是示出根据本发明的实施例的读取错误恢复操作的流程图。

图9是示出根据本发明的实施例的相邻辅助校正(nac)管理器的示图。

图10是示出根据本发明的实施例的对数似然比(llr)值生成器和llr值调整器的示图。

图11是示出根据本发明的实施例的对数似然比(llr)值生成器和llr值调整器的示图。

图12是示出根据本发明的实施例的基于对数似然比(llr)值的调整操作的读取错误恢复操作的流程图。

具体实施方式

以下参照附图更详细地描述各个实施例。然而,本发明可以不同形式实施,因此不应被解释为限于本文阐述的实施例。相反地,提供这些实施例以使本公开将是彻底且充分的,并且将本发明的范围全面地传达给本领域技术人员。此外,本文中对“一个实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。在整个公开中,相同的附图标记在本发明的附图和实施例中表示相同的部件。

本发明可以多种方式实施,包括作为进程;设备;系统;呈现在计算机可读存储介质上的计算机程序产品;和/或处理器,诸如适于执行存储在联接到该处理器的存储器上的指令和/或由联接到该处理器的存储器提供的指令的处理器。在本说明书中,这些实施方式或本发明可能采取的任何其它形式可被称为技术。通常,所公开进程的步骤的顺序可在本发明的范围内改变。除非另有说明,否则被描述为适于执行任务的诸如处理器或者存储器的部件可被暂时配置为在给定时间执行任务的一般部件或被制造为执行任务的特定部件。如本文所使用的,术语“处理器”等指适于处理诸如计算机程序指令的数据的一个或多个装置、电路和/或处理内核。

下面提供了本发明的实施例的详细描述以及示出本发明各方面的附图。结合这些实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求限定。本发明包括处于权利要求范围内的许多替换、修改和等同物。为了提供对本发明的全面理解,在下面的描述中阐述了许多具体细节。为了示例的目的提供这些细节,并且可在没有一些或所有这些具体细节的情况下,根据权利要求实施本发明。为了清楚,没有详细描述与本发明相关的技术领域中公知的技术内容,以免不必要地模糊本发明。

图1是示出根据本发明的实施例的数据处理系统2的框图。

参照图1,数据处理系统2可包括主机装置5和存储器系统10。存储器系统10可从主机装置5接收请求并且响应于接收的请求而进行操作。例如,存储器系统10可存储待由主机装置5访问的数据。

主机装置5可利用各种类型电子装置中的任意一种来实施。在各个实施例中,主机装置5可包括诸如以下的电子装置:台式计算机、工作站、三维(3d)电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、和/或数字视频记录器以及数字视频播放器。在各个实施例中,主机装置5可包括诸如以下的便携式电子装置:移动电话、智能电话、电子书、mp3播放器、便携式多媒体播放器(pmp)和/或便携式游戏机。

存储器系统10可利用诸如固态驱动器(ssd)和存储卡的各种类型的存储装置中的任何一种来实施。在各个实施例中,存储器系统10可被提供为诸如以下的电子装置中的各种部件中的一种:计算机、超移动个人计算机(pc)(umpc)、工作站、上网本计算机、个人数字助理(pda)、便携式计算机、网络平板pc、无线电话、移动电话、智能电话、电子书阅读器、便携式多媒体播放器(pmp)、便携式游戏装置、导航装置、黑盒、数码相机、数字多媒体广播(dmb)播放器、三维电视、智能电视、数字音频记录器、数字音频播放器、数字图片记录器、数字图片播放器、数字视频记录器、数字视频播放器、数据中心的存储装置、能够在无线环境中接收和发送信息的装置、射频识别(rfid)装置以及家庭网络的各种电子装置中的一种、计算机网络的各种电子装置中的一种、远程信息处理网络的各种电子装置中的一种或计算系统的各种部件中的一种。

存储器系统10可包括存储器控制器100和半导体存储器装置200。存储器控制器100可控制半导体存储器装置200的全部操作。在本文中,存储器控制器也可被称为控制器,并且半导体存储器装置也可被称为存储器装置。

半导体存储器装置200可在存储器控制器100的控制下执行一个或多个擦除操作、编程操作和读取操作。半导体存储器装置200可通过输入/输出线接收命令cmd、地址addr和数据data。半导体存储器装置200可通过电源线接收电力pwr,并且通过控制线接收控制信号ctrl。根据存储器系统10的设计和配置,控制信号ctrl可包括命令锁存使能信号、地址锁存使能信号、芯片使能信号、写入使能信号、读取使能信号以及其它操作信号。

存储器控制器100和半导体存储器装置200可被集成在诸如固态驱动器(ssd)的单个半导体装置中。ssd可包括用于在其中存储数据的存储装置。当在ssd中使用半导体存储器系统10时,可显著提高联接到存储器系统10的主机装置(例如,图1的主机装置5)的操作速度。

存储器控制器100和半导体存储器装置200可被集成在诸如存储卡的单个半导体装置中。例如,存储器控制器100和半导体存储器装置200可被如此集成以配置:个人计算机存储卡国际协会(pcmcia)的个人计算机(pc)卡、紧凑式闪存(cf)卡、智能媒体(sm)卡、记忆棒、多媒体卡(mmc)、缩小尺寸的多媒体卡(rs-mmc)、微型版本的mmc(微型mmc)、安全数字(sd)卡、迷你安全数字(迷你sd)卡、微型安全数字(微型sd)卡、高容量安全数字(sdhc)和/或通用闪存(ufs)。

图2是示出根据本发明的实施例的存储器系统的框图。例如,图2的存储器系统可描述图1所示的存储器系统10。

参照图2,存储器系统10可包括存储器控制器100和半导体存储器装置200。存储器系统10可响应于来自主机装置(例如,图1的主机装置5)的请求而操作,并且特别地,存储待由主机装置访问的数据。

存储器装置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、可被实施为诸如中央处理单元(cpu)的处理器的控制部件120、错误校正码(ecc)部件130、主机接口(i/f)140和存储器接口(i/f)150。

存储装置110可用作存储器系统10和控制器100的工作存储器,并且存储用于驱动存储器系统10和控制器100的数据。当控制器100控制存储器装置200的操作时,存储装置110可存储由控制器100和存储器装置200用于诸如读取操作、写入操作、编程操作和擦除操作的操作的数据。

存储装置110可利用诸如静态随机存取存储器(sram)或动态随机存取存储器(dram)的易失性存储器实施。如上所述,存储装置110可将由主机装置使用的数据存储在存储器装置200中,以用于读取操作和写入操作。为了存储数据,存储装置110可包括程序存储器、数据存储器、写入缓冲器、读取缓冲器、映射缓冲器等。

控制部件120可控制存储器系统10的一般操作,以及响应于来自主机装置的写入请求或读取请求而控制存储器装置200的写入操作或读取操作。控制部件120可驱动被称为闪存转换层(ftl)的固件来控制存储器系统10的一般操作。例如,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或pcie)、小型计算机系统接口(scsi)、串列scsi(sas)、串行高级技术附件(sata)、并行高级技术附件(pata)、增强型小型磁盘接口(esdi)以及电子集成驱动器(ide)。

存储器接口150可提供在控制器100和存储器装置200之间的接口,以允许控制器100响应于来自主机装置的请求来控制存储器装置200。存储器接口150可在控制部件120的控制下生成用于存储器装置200的控制信号并处理数据。当存储器装置200是诸如nand闪速存储器的闪速存储器时,存储器接口150可在控制部件120的控制下生成用于存储器的控制信号并处理数据。

存储器装置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生成的行地址而在多个存储块211中选择至少一个存储块,并将从电压生成电路230提供的操作电压传输到所选择的存储块。

页面缓冲器阵列250可通过位线bl与存储器单元阵列210联接(如图3所示)。响应于由控制电路220生成的页面缓冲器控制信号,页面缓冲器阵列250可利用正电压对位线bl进行预充电,在编程操作和读取操作中向所选择的存储块传输数据并且从所选择的存储块接收数据,或者临时存储传输的数据。

列解码器260可向页面缓冲器阵列250传输数据和从页面缓冲器阵列250接收数据,或者向输入/输出电路270传输数据和从输入/输出电路270接收数据。

输入/输出电路270可向控制电路220传输从外部装置(例如,图1的存储器控制器100)接收的命令和地址,并且通过输入/输出电路270将数据从外部装置传输到列解码器260,或将数据从列解码器260输出到外部装置。

控制电路220可响应于命令和地址来控制外围电路。

图3是示出根据本发明的实施例的半导体存储器装置的存储块的电路图。例如,图3的存储块可以是图2所示的存储器单元阵列210的存储块211中的任意一个。

参照图3,示例性存储块211可包括联接到行解码器240的多个字线wl0至wln-1、漏极选择线dsl和源极选择线ssl。这些线可并行地布置,其中多个字线处于dsl与ssl之间。

示例性存储块211可进一步包括分别联接到位线bl0至blm-1的多个单元串221。每列的单元串可包括一个或多个漏极选择晶体管dst和一个或多个源极选择晶体管sst。在所示实施例中,每一个单元串具有一个dst和一个sst。在单元串中,多个存储器单元或存储器单元晶体管mc0至mcn-1可串联联接在选择晶体管dst和sst之间。存储器单元中的每一个可被形成为存储1位数据的单层单元(slc)。存储器单元中的每一个可被形成为存储2位数据的多层单元(mlc)。存储器单元中的每一个可被形成为存储3位数据的三层单元(tlc)。存储器单元中的每一个可被形成为存储4位数据的四层单元(qlc)。

每一个单元串中的sst的源极可联接到公共源极线csl,并且每一个dst的漏极可联接到对应的位线。单元串中sst的栅极可联接到ssl,并且单元串中的dst的栅极可联接到dsl。跨越单元串的存储器单元的栅极可联接到各自的字线。也就是说,存储器单元mc0的栅极联接到相应的字线wl0,存储器单元mc1的栅极联接到相应的字线wl1等。联接到特定字线的一组存储器单元可被称为物理页面。因此,存储块211中的物理页面的数量可对应于字线的数量。

页面缓冲器阵列250可包括联接到位线bl0至blm-1的多个页面缓冲器251。页面缓冲器251可响应于页面缓冲器控制信号进行操作。例如,在读取或验证操作期间,页面缓冲器251可临时存储通过位线bl0至blm-1接收的数据,或者感测位线的电压或电流。

在一些实施例中,存储块211可包括nand型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可包括nor型闪速存储器单元。存储器单元阵列210可被实施为混合闪速存储器或1-nand闪速存储器,其中混合闪速存储器中组合了两种或更多种类型的存储器单元,1-nand闪速存储器中控制器嵌入在存储器芯片内部。在一些实施例中,存储块211可包括nand型闪速存储器单元。然而,存储块211不限于这种单元类型,而是可包括nor型闪速存储器单元。存储器单元阵列210可被实施为混合闪速存储器或1-nand闪速存储器,其中混合闪速存储器中组合了两种或更多种类型的存储器单元,1-nand闪速存储器中控制器嵌入在存储器芯片内部。

诸如闪速存储器的存储器装置可通过使用编程操作将单元调制到不同的状态或电压电平来使每单元存储多个位。

图4a和图4b是示出存储器装置的不同类型的单元的编程状态或电压(pv)电平的分布的示图。

参照图4a,存储块的存储器单元中的每一个可利用存储1位数据的单层单元(slc)、存储2位数据的多层单元(mlc)、存储3位数据的三层单元(tlc)或存储4位数据的四层单元(qlc)来实施。

slc的存储器单元可包括两个状态p0和p1。p0可指示擦除状态,并且p1可指示编程状态。因为slc的存储器单元可被设置为两种不同状态中的一种,所以存储器单元中的每一个可根据设置编码方法来编程或存储一个位。mlc的存储器单元可包括四种状态p0、p1、p2和p3。在这些状态之中,p0可指示擦除状态,并且p1至p3可指示编程状态。因为mlc的存储器单元可被设置为四种不同状态中的一种,所以存储器单元中的每一个可根据设置编码方法来编程或存储两个位。tlc的存储器单元可包括八种状态p0至p7。在这些状态中,p0可指示擦除状态,并且p1至p7可指示编程状态。因为tlc的存储器单元可被设置为八种不同状态中的一种,所以存储器单元中的每一个可根据设置编码方法来编程或存储三个位。qlc的存储器单元可包括16个状态p0至p15。在这些状态中,p0可指示擦除状态,并且p1至p15可指示编程状态。因为qlc的存储器单元可被设置为十六种不同状态中的一种,所以存储器单元中的每一个可根据设置编码方法来编程或存储四个位。

参照图4b,对于tlc闪速存储器装置,单元中的每一个可具有8个状态和pv电平pv0至pv7。状态中的每一个由唯一的3位元组定义。单元的第一、第二和第三位分别分组到最低有效位(lsb)页面、中间有效位(csb)页面和最高有效位(msb)页面。

参照图4c,对于qlc闪速存储器装置,单元中的每一个可具有16个状态和pv电平pv0至pv15。状态中的每一种由唯一的4位元组定义。单元的第一、第二、第三和第四位分别分组到最低有效位(lsb)页面、最低中间有效位(lcsb)页面、最高中间有效位(mcsb)页面和最高有效位(msb)页面。

图5a和图5b是示出存储器装置中的多个存储器单元的示图。

参照图5a,存储器装置可包括共享位线blk的多个存储器单元:cell0至cell(m-1)。存储器单元中的每一个联接到相应的字线。例如,存储器单元cell0形成在字线wl0和位线blk的相交位置处。存储器单元cell1形成在字线wl1和位线blk的相交位置处。存储器单元cell2形成在字线wl2和位线blk的相交位置处。存储器单元cell(m-1)形成在字线wl(m-1)和位线blk的相交位置处。

参照图5b,存储器单元cell(n-1)、cell(n)和cell(n+1)共享位线blk并联接到各自的字线。例如,存储器单元cell(n-1)形成在字线wl(n-1)和位线blk的相交位置处。存储器单元cell(n)形成在字线wln和位线blk的相交位置处。存储器单元cell(n+1)形成在字线wl(n+1)和位线blk的相交位置处。当存储器单元cell(n)是读取操作的目标单元时,上部存储器单元cell(n-1)和下部存储器单元cell(n+1)可以是与存储器单元cell(n)相邻的相邻单元。

当对存储器单元中的选择单元(例如,cell(n))编程时,选择单元受相邻或邻近单元(例如,cell(n-1)和cell(n+1))的影响。例如,相邻单元上的不同pv电平通常具有影响选择单元(即,牺牲单元)的不同噪声方差,这增加了牺牲单元的数据将被错误地读取的概率。如图6所示,在牺牲单元和相邻单元的值(或电平)形成某些模式的情况下,可能显著增大牺牲单元的数据被错误地读取的概率。

参照图6,当联接到字线wl(n-1)至wl(n+1)中的每一个的存储器单元具有三层单元(tlc)时,存储器单元中的每一个可具有8个可能的值,如图4b所示。对于具有特定pv值的牺牲单元,相邻单元中的一个具有八个可能的pv值中的一个,而另一个相邻单元也具有八个可能的pv值中的一个。因此,相邻单元的pv值总共存在8×8=64个可能的组合。当相邻单元具有某种模式时,牺牲单元的错误率将显著增大。例如,发明人已经确定,当牺牲单元具有值pv0(即,擦除状态或低编程状态)并且相邻单元具有值pv6或pv7(即,高编程状态)时,牺牲单元的错误率将显著增大。在图6中,最坏模式是pv7-pv0-pv7、pv6-pv0-pv7和pv7-pv0-pv6,这导致的错误率是由其它数据模式导致的错误率的10倍。换言之,当牺牲单元、上部相邻单元和下部相邻单元的pv状态模式是:牺牲单元处于擦除状态并且每一个相邻单元以高编程状态被编程时,相比其它模式,牺牲单元具有更高的读取错误率。因此,期望提供一种能够使用与牺牲单元相邻的相邻单元的数据模式或牺牲单元和相邻单元的数据模式来提高牺牲单元的错误恢复能力的方案。

图7是示出根据本发明的实施例的控制器的示图。例如,图7的控制器可描述图2所示的控制器100。控制器100和存储器装置200可执行图1和图2中描述的操作。

参照图7,控制器100可包括如图2所示的存储装置110、控制部件120、错误校正码(ecc)部件130、主机接口(i/f)140、存储器接口(i/f)150。进一步地,控制部件120可包括相邻辅助校正(nac)管理器700,存储装置110可包括nac缓冲器710,并且ecc部件130可包括编码器130a和解码器130b。

控制器100可通过主机接口140从主机接收命令,并且通过存储器接口150向存储器装置(例如,图2的存储器装置200)提供接收的命令。例如,控制器100接收写入命令和对应于写入命令的写入数据,并且控制存储器装置200对写入数据执行编程操作。又例如,控制器100接收读取命令,并且控制存储器装置200对与读取命令对应的数据执行读取操作。控制器100将对应于读取命令的读取数据传输到主机。

存储器装置200可包括nand型闪速存储器装置,该闪速存储器装置具有诸如单层单元(slc)、多层单元(mlc)、三层单元(tlc)或四层单元(qlc)的存储器单元。在各个实施例中,存储器装置200可包括具有qlc存储器单元(即,qlc)的nand型闪速存储器装置。

在编程操作期间,编码器130a可基于设置编码方案对写入数据执行编码操作。在读取操作期间,解码器130b可基于对应于编码方案的设置解码方案对读取数据执行解码操作。编码器130a和解码器130b可通过硬件、软件、固件或其任何适当的组合来实施。

nac管理器700可执行nac操作。nac操作可包括使用与牺牲单元相邻的相邻单元的数据来对牺牲单元的读取失败进行错误校正(或恢复)操作。存储装置110可包括用于存储相邻单元的数据的nac缓冲器710。在各个实施例中,nac管理器700可基于图8所示的流程来触发nac操作。在各个实施例中,nac管理器700可执行参照图9至图12描述的nac操作。

图8是示出根据本发明的实施例的读取错误恢复操作800的流程图。例如,图8的操作800可由图7所示的控制器100的控制部件120执行。

参照图8,在步骤810中,控制部件120可对存储器装置(例如,图2的存储器装置200)中的多个存储器单元之中的选择单元(即,牺牲单元)执行读取操作。在步骤820中,控制部件120可基于解码器130b的解码结果来确定是否发生了牺牲单元的读取失败。

当确定未发生牺牲单元的读取失败(步骤820,否)时,在步骤830中,控制部件120可将牺牲单元的读取数据传输到主机(例如,图1的主机装置5)。

当确定发生了牺牲单元的读取失败(步骤820,是)时,在步骤840中,控制部件120可确定与牺牲单元邻近的相邻单元的数据(即,相邻单元数据)是否存储在缓冲器(例如,图2的nac缓冲器710)中。当确定相邻单元数据存储在nac缓冲器710中(步骤840,是)时,控制部件120可进行到步骤850。在步骤850中,控制部件120可触发nac管理器(例如,图7的nac管理器700)以执行nac错误恢复操作。

对于单个读取方案,nac错误恢复操作几次读取相邻单元(或字线)(例如,对于tlc为3或6次读取,对于qlc为4或8次读取)。因此,由于恢复操作,可能会增大延迟。对于顺序读取方案,由于执行顺序读取的方式,所以相邻单元的数据可能已经存在于缓冲器中。如果确定相邻单元的数据已经存储在缓冲器中(步骤840),则可在不增大读取延迟的情况下执行nac错误恢复操作。

当确定相邻单元数据未存储在nac缓冲器710中(步骤840,否)时,在步骤860中,控制部件120可确定牺牲单元的数据的保持时间是否较高。如果保持时间大于给定的保持时间阈值,则将保持时间视为高保持时间。可选地,控制部件120可确定1→0错误是否较高。例如,对于如图4b所示的三层单元(tlc),1→0错误可表示当存储器单元的状态从电平pv0(即,擦除状态)改变为电平pv1(即,第一编程状态)时发生的错误。

当确定牺牲单元的数据的保持时间较高(步骤860,是)时,在步骤850中,控制部件120可触发nac管理器700以执行nac错误恢复操作。当确定牺牲单元的数据的保持时间不高(步骤860,否)时,在步骤870中,控制部件120可执行其它错误恢复操作。例如,其它错误恢复操作可包括当基于ldpc码的硬解码操作失败时的基于低密度奇偶校验(ldpc)码的软解码操作。又例如,其它错误恢复操作可包括当基于ldpc码的软解码操作失败时的芯片猎杀操作。

这样,每当存在读取失败时,基于步骤840和860的确定结果,来确定是否触发nac错误恢复操作。

图9是示出根据本发明的实施例的相邻辅助校正(nac)管理器的示图。例如,图9的nac管理器可描述图7中的控制部件120的nac管理器700。控制部件120可对存储器装置(例如,图2的存储器装置)的多个单元之中的选择单元(即,牺牲单元)执行读取。进一步地,当对牺牲单元的读取失败时,控制部件120可控制nac管理器700执行nac错误恢复操作。

参照图9,nac管理器700可包括对数似然比(llr)值生成器90和llr值调整器900。llr值调整器900可包括补偿值生成器910和调整部件920。llr值生成器90、补偿值生成器910和调整部件920可如图10和图11所示来实施。图10示出了针对包括三层单元(tlc)的存储器装置实施的nac管理器700的示例,同时图11示出了针对包括四层单元(qlc)的存储器装置实施的nac管理器700的示例。

llr值生成器90可生成牺牲单元的llr值。虽然图9示出了nac管理器700包括llr值生成器90,但llr值生成器90可实施为图7中的解码器130b的部件。如图10和图11所示,llr值生成器90可包括多路复用器(mux),用于基于牺牲单元的读取数据的硬判决结果来选择llr值“+3”或“-3”。

补偿值生成器910可接收牺牲单元的数据并且接收相邻单元的数据,其中牺牲单元的数据被称为牺牲单元数据或第一读取数据,相邻单元的数据被称为相邻单元数据或第二读取数据。在图10的示例中,牺牲单元数据可包括与牺牲单元的lsb页面、csb页面、msb页面相对应的3位数据,并且每一个相邻单元的相邻单元数据可包括与lsb页面、csb页面、msb页面相对应的3位数据。在图11的示例中,牺牲单元数据可包括与牺牲单元的lsb页面、lcsb页面、mcsb页面、msb页面相对应的4位数据,并且每一个相邻单元的相邻单元数据可包括与lsb页面、lcsb页面、mcsb页面、msb页面相对应的4位数据。相邻单元可以是上部相邻单元和下部相邻单元。

补偿值生成器910可基于牺牲单元数据和相邻单元数据的数据模式而生成补偿值。例如,数据模式可包括如图6所示的诸如以下的坏模式中的一种:pv7/pv0/pv7、pv6/pv0/pv7、pv7/pv0/pv6(其中pv0是与牺牲单元数据对应的电平,并且pv6和pv7是与相邻单元数据对应的电平)。

调整部件920可接收llr值,并且基于补偿值来对llr值进行调整以生成调整llr值。控制部件120可控制解码器130b使用调整llr值来对牺牲单元数据执行解码操作。换言之,控制部件120可使用调整llr值对牺牲单元数据执行nac错误恢复操作。

在各个实施例中,调整部件920可通过将llr值改变补偿值(例如,将补偿值与llr值相加)来生成调整llr值。对于上述的坏模式,调整部件920减小llr值。如果原始llr值是“+3”并且补偿值是“-2”,则调整llr值可以是“+1”。如果原始llr值是“+3”并且补偿值是“-4”,则调整llr值可以是“-1”。可选地,调整部件920通过翻转llr值来改变llr值的符号。例如,当原始llr值是“+3”时,通过翻转llr值的符号,调整llr值可以是“-3”。对于良性模式(例如,pv0/pv0/pv0),补偿值生成器910生成补偿值“0”以保持llr值不变。

在各个实施例中,调整部件920可通过将llr值乘以补偿值来改变llr值的大小以生成调整llr值。对于上述坏模式,调整部件920将llr值乘以补偿值以生成调整llr值。如果llr值是“+3”并且补偿值是0.7(即,小于1的数字),则调整llr值可以是“+2”,这是将(3*0.7)四舍五入到最接近的整数。换言之,对于坏模式,调整部件920削弱了llr值的置信度。对于良性模式,补偿值生成器910生成补偿值“1”以保持llr值不变。

虽然图10和图11的示例示出了llr值调整器900接收上部相邻单元和下部相邻单元两者的数据,但是llr值调整器900可接收上部相邻单元和下部相邻单元中的一个或另一个的数据。换言之,llr值调整器900可基于上部相邻单元和下部相邻单元中的一个的数据来确定对牺牲单元的数据的llr值的调整。

可选地,上述图9至图11的llr补偿或调整也可由与数据的每一个位连接的不满意校验的数量来控制(参见图10和图11)。例如,如果不满意校验的数量大于阈值,则llr值调整器900可调整llr值。可基于蒙特卡罗(montecarlo)模拟来确定这种阈值。在各个实施例中,llr值调整器900可基于不满意校验的数量来调谐对llr值进行调整的补偿量。例如,假设阈值是300并且原始llr值是“+3”。如果不满意校验的数量大于500(即,不满意校验的数量>500),则补偿值可以是“-3”,补偿llr是“0”。当不满意校验的数量小于500且大于300(即,500>不满意校验的数量>300)时,则补偿值是“-1”,补偿llr是“+2”。即使对于坏模式,如果其所有连接的校验都满意(即,不满意校验的数量小于阈值),则llr值调整器900可不调整牺牲单元的llr值。

图12是示出根据本发明的实施例的基于对数似然比(llr)值的调整操作的读取错误恢复操作1200的流程图。例如,图12的操作1200可由图7至图11所示的控制器100执行。

参照图12,在步骤1210中,控制器100可控制存储器装置200对牺牲单元执行读取操作。进一步地,控制器100可生成牺牲单元的读取数据的llr值。

在步骤1220中,控制器100可使用llr值来执行解码操作。例如,控制器100可使用llr值来执行低密度奇偶校验(ldpc)解码操作。

在步骤1230中,控制器100可确定解码操作是成功还是失败。如果确定解码操作成功(1230,是),则控制器100可进行到步骤1240。如果不成功(1230,否),则控制器100可进行到步骤1250。

在步骤1250中,控制器100可控制存储器装置200对与牺牲单元相邻的至少一个相邻单元执行读取操作。在步骤1260中,控制器100可调整牺牲单元的llr值以生成调整llr值。在各个实施例中,控制器100可基于牺牲单元数据(第一读取数据)和相邻单元数据(第二读取数据)的模式来生成补偿值,并基于该补偿值来调整llr值。可选地,控制器100可基于牺牲单元数据和相邻单元数据的模式以及与牺牲单元数据的位值连接的不满意校验的数量来生成补偿值。

在各个实施例中,控制器100可通过将补偿值与llr值相加来调整llr值。可选地,控制器100可通过将llr值乘以补偿值来调整llr值。

在步骤1270中,控制器100可使用调整llr值对牺牲单元数据执行解码操作。在步骤1280中,控制器100可确定步骤1270中的解码操作是成功还是失败。如果确定步骤1270中的解码操作成功(1280,是),则控制器100可进行到步骤1240。在步骤1240中,控制器100可将牺牲单元数据传输到主机(例如,图1的主机装置5)。

如果确定步骤1270中的解码操作未成功(1280,否),则控制器100可进行到步骤1290。在步骤1290中,控制器100可确定是否已经执行了最大次数的llr值的调整,其中该最大次数由最大迭代次数表示。如果确定未执行最大次数的llr值的调整,则控制器100可返回到步骤1260。如果确定已经执行了最大次数的llr值的调整,则控制器100可进行到步骤1295。

在步骤1295中,控制器100可执行一个或多个其它的错误恢复操作。例如,其它错误恢复操作可包括在基于低密度奇偶校验(ldpc)码的硬解码操作失败时执行的基于ldpc码的软解码操作,以及当基于ldpc码的软解码操作失败时执行的芯片猎杀操作。

如上所述,根据实施例的存储器系统提供了使用调整llr值的相邻辅助校正(nac)错误恢复方案。因此,nac错误恢复方案使用更准确的llr值,从而提高了错误校正能力。进一步地,基于在例如当数据的保持时间较高或相邻单元数据已经存储在缓冲器中时的确保nac真正有帮助的条件下,来触发nac错误恢复方案。因此,nac错误恢复方案减少了错误恢复延迟。

虽然为了清楚和理解的目的已经详细说明和描述了前述实施例,但是本发明不限于所提供的细节。正如本领域技术人员根据前述公开内容将理解的,存在许多实施本发明的可选方式。因此,所公开的实施例是说明性的,而非限制性的。本发明旨在涵盖落入权利要求范围内的所有修改和替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1