CN104111901B - 用于填充存储器的方法及装置 - Google Patents
用于填充存储器的方法及装置 Download PDFInfo
- Publication number
- CN104111901B CN104111901B CN201410385236.1A CN201410385236A CN104111901B CN 104111901 B CN104111901 B CN 104111901B CN 201410385236 A CN201410385236 A CN 201410385236A CN 104111901 B CN104111901 B CN 104111901B
- Authority
- CN
- China
- Prior art keywords
- data
- memory
- address
- generation module
- work
- 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.)
- Active
Links
Landscapes
- Memory System Of A Hierarchy Structure (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明涉及一种用于填充存储器的方法及装置。用于填充存储器的装置包括:地址生成模块,用于生成地址并将地址发送给存储器的地址总线;数据生成模块,用于接收第一数据,对第一数据进行处理,生成第二数据,将第二数据发送给存储器的数据总线;控制信号生成模块,用于生成写控制信号,以便存储器根据写控制信号将第二数据写入地址生成模块生成的地址;控制模块,用于控制地址生成模块、数据生成模块和控制信号生成模块的工作;其中,装置的工作状态包括第一工作状态和第二工作状态,在第一工作状态中,第一数据为外部输入的初始数据,在第二工作状态中,第一数据为反馈回来的第二数据。本发明可以保护存储器中曾经保存过的数据。
Description
技术领域
本发明涉及存储器领域,尤其涉及一种用于填充存储器的方法及装置。
背景技术
在有关安全领域的集成电路芯片工作过程中,存储器中存有重要的安全数据,例如加解密过程的密钥,因此存储器便成为了安全芯片攻击者的重要攻击目标。
攻击者在攻击存储器时可能利用的一个威胁是存储器的数据保持能力,即易失性存储器在掉电后保存信息的能力,例如:保存在静态随机存储器(Static Random AccessMemory,简称:SRAM)里的密钥可以在较长时间后的下次上电时恢复。另外一种可能攻击存储器的技术是使用低温来“冰冻”存储器的内容,例如:在低温条件下,掉电后的SRAM中的信息可以保存足够长的时间,攻击者可以访问存储器芯片并读出其内容。因此,如何保护存储器中曾经保存过的数据成为亟待解决的技术问题。
发明内容
本发明提供一种用于填充存储器的方法及装置,用以实现保护存储器中曾经保存过的数据。
本发明提供一种用于填充存储器的装置,包括:
地址生成模块,用于生成地址并将所述地址发送给所述存储器的地址总线;
数据生成模块,用于接收第一数据,对所述第一数据进行处理,生成第二数据,将所述第二数据发送给所述存储器的数据总线;
控制信号生成模块,用于生成写控制信号,以便所述存储器根据所述写控制信号将所述第二数据写入所述地址;
控制模块,用于控制所述地址生成模块、所述数据生成模块和所述控制信号生成模块的工作;
其中,所述装置的工作状态包括第一工作状态和第二工作状态,在所述第一工作状态中,所述第一数据为外部输入的初始数据,在所述第二工作状态中,所述第一数据为反馈回来的第二数据。
本发明还提供一种用于填充存储器的方法,包括:
生成地址并将所述地址发送给所述存储器的地址总线;
接收第一数据,对所述第一数据进行处理,生成第二数据,将所述第二数据发送给所述存储器的数据总线;
生成写控制信号,以便所述存储器根据所述写控制信号将所述第二数据写入所述地址;
其中,所述方法的工作过程包括第一工作过程和第二工作过程,在所述第一工作过程中,所述第一数据为外部输入的初始数据,在所述第二工作过程中,所述第一数据为反馈回来的第二数据。
本发明在首次执行填充存储器的填充操作时,数据生成模块接收外部的初始数据得到第二数据并发送给数据总线,以便采用该第二数据填充存储器,在后续的执行对存储器填充操作时,数据生成模块根据反馈回来的第二数据生成新的第二数据并发送给数据总线,以便采用该新的第二数据填充存储器,这样每次填充存储器采用的数据均与上次不同,可以实现掩盖存储器中曾经保存过的数据的痕迹,同时可以避免在工作过程中一直从外部获取初始数据。
附图说明
图1为本发明的用于填充存储器的装置第一实施例的结构示意图;
图2为本发明的用于填充存储器的装置第一实施例的一个具体实例的结构示意图;
图3为本发明的用于填充存储器的装置第二实施例的结构示意图;
图4为本发明的用于填充存储器的装置第二实施例的一个具体实例的结构示意图。
具体实施方式
下面结合说明书附图和具体实施方式对本发明作进一步的描述。
如图1所示,为本发明的用于填充存储器的装置第一实施例的结构示意图,该装置可以包括:地址生成模块11、数据生成模块12、存储器控制信号生成模块13和控制模块14,控制模块14分别与地址生成模块11、数据生成模块12、存储器控制信号生成模块13相连。
在本实施例中,地址生成模块11用于生成地址并将地址发送给存储器的地址总线,可选地,所产生的地址可以覆盖存储器的全部或部分地址空间。数据生成模块12用于接收第一数据,对第一数据进行处理,生成第二数据,将第二数据发送给所述存储器的数据总线。控制信号生成模块13用于生成写控制信号,以便存储器根据写控制信号将第二数据写入地址生成模块11生成的地址。控制模块14用于控制地址生成模块11、数据生成模块12和控制信号生成模块13的工作,例如,告知地址生成模块11需要产生的地址的范围,告知控制信号生成模块13需要产生的控制信号的时序。
在本实施例中,装置的工作状态包括第一工作状态和第二工作状态,在第一工作状态中,第一数据为外部输入的初始数据,在第二工作状态中,第一数据为反馈回来的第二数据。
该实施例的具体工作过程如下:在控制模块14的控制下,地址生成模块11生成地址并将该地址发送给存储器的地址总线;数据生成模块12接收第一数据,对第一数据进行处理,生成第二数据,将第二数据发送给存储器的数据总线;控制信号生成模块13生成写控制信号,以便存储器根据写控制信号将第二数据写入地址生成模块11生成的地址。该装置的工作过程可以包括第一工作过程和第二工作过程,在第一工作过程中,第一数据为外部输入的初始数据,在第二工作过程中,第一数据为反馈回来的第二数据。当进入第一工作过程时,该装置处于第一工作状态,当进入第二工作过程时,该装置处于第二工作状态。
在本实施例中,该装置开始填充存储器时,在控制模块14的控制下,该装置进入第一工作状态,在后续填充存储器的过程中,该装置进入第二工作状态。
本实施例在首次执行填充存储器的填充操作时,数据生成模块12接收外部的初始数据得到第二数据并发送给数据总线,以便采用该第二数据填充存储器,在后续的执行对存储器填充操作时,数据生成模块12根据反馈回来的第二数据生成新的第二数据并发送给数据总线,以便采用该新的第二数据填充存储器,这样每次填充存储器采用的数据均与上次不同,可以实现掩盖存储器中曾经保存过的数据的痕迹,同时可以避免在工作过程中一直从外部获取初始数据。
可选地,在本实施例中,在该装置填充存储器的过程中,在控制模块14控制下,该装置随机地进入第一工作状态,相应地,该装置的工作过程随机地进入第一工作过程,从而随机地获取几次初始数据,然后再进入内部循环状态,可以增加第二数据的复杂多样性,更好的保护存储器中曾存储的数据。
可选地,数据生成模块12的外部输入的初始数据可以是随机数,优选地,该随机数为由真随机数发生器产生的真随机数,从而实现更好地掩盖存储器中曾经保存过的数据的痕迹。由于真随机数发生器的复杂度较高、产生随机数的速度较慢,难以满足数据生成模块12在工作过程中一直从外部获取初始值,因此数据生成模块12在开始工作时获取一次初始值,然后进入内部循环状态,从而可以降低对真随机数发生器产生随机数的速度的要求,实现快速有效地覆盖存储器中的原有数据。
可选地,在本实施例中,数据生成模块12可以用于对第一数据进行循环冗余校验(Cyclic Redundancy Check,简称:CRC)计算,生成第二数据。
可选地,CRC计算电路可以使用串行方式的CRC计算电路,也可以使用并行方式的CRC计算电路。并行方式的对硬件的要求比较高,处理速度较快;串行方式的对硬件系统的要求比较低,但是处理速度较慢。
可选地,CRC计算电路在一个周期内产生的CRC计算结果的数据宽度可以小于存储器数据总线的宽度。此时,可以使用多个周期的CRC计算结果来填充一个存储器地址空间的数据。
可选地,数据生成模块12中的CRC计算电路在一个周期内产生的CRC计算结果的数据宽度可以等于存储器数据总线的宽度。此时,可以直接用CRC计算结果来填充一个存储器地址空间的数据。
可选地,数据生成模块12中的CRC计算电路在一个周期内产生的CRC计算结果的数据宽度可以大于存储器数据总线的宽度。此时,可以截取部分CRC计算结果来填充一个存储器地址空间的数据。
下面通过具体实例对本实施例进行说明。
如图2所示,为本发明的用于填充存储器的装置第一实施例的一个具体实例的结构示意图,假设数据生成模块12具体为8位并行CRC计算电路模块22,其在初始状态接收外部的初始随机值,8位并行CRC计算电路模块22接收控制模块14的控制信号,产生发送给存储器数据总线的宽度为8位的第二数据D[7:0],同时将第二数据D[7:0]反馈给8位并行CRC计算电路22,作为新的输入数据。地址生成模块11接收控制模块14的控制信号,顺序地产生发送给存储器地址总线的地址A[10:0],该地址宽度为11位。控制信号生成模块13接收控制模块14的控制信号,产生发送给存储器的控制接口的符合存储器写时序的写控制信号wr和存储器片选信号cs。
如图3所示,为本发明用于填充存储器的装置第二实施例的结构示意图,与上一实施例的不同之处在于,在图2所示的结构示意图的基础上,增加了逻辑运算模块35,逻辑运算模块35的两个输入分别与地址生成模块11和数据生成模块12相连,逻辑运算模块35的输出端与数据生成模块12相连。
在本实施例中,逻辑运算模块35用于当该装置处于第二工作状态时,对地址和反馈回来的第二数据进行逻辑运算,将逻辑运算结果作为第一数据发送给数据生成模块12,从而将地址生成模块11产生的地址以逻辑运算的方式引入到数据生成模块12的反馈回路中
该实施例的具体工作过程如下:在控制模块14的控制下,地址生成模块11生成地址并发送给存储器的地址总线,同时将地址发送给逻辑运算模块35作为逻辑运算模块35的一路输入数据。数据生成模块12接收第一数据,对第一数据进行处理,生成第二数据,将第二数据发送给存储器的数据总线,同时将第二数据反馈给逻辑运算模块35作为逻辑运算模块35的另一路输入数据。在该装置进入第二工作状态时,逻辑运算模块35对两路输入数据进行逻辑运算,将逻辑运算结果作为第一数据送入数据生成模块12。控制信号生成模块13产生写控制信号,以便存储器根据该写控制信号将第二数据写入想要写入的地址,这样,采用第二数据填充存储器,就可以覆盖存储器中曾经保存过的数据,从而保护存储器中曾经保存过的数据。
可选地,当工作过程进入第二工作过程中时,逻辑运算模块35对地址和反馈回来的第二数据进行逻辑运算,将逻辑运算结果作为第一数据。
本实施例中增加逻辑运算模块35,将地址生成模块11生成的地址与数据生成模块12生成的数据进行逻辑运算,得到的逻辑运算结果作为第一数据送入数据生成模块12,增加了数据生成模块12生成的第二数据的复杂性,更好地掩盖了存储器中原有的数据,从而使得存储器中的数据得到更好地保护。
下面通过具体实例对本发明中第二实施例进行说明。如图4所示,为本发明的用于填充存储器的装置第二实施例的一个具体实例的结构示意图,假设数据生成模块12具体为10位并行CRC计算电路模块42,逻辑运算模块35具体为异或(exclusive OR,简称:XOR)模块45,在初始状态接收外部的初始数据,10位并行CRC计算电路模块42接收控制模块14的控制信号,使用10位并行CRC计算电路产生CRC结果C[9:0],其数据宽度为10位,其中低8位C[7:0]作为第二数据D[7:0]发送给存储器的数据总线,同时将C[9:0]反馈给XOR模块45作为XOR模块45操作的一路输入数据。地址生成模块11接收控制模块14的控制信号,顺序地产生发送给存储器地址总线的地址A[10:0],该地址宽度为11位,并且,地址生成模块11产生的11位地址A[10:0]中的低10位,即A[9:0]作为XOR模块45的另一路输入数据。A[9:0]与C[9:0]在XOR模块45中进行XOR操作,XOR操作的结果送给CRC计算电路模块42,作为新的第一数据。控制信号生成模块13接收控制模块14的控制信号,产生发送给存储器的控制接口的符合存储器写时序的写控制信号wr和存储器片选信号cs,以便根据该写控制信号将第二数据填充到存储器中。
可选地,再参见图4所示示意图,异或操作XOR可以替换成其他两输入的逻辑运算操作,例如加法操作、减法操作等等。
最后应说明的是:以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围。
Claims (10)
1.一种用于填充存储器的装置,其特征在于,包括:
地址生成模块,用于生成地址并将所述地址发送给所述存储器的地址总线;
数据生成模块,用于接收第一数据,对所述第一数据进行处理,生成第二数据,将所述第二数据发送给所述存储器的数据总线;
控制信号生成模块,用于生成写控制信号,以便所述存储器根据所述写控制信号将所述第二数据写入所述地址;
控制模块,用于控制所述地址生成模块、所述数据生成模块和所述控制信号生成模块的工作;
其中,所述装置的工作状态包括第一工作状态和第二工作状态,在所述第一工作状态中,所述第一数据为外部输入的初始数据,在所述第二工作状态中,所述第一数据为反馈回来的第二数据。
2.根据权利要求1所述的装置,其特征在于,还包括:
逻辑运算模块,用于当所述装置处于第二工作状态时,对所述地址和所述反馈回来的第二数据进行逻辑运算,将逻辑运算结果作为所述第一数据发送给所述数据生成模块。
3.根据权利要求1或2所述的装置,其特征在于,所述数据生成模块用于对所述第一数据进行循环冗余校验CRC计算,生成所述第二数据。
4.根据权利要求1或2所述的装置,其特征在于,在所述装置开始工作时,在所述控制模块的控制下,所述装置进入所述第一工作状态。
5.根据权利要求4所述的装置,其特征在于,在所述装置的工作过程中,在所述控制模块的控制下,所述装置随机地进入所述第一工作状态。
6.一种用于填充存储器的方法,其特征在于,包括:
生成地址并将所述地址发送给所述存储器的地址总线;
接收第一数据,对所述第一数据进行处理,生成第二数据,将所述第二数据发送给所述存储器的数据总线;
生成写控制信号,以便所述存储器根据所述写控制信号将所述第二数据写入所述地址;
其中,所述方法的工作过程包括第一工作过程和第二工作过程,在所述第一工作过程中,所述第一数据为外部输入的初始数据,在所述第二工作过程中,所述第一数据为反馈回来的第二数据。
7.根据权利要求6所述的方法,其特征在于,还包括:
当所述方法进入第二工作过程时,对所述地址和所述反馈回来的第二数据进行逻辑运算,将逻辑运算结果作为所述第一数据。
8.根据权利要求6或7所述的方法,其特征在于,所述对所述第一数据进行处理生成第二数据具体为:
对所述第一数据进行循环冗余校验CRC计算,生成所述第二数据。
9.根据权利要求6或7所述的方法,其特征在于,在开始填充所述存储器时,所述方法进入所述第一工作过程。
10.根据权利要求9所述的方法,其特征在于,在填充所述存储器的过程中,所述方法随机地进入所述第一工作过程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410385236.1A CN104111901B (zh) | 2014-08-07 | 2014-08-07 | 用于填充存储器的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410385236.1A CN104111901B (zh) | 2014-08-07 | 2014-08-07 | 用于填充存储器的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104111901A CN104111901A (zh) | 2014-10-22 |
CN104111901B true CN104111901B (zh) | 2017-05-24 |
Family
ID=51708699
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410385236.1A Active CN104111901B (zh) | 2014-08-07 | 2014-08-07 | 用于填充存储器的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104111901B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108009438B (zh) * | 2016-10-28 | 2021-08-17 | 中移(杭州)信息技术有限公司 | 一种数据存储方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841865A (zh) * | 2011-06-24 | 2012-12-26 | 上海芯豪微电子有限公司 | 高性能缓存系统和方法 |
CN103513957A (zh) * | 2012-06-27 | 2014-01-15 | 上海芯豪微电子有限公司 | 高性能缓存系统和方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6344232A (ja) * | 1986-08-09 | 1988-02-25 | Meruko:Kk | デ−タの書込み読出し監視装置 |
JP4010400B2 (ja) * | 2002-06-14 | 2007-11-21 | シャープ株式会社 | 半導体記憶装置およびデータ書き込み制御方法 |
CN100411382C (zh) * | 2004-03-04 | 2008-08-13 | 华为技术有限公司 | 一种先进先出处理芯片及其数据更新方法 |
CN1716848A (zh) * | 2004-06-14 | 2006-01-04 | 上海安创信息科技有限公司 | 一种硬件快速实现杂凑算法的方法 |
JP2010165251A (ja) * | 2009-01-16 | 2010-07-29 | Toshiba Corp | 情報処理装置及びプロセッサ並びに情報処理方法 |
JP5337661B2 (ja) * | 2009-10-09 | 2013-11-06 | 株式会社日立製作所 | メモリ制御装置及びメモリ制御装置の制御方法 |
-
2014
- 2014-08-07 CN CN201410385236.1A patent/CN104111901B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102841865A (zh) * | 2011-06-24 | 2012-12-26 | 上海芯豪微电子有限公司 | 高性能缓存系统和方法 |
CN103513957A (zh) * | 2012-06-27 | 2014-01-15 | 上海芯豪微电子有限公司 | 高性能缓存系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104111901A (zh) | 2014-10-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10313128B2 (en) | Address-dependent key generator by XOR tree | |
US8843767B2 (en) | Secure memory transaction unit | |
CN108599930A (zh) | 固件加解密系统与方法 | |
US20150278555A1 (en) | Method for performing an encryption with look-up tables, and corresponding encryption apparatus and computer program product | |
US10146701B2 (en) | Address-dependent key generation with a substitution-permutation network | |
CN105406957B (zh) | 保护密码设备对抗实现攻击 | |
EP2990953B1 (en) | Periodic memory refresh in a secure computing system | |
TWI741669B (zh) | 記憶體裝置 | |
CN102855161A (zh) | 用于安全微控制器的外部存储器的数据交织方案 | |
CN107832635A (zh) | 访问权限控制方法、装置、设备及计算机可读存储介质 | |
CN106557283A (zh) | 一种固态硬盘自毁方法及装置 | |
US9602281B2 (en) | Parallelizable cipher construction | |
CN104268483B (zh) | 一种数据保护系统、装置及其方法 | |
CN104111901B (zh) | 用于填充存储器的方法及装置 | |
US9946662B2 (en) | Double-mix Feistel network for key generation or encryption | |
CN106168931A (zh) | 具有多个分区的安全ram块 | |
CN106934305A (zh) | 一种嵌入式系统 | |
CN107562647A (zh) | 一种对数字信号程序处理器可靠性扩展的控制方法及装置 | |
CN105512560B (zh) | 一种一次性可编程存储器芯片和及其的控制方法 | |
CN204808325U (zh) | 一种对数据进行加密的设备 | |
US20220237304A1 (en) | Data Processing Device and Method for Processing Secret Data | |
CN106326690A (zh) | 密钥保护装置及密钥保护方法 | |
CN107579815A (zh) | 一种安全烧写密钥的方法及其装置 | |
US10242233B2 (en) | Method for producing an electronic device with a disabled sensitive mode, and method for transforming such an electronic device to re-activate its sensitive mode | |
CN105897405B (zh) | 一种128位对称密钥生成及保护装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |