CN114442925A - 非易失性存储硬盘多队列提交调度方法、装置及存储介质 - Google Patents
非易失性存储硬盘多队列提交调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN114442925A CN114442925A CN202111485641.7A CN202111485641A CN114442925A CN 114442925 A CN114442925 A CN 114442925A CN 202111485641 A CN202111485641 A CN 202111485641A CN 114442925 A CN114442925 A CN 114442925A
- Authority
- CN
- China
- Prior art keywords
- queue
- write request
- read
- disk
- target
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004590 computer program Methods 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 5
- 238000005516 engineering process Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000003068 static effect Effects 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
-
- 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)
Abstract
本申请涉及一种非易失性存储硬盘多队列提交调度方法、装置及存储介质。所述方法包括:接收外部服务器发送的数据读写请求;建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;将所述数据读写请求发送至所述队列号对应的目标提交队列中。本方法能够实现高效、可靠及均衡利用NVMe硬盘多队列技术的优势,提高NVMe硬盘的读写效率,进而提高存储系统的整体利用率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种非易失性存储硬盘多队列提交调度方法、装置及存储介质。
背景技术
作为非易失性存储(Non-Volatile Memory express,NVMe)硬盘的突出优势之一,多队列技术是一个重要的提高性能的方法。借助于多队列技术,NVMe协议实现了按照任务、调度优先级和CPU的核来分配不同队列,完成高性能的存储功能。每个队列是一个先进先出的FIFO管道,用于连通主机端(如存储系统)和设备端(硬盘本身)。其中从主机端发送到设备端的命令管道称之为发送队列;从设备端发送到主机端的命令完成管道称之为完成队列。对于一个IO请求,在主机端组装完成后,通过发送队列发到设备端,然后在设备中进行处理并把相应的完成结果组装成IO完成请求,最后通过完成队列返还给主机端。
如图1所示,按时序涉及的主要流程如下:
(1)外部业务服务器向存储系统(存储服务器)发送数据读写请求。
(2)存储系统内部RAID等上层模块将外部存储请求解析为对目标盘及LBA(地址)的请求
(3)存储系统使用特定算法从目标盘的提交队列中选取一个提交队列并向该队列提交请求。
该流程中涉及了如何为针对同一块硬盘为目标的外部业务服务器读写请求选择提交队列,但目前缺少高效、简单、CPU占用资源少的算法,目标盘的读写效率较低,存储系统的整体利用率不高。
发明内容
基于此,有必要针对上述技术问题,提供一种非易失性存储硬盘多队列提交调度方法、装置及存储介质,能够实现高效、可靠及均衡利用NVMe硬盘多队列技术的优势,提高NVMe硬盘的读写效率,进而提高存储系统的整体利用率。
一方面,提供一种非易失性存储硬盘多队列提交调度方法,所述方法包括:
接收外部服务器发送的数据读写请求;
建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
将所述数据读写请求发送至所述队列号对应的目标提交队列中。
在其中一个实施例中,所述方法包括:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
在其中一个实施例中,所述方法包括:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
在其中一个实施例中,所述方法包括:
通过以下公式,根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号:
队列内编号=盘读写请求索引号/队列总数
其中,/表示除法取整运算。
在其中一个实施例中,所述方法包括:
当需要终止已经提交到目标提交队列中的数据读写请求时,确定所述数据读写请求的队列号和队列内编号,向所述队列号对应的目标提交队列发送终止请求消息,请求终止队列内编号对应的数据读写请求。
在其中一个实施例中,所述方法包括:
当需要终止已经提交到目标提交队列中的数据读写请求时,向非易失性存储硬盘发送指令,所述非易失性存储硬盘根据所述指令执行如下操作中的至少一种操作:
暂停对所述提交队列的命令读取请求;
将从所述提交队列已经取回且尚未完成的读命令设置为挂起状态。
另一方面,提供了一种非易失性存储硬盘多队列提交调度装置,所述装置包括:
接收模块,用于接收外部服务器发送的数据读写请求;
确定模块,用于建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
传输模块,用于将所述数据读写请求发送至所述队列号对应的目标提交队列中。
在其中一个实施例中,所述确定模块用于:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
在其中一个实施例中,所述确定模块用于:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收外部服务器发送的数据读写请求;
建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
将所述数据读写请求发送至所述队列号对应的目标提交队列中。
上述非易失性存储硬盘多队列提交调度方法、装置及存储介质,存储系统接收外部数据读写请求,计算读写请求的盘读写请求索引号、队列号和队列内编号,根据队列号确定目标提交队列,将所述读写请求提交到目标队列,当需终止已提交到目标队列的读写请求时,确定读写请求所在的目标队列号和队列内编号,向所述队列号对应的队列提交abort请求,请求终止所述读写请求,提交队列号及队列内编号计算逻辑的效率高,不占用过多CPU资源,所有队列都会得到平等的调度,最大限度的利用了NVMe盘的多队列计数,能够实现高效、可靠及均衡利用NVMe硬盘多队列技术的优势,提高NVMe硬盘的读写效率,进而提高存储系统的整体利用率。
附图说明
图1为现有技术中队列调度方法流程示意图;
图2为本发明的非易失性存储硬盘多队列提交调度方法流程示意图;
图3为本发明的非易失性存储硬盘多队列提交调度装置的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在一个实施例中,如图1所示,提供一种非易失性存储硬盘多队列提交调度方法,所述方法包括:
S1:接收外部服务器发送的数据读写请求。
具体地,存储系统可以从外部业务服务器(主机)接收数据读写请求,数据读写请求的请求格式符合NVMe协议标准即可。
S2:建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序。
具体地,在存储系统中,针对存储系统接入的每一块硬盘,对外部业务服务器提交的每个读写请求建立编号,编号唯一且顺序增加,例如,对目标盘A,外部请求从1开始编号,当第一个到达时为该请求编号为1,第二个请求到达时为2,第N个请求到达时编号为N,该编号作为请求的唯一索引,成为盘读写请求索引号,即,所述盘读写请求索引号表示对目标盘的读写请求的次序。
S3:将所述数据读写请求发送至所述队列号对应的目标提交队列中。
具体地,在确定了目标提交队列的队列号之后,将所述数据读写请求发送至所述队列号对应的目标提交队列中。
上述非易失性存储硬盘多队列提交调度方法,能够实现高效、可靠及均衡利用NVMe硬盘多队列技术的优势,提高NVMe硬盘的读写效率,进而提高存储系统的整体利用率。
在其中一个实施例中,所述方法包括:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
具体地,上层模块收到外部发来的第N个请求时,利用如下算法计算该请求需要发送到的提交队列号:
队列总数(NVME_IO_QUEUES_COUNT)-目标盘的提交队列总数。
队列号=盘读写请求索引号%NVME_IO_QUEUES_COUNT(除法取余运算)。
在其中一个实施例中,所述方法包括:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
具体地,盘的每一个提交队列都是一个先进先出(FIFO)的队列,且提交到队列中的每个IO请求有其在该队列中的唯一编号--请求的队列内编号,可以根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
在其中一个实施例中,所述方法包括:
通过以下公式,根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号:
队列内编号=盘读写请求索引号/队列总数
其中,/表示除法取整运算。
具体地,通过以下方式计算该请求在目标请求队列中的队列内编号:
队列总数(NVME_IO_QUEUES_COUNT)-目标盘的提交队列总数。
队列内编号=盘读写请求索引号/NVME_IO_QUEUES_COUNT(除法取整运算)。
以下给出一个确定队列号和队列内编号的具体示例:
总队列数=4个,分别编号为0,1,2,3
盘读写请求索引号0队列号=0(0%4)队列内编号=0(0/4)
盘读写请求索引号1队列号=1(1%4)队列内编号=0(1/4)
盘读写请求索引号2队列号=2(2%4)队列内编号=0(2/4)
盘读写请求索引号3队列号=3(3%4)队列内编号=0(3/4)
至此,前4个读写请求被分配到四个队列中,一轮分派完成。后续请求到来时,
盘读写请求索引号4队列号=0(4%4)队列内编号=1(4/4)
盘读写请求索引号5队列号=1(5%4)队列内编号=1(5/4)
盘读写请求索引号6队列号=2(6%4)队列内编号=1(6/4)
盘读写请求索引号7队列号=3(7%4)队列内编号=1(7/4)
至此,第二轮分配完毕。
当总队列数为N时,每处理完N个请求,将完成一轮对N个队列的平均分派。
在其中一个实施例中,所述方法包括:
当需要终止已经提交到目标提交队列中的数据读写请求时,确定所述数据读写请求的队列号和队列内编号,向所述队列号对应的目标提交队列发送终止请求消息,请求终止队列内编号对应的数据读写请求。
具体地,某些场景下,存储系统向提交队列中提交请求后,需要再次针对该请求提交其他关联请求;比如当提交的请求在设定时间内没有得到盘的响应,存储系统可能需要向盘提交针对该IO请求的abort请求(请求终止对目标盘的该IO请求),这时需要得到原已提交请求的队列内编号及队列号,并将队列内编号作为参数提交到队列号对应的队列中以终止该IO的执行。
例如,当上层模块因某些原因(比如超时)需要终止已经提交到提交队列中的某个请求-时,比如该请求的盘读写请求索引号为189,那么可以很容易计算出需要终止的目标在那个提交队列,以及在提交该提交队列中的编号,如下:
队列号=189%4=1
队列内编号=189/4=47
那么存储系统可以向队列号为1的队列中提交abort请求,请求被abort的已提交目标读写请求的队列内编号为47。
在其中一个实施例中,所述方法包括:
当需要终止已经提交到目标提交队列中的数据读写请求时,向非易失性存储硬盘发送指令,所述非易失性存储硬盘根据所述指令执行如下操作中的至少一种操作:
暂停对所述提交队列的命令读取请求;
将从所述提交队列已经取回且尚未完成的读命令设置为挂起状态。
具体地,NVMe硬盘在接收到指令后,暂停对该提交队列的命令读取请求,NVMe硬盘暂停对该提交队列进行周期性的命令读取过程,从而减少NVMe硬盘的冗余读取。另外,NVMe硬盘也可以对从该提交队列已经取回且尚未完成的读命令暂不处理,全部设置为挂起状态。
应该理解的是,虽然图2的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图2中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图3所示,提供了一种非易失性存储硬盘多队列提交调度装置,所述装置包括:
接收模块301,用于接收外部服务器发送的数据读写请求;
确定模块302,用于建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
传输模块303,用于将所述数据读写请求发送至所述队列号对应的目标提交队列中。
在其中一个实施例中,所述确定模块302用于:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
在其中一个实施例中,所述确定模块302用于:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
在其中一个实施例中,所述确定模块302用于:
通过以下公式,根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号:
队列内编号=盘读写请求索引号/队列总数
其中,/表示除法取整运算。
在其中一个实施例中,所述传输模块303用于:
当需要终止已经提交到目标提交队列中的数据读写请求时,确定所述数据读写请求的队列号和队列内编号,向所述队列号对应的目标提交队列发送终止请求消息,请求终止队列内编号对应的数据读写请求。
在其中一个实施例中,所述传输模块303用于:
当需要终止已经提交到目标提交队列中的数据读写请求时,向非易失性存储硬盘发送指令,所述非易失性存储硬盘根据所述指令执行如下操作中的至少一种操作:
暂停对所述提交队列的命令读取请求;
将从所述提交队列已经取回且尚未完成的读命令设置为挂起状态。
关于非易失性存储硬盘多队列提交调度装置的具体限定可以参见上文中对于非易失性存储硬盘多队列提交调度方法的限定,在此不再赘述。上述非易失性存储硬盘多队列提交调度装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收外部服务器发送的数据读写请求;
建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
将所述数据读写请求发送至所述队列号对应的目标提交队列中。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
通过以下公式,根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号:
队列内编号=盘读写请求索引号/队列总数
其中,/表示除法取整运算。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当需要终止已经提交到目标提交队列中的数据读写请求时,确定所述数据读写请求的队列号和队列内编号,向所述队列号对应的目标提交队列发送终止请求消息,请求终止队列内编号对应的数据读写请求。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:
当需要终止已经提交到目标提交队列中的数据读写请求时,向非易失性存储硬盘发送指令,所述非易失性存储硬盘根据所述指令执行如下操作中的至少一种操作:
暂停对所述提交队列的命令读取请求;
将从所述提交队列已经取回且尚未完成的读命令设置为挂起状态。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种非易失性存储硬盘多队列提交调度方法,其特征在于,所述方法包括:
接收外部服务器发送的数据读写请求;
建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
将所述数据读写请求发送至所述队列号对应的目标提交队列中。
2.如权利要求1所述的方法,其特征在于,所述方法包括:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
3.如权利要求1所述的方法,其特征在于,所述方法包括:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
4.如权利要求3所述的方法,其特征在于,所述方法包括:
通过以下公式,根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号:
队列内编号=盘读写请求索引号/队列总数
其中,/表示除法取整运算。
5.如权利要求1所述的方法,其特征在于,所述方法包括:
当需要终止已经提交到目标提交队列中的数据读写请求时,确定所述数据读写请求的队列号和队列内编号,向所述队列号对应的目标提交队列发送终止请求消息,请求终止队列内编号对应的数据读写请求。
6.如权利要求1所述的方法,其特征在于,所述方法包括:
当需要终止已经提交到目标提交队列中的数据读写请求时,向非易失性存储硬盘发送指令,所述非易失性存储硬盘根据所述指令执行如下操作中的至少一种操作:
暂停对所述提交队列的命令读取请求;
将从所述提交队列已经取回且尚未完成的读命令设置为挂起状态。
7.一种非易失性存储硬盘多队列提交调度装置,其特征在于,所述装置包括:
接收模块,用于接收外部服务器发送的数据读写请求;
确定模块,用于建立所述数据读写请求的盘读写请求索引号,根据所述盘读写请求索引号确定目标提交队列的队列号;所述盘读写请求索引号表示对目标盘的读写请求的次序;
传输模块,用于将所述数据读写请求发送至所述队列号对应的目标提交队列中。
8.如权利要求7所述的装置,其特征在于,所述确定模块用于:
通过以下公式,根据所述盘读写请求索引号确定目标提交队列的队列号:
队列号=盘读写请求索引号%队列总数
其中,%表示除法取余运算。
9.如权利要求8所述的装置,其特征在于,所述确定模块用于:
根据所述盘读写请求索引号确定所述数据读写请求在所述目标提交队列内的队列内编号。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111485641.7A CN114442925A (zh) | 2021-12-07 | 2021-12-07 | 非易失性存储硬盘多队列提交调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111485641.7A CN114442925A (zh) | 2021-12-07 | 2021-12-07 | 非易失性存储硬盘多队列提交调度方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114442925A true CN114442925A (zh) | 2022-05-06 |
Family
ID=81364385
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111485641.7A Pending CN114442925A (zh) | 2021-12-07 | 2021-12-07 | 非易失性存储硬盘多队列提交调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114442925A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115657975A (zh) * | 2022-12-29 | 2023-01-31 | 浪潮电子信息产业股份有限公司 | 一种磁盘数据读写控制方法、相关组件及前端共享卡 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484131A (zh) * | 2014-12-04 | 2015-04-01 | 珠海金山网络游戏科技有限公司 | 多磁盘服务器的数据处理装置及对应的处理方法 |
CN108509156A (zh) * | 2018-04-04 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 数据读取方法、装置、设备及系统 |
CN109831385A (zh) * | 2019-01-22 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及电子设备 |
CN111722786A (zh) * | 2019-03-21 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 基于NVMe设备的存储系统 |
-
2021
- 2021-12-07 CN CN202111485641.7A patent/CN114442925A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104484131A (zh) * | 2014-12-04 | 2015-04-01 | 珠海金山网络游戏科技有限公司 | 多磁盘服务器的数据处理装置及对应的处理方法 |
CN108509156A (zh) * | 2018-04-04 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 数据读取方法、装置、设备及系统 |
CN109831385A (zh) * | 2019-01-22 | 2019-05-31 | 北京奇艺世纪科技有限公司 | 一种消息处理方法、装置及电子设备 |
CN111722786A (zh) * | 2019-03-21 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 基于NVMe设备的存储系统 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115657975A (zh) * | 2022-12-29 | 2023-01-31 | 浪潮电子信息产业股份有限公司 | 一种磁盘数据读写控制方法、相关组件及前端共享卡 |
CN115657975B (zh) * | 2022-12-29 | 2023-03-31 | 浪潮电子信息产业股份有限公司 | 一种磁盘数据读写控制方法、相关组件及前端共享卡 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10042563B2 (en) | Segmenting read requests and interleaving segmented read and write requests to reduce latency and maximize throughput in a flash storage device | |
US20230004329A1 (en) | Managed fetching and execution of commands from submission queues | |
US8959249B1 (en) | Cooperative cloud I/O scheduler | |
US10545791B2 (en) | Methods to apply IOPS and MBPS limits independently using cross charging and global cost synchronization | |
US20160202909A1 (en) | I/o scheduling method using read prioritization to reduce application delay | |
CN109408243B (zh) | 一种基于rdma的数据处理方法、装置和介质 | |
CN111104208A (zh) | 进程调度管理方法、装置、计算机设备及存储介质 | |
KR102387922B1 (ko) | 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템 | |
US10552349B1 (en) | System and method for dynamic pipelining of direct memory access (DMA) transactions | |
CN111061690B (zh) | 一种基于rac的数据库日志文件读取方法和装置 | |
CN114546606A (zh) | 非易失性存储器存储模块及其操作方法 | |
CN113794764A (zh) | 服务器集群的请求处理方法、介质和电子设备 | |
CN114442925A (zh) | 非易失性存储硬盘多队列提交调度方法、装置及存储介质 | |
US10922022B2 (en) | Method and system for managing LBA overlap checking in NVMe based SSDs | |
CN108153582B (zh) | Io命令处理方法与介质接口控制器 | |
US10846265B2 (en) | Method and apparatus for accessing file, and storage system | |
CN116820769A (zh) | 一种任务分配方法、装置及系统 | |
US12019909B2 (en) | IO request pipeline processing device, method and system, and storage medium | |
US20150212759A1 (en) | Storage device with multiple processing units and data processing method | |
CN110764710A (zh) | 低延迟高iops的数据访问方法与存储系统 | |
US8677028B2 (en) | Interrupt-based command processing | |
US11907577B2 (en) | Command queuing for data storage devices | |
CN118151851B (zh) | 固态硬盘读取方法、装置、设备及可读存储介质 | |
US10209906B2 (en) | Target port processing of a data transfer | |
CN114443276A (zh) | 本地存储引擎io聚合方法、装置及存储介质 |
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 |