首页 / 专利分类库 / 信息存储 / 一种存储器控制器、存储器器件、存储系统及其操作方法

一种存储器控制器、存储器器件、存储系统及其操作方法

申请号 CN202211449836.0 申请日 2022-11-18 公开(公告)号 CN118057286A 公开(公告)日 2024-05-21
申请人 长江存储科技有限责任公司; 发明人 黄真; 李康; 张哲;
摘要 本 申请 提供一种 存储器 控制器 、存储器器件、存储系统及其操作方法,存储器控制器被配置为:在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;待存数据为待写入至存储单元的数据;将待存数据中的待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结顶替二进制编码对应的存储地址的替位标志符。本申请通过 修改 存储器控制器的数据编码方式来减少态的个数,帮助缩短存储器器件的编程时长、减少干扰,提高存储器器件的数据保留能 力 以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强 固件 定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
权利要求

1.一种存储器控制器,其特征在于,所述存储器控制器用于控制存储器器件,所述存储N
器器件包括至少一个存储单元,所述存储单元提供至多2个编程位阶用于存储N位的数据,N为正整数,所述存储器控制器被配置为:
在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志符。
2.根据权利要求1所述的存储器控制器,其特征在于,所述存储器控制器还被配置为:
将所述待存数据与所述待替换二进制编码相比较;
若所述待存数据中存在所述待替换二进制编码,确定所述待存数据中存在所述预设待替换编程位阶。
3.根据权利要求1所述的存储器控制器,其特征在于,所述存储器控制器还被配置为:
储存所述替位标志符,以及所述待替换二进制编码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系。
4.根据权利要求1所述的存储器控制器,其特征在于,所述存储器控制器还被配置为:
N
设定2 个编程位阶中的一个编程位阶为预设待替换编程位阶,以及所述预设待替换编程位阶所对应的二进制编码为待替换二进制编码;
N
设定2 个编程位阶中的另一个编程位阶为预设顶替编程位阶,以及所述预设顶替编程位阶所对应的二进制编码为顶替二进制编码。
5.根据权利要求1所述的存储器控制器,其特征在于,所述存储器控制器还被配置为:
N
设定2 个编程位阶中的至少两个编程位阶为预设待替换编程位阶,以及所述预设待替换编程位阶所对应的二进制编码为待替换二进制编码;
N
设定2 个编程位阶中的另外至少两个编程位阶为预设顶替编程位阶,以及所述预设顶替编程位阶所对应的二进制编码为顶替二进制编码。
6.根据权利要求4或5所述的存储器控制器,其特征在于,所述预设待替换编程位阶为各编程位阶中编程时长最长的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中编程时长最短的M个编程位阶;其中M<N,且M和N为正整数。
7.根据权利要求4或5所述的存储器控制器,其特征在于,所述预设待替换编程位阶为各编程位阶中数据保留能最差的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中数据保留能力最好的M个编程位阶;其中M<N,且M和N为正整数。
8.根据权利要求4或5所述的存储器控制器,其特征在于,所述预设待替换编程位阶为各编程位阶中干扰抑制状态最差的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中干扰抑制状态最好的M个编程位阶;其中M<N,且M和N为正整数。
9.根据权利要求1所述的存储器控制器,其特征在于,所述替位标志符为二进制数。
10.根据权利要求1项所述的存储器控制器,其特征在于,所述待替换二进制编码与所述顶替二进制编码相差一位。
11.根据权利要求1所述的存储器控制器,其特征在于,所述存储器控制器还被配置为:
基于读取命令中的存储地址从所述存储器器件中读取对应的读取数据;
在所述存储地址有对应的所述替位标志符时,将所述读取数据中由所述替位标志符所标记的所述顶替二进制编码置换为对应的待替换二进制编码。
12.一种存储系统,其特征在于,包括:
N
存储器器件,所述存储器器件包括至少一个存储单元,所述存储单元提供至多2 个编程位阶用于存储N位的数据,N为正整数;以及
存储器控制器,用于控制所述存储器器件,其中,所述存储器控制器被配置为:
在待存数据中查找预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志符。
13.一种存储器器件,其特征在于,所述存储器器件包括至少一个存储单元,所述存储N
单元提供至多2个编程位阶用于存储N位的数据,N为正整数,所述存储器器件被配置为:
接收存储器控制器传输的顶替二进制编码;其中,所述顶替二进制编码为所述存储器控制器用于在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码时,以将所述待替换二进制编码进行置换为预设顶替编程位阶所对应的二进制编码;所述待存数据为待写入至所述存储单元的数据;
根据所述存储器控制器传输的顶替二进制编码对所述存储单元进行编程以储存所述待存数据。
14.根据权利要求13所述的存储器器件,其特征在于,所述存储器器件还被配置为:
储存替位标志符,以及所述待替换二进制编码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系;所述替位标志符为所述存储器控制器产生的连结所述顶替二进制编码的对应存储地址的标志。
N
15.根据权利要求13所述的存储器器件,其特征在于,所述存储单元的编程位阶小于2。
16.一种存储系统的操作方法,其特征在于,包括:存储器器件以及控制所述存储器器N
件的存储器控制器,所述存储器器件包括至少一个存储单元,所述存储单元提供至多2 个编程位阶用于存储N位的数据,N为正整数;所述操作方法包括步骤:
所述存储器控制器在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
所述存储器控制器将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志符;
所述存储器器件接收所述存储器控制器传输的所述顶替二进制编码,根据所述存储器控制器传输的顶替二进制编码对所述存储单元进行编程以储存所述待存数据。
17.根据权利要求16所述的存储系统的操作方法,其特征在于,所述操作方法还包括步骤:
所述存储器控制器基于读取命令中的存储地址从所述存储器器件中读取对应的读取数据;
所述存储器控制器在所述存储地址有对应的所述替位标志符时,将所述读取数据中由所述替位标志符所标记的所述顶替二进制编码置换为对应的待替换二进制编码。

说明书全文

一种存储器控制器、存储器器件、存储系统及其操作方法

技术领域

[0001] 本申请涉及半导体技术领域,具体涉及一种存储器控制器、存储器器件、存储系统及其操作方法。

背景技术

