一种固态硬盘的数据读写方法和系统与流程

文档序号:24187635发布日期:2021-03-09 14:07阅读:179来源:国知局
一种固态硬盘的数据读写方法和系统与流程

1.本发明涉及数据存储领域,更具体地,特别是指一种固态硬盘的数据读写方法和系统。


背景技术:

2.大数据时代,数据存储量伴随着5g、人工智能、大数据、区块链等新技术发展激增,对数据的存储的iops(每秒读写)和qos(服务质量)有了更高的要求,ssd将在这场数据变革中大显身手。ssd在实际应用中,需要适配不同的workload(工作负载),在不同workload下既要保证iops和qos,又要保证性能的稳定性,尤其是在读写混合场景下,会对nand flash(与非门闪存)带宽的抢占程度不同,进而影响到后端垃圾回收。
3.针对现有技术中ssd数据混合读写资源占用高、影响后端垃圾回收的问题,目前尚无有效的解决方案。


技术实现要素:

4.有鉴于此,本发明实施例的目的在于提出一种固态硬盘的数据读写方法和系统,能够控制读写资源占用,提高处理速度和稳定性。
5.基于上述目的,本发明实施例的第一方面提供了一种固态硬盘的数据读写方法,包括执行以下步骤:
6.持续采集并确定固态硬盘的容量水位线,并与安全阈值进行比较;
7.响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;
8.响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;
9.响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度。
10.在一些实施方式中,方法还包括:响应于容量水位线在任意时间发生突变,而重新在学习时间长度内持续采集主机输入输出的读写比例和读写压力并更新到本地。
11.在一些实施方式中,方法还包括:响应于容量水位线持续处于安全阈值之上而停止或最小化垃圾回收写的速度。
12.在一些实施方式中,方法还包括:在最大化垃圾回收写的速度的同时,还持续采集主机输入输出的读写压力;最大化垃圾回收写的速度持续直到重新确定主机输入输出读写压力不为零。
13.在一些实施方式中,基于本地存储的读写比例和读写压力控制垃圾回收写的速度包括:基于本地存储的读写比例和读写压力确定写仲裁曲线,并将基于写仲裁曲线确定的理论计算值与容量水位线的当前值比较以确定垃圾回收写和主机写的比例。
14.在一些实施方式中,方法还包括:进一步地基于垃圾回收写和主机写的比例、和总
写入速度来控制垃圾回收写的速度。
15.在一些实施方式中,基于本地存储的读写比例和读写压力确定写仲裁曲线包括:事先确定工作负载,并基于本地存储的读写比例和读写压力使用工作负载确定写仲裁曲线。
16.本发明实施例的第二方面提供了一种固态硬盘的数据读写系统,包括:
17.处理器;和
18.存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
19.持续采集并确定固态硬盘的容量水位线,并与安全阈值进行比较;响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;
20.响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;
21.响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度。
22.在一些实施方式中,步骤还包括:在最大化垃圾回收写的速度的同时,还持续采集主机输入输出的读写压力;最大化垃圾回收写的速度持续直到重新确定主机输入输出读写压力不为零。
23.在一些实施方式中,基于本地存储的读写比例和读写压力控制垃圾回收写的速度包括:基于本地存储的读写比例和读写压力确定写仲裁曲线,并将基于写仲裁曲线确定的理论计算值与容量水位线的当前值比较以确定垃圾回收写和主机写的比例。
24.本发明具有以下有益技术效果:本发明实施例提供的固态硬盘的数据读写方法和系统,通过持续采集并确定固态硬盘的容量水位线,并与安全阈值进行比较;响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度的技术方案,能够控制读写资源占用,提高处理速度和稳定性。
附图说明
25.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1为本发明提供的固态硬盘的数据读写方法的流程示意图。
具体实施方式
27.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
28.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两
个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
29.基于上述目的,本发明实施例的第一个方面,提出了一种提高处理速度和稳定性的固态硬盘的数据读写方法的一个实施例。图1示出的是本发明提供的固态硬盘的数据读写方法的流程示意图。
30.所述的固态硬盘的数据读写方法,如图1所示,包括执行以下步骤:
31.步骤s101,持续采集并确定固态硬盘的容量水位线,并与安全阈值进行比较;
32.步骤s103,响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;
33.步骤s105,响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;
34.步骤s107,响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度。
35.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(rom)或随机存储记忆体(ram)等。所述计算机程序的实施例,可以达到与之对应的前述任意方法实施例相同或者相类似的效果。
36.在一些实施方式中,方法还包括:响应于容量水位线在任意时间发生突变,而重新在学习时间长度内持续采集主机输入输出的读写比例和读写压力并更新到本地。
37.在一些实施方式中,方法还包括:响应于容量水位线持续处于安全阈值之上而停止或最小化垃圾回收写的速度。
38.在一些实施方式中,方法还包括:在最大化垃圾回收写的速度的同时,还持续采集主机输入输出的读写压力;最大化垃圾回收写的速度持续直到重新确定主机输入输出读写压力不为零。
39.在一些实施方式中,基于本地存储的读写比例和读写压力控制垃圾回收写的速度包括:基于本地存储的读写比例和读写压力确定写仲裁曲线,并将基于写仲裁曲线确定的理论计算值与容量水位线的当前值比较以确定垃圾回收写和主机写的比例。
40.在一些实施方式中,方法还包括:进一步地基于垃圾回收写和主机写的比例、和总写入速度来控制垃圾回收写的速度。
41.在一些实施方式中,基于本地存储的读写比例和读写压力确定写仲裁曲线包括:事先确定工作负载,并基于本地存储的读写比例和读写压力使用工作负载确定写仲裁曲线。
42.下面根据具体实施例进一步阐述本发明的具体实施方式。
43.首先增加识别host(主机)workload的算法,识别出workload后,制定相应的写仲裁策略。执行host io的读写比例统计和host io读写压力统计,定时获取ssd剩余空间的水位线。根据读写比例及压力统计,确定控制host带宽和后台垃圾回收的力度。
44.host io的读写比例的统计方法是:在安全水位线时增加停止垃圾回收,增加学习时间t,学习t内的读写比例和host压力,记录到本地local中,t时间后根据读写比例和host
压力制定相应的写仲裁曲线,根据host写比例和压力,调整控制后台垃圾回收的速度。基于学习到的读写比例和压力,使ssd的空闲水位线能够稳定到一定水位线,当ssd空闲水位线发生突变时,需要重新学习host的读写比例和压力,学习完成更新local中的学习结果;
45.上述控制垃圾回收强度的方式,根据空闲水位线和写仲裁理论计算值的偏差,调整host写和gc(垃圾回收)写的比例。另外,在识别到host io处于空闲状态时,需要跳出根据学习结果全面放开垃圾回收,使水位线能够快速上升。
46.从上述实施例可以看出,本发明实施例提供的固态硬盘的数据读写方法,通过持续采集并确定固态硬盘的容量水位线;响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度的技术方案,能够控制读写资源占用,提高处理速度和稳定性。
47.需要特别指出的是,上述固态硬盘的数据读写方法的各个实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于固态硬盘的数据读写方法也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
48.基于上述目的,本发明实施例的第二个方面,提出了一种快速确定并发系统的性能瓶颈以执行针对性优化的固态硬盘的数据读写系统的一个实施例。系统包括:
49.处理器;和
50.存储器,存储有处理器可运行的程序代码,程序代码在被运行时执行以下步骤:
51.持续采集并确定固态硬盘的容量水位线,并与安全阈值进行比较;响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;
52.响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;
53.响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度。
54.在一些实施方式中,步骤还包括:在最大化垃圾回收写的速度的同时,还持续采集主机输入输出的读写压力;最大化垃圾回收写的速度持续直到重新确定主机输入输出读写压力不为零。
55.在一些实施方式中,基于本地存储的读写比例和读写压力控制垃圾回收写的速度包括:基于本地存储的读写比例和读写压力确定写仲裁曲线,并将基于写仲裁曲线确定的理论计算值与容量水位线的当前值比较以确定垃圾回收写和主机写的比例。
56.从上述实施例可以看出,本发明实施例提供的系统,通过持续采集并确定固态硬盘的容量水位线,并与安全阈值进行比较;响应于容量水位线持续处于安全阈值之下,而在学习时间长度内持续采集主机输入输出的读写比例和读写压力并存储到本地;响应于在学习时间中确定主机输入输出的读写压力为零而立即结束学习时间并最大化垃圾回收写的速度;响应于学习时间结束而基于本地存储的读写比例和读写压力控制垃圾回收写的速度的技术方案,能够控制读写资源占用,提高处理速度和稳定性。
57.需要特别指出的是,上述系统的实施例采用了所述固态硬盘的数据读写方法的实施例来具体说明各模块的工作过程,本领域技术人员能够很容易想到,将这些模块应用到所述固态硬盘的数据读写方法的其他实施例中。当然,由于所述固态硬盘的数据读写方法实施例中的各个步骤均可以相互交叉、替换、增加、删减,因此,这些合理的排列组合变换之于所述系统也应当属于本发明的保护范围,并且不应将本发明的保护范围局限在所述实施例之上。
58.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
59.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上所述的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1