掌桥专利:专业的专利平台
掌桥专利
首页

用于存储器区域大小调整的技术

文献发布时间:2023-06-19 18:35:48


用于存储器区域大小调整的技术

本专利申请主张2021年8月6日由毕(Bi)申请的标题是“用于存储器区域大小调整的技术(TECHNIQUES FOR MEMORY ZONE SIZE ADJUSTMENT)”的美国临时专利申请第63/230,498号以及2022年4月21日由毕申请的标题是“用于存储器区域大小调整的技术”的美国专利申请第17/726,101号的优先权,以上申请中的每一者转让给本受让人,且以上申请中的每一者在此以全文引用的方式明确并入本文中。

技术领域

技术领域涉及用于存储器区域大小调整的技术。

背景技术

存储器装置广泛用于将信息存储在如计算机、用户装置、无线通信装置、相机、数字显示器和其类似物的各种电子装置中。通过将存储器装置内的存储器单元编程到各种状态来存储信息。举例来说,二进制存储器单元可编程到两个所支持状态中的一个,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持多于两个可能的状态,所述状态中的任一个可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。

存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、静态RAM(SRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)和与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。易失性存储器单元(例如,DRAM单元)除非由外部电源周期性地刷新,否则可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。

发明内容

描述一种设备。所述设备可包括:存储器装置;和控制器,其与所述存储器装置耦合且配置成使得所述设备:在所述存储器装置处接收去除与存储器单元块相关联的数据的命令;至少部分地基于接收到所述命令来设定至少部分地基于所述数据的大小的第一区域大小,所述第一区域大小包括所述存储器单元块中的第一组存储器单元且对应于包括待至少部分地基于接收到的命令来去除的数据的第一空间量;确定所述第一区域大小是否满足至少部分地基于对应于可用于将数据存储在所述存储器单元块中的第二空间量的可用区域大小的阈值;至少部分地基于确定所述第一区域大小满足所述阈值来设定第二区域大小,所述第二区域大小包括所述存储器单元块中的第二组存储器单元,其中所述第二区域大小小于或等于所述可用区域大小;以及至少部分地基于设定所述第二区域大小来执行所述接收到的命令。

描述一种非暂时性计算机可读介质。所述非暂时性计算机可读介质可包括指令,所述指令在由电子装置的处理器执行时使得所述电子装置:在所述电子装置处接收去除与存储器单元块相关联的数据的命令;至少部分地基于接收到所述命令来设定至少部分地基于所述数据的大小的第一区域大小,所述第一区域大小包括所述存储器单元块中的第一组存储器单元且对应于包括待至少部分地基于接收到的命令来去除的数据的第一空间量;确定所述第一区域大小是否满足至少部分地基于对应于可用于将数据存储在所述存储器单元块中的第二空间量的可用区域大小的阈值;至少部分地基于确定所述第一区域大小满足所述阈值来设定第二区域大小,所述第二区域大小包括所述存储器单元块中的第二组存储器单元,其中所述第二区域大小小于或等于所述可用区域大小;以及至少部分地基于设定所述第二区域大小来执行所述接收到的命令。

描述一种方法。所述方法可包括:在存储器系统处接收去除与存储器单元块相关联的数据的命令;至少部分地基于接收到所述命令来设定至少部分地基于所述数据的大小的第一区域大小,所述第一区域大小包括所述存储器单元块中的第一组存储器单元且对应于包括待至少部分地基于接收到的命令来去除的数据的第一空间量;确定所述第一区域大小是否满足至少部分地基于对应于可用于将数据存储在所述存储器单元块中的第二空间量的可用区域大小的阈值;至少部分地基于确定所述第一区域大小满足所述阈值来设定第二区域大小,所述第二区域大小包括所述存储器单元块中的第二组存储器单元,其中所述第二区域大小小于或等于所述可用区域大小;以及至少部分地基于设定所述第二区域大小来执行所述接收到的命令。

附图说明

图1说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的系统的实例。

图2说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的系统的实例。

图3说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的过程流程300的实例。

图4说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的过程流程400的实例。

图5展示根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的存储器系统的框图。

图6展示说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的一或多种方法的流程图。

具体实施方式

在一些存储器装置中,例如清空操作的后台操作可将数据从一组存储器单元传送到第二组存储器单元(例如,将数据从单层级单元(SLC)块传送到三层级单元(TLC)块)。一些存储器装置可包含配置成在清空操作期间保留数据的一组存储器单元。在一些情况下,配置成保留数据的所述一组存储器单元可称为陈旧区域(stale zone)。举例来说,陈旧区域可配置成存储在写突发(WB)操作模式期间从主机接收到的最近数据。在一些实例中,最近数据可包含临时数据(即,随后可删除的临时数据)。在一些情况下,陈旧区域可具有静态大小,且超出陈旧区域的大小的最近数据可存储在SLC块的其它部分中。存储在SLC块的其它部分中的过量数据可传送到TLC块,且存储器装置可能例如在存储器装置接收到去除临时数据的命令(例如,取消映射命令)时使用功率资源删除所传送的数据,这可能降低存储器装置的效率且引起不需要的功率消耗,以及其它缺点。

如本文中所描述,存储器装置可动态地更新区域(如陈旧区域)的大小以适应来自主机装置的最近数据。举例来说,可在WB模式期间写入最近数据。在一些实例中,存储器装置可响应于接收到去除最近数据的至少一部分的命令(例如,取消映射命令)而确定数据的大小(例如,在取消映射命令中所指示的待去除的数据的大小)和SLC块中的可用空间量,且将陈旧区域的大小设定为包含可用空间。在其它实施例中,存储器装置可基于如一或多个主机数据大小阈值的额外参数(例如,SLC块中的待去除的数据量)来确定陈旧区域大小。举例来说,存储器装置可确定将陈旧区域大小设定为默认区域大小或设定为由待去除的数据的先前大小确定的大小。

首先参考图1至2在系统、装置和电路的上下文中描述本公开的特征。参考图3至4在过程流程的上下文中描述本公开的特征。参考图5至6,本公开的这些和其它特征通过涉及用于存储器区域大小调整的技术的设备图和流程图的上下文来进一步说明,且在所述设备图和流程图的上下文中进行描述。

图1说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。

存储器系统110可以是或包含任何装置或装置的集合,其中装置或装置的集合包含至少一个存储器阵列。举例来说,存储器系统110可以是或包含通用快闪存储(UFS)装置、嵌入式多媒体控制器(eMMC)装置、快闪装置、通用串行总线(USB)快闪装置、安全数字(SD)卡、固态驱动器(SSD)、硬盘驱动器(HDD)、双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),或非易失性DIMM(NVDIMM),以及其它可能性。

系统100可包含在计算装置中,所述计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(IoT)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。

系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的接口,所述主机系统控制器106可以是配置成使得主机系统105根据如本文中所描述的实例进行各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组和由处理器芯片组执行的软件堆栈。举例来说,主机系统105可包含配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在主机系统105中的存储器)、存储器控制器(例如,NVDIMM控制器),和存储协议控制器(例如,外围组件互连高速(PCIe)控制器、串行高级技术附件(SATA)控制器)。主机系统105可使用存储器系统110(例如)将数据写入到存储器系统110且从存储器系统110读取数据。虽然图1中展示一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。

