数据存储方法、装置、设备及存储介质制造方法及图纸

技术编号:35928667 阅读:11 留言:0更新日期:2022-12-14 10:13
本申请涉及数据处理领域,尤其涉及一种数据存储方法、装置、设备及存储介质。方法包括:获取当前的待存储数据,其中,待存储数据包括至少两个单元数据包;获取数据量边界值,其中,数据量边界值根据历史单元数据包的数据量获得,历史单元数据包为上一次保存的系统关键数据对应的单元数据包;根据数据量边界值和预设的理论写放大系数,确定待存储数据中包含系统关键数据;分离待存储数据中的系统关键数据,并保存系统关键数据至存储器的单层式存储单元,其中,系统关键数据为支撑存储器完成存储功能的基础数据。本申请用以解决现有技术中将上位机传输的所有数据顺序写入存储器,导致性能稳定性差、数据易丢失的问题。数据易丢失的问题。数据易丢失的问题。

【技术实现步骤摘要】
数据存储方法、装置、设备及存储介质


[0001]本申请涉及数据处理领域,尤其涉及一种数据存储方法、装置、设备及存储介质。

技术介绍

[0002]固态硬盘(Solid State Disk,简称SSD),又称固态驱动器,是用固态电子存储芯片阵列制成的硬盘。固态硬盘中的固件主要负责处理与上位机的通讯协议,上位机可见的逻辑区块地址(Logical Block Address,简称LBA)与实际的物理区块地址(Physics Block Address,简称PBA)的转换,以及对多路闪存芯片的控制操作等。其中,逻辑区块地址与物理地址的转换通常被称为闪存转换层(Flash Translation Layer,简称FTL)算法。
[0003]目前,主流的FTL算法是采用Flat Write Translation的方式,该方式是将上位机传输的数据依次写入固态硬盘。这种方式实现逻辑简单。但是,这种方式对上位机传输数据的LBA顺序和分布等数据属性并不关心,也就是说,固件对上位机传输的数据不敏感,从而会导致上位机应用中,该方式会导致稳态性能表线不稳定,读延时和服务质量(Quality of Service,简称QoS)偏差等问题。尤其是在某些以存储超大视频流媒体以及视频监控等应用条件下,上位机需要对SSD进行大量数据的读写。大量数据中,包含支撑视频文件切换、文件系统和系统日志等需求的系统关键数据。所有数据顺序写入SSD后,垃圾回收等算法频繁启动,会将系统关键数据多次搬移,进而导致性能稳定性差。并且系统关键数据频繁在数据区移动也有可能导致数据丢失。

技术实现思路

