CN114520016A - 用于存储器地址区的激活和去激活的增强 - Google Patents
用于存储器地址区的激活和去激活的增强 Download PDFInfo
- Publication number
- CN114520016A CN114520016A CN202111360070.4A CN202111360070A CN114520016A CN 114520016 A CN114520016 A CN 114520016A CN 202111360070 A CN202111360070 A CN 202111360070A CN 114520016 A CN114520016 A CN 114520016A
- Authority
- CN
- China
- Prior art keywords
- cache
- memory device
- memory
- index
- mapping
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1027—Address translation using associative or pseudo-associative address translation means, e.g. translation look-aside buffer [TLB]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/34—Determination of programming status, e.g. threshold voltage, overprogramming or underprogramming, retention
- G11C16/3418—Disturbance prevention or evaluation; Refreshing of disturbed memory data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/10—Programming or data input circuits
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/604—Details relating to cache allocation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/60—Details of cache memory
- G06F2212/608—Details relating to cache mapping
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2212/00—Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
- G06F2212/68—Details of translation look-aside buffer [TLB]
- G06F2212/684—TLB miss handling
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
本申请涉及一种用于存储器地址区的激活和去激活的增强。在一些实例中,一种存储器装置可包含:第一高速缓存,其用于存储所述存储器装置的逻辑地址与物理地址之间的映射;以及第二高速缓存,其用于存储与从所述第一高速缓存移除的条目相关联的索引。所述存储器装置可包含被配置成在接收到读取命令后将映射加载到所述第一高速缓存的控制器。当所述第一高速缓存满了时,并且当所述存储器装置接收到读取命令时,所述控制器可从所述第一高速缓存移除条目并且可将与所移除条目相关联的索引存储到所述第二高速缓存。所述控制器接着可将与所述索引相关联的映射传输到主机装置以供在HPB操作中使用。
Description
交叉参考
本专利申请要求由科勒拉(Colella)等人在2020年11月19日提交的标题为“用于存储器地址区的激活和去激活的增强(ENHANCEMENT FOR ACTIVATION AND DEACTIVATIONOF MEMORY ADDRESS REGIONS)”的第16/952,813号美国专利申请的优先权,所述美国专利申请转让给本受让人并且明确地以全文引用的方式并入本文中。
技术领域
下文大体上涉及用于存储器的一或多个系统,并且更具体地说涉及一种用于存储器地址区的激活和去激活的增强。
背景技术
存储器装置广泛用于将信息存储在例如计算机、无线通信装置、相机、数字显示器等的各种电子装置中。通过将存储器装置内的存储器单元编程为不同状态来存储信息。例如,二进制存储器单元可被编程为常常对应于逻辑1或逻辑0的两个支持状态中的一个。在一些实例中,单个存储器单元可支持多于两个可能状态,存储器单元可存储所述两个可能状态中的任一个。为了存取由存储器装置存储的信息,组件可读取或感测存储器装置内的一或多个存储器单元的状态。为了存储信息,组件可将存储器装置内的一或多个存储器单元写入或编程到对应状态。
存在各种类型的存储器装置,包含磁性硬盘、随机存取存储器(RAM)、只读存储器(ROM)、动态RAM(DRAM)、同步动态RAM(SDRAM)、铁电RAM(FeRAM)、磁性RAM(MRAM)、电阻式RAM(RRAM)、快闪存储器、相变存储器(PCM)、3维交叉点存储器(3D交叉点)、或非(NOR)以及与非(NAND)存储器装置等。存储器装置可以是易失性或非易失性的。除非由外部电源周期性地刷新,否则易失性存储器单元(例如,DRAM单元)可能随时间推移而丢失其编程状态。非易失性存储器单元(例如,NAND存储器单元)即使在不存在外部电源的情况下仍可在很长一段时间内维持其编程状态。
发明内容
描述一种存储代码的非暂时性计算机可读媒体。在一些实例中,所述存储代码的非暂时性计算机可读媒体可包含指令,所述指令可由处理器执行以:至少部分地基于从存储器装置的逻辑单元的块接收对数据的读取请求而确定所述存储器装置的第一高速缓存是否满了,其中所述存储器装置的所述第一高速缓存包括各自存储到相应槽位的多个条目,并且其中每个条目被配置成存储用于所述存储器装置的相应区的逻辑地址与物理地址之间的映射,至少部分地基于确定所述存储器装置的所述第一高速缓存满了而从所述第一高速缓存的槽位移除条目,将与从所述第一高速缓存的所述槽位移除的所述条目相关联的索引存储到所述存储器装置的第二高速缓存,其中所述索引标识与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述存储器装置的区,并且至少部分地基于将所述索引存储到所述存储器装置的所述第二高速缓存而将与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述区的逻辑地址与物理地址之间的映射传输到主机装置。
描述一种设备。在一些实例中,所述设备可包含:存储器系统,其包括被配置为第一高速缓存的存储器;以及控制器,其与所述存储器系统耦合。所述控制器可被配置成:至少部分地基于从所述存储器系统的逻辑单元的块接收对数据的读取请求而确定所述第一高速缓存是否满了,其中所述第一高速缓存包括各自存储到所述第一高速缓存的相应槽位的多个条目,并且其中每个条目被配置成存储用于所述存储器系统的相应区的逻辑地址与物理地址之间的映射,至少部分地基于确定所述第一高速缓存满了而从所述第一高速缓存的槽位移除条目,将与从所述第一高速缓存的所述槽位移除的所述条目相关联的索引存储到所述存储器系统的第二高速缓存,其中所述索引标识与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述存储器系统的区,并且至少部分地基于将所述索引存储到所述存储器系统的所述第二高速缓存而将与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述区的逻辑地址与物理地址之间的映射传输到主机装置。
描述一种系统。在一些实例中,所述系统可包含:存储器装置,其包括被配置为用于存储包含用于所述存储器装置的区的逻辑地址与物理地址之间的相应映射的条目的第一高速缓存的存储器,并且包括用于存储标识与从所述第一高速缓存移除的条目相关联的所述存储器装置的区的索引的第二高速缓存,以及主机装置,其与所述存储器装置耦合并且被配置成存储与存储到所述存储器装置的所述第二高速缓存的所述索引相关联的所述区的逻辑地址与物理地址之间的映射。
附图说明
图1和2示出根据如本文所公开的实例的支持对存储器装置的区的读取操作的系统的实例。
图3示出根据如本文所公开的实例的支持对存储器装置的区的读取操作的过程流程图的实例。
图4示出根据本公开的方面的支持对存储器装置的区的读取操作的存储器装置的框图。
图5示出说明根据如本文所公开的实例的支持对存储器装置的区的读取操作的一或多种方法的流程图。
具体实施方式
高容量存储系统可执行逻辑寻址与物理寻址之间的地址转换。受管理NAND(mNAND)装置可在NAND存储器中维持具有所有逻辑地址与物理地址之间的完整映射的表(例如,逻辑到物理(L2P)表)。由于读取L2P表条目的时间,在接收命令(例如,读取、写入)时读取每个L2P表条目可能会增加延迟。因此,一些mNAND装置可具有L2P缓冲器,所述L2P缓冲器包含其它较快类型的存储器(例如,SRAM、DRAM)以存储L2P表的部分。然而,L2P缓冲器可具有有限的空间,并且因此可能无法存储整个L2P表。
一些存储器系统包含执行当读取量满足阈值时可激活(例如,每区激活)的主机性能提升(HPB)操作的能力。HPB操作可包含将L2P表的部分(例如,对应于满足阈值的区)发送到主机系统并且允许主机系统使用用于命令的物理地址,这样通过跳过系统中的地址转换而减少延迟。然而,由于将激活区的L2P表从mNAND装置发送到主机,HPB操作可能会产生额外的延迟。因此,可能需要用于管理mNAND L2P缓冲器和HPB操作以减少延迟并且增加性能的系统。
本文描述了一种用于管理mNAND L2P缓冲器和HPB操作以减少延迟并且增加性能的系统。在一些情况下,存储器系统的L2P缓冲器可被划分(例如,分裂)到存储L2P表的一定量的块的第一高速缓存和存储与为HPB操作而激活的块相关的信息的第二高速缓存。可在每个读取操作之后以返回到标头的方式更新第一高速缓存,其中将存取区(例如,L2P表的存取块)返回到第一高速缓存的标头。
当第一高速缓存满了并且对尚未在表中的区执行新的存取操作时,可将第一高速缓存的尾部条目转变到HPB操作。在此类情况下,可将对应于尾部条目的L2P表的部分提供到主机。第二高速缓存可包含指示为HPB操作而激活的区的位映射,当L2P区被发送到主机时可更新所述区。第二高速缓存可包含为HPB操作而激活的区(例如,区索引)的表。因此,当对为HPB操作而激活的区执行读取操作(例如,由第二高速缓存的索引指示的)时,可使用由主机存储的L2P表来执行HPB操作。通过执行如本文所描述的读取操作,可通过直接从第一高速缓存加载一些L2P表来减少与HPB操作相关联的延迟。另外或替代地,第一高速缓存的性能特性可允许非HPB操作中的改进的读取速度。
在如参考图1和2所描述的系统的上下文中初始地描述本公开的特征。在如参考图3所描述的过程流程图的上下文中描述本公开的特征。本公开的这些和其它特征通过参考图4和5所描述的涉及存储器装置的区的读取操作的设备图和流程图来进一步说明和描述。
图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本地的或包含在所述主机系统中的存储器)、存储器控制器(例如,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或存储器装置140的相应物理主机接口,或经由用于包含在存储器系统110中的每种类型的存储器装置130或存储器装置140的相应物理主机接口而与存储器系统110耦合(例如,主机系统控制器106可与存储器系统控制器115耦合)。
存储器系统110可包含存储器系统控制器115、存储器装置130和存储器装置140。存储器装置130可包含第一类型的存储器单元(例如,非易失性存储器单元的类型)的一或多个存储器阵列,并且存储器装置140可包含第二类型的存储器单元(例如,易失性存储器单元的类型)的一或多个存储器阵列。虽然在图1的实例中示出一个存储器装置130和一个存储器装置140,但应理解,存储器系统110可包含任何量的存储器装置130和存储器装置140,并且在一些情况下,存储器系统110可缺少存储器装置130或存储器装置140。
存储器系统控制器115可与主机系统105耦合并且与主机系统105通信(例如,经由物理主机接口),并且可以是配置成使得存储器系统110根据如本文所描述的实例执行各种操作的控制组件的实例。存储器系统控制器115还可与存储器装置130或存储器装置140耦合并且与存储器装置130或存储器装置140通信以在存储器装置130或存储器装置140处执行一般可称为存取操作的操作,例如读取数据、写入数据、擦除数据或刷新数据,和其它此类操作。在一些情况下,存储器系统控制器115可从主机系统105接收命令并且与一或多个存储器装置130或存储器装置140通信以执行此类命令(例如,在一或多个存储器装置130或存储器装置140内的存储器阵列处)。例如,存储器系统控制器115可从主机系统105接收命令或操作,并且可将命令或操作转换成指令或适当的命令,以实现对存储器装置130或存储器装置140的所需存取。并且在一些情况下,存储器系统控制器115可与主机系统105并且与一或多个存储器装置130或存储器装置140交换数据(例如,响应于或以其它方式结合来自主机系统105的命令)。例如,存储器系统控制器115可将与存储器装置130或存储器装置140相关联的响应(例如,数据包或其它信号)转换成用于主机系统105的对应信号。
存储器系统控制器115可被配置成用于与存储器装置130或存储器装置140相关联的其它操作。例如,存储器系统控制器115可执行或管理操作,例如,耗损均衡操作、垃圾收集操作、例如错误检测操作或错误校正操作等错误控制操作、加密操作、高速缓存操作、媒体管理操作,后台刷新、健康监测,以及与来自主机系统105的命令相关联的逻辑地址(例如,逻辑块地址(LBA))和与存储器装置130或存储器装置140内的存储器单元相关联的物理地址(例如,物理块地址)之间的地址转换。
存储器系统控制器115可包含硬件,例如一或多个集成电路或离散组件、缓冲存储器,或其组合。硬件可包含具有专用(例如,硬译码)逻辑的电路,以执行本文中归于存储器系统控制器115的操作。存储器系统控制器115可以是或包含微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)、数字信号处理器(DSP)),或任何其它合适的处理器或处理电路。
存储器系统控制器115还可包含本地存储器120和120-a。在一些情况下,本地存储器120和120-a可包含只读存储器(ROM)或可存储可由存储器系统控制器115执行的操作代码(例如,可执行指令)以执行本文中归于存储器系统控制器115的功能的其它存储器。在一些情况下,本地存储器120和120-a可另外或替代地包含静态随机存取存储器(SRAM)或由存储器系统控制器115使用以用于例如与本文中归于存储器系统控制器115的功能有关的内部存储或运算的其它存储器。另外或替代地,本地存储器120和120-a可充当用于存储器系统控制器115的高速缓存。例如,在从存储器装置130或存储器装置140读取或者向存储器装置130或存储器装置140写入时,数据可存储到本地存储器120和120-a,并且可在本地存储器120和120-a内可用以用于根据高速缓存策略由主机系统105后续检索或操纵(更新)(例如,在相对于存储器装置130或存储器装置140的减少的延迟的情况下)。
尽管图1中的存储器系统110的实例已说明为包含存储器系统控制器115,但在一些情况下,存储器系统110可不包含存储器系统控制器115。例如,存储器系统110可另外或替代地依赖于外部控制器(例如,由主机系统105实施)或可分别在存储器装置130或存储器装置140内部的一或多个本地控制器135或本地控制器145,以执行本文中归于存储器系统控制器115的功能。一般来说,本文归于存储器系统控制器115的一或多个功能可在一些情况下改为由主机系统105、本地控制器135或本地控制器145或其任何组合执行。
存储器装置140可包含易失性存储器单元的一或多个阵列。例如,存储器装置140可包含随机存取存储器(RAM)存储器单元,如动态RAM(DRAM)存储器单元和同步DRAM(SDRAM)存储器单元。在一些实例中,存储器装置140可(例如,由主机系统105)支持相对于存储器装置130具有减少的延迟的随机存取操作,或可提供相对于存储器装置130的一或多个其它性能差异。
存储器装置130可包含非易失性存储器单元的一或多个阵列。例如,存储器装置130可包含NAND(例如,NAND快闪)存储器、ROM、相变存储器(PCM)、自选存储器、其它基于硫族化物的存储器、铁电RAM(FeRAM)、磁性RAM(MRAM)、NOR(例如,NOR快闪)存储器、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)和电可擦除可编程ROM(EEPROM)。
在一些实例中,存储器装置130或存储器装置140可分别包含(例如,在同一裸片上或同一封装内)本地控制器135或本地控制器145,其可执行存储器装置130或存储器装置140的一或多个存储器单元上的操作。本地控制器135或本地控制器145可结合存储器系统控制器115操作,或可进行本文中归于存储器系统控制器115的一或多个功能。在一些情况下,包含本地控制器135或本地控制器145的存储器装置130或存储器装置140可称作受管理存储器装置,并且可包含与本地(例如,裸片上或封装内)控制器(例如,本地控制器135或本地控制器145)组合的存储器阵列和相关电路。受管理存储器装置的实例是受管理NAND(MNAND)装置。
在一些情况下,存储器装置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中即可。在一些情况下,在不同平面165中执行并行操作可受制于一或多个限制,例如对不同页面175内的存储器单元执行相同操作,所述存储器单元在其相应平面165内具有相同页地址(例如,关于命令解码、页地址解码电路,及跨越平面165共享的其它电路)。
在一些情况下,块170可包含组织成行(页175)和列(例如串,未示出)的存储器单元。例如,同一页面175中的存储器单元可共享共同字线(例如,与其耦合),并且同一串中的存储器单元可共享共同数字线(其可替代地称为位线)(例如,与其耦合)。
对于一些NAND架构,存储器单元可以第一级别的粒度(例如,以页级别的粒度)读取及编程(例如,写入),但可以第二级别的粒度(例如,以块级别的粒度)擦除。也就是说,页175可以是可独立地编程或读取(例如,作为单个编程或读取操作的部分同时编程或读取)的存储器的最小单元(例如,存储器单元集合),并且块170可以是可独立地擦除(例如,作为单个擦除操作的部分同时擦除)的存储器的最小单元(例如,存储器单元集合)。此外,在一些情况下,NAND存储器单元可在其可用新数据重写之前进行擦除。因此,例如,在一些情况下,可直到包含页175的整个块170已被擦除才更新已使用的页175。
在一些情况下,可维护L2P表并且可在页粒度级别将数据标记为有效或无效,并且页175可含有效数据、无效数据或不含数据。无效数据可以是由于数据的最新版本或更新版本存储在存储器装置130的不同页175中而过时的数据。无效数据先前已编程到无效页175,但可能不再与有效逻辑地址,例如由主机系统105参考的逻辑地址相关联。有效数据可以是存储在存储器装置130上的此类数据的最新版本。不包含数据的页175可以是从未被写入或已被擦除的页175。
系统100可包含支持存储器装置的区的读取操作的任何量的非暂时性计算机可读媒体。例如,主机系统105、存储器系统控制器115、存储器装置130或存储器装置140可包含或以其它方式可存取一或多个非暂时性计算机可读媒体,所述非暂时性计算机可读媒体存储指令(例如,固件)以用于进行本文中归于主机系统105、存储器系统控制器115、存储器装置130或存储器装置140的功能。例如,此类指令在由主机系统105(例如,由主机系统控制器106)、由存储器系统控制器115、由存储器装置130(例如,由本地控制器135)或由存储器装置140(例如,由本地控制器145)执行时可使得主机系统105、存储器系统控制器115、存储器装置130或存储器装置140执行如本文所描述的一或多个相关联功能。
在一些实例中,存储器系统控制器115可包含本地存储器120,所述本地存储器120可被配置成包含第一高速缓存122和第二高速缓存124。本地存储器120可被配置成存储对应于从存储器装置130或存储器装置140加载的L2P表的部分(例如,L2P表的块的量)的条目。例如,当主机系统105将读取命令传送到存储器系统110时,存储器系统控制器115可将L2P表的部分(从存储器装置130或存储器装置140)加载到第一高速缓存122。存储器系统控制器115可基于读取命令中包含的LBA来加载L2P表的部分。存储器系统控制器115可在接收到读取命令后继续加载L2P表的部分,直到本地存储器120的第一高速缓存122满了为止。
当第一高速缓存122满了时,并且当存储器系统控制器115接收到读取命令(例如,包含不对应于存储到第一高速缓存122的条目的LBA的读取命令)时,存储器系统控制器115可从第一高速缓存122移除条目。第一高速缓存122可以返回到标头的方式存储条目,使得第一条目(例如,顶部条目)对应于存储器装置130或存储器装置140的最近存取的部分,并且最后条目(例如,底部条目)对应于存储器装置130或存储器装置140的最近最少存取的部分。在一些实例中,存储器系统控制器115可从第一高速缓存122移除最后条目。
在从第一高速缓存122移除条目后,存储器系统控制器115可将与所移除条目相关联的索引存储到第二高速缓存124。第二高速缓存124可包含与从第一高速缓存122移除的条目相关联并且标识存储器装置130或存储器装置140的区的一或多个索引。除将索引存储到第二高速缓存124之外,存储器系统控制器115还可将L2P表的部分(从第一高速缓存122移除的L2P表的部分)传输到主机系统105。因此,在后续读取操作中,主机系统105可使用包含在L2P表中的存储器装置130或存储器装置140的物理地址来执行HPB操作。
通过执行如本文所描述的读取操作,可通过直接从第一高速缓存122加载一些L2P表来减少与HPB操作相关联的延迟。此外,通过根据对相关联区域执行的读取操作的频率组织本地存储器120的条目,本地存储器120可避免跟踪每个区的读取计数,因此减少跟踪操作所需的存储量。
图2示出根据如本文所公开的实例的支持对存储器装置的区的读取操作的系统200的实例。系统200可包含主机系统205和存储器系统210。在一些实例中,主机系统205可以是主机系统105的实例,并且存储器系统210可以是如参考图1所描述的存储器系统110的实例。主机系统205可包含高速缓存225(例如,被配置为高速缓存存储区的主机系统205的存储器220的部分)以用于存储L2P表。在一些实例中,高速缓存225可存储可在HPB操作中使用的L2P表。另外或替代地,存储器系统210可包含用于存储L2P表的高速缓存235(例如,第一高速缓存235)和用于存储标识非易失性存储器245的活动区的索引的高速缓存240(例如,第二高速缓存240)。高速缓存225可存储与为HPB操作而激活的非易失性存储器245的区相关联的L2P表的部分,并且可在HPB操作中使用映射(例如,L2P表的部分)。因此,由于L2P表的部分存储到高速缓存225(例如,用于HPB操作)或高速缓存235,可对非易失性存储器245执行具有减少的延迟的读取操作。
在一些实例中,主机系统205可被配置成对存储器系统210执行存取操作(例如,读取操作、写入操作)。存储器系统210可包含非易失性存储器245,所述非易失性存储器245包含一或多个存储器单元(例如,一或多个非易失性存储器单元,例如快闪存储器单元)。例如,非易失性存储器245可包含多个区,所述多个区包含一定量的块。每个块可包含相应页集合,并且每个页可包含存储器单元的集合,例如非易失性存储器单元(例如,快闪存储器单元)的集合。在一些实例中,非易失性存储器245可包含L2P表,所述L2P表包含非易失性存储器245的逻辑地址与物理地址之间的映射。L2P表的部分可加载(例如,从非易失性存储器加载)并且存储到高速缓存235或传输到主机系统205(例如,用于在高速缓存225处存储)。
在一些情况下,主机系统205可将读取命令发出到存储器系统210,所述读取命令可或可不与HPB操作相关联。如本文所描述,通常对非易失性存储器245的活动区执行HPB操作。例如,活动区可对应于非易失性存储器245的已经历先前存取操作并且具有存储到第二高速缓存240的相关联索引的区。当读取命令由存储器系统210接收时,控制器230可确定包含在读取命令中的LBA是否包含在作为第一高速缓存235中的条目而存储的L2P表的部分中,或读取命令是否对应于非易失性存储器245的活动区(如由存储到第二高速缓存240的索引所指示)。
当相关联的L2P表存储到第一高速缓存235时,控制器230可使用存储到第一高速缓存235的L2P表的部分(例如,使用LBA与存储到第一高速缓存235的非易失性存储器245的物理地址之间的映射)来执行读取操作。在其它实例中,控制器230可确定与LBA相关联的区是活动的(例如,如由存储到第二高速缓存240的索引所指示),并且可使用由存储器系统210接收到的物理地址执行读取操作。也就是说,主机系统205可使用存储到主机系统205的L2P表的部分(例如,使用LBA与存储到高速缓存225的非易失性存储器245的物理地址之间的映射)来获得物理地址,并且可在读取操作(例如,HPB读取操作)中将物理地址发送到存储器系统210。在一些情况下,主机系统205可在HPB读取操作中发送物理地址,并且存储器系统210可针对HPB操作确定(例如,基于活动区的位映射)与LBA相关联的区已变得去激活(例如,非活动),在此情况下,存储器系统210可从存储在非易失性存储器245中的L2P表检索有效物理地址(例如,并且将所述区的L2P表返回到第一高速缓存235)。
在一些实例中,存储器系统210的第一高速缓存235可包含用于存储L2P表的部分的一或多个静态随机存取存储器(SRAM)单元。如本文所描述,L2P表可存储到非易失性存储器245,但由于大小限制,整个L2P表可能无法存储到第一高速缓存235。因此,对应于非易失性存储器245的区的L2P表的部分可存储到第一高速缓存235。
例如,第一高速缓存235可包含用于存储与非易失性存储器245的区相关联的L2P表的部分的多个槽位(例如,第一高速缓存235中的多个条目)。可基于对非易失性存储器245的相关联区执行的读取操作的量而组织存储到槽位的L2P表的部分。此组织结构可被称为“返回到标头”策略。利用返回到标头策略,控制器230可能不必跟踪对非易失性存储器245的区的读取操作的量,而传统上将跟踪HPB操作。因为所跟踪的读取操作的量可能不存储到第一高速缓存235,所以第一高速缓存235可包含用于存储L2P表的部分的额外存储区(例如,相对于传统HPB操作)。
当读取命令由存储器系统210接收时,控制器230可确定L2P表的与读取命令的LBA相关联的部分是否存储到第一高速缓存235的槽位。如果L2P表的与读取命令的LBA相关联的部分存储到第一高速缓存235的槽位,则控制器230可使用存储到第一高速缓存235的槽位的L2P表的部分对非易失性存储器245执行读取操作,并且可随后将条目(例如,对应于L2P表的部分的条目)提升到第一高速缓存235中的第一槽位(例如,提升到第一槽位位置)。在一些实例中,如果L2P表的与读取命令的LBA相关联的部分没有存储到第一高速缓存235的槽位,则控制器230可将映射(例如,从存储在非易失性存储器245中的L2P表)加载到第一高速缓存235中。如本文所描述,映射可以在与和读取请求相关联的非易失性存储器245的区相关联的逻辑地址与物理地址之间。
存储到第一高速缓存235中的相对较高的槽位的条目可表示较频繁地存取的非易失性存储器245的区。相反地,存储到第一高速缓存235中的相对较低的槽位的条目可表示较不频繁地存取的非易失性存储器245的区,并且可在第一高速缓存235满了时经受从第一高速缓存235移除。在一些实例中,第一高速缓存235可被构造为链表。在一些实例中,第一高速缓存235可在存储器系统210处组成预定量的高速缓存存储器。
在一些实例中,存储器系统210的第二高速缓存240可存储与非易失性存储器245的区相关联的索引,并且可与从第一高速缓存235移除的条目相关联。如本文所论述,第一高速缓存235可存储L2P表的部分,并且可基于存取非易失性存储器245的相关联区的频繁程度而组织L2P表的部分。当第一高速缓存235变满时,并且当由存储器系统210接收到后续读取命令时,可从第一高速缓存235移除最低条目(或在接收到多个读取命令的情况下的最低条目)。当移除条目时,与区相关联的索引(例如,标识区的索引)可存储到第二高速缓存240,并且可将L2P表的对应部分(例如,先前存储到第一高速缓存235的L2P表的部分)传输到主机系统205。
第二高速缓存240可包含用于存储与非易失性存储器245的区相关联的索引的多个槽位(例如,第二高速缓存240中的多个条目)。可基于对非易失性存储器245的相关联区执行的读取操作的量而组织存储到槽位的索引,并且因此可指示为“活动的”非易失性存储器245的区。例如,当与区相关联的索引存储到第二高速缓存240时,可设置索引的至少一个位(例如,设置为高值;即“1”)以指示所述区是活动的。活动区可指代由主机系统305(例如,使用HPB操作)相对频繁地存取的非易失性存储器245的区。相反地,较不频繁地存取和/或包含脏数据的区可被称为非活动区,并且可相应地设置对应索引的至少一个位(例如,设置为低值;即“0”)。在一些实例中,可从第二高速缓存240移除与非活动区相关联的索引。
具有存储到第二高速缓存240的索引的活动区可表示主机系统205可对其执行HPB操作的区。例如,当由存储器系统210接收到读取命令时,控制器230可确定读取命令的LBA是否与具有存储到第二高速缓存240的索引的区相关联。如果相关联的索引存储到第二高速缓存240,则控制器230可使用由主机系统205提供的L2P表的部分(例如,存储到高速缓冲存储器225)对非易失性存储器245执行读取操作。如本文所描述,在从第一高速缓存235移除条目后,可能已经将L2P表的部分传输到主机系统205。在一些实例中,如果相关联的索引没有存储到第二高速缓存240,则所述区可能不会被激活以用于来自主机系统205的HPB操作。
当对具有存储到第二高速缓存240的索引的非易失性存储器245的区执行读取操作(例如,HPB读取操作)时,控制器230可将条目(例如,存储到第二高速缓存240的索引)提升到第二高速缓存240中的第一槽位(例如,使用“返回到标头”策略提升到第一槽位位置)。存储到第二高速缓存240中的相对较高的槽位的索引可表示由主机系统205更频繁地存取(例如,使用HPB操作更频繁地存取)的非易失性存储器245的区。相反地,存储到第二高速缓存240中的相对较低的槽位的索引可表示较不频繁地存取的非易失性存储器245的区,并且可在第二高速缓存240满了时经受从第二高速缓存240移除。
当第二高速缓存240变满时,或当区内的数据变脏时,可从第二高速缓存240移除索引。例如,当第二高速缓存240变满并且由需要从第一高速缓存235移除条目的存储器系统210接收到读取命令时,可从第一高速缓存235移除最低条目,可从第二高速缓存240移除最低索引,并且可将与从第一高速缓存235移除的条目相关联的索引存储到第二高速缓存240。可将与索引相关联的至少一个位设置为指示非易失性存储器245的区为活动的值。另外或替代地,当非易失性存储器245的区内的数据变脏时,可相应地设置对应于脏区的索引的至少一个位(例如,设置成低值;即“0”)以指示所述区是非活动的,并且可从第二高速缓存240移除所述索引。
在一些实例中,存储器系统210可从主机系统205接收不与存储到第一高速缓存235的条目或存储到第二高速缓存240的索引相关联的读取命令。例如,存储器系统210可能从未接收到与相关联区相关联的读取命令,或与所述区相关联的索引可能先前已经从第二高速缓存240移除。在此类情况下,控制器230可以从非易失性存储器245加载与读取命令相关联的L2P表的部分。在加载L2P表后,控制器230可以将数据从非易失性存储器的物理地址(例如,如通过存储到加载的L2P表的映射所指示)传输到主机系统205。
通过执行如本文所描述的读取操作,可通过直接从第一高速缓存235加载一些L2P表来减少与HPB操作相关联的延迟。尽管HPB操作可以比非HPB操作相对更快地执行,但第一高速缓存235的SRAM单元的性能特性可允许非HPB操作中的改进的读取速度。此外,通过根据对相关联区执行的读取操作的频率组织第一高速缓存235的条目,第一高速缓存235可避免跟踪每个区的读取计数,因此减少跟踪操作所需的存储量。
图3示出根据如本文所公开的实例的支持对存储器装置的区的读取操作的过程流程图300的实例。在一些实例中,过程流程图300可示出主机系统305和存储器系统310的实例操作。主机系统305可以分别是主机系统205和可以是如参考图2所描述的存储器系统210的实例的存储器系统310的实例。在一些实例中,存储器系统310可包含控制器315、高速缓存320(例如,第一高速缓存320)、高速缓存325(例如,第二高速缓存325)和非易失性存储器330,其可以分别是如参考图2所描述的控制器230、高速缓存235、高速缓存240和非易失性存储器245的实例。第一高速缓存320和第二高速缓存325可以是存储器系统310的高速缓存或缓冲器的分区,并且可以具有例如预定(例如,固定)的大小。
在332处,主机系统305可任选地传输读取命令。读取命令可包含LBA并且可用于与存储器系统310的非易失性存储器330相关联的数据。在334处,存储器系统310的控制器315可任选地接收读取命令。
在336处,控制器315可任选地加载读取命令中包含的LBA与非易失性存储器330的物理地址之间的映射338。映射338可存储到非易失性存储器330,并且可以是存储到非易失性存储器的L2P表的部分。在一些实例中,映射338可与包含读取命令中包含的LBA的非易失性存储器的区相关联。
在340处,控制器315可任选地将包含映射338的条目342存储到高速缓存320。如本文所描述,高速缓存320可包含用于存储与非易失性存储器330的区相关联的条目(例如条目342)的多个槽位。所述条目可使用“返回到标头”策略组织,其中所述条目基于对非易失性存储器330的相关联区执行的读取操作的新近度而组织。在一些实例(未示出)中,存储器系统310可接收多个读取命令,并且可随后将条目加载和存储到高速缓存320直到高速缓存320满了为止。
在343处,控制器315可任选地将数据(例如,与在332处接收到的读取命令相关联的数据)传输到主机系统305。例如,可基于从非易失性存储器330加载的映射338从存储器(例如,非易失性存储器330)读取数据。
在344处,主机系统305可传输读取命令(例如,另一读取命令)。读取命令可包含LBA并且可用于与存储器系统310的非易失性存储器330相关联的数据。在346处,存储器系统310的控制器315可接收读取命令。
在348处,控制器315可确定第一高速缓存320是否满了。因为第一高速缓存320可包含有限量的槽位(例如,256个槽位),并且当存储器系统310接收到与非易失性存储器330的相应区相关联的读取命令时可填充所述槽位,所以可随时间填充第一高速缓存320。在一些实例中,如果在接收命令时占用每个槽位(例如,256个槽位中的每一个),则第一高速缓存320可能满了。在其它实例中,基于阈值,第一高速缓存320可能满了。例如,如果在接收命令时存在小于阈值量的未占用槽位,则第一高速缓存320可能满了。在又一实例中,如果在接收到命令时第一高速缓存320可能满了,则可用的槽位的量比与命令相关联的槽位的量少。例如,如果请求数据的命令需要三(3)个槽位,但仅两(2)个槽位未被占用,则第一高速缓存320可能满了。
因此,响应于确定第一高速缓存320满了并且存储器系统310接收与没有包含在存储到第一高速缓存320的映射中的LBA相关联的读取命令,可从第一高速缓存320移除条目。在一些实例中,控制器315可确定第一高速缓存320未满(例如,第一高速缓存320包含一或多个可用的槽位或足够可用的槽位)。在此些实例中,可在存储器系统310接收与非易失性存储器330的相应区相关联的读取命令时填充槽位。
在350处,控制器315可从第一高速缓存320移除条目。在一些实例中,可通过擦除数据(例如,通过擦除存储到第一高速缓存320的条目)而从第一高速缓存320移除数据。在其它实例中,可通过标识(例如,标记)为待在后续操作中覆写的数据而从第一高速缓存移除数据。如本文所描述,可使用“返回到标头”策略来组织第一高速缓存320。存储到第一高速缓存320中的相对较高的槽位的条目可表示较频繁地存取的或最近存取的非易失性存储器330的区。相反地,存储到高速缓存320中的相对较低的槽位的条目可表示非易失性存储器330的区,所述区较不频繁地或最近较少地被存取并且可在高速缓存320满了时经受移除。因此,在350处,控制器315可移除第一高速缓存320中的最后条目,所述最后条目可表示具有存储到第一高速缓存320的L2P映射的非易失性存储器330的最近最少地存取的区。
在352处,控制器315可将索引354存储到第二高速缓存325。索引354可与从第一高速缓存320移除的条目相关联。第二高速缓存325可包含用于存储与非易失性存储器330的区相关联的索引的多个槽位(例如,第二高速缓存240中的多个条目)。可基于对非易失性存储器330的相关联区执行的读取操作的量或新近度而组织存储到槽位的索引,并且因此可指示为“活动的”非易失性存储器330的区。例如,当索引354存储到第二高速缓存325时,可设置索引354的至少一个位(例如,设置为高值;即“1”)以指示非易失性存储器330的相关联区域是活动的(例如,用于HPB操作)。
在356处,控制器315可将与从第一高速缓存320移除的条目相关联的映射(例如,L2P信息)传输到主机系统305。在358处,主机系统305可接收映射,所述映射可用于HPB操作。因此,主机系统305可在对所述区执行后续读取操作时使用映射(例如,非易失性存储器330的物理地址)。如本文所描述,主机系统305可存储和参考用于后续HPB操作的映射。
在359处,控制器315可任选地将数据(例如,与在344处接收到的读取命令相关联的数据)传输到主机系统305。例如,基于从非易失性存储器330加载(并且被传输到主机系统305)的映射356可从存储器(例如,非易失性存储器330)读取数据。
在360处,主机系统305可任选地传输读取命令。读取命令可与HPB操作相关联,并且可包含非易失性存储器330的物理地址。在356处,可以在传输到主机系统305的映射中包含物理地址。在362处,存储器系统310的控制器315可任选地接收读取命令。
在364处,控制器315可任选地标识并提升存储到与读取命令中指示的非易失性存储器330的区相关联的第二高速缓存325的索引366。可将索引366提升到第二高速缓存325中的第一位置(例如,第一槽位),这可指示其与HPB操作期间最近较多地访问的区相关联。在一些实例中,索引366可包含将所述区标识为活动区的至少一个位。由于所述区是活动的,控制器315可将读取命令标识为HPB读取命令(并且因此可从由主机系统305指示的物理地址读取数据)。
在368处,控制器315可根据由读取命令指示的非易失性存储器330的物理地址任选地读取数据。在370处,控制器315可任选地将数据传输到主机系统305。
在另一实例(未示出)中,主机系统305可任选地传输读取命令,并且存储器系统310的控制器315可任选地接收读取命令。在接收到读取命令后,控制器315可任选地标识和提升存储到第二高速缓存325的与非易失性存储器330的区相关联的条目。所述条目可包含L2P表的部分,所述L2P表的部分包含由读取命令指示的LBA与非易失性存储器330的物理地址之间的映射。控制器315可将条目提升到第二高速缓存325中的第一位置(例如,第一槽位),这可指示所述条目与最近较多地访问的区相关联。另外或替代地,在提升条目之后,控制器315可根据由条目指示的非易失性存储器330的物理地址读取数据。
在又一实例(未示出)中,主机系统305可任选地传输读取命令,并且存储器系统310的控制器315可任选地接收读取命令。在接收到读取命令之后,控制器可任选地确定与读取命令相关联的条目是否没有存储到高速缓存320,或与存储到高速缓存325的读取命令相关联的索引是否也没有存储到高速缓存325。因此,控制器315可加载存储到非易失性存储器330的L2P表的部分,并且可使用LBA与非易失性存储器330的物理地址之间的映射来存取非易失性存储器330。通过执行如本文所描述的读取操作,可通过直接从高速缓存320加载一些L2P表来减少与HPB操作相关联的延迟。尽管HPB操作可以比没有LP2信息存储在第一高速缓存320中的非HPB操作相对更快地执行,但是如果L2P信息在非HPB操作之前存在于第一高速缓存320中,则第一高速缓存320的性能特性可允许非HPB操作中的改进的读取速度。
图4示出根据本文所公开的实例的支持对存储器装置的区的读取操作的存储器装置405的框图400。存储器装置405可以是如参考图1至3所描述的存储器装置的方面的实例。存储器装置405可包含确定组件410、移除组件415、存储组件420、传输组件425、接收组件430、标识组件435、提升组件440、设置组件445和加载组件450。这些模块中的每一个可彼此直接或间接(例如,经由一或多个总线)通信。
确定组件410可基于从存储器装置的逻辑单元的块接收对数据的读取请求而确定存储器装置的第一高速缓存是否满了,其中存储器装置的第一高速缓存包含各自存储到相应槽位的条目集合,并且其中每个条目被配置成存储存储器装置的相应区的逻辑地址与物理地址之间的映射。在一些实例中,确定组件410可确定存储器装置的第一高速缓存的条目是否包含第三读取请求中包含的逻辑地址与存储器装置的物理地址之间的映射。
在一些实例中,确定组件410可基于从第一高速缓存的槽位移除条目而确定存储器装置的第二高速缓存是否满了。在一些实例中,确定组件410可确定存储器装置的第一高速缓存是否不包含条目,所述条目包含第五读取请求的逻辑地址与存储器装置的物理地址之间的映射。
移除组件415可基于确定存储器装置的第一高速缓存满了而从第一高速缓存的槽位移除条目。在一些实例中,移除组件415可基于确定存储器装置的第二高速缓存满了而从存储器装置的第二高速缓存移除第二索引,其中存储与从第一高速缓存的槽位移除的条目相关联的索引是基于移除第二索引。在一些实例中,移除组件415可从存储器装置的第二高速缓存移除第二索引是基于第二索引处于表中的最后位置。
存储组件420可将与从第一高速缓存的槽位移除的条目相关联的索引存储到存储器装置的第二高速缓存,其中所述索引标识与从第一高速缓存的槽位移除的条目相关联的存储器装置的区。
传输组件425可基于将索引存储到存储器装置的第二高速缓存而将与从第一高速缓存的槽位移除的条目相关联的区的逻辑地址与物理地址之间的映射传输到主机装置。在一些实例中,传输组件425可基于接收到第二读取请求而将数据从存储器装置的物理地址传输到主机装置。
在一些实例中,传输组件425可基于确定第一高速缓存的条目包含映射而将数据从存储器装置的物理地址传输到主机装置。在一些实例中,传输组件425可基于加载映射而将数据从存储器装置的物理地址传输到主机装置。在一些实例中,传输组件425可基于加载映射而将数据从存储器装置的物理地址传输到主机装置。
接收组件430可在将映射传输到主机装置之后从主机装置接收对存储器装置的数据的第二读取请求,其中第二读取请求包含存储器装置的区的物理地址。在一些实例中,接收组件430可在将映射传输到主机装置之后从主机装置接收对存储器装置的数据的第三读取请求,其中第三读取请求包含与存储器装置的区相关联的逻辑地址。
在一些实例中,接收组件430可在将第二索引的至少一个位的值设置为第二值之后从主机装置接收对存储器装置的数据的第四读取请求,其中第四读取请求包含与存储器装置的与第二索引相关联的区相关联的逻辑地址。在一些实例中,接收组件430可在将映射传输到主机装置之后从主机装置接收对存储器装置的数据的第五读取请求,其中第五读取请求包含与存储器装置的区相关联的逻辑地址。
标识组件435可标识与区相关联的索引,所述区包含第二读取请求中包含的物理地址。
提升组件440将索引提升到包含索引集合的表中的第一位置。在一些实例中,提升组件440可基于确定第一高速缓存的条目包含映射而将包含第三读取请求中包含的逻辑地址与存储器装置的物理地址之间的映射的第一高速缓存的条目提升到第一高速缓存的第一槽位。
设置组件445可将索引的至少一个位的值设置为第一值,其中第一值指示存储器装置的与索引相关联的区是活动的。在一些实例中,设置组件445可将存储到存储器装置的第二高速缓存的第二索引的至少一个位的值设置为第二值,其中所述第二值指示存储器装置的与第二索引相关联的区是非活动的。
加载组件450可从存储器装置加载与存储器装置的与第二索引相关联的区相关联的逻辑地址与物理地址之间的映射。在一些实例中,加载组件450可将与存储器装置的与第五读取请求相关联的区相关联的逻辑地址与物理地址之间的映射从存储器装置的存储区域的部分加载到第一高速缓存中。
图5示出说明根据本公开的方面的支持对存储器装置的区的读取操作的一或多种方法500的流程图。方法500的操作可由如本文所描述的存储器装置或其组件实施。例如,方法500的操作可由如参考图4所描述的存储器装置执行。在一些实例中,存储器装置可执行指令的集合以控制存储器装置的功能元件,以执行所描述的功能。另外或替代地,存储器装置可使用专用硬件执行所描述的功能的方面。
在505处,存储器装置可基于从存储器装置的逻辑单元的块接收对数据的读取请求而确定存储器装置的第一高速缓存是否满了,其中存储器装置的第一高速缓存包含各自存储到相应槽位的条目集合,并且其中每个条目被配置成存储存储器装置的相应区的逻辑地址与物理地址之间的映射。505的操作可根据本文所描述的方法来执行。在一些实例中,505的操作的方面可由参考图4所描述的确定组件来执行。
在510处,存储器装置可基于确定存储器装置的第一高速缓存满了而从第一高速缓存的槽位移除条目。510的操作可根据本文所描述的方法执行。在一些实例中,可由参考图4所描述的移除组件来执行510的操作的方面。
在515处,存储器装置可将与从第一高速缓存的槽位移除的条目相关联的索引存储到存储器装置的第二高速缓存,其中索引标识与从第一高速缓存的槽位移除的条目相关联的存储器装置的区。515的操作可根据本文所描述的方法执行。在一些实例中,515的操作的方面可由参考图4所描述的存储组件来执行。
在520处,存储器装置可基于将索引存储到存储器装置的第二高速缓存而将与从第一高速缓存的槽位移除的条目相关联的区的逻辑地址与物理地址之间的映射传输到主机装置。520的操作可根据本文所描述的方法执行。在一些实例中,520的操作的方面可由参考图4描述的传输组件来执行。
在一些实例中,如本文所描述的设备可执行一或多种方法,例如方法500。所述设备可包含特征、装置或指令(例如,存储可由处理器执行的指令的非暂时性计算机可读媒体)以用于基于从存储器装置的逻辑单元的块接收对数据的读取请求而确定存储器装置的第一高速缓存满了,其中存储器装置的第一高速缓存包含各自存储到相应槽位的条目集合,并且其中每个条目被配置成存储用于存储器装置的相应区的逻辑地址与物理地址之间的映射,基于确定存储器装置的第一高速缓存满了而从第一高速缓存的槽位移除条目,将与从第一高速缓存的槽位移除的条目相关联的索引存储到存储器装置的第二高速缓存,其中所述索引标识与从第一高速缓存的槽位移除的条目相关联的存储器装置的区,并且基于将所述索引存储到存储器装置的第二高速缓存而将与从第一高速缓存的槽位移除的条目相关联的区的逻辑地址与物理地址之间的映射传输到主机装置。
方法500和本文所描述的设备的一些实例可进一步包含操作、特征、装置或指令,其用于:在将映射传输到主机装置之后从主机装置接收对存储器装置的数据的第二读取请求,其中第二读取请求包含存储器装置的区的物理地址;并且基于接收到第二读取请求而将数据从存储器装置的物理地址传输到主机装置。
在本文所描述的方法500和设备的一些实例中,存储器装置的第二高速缓存可包含操作、特征、装置或指令,其用于:标识与包含第二读取请求中包含的物理地址的区相关联的索引;并且将所述索引提升到包含索引集合的表中的第一位置。
本文所描述的方法500和设备的一些实例可进一步包含操作、特征、构件或指令,其用于在将映射传输到主机装置之后从主机装置接收存储器装置的对数据的第三读取请求,其中所述第三读取请求包含与存储器装置的区相关联的逻辑地址,确定存储器装置的第一高速缓存的条目包含第三读取请求中包含的逻辑地址与存储器装置的物理地址之间的映射,并且基于确定第一高速缓存的条目包含映射而将数据从存储器装置的物理地址传输到主机装置。
本文所描述的方法500和设备的一些实例可进一步包含操作、特征、装置或指令,其用于基于确定第一高速缓存的条目包含映射而将包含第三读取请求中包含的逻辑地址与存储器装置的物理地址之间的映射的第一高速缓存的条目提升到第一高速缓存的第一槽位。
在本文所描述的方法500和设备的一些实例中,将索引存储到存储器装置的第二高速缓存可包含操作、特征、装置或指令,其用于将索引的至少一个位的值设置为第一值,其中所述第一值指示存储器装置的与索引相关联的区可以是活动的。
本文所描述的方法500和设备的一些实例可进一步包含操作、特征、装置或指令,其用于将存储到存储器装置的第二高速缓存的第二索引的至少一个位的值设置为第二值,其中第二值指示存储器装置的与第二索引相关联的区可以是非活动的。
本文所描述的方法500和设备的一些实例可进一步包含的操作、特征、装置或指令,其用于在将第二索引的至少一个位的值设置为第二值之后从主机装置接收存储器装置的对数据的第四读取请求,其中所述第四读取请求包含与存储器装置的与第二索引相关联的区相关联的逻辑地址,从所述存储器装置加载与存储器装置的与第二索引相关联的区相关联的逻辑地址与物理地址之间的映射,并且基于加载映射而将数据从存储器装置的物理地址传输到主机装置。
本文所描述的方法500和设备的一些实例可进一步包含操作、特征、装置或指令,其用于:基于从第一高速缓存的槽位移除条目而确定存储器装置的第二高速缓存可能满了;并且基于确定存储器装置的第二高速缓存可能满了而从存储器装置的第二高速缓存移除第二索引,其中存储与从第一高速缓存的槽位移除的条目相关联的索引可基于移除第二索引。
在本文所描述的方法500和设备的一些实例中,存储器装置的第二高速缓存包含表,所述表包含标识存储器装置的与从第一高速缓存的相应槽位移除的条目相关联的区的索引集合,并且从存储器装置的第二高速缓存移除第二索引可基于第二索引处于表中的最后位置。
本文所描述的方法500和设备的一些实例可进一步包含操作、特征、装置或指令,其用于:在将映射传输到主机装置之后从主机装置接收存储器装置的对数据的第五读取请求,其中所述第五读取请求包含与存储器装置的区相关联的逻辑地址;确定存储器装置的第一高速缓存并不包含条目,所述条目包含第五读取请求的逻辑地址与存储器装置的物理地址之间的映射;将与存储器装置的与第五读取请求相关联的区相关联的逻辑地址与物理地址之间的映射从存储器装置的存储区域的部分加载到第一高速缓存中;并且基于加载映射而将数据从存储器装置的物理地址传输到主机装置。
在本文所描述的方法500和设备的一些实例中,从第一高速缓存的槽位移除的条目可位于包含条目集合的表的最后位置。
应注意,上文描述的方法描述了可能的实施方案,并且操作和步骤可以重新布置或以其它方式加以修改,并且其它实施方案是可能的。此外,可组合来自方法中的两种或更多种的部分。
描述一种设备。所述设备可包含:存储器系统,其包含被配置为第一高速缓存的存储器,控制器,其与所述存储器系统耦合,其中所述控制器被配置成:基于确定所述第一高速缓存满了而从所述第一高速缓存的槽位移除条目,将与从所述第一高速缓存的所述槽位移除的所述条目相关联的索引存储到所述存储器系统的第二高速缓存,其中所述索引标识与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述存储器系统的区,并且基于将所述索引存储到所述存储器系统的所述第二高速缓存而将与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述区的逻辑地址与物理地址之间的映射传输到主机装置。
一些实例可进一步包含:在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器系统的数据的第二读取请求,其中所述第二读取请求包含所述存储器系统的所述区的物理地址,并且基于接收到所述第二读取请求而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
在一些实例中,所述存储器系统的所述第二高速缓存可包含操作、特征、装置或指令,其用于标识与包含所述第二读取请求中包含的物理地址的区相关联的索引并且将所述索引提升到包含索引集合的表中的第一位置。
一些实例可进一步包含:在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器系统的数据的第三读取请求,其中所述第三读取请求包含与所述存储器系统的区相关联的逻辑地址,确定所述存储器系统的所述第一高速缓存的条目是否包含所述第三读取请求中包含的所述逻辑地址与所述存储器系统的物理地址之间的映射,并且基于确定所述第一高速缓存的所述条目包含所述映射而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
一些实例可进一步包含基于确定所述第一高速缓存的所述条目包含所述映射而将包含所述第三读取请求中包含的所述逻辑地址与所述存储器系统的所述物理地址之间的所述映射的所述第一高速缓存的所述条目提升到所述第一高速缓存的第一槽位。
一些实例可进一步包含将存储到存储器系统的第二高速缓存的第二索引的至少一个位的值设置为第二值,其中所述第二值指示存储器系统的与第二索引相关联的区是非活动的。
一些实例可进一步包含:在将所述第二索引的所述至少一个位的所述值设置为第二值之后从所述主机装置接收对所述存储器系统的数据的第四读取请求,其中所述第四读取请求包含与所述存储器系统的与所述第二索引相关联的所述区相关联的逻辑地址,从所述存储器系统加载与所述存储器系统的与所述第二索引相关联的所述区相关联的所述逻辑地址与物理地址之间的映射,并且基于加载所述映射而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
一些实例可进一步包含基于从所述第一高速缓存的所述槽位移除所述条目而确定所述存储器系统的所述第二高速缓存可能满了,并且基于确定所述存储器系统的所述第二高速缓存可能满了而从所述存储器系统的所述第二高速缓存移除第二索引,其中存储与从所述第一高速缓存的所述槽位移除的所述条目相关联的索引可基于移除第二索引。
一些实例可进一步包含:在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器系统的数据的第五读取请求,其中所述第五读取请求包含与所述存储器系统的区相关联的逻辑地址,确定所述存储器系统的所述第一高速缓存是否不包含条目,所述条目包含所述第五读取请求的所述逻辑地址与所述存储器系统的物理地址之间的映射,将与所述存储器系统的与所述第五读取请求相关联的所述区相关联的所述逻辑地址与物理地址之间的映射从所述存储器系统的存储区域的部分加载到所述第一高速缓存中,并且基于加载所述映射而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
可以使用各种不同技术和技艺中的任一个来表示本文中所描述的信息和信号。例如,可以用电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能参考的数据、指令、命令、信息、信号、位、符号和芯片。一些图式可以将信号示出为单个信号;然而,本领域的一般技术人员将理解,所述信号可以表示信号总线,其中总线可以具有多种位宽度。
术语“电子连通”、“导电接触”、“连接”和“耦合”可指支持信号在组件之间流动的组件之间的关系。如果组件之间存在可以在任何时间支持信号在组件之间流动的任何导电路径,则认为组件彼此电子通信(或彼此导电接触、或彼此连接、或彼此耦合)。在任何给定时间,基于包含所连接组件的装置的操作,彼此电子通信(或彼此导电接触,或彼此连接,或彼此耦合)的组件之间的导电路径可为开路或闭路。所连接组件之间的导电路径可以是组件之间的直接导电路径,或所连接组件之间的导电路径可以是可包含例如开关、晶体管或其它组件的中间组件的间接导电路径。在一些实例中,可以例如使用例如开关或晶体管等一或多个中间组件来中断所连接组件之间的信号流一段时间。
术语“耦合”指从组件之间的开路关系移动到组件之间的闭路关系的条件,在所述开路关系中,信号当前无法通过导电路径在所述组件之间传达,在所述闭路关系中,信号能够通过所述导电路径在所述组件之间传达。在例如控制器等组件将其它组件耦合在一起时,组件发起允许信号通过先前不准许信号流动的导电路径在其它组件之间流动的改变。
术语“隔离”是指信号当前不能在组件之间流动的组件之间的关系。如果组件之间存在开路,则组件彼此隔离。例如,由定位在两个组件之间的开关分开的所述组件在开关断开时彼此隔离。当控制器隔离两个组件时,控制器实现以下改变:防止信号使用先前准许信号流动的导电路径在组件之间流动。
如果用于描述条件性动作或过程,术语“如果……,则……”、“当……时”、“基于……”、“至少部分地基于……”和“响应于……”可互换。
本文所论述的包含存储器阵列的装置可形成于例如硅、锗、硅-锗合金、砷化镓、氮化镓等半导体衬底上。在一些实例中,所述衬底是半导体晶片。在其它实例中,衬底可以是绝缘体上硅(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)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘用激光以光学方式再现数据。以上各项的组合也包含在计算机可读媒体的范围内。
提供本文中的描述以使本领域的技术人员能够制造或使用本公开。所属领域的技术人员将清楚对本公开的各种修改,并且可在不脱离本公开的范围的情况下将本文所定义的一般原理应用于其它变化形式。因此,本发明不限于本文所述的实例和设计,而是被赋予与本文所公开的原理和新颖特征一致的最宽范围。
Claims (25)
1.一种存储代码的非暂时性计算机可读媒体,所述代码包括指令,所述指令能由处理器执行以:
至少部分地基于从存储器装置的逻辑单元的块接收对数据的读取请求而确定所述存储器装置的第一高速缓存是否满了,其中所述存储器装置的所述第一高速缓存包括各自存储到相应槽位的多个条目,并且其中每个条目被配置成存储用于所述存储器装置的相应区的逻辑地址与物理地址之间的映射;
至少部分地基于确定所述存储器装置的所述第一高速缓存满了而从所述第一高速缓存的槽位移除条目;
将与从所述第一高速缓存的所述槽位移除的所述条目相关联的索引存储到所述存储器装置的第二高速缓存,其中所述索引标识与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述存储器装置的区;并且
至少部分地基于将所述索引存储到所述存储器装置的所述第二高速缓存而将与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述区的逻辑地址与物理地址之间的映射传输到主机装置。
2.根据权利要求1所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器装置的数据的第二读取请求,其中所述第二读取请求包括所述存储器装置的所述区的物理地址;以及
至少部分地基于接收到所述第二读取请求而将数据从所述存储器装置的所述物理地址传输到所述主机装置。
3.根据权利要求2所述的非暂时性计算机可读媒体,其中所述存储器装置的所述第二高速缓存包括表,所述表包含标识与从所述第一高速缓存的相应槽位移除的条目相关联的所述存储器装置的区的多个索引,并且其中所述指令能进一步由所述处理器执行以:
标识与包含所述第二读取请求中包含的所述物理地址的所述区相关联的所述索引;并且
将所述索引提升到包含所述多个索引的所述表中的第一位置。
4.根据权利要求1所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器装置的数据的第三读取请求,其中所述第三读取请求包括与所述存储器装置的区相关联的逻辑地址;
确定所述存储器装置的所述第一高速缓存的条目是否包含所述第三读取请求中包含的所述逻辑地址与所述存储器装置的物理地址之间的映射;并且
至少部分地基于确定所述第一高速缓存的所述条目包含所述映射而将数据从所述存储器装置的所述物理地址传输到所述主机装置。
5.根据权利要求4所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
至少部分地基于确定所述第一高速缓存的所述条目包含所述映射而将包含所述第三读取请求中包含的所述逻辑地址与所述存储器装置的所述物理地址之间的所述映射的所述第一高速缓存的所述条目提升到所述第一高速缓存的第一槽位。
6.根据权利要求1所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以通过以下操作将所述索引存储到所述存储器装置的所述第二高速缓存:
将所述索引的至少一个位的值设置为第一值,其中所述第一值指示所述存储器装置的与所述索引相关联的所述区是活动的。
7.根据权利要求1所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
将存储到所述存储器装置的所述第二高速缓存的第二索引的至少一个位的值设置为第二值,其中所述第二值指示所述存储器装置的与所述第二索引相关联的所述区是非活动的。
8.根据权利要求7所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
在将所述第二索引的所述至少一个位的所述值设置成所述第二值之后从所述主机装置接收对所述存储器装置的数据的第四读取请求,其中所述第四读取请求包括与所述存储器装置的与所述第二索引相关联的所述区相关联的逻辑地址;
从所述存储器装置加载与所述存储器装置的与所述第二索引相关联的所述区相关联的所述逻辑地址与物理地址之间的映射;并且
至少部分地基于加载所述映射而将数据从所述存储器装置的所述物理地址传输到所述主机装置。
9.根据权利要求1所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
至少部分地基于从所述第一高速缓存的所述槽位移除所述条目而确定所述存储器装置的所述第二高速缓存是否满了;并且
至少部分地基于确定所述存储器装置的所述第二高速缓存满了而从所述存储器装置的所述第二高速缓存移除第二索引,其中存储与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述索引至少部分地基于移除所述第二索引。
10.根据权利要求9所述的非暂时性计算机可读媒体,其中:
所述存储器装置的所述第二高速缓存包括表,所述表包含标识所述存储器装置的与从所述第一高速缓存的相应槽位移除的条目相关联的区的多个索引;并且
从所述存储器装置的所述第二高速缓存移除所述第二索引至少部分地基于所述第二索引处于所述表中的最后位置。
11.根据权利要求1所述的非暂时性计算机可读媒体,其中所述指令能进一步由所述处理器执行以:
在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器装置的数据的第五读取请求,其中所述第五读取请求包括与所述存储器装置的区相关联的逻辑地址;
确定所述存储器装置的所述第一高速缓存是否不包含条目,所述条目包含所述第五读取请求的所述逻辑地址与所述存储器装置的物理地址之间的映射;
将与所述存储器装置的与所述第五读取请求相关联的所述区相关联的所述逻辑地址与物理地址之间的映射从所述存储器装置的存储区域的部分加载到所述第一高速缓存中;并且
至少部分地基于加载所述映射而将数据从所述存储器装置的所述物理地址传输到所述主机装置。
12.根据权利要求1所述的非暂时性计算机可读媒体,其中从所述第一高速缓存的所述槽位移除的所述条目位于包括所述多个条目的表的最后位置中。
13.一种设备,其包括:
存储器系统,其包括被配置为第一高速缓存的存储器;以及
控制器,其与所述存储器系统耦合,其中所述控制器被配置成:
至少部分地基于从所述存储器系统的逻辑单元的块接收对数据的读取请求而确定所述第一高速缓存是否满了,其中所述第一高速缓存包括各自存储到所述第一高速缓存的相应槽位的多个条目,并且其中每个条目被配置成存储用于所述存储器系统的相应区的逻辑地址与物理地址之间的映射;
至少部分地基于确定所述第一高速缓存满了而从所述第一高速缓存的槽位移除条目;
将与从所述第一高速缓存的所述槽位移除的所述条目相关联的索引存储到所述存储器系统的第二高速缓存,其中所述索引标识与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述存储器系统的区;并且
至少部分地基于将所述索引存储到所述存储器系统的所述第二高速缓存而将与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述区的逻辑地址与物理地址之间的映射传输到主机装置。
14.根据权利要求13所述的设备,其中所述控制器被配置成:
在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器系统的数据的第二读取请求,其中所述第二读取请求包括所述存储器系统的所述区的物理地址;并且
至少部分地基于接收到所述第二读取请求而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
15.根据权利要求14所述的设备,其中所述存储器系统的所述第二高速缓存包括表,所述表包含标识与从所述第一高速缓存的相应槽位移除的条目相关联的所述存储器系统的区的多个索引,其中所述控制器被配置成:
标识与包含所述第二读取请求中包含的所述物理地址的所述区相关联的所述索引;并且
将所述索引提升到包含所述多个索引的所述表中的第一位置。
16.根据权利要求13所述的设备,其中所述控制器被配置成:
在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器系统的数据的第三读取请求,其中所述第三读取请求包括与所述存储器系统的区相关联的逻辑地址;
确定所述存储器系统的所述第一高速缓存的条目是否包含所述第三读取请求中包含的所述逻辑地址与所述存储器系统的物理地址之间的映射;并且
至少部分地基于确定所述第一高速缓存的所述条目包含所述映射而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
17.根据权利要求16所述的设备,其中所述控制器被配置成:
至少部分地基于确定所述第一高速缓存的所述条目包含所述映射而将包含所述第三读取请求中包含的所述逻辑地址与所述存储器系统的所述物理地址之间的所述映射的所述第一高速缓存的所述条目提升到所述第一高速缓存的第一槽位。
18.根据权利要求13所述的设备,其中所述控制器被配置成:
将存储到所述存储器系统的所述第二高速缓存的第二索引的至少一个位的值设置为第二值,其中所述第二值指示所述存储器系统的与所述第二索引相关联的所述区是非活动的。
19.根据权利要求18所述的设备,其中所述控制器被配置成:
在将所述第二索引的所述至少一个位的所述值设置成所述第二值之后从所述主机装置接收对所述存储器系统的数据的第四读取请求,其中所述第四读取请求包括与所述存储器系统的与所述第二索引相关联的所述区相关联的逻辑地址;
从所述存储器系统加载与所述存储器系统的与所述第二索引相关联的所述区相关联的所述逻辑地址与物理地址之间的映射;并且
至少部分地基于加载所述映射而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
20.根据权利要求13所述的设备,其中所述控制器被配置成:
至少部分地基于从所述第一高速缓存的所述槽位移除所述条目而确定所述存储器系统的所述第二高速缓存是否满了;并且
至少部分地基于确定所述存储器系统的所述第二高速缓存满了而从所述存储器系统的所述第二高速缓存移除第二索引,其中存储与从所述第一高速缓存的所述槽位移除的所述条目相关联的所述索引至少部分地基于移除所述第二索引。
21.根据权利要求13所述的设备,其中所述控制器被配置成:
在将所述映射传输到所述主机装置之后从所述主机装置接收对所述存储器系统的数据的第五读取请求,其中所述第五读取请求包括与所述存储器系统的区相关联的逻辑地址;
确定所述存储器系统的所述第一高速缓存是否不包含条目,所述条目包含所述第五读取请求的所述逻辑地址与所述存储器系统的物理地址之间的映射;
将与所述存储器系统的与所述第五读取请求相关联的所述区相关联的所述逻辑地址与物理地址之间的映射从所述存储器系统的存储区域的部分加载到所述第一高速缓存中;并且
至少部分地基于加载所述映射而将数据从所述存储器系统的所述物理地址传输到所述主机装置。
22.一种系统,其包括:
存储器装置,其包括被配置为用于存储包含用于所述存储器装置的区的逻辑地址与物理地址之间的相应映射的条目的第一高速缓存的存储器,并且包括用于存储标识与从所述第一高速缓存移除的条目相关联的所述存储器装置的区的索引的第二高速缓存;以及
主机装置,其与所述存储器装置耦合并且被配置成存储与存储到所述存储器装置的所述第二高速缓存的所述索引相关联的所述区的逻辑地址与物理地址之间的映射。
23.根据权利要求22所述的系统,其中所述存储器装置被配置成:
至少部分地基于确定所述存储器装置的所述第一高速缓存满了而从所述第一高速缓存移除条目;
存储标识与从所述第一高速缓存移除到所述存储器装置的所述第二高速缓存的所述条目相关联的所述存储器装置的区的索引;并且
将与从所述第一高速缓存移除的所述条目相关联的所述区的逻辑地址与物理地址之间的映射传输到所述主机装置。
24.根据权利要求23所述的系统,其中所述存储器装置的所述第二高速缓存包括表,所述表包含标识所述存储器装置的与从所述第一高速缓存的相应槽位移除的条目相关联的区的多个索引。
25.根据权利要求23所述的系统,其中:
所述主机装置被配置成在接收到所述映射之后将对包括所述存储器装置的区的物理地址的数据的读取请求传输到所述主机装置;并且
所述存储器装置被配置成响应于接收到相应读取请求而从所述存储器装置的所述物理地址传输数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/952,813 US11379367B2 (en) | 2020-11-19 | 2020-11-19 | Enhancement for activation and deactivation of memory address regions |
US16/952,813 | 2020-11-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114520016A true CN114520016A (zh) | 2022-05-20 |
CN114520016B CN114520016B (zh) | 2022-12-20 |
Family
ID=81586667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111360070.4A Active CN114520016B (zh) | 2020-11-19 | 2021-11-17 | 用于存储器地址区的激活和去激活的增强 |
Country Status (2)
Country | Link |
---|---|
US (2) | US11379367B2 (zh) |
CN (1) | CN114520016B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190057038A1 (en) * | 2017-08-21 | 2019-02-21 | Micron Technology, Inc. | Logical to physical mapping |
US20190317894A1 (en) * | 2018-04-12 | 2019-10-17 | Micron Technology, Inc. | Address Map Caching for a Memory System |
CN111475427A (zh) * | 2019-01-24 | 2020-07-31 | 西部数据技术公司 | 使用低延迟非易失性存储器进行逻辑至物理映射管理 |
CN111538682A (zh) * | 2018-12-31 | 2020-08-14 | 美光科技公司 | 混合逻辑到物理高速缓存方案 |
US20200310981A1 (en) * | 2019-03-27 | 2020-10-01 | SK Hynix Inc. | Controller, memory system and operating method thereof |
CN111949566A (zh) * | 2019-05-15 | 2020-11-17 | 爱思开海力士有限公司 | 用于传输存储器系统中的映射数据的设备和方法 |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5907681A (en) * | 1997-10-20 | 1999-05-25 | International Business Machines Corporation | Intelligent method, apparatus and computer program product for automated refreshing of internet web pages |
US6678731B1 (en) * | 1999-07-08 | 2004-01-13 | Microsoft Corporation | Controlling access to a network server using an authentication ticket |
US6429984B1 (en) * | 1999-08-06 | 2002-08-06 | Komag, Inc | Circuit and method for refreshing data recorded at a density sufficiently high to undergo thermal degradation |
GB0108354D0 (en) * | 2001-04-03 | 2001-05-23 | Thirdspace Living Ltd | System and method for providing a user with access to a plurality of sevices and content from a broadband television service |
US6944708B2 (en) * | 2002-03-22 | 2005-09-13 | Intel Corporation | Method of self-refresh in large memory arrays |
US6931484B2 (en) * | 2002-04-25 | 2005-08-16 | Intel Corporation | Method and apparatus for handling memory refresh and maintenance operations |
US6956782B2 (en) * | 2003-09-30 | 2005-10-18 | Infineon Technologies Ag | Selective bank refresh |
US7793036B2 (en) * | 2007-05-30 | 2010-09-07 | Intel Corporation | Method and arrangements for utilizing NAND memory |
TWI435215B (zh) * | 2009-08-26 | 2014-04-21 | Phison Electronics Corp | 下達讀取指令與資料讀取方法、控制器與儲存系統 |
US8484288B2 (en) * | 2009-10-09 | 2013-07-09 | International Business Machines Corporation | Linking virtual worlds and collaboration platforms bi-directionally using a central identity management system |
US8392650B2 (en) * | 2010-04-01 | 2013-03-05 | Intel Corporation | Fast exit from self-refresh state of a memory device |
US8626718B2 (en) * | 2010-10-29 | 2014-01-07 | Verizon Patent And Licensing Inc. | Content caching based on refresh and expiration times |
CN102868588B (zh) * | 2011-07-07 | 2016-05-11 | 腾讯科技(深圳)有限公司 | 停靠栏的实现方法和装置 |
US9251086B2 (en) * | 2012-01-24 | 2016-02-02 | SanDisk Technologies, Inc. | Apparatus, system, and method for managing a cache |
US8990477B2 (en) * | 2012-04-19 | 2015-03-24 | Sandisk Technologies Inc. | System and method for limiting fragmentation |
US9146857B2 (en) * | 2012-08-18 | 2015-09-29 | Storart Technology Co. Ltd. | Method for mapping management |
US8925099B1 (en) * | 2013-03-14 | 2014-12-30 | Reputation.Com, Inc. | Privacy scoring |
CN104679669B (zh) * | 2014-11-27 | 2018-04-27 | 华为技术有限公司 | 高速缓存cache存储器系统及访问缓存行cache line的方法 |
US10432747B2 (en) * | 2015-06-10 | 2019-10-01 | Ricoh Company, Ltd. | Offline mobile capture |
US9830228B1 (en) * | 2015-10-01 | 2017-11-28 | EMC IP Holding Company LLC | Intelligent backup model for snapshots |
KR20170109133A (ko) * | 2016-03-17 | 2017-09-28 | 에스케이하이닉스 주식회사 | 하이브리드 메모리 장치 및 그의 데이터 관리 방법 |
US10530888B2 (en) * | 2016-06-01 | 2020-01-07 | Home Box Office, Inc. | Cached data expiration and refresh |
US10229047B2 (en) * | 2016-08-06 | 2019-03-12 | Wolley Inc. | Apparatus and method of wear leveling for storage class memory using cache filtering |
US9881682B1 (en) * | 2016-11-23 | 2018-01-30 | Seagate Technology Llc | Fine grained data retention monitoring in solid state drives |
JP6772794B2 (ja) * | 2016-11-30 | 2020-10-21 | 富士通株式会社 | 分散データ管理装置、分散データ管理プログラム及び分散データ管理方法 |
US10861092B1 (en) * | 2017-10-26 | 2020-12-08 | Intuit Inc. | Methods and systems for efficiently retrieving financial data for financial accounts via a comunication network |
US12118241B2 (en) * | 2017-10-27 | 2024-10-15 | SK Hynix Inc. | Memory controller, memory system, and operating method thereof |
US10867092B2 (en) * | 2017-12-16 | 2020-12-15 | Intel Corporation | Avoiding asynchronous enclave exits based on requests to invalidate translation lookaside buffer entries |
US11182106B2 (en) * | 2018-03-21 | 2021-11-23 | Arm Limited | Refresh circuit for use with integrated circuits |
CN110413214B (zh) * | 2018-04-28 | 2023-07-18 | 伊姆西Ip控股有限责任公司 | 用于存储管理的方法、设备和计算机程序产品 |
JP6995723B2 (ja) * | 2018-09-19 | 2022-01-17 | キオクシア株式会社 | メモリシステム、ストレージシステム、および制御方法 |
US11226904B2 (en) * | 2019-04-26 | 2022-01-18 | Hewlett Packard Enterprise Development Lp | Cache data location system |
US11640305B2 (en) * | 2019-07-26 | 2023-05-02 | Intel Corporation | Wake-up and timer for scheduling of functions with context hints |
US11048636B2 (en) * | 2019-07-31 | 2021-06-29 | Micron Technology, Inc. | Cache with set associativity having data defined cache sets |
US11734175B2 (en) * | 2019-08-22 | 2023-08-22 | SK Hynix Inc. | Storage device and method of operating the same |
KR102675313B1 (ko) * | 2019-10-31 | 2024-06-17 | 에스케이하이닉스 주식회사 | 메모리 컨트롤러 및 그 동작 방법 |
US11176139B2 (en) * | 2019-11-19 | 2021-11-16 | Microstrategy Incorporated | Systems and methods for accelerated contextual delivery of data |
US11755476B2 (en) * | 2020-04-13 | 2023-09-12 | SK Hynix Inc. | Memory controller, storage device including the memory controller, and method of operating the memory controller and the storage device |
US11294813B2 (en) * | 2020-04-28 | 2022-04-05 | Western Digital Technologies, Inc. | SSD address table cache management based on probability distribution |
KR20220006913A (ko) * | 2020-07-09 | 2022-01-18 | 에스케이하이닉스 주식회사 | 저장 장치 및 그 동작 방법 |
US11593356B2 (en) * | 2020-09-11 | 2023-02-28 | ForgeRock, Inc. | Never stale caching of effective properties |
JP2022050017A (ja) * | 2020-09-17 | 2022-03-30 | キオクシア株式会社 | キャッシュメモリシステムおよびキャッシュメモリ制御方法 |
KR20220037638A (ko) * | 2020-09-18 | 2022-03-25 | 에스케이하이닉스 주식회사 | 맵 캐시를 포함하는 컨트롤러 및 이를 포함하는 메모리 시스템 |
KR20220118740A (ko) * | 2021-02-19 | 2022-08-26 | 에스케이하이닉스 주식회사 | 메모리 시스템 및 호스트를 포함하는 전자 시스템 |
-
2020
- 2020-11-19 US US16/952,813 patent/US11379367B2/en active Active
-
2021
- 2021-11-17 CN CN202111360070.4A patent/CN114520016B/zh active Active
-
2022
- 2022-06-27 US US17/850,584 patent/US11886341B2/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20190057038A1 (en) * | 2017-08-21 | 2019-02-21 | Micron Technology, Inc. | Logical to physical mapping |
CN111033477A (zh) * | 2017-08-21 | 2020-04-17 | 美光科技公司 | 逻辑到物理映射 |
US20190317894A1 (en) * | 2018-04-12 | 2019-10-17 | Micron Technology, Inc. | Address Map Caching for a Memory System |
CN111538682A (zh) * | 2018-12-31 | 2020-08-14 | 美光科技公司 | 混合逻辑到物理高速缓存方案 |
CN111475427A (zh) * | 2019-01-24 | 2020-07-31 | 西部数据技术公司 | 使用低延迟非易失性存储器进行逻辑至物理映射管理 |
US20200310981A1 (en) * | 2019-03-27 | 2020-10-01 | SK Hynix Inc. | Controller, memory system and operating method thereof |
CN111752858A (zh) * | 2019-03-27 | 2020-10-09 | 爱思开海力士有限公司 | 控制器、存储器系统及其操作方法 |
CN111949566A (zh) * | 2019-05-15 | 2020-11-17 | 爱思开海力士有限公司 | 用于传输存储器系统中的映射数据的设备和方法 |
Also Published As
Publication number | Publication date |
---|---|
US11379367B2 (en) | 2022-07-05 |
CN114520016B (zh) | 2022-12-20 |
US11886341B2 (en) | 2024-01-30 |
US20220405205A1 (en) | 2022-12-22 |
US20220156185A1 (en) | 2022-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11907556B2 (en) | Data relocation operation techniques | |
US12007889B2 (en) | Valid data identification for garbage collection | |
WO2022055707A1 (en) | Data alignment for logical to physical table compression | |
US20240220162A1 (en) | Integrated pivot table in a logical-to-physical mapping | |
CN114639418A (zh) | 取消映射操作技术 | |
CN114627916A (zh) | 用于存储器装置的状态信息检索 | |
US11847468B2 (en) | Data defragmentation for a system boot procedure having random indexes indicating a relationship between sequential logical addresses and random logical addresses | |
CN114756167A (zh) | 使用压缩存储器的读取操作 | |
CN114520016B (zh) | 用于存储器地址区的激活和去激活的增强 | |
CN114546895B (zh) | 主机侧存储器地址管理 | |
US11989133B2 (en) | Logical-to-physical mapping compression techniques | |
US12111769B2 (en) | Validity mapping techniques | |
US12007897B2 (en) | Split cache for address mapping data | |
CN113885786B (zh) | 用于垃圾收集的数据分离 | |
US20240061587A1 (en) | Zone write operation techniques | |
US20240281383A1 (en) | Buffer expansion for random write operations | |
US20210373908A1 (en) | Data techniques for system boot procedures | |
CN118535081A (zh) | 用于配置存储器系统的分区架构的技术 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |