本技术涉及计算机,尤其涉及一种数据处理方法、装置、系统、电子设备及存储介质。
背景技术:
1、随着nand闪存的出现和广泛的使用,基于nand闪存的固态硬盘(solid statedisk,简称:ssd)因具有更高的可靠性、更好的性能、更低的能耗等特点成为了存储领域的发展热点。其中,ssd通常基于l2p映射表构造主机的逻辑区块地址(logic block address,简称:lba)与ssd的物理区块地址(physical block address,简称:pba)之间的映射关系,因此,如何处理l2p映射表数据将直接影响ssd性能。
2、在现有技术中,通常是将映射表分成若干份保存在基量缓冲区和增量缓冲区,在增量缓冲区填满时将一个增量缓冲区和一个基量缓冲区合并保存到nand上。
3、但是,由于增量缓冲区容量有限,在ssd运行时频繁将映射数据刷下至nand上,将降低ssd的性能,也不利于保证该ssd的nand使用寿命。
技术实现思路
1、本技术提供一种数据处理方法、装置、系统、电子设备及存储介质,以解决现有技术降低了ssd的性能等缺陷。
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、本技术提供一种数据处理方法、装置、系统、电子设备及存储介质,该方法包括:获取待写入增量缓冲区的若干条映射数据;根据若干条映射数据表征的物理区块地址连续信息,对映射数据进行数据压缩,得到压缩后的映射数据;将压缩后的映射数据写入增量缓冲区。上述方案提供的方法,通过在将映射数据写入增量缓冲区之前,先对映射数据进行数据压缩,最后将压缩后的映射数据写入增量缓冲区,以提高增量缓冲区的使用效率,减少映射数据的下刷次数,从而提高了ssd的性能。