CN110362275A - 提升固态硬盘服务质量的方法及固态硬盘 - Google Patents
提升固态硬盘服务质量的方法及固态硬盘 Download PDFInfo
- Publication number
- CN110362275A CN110362275A CN201910619194.6A CN201910619194A CN110362275A CN 110362275 A CN110362275 A CN 110362275A CN 201910619194 A CN201910619194 A CN 201910619194A CN 110362275 A CN110362275 A CN 110362275A
- Authority
- CN
- China
- Prior art keywords
- request
- untreated
- hard disk
- solid state
- state hard
- 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
- 239000007787 solid Substances 0.000 title claims abstract description 109
- 238000000034 method Methods 0.000 title claims abstract description 55
- 238000003860 storage Methods 0.000 claims abstract description 41
- 238000012545 processing Methods 0.000 claims abstract description 21
- 230000001737 promoting effect Effects 0.000 claims abstract description 20
- 238000004590 computer program Methods 0.000 claims description 35
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims description 17
- 230000006870 function Effects 0.000 description 13
- 238000010586 diagram Methods 0.000 description 9
- 230000006872 improvement Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000010168 coupling process Methods 0.000 description 6
- 238000005859 coupling reaction Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000009826 distribution Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000003068 static effect Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 3
- 241000208340 Araliaceae Species 0.000 description 2
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 2
- 230000001680 brushing effect Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000008434 ginseng Nutrition 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000012913 prioritisation Methods 0.000 description 2
- 230000000750 progressive effect Effects 0.000 description 2
- 238000011897 real-time detection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
- 238000005303 weighing Methods 0.000 description 1
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/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/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/061—Improving I/O performance
- G06F3/0613—Improving I/O performance in relation to throughput
-
- 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/0629—Configuration or reconfiguration of storage systems
- G06F3/0631—Configuration or reconfiguration of storage systems by allocating resources to storage 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
-
- 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)
- Memory System Of A Hierarchy Structure (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种提升固态硬盘服务质量的方法及固态硬盘,所述方法包括:周期性获取写I/O请求对应的剩余存储资源,结合写I/O请求的资源消耗速度确定写I/O请求的资源待消耗时间;根据写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间;识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序;根据未处理的I/O请求的排序处理未处理的I/O请求。本发明通过计算出写I/O请求的最大调度延迟时间,并结合未处理的I/O请求的到达时间对未处理的I/O请求的处理顺序进行调整,避免存储资源使用完而导致固态硬盘性能大幅波动,提升了服务质量。
Description
技术领域
本发明涉及数据存储技术领域,尤其涉及一种提升固态硬盘服务质量的方法及固态硬盘。
背景技术
SSD(固态硬盘)已经被广泛应用于各种场合,随着计算机的性能要求提升,作为关键因素之一的固态硬盘的性能是影响全局性能的重点因素。
熟悉SSD(固态硬盘)的人都知道,SSD硬盘的I/O时延、IOPS和带宽的稳定性,是衡量SSD优劣的一个关键性指标,也是影响SSD QOS性能的关键要素。固态硬盘的物理器件主要由三大部分组成:主控制器、DDR、NAND颗粒芯片。SSD固件从功能上可划分为前端(FE)、Flash转换层(FTL)和后端(BE)组成。FE负责处理主机I/O请求的协议转换,FTL主要负责存储空间的逻辑地址到物理地址转换,BE主要负责NAND芯片的I/O调度和NAND接口协议转换。由于SSD颗粒读写性能和特性的差异,对于主机的读I/O请求,都是直接下发到后端从NAND中直接读取;而对于写I/O请求,都是先写入DDR缓存中,返回主机后通过刷Cache的方式写入NAND。
但是,由于NAND的介质特性,NAND必须要在擦除过后才能写入,所以在FTL层有一个垃圾回收功能(GC),对数据进行搬迁和无效数据进行擦除,为后续的写回收存储空间。为了保证主机的读时延,系统BE都是优先调度主机的读I/O请求,主机写I/O请求通过Cache进行性能优化。由于传统的BE调度方式主要都是采用固定I/O类型比例调度方式,但是由于Cache大小限制,很容易因系统不同I/O请求类型的数量变化导致Cache不足引起性能的大幅波动,如系统内部GC启动后,即使主机I/O模型不变化,也因GC产生大量的后台读I/O请求、写I/O请求和擦除I/O请求,从而导致主机读写性能下降,而且导致I/O性能指标的大幅波动,这些因素都会导致QOS性能指标大幅降低。
发明内容
本发明提供了一种提升固态硬盘服务质量的方法及固态硬盘,以解决现有的固态硬盘在不同I/O类型的数据急剧增加时,导致主机读写性能下降而引起I/O性能指标大幅波动的问题。
为了解决上述问题,本发明提供了一种提升固态硬盘服务质量的方法,其特征在于,其包括:周期性获取写I/O请求对应的剩余存储资源,结合写I/O请求的资源消耗速度确定写I/O请求的资源待消耗时间;根据写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间;识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序;根据未处理的I/O请求的排序处理未处理的I/O请求。
作为本发明的进一步改进,未处理的I/O请求包括读I/O请求、写I/O请求和/或擦除I/O请求。
作为本发明的进一步改进,剩余存储资源为当前Cache水位,资源消耗速度为当前写I/O请求的带宽。
作为本发明的进一步改进,根据写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间的步骤,包括:根据预设Cache水位警戒线阈值和写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间。
作为本发明的进一步改进,识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序的步骤,包括:分别获取每一个读I/O请求、每一个写I/O请求和/或每一个擦除I/O请求的到达时间;根据到达时间和最大调度延迟时间调整读I/O请求、写I/O请求和/或擦除I/O请求之间的顺序。
为了解决上述问题,本发明还提供了一种固态硬盘,包括存储器和处理器,处理器耦接存储器,存储器上存储有可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述任一项提升固态硬盘服务质量的方法中的步骤。
为了解决上述问题,本发明还提供了一种提升固态硬盘服务质量的方法,其包括:周期性获取固态硬盘的空闲空间,通过空闲空间确定擦除I/O请求的最大调度延迟时间;识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序;根据未处理的I/O请求的排序处理未处理的I/O请求。
作为本发明的进一步改进,未处理的I/O请求包括读I/O请求、擦除I/O请求和/或写I/O请求。
作为本发明的进一步改进,识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序的步骤,包括:分别获取每一个读I/O请求、每一个擦除I/O请求和/或每一个写I/O请求的到达时间;根据到达时间和最大调度延迟时间调整读I/O请求、擦除I/O请求和/或写I/O请求之间的顺序。
为了解决上述问题,本发明还提供了一种固态硬盘,包括存储器和处理器,处理器耦接存储器,存储器上存储有可在处理器上运行的计算机程序,处理器执行计算机程序时,实现上述任一项提升固态硬盘服务质量的方法中的步骤。
相比于现有技术,本发明通过周期性获取写I/O请求对应的剩余存储资源和资源消耗速度,从而计算得到写I/O请求的资源待消耗时间,并根据资源待消耗时间设定写I/O请求的最大调度延迟时间,再结合未处理的I/O请求的到达时间和写I/O请求的最大调度延迟时间对所有的未处理的I/O请求进行排序,并按顺序进行处理,其中,周期性的设置使得可以对写I/O请求的剩余存储资源动态分配,避免了当I/O请求激增时,存储资源分配不合理导致固态硬盘整体性能大幅度波动的问题,提高了固态硬盘的服务质量。
附图说明
图1展示了本发明提升固态硬盘服务质量的方法第一个实施例的流程示意图;
图2展示了固态硬盘处理读/写I/O请求的结构示意图;
图3展示了本发明提升固态硬盘服务质量的方法第二个实施例流程图;
图4展示了本发明读I/O请求和写I/O请求排序时的调度示意图;
图5展示了本发明提升固态硬盘服务质量的系统第一个实施例的功能模块示意图;
图6展示了本发明固态硬盘第一个实施例的框架结构示意图;
图7展示了本发明提升固态硬盘服务质量的方法第三个实施例的流程示意图;
图8展示了本发明提升固态硬盘服务质量的方法第四个实施例的流程示意图;
图9展示了本发明提升固态硬盘服务质量的系统第二个实施例的功能模块示意图;
图10展示了本发明固态硬盘第二个实施例的框架结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用来限定本发明。
图1展示了本发明提升固态硬盘服务质量的方法的一个实施例。在本实施例中,该提升固态硬盘服务质量的方法应用于固态硬盘,通常地,固态硬盘中,在接收到I/O请求时,需要分配相应的存储资源来处理该I/O请求,例如,以读/写I/O请求为例进行说明,如图2所示,固态硬盘的固件通常包括前端(FE)、Flash转换层(FTL)和后端(BE),在接收到主机发送的读I/O请求时,如图中实线箭头所示,直接从前端下发至后端,再从NAND中直接读取,并反馈至主机,而针对于写I/O请求,如图中虚线箭头所示,则是通过前端将内容写入DDR中,并返回给主机,再通过刷Cache(即DDR)的方式将写I/O请求的内容写入至NAND中,由此可知,影响写性能的主要是DDR的大小,即缓存的大小,而当DDR的存储空间被大量占用时则会降低写性能,导致固态硬盘的写性能发生大幅波动,因此,若要提升固态硬盘服务质量,则需要避免出现存储资源分配不合理的问题。如图1所示,本发明实施例的提升固态硬盘服务质量的方法包括以下步骤:
步骤S10,周期性获取写I/O请求对应的剩余存储资源,结合写I/O请求的资源消耗速度确定写I/O请求的资源待消耗时间。
需要说明的是,获取写I/O请求对应的剩余存储资源的周期预先设定。通常地,影响写I/O请求处理性能的是Cache的大小。本实施例中,剩余存储资源为当前Cache水位,资源消耗速度为当前写I/O请求的带宽。
具体地,获取写I/O请求类型对应的剩余存储资源之后,再结合写I/O请求对应的资源消耗速度即可计算出写I/O请求对应的资源待消耗时间,例如,假设Cache的大小为10MB,当前系统的写I/O请求带宽为500MB/s,则可计算得到Cache的资源待消耗时间,资源待消耗时间=Cache的大小/(写I/O请求带宽)=20ms,即在Cache水位为0的情况下,Cache的资源待消耗时间为20ms。并且,周期性的获取使得本实施例可周期性确定写I/O请求的资源待消耗时间。
步骤S11,根据写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间。
具体地,在计算得到写I/O请求的资源待消耗时间后,根据该资源待消耗时间设定写I/O请求的最大调度延迟时间,通常地,为了避免Cache出现水位过高而影响固态硬盘读写性能的情况,该步骤S11具体包括:
根据预设Cache水位警戒线阈值和写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间。
具体地,预设Cache水位警戒线阈值通常设置为Cache的80%,当Cache水位上升至80%时即进入警戒水位,一般情况下,维持Cache水位低于预设Cache水位警戒线阈值即可保证固态硬盘的写I/O请求的性能不受影响,因此,针对于写I/O请求,写I/O请求的最大调度延迟时间根据Cache水位警戒线阈值和写I/O请求的资源待消耗时间设定,例如,当Cache的资源待消耗时间为20ms,预设Cache水位警戒线阈值为80%时,最大调度延迟时间为16ms。
步骤S12,识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序。
需要说明的是,本实施例中,未处理的I/O请求包括读I/O请求、写I/O请求和/或擦除I/O请求。
具体地,在识别所有未处理的I/O请求之后,获取每一个未处理的I/O请求的到达时间,再结合该到达时间和最大调度延迟时间对所有未处理的I/O请求进行排序。
进一步的,通常情况下,读I/O请求的时延要远小于写I/O请求和擦除I/O请求的时延,系统需要尽量的优先调度读I/O请求,以此来提升固态硬盘的整体性能,因此,上述实施例的基础上,其他实施例中,如图3所示,步骤S12包括:
步骤S120,分别获取每一个读I/O请求、每一个写I/O请求和/或每一个擦除I/O请求的到达时间。
步骤S121,根据到达时间和最大调度延迟时间调整读I/O请求、写I/O请求和擦除I/O请求之间的顺序。
需要说明的是,根据未处理I/O的到达时间与最大延迟调度时间的和确定调度时间,统一按时间先后进行排序,确定所有未处理I/O的调度顺序。
优选的,在获取所有未处理的I/O请求的到达时间之后,根据到达时间和写I/O请求的最大调度延迟时间对未处理的I/O请求进行排序,其中,在最大调度延迟时间内优先排列读I/O请求,例如,假设当前的Cache水位为0,最大调度延迟时间为16ms,则在对未处理的I/O请求进行排序时,参照图4所示进行排序,保证在最大调度延迟时间内优先排列读I/O请求,保证固态硬盘的性能。
步骤S13,根据未处理的I/O请求的排序处理未处理的I/O请求。
本实施例通过周期性获取写I/O请求对应的剩余存储资源和资源消耗速度,从而计算得到写I/O请求的资源待消耗时间,并根据资源待消耗时间设定写I/O请求的最大调度延迟时间,再结合未处理的I/O请求的到达时间和写I/O请求的最大调度延迟时间对所有的未处理的I/O请求进行排序,并按顺序进行处理,其中,周期性的设置使得可以对写I/O请求的剩余存储资源动态分配,避免了当I/O请求激增时,存储资源分配不合理导致固态硬盘整体性能大幅度波动的问题,提高了固态硬盘的服务质量。
进一步的,在一些实施例中,还可通过实时检测剩余存储资源的变化情况,当剩余存储资源发生较大幅度变化时,及时根据剩余存储资源来动态调整未处理的I/O请求的处理顺序,避免存储资源被使用完造成固态硬盘性能大幅波动。
图5展示了本发明提升固态硬盘服务质量的系统的一个实施例,如图5所示,在本实施例中,该固态硬盘包括第一计算模块10、设定模块11、第一排序模块12和第一处理模块13。
其中,第一计算模块10,用于周期性获取写I/O请求对应的剩余存储资源,结合写I/O请求的资源消耗速度确定写I/O请求的资源待消耗时间;设定模块11,用于根据写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间;第一排序模块12,用于识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序;第一处理模块13,用于根据未处理的I/O请求的排序处理未处理的I/O请求。
上述实施例的基础上,其他实施例中,未处理的I/O请求包括读I/O请求、写I/O请求和/或擦除I/O请求。
上述实施例的基础上,其他实施例中,剩余存储资源为当前Cache水位,资源消耗速度为当前写I/O请求的带宽。
上述实施例的基础上,其他实施例中,设定模块11根据写I/O请求的资源待消耗时间设定写I/O请求的最大调度延迟时间,具体为:根据预设Cache水位警戒线阈值和写I/O请求的资源待消耗时间设定读/写I/O请求的最大调度延迟时间。
上述实施例的基础上,其他实施例中,第一排序模块12识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序具体包括:分别获取每一个读I/O请求、每一个写I/O请求和/或每一个擦除I/O请求的到达时间;根据到达时间和最大调度延迟时间调整读I/O请求、写I/O请求和/或擦除I/O请求之间的顺序。
关于上述实施例中提升固态硬盘服务质量的系统各模块实现技术方案的其他细节,可参见上述实施例中的提升固态硬盘服务质量的方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图6展示了本发明固态硬盘的一个实施例的示意框图。参见图6,该实施例中的固态硬盘包括:一个或至少两个处理器80、存储器81以及存储在该存储器81中并可在处理器80上运行的计算机程序810。处理器80执行计算机程序810时,实现上述实施例描述的提升固态硬盘服务质量的方法中的步骤,例如:图1所示的步骤S10-步骤S13。或者,处理器80执行计算机程序810时,实现上述提升固态硬盘服务质量的系统实施例中各模块/单元的功能,例如:图5所示模块10-模块13的功能。
计算机程序810可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器81中,并由处理器80执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序810在固态硬盘中的执行过程。
固态硬盘包括但不仅限于处理器80、存储器81。本领域技术人员可以理解,图6仅仅是固态硬盘的一个示例,并不构成对固态硬盘的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
处理器80可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器81可以是只读存储器、可存储静态信息和指令的静态固态硬盘、随机存取存储器、或者可存储信息和指令的动态固态硬盘,也可以是电可擦可编程只读存储器、只读光盘、或其他光盘存储、光碟存储、磁盘存储介质或者其他磁固态硬盘。存储器81与处理器80可以通过通信总线相连接,也可以和处理器80集成在一起。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例还提供了一种存储介质,用于存储计算机程序,其包含用于执行本申请上述提升固态硬盘服务质量的方法实施例所设计的程序数据。通过执行该存储介质中存储的计算机程序,可以实现本申请提供的提升固态硬盘服务质量的方法。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序810来指令相关的硬件来完成,计算机程序810可存储于一计算机可读存储介质中,该计算机程序810在被处理器80执行时,可实现上述各个方法实施例的步骤。其中,计算机程序810包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
图7展示了本发明提升固态硬盘服务质量的方法的另一个实施例。如图7所示,该提升固态硬盘服务质量的方法包括:
步骤S20,周期性获取固态硬盘的空闲空间,通过空闲空间确定擦除I/O请求的最大调度延迟时间。
需要说明的是,本实施例中所述的固态硬盘的空闲空间是指处理擦除I/O请求时固态硬盘的剩余存储空间,也即固态硬盘中空闲的物理块,获取固态硬盘的空闲空间周期预先设定。可以理解的是,当固态硬盘中空闲空间较多时,可以延迟对擦除I/O请求的处理,因此,擦除I/O请求的最大调度延迟时间相对会较长;反之,当固态硬盘中空闲空间较少时,需优先对擦除I/O请求的处理,以擦除数据留出空闲空间供其他数据写入,此时,擦除I/O请求的最大调度延迟时间相对会较短。
具体地,在获取固态硬盘的空闲空间之后,结合擦除I/O请求的资源消耗速度计算出擦除I/O请求对应的资源待消耗时间,从而确定擦除I/O请求的最大调度延迟时间。并且,周期性获取使得本实施例可周期性确定擦除I/O请求的最大调度延迟时间。
进一步的,可以设置一个最低空闲空间阈值,当达到最低空闲空间阈值时,即启动擦除,根据最低空闲空间阈值可确定擦除I/O请求的最大调度延迟时间。
步骤S21,识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序。
需要说明的是,本实施例中,未处理的I/O请求包括读I/O请求、擦除I/O请求和/或写I/O请求。
具体地,在识别所有未处理的I/O请求之后,获取每一个未处理的I/O请求的到达时间,再结合该到达时间和最大调度延迟时间对所有未处理的I/O请求进行排序。
进一步的,通常情况下,读I/O请求的时延要远小于擦除I/O请求和写I/O请求的时延,系统需要尽量的优先调度读I/O请求,以此来提升固态硬盘的整体性能,因此,当未处理的I/O请求为读I/O请求时,上述实施例的基础上,其他实施例中,如图8所示,步骤S21包括:
步骤S210,分别获取每一个读I/O请求、每一个擦除I/O请求和/或每一个写I/O请求的到达时间。
步骤S211,根据到达时间和最大调度延迟时间调整读I/O请求、擦除I/O请求和/或写I/O请求之间的顺序。
需要说明的是,根据未处理I/O的到达时间与最大延迟调度时间的和确定调度时间,统一按时间先后进行排序,确定所有未处理I/O的调度顺序。
优选的,在获取所有未处理的I/O请求的到达时间之后,根据到达时间和擦除I/O请求的最大调度延迟时间对未处理的I/O请求进行排序,其中,在最大调度延迟时间内优先排列读I/O请求,以保证固态硬盘的性能。
步骤S22,根据未处理的I/O请求的排序处理未处理的I/O请求。
本实施例通过周期性获取擦除I/O请求对应的空闲空间,从而计算得到擦除I/O请求的最大调度延迟时间,再结合未处理的I/O请求的到达时间和擦除I/O请求的最大调度延迟时间对所有的未处理的I/O请求进行排序,并按顺序进行处理,其中,周期性的设置使得可以对擦除I/O请求对应的空闲空间动态分配,避免了当I/O请求激增时,擦除I/O请求对应的空闲空间分配不合理导致固态硬盘整体性能大幅度波动的问题,提高了固态硬盘的服务质量。
进一步的,在一些实施例中,还可通过实时检测擦除I/O请求对应的空闲空间的变化情况,当空闲空间发生较大幅度变化时,及时根据空闲空间来动态调整未处理的I/O请求的处理顺序,避免存储资源被使用完造成固态硬盘性能大幅波动。
图9展示了本发明提升固态硬盘服务质量的系统的另一个实施例。如图9所示,在本实施例中,该该提升固态硬盘服务质量的系统包括第二计算模块20、第二排序模块21和第二处理模块22。
其中,第二计算模块20,用于周期性获取固态硬盘的空闲空间,通过空闲空间确定擦除请求的最大调度延迟时间;第二排序模块21,用于识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序;第二处理模块22,用于根据未处理的I/O请求的排序处理未处理的I/O请求。
上述实施例的基础上,其他实施例中,未处理的I/O请求包括读I/O请求、擦除I/O请求和/或写I/O请求。
上述实施例的基础上,其他实施例中,第二排序模块21识别未处理的I/O请求所属的类型,获取未处理的I/O请求的到达时间,结合最大调度延迟时间将未处理的I/O请求进行排序具体包括:分别获取每一个读I/O请求、每一个擦除I/O请求和/或每一个写I/O请求的到达时间;根据到达时间和最大调度延迟时间调整读I/O请求、擦除I/O请求和/或写I/O请求之间的顺序,并在最大调度延迟时间内优先排列读I/O请求。
关于上述实施例中提升固态硬盘服务质量的系统各模块实现技术方案的其他细节,可参见上述实施例中的提升固态硬盘服务质量的方法中的描述,此处不再赘述。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
图10展示了本发明固态硬盘的另一个实施例的示意框图。参见图10,该实施例中的固态硬盘包括:一个或至少两个处理器90、存储器91以及存储在该存储器91中并可在处理器90上运行的计算机程序910。处理器90执行计算机程序910时,实现上述实施例描述的提升固态硬盘服务质量的方法中的步骤,例如:图7所示的步骤S20-步骤S22。或者,处理器90执行计算机程序910时,实现上述提升固态硬盘服务质量的系统实施例中各模块/单元的功能,例如:图9所示模块20-模块22的功能。
计算机程序910可以被分割成一个或多个模块/单元,一个或者多个模块/单元被存储在存储器91中,并由处理器90执行,以完成本申请。一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述计算机程序910在固态硬盘中的执行过程。
固态硬盘包括但不仅限于处理器90、存储器91。本领域技术人员可以理解,图10仅仅是固态硬盘的一个示例,并不构成对固态硬盘的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件。
处理器90可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器91可以是只读存储器、可存储静态信息和指令的静态固态硬盘、随机存取存储器、或者可存储信息和指令的动态固态硬盘,也可以是电可擦可编程只读存储器、只读光盘、或其他光盘存储、光碟存储、磁盘存储介质或者其他磁固态硬盘。存储器91与处理器90可以通过通信总线相连接,也可以和处理器90集成在一起。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的系统实施例仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
本申请实施例还提供了一种存储介质,用于存储计算机程序,其包含用于执行本申请上述提升固态硬盘服务质量的方法实施例所设计的程序数据。通过执行该存储介质中存储的计算机程序,可以实现本申请提供的提升固态硬盘服务质量的方法。
集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序910来指令相关的硬件来完成,计算机程序910可存储于一计算机可读存储介质中,该计算机程序910在被处理器90执行时,可实现上述各个方法实施例的步骤。其中,计算机程序910包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括是电载波信号和电信信号。
以上对发明的具体实施方式进行了详细说明,但其只作为范例,本发明并不限制于以上描述的具体实施方式。对于本领域的技术人员而言,任何对该发明进行的等同修改或替代也都在本发明的范畴之中,因此,在不脱离本发明的精神和原则范围下所作的均等变换和修改、改进等,都应涵盖在本发明的范围内。
Claims (10)
1.一种提升固态硬盘服务质量的方法,其特征在于,其包括:
周期性获取写I/O请求对应的剩余存储资源,结合所述写I/O请求的资源消耗速度确定所述写I/O请求的资源待消耗时间;
根据所述写I/O请求的资源待消耗时间设定所述写I/O请求的最大调度延迟时间;
识别未处理的I/O请求所属的类型,获取所述未处理的I/O请求的到达时间,结合所述最大调度延迟时间将所述未处理的I/O请求进行排序;
根据所述未处理的I/O请求的排序处理所述未处理的I/O请求。
2.根据权利要求1所述的提升固态硬盘服务质量的方法,其特征在于,所述未处理的I/O请求包括读I/O请求、写I/O请求和/或擦除I/O请求。
3.根据权利要求1所述的提升固态硬盘服务质量的方法,其特征在于,所述剩余存储资源为当前Cache水位,所述资源消耗速度为当前写I/O请求的带宽。
4.根据权利要求3所述的提升固态硬盘服务质量的方法,其特征在于,所述根据所述写I/O请求的资源待消耗时间设定所述写I/O请求的最大调度延迟时间的步骤,包括:
根据预设Cache水位警戒线阈值和所述写I/O请求的资源待消耗时间设定所述写I/O请求的最大调度延迟时间。
5.根据权利要求2所述的提升固态硬盘服务质量的方法,其特征在于,所述识别未处理的I/O请求所属的类型,获取所述未处理的I/O请求的到达时间,结合所述最大调度延迟时间将所述未处理的I/O请求进行排序的步骤,包括:
分别获取每一个读I/O请求、每一个写I/O请求和/或每一个擦除I/O请求的到达时间;
根据所述到达时间和所述最大调度延迟时间调整所述读I/O请求、写I/O请求和/或所述擦除I/O请求之间的顺序。
6.一种固态硬盘,其特征在于,包括存储器和处理器,所述处理器耦接所述存储器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求1-5任一项所述提升固态硬盘服务质量的方法中的步骤。
7.一种提升固态硬盘服务质量的方法,其特征在于,其包括:
周期性获取所述固态硬盘的空闲空间,通过所述空闲空间确定擦除I/O请求的最大调度延迟时间;
识别未处理的I/O请求所属的类型,获取所述未处理的I/O请求的到达时间,结合所述最大调度延迟时间将所述未处理的I/O请求进行排序;
根据所述未处理的I/O请求的排序处理所述未处理的I/O请求。
8.根据权利要求7所述的提升固态硬盘服务质量的方法,其特征在于,所述未处理的I/O请求包括读I/O请求、擦除I/O请求和/或写I/O请求。
9.根据权利要求8所述的提升固态硬盘服务质量的方法,其特征在于,所述识别未处理的I/O请求所属的类型,获取所述未处理的I/O请求的到达时间,结合所述最大调度延迟时间将所述未处理的I/O请求进行排序的步骤,包括:
分别获取每一个读I/O请求、每一个擦除I/O请求和/或每一个写I/O请求的到达时间;
根据所述到达时间和所述最大调度延迟时间调整所述读I/O请求、所述擦除I/O请求和/或所述写I/O请求之间的顺序。
10.一种固态硬盘,包括存储器和处理器,所述处理器耦接所述存储器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现权利要求7-9任一项所述提升固态硬盘服务质量的方法中的步骤。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910619194.6A CN110362275B (zh) | 2019-07-10 | 2019-07-10 | 提升固态硬盘服务质量的方法及固态硬盘 |
PCT/CN2020/098672 WO2021004310A1 (zh) | 2019-07-10 | 2020-06-29 | 提升固态硬盘服务质量的方法及固态硬盘 |
US17/532,175 US11886743B2 (en) | 2019-07-10 | 2021-11-22 | Method for enhancing quality of service of solid-state drive and solid-state drive |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910619194.6A CN110362275B (zh) | 2019-07-10 | 2019-07-10 | 提升固态硬盘服务质量的方法及固态硬盘 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110362275A true CN110362275A (zh) | 2019-10-22 |
CN110362275B CN110362275B (zh) | 2021-09-07 |
Family
ID=68218469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910619194.6A Active CN110362275B (zh) | 2019-07-10 | 2019-07-10 | 提升固态硬盘服务质量的方法及固态硬盘 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11886743B2 (zh) |
CN (1) | CN110362275B (zh) |
WO (1) | WO2021004310A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112054923A (zh) * | 2020-08-24 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 业务请求检测方法、设备及介质 |
WO2021004310A1 (zh) * | 2019-07-10 | 2021-01-14 | 深圳大普微电子科技有限公司 | 提升固态硬盘服务质量的方法及固态硬盘 |
WO2021120218A1 (zh) * | 2019-12-20 | 2021-06-24 | 华为技术有限公司 | 一种提升ssd利用率的方法、存储装置及ssd控制器 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117130547B (zh) * | 2023-08-01 | 2024-05-28 | 上海沄熹科技有限公司 | 一种存储引擎数据落盘平滑背压方法及装置 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508619A (zh) * | 2011-11-21 | 2012-06-20 | 成都市华为赛门铁克科技有限公司 | 存储系统服务质量控制方法、系统和存储系统 |
CN102799390A (zh) * | 2012-06-14 | 2012-11-28 | 国家超级计算深圳中心(深圳云计算中心) | 能耗感知的协同式自适应预取方法和中间件 |
US20160162186A1 (en) * | 2014-12-09 | 2016-06-09 | San Disk Technologies Inc. | Re-Ordering NAND Flash Commands for Optimal Throughput and Providing a Specified Quality-of-Service |
CN105677744A (zh) * | 2015-12-28 | 2016-06-15 | 曙光信息产业股份有限公司 | 一种文件系统中提高服务质量的方法和装置 |
CN107832008A (zh) * | 2017-10-25 | 2018-03-23 | 记忆科技(深圳)有限公司 | 一种提高ssd写性能一致性的方法 |
CN107967224A (zh) * | 2017-10-12 | 2018-04-27 | 记忆科技(深圳)有限公司 | 一种固态硬盘提升性能一致性的方法 |
CN109032503A (zh) * | 2018-06-14 | 2018-12-18 | 浙江大华技术股份有限公司 | 一种固态硬盘数据迁移带宽的流控方法及装置 |
CN109710175A (zh) * | 2017-10-26 | 2019-05-03 | 英特尔公司 | 用于数据存储管理的设备和方法 |
US20190146684A1 (en) * | 2017-11-13 | 2019-05-16 | Western Digital Technologies, Inc. | System and method for qos over nvme virtualization platform using adaptive command fetching |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5737747A (en) * | 1995-10-27 | 1998-04-07 | Emc Corporation | Prefetching to service multiple video streams from an integrated cached disk array |
US6061504A (en) * | 1995-10-27 | 2000-05-09 | Emc Corporation | Video file server using an integrated cached disk array and stream server computers |
US6502213B1 (en) * | 1999-08-31 | 2002-12-31 | Accenture Llp | System, method, and article of manufacture for a polymorphic exception handler in environment services patterns |
US6625750B1 (en) * | 1999-11-16 | 2003-09-23 | Emc Corporation | Hardware and software failover services for a file server |
CN100472372C (zh) * | 2003-07-01 | 2009-03-25 | 飞思卡尔半导体公司 | 无线网络上的数据流同步 |
US8015281B2 (en) * | 2008-04-21 | 2011-09-06 | Microsoft Corporation | Dynamic server flow control in a hybrid peer-to-peer network |
US8166136B2 (en) * | 2008-12-24 | 2012-04-24 | National Institute Of Advanced Industrial Science And Technology | Performance reservation storage management system, storage management method, and storage medium |
US8589625B2 (en) * | 2010-09-15 | 2013-11-19 | Pure Storage, Inc. | Scheduling of reconstructive I/O read operations in a storage environment |
US9898205B1 (en) * | 2013-10-31 | 2018-02-20 | Veritas Technologies Llc | Scheduling of commands in a storage area network to minimize latency |
US20150370490A1 (en) * | 2014-06-24 | 2015-12-24 | Nec Europe Ltd. | Optimizing ssd-based content caches in content delivery networks |
KR101699377B1 (ko) * | 2014-07-02 | 2017-01-26 | 삼성전자주식회사 | 불휘발성 메모리 및 메모리 컨트롤러를 포함하는 스토리지 장치 및 스토리지 장치의 동작 방법 |
US9489141B2 (en) * | 2014-12-18 | 2016-11-08 | Nimble Storage, Inc. | Efficient scheduling of Input/Output requests to reduce latency and maximize throughput in a flash storage device |
CN106227471A (zh) * | 2016-08-19 | 2016-12-14 | 深圳大普微电子科技有限公司 | 固态硬盘和应用于固态硬盘的数据存取方法 |
JP6677627B2 (ja) * | 2016-12-20 | 2020-04-08 | 株式会社ソニー・インタラクティブエンタテインメント | 情報処理装置およびメモリアクセス方法 |
CN106598508A (zh) * | 2016-12-30 | 2017-04-26 | 郑州云海信息技术有限公司 | 一种固态硬盘及其写入仲裁方法、系统 |
CN109388333B (zh) * | 2017-08-08 | 2023-05-05 | 北京忆恒创源科技股份有限公司 | 降低读命令处理延迟的方法与装置 |
CN107832009B (zh) | 2017-10-30 | 2020-10-23 | 厦门万匹思网络科技有限公司 | 一种数据分配方法、设备和计算机存储介质 |
CN110362275B (zh) * | 2019-07-10 | 2021-09-07 | 深圳大普微电子科技有限公司 | 提升固态硬盘服务质量的方法及固态硬盘 |
-
2019
- 2019-07-10 CN CN201910619194.6A patent/CN110362275B/zh active Active
-
2020
- 2020-06-29 WO PCT/CN2020/098672 patent/WO2021004310A1/zh active Application Filing
-
2021
- 2021-11-22 US US17/532,175 patent/US11886743B2/en active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102508619A (zh) * | 2011-11-21 | 2012-06-20 | 成都市华为赛门铁克科技有限公司 | 存储系统服务质量控制方法、系统和存储系统 |
CN102799390A (zh) * | 2012-06-14 | 2012-11-28 | 国家超级计算深圳中心(深圳云计算中心) | 能耗感知的协同式自适应预取方法和中间件 |
US20160162186A1 (en) * | 2014-12-09 | 2016-06-09 | San Disk Technologies Inc. | Re-Ordering NAND Flash Commands for Optimal Throughput and Providing a Specified Quality-of-Service |
CN105677744A (zh) * | 2015-12-28 | 2016-06-15 | 曙光信息产业股份有限公司 | 一种文件系统中提高服务质量的方法和装置 |
CN107967224A (zh) * | 2017-10-12 | 2018-04-27 | 记忆科技(深圳)有限公司 | 一种固态硬盘提升性能一致性的方法 |
CN107832008A (zh) * | 2017-10-25 | 2018-03-23 | 记忆科技(深圳)有限公司 | 一种提高ssd写性能一致性的方法 |
CN109710175A (zh) * | 2017-10-26 | 2019-05-03 | 英特尔公司 | 用于数据存储管理的设备和方法 |
US20190146684A1 (en) * | 2017-11-13 | 2019-05-16 | Western Digital Technologies, Inc. | System and method for qos over nvme virtualization platform using adaptive command fetching |
CN109032503A (zh) * | 2018-06-14 | 2018-12-18 | 浙江大华技术股份有限公司 | 一种固态硬盘数据迁移带宽的流控方法及装置 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021004310A1 (zh) * | 2019-07-10 | 2021-01-14 | 深圳大普微电子科技有限公司 | 提升固态硬盘服务质量的方法及固态硬盘 |
US11886743B2 (en) | 2019-07-10 | 2024-01-30 | Shenzhen Dapu Microelectronics Co., Ltd. | Method for enhancing quality of service of solid-state drive and solid-state drive |
WO2021120218A1 (zh) * | 2019-12-20 | 2021-06-24 | 华为技术有限公司 | 一种提升ssd利用率的方法、存储装置及ssd控制器 |
CN112054923A (zh) * | 2020-08-24 | 2020-12-08 | 腾讯科技(深圳)有限公司 | 业务请求检测方法、设备及介质 |
CN112054923B (zh) * | 2020-08-24 | 2023-08-18 | 腾讯科技(深圳)有限公司 | 业务请求检测方法、设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
US11886743B2 (en) | 2024-01-30 |
WO2021004310A1 (zh) | 2021-01-14 |
CN110362275B (zh) | 2021-09-07 |
US20220083275A1 (en) | 2022-03-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110362275A (zh) | 提升固态硬盘服务质量的方法及固态硬盘 | |
US10838626B2 (en) | Methods, apparatuses, and computer program products for controlling write requests in storage system | |
US8606919B2 (en) | Resource management tool | |
US20130332693A1 (en) | Allocating storage memory based on future file size or use estimates | |
CN108710583A (zh) | Ssd写缓存区的管理方法、装置、计算机设备及介质 | |
CN113377291B (zh) | 一种缓存设备的数据处理方法、装置、设备及介质 | |
CN110347338B (zh) | 混合内存数据交换处理方法、系统及可读存储介质 | |
US9448920B2 (en) | Granting and revoking supplemental memory allocation requests | |
CN111563052A (zh) | 降低读延时的缓存方法、装置、计算机设备及存储介质 | |
CN110688066A (zh) | 一种数据处理方法、系统、电子设备及存储介质 | |
CN105701029B (zh) | 一种异构存储优化方法及装置 | |
WO2023278324A1 (en) | Optimized i/o performance regulation for non-volatile storage | |
US7660964B2 (en) | Windowing external block translations | |
CN111124314A (zh) | 映射表动态加载的ssd性能提升方法、装置、计算机设备及存储介质 | |
WO2024169299A1 (zh) | 一种存储方法、装置、设备及非易失性可读存储介质 | |
US20210263668A1 (en) | Information processing device and computer-readable recording medium recording storage control program | |
CN110018793A (zh) | 一种主机io处理控制方法、装置、终端及可读存储介质 | |
CN111913662B (zh) | Slc写性能提升方法、装置、计算机设备及存储介质 | |
CN111611104B (zh) | 一种InfluxDB数据备份方法、系统及终端设备 | |
CN110658999A (zh) | 一种信息更新方法、装置、设备及计算机可读存储介质 | |
CN112306901B (zh) | 基于分层存储系统的刷盘方法、装置、电子设备及介质 | |
CN116991781B (zh) | 一种请求处理装置、方法、芯片、存储介质及电子设备 | |
KR102559784B1 (ko) | 이종 메모리 간의 메모리 스왑을 관리하는 전자 장치 및 이의 메모리 관리 방법 | |
CN117667756A (zh) | 一种数据缓存方法、装置、电子设备及计算机可读介质 | |
JP2014157476A (ja) | 計測装置及び計測方法 |
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 | ||
CP03 | Change of name, title or address |
Address after: 518000 3501, venture capital building, No. 9, Tengfei Road, huanggekeng community, Longcheng street, Longgang District, Shenzhen, Guangdong Province Patentee after: Shenzhen Dapu Microelectronics Co.,Ltd. Country or region after: China Address before: 518000 503, block B, building 2, Huangge North Road, Longcheng street, Longgang District, Shenzhen, Guangdong Patentee before: SHENZHEN DAPU MICROELECTRONICS Co.,Ltd. Country or region before: China |
|
CP03 | Change of name, title or address |