闪存的数据随机化处理方法和装置与流程

文档序号:33731079发布日期:2023-04-06 03:45阅读:36来源:国知局
闪存的数据随机化处理方法和装置与流程

本发明闪存,尤其是涉及一种闪存的数据随机化处理方法和装置。


背景技术:

1、闪存是一种非易失存储介质,用于存储0、1信息。闪存的bit-line(位线)之间、word-line(字线)之间因为物理距离近,存在较大的相互干扰。一旦bit-line之间、word-line之间存储的数据相同,会因为相互干扰而导致数据出错,降低闪存的可靠性。因此,在host data(主机数据)写入闪存前,需要经过随机化模块将数据进行随机化处理,然后将处理后的数据写入闪存。

2、数据的随机化处理一般通过线性反馈移位寄存器(lfsr)和异或运算(xor)模块来实现。原始种子(seed)经过lfsr之后产生一组随机数,然后与host data执行xor运算得到随机化处理的数据(scrambled data),然后将该数据写入闪存,从而实现对写入数据的随机化。

3、现有的随机化模块一般通过一个16bit或者32bit的lfsr来实现。但是随着闪存技术发展,闪存的word-line层数越来越高,即一个闪存block(块)的page(页)数越来越多,从而导致了如下缺陷。如:

4、(1)需要更多的seed来支持未来高word-line层数闪存的随机化,导致用于存放seed的memory(存储)空间增加,造成控制器成本上升。

5、(2)维持原有seed个数会导致对未来高word-line层数闪存的数据随机化程度不够,造成闪存的可靠性变差。

6、(3)一个lfsr的设计单一,在对不同类型闪存的数据随机化处理上不够灵活。

7、(4)因为只有一个lfsr,随机化算法基本上是硬件写死的,无法通过软件去配置。当遇到不兼容闪存时将出现无法适配的问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种闪存的数据随机化处理方法和装置,以显著增强高字线层数闪存的数据随机性,节省种子个数,显著降低控制器成本,设计灵活,兼容性强,可适配不同类型的闪存。

2、第一方面,本发明实施例提供了一种闪存的数据随机化处理方法,方法包括:获取目标数据,确定目标数据对应的闪存页数;基于闪存页数确定目标移位寄存器、目标抽头和目标种子,基于帧数确定目标扰动;对目标种子和目标扰动执行异或操作,得到异或结果;将异或结果输入目标移位寄存器中进行运算,输出运算结果;基于目标抽头从运算结果中确定抽头数据;将抽头数据与目标数据执行异或操作,得到加扰数据;将加扰数据写入闪存中。

3、在本申请可选的实施例中,应用于数据随机化处理系统,数据随机化处理系统包括多个移位寄存器、多个抽头、异或运算模块、种子选取模块和扰动选取模块。

4、在本申请可选的实施例中,上述数据随机化处理系统包括16个32bit的移位寄存器,每个移位寄存器对应2个抽头。

5、在本申请可选的实施例中,上述基于闪存页数确定目标移位寄存器、目标抽头和目标种子,基于帧数确定目标扰动的步骤,包括:基于闪存页数和数据随机化处理系统的种子数量确定目标移位寄存器的编号、目标抽头的编号和目标种子的编号;基于目标移位寄存器的编号、目标抽头的编号和目标种子的编号分别确定目标移位寄存器、目标抽头和目标种子;基于帧数确定目标扰动的编号,基于目标扰动的编号确定目标扰动。

6、在本申请可选的实施例中,通过下述算式确定目标移位寄存器的编号、目标抽头的编号、目标种子的编号和目标扰动的编号:lfsr_num=mod[quotient(page address,n),16];lq_num=quotient[quotient(page address,n),16];seed_index=mod(pageaddress,n);agitation_num=frame number;其中,mod为取余运算,quotient为取商运算,lfsr_num为目标移位寄存器的编号,lq_num为目标抽头的编号,seed_index为目标种子的编号,agitation_num为目标扰动的编号,page address为闪存页数,n为种子数量,framenumber为帧数。

7、在本申请可选的实施例中,上述算式在软件中执行。

8、在本申请可选的实施例中,通过下述步骤确定数据随机化处理系统的移位寄存器:从预先设置的第一数量的触发器中随机选择第二数量的触发器;其中,第二数量小于第一数量;基于预先设置的首触发器、随机选择的第二数量的触发器和预先设置的尾触发器确定移位寄存器。

9、在本申请可选的实施例中,通过下述步骤确定移位寄存器的第一抽头和第二抽头:从移位寄存器包括的触发器中确定第一触发器组和第二触发器组;其中,第一触发器组和第二触发器组均包括随机选择的目标数量的移位寄存器包括的触发器,第一触发器组和第二触发器组的相同的触发器的数量不大于预设的阈值;基于第一触发器组和第二触发器组分别确定第一抽头和第二抽头。

10、在本申请可选的实施例中,上述将异或结果输入目标移位寄存器中进行运算,输出运算结果的步骤,包括:将异或结果输入目标移位寄存器中进行运算,输出移位寄存器包括的各个触发器对应的第一数值作为运算结果;基于目标抽头从运算结果中确定抽头数据的步骤,包括:从目标移位寄存器包括的各个触发器对应的第一数值中选择目标抽头包括的各个触发器对应的第二数值作为抽头数据。

11、第二方面,本发明实施例还提供一种闪存的数据随机化处理装置,装置包括:目标数据获取模块,用于获取目标数据,确定目标数据对应的闪存页数;软件处理模块,用于基于闪存页数确定目标移位寄存器、目标抽头和目标种子,基于帧数确定目标扰动;硬件处理模块,用于对目标种子和目标扰动执行异或操作,得到异或结果;将异或结果输入目标移位寄存器中进行运算,输出运算结果;基于目标抽头从运算结果中确定抽头数据;将抽头数据与目标数据执行异或操作,得到加扰数据;数据写入模块,用于将加扰数据写入闪存中。

12、本发明实施例带来了以下有益效果:

13、本发明实施例提供了一种闪存的数据随机化处理方法和装置,可以显著增强高字线层数闪存的数据随机性,节省种子个数,显著降低控制器成本,设计灵活,兼容性强,可适配不同类型的闪存。

14、本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。

15、为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。



技术特征:

1.一种闪存的数据随机化处理方法,其特征在于,所述方法包括:

2.根据权利要求1所述的方法,其特征在于,应用于数据随机化处理系统,所述数据随机化处理系统包括多个移位寄存器、多个抽头、异或运算模块、种子选取模块和扰动选取模块。

3.根据权利要求2所述的方法,其特征在于,所述数据随机化处理系统包括16个32bit的所述移位寄存器,每个所述移位寄存器对应2个所述抽头。

4.根据权利要求2所述的方法,其特征在于,基于所述闪存页数确定目标移位寄存器、目标抽头和目标种子,基于帧数确定目标扰动的步骤,包括:

5.根据权利要求4所述的方法,其特征在于,通过下述算式确定所述目标移位寄存器的编号、所述目标抽头的编号、所述目标种子的编号和所述目标扰动的编号:

6.根据权利要求5所述的方法,其特征在于,所述算式在软件中执行。

7.根据权利要求3所述的方法,其特征在于,通过下述步骤确定所述数据随机化处理系统的所述移位寄存器:

8.根据权利要求7所述的方法,其特征在于,通过下述步骤确定所述移位寄存器的第一抽头和第二抽头:

9.根据权利要求8所述的方法,其特征在于,将所述异或结果输入所述目标移位寄存器中进行运算,输出运算结果的步骤,包括:

10.一种闪存的数据随机化处理装置,其特征在于,所述装置包括:


技术总结
本发明提供了一种闪存的数据随机化处理方法和装置。其中,该方法包括:获取目标数据,确定目标数据对应的闪存页数;基于闪存页数确定目标移位寄存器、目标抽头和目标种子,基于帧数确定目标扰动;对目标种子和目标扰动执行异或操作,得到异或结果;将异或结果输入目标移位寄存器中进行运算,输出运算结果;基于目标抽头从运算结果中确定抽头数据;将抽头数据与目标数据执行异或操作,得到加扰数据;将加扰数据写入闪存中。可以显著增强高字线层数闪存的数据随机性,节省种子个数,显著降低控制器成本,设计灵活,兼容性强,可适配不同类型的闪存。

技术研发人员:田鹏飞,叶云杰,王斐
受保护的技术使用者:深圳市德明利技术股份有限公司
技术研发日:
技术公布日:2024/1/12
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1