CN113939797B - 用于存储器子系统的锁定管理 - Google Patents
用于存储器子系统的锁定管理 Download PDFInfo
- Publication number
- CN113939797B CN113939797B CN202080042381.3A CN202080042381A CN113939797B CN 113939797 B CN113939797 B CN 113939797B CN 202080042381 A CN202080042381 A CN 202080042381A CN 113939797 B CN113939797 B CN 113939797B
- Authority
- CN
- China
- Prior art keywords
- read
- lock
- memory component
- determining
- address
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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
-
- 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/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/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/0658—Controller construction 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
-
- 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]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本申请案针对于用于存储器子系统的锁定管理。处理装置接收来自主机系统的命令以执行读取操作。所述处理装置确定媒体的在其中将使用与所述读取操作包含在一起的地址执行所述读取操作的存储器组件。所述处理装置确定在所述存储器组件上存在读取锁定。所述处理装置确定取决于所述读取锁定的读取操作计数已达到读取阈值。基于此确定,所述处理装置将所述读取操作添加到读取锁定队列。作为将所述读取操作添加到所述读取锁定队列的结果,所述处理装置在所述读取操作之前执行写入操作。
Description
技术领域
本公开大体上涉及存储器子系统,且更具体地,涉及改进存储器系统的组件锁定管理。
背景技术
存储器子系统可以是存储系统,如固态驱动器(SSD)或硬盘驱动器(HDD)。存储器子系统可以是存储器模块,例如双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)或非易失性双列直插式存储器模块(NVDIMM)。存储器子系统可以包含存储数据的一或多个存储器组件。存储器组件可以例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可以利用存储器子系统在存储器组件处存储数据以及从存储器组件检索数据。
发明内容
在一个方面中,本申请案针对于一种方法,其包括:从主机系统接收第一命令,所述第一命令对应于包含第一地址的第一读取操作;确定媒体的映射到所述第一地址的存储器组件;确定在所述存储器组件上存在读取锁定;确定取决于所述读取锁定的读取操作计数已达到读取阈值,其中所述读取阈值对应于当在所述存储器组件上存在读取锁定时,能够在所述存储器组件上执行的读取操作的数目;响应于所述读取操作计数达到所述读取阈值,将所述第一读取操作添加到读取锁定队列;和响应于所述读取操作计数达到所述读取阈值,在所述第一读取操作之前执行第一写入操作。
在另一方面中,本申请案针对于一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时,致使所述处理装置:接收第一命令,所述第一命令对应于包含第一地址的第一读取操作;确定媒体的映射到所述第一地址的存储器组件;确定在所述存储器组件上存在读取锁定;确定取决于所述读取锁定的读取操作计数已达到读取阈值,其中所述读取阈值对应于当在所述存储器组件上存在读取锁定时,能够在所述存储器组件上执行的读取操作的数目;响应于所述读取操作计数达到所述读取阈值,将所述第一读取操作添加到读取锁定队列;和响应于所述读取操作计数达到所述读取阈值,在所述第一读取操作之前执行第一写入操作。
在另一方面中,本申请案针对于一种系统,其包括:存储器组件;和处理装置,其以可操作方式与所述存储器组件耦合以进行以下操作:接收第一命令,所述第一命令对应于包含第一地址的第一读取操作;确定媒体的映射到所述第一地址的存储器组件;确定在所述存储器组件上存在读取锁定;确定取决于所述读取锁定的读取操作计数已达到读取阈值,其中所述读取阈值对应于当在所述存储器组件上存在读取锁定时,能够在所述存储器组件上执行的读取操作的数目;响应于所述读取操作计数达到所述读取阈值,将所述第一读取操作添加到读取锁定队列;和响应于所述读取操作计数达到所述读取阈值,在所述第一读取操作之前执行第一写入操作。
附图说明
根据下文给出的详细描述和本公开的各种实施例的附图,将更充分地理解本公开。然而,图式不应视为将本公开限制于具体实施例,而是仅用于解释和理解。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2是根据本公开的实施例的存储于裸片锁定数据结构中的信息的示范性图示。
图3是根据本公开的一些实施例的裸片锁定管理的实例方法的流程图。
图4是根据本公开的一些实施例的裸片锁定管理的实例方法的延续部分的流程图。
图5是根据本公开的一些实施例的裸片锁定管理的实例方法的另一延续部分的流程图。
图6是其中可操作本公开的实施例的实例计算机系统的框图。
具体实施方式
本公开的方面针对于提高存储器子系统的性能。存储器子系统的实例是存储系统或装置,例如固态驱动器(SSD)。在一些实施例中,存储器子系统是混合式存储器/存储装置子系统。一般来说,主机系统可以利用包含一或多个存储器组件的存储器子系统。主机系统可提供将存储在存储器子系统处的数据,且可请求将从存储器子系统检索的数据。
时延可显著影响存储器子系统的性能。举例来说,当读取操作与写入或擦除操作发生冲突时,对时延存在影响。随着写入长度增加,锁定存储器子系统的一或多个组件所用的时间也会增加,这会阻止读取操作。在混合工作负载(例如,从多个主机系统接收的多个居间读取和写入命令)和处于作用中的垃圾收集过程下,读取操作与写入操作发生冲突的机率较高,尤其是当写入在存储器子系统中的多个块上分段以优化带宽时。因此,难以满足存储器子系统的服务质量(QoS)需求。如本文所描述,存储器子系统的QoS需求是指例如在服务读取/写入工作负载时的时延(响应时间)阈值和/或每秒输入/输出操作(IOPS)阈值。
本公开的方面通过当在存储器组件处接收到读取操作时锁定存储器组件来解决以上和其它缺陷。将存储器组件锁定为执行读取操作可确保不会给予居间写入操作过度优先级和/或确保居间写入操作不会延迟读取操作的执行,所述居间写入操作可有可能在读取命令在存储器组件处的接收与执行之间的持续时间(例如,2-3微秒)内到达或被垃圾收集触发。这会减少存储器子系统经历的整体读取时延并且提高存储器子系统的响应时间,尤其是在混合工作负载期间。
图1说明根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件(存储器装置112A-112N)。存储器组件112A到112N可以是易失性存储器组件、非易失性存储器组件或此类组件的组合。在一些实施例中,存储器子系统是存储系统。存储系统的实例是SSD。在一些实施例中,存储器子系统110是混合式存储器/存储子系统。一般来说,计算环境100可包含使用存储器子系统110的主机系统120。举例来说,主机系统120可将数据写入到存储器子系统110和从存储器子系统110读取数据。
主机系统120可以是计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110,使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有居间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口存取存储器组件112A到112N。物理主机接口可提供接口以用于在存储器子系统110与主机系统120之间传送控制、地址、数据以及其它信号。虽然计算环境100说明为具有单个主机系统120,但一些实施例包含与存储器子系统110耦合的多个主机系统120。
存储器组件112A-112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含“与非”(NAND)类型快闪存储器。举例来说,每个存储器组件112可实施于NAND裸片中。虽然下文描述的实施例是指裸片级粒度的存储器组件112,但在其它实施例中,存储器组件112可仅包含裸片的一部分或存储器组件112可包含多个裸片。存储器组件112A-112N中的每一个可包含存储器单元的一或多个阵列,所述存储器单元如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位(例如,块)。虽然描述如NAND类型快闪存储器的非易失性存储器组件,但存储器组件112A-112N可基于任何其它类型的存储器,如易失性存储器。在一些实施例中,存储器组件112A-112N可以是但不限于随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112A-112N的存储器单元可分组为存储器页或数据块,其可指代用于存储数据的存储器组件的单元。
存储器系统控制器115(下文称为“控制器”)可与存储器组件112A-112N通信以执行操作,例如在存储器组件112A-112N处读取数据、写入数据或擦除数据,以及其它此类操作。控制器115可包含硬件,如一或多个集成电路和/或离散组件、缓冲存储器或其组合。控制器115可以是微控制器、专用逻辑电路(例如,现场可编程门阵列(FPGA)、专用集成电路(ASIC)等)或另一合适的处理器。控制器115可包含被配置成执行存储在本地存储器119中的指令的处理器(处理装置)117。在所说明实例中,控制器115的本地存储器119包含配置成存储指令以用于执行控制存储器子系统110的操作(包含处置存储器子系统110与主机系统120之间的通信)的各种过程、操作、逻辑流程以及例程的嵌入式存储器。在一些实施例中,本地存储器119可以包含存储器寄存器,其存储存储器指针、提取的数据等。本地存储器119还可以包含用于存储微码的只读存储器(ROM)。虽然图1中的实例存储器子系统110已说明为包含控制器115,但在本公开的另一实施例中,存储器子系统110可能不包含控制器115,且可改为依靠(例如由外部主机或由与存储器子系统分离的处理器或控制器提供的)外部控制。
一般来说,控制器115可从主机系统120接收命令或操作且可将所述命令或操作转换成指令或适合的命令以实现对存储器组件112A到112N的所需存取。控制器115可负责其它操作,例如耗损均衡操作、垃圾收集操作、差错检测和差错校正码(ECC)操作、加密操作、高速缓存操作和在与存储器组件112A到112N相关联的逻辑块地址与物理块地址之间的地址转译。控制器115可另外包含主机接口电路系统以经由物理主机接口与主机系统120通信。主机接口电路可将从主机系统接收到的命令转换成命令指令以存取存储器组件112A到112N,以及将与存储器组件112A到112N相关联的响应转换成用于主机系统120的信息。
存储器子系统110还可包含未说明的额外电路系统或组件。在一些实施例中,存储器子系统110可包含高速缓存或缓冲(例如DRAM)和地址电路(例如行解码器和列解码器),其可从控制器115接收地址且对地址进行解码以存取存储器组件112A到112N。
多种数据组织方案可用以辅助存储器组件112A-112N的管理。举例来说,如上所述,在一些实施例中,存储器组件112A-112N的存储器单元可分组成存储器页。在一些实施例中,存储器页分组成存储器块(“块”)。块是用以存储数据的存储器组件的单元。这些块可进一步组合以形成平面,且一或多个平面的群组形成裸片。裸片可含有充满块的单个平面或可具有已链接在一起的多个平面。因此,在某些实施例中,存储器组件112可包括可分组在一起以形成一或多个块的一或多个存储器页,且一或多个块可组合以形成裸片。
存储器子系统110包含逻辑到物理(L2P)地址查找管理器116和裸片锁定管理器118。在某些实施例中,L2P地址查找管理器116接收逻辑地址(例如,在来自主机系统120的读取/写入命令内)并且确定被执行命令的媒体(即,存储器组件112A-112N)的裸片。在一些情况下,L2P地址查找管理器116是驻留在控制器115中的快闪转译层(FTL)(图1中未示出)的组件。L2P地址查找管理器116使用从主机系统120接收的读取/写入命令中的元数据(例如,逻辑地址)以识别将在其中执行命令的存储器组件(例如,112A到112N)中的物理地址。在实施例中,物理地址包含或以其它方式映射到媒体(存储器组件112A到112N)的裸片索引。举例来说,L2P地址查找管理器116使用存储于存储器子系统110的控制器存储器119中的逻辑-物理映射表113维持逻辑地址和物理地址之间的映射。映射表113还可保持于存储器组件112A-112N中的一个中,并且可在例如电源故障的情况下被控制器115恢复给控制器存储器119。L2P地址查找管理器116为裸片锁定管理器118提供裸片索引。在某些实施例中,L2P地址查找管理器116可使用NVMe指令性命令(供主机系统120用于存取存储器组件112A到112N)向裸片锁定管理器118报告裸片的裸片索引。
裸片锁定管理器118从L2P地址查找管理器116接收裸片索引并且执行用于读取/写入执行的一组操作。举例来说,管理裸片上的锁定以便执行所请求的操作,例如下文参考图2-5更详细描述。
在某些实施例中,在裸片锁定的管理中,裸片锁定管理器118执行检查以确定裸片是否已锁定为用于正在进行中的读取或写入操作。举例来说,裸片锁定管理器118可参考存储于控制器115的控制器存储器119中的裸片锁定表115以执行此检查。裸片锁定表115存储与存储器组件112A到112N的裸片相关联的锁定信息。锁定信息可包含对于特定裸片,裸片是否已锁定为用于读取操作或写入操作,以及与裸片上的一种或这两种类型的锁定相关联的锁定计数。在图2中描述关于裸片锁定表115的额外细节。
在一些实施例中,控制器115包含L2P管理器116和裸片锁定管理器118的至少一部分。举例来说,控制器115可包含处理器117(处理装置),其被配置成执行存储于本地存储器119中的指令以用于执行本文所描述的操作。在一些实施例中,L2P地址查找管理器116和裸片锁定管理器118是主机系统110、应用程序或操作系统的部分。下文描述关于L2P地址查找管理器116和裸片锁定管理器118的操作的另外细节。
图2是根据本公开的实施例的存储于裸片锁定表200中的信息的示范性图示。举例来说,裸片锁定表200是图1中示出的裸片锁定表115的一个实施方案。裸片锁定表200存储与每一裸片(或存储器组件112)相关联的锁定信息。锁定信息可包含对于特定裸片,裸片的裸片识别符、裸片是否已锁定为用于读取操作、裸片是否已锁定为用于写入操作,以及与裸片相关联的读取锁定计数。在一个实施例中,读取锁定计数表示在裸片上的单个读取锁定期间执行的和/或排队执行的读取操作的数目。在另一实施例中,读取锁定计数表示在裸片上维持读取锁定的时间量(例如,采取读取锁定的时间戳)。虽然未说明,但在一些实施例中,裸片锁定表200还存储与裸片相关联的写入锁定计数。举例来说,读取锁定和写入锁定值可由单个位表示,针对未锁定使用0并且针对锁定使用1,反之亦然。裸片索引和读取锁定计数可由多个位实施,如由裸片数目和读取锁定计数的上限阈值所决定。下文关于图3-5描述关于由L2P地址查找管理器116和裸片锁定管理器118使用裸片锁定表200执行的操作的另外细节。
图3是根据本公开的一些实施例的由处理装置执行的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300是由控制器115经由L2P地址查找管理器116和裸片锁定管理器118执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作305处,处理装置从主机系统120接收命令。从主机系统120接收的读取或写入命令包含地址。如图1中所描述,所述地址可包含(或以其它方式对应于)存储于存储器组件112(例如,裸片)中的数据的逻辑地址。在某些实施例中,垃圾收集过程、耗损均衡过程或读取刷新过程也触发可被处理装置在操作305处接收到的命令。
在操作310处,处理装置确定存储装置的映射到所述地址的裸片(即,裸片识别符)。举例来说,L2P地址查找管理器116使用逻辑-物理映射表113将所接收到的逻辑地址映射到物理地址。在一个实施例中,物理地址包含(或进一步映射到)裸片的识别符。
在操作315处,处理装置确定命令是读取操作还是写入操作。如果命令对应于读取操作,那么方法300经由参考图4所描述的页外连接符A继续进行。如果命令对应于写入操作,那么方法300经由参考图5所描述的页外连接符B继续进行。
图4是根据本公开的另一实施例的由处理装置执行的实例方法400的流程图。方法400可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法400是由图1的裸片锁定管理器118当接收到读取命令时执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在操作405处,在接收到读取命令之后,处理装置即刻确定存储器组件112是否已经锁定为用于写入(即,在裸片上存在写入锁定)。举例来说,裸片锁定管理器118使用裸片识别符在裸片锁定表115中查找写入锁定状态。在一个实施例中,通过评估写入锁定计数的值来确定写入锁定状态。举例来说,值零可用以表示未锁定状态,且非零值可用以表示锁定状态。如果在裸片上存在写入锁定,那么在操作410处,处理装置在其可执行读取操作之前等待写入锁定被释放。在某些实施例中,当裸片上存在写入锁定时,处理装置执行多个写入命令。处理装置每当写入命令准备好执行时使裸片的写入锁定计数递增并且每当写入命令的执行完成时使写入锁定计数递减。类似地,处理装置可使读取锁定计数递增和递减以在裸片上实施读取锁定。
在接收到读取命令(例如在操作405处)并确定在裸片上存在写入锁定之后,处理装置即刻可暂停目前正被执行的写入命令以执行待处理读取命令。当写入命令暂停时,处理装置使裸片的写入锁定计数递减。在另一实施例中,处理装置暂时阻止额外写入命令添加到写入锁定并且等待现有的一或多个写入命令完成,在每一写入命令完成时使写入锁定递减。当裸片上的写入锁定计数达到零时,在一些实施例中,处理装置清除(停用/释放)裸片上的写入锁定以处理传入的读取命令。在执行读取操作之后,处理装置可恢复暂停的写入命令和/或其它排队的写入命令的执行。在一些实施例中,在执行写入命令之前,处理装置例如通过使裸片上的写入锁定计数递增来启用裸片上的写入锁定计数。
如果裸片尚未被锁定用于写入或当写入锁定被释放时,那么在框415处,处理装置确定裸片是否已被锁定用于读取(即,在裸片上存在读取锁定)。举例来说,裸片锁定管理器118使用裸片识别符在裸片锁定表115中查找读取锁定状态。
如果在裸片上存在读取锁定,那么在操作420处,处理装置确定裸片上的读取锁定计数是否已达到与裸片相关联的读取阈值。在一些实施例中,读取阈值是当在裸片上存在读取锁定时可在裸片上执行的读取操作的数目(例如,10个)。举例来说,裸片锁定管理器118使用裸片识别符查找裸片锁定表115中的读取锁定计数并且将读取锁定计数与读取锁定的读取阈值进行比较。在其它实施例中,读取阈值可对应于当在裸片上存在读取锁定时的时间段。举例来说,裸片锁定管理器118使用裸片识别符查找指示何时起始读取锁定的时间戳(代替读取锁定计数)。裸片锁定管理器随后可将从所述时间戳起经过的时间量与读取阈值时间段进行比较。如果确定裸片上的读取锁定计数或对应时间量已达到或超过读取阈值,那么在操作435处,裸片锁定管理器118将读取操作添加到读取锁定队列以在稍后时间点执行。举例来说,在完成已经取决于读取锁定的读取操作并且释放读取锁定(例如,在完成每个准备好执行的读取操作之后使读取锁定计数递减直到读取锁定计数返回到零为止)之后,裸片锁定管理器118即刻可服务传入写入操作或写入锁定队列中的待处理写入操作。
通过在裸片上获得读取锁定并且维持所述读取锁定高达读取阈值,裸片锁定管理器118可确保裸片被锁定为在执行可有可能是超长操作的另一操作(例如传入写入操作)之前执行特定数目的读取操作。这可减少在混合工作负载期间与执行读取/写入操作相关联的时延。在实施例中,读取锁定队列和写入锁定队列是受裸片锁定管理器118管理并且存储于存储器子系统110的控制器存储器119中的数据结构。所述队列还可保持于存储器组件112A-112N中的一个中。
如果裸片锁定管理器118在操作415处确定在裸片上不存在读取锁定,那么在操作425处,裸片锁定管理器118将裸片锁定为用于读取。如果在操作420处,处理装置确定裸片的读取锁定计数尚未达到读取阈值或在操作425处锁定裸片之后,则在操作430处,裸片锁定管理器118使读取锁定计数递增。在操作440处,处理装置在操作440处执行读取操作并且在操作445处返回读取操作的结果(例如,返回给主机系统120)。
在某些实施例中,在执行读取操作之后,处理装置在操作450处再次确定读取锁定计数是否已达到读取阈值。如果读取锁定计数尚未达到读取阈值,那么在操作460处,处理装置视需要使用同一读取锁定处理另一读取命令。如果裸片上的读取锁定计数已达到或超过读取阈值,那么在操作455处,处理装置在释放裸片上的读取锁定之前等待裸片上的读取锁定计数达到零为止。
在某些实施例中,处理装置在处理来自主机系统的传入读取或写入命令(例如,在操作305处接收到)之前,将裸片上的待执行的任何待处理读取操作(例如待处理读取页请求)进行优先级排序并且进行处理。在一些实例中,待处理读取操作存储于受裸片锁定管理器118管理的读取锁定队列中。如果在裸片上存在现有写入锁定,那么裸片锁定管理器118起始待处理写入操作的暂停,使裸片上的写入锁定计数递减并且当写入锁定计数达到零时,执行来自读取队列的待处理读取请求。
图5是根据本公开的另一实施例的由处理装置执行的实例方法500的流程图。方法500可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法500是由图1的裸片锁定管理器118执行。虽然以特定顺序或次序来展示,但是除非另有指定,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
在框505处,在接收到写入命令之后,处理装置即刻确定存储器组件112是否已被锁定为用于写入(即,在裸片上存在写入锁定)。举例来说,裸片锁定管理器118使用裸片识别符在裸片锁定表115中查找写入锁定状态。如果在裸片上存在写入锁定,那么在操作510处处理装置将写入命令添加到写入锁定队列。如上所述,处理装置可每当处理装置准备好执行来自写入锁定队列的写入命令时(例如,在从写入锁定队列中拉取写入命令之后)使裸片上的写入锁定计数递增。因而,处理装置可处理存储于写入锁定队列中的多种请求,包含主机写入请求、垃圾收集/耗损均衡写入请求、擦除请求或重定位请求。
如果裸片尚未被锁定用于写入,那么在操作515处,处理装置确定裸片是否已被锁定用于读取(即,在裸片上存在读取锁定)。举例来说,裸片锁定管理器118使用裸片识别符在裸片锁定表115中查找读取锁定状态。如果在裸片上不存在读取锁定,那么处理装置在操作525处将裸片锁定为执行写入操作。在操作530处,处理装置执行写入操作并且在操作535处,返回写入操作的结果(例如,返回给主机系统120)。
如果在裸片上存在读取锁定,那么在操作520处,处理装置将写入操作添加到写入锁定队列并且等待释放裸片上的读取锁定。当裸片上的读取锁定被释放时,处理装置在操作530处将裸片锁定为执行写入操作并且在操作535处,返回写入操作的结果(例如,返回给主机系统120)。
图6说明计算机系统600的实例机器,可在其内执行用于使得机器进行本文中所论述的方法中的任何一或多种的指令集。在一些实施例中,计算机系统600可对应于主机系统(例如,图1的主机系统120),其包含、耦合到或使用存储器子系统(例如,图1的存储器子系统110)或可用以执行控制器的操作(例如,以执行操作系统从而执行对应于图1的裸片锁定管理器118的操作)。在替代性实施例中,机器可连接(例如联网)到LAN、内联网、外联网和/或因特网中的其它机器。机器可作为对等(或分布式)网络环境中的对等机器或作为云计算基础设施或环境中的服务器或客户端机器而以客户端-服务器网络环境中的服务器或客户端机器的容量进行操作。
所述机器可以是个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝式电话、网络器具、服务器、网络路由器、交换机或桥接器,或能够执行(依序或以其它方式)指定将由所述机器采取的动作的指令集的任何机器。另外,尽管说明单个机器,但还应认为术语“机器”包含机器的任何集合,所述集合单独地或共同地执行一(或多)个指令集以进行本文中所论述的方法中的任何一或多种。
实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM)例如同步DRAM(SDRAM)或Rambus DRAM(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的裸片锁定管理器118的功能性的指令。尽管在实例实施例中机器可读存储媒体624展示为单个媒体,但是应认为术语“机器可读存储媒体”包含存储一或多个指令集的单个媒体或多个媒体。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”因此应被视为包含但不限于固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。本公开可以指操控和变换计算机系统的寄存器和存储器内的表示为物理(电子)数量的数据为计算机系统存储器或寄存器或其它这类信息存储系统内的类似地表示为物理量的其它数据的计算机系统或类似电子计算装置的动作和过程。
本公开还涉及用于执行本文中的操作的设备。此设备可以出于所需目的而专门构造,或其可以包含通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。举例来说,计算机系统或其它数据处理系统(例如控制器115)可响应于其处理器执行含于存储器或其它非暂时性机器可读存储媒体中的计算机程序(例如,指令序列),执行在图3、图4和图5中描述的计算机实施的方法这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM以及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自连接到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或所述通用系统可以证明为便于构造以用以执行所述方法更加专用的设备。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。在一些实施例中,机器可读(例如计算机可读)媒体包含机器(例如计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器组件等。
在前述说明书中,本公开的实施例已经参照其特定实例实施例进行描述。将显而易见的是,可在不脱离如所附权利要求书中阐述的本公开的实施例的更广精神和范围的情况下对本公开进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (17)
1.一种用于存储器管理的方法,其包括:
从主机系统接收第一命令,所述第一命令对应于包含第一地址的第一读取操作;
确定媒体的映射到所述第一地址的存储器组件;
确定在所述存储器组件上存在读取锁定;
确定取决于所述读取锁定的读取操作计数已达到读取阈值,其中所述读取阈值对应于当在所述存储器组件上存在读取锁定时,能够在所述存储器组件上执行的读取操作的数目;
响应于所述读取操作计数达到所述读取阈值,将所述第一读取操作添加到读取锁定队列;和
响应于所述读取操作计数达到所述读取阈值,在所述第一读取操作之前执行第一写入操作。
2.根据权利要求1所述的方法,其另外包括响应于所述读取操作计数达到所述读取阈值而释放所述存储器组件上的所述读取锁定。
3.根据权利要求1所述的方法,其另外包括:
接收第二命令,所述第二命令对应于包含第二地址的第二读取操作;
确定媒体的所述存储器组件映射到所述第二地址;
确定在所述存储器组件上存在所述读取锁定;
确定取决于所述读取锁定的所述读取操作计数尚未达到所述读取阈值;和
响应于确定所述读取操作计数尚未达到所述读取阈值,执行所述第二读取操作。
4.根据权利要求1所述的方法,其另外包括:
接收第三命令,所述第三命令对应于第二写入操作,所述第二写入操作包含第三地址;
确定媒体的所述存储器组件映射到所述第三地址;
确定在所述存储器组件上不存在读取锁定;
响应于确定在所述存储器组件上不存在读取锁定,锁定所述存储器组件以在所述存储器组件上获得写入锁定;和
执行所述第二写入操作。
5.根据权利要求1所述的方法,其另外包括:
接收第三命令,所述第三命令对应于第二写入操作,所述第二写入操作包含第三地址;
确定媒体的所述存储器组件映射到所述第三地址;
确定在所述存储器组件上存在所述读取锁定;
将所述第二写入操作添加到写入锁定队列;
确定已释放所述存储器组件上的所述读取锁定;
在所述存储器组件上获得写入锁定;和
执行所述第二写入操作。
6.根据权利要求1所述的方法,其另外包括:
接收第二命令,所述第二命令对应于包含第二地址的第二读取操作;
确定媒体的所述存储器组件映射到所述第二地址;
确定在所述存储器组件上存在所述读取锁定;
确定取决于所述读取锁定的所述读取操作计数尚未达到所述读取阈值;和
响应于确定所述读取操作计数尚未达到所述读取阈值,使取决于所述读取锁定的所述读取操作计数递增。
7.一种包括指令的非暂时性计算机可读存储媒体,所述指令当由处理装置执行时,致使所述处理装置:
接收第一命令,所述第一命令对应于包含第一地址的第一读取操作;
确定媒体的映射到所述第一地址的存储器组件;
确定在所述存储器组件上存在读取锁定;
确定取决于所述读取锁定的读取操作计数已达到读取阈值,其中所述读取阈值对应于当在所述存储器组件上存在读取锁定时,能够在所述存储器组件上执行的读取操作的数目;
响应于所述读取操作计数达到所述读取阈值,将所述第一读取操作添加到读取锁定队列;和
响应于所述读取操作计数达到所述读取阈值,在所述第一读取操作之前执行第一写入操作。
8.根据权利要求7所述的非暂时性计算机可读存储媒体,其中所述处理装置被进一步配置成响应于所述读取操作计数达到所述读取阈值而释放所述存储器组件上的所述读取锁定。
9.根据权利要求7所述的非暂时性计算机可读存储媒体,其中所述处理装置被进一步配置成:
接收第二命令,所述第二命令对应于包含第二地址的第二读取操作;
确定媒体的所述存储器组件映射到所述第二地址;
确定在所述存储器组件上存在所述读取锁定;
确定取决于所述读取锁定的所述读取操作计数尚未达到所述读取阈值;和
响应于确定所述读取操作计数尚未达到所述读取阈值,执行所述第二读取操作。
10.根据权利要求7所述的非暂时性计算机可读存储媒体,其中所述处理装置被进一步配置成:
接收第三命令,所述第三命令对应于第二写入操作,所述第二写入操作包含第三地址;
确定媒体的所述存储器组件映射到所述第三地址;
确定在所述存储器组件上不存在读取锁定;
响应于确定在所述存储器组件上不存在读取锁定,锁定所述存储器组件以在所述存储器组件上获得写入锁定;和
执行所述第二写入操作。
11.根据权利要求7所述的非暂时性计算机可读存储媒体,其中所述处理装置被进一步配置成:
接收第三命令,所述第三命令对应于第二写入操作,所述第二写入操作包含第三地址;
确定媒体的所述存储器组件映射到所述第三地址;
确定在所述存储器组件上存在所述读取锁定;
将所述第二写入操作添加到写入锁定队列;
确定已释放所述存储器组件上的所述读取锁定;
在所述存储器组件上获得写入锁定;和
执行所述第二写入操作。
12.根据权利要求7所述的非暂时性计算机可读存储媒体,其中所述处理装置被进一步配置成:
接收第二命令,所述第二命令对应于包含第二地址的第二读取操作;
确定媒体的所述存储器组件映射到所述第二地址;
确定在所述存储器组件上存在所述读取锁定;
确定取决于所述读取锁定的所述读取操作计数尚未达到所述读取阈值;和
响应于确定所述读取操作计数尚未达到所述读取阈值,使取决于所述读取锁定的所述读取操作计数递增。
13.一种用于存储器管理的系统,其包括:
存储器组件;和
处理装置,其以可操作方式与所述存储器组件耦合以进行以下操作:
接收第一命令,所述第一命令对应于包含第一地址的第一读取操作;
确定媒体的映射到所述第一地址的存储器组件;
确定在所述存储器组件上存在读取锁定;
确定取决于所述读取锁定的读取操作计数已达到读取阈值,其中所述读取阈值对应于当在所述存储器组件上存在读取锁定时,能够在所述存储器组件上执行的读取操作的数目;
响应于所述读取操作计数达到所述读取阈值,将所述第一读取操作添加到读取锁定队列;和
响应于所述读取操作计数达到所述读取阈值,在所述第一读取操作之前执行第一写入操作。
14.根据权利要求13所述的系统,其中所述处理装置被进一步配置成响应于所述读取操作计数达到所述读取阈值而释放所述存储器组件上的所述读取锁定。
15.根据权利要求13所述的系统,其中所述处理装置被进一步配置成:
接收第二命令,所述第二命令对应于包含第二地址的第二读取操作;
确定媒体的所述存储器组件映射到所述第二地址;
确定在所述存储器组件上存在所述读取锁定;
确定取决于所述读取锁定的所述读取操作计数尚未达到所述读取阈值;和
响应于确定所述读取操作计数尚未达到所述读取阈值,执行所述第二读取操作。
16.根据权利要求13所述的系统,其中所述处理装置被进一步配置成:
接收第三命令,所述第三命令对应于第二写入操作,所述第二写入操作包含第三地址;
确定媒体的所述存储器组件映射到所述第三地址;
确定在所述存储器组件上不存在读取锁定;
响应于确定在所述存储器组件上不存在读取锁定,锁定所述存储器组件以在所述存储器组件上获得写入锁定;和
执行所述第二写入操作。
17.根据权利要求13所述的系统,其中所述处理装置被进一步配置成:
接收第二命令,所述第二命令对应于包含第二地址的第二读取操作;
确定媒体的所述存储器组件映射到所述第二地址;
确定在所述存储器组件上存在所述读取锁定;
确定取决于所述读取锁定的所述读取操作计数尚未达到所述读取阈值;和
响应于确定所述读取操作计数尚未达到所述读取阈值,使取决于所述读取锁定的所述读取操作计数递增。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/506,875 US10860388B1 (en) | 2019-07-09 | 2019-07-09 | Lock management for memory subsystems |
US16/506,875 | 2019-07-09 | ||
PCT/US2020/039396 WO2021007032A1 (en) | 2019-07-09 | 2020-06-24 | Lock management for memory subsystems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113939797A CN113939797A (zh) | 2022-01-14 |
CN113939797B true CN113939797B (zh) | 2022-12-06 |
Family
ID=73653553
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080042381.3A Active CN113939797B (zh) | 2019-07-09 | 2020-06-24 | 用于存储器子系统的锁定管理 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10860388B1 (zh) |
CN (1) | CN113939797B (zh) |
WO (1) | WO2021007032A1 (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012872A (zh) * | 2010-11-24 | 2011-04-13 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04507019A (ja) | 1989-07-26 | 1992-12-03 | マサチユセツツ・インスチチユート・オブ・テクノロジー | 非繁忙待機資源制御 |
AU1091295A (en) * | 1993-11-09 | 1995-05-29 | Kenneth H. Conner | First come memory accessing without conflict |
US7430627B2 (en) * | 2000-12-19 | 2008-09-30 | International Business Machines Corporation | Adaptive reader-writer lock |
US6785793B2 (en) * | 2001-09-27 | 2004-08-31 | Intel Corporation | Method and apparatus for memory access scheduling to reduce memory access latency |
US7631097B2 (en) * | 2005-07-21 | 2009-12-08 | National Instruments Corporation | Method and apparatus for optimizing the responsiveness and throughput of a system performing packetized data transfers using a transfer count mark |
US20080126641A1 (en) * | 2006-08-31 | 2008-05-29 | Irish John D | Methods and Apparatus for Combining Commands Prior to Issuing the Commands on a Bus |
US8508995B2 (en) * | 2010-09-15 | 2013-08-13 | Densbits Technologies Ltd. | System and method for adjusting read voltage thresholds in memories |
US9501332B2 (en) * | 2012-12-20 | 2016-11-22 | Qualcomm Incorporated | System and method to reset a lock indication |
WO2015055083A1 (en) * | 2013-10-14 | 2015-04-23 | International Business Machines Corporation | Adaptive process for data sharing with selection of lock elision and locking |
JP6179369B2 (ja) * | 2013-11-22 | 2017-08-16 | 富士通株式会社 | 演算処理装置及び演算処理装置の制御方法 |
KR20150096220A (ko) * | 2014-02-14 | 2015-08-24 | 삼성전자주식회사 | 스토리지 장치 및 스토리지 장치의 동작 방법 |
KR101814577B1 (ko) | 2015-10-16 | 2018-01-03 | 삼성전자주식회사 | 프로세싱-인-메모리를 이용한 명령어 처리 방법 및 그 장치 |
US10067880B2 (en) * | 2016-02-29 | 2018-09-04 | International Business Machines Corporation | Dynamic tier remapping of data stored in a hybrid storage system |
US10248564B2 (en) * | 2016-06-24 | 2019-04-02 | Advanced Micro Devices, Inc. | Contended lock request elision scheme |
US20180121371A1 (en) * | 2016-11-01 | 2018-05-03 | Hewlett Packard Enterprise Development Lp | Reading by user-level processes |
KR20180059208A (ko) * | 2016-11-25 | 2018-06-04 | 삼성전자주식회사 | 리클레임 제어부를 갖는 메모리 콘트롤러 및 그에 따른 동작 제어 방법 |
CN108628761B (zh) | 2017-03-16 | 2022-04-22 | 北京忆恒创源科技股份有限公司 | 原子命令执行方法与装置 |
US10223032B2 (en) | 2017-04-28 | 2019-03-05 | International Business Machines Corporation | Queue control for shared memory access |
CN108984312B (zh) * | 2017-06-02 | 2022-03-25 | 伊姆西Ip控股有限责任公司 | 数据读写的方法和设备 |
CN109739443B (zh) | 2019-01-08 | 2022-02-18 | 郑州云海信息技术有限公司 | 一种ssd混合读写的方法、装置、设备及存储介质 |
-
2019
- 2019-07-09 US US16/506,875 patent/US10860388B1/en active Active
-
2020
- 2020-06-24 WO PCT/US2020/039396 patent/WO2021007032A1/en active Application Filing
- 2020-06-24 CN CN202080042381.3A patent/CN113939797B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102012872A (zh) * | 2010-11-24 | 2011-04-13 | 烽火通信科技股份有限公司 | 一种用于嵌入式系统的二级缓存控制方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US10860388B1 (en) | 2020-12-08 |
WO2021007032A1 (en) | 2021-01-14 |
CN113939797A (zh) | 2022-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10782916B2 (en) | Proactive return of write credits in a memory system | |
US11348636B2 (en) | On-demand high performance mode for memory write commands | |
CN113168875A (zh) | 读取干扰扫描合并 | |
CN112805676B (zh) | 基于数据总线模式对读取操作和写入操作的调度 | |
US20230161509A1 (en) | Dynamic selection of cores for processing responses | |
CN114341985A (zh) | 依序slc读取优化 | |
CN113448509A (zh) | 用于服务质量设计的读取计数器 | |
CN115905057A (zh) | 存储器装置中用于媒体管理命令的高效缓冲器管理 | |
CN115543186A (zh) | 使用命令序列分析管理存储器命令引擎 | |
US20220050772A1 (en) | Data block switching at a memory sub-system | |
US11699498B2 (en) | Managing probabilistic data integrity scan intervals | |
US20210019181A1 (en) | Internal management traffic regulation for memory sub-systems | |
CN113939797B (zh) | 用于存储器子系统的锁定管理 | |
CN114981894A (zh) | 电容器健康检查 | |
CN113126906A (zh) | 用于存储器装置的元数据指示 | |
CN113129974A (zh) | 跟踪在存储器装置处执行的操作 | |
US11899948B2 (en) | Performance control for a memory sub-system | |
CN113094293B (zh) | 存储器系统及相关方法和计算机可读存储介质 | |
US11221949B2 (en) | Multi state purgatory for media management for a memory subsystem | |
CN113424165B (zh) | 在存储器子系统处的编程操作的中断 | |
US20220179563A1 (en) | Reducing probabilistic data integrity scan collisions | |
CN112231252A (zh) | 用于存储器子系统的内部管理业务调节 | |
CN115202571A (zh) | 用于存储器管理的方法、设备及系统 | |
CN115132251A (zh) | 存储器子系统中的存储器装置的所有级别的动态开始电压编程 | |
CN115512749A (zh) | 部分经编程存储器单元的擦除 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |