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

文档序号:26138879发布日期:2021-08-03 14:22阅读:140来源:国知局
存储器系统、存储器控制器及存储器系统的操作方法与流程

相关申请的交叉引用

本申请要求于2020年1月30日向韩国知识产权局提交的申请号为10-2020-0010942的韩国专利申请的优先权,该韩国专利申请通过引用整体并入本文。

各个实施例总体涉及一种存储器系统、存储器控制器以及存储器系统的操作方法。



背景技术:

存储器系统,例如,存储装置,基于来自诸如计算机、移动终端(例如,智能手机或平板电脑)或各种其它电子装置中的任意一种的主机的请求来存储数据。存储器系统可以是诸如硬盘驱动器(hdd)的被配置成将数据存储在磁盘中的装置,或诸如固态驱动器(ssd)、通用闪存装置(ufs)或嵌入式mmc(emmc)装置的被配置成将数据存储在非易失性存储器中的装置。

存储器系统可以进一步包括用于控制存储器装置的存储器控制器。存储器控制器可以从主机接收命令输入并且基于接收到的命令,可以运行或控制用于读取、写入或擦除存储器系统中包括的易失性存储器或非易失性存储器中的数据的操作。存储器控制器可以驱动固件以执行用于运行或控制这种操作的逻辑运算。

存储器系统可以根据访问频率将写入存储器装置的数据分类为热数据或冷数据。热数据意指访问频率高于设定参考值的数据,并且冷数据意指访问频率低于该设定参考值的数据。存储器系统可以根据数据是被指定为热数据还是冷数据,以不同的方式处理写入存储器装置的数据。



技术实现要素:

各个实施例针对能够将被写入存储器装置之后更新频率较低的数据分类成冷数据的存储器系统、存储器控制器以及用于操作该存储器系统的方法。

而且,各个实施例针对能够提高垃圾收集和损耗均衡的性能的存储器系统、存储器控制器和用于操作该存储器系统的方法。

在一个方面,本公开的实施例可以提供一种存储器系统,包括:存储器装置,包括多个存储块;以及存储器控制器,被配置成控制存储器装置。

存储器控制器可以管理热数据池和冷数据池,热数据池和冷数据池中的每一个包括多个存储块之中的至少一个。

当从主机接收到指示对只读数据的写入操作的只读写入命令时,存储器控制器可以将只读数据写入冷数据池。

存储器控制器可以将冷数据池中的存储块从垃圾收集操作的目标块中排除。

存储器控制器可以确定在损耗均衡操作中是否将冷数据池中的存储块之中的至少一个与热数据池中的存储块之中的至少一个彼此交换。

当热数据池中的存储块的擦除-写入周期计数之中的最大值大于冷数据池中的存储块的擦除-写入周期计数之中的最大值时,存储器控制器可以在损耗均衡操作中将冷数据池中的存储块之中的至少一个与热数据池中包括的存储块之中的至少一个彼此交换。

存储器控制器可以在损耗均衡操作中将冷数据池中的存储块之中具有最小擦除-写入周期计数的存储块与热数据池中的存储块之中具有最大擦除-写入周期计数的存储块彼此交换。

在另一方面,本公开的实施例可以提供一种存储器控制器,包括:存储器接口,被配置成与包括多个存储块的存储器装置通信;以及控制电路,被配置成控制存储器装置。

控制电路可以管理热数据池和冷数据池,热数据池和冷数据池中的每一个包括多个存储块之中的至少一个。

当从主机接收到指示对只读数据的写入操作的只读写入命令时,控制电路可以将只读数据写入冷数据池。

控制电路可以将冷数据池中的存储块从垃圾收集操作的目标块中排除。

控制电路可以确定在损耗均衡操作中是否将冷数据池中的存储块之中的至少一个与热数据池中的存储块之中的至少一个彼此交换。

当热数据池中的存储块的擦除-写入周期计数之中的最大值大于冷数据池中的存储块的擦除-写入周期计数之中的最大值时,控制电路可以在损耗均衡操作中将冷数据池中的存储块之中的至少一个与热数据池中的存储块之中的至少一个彼此交换。

控制电路可以在损耗均衡操作中将冷数据池中的存储块之中具有最小擦除-写入周期计数的存储块与热数据池中的存储块之中具有最大擦除-写入周期计数的存储块彼此交换。

在又一方面,一种用于操作存储器系统的方法,可以包括生成热数据池和冷数据池,热数据池和冷数据池中的每一个包括存储器装置中的多个存储块之中的至少一个。

该操作存储器系统的方法可以包括从主机接收指示对只读数据的写入操作的只读写入命令。

该操作存储器系统的方法可以包括将只读数据写入冷数据池。

该操作存储器系统的方法可以进一步包括将冷数据池中的存储块从垃圾收集操作的目标块中排除。

该操作存储器系统的方法可以进一步包括确定在损耗均衡操作中是否将冷数据池中的存储块之中的至少一个与热数据池中的存储块之中的至少一个彼此交换。

