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

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


背景技术:

4.存储器系统包括基于来自诸如计算机、服务器、智能电话、平板pc或其它电子装置的主机的请求而存储数据的数据存储装置。存储器系统的示例涵盖从传统的基于磁盘的硬盘驱动器(hdd)到诸如固态驱动器(ssd)、通用闪存装置(ufs)或嵌入式mmc(emmc)装置的基于半导体的数据存储装置。
5.存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且基于接收到的命令,可以运行该命令或控制对存储器系统中的存储器装置的读取/写入/擦除操作。存储器控制器可以用于运行固件操作以执行用于控制这些操作的逻辑操作。
6.此外,存储器系统的寿命可以由存储器装置中包括的多个存储块的擦除/编程周期来确定。如果存储器系统连续更新存储器装置中的数据,则多个存储块的擦除/编程周期值增加。具有大的擦除/编程周期值的存储块成为坏存储块,并且更有可能不再用于存储数据。因此,存储器系统的存储容量可能会降低并且存储器系统的寿命可能会缩短。


技术实现要素:

7.本公开的实施例可以提供一种能够最大限度地减少对存储的数据的损坏并且能够有效地管理存储的数据的存储器系统和该存储器系统的操作方法。
8.一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括:存储器装置,具有被配置为存储数据的多个存储块;以及存储器控制器,被配置为将数据存储在包括多个存储块之中的n个存储块的第一存储块组中,其中n是等于或大于2的自然数,将第一存储块组中存储的数据设置为只读状态,并且在从参考时间开始经过了阈值时间之后,将目标数据迁移到包括多个存储块之中的m个存储块的第二存储块组,目标数据为第一存储块组中存储的数据中的全部或部分数据,其中m为等于或大于2的自然数。
9.另一方面,本公开的实施例可以提供一种存储器系统的操作方法,包括:将数据存储在包括多个存储块之中的n个存储块的第一存储块组中,其中n是等于或大于2的自然数;将第一存储块组中存储的数据设置为只读状态;并且在从参考时间开始经过了阈值时间之后,将目标数据迁移到包括多个存储块之中的m个存储块的第二存储块组,目标数据为第一存储块组中存储的数据中的全部或部分数据,其中m为等于或大于2的自然数。
10.根据本公开的实施例,可以最大限度地减少对存储的数据的损坏并且可以有效地
管理存储的数据。
附图说明
11.图1是示出基于所公开技术的实施例的存储器系统的配置的示意图。
12.图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
13.图3示出基于所公开技术的实施例的存储器装置的字线和位线的结构。
14.图4示出根据本公开的实施例的存储器系统的示意性结构。
15.图5是示出根据本公开的实施例的存储器系统的操作方法的示例的流程图。
16.图6示出根据本公开的实施例的存储器系统设置参考时间的操作的示例。
17.图7示出根据本公开的实施例的存储器系统确定参考存储块的操作的示例。
18.图8示出根据本公开的实施例的存储器系统将数据存储在第一存储块组中的顺序的示例。
19.图9示出根据本公开的实施例的存储器系统将第一存储块组中存储的数据迁移到第二存储块组的顺序的示例。
20.图10示出根据本公开的实施例的存储器系统确定存储块的误码率的方法的示例。
21.图11示出根据本公开的实施例的存储器系统读取参考页面中存储的数据的时间点的示例。
22.图12示出根据本公开的实施例的存储器系统将第一存储块组中存储的数据迁移到第二存储块组的顺序的另一示例。
23.图13示出根据本公开的实施例的存储器系统的操作方法。
24.图14示出基于所公开技术的一些实施例的计算系统的配置。
具体实施方式
25.在下文中,参照附图详细描述本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任意这种短语的不同引用不一定针对相同的实施例。术语“实施例”在本文中使用时不一定指所有实施例。
26.下面参照附图更详细地描述本发明的各个实施例。然而,我们注意到,本发明可以以不同的形式和变型来实施,并且不应解释为限于本文中所阐述的实施例。相反,提供所描述的实施例以便本公开将是透彻和完整的,并且将把本发明充分传达给本发明所属领域的技术人员。在整个本公开中,相同的附图标记在本发明的各个附图和实施例中始终指代相同的部件。
27.本文中描述的方法、过程和/或操作可以由代码或指令执行,该代码或指令待由计算机、处理器、控制器或其它信号处理装置运行。计算机、处理器、控制器或其它信号处理装置可以是本文中描述的那些或除本文中描述的元件之外的元件。因为详细描述了构成方法(或计算机、处理器、控制器或其它信号处理装置的操作)的基础的算法,所以用于实现方法实施例的操作的代码或指令可以将计算机、处理器、控制器或其它信号处理装置转换为用于执行本文中的方法的专用处理器。
28.当至少部分地以软件来实现时,控制器、处理器、装置、模块、单元、复用器、生成器、逻辑电路、接口、解码器、驱动器、生成器以及其它信号生成和信号处理特征部件可以包
括例如存储器或其它存储装置,以用于存储例如待由计算机、处理器、微处理器、控制器或其他信号处理装置执行的代码或指令。
29.图1是示出基于所公开的技术的实施例的存储器系统100的示意性配置的示图。
30.在一些实施方式中,存储器系统100可以包括被配置为存储数据的存储器装置110以及被配置为控制存储器装置110的存储器控制器120。
31.存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。例如,存储器装置110的操作可以包括读取操作、编程操作(也称为“写入操作”)、擦除操作等。
32.存储器装置110中的存储器单元用于存储数据并且可以以存储器单元阵列来布置。存储器单元阵列可以被划分为由存储器单元构成的存储块并且每个块包括存储器单元的不同页面。在nand闪速存储器装置的一般实施方式中,存储器单元的页面是可以编程或写入的最小存储器单位,并且可以以块为单位来擦除存储器单元中存储的数据。
33.在一些实施方式中,存储器装置110可以被实施为各种类型,诸如双数据速率同步动态随机存取存储器(ddr sdram)、第四代低功率双数据速率(lpddr4)sdram、图形双数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移力矩随机存取存储器(stt-ram)。
34.存储器装置110可以以三维阵列结构来实施。所公开技术的一些实施例可适用于具有电荷存储层的任何类型的闪速存储器装置。在实施方式中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以称为浮置栅极。在另一实施方式中,电荷存储层可以由绝缘材料形成,并且这种闪速存储器装置可以称为电荷撷取闪存(ctf)。
35.存储器装置110可以被配置为从存储器控制器120接收命令和地址,以访问存储器单元阵列中使用该地址选择的区域。也就是说,存储器装置110可以对存储器装置的存储器区域执行与接收到的命令相对应的操作,该存储器区域具有与从存储器控制器120接收到的地址相对应的物理地址。
36.在一些实施方式中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
37.存储器控制器120可以控制对存储器装置110执行的写入(编程)操作、读取操作、擦除操作以及后台操作。后台操作可以包括例如被实施以优化存储器装置110的整体性能的操作,诸如垃圾收集(gc)操作、损耗均衡(wl)操作和坏块管理(bbm)操作。
38.存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置的这些后台操作时,即使没有来自主机的请求,存储器控制器120也可以控制存储器装置110的操作。
39.存储器控制器120和主机可以是分开的装置。在一些实施方式中,存储器控制器120和主机可以集成并且实施为单个装置。在下列描述中,作为示例,存储器控制器120和主
机将作为分开的装置进行讨论。
40.参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
41.主机接口121可以被配置为提供用于与主机通信的接口。
42.当从主机host接收命令时,控制电路123可以通过主机接口121来接收命令,并且可以执行处理接收到的命令的操作。
43.存储器接口122可以直接或间接连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置为向存储器装置110和存储器控制器120提供接口,以使存储器控制器120基于来自控制电路123的控制信号和指令对存储器装置110执行存储器操作。
44.控制电路123可以被配置为通过存储器控制器120来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ecc电路)126等。
45.处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机host通信。处理器124可以通过存储器接口122与存储器装置110通信。
46.处理器124可以用于执行与闪存转换层(ftl)相关联的操作以有效地管理对存储器系统100的存储器操作。处理器124可以通过ftl将主机提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba并且通过使用映射表将该lba转换为pba。
47.基于映射单元,存在ftl可以采用的各种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
48.处理器124可以被配置为使从主机接收到的数据随机化,以将经随机化的数据写入存储器单元阵列。例如,处理器124可以通过使用随机化种子来使从主机接收到的数据随机化。经随机化的数据被提供到存储器装置110并且被写入存储器单元阵列。
49.处理器124可以被配置为在读取操作期间使从存储器装置110接收到的数据去随机化。例如,处理器124可以通过使用去随机化种子使从存储器装置110接收到的数据去随机化。经去随机化的数据可以被输出到主机host。
50.处理器124可以运行固件(fw)以控制存储器控制器120的操作。处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以运行(驱动)在启动期间加载到工作存储器125中的固件。
51.固件是指某一非易失性存储器上存储的程序或软件并且在存储器系统100内部运行。
52.在一些实施方式中,固件可以包括各种功能层。例如,固件可以包括闪存转换层(ftl)、主机接口层(hil)以及闪存接口层(fil)中的至少一个,闪存转换层(ftl)被配置为将主机host请求中的逻辑地址转换为存储器装置110的物理地址,主机接口层(hil)被配置为解译主机host向诸如存储器系统100的数据存储装置发出的命令并且被配置为将该命令传递到ftl,闪存接口层(fil)被配置为将由ftl发出的命令传递到存储器装置110。
53.例如,固件可以存储在存储器装置110中,然后加载到工作存储器125中。
54.工作存储器125可以存储操作存储器控制器120所需的固件、程序代码、命令或数
据条。例如,工作存储器125可以包括作为易失性存储器的静态ram(sram)、动态ram(dram)和同步ram(sdram)之中的至少一个。
55.错误检测/校正电路126可以被配置为通过使用错误检测和校正码来检测和校正数据中的一个或多个错误位。在一些实施方式中,经错误检测和校正的数据可以包括工作存储器125中存储的数据和从存储器装置110中检索的数据。
56.错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种解码方案来实施。例如,可以使用执行非系统化代码解码的解码器或执行系统化代码解码的解码器。
57.在一些实施方式中,错误检测/校正电路126可以基于扇区来检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。在本公开中,扇区可以指小于闪速存储器的读取单位(例如,页面)的数据单位。构成每条读取数据的扇区可以基于地址来映射。
58.在一些实施方式中,错误检测/校正电路126可以逐个扇区地计算位错误率(ber)并且确定数据中的错误位的数量是否在错误校正能力之内。例如,如果ber高于参考值,则错误检测/校正电路126可以确定相应扇区中的错误位是不可校正的,并且相应扇区被标记为“失败”。如果ber低于或等于参考值,则错误检测/校正电路126可以确定相应扇区是可校正的,或相应扇区可以被标记为“通过”。
59.错误检测/校正电路126可以对所有读取数据依次地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以移到下一个扇区以检查是否需要对下一个扇区执行错误校正操作。在以这种方式完成对所有读取数据的错误检测和校正操作之后,错误检测/校正电路126可以获取关于读取数据中哪个扇区被认为是不可校正的信息。错误检测/校正电路126可以向处理器124提供这种信息(例如,不可校正位的地址)。
60.存储器系统100还可以包括用于提供存储器控制器120的构成元件121、122、124、125和126之间的通道的总线127。例如,总线127可以包括用于传递各种类型的控制信号和命令的控制总线以及用于传递各种类型的数据的数据总线。
61.举例来说,图1示出存储器控制器120的上述构成元件121、122、124、125和126。注意的是,可以省略图中示出的那些元件中的一些,或者存储器控制器120的上述构成元件121、122、124、125和126中的一些可以集成到单个元件中。另外,在一些实施方式中,可以将一个或多个其它构成元件添加到存储器控制器120的上述构成元件。
62.图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
63.在一些实施方式中,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
64.存储器单元阵列210可以包括多个存储块blk1至blkz,其中z是等于或大于2的自然数。
65.在多个存储块blk1至blkz中,可以按行和列设置多条字线wl和多条位线bl,并且可以布置多个存储器单元mc。
66.多个存储块blk1至blkz可以通过多条字线wl连接到地址解码器220。多个存储块blk1至blkz可以通过多条位线bl连接到读取/写入电路230。
67.多个存储块blk1至blkz中的每一个可以包括多个存储器单元。例如,多个存储器
单元是非易失性存储器单元。在一些实施方式中,可以以垂直沟道结构布置这种非易失性存储器单元。
68.存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列。在一些实施方式中,存储器单元阵列210可以以三维结构来布置。
69.存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为存储一位数据的单层单元(slc)。再如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储两位数据的多层单元(mlc)。再如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储三位数据的三层单元(tlc)。再如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储四位数据的四层单元(qlc)。再如,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个被配置为每个存储器单元存储至少五位数据。
70.参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的外围电路而操作。
71.地址解码器220可以通过多条字线wl连接到存储器单元阵列210。
72.地址解码器220可以被配置为响应于控制逻辑240的命令和控制信号而操作。
73.地址解码器220可以通过存储器装置110内的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对接收到的地址之中的块地址进行解码。地址解码器220可以基于经解码的块地址来选择至少一个存储块。
74.地址解码器220可以从电压生成电路250接收读取电压vread和通过电压vpass。
75.在读取操作期间,地址解码器220可以向所选择存储块内的所选择字线wl施加读取电压vread,并且向其余的未选择字线wl施加通过电压vpass。
76.在编程验证操作期间,地址解码器220可以向所选择存储块内的所选择字线wl施加由电压生成电路250生成的验证电压,并且可以向其余的未选择字线wl施加通过电压vpass。
77.地址解码器220可以被配置为对接收到的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。
78.存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
79.地址解码器220可以基于块地址和行地址来选择一个存储块和一条字线。列地址可以由地址解码器220进行解码并且被提供给读取/写入电路230。
80.地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
81.读取/写入电路230可以包括多个页面缓冲器pb。读取/写入电路230在存储器单元阵列210执行读取操作时可以作为“读取电路”操作,而在存储器单元阵列210执行写入操作时可以作为“写入电路”操作。
82.上述读取/写入电路230也被称为包括多个页面缓冲器pb的页面缓冲器电路,或数据寄存器电路。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些
实施方式中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
83.多个页面缓冲器pb可以通过多条位线bl连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压vth,多个页面缓冲器pb可以向连接到存储器单元的位线bl连续地供应感测电流,以在感测节点处检测与根据相应的存储器单元的编程状态而变化的电流量成比例的改变,并且可以将相应的电压保存或锁存为感测数据。
84.读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
85.在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且该电压值作为数据被读出。读取/写入电路230临时存储检索到的数据,并且将数据data输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器pb或页面寄存器,读取/写入电路230还可以包括列选择电路。
86.控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器来接收命令cmd和控制信号ctrl。
87.控制逻辑240可以被配置为响应于控制信号ctrl而控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器pb的感测节点的电压电平调整到预充电电压电平的控制信号。
88.控制逻辑240可以控制读取/写入电路230在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压vread和通过电压vpass。
89.存储器装置110中包括的存储块blk可以包括多个页面pg。在一些实施方式中,按列布置的多个存储器单元形成存储器单元串,按行布置的多个存储器单元形成存储块。多个页面pg中的每一个耦合到字线wl中的一条,存储器单元串str中的每一个耦合到位线bl中的一条。
90.在存储块blk中,多条字线wl和多条位线bl可以按行和列布置。例如,多条字线wl中的每一条可以布置在行方向上,多条位线bl中的每一条可以布置在列方向上。再如,多条字线wl中的每一条可以布置在列方向上,多条位线bl中的每一条可以布置在行方向上。
91.在一些实施方式中,多条字线wl和多条位线bl可以相互交叉,从而寻址多个存储器单元mc的阵列中的单个存储器单元。在一些实施方式中,每个存储器单元mc可以包括晶体管tr,该晶体管tr包括可以保持电荷的材料层。
92.例如,布置在每个存储器单元mc中的晶体管tr可以包括漏极、源极和栅极。晶体管tr的漏极(或源极)可以直接或经由另一晶体管tr连接到相应的位线bl。晶体管tr的源极(或漏极)可以直接或经由另一晶体管tr连接到源极线(源极线可以是地)。晶体管tr的栅极可以包括由绝缘体围绕的浮置栅极(fg)以及从字线wl施加栅极电压的控制栅极(cg)。
93.在多个存储块blk1至blkz中的每一个中,可以在两条最外字线之中更接近读取/写入电路230的第一最外字线外侧额外地布置第一选择线(也称为源极选择线或漏极选择线),并且可以在另一条第二最外字线外侧额外地布置第二选择线(也称为漏极选择线或源极选择线)。
94.在一些实施方式中,可以在第一最外字线与第一选择线之间额外地布置至少一条
虚设字线。另外,可以在第二最外字线和第二选择线之间额外地布置至少一条虚设字线。
95.可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
96.图3是示出基于所公开技术的实施例的存储器装置110的字线wl和位线bl的结构的示图。
97.参照图3,存储器装置110具有布置有存储器单元mc的内核区域和包括用于执行存储器单元阵列210的操作的电路的辅助区域(除了内核区域之外的剩余区域)。
98.在内核区域中,在一个方向上布置的一定数量的存储器单元可以称为“页面”pg,串联耦合的一定数量的存储器单元可以称为“存储器单元串”str。
99.字线wl1至wl9可以连接到行解码器310。位线bl可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多条位线bl与列解码器320之间。
100.多条字线wl1至wl9可以对应于多个页面pg。
101.例如,多条字线wl1至wl9中的每一条可以对应于如图3所示的一个页面pg。当多条字线wl1至wl9中的每一条的大小较大时,多条字线wl1至wl9中的每一条可以对应于至少两个(例如,两个或四个)页面pg。每个页面pg是编程操作和读取操作中的最小单位,并且同一页面pg内的所有存储器单元mc在进行编程操作和读取操作时可以执行同步操作。
102.多条位线bl可以连接到列解码器320。在一些实施方式中,多条位线bl可以被划分为奇数位线bl和偶数位线bl,使得一对奇数位线bl和偶数位线bl共同耦合到列解码器320。
103.在访问存储器单元mc时,行解码器310和列解码器320用于基于地址来定位期望的存储器单元。
104.在一些实施方式中,由于存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器330发生,因此数据寄存器330起着重要的作用。如果数据寄存器330进行的数据处理被延迟,则所有其它区域需要等待,直到数据寄存器330完成数据处理,这降低了存储器装置110的整体性能。
105.参照图3所示的示例,在一个存储器单元串str中,多个晶体管tr1至tr9可以分别连接到多条字线wl1至wl9。在一些实施方式中,多个晶体管tr1至tr9对应于存储器单元mc。在本示例中,多个晶体管tr1至tr9包括控制栅极cg和浮置栅极fg。
106.多条字线wl1至wl9包括两条最外字线wl1和wl9。第一选择线dsl可以额外地布置在与另一最外字线wl9相比更靠近数据寄存器330并且具有更短的信号路径的第一最外字线wl1外侧。第二选择线ssl可以额外地布置在另一第二最外字线wl9外侧。
107.由第一选择线dsl控制导通/关断的第一选择晶体管d-tr具有连接到第一选择线dsl的栅电极,但不包括浮置栅极fg。由第二选择线ssl控制导通/关断的第二选择晶体管s-tr具有连接到第二选择线ssl的栅电极,但不包括浮置栅极fg。
108.第一选择晶体管d-tr用作将相应的存储器单元串str连接到数据寄存器330的开关电路。第二选择晶体管s-tr用作将相应的存储器单元串str连接到源极线sl的开关。也就是说,第一选择晶体管d-tr和第二选择晶体管s-tr可以用于启用或停用相应的存储器单元串str。
109.在一些实施方式中,存储器系统100向第一选择晶体管d-tr的栅电极施加预定的导通电压vcc,从而导通第一选择晶体管d-tr,并且向第二选择晶体管s-tr的栅电极施加预
定的关断电压(例如,0v),从而关断第二选择晶体管s-tr。
110.在读取操作或验证操作期间,存储器系统100导通第一选择晶体管d-tr和第二选择晶体管s-tr两者。因此,在读取操作或验证操作期间,电流可以通过相应的存储器单元串str和漏极流向对应于地的源极线sl,以便可以测量位线bl的电压电平。然而,在读取操作期间,第一选择晶体管d-tr和第二选择晶体管s-tr之间的通/断时序可能存在时差。
111.在擦除操作期间,存储器系统100可以通过源极线sl向衬底施加预定电压(例如,+20v)。在擦除操作期间,存储器系统100施加一定的电压以允许第一选择晶体管d-tr和第二选择晶体管s-tr都浮置。因此,所施加的擦除电压可以从所选择的存储器单元的浮置栅极fg移除电荷。
112.图4示出根据本公开的实施例的存储器系统100的示意性结构。
113.参照图4,存储器系统100可以包括存储器装置110和存储器控制器120。
114.存储器装置110可以包括多个存储块blk。数据可以存储在多个存储块blk中。例如,多个存储块blk中存储的数据可以是上述主机host请求写入的数据。
115.存储器控制器120可以控制存储器装置110将数据存储在存储器装置110中。
116.具体地,存储器控制器120可以将数据存储在第一存储块组blk_grp_1中。第一存储块组blk_grp_1可以包括存储器装置110中包括的多个存储块blk之中的n个存储块,其中n是等于或大于2的自然数。将数据存储在第一存储块组blk_grp_1中意味着将数据存储在第一存储块组blk_grp_1中包括的存储块中。
117.存储器控制器120可以将第一存储块组blk_grp_1中存储的数据设置为只读状态。设置为只读状态的数据不更新,并且可以保持为处于只读状态,直到存储器系统100被初始化。也就是说,存储器控制器120可以将新数据存储在第一存储块组blk_grp_1中,但不更新设置为只读状态的数据,即先前存储在第一存储块组blk_grp_1中的数据。
118.存储器控制器120可以将第一存储块组blk_grp_1中存储的数据中的全部或部分目标数据迁移到第二存储块组blk_grp_2。第二存储块组blk_grp_2可以包括存储器装置110中包括的多个存储块blk之中的m个存储块,其中m是等于或大于2的自然数。
119.将目标数据迁移到第二存储块组blk_grp_2意味着将目标数据存储在第二存储块组blk_grp_2中包括的存储块中。
120.此外,在目标数据从第一存储块组blk_grp_1到第二存储块组blk_grp_2的迁移完成之后,第一存储块组blk_grp_1中包括的存储块之中存储目标数据的存储块可以原样包括在第一存储块组blk_grp_1中或者可以包括在第二存储块组blk_grp_2中。
121.每个特定周期,存储器控制器120可以执行将第一存储块组blk_grp_1中存储的数据中的全部或部分数据迁移到第二存储块组blk_grp_2的操作。在这种情况下,存储器系统100中可以额外包括单独的电源(未示出)以独立供应电力,该电力用于使存储器控制器120周期性地将第一存储块组blk_grp_1中存储的数据中的全部或部分数据迁移到第二存储块组blk_grp_2。例如,电源可以是电池或电容器。
122.第一存储块组blk_grp_1和第二存储块组blk_grp_2可以是彼此不重叠的预设区域。存储器控制器120可以在将数据存储在存储器装置110中之前预先设置第一存储块组blk_grp_1和第二存储块组blk_grp_2。
123.图5是示出根据本公开的实施例的存储器系统100的操作方法的示例的流程图。
124.参照图5,存储器系统100的存储器控制器120可以首先将数据存储在第一存储块组blk_grp_1中(s510)。
125.存储器控制器120可以将第一存储块组blk_grp_1中存储的数据设置为只读状态(s520)。
126.然后,存储器控制器120可以确定从预设的参考时间开始是否经过了阈值时间(s530)。
127.在这种情况下,阈值时间值thr_closed可以是预先设置的值、主机host设置的值或基于存储器系统100的规格设置的值。
128.如果从参考时间开始经过了阈值时间(s530-是),则存储器控制器120可以将目标数据迁移到第二存储块组blk_grp_2(s540),目标数据为第一存储块组blk_grp_1中存储的数据中的全部或部分数据。
129.另一方面,如果从参考时间开始还没经过阈值时间(s530-否),则存储器控制器120可以额外等待特定时间,直到经过阈值时间(s550)。此后,在操作s530,存储器控制器120可以再次确定从参考时间开始是否经过了阈值时间。
130.在下文中,将描述存储器系统100将参考时间设置为用于确定是否经过了阈值时间的参考的示例。
131.图6示出根据本公开的实施例的存储器系统100设置参考时间的操作的示例。
132.参照图6,存储器系统100的存储器控制器120可以将参考时间设置为写入第一存储块组blk_grp_1的数据中的全部或部分数据被写入参考存储块ref_blk的时间点。在这种情况下,参考存储块ref_blk是第一存储块组blk_grp_1中包括的多个存储块blk中的一个。
133.例如,可以将数据被写入到参考存储块ref_blk中的时间点定义为数据开始被写入到参考存储块ref_blk中的时间点。
134.再如,可以将数据被写入到参考存储块ref_blk中的时间点定义为参考存储块ref_blk变为封闭状态的时间点。存储块blk的封闭状态意味着数据被写入相应的存储块blk中所有可以写入数据的页面,从而不能再写入新数据。
135.也就是说,存储器控制器120确定从数据被写入到参考存储块ref_blk中的时间点到现在所经过的时间是否等于或大于阈值时间,并且可以确定是否将第一存储块组blk_grp_1中存储的数据中的全部或部分数据迁移到第二存储块组blk_grp_2。
136.在下文中,将描述存储器系统100从第一存储块组blk_grp_1中包括的存储块之中确定参考存储块ref_blk的操作。
137.图7示出根据本公开的实施例的存储器系统100确定参考存储块ref_blk的操作的示例。
138.参照图7,存储器系统100的存储器控制器120可以从第一存储块组blk_grp_1中包括的多个存储块blk_1、blk_2、
……
、blk_n之中将参考存储块ref_blk确定为(1)写入第一存储块组blk_grp_1的数据中的全部或部分数据首先被写入的存储块、(2)读取计数最大的存储块或(3)误码率最大的存储块。
139.作为示例,(1)存储器控制器120可以将写入第一存储块组blk_grp_1的数据中的全部或部分数据首先被写入的存储块确定为参考存储块ref_blk。在写入第一存储块组blk_grp_1的数据中的全部或部分数据被写入的时间点为wt2《
……
《wt1《wtn的情况下,可
以将第二存储块blk_2确定为参考存储块ref_blk。
140.作为另一示例,(2)存储器控制器120可以将读取计数最大的存储块确定为参考存储块ref_blk。在读计数值为rc1《rc2《
……
《rcn的情况下,可以将第n存储块blk_n确定为参考存储块ref_blk。
141.作为另一示例,(3)存储器控制器120可以将误码率最大的存储块确定为参考存储块ref_blk。在误码率为ebrn《ebr2《
……
《ebr1的情况下,可以将第一存储块blk_1确定为参考存储块ref_blk。
142.在下文中,将描述上述存储器系统100的操作的详细实施例。首先,将描述存储器系统100将数据存储在第一存储块组blk_grp_1中的顺序。在这种情况下,数据在第一存储块组blk_grp_1中存储的顺序表示从第一存储块组blk_grp_1的哪个部分开始存储数据。
143.图8示出根据本公开的实施例的存储器系统100将数据存储在第一存储块组blk_grp_1中的顺序的示例。
144.参照图8,存储器系统100的存储器控制器120可以基于第一存储块组blk_grp_1中包括的k个超级存储块sblk_1、sblk_2、
……
、sblk_k的索引,确定数据在第一存储块组blk_grp_1中存储的顺序,其中k是自然数。
145.超级存储块是包括一个或多个存储块的逻辑存储空间的单位。超级存储块sblk_1、sblk_2、
……
、sblk_k中的每一个可以包括第一存储块组blk_grp_1中包括的存储块blk中的一个或多个。将数据存储在超级存储块中意味着将数据存储在相应的超级存储块中包括的存储块中。
146.在这种情况下,超级存储块sblk_1、sblk_2、
……
、和sblk_k的索引可以是在存储器系统100的初始化步骤中已经确定的值。
147.在图8中,超级存储块sblk_1、sblk_2、
……
、sblk_k的索引分别为1、2、
……
、k。然而,超级存储块sblk_1、sblk_2、
……
、sblk_k中的每一个的索引值不限于参照图8描述的实施例,并且可以以各种方式设置。
148.作为示例,存储器控制器120可以按照超级存储块sblk_1、sblk_2、
……
、sblk_k的索引的升序来确定将数据存储在第一存储块组blk_grp_1中的顺序。也就是说,存储器控制器120首先可以将数据写入具有最小的索引值的第一超级存储块sblk_1(

),然后将数据写入具有第二小的索引值的第二超级存储块sblk_2(

)。这样,存储器控制器120可以根据该顺序将数据写入具有最大的第k索引值的第k超级存储块sblk_k
149.进一步,在图8中,已经描述了存储器控制器120根据超级存储块sblk_1、sblk_2、
……
,sblk_k的索引的升序来确将数据存储定在第一存储块组blk_grp_1中的顺序的情况。然而,存储器控制器120可以通过使用另一种方法来确定将数据存储在第一存储块组blk_grp_1中的顺序。作为示例,存储器控制器120可以根据超级存储块sblk_1、sblk_2、
……
、sblk_k的索引的降序来确定将数据存储在第一存储块组blk_grp_1中的顺序。
150.此外,存储器控制器120可以将数据在第一存储块组blk_grp_1中存储的顺序存储为单独的数据结构(例如,表格、列表)。
151.在上面,已经描述了存储器系统100将数据存储在第一存储块组blk_grp_1中的顺序。
152.在下文中,将描述存储器系统100将第一存储块组blk_grp_1中存储的数据迁移到
第二存储块组blk_grp_2的操作。
153.图9示出根据本公开的实施例的存储器系统100将第一存储块组blk_grp_1中存储的数据迁移到第二存储块组blk_grp_2的顺序的示例。
154.参照图9,存储器系统100的存储器控制器120可以根据第一存储块组blk_grp_1中包括的存储块blk_1、blk_2、
……
、blk_n中的每一个的误码率的顺序,确定将第一存储块组blk_grp_1中存储的目标数据迁移到第二存储块组blk_grp_2的顺序。
155.存储块的误码率可以通过与相应的存储块中存储的数据位数相比发生错误的数据位数来确定。例如,如果所有1000位数据之中的3位数据发生错误,则可以将误码率确定为3/1000=0.3%。
156.在读取相应的存储块中存储的数据之后,存储器控制器120可以对读取的数据执行错误检测逻辑(例如,奇偶校验、crc、汉明码)以检测发生错误的数据位数。
157.存储器控制器120可以通过使用单独的数据结构(例如,表格、列表)来管理存储块blk_1、blk_2、
……
、blk_n中的每一个的确定的误码率。
158.例如,在图9中,第一存储块blk_1的误码率为ebr1,第二存储块blk_2的误码率为ebr2,并且第n存储块blk_n的误码率为ebrn。在这种情况下,ebr1大于ebr2,ebr2大于ebrn。
159.作为示例,存储器控制器120可以根据每个存储块blk_1、blk_2、
……
、blk_n中的每一个的误码率的降序,确定将目标存储块blk_1、blk_2、
……
、blk_n中存储的数据迁移到第二存储块组blk_grp_2的顺序。
160.也就是说,存储器控制器120可以将误码率最大的第一存储块blk_1中存储的数据迁移到第二存储块组blk_grp_2(

),然后将误码率第二大的第二存储块blk_2中存储的数据迁移到第二存储块组blk_grp_2(

)。以这种方式,存储器控制器120可以在第n次将误码率最小的第n存储块blk_n中存储的数据迁移到第二存储块组blk_grp_2
161.在下文中,将描述确定存储块的误码率的具体方法,误码率是用于确定将第一存储块组blk_grp_1中存储的数据迁移到第二存储块组blk_grp_2的顺序的标准。
162.图10示出根据本公开的实施例的存储器系统100确定存储块的误码率的方法的示例。
163.参照图10,为了计算存储块blk的误码率,存储器系统100的存储器控制器120可以读取存储块blk中包括的多个页面pg之中的一个或多个参考页面ref_pg中存储的数据。
164.存储器控制器120读取存储块blk中包括的多个页面pg之中的一个或多个参考页面ref_pg中存储的数据的原因是为了尽可能快地计算误码率。
165.在这种情况下,参考页面ref_pg可以是,例如,存储块blk中包括的多个页面pg之中具有特定索引的页面。例如,可以选择多个页面pg之中具有最大索引的页面、具有最小索引的页面以及具有中间值索引的页面作为参考页面ref_pg。
166.再如,可以从存储块blk中包括的多个页面pg之中随机选择参考页面ref_pg。
167.进一步,当存储器控制器120读取存储块blk中包括的参考页面ref_pg中存储的数据时,存储块blk可以处于封闭状态。
168.图11示出根据本公开的实施例的存储器系统100读取参考页面ref_pg中存储的数据的时间点的示例。
169.参照图11,存储器系统100的存储器控制器120可以考虑到保持而在从数据存储在
多个参考页面ref_pg中的时间点t开始经过预设的参考时间retention_time或更长时间之后,读取多个参考页面ref_pg中存储的数据。
170.存储器控制器120考虑到保持而在预设的参考时间retention_time或更长时间之后读取存储在多个参考页面ref_pg中的数据的原因是,由于在存储数据之后经过特定时间段或更长时间之后的保持可能发生错误。
171.图12示出根据本公开的实施例的存储器系统100将第一存储块组blk_grp_1中存储的数据迁移到第二存储块组blk_grp_2的顺序的另一示例。
172.参照图12,存储器系统100的存储器控制器120可以基于第一存储块组blk_grp_1中的存储块的封闭状态的持续时间,确定将第一存储块组blk_grp_1中存储的数据迁移到第二存储块组blk_grp_2的顺序。
173.在图12中,第一存储块blk_1的封闭状态的持续时间最长,第二存储块blk_2的封闭状态的持续时间第二长。另外,第n存储块blk_n的封闭状态的持续时间最短。
174.相应地,存储器控制器120可以首先将第一存储块blk_1中存储的数据迁移到第二存储块组blk_grp_2(

),然后将第二存储块blk_2中存储的数据迁移到第二存储块组blk_grp_2(

)。以这种方式,存储器控制器120可以将第n存储块blk_n中存储的数据迁移到第二存储块组blk_grp_2
175.图13示出根据本公开的实施例的存储器系统100的操作方法。
176.参照图13,存储器系统100的操作方法可以包括:将数据存储在包括多个存储块blk之中的n个存储块的第一存储块组blk_grp_1中,其中n是等于或大于2的自然数(s1310)。
177.存储器系统100的操作方法可以进一步包括:基于第一存储块组blk_grp_1中包括的k个超级存储块sblk_1、sblk_2、
……
、sblk_k的索引,确定将数据存储在第一存储块组blk_grp_1中的顺序,其中k是自然数。在这种情况下,k个超级存储块sblk_1、sblk_2、
……
、sblk_k中的每一个可以包括第一存储块组blk_grp_1中包括的存储块blk中的一个或多个。
178.存储器系统100的操作方法可以包括:将第一存储块组blk_grp_1中存储的数据设置为只读状态(s1320)。
179.另外,存储器系统100的操作方法可以包括:在从参考时间开始经过阈值时间之后,将目标数据迁移到包括多个存储块blk之中的m个存储块的第二存储块组blk_grp_2,目标数据为第一存储块组blk_grp_1中存储的数据中的全部或部分数据,其中m是等于或大于2的自然数(s1330)。
180.存储器系统100的操作方法可以进一步包括:将参考时间设置为数据中的全部或部分数据被写入第一存储块组blk_grp_1中包括的多个存储块blk之中的一个参考存储块ref_blk的时间点。
181.存储器系统100的操作方法可以进一步包括:在第一存储块组blk_grp_1中包括的多个存储块blk之中,将参考存储块ref_blk确定为(1)数据中的全部或部分数据首先被写入的存储块,(2)读取计数最大的存储块,或(3)误码率最大的存储块。
182.例如,将目标数据迁移到第二存储块组blk_grp_2的操作s1330可以包括:根据第一存储块组blk_grp_1中包括的存储块blk_1、blk_2、
……
、blk_n中的每一个的误码率的顺序,确定将目标数据迁移到第二存储块组blk_grp_2的顺序。
183.存储器系统100的操作方法可以进一步包括:基于读取第一存储块组blk_grp_1中包括的存储块blk_1、blk_2、
……
、blk_n中的每一个中包括的一个或多个参考页面ref_pg中存储的数据的结果,计算第一存储块组blk_grp_1中包括的存储块blk_1、blk_2、
……
、blk_n中的每一个的误码率,每个存储块处于封闭状态。
184.存储器系统100的操作方法可以进一步包括:在从数据存储在一个或多个参考页面ref_pg中的时间点开始经过预设的参考时间retention_time之后读取一个或多个参考页面ref_pg中存储的数据。
185.存储器系统100的操作方法可以进一步包括:基于第一存储块组blk_grp_1中的存储块中的每一个的封闭状态的持续时间,确定将目标数据迁移到第二存储块组blk_grp_2的顺序。
186.图14是示出基于所公开技术的一些实施例的计算系统1400的配置的示图。
187.参照图14,基于所公开技术的实施例的计算系统1400可以包括:存储器系统100,电连接到系统总线1460;cpu 1410,被配置为控制计算系统1400的全部操作;ram 1420,被配置为存储与计算系统1400的操作有关的数据和信息;用户接口/用户体验(ui/ux)模块1430,被配置为向用户提供用户环境;通信模块1440,被配置为以有线和/或无线类型与外部装置通信;以及电源管理模块1450,被配置为管理计算系统1400使用的电力。
188.计算系统1400可以是个人计算机(pc)或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
189.计算系统1400可以进一步包括用于提供操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器以及dram。其他元件对本领域技术人员将是显而易见的。
190.存储器系统100不仅可以包括被配置为将数据存储在磁盘中的、诸如硬盘驱动器(hdd)的装置,还可以包括被配置为将数据存储在非易失性存储器中的诸如固态驱动器(ssd)、通用闪存装置或嵌入式mmc(emmc)装置的装置。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。另外,存储器系统100可以被实施为各种类型的存储装置并且安装在各种电子装置内部。
191.基于上述所公开的技术的实施例,可以有利地减少或最小化存储器系统的操作延迟时间。另外,基于所公开的技术的实施例,可以有利地减少或最小化在调用特定功能的过程中产生的开销。尽管出于说明的目的已经利用特定的详情和不同的细节描述了所公开的技术的各个实施例,但是本领域技术人员将理解的是,在不脱离所附权利要求书中限定的本发明的思想和范围的情况下,可以基于本公开中公开或说明的内容进行各种修改、添加和替换。此外,可以组合实施例以形成另外的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1