[0002] 非易失性存储器器件已经广泛应用于各个领域的电子器件中。闪存是可以被电擦除并重新编程的使用最为广泛的非易失性存储器器件之一,闪存可以包括NOR和NAND两种
架构的存储器器件,其中,对闪存中的每一个存储单元的阈值电压改变为需要的电平以实
现各种操作,如读取、编程和擦除。在对闪存操作时,可以按照级别执行擦除操作,可以按照页级别执行编程操作,可以按照存储单元级别执行读取操作。多状态闪存的编程通过识
别多个不同的阈值电压范围而实现。
[0003] 随着NAND Flash的容量越来越大,每个存储单元cell对应存储的数据越来越多,NAND Flash已经从SLC(每个cell可以存储1bit信息)、MLC(每个cell可以存储2bit信息)发
展到TLC(每个cell可以存储3bit信息),甚至QLC(每个cell可以存储4bit信息),PLC(每个
cell可以存储5bit信息)。其中,存储器控制器会将主机数据通过随机函数发生器将主机数据随机打散然后再存到NAND Flash里,但是进行多比特存储时,常会遇到操作复杂的问题。
发明内容
[0004] 本申请实施例提供一种存储器控制器、存储器器件、存储系统及其操作方法,可缩短存储器器件的编程时长、减少干扰,提高存储器器件的数据保留能以增加数据的可靠性。
[0005] 第一方面,本申请实施例提供了一种存储器控制器,所述存储器控制器用于控制N
存储器器件,所述存储器器件包括至少一个存储单元,所述存储单元提供至多2 个编程位
阶用于存储N位的数据,N为正整数,所述存储器控制器被配置为:
[0006] 在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
[0007] 将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志符。
[0008] 在一些实施例中,所述存储器控制器还被配置为:
[0009] 将所述待存数据与所述待替换二进制编码相比较;
[0010] 若所述待存数据中存在所述待替换二进制编码,确定所述待存数据中存在所述预设待替换编程位阶。
[0011] 在一些实施例中,所述存储器控制器还被配置为:储存所述替位标志符,以及所述待替换二进制编码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系。
[0012] 在一些实施例中,所述存储器控制器还被配置为:
[0013] 设定2N个编程位阶中的一个编程位阶为预设待替换编程位阶,以及所述预设待替换编程位阶所对应的二进制编码为待替换二进制编码;
[0014] 设定2N个编程位阶中的另一个编程位阶为预设顶替编程位阶,以及所述预设顶替编程位阶所对应的二进制编码为顶替二进制编码。
[0015] 在一些实施例中,所述存储器控制器还被配置为:
[0016] 设定2N个编程位阶中的至少两个编程位阶为预设待替换编程位阶,以及所述预设待替换编程位阶所对应的二进制编码为待替换二进制编码;
[0017] 设定2N个编程位阶中的另外至少两个编程位阶为预设顶替编程位阶,以及所述预设顶替编程位阶所对应的二进制编码为顶替二进制编码。
[0018] 在一些实施例中,所述预设待替换编程位阶为各编程位阶中编程时长最长的M个位阶;所述预设顶替编程位阶为各所述编程位阶中编程时长最短的M个位阶;其中M<N,且M和N为正整数。
[0019] 在一些实施例中,所述预设待替换编程位阶为各编程位阶中数据保留能力最差的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中数据保留能力最好的M个编程位
阶;其中M<N,且M和N为正整数。
[0020] 在一些实施例中,所述预设待替换编程位阶为各编程位阶中干扰抑制状态最差的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中干扰抑制状态最好的M个编程位
阶;其中M<N,且M和N为正整数。
[0021] 在一些实施例中,所述替位标志符为二进制数。
[0022] 在一些实施例中,所述待替换二进制编码与所述顶替二进制编码相差一位。
[0023] 在一些实施例中,所述存储器控制器还被配置为:
[0024] 基于读取命令中的存储地址从所述存储器器件中读取对应的读取数据;
[0025] 在所述存储地址有对应的所述替位标志符时,将所述读取数据中由所述替位标志符所标记的所述顶替二进制编码置换为对应的待替换二进制编码。
[0026] 第二方面,本申请实施例还提供了一种存储系统,包括:
[0027] 存储器器件,所述存储器器件包括至少一个存储单元,所述存储单元提供至多2N个编程位阶用于存储N位的数据,N为正整数;以及
[0028] 存储器控制器,用于控制所述存储器器件,其中,所述存储器控制器被配置为:
[0029] 在待存数据中查找预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
[0030] 将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志符。
[0031] 第三方面,本申请实施例还提供了一种存储器器件,所述存储器器件包括至少一N
个存储单元,所述存储单元提供至多2个编程位阶用于存储N位的数据,N为正整数,所述存储器器件被配置为:
[0032] 接收存储器控制器传输的顶替二进制编码;其中,所述顶替二进制编码为所述存储器控制器用于在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码时,
以将所述待替换二进制编码进行置换为预设顶替编程位阶所对应的二进制编码;所述待存
数据为待写入至所述存储单元的数据;
[0033] 根据所述存储器控制器传输的顶替二进制编码对所述存储单元进行编程以储存所述待存数据。
[0034] 在一些实施例中,所述存储器器件还被配置为:
[0035] 储存替位标志符,以及所述待替换二进制编码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系;所述替位标志符为所述存储器控制器产生的连结所述顶替
二进制编码的对应存储地址的标志。
[0036] 在一些实施例中,所述存储单元的编程位阶小于2N。
[0037] 第四方面,本申请实施例还提供了一种存储系统的操作方法,包括:存储器器件以及控制所述存储器器件的存储器控制器,所述存储器器件包括至少一个存储单元,所述存N
储单元提供至多2个编程位阶用于存储N位的数据,N为正整数;所述操作方法包括步骤:
[0038] 所述存储器控制器在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
[0039] 所述存储器控制器将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址
的替位标志符;
[0040] 所述存储器器件接收所述存储器控制器传输的所述顶替二进制编码,根据所述存储器控制器传输的顶替二进制编码对所述存储单元进行编程以储存所述待存数据。
[0041] 在一些实施例中,所述操作方法还包括步骤:
[0042] 所述存储器控制器基于读取命令中的存储地址从所述存储器器件中读取对应的读取数据;
[0043] 所述存储器控制器在所述存储地址有对应的所述替位标志符时,将所述读取数据中由所述替位标志符所标记的所述顶替二进制编码置换为对应的待替换二进制编码。
[0044] 本申请实施例提供的存储器控制器、存储器器件、存储系统及其操作方法的有益效果:本申请通过修改存储器控制器中的随机发生编码器(Randomizer Encoder)的数据编
码方式来减少阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时长的同
时,也能减少读取干扰、编程干扰等,此外,还能提高存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
附图说明
[0045] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附
图。
[0046] 图1示出了根据本申请的一些方面的示例性存储器器件的示意电路图;
[0047] 图2示出了根据本申请的一些方面的示例性存储器单元阵列的存储串的截面的侧视图;
[0048] 图3示出了一些示例性存储器器件中的外围电路的示意电路图;
[0049] 图4示出了一些示例性电子设备的结构示意图;
[0050] 图5A示出了一些示例性的MLC的四个阈值电压分布的示意图;
[0051] 图5B示出了一些示例性的TLC的八个阈值电压分布的示意图;
[0052] 图6本申请实施例提供的ISPP方式的步进脉冲的结构示意图;
[0053] 图7为本申请实施例提供的验证电压脉冲的示意图;
[0054] 图8A示出了本申请实施例提供的TLC的八个阈值电压分布对应第一次编程阶段的编程时长的一个示意图;
[0055] 图8B示出了本申请实施例提供的TLC的八个阈值电压分布对应验证阶段的一个示意图;
[0056] 图8C示出了本申请实施例提供的TLC的八个阈值电压分布对应第二次编程阶段的编程时长的一个示意图;
[0057] 图9示出了本申请实施例提供的TLC的八个阈值电压分布最后一个编程态P7对应编程时长的一个示意图;
[0058] 图10A示出了本申请实施例提供的存储块1次擦除循环对应的电荷泄露的效果示意图;
[0059] 图10B示出了本申请实施例提供的存储块3000次擦除循环对应的电荷泄露的效果示意图;
[0060] 图11示出了本申请实施例提供的QLC的十六个阈值电压分布对应编程时长的一个效果示意图;
[0061] 图12示出了根据本申请提供的存储器控制器的操作方法的示例性的流程示意图;
[0062] 图13示出了根据本申请提供的一些方面的具有存储器器件装置系统的示例性存储器器件装置卡的示意图;
[0063] 图14示出了根据本申请的一些方面的具有存储器器件装置系统的示例性固态驱动器(SSD)的示意图。

具体实施方式

