基于半导体存储的数据管理方法技术

技术编号:38837598 阅读:9 留言:0更新日期:2023-09-17 09:53
本发明专利技术涉及数据纠错编码技术领域,具体涉及基于半导体存储的数据管理方法,包括:将待存储数据转换为字符序列,构建目标霍夫曼树,获取待编码字符的参考字符,根据参考字符在目标霍夫曼树中与待编码字符之间的位置关系对待编码字符进行编码,得到第一编码,对第一编码设置纠错码得到第二编码,进而得到编码结果。对编码结果进行纠错解压时,根据第二编码的特征将编码结果分为多个数据段,根据不符合第二编码的数据特征的数据段获取纠错数据段,对待纠错数据段进行纠错得到无错序列,对无错序列进行解压。本发明专利技术较于现有的数据纠错算法编码长度更短,纠错码对压缩效率的影响非常低,不影响数据的存储效率,同时纠错结果准确。同时纠错结果准确。同时纠错结果准确。

【技术实现步骤摘要】
基于半导体存储的数据管理方法


[0001]本专利技术涉及数据纠错编码
,具体涉及基于半导体存储的数据管理方法。

技术介绍

[0002]半导体存储设备是一类电子式数字存储设备,通过半导体介质来存储和读取数字信息。为了提高半导体存储设备的数据存储效率,需要对数据进行压缩存储。霍夫曼编码为最常用的数据压缩算法。
[0003]在将数据存储到半导体存储设备的过程中,可能受到电磁干扰等多种因素影响,导致数据错误。部分半导体存储设备如可编程只读存储器(PROM)仅能写入数据,不能修改数据。因此对霍夫曼编码的压缩数据进行存储时,若一个比特位发生了错误,则会导致之后的所有字符都会解码错误,从而使得可编程只读存储器存储的数据无法正确解码,导致可编程只读存储器报废。因此需要设置纠错码对霍夫曼编码的压缩数据进行纠错,确保存储在半导体存储设备中的数据可正确解码。
[0004]现有的数据纠错算法,如低密度奇偶校验码,纠错码的位数与数据的位数相同,极大的影响了压缩效率,使得数据的存储空间增大,影响数据的存储效率。

技术实现思路