当热数据池中的存储块的擦除-写入周期计数之中的最大值大于冷数据池中的存储块的擦除-写入周期计数之中的最大值时,可以在损耗均衡操作中将冷数据池中的存储块之中的至少一个与热数据池中的存储块之中的至少一个彼此交换。此时,可以在损耗均衡操作中将冷数据池中的存储块之中具有最小擦除-写入周期计数的存储块与热数据池中的存储块之中具有最大擦除-写入周期计数的存储块彼此交换。

在又一方面,一种控制器的操作方法,可以包括响应于指示写入数据是只读数据的写入请求,控制包括冷数据区域和热数据区域的存储器装置以将写入数据存储在冷数据区域中。

该控制器的操作方法可以包括控制存储器装置对冷数据区域和热数据区域执行垃圾收集操作和损耗均衡操作。

根据本公开的实施例,可以将被写入存储器装置之后更新频率较低的数据分类成冷数据。

而且,根据本公开的实施例,可以提高垃圾收集和损耗均衡的性能。

附图说明

图1是示出根据本公开的实施例的存储器系统的配置的示意图。

图2是示意性地示出根据本公开的实施例的存储器装置的框图。

图3是示意性地示出根据本公开的实施例的存储器装置的存储块的示图。

图4是示出根据本公开的实施例的存储器装置的字线和位线的结构的示图。

图5是示意性地示出根据本公开的实施例的存储器系统的配置的示图。

图6是示出根据本公开的实施例的存储器系统处理只读写入命令的操作的示图。

图7是示出根据本公开的实施例的存储器系统执行垃圾收集的操作的示图。

图8是示出根据本公开的实施例的存储器系统执行损耗均衡的操作的示图。

图9是帮助说明根据本公开的实施例的存储器系统确定是否在损耗均衡操作中交换存储块的方法的流程图。

图10是示出根据本公开的实施例的存储器系统在热数据池和冷数据池之间交换存储块的条件的示图。

图11是示出根据本公开的实施例的存储器系统在图10的条件下在热数据池和冷数据池之间交换存储块的操作的示图。

图12是帮助说明根据本公开的实施例的用于操作存储器系统的方法的流程图。

图13是示出根据本公开的实施例的计算系统的配置的示图。

具体实施方式

下文中,参照附图详细地描述本公开的实施例。在整个说明书中,对“实施例”、“另一实施例”等的参考不一定仅针对一个实施例,并且对任何这种短语的不同参考不一定针对相同的实施例。

图1是示出根据本公开的实施例的存储器系统100的配置的示意图。

参照图1,存储器系统100可以包括被配置成存储数据的存储器装置110以及被配置成控制存储器装置110的存储器控制器120。

存储器装置110可以包括多个存储块。存储器装置110可以被配置成响应于从存储器控制器120接收的控制信号而操作。存储器装置110的操作可以包括例如读取操作、编程操作(也被称为“写入操作”)、擦除操作等。

存储器装置110可以包括存储器单元阵列,该存储器单元阵列包括被配置成存储数据的多个存储器单元(也被简称为“单元”)。存储器单元阵列可以存在于存储块内部。

例如,存储器装置110可以被实施为诸如以下的各种类型中的任意一种:双倍数据速率同步动态随机存取存储器(ddrsdram)、低功率双倍数据速率4(lpddr4)sdram、图形双倍数据速率(gddr)sdram、低功率ddr(lpddr)、rambus动态随机存取存储器(rdram)、nand闪速存储器、垂直nand闪速存储器、nor闪速存储器、电阻式随机存取存储器(rram)、相变存储器(pram)、磁阻随机存取存储器(mram)、铁电随机存取存储器(fram)、或自旋转移力矩随机存取存储器(stt-ram)。

存储器装置110可以以三维阵列结构来实施。本公开的实施例不仅可应用于具有由导电浮栅配置的电荷存储层的闪速存储器装置,而且可应用于具有电荷撷取闪存(ctf)的闪速存储器装置,该电荷撷取闪存具有由绝缘膜配置的电荷存储层。

存储器装置110可以被配置成从存储器控制器120接收命令和地址,并且访问存储器单元阵列的由地址选择的区域。也就是说,存储器装置110可以在存储器装置的、具有与从控制器接收的地址相对应的物理地址的存储器区域中执行与接收到的命令相对应的操作。

例如,存储器装置110可以执行编程操作、读取操作、擦除操作等。在编程操作期间,存储器装置110可以将数据编程在由地址选择的区域中。在读取操作期间,存储器装置110可以从由地址选择的区域中读取数据。在擦除操作期间,存储器装置110可以擦除存储在由地址选择的区域中的数据。

存储器控制器120可以控制关于存储器装置110的写入(编程)操作、读取操作、擦除操作和后台操作。后台操作可以包括例如垃圾收集操作(gc)、损耗均衡(wl)操作和/或坏块管理(bbm)操作。

存储器控制器120可以在主机的请求下控制存储器装置110的操作。可选地,存储器控制器120可以在没有主机的相应请求的情况下控制存储器装置110的操作,例如,当存储器控制器120指示存储器装置110执行一个或多个后台操作时。

存储器控制器120和主机可以是单独的装置。在另一实施例中,存储器控制器120和主机可以被集成并实施为单个装置。在下面的描述中,存储器控制器120和主机是单独的装置。