[0004]本申请提供了一种数据存储方法、装置、设备及存储介质,用以解决现有技术中将上位机传输的所有数据顺序写入存储器,导致性能稳定性差、数据易丢失的问题。
[0005]第一方面,本申请实施例提供了一种数据存储方法,包括:获取当前的待存储数据,其中,所述待存储数据包括至少两个单元数据包;获取数据量边界值,其中,所述数据量边界值根据历史单元数据包的数据量获得,所述历史单元数据包为上一次保存的系统关键数据对应的单元数据包;根据所述数据量边界值和预设的理论写放大系数,确定所述待存储数据中包含系统关键数据;分离所述待存储数据中的所述系统关键数据,并保存所述系统关键数据至存储器的单层式存储单元,其中,所述系统关键数据为支撑所述存储器完成存储功能的基础数据。
[0006]可选地,所述根据所述数据量边界值和预设的理论写放大系数,确定所述待存储数据中包含系统关键数据,包括:识别所述待存储数据中的、数据量小于所述数据量边界值的至少一个单元数据包,作为第一数据集合,以及识别所述待存储数据中的、数据量大于或等于所述数据量边界值的至少一个单元数据包,作为第二数据集合;计算第一数据集合的第一数据量平均值,以及第二数据集合的第二数据量平均值,其中,所述第一数据量平均值为所述第一数据集合中的至少一个单元数据包数据量的平均值,所述第二数据量平均值为所述第二数据集合中的至少一个单元数据包数据量的平均值;当所述第二数据量平均值和
所述第一数据量平均值的比值,大于或等于所述理论写放大系数时,确定所述第一数据集合为系统关键数据。
[0007]可选地,所述获取数据量边界值,包括:获取所述历史单元数据包的数据量;计算所述历史单元数据包的数据量的平均值;根据所述平均值和所述存储器的基础参数值,获取所述数据量边界值,其中,所述基本参数值为所述存储器基础性能参数的值。
[0008]可选地,所述获取当前的待存储数据,包括:每接收上位机顺序写入的一个单元数据包,将预设的计数器加一;当所述计数器的计数达到预设的数量阈值时,将本次计数期间的至少一个单元数据包作为所述当前的待存储数据,并将所述计数器清零,以使所述计数器进行下一次计数。
[0009]可选地,一个所述单元数据包对应一个逻辑区块地址;所述分离所述待存储数据中的所述系统关键数据,并保存所述系统关键数据至所述存储器的单层式存储单元,包括:依次将所述待存储数据中的每一个所述单元数据包写入缓存,直至识别到当前写入的所述单元数据包对应的所述逻辑区块地址,与上一个写入的所述单元数据包对应的所述逻辑区块地址不连续,其中,所述缓存为所述存储器对应的缓存;当所述缓存中每一个所述单元数据包的数据量总和,小于所述数据量边界值时,将所述缓存中每一个所述单元数据包保存至所述存储器的单层式存储单元。
[0010]可选地,所述计算第一数据集合的第一数据量平均值,以及第二数据集合的第二数据量平均值之后,所述当所述第二数据量平均值和所述第一数据量平均值的比值,大于或等于所述理论写放大系数时,确定所述第一数据集合为系统关键数据之前,还包括:根据所述第二数据量平均值,确定所述第二数据集合的数据分布符合正态分布;或者,根据所述第二数据量平均值,获取所述第二数据集合中,数据量大于所述第二数据量平均值的单元数据包的数量;确定所述数据量大于所述第二数据量平均值的单元数据包的数量,大于所述第二数据集合中所有单元数据包数量的一半。
[0011]可选地,所述保存所述系统关键数据至所述存储器的单层式存储单元同时,还包括:将不包含所述系统关键数据的待存储数据,保存至所述存储器的多层式存储单元或三层式存储单元。
[0012]第二方面,本申请实施例提供了一种数据存储装置,包括:第一获取模块,用于获取当前的待存储数据,其中,所述待存储数据包括至少两个单元数据包;第二获取模块,用于获取数据量边界值,其中,所述数据量边界值根据历史单元数据包的数据量获得,所述历史单元数据包为上一次保存的系统关键数据对应的单元数据包;确定模块,根据所述数据量边界值和预设的理论写放大系数,确定所述待存储数据中包含系统关键数据;处理模块,用于分离所述待存储数据中的所述系统关键数据,并保存所述系统关键数据至存储器的单层式存储单元,其中,所述系统关键数据为支撑所述存储器完成存储功能的基础数据。
[0013]第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和通信总线,其中,处理器和存储器通过通信总线完成相互间的通信;所述存储器,用于存储计算机程序;所述处理器,用于执行所述存储器中所存储的程序,实现第一方面所述的数据存储方法。
[0014]第四方面,本申请实施例提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现第一方面所述的数据存储方法。
[0015]本申请实施例提供的上述技术方案与现有技术相比具有如下优点:本申请实施例提供的该方法,根据数据量边界值和预设的理论写放大系数,将待存储数据中的系统关键数据分离出来,并将系统关键数据单独保存至存储器的单层式存储单元中。其中,系统关键数据为支撑存储器完成存储功能的基础数据。
[0016]通过上述过程,能够将系统关键数据从待存储数据中分离出来,进行单独存储。当对固态硬盘中的数据进行垃圾回收时,由于系统关键数据是单独存储的,其他非系统关键数据不再包含系统关键数据,则可以直接将非系统关键数据擦除,不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:获取当前的待存储数据,其中,所述待存储数据包括至少两个单元数据包;获取数据量边界值,其中,所述数据量边界值根据历史单元数据包的数据量获得,所述历史单元数据包为上一次保存的系统关键数据对应的单元数据包;根据所述数据量边界值和预设的理论写放大系数,确定所述待存储数据中包含系统关键数据;分离所述待存储数据中的所述系统关键数据,并保存所述系统关键数据至存储器的单层式存储单元,其中,所述系统关键数据为支撑所述存储器完成存储功能的基础数据。2.根据权利要求1所述的数据存储方法,其特征在于,所述根据所述数据量边界值和预设的理论写放大系数,确定所述待存储数据中包含系统关键数据,包括:识别所述待存储数据中的、数据量小于所述数据量边界值的至少一个单元数据包,作为第一数据集合,以及识别所述待存储数据中的、数据量大于或等于所述数据量边界值的至少一个单元数据包,作为第二数据集合;计算第一数据集合的第一数据量平均值,以及第二数据集合的第二数据量平均值,其中,所述第一数据量平均值为所述第一数据集合中的至少一个单元数据包数据量的平均值,所述第二数据量平均值为所述第二数据集合中的至少一个单元数据包数据量的平均值;当所述第二数据量平均值和所述第一数据量平均值的比值,大于或等于所述理论写放大系数时,确定所述第一数据集合为系统关键数据。3.根据权利要求1所述的数据存储方法,其特征在于,所述获取数据量边界值,包括:获取所述历史单元数据包的数据量;计算所述历史单元数据包的数据量的平均值;根据所述平均值和所述存储器的基础参数值,获取所述数据量边界值,其中,所述基本参数值为所述存储器基础性能参数的值。4.根据权利要求1所述的数据存储方法,其特征在于,所述获取当前的待存储数据,包括:每接收上位机顺序写入的一个单元数据包,将预设的计数器加一;当所述计数器的计数达到预设的数量阈值时,将本次计数期间的至少一个单元数据包作为所述当前的待存储数据,并将所述计数器清零,以使所述计数器进行下一次计数。5.根据权利要求1所述的数据存储方法,其特征在于,一个所述单元数据包对应一个逻辑区块地址;所述分离所述待存储数据中的所述系统关键数据,并保存所述系统关键数据至所述存储器的单层式存储单元,包括:依次将所述待存储数据中的每一个所述单元数据包写入缓存,直至识别...

【专利技术属性】
技术研发人员:李创锋
申请(专利权)人:深圳市金泰克半导体有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1