本发明涉及计算机系统及存储,特别是涉及一种固态硬盘擦写控制方法、一种固态硬盘擦写控制装置、一种电子设备和一种存储介质。
背景技术:
1、随着云计算、大数据等技术的迅速发展,在业务系统内时时刻刻都会产生海量的数据需要处理及存储,即大量数据资产在业务系统内高速流转。信息技术的高速发展对存储系统的性能提出了更高的要求。相较于传统磁盘,固态存储器(ssd)因其读写速度快、能耗较低,而被广泛采用。但与之相对的,固态硬盘相比传统磁盘,因其成本更高,限制了产品的容量,进而导致了其使用寿命较短。
技术实现思路
1、鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种固态硬盘擦写控制方法、一种固态硬盘擦写控制装置、一种电子设备和一种存储介质。
2、在本发明的第一个方面,本发明实施例公开了一种固态硬盘擦写控制方法,包括:
3、在检测到针对固态硬盘中开放式闪存块的控制操作触发挂起机制时,获取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数;
4、依据所述固态硬盘的擦写次数,和/或,所述开放式闪存块的挂起次数,确定所述挂起机制的执行模式;
5、依据所述执行模式设置所述固态硬盘的挂起机制,通过设置后的挂起机制进行擦写控制。
6、可选地,所述依据所述固态硬盘的擦写次数,和/或,所述开放式闪存块的挂起次数,确定所述挂起机制的控制参数的步骤包括:
7、当所述固态硬盘的擦写次数处于第一擦写区间时,确定所述挂起机制的执行模式为第一模式;
8、当所述固态硬盘的擦写次数处于第二擦写区间且所述开放式闪存块的挂起次数不大于预设触发阈值时,确定所述挂起机制的执行模式为第二模式;
9、当所述固态硬盘的擦写次数处于第三擦写区间,或所述开放式闪存块的挂起次数大于预设触发阈值时,确定所述挂起机制的执行模式为第三模式;
10、其中,所述第一擦写区间的最大值、所述第二擦写区间的最大值和所述第三擦写区间的最大值递增。
11、可选地,所述当所述固态硬盘的擦写次数处于第一擦写区间时,确定所述挂起机制的执行模式为第一模式的步骤包括:
12、当所述固态硬盘的擦写次数处于所述第一擦写区间时,获取所述挂起机制的当前控制参数;
13、将所述当前控制参数配置为所述第一模式。
14、可选地,所述当所述固态硬盘的擦写次数处于第二擦写区间且所述开放式闪存块的挂起次数不大于预设触发阈值时,确定所述挂起机制的执行模式为第二模式的步骤包括:
15、当所述固态硬盘的擦写次数处于所述第二擦写区间且所述开放式闪存块的挂起次数不大于所述预设触发阈值时,获取所述挂起机制的当前控制参数和控制系数;
16、依据所述当前控制参数和控制系数,确定配置控制参数;
17、将所述配置控制参数配置为所述第二模式。
18、可选地,所述当前控制参数包括当前读写比例门限值;所述控制系数包括门限参数,所述依据所述当前控制参数和所述控制系数,确定配置控制参数的步骤包括:
19、依据所述读写比例门限值和所述门限参数,生成更新读写比例门限值;
20、确定所述更新读写比例门限值为所述配置控制参数;
21、其中,所述门限参数大于零且小于一。
22、可选地,所述依据所述读写比例门限值和所述门限参数,生成更新读写比例门限值的步骤包括:
23、将所述读写比例门限值和所述门限参数的乘积,确定为所述更新读写比例门限值。
24、可选地,所述当前控制参数包括第一时长,所述第一时长为擦写开始至首次挂起的间隔时长;所述控制系数包括第一时间参数;所述依据所述当前控制参数和所述控制系数,确定配置控制参数的步骤包括:
25、依据所述第一时长和所述第一时间参数,生成更新的第一时长;
26、确定所述更新的第一时长为所述配置控制参数;
27、其中,所述第一时间参数大于一。
28、可选地,所述依据所述第一时长和所述第一时间参数,生成更新的第一时长的步骤包括:
29、将所述第一时长和所述第一时间参数的乘积,确定所述更新的第一时长。
30、可选地,所述当前控制参数包括第二时长,所述第二时长为烧录完成至进入挂起的间隔时长;所述控制系数包括第二时间参数;所述依据所述当前控制参数和所述控制系数,确定配置控制参数的步骤包括:
31、依据所述第二时长和所述第二时间参数,生成更新的第二时长;
32、确定所述更新的第二时长为所述配置控制参数;
33、其中,所述第二时间参数大于一。
34、可选地,所述依据所述第二时长和所述第二时间参数,生成更新的第二时长的步骤包括:
35、将所述第二时长和所述第二时间参数的乘积,确定所述更新的第二时长。
36、可选地,当所述固态硬盘的擦写次数处于第二擦写区间且所述开放式闪存块的挂起次数不大于预设触发阈值时,所述方法还包括:
37、记录所述开放式闪存块的挂起机制触发次数。
38、可选地,所述当所述固态硬盘的擦写次数处于第三擦写区间,或所述开放式闪存块的挂起次数大于预设触发阈值时,确定所述挂起机制的执行模式为第三模式的步骤包括:
39、当所述固态硬盘的擦写次数处于所述第三擦写区间,或所述开放式闪存块的挂起次数大于所述预设触发阈值时,将预设禁用参数配置为所述第三模式。
40、可选地,当所述固态硬盘的擦写次数处于第三擦写区间,或所述开放式闪存块的挂起次数大于预设触发阈值时,所述方法还包括:
41、对所述开放式闪存块进行标记。
42、可选地,所述固态硬盘中设置有寄存器,所述寄存器用于记录所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数;所述获取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数的步骤包括:
43、从所述寄存器中读取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数。
44、可选地,所述获取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数的步骤包括:
45、从所述固态硬盘的操作栈中读取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数。
46、可选地,所述控制操作为读操作。
47、可选地,所述方法还包括:
48、在执行擦写过程中,判断所述读操作是否触发所述挂起机制;
49、当所述读操作触发所述挂起机制,执行所述在检测到针对固态硬盘中开放式闪存块的控制操作触发挂起机制时,获取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数的步骤;
50、当所述读操作不触发所述挂起机制,继续执行所述擦写过程。
51、在本发明实施例的第二个方面,本发明实施例公开了一种固态硬盘擦写控制装置,包括:
52、获取模块,用于在检测到针对固态硬盘中开放式闪存块的控制操作触发挂起机制时,获取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数;
53、执行模式确定模块,用于依据所述固态硬盘的擦写次数,和/或,所述开放式闪存块的挂起次数,确定所述挂起机制的执行模式;
54、设置模块,用于依据所述执行模式设置所述固态硬盘的挂起机制,通过设置后的挂起机制进行擦写控制。
55、在本发明的第三个方面,本发明实施例公开了一种电子设备,包括处理器、存储器及存储在所述存储器上并能够在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如上所述的固态硬盘擦写控制方法的步骤。
56、在本发明的第四个方面,本发明实施例公开了一种计算机可读存储介质,所述计算机可读存储介质上存储计算机程序,所述计算机程序被处理器执行时实现如上所述的固态硬盘擦写控制方法的步骤。
57、本发明实施例包括以下优点:
58、本发明实施例通过在检测到针对固态硬盘中开放式闪存块的控制操作触发挂起机制时,获取所述固态硬盘的擦写次数和所述开放式闪存块的挂起次数;依据所述固态硬盘的擦写次数,和/或,所述开放式闪存块的挂起次数,确定所述挂起机制的执行模式;依据所述执行模式设置所述固态硬盘的挂起机制,通过设置后的挂起机制进行擦写控制。通过固态硬盘的擦写次数和所述开放式闪存块的挂起次数来动态调整挂起机制的执行模式,使得不同磨损状态的开放式闪存块进行不同的操作,降低数据块的坏块速率,延长固态硬盘使用寿命。