数据存储方法、存储服务器及电子设备技术

技术编号:34687962 阅读:12 留言:0更新日期:2022-08-27 16:21
本申请实施例提供一种数据存储方法、存储服务器及电子设备。其中,数据存储方法包括:确定待存入的第一数据;采用第一编码率对所述第一数据进行编码,得到第一纠错信息;将所述第一数据及所述第一纠错信息存入持久性内存;若第一预设时长内所述第一数据在所述持久性内存中未发生变动,则采用第二编码率对所述第一数据进行编码,得到第二纠错信息;将所述第二纠错信息存入非易失性存储器;其中,所述第一编码率高于所述第二编码率。本申请实施例提供的方案,可有效改善持久性内存存在的数据保持能力差、高原始错误率等问题。高原始错误率等问题。高原始错误率等问题。

【技术实现步骤摘要】
数据存储方法、存储服务器及电子设备


[0001]本申请涉及计算机
,尤其涉及一种数据存储方法、存储服务器及电子设备。

技术介绍

[0002]持久性内存(Persistent Memory,PM),如PCM(phase

change memory)、ReRAM、MRAM等,由于非易失性以及较短的时延的特点,而引起越来越多的关注。然而,来自多方面的因素,如制造工艺、材料、控制等,持久性内存仍然面临着自耐久性和数据保持的挑战。
[0003]持久性内存在使用过程中会遇到很高的原始错误率。随着写入操作数量的增加,持久性内存的数据保持能力变得更弱,错误率高。而现有的提供云存储服务的存储服务器中大多都部署有持久性内存。如若能改善现有持久性内存带来的问题,存储服务器的整体性能也能有显著提高。

技术实现思路

