本技术实施例涉及固态硬盘,尤其涉及一种数据存储方法、固态硬盘、及计算设备。
背景技术:
1、固态硬盘(solid state drive,ssd)中可以包括多个闪存芯片。闪存芯片的温度可以影响固态硬盘的性能和使用寿命。
2、目前,可以在固态硬盘中设置温控组件。若固态硬盘的温度超过预设阈值,温控组件可以控制固态硬盘的工作频率降低,从而降低固态硬盘中闪存芯片的温度。然而,固态硬盘的工作频率降低后,固态硬盘的性能也会降低,使得固态硬盘的性能较差。
技术实现思路
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、上述方案中,固态硬盘接收写数据请求后,可以根据固态硬盘中各存储单元的温度,在固态硬盘中确定至少一个目标存储单元,并可以向至少一个目标存储单元中写入待存储数据。上述方案中,可以避免向温度较高的存储单元持续写入数据,进而避免了温度较高的存储单元所在的闪存芯片温度持续升高。通过上述方法,可以使得固态硬盘中各个闪存芯片的温度较为均衡,避免了单个温度较高的闪存芯片对固态硬盘的使用性能和使用寿命造成影响,提高了固态硬盘的使用性能、并延长了固态硬盘的使用寿命。