CN109686389A - 存储器装置和用于验证存储器访问的方法 - Google Patents

存储器装置和用于验证存储器访问的方法 Download PDF

Info

Publication number
CN109686389A
CN109686389A CN201811208846.9A CN201811208846A CN109686389A CN 109686389 A CN109686389 A CN 109686389A CN 201811208846 A CN201811208846 A CN 201811208846A CN 109686389 A CN109686389 A CN 109686389A
Authority
CN
China
Prior art keywords
memory cell
memory
group
access
storage
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
CN201811208846.9A
Other languages
English (en)
Other versions
CN109686389B (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.)
Infineon Technologies AG
Original Assignee
Infineon Technologies AG
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 Infineon Technologies AG filed Critical Infineon Technologies AG
Publication of CN109686389A publication Critical patent/CN109686389A/zh
Application granted granted Critical
Publication of CN109686389B publication Critical patent/CN109686389B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0604Improving or facilitating administration, e.g. storage management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1006Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/08Word line control circuits, e.g. drivers, boosters, pull-up circuits, pull-down circuits, precharging circuits, for word lines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating
    • G06F16/2365Ensuring data consistency and integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Quality & Reliability (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Static Random-Access Memory (AREA)
  • Read Only Memory (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及存储器装置和用于验证存储器访问的方法。根据一个实施例描述一种存储器装置,所述存储器装置具有:存储器单元阵列,所述存储器单元阵列具有能写入的存储器单元的列和行;存储器控制装置,所述存储器控制装置配置为:发起对一行存储器单元中的第一组存储器单元进行访问;并且与对所述第一组存储器单元进行访问一起,发起对该行存储器单元中的第二组存储器单元进行读取访问,验证电路,所述验证电路配置为,基于:在对所述第二组存储器单元进行读取访问时所读取的值是否与之前由所述第二组存储器单元所存储的值一致,检查对所述第一组存储器单元的访问是否已经对存储器单元的正确的行执行。

Description

存储器装置和用于验证存储器访问的方法
技术领域
实施例大体上涉及一种存储器装置和一种用于验证存储器访问的方法。
背景技术
电子设备在许多应用中必须受保护以防攻击。典型的实例是安全IC、硬件可信根(例如可信平台模块)、芯片卡,其处理和存储机密数据(例如密钥或者密码)或者要防止篡改的数据(例如预付卡上的结存),或者也是控制设备,例如车辆中的控制设备,它们的正确运行对于用户的安全而言是重要的。电子设备的一个可能的攻击点是其存储器,通过对所述存储器的篡改,攻击者能够获悉机密数据或者能够损害电子设备的正确运行。因此,期望有有效的机制来保护电子存储器。
发明内容
根据一个实施方式,提供一种存储器装置,所述存储器装置具有:存储器单元阵列(Speicherzellenfeld),所述存储器单元阵列具有可写入的存储器单元的列和行;存储器控制装置,所述存储器控制装置配置为,发起对一行存储器单元中的第一组存储器单元进行访问,并且与对第一组存储器单元进行访问一起,发起对该行的存储器单元中的第二组存储器单元进行读取访问;和验证电路,所述验证电路配置为,基于:在对第二组存储器单元进行读取访问时所读取的值与之前由第二组存储器单元所存储的值是否相一致,检查:对第一组存储器单元的访问是否对存储器单元的正确的行执行。
根据另一实施方式,提供一种用于验证根据上述存储器装置的存储器访问的方法。
附图说明
附图并未反映实际大小比例,而是要用于说明不同的实施例的原理。在下文中,参照下述附图描述不同的实施例。
图1示出存储器单元阵列。
图2示出根据一个实施方式的存储器装置。
图3示出根据一个实施方式的存储器装置。
图4示出流程图,所述流程图图解说明用于验证存储器访问的方法。
具体实施方式
接下来的详细描述涉及附图,所述附图示出细节和实施例。这些实施例予以详细地描述,使得本领域技术人员能够实施本发明。其它实施方式也是可行的并且所述实施例能够在结构、逻辑和电学方面改变,而不偏离于本发明的主题。不同的实施例不一定互相排斥,而是不同的实施方式能够彼此组合,使得产生新实施方式。在本说明书的范围中,术语“连接”、“联接”以及“耦合”用于描述直接和间接的连接、直接或间接的联接以及直接或间接的耦合。
电子存储器典型地具有存储器单元的点阵(二维区或阵列或者矩阵),其中这些行通过字线寻址而这些列通过位线寻址。
图1示出存储器单元阵列100。
存储器单元阵列具有多个存储器单元101,所述存储器单元以矩阵的形式设置,所述阵列具有存储器单元的列102和存储器单元的行103。
存储器单元的每列102关联有一个位线104,而存储器单元的每行103关联有一个字线105。
通过激活字线105,经由该字线寻址的行103(也就是说,与该字线相关联的行103)的所有(或者一部分)存储器单元能够借助于位线104同时读取或者写入。
行103(和由此字线105)的可单独寻址的最小数量的存储器单元101形成存储字。存储字的长度通常对应于连接到该存储器上的数据总线的宽度,例如8位,即例如八个存储器单元。
因为由存储器单元构成的阵列(Arrays)一方面由于其尺寸可非常容易地在集成电路的布局中看到而另一方面由于其常规规则构造可容易地分析和篡改,所以对于用于安全应用(保密应用)的集成电路,需要在运行时能够验证:数据被写入到正确的、被寻址的存储器单元中,并且存储器单元的状态实际也已改变。
简单回读所写入的数据能够识别出存储器单元阵列的特定的偶发错误。但是,这种途径既无法可靠地识别出电路的持续错误,也无法可靠地识别出主动攻击(例如通过借助于探测针的强制攻击或者通过激光器)。
对于安全应用(例如在汽车领域中)而言,存储器单元阵列能够通过对字线的地址的编码来扩展,以便能够识别出字线的偶发瞬时错误寻址或者在存储器阵列中的永久性缺陷。为此,预先计算的位模式能够永久地添加到存储器单元阵列中。这例如能够通过如下技术,即添加ROM单元,或者通过适当地改变所使用的存储器单元来进行(例如各个存储器单元的缺失触点或者缺失的晶体管)。这些技术虽然实现以预设冗余度识别出故障,但是典型地并不适合于提供对主动攻击的防护。此外,典型地出于效率原因为此而使用的线性码因多个被激活的字线不兼容于逐位的逻辑“与”或者逻辑“或”关系。线性码通常定义为有限域上的矢量空间并且仅关于该矢量空间中的关系映射保持其特性。侵入的攻击者会有针对性地利用在单元阵列的对字线的地址进行编码的部分中的关系映射的不兼容性,以便通过同时激活多个字线来绕过所使用的代码的识别错误的特性。如果被读取的数据不包含用于检查其有效性的其它冗余信息,那么这种攻击是无法识别的。
为了针对保密应用(Security-Anwendungen)能够达到足够高的保护水平,此外期望在附加的ROM单元和存储器单元之间有小部分的交错(Interleaving)。以这种方式能够实现:潜在的攻击者必须篡改单元阵列的许多部位(例如通过针或者激光器),以便成功攻击。如果简单将ROM单元增补到存储器单元行的一端处,那么在相关的字线中仅存在一个对于攻击所必须篡改的部位(即在RAM单元至ROM单元的过渡部处)。但是,RAM单元和ROM单元之间的频繁变换引起显著的附加的面积耗费(Flaechenaufwand),因为在全定制宏中对于存储器单元阵列而言通常必须遵循不同单元类型之间的最小间距,或者也必须设置保护结构(英语是guard structures)。
接下来描述用于针对保密和安全应用可验证地修改存储字的简单且有效的途径,所述途径例如能够用于实施保护机制以保护电子存储器,例如RAM(Random Access Memory(随机存取))存储器、RRAM(电阻式RAM)存储器、FeRAM(铁电RAM)存储器或者电子集成电路中的其他类型的存储器,例如芯片卡(具有任意的形状系数)、控制设备(例如与微控制器连接),例如车辆等中的控制设备等。
根据一个实施方式,存储器控制装置(例如RAM控制器)的硬件实现:存储字的存储器单元的仅一部分被写入和由此被修改(在下文中称为“部分写入”或者英语是“PartialWrite”)。存储字例如对应于存储器单元行103的存储器单元的一部分。典型的实例是具有8位字长(和例如与存储器连接的数据总线的相应宽度)的32位存储器,使得每个存储器行103存储四个字。在此,这些位典型地设置为,使得存储器单元行103的前四个存储器单元101存储第一字、第二字、第三字和第四字的第一位,存储器单元行103的再四个存储器单元101存储第一字、第二字、第三字和第四字的第二位,以此类推。由此,能够将布线保持得相对小。访问各个字典型地在读取时经由复用器204、205进行或者在写入时经由解复用器进行。这在图2中示出。
图2示出根据一个实施方式的存储器装置200。
存储器装置200具有存储器单元阵列,所述存储器单元阵列具有多个存储器单元201,所述存储器单元以矩阵的形式设置,所述矩阵具有存储器单元的列202和存储器单元的行203,如参照图1所描述的那样。
存储器单元的每行203与一个字线相关联,所述字线与该行的存储器单元连接。
存储器单元的每列202与第一位线和第二位线(互补的位线)相关联,所述第一位线和第二位线与该列的存储器单元连接。
该存储器单元阵列在每行203中存储四个字(字0至字3),其中在图2中示出这些存储器单元,所述存储器单元存储所述四个字的第i位和所述四个字的第i+1位。这些字的这些位在此被分配到行203上,使得一行的八个在图2中所示出的存储器单元从左向右存储:字0的第i位、字1的第i位、字2的第i位、字3的第i位、字0的第i+1位、字1的第i+1位、字2的第i+1位、字3的第i+1位。
对于这些字的第i位设置第一MUX/DEMUX(复用器/解复用器)204而对于这些字的第i+1位设置第二MUX/DEMUX 205。
第一MUX/DEMUX 204与这些位线连接,所述位线与存储器单元连接,所述存储器单元存储这些存储字中的一个存储字的第i位,并且第二MUX/DEMUX 205与这些位线连接,所述位线与这些存储器单元连接,所述存储器单元存储这些存储字中的一个存储字的第i+1位。
这两个MUX/DEMUX 204,205可以作为复用器或者解复用器工作并且分别具有用于接收待存储的位的数据输入端和用于输出所读取的位的数据输出端。此外,这两个MUX/DEMUX 204,205分别具有用于选择字的输入端,所述字要在被寻址的行203中读取或写入。
控制装置207通过适当地操控字线和MUX/DEMUX 204,205来控制对存储器的访问。根据一个实施例,控制装置207尤其支持部分写入访问,即对存储字进行写入访问,该写入访问使存储字的一部分不变(例如仅写入位i但是使位i+1不变)。
存储器装置200例如是RAM存储器的一部分。相应地,存储器单元201例如是RAM存储器单元,并且存储器控制装置207例如是RAM控制器。
根据一个实施方式,存储字的在进行部分写入访问时未被修改的存储器单元201的内容被用作基准模式(基准数据或者基准值),以便确保:正确的存储字(即具有正确的地址)的状态已经改变。
存储器装置200例如具有检测电路206(通常为检验机构),所述检测电路知悉基准模式。基准模式由存储字的在进行部分写入访问时未被修改的存储器单元的内容构成。任何这种未被修改的存储器单元的内容在下文中也称为基准值。
检测电路206接收存储字的在进行部分写入访问时未被写入(并且必须正确地存储基准模式)的存储器单元的内容和存储字的在进行部分写入访问时改变的数据。在此,存储字的在进行部分写入访问时未被写入的存储器单元的内容和存储字的在进行部分写入访问时改变的存储器单元的内容通过对存储器阵列的读取访问被一起读取。检测电路206在存储器控制装置207中例如能够要求相应的读取访问。出于效率原因,也能够弃用对所写入的值的回读(Reread),并且替代于此,执行写入访问。在写入访问中,隐含地读取未被写入的值并且与先验已知的基准模式(例如出自更早的读取访问)比较。这这种情况下,所述检查保持局限于未被写入的部位。
所读取的状态与所期望的状态的任何偏差被检测电路206评估为攻击或故障(在安全应用中)。检测电路206例如将在进行部分写入访问时未被写入的存储器单元的内容与基准模式比较,并且当所述内容和基准模式不一致时,输出警报信号。此外,在执行回读的实施方式中,检测电路206将所读取的内容与所写入的值进行比较,以便确保:已对正确的存储器行执行读取访问,其中所述内容在对被写入的存储器单元进行读取访问时已被读取。
因此,根据一个实施方式,已经存在的存储器内容用作基准模式,以进行验证(例如用于检查:写入过程是否已经正确地执行)。尤其是,不必设置附加的存储器单元来存储基准值。这实现了面积上有利的实现方式。
例如,能够使用被加密的存储器内容作为基准模式。由于典型的存储器加密的统计特性,在这种情况下用作基准模式的密文通常是随机的和均匀分布的并且只能困难地预测。由此,产生如下高可能性:能够识别出由攻击者实施的篡改。此外,攻击的可再现性变得困难。
根据一个实施方式,仅使用一类存储器单元。也就是说,分别存储基准值(和因此连同基准模式)的存储器单元和在进行部分写入访问时被写入的存储器单元,是相同类型的。例如,这些存储器单元中的所有存储器单元是易失性存储器单元(并且一部分不是RAM存储器单元而其它是ROM存储器单元)。所有存储器单元例如是RAM存储器单元并且也能够所有都是相同的RAM类型,例如,所有存储器单元是SRAM存储器单元,或者所有存储器单元是DRAM存储器单元,或者所有存储器单元是RRAM存储器单元,或者所有存储器单元是FeRAM存储器单元。
存储器单元例如所有都是同一类型,使得在进行部分写入访问时被写入的存储器单元与存储基准值的存储器单元之间不必遵循特殊的间距,也就是说,与在两个在进行部分写入访问时被写入的存储器单元之间相比或者与在两个存储基准值的存储器单元之间相比,不需要更大的间距。
由此,能够实现在进行部分写入访问时未被写入的存储器单元和在进行部分写入访问时被写入的存储器单元的高程度交错(英语是Interleaving),而不必忍受因不同的存储器单元类型之间的可能的间距或者保护结构(英语是guard structures)引起的昂贵的面积缺点。通过高交错程度,基于有针对性地侵入式篡改字线的攻击明显变得困难。
存储器装置200(和尤其存储器控制装置207)能够实现:同时读取存储器单元行203的一组存储器单元并且同时写入存储器单元行203的另一组存储器单元。在这种实施方式中,在适当地选择基准值(校验位)时,省去了单独的用于读取修改过的存储字的读取访问(回读步骤):在唯一的部分写入访问中,存储字的待修改的存储器单元被写入,而存储基准值的存储器单元被读取。接着,检测电路206能够(通过将已知的所期望的基准模式与所读取的基准模式进行比较)直接验证写入过程的正确执行。
根据不同的实施方式,部分写入访问被实施为,使得没有对在进行部分写入访问时不要修改的存储器单元执行写入过程。例如避免如下实施,在其中如在读取-修改-写入访问(英语是Read-Modify-Write)中常见的那样相关的字的所有存储器单元被写入,其中不应改变的部分事先被读取并且相同地再次被写入,因为这种实施将基准值的写入过程和读取分开为两个存储器访问。也就是说,这种分开可能实现:通过侵入式攻击所引起的读取过程和写入过程被映射到不同的存储字上(例如通过篡改所使用的地址)并且随后可能不再确保:所读取的存储字还是所写入的存储字。
当要写入一个存储字的两个部分字A和B时,这种情况是将(对存储字的一部分的)部分写入访问与对存储字的(至少)另一部分的(同时或者接着的)读取访问组合的一种可行的应用。于是,部分字B的当前值(在写入之前)能够在部分字A改变时作为基准值,用于检查正确的写入过程,反之亦然。为此,部分字A和B的存储器单元例如以适当的方式交错,以便一方面可以对这两个存储字进行部分写入访问,而另一方面能够在唯一的存储器访问中读取修改过的存储器单元并且一起读取未改变的检验单元。在图2的实例中,四个字中的一个字的位i例如可能是第一部分字A的一部分,而该字的位i+1可能是第二部分字B的一部分。
在另一实施例中,在进行部分写入访问时未被写入的存储器单元的内容和在进行部分写入访问时被写入的存储器单元的内容以压缩的形式传输给检验机构,这些内容能够属于存储器单元行的多个不同的存储字。这例如能够通过如下方式实现:相关的存储字的内容通过功能映射(Funktionsabbildung)减小到单个字并且仅将功能评估的结果发送给检验机构。在此,能够通过RAM控制器的硬件执行对功能映射的计算。待计算的功能能够被选择为,使得所述功能具有特定的、适当的特性:例如所述功能被选择为,使得功能评估的结果与所有对于检查而言相关的存储器单元(在进行部分写入访问时被写入的存储器单元和在进行部分写入访问时未被写入的存储器单元)相关,并且使得功能映射不使通过检验机构进行的故障识别的冗余度减少至低于完整性保护措施的所要求的最小值。
在一个实施例中,用作基准值的单义的基准数据通过适当的初始化事先写入存储器单元中。在此,能够在初始化之后一次性完全地读取和检查所写入的基准数据,以便保证:所有被写入的基准数据是不同的并且攻击者在初始化期间未曾创建登录的副本。
在一个实施例中,在上文中所描述的方法途径用于实施破坏性读取(DestructiveRead)机制:在破坏性读取RAM时,出自RAM的数据块被转移到缓存中,并且数据块在此在RAM中被置于无效状态中。以这种方式实现:不编制数据块的隐式副本,所述隐式副本随后可能会被滥用于以重放攻击的方式的攻击。数据块在此是可能多个存储字的逻辑上关联的区域,其完整性借助于附加的冗余信息保护以防篡改。破坏性读取例如能够通过如下方式实施:RAM控制器在读取缓存中的数据块的数据(数据提取)期间通过部分写入访问以可验证的方式改变数据块的冗余信息。缓存能够并行地从数据块的被插入的数据字中重新计算冗余信息,同样通过部分写入应用所述改变并且将这些期望的值与从RAM中读取的经变换的冗余信息进行比较。如果经变换的冗余信息的这两个版本一致,那么由此验证:RAM中的数据块的副本已经以正确的方式置于无效状态中。部分写入机制在此保证:RAM中的正确的数据块已改变到无效状态中。
部分写入访问例如能够借助于位线的预充电(Precharging)来实施。在从存储器单元中读取数据时,位线通过预充电被置于未定义的值(例如既不是0也不是1)。如果此时激活字线并从而例如断开将所属行的存储器单元与位线连接的晶体管,那么存储器单元的当前值确定位线上的值。如果位线已经具有固定的逻辑值并且不执行预充电,那么在该字线的晶体管断开之后通过该存储器单元接收位线的当前值并且该存储器单元被写入。
部分写入访问此时能够按下述方式来实施:在要被读取的存储器单元中,执行位线的预充电。在要被写入的存储器单元中,将所述位线设置到待写入的值。此时如果断开将所述存储器单元与所述位线连接的晶体管,那么根据相应的位线是否已经预充电或者是否设置到固定的待写入的值来同时读取和写入存储器单元。这可以视为选择性的预充电。
此外,在进行部分写入访问时在执行写入过程之前,能够将所述位线上的隐含地待读取的位的先前值取反。以这种方式能够避免:通过攻击预充电步骤(抑制隐含待读取的位线的预充电),能够将出自先前的读取访问的可能仍存储在位线中的先前值用作为用于对另一(错误的)地址的写入过程的新值。这种攻击会抑制在部分写入中隐含的读取访问并且将其转换为写入访问。
综上所述,根据不同的实施方式提供一种存储器装置,如其在图3中所示出的那样。
图3示出根据一个实施方式的存储器装置300。
存储器装置300具有存储器单元阵列,所述存储器单元阵列具有可写入的存储器单元301的列302和行303。
存储器装置300还具有存储器控制装置304,所述存储器控制装置配置为,发起对一行303存储器单元的第一组存储器单元301进行访问,并且与对第一组存储器单元301进行访问一起,发起对该行303存储器单元的第二组存储器单元301进行读取访问。
此外,存储器装置300还具有验证电路305,所述验证电路配置为,基于:在对第二组存储器单元301进行读取访问时所读取的值是否与之前由第二组存储器单元301所存储的值一致,检查对第一组存储器单元301的访问是否已经对存储器单元的正确的行303执行。
根据一个实施方式,与写入或读取一行的第一存储器单元同时,读取该行的第二存储器单元,并且将所读取的内容与第二存储器单元的所期望的内容比较,以便检查:对第一存储器单元和第二存储器单元的访问是否已经对正确的行执行。
验证电路就其而言能够将由存储器单元301存储的值作为基准来存储,例如在这些值作为基准写入第二存储器单元中的情况下,以便所述验证电路接下来能够将所读取的值与所述基准比较。
发起访问例如包括:产生和发送用于相应的字线的激活信号;产生和发送预充电信号,和/或产生和发送用于一个或多个复用器/解复用器(MUX/DEMUX)的操控信号。发起对存储器单元行进行访问不一定必须引起:执行对所述存储器单元行的访问,因为例如由于攻击,例如已经激活错误的字线。因此,能够将验证电路的检查视为:检查访问是否已经如曾发起执行所述访问那样执行。
根据不同的实施方式,执行如下检查方法,所述检查方法基于部分写入访问和对通过部分写入访问保持不变的位的读取访问的组合。读取访问能够是对在进行部分写入访问时所写入的位(和对通过部分写入访问保持不变的位)的回读取访问的一部分。通过部分写入访问保持不变的位作为基准模式用于隐含地验证写入过程和所写入的存储字的地址。
为此,对于检验机构(即在图3的实例中的验证电路305)而言基准模式必须是已知的。在进行部分写入访问时改变的存储器单元并且在进行部分写入访问时保持不变的存储器单元例如在回读取访问时同时借助于单一的存储器访问被读取。如果在进行部分写入访问时改变的存储器单元和在进行部分写入访问时保持不变的存储器单元被分开地读取,那么在此期间可以再次攻击此时被读取的存储器单元的相应的地址。
通过在进行部分写入访问时改变的存储器单元和在进行部分写入访问时保持不变的存储器单元沿着存储器单元的行的小部分交错(Interleaving),能够使基于侵入式攻击对存储器单元装置的字线的攻击明显变得困难。
根据一个实施方式,对第一组存储器单元的访问是读取访问。存储器控制装置例如能够配置为,在对第一组存储器单元进行读取访问之前,执行对第一组存储器单元的写入访问,也就是说,对第一组存储器单元的访问能够是回读(Reread)之前写入的数据。验证电路能够配置为,附加地基于:在对第一组存储器单元进行读取访问时所读取的值是否与在写入访问时所写入的值一致,检查对第一组存储器单元的写入访问是否已经对存储器单元的正确的行执行。
存储器控制装置能够利用标识第二组存储器单元的模式,例如以存储器地址本身来对第二组存储器单元进行预初始化,作为基准或者基准模式,可能结合有:接着回读所有初始化值,以便之后在读取以及写入时(借助于部分写入)能够验证正确的存储器位置。
图4示出流程图400,所述流程图图解说明用于验证存储器访问的方法。
在401中,发起对存储器单元阵列的一行存储器单元中的第一组存储器单元进行访问。
在402中,与对第一组存储器单元进行访问一起,发起对该行存储器单元中的第二组存储器单元进行读取访问。
在403中,基于:在对第二组存储器单元进行读取访问时所读取的值是否与之前由第二组存储器单元所存储的值一致,检查对第一组存储器单元的访问是否已经对存储器单元的正确的行执行。
综上所述,接下来给出一些实施例。
实施例1是存储器装置,如在图3中所示出的那样。
实施例2是根据实施例1的存储器装置,其中对第一组存储器单元的访问是写入访问。
实施例3是根据实施例1的存储器装置,其中第一组存储器单元和第二组存储器单元是存储器单元阵列的存储字的一部分。
实施例4是根据实施例3的存储器装置,其中对第一组存储器单元的写入访问是对存储字的部分写入访问。
实施例5是根据实施例3或4的存储器装置,其中对第一组存储器单元的写入访问是使存储字失效。
实施例6是根据实施例5的存储器装置,其中存储字具有冗余信息,并且所述失效包括:修改存储字,使得用于存储字的冗余信息是无效的。
实施例7是根据实施例3至6中任一项的存储器装置,其中对第一组存储器单元的写入访问是使存储字的冗余信息失效,所述存储字存储在第一组存储器单元中。
实施例8是根据实施例3至7中任一项的存储器装置,其中对第一组存储器单元的写入访问是使存储字的纠错码或者错误识别码失效,所述存储字存储在第一组存储器单元中。
实施例9是根据实施例1至8中任一项的存储器装置,其中存储器单元阵列具有位线和字线,其中每列存储器单元与一个位线相关联而每行存储器单元与一个字线相关联,并且其中存储器控制装置配置为,通过如下方式发起对所述第一组存储器单元进行访问并且一起对所述第二组存储器单元进行读取访问:激活与下述行的存储器单元相关联的字线,该行的存储器单元包括所述第一组存储器单元和所述第二组存储器单元。
实施例10是根据实施例1至9中任一项的存储器装置,其中所述存储器控制装置配置为,针对字线的相同激活,发起对第一组存储器单元进行访问并且对第二组存储器单元进行读取访问。
实施例11是根据实施例1至10中任一项的存储器装置,其中第一组存储器单元中的存储器单元和第二组存储器单元中的存储器单元沿着存储器单元的所述行至少部分地交替。
实施例12是根据实施例1至11中任一项的存储器装置,其中验证电路具有存储器,所述存储器配置为,存储由第二组存储器单元所存储的值。
实施例13是根据实施例1至12中任一项的存储器装置,其中所述存储器控制装置配置为,利用标识第二组存储器单元的模式来对第二组存储器单元进行预初始化。
实施例14是一种用于验证存储器访问的方法,如在图4中所示出的那样。
实施例15是根据实施例14的方法,其中对第一组存储器单元的访问是写入访问。
实施例16是根据实施例14的方法,其中第一组存储器单元和第二组存储器单元是存储器单元阵列的存储字的一部分。
实施例17是根据实施例16的方法,其中对第一组存储器单元的写入访问是对存储字的部分写入访问。
实施例18是根据实施例16或17的方法,其中对第一组存储器单元的写入访问是使存储字失效。
实施例19是根据实施例18的方法,其中存储字具有冗余信息,并且所述失效包括:修改存储字,使得用于存储字的冗余信息是无效的。
实施例20是根据实施例16至19中任一项的方法,其中对第一组存储器单元的写入访问是使存储字的冗余信息失效,所述存储字存储在第一组存储器单元中。
实施例21是根据实施例16至20中任一项的方法,其中对第一组存储器单元的写入访问是使存储字的纠错码或者错误识别码失效,所述存储字存储在第一组存储器单元中。
实施例22是根据实施例14至21中任一项的方法,其中所述存储器单元阵列具有位线和字线,其中每列存储器单元与一个位线相关联,而每行存储器单元与一个字线相关联,并且其中通过如下方式发起对所述第一组存储器单元进行访问并且一起对所述第二组存储器单元进行读取访问:激活与下述行的存储器单元相关联的字线,该行的存储器单元包括所述第一组存储器单元和所述第二组存储器单元。
实施例23是根据实施例14至22中任一项的方法,其中针对字线的相同激活,发起对第一组存储器单元进行访问和对第二组存储器单元进行读取访问。
实施例24是根据实施例14至23中任一项的方法,其中第一组存储器单元中的存储器单元和第二组存储器单元中的存储器单元沿着存储器单元的所述行至少部分地交替。
实施例25是根据实施例14至24中任一项的方法,其中由验证电路执行检查,所述验证电路具有存储器,所述存储器存储由第二组存储器单元所存储的值。
实施例26是根据实施例14至25中任一项的方法,其中利用标识第二组存储器单元的模式来对第二组存储器单元进行预初始化。
应当注意的是,所有在上文中所提到的实施例能够任意彼此组合。
虽然本发明特别参考特定的实施方式示出和描述,但是熟悉本领域的技术人员应当理解的是,能够对所述实施方式在设计和细节方面进行大量改变,而不偏离本发明的如通过接下来的权利要求书限定的本质和范围。本发明的范围因此通过所附的权利要求书确定,并且旨在包括落入权利要求的字面意义和等同范围的所有变化。

Claims (14)

1.一种存储器装置,具有:
存储器单元阵列,所述存储器单元阵列具有能写入的存储器单元的列和行;
存储器控制装置,所述存储器控制装置配置为:
发起对一行存储器单元中的第一组存储器单元进行访问;并且
与对所述第一组存储器单元进行访问一起,发起对该行存储器单元中的第二组存储器单元进行读取访问,
验证电路,所述验证电路配置为,基于:在对所述第二组存储器单元进行读取访问时所读取的值是否与之前由所述第二组存储器单元所存储的值一致,检查对所述第一组存储器单元的访问是否已经对存储器单元的正确的行执行。
2.根据权利要求1所述的存储器装置,其中对所述第一组存储器单元的访问是写入访问。
3.根据权利要求1所述的存储器装置,其中所述第一组存储器单元和所述第二组存储器单元是所述存储器单元阵列的存储字的一部分。
4.根据权利要求3所述的存储器装置,其中对所述第一组存储器单元的写入访问是对所述存储字的部分写入访问。
5.根据权利要求3或4所述的存储器装置,其中对第一组存储器单元的写入访问是使所述存储字失效。
6.根据权利要求5所述的存储器装置,其中所述存储字具有冗余信息,并且所述失效包括:修改所述存储字,使得用于所述存储字的冗余信息是无效的。
7.根据权利要求3至6中任一项所述的存储器装置,其中,对所述第一组存储器单元的写入访问是使所述存储字的冗余信息失效,所述存储字存储在所述第一组存储器单元中。
8.根据权利要求3至7中任一项所述的存储器装置,其中,对所述第一组存储器单元的写入访问是使所述存储字的纠错码或者错误识别码失效,所述存储字存储在所述第一组存储器单元中。
9.根据权利要求1至8中任一项所述的存储器装置,其中所述存储器单元阵列具有位线和字线,其中每列存储器单元与一个位线相关联,而每行存储器单元与一个字线相关联,并且其中所述存储器控制装置配置为,通过如下方式发起对所述第一组存储器单元进行访问并且一起对所述第二组存储器单元进行读取访问:激活与下述行的存储器单元相关联的字线,该行的存储器单元包括所述第一组存储器单元和所述第二组存储器单元。
10.根据权利要求1至9中任一项所述的存储器装置,其中所述存储器控制装置配置为,针对字线的相同激活,发起对所述第一组存储器单元进行访问并且对所述第二组存储器单元进行读取访问。
11.根据权利要求1至10中任一项所述的存储器装置,其中所述第一组存储器单元中的存储器单元和所述第二组存储器单元中的存储器单元沿着存储器单元的所述行至少部分地交替。
12.根据权利要求1至11中任一项所述的存储器装置,其中所述验证电路具有存储器,所述存储器配置为,存储由所述第二组存储器单元所存储的值。
13.根据权利要求1至12中任一项所述的存储器装置,其中所述存储器控制装置配置为,利用标识所述第二组存储器单元的模式来所述第二组存储器单元进行预初始化。
14.一种用于验证存储器访问的方法,所述方法包括:
发起对存储器单元阵列的一行存储器单元中的第一组存储器单元进行访问;
与对所述第一组存储器单元进行访问一起,发起对该行存储器单元中的第二组存储器单元进行读取访问;以及
基于:在对所述第二组存储器单元进行读取访问时所读取的值是否与之前由所述第二组存储器单元存储的值一致,检查对所述第一组存储器单元的访问是否已经对存储器单元的正确的行执行。
CN201811208846.9A 2017-10-18 2018-10-17 存储器装置和用于验证存储器访问的方法 Active CN109686389B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DE102017124313.5A DE102017124313B4 (de) 2017-10-18 2017-10-18 Speicheranordnung und verfahren zum verifizieren eines speicherzugriffs
DE102017124313.5 2017-10-18

Publications (2)

Publication Number Publication Date
CN109686389A true CN109686389A (zh) 2019-04-26
CN109686389B CN109686389B (zh) 2023-08-15

Family

ID=65910151

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811208846.9A Active CN109686389B (zh) 2017-10-18 2018-10-17 存储器装置和用于验证存储器访问的方法

Country Status (3)

Country Link
US (1) US10628084B2 (zh)
CN (1) CN109686389B (zh)
DE (1) DE102017124313B4 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961419A (zh) * 2021-09-24 2022-01-21 北京百度网讯科技有限公司 存储器验证方法、装置、电子设备及存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10449811B2 (en) 2015-06-15 2019-10-22 Infineon Technologies Ag Tire monitoring system and method
DE102021201580A1 (de) 2021-02-18 2022-08-18 Infineon Technologies Ag Speichervorrichtung und Verfahren zum Ändern von Speicherzellen einer Speichervorrichtung

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256838A (zh) * 2007-01-23 2008-09-03 三星电子株式会社 数据验证方法和半导体存储器
CN102347083A (zh) * 2010-07-30 2012-02-08 英飞凌科技股份有限公司 通过内部操作验证进行安全的存储器存储
TW201337927A (zh) * 2011-12-02 2013-09-16 Cypress Semiconductor Corp 用於記憶體驗證的內部資料比較
KR20140018393A (ko) * 2011-05-31 2014-02-12 마이크론 테크놀로지, 인크 데이터 무결성을 제공하기 위한 방법 및 장치

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7020835B2 (en) * 2000-10-19 2006-03-28 Oracle International Corporation Enhancements to data integrity verification mechanism
ITRM20030039A1 (it) * 2003-01-30 2004-07-31 Micron Technology Inc Sblocco di registro di protezione per chip.
US7057939B2 (en) * 2004-04-23 2006-06-06 Sandisk Corporation Non-volatile memory and control with improved partial page program capability
JP2010113765A (ja) * 2008-11-06 2010-05-20 Elpida Memory Inc 半導体記憶装置
CN103703447B (zh) * 2011-05-31 2017-02-08 艾沃思宾技术公司 Mram场的干扰检测和恢复
US20170123721A1 (en) * 2015-10-28 2017-05-04 Sandisk Technologies Inc. System and method for utilization of a data buffer by command completion in parts

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101256838A (zh) * 2007-01-23 2008-09-03 三星电子株式会社 数据验证方法和半导体存储器
CN102347083A (zh) * 2010-07-30 2012-02-08 英飞凌科技股份有限公司 通过内部操作验证进行安全的存储器存储
KR20140018393A (ko) * 2011-05-31 2014-02-12 마이크론 테크놀로지, 인크 데이터 무결성을 제공하기 위한 방법 및 장치
TW201337927A (zh) * 2011-12-02 2013-09-16 Cypress Semiconductor Corp 用於記憶體驗證的內部資料比較

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113961419A (zh) * 2021-09-24 2022-01-21 北京百度网讯科技有限公司 存储器验证方法、装置、电子设备及存储介质
CN113961419B (zh) * 2021-09-24 2022-09-23 北京百度网讯科技有限公司 存储器验证方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
DE102017124313A1 (de) 2019-04-18
CN109686389B (zh) 2023-08-15
DE102017124313B4 (de) 2021-03-18
US10628084B2 (en) 2020-04-21
US20190114111A1 (en) 2019-04-18

Similar Documents

Publication Publication Date Title
US8699714B2 (en) Distributed PUF
JP6794297B2 (ja) 認証装置および認証方法
US7814396B2 (en) Apparatus and method for checking an error recognition functionality of a memory circuit
CN109686389A (zh) 存储器装置和用于验证存储器访问的方法
EP1634299B1 (en) Integrity control for data stored in a non-volatile memory
CN101243450A (zh) 具有非易失性存储模块的电路布置和用于在所述非易失性存储模块上登记攻击的方法
US7788506B2 (en) Method and device for protecting a memory against attacks by error injection
JPH0378054A (ja) ライト・ワンス・リード・ワンス型トークン並びにこれを用いたセキユリテイ・システム及びデバイス
CN103559454B (zh) 数据保护系统和方法
CN106886723A (zh) 存储器装置
EP3136286B1 (en) Data processing system with secure key generation
CN107609427A (zh) 一种eeprom数据的存储方法及系统
EP3203477B1 (en) Semiconductor apparatus and identification method of a semiconductor chip
JP4920680B2 (ja) エラー注入によるアタックに対してメモリを保護する装置
CN108172252B (zh) 存储电路和操作存储电路的方法
US9652232B2 (en) Data processing arrangement and method for data processing
JP5560463B2 (ja) 半導体装置
US10546866B2 (en) Memory arrangement and detection circuit for data protection
US10475520B2 (en) Memory circuit including at least one marking cell and method of operating said memory circuit
US20220261176A1 (en) Storage Device and Method for Modifying Memory Cells of a Storage Device
CN115079943A (zh) 数据存储设备、数据存储设备的信息写入方法和存储介质
CN108804930A (zh) 一种防信息窃取的手机存储系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant