一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

循环缓冲器分区的制作方法

2023-09-20 13:24:55 来源:中国专利 TAG:

循环缓冲器分区
1.交叉引用
2.本专利申请要求杜瓦尔(duval)在2022年3月17日申请的名称为“循环缓冲器分区(circular buffer partitions)”的美国专利申请第17/697,541号的优先权,所述美国专利申请转让给本受让人且以引用的方式明确并入本文中。
技术领域
3.技术领域涉及循环缓冲器分区。


背景技术:

4.存储器装置广泛用于将信息存储在例如计算机、用户装置、无线通信装置、相机、数字显示器等各种电子装置中。通过将存储器装置内的存储器单元编程为各种状态来存储信息。举例来说,二进制存储器单元可编程为两个所支持状态中的一个,通常对应于逻辑1或逻辑0。在一些实例中,单个存储器单元可支持多于两个可能的状态,所述状态中的任一个可由存储器单元存储。为了存取由存储器装置存储的信息,组件可读取(例如,感测、检测、检索、识别、确定、评估)存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入(例如,编程、设置、分配)到对应状态。
5.存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(ram)、只读存储器(rom)、动态ram(dram)、同步动态ram(sdram)、静态ram(sram)、铁电ram(feram)、磁性ram(mram)、电阻式ram(rram)、快闪存储器、相变存储器(pcm)、3维交叉点存储器(3d交叉点)、“或非”(nor)和“与非”(nand)存储器装置等。可在易失性配置或非易失性配置方面描述存储器装置。易失性存储器单元(例如,dram)除非被外部电源定期刷新,否则可能随着时间推移丢失其编程状态。非易失性存储器单元(例如,nand)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。


技术实现要素:

6.描述了一种方法。所述方法可包含在存储器装置内建立分区以操作为循环缓冲器,其中循环缓冲器与对应于第一物理块地址集的第一逻辑块地址集相关联;至少部分地基于与分区相关联的光标的位置而将第一数据存储到与循环缓冲器的所述第一物理块地址集相关联的第一块集;至少部分地基于将第一数据存储到与所述第一物理块地址集相关联的第一块集而识别触发事件;以及至少部分地基于识别触发事件而将第一数据的子集存储到第二块集。
7.描述了一种设备。所述设备可包含包括多个存储器单元的存储器装置;和与所述存储器装置耦合的控制器,其中所述控制器被配置成使得所述设备:在存储器装置内建立分区以操作为循环缓冲器,其中所述循环缓冲器与对应于第一物理块地址集的第一逻辑块地址集相关联;至少部分地基于与分区相关联的光标的位置而将第一数据存储到与循环缓冲器的所述第一物理块地址集相关联的第一块集;至少部分地基于将第一数据存储到与所
述第一物理块地址集相关联的第一块集而识别触发事件;以及至少部分地基于识别触发事件而将第一数据的子集存储到第二块集。
8.描述了一种非暂时性计算机可读媒体。所述非暂时性计算机可读媒体可存储包含指令的代码,所述指令在由电子装置的处理器执行时使得电子装置在存储器装置内建立分区以操作为循环缓冲器,其中所述循环缓冲器与对应于第一物理块地址集的第一逻辑块地址集相关联;至少部分地基于与分区相关联的光标的位置而将第一数据存储到与循环缓冲器的所述第一物理块地址集相关联的第一块集;至少部分地基于将第一数据存储到与所述第一物理块地址集相关联的第一块集而识别触发事件;以及至少部分地基于识别触发事件而将第一数据的子集存储到第二块集。
附图说明
9.图1说明根据如本文中所公开的实例的支持循环缓冲器分区的系统的实例。
10.图2说明根据如本文中所公开的实例的支持循环缓冲器分区的系统的实例。
11.图3a和3b说明根据如本文中所公开的实例的支持循环缓冲器分区的框图。
12.图4说明根据如本文中所公开的实例的支持循环缓冲器分区的过程流程图的实例。
13.图5展示根据如本文中所公开的实例的支持循环缓冲器分区的存储器系统控制器的框图。
14.图6展示根据如本文中所公开的实例的说明支持循环缓冲器分区的一或多种方法的流程图。
具体实施方式
15.存储器系统可包含一或多个存储器装置(例如,“与非”(nand)装置)。在一些实例中,存储器装置可根据黑匣子配置操作,所述黑匣子配置还可被称作顺序写入配置或严格顺序写入配置。黑匣子可为允许以安全方式(例如,写入受保护)连续且循序地写入数据(例如,大量数据)的存储器装置或存储器装置的一部分的实例。在一些实例中,黑匣子配置可支持高带宽操作且可经实施以按连续方式存储数据(例如,视频数据、传感器数据)。举例来说,根据黑匣子配置的存储器装置操作可使用指针以识别存储信息的位置而不是使用逻辑地址和物理地址。
16.在一些情况下,以黑匣子或严格顺序写入配置操作的存储器装置可接收可包含逻辑块地址(lba)的存取命令(例如,写入命令)。存储器装置可将lba转换为物理地址以促进使用逻辑到物理(l2p)表的数据存储。举例来说,存储器装置可将与数据相关联的lba转换为物理地址且接着将数据存储于由物理地址指示的位置处。存储l2p表且将lba转换为物理地址可消耗存储器资源(例如,非易失性存储器单元)、花费相当大量的时间,且将数据连续地写入到存储器装置的存储器单元可造成存储器装置的老化。具体来说,非易失性存储器单元可在其使用寿命期间支持有限数量的操作,并且因此,将数据连续地写入到所述单元可不利地影响存储器装置的使用寿命。因此,可需要用以改进支持黑匣子操作的存储器装置的寿命和效率的方法。
17.本文中描述用于改进支持黑匣子操作的存储器装置的寿命和效率的技术、方法和
装置。举例来说,可通过分割存储器装置的一或多个区段以操作为循环缓冲器来改进寿命和效率。如本文中所描述,循环缓冲器可指代有效地端对端连接的一或多个存储器单元。也就是说,数据可连续地写入到循环缓冲器,使得在将数据写入到循环缓冲器中的最末存储器单元之后,存储到循环缓冲器中的第一存储器单元的数据可经覆写。
18.循环缓冲器可包含对应于lba集合的物理块集合。在一些情况下,存储器装置可在不实施l2p表的情况下对循环缓冲器执行顺序写入操作,其中举例来说,可从循环缓冲器中如由光标(例如,标头指针)所指示的位置(例如,第一物理块)开始写入第一数据集。在写入第一数据集之后,光标可递增到循环缓冲器中的下一位置(例如,下一部位)且可从所述位置开始写入第二数据集。
19.此外,存储器装置可利用一或多个快照分区以防止一些数据被循环缓冲器的操作和环回覆写(例如,以防止写入到循环缓冲器的一些数据被覆写)。举例来说,一或多个存储器单元物理块可用于快照分区,使得当识别触发事件(例如,时间间隔、光标位置、例如运动传感器等一些外部触发器被激活)时,来自循环缓冲器的数据的子集可存储到快照分区。因此,当存储到循环缓冲器的数据被覆写时,可保留存储到快照分区的数据。通过利用用于一些黑匣子操作的循环缓冲器,存储器装置可在不使用l2p表的情况下执行写入操作,这可改进存储器装置的总寿命和性能。此外,通过利用循环缓冲器内的快照分区,可保留原本由于缓冲器的循环性质而被覆写的数据。
20.首先在参考图1和2的系统、装置和电路的上下文中描述本公开的特征。参考图3和4在系统和过程流程的上下文中描述本公开的特征。本公开的这些和其它特征进一步参考图5和6由涉及循环缓冲器分区的设备图和流程图说明且在所述设备图和流程图的上下文中描述。
21.图1说明根据如本文中所公开的实例的支持循环缓冲器分区的系统100的实例。系统100包含与存储器系统110耦合的主机系统105。
22.存储器系统110可为或包含任何装置或装置集合,其中所述装置或装置集合包含至少一个存储器阵列。例如,存储器系统110可为或包含通用快闪存储(ufs)装置、嵌入式多媒体控制器(emmc)装置、快闪装置、通用串行总线(usb)快闪装置、安全数字(sd)卡、固态硬盘(ssd)、硬盘驱动器(hdd)、双列直插式存储器模块(dimm)、小型dimm(so-dimm),或非易失性dimm(nvdimm),以及其它可能性。
23.系统100可包含在计算装置中,所述计算装置如台式计算机、膝上型计算机、网络服务器、移动装置、交通工具(例如,飞机、无人机、火车、汽车或其它运输工具)、具物联网(iot)功能的装置、嵌入式计算机(例如,包含在交通工具、工业设备或联网商业装置中的嵌入式计算机),或包含存储器和处理装置的任何其它计算装置。
24.系统100可包含可与存储器系统110耦合的主机系统105。在一些实例中,此耦合可包含与主机系统控制器106的接口,所述主机系统控制器可以是被配置成使得主机系统105根据如本文中所描述的实例执行各种操作的控制器或控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下,可包含处理器芯片组和由处理器芯片组执行的软件堆叠。例如,主机系统105可包含被配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存(例如,主机系统105本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,nvdimm控制器)和存储协议控制器
(例如,外围组件互连高速(pcie)控制器、串行高级技术附件(sata)控制器)。主机系统105可使用存储器系统110(例如)将数据写入到存储器系统110且从存储器系统110读取数据。尽管在图1中展示了一个存储器系统110,但主机系统105可与任何数量的存储器系统110耦合。
25.主机系统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耦合)。
26.存储器系统110可包含存储器系统控制器115和一或多个存储器装置130。存储器装置130可以包含任何类型的存储器单元(例如,非易失性存储器单元、易失性存储器单元,或其任何组合)的一或多个存储器阵列。尽管在图1的实例中展示两个存储器装置130-a和130-b,但存储器系统110可包含任何数量的存储器装置130。此外,如果存储器系统110包含多于一个存储器装置130,那么存储器系统110内的不同存储器装置130可包含相同或不同类型的存储器单元。
27.存储器系统控制器115可与主机系统105耦合并通信(例如,经由物理主机接口),并且可以是被配置成使得存储器系统110根据如本文所描述的实例执行各种操作的控制器或控制组件的实例。存储器系统控制器115还可与存储器装置130耦合并通信以在存储器装置130处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据或刷新数据,以及其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令且与一或多个存储器装置130通信以执行此些命令(例如,在所述一或多个存储器装置130内的存储器阵列处)。举例来说,存储器系统控制器115可从主机系统105接收命令或操作并且可将所述命令或操作转换成指令或适当命令以实现对存储器装置130的所要存取。在一些情况下,存储器系统控制器115可与主机系统105以及一或多个存储器装置130交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。例如,存储器系统控制器115可以将与存储器装置130相关联的响应(例如,数据分组或其它信号)转换成用于主机系统105的相应信号。
28.存储器系统控制器115可被配置成用于与存储器装置130相关联的其它操作。举例来说,存储器系统控制器115可执行或管理操作,例如耗损均衡操作、垃圾收集操作、错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、运行状况监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(lba))和与存储器装置130内的存储器单元相关联的物理地址(例如,物理块地址)之间的
地址转换。
29.存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路系统以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可为或包含微控制器、专用逻辑电路系统(例如,现场可编程门阵列(fpga)、专用集成电路(asic)、数字信号处理器(dsp)),或任何其它合适的处理器或处理电路系统。
30.存储器系统控制器115还可以包含本地存储器120。在一些情况下,本地存储器120可包含只读存储器(rom)或其它存储器,其可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能。在一些情况下,本地存储器120可另外或替代地包含静态随机存取存储器(sram)或由存储器系统控制器115使用以用于例如与本文中归于存储器系统控制器115的功能相关的内部存储或运算的其它存储器。
31.尽管图1中的存储器系统110的实例已说明为包含存储器系统控制器115,但在一些情况下,存储器系统110可不包含存储器系统控制器115。举例来说,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可在存储器装置130内部的一或多个本地控制器135以分别执行本文中归于存储器系统控制器115的功能。一般来说,本文中归于存储器系统控制器115的一或多个功能可在一些情况下替代地由主机系统105、本地控制器135或其任何组合执行。在一些情况下,至少部分地由存储器系统控制器115管理的存储器装置130可称为受管理存储器装置。受管理存储器装置的实例是受管理nand(mnand)装置。
32.存储器装置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)存储器单元。
33.在一些实例中,存储器装置130可以(例如,在同一裸片上或在同一封装内)包含本地控制器135,其可以对相应存储器装置130的一或多个存储器单元执行操作。本地控制器135可结合存储器系统控制器115操作,或可执行本文中归于存储器系统控制器115的一或多个功能。举例来说,如图1所说明,存储器装置130-a可以包含本地控制器135-a,且存储器装置130-b可以包含本地控制器135-b。
34.在一些情况下,存储器装置130可以是或包含nand装置(例如,nand快闪装置)。存储器装置130可以是或包含存储器裸片160。举例来说,在一些情况下,存储器装置130可为包含一或多个裸片160的封装。在一些实例中,裸片160可以是从晶片切割的一块电子级半导体(例如,从硅晶片切割的硅裸片)。每一裸片160可包含一或多个平面165,且每一平面165可包含相应的块集170,其中每一块170可包含相应的页集175,且每一页175可包含存储器单元集合。
35.在一些情况下,nand存储器装置130可包含被配置成各自存储一个信息位的存储器单元,所述存储器单元可被称为单层级单元(slc)。另外或替代地,nand存储器装置130可以包含被配置成各自存储多个信息位的存储器单元,如果被配置成各自存储两个信息位,那么所述存储器单元可以被称为多层级单元(mlc);如果被配置成各自存储三个信息位,那么可以被称为三层级单元(tlc);如果被配置成各自存储四个信息位,那么可以被称为四层级单元(qlc);或更一般地被称为多层级存储器单元。多层级存储器单元可相对于slc存储器单元提供更大的存储密度,但在一些情况下,可能涉及用于支持电路系统的更窄读取或写入裕度或更大复杂度。
36.在一些情况下,平面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共享的其它电路系统相关)。
37.在一些情况下,块170可包含组织成行(页175)和列(例如,串,未展示)的存储器单元。例如,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
38.对于一些nand架构,存储器单元可在第一粒度级别(例如,在页粒度级别)上进行读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)上进行擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元集)的最小单元,且块170可为可独立地擦除(例如,作为单个擦除操作的一部分同时擦除)的存储器(例如,存储器单元集)的最小单元。此外,在一些情况下,nand存储器单元可在其可用新数据重新写入之前被擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
39.在一些情况下,为了更新块170内的一些数据同时保留块170内的其它数据,存储器装置130可以将待保留的数据复制到新块170且将更新后的数据写入到新块170的一或多个其余页。存储器装置130(例如,本地控制器135)或存储器系统控制器115可将保持在旧块170中的数据标记或以其它方式指定为无效或过时的,并且可更新逻辑到物理(l2p)映射表以使数据的逻辑地址(例如,lba)与新的有效块170,而不是旧的无效块170相关联。举例来说,在一些情况下,由于时延或磨损考虑,可执行此类复制和重新映射,而不是擦除和重写整个旧块170。在一些情况下,l2p映射表的一或多个副本可存储在存储器装置130的存储器单元内(例如,一或多个块170或平面165内),以供本地控制器135或存储器系统控制器115使用(例如,参考和更新)。
40.系统100可包含支持循环缓冲器分区的任何数量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115或存储器装置130(例如,本地控制器135)可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述一或多个非暂时性计算机可读媒体存储用于执行本文中归于主机系统105、存储器系统控制器115或存储器装置130的功能的指令(例如,固件)。举例来说,此类指令如果由主机系统105(例如,由主机系统控制器106)、存储器系统控制器115或存储器装置130(例如,由本地控制器135)执行则可使主机系统105、存储器系统控制器115或存储器装置130执行本文描述的一或多个相关联功能。
41.在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例为受管理nand(mnand)系统。
42.在一些实例中,存储器系统110可根据黑匣子配置操作,其中数据连续地写入到一或多个存储器装置130。举例来说,黑匣子配置可支持高带宽和安全(例如,写入受保护)操作,例如在支持受限读取存取的同时存储连续数据流(例如,视频馈送数据、传感器数据)。在一些情况下,存储器装置130的一或多个部分可被配置为循环缓冲器,使得存储器系统控制器115可将数据连续地写入(且覆写)到相应循环缓冲器。
43.此外,循环缓冲器可各自支持如本文中所描述的一或多个快照分区。举例来说,循环缓冲器可与块集170-a相关联,使得当从主机系统105接收到数据时,存储器系统控制器115根据与块集170-a相关联的光标的位置(例如,部位)将数据写入到块集170-a。
44.在一些实例中,在发生触发事件后,存储到块集170-a的数据的子集(例如,存储到循环缓冲器的数据的子集)可存储到快照分区。在一些情况下,快照分区可与块集170-b相关联,使得当覆写存储到块集170-a的数据时,可保留数据的子集(例如,存储到快照分区的数据)。通过利用用于一些黑匣子操作的循环缓冲器,存储器系统110可在不使用l2p表的情况下执行写入操作,这可针对一些使用情况(例如,存储连续数据流)改进其总寿命和性能。此外,通过利用循环缓冲器内的快照分区,可保留原本由于缓冲器的循环性质而被覆写的数据。
45.图2说明根据如本文中所公开的实例的支持循环缓冲器分区的系统200的实例。系统200可以是参考图1或其方面描述的系统100的实例。系统200可包含存储器系统210,其被配置成存储从主机系统205接收到的数据且在由主机系统205使用存取命令(例如,读取命令、写入命令、获得命令、设置命令等)请求时将数据发送到主机系统205。系统200可实施参考图1所描述的系统100的方面。例如,存储器系统210和主机系统205可分别是存储器系统110和主机系统105的实例。
46.存储器系统210可包含存储器装置240,以例如响应于从主机系统205接收到存取命令而存储在存储器系统210与主机系统205之间传送的数据,如本文中所描述。存储器装置240可包含参考图1所描述的一或多个存储器装置。举例来说,存储器装置240可包含nand存储器、pcm、自选存储器、3d交叉点、其它基于硫族化物的存储器、feram、mram、nor(例如,nor快闪)存储器、stt-mram、cbram、rram,或oxram。
47.存储器系统210可包含存储控制器230以用于控制直接进出存储器装置240的数据的传递,例如用于存储数据、检索数据,和确定待将数据存储在其中和待从其检索数据的存
储器位置。存储控制器230可使用特定于每一类型的存储器装置240的协议直接或经由总线(未展示)与存储器装置240通信。在一些情况下,单个存储控制器230可用于控制相同或不同类型的多个存储器装置240。在一些情况下,存储器系统210可包含多个存储控制器230,例如,对于每种类型的存储器装置240不同的存储控制器230。在一些情况下,存储控制器230可实施参考图1描述的本地控制器135的各方面。
48.存储器系统210可另外包含用于与主机系统205通信的接口220和用于在主机系统205与存储器装置240之间传送的数据的临时存储的缓冲器225。接口220、缓冲器225和存储控制器230可用于在主机系统205与存储器装置240之间转换数据,例如,如由数据路径250所示,并且可以统称为数据路径组件。
49.在传送期间使用缓冲器225临时地存储数据可允许在处理命令时缓冲数据,由此减少命令之间的时延且允许与命令相关联的任意数据大小。这还可允许处理命令突发,且一旦突发停止,就可存储或传输(或这两者)经缓冲数据。缓冲器225可包含相对快速的存储器(例如,一些类型的易失性存储器,例如sram或dram)或硬件加速器或这两者,以允许快速存储和检索进出缓冲器225的数据。缓冲器225可包含用于缓冲器225与其它组件之间的双向数据传送的数据路径切换组件。
50.数据在缓冲器225内的临时存储可指在执行存取命令期间数据在缓冲器225中的存储。也就是说,在完成存取命令后,相关联数据可能不再维持在缓冲器225中(例如,可用额外存取命令的数据覆写)。此外,缓冲器225可以是非高速缓存缓冲器。也就是说,主机系统205可不直接从缓冲器225读取数据。举例来说,可将读取命令添加到队列中,而无需进行将地址与缓冲器225中已经存在的地址进行匹配的操作(例如,没有高速缓存地址匹配或查找操作)。
51.存储器系统210可另外包含用于执行从主机系统205接收到的命令且在移动数据时控制数据路径组件的存储器系统控制器215。存储器系统控制器215可以是如参考图1所描述的存储器系统控制器115的实例。总线235可用于在系统组件之间通信。
52.在一些情况下,一或多个队列(例如,命令队列260、缓冲器队列265和存储队列270)可用于控制存取命令的处理和对应数据的移动。举例来说,如果由存储器系统210并行处理来自主机系统205的多于一个存取命令,那么这可以是有益的。作为可能实施方案的实例,分别在接口220、存储器系统控制器215和存储控制器230处描绘命令队列260、缓冲器队列265和存储队列270。然而,如果使用的话,那么队列可位于存储器系统210内的任何位置。
53.在主机系统205与存储器装置240之间传送的数据可在存储器系统210中采用与非数据信息(例如,命令、状态信息)不同的路径。举例来说,存储器系统210中的系统组件可使用总线235彼此通信,而数据可通过数据路径组件而非总线235使用数据路径250。存储器系统控制器215可通过经由总线235与数据路径组件通信(例如,使用特定于存储器系统210的协议)而控制如何及是否在主机系统205与存储器装置240之间传送数据。
54.如果主机系统205将存取命令传输到存储器系统210,那么命令可由接口220例如根据协议(例如,ufs协议或emmc协议)接收。因此,可将接口220视为存储器系统210的前端。在接收到每一存取命令后,接口220可例如经由总线235将命令传送到存储器系统控制器215。在一些情况下,可通过接口220将每一命令添加到命令队列260,以将命令传达到存储器系统控制器215。
55.存储器系统控制器215可确定存取命令已基于来自接口220的通信接收到。在一些情况下,存储器系统控制器215可确定存取命令已经通过从命令队列260检索命令而接收到。命令可在它已经从命令队列260检索到之后从其移除,例如,通过存储器系统控制器215。在一些情况下,存储器系统控制器215可使接口220例如经由总线235从命令队列260移除命令。
56.在确定已接收到存取命令后,存储器系统控制器215就可执行存取命令。对于读取命令,这可意味着从存储器装置240获得数据以及将数据传输到主机系统205。对于写入命令,这可意味着从主机系统205接收数据并将数据移动到存储器装置240。
57.在任一情况下,存储器系统控制器215可使用缓冲器225临时存储从主机系统205接收或发送到所述主机系统的数据,以及其它用处。缓冲器225可被视为存储器系统210的中端。在一些情况下,缓冲器地址管理(例如,寻址缓冲器225中的位置的指针)可由接口220、缓冲器225或存储控制器230中的硬件(例如,专用电路)执行。
58.为了处理从主机系统205接收到的写入命令,存储器系统控制器215可首先确定缓冲器225是否具有足够可用空间来存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与写入命令相关联的数据的空间量。
59.在一些情况下,缓冲器队列265可用于控制与存储在缓冲器225中的数据相关联的命令流,包含写入命令。缓冲器队列265可包含与当前存储在缓冲器225中的数据相关联的存取命令。在一些情况下,命令队列260中的命令可通过存储器系统控制器215移动到缓冲器队列265,并且可在相关联数据存储在缓冲器225中的同时保持在缓冲器队列265中。在一些情况下,缓冲器队列265中的每一命令可与缓冲器225处的地址相关联。也就是说,可维持指示与每一命令相关联的数据存储在缓冲器225中何处的指针。使用缓冲器队列265,可从主机系统205循序接收多个存取命令且可并行处理存取命令的至少若干部分。
60.如果缓冲器225具有足够空间来存储写入数据,那么存储器系统控制器215可使得接口220例如根据协议(例如,ufs协议或emmc协议)将可用性的指示传输到主机系统205(例如,“准备好传送”指示)。当接口220随后从主机系统205接收与写入命令相关联的数据时,接口220可使用数据路径250将数据传送到缓冲器225以用于临时存储。在一些情况下,接口220可从缓冲器225或缓冲器队列265获得缓冲器225内的存储数据的位置。接口220可例如经由总线235向存储器系统控制器215指示是否已完成到缓冲器225的数据传送。
61.一旦写入数据已经通过接口220存储在缓冲器225中,数据可以传送到缓冲器225之外并存储于存储器装置240中。这可以使用存储控制器230完成。例如,存储器系统控制器215可使存储控制器230使用数据路径250检索缓冲器225之外的数据,并将数据传送到存储器装置240。存储控制器230可被视为存储器系统210的后端。存储控制器230可例如经由总线235向存储器系统控制器215指示去往存储器装置240的存储器装置的数据传送已经完成。
62.在一些情况下,存储队列270可用于辅助写入数据的传送。例如,存储器系统控制器215可将写入命令从缓冲器队列265推送(例如,经由总线235)到存储队列270以供处理。存储队列270可包含用于每一存取命令的条目。在一些实例中,存储队列270可另外包含:缓冲器指针(例如,地址),其可指示在缓冲器225中何处存储与命令相关联的数据;及存储指
针(例如,地址),其可指示存储器装置240中与数据相关联的位置。在一些情况下,存储控制器230可从缓冲器225、缓冲器队列265或存储队列270获得缓冲器225内待从其获得数据的位置。存储控制器230可管理存储器装置240内的存储数据(例如,执行耗损均衡、垃圾收集等)的位置。可例如通过存储器系统控制器215将条目添加到存储队列270。在完成数据的传送后,可例如通过存储控制器230或存储器系统控制器215从存储队列270移除条目。
63.为了处理从主机系统205接收到的读取命令,存储器系统控制器215可再次首先确定缓冲器225是否具有足够可用空间以存储与命令相关联的数据。举例来说,存储器系统控制器215可例如经由固件(例如,控制器固件)确定在缓冲器225内可用于存储与读取命令相关联的数据的空间量。
64.在一些情况下,缓冲器队列265可用于以与上文关于写入命令所论述的类似方式来辅助与读取命令相关联的数据的缓冲器存储。举例来说,如果缓冲器225具有足够空间存储读取数据,那么存储器系统控制器215可使存储控制器230从存储器装置240检索与读取命令相关联的数据且使用数据路径250将数据存储在缓冲器225中以供临时存储。存储控制器230可例如经由总线235向存储器系统控制器215指示何时已完成到缓冲器225的数据传送。
65.在一些情况下,存储队列270可用于辅助读取数据的传送。例如,存储器系统控制器215可将读取命令推送到存储队列270以供处理。在一些情况下,存储控制器230可从缓冲器225或存储队列270获得存储器装置240内的从其检索数据的位置。在一些情况下,存储控制器230可从缓冲器队列265获得缓冲器225内用以存储数据的位置。在一些情况下,存储控制器230可从存储队列270获得缓冲器225内的存储数据的位置。在一些情况下,存储器系统控制器215可将由存储队列270处理的命令移动回到命令队列260。
66.一旦数据已由存储控制器230存储在缓冲器225中,可将数据传送出缓冲器225且发送到主机系统205。例如,存储器系统控制器215可使接口220使用数据路径250从缓冲器225中检索出数据,并且例如根据协议(例如,ufs协议或emmc协议)将数据传输到主机系统205。举例来说,接口220可处理来自命令队列260的命令,且可例如经由总线235向存储器系统控制器215指示已完成到主机系统205的数据传输。
67.存储器系统控制器215可根据次序(例如,根据命令队列260的次序,以先进先出次序)执行所接收命令。对于每一命令,存储器系统控制器215可使得对应于命令的数据移动进出缓冲器225,如上文所论述。当数据移动到缓冲器225中且存储在所述缓冲器内时,命令可保持在缓冲器队列265中。如果已完成对命令的处理(例如,如果已从缓冲器225传送出对应于存取命令的数据),那么可例如通过存储器系统控制器215从缓冲器队列265移除命令。如果从缓冲器队列265移除命令,那么先前存储与所述命令相关联的数据的地址可用于存储与新命令相关联的数据。
68.存储器系统控制器215可另外被配置成用于与存储器装置240相关联的操作。例如,存储器系统控制器215可以执行或管理操作,例如耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、媒体管理操作、后台刷新、运行状况监测以及与来自主机系统205的命令相关联的逻辑地址(例如,lba)和与存储器装置240内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。也就是说,主机系统205可以发出指示一或多个lba的命令,并且存储器系统控制器215可以识
别由lba指示的一或多个物理块地址。在一些情况下,一或多个连续lba可对应于不连续的物理块地址。在一些情况下,存储控制器230可被配置成结合或代替存储器系统控制器215执行上述操作中的一或多者。在一些情况下,存储器系统控制器215可以执行存储控制器230的功能,并且可以省略存储控制器230。
69.在一些实例中,存储器系统210可根据黑匣子配置操作,其中数据连续地写入到一或多个存储器装置240。举例来说,黑匣子配置可支持高带宽和安全(例如,写入受保护)操作,例如在支持受限读取存取的同时存储连续数据流(例如,视频馈送数据、传感器数据)。在一些情况下,存储器装置240的一或多个部分可被配置为循环缓冲器,使得存储器系统控制器215可将数据连续地写入(且覆写)到相应循环缓冲器。
70.此外,循环缓冲器可各自支持如本文中所描述的一或多个快照分区。举例来说,循环缓冲器可与块集(例如,第一块集)相关联,使得当从主机系统205接收到数据时,存储器系统控制器215根据与块集相关联的光标的位置(例如,部位)而将数据写入到块集。
71.在一些实例中,在发生触发事件后,存储到块集的数据的子集(例如,存储到循环缓冲器的数据的子集)可存储到快照分区。在一些情况下,快照分区可与块集(例如,第二块集;不同块集)相关联,使得当覆写存储到第一块集的数据时,可保留数据的子集(例如,存储到快照分区的数据)。通过利用用于某些黑匣子操作的循环缓冲器,存储器系统210可在不使用l2p表的情况下执行写入操作,这可改进其总寿命和性能。此外,通过利用循环缓冲器内的快照分区,可保留原本由于缓冲器的循环性质而被覆写的数据。
72.图3a说明根据如本文中所公开的实例的支持循环缓冲器分区的框图300-a的实例。框图300-a可为如参考图1和2所描述的存储器系统的部分。框图300-a可包含循环缓冲器305-a和快照分区325-a,其可实施于如参考图1和2所描述的一或多个存储器装置中。存储器系统还可包含使用l2p表的其它分区和用于使用逻辑地址和物理地址写入和读取数据的其它方式。循环缓冲器305-a和快照分区325-a可根据如参考图1所描述的黑匣子配置操作。通过利用用于一些黑匣子操作(例如,用于一些严格顺序写入操作)的循环缓冲器305-a,相关联存储器系统可在不使用l2p表的情况下执行写入操作,这可改进其总体耐久性和性能。此外,通过利用循环缓冲器305-a内的快照分区325-a,可保留原本由于缓冲器的循环性质而被覆写的数据。
73.在一些实例中,可基于相关联存储器控制器接收到命令(例如,设置命令;第一命令)而建立循环缓冲器305-a和快照分区325-a。在接收到设置命令后,可指定第一数量的物理块操作为循环缓冲器305-a且可指定第二数量的物理块操作为快照分区325-a。设置命令可指定循环缓冲器305-a的大小(例如,物理块的数量)和相关联lba的范围。
74.另外或替代地,设置命令可指定包含于循环缓冲器305-a内的快照分区325-a的数量、快照分区325-a的大小(例如,与每一快照分区325-a相关联的物理块的数量),和循环缓冲器305-a内的快照分区325-a的部位。在一些实例中,设置命令还可指定用于将数据保存到快照分区325-a的一或多个触发事件。在一些实例中,设置配置向系统300指示触发事件配置,其中所述触发事件可使得系统300将数据从循环缓冲器305-a存储到快照分区325-a。
75.在一些情况下,设置命令可建立多于一个循环缓冲器305-a和一个快照分区325-a。举例来说,设置命令可建立多个循环缓冲器305-a、循环缓冲器305-a内的多个快照分区325-a或这两者。尽管参考设置命令进行描述,但在一些实例中,循环缓冲器305-a和快照分
区325-a可在相关联存储器装置的制造期间配置,或另外可在不存在特定命令的情况下建立。
76.循环缓冲器305-a可与物理块310-a到310-n相关联,其中物理块310-a到310-n为存储器装置中包含的物理块的子集。物理块310-a到310-n可各自对应于相应lba。也就是说,物理块310-a(例如,物理块0)可对应于lba0且物理块310-n(例如,物理块n)可对应于lba n。因此,循环缓冲器305-a可与对应于物理块范围(例如,物理块310-a到物理块310-n)的lba范围相关联。
77.使每一物理块与相应lba相关联可以允许在不使用l2p表的情况下将数据循序写入到循环缓冲器305-a且重新使用通常用于使用l2p表的分区的写入命令。举例来说,可使用光标320-a(例如,标头指针)而不是使用l2p表将数据写入到循环缓冲器305-a。存储器系统可接收针对使用循环缓冲器配置的分区的特殊命令。替代地,一或多个逻辑地址可与使用循环缓冲器配置的分区相关联。存储器系统可响应于接收到写入命令而将数据写入到使用循环缓冲器配置的分区,所述写入命令包含来自与使用循环缓冲器配置的分区相关联的一或多个逻辑地址的逻辑地址。光标320-a可指示循环缓冲器305-a中的位置(例如,物理块;物理地址),其中响应于接收到写入到使用循环缓冲器配置的分区的命令而将数据写入到所述位置。也就是说,当相关联存储器装置接收到命令(例如,写入命令;第三命令)时,可从光标320-a的位置开始将第一数据写入到循环缓冲器305-a且可从其上循序写入第一数据。在一些实例中,第一数据可在第一时间写入到循环缓冲器305-a。
78.在将第一数据写入到循环缓冲器305-a之后,可更新光标320-a的位置使得紧接在第一数据之后将第二数据(例如,与后一写入命令相关联的数据)写入到循环缓冲器305-a。通过以此方式将数据写入到循环缓冲器305-a,当写入到循环缓冲器305-a时,存储器控制器可不利用l2p表。替代地,当接收到写入命令时,存储器控制器可确定相关联lba是否在与循环缓冲器305-a相关联的lba的范围内。如果lba在所述范围内,那么相关联数据可基于光标320-a的位置写入到循环缓冲器305-a。
79.在一些情况下,由于其循环性质,循环缓冲器305-a可重复所描述的程序以执行顺序写入操作。举例来说,光标320-a可到达循环缓冲器305-a中的最末物理地址(例如,物理块310-n),并且在将数据存储于所述最末物理地址处之后,光标320-a可递增(例如,环绕)到循环缓冲器305-a中的第一物理地址(例如,物理块310-a)。先前写入到循环缓冲器305-a的数据可接着通过后续写入操作覆写。在一些情况下,保留存储到循环缓冲器305-a的一些数据可能是有益的。因此,如本文中所描述,可基于触发事件的发生而保留存储到快照分区325-a的数据。
80.在一些情况下,与循环缓冲器305-a和快照分区325-a相关联的存储器控制器可识别用于将数据存储到快照分区325-a的触发事件。举例来说,触发事件可包含光标320-a的位置、写入到循环缓冲器305-a的数据数量、写入操作的持续时间,或另一事件的发生。仅出于示例性目的,如参考图3a所描述,可基于光标320-a的位置发生触发事件。因此,当光标320-a的位置经过特定地址(例如,特定物理块310)时,存储到循环缓冲器305-a的数据子集315(例如,存储到循环缓冲器305-a的子集的数据)可存储到快照分区325-a。
81.举例来说,第一数据可存储到循环缓冲器305-a(例如,第一数据可存储到块310-a到310-n)。当光标320-a超出特定地址(例如,块310-e)时,数据子集315可存储到快照分区
325-a。如本文中所描述,数据子集315的大小可由设置命令指定或可另外基于相关联存储器装置的一或多个设置建立。因此,数据子集315可包含来自物理块310中的一或多个的数据。
82.触发事件还可为存储器系统外部的某一指示。举例来说,如果将循环缓冲器用作安全系统的部分,那么运动传感器或其它事件检测可触发正保存的循环缓冲器的快照。在此类实例中,主机系统可检测触发事件且可请求存储器系统将循环缓冲器305-a的快照保存在快照分区325-a中。
83.快照分区325-a可包含物理块330-a到330-n。在一些实例中,快照分区325-a的物理块330可不同于循环缓冲器305-a的物理块310。举例来说,物理块330可位于存储器装置的不同部分(例如,不同存储体或不同阵列)中或可另外指定为用于一或多个快照分区325-a的块330。
84.另外或替代地,快照分区325-a相较于循环缓冲器305-a可包含较少物理块。在一些情况下,快照分区325-a可组织成一或多个时隙,其中每一时隙包含物理块330中的一或多个。时隙可在触发事件之后存储数据子集315。快照分区325-a中的时隙数量和每一时隙的大小和位置(例如,物理地址)可基于设置命令配置,如本文中所描述。
85.如本文中所描述,数据子集315可基于触发事件写入到快照分区325-a。在一些情况下,数据子集315可从循环缓冲器305复制(例如,数据子集315可在写入到快照分区325-a之后保持存储到循环缓冲器305-a)。在一些情况下,快照分区325-a还可维持光标(未展示)且因此数据子集315可基于其光标的位置而写入到快照分区325-a。与快照分区325-a相关联的光标可接着在写入数据子集315之后递增到快照分区325-a中的下一时隙。因此,在一些情况下,快照分区325-a可类似地操作为循环缓冲器305-a(例如,以循环方式)。
86.在一些实例中,与循环缓冲器305-a和快照分区325-a相关联的存储器装置可从主机系统接收命令(例如,获得命令;第二命令)。获得命令可为对光标320-a的当前位置(例如,光标320-a的当前物理地址)的请求。在一些实例中,通过知晓光标320-a的位置,主机系统可能够读取循环缓冲器305-a的所要部分(例如,而不必读取整个循环缓冲器305-a的内容)。通过利用用于一些黑匣子操作(例如,用于一些严格顺序写入操作)的循环缓冲器305-a,相关联存储器系统可在不使用l2p表的情况下执行写入操作,这可改进其总寿命和性能。此外,通过利用循环缓冲器305-a内的快照分区325-a,可保留原本由于缓冲器的循环性质而被覆写的数据。
87.图3b说明根据如本文中所公开的实例的支持循环缓冲器分区的框图300-b的实例。在一些实例中,框图300-b可说明在第二时间(例如,在如参考图3a所描述的第一时间之后)操作如图3a中所描述的框图300-a的实例。
88.循环缓冲器305-b可说明循环缓冲器305-a在第二时间的操作。也就是说,循环缓冲器305-b可与物理块310-a到310-n相关联,其中物理块310-a到310-n为存储器装置中包含的物理块的子集。物理块310-a到310-n可各自对应于相应lba。也就是说,物理块310-a(例如,物理块0)可对应于lba 0且物理块310-n(例如,物理块n)可对应于lban。因此,循环缓冲器305-a可与对应于物理块范围(例如,物理块310-a到物理块310-n)的lba范围相关联。在一些实例中,光标320-b可能已相对于光标320-a递增n次。举例来说,相关联存储器装置可能已接收到一或多个写入命令(例如,第三命令),从而使得光标320-b相对于图3a递
增。
89.在一些情况下,与循环缓冲器305-b和快照分区325-b相关联的存储器控制器可识别用于将数据存储到快照分区325-b的触发事件。举例来说,触发事件可包含光标320-b的位置、写入到循环缓冲器305-b的数据数量、写入操作的持续时间,或另一事件的发生。仅出于示例性目的,可基于光标320-b的位置发生触发事件。因此,当光标320-a的位置经过特定地址(例如,特定物理块310)时,存储到循环缓冲器305-b的数据子集340(例如,存储到循环缓冲器305-b的子集的数据)可存储到快照分区325-b。
90.在一些情况下,数据子集340可从循环缓冲器305-b复制(例如,数据子集340可在写入到快照分区325-b之后保持存储到循环缓冲器305-b)。另外或替代地,数据子集340可连同如参考图3a所描述的数据子集315一起存储。快照分区325-b还可维持光标(未展示)且因此数据子集340可在数据子集315之后写入(例如,到在存储数据子集315的地址之后的地址)。在其它实例中,尽管图3b中未展示,但快照分区325-b可以循环方式操作,这可使得数据子集315被数据子集340覆写。尽管存储到快照分区325-b的数据可被覆写,但快照分区325-b相较于循环缓冲器305-b可经受较少写入命令,因此使得其数据被覆写的频率较低。
91.图4说明根据如本文中所公开的实例的支持循环缓冲器分区的过程流程图400的实例。过程流程图400可说明存储器系统405和主机系统425的操作。存储器系统405可包含存储器系统控制器410、第一物理块集415和第二物理块集420。在一些实例中,存储器系统405和主机系统425可为关于图1和2所描述的对应装置的实例。另外或替代地,第一物理块集415可与循环缓冲器305相关联且第二物理块集可与快照分区325相关联,如参考图3a和3b所描述。
92.可实施以下过程流程的替代实例,其中一些步骤以与所描述不同的次序执行或不执行。在一些情况下,步骤可包含下文未提到的额外特征,或者可以添加其它步骤。通过利用用于一些黑匣子操作(例如,用于一些严格顺序写入操作)的循环缓冲器,相关联存储器系统可在不使用l2p表的情况下执行写入操作,这可改进其总寿命和性能。此外,通过利用循环缓冲器内的快照分区,可保留原本由于缓冲器的循环性质而被覆写的数据。
93.在一些情况下,存储器系统405可包含一或多个存储器装置(例如,nand存储器装置)。在一些实例中,存储器装置可包含多个物理块,其中举例来说,存储器装置可包含第一物理块集415和第二物理块集420。另外或替代地,存储器系统控制器410可被配置成对第一物理块集415和第二物理块集420执行存取操作(例如,读取操作、写入操作)。
94.在430处,主机系统425可将设置命令(例如,第一命令)传输到存储器系统405。在一些实例中,如本文中所描述,设置命令可在存储器系统405处建立循环缓冲器和快照分区。举例来说,设置命令可包含循环缓冲器的大小和快照分区的指示且可包含待建立的快照分区的数量以及分区中的每一个的部位。在一些实例中,设置命令还可指定用于将数据存储到快照分区的触发事件。尽管未展示,但存储器系统控制器410可在从主机系统425传输命令后接收设置命令。
95.在435处,存储器系统控制器410可建立循环缓冲器和快照分区。在一些实例中,存储器系统控制器410可响应于接收到设置命令(例如,在430处)而建立循环缓冲器和快照分区。如本文中所描述,存储器系统405可包含多个物理块,并且因此,存储器系统控制器410可指定物理块的子集操作为循环缓冲器。
96.在一些情况下,存储器系统控制器410可指定第一物理块集415操作为循环缓冲器。第一物理块集415中的每一物理块可与相应lba相关联,使得当存储器系统控制器410接收到包含所述范围内的lba的写入命令时,相关联数据可写入(例如,循序写入)到第一物理块集415。另外或替代地,存储器系统控制器410可指定第二物理块集420操作为快照分区。
97.在440处,主机系统425可将写入命令(例如,第三命令)传输到存储器系统405。在一些情况下,写入命令可由存储器系统控制器410接收。如本文中所描述,写入命令可包含数据和lba。
98.在445处,存储器系统控制器410可确定写入命令中包含的lba是否在与第一物理块集415相关联的lba的范围内。所述数据可基于所述lba包含于与第一物理块集415相关联的lba的范围内而写入到第一物理块集415。在450处,存储器系统控制器410可基于与写入命令相关联的lba包含于与第一物理块集415相关联的lba的范围内而将与写入命令相关联的数据写入到第一物理块集415。如本文中所描述,写入操作可从光标的位置开始且可循序进行。此外,例如接收写入命令(例如,在440处)、确定lba是否在lba的特定范围内(例如,在445处)和将数据存储到第一物理块集415(例如,在450处)等操作可在以黑匣子配置(例如,严格顺序写入配置)操作的存储器系统405上频繁地进行。
99.在455处,存储器系统控制器410可识别触发事件。在一些实例中,存储器系统控制器410可基于将数据存储到第一物理块集415而识别触发事件。也就是说,可基于光标(例如,如参考图3a和3b所描述的光标320)的位置发生触发事件。因为可在写入操作之后更新光标的位置,所以可在将数据存储到第一物理块集415(例如,在450处)之后发生触发事件。尽管未展示,但在其它实例中,可基于从主机系统425接收到命令而发生触发事件。
100.在460处,存储器系统控制器410可将数据的子集从第一物理块集415存储到第二物理块集420。在一些实例中,存储器系统控制器410可响应于识别触发事件而存储数据的子集。因此,存储器系统控制器410可基于与第二物理块集420相关联的光标的位置而将数据的子集存储到第二物理块集420。在一些情况下,与第二物理块集420相关联的光标可在存储数据的子集之后递增。
101.在465处,主机系统425可将获得命令(例如,第二命令)传输到存储器系统405。在一些实例中,如本文中所描述,获得命令可请求与循环缓冲器相关联的光标的当前位置。在一些实例中,通过知晓光标的位置,主机系统425可能够读取循环缓冲器的所要部分而不必读取整个循环缓冲器的内容。在470处,存储器系统控制器410可将信令传输到主机系统425。在一些实例中,所述信令可响应于获得命令且可包含与循环缓冲器相关联的光标位置的指示。另外或替代地,尽管图4中未展示,但可在将信令传输到主机系统425(例如,在470处)之后进行读取命令。
102.在475处,主机系统425可将写入命令(例如,第二写入命令)传输到存储器系统405。第二写入命令可由存储器系统控制器410接收且可包含第二数据和lba。在480处,存储器系统控制器410可确定第二写入命令中包含的lba是否在与第一物理块集415相关联的lba的范围内。所述数据可基于所述lba包含于与第一物理块集415相关联的lba的范围内而写入到第一物理块集415。
103.在485处,存储器系统控制器410可基于与写入命令相关联的lba包含于与第一物理块集415相关联的lba的范围内而将与写入命令相关联的第二数据写入到第一物理块集
415。
104.仅出于示例性目的,与循环缓冲器相关联的光标的位置可使得先前写入的数据(例如,在450处写入的数据)可由第二数据覆写。如本文中所描述,这可由于循环缓冲器的循环性质。然而,尽管数据被覆写,但数据的快照(例如,在460处存储的快照,其可包含数据的至少一部分)可保持存储到快照分区。通过利用用于某些黑匣子操作(例如,用于某些严格顺序写入操作)的循环缓冲器,相关联存储器系统可在不使用l2p表的情况下执行写入操作,这可改进其总寿命和性能。此外,通过利用循环缓冲器内的快照分区,可保留原本由于缓冲器的循环性质而被覆写的数据。
105.图5展示根据如本文中所公开的实例的支持循环缓冲器分区的存储器系统控制器520的框图500。存储器系统控制器520可以是如参考图1到4所描述的存储器系统控制器的各方面的实例。存储器系统控制器520或其各种组件可为用于执行如本文中所描述的循环缓冲器分区的各种方面的构件的实例。举例来说,存储器系统控制器520可包含分区组件525、存储组件530、识别组件535、接收组件540、传输组件545、确定组件550、更新组件555或其任何组合。这些组件中的每一个可直接地或间接地(例如经由一或多个总线)彼此通信。
106.分区组件525可被配置为或以其它方式支持用于在存储器装置内建立分区以操作为循环缓冲器的构件,其中所述循环缓冲器与对应于第一物理块地址集的第一逻辑块地址集相关联。存储组件530可被配置为或以其它方式支持用于至少部分地基于与分区相关联的光标的位置而将第一数据存储到与循环缓冲器的所述第一物理块地址集相关联的第一块集的构件。识别组件535可被配置为或以其它方式支持用于至少部分地基于将第一数据存储到与所述第一物理块地址集相关联的第一块集而识别触发事件的构件。在一些实例中,存储组件530可被配置为或以其它方式支持用于至少部分地基于识别触发事件而将第一数据的子集存储到第二块集的构件。
107.在一些实例中,接收组件540可被配置为或以其它方式支持用于接收建立分区的第一命令的构件,其中所述第一命令包含分区的大小和所述第一逻辑块地址集的指示,其中建立分区至少部分地基于接收到第一命令。
108.在一些实例中,接收组件540可被配置为或以其它方式支持用于至少部分地基于在存储器装置内建立分区而接收包含对与分区相关联的光标位置的请求的第二命令的构件。在一些实例中,传输组件545可被配置为或以其它方式支持用于至少部分地基于接收到第二命令而将包含与分区相关联的光标位置的信令传输到主机装置的构件。
109.在一些实例中,为了支持识别触发事件,确定组件550可被配置为或以其它方式支持用于确定第一数据被存储到与所述第一物理块地址集相关联的第一块集的构件。
110.在一些实例中,接收组件540可被配置为或以其它方式支持用于接收包含将第一数据的子集存储到第二块集的指示的第三命令的构件,其中识别触发事件至少部分地基于接收到第三命令。
111.在一些实例中,确定组件550可被配置为或以其它方式支持用于确定光标识别所述第一逻辑块地址集中包含的第一逻辑块地址的构件,其中第一逻辑块地址对应于第一块集中包含的第一物理块,其中至少部分地基于确定光标识别第一逻辑块地址而从第一物理块开始将第一数据循序存储到第一块集。
112.在一些实例中,第一块集至少包含第一物理块和第二物理块,且更新组件555可被
配置为或以其它方式支持用于至少部分地基于将第一数据存储到第一块集而更新光标的位置以与第一块集的第三物理块相关联的构件。
113.在一些实例中,第二块集包含于不同于所述分区的第二分区中。
114.在一些实例中,识别组件535可被配置为或以其它方式支持用于识别第二分区的时隙以存储第一数据的子集的构件,所述时隙包含第二块集,其中存储第一数据的子集至少部分地基于识别第二分区的时隙。
115.在一些实例中,存储组件530可被配置为或以其它方式支持用于至少部分地基于存储信息的第二分区的时隙而覆写第二块集中存储的信息的构件。
116.在一些实例中,识别组件535可被配置为或以其它方式支持用于识别与第二分区相关联的第二光标的位置指向第二块集的第一块的构件,其中存储第一数据的子集至少部分地基于识别第二光标的位置指向第二块集的第一块。
117.在一些实例中,存储组件530可被配置为或以其它方式支持用于在将第一数据的子集存储到第二块集之后覆写存储到第一块集的第一数据的构件,其中在覆写存储到第一块集的第一数据之后将第一数据的子集维持在第二块集中。
118.在一些实例中,识别组件535可被配置为或以其它方式支持用于识别光标的位置指向第一块集的第一块的构件,其中将第一数据存储到第一块集至少部分地基于识别光标的位置指向第一块集的第一块。
119.在一些实例中,接收组件540可被配置为或以其它方式支持用于在存储器装置处接收包含第一数据和逻辑块地址的写入命令的构件。在一些实例中,确定组件550可被配置为或以其它方式支持用于确定写入命令的逻辑块地址包含于与循环缓冲器相关联的所述第一逻辑块地址集中的构件,其中识别光标的位置指向第一块集的第一块至少部分地基于确定写入命令的逻辑块地址包含于与循环缓冲器相关联的所述第一逻辑块地址集中。
120.图6展示根据如本文中所公开的实例的说明支持循环缓冲器分区的方法600的流程图。方法600的操作可以由如本文所描述的存储器系统控制器或其组件实施。举例来说,方法600的操作可以由如参考图1到5所描述的存储器系统控制器执行。在一些实例中,存储器系统控制器可以执行指令集以控制装置的功能元件执行所描述的功能。另外或替代地,存储器系统控制器可以使用专用硬件来执行所描述的功能的各方面。
121.在605处,所述方法可包含在存储器装置内建立分区以操作为循环缓冲器,其中所述循环缓冲器与对应于第一物理块地址集的第一逻辑块地址集相关联。可根据如本文中所公开的实例执行605的操作。在一些实例中,605的操作的各方面可由如参考图5所描述的分区组件525执行。
122.在610处,所述方法可包含至少部分地基于与分区相关联的光标的位置而将第一数据存储到与循环缓冲器的所述第一物理块地址集相关联的第一块集。可根据如本文中所公开的实例执行610的操作。在一些实例中,610的操作的各方面可由如参考图5所描述的存储组件530来执行。
123.在615处,所述方法可包含至少部分地基于将第一数据存储到与所述第一物理块地址集相关联的第一块集而识别触发事件。可根据如本文所公开的实例执行615的操作。在一些实例中,615的操作的各方面可由如参考图5所描述的识别组件535来执行。
124.在620处,所述方法可包含至少部分地基于识别触发事件而将第一数据的子集存
储到第二块集。可根据如本文中所公开的实例来执行620的操作。在一些实例中,620的操作的各方面可由如参考图5所描述的存储组件530来执行。
125.在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法600。所述设备可包含用于执行本公开的以下方面的特征、电路系统、逻辑、构件或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)或其任何组合:
126.方面1:一种方法、设备或非暂时性计算机可读媒体,包含操作、特征、电路系统、逻辑、构件或指令或其任何组合,用于在存储器装置内建立分区以操作为循环缓冲器,其中所述循环缓冲器与对应于第一物理块地址集的第一逻辑块地址集相关联;至少部分地基于与所述分区相关联的光标的位置而将第一数据存储到与所述循环缓冲器的所述第一物理块地址集相关联的第一块集;至少部分地基于将所述第一数据存储到与所述第一物理块地址集相关联的所述第一块集而识别触发事件;以及至少部分地基于识别所述触发事件而将所述第一数据的子集存储到第二块集。
127.方面2:根据方面1所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于接收建立所述分区的第一命令的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中所述第一命令包含所述分区的大小和所述第一逻辑块地址集的指示,其中建立所述分区至少部分地基于接收到所述第一命令。
128.方面3:根据方面1至2中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于至少部分地基于在存储器装置内建立所述分区而接收包含对与所述分区相关联的所述光标的所述位置的请求的第二命令且至少部分地基于接收到所述第二命令而将包含与所述分区相关联的所述光标的所述位置的信令传输到主机装置的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
129.方面4:根据方面1至3中任一项所述的方法、设备或非暂时性计算机可读媒体,其中识别所述触发事件包含用于确定所述第一数据被存储到与所述第一物理块地址集相关联的所述第一块集的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
130.方面5:根据方面1至4中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于接收包含将所述第一数据的所述子集存储到第二块集的指示的第三命令的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中识别所述触发事件至少部分地基于接收到所述第三命令。
131.方面6:根据方面1至5中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于确定所述光标识别所述第一逻辑块地址集中包含的第一逻辑块地址的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中所述第一逻辑块地址对应于所述第一块集中包含的第一物理块,其中至少部分地基于确定所述光标识别所述第一逻辑块地址而从所述第一物理块开始将所述第一数据循序存储到所述第一块集。
132.方面7:根据方面6所述的方法、设备或非暂时性计算机可读媒体,其中所述第一块集至少包含所述第一物理块和第二物理块,且所述方法、设备和非暂时性计算机可读媒体进一步包含用于至少部分地基于将所述第一数据存储到所述第一块集而更新所述光标的所述位置以与所述第一块集的第三物理块相关联的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
133.方面8:根据方面1至7中任一项所述的方法、设备或非暂时性计算机可读媒体,其
中所述第二块集包含于不同于所述分区的第二分区中。
134.方面9:根据方面8所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于识别所述第二分区的时隙以存储所述第一数据的所述子集的操作、特征、电路系统、逻辑、构件或指令或其任何组合,所述时隙包含第二块集,其中存储所述第一数据的所述子集至少部分地基于识别所述第二分区的所述时隙。
135.方面10:根据方面8至9中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于至少部分地基于存储信息的所述第二分区的时隙而覆写第二块集中存储的信息的操作、特征、电路系统、逻辑、构件或指令或其任何组合。
136.方面11:根据方面8至10中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于识别与所述第二分区相关联的第二光标的位置指向第二块集的第一块的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中存储所述第一数据的所述子集至少部分地基于识别所述第二光标的所述位置指向所述第二块集的所述第一块。
137.方面12:根据方面1至11中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于在将所述第一数据的所述子集存储到所述第二块集之后覆写存储到所述第一块集的所述第一数据的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中在覆写存储到所述第一块集的所述第一数据之后将所述第一数据的所述子集维持于第二块集中。
138.方面13:根据方面1至12中任一项所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于识别所述光标的所述位置指向所述第一块集的第一块的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中将所述第一数据存储到所述第一块集至少部分地基于识别所述光标的所述位置指向所述第一块集的所述第一块。
139.方面14:根据方面13所述的方法、设备或非暂时性计算机可读媒体,其进一步包含用于在存储器装置处接收包含所述第一数据和逻辑块地址的写入命令并确定所述写入命令的所述逻辑块地址包含于与所述循环缓冲器相关联的所述第一逻辑块地址集中的操作、特征、电路系统、逻辑、构件或指令或其任何组合,其中识别所述光标的所述位置指向所述第一块集的所述第一块至少部分地基于确定所述写入命令的所述逻辑块地址包含于与所述循环缓冲器相关联的所述第一逻辑块地址集中。
140.应注意,上文所描述的方法描述了可能的实施方案,且操作和步骤可经重新布置或以其它方式修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
141.可使用多种不同技术和技艺中的任一种来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信号说明为单个信号;然而,信号可表示信号的总线,其中所述总线可具有多种位宽度。
142.术语“电子通信”、“导电接触”、“连接”和“耦合”可以指组件之间支持信号在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直
接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
143.术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法经由导电路径在组件之间传达,在闭路关系中,信号能够经由导电路径在组件之间传达。如果如控制器的组件将其它组件耦合在一起,那么组件发起允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
144.术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,那么组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的所述组件在开关断开的情况下彼此隔离。如果控制器将两个组件隔离,那么控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
145.术语“如果”、“当
……
时”、“基于”或“至少部分地基于”可互换使用。在一些实例中,如果术语“如果”、“当
……
时”、“基于”,或“至少部分地基于”用于描述条件性动作、条件性过程,或过程的部分之间的连接,那么所述术语可互换。
146.术语“响应于”可以指由于先前条件或动作而至少部分地(如果不是完全地)发生的一个条件或动作。举例来说,可执行第一条件或动作,且作为先前条件或动作发生的结果(不管是直接在第一条件或动作之后还是在第一条件或动作之后的一或多个其它中间条件或动作发生之后),第二条件或动作可至少部分地发生。
147.本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在一些其它实例中,衬底可以是绝缘体上硅(silicon-on-insulator,soi)衬底,例如玻璃上硅(silicon-on-glass,sog)或蓝宝石上硅(silicon-on-sapphire,sop),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
148.本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或通道分离。如果通道是n型(即,多数载流子是电子),那么fet可被称为n型fet。如果通道是p型(即,多数载流子是空穴),那么fet可被称为p型fet。通道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制通道导电性。举例来说,将正电压或负电压分别施加到n型fet或p型fet可导致通道变得导电。如果大于或等于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可以“接通”或“激活”。如果小于晶体管的阈值电压的电压施加到晶体管栅极,那么晶体管可“断开”或“去激活”。
149.本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示例性”意味着“充当实例、例子或说明”,且不“优选于”或“优于其它实例”。详细描述包含具体细节,以提供对所描述技术的理解。然而,可以在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式展示熟知结构和装置,以免混淆所描述实例的概念。
150.在附图中,类似组件或特征可以具有相同的参考标记。此外,可通过在参考标记之
后跟着短横及在类似组件之间进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
151.本文中所描述的功能可以硬件、由处理器执行的软件、固件或其任何组合实施。如果以由处理器执行的软件来实施,那么可将功能作为一或多个指令或代码存储于计算机可读媒体上或经由计算机可读媒体予以传输。其它实例和实施在本公开和所附权利要求书的范围内。举例来说,由于软件的本质,上文所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或这些中的任一者的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
152.举例来说,结合本文的公开内容描述的各种说明性块和组件可使用经设计以执行本文所描述的功能的通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其任何组合来实施或执行。通用处理器可为微处理器;但在替代方案中,处理器可为任何处理器、控制器、微控制器或状态机。处理器可实施为计算装置的组合(例如,dsp和微处理器的组合、多个微处理器、一或多个微处理器结合dsp核心,或任何其它此类配置)。
153.如本文中所使用,包含在权利要求书中,如在项列表(例如,后加例如“中的至少一个”或“中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如a、b或c中的至少一个的列表意指a或b或c或ab或ac或bc或abc(即,a和b和c)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件a”的示例性步骤可基于条件a和条件b两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
154.计算机可读媒体包含非暂时性计算机可读存储媒体和通信媒体两者,通信媒体包含促进将计算机程序从一处传送到另一处的任何媒体。非暂时性存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,非暂时性计算机可读媒体可包括ram、rom、电可擦除可编程只读存储器(eeprom)、压缩光盘(cd)rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构形式的所要程序代码构件且可由通用或专用计算机或者通用或专用处理器存取的任何其它非暂时性媒体。并且,适当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(dsl)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输软件,那么所述同轴电缆、光纤缆线、双绞线、dsl或例如红外线、无线电及微波等无线技术包含于媒体的定义中。如本文中所使用,磁盘和光盘包含cd、激光光盘、光学光盘、数字多功能光盘(dvd)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。以上各者的组合也包含在计算机可读媒体的范围内。
155.提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域的技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表