CN112433956A - 逻辑到物理表高速缓存中基于顺序写入的分区 - Google Patents
逻辑到物理表高速缓存中基于顺序写入的分区 Download PDFInfo
- Publication number
- CN112433956A CN112433956A CN202010851304.4A CN202010851304A CN112433956A CN 112433956 A CN112433956 A CN 112433956A CN 202010851304 A CN202010851304 A CN 202010851304A CN 112433956 A CN112433956 A CN 112433956A
- Authority
- CN
- China
- Prior art keywords
- logical
- address
- sequential
- physical
- addresses
- 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/10—Address translation
- G06F12/1009—Address translation using page tables, e.g. page table structures
-
- 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
- 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
- G06F12/023—Free address space management
- G06F12/0238—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
- G06F12/0246—Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
-
- 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
- G06F12/0891—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches using clearing, invalidating or resetting means
-
- 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/601—Reconfiguration of cache memory
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/654—Look-ahead translation
-
- 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/65—Details of virtual memory and virtual address translation
- G06F2212/657—Virtual address space management
-
- 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/72—Details relating to flash memory management
- G06F2212/7201—Logical to physical mapping or translation of blocks or pages
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
本申请涉及逻辑到物理表高速缓存中基于顺序写入的分区。本文描述了一种用于管理逻辑到物理表高速缓存中基于顺序写入的分区的方法。所述方法包含由存储器子系统定位高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将读取请求的一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中第一顺序写入分区中的每个条目对应于顺序写入存储器子系统的存储器组件的顺序物理地址的两个顺序逻辑地址。所述方法进一步包含基于第一条目确定与第一逻辑地址相关联的第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址,和由存储器子系统至少基于第一物理地址和第二物理地址实现读取请求。
Description
技术领域
本公开总体上涉及逻辑到物理表高速缓存,并且更具体地,涉及逻辑到物理表高速缓存中基于顺序写入的分区。
背景技术
存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以是,例如非易失性存储器组件和易失性存储器组件。总的来说,主机系统可以利用存储器子系统在存储器组件存储数据,并且从存储器组件检索数据。
发明内容
在一个方面,本公开涉及一种用于在逻辑到物理表高速缓存中管理基于顺序写入的分区的方法,所述方法包括:由存储器子系统接收引用一组顺序逻辑地址的读取请求;由所述存储器子系统定位所述逻辑到物理表高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将所述读取请求的所述一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中所述第一顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的存储器组件的顺序物理地址的两个顺序逻辑地址;由所述存储器子系统基于所述第一条目并且响应于所述第一条目是所述第一顺序写入分区的一部分,确定与所述第一逻辑地址相关联的所述第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址;以及由所述存储器子系统至少基于所述第一物理地址和所述第二物理地址实现所述读取请求。
在另一方面,本公开涉及一种用于在逻辑到物理表高速缓存中管理基于顺序写入的分区的存储器子系统,所述系统包括:存储器组件;和处理装置,所述处理装置耦合到所述存储器组件,所述处理装置配置为:检测引用一组顺序逻辑地址的读取请求;定位所述逻辑到物理表高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将所述读取请求的所述一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中所述第一顺序写入分区中的每个条目对应于顺序写入所述存储器组件的N个顺序物理地址的N个顺序逻辑地址,并且包含对物理地址的单次引用;基于所述第一条目并且响应于所述第一条目是所述第一顺序写入分区的一部分,确定与所述第一逻辑地址相关联的所述第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址;以及至少基于所述第一物理地址和所述第二物理地址实现所述读取请求。
在进一步的方面,本公开涉及一种包括指令的非暂时性计算机可读存储介质,当所述指令由处理装置执行时,使得所述处理装置:接收引用一组顺序逻辑地址的读取请求;定位逻辑到物理表高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将所述读取请求的所述一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中所述第一顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的存储器组件的顺序物理地址的两个顺序逻辑地址;基于所述第一条目并且响应于所述第一条目是所述第一顺序写入分区的一部分,确定与所述第一逻辑地址相关联的所述第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址;以及至少基于所述第一物理地址和所述第二物理地址实现所述读取请求。
附图说明
根据下面给出的详细描述和本公开的各种实施例的附图,将能更全面地理解本公开。然而,附图并不是将本发明限定到特定的实施例,而是仅用于解释和理解。
图1示出了根据本公开的一些实施例的包含存储器子系统的示例计算环境。
图2是根据本公开的一些实施例的管理逻辑到物理表高速缓存中基于顺序写入的分区的示例方法的流程图。
图3示出了根据本公开的一些实施例的逻辑到物理表高速缓存和逻辑到物理表。
图4示出了根据本公开的一些实施例的基于对八个顺序逻辑地址的顺序写入而更新的逻辑到物理表高速缓存。
图5示出了根据本公开的一些实施例的基于对四个顺序逻辑地址的顺序写入而更新的逻辑到物理表高速缓存。
图6A和6B是根据本公开的一些实施例的管理逻辑到物理表高速缓存中基于顺序写入的分区的另一个示例方法的流程图。
图7是本公开的实施例可以在其中操作的示例计算机系统的框图。
具体实施方式
本公开的各个方面涉及存储器子系统的逻辑到物理表高速缓存中基于顺序写入的分区。存储器子系统可以是存储装置、存储器模块或者存储装置和存储器模块的混合。下面结合图1描述存储装置和存储器模块的示例。总的来说,主机系统可以利用包含一或多个存储器装置的存储器子系统。存储器装置可以,例如包含非易失性存储器装置,诸如“与非”(NAND)存储器装置和原位写入存储器装置,诸如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。下面将结合图1进行更详细的描述其它类型的存储器装置,包含易失性存储器装置。主机系统可以提供要存储在存储器子系统中的数据,并且可以请求从存储器子系统中检索数据。
存储器子系统经常使用逻辑地址和物理地址的组合来执行存储器操作(例如,读取和写入操作)。具体地,主机系统使用逻辑地址来生成存储器请求(例如,读取和写入请求),而存储器子系统使用物理地址来识别一组存储器组件中的存储器元件,以满足存储器请求。为了便于这些多个地址空间,存储器子系统维持将逻辑地址映射到物理地址的逻辑到物理表。例如,当存储器子系统从引用逻辑地址的主机系统接收到写入请求时,存储器子系统在相关联的一组存储器组件中定位空闲存储器元件,并且将来自写入请求的数据写入这一空闲存储器元件。此后,存储器子系统将存储器元件的物理地址记录在对应于写入请求的逻辑地址的逻辑到物理表的条目中。因此,当从引用相同逻辑地址的主机系统接收到读取请求时,存储器子系统从对应于逻辑地址的逻辑到物理表中的条目中检索对应的物理地址,并且使用检索到的物理地址执行读取操作。因此,逻辑到物理表维持主机系统使用的逻辑地址和存储器子系统使用的物理地址之间的映射。在易失性存储器中维持这些映射可以加快逻辑地址和物理地址之间的转换。然而,基于可以在存储器子系统中使用的多个逻辑地址,逻辑到物理表对于一组存储器组件来说可能相当大,大小可能有几兆字节。在易失性存储器资源有限的情况下,存储器子系统在正常操作期间无法将整个逻辑到物理表加载到主存储器中。相反,存储器子系统将整个逻辑到物理表维持在高延迟但丰富的非易失性存储器中,并且仅将条目/映射的子集从逻辑到物理表加载到低延迟但更有限的易失性主存储器中。在这一配置中,存储在易失性主存储器中的部分逻辑到物理表可以被认为是存储在非易失性存储器中的全部逻辑到物理表的高速缓存。当存储器子系统从主机系统接收存储器请求或者内部触发存储器请求时,存储器子系统将逻辑到物理表的相关条目/映射从非易失性主存储器交换到易失性介质中的逻辑到物理表高速缓存中。一旦将存储器子系统添加到逻辑到物理表高速缓存中,它就可以从这一高速缓存执行逻辑地址到物理地址的转换。进一步地,对于包含多个逻辑地址的存储器请求,存储器子系统利用逻辑到物理表的适当映射来执行每个逻辑地址的转换。存储器子系统需要(1)在介质之间移动部分逻辑到物理表,和(2)为每个存储器请求执行多个地址转换,而这会造成实现存储器请求的开销相当大,包含延迟。
本公开的各方面通过生成包含基于对逻辑地址的顺序写入的分区的逻辑到物理表高速缓存来解决上述和其它缺陷。具体地,逻辑到物理表高速缓存的一个分区包含逻辑地址和物理地址之间的映射,而不管逻辑地址是否已经被顺序写入。这一分区有时被称为非顺序写入分区,明确地包含对非顺序写入分区中表示的每个逻辑地址的物理地址的引用。与非顺序写入分区相反,逻辑到物理表高速缓存包含一组顺序写入分区,这些顺序写入分区提供单个逻辑地址到物理地址的映射,以表示已经顺序写入的多个逻辑地址。在一个实施例中,每个顺序写入分区将逻辑地址映射到更长的地址序列。例如,所述一组顺序写入分区可以包含:第一顺序写入分区,其包含已经顺序写入的每组N个逻辑地址的单个逻辑地址到物理地址的映射(例如,单个条目);第二顺序写入分区,其包含已经顺序写入的每组N2逻辑地址的单个逻辑地址到物理地址的映射;第三顺序写入分区,其包含已经顺序写入的每组N3逻辑地址的单个逻辑地址到物理地址的映射,等等。
响应于包含一组逻辑地址的读取请求,存储器子系统可以首先试图使用逻辑到物理表高速缓存的非顺序写入分区来转换所述一组逻辑地址。使用非顺序写入分区,存储器子系统试图定位对应于读取请求的每个逻辑地址的条目。当在非顺序写入分区中定位所述一组逻辑地址的各个条目时,存储器子系统使用这些条目的物理地址来实现读取请求。响应于非顺序写入分区中的未命中,存储器子系统试图定位在逻辑到物理表高速缓存的顺序写入分区中用于导致非顺序写入分区中的未命中的逻辑地址的匹配的条目。
只有在非顺序写入分区和所述一组顺序分区都未命中之后,存储器子系统才执行从高延迟非易失性存储器中的逻辑到物理表到逻辑到物理表高速缓存的交换。顺序写入分区中的每个逻辑地址表示一系列逻辑地址,使得逻辑到物理表高速缓存能够比使用相同数量条目的传统非顺序逻辑到物理表高速缓存映射更大数量的地址。因此,如上所述,顺序写入分区通过以下方式更有效地利用有限的存储器资源:(1)限制整个逻辑到物理表高速缓存中未命中的概率和随后从较高延迟的非易失性存储器的交换,以及(2)限制用于已经顺序写入的逻辑地址的逻辑地址到物理地址查找/转换的数量。
图1示出了根据本公开的一些实施例的包含存储器子系统110的示例计算环境100。存储器子系统110可以包含介质,诸如存储器组件112A至112N(也称为“存储器装置”)。存储器组件112A至112N可以是易失性存储器组件、非易失性存储器组件或者它们的组合。存储器子系统110可以是存储装置、存储器模块或者存储装置和存储器模块的混合。存储装置的示例包含固态驱动器(SSD)、闪存驱动器、通用串行总线(USB)闪存驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用闪存存储(UFS)驱动器和硬盘驱动器(HDD)。存储器模块的示例包含双列直插式存储器模块(DIMM)、小型内存双列直插式存储器模块(DIMM)(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。
计算环境100可以包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1示出了耦合到一个存储器子系统110的主机系统120的一个示例。主机系统120使用存储器子系统110,例如向存储器子系统110写入数据,并且从存储器子系统110读取数据。如本文所使用的,“耦合到”通常指组件之间的连接,其可以是间接通信连接或者直接通信连接(例如,没有中间组件),无论是有线的还是无线的(包含诸如电、光、磁等的连接)。
主机系统120可以是计算装置,诸如台式计算机、膝上型计算机、网络服务器、移动装置、嵌入式计算机(例如,包含在车辆、工业装置或者网络化商业装置中的计算装置),或者包含存储器和处理装置的计算装置。主机系统120可以包含或者耦合到存储器子系统110,使得主机系统120可以从存储器子系统110读取数据或者向其写入数据。主机系统120可以通过物理主机接口耦合到存储器子系统110。物理主机接口的示例包含但不限于串行高级技术附件(SATA)接口、外围组件互连快速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接SCSI(SAS)等。物理主机接口可用于在主机系统120和存储器子系统110之间传输数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可以进一步利用非易失性内存主机控制器接口规范(NVMe)接口来访问存储器组件112A至112N。物理主机接口可以提供用于在存储器子系统110和主机系统120之间传递控制、地址、数据以及其它信号的接口。
存储器组件112A至112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的示例包含“与非”(NAND)型闪存存储器。存储器组件112A至112N中的每一个可以包含一或多个存储器单元阵列,诸如单层单元(SLC)、多层单元(MLC)、三层单元(TLC)或者四层单元(QLC)。在一些实施例中,特定的存储器组件可以包含存储器单元的单层单元SLC部分和多层单元MLC部分。每个存储单元可以存储主机系统120使用的一或多位数据。尽管描述了诸如NAND型闪存存储器的非易失性存储器组件,但是存储器组件112A至112N可以基于诸如易失性存储器的任何其它类型的存储器。在一些实施例中,存储器组件112A至112N可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、“或非”(NOR)闪存存储器、电可擦除可编程只读存储器(EEPROM),以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可以结合可堆叠的交叉网格数据访问阵列,基于体电阻的变化来执行位存储。此外,与许多基于闪存的存储器相比,交叉点非易失性存储器可以执行原位写入操作,其中非易失性存储器单元可以被编程,而非易失性存储器单元先前没有被擦除。更进一步地,可以对存储器组件112A至112N的存储器单元进行分组,以形成可指代用于存储数据的存储器组件112A至112N的单元的页面。使用一些类型的存储器(例如,NAND)页面可以分组以形成块。
存储器系统控制器115(以下称为“控制器”)可以与存储器组件112A至112N通信,以在存储器组件112A至112N处执行诸如读取数据、写入数据或者擦除数据的操作以及其它这样的操作。控制器115可以包含硬件,诸如一或多个集成电路和/或分立组件、缓冲存储器或者它们的组合。控制器115可以是微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或者其它合适的处理器。控制器115可以包含配置为执行存储在本地存储器119中的指令的处理器(处理装置)117。在示出的示例中,控制器115的本地存储器119包含配置为存储用于执行控制存储器子系统110的操作的各种过程、操作、逻辑流程和例程的指令的嵌入式存储器,包含处理存储器子系统110和主机系统120之间的通信。在一些实施例中,本地存储器119可以包含存储存储器指针、提取的数据等的存储器寄存器。本地存储器119还可以包含用于存储微代码的只读存储器(ROM)。虽然图1中的示例性存储器子系统110已经示出为包含控制器115,但是在本公开的另一实施例中,存储器子系统110可以不包含控制器115,而是可以依赖于外部控制(例如,由外部主机提供,或者由与存储器子系统分离的处理器或者控制器提供)。
总的来说,控制器115可以接收来自主机系统120的命令或者操作,并且可以将命令或者操作转换成指令或者适当的命令,以实现对存储器组件112A至112N的期望访问。控制器115可以负责其它操作,诸如损耗均衡操作、垃圾收集操作、错误检测和纠错码操作(ECC)、加密操作、高速缓存操作以及与存储器组件112A至112N相关联的逻辑地址(例如,逻辑块地址(LBA))和物理地址(例如,物理块地址)之间的地址转换。控制器115可以进一步包含经由物理主机接口与主机系统120通信的主机接口电路系统。主机接口电路系统可以将从主机系统接收的命令转换成访问存储器组件112A至112N的命令指令,并将与存储器组件112A至112N相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可以包含未示出的附加电路系统或者组件。在一些实施例中,存储器子系统110可以包含高速缓存或者缓冲器(例如,DRAM)和可以从控制器115接收地址并解码所述地址以访问存储器组件112A至112N的地址电路系统(例如,行解码器和列解码器)。
存储器组件112A至112N中的任何一个可以包含媒体控制器(有时称为本地控制器)(例如,媒体控制器130A和媒体控制器130N),以管理存储器组件112的存储器单元,与存储器子系统控制器115通信,以及执行从存储器子系统控制器115接收的存储器请求(例如,读取或者写入)。
存储器子系统110包含可以管理逻辑到物理表高速缓存中的基于非顺序和顺序写入的分区的存储器管理器113。在一些实施例中,控制器115包含存储器管理器113的至少一部分。例如,控制器115可以包含配置为执行存储在本地存储器119中的指令的处理器(处理装置)117,以执行本文描述的操作。在一些实施例中,存储器管理器113是主机系统110、应用或者操作系统的一部分。
在一些实施例中,存储器组件112A至112N可以是被管理的存储器装置(例如,被管理的NAND),它是与同一存储器装置封装内用于存储器管理的本地控制器(例如,媒体控制器130)相结合的原始存储器装置。媒体控制器130可以包含存储器管理器113。
存储器管理器113可以管理逻辑到物理表高速缓存中基于非顺序和顺序写入的分区,以提高读取请求的处理效率。下面对关于存储器管理器113的操作的进一步细节进行了描述。
图2是根据本公开的一些实施例的管理逻辑到物理表高速缓存中基于顺序写入的分区的示例方法200的流程图。方法200可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或者执行的指令)或者它们的组合。在一些实施例中,方法200由图1的存储器管理器113执行。尽管以特定的序列或者顺序示出,除非另有说明,过程的顺序可以修改。因此,所示出的实施例应仅被理解为示例,并且所示出的过程可以以不同的顺序执行,并且一些过程可以并行执行。此外,在各种实施例中,可以省略一或多个过程。因此,并非每个实施例中都需要所有过程。其它流程也是可能的。
在操作202,处理装置确定逻辑到物理表高速缓存的分区数量和每个分区的顺序写入长度(即,由分区中的每个条目表示的顺序逻辑地址的数量)。在这一配置中,每个分区操作作为单独的逻辑到物理表查找,用于转换逻辑地址(有时称为主机地址,主机系统120使用所述逻辑地址从存储器组件112A至112N访问数据)和物理地址,所述物理地址用于在存储器组件112A至112N中识别物理存储器元件(例如,被管理单元、存储器单元、一字节存储器、一千字节存储器等)。在一个实施例中,处理装置可以确定在逻辑到物理表高速缓存中总是包含默认的非顺序写入分区和零或多个顺序写入分区。例如,处理装置可以在操作202确定在逻辑到物理表高速缓存中将使用四个分区。具体地,处理装置可以确定四个分区将包含单个的非顺序写入分区和三个顺序写入分区。在这一配置中,非顺序写入分区包含逻辑地址和物理地址之间的映射,而不管逻辑地址是否已经被顺序写入(即,非顺序写入分区的顺序写入长度为一(即,一个逻辑地址))。具体而言,非顺序写入分区包含对非顺序写入分区中表示的每个逻辑地址的物理地址(即,单个条目)的显式映射。与非顺序写入分区相反,三个顺序写入分区提供单个逻辑地址到物理地址的映射(即,单个条目),以表示以不同长度顺序写入的多个逻辑地址。例如,处理装置可以确定第一顺序写入分区对应于顺序写入长度二,使得第一顺序写入分区中的每个条目是一组已经被顺序写入的两个逻辑地址中的第一逻辑地址的逻辑地址到物理地址的映射。类似地,处理装置可以确定第二顺序写入分区对应于顺序写入长度四,使得第二顺序写入分区中的每个条目是一组已经被顺序写入的四个逻辑地址中的第一逻辑地址的逻辑地址到物理地址的映射。同样地,处理装置可以确定第三顺序写入分区对应于顺序写入长度八,使得第三顺序写入分区中的每个条目是一组已经被顺序写入的八个逻辑地址中的第一逻辑地址的逻辑地址到物理地址的映射。
如上所述,处理装置可以确定包含单个非顺序写入分区和零或多个顺序写入分区。因此,处理装置可以在适当时选择性地利用顺序写入分区来获得优化,但是恢复到不利用顺序写入来有效处理读取请求的非顺序写入分区。例如,当处理作为基准的一部分存储器请求或者用于处理对大文件(例如,可能是顺序写入的视频)的请求时,处理装置可以确定利用逻辑到物理表高速缓存中的一或多个顺序写入分区。然而,当处理不是基准的一部分存储器请求或者用于处理对大文件的请求时,处理装置可以确定利用逻辑到物理表高速缓存中的零个顺序写入分区。类似地,处理装置可以基于一或多个因素来确定逻辑到物理表高速缓存的每个分区的大小,包含分区的使用(例如,当特定的顺序写入分区被大量使用时,处理装置可以增加与这一顺序写入分区相关联的逻辑到物理表高速缓存中的空间)。
在操作204,处理装置基于确定的分区数量和每个分区的顺序写入长度来构造逻辑到物理表高速缓存。例如,根据一个实施例,图3示出了存储在易失性存储器304(例如,本地存储器119)中的逻辑到物理表高速缓存302(有时称为分区的逻辑到物理表高速缓存302)和存储在非易失性存储器308(例如,存储器组件112A至112N)中的逻辑到物理表306(有时称为完整的逻辑到物理表306)。如本文所描述,处理装置使用逻辑到物理表高速缓存302和逻辑到物理表306的存储器组件112A至112N是“与非”(NAND)型闪存存储器或者不便于原位写入操作的另一种类型的存储器(即,不允许在没有中间擦除操作的情况下写入存储器元件的存储器技术)。因此,处理装置将来自写入请求的数据写入一组空闲物理地址312,而不是先前与写入请求的一组逻辑地址310相关联的物理地址312。
尽管被描述为存储器组件112A至112N是NAND型闪存存储器或者不便于原位写入操作的另一种类型的存储器,但是处理装置可以以类似的方式将本文描述的技术应用于原位写入存储器(即,允许直接写入物理存储器地址312而无需中间擦除操作的存储器技术)。例如,存储器组件112A至112N可以是非易失性存储器单元的交叉点阵列,其是原位写入存储器。因此,本文所描述的技术可应用于基于写入周期数易受损耗的任何存储器类型,因为这些技术将允许均匀的损耗均衡以最大化存储器子系统110的寿命。
逻辑到物理表高速缓存302可以被视为各种粒度的逻辑地址到物理地址映射的高速缓存(例如,逻辑到物理表高速缓存302中的每个条目314/316可以基于每个分区318/320的顺序写入粒度来表示一或多个逻辑地址到物理地址映射),这也反映在非易失性存储器308中的逻辑到物理表306中。在这一配置中,逻辑到物理表高速缓存302存储来自逻辑到物理表308的条目/映射的子集。如图3所示,逻辑到物理表高速缓存302包含(1)顺序写入长度为一的非顺序写入分区318(即,非顺序写入分区318中的条目314对应于没有顺序写入要求的逻辑地址310)和(2)每个分区的顺序写入长度大于或者等于二的一组顺序写入分区320(即,所述一组顺序写入分区320中的每个条目316对应于已经顺序写入的逻辑地址310,其中逻辑地址310的数量等于顺序写入分区320的相关联的顺序写入长度)。由于逻辑到物理表高速缓存302是逻辑到物理表306的高速缓存,基于逻辑到物理表高速缓存302和逻辑到物理表306之间的条目314/316和324的交换和驱逐,逻辑到物理表高速缓存302的条目314和316与逻辑到物理表306的条目324一致。
在图3的示例中,非顺序写入分区318填充有来自逻辑到物理表306的逻辑地址310的两个组块322A和322B的条目314。具体地,逻辑到物理表306可以被分成组块322的集合,并且每个组块322表示一组顺序逻辑地址310。例如,每个块322对应于128个逻辑地址310的序列组(例如,组块322A对应于逻辑地址LOG_0-LOG_127,组块322B对应于逻辑地址LOG_128-LOG_255,等等)。由于逻辑到物理表306可能太大而不能装配在易失性存储器304中处理装置可用的有限空间中,因此处理装置可以将组块322的子集加载到逻辑到物理表高速缓存302的非顺序写入分区318中。如图3所示,处理装置已经将组块322A(对应于组块索引为零)和组块322B(对应于组块索引为一)加载到逻辑到物理表高速缓存302的非顺序写入分区318中。然而,处理装置可以根据需要将其它组块322交换到非顺序写入分区318中(即,响应于逻辑到物理表高速缓存302的所有条目314和316中的未命中)。如上所述,非顺序写入分区318的顺序写入长度为一,这指示非顺序写入分区318中的每个条目314只能用于将单个逻辑地址310转换成单个物理地址312。例如,条目314A1指示逻辑地址LOG_0被映射到物理地址PHY_4821。然而,与顺序写入分区320的条目316相反,这将在下面更详细地描述,因为逻辑地址LOG_0没有与任何相邻的逻辑地址310一起顺序写入(例如,逻辑地址LOG_0和LOG_1没有顺序写入),所以条目314A1不能用于识别与任何其它逻辑地址310相关的物理地址312(例如,条目314A1不能用于识别与逻辑地址LOG_1相关的物理地址312,因为逻辑地址LOG_0和逻辑地址LOG_1之间不存在由逻辑到物理表高速缓存302指示的顺序关系)。
同样如图3所示,处理装置在操作204构造了逻辑到物理表高速缓存302,以包含第一顺序写入分区320A、第二顺序写入分区320B和第三顺序写入分区320C。第一顺序写入分区320A包含指示已经被顺序写入的每组两个逻辑地址310的单个逻辑地址到物理地址的映射的条目316A1-316AX。例如,第一顺序写入分区320A包含指示顺序写入的逻辑地址LOG_584和LOG_585的第一逻辑地址到物理地址的映射的条目316A1。具体地,如条目316A1所示,由于逻辑地址LOG_584和LOG_585被顺序写入,并且逻辑地址LOG_584被映射到物理地址PHY_627,逻辑地址LOG_585被映射到物理地址PHY_628。因此,第一顺序写入分区320A中的每个条目316A1-316AX使用单个逻辑地址到物理地址的映射(即,使用单个条目316A)来指示两个顺序写入逻辑地址310的物理地址312。类似地,第二顺序写入分区320B包含指示顺序写入的逻辑地址LOG_2220-LOG_2223的第一逻辑地址到物理地址的映射的条目316B1。具体地,如条目316B1所示,由于逻辑地址LOG_2220-LOG_2223被顺序写入,并且逻辑地址LOG_2220被映射到物理地址PHY_20,逻辑地址LOG_2221-LOG_2223分别被映射到物理地址PHY_21-PHY_23。因此,第二顺序写入分区320B中的每个条目316B1-316BY使用单个逻辑地址到物理地址的映射(即,使用单个条目316B)来指示四个顺序写入逻辑地址310的物理地址312。同样地,第三顺序写入分区320C包含指示顺序写入的逻辑地址LOG_666-LOG_673的第一逻辑地址到物理地址的映射的条目316C1。具体地,如条目316C1所示,由于逻辑地址LOG_666-LOG_673被顺序写入,并且逻辑地址LOG_666被映射到物理地址PHY_7755,逻辑地址LOG_667-LOG_673分别被映射到物理地址PHY_7756-PHY_7762。因此,第三顺序写入分区306C中的每个条目316C1-316CZ使用单个逻辑地址到物理地址的映射(即,使用单个条目316C)来指示八个顺序写入逻辑地址310的物理地址312。
尽管示出了三个顺序写入分区320(例如,顺序写入分区320A-320C),但是处理装置可以使用任何数量的顺序写入分区320(例如,零或更多个顺序写入分区320)来构造逻辑到物理表高速缓存302。如图所示,图3中的非顺序写入分区318和顺序写入分区320具有是彼此的幂的顺序写入长度(即,非顺序写入分区318的顺序写入长度是20,顺序写入分区320A的顺序写入长度是21,顺序写入分区320B的顺序写入长度是22,顺序写入分区320C的顺序写入长度是23)。然而,在其它实施例中,非顺序写入分区318和顺序写入分区320中的每一个的顺序写入长度可以具有任何关系。例如,顺序写入长度可以是顺序的(例如,非顺序写入分区318的顺序写入长度是1,顺序写入分区320A的顺序写入长度是2,顺序写入分区320B的顺序写入长度是3,顺序写入分区320C的顺序写入长度是4),顺序写入长度可以是彼此的倍数(例如,顺序写入分区320A的顺序写入长度是2,顺序写入分区320B的顺序写入长度是6,顺序写入分区320C的顺序写入长度是18),等等。
在一些实施例中,分配给每个顺序写入分区320和/或非顺序写入分区318的空间量可以是可变的。即,当新的顺序写入的逻辑地址310对应于顺序写入分区320的顺序写入长度定位时,处理装置可以扩展分配给顺序写入分区320的易失性存储器304中的空间量,使得可以将新的条目316添加到顺序写入分区320。在一些实施例中,处理装置可以从处理装置先前分配给非顺序写入分区318的空间中获取分配给顺序写入分区320的新空间。由于先前顺序写入的逻辑地址310被非顺序地重写,并且相应的条目316被从顺序写入分区320移除,所以处理装置可以减少分配给顺序写入分区320的空间,并且扩展分配给非顺序写入分区318的空间。
在一些实施例中,处理装置可以基于对每个分区318/320的使用(例如,对每个分区318/320的命中次数),将空间分配给非顺序写入分区318和所述一组顺序写入分区320中的每一个。例如,处理装置可以基于对每个分区318/320的命中数和对所有分区318/320的命中数的比率来为每个分区分配空间。在本实施例中,顺序写入分区320不能包含每组顺序写入逻辑地址310的条目316,因为顺序写入分区320中的空间是有限的。例如,当空间不允许包含每组顺序写入的逻辑地址310的条目316时,处理装置可以基于年龄驱逐条目316(即,对应的顺序写入分区320中最旧的条目316被驱逐,以支持新顺序写入的逻辑地址310组的新条目316)。
在操作206,处理装置确定是否已经检测到指向存储器组件112A至112N的写入请求(例如,已经从主机系统120接收到对存储器组件112A至112N的写入请求),或者检测到内部触发的写入请求(例如,用于损耗均衡或者垃圾收集的写入请求)。例如,写入请求可以指示(1)开始写入操作的起始逻辑地址310;(2)长度,其指示写入操作中涉及的逻辑地址310的数量;以及(3)要写入存储器组件112A至112N的数据。例如,写入请求可以指示逻辑地址LOG_0的起始地址;128的长度(即,128个逻辑地址310,包含起始逻辑地址310);以及要写入存储器组件112A至112N的128千字节的数据(例如,文本串、图像数据等)。响应于处理装置在操作206检测到写入请求,方法200移动到操作208。
在操作208,处理装置将来自写入请求的数据写入存储器组件112A至112N中的存储器元件。如本文所描述,存储器组件112A至112N是NAND型闪存存储器或者不便于原位写入操作的另一种类型的存储器(即,不允许在没有中间擦除操作的情况下写入存储器元件的存储器技术)。因此,处理装置将来自所述写入请求的数据写入一组空闲物理地址312,而不是先前与写入请求的一组逻辑地址310相关联的物理地址312。
在操作210,处理装置基于对存储器组件112A至112N的写入来更新逻辑到物理表高速缓存302和/或逻辑到物理表306。即,处理装置更新逻辑到物理表高速缓存302和逻辑到物理表306中的一或多个中的任何条目314/316和324,以反映通过对存储器组件112A至112N的写入而发生的更新的逻辑地址到物理地址的映射。例如,当处理装置在操作208基于涉及一组四个顺序逻辑地址310的写入请求执行对一组四个顺序物理地址312的写入时,处理装置添加或者更新顺序写入分区320B中的对应条目316B,以指示作为写入的结果的新的逻辑地址到物理地址的映射。例如,图4示出了响应于写入物理地址PHY_55-PHY_58以满足涉及逻辑地址LOG_5698-LOG_5701的写入请求对逻辑到物理表高速缓存302的更新。具体地,条目316BY被更新以引用物理地址PHY_55。响应于从逻辑到物理表高速缓存302条目316BY的驱逐或者对逻辑地址LOG_5698-LOG_5701中的一或多个的非顺序写入,处理装置可以稍后更新逻辑到物理表306。
图5示出了基于对一组八个物理地址312的写入来更新逻辑到物理表高速缓存302,以满足涉及一组八个顺序逻辑地址310的写入请求。即,图5示出了响应于写入物理地址PHY_108-PHY_115以满足涉及逻辑地址LOG_856-LOG_863的写入请求对逻辑到物理表高速缓存302的条目316的添加。具体地,处理装置将条目316CZ+1添加到顺序写入分区320C,以将逻辑地址LOG_856映射到物理地址PHY_108。响应于从逻辑到物理表高速缓存302条目316CZ+1的驱逐或者对逻辑地址LOG_856-LOG_863中的一或多个的非顺序写入,处理装置可以稍后更新逻辑到物理表306。
如本文所描述,每个顺序写入分区320意味着其相关联的顺序写入长度,而不需要存储顺序写入长度。因此,处理装置知道(1)顺序写入分区320A包含对应于两个顺序写入的逻辑地址310的条目314A,使得仅一个物理地址312需要在顺序写入分区320A中记录以表示两个对应的物理地址312,(2)顺序写入分区320B包含对应于四个顺序写入的逻辑地址310的条目314B,使得仅一个物理地址312需要在顺序写入分区320B中记录以表示四个对应的物理地址312,以及(3)顺序写入分区320C包含对应于八个顺序写入的逻辑地址310的条目314C,使得仅一个物理地址312需要在顺序写入分区320C中记录以表示八个对应的物理地址312。
在操作210或者确定在操作206没有检测到写入请求之后,方法200移动到操作212。在操作212,处理装置确定是否检测到读取请求(例如,从主机系统120接收的读取请求)。响应于处理装置在操作212确定没有检测到读取请求,方法200返回到操作206以再次确定是否已经检测到写入请求。相反地,响应于处理装置在操作212确定检测到读取请求,方法200移动到操作214。
在操作214,处理装置使用逻辑到物理表高速缓存302将检测到的读取请求的一组逻辑地址310转换成一组物理地址312。具体地,处理装置将读取请求的一组逻辑地址310与逻辑到物理表高速缓存302中的条目314和/或316的逻辑地址310进行比较。例如,处理装置可以首先将读取请求的逻辑地址组310与非顺序写入分区318的条目314进行比较,以确定相应的物理地址组312。响应于未能确定读取请求的一组逻辑地址310中的一或多个逻辑地址310的匹配,处理装置可以将读取请求的一组逻辑地址310中的剩余逻辑地址310与来自顺序写入分区320的条目316进行比较。在一个实施例中,当在读取请求的逻辑地址310的顺序写入分区320中检测到命中时,出于与顺序写入分区320进行比较的目的,跳过读取请求的相应数量的逻辑地址310(例如,读取请求的逻辑地址310和顺序写入分区320B有命中,其顺序写入长度为四,处理装置可以跳过读取请求的接下来的三个逻辑地址310,并且这些逻辑地址310可以基于顺序写入分区320B中的命中而转换)。在一些实施例中,读取请求的长度(例如,读取请求中表示的逻辑地址310的数量)用于确定执行比较的初始顺序写入分区320。例如,如果写入请求引用四个逻辑地址,则处理装置可以将读取请求的第一逻辑地址与顺序写入分区320B进行比较,因为这一顺序写入分区320B的顺序写入长度为四,并且命中可以提供显著的效率提高。
在一个实施例中,处理装置最初将读取请求的一组逻辑地址310与具有最大顺序写入长度的顺序写入分区320的条目316进行比较(例如,顺序写入长度为八的顺序写入分区320C)。在具有最大顺序写入长度的顺序写入分区320中的一或多个逻辑地址310未命中之后,处理装置将读取请求的一组逻辑地址310与具有次大顺序写入长度的顺序写入分区320的条目316进行比较,直到穷尽所有顺序写入分区320。因此,处理装置可以试图使用逻辑到物理表高速缓存302的一或多个分区318/320来转换读取请求的一组逻辑地址310(包含顺序分区组320),以确定一组物理地址312。当转换顺序写入的逻辑地址310时,处理装置通过使用一组顺序分区320可以实现更高的效率。即,由于顺序写入的逻辑地址310也具有相应的顺序物理地址312,所以可以利用单个条目316和来自一组顺序写入分区320的单次转换来转换所有或至少多个逻辑地址310。这潜在地减少了逻辑到物理表高速缓存302中所需的条目314/316的数量,并且减少了转换读取请求的顺序写入的一组逻辑地址310的所需的查找数量。
尽管被描述为在一组顺序写入分区320之前利用非顺序写入分区318,但是在一些实施例中,在依赖于非顺序写入分区318之前,处理装置可以首先试图使用一组顺序分区320来转换读取请求的逻辑地址组。在这些实施例中,当处理装置假设读取请求与一大组顺序写入的逻辑地址310相关联时(例如,读取请求与大文件相关联),处理装置可以试图产生逻辑地址310的快速转换。在一些实施例中,处理装置可以试图通过同时搜索(1)非顺序写入分区318和(2)顺序写入分区320中的一或多个来转换读取请求的一组逻辑地址。例如,处理装置可以通过同时搜索(1)非顺序写入分区318和(2)每个顺序写入分区320来转换读取请求的一组逻辑地址。尽管这一方法可能需要比单独搜索分区318/320更多的处理资源,但是处理装置可以在减少的时间内转换读取请求的一组逻辑地址。
响应于处理装置未能基于非顺序写入分区318中的条目314和顺序写入分区320中的条目316为读取请求的一组逻辑地址310中的每个逻辑地址310建立命中,处理装置将逻辑地址310的一或多个组块322从逻辑到物理表306交换到逻辑到物理表高速缓存302的非顺序写入分区318中,使得处理装置可以为处理装置具有的写入请求的逻辑地址310定位对应的逻辑地址到物理地址的映射,直至在逻辑到物理表高速缓存302中未能定位映射。因此,当需要时,处理装置可以结合逻辑到物理表306使用逻辑到物理表高速缓存302来将读取请求的一组逻辑地址310转换成物理地址312。
在操作216,处理装置使用来自操作214的确定的一组物理地址310来执行读取操作。具体地,处理装置从对应于所确定的一组物理地址310的存储器组件112A至112N的存储器元件读取数据,并将数据返回给请求方(例如,主机系统120)。在操作216之后,方法200返回到操作206,以再次确定是否检测到写入请求。
图6A和6B是根据本公开的一些实施例的管理逻辑到物理表高速缓存中基于顺序写入的分区的另一个示例方法600的流程图。方法600可以由处理逻辑执行,所述处理逻辑可以包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置硬件、集成电路等)、软件(例如,在处理装置上运行或者完成的指令)或者其组合。在一些实施例中,方法600由图1的存储器管理器113执行。尽管以特定的序列或者顺序示出,除非另有说明,过程的顺序可以修改。因此,所示出的实施例应仅被理解为示例,并且所示出的过程可以以不同的顺序执行,并且一些过程可以并行执行。此外,在各种实施例中,可以省略一或多个过程。因此,并非每个实施例中都需要所有过程。其它流程也是可能的。
在操作602,处理装置接收引用一组顺序逻辑地址310的读取请求。
在操作604,处理装置定位逻辑到物理表高速缓存302中的第一顺序写入分区320A中的第一条目316A,其将读取请求的一组顺序逻辑地址310中的第一逻辑地址310映射到第一物理地址312。在本示例中,第一顺序写入分区320A中的每个条目316A对应于顺序写入存储器组件112A至112N的顺序物理地址312的两个顺序逻辑地址310。
在操作606,基于第一条目316A并且响应于第一条目316A是第一顺序写入分区320A的一部分,处理装置确定一组顺序逻辑地址310中的与第一逻辑地址310相关联的第一物理地址312和与第二逻辑地址310相关联的第二物理地址312。
在操作608,处理装置至少基于第一物理地址312和第二物理地址312实现读取请求。在一个实施例中,逻辑到物理表高速缓存302包含非顺序写入分区318,所述分区包含将逻辑地址310的组块322映射到物理地址312的条目314,而不管每个逻辑地址310是否用另一个逻辑地址310顺序写入。在一些实施例中,处理装置于(1)在第一顺序写入分区320A中试图定位匹配之前,或者(2)在第一顺序写入分区320A中试图定位匹配失败之后,试图定位非顺序写入分区318中的一组顺序逻辑地址310中的逻辑地址310的匹配。如上所述,逻辑到物理表高速缓存302存储在存储器子系统110的易失性存储器304中,并且充当存储在非易失性存储器308中的逻辑到物理表的高速缓存306。在一些实施例中,确定第二物理地址312包含递增第一物理地址312。
在操作610,处理装置定位逻辑到物理表高速缓存302中的第二顺序写入分区320B中的第二条目316B,其将一组顺序逻辑地址310中的读取请求的第三逻辑地址310映射到第三物理地址312。第二顺序写入分区320B中的每个条目316B对应于顺序写入存储器组件112A至112N的顺序物理地址312的四个顺序逻辑地址310。
在操作612,处理装置基于第二条目316B并且响应于第二条目316B是第二顺序写入分区320B的一部分,确定与第三逻辑地址310相关联的第三物理地址312、与一组顺序逻辑地址310中的第四逻辑地址310相关联的第四物理地址312、与一组顺序逻辑地址310中的第五逻辑地址310相关联的第五物理地址312、以及与一组顺序逻辑地址310中的第六逻辑地址310相关联的第六物理地址312。在一些实施例中,第四物理地址312、第五物理地址312和第六物理地址312的确定是基于递增第三物理地址312。
在操作614,处理装置接收引用第七逻辑地址310、第八逻辑地址310、第九逻辑地址310和第十逻辑地址310的第一写入请求,使得第七逻辑地址310、第八逻辑地址310、第九逻辑地址310和第十逻辑地址310被写入存储器组件112A至112N中的顺序物理地址312。
在操作616,将来自第一写入请求的数据写入存储器组件112A至112N中顺序的第七物理地址312、第八物理地址312、第九物理地址312和第十物理地址312。
在操作618,响应于将数据写入第七物理地址312、第八物理地址312、第九物理地址312和第十物理地址312,将第三条目316B添加到第二顺序写入分区320B。在本示例中,第三条目316B包含对第七物理地址312的引用。进一步地,处理装置将第三条目316B添加到第二顺序写入分区320B,因为数据的写入包含四个逻辑地址310和随后的四个物理地址312(即,第二顺序写入分区320B用于表示四个逻辑地址310的顺序写入)。
在操作620,处理装置接收引用第一逻辑地址310的第二写入请求。例如,处理装置从主机系统120接收寻求写入第一逻辑地址310的写入请求。
在操作622,处理装置将来自第二写入请求的数据写入第十一物理地址312,使得第一逻辑地址310与第十一物理地址312相关联,并且第二逻辑地址310与第二物理地址312相关联。因此,基于第二写入请求,第一和第二逻辑地址312不再被顺序写入,因为它们被映射到非顺序物理地址312(即,分别是第十一物理地址312和第二物理地址312)。
在操作624,响应于将来自第二写入请求的数据写入第十一物理地址312,处理装置将第一条目316A从第一顺序写入分区320A移除。具体地,由于第一和第二逻辑地址312不再被顺序写入,将指示第一和第二逻辑地址312被顺序写入的第一条目316A从第一顺序写入分区320A移除。
图7示出了计算机系统700的示例性机器,其中可以完成一组指令,用于使机器执行本文讨论的任何一或多种方法。在一些实施例中,计算机系统700可以对应于包含、耦合到或者利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120),或者可以用于执行控制器的操作(例如,执行操作系统以执行对应于图1的存储器管理器113的操作)。在替代实施例中,机器可以连接(例如,联网)到局域网、内联网、外联网和/或互联网中的其它机器。机器可以在客户机-服务器网络环境中以服务器或者客户机的身份运行,作为对等(或分布式)网络环境中的对等机器,或者作为云计算基础设施或者环境中的服务器或者客户机。
机器可以是个人计算机(PC)、平板计算机PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络装置、服务器、网络路由器、交换机或网桥,或者能够完成指定所述机器要采取的动作的一组指令(顺序的或者其它)的任何机器。进一步地,虽然示出了单个机器,但是术语“机器”也应当被理解为包含单独或者共同完成一组(或者多组)指令以执行本文讨论的任何一或多种方法的任何机器集合。
示例计算机系统700包含处理装置702、主存储器704(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM),诸如同步动态随机存取存储器DRAM(SDRAM)或者随机存取存储器DRAM(RDRAM)等)、静态存储器706(例如,闪存存储器、静态随机存取存储器(SRAM)等),以及数据存储系统718,它们通过总线730相互通信。
处理装置702表示一或多个通用处理装置,诸如微处理器、中央处理单元等。更具体地,处理装置可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或者实现其它指令集的处理器,或者实现指令集组合的处理器。处理装置702也可以是一或多个专用处理装置,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置702配置为执行指令726,用于执行本文讨论的操作和步骤。计算机系统700可以进一步包含通过网络720通信的网络接口装置708。
数据存储系统718可以包含机器可读存储介质724(也称作计算机可读介质),其上存储有一或多组指令726或者体现了本文描述的方法或者功能中的任何一或多个软件。在由计算机系统700完成期间,指令726也可以完全或者至少部分地驻留在主存储器704和/或处理装置702中,主存储器704和处理装置702也构成机器可读存储介质。机器可读存储介质724、数据存储系统718和/或主存储器704可以对应于图1的存储器子系统110。
在一个实施例中,指令726包含实现对应于存储器管理器(例如,图1的存储器管理器113)的功能的指令。虽然机器可读存储介质724在示例性实施例中示出为单个介质,但是术语“机器可读存储介质”应当被理解为包含存储一或多组指令的单个介质或者多个介质。术语“机器可读存储介质”还应被理解为包含能够存储或者编码一组由机器执行的指令并且使机器执行本公开的任何一或多种方法的任何介质。因此,术语“机器可读存储介质”应被理解为包含但不限于固态存储器、光学介质和磁性介质。
前面具体实施方式的一些部分已经根据对计算机存储器内的数据位的操作的算法和符号表示来呈现。这些算法描述和符号表示是数据处理领域的技术人员使用来向本领域的其它技术人员最有效地传递他们的创新本质的手段。本文的算法通常是指得到期望结果的自相容序列。这些操作是需要对物理量进行物理操作的那些。尽管并不必须,通常这些量采用电或磁信号的形式,或者是能够被存储、合并、比较和操作的指令的形式。已经证明,主要是为共同利用的理由,把这些信号称为比特、值、码元、符号、字符、术语、数,等等。
然而,应该注意,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是应用于这些量的方便标签。本公开可以指计算机系统或者类似的电子计算装置的动作和过程,所述计算机系统或者类似的电子计算装置将计算机系统的寄存器和存储器中表示物理(电子)量的数据操纵并转换成计算机系统存储器或者寄存器或者其它这样的信息存储系统中类似地表示物理量的其它数据。
本公开还涉及用于执行本文的操作的设备。这一设备可以为预期目的而专门构造,或者它可以包含由存储在计算机中的计算机程序选择性激活或者重新配置的通用计算机。例如,计算机系统或者其它数据处理系统,诸如控制器115,可以响应于其处理器执行含在存储器或者其它非暂时性机器可读存储介质中的计算机程序(例如,指令序列),来执行计算机实现的方法200。这种计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的盘,包含软盘、光盘、CD-ROM和磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、电子可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、磁卡或光卡,或者任何类型的适于存储电子指令的介质,每个介质均耦合到计算机系统总线。
这本文提出的算法与显示并不内在地与任何特定计算机或者其它设备相关。根据本文的教导,各种通用系统可以与程序一起使用,或者可以证明构造更专用的设备来执行所述方法是方便的。各种这些系统的结构将从下面的描述中变得明显。此外,本公开没有参考任何特定的编程语言来描述。将会认识到,多种编程语言可被用来实施如在本文所述的本公开的教导。
本公开可以提供为计算机程序产品或者软件,其可包含其上存储有指令的机器可读介质,根据本公开,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行过程。机器可读介质包含以机器(例如,计算机)可读形式存储信息的任何机制。在一些实施例中,机器可读(例如,计算机可读)介质包含机器(例如,计算机)可读存储介质,诸如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储介质、光存储介质、闪存存储器组件等。
在上述说明书中,通过参考本公开的具体示例性实施例描述了公开的实施例。显而易见的是,可以对其进行各种修改,而不脱离所附权利要求中阐述的本公开的实施例的更宽的精神和范围。因此,说明书和附图被认为是说明性的,而不是限制性的。
Claims (20)
1.一种用于在逻辑到物理表高速缓存中管理基于顺序写入的分区的方法,所述方法包括:
由存储器子系统接收引用一组顺序逻辑地址的读取请求;
由所述存储器子系统定位所述逻辑到物理表高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将所述读取请求的所述一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中所述第一顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的存储器组件的顺序物理地址的两个顺序逻辑地址;
由所述存储器子系统基于所述第一条目并且响应于所述第一条目是所述第一顺序写入分区的一部分,确定与所述第一逻辑地址相关联的所述第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址;以及
由所述存储器子系统至少基于所述第一物理地址和所述第二物理地址实现所述读取请求。
2.根据权利要求1所述的方法,其中确定所述第二物理地址包含递增所述第一物理地址。
3.根据权利要求1所述的方法,进一步包括:
由所述存储器子系统定位所述逻辑到物理表高速缓存中的第二顺序写入分区中的第二条目,所述第二条目将所述读取请求的所述一组顺序逻辑地址中的第三逻辑地址映射到第三物理地址,其中所述第二顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的所述存储器组件的顺序物理地址的四个顺序逻辑地址;以及
由所述存储器子系统基于所述第二条目确定与所述第三逻辑地址相关联的第三物理地址、与所述一组顺序逻辑地址中的第四逻辑地址相关联的第四物理地址、与所述一组顺序逻辑地址中的第五逻辑地址相关联的第五物理地址,以及与所述一组顺序逻辑地址中的第六逻辑地址相关联的第六物理地址,
其中确定所述第四物理地址、所述第五物理地址和所述第六物理地址是基于递增所述第三物理地址。
4.根据权利要求3所述的方法,进一步包括:
由所述存储器子系统接收引用第七逻辑地址、第八逻辑地址、第九逻辑地址和第十逻辑地址的第一写入请求,使得所述第七逻辑地址、所述第八逻辑地址、所述第九逻辑地址和所述第十逻辑地址被写入所述存储器组件中的顺序物理地址;
由所述存储器子系统将来自所述第一写入请求的数据写入所述存储器组件中顺序的第七物理地址、第八物理地址、第九物理地址和第十物理地址;以及
响应于将所述数据写入所述第七物理地址、所述第八物理地址、所述第九物理地址和所述第十物理地址,由所述存储器子系统将第三条目添加到所述第二顺序写入分区,
其中所述第三条目包含对所述第七物理地址的引用。
5.根据权利要求4所述的方法,进一步包括:
由所述存储器子系统接收引用所述第一逻辑地址的第二写入请求;
由所述存储器子系统将来自所述第二写入请求的数据写入第十一物理地址,使得所述第一逻辑地址与所述第十一物理地址相关联,并且所述第二逻辑地址与所述第二物理地址相关联;以及
响应于将来自所述第二写入请求的数据写入所述第十一物理地址,由所述存储器子系统将所述第一条目从所述第一顺序写入分区移除。
6.根据权利要求1所述的方法,其中所述逻辑到物理表高速缓存包含非顺序写入分区,所述非顺序写入分区包含将逻辑地址的组块映射到物理地址的条目,而不管每个逻辑地址是否用另一个逻辑地址顺序写入,并且
其中所述存储器子系统于(1)在所述第一顺序写入分区中试图定位匹配之前,(2)在所述第一顺序写入分区中定位匹配失败之后,或者(3)在所述第一顺序写入分区中试图定位匹配的同时,试图定位所述非顺序写入分区中的所述一组顺序逻辑地址中的逻辑地址的匹配。
7.根据权利要求1所述的方法,其中所述逻辑到物理表高速缓存存储在所述存储器子系统的易失性存储器中,并且充当存储在非易失性存储器中的逻辑到物理表的高速缓存。
8.一种用于在逻辑到物理表高速缓存中管理基于顺序写入的分区的存储器子系统,所述系统包括:
存储器组件;和
处理装置,所述处理装置耦合到所述存储器组件,所述处理装置配置为:
检测引用一组顺序逻辑地址的读取请求;
定位所述逻辑到物理表高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将所述读取请求的所述一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中所述第一顺序写入分区中的每个条目对应于顺序写入所述存储器组件的N个顺序物理地址的N个顺序逻辑地址,并且包含对物理地址的单次引用;
基于所述第一条目并且响应于所述第一条目是所述第一顺序写入分区的一部分,确定与所述第一逻辑地址相关联的所述第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址;以及
至少基于所述第一物理地址和所述第二物理地址实现所述读取请求。
9.根据权利要求8所述的存储器子系统,其中确定所述第二物理地址包含递增所述第一物理地址。
10.根据权利要求8所述的存储器子系统,其中所述处理装置进一步配置为:
定位所述逻辑到物理表高速缓存中的第二顺序写入分区中的第二条目,所述第二条目将所述读取请求的所述一组顺序逻辑地址中的第三逻辑地址映射到第三物理地址,其中所述第二顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的所述存储器组件的顺序物理地址的四个顺序逻辑地址;以及
基于所述第二条目确定与所述第三逻辑地址相关联的第三物理地址、与所述一组顺序逻辑地址中的第四逻辑地址相关联的第四物理地址、与所述一组顺序逻辑地址中的第五逻辑地址相关联的第五物理地址,以及与所述一组顺序逻辑地址中的第六逻辑地址相关联的第六物理地址,
其中确定所述第四物理地址、所述第五物理地址和所述第六物理地址是基于递增所述第三物理地址。
11.根据权利要求10所述的存储器子系统,其中所述处理装置进一步配置为:
接收引用第七逻辑地址、第八逻辑地址、第九逻辑地址和第十逻辑地址的第一写入请求,使得所述第七逻辑地址、所述第八逻辑地址、所述第九逻辑地址和所述第十逻辑地址被写入所述存储器组件中的顺序物理地址;
将来自所述第一写入请求的数据写入所述存储器组件中顺序的第七物理地址、第八物理地址、第九物理地址和第十物理地址;以及
响应于将所述数据写入所述第七物理地址、所述第八物理地址、所述第九物理地址和所述第十物理地址,将第三条目添加到所述第二顺序写入分区,
其中所述第三条目包含对所述第七物理地址的引用。
12.根据权利要求11所述的存储器子系统,其中所述处理装置进一步配置为:
接收引用所述第一逻辑地址的第二写入请求;
将来自所述第二写入请求的数据写入第十一物理地址,使得所述第一逻辑地址与所述第十一物理地址相关联,并且所述第二逻辑地址与所述第二物理地址相关联;以及
响应于将来自所述第二写入请求的数据写入所述第十一物理地址,将所述第一条目从所述第一顺序写入分区移除。
13.根据权利要求8所述的存储器子系统,其中所述逻辑到物理表高速缓存包含非顺序写入分区,所述非顺序写入分区包含将逻辑地址的组块映射到物理地址的条目,而不管每个逻辑地址是否用另一个逻辑地址顺序写入,并且
其中所述存储器子系统于(1)在所述第一顺序写入分区中试图定位匹配之前,(2)在所述第一顺序写入分区中定位匹配失败之后,或者(3)在所述第一顺序写入分区中试图定位匹配的同时,试图定位所述非顺序写入分区中的所述一组顺序逻辑地址中的逻辑地址的匹配。
14.根据权利要求8所述的存储器子系统,其中所述逻辑到物理表高速缓存存储在所述存储器子系统的易失性存储器中,并且充当存储在非易失性存储器中的逻辑到物理表的高速缓存。
15.一种包括指令的非暂时性计算机可读存储介质,当所述指令由处理装置完成时,使得所述处理装置:
接收引用一组顺序逻辑地址的读取请求;
定位逻辑到物理表高速缓存中的第一顺序写入分区中的第一条目,所述第一条目将所述读取请求的所述一组顺序逻辑地址中的第一逻辑地址映射到第一物理地址,其中所述第一顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的存储器组件的顺序物理地址的两个顺序逻辑地址;
基于所述第一条目并且响应于所述第一条目是所述第一顺序写入分区的一部分,确定与所述第一逻辑地址相关联的所述第一物理地址和与所述一组顺序逻辑地址中的第二逻辑地址相关联的第二物理地址;以及
至少基于所述第一物理地址和所述第二物理地址实现所述读取请求。
16.根据权利要求15所述的非暂时性计算机可读存储介质,其中确定所述第二物理地址包含递增所述第一物理地址。
17.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述处理装置进一步用于:
定位所述逻辑到物理表高速缓存中的第二顺序写入分区中的第二条目,所述第二条目将所述读取请求的所述一组顺序逻辑地址中的第三逻辑地址映射到第三物理地址,其中所述第二顺序写入分区中的每个条目对应于顺序写入所述存储器子系统的所述存储器组件的顺序物理地址的四个顺序逻辑地址;以及
基于所述第二条目确定与所述第三逻辑地址相关联的第三物理地址、与所述一组顺序逻辑地址中的第四逻辑地址相关联的第四物理地址、与所述一组顺序逻辑地址中的第五逻辑地址相关联的第五物理地址,以及与所述一组顺序逻辑地址中的第六逻辑地址相关联的第六物理地址,
其中确定所述第四物理地址、所述第五物理地址和所述第六物理地址是基于递增所述第三物理地址。
18.根据权利要求17所述的非暂时性计算机可读存储介质,其中所述处理装置进一步用于:
接收引用第七逻辑地址、第八逻辑地址、第九逻辑地址和第十逻辑地址的第一写入请求,使得所述第七逻辑地址、所述第八逻辑地址、所述第九逻辑地址和所述第十逻辑地址被写入所述存储器组件中的顺序物理地址;
将来自所述第一写入请求的数据写入所述存储器组件中顺序的第七物理地址、第八物理地址、第九物理地址和第十物理地址;以及
响应于将所述数据写入所述第七物理地址、所述第八物理地址、所述第九物理地址和所述第十物理地址,将第三条目添加到所述第二顺序写入分区,
其中所述第三条目包含对所述第七物理地址的引用。
19.根据权利要求18所述的非暂时性计算机可读存储介质,其中所述处理装置进一步用于:
接收引用所述第一逻辑地址的第二写入请求;
将来自所述第二写入请求的数据写入第十一物理地址,使得所述第一逻辑地址与所述第十一物理地址相关联,并且所述第二逻辑地址与所述第二物理地址相关联;以及
响应于将来自所述第二写入请求的所述数据写入所述第十一物理地址,将所述第一条目从所述第一顺序写入分区移除。
20.根据权利要求15所述的非暂时性计算机可读存储介质,其中所述逻辑到物理表高速缓存包含非顺序写入分区,所述非顺序写入分区包含将逻辑地址的组块映射到物理地址的条目,而不管每个逻辑地址是否用另一个逻辑地址顺序写入,并且
其中所述存储器子系统于(1)在所述第一顺序写入分区中试图定位匹配之前,(2)在所述第一顺序写入分区中定位匹配失败之后,或者(3)在所述第一顺序写入分区中试图定位匹配的同时,试图定位所述非顺序写入分区中的所述一组顺序逻辑地址中的逻辑地址的匹配。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/551,519 US11119940B2 (en) | 2019-08-26 | 2019-08-26 | Sequential-write-based partitions in a logical-to-physical table cache |
US16/551,519 | 2019-08-26 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112433956A true CN112433956A (zh) | 2021-03-02 |
CN112433956B CN112433956B (zh) | 2022-10-28 |
Family
ID=74682150
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010851304.4A Active CN112433956B (zh) | 2019-08-26 | 2020-08-21 | 逻辑到物理表高速缓存中基于顺序写入的分区 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11119940B2 (zh) |
CN (1) | CN112433956B (zh) |
Families Citing this family (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11947489B2 (en) | 2017-09-05 | 2024-04-02 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11582168B2 (en) | 2018-01-11 | 2023-02-14 | Robin Systems, Inc. | Fenced clone applications |
US11392363B2 (en) | 2018-01-11 | 2022-07-19 | Robin Systems, Inc. | Implementing application entrypoints with containers of a bundled application |
US11748203B2 (en) | 2018-01-11 | 2023-09-05 | Robin Systems, Inc. | Multi-role application orchestration in a distributed storage system |
US10685718B2 (en) * | 2018-10-29 | 2020-06-16 | Micron Technnology, Inc. | Dynamic delay of NAND read commands |
US11256434B2 (en) | 2019-04-17 | 2022-02-22 | Robin Systems, Inc. | Data de-duplication |
US11249851B2 (en) | 2019-09-05 | 2022-02-15 | Robin Systems, Inc. | Creating snapshots of a storage volume in a distributed storage system |
US11520650B2 (en) | 2019-09-05 | 2022-12-06 | Robin Systems, Inc. | Performing root cause analysis in a multi-role application |
US11347684B2 (en) | 2019-10-04 | 2022-05-31 | Robin Systems, Inc. | Rolling back KUBERNETES applications including custom resources |
US11403188B2 (en) * | 2019-12-04 | 2022-08-02 | Robin Systems, Inc. | Operation-level consistency points and rollback |
US11528186B2 (en) | 2020-06-16 | 2022-12-13 | Robin Systems, Inc. | Automated initialization of bare metal servers |
US11740980B2 (en) | 2020-09-22 | 2023-08-29 | Robin Systems, Inc. | Managing snapshot metadata following backup |
US11743188B2 (en) | 2020-10-01 | 2023-08-29 | Robin Systems, Inc. | Check-in monitoring for workflows |
US11271895B1 (en) | 2020-10-07 | 2022-03-08 | Robin Systems, Inc. | Implementing advanced networking capabilities using helm charts |
US11456914B2 (en) | 2020-10-07 | 2022-09-27 | Robin Systems, Inc. | Implementing affinity and anti-affinity with KUBERNETES |
US11750451B2 (en) | 2020-11-04 | 2023-09-05 | Robin Systems, Inc. | Batch manager for complex workflows |
US11556361B2 (en) | 2020-12-09 | 2023-01-17 | Robin Systems, Inc. | Monitoring and managing of complex multi-role applications |
US11782623B2 (en) * | 2020-12-15 | 2023-10-10 | International Business Machines Corporation | Transferring an operating image into a multi-tenant environment |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN108701087A (zh) * | 2016-04-01 | 2018-10-23 | 英特尔公司 | 用于处理到存储器装置中的物理块的块群组的顺序写入的方法和设备 |
US20190220416A1 (en) * | 2018-01-16 | 2019-07-18 | SK Hynix Inc. | Data storage apparatus and operating method thereof |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7586924B2 (en) * | 2004-02-27 | 2009-09-08 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding an information signal into a data stream, converting the data stream and decoding the data stream |
KR101533744B1 (ko) * | 2008-10-16 | 2015-07-10 | 삼성전자주식회사 | 플래시 메모리 시스템 및 그것의 플래시 변환 계층 설계 방법 |
JP2011018182A (ja) * | 2009-07-08 | 2011-01-27 | Panasonic Corp | アドレス変換装置 |
US10459635B2 (en) * | 2016-02-11 | 2019-10-29 | SK Hynix Inc. | Window based mapping |
US10565123B2 (en) * | 2017-04-10 | 2020-02-18 | Western Digital Technologies, Inc. | Hybrid logical to physical address translation for non-volatile storage devices with integrated compute module |
KR20200013897A (ko) * | 2018-07-31 | 2020-02-10 | 에스케이하이닉스 주식회사 | 컨트롤러 및 컨트롤러의 동작방법 |
-
2019
- 2019-08-26 US US16/551,519 patent/US11119940B2/en active Active
-
2020
- 2020-08-21 CN CN202010851304.4A patent/CN112433956B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102054533A (zh) * | 2009-10-27 | 2011-05-11 | 西部数据技术公司 | 隔离顺序、随机和系统数据以减少垃圾回收的针对基于页映射的非易失性半导体存储器 |
CN108701087A (zh) * | 2016-04-01 | 2018-10-23 | 英特尔公司 | 用于处理到存储器装置中的物理块的块群组的顺序写入的方法和设备 |
US20190220416A1 (en) * | 2018-01-16 | 2019-07-18 | SK Hynix Inc. | Data storage apparatus and operating method thereof |
Also Published As
Publication number | Publication date |
---|---|
CN112433956B (zh) | 2022-10-28 |
US20210064536A1 (en) | 2021-03-04 |
US11119940B2 (en) | 2021-09-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112433956B (zh) | 逻辑到物理表高速缓存中基于顺序写入的分区 | |
US20200264984A1 (en) | Partial caching of media address mapping data | |
US11640354B2 (en) | Logical-to-physical mapping of data groups with data locality | |
CN114730300A (zh) | 对区命名空间存储器的增强型文件系统支持 | |
US11422945B2 (en) | Generating, maintaining, or utilizing a compressed logical-to-physical table based on sequential writes | |
US11144448B2 (en) | Memory sub-system for managing flash translation layers table updates in response to unmap commands | |
CN113010449A (zh) | 存储器子系统中命令的有效处理 | |
CN115080458A (zh) | 在存储器子系统中高速缓存逻辑到物理映射信息 | |
CN115145838A (zh) | 在与非存储器中存储逻辑到物理映射 | |
US12072811B2 (en) | Namespace level valid translation unit count | |
CN112948284A (zh) | 高速缓存媒体中的动态存取粒度 | |
CN114077549A (zh) | 基于数据特性寻址区域命名空间和非分区存储器 | |
CN112835828A (zh) | 用于非连续源及目的地存储器地址的直接存储器存取(dma)命令 | |
US11727969B2 (en) | Memory sub-system managing remapping for misaligned memory components | |
CN112912834B (zh) | 存取单元和管理片段存储器操作 | |
US20230350798A1 (en) | Namespace management for memory sub-systems | |
CN112805692A (zh) | 混合式双列直插式存储器模块中的高速缓存操作 | |
CN117999547A (zh) | 用于存储器子系统中的两遍次编程的虚拟管理单元方案 | |
US10817435B1 (en) | Queue-based wear leveling of memory components | |
CN113961482A (zh) | 高速缓存存储器的增强型重复写入数据跟踪 | |
CN112860182A (zh) | 用于写回合并的位屏蔽有效扇区 | |
CN113518977B (zh) | 基于高速缓存行的扇区的修改来逐出高速缓存行 | |
US11144450B2 (en) | Maintaining sequentiality for media management of a memory sub-system | |
US20240272811A1 (en) | Scheme for data entry insertion in a sparsely populated data structure | |
CN114647377A (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 |