主机系统105可经由至少一个物理主机接口与存储器系统110耦合。在一些情况下,主机系统105和存储器系统110可配置成使用相关联协议经由物理主机接口通信(例如,以在存储器系统110与主机系统105之间交换或以其它方式传达控制、地址、数据和其它信号)。物理主机接口的实例可包含但不限于SATA接口、UFS接口、eMMC接口、PCIe接口、USB接口、光纤通道接口、小型计算机系统接口(SCSI)、串行连接的SCSI(SAS)、双数据速率(DDR)接口、DIMM接口(例如,支持DDR的DIMM套接接口)、开放NAND快闪接口(ONFI),和低功率双数据速率(LPDDR)接口。在一些实例中,一或多个这种接口可包含在主机系统105的主机系统控制器106与存储器系统110的存储器系统控制器115中或以其它方式在其间得到支持。在一些实例中,主机系统105可经由用于包含在存储器系统110中的每一存储器装置130的相应物理主机接口,或经由用于包含在存储器系统110中的每一类型的存储器装置130的相应物理主机接口与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。

存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。虽然在图1的实例中展示两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。另外,如果存储器系统110包含多于一个存储器装置130,那么存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。

存储器系统控制器115可与主机系统105耦合和通信(例如,经由物理主机接口),且可以是配置成使得存储器系统110根据如本文中所描述的实例进行各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合和通信以在存储器装置130处进行一般可称为存取操作的操作,如读取数据、写入数据、擦除数据或刷新数据,以及其它这种操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行这种命令(例如,在一或多个存储器装置130内的存储器阵列处)。举例来说,存储器系统控制器115可从主机系统105接收命令或操作,且可将所述命令或操作转换成指令或适当的命令以实现存储器装置130的所要存取。在一些情况下,存储器系统控制器115可与主机系统105且与一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。举例来说,存储器系统控制器115可将与存储器装置130相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的对应信号。

存储器系统控制器115可配置成用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,如耗损均衡操作、垃圾收集操作、如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、介质管理操作、后台刷新、健康监测,和与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))与与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。

存储器系统控制器115可包含硬件,如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统以进行本文中归于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路系统。

存储器系统控制器115还可包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以进行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(SRAM)或可由存储器系统控制器115用于例如与本文中归于存储器系统控制器115的功能相关的内部存储或计算的其它存储器。另外或替代地,本地存储器120可充当用于存储器系统控制器115的高速缓存。举例来说,如果从存储器装置130读取或写入到存储器装置130,那么数据可存储在本地存储器120中,且所述数据可在本地存储器120内可用以用于由主机系统105根据高速缓存策略(例如,以相对于存储器装置130的减少的时延)后续检索或操纵(例如,更新)。

虽然图1中的存储器系统110的实例已说明为包含存储器系统控制器115,但在一些情况下,存储器系统110可不包含存储器系统控制器115。举例来说,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130内部的一或多个本地控制器135,以进行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或其任何组合进行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理NAND(MNAND)装置。

存储器装置130可包含非易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电随机存取存储器(RAM)(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、电可擦除可编程ROM(EEPROM),或其任何组合。另外或替代地,存储器装置130可包含易失性存储器单元的一或多个阵列。举例来说,存储器装置130可包含RAM存储器单元,如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。

在一些实例中,存储器装置130可包含(例如,在同一裸片上或在同一封装内)本地控制器135,其可在相应存储器装置130的一或多个存储器单元上执行操作。本地控制器135可结合存储器系统控制器115操作,或可进行本文中归于存储器系统控制器115的一或多个功能。举例来说,如图1中所说明,存储器装置130-a可包含本地控制器135-a,且存储器装置130-b可包含本地控制器135-b。

在一些情况下,存储器装置130可以是或包含NAND装置(例如,NAND快闪装置)。存储器装置130可以是或包含存储器裸片160。举例来说,在一些情况下,存储器装置130可以是包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含相应一组块170,其中每一块170可包含相应一组页175,且每一页175可包含一组存储器单元。

在一些情况下,NAND存储器装置130可包含配置成各自存储一个信息位的存储器单元,其可称为SLC。另外或替代地,NAND存储器装置130可包含配置成各自存储多个信息位的存储器单元,如果配置成各自存储两个信息位,则其可称为多层级单元(MLC),如果配置成各自存储三个信息位,则其可称为TLC,如果配置成各自存储四个信息位,则其可称为四层级单元(QLC),或更一般地称为多层级存储器单元。多层级存储器单元可相对于SLC存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂度。

在一些情况下,平面165可指块170的群组,且在一些情况下,可在不同平面165内发生并行操作。举例来说,可对不同块170内的存储器单元进行并行操作,只要不同块170处于不同平面165中即可。在一些情况下,个别块170可称为物理块,且虚拟块180可指可在其内发生并行操作的块170的群组。举例来说,可对分别在平面165-a、165-b、165-c和165-d内的块170-a、170-b、170-c和170-d进行并行操作,且块170-a、170-b、170-c和170-d可统称为虚拟块180。在一些情况下,虚拟块可包含来自不同存储器装置130的块170(例如,包含存储器装置130-a和存储器装置130-b的一或多个平面中的块)。在一些情况下,虚拟块内的块170可在其相应平面165内具有相同的块地址(例如,块170-a可以是平面165-a的“块0”,块170-b可以是平面165-b的“块0”,等等)。在一些情况下,在不同平面165中进行并行操作可受制于一或多个限制,如对不同页175内的存储器单元进行并行操作,所述存储器单元在其相应平面165内具有相同页地址(例如,与命令解码、页地址解码电路系统,或跨平面165共享的其它电路系统相关)。

在一些情况下,块170可包含组织成行(页175)和列(例如,串,未展示)的存储器单元。举例来说,同一页175中的存储器单元可共享共同字线(例如,与其耦合),且同一串中的存储器单元可共享共同数字线(其可替代地称为位线)(例如,与其耦合)。

对于一些NAND架构,存储器单元可在第一粒度级别下(例如,在页粒度级别下)读取和编程(例如,写入),但可在第二粒度级别下(例如,在块粒度级别下)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的部分同时编程或读取)的存储器(例如,一组存储器单元)的最小单元,且块170可以是可独立地擦除(例如,作为单个擦除操作的部分同时擦除)的存储器(例如,一组存储器单元)的最小单元。另外,在一些情况下,NAND存储器单元可在其可用新数据重写之前擦除。因此,举例来说,在一些情况下,可不更新所使用的页175,直到已擦除包含页175的整个块170为止。

系统100可包含支持用于存储器区域大小调整的技术的任何数量的非暂时性计算机可读介质。举例来说,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取一或多个非暂时性计算机可读介质,所述非暂时性计算机可读介质存储指令(例如,固件)以进行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能。举例来说,如果由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行,则这种指令可使得主机系统105、存储器系统控制器115或存储器装置130进行如本文中所描述的一或多个相关联功能。

在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理NAND(MNAND)系统。

在一些实例中,可在存储器装置130(如存储器装置130-a)的块170之间传送数据。举例来说,数据可初始地写入到第一块170-a(例如,SLC块170-a),且随后传送到第二块170-b(例如,TLC块170-b)作为清空操作的部分。在一些情况下,第一块170-a可包含具有对应陈旧区域大小的陈旧区域。在清空操作期间,可不将存储在陈旧区域中的数据从第一块170-a传送到第二块170-b。

在一些情况下,陈旧区域大小可以是静态的(即,陈旧区域大小可不改变)。静态陈旧区域大小可导致在WB模式期间写入的过量临时数据存储在陈旧区域外部。在清空操作期间,可将过量临时数据从第一块170-a传送到第二块170-b。

存储器系统110(例如,经由存储器系统控制器115或本地控制器135)可响应于接收到去除临时数据的命令而动态地调整(例如,增大或减小)陈旧区域大小。在一些情况下,可基于第一块170-a中的自由空间量来确定陈旧区域大小。另外或替代地,可基于主机数据大小来确定陈旧区域大小。举例来说,可通过将待删除的数据的大小(例如,如取消映射命令中所指示)与阈值相比较来确定陈旧区域大小。主机数据大小可指示在一段时间内在第一块170-a、第二块170-b或其组合中删除的数据量(例如,在一天中删除的数据量)。在一些情况下,可将陈旧区域大小调整为默认陈旧区域大小。在其它情况下,可基于来自先前周期的主机数据大小(例如,先前一天的主机删除数据大小)来调整陈旧区域大小。

图2说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的系统200的实例。系统200可以是如参考图1或其方面所描述的系统100的实例。系统200可包含存储器系统210,其配置成存储从主机系统205接收到的数据,且如果由主机系统205使用存取命令(例如,读取命令或写入命令)来请求,那么将数据发送到主机系统205。系统200可实施参考图1所描述的系统100的方面。举例来说,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。

存储器系统210可包含存储器装置240,以例如响应于从主机系统205接收到存取命令而存储在存储器系统210与主机系统205之间传送的数据,如本文中所描述。存储器装置240可包含如参考图1所描述的一或多个存储器装置。举例来说,存储器装置240可包含NAND存储器、PCM、自选存储器、3D交叉点、其它基于硫族化物的存储器、FERAM、MRAM、NOR(例如,NOR快闪)存储器、STT-MRAM、CBRAM、RRAM,或OxRAM。

存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据的传递,例如用于存储数据、检索数据,和确定待将数据存储在其中和待从其检索数据的存储器位置。存储控制器230可使用特定针对每一类型的存储器装置240的协议直接地或经由总线(未展示)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,用于每一类型的存储器装置240的不同存储控制器230。在一些情况下,存储控制器230可实施如参考图1所描述的本地控制器135的方面。

存储器系统210可另外包含用于与主机系统205通信的接口220,和用于临时存储在主机系统205与存储器装置240之间传送的数据的缓冲器225。接口220、缓冲器225和存储控制器230可用于在主机系统205与存储器装置240之间转译数据(例如,如由数据路径250所展示),且可统称为数据路径组件。

在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的时延且允许与命令相关联的任意数据大小。这还可允许处置命令的突发,且一旦突发已停止,便可存储或传输(或两者)缓冲的数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,如SRAM或DRAM),或硬件加速器或两者,以允许快速地将数据存储到缓冲器225和从缓冲器225检索数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径切换组件。

数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,数据可能不由主机系统205直接从缓冲器225读取。举例来说,可将读取命令添加到队列中,而无需将地址与已在缓冲器225中的地址进行匹配的操作(例如,无需高速缓存地址匹配或查找操作)。

存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。

在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。举例来说,如果由存储器系统210并行处理来自主机系统205的多于一个存取命令,那么这可以是有益的。作为可能实施方案的实例,分别在接口220、存储器系统控制器215和存储控制器230处描绘命令队列260、缓冲器队列265和存储队列270。然而,队列(如果使用)可位于存储器系统210内的任何位置。

在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。举例来说,存储器系统210中的系统组件可使用总线235彼此通信,而数据可使用通过数据路径组件而不是总线235的数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定针对存储器系统210的协议)而控制如何和是否在主机系统205与存储器装置240之间传送数据。

如果主机系统205将存取命令传输到存储器系统210,那么命令可由接口220例如根据协议(例如,UFS协议或eMMC协议)接收。因此,接口220可视为存储器系统210的前端。在接收到每一存取命令后,接口220可例如经由总线235将命令传达到存储器系统控制器215。在一些情况下,可通过接口220将每一命令添加到命令队列260,以将命令传达到存储器系统控制器215。

存储器系统控制器215可确定已基于来自接口220的通信而接收到存取命令。在一些情况下,存储器系统控制器215可确定已通过从命令队列260检索命令而接收到存取命令。在例如已由存储器系统控制器215从命令队列260检索命令之后,可将所述命令从命令队列260去除。在一些情况下,存储器系统控制器215可使得接口220例如经由总线235从命令队列260去除命令。

在确定已接收到存取命令后,存储器系统控制器215可执行存取命令。对于读取命令,这可意味着从存储器装置240获得数据和将数据传输到主机系统205。对于写入命令,这可意味着从主机系统205接收数据且将数据移动到存储器装置240。

在任一情况下,存储器系统控制器215可将缓冲器225尤其用于从主机系统205接收的或发送到主机系统205的数据的临时存储。缓冲器225可视为存储器系统210的中间端。在一些情况下,缓冲器地址管理(例如,指向缓冲器225中的地址位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)进行。

为了处理从主机系统205接收到的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与写入命令相关联的数据的空间量。

在一些情况下,缓冲器队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可由存储器系统控制器215移动到缓冲器队列265,且可在相关联数据存储在缓冲器225中的同时保持在缓冲器队列265中。在一些情况下,缓冲器队列265中的每一命令可与缓冲器225处的地址相关联。也就是说,可维持指示在缓冲器225中存储与每一命令相关联的数据的位置的指针。使用缓冲器队列265,可从主机系统205依序接收多个存取命令且可并行处理存取命令的至少部分。

如果缓冲器225具有足够空间来存储写入数据,那么存储器系统控制器215可使得接口220例如根据协议(例如,UFS协议或eMMC协议)将可用性的指示传输到主机系统205(例如,“准备好传送”指示)。当接口220随后从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225以用于临时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内的存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传送。

一旦写入数据已通过接口220存储在缓冲器225中,就可将数据从缓冲器225传送出且存储在存储器装置240中。这可使用存储控制器230完成。举例来说,存储器系统控制器215可使得存储控制器230使用数据路径250从缓冲器225检索数据且将数据传送到存储器装置240。存储控制器230可视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示已完成到存储器装置240中的存储器装置的数据传送。

在一些情况下,存储队列270可用于辅助写入数据的传送。举例来说,存储器系统控制器215可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列270以供处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示缓冲器225中存储与命令相关联的数据的位置;和存储指针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得从其获得数据的缓冲器225内的位置。存储控制器230可管理存储器装置240内的存储数据(例如,进行耗损均衡、垃圾收集和其类似物)的位置。可例如由存储器系统控制器215将条目添加到存储队列270。在完成数据的传送后,可例如由存储控制器230或存储器系统控制器215从存储队列270去除条目。

为了处理从主机系统205接收到的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。

在一些情况下,缓冲器队列265可用于以与上文关于写入命令所讨论的类似方式来辅助与读取命令相关联的数据的缓冲器存储。举例来说,如果缓冲器225具有足够空间来存储读取数据,那么存储器系统控制器215可使得存储控制器230从存储器装置240检索与读取命令相关联的数据且使用数据路径250将数据存储在缓冲器225中以用于临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示何时已完成到缓冲器225的数据传送。

在一些情况下,存储队列270可用于辅助读取数据的传送。举例来说,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内的从其检索数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内的存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内的存储数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。

一旦数据已由存储控制器230存储在缓冲器225中,就可将数据传送出缓冲器225且发送到主机系统205。举例来说,存储器系统控制器215可使得接口220使用数据路径250从缓冲器225检索数据,且例如根据协议(例如,UFS协议或eMMC协议)将数据传输到主机系统205。举例来说,接口220可处理来自命令队列260的命令,且可例如经由总线235向存储器系统控制器215指示已完成到主机系统205的数据传输。

存储器系统控制器215可根据次序(例如,根据命令队列260的次序的先入先出次序)执行接收到的命令。对于每一命令,存储器系统控制器215可使得对应于命令的数据移动进出缓冲器225,如上文所论述。当数据移动到缓冲器225中且存储在缓冲器225内时,命令可保持在缓冲器队列265中。如果已完成命令的处理(例如,如果已将对应于存取命令的数据传送出缓冲器225),那么可例如由存储器系统控制器215从缓冲器队列265去除命令。如果从缓冲器队列265去除命令,那么先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。

存储器系统控制器215可另外配置成用于与存储器装置240相关联的操作。举例来说,存储器系统控制器215可执行或管理操作,如耗损均衡操作、垃圾收集操作、如错误检测操作或错误校正操作的错误控制操作、加密操作、高速缓存操作、介质管理操作、后台刷新、健康监测,和与来自主机系统205的命令相关联的逻辑地址(例如,逻辑块地址(LBA))与与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转译。也就是说,主机系统205可发出指示一或多个LBA的命令,且存储器系统控制器215可识别由LBA指示的一或多个物理块地址。在一些情况下,一或多个连续LBA可对应于非连续的物理块地址。在一些情况下,存储控制器230可配置成结合或代替存储器系统控制器215进行以上操作中的一或多个。在一些情况下,存储器系统控制器215可进行存储控制器230的功能且可省略存储控制器230。

存储器装置240可包含SLC块280和TLC块290。在一些实例中,SLC块280可包含陈旧区域285,其中陈旧区域285具有对应大小。在一些情况下,与来自主机系统205的WB或写入增压器模式相关联的临时数据可初始地存储在陈旧区域285中。可在经由传送路径275将数据(例如,作为清空操作的部分)从SLC块280传送到TLC块290期间保留存储在陈旧区域285中的临时数据。

在一些情况下,陈旧区域285的大小可以是静态的。静态大小可导致在WB模式期间写入的过量临时数据存储在陈旧区域285外部。在一些情况下,过量临时数据可经由传送路径275从SLC块280传送到TLC块290。在一些情况下,存储器装置240可接收去除在WB模式期间写入的临时数据的命令(例如,取消映射命令)。如果过量临时数据已从SLC块280传送到TLC块290,那么去除临时数据可包含从TLC块290去除数据,这可能降低存储器装置的效率且引起不需要的功率消耗,以及其它缺点。

存储器装置240可响应于接收到去除临时数据的命令而动态地调整(例如,增大)陈旧区域285的大小。调整陈旧区域285的大小可使得存储器装置240能够将额外临时数据存储在陈旧区域285中,这可减少经由传送路径275从SLC块280传送到TLC块290的临时数据量。

在一些情况下,可基于SLC块280中的自由空间量来确定陈旧区域285的大小。另外或替代地,可基于主机数据大小来确定陈旧区域285的大小。举例来说,可通过将待删除的数据的大小(例如,如取消映射命令中所指示)与阈值相比较来确定陈旧区域285的大小。主机数据大小可指示在一段时间内在SLC块280、TLC块290或其组合中删除的数据量(例如,在一天中删除的数据量)。在一些情况下,可将陈旧区域285的大小调整为默认大小。在其它情况下,可基于来自先前周期的主机数据大小(例如,先前一天的主机删除数据大小)来调整陈旧区域285的大小。

图3说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的过程流程300的实例。过程流程300可由存储器系统(如参考图1和2描述的存储器系统110)的组件进行。举例来说,过程流程300可分别由存储器系统的控制器或存储器装置(或两者)(如存储器系统控制器115或本地控制器135)进行,如参考图1所描述。可实施过程流程300以减少时延和功率消耗且增加系统性能,以及其它益处。过程流程300的方面可由控制器以及其它组件实施。另外或替代地,过程流程300的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统控制器115或本地控制器135耦合的存储器中的固件)。举例来说,所述指令如果由控制器(例如,存储器系统控制器115、本地控制器135)执行,那么可使得控制器进行过程流程300的操作。在过程流程300的以下描述中,可以与所展示的次序不同的次序进行操作。举例来说,也可从过程流程300省略特定操作,或可将其它操作添加到过程流程300。

存储器系统可在WB或写入增压器模式下操作。在WB模式期间,存储器系统可将来自主机的数据存储在配置成存储主机写入的数据的第一存储器单元块(例如,SLC块)中。在一些情况下,存储器系统可将来自主机装置的最近数据存储在第一存储器单元块的陈旧区域中。在一些实例中,存储在陈旧区域中的数据可包含临时数据。可响应于周期性地发出的命令(例如,每日取消映射命令)而去除临时数据。

在305处,可接收到命令。举例来说,存储器系统可接收去除与第一存储器单元块相关联的数据的命令。命令可以是取消映射命令的实例,且可与存储器系统的WB或写入增压器模式相关联。取消映射命令可包含去除在存储器系统的WB或写入增压器模式期间写入到第一存储器单元块的临时数据的指示。在一些情况下,可能已将临时数据从第一存储器单元块传送(例如,作为清空操作的部分)到第二存储器单元块(如TLC块)。在其它情况下,临时数据可能已存储在陈旧区域中,且因此在清空操作期间保持在第一存储器单元块中。

在310处,响应于在305处接收到命令,可确定装置自由空间是否满足阈值。举例来说,控制器可基于与存储器系统的写入增压器或WB模式相关联的空间量(例如,写入增压器大小)来确定装置自由空间(即,存储器系统的未使用空间)是否超出阈值。在一些情况下,所述阈值可以是写入增压器大小的整数倍,如写入增压器大小的三倍。写入增压器大小可配置成指示待在WB或写入增压器模式期间写入的数据量。然而,在一些情况下,写入增压器大小可超出用于写入增压器的可用大小(例如,写入增压器可用大小或区域大小)。举例来说,可(例如,在清空操作期间)将与写入增压器相关联的数据从第一存储器单元块传送到第二存储器单元块。因此,如果与第一存储器单元块上的写入增压器相关联的数据的大小超出阈值,那么第二存储器单元块可能不具有足够的空间来存储与写入增压器相关联的数据。

