一种非线性扰码方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:38624703 阅读:18 留言:0更新日期:2023-08-31 18:26
本发明专利技术实施例公开了一种非线性扰码方法、装置、计算机设备及存储介质。所述方法包括:通过不同厂商、不同大小的最小写地址单元计算动态的变量ppa值;通过计数器计算带偏移量lpa和lba的值;构造可配置seed table表;结合颗粒使用的生命周期,使用下发描述符的内容,记录读写次数,以修改seed table表的索引;结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式打乱数据seed的构成。通过实施本发明专利技术实施例的方法可实现额外针对于颗粒不同层级和不同读写次数seed的差异化,避免扰码seed的差异性过小,使得数据在加扰过程中有更好的扩散效果。有更好的扩散效果。有更好的扩散效果。

【技术实现步骤摘要】
一种非线性扰码方法、装置、计算机设备及存储介质


[0001]本专利技术涉及固态硬盘,更具体地说是指一种非线性扰码方法、装置、计算机设备及存储介质。

技术介绍

[0002]在固态硬盘读写操作时,需要避免传输的数据出现大量的“0”和“1”,通过扰码算法来达到这个目的,进而影响对flash颗粒的数据写入和读出的数据可靠性。
[0003]在数据随机化的实现上,传统的扰码具有如下的特性和分类:扰码电路是由固定多项式搭建的,采用移位寄存器和异或逻辑组成,生成的数据属于伪随机分布序列;扰码的现实原理可分为线性和非线性,早起使用的是串行扰码,现在大量使用的是并行扰码,并行扰码的实现分为查表法和构造矩阵法;起到一定的数据加密功能,具备同步扰码和自同步扰码。
[0004]现有的扰码电路结构大部分采用线性反馈移位寄存器lfsr的数据加扰模式,仅考虑到对颗粒不同地址seed构造的差异化,对于坏情况下的seed和数据加扰效果不强。
[0005]因此,有必要设计一种新的方法,实现额外针对于颗粒不同层级和不同读写次数seed的差异化,避免扰码seed的差异性过小,使得数据在加扰过程中有更好的扩散效果。

技术实现思路

[0006]本专利技术的目的在于克服现有技术的缺陷,提供一种非线性扰码方法、装置、计算机设备及存储介质。
[0007]为实现上述目的,本专利技术采用以下技术方案:一种非线性扰码方法,包括:
[0008]通过不同厂商、不同大小的最小写地址单元计算动态的变量ppa值;
[0009]通过计数器计算带偏移量lpa和lba的值;
[0010]构造可配置seed table表;
[0011]结合颗粒使用的生命周期,使用下发描述符的内容,记录读写次数,以修改seed table表的索引;
[0012]结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式打乱数据seed的构成。
[0013]其进一步技术方案为:所述结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式打乱数据seed的构成,包括:
[0014]结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式对输入数据进行三级流水式初次打乱数据seed的构成;
[0015]根据写入特性对初次打乱的结果进行二次加扰。
[0016]其进一步技术方案为:所述结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式对输入数据进行三级流水式初次打乱数据seed的构成,包括:
[0017]结合seed table表对应的颗粒层级关系对输入数据进行线性逻辑运算,并将运算
的结果进行拆分,以得到拆分结果;
[0018]对所述拆分结果进行线性逻辑运算,以得到第二运算结果;
[0019]对所述第二运算结果调用aes加密算法的sbox进行非线性置换,并进行线性逻辑运算和数据合并。
[0020]其进一步技术方案为:所述线性逻辑运算包括9次~12次的数值的移位运算。
[0021]其进一步技术方案为:所述根据写入特性对初次打乱的结果进行二次加扰,包括:
[0022]对初次打乱的结果增加偏移量,以对初次打乱的结果进行二次加扰。
[0023]其进一步技术方案为:所述对初次打乱的结果增加偏移量,以对初次打乱的结果进行二次加扰,包括:
[0024]对初次打乱的结果的码字地址以及页地址增加偏移量;
[0025]对码字地址以及页地址进行线性运算,修改码字地址以及页地址;
[0026]根据读写次数,对修改后的码字地址以及页地址进行线性运算;
[0027]对线性运算后的码字地址以及页地址进行二次修改。
[0028]本专利技术还提供了一种非线性扰码装置,包括:
[0029]第一计算单元,用于通过不同厂商、不同大小的最小写地址单元计算动态的变量ppa值;
[0030]第二计算单元,用于通过计数器计算带偏移量lpa和lba的值;
[0031]构造单元,用于构造可配置seed table表;
[0032]记录单元,用于结合颗粒使用的生命周期,使用下发描述符的内容,记录读写次数,以修改seed table表的索引;
[0033]扰码单元,用于结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式打乱数据seed的构成。
[0034]其进一步技术方案为:所述扰码单元包括:
[0035]初始打乱子单元,用于结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式对输入数据进行三级流水式初次打乱数据seed的构成;
[0036]二次加扰子单元,用于根据写入特性对初次打乱的结果进行二次加扰。
[0037]本专利技术还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
[0038]本专利技术还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法。
[0039]本专利技术与现有技术相比的有益效果是:本专利技术通过在打乱数据seed的构成的时,采用国际标准加密算法AES中的sbox,对数据进行非线性置换,提升抗线性和差分攻击的能力,提升在最坏扰码seed的情况下数据的加扰效果,并且使用大量的移位寄存器和异或逻辑,增加每轮seed的随机分布特性;采用三级流水线架构,在满足电路复杂度的前提下,提升系统带宽,满足颗粒在不同层级间seed的差异化,flash颗粒一个page不同码字codeword的seed差异化,新增二次加扰,满足同一块地址空间连续n次读写seed差异化,实现额外针对于颗粒不同层级和不同读写次数seed的差异化,避免扰码seed的差异性过小,使得数据在加扰过程中有更好的扩散效果。
[0040]下面结合附图和具体实施例对本专利技术作进一步描述。
附图说明
[0041]为了更清楚地说明本专利技术实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0042]图1为本专利技术实施例提供的一种非线性扰码方法的流程示意图;
[0043]图2为本专利技术实施例提供的一种非线性扰码方法的子流程示意图;
[0044]图3为本专利技术实施例提供的一种非线性扰码方法的子流程示意图;
[0045]图4为本专利技术实施例提供的一种非线性扰码方法的子流程示意图;
[0046]图5为本专利技术实施例提供的flash颗粒结构示意图;
[0047]图6为本专利技术实施例提供的扰码在芯片中的电路模型示意图;
[0048]图7为本专利技术实施例提供的扰码编码模块示意图;
[0049本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非线性扰码方法,其特征在于,包括:通过不同厂商、不同大小的最小写地址单元计算动态的变量ppa值;通过计数器计算带偏移量lpa和lba的值;构造可配置seed table表;结合颗粒使用的生命周期,使用下发描述符的内容,记录读写次数,以修改seed table表的索引;结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式打乱数据seed的构成。2.根据权利要求1所述的一种非线性扰码方法,其特征在于,所述结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式打乱数据seed的构成,包括:结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式对输入数据进行三级流水式初次打乱数据seed的构成;根据写入特性对初次打乱的结果进行二次加扰。3.根据权利要求2所述的一种非线性扰码方法,其特征在于,所述结合seed table表对应的颗粒层级关系采用线性计算和非线性计算结合的方式对输入数据进行三级流水式初次打乱数据seed的构成,包括:结合seed table表对应的颗粒层级关系对输入数据进行线性逻辑运算,并将运算的结果进行拆分,以得到拆分结果;对所述拆分结果进行线性逻辑运算,以得到第二运算结果;对所述第二运算结果调用aes加密算法的sbox进行非线性置换,并进行线性逻辑运算和数据合并。4.根据权利要求3所述的一种非线性扰码方法,其特征在于,所述线性逻辑运算包括9次~12次的数值的移位运算。5.根据权利要求3所述的一种非线性扰码方法,其特征在于,所述根据写入特性对初次打乱的结果进行二次加扰,包括:对初次打乱的结果增加偏移量,以对初次打...

【专利技术属性】
技术研发人员:沈从鑫汤晓东曾科
申请(专利权)人:苏州忆联信息系统有限公司
类型:发明
国别省市:

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

1