随机化加扰器与随机化解扰器的制作方法

文档序号:11303287阅读:423来源:国知局
随机化加扰器与随机化解扰器的制造方法与工艺

本实用新型涉及用于数据随机化的加扰器与解扰器。



背景技术:

诸如NAND闪存的NVM芯片,要求向其写入的数据具有一定的统计特性。例如,“0”与“1”的个数基本相同,避免出现连续的“0”或者“1”,在一个物理存储单元周围的存储单元中存储的“0”与“1”大体上均匀等。为满足此类要求,向NVM芯片写入数据前,对数据加扰,使得写入NVM芯片的数据随机化。图1为现有技术的常用的加扰方式的示意图。如图1所示,为向NVM芯片的物理页P写入数据,将物理页P的物理地址作为种子初始化m序列生成器101。将整页的数据分成同m序列生成器101的大小相对应的小块,将每个小块数据同m序列生成器101输出的值做异或,将异或结果作为输出,并写入物理页P。每对一个小块执行了异或操作,m序列生成器101向前推进,以生成新的值。

在从物理页P读出数据时,采用类似的方式,对读出数据解扰,以得到原始数据。例如,用物理页P的物理地址作为种子初始化m序列生成器,对读出数据的每个小块,同m序列生成器的值做异或,以得到对应的原始数据的小块,并使m序列生成器向前推进。



技术实现要素:

根据本实用新型的第一方面,提供了根据本实用新型的第一方面的第一数据加扰器,包括:第一m序列生成器,第二m序列生成器,映射电路以及异或单元;所述映射电路接收物理页地址作为输入;所述第一m序列生成器的第一输入耦合到所述映射电路的输出,所述第一m序列生成器还接收第二输入,以及所述第二输入用于初始化所述第一m序列生成器;所述第二m序列生成器的输入耦合到所述第一m序列生成器的输出,所述第二m序列生成器的输出耦合到所述异或单元;所述异或单元对所述第二m序列生成器的输出与待加扰的数据作异或,所述异或单元的输出是经加扰的数据。

根据本实用新型的第一方面的第一数据加扰器,提供了根据本实用新型的第一方面的第二数据加扰器,其中,物理页的物理页索引依照物理页在物理空间上的排列次序确定。

根据本实用新型的第一方面的第一或第二数据加扰器,提供了根据本实用新型的第一方面的第三数据加扰器,其中,所述映射电路包括查找表,所述查找表以物理页地址作为索引,所述查找表的值是同物理页地址对应的物理页索引。

根据本实用新型的第一方面的第一至第三数据加扰器之一,提供了根据本实用新型的第一方面的第四数据加扰器,其中,所述映射电路将物理页地址映射为物理页索引作为输出。

根据本实用新型的第一方面的第一至第三数据加扰器之一,提供了根据本实用新型的第一方面的第五数据加扰器,其中,所述映射电路将物理页地址映射为物理页索引,并将当前物理页索引与前一物理页索引的差值作为输出。

根据本实用新型的第一方面的第一至第五数据加扰器之一,提供了根据本实用新型的第一方面的第六数据加扰器,所述第二输入是指定值、物理块地址或依据物理块地址得到的值。

根据本实用新型的第一方面的第一至第六数据加扰器之一,提供了根据本实用新型的第一方面的第七数据加扰器,其中,响应于收到第一输入,所述第一m序列生成器依据第一输入的值向前推进。

根据本实用新型的第一方面的第一至第七数据加扰器之一,提供了根据本实用新型的第一方面的第八数据加扰器,其中,所述第二m序列生成器的输入用于初始化所述第二m序列生成器。

根据本实用新型的第一方面的第一至第八数据加扰器之一,提供了根据本实用新型的第一方面的第九数据加扰器,其中,要写入物理页的数据包括多个数据单元,所述多个数据单元的每个作为所述待加扰数据;响应于完成对待加扰数据的异或操作,所述第二m序列生成器向前推进,并将下一个数据单元作为待加扰数据。

根据本实用新型的第一方面的第一至第九数据加扰器之一,提供了根据本实用新型的第一方面的第十数据加扰器,其中,所述映射电路还接收数据帧序号,并将物理页地址与数据帧序号的组合映射为数据帧索引作为输出。

根据本实用新型的第一方面的第十数据加扰器,提供了根据本实用新型的第一方面的第十一数据加扰器,其中,所述映射电路将物理页地址与数据帧号的组合映射为数据帧索引,并将当前数据帧索引与前一数据帧索引的差值作为输出。

根据本实用新型的第一方面的第一至第十一数据加扰器之一,提供了根据本实用新型的第一方面的第十二数据加扰器,其中,第一m序列生成器或第二m序列生成器为LFSR生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器。

本实用新型的数据加扰器,对于不同的物理页,利用了m序列生成器良好的随机性消除了不同物理页的地址之间的相关性对加扰结果的影响。

根据本实用新型的第二方面,提供了本实用新型的第二方面的第一数据解扰器,包括:第一m序列生成器,第二m序列生成器,映射电路以及异或单元;所述映射电路接收物理页地址作为输入;所述第一m序列生成器的第一输入耦合到所述映射电路的输出,所述第一m序列生成器还接收第二输入,以及所述第二输入用于初始化所述第一m序列生成器;所述第二m序列生成器的输入耦合到所述第一m序列生成器的输出,所述第二m序列生成器的输出耦合到所述异或单元;所述异或单元对所述第二m序列生成器的输出与待解扰的数据作异或,所述异或单元的输出是解扰后的数据。

根据本实用新型的第二方面的第一数据解扰器,提供了根据本实用新型的第二方面的第二数据解扰器,其中,物理页的物理页索引依照物理页在物理空间上的排列次序确定。

根据本实用新型的第二方面的第一或第二数据解扰器,提供了根据本实用新型的第二方面的第三数据解扰器,其中,所述映射电路包括查找表,所述查找表以物理页地址作为索引,所述查找表的值是同物理页地址对应的物理页索引。

根据本实用新型的第二方面的第一至第三数据解扰器之一,提供了根据本实用新型的第二方面的第四数据解扰器,其中,所述映射电路将物理页地址映射为物理页索引作为输出。

根据本实用新型的第二方面的第一至第三数据解扰器之一,提供了根据本实用新型的第二方面的第五数据解扰器,其中,所述映射电路将物理页地址映射为物理页索引,并将当前物理页索引与前一物理页索引的差值作为输出。

根据本实用新型的第二方面的第一至第五数据解扰器之一,提供了根据本实用新型的第二方面的第六数据解扰器,其中,所述第二输入是指定值、物理块地址或依据物理块地址得到的值。

根据本实用新型的第二方面的第一至第六数据解扰器之一,提供了根据本实用新型的第二方面的第七数据解扰器,其中,响应于收到第一输入,所述第一m序列生成器依据第一输入的值向前推进。

根据本实用新型的第二方面的第一至第七数据解扰器之一,提供了根据本实用新型的第二方面的第八数据解扰器,其中,所述第二m序列生成器的输入用于初始化所述第二m序列生成器。

根据本实用新型的第二方面的第一至八数据解扰器之一,提供了根据本实用新型的第二方面的第九数据解扰器,其中,要从物理页读出的数据包括多个数据单元,所述多个数据单元的每个作为所述待解扰数据;响应于完成对待解扰数据的异或操作,所述第二m序列生成器向前推进,并将下一个数据单元作为待解扰数据。

根据本实用新型的第二方面的第一至第九数据解扰器之一,提供了根据本实用新型的第二方面的第十数据解扰器,其中,所述映射电路还接收数据帧序号,并将物理页地址与数据帧序号的组合映射为数据帧索引作为输出。

根据本实用新型的第二方面的第十数据解扰器,提供了根据本实用新型的第二方面的第十一数据解扰器,其中,所述映射电路将物理页地址与数据帧号的组合映射为数据帧索引,并将当前数据帧索引与前一数据帧索引的差值作为输出。

根据本实用新型的第二方面的第一至第十一数据解扰器之一,提供了根据本实用新型的第二方面的第十二数据解扰器,其中,第一m序列生成器或第二m序列生成器为LFSR生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器。

附图说明

为了更清楚地说明本实用新型实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本实用新型中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。

图1为现有技术的常用的加扰方式的示意图;

图2为本实用新型实施例的按照物理页在物理空间上的排列次序生成物理页索引的示意图;

图3为本实用新型又一实施例的按照字线在物理空间上的排布顺序生成物理页索引的示意图;

图4为本实用新型实施例的对输入数据加扰的示意图;

图5为本实用新型实施例的数据加扰器的结构的框图;以及

图6为本实用新型实施例的数据解扰器的结构框图。

具体实施方式

下面结合本实用新型实施例中的附图,对本实用新型实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本实用新型一部分实施例,而不是全部的实施例。基于本实用新型中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本实用新型请求保护的范围。

实施例1

以物理页P为例,向物理页P写入数据时,以物理页P所在物理块的编号或物理块的地址,作为第一随机化种子,记为Seed_0。

可选地,依据物理页P的物理页地址或物理页编号,生成物理页索引,记为Index。用Seed_0初始化m序列生成器,为向物理页P写入数据,使经初始化的m序列生成器向前推进,推进次数为Index。得到的m序列生成器的输出值为第二随机化种子,记为Seed_1。

作为举例,m序列生成器为LFSR(Linear Feedback Shifting Register)生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器中的一种。

可选地,按照物理页在物理空间上的排列次序生成物理页索引。图2为本实用新型实施例的按照物理页在物理空间上的排列次序生成物理页索引的示意图。如图2所示,在NVM芯片的管芯的物理空间上,布置有多条字线。字线包括字线0、字线1、…、字线n,其中n为自然数。字线包括多个存储单元,字线上的物理单元构成物理页。按字线在物理空间上的排布顺序生成物理页索引。例如,在管芯平面的Y轴方向上,按照从上到下的顺序,各字线的物理页索引依次为0、1、…、n,其中n为自然数。在一个例子中,每条字线上的多个存储单元构成物理页。从而物理页索引与物理页地址可以具有相同的值。

在一些情况下,物理页地址并非按物理空间顺序编排。例如,物理地址为0的物理页可以位于管芯平面Y轴空间的中点,而从中点沿Y轴一个方向物理地址递增,并在达到Y轴空间的端点后,回到中点,并沿Y轴另一个方向使物理地址递增。在此情况下,在物理页的物理地址与物理页索引之间进行映射,使得物理页索引按物理页在物理空间上到的排列次序生成。例如,在Y轴一个方向的端点位置的物理页的物理页索引为0,从该端点位置向Y轴另一个方向,物理页的物理页索引递增,直到到达Y轴的另一个方向的端点。在Y轴另一个方向的端点位置的物理页具有最大值的物理页索引。。

可选地,图3为本实用新型又一实施例的按照字线在物理空间上的排布顺序生成物理页索引的示意图。如图3所示,在NVM芯片的管芯的物理空间上,布置有多条字线,包括字线0、字线1、…、字线n,其中n为自然数。字线包括多个存储单元,字线上的多个存储单元构成物理页。按字线在物理空间上的排布顺序生成物理页索引。例如,在3D闪存管芯平面的z轴方向上,按照从上到下的顺序,各字线的物理页索引依次为0、1、…、n,其中n为自然数。在每条字线中包括多个字线段。图3中,字线包括3个字线段,字线中的字线段数量也可以为其它数量,例如2、4、5、6个。每个字线段中的存储单元的数量等于物理页的比特数,以及每个存储单元中存储有多个比特。图3中,作为举例,存储单元的类型是TLC(Triple-Level Cell),即三阶存储单元,每个存储单元中存储3比特信息。从而字线0包括3个字线段,每个子线段中存储3个物理页,从而字线0包括9个物理页。

在TLC存储单元构成的物理页中,物理页地址的编排方式可能是多样的。例如图3中TLC存储单元存储的3个比特属于3个物理页,其中两个物理页的地址连续,而另一个物理页的地址同前两个物理页的地址不连续。在图3中,字线0的第一个字线段包括3个物理页,其物理地址分别为50、51与80,而第二个字线段包括3个物理页,其物理地址分别为52、53与81,第三个字线段包括3个物理页,其物理地址分别为54、55与82。而物理页索引按照物理页所在的字线(或字线段)在物理空间上的排列次序生成。属于同一字线或字线段的多个物理页,按TLC存储单元所存储的3个比特的排列顺序排列。从而图3中,以字线0为例,为字线0上的多个物理页提供从0到8的物理页索引。并且,在物理页地址与物理页索引之间具有指定的如图3所示的1对1映射关系。

对于不同厂商或型号的NVM芯片,依据其物理页在字线上的排布方式,确定物理页地址与物理页索引的映射关系。以及,在物理页地址与物理页索引之间可提供多种映射关系,以满足物理页索引按物理页所在的字线(或字线段)在物理空间上的排列次序生成。

在依然另一个例子中,物理页内包括多个数据帧。还为物理页内的各个数据帧生成数据帧索引。数据帧索引是物理页索引与数据帧在物理页中的序号的组合。

图4为本实用新型实施例的对输入数据加扰的示意图。如图4所示,向物理页P写入数据,向物理页P写入数据的尺寸为16KB。对于物理页P,基于物理页P的物理页索引生成第二随机化种子Seed_1。作为举例,Seed_1为32比特。此处的m序列生成器可以是例如LFSR。用第二随机数种子Seed_1初始化m序列生成器401。对16KB的待写入的数据加扰,每次加扰32比特数据,即输入数据为32比特数据。将输入数据同第二m序列生成器401的值做异或,异或结果作为输出数据,并写入NVM芯片。每完成1次对输入数据的加扰,使第二m序列生成器401向前推进。并使第二m序列生成器401的下次输出的值同接下来的32比特数据求异或,并得到下一输出数据,直至完成对16KB数据的加扰。

可以理解的,输入数据可以有不同的尺寸,既可以是完整物理页,也可以是部分物理页。每次加扰的数据可以有不同的尺寸,第二m序列生成器401可以有不同的尺寸。第二m序列生成器401可以是LFSR(Linear Feedback Shifting Register)生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器中的一种。

实施例2

图5为本实用新型实施例的数据加扰器的结构的框图。如图5所示,数据加扰器包括:映射电路501、第一m序列生成器502、第二m序列生成器503和异或单元504。映射电路501接收物理页地址作为输入,生成物理页索引。第一m序列生成器502接收第一随机化种子作为输入。第一m序列生成器502还接收映射电路501提供的物理页索引。第一m序列生成器502向前推进,并产生输出,推进的次数为物理页索引,而第一m序列生成器502的输出作为第二随机化种子。第二m序列生成器503的输入耦合到第一m序列生成器502的输出。用第二随机化种子初始化第二m序列生成器503。第二m序列生成器的输出耦合到异或单元。异或单元504将待写入数据的部分与第二m序列生成器503的输出进行异或,得到加扰后的数据。响应于完成异或操作,第二m序列生成器503向前推进,以及异或单元504将待写入数据的下一部分与第二m序列生成器503的输出进行异或。

可选地,映射电路501还接收数据帧序号。映射电路501将物理页地址与数据帧序号的组合映射为数据帧索引作为数据。数据帧索引,作为举例,是物理页索引与数据帧在物理页中的序号的组合。

在另一个例子中,映射电路501将先后两次映射结果的差作为输出。两个映射结果可以都是物理页索引,或都是数据帧索引。以及第一m序列生成器502向前推进的次数为映射电路501输出的值。

为向物理页写入数据,映射电路501依据物理页的物理地址生成物理页索引。以物理页P为例,向物理页P写入数据,依据物理页P的物理页地址生成物理页索引。依据物理页P所在的物理块地址生成第一随机化种子。例如,第一随机化种子为物理块地址加1。使用第一随机化种子初始化第一m序列生成器502,在对写入物理页P的数据加扰时,依据物理页P的物理页索引使第一m序列生成器502推进,推进的次数为物理页索引的值。第一m序列生成器502输出的值为第二随机化种子。第一m序列生成器502为每个物理页提供一个第二随机化种子。

使用第二随机化种子初始化第二m序列生成器503,将要写入物理页P的数据的小块同第二m序列生成器503输出的值做异或,生成加扰后的输出数据,每次对一个小块做异或后,使第二m序列生成器503向前推进。

可选地,第一m序列生成器502或第二m序列生成器503可以是LFSR生成器、CS6序列生成器、AI CS6序列生成器或者NERO序列生成器中的一种。

