基于会话的存储器操作的制作方法

文档序号:30350414发布日期:2022-06-08 11:29阅读:100来源:国知局
基于会话的存储器操作的制作方法
基于会话的存储器操作
1.交叉引用
2.本专利申请案主张艾姆布拉(ambula)等人在2020年12月7日申请的标题为“基于会话的存储器操作(session-based memory operation)”的第17/113,999号美国专利申请案的优先权,所述美国专利申请案转让给本受让人且明确地以全文引用的方式并入本文中。
技术领域
3.本技术领域涉及基于会话的存储器操作。


背景技术:

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


技术实现要素:

6.描述了一种方法。所述方法可由存储器系统执行并且可包含确定被读取命令定为目标的逻辑块地址与指示各自在先前被一或多个写入命令定为目标的第一逻辑块地址集的第一表相关联,所述一或多个写入命令的接收满足定时准则;至少部分地基于所述逻辑块地址与所述第一逻辑块地址集相关联,将所述第一表写入到高速缓存器;和至少部分地基于所述第一表、指示第二逻辑块地址集和对应物理块地址的第二表,将包括来自由所述第一表指示的所述第一逻辑块地址集的逻辑块地址的所述第二逻辑块地址集写入到所述高速缓存器。
7.描述了一种方法。所述方法可由存储器系统执行并且可包含接收将逻辑块地址定为目标的写入命令;确定所述逻辑块地址与指示各自在先前被一或多个写入命令定为目标的逻辑块地址集的表相关联,所述一或多个写入命令的接收满足定时准则;和至少部分地
基于所述写入命令的接收满足相对于与所述逻辑块地址集相关联的前一写入命令的定时准则,将所述表更新为指示所述逻辑块地址集包含所述逻辑块地址。
8.描述一种设备。所述设备可包含存储器系统,其包括高速缓存器;和控制器,其与所述存储器系统耦合并被配置成使所述设备:确定被读取命令定为目标的逻辑块地址与指示各自在先前被一或多个写入命令定为目标的第一逻辑块地址集的第一表相关联,所述一或多个写入命令的接收满足定时准则;至少部分地基于所述逻辑块地址与所述第一逻辑块地址集相关联,将所述第一表写入到高速缓存器;和至少部分地基于所述第一表、指示第二逻辑块地址集和对应物理块地址的第二表,将包括来自由所述第一表指示的所述第一逻辑块地址集的逻辑块地址的所述第二逻辑块地址集写入到所述高速缓存器。
附图说明
9.图1说明根据本文所公开的实例的支持基于会话的存储器操作的系统的实例。
10.图2说明根据本文所公开的实例的支持基于会话的存储器操作的表的实例。
11.图3说明根据本文所公开的实例的支持基于会话的存储器操作的过程流的实例。
12.图4说明根据本文所公开的实例的支持基于会话的存储器操作的过程流的实例。
13.图5说明根据本文所公开的实例的支持基于会话的存储器操作的表的实例。
14.图6说明根据本文所公开的实例的支持基于会话的存储器操作的过程流的实例。
15.图7说明根据本文所公开的实例的支持基于会话的存储器操作的过程流的实例。
16.图8示出根据本公开的方面的支持基于会话的存储器操作的存储器系统的框图。
17.图9和10示出说明根据本文所公开的实例的支持基于会话的存储器操作的一或多种方法的流程图。
具体实施方式
18.存储器系统可从主机系统接收逻辑地址并且将那些逻辑地址转译成与存储器系统内的存储器装置的存储器单元相关联的物理地址。举例来说,存储器系统可接收以一或多个逻辑块地址(lba)为目标的命令(例如存取命令),并且将那些lba转译成可用以定位用于由存取命令指示的存取操作的存储器单元的物理块地址(pba)。为执行逻辑地址转译,存储器系统可使用将lba映射到对应pba的逻辑到物理(l2p)块地址表或“l2p表”。存储器系统可存储多个l2p表(例如,存储于长期存储器中)并且当接收到相关联存取命令时,将l2p表中的一或多个选择性地加载到高速缓存器中(例如,以用于更快速存取)。但中将l2p表加载到高速缓存器中之前等待相关联存取命令可增加地址转译时延,这又可不利地影响系统性能,以及其它缺点。
19.根据本文中所描述的技术,存储器系统可通过在接收到一或多个相关联存取命令之前,使用一或多个会话表将l2p表预测性地加载到高速缓存器中,以此减少地址转译时延。在第一实例中,会话表可定义数值上连续的lba集,其可(例如,有可能)被主机装置有序存取。在第二实例中,会话表可定义可能被存取的lba集并且还提供对应于那些lba的pba(例如,会话表可为l2p会话表)。如本文中所使用,除非另外说明集中包含两个或更多个元素,否则所述集可包含一或多个元素。
20.一开始在参考图1所描述的系统和装置的上下文中描述本公开的特征。在如参考
图2-7所描述的表和过程流的上下文中描述本公开的特征。参考涉及如参考图8-10所描述的基于会话的存储器操作的设备图和流程图进一步说明且描述本公开的这些和其它特征。
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的接口,所述主机系统控制器106可以是配置成使得主机系统105根据如本文中所描述的实例执行各种操作的控制组件的实例。主机系统105可包含一或多个装置,且在一些情况下可包含处理器芯片组和通过处理器芯片组执行的软件堆栈。举例来说,主机系统105可包含被配置成用于与存储器系统110或其中的装置通信的应用程序。处理器芯片组可包含一或多个核心、一或多个高速缓存器(例如,在主机系统105本地的或包含在主机系统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的功能有关的内部存储或计算。另外或替代地,本地存储器120可充当用于存储器系统控制器115的高速缓存器。举例来说,当从存储器装置130读取或写入到存储器装置130时,数据可存储在本地存储器120中,且所述数据可在本地存储器120内可用以用于由主机系统105根据高速缓存策略(例如,以相对于存储器装置130的减少的时延)后续检索或操控(例如,更新)。
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的一或多个功能。
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中即可。在一些情况下,在不同平面165中执行并行操作可具有一或多个限制,例如相同操作是在相应平面165内具有相同页地址的不同页175内的存储器单元上执行的(例如,涉及命令解码、页地址解码电路系统或跨平面165共享的其它电路系统)。
37.在一些情况下,块170可包含组织成行(页175)和列(例如,串,未展示)的存储器单元。举例来说,同一页175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地被称为位线)(例如,与其耦合)。
38.对于一些nand架构,存储器单元可在第一粒度级别(例如,在页粒度级别)读取和编程(例如,写入),但可在第二粒度级别(例如,在块粒度级别)擦除。也就是说,页175可为可独立地编程或读取(例如,作为单个编程或读取操作的一部分同时编程或读取)的存储器(例如,存储器单元的集合)的最小单元,且块170可为可独立地擦除(例如,作为单个擦除操
作的一部分同时擦除)的存储器(例如,存储器单元的集合)的最小单元。此外,在一些情况下,nand存储器单元可在其可用新数据重写之前进行擦除。因此,举例来说,在一些情况下,可直到包含页175的整个块170已被擦除才更新所使用的页175。
39.系统100可包含支持基于会话的存储器操作的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、存储器系统控制器115或存储器装置130可包含或以其它方式可存取存储指令(例如,固件)以用于执行本文中属于主机系统105、存储器系统控制器115或存储器装置130的功能的一或多个非暂时性计算机可读媒体。举例来说,当由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115,或由存储器装置130(例如,由本地控制器135)执行时,此类指令可致使主机系统105、存储器系统控制器115或存储器装置130执行如本文中所描述的一或多个相关联功能。
40.在一些情况下,存储器系统110可利用存储器系统控制器115以提供受管理存储器系统,所述受管理存储器系统可包含例如一或多个存储器阵列和与本地(例如,裸片上或封装中)控制器(例如,本地控制器135)组合的相关电路系统。受管理存储器系统的实例是受管理nand(mnand)系统。
41.系统100可包含支持基于会话的存储器操作的任何数量的非暂时性计算机可读媒体。举例来说,主机系统105、存储器系统110或存储器装置130可包含或以其它方式可存取存储指令(例如,固件)以用于执行本文中属于主机系统105、存储器系统110或存储器装置130的功能的一或多个非暂时性计算机可读媒体。举例来说,当由主机系统105(例如,由主机系统控制器106)、由存储器系统110(例如,由存储器系统控制器115)或由存储器装置130(例如,由本地控制器135)执行时,此类指令可致使主机系统105、存储器系统110或存储器装置130执行本文所描述的相关联功能。
42.为存取存储器装置130中的信息,主机系统105可将一或多个存取命令传达到存储器系统110以供执行。主机系统105可将逻辑地址集用于存取命令,而存储器系统110可将物理地址集用于执行存取命令。举例来说,主机系统105可使用逻辑块地址(lba),而存储器系统可使用物理块地址(pba)。每个逻辑块地址和每个物理块地址可与同一粒度的数据(例如4kb)相关联,且每页175可存在多个物理块地址。因此,物理块地址可指页175内的存储器单元集的方位且不应与块170的地址混淆。
43.存储器系统110可将逻辑地址转译成物理地址以恰当地执行来自主机系统105的存取命令。为执行地址转译,存储器系统110可使用逻辑到物理(l2p)表,其中的每一个可指示逻辑地址集和其对应的物理块地址。在一些实例中,l2p表中的逻辑地址可在数值上连续(例如,每个l2p表可提供用于数值上连续的逻辑地址集的物理地址映射)。
44.供存储器系统110使用的l2p表可存储于存储器装置130中的一或多个中(例如,归因于l2p表的大小)。为避免每当存储器系统110使用l2p表用于地址转译时存取存储器装置130,存储器系统110可将l2p表从存储器装置130移动到另一方位,例如高速缓存存储器,例如高速缓存器180,其与存储器装置130中的存储器相比可具有更快速存取时间。
45.如果存储器系统110接收到以高速缓存器180中的l2p表的逻辑地址为目标的存取命令,那么据称发生高速缓存命中,且存储器系统110可使用高速缓存器180中的l2p表执行地址转译。如果存储器系统110接收到以不在高速缓存器180的l2p表的逻辑地址为目标的存取命令,那么据称发生高速缓存未命中,且存储器系统110可在可出现地址转译之前,从
存储器装置130检索l2p表并将l2p表加载到高速缓存器180中。因为从存储器装置130检索l2p表与存取已经处于高速缓存器180中的l2p表相比花费更多时间,所以增加高速缓存命中率可减少系统100的时延。
46.根据本文中所描述的技术,存储器系统110可通过在接收到一或多个相关联存取命令(例如,以l2p表中的逻辑地址为目标的存取命令)之前将预测的l2p表加载到高速缓存器180中,增加高速缓存命中率,且因此减少系统时延。存储器系统110可使用会话表预测l2p表,所述会话表指示有可能基于先前写入逻辑地址的方式(例如,基于写入模式)被有序存取的逻辑地址集。
47.图2说明根据本文所公开的实例的支持基于会话的存储器操作的表200的实例。表200可由例如存储器系统110的存储器系统维持并且可包含跟踪表205和会话表210。跟踪表205可用于监测从主机系统接收的一或多个命令,例如存取命令(例如,写入命令)并且填充会话表210。会话表210可指示在不同会话期间写入的逻辑地址并且可供存储器系统用于将l2p表预测性地加载到高速缓存器中以用于一或多个读取操作。通过预测性地加载l2p表,存储器系统可减少地址转译的时延且因此提高系统性能,以及其它优点。
48.在其它情境当中,当来自文件的数据横跨多个l2p表中的逻辑地址时,使用会话表210可为有利的。并非等待分别以l2p表中的逻辑地址为目标的读取命令,而是存储器系统可在接收到以会话表210中的会话条目的逻辑地址为目标的第一读取命令之后即刻将l2p表加载到高速缓存器中。因此,会话表210可用于在接收到将那些地址定为目标的读取命令之前先行加载用于逻辑地址的l2p表。在本文参考图3更详细地描述在读取操作期间对会话表210的使用。在本文参考图4更详细地描述使用跟踪表205构造会话表210。表也可被称作阵列或其它合适的术语。
49.会话表210可包含多个会话(例如,会话0到会话n)的条目,其中每个会话一个条目。会话表210的每一条目可具有共同指示包含在所述会话中(或“被所述会话覆盖”)的数值上连续的逻辑地址集的参考lba字段和大小字段。换句话说,参考lba(或“开始lba”)可为会话中的剩余lba从中导出的lba。举例来说,如果每个lba与共同粒度的数据(例如4kb)相关联,那么可通过与会话相关联的参考lba和数据大小(如由大小字段给定)确定给定会话中(或“被会话覆盖”)的lba的范围。作为说明,如果会话0具有lba0的参考lba和40kb的大小s0,那么会话0中的lba的范围可确定为lba0到lba9。当然,预期lba和pba的其它粒度。
50.如所提及,跟踪表205(作为组织此跟踪信息的方式的一个实例)可用于跟踪从主机系统接收的存取命令(例如,写入命令)并且填充会话表210。因此,可以给定节奏,例如每当存储器系统接收到写入命令时,更新跟踪表205,如关于图4进一步描述。
51.跟踪表205可允许存储器系统选择性地构建大小足以对时延产生有意义的影响的会话。因此,跟踪表205可包含每个潜在会话或正在进行中的会话的条目并且可以类似于会话表210的方式组织。举例来说,与潜在或正在进行中的会话相关联的参考lba和数据大小(如分别由参考lba字段和大小字段给定)可指示潜在的或正在进行中的会话中涉及的数值上连续的逻辑地址集。另外,每个跟踪条目可具有相关联时间戳(例如,由时间戳字段给定),其可用于确定何时停止跟踪会话。当跟踪条目的大小(例如,潜在或正在进行中的会话的大小)满足阈值大小时,存储器系统可使用跟踪表205中的信息创建新会话或更新会话表210中的现有会话。
52.因此,跟踪表205可用于维持会话表210,所述会话表210又可供存储器系统用于在读取操作期间将l2p表预测性地加载到高速缓存器中,进而增加高速缓存命中率并且减少系统时延。
53.图3说明根据本文所公开的实例的支持基于会话的存储器操作的过程流300的实例。过程流300可由例如参考图1所描述的存储器系统110的存储器系统实施。存储器系统可实施过程流300,以使得存储器系统可在读取操作期间使用会话表(例如参考图2所描述的会话表210)将一或多个l2p表预测性地加载到例如高速缓存器中。过程流300的方面可由控制器以及其它组件实施。另外或替代地,过程流300的方面可实施为存储于存储器中的指令(例如,存储于与存储器系统110耦合的存储器中的固件)。举例来说,指令当由控制器(例如,存储器系统控制器115)执行时可致使控制器执行过程流300的操作。虽然有关图3的描述聚焦于读取命令和相关方面上,但其它替代性实施方案也落入本说明书和本公开的范围内。
54.在305处,可接收到以第一逻辑地址为目标的第一读取命令。举例来说,存储器系统可接收到以(例如,指示、关联于)逻辑块地址x(“lbax”)为目标的读取命令。在一些实例中,逻辑地址可为被第一读取命令定为目标的多个逻辑地址中的一个(例如,读取命令可指示通过参考逻辑地址和数据大小给定的数值上连续的逻辑地址集)。
55.在310处,可确定与逻辑地址相关联的会话表。举例来说,存储器系统可确定包含与lbax相关联的会话的会话表。存储器系统可基于lbax包含在被会话表中的会话覆盖的逻辑地址范围中,确定会话表。在315处,可从存储器检索会话表并将所述会话表加载到高速缓存器中(例如,传送到高速缓存器、写入到高速缓存器、存储于高速缓存器中)。举例来说,存储器系统可检索(例如,读取、提取、获得)与lbax相关联的会话表并且将所述会话表加载到高速缓存器中。与lbax相关联的会话可覆盖包含逻辑块地址y(“lbay”)的逻辑地址范围。
56.在320处,可基于将会话表加载到高速缓存器中,确定与会话被覆盖的逻辑地址相关联的l2p表。举例来说,存储器系统可确定与被关联于lbax的会话覆盖的逻辑地址相关联的l2p表。
57.在325处,可将与lbax相关联的l2p表加载到高速缓存器中。举例来说,存储器系统可从存储器检索l2p表并且将l2p表加载到高速缓存器中。将例如l2p表的信息加载到例如高速缓存器的存储器中可指将信息写入、存储或以其它方式放置于存储器中。高速缓存器也可被称作存储器、高速缓存存储器、暂时性存储器、本地存储器、缓冲器或其它合适的术语。在一些实例中,高速缓存器是sram高速缓存。在一些实例中,高速缓存器包含slc。
58.在330处,可对lbax执行地址转译。举例来说,存储器系统可使用用于lbax(其处于高速缓存器中)的l2p表确定与lbax相关联的物理块地址。
59.在335处,可基于lbay与lbax包含在同一会话中,将与lbay相关联的l2p表(在320处确定)加载到高速缓存器中。举例来说,存储器系统可从存储器检索与lbay相关联的l2p表并且将l2p表加载到高速缓存器中。虽然被描述为在可当高速缓存器限于一次存储单个l2p表时出现的不同时间加载,但在一些实例中,用于lbax和lbay的l2p表可以使得这两个l2p表同时或在重叠时间段内处于高速缓存器中的方式。举例来说,用于lbay的l2p表也可在325处(代替在335处)加载到高速缓存器中或以用于lbax和lbay的l2p表在一持续时间内共存于高速缓存器中的方式被加载。
60.在340处,可接收到以第二逻辑地址为目标的第二读取命令。举例来说,存储器系统可接收到以lbay为目标的读取命令,所述lbay与lbax相比可与不同l2p表相关联。因为当接收到用于lbay的读取命令时,用于lbay的l2p表已在高速缓存器中做好准备,所以可在无与从存储器检索用于lbay的l2p表相关联的延迟的情况下转译lbay。
61.在345处,可对lbay执行地址转译。举例来说,存储器系统可使用用于lbay的l2p表确定与lbay相关联的物理块地址。在确定针对lbax和lbay的物理块地址之后,可在350处执行一或多个读取操作。举例来说,存储器系统可使用物理块地址根据第一读取命令和第二读取命令执行一或多个读取操作。
62.因此,过程流300可支持在读取操作期间使用会话表将一或多个l2p表预测性地加载到例如高速缓存器中,这可减少系统时延。可实施过程流300的替代性实例,其中以不同于描述的次序的次序执行一些操作,并行执行一些操作或完全不执行一些操作。在一些情况下,操作可包含下文不提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作或可重复或循环某些操作组合。
63.在一些实例中,存储器系统可实施跟随技术用于将会话表加载到高速缓存器中。举例来说,存储器系统可将第一会话表与第二表相关联,使得当第一会话表加载到高速缓存器中时,第二表也加载到高速缓存器中(例如,与第一表同时或在第一表之后)。会话表之间的关联可基于会话表的读取模式。举例来说,如果存储器系统确定在存取第一会话表之后不断地或频繁地存取第二会话表,那么存储器系统可使第一会话表与第二会话表相关联。通过一次加载多个会话表,或识别用于加载的多个会话表,存储器系统可进一步增加高速缓存命中率并且因此减少系统时延。
64.在一些实例中,存储器系统可为某些会话表实施快速读取技术。举例来说,存储器系统可识别被频繁存取的会话表(例如,与被频繁读取的数据相关联的会话表)并且将这些被频繁存取的会话表存储到低时延存储器中。举例来说,存储器系统可将被频繁存取的会话表存储于与用以存储剩余会话表的存储器相比具有较低时延的存储器中。通过这样做,存储器系统可进一步减少与检索和加载被频繁存取的会话表相关联的时延,这可进一步减少地址转译时延。另外或替代地,存储器系统可将被频繁存取的会话表加载到与用于剩余会话表的高速缓存器相比具有较低时延的高速缓存器中。通过这样做,存储器系统可减少在转译操作期间与存取被频繁存取的会话表相关联的时延。
65.图4说明根据本文所公开的实例的支持基于会话的存储器操作的过程流400的实例。过程流400可由例如参考图1所描述的存储器系统110的存储器系统实施。存储器系统可实施过程流400构建例如参考图2所描述的会话表210的会话表,所述会话表可用于在读取操作期间将一或多个l2p表预测性地加载到例如高速缓存器中,如参考图3所描述。过程流程400的各方面可由控制器以及其它组件实施。另外或替代地,过程流程400的方面可实施为存储于存储器中的指令(例如,存储于与存储器系统110耦合的存储器中的固件)。举例来说,所述指令在由控制器(例如,存储器系统控制器115)执行时可致使控制器执行过程流程400的操作。
66.过程流400的右侧分支可表示当用于写入命令的开始逻辑块地址与由跟踪表条目指示(被跟踪表条目覆盖、与跟踪表条目相关联)的逻辑地址范围在数值上连续时,由存储器系统进行的动作。一般来说,如果根据时间准则接收到针对数值上连续的逻辑地址的写
入命令,那么可更新跟踪表条目;且举例来说,如果跟踪表条目满足大小阈值,那么可更新对应会话表条目。
67.过程流400的左侧分支可表示当用于写入命令的开始逻辑块地址包含在由跟踪表条目指示(或不被任何跟踪表条目覆盖)的逻辑地址范围中时,由存储器系统进行的动作。一般来说,如果根据时间准则接收到针对范围内逻辑地址的写入命令并且修改跟踪表条目的大小,那么可更新跟踪表条目;举例来说,如果跟踪表条目满足大小阈值,那么可更新对应的会话表条目。
68.在405处,可接收到将逻辑地址定为目标的写入命令。举例来说,存储器系统可接收到以逻辑块地址x(“lbax”)为目标的写入命令。在一些实例中,逻辑地址可为作为写入命令的写入的目标的数值上连续的逻辑地址集的开始地址(例如,写入命令可指示开始地址lbax和数据大小,所述开始地址lbax和数据大小一起指示用于写入的lba集)。
69.在410处,可确定逻辑地址是否与跟踪表(例如跟踪表205)中的条目中的任一个中的数值上最后一个逻辑块地址在数值上连续。举例来说,存储器系统410可确定lbax是否与跟踪表中中条目中的任一个中的数值上最后一个逻辑块地址在数值上连续。如果在410处,确定lbax与跟踪表的条目中的数值上最后一个逻辑块地址在数值上连续,那么存储器系统可转到415。如果在410处,确定lbax不与跟踪表的条目中的数值上最后一个逻辑块地址在数值上连续,那么存储器系统可转到450。
70.在415处,可确定写入命令的接收是否满足时间准则(例如,一或多个准则)。举例来说,存储器系统可确定是否在从与跟踪表条目相关联的最近写入命令起的阈值时间(例如,y ms)内接收到写入命令。存储器系统可基于在405处接收到的写入命令的时间戳确定是否满足时间准则。举例来说,存储器系统可基于在405处接收到的写入命令的时间戳与和跟踪表条目相关联的最近写入命令的时间戳之间的差,确定是否已经满足了时间准则。也可使用其它合适的术语(例如定时准则、定时参数、定时阈值等等)指代时间准则。
71.如果在415处,确定写入命令的接收满足时间准则,那么存储器系统可转到420。如果在415处,确定写入命令的接收不满足时间准则,那么存储器系统可转到440并且关闭跟踪表条目。关闭跟踪表条目可涉及移除或清除跟踪表条目的字段中的值(例如,归零)。
72.在420处,可更新跟踪表条目。举例来说,存储器系统可基于满足了时间阈值而更新跟踪表条目。更新跟踪表条目可包含更新跟踪表条目的时间戳字段以反映在405接收到的写入命令的时间戳。更新跟踪表条目还可包含通过将与写入命令相关联的数据大小与大小字段中的现有值相加,更新跟踪表条目的大小字段。举例来说,如果跟踪表条目的大小字段指示36kb的值并且与写入命令相关联的数据大小是4kb,那么可将跟踪表条目的大小字段更新为指示40kb。如所提及,可由与条目相关联的参考lba和数据大小指示被跟踪表条目覆盖的lba范围。
73.在一些实例中,更新跟踪表条目可包含更新参考lba字段以反映被写入命令定为目标的数值上最后一个lba(其可为lbax或基于与写入命令相关联的lbax和数据大小确定的另一lba)。替代地,参考lba字段可保持相同(取决于用于范围lba的计算方向)。
74.在425处,可确定跟踪表条目是与现有会话相关联还是与新会话相关联。举例来说,存储器系统可确定lbax是否与例如会话表210的会话表中的会话的数值上最后一个逻辑块地址在数值上连续。如果lbax与会话表中的会话的数值上最后一个逻辑块地址在数值
上连续,那么存储器系统可确定跟踪表条目与现有会话相关联。如果lbax不与会话表中的会话的数值上最后一个逻辑块地址在数值上连续,那么存储器系统可确定跟踪表条目与新会话相关联。
75.如果在425处,确定跟踪表条目与现有会话相关联,那么存储器系统可转到445并且更新现有会话。更新现有会话可包含更新与会话表中的会话条目相关联的一或多个字段。举例来说,存储器系统可通过将与写入命令相关联的数据大小与大小字段中的现有值相加,更新会话表条目的大小字段。在一些实例中,存储器系统也可更新会话表条目的参考lba字段以反映被写入命令定为目标的数值上最后一个lba(其可为lbax或基于与写入命令相关联的lbax和数据大小确定的另一lba)。替代地,参考lba字段可保持相同(取决于用于lba范围的计算方向)。
76.如果在425处,确定跟踪表条目与新会话相关联,那么存储器系统可转到430。
77.在430处,可确定跟踪表条目的经更新大小是否满足大小阈值。举例来说,存储器系统可确定跟踪表条目的大小(如由大小字段给定)是否大于阈值大小,例如3mb。
78.如果在430处,确定跟踪表条目的大小满足大小阈值,那么存储器系统可转到435并且创建用于新会话的新会话表条目。新会话表条目可指示用于会话的参考逻辑块地址和与所述会话相关联的数据大小。如果在430处,确定跟踪表条目的大小不满足大小阈值,那么存储器系统等待下一写入命令。
79.现参考410处的决策,存储器系统可在确定lbax不与被跟踪表的条目覆盖的数值上最后一个逻辑块地址在数值上连续之后即刻转到450。
80.在450处,可确定逻辑地址是否在被跟踪表中的各个条目覆盖的逻辑地址的范围内。举例来说,存储器系统可确定lbax是否包含在被跟踪表中的条目中的任一个覆盖的逻辑块地址范围中。作为说明,如果lbax是lba0、lba1、lba2或lba3,那么lbax可被视为包含在逻辑块地址范围lba0到lba4内。
81.如果在450处,确定lbax不包含在跟踪表中的条目范围内,那么存储器系统可转到475并且创建覆盖lbax的新跟踪表条目。
82.如果在450处,确定lbax包含在跟踪表中的条目范围中,那么存储器系统可转到455。在455处,可确定写入命令的接收是否满足时间准则。举例来说,存储器系统可确定是否在与跟踪表条目相关联的最近写入命令的y ms内接收到写入命令。存储器系统可基于在405处接收到的写入命令的时间戳确定是否满足时间准则。举例来说,存储器系统可基于在405处接收到的写入命令的时间戳与和跟踪表条目相关联的最近写入命令的时间戳之间的差确定是否满足时间准则。
83.如果在455处,确定写入命令的接收不满足时间阈值,那么存储器系统可转到480并且关闭覆盖lbax的跟踪表条目。
84.如果在455处,确定写入命令的接收满足时间准则,那么存储器系统可转到460。在460处,可基于满足了时间准则而更新具有包含lbax的逻辑地址范围的跟踪表条目。举例来说,存储器系统可更新用于跟踪表条目的时间戳字段以反映在405处接收到的写入命令的时间戳。在一些情况下,存储器系统也可更新用于跟踪表条目的大小字段。举例来说,如果与针对lbax的写入命令相关联的数据大小指示与跟踪表条目的数值上最后一个逻辑地址重叠并且延伸超出所述数值上最后一个逻辑地址的一或多个逻辑地址的集,那么存储器系
统可更新跟踪表条目以反映包含原始范围加一或多个逻辑地址的集的新逻辑地址范围。存储器系统可通过更新大小字段以使得大小字段和参考lba共同指示新逻辑地址范围,以此更新跟踪表条目。作为说明,如果跟踪表条目具有原始范围lba0到lba4,那么lbax是lab2,且与写入命令相关联的数据大小指示lba2到lba7,可更新跟踪表条目的大小字段(例如,从20kb更新到32kb)以指示lba0到lba7。
85.在465处,可确定跟踪表条目的大小是否满足大小阈值。举例来说,存储器系统可确定跟踪表条目的大小(如由大小字段给定)是否大于阈值大小(例如,3mb)。
86.如果在465处,确定跟踪表条目的大小不满足大小阈值,那么存储器系统可等待下一写入命令。
87.如果在465处,确定跟踪表条目的大小满足大小阈值,那么存储器系统可转到470并且创建用于新会话的新会话表条目或更新与跟踪表条目相关联的现有会话。创建新会话表条目可包含填充与关联于所述条目的值相关联的大小字段和参考lba字段。更新现有会话表条目可包含更新用于现有会话表条目的大小字段和/或参考lba字段的值。
88.因此,存储器系统可实施过程流400以构建可在读取操作期间用以将一或多个l2p表预测性地加载到例如高速缓存器中的会话表。可实施过程流400的替代性实例,其中以不同于描述的次序的次序执行一些操作,并行执行一些操作或完全不执行一些操作。在一些情况下,操作可包含下文不提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作或可重复或循环某些操作组合。
89.图5说明根据本文所公开的实例的支持基于会话的存储器操作的表500的实例。表500可由例如存储器系统110的存储器系统维持并且可包含多个l2p会话表505。l2p会话表505可代替l2p表供存储器系统使用并且可允许存储器系统将l2p会话表加载到高速缓存器中以用于不连续逻辑地址的转译,这可提高系统性能。在一些实例中,表500可包含一或多个无会话l2p表,如关于图7更详细描述。
90.l2p会话表505可以不同于其它l2p表(例如,参考图1到4描述的那些l2p表)的方式组织。举例来说,并非提供用于数值上连续的物理块地址集的物理块地址,而是每个l2p会话表505可提供用于处于同一会话中的物理块地址集的物理块地址。因此,包含在l2p会话表中的逻辑块地址可连续或不连续。举例来说,l2p会话表0可指示用于lba3、lba22和lba7等等的物理块地址。如同其它l2p表,l2p会话表505可如本文中所描述存储于存储器中并且加载到高速缓存器中以用于在读取操作期间进行地址转译。
91.在其它情境当中,当来自文件的数据存储于与非连续逻辑块地址相关联的存储器单元中时,会话表505的使用可为有利的。举例来说,存储用于文件的第一数据集(或第一“片段”)的存储器单元可具有相对于存储用于文件的第二数据集(或第二“片段”)的存储器单元的逻辑地址不连续的逻辑地址。并非等待将用于不同片段的逻辑地址定为目标的读取命令,而是存储器系统可在接收到以l2p会话表505的逻辑地址为目标的第一读取命令之后即刻将用于文件的l2p会话表505加载到高速缓存器中。因为l2p表具有用于会话中的其它逻辑地址的物理库地址,所以存储器系统可在不加载额外l2p表下执行用于文件的地址转译,进而节约资源并且减少时延。
92.在本文参考图6更详细地描述在读取操作期间使用l2p会话表505。在本文参考图7更详细地描述l2p会话表505的构造。
93.图6说明根据本文所公开的实例的支持基于会话的存储器操作的过程流600和主表605的实例。过程流600可由例如参考图1所描述的存储器系统110的存储器系统实施。存储器系统可实施过程流600,以使得存储器系统可在读取操作期间使用l2p会话表(例如参考图5所描述的l2p会话表505)有效地执行地址转译。过程流600的方面可由控制器以及其它组件实施。另外或替代地,过程流600的方面可实施为存储于存储器中的指令(例如,存储于与存储器系统110耦合的存储器中的固件)。举例来说,指令当由控制器(例如,存储器系统控制器115)执行时可致使控制器执行过程流600的操作。虽然有关图6的描述聚焦于读取命令和相关方面上,但其它替代性实施方案也落入本说明书和本公开的范围内。
94.在610处,可接收到以第一逻辑地址为目标的第一读取命令。举例来说,存储器系统可接收到以逻辑块地址x(“lbax”)为目标的读取命令。在615处,可确定与逻辑地址相关联的l2p会话表。举例来说,存储器系统可确定与lbax相关联的l2p会话表。举例来说,存储器系统可确定l2p会话表3与lbax相关联。存储器系统可基于lbax与会话表的识别符(id)相关联而确定所述会话表。在一些实例中,从被会话表覆盖的逻辑块地址范围导出会话表的id。举例来说,可使用哈希函数从逻辑块地址范围导出会话表的id。
95.在620处,可确定l2p会话表的逻辑地址。举例来说存储器系统可确定用于l2p会话表3的逻辑地址。在625处,可基于l2p会话表的逻辑地址确定用于l2p会话表的物理地址。举例来说,存储器系统可确定l2p会话表3的物理地址。存储器系统可从主表605确定物理地址,所述主表605可含有l2p会话表的物理地址。物理地址可布置成使得与物理地址相关联的逻辑地址从l2p会话表0的物理地址开始连续增加(数值上、以指数方式)。因此,为确定l2p会话表的物理地址,存储器系统可使用指示主表605的适当条目的偏移。举例来说,为确定用于l2p会话表3的物理地址,存储器系统可使用偏移645,可等于三,指代主表605的第四条目,可含有用于l2p会话表3的物理地址。
96.在630处,可将l2p会话表加载到用于存储器系统的高速缓存器中。举例来说,存储器系统可将l2p会话表3加载到高速缓存器中。存储器系统可基于在625处确定的物理地址定位存储器中的l2p会话表。在635处,可接收到以第二逻辑地址为目标的第二读取命令。举例来说,存储器系统可接收到以逻辑块地址y(“lbay”)为目标的读取命令。l2p会话表(例如,l2p会话表0)可包含用于lbax和lbay的物理地址等等。因此,存储器系统可能甚至在接收到以lbay为目标的写入命令之前就准备好转译lbay。
97.在一些实例中,主机系统可请求用于两个不同的并行活动的读取操作(例如,用于一个活动的读取命令可与用于另一活动的读取命令交错)。在这类情境中,存储器系统可将多个l2p会话(例如,每个活动一个l2p会话)加载于高速缓存器中。举例来说,除了将l2p会话表0加载到高速缓存器中之外,存储器系统也可将l2p会话表10加载到高速缓存器中,其中l2p会话表0和l2p会话表10与不同活动相关联。
98.在640处,可执行用于lbax和lbay的地址转译。举例来说,存储器系统可使用l2p会话表0确定分别与lbax和lbay相关联的物理块地址。在确定物理块地址之后,可在645处执行一或多个读取操作。举例来说,存储器系统可使用物理块地址根据第一读取命令和第二读取命令执行一或多个读取操作。
99.因此,过程流600可支持在读取操作期间使用l2p会话表有效地执行地址转译。可实施过程流600的替代性实例,其中以不同于描述的次序的次序执行一些操作,并行执行一
些操作或完全不执行一些操作。在一些情况下,操作可包含下文不提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作或可重复或循环某些操作组合。
100.图7说明根据本文所公开的实例的支持基于会话的存储器操作的过程流700的实例。过程流700可由例如参考图1所描述的存储器系统110的存储器系统实施。存储器系统可实施过程流700以构建l2p会话表,例如参考图5所描述的l2p会话表505,可在读取操作期间使用所述l2p会话表有效地执行地址转译,如参考图6所描述。过程流700的方面可由控制器以及其它组件实施。另外或替代地,过程流700的方面可实施为存储于存储器中的指令(例如,存储于与存储器系统110耦合的存储器中的固件)。举例来说,所述指令在由控制器(例如,存储器系统控制器115)执行时可致使控制器执行过程流程700的操作。
101.在705处,可接收到以逻辑地址为目标的写入命令。举例来说,存储器系统可接收到以逻辑块地址x(“lbax”)为目标的写入命令。在710处,可确定与逻辑地址相关联的物理地址。举例来说,存储器系统可确定与lbax相关联的逻辑地址。
102.在715处,可确定写入命令的接收是否满足时间准则。举例来说,存储器系统可确定是否在从与l2p会话表相关联的最近写入命令起的阈值持续时间(例如,y ms)内接收到写入命令。存储器系统可基于在705处接收到的写入命令的时间戳,确定是否满足时间准则。举例来说,存储器系统可基于在705处接收到的写入命令的时间戳与和l2p会话表相关联的最近写入命令的时间戳之间的差,确定是否已经满足了时间准则。
103.如果在715处,确定写入命令的接收满足时间准则,那么存储器系统可转到720。在720处,可基于满足了时间准则,将物理地址和逻辑地址添加到当前l2p会话表。举例来说,存储器系统可将l2p会话表0更新为包含lbax和与lbax相关联的物理地址。
104.如果在715处,确定写入命令的接收不满足时间准则,那么存储器系统可转到725。在725处,可基于不满足时间准则而关闭当前l2p会话表。关闭l2p会话表可包含将l2p会话表存储于存储器中。在730处,可将逻辑地址添加到无会话l2p表或可开始新l2p会话表。无会话l2p表可包含用于不与会话相关联的逻辑地址(例如,不根据时间准则接收到其写入命令的逻辑地址)的物理地址映射。因此,存储器系统可将lbax和其对应的物理块地址添加到无会话l2p表。如果根据时间准则接收到另一(例如,第二)写入命令,那么存储器系统可开始包含lbax和被第二写入命令定为目标的逻辑地址的新l2p会话表。
105.归因于时间准则,可在不同l2p会话表当中分摊主机活动(例如,视频编码)或文件。举例来说,文件的第一数据片段可与第一l2p会话表相关联,且文件的第二数据片段可与第二l2p会话表相关联。存储器系统可使用本文所描述的跟随技术补偿片段化文件(例如,存储器系统可跟随相关联l2p会话表以用于加载到高速缓存器中)。
106.因此,存储器系统可实施过程流700构建可用以在读取操作期间有效地执行地址转译的l2p会话表。可实施过程流700的替代性实例,其中以不同于所描述的次序的次序执行一些操作,并行执行一些操作或完全不执行一些操作。在一些情况下,操作可包含下文不提及的额外特征,或可添加另外的操作。另外,可多次执行某些操作或可重复或循环某些操作组合。
107.在一些实例中,存储器系统可(相较于时间准则基础)基于来自主机系统的会话信息构建l2p会话表。举例来说,主机系统可向存储器系统指示何时开始会话以及何时停止会话。
108.图8示出根据本文所公开的实例的支持基于会话的存储器操作的存储器系统805的框图800。存储器系统805可为参考图1到7所描述的存储器系统的方面的实例。存储器系统805可包含会话逻辑810、高速缓存逻辑815、接口电路系统820、跟随逻辑825、转译逻辑830、存储器逻辑835、大小比较器840和定时逻辑845。这些模块中的每一个可彼此直接或间接(例如,经由一或多个总线)通信。
109.会话逻辑810可确定被读取命令定为目标的逻辑块地址与指示各自在先前被一或多个写入命令定为目标的第一逻辑块地址集的第一表相关联,所述一或多个写入命令的接收满足定时准则。在一些情况下,第一逻辑块地址集包含数值上连续的逻辑块地址。在一些实例中,会话逻辑810可确定逻辑块地址与指示各自在先前被一或多个写入命令定为目标的逻辑块地址集的表相关联,所述一或多个写入命令的接收满足定时准则。
110.在一些实例中,会话逻辑810可基于写入命令的接收满足相对于与逻辑块地址集相关联的前一写入命令的定时准则,将表更新为指示逻辑块地址集包含所述逻辑块地址。
111.在一些实例中,会话逻辑810可基于第一逻辑块地址集中的逻辑块地址中的每一个被在相对于前一写入命令的阈值持续时间内接收到的写入命令定为目标,在第一表中写入一或多个值,所述前一写入命令与第一逻辑块地址集中的数值上连续的逻辑块地址相关联。
112.在一些实例中,会话逻辑810可基于阈值时间量到期,将第二表更新为指示逻辑块地址集包含所述逻辑块地址。
113.在一些实例中,会话逻辑810可确定逻辑块地址与由所述表指示的逻辑块地址集的最后一个逻辑块地址在数值上连续。
114.在一些实例中,会话逻辑810可确定第二逻辑块地址集与逻辑块地址集在数值上重叠。
115.在一些情况下,定时准则规定以第一逻辑块地址为目标的写入命令的接收与以和所述第一逻辑块地址在数值上连续的第二逻辑块为目标的第二写入命令的接收之间的阈值持续时间。
116.在一些情况下,逻辑块地址集包含数值上连续的逻辑块地址。在一些情况下,所述表指示对应于逻辑块地址集的物理块地址。
117.高速缓存逻辑815可基于逻辑块地址与第一逻辑块地址集相关联,将第一表写入到高速缓存器。
118.在一些实例中,高速缓存逻辑815可基于第一表、指示第二逻辑块地址集和对应物理块地址的第二表,将包含来自由第一表指示的第一逻辑块地址集的逻辑块地址的第二逻辑块地址集写入到高速缓存器。
119.在一些实例中,高速缓存逻辑815可基于第一表、指示第三逻辑块地址集和对应物理块地址的第三表,将包含来自由第一表指示的第一逻辑块地址集的逻辑块地址的第三逻辑块地址集写入到所述高速缓存器。
120.在一些实例中,高速缓存逻辑815可基于确定第一表与第三表相关联,将第三表写入到高速缓存器。
121.在一些实例中,高速缓存逻辑815可基于读取命令以及逻辑块地址包含在表中,将所述表写入到存储器系统的高速缓存器。
122.在一些实例中,高速缓存逻辑815可基于表、指示第二逻辑块地址集和对应物理块地址的第二表,将包括来自由所述表指示的逻辑块地址集的逻辑块地址的所述第二逻辑块地址集写入到高速缓存器。
123.接口电路系统820可接收以逻辑块地址为目标的写入命令。
124.在一些实例中,接口电路系统820可在将第三表加载到高速缓存器中之后,接收针对第二逻辑块地址的第二读取命令,所述第三表指示对应于第二逻辑块地址的物理块地址。
125.在一些实例中,接口电路系统820可接收以逻辑块地址为目标的读取命令。
126.跟随逻辑825可确定第一表与指示第三逻辑块地址集的第三表相关联,所述第三逻辑块地址集各自在先前根据定时准则作为一或多个写入操作的目标。
127.转译逻辑830可基于第二表,确定与逻辑块地址相关联的物理块地址。
128.在一些实例中,转译逻辑830可基于表提供的映射,确定与逻辑块地址相关联的物理块地址。
129.存储器逻辑835可对与物理块地址相关联的存储器单元集执行读取操作。
130.在一些实例中,存储器逻辑835可对与物理块地址相关联的存储器单元集执行读取操作。
131.大小比较器840可确定逻辑块地址集与满足大小阈值的数据大小相关联,其中基于满足大小阈值的数据大小来更新表。
132.定时逻辑845可确定从接收到写入命令起的阈值时间量已到期。
133.图9示出根据本公开的方面的说明支持基于会话的存储器操作的一或多种方法900的流程图。方法900的操作可由如本文中所描述的存储器系统或其组件实施。举例来说,方法900的操作可由如参考图8所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集以控制存储器系统的功能元件来执行所描述的功能。另外或替代地,存储器系统可使用专用硬件执行所描述的功能的方面。
134.在905处,所述方法可包含确定被读取命令定为目标的逻辑块地址与指示各自在先前被一或多个写入命令定为目标的第一逻辑块地址集的第一表相关联,所述一或多个写入命令的接收满足定时准则。可根据本文中所描述的方法执行905的操作。在一些实例中,可由参考图8所描述的会话逻辑执行905的操作的方面。
135.在910处,所述方法可包含基于逻辑块地址与第一逻辑块地址集相关联,将第一表写入到高速缓存器。可根据本文中所描述的方法执行910的操作。在一些实例中,可由参考图8所描述的高速缓存逻辑执行910的操作的方面。
136.在915处,所述方法可包含基于第一表、指示第二逻辑块地址集和对应物理块地址的第二表,将包含来自由第一表指示的第一逻辑块地址集的逻辑块地址的第二逻辑块地址集写入到高速缓存器。可根据本文中所描述的方法执行915的操作。在一些实例中,可由参考图8所描述的高速缓存逻辑执行915的操作的方面。
137.在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法900。所述设备可包含用于以下操作的操作、特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):确定被读取命令定为目标的逻辑块地址与指示各自在先前被一或多个写入命令定为目标的第一逻辑块地址集的第一表相关联,所述一或多个写入命令
的接收满足定时准则;基于所述逻辑块地址与所述第一逻辑块地址集相关联,将所述第一表写入到高速缓存器;和基于所述第一表、指示第二逻辑块地址集和对应物理块地址的第二表,将包含来自由所述第一表指示的所述第一逻辑块地址集的逻辑块地址的所述第二逻辑块地址集写入到所述高速缓存器。
138.在本文所描述的方法900和设备的一些实例中,所述第一逻辑块地址集包含数值上连续的逻辑块地址。
139.在本文所描述的方法900和设备的一些实例中,所述定时准则规定以第一逻辑块地址为目标的写入命令的接收与以和所述第一逻辑块地址在数值上连续的第二逻辑块为目标的第二写入命令的接收之间的阈值持续时间。
140.本文所描述的方法900和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于第一表、指示第三逻辑块地址集和对应物理块地址的第三表,将包含来自由第一表指示的第一逻辑块地址集的逻辑块地址的第三逻辑块地址集写入到所述高速缓存器。
141.本文所描述的方法900和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:在将第三表加载到高速缓存器中之后,接收针对第二逻辑块地址的第二读取命令,所述第三表指示对应于第二逻辑块地址的物理块地址。
142.本文所描述的方法900和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于第一逻辑块地址集中的逻辑块地址中的每一个被在相对于前一写入命令的阈值持续时间内接收到的写入命令定为目标,在第一表中写入一或多个值,所述前一写入命令与第一逻辑块地址集中的数值上连续的逻辑块地址相关联。
143.本文所描述的方法900和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:确定第一表可与指示第三逻辑块地址集的第三表相关联,所述第三逻辑块地址集各自在先前根据定时准则作为一或多个写入操作的目标;和基于确定第一表可与第三表相关联,将第三表写入到高速缓存器。
144.本文所描述的方法900和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于第二表,确定与逻辑块地址相关联的物理块地址;和对与物理块地址相关联的存储器单元集执行读取操作。
145.图10示出根据本公开的方面的说明支持基于会话的存储器操作的一或多种方法1000的流程图。方法1000的操作可由如本文中所描述的存储器系统或其组件实施。举例来说,方法1000的操作可由如参考图8所描述的存储器系统执行。在一些实例中,存储器系统可执行指令集以控制存储器系统的功能元件来执行所描述的功能。另外或替代地,存储器系统可使用专用硬件执行所描述的功能的方面。
146.在1005处,所述方法可包含接收将逻辑块地址定为目标的写入命令。可根据本文中所描述的方法执行1005的操作。在一些实例中,可由参考图8所描述的接口电路系统执行1005的操作的方面。
147.在1010处,所述方法可包含确定逻辑块地址与指示各自在先前被一或多个写入命令定为目标的逻辑块地址集的表相关联,所述一或多个写入命令的接收满足定时准则。可根据本文中所描述的方法执行1010的操作。在一些实例中,可由参考图8所描述的会话逻辑执行1010的操作的方面。
148.在1015处,所述方法可包含基于写入命令的接收满足相对于与逻辑块地址集相关联的前一写入命令的定时准则,将表更新为指示逻辑块地址集包含所述逻辑块地址。可根据本文中所描述的方法来执行1015的操作。在一些实例中,可由如参考图8所描述的会话逻辑执行1015的操作的方面。
149.在一些实例中,如本文中所描述的设备可执行一或多种方法,例如方法1000。所述设备可包含用于以下操作的操作、特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):接收将逻辑块地址定为目标的写入命令;确定所述逻辑块地址与指示各自在先前被一或多个写入命令定为目标的逻辑块地址集的表相关联,所述一或多个写入命令的接收满足定时准则;和基于所述写入命令的接收满足相对于与所述逻辑块地址集相关联的前一写入命令的定时准则,将所述表更新为指示所述逻辑块地址集包含所述逻辑块地址。
150.在本文所描述的方法1000和设备的一些实例中,所述逻辑块地址集包含数值上连续的逻辑块地址。
151.本文所描述的方法1000和设备的一些实例可包含用于以下操作的特征、装置或指令(例如,非暂时性计算机可读媒体存储的可由处理器执行的指令):确定逻辑块地址集可与满足大小阈值的数据大小相关联,其中可基于满足大小阈值的大小来更新表。
152.本文所描述的方法1000和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:确定从接收到所述写入命令起的阈值时间量可已到期;和基于所述阈值时间量到期,将第二表更新为指示所述逻辑块地址集包含所述逻辑块地址。
153.在本文所描述的方法1000和设备的一些实例中,确定逻辑块地址可与表相关联可包含用于以下操作的操作、特征、装置或指令:确定所述逻辑块地址可与由所述表指示的所述逻辑块地址集的最后一个逻辑块地址在数值上连续。
154.在本文所描述的方法1000和设备的一些实例中,所述逻辑块地址可包含在被所述写入命令定为目标的第二逻辑块地址集中,且其中确定所述逻辑块地址可与所述逻辑块地址集相关联可包含用于以下操作的操作、特征、装置或指令:确定所述第二逻辑块地址集与所述逻辑块地址集在数值上重叠。
155.本文所描述的方法1000和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:接收将所述逻辑块地址定为目标的读取命令;和基于所述读取命令以及所述逻辑块地址包含在所述表中,将所述表写入到所述存储器系统的高速缓存器。
156.本文所描述的方法1000和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述表、指示第二逻辑块地址集和对应物理块地址的第二表,将包含来自由所述表指示的所述逻辑块地址集的逻辑块地址的所述第二逻辑块地址集写入到所述高速缓存器。
157.本文所描述的方法1000和设备的一些实例可另外包含用于以下操作的操作、特征、装置或指令:基于所述表提供的映射,确定与所述逻辑块地址相关联的物理块地址;和对与所述物理块地址相关联的存储器单元集执行读取操作。
158.在本文所描述的方法1000和设备的一些实例中,所述表指示对应于所述逻辑块地址集的物理块地址。
159.在一些实例中,一种设备可实施本文中所描述的技术。所述设备可包含存储器系
统,其包括高速缓存器;和控制器,其与所述存储器系统耦合并被配置成使所述设备:确定被读取命令定为目标的逻辑块地址与指示各自在先前被一或多个写入命令定为目标的第一逻辑块地址集的第一表相关联,所述一或多个写入命令的接收满足定时准则;至少部分地基于所述逻辑块地址与所述第一逻辑块地址集相关联,将所述第一表写入到高速缓存器;和至少部分地基于所述第一表、指示第二逻辑块地址集和对应物理块地址的第二表,将包括来自由所述第一表指示的所述第一逻辑块地址集的逻辑块地址的所述第二逻辑块地址集写入到所述高速缓存器。
160.在所述设备的一些实例中,所述第一逻辑块地址集包括数值上连续的逻辑块地址。在所述设备的一些实例中,所述定时准则规定以第一逻辑块地址为目标的写入命令的接收与以和所述第一逻辑块地址在数值上连续的第二逻辑块为目标的第二写入命令的接收之间的阈值持续时间。
161.在所述设备的一些实例中,所述控制器被进一步配置成致使所述设备:至少部分地基于所述第一表、指示第三逻辑块地址集和对应物理块地址的第三表,将包括来自由所述第一表指示的所述第一逻辑块地址集的逻辑块地址的所述第三逻辑块地址集写入到所述高速缓存器。
162.在所述设备的一些实例中,所述控制器被进一步配置成致使所述设备:在将第三表加载到高速缓存器中之后,接收针对第二逻辑块地址的第二读取命令,所述第三表指示对应于第二逻辑块地址的物理块地址。
163.在所述设备的一些实例中,所述控制器被进一步配置成致使所述设备:至少部分地基于所述第一逻辑块地址集中的所述逻辑块地址中的每一个被在相对于前一写入命令的阈值持续时间内接收到的写入命令定为目标,在所述第一表中写入一或多个值,所述前一写入命令与所述第一逻辑块地址集中的数值上连续的逻辑块地址相关联。
164.在所述设备的一些实例中,所述控制器被进一步配置成致使所述设备:确定所述第一表与指示第三逻辑块地址集的第三表相关联,所述第三逻辑块地址集各自在先前根据所述定时准则作为一或多个写入操作的目标;和至少部分地基于确定所述第一表与所述第三表相关联,将所述第三表写入到所述高速缓存器。
165.应注意,本文中所描述的方法描述可能的实施方案,且操作和步骤可以重新布置或以其它方式加以修改,且其它实施方案是可能的。另外,可组合来自所述方法中的两种或更多种的部分。
166.可使用多种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和码片。一些图式可将信令说明为单个信号;然而,所属领域的一般技术人员应理解,信号可表示信号的总线,其中总线可具有各种位宽度。
167.术语“电子连通”、“导电接触”、“连接”和“耦合”可以指组件之间支持电子在组件之间流动的关系。如果组件之间存在可在任何时间支持信号在组件之间流动的任何导电路径,那么组件被视为彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子连通(或导电接触或连接或耦合)的组件之间的导电路径可以是开路或闭路。所连接组件之间的导电路径可以是组件之间的直
接导电路径,或所连接组件之间的导电路径可以是可包含如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
168.术语“耦合”是指从组件之间的开路关系移动到组件之间的闭路关系的条件,在开路关系中,信号当前无法通过导电路径在组件之间传达,在闭路关系中,信号能够通过导电路径在组件之间传达。当例如控制器等组件将其它组件耦合在一起时,组件起始允许信号经由先前不准许信号流动的导电路径在其它组件之间流动的改变。
169.术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。举例来说,由定位在两个组件之间的开关间隔开的组件在开关断开时彼此隔离。当控制器分隔开两个组件时,所述控制器实现以下改变:阻止信号使用先前准许信号流动的导电路径在组件之间流动。
170.如本文所用,术语“大体上”意指经修饰特征(例如由术语大体上修饰的动词或形容词)不必是绝对的但要足够接近以便获得特征的优点。
171.本文中论述的装置,包含存储器阵列,可形成于例如硅、锗、硅锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,衬底是半导体晶片。在其它实例中,衬底可以是绝缘体上硅(soi)衬底,例如玻璃上硅(sog)或蓝宝石上硅(sop),或另一衬底上的半导体材料的外延层。可通过使用包含但不限于磷、硼或砷的各种化学物质的掺杂来控制衬底或衬底的子区的导电性。可在衬底的初始形成或生长期间,通过离子植入或通过任何其它掺杂方法执行掺杂。
172.本文中所论述的开关组件或晶体管可表示场效应晶体管(fet),且包括包含源极、漏极和栅极的三端装置。所述端子可通过导电材料(例如金属)连接到其它电子元件。源极和漏极可为导电的,且可包括经重掺杂,例如简并,半导体区。源极与漏极可通过经轻掺杂半导体区或沟道分离。如果沟道是n型的(即,大部分载体为电子),那么fet可被称为n型fet。如果沟道是p型的(即,大部分载体为电洞),那么fet可被称为p型fet。沟道可由绝缘栅极氧化物封端。可通过将电压施加到栅极来控制沟道导电性。例如,将正电压或负电压分别施加到n型fet或p型fet可导致沟道变得导电。当大于或等于晶体管的阈值电压的电压被施加到晶体管栅极时,晶体管可“接通”或“激活”。当小于晶体管的阈值电压的电压施加到晶体管栅极时,晶体管可“断开”或“解除激活”。
173.本文结合附图阐述的描述内容描述了实例配置,且并不表示可以实施的或在权利要求书的范围内的所有实例。本文中所使用的术语“示范性”是指“充当实例、例子或说明”,且不“优选于”或“优于”其它实例。详细描述包含具体细节,以提供对所描述技术的理解。然而,可在没有这些具体细节的情况下实践这些技术。在一些情况下,以框图形式示出熟知结构和装置,以免混淆所描述实例的概念。
174.在附图中,类似组件或特征可以具有相同的参考标记。另外,可通过在参考标记之后跟着短划线及在类似组件当中进行区分的第二标记来区分相同类型的各种组件。如果说明书中仅使用第一参考标记,那么描述适用于具有相同第一参考标记的类似组件中的任一者,与第二参考标记无关。
175.本文中所描述的功能可在硬件、由处理器执行的软件、固件或其任何组合中实施。如果以由处理器执行的软件来实施,那么可将功能作为一或多个指令或代码存储于计算机
可读媒体上或通过计算机可读媒体予以传输。其它实例和实施在本公开和所附权利要求书的范围内。举例来说,归因于软件的性质,本文中所描述的功能可使用由处理器执行的软件、硬件、固件、硬连线或任何这些的组合来实施。实施功能的特征还可物理上位于各种位置处,包含经分布以使得功能的部分在不同物理位置处实施。
176.举例来说,可用通用处理器、dsp、asic、fpga或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或其设计成执行本文中所描述的功能的任何组合来实施或执行结合本文中的公开内容而描述的各种说明性块和模块。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可被实施为计算装置的组合(例如,dsp与微处理器的组合、多个微处理器、结合dsp核心的一或多个微处理器,或任何其它此配置)。
177.如本文中所使用,包含在权利要求书中,如在项列表(例如,前加例如
“……
中的至少一个”或
“……
中的一或多个”的短语的项列表)中所使用的“或”指示包含端点的列表,使得例如a、b或c中的至少一个的列表意指a或b或c或ab或ac或bc或abc(即,a和b和c)。另外,如本文所用,短语“基于”不应理解为提及封闭条件集。举例来说,在不脱离本公开的范围的情况下,描述为“基于条件a”的示范性步骤可基于条件a和条件b两者。换句话说,如本文所用,短语“基于”应同样地解释为短语“至少部分地基于”。
178.提供本文中的描述使得所属领域的技术人员能够进行或使用本公开。所属领域技术人员将清楚对本公开的各种修改,且本文中所定义的一般原理可应用于其它变化形式而不会脱离本公开的范围。因此,本公开不限于本文中所描述的实例和设计,而是被赋予与本文公开的原理和新颖特征一致的最宽范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1