本发明涉及固态硬盘,特别是涉及一种基于固态硬盘的重复写性能提升实现方法、装置、计算机设备和存储介质。
背景技术:
1、ssd(固态硬盘)已经被广泛应用于各种场合,目前在pc市场,已经逐步替代传统的hdd,从可靠性和性能方面为用户提供较好的体验。
2、目前,在现有的ssd方案中,当host发送一个io写指令,如果无资源不足等意外情况,一律按流程进行写操作,数据最后会落盘。然而,这种方案在写热度较高的lpa slice中会导致落盘的数据快速无效,不仅会在写入时浪费时间和资源,还会对盘片造成浪费。
技术实现思路
1、基于此,有必要针对上述技术问题,提供一种基于固态硬盘的重复写性能提升实现方法、装置、计算机设备和存储介质。
2、一种基于固态硬盘的重复写性能提升实现方法,所述方法包括:
3、在固态硬盘运行过程中,以lpa slice为粒度周期性地记录各组slice的io写命中次数;
4、在每个周期的末尾统计出io写命中次数最多的数个高热度lpaslice;
5、将接下来一个周期中,将命中高热度lpa slice的写命令进行缓存,将命中其他低热度lpa slice写flash;
6、在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice,并将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中。
7、在其中一个实施例中,所述在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice,并将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中的步骤还包括:
8、待新的周期出现后重新进行热度统计,统计出io写命中次数最多的数个新的高热度lpa slice。
9、在其中一个实施例中,所述在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice,并将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中的步骤之后还包括:
10、在下一个周期内,将命中新的高热度lpa slice的写操作进行缓存。
11、在其中一个实施例中,所述在每个周期的末尾统计出io写命中次数最多的数个高热度lpa slice的步骤还包括:
12、判断是否到达周期时间,若已经到达周期时间则统计出写命中次数最高的前n组lpa slice作为高热度lpa slice。
13、一种基于固态硬盘的重复写性能提升实现装置,所述装置包括:
14、记录模块,所述记录模块用于在固态硬盘运行过程中,以lpa slice为粒度周期性地记录各组slice的io写命中次数;
15、统计模块,所述统计模块用于在每个周期的末尾统计出io写命中次数最多的数个高热度lpa slice;
16、命令处理模块,所述命令处理模块用于将接下来一个周期中,将命中高热度lpaslice的写命令进行缓存,将命中其他低热度lpa slice写flash;
17、替换模块,所述替换模块用于在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice;
18、下刷处理模块,所述下刷处理模块用于将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中。
19、在其中一个实施例中,所述装置还包括重新统计模块,所述重新统计模块用于:
20、待新的周期出现后重新进行热度统计,统计出io写命中次数最多的数个新的高热度lpa slice。
21、在其中一个实施例中,所述命令处理模块还用于:
22、在下一个周期内,将命中新的高热度lpa slice的写操作进行缓存。
23、在其中一个实施例中,所述统计模块还用于:
24、判断是否到达周期时间,若已经到达周期时间则统计出写命中次数最高的前n组lpa slice作为高热度lpa slice。
25、一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任意一项方法的步骤。
26、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任意一项方法的步骤。
27、上述基于固态硬盘的重复写性能提升实现方法、装置、计算机设备和存储介质,通过在固态硬盘运行过程中,以lpa slice为粒度周期性地记录各组slice的io写命中次数;在每个周期的末尾统计出io写命中次数最多的数个高热度lpa slice;将接下来一个周期中,将命中高热度lpaslice的写命令进行缓存,将命中其他低热度lpa slice写flash;在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice,并将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中。本发明以lpa slice为粒度检测用户数据的写热度,周期性的将写热度靠前的lpa slice的写操作缓存到buffer中,可以有效地减少写盘片的频率,优化了重复写操作,避免了盘片资源浪费。
1.一种基于固态硬盘的重复写性能提升实现方法,所述方法包括:
2.根据权利要求1所述的基于固态硬盘的重复写性能提升实现方法,其特征在于,所述在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice,并将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中的步骤还包括:
3.根据权利要求2所述的基于固态硬盘的重复写性能提升实现方法,其特征在于,所述在后续的新周期中,将产生的新的高热度lpa slice替换旧的高热度lpa slice,并将缓存中旧的高热度lpa slice的最新修改信息下刷到flash中的步骤之后还包括:
4.根据权利要求1-3任一项所述的基于固态硬盘的重复写性能提升实现方法,其特征在于,所述在每个周期的末尾统计出io写命中次数最多的数个高热度lpa slice的步骤还包括:
5.一种基于固态硬盘的重复写性能提升实现装置,其特征在于,所述装置包括:
6.根据权利要求5所述的基于固态硬盘的重复写性能提升实现装置,其特征在于,所述装置还包括重新统计模块,所述重新统计模块用于:
7.根据权利要求6所述的基于固态硬盘的重复写性能提升实现装置,其特征在于,所述命令处理模块还用于:
8.根据权利要求5-7任一项所述的基于固态硬盘的重复写性能提升实现装置,其特征在于,所述统计模块还用于:
9.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述的方法的步骤。