具体地,向同一物理块的多个物理页写入数据时,例如物理页P1、P2时,第一随机化种子相同。为物理页P1生成的物理页索引记为Index_1,为物理页P2生成的物理页索引记为Index_2。依据Index_2与Index_1的差(记为d),在由Index_1生成物理页P1的第二随机化种子Seed_1_1后,使第一m序列生成器向前推进d次,得到物理页P2的第二随机化种子Seed_1_2,用于为加扰用于物理页P2的数据而初始化第二m序列生成器502。

可选地,在对物理页P1的数据完成加扰后,用第一随机化种子重新初始化第一m序列生成器502,并将第一m序列生成器502向前推进Index_2次,此时第一m序列生成器502的输出为第二随机化种子Seed_1_2。

然后,使用物理页P2的第二随机化种子Seed_1_2初始化第二m序列生成器503,将要写入物理页P2的数据的小块同第二m序列生成器503输出的值做异或,生成加扰后的输出数据,每次对一个小块做异或后,使第二m序列生成器503向前推进,直至完成对物理页P2的数据的写入。

实施例3

图6为本实用新型实施例的数据解扰器的结构框图。如图6所示,数据解扰器包括:映射电路601、第一m序列生成器602、第二m序列生成器603和异或单元604。映射电路601接收物理页地址作为输入,生成物理页索引。第一m序列生成器602接收第一随机化种子作为输入。第一m序列生成器602还接收映射电路601的输出。第一m序列生成器602向前推进,并产生输出,推进的次数为映射电路601的输出所指示的值,而将第一m序列生成器602的输出作为第二随机化种子。用第二随机化种子初始化第二m序列生成器603。第二m序列生成器的输出耦合到异或单元604。异或单元604将读出数据与第二m序列生成器603的输出进行异或,得到解扰后的数据。响应于完成异或操作,第二m序列生成器603向前推进,以及异或单元604将读出数据的下一部分与第二m序列生成器603的输出进行异或。

可选地,映射电路601还接收数据帧序号。映射电路601将物理页地址与数据帧序号的组合映射为数据帧索引作为数据。数据帧索引,作为举例,是物理页索引与数据帧在物理页中的序号的组合。

在另一个例子中,映射电路601将先后两次映射结果的差作为输出。两个映射结果可以都是物理页索引,或都是数据帧索引。以及第一m序列生成器602向前推进的次数为映射电路601输出的值。

如图6所示,从物理页读取数据,以物理页P为例,为从物理页P读取数据,映射电路601依据物理页P的物理地址生成物理页索引。用物理页P所在的物理块地址作为第一随机化种子(Seed_0,例如Seed_0=物理块地址+1)初始化第一m序列生成器602。依据物理页P的物理页索引使第一m序列生成器602推进,推进的次数为物理页索引的值,得到的第一m序列生成器602输出的值作为第二随机化种子Seed_1。可以理解地,所使用的第一随机化种子Seed_0应当按同向物理页P写入数据时相同的过程生成。例如,若向物理页P写入数据时,用物理页P的块地址+1作为第一随机化种子,那么在从物理页读出数据时,也使用物理页P的块地址+1作为第一随机化种子。

用Seed_1初始化第二m序列生成器602603,将从物理页P的读出数据的小块(例如,具有同第二m序列生成器602603相同的大小)同第二m序列生成器602603输出的值做异或,生成解扰后的输出数据,每次对一个小块做异或后,使第二m序列生成器602603推进,直至完成对数据的读取。

作为举例,在根据本实用新型的实施例中,用于m序列生成器的32阶本原多项式为0x100400007。

本实用新型中的数据加扰器、数据解扰器,在对不同的物理页中的数据进行写入或读取时,使用不同的种子进行加扰和解扰。由于不同物理页的地址之间具有相关性,用物理页地址选择m序列不同周期的值,作为用于该物理页的随机化种子。利用m序列本身良好的随机性来消除了不同物理页的地址之间的相关性对加扰结果或解扰结果的影响。

尽管已描述了本实用新型的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本实用新型范围的所有变更和修改。显然,本领域的技术人员可以对本实用新型进行各种改动和变型而不脱离本实用新型的精神和范围。这样,倘若本实用新型的这些修改和变型属于本实用新型权利要求及其等同技术的范围之内,则本实用新型也意图包含这些改动和变型在内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1