CN102543182A - 随机化电路、存储器控制单元、存储器、通信系统及方法 - Google Patents

随机化电路、存储器控制单元、存储器、通信系统及方法 Download PDF

Info

Publication number
CN102543182A
CN102543182A CN2010105869617A CN201010586961A CN102543182A CN 102543182 A CN102543182 A CN 102543182A CN 2010105869617 A CN2010105869617 A CN 2010105869617A CN 201010586961 A CN201010586961 A CN 201010586961A CN 102543182 A CN102543182 A CN 102543182A
Authority
CN
China
Prior art keywords
data
randomization
seed
logical operation
information data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010105869617A
Other languages
English (en)
Other versions
CN102543182B (zh
Inventor
阮航
李永斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Actions Technology Co Ltd
Original Assignee
Actions Semiconductor Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Actions Semiconductor Co Ltd filed Critical Actions Semiconductor Co Ltd
Priority to CN201010586961.7A priority Critical patent/CN102543182B/zh
Priority to PCT/CN2011/082298 priority patent/WO2012079440A1/zh
Publication of CN102543182A publication Critical patent/CN102543182A/zh
Application granted granted Critical
Publication of CN102543182B publication Critical patent/CN102543182B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/58Random or pseudo-random number generators
    • G06F7/582Pseudo-random number generators
    • G06F7/584Pseudo-random number generators using finite field arithmetic, e.g. using a linear feedback shift register

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

本发明适用于数字技术领域,提供了一种随机化电路、存储器控制单元、存储器、通信系统及方法,所述随机化电路包括PN码生成器,所述随机化电路还包括与所述PN码生成器连接,用于为所述PN码生成器提供初始种子的种子生成器。本发明通过在随机化电路中加入用于改变随机化电路的初始值的种子生成器,提高了PN码的随机化程度以及无序性,从而使包含该随机化电路的存储器的存储的稳定性以及包含该随机化电路的通信系统的数据传输的安全性得以提高。

Description

随机化电路、存储器控制单元、存储器、通信系统及方法
技术领域
本发明属于数字技术领域,尤其涉及一种随机化电路、存储器控制单元、存储器、通信系统及方法。
背景技术
目前信息存储、数字通信等领域使用的随机化电路,其基本结构一般是一个线性移位反馈寄存器(LFSR,Linear Feedback Shift Register),其作用是产生的一组类似随机噪声统计特性的伪随机码(PN,Pseudo-random Number)序列。图1是现有的PN码生成器的原理图,PN码生成器为基于n级LFSR。ai表示各寄存器(i为0到n-1之间的整数),ai=0或1。初始时刻,ai的值称为PN码生成器(或随机化)电路的初始值(或种子),初始值必须保证不全为0。Ci是反馈线,0表示断开,1表示连通。Ci的值决定的LFSR的结构,若f(x)=xn+cn-1xn-1+L+c1x+1是本源多项式,则LFSR输出的序列周期最大,为2n-1。这样的输出序列就是PN码。
在实际应用中,随机化电路利用其产生的伪随机码序列,将所要存储的数据打乱后,存入存储单元,以提高存储的稳定性,或者将伪随机码序列加入到通信系统所传输的信息之中,对所传输的信息进行加密,以提高数据在传输过程中的安全性。另外还可以用于数字通信的误码率检测、数据序列加扰、扩频通信等方面。
在存储器领域的应用方面,为了减小TLC(Triple-Level Cell,三层单元)和某些低制程的MLC(Multi-Level Cell,双层单元)闪存在写入数据(尤其是用户写入全零数据)时,数据在存储介质中翻转出错的可能性。控制器厂商采取了一种随机化(randomizer)技术,即将用户写入的数据序列,按照一定的算法(随机化)打散成一组随机数系列,当用户读取数据时,再将打散后的随机数序列,按同样的算法(解随机化)解析出用户需要的真实数据。
图2是现有技术中的一种存储器控制器的工作原理图。用户写入存储器的数据以扇区(sector)为单位,在例行的ECC编码单元213之前,还要经过由随机化用PN码生成器212构成的随机化电路。随机化电路把数据打乱后,存入该存储器的存储单元22。同样地,用户读数据时,使用相应的解随机算法把存储单元22内的数据还原,以便能让用户得到正确的数据。
以NAND Flash为例,目前的NAND Flash主控制器做随机化/解随机化处理是以扇区为单位的,一般为512字节或1024字节。NAND Flash的一个物理页(Page)有多个扇区,一个物理块(Block)有多个物理页。现行的随机化技术对于同一个扇区之内的数据,有一定的“0”,“1”游程平衡性和数据分布随机性。但对于不同的扇区,如果用户数据相同,即使通过随机化技术的处理,存储在NAND Flash存储单元中的数据也相同。也就是说,如果一个物理块或物理页中,用户输入的数据相同,那么随机化后的数据是以扇区为单位的循环数。在NAND Flash的同一个物理块内部的每个物理页之间,或是同一个物理页内部,这种扇区间的相同数据,容易引起NAND Flash存储单元之间的电平干扰,数据就可能出错。
在通信领域的应用方面,图3示出了现有的通信系统的工作原理。其中,发送端的数据与随机化电路输出的PN码异或后,作为实际发送数据由发送单元31发送。接收单元32接收到随机化之后的数据,使用与发送端完全相同PN码序列,就可以将原始数据恢复出来。
这种方式的数据加密,实现简单,有一定的加密能力。但是,还是有可能被破解。对于每个级数n,符合构造随机化/解随机化电路的本源多项式有限且较少,用户可以人为地在接收端强制接收全0数据序列,通过检查解随机化电路处理后的数据的周期来确定n值,再用这个n值对应的有限数目的本源多项式来尝试。对于全0的输入数据序列,具有同一种本源多项式结构的不同初始值产生的随机序列是以2n-1为周期的循环数,排列的前后关系不变,只是起始的位置有变化。所以这样可以试出随机化/解随机化电路的本源多项式结构和初始值,数据安全的保护性还有待提高。
发明内容
本发明实施例的目的在于提供一种随机化电路,旨在解决现有技术中PN码随机化程度不高、无序性不够等问题。
本发明实施例是这样实现的,一种随机化电路,包括:
种子生成器,用于根据输入的信息数据,在用户写入的数据序列或者待发送的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
PN码生成器,用于根据所述种子生成器输出的初始种子,对所述数据序列进行随机化或解随机化。
本发明实施例的另一目的在于提供一种存储器控制单元,所述存储器控制单元包括:
控制器状态机,用于向存储器发送命令、地址、数据;
ECC编码单元,用于在写数据时,生成用户数据的纠错码冗余位;
以及ECC解码单元,用于在读取数据时,检查与纠正错误,
所述存储器控制单元还包括:
种子生成器,用于根据输入的信息数据,在用户写入的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器,用于根据所述种子生成器输出的初始种子,对所述数据序列进行随机化,产生伪随机码序列;
解随机化用PN码生成器,用于根据所述种子生成器输出的初始种子,对所述伪随机码序列进行解随机化,还原所述数据序列。
本发明实施例的另一目的在于提供一种包含存储器控制单元的存储器,所述存储器控制单元包括:
控制器状态机,用于向存储器发送命令、地址、数据;
ECC编码单元,用于在写数据时,生成用户数据的纠错码冗余位;
以及ECC解码单元,用于在读取数据时,检查与纠正错误,
所述存储器控制单元还包括:
种子生成器,用于根据输入的信息数据,在用户写入的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器,用于根据所述种子生成器输出的初始种子,对所述数据序列进行随机化,产生伪随机码序列;
解随机化用PN码生成器,用于根据所述种子生成器输出的初始种子,对所述伪随机码序列进行解随机化,还原所述数据序列。
本发明实施例的另一目的在于提供一种通信系统,包括发送单元以及接收单元,所述通信系统还包括:
第一种子生成器,用于根据来自信息数据输入端的信息数据,在有效数据序列随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器,用于根据所述第一种子生成器输出的初始种子,对所述有效数据序列进行随机化,产生伪随机码序列;
第二种子生成器,用于根据来自接收单元的信息数据,在所述伪随机码序列解随机化操作开始之前,生成并输出初始种子;
解随机化用PN码生成器,用于根据所述第二种子生成器输出的初始种子,对所述伪随机码序列进行解随机化,还原所述有效数据序列。
本发明实施例的另一目的在于提供一种随机化方法,所述方法包括以下步骤:
根据输入的信息数据而生成并输出初始种子;
将所述初始种子用于初始化随机化操作以及解随机化操作时的初始值。
本发明实施例通过在随机化电路中加入用于改变随机化电路的初始值的种子生成器,提高了PN码的随机化程度以及无序性,从而使包含该随机化电路的存储器的存储的稳定性以及包含该随机化电路的通信系统的数据传输的安全性得以提高。
附图说明
图1是现有的PN码生成器的工作原理图;
图2是现有的存储器控制单元的工作原理图;
图3是现有的通信系统的工作原理图;
图4是本发明实施例提供的随机化电路的工作原理图;
图5是本发明实施例提供的第一种种子生成器的工作原理图;
图6是本发明实施例提供的第二种种子生成器的工作原理图;
图7是本发明实施例提供的存储器控制单元的工作原理图;
图8是普通固定种子的存储器控制单元随机化1个物理页后数据的自相关函数图;
图9是本发明实施例的示例提供的存储器控制单元随机化1个物理页后数据的自相关函数图;
图10是本发明实施例提供的通讯系统的工作原理图;
图11是本发明实施例提供的随机化方法的实现流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例通过在随机化电路中加入用于改变随机化电路的初始值的种子生成器,提高了PN码的随机化程度以及无序性,从而使包含该随机化电路的存储器的存储的稳定性以及包含该随机化电路的通信系统的数据传输的安全性得以提高。
本发明实施例是这样实现的,一种随机化电路,包括:
种子生成器,用于根据输入的信息数据,在用户写入的数据序列或者待发送的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
PN码生成器,用于根据所述种子生成器输出的初始种子,对所述数据序列进行随机化或解随机化。
实施例一:
图4示出了本发明实施例提供的随机化电路的工作原理,为了便于说明只示出了与本发明实施例相关的部分。
其中,种子生成器12,用于根据输入的信息数据,在用户写入的数据序列或者待发送的数据序列随机化或解随机化操作开始之前,生成并输出初始种子,该初始种子为在PN码生成器11随机化或解随机化操作开始之前,由种子生成器12向PN码生成器11提供的二进制数,该二进制数的长度与PN码生成器的LFSR的级数n一致。也就是说,用种子生成器的输出来初始化ai
PN码生成器11,用于根据种子生成器12输出的初始种子,对数据序列进行随机化或解随机化。
种子生成器12的算法固定时,其输出值完全取决于输入种子生成器12中的信息数据,该信息数据包括为以下信息中的任一种或多种:用户写入或者待发送的数据中的部分数据、地址信息、头信息、时间戳信息。在随机化处理前,将信息数据输入给种子生成器12,种子生成器12内部将这些信息数据经过变换处理,得到一个随机的输出数。该随机的输出数将输出到PN码生成器11,作为PN码生成器11随机化或解随机化的初值。在当PN码随机化时,利用该初值可以使用户写入的数据序列或者待发送的数据序列具有更大的无序性;当PN码解随机化时,只需要按照与随机化时同样的算法,即可以还原出上述数据序列。
输入种子生成器12的信息数据一般是包含了本次传输信息的数据,这样在解随机化的过程中,可以轻易地获取这些信息,从而正确无误地还原出上述用户写入的数据序列或者发送的数据序列。通常,这些信息数据可以是用户数据之前的报文头,帧头信息或数据地址,数据长度、部分数据、地址、时间戳等,这些信息数据不用被随机化。这些输入种子生成器12的信息数据,可以是1个字节或是多个字节,但经过种子生成器12输出的数据长度的必须与PN码生成器11匹配,即输出的数据长度与PN码生成器的LFSR的级数n一致,且输出要尽可能的随机。另外,输入种子生成器12的信息数据,在整个传输过程中需要保持不变,不能被打乱,即不经过PN码生成器进行随机化过程。
本发明实施例通过在随机化电路加入种子生成器,利用种子生成器产生的种子作为PN码生成器的初值,从而使最终产生的PN码具有更大的随机化程度以及无序性。
实施例二:
图5示出了本发明实施例提供的第一种种子生成器的工作原理,为了便于说明只示出了与本发明实施例相关的部分。
逻辑运算模块41,用于对来自信息数据输入端的信息数据以及寄存器42反馈的信息数据进行逻辑运算。
寄存器42,用于对逻辑运算模块41输出的信息数据进行移位或异或、取反、加减等逻辑运算,并将经逻辑运算处理后的特定信息数据反馈给逻辑运算模块41。
输出端开关S,用于在寄存器42反馈一定次数后导通,使逻辑运算模块41向种子输出端输出所述初始种子。
当输出端开关S断开时,寄存器42继续对逻辑运算模块41输出的信息数据进行移位,并将移位后的信息数据向逻辑运算模块41反馈,当输出端开关S闭合时,逻辑运算模块41向种子输出端输出初始种子。
在实际工作中,逻辑运算模块41利用常数K对输入其中的信息数据W0做简单按位逻辑运算操作或加法操作。与此同时,在输出端开关S闭合前,寄存器42在对逻辑运算模块41输出的信息数据W(t)进行移位、取反等逻辑运算,也将其反馈到逻辑运算模块41中,使逻辑运算模块41每经过一个周期后又对其输出的结果进行逻辑或加法的操作,从而将输出的信息数据处理得更加散乱,在经过几个周期后,输出端开关S闭合,经逻辑运算模块41处理后的最终的信息数据作为初始种子向种子输出端输出。其中输出端开关S闭合的条件可以人为地事先设定,如事先将开关设置为经过多个数据处理周期后闭合,如可以设定经过三个数据处理周期后或六个数据处理周期后闭合;也可以通过控制器根据逻辑运算模块41输出的信息数据的具体情况进行控制。
该实施例中,常数K可以是预先设置在逻辑运算模块中的,也可以是一赋值单元赋值后发送至逻辑运算模块的,且常数K可以为任意常数。
作为本发明实施例提供的种子生成器,利用移位以及简单的逻辑运算等方法即可将原始的数据序列打散,相比于依靠纯软件生成种子的方法,具有运算周期短的优点;相比于用硬件查表搜索的方法,具有占用资源少等特性。
实施例三:
图6示出了本发明实施例提供的第二种种子生成器的工作原理,为了便于说明只示出了与本发明实施例相关的部分。
输入数据处理模块43,用于对输入的信息数据进行移位和/或取反处理,并将处理后的信息数据向逻辑运算模块41输出。
逻辑运算模块41,用于对来自输入数据处理模块43的信息数据以及寄存器42反馈的信息数据进行逻辑运算。
寄存器42,用于对逻辑运算模块41输出的特定信息数据进行移位或异或、取反、加减等逻辑运算,并将经逻辑运算处理后的特定信息数据反馈给逻辑运算模块41。
输出端开关S,用于在寄存器42反馈一定次数后导通,使逻辑运算模块41向种子输出端输出所述初始种子。
当输出端开关S断开时,寄存器42继续对逻辑运算模块41输出的信息数据进行移位,并将移位后的信息数据向逻辑运算模块41反馈,当输出端开关S闭合时,逻辑运算模块41向种子输出端输出作为初始种子的信息数据。
在实际工作中,种子生成器输入一定的作为初始信息的信息数据W0,信息数据W0可能只需要一个时钟输入,而种子生成器可能需要几个时钟周期处理,所以输入数据处理模块43自身可以做一些简单的取反和/或循环移位等操作,使每个处理周期的信息数据W(t)不同,但各时刻信息数据W(t)与初始时刻的信息数据W0相关。逻辑运算模块41利用常数K对信息数据W(t)做简单按位逻辑运算操作或加法操作。与此同时,在输出端开关S闭合前,寄存器42在对逻辑运算模块41输出的信息数据进行移位、取反等逻辑运算的同时,也将其反馈到逻辑运算模块41中,使逻辑运算模块41每经过一个周期后又对其输出的结果进行逻辑或加法的运算,从而将输出的信息数据处理得更加散乱,在经过几个周期后,输出端开关S闭合,经逻辑运算模块41最终处理后的信息数据向种子输出端输出。其中输出端开关S闭合的条件可以人为地事先设定,如事先将开关设置为经过多个数据处理周期后闭合,如可以设定经过三个或六个数据处理周期后闭合;也可以通过控制器根据逻辑运算模块41输出的信息数据的具体情况进行控制。
根据PN码生成器的特点,种子生成器输出的种子值不能为全0,所以在实际的种子生成器输出前,需要判断结果是否为全0,如果是全0,可以人为用一个固定的非0的二进制数替代,不影响实际使用效果。
作为本发明实施例提供的种子生成器,利用移位以及简单的逻辑运算等方法即可将原始数据打散,相比于依靠纯软件生成种子的方法,具有运算周期短的优点;相比于用硬件查表搜索的方法,具有占用资源少等特性。
实施例四:
图7示出了本发明实施例提供的存储器控制单元的工作原理,为了便于说明只示出了与本发明实施例相关的部分。
存储器控制单元包括:
控制器状态机211,用于向存储器发送命令、地址、数据;
ECC编码单元213,用于在写数据时,生成用户数据的纠错码冗余位;
以及ECC解码单元214,用于在读取数据时,检查与纠正错误;
存储器控制单元还包括:
种子生成器51,用于根据输入的信息数据,在用户写入的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器212,用于根据种子生成器51输出的初始种子,对数据序列进行随机化,产生伪随机码序列;
解随机化用PN码生成器215,用于根据种子生成器51输出的初始种子,对伪随机码序列进行解随机化,还原数据序列;
初始种子为与随机化用PN码生成器212以及解随机化用PN码生成器215的级数一致的二进制数。
以NAND Flash作为本发明实施例的一个示例,该实施例中用于生成初始种子的信息数据为地址信息,该NAND Flash的页大小为4096字节,扇区大小为1024字节,每页有4个扇区,用户数据使用全零数据。用户在对NAND Flash的每次物理层写操作时,除了要准备数据之外,还要发送写到NAND Flash中的地址,包括行(Row)地址和列(Column)地址;用户在对NAND Flash的每次物理层写操作时,也要发送相应的行、列地址。行地址包含NAND Flash的块号、页号信息,列地址则包含了每一个页中扇区号信息。写NAND Flash时,利用这些带有页、扇区信息的地址,本发明实施例提供的种子生成器51的输入一个随机的初始种子,供PN码生成器使用。由于读写同一个存储单元时,地址总是一致的,所以解随机化时同样是利用地址信息就可以将数据序列还原,因此采用地址信息作为生成初始种子的信息数据更简单、更直接。
基于本发明实施例提供的PN码生成器在每一个时钟周期能够处理的用户数据有限的特性。目前一般的NAND Flash有8条数据线,称作DQ0~DQ7。为了不影响数据传输速度,避免并串转换等过程带来的额外耗时,具体实施方案可以采用8路PN码生成器的方法。8路PN码生成器相互独立,使用同样的本源多项式,设置不同的是初始值,可以保证8路PN码生成器的输出互相独立,这8路PN码生成器分别与DQ0~DQ7的数据异或,得到以字节为单位的随机数序列。8路初值同时由一个种子生成器得到,即种子生成器接收一次地址信息,一次性计算出所有需要的种子。经过本实施用例随机化的数据序列,字节与字节之间不相关,且每个字节内部的8比特数据也不相关。
在实际运用中,可以保证不仅是单个NAND Flash页内,而且在整个物理块的所有页之间,数据是非相关的,且不存在任何周期性。这种物理块内的全部数据打散对NAND Flash数据读写的稳定性和使用寿命的提升,要比仅仅以扇区为单位的打散更有效果。图8为普通固定种子的存储器控制单元随机化1个物理页后数据的自相关函数图,在用户全零数据经随机化电路后,这种方案每个扇区的随机数都是相同的。在一个扇区内部,可以保证数据的非相关性,但这种方案有一个明显的缺点:整个NAND Flash页中的所有数据具有周期性,且必然以扇区字节数目为周期;图9为本发明实施例的示例提供的存储器控制单元随机化1个物理页后数据的自相关函数图,在用户全零数据经随机化电路后,4096字节数据有很好的非相关性,所有数据可以被认为是随机数,无周期性循环。通过对比图8和图9,可以直观地看出本发明实施例提供的存储器控制单元所能取得的效果。
本发明实施例通过种子生成器为随机化用提供的种子,使得不管用户输入的数据是什么,随机化之后存入存储单元的数据完全被打乱,不存在周期性的重复,这样就可以将物理块中所有存储单元的不稳定因素减至最小。
实施例五:
本发明实施例提供的存储器控制单元可以广泛应用于NAND Flash等存储器中。
实施例六:
图10示出了本发明实施例提供的通讯系统的工作原理,为了便于说明只示出了与本发明实施例相关的部分。
其中,第一种子生成器61,用于根据来自信息数据输入端的信息数据,在有效数据序列随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器33,用于根据第一种子生成器61输出的初始种子,对有效数据序列进行随机化,产生伪随机码序列;
第二种子生成器62,用于根据来自接收单元的信息数据,在伪随机码序列解随机化操作开始之前,生成并输出初始种子;
第二种子生成器接收的信息数据与第一种子生成器接收的信息数据一致,两者生成的种子值也一致。
解随机化用PN码生成器34,用于根据第二种子生成器62输出的初始种子,对伪随机码序列进行解随机化,还原有效数据序列;
初始种子为与随机化用PN码生成器33以及解随机化用PN码生成器34的级数一致的二进制数。
作为本发明实施例提供的通讯系统,在现有的通讯系统中加入了种子生成器。在实际工作中,将不需要加密发送的信息数据作为第一种子生成器61的输入,发送信息数据的同时,生成随机化用PN码生成器33的初始种子值。该信息数据包括为以下信息中的任一种或多种:用户待发送的数据中的部分数据、地址信息、头信息、时间戳信息。以头信息作为本发明实施例的一个示例,当头信息发送完成时,种子值也生成出来,同时将生成后的种子值用于对有效数据序列进行随机化,产生伪随机码序列。接收单元32接收到头信息后,使用第二种子生成器62直接生成解随机化用PN码生成器34的初始种子,随机化用PN码生成器34利用该初始种子对接收到的有效数据序列进行解密,从而向用户端输出还原后的数据序列。
头信息可以根据不同的传输协议来定义,相同的传输协议也可以根据需要自行定义的种子生成器而输入不同的参数。只要保证定义的头信息不参与加密,且发送单元发送的头信息和接收单元接收的头信息一致即可。
本实施例提供的通信系统对通信数据进行加密/解密的方法,加密性较强。如果想破解加密数据,必须要知道3个方面的信息:PN码生成器的级数n和本源多项式结构、头信息的定义以及种子生成器电路的算法。如上文所述,PN码生成器的级数n和本源多项式结构,可能的情况有限,理论上可以破解。但种子生成器电路可以做得很高效很复杂,没有破解的可能性。另外,如果不知道发送/接收的头信息到底是如何定义的,即使知道种子生成器的算法,也无法破解加密后的数据。
实施例七:
图11示出了本发明实施例提供的随机化方法的实现流程,为了便于说明只示出了与本发明实施例相关的部分。
在步骤S1101中,根据输入的信息数据而输出初始种子。
在步骤S1102中,将所述初始种子用于初始化随机化操作以及解随机化操作时的初始值。
在实际工作中,根据输入的信息数据输出初始种子,该信息数据包括为以下信息中的任一种或多种:用户发送的数据中的部分数据、地址信息、头信息、时间戳信息。此外,输出的初始种子为级数与伪随机码的级数一致的二进制数。该初始种子用于在每组数据序列进行随机化操作之前,初始化用于上述操作的初始值,从而产生无序性更大、稳定性以及安全性更强的伪随机码;并在每组数据序列进行接随机化操作之前,以同样的形式初始化进行解随机化操作所需的初始值,还原出用户所需要的数据序列。
本发明实施例具有如下有益效果:
1、通过在随机化电路加入种子生成器,利用种子生成器产生的种子作为PN码生成器的初值,对于一个n级PN码生成器,本发明实施例突破其2n-1的周期限制,可以达到所有序列无周期性的特点,可显现出真正的随机特性。
2、利用移位以及简单的逻辑运算等方法即可将原始的数据序列打散,相比于依靠纯软件生成种子的方法,具有运算周期短的优点;相比于用硬件查表搜索的方法,具有占用资源少等特性。
3、在存储器领域,通过种子生成器为随机化用提供的种子,使得不管用户输入的数据序列是什么,随机化之后存入存储单元的数据序列完全被打乱,不存在周期性的重复,这样就可以将物理块中所有存储单元的不稳定因素减至最小。
4、在通信系统领域,通过在随机化电路中加入种子生成器,增加了破解加密数据所需要获知的信息,提高了数据在传输过程中的安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (19)

1.一种随机化电路,其特征在于,所述随机化电路包括:
种子生成器,用于根据输入的信息数据,在用户写入的数据序列或者待发送的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
PN码生成器,用于根据所述种子生成器输出的初始种子,对所述数据序列进行随机化或解随机化。
2.如权利要求1所述的随机化电路,其特征在于,所述种子生成器包括:
逻辑运算模块、寄存器、输出端开关S;
所述逻辑运算模块,用于对来自信息数据输入端的信息数据以及所述寄存器反馈的信息数据进行逻辑运算;
所述寄存器,用于对所述逻辑运算模块输出的信息数据进行逻辑运算,并将经逻辑运算处理后的信息数据反馈给所述逻辑运算模块;
所述输出端开关S,用于在所述寄存器反馈一定次数后导通,使所述逻辑运算模块向种子输出端输出所述初始种子。
3.如权利要求2所述的随机化电路,其特征在于,所述种子生成器还包括:
输入数据处理模块,用于对来自信息数据输入端的信息数据进行移位和/或取反处理,并将处理后的信息数据向所述逻辑运算模块输出。
4.如权利要求1至3任一权利要求所述的随机化电路,其特征在于,所述初始种子为与所述PN码生成器的级数一致的二进制数。
5.如权利要求1至3任一权利要求所述的随机化电路,其特征在于,所述信息数据为以下信息中的任一种或多种:
用户写入或者待发送的数据中的部分数据、地址信息、头信息、时间戳信息。
6.一种存储器控制单元,所述存储器控制单元包括:
控制器状态机,用于向存储器发送命令、地址、数据;
ECC编码单元,用于在写数据时,生成用户数据的纠错码冗余位;
以及ECC解码单元,用于在读取数据时,检查与纠正错误,
其特征在于,所述存储器控制单元还包括:
种子生成器,用于根据输入的信息数据,在用户写入的数据序列随机化或解随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器,用于根据所述种子生成器输出的初始种子,对所述数据序列进行随机化,产生伪随机码序列;
解随机化用PN码生成器,用于根据所述种子生成器输出的初始种子,对所述伪随机码序列进行解随机化,还原所述数据序列。
7.如权利要求6所述的存储器控制单元,其特征在于,所述种子生成器包括:
逻辑运算模块、寄存器、输出端开关S;
所述逻辑运算模块,用于对来自信息数据输入端的信息数据以及所述寄存器反馈的信息数据进行逻辑运算;
所述寄存器,用于对所述逻辑运算模块输出的信息数据进行逻辑运算,并将经逻辑运算处理后的信息数据反馈给所述逻辑运算模块;
所述输出端开关S,用于在所述寄存器反馈一定次数后导通,使所述逻辑运算模块向种子输出端输出所述初始种子。
8.如权利要求7所述的存储器控制单元,其特征在于,所述种子生成器还包括:
输入数据处理模块,用于对来自信息数据输入端的信息数据进行移位和/或取反处理,并将处理后的信息数据向所述逻辑运算模块输出。
9.如权利要求6至8任一权利要求所述的存储器控制单元,其特征在于,所述初始种子为与所述随机化用PN码生成器以及所述解随机化用PN码生成器的级数一致的二进制数。
10.如权利要求6至8任一权利要求所述的存储器控制单元,其特征在于,所述信息数据为以下信息中的任一种或多种:
用户写入或者待发送的数据中的部分数据、地址信息、头信息、时间戳信息。
11.一种包含了权利要求6至8任一项所述的存储器控制单元的存储器。
12.一种通信系统,包括发送单元以及接收单元,其特征在于,所述通信系统还包括:
第一种子生成器,用于根据来自信息数据输入端的信息数据,在有效数据序列随机化操作开始之前,生成并输出初始种子;
随机化用PN码生成器,用于根据所述第一种子生成器输出的初始种子,对所述有效数据序列进行随机化,产生伪随机码序列;
第二种子生成器,用于根据来自所述接收单元的信息数据,在所述伪随机码序列解随机化操作开始之前,生成并输出初始种子;
解随机化用PN码生成器,用于根据所述第二种子生成器输出的初始种子,对所述伪随机码序列进行解随机化,还原所述有效数据序列。
13.如权利要求12所述的通信系统,其特征在于,所述第一种子生成器或第二种子生成器包括:
逻辑运算模块、寄存器、输出端开关S;
所述逻辑运算模块,用于对来自信息数据输入端的信息数据以及所述寄存器反馈的信息数据进行逻辑运算;
所述寄存器,用于对所述逻辑运算模块输出的信息数据进行逻辑运算,并将经逻辑运算处理后的信息数据反馈给所述逻辑运算模块;
所述输出端开关S,用于在所述寄存器反馈一定次数后导通,使所述逻辑运算模块向种子输出端输出所述初始种子。
14.如权利要求13所述的通信系统,其特征在于,所述第一种子生成器或第二种子生成器还包括:
输入数据处理模块,用于对来自信息数据输入端的信息数据进行移位和/或取反处理,并将处理后的信息数据向所述逻辑运算模块输出。
15.如权利要求12至14任一权利要求所述的通信系统,其特征在于,所述初始种子为与所述随机化用PN码生成器以及所述解随机化用PN码生成器的级数一致的二进制数。
16.如权利要求12至14任一权利要求所述的通信系统,其特征在于,所述信息数据为以下信息中的任一种或多种:
用户写入或者待发送的数据中的部分数据、地址信息、头信息、时间戳信息。
17.一种随机化方法,其特征在于,所述方法包括以下步骤:
根据输入的信息数据而生成并输出初始种子;
将所述初始种子用于初始化随机化操作以及解随机化操作时的初始值。
18.如权利要求17所述的随机化方法,其特征在于,所述初始种子为级数与伪随机码的级数一致的二进制数。
19.如权利要求17或18所述的随机化方法,其特征在于,所述信息数据为以下信息中的任一种或多种:
用户写入或者待发送的数据中的部分数据、地址信息、头信息、时间戳信息。
CN201010586961.7A 2010-12-14 2010-12-14 随机化电路、存储器控制单元、存储器、通信系统及方法 Active CN102543182B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201010586961.7A CN102543182B (zh) 2010-12-14 2010-12-14 随机化电路、存储器控制单元、存储器、通信系统及方法
PCT/CN2011/082298 WO2012079440A1 (zh) 2010-12-14 2011-11-16 随机化电路、存储器控制单元、存储器、通信系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010586961.7A CN102543182B (zh) 2010-12-14 2010-12-14 随机化电路、存储器控制单元、存储器、通信系统及方法

Publications (2)

Publication Number Publication Date
CN102543182A true CN102543182A (zh) 2012-07-04
CN102543182B CN102543182B (zh) 2014-12-31

Family

ID=46244072

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010586961.7A Active CN102543182B (zh) 2010-12-14 2010-12-14 随机化电路、存储器控制单元、存储器、通信系统及方法

Country Status (2)

Country Link
CN (1) CN102543182B (zh)
WO (1) WO2012079440A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105761753A (zh) * 2016-02-02 2016-07-13 清华大学 数据加扰解扰器、存储装置及加扰解扰方法
CN115357523A (zh) * 2022-07-08 2022-11-18 镕铭微电子(济南)有限公司 一种随机化方法及数据读写方法

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105679365B (zh) * 2015-10-20 2020-04-10 中国科学院微电子研究所 半导体存储器操作方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072802A (en) * 1997-07-01 2000-06-06 Dacom Corporation Initial synchronization method in code division multiple access reception system
CN1451206A (zh) * 1999-12-29 2003-10-22 皇家菲利浦电子有限公司 加罗依斯线性反馈移位寄存器的零时延屏蔽
CN101622674A (zh) * 2006-12-24 2010-01-06 晟碟以色列有限公司 利用随机化抑制错误的闪存装置、系统和方法
CN101763895A (zh) * 2008-10-08 2010-06-30 三星电子株式会社 具有随机化器/去随机化器的数据存储系统和设备

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20100099961A (ko) * 2009-03-04 2010-09-15 삼성전자주식회사 불휘발성 메모리 장치 및 그 동작 방법
CN101859351B (zh) * 2009-04-08 2012-07-18 北京兆易创新科技有限公司 保证存储器存储的数据安全读取的系统及方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6072802A (en) * 1997-07-01 2000-06-06 Dacom Corporation Initial synchronization method in code division multiple access reception system
CN1451206A (zh) * 1999-12-29 2003-10-22 皇家菲利浦电子有限公司 加罗依斯线性反馈移位寄存器的零时延屏蔽
CN101622674A (zh) * 2006-12-24 2010-01-06 晟碟以色列有限公司 利用随机化抑制错误的闪存装置、系统和方法
CN101763895A (zh) * 2008-10-08 2010-06-30 三星电子株式会社 具有随机化器/去随机化器的数据存储系统和设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105761753A (zh) * 2016-02-02 2016-07-13 清华大学 数据加扰解扰器、存储装置及加扰解扰方法
CN115357523A (zh) * 2022-07-08 2022-11-18 镕铭微电子(济南)有限公司 一种随机化方法及数据读写方法

Also Published As

Publication number Publication date
WO2012079440A1 (zh) 2012-06-21
CN102543182B (zh) 2014-12-31

Similar Documents

Publication Publication Date Title
CN101149709B (zh) 存储卡的加密处理器和使用其进行数据读写的方法
Yu et al. Secure and robust error correction for physical unclonable functions
EP0011615B1 (en) Method and device for encryption and decryption of data
TWI566089B (zh) 爲編碼和解碼過程採用使符號永久鈍化的fec碼的方法和裝置
CN111082925B (zh) 基于aes算法和puf技术的嵌入式系统加密保护装置和方法
KR100887003B1 (ko) 데이터의 무결성을 보호하는 장치 및 방법과 컴퓨터 판독가능한 기록 매체
CN104704768A (zh) 用于从用作物理不可克隆功能的存储器中生成密码密钥的系统
CN103403670A (zh) 用于伪随机数生成的半导体存储器件
EP2684134A2 (en) Programmable data storage management
HU227781B1 (hu) Szimmetrikus kulcsú kriptográfiai berendezés és eljárás információk titkosítására és visszafejtésére
CN112887077B (zh) 一种ssd主控芯片随机缓存保密方法和电路
CN109274485A (zh) 一种数据加密方法、数据认证方法及相关设备和系统
CN102541762A (zh) 用于外部存储器的数据保护器和数据保护方法
Seyedzadeh et al. Improving bit flip reduction for biased and random data
CN113535075A (zh) 具有增强的物理安全性的数据加扰器
US9696965B2 (en) Input-dependent random number generation using memory arrays
CN111338565A (zh) 基于存储器单元的噪声特性生成随机值
CN116488794B (zh) 基于fpga的高速sm4密码模组实现方法及装置
CN102664730B (zh) 基于高级加密标准aes的128比特位密钥扩展方法
CN102543182A (zh) 随机化电路、存储器控制单元、存储器、通信系统及方法
CN213876729U (zh) 一种ssd主控芯片随机缓存保密电路
US11341217B1 (en) Enhancing obfuscation of digital content through use of linear error correction codes
CN108255464B (zh) 数据加扰方法、解扰方法及其装置
US10135468B2 (en) Decoder and method for physically unclonable functions using threshold decoding
Mohammed Text encryption algorithm based on chaotic neural network and random key generator

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: JUXIN(ZHUHAI) TECHNOLOGY CO., LTD.

Free format text: FORMER OWNER: JULI INTEGRATED CIRCUIT DESIGN CO., LTD.

Effective date: 20150104

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150104

Address after: 519085 C District, 1# workshop, No. 1, science and technology No. four road, hi tech Zone, Zhuhai, Guangdong, China

Patentee after: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.

Address before: 15 -A101, 1, ha Da Gong Road, Tang Wan Town, Guangdong, Zhuhai, 519085

Patentee before: Juli Integrated Circuit Design Co., Ltd.

CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee after: ACTIONS TECHNOLOGY Co.,Ltd.

Address before: 519085 High-tech Zone, Tangjiawan Town, Zhuhai City, Guangdong Province

Patentee before: ACTIONS (ZHUHAI) TECHNOLOGY Co.,Ltd.