[0064] 下面将结合附图,对本申请一些实施方案中的技术方案进行清楚、完整地描述,显然,所描述的实施方案仅仅是本申请一部分实施方案,而不是全部的实施方案。基于本申请所提供的实施方案,本领域普通技术人员所获得的所有其他实施方案,都属于本申请保护的范围。
[0065] 在本申请的描述中,需要理解的是,术语“中心”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
[0066] 除非上下文另有要求,否则,在整个说明书权利要求书中,术语“包括”被解释为开放、包含的意思,即为“包含,但不限于”。在说明书的描述中,术语“一个实施方案”、“一些实施方案”、“示例性实施方案”、“示例性地”或“一些示例”等旨在表明与该实施方案或示例相关的特定特征、结构、材料或特性包括在本申请的至少一个实施方案或示例中。上述术语的示意性表示不一定是指同一实施方案或示例。此外,所述的特定特征、结构、材料或特点可以以任何适当方式包括在任何一个或多个实施方案或示例中。
[0067] 以下,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本申请实施方案的描述中,除非另有说明,“多个”的含义是两个或两个以上。
[0068] 在描述一些实施方案时,可能使用了“耦接”和“连接”及其衍伸的表达。例如,描述一些实施方案时可能使用了术语“连接”以表明两个或两个以上部件彼此间有直接物理接触或电接触。又如,描述一些实施方案时可能使用了术语“耦接”以表明两个或两个以上部件有直接物理接触或电接触。然而,术语“耦接”也可能指两个或两个以上部件彼此间并无直接接触,但仍彼此协作或相互作用。这里所公开的实施方案并不必然限制于本文内容。
[0069] “A、B和C中的至少一个”与“A、B或C中的至少一个”具有相同含义,均包括以下A、B和C的组合:仅A,仅B,仅C,A和B的组合,A和C的组合,B和C的组合,及A、B和C的组合。
[0070] “A和/或B”,包括以下三种组合:仅A,仅B,及A和B的组合。
[0071] 本文中“适用于”或“被配置为”的使用意味着开放和包容性的语言,其不排除适用于或被配置为执行额外任务或步骤的设备。
[0072] 另外,“基于”的使用意味着开放和包容性,因为“基于”一个或多个所述条件或值的过程、步骤、计算或其他动作在实践中可以基于额外条件或超出所述的值。
[0073] 如本文所使用的那样,“约”、“大致”或“近似”包括所阐述的值以及处于特定值的可接受偏差范围内的平均值,其中所述可接受偏差范围如由本领域普通技术人员考虑到正在讨论的测量以及与特定量的测量相关的误差(即,测量系统的局限性)所确定。
[0074] 在本申请的内容中,“在……上”、“上方”、和“之上”的含义应当以最宽泛的方式解释,使得“在……上”不仅意味着“直接在某物上”,而且还包括其间具有中间特征或层的“在某物上”的含义,并且“上方”或“之上”不仅意味着在某物“上方”或“之上”,还包括其间没有中间特征或层的在某物“上方”或“之上”的含义(即,直接在某物上)。
[0075] 图1示出了根据本申请的一些方面的示例性存储器器件30的示意电路图。存储器器件30可以包括存储器单元阵列301和耦合到存储器单元阵列301的外围电路302。存储器
单元阵列301可以是NAND闪存存储器器件单元阵列,在该NAND闪存存储器器件单元阵列中,以NAND存储器器件的存储串308的阵列的形式设置存储单元306,其中每个NAND存储器器件
的存储串308在衬底(未示出)上方垂直地延伸。在一些实施方式中,每个NAND存储器器件的存储串308包括串联耦合并且垂直地堆叠的多个存储单元306。每个存储单元306可以保持
连续的模拟值,例如,电压或电荷,其取决于在存储单元306的区域内捕获的电子的数量。每个存储单元306可以是包括浮栅晶体管的浮栅类型的存储器器件单元,或者是包括电荷捕
获晶体管的电荷捕获类型的存储器器件单元。注意,出于说明性目的,本申请的NAND存储器器件仅是存储器器件设备的一个示例。存储器器件30可以包括任何合适的固态、非易失性
存储装置,例如,NOR闪存、FeRAM、PCM、MRAM、STT‑RAM或RRAM等。
[0076] 图1示出包含外围电路的示例性存储器器件的示意图。在图1所示,示例性存储器器件可以包括存储器单元阵列301和耦合在所述存储器单元阵列301的外围电路302,其中,存储器单元阵列301可以是NAND闪存存储阵列,其中,存储单元306以NAND存储串308的阵列的形式提供,每个NAND存储串308在衬底(未示出)上方垂直地延伸。在一些实施例中,每个NAND存储串308包括串联耦合并且垂直地堆叠的多个存储单元306。每一个存储单元306可
以保持连续模拟值,例如,电压或电荷,其取决于在存储单元306的存储区域内捕获的电子的数量。每一个存储单元306可以是包括浮栅晶体管的浮栅类型的存储单元,或者是包括电荷捕获晶体管的电荷捕获类型的存储单元。
[0077] 如图1所示,每个NAND存储串308可以包括在其源极端处的源极选择栅极(SSG)310和在其漏极端处的漏极选择栅极(DSG)312。SSG 310和DSG 312可以被配置为在读取和编程
(或写入)操作期间激活选定的NAND存储串308(阵列的列)。在一些实施例中,同一存储块
304中的NAND存储串308的源极通过同一源极线(SL)314(比如,公共SL)耦合。换句话说,根据一些实施方式,同一存储块304中的所有NAND存储串308具有阵列公共源极(ACS)。根据一些实施方式,每个NAND存储串308的DSG312耦合到相应的位线316,可以经由输出总线(未示出)从位线316读取和写入数据。在一些实施例中,每个NAND存储串308被配置为通过经由一个或多个DSG线313将选择电压(比如,高于具有DSG312晶体管的阈值电压)或取消选择电压
(比如,0V)施加到相应的DSG 312和/或经由一个或多个SSG线315将选择电压(比如,高于具有SSG310的晶体管的阈值电压)或取消选择电压施加到相应的SSG 310而被选择或被取消
选择。
[0078] 如图1所示,NAND存储串308可以被组织为多个存储块304,多个存储块304的每一个可以具有公共源极线314(比如,耦合到地)。在一些实施例中,每个存储块304是具有擦除操作的基本数据单位,即,同一存储块304上的所有存储单元306同时被擦除。为了擦除选定存储块304中的存储单元306,可以用擦除电压(Vers)(比如,高正电压20V或更高)偏置耦合到选定存储块304以及与选定存储块304同一面(Plane)中的未选定存储块304的源极线
314。应该理解,在一些示例中,可以在半块级、在四分之一块级耦或者具有任何合适数量的块或块的任何合适的分数的级执行擦除操作。相邻NAND存储串308的存储单元306可以通过
字线318耦合,字线318选择存储单元306的哪一行接收读取和编程操作。在一些实施例方式中,耦合在同一字线318的存储单元306称之为页320。页320是用于编程操作或读取操作的
基本数据单位,以位为单元的一页320的大小可以与一个存储块304中由字线318耦合的
NAND存储串308的数量相关。每个字线318可以包括在相应页320中的每一个存储单元306处
的多个控制栅极(栅极电极)以及耦合控制栅极的栅极线。
[0079] 在一些实施方式中,每个存储单元306是具有两种可能的数据状态并且因此可以存储一位数据的单级存储单元(single‑level cell,SLC)。例如,第一数据状态“0”可以对应于第一电压范围,并且第二数据状态“1”可以对应于第二电压范围。在一些实施方式中,每个存储单元306是能够以多于两种的数据状态存储多于单个位的数据。例如,多级存储单元(multi‑level cell,MLC)可以存储两位数据,三级存储单元(triple‑level cell,TLC)存储三位数据,或者四级存储单元(quad‑level cell,QLC)存储四位数据,或者,五级存储单元(penta‑level cell,PLC)。
[0080] 如图1中所示,可以将多个NAND存储器器件的存储串308组织为多个存储块304。在一些实施方式中,每个存储块304是用于擦除操作的基本数据单位,即,同一存储块304上的所有存储单元306同时被擦除。
[0081] 图2示出了根据本申请的一些方面的包括NAND存储器器件的示例性存储器单元阵列301的存储串308的截面的侧视图。如图2中所示,NAND存储器器件的存储串308可以在衬
底402上方垂直地延伸穿过堆叠结构404。衬底402可以包括(例如,单晶硅)、硅锗(SiGe)、砷化镓(GaAs)、锗(Ge)、绝缘体上硅(silicon on insulator,SOI)、绝缘体上锗(germanium on insulator,GOI)或者任何其他合适的材料。堆叠结构404可以包括交替的导电层406和
电介质层408。堆叠结构404中的导电层406和电介质层408的数量可以确定存储器单元阵列
301中的存储单元306的数量。导电层406可以包括导电材料,导电材料包括但不限于钨(W)、钴(Co)、(Cu)、(Al)、多晶硅、掺杂硅、硅化物或其任何组合。
[0082] 基于图1所示的存储器单元阵列301,图3示出了一些示例性外围电路302的示意电路图,外围电路302包括读/写电路504、列解码器506、行解码器508、电压发生器510、控制电路512、寄存器514、输入/输出(input/output,I/O)电路516。应当理解,在一些示例中,还可以包括图3中未示出的附加外围电路。存储器单元阵列301可通过字线经由行解码器508以
及位线经由列解码器506寻址。外部信号和数据经由信号线在主机和存储器控制器之间传
送。其中,控制电路512被配置为与读/写电路504协作以对存储器单元阵列301执行存储操
作。控制电路512包括状态机、片上地址解码器和功率控制模块,其中,状态机被配置为提供存储操作的芯片级控制;片上地址解码器被配置为在主机或存储系统100的存储器控制器
使用的地址到列解码器506、行解码器508使用的硬件地址之间提供地址接口。功率控制模
块被配置为在每次存储操作器件控制提供给字线和位线的功率和电压。
[0083] 图4示出了电子设备1000的结构示意图,电子设备1000包括主机20,主机20可以将命令CMD和/或数据发送到存储系统100以存储在存储器器件30中,并且可以从存储系统100
接收从存储器器件30读取到的响应RES和/或数据。例如,主机20可以实现为和/或包括应用处理器(AP)和/或片上系统(SoC)。例如,主机20可以实现为和/或包括但不限于集成电路、主板和/或数据库服务器
[0084] 主机20可以通过各种接口与存储系统100通信。在一些示例实施例中,主机20使用电缆经由可热插拔的接口电连接到存储系统100。存储器控制器40可以控制存储系统100的
所有操作。存储器控制器40可以响应于来自主机20的命令CMD,将数据写入存储器器件30
和/或从存储器器件30读取数据。
[0085] 上面讨论的存储系统100中的存储器单元阵列301可以被擦除、编程和读取。由于存储系统100中的存储单元可以被布置为单级存储单元或者多级存储单元,而多级存储单
元又可以分为多级存储单元MLC、三级存储单元TLC以及四级存储单元QLC等等,因此,对于一个存储页,在成功编程过程(具有验证)结束时,被编程的存储单元的阈值电压应当在一
个或者多个分布内。在实际应用过程中,不同种类的存储单元,具有的数据状态是不相同
的。
[0086] 在SLC中,其对应两个阈值电压分布:E和P,其中,阈值电压分布E对应于擦除数据状态;阈值电压分布P对应于编程数据状态,擦除数据状态对应的阈值电压分布E所具有的阈值电压小于编程数据状态阈值电压分布P所具有的阈值电压。因此,在阈值电压分布E中
具有阈值电压的存储单元处于擦除数据状态;在阈值电压分布P中具有阈值电压的存储单
元处于编程数据状态。在一些实施例中,SLC类型的存储单元存储一位数据,具体的,被擦除的存储单元存储数据“1”,被编程的存储单元存储数据“0”。
[0087] 如图5A所示,在MLC中,其对应四个阈值电压分布:L0、L1、L2及L3,阈值电压依次升高。同样的,阈值电压分布L0对应于擦除数据状态;阈值电压分布L1、L2及L3对应于编程数据状态。在一些实施例中,MLC类型的存储单元存储两位数据,具体的,被擦除的存储单元存储数据“11”,被编程到L1数据状态的存储单元存储数据“10”,被编程到L2数据状态的存储单元存储数据“01”,被编程到L3数据状态的存储单元存储数据“00”。
[0088] 如图5B所示,在TLC中,其对应八个阈值电压分布:P0、P1、P2、P3、P4、P5、P6、P7,阈值电压依次升高。同样的,阈值电压分布P0对应于擦除数据状态;阈值电压分布P1、P2、P3、P4、P5、P6、P7对应于编程数据状态。在一些实施例中,TLC类型的存储单元存储三位数据,具体的,被擦除的存储单元可以存储数据“111”,被编程到P1数据状态的存储单元存储数据“110”,被编程到P2数据状态的存储单元存储数据“101”,被编程到P3数据状态的存储单元存储数据“100”,被编程到P4数据状态的存储单元存储数据“011”,被编程到P5数据状态的存储单元存储数据“010”,被编程到P6数据状态的存储单元存储数据“001”,被编程到P7数据状态的存储单元存储数据“000”。
[0089] 在QLC中,其对应16个阈值电压分布:P0、P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14、P15,阈值电压依次升高。同样的,阈值电压分布P0对应于擦除数据状态;阈值电压分布P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14、P15对应于编程数据状态,对于数据状态N,该数据状态N具有比数据状态N‑1更高的阈值电压和比数据状态N+1更低的阈值电压。在一些实施例中,QLC类型的存储单元存储四位数据,具体的,被擦除的存储单元可以存储数据“1111”,被编程到P1、P2、P3、P4、P5、P6、P7、P8、P9、P10、P11、P12、P13、P14、P15数据状态的存储单元可以依次存储数据“0111、0101、0001、1001、1000、0000、0100、0110、0010、0011、1011、1010、1110、1100、1101”。
[0090] 需要说明的是,前述不论是那种类型的存储单元,每一个阈值电压分布(数据状态)对应于存储在存储单元中的一组数据位的预定值,编程到存储单元中的数据与存储单
元的阈值电压的电平之间的具体关系取决于存储单元采用的数据编码方案,比如,使用格
雷码的编码方案。格雷码的编码方案是一个一一映射的编码,以将数字转化为二进制编码,并满足一个条件即可:相邻的两个数字的格雷编码一定只有一个二进制位的差距,并且最
后一个数字和第一个数字也满足这个条件。例如如下这个映射,就是一个格雷编码:0‑000,
1‑001,2‑011,3‑010,4‑110,5‑111,6‑101,7‑100。其中,(0,1),(1,2),……,(6,7),(7,0)之间,都只有一个位的差距。
[0091] 在实际应用中,对于具有多数据状态的闪存设备,比如,NAND闪存设备,在对存储单元执行编程时为了减少字线之间的耦接和干扰,在一些实施例中,对于存储页或块进行编程时可以采用多遍编程,以实现更紧密的阈值电压分布。在一些实施例中,所述多遍编程可以包括两遍编程、三遍编程等等,其中,所述两遍编程可以包括第一遍粗略编程和精细编程;所述三遍编程可以包括第一遍粗略编程、第二遍粗略编程和精细编程。这里,所述多遍编程中最后一遍编程为精细编程;第一遍粗略编程、第二遍粗略编程统称为粗略编程,也可以均称之为非最后遍编程。在一些实施例中,不论是非最后遍编程还是精细编程均可以是
增量式步进脉冲编程(ISPP)方式,该ISPP方案可以是基于步进电压逐步提高字线偏置电压
的同时对所选择的存储页中的存储单元进行若干次编程,其中,增量式步进脉冲Vpgm可参
考图6。为了兼顾编程速度与具有较宽的读取窗口裕度(RWM,ReadWindowMargin),在一些实施例中,在非最后遍编程(各粗编程阶段),在选择的字线(被选择耦接有需要被编程存储单元的字线)上施加具有较大设定步长(比如,0.5伏特(V))的编程电压脉冲,以将耦接到所述选择的字线上的存储单元快速的编程到中间数据状态;在各粗略编程阶段之后进行的精细
编程阶段,在选择的字线上施加具有较小设定步长(比如,0.2V)的编程电压脉冲,以将耦接到所述选择的字线上的存储单元准确的编程到最终数据状态,也即,在一些实施例中,在所述多遍编程的每一遍编程中,所述编程操作中施加的编程电压/脉冲按照不同的设定步长
增大,具体的设定步长可以根据实际编程情况由设计人员设置。其中,所说中间数据状态为在被编程的存储单元未达到最终数据状态即最后一个编程数据状态前的一个或多个数据
状态,比如,以TLC类型存储单元为例,存储单元的最终数据状态为S3,则其中间数据状态可以为S1、S2至少之一;也可以是其他可验证的数据状态。所述最终数据状态为用户期望被编程的存储单元被编程到的数据状态,比如,前述的对TLC类型存储单元编程时,最终数据状态为S3。
[0092] 应该理解的是,在对存储单元编程期间,为了了解被编程的存储单元是否编程至目标编程数据状态,在施加两次编程电压脉冲(施加编程电压脉冲的过程也称之为编程操
作)之间,增设验证操作以确定被编程的存储单元是否编程至目标的数据状态,也即,编程操作和验证操作交替进行。所说的验证操作可以是一个或者一组验证电压脉冲,验证电压
脉冲如图7所示,图7中,1001和1003为步进编程脉冲Vpgm;1002为验证电压脉冲。基于前述描述,也就是,所述多遍编程可以包括至少一遍粗略编程和一编程精细编程,每一遍编程包括至少一个编程操作和至少一个验证操作。
[0093] 随着NAND Flash的容量越来越大,存储单元对应储存的数据位数也越来越大。即SLC→MLC→TLC→QLC→PLC对应不同数据状态的阈值电压分布的个数越来越多,基于上述
示例,设定每个编程位阶对应一个阈值电压分布,下文所述的编程位阶即上述的不同数据
N
状态(包括一个擦除态和2‑1个编程态,N为存储单元至多存储的数据的位数)。
[0094] 存储器控制器40会将主机20处接收到的数据编程写入到存储器器件30中,并将从存储器器件30读取的数据解码发送给主机20。随着存储器器件容量的增大,对应阈值电压
的态的个数越来越多,其中,在编程过程中部分态的编程时长最长、数据保留能力最差、干扰抑制状态最差,导致存储器器件的性能受到影响。
[0095] 下面结合附图及具体实施例对本申请作进一步详细的说明。
[0096] 请参阅图4,本申请实施例提供一种存储器控制器40,所述存储器控制器40用于控N
制存储器器件30,所述存储器器件30包括至少一个存储单元,所述存储单元提供至多2 个
编程位阶用于存储N位的数据,N为正整数,所述存储器控制器40被配置为执行如图12所示
的存储系统100的操作方法的流程步骤:
[0097] S100、在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据。
[0098] 在一些示例中,如上述实施例所述不同的数据状态对应存储数据的二进制编码不N
同,不同存储单元对应储存的数据位数具有2 个不同的数据状态,由于编程位阶对应数据
N N N
状态,因此,2个编程位阶分别对应2 个二进制编码。2 个二进制编码包括一个擦除数据状N
态对应的二进制编码,以及2‑1个编程数据状态对应的二进制编码。
[0099] 存储器控制器40接收主机发送的待存数据,存储器控制器40在将从主机处接收的待存数据写入至存储器器件的存储单元之前,需要先对待存数据进行核验,判断是否能够
从待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码。预设待替换编程位
阶以及预设顶替编程位阶的选择参见下文实施例所述。
[0100] 在一些实施例中,所述存储器控制器40还被配置为:
[0101] 设定2N个编程位阶中的一个编程位阶为预设待替换编程位阶,以及所述预设待替换编程位阶所对应的二进制编码为待替换二进制编码;
[0102] 设定2N个编程位阶中的另一个编程位阶为预设顶替编程位阶,以及所述预设顶替编程位阶所对应的二进制编码为顶替二进制编码。
[0103] 在一些示例中,存储器控制器40设定2N个编程位阶中的一个编程位阶为预设待替N
换编程位阶,以及2个编程位阶中的另一个编程位阶为预设顶替编程位阶,这样,预设待替换编程位阶所对应的二进制编码属于待替换二进制编码,预设顶替编程位阶所对应的二进
制编码属于顶替二进制编码。本申请通过一个预设待替换编程位阶所对应的待替换二进制
编码与一个预设顶替编程位阶所对应的顶替二进制编码进行替换,能够减少预设待替换编
程位阶和预设顶替编程位阶的替换关系的数据储存量,节省存储器控制器40的数据算力。
[0104] 在一些实施例中,所述存储器控制器40还被配置为:
[0105] 设定2N个编程位阶中的至少两个编程位阶为预设待替换编程位阶,以及所述预设待替换编程位阶所对应的二进制编码为待替换二进制编码;
[0106] 设定2N个编程位阶中的另外至少两个编程位阶为预设顶替编程位阶,以及所述预设顶替编程位阶所对应的二进制编码为顶替二进制编码。
[0107] 在一些示例中,存储器控制器40设定2N个编程位阶中的至少两个编程位阶为预设N
待替换编程位阶,以及2个编程位阶中的另至少两个编程位阶为预设顶替编程位阶,这样,至少两个预设待替换编程位阶各自所对应的二进制编码均属于待替换二进制编码,至少两
个预设顶替编程位阶各自所对应的二进制编码均属于顶替二进制编码。本申请通过至少两
个预设待替换编程位阶所对应的待替换二进制编码与至少两个预设顶替编程位阶所对应
的顶替二进制编码进行替换,虽然由于至少两个预设待替换编程位阶与至少两个预设顶替
编程位阶的替换组合变多,增加了预设待替换编程位阶和预设顶替编程位阶的替换关系的
数据储存量,但是,能够提高待存数据进行编程位阶替换的灵活性,整体可提升存储器器件的性能例如降低编程时长、降低擦除循环的时间等。
[0108] 在一些实施例中,所述预设待替换编程位阶为各编程位阶中编程时长最长的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中编程时长最短的M个编程位阶;其中M<N,且M和N为正整数。
[0109] 在一些示例中,存储器控制器40对于存储器器件以递增步进脉冲编程(ISPP)方案操作来施加编程电压。ISPP方案是通过从预定编程起始电压起以步进电压为单位增加编程
电压来实施。在施加编程电压后,施加检验电压到已编程存储块用于编程检验。在编程操作期间,存储器控制器40接收编程(或写)命令和存储地址信息。存储器控制器40将存储地址
部分地译码为行地址信息和列地址信息。存储器控制器40控制电压发生器510以产生用于
在存储器单元阵列301中编程数据的编程电压Vpgm,并向行解码器508提供行地址信息。行
解码器508响应于行地址信息选择性地向存储器单元阵列301的字线WL提供来自电压发生
器510的字线电压。至少在该示例实施例中,行解码器508可以响应于块地址选择存储块,并选择其中的页。在施加电压时,行解码器508施加足够高的电压以导通串选择晶体管SST,并向地源极晶体管GST施加低电压。行解码器508向未选择的存储单元晶体管MCT提供非选择
电压,以便防止这些未选择的存储单元MC改变其阈值分布状态。行解码器508还向一个或多个所选存储单元的字线WL施加编程电压Vpgm。编程电压Vpgm以初始电压开始,并在每个编
程循环递增增加,直到数据被编程,在确定数据被编程成功后说明校验通过。例如,编程电压可以从15V至20V变动。同理,列解码器506可参照行解码器进行编程一样以递增步进脉冲编程(ISPP)方案进行编程。总之,执行若干迭代过程的循环,每个循环包括用于使阈值电压递增的程序脉冲应用步骤和用于确定是否已经达到目标阈值电压的验证读取步骤。
[0110] 如图8A‑8C和图9所示,图8B中曲线Q1对应所有存储单元均处于擦除状态,曲线Q2表示P0对应的擦除抑制情况,曲线Q3表明7个编程态进入编程状态。存储器控制器40通过外N
围电路302对存储块进行补充施加编程电压Vpgm时,由于2个态中的最高态的数据保留能
N
力比较差,并且,对存储单元的2个态施加编程电压进行编程期间是从第一个编程态开始
N
至最后一个编程态的顺序进行编程,因此,2个态中的最高态的编程时长也是最长的。基于N
此,存储器控制器40将为2 个编程位阶中编程时长最长的M个编程位阶设定为预设待替换
N
编程位阶,将2 个编程位阶中编程时长最短的M个编程位阶为预设顶替编程位阶,也就是
说,除了M个编程时长最长的编程位阶以外剩余的M个都可设定为预设顶替编程位阶。以TLC为例,预设待替换编程位阶是阈值电压分布P0对应的擦除数据状态,预设顶替编程位阶是
阈值电压分布P7对应的编程数据状态。通过本申请实施例能够减少存储器器件的编程时
长。
[0111] 在一些实施例中,所述预设待替换编程位阶为各编程位阶中数据保留能力最差的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中数据保留能力最好的M个编程位
阶;其中M<N,且M和N为正整数。
[0112] 在一些示例中,如图10A和图10B所示,示例性的示出了存储块进行1次擦除循环和3000次擦除循环的电荷泄露情况,对于数据丢失的情况,随着存储块的擦除循环次数的增
N
多,最高态的电荷泄漏会更严重。基于此,存储器控制器40将为2个编程位阶中数据保留能N
力最差的M个编程位阶设定为预设待替换编程位阶,将2 个编程位阶中数据保留能力最好
的M个编程位阶为预设顶替编程位阶,也就是说,除了M个数据保留能力最差的编程位阶以
外剩余的M个都可设定为预设顶替编程位阶。以QLC为例,预设待替换编程位阶是阈值电压
分布P13对应的编程数据状态,预设顶替编程位阶是阈值电压分布P0对应的擦除数据状态。
通过本申请实施例能够提升存储器器件的数据保留能力,间接缩短编程时长。
[0113] 在一些实施例中,所述预设待替换编程位阶为各编程位阶中干扰抑制状态最差的M个编程位阶;所述预设顶替编程位阶为各所述编程位阶中干扰抑制状态最好的M个编程位
阶;其中M<N,且M和N为正整数。
[0114] 在一些示例中,存储器器件的干扰包括但是不限于读取干扰、写入干扰、编程干扰。对于干扰的情况,随着存储块的擦除循环次数的增多,最高态的电荷泄漏会更严重。基N
于此,存储器控制器40将为2 个编程位阶中干扰抑制状态最差的M个编程位阶设定为预设
N
待替换编程位阶,将2 个编程位阶中干扰抑制状态最好的M个编程位阶为预设顶替编程位
阶,也就是说,除了M个干扰抑制状态最差的编程位阶以外剩余的M个都可设定为预设顶替
编程位阶。通过本申请实施例能够提升存储器器件的干扰抑制能力,提升存储器器件数据
储存的准确性。
[0115] 例如,存储器控制器40将为2N个编程位阶中读取干扰抑制状态最差的M个编程位N
阶设定为预设待替换编程位阶,将2个编程位阶中读取干扰抑制状态最好的M个编程位阶
为预设顶替编程位阶,可以减小或消除数据读取操作对存储器器件上存储电荷的影响,进
而可以有效地抑制读取干扰发生的机率,提高存储器器件内所储存的数据被正确读取的概
率,而且有助于提高存储单元内存储数据的可读取次数和存储的时间。
[0116] S200、将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志
符。
[0117] 在一些示例中,如果存储器控制器40找到预设待替换编程位阶所对应的待替换二进制编码,那么,存储器控制器40将所查找到的所述待替换二进制编码置换为预设顶替编
程位阶所对应的顶替二进制编码,并针对被替换成顶替二进制编码的待替换二进制编码对
应的预设待替换编程位阶产生一个替位标志符,这个替位标志符能够标记区分待存数据中
原来的预设顶替编程位阶以及从预设待替换编程位阶替换变更为新的预设顶替编程位阶。
另外,本申请的替位标志符能够与用于存储待存数据的存储单元的存储地址相关联,以便
下文实施例中存储器控制器40能够从存储器器件中读取得到读取数据后,存储器控制器40
通过下文实施例将读取数据、以及与存储单元的存储地址连结的替位标志符进行解密得到
原始的待存数据并发送给主机20。
[0118] 例如,以QLC为例进行二进制编码替换,假设待存数据中包括编程位阶P0对应的二进制编码1111,以及编程位阶P15对应的二进制编码1101,即待存数据包括“1111”和
“1101”,如果预设待替换编程位阶为P15,预设顶替编程位阶为P0,那么存储器控制器40将待存数据中预设待替换编程位阶P15对应的二进制编码1101替换为另一个二进制编码
1111,并且存储器控制器40将对待测数据中由原来的二进制编码1101变更为1111使用一个
替位标志符进行标记,以便区分待存数据中原来的顶替二进制编码以及从待替换二进制编
码变更后的顶替二进制编码。
[0119] 本申请通过修改存储器控制器40中的随机发生编码器(Randomizer Encoder)的数据编码方式来减少阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时
长的同时,也能减少读取干扰、编程干扰等,此外,还能提高存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
[0120] 在一些实施例中,所述存储器控制器40还被配置为:
[0121] 将所述待存数据与所述待替换二进制编码相比较;
[0122] 若所述待存数据中存在所述待替换二进制编码,确定所述待存数据中存在所述预设待替换编程位阶。
[0123] 在一些示例中,主机发送给存储器控制器40的数据所含字符种类多,字符种类可能不仅仅包括数字、字母和汉字,但是,主机在发送数据给存储系统中的存储器器件进行储存之前,会将待存数据中的非二进制的字符(如八进制数据2‑7、十进制数据2至9、英文字符等)转化为二进制表达的二进制编码数据,即待存数据也是用二进制字符0和1组成的一组
数据。
[0124] 本申请中数据与存储器器件的存储单元至少存储的N位的数据相关,也就是说,待存数据的数据长度或者数据大小C等于存储单元所支持存储数据的位数N的K倍,C=KN,C、K和N均为正整数。存储器控制器40接收到主机发送的待测数据后,按照所连接存储器器件的存储单元可存储数据的位数N将二进制方式表达的待存数据划分为K个字符段,然后,存储
器控制器40查询下文实施例中预先设置的任意一个或多个待替换二进制编码进行比较。如
果待存数据对应的K个字符段存在至少一个与待替换二进制编码相同的字符段,那么就可
以确定待存数据中存在预设待替换编程位阶。反之,如果待存数据对应的K个字符段均与待替换二进制编码不相同,那么就可以确定待存数据中不存在预设待替换编程位阶。
[0125] 在一些实施例中,所述存储器控制器40还被配置为:储存所述替位标志符,以及所述待替换二进制编码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系。
[0126] 在一些示例中,存储器控制器40产生用来区分待存数据中原来的顶替二进制编码,以及从待替换二进制编码变更后的顶替二进制编码的替位标志符后,还将生成的替位
标志符储存在本地存储空间内。此外,存储器控制器40还需要将待替换二进制编码与所述
替位标志符所标记的所述顶替二进制编码之间的替换关系,以便存储器控制器40能够从存
储器器件中读取得到读取数据后,存储器控制器40通过下文实施例将读取数据、待替换二
进制编码与替位标志符所标记的顶替二进制编码之间的替换关系、以及与存储单元的存储
地址连结的替位标志符进行解密得到原始的待存数据并发送给主机20。
[0127] 在一些实施例中,所述替位标志符为二进制数。
[0128] 在一些示例中,替位标志符可以是二进制数0或者二进制数1,或者多个二进制数0、多个二进制数1的组合。最优的,替位标志符为一位二进制数,这样,存储器控制器40能够减少对于替位标志符的数据储存占用空间。
[0129] 在一些实施例中,所述待替换二进制编码与所述顶替二进制编码相差一位。
[0130] 在一些示例中,待替换二进制编码与所述顶替二进制编码相差多位亦在本申请保护范围之内。本申请所有实施例中的待替换二进制编码与顶替二进制编码相差一位,这样,存储器控制器40能够直接将一位二进制数的替位标识符与用替位标识符所标记的顶替二
进制编码进行二进制的逻辑计算得到原始的待替换二进制编码。当然,例如,以MLC为例,顶替二进制编码是01,替位标志符是1,那么顶替二进制编码“01”与替位标志符“1”进行逻辑计算得到原始的待替换二进制编码为10。
[0131] 还例如,以QLC为例,顶替二进制编码是1110,替位标志符是1,那么顶替二进制编码“1110”与替位标志符“1”进行逻辑计算得到原始的待替换二进制编码为1111。
[0132] 示例性的,以QLC为例,QLC的16个编程位阶即16个态对应存储的数据如上述示例分别为P0至P15。以QLC为例,如图11所示,从上之下第一个曲线对应P15,从上之下倒数第一个曲线对应P0,在随机发生编码器(Randomizer Encoder)进行编码的过程中,如果顶替置
换的条件是缩短编程时长,那么可以直接将P15对应的二进制编码改成P0对应的二进制编
码,同时再加一个替位标志符帮助区分P0对应的二进制编码和从P15置换成P0对应的二进
制编码。其中的P15和P0的编码方式相差了1bit编码。
[0133] 如果顶替置换的条件是提升数据保留能力,那么可以直接将P15对应的二进制编码改成P4对应的二进制编码,同时再加一个替位标志符帮助区分P4对应的二进制编码和从
P15置换成P4对应的二进制编码。其中的P15和P4的编码方式相差了1bit编码。
[0134] 如果顶替置换的条件是提升读取干扰抑制能力,那么可以直接将P0对应的二进制编码改成P13对应的二进制编码,同时再加一个替位标志符帮助区分P13对应的二进制编码
和从P0置换成P13对应的二进制编码。其中的P0和P13的编码方式相差了1bit编码。当然,也可以将P0对应的二进制编码改成P12对应的二进制编码,同时再加一个替位标志符帮助区
分P12对应的二进制编码和从P0置换成P12对应的二进制编码。其中的P0和P12的编码方式
相差了2bit编码。
[0135] 本申请通过置换储存至存储器器件中的待存数据的二进制编码方式,可以减小存储器器件的编程时长,还可以避免对于存储器器件进行PCHTDR测试过程中最高态的电荷泄
露,即提升存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除
循环开销,提升存储器器件的使用寿命。
[0136] 在一些实施例中,所述存储器控制器40还被配置为:
[0137] 基于读取命令中的存储地址从所述存储器器件中读取对应的读取数据;
[0138] 在所述存储地址有对应的所述替位标志符时,将所述读取数据中由所述替位标志符所标记的所述顶替二进制编码置换为对应的待替换二进制编码。
[0139] 在一些示例中,本申请实施例与上述将待存数据进行二进制编码置换的流程相反,即存储器控制器40接收主机发送的读取命令,读取命令中包括待从存储器器件中读取
的数据的存储地址。这样,存储器控制器40根据存储地址从存储器器件中读取得到对应于
存储地址的读取数据。
[0140] 本申请中存储器控制器40从存储器器件中读取得到的读取数据为二进制表达的二进制编码数据,即读取数据也是用二进制字符0和1组成的一组数据。存储器控制器40接
收到主机发送的读取命令后,从存储器器件中的K个存储单元中读取K个位数为N的字符段,K个位数为N的字符段组成一个数据长度或数据大小C的读取数据,C=KN,C、K和N均为正整数。
[0141] 由于替位标志符与存储单元的存储地址连结,因此,存储器控制器40可以知道从哪个存储单元中读取到的位数为N的字符段是存储器控制器40之前编程写入存储器器件时
进行了二进制编码置换的。故而,存储器控制器40从存储器器件中多个存储单元读取得到
读取数据后,根据与存储单元的存储地址连结的替位标志符、待替换二进制编码与替位标
志符所标记的顶替二进制编码之间的替换关系,存储器控制器40将从多个存储单元读取到
的K个位数为N的读取数据中通过替位标志符标记的顶替二进制编码置换为待替换二进制
编码,从而得到发送给主机的反馈数据。然后,存储器控制器40将读取数据中的顶替二进制编码置换为待替换二进制编码后得到的反馈数据发送给主机20以响应主机20发送的读取
命令。
[0142] 在另一些实施方案中,本申请实施例还提供一种存储器器件,所述存储器器件包N
括至少一个存储单元,所述存储单元提供至多2 个编程位阶用于存储N位的数据,N为正整
数,所述存储器器件被配置为:
[0143] 接收存储器控制器40传输的顶替二进制编码;其中,所述顶替二进制编码为所述存储器控制器40用于在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编
码时,以将所述待替换二进制编码进行置换为预设顶替编程位阶所对应的二进制编码;所
述待存数据为待写入至所述存储单元的数据;
[0144] 根据所述存储器控制器40传输的顶替二进制编码对所述存储单元进行编程以储存所述待存数据。
[0145] 在一些示例中,存储器器件与存储器控制器40连接以接收存储器控制器40传输的发送数据,发送数据实质上就是存储器控制器40接收到主机发送的待存数据后,由存储器
控制器40对待存数据进行二进制编码转换后得到的数据。发送数据包括顶替二进制编码以
及未发生置换的非顶替二进制编码,待存数据中的未发生置换的非顶替二进制编码与发送
数据中的未发生置换的非顶替二进制编码相同。存储器控制器40传输发送数据中的顶替二
进制编码是存储器控制器40接收到主机发送的待存数据时进行置换得到的,具体置换得到
顶替二进制编码的流程参见上述图所示的存储器控制器40的操作方法对应的实施例。存储
器器件接收到存储器控制器40传输的发送数据后,根据发送数据中若干个顶替二进制编码
对若干个存储单元进行编程,以便若干个存储单元可以储存待存数据中由待替换二进制编
码进行置换得到的顶替二进制编码。另外,存储器器件对于发送数据中的未发生置换的非
顶替二进制编码数据按照原来的施加编程电压进行编程方式进行编程,这样存储器器件就
能将主机20发送的待存数据进行写入保存。
[0146] 在一些实施例中,所述存储器器件还被配置为:
[0147] 储存替位标志符,以及所述待替换二进制编码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系;所述替位标志符为所述存储器控制器40产生的连结所述顶
替二进制编码的对应存储地址的标志。
[0148] 在一些示例中,存储器器件也可以在存储器控制器40生成替位标志符后,接收并储存存储器控制器40所生成的替位标志符。另外,存储器器件还可以储存待替换二进制编
码与所述替位标志符所标记的所述顶替二进制编码之间的替换关系。由存储器器件进行储
存替位标志符能够直接对存储有顶替二进制编码的储存单元的存储地址进行标记,更有利
于主机根据读取命令进行二进制编码置换得到反馈数据。
[0149] 在一些实施例中,所述存储器器件还被配置为:所述存储单元的编程位阶小于2N。
[0150] 在一些示例中,减少存储器器件中各存储单元对应编程位阶的阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时长的同时,也能减少读取干扰、编程干扰等,另外还能提高存储器器件的数据保留能力等。
[0151] 本申请通过修改存储器控制器40中的随机发生编码器(Randomizer Encoder)的数据编码方式来减少阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时
长的同时,也能减少读取干扰、编程干扰等,此外,还能提高存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
[0152] 在另一些实施方案中,本申请实施例还提供一种存储系统,包括:
[0153] 存储器器件,所述存储器器件包括至少一个存储单元,所述存储单元提供至多2N个编程位阶用于存储N位的数据,N为正整数;以及
[0154] 存储器控制器40,用于控制所述存储器器件,其中,所述存储器控制器40被配置为:
[0155] 在待存数据中查找预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
[0156] 将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地址的替位标志符。
[0157] 本申请通过修改存储器控制器40中的随机发生编码器(Randomizer Encoder)的数据编码方式来减少阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时
长的同时,也能减少读取干扰、编程干扰等,此外,还能提高存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
[0158] 在另一些实施方案中,本申请实施例还提供一种存储系统的操作方法,包括:存储器器件以及上述实施例所述的存储器控制器40,所述存储器器件包括至少一个存储单元,N
所述存储单元提供至多2 个编程位阶用于存储N位的数据,N为正整数;所述操作方法包括
步骤:
[0159] 所述存储器控制器40在待存数据中查找到预设待替换编程位阶所对应的待替换二进制编码;所述待存数据为待写入至所述存储单元的数据;
[0160] 所述存储器控制器40将所述待存数据中的所述待替换二进制编码置换为预设顶替编程位阶所对应的顶替二进制编码,并产生一个连结所述顶替二进制编码对应的存储地
址的替位标志符;
[0161] 所述存储器器件接收所述存储器控制器40传输的所述顶替二进制编码,根据所述存储器控制器40传输的顶替二进制编码对所述存储单元进行编程以储存所述待存数据。
[0162] 在一些实施例中,所述操作方法还包括步骤:
[0163] 所述存储器控制器40基于读取命令中的存储地址从所述存储器器件中读取对应的读取数据;
[0164] 所述存储器控制器40在所述存储地址有对应的所述替位标志符时,将所述读取数据中由所述替位标志符所标记的所述顶替二进制编码置换为对应的待替换二进制编码。
[0165] 本申请通过修改存储器控制器40中的随机发生编码器(Randomizer Encoder)的数据编码方式来减少阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时
长的同时,也能减少读取干扰、编程干扰等,此外,还能提高存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
[0166] 其中,存储系统可以集成到各种类型的存储系统中,例如,包括在相同封装(例如,通用闪存存储(Universal Flash Storage,简称UFS)封装或嵌入式多媒体卡(EmbeddedMulti Media Card,简称eMMC)封装)中。也就是说,存储系统可以应用于并且封装到不同类型的电子产品中,例如,数据服务器、网络附接存储(network‑attached 
storage)、物联网(IoT)设备或便携式电子设备中的至少一种。便携式电子设备可以包括移动电话(例如手机)、个人计算机(PC)、台式计算机、平板电脑笔记本电脑、服务器、车载设备、游戏控制台、打印机定位设备、可穿戴设备、智能传感器、移动电源、企业数字助理(EDA)、数字静态照相机、数字摄像机、音频设备、便携式多媒体播放器(PMP)、个人导航设备(PND)、MP3播放器、手持游戏机、电子书、虚拟现实(Virtual Reality,简称VR)设备、增强现实(Augmented Reality,简称AR)设备或者其中具有存储器器件的任何其他合适的电子设
备。
[0167] 在一些示例中,如图4所示,存储系统100包括存储器控制器40和一个存储器器件,存储系统100可以被集成到如图13所示的存储卡设备150中。
[0168] 其中,存储卡设备150包括PC卡(PCMCIA,个人计算机存储卡设备150国际协会)、紧凑型闪存(Compact Flash,简称CF)卡、智能媒体(Smart Media,简称SM)卡、存储器器件棒、多媒体卡(Multimedia Card,简称MMC)、安全数码(Secure Digital Memory Card,简称SD)卡、UFS中的任一种。
[0169] 在另一些实施方案中,如图4所示,存储系统100包括存储器控制器40和多个存储器器件,存储系统100集成到如图14所示的固态硬盘(Solid State Drives,简称SSD)中。
[0170] 本申请的一些实施方案还提供了一种电子设备。电子设备可以是手机、台式计算机、平板电脑、笔记本电脑、服务器、车载设备、可穿戴设备(例如智能手表、智能手环、智能眼镜等)、移动电源、游戏机、数字多媒体播放器等中的任一种。
[0171] 本申请通过修改存储器控制器40中的随机发生编码器(Randomizer Encoder)的数据编码方式来减少阈值电压分布Vt对应的态的个数,可以帮助缩短存储器器件的编程时
长的同时,也能减少读取干扰、编程干扰等,此外,还能提高存储器器件的数据保留能力以增加数据的可靠性。另外,因为提升了数据保留能力,由于数据保留能力越强固件定期刷新的周期越少,因此还可以减少存储器器件的擦除循环开销,提升存储器器件的使用寿命。
[0172] 电子设备可以包括上文所述的存储系统100,还可以包括中央处理器CPU(CentralProcessing Unit,中央处理器)和缓存器(cache)等中的至少一种。电子设备可以是移动电话、台式计算机、膝上型计算机、平板计算机、车辆计算机、游戏控制台、打印机、定位设备、可穿戴电子设备、智能传感器、虚拟现实(virtual reality,VR)设备、增强现实(Augmented RealityAR)设备,或其中具有存储器器件的任何其他合适的电子设备。电子设备可以包括主机和存储系统100,存储系统100具有一个或多个存储器器件30和存储器控制
器40。主机可以包括电子设备的处理器,例如中央处理单元(central processing unit,
CPU),或片上系统(system‑on‑chip,SoC),例如应用处理器(application processor,AP)。
主机还可以包括用于与存储系统100耦接的存储接口,该存储接口被配置为遵守相应的协
议(例如NVMe、PCIe等协议),主机可以被配置为通过例如存储接口向存储器器件30发送数
据或从存储器器件30接收数据。为了向存储器器件30发送数据或从存储器器件30接收数
据,除了数据之外,主机还可以向存储系统100发送指令。存储器器件30可以是本申请中公开的任何存储器器件。
[0173] 根据一些实施方式,存储器控制器40耦合到存储器器件30和主机,并且被配置为控制存储器器件30。存储器控制器40具体可以由微处理器、微存储器控制器40(又名微存储器控制器40单元(MCU))、中央处理器(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(FPGA)、可编程逻辑设备(PLD)、状态机、门控逻辑单元、分立硬件电路或它们的组合,以及被配置为执行以下详细描述的各种功能的其他合适的硬件、固件和/或软件来实现。存储器控制器40可以管理存储在存储器器件30中的数据,并且通过其前段接口
与主机通信。在一些实施方式中,存储器控制器40被设计为用于在低占空比环境中操作,如安全数字(secure digital,SD)卡、紧凑型闪存(compact Flash,CF)卡、通用串行总线
(universal serial bus,USB)闪存驱动器、或用于在诸如个人计算机、数字相机、移动电话等的电子设备中使用的其他介质。在一些实施方式中,存储器控制器40被设计为用于在高
占空比环境SSD或嵌入式多媒体卡(embedded multi‑media‑card,eMMC)中操作,SSD或eMMC用作诸如智能电话、平板计算机、膝上型计算机等的移动设备的数据存储器器件以及企业
存储阵列。存储器控制器40可以被配置为控制存储器器件30的操作,例如读取、擦除和编程操作。
[0174] 存储器控制器40还可以被配置为管理关于存储在或要存储在存储器器件30中的数据的各种功能,包括但不限于坏块管理、垃圾收集、逻辑到编程地址转换、损耗均衡等。在一些实施方式中,存储器控制器40还被配置为处理关于从存储器器件30读取的或者被写入
到存储器器件30的数据的纠错码(error correction code,ECC)。存储器控制器40还可以
执行任何其他合适的功能,例如,格式化存储器器件30。存储器控制器40可以根据具体通信协议与外部设备(例如,主机)通信。例如,存储器控制器40可以通过各种接口协议中的至少一种与外部设备通信,接口协议可以是例如通用串行总线(universalserial bus,USB)协
议、多媒体卡(multimedia card,MMC)协议、外围部件互连(peripheralcomponent 
interconnection,PCI)协议、PCI高速(PCI‑express,PCI‑E)协议、高级技术附件(advanced technology attachment,ATA)协议、串行ATA协议、并行ATA协议、小型计算机小型接口
(small computer small interface,SCSI)协议、增强型小型磁盘接口(enhancedsmall 
disk interface,ESDI)协议、集成驱动电子设备(integrated drive electronics,IDE)协议、Firewire协议等。
[0175] 存储器控制器40和一个或多个存储器器件30可以集成到各种类型的存储系统中,例如,包括在相同封装(例如,通用闪存存储(universal Flash storage,UFS)封装或eMMC封装)中。也就是说,存储系统100可以实施并且封装到不同类型的终端电子产品中。在如图
13中所示的一个示例中,存储器控制器40和单个存储器器件30可以集成到存储卡设备150
中。存储卡设备150可以包括嵌入在电子设备中的内部存储器器件。例如,存储卡设备150可以包括PC卡(personal computer memory card internationalassociation,PCMCIA),个
人计算机存储器器件卡国际协会)、CF卡、智能媒体(smart media,SM)卡、存储器器件棒、多媒体卡(MMC、RS‑MMC、MMC micro)、SD卡(SD、mini SD、micro SD、SDHC)、UFS存储卡等。存储卡设备150还可以包括存储器器件卡连接器1501,该存储器器件卡连接器1501被配置为将
存储卡设备150耦合到主机。在如图14中所示的另一示例中,存储器控制器40和多个存储器器件30可以集成到SSD151即固态硬盘(Solid State Disk)中。SSD151还可以包括SSD连接
器1511,该SSD连接器1511被配置为将SSD151耦合到主机。在一些实施方式中,SSD151的存储容量和/或操作速度大于存储卡设备150的存储容量和/或操作速度。
[0176] 以上是对本申请实施例的较佳实施进行了具体说明,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法
及其核心思想;同时,对于本领域的技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
QQ群二维码
意见反馈