参照图1,存储器控制器120可以包括存储器接口122、控制电路123和主机接口121。

主机接口121可以被配置成提供用于与主机通信的接口。

当从主机(host)接收命令时,控制电路123可以通过主机接口121接收命令并且可以执行处理接收到的命令的操作。

存储器接口122可以连接到存储器装置110以提供用于与存储器装置110通信的接口。也就是说,存储器接口122可以被配置成响应于控制电路123的控制而向存储器装置110和存储器控制器120提供接口。

控制电路123可以被配置成通过执行用于存储器控制器120的整体控制的操作来控制存储器装置110的操作。例如,控制电路123可以包括处理器124和工作存储器125。控制电路123可以进一步包括错误检测/校正电路(ecc电路)126等。

处理器124可以控制存储器控制器120的全部操作。处理器124可以执行逻辑运算。处理器124可以通过主机接口121与主机host通信。处理器124可以通过存储器接口122与存储器装置110通信。

处理器124可以执行闪存转换层(ftl)的功能。处理器124可以通过ftl将由主机提供的逻辑块地址(lba)转换为物理块地址(pba)。ftl可以接收lba并且通过使用映射表将lba转换为pba。

根据映射单位,ftl可以采用各种地址映射方法。典型的地址映射方法包括页面映射方法、块映射方法和混合映射方法。

处理器124可以被配置成使从主机接收的数据随机化。例如,处理器124可以通过使用随机化种子来使从主机接收的数据随机化。经随机化的数据作为待存储的数据被提供到存储器装置110,并且被编程在存储器单元阵列中。

处理器124可以被配置成在读取操作期间使从存储器装置110接收的数据去随机化。例如,处理器124可以通过使用去随机化种子使从存储器装置110接收的数据去随机化。经去随机化的数据可以被输出到主机。

处理器124可以运行固件(fw)以便控制存储器控制器120的操作。换句话说,处理器124可以控制存储器控制器120的全部操作,并且为了执行逻辑操作,可以在启动期间运行(驱动)加载到工作存储器125中的固件。

固件是指在存储器系统100内部运行的程序,并且可以包括各种功能层。

例如,固件可以包括闪存转换层(ftl)、主机接口层(hil)和/或闪存接口层(fil),其中闪存转换层(ftl)被配置成在主机host请求存储器系统100提供的逻辑地址与存储器装置110的物理地址之间转换,主机接口层(hil)被配置成解释主机host发出到存储器系统100(存储装置)的命令并且将该命令传递到ftl,闪存接口层(fil)被配置成将由ftl发出的命令传递到存储器装置110。

例如,固件可以存储在存储器装置110中,然后被加载到工作存储器125中。

工作存储器125可以存储驱动存储器控制器120所必需的固件、程序代码、命令或数据条。工作存储器125可以是由例如静态ram(sram)、动态ram(dram)和/或同步ram(sdram)实施的易失性存储器。

错误检测/校正电路126可以被配置成通过使用错误校正码来检测目标数据的一个或多个错误位,并且校正检测到的错误位。例如,目标数据可以是工作存储器125中存储的数据、从存储器装置110检索的数据等等。

错误检测/校正电路126可以实施成通过使用错误校正码来解码数据。错误检测/校正电路126可以通过使用各种代码解码器来实施。例如,可以使用执行非系统代码解码的解码器或执行系统代码解码的解码器。

例如,错误检测/校正电路126可以针对每条读取数据逐扇区地检测错误位。也就是说,每条读取数据可以包括多个扇区。如本文所使用的,扇区可以指小于闪速存储器的读取单位(页面)的数据单位。构成每条读取数据的扇区可以经由地址而彼此对应。

错误检测/校正电路126可以计算位错误率(ber)并且确定是否可以逐扇区地进行校正。例如,如果ber高于参考值,则错误检测/校正电路126可以确定相应扇区是不可校正的或“失败”。如果ber低于参考值,则错误检测/校正电路126可以确定相应扇区是可校正的或“通过”。

错误检测/校正电路126可以对所有读取数据依次地执行错误检测和校正操作。当读取数据中包括的扇区是可校正的时,错误检测/校正电路126可以针对下一读取数据条,省略关于相应扇区的错误检测和校正操作。以这种方式完成对所有读取数据的错误检测和校正操作之后,错误检测/校正电路126可以检测读取数据中被认为不可校正的一个或多个扇区。可能存在一个或多个被认为不可校正的扇区。错误检测/校正电路126可以将关于被认为不可校正的扇区的信息(例如,地址信息)传递到处理器124。

总线127可以被配置成提供存储器控制器120的构成元件121、122、124、125和126之间的通道。例如,总线127可以包括用于传递各种控制信号和命令的控制总线以及用于传递各种数据的数据总线。

存储器控制器120的上述构成元件121、122、124、125和126仅被作为示例提供。可以省略这些元件中的一个或多个,或者可以将这些元件中的一个或多个集成到单个元件中。而且,在一些情况下,除了上述这些元件,存储器控制器120可以包括一个或多个其它构成元件。

下文中,参照图2更详细地描述存储器装置110。

图2是示意性地示出根据本公开的实施例的存储器装置110的框图。

参照图2,存储器装置110可以包括存储器单元阵列210、地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250。

存储器单元阵列210可以包括多个存储块blk1至blkz(z是等于或大于2的自然数)。

在多个存储块blk1至blkz中,可以以相交布置设置多个字线wl和多个位线bl,并且可以在各个相交处布置多个存储器单元mc。

多个存储块blk1至blkz可以通过多个字线wl连接到地址解码器220。多个存储块blk1至blkz可以通过多个位线bl连接到读取/写入电路230。

多个存储块blk1至blkz中的每一个可以包括多个存储器单元。例如,多个存储器单元是具有垂直沟道结构的非易失性存储器单元。

存储器单元阵列210可以被配置为具有二维结构的存储器单元阵列,并且在一些情况下,可以被配置为具有三维结构的存储器单元阵列。

存储器单元阵列210中的多个存储器单元中的每一个可以存储至少一位数据。例如,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置成存储一位数据的单层单元(slc)、被配置成存储两位数据的多层单元(mlc)或被配置成存储三位数据的三层单元(tlc)。然而,也可以使用存储容量单元。例如,存储器单元阵列210中的多个存储器单元中的每一个可以是被配置成存储四位数据的四层单元(qlc)或被配置成存储至少五位数据的存储器单元。

参照图2,地址解码器220、读取/写入电路230、控制逻辑240和电压生成电路250可以作为被配置成驱动存储器单元阵列210的外围电路而协同操作。

地址解码器220可以通过多个字线wl连接到存储器单元阵列210。

地址解码器220可以被配置成响应于控制逻辑240的控制而操作。

地址解码器220可以通过存储器装置110内部的输入/输出缓冲器接收地址。地址解码器220可以被配置成对接收到的地址之中的块地址进行解码。地址解码器220可以根据经解码的块地址选择至少一个存储块。

地址解码器220可以从电压生成电路250接收读取电压vread和通过电压vpass。

在读取操作期间的读取电压施加操作期间,地址解码器250可以将读取电压vread施加到所选择存储块内的所选择字线wl,并且可将通过电压vpass施加到剩余的未选择字线wl。

在编程验证操作期间,地址解码器220可以将由电压生成电路250生成的验证电压施加到所选择存储块内的所选择字线wl,并且可以将通过电压vpass施加到剩余的未选择字线wl。

地址解码器220可以被配置成对接收到的地址之中的列地址进行解码。地址解码器220可以将经解码的列地址传输到读取/写入电路230。

存储器装置110可以逐个页面地执行读取操作和编程操作。在请求读取操作和编程操作时接收的地址可以包括块地址、行地址和列地址中的至少一个。

地址解码器220可以根据块地址和行地址选择一个存储块和一个字线。列地址可以由地址解码器220解码并且提供到读取/写入电路230。

地址解码器220可以包括块解码器、行解码器、列解码器和地址缓冲器中的至少一个。

读取/写入电路230可以包括多个页面缓冲器pb。读取/写入电路230可以在存储器单元阵列210执行读取操作时作为“读取电路”而操作,并且可以在存储器单元阵列210执行写入操作时作为“写入电路”而操作。

上述读取/写入电路230也被称为包括多个页面缓冲器pb的页面缓冲器电路,或数据寄存器电路。读取/写入电路230可以包括参与数据处理功能的数据缓冲器,并且在一些情况下,可以进一步包括负责高速缓存功能的高速缓存缓冲器。

多个页面缓冲器pb可以通过多个位线bl连接到存储器单元阵列210。为了在读取操作和编程验证操作期间感测存储器单元的阈值电压vth,多个页面缓冲器pb可以连续地将感测电流供应到连接到存储器单元的位线bl,可以通过感测节点来感测根据相应存储器单元的编程状态的流动电流的量的变化,并且可以将其锁存为感测数据。

读取/写入电路230可以响应于从控制逻辑240输出的页面缓冲器控制信号而操作。

在读取操作期间,读取/写入电路230在存储器单元中感测数据,临时存储检索到的数据,并且将数据data输出到存储器装置110的输入/输出缓冲器。在实施例中,除了页面缓冲器pb或页面寄存器之外,读取/写入电路230还可以包括列选择电路。

控制逻辑240可以连接到地址解码器220、读取/写入电路230以及电压生成电路250。控制逻辑240可以通过存储器装置110的输入/输出缓冲器接收命令cmd和控制信号ctrl。

控制逻辑240可以被配置成响应于控制信号ctrl来控制存储器装置110的全部操作。控制逻辑240可以输出用于调整多个页面缓冲器pb的感测节点的预充电电位电平的控制信号。

控制逻辑240可以控制读取/写入电路230以在存储器单元阵列210中执行读取操作。电压生成电路250可以响应于从控制逻辑240输出的电压生成电路控制信号,生成在读取操作期间使用的读取电压vread和通过电压vpass。

图3是示意性地示出根据本公开的实施例的存储器装置110的存储块blk的示图。

参照图3,可以在多个页面pg和多个串ttr相交的方向上布置和配置存储器装置110中包括的存储块blk。

多个页面pg对应于多个字线wl,并且多个串str对应于多个位线bl。