如果在310处,确定装置自由空间满足阈值,那么可进行315。在315处,可设定写入增压器可用大小。举例来说,控制器可将写入增压器可用大小调整为装置自由空间的分数。在一些实例中,如当与写入增压器相关联的数据配置成从第一存储器单元块传送到第二存储器单元块时,可将写入增压器可用大小设定为装置自由空间的三分之一。也就是说,写入增压器可用大小可设定为提供足够空间以将与写入增压器相关联的数据从第一存储器单元块传送到第二存储器单元块。

如果在310处,确定装置自由空间不满足阈值,那么可在不首先进行315的情况下进行320。在320处,可设定可用区域大小。举例来说,控制器可基于装置自由空间、写入增压器可用大小、默认陈旧区域大小或其组合来设定可用区域大小。可用区域大小可指示可用于增大陈旧区域大小的最大大小。也就是说,可用区域可指示陈旧区域可占据多少额外空间。默认陈旧区域大小可指示陈旧区域大小的起始值。在一些情况下,默认陈旧区域大小可以是例如2GB。在一些情况下,可用区域大小可指示可用于陈旧区域的最大大小。可用区域大小可基于例如装置自由空间的三分之一与写入增压器可用大小和默认区域大小的总和的差。另外或替代地,当针对主机写入的数据打开存储器单元块时,可更新可用区域大小。

在325处,可设定(例如,确定、计算、更新)删除数据大小。举例来说,存储器控制器可计算每日删除TLC数据大小。存储器控制器可记录与WB模式相关联的从第一存储器单元块传送到第二存储器单元块的数据量,且随后在一天中发出的一组一或多个取消映射命令上删除。在一些实例中,存储器控制器可计算主机删除数据大小,其可包含对应于在305处接收到的命令中所指示的总数据的空间量。另外或替代地,存储器控制器可计算主机删除SLC数据大小,其可包含对应于在305处接收到的保持在第一存储器单元块中的命令中所指示的数据的空间量。在一些实例中,存储器控制器可确定最后每日删除TLC数据大小,其可包含可确定对应于先前一天的每日删除TLC数据大小的数据量。在一些实例中,可响应于在305处接收到的命令而更新删除数据大小。

在一些情况下,在330处,可任选地将数据从第一存储器单元块传送到第二存储器单元块。所传送的数据可不同于与在305处接收到的命令相关联的数据。举例来说,作为一或多个后台操作的部分,存储器系统可将未存储在陈旧区域中的数据从第一存储器单元块传送到第二存储器单元块。在一些情况下,将数据从第一存储器单元块传送到第二存储器单元块可以是清空操作的部分。

在335处,可确定在325处设定的每日删除数据大小是否满足阈值。举例来说,存储器控制器可确定每日删除TLC数据大小是否大于可用区域大小。在一些情况下,确定每日删除TLC数据大小大于可用区域大小可指示存储器系统可受益于比当前陈旧区域大小更大的陈旧区域大小,这是由于较大陈旧区域大小可减轻(即,减小)从第一存储器单元块传送到第二存储器单元块且随后删除的临时数据量。

如果在335处,确定在325处设定的每日删除数据大小满足阈值,那么可进行340。在340处,可基于确定每日删除TLC数据大小超出阈值组,将第一区域大小(即,陈旧区域大小)调整(例如,设定或更新)为可用区域大小。如果在335处,确定在325处设定的每日删除数据大小不满足阈值,那么可进行341。在341处,可基于每日删除数据大小来更新第一区域大小。举例来说,存储器控制器可基于当前陈旧区域大小与每日删除TLC数据大小的总和基于确定每日删除TLC数据大小不超出阈值来更新陈旧区域大小。

在一些情况下,在345处,可重置每日删除TLC数据大小。举例来说,存储器控制器可基于辨识到每夜取消映射命令序列或一组取消映射命令序列来任选地重置(即,设定为零)每日删除TLC数据大小。重置每日删除TLC数据大小可以是监测与已在一段时间(例如,一天)内从SLC块传送到TLC块的取消映射命令相关联的数据量的部分。也就是说,每日删除TLC数据大小可指示与在一天中已从SLC块传送到TLC块的取消映射命令相关联的数据量,且重置每日TLC删除数据大小可使得控制器能够维持准确记录。

在350处,可确定在305处接收到的命令中所指示的数据的大小是否大于或等于可用区域大小。举例来说,存储器控制器可将在340处设定的陈旧区域大小与在320处确定的可用区域大小相比较。如果在350处,确定数据的大小大于或等于可用区域大小,那么可进行355。在355处,可将陈旧区域大小调整(例如,设定、减小)为可用区域大小。也就是说,陈旧区域大小可设定为第二区域大小。如果在350处,确定数据的大小不大于或等于可用区域大小,那么可在不首先进行355的情况下进行360。

在360处,可执行在305处接收到的命令。举例来说,存储器控制器可基于在340处设定且在一些情况下在355处调整的陈旧区域大小来执行取消映射命令。在一些实例中,执行取消映射命令可包含从第一存储器单元块(例如,SLC块)去除数据(例如,临时数据),如在命令中所指示。在一些情况下,执行取消映射命令可另外包含去除已从第一存储器单元块传送到第二存储器单元块(例如,TLC块)的数据(例如,临时数据)。

在一些实例中,可响应于周期性取消映射命令而周期性地(例如,在每夜基础上)进行过程流程300的步骤。因此,一或多个参数(如起始陈旧区域大小和每日删除TLC数据大小,以及其它实例)可基于过程流程300的先前迭代。另外或替代地,过程流程300的一或多个参数可独立于过程流程300的先前迭代,如写入增压器大小和写入增压器可用大小,以及其它实例。

图4说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的过程流程400的实例。过程流程400可由存储器系统(如参考图1和2描述的存储器系统110)的组件进行。举例来说,过程流程400可分别由存储器系统的控制器或存储器装置(或两者)(如存储器系统控制器115或本地控制器135)进行,如参考图1所描述。可实施过程流程400以减少时延和功率消耗且增加系统性能,以及其它益处。过程流程400的方面可由控制器以及其它组件实施。另外或替代地,过程流程400的方面可实施为存储在存储器中的指令(例如,存储在与存储器系统控制器115或本地控制器135耦合的存储器中的固件)。举例来说,所述指令如果由控制器(例如,存储器系统控制器115、本地控制器135)执行,那么可使得控制器进行过程流程400的操作。在过程流程400的以下描述中,可以与所展示的次序不同的次序进行操作。举例来说,也可从过程流程400省略特定操作,或可将其它操作添加到过程流程400。

存储器系统可在WB或写入增压器模式下操作。在WB模式期间,存储器系统可将来自主机的数据存储在配置成存储主机写入的数据的第一存储器单元块(例如,SLC块)中(即,存储器系统可将来自主机装置的最新数据存储在陈旧区域中)。在一些实例中,存储在陈旧区域中的数据可包含临时数据。可响应于周期性地发出的命令(例如,每日取消映射命令)而去除临时数据。

在405处,可确定默认陈旧区域大小。举例来说,默认陈旧区域大小可由存储器控制器设定或以其它方式由固件、过程400的先前迭代或其类似物指示。默认陈旧区域大小可指示陈旧区域的起始陈旧区域大小。在一些实例中,默认陈旧区域大小可以是2千兆字节(GB)。

