CN114174977A - 改进对存储器子系统中的主机起始的请求的处置 - Google Patents
改进对存储器子系统中的主机起始的请求的处置 Download PDFInfo
- Publication number
- CN114174977A CN114174977A CN202080054426.9A CN202080054426A CN114174977A CN 114174977 A CN114174977 A CN 114174977A CN 202080054426 A CN202080054426 A CN 202080054426A CN 114174977 A CN114174977 A CN 114174977A
- Authority
- CN
- China
- Prior art keywords
- media management
- memory
- host system
- scan
- memory component
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 230000015654 memory Effects 0.000 title claims abstract description 198
- 238000012545 processing Methods 0.000 claims description 46
- 238000000034 method Methods 0.000 claims description 43
- 230000004044 response Effects 0.000 claims description 13
- 238000012937 correction Methods 0.000 claims description 4
- 238000007726 management method Methods 0.000 description 58
- 238000003860 storage Methods 0.000 description 20
- 230000008569 process Effects 0.000 description 11
- 238000010586 diagram Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 5
- 230000002411 adverse Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000012092 media component Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
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/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)
- 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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
在媒体管理扫描正在存储器子系统中的存储器组件上进行时,从主机系统接收一或多个请求。暂停正在进行的所述媒体管理扫描。服务于从所述主机系统接收的所述请求。一旦所述主机系统经服务,便重新开始所述存储器组件上的所述媒体管理扫描。
Description
技术领域
本公开大体上涉及存储器子系统,且更具体来说,涉及服务于从主机系统接收的高优先级读取和/或写入请求。
背景技术
存储器子系统可为存储系统、存储器模块或存储装置和存储器模块的混合。存储器子系统可以包含一或多个存储数据的存储器组件。存储器组件可以例如是非易失性存储器组件和易失性存储器组件。一般来说,主机系统可以利用存储器子系统以在存储器组件处存储数据且从存储器组件检索数据。
附图说明
根据下文给出的详细描述和本公开的各种实施方案的附图,将更充分地理解本公开。
图1说明根据本公开的一些实施例的包含存储器子系统的实例计算环境。
图2是根据本公开的实施例的服务于从主机系统接收的一或多个请求的实例方法的流程图。
图3是根据本公开的一些实施例的做出是否暂时中止存储器子系统中的进行中的媒体管理扫描的决策的实例方法的流程图。
图4是本公开的实施方案可在其中操作的实例计算机系统的框图。
具体实施方式
本公开的方面针对于通过使用与存储器子系统中正在使用的存储器组件的类型相关联的标准数据表命令服务于高优先级读取和/或写入请求,改进对存储器子系统中的主机起始的请求的处置。存储器子系统可以是存储装置、存储器模块,或存储装置和存储器模块的混合。下文结合图1描述存储装置和存储器模块的实例。一般来说,主机系统可利用包含一或多个存储器组件(下文还称为“存储器装置”)的存储器子系统。主机系统可提供数据以存储于存储器子系统处,且可请求从存储器子系统检索数据。
存储器子系统周期性地经历调度的媒体管理扫描,其中检查存储器组件的完整性以确定对存储于存储器子系统中的数据的错误校正需求。周期性媒体管理扫描可在后台运行而与存储器子系统是否目前正在服务于从主机系统接收的作用中请求(例如,读取和/或写入请求)无关。在常规存储器系统中,不存在用于使从主机系统接收的请求的优先级高于从其它组件接收的请求(例如由存储器子系统内的控制器起始的媒体管理扫描请求)的优先级的有效机制。从主机系统接收的请求被视为高优先级请求。在常规系统中,调度器将高优先级请求与例如媒体管理扫描请求的其它请求放置于同一队列中,因此,这可不利地影响时延,继而不利地冲击系统的整体服务质量(QoS)。QoS是经常用于描述系统内的命令时延分布的常见行业术语。在常规系统中,优先化主机请求(例如,从主机系统接收的读取请求)以改进QoS可通过管理固件行为,或通过时间上多路复用主机读取业务与媒体管理扫描来实现。然而,这些方法不提供存储器组件层级的细粒度控制。
本公开的方面通过允许进行中的媒体管理扫描暂时中止以便适应从主机系统接收的较高优先级读取/写入请求来解决以上和其它缺陷。基于存储器子系统中使用的存储器组件的类型的标准数据表命令(即,用以编程存储器组件的标准命令)用以达成对时延的组件层级的细粒度控制。
本公开的优点是当使用标准数据表命令暂时中止进行中的媒体管理扫描时,存储器组件的多个其它装置配置设置保持不变。因此,暂时中止进行中的媒体管理扫描带来最小性能损失。
图1示出根据本公开的一些实施例的包含存储器子系统110的实例计算环境100。存储器子系统110可包含媒体,例如存储器组件112A到112N。存储器组件112A到112N可以是易失性存储器组件、非易失性存储器组件或其组合。存储器子系统110可为存储装置、存储器模块,或存储装置和存储器模块的混合。存储装置的实例包含固态驱动器(SSD)、快闪驱动器、通用串行总线(USB)快闪驱动器、嵌入式多媒体控制器(eMMC)驱动器、通用快闪存储(UFS)驱动器以及硬盘驱动器(HDD)。存储器模块的实例包含双列直插式存储器模块(DIMM)、小型DIMM(SO-DIMM)和非易失性双列直插式存储器模块(NVDIMM)。
计算环境100可包含耦合到一或多个存储器子系统110的主机系统120。在一些实施例中,主机系统120耦合到不同类型的存储器子系统110。图1说明耦合到一个存储器子系统110的主机系统120的一个实例。主机系统120使用例如存储器子系统110将数据写入到存储器子系统110并从存储器子系统110读取数据。如本文中所使用,“耦合到”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如不具有介入组件),无论有线或无线,包含例如电连接、光学连接、磁连接等连接。
主机系统120可以是计算装置,例如台式计算机、手提式计算机、网络服务器、移动装置、嵌入式计算机(例如,包含在车辆、工业设备或联网的商业装置中的计算机),或包含存储器和处理装置的此类计算装置。主机系统120可包含或耦合到存储器子系统110使得主机系统120可从存储器子系统110读取数据或将数据写入到存储器子系统110。主机系统120可经由物理主机接口耦合到存储器子系统110。如本文所使用,“耦合到”或“与……耦合”通常是指组件之间的连接,其可以是间接通信连接或直接通信连接(例如,没有中间组件),无论是有线还是无线的,包含例如电连接、光学连接、磁连接等的连接。物理主机接口的实例包含但不限于串行高级技术附件(SATA)接口、外围组件互连高速(PCIe)接口、通用串行总线(USB)接口、光纤通道、串行连接的SCSI(SAS)等。物理主机接口可用于在主机系统120与存储器子系统110之间发射数据。当存储器子系统110通过PCIe接口与主机系统120耦合时,主机系统120可进一步利用NVM高速(NVMe)接口存取存储器组件112A到112N。物理主机接口可提供用于在存储器子系统110与主机系统120之间传送控制、地址、数据和其它信号的接口。
存储器组件112A到112N可以包含不同类型的非易失性存储器组件和/或易失性存储器组件的任何组合。非易失性存储器组件的实例包含“与非”(NAND)类型快闪存储器。存储器组件112A到112N中的每一个可包含一或多个存储器单元阵列,如单层级单元(SLC)或多层级单元(MLC)(例如,三层级单元(TLC)或四层级单元(QLC))。在一些实施例中,特定存储器组件可以包含存储器单元的SLC部分和MLC部分两者。存储器单元中的每一个可存储供主机系统120使用的一或多个数据位。虽然描述如NAND类型快闪存储器的非易失性存储器组件,但存储器组件112A到112N可基于任何其它类型的存储器,如易失性存储器。在一些实施例中,存储器组件112A到112N可以是(但不限于)随机存取存储器(RAM)、只读存储器(ROM)、动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)、相变存储器(PCM)、磁随机存取存储器(MRAM)、“或非”(NOR)快闪存储器、电可擦除可编程只读存储器(EEPROM)以及非易失性存储器单元的交叉点阵列。非易失性存储器的交叉点阵列可结合可堆叠交叉网格化数据存取阵列而基于体电阻的改变来进行位存储。另外,与许多基于闪存的存储器对比,交叉点非易失性存储器可执行就地写入操作,其中可在不预先擦除非易失性存储器单元的情况下对非易失性存储器单元进行编程。此外,存储器组件112A到112N的存储器单元可分组为存储器页或块,所述存储器页或块可指代用于存储数据的存储器组件单位。应注意,本公开中描述的技术不知道正在使用什么类型的存储器技术。
存储器系统控制器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。
存储器子系统110包含调度器/中断器组件113,其可使主机起始的请求的优先级高于调度的媒体管理扫描的优先级。在一些实施例中,控制器115包含调度器/中断器组件113的至少一部分。举例来说,控制器115可包含被配置成执行存储于本地存储器119中的指令以用于执行本文所描述的操作的处理器117(处理装置)。
调度器/中断器组件113可从主机系统接收一或多个请求(即,主机起始的请求)。主机起始的请求可由主机系统120发送并且可指示将对存储器子系统110的存储器组件112A到112N执行的一或多个存储器操作(例如,读取操作、写入操作等)。调度器/中断器组件113可辨识这些主机起始的请求与媒体管理扫描请求相比优先级较高。可调度媒体管理扫描。举例来说,用于执行媒体管理扫描的调度可编程到控制器115的处理逻辑(例如,固件)中。调度器/中断器组件113可基于从主机系统接收的较高优先级的读取/写入请求而暂时中止进行中的媒体管理扫描。下文描述关于调度器/中断器组件113的操作的另外细节。
图2是用以服务于由存储器子系统从主机系统接收的请求的实例方法200的流程图。方法200可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令)或其组合。在一些实施例中,方法200可由图1的控制器115的调度器/中断器组件113和处理器117执行。
在操作210处,处理装置从主机系统接收请求。可在媒体管理扫描正在特定存储器组件(例如主机起始的请求导向的存储器组件112)上进行时接收到主机起始的请求。主机起始的请求可为读取请求、写入请求或混合式读取/写入请求(即,其中读取请求和写入请求交织)。存储器子系统可通过周期性地读取媒体组件以扫描各种类型的错误来积极管理媒体错误。举例来说,在基于NAND快闪存储器的SSD中,包含在存储器子系统中的处理逻辑可周期性地运行完整性扫描(媒体管理扫描的类型)以检查位错误。在图1中,处理器117可执行媒体管理扫描算法。运行媒体管理扫描的周期性可预编程或可为可配置的。随着存储器组件中的位密度增加(例如,在基于QLC的NAND中),媒体管理扫描算法需要通过更频繁地执行媒体管理扫描来管理较高可能性的位错误,这可引起必须在非空闲时间期间,即在当存储器子系统服务于主机起始的请求时的时间段期间运行媒体管理扫描。因此,随着位密度增加,对于某些类型的存储器子系统,媒体管理扫描请求与主机起始的请求发生冲突的概率增加。当主机请求的数据物理上处于目前正被扫描的存储器组件上时,媒体管理扫描请求与主机起始的请求可发生‘冲突’。应注意,调度器/中断器组件113可与调度的媒体管理扫描异步地调度对主机起始的请求的服务以避免冲突,即当不调度媒体管理扫描时服务主机起始的请求。在实施例中,固件调度机制(例如,由调度器/中断器组件113执行的代码)可通过各种方法,例如通过基于时间的周期性间隔、通过将对物理媒体方位的主机读取的数目计数,或以上的组合来起始媒体管理扫描。由于固件本身已起始扫描,因此存储器子系统知道控制器忙于执行媒体管理扫描且因此无法执行服务于主机起始的请求的新操作。然而,如果进行中的媒体管理扫描暂时中止,那么可更早服务于主机起始的请求,这会使主机受益于更短命令时延。应注意,本公开不限于先验地调度的媒体管理扫描。
在操作220处,处理装置暂时中止正在进行的媒体管理扫描。在一些实施例中,暂时中止媒体管理扫描涉及暂停进行中的媒体管理扫描并且维持直到扫描被暂停时的时间已经扫描存储器组件的记录。在其它实施例中,暂时中止媒体管理扫描涉及完全停止目前进行中的扫描。在实施例中,暂时中止扫描的机制是通过发出媒体重置命令。媒体重置命令包括取决于使用的存储器组件类型的标准数据表命令。举例来说,在基于NAND的实施例中,媒体重置命令是标准NAND重置命令,其保存多个NAND配置设置(即,特征地址的值)。这实际上意味着调度器/中断器组件113将主机起始的请求处理为较高优先级请求并且来主机起始的请求置于媒体管理扫描请求上方。
在操作230处,处理装置服务于从主机系统接收的一或多个请求。服务意指将存储于媒体中的所请求的数据提供给主机系统或将从主机系统接收的数据写入到媒体。在实施例中,在操作220处发出的媒体重置命令确保存储器子系统的处理逻辑(例如,固件)可更快速地服务于主机起始的请求而非等待进行中的媒体管理扫描完成。在使用高密度NAND(例如基于QLC的媒体)的实例实施例中,页读取时间可多达200μs或更多。因此,暂时中止进行中的媒体管理扫描以服务于主机读取可显著降低时延。
在操作240处,响应于确定从主机系统接收的请求经服务,处理装置重新开始媒体管理扫描。主机系统可将应答信号发送到处理装置,基于所述应答信号,处理装置可确定主机起始的请求已被服务。在一些实施例中,重新开始媒体管理扫描可意味着从暂停扫描的先前点开始媒体管理扫描(在记录可用于指示哪些存储器组件已经扫描的情况下)。在其它实施例中,重新开始媒体管理扫描可意味着再度开始媒体管理扫描而与在媒体管理扫描暂停的时间已经扫描的存储器组件无关。在其中使用标准数据表命令(例如,重置命令)暂停媒体管理扫描的实施例中,配置设置保持完整,且控制器可仅将新读取命令发到存储器组件,这实际上从暂停扫描的先前点重新开始扫描。
图3是用于确定是暂时中止存储器子系统中的进行中的媒体管理扫描还是允许进行中的媒体管理扫描完成的实例方法300的流程图。方法300可由处理逻辑执行,所述处理逻辑可包含硬件(例如,处理装置、电路系统、专用逻辑、可编程逻辑、微码、装置的硬件、集成电路等)、软件(例如,在处理装置上运行或执行的指令),或其组合。在一些实施例中,方法300可由图1的调度器/中断器组件113和处理器117执行。
在操作310处,处理装置在媒体管理扫描正在进行时从主机系统接收请求。
在操作320处,调度器/中断器组件113在媒体管理扫描正在存储器组件上进行时识别与从主机系统接收的请求相关联的参数。QoS参数可以调度器/中断器组件113可识别的格式嵌入于主机起始的请求中,使得调度器/中断器组件113将从主机接收的任何请求处理为与媒体管理扫描请求相比具有较高优先级的请求,并且建立关于QoS参数的阈值准则。举例来说,关于QoS参数的阈值准则可基于时延值,原因是QoS取决于时延。时延是主机系统请求数据与从存储器子系统的存储器组件接收到所请求的数据之间的延迟。如果确定的时延值低于维持QoS所需的最大可允许时延值,那么满足关于QoS参数的阈值准则。然而,如果确定的时延值超过最大可允许时延值,那么不满足阈值准则,这指示不利地影响QoS。
在操作330处,处理装置确定在允许在服务于主机系统之前完成进行中的媒体管理扫描的情况下(即,在调度器/中断器组件113不为适应传入的主机起始的请求排在媒体管理扫描之前而重排队列的情况下)的假想时延值。可由图1中的处理器117基于从调度器/中断器组件113接收的输入来执行此确定。在一个实施方案中,为了确定时延,处理装置可确定已经完成了媒体管理扫描的什么部分。举例来说,在实施例中,处理装置可确定调度的正在进行的媒体管理扫描的已经完成的一部分。由于处理逻辑知道正在读取哪个存储器页,因此还知道期望的读取持续时间。处理逻辑可做出确定媒体管理扫描是否较接近于完成,或用于存储器页的读取操作是否趋向于开始的决策。此确定可由图1中的处理器117执行。
处理装置可使媒体管理扫描的剩余部分与对应时延值相关。在一个实施方案中,数据结构(例如,表、阵列、记录等)存储于本地存储器119中以列举对应于媒体管理扫描的完成百分比的相应时延值。在一个实施方案中,调度器/中断器组件113从所述数据结构识别对应的扫描完成百分比以读出适用时延值。
在操作340处,处理装置确定所述时延是否满足关于与主机起始的请求相关联的QoS参数的阈值准则。
响应于确定(在操作340处)所确定的时延确实满足关于QoS参数的阈值准则,处理装置允许在服务于主机系统之前完成进行中的媒体管理扫描(在操作350处)。如上文所描述,当所确定的时延满足关于QoS参数的阈值准则时,不需要暂时中止进行中的媒体管理扫描,原因是QoS不受影响,即仍在可接受的时间内服务于主机起始的请求,允许完成进行中的扫描不会带来性能损失。
另一方面,响应于确定(在操作340处)所确定的时延不满足关于QoS参数的阈值准则(即,所确定的时延长度足以不利地影响QoS),在操作360处,处理装置暂时中止进行中的媒体管理扫描以服务于主机系统,如方法200的操作220-240。
本领域的普通技术人员将理解,虽然图2-3中的流程图示出特定顺序或次序,但除非另外说明,否则可修改过程的次序。因此,应理解,所说明实施例仅为实例,且所说明过程可以不同次序进行,且一些过程可并行地进行。另外,在各个实施例中可以省略一或多个过程。因此,在每个实施例中并不需要所有过程。其它过程流程也是可能的。
图4说明计算机系统400的实例机器,在所述实例机器内可执行用于使得所述机器执行本文中所论述的方法中的任何一或多个的指令集。举例来说,计算机系统400可包含或利用存储装置(例如,图1的存储装置110)或可用以执行控制器的操作(例如,以执行操作系统来执行对应于图1的调度器/中断器组件113的操作)。在替代实施方案中,所述机器可以连接(例如,联网)到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上通信。计算机系统400还可包含视频显示单元410(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入装置412(例如,键盘)、光标控制装置414(例如,鼠标)、图形处理单元422、信号生成装置416(例如,扬声器)、图形处理单元422、视频处理单元428和音频处理单元432。
数据存储装置418可包含机器可读存储媒体424(也称为计算机可读媒体),其上存储有体现本文中所描述的方法或功能中的任一或多种的一或多个指令集或软件426。指令426还可在由计算机系统400执行期间完全或至少部分地驻存在主存储器404内和/或处理装置402内,主存储器404和处理装置402也构成机器可读存储媒体。机器可读存储媒体424、数据存储装置418和/或主存储器404可对应于图1的存储装置110。
在一个实施方案中,指令426包含用于实施对应于具体组件(例如,图1的调度器/中断器组件113)的功能性的指令。尽管机器可读存储媒体424在实例实施方案中展示为单个媒体,但术语“机器可读存储媒体”应被认为包含存储所述一或多个指令集的单个媒体或多个媒体(例如,集中式或分布式数据库,和/或相关联的高速缓存及服务器)。术语“机器可读存储媒体”还应被认为包含能够存储或编码供机器执行的指令集合且致使机器执行本公开的方法中的任何一种或多种的任何媒体。术语“机器可读存储媒体”应相应地被理解为包含(但不限于)固态存储器、光学媒体和磁性媒体。
已在针对计算机存储器内的数据位的操作的算法和符号表示方面呈现了先前详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用以将其工作的主旨最有效地传达给所属领域的其他技术人员的方式。在本文中,且一般将算法构想为产生所要结果的操作的自洽序列。操作是要求对物理量进行物理操纵的操作。通常(但未必),这些量采用能够存储、组合、比较以及以其它方式操纵的电或磁信号的形式。已经证实,主要出于常用的原因,将这些信号称为位、值、元素、符号、字符、项、编号等等有时是便利的。
然而,应牢记,所有这些和类似术语将与适当物理量相关联,且仅仅为应用于这些量的便利标记。除非另外确切地陈述为如从以下论述显而易见,否则应了解,在整个描述中,使用例如“接收”或“服务”或“发布”等的术语的论述是指将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据操纵和变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储装置内的物理量的其它数据的计算机系统或类似电子计算装置的动作及过程。
本公开还涉及用于执行本文中的操作的设备。此设备可以出于既定目的而专门构造,或其可包括由存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这种计算机程序可存储在计算机可读存储媒体中,例如但不限于任何类型的盘,包含软盘、光盘、CD-ROM以及磁性光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其各自连接到计算机系统总线。
本文中呈现的算法和显示器在本质上并不与任何特定计算机或其它设备相关。各种通用系统可以与根据本文中的教示的程序一起使用,或可以证明构造用以执行所述方法更加专用的设备是方便的。将如下文描述中所阐述的那样来呈现各种这些系统的结构。另外,未参考任何特定编程语言来描述本公开。应了解,可使用各种编程语言来实施如本文中所描述的本公开的教示内容。
本公开可提供为计算机程序产品或软件,其可包含在其上存储有可用于编程计算机系统(或其它电子装置)以进行根据本公开的过程的指令的机器可读媒体。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机构。举例来说,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读取存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光学存储媒体、快闪存储器装置等。
在以上说明书中,本公开的实施方案已经参考其特定的实例实施方案进行描述。将显而易见的是,可以在不脱离如所附权利要求书中阐述的本公开的实施方案的的更广精神和范围的情况下对其进行各种修改。因此,应在说明性意义上而非限制性意义上看待说明书和图式。
Claims (20)
1.一种方法,其包括:
在媒体管理扫描正在存储器子系统中的存储器组件上进行时,从主机系统接收导向所述存储器组件的请求;
暂时中止正在所述存储器组件上的进行的所述媒体管理扫描;
服务于从所述主机系统接收的所述请求;和
响应于确定从所述主机系统接收的所述请求经服务,重新开始所述存储器组件上的所述媒体管理扫描。
2.根据权利要求1所述的方法,其中从所述主机系统接收的所述请求包括一或多个读取请求。
3.根据权利要求1所述的方法,其中从所述主机系统接收的所述请求包括一或多个写入请求。
4.根据权利要求1所述的方法,其中所述媒体管理扫描包括作为所述存储器子系统的用于错误校正的后台操作周期性地运行的完整性扫描。
5.根据权利要求1所述的方法,其中所述存储器子系统包括基于NAND的存储器组件。
6.根据权利要求1所述的方法,其中暂时中止正在进行的所述媒体管理扫描包括:
通过所述存储器子系统中的控制器发出媒体重置命令。
7.根据权利要求6所述的方法,其中所述媒体重置命令包括与所述存储器子系统中使用的存储器组件的类型相关联的标准数据表命令。
8.根据权利要求6所述的方法,其中所述存储器子系统包括(单层级单元(SLC)、三层级单元(TLC)或四层级单元(QLC)类型的存储器单元或其组合中的至少一个。
9.根据权利要求1所述的方法,其中先验地调度所述媒体管理扫描。
10.根据权利要求9所述的方法,其中从所述主机系统接收的所述请求与所述调度的媒体管理扫描异步。
11.一种方法,其包括:
在媒体管理扫描正在存储器子系统中的存储器组件上进行时,从主机系统接收导向所述存储器组件的请求;
识别与从所述主机系统接收的所述请求相关联的服务质量(QoS)参数;
如果允许在服务于所述主机系统之前完成正在所述存储器组件上进行的所述媒体管理扫描,那么确定与服务于所述请求相关联的时延;
确定所述时延是否满足关于与从所述主机系统接收的所述请求相关联的所述QoS参数的阈值准则;和
基于确定所述时延是否满足关于所述QoS参数的所述阈值准则,决定是否暂时中止正在所述存储器组件上进行的所述媒体管理扫描。
12.根据权利要求11所述的方法,其中所述决定另外包括:
响应于确定所述时延不满足关于所述QoS参数的所述阈值准则,暂时中止正在所述存储器组件上进行的所述媒体管理扫描;
服务于从所述主机系统接收的所述一或多个请求;和
响应于确定从所述主机系统接收的所述一或多个请求经服务,重新开始所述存储器组件上的所述媒体管理扫描。
13.根据权利要求11所述的方法,其中所述决定另外包括:
响应于确定所述时延确实满足关于所述QoS参数的所述阈值准则,允许完成正在进行的所述媒体管理扫描;和
响应于确定所述媒体管理扫描已完成,服务于从所述主机系统接收的所述请求。
14.根据权利要求11所述的方法,其中从所述主机系统接收的所述请求包括一或多个读取请求。
15.根据权利要求11所述的方法,其中从所述主机系统接收的所述请求包括一或多个写入请求。
16.根据权利要求11所述的方法,其中所述媒体管理扫描包括在所述存储器子系统的后台周期性地运行的用于错误校正的完整性扫描。
17.根据权利要求11所述的方法,其中暂时中止所述调度的媒体管理扫描包括发出媒体重置命令,其中所述媒体重置命令包括与所述存储器子系统中使用的存储器组件的类型相关联的标准数据表命令。
18.一种系统,其包括:
多个存储器组件;和
处理装置,其以操作方式耦合到所述存储器组件以进行以下操作:
在媒体管理扫描正在所述多个存储器组件中的存储器组件上进行时,从主机系统接收导向所述存储器组件的请求;
确定所述媒体管理扫描的什么部分已经完成;
确定与所述媒体管理扫描的剩余部分相关的时延;
和
基于所述确定的时延,决定是否暂时中止正在所述存储器组件上进行的所述媒体管理扫描。
19.根据权利要求18所述的系统,其中所述处理装置另外进行以下操作:
响应于确定所述时延不满足关于与从所述主机系统接收的所述请求相关联的服务质量(QoS)的阈值准则,暂时中止正在所述存储器组件上进行的所述媒体管理扫描;
服务于从所述主机系统接收的所述请求;和
响应于确定从所述主机系统接收的所述请求经服务,重新开始所述存储器组件上的所述媒体管理扫描。
20.根据权利要求18所述的系统,其中所述处理装置另外进行以下操作:
响应于确定所述时延确实满足关于与从所述主机系统接收的所述请求相关联的服务质量(QoS)的阈值准则,允许完成正在所述存储器组件上进行的所述媒体管理扫描;和
响应于确定所述媒体管理扫描已完成,服务于从所述主机系统接收的所述请求。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/526,649 | 2019-07-30 | ||
US16/526,649 US11614890B2 (en) | 2019-07-30 | 2019-07-30 | Handling of host-initiated requests in memory sub-systems |
PCT/US2020/044031 WO2021021905A1 (en) | 2019-07-30 | 2020-07-29 | Improved handling of host-initiated requests in memory sub-systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114174977A true CN114174977A (zh) | 2022-03-11 |
CN114174977B CN114174977B (zh) | 2024-04-12 |
Family
ID=74230134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080054426.9A Active CN114174977B (zh) | 2019-07-30 | 2020-07-29 | 改进对存储器子系统中的主机起始的请求的处置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11614890B2 (zh) |
CN (1) | CN114174977B (zh) |
WO (1) | WO2021021905A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114489471B (zh) * | 2021-08-10 | 2023-04-14 | 荣耀终端有限公司 | 一种输入输出处理方法和电子设备 |
Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0027618A2 (de) * | 1979-10-17 | 1981-04-29 | Siemens Aktiengesellschaft | Vorrichtung zur Ultraschallabtastung |
US4348725A (en) * | 1977-01-19 | 1982-09-07 | Honeywell Information Systems Inc. | Communication line service interrupt technique for a communications processing system |
WO1999048001A1 (en) * | 1998-03-18 | 1999-09-23 | Lsi Logic Corporation | Improvements in microprocessor development systems |
US20020004852A1 (en) * | 2000-03-17 | 2002-01-10 | Vladimir Sadovsky | Computer system employing simplified device drivers |
US7082494B1 (en) * | 2002-12-24 | 2006-07-25 | Western Digital Technologies, Inc. | Disk drive executing a preemptive multitasking operating system comprising tasks of varying priority |
US7213154B1 (en) * | 1999-11-02 | 2007-05-01 | Cisco Technology, Inc. | Query data packet processing and network scanning method and apparatus |
EP1931122A1 (en) * | 2006-12-05 | 2008-06-11 | Research In Motion Limited | Methods and apparatus for use in controlling a scan rate for scanning operations in a mobile communication device |
CN101403984A (zh) * | 2007-10-01 | 2009-04-08 | 国际商业机器公司 | 收集转储数据的设备和方法 |
CN102255888A (zh) * | 2010-05-21 | 2011-11-23 | 英特尔公司 | 从远程服务器对数据存储设备进行安全扫描的方法和装置 |
US20140075105A1 (en) * | 2010-09-15 | 2014-03-13 | Pure Storage, Inc. | Scheduling of i/o in an ssd environment |
US20150006786A1 (en) * | 2013-06-28 | 2015-01-01 | Micron Technology, Inc. | Operation management in a memory device |
US9122503B1 (en) * | 2013-09-05 | 2015-09-01 | Symantec Corporation | Systems and methods for adaptive throttling of input/output requests in a virtual environment |
US20150379020A1 (en) * | 2014-06-30 | 2015-12-31 | Google Inc. | Automated archiving of user generated media files |
CN106067321A (zh) * | 2015-04-21 | 2016-11-02 | 爱思开海力士有限公司 | 适于存储器编程暂停-恢复的控制器 |
US9620242B1 (en) * | 2015-07-10 | 2017-04-11 | The United States Of America As Represented By The Secretary Of The Navy | Methods and apparatuses including one or more interrupted integrated circuit operations for characterizing radiation effects in integrated circuits |
US20180181769A1 (en) * | 2016-12-28 | 2018-06-28 | Dropbox, Inc. | Data loss prevention for an online content management platform |
US20180314448A1 (en) * | 2017-03-21 | 2018-11-01 | Western Digital Technologies, Inc. | Storage System and Method for Efficient Pipeline Gap Utilization for Background Operations |
WO2019061480A1 (en) * | 2017-09-30 | 2019-04-04 | Micron Technology, Inc. | PRE-EVEN READING SCANS IN PERIOD OF INACTIVITY |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20040117791A1 (en) | 2002-12-17 | 2004-06-17 | Ajith Prasad | Apparatus, system and method for limiting latency |
US7904673B2 (en) * | 2007-11-20 | 2011-03-08 | Seagate Technology Llc | Data storage device with histogram of idle time and scheduling of background and foreground jobs |
US8458712B2 (en) | 2008-04-30 | 2013-06-04 | International Business Machines Corporation | System and method for multi-level preemption scheduling in high performance processing |
US8972627B2 (en) * | 2009-09-09 | 2015-03-03 | Fusion-Io, Inc. | Apparatus, system, and method for managing operations for data storage media |
US20130097349A1 (en) | 2011-10-14 | 2013-04-18 | Kuo-Cheng Lu | Quality of Service Arbitration Method and Quality of Service Arbiter Thereof |
KR101825585B1 (ko) * | 2012-06-15 | 2018-02-05 | 인텔 코포레이션 | 명확화 없는 비순차 load store 큐를 갖는 재정렬된 투기적 명령어 시퀀스들 |
US9946469B2 (en) * | 2016-03-21 | 2018-04-17 | Smart Modular Technologies, Inc. | Solid state storage system with latency management mechanism and method of operation thereof |
US10423508B2 (en) * | 2017-08-11 | 2019-09-24 | Alibaba Group Holding Limited | Method and system for a high-priority read based on an in-place suspend/resume write |
-
2019
- 2019-07-30 US US16/526,649 patent/US11614890B2/en active Active
-
2020
- 2020-07-29 WO PCT/US2020/044031 patent/WO2021021905A1/en active Application Filing
- 2020-07-29 CN CN202080054426.9A patent/CN114174977B/zh active Active
Patent Citations (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4348725A (en) * | 1977-01-19 | 1982-09-07 | Honeywell Information Systems Inc. | Communication line service interrupt technique for a communications processing system |
EP0027618A2 (de) * | 1979-10-17 | 1981-04-29 | Siemens Aktiengesellschaft | Vorrichtung zur Ultraschallabtastung |
WO1999048001A1 (en) * | 1998-03-18 | 1999-09-23 | Lsi Logic Corporation | Improvements in microprocessor development systems |
US7213154B1 (en) * | 1999-11-02 | 2007-05-01 | Cisco Technology, Inc. | Query data packet processing and network scanning method and apparatus |
US20020004852A1 (en) * | 2000-03-17 | 2002-01-10 | Vladimir Sadovsky | Computer system employing simplified device drivers |
US7082494B1 (en) * | 2002-12-24 | 2006-07-25 | Western Digital Technologies, Inc. | Disk drive executing a preemptive multitasking operating system comprising tasks of varying priority |
EP1931122A1 (en) * | 2006-12-05 | 2008-06-11 | Research In Motion Limited | Methods and apparatus for use in controlling a scan rate for scanning operations in a mobile communication device |
CN101403984A (zh) * | 2007-10-01 | 2009-04-08 | 国际商业机器公司 | 收集转储数据的设备和方法 |
CN102255888A (zh) * | 2010-05-21 | 2011-11-23 | 英特尔公司 | 从远程服务器对数据存储设备进行安全扫描的方法和装置 |
US20140075105A1 (en) * | 2010-09-15 | 2014-03-13 | Pure Storage, Inc. | Scheduling of i/o in an ssd environment |
US20150006786A1 (en) * | 2013-06-28 | 2015-01-01 | Micron Technology, Inc. | Operation management in a memory device |
US9122503B1 (en) * | 2013-09-05 | 2015-09-01 | Symantec Corporation | Systems and methods for adaptive throttling of input/output requests in a virtual environment |
US20150379020A1 (en) * | 2014-06-30 | 2015-12-31 | Google Inc. | Automated archiving of user generated media files |
CN106067321A (zh) * | 2015-04-21 | 2016-11-02 | 爱思开海力士有限公司 | 适于存储器编程暂停-恢复的控制器 |
US9620242B1 (en) * | 2015-07-10 | 2017-04-11 | The United States Of America As Represented By The Secretary Of The Navy | Methods and apparatuses including one or more interrupted integrated circuit operations for characterizing radiation effects in integrated circuits |
US20180181769A1 (en) * | 2016-12-28 | 2018-06-28 | Dropbox, Inc. | Data loss prevention for an online content management platform |
US20180314448A1 (en) * | 2017-03-21 | 2018-11-01 | Western Digital Technologies, Inc. | Storage System and Method for Efficient Pipeline Gap Utilization for Background Operations |
WO2019061480A1 (en) * | 2017-09-30 | 2019-04-04 | Micron Technology, Inc. | PRE-EVEN READING SCANS IN PERIOD OF INACTIVITY |
Also Published As
Publication number | Publication date |
---|---|
US20210034290A1 (en) | 2021-02-04 |
WO2021021905A1 (en) | 2021-02-04 |
US11614890B2 (en) | 2023-03-28 |
CN114174977B (zh) | 2024-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10908821B2 (en) | Use of outstanding command queues for separate read-only cache and write-read cache in a memory sub-system | |
US12039196B2 (en) | Double threshold controlled scheduling of memory access commands | |
CN113924545A (zh) | 基于存储器子系统中的媒体单元的可用性的预测性数据传输 | |
CN113711193B (zh) | 用于存储器子系统的优先级调度 | |
US11360902B2 (en) | Adaptive readahead cache manager based on detected active streams of read commands | |
US20200278932A1 (en) | Separate read-only cache and write-read cache in a memory sub-system | |
KR20100031132A (ko) | 플래시 메모리 시스템에서 페이징된 가비지 수집과 하우스 키핑 동작 | |
US11442656B2 (en) | Interruption of program operations at a memory sub-system | |
US11461256B2 (en) | Quality of service levels for a direct memory access engine in a memory sub-system | |
CN112805676A (zh) | 基于数据总线模式对读取操作和写入操作的调度 | |
US11995338B2 (en) | Performing operation on data blocks concurrently and based on performance rate of another operation on data blocks | |
CN113448509A (zh) | 用于服务质量设计的读取计数器 | |
CN114174977B (zh) | 改进对存储器子系统中的主机起始的请求的处置 | |
CN114391139A (zh) | 存储器组件中的使用经调整参数的垃圾收集 | |
CN113939797B (zh) | 用于存储器子系统的锁定管理 | |
CN112231252B (zh) | 用于存储器子系统的内部管理业务调节 | |
US20230325117A1 (en) | Speculative command processing interface in storage systems |
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 |