存储器系统及其操作方法与流程

文档序号:30139091发布日期:2022-05-21 03:26阅读:140来源:国知局
存储器系统及其操作方法与流程
存储器系统及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年11月19日提交的申请号为10-2020-0155418的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
3.本技术的实施例涉及一种存储器系统及其操作方法。


背景技术:

4.存储器系统包括响应于来自诸如计算机、服务器、智能电话、平板pc或其它电子装置的主机的请求而存储数据的数据存储装置或存储器装置。存储器系统的示例可以涵盖从传统的基于磁盘的硬盘驱动器(hdd)到基于半导体的数据存储装置,诸如固态驱动器(ssd)、通用闪存装置(ufs)或嵌入式mmc(emmc)装置。
5.存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且基于所接收的命令,可以运行命令或控制对存储器系统中的存储器装置的读取操作/写入操作/擦除操作。存储器控制器可以用于运行固件操作,用以执行逻辑运算来控制这些操作。
6.同时,存储器装置中可能存在未正常读取或写入数据的缺陷区域。在这种情况下,存储器控制器可以确定存储器装置中的缺陷区域的位置,并且管理该缺陷区域以不被访问。


技术实现要素:

7.本公开的实施例可以提供一种能够通过回收缺陷存储器区域或坏存储器区域来使存储容量的损失最小化的存储器系统及其操作方法。
8.另外,本公开的实施例可以提供一种能够有效地管理在运行时间期间生成的坏存储器区域的存储器系统及其操作方法。
9.一方面,本公开的实施例可以提供一种存储器系统,包括:存储器装置,具有多个存储器区域;以及存储器控制器,与存储器装置通信并控制该存储器装置。
10.多个存储器区域中的每一个可以包括n个子区域(n为大于或等于2的自然数)。每个子区域可以是(i)具有不可恢复缺陷的坏子区域,或者(ii)没有缺陷或具有可恢复缺陷的正常子区域。
11.存储器控制器可以创建坏存储器区域替换表,该坏存储器区域替换表包括多个存储器区域之中的坏存储器区域的状态信息,该坏存储器区域是包括至少一个坏子区域的存储器区域。
12.当多个存储器区域之中出现至少一个运行时间坏存储器区域时,存储器控制器可以将一个或多个运行时间坏存储器区域的状态信息添加到坏存储器区域替换表中。
13.基于坏存储器区域替换表,存储器控制器可以将被添加到坏存储器区域替换表中
的运行时间坏存储器区域之中的一个目标坏存储器区域中包括的坏子区域重新映射到被添加到坏存储器区域替换表中的坏存储器区域之中除了该目标坏存储器区域之外的剩余坏存储器区域的一个中包括的正常子区域。
14.另一方面,本公开的实施例可以提供一种操作存储器系统的方法,该存储器系统包括具有多个存储器区域的存储器装置。
15.多个存储器区域中的每一个可以包括n个子区域(n为大于或等于2的自然数)。每个子区域可以是(i)具有不可恢复缺陷的坏子区域,或者(ii)没有缺陷或具有可恢复缺陷的正常子区域。
16.存储器系统的操作方法可以包括:创建坏存储器区域替换表,该坏存储器区域替换表包括多个存储器区域之中的坏存储器区域的状态信息,该坏存储器区域是包括坏子区域中的至少一个的存储器区域。
17.操作存储器系统的方法可以包括:当多个存储器区域之中出现至少一个运行时间坏存储器区域时,将一个或多个运行时间坏存储器区域的状态信息添加到坏存储器区域替换表中。
18.操作存储器系统的方法可以包括:基于坏存储器区域替换表,将被添加到坏存储器区域替换表中的运行时间坏存储器区域之中的一个目标坏存储器区域中包括的坏子区域重新映射到被添加到坏存储器区域替换表中的坏存储器区域之中除了该目标坏存储器区域之外的剩余坏存储器区域的一个中包括的正常子区域。
19.另一方面,本公开的实施例可以提供一种在存储器系统中创建坏存储器区域替换表的方法,该存储器系统包括存储器装置和存储器控制器,存储器装置包括多个存储器区域,每个存储器区域包括n个子区域,n为大于或等于2的自然数,每个子区域是具有不可恢复缺陷的坏子区域或者没有缺陷或具有可恢复缺陷的正常子区域。
20.在存储器系统中创建坏存储器区域替换表的方法可以包括:由存储器控制器检查被配置成管理坏存储器区域替换表的固件。
21.在存储器系统中创建坏存储器区域替换表的方法可以包括:确定固件是否已经被更新。
22.在存储器系统中创建坏存储器区域替换表的方法可以包括:在固件已经被更新的情况下创建坏存储器区域替换表,并且在固件未被更新的情况下返回以确定该固件是否已经被更新。
23.坏存储器区域替换表可以包括关于多个存储器区域之中的坏存储器区域的状态信息。
24.根据本公开的一些实施例,可以通过回收缺陷存储器区域或坏存储器区域来使存储容量的损失最小化。
25.此外,本公开的一些实施例可以有效地管理在运行时间期间生成的坏存储器区域。
附图说明
26.图1是示出根据所公开技术的示例性实施例的存储器系统的配置的示意图。
27.图2是示意性地示出根据所公开技术的示例性实施例的存储器装置的框图。
28.图3是示出根据所公开技术的示例性实施例的存储器装置的字线和位线的结构的示图。
29.图4是示出根据本公开的示例性实施例的存储器系统的示意性结构的示图。
30.图5是示出根据本公开的示例性实施例的存储器系统的操作的流程图。
31.图6是示出根据本公开的实施例的存储器区域的示例性结构的示图。
32.图7是示出根据本公开的示例性实施例的由存储器系统创建坏存储器区域替换表的操作的流程图。
33.图8是示出根据本公开的示例性实施例的坏存储器区域替换表的示例性结构的示图。
34.图9是示出创建图8的坏存储器区域替换表的示例的示图。
35.图10和图11是示出将关于运行时间坏存储器区域的状态信息添加到图9的坏存储器区域替换表中的操作的示图。
36.图12是示出重新映射被添加到图11中的目标坏存储器区域中包括的坏子区域的操作的示图。
37.图13是示出从坏存储器区域替换表中删除图12中已经完成重新映射的目标坏存储器区域的状态信息的操作的示图。
38.图14是示出根据本公开的示例性实施例的操作存储器系统的方法的示图。
39.图15是示出根据所公开技术的示例性实施例的计算系统的配置的示图。
具体实施方式
40.下文中,参照附图详细地描述本公开的各个实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。本文所使用的术语“各个实施例”不一定指所有实施例。
41.图1是示出基于所公开技术的示例性实施例的存储器系统100的示意性配置的示图。
42.在一些实施方案中,存储器系统100可以包括被配置成存储数据的存储器装置110以及被配置成控制存储器装置110的存储器控制器120。
43.存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置成响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
44.存储器装置110中的存储器单元用于存储数据并且可以以存储器单元阵列来布置。存储器单元阵列可以被划分为存储器单元的存储块,并且每个块包括存储器单元的不同页面。在诸如nand闪速存储器装置的存储器设计中,存储器单元的页面是可以被编程或写入的最小存储器单位,并且可以以块的层级擦除存储器单元中存储的数据。
45.在一些实施方案中,存储器装置110可以被实施为诸如以下的各种类型:双倍数据速率同步动态随机存取存储器(ddr sdram)、第四代低功率双倍数据速率(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相
变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移扭矩随机存取存储器(stt-ram)。
46.存储器装置110可以以三维阵列结构来实施。所公开技术的一些实施例可应用于具有电荷存储层的任意类型的闪速存储器装置。在一实施方案中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮栅。在另一实施方案中,电荷存储层可以由绝缘材料形成,并且这种闪速存储器装置可以被称为电荷撷取闪存(ctf)。
47.存储器装置110可以被配置成从存储器控制器120接收命令和地址,以访问存储器单元阵列中的使用该地址选择的区域。也就是说,存储器装置110可以对存储器装置中的具有与从存储器控制器120接收的地址相对应的物理地址的存储器区域执行与所接收的命令相对应的操作。
48.在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入到由地址选择的区域。在读取操作期间,存储器装置110可以从由地址选择的存储器区域中读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
49.存储器控制器120可以控制对存储器装置110执行的写入(编程)操作、读取操作、擦除操作和后台操作。后台操作可以包括例如被实施成优化存储器装置110的整体性能的操作,诸如垃圾收集(gc)操作、损耗均衡(wl)操作和坏块管理(bbm)操作。
50.存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置的这种后台操作时,即使没有来自主机的请求,存储器控制器120也可以控制存储器装置110的操作。
51.存储器控制器120和主机可以是分开的装置。在一些实施方案中,存储器控制器120和主机可以被集成并且被实施为单个装置。在下面的描述中,作为非限制性示例,存储器控制器120和主机将作为分开的装置来讨论。
52.参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
53.主机接口121可以被配置成提供用于与主机通信的接口。
54.当从主机host接收命令时,控制电路123可以通过主机接口121接收命令,并且可以响应于所接收的命令而执行操作。
55.存储器接口122可以直接地或间接地连接到存储器装置110,以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置成向存储器装置110和存储器控制器120提供接口,以供存储器控制器120基于来自控制电路123的控制信号和指令在存储器装置110中执行存储器操作。
56.控制电路123可以被配置成通过存储器控制器120控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括被配置成检测和校正错误的错误检测/校正电路(ecc电路)126等。
57.处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑运算。处理器124可以通过主机接口121与主机host通信。处理器124可以通过存储器接口122与存储器装置110通信。
58.处理器124可以被配置成执行与闪存转换层(ftl)相关联的操作,以有效管理存储
器系统100中的存储器操作。处理器124可以通过ftl将由主机提供的逻辑块地址(lba)转换成物理块地址(pba)。ftl可以接收lba并且通过使用映射表将lba转换为pba。
59.基于映射单位,ftl可以采用多种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
60.处理器124可以被配置成将从主机接收的数据随机化,以将经随机化的数据写入到存储器单元阵列。例如,处理器124可以通过使用随机化种子来将从主机接收的数据随机化。经随机化的数据被提供到存储器装置110,并且被写入到存储器单元阵列。
61.处理器124可以被配置成在读取操作期间将从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子将从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机host。
62.处理器124可以运行固件(fw)以控制存储器控制器120的操作。换言之,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑运算,可以运行(驱动)在启动期间加载到工作存储器125中的固件。
63.术语“固件”可以指在某个非易失性存储器中存储并且由存储器系统100内的处理器124运行的程序或软件。
64.在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括闪存转换层(ftl)、主机接口层(hil)和闪存接口层(fil)中的至少一个,该闪存转换层(ftl)被配置成将主机host请求中的逻辑地址转换成存储器装置110的物理地址,该主机接口层(hil)被配置成解释由主机host向诸如存储器系统100的数据存储装置发出的命令并且将该命令传递到ftl,该闪存接口层(fil)被配置成将由ftl发出的命令传递到存储器装置110。
65.例如,固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
66.工作存储器125可以存储操作存储器控制器120所必需的固件、程序代码、命令、或多条数据。工作存储器125可以包括例如作为易失性存储器的静态ram(sram)、动态ram(dram)和同步dram(sdram)中的至少一个。
67.错误检测/校正电路126可以被配置成通过使用错误检测和校正码来检测和校正数据中的一个或多个错误位。在一些实施方案中,进行错误检测和校正的数据可以包括工作存储器125中存储的数据以及从存储器装置110中检索的数据。
68.错误检测/校正电路126可以被实施成通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种解码方案来实施。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
69.在一些实施方案中,错误检测/校正电路126可以基于扇区来检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。在本公开中,扇区可以指比闪速存储器的读取单位(例如,页面)更小的数据单位。可以基于地址来映射构成每条读取数据的扇区。
70.在一些实施方案中,错误检测/校正电路126可以逐个扇区地计算位错误率(ber)并确定数据中的错误位的数量是否在错误校正能力之内。例如,如果ber高于参考值,则错误检测/校正电路126可以确定相应的扇区中的错误位是不可校正的,并且相应的扇区被标记为“失败”。如果ber低于或等于参考值,则错误检测/校正电路126可以确定相应的扇区是可校正的,或者相应的扇区可以被标记为“通过”。
71.错误检测/校正电路126可以对所有的读取数据依次执行错误检测和校正操作。当
读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以继续进行到下一扇区,以检查是否需要对下一扇区进行错误校正操作。在以这种方式完成对所有的读取数据的错误检测和校正操作之后,错误检测/校正电路126可以获取关于读取数据中的哪个扇区被认为是不可校正的信息。错误检测/校正电路126可以将这种信息(例如,不可校正的位的地址)提供到处理器124。
72.存储器系统100还可以包括总线127,以在存储器控制器120的构成元件121、122、124、125和126(即,主机接口121、存储器接口122、处理器124、工作存储器125和错误检测/校正电路126)之间提供通道。例如,总线127可以包括用于传递各种类型的控制信号和命令的控制总线以及用于传递各种类型的数据的数据总线。
73.作为示例,图1示出存储器控制器120的上述构成元件121、122、124、125和126。注意的是,可以省略附图中示出的那些元件中的一些,或者可以将存储器控制器120的上述构成元件121、122、124、125和126中的一些集成到单个元件中。另外,在一些实施方案中,可以将一个或多个其它构成元件添加到存储器控制器120的上述构成元件。
74.图2是示意性地示出基于所公开技术的示例性实施例的存储器装置110的框图。
75.在一些实施方案中,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
76.存储器单元阵列210可以包括多个存储块blk1至blkz,其中z是等于或大于2的自然数。
77.在多个存储块blk1至blkz中,可以将多个字线wl和多个位线bl设置成行和列,并且可以布置多个存储器单元mc。
78.多个存储块blk1-blkz可以通过多个字线wl连接到地址解码器220。多个存储块blk1-blkz可以通过多个位线bl连接到读取/写入电路230。
79.多个存储块blk1至blkz中的每一个可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方案中,这种非易失性存储器单元可以以垂直沟道结构布置。
80.存储器单元阵列210可以被配置成具有二维结构的存储器单元阵列。在一些实施方案中,存储器单元阵列210可以以三维结构布置。
81.存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成存储一位数据的单层单元(slc)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成每个存储器单元存储两位数据的多层单元(mlc)。又例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成每个存储器单元存储三位数据的三层单元(tlc)。再例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置成每个存储器单元存储四位数据的四层单元(qlc)。再例如,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置成每个存储器单元存储至少五位数据。
82.参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置成驱动存储器单元阵列210的外围电路进行操作。
83.地址解码器220可以通过多个字线wl连接到存储器单元阵列210。
84.地址解码器220可以被配置成响应于控制逻辑240的命令和控制信号而操作。
85.地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置成对所接收的地址之中的块地址进行解码。地址解码器220可以基于解码后的块地址选择至少一个存储块。
86.地址解码器220可以从电压生成电路250接收读取电压vread和通过电压vpass。
87.在读取操作期间,地址解码器220可以将读取电压vread施加到所选择的存储块内部的所选择的字线wl,并且可以将通过电压vpass施加到剩余的未选择字线wl。
88.在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择的存储块内部的所选择的字线wl,并且可以将通过电压vpass施加到剩余的未选择字线wl。
89.地址解码器220可以被配置成对所接收的地址之中的列地址进行解码。地址解码器220可以将解码后的列地址传输到读取/写入电路230。
90.存储器装置110可以逐个页面地执行读取操作和编程操作。在请求进行读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
91.地址解码器220可以基于块地址和行地址来选择一个存储块和一个字线。列地址可以由地址解码器220解码并且被提供到读取/写入电路230。
92.地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
93.读取/写入电路230可以包括多个页面缓冲器pb。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”而操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”而操作。
94.上述读取/写入电路230也被称为页面缓冲器电路或数据寄存器电路,该页面缓冲器电路包括多个页面缓冲器pb。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些实施方案中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
95.多个页面缓冲器pb可以通过多个位线bl连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压vth,多个页面缓冲器pb可以向连接到存储器单元的位线bl连续地供应感测电流,以在感测节点处检测与根据相应的存储器单元的编程状态而变化的电流量成比例的改变,并且可以将相应的电压保存或锁存为感测数据。
96.读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
97.在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且读出该电压值作为数据。读取/写入电路230临时存储检索到的数据,并且将数据data输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器pb或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
98.控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令cmd和控制信号ctrl。
99.控制逻辑240可以被配置成响应于控制信号ctrl而控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器pb的感测节点的电压电平调整到预充电
电压电平的控制信号。
100.控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压vread和通过电压vpass。
101.存储器装置110中设置的存储块blk可以包括多个页面pg。在一些实施方案中,按列布置的多个存储器单元形成存储器单元串,并且按行布置的多个存储器单元形成存储块。多个页面pg中的每一个联接到字线wl中的一个,并且存储器单元串str中的每一个联接到位线bl中的一个。
102.在存储块blk中,可以将多个字线wl和多个位线bl布置成行和列。例如,多个字线wl中的每一个可以沿行方向布置,并且多个位线bl中的每一个可以沿列方向布置。可选地,多个字线wl中的每一个可以沿列方向布置,并且多个位线bl中的每一个可以沿行方向布置。
103.在一些实施方案中,多个字线wl和多个位线bl可以彼此相交并且彼此电隔离,从而在多个存储器单元mc的阵列中进行单个存储器单元的寻址。在一些实施方案中,每个存储器单元mc可以包括晶体管tr,该晶体管tr包括可以保持电荷的材料层。
104.例如,每个存储器单元mc中布置的晶体管tr可以包括漏极、源极和栅极。晶体管tr的漏极(或源极)可以直接地或经由另一晶体管tr连接到相应的位线bl。晶体管tr的源极(或漏极)可以直接地或经由另一晶体管tr连接到源极线(可以是地)。晶体管tr的栅极可以包括浮栅(fg)和控制栅极(cg),其中浮栅(fg)被绝缘体包围,并且栅极电压从字线wl施加到控制栅极(cg)。
105.在多个存储块blk1至blkz的每一个中,第一选择线(也称为源极选择线或漏极选择线)可以被附加地布置在两个最外字线之中的更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也称为漏极选择线或源极选择线)可以被附加地布置在另外的第二最外字线的外侧。
106.在一些实施方案中,至少一个虚设字线可以被附加地布置在第一最外字线与第一选择线之间。另外,至少一个虚设字线可以被附加地布置在第二最外字线与第二选择线之间。
107.可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
108.图3是示出基于所公开技术的示例性实施例的存储器装置110的字线wl和位线bl的结构的示图。
109.参照图3,存储器装置110具有布置存储器单元mc的内核区域,以及包括用于执行存储器单元阵列210的操作的电路的辅助区域(除了内核区域之外的剩余区域)。
110.在内核区域中,可以将沿一个方向布置的一定数量的存储器单元称为“页面”pg,并且可以将串联联接的一定数量的存储器单元称为“存储器单元串”str。
111.字线wl1至wl9可以连接到行解码器310。位线bl可以连接到列解码器320。与图2的读取/写入电路230相对应的数据寄存器330可以存在于多个位线bl与列解码器320之间。
112.多个字线wl1至wl9可以对应于多个页面pg。
113.例如,如图3所示,多个字线wl1至wl9中的每一个可以对应于一个页面pg。当多个
字线wl1至wl9中的每一个具有较大大小时,多个字线wl1至wl9中的每一个可以对应于至少两个(例如,两个或四个)页面pg。每个页面pg是编程操作和读取操作中的最小单位,并且当进行编程操作和读取操作时,相同页面pg内的所有存储器单元mc可以同时执行操作。
114.多个位线bl可以连接到列解码器320。在一些实施方案中,可以将多个位线bl划分为奇数编号位线bl和偶数编号位线bl,使得一对奇数编号位线和偶数编号位线共同联接到列解码器320。
115.在访问存储器单元mc时,行解码器310和列解码器320用于基于地址来定位所期望的存储器单元。
116.在一些实施方案中,因为由存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器330发生,所以数据寄存器330起着重要的作用。如果由数据寄存器330进行的数据处理被延迟,则所有其它区域都需要等待,直到数据寄存器330完成该数据处理,这降低了存储器装置110的整体性能。
117.参照图3所示的示例,在一个存储器单元串str中,多个晶体管tr1至tr9可以分别连接到多个字线wl1至wl9。在一些实施方案中,多个晶体管tr1至tr9对应于存储器单元mc。在该示例中,多个晶体管tr1至tr9包括控制栅极cg和浮栅fg。
118.多个字线wl1至wl9包括两个最外字线wl1和wl9。第一选择线dsl可以被附加地布置在第一最外字线wl1的外侧,与另外的最外字线wl9相比,该第一最外字线wl1更靠近数据寄存器330并且具有更短的信号路径。第二选择线ssl可以被附加地布置在另外的第二最外字线wl9的外侧。
119.由第一选择线dsl控制以导通/关断的第一选择晶体管d-tr具有连接到第一选择线dsl的栅电极,但不包括浮栅fg。由第二选择线ssl控制以导通/关断的第二选择晶体管s-tr具有连接到第二选择线ssl的栅电极,但不包括浮栅fg。
120.第一选择晶体管d-tr用作将相应的存储器单元串str连接到数据寄存器330的开关电路。第二选择晶体管s-tr用作将相应的存储器单元串str连接到源极线sl的开关电路。也就是说,第一选择晶体管d-tr和第二选择晶体管s-tr可以用于启用或停用相应的存储器单元串str。
121.在一些实施方案中,存储器系统100向第一选择晶体管d-tr的栅电极施加预先确定的导通电压vcc,从而导通第一选择晶体管d-tr,并且向第二选择晶体管s-tr的栅电极施加预先确定的关断电压(例如,0v),从而关断第二选择晶体管s-tr。
122.在读取操作或验证操作期间,存储器系统100导通第一选择晶体管d-tr和第二选择晶体管s-tr两者。因此,在读取操作或验证操作期间,电流可以流经相应的存储器单元串str并且流到对应于地的源极线sl,使得可以测量位线bl的电压电平。然而,在读取操作期间,在第一选择晶体管d-tr与第二选择晶体管s-tr之间的通/断定时可能存在时间差。
123.在擦除操作期间,存储器系统100可以通过源极线sl向衬底施加预先确定的电压(例如,+20v)。在擦除操作期间,存储器系统100施加特定的电压以允许第一选择晶体管d-tr和第二选择晶体管s-tr两者都浮置(float)。因此,所施加的擦除电压可以从所选择的存储器单元的浮栅fg中去除电荷。
124.图4是示出根据本公开的示例性实施例的存储器系统100的示意性结构的示图。
125.参照图4,存储器系统100的存储器装置110可以包括多个存储器区域mem_area。
126.每个存储器区域mem_area可以包括n个子区域sub_area(n为2或更大的自然数)。
127.每个子区域sub_area可以是坏子区域或正常子区域。坏子区域可以是已发生不可恢复缺陷的子区域,并且正常子区域可以是没有发生缺陷或发生可恢复缺陷的子区域。在这种情况下,不可恢复缺陷或可恢复缺陷可能在制造过程中就已经存在,或者可能在运行时间期间执行存储器操作(例如,读取操作、写入操作或擦除操作)的过程中发生。
128.如果数据被存储在坏子区域中,则很有可能在读取该坏子区域中存储的数据或将数据写入到坏子区域的操作中可能发生错误。因此,存储器系统100的存储器控制器120管理多个存储器区域mem_area,以便不访问存储器装置110中存在的坏子区域。
129.为此,存储器控制器120可以创建包括多个存储器区域mem_area之中的坏存储器区域的状态信息的坏存储器区域替换表bad_tbl。坏存储器区域可以是具有至少一个坏子区域的存储器区域mem_area。
130.在一个实施例中,坏存储器区域替换表bad_tbl可以被存储在工作存储器125中。在另一实施例中,坏存储器区域替换表bad_tbl可以被存储在存储器装置110中,然后被加载到工作存储器125中。
131.下文中,将描述存储器系统100使用坏存储器区域替换表bad_tbl管理坏存储器区域的操作。
132.图5是示出根据本公开的示例性实施例的存储器系统100的操作的流程图。
133.参照图5,存储器系统100的存储器控制器120可以创建包括多个存储器区域mem_area之中的坏存储器区域的状态信息的坏存储器区域替换表bad_tbl(s510)。在这种情况下,坏存储器区域的状态信息可以是指示该坏存储器区域中包括的多个子区域之中的哪个子区域是坏子区域以及哪个子区域是正常子区域的信息。
134.多个存储器区域mem_area的全部或部分可以是在制造过程期间生成了坏子区域的初始坏存储器区域。存储器控制器120可以例如读取相应的存储器区域中的备用区域的特定字节,并且检查相应的存储器区域是否是初始坏存储器区域。另外,当创建坏存储器区域替换表bad_tbl时,存储器控制器120可以将关于初始坏存储器区域的状态信息包括在坏存储器区域替换表bad_tbl中。
135.在本公开的一些实施例中,所创建的坏存储器区域替换表bad_tbl不处于只读状态,而是处于可以进行读取和写入的状态。因此,即使在创建了坏存储器区域替换表bad_tbl之后,存储器控制器120也可以修改该坏存储器区域替换表bad_tbl。
136.另外,在存储器控制器120开始操作之后,存储器控制器120可以监测在运行时间期间是否已经出现至少一个运行时间坏存储器区域(s520),该运行时间坏存储器区域是已经出现至少一个坏子区域的坏存储器区域。例如,当在运行时间期间针对特定存储器区域的诸如擦除操作、读取操作或编程操作的存储器操作失败时,存储器控制器120可以通过验证在相应的存储器区域中是否已经出现诸如不可校正的错误校正码(uecc)的不可恢复缺陷,来监测是否已经出现运行时间坏存储器区域。
137.存储器控制器120可以分析在步骤s520中执行的监测结果,并且可以确定是否已经出现至少一个运行时间坏存储器区域(s530)。
138.在没有出现运行时间坏存储器区域的情况下(s530-否),存储器控制器120可以循环回到步骤s520,以再次监测是否已经出现任何运行时间坏存储器区域。
139.另一方面,在出现至少一个运行时间坏存储器区域的情况下(s530-是),存储器控制器120可以将所生成的运行时间坏存储器区域的状态信息添加到坏存储器区域替换表bad_tbl(s540)。下文中,存储器控制器120可以基于坏存储器区域替换表bad_tbl来管理运行时间坏存储器区域,并且重新使用该运行时间坏存储器区域中包括的正常子区域。
140.另外,基于坏存储器区域替换表bad_tbl,存储器控制器120可以将被添加到该坏存储器区域替换表bad_tbl中的运行时间坏存储器区域之中的目标坏存储器区域中包括的坏子区域重新映射到被添加到该坏存储器区域替换表bad_tbl中的坏存储器区域之中除了该目标坏存储器区域之外的剩余坏存储器区域的一个中包括的正常子区域(s550)。进一步地,存储器控制器120可以循环回到步骤s520,以再次监测是否已经出现任何运行时间坏存储器区域。
141.如上所述,通过将目标坏存储器区域中包括的坏子区域重新映射到另一正常子区域,可以将该目标坏存储器区域重新用作能够正常存储数据的存储器区域。因此,可以使在不使用整个运行时间坏存储器区域时发生的存储容量损失最小化。
142.下文中,将在下面更详细地描述图4和图5中的存储器系统100的操作。首先,将描述存储器区域mem_area的结构。
143.在一个实施例中,存储器区域mem_area中设置的n个子区域可以被包括在图2和图4中描述的一个存储块中,但是也可以被分布在不同的存储块中或不同的物理位置中。
144.图6是示出根据本公开的实施例的存储器区域mem_area的示例性结构的示图。
145.存储器系统100的存储器装置110可以包括多个平面。
146.根据一些实施例,可以将多个平面划分成不同的存储器管芯(未示出)中设置的一个或多个平面组。例如,存储器装置110可以包括四个存储器管芯,四个存储器管芯中的每一个可以包括4个平面(总共16个平面)。
147.参照图6,一个存储器区域mem_area中包括的n个子区域sub_area中的每一个可以位于上述多个平面之中的不同平面上。也就是说,存储器区域mem_area 611中包括的n个子区域sub_area601a、601b、601c、
……
、601n可以在逻辑上被包括在一个公共存储器区域mem_area中,但是也可以在物理上跨越不同的存储器区域进行分布。
148.图7是示出根据本公开的示例性实施例的由存储器系统100创建坏存储器区域替换表bad_tbl的操作的流程图。
149.参照图7,存储器系统100的存储器控制器120可以针对固件的更新状态来检查由存储器控制器120运行的固件(s710)。可以运行固件以控制存储器控制器120的操作,并且特别地,可以使用固件来管理坏存储器区域替换表bad_tbl。
150.存储器控制器120可以确定在步骤s710中检查的固件是否已经被更新(s720)。例如,存储器控制器120可以通过检查指示在存储器系统100的启动期间固件的更新状态或者固件的版本是否改变的标志来确定固件是否已经被更新。
151.当存储器控制器120确定固件被更新(s720-是)时,存储器控制器120可以创建坏存储器区域替换表bad_tbl(s730)。如果存在先前创建的坏存储器区域替换表,则存储器控制器120可以删除先前创建的坏存储器区域替换表,或者可以利用新创建的坏存储器替换表bad_tbl来覆盖先前创建的坏存储器区域替换表。
152.下文中,将根据参照图8至图13出现的坏存储器区域,描述坏存储器区域替换表
bad_tbl的示例性结构以及改变坏存储器区域替换表bad_tbl的过程。
153.图8是示出根据本公开的一个实施例的坏存储器区域替换表bad_tbl的示例性结构的示图。
154.参照图8,当创建了坏存储器区域替换表bad_tbl时,该坏存储器区域替换表bad_tbl可以包括关于k个(k为自然数)坏存储器区域mem_area_1、mem_area_2、
……
、mem_area_k的状态信息。
155.每个坏存储器区域的状态信息可以包括与相应的坏存储器区域中包括的n个子区域中的每一个相对应的n个状态条目state_entry。在这种情况下,可以使用n个索引idx_1、idx_2、idx_3、
……
、idx_n-1、idx_n来区分n个状态条目state_entry。
156.每个状态条目state_entry可以指示相应的子区域是否是坏子区域,或者每个状态条目state_entry可以包括关于相应的子区域被重新映射的存储器区域mem_area的信息。
157.在这种情况下,当相应的子区域是坏子区域时,可以将每个状态条目state_entry设置为第一值(例如,0xffff),并且当相应的子区域是正常子区域时,每个状态条目state_entry可以被设置成除了第一值之外的另一值。
158.如果与状态条目state_entry相对应的子区域是正常子区域,则可以将该子区域重新映射到另一存储器区域mem_area,但是可能不存在待被重新映射的存储器区域。
159.如果不存在相应的子区域可以被重新映射到的存储器区域,则可以将相应的状态条目state_entry设置为第二值(例如,0x0或0x0000)。另一方面,当相应的子区域被重新映射到另一存储器区域mem_area时,可以将相应的状态条目state_entry设置成被重新映射的存储器区域mem_area的地址值。
160.图9是示出创建图8的坏存储器区域替换表bad_tbl的示例的示图。
161.参照图9,在与状态条目state_entry相对应的子区域是坏子区域的情况下,可以将相应的状态条目state_entry的值设置成0xffff。另一方面,如果与状态条目state_entry相对应的子区域是正常子区域,则相应的状态条目state_entry的值可以指示关于被重新映射的存储器区域mem_area的信息。
162.在图9中,与第一存储器区域mem_area_1的第一索引idx_1相对应的状态条目state_entry的值为0xffff(十进制为65535)。因此,这指示在第一存储器区域mem_area_1中,与相应的状态条目state_entry的第一索引idx_1相对应的子区域是坏子区域。
163.另一方面,与第一存储器区域mem_area_1中包括的第n索引idx_n相对应的状态条目state_entry的值是0x009d,即不同于0xffff(由符号“!=”或“不等于”表示)。因此,这指示在第一存储器区域mem_area_1中,与状态条目state_entry的第n索引idx_n相对应的子区域是正常子区域,并且已经将相应的子区域重新映射到地址值为0x009d的存储器区域。
164.图10和图11是示出将关于运行时间坏存储器区域的状态信息添加到图9的坏存储器区域替换表bad_tbl中的示例性操作的示图。
165.参照图10,在第(k+1)存储器区域mem_area_k+1变为运行时间坏存储器区域的情况下,可以将关于第(k+1)存储器区域mem_area_k+1的状态信息添加到坏存储器区替换表bad_tbl。在示例性实施例中,在存储器操作期间,例如当正在对第(k+1)存储器区域mem_area_k+1运行读取操作、编程操作或擦除操作时,当存储器控制器120检测到不可恢复缺陷
时,存储器控制器120可以将关于第(k+1)存储器区域mem_area_k+1的状态信息添加到坏存储器区域替换表bad_tbl。
166.在图10中,与第(k+1)存储器区域mem_area_k+1的第一索引idx_1相对应的状态条目state_entry的值为0xffff。因此,这指示在第(k+1)存储器区域mem_area_k+1中,与相应的状态条目state_entry的第一索引idx_1相对应的子区域是坏子区域。
167.另一方面,与第(k+1)存储器区域mem_area_k+1的第二索引idx_2相对应的状态条目state_entry的值为0x0(或0x0000)。因此,这指示在第(k+1)存储器区域mem_area_k+1中,与相应的状态条目state_entry的第二索引idx_2相对应的子区域是正常子区域。然而,因为相应的状态条目state_entry的值为0x0(或0x0000),所以相应的子区域尚未被重新映射到另一坏存储器区域。
168.参照图11,在第(k+2)存储器区域mem_area_k+2变为运行时间坏存储器区域的情况下,可以将关于第(k+2)存储器区域mem_area_k+2的状态信息添加到坏存储器区替换表bad_tbl。
169.在图11中,与第(k+2)存储器区域mem_area_k+2的第一索引idx_1相对应的状态条目state_entry的值为0x0(或0x0000)。因此,这指示在第(k+2)存储器区域mem_area_k+2中,与相应的状态条目state_entry的第一索引idx_1相对应的子区域是正常子区域。
170.另一方面,与第(k+2)存储器区域mem_area_k+2的第三索引idx_3相对应的状态条目state_entry的值为0xffff。因此,这指示在第(k+2)存储器区域mem_area_k+2中,与相应的状态条目state_entry的第三索引idx_3相对应的子区域是坏子区域。
171.图12是示出重新映射图11中添加的目标坏存储器区域中包括的坏子区域的示例性操作的示图。
172.在图12中,假设第(k+2)存储器区域mem_area_k+2是目标坏存储器区域。
173.存储器系统100的存储器控制器120可以将作为目标坏存储器区域的第(k+2)存储器区域mem_area_k+2中包括的坏子区域重新映射到第(k+1)存储器区域mem_area_k+1中包括的正常子区域,第(k+1)存储器区域是作为被添加到坏存储器区域替换表bad_tbl中的坏存储器区域之中除了该目标坏存储器区域之外的剩余存储器区域中的一个。
174.在图12中,仅示出了将第(k+2)存储器区域mem_area_k+2中包括的坏子区域重新映射到第(k+1)存储器区域mem_area_k+1中包括的正常子区域的情况。然而,将理解的是,可以将第(k+2)存储器区域mem_area_k+2中包括的坏子区域重新映射到例如mem_area_1、mem_area_2、
……
、和mem_area_k的其它存储器区域中包括的正常子区域。
175.在图12中,在作为坏存储器区域的第(k+2)存储器区域mem_area_k+2中包括的坏子区域之中,可以将与第三索引idx_3相对应的坏子区域重新映射到第(k+1)存储器区域mem_area_k+1中包括的正常子区域之中与第三索引idx_3相对应的正常子区域。
176.在这种情况下,可以将与第(k+1)存储器区域mem_area_k+1的第三索引idx_3相对应的状态条目state_entry的值设置成0x01a1,该0x01a1是第(k+2)存储器区域mem_area_k+2的地址。
177.另外,可以将作为坏存储器区域的第(k+2)存储器区域mem_area_k+2中包括的坏子区域之中与第(n-1)索引idx_n-1相对应的子区域重新映射到第(k+1)存储器区域mem_area_k+1中包括的正常子区域之中与第(n-1)索引idx_n-1相对应的子区域。
178.在这种情况下,可以将与第(k+1)存储器区域mem_area_k+1的第(n-1)子区域sub_area_n-1相对应的状态条目state_entry的值设置成0x01a1,0x01a1是第(k+2)存储器区域mem_area_k+2的地址。
179.图13是示出从坏存储器区域替换表bad_tbl中删除图12中已经完成重新映射的目标坏存储器区域的状态信息的操作的示图。
180.在将目标坏存储器区域中包括的所有坏子区域重新映射到与目标坏存储器区域不同的另一坏存储器区域中包括的正常子区域的情况下,存储器系统100的存储器控制器120可以从坏存储器区域替换表bad_tbl中删除目标坏存储器区域的状态信息。
181.这是因为已经将目标坏存储器区域中包括的所有坏子区域重新映射到其它正常子区域,从而可以防止在访问目标坏存储器区域时访问任意坏子区域的问题。
182.在图13中,存储器系统100的存储器控制器120可以从坏存储器区域替换表bad_tbl中删除作为目标坏存储器区域的第(k+2)存储器区域mem_area_k+2的状态信息。在这种情况下,当访问第(k+2)存储器区域mem_area_k+2时,通过使用坏存储器区域替换表bad_tbl的状态信息,存储器控制器120可以确定在第(k+2)存储器区域mem_area_k+2中包括的子区域之中的哪个子区域已经被重新映射到另一坏存储器区域(例如,坏存储器区域mem_area_k+1)的正常子区域。
183.图14是示出根据本公开的示例性实施例的操作存储器系统100的方法的示图。
184.如上所述,存储器系统100可以包括具有多个存储器区域mem_area的存储器装置110。另外,每个存储器区域mem_area可以包括n个子区域sub_area(n为2或更大的自然数)。每个子区域sub_area可以是已经出现不可恢复缺陷的坏子区域,或者是没有出现缺陷或出现可恢复缺陷的正常子区域。
185.参照图14,操作存储器系统100的方法可以包括:创建坏存储器区域替换表bad_tbl(s1410),该坏存储器区域替换表bad_tbl包括关于存储器装置110中包括的多个存储器区域mem_area之中的坏存储器区域的状态信息,该坏存储器区域是已经出现至少一个(即,一个或多个)坏子区域的存储器区域。
186.进一步地,操作存储器系统100的方法可以包括:当多个存储器区域之中出现至少一个运行时间坏存储器区域(例如,图10中的运行时间坏存储器区域mem_area_k+1或图12中的运行时间坏存储器区域mem_area_k+1和mem_area_k+2)时,将在运行时间期间出现的坏存储器区域的状态信息添加到坏存储器区域替换表bad_tbl(s1420)。
187.另外,操作存储器系统100的方法可以包括:基于坏存储器区域替换表bad_tbl,将被添加到坏存储器区域替换表bad_tbl中的运行时间坏存储器区域之中的目标坏存储器区域(例如,图12中的mem_area_k+2)中包括的坏子区域重新映射到被添加到坏存储器区域替换表bad_tbl中的坏存储器区域之中除了(排除)该目标坏存储器区域之外的剩余坏存储器区域的一个中包括的正常子区域(s1430)。
188.在一个实施例中,存储器装置110可以包括多个平面,n个子区域sub_area中的每一个可以位于多个平面之中的不同平面中。
189.在一个实施例中,当用于管理坏存储器区域替换表的固件被更新时,可以创建坏存储器区域替换表bad_tbl。
190.坏存储器区域替换表bad_tbl中包括的坏存储器区域的状态信息可以包括n个状
态条目state_entry,n个状态条目state_entry中的每一个对应于坏存储器区域中包括的n个子区域sub_area中的一个。在这种情况下,n个状态条目state_entry中的每一个可以指示与每个状态条目相对应的子区域是否为坏子区域,或者n个状态条目state_entry中的每一个可以包括关于重新映射了与每个状态条目相对应的子区域的存储器区域的状态信息。
191.在一个实施例中,n个状态条目之中具有第一值(例如,0xffff)的状态条目可以指示与相应的状态条目相对应的子区域是坏子区域。
192.在另一实施例中,n个状态条目之中具有第二值(不同于第一值)的状态条目可以指示不存在与相应的状态条目相对应的子区域被重新映射到的存储器区域。
193.重新映射目标坏存储器区域中包括的坏子区域可以包括:当已经将目标坏存储器区域中包括的所有坏子区域重新映射到被添加到坏存储器区域替换表bad_tbl中的坏存储器区域之中除了该目标坏存储器区域之外的剩余坏存储器区域的一个中包括的正常子区域时,从坏存储器区域替换表bad_tbl中删除该目标坏存储器区域的状态信息。
194.在一些实施方案中,上述存储器控制器120的操作可以由控制电路123控制,并且可以以处理器124运行(驱动)对存储器控制器120的全部操作进行了编程的固件的方式来执行。
195.图15是示出根据所公开技术的示例性实施例的计算系统1500的配置的示图。
196.参照图15,基于所公开技术的实施例的计算系统1500可以包括:存储器系统100,电连接到系统总线1560;cpu 1510,被配置成控制计算系统1500的全部操作;ram 1520,被配置成存储与计算系统1500的操作相关联的数据和信息;用户接口/用户体验(ui/ux)模块1530,被配置成向用户提供用户环境;通信模块1540,被配置成作为有线和/或无线类型与外部装置通信;以及电源管理模块1550,被配置成管理由计算系统1500使用的电力。
197.计算系统1500可以是个人计算机(pc)或者可以是诸如智能手机、平板电脑或各种电子装置的移动终端中的任意一种或多种。
198.计算系统1500可以进一步包括用于供应操作电压的电池,并且可以进一步包括其它可能的组件之中的应用芯片组、图形相关模块、相机图像处理器和dram。
199.存储器系统100可以包括诸如硬盘驱动器(hdd)的被配置成将数据存储在例如磁盘中的以及诸如固态驱动器(ssd)、通用闪存装置或嵌入式mmc(emmc)装置的被配置成将数据存储在非易失性存储器中的一个或多个装置的任意组合。该非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。另外,存储器系统100可以被实施成各种类型的存储装置并且被安装在各种电子装置内部。
200.根据上述所公开技术的示例性实施例,可以有利地减少或最小化存储器系统的操作延迟时间。另外,根据本公开的实施例,可以有利地减少或最小化在调用特定功能的进程中发生的开销。尽管出于说明性目的已经以特定的详情和变化的细节描述了本公开的各个示例性实施例,但是本领域技术人员将理解的是,在不脱离如所附权利要求书所限定的本公开的范围的情况下,可以进行各种替代、修改、改变、增加和替换。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1