存储器系统及其操作方法
1.相关申请的交叉引用
2.本技术要求于2020年11月30日提交的、申请号为10-2020-0164031的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。
技术领域
3.实施例涉及一种存储器系统及其操作方法。
背景技术:4.存储器系统包括基于来自诸如计算机、服务器、智能电话、平板pc或其它电子装置的主机的请求来存储数据的数据存储装置。存储器系统的示例涵盖从传统的基于磁盘的硬盘驱动器(hdd)到基于半导体的数据存储装置,诸如固态驱动器(ssd)、通用闪存装置(ufs)或嵌入式mmc(emmc)装置。
5.存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令,并且基于接收到的命令,可以运行命令或控制对存储器系统中的存储器装置的读取/写入/擦除操作。存储器控制器可以用于运行固件操作,以执行用于控制这些操作的逻辑操作。
6.此外,存储器系统可以在满足特定条件时进入低功率模式以减少功耗。例如,当空闲状态持续预定时间或更长时间时,存储器系统可以进入低功率模式。
技术实现要素:7.本公开的实施例可以提供一种即使在频繁进入低功率模式的环境下也能够满足性能要求的存储器系统及其操作方法。
8.另外,本公开的实施例可以提供一种能够使性能一致性最大化的存储器系统及其操作方法。
9.一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括存储器装置和存储器控制器,该存储器装置包括多个存储块,该存储器控制器用于与存储器装置通信并控制存储器装置。
10.当进入低功率模式时,存储器控制器可以根据存储器系统的温度运行目标操作的迭代,直到满足停止条件。
11.目标操作可以是对多个存储块的垃圾收集操作,或者将包括多个存储块中的至少一个的第一区域中存储的数据移动到包括多个存储块中的至少一个的第二区域的迁移操作。在这种情况下,第一区域中包括的存储块的操作速度可以高于第二区域中包括的存储块的操作速度。
12.存储器控制器可以在迭代中的每一次开始时监视存储器系统的温度。
13.当存储器系统的温度小于或等于第一阈值温度时,存储器控制器可以运行每次迭代,并且当存储器系统的温度超过第一阈值温度时,将迭代延迟根据存储器系统的温度所
确定的延迟时间。
14.另一方面,本公开的实施例可以提供一种存储器系统的操作方法,该存储器系统包括具有多个存储块的存储器装置。
15.存储器系统的操作方法可以包括监视存储器系统是否进入低功率模式。
16.存储器系统的操作方法可以包括:当进入低功率模式时,根据存储器系统的温度运行目标操作的迭代,直到满足停止条件。
17.目标操作可以是对多个存储块的垃圾收集操作,或者将包括多个存储块中的至少一个的第一区域中存储的数据移动到包括多个存储块中的至少一个的第二区域的迁移操作。第一区域中包括的存储块的操作速度高于第二区域中包括的存储块的操作速度。
18.根据存储器系统的温度运行目标操作的迭代的步骤可以包括:在迭代中的每一次开始时监视存储器系统的温度。
19.根据存储器系统的温度运行目标操作的迭代的步骤可以包括:当存储器系统的温度小于或等于第一阈值温度时,运行每次迭代,并且当存储器系统的温度超过第一阈值温度时,将迭代延迟根据存储器系统的温度所确定的延迟时间。
20.另一方面,本公开的实施例可以提供一种存储器系统,该存储器系统包括具有多个存储块的存储器装置以及控制器。
21.控制器可以根据存储块之中的空闲块的数量来选择垃圾收集操作和数据迁移操作中的一种。
22.控制器可以控制存储器装置执行所选择的操作。控制器可以在存储器系统的低功率模式下根据存储器系统的温度执行一组选择和控制。
23.存储块可以是非易失性的。
24.数据迁移操作可以是将数据从存储块之中的高操作速度块迁移到高存储容量块的操作。
25.控制器可以以一定的间隔迭代地执行该组选择和控制。
26.当温度变得大于第一阈值时,控制器可以将该组的迭代延迟一定时间量。
27.控制器可以随着温度增加而增加该时间量。
28.当温度变得大于第二阈值或者迭代被连续延迟的次数变得大于第三阈值时,控制器可以中断迭代。
29.控制器可以随着温度增加而增加该间隔。
30.根据本公开的实施例,即使在频繁进入低功率模式的环境中,也可以满足性能要求。
31.此外,根据本公开的实施例,可以确保最大的性能一致性。
附图说明
32.图1是示出基于所公开技术的实施例的存储器系统的配置的示意图。
33.图2是示意性地示出基于所公开技术的实施例的存储器装置的框图。
34.图3是示出基于所公开技术的实施例的存储器装置的字线和位线的结构的示图。
35.图4是示出根据本公开的实施例的存储器系统的示意性操作的流程图。
36.图5是示出作为目标操作的示例的垃圾收集操作的示图。
37.图6是示出作为目标操作的示例的迁移操作的示图。
38.图7是示出根据本公开的实施例的由存储器系统运行单次迭代的过程的示例的流程图。
39.图8是示出根据本公开的实施例的由存储器系统根据温度运行单次迭代的过程的流程图。
40.图9是示出根据温度确定延迟时间的示例的示图。
41.图10是示出根据温度确定迭代之间的时段的示例的示图。
42.图11是示出根据本公开的实施例的由存储器系统确定是否继续迭代的过程的示例的流程图。
43.图12是示出根据本公开的实施例的由存储器系统确定目标操作的过程的流程图。
44.图13是示出根据迭代的运行的存储器系统的状态改变的示图。
45.图14是示出根据本公开的实施例的在存储器系统停止迭代之后的操作的流程图。
46.图15是示出根据本公开的实施例的存储器系统的操作方法的示图。
47.图16是示出基于所公开技术的一些实施例的计算系统的配置的示图。
具体实施方式
48.在下文中,参照附图详细描述本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的引用不一定仅针对一个实施例,并且对任何这种短语的不同引用不一定针对相同的实施例。本文使用的术语“实施例”不一定指所有实施例。
49.图1是示出基于所公开技术的实施例的存储器系统100的示意性配置的示图。
50.在一些实施方案中,存储器系统100可以包括被配置为存储数据的存储器装置110以及被配置为控制存储器装置110的存储器控制器120。
51.存储器装置110可以包括多个存储块,每个存储块包括用于存储数据的多个存储器单元。存储器装置110可以被配置为响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。
52.存储器装置110中的存储器单元用于存储数据,并且可以布置在存储器单元阵列中。存储器单元阵列可以被划分为存储器单元的存储块,并且每个块包括存储器单元的不同页面。在nand闪速存储器装置的典型实施方案中,存储器单元的页面是可以被编程或写入的最小存储器单位,并且存储器单元中存储的数据可以以块级别进行擦除。
53.在一些实施方案中,存储器装置110可以被实施为各种类型,诸如双倍数据速率同步动态随机存取存储器(ddr sdram)、第四代低功率双倍数据速率(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变随机存取存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)或自旋转移扭矩随机存取存储器(stt-ram)。
54.存储器装置110可以以三维阵列结构实施。所公开技术的一些实施例可应用于具有电荷存储层的任何类型的闪速存储器装置。在实施方案中,电荷存储层可以由导电材料形成,并且这种电荷存储层可以被称为浮置栅极。在另一实施方案中,电荷存储层可以由绝
缘材料形成,并且这种闪速存储器装置可以被称为电荷撷取闪存(ctf)。
55.存储器装置110可以被配置为从存储器控制器120接收命令和地址,以访问存储器单元阵列中的使用该地址所选择的区域。也就是说,存储器装置110可以对存储器装置的存储器区域执行与接收到的命令相对应的操作,该存储器区域具有与从存储器控制器120接收到的地址相对应的物理地址。
56.在一些实施方案中,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据写入由地址选择的区域。在读取操作期间,存储器装置110可以从由地址选择的存储器区域读取数据。在擦除操作期间,存储器装置110可以擦除由地址选择的存储器区域中存储的数据。
57.存储器控制器120可以控制对存储器装置110执行的写入操作(编程操作)、读取操作、擦除操作和后台操作。后台操作可以包括例如被实施为优化存储器装置110的整体性能的操作,诸如垃圾收集(gc)操作、损耗均衡(wl)操作和坏块管理(bbm)操作。
58.存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,当存储器控制器120执行存储器装置的后台操作时,即使没有来自主机的请求,存储器控制器120也可以控制存储器装置110的操作。
59.存储器控制器120和主机可以是分开的装置。在一些实施方案中,存储器控制器120和主机可以被集成并实施为单个装置。在下面的描述中,作为示例,存储器控制器120和主机将被作为分开的装置进行讨论。
60.参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。
61.主机接口121可以被配置为提供用于与主机的通信的接口。
62.当从主机host接收命令时,控制电路123可以通过主机接口121接收命令,并且可以执行处理接收到的命令的操作。
63.存储器接口122可以直接或间接地连接到存储器装置110以提供用于与存储器装置110的通信的接口。也就是说,存储器接口122可以被配置为向存储器装置110和存储器控制器120提供接口,以使存储器控制器120基于来自控制电路123的控制信号和指令对存储器装置110执行存储器操作。
64.控制电路123可以被配置为通过存储器控制器120来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ecc电路)126等。
65.处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑操作。处理器124可以通过主机接口121与主机host通信。处理器124可以通过存储器接口122与存储器装置110通信。
66.处理器124可以用于执行与闪存转换层(ftl)相关联的操作,以有效地管理对存储器系统100的存储器操作。处理器124可以通过ftl将主机所提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba,并且通过使用映射表将lba转换为pba。
67.基于映射单位,存在ftl可以采用的各种地址映射方法。典型的地址映射方法可以包括页面映射方法、块映射方法和混合映射方法。
68.处理器124可以被配置为对从主机接收的数据进行随机化,以将经随机化的数据
写入存储器单元阵列。例如,处理器124可以通过使用随机化种子来对从主机接收的数据进行随机化。经随机化的数据被提供到存储器装置110并被写入存储器单元阵列。
69.处理器124可以被配置为在读取操作期间对从存储器装置110接收的数据进行去随机化。例如,处理器124可以通过使用去随机化种子来对从存储器装置110接收的数据进行去随机化。经去随机化的数据可以被输出到主机host。
70.处理器124可以运行固件(fw)以控制存储器控制器120的操作。处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以运行(驱动)在启动期间被加载到工作存储器125中的固件。
71.固件是指存储在某个非易失性存储器上的程序或软件,并且在存储器系统100内部运行。
72.在一些实施方案中,固件可以包括各种功能层。例如,固件可以包括以下中的至少一个:闪存转换层(ftl),被配置为将主机host请求中的逻辑地址转换为存储器装置110的物理地址;主机接口层(hil),被配置为解释主机host向诸如存储器系统100的数据存储装置发出的命令,并且将该命令传递到ftl;以及闪存接口层(fil),被配置为将由ftl发出的命令传递到存储器装置110。
73.例如,固件可以被存储在存储器装置110中,然后被加载到工作存储器125中。
74.工作存储器125可以存储操作存储器控制器120所必需的固件、程序代码、命令或多条数据。工作存储器125可以包括例如作为易失性存储器的静态ram(sram)、动态ram(dram)和同步ram(sdram)之中的至少一种。
75.错误检测/校正电路126可以被配置为通过使用错误检测和校正码来对数据中的一个或多个错误位进行检测和校正。在一些实施方案中,经受错误检测和校正的数据可以包括工作存储器125中存储的数据以及从存储器装置110检索的数据。
76.错误检测/校正电路126可以被实施为通过使用错误校正码来对数据进行解码。错误检测/校正电路126可以通过使用各种解码方案来实施。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。
77.在一些实施方案中,错误检测/校正电路126可以基于扇区来检测一个或多个错误位。也就是说,每条读取数据可以包括多个扇区。在本公开中,扇区可以指小于闪速存储器的读取单位(例如,页面)的数据单位。构成每条读取数据的扇区可以基于地址进行映射。
78.在一些实施方案中,错误检测/校正电路126可以逐个扇区地计算位错误率(ber),并且确定数据中的错误位的数量是否在错误校正能力之内。例如,如果ber高于参考值,则错误检测/校正电路126可以确定相应扇区中的错误位是不可校正的,并且将相应扇区标记为“失败”。如果ber小于或等于参考值,则错误检测/校正电路126可以确定相应扇区是可校正的,并且可以将相应扇区标记为“通过”。
79.错误检测/校正电路126可以对所有的读取数据依次地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以前进到下一个扇区,以检查是否需要对下一个扇区进行错误校正操作。在以这种方式完成对所有读取数据的错误检测和校正操作之后,错误检测/校正电路126可以获取关于读取数据中的哪个扇区被认为是不可校正的信息。错误检测/校正电路126可以将这种信息(例如,不可校正位的地址)提供到处理器124。
80.存储器系统100还可以包括总线127,以在存储器控制器120的构成元件121、122、124、125和126之间提供通道。总线127可以包括例如用于传递各种类型的控制信号和命令的控制总线以及用于传递各种类型的数据的数据总线。
81.作为示例,图1示出了存储器控制器120的上述构成元件121、122、124、125和126(即,主机接口121、存储器接口122、处理器124、工作存储器125和错误检测/校正电路126)。注意的是,可以省略附图所示的那些中的一些,或者可以将存储器控制器120的上述构成元件121、122、124、125和126中的一些集成到单个元件中。另外,在一些实施方案中,可以将一个或多个其它构成元件添加到存储器控制器120的上述构成元件。
82.图2是示意性地示出基于所公开技术的实施例的存储器装置110的框图。
83.在一些实施方案中,基于所公开技术的实施例的存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。
84.存储器单元阵列210可以包括多个存储块blk1至blkz,其中z是等于或大于2的自然数。
85.在多个存储块blk1至blkz中,可以按行和列设置多个字线wl和多个位线bl,并且可以布置多个存储器单元mc。
86.多个存储块blk1至blkz可以通过多个字线wl连接到地址解码器220。多个存储块blk1至blkz可以通过多个位线bl连接到读取/写入电路230。
87.多个存储块blk1至blkz中的每一个可以包括多个存储器单元。例如,多个存储器单元是非易失性存储器单元。在一些实施方案中,这种非易失性存储器单元可以以垂直沟道结构布置。
88.存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列。在一些实施方案中,存储器单元阵列210可以以三维结构布置。
89.存储器单元阵列210中包括的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储一位数据的单层单元(slc)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储两位数据的多层单元(mlc)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储三位数据的三层单元(tlc)。作为另一示例,存储器单元阵列210中包括的多个存储器单元中的每一个可以是被配置为每个存储器单元存储四位数据的四层单元(qlc)。作为另一示例,存储器单元阵列210可以包括多个存储器单元,多个存储器单元中的每一个可以被配置为每个存储器单元存储至少五位数据。
90.参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置为驱动存储器单元阵列210的外围电路进行操作。
91.地址解码器220可以通过多个字线wl连接到存储器单元阵列210。
92.地址解码器220可以被配置为响应于控制逻辑240的命令和控制信号而操作。
93.地址解码器220可以通过存储器装置110内部的输入/输出缓冲器来接收地址。地址解码器220可以被配置为对接收到的地址之中的块地址进行解码。地址解码器220可以基于解码后的块地址选择至少一个存储块。
94.地址解码器220可以从电压生成电路250接收读取电压vread和通过电压vpass。
95.在读取操作期间,地址解码器220可以将读取电压vread施加到所选择的存储块内部的所选择的字线wl,并且将通过电压vpass施加到剩余的未选择的字线wl。
96.在编程验证操作期间,地址解码器220可以将电压生成电路250所生成的验证电压施加到所选择的存储块内部的所选择的字线wl,并且可以将通过电压vpass施加到剩余的未选择的字线wl。
97.地址解码器220可以被配置为对接收到的地址之中的列地址进行解码。地址解码器220可以将解码后的列地址传输到读取/写入电路230。
98.存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收到的地址可以包括块地址、行地址和列地址中的至少一个。
99.地址解码器220可以基于块地址和行地址选择一个存储块和一个字线。列地址可以由地址解码器220解码并被提供到读取/写入电路230。
100.地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。
101.读取/写入电路230可以包括多个页面缓冲器pb。当存储器单元阵列210执行读取操作时,读取/写入电路230可以作为“读取电路”进行操作,并且当存储器单元阵列210执行写入操作时,读取/写入电路230可以作为“写入电路”进行操作。
102.上述读取/写入电路230也被称为页面缓冲器电路或数据寄存器电路,该页面缓冲器电路包括多个页面缓冲器pb。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些实施方案中,可以进一步包括用于数据高速缓存的高速缓存缓冲器。
103.多个页面缓冲器pb可以通过多个位线bl连接到存储器单元阵列210。为了在读取操作和编程验证操作期间检测或感测存储器单元的阈值电压vth,多个页面缓冲器pb可以向连接到存储器单元的位线bl连续地供应感测电流,以在感测节点处检测与根据相应存储器单元的编程状态而变化的电流的量成比例的变化,并且可以将相应的电压保存或锁存为感测数据。
104.读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。
105.在读取操作期间,读取/写入电路230感测存储器单元的电压值,并且该电压值被作为数据读出。读取/写入电路230临时存储检索到的数据,并且将数据data输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器pb或页面寄存器之外,读取/写入电路230还可以包括列选择电路。
106.控制逻辑240可以连接到地址解码器220、读取/写入电路230和电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令cmd和控制信号ctrl。
107.控制逻辑240可以被配置为响应于控制信号ctrl而控制存储器装置110的全部操作。控制逻辑240可以输出用于将多个页面缓冲器pb的感测节点的电压电平调节至预充电电压电平的控制信号。
108.控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压vread和通过电压vpass。
109.存储器装置110中包括的存储块blk可以包括多个页面pg。在一些实施方案中,按
列布置的多个存储器单元形成存储器单元串,并且按行布置的多个存储器单元形成存储块。多个页面pg中的每一个联接到字线wl中的一个,并且存储器单元串str中的每一个联接到位线bl中的一个。
110.在存储块blk中,多个字线wl和多个位线bl可以按行和列布置。例如,多个字线wl中的每一个可以沿行方向布置,并且多个位线bl中的每一个可以沿列方向布置。作为另一示例,多个字线wl中的每一个可以沿列方向布置,并且多个位线bl中的每一个可以沿行方向布置。
111.在一些实施方案中,多个字线wl和多个位线bl可以彼此相交,从而在多个存储器单元mc的阵列中进行单个存储器单元的寻址。在一些实施方案中,每个存储器单元mc可以包括晶体管tr,该晶体管tr包括可以保持电荷的材料层。
112.例如,每个存储器单元mc中布置的晶体管tr可以包括漏极、源极和栅极。晶体管tr的漏极(或源极)可以直接地或经由另一晶体管tr连接到相应的位线bl。晶体管tr的源极(或漏极)可以直接地或经由另一晶体管tr连接到源极线(其可以接地)。晶体管tr的栅极可以包括浮置栅极(fg)和控制栅极(cg),其中浮置栅极由绝缘体包围,并且栅极电压从字线wl施加到控制栅极。
113.在多个存储块blk1至blkz的每一个中,第一选择线(也被称为源极选择线或漏极选择线)可以被另外布置在两个最外字线之中更靠近读取/写入电路230的第一最外字线的外侧,并且第二选择线(也被称为漏极选择线或源极选择线)可以另外布置在另一第二最外字线的外侧。
114.在一些实施方案中,可以在第一最外字线和第一选择线之间另外布置至少一个虚设字线。另外,可以在第二最外字线和第二选择线之间另外布置至少一个虚设字线。
115.可以逐个页面地执行存储块的读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。
116.图3是示出基于所公开技术的实施例的存储器装置110的字线wl和位线bl的结构的示图。
117.参照图3,存储器装置110具有布置存储器单元mc的内核区域,以及包括用于执行存储器单元阵列210的操作的电路的辅助区域(除了内核区域以外的其余区域)。
118.在内核区域中,沿一个方向布置的一定数量的存储器单元可以被称为“页面”pg,并且串联联接的一定数量的存储器单元可以被称为“存储器单元串”str。
119.字线wl1至wl9可以连接到行解码器310。位线bl可以连接到列解码器320。对应于图2的读取/写入电路230的数据寄存器330可以存在于多个位线bl和列解码器320之间。
120.多个字线wl1至wl9可以对应于多个页面pg。
121.例如,如图3所示,多个字线wl1至wl9中的每一个可以对应于一个页面pg。当多个字线wl1至wl9中的每一个的大小较大时,多个字线wl1至wl9中的每一个可以对应于至少两个(例如,两个或四个)页面pg。每个页面pg是编程操作和读取操作中的最小单位,并且当进行编程操作和读取操作时,相同页面pg内的所有存储器单元mc可以同时执行操作。
122.多个位线bl可以连接到列解码器320。在一些实施方案中,可以将多个位线bl划分为奇数编号位线bl和偶数编号位线bl,使得一对奇数编号位线和偶数编号位线共同联接到列解码器320。
123.在访问存储器单元mc时,行解码器310和列解码器320用于基于地址来定位期望的存储器单元。
124.在一些实施方案中,因为由存储器装置110进行的、包括编程操作和读取操作的所有数据处理都经由数据寄存器330发生,所以数据寄存器330起着重要的作用。如果由数据寄存器330进行的数据处理被延迟,则所有的其它区域都需要等待,直到数据寄存器330完成数据处理,这降低了存储器装置110的整体性能。
125.参照图3所示的示例,在一个存储器单元串str中,多个晶体管tr1至tr9可以分别连接到多个字线wl1至wl9。在一些实施方案中,多个晶体管tr1至tr9对应于存储器单元mc。在该示例中,多个晶体管tr1至tr9包括控制栅极cg和浮置栅极fg。
126.多个字线wl1至wl9包括两个最外字线wl1和wl9。第一选择线dsl可以另外布置在第一最外字线wl1的外侧,与另一最外字线wl9相比,该第一最外字线wl1更靠近数据寄存器330并具有更短的信号路径。第二选择线ssl可以另外布置在另一第二最外字线wl9的外侧。
127.由第一选择线dsl控制以导通/关断的第一选择晶体管d-tr具有连接到第一选择线dsl的栅电极,但是不包括浮置栅极fg。由第二选择线ssl控制以导通/关断的第二选择晶体管s-tr具有连接到第二选择线ssl的栅电极,但是不包括浮置栅极fg。
128.第一选择晶体管d-tr用作开关电路,该开关电路将相应的存储器单元串str连接到数据寄存器330。第二选择晶体管s-tr用作开关电路,该开关电路将相应的存储器单元串str连接到源极线sl。也就是说,第一选择晶体管d-tr和第二选择晶体管s-tr可以用于启用或停用相应的存储器单元串str。
129.在一些实施方案中,存储器系统100向第一选择晶体管d-tr的栅电极施加预定的导通电压vcc,从而导通第一选择晶体管d-tr,并且向第二选择晶体管s-tr的栅电极施加预定的关断电压(例如,0v),从而关断第二选择晶体管s-tr。
130.在读取操作或验证操作期间,存储器系统100导通第一选择晶体管d-tr和第二选择晶体管s-tr两者。因此,在读取操作或验证操作期间,电流可以流经相应的存储器单元串str并流到对应于地的源极线sl,从而可以测量位线bl的电压电平。然而,在读取操作期间,第一选择晶体管d-tr和第二选择晶体管s-tr之间的通/断定时可能存在时间差。
131.在擦除操作期间,存储器系统100可以通过源极线sl向衬底施加预定的电压(例如,+20v)。在擦除操作期间,存储器系统100施加一定的电压以允许第一选择晶体管d-tr和第二选择晶体管s-tr两者浮置。因此,所施加的擦除电压可以将电荷从所选择的存储器单元的浮置栅极fg中去除。
132.图4是示出根据本公开的实施例的存储器系统100的示意性操作的流程图。
133.参照图4,存储器系统100的存储器控制器120可以监视是否进入低功率模式(s410)。
134.当满足特定条件时,存储器系统100可以进入低功率模式以减少功耗。例如,存储器系统100可以在特定的时间段或更长时间内没有接收到来自主机的数据读取或写入请求之后进入低功率模式,或者可以在所供应的电力减小到特定水平以下时进入低功率模式。
135.在这种情况下,当存储器系统100进入低功率模式时,存储器系统100可以(1)防止功耗减少直到目标内部操作完成,或者(2)对消耗电力的电源域执行选择性门控以减少功耗,或者(3)不管所供应的电力如何,在不减少功耗的情况下进行操作。
136.存储器控制器器120可以通过分析步骤s410的结果来确定是否进入低功率模式(s420)。如果尚未进入低功率模式(s420-否),则存储器控制器120可以再次进入步骤s410以监视是否进入低功率模式。
137.当已经进入低功率模式(s420-是)时,存储器控制器120可以根据存储器系统100的温度运行目标操作的迭代,直到满足所设置的停止条件。在下文中,运行目标操作的迭代可以是指根据存储器系统100的温度来迭代地执行目标操作。控制目标操作的运行的操作的迭代可以被称为迭代。
138.具体地,存储器控制器120可以确定是否满足停止条件(s430)。
139.当不满足停止条件(s430-否)时,存储器控制器120可以根据存储器系统100的温度运行迭代(s440)。另外,存储器控制器120可以等待直到下一次迭代(s450),并且再次进入步骤s430以确定是否满足停止条件。
140.在这种情况下,在步骤s450中,存储器控制器120可以通过改变迭代之间的时段来调整运行迭代的速度。
141.另一方面,当满足停止条件(s430-是)时,存储器控制器120可以停止迭代(s460)。
142.在实施例中,目标操作可以是例如对存储器装置110中包括的多个存储块的垃圾收集操作,或者将包括多个存储块中的至少一个的第一区域中存储的数据移动到包括多个存储块中的至少一个的第二区域的迁移操作。
143.在其它实施例中,除了上述垃圾收集操作和迁移操作之外,目标操作还可以是后台修整(background trim)操作、后台媒体扫描操作或读取刷新操作。
144.在下文中,将描述垃圾收集操作和迁移操作。
145.图5是示出作为目标操作的示例的垃圾收集操作的示图。
146.参照图5,存储器装置110中包括的多个存储块blk中的每一个可以包括多个页面。在这种情况下,每个页面可以是存储有效数据的页面、存储无效数据的页面或已擦除的页面。在这种情况下,无法在存储无效数据的页面上重写数据,并且可以首先擦除相应的页面以便将新数据存储在存储无效数据的页面中。
147.存储器控制器120可以将分布在多个存储块blk中的有效数据收集到多个存储块blk中的一些中。
148.在这种情况下,在多个存储块blk之中,可以存在一种存储块,在该存储块中,所有存储的有效数据被移动到另一个存储块。存储器控制器120可以擦除这种存储块并将其改变为空闲存储块。通过这样,存储器控制器120可以增加多个存储块blk之中的空闲存储块的数量,以获得此后可以存储新数据的空闲存储块。
149.图6是示出作为目标操作的示例的迁移操作的示图。
150.参照图6,第一区域area_1可以包括存储器装置110中包括的多个存储块blk中的一个或多个。另外,第二区域area_2可以包括存储器装置110中包括的多个存储块blk中的一个或多个。
151.在这种情况下,第一区域area_1中包括的存储块以高于第二区域area_2中包括的存储块的速度进行操作。另一方面,第二区域area_2中包括的存储块具有大于第一区域area_1中包括的存储块的存储容量。因此,存储器控制器120使用第一区域area_1来提高访问数据的性能是有利的,而使用第二区域area_2来存储大量数据是有利的。
152.例如,第一区域area_1中包括的存储块可以是包括存储1位数据的存储器单元(例如,单层单元)的存储块。另外,第二区域area_2中包括的存储块可以是包括存储2位或更多位数据的存储器单元(例如,多层单元、三层单元、四层单元)的存储块。
153.存储器系统100可以通过首先将数据存储在能够高速操作的第一区域area_1中来提高对来自主机的写入请求的响应性能。然而,因为预留(over-provisioning)区域的大小受到限制,所以第一区域area_1的存储容量受到限制。
154.因此,存储器系统100的存储器控制器120可以将先前存储在第一区域area_1中的数据移动到第二区域area_2,以便将主机所请求的数据连续地存储在第一区域area_1中。
155.以上图5至图6中描述的诸如垃圾收集操作和迁移操作的目标操作可以满足存储器系统100的性能要求。另外,可以在空闲状态(即,不运行对主机的数据输入/输出的状态)下执行目标操作,以满足主机的吞吐量。
156.然而,在存储器系统100频繁进入低功率模式的情况下,因为存储器系统100保持在空闲状态的时间量减少,所以无法按照需要来执行目标操作的可能性可能增加。在这种情况下,存储器系统100可以在从主机接收请求的过程中执行目标操作,并且可以有限地运行目标操作以确保主机的吞吐量处于一定水平或更高。
157.因此,在本公开的实施例中,即使在进入低功率模式时,存储器系统100也可以通过迭代地执行目标操作(即,通过运行迭代)来满足存储器系统100的性能要求。
158.另外,即使在频繁进入低功率模式的情况下,存储器系统100也可以执行目标操作,从而不管进入低功率模式的频率如何都会保持性能一致性。
159.在下文中,将描述存储器系统100在单次迭代内执行目标操作(即,运行单次迭代)的过程。
160.图7是示出根据本公开的实施例的由存储器系统100运行单次迭代的过程的示例的流程图。
161.参照图7,当运行单次迭代时,存储器系统100的存储器控制器120可以确定该迭代是否已经运行了特定参考时间以内(s710)。如果迭代已经运行的时间小于参考时间(s710-是),则存储器控制器120可以继续迭代(s720)。
162.另一方面,在迭代已经运行超过参考时间的情况下(s710-否),存储器控制器120可以确定通过迭代所处理的数据的大小是否小于或等于特定参考大小(s730)。如果通过迭代所处理的数据的大小小于或等于参考大小(s730-是),则存储器控制器120可以继续迭代(s720)。另一方面,如果通过目标操作所处理的数据的大小超过参考大小(s730-否),则存储器控制器120可以终止迭代(s740)。在这种情况下,当下一次迭代开始时,存储器控制器120可以再次执行目标操作。
163.也就是说,可以小于特定参考时间运行单次迭代,或者单次迭代可以运行直到通过目标操作所处理的数据的大小小于或等于参考大小。这是为了限制运行单次迭代的程度。在本公开的实施例中,因为迭代是在进入低功率模式之后运行的,所以当存储器系统100过度运行单次迭代时,可能存在由于存储器系统100的温度快速升高而导致存储器系统100异常操作的问题。
164.图8是示出根据本公开的实施例的由存储器系统100根据温度运行单次迭代的过程的流程图。
165.参照图8,当迭代开始时,存储器系统100的存储器控制器120可以监视存储器系统100的温度(s810)。可以例如基于存储器系统100中包括的温度测量单元的输出值来测量存储器系统100的温度。
166.在存储器控制器120包括多个内核的情况下,执行监视存储器系统100的温度的操作的内核与执行目标操作的内核可以彼此不同。在这种情况下,两个内核可以通过内核之间的通信来交换信息。
167.存储器控制器120可以基于监视结果确定存储器系统100的温度是否小于或等于特定的第一阈值温度(s820)。
168.如果存储器系统100的温度小于或等于第一阈值温度(s820-是),则存储器控制器120可以运行迭代(s830)。这是因为:即使存储器控制器120运行迭代,也可以将存储器系统100的温度保持在一定水平以下,从而防止存储器系统100异常操作的问题。
169.另一方面,当存储器系统100的温度超过第一阈值温度时(s820-否),存储器控制器120可以确定延迟时间(s840),并且在延迟时间期间延迟迭代的运行(s850)。因此,当存储器系统100的温度超过第一阈值温度时,存储器控制器120可以在延迟时间之后再次开始迭代。
170.这是为了防止当立即运行目标操作时由于存储器系统的温度超过一定水平而导致存储器系统异常操作的问题。
171.在这种情况下,可以根据存储器系统的温度来确定延迟时间。在下文中,将在图9中对此进行详细描述。
172.图9是示出根据温度确定延迟时间的示例的示图。
173.参照图9,存储器控制器120可以设置根据温度确定的多个水平,并且可以根据存储器系统100的温度属于哪个水平来不同地确定延迟时间。
174.例如,存储器控制器120可以设置五个水平l1、l2、l3、l4和l5。如果存储器系统100的温度小于或等于第一温度t1,则存储器系统100的温度属于水平l1。如果存储器系统100的温度超过第一温度t1并且小于或等于第二温度t2,则存储器系统100的温度属于水平l2。如果存储器系统100的温度超过第二温度t2并且小于或等于第三温度t3,则存储器系统100的温度属于水平l3。如果存储器系统100的温度超过第三温度t3并且小于或等于第四温度t4,则存储器系统100的温度属于水平l4。如果存储器系统100的温度超过第四温度t4,则存储器系统100的温度属于水平l5。在这种情况下,温度的大小的关系可以是第一温度t1<第二温度t2<第三温度t3<第四温度t4。
175.当存储器系统100的温度属于水平l1时,存储器控制器120可以将延迟时间确定为第一延迟时间delay_1。当存储器系统100的温度属于水平l2时,存储器控制器120可以将延迟时间确定为第二延迟时间delay_2。当存储器系统100的温度属于水平l3时,存储器控制器120可以将延迟时间确定为第三延迟时间delay_3。当存储器系统100的温度属于水平l4时,存储器控制器120可以将延迟时间确定为第四延迟时间delay_4。当存储器系统100的温度属于水平l5时,存储器控制器120可以将延迟时间确定为第五延迟时间delay_5。在这种情况下,延迟时间的大小之间的关系可以是第一延迟时间delay_1<第二延迟时间delay_2<第三延迟时间delay_3<第四延迟时间delay_4<第五延迟时间delay_5。
176.如上所述,随着存储器系统100的温度升高,存储器控制器120可以通过延迟迭代
更长的时间来降低存储器系统100的温度,从而将存储器系统100的温度管理为低于特定水平。
177.此外,上述迭代之间的时段也可以根据存储器系统100的温度来确定。
178.图10是示出根据温度确定迭代之间的时段的示例的示图。
179.参照图10,存储器控制器120可以设置根据温度确定的多个水平,并且可以根据存储器系统100的温度属于哪个水平来不同地确定迭代之间的时段。
180.例如,如图9所示,存储器控制器120可以设置五个水平l1'、l2'、l3'、l4'和l5'。如果存储器系统100的温度小于或等于第一'温度t1',则存储器系统100的温度属于水平l1'。如果存储器系统100的温度超过第一'温度t1'并且小于或等于第二'温度t2',则存储器系统100的温度属于水平l2'。如果存储器系统100的温度超过第二'温度t2'并且小于或等于第三'温度t3',则存储器系统100的温度属于水平l3'。如果存储器系统100的温度超过第三'温度t3'并且小于或等于第四'温度t4',则存储器系统100的温度属于水平l4'。如果存储器系统100的温度超过第四'温度t4',则存储器系统100的温度属于水平l5'。在这种情况下,温度的大小的关系可以是第一'温度t1'<第二'温度t2'<第三'温度t3'<第四'温度t4'。
181.当存储器系统100的温度属于水平l1'时,存储器控制器120可以将迭代之间的时段确定为1秒。当存储器系统100的温度属于水平l2'时,存储器控制器120可以将迭代之间的时段确定为2秒。当存储器系统100的温度属于水平l3'时,存储器控制器120可以将迭代之间的时段确定为3秒。当存储器系统100的温度属于水平l4'时,存储器控制器120可以将迭代之间的时段确定为4秒。当存储器系统100的温度属于水平l5'时,存储器控制器120可以将迭代之间的时段确定为5秒。
182.以上,已经描述了存储器系统100在单次迭代内执行目标操作的方式。
183.在下文中,将参照流程图描述存储器系统100确定是否满足特定停止条件并确定是否继续迭代的操作。
184.图11是示出根据本公开的实施例的由存储器系统100确定是否继续迭代的过程的示例的流程图。
185.参照图11,存储器系统100的存储器控制器120可以确定存储器系统100的温度是否高于或等于特定的第二阈值温度(s1110)。
186.在存储器系统100的温度高于或等于第二阈值温度的情况下(s1110-是),存储器控制器120可以终止迭代(s1120)。这是因为:存储器系统的温度升高,从而在运行目标操作时存储器系统异常操作的可能性可能增加。
187.另一方面,在存储器系统100的温度小于第二阈值温度的情况下(s1110-否),存储器控制器120可以确定迭代被连续延迟的次数是否等于或大于特定的阈值延迟次数(s1130)。
188.如果连续次数大于或等于阈值延迟次数(s1130-是),则存储器控制器120可以停止迭代(s1120)。这是因为:存储器系统100连续延迟迭代的运行意味着存储器系统100处于存储器系统100无法正常运行目标操作的状态。
189.另一方面,在连续次数小于阈值延迟次数的情况下(s1130-否),存储器控制器120可以继续迭代(s1140)。
190.以上,已经描述了存储器系统100可以运行迭代的情况。
191.在下文中,将描述当存储器系统100能够运行迭代时将垃圾收集操作和迁移操作中的一种确定为目标操作的示例。
192.图12是示出根据本公开的实施例的由存储器系统100确定目标操作的过程的流程图。
193.参照图12,存储器系统100的存储器控制器120可以对存储器装置110中包括的多个存储块之中的空闲存储块的数量进行计数(s1210)。
194.存储器控制器120可以确定空闲存储块的数量是否小于阈值数量(s1220)。
195.如果空闲存储块的数量小于阈值数量(s1220-是),则存储器控制器120可以将垃圾收集操作确定为目标操作,以便获得空闲存储块(s1230)。
196.另一方面,如果空闲存储块的数量大于或等于阈值数量(s1220-否),则存储器控制器120可以将迁移操作确定为目标操作(s1240)。因为不需要通过垃圾收集来立即获得空闲存储块,所以可以将第一区域area_1中存储的数据移动到第二区域area_2,以获得第一区域area_1中存储新数据的空间。
197.图13是示出根据迭代的运行的存储器系统100的状态改变的示图。
198.参照图13,在目标操作是垃圾收集操作的情况下,存储器装置110中包括的多个存储块之中的空闲存储块的数量可以随着迭代运行而增加。在这种情况下,因为不运行迁移操作,所以可以使第一区域area_1中包括的存储块之中存储有效数据的有效存储块的数量保持不变。
199.当随后目标操作改变为迁移操作时,在运行迭代的同时,将第一区域area_1中存储的有效数据移动到第二区域area_2,因此,第一区域area_1中包括的存储块之中的有效存储块的数量减少。在这种情况下,因为数据被存储在第二区域area_2中包括的空闲存储块中,所以空闲存储块的总数量减少。
200.当运行这些迭代时,第一区域area_1中包括的存储块之中的有效存储块的数量可以随着执行迁移操作而逐渐减少。另外,当执行垃圾收集操作时,空闲存储块的总数量可以增加,而当执行迁移操作时,空闲存储块的总数量可能减少。因此,存储器系统100可以在使空闲存储块的数量保持在预定水平或以上的同时完成迭代。
201.图14是示出根据本公开的实施例的在存储器系统100停止迭代之后的操作的流程图。
202.参照图14,存储器系统100的存储器控制器120可以确定在停止迭代之后是否可运行附加迭代(s1410)。
203.例如,在第一区域area_1中没有存储有效数据并且空闲存储块的数量大于或等于预定值的情况下,存储器控制器120可以确定迭代不再可运行。另一方面,当第一区域area_1中存储了有效数据时或者当空闲存储块的数量小于预定值时,存储器控制器120可以确定迭代可运行。
204.当迭代可运行(s1420-是)时,存储器控制器120可以从低功率模式唤醒(s1430)。
205.在这种情况下,存储器控制器120可以生成消息,该消息请求运行附加迭代以从低功率模式唤醒。在存储器控制器120包括多个内核的情况下,生成请求运行附加目标操作的消息的内核可以不同于处理从低功率模式的唤醒操作的内核。
206.当存储器控制器120通过请求运行附加迭代的消息从低功率模式唤醒时,存储器控制器120可以确定是否可以运行附加迭代。为此,存储器控制器120可以检查存储器系统100的温度。
207.如果附加迭代可运行,则存储器控制器120可以运行附加迭代。另一方面,当附加迭代不可运行时,存储器控制器120可以再次进入低功率模式。
208.图15是示出根据本公开的实施例的存储器系统100的操作方法的示图。
209.参照图15,存储器系统100的操作方法可以包括监视是否进入低功率模式(s1510)。
210.此外,存储器系统100的操作方法可以包括:当进入低功率模式时,根据存储器系统100的温度运行目标操作的迭代,直到满足停止条件(s1520)。
211.目标操作可以是对多个存储块的垃圾收集操作,或者用于将包括多个存储块中的至少一个的第一区域area_1中存储的数据移动到包括多个存储块中的至少一个的第二区域area_2的迁移操作。在这种情况下,第一区域area_1中包括的存储块的操作速度可以高于第二区域area_2中包括的存储块的操作速度。
212.每次迭代可以运行例如预定的参考时间或更短的时间,或者可以运行直到通过迭代所处理的数据的大小小于或等于参考大小。
213.第一区域area_1中包括的存储块可以是包括单层单元的存储块,并且第二区域area_2中包括的存储块可以是包括多层单元的存储块。
214.操作s1520可以包括在每次迭代开始时监视存储器系统的温度。
215.另外,操作s1520可以包括:当存储器系统100的温度小于或等于第一阈值温度时,运行迭代;以及当存储器系统的温度超过第一阈值温度时,将迭代延迟根据存储器系统的温度所确定的延迟时间。在这种情况下,可以基于存储器系统100的温度来确定迭代之间的时段。
216.例如,当存储器系统100的温度等于或高于第二阈值温度或者连续延迟迭代的次数等于或大于阈值延迟次数时,可以停止迭代。
217.在每次迭代中,当多个存储块之中的空闲存储块的数量小于特定阈值数量时,可以将垃圾收集操作确定为目标操作,并且当多个存储块之中的空闲存储块的数量大于或等于特定阈值数量时,可以将迁移操作确定为目标操作。
218.存储器系统100的操作方法可以进一步包括步骤:当在满足停止条件时停止迭代之后可附加运行迭代时,从低功率模式唤醒。
219.在一些实施方案中,上述存储器控制器120的操作可以由控制电路123控制,并且可以以处理器124运行(驱动)固件的方式执行,该固件中编程了存储器控制器120的全部操作。
220.图16是示出基于所公开技术的实施例的计算系统1600的配置的示图。
221.参照图16,基于所公开技术的实施例的计算系统1600可以包括:存储器系统100,电连接到系统总线1660;cpu 1610,被配置为控制计算系统1600的全部操作;ram 1620,被配置为存储与计算系统1600的操作有关的数据和信息;用户接口/用户体验(ui/ux)模块1630,被配置为向用户提供用户环境;通信模块1640,被配置为作为有线和/或无线类型与外部装置通信;以及电源管理模块1650,被配置为管理由计算系统1600使用的电力。
222.计算系统1600可以是个人计算机(pc),或者可以包括诸如智能电话、平板电脑或各种电子装置的移动终端。
223.计算系统1600可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器和dram。其它元件对于本领域技术人员而言将是显而易见的。
224.存储器系统100不仅可以包括诸如硬盘驱动器(hdd)的、被配置为将数据存储在磁盘中的装置,还可以包括诸如固态驱动器(ssd)、通用闪存装置或嵌入式mmc(emmc)装置的、被配置为将数据存储在非易失性存储器中的装置。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。另外,存储器系统100可以被实施为各种类型的存储装置并且被安装在各种电子装置内部。
225.基于上述所公开技术的实施例,可以有利地使存储器系统的操作延迟时间减少或最小化。另外,基于所公开技术的实施例,可以有利地使在调用特定功能的过程中发生的开销减少或最小化。尽管已经出于说明的目的以特定的详情和变化的细节描述了所公开技术的各个实施例,但是本领域技术人员将理解,可以基于本公开中公开或示出的内容进行各种修改、添加和替换。
226.本发明的上述实施例旨在说明而非限制本发明。各种替代和等同方案是可能的。本发明不受本文描述的实施例的限制。本发明也不限于任何特定类型的存储器系统。鉴于本公开而显而易见的添加、减少或修改旨在落入所附权利要求书的范围内。