本技术属于存储,尤其涉及一种全闪存储系统的数据存储方法、系统、介质及程序产品。
背景技术:
1、全闪存储系统(all-flash storage systems)指的是完全依赖闪存(flashmemory)技术进行数据存储的系统。闪存技术相较于传统的磁盘存储(如hdd)有许多优势,包括更高的读写速度、更低的延迟、更高的可靠性和能效等。这些优势使得全闪存储系统在现代数据密集型应用中得到了广泛的应用,如云计算、大数据分析、人工智能和企业级数据库等。但是闪存的写入次数是有限的,频繁的写入操作会导致闪存的磨损和寿命缩短,每个闪存单元只能经历有限次数的写入和擦除循环(通常称为p/e循环),超过这个次数后,单元可能会失效,从而影响整个存储设备的可靠性。
2、在相关技术中,可以基于三维架构nand闪存存储器,对于进行多次擦除和编程操作的器件,当ber到达用户设定的阈值后,将存储器最后保持为擦除状态,再对器件进行退火,以提高三维nand闪存存储器耐久性。
3、然而,长时间的高温处理可能引起闪存材料的热应力累积,导致材料结构性损伤,反复的高温处理可能导致闪存单元的电性能退化,如门电极的漏电流增加等问题。因此,需要一种在不损伤闪存的同时提高耐久性的方法来解决上述问题。
技术实现思路
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、公式中,σ为擦写标准差,n为单元的个数,i为自变量,xi为每个单元的擦写次数,μ为擦写次数的平均值。
38、通过采用上述技术方案,为擦写标准差提供了计算依据,增强了数据的可靠性。
39、第二方面,本技术实施例提供了一种全闪存储系统的数据存储系统,该系统包括:一个或多个处理器和存储器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得系统执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
40、第三方面,本技术实施例提供一种计算机可读存储介质,包括指令,当上述指令在系统上运行时,使得上述系统执行如第一方面以及第一方面中任一可能的实现方式描述的方法。
41、第四方面,本技术实施例提供一种计算机程序产品,其特征在于,当计算机程序产品在系统上运行时,使得系统执行如第一方面中任一可能的实现方式描述的方法。
42、本技术实施例中提供的一个或多个技术方案,至少具有如下技术效果或优点:
43、1、本技术提供了一种全闪存储系统的数据存储方法,将全闪存储系统中的初始数据划分为静态数据和动态数据,并将静态数据存储在使用次数小于预设阈值的第一单元组中,动态数据写入到排序列表中使用次数最少的单元,可以有效地降低单元的擦写次数和磨损程度。因为静态数据的更新次数小于预设次数,将其存储在使用次数较少的单元中,可以避免频繁的擦写操作,延长这些单元的使用寿命。而动态数据的更新次数较高,将其写入到使用次数最少的单元,可以均衡各个单元的擦写次数,避免某些单元过早磨损失效。此外,该方法还引入了静态数据的转移机制,当存储静态数据的当前单元的使用次数与平均使用次数的差值不大于预设差值时,将静态数据转移到其他使用次数较少的单元中,进一步优化了单元的使用情况,延缓了单元的磨损速度。通过对静态数据和动态数据的区分处理,以及单元使用情况的动态调整,该方法在不损伤闪存的同时提高了全闪存储系统的耐久性。
44、2、本技术提供了一种全闪存储系统的数据存储方法,标记出含有无效数据的待擦除数据块,并将这些数据块中的有效数据转移到空闲数据块中,然后擦除无效数据块,从而实现了空间的回收和再利用。这种垃圾回收机制可以有效地解决长期运行后因无效数据占用过多空间而导致的性能下降问题。通过及时清理无效数据,可以保证系统中始终有足够的可用空间来存储新的数据,避免了因空间不足而频繁进行擦除和数据迁移操作,提高了系统的响应速度和处理效率。此外,将有效数据集中存储在空闲数据块中,还可以减少数据碎片化问题,进一步优化了空间利用率。有效地提高了全闪存储系统的空间利用率和性能,延长了系统的使用寿命。
45、3、本技术提供了一种全闪存储系统的数据存储方法,引入空间回收率的概念,即预设时间内擦除的无效数据后的空闲数据块数量除以所有数据块的数量,来动态调整垃圾回收的速度。具体而言,如果空间回收率大于预设回收率,说明当前的垃圾回收速度较快,可以适当减小擦除无效数据的速度;反之,如果空间回收率不大于预设回收率,说明当前的垃圾回收速度较慢,需要增加擦除无效数据的速度。通过这种动态调整机制,可以根据系统的实际运行情况,灵活地控制垃圾回收的速度,避免了过于频繁或过于缓慢的垃圾回收操作。当系统空间利用率较高时,可以适当加快垃圾回收的速度,及时清理无效数据,保证系统的可用空间;当系统空间利用率较低时,可以适当减慢垃圾回收的速度,减少对系统性能的影响。这种自适应的垃圾回收机制可以在保证系统可靠性的同时,最大限度地提高系统的性能和效率,延长系统的使用寿命。
1.一种全闪存储系统的数据存储方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,在所述将所述动态数据写入到所述排序列表中使用次数最少的单元,并更新所述排序列表之后,所述方法还包括:
3.根据权利要求2所述的方法,其特征在于,在所述将所述无效数据块中的所述无效数据擦除,得到空闲数据块之后,所述方法还包括:
4.根据权利要求1所述的方法,其特征在于,在所述将所述动态数据写入到所述排序列表中使用次数最少的单元,并更新所述排序列表之后,所述方法还包括:
5.根据权利要求1所述的方法,其特征在于,在所述将所述动态数据写入到所述排序列表中使用次数最少的单元,并更新所述排序列表之后,所述方法还包括:
6.根据权利要求1所述的方法,其特征在于,在所述将所述动态数据写入到所述排序列表中使用次数最少的单元,并更新所述排序列表之后,所述方法还包括:
7.根据权利要求6所述的方法,其特征在于,所述标准差计算公式为:
8.一种全闪存储系统的数据存储,其特征在于,所述系统包括:
9.一种计算机可读存储介质,包括指令,其特征在于,当所述指令在系统上运行时,使得所述系统执行如权利要求1-7中任一项所述的方法。
10.一种计算机程序产品,其特征在于,当所述计算机程序产品在系统上运行时,使得所述系统执行如权利要求1-7中任一项所述的方法。