在410处,可接收到命令。举例来说,存储器系统可接收去除与存储器单元块相关联的数据的命令。命令可以是取消映射命令的实例,且可与存储器系统的WB或写入增压器模式相关联。取消映射命令可包含去除在存储器系统的WB或写入增压器模式期间写入到第一存储器单元块的临时数据的指示。在一些情况下,可能已将临时数据从第一存储器单元块传送到第二存储器单元块(如TLC块),作为清空操作的部分。在其它情况下,临时数据可存储在陈旧区域中,且因此在清空操作期间保持在第一存储器单元块中。

在415处,可设定(即,确定、计算、更新)删除数据大小。举例来说,存储器控制器可计算每日删除TLC数据大小。存储器控制器可记录与WB模式相关联的从第一存储器单元块传送到第二存储器单元块的数据量,且随后在一天中发出的一组一或多个取消映射命令上删除。在一些实例中,存储器控制器可计算主机删除数据大小,其可包含对应于在410处接收到的命令中所指示的总数据的空间量。另外或替代地,存储器控制器可计算主机删除SLC数据大小,其可包含对应于在410处接收到的保持在第一存储器单元块中的命令中所指示的数据的空间量。在一些实例中,存储器控制器可确定最后每日删除TLC数据大小,其可包含可确定对应于先前一天的每日删除TLC数据大小的数据量。在一些实例中,可响应于在410处接收到的命令而更新删除数据大小。

在420处,可确定在415处设定的每日删除数据大小是否满足阈值。举例来说,存储器控制器可确定主机删除SLC数据大小是否大于阈值(例如,零)。另外,存储器控制器可确定主机删除数据大小是否超出第二阈值(例如,大于零的阈值)。

如果在420处,确定在415处设定的每日删除数据大小不满足阈值,那么可进行425。在425处,可将陈旧区域大小(即,第一区域大小)设定(即,调整为)为默认陈旧区域大小。如果在420处,确定在415处设定的每日删除数据大小满足阈值,那么可进行430。在430处,可确定数量是否满足阈值。举例来说,存储器控制器可确定基于陈旧区域大小和最后每日删除TLC数据大小的数量(例如,陈旧区域大小与最后每日删除TLC数据大小之间的差)是否超出阈值。在一些实例中,所述阈值可以是在405处确定的默认陈旧区域的大小。如果在430处,确定数量不满足阈值,那么可进行425,如本文中所描述。

如果在430处,确定数量满足阈值,那么可进行435。在435处,可将陈旧区域大小(即,第一区域大小)设定(即,计算、调整)为新大小。举例来说,存储器控制器可基于当前陈旧区域大小和最后每日删除TLC数据大小(例如,当前陈旧区域大小与最后每日删除TLC数据大小之间的差)将陈旧区域大小设定为新大小。

在440处,可基于阈值来调整陈旧区域大小(例如,调整为第二区域大小)。举例来说,存储器控制器可确定在425或435处设定的陈旧区域大小是否超出阈值,其中所述阈值可以是可用陈旧区域大小(例如,参考图3所论述的可用区域大小)。如果在425或435处设定的陈旧区域大小超出阈值,那么可将陈旧区域大小设定(即,减小、调整)为可用陈旧区域大小。

在一些情况下,在445处,可重置每日删除TLC数据大小。举例来说,存储器控制器可基于辨识到每夜取消映射命令序列或一组取消映射命令序列来任选地重置(即,设定为零)每日删除TLC数据大小。重置每日删除TLC数据大小可以是监测与已在一段时间(例如,一天)内从第一存储器单元块传送到第二存储器单元块的取消映射命令相关联的数据量的部分。也就是说,每日删除TLC数据大小可指示与在一天中已从第一存储器单元块传送到第二存储器单元块的取消映射命令相关联的数据量,且重置每日TLC删除数据大小可允许维持准确记录。

在450处,可执行在410处接收到的命令。举例来说,存储器控制器可基于在425或435处设定且在一些情况下在440处调整的陈旧区域大小来执行取消映射命令。在一些实例中,执行取消映射命令可包含从第一存储器单元块(例如,SLC块)去除数据(例如,临时数据),如在命令中所指示。在一些情况下,执行取消映射命令可另外包含去除已从第一存储器单元块传送到第二存储器单元块(例如,TLC块)的数据(例如,临时数据)。

在一些实例中,可响应于周期性取消映射命令而周期性地(例如,在每夜基础上)进行过程流程400的步骤。因此,一或多个参数(如起始陈旧区域大小和每日删除TLC数据大小,以及其它实例)可基于过程流程400的先前迭代。另外或替代地,过程流程400的一或多个参数可独立于过程流程400的先前迭代,如可用陈旧区域大小,以及其它实例。

图5展示根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的存储器系统520的框图500。存储器系统520可以是如参考图1至4所描述的存储器系统的方面的实例。存储器系统520或其各种组件可以是用于进行如本文中所描述的用于存储器区域大小调整的技术的各种方面的构件的实例。举例来说,存储器系统520可包含命令管理器525、区域大小管理器530、阈值管理器535、数据传送管理器540或其任何组合。这些组件中的每一个可直接或间接地(例如,经由一或多个总线)彼此通信。

命令管理器525可配置为或以其它方式支持用于在存储器系统处接收去除与存储器单元块相关联的数据的命令的构件。区域大小管理器530可配置为或以其它方式支持用于至少部分地基于接收到命令来设定至少部分地基于数据的大小的第一区域大小的构件,第一区域大小包含存储器单元块中的第一组存储器单元且对应于包含待至少部分地基于接收到的命令来去除的数据的第一空间量。阈值管理器535可配置为或以其它方式支持用于确定第一区域大小是否满足至少部分地基于对应于可用于将数据存储在存储器单元块中的第二空间量的可用区域大小的阈值的构件。在一些实例中,区域大小管理器530可配置为或以其它方式支持用于至少部分地基于确定第一区域大小满足阈值来设定第二区域大小的构件,第二区域大小包含存储器单元块中的第二组存储器单元,其中第二区域大小小于或等于可用区域大小。在一些实例中,命令管理器525可配置为或以其它方式支持用于至少部分地基于设定第二区域大小来执行接收到的命令的构件。

在一些实例中,区域大小管理器530可配置为或以其它方式支持用于至少部分地基于第二空间量和对应于与存储器系统处的写入增压器相关联的第三空间量的第三区域大小来设定可用区域大小的构件。

在一些实例中,阈值管理器535可配置为或以其它方式支持用于确定第二空间量是否超出第二阈值的构件。在一些实例中,区域大小管理器530可配置为或以其它方式支持用于至少部分地基于确定第二空间量超出第二阈值来设定第三区域大小的构件。

在一些实例中,为了支持确定第一区域大小是否满足阈值,阈值管理器535可配置为或以其它方式支持用于确定数据的大小是否大于或等于可用区域大小的构件,其中设定第二区域大小是至少部分地基于确定数据的大小大于或等于可用区域大小。

在一些实例中,为了支持确定第一区域大小是否满足阈值,阈值管理器535可配置为或以其它方式支持用于确定数据的大小是否满足第二阈值的构件,其中设定第二区域大小是至少部分地基于确定数据的大小满足第二阈值。

在一些实例中,第二阈值与存储在存储器单元块、第二存储器单元块或两者中的数据相关联。

在一些实例中,区域大小管理器530可配置为或以其它方式支持用于至少部分地基于执行接收到的命令将第一区域大小重置为默认区域大小的构件。

在一些实例中,数据传送管理器540可配置为或以其它方式支持用于在设定第一区域大小之后将第二数据从存储器单元块传送到第二存储器单元块的构件,第二数据不同于与接收到的命令相关联的数据。

在一些实例中,存储器单元块包含单层级单元。在一些实例中,第二存储器单元块包含三层级单元。

在一些实例中,接收到的命令包含取消映射命令。

图6展示说明根据如本文中所公开的实例的支持用于存储器区域大小调整的技术的方法600的流程图。方法600的操作可由如本文中所描述的存储器系统或其组件实施。举例来说,方法600的操作可由如参考图1至5所描述的存储器系统进行。在一些实例中,存储器系统可执行一组指令以控制装置的功能元件进行所描述的功能。另外或替代地,存储器系统可使用专用硬件来进行所描述的功能的方面。

在605处,方法可包含在存储器系统处接收去除与存储器单元块相关联的数据的命令。可根据如本文中所公开的实例进行605的操作。在一些实例中,605的操作的方面可由如参考图5所描述的命令管理器525进行。

在610处,方法可包含至少部分地基于接收到命令来设定至少部分地基于数据的大小的第一区域大小,第一区域大小包含存储器单元块中的第一组存储器单元且对应于包含待至少部分地基于接收到的命令来去除的数据的第一空间量。可根据如本文中所公开的实例进行610的操作。在一些实例中,610的操作的方面可由如参考图5所描述的区域大小管理器530进行。

在615处,方法可包含确定第一区域大小是否满足至少部分地基于对应于可用于将数据存储在存储器单元块中的第二空间量的可用区域大小的阈值。可根据如本文中所公开的实例进行615的操作。在一些实例中,615的操作的方面可由如参考图5所描述的阈值管理器535进行。

在620处,方法可包含至少部分地基于确定第一区域大小满足阈值来设定第二区域大小,第二区域大小包含存储器单元块中的第二组存储器单元,其中第二区域大小小于或等于可用区域大小。可根据如本文中所公开的实例进行620的操作。在一些实例中,620的操作的方面可由如参考图5所描述的区域大小管理器530进行。

在625处,方法可包含至少部分地基于设定第二区域大小来执行接收到的命令。可根据如本文中所公开的实例进行625的操作。在一些实例中,625的操作的方面可由如参考图5所描述的命令管理器525进行。

在一些实例中,如本文中所描述的设备可进行一或多种方法,如方法600。所述设备可包含用于进行以下操作的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读介质):在存储器系统处接收去除与存储器单元块相关联的数据的命令;至少部分地基于接收到所述命令来设定至少部分地基于所述数据的大小的第一区域大小,所述第一区域大小包含所述存储器单元块中的第一组存储器单元且对应于包含待至少部分地基于接收到的命令来去除的数据的第一空间量;确定所述第一区域大小是否满足至少部分地基于对应于可用于将数据存储在所述存储器单元块中的第二空间量的可用区域大小的阈值;至少部分地基于确定所述第一区域大小满足所述阈值来设定第二区域大小,所述第二区域大小包含所述存储器单元块中的第二组存储器单元,其中所述第二区域大小小于或等于所述可用区域大小;和至少部分地基于设定所述第二区域大小来执行所述接收到的命令。

本文中所描述的方法600和设备的一些实例可进一步包含用于至少部分地基于所述第二空间量和对应于与所述存储器系统处的写入增压器相关联的第三空间量的第三区域大小来设定所述可用区域大小的操作、特征、电路系统、逻辑、构件或指令。

本文中所描述的方法600和设备的一些实例可进一步包含用于确定所述第二空间量是否超出第二阈值和至少部分地基于所述确定所述第二空间量超出所述第二阈值来设定所述第三区域大小的操作、特征、电路系统、逻辑、构件或指令。

在本文中所描述的方法600和设备的一些实例中,确定所述第一区域大小是否满足所述阈值可包含用于确定所述数据的所述大小是否可大于或等于所述可用区域大小的操作、特征、电路系统、逻辑、构件或指令,其中设定所述第二区域大小可以是至少部分地基于确定所述数据的所述大小可大于或等于所述可用区域大小。

在本文中所描述的方法600和设备的一些实例中,确定所述第一区域大小是否满足所述阈值可包含用于确定所述数据的所述大小是否满足第二阈值的操作、特征、电路系统、逻辑、构件或指令,其中设定所述第二区域大小可以是至少部分地基于确定所述数据的所述大小满足所述第二阈值。

在本文中所描述的方法600和设备的一些实例中,所述第二阈值可与存储在所述存储器单元块、第二存储器单元块或两者中的数据相关联。

本文中所描述的方法600和设备的一些实例可进一步包含用于至少部分地基于执行所述接收到的命令将所述第一区域大小重置为默认区域大小的操作、特征、电路系统、逻辑、构件或指令。

本文中所描述的方法600和设备的一些实例可进一步包含用于在设定所述第一区域大小之后将第二数据从所述存储器单元块传送到第二存储器单元块的操作、特征、电路系统、逻辑、构件或指令,所述第二数据不同于与所述接收到的命令相关联的所述数据。

在本文中所描述的方法600和设备的一些实例中,所述存储器单元块包含单层级单元且所述第二存储器单元块包含三层级单元。

在本文中所描述的方法600和设备的一些实例中,所述接收到的命令包含取消映射命令。

应注意,上文所描述的方法描述可能实施方案,且操作和步骤可重新布置或以其它方式加以修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。

描述一种设备。所述设备可包含:存储器装置;和控制器,其与所述存储器装置耦合且配置成使得所述设备:在所述存储器装置处接收去除与存储器单元块相关联的数据的命令;至少部分地基于接收到所述命令来设定至少部分地基于所述数据的大小的第一区域大小,所述第一区域大小包含所述存储器单元块中的第一组存储器单元且对应于包含待至少部分地基于接收到的命令来去除的数据的第一空间量;确定所述第一区域大小是否满足至少部分地基于对应于可用于将数据存储在所述存储器单元块中的第二空间量的可用区域大小的阈值;至少部分地基于确定所述第一区域大小满足所述阈值来设定第二区域大小,所述第二区域大小包含所述存储器单元块中的第二组存储器单元,其中所述第二区域大小小于或等于所述可用区域大小;和至少部分地基于设定所述第二区域大小来执行所述接收到的命令。

在一些实例中,所述设备可包含至少部分地基于所述第二空间量和对应于与所述存储器装置处的写入增压器相关联的第三空间量的第三区域大小来设定所述可用区域大小。

在一些实例中,所述设备可包含:确定所述第二空间量是否超出第二阈值;和至少部分地基于所述确定所述第二空间量超出所述第二阈值来设定所述第三区域大小。