在存储块blk中,多个字线wl和多个位线bl可以成相交布置。例如,多个字线wl中的每一个可以沿行方向布置,并且多个位线bl中的每一个可以沿列方向布置。作为另一示例,多个字线wl中的每一个可以沿列方向布置,并且多个位线bl中的每一个可以沿行方向布置。

多个字线wl和多个位线bl可以彼此相交,从而限定多个存储器单元mc。每个存储器单元mc可以具有布置在其中的晶体管tr。

例如,布置在每个存储器单元mc中的晶体管tr可以包括漏极、源极和栅极。晶体管tr的漏极(或源极)可以直接地或者经由另一个晶体管tr连接到相应的位线bl。晶体管tr的源极(或漏极)可以直接地或者经由另一个晶体管tr连接到源极线(其可以是地)。晶体管tr的栅极可以包括被绝缘体包围的浮置栅极(fg)和从字线wl向其施加栅极电压的控制栅极(cg)。

在多个存储块blk1至blkz中的每一个中,可以在两个最外字线之中更靠近读取/写入电路230的第一最外字线外部附加地布置第一选择线(也被称为源极选择线或漏极选择线),并且可以在另一个第二最外字线外部附加地布置第二选择线(也被称为漏极选择线或源极选择线)。

在一些情况下,可以在第一最外字线和第一选择线之间附加地布置至少一个虚设字线。另外,可以在第二最外字线和第二选择线之间附加地布置至少一个虚设字线。

在如图3所示的存储块结构的情况下,可以逐个页面地执行读取操作和编程操作(写入操作),并且可以逐个存储块地执行擦除操作。

图4是示出根据本公开的实施例的存储器装置110的字线wl和位线bl的结构的示图。

参照图4,存储器装置110具有存储器单元mc聚集的内核区域以及对应于剩余(非内核)区域的辅助区域。辅助区域支持存储器单元阵列210的操作。

内核区域可以包括页面pg和串str。在内核区域中,将多个字线wl1至wl9和多个位线bl布置成相交。

多个字线wl1至wl9可以连接到行解码器410。多个位线bl可以连接到列解码器420。对应于图2的读取/写入电路230的数据寄存器430可以被设置在多个位线bl和列解码器420之间。

多个字线wl1至wl9可以对应于多个页面pg。

例如,如图4所示,多个字线wl1至wl9中的每一个可以对应于一个页面pg。相反,当多个字线wl1至wl9中的每一个的大小较大时,多个字线wl1至wl9中的每一个可以对应于至少两个(例如,两个或四个)页面pg。每个页面pg是与进行编程操作和读取操作有关的最小单位,并且相同页面pg内的所有存储器单元mc可以在进行编程操作和读取操作时同时执行操作。

多个位线bl可以连接到列解码器420,同时在奇数编号的位线bl和偶数编号的位线bl之间进行区分。

为了访问存储器单元mc,地址可以首先通过输入/输出端,然后通过行解码器410和列解码器420输入到内核区域,从而可以指定相应的目标存储器单元。如本文所使用的,指定目标存储器单元是指在连接到行解码器410的字线wl1至wl9和连接到列解码器420的位线bl之间的相交点处访问存储器单元mc中的一个,以在其中编程数据或从中读取经编程的数据。

第一方向(例如,x轴方向)上的页面pg由被称为字线wl的共用线捆束,并且第二方向(例如,y轴方向)上的串str由被称为位线bl的公共线捆束(连接)。如本文所使用的,共同捆束是指通过相同的材料在结构上连接并且在电压施加期间同时接收相同的电压。由于先前存储器单元mc上的电压降,施加到串联连接的存储器单元mc之中的不同位置处的存储器单元mc的电压可能略有不同。

由于存储器装置110进行的包括编程操作和读取操作的所有数据处理都经由数据寄存器430进行,因此数据寄存器430起到不可或缺的作用。如果数据寄存器430进行的数据处理被延迟,则所有其它区域需要等待,直到数据寄存器430完成数据处理。另外,数据寄存器430的性能劣化可能使存储器装置110的整体性能劣化。

参照图4示出的示例,在一个串str中,可以存在连接到多个字线wl1至wl9的多个晶体管tr1至tr9。存在多个晶体管tr1至tr9的区域对应于存储器单元mc。如本文所使用的,多个晶体管tr1至tr9是指包括控制栅极cg和浮置栅极fg的晶体管。

多个字线wl1至wl9包括两个最外字线wl1和wl9。第一选择线dsl可以附加地布置在两个最外字线wl1和wl9之中就信号路径而言更靠近数据寄存器430的第一最外字线wl1的外部,并且第二选择线ssl可以附加地布置在另一个第二最外字线wl9的外部。

由第一选择线dsl控制导通/关断的第一选择晶体管d-tr具有连接到第一选择线dsl的栅极,但不包括浮置栅极fg。由第二选择线ssl控制导通/关断的第二选择晶体管s-tr具有连接到第二选择线ssl的栅极,但不包括浮置栅极fg。

