CN115857796A - 用于存储器子系统的未完成事务监测 - Google Patents
用于存储器子系统的未完成事务监测 Download PDFInfo
- Publication number
- CN115857796A CN115857796A CN202211137413.5A CN202211137413A CN115857796A CN 115857796 A CN115857796 A CN 115857796A CN 202211137413 A CN202211137413 A CN 202211137413A CN 115857796 A CN115857796 A CN 115857796A
- Authority
- CN
- China
- Prior art keywords
- transaction
- transactions
- queue
- controller
- memory
- 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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0611—Improving I/O performance in relation to response time
-
- 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/061—Improving I/O performance
-
- 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/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)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开涉及用于存储器子系统的未完成事务监测。一种系统包含经配置以调整第一事务数的计数及调整第二事务数的计数的第一控制器。当第一事务或第二事务由第二控制器接收或执行时,调整所述第一事务数的所述计数及所述第二事务数的所述计数。所述第二控制器耦合到所述第一控制器且经配置以将所述第一事务数限制为未完成的第一事务的特定数量、将所述第二事务数限制为未完成的第二事务的特定数量且将总事务数限制为未完成的总事务的特定数量。
Description
技术领域
本公开的实施例大体上涉及存储器子系统,且更明确来说,涉及用于存储器子系统的未完成事务监测。
背景技术
存储器子系统可包含存储数据的一或多个存储器装置。存储器装置可为例如非易失性存储器装置及易失性存储器装置。一般来说,主机系统可利用存储器子系统将数据存储在存储器装置处及从所述存储器装置检索数据。
发明内容
一方面,本公开涉及一种用于存储器子系统的未完成事务监测的设备,其包括:第一控制器,其经配置以:调整第一事务数的计数及调整第二事务数的计数,其中当符合以下条件时,调整所述第一事务数的所述计数及所述第二事务数的所述计数:第一事务或第二事务由第二控制器接收;或所述第一事务或所述第二事务由所述第二控制器执行;且其中所述第二控制器耦合到所述第一控制器且经配置以:将所述第一事务数限制为未完成的第一事务的特定数量;将所述第二事务数限制为未完成的第二事务的特定数量;及将总事务数限制为未完成的总事务的特定数量。
在另一方面中,本公开涉及一种用于存储器子系统的未完成事务监测的方法,其包括:使用第一控制器调整第一事务数的计数及第二事务数的计数,其中当符合以下条件时,调整所述第一事务数的所述计数及所述第二事务数的所述计数:第一事务或第二事务由第二控制器接收;或所述第一事务或所述第二事务由所述第二控制器执行;将所述第一事务数限制为未完成的第一事务的特定数量;将所述第二事务数限制为未完成的第二事务的特定数量;及将总事务数限制为未完成的总事务的特定数量。
在另一方面中,本公开涉及一种用于存储器子系统的未完成事务监测的系统,其包括:存储器子系统;及计算快速链路(CXL)启动器,其经由CXL接口耦合到所述存储器子系统且经配置以:将第一事务发送到第一事务队列及将第二事务发送到第二事务队列;当所述第一事务添加被到所述第一事务队列时调整第一事务数的计数及当所述第二事务被添加到所述第二事务队列时调整第二事务数的计数;及当所述第一事务从所述第一事务队列移除时调整所述第一事务数的所述计数及当所述第二事务从所述第二事务队列移除时调整所述第二事务数的所述计数;且其中所述存储器子系统包括前端控制器,其经配置以:接收所述第一事务及所述第二事务;将所述第一事务放置于所述第一事务队列中及将所述第二事务放置于所述第二事务队列中;从所述第一事务队列移除所述第一事务及从所述第二事务队列移除所述第二事务;当所述第一事务队列中所述第一事务数达到未完成的第一事务的特定数目时或当所述第一事务队列及所述第二事务队列中的总事务数达到总事务的特定数量时,对后续第一事务关闭所述第一事务队列;及当所述第二事务队列中所述第二事务数达到第二事务的特定数目时或当所述第一事务队列及所述第二事务队列中的所述总事务数达到总事务的所述特定数量时,对后续第二事务关闭所述第二事务队列。
附图说明
从下文给出的详细描述及从本公开的各种实施例的附图将更加完全地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图2说明根据本公开的一些实施例的包含存储器子系统的实例计算系统。
图3是根据本公开的一些实施例的对应于用于存储器子系统的未完成事务监测的流程图。
图4是本公开的实施例可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面涉及用于存储器子系统的未完成事务监测,特定来说,涉及包含未完成事务监测组件的存储器子系统。存储器子系统可为存储系统、存储装置、存储器模块或此类的组合。存储器子系统的实例是存储系统,例如固态驱动器(SSD)。下文结合图1及其它描述存储装置及存储器模块的实例。一般来说,主机系统可利用包含例如存储数据的存储器装置的一或多个组件的存储器子系统。主机系统可提供将存储在存储器子系统处的数据且可请求将从存储器子系统检索的数据。
例如外围组件互连快速(PCIe)、计算快速链路(CXL)、用于加速器的高速缓存一致性互连(CCIX)等的接口允许将各种存储器装置连接到主机系统。接口与存储器技术改进的组合可允许部署“远存储器”,其可由在例如PCIe、CXL、CCIX、GenZ等的存储器子系统的前端后面实施的系统存储器(例如存储器装置)组成。如本文中使用,存储器子系统的前端可为到主机系统的接口且可包含存储器子系统的控制器(例如前端控制器)。如本文中使用,存储器子系统的前端可包括经配置以接收数据(例如请求及/或数据)并将所述数据提供到存储器子系统的后端的硬件及/或固件。存储器子系统的后端可包括用以从存储器子系统的前端接收数据(例如请求及/或数据)的硬件及/或固件且可在存储器子系统的存储器装置上执行从主机提供的请求。
主机系统可向存储器子系统提供请求(例如命令),且那些请求可存储于存储器子系统的命令队列中。请求可积压于存储器子系统内,使得从自主机系统接收到请求时开始算起的执行请求的延时可随着存储于存储器子系统前端及/或后端的命令队列中的请求数量的增加而增加。举例来说,随着存储器子系统队列由于向存储器子系统的控制器提供请求而被释放,存储器子系统的命令队列可开始变得饱和使得执行对应于请求的操作的延时可增加。增加命令的执行延时可影响系统的效率。即,系统可等待执行提供到存储器子系统的命令使得系统是低效的。此外,如果存储器子系统的命令队列变得饱和,那么主机可停止从业务产生器接受事务。业务产生器是主机系统上向主机系统的主机控制器(例如CXL启动器的控制器)提供事务的组件(例如处理器)。事务可在启动器上排队,且如果达到或超过读取事务计数、写入事务计数或总事务计数阈值,那么启动器将不会请求或接受来自业务产生器的另外事务。
本公开的方面通过在主机系统中实施控制机制以监测从主机系统提供到存储器子系统(例如固态驱动器、存储器模块等)的未完成事务(例如命令)的数量来解决上述及其它缺点。如本文中使用,术语“未完成事务”是指从主机向存储器子系统(例如目标)发出的、主机尚未接收到针对其的事务完成确认(从目标返回)的事务。在各个实施例中,在接收到事务完成确认后,主机系统的未完成事务监测组件可使维持特定未完成事务的计数的一或多个计数器递减。举例来说,未完成事务监测组件可设置未完成的读取命令的特定数量、未完成的写入命令的特定数量及/或未完成的总命令的特定数量。读取命令的特定数量可指示未完成的读取命令的最大数目,写入命令的特定数量可指示未完成的写入命令的最大数目,且总命令的特定数量可指示总未完成的命令的最大数目。举例来说,当达到总命令的特定数量时,未完成事务监测组件可防止向存储器子系统发出(例如,向存储器子系统的前端部分发出)另外命令。举例来说,未完成事务监测组件可通过防止另外请求/命令被事务产生器(例如主机处理器)接收来防止另外命令被发出。此外,启动器可发信号向业务产生器通知其可再一次向启动器发送事务。通过一旦已达到相应特定数量主机就决定不发送命令,系统可避免由未完成的命令数达到不利地影响端到端系统的服务质量度量的数目引起的滞后时间增加。
图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可包含业务产生器111及主机存储器控制器125。业务产生器111可包含处理器芯片组(例如CPU芯片组)及由处理器芯片组执行的软件堆栈。处理器芯片组可包含一或多个核心及/或一或多个高速缓存。业务产生器111可进一步包含缓冲器(图1中未说明),其在主机系统120处接收的主机命令被发送到主机存储器控制器125之前首先存储所述主机命令。
主机存储器控制器125可操作为存储协议控制器(例如PCIe控制器、SATA控制器、CXL控制器)。主机存储器控制器125可包含未完成事务监测组件113。
主机系统120可经由物理主机接口耦合到存储器子系统110。物理主机接口的实例包含(但不限于)串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行附接SCSI(SAS)、小计算机系统接口(SCSI)、双倍数据速率(DDR)存储器总线、双列直插式存储器模块(DIMM)接口(例如,支持双倍数据率(DDR)的DIMM插槽接口)、开放NAND快闪接口(ONFI)、双倍数据率(DDR)、低功耗双倍数据率(LPDDR)或任何其它接口。物理主机接口可用于在主机系统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(3DNAND)。
存储器装置130、140中的每一者可包含一或多个存储器单元阵列。例如单电平单元(SLC)的一种类型的存储器单元每单元可存储一个位。例如多电平单元(MLC)、三电平单元(TLC)及四电平单元(QLC)及五电平单元(PLC)的其它类型的存储器单元每单元可存储多个位。在一些实施例中,存储器装置130的每一者可包含一或多个存储器单元阵列,例如SLC、MLC、TLC、QLC或此类的任何组合。在一些实施例中,特定存储器装置可包含存储器单元的SLC部分及MLC部分、TLC部分、QLC部分或PLC部分。存储器装置130的存储器单元可经分组为页面,其可指代用于存储数据的存储器装置的逻辑单位。对于一些类型的存储器(例如NAND),页面可经分组以形成块。
尽管描述了例如非易失性存储器单元的三维交叉点阵列及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及/或存储器装置140的所期望存取。存储器子系统控制器115可负责其它操作,例如损耗均衡操作、废弃项目收集操作、错误检测及错误校正码(ECC)操作、加密操作、高速缓存操作及与存储器装置130相关联的逻辑块地址(例如逻辑块地址(LBA)、命名空间)与物理地址(例如物理块地址、物理媒体位置等)之间的地址转译。存储器子系统控制器115可进一步包含用以经由物理主机接口与主机系统120通信的接口电路系统。所述主机接口电路系统可将从主机系统接收的命令转换成命令指令以存取存储器装置130及/或存储器装置140,且还将与存储器装置130及/或存储器装置140相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲器(例如DRAM)及地址电路系统(例如行解码器及列解码器),其可从存储器子系统控制器115接收地址且解码所述地址以存取存储器装置130及/或存储器装置140。
在一些实施例中,存储器装置130包含本地媒体控制器135,其结合存储器子系统控制器115操作以对存储器装置130的一或多个存储器单元执行操作。外部控制器(例如存储器子系统控制器115)可在外部管理存储器装置130(例如,对存储器装置130执行媒体管理操作)。在一些实施例中,存储器装置130是受管理的存储器装置,其是与用于同一存储器装置封装内的媒体管理的本地控制器(例如本地控制器135)组合的原始存储器装置。受管理的存储器装置的实例是受管理的NAND(MNAND)装置。
主机存储器控制器125可包含未完成事务监测组件113。尽管图1中未展示以免使图式模糊不清,但未完成事务监测组件113可包含各种电路系统以有利于监测存储器子系统及/或存储器子系统的组件的读取命令及写入命令、基于存储器子系统及/或存储器子系统的组件的延时参数确定是否执行存储器子系统及/或存储器子系统的组件的未完成事务监测操作及/或控制存储器子系统及/或存储器子系统的组件的未完成事务监测操作的执行。在一些实施例中,未完成事务监测组件113可包含呈ASIC、FPGA、状态机及/或其它逻辑电路系统的形式的电路系统,其可允许未完成事务监测组件113编排及/或执行对应于主机存储器控制器125的未完成事务监测的操作。
在一些实施例中,信用数可基于存储于存储器子系统110的队列中的未完成事务数进行调整并传回。队列可在存储器子系统110的前端部分、中央部分及/或后端部分中。当存储器子系统110中的未完成事务数未达到或超过那种类型的事务的特定数量时,事务可从业务产生器111发送到主机存储器控制器125。举例来说,当未完成的读取命令数确实达到或超过未完成的读取命令的特定数量时,读取命令可从业务产生器111发送到主机存储器控制器125。如果未完成事务数确实达到或超过那种类型的事务的特定数量,那么主机存储器控制器125将向业务产生器111指示主机存储器控制器125将不接受任何后续事务。一旦未完成事务数低于那种类型的事务的特定数量,主机存储器控制器125就可向业务产生器111指示主机存储器控制器125现在可以接受更多那种类型的事务。
当队列尚未达到总事务的特定数量时,前端(例如前端接口)可照常操作,从而用存储器子系统控制器115的前端部分、中央部分及后端部分的队列中的可用空间接受事务。未完成事务监测组件113可包含跟踪存储器子系统110中的未完成事务数的计数器。一旦此计数器达到总未完成事务的特定数量,前端就可避免从主机120接受事务。
在一些实施例中,一旦未完成事务监测组件113检测到队列正在达到总事务的特定数量,就可限制传入事务。未完成事务监测组件113可利用现存基础设施及消息来限制传入业务。基于事务队列的状态来限制传入业务可提供更好的平均读取延时及对存储器子系统110中资源的更好利用。在一些实施例中,队列(例如图2中的队列223-1、223-2、223-3(统称为队列223))可包含读取命令队列及写入命令队列。在各个实施例中,队列可为前端控制器(例如图2中的前端控制器216)及/或CXL子系统控制器(例如图2中的CXL子系统控制器228)的部分。
图2说明根据本公开的一些实施例的包含存储器子系统210的实例计算系统200。计算系统200包含主机220及存储器子系统210。主机220可包含业务产生器211及接口电路系统227,而存储器子系统210包含前端电路系统212及控制器228,其可为整体存储器子系统控制器(例如图1中描述的控制器115)的部分。在一些实施例中,接口电路系统227还可称为计算快速链路(CXL)启动器227。在一些实施例中,CXL启动器227包括主机CXL控制器225,主机CXL控制器225包括计数器221及队列223-1。此外,在一些实施例中,存储器子系统210可为CXL子系统210。CXL子系统210可包含前端电路系统212及耦合到存储器装置230的控制器228。在一些实施例中,控制器228可为CXL子系统控制器228。CXL子系统控制器228可包含队列223-3且可包括CXL存储器子系统210的中央部分及后端部分。后端部分可包含存储器通道控制器及用以将CXL子系统控制器228耦合到存储器装置230的多个存储器通道(未描绘)。尽管存储器装置被标记为230,但存储器装置230可包含易失性及非易失性存储器装置(例如图1中的存储器装置130、140)。主机220可经由包含硬件组件的物理接口232耦合到存储器子系统210,以在主机220与存储器子系统210之间传送数据。在一些实施例中,物理接口232可为CXL链路232。在一些实施例中,主机220与存储器子系统210之间的通信可为符合CXL的。
前端212可从主机220接收命令。接口227可从存储器子系统210接收命令。前端212可包含控制器216(例如存储器前端控制器216)及队列223-2。接口227还可包含控制器225(例如主机CXL控制器225)。
控制器216、225还可被描述为处理装置(例如处理器)。控制器216、225可包含硬件,例如一或多个集成电路及/或离散组件、缓冲存储器或其组合。硬件可包含具有用以执行本文中描述的操作的专用(即,硬编码)逻辑的数字电路系统。控制器216、225可为微控制器、专用逻辑电路系统(例如现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或其它合适的处理器。
在一些实施例中,存储器子系统210可包含经由多个通道耦合到存储器装置230的控制器228。此外,存储器子系统210可包含控制器部分216及控制器部分228。控制器部分216可称为“前端”控制器,且控制器部分228可包含中央控制器部分及一或多个存储器控制器,所述控制器经由多个通道直接对接存储器装置230且可称为“后端”存储器控制器。
CXL启动器227可经由CXL接口232耦合到存储器子系统210且可经配置以向第一事务队列(例如读取命令队列)223发送第一事务(例如读取命令)及向第二事务队列(写入命令队列)223发送第二事务(例如写入命令)。此外,主机CXL控制器225可经配置以在第一事务被添加到第一事务队列223时调整第一事务数的计数,且在第二事务被添加到第二事务队列223时调整第二事务数的计数。举例来说,当读取命令添加到读取命令队列223时,读取命令的计数可增加,且当写入命令添加到写入命令队列223时,写入命令的计数可增加。
此外,在一些实施例中,当第一事务从第一事务队列223移除时,主机CXL控制器225可调整第一事务数的计数,且当第二事务从第二事务队列223移除时,调整第二事务数的计数。举例来说,当读取命令从读取命令队列223移除时,主机CXL控制器225可减小读取命令数的计数,且当写入命令从写入命令队列223移除时,主机CXL控制器225减小写入命令数的计数。
在一些实施例中,存储器子系统210可包括前端控制器216,其经配置以接收第一事务及第二事务、将所述第一事务放置于第一事务队列223中及将所述第二事务放置于第二事务队列223中及从第一事务队列223移除所述第一事务及从事务队列223移除第二事务。举例来说,前端控制器216可从主机CXL控制器225接收读取命令及写入命令。此外,当读取命令及写入命令从主机CXL控制器225接收到时,前端控制器216可将读取命令放置到读取命令队列223中及将写入命令放置于写入命令队列223中。此外,当将读取命令及写入命令发送到CXL子系统控制器228以进行执行时,前端控制器216可从读取命令队列223移除读取命令及从写入命令队列223移除写入命令。
前端212可从主机220接收数据。在一些实施例中,数据可包含读取命令及写入命令。控制器216可将命令存储于例如队列223-2(例如读取命令队列及写入命令队列)中。控制器228可存取存储于前端212(例如前端的队列223-2)中的命令。控制器228可接收命令使得前端212可将命令推送到控制器228或控制器228可拉取命令。当命令被控制器228接收到时,命令从队列223-2移除。
在一些实施例中,当第一事务队列223中第一事务数达到未完成的第一事务的特定数目时或当第一事务队列223及第二事务队列223中的总事务数达到总事务的特定数量时,前端控制器216可对后续第一事务关闭第一事务队列223。举例来说,当读取命令队列223中的读取命令数达到读取命令的特定数目时或当读取命令队列223中的总读取命令及写入命令队列223中的写入命令的数目达到总命令的数量时,可对后续读取命令关闭读取命令队列223。此外,在一些实施例中,当第二事务队列223中第二事务数达到第二事务的特定数目时或当第一事务队列223及第二事务队列223中的总事务数达到总事务的特定数量时,前端控制器216可对后续第二事务关闭第二事务队列223。举例来说,当写入命令队列223中的写入命令数达到写入命令的特定数目时或当读取命令队列223中的总读取命令及写入命令队列223中的写入命令的数目达到总事务的数量时,可对后续写入命令关闭写入命令队列223。
在一些实施例中,第一事务、第二事务及总事务的特定数量可基于CXL接口232的带宽的瓶颈及/或第一事务队列223的大小及第二事务队列223的大小。如本文中使用,术语“带宽”是指跨给定路径的最大数据传送速率。如本文中使用,术语“瓶颈”是指限制数据传送且在数据传送路径中的组件当中具有最低吞吐量的组件。通过CXL接口232从CXL启动器227到存储器前端212的数据传送速率可影响第一命令、第二命令及总命令的特定数量的值。更大的队列可保持更多数据,这在数据以更快速度传送时是有益的。更大的队列可允许在对后续命令关闭队列之前将更多数据放置于队列中。当数据是以更快速度传送时,这允许队列开放更长时间。此外,第一事务、第二事务及总事务的特定数量可基于第一事务队列223及第二事务队列223的大小,这是因为第一事务、第二事务及总事务的特定数量必须对应于每一队列223能够保持的事务数。
在一些实施例中,对应于第一事务、第二事务及总事务的特定数量的信息经由CXL接口232发送。此外,在一些实施例中,与其它组件的状态(例如高速缓存存储器的状态)相关的数据可经由CXL接口232传送。虽然其它类型的接口可能够在中央处理单元(CPU)核心中传送例如事务的特定数量及高速缓存存储器的状态的数据,但其它类型的接口无法在CPU核心外部传送这些类型的数据。CXL接口可在CPU核心外部传送这些类型的数据。
在一些实施例中,在第一事务在达到第一事务的特定数量之后从第一事务队列223移除之后,开放第一事务队列223以接收后续第一事务。举例来说,在读取命令队列223由于读取命令队列223中的读取命令数达到读取命令的特定数量而对后续读取命令关闭之后,如果读取命令从读取命令队列223移除使得读取命令队列223中的读取命令数小于读取命令的特定数量,那么可对后续读取命令开放读取命令队列223。在一些实施例中,在第二事务在达到第二事务的特定数量之后从第二事务队列223移除之后,开放第二事务队列223以接收后续第二事务。举例来说,在写入命令队列223由于写入命令队列223中的写入命令数达到写入命令的特定数量而对后续写入命令关闭之后,如果写入命令从写入命令队列223移除使得写入命令队列223中的写入命令数小于写入命令的特定数量,那么可对后续写入命令开放写入命令队列223。
在一些实施例中,前端控制器216可基于控制器225先前是否已指示其可用于接收额外通信而指示主机220是否可提供额外请求。例如,控制器225可向存储器子系统210指示其还没有准备好接收额外数据,控制器216可响应于此而避免对可用于主机220的信用提供更新,其中所述信用指示主机220是否可发送额外请求。
控制器225还可包含队列223-1,其保持由存储器子系统210及/或业务产生器211提供的数据。控制器225可跟踪CXL启动器227的队列223-1中可用于保持从存储器子系统210及/或业务产生器211接收的额外事务的空间。控制器225可基于CXL启动器227的队列存储额外数据的可用性而向存储器子系统210及/或业务产生器211指示接收额外事务的可用性。
在一些实施例中,第一事务与第二事务可不对称地进行处理。换句话说,CXL存储器子系统210中的读取命令可以不同于CXL存储器子系统210中的写入命令的方式进行处理。举例来说,当读取命令请求从主机220发送到存储器子系统210时,可在对应于读取命令请求的数据返回到主机220时向主机220发送响应。然而,当写入命令请求通过CXL接口232从主机220发送到CXL存储器子系统210时,针对可将响应发送到主机220的时序存在多个选项。一个选项是确认可在写入命令完成之后发送回到主机220。另一选项是确认可在写入命令完成之前发送到主机220。
图3是根据本公开的一些实施例的对应于用于存储器子系统的未完成事务监测的流程图301。在操作303,可使用第一控制器(例如主机系统控制器)来调整第一事务(例如读取命令)数的计数及第二事务(例如写入命令)数的计数。此外,在操作303,当第一事务或第二事务被第二控制器(例如存储器前端控制器)接收或第一事务或第二事务由第二控制器执行时,调整第一事务数的计数及第二事务数的计数。
在操作305,可将读取命令(例如第一事务)数限制为未完成的第一事务的特定数量。
在一些实施例中,后续读取命令可在读取命令队列及写入命令队列中的总事务数低于未完成的总事务的特定数量时发送到读取命令队列(例如第一事务队列)。一旦达到未完成的读取命令的特定数量,读取命令队列就可停止接受后续读取命令,且在读取命令从读取命令队列移除之后,读取命令队列可恢复接受后续命令。
在操作307,可将写入命令(例如第二事务)数限制为未完成的第二事务的特定数量。
在一些实施例中,后续写入命令可在读取命令队列及写入命令队列中的总事务数低于未完成的总事务的特定数量时发送到写入命令队列(例如第二事务队列)。一旦达到未完成的写入命令的特定数量,写入命令队列就可停止接受后续写入命令,且在写入命令从写入命令队列移除之后,写入命令队列可恢复接受后续写入命令。
在操作309,可将总事务数限制为未完成的总事务的特定数量。总事务数可通过读取命令队列中的读取命令与写入命令队列中的写入命令的总和来确定。在一些实施例中,总事务的特定数量可为当读取命令队列中的读取命令与写入命令队列中的写入命令的总和达到或超过总事务的特定数量时将致使读取命令队列及写入命令队列停止接受后续命令的总事务的数量。
如果读取命令队列具有等于读取命令的特定数量的命令数,那么主机系统可向前端存储器控制器发送已达到读取命令的特定数量的指示,且不可将另外读取命令发送到读取命令队列。一旦读取命令已从读取命令队列移除,就可向前端存储器控制器发送可将新读取命令发送到读取命令队列的指示。此外,如果读取命令队列或写入命令队列分别具有分别小于读取命令或写入命令的特定数目的读取命令或写入命令数,但读取命令队列及写入命令队列具有等于总命令的特定数目的命令总数,那么主机系统控制器可向存储器前端控制器指示不可将命令发送到读取命令队列或写入命令队列。一旦命令从读取命令队列或写入命令队列移除,就可向前端存储器控制器发送可将命令发送到不具有等于其相应特定命令数量的命令数的读取命令队列或写入命令队列中的无论哪一者的指示。
图4是本公开的实施例可在其中操作的实例计算机系统400的框图。举例来说,图4说明计算机系统400的实例机器,在所述计算机系统内可执行用于致使所述机器执行本文中论述的方法论中的任一或多者的一组指令。在一些实施例中,计算机系统400可对应于主机系统(例如图1的主机系统120),其包含、经耦合到或利用存储器子系统(例如图1的存储器子系统110)或可用于执行控制器的操作(例如,执行操作系统以执行对应于未完成事务监测413的操作)。在替代实施例中,机器可连接(例如联网)到LAN、内联网、外联网及/或因特网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,在对等(或分布式)网络环境中作为对等机器操作,或在云计算基础设施或环境中作为服务器或客户端机器操作。
机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥或能够(循序或以其它方式)执行指定将由所述机器所采取的动作的一组指令的任何机器。此外,虽然说明了单个机器,但术语“机器”还应被视为包含个别地或联合地执行一(或多组)指令以执行本文中论述的方法论中的任一或多者的机器的任何集合。
实例计算机系统400包含处理装置402、主存储器404(例如,只读存储器(ROM)、快闪存储器、动态随机存取存储器(DRAM)(例如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器406(例如,快闪存储器、静态随机存取存储器(SRAM))等)及数据存储系统418,其经由总线430彼此通信。
处理装置402表示一或多个通用处理装置,例如微处理器、中央处理单元或类似物。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器或实施其它指令集的一处理器或实施指令集组合的多个处理器。处理装置402也可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器或类似物。处理装置402经配置以执行用于执行本文中论述的操作及步骤的指令426。计算机系统400可进一步包含网络接口装置408以通过网络420通信。
数据存储系统418可包含其上存储体现本文中描述的方法论或功能中的任一或多者的一或多组指令426或软件的机器可读存储媒体424(也称为计算机可读媒体)。指令426也可在其由计算机系统400执行期间完全或至少部分驻留于主存储器404内及/或处理装置402内,主存储器404及处理装置402也构成机器可读存储媒体。机器可读存储媒体424、数据存储系统418及/或主存储器404可对应于图1的存储器子系统110。
在一个实施例中,指令426包含实施对应于未完成事务监测413的功能性的指令。虽然在实例实施例中将机器可读存储媒体424展示为单个媒体,但术语“机器可读存储媒体”应理解为包含存储一或多组指令的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码一组指令以供机器执行并且致使机器执行本公开的方法中的任一者或多者的任何媒体。术语“机器可读存储媒体”应相应地理解为包含(但不限于)固态存储器、光学媒体及磁性媒体。
已依据对计算机存储器内的数据位的操作的算法及符号表示呈现前述详细描述的一些部分。这些算法描述及表示是由数据处理领域的技术人员用以向所属领域的其它技术人员最有效地传达其工作实质的方式。算法在本文且通常被设想为导致所期望结果的自相一致的操作序列。操作是需要物理操纵物理量的操作。通常,尽管不是必须的,这些量采取能够被存储、组合、比较及以其它方式操纵的电或磁性信号的形式。已被证明是方便的是,有时出于习惯用法的原因,原则上将这些信号指代为位、值、元素、符号、字符、项、数字或类似物。
然而,应记住,全部这些及类似术语与适当物理量相关联,且仅为应用于这些量的方便标签。本公开可涉及计算机系统或类似电子计算装置的动作及过程,其将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵或变换成类似地表示为计算机系统存储器或寄存器或其它此类信息存储系统内的物理量的其它数据。
本公开还涉及用于执行本文中的操作的设备。此设备可出于预期目的经专门构造,或其可包含由存储于计算机中的计算机程序选择性地激活或重新配置的通用计算机。此计算机程序可存储于计算机可读存储媒体中,例如(但不限于)任何类型的磁盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡或适于存储电子指令的任何类型的媒体,其各自耦合到计算机系统总线。
本文呈现的算法及显示器并不固有地与任何特定计算机或其它设备相关。各种通用系统可结合根据本文的教示的程序使用,或可证明为方便的是构造更专门设备来执行方法。多种这些系统的结构将如下文描述中陈述那样出现。另外,本公开并非是参考任何特定编程语言进行描述。应了解,多种编程语言可用于实施本文中所描述的本公开的教示。
本公开可经提供为计算机程序产品或软件,其可包含其上存储有指令的机器可读媒体,所述指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于存储呈可由机器(例如计算机)读取的形式的信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在前述说明书中,已参考本公开的特定实例实施例描述了其实施例。将明白,可在不背离所附权利要求书中所陈述的本公开的实施例的更宽精神及范围的情况下对本公开做出各种修改。因此,说明书及图式应以说明性意义而非限制性意义来看待。
Claims (15)
1.一种用于存储器子系统(110、210)的未完成事务监测的设备(100、200、400),其包括:
第一控制器(225),其经配置以:
调整第一事务数的计数及调整第二事务数的计数,其中当符合以下条件时,调整所述第一事务数的所述计数及所述第二事务数的所述计数:
第一事务或第二事务由第二控制器(216)接收;或
所述第一事务或所述第二事务由所述第二控制器(216)执行;且
其中所述第二控制器(216)耦合到所述第一控制器(225)且经配置以:
将所述第一事务数限制为未完成的第一事务的特定数量;
将所述第二事务数限制为未完成的第二事务的特定数量;及
将总事务数限制为未完成的总事务的特定数量。
2.根据权利要求1所述的设备,其中未完成的第一事务的所述特定数量及未完成的第二事务的所述特定数量基于耦合到所述第二控制器的存储器装置(130、230)的类型来确定。
3.根据权利要求1所述的设备,其中:
所述第一控制器包含用以保持所述第一事务的第一事务队列(223-1)及用以保持所述第二事务的第二事务队列(223-2);且
所述第一控制器进一步经配置以维持所述第一事务队列(223-1)中未完成的第一事务数的计数及维持所述第二事务队列(223-2)中未完成的第二事务数的计数。
4.根据权利要求1到3中任一权利要求所述的设备,其中所述第一控制器进一步经配置以在所述第一事务离开所述第一事务队列之后且在所述第一事务被执行之前调整所述第一事务队列中未完成的所述第一事务数的计数。
5.根据权利要求1到3中任一权利要求所述的设备,其中所述第一控制器进一步经配置以在所述第二事务离开所述第二事务队列之后且在所述第二事务被执行之前调整所述第二事务队列中未完成的所述第二事务数的计数。
6.根据权利要求1到3中任一权利要求所述的设备,其中后续第一事务在所述第一事务数的所述计数从未完成的第一事务的所述特定数量调整之后添加到所述第一事务队列。
7.根据权利要求1到3中任一权利要求所述的设备,其中后续第二事务在所述第二事务数的所述计数从未完成的第二事务的所述特定数量调整之后添加到所述第二事务队列。
8.一种用于存储器子系统(110、210)的未完成事务监测的方法,其包括:
使用第一控制器(225)调整第一事务数的计数及第二事务数的计数,其中当符合以下条件时,调整所述第一事务数的所述计数及所述第二事务数的所述计数:
第一事务或第二事务由第二控制器(216)接收;或
所述第一事务或所述第二事务由所述第二控制器(216)执行;
将所述第一事务数限制为未完成的第一事务的特定数量;
将所述第二事务数限制为未完成的第二事务的特定数量;及
将总事务数限制为未完成的总事务的特定数量。
9.根据权利要求8所述的方法,其进一步包括当所述第一事务队列及所述第二事务队列中的所述总事务数低于未完成的总事务的所述特定数量时,将后续第一事务发送到第一事务队列。
10.根据权利要求8所述的方法,其进一步包括当所述第一事务队列及所述第二事务队列中的所述总事务数低于未完成的总事务的特定数量时,将后续第二事务发送到第二事务队列。
11.一种用于存储器子系统(110、210)的未完成事务监测的系统(100、200、400),其包括:
存储器子系统(110、210);及
计算快速链路CXL启动器(227),其经由CXL接口(232)耦合到所述存储器子系统(110、210)且经配置以:
将第一事务发送到第一事务队列(223-1)及将第二事务发送到第二事务队列(223-2);
当所述第一事务添加被到所述第一事务队列(223-1)时调整第一事务数的计数及当所述第二事务被添加到所述第二事务队列(223-2)时调整第二事务数的计数;及
当所述第一事务从所述第一事务队列(223-1)移除时调整所述第一事务数的所述计数及当所述第二事务从所述第二事务队列(223-2)移除时调整所述第二事务数的所述计数;且
其中所述存储器子系统(110、210)包括前端控制器(216),其经配置以:
接收所述第一事务及所述第二事务;
将所述第一事务放置于所述第一事务队列(223-1)中及将所述第二事务放置于所述第二事务队列(223-2)中;
从所述第一事务队列(223-1)移除所述第一事务及从所述第二事务队列(223-2)移除所述第二事务;
当所述第一事务队列(223-1)中所述第一事务数达到未完成的第一事务的特定数目时或当所述第一事务队列(223-1)及所述第二事务队列(223-2)中的总事务数达到总事务的特定数量时,对后续第一事务关闭所述第一事务队列(223-1);及
当所述第二事务队列(223-2)中所述第二事务数达到第二事务的特定数目时或当所述第一事务队列(223-1)及所述第二事务队列(223-2)中的所述总事务数达到总事务的所述特定数量时,对后续第二事务关闭所述第二事务队列(223-2)。
12.根据权利要求11所述的系统,其中第一事务、第二事务及总事务的所述特定数量是基于:
所述CXL接口的带宽的瓶颈;或
所述第一事务队列的大小及所述第二事务队列的大小;或两者。
13.根据权利要求11到12中任一权利要求所述的系统,其中对应于第一事务、第二事务及总事务的所述特定数量的信息经由所述CXL接口发送。
14.根据权利要求11到12中任一权利要求所述的系统,其中:
在所述第一事务在达到第一事务的所述特定数量之后从所述第一事务队列移除之后开放所述第一事务队列以接收后续第一事务;且
在所述第二事务在达到第二事务的所述特定数量之后从所述第二事务队列移除之后开放所述第二事务队列以接收后续第二事务。
15.根据权利要求11到12中任一权利要求所述的系统,其中所述存储器子系统包含:
控制器(228),其经由多个通道耦合到存储器装置;及
前端控制器部分(212)、中央控制器部分及后端控制器部分。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/485,060 US11809710B2 (en) | 2021-09-24 | 2021-09-24 | Outstanding transaction monitoring for memory sub-systems |
US17/485,060 | 2021-09-24 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115857796A true CN115857796A (zh) | 2023-03-28 |
Family
ID=85660958
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211137413.5A Withdrawn CN115857796A (zh) | 2021-09-24 | 2022-09-19 | 用于存储器子系统的未完成事务监测 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11809710B2 (zh) |
CN (1) | CN115857796A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436526A (zh) * | 2023-06-13 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 控制信号传输的方法及装置、系统、存储介质、电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7426649B2 (en) | 2005-02-09 | 2008-09-16 | International Business Machines Corporation | Power management via DIMM read operation limiter |
US8271692B1 (en) | 2010-10-01 | 2012-09-18 | Western Digital Technologies, Inc. | Throttled command completion time |
US10025522B2 (en) | 2016-04-15 | 2018-07-17 | Sandisk Technologies Llc | Memory interface command queue throttling |
US11620159B2 (en) * | 2021-04-23 | 2023-04-04 | Samsung Electronics Co., Ltd. | Systems and methods for I/O command scheduling based on multiple resource parameters |
-
2021
- 2021-09-24 US US17/485,060 patent/US11809710B2/en active Active
-
2022
- 2022-09-19 CN CN202211137413.5A patent/CN115857796A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116436526A (zh) * | 2023-06-13 | 2023-07-14 | 苏州浪潮智能科技有限公司 | 控制信号传输的方法及装置、系统、存储介质、电子设备 |
CN116436526B (zh) * | 2023-06-13 | 2024-02-20 | 苏州浪潮智能科技有限公司 | 控制信号传输的方法及装置、系统、存储介质、电子设备 |
Also Published As
Publication number | Publication date |
---|---|
US11809710B2 (en) | 2023-11-07 |
US20230098454A1 (en) | 2023-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11650755B2 (en) | Proactive return of write credits in a memory system | |
US11740833B2 (en) | Throttle response signals from a memory system | |
US12039192B2 (en) | Efficient buffer management for media management commands in memory devices | |
US20220050772A1 (en) | Data block switching at a memory sub-system | |
CN115857796A (zh) | 用于存储器子系统的未完成事务监测 | |
US11960740B2 (en) | Implementing automatic rate control in a memory sub-system | |
US20240087651A1 (en) | Adaptive pre-read management in multi-pass programming | |
US20220293181A1 (en) | Tracking operations performed at a memory device | |
US11468949B2 (en) | Temperature-dependent operations in a memory device | |
US11861228B2 (en) | Memory status command aggregation | |
US11693597B2 (en) | Managing package switching based on switching parameters | |
US11899972B2 (en) | Reduce read command latency in partition command scheduling at a memory device | |
US11593024B1 (en) | Request control for memory sub-systems | |
US20240069807A1 (en) | Managing command completion notification pacing in a memory sub-system | |
US11656938B2 (en) | Preemptive read verification after hardware write back | |
US20230207028A1 (en) | Managing an adaptive data path selection threshold for a memory sub-system | |
US20230064781A1 (en) | Dynamic buffer limit for at-risk data | |
US20210200682A1 (en) | Full multi-plane operation enablement |
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: 20230328 |