存储器系统和对从多个存储器基元读取的数据执行错误纠正的方法与流程

未命名 09-23 阅读:74 评论:0

存储器系统和对从多个存储器基元读取的数据执行错误纠正的方法
1.相关申请的交叉引用
2.本技术基于并要求2022年3月18日提交的日本专利申请2022-043995的优先权益,其全部内容通过引用并入本文中。
技术领域
3.本文所述的实施例一般地涉及存储器系统和对从多个存储器基元(memory cell)读取的数据执行错误纠正的方法。


背景技术:

4.包括半导体存储器装置和控制半导体存储器装置的存储器控制器的存储器系统是已知的。软判决解码(soft-decision decoding)已知是一种当从半导体存储器装置读取数据时的错误纠正方法。


技术实现要素:

5.实施例提供了具有增强的错误纠正能力的存储器系统和对从多个存储器基元读取的数据执行错误纠正的方法。
6.一般而言,根据一个实施例,该存储器系统包括:半导体存储器装置,其包括多个存储器基元,每个存储器基元被配置为根据其阈值电压以非易失性方式存储数据并被连接到字线;以及控制器,其被配置为:基于从所述多个存储器基元读取的硬位数据和软位数据,执行错误纠正;基于通过所述错误纠正而被纠正的数据,生成第一表;确定第一电压和第二电压之间的电压差,所述第一电压是在读取被纠正的所述数据时施加到所述字线的电压;以及基于所述电压差,纠正所述第一表。
附图说明
7.图1是示出包括根据第一实施例的存储器系统的信息处理系统的示例的框图。
8.图2是示出在根据第一实施例的存储器系统中设置的存储器控制器中的错误检查和纠正(ecc)电路的配置示例的框图。
9.图3是示出在根据第一实施例的存储器系统中设置的半导体存储器装置的配置示例的框图。
10.图4是示出在根据第一实施例的存储器系统中设置的半导体存储器装置中的存储器基元阵列的电路图。
11.图5是示出在根据第一实施例的存储器系统中设置的存储器基元晶体管的阈值电压分布与由存储器基元晶体管存储的数据之间的关系的示例的图。
12.图6是示出在根据第一实施例的存储器系统中设置的存储器基元晶体管的阈值电压分布、用于数据读取的电压以及读取的数据之间的关系的示例的图。
13.图7是示出根据第一实施例的用于软判决解码的处理的图。
14.图8是根据第一实施例的对数似然比(llr)表的概念图。
15.图9是示出根据第一实施例的信道矩阵的表。
16.图10a至图10e是示出根据第一实施例的移位值的生成处理的图。
17.图11a是示出根据第一实施例的动态llr估计(dle)表的纠正处理的第一示例的图。
18.图11b是示出根据第一实施例的dle表的纠正处理的第二示例的图。
19.图11c是示出根据第一实施例的dle表的纠正处理的第三示例的图。
20.图12是示出由在根据第一实施例的存储器系统中设置的存储器控制器执行的读取操作的流程图。
21.图13a和图13b是示出根据第一实施例的存储器系统的效果的图。
22.图14是示出包括根据第二实施例的存储器系统的信息处理系统的示例的框图。
23.图15是示出在根据第二实施例的存储器系统中设置的存储器控制器中的ecc电路的配置示例的框图。
24.图16是示出根据第二实施例的用于软判决解码的处理的图。
25.图17是示出根据第二实施例的dle表的第一纠正处理和第二纠正处理的图。
26.图18是示出由在根据第二实施例的存储器系统中设置的存储器控制器执行的读取操作的流程图。
27.图19是示出由在根据第二实施例的存储器系统中设置的存储器控制器执行的读取操作的流程图。
28.图20是根据第三实施例的llr模式表的概念图。
29.图21是示出根据第三实施例的dle表的纠正处理的图。
30.图22是示出根据第四实施例的dle表的纠正处理的图。
31.图23是示出由在根据第五实施例的存储器系统中设置的存储器控制器执行的读取操作的流程图。
32.图24是示出根据第五实施例的dle表中的llr的对称性的图。
具体实施方式
33.在下文中,将参考附图描述实施例。在描述中,所有附图中的共同部件被赋予共同的参考标号。
34.在以下示例中,功能块可以不相互区分。例如,某些功能可以由不同于所示的功能块的功能块执行。此外,所示的功能块可以被划分为进一步细分的功能子块。实施例不限于实现该功能的特定功能块。
35.此外,每个功能块可以由硬件和计算机软件中的任一者或两者的组合来实现。
36.[1]第一实施例
[0037]
将描述根据第一实施例的存储器系统。在下文中,作为半导体存储器装置,将描述包括nand型闪速存储器的存储器系统为例进行说明。
[0038]
[1-1]配置
[0039]
[1-1-1]存储器系统的配置
[0040]
将参考图1描述根据实施例的存储器系统的配置示例。图1是示出包括根据实施例的存储器系统的信息处理系统的示例的框图。
[0041]
信息处理系统包括存储器系统1和主机装置2。
[0042]
存储器系统1例如是固态驱动器(ssd)、通用闪速存储器(ufs)装置、通用串行总线(usb)存储器、多媒体卡(mmc)或卡。存储器系统1可连接到主机装置2。存储器系统1基于从主机装置2接收的请求信号或自发(或内部)处理请求来执行处理。
[0043]
主机装置2例如是个人计算机、服务器系统、移动装置、车载装置或数码相机。
[0044]
接下来,将描述存储器系统1的内部配置。
[0045]
存储器系统1包括存储器控制器10和半导体存储器装置30。半导体存储器装置30是诸如nand型闪速存储器之类的非易失性存储器。在下文中,半导体存储器装置30也被称为nand型闪速存储器30。
[0046]
存储器控制器10例如是片上系统(soc)。存储器控制器10通过主机总线连接到主机装置2。存储器控制器10通过主机总线从主机装置2接收请求信号。主机总线的类型取决于存储器系统1的类型。当存储器系统1是ssd时,例如串行连接scsi(sas)、串行ata(sata)或外围组件快速互连(pci或pcie)标准的接口用作主机总线。当存储器系统1是ufs装置时,m-phy标准的接口用作主机总线。当存储器系统1是usb存储器时,usb标准的接口用作主机总线。当存储器系统1是mmc时,嵌入式多媒体卡(emmc)标准的接口用作主机总线。当存储器系统1是卡时,标准的接口用作主机总线。
[0047]
存储器控制器10基于从主机装置2接收到的请求信号或自发处理请求,通过nand总线控制nand型闪速存储器30。nand总线根据nand接口标准执行信号的发送和接收。
[0048]
nand型闪速存储器30包括多个存储器基元晶体管。多个存储器基元晶体管中的每一个根据其阈值电压以非易失性方式存储数据。nand型闪速存储器30将从存储器控制器10接收到的数据以非易失性方式存储在多个存储器基元晶体管中。nand型闪速存储器30将从多个存储器基元晶体管读取的数据输出到存储器控制器10。
[0049]
接下来,将描述存储器控制器10的内部配置。
[0050]
存储器控制器10包括主机接口(i/f)电路11、处理器(中央处理单元(cpu))12、缓冲存储器13、错误检查和纠正(ecc)电路14、只读存储器(rom)15、随机存取存储器(ram)16、读取信息生成电路17和nand接口(i/f)电路18。
[0051]
主机接口电路11负责存储器控制器10与主机装置2之间的通信。主机接口电路11通过主机总线连接到主机装置2。
[0052]
处理器12是存储器控制器10的控制电路。处理器12通过执行存储在rom 15中的程序来控制存储器控制器10的整体操作。例如,当处理器12接收到来自主机装置2的写入请求时,处理器12基于该写入请求控制写入操作。这同样适用于读取操作和擦除操作。
[0053]
缓冲存储器13例如是静态随机存取存储器(sram)。缓冲存储器13暂时存储写入数据和读取数据。写入数据是要写入nand型闪速存储器30的数据。读取数据是从nand型闪速存储器30读取的数据。
[0054]
ecc电路14是执行ecc处理的电路。ecc处理包括数据的编码和解码。编码是基于在写入操作中从主机装置2接收的数据(在本文中称为用户数据)生成错误纠正码(在下文中
也称为“奇偶校验(parity)”)的操作。错误纠正码被添加到用户数据中。错误纠正码(ecc)在编码完成后添加到用户数据中。在下文中,在ecc电路14中,要解码的数据集合被表示为“ecc帧”。ecc帧包括用户数据和错误纠正码(ecc)。解码是基于在读取操作中从nand型闪速存储器30接收到的ecc帧来执行用户数据的错误纠正的操作。错误纠正码(ecc)用于检测和纠正错误。
[0055]
此外,写入操作和读取操作以下面要描述的页为单位进行。在本公开中,具有1页的数据长度的写入数据和读取数据也被称为“页数据”。页数据可以包括多个ecc帧。此外,页数据的数据长度和ecc帧的数据长度可以彼此相等。
[0056]
在该实施例中,读取操作包括硬位(hb)读取和软位(sb)读取。
[0057]
hb读取是使用与存储器基元晶体管的阈值电压分布的边界对应的一种读取电压(以下也称为“hb读取电压”)读取数据,并获取确定存储在存储器基元晶体管中的数据为“0”还是“1”的确定结果的处理。通过hb读取获取的页数据也称为“hb数据”。hb数据的每一位称为“硬位”。
[0058]
sb读取是使用以hb读取电压为基准设定的多个电压(以下也称为“sb读取电压”)读取数据,并获取对多条读取数据进行逻辑计算的计算结果的处理。当由硬判决解码电路20(稍后描述)执行的错误纠正不成功时,执行sb读取。通过sb读取获取的页数据也称为“sb数据”。sb数据的每一位称为“软位”。
[0059]
rom 15例如是电可擦除可编程只读存储器rom 15存储诸如固件的程序。
[0060]
ram 16例如是sram。ram 16用作处理器12的工作区。ram 16存储固件和用于管理nand型闪速存储器30的各种管理信息。ram 16例如存储对数似然比(llr)表和从默认hb读取电压(hb读取电压的初始值)偏移的读取电压的值vst(在下文中也仅表示为“移位值vst”)。在下文中,默认hb读取电压也将被称为“默认电压vdt”。
[0061]
llr表是其中读取数据和llr相互关联的表。llr是以对数比表示存储在存储器基元晶体管中的数据为“0”的概率和存储在存储器基元晶体管中的数据为“1”的概率的信息。稍后将描述llr表和移位值vst的细节。例如,在接通电源之后立即将llr表从nand型闪速存储器30加载到ram 16中。例如,当产生移位值vst时,移位值vst被写入到ram 16。请注意,移位值vst的初始值等于默认电压vdt。
[0062]
读取信息生成电路17是执行作为关于hb读取和sb读取的信息的动态llr估计(dle)表(本文中称为dle1表以区别于稍后介绍的另一dle表,dle2表)和移位值vst的生成处理的电路。dle1表是表示多个存储器基元晶体管的阈值电压的电压范围与llr之间的关系的表,且基于在软判决解码电路21(稍后描述)中纠正成功的数据生成。稍后将描述读取信息生成电路17的处理和dle1表的细节。
[0063]
nand接口电路18负责存储器控制器10与nand型闪速存储器30之间的通信。nand接口电路18通过nand总线连接到nand型闪速存储器30。例如,nand接口电路18控制存储器控制器10与nand型闪速存储器30之间的数据、命令和地址的传输。
[0064]
[1-1-2]ecc电路的配置
[0065]
将参考图2描述ecc电路14的内部配置。图2是示出ecc电路的配置示例的框图。
[0066]
ecc电路14包括编码电路19、硬判决解码电路20、软判决解码电路21、llr转换电路
22和信道矩阵生成电路23。
[0067]
编码电路19是执行编码处理的电路。编码电路19生成奇偶校验,奇偶校验例如包括硬判决奇偶校验和软判决奇偶校验。硬判决奇偶校验的一个示例是bose-chaudhuri-hocquenghem(bch)码和reed-solomon(rs)码。软判决奇偶校验的一个示例是低密度奇偶校验(ldpc)码。编码电路19将奇偶校验添加到用户数据中。
[0068]
硬判决解码电路20是执行硬判决解码的电路。硬判决解码电路20是使用硬判决奇偶校验执行错误纠正的电路。具体而言,硬判决解码电路20针对hb数据,使用每ecc帧的硬判决奇偶校验来检测用户数据的错误。当检测到错误时,硬判决解码电路20纠正用户数据的错误。在下文中,由硬判决解码电路20执行的错误纠正也将被称为“hb纠正”。
[0069]
软判决解码电路21是执行软判决解码的电路。软判决解码电路21是使用llr和软判决奇偶校验执行错误纠正的电路。具体而言,软判决解码电路21针对hb数据和sb数据,使用llr和每ecc帧的软判决奇偶校验来基于概率执行重复计算。软判决解码电路21基于重复计算的结果来纠正用户数据的错误。在下文中,由软判决解码电路21执行的错误纠正也将被称为“sb纠正”。llr由llr转换电路22生成。
[0070]
llr转换电路22是执行llr转换处理的电路。llr转换电路22使用llr表将硬位和软位的组合转换为每ecc帧的llr。
[0071]
信道矩阵生成电路23是执行信道矩阵的生成处理的电路。信道矩阵生成电路23使用硬位和软位的组合以及在软判决解码电路21中纠正成功的数据来生成每ecc帧的信道矩阵。在下文中,在软判决解码电路21中纠正成功的数据也被称为“已纠正数据(corrected data)”。信道矩阵是通过对硬位和软位每个组合的已纠正数据中的数据“0”的数量和数据“1”的数量进行计数而生成的。稍后将描述信道矩阵的细节。
[0072]
软判决解码电路21包括存储器24。存储器24例如是sram。存储器24存储从缓冲存储器13获取的hb数据和sb数据、通过llr转换电路22中的转换获取的llr、在软判决解码电路21中纠正的数据、以及由读取信息生成电路17生成的dle1表。
[0073]
稍后将描述ecc电路14的处理的细节。
[0074]
[1-1-3]nand型闪速存储器的配置
[0075]
将参考图3描述nand型闪速存储器30的配置。图3是示出nand型闪速存储器30的配置示例的框图。nand型闪速存储器30包括存储器基元阵列31、输入/输出电路32、逻辑控制电路33、就绪/忙控制电路34、寄存器35、定序器(sequencer)36、驱动器模块37、行解码器模块38和感测放大器(sense amplifier)模块39。
[0076]
存储器基元阵列31包括多个块blk0至blkn(n是1或更大的整数)。块blk例如是其中数据被共同擦除的一组多个存储器基元晶体管。例如,块blk用作数据擦除操作的单位。块blk包括多条字线。存储器基元晶体管能够以非易失性方式存储数据。在存储器基元阵列31中设置有多条位线和多条字线。每个存储器基元晶体管例如与一条位线和一条字线相关联。下面将描述存储器基元阵列31的细节。
[0077]
输入/输出电路32将输入/输出信号dq(例如,8位信号dq0至dq7)以及数据选通信号(data strobe signal)dqs和dqsn(信号dqs的反相信号)发送到存储器控制器10以及从存储器控制器10接收这些信号。信号dq包含在nand型闪速存储器30与存储器控制器10之间发送和接收的各种数据。信号dq例如包含命令cmd、地址add、状态信息sts和数据dat。信号
dqs和dqsn是用于控制信号dq的发送和接收定时的信号。例如,信号dqs和dqsn与在写入数据时包含写入数据的信号dq一起从存储器控制器10发送到nand型闪速存储器30。nand型闪速存储器30接收与信号dqs和dqsn同步的包含写入数据的信号dq。此外,信号dqs和dqsn与在读取数据时包含读取数据的信号dq一起从nand型闪速存储器30发送到存储器控制器10。存储器控制器10接收与信号dqs和dqsn同步的包含读取数据的信号dq。此外,输入/输出电路32可以通过逻辑控制电路33从存储器控制器10接收信号dqs和dqsn。
[0078]
此外,输入/输出电路32将信号dq中的命令cmd发送到命令寄存器35a。输入/输出电路32将信号dq中的地址add发送到地址寄存器35b。输入/输出电路32从状态寄存器35c接收状态信息sts。输入/输出电路32将信号dq中的数据dat发送到感测放大器模块39和从感测放大器模块39接收数据dat。
[0079]
逻辑控制电路33从存储器控制器10接收芯片使能信号cen、命令锁存使能信号cle、地址锁存使能信号ale、写入使能信号wen和读取使能信号ren。信号cen是用于启用nand型闪速存储器储器30的信号。信号cle是指示(indicate)nand型闪速存储器储器30接收到的信号dq是命令cmd的信号。信号ale是指示nand型闪速存储器30接收到的信号dq是地址add的信号。信号wen是用于命令将信号dq输入到nand型闪速存储器30的信号。信号ren是用于命令将信号dq输出到nand型闪速存储器30的信号。nand型闪速存储器30基于信号ren生成信号dqs和dqsn。nand型闪速存储器30基于生成的信号dqs和dqsn将信号dq输出到存储器控制器10。逻辑控制电路33基于接收到的信号控制输入/输出电路32和定序器36。
[0080]
就绪/忙控制电路34基于定序器36的操作情况将就绪/忙信号rbn发送到存储器控制器10。信号rbn是指示nand型闪速存储器30处于就绪状态和忙状态中的哪个状态的信号。当nand型闪速存储器30例如处于忙状态时,信号rbn变为“低”电平。就绪状态是其中nand型闪速存储器30能够接收来自存储器控制器10的命令的状态。忙状态是其中nand型闪速存储器30不能接收来自存储器控制器10的命令的状态。
[0081]
寄存器35包括命令寄存器35a、地址寄存器35b和状态寄存器35c。
[0082]
命令寄存器35a存储命令cmd。命令cmd例如包括指令(instruct)定序器36执行读取操作、写入操作和擦除操作的命令。
[0083]
地址寄存器35b存储地址add。地址add例如包括块地址bad、页地址pad和列地址cad。块地址bad、页地址pad和列地址cad分别用于选择例如块blk、字线和位线。
[0084]
状态寄存器35c例如在读取操作、写入操作和擦除操作中暂时存储状态信息sts。状态信息sts用于通知存储器控制器10操作是否正常结束。
[0085]
定序器36控制nand型闪速存储器30的整体操作。例如,定序器36基于存储在命令寄存器35a中的命令cmd控制就绪/忙控制电路34、驱动器模块37、行解码器模块38和感测放大器模块39。例如,定序器36执行读取操作、写入操作和擦除操作。
[0086]
驱动器模块37生成用于读取操作、写入操作和擦除操作的电压。驱动器模块37基于存储在地址寄存器35b中的页地址pad来将生成的电压施加到与选定字线对应的信号线。
[0087]
行解码器模块38基于存储在地址寄存器35b中的块地址bad来选择存储器基元阵列31中的一个块blk。行解码器模块38发送施加到与选定块blk中的选定字线对应的信号线的电压。
[0088]
感测放大器模块39基于在写入操作中从输入/输出电路32接收的写入数据dat来
向位线施加电压。此外,感测放大器模块39基于读取操作中的位线电压来确定存储在存储器基元晶体管中的数据。感测放大器模块39将确定结果作为读取数据dat发送到输入/输出电路32。
[0089]
[1-1-4]存储器基元阵列的电路配置
[0090]
将参考图4描述存储器基元阵列31的电路配置。图4是存储器基元阵列31的电路图。图4示出了在存储器基元阵列31中设置的多个块blk中的一个块blk的电路配置作为存储器基元阵列31的电路配置示例。另一块blk也具有图4所示的配置。
[0091]
块blk例如包括四个串单元(string unit)su0至su3。每个串单元su例如是在写入操作或读取操作中共同选择的一组多个nand串ns。每个串单元su包括分别与位线bl0至blm(m是1或更大的整数)相关联的多个nand串ns。nand串ns是串联连接的一组多个存储器基元晶体管。每个nand串ns例如包括存储器基元晶体管mc0至mc7以及选择晶体管st1和st2。存储器基元晶体管mc以非易失性方式存储数据。存储器基元晶体管mc包括控制栅极和电荷累积层。选择晶体管st1和st2是切换元件。选择晶体管st1和st2中的每一者用于在各种操作中选择串单元su。
[0092]
在每个nand串ns中,存储器基元晶体管mc0至mc7串联连接。选择晶体管st1的漏极连接到对应的位线bl。选择晶体管st1的源极连接到串联连接的存储器基元晶体管mc0至mc7中的每一者的一端。选择晶体管st2的漏极连接到串联连接的存储器基元晶体管mc0至mc7中的每一者的另一端。选择晶体管st2的源极连接到源极线sl。
[0093]
同一块blk中的存储器基元晶体管mc0至mc7的控制栅极分别共同连接到字线wl0至wl7。串单元su0至su3中的选择晶体管st1的栅极分别共同连接到选择栅极线sgd0至sgd3。设置在同一块blk中的选择晶体管st2的栅极共同连接到选择栅极线sgs。
[0094]
在上述存储器基元阵列31的电路配置中,位线bl由例如被分配相同列地址cad的每个串单元su中的nand串ns共用。源极线sl例如由多个块blk共用。
[0095]
一个串单元su中连接到公共字线wl的一组多个存储器基元晶体管mc例如被称为基元单元cu。基元单元cu也被称为页。存储在包括多个存储器基元晶体管mc(每个存储器基元晶体管根据阈值电压而存储1位数据)的基元单元cu中的数据相当于1页数据。基元单元cu可以基于由基元单元cu中的每个存储器基元晶体管mc存储的数据的位数来存储两页或更多页的数据。
[0096]
请注意,存储器基元阵列31的电路配置不限于上述配置。例如,每个块blk中设置的串单元su的数量、每个nand串ns中设置的存储器基元晶体管mc的数量以及选择晶体管st1和st2的数量中的每一者可以是任意数量。在下文中,存储器基元晶体管mc也被称为存储器基元mc。
[0097]
[1-1-5]存储器基元的阈值电压分布
[0098]
将参考图5描述存储器基元mc的阈值电压分布。图5是示出存储器基元mc的阈值电压分布与由存储器基元mc存储的数据之间的关系的示例的图。图5的横轴指示存储器基元mc的阈值电压。图5的纵轴指示存储器基元mc的数量。
[0099]
每个存储器基元mc能够基于阈值电压存储例如1位数据。在这种情况下,存储器基元mc的阈值电压取包括在两个阈值电压分布之一中的值。例如,数据“1”被分配给具有较低阈值电压的一个阈值电压分布。数据“0”被分配给另一阈值电压分布。数据“1”对应于其中
从存储器基元mc的电荷累积层去除电荷的状态的阈值电压。对应于数据“1”的多个存储器基元mc的阈值电压分布被称为“er”状态。对应于“er”状态的存储器基元mc的阈值电压具有正值或负值。数据“0”对应于其中电荷被累积在存储器基元mc的电荷累积层中的状态的阈值电压。对应于数据“0”的多个存储器基元mc的阈值电压分布被称为“a”状态。对应于“a”状态的存储器基元mc的阈值电压高于对应于“er”状态的存储器基元mc的阈值电压。用于确定存储器基元mc的阈值电压是否为“a”状态的读取电压被设定为电压ar(0)。例如,“er”状态的存储器基元mc的阈值电压低于电压ar(0)。例如,“a”状态的存储器基元mc的阈值电压等于或高于电压ar(0)。
[0100]
例如,定序器36通过将电压ar(0)设定为hb读取电压来执行hb读取。如图5所示,当“er”状态的阈值电压分布和“a”状态的阈值电压分布彼此不重叠时,存储器控制器10可以确定某个存储器基元mc的阈值电压属于与写入时的阈值电压分布相同的阈值电压分布,作为结果,存储器控制器10成功地硬判决解码。
[0101]
然而,如图6所示,由于对存储器基元mc的各种影响,“er”状态的阈值电压分布和“a”状态的阈值电压分布可能彼此重叠。在这种情况下,即使当定序器36通过将电压ar(0)设定为hb读取电压来执行hb读取时,也可能在存储器控制器10无法确定某个存储器基元mc的阈值电压属于与写入时的阈值电压分布相同的阈值电压分布的hb读取期间检测到失败位。当失败位的数目超过错误可纠正数目时,存储器控制器10在硬判决解码中失败。当硬判决解码不成功时,执行sb读取。
[0102]
如图6所示,定序器36使用多个sb读取电压(这里为电压ar(-3)、ar(-2)、ar(-1)、ar(+1)、ar(+2)和ar(+3))执行sb读取。如图6所示,电压dr表示电压的偏移量。电压ar(-1)比电压ar(0)低了电压dr。电压ar(-2)比电压ar(-1)低了电压dr。电压ar(-3)比电压ar(-2)低了电压dr。电压ar(+1)比电压ar(0)高了电压dr。电压ar(+2)比电压ar(+1)高了电压dr。电压ar(+3)比电压ar(+2)高了电压dr。
[0103]
hb读取电压和sb读取电压的初始值可以基于设计和制造条件而被预先设定。hb读取电压和sb读取电压的初始值例如存储在nand型闪速存储器30中。例如,在接通电源之后立即将hb读取电压和sb读取电压的初始值从nand型闪速存储器30加载到ram 16中。请注意,在hb读取电压的低电压侧和高电压侧的每一者处,sb读取电压的数量不限于三个。
[0104]
在图6的示例中,存储器基元mc的阈值电压通过hb读取电压(ar(0))和六个sb读取电压(ar(-3)至ar(-1)以及ar(+1)至ar(+3))被划分并分类为八个分区(division)。具体而言,分区d1的阈值电压低于电压ar(-3)。分区d2的阈值电压等于或高于电压ar(-3)且低于电压ar(-2)。分区d3的阈值电压等于或高于电压ar(-2)且低于电压ar(-1)。分区d4的阈值电压等于或高于电压ar(-1)且低于电压ar(0)。分区d5的阈值电压等于或高于电压ar(0)且低于电压ar(+1)。分区d6的阈值电压等于或高于电压ar(+1)且低于电压ar(+2)。分区d7的阈值电压等于或高于电压ar(+2)且低于电压ar(+3)。分区d8的阈值电压等于或高于电压ar(+3)。
[0105]
在图6中,“hb”表示硬位根据存储器基元mc的阈值电压所取的值。硬位通过例如使用电压ar(0)确定在hb读取中从存储器基元mc读取的数据来获取。当存储器基元mc的阈值电压处于分区d1至d4中时,硬位的值为“1”。当存储器基元mc的阈值电压处于分区d5至d8中时,硬位的值为“0”。
[0106]
在图6中,“sb1”表示第一软位。例如,第一软位通过分别使用电压ar(-2)和ar(+2)对从存储器基元mc读取的多条数据执行enor(exclusive nor,“同”)运算来生成。当存储器基元mc的阈值电压处于分区d1和d2中时,第一软位的值为“1”。当存储器基元mc的阈值电压处于分区d3至d6中时,第一软位的值为“0”。当存储器基元mc的阈值电压处于分区d7和d8中时,第一软位的值为“1”。
[0107]
在图6中,“sb2”表示第二软位。第二软位例如分别使用电压ar(-3)、ar(-1)、ar(+1)和ar(+3)对从存储器基元mc读取的多条数据执行enor运算来生成。当存储器基元mc的阈值电压处于分区d1中时,第二软位的值为“1”。当存储器基元mc的阈值电压处于分区d2和d3中时,第二软位的值为“0”。当存储器基元mc的阈值电压处于分区d4和d5中时,第二软位的值为“1”。当存储器基元mc的阈值电压处于分区d6和d7中时,第二软位的值为“0”。当存储器基元mc的阈值电压处于分区d8中时,第二软位的值为“1”。
[0108]
请注意,在sb读取中用于生成第一软位和第二软位的多个电压的组合不限于上述组合。
[0109]
分区d1至d8中的每一者包括对应于硬位的1位、对应于第一软位的1位以及对应于第二软位的1位。在图6的示例中,对应于分区d1至d8的索引分别被设定为0至7。分别与索引0至7对应的电压范围内的阈值电压按照索引0、1、2、3、4、5、6、7的升序排列。
[0110]
[1-1-6]软判决解码的处理
[0111]
将参考图7描述用于软判决解码的处理。图7是示出软判决解码的处理的图。
[0112]
[1-1-6-1]ecc电路的处理
[0113]
首先,将描述ecc电路14的处理。
[0114]
缓冲存储器13存储hb数据、sb1数据和sb2数据。sb1数据包括用于一页的第一软位。sb2数据包括用于一页的第二软位。ram 16存储多个llr表(例如,tbl1、tbl2和tbl3)。llr表tbl1、tbl2、tbl3是在考虑了存储器基元mc的阈值电压因各种影响而变动的情况下设定的llr表。在llr表tbl1、tbl2和tbl3中,与硬位、第一软位和第二软位的组合对应的llr彼此不同。llr转换电路22按(per)ecc帧从缓冲存储器13接收hb数据、sb1数据和sb2数据中的每一者。llr转换电路22选择存储在ram 16中的多个llr表中的任一个。llr转换电路22使用选定的llr表,按ecc帧将硬位、第一软位和第二软位的组合转换为llr。llr转换电路22将llr发送到软判决解码电路21。
[0115]
将参考图8描述llr表。图8是llr表的概念图。
[0116]
llr表存储指示硬位、第一软位和第二软位的组合的每个索引的llr。llr随着存储在存储器基元mc中的数据为“0”的概率增加而取更大的值(正值)。llr随着存储在存储器基元mc中的数据为“1”的概率增加而取更小的值(负值)。
[0117]
如上面参考图6所描述的,例如,当某个存储器基元mc的阈值电压处于分区d1中时,从该存储器基元mc读取的硬位、第一软位和第二软位的值分别为“1”、“1”和“1”。如上所述,具有分区d1中的阈值电压的存储器基元mc的索引为0,并且该存储器基元mc的llr值为-9。此外,当某个存储器基元mc的阈值电压处于分区d5中时,从该存储器基元mc读取的硬位、第一软位和第二软位的值分别为“0”、“0”、和“1”。如上所述,具有分区d5中的阈值电压的存储器基元mc的索引为4,并且该存储器基元mc的llr的值为+1。图8的llr的值只是一个例子。
[0118]
返回参考图7进行描述。软判决解码电路21接收来自llr转换电路22的llr。软判决
解码电路21将llr存储在存储器24中。软判决解码电路21按ecc帧接收来自缓冲存储器13的hb数据、sb1数据和sb2数据。软判决解码电路21将hb数据、sb1数据和sb2数据存储在存储器24中。软判决解码电路21使用llr、hb数据、sb1数据和sb2数据之中的软判决奇偶校验来执行用户数据的错误纠正。软判决解码电路21将已纠正数据存储在存储器24中。软判决解码电路21将已纠正数据发送到信道矩阵生成电路23。
[0119]
信道矩阵生成电路23按ecc帧从缓冲存储器13接收hb数据、sb1数据和sb2数据。信道矩阵生成电路23从存储器24接收已纠正数据。信道矩阵生成电路23基于hb数据、sb1数据和sb2数据获取索引。信道矩阵生成电路23按每个索引对已纠正数据中的数据“0”和数据“1”的数量dlecnt进行计数,以生成信道矩阵。信道矩阵生成电路23将生成的信道矩阵发送到读取信息生成电路17。
[0120]
将参考图9描述信道矩阵。图9是示出信道矩阵的一个示例的表。
[0121]
在图9的示例中,信道矩阵的大小为两行八列。行指示已纠正数据中的数据“0”和数据“1”的数量dlecnt。这里,num1[0]至num1[7]表示数据“1”的数量。同样地,num0[0]至num0[7]表示数据“0”的数量。列表示索引。
[0122]
例如,当已纠正数据中的任意位的值为“1”且对应于该位的索引为0时,第一行第一列的元素num1[0]增加1。即,num1[0]表示具有分区d1中的阈值电压且存储数据“1”的存储器基元mc的数量。例如,当已纠正数据中的任意位的值为“0”且对应于该位的索引为0时,第二行第一列的元素num0[0]增加1。即,num0[0]表示具有分区d1中的阈值电压且存储数据“0”的存储器基元mc的数量。
[0123]
类似地,当已纠正数据中的任意位的值为“1”且对应于该位的索引为4时,第一行第五列的元素num1[4]增加1,即,num1[4]表示具有分区d5中的阈值电压且存储数据“1”的存储器基元mc的数量。此外,当已纠正数据中的任意位的值为“0”且对应于该位的索引为4时,第二行第五列的元素num0[4]增加1。即,num0[4]表示具有分区d5中的阈值电压且存储数据“0”的存储器基元mc的数量。
[0124]
[1-1-6-2]读取信息生成电路的处理
[0125]
接下来,将描述读取信息生成电路17的处理。
[0126]
返回参考图7进行描述。读取信息生成电路17从信道矩阵生成电路23接收信道矩阵。
[0127]
(dle1表生成处理)
[0128]
读取信息生成电路17通过使用信道矩阵针对每个索引统计地计算位的似然比(具体地,llr)来生成dle1表。具体而言,在以下等式(1)中针对每个索引计算llr[idx]。
[0129][0130]
将等式(1)转换为下面的等式(2)。
[0131]
[0132]
在上面的等式中,“idx”表示索引的值;“s”表示大于等于0且小于等于t的整数;并且“t”表示通过从索引数中减去1获得的值。计算出的llr例如在其绝对值小于等于9的整数处饱和。即,当计算出的llr小于-9时,llr变为-9。当计算出的llr大于9时,llr变为+9。
[0133]
(移位值生成处理)
[0134]
将参考图10a至图10e描述移位值vst的生成处理。图10a是示出移位值vst的生成处理的图。图10b至图10e是示出存储器基元mc的阈值电压分布与信道矩阵之间的关系的图。
[0135]
读取信息生成电路17使用信道矩阵来生成移位值vst。具体而言,读取信息生成电路17针对信道矩阵的每个索引使用数据“1”的数量dlecnt(num1[0]至num1[7])和数据“0”的数量dlecnt(num0[0]至num0[7])。例如,由图10b的阴影线指示的区域对应于数量dlecnt(num1[2]),该数量dlecnt(num1[2])指示在多个存储器基元mc当中,被包括在与索引2对应的电压范围中且存储已纠正数据(即,错误纠正成功的数据)中的“1”的存储器基元mc的数量。由图10c的阴影线指示的区域对应于数量dlecnt(num0[2]),该数量dlecnt(num0[2])指示在多个存储器基元mc当中,被包括在与索引2对应的电压范围中且存储已纠正数据中的“0”的存储器基元mc的数量。由图10d的对角阴影线围绕的区域对应于数量dlecnt(num1[3]),该数量dlecnt(num1[3])指示在多个存储器基元mc当中,被包括在与索引3对应的电压范围中且存储已纠正数据中的“1”的存储器基元mc的数量。由图10e的阴影线指示的区域对应于数量dlecnt(num0[3]),该数量dlecnt(num0[3])指示在多个存储器基元mc当中,被包括在与索引3对应的电压范围中且存储已纠正数据中的“0”的存储器基元mc的数量。
[0136]
读取信息生成电路17从信道矩阵的第一列开始依次比较数据“1”的数量dlecnt和数据“0”的数量dlecnt。读取信息生成电路17检测其中数据“1”的数量dlecnt和数据“0”的数量dlecnt的大小翻转(flip)的列。如图10b和图10c所示,在与索引2(分区d3)对应的信道矩阵的第三列中,数据“1”的数量(num1[2])大于数据“0”的数量(num0[2])。如图10d和图10e所示,在与索引3(分区d4)对应的信道矩阵的第四列中,数据“0”的数量(num0[3])大于数据“1”的数量(num1[3])。数据“1”的数量和数据“0”的数量的大小在其中存储器基元mc的两个阈值电压分布重叠的相交处(intersection)的电压边界上翻转。换言之,估计其中存储器基元mc的两个阈值电压分布重叠的相交处对应于其中数据“1”的数量和数据“0”的数量的大小翻转的点。相应地,在信道矩阵中,检测其中数据“1”的数量和数据“0”的数量的大小翻转的列,以获取错误位数相对较少的位置,即,其中存储器基元mc的两个阈值电压分布重叠的相交处。
[0137]
因此,寻找其中两个阈值电压分布重叠的相交处被称为“跟踪”。读取信息生成电路17获取在其中大小翻转的列与对应于一分区(在该分区中,阈值电压比该列低了电压dr)的列之间设定的电压(通过跟踪获取的电压)。作为在默认电压vdt上加上或减去通过跟踪获取的电压(以下也称为“跟踪电压vtr”)与默认电压vdt之间的差分电压的结果,读取信息生成电路17生成移位值vst。
[0138]
在图10a所示的示例中,如上所述,具有对应于索引2(分区d3)的阈值电压且存储数据“1”的存储器基元mc的数量(num1[2])大于具有对应于索引2的阈值电压且存储数据“0”的存储器基元mc的数量(num0[2])。此外,具有对应于索引3(分区d4)的阈值电压且存储数据“1”的存储器基元mc的数量(num1[3])小于具有对应于索引3的阈值电压且存储数据“0”的存储器基元mc的数量(num0[3])。即,在图10a所示的示例中,dlecnt的大小在信道矩阵的第三列和第四列(即,sb读取电压ar(-1)的左右)之间翻转。估计存储器基元mc的两个阈值电压分布重叠的相交处从hb读取电压ar(0)偏移到1
×
dr低电压侧。在这种情况下,读取信息生成电路17至少基于索引2的数据“1”的数量(num1[2])和索引2的数据“0”的数量(num0[2])来计算跟踪电压vtr(两个阈值电压分布重叠的相交处的电压)。此外,读取信息生成电路17进一步基于索引3的数据“1”的数量(num1[3])和索引3的数据“0”的数量(num0[3])来计算跟踪电压vtr。例如,当对应于索引2的电压范围内的任何电压低于对应于索引3的电压范围内的任何电压时,读取信息生成电路17根据num1[2]大于num0[2]且num1[3]小于num0[3],从对应于索引2的电压范围与对应于索引3的电压范围之间的电压范围计算跟踪电压vtr(例如,电压ar(-1))。此外,读取信息生成电路17生成在默认电压vdt上加上或减去跟踪电压vtr(电压ar(-1))与默认电压vdt之间的差分电压(图10a的示例中,vdif1)的结果作为移位值vst。
[0139]
此外,例如,当dlecnt的大小在hb读取电压ar(0)的左右列之间翻转时,读取信息生成电路17生成在默认电压vdt上加上或减去电压ar(0)与默认电压vdt之间的差分电压(图10a的示例中,vdif2)的结果作为移位值vst。当dlecnt的大小在sb读取电压ar(+2)的左右列之间翻转时,读取信息生成电路17生成在默认电压vdt上加上或减去电压ar(+2)与默认电压vdt之间的差分电压(图10a的示例中,vdif3)的结果作为移位值vst。
[0140]
请注意,如从等式(1)或(2)所理解的,当在具有对应于任何索引idx的阈值电压的存储器基元mc当中存储数据“1”的存储器基元mc的数量大于存储数据“0”的存储器基元mc的数量时(即,当num1[idx]》num0[idx]时),对应于该索引idx的llr[idx]的符号变为负的。同时,当在具有对应于任何索引idx的阈值电压的存储器基元mc当中存储数据“1”的存储器基元mc的数量小于存储数据“0”的存储器基元mc的数量时(即,当num1[idx]<num0[idx]时),对应于该索引idx的llr[idx]的符号变为正的。即,其中dlecnt的大小在信道矩阵中翻转的索引和其中llr的符号在dle1表中翻转的索引彼此相同。
[0141]
(dle1表纠正处理)
[0142]
将参考图11a至图11c描述dle1表的纠正处理。图11a至图11c是示出dle1表的纠正处理的图。图11a示出了其中存储器基元mc的两个阈值电压分布的相交处(即,跟踪电压vtr)是电压ar(-1)的情况的示例。
[0143]
如图11a所示,dle1表包括对应于分别与索引0至7对应的电压范围的llr。在下文中,对应于分别与索引0至7对应的电压范围的llr也分别称为“索引0的llr”、“索引1的llr”、
……
、“索引7的llr”。例如,在生成dle1表之后,索引2的llr为-1。索引3的llr为+1。
[0144]
读取信息生成电路17获取其sb纠正成功的hb读取电压(即,当获取其sb纠正成功的数据时施加到字线的电压(这里,假设为电压ar(0))与跟踪电压vtr(这里,假设为电压ar(-1))之间的电压差。读取信息生成电路17基于获取的电压差来纠正dle1表。
[0145]
具体而言,读取信息生成电路17基于获取的电压差来对dle1表的每个llr进行移位。在图11a中,读取信息生成电路17将dle1表的索引0至5的相应llr向右移1位。将索引0的llr(=-5)移位到索引1。将索引1的llr(=-3)移位到索引2。将索引2的llr(=-1)移位到索引3。即,当其sb纠正成功的hb读取电压大于跟踪电压vtr时,读取信息生成电路17将纠正前存储在dle1表的索引2中的llr(=-1)存储为纠正后的dle1表的索引3的llr。将索引3的llr
(=+1)移位到索引4。将索引4的llr(=+3)移位到索引5。将索引5的llr(=+5)移位到索引6。由于索引7的llr(=+9)将被替换为将在下面描述的积分值,因此索引7的llr被删除一次。此时,由于llr的移位,在索引0和7中不包括llr。
[0146]
读取信息生成电路17使用等式(1),基于信道矩阵的多个索引的dlecnt来计算索引7的llr(在下文中也称为“积分值”)。在图11a所示的示例的情况下,读取信息生成电路17将信道矩阵的索引6的“0”的数量(num0[6])与索引7的“0”的数量(num0[7])之和代入等式(1)的num0[idx]中。读取信息生成电路17将信道矩阵的索引6的“1”的数量(num1[6])与索引7的“1”的数量(num1[7])之和代入等式(1)的num1[idx]。即,读取信息生成电路17基于num0[6]和num0[7]以及num1[6]和num1[7]来计算积分值。当使用等式(1)计算的值大于+9时,读取信息生成电路17将+9设定为积分值。这里,假设读取信息生成电路17计算出+9作为积分值。读取信息生成电路17将计算出的+9设定为dle1表的索引7的llr。
[0147]
读取信息生成电路17将通过使积分值(索引7的llr)的符号反转而获取的值(=-9)设定为dle1表的索引0的llr。作为结果,dle1表的纠正处理完成。
[0148]
图11b示出了在获取其sb纠正成功的数据时施加到字线的电压是电压ar(0)并且存储器基元mc的两个阈值电压分布的相交处为电压ar(-2)的情况的示例。
[0149]
在图11b中,读取信息生成电路17将dle1表的索引0到4的相应llr向右移2位。将索引0的llr(=-3)移位到索引2。将索引1的llr(=-1)移位到索引3。将索引2的llr(=+1)移位到索引4。将索引3的llr(=+3)移位到索引5。将索引4的llr(=+5)移位到索引6。由于索引7的llr(=+9)将被替换为积分值,因此索引7的llr被删除一次。此时,由于llr的移位,在索引0、1和7中不包括llr。
[0150]
读取信息生成电路17使用等式(1),基于信道矩阵的索引5至7的三个dlecnt来计算积分值。在图11b所示的示例的情况下,读取信息生成电路17将信道矩阵的索引5的“0”的数量(num0[5])、索引6的“0”的数量(num0[6])与索引7的“0”的数量(num0[7])之和代入等式(1)的num0[idx]中。读取信息生成电路17将信道矩阵的索引5的“1”的数量(num1[5])、索引6的“1”的数量(num1[6])与索引7的“1”的数量num1[7])之和代入等式(1)的num1[idx]中。这里,假设读取信息生成电路17计算出+9作为积分值。读取信息生成电路17将计算出的+9设定为dle1表的索引7的llr。读取信息生成电路17将通过使积分值(索引7的llr)的符号反转而获取的值(=-9)设定为dle1表的索引0的llr。读取信息生成电路17将通过使dle1表的索引6的llr(=+5)的符号反转而获取的值(=-5)设定为dle1表的索引1的llr。
[0151]
sb读取电压的数量由(k
×
2)表示(k是大于等于1的整数),并且信道矩阵和dle1表的索引用大于等于0且小于等于((k
×
2)+1)的整数表示。当存储器基元mc的两个阈值电压分布的相交处是电压ar(-j)而不是其sb纠正成功的hb读取电压(j为大于等于1且小于等于k的整数)时,读取信息生成电路17将dle1表的索引0至((k
×
2)-j)的llr向右移j位。读取信息生成电路17基于信道矩阵的索引((k
×
2)-j+1)至((k
×
2)+1)中包括的(j+1)个dlecnt来计算积分值。读取信息生成电路17将计算出的积分值设定为dle1表的索引((k
×
2)+1)的llr。读取信息生成电路17将通过使dle1表的索引((k
×
2)+1)至((k
×
2)+1-(j-1))的llr的符号反转而获取的值设定为dle1表的索引0至(j-1)的llr。
[0152]
图11c示出了在获取其sb纠正成功的数据时施加到字线的电压是电压ar(0)并且存储器基元mc的两个阈值电压分布的相交处为电压ar(+1)的情况的示例。
[0153]
如图11c所示,在生成dle1表之后,例如,索引2的llr为-5。索引3的llr为-3。
[0154]
在图11c中,读取信息生成电路17将dle1表的索引2至7的相应llr向左移1位。将索引7的llr(=+5)移位到索引6。将索引6的llr(=+3)移位到索引5。将索引5的llr(=+1)移位到索引4。将索引4的llr(=-1)移位到索引3。将索引3的llr(=-3)移位到索引2。即,当其sb纠正成功的hb读取电压小于跟踪电压vtr时,读取信息生成电路17将纠正前存储在dle1表的索引3中的llr(=-3)存储为纠正后的dle1表的索引2的llr。将索引2的llr(=-5)移位到索引1。由于索引0的llr(=-9)将被替换为积分值,因此索引7的llr被删除一次。此时,由于llr的移位,在索引0和7中不包括llr。
[0155]
读取信息生成电路17使用等式(1),基于信道矩阵的索引0至1的两个dlecnt来计算积分值。在图11c所示的示例的情况下,读取信息生成电路17将信道矩阵的索引0的“0”的数量(num0[0])与索引1的“0”的数量(num0[1])之和代入等式(1)的num0[idx]中。读取信息生成电路17将信道矩阵的索引0的“1”的数量(num1[0])与索引1的“1”的数量(num1[1])之和代入等式(1)的num1[idx]中。当使用等式(1)计算出的值小于-9时,读取信息生成电路17将-9设定为积分值。这里,假设读取信息生成电路17计算出-9作为积分值。读取信息生成电路17将计算出的-9设定为dle1表的索引0的llr。读取信息生成电路17将通过使积分值(索引0的llr)的符号反转而获取的值(=+9)设定为dle1表的索引7的llr。
[0156]
这样,当存储器基元mc的两个阈值电压分布的相交处是电压ar(+j)而不是其sb纠正成功的hb读取电压时,读取信息生成电路17将dle1表的索引(j+1)至((k
×
2)+1)的llr向左移j位。读取信息生成电路17基于包括在信道矩阵的索引0至j中的(j+1)个dlecnt来计算积分值。读取信息生成电路17将计算出的积分值设定为dle1表的索引0的llr。读取信息生成电路17将通过使dle1表的索引0至(j-1)的llr的符号反转而获取的值设定为dle1表的索引((k
×
2)+1)至((k
×
2)+1-(j-1))的llr。
[0157]
返回参考图7进行描述。读取信息生成电路17将通过移位值生成处理生成的移位值vst发送到ram 16。当同一块blk中的下一页的读取操作被执行时,移位值vst被应用到hb读取电压。在同一块blk中的下一页的读取操作中,存储器控制器10使用应用了移位值vst的hb读取电压来执行hb读取。存储器控制器10基于应用了移位值vst的hb读取电压,使用多个sb读取电压来执行sb读取。
[0158]
读取信息生成电路17将通过dle1表生成处理生成的dle1表发送到存储器24。例如,生成的dle1表在软判决解码电路21执行同一页中下一ecc帧的sb纠正时用作llr表,直到执行dle1表的纠正处理为止。读取信息生成电路17将通过dle1表纠正处理纠正的dle1表发送到存储器24。当dle1表已经存储在存储器24中时,用纠正的dle1表覆盖(overwrite)dle1表。例如,当软判决解码电路21执行同一页中下一ecc帧的sb纠正时,将纠正的dle1表用作llr表。此外,当软判决解码电路21对任何ecc帧执行多次sb纠正时,软判决解码电路21可以按照例如llr表tbl1、存储在存储器24中的dle1表、llr表tbl2和llr表tbl3的顺序选择llr表。
[0159]
[1-2]读取操作
[0160]
将参考图12描述读取操作。图12是示出由在根据实施例的存储器系统1中设置的存储器控制器10执行的读取操作的流程图。在下文中,将描述其中基元单元cu存储1页数据的情况作为示例。
[0161]
当开始读取操作时,存储器控制器10首先将hb读取电压施加到选定字线以执行与任何块blk中的一页对应的hb数据的读取(hb读取)(s10)。这里,选择被包括在块blk中的一条字线(以下也称为“第一字线”)。hb读取电压是基于存储在ram 16中的默认电压值vdt或移位值vst来设定的。读取hb数据(即,从连接到第一字线的多个存储器基元mc获取的)存储在缓冲存储器13中。
[0162]
在执行hb读取之后,存储器控制器10按ecc帧从缓冲存储器13接收hb数据。硬判决解码电路20纠正ecc帧的用户数据的错误(hb纠正)。
[0163]
当与一页对应的hb数据的所有ecc帧的hb纠正成功时(s11_是),并且当当前页不是要在同一块blk中读取的最后页(final page)(以下仅称为“最后页”)时(s12_否),存储器控制器10针对同一块blk中的下一页执行步骤s10的处理。当当前页是最后页时(s12_是),存储器控制器10结束读取操作。
[0164]
同时,当与一页对应的hb数据的至少一个ecc帧的hb纠正不成功时(s11_否),存储器控制器10将多个sb读取电压施加到选定字线以执行多条sb数据(例如,sb1数据和sb2数据)的读取(sb读取)(s13)。多个sb读取电压是基于hb读取电压设定的。读取sb1数据和sb2数据(即,从连接到第一字线的多个存储器基元mc获取的)被存储在缓冲存储器13中。
[0165]
在执行sb读取之后,存储器控制器10按ecc帧从缓冲存储器13接收hb数据、sb1数据和sb2数据(s14)。
[0166]
llr转换电路22选择多个llr表中的任一个。llr转换电路22使用选定llr表,按ecc帧将硬位、第一软位和第二软位的组合转换为llr。软判决解码电路21使用llr、hb数据、sb1数据和sb2数据之间的软判决奇偶校验来纠正ecc帧的用户数据的错误(sb纠正)(s15)。
[0167]
当ecc帧的sb纠正成功时(s16_是),读取信息生成电路17基于从连接到第一字线的多个存储器基元mc获取的通过sb纠正而纠正的数据来生成dle1表(s18)。生成的dle1表被存储在存储器24中。
[0168]
同时,当ecc帧的sb纠正不成功(s16_否)并且当不存在同一ecc帧的未选定的llr表时(s17_否),存储器控制器10执行稍后描述的步骤s19的处理。尽管省略了详细描述,但是存储器控制器10可以在执行步骤s19的处理之前使用诸如乘积码的另一较强的错误纠正方法对ecc帧执行附加错误纠正。或者,存储器控制器10可以在执行步骤s19的处理之前向主机装置2通知不可纠正的错误。当存在同一ecc帧的未选定的llr表时(s17_是),存储器控制器10使用下一llr表执行步骤s15的处理。此外,“未选定的llr表”是指例如llr表tbl1、tbl2和tbl3以及dle1表当中未被选定的llr表。
[0169]
请注意,当执行任何ecc帧的sb纠正时,软判决解码电路21首先使用例如存储在ram 16中的llr表tbl1来执行sb纠正。当sb纠正不成功并且dle1表被存储在存储器24中时,软判决解码电路21使用dle1表执行sb纠正。当sb纠正不成功或当dle1表未被存储在存储器24中时,软判决解码电路21使用存储在ram 16中的llr表tbl2执行sb纠正。当sb纠正不成功时,软判决解码电路21使用存储在ram 16中的llr表tbl3执行sb纠正。
[0170]
在步骤s18中的dle1表生成处理之后或者当不存在未选定的llr表时(s17_否),存储器控制器10确定当前ecc帧是否为同一页中的最后ecc帧(以下称为“最后ecc帧”)。当当前ecc帧不是最后ecc帧时(s19_否),存储器控制器10针对同一页中的下一ecc帧执行步骤s14的处理。同时,当当前ecc帧是最后ecc帧时(s19_是)并且当前页是最后页时(s20_是),
存储器控制器10结束读取操作。当当前页不是最后页时(s20_否),读取信息生成电路17生成移位值vst(s21)。在后述的处理步骤s22之后,生成的移位值vst被存储在ram 16中。
[0171]
当生成的移位值vst与存储在ram 16中的移位值相同时(s22_是),存储器控制器10针对同一块blk中的下一页执行步骤s10的处理。同时,当生成的移位值vst与存储在ram 16中的移位值不同时(s22_否),读取信息生成电路17基于当获取其sb纠正成功的数据时施加到第一字线的电压与跟踪电压vtr之间的电压差来纠正dle1表(s23)。纠正的dle1表被存储在存储器24中。此后,存储器控制器10针对同一块blk中的下一页执行步骤s10的处理。
[0172]
对同一块blk中的下一页的处理例如如下所述。在步骤s10的处理中,选择与包括在同一块blk中的第一字线不同的一条字线(以下也称为“第二字线”),并且存储器控制器10将hb读取电压(移位值vst,即,跟踪电压vtr)施加到第二字线以执行hb读取。在步骤s13的处理中,存储器控制器10将多个sb读取电压施加到第二字线以执行sb读取。在步骤s16的处理中,存储器控制器10使用基于从连接到包括在同一块blk中的第一字线的多个存储器基元mc获取的数据而纠正的dle1表,对从连接到第二字线的多个存储器基元mc获取的数据执行错误纠正。
[0173]
[1-3]效果
[0174]
根据第一实施例,可以增强存储器系统1的数据错误纠正能力。下面将参考图13a和13b描述该效果。图13a和13b是示出根据实施例的存储器系统1的效果的图。
[0175]
在存储器系统1中,与任一页(以下也称为“第一页”)的存储器基元mc的两个阈值电压分布(以下也称为“第一页的阈值电压分布”)处于同一块中的下一页(以下也称为“第二页”)的存储器基元mc的两个阈值电压分布(以下也称为“第二页的阈值电压分布”)往往具有相似的分布。这是例如其中第一页和第二页连接到同一字线并分别布置在连续串单元su中的情况。在图13a和13b的示例中,示出了第一页的阈值电压分布和第二页的阈值电压分布。
[0176]
图13a示出了第一页的阈值电压分布的示例,其中分布的相交处位于电压ar(0)周围。假设对于具有阈值电压分布的第一页,使用电压ar(+1)作为hb读取电压来执行读取操作。例如,当sb纠正在第一页的读取操作中成功时,使用其sb纠正成功的数据生成图13a所示的信道矩阵。例如,图13a所示的dle1表(以下也称为“表d1a”)是使用生成的信道矩阵生成的。
[0177]
在图13a所示的示例中,dlecnt的大小在信道矩阵的索引2和3之间翻转。因此,如上面参考图10a所描述的,llr的符号在表d1a的索引2和3之间反转。如上面参考图10b至图10e所描述的,估计第一页的阈值电压分布的相交处(电压)位于其中信道矩阵的dlecnt的大小翻转的位置,即,其中表d1a的llr的符号反转的位置。
[0178]
在该实施例中,通过跟踪来获取第一页的阈值电压分布的相交处(电压ar(0))。然而,用于第一页的读取操作并在sb纠正中成功的hb读取电压ar(+1)与第一页的阈值电压分布的相交处(电压ar(0))不匹配。
[0179]
如上所述,假设第一页的阈值电压分布和第二页的阈值电压分布往往具有相似的分布。因此,估计第二页的阈值电压分布的相交处的位置与第一页的相似。如上所述,其中两个阈值电压分布重叠的相交处的位置是指其中错误位的数量相对较少的位置。作为结果,通过将第一页的阈值电压分布的相交处的电压(即,电压ar(0))设定为第二页的hb读取
电压来执行读取操作,从而降低第二页的sb纠正不成功的概率。
[0180]
为此,在该实施例中,生成加上或减去通过跟踪获取的电压ar(0)与默认电压vdt之间的差分电压的结果作为移位值vst。通过将移位值vst(电压ar(0))设定为hb读取电压来执行第二页的读取操作。
[0181]
然而,如图13a所示,第二页的阈值电压分布的相交处的位置与其中表d1a的llr的符号反转的位置之间存在差异。在这种情况下,当表d1a的llr被应用到使用hb读取电压ar(0)从第二页读取的数据时,第二页的sb纠正不成功的概率增加。同时,如果其中llr的符号反转的位置在索引3和4之间,则第二页的阈值电压分布的相交处的位置与其中表d1a的llr的符号反转的位置之间的差异得到解决。在这种情况下,第二页的sb纠正不成功的概率降低。
[0182]
因此,在该实施例中,如图13b所示,基于在第一页的读取操作中其sb纠正成功的hb读取电压(ar(+1))与第一页的阈值电压分布的相交处的电压(电压ar(0))之间的电压差来纠正表d1a。基于该电压差而使表d1a的llr移位,作为结果,表d1a被纠正为图13b所示的dle1表(以下也称为“表d1b”)。结果,其中表d1b的llr的符号反转的位置在索引3和4之间。即,第二页的阈值电压分布的相交处的位置与其中表d1b的llr的符号反转的位置之间的差异得到解决。因此,当表d1b的llr被应用于使用hb读取电压ar(0)从第二页读取的数据时,第二页的sb纠正成功的概率增大。因此,可以增强数据的错误纠正能力。
[0183]
[2]第二实施例
[0184]
将描述第二实施例。根据第二实施例的存储器系统1与根据第一实施例的存储器系统1的不同之处在于存储器控制器10的配置、ecc电路14的配置以及由读取信息生成电路17执行的dle1表纠正处理。在下文中,主要描述与第一实施例的不同之处。
[0185]
[2-1]存储器控制器10的配置
[0186]
将参考图14描述存储器控制器10的内部配置。图14是示出包括根据第二实施例的存储器系统1的信息处理系统的示例的框图。
[0187]
存储器控制器10还包括动态llr估计2(dle2)表生成电路25。
[0188]
dle2表生成电路25是执行dle2表的生成处理的电路。dle2表是表示多个存储器基元mc的阈值电压的电压范围与llr之间的关系的表,是基于在软判决解码电路21中其纠正不成功的数据生成的。稍后将描述dle2表生成电路25的处理的细节。
[0189]
存储器控制器10中的其他配置与参考图1描述的第一实施例的配置相同。存储器系统1中的其他配置与参考图1描述的第一实施例的配置相同。
[0190]
[2-2]ecc电路14的配置
[0191]
将参考图15描述ecc电路14的内部配置。图15是示出ecc电路的配置示例的框图。
[0192]
ecc电路14还包括信道矩阵估计电路26。
[0193]
信道矩阵估计电路26是执行信道矩阵的估计处理的电路。信道矩阵估计电路26使用硬位和软位的组合以及在软判决解码电路21中其纠正不成功的数据,按ecc帧估计信道矩阵。在下文中,在软判决解码电路21中其纠正不成功的数据也被称为“不成功的数据”。
[0194]
存储器24存储由dle2表生成电路25生成的dle2表。
[0195]
ecc电路14中的其他配置与参考图2描述的第一实施例的配置相同。
[0196]
[2-3]ecc电路14的处理
[0197]
将参考图16描述ecc电路14的处理。图16是示出用于软判决解码的处理的图。
[0198]
当sb纠正不成功时,软判决解码电路21将不成功的数据存储在存储器24中。软判决解码电路21将不成功的数据发送到信道矩阵估计电路26。
[0199]
信道矩阵估计电路26从缓冲存储器13接收按ecc帧从nand型闪速存储器30读取的数据(hb数据、sb1数据和sb2数据)。信道矩阵估计电路26从存储器24接收不成功的数据。包括在不成功的数据中的错误位的数量可能不同于包括在从缓冲存储器13接收的数据中的错误位的数量。信道矩阵估计电路26对从缓冲存储器13接收到的hb数据、sb1数据、sb2数据的组以及从存储器24接收到的不成功的数据进行聚合(aggregate),并且基于聚合结果来估计信道矩阵。信道矩阵估计电路26将估计的信道矩阵发送到dle2表生成电路25。
[0200]
ecc电路14的其他处理与参考图7描述的第一实施例的处理相同。
[0201]
[2-4]dle2表生成电路25的处理
[0202]
将参考图16描述dle2表生成电路25的处理。
[0203]
dle2表生成电路25通过使用估计的信道矩阵统计地计算每个索引的位的似然比(具体地,llr)来生成dle2表。dle2表生成电路25根据估计的信道矩阵来计算dle2表。dle2表的计算例如在2020年1月7日提交的日本专利申请(专利申请号2020-899)中公开。该专利申请的全部内容通过引用并入本文。
[0204]
dle2表生成电路25将dle2表发送到存储器24。当dle2表被存储在存储器24中时,存储在存储器24中的dle2表被由存储器24接收到的dle2表覆盖。dle2表用于稍后描述的dle1表的第二纠正处理。
[0205]
[2-5]读取信息生成电路17的处理
[0206]
由读取信息生成电路17执行的dle1表纠正处理包括第一纠正处理和第二纠正处理。
[0207]
将参考图17描述第一纠正处理和第二纠正处理。图17是示出dle1表的第一纠正处理和第二纠正处理的图。图17示出其中其sb纠正成功的hb读取电压为电压ar(0)并且存储器基元mc的两个阈值电压分布的相交处为电压ar(-1)的情况的示例。
[0208]
如图17所示,dle2表包括对应于分别与索引0至7对应的电压范围的llr。在图17中,dle2表的索引0至7分别对应于dle1表的索引0至7。
[0209]
(第一纠正处理)
[0210]
与第一实施例类似地,读取信息生成电路17相对于dle1表将索引0至5中每一者的llr向右移1位并计算积分值,并且将该积分值设定为索引7的llr。作为结果,第一纠正处理完成。在该步骤中,索引0不包括llr。
[0211]
请注意,例如,当存储器基元mc的两个阈值电压分布的相交处为电压ar(-2)时,与第一实施例类似地,读取信息生成电路17相对于dle1表将索引0至4中每一者的llr向右移2位并计算积分值,并且将该积分值设定为索引7的llr。
[0212]
(第二纠正处理)
[0213]
在第一纠正处理之后,将dle2表的索引0的llr设定为通过第一纠正处理纠正的dle1表的索引0的llr。作为结果,第二纠正处理完成。
[0214]
请注意,例如,当存储器基元mc的两个阈值电压分布的相交处为电压ar(-2)时,读取信息生成电路17将dle2表的索引0的llr设定为通过第一纠正处理纠正的dle1表的索引0
的llr。读取信息生成电路17进一步将dle2表的索引1的llr设定为通过第一纠正处理纠正的dle1表的索引1的llr。
[0215]
[2-6]读取操作
[0216]
将参考图18和图19描述读取操作。图18和图19是示出在由根据第二实施例的存储器系统1中设置的存储器控制器10执行的读取操作的流程图。在第二实施例中,s30至s34的操作被添加到第一实施例的图12所示的s10至s23的操作中。此外,在第二实施例中,将s23的操作替换为第一纠正处理。s10至s22的操作与第一实施例的相同。在下文中,主要描述s23和s30至s34的操作。
[0217]
在图18中,当ecc帧的sb纠正不成功时(s16_否)并且不存在同一ecc帧的未选定的llr表时(s17_否),存储器控制器10执行步骤s19的处理。当存在未选定的llr表时(s17_是),存储器控制器10确定dle1表是否已被选择作为同一ecc帧的llr表。
[0218]
当dle1表已被选择用于同一ecc帧时(s30_是),存储器控制器10使用下一llr表执行步骤s15的处理。同时,当dle1表未被选择用于同一ecc帧时(s30_否),存储器控制器10确定dle1表是否位于存储器24中。
[0219]
当不存在dle1表时(s31_否),存储器控制器10使用下一llr表执行步骤s15的处理。同时,当存在dle1表时(s31_是),存储器控制器10确定dle1表中是否存在不包括llr的索引。请注意,其中dle1表中存在不包括llr的索引的状态例如是其中通过第一纠正处理使llr移位并且存在空索引(其中在dle1表中没有设定llr)的状态。
[0220]
当dle1表中不存在不包括llr的索引时(s32_否),存储器控制器10使用下一llr表(例如,dle1表)执行步骤s15的处理。同时,当dle1表中存在不包括llr的索引时(s32_是),存储器控制器10(更具体地,dle2表生成电路25)生成dle2表(s33)。生成的dle2表被存储在存储器24中。读取信息生成电路17使用生成的dle2表执行dle1表的第二纠正处理(s34)。通过第二纠正处理纠正的dle1表被存储在存储器24中。此后,存储器控制器10使用下一llr表(例如,通过第二纠正处理纠正的dle1表)执行步骤s15的处理。
[0221]
在图19中,当生成的移位值vst与存储在ram 16中的移位值不同时(s22_否),读取信息生成电路17执行dle1表的第一纠正处理(s23)。通过第一纠正处理纠正的dle1表被存储在存储器24中。此后,存储器控制器10针对同一块blk中的下一页执行步骤s10的处理。
[0222]
[2-7]效果
[0223]
通过根据第二实施例的配置,示出了与第一实施例相同的效果。
[0224]
此外,根据第二实施例,执行第二纠正处理以创建与要被执行sb纠正的ecc帧的阈值电压分布的llr更接近的dle1表。
[0225]
[3]第三实施例
[0226]
将描述第三实施例。根据该实施例的存储器系统1与根据第一实施例的存储器系统1的不同之处在于由读取信息生成电路17执行的dle1表纠正处理。示出存储器控制器10的读取操作的流程图与第一实施例的相同。在下文中,将主要描述与第一实施例的不同之处。
[0227]
[3-1]读取信息生成电路17的处理
[0228]
(dle1表纠正处理)
[0229]
读取信息生成电路17使用llr模式表纠正dle1表。llr模式表是指示多个存储器基
元mc的阈值电压的电压范围与llr之间的关系的表。例如,在接通电源之后立即将llr模式表从nand型闪速存储器30加载到ram 16中。llr模式表由存储器控制器10管理。
[0230]
将参考图20描述llr模式表。图20是llr模式表的概念图。
[0231]
llr模式表存储索引0至7中每一者的llr。如图20所示,llr模式表包括对应于分别与索引0至7对应的电压范围的llr。在图20的示例中,llr模式表被分别创建为对应于hb读取电压的低电压侧分区d1至d4的索引0至3以及对应于高电压侧分区d5至d8的索引4至7。用于hb读取电压的低电压侧的llr模式表包括两个llr模式pat1和pat2。llr模式pat1具有对应于索引0至3中每一者的llr。llr模式pat2同样如此。用于hb读取电压的高电压侧的llr模式表包括两个llr模式pat3和pat4。llr模式pat3具有对应于索引4至7中每一者的llr。llr模式pat4同样如此。请注意,图20的llr的值是一个例子。用于hb读取电压的低电压侧的llr模式表和用于hb读取电压的高电压侧的llr模式表可以整合为一个表。例如,对于每个应力条件,可以通过实验获得每个llr模式。应力条件包括nand型闪速存储器30的温度或对nand型闪速存储器30执行的数据擦除操作的次数。例如,当nand型闪速存储器30处于高温时,llr模式pat1具有对应于索引0至3中每一者的llr。例如,当nand型闪速存储器30处于低温时,llr模式pat2具有对应于索引0至3中每一者的llr。
[0232]
将参考图21描述dle1表的纠正处理。图21是示出dle1表的纠正处理的图。图21示出其sb纠正成功的hb读取电压为电压ar(0)并且存储器基元mc的两个阈值电压分布的相交处为电压ar(-1)的情况的示例。
[0233]
在图21中,llr模式表的索引0至3分别对应于dle1表的索引0至3。
[0234]
与第一实施例类似,读取信息生成电路17相对于dle1表将索引0至5中每一者的llr向右移1位并计算积分值,并且将该积分值设定为索引7的llr。此后,读取信息生成电路17将dle1表的索引1至3的一组三个llr(在图21所示的示例中,-5、-3和-1)与llr模式表的索引1至3的一组三个llr进行比较。作为比较的结果,读取信息生成电路17选择其中llr的至少一部分与dle1表的llr匹配的llr模式。在图20和图21所示的示例中,读取信息生成电路17选择llr模式pat1。读取信息生成电路17可以选择例如具有更大数量的匹配索引的llr模式。在图21的示例中,示出了其中匹配索引的数量为3(索引1至3)的情况。读取信息生成电路17将选定的llr模式pat1的索引0的llr(=-9)设定为dle1表的索引0的llr。作为结果,dle1表的纠正处理完成。
[0235]
请注意,例如,如果存储器基元mc的两个阈值电压分布的相交处为电压ar(-2),则与第一实施例类似地,读取信息生成电路17相对于dle1表将索引0至4中每一者的llr向右移2位并计算积分值,并且将该积分值设定为索引7的llr。此后,读取信息生成电路17将dle1表的索引2和3的一组两个llr与llr模式表的索引2和3的一组两个llr进行比较。作为比较的结果,读取信息生成电路17选择其中llr的至少一部分与dle1表的llr匹配的llr模式。读取信息生成电路17可以选择例如具有更大数量的匹配索引的llr模式。读取信息生成电路17将选定的llr模式的索引0的llr设定为dle1表的索引0的llr。读取信息生成电路17进一步将选定的llr模式的索引1的llr设定为dle1表的索引1的llr。
[0236]
[3-2]效果
[0237]
通过根据第三实施例的配置,获得了与第一实施例相同的效果。
[0238]
此外,根据第三实施例,可以创建与要被执行sb纠正的ecc帧的阈值电压分布的
llr更接近的dle1表。
[0239]
[4]第四实施例
[0240]
将描述第四实施例。根据第四实施例的存储器系统1与根据第一实施例的存储器系统1的不同之处在于由读取信息生成电路17执行的dle1表纠正处理。示出存储器控制器10的读取操作的流程图与第一实施例的相同。在下文中,将主要描述与第一实施例的不同之处。
[0241]
[4-1]读取信息生成电路17的处理
[0242]
(dle1表纠正处理)
[0243]
读取信息生成电路17使用基于hb读取电压的高电压侧llr之和与hb读取电压的低电压侧llr之和的比率计算出的llr来纠正dle1表。
[0244]
将参考图22描述对dle1表的纠正处理。图22是示出dle1表的纠正处理的图。图22示出了其中其sb纠正成功的hb读取电压为电压ar(0)并且存储器基元mc的两个阈值电压分布的相交处为电压ar(-1)的示例。
[0245]
与第一实施例类似,读取信息生成电路17相对于dle1表将索引0至5中每一者的llr向右移1位并计算积分值,并且将该积分值设定为索引7的llr。此后,读取信息生成电路17基于hb读取电压的高电压侧llr之和与hb读取电压的低电压侧llr之和的比率来计算其中未配置llr的空索引的llr。具体而言,通过下面的等式(3)计算llr。
[0246]
llr1=llr8
×
{-1
×
(llr2+llr3+llr4)/(llr5+llr6+llr7)}
ꢀꢀ
(3)
[0247]
在上式中,llr1是对应于索引0的llr。另外,llr2至llr8是分别对应于索引1至7的llr的绝对值。计算出的llr例如在其绝对值小于等于9的整数处饱和。
[0248]
读取信息生成电路17将在上面的等式(3)中计算出的值(=-9)设定为dle1表的索引0的llr。作为结果,dle1表的纠正处理完成。
[0249]
请注意,例如,如果存储器基元mc的两个阈值电压分布的相交处为电压ar(-2),则与第一实施例类似,读取信息生成电路17相对于dle1表将索引0至4中每一者的llr向右移2位并计算积分值,并且将该积分值设定为索引7的llr。此后,读取信息生成电路17基于hb读取电压的高电压侧llr之和与hb读取电压的低电压侧llr之和的比率来计算其中未设定llr的空索引的llr。具体而言,通过下面的等式(4)计算llr。
[0250]
llr2=llr7
×
{-1
×
(llr3+llr4)/(llr5+llr6)}
ꢀꢀꢀꢀꢀꢀ
(4)
[0251]
在上式中,llr2是对应于索引1的llr。另外,llr3至llr7是分别对应于索引2至6的llr的绝对值。计算出的llr例如在其绝对值小于等于9的整数处饱和。
[0252]
读取信息生成电路17将在上面的等式(4)中计算出的值设定为dle1表的索引1的llr。读取信息生成电路17将在上面的等式(3)中计算出的值设定为dle1表的索引0的llr。
[0253]
[4-2]效果
[0254]
通过根据第四实施例的配置,获得了与第一实施例相同的效果。
[0255]
此外,根据第四实施例,可以创建与要被执行sb纠正的ecc帧的阈值电压分布的llr更接近的dle1表。
[0256]
[5]第五实施例
[0257]
将描述第五实施例。在根据第五实施例的存储器系统1中,存储器控制器10执行的读取操作与第二实施例的不同。在下文中,将主要描述与第二实施例的不同之处。
[0258]
[5-1]读取操作
[0259]
将参考图23描述读取操作。图23是示出由在根据第五实施例的存储器系统1中设置的存储器控制器10执行的读取操作的流程图。在第五实施例中,根据第二实施例的图19的步骤s23的处理由图23的步骤s40至s46的处理替换。步骤s10至s22和步骤s30至s34的处理与第二实施例的相同。在下文中,将主要描述s40至s46的操作。
[0260]
在图23中,当生成的移位值vst与存储在ram16中的移位值不同时(s22_否),并且基于其中dle1表的llr的符号反转的位置,llr在dle1表的至少一部分中对称时(s40_是),读取信息生成电路17执行根据第一实施例的dle1表的纠正处理(s43)。图24是示出dle1表中的llr的对称性的图。在图24的示例中,在索引2和3中,llr的绝对值相同,并且llr的符号反转。即,索引2的llr和索引3的llr是对称的。在索引1和4中,llr的绝对值相同,并且llr的符号反转。即,索引1的llr和索引4的llr是对称的。
[0261]
将返回参考图23进行描述。当llr在整个dle1表中不对称(s40_否),并且llr的至少一部分在dle1表和llr模式中匹配时(s41_是),读取信息生成电路17执行第三实施例的dle1表纠正处理(s44)。
[0262]
当没有一个llr在dle1表和llr模式中匹配时(s41_否),并且llr的至少一部分在dle2表和dle1表中匹配时(s42_是),读取信息生成电路17执行第二实施例的第一纠正处理(s45)。
[0263]
当没有一个llr在dle2表和dle1表中匹配时(s42_否),读取信息生成电路17执行第四实施例的dle1表纠正处理(s46)。
[0264]
[5-2]效果
[0265]
通过根据第五实施例的配置,获得了与第一实施例相同的效果。
[0266]
此外,根据第五实施例,可以使用根据阈值电压分布的形状的最佳dle1表。
[0267]
[6]变形例
[0268]
如上所述,根据实施例的存储器系统包括:半导体存储器装置(30),其包括多个存储器基元(基元单元(cu)),每个存储器基元被配置为根据其阈值电压以非易失性方式存储数据并连接到字线;以及控制器(10),其被配置为:基于从多个存储器基元读取的软位数据和硬位数据执行错误纠正(21);基于通过错误纠正(21)纠正的数据生成第一表(dle1表);确定第一电压(hb读取电压)与第二电压(vtr)之间的电压差,第一电压是在读取被纠正的数据时施加到字线的电压;以及基于电压差纠正第一表。
[0269]
此外,实施例不限于上述实施例,而是可以进行各种修改。
[0270]
此外,在实施例中描述的流程图中,可以改变处理的顺序。例如,步骤s40、s41和s42的确定处理的顺序不限于图23的流程图中所示的顺序。此外,在图23的流程图中,可以省略步骤s40和s43。可以省略步骤s41和s44。可以省略步骤s42和s45。可以省略步骤s46。
[0271]
尽管已经描述了特定实施例,但这些实施例仅通过示例呈现,并不旨在限制本公开的范围。实际上,本文所述的新颖实施例可以以多种其他形式体现;此外,在不脱离本公开的精神的情况下,可以对这里描述的实施例的形式进行各种省略、替换和改变。所附权利要求及其等价物旨在覆盖落入本公开的范围和精神内的此类形式或修改。
[0272]
1存储器系统
[0273]
2主机装置
[0274]
10存储器控制器
[0275]
11主机接口(i/f)电路
[0276]
12处理器(中央处理单元(cpu))
[0277]
13缓冲存储器
[0278]
14错误检查和纠正(ecc)电路
[0279]
15只读存储器(rom)
[0280]
16随机存取存储器(ram)
[0281]
17读取信息生成电路
[0282]
18nand接口(i/f)电路
[0283]
19编码电路
[0284]
20硬判决解码电路
[0285]
21软判决解码电路
[0286]
22llr转换电路
[0287]
23信道矩阵生成电路
[0288]
24存储器
[0289]
25动态llr估计2(dle2)表生成电路
[0290]
26信道矩阵估计电路
[0291]
30半导体存储器装置(nand型闪速存储器)
[0292]
31存储器基元阵列
[0293]
32输入/输出电路
[0294]
33逻辑控制电路
[0295]
34就绪/忙控制电路
[0296]
35寄存器
[0297]
35a命令寄存器
[0298]
35b地址寄存器
[0299]
35c状态寄存器
[0300]
36定序器
[0301]
37驱动器模块
[0302]
38行解码器模块
[0303]
39感测放大器模块

技术特征:
1.一种存储器系统,包括:半导体存储器装置,其包括多个存储器基元,每个存储器基元被配置为根据其阈值电压以非易失性方式存储数据并被连接到字线;以及控制器,其被配置为:基于从所述多个存储器基元读取的硬位数据和软位数据,执行错误纠正;基于通过所述错误纠正而被纠正的数据,生成第一表;确定第一电压与第二电压之间的电压差,所述第一电压是在读取被纠正的所述数据时施加到所述字线的电压;以及基于所述电压差,纠正所述第一表。2.根据权利要求1所述的存储器系统,其中所述控制器被配置为:至少基于具有第一电压范围内的阈值电压且存储具有第一值的已纠正数据的所述多个存储器基元的第一数量,以及具有所述第一电压范围内的阈值电压且存储具有不同于所述第一值的第二值的已纠正数据的所述多个存储器基元的第二数量,确定所述第二电压。3.根据权利要求2所述的存储器系统,其中所述控制器被配置为:进一步基于具有不同于所述第一电压范围的第二电压范围内的阈值电压且存储具有所述第一值的已纠正数据的所述多个存储器基元的第三数量,以及具有所述第二电压范围内的阈值电压且存储具有所述第二值的已纠正数据的所述多个存储器基元的第四数量,确定所述第二电压。4.根据权利要求3所述的存储器系统,其中所述控制器被配置为:在所述第一数量大于所述第二数量并且所述第三数量小于所述第四数量的情况下,将介于所述第一电压范围与所述第二电压范围之间的电压确定为所述第二电压。5.根据权利要求4所述的存储器系统,其中所述第一表被配置为存储对应于所述第一电压范围的第一设定值和对应于所述第二电压范围的第二设定值,以及当所述第一电压大于所述第二电压时,所述控制器通过将第三值存储为所述纠正之后的所述第一表的所述第二设定值来纠正所述第一表,所述第三值在所述纠正之前已被存储为所述第一表的所述第一设定值。6.根据权利要求4所述的存储器系统,其中所述第一表被配置为存储对应于所述第一电压范围的第一设定值和对应于所述第二电压范围的第二设定值,以及当所述第一电压小于所述第二电压时,所述控制器通过将第三值存储为所述纠正之后的所述第一表的所述第一设定值来纠正所述第一表,所述第三值在所述纠正之前已被存储为所述第一表的所述第二设定值。7.根据权利要求1所述的存储器系统,其中所述半导体存储器装置包括多条字线并且包括作为数据擦除操作的单位的块,所述多条字线包括被连接到所述多个存储器基元的第一字线以及被连接到另外的多个存储器基元的第二字线,以及
所述控制器被配置为:使用已纠正的第一表,通过将所述第二电压施加到所述第二字线,对从被连接到所述第二字线的所述另外的多个存储器基元读取的数据执行错误纠正。8.根据权利要求1所述的存储器系统,其中所述第一表是表示所述多个存储器基元的所述阈值电压的电压范围与对数似然比llr之间的关系的表,所述纠正之前的所述第一表至少包括对应于第一电压范围的第一llr、对应于第二电压范围的第二llr以及对应于第三电压范围的第三llr,以及所述控制器被配置为:在所述第一表的所述纠正中,基于具有所述第一电压范围内的阈值电压且存储具有第一值的已纠正数据的所述多个存储器基元的第一数量、具有所述第一电压范围内的阈值电压且存储具有不同于所述第一值的第二值的已纠正数据的所述多个存储器基元的第二数量、具有所述第二电压范围内的阈值电压且存储具有所述第一值的已纠正数据的所述多个存储器基元的第三数量、以及具有所述第二电压范围内的阈值电压且存储具有所述第二值的已纠正数据的所述多个存储器基元的第四数量来计算积分值,并且在所述纠正之后的所述第一表中,将所述积分值设定为对应于所述第一电压范围的llr,并将具有反转符号的所述积分值设定为对应于所述第三电压范围的llr。9.根据权利要求8所述的存储器系统,其中所述第三电压范围包括比所述第一电压范围和所述第二电压范围低的阈值电压,以及所述第一电压范围包括比所述第二电压范围高的阈值电压。10.根据权利要求1所述的存储器系统,其中所述控制器被配置为:基于其错误纠正不成功的数据来生成第二表,所述第一表和所述第二表中的每一者表示所述多个存储器基元的所述阈值电压的电压范围与对数似然比llr之间的关系,所述纠正之前的所述第一表至少包括对应于第一电压范围的第一llr、对应于第二电压范围的第二llr以及对应于第三电压范围的第三llr,并且所述第二表至少包括对应于所述第三电压范围的第四llr,以及所述控制器被配置为:在所述第一表的所述纠正中,基于具有所述第一电压范围内的阈值电压且存储具有第一值的已纠正数据的所述多个存储器基元的第一数量、具有所述第一电压范围内的阈值电压且存储具有不同于所述第一值的第二值的已纠正数据的所述多个存储器基元的第二数量、具有所述第二电压范围内的阈值电压且存储具有所述第一值的已纠正数据的所述多个存储器基元的第三数量、以及具有所述第二电压范围内的阈值电压且存储具有所述第二值的已纠正数据的所述多个存储器基元的第四数量来计算积分值,并且在所述纠正之后的所述第一表中,将所述积分值设定为对应于所述第一电压范围的llr,并将所述第四llr设定为对应于所述第三电压范围的llr。11.根据权利要求10所述的存储器系统,其中所述第三电压范围包括比所述第一电压范围和所述第二电压范围低的阈值电压,以及所述第一电压范围包括比所述第二电压范围高的阈值电压。12.根据权利要求1所述的存储器系统,其中所述控制器被配置为管理第二表,所述第一表和所述第二表中的每一者表示所述多个存储器基元的所述阈值电压的电压范围与对数似然比llr之间的关系,所述纠正之前的所述第一表至少包括对应于第一电压范围的第一llr、对应于第二电压范围的第二llr、对应于第三电压范围的第三llr、对应于第四电压范围的第四llr、对应于第五电压范围的第五
llr、以及对应于第六电压范围的第六llr,所述第二表包括多个模式,所述多个模式中的每一者至少包括对应于所述第三电压范围的第七llr、对应于所述第四电压范围的第八llr、对应于所述第五电压范围的第九llr、以及对应于所述第六电压范围的第十llr,以及所述控制器被配置为,在所述第一表的所述纠正中:基于具有所述第一电压范围内的阈值电压且存储具有第一值的已纠正数据的所述多个存储器基元的第一数量、具有所述第一电压范围内的阈值电压且存储具有不同于所述第一值的第二值的已纠正数据的所述多个存储器基元的第二数量、具有所述第二电压范围内的阈值电压且存储具有所述第一值的已纠正数据的所述多个存储器基元的第三数量、以及具有所述第二电压范围内的阈值电压且存储具有所述第二值的已纠正数据的所述多个存储器基元的第四数量来计算积分值,并且在所述纠正之后的所述第一表中,将所述积分值设定为对应于所述第一电压范围的llr;选择其中分别对应于所述第一表的所述第四电压范围至所述第六电压范围的第一组所述llr和分别对应于所述第二表的所述第四电压范围至所述第六电压范围的第二组所述llr的至少一部分匹配的模式;以及在所述纠正之后的所述第一表中,将所选择的模式的所述第七llr设定为对应于所述第三电压范围的llr。13.根据权利要求12所述的存储器系统,其中所述第三电压范围包括比所述第一电压范围、所述第二电压范围、所述第四电压范围、所述第五电压范围和所述第六电压范围低的阈值电压,以及所述第一电压范围包括比所述第二电压范围、所述第四电压范围、所述第五电压范围和所述第六电压范围高的阈值电压。14.根据权利要求1所述的存储器系统,其中所述第一表是表示所述多个存储器基元的所述阈值电压的电压范围与对数似然比llr之间的关系的表,所述纠正之前的所述第一表至少包括对应于第一电压范围的第一llr、对应于第二电压范围的第二llr、对应于第三电压范围的第三llr、对应于第四电压范围的第四llr、对应于第五电压范围的第五llr、对应于第六电压范围的第六llr、对应于第七电压范围的第七llr、以及对应于第八电压范围的第八llr,以及所述控制器被配置为:在所述第一表的所述纠正中,基于具有所述第一电压范围内的阈值电压且存储具有第一值的已纠正数据的所述多个存储器基元的第一数量、具有所述第一电压范围内的阈值电压且存储具有不同于所述第一值的第二值的已纠正数据的所述多个存储器基元的第二数量、具有所述第二电压范围内的阈值电压且存储具有所述第一值的已纠正数据的所述多个存储器基元的第三数量、以及具有所述第二电压范围内的阈值电压且存储具有所述第二值的已纠正数据的所述多个存储器基元的第四数量来计算积分值,并且在所述纠正之后的所述第一表中,将所述积分值设定为对应于所述第一电压范围的llr,并且将基于所述第四llr、所述第五llr和所述第六llr之和与所述第七llr、所述第八llr和所述第二llr之和的比率计算出的值设定为对应于所述第三电压范围的llr。15.根据权利要求14所述的存储器系统,其中基于所述比率和对应于所述第一电压范围的所述llr,获得所述计算出的值。16.根据权利要求15所述的存储器系统,其中
所述第三电压范围包括比所述第一电压范围、所述第二电压范围、所述第四电压范围、所述第五电压范围、所述第六电压范围、所述第七电压范围和所述第八电压范围低的阈值电压,以及所述第一电压范围包括比所述第二电压范围、所述第四电压范围、所述第五电压范围、所述第六电压范围、所述第七电压范围和所述第八电压范围高的阈值电压。17.一种对从多个存储器基元读取的数据执行错误纠正的方法,每个存储器基元被配置为根据其阈值电压以非易失性方式存储数据,所述多个存储器基元包括被连接到第一字线的第一存储器基元和被连接到第二字线的第二存储器基元,所述方法包括:基于从所述第一存储器基元读取的硬位数据和软位数据,执行第一错误纠正;基于通过所述第一错误纠正而被纠正的数据,生成第一表;确定第一电压与第二电压之间的电压差,所述第一电压是在获取已纠正数据时施加到所述第一字线的电压;基于所述电压差,纠正所述第一表;以及使用已纠正的第一表,基于从所述第二存储器基元读取的硬位数据和软位数据,执行第二错误纠正。18.根据权利要求17所述的方法,其中至少基于具有第一电压范围内的阈值电压且存储具有第一值的已纠正数据的所述第一存储器基元的第一数量以及具有所述第一电压范围内的阈值电压且存储具有不同于所述第一值的第二值的已纠正数据的所述第一存储器基元的第二数量,确定所述第二电压。19.根据权利要求18所述的方法,其中进一步基于具有不同于所述第一电压范围的第二电压范围内的阈值电压且存储具有所述第一值的已纠正数据的所述第一存储器基元的第三数量以及具有所述第二电压范围内的阈值电压且存储具有所述第二值的已纠正数据的所述第一存储器基元的第四数量,确定所述第二电压。20.根据权利要求19所述的方法,其中,在所述第一数量大于所述第二数量并且所述第三数量小于所述第四数量的情况下,将介于所述第一电压范围与所述第二电压范围之间的电压确定为所述第二电压。

技术总结
本公开涉及存储器系统和对从多个存储器基元读取的数据执行错误纠正的方法。实施例提供了具有增强的错误纠正能力的存储器系统和对从多个存储器基元读取的数据执行错误纠正的方法。一种存储器系统包括:半导体存储器装置,其包括多个存储器基元,每个存储器基元被配置为根据其阈值电压以非易失性方式存储数据并被连接到字线;以及控制器,其被配置为:基于从多个存储器基元读取的硬位数据和软位数据执行错误纠正;基于已纠正数据生成第一表;确定第一电压与第二电压之间的电压差,第一电压是在读取被纠正的数据时施加到字线的电压;以及基于电压差纠正第一表。以及基于电压差纠正第一表。以及基于电压差纠正第一表。


技术研发人员:清水元贵 樱田健次 熊野尚人
受保护的技术使用者:铠侠股份有限公司
技术研发日:2022.09.30
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