[0004]鉴于上述内容,本申请各实施例提供一种数据存储方法、存储服务器及电子设备。
[0005]在本申请的一个实施例中,提供了一种数据存储方法。该数据存储方法包括:
[0006]确定待存入的第一数据;
[0007]采用第一编码率对所述第一数据进行编码,得到第一纠错信息;
[0008]将所述第一数据及所述第一纠错信息存入持久性内存;
[0009]若第一预设时长内所述第一数据在所述持久性内存中未发生变动,则采用第二编码率对所述第一数据进行编码,得到第二纠错信息;
[0010]将所述第二纠错信息存入非易失性存储器;
[0011]其中,所述第一编码率高于所述第二编码率。
[0012]在本申请的另一个实施例中,提供了一种数据存储方法。该数据存储方法包括:
[0013]对第一数据进行编码,得到第一纠错信息;
[0014]将所述第一数据及所述第一纠错信息存入持久性内存;
[0015]若第二预设时长内所述第一数据在所述持久性内存中未发生变动,则将所述第一数据作为等待成组编码的数据,以与所述持久性内存中的等待成组编码的至少一个第四数据编为数组;
[0016]待所述第一数据与所述至少一个第四数据编为数组后,对所述数组进行编码得到纠删码信息;
[0017]将所述纠删码信息存入非易失性存储器。
[0018]在本申请的又一个实施例中,提供一种存储服务器。该存储服务器包括:持久性内存、非易失性存储器及处理器;
[0019]所述处理器,用于确定待存入的第一数据;采用第一编码率对所述第一数据进行编码,得到第一纠错信息;将所述第一数据及所述第一纠错信息存入所述持久性内存;若第
一预设时长内所述第一数据在所述持久性内存中未发生变动,则采用第二编码率对所述第一数据进行编码,得到第二纠错信息;将所述第二纠错信息存入所述非易失性存储器;
[0020]其中,所述第一编码率高于所述第二编码率。
[0021]在本申请的又一个实施例中,还提供一种存储服务器。该存储服务器包括:持久性内存、非易失性存储器及处理器;
[0022]所述处理器,用于对第一数据进行编码,得到第一纠错信息;将所述第一数据及所述第一纠错信息存入持久性内存;若第二预设时长内所述第一数据在所述持久性内存中未发生变动,则将所述第一数据作为等待成组编码的数据,以等待与所述持久性内存中的数据编为数组;待所述第一数据与所述至少一个第四数据编为数组后,对所述数组进行编码得到纠删码信息;将所述纠删码信息存入非易失性存储器。
[0023]在本申请的又一个实施例中,提供了一种电子设备。该电子设备包括持久性内存、非易失性存储器及处理器;其中,
[0024]所述处理器,与所述持久性内存及非易失性存储器电连接,用于执行上述各方法实施例中的步骤。
[0025]本申请实施例还提供了一种计算机程序产品。该计算机程序产品包括计算机程序,当所述计算机程序被计算机执行时,致使所述计算机能够实现上述数据存储方法中的步骤。
[0026]本申请一实施例提供的技术方案中,采用第一编码率对所述第一数据进行编码,然后将第一数据及第一纠错信息存入持久性内存;若第一预设时长内第一数据在持久性内存中未发生变动(如更新、删除等),则采用第二编码率对第一数据进行编码,仅将编码得到的第二纠错信息存入非易失性存储器;其中,所述第一编码率高于所述第二编码率。编码率高则意味着用作纠错的冗余信息少,编码率低则意味着用作纠错的容易信息就多,冗余信息多就能提高数据纠错能力,将第二纠错信息存储都非易失性存储器可有效改善持久性内存存在的数据保持能力差、高原始错误率等问题。除此之外,本申请实施例提供的方案采用高的第一编码率对所述第一数据进行编码,也是出于降低成本的角度考虑,这样持久性内存中存储数据的数据量小。
[0027]本申请另一实施例提供的技术方案中,对第一数据进行编码,得到第一纠错信息;将所述第一数据及所述第一纠错信息存入持久性内存。若在持久性内存中所述第一数据持续第二预设时长都未发生变动(如更新、删除等),则可将第一数据与持久性内存中存储的其他数据(同样持续第二预设时长没发生变动的数据)一同组成数组,然后对数组进行编码得到对应的纠删码信息,即在持久性内存中保持第二预设时长都未发生变动的数据来说,可通过成组编码的方式进行保护;将纠删码信息存入非易失性存储器可有效改善持久性内存存在的数据保持能力差、高原始错误率等问题。
[0028]进一步的,本申请各实施例提供的技术方案中待存入持久性内存的数据为符合持久性内存访问粒度的数据,其中,访问粒度即一次访问持久性内存能从中读取出的数据大小。本申请实施例直接对符合访问粒度的数据进行编码,而非现有技术中聚集多个数据一起编码的方式,其可实现就地删除或更新,不会影响到其他数据,也就避免了现有技术中因组编码在组中的一个数据发生变动时出现的写放大、读放大、内存磨损等问题。
附图说明
[0029]为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0030]图1a为现有技术中DRAM被用作持久性内存PM的高速缓存的存储结构示意图;
[0031]图1b为PM与DRAM协作一起为提供数据存储功能的示意图;
[0032]图1c为现有技术中采用多个数据单元聚集在一起进行编码后得到的长码字的示意图;
[0033]图2示出了本申请一实施例提供的数据存储方法的流程示意图;
[0034]图3示出了图2所示方法实施例实现的存储架构基础示意图;
[0035]图4为本申请一实施例提供的读数据存储方法中分阶段采用不同编码率进行编码的原理性示意图;
[0036]图5为本申请一实施例提供的读数据存储方法中编组编码的原理性示意图;
[0037]图6为本申请一实施例提供的读数据存储方法中三个阶本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据存储方法,其特征在于,包括:确定待存入的第一数据;采用第一编码率对所述第一数据进行编码,得到第一纠错信息;将所述第一数据及所述第一纠错信息存入持久性内存;若第一预设时长内所述第一数据在所述持久性内存中未发生变动,则采用第二编码率对所述第一数据进行编码,得到第二纠错信息;将所述第二纠错信息存入非易失性存储器;其中,所述第一编码率高于所述第二编码率。2.根据权利要求1所述的方法,其特征在于,所述第一数据的数据大小符合所述持久性内存的单个数据访问粒度要求。3.根据权利要求1或2所述的方法,其特征在于,还包括:响应于所述第一数据的删除指令,将所述持久性内存中所述第一数据及所述第一纠错信息所在的存储空间标记为空,以便后续数据存入;若所述非易失性存储器中存储有所述第一数据对应的所述第二纠错信息,则将所述第二纠错信息标记为无效信息,以等待回收。4.根据权利要求1或2所述的方法,其特征在于,还包括:响应于将所述第一数据更新为第二数据的更新指令,获取所述第二数据;采用第一编码率对所述第二数据进行编码,得到第三纠错信息;采用覆盖写入的方式,将所述持久性内存中存储的所述第一数据及所述第一纠错信息分别更新为所述第二数据及所述第三纠错信息;将针对所述第一数据的变动监测任务的计时时间重置为零,以作为所述第二数据的变动监测任务的计时起始时间。5.根据权利要求1或2所述的方法,其特征在于,还包括:若第二预设时长内所述第一数据在所述持久性内存中未发生变动,则将所述第一数据作为等待成组编码的数据,以与所述持久性内存中的等待成组编码的至少一个第四数据编为数组,执行数组编码;其中,所述第二预设时长大于所述第一预设时长。6.根据权利要求5所述的方法,其特征在于,还包括:待所述第一数据与所述至少一个第四数据编为数组后,对所述数组进行编码得到纠删码信息;将所述纠删码信息存入非易失性存储器。7.根据权利要求6所述的方法,其特征在于,还包括如下中的至少一项:若所述第一数据在所述第二预设时长后被触发删除,则保持所述第一数据在所述持久性内存的存储状态,以及所述纠删码信息在所述非易失性存储器中的存储状态;若所述第一数据在所述第二预设时长后被触发更新为第三数据,则在所述持久性内存中确定一空闲空间,采用第一编码率对所述第三数据进行编码,得到第四纠错信息;将所述第三数据及所述第四纠错信息存入所述空闲空间;若所述第一数据所在数组被回收或被无效,则将所述持久性内存中存储的所述数组中的数据所在的空间标记为空,并删除所述非易失性存储器中的纠删码信息以释放相应空
间。8.一种数据存储方法,其特征在于,包括:对第一数据进行编码,得到第一纠错信息;将所述第一数据及所述第一纠错信息存入持久性内存;若第二预设时长内所述第一数据在所述持久性内存中未发生变动,则将所述第一数据作为等待成组编码的数据,以与...

【专利技术属性】
技术研发人员:李舒
申请(专利权)人:阿里巴巴中国有限公司
类型:发明
国别省市:

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

1