[0005]本专利技术提供基于半导体存储的数据管理方法,以解决现有的问题。
[0006]本专利技术的基于半导体存储的数据管理方法采用如下技术方案:本专利技术一个实施例提供了基于半导体存储的数据管理方法,该方法包括以下步骤:获取待存储数据,将待存储数据转换为字符序列;根据字符序列中每种字符的频率构建目标霍夫曼树;将字符序列中每个字符依次作为待编码字符,对待编码字符进行编码,包括:当待编码字符为字符序列中第一个字符时,将待编码字符在目标霍夫曼树中的编码作为待编码字符的第一编码;当待编码字符不为字符序列中第一个字符时,根据字符序列获取待编码字符的参考字符,根据参考字符获取待编码字符的第一编码;根据待编码字符的第一编码设置纠错码,获取第二编码;将字符序列中每个字符的第二编码构成字符序列的编码结果;获取编码结果的数字摘要,作为目标数字摘要;对编码结果以及目标数字摘要进行存储;对编码结果进行纠错解压,包括:将编码结果分为多个数据段,根据数据段中的纠错码获取待纠错数据段,根据目标数字摘要对所有待纠错数据段进行纠错得到无错序列;对无错序列进行解压。
[0007]优选的,所述根据字符序列中每种字符的频率构建目标霍夫曼树,包括的具体步骤如下:
将字符序列中字符的种类数记为M,构建一个M+1层的二叉树,要求该二叉树包含M+2个叶子节点,该二叉树的所有左分支都为叶子节点,除最后一个右分支外,所有右分支都为父节点;按照频率从大到小的顺序将每种字符依次分配给二叉树的第2层到最后一层的左叶子节点,将最终得到的二叉树记为目标霍夫曼树。
[0008]优选的,所述根据字符序列获取待编码字符的参考字符,包括的具体步骤如下:获取字符序列中距离待编码字符最近且在待编码字符之前的N种字符,作为待编码字符的参考字符,其中N为预设的回溯阈值。
[0009]优选的,所述根据参考字符获取待编码字符的第一编码,包括的具体步骤如下:若待编码字符的参考字符在目标霍夫曼树中均位于待编码字符的深层或同层,将待编码字符在目标霍夫曼树中的编码作为待编码字符的第一编码;若存在待编码字符的参考字符在目标霍夫曼树中位于待编码字符的浅层,获取所有参考字符中最浅层的参考字符作为起始字符,将目标霍夫曼树中起始字符的父节点到待编码字符的路径的编码,作为待编码字符的第一编码。
[0010]优选的,所述根据待编码字符的第一编码设置纠错码,获取第二编码,包括的具体步骤如下:获取待编码字符的第一编码中1的个数,在第一编码之后补充多个0,使得1的个数与0的个数相同,将得到的结果作为待编码字符的第二编码,将第二编码中所有0作为纠错码。
[0011]优选的,所述将编码结果分为多个数据段,包括的具体步骤如下:将编码结果中1到0称为一次跳变;将编码结果分为多个数据段,使每个数据段均以1为开头,以0为结尾,且每个数据段中数据的跳变次数为1。
[0012]优选的,所述根据数据段中的纠错码获取待纠错数据段,包括的具体步骤如下:数据段中所有的0为数据段的纠错码,若数据段中1的个数与数据段中纠错码的长度相同,将数据段记为正常数据段,若数据段中1的个数与数据段中纠错码的长度不相同,将数据段记为错误数据段;当一个正常数据段的前一个数据段以及后一个数据段均为错误数据段时,将该正常数据段置为错误数据段;将所有相邻的错误数据段合并为一个错误数据段;将合并之后的每个错误数据段与前一个数据段以及后一个数据段进行合并,得到待纠错数据段。
[0013]优选的,所述根据目标数字摘要对所有待纠错数据段进行纠错得到无错序列,包括的具体步骤如下:遍历修改待纠错数据段中一个或多个比特位,得到多个可能数据段;对待纠错数据段所有的可能数据段进行筛选得到候选数据段;将待纠错数据段的任意一个候选数据段作为待纠错数据段的目标候选数据段,将编码结果中每个待纠错数据段利用每个待纠错数据段的目标候选数据段进行替换,得到一个预纠错序列;将待纠错数据段的每个候选数据段分别作为待纠错数据段的目标候选数据段,得到多个预纠错序列;根据目标数字摘要获取预纠错序列中的无错序列。
[0014]优选的,所述对待纠错数据段所有的可能数据段进行筛选得到候选数据段,包括的具体步骤如下:
对每个可能数据段进行游程编码,将游程编码中编码对象构成一个编码对象序列,将游程长度构成长度序列;若可能数据段的编码对象序列以1为开始0为结尾,且所有的1和0交替出现,同时可能数据段的长度序列中所有的奇数位的数值与其下一个偶数位的数值相同时,将该可能数据段作为候选数据段。
[0015]优选的,所述根据目标数字摘要获取预纠错序列中的无错序列,包括的具体步骤如下:对每个预纠错序列进行哈希处理,得到每个预纠错序列的数字摘要;获取将每个预纠错序列的数字摘要和目标数字摘要的汉明距离,将汉明距离最小的预纠错序列作为无错序列。
[0016]本专利技术的技术方案的有益效果是:本专利技术根据字符序列的频率构建目标霍夫曼树,在对字符序列进行编码的过程中,获取待编码字符的参考字符,根据参考字符在目标霍夫曼树中与待编码字符之间的位置关系对待编码字符进行编码,得到第一编码,相较于传统的霍夫曼编码缩短了数据的编码长度;现有的数据纠错算法,如低密度奇偶校验码,纠错码的位数与编码结果的位数相同,极大的影响了压缩效率,使得数据的存储空间增大,影响数据的存储效率,本专利技术根据待编码字符的第一编码中1的个数设置纠错码,对第一编码进行选择性扩充,得到第二编码,使得纠错码的长度尽可能短,将纠错码对压缩效率的影响降到非常低,不影响数据的存储效率;本专利技术纠错码以及数字摘要对数据进行纠错,确保了纠错结果的准确性。
附图说明
[0017]为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于半导体存储的数据管理方法,其特征在于,该方法包括以下步骤:获取待存储数据,将待存储数据转换为字符序列;根据字符序列中每种字符的频率构建目标霍夫曼树;将字符序列中每个字符依次作为待编码字符,对待编码字符进行编码,包括:当待编码字符为字符序列中第一个字符时,将待编码字符在目标霍夫曼树中的编码作为待编码字符的第一编码;当待编码字符不为字符序列中第一个字符时,根据字符序列获取待编码字符的参考字符,根据参考字符获取待编码字符的第一编码;根据待编码字符的第一编码设置纠错码,获取第二编码;将字符序列中每个字符的第二编码构成字符序列的编码结果;获取编码结果的数字摘要,作为目标数字摘要;对编码结果以及目标数字摘要进行存储;对编码结果进行纠错解压,包括:将编码结果分为多个数据段,根据数据段中的纠错码获取待纠错数据段,根据目标数字摘要对所有待纠错数据段进行纠错得到无错序列;对无错序列进行解压。2.根据权利要求1所述的基于半导体存储的数据管理方法,其特征在于,所述根据字符序列中每种字符的频率构建目标霍夫曼树,包括的具体步骤如下:将字符序列中字符的种类数记为M,构建一个M+1层的二叉树,要求该二叉树包含M+2个叶子节点,该二叉树的所有左分支都为叶子节点,除最后一个右分支外,所有右分支都为父节点;按照频率从大到小的顺序将每种字符依次分配给二叉树的第2层到最后一层的左叶子节点,将最终得到的二叉树记为目标霍夫曼树。3.根据权利要求1所述的基于半导体存储的数据管理方法,其特征在于,所述根据字符序列获取待编码字符的参考字符,包括的具体步骤如下:获取字符序列中距离待编码字符最近且在待编码字符之前的N种字符,作为待编码字符的参考字符,其中N为预设的回溯阈值。4.根据权利要求1所述的基于半导体存储的数据管理方法,其特征在于,所述根据参考字符获取待编码字符的第一编码,包括的具体步骤如下:若待编码字符的参考字符在目标霍夫曼树中均位于待编码字符的深层或同层,将待编码字符在目标霍夫曼树中的编码作为待编码字符的第一编码;若存在待编码字符的参考字符在目标霍夫曼树中位于待编码字符的浅层,获取所有参考字符中最浅层的参考字符作为起始字符,将目标霍夫曼树中起始字符的父节点到待编码字符的路径的编码,作为待编码字符的第一编码。5.根据权利要求1所述的基于半导体存储的数据管理方法,其特征在于,所述根据待编码字符的第一编码设置纠错码,获取第二编码,包括的具体步骤如下:获取待编码字符的第一编码中1的个数,在第一编码之后补充多个0,使得1的个数与0的个数相同...

【专利技术属性】
技术研发人员:池明黄德于涛李建立
申请(专利权)人:深圳致赢科技有限公司
类型:发明
国别省市:

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

1