System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据存储,尤其涉及一种控制固态硬盘读写操作的方法、装置及固态硬盘。
技术介绍
1、随着ssd的不断发展以及云业务的兴起,企业级ssd在云业务中得到广泛应用。高性能是企业级ssd的一大亮点,但是这一亮点需要可靠的稳定性作为前提。qos因此逐渐成为ssd所需要衡量的一个重要指标。在关于ssd的性能测试项中,多数均需要根据qos指标来确认测试结果。消费级ssd追求短时间内可以达到的最高性能,不一定能够体现出针对qos指标所进行的优化效果,通常也不关注此类指标。不同于消费级ssd主要应用于压力有限的个人业务场景,企业级ssd的应用场景通常需要7*24小时的持续工作,所以企业级ssd被要求能够提供稳定的高性能,特别是在大压力下的稳定性以保证业务的连续运行。
2、qos在使用ssd的环境中尤为重要,业界把瞬时出现大幅性能抖动现象称为毛刺,这将会导致产生超长时延(latency),因此需要引入qos来描述产品性能的稳定性。ssd的qos体现了以稳定一致的性能完成所有请求的能力。常见的qos量化指标主要包括以99%~99.999%的可信度给出最大的时延。例如,99.999%的qos指标结果为0.1ms,表示总请求的99.999%的时延在0.1ms以内。数据库服务器的时延需要达到特定水平才能有效发挥作用,对于服务供应商的环境尤其如此。当多种工作负载相互争抢,保障关键任务的时延对于用户体验至关重要。
3、为此,现有技术通过监测ssd当前的读写任务压力,并以此调整当前执行的写操作或擦除操作过程中允许插入读操作的数
技术实现思路
1、鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的控制固态硬盘读写操作的方法、装置及固态硬盘。
2、本专利技术的一个方面,提供了一种控制固态硬盘读写操作的方法,所述方法包括:
3、在固态硬盘执行操作任务过程中,当接收到优先级高于当前操作任务优先级等级的目标任务时,获取当前操作任务的执行状态信息,所述执行状态信息包括连续执行时长和当前操作任务执行过程中被暂停的次数s;
4、获取固态硬盘的任务调度状态,所述任务调度状态包括当前时刻等待执行的读操作的数量nr、写操作的数量np、擦除操作的数量ne以及历史调度数据中最近时间段内的预设数量个与当前操作任务优先级相同的低优先级任务在执行过程中被暂停次数的平均次数
5、根据固态硬盘的任务调度状态确定进行读写操作任务调度的调度条件;
6、若当前操作任务的执行状态信息满足所述调度条件,则挂起当前操作任务并开始执行所述目标任务。
7、可选地,所述方法还包括:
8、若当前操作任务的执行状态信息不满足所述调度条件,则将所述目标任务分配到等待队列,并继续执行当前操作任务。
9、可选地,在将所述目标任务分配到等待队列之后,所述方法还包括:
10、对当前操作任务的执行状态信息进行实时监测,当所述执行状态信息满足所述调度条件时,根据入队时间的先后顺序依次执行所述等待队列中的待执行任务。
11、可选地,所述根据入队时间的先后顺序依次执行所述等待队列中的待执行任务包括:
12、根据入队时间的先后顺序依次执行所述等待队列中的所有任务;或,根据入队时间的先后顺序从所述等待队列中选取至多预设数量个待执行任务,依次执行所述待执行任务;或,根据入队时间的先后顺序依次执行所述等待队列中的待执行任务,直到当前操作任务的挂起时间大于预设的时间挂起阈值或者所述等待队列中所有任务被执行完成。
13、可选地,获取当前操作任务的连续执行时长包括:
14、获取接收到所述目标任务时的第一时间值;
15、计算当前操作任务的启动时间值与所述第一时间值之间的时间差值,将所述时间差值作为当前操作任务的连续执行时长,其中,当前操作任务的启动时间值包括首次开始执行当前操作任务的时间值或上一次恢复执行当前操作任务的时间值。
16、可选地,所述方法还包括:
17、在所述目标任务执行完毕后,恢复执行挂起的当前操作任务,并更新当前操作任务被暂停的次数s=s+1,更新当前操作任务的启动时间值为当前时间。
18、可选地,所述根据固态硬盘的任务调度状态确定进行读写操作任务调度的调度条件包括:
19、获取host主机下发的读命令所产生的读操作的数量nrh,根据当前时刻等待执行的读操作的数量nr和host主机下发的读命令所产生的读操作的数量nrh计算存储控制器产生的读操作的数量nrc,nrc=nr-nrh;
20、根据存储控制器产生的读操作的数量nrc写操作的数量np、擦除操作的数量ne以及历史调度数据中最近时间段内的预设数量个与当前操作任务优先级相同的低优先级任务在执行过程中被暂停次数的平均次数计算高优先级操作任务的允许执行暂停次数s和低优先级操作任务的保持时间间隔值t,允许执行暂停次数s计算公式为:
21、
22、保持时间间隔值t计算公式为:
23、t=b·max(nrc,np,ne)
24、其中,a、b均表示预设系数,smax为固态硬盘中nand flash允许对当前操作任务执行暂停操作的最大次数。
25、可选地,在根据固态硬盘的任务调度状态确定进行读写操作任务调度的调度条件之后,所述方法还包括:
26、判断当前操作任务的执行状态信息是否满足所述调度条件,具体包括:判断当前操作任务的连续执行时长是否大于或等于所述保持时间间隔值t,且所述当前操作任务执行过程中被暂停的次数是否小于或等于所述允许执行暂停次数s;
27、若当前操作任务的连续执行时长大于或等于所述保持时间间隔值t,且所述当前操作任务执行过程中被暂停的次数小于或等于所述允许执行暂停次数s,则判定当前操作任务的执行状态信息满足所述调度条件。
28、第二方面,本专利技术还提供了一种控制固态硬盘读写操作的装置,所述装置包括:
29、第一获取模块,用于在固态硬盘执行操作任务过程中,当接收到优先级高于当前操作任务优先级等级的目标任务时,获取当前操作任务的执行状态信息,所述执行状态信息包括连续执行时长和当前操作任务执行过程中被暂停的次数s;
30、第二获取模块,用于获取固态硬盘的任务调度状态,所述任务调度状态包括当前时刻等待执行的读操作的数量nr、写操作的数量np、擦除操作的数量ne以及历史调度数据中最近时间段内的预设数量个与当前操作任务优先级相同的低优先级任务在执行过程中被暂停次数的平均次数
31、参数计算模块,用于根据固态硬盘本文档来自技高网...
【技术保护点】
1.一种控制固态硬盘读写操作的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在将所述目标任务分配到等待队列之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据入队时间的先后顺序依次执行所述等待队列中的待执行任务包括:
5.根据权利要求1所述的方法,其特征在于,获取当前操作任务的连续执行时长包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利要求1所述的方法,其特征在于,所述根据固态硬盘的任务调度状态确定进行读写操作任务调度的调度条件包括:
8.根据权利要求7所述的方法,其特征在于,在根据固态硬盘的任务调度状态确定进行读写操作任务调度的调度条件之后,所述方法还包括:
9.一种控制固态硬盘读写操作的装置,其特征在于,所述装置包括:
10.一种固态硬盘,其特征在于,包括存储控制器和NAND Flash,所述存储控制器包括存储器、处理器及存储在
...【技术特征摘要】
1.一种控制固态硬盘读写操作的方法,其特征在于,所述方法包括:
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在将所述目标任务分配到等待队列之后,所述方法还包括:
4.根据权利要求3所述的方法,其特征在于,所述根据入队时间的先后顺序依次执行所述等待队列中的待执行任务包括:
5.根据权利要求1所述的方法,其特征在于,获取当前操作任务的连续执行时长包括:
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
7.根据权利...
【专利技术属性】
技术研发人员:蒲强,李昊,卢大成,薛红军,
申请(专利权)人:北京得瑞领新科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。