在一些实例中,所述设备可包含确定所述数据的所述大小是否可大于或等于所述可用区域大小,其中设定所述第二区域大小可以是至少部分地基于确定所述数据的所述大小可大于或等于所述可用区域大小。

在一些实例中,所述设备可包含确定所述数据的所述大小是否满足第二阈值,其中设定所述第二区域大小可以是至少部分地基于确定所述数据的所述大小满足所述第二阈值。

在所述设备的一些实例中,所述第二阈值可与存储在所述存储器单元块、第二存储器单元块或两者中的数据相关联。

在一些实例中,所述设备可包含至少部分地基于执行所述接收到的命令将所述第一区域大小重置为默认区域大小。

在一些实例中,所述设备可包含在设定所述第一区域大小之后,将第二数据从所述存储器单元块传送到第二存储器单元块,所述第二数据不同于与所述接收到的命令相关联的所述数据。

在所述设备的一些实例中,所述存储器单元块包含单层级单元且所述第二存储器单元块包含三层级单元。

在所述设备的一些实例中,所述接收到的命令包含取消映射命令。

可使用各种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个以上描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些附图可将信号说明为单个信号;然而,所述信号可表示信号总线,其中所述总线可具有各种位宽度。

术语“电子通信”、“导电接触”、“连接”和“耦合”可指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么认为组件彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用如开关或晶体管的一或多个中间组件来中断所连接组件之间的信号的流动持续一段时间。

术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在所述开路关系中,信号当前不能够经由导电路径在所述组件之间传达,在所述闭路关系中,信号能够经由所述导电路径在所述组件之间传达。如果如控制器的组件将其它组件耦合在一起,那么组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。

术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,那么所述组件彼此隔离。举例来说,由位于两个组件之间的开关分隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,那么控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。

术语“如果”、“当……时”、“基于”,或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当……时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,那么术语可互换。

术语“响应于”可指由于先前条件或动作而至少部分地(如果不完全地)发生的一个条件或动作。举例来说,可进行第一条件或动作,且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。

另外,术语“直接地响应于”或“直接响应于”可指作为先前条件或动作的直接结果而发生的一个条件或动作。在一些实例中,可进行第一条件或动作,且可作为与是否发生其它条件或动作无关的先前条件或动作发生的结果而直接发生第二条件或动作。在一些实例中,可进行第一条件或动作,且可作为先前条件或动作发生的结果而直接发生第二条件或动作,使得在较早条件或动作与第二条件或动作之间不发生其它中间条件或动作,或在较早条件或动作与第二条件或动作之间发生有限数量的一或多个中间步骤或动作。除非另外规定,否则本文中描述为“基于”、“至少部分地基于”或“响应于”某一其它步骤、动作、事件或条件进行的任何条件或动作可另外或替代地(例如,在替代实例中)“直接响应于”或“直接地响应于”这种其它条件或动作而进行。

包含存储器阵列的本文中所论述的装置可形成于如硅、锗、硅锗合金、砷化镓、氮化镓等的半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(SOI)衬底,如玻璃上硅(SOG)或蓝宝石上硅(SOP),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物种的掺杂来控制衬底或衬底的子区的导电率。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方式来进行掺杂。

本文所论述的切换组件或晶体管可表示场效应晶体管(FET),且包括包含源极、漏极和栅极的三端子装置。端子可通过例如金属的导电材料连接到其它电子元件。源极和漏极可以是导电的,且可包括重度掺杂(例如,简并)的半导体区。源极与漏极可通过轻度掺杂的半导体区或沟道分隔开。如果沟道是n型(即,多数载流子是电子),那么FET可称为n型FET。如果沟道是p型(即,多数载流子是电洞),那么FET可称为p型FET。所述沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电率。举例来说,将正电压或负电压分别施加到n型FET或p型FET可使沟道变为导电的。如果大于或等于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“断开”或“去激活”。

本文中结合附图阐述的描述内容描述了实例配置,且并不表示可实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示例性”意指“充当实例、例子或说明”,且不比其它实例“优选”或“有利”。具体实施方式包含提供对所描述技术的理解的具体细节。然而,可在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式展示众所周知的结构和装置以免混淆所描述实例的概念。

在附图中,类似组件或特征可具有相同参考标记。另外,可通过在参考标记之后跟着连字符和在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果在说明书中仅使用第一参考标记,那么描述内容适用于具有相同第一参考标记而与第二参考标记无关的类似组件中的任一个。

本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合实施。如果以由处理器执行的软件实施,那么可将功能作为一或多个指令或代码存储在计算机可读介质上或经由计算机可读介质传输。其它实例和实施方案在本公开和所附权利要求书的范围内。举例来说,由于软件的本质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一个的组合来实施。实施功能的特征也可物理地位于各种位置处,包含分布以使得功能的各部分在不同物理位置处实施。

举例来说,结合本文中的公开所描述的各种说明性块和组件可用设计成进行本文中所描述的功能的通用处理器、DSP、ASIC、FPGA或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或进行。通用处理器可以是微处理器,但在替代方案中,处理器可以是任何处理器、控制器、微控制器或状态机。处理器可实施为计算装置的组合(例如,DSP与微处理器的组合、多个微处理器、结合DSP核心的一或多个微处理器,或任何其它这种配置)。

如本文中所使用,包含在权利要求书中,项目的列表(例如,以如“中的至少一个”或“中的一或多个”的短语开始的项目的列表)中所使用的“或”指示包含性列表,使得例如A、B或C中的至少一个的列表意指A或B或C,或AB或AC或BC,或ABC(即,A和B和C)。此外,如本文中所使用,短语“基于”不应理解为参考封闭条件组。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件A”的示例性步骤可基于条件A和条件B两者。换句话说,如本文中所使用,短语“基于”应同样地解释为短语“至少部分地基于”。

计算机可读介质包含非暂时性计算机存储介质和通信介质两者,其包含有助于将计算机程序从一处传送到另一处的任何介质。非暂时性存储介质可以是可由通用或专用计算机存取的任何可用介质。借助于实例而非限制,非暂时性计算机可读介质可包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、光盘(CD)ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于载送或存储呈指令或数据结构形式的所需程序代码方式且可由通用或专用计算机,或通用或专用处理器存取的任何其它非暂时性介质。此外,恰当地将任何连接称为计算机可读介质。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤电缆、双绞线、DSL或如红外线、无线电和微波的无线技术包含在介质的定义中。如本文中所使用的磁盘和光盘包含CD、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常是以磁性方式再现数据,而光盘是用激光以光学方式再现数据。以上各项的组合也包含在计算机可读介质的范围内。

提供本文中的描述以使所属领域的技术人员能够制造或使用本公开。所属领域的技术人员将显而易见对本公开的各种修改,且本文中所定义的一般原理可应用于其它变体而不脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是赋予与本文中所公开的原理和新颖特征一致的最广泛范围。

相关技术
  • 用于使用压缩加密进行的存储器重放防止的技术
  • 用于高速缓存持久二级存储器数据的技术
  • 用于针对加速器板提供共享存储器的技术
  • 一种用于图书馆可调整隔断区域大小的阅览桌
  • 一种用于图书馆可调整隔断区域大小的阅览桌
技术分类

06120115625191