CN115905057A - 存储器装置中用于媒体管理命令的高效缓冲器管理 - Google Patents
存储器装置中用于媒体管理命令的高效缓冲器管理 Download PDFInfo
- Publication number
- CN115905057A CN115905057A CN202211032490.4A CN202211032490A CN115905057A CN 115905057 A CN115905057 A CN 115905057A CN 202211032490 A CN202211032490 A CN 202211032490A CN 115905057 A CN115905057 A CN 115905057A
- Authority
- CN
- China
- Prior art keywords
- read
- write
- data
- buffer
- command
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0673—Single storage device
- G06F3/0679—Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR 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/0614—Improving the reliability of storage systems
- G06F3/0619—Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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
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)
- Computer Security & Cryptography (AREA)
- Memory System (AREA)
Abstract
本公开涉及存储器装置中用于媒体管理命令的高效缓冲器管理。存储器子系统的缓冲器管理组件进行以下操作:在与存储器装置相关联的数据路径中配置多个读取缓冲器;接收读取存储于所述存储器装置处的数据的第一读取命令;选择第一读取缓冲器以接收第一数据;响应于选择所述第一缓冲器,起始读取操作以从所述存储器装置检索所述第一数据且将所述第一数据存储在所述第一读取缓冲器中;接收读取存储于所述存储器装置处的第二数据的第二读取命令,其中在第一读取命令完成之前接收第二读取命令;确定第二读取缓冲器是否可用于接收所述第二数据;响应于确定所述第二读取缓冲器可用,选择所述第二读取缓冲器以接收所述第二读取命令的所述第二数据;且响应于选择所述第二读取缓冲器,起始第二读取操作以从所述存储器装置检索所述第二数据且将所述第一数据存储在所述第二读取缓冲器中。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更确切地说,涉及存储器装置中用于媒体管理命令的高效缓冲器管理。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置存储器装置可例如为非易失性存储器装置和易失性存储器装置。一般来说,主机系统可利用存储器子系统以在存储器装置处存储数据且从存储器装置检索数据。
发明内容
在一个方面中,本公开涉及一种方法,其包括:由处理装置在与存储器子系统的存储器装置相关联的数据路径中配置多个读取缓冲器;接收读取存储于所述存储器装置处的第一数据的第一读取命令;选择所述多个读取缓冲器中的第一读取缓冲器以接收所述第一读取命令的所述第一数据;响应于选择所述第一缓冲器,由所述处理装置起始读取操作以从所述存储器装置检索所述第一数据且将所述第一数据存储在所述第一读取缓冲器中;接收读取存储于所述存储器装置处的第二数据的第二读取命令,其中在第一读取命令完成之前接收第二读取命令;确定所述多个缓冲器中的第二读取缓冲器是否可用于接收所述第二数据,其中所述第二读取缓冲器不同于所述第一读取缓冲器;响应于确定所述第二读取缓冲器可用,选择所述第二读取缓冲器以接收所述第二读取命令的所述第二数据;及响应于选择所述第二读取缓冲器,由所述处理装置起始第二读取操作以从所述存储器装置检索所述第二数据且将所述第二数据存储在所述第二读取缓冲器中。
在另一方面中,本公开涉及一种方法,其包括:由处理装置在与存储器子系统的存储器装置相关联的数据路径中配置多个写入缓冲器;接收将第一数据从第一本地存储器位置写入到所述存储器装置的第一写入命令;选择所述多个写入缓冲器中的第一写入缓冲器以从所述本地存储器位置接收所述第一写入命令的所述第一数据;响应于选择所述第一写入缓冲器,起始第一写入操作以使用所述第一写入缓冲器将所述第一数据写入到所述存储器装置;接收将第二数据从第二本地存储器位置写入到所述存储器装置的第二写入命令,其中在所述第一写入操作完成之前接收所述第二写入命令;及响应于接收到所述第二写入命令,起始第二写入操作以使用所述多个写入缓冲器中的所述第一写入缓冲器或第二写入缓冲器将所述第二数据写入到所述存储器装置。
在又一方面中,本公开涉及一种系统,其包括:多个存储器装置;及处理装置,其以操作方式与所述多个存储器装置耦合以执行包括以下的操作:在与存储器子系统的存储器装置相关联的数据路径中配置多个读取缓冲器;接收读取存储于所述存储器装置处的第一数据的第一读取命令;选择所述多个读取缓冲器中的第一读取缓冲器以接收所述第一读取命令的所述第一数据;响应于选择所述第一缓冲器,起始读取操作以从所述存储器装置检索所述第一数据且将所述第一数据存储在所述第一读取缓冲器中;接收读取存储于所述存储器装置处的第二数据的第二读取命令,其中在第一读取命令完成之前接收第二读取命令;确定所述多个缓冲器中的第二读取缓冲器是否可用于接收所述第二数据,其中所述第二读取缓冲器不同于所述第一读取缓冲器;响应于确定所述第二读取缓冲器可用,选择所述第二读取缓冲器以接收所述第二读取命令的所述第二数据;及响应于选择所述第二读取缓冲器,起始第二读取操作以从所述存储器装置检索所述第二数据且将所述第二数据存储在所述第二读取缓冲器中。
附图说明
将从下文给出的详细描述和从本公开的各种实施例的附图更完整地理解本公开。然而,附图不应视为将本公开限制于特定实施例,而是仅用于解释和理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2为根据本公开的一些实施例的促进高效缓冲器管理以服务于存储器装置的媒体管理读取命令的实例方法的流程图。
图3说明根据本公开的一些实施例的存储器子系统的框图,所述存储器子系统包含缓冲器管理组件以促进固件路径中的固件媒体管理读取命令的高效缓冲器管理。
图4为根据本公开的一些实施例的促进高效缓冲器管理以服务于存储器装置的媒体管理写入命令的实例方法的流程图。
图5说明根据本公开的一些实施例的存储器子系统的框图,所述存储器子系统包含缓冲器管理组件以促进固件路径中的固件媒体管理写入命令的高效缓冲器管理。
图6为本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的各方面涉及存储器装置中的媒体管理命令的高效缓冲器管理。存储器子系统可为存储装置、存储器模块,或存储装置和存储器模块的组合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个组件(例如存储数据的存储器装置)的存储器子系统。主机系统可提供要存储在存储器子系统处的数据,且可请求要从存储器子系统检索的数据。
存储器子系统可包含高密度非易失性存储器装置,其中当没有电力被供应到存储器装置时需要数据的保持。非易失性存储器装置的一个实例是与非(NAND)存储器装置。下文结合图1描述非易失性存储器装置的其它实例。非易失性存储器装置为一或多个裸片的封装。每一裸片可由一或多个平面组成。对于一些类型的非易失性存储器装置(例如,NAND装置),每一平面由一组物理块组成。每一块由一组页组成。每一页由一组存储器单元(“单元”)组成。所述单元为存储信息的电子电路。取决于单元类型,单元可存储二进制信息的一或多个位,且具有与所存储的位数相关的各种逻辑状态。
存储器子系统控制器可对存储器装置执行存取操作,例如读取操作、编程操作、擦除操作等。存储器子系统控制器可包含标准处理路径(或“前端路径”),其有助于响应于从主机系统或“前端”接收到的请求而处理这些存取操作。存储器子系统控制器还可包含用于固件组件的额外处理路径(或“固件路径”),其促进媒体管理操作以管理相关联存储器装置的性能和可靠性。举例来说,固件路径可管理与垃圾收集以及错误检测和校正相关联的读取和写入操作以促进数据的均匀分布,且进而减少媒体装置的磨损。
在常规存储器子系统中,当可起始固件路径中的操作时,前端路径中的操作可存取存储器装置。因此,固件路径操作应尽可能高效以便避免前端路径中的操作的中断。常规系统通常对固件路径中的操作实施单线程处理,以减少前端路径中操作可能出现的任何冲突。这些类型的实施方案可将缓冲器耦合到媒体控制器内的本地存储器区域,以在执行用于固件路径的媒体管理操作的同时促进高效数据传送。在此类情况下,缓冲器可使用总线接口(例如,高级可扩展接口(AXI))耦合到本地存储器区域以改进媒体管理操作的性能且减少处理时间。然而,固件操作的常规单线程通常可导致高速AXI总线的未充分利用。
常规存储器子系统试图通过在前端路径正经历较低活动的时段期间调度媒体管理命令来缓解这些问题。这些类型的解决方案虽然能够减少与前端路径操作的冲突,但仍可导致总线接口未得到充分利用,因为所传送的数据量仍可受到操作的单线程限制。
本公开的各方面通过配置多个缓冲器以用于处理与固件媒体管理操作相关联的读取和写入命令来解决以上和其它缺陷。在一个实施例中,存储器子系统控制器的缓冲器管理组件可配置用于固件读取命令的读取缓冲器的群组。缓冲器管理组件可接收读取命令且将所接收的命令分配到可用缓冲器,使得可并行处理多个读取命令。类似地,存储器子系统控制器的缓冲器管理组件可配置用于固件写入命令的写入缓冲器的群组。缓冲器管理组件可接收写入命令且将所接收的命令分配到可用缓冲器,使得可并行处理多个写入命令。
本公开的优点包含但不限于固件媒体管理命令的显著增加的处理量。通过增加存储器子系统控制器中的缓冲器的数目,可增加经并行处理的命令的数目,这可减少执行对应操作所需的时间。另外,对于固件路径中的媒体管理命令,可显著增加可用缓冲器带宽的利用。通过增加可同时处理的命令的数目,可增加总线接口连接的利用,因为可在一段时间内执行更多的数据固件媒体管理命令。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算系统100。存储器子系统110可包含媒体,例如一或多个易失性存储器装置(例如,存储器装置140)、一或多个非易失性存储器装置(例如,存储器装置130)或此类的组合。
存储器子系统110可为存储装置、存储器模块或存储装置和存储器模块的组合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器、安全数字(SD)卡,以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM),及各种类型的非易失性双列直插式存储器模块(NVDIMM)。
计算系统100可为计算装置,例如台式计算机、膝上型计算机、网络服务器、移动装置、运载工具(例如,飞机、无人机、火车、汽车或其它运输工具)、支持物联网(IoT)的装置、嵌入式计算机(例如,运载工具、工业设备或联网商业装置中包含的嵌入式计算机),或包含存储器和处理装置的此类计算装置。
计算系统100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的多个存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。如本文中所使用,“耦合到”或“与…耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等连接。
主机系统120可包含处理器芯片组和由处理器芯片组执行的软件堆叠。处理器芯片组可包含一或多个核心、一或多个高速缓存器、存储器控制器(例如,NVDIMM控制器),以及存储协议控制器(例如,PCIe控制器、SATA控制器)。主机系统120使用存储器子系统110以例如将数据写入到存储器子系统110和从存储器子系统110读取数据。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)、双数据速率(DDR)存储器总线、小型计算机系统接口(SCSI)、双列直插式存储器模块(DIMM)接口(例如,支持双数据速率(DDR)的DIMM套接接口)等。物理主机接口可用于在主机系统120与存储器子系统110之间传输数据。在存储器子系统110通过物理主机接口(例如,PCIe总线)与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口来存取组件(例如,存储器装置130)。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。图1说明存储器子系统110作为实例。一般来说,主机系统120可经由同一通信连接、多个单独通信连接和/或通信连接的组合存取多个存储器子系统。
存储器装置130、140可包含不同类型的非易失性存储器装置和/或易失性存储器装置的任何组合。易失性存储器装置(例如,存储器装置140)可为但不限于随机存取存储器(RAM),例如动态随机存取存储器(DRAM)和同步动态随机存取存储器(SDRAM)。
非易失性存储器装置(例如,存储器装置130)的一些实例包含与非(NAND)型快闪存储器和就地写入存储器,例如三维交叉点(“3D交叉点”)存储器装置,其是非易失性存储器单元的交叉点阵列。非易失性存储器单元的交叉点阵列可结合可堆叠交叉网格化数据存取阵列基于体电阻的变化而执行位存储。另外,与许多基于快闪的存储器形成对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。NAND型快闪存储器包含例如二维NAND(2D NAND)和三维NAND(3D NAND)。
存储器装置130中的每一者可包含一或多个存储器单元阵列。一种类型的存储器单元,例如,单层级单元(SLC)可每单元存储一个位。其它类型的存储器单元,例如,多层级单元(MLC)、三层级单元(TLC)、四层级单元(QLC)和五层级单元(PLC),可每单元存储多个位。在一些实施例中,存储器装置130中的每一者可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC、PLC或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分,以及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可分组为可指用于存储数据的存储器装置的逻辑单元的页。对于一些类型的存储器(例如,NAND),页可经分组以形成块。
虽然描述了非易失性存储器组件,例如3D交叉点非易失性存储器单元阵列和NAND型快闪存储器(例如,2D NAND、3D NAND),但存储器装置130可基于任何其它类型的非易失性存储器,例如只读存储器(ROM)、相变存储器(PCM)、自选存储器、其它基于硫属化物的存储器、铁电晶体管随机存取存储器(FeTRAM)、铁电随机存取存储器(FeRAM)、磁随机存取存储器(MRAM)、自旋转移力矩(STT)-MRAM、导电桥接RAM(CBRAM)、电阻性随机存取存储器(RRAM)、基于氧化物的RRAM(OxRAM)、或非(NOR)快闪存储器或电可擦除可编程只读存储器(EEPROM)。
存储器子系统控制器115(或为简单起见,控制器115)可与存储器装置130通信以执行例如在存储器装置130处读取数据、写入数据或擦除数据之类的操作以及其它此类操作。存储器子系统控制器115可包含硬件,例如一或多个集成电路和/或离散组件、缓冲存储器,或其组合。硬件可包含具有用以执行本文中所描述的操作的专用(即,硬译码)逻辑的数字电路系统。存储器子系统控制器115可为微控制器、专用逻辑电路系统(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等等)或其它合适的处理器。
存储器子系统控制器115可包含处理装置,所述处理装置包含经配置以执行存储在本地存储器119中的指令的一或多个处理器(例如,处理器117)。在所说明的实例中,存储器子系统控制器115的本地存储器119包含经配置以存储指令的嵌入式存储器,所述指令用于执行控制存储器子系统110的操作(包含处理存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程和例程。
在一些实施例中,本地存储器119可包含存储存储器指针、所提取数据等等的存储器寄存器。本地存储器119还可包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已示出为包含存储器子系统控制器115,但在本公开的另一实施例中,存储器子系统110不包含存储器子系统控制器115,而是可依赖于外部控制(例如,由外部主机或由与存储器子系统分开的处理器或控制器提供)。
一般来说,存储器子系统控制器115可从主机系统120接收命令或操作,且可将所述命令或操作转换为指令或适当命令以实现对存储器装置130的所需存取。存储器子系统控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、错误检测和错误校正码(ECC)操作、加密操作、高速缓存操作以及与存储器装置130相关联的逻辑地址(例如,逻辑块地址(LBA)、名称空间)与物理地址(例如,物理块地址)之间的地址转换。存储器子系统控制器115还可包含主机接口电路系统,以经由物理主机接口与主机系统120通信。主机接口电路系统可将从主机系统接收到的命令转换成命令指令以存取存储器装置130以及将与存储器装置130相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存器或缓冲器(例如,DRAM)和地址电路系统(例如,行解码器和列解码器),所述地址电路可从存储器子系统控制器115接收地址并对所述地址进行解码以存取存储器装置130。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如,存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器子系统110为受管理存储器装置,其为具有在裸片上的控制逻辑(例如,本地控制器132)和用于相同存储器装置封装内的媒体管理的控制器(例如,存储器子系统控制器115)的原始存储器装置130。受管理存储器装置的实例为受管理NAND(MNAND)装置。
存储器子系统110可包含缓冲器管理组件113,其可用于促进高效固件媒体管理操作,以从存储器装置130、140读取数据和/或将数据写入到所述存储器装置。在一些实施例中,存储器子系统控制器115包含缓冲器管理组件113的至少一部分。在一些实施例中,缓冲器管理组件113是主机系统110、应用程序或操作系统的部分。在其它实施例中,本地媒体控制器135包含缓冲器管理组件113的至少一部分,且经配置以执行本文中所描述的功能性。
在各种实施方案中,缓冲器管理组件113可配置用于存储器子系统控制器115的读取缓冲器的群组。在各种实施方案中,读取缓冲器的群组可配置于可由存储器子系统控制器115存取的存储器区域中且经由总线接口耦合到本地存储器119以促进高效数据传送。举例来说,在一些实施方案中,缓冲器可经由高级可扩展接口(AXI)总线耦合到本地存储器119。缓冲器管理组件113可接收读取存储于存储器装置130、140处的数据的第一读取命令,且选择配置的缓冲器中的一者以接收第一读取命令的数据。响应于选择缓冲器,缓冲器管理组件113可起始读取操作以将数据从存储器装置130、140检索到所选缓冲器中。缓冲器管理组件113可接收第二读取命令且遵循类似过程以选择用以在与第一读取命令大致相同的时间处理所述读取命令的另一缓冲器。缓冲器管理组件113可促进与可用的读取缓冲器一样多的读取命令的同时处理。在各种实施方案中,可配置额外缓冲器并使其处于停用状态,直到高体积周期为止,此时可启用额外缓冲器以处理额外读取命令且稍后在体积正规化时停用。
类似地,缓冲器管理组件113可配置用于存储器子系统控制器115的写入缓冲器的群组。如同读取缓冲器,读取缓冲器的群组可配置于可由存储器子系统控制器115存取的存储器区域中,且经由总线接口(例如,AXI总线)耦合到本地存储器119以促进高效数据传送。缓冲器管理组件113可接收将数据写入到存储器装置130、140的第一写入命令,且选择配置的缓冲器中的一者以接收第一写入命令的数据。响应于选择缓冲器,缓冲器管理组件113可从本地存储器空间检索数据且使用所选缓冲器起始将数据存储到存储器装置130、140的写入操作。缓冲器管理组件113可接收第二写入命令且遵循类似过程以选择用以在与第一写入命令大致相同的时间处理所述写入命令的另一缓冲器。缓冲器管理组件113可促进与可用的写入缓冲器一样多的写入命令的同时处理。在各种实施方案中,可配置额外缓冲器并使其处于停用状态,直到高体积周期为止,此时可启用额外缓冲器以处理额外写入命令且稍后在体积正规化时停用。
下文参考图2到5描述关于缓冲器管理组件113的操作的另外细节。
图2为根据本公开的一些实施例的促进高效缓冲器管理以服务于存储器装置的媒体管理读取命令的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法200由图1的缓冲器管理组件113执行。虽然以特定顺序或次序来展示,但是除非另外指定,否则可修改过程的次序。因此,所说明的实施例应理解为仅作为实例,且所说明的过程可以不同次序执行,并且一些过程可并行执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。
在操作210处,处理逻辑在与存储器子系统(例如,图1中的存储器装置130到140)的存储器装置相关联的数据路径中配置读取缓冲器的群组。在各种实施方案中,读取缓冲器的群组可配置于数据路径中以促进从存储器子系统中的一或多个存储器装置检索数据,使得可将数据提供到存储器子系统(例如,图1的本地存储器119)的本地存储器空间。读取缓冲器的群组可经由总线接口耦合到本地存储器空间(例如,外部存储器空间)以促进高效数据传送。举例来说,在一些实施方案中,缓冲器可经由高级可扩展接口(AXI)总线耦合到本地存储器空间。
在一些实施方案中,处理逻辑可配置读取缓冲器的群组,使得从存储器装置读取数据的所接收命令可在所有配置的缓冲器之间交替。在其它实施方案中,处理逻辑可配置读取缓冲器的群组,使得最初针对读取命令启用缓冲器的子集。如下文进一步详细描述,处理逻辑可监测系统活动,且如果读取命令活动的量满足阈值(例如,系统观测到高水平的读取活动),那么处理逻辑可启用读取缓冲器群组中的一或多个额外读取缓冲器以暂时处理增加的活动。一旦高活动周期结束(例如,所观测到的读取活动水平满足下限阈值),处理逻辑便可停用新接收到的读取命令的任何额外缓冲器。
在操作220处,处理逻辑可接收读取存储于存储器子系统的存储器装置中的一或多者处的数据的读取命令。在各种实施方案中,可从与存储器装置相关联的存储器子系统控制器的固件组件(例如,图1中的存储器子系统控制器115的组件)接收请求。如上所述,固件组件可执行各种媒体管理操作以管理用于存储器子系统的存储器装置的性能和可靠性。举例来说,固件组件可执行垃圾收集操作、数据再分布操作等,以促进跨越每一存储器装置的均匀数据分布。在一些实施方案中,处理逻辑可直接从固件组件接收命令。在一些实施方案中,处理逻辑可通过存取可由固件组件维持的所存储命令的队列(例如,先进先出(FIFO)队列)来接收所述命令。在各种实施方案中,所接收命令可包含识别要从存储器装置读取的数据的地址的信息。
在操作230处,处理逻辑从读取缓冲器的群组选择读取缓冲器以接收第一读取命令的数据。处理逻辑可通过首先识别配置的读取缓冲器且随后确定其中的任一者是否可用于接收读取数据来选择缓冲器。在一些实施方案中,每一配置的读取缓冲器可包含指示所述缓冲器是否可用于处理读取命令(例如,在接收到命令时当前不用于另一命令,不停用或以其它方式不可用于使用等)的属性。举例来说,存储器空间或寄存器值可用于存储旗标、二进制数据或指示缓冲器是否可用的其它指示符。在此类情况下,处理逻辑可分析此信息以选择缓冲器。替代地,缓冲器可配置于存储器子系统中以产生电压脉冲、通知等,以向处理逻辑指示缓冲器是否可用。在一些实施方案中,处理逻辑可循序地检查每一配置的缓冲器(例如,缓冲器0,接着缓冲器1,接着缓冲器2等)且选择可用的第一缓冲器。替代地,处理逻辑可检查所有经启用缓冲器的状态且随机地(或伪随机地)选择可用缓冲器中的一者。
在操作240处,处理逻辑响应于针对在操作220处所接收的读取命令选择缓冲器而起始读取操作,以检索用于所述读取命令的数据且将所述数据存储在操作230处所选择的读取缓冲器中。在一些实施方案中,处理逻辑可通过首先存储与所接收命令相关联的命令信息而起始读取操作。此信息可包含使命令与所选读取缓冲器相关联以接收所述命令的读取数据的识别符或指示符。举例来说,如果在操作230处选择读取缓冲器‘0’,那么可存储命令信息以使得将读取缓冲器‘0’识别为与所述命令相关联。另外,命令信息可包含与命令自身相关联的唯一识别符,使得处理逻辑可使用所存储的命令信息使命令和缓冲器彼此匹配。
一旦已存储命令信息,处理逻辑便可从存储器装置检索所请求数据。如上所述,要从存储器装置读取的数据的存储器地址可包含在所接收的请求中。处理逻辑可使用此信息(或所接收的请求中包含的其它信息)来确定可适用存储器装置以及从其检索数据的可适用存储位置。在一些实施方案中,可跨越多个装置或单个装置内的多个位置存储数据。处理逻辑可检索数据且将其聚集在存储器子系统内的读取数据路径块或其它可用高速缓冲存储器空间中。处理逻辑接着可针对聚集的数据执行数据完整性检查以确定数据是否有效(例如,处理逻辑可对数据执行一或多个校正检查操作以建立有效性/真实性)。在一些实施方案中,处理逻辑可通过向直接与读取数据块和存储器装置介接的存储器子系统的媒体管理组件发送通知来执行聚集和完整性检查操作。
响应于执行数据完整性操作,处理逻辑可将所请求的数据存储在所选择的读取数据缓冲器中。如上所述,在一些情况下,处理逻辑可使用所存储的命令信息来识别要用于存储用于所述读取命令的读取数据的所选择的读取缓冲器。一旦数据已经存储在读取缓冲器中,处理逻辑便可执行直接存储器存取(DMA)写入操作以将所请求的数据从读取缓冲器移动到本地存储器位置。一旦DMA写入操作已完成,处理逻辑便可更新第一读取命令的命令状态以指示第一读取命令已完成。在一些实施方案中,此命令状态可包含于与第一读取命令相关联的所存储的命令信息中。在各种实施方案中,这可指示用于完成命令的存储器空间或寄存器可再用于另一读取命令。另外,处理逻辑可更新相关联读取缓冲器的缓冲器状态以指示读取缓冲器可用于接收额外数据以服务于其它所接收命令。
如上所述,通过配置多个读取缓冲器(例如,用以促进处理固件读取命令的多个缓冲器),多个固件媒体管理读取命令可在大致相同时间处于进行状态(例如,在过程、活动等中)以改进本地存储器接口带宽利用。在操作250处,处理逻辑接收读取存储于存储器装置处的数据的第二读取命令,其中在操作220处所接收的第一读取命令完成之前接收此第二读取命令。在各种实施方案中,固件组件可将指示可供处理的另一命令的通知发送到处理逻辑。替代地,处理逻辑可监测上述FIFO队列以从队列弹出下一读取命令。在各种实施方案中,处理逻辑可根据经启用读取缓冲器的数目同时处理数个读取命令。举例来说,如果配置并启用两个读取缓冲器,那么处理逻辑可在两个缓冲器之间交替,同时处理两个读取命令。类似地,如果配置并启用三个读取缓冲器,那么处理逻辑可同时处理三个读取命令,等等。
在操作260处,处理逻辑确定第二读取缓冲器是否可用(例如,当前不用于处理另一读取命令)以接收在操作250处所接收的第二读取命令的数据。在各种实施方案中,处理逻辑可通过检验经启用读取缓冲器中的每一者的缓冲器状态来作出此确定。举例来说,处理逻辑可询问包含每一缓冲器的状态的存储器空间或寄存器空间。替代地,处理逻辑可接收通知、电压脉冲或指示启用哪些缓冲器且停用哪些缓冲器的其它指示。
在操作270处,响应于确定另一缓冲器可用,处理逻辑可选择另一缓冲器以接收额外读取命令的数据。处理逻辑可选择如上文关于操作230所描述的此额外缓冲器。在操作280处,响应于选择第二读取命令的额外缓冲器,处理逻辑可起始第二读取操作以从存储器装置检索第二读取命令的数据且将所述数据存储在操作270处所选择的缓冲器中。处理逻辑可起始如上文关于操作240所描述的第二读取操作。在各种实施方案中,处理逻辑可重复上述操作以处理任何随后所接收的读取命令,以从存储器子系统的存储器装置检索额外数据。
在一些实施方案中,存储器子系统中的缓冲器可经配置以处理读取命令和写入命令两者。举例来说,在增加的读取命令活动的周期期间,处理逻辑可暂时供应经配置以服务于写入命令的缓冲器。如果在操作260处,处理逻辑确定额外读取缓冲器不可用,那么处理逻辑可识别与存储器装置相关联的写入数据路径中的写入缓冲器。处理逻辑可确定所识别的写入缓冲器中的任一者是否可用(例如,未经利用以服务于执行写入命令),且如果可用,那么暂时供应用以接收数据的可用写入缓冲器以服务于待决读取命令。在读取命令完成后,如果已新接收到写入命令,那么可将所供应的写入缓冲器返回到缓冲器池以服务于写入命令。然而,如果尚未接收到额外写入命令,那么可将所供应的写入缓冲器用于额外读取命令。
如上所述,在一些实施方案中,处理逻辑可配置多个读取缓冲器且启用用于读取业务的那些缓冲器的子集以维持较低电力消耗。在增加的所观测到的读取活动的周期期间,处理逻辑可在增加的活动的那些周期期间暂时启用额外读取缓冲器。随后,当活动水平降低时,可停用额外读取缓冲器以将电力消耗返回到较低水平。在此类情况下,在操作210处,处理逻辑可确定经配置以用于读取命令的读取缓冲器的总数目,且启用小于总数目的一定数目的读取缓冲器。随后,处理逻辑可监测与所接收的读取命令相关联的读取活动水平。举例来说,处理逻辑可监测在一段时间内接收到的读取命令的数目、在一段时间内经处理用于读取命令的数据量等等。处理逻辑可确定所观测到的读取活动是否满足高活动阈值,且如果满足,那么启用配置的(而非经启用)缓冲器中的一或多者以服务于额外读取命令。处理逻辑可继续监测读取活动,维持额外缓冲器,直到读取活动下降到较低活动阈值为止。响应于确定活动已满足下限阈值,处理逻辑可停用额外读取缓冲器。
图3说明根据本公开的一些实施例的存储器子系统300的框图,其包含缓冲器管理组件113(例如,图1中的存储器子系统110的缓冲器管理组件113)以促进固件媒体管理读取命令在固件路径305中的高效缓冲器管理。
如图3所示,且如上文相对于图2所描述,缓冲器管理组件113可配置读取缓冲器320-A、320-B以供在执行媒体管理读取操作时在固件路径305中使用。尽管为简单说明起见,仅在图3中展示两个缓冲器,但在各种实施方案中,本公开的各方面可应用于可配置多于两个缓冲器的存储器子系统。如上文所描述,缓冲器320-A、320-B可经由总线340(例如,AXI总线)耦合到本地存储器119以促进高效数据传送。
缓冲器管理组件113可接收读取命令(直接来自固件组件、来自命令队列等),且将与所述命令相关联的信息存储在存储器空间命令325-A中。如所展示,缓冲器管理组件113将读取缓冲器320-A识别为可用的,并将其选择用于命令325-A。一旦已选择读取缓冲器320-A,缓冲器管理组件113便起始读取操作以从存储器装置130、140读取目标数据。如上文所描述,缓冲器管理组件113可起始操作351,所述操作将目标数据从存储器装置130、140检索到读取数据路径330中。读取数据路径330可执行聚集和数据完整性操作以确保数据有效性。一旦读取数据路径330确认数据有效性,数据便加载到读取缓冲器320-A中。在各种实施方案中,当执行读取操作以从存储器装置130、140检索数据时,读取命令包含对所存储命令信息325-A的参考。当读取数据路径330准备要加载到缓冲器中的数据时,其可指命令信息325-A确定哪个读取缓冲器将接收数据。在操作352处,读取数据路径330确定命令325-A与读取缓冲器320-A相关联且将数据加载到所述读取缓冲器中。一旦数据已被加载,缓冲器管理组件113便可起始DMA写入353以将来自读取缓冲器320-A的数据写入到本地存储器119以用于相关联固件媒体管理操作。
类似地,缓冲器管理组件113可接收从存储器装置130、140读取数据的额外读取命令且将与所述命令相关联的信息存储在存储器空间命令325-B中。在一些情况下,可紧接在读取命令325-A之后立即接收读取命令325-B。在其它情况下,可在稍后时间,但在读取命令325-A完成之前接收读取命令325-B。如所展示,缓冲器管理组件113将读取缓冲器320-B识别为可用的,并将其选择用于命令325-B。一旦已选择读取缓冲器320-B,缓冲器管理组件113便起始读取操作以从存储器装置130、140读取目标数据。如上文所描述,缓冲器管理组件113可起始操作354,所述操作将目标数据从存储器装置130、140检索到读取数据路径330中。读取数据路径330可执行聚集和数据完整性操作以确保数据有效性。一旦读取数据路径330确认数据有效性,数据便加载到读取缓冲器320-B中。在各种实施方案中,当执行读取操作以从存储器装置130、140检索数据时,读取命令包含对所存储命令信息325-B的参考。当读取数据路径330准备要载入到缓冲器中的数据时,其可指命令信息325-B确定哪个读取缓冲器将接收数据。在操作355处,读取数据路径330确定命令325-B与读取缓冲器320-B相关联且将数据加载到所述读取缓冲器中。一旦数据已被加载,缓冲器管理组件113便可起始DMA写入356以将来自读取缓冲器320-B的数据写入到本地存储器119以用于相关联固件媒体管理操作。
可针对由缓冲器管理组件113接收并处理的任何额外读取命令重复以上过程。如图3所示,基于两个缓冲器中的任一者的可用性,缓冲器管理组件113可将新命令分配到两个缓冲器320-A、320-B中的一者。在具有额外缓冲器的实施方案中,缓冲器管理组件113可从可用缓冲器的可适用群组选择可用缓冲器。
图4为根据本公开的一些实施例的促进高效缓冲器管理以服务于存储器装置的媒体管理写入命令的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400由图1的缓冲器管理组件113执行。虽然以特定顺序或次序来展示,但是除非另外指定,否则可修改过程的次序。因此,所说明的实施例应理解为仅作为实例,且所说明的过程可以不同次序执行,并且一些过程可并行执行。另外,可在各种实施例中省略一或多个过程。因此,并非在每一实施例中需要所有过程。其它过程流程是可能的。
在操作410处,处理逻辑在与存储器子系统(例如,图1中的存储器装置130到140)的存储器装置相关联的数据路径中配置写入缓冲器的群组。在各种实施方案中,写入缓冲器的群组可配置于数据路径中以促进将数据从本地存储器空间(例如,图1的本地存储器119)写入到一或多个存储器装置。写入缓冲器的群组可经由总线接口耦合到本地存储器空间(例如,外部存储器空间)以促进高效数据传送。举例来说,在一些实施方案中,写入缓冲器可经由高级可扩展接口(AXI)总线耦合到本地存储器空间。
在一些实施方案中,处理逻辑可配置写入缓冲器的群组,使得将数据从本地存储器空间写入到存储器装置的所接收命令可在所有配置的缓冲器之间交替。在其它实施方案中,处理逻辑可配置写入缓冲器的群组,使得最初针对写入命令启用缓冲器的子集。如下文进一步详细描述,处理逻辑可监测系统活动,且如果写入命令活动的量满足阈值(例如,系统观测到高水平的写入活动),那么处理逻辑可启用读取缓冲器群组中的一或多个额外写入缓冲器以暂时处理增加的活动。一旦高活动周期结束(例如,所观测到的写入活动水平满足下限阈值),处理逻辑便可停用新接收到的写入命令的任何额外缓冲器。
在操作420处,处理逻辑接收将数据从本地存储器位置写入到存储器装置的写入命令。在各种实施方案中,可从与存储器装置相关联的存储器子系统控制器的固件组件(例如,图1中的存储器子系统控制器115的组件)接收请求。如上所述,固件组件可执行各种媒体管理操作以管理用于存储器子系统的存储器装置的性能和可靠性。举例来说,固件组件可执行垃圾收集操作、数据再分布操作等,以促进跨越每一存储器装置的均匀数据分布。在一些实施方案中,处理逻辑可直接从固件组件接收命令。在一些实施方案中,处理逻辑可通过存取可由固件组件维持的所存储请求的队列(例如,先进先出(FIFO)队列)而接收命令。在各种实施方案中,所接收命令可包含识别与要写入到存储器装置的数据相关联的地址/位置的信息。
在操作430处,处理逻辑从写入缓冲器的群组选择写入缓冲器以接收第一写入命令的数据。处理逻辑可通过首先识别配置的写入缓冲器且随后确定其中的任一者是否可用于接收来自本地存储器空间的写入数据来选择缓冲器。在一些实施方案中,每一配置的写入缓冲器可包含指示所述缓冲器是否可用于处理写入命令(例如,在接收到命令时当前不用于另一命令,不停用或以其它方式不可用于使用等)的属性。举例来说,存储器空间或寄存器值可用于存储旗标、二进制数据或指示缓冲器是否可用的其它指示符。在此类情况下,处理逻辑可分析此信息以选择缓冲器。替代地,缓冲器可配置于存储器子系统中以产生电压脉冲、通知等,以向处理逻辑指示缓冲器是否可用。在一些实施方案中,处理逻辑可循序地检查每一配置的缓冲器(例如,缓冲器0,接着缓冲器1,接着缓冲器2等)且选择可用的第一缓冲器。替代地,处理逻辑可检查所有经启用缓冲器的状态且随机地(或伪随机地)选择可用缓冲器中的一者。
在操作440处,响应于选择在操作420处所接收的用于写入命令的缓冲器,处理逻辑起始写入操作以使用在操作430处所选择的写入缓冲器将用于所述写入命令的数据从本地存储器空间写入到存储器装置。在一些实施方案中,处理逻辑可通过首先存储与所接收写入命令相关联的命令信息而起始写入操作。此信息可包含使命令与所选写入缓冲器相关联以从用于所述写入命令的本地存储器空间接收数据的识别符或指示符。举例来说,如果在操作430处选择写入缓冲器‘0’,那么可存储命令信息以使得将写入缓冲器‘0’识别为与所述命令相关联。另外,命令信息可包含与命令自身相关联的唯一识别符,使得处理逻辑可使用所存储的命令信息使命令和缓冲器彼此匹配。
一旦已存储命令信息,处理逻辑便可执行直接存储器存取(DMA)读取操作以将第一数据从本地存储器位置移动到在操作430处所选择的写入缓冲器。响应于将数据移动到所选择的写入缓冲器中(例如,响应于DMA读取操作的完成),处理逻辑可鉴于所存储的命令信息而执行写入操作以使用所选择的写入缓冲器将数据写入到存储器装置。在一些实施方案中,处理逻辑可使用所存储的命令信息来识别所选择的写入缓冲器,且起始写入操作以将数据直接写入到存储器装置。在其它实施方案中,处理逻辑可将所存储的命令信息提供到存储器子系统的媒体管理组件以将数据写入到存储器装置。在任一情况下,处理逻辑可在写入到存储器装置之前将数据从所选择的写入缓冲器排出到存储器子系统内的写入数据路径块或可用高速缓冲存储器空间。处理逻辑可在写入到存储器装置之前对数据执行数据完整性、数据加密或其它数据验证操作。
如上所述,通过配置多个写入缓冲器(例如,用以促进处理固件写入命令的多个缓冲器),多个固件媒体管理写入命令可在大致相同时间处于进行状态(例如,在过程、活动等中)以改进本地存储器接口带宽利用。响应于完成DMA读取操作以加载所选择的缓冲器,处理逻辑可调用操作450以在活动写入操作正在进行时从命令队列(或直接从固件组件)接收额外写入命令。在操作450处,处理逻辑接收将数据从本地存储器写入到存储器装置的第二写入命令,其中在由操作440起始的用于第一写入操作的写入操作完成之前接收第二写入命令。
类似于执行以处理上文所描述的读取命令的操作,在各种实施方案中,固件组件可向处理逻辑发送通知以指示另一命令可用于处理。替代地,处理逻辑可监测上述FIFO队列以从队列弹出下一写入命令。在各种实施方案中,处理逻辑可根据经启用写入缓冲器的数目同时处理数个写入命令。举例来说,如果配置并启用两个写入缓冲器,那么处理逻辑可在两个缓冲器之间交替,同时处理两个写入命令。类似地,如果配置并启用三个写入缓冲器,那么处理逻辑可同时处理三个写入命令,等等。
在操作460处,处理逻辑响应于在操作450处接收到第二写入命令而起始将数据写入到存储器装置的第二写入操作。处理逻辑可起始如上文关于操作440所描述的第二写入操作。在各种实施方案中,处理逻辑可重复上述操作以处理任何随后所接收的写入命令,以从本地存储器检索额外数据且将其写入到存储器子系统的存储器装置。
在一些实施方案中,存储器子系统中的写入缓冲器可经配置以利用高速缓存方案来进一步改进效率。在这种情况下,在随后接收到的写入命令涉及写入与先前处理的写入命令相同的数据的情况下,加载在写入缓冲器中的数据可再用于后续命令,而无需起始额外的DMA操作以用来自本地存储器位置的数据重新加载缓冲器。当接收到写入命令且存储命令信息以用于如上文所描述的命令时,可包含额外信息以识别本地存储器内的数据(例如,地址信息等)。当接收到后续写入命令时,可将随后接收到的命令的数据的存储器位置与当前过程中的任何写入命令进行比较。如果用于新写入命令的数据的存储器位置与过程中的命令中的任一者的信息匹配,那么处理逻辑可绕过DMA读取操作以加载可用缓冲器,且使用被分配到适用的飞行中写入命令的加载缓冲器来执行用于新写入命令的写入操作。
如果与新接收到的写入命令相关联的数据的存储器位置并不与用于飞行中写入命令中的任一者的所存储信息匹配,那么处理逻辑可确定是否存在用以分配给新命令的任何可用写入缓冲器。在各种实施方案中,处理逻辑可如上文关于操作430所描述而作出此确定。响应于确定存在用以接收新数据的可用写入缓冲器,处理逻辑可选择可用缓冲器,存储识别所选缓冲器的新命令的命令信息,且执行DMA读取操作以加载所选缓冲器。随后,处理逻辑可执行写入操作以将最新加载的数据写入到存储器装置,如上文所描述。在未实施高速缓冲存储的情况下,任何后续接收到的写入命令都可遵循此过程。
如上文相对于图2所提到,在一些实施方案中,存储器子系统中的缓冲器可经配置以处理读取命令和写入命令两者。举例来说,在增加的写入命令活动的周期期间,处理逻辑可暂时供应经配置以服务于读取命令的缓冲器。如果处理逻辑确定额外写入缓冲器不可用,那么处理逻辑可在与存储器装置相关联的读取数据路径中识别读取缓冲器。处理逻辑可确定所识别的读取缓冲器中的任一者是否可用(例如,未经利用以服务于执行读取命令),且如果可用,那么暂时供应用以接收数据的可用读取缓冲器以服务于待决写入命令。在写入命令完成后,如果已新接收到读取命令,那么可将所供应的读取缓冲器返回到缓冲器池以服务于读取命令。然而,如果尚未接收到额外读取命令,那么可将所供应的读取缓冲器用于额外写入命令。
如上所述,在一些实施方案中,处理逻辑可配置多个写入缓冲器且启用用于写入业务的那些缓冲器的子集以维持较低电力消耗。在增加的所观测到的写入活动的周期期间,处理逻辑可在增加的活动的那些周期期间暂时启用额外写入缓冲器。随后,当活动水平降低时,可停用额外写入缓冲器以将电力消耗返回到较低水平。在此类情况下,在操作410处,处理逻辑可确定经配置以用于写入命令的写入缓冲器的总数目,且启用小于总数目的一定数目的写入缓冲器。随后,处理逻辑可监测与所接收的写入命令相关联的读取活动水平。举例来说,处理逻辑可监测在一段时间内接收到的写入命令的数目、在一段时间内经处理用于写入命令的数据量等等。处理逻辑可确定所观测到的写入活动是否满足高活动阈值,且如果满足,那么启用配置的(而非经启用)缓冲器中的一或多者以服务于额外写入命令。处理逻辑可继续监测写入活动,维持额外缓冲器,直到写入活动下降到较低活动阈值为止。响应于确定写入活动已满足下限阈值,处理逻辑可停用额外写入缓冲器。
图5说明根据本公开的一些实施例的存储器子系统500的框图,其包含缓冲器管理组件113(例如,图1中的存储器子系统110的缓冲器管理组件113)以促进固件媒体管理写入命令在固件路径505中的高效缓冲器管理。
如图5中所展示,且如上文相对于图4所描述,缓冲器管理组件113可配置写入缓冲器520-A、520-B以供在执行媒体管理写入操作时在固件路径505中使用。尽管为简单说明起见,仅在图5中展示两个缓冲器,但在各种实施方案中,本公开的各方面可应用于可配置多于两个缓冲器的存储器子系统。如上文所描述,缓冲器520-A、520-B可经由总线540(例如,AXI总线)耦合到本地存储器119以促进高效数据传送。
缓冲器管理组件113可接收写入命令(直接来自固件组件、来自命令队列等),且将与所述命令相关联的信息存储在存储器空间命令525-A中。如所展示,缓冲器管理组件113将写入缓冲器520-A识别为可用的,并将其选择用于命令525-A。一旦已选择写入缓冲器520-A,缓冲器管理组件113便起始将数据从本地存储器119写入到存储器装置130、140的写入操作。如上文所描述,缓冲器管理组件113可起始DMA读取操作551以将命令525-A的数据从本地存储器119移动到写入缓冲器520-A中。一旦数据已加载到写入缓冲器520-A中,便可将所存储的命令信息提供到写入数据路径530以促进对存储器装置130、140的写入操作(操作552)。写入数据路径530可对数据执行数据完整性检查、加密操作等,且随后执行写入操作553以将数据写入到存储器装置130、140。响应于提交数据,写入数据路径530可提供对缓冲器管理组件113的响应以指示可使相关联写入缓冲器520-A可用于后续命令。
类似地,缓冲器管理组件113可接收将数据写入到存储器装置130、140的额外写入命令,且将与所述命令相关联的信息存储在存储器空间命令525-B中。在一些情况下,可紧接在写入命令525-A之后立即接收写入命令525-B。在其它情况下,可在稍后时间,但在写入命令525-A完成之前接收写入命令525-B。如所展示,缓冲器管理组件113将写入缓冲器520-B识别为可用的,并将其选择用于命令525-B。一旦已选择写入缓冲器520-A,缓冲器管理组件113便起始将数据从本地存储器119写入到存储器装置130、140的写入操作。如上文所描述,缓冲器管理组件113可起始DMA读取操作552以将命令525-B的数据从本地存储器119移动到写入缓冲器520-B中。一旦数据已移动到写入缓冲器520-B中,便可将所存储的命令信息提供到写入数据路径530以促进对存储器装置130、140的写入操作(操作555)。写入数据路径530可对数据执行数据完整性检查、加密操作等,且随后执行写入操作556以将数据写入到存储器装置130、140。响应于提交数据,写入数据路径530可提供对缓冲器管理组件113的响应以指示可使相关联写入缓冲器520-B可用于后续命令。
图6说明计算机系统600的实例机器,在所述实例机器内可执行用于使机器执行本文中所论述的方法中的任何一或多种的一组指令。在一些实施例中,计算机系统600可对应于包含、耦合到或利用存储器子系统(例如,图1的存储器子系统110)的主机系统(例如,图1的主机系统120)或可用于执行控制器的操作(例如,执行操作系统以执行对应于图1的缓冲器管理组件134的操作)。在替代实施例中,机器可连接(例如联网)到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可包含机器可读存储媒体624(也称为计算机可读媒体),其上存储有体现本文所描述的任何一或多个方法或功能的一或多组指令626或软件。指令626还可在由计算机系统600执行期间完全或至少部分地驻存在主存储器604内和/或处理装置602内,主存储器604和处理装置602也构成机器可读存储媒体。机器可读存储媒体624、数据存储系统618和/或主存储器604可对应于图1的存储器子系统110。
在一个实施例中,指令626包含实施对应于配置设定管理器(例如,图1的缓冲器管理组件134)的功能性的指令。尽管机器可读存储媒体624在实例实施例中展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储一或多组指令的单个媒体或多个媒体。还应认为术语“机器可读存储媒体”包含能够存储或编码供机器执行的一组指令且使得机器执行本公开的方法中的任何一或多种的任何媒体。因此,应认为术语“机器可读存储媒体”包含但不限于固态存储器、光学媒体和磁性媒体。
已依据计算机存储器内的数据位的操作的算法和符号表示呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给本领域的其他技术人员的方式。本文的算法通常是指产生所要结果的操作的自洽序列。操作为要求对物理量进行物理控制的操作。这些量通常但未必呈能够被存储、组合、比较和以其它方式操控的电或磁信号的形式。主要出于通用的原因,已经证明将这些信号称为位、值、元件、符号、字符、术语、数字等有时是便利的。
然而,应牢记,所有这些和类似术语应与适当物理量相关联,且仅为应用于这些量的方便标签。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)量的数据为计算机系统存储器或寄存器或其它此类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文的操作的设备。此设备可出于预期目的而专门构造,或其可包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。此类计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM和磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文中所呈现的算法和显示本质上不与任何特定计算机或其它设备相关。各种通用系统可与根据本文中的教示的程序一起使用,或其可证明构造用以执行所述方法更加专用的设备是便利的。将如下文描述中所示呈现用于多种这些系统的结构。另外,不参考任何特定编程语言描述本公开。将了解,可使用各种编程语言来实施如本文中所描述的本公开的教示。
本公开可提供为计算机程序产品或软件,所述计算机程序产品或软件可包含其上存储有可用于编程计算机系统(或其它电子装置)以执行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等等。
在前述说明书中,已参考本公开的特定实例实施例描述本公开的实施例。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本发明进行各种修改。因此,说明书和图式应被视为说明性的而非限制性的。
Claims (20)
1.一种方法,其包括:
由处理装置在与存储器子系统的存储器装置相关联的数据路径中配置多个读取缓冲器;
接收读取存储于所述存储器装置处的第一数据的第一读取命令;
选择所述多个读取缓冲器中的第一读取缓冲器以接收所述第一读取命令的所述第一数据;
响应于选择所述第一缓冲器,由所述处理装置起始读取操作以从所述存储器装置检索所述第一数据且将所述第一数据存储在所述第一读取缓冲器中;
接收读取存储于所述存储器装置处的第二数据的第二读取命令,其中在第一读取命令完成之前接收第二读取命令;
确定所述多个缓冲器中的第二读取缓冲器是否可用于接收所述第二数据,其中所述第二读取缓冲器不同于所述第一读取缓冲器;
响应于确定所述第二读取缓冲器可用,选择所述第二读取缓冲器以接收所述第二读取命令的所述第二数据;及
响应于选择所述第二读取缓冲器,由所述处理装置起始第二读取操作以从所述存储器装置检索所述第二数据且将所述第二数据存储在所述第二读取缓冲器中。
2.根据权利要求1所述的方法,其进一步包括:
将与所述第一命令相关联的第一命令信息存储在存储器区域中,其中所述第一命令信息包括与所述第一读取缓冲器相关联的识别符;
从所述存储器装置检索所述第一数据;
响应于检索所述第一数据,对所述第一数据执行数据完整性操作;
响应于执行所述数据完整性操作,鉴于所存储的第一命令信息将所述第一数据存储在所述第一缓冲器中;
响应于将所述第一数据存储在所述第一读取缓冲器中,执行直接存储器存取DMA写入操作以将所述第一数据从所述第一缓冲器移动到本地存储器位置;及
响应于完成所述DMA写入操作:
更新所述第一读取命令的命令状态以指示所述第一读取命令已完成;且
更新所述第一读取缓冲器的缓冲器状态以指示所述第一读取缓冲器可用于接收额外数据。
3.根据权利要求1所述的方法,其进一步包括:
响应于确定所述第二读取缓冲器不可用:
在与所述存储器装置相关联的所述数据路径中识别一或多个写入缓冲器;
确定所述一或多个写入缓冲器中的第一写入缓冲器是否可用于接收所述第二数据;及
响应于确定所述第一写入缓冲器是否可用,供应所述第一写入缓冲器以接收所述第二读取命令的所述第二数据。
4.根据权利要求3所述的方法,其进一步包括:
响应于确定所述第二读取命令已完成:
确定是否已接收到将第三数据写入到所述存储器装置的写入命令;及
响应于确定已接收到所述写入命令,供应所述第一写入缓冲器以接收所述写入命令的所述第三数据。
5.根据权利要求1所述的方法,其中配置所述多个读取缓冲器包括:
确定所述多个读取缓冲器中的读取缓冲器的总数目;及
启用用于接收一或多个读取命令的读取数据的第一数目个读取缓冲器,其中读取缓冲器的所述第一数目小于读取缓冲器的所述总数目。
6.根据权利要求5所述的方法,其进一步包括:
监测与所接收的从所述存储器装置读取数据的读取命令相关联的读取活动水平;
确定所述读取活动水平是否满足高活动阈值;及
响应于确定所述读取活动水平满足所述高活动阈值,启用来自所述多个读取缓冲器的一或多个额外读取缓冲器。
7.根据权利要求6所述的方法,其进一步包括:
确定所述读取活动水平是否满足低活动阈值;及
响应于确定所述读取活动水平满足所述低活动阈值,停用来自所述多个读取缓冲器的所述一或多个额外读取缓冲器。
8.一种方法,其包括:
由处理装置在与存储器子系统的存储器装置相关联的数据路径中配置多个写入缓冲器;
接收将第一数据从第一本地存储器位置写入到所述存储器装置的第一写入命令;
选择所述多个写入缓冲器中的第一写入缓冲器以从所述本地存储器位置接收所述第一写入命令的所述第一数据;
响应于选择所述第一写入缓冲器,起始第一写入操作以使用所述第一写入缓冲器将所述第一数据写入到所述存储器装置;
接收将第二数据从第二本地存储器位置写入到所述存储器装置的第二写入命令,其中在所述第一写入操作完成之前接收所述第二写入命令;及
响应于接收到所述第二写入命令,起始第二写入操作以使用所述多个写入缓冲器中的所述第一写入缓冲器或第二写入缓冲器将所述第二数据写入到所述存储器装置。
9.根据权利要求8所述的方法,其进一步包括:
存储与所述第一写入命令相关联的第一命令信息,其中所述第一命令信息包括与所述第一写入缓冲器相关联的识别符;
执行直接存储器存取DMA读取操作以将所述第一数据从所述第一本地存储器位置移动到所述第一写入缓冲器;及
响应于完成所述DMA读取操作,鉴于所述第一命令信息而执行所述第一写入操作以使用所述第一写入缓冲器将所述第一数据写入到所述存储器装置。
10.根据权利要求9所述的方法,其中所述第一命令信息包括所述第一本地存储器位置,所述方法进一步包括:
确定与所述第二写入命令相关联的所述第二存储器位置是否与相关联于所述第一写入命令的所述第一本地存储器位置匹配;及
响应于确定所述第二本地存储器位置与所述第一本地存储器位置匹配:
存储与所述第二写入命令相关联的第二命令信息,其中所述第二命令信息包括与所述第一写入缓冲器相关联的识别符;且
鉴于所述第二命令信息而执行所述第二写入操作以使用所述第一写入缓冲器将所述第一数据写入到所述存储器装置。
11.根据权利要求10所述的方法,其进一步包括:
响应于确定所述第二本地存储器位置与所述第一本地存储器位置不匹配:
确定所述多个缓冲器中的所述第二写入缓冲器是否可用于接收所述第二数据,其中所述第二写入缓冲器不同于所述第一写入缓冲器;
响应于确定所述第二写入缓冲器可用,选择所述第二写入缓冲器以从所述第二本地存储器位置接收所述第二写入命令的所述第二数据;
存储与所述第二写入命令相关联的第二命令信息,其中所述第二命令信息包括与所述第二写入缓冲器相关联的第二识别符;
执行第二DMA读取操作以将所述第二数据从所述第二本地存储器位置移动到所述第二写入缓冲器;及
响应于完成所述第二DMA读取操作,鉴于所述第二命令信息而执行所述第二写入操作以使用所述第二写入缓冲器将所述第二数据写入到所述存储器装置。
12.根据权利要求8所述的方法,其进一步包括:
响应于确定所述第二写入缓冲器不可用:
在与所述存储器装置相关联的所述数据路径中识别一或多个读取缓冲器;
确定所述一或多个读取缓冲器中的第一读取缓冲器是否可用于接收所述第二数据;及
响应于确定所述第一读取缓冲器可用,供应所述第一读取缓冲器以接收所述第二写入命令的所述第二数据。
13.根据权利要求12所述的方法,其进一步包括:
响应于确定所述第二写入命令已完成:
确定是否已接收到从所述存储器装置读取第三数据的读取命令;及
响应于确定已接收到所述读取命令,供应所述第一读取缓冲器以接收所述读取命令的所述第三数据。
14.根据权利要求8所述的方法,其中配置所述多个写入缓冲器包括:
确定所述多个写入缓冲器中的写入缓冲器的总数目;及
启用用于接收一或多个写入命令的数据的第一数目个写入缓冲器,其中写入缓冲器的所述第一数目小于写入缓冲器的所述总数目。
15.根据权利要求8所述的方法,其进一步包括:
监测与接收到的将数据写入到所述存储器装置的写入命令相关联的写入活动水平;
确定所述写入活动水平是否满足高活动阈值;及
响应于确定所述写入活动水平满足所述高活动阈值,启用来自所述多个写入缓冲器的一或多个额外写入缓冲器。
16.根据权利要求15所述的方法,其进一步包括:
确定所述写入活动水平是否满足低活动阈值;及
响应于确定所述写入活动水平满足所述低活动阈值,停用来自所述多个写入缓冲器的所述一或多个额外写入缓冲器。
17.一种系统,其包括:
多个存储器装置;及
处理装置,其以操作方式与所述多个存储器装置耦合以执行包括以下的操作:
在与存储器子系统的存储器装置相关联的数据路径中配置多个读取缓冲器;
接收读取存储于所述存储器装置处的第一数据的第一读取命令;
选择所述多个读取缓冲器中的第一读取缓冲器以接收所述第一读取命令的所述第一数据;
响应于选择所述第一缓冲器,起始读取操作以从所述存储器装置检索所述第一数据且将所述第一数据存储在所述第一读取缓冲器中;
接收读取存储于所述存储器装置处的第二数据的第二读取命令,其中在第一读取命令完成之前接收第二读取命令;
确定所述多个缓冲器中的第二读取缓冲器是否可用于接收所述第二数据,其中所述第二读取缓冲器不同于所述第一读取缓冲器;
响应于确定所述第二读取缓冲器可用,选择所述第二读取缓冲器以接收所述第二读取命令的所述第二数据;及
响应于选择所述第二读取缓冲器,起始第二读取操作以从所述存储器装置检索所述第二数据且将所述第二数据存储在所述第二读取缓冲器中。
18.根据权利要求17所述的系统,其中所述处理装置将进一步执行包括以下的操作:
将与所述第一命令相关联的第一命令信息存储在存储器区域中,其中所述第一命令信息包括与所述第一读取缓冲器相关联的识别符;
从所述存储器装置检索所述第一数据;
响应于检索所述第一数据,对所述第一数据执行数据完整性操作;
响应于执行所述数据完整性操作,鉴于所存储的第一命令信息将所述第一数据存储在所述第一缓冲器中;
响应于将所述第一数据存储在所述第一读取缓冲器中,执行直接存储器存取DMA写入操作以将所述第一数据从所述第一缓冲器移动到本地存储器位置;及
响应于完成所述DMA写入操作:
更新所述第一读取命令的命令状态以指示所述第一读取命令已完成;且
更新所述第一读取缓冲器的缓冲器状态以指示所述第一读取缓冲器可用于接收额外数据。
19.根据权利要求17所述的系统,其中所述处理装置将进一步执行包括以下的操作:
响应于确定所述第二读取缓冲器不可用:
在与所述存储器装置相关联的所述数据路径中识别一或多个写入缓冲器;
确定所述一或多个写入缓冲器中的第一写入缓冲器是否可用于接收所述第二数据;及
响应于确定所述第一写入缓冲器是否可用,供应所述第一写入缓冲器以接收所述第二读取命令的所述第二数据。
20.根据权利要求19所述的系统,其中所述处理装置将进一步执行包括以下的操作:
响应于确定所述第二读取命令已完成:
确定是否已接收到将第三数据写入到所述存储器装置的写入命令;及
响应于确定已接收到所述写入命令,供应所述第一写入缓冲器以接收所述写入命令的所述第三数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/446,191 | 2021-08-27 | ||
US17/446,191 US12039192B2 (en) | 2021-08-27 | 2021-08-27 | Efficient buffer management for media management commands in memory devices |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115905057A true CN115905057A (zh) | 2023-04-04 |
Family
ID=85285473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211032490.4A Withdrawn CN115905057A (zh) | 2021-08-27 | 2022-08-26 | 存储器装置中用于媒体管理命令的高效缓冲器管理 |
Country Status (2)
Country | Link |
---|---|
US (2) | US12039192B2 (zh) |
CN (1) | CN115905057A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220300198A1 (en) * | 2020-12-31 | 2022-09-22 | Pure Storage, Inc. | Dynamic buffer for storage system |
US12093545B2 (en) | 2020-12-31 | 2024-09-17 | Pure Storage, Inc. | Storage system with selectable write modes |
GB202107393D0 (en) * | 2021-05-24 | 2021-07-07 | Nordic Semiconductor Asa | Data bus communications |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7934052B2 (en) * | 2007-12-27 | 2011-04-26 | Pliant Technology, Inc. | System and method for performing host initiated mass storage commands using a hierarchy of data structures |
US8595414B2 (en) * | 2010-09-30 | 2013-11-26 | Apple Inc. | Selectively combining commands for a system having non-volatile memory |
WO2015126429A1 (en) * | 2014-02-24 | 2015-08-27 | Hewlett-Packard Development Company, L.P. | Repurposable buffers for target port processing of a data transfer |
KR102635689B1 (ko) * | 2019-08-30 | 2024-02-14 | 에스케이하이닉스 주식회사 | 메모리 시스템, 메모리 컨트롤러 및 동작 방법 |
US11726704B2 (en) * | 2020-03-31 | 2023-08-15 | Kioxia Corporation | Buffer optimization for solid-state drives |
-
2021
- 2021-08-27 US US17/446,191 patent/US12039192B2/en active Active
-
2022
- 2022-08-26 CN CN202211032490.4A patent/CN115905057A/zh not_active Withdrawn
-
2024
- 2024-06-13 US US18/742,973 patent/US20240329874A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US12039192B2 (en) | 2024-07-16 |
US20230066344A1 (en) | 2023-03-02 |
US20240329874A1 (en) | 2024-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US12039192B2 (en) | Efficient buffer management for media management commands in memory devices | |
US11429300B2 (en) | Independent parallel plane access in a multi-plane memory device | |
WO2021179164A1 (en) | Maintaining queues for memory sub-systems | |
CN115836277A (zh) | 检查存储器子系统中的多个存储器裸片的状态 | |
US11899948B2 (en) | Performance control for a memory sub-system | |
US20230161509A1 (en) | Dynamic selection of cores for processing responses | |
US20230176972A1 (en) | Memory performance during program suspend protocol | |
US20240103770A1 (en) | Improved memory performance using memory access command queues in memory devices | |
US20210303470A1 (en) | Sequential prefetching through a linking array | |
US11720490B2 (en) | Managing host input/output in a memory system executing a table flush | |
US11726716B2 (en) | Internal commands for access operations | |
US11899972B2 (en) | Reduce read command latency in partition command scheduling at a memory device | |
WO2021179163A1 (en) | Methods, systems and readable storage mediums for managing queues of amemory sub-system | |
CN114429777A (zh) | 在编程操作暂停期间的编程操作执行 | |
CN114981894A (zh) | 电容器健康检查 | |
US12131066B2 (en) | Efficient command fetching in a memory sub-system | |
US11693597B2 (en) | Managing package switching based on switching parameters | |
US11756626B2 (en) | Memory die resource management | |
US11861228B2 (en) | Memory status command aggregation | |
US20230409239A1 (en) | Efficient command fetching in a memory sub-system | |
US20220113903A1 (en) | Single memory bank storage for servicing memory access commands | |
US20230058232A1 (en) | Partition command queues for a memory device | |
CN114442921A (zh) | 用于存储器子系统中的高速缓存读取的高速缓存释放命令 | |
CN113094293A (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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20230404 |