CN121092056A - 与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令 - Google Patents
与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令Info
- Publication number
- CN121092056A CN121092056A CN202510745634.8A CN202510745634A CN121092056A CN 121092056 A CN121092056 A CN 121092056A CN 202510745634 A CN202510745634 A CN 202510745634A CN 121092056 A CN121092056 A CN 121092056A
- Authority
- CN
- China
- Prior art keywords
- memory
- memory device
- tag
- host
- cxl
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0646—Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
- G06F3/0647—Migration mechanisms
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0659—Command handling arrangements, e.g. command buffers, queues, command scheduling
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/0671—In-line storage system
- G06F3/0683—Plurality of storage devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请涉及与和非易失性存储器快速NVME存储器装置耦合的计算快速链路CXL存储器装置中的标记容量相关联的迁移命令。一种系统可包含:包括多个动态容量装置的第一存储器装置;第二存储器装置;及与第一及第二存储器装置可操作地耦合的处理装置。处理装置经配置以执行操作,包括:接收将与第一标签相关联的第一数据移动到第二存储器装置的主机命令,其中第一标签与多个动态容量装置的第一存储器区段相关联,且其中第一存储器区段分配给第一主机系统以存储第一数据;响应于接收到主机移动命令,确定第二存储器装置的第二存储器区段,其中第二存储器区段与第二存储器装置的命名空间相关联;及将第一数据存储于与命名空间相关联的第二存储器区段中。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更明确来说,涉及实施与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统来将数据存储于存储器装置处及从存储器装置检索数据。
发明内容
本公开的实施例涉及一种系统,其包括:第一存储器装置,其包括多个动态容量装置;第二存储器装置;及处理装置,其与所述第一存储器装置及所述第二存储器装置可操作地耦合以执行包括以下的操作:接收将与第一标签相关联的第一数据移动到所述第二存储器装置的主机命令,其中所述第一标签与所述多个动态容量装置的第一存储器区段相关联,且其中所述第一存储器区段分配给第一主机系统以存储所述第一数据;响应于接收到所述主机移动命令,确定所述第二存储器装置的第二存储器区段,其中所述第二存储器区段与所述第二存储器装置的命名空间相关联;及将所述第一数据存储于与所述命名空间相关联的所述第二存储器区段中。
本公开的另一实施例涉及一种方法,其包括:由处理装置接收将与第一标签相关联的第一数据移动到第二存储器装置的主机命令,其中所述第一标签与第一存储器装置的多个动态容量装置的第一存储器区段相关联,且其中所述第一存储器区段分配给第一主机系统以存储所述第一数据;响应于接收到所述主机移动命令,确定所述第二存储器装置的第二存储器区段,其中所述第二存储器区段与所述第二存储器装置的命名空间相关联;及将所述第一数据存储于与所述命名空间相关联的所述第二存储器区段中。
本公开的又一实施例涉及一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时导致所述处理装置执行包括以下的操作:接收将与第一标签相关联的第一数据移动到第二存储器装置的主机命令,其中所述第一标签与第一存储器装置的多个动态容量装置的第一存储器区段相关联,且其中所述第一存储器区段分配给第一主机系统以存储所述第一数据;响应于接收到所述主机移动命令,确定所述第二存储器装置的第二存储器区段,其中所述第二存储器区段与所述第二存储器装置的命名空间相关联;及将所述第一数据存储于与所述命名空间相关联的所述第二存储器区段中。
附图说明
将从下文给出的详细描述及从本公开的各种实例实施例的附图更完全理解本公开。然而,图式不应被视为将本公开限于特定实例实施例,而是仅用于解释及理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2A及2B是根据本公开的一些实施例的用于使用与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令的实例系统的框图。
图3A说明根据本公开的一些实施例的实例迁移命令。
图3B说明根据本公开的一些实施例的标签映射数据结构的实例。
图3C说明根据本公开的一些实施例的逻辑到物理(L2P)表的实例。
图4是根据本公开的一些实施例的用于使用与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令的实例方法的流程图。
图5是根据本公开的一些实施例的用于使用与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令的实例方法的流程图。
图6是本公开的实例实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及实施与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令。存储器子系统可为存储装置、存储器模块或存储装置与存储器模块的组合。下文结合图1描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供存储于存储器子系统处的数据且可请求从存储器子系统检索的数据。
计算快速链路(CXL)系统是用于处理器、存储器扩展及加速器的任选高速缓存一致性互连件。CXL系统维持CPU存储器空间与附接装置上的存储器之间的存储器一致性,这允许资源共享以实现更高性能、降低软件栈复杂性及降低总系统成本。一般来说,CXL是可支持可在PCIe顶上运行的数个协议(包含CXL.io协议、CXL.mem协议及CXL.cache协议)的接口标准。CXL.io协议是类PCIe协议,其可被视为能够分割受管理存储器的“增强型”PCIe协议。CXL.io可用于初始化、链接、装置发现及枚举、寄存器存取,且可为I/O装置提供接口。CXL.mem协议可使主机能够使用存储器语义(例如加载及存储命令)来存取附接装置的存储器。此方法可支持易失性及持久性存储器架构两者。CXL.cache协议可定义主机-装置交互以使用请求及响应方法来低延时地实现主机存储器的高效高速缓存。流量(例如NVMe流量)可通过CXL.io协议运行,且CXL.mem及CXL.cache协议可共享共同链路层及事务层。因此,CXL协议可经由PCIe物理层来多路复用及传输。
支持CXL协议且可经由CXL附接到主机的存储器装置称为CXL存储器装置,其可为主机处理器提供额外带宽及容量。CXL存储器装置独立于主机存储器。在一些实施方案中,CXL存储器装置可将资源分割到多个逻辑装置中,且每一逻辑装置可作为存储器装置可见。在一些实施方案中,CXL存储器装置可支持多个主机系统。组构管理器可为跨逻辑装置的多个主机系统配置资源分配。动态容量(DC)是CXL存储器装置的一个特征,其允许动态分配及释放暴露的存储器容量且无需使CXL存储器装置复位。尽管CXL存储器装置在此用作用于实施动态容量的说明性实例,但动态容量特征可应用于其它存储器装置。
明确来说,动态容量装置(DCD)是实施动态容量(DC)的存储器装置,例如CXL存储器装置。DCD的装置物理地址(DPA)范围可细分为若干区(例如1到8区)且这些区中的每一者可进一步细分为一组块。可分配给主机系统且与标签相关联的一或多个块称为可标记DC单元。可标记DC单元可表示可被标记、以各种容量大小指派且动态分配给各种主机系统的管理单元。已被指派标签的可标记DC单元称为标记容量单元。每一标签是全局唯一的,且因此与可标记DC单元相关联的标签可在存储器装置(例如CXL存储器装置)中形成聚合标签空间,且聚合标签空间中的每一标签是唯一可识别的。每一标签可与一或多个主机系统相关联且可映射到一或多个DPA范围(例如识别DCD上存储数据的相应位置的一组一或多个连续物理地址范围或物理地址范围列表(即,非连续地址范围))。每一标签可或可不共享。
明确来说,组构管理器控制这些可标记DC单元分配给一或多个主机系统(或一群组主机系统)且利用事件来向主机系统发信号通知这些可标记DC单元的分配何时发生变化。组构管理器还通过在标签映射数据结构中使标签与由一或多个物理地址(例如一或多个DPA范围)表示的可标记DC单元相关联来向分配的可标记DC单元指派标签。存储器装置将DPA范围映射到可标记DC单元。标签可因此称为表示标记容量单元。主机系统可将这些DPA范围映射到主机系统可用的主机地址空间内的对应主机物理地址(HPA)范围。在一些实施方案中,存储器装置可通过描述主机系统可存取的所有块的起始DPA及长度的范围列表来传达这些标记容量单元的状态,其中范围列表由存储器装置管理。主机系统(或代表主机系统的组构管理器)可使用一组命令来查询及配置标记容量单元。命令组可包含分配新标记容量单元的命令(例如启动动态容量添加命令)、释放标记容量单元的命令(例如启动动态容量释放命令)及得到标记容量单元的信息。与标签相关联且分配给主机系统的可共享的标记容量单元的容量是不可变的,使得没有额外容量可添加到标签,也不可从标签删除容量。即,尽管存储于标记容量单元中的内容可修改,但在可共享标签的整个生命周期内,标签与分配给主机系统的标记容量单元之间的映射不可修改。因此,主机系统需要请求重新分配标记容量单元的不同容量或相关联的不同标签。此外,需要使与标记容量相关联的数据移动到/自其它类型的存储器装置(例如NVMe存储器装置)。
在例如非易失性存储器快速(NVMe)存储器装置的某些存储器装置中,主机系统可使用逻辑地址空间来存取存储器装置。当主机系统请求存取数据(例如读取数据、写入数据)时,主机系统可向存储器装置发送存储器存取命令,其中存储器存取命令指定来自逻辑地址空间的逻辑地址。逻辑地址可识别逻辑单元,例如逻辑块。针对一些类型的存储器装置,逻辑块是最小写入/读取单位。举例来说,取决于存储器装置的规格,逻辑块中的数据的大小可为512字节、4096字节(4KB)等。在某些存储器装置中,逻辑块可为一群组逻辑页。逻辑页是物理页的抽象化。存储器子系统可将逻辑页定义为等于特定物理存储单元(例如物理页、物理块等)。逻辑块地址(LBA)是逻辑块的标识符。在逻辑块的寻址方案中,逻辑块可由其相应整数索引识别,例如其中第一块是LBA0,第二块是LBA1,以此类推。在某些存储器装置中,存储器装置的逻辑地址空间分成允许更高效管理数据的命名空间。命名空间是逻辑地址空间的一部分,且每一命名空间可通过地址映射数据结构来映射到多个逻辑块。举例来说,一或多个LBA可映射到特定命名空间。每一命名空间可使用对应命名空间标识符(命名空间ID)来引用。对于每一命名空间,存储器子系统控制器可将命名空间元数据(例如命名空间特定的地址映射数据结构(例如命名空间逻辑到物理(L2P)表))存储于存储器装置中。命名空间特定的地址映射数据结构可指示特定于特定命名空间的能力及设置,且可例如使用由NVM ExpressTM(NVMeTM)规格定义的命名空间管理及命名空间附加命令来创建、更新或删除。
本公开的方面通过实施与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令来解决上述及其它缺点。与标记容量相关联的迁移命令可使主机系统能够将存储于与CXL存储器装置中的源标签(“源标签的数据”)相关联的标记容量单元中的数据迁移到与NVMe存储器装置中的命名空间(“NVMe命名空间”)相关联的物理存储单元以及将数据从NVMe存储器装置迁移回CXL存储器装置。与命名空间相关联的物理存储单元的大小可对应于与源标签相关联的标记容量单元的大小,且每一命名空间可为唯一的且一对一映射到标签。在一些实施方案中,标签可由与命名空间ID相同的值识别。为便于描述,将数据从CXL存储器装置迁移到NVMe存储器装置的迁移命令称为迁出命令,且将数据从NVMe存储器装置迁移到CXL存储器装置的迁移命令称为迁入命令。
与标记容量相关联的迁出命令使主机系统能够将源标签的数据移动到与NVMe存储器装置中的命名空间相关联的物理存储单元。迁出命令可进一步使主机系统能够释放相关联标记容量单元,使得存储器空间可经重新分配以满足对存储器资源的请求。为了释放标记容量单元,CXL存储器装置可在标签/命名空间映射数据结构中使DPA范围与源标签解除关联且将DPA范围标记为自由使用,且通知主机系统好像源标签已被删除。
因而,源标签的数据迁移到NVMe命名空间。尽管源标签的容量无法改变而且源标签与分配给主机系统的标记容量单元之间的映射无法修改,但源标签可经释放使得相关联标记容量单元可重新分配给其它主机系统及/或与其它标签相关联。在一些实施方案中,主机系统可基于某些启发法来选择标签用于迁移,例如基于存取频率、最近存取时间等。
迁出命令可指定源标签且指定包含与命名空间相关联的物理存储单元的目的地NVMe存储器装置。迁出命令可进一步指定NVMe存取控制信息。迁出命令可使主机系统能够更新标签/命名空间映射数据结构的与源标签相关联的项中的命名空间及其物理地址(例如物理块地址(PBA)范围)。迁出命令还可对主机系统隐藏DPA范围,且因此,先前能够存取源标签的数据的主机系统无法再存取DCD中的数据,而是需要检索NVMe存储器装置中的数据。响应于尝试存取源标签,主机系统可接收关于迁移数据的通知及/或检索(即,迁入)数据的建议。
与标记容量相关联的迁入命令使主机系统能够将存储于NVMe命名空间的物理存储单元中的与源标签相关联的数据移动到与目的地标签(例如新标签或原始源标签)相关联的另一标记容量单元。
迁入命令可指定用于检索数据的源标签(与命名空间ID相关联)。迁入命令可指定可存取(例如读取、写入等)目的地标签的数据的主机系统。迁入命令可进一步指定选择策略以指示用于选择用于目的地标签的可标记DC单元的策略。选择策略可包含允许存储器控制器选择可用且连续的可标记DC单元的“自由且连续”策略或允许组构管理器选择可标记DC单元以全局控制选择的“规定”策略。因此,先前能够存取已迁移到NVMe命名空间的源标签的数据的主机系统可通过存取原始数据的特定副本(例如通过引用目的地标签)来再次存取数据。
本公开的优点包含通过使用关于标签的命令来高效修改分配给主机系统的标记容量单元。明确来说,系统显著改进使用标记容量的灵活性。此外,本公开的方面允许用于CXL存储器装置中的标签与用于NVMe存储器装置中的命名空间之间的兼容性。标签可被视为CXL存储器装置的物理位置的标识符,且命名空间可被视为NVMe存储器装置的逻辑地址的标识符;因而,对于涉及命名空间的操作,标签可链接到命名空间。NVMe命名空间用作用于实施本公开的实例,本公开的方面还可实施与和其它类型的存储器装置耦合的CXL存储器装置中的标记容量相关联的迁移命令以及其它类型的数据/存储器管理格式,例如文件而非命名空间。在一个实例中,迁移命令允许将存储于与CXL存储器装置中的源标签相关联的标记容量单元中的数据迁移到与文件服务器中的文件相关联的物理存储单元(例如通过网络而非PCIe)以及将数据从文件服务器迁移回CXL存储器装置。
图1说明根据本公开的一些实施例的包含计算快速链路(CXL)存储器装置110的实例计算系统100。CXL存储器装置110可包含媒体,例如一或多个易失性存储器装置、一或多个非易失性存储器装置或其组合。
计算系统100可为例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如飞机、无人机、火车、汽车或其它运输工具)、物联网(IoT)启用装置、嵌入式计算机(例如包含于运载工具、工业设备或联网商用装置中的嵌入式计算机)或包含存储器及处理装置的此计算装置的计算装置。
计算系统100可包含耦合到CXL存储器装置110的一或多个主机系统120。在一些实施例中,主机系统120耦合到不同类型的多个CXL存储器装置110。图1说明耦合到一个CXL存储器装置110的主机系统120的一个实例。如本文中使用,“耦合到”或“与…耦合”通常指代组件之间的连接,其可为间接通信连接或直接通信连接(例如,不具有中介组件),无论有线还是无线,包含例如电、光学、磁性等的连接。
主机系统120可包含处理器芯片组及由处理器芯片组执行的软件栈。处理器芯片组可包含一或多个核心、一或多个高速缓存、存储器控制器(例如NVDIMM控制器)及存储协议控制器(例如PCIe控制器、SATA控制器)。主机系统120使用CXL存储器装置110来例如将数据写入到CXL存储器装置110及从CXL存储器装置110读取数据。
主机系统120可经由外围组件互连快速(PCIe)接口来耦合到CXL存储器装置110。PCIe接口是用于在主机系统120与CXL存储器装置110之间传输数据以在CXL存储器装置110与主机系统120之间传递控制、地址、数据及其它信号的物理主机接口。当CXL存储器装置110通过物理主机接口(例如PCIe总线)来与主机系统120耦合时,主机系统120可进一步利用CXL接口来存取CXL存储器装置110的组件。当CXL存储器装置110通过物理主机接口(例如PCIe总线)来与主机系统120耦合时,主机系统120可进一步利用NVM Express(NVMe)接口来存取组件(例如NVMe子系统170)。图1说明包含NVMe子系统的CXL存储器装置110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接及/或通信连接的组合来存取多个CXL存储器装置110。在一些实施方案中,主机系统120可经由网络来连接到CXL存储器装置110。
在一些实施例中,主机系统120包含连接到主机存储器105(例如DRAM或其它主存储器)的中央处理单元(CPU)109。主机系统120包含经由CXL连接155来对接主机接口118的总线107,例如存储器装置接口。
CXL连接155可包含用于实施包含CXL.io协议、CXL.mem协议及CXL.cache协议的CXL协议的一组数据传输通道(“通道”)。CXL连接155可包含根据本文中描述的实施例的任何合适数目的通道。举例来说,CXL连接155可包含16个通道(即,CXL x16)。
主机接口118可包含CXL存储器装置110的媒体存取控制(MAC)及物理层(PHY)组件用于使通信从主机系统120进入到CXL存储器装置110及使通信从CXL存储器装置110外出到主机系统120。总线107及主机接口118在例如基于PCIe的CXL串行通信协议或其它合适通信协议的通信协议下操作。其它合适通信协议包含以太网、串行附接SCSI(SAS)、串行AT附接(SATA)、与远程直接存储器存取(RDMA)相关的任何协议(例如Infiniband、iWARP或基于聚合以太网的RDMA(RoCE))及其它合适串行通信协议。
计算系统100可为用于处理器、存储器扩展及加速器的高速缓存一致性互连件。计算系统100维持CPU存储器空间与附接装置上的存储器之间的存储器一致性,这允许资源共享以实现更高性能、降低软件栈复杂性及降低总系统成本。一般来说,CXL是可支持可在PCIe顶上运行的数个协议(包含CXL.io协议、CXL.mem协议及CXL.cache协议)的接口标准。CXL.io协议是类PCIe协议,其可被视为能够分割受管理存储器的“增强型”PCIe协议。CXL.io可用于初始化、链接、装置发现及枚举、寄存器存取,且可为I/O装置提供接口。CXL.mem协议可使主机能够使用存储器语义(例如加载及存储命令)来存取附接装置的存储器。此方法可支持易失性及持久性存储器架构两者。CXL.cache协议可定义主机-装置交互以使用请求及响应方法来低延时地实现主机存储器的高效高速缓存。流量(例如NVMe流量)可通过CXL.io协议运行,且CXL.mem及CXL.cache协议可共享共同链路层及事务层。因此,CXL协议可经由PCIe物理层来多路复用及传输。
CXL存储器装置110是允许主机系统120使用其来进行存储器带宽扩展、存储器容量扩展及持久性存储器应用且作为小规模资源池化及大规模资源池化及共享的存储器装置。
在一些实施方案中,CXL存储器装置可为多逻辑装置(MLD),其可将资源分割到多个逻辑装置中,且每一逻辑装置可作为存储器装置可见。多个逻辑装置中的一者可留给组构管理器用于配置跨逻辑装置的资源分配,而其它逻辑装置可用于指派给主机。在一些实施方案中,CXL存储器装置可为支持多个主机系统的装置且可称为组构附接存储器(FAM)。在这些计算环境的背景下,术语“组构”可指代在芯片的主组件上或在计算系统的芯片之间路由信号的互连通信路径。此“组构”可形成计算装置内的处理或计算节点之间或多个计算装置之间的互连架构。在此背景下,处理节点及计算节点指代在互连网络上操作为节点的处理装置。组构附接存储器可指代其中存储器通过组构互连件来连接到CPU而非直接连接到CPU的存储器架构。这允许存储器定位成与CPU相距一定距离且可提供例如改进可扩展性及容错性的好处。举例来说,在一些系统中,组构包含总线或一组连接,其将系统的处理装置连接到外围装置及其它处理装置。在其它系统中,组构还可包含相应计算节点及存储器节点的组合之间的一组网络连接。在各种系统中,组构用作互连件以创建作为单个实体一起工作的互连装置的网络。此统一框架经由组构来并入许多互连装置(即,像许多线程交织在一起以形成有凝聚力的整体)以在装置之间提供快速且可靠通信。在此背景下,“互连件”可指代将多个装置或子系统连接在一起以允许其通信及交换数据的装置或系统。
CXL存储器装置110可包含存储装置、存储器模块或存储装置与存储器模块的组合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
CXL存储器装置110可包含不同类型的非易失性存储器装置及/或易失性存储器装置的任何组合。易失性存储器装置可为(但不限于)随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)。非易失性存储器装置的一些实例包含与非(NAND)型快闪存储器及原位写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器单元的交叉点阵列可基于体电阻变化结合可堆叠交叉栅格式数据存取阵列来执行位存储。另外,与许多基于快闪的存储器相比,交叉点非易失性存储器可执行原位写入操作,其中非易失性存储器单元可在不事先擦除非易失性存储器单元的情况下进行编程。NAND型快闪存储器包含例如二维NAND(2D NAND)及三维NAND(3D NAND)。
DCD 130A到130N可包含:易失性存储器装置,其包含随机存取存储器(RAM),例如动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM);及非易失性存储器装置,其包含与非(NAND)型快闪存储器及原位写入存储器,例如3D交叉点存储器装置(其是非易失性存储器单元的交叉点阵列)、只读存储器(ROM)、相变存储器(PCM)、自选择存储器、其它硫属化物基存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻式随机存取存储器(RRAM)、氧化物基RRAM(OxRAM)、或非(NOR)快闪存储器或电可擦除可编程只读存储器(EEPROM)。
CXL存储器装置控制器115可与DCD 130A到130N通信以执行例如在DCD 130A到130N处读取数据、写入数据或擦除数据及其它此类操作的操作。CXL存储器装置控制器115可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。硬件可包含具有用于执行本文中描述的操作的专用(即,硬编码)逻辑的数字电路系统。CXL存储器装置控制器115可为微控制器、专用逻辑电路系统(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适处理器。
CXL存储器装置控制器115可包含经配置以执行存储于本地存储器119中的指令的处理装置,其包含一或多个处理器(例如处理器117)。在说明实例中,CXL存储器装置控制器115的本地存储器119包含经配置以存储用于执行控制CXL存储器装置110的操作(包含处置CXL存储器装置110与主机系统120之间的通信)的各种过程、操作、逻辑流程及例程的指令的嵌入式存储器。CXL存储器装置控制器115可管理CXL存储器装置110的操作,例如写入到DCD 130A到130N及从DCD 130A到130N读取。CXL存储器装置控制器115可包含一或多个处理器117,其可为多核处理器。处理器117可处置DCD 130A到130N的组件或与所述组件交互,通常通过固件代码。CXL存储器装置控制器115可在CXL协议下操作,但其它协议也适用。
CXL存储器装置控制器115执行计算机可读程序代码(例如软件或固件)可执行指令(本文中称为“指令”)。指令可由CXL存储器装置控制器115的各种组件执行,例如处理器117、逻辑门、开关、专用集成电路(ASIC)、可编程逻辑控制器、嵌入式微控制器及CXL存储器装置控制器115的其它组件。可由CXL存储器装置控制器115执行的用于实施本文中描述的实施例的指令存储于非暂时性计算机可读存储媒体中。在某些实施例中,指令存储于CXL存储器装置110的非暂时性计算机可读存储媒体中,例如DCD 130A到130N。可在无需来自主机系统120的额外输入或指导的情况下执行存储于CXL存储器装置110中的指令。在其它实施例中,指令从主机系统120传输。CXL存储器装置控制器115经配置有硬件及指令以执行本文中描述且图中展示的各种功能。
CXL存储器装置控制器115可与DCD 130A到130N交互以进行读取及写入操作。CXL存储器装置控制器115可执行直接存储器存取(DMA)以在主机系统120与DCD 130A到130N之间传送数据,无需CPU 109参与。CXL存储器装置控制器115可控制数据传送,同时激活控制路径用于提取命令、发布完成及中断及激活DMA用于主机系统120与DCD 130A到130N之间的实际数据传送。CXL存储器装置控制器115可具有错误校正模块以校正从DCD 130A到130N中的存储器阵列提取的数据。
在一些实施例中,本地存储器119可包含存储存储器指针、提取数据等的存储器寄存器。本地存储器119还可包含用于存储微代码的只读存储器(ROM)。虽然已将图1中的实例CXL存储器装置110说明为包含CXL存储器装置控制器115,但在本公开的另一实施例中,CXL存储器装置110不包含CXL存储器装置控制器115,而是可代以依赖外部控制(例如,由外部主机或由与存储器子系统分离的处理器或控制器提供)。
一般来说,CXL存储器装置控制器115可从主机系统120或组构管理器140接收命令或操作且可将命令或操作转换成指令或适当命令以实现对DCD 130A到130N的期望存取。CXL存储器装置控制器115可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及与DCD 130A到130N相关联的逻辑地址(例如逻辑块地址(LBA)、命名空间)与物理地址(例如物理MU地址、物理块地址)之间的地址转译。CXL存储器装置控制器115可进一步包含用于经由物理主机接口来与主机系统120通信的主机接口电路系统。主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取DCD 130A到130N以及将与DCD 130A到130N相关联的响应转换成用于主机系统120的信息。
CXL存储器装置110还可包含未说明的额外电路系统或组件。在一些实施例中,CXL存储器装置110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从CXL存储器装置控制器115接收地址且解码地址以存取DCD 130A到130N。
在一些实施例中,DCD 130A到130N中的每一者或一些包含本地媒体控制器135,其结合CXL存储器装置控制器115操作以对DCD 130A到130N的一或多个存储器单元执行操作。外部控制器(例如CXL存储器装置控制器115)可在外部管理DCD 130A到130N(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,CXL存储器装置110是受管理存储器装置,其是具有裸片上的控制逻辑(例如本地媒体控制器135)及用于同一存储器装置封装内的媒体管理的控制器(例如CXL存储器装置控制器115)的原始DCD 130A到130N。受管理存储器装置的实例是受管理NAND(MNAND)装置。
在一些实施例中,计算系统100可包含NVMe子系统170。NVMe子系统170可包含非易失性存储器装置(例如SSD)及易失性存储器装置(例如DRAM)。NVMe子系统170的非易失性存储器装置用于存储主机数据且可包含一或多个命名空间。命名空间是可由主机系统120直接存取的格式化数量的非易失性存储器装置。命名空间可并发附接到NVMe子系统中的两个或更多个控制器作为两个或更多个主机系统之间的共享命名空间。每一命名空间可与包含命名空间特定地址映射数据结构(称为“L2P表”)的元数据相关联,其中NVMe子系统170的易失性存储器装置可用于存储元数据。每一L2P表可与命名空间ID相关联,命名空间ID是由控制器用于提供对命名空间的存取的标识符。
在一些实施例中,计算系统100可包含组构管理器140。组构管理器140是查询及配置计算系统100的操作状态的外部逻辑过程,且可包含在运行时将DCD 130A到130N指派给主机系统120的应用逻辑及策略。在一些实施例中,组构管理器140可为在主机系统120上运行的软件、嵌入于另一CXL装置或CXL开关上的基板管理控制器(BMC)内的固件或在CXL装置中运行的专用装置。组构管理器140可通过组件命令接口(CCI)、通过使用命令集来将(逻辑)装置(例如DCD 130A到130N)指派给主机系统120。CCI可通过邮箱寄存器暴露,邮箱寄存器提供向装置(例如DCD 130A到130N)发出命令(“邮箱命令”)的能力。在一些实施方案中,DCD 130A到130N中的每一者可包含一或多个可标记DC单元136。在图1的实例中,组构管理器140可将一个可标记DC单元指派给主机系统120且创建附接到可标记DC单元的全局唯一标签作为标记容量单元137;组构管理器140可将另一可标记DC单元指派给主机系统120且创建附接到可标记DC单元的全局唯一标签作为标记容量单元138。尽管图1中展示特定数目的可标记动态容量单元且图1中展示的可标记动态容量单元具有相同大小的容量,但各种大小的容量可根据主机系统的请求来分配给可标记动态容量单元且包含于DCD中的可标记动态容量单元的数目可变化。在一些实施方案中,可标记动态容量单元的容量大小可为最小容量大小的倍数,且最小容量大小可为2MB、0.5GB、1GB等。在一些实施方案中,组构管理器140的一些或所有功能性可由控制器115及/或迁移命令组件113执行。
在一些实施例中,CXL存储器装置110包含使主机系统120能够执行迁移命令的迁移命令组件113。在一些实施例中,迁移命令是上述邮箱命令。在一些实施例中,CXL存储器装置控制器115包含迁移命令组件113的至少一部分。在一些实施例中,迁移命令组件113是主机系统120、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含迁移命令组件113的至少一部分且经配置以执行本文中描述的功能性。关于迁移命令组件113的操作的更多细节在下文参考图2A到6描述。在一些实施方案中,迁移命令组件113包含图2A及2B中展示的命令组件113A及命令组件113B,其可一起操作以执行迁移命令组件113的功能性。在一些实施方案中,迁移命令组件113的一些或所有功能性可由组构管理器240、控制器215、命令组件113A、命令组件113B及/或其组合执行,如图2A及2B中展示。
所属领域的技术人员应了解,可提供额外电路系统及信号,且已简化图1的组件。应认识到,参考图1描述的各种块组件的功能性不一定分离到集成电路装置的相异组件或组件部分。举例来说,集成电路装置的单个组件或组件部分可经调适以执行图1的多于一个块组件的功能性。替代地,集成电路装置的一或多个组件或组件部分可经组合以执行图1的单个块组件的功能性。
图2A是在计算快速链路(CXL)存储器装置中实施可标记动态容量单元的系统200A的示意性框图。在各种实施例中,系统200A包含一或多个主机系统220A到D(例如主机系统120)、包含控制器215(例如控制器115)的CXL存储器装置210(例如CXL存储器装置110)、CXL组构互连件245、可执行管理CXL组构互连件245的操作的组构管理器240及编排器250。在一些实施例中,控制器215的方面包含于DCD 230A到230D的处理逻辑中。CXL存储器装置210可利用高速总线(例如外围组件互连快速(PCIe)总线)(例如计算快速链路(CXL)组构互连件245)经由网络连接接口来连接到主机系统220A到D。计算快速链路(CXL)组构互连件245可提供可支持可在PCIe顶上运行的若干协议的接口,包含CXL.io协议、CXL.mem协议及CXL.cache协议。CXL组构互连件245可为一或多个开关的集合,且每一开关具有基于端口的路由(PBR)能力且与PBR链路互连。CXL组构互连件245可将一或多个主机端口连接到单个一致性主机物理地址(HPA)空间内的装置。
在图2A的实例中,DCD 230A可包含第一区236A,且DCD 230B可包含第二区236B。如图2A中展示,第一区236A及第二区236B中的每一区可包含一或多个可标记动态容量单元。CXL存储器装置210可进一步包含NVMe存储器装置270A到270B。NVMe存储器装置270A、270B可包含用于存储一或多个命名空间的一或多个非易失性存储器装置(例如SSD)及用于存储L2P表的一或多个易失性存储器装置(例如DRAM)。
在一些实施方案中,编排器250可控制主机系统220A到D对每一标签的可存取性。编排器250可作出关于主机系统220A到D的集群的全局控制及管理决策。编排器250可负责维持主机系统220A到D的期望状态(即,客户端在运行集群时期望的状态),例如哪些应用在运行及它们使用哪些容器图像、应使哪些资源可供它们使用及其它配置细节。在一些实施方案中,编排器250可为容器编排系统,例如Kubernetes。在一些实施方案中,编排器250可用于提供容器化计算服务平台,例如平台即服务(PaaS)系统。PaaS系统为多个用户拥有或管理的应用程序的开发及执行提供资源及服务(例如微服务)。PaaS系统提供允许用户在集群计算环境(“云”)中构建应用程序及服务的平台及环境。编排器250可包含节点以执行应用程序及/或与应用程序相关联的过程。提供计算功能性的“节点”可为应用程序提供执行环境。在一些实施方案中,“节点”可包含托管于物理机上的虚拟机,例如实施为云的部分的主机系统220A到220D。在一些实施方案中,节点可另外或替代地包含一群组虚拟机、一容器或一群组容器以执行PaaS应用程序的功能性。当节点实施为虚拟机时,其可由每一主机系统220A到220D上的操作系统(OS)执行。尽管本公开的实施方案根据特定类型的系统进行描述,但这不应被视为限制本公开的特征的范围或有用性。举例来说,本文中描述的特征及技术可与其它类型的多租户系统及/或容器化计算服务平台一起使用。
主机系统220A到D(例如通过在主机系统220A到D上运行的节点)可请求分配DCD230A到230D中的标记容量。举例来说,主机系统220A到D可通过在主机系统220A到D上运行的节点(例如应用程序、虚拟机)来请求分配DCD 230A到230D中的标记容量,其中请求可指定容量大小。
对于标记容量的初始分配,控制器215及/或组构管理器240可确定用于分配的DCD230A到230D的部分。在一些实施方案中,控制器215可以请求容量大小确定分配给主机系统220A的DCD 230A到230D的可用部分且请求组构管理器240提供标签。控制器215可从组构管理器240接收标签且将标签指派给称为标记容量单元(例如标记容量单元231A或232A)的分配部分。在一些实施方案中,组构管理器240可以请求容量大小确定分配给主机系统220A的DCD 230A到230D的可用部分且将标签指派给称为标记容量单元(例如标记容量单元231A或232A)的分配部分。在各种实施方案中,标签由组构管理器240创建,使得标签是全局唯一的。控制器215可将标签、DCD 230A到230D的分配部分的DPA范围及定义可存取标签的主机系统的主机标识符(或主机群组标识符)存储于标签映射数据结构217中。
在标记容量单元的初始分配之后,主机系统220A到220D可将数据写入到标记容量单元。使用主机系统220A及DCD 230A作为实例,在首先将标记容量单元231A或232A分配给主机系统220A之后,控制器215可从主机系统220A接收由在主机系统220A上运行的应用程序创建的数据。数据可包含反映应用程序的状态的内容(例如,数据可包含表示变量的值、存储器布局、指令指针的位置及关于应用程序的状态的其它细节的信息)。控制器215可将数据存储于标记容量单元231A或232A中。控制器215可将数据写入到标记容量单元231A到232A且将识别CXL存储器装置210上含有数据的相应位置的一或多个DPA范围与主机系统220A可用的虚拟地址空间(即,主机系统分配给创建数据的主机应用程序的虚拟/逻辑地址空间)中的对应虚拟地址范围映射。因而,控制器215可将数据记录于由一组对应地址范围(例如指示数据在CXL存储器装置210上的位置的连续物理地址范围或非连续物理地址范围的范围列表)识别的相应位置处。使用标记容量单元231A或232A作为迁出命令及迁入命令的源标签的实例将在下文关于图2A进行说明。
图3A说明迁出命令310A的实例及迁入命令320A的实例。迁出命令310A可包含经指定以表示包含源标签、目的地NVMe存储器装置等的参数的字节。迁出命令的每一参数可具有以字节为单位的特定长度且放置于特定字节偏移处。迁出命令的源标签可识别标签,其中与标签相关联的数据将迁出。迁出命令的目的地NVMe存储器装置可识别NVMe存储器装置,其中与源标签相关联的数据将迁移。
迁入命令320A可包含经指定以表示包含源标签(命名空间ID)、主机标识符(或主机群组标识符)、区号、选择策略等的参数的字节。在一些实施方案中,迁入命令可进一步包含目的地标签(未展示)。迁入命令的每一参数可具有以字节为单位的特定长度且放置于特定字节偏移处。迁入命令的源标签可识别对应于命名空间的源标签,其中数据存储于NVMe存储器装置中且先前与源标签相关联且将迁入与目的地标签相关联的标记容量单元中。迁入命令的主机标识符(或主机群组标识符)可识别迁入命令的目的地标签将指派给的主机系统。迁入命令的区号可识别与目的地标签相关联的标记容量单元所在的DCD的区,其中经识别区具有各种属性,包含区是否可写入及/或可读取、区是否具有来自高速缓存行的最近副本在硬件中是一致的硬件管理一致性或区是否可由一或多个主机系统共享。迁入命令的选择策略可指定用于选择DCD的可标记DC单元作为与目的地标签相关联的标记容量单元的策略。举例来说,“自由且连续”策略可允许存储器控制器(例如控制器215)选择DCD中的自由且连续空间,而“规定”策略可允许组构管理器(例如组构管理器240)选择DCD中的规定空间。迁入命令可任选地包含经指定以表示包含与目的地标签相关联的可标记DC单元的容量大小、与目的地标签相关联的可标记DC单元的数目等的参数的字节。尽管图3A未展示,但迁入命令可包含经指定以表示包含新标签是否将被指派为目的地标签(或源标签是否被重用)的参数的字节。
图3B说明可用于实施迁出命令及迁入命令的实例标签/命名空间映射数据结构300B(例如标签/命名空间映射数据结构217)。标签映射数据结构300B可包含“DPA范围”项、“标签”项及“主机ID”项。“DPA范围”项指示CXL存储器装置上存储数据的位置(即,标记容量单元的一或多个物理地址范围)。识别CXL存储器装置上存储数据的相应位置的物理地址范围可称为含有数据的“标记容量单元的物理地址范围”。“标签”项指示与标记容量单元相关联的标签。“主机ID”项指示与标签相关联的标记容量单元可由其存取的主机系统。标签/命名空间映射数据结构300B可包含多条记录,且每一记录可对应于标签,且每一记录包含此处描述的多个项。
标签/命名空间映射数据结构300B可进一步包含“命名空间ID”项及“LBA范围”项。“命名空间ID”项指示其中已迁出标签的NVMe命名空间。“LBA范围”项指示由命名空间ID表示的逻辑地址。举例来说,命名空间ID NS1可包含从xxx1到xxx’1的LBA范围,命名空间IDNS2可包含从xxx2到xxx’2的LBA范围,等等。
鉴于“DPA范围”项、“标签”项、“主机ID”项,标签/命名空间映射数据结构300B可用于通过将标签的物理地址范围映射到主机系统的虚拟地址空间(即,由主机系统分配给被准许存取数据的主机应用程序的虚拟/逻辑地址空间)中的对应虚拟地址范围来将DPA范围映射到主机系统。
鉴于“标签”项及“命名空间ID”项,标签/命名空间映射数据结构300B可用于将标签映射到命名空间ID,使得主机系统可将CXL存储器装置的标签映射到NVMe存储器装置中的对应命名空间。
图3C说明根据本公开的一些实施例的与NVMe存储器装置中的命名空间相关联的实例L2P表300C。L2P表300C可包含一或多个条目310C。每一条目310C可包含经配置以存储与LBA相关联的地址(或标识符)的逻辑块地址(LBA)字段。每一条目310C还可包含经配置以存储与PBA(例如驻留于NVMe存储器装置270A、270B处)相关联的地址(或标识符)的物理块地址(PBA)字段。在一些实施例中,控制器215可为每一命名空间产生与特定LBA相关联的地址或标识符与和特定PBA相关联的地址或标识符之间的映射,例如在NVMe存储器装置270A、270B的初始化期间。控制器215可将所产生的映射存储于NVMe存储器装置270A、270B处。
现参考图2A,使用主机系统220A及220B及DCD 230A及230B作为实例来各自说明迁出命令的实施及迁入命令的实施。应注意,迁出命令及迁入命令中的每一者可由一或多个主机系统、一或多个节点及一或多个DCD实施。举例来说,与源标签相关联的主机系统可或可不与发出迁出命令的主机系统相同;与命名空间ID(或源标签)相关联的主机系统可或可不与发出迁入命令的主机系统相同。在一些实施方案中,包含于组构管理器240中的命令组件113A及包含于控制器215中的命令组件113B可执行图1的迁出及迁入命令组件113的功能,且一起操作以实施迁出命令及/或迁入命令。
为了实施迁出命令,主机系统220B可通过在主机系统220B上运行的节点(例如应用程序、虚拟机)向CXL存储器装置210发送迁出命令。迁出命令可使主机系统220B能够将存储于具有源标签的标记容量单元中的数据移动到与命名空间ID相关联的物理单元。迁出命令可使源标签对主机系统220B隐藏。迁出命令可进一步使主机系统220B能够释放与源标签相关联的标记容量单元(例如DPA范围)。释放标记容量单元涉及使DPA范围与源标签解除关联且将DPA范围标记为自由使用。在一些实施方案中,迁出命令可使标签及映射命名空间中的一者对主机系统可见且使另一者对主机系统不可见。
举例来说,主机系统220B可发送迁出命令,其中迁出命令包含第一源标签231A及目的地NVMe存储器装置270A。举例来说,第一源标签231A可与主机系统220A相关联。命令组件113B可指派命名空间271A作为NVMe存储器装置270A的一组LBA,找到适合源标签231A的数据的大小的自由存储器空间(例如PBA范围),且将源标签231A的数据存储于与命名空间271A相关联的存储器空间中。在一些实施方案中,命令组件113B可使用与源标签的值相同的值来指派命名空间271A。在存储源标签的数据之后,命令组件113B可更新与命名空间271A相关联的L2P表281A。在一些实施方案中,响应于确定迁出命令指示不释放存储器空间(即,使第一源标签231A的数据按照原样保持于DCD 230A中),命令组件113B可使第一源标签231A不可存取,没有额外动作。命令组件113B可通过修改第一源标签231A的记录来更新标签/命名空间映射数据结构217。命令组件113B可通知主机系统220B迁出命令完成。在迁出命令完成之后,命令组件113B可使源标签231A对主机系统220B不可见。
作为另一实例,主机系统220B可发送迁出命令,其中迁出命令包含第二源标签232A及目的地NVMe存储器装置270A。命令组件113B可指派命名空间272A作为NVMe存储器装置270A的一组LBA,找到适合源标签232A的数据的大小的自由存储器空间(例如PBA范围),且将源标签232A的数据存储于与命名空间272A相关联的存储器空间中。在一些实施方案中,命令组件113B可使用与源标签的值相同的值来指派命名空间272A。在存储源标签的数据之后,命令组件113B可更新与命名空间272A相关联的L2P表283A。在一些实施方案中,响应于确定迁出命令指示释放源标签的存储器空间,命令组件113B可释放与第二源标签232A相关联的标记容量单元。命令组件113B可通过修改第二源标签232A的记录来更新标签/命名空间映射数据结构217。命令组件113B可通知主机系统220B迁出命令完成。在迁出命令完成之后,命令组件113B可使源标签232A对主机系统220B不可见。
为了实施迁入命令,主机系统220C可通过在主机系统220C上运行的节点(例如应用程序、虚拟机)向CXL存储器装置210发送迁入命令。迁入命令可使主机系统220C能够将与命名空间(与源标签映射)相关联的数据移动到与目的地标签相关联的标记容量单元,使得数据被放回CXL存储器装置中且数据的完全存取可给予主机系统220C。迁入命令可使命名空间对主机系统220C隐藏。迁出命令可进一步使主机系统220B能够释放与命名空间相关联的物理存储单元(例如PBA范围)。释放物理存储单元涉及使PBA范围与源标签解除关联且将PBA范围标记为自由使用。在一些实施方案中,迁入命令可使标签及映射命名空间中的一者对主机系统可见且使另一者对主机系统不可见。
举例来说,主机系统220C可发送迁入命令,其中迁入命令包含源标签231A、主机标识符(或主机群组标识符)220C及作为“自由且连续”的选择策略。命令组件113B可使用源标签231A以通过使用标签/命名空间映射数据结构217来确定映射到源标签231A的命名空间271A。响应于确定选择策略是“自由且连续”,命令组件113B可确定区233A(例如与源标签相同的区)中的可标记DC单元,且向命令组件113A发送对标签的请求。响应于标签请求,命令组件113A可将标签发送到命令组件113B。命令组件113B可将标签指派给作为标记容量单元233A的经确定可标记DC单元。命令组件113B可使用命名空间271A的L2P表来识别NVMe存储器装置270A的位置、检索存储于位置中的数据及将数据存储于标记容量单元233A中。在将数据存储回标记容量单元之后,命令组件113B可更新与命名空间271A相关联的L2P表281A。在一些实施方案中,响应于确定迁入命令指示不释放存储器空间(即,使命名空间271A的数据按照原样保持于NVMe存储器装置270A中),命令组件113B可使命名空间271A不可存取,没有额外动作。命令组件113B可通过修改与标记容量单元233A相关联的标签的记录来更新标签/命名空间映射数据结构217。命令组件113B可通知主机系统220C迁入命令完成。在迁入命令完成之后,命令组件113B可使命名空间271A对主机系统220B不可见。
作为另一实例,主机系统220C可发送迁入命令,其中迁入命令包含源标签232A、主机标识符(或主机群组标识符)220C、区号236B及作为“规定”的选择策略。命令组件113B可使用源标签232A以通过使用标签/命名空间映射数据结构217来确定映射到源标签231A的命名空间271A。响应于确定选择策略是“规定”,命令组件113A可确定区236B中的可标记DC单元,且将具有经确定可标记DC单元的信息的标签发送到命令组件113B。命令组件113B可将标签指派给作为标记容量单元231B的经确定可标记DC单元。命令组件113B可使用命名空间271A的L2P表来识别NVMe存储器装置270A的位置、检索存储于位置中的数据及将数据存储于标记容量单元231B中。在将数据存储回标记容量单元之后,命令组件113B可更新与命名空间271A相关联的L2P表281A。在一些实施方案中,响应于确定迁入命令指示释放命名空间的存储器空间,命令组件113B可释放与命名空间271A相关联的物理存储单元。命令组件113B可通过修改与标记容量单元231B相关联的标签的记录来更新标签/命名空间映射数据结构217。命令组件113B可通知主机系统220C迁入命令完成。在迁入命令完成之后,命令组件113B可使命名空间271A对主机系统220B不可见。
图2B是在计算快速链路(CXL)存储器装置中实施可标记动态容量单元的系统200B的示意性框图。在各种实施例中,系统200B包含一或多个主机系统220A到D(例如主机系统120)、包含控制器215(例如控制器115)及DCD 230A到230D的CXL存储器装置210(例如CXL存储器装置110)、包含控制器295及NVMe存储器装置270A到270B的NVMe子系统290、CXL组构245、组构管理器240及编排集群250。
系统200B与系统200A的不同之处在于:CXL存储器装置及NVMe存储器装置的控制器是单独的。因而,NVMe存储器装置270A到270B可形成包含控制器295的单独NVMe子系统290。当控制器215执行NVMe存储器装置270A到270B的操作时,控制器295可执行上文关于图2A描述的控制器215的功能。控制器295可包含标签/命名空间映射数据结构297,其与标签/命名空间映射数据结构217相同以促进本文中描述的操作。在一些实施例中,控制器295的方面(包含硬件及/或固件功能性)包含于NVMe存储器装置270A到270B的处理逻辑中。
图4是根据本公开的一些实施例的用于使用与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁出命令的实例方法400的流程图。方法400可由处理逻辑执行,处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法400由图1的迁出及迁入命令组件113或图2A及2B的控制器215(包含命令组件113B)及组构管理器240(包含命令组件113A)执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应被理解为仅作为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,不是每个实施例都需要所有过程。其它过程流程是可能的。
在操作410处,处理逻辑可接收将与第一标签相关联的第一数据移动到第二存储器装置(例如NVMe存储器装置270A到270B)的主机命令(迁出命令),其中第一标签与第一存储器装置(例如CXL存储器装置210)的多个动态容量装置(例如DCD 230A到230D)的第一存储器区段(例如对应于231A或232A的存储器区段)相关联,且其中第一存储器区段分配给第一主机系统以存储第一数据。在一些实施方案中,多个动态容量装置中的每一者包括多个存储器区段,其中多个存储器区段中的每一者与多个标签中的相应者相关联,且其中多个标签中的每一者是唯一的。在一些实施方案中,主机移动命令指定第一标签及是否释放第一存储器区段。
在一些实施方案中,第一存储器装置包括计算快速链路(CXL)启用的存储器装置。在一些实施方案中,第二存储器装置包括非易失性存储器快速(NVMe)存储器装置。在一些实施方案中,第二存储器装置包含于包含多个动态容量装置的第一存储器装置中。在一些实施方案中,第二存储器装置不包含于包含多个动态容量装置的第一存储器装置中。
在一些实施方案中,处理逻辑可从第一主机系统接收分配请求,其中分配请求指定第一主机系统及容量,将第一存储器区段分配给第一主机系统,且使第一标签与第一存储器区段相关联。在一些实施方案中,处理逻辑可从主机系统接收第一数据且将第一数据存储于第一存储器区段中。在一些实施方案中,处理逻辑可响应于编排器集群中的节点接收到分配请求而创建第一标签,其中节点在第一主机系统上运行。
在一些实施方案中,处理逻辑可:从第一主机系统接收分配请求,其中分配请求指定第一主机系统及容量;将第二存储器区段分配给第一主机系统;及使第二标签与第二存储器区段相关联。在一些实施方案中,处理逻辑可响应于编排器集群中的节点接收到分配请求而创建第二标签,其中节点在第一主机系统上运行。
在一些实施方案中,处理逻辑可将第一标签映射到第一存储器区段及第一主机系统。在一些实施方案中,第一标签由第一主机系统及另一主机系统共享。在一些实施方案中,分配给第一主机系统且与第一标签相关联的第一存储器区段的容量是不可变的。
在操作420处,响应于接收到主机移动命令,处理逻辑可确定第二存储器装置的第二存储器区段,其中第二存储器区段与第二存储器装置的命名空间相关联。
在一些实施方案中,处理逻辑可确定主机命令是否指示释放第一存储器区段。在一些实施方案中,主机命令通过使用包含于主机命令中的旗标位来指示释放第一存储器区段。
在操作430处,处理逻辑可将第一数据存储于与命名空间相关联的第二存储器区段中。在一些实施方案中,处理逻辑可将第一数据存储于第二存储器装置中且将关于第二存储器装置中的第一数据的第一标签存储于第一数据的元数据中。在一些实施方案中,响应于存储第一数据,处理逻辑可使映射数据结构的项中的第一标签对第一主机系统不可见。
在一些实施方案中,处理逻辑可通过向第二存储器装置发送对具有特定大小(其中特定大小包含第一数据的大小)的自由存储器空间的请求且在从第二存储器装置接收到具有特定大小的自由存储器空间可用的指示之后确定第二存储器装置。在一些实施方案中,处理逻辑可通过向一组存储器装置广播对具有特定大小(其中特定大小包含第一数据的大小)的自由存储器空间的请求且在从第二存储器装置接收到具有特定大小的自由存储器空间可用的指示之后确定第二存储器装置。
在一些实施方案中,响应于确定主机命令指示释放第一存储器区段,处理逻辑可释放第一存储器区段。处理逻辑可使第一存储器区段的存储器地址(例如DPA范围)与第一标签解除关联。处理逻辑可在映射数据结构中使第一存储器区段的存储器地址(例如DPA范围)与第一标签解除关联。
图5是根据本公开的一些实施例的用于使用与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁入命令的实例方法500的流程图。方法500可由处理逻辑执行,处理逻辑可包含硬件(例如处理装置、电路系统、专用逻辑、可编程逻辑、微代码、装置的硬件、集成电路等)、软件(例如运行或执行于处理装置上的指令)或其组合。在一些实施例中,方法500由图1的迁出及迁入命令组件113或图2A及2B的控制器215(包含命令组件113B)及组构管理器240(包含命令组件113A)执行。尽管以特定序列或顺序展示,但除非另外指定,否则过程的顺序可修改。因此,所说明实施例应被理解为仅作为实例,且所说明过程可以不同顺序执行,且一些过程可并行执行。另外,在各种实施例中可省略一或多个过程。因此,不是每个实施例都需要所有过程。其它过程流程是可能的。
在操作510处,处理逻辑可接收从第二存储器装置(例如NVMe存储器装置270A到270B)检索第一数据的主机命令(迁入命令),其中第一数据与第二存储器装置的命名空间相关联,其中命名空间映射到第一标签,其中第一标签先前与第一存储器装置(例如CXL存储器装置210)的多个动态容量装置(例如DCD 230A到230D)的第一存储器区段(例如对应于231A或232A的存储器区段)相关联,且其中第一存储器区段经分配以存储第一数据。在一些实施方案中,多个动态容量装置中的每一者包括多个存储器区段,其中多个存储器区段中的每一者与多个标签中的相应者相关联,且其中多个标签中的每一者是唯一的。
在一些实施方案中,第一存储器装置包括计算快速链路(CXL)启用的存储器装置。在一些实施方案中,第二存储器装置包括非易失性存储器快速(NVMe)存储器装置。在一些实施方案中,第二存储器装置包含于包含多个动态容量装置的第一存储器装置中。在一些实施方案中,第二存储器装置不包含于包含多个动态容量装置的第一存储器装置中。
在一些实施方案中,主机检索命令指定第一标签。在一些实施方案中,处理逻辑可经由映射数据结构来确定对应于第一标签的命名空间。在一些实施方案中,主机检索命令指定主机系统的标识符。在一些实施方案中,主机检索命令指定以下中的至少一者:存储器装置的区标识符或用于选择存储器区段的选择策略。
在操作520处,响应于接收到主机检索命令,处理逻辑可确定多个动态容量装置的第二存储器区段(例如对应于233A或231B的存储器区段)且使第二标签与第二存储器区段相关联。在一些实施方案中,处理逻辑可使映射数据结构的项中的命名空间对第一主机系统不可见。
在一些实施方案中,主机检索命令从第二主机系统接收,且其中主机命令指定第二主机系统,且处理逻辑可使映射数据结构的项中的命名空间对第二主机系统不可见。在一些实施方案中,处理逻辑可将第二标签映射到第二存储器区段及第二主机系统。在一些实施方案中,第二标签由第二主机系统及另一主机系统共享。在一些实施方案中,分配给第二主机系统且与第二标签相关联的第二存储器区段的容量是不可变的。
在操作530处,处理逻辑可检索第一数据且将检索到的第一数据存储于与第二标签相关联的第二存储器区段中。在一些实施方案中,处理逻辑可使用命名空间的L2P表中的逻辑地址(例如LBA范围)来查找存储于第二存储器装置(例如NVMe存储器装置270A到270B)中的数据,且接着检索数据并将其存储于第二存储器区段(例如对应于233A到231B的存储器区段)中。
在一些实施方案中,处理逻辑可确定主机命令是否指示释放与第二存储器装置(例如NVMe存储器装置270A到270B)中的命名空间相关联的物理存储单元。在一些实施方案中,主机命令通过使用包含于主机命令中的旗标位来指示释放物理存储单元。在一些实施方案中,响应于确定主机命令指示释放与第二存储器装置(例如NVMe存储器装置270A到270B)中的命名空间相关联的物理存储单元,处理逻辑可释放物理存储单元。处理逻辑可使物理存储单元的存储器地址(例如PBA范围)与命名空间解除关联。
图6说明计算机系统600的实例机器,在计算机系统600内可执行用于导致机器执行本文中论述的方法论中的任一或多者的一组指令。在一些实施例中,计算机系统600可对应于主机系统(例如图1的主机系统120),其包含、耦合到或利用存储器子系统(例如图1的CXL存储器装置110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的迁移命令组件113或图2A及2B的控制器215(包含命令组件113B)及组构管理器240(包含命令组件113A)的操作)。在替代实施例中,机器可连接(例如联网)到LAN、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够(按顺序或以其它方式)执行指定由机器采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还应被视为包含个别地或联合地执行一组(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
实例计算机系统600包含处理装置602、主存储器604(例如只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或RDRAM)等)、静态存储器606(例如快闪存储器、静态随机存取存储器(SRAM)等)及数据存储系统618,其经由总线630彼此通信。
处理装置602表示一或多个通用处理装置,例如微处理器、中央处理单元或类似者。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的一处理器或实施指令集组合的多个处理器。处理装置602也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似者。处理装置602经配置以执行用于执行本文中论述的操作及步骤的指令626。计算机系统600可进一步包含网络接口装置608以通过网络620通信。
数据存储系统618可包含其上存储体现本文中描述的方法论或功能中的任一或多者的一或多组指令626或软件的机器可读存储媒体624(也称为计算机可读媒体)。指令626也可在其由计算机系统600执行期间完全或至少部分驻留于主存储器604及/或处理装置602内,主存储器604及处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618及/或主存储器604可对应于图1的CXL存储器装置110。
在一个实施例中,指令626包含用于实施对应于APL管理组件(例如图1的迁移命令组件113或图2A及2B的控制器215(包含命令组件113B)及组构管理器240(包含命令组件113A))的功能性的指令。虽然在实例实施例中将机器可读存储媒体624展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被视为包含能够存储或编码一组指令供机器执行且导致机器执行本公开的方法论中的任一或多者的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示来呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用于向所属领域的其它技术人员最有效传达其工作实质的方式。算法在此通常被设想为导致期望结果的自相一致操作序列。操作是需要物理操纵物理量的操作。通常但不一定,这些量采用能够被存储、组合、比较及以其它方式操纵的电或磁信号的形式。已证明,有时主要出于常用原因,将这些信号称为位、值、元素、符号、字符、项、数字或类似者是方便的。
然而,应记住,所有这些及类似术语应与适当物理量相关联且仅为应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵及变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文中的操作的设备。此设备可为了预期目的而专门构造,或其可包含由存储于计算机中的计算机程序选择性激活或重新配置的通用计算机。此计算机程序可存储于计算机可读存储媒体中,例如任何类型的磁盘(包含软盘、光盘、CD-ROM及磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中呈现的算法及显示并不固有地与任何特定计算机或其它设备相关。各种通用系统可根据本文中的教示来结合程序使用,或可证明,构造更专门设备来执行方法是方便的。各种这些系统的结构将如所附权利要求书中陈述那样呈现。另外,本公开未参考任何特定编程语言进行描述。应了解,各种编程语言可用于实施本文中描述的本公开的教示。
本公开可提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在以上说明中,已参考本公开的特定实例实施例来描述本公开的实施例。应明白,可在不背离所附权利要求书中陈述的本公开的实施例的更广精神及范围的情况下对本公开做出各种修改。因此,说明书及图式应被视为意在说明而非限制。
Claims (20)
1.一种系统,其包括:
第一存储器装置,其包括多个动态容量装置;
第二存储器装置;及
处理装置,其与所述第一存储器装置及所述第二存储器装置可操作地耦合以执行包括以下的操作:
接收将与第一标签相关联的第一数据移动到所述第二存储器装置的主机命令,其中所述第一标签与所述多个动态容量装置的第一存储器区段相关联,且其中所述第一存储器区段分配给第一主机系统以存储所述第一数据;
响应于接收到所述主机移动命令,确定所述第二存储器装置的第二存储器区段,其中所述第二存储器区段与所述第二存储器装置的命名空间相关联;及
将所述第一数据存储于与所述命名空间相关联的所述第二存储器区段中。
2.根据权利要求1所述的系统,其中所述多个动态容量装置中的每一者包括多个存储器区段,其中所述多个存储器区段中的每一者与多个标签中的相应者相关联,且其中所述多个标签中的每一者是唯一的。
3.根据权利要求1所述的系统,其中所述主机命令指定所述第一标签。
4.根据权利要求1所述的系统,其中所述主机命令指定所述第二存储器装置。
5.根据权利要求1所述的系统,其中所述操作进一步包括:
响应于确定所述主机命令指示释放所述第一存储器区段,使所述第一标签与所述第一存储器区段解除关联。
6.根据权利要求1所述的系统,其中分配给所述第一主机系统且与所述第一标签相关联的所述第一存储器区段的容量是不可变的。
7.根据权利要求1所述的系统,其中所述第一存储器装置包括计算快速链路CXL启用的存储器装置。
8.根据权利要求1所述的系统,其中所述第二存储器装置包括非易失性存储器快速NVMe存储器装置。
9.根据权利要求1所述的系统,其中所述操作进一步包括:
响应于从所述第一主机系统接收到第一分配请求,确定所述第一存储器区段且使所述第一标签与所述第一存储器区段相关联;及
将所述第一数据存储于所述第一存储器区段中。
10.根据权利要求9所述的系统,其中所述操作进一步包括:
响应于编排器集群中的第一节点接收到所述第一分配请求,创建所述第一标签,其中所述第一节点在所述第一主机系统上运行。
11.根据权利要求1所述的系统,其中所述操作进一步包括:
响应于存储所述第一数据,使映射数据结构的项中的所述第一标签对所述第一主机系统不可见。
12.一种方法,其包括:
由处理装置接收将与第一标签相关联的第一数据移动到第二存储器装置的主机命令,其中所述第一标签与第一存储器装置的多个动态容量装置的第一存储器区段相关联,且其中所述第一存储器区段分配给第一主机系统以存储所述第一数据;
响应于接收到所述主机移动命令,确定所述第二存储器装置的第二存储器区段,其中所述第二存储器区段与所述第二存储器装置的命名空间相关联;及
将所述第一数据存储于与所述命名空间相关联的所述第二存储器区段中。
13.根据权利要求12所述的方法,其中所述多个动态容量装置中的每一者包括多个存储器区段,其中所述多个存储器区段中的每一者与多个标签中的相应者相关联,且其中所述多个标签中的每一者是唯一的。
14.根据权利要求12所述的方法,其中所述主机命令指定所述第一标签。
15.根据权利要求12所述的方法,其中所述主机命令指定第二存储器装置。
16.根据权利要求12所述的方法,其进一步包括:
响应于确定所述主机命令指示释放所述第一存储器区段,使所述第一标签与所述第一存储器区段解除关联。
17.根据权利要求12所述的方法,其中分配给所述第一主机系统且与所述第一标签相关联的所述第一存储器区段的容量是不可变的。
18.根据权利要求12所述的方法,其中所述第一存储器装置包括计算快速链路CXL启用的存储器装置,且其中所述第二存储器装置包括非易失性存储器快速NVMe存储器装置。
19.根据权利要求12所述的方法,其进一步包括:
响应于存储所述第一数据,使映射数据结构的项中的所述第一标签对所述第一主机系统不可见。
20.一种非暂时性计算机可读存储媒体,其包括指令,所述指令在由处理装置执行时导致所述处理装置执行包括以下的操作:
接收将与第一标签相关联的第一数据移动到第二存储器装置的主机命令,其中所述第一标签与第一存储器装置的多个动态容量装置的第一存储器区段相关联,且其中所述第一存储器区段分配给第一主机系统以存储所述第一数据;
响应于接收到所述主机移动命令,确定所述第二存储器装置的第二存储器区段,其中所述第二存储器区段与所述第二存储器装置的命名空间相关联;及
将所述第一数据存储于与所述命名空间相关联的所述第二存储器区段中。
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202463657203P | 2024-06-07 | 2024-06-07 | |
| US63/657,203 | 2024-06-07 | ||
| US19/211,849 US20250377818A1 (en) | 2024-06-07 | 2025-05-19 | Migrate command associated with tagged capacity in a compute express link (cxl) memory device coupled with a nonvolatile memory express (nvme) memory device |
| US19/211,849 | 2025-05-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN121092056A true CN121092056A (zh) | 2025-12-09 |
Family
ID=97887681
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202510745634.8A Pending CN121092056A (zh) | 2024-06-07 | 2025-06-05 | 与和非易失性存储器快速(NVMe)存储器装置耦合的计算快速链路(CXL)存储器装置中的标记容量相关联的迁移命令 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20250377818A1 (zh) |
| CN (1) | CN121092056A (zh) |
-
2025
- 2025-05-19 US US19/211,849 patent/US20250377818A1/en active Pending
- 2025-06-05 CN CN202510745634.8A patent/CN121092056A/zh active Pending
Also Published As
| Publication number | Publication date |
|---|---|
| US20250377818A1 (en) | 2025-12-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP7427081B2 (ja) | メモリ名前空間へデータをバインドするためのメモリシステム | |
| TWI661301B (zh) | 記憶體系統及控制非揮發性記憶體之控制方法 | |
| JP7159069B2 (ja) | メモリシステムおよび制御方法 | |
| CN109144888B (zh) | 存储器系统 | |
| TWI699654B (zh) | 租戶感知儲存共享平台、其方法與其製品 | |
| CN109725846B (zh) | 存储器系统及控制方法 | |
| JP6785204B2 (ja) | メモリシステムおよび制御方法 | |
| KR20210024195A (ko) | 구성 가능한 스토리지를 이용한 NVMe 직접 가상화 | |
| TW201923587A (zh) | 非揮發性記憶體設備中的命名空間分配 | |
| US11366612B2 (en) | Memory including a plurality of nonvolatile memory dies each including a plurality of physical blocks | |
| JP7178916B2 (ja) | メモリシステムおよび制御方法 | |
| KR20220083710A (ko) | 블록 디바이스의 구성 | |
| JP2022553951A (ja) | ブロックデバイスの構築 | |
| US20250258765A1 (en) | Managing metadata associated with memory access operations in a memory device | |
| CN120578338A (zh) | 管理与计算高速链路(cxl)存储器装置相关联的i/o操作 | |
| US20250377818A1 (en) | Migrate command associated with tagged capacity in a compute express link (cxl) memory device coupled with a nonvolatile memory express (nvme) memory device | |
| US20250377832A1 (en) | Freeze command and restore command associated with tagged capacity for a compute express link (cxl) memory device | |
| US20250377815A1 (en) | Concatenate command and truncate command associated with tagged capacity for a compute express link (cxl) memory device | |
| US20250378018A1 (en) | Host-side operations associated with tagged capacity of a memory device | |
| US20250378050A1 (en) | Operations on a file system with tagged capacity for a memory device | |
| JP2022121655A (ja) | メモリシステムおよび制御方法 | |
| US20250378017A1 (en) | File system with tagged capacity for memory device | |
| US20250377820A1 (en) | Copy command and snapshot command associated with tagged capacity for a compute express link (cxl) memory device | |
| US20250377962A1 (en) | Fail-in-place memory device associated with tagged capacity | |
| JP7204020B2 (ja) | 制御方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| PB01 | Publication | ||
| PB01 | Publication |