第一选择晶体管d-tr用作接通或断开相应串str和数据寄存器430之间的连接的开关。第二选择晶体管s-tr用作接通或断开相应串str和源极线sl之间的连接的开关。也就是说,第一选择晶体管d-tr和第二选择晶体管s-tr起到位于相应串str的两端并且传递/阻挡信号的网守的作用。

在编程操作期间,存储器系统100需要以电子填充待编程的位线bl的目标存储器单元mc。因此,存储器系统100向第一选择晶体管d-tr的栅极施加导通电压vcc,从而导通第一选择晶体管d-tr,并且向第二选择晶体管s-tr的栅极施加关断电压(例如0v),从而关断第二选择晶体管s-tr。

在读取操作或验证操作期间,存储器系统100导通第一选择晶体管d-tr和第二选择晶体管s-tr两者。因此,电流可以流经相应的串str并流到对应于地的源极线sl,从而可以测量位线bl的电压电平。然而,在读取操作期间,第一选择晶体管d-tr和第二选择晶体管s-tr之间的通/断定时中可能存在时间差。

在擦除操作期间,存储器系统100可以通过源极线sl电压(例如,+20v)供应到衬底。在擦除操作期间,存储器系统100使第一选择晶体管d-tr和第二选择晶体管s-tr两者浮置,从而产生无穷大电阻。因此,可以消除第一选择晶体管d-tr和第二选择晶体管s-tr的作用,并且由于电位差,电子可以仅在浮置栅极fg和衬底之间操作。

图5是示意性地示出根据本公开的实施例的存储器系统100的配置的示图。

参照图5,存储器系统100的存储器控制器120可以管理热数据池(hot_data_pool)和冷数据池(cold_data_pool)。热数据池包括其中存储热数据的至少一个存储块,并且冷数据池包括其中存储冷数据的至少一个存储块。热数据池和冷数据池中的每一个可以包括存储器装置110中的多个存储块blk中的至少一个。

存储器控制器120可以以超级存储块为单位分别管理热数据池和冷数据池。超级存储块是包括存储器装置110中的多个存储块blk中的一个或多个的逻辑块。当将数据写入超级存储块时,存储器控制器120可以通过将数据分布在超级存储块中包括的一个或多个存储块blk中来写入数据。

存储器控制器120可以从主机(host)接收指示写入数据的操作的写入命令。存储器控制器120可以将由写入命令指示的数据写入热数据池或冷数据池。

存储器控制器120可以确定将由写入命令指示的数据写入热数据池还是冷数据池。

在下文中,参照图6描述存储器控制器120根据由写入命令指示的信息确定将由写入命令指示的数据写入热数据池还是冷数据池的操作。

图6是示出根据本公开的实施例的存储器系统100处理只读写入命令ro_wr_cmd的操作的示图。

只读写入命令(ro_wr_cmd)是指示对只读数据的写入操作的写入命令。存储器系统100的存储器控制器120可以基于从主机接收的写入命令中包括的操作码(op_code),确定相应的写入命令是否是只读写入命令。

可以以各种方式确定与只读写入命令相对应的只读数据。

作为示例,只读数据可以是多媒体文件(例如,照片/视频)的数据。也就是说,当将多媒体文件的数据写入存储器系统100时,主机可以将只读写入命令传输到存储器系统100。

作为另一示例,只读数据可以是作为操作系统(os)中包括的文件的os文件的数据。由于在初始安装之后os长时间没有改变,因此当将os文件的数据写入存储器系统100时,主机可以将只读写入命令传输到存储器系统100。

作为又一示例,只读数据可以是库文件(静态库文件/动态库文件)的数据。由于在初始安装之后库文件也长时间没有改变,因此当将将文件的数据写入存储器系统100时,主机可以将只读写入命令传输到存储器系统100。

作为再一示例,只读数据可以是由主机确定为在被写入存储器系统100之后更新频率较低的数据。换句话说,只读数据可以是由主机确定其在设定时间周期(例如,1h)内的更新频率等于或小于设定阈值计数(例如,5)的数据。当将这样的数据写入存储器系统100时,主机可以将只读写入命令传输到存储器系统100,以向存储器系统100指示在设定时间周期内相应数据将被更新为等于或小于设定阈值计数。只读数据可以由关于逻辑块地址lba以及只读写入命令中包括的长度(length)的信息来指示。

存储器控制器120可以将与只读写入命令相对应的只读数据写入冷数据池而不是热数据池。存储器控制器120可以通过将只读数据写入冷数据池来将只读数据作为冷数据管理。

这样,存储器控制器120基于从主机接收的写入命令的信息确定是否将数据写入冷数据池的原因如下。

通常,数据是热数据还是冷数据可以根据特定时间周期内访问、即读取或写入相应数据的次数(表示为访问计数)来确定。由于特定数据的访问计数随着时间的流逝而增加,因此存在一个问题,即,即使数据的读取或写入频率较低,也可能最终被分类成热数据。

在从将数据被写入存储器装置110时的时间起将被写入之后更新频率较低的数据(例如,多媒体文件的数据)作为冷数据来管理的情况下,垃圾收集或损耗均衡操作的性能可以有利地提高。这是因为当预先排除其中存储相应数据的存储块作为垃圾收集或损耗均衡的目标块时,作为搜索目标的存储块的数量可以减少,并且因此可以更快地执行垃圾收集或损耗均衡。

然而,导致的问题是这种数据属性可以在主机中检查,但是在存储器系统100中无法检查。因此,当主机将数据写入到存储器系统100时,通过指示数据的属性(相应数据是否是冷数据),存储器系统100可以将相应数据作为冷数据来管理。

存储器系统100的存储器控制器120可以确定作为冷数据被写入冷数据池的数据随后被更新的可能性较低。

在下文中,描述在后台操作(例如,垃圾收集/损耗均衡)期间存储器系统100管理热数据池和冷数据池的操作。

图7是示出根据本公开的实施例的存储器系统100执行垃圾收集的操作的示图。

当执行垃圾收集操作时,存储器系统100的存储器控制器120可以将冷数据池中的存储块从垃圾收集操作的目标块中排除。也即,存储器控制器120可以仅在热数据池中的存储块之中选择垃圾收集的牺牲块。

这样,存储器控制器120将冷数据池中的存储块从垃圾收集操作的目标块中排除的原因在于,由于冷数据池中存储的数据更新频率较低,因此存储器控制器120可以确定冷数据池中的存储块中包括的页面之中由于更新操作而处于无效状态的页面的数量较少。

这样,由于存储器控制器120在垃圾收集操作中仅在热数据池中包括的存储块之中选择牺牲块,而不是在所有存储块之中选择牺牲块,因此可以减少垃圾收集操作所需的时间。通过这种方式,可以提高垃圾收集操作的性能。

图8是示出根据本公开的实施例的存储器系统100执行损耗均衡的操作的示图。

在损耗均衡操作中,存储器系统100的存储器控制器120可以确定是否将冷数据池中的存储块中的至少一个与热数据池中的存储块中的至少一个彼此交换。

由于重复将数据写入热数据池的过程,在热数据池中的存储块之中可能存在存储更新可能性低的数据的存储块。而且,随着时间的流逝,在冷数据池中的存储块之中可能存在存储更新可能性高的数据的存储块。

在这种情况下,在损耗均衡时,存储器控制器120可以将冷数据池中的至少一个存储块与热数据池中的至少一个存储块彼此交换,并且从而可以控制将更新可能性高的数据存储在热数据池中,将更新可能性低的数据存储在冷数据池中。

在图8中,存储器控制器120可以将热数据池中的存储块blk_1与冷数据池中的存储块blk_2彼此交换,以使blk_1包括在cold_data_pool中并且blk_2包括在hot_data_pool中。

图9是帮助说明根据本公开的实施例的存储器系统100确定在损耗均衡操作中是否交换存储块的方法的流程图。

存储器系统100的存储器控制器120可以在冷数据池中的存储块的擦除-写入周期计数之中搜索最大值a(s910)。

存储器控制器120可以在冷数据池中的存储块之中搜索擦除-写入周期计数值最高的存储块,然后可以将在搜索中找到的存储块的擦除-写入周期计数值设定为a。

存储器系统100的存储器控制器120可以在热数据池中的存储块的擦除-写入周期计数之中搜索最大值b(s920)。

存储器控制器120可以在热数据池中的存储块之中搜索擦除-写入周期计数值最高的存储块,然后可以将在搜索中找到的存储块的擦除-写入周期计数值设定为b。

在图9中,示出了在热数据池中的存储块的擦除-写入周期计数之中搜索最大值b之前,存储器控制器120在冷数据池中的存储块的擦除-写入周期计数之中搜索最大值a的方案。然而,这些搜索可以同时执行,或者存储器控制器120可以在搜索a之前搜索b。

存储器控制器120比较在步骤s910找到的值a与在步骤s920找到的值b,并且从而确定值b是否大于值a(s930)。下面参照图10描述比较值a与值b的具体示例。

在值b大于值a的情况下(s930-是),也就是说,当热数据池中的存储块的擦除-写入周期计数之中的最大值大于冷数据池中的存储块的擦除-写入周期计数之中的最大值时,存储器控制器120可以将冷数据池中的存储块中的至少一个与热数据池中的存储块中的至少一个彼此交换(s940)。下面参照图11描述交换冷数据池中的存储块和热数据池中的存储块的具体示例。

另一方面,在值b等于或小于值a的情况下(s930-否),也就是说,当热数据池中的存储块的擦除-写入周期计数之中的最大值等于或小于冷数据池中的存储块的擦除-写入周期计数之中的最大值时,存储器控制器120可以将存储块保持在它们各自的池中(s950)。也就是说,不执行交换操作。

图10是示出根据本公开的实施例的存储器系统100在热数据池和冷数据池之间交换存储块的条件的示图。

参照图10,在热数据池(hot_data_pool)中的存储块之中,块0的擦除-写入周期计数为600,块1的擦除-写入周期计数为100,块2的擦除-写入周期计数为300,并且块3的擦除-写入周期计数为550。因此,在热数据池中的这些存储块之中,块0具有最高擦除-写入周期计数600。因此,600代表热数据池中擦除-写入周期计数的最大值。

