CN108804035A - 降低io延时的方法、装置、计算机设备及存储介质 - Google Patents

降低io延时的方法、装置、计算机设备及存储介质 Download PDF

Info

Publication number
CN108804035A
CN108804035A CN201810494353.XA CN201810494353A CN108804035A CN 108804035 A CN108804035 A CN 108804035A CN 201810494353 A CN201810494353 A CN 201810494353A CN 108804035 A CN108804035 A CN 108804035A
Authority
CN
China
Prior art keywords
service
ssd
time
monitoring point
average
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
Application number
CN201810494353.XA
Other languages
English (en)
Inventor
许毅
吴娴
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Union Memory Information System Co Ltd
Original Assignee
Shenzhen Union Memory Information System Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Union Memory Information System Co Ltd filed Critical Shenzhen Union Memory Information System Co Ltd
Priority to CN201810494353.XA priority Critical patent/CN108804035A/zh
Publication of CN108804035A publication Critical patent/CN108804035A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • G06F3/0611Improving I/O performance in relation to response time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3037Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Quality & Reliability (AREA)
  • Human Computer Interaction (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及降低IO延时的方法、装置、计算机设备及存储介质,其中,方法包括在SSD中服务进程中设置监测点;利用监测点获取服务系统的服务能力,并上传至主机;更新主机端观测到的平均IO服务时间以及SSD系统并发数。本发明通过在服务进程中设置监测点,实时检测SSD服务能力,将SSD的实际服务能力实时告知主机,主机通过该实际服务能力实时调整系统的IO并发数,达到了降低IO延时的效果,提升SSD服务质量。

Description

降低IO延时的方法、装置、计算机设备及存储介质
技术领域
本发明涉及固态硬盘,更具体地说是指降低IO延时的方法、装置、计算机设备及存储介质。
背景技术
随着NVMe SSD的广泛应用,SSD的高性能和低延迟的特点也被广泛认知。虽然新的协议根据SSD特性增加了很多新的功能供主机应用层灵活调度,目的在于充分发挥SSD的能力,然而主机应用层的存储方案和存储系统大部分还是针对的机械磁盘。
主机下发到SSD的IO在SSD端的处理流程可抽象为排队等待服务模型,如图1所示,由于闪存的读写性能、FTL算法决定,这个能力动态变动,因此SSD中服务进程的服务能力是有上限的,服务进程根据当前的服务能力从排队缓存中拿出IO处理,处理完N个后通知主机N个IO已完成,并且再从排队缓存中拿出N个处理;主机得知SSD处理完了N个IO后,紧接着再发送N个IO到SSD的排队缓存。SSD当前从主机接收到的未完成的IO总数称之为系统并发数记为W,系统每秒完成的IO数称之为服务能力记为P(也称之为IOPS),W个IO的平均执行时间记为L,从主机的角度出发,这三个变量服从L=W/P规律,主机端计算性能和IO延时也是按照这个公式推算出的。
但是,系统并发数W是固定的,对于主流NVMe SSD控制器来说W等于256,即主机时刻保持有256个未完成的IO在SSD设备执行,然而由于SSD内部缓存机制、垃圾处理、磨损均衡机制的存在,系统提供的服务能力P是变化的,当P很大时,IO的平均延时L很小,当P很小时,L很大,这导致SSD的服务质量很不稳定,对于数据中心和企业级用户来说,他们更关心IO的服务质量,IO的延迟会导致数据中心和企业级用户无法正常使用SSD系统。
因此,有必要设计一种降低IO延时的方法,实现有效降低IO的延迟,稳定SSD的服务质量。
发明内容
本发明的目的在于克服现有技术的缺陷,提供降低IO延时的方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:降低IO延时的方法,所述方法包括:
在SSD中服务进程中设置监测点;
利用监测点获取服务系统的服务能力,并上传至主机;
更新主机端观测到的平均IO服务时间以及SSD系统并发数。
其进一步技术方案为:在SSD中服务进程中设置监测点的步骤,包括以下具体步骤:
在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点;
在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点;
在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
其进一步技术方案为:利用监测点获取服务系统的服务能力,并上传至主机的步骤,包括以下具体步骤:
定义并发送获取SSD服务能力的新命令;
在SSD运行后,实时记录IO数目和每个IO的平均服务时间;
根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力;
将服务能力实时反馈至主机;
清零实时记录IO数目和每个IO的平均服务时间。
其进一步技术方案为:根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力的步骤,所述服务能力为并发IO数。
其进一步技术方案为:更新主机端观测到的平均IO服务时间以及SSD系统并发数的步骤,具体是将实时每个IO的平均服务时间作为主机端观测到的平均IO服务时间,服务能力作为主机端观测到的SSD系统并发数。
本发明还提供了降低IO延时的装置,包括监测点设置单元、服务能力获取单元以及更新单元;
所述监测点设置单元,用于在SSD中服务进程中设置监测点;
所述服务能力获取单元,用于利用监测点获取服务系统的服务能力,并上传至主机;
所述更新单元,用于更新主机端观测到的平均IO服务时间以及SSD系统并发数。
其进一步技术方案为:所述监测点设置单元包括入口监测点设置模块、出口监测点设置模块以及总监测点设置模块;
所述入口监测点设置模块,用于在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点;
所述出口监测点设置模块,用于在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点;
所述总监测点设置模块,用于在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
其进一步技术方案为:所述服务能力获取单元包括命令定义模块、实时记录模块、计算模块、反馈模块以及清零模块;
所述命令定义模块,用于定义并发送获取SSD服务能力的新命令;
所述实时记录模块,用于在SSD运行后,实时记录IO数目和每个IO的平均服务时间;
所述计算模块,用于根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力;
所述反馈模块,用于将服务能力实时反馈至主机;
所述清零模块,用于清零实时记录IO数目和每个IO的平均服务时间。
本发明还提供了一种计算机设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述的降低IO延时的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行上述的降低IO延时的方法。
本发明与现有技术相比的有益效果是:本发明的降低IO延时的方法,通过在服务进程中设置监测点,实时检测SSD服务能力,将SSD的实际服务能力实时告知主机,主机通过该实际服务能力实时调整系统的IO并发数,达到了降低IO延时的效果,提升SSD服务质量。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
图1为现有技术的IO流水线示意框图;
图2为本发明一具体实施例提供的降低IO延时的方法的示意流程图;
图3为本发明一具体实施例提供的IO流水线的示意框图;
图4为图2具体实施例提供的在SSD中服务进程中设置监测点的示意流程图;
图5为图2具体实施例提供的利用监测点获取服务系统的服务能力并上传至主机的示意流程图;
图6为本发明一具体实施例提供的降低IO延时的装置的示意性框图;
图7为图6具体实施例提供的监测点设置单元的示意性框图;
图8为图6具体实施例提供的服务能力获取单元的示意性框图;
图9是本申请一实施例提供的一种计算机设备的示意性框图。
具体实施方式
为了更充分理解本发明的技术内容,下面结合具体实施例对本发明的技术方案进一步介绍和说明,但不局限于此。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本申请说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如图2~9所示的具体实施例,本实施例提供的降低IO延时的方法、装置、计算机设备及存储介质,可以运用在SSD系统进行读写操作过程中,也可以用于其他固态硬盘,实现有效降低IO的延迟,稳定SSD的服务质量。
请参阅图2,图2是本实施例提供的降低IO延时的方法的示意流程图,如图2所示,降低IO延时的方法包括步骤S101至步骤S103:
S101、在SSD中服务进程中设置监测点。
请参阅图3,图3是本实施例IO流水线的示意框图,从图3可知,在SSD的服务进程内设置三个监测点,用于实时检测服务进程的实际并发IO数。实际并发IO数包括经过服务进程总出口的IO数目M_old和这M_old个IO的平均服务时间T_old;以该实际并发IO数作为主机端所观测到的SSD系统并发IO数,从而避免IO排队的现象,稳定SSD的服务质量。
S102、利用监测点获取服务系统的服务能力,并上传至主机。
使得IO排队的个数(标记为W_排队时刻)等于0,之所以存在W_排队>0的情况是因为主机从始至终一直以256为SSD的系统并发数,时刻保持SSD端有256个IO在处理,当SSD服务系统所能服务的IO并发数小于256时,剩下的IO就需要排队了,也就是即便SSD服务系统当前服务的IO并发数为200个,主机端依旧认为SSD服务系统服务的IO并发数为256,导致后续的56个IO处于排队状态。
根据上述增加监测点可以实时计算出服务系统的服务能力(标记为W_服务系统),并且将这个服务能力实时传递给主机,让主机根据这个能力确定SSD的系统并发数,那么W_排队会始终等于0,主机端观测到的平均IO服务时间就等于服务系统的平均IO服务时间,从而降低了降低IO的延迟,使得IO具备自适应效果。
上述的服务能力为并发IO数。
S103、更新主机端观测到的平均IO服务时间以及SSD系统并发数。
具体是将实时每个IO的平均服务时间作为主机端观测到的平均IO服务时间,服务能力作为主机端观测到的SSD系统并发数。
请参阅图3,图3是本实施例提供的子步骤的示意框图,如图3所示,S101、在SSD中服务进程中设置监测点,包括步骤S1011至步骤S1013:
S1011、在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点;
S1012、在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点;
S1013、在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
对于上述的步骤S1011至步骤S1013,请参照图2,在SSD中服务进程的入口设置入口监测点t1,记录每个IO进入服务进程的时间点;在服务进程的出口设置出口监测点t2,记录每个IO离开服务进程的时间点,这两个时间点的差值也就是SSD实际服务该IO的时间L=t2-t1。在整个SSD的总出口位置设置总监测点p,记录这段时间内经过这里的每个IO的平均执行时间L值以及IO总数M,如表1所示;
表1 SSD内部检测IO服务情况
由表1可知,设置监测点,使得SSD内部能够自动实时计算服务主机IO的情况,当然为了降低表1对SSD内部RAM的占用,实际可维护两个值:IO数目M_old和这M_old个IO的平均服务时间T_old,当第M_old+1个IO(服务时间为t_(M_old+1))离开服务进程时IO数M_new=M_old+1,服务时间T_new=(M_old*T_old+t_(M_old+1))/(M_old+1)。那么IO数M_new就代表了在这段时间内离开服务系统的IO数,同时也是离开SSD的IO数,服务时间T_new代表了在这段时间内服务系统服务M_new个IO的平均服务时间,所以按照排队服务模型公式,SSD服务系统在这段时间内能服务的并发IO数为W_服务系统=T_new*M_new,然而在主机端看来这段时间内整个SSD的平均IO服务时间为T_ssd=(W_服务系统+W_排队)/M_new=(T_new*M_new+W_排队)/M_new=T_new+W_排队/M_new>T_new,这里的W_排队为这段时间里在SSD排队缓存中的平均排队IO数,只有当W_排队为0时,才不会出现IO延迟的现象,此时,则需要让主机根据这个实时计算出服务系统的服务能力(W_服务系统)确定SSD的系统并发数,那么W_排队会始终等于0,主机端观测到的平均IO服务时间就等于服务系统的平均IO服务时间。
请参阅图5,图5是本实施例子步骤的示意流程图,如图5所示,S102、利用监测点获取服务系统的服务能力,并上传至主机的步骤,包括以下具体步骤:
S1021、定义并发送获取SSD服务能力的新命令;
S1022、在SSD运行后,实时记录IO数目和每个IO的平均服务时间;
S1023、根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力;
S1023、将服务能力实时反馈至主机;
S1024、清零实时记录IO数目和每个IO的平均服务时间。
更进一步地,进行S1024步骤之后,会进入S103步骤,且重新记录实时的IO数目和每个IO的平均服务时间。
NVMe协议定义了标准自定义命令(Standard Vender Specific CommandFormat),主机驱动可以自定义获取SSD服务能力的新命令,通过这个命令主机将会获得SSD中服务系统一段时间内的服务能力。
具体地,主机通过NVMe规范与SSD定义一个新命令,主机每秒发送一次该命令,该命令作用为将SSD内部服务系统的服务能力(系统并发IO数)告知主机,后续一秒内主机按照这个并发IO数向SSD下发IO,以实现降低IO延迟,稳定服务质量。
SSD运行后,SSD服务系统根据监测点进行实时记录IO数目M和和这M个IO的平均服务时间T。SSD获得定义的新命令后,计算出在这段时间内服务系统的服务能力(并发IO数)=T_new*M_new;SSD将服务能力通过命令完成状态发送回主机;设置T_new=0和M_new=0,重新开始记录。
通过在实时监测SSD内部服务系统的服务能力,根据NVMe协议特性,然后主机定时获得该服务能力并且根据这个能力实时调整发向SSD的系统IO并发数,显著降低了系统的平均IO延时。
系统并发数依据实际的服务能力而定,对于主流NVMe SSD控制器来说并发IO数则为实时变化的数目,即主机时刻保持有与服务能力个数实时对应的未完成的IO在SSD设备执行,就算SSD内部缓存机制、垃圾处理、磨损均衡机制的存在,系统提供的服务能力是变化的,也不会导致SSD的服务质量很不稳定,更加适用于数据中心和企业级用户。
上述的降低IO延时的方法,通过在服务进程中设置监测点,实时检测SSD服务能力,将SSD的实际服务能力实时告知主机,主机通过该实际服务能力实时调整系统的IO并发数,达到了降低IO延时的效果,提升SSD服务质量。
请参阅图6,图6是本申请实施例提供的一种降低IO延时的装置的示意性框图。如图6所示,该降低IO延时的装置包括监测点设置单元1、服务能力获取单元2以及更新单元3。
监测点设置单元1,用于在SSD中服务进程中设置监测点。
服务能力获取单元2,用于利用监测点获取服务系统的服务能力,并上传至主机。
更新单元3,用于更新主机端观测到的平均IO服务时间以及SSD系统并发数。
具体地,请参阅图7,图7是监测点设置单元1的示意性框图,其中,监测点设置单元1包括入口监测点设置模块11、出口监测点设置模块12以及总监测点设置模块13。
入口监测点设置模块11,用于在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点。
出口监测点设置模块12,用于在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点。
总监测点设置模块13,用于在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
请参阅图8,图8是本实施例的服务能力获取单元2的示意性框图,上述的服务能力获取单元2包括命令定义模块21、实时记录模块22、计算模块23、反馈模块24以及清零模块25。
命令定义模块21,用于定义并发送获取SSD服务能力的新命令。
实时记录模块22,用于在SSD运行后,实时记录IO数目和每个IO的平均服务时间。
计算模块23,用于根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力。
反馈模块24,用于将服务能力实时反馈至主机。
清零模块25,用于清零实时记录IO数目和每个IO的平均服务时间。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的降低IO延时的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述降低IO延时的装置可以实现为一种计算机程序的形式,计算机程序可以在如图9所示的计算机设备上运行。
上述的降低IO延时的装置,通过在服务进程中设置监测点,实时检测SSD服务能力,将SSD的实际服务能力实时告知主机,主机通过该实际服务能力实时调整系统的IO并发数,达到了降低IO延时的效果,提升SSD服务质量。
请参阅图9,图9是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备700设备可以是终端或服务器。
参照图8,该计算机设备700包括通过系统总线710连接的处理器720、存储器和网络接口750,其中,存储器可以包括非易失性存储介质730和内存储器740。
该非易失性存储介质730可存储操作系统731和计算机程序732。该计算机程序732被执行时,可使得处理器720执行任意一种降低IO延时的方法。
该处理器720用于提供计算和控制能力,支撑整个计算机设备700的运行。
该内存储器740为非易失性存储介质730中的计算机程序732的运行提供环境,该计算机程序732被处理器720执行时,可使得处理器720执行任意一种降低IO延时的方法。
该网络接口750用于进行网络通信,如发送分配的任务等。本领域技术人员可以理解,图9中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备700的限定,具体的计算机设备700可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。其中,所述处理器720用于运行存储在存储器中的程序代码,以实现以下步骤:
在SSD中服务进程中设置监测点;
利用监测点获取服务系统的服务能力,并上传至主机;
更新主机端观测到的平均IO服务时间以及SSD系统并发数。
在一实施例中,其中,所述在SSD中服务进程中设置监测点包括:在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点;以及在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点;以及在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
在一实施例中,其中,所述利用监测点获取服务系统的服务能力,并上传至主机,包括:定义并发送获取SSD服务能力的新命令;以及在SSD运行后,实时记录IO数目和每个IO的平均服务时间;以及根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力;以及将服务能力实时反馈至主机;以及清零实时记录IO数目和每个IO的平均服务时间。
在一实施例中,其中,所述服务能力为并发IO数。
在一实施例中,其中,在所述更新主机端观测到的平均IO服务时间以及SSD系统并发数中,具体是将实时每个IO的平均服务时间作为主机端观测到的平均IO服务时间,服务能力作为主机端观测到的SSD系统并发数。
应当理解,在本申请实施例中,处理器720可以是中央处理单元(CentralProcessing Unit,CPU),该处理器720还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域技术人员可以理解,图9中示出的计算机设备700结构并不构成对计算机设备700的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
上述的计算机设备,通过在服务进程中设置监测点,实时检测SSD服务能力,将SSD的实际服务能力实时告知主机,主机通过该实际服务能力实时调整系统的IO并发数,达到了降低IO延时的效果,提升SSD服务质量。
另外,本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行以下步骤:
在SSD中服务进程中设置监测点;
利用监测点获取服务系统的服务能力,并上传至主机;
更新主机端观测到的平均IO服务时间以及SSD系统并发数。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的降低IO延时的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上述的存储介质,通过在服务进程中设置监测点,实时检测SSD服务能力,将SSD的实际服务能力实时告知主机,主机通过该实际服务能力实时调整系统的IO并发数,达到了降低IO延时的效果,提升SSD服务质量。
上述仅以实施例来进一步说明本发明的技术内容,以便于读者更容易理解,但不代表本发明的实施方式仅限于此,任何依本发明所做的技术延伸或再创造,均受本发明的保护。本发明的保护范围以权利要求书为准。

Claims (10)

1.降低IO延时的方法,其特征在于,所述方法包括:
在SSD中服务进程中设置监测点;
利用监测点获取服务系统的服务能力,并上传至主机;
更新主机端观测到的平均IO服务时间以及SSD系统并发数。
2.根据权利要求1所述的降低IO延时的方法,其特征在于,在SSD中服务进程中设置监测点的步骤,包括以下具体步骤:
在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点;
在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点;
在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
3.根据权利要求1或2所述的降低IO延时的方法,其特征在于,利用监测点获取服务系统的服务能力,并上传至主机的步骤,包括以下具体步骤:
定义并发送获取SSD服务能力的新命令;
在SSD运行后,实时记录IO数目和每个IO的平均服务时间;
根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力;
将服务能力实时反馈至主机;
清零实时记录IO数目和每个IO的平均服务时间,并返回所述在SSD运行后,实时记录IO数目和每个IO的平均服务时间的步骤。
4.根据权利要求3所述的降低IO延时的方法,其特征在于,根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力的步骤,所述服务能力为并发IO数。
5.根据权利要求1所述的降低IO延时的方法,其特征在于,更新主机端观测到的平均IO服务时间以及SSD系统并发数的步骤,具体是将实时每个IO的平均服务时间作为主机端观测到的平均IO服务时间,服务能力作为主机端观测到的SSD系统并发数。
6.降低IO延时的装置,其特征在于,包括监测点设置单元、服务能力获取单元以及更新单元;
所述监测点设置单元,用于在SSD中服务进程中设置监测点;
所述服务能力获取单元,用于利用监测点获取服务系统的服务能力,并上传至主机;
所述更新单元,用于更新主机端观测到的平均IO服务时间以及SSD系统并发数。
7.根据权利要求6所述的降低IO延时的装置,其特征在于,所述监测点设置单元包括入口监测点设置模块、出口监测点设置模块以及总监测点设置模块;
所述入口监测点设置模块,用于在SSD中服务进程的入口设置入口监测点,记录每个IO进入服务进程的时间点;
所述出口监测点设置模块,用于在SSD中服务进程的出口设置出口监测点,记录每个IO离开服务进程的时间点;
所述总监测点设置模块,用于在整个SSD的总出口位置设置总监测点,记录某段时间内经过总出口的每个IO的平均执行时间以及IO总数。
8.根据权利要求7所述的降低IO延时的装置,其特征在于,所述服务能力获取单元包括命令定义模块、实时记录模块、计算模块、反馈模块以及清零模块;
所述命令定义模块,用于定义并发送获取SSD服务能力的新命令;
所述实时记录模块,用于在SSD运行后,实时记录IO数目和每个IO的平均服务时间;
所述计算模块,用于根据IO数目和每个IO的平均服务时间计算出在某段时间内SSD的服务能力;
所述反馈模块,用于将服务能力实时反馈至主机;
所述清零模块,用于清零实时记录IO数目和每个IO的平均服务时间。
9.一种计算机设备,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至5中任意一项所述的降低IO延时的方法。
10.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时使所述处理器执行如权利要求1至5任意一项所述的降低IO延时的方法。
CN201810494353.XA 2018-05-22 2018-05-22 降低io延时的方法、装置、计算机设备及存储介质 Pending CN108804035A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810494353.XA CN108804035A (zh) 2018-05-22 2018-05-22 降低io延时的方法、装置、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810494353.XA CN108804035A (zh) 2018-05-22 2018-05-22 降低io延时的方法、装置、计算机设备及存储介质

Publications (1)

Publication Number Publication Date
CN108804035A true CN108804035A (zh) 2018-11-13

Family

ID=64092766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810494353.XA Pending CN108804035A (zh) 2018-05-22 2018-05-22 降低io延时的方法、装置、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN108804035A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111162934A (zh) * 2019-12-13 2020-05-15 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置
CN113687796A (zh) * 2021-10-25 2021-11-23 苏州浪潮智能科技有限公司 Io任务处理方法、装置和计算机设备和存储介质
US11861175B2 (en) 2022-03-10 2024-01-02 International Business Machines Corporation Latency in data storage systems

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192228A (zh) * 2006-12-01 2008-06-04 阿里巴巴公司 一种数据库交互处理方法及系统
CN102567185A (zh) * 2011-12-31 2012-07-11 北京新媒传信科技有限公司 一种应用服务器的监控方法
CN104657212A (zh) * 2015-02-13 2015-05-27 北京亚信数据有限公司 一种任务调度的方法及系统
CN105389214A (zh) * 2015-11-10 2016-03-09 中国建设银行股份有限公司 一种监控方法及系统
CN105589661A (zh) * 2014-11-12 2016-05-18 三星电子株式会社 数据存储装置、数据处理系统和操作方法
CN106104500A (zh) * 2013-11-26 2016-11-09 英特尔公司 存储数据的方法和设备
CN107077304A (zh) * 2016-09-18 2017-08-18 深圳市大疆创新科技有限公司 数据转换设备、芯片、方法、装置及影像系统
CN107608762A (zh) * 2017-09-26 2018-01-19 三盟科技股份有限公司 一种基于虚拟机性能实现业务动态伸缩的方法及系统
CN109582614A (zh) * 2013-06-26 2019-04-05 科内克斯实验室公司 针对远程存储器访问的nvm express控制器

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101192228A (zh) * 2006-12-01 2008-06-04 阿里巴巴公司 一种数据库交互处理方法及系统
CN102567185A (zh) * 2011-12-31 2012-07-11 北京新媒传信科技有限公司 一种应用服务器的监控方法
CN109582614A (zh) * 2013-06-26 2019-04-05 科内克斯实验室公司 针对远程存储器访问的nvm express控制器
CN106104500A (zh) * 2013-11-26 2016-11-09 英特尔公司 存储数据的方法和设备
CN105589661A (zh) * 2014-11-12 2016-05-18 三星电子株式会社 数据存储装置、数据处理系统和操作方法
CN104657212A (zh) * 2015-02-13 2015-05-27 北京亚信数据有限公司 一种任务调度的方法及系统
CN105389214A (zh) * 2015-11-10 2016-03-09 中国建设银行股份有限公司 一种监控方法及系统
CN107077304A (zh) * 2016-09-18 2017-08-18 深圳市大疆创新科技有限公司 数据转换设备、芯片、方法、装置及影像系统
CN107608762A (zh) * 2017-09-26 2018-01-19 三盟科技股份有限公司 一种基于虚拟机性能实现业务动态伸缩的方法及系统

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111162934A (zh) * 2019-12-13 2020-05-15 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置
CN111162934B (zh) * 2019-12-13 2023-01-03 微民保险代理有限公司 业务服务的测试方法和装置、存储介质、电子装置
CN113687796A (zh) * 2021-10-25 2021-11-23 苏州浪潮智能科技有限公司 Io任务处理方法、装置和计算机设备和存储介质
WO2023071101A1 (zh) * 2021-10-25 2023-05-04 苏州浪潮智能科技有限公司 Io任务处理方法、装置和计算机设备和存储介质
US11861175B2 (en) 2022-03-10 2024-01-02 International Business Machines Corporation Latency in data storage systems

Similar Documents

Publication Publication Date Title
EP3830715B1 (en) Storage aggregator controller with metadata computation control
CN106339058B (zh) 动态管理电力供应的方法和系统
CN109471592B (zh) 存储设备以及包括在存储设备中的控制器
CN110389909A (zh) 使用深度神经网络优化固态驱动器的性能的系统和方法
CN108804035A (zh) 降低io延时的方法、装置、计算机设备及存储介质
KR102427550B1 (ko) 재구성 가능한 멀티 포트들을 구비한 PCIe 스토리지 시스템을 위한 서비스 품질을 인식하는 입출력 관리
CN105446657B (zh) 一种监控raid卡的方法
US9317427B2 (en) Reallocating unused memory databus utilization to another processor when utilization is below a threshold
CN108710583A (zh) Ssd写缓存区的管理方法、装置、计算机设备及介质
CN107656813A (zh) 一种负载调度的方法、装置及终端
CN103180817A (zh) 存储扩展装置及服务器
CN107728936A (zh) 用于传输数据处理请求的方法和装置
CN105404596B (zh) 一种数据传输方法、装置及系统
CN106844108A (zh) 一种数据存储方法、服务器以及存储系统
CN104424106A (zh) 为存储优化操作分配存储设备的资源的方法和系统
CN106489132A (zh) 读写数据的方法、装置、存储设备和计算机系统
CN107544926A (zh) 处理系统及其访存方法
CN107948097A (zh) 一种带宽调整方法及设备
CN109799956A (zh) 一种存储控制器及io请求处理方法
CN108920964A (zh) 可重构硬件加解密方法、系统、计算机设备及存储介质
CN108762669A (zh) 提升掉电时数据写入速度的方法、装置及计算机设备
JP2022038688A (ja) メモリシステムおよび制御方法
CN112306628B (zh) 一种基于多核服务器的虚拟网络功能资源管理系统
CN101341471B (zh) 动态高速缓存管理的设备和方法
CN108459821A (zh) 一种数据缓存的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20181113