CN107368263A - 一种固态硬盘中优先权调度的方法和系统 - Google Patents
一种固态硬盘中优先权调度的方法和系统 Download PDFInfo
- Publication number
- CN107368263A CN107368263A CN201710611596.2A CN201710611596A CN107368263A CN 107368263 A CN107368263 A CN 107368263A CN 201710611596 A CN201710611596 A CN 201710611596A CN 107368263 A CN107368263 A CN 107368263A
- Authority
- CN
- China
- Prior art keywords
- request
- priority
- queue
- processing
- ability value
- 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
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/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/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/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)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种固态硬盘中优先权调度的方法和系统,通过将不同请求分配到不同优先级的队列中,判断当前处理的队列完成的处理请求是否达到预设处理能力值,若是,则按照优先级由高到低的顺序对所有队列进行循环处理。在不同的场景和情况下,调整各个队列的优先级,将最常用请求的优先级调制最高,便可以降低用户常用请求的时延抖动;还对各个优先级分配一个预设处理能力值,优先级低的队列中的请求不会被长期搁置得不到处理。所以,本发明所提供的固态硬盘中优先权调度的方案,能够按照预设的队列优先级和处理能力值优先处理用户常用的请求,减小常用请求的时延抖动,并且优先级低的请求或操作也不会被长期搁置得不到处理。
Description
技术领域
本发明涉及数据存储领域,特别是涉及一种固态硬盘中优先权调度的方法。
背景技术
随着信息技术的发展,在数据存储领域,固态硬盘(Solid State Disk,SSD)以其相对于传统机械硬盘5-10倍读写速度、低功耗、无噪音、抗震动、低热量、体积小等特点,得到了越来越多的应用。
固态硬盘内主体其实就是一块PCB板,而这块PCB板上最基本的配件就是控制芯片,其主控芯片相当于固态硬盘的大脑,其作用一是合理调配数据在各个闪存芯片上的负荷,二则是承担了整个数据中转,进行数据处理等。
固态硬盘在处理用户的读写请求外,还要处理垃圾数据回收(GarbageCollection,GC)的读写擦请求以及后台数据的巡检等。在处理如此多且冗杂的请求时,对于用户常用请求的数据处理,在数据包输入到输出的过程中,便存在着很大的时延抖动。可能造成用户比较希望快速处理的请求得不到最快的处理。
因此,如何提供一种固态硬盘中数据处理优先权调度的方法,能够按照用户需要优先处理用户常用的请求,减小常用请求的时延抖动,并且优先级低的请求或操作也不会被长期搁置得不到处理,是本领域技术人员目前需要解决的技术问题。
发明内容
本发明的目的是提供一种固态硬盘中数据处理优先权调度的方法和系统,能够按照用户需要优先处理用户常用的请求,减小常用请求的时延抖动,并且优先级低的请求或操作也不会被长期搁置得不到处理。
为解决上述技术问题,本发明提供了如下技术方案:
一种固态硬盘中优先权调度的方法,包括:将不同请求分配到不同优先级的队列中;判断当前处理的队列完成的处理请求是否达到预设处理能力值;若是,则按照优先级由高到低的顺序对所有队列进行循环处理。
优选地,按照优先级由高到低的顺序对所有队列进行循环处理包括:按照预设处理能力值,每处理完成一个请求,当前处理值为预设处理能力值减少1,若当前处理值为0,则按照优先级由高到低的顺序对所有队列进行处理;当所有队列处理完成,将所有队列当前处理值重置为预设处理能力值,按照优先级由高到低的顺序对所有队列进行处理。
优选地,本方法请求包括:用户的读/写请求或GC读/写或GC擦请求。
优选地,本方法不同请求的优先级为:用户的读/写请求,GC读/写,GC擦请求。
本发明还提供一种固态硬盘中优先权调度的系统,包括:分配模块,用于将不同请求分配到不同优先级的队列中;判断模块,用于判断当前处理的队列完成的处理请求是否达到预设处理能力值;处理模块,用于当前处理的队列完成的处理请求达到预设处理能力值,按照优先级由高到低的顺序对所有队列进行循环处理。
优选地,处理模块,包括:计算单元,用于按照预设处理能力值,每处理完成一个请求,当前处理值为预设处理能力值减少1,若当前处理值为0,则按照优先级由高到低的顺序对所有队列进行处理;重置单元,用于当所有队列处理完成,将所有队列当前处理值重置为预设处理能力值,按照优先级由高到低的顺序对所有队列进行处理。
优选地,本系统中请求包括:用户的读/写请求或GC读/写或GC擦请求。
优选地,本系统不同请求的优先级为:用户的读/写请求,GC读/写,GC擦请求。
与现有技术相比,上述技术方案具有以下优点:
本发明所提供的方案中,通过把不同的请求分配不同的优先级队列中,按照优先级由高到低的顺序对所有队列中的请求进行处理,在不同的场景和情况下,用户可以调整各个队列的优先级,将最常用请求的优先级调制最高,便可以降低用户常用请求的时延抖动;另外,本发明所提供的方案中,还对各个优先级分配一个预设处理能力值,当正在处理的队列已处理完成的请求达到预设处理能力值,则按照优先级由高到低的顺序对所有队列进行循环处理,所以优先级低的队列的中的请求不会被长期搁置得不到处理;所以,与现有技术相比,本发明所提供的固态硬盘中优先权调度的方案,能够按照用户需要优先处理用户常用的请求,减小常用请求的时延抖动,并且优先级低的请求或操作也不会被长期搁置得不到处理。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种具体实施方式所提供的一种固态硬盘中优先权调度的方法流程图;
图2为本发明一种具体实施方式所提供的一种固态硬盘中优先权调度的步骤示意图;
图3为本发明一种具体实施方式所提供的一种固态硬盘中优先权调度的系统结构图。
具体实施方式
本发明的核心是提供一种固态硬盘中数据处理优先权调度的方法和系统,能够按照用户需要优先处理用户常用的请求,减小常用请求的时延抖动,并且优先级低的请求或操作也不会被长期搁置得不到处理。
为了使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施方式做详细的说明。
在以下描述中阐述了具体细节以便于充分理解本发明。但是本发明能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本发明内涵的情况下做类似推广。因此本发明不受下面公开的具体实施的限制。
请参考图1,图1为本发明一种具体实施方式所提供的一种固态硬盘中优先权调度的方法流程图。
本发明的一种具体实施方式提供了一种固态硬盘中优先权调度的方法,包括:
S11:将不同请求分配到不同优先级的队列中。
在固态硬盘中,要处理的除了用户的读写请求之外,还要对GC的读写请求、GC擦请求进行处理,对于用户常用的或是希望先被处理的请求的时延抖动就很大。本发明首先预先设定或是根据用户的需求,将不同的请求分配不同优先级的队列当中。
例如,将用户常用请求的优先级设置为最高优先进行处理,而将用户不常用的请求或是与用户请求无关的后台操作的优先级设置为最低,稍后处理。
采用该方法减小了用户从发出同一类请求到得到请求应答结果时间内的时延抖动,且用户可以根据实际场景和情况,使常用的请求得到优先处理。
S12:判断当前处理的队列完成的处理请求是否达到预设处理能力值。
将不同的请求分配进不同的优先级的队列之后,便开始对优先级较高的队列中的请求进行处理。并且将处理完成的请求与预设处理能力值进行对比,判断对该队列请求所进行的处理是否达到了预设处理能力值。
该预设处理能力值为用户设定或对系统进行预先默认配置的,该预设能力值可以为所要处理的请求的数量或处理一定请求所用的时间,或是处理的请求所要占用的资源大小等等。
即使是优先级较低的队列中的请求,也会得到处理,不会被长期的搁置。
S13:若是,则按照优先级由高到低的顺序对所有队列进行循环处理。
如果当前处理的队列完成的处理请求达到了预设处理能力值,便按照预先所设定的各个队列的优先级,对下一个优先级的队列中的请求进行处理。
当对优先级最低的队列所进行处理的请求达到了预设处理能力值,便进行循环处理,即再次对优先级最高的队列中的请求进行处理。
如图2所示,为本发明一种具体实施方式的示意图;
设有优先级从高到低的3个队列,分别为队列1、队列2、队列3;预设处理能力值为处理完成3条请求,分别对应各自队列中的请求1-3。
首先对优先级最高的队列1中的请求进行处理,当对队列1中所进行处理并且完成的请求的数量达到3条时,便开始对队列2中的请求进行处理;同样的,当对队列2中所进行处理并且完成的请求的数量达到3条时,便开始对队列3中的请求进行处理,当对队列3中完成处理的请求的数量达到预设处理能力值3条请求时,再次循环到优先级最高的队列1,对队列1中未处理的请求进行处理;以此循环处理。
在本发明所提供的一种实施例中,步骤S12可以包括:按照预设处理能力值,每处理完成一个请求,当前处理值为预设处理能力值减少1,若当前处理值为0,则按照优先级由高到低的顺序对所有队列进行处理;当所有队列处理完成,将所有队列当前处理值重置为预设处理能力值,按照优先级由高到低的顺序对所有队列进行处理。
若完成一个队列中的一条请求,便将该队列的当前处理之减少1,所有队列的当前处理值最大为预设处理能力值,当某个队列的当前处理值为0,则说明对该队列完成处理的请求达到了预设处理能力值,按照预先设定的各个队列的优先级对下一优先级的队列中的请求进行处理;以此循环。
其中,若是某个队列中当前需要处理的请求的数量小于预设处理能力值,则该队列的当前处理值与该队列当前需要处理的请求的数量相对应。
在本发明所提供的一种实施例中,请求包括:用户的读/写请求或GC读/写或GC擦请求。
在本发明所提供的一种实施例中,上述不同请求的优先级为:用户的读/写请求,GC读/写,GC擦请求。
如图3所示,为本发明的一种具体实施方式所提供的一种固态硬盘中优先权调度的系统,涉及数据存储领域,包括:
分配模块21,用于将不同请求分配到不同优先级的队列中。
判断模块22,用于判断当前处理的队列完成的处理请求是否达到预设处理能力值。
处理模块23,用于当前处理的队列完成的处理请求达到预设处理能力值,按照优先级由高到低的顺序对所有队列进行循环处理。
进一步地,处理模块23包括:计算单元231,用于按照预设处理能力值,每处理完成一个请求,当前处理值为预设处理能力值减少1,若当前处理值为0,则按照优先级由高到低的顺序对所有队列进行处理;
重置单元232,用于当所有队列处理完成,将所有队列当前处理值重置为预设处理能力值,按照优先级由高到低的顺序对所有队列进行处理。
进一步地,本系统中请求包括:用户的读/写请求或GC读/写或GC擦请求。
进一步地,本系统不同请求的优先级为:用户的读/写请求,GC读/写,GC擦请求。
由于本发明所提供的一种固态硬盘中优先权调度的系统部分的实施例与方法部分的实施例相互对应,因此系统部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
综上所述,本发明所提供的一种固态硬盘中优先权调度的方法和系统,通过把不同的请求分配不同的优先级队列中,按照优先级由高到低的顺序对所有队列中的请求进行处理,在不同的场景和情况下,用户可以调整各个队列的优先级,将最常用请求的优先级调制最高,便可以降低用户常用请求的时延抖动;另外,本发明所提供的方案中,还对各个优先级分配一个预设处理能力值,当正在处理的队列已处理完成的请求达到预设处理能力值,则按照优先级由高到低的顺序对所有队列进行循环处理,所以优先级低的队列的中的请求不会被长期搁置得不到处理;所以,与现有技术相比,本发明所提供的固态硬盘中优先权调度的方案,能够按照用户需要优先处理用户常用的请求,减小常用请求的时延抖动,相同请求的时延一致性得到了保证,并且优先级低的请求或操作也不会被长期搁置得不到处理。
以上对本发明所提供的一种固态硬盘中优先权调度的方法和系统进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (8)
1.一种固态硬盘中优先权调度的方法,其特征在于,包括:
将不同请求分配到不同优先级的队列中;
判断当前处理的队列完成的处理请求是否达到预设处理能力值;
若是,则按照优先级由高到低的顺序对所有队列进行循环处理。
2.根据权利要求1所述的方法,其特征在于,所述按照优先级由高到低的顺序对所有队列进行循环处理包括:
按照所述预设处理能力值,每处理完成一个请求,当前处理值为所述预设处理能力值减少1,若所述当前处理值为0,则按照优先级由高到低的顺序对所有队列进行处理;
当所有队列处理完成,将所有队列当前处理值重置为预设处理能力值,按照优先级由高到低的顺序对所有队列进行处理。
3.根据权利要求1所述的方法,其特征在于,所述请求包括:
用户的读/写请求或GC读/写或GC擦请求。
4.根据权利要求1所述的方法,其特征在于:
不同请求的优先级顺序由高到低为:用户的读/写请求,GC读/写,GC擦请求。
5.一种固态硬盘中优先权调度的系统,其特征在于,包括:
分配模块,用于将不同请求分配到不同优先级的队列中;
判断模块,用于判断当前处理的队列完成的处理请求是否达到所述预设处理能力值;
处理模块,用于当前处理的队列完成的处理请求达到所述预设处理能力值时,按照优先级由高到低的顺序对所有队列进行循环处理。
6.根据权利要求5所述的系统,其特征在于,所述处理模块包括:
计算单元,用于按照所述预设处理能力值,每处理完成一个请求,当前处理值为所述预设处理能力值减少1,若所述当前处理值为0,则按照优先级由高到低的顺序对所有队列进行处理;
重置单元,用于当所有队列处理完成,将所有队列当前处理值重置为预设处理能力值,按照优先级由高到低的顺序对所有队列进行处理。
7.根据权利要求5所述的系统,其特征在于,所述请求包括:
用户的读/写请求或GC读/写或GC擦请求。
8.根据权利要求5所述的系统,其特征在于:
不同请求的优先级顺序由高到低为:用户的读/写请求,GC读/写,GC擦请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710611596.2A CN107368263A (zh) | 2017-07-25 | 2017-07-25 | 一种固态硬盘中优先权调度的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710611596.2A CN107368263A (zh) | 2017-07-25 | 2017-07-25 | 一种固态硬盘中优先权调度的方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107368263A true CN107368263A (zh) | 2017-11-21 |
Family
ID=60307686
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710611596.2A Pending CN107368263A (zh) | 2017-07-25 | 2017-07-25 | 一种固态硬盘中优先权调度的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107368263A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388526A (zh) * | 2018-01-19 | 2018-08-10 | 深圳市金玺智控技术有限公司 | 一种读取控制器数据的方法和系统 |
CN109062514A (zh) * | 2018-08-16 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于命名空间的带宽控制方法、装置和存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157963A (en) * | 1998-03-24 | 2000-12-05 | Lsi Logic Corp. | System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients |
CN103336669A (zh) * | 2013-05-21 | 2013-10-02 | 华中科技大学 | 一种基于固态盘内部并行性的i/o调度方法及调度器 |
CN105549910A (zh) * | 2015-12-14 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种io调度方法及装置 |
CN106293917A (zh) * | 2016-08-09 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种IO调度cfq算法的优化方法及系统 |
CN106681661A (zh) * | 2016-12-23 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘中读写调度方法及装置 |
CN106681660A (zh) * | 2016-12-17 | 2017-05-17 | 郑州云海信息技术有限公司 | Io调度方法及io调度装置 |
-
2017
- 2017-07-25 CN CN201710611596.2A patent/CN107368263A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6157963A (en) * | 1998-03-24 | 2000-12-05 | Lsi Logic Corp. | System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients |
CN103336669A (zh) * | 2013-05-21 | 2013-10-02 | 华中科技大学 | 一种基于固态盘内部并行性的i/o调度方法及调度器 |
CN105549910A (zh) * | 2015-12-14 | 2016-05-04 | 浪潮(北京)电子信息产业有限公司 | 一种io调度方法及装置 |
CN106293917A (zh) * | 2016-08-09 | 2017-01-04 | 浪潮(北京)电子信息产业有限公司 | 一种IO调度cfq算法的优化方法及系统 |
CN106681660A (zh) * | 2016-12-17 | 2017-05-17 | 郑州云海信息技术有限公司 | Io调度方法及io调度装置 |
CN106681661A (zh) * | 2016-12-23 | 2017-05-17 | 郑州云海信息技术有限公司 | 一种固态硬盘中读写调度方法及装置 |
Non-Patent Citations (2)
Title |
---|
康胤 等: "基于公平性的Xen虚拟机磁盘调度改进算法", 《科技信息》 * |
赖宗澐: "Xen虚拟机存储系统优化", 《中国优秀硕士学位论文全文数据库信息科技辑》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108388526A (zh) * | 2018-01-19 | 2018-08-10 | 深圳市金玺智控技术有限公司 | 一种读取控制器数据的方法和系统 |
CN109062514A (zh) * | 2018-08-16 | 2018-12-21 | 郑州云海信息技术有限公司 | 一种基于命名空间的带宽控制方法、装置和存储介质 |
CN109062514B (zh) * | 2018-08-16 | 2021-08-31 | 郑州云海信息技术有限公司 | 一种基于命名空间的带宽控制方法、装置和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9413683B2 (en) | Managing resources in a distributed system using dynamic clusters | |
US20240289173A1 (en) | Task processing method and apparatus, device, and medium | |
RU2599967C2 (ru) | Управление жизненным циклом приложений | |
US20140359632A1 (en) | Efficient priority-aware thread scheduling | |
US20170068574A1 (en) | Multiple pools in a multi-core system | |
CN104011685A (zh) | 一种虚拟机系统的资源管理方法、虚拟机系统和装置 | |
WO2014019428A1 (en) | Method and system for allocating fpga resources | |
US11010094B2 (en) | Task management method and host for electronic storage device | |
CN104199784B (zh) | 一种基于分级存储的数据迁移方法及装置 | |
CN106776395B (zh) | 一种共享集群的任务调度方法及装置 | |
WO2021093365A1 (zh) | 一种gpu显存管理控制方法及相关装置 | |
US9952911B2 (en) | Dynamically optimized device driver protocol assist threads | |
US9652027B2 (en) | Thread scheduling based on performance state and idle state of processing units | |
CN107704310B (zh) | 一种实现容器集群管理的方法、装置和设备 | |
US20170004087A1 (en) | Adaptive cache management method according to access characteristics of user application in distributed environment | |
CN111078353A (zh) | 存储设备的操作方法及物理服务器 | |
CN107368263A (zh) | 一种固态硬盘中优先权调度的方法和系统 | |
CN113032102A (zh) | 资源重调度方法、装置、设备和介质 | |
US9436608B1 (en) | Memory nest efficiency with cache demand generation | |
WO2018133821A1 (en) | Memory-aware plan negotiation in query concurrency control | |
CN111338803A (zh) | 一种线程处理方法和装置 | |
CN109189581B (zh) | 一种作业调度方法和装置 | |
CN114721818A (zh) | 一种基于Kubernetes集群的GPU分时共享方法和系统 | |
CN100461117C (zh) | 可调整工作频率的硬件元件的效能最佳化方法 | |
US10976934B2 (en) | Prioritizing pages to transfer for memory sharing |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171121 |