另一方面,在冷数据池(cold_data_pool)中的存储块之中,块100的擦除-写入周期计数为150,块101的擦除-写入周期计数为100,块102的擦除-写入周期计数为130,并且块103的擦除-写入周期计数为599。因此,在冷数据池中的这些存储块之中,块103具有最高擦除-写入周期计数599。因此,599代表冷数据池中擦除-写入周期计数的最大值。

在这种情况下,因为热数据池中的存储块的擦除-写入周期计数之中的最大值600大于冷数据池中的存储块的擦除-写入周期计数之中的最大值599,所以存储器系统100的存储器控制器120可以交换冷数据池中的至少一个存储块和热数据池中的至少一个存储块。

下文中,参照图11描述交换热数据池和冷数据池中包括的存储块之中的哪些存储块。

图11是示出根据本公开的实施例的存储器系统100在图10的条件下在热数据池和冷数据池之间交换存储块的操作的示图。

参照图11,存储器系统100的存储器控制器120可以将冷数据池(cold_data_pool)中的存储块之中具有最小擦除-写入周期计数的存储块与热数据池(hot_data_pool)中包括的存储块之中具有最大擦除-写入周期计数的存储块彼此交换。

在图11中,存储器控制器120可以将冷数据池中的存储块之中具有最小擦除-写入周期计数100的存储块101与热数据池中包括的存储块之中具有最大擦除-写入周期计数600的存储块0彼此交换。

作为交换存储块101和存储块0的结果,热数据池中的存储块的擦除-写入周期计数之中的最大值从600减小到550。而且,冷数据池中的存储块的擦除-写入周期计数之中的最大值从599增加到600。因此,热数据池中的存储块的擦除-写入周期计数之中的最大值550变得小于冷数据池中的存储块的擦除-写入周期计数之中的最大值600。因此,在这种条件下,存储器控制器120不再在热数据池和冷数据池之间交换存储块。

图12是帮助说明根据本公开的实施例的用于操作存储器系统100的方法的流程图。

用于操作存储器系统100的方法可以首先包括生成热数据池和冷数据池,热数据池和冷数据池中的每一个包括存储器装置110中的多个存储块之中的至少一个(s1210)。

用于操作存储器系统100的方法可以包括从主机接收只读写入命令(ro_wr_cmd)(s1220)。只读写入命令是指示对只读数据的写入操作的写入命令。

用于操作存储器系统100的方法可以包括将只读数据写入冷数据池(s1230)。

可以将冷数据池中包括的存储块从垃圾收集操作的目标块中排除。

用于操作存储器系统100的方法可以进一步包括确定在损耗均衡操作中是否将冷数据池中的至少一个存储块与热数据池中的至少一个存储块彼此交换(s1240)。

在步骤s1240,当热数据池中的存储块的擦除-写入周期计数之中的最大值大于冷数据池中的存储块的擦除-写入周期计数之中的最大值时,可以将冷数据池中的存储块中的至少一个与热数据池中的存储块中的至少一个彼此交换。

可以将冷数据池中的存储块之中具有最小擦除-写入周期计数的存储块与热数据池中的存储块之中具有最大擦除-写入周期计数的存储块彼此交换。

存储器控制器120的上述操作可以由控制电路123控制,并且可以以处理器124运行(驱动)固件的方式来执行,其中将存储器控制器120的一般操作编程到该固件。

图13是示出根据本公开的实施例的计算系统1300的配置的示图。

参照图13,计算系统1300可以包括:存储器系统100,电连接到系统总线1360;cpu1310,被配置成控制计算系统1300的全部操作;ram1320,被配置成存储与计算系统1300的操作有关的数据和信息;用户界面/用户体验(ui/ux)模块1330,被配置成向用户提供用户环境;通信模块1340,被配置成以有线和/或无线类型与外部装置通信;以及电源管理模块1350,被配置成管理计算系统1300所使用的电力。

计算系统1300可以是个人计算机(pc),或者可以包括诸如智能手机、平板电脑或各种其它电子装置中的任意一种的移动终端。

计算系统1300可以进一步包括用于供应操作电压的电池,并且可以进一步包括应用芯片组、图形相关模块、相机图像处理器(cis)和dram。如本领域技术人员将理解的,计算系统1300也可以包括其它元件。

存储器系统100可以是诸如硬盘驱动器(hdd)的被配置成将数据存储在磁盘中的装置,或诸如固态驱动器(ssd)、通用闪存装置或嵌入式mmc(emmc)装置的被配置成将数据存储在非易失性存储器中的装置。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)、闪速存储器、相变ram(pram)、磁性ram(mram)、电阻式ram(rram)、铁电ram(fram)等。另外,存储器系统100可以被实施为各种类型的各种存储装置中的任意一种并且安装在各种电子装置内。

根据上述本公开的实施例,存储器系统的操作延迟时间可以最小化。另外,根据本公开的实施例,在调用特定功能的过程中发生的开销可以最小化。尽管已经示出并描述本公开的各个实施例,但是本领域技术人员将理解的是,在不脱离如所附权利要求书中阐述的本发明的范围和精神的情况下,可以进行各种修改、添加和替换。因此,本发明的实施例涵盖落入权利要求范围内的所有这种修改、添加和替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1