CN103246853B - 用于控制dram中的数据刷新的装置和方法 - Google Patents
用于控制dram中的数据刷新的装置和方法 Download PDFInfo
- Publication number
- CN103246853B CN103246853B CN201310048239.1A CN201310048239A CN103246853B CN 103246853 B CN103246853 B CN 103246853B CN 201310048239 A CN201310048239 A CN 201310048239A CN 103246853 B CN103246853 B CN 103246853B
- Authority
- CN
- China
- Prior art keywords
- refresh
- dram
- address
- address sequence
- memory location
- 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
- 238000000034 method Methods 0.000 title claims description 15
- 238000012545 processing Methods 0.000 claims description 39
- 239000011159 matrix material Substances 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 9
- 238000013507 mapping Methods 0.000 claims description 8
- 238000005538 encapsulation Methods 0.000 claims description 5
- 230000007704 transition Effects 0.000 claims description 3
- 230000001680 brushing effect Effects 0.000 claims 1
- 238000000151 deposition Methods 0.000 claims 1
- 125000004122 cyclic group Chemical group 0.000 description 9
- 230000009466 transformation Effects 0.000 description 7
- 230000003044 adaptive effect Effects 0.000 description 6
- 238000006462 rearrangement reaction Methods 0.000 description 6
- 239000003990 capacitor Substances 0.000 description 5
- 230000000694 effects Effects 0.000 description 5
- 230000005611 electricity Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000008569 process Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000008707 rearrangement Effects 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000013479 data entry Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000000523 sample Substances 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 235000012431 wafers Nutrition 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40622—Partial refresh of memory arrays
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/75—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by inhibiting the analysis of circuitry or operation with measures against power attack
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/406—Management or control of the refreshing or charge-regeneration cycles
- G11C11/40603—Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/408—Address circuits
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2211/00—Indexing scheme relating to digital stores characterized by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C2211/401—Indexing scheme relating to cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C2211/406—Refreshing of dynamic cells
- G11C2211/4065—Low level details of refresh operations
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
一种装置2包括用于存储数据的动态随机访问存储器(DRAM)6。刷新控制电路10被提供以控制DRAM6周期性地执行用于刷新存储在DRAM6的每个存储器位置中的数据的刷新周期。刷新地址序列生成器12生成地址的刷新地址序列,该序列标识DRAM6的存储器位置在刷新周期期间被刷新的次序。为了防止对存储在DRAM6中的安全数据的差分功率分析攻击,按照因刷新周期而异的随机次序用存储器位置的至少一部分的地址生成刷新地址序列。
Description
技术领域
本发明涉及动态随机访问存储器(DRAM)的领域。更具体而言,本发明涉及用于控制DRAM中的数据的刷新的技术。
背景技术
随机访问存储器(DRAM)是一种存储器,其中存储在该存储器中的数据必须被周期性地刷新以避免数据的丢失。常见形式的DRAM利用电容器来存储数据。电容器可以被置于放电状态或充电状态以表示位值0或1。由于电容器随时间的推移会泄漏电荷,所以利用电容器存储的数据将会褪去,除非电容器周期性地被刷新。
在本申请中,术语“动态随机访问存储器”和“DRAM”被用来指代需要其数据被周期性刷新以避免数据丢失的任何类型的存储器(不管数据是用电容器还是用其它类型的存储元件存储的)。
DRAM被越来越多地用于存储安全数据和安全程序代码。尤其是在DRAM被集成到与DRAM所关联的处理逻辑相同的片上系统或封装中的系统中。例如,3D集成的DRAM可以被用在具有多个堆栈层的片上系统中。通过将DRAM与外部世界隔离,使得攻击者更难探测到DRAM与处理逻辑之间的接口,因此数据可以更安全地被保存在DRAM中。
本发明的技术希望提高存储在DRAM中的安全数据的安全性。
发明内容
从一个方面来看,本发明提供了一种装置,该装置包括:
用于存储数据的动态随机访问存储器(DRAM);
刷新控制电路,该刷新控制电路被配置为控制所述DRAM周期性地执行刷新周期用于刷新存储在所述DRAM的每个存储器位置中的数据;
刷新地址序列生成器,该刷新地址序列生成器被配置为生成地址的刷新地址序列,该刷新地址序列标识所述DRAM的存储器位置在所述刷新周期中被刷新的次序;
其中所述刷新地址序列生成器被配置为以因刷新周期而异的随机次序利用所述存储器位置的至少一部分的地址生成所述刷新地址序列。
本发明的技术意识到DRAM的内容可能容易受到诸如差分功率分析(DPA)之类的安全攻击。DPA是一种有力的攻击,该攻击利用对电路的功耗的观察来至少部分地诱导出保密信息。例如,DPA已被用于从加密引擎中提取密钥。为了实现DPA,攻击者探测电路的电源管脚或接地管脚并且观察在一段时间内电路的功耗。由于功耗会随着被处理的数据值而有些许的变化,统计方法可以被用于破解保密信息,而不需要了解电路正在执行的算法。即使保密信息不能利用DPA被完全确定,DPA也可以被用于诱导出部分信息(例如一个值是否包含几乎都为0或几乎都为1的位值),这使得保密信息的一些可能值可以被去除,提高蛮力攻击的成功概率,所述蛮力攻击尝试保密信息的每个可能值以试图破解信息的真实值。因此,DPA可以被用于分析DRAM的安全内容。
本发明的技术意识到DRAM的刷新操作提供了差分功率分析攻击者可以利用的安全隐患。由于刷新操作是周期性的,DPA攻击者可以通过寻找功率消耗中的重复模式来相对容易地推测出功耗形态中的哪些部分与刷新操作相对应。而且,由于DRAM的存储器位置通常按可预测的顺序被刷新,DPA攻击者可以很容易地将在刷新周期期间中不同时间消耗的功率分布到各个DRAM存储器位置,以获得关于DRAM的内容的信息。
为了解决这个问题,本发明的技术提供了一种生成刷新地址序列的刷新地址序列生成器,在所述刷新地址序列中,DRAM的存储器位置的至少一部分的地址按照因刷新周期而异的随机次序排列。这确保了DRAM位置被刷新的次序是不可预测的,因此DPA攻击者难以将在刷新周期期间中的特定瞬间消耗的功率对应到DRAM的某个存储器位置上。
在一个示例中,刷新地址序列生成器所生成的刷新地址序列可以包括标识DRAM内的各个存储器位置的地址序列。
然而,更常见的是DRAM刷新以存储器位置行为单位被执行。在这种情况下,刷新地址序列可以包括标识存储器位置行被刷新的次序的行地址序列。存储器位置还可以以存储器位置组(或集)为单位被刷新,刷新地址序列标识这些位置组(或集)被刷新的次序。因此,不需要刷新地址序列分别标识出DRAM的每个存储器位置。随机安排存储器位置行或组被刷新的次序(同一行或组内的每个存储器位置同时被刷新)足以使得DPA攻击变得很困难。
刷新地址序列生成器可以包括按顺序次序生成地址序列的顺序地址序列生成器。刷新地址序列生成器可以通过随机安排存储器位置中的至少一部分的地址的次序来根据顺序地址序列生成刷新地址序列。顺序地址序列生成器通常已被设置在常见的DRAM刷新控制器中,因此可以被重新用作用于生成随机安排的刷新地址序列的开始点。
所述装置可以包括用于生成至少一个随机数的随机数生成器,并且刷新地址顺序生成器可以根据所述至少一个随机数随机安排存储器位置中的至少一部分的地址的次序。例如,随机数生成器可以是用于基于种子值生成伪随机数的伪随机数生成器。
虽然可以在变为不同的随机数之前对若干个刷新周期保持同一随机数,但是优选地使随机数生成器在每个刷新周期之后改变所述至少一个随机数。这确保刷新地址序列内的地址的次序按不可预测的方式针对每个刷新周期而改变,从而防止可能的DPA攻击。
异或(XOR)门可以被用于通过利用随机数生成器所生成的第一随机数对存储器位置的至少一部分的地址执行位异或(XOR)操作随机安排这些地址的次序。对于N位地址的序列,同一N位随机数可以与序列中的每个地址进行XOR。然后,随机数可以随着刷新周期而改变。由于随机数有2N个不同的可能值,所以有2N种不同的排列刷新地址序列的方式。例如,对于32位的地址,232=4294967296是个很大的数,因此DPA攻击者很难确定给定刷新周期的刷新序列。
除了应用XOR操作以外,刷新地址序列生成器还可以根据随机数生成器所生成的第二随机数重新安排地址的位位置。这提供了刷新地址序列中的更多的平均信息量,因此使得攻击者更难以确定序列的次序。通过重新安排位位置以及改变地址中的位值,将不成比例地给DPA攻击者造成不便,因为它将严重影响发生在DRAM内的行和列寻址,使得攻击者不得不考虑很多附加因素。
对地址的位位置的重新安排和XOR操作是可交换操作,因为不管哪个操作被执行都会得到相同的结果。因而,位位置的重新安排在XOR操作之前或之后被执行都没关系。
地址的位位置可以按各种方式被重新安排。例如,地址可以被循环移位由第二随机数所指定的位位置数。例如,移位寄存器可以被用于对地址进行循环移位。
或者,变换矩阵可以针对第二随机数的每个可能值指定原始位位置与被重排后的位位置之间的映射关系。对于第二随机数的给定值,变换矩阵中的适当元素可以被访问并用于标识如何将原始地址的位映射到刷新地址的位。
位位置重排还可以独立地被用于随机安排刷新地址序列的次序,而不执行XOR操作。然而,由于位位置重排对于包括全0位值或全1位值的地址不起作用,并且对具有几乎全0位值或几乎全1位值的地址的作用很小,所以优选地执行可以提供对序列内的全部地址的随机排列的XOR操作。
DRAM的制造商通常会提供标识出推荐刷新间隔时段的信息,该推荐刷新间隔时段表示连续的刷新周期之间的最大推荐间隔时段。如果数据值在推荐刷新间隔时段内未被刷新,则数据不能保证是准确的。
因而,通常DRAM会被控制为以推荐刷新间隔时段为间隔执行刷新周期。然而,本发明的技术意识到如果刷新地址序列内的存储器地址的排序被随机安排并且刷新周期以推荐刷新间隔时段为间隔被执行,则有可能某个存储器位置在靠近一个刷新周期的开始处和靠近下一个刷新周期的结束处被刷新,以使得对同一位置的连续刷新之间的间隔时段可能大于推荐刷新间隔时段。这可能会导致数据丢失。
为了解决这个问题,刷新控制电路可以控制DRAM以推荐刷新间隔时段的一半为间隔周期性地执行刷新周期。这确保任意特定位置在推荐刷新间隔时段内被刷新,即使当刷新序列的次序被随机安排。
所述装置可以包括用于执行数据处理的处理电路。在一些实施例中,DRAM可以是位于与处理电路相独立的芯片上的片外存储器。
然而,当处理电路和DRAM被集成在相同的片上系统上或相同的封装内时,本发明的技术尤其有用,因为这种情况下DRAM最有可能被用于存储安全数据,因为DRAM与处理电路之间的接口比较不容易被可能的攻击者访问。
DRAM和处理电路可以具有分别的电源输入或者可以共享共同的电源输入。如果DRAM和处理电路具有分别的电源输入,则优选刷新地址序列始终被随机安排,因为在这种情况下,在执行刷新操作时DRAM的功耗将可以与处理电路所消耗的功率区别开,所以DPA攻击者可以通过监控经由专用的DRAM电源输入提取的功率来探测DRAM的内容。
另一方面,如果处理电路和DRAM共享共同的电源输入,则可能有时处理电路所提取的功率可以模糊DRAM的功耗形态。在这种情况下,刷新序列不需要总是被随机安排。
因此,刷新地址序列生成器可以被提供正常模式和随机模式。在正常模式下,刷新地址序列可以按顺序次序由地址生成,而在随机模式下,刷新地址序列可以按随机次序由存储器位置中的至少一部分的地址生成。在随机模式下,刷新周期可能需要比正常模式下更频繁地被执行,原因如上所述。因此,更多的功率被消耗,并且可能对处理性能造成影响,因为更多的DRAM带宽需要被用于刷新操作,可能会延迟从处理器对DRAM的访问。因而,通过提供正常模式和随机模式,允许用户根据用户的具体需要在随机模式的更好的安全性与正常模式的更少的功耗和更好的性能之间进行折中考虑。
处理电路可以具有正常模式和省电模式。在正常模式期间,处理电路所提取的功率可能足以防止DRAM活动被DPA识别出。然而,在省电模式期间,处理电路可能自身消耗非常少的功率,因此此时经由共享的电源输入提取的功率主要是由于DRAM的刷新操作引起的。这意味着处理电路在省电模式下时与处理电路在正常模式下时相比,DRAM更容易受到DPA攻击。因此,刷新地址序列生成器可以被配置为当处理电路工作在正常模式下时工作在正常模式下,而当处理电路工作在省电模式下时工作在随机模式下。
作为代替,或者除了这种控制以外,刷新控制电路还可以检测处理电路对DRAM的DRAM访问。当DRAM访问的量较高时,处理电路和DRAM作为整体所消耗的功率可能受到除刷新操作以外的很多因素的影响,因此在这种情况下,可能不需要使用随机模式。另一方面,如果DRAM访问变得稀疏,例如因为处理电路正在执行涉及除DRAM以外的存储器的操作,则DRAM刷新操作可能再次成为整个功耗形态中可见的。因而,如果所检测到的DRAM访问量大于预定阈值,刷新控制电路可以工作在正常模式下,并且如果所检测到的DRAM访问量小于预定阈值,刷新控制电路可以工作在随机模式下。
DRAM可以被控制为在随机模式下时与正常模式下时相比以两倍的频率执行刷新周期。这确保了在随机模式期间,每个DRAM位置在推荐刷新间隔时段内被刷新,而在正常模式期间,通过较不频繁地执行刷新周期,功耗可以被减少并且处理性能被提高。
在一些实施例中,随机安排的刷新地址序列可以被用于DRAM的全部存储器位置。虽然不可能DRAM的全部存储器位置都在存储安全数据,但是次序被随机安排的地址的数目越大,地址的可能排序的数目就越大,因此DPA攻击者为了识别出DRAM位置的内容而不得不破解的熵的量就越大。因此,随机安排存储不安全数据的位置以及存储安全数据的位置的地址的次序提高了DRAM的安全数据的安全性。
另一方面,为了减少功率消耗,可以只利用DRAM的一部分内的存储器位置的地址执行随机安排,而在所述部分以外的存储器位置的地址仍然按照顺序次序。例如,随机安排可以只被应用于与用于存储安全数据、保密数据或机密数据的DRAM的安全部分相对应的地址。这种技术通常在所述安全部分包括有2N个存储器位置或存储器行的存储器块并且被对齐到自然存储器地址边界的情况下效果最好。
刷新控制电路和刷新地址序列生成器可以按不同的方式被实现。例如,所述装置可以包括用于控制所述DRAM的存储器控制器,该存储器控制器包括刷新控制电路和刷新地址序列生成器。存储器控制器控制DRAM的刷新何时以及如何被执行。
或者,DRAM可以包括刷新控制电路和刷新地址序列生成器。在这种情况下,由于DRAM控制其自身的刷新操作,所以DRAM在所述装置的其它元件(例如存储器控制器)看来是不需要刷新的静态随机访问存储器。
从另一方面看,本发明提供了一种装置,该装置包括:
用于存储数据的动态随机访问存储器(DRAM)装置;
刷新控制装置,用于控制所述DRAM周期性地执行刷新周期用于刷新存储在所述DRAM装置的每个存储器位置中的数据;以及
刷新地址序列生成装置,用于生成地址的刷新地址序列,该刷新地址序列标识所述DRAM装置的存储器位置在所述刷新周期中被刷新的次序;
其中所述刷新地址序列生成装置按照因刷新周期而异的随机次序利用所述存储器位置的至少一部分的地址生成所述刷新地址序列。
从另一方面来看,木发明提供了一种方法,该方法包括以下步骤:
将数据存储在动态随机访问存储器(DRAM)中;
控制所述DRAM周期性地执行用于刷新存储在所述DRAM的每个存储器位置中的数据的刷新周期;以及
生成地址的刷新地址序列,所述刷新地址序列标识所述DRAM的存储器位置在所述刷新周期期间被刷新的次序;
其中所述刷新地址序列按照因刷新周期而异的随机次序用所述存储器位置的至少一部分的地址被生成。
本发明的另外一些具体和优选的方面在所附独立和从属权利要求中被提出。从属权利要求的特征可以与独立权利要求的特征适当地按照与权利要求中所明确提出的那些组合方式不同的组合方式进行组合。
附图说明
图1A和1B示出了包括DRAM和用于控制DRAM的刷新的刷新控制器的片上系统的示例;
图2示出了随机安排刷新地址序列的次序的示例;
图3示出了随机安排刷新地址序列的次序的另一示例;
图4示出了用于重新安排地址的位位置的变换矩阵的示例;
图5示出了显示为什么当随机安排的刷新机制被使用时刷新周期以推荐速率的两倍的速率被执行的示例;
图6示出了包括不安全区域和安全区域的DRAM地址空间的示例;
图7示出了包括共享电源输入或者具有分别的电源输入的DRAM和处理逻辑的集成电路封装的示例;
图8示出了显示用于执行DRAM刷新的不同模式之间的转换的状态图;以及
图9示出了控制DRAM中的刷新操作的方法。
具体实施例
图1A示出了片上系统2的示例,该片上系统2包括处理器4、动态随机访问存储器(DRAM)6和存储器控制器8。DRAM6可以包括需要周期性刷新的任意类型的存储器,例如利用电容器存储数据的动态随机访问存储器。
存储器控制器8被提供用于控制DRAM6的操作。存储器控制器8包括用于控制DRAM6的刷新的刷新控制器10,用于生成刷新地址序列的刷新地址序列生成器12,和用于生成随机数的随机数生成器14,所述刷新地址序列标识DRAM的存储器位置在刷新周期期间被刷新的次序。例如,随机数生成器14可以包括用于基于种子值生成伪随机数序列的伪随机数生成器。
图1B示出了片上系统2的替代示例,其中刷新控制器10、刷新地址序列生成器12和随机数生成器被设置在DRAM封装6内。从存储器控制器8的角度来看,图1B的DRAM6用作静态随机访问存储器,因为存储器控制器8不需要考虑DRAM6的刷新。
虽然图1A和1B显示DRAM被集成到与处理器4相同的片上系统2中,但是在其它实施例中,DRAM6可以是片外存储器。
在图1A和1B所示的这两个实施例中,刷新控制器10控制DRAM6周期性地执行刷新周期,DRAM的每个存储器位置在刷新周期中被刷新。例如,DRAM的存储器位置可以通过以下方式一次一行地被刷新,所述方式即从一行存储器位置中读取值,利用已被读取的数据重写这一行存储器位置,然后对每个后续行重复该操作。或者刷新操作可以以除了行以外的存储器位置为单位被执行。
刷新地址序列生成器12生成标识存储器位置(或者存储器位置行)被更新的次序的地址序列。为了防止差分功率分析攻击,存储器地址的至少一部分的次序基于随机数生成器14所生成的随机数被随机安排。这意味着DRAM6的存储器位置被刷新的时间次序被随机安排,但是每个数据条目被存储的物理位置保持不变。
图2示出了地址序列可以怎样被随机安排的示例。刷新地址序列生成器12包括按顺序次序生成地址序列的顺序地址序列生成器20。随机数生成器14生成随机数,该随机数具有与顺序地址序列生成器20所生成的地址相同的位数。XOR门22被提供以将顺序地址序列生成器20所生成的地址与随机数生成器14所生成的随机数进行XOR,以生成刷新地址序列。
XOR操作具有这样的属性,即当同一N位数与2N个N位值(包括每种可能的1和0的排列)的序列中的每个值进行XOR时,结果得到包括所有原始值但是按照不同次序的序列。这意味着XOR操作对于随机安排地址序列的次序来说是有用的。
这在显示利用4位地址的示例的图2中被示出。序列中的每个地址利用位异或(XOR)操作与4位随机数1011进行组合。如图2中所示,顺序的地址序列内的每个值也出现在随机安排的刷新地址序列中,但是按照取决于随机数的值的不同次序排列。
因而,通过针对一个刷新周期使用相同的随机数并且随后针对下一个刷新周期改变随机数,随机数生成器14可以控制刷新地址序列生成器12以使得下一个刷新周期针对不同的随机安排的地址序列被执行。虽然优选随机数在每个刷新周期之后被改变以最大化安全性,但是随机数也可以不那么频繁地被改变,例如在使用相同随机数的两个或多个刷新周期之后被改变。
由于通常序列中的地址会具有合理数目的位(例如16、32或64位),并且随机数具有与地址相同的位数,所以刷新地址序列有很多种可能的排序。例如,对于32位的地址,有232=4294967296种排列,这是一个非常大的数目。因此,按照这种方式随机安排地址序列使得信息非常难以通过差分功率分析而根据刷新活动被导出。
虽然对地址应用XOR操作改变了地址出现在序列中的次序,但是XOR操作并不改变地址的每个位位置处的位值在刷新周期期间切换状态的频率。例如,从图2中可以看出,最高有效位仍然只是每个刷新周期改变两次(一次从0到1,一次从1到0)。这样可能会提供给DPA攻击者附加信息,该附加信息可以被用来提高蛮力攻击的成功概率。例如,攻击者可能能够确定地址是在地址序列的第一个半区还是第二个半区中被刷新的。
为了防止这种情况,在图3中所示的示例中,另一种对地址的位位置的重排被执行。图3示出了移位寄存器24,该移位寄存器24将XOR门22所生成的地址的位进行循环移位,循环移位的位数为随机数生成器14所生成的第二随机数所指定的位位置数。被移出移位寄存器24的一侧的地址位被插入到移位寄存器24的另一侧中。同样,第二随机数优选地在每个刷新周期之后被改变。对于N位的地址,第二随机数具有log2(N)位。
在图3的示例中,在将顺序地址序列的地址与随机数1011进行XOR之后,这些地址被循环右移3个位位置以生成用于刷新周期的刷新地址序列。在最后的刷新地址序列中,每个位位置切换状态的频率被改变以使得在该示例中最低有效位每个周期改变两次,而最高有效位每个周期改变四次状态。这使得攻击者更难得到可以被用于识别出DRAM的安全内容的信息。
虽然图3显示位循环移位在XOR操作之后被应用,但是应当理解循环移位也可以在XOR操作之前被应用。此外,虽然图3显示的是右循环移位,但是左循环移位也可以被使用。
图4示出了利用变换矩阵30对地址内的位位置进行重排的替换方式,变换矩阵30可以被用于代替图3中所示的移位寄存器24。变换矩阵30指定输入地址A的位位置与针对随机数生成器14所生成的随机数的每种可能值的输出地址M的位位置之间的映射。因而,对于给定的刷新周期,刷新地址序列中的每个地址的位位置根据当前随机数所指定的映射被重新安排。然后,新的随机数被选择用于下一个刷新周期以提供不同的映射。
例如,对于4位地址而言,存在24种不同的可能映射,该地址可以例如利用图4中所示的映射被映射到随机数的24种不同值。例如,在图4中,随机数7使得刷新序列中的每个输入地址A的位3、2、1和0被映射到每个输出地址M的位2、3、0和1。
如图3中所示,利用图4的矩阵30的位位置重排可以在向地址应用XOR操作之前或之后被执行。按照如图3和图4中所示的方式重新安排地址的位位置将在周期之间改变特定地址线上的活动。例如,在64位的地址总线上,第63个位线通常每个刷新周期改变两次位值(一次从0到1,一次从1到0),但是通过按随机方式重新安排地址的位位置,第63个位线的值现在可能是介于每个刷新周期一次和每个周期263次之间的任意值,该值取决于在该刷新周期期间所应用的重排。这将不成比例地给攻击者带来不便,因为它将严重影响发生在DRAM内部的行/列寻址,从而导致在执行DPA时很多的附加功率因素要被考虑。
图3中所示的位循环移位或图4中所示的变换矩阵也可以单独被用于执行对刷新地址序列的随机安排,不需要再执行XOR操作。但是,这是比较不优选的,因为与XOR操作不同,图4和图4的位位置重排操作只能重排地址的已有位值,而不能改变实际的位值。这意味着,例如包括全0或1位值的地址值0b0000...或0b1111...不能只利用位位置重排而被随机安排,这可能会允许DPA攻击者确定具有地址0b0000...或0b1111...的位值的内容。因此,更加安全的是利用位位置重排结合XOR操作。
以DRAM的制造商所推荐速率的两倍的速率执行随机安排的刷新可能是有用的。通常,DRAM制造商将针对给定的DRAM设备指定推荐刷新间隔时段,该推荐刷新间隔时段表示特定的存储器位值可以保持不被刷新的最长时间。如果存储器位值在推荐刷新间隔时段内没有被刷新,则数据不能保证是准确的,并且在最坏的情况下将会丢失。因此,通常DRAM刷新周期以推荐刷新间隔时段R为间隔被执行,如图5的部分A中所示。然而,如果随机安排的刷新机制被使用,则可能由特定地址X所标识的存储器位置可能刚好在一个刷新周期的开始处被刷新并且刚好在后面一个刷新周期的结束处被刷新。如图5的部分A中所示,这意味着相同位置的连续刷新之间的间隔时间可能大于推荐刷新间隔时段R,这可能导致数据的丢失。
为了解决这个问题,刷新周期可以以推荐刷新间隔时段R的一半为间隔被执行,如图5的部分B中所示。这确保了即使地址出现在一个刷新周期中的刷新序列的开始处和下一个刷新周期中的刷新序列的结束处,与该地址相关联的存储器位置仍然在推荐刷新间隔时段内被刷新。
图6示出了包括不安全区域54和安全区域56的DRAM地址空间50。安全区域56被专门提供用于存储安全程序和安全数据。不安全区域54被提供用于存储其它数据。在其它示例中,地址空间50可以包含多个安全区域56或不安全区域54。
上述被随机安排的刷新地址序列可以被应用于整个DRAM地址空间50或者只被应用于地址空间的若干部分。例如,随机安排机制可以只被用于安全区域56,并且不安全区域54的地址可以按顺序被刷新。通过只对安全区域56执行随机安排的刷新,功耗可以被减少。另一方面,通过随机安排不安全区域54的地址以及安全区域的地址,有更大数目的可能排列用于对刷新地址序列进行排序,使得DPA攻击者更难以确定安全区域56的内容。
图7示出了在封装内而不是如图1所示的片上系统内的装置的两种示例性实现方式。在图7的部分(a)中,集成电路封装的分别的处理逻辑4和DRAM6硅晶圆共享共同的电源输入。这意味着如果DPA攻击者经由共享的电源输入70探测功率,则所观察到的功耗形态将受到逻辑4和DRAM6两者的影响。这在一些场合可能足以模糊DRAM刷新所导致的形态,所以可能不总是需要随机安全地址序列。因此,随机序列生成可以被选择性地使用。
例如,图8示出了具有不同刷新模式的状态机的示例。在正常模式100下,存储器位置以推荐刷新速率X按顺序的次序被刷新。在随机模式110下,刷新序列的至少一部分利用上述技术被随机安排,并且刷新周期以两倍的推荐刷新速率(2X)被执行。
随机模式120提供比正常模式100更好的安全性。另一方面,与随机模式120相比,正常模式100提供更少的功耗和更好的性能。在随机模式120期间,刷新周期以在正常模式100下的频率的两倍的频率被执行,意味着有更小的DRAM带宽可供处理电路4执行DRAM访问。这可能会影响系统性能。
自适应刷新模式120也可以被提供,其中刷新控制器10检测处理逻辑4对DRAM6的DRAM访问的量并根据DRAM访问的量改变刷新速率(即,改变是正常模式还是随机刷新地址生成机制被使用)。DRAM访问的量可以例如通过对在给定时间段内的DRAM访问数目进行计数而被监控。如果DRAM访问的量非常高(例如高于预定阈值),则DRAM刷新机制的功率特征可能会在相当大地程度上被DRAM访问所模糊,所以随机安排的刷新地址序列的生成机制可能是不需要的。在这种情况下,顺序地址序列可以被使用,像在正常模式100下一样。另一方面,当DRAM访问很稀疏时(例如所计算出的访问的数目低于阈值),则刷新控制器10可以切换为像在随机模式110下一样生成随机安排的刷新地址序列。因而,自适应模式120可以提供中间过渡模式,该模式的安全性、功耗以及对系统性能的影响介于正常模式100和随机模式110之间。
因此,图8中所示的状态机可以允许在随机模式110的更高的安全性与自适应或正常模式100,120的更少的功耗和更好的性能之间进行折中考虑。例如,当装置进入省电状态(其中处理电路4被置于省电模式中)时,刷新控制器10可以切换到随机模式110。当处理电路4再次变为活动的时,刷新控制器可以切换回正常模式100或自适应模式120以节省功率。或者,用户可以根据当前的安全要求选择使用哪种模式。当需要进行模式切换时,刷新控制器10会等到当前刷新周期结束再切换模式(因为在周期中间切换模式可能导致一些位置在推荐刷新间隔时段内没有被刷新)。
图7的部分(b)示出了集成电路封装的另一示例,其中分开的电源输入80,82被分别提供给处理逻辑4和DRAM6。在这种情况下,不管处理电路4是活动的还是它正在正常地访问DRAM,DRAM在刷新周期期间所提取的功率可以与处理逻辑4所消耗的功率区别开。因此,在这样的实施例中,通常优选刷新控制器10一直使用随机模式(除非由于某种原因随机模式的更高的安全性被认为是不需要的,在这种情况下可以使用正常模式)。
图8的状态机可以与图1的片上系统的实现方式和图7的集成电路封装的实现方式相结合地被使用。
图9示出了控制DRAM的刷新周期的方法。刷新控制器10可以包括刷新计时器,该计时器被用于标识出刷新要被执行的时间。在刷新周期被执行之后,刷新计时器被设置为表示给定时间量的值。然后,该计时器向下计数,直到指定的时间已经过去,此时下一个刷新周期被执行。
因而,在步骤200处,刷新控制器10检测刷新计时器是否已过期。一旦刷新计时器已过期,则在步骤210处刷新控制器10确定当前是在随机模式还是在正常模式下。如果刷新控制器10处于图8的自适应模式120下,则刷新控制器10基于所观察到的DRAM活动的量确定使用随机模式110还是正常模式100。
如果刷新控制器10处于正常模式下(或者自适应模式当前不需要应用随机安排),则在步骤220处,刷新控制器10控制刷新地址序列生成器12以顺序的次序生成刷新地址序列。因而,随机安排未被应用。在步骤230处,刷新控制器10控制DRAM6按照所生成的刷新地址序列所标识的次序执行刷新周期。在步骤240处,刷新控制器10将刷新计时器设置为表示推荐刷新间隔时段的值X。然后,在步骤250处,刷新控制器10对计时器进行向下计数,并且该方法返回到步骤200,一直到刷新计时器再次过期。
另一方面,如果在步骤210处,刷新控制器在随机模式下(或者自适应模式当前需要刷新序列被随机安排),则在步骤260处,刷新控制器10控制刷新地址序列生成器12按照基于随机数生成器14所生成的随机数被随机安排的DRAM的地址的至少一部分的次序生成刷新地址序列。在步骤270中,刷新控制器10控制DRAM6执行刷新周期,在该刷新周期中,DRAM6的存储器位置按照随机安排的刷新地址序列所标识的次序被刷新。然后,在步骤280处,随机数生成器14更新其随机数,以使得在下次随机安排的刷新地址序列被生成时,地址将按照不同的次序排列。在步骤290处,刷新计时器被设置为表示推荐刷新间隔时段的一半的值X/2。然后,该方法返回到步骤250,其中计时器再次向下计数一直到在步骤200处该计时器过期。通过在随机模式被使用时将计时器设置为值X/2,下一次刷新将在推荐间隔时段的一半之后发生,以确保即使特定地址在一个周期的开始处和下一个周期的结束处被刷新,该地址仍将在推荐间隔时段内被刷新。
图1A、图1B和图7中所示的DRAM6可以包括单个存储器单元或者多个物理上不同的存储器单元。如果有多个存储器单元,则对这些存储器单元的刷新可以由共享的刷新控制器10和刷新地址序列生成器12控制,以使得刷新周期在包括多个存储器单元的整个DRAM地址空间上被执行。这将可能提高刷新地址序列的排序的随机量。
另一方面,也可以为DRAM6的每个存储器单元提供其自己的专用刷新控制器10和刷新地址序列生成器12,一个存储器单元的刷新周期与另一存储器单元的刷新周期相独立地被管理。
虽然本发明的示例性实施例已经在此参考附图被详细地进行了描述,但是应当理解本发明不局限于这些精确的实施例,并且各种改变和修改都可以被本领域技术人员实现,而不脱离所附权利要求书所定义的本发明的范围和精神。
Claims (17)
1.一种用于控制动态随机访问存储器DRAM中的数据刷新的装置,包括:
用于存储数据的动态随机访问存储器DRAM;
刷新控制电路,该刷新控制电路被配置为控制所述DRAM周期性地执行刷新周期用于刷新存储在所述DRAM的每个存储器位置中的数据;以及
刷新地址序列生成器,该刷新地址序列生成器被配置为生成地址的刷新地址序列,该刷新地址序列标识所述DRAM的存储器位置在所述刷新周期中被刷新的次序;
其中所述刷新地址序列生成器被配置为以因刷新周期而异的随机次序利用所述存储器位置的至少一部分的地址生成所述刷新地址序列,
其中,所述刷新地址序列生成器具有普通模式和随机模式,在所述普通模式中,所述刷新地址序列按顺序次序用所述存储器位置的所述至少一部分的所述地址被生成,并且在所述随机模式中,所述刷新地址序列按所述随机次序用所述存储器的所述至少一部分的所述地址被生成;
其中,所述刷新地址序列生成器被配置为当被配置为执行数据处理的处理电路工作在普通模式下时,工作在所述普通模式下;并且所述刷新地址序列生成器被配置为当所述处理电路工作在省电模式下时,工作在所述随机模式下。
2.根据权利要求1所述的装置,其中所述刷新地址序列生成器包括被配置为按顺序次序生成地址的顺序地址序列的顺序地址序列生成器;并且
所述刷新地址序列生成器被配置为通过随机安排所述存储器位置的所述至少一部分的所述地址的次序来根据所述顺序地址序列生成所述刷新地址序列。
3.根据权利要求1所述的装置,包括被配置为生成至少一个随机数的随机数生成器,其中所述刷新地址序列生成器被配置为根据所述至少一个随机数随机安排所述存储器位置的所述至少一部分的所述地址的次序。
4.根据权利要求3所述的装置,其中所述随机数生成器被配置为在每个刷新周期之后改变所述至少一个随机数。
5.根据权利要求3和4中的任一权利要求所述的装置,其中所述刷新地址序列生成器包括异或XOR门,该异或门被配置为通过将所述地址与由所述随机数生成器生成的第一随机数进行异或来随机安排所述存储器位置的所述至少一部分的所述地址的次序。
6.根据权利要求5所述的装置,其中所述刷新地址序列生成器被配置为根据由所述随机数生成器生成的第二随机数重新安排所述存储器位置的所述至少一部分的所述地址的位位置。
7.根据权利要求6所述的装置,其中所述刷新地址序列生成器被配置为通过将所述地址转动由所述第二随机数所指定的位位置数来重新安排所述地址的刷新地址序列的所述位位置。
8.根据权利要求6所述的装置,其中所述刷新地址序列生成器被配置为利用转换矩阵来重新安排所述地址的刷新地址序列的所述位位置,所述转换矩阵指定针对所述第二随机数的每个可能值、原始位位置与被重新安排的位位置之间的映射。
9.根据权利要求1所述的装置,其中所述DRAM具有表示连续刷新周期之间的最大推荐间隔时段的推荐刷新间隔时段,并且所述刷新控制电路被配置为控制所述DRAM以所述推荐刷新间隔时段的一半为间隔周期性地执行所述刷新周期。
10.根据权利要求1所述的装置,其中所述处理电路和所述DRAM被集成在同一片上系统或同一封装上。
11.根据权利要求1所述的装置,其中所述DRAM和所述处理电路具有分开的电源输入。
12.根据权利要求1所述的装置,其中所述处理电路和所述DRAM共享共同的电源输入。
13.根据权利要求1所述的装置,其中当所述刷新地址序列生成器工作在所述随机模式下时,所述刷新控制电路被配置为控制所述DRAM以两倍于所述刷新地址序列生成器工作在所述普通模式下时的刷新频率的频率执行所述刷新周期。
14.根据权利要求1所述的装置,其中所述存储器位置的所述至少一部分包括所述DRAM的全部存储器位置。
15.根据权利要求1所述的装置,其中所述存储器位置的所述至少一部分包括在用于存储保密数据的所述DRAM的安全部分内的存储器位置。
16.一种用于控制动态随机访问存储器DRAM中的数据刷新的装置,包括:
用于存储数据的动态随机访问存储器DRAM装置;
刷新控制装置,用于控制所述DRAM周期性地执行刷新周期用于刷新存储在所述DRAM装置的每个存储器位置中的数据;以及
刷新地址序列生成装置,用于生成地址的刷新地址序列,该刷新地址序列标识所述DRAM装置的存储器位置在所述刷新周期中被刷新的次序;
其中所述刷新地址序列生成装置按照因刷新周期而异的随机次序利用所述存储器位置的至少一部分的地址生成所述刷新地址序列,
其中,所述刷新地址序列生成装置具有普通模式和随机模式,在所述普通模式中,所述刷新地址序列按顺序次序用所述存储器位置的所述至少一部分的所述地址被生成,并且在所述随机模式中,所述刷新地址序列按所述随机次序用所述存储器位置的所述至少一部分的所述地址被生成;
其中,所述刷新地址序列生成装置被配置为当用于执行数据处理的处理装置工作在普通模式下时,工作在所述普通模式下;并且所述刷新地址序列生成装置被配置为当所述处理装置工作在省电模式下时,工作在所述随机模式下。
17.一种用于控制动态随机访问存储器DRAM中的数据刷新的方法,包括以下步骤:
将数据存储在动态随机访问存储器DRAM中;
控制所述DRAM周期性地执行用于刷新存储在所述DRAM的每个存储器位置中的数据的刷新周期;以及
生成地址的刷新地址序列,所述刷新地址序列标识所述DRAM的存储器位置在所述刷新周期期间被刷新的次序;
其中在随机模式下,所述刷新地址序列按照因刷新周期而异的随机次序用所述存储器位置的至少一部分的地址被生成,并且在普通模式下,所述刷新地址序列按照顺序次序用所述存储器位置的所述至少一部分的所述地址被生成;并且
所述刷新地址序列当被配置为执行数据处理的处理电路工作在普通模式下时,在所述普通模式下被生成,并且所述刷新地址序列当所述处理电路工作在省电模式下时,在所述随机模式下被生成。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/366,660 | 2012-02-06 | ||
US13/366,660 US9269418B2 (en) | 2012-02-06 | 2012-02-06 | Apparatus and method for controlling refreshing of data in a DRAM |
GB1203490.6 | 2012-02-29 | ||
GB1203490.6A GB2499053B (en) | 2012-02-06 | 2012-02-29 | Apparatus and method for controlling refreshing of data in a dram |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103246853A CN103246853A (zh) | 2013-08-14 |
CN103246853B true CN103246853B (zh) | 2018-11-06 |
Family
ID=45991891
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310048239.1A Active CN103246853B (zh) | 2012-02-06 | 2013-02-06 | 用于控制dram中的数据刷新的装置和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9269418B2 (zh) |
JP (1) | JP6184703B2 (zh) |
CN (1) | CN103246853B (zh) |
GB (1) | GB2499053B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9269418B2 (en) * | 2012-02-06 | 2016-02-23 | Arm Limited | Apparatus and method for controlling refreshing of data in a DRAM |
US20140108716A1 (en) * | 2012-10-16 | 2014-04-17 | Samsung Electronics Co., Ltd. | Dynamic random access memory for storing randomized data and method of operating the same |
US10534686B2 (en) | 2014-01-30 | 2020-01-14 | Micron Technology, Inc. | Apparatuses and methods for address detection |
US9916261B2 (en) * | 2014-05-19 | 2018-03-13 | Infineon Technologies Ag | Randomized memory access |
CN105280215B (zh) * | 2014-06-09 | 2018-01-23 | 华为技术有限公司 | 动态随机存取存储器dram的刷新方法、设备以及系统 |
JP6630347B2 (ja) | 2014-09-03 | 2020-01-15 | ナントヘルス,インコーポレーテッド | 合成ゲノム変異体ベースの安全なトランザクション装置、システム、及び方法 |
IL234956A (en) * | 2014-10-02 | 2017-10-31 | Kaluzhny Uri | Data bus protection with enhanced key entropy |
US20180113747A1 (en) * | 2014-10-29 | 2018-04-26 | International Business Machines Corporation | Overdrive mode for distributed storage networks |
US20180181332A1 (en) * | 2014-10-29 | 2018-06-28 | International Business Machines Corporation | Expanding a dispersed storage network memory beyond two locations |
US10459792B2 (en) * | 2014-10-29 | 2019-10-29 | Pure Storage, Inc. | Using an eventually consistent dispersed memory to implement storage tiers |
US10095582B2 (en) * | 2014-10-29 | 2018-10-09 | International Business Machines Corporation | Partial rebuilding techniques in a dispersed storage unit |
KR102327076B1 (ko) * | 2014-12-18 | 2021-11-17 | 에스케이하이닉스 주식회사 | 데이터 저장 장치 및 그것의 동작 방법 |
US20160239441A1 (en) * | 2015-02-13 | 2016-08-18 | Qualcomm Incorporated | Systems and methods for providing kernel scheduling of volatile memory maintenance events |
US10063569B2 (en) * | 2015-03-24 | 2018-08-28 | Intel Corporation | Custom protection against side channel attacks |
US9595312B1 (en) * | 2016-03-31 | 2017-03-14 | Altera Corporation | Adaptive refresh scheduling for memory |
CN108073805A (zh) * | 2016-11-15 | 2018-05-25 | 华为技术有限公司 | 一种数据读取方法和存储器 |
CN107017016A (zh) * | 2017-03-30 | 2017-08-04 | 中国科学院计算技术研究所 | 一种防时序侧通道攻击的内存刷新控制方法及装置 |
BR112019021554B1 (pt) * | 2017-04-14 | 2024-02-27 | Huawei Technologies Co., Ltd | Método de renovação de memória, controlador de memória, aparelho de renovação de memória, sistema de computador e meio de armazenamento legível por computador |
JP6780897B2 (ja) | 2017-04-14 | 2020-11-04 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | メモリリフレッシュ技術及びコンピュータシステム |
CN107908980B (zh) * | 2017-10-10 | 2021-11-23 | 芯海科技(深圳)股份有限公司 | 一种存储器数据加密保护的实现方法 |
KR102488636B1 (ko) | 2017-11-23 | 2023-01-17 | 삼성전자주식회사 | 데이터 및 타임스탬프를 암호화하는 암호화 장치, 이를 포함하는 시스템 온 칩, 및 전자 장치 |
CN108319556B (zh) * | 2017-12-28 | 2019-01-18 | 湖北经济学院 | 一种新的面向刷新的内存预取控制器及方法 |
CN108597551B (zh) * | 2018-04-26 | 2020-12-08 | 上海交通大学 | 读密集型大数据处理的内存刷新方法和系统 |
KR102687192B1 (ko) | 2019-02-18 | 2024-07-19 | 삼성전자주식회사 | 메모리 장치 및 시스템 |
CN117524275A (zh) * | 2022-07-29 | 2024-02-06 | 长鑫存储技术有限公司 | 一种刷新控制方法、刷新控制电路和存储器 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042785B2 (en) * | 2003-12-19 | 2006-05-09 | Infineon Technologies, Ag | Method and apparatus for controlling refresh cycles of a plural cycle refresh scheme in a dynamic memory |
US20090113217A1 (en) * | 2007-10-30 | 2009-04-30 | Sandisk Il Ltd. | Memory randomization for protection against side channel attacks |
CN101496342A (zh) * | 2006-07-21 | 2009-07-29 | 日本电气株式会社 | 加密装置、程序及方法 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0766660B2 (ja) | 1985-03-25 | 1995-07-19 | 株式会社日立製作所 | ダイナミツク型ram |
JPS63114000A (ja) * | 1986-10-31 | 1988-05-18 | Nec Corp | ダイナミツク・ランダム・アクセス・メモリの制御方式 |
JP2653689B2 (ja) * | 1987-12-21 | 1997-09-17 | テキサス インスツルメンツ インコーポレイテツド | ランダムアクセスメモリおよびその書込み/読取り方法 |
US5276738A (en) * | 1992-12-17 | 1994-01-04 | Bull Hn Information Systems Inc. | Software data protection mechanism |
FR2700040B1 (fr) * | 1992-12-31 | 1995-02-17 | Gemplus Card Int | Carte à puce avec données et programmes protégés contre le vieillissement. |
US5883814A (en) * | 1997-03-13 | 1999-03-16 | International Business Machines Corporation | System-on-chip layout compilation |
JPH1176566A (ja) * | 1997-09-12 | 1999-03-23 | Heiwa Corp | 遊技機用中央演算処理装置および復号装置ならびに解析装置 |
KR100759257B1 (ko) | 1999-12-06 | 2007-09-17 | 선 마이크로시스템즈 인코포레이티드 | 비 리프레시 디램을 이용한 컴퓨터 장치 |
US9323955B2 (en) | 2000-12-21 | 2016-04-26 | Gemalto Sa | Method for protecting a logic or mathematical operator installed in an electronic module with a microprocessor as well as the associated embedded electronic module and the system |
FR2818847A1 (fr) | 2000-12-26 | 2002-06-28 | St Microelectronics Sa | Circuit logique a polarite variable |
TWI242341B (en) * | 2003-07-07 | 2005-10-21 | Via Tech Inc | Multi-port network interface circuit and related method for scrambling codes of different ports with different seeds and resetting signal transmission of different ports at different time |
EP1587237B1 (en) | 2004-04-16 | 2006-12-13 | Research In Motion Limited | Security countermeasures for power analysis attacks |
KR100604873B1 (ko) | 2004-06-24 | 2006-07-31 | 삼성전자주식회사 | 레지스터 비트값 오류를 인식하여 리프레쉬하는 비트리프레쉬 회로, 이를 구비한 집적회로 장치 및 그 방법 |
JP4551802B2 (ja) * | 2005-03-29 | 2010-09-29 | 株式会社東芝 | プロセッサ、メモリ、コンピュータシステムおよびデータ転送方法 |
JP4709685B2 (ja) * | 2006-04-20 | 2011-06-22 | 富士通エフ・アイ・ピー株式会社 | 擬似乱数生成装置、擬似乱数生成方法および擬似乱数生成プログラム並びに暗号化装置および復号化装置 |
DE102007026977B4 (de) | 2006-06-07 | 2012-03-08 | Samsung Electronics Co., Ltd. | Kryptographisches System und zugehöriges Betriebsverfahren und Computerprogrammprodukt |
JP4984721B2 (ja) * | 2006-07-28 | 2012-07-25 | ソニー株式会社 | データ記憶装置、電力制御方法、並びに、通信装置 |
US20080152142A1 (en) * | 2006-12-20 | 2008-06-26 | Mark Buer | Memory scrambler unit (msu) |
JP4986651B2 (ja) * | 2007-02-16 | 2012-07-25 | ルネサスエレクトロニクス株式会社 | 半導体装置 |
WO2008146393A1 (ja) * | 2007-05-31 | 2008-12-04 | Fujitsu Limited | メモリを試験する方法及び装置並びにdram |
JP2008299611A (ja) * | 2007-05-31 | 2008-12-11 | Toshiba Corp | メモリセキュリティ装置 |
KR101311963B1 (ko) | 2007-08-06 | 2013-09-26 | 삼성전자주식회사 | 파워 어택으로부터 안전하게 데이터를 쓰고 읽을 수 있는반도체 메모리 장치 및 그 방법 |
JP5599559B2 (ja) * | 2008-11-27 | 2014-10-01 | ピーエスフォー ルクスコ エスエイアールエル | 半導体装置及びそのリフレッシュ方法 |
JP2011096309A (ja) * | 2009-10-29 | 2011-05-12 | Elpida Memory Inc | 半導体装置 |
US8775725B2 (en) * | 2010-12-06 | 2014-07-08 | Intel Corporation | Memory device refresh commands on the fly |
US9269418B2 (en) * | 2012-02-06 | 2016-02-23 | Arm Limited | Apparatus and method for controlling refreshing of data in a DRAM |
-
2012
- 2012-02-06 US US13/366,660 patent/US9269418B2/en active Active
- 2012-02-29 GB GB1203490.6A patent/GB2499053B/en active Active
-
2013
- 2013-02-05 JP JP2013020291A patent/JP6184703B2/ja active Active
- 2013-02-06 CN CN201310048239.1A patent/CN103246853B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7042785B2 (en) * | 2003-12-19 | 2006-05-09 | Infineon Technologies, Ag | Method and apparatus for controlling refresh cycles of a plural cycle refresh scheme in a dynamic memory |
CN101496342A (zh) * | 2006-07-21 | 2009-07-29 | 日本电气株式会社 | 加密装置、程序及方法 |
US20090113217A1 (en) * | 2007-10-30 | 2009-04-30 | Sandisk Il Ltd. | Memory randomization for protection against side channel attacks |
Non-Patent Citations (1)
Title |
---|
Security Refresh :Prevent Malicious Wear-out and Increase Durability for Phase-Change Memory with Dynamically Randomized Address Mapping;,Nak Hee Seong ,Dong Hyuk Woo ,Hsien-Hsin S.Lee;《ACM library》;20100630 * |
Also Published As
Publication number | Publication date |
---|---|
JP6184703B2 (ja) | 2017-08-23 |
JP2013161482A (ja) | 2013-08-19 |
GB201203490D0 (en) | 2012-04-11 |
GB2499053A (en) | 2013-08-07 |
US9269418B2 (en) | 2016-02-23 |
US20130205080A1 (en) | 2013-08-08 |
GB2499053B (en) | 2015-12-16 |
CN103246853A (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103246853B (zh) | 用于控制dram中的数据刷新的装置和方法 | |
Qureshi | CEASER: Mitigating conflict-based cache attacks via encrypted-address and remapping | |
US8181042B2 (en) | Low power mode data preservation in secure ICs | |
JP7225220B2 (ja) | 記憶データ暗号化/復号化装置及び方法 | |
Domnitser et al. | Non-monopolizable caches: Low-complexity mitigation of cache side channel attacks | |
US6507913B1 (en) | Protecting smart cards from power analysis with detachable power supplies | |
CN1823275B (zh) | 用于平整化集成电路中的电流消耗的方法和装置 | |
Agrawal et al. | Mosaic: Exploiting the spatial locality of process variation to reduce refresh energy in on-chip eDRAM modules | |
CN102025487B (zh) | 使用所存储的输入值和所存储的计数值的密码密钥生成 | |
US10771236B2 (en) | Defending against a side-channel information attack in a data storage device | |
CN1202478C (zh) | 微处理器设备和操作微处理器设备的方法 | |
CN109643344A (zh) | 用于共享安全性元数据存储器空间的方法和装置 | |
WO2023021452A1 (en) | A method for protecting a dram module against rowhammer attacks, and a dram module | |
Liu et al. | Secure and durable (SEDURA) an integrated encryption and wear-leveling framework for PCM-based main memory | |
CN107017016A (zh) | 一种防时序侧通道攻击的内存刷新控制方法及装置 | |
US20070005895A1 (en) | Cache memory device and microprocessor | |
CN106980799A (zh) | 一种磨损均衡感知的非易失内存加密系统 | |
US9531535B2 (en) | Secure memories using unique identification elements | |
CN107085545A (zh) | 基于Cache的AES算法的安全评估方法和系统 | |
US20240185910A1 (en) | Memory device and method for protecting a memory device from the effect of row hammering | |
Agarwal et al. | Exploiting secrets by leveraging dynamic cache partitioning of last level cache | |
Saraf et al. | Endurance enhancement of write-optimized STT-RAM caches | |
Zhang et al. | Pin tumbler lock: A shift based encryption mechanism for racetrack memory | |
EP2008217B1 (en) | Security storage of electronic keys within volatile memories | |
CN105374389B (zh) | 存储器电路及其刷新方法 |
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 |