存储器装置的制作方法

文档序号:16760717发布日期:2019-01-29 17:41阅读:217来源:国知局
存储器装置的制作方法

实施例普遍涉及存储器装置。



背景技术:

电子设备在大量应用中必须抵御攻击。典型的实例是:芯片卡,所述芯片卡处理和存储秘密数据(例如密钥或密码)或应抵御篡改的数据(例如预付卡上的存款);或还有控制设备,例如在车辆中的控制设备,所述芯片卡或控制设备的正确的功能对于用户的安全是重要的。对电子设备的可能的攻击点是其存储器,通过篡改所述存储器,攻击者能够获知秘密数据或损害电子设备的正确功能。因此,期望用于保护电子存储器的有效机制。



技术实现要素:

根据一个实施方式,提供一种存储器装置,所述存储器装置具有:存储器单元场,所述存储器单元场具有存储器单元列和存储器单元行;位线和字线,其中每列与一个位线相关联,并且每行与一个字线相关联,其中存储器单元列包括:第一列类型的存储器单元列,其设计用于存储有效数据;和第二列类型的存储器单元列,其设计用于存储预设的校验数据。至少第二列类型的存储器单元列的存储器单元设计成并且与位线连接成,使得一个存储器单元列的存储器单元在读访问时将与该列相关联的位线设定成如下值,所述值对应于由该列的存储器单元存储的值的逻辑组合,这些存储器单元属于在读访问时编址的存储器单元行。存储器装置具有探测电路,所述探测电路设计用于:在读访问时探测,是否将与第二列类型的一个存储器单元列相关联的位线设定成如下值,所述值对应于由第二列类型的该存储器单元列的存储器单元存储的值的逻辑组合,并且这些存储器单元的值属于不同的存储器单元行。

附图说明

附图不描绘实际的大小关系,而是应当用于:图解说明不同的实施例的原理。下面,参考下面的附图描述不同的实施例。

图1示出存储器单元场。

图2示出两个存储器单元,所述存储器单元与相同的位线相关联并且与该位线借助于相应的下拉晶体管连接。

图3示出存储器单元场以用于存储校验数据的存储器单元扩展,所述校验数据基于同时激活多个字线。

图4示出两个存储器单元行的实例,所述存储器单元行分别存储预先计算的位模式。

图5示出存储器装置。

下面详细的描述涉及示出细节和实施例的所附的附图。详细地描述所述实施例,使得本领域技术人员能够实施本发明。其他的实施方式也是可行的,并且实施例能够在结构、逻辑和电学方面改变,而没有偏离本发明的主题。不同的实施例不必是相互排斥的,而是能够将不同的实施例彼此组合,使得形成新的实施方式。在本说明书的范围内,术语“连接”、“联接”以及“耦联”用于描述直接的和间接的连接、直接的或间接的联接以及直接的或间接的耦联。

具体实施方式

电子存储器典型地具有存储器单元的点阵(二维场或阵列或矩阵),其中行通过字线编址,并且列通过位线编址。

图1示出存储器单元场100。

存储器单元场具有多个存储器单元101,所述存储器单元以矩阵的形式设置,所述矩阵具有存储器单元列102和存储器单元行103。

每存储器单元列102与一个位线104相关联,并且每存储器单元行103与一个字线105相关联。

通过激活字线105,能够借助于位线104同时读取或写入经由所述字线编址的行103(即与所述字线相关联的行103)的全部存储器单元(或其一部分)。

为了能够实现存储器的尽可能节约空间的结构方式,全部可通过所提出的位线编址的存储器单元(即与一条位线相关联、即与该位线连接的全部存储器单元)能够通过专门的开关技术(“漏极开路”或“线或”)与位线连接。这种开关技术的实例在图2中示出。

图2示出两个存储器单元201、202,所述存储器单元与相同的位线203相关联,并且与位线203借助于相应的下拉晶体管204、205连接。

每个存储器单元202、203还与相应的字线206、207连接。

在该实例中,例如在读访问时,将位线203预充电到高电位上(借助所谓的“预充电(precharge)”),激活字线206、207之一,并且与激活的字线206、207相关联的存储器单元201、202,根据其是否存储1或0,将位线203向下拉(到低电位)或不向下拉。

如果所存储的0例如对应于相应的下拉晶体管204、205的激活,那么存储器单元201、202当其存储0时将位线203拉到低电位上,这随后解释为将0输出到位线203上。

如果现在激活两个字线206、207,那么足够的是:两个存储器单元201、202之一存储0,以便将位线203向下拉。相反,仅当两个存储器单元201、202存储1时,位线203才保持在高电位上。因此,在同时激活多个字线的情况下,将位线203设定成所存储的值的逻辑组合,在该实例中为与组合(因为仅当两个存储器单元201、202都存储1时,位线才保持在1上)。

根据所存储的1和所存储的0与哪个电压电位相关联和是否使用上拉晶体管代替下拉晶体管204、205,也能够得到由存储器单元201、202所存储的值的或组合作为值,将位线203设定成所述值并且所述值由位线203输出。

如参考图2描述的借助于开关技术将多个存储器单元联接到一个位线上允许了晶体管的节约,并且对于存储器阵列的正常运行不示出功能限制。但是,对于攻击者而言,由于在对多个字线同时编址时将存储器内容的逻辑组合输出给一个位线的事实,得到实施特定的攻击的如下可行性:

·如果攻击者在读访问存储器期间通过侵入性攻击同时激活存储器单元场的多个字线(例如,通过借助于探针或借助激光进行强制攻击),那么该开关技术暗含地引起:在位线处读取与该位线相关联的全部同时激活的存储器单元的逻辑关系。如上面阐述的那样,根据开关技术和存储器单元场的结构,该暗含的计算的结果是同时激活(即借助于字线编址)的与该位线相关联的存储器单元的逻辑与组合或者逻辑或组合。

·类似地,攻击者,当其在写访问期间同时激活存储器单元场的多个字线时,将要存储的数据的不期望的拷贝置于存储器单元场中的另外的、未使用的位处。攻击者随后在稍后的时间点在读访问时能够通过激活适当的字线再次播放这种拷贝,并且以该方式产生错误的系统状态(进而执行所谓的“克隆”和“重放”攻击)。以该方式,攻击者能够阻止:例如计数器到期并触发安全警报,所述计数器代表货币价值或者应该识别对pin和密码的暴力攻击。

对于安全应用而言,存储器单元场能够以对字线的地址编码来扩展,以便能够识别字线的偶发瞬态的错误编址或单元场中的永久缺陷。对此,例如将预先计算的位模式永久地插入到单元阵列中。这例如能够通过如在rom存储器单元中的技术或通过对所使用的存储器单元的适当改变(例如,省略接触部或省略个别存储器单元的晶体管)来进行。尽管所述技术能够实现识别具有预设冗余的故障,但典型地不适合于相对于主动攻击者提供保护。此外,典型地出于效率原因而使用的线性码与通过多个激活的字线的按位的逻辑与或者逻辑或的关系不兼容。线性码通常定义为关于有限域的向量空间,并且仅保持其关于该向量空间中的关联映射方面的特性。侵入性攻击者可以有针对性地利用单元场的对字线的地址编码的部分中的关联映射的不兼容性,以便通过同时激活多个字线绕开所使用的代码的识别故障的特性。如果读取的数据不包含任何其他冗余的信息以校验其有效性,则无法识别这种攻击。

因为由存储器单元构成的场(也称为“阵列”)一方面由于其大小可以极其容易地在集成电路的布图中识别,并且另一方面由于其规则的规范结构可以容易地分析和篡改,所以对于用于安全应用的集成电路需要的是,在运行中能够验证:从存储器单元场的正确的、由应用编址的存储器单元中读取数据,或者写入到正确的、编址的存储器单元中。除了校验实际用于读或写的存储器单元的物理地址之外,尤其属于此的还有:抵御通过同时激活存储器单元场中的多个字线进行攻击的机制。

下面描述这种机制,根据实施例,所述机制基于特定的数据模式,所述数据模式例如能够作为固定的(例如rom)模式附于存储器阵列的字线上,并且能够经由附加的位线读取。所述数据模式能够实现:借助用于用信号通知识别到的攻击的报警线路的预设的冗余,可靠地探测同时激活多个字线的攻击。

图3示出存储器单元场以用于存储校验数据、例如代码字或数据模式、用于抵御攻击的存储器单元扩展,所述攻击基于同时激活多个字线。

类似于图1的存储器单元场100,存储器单元场300具有多个存储器单元301,所述存储器单元以矩阵的形式设置,所述矩阵具有存储器单元列302、303和存储器单元行304,其中在该实例中,存储器单元场300包括:用于存储有效数据的第一存储器单元列302(也称作为第一列类型的列)(即能够写入例如“正常的”存储器单元来存储数据,所述“正常”的存储器单元能够正常地使用,例如由电子设备、例如芯片卡或控制设备的处理器正常地使用);和用于存储校验数据的第二存储器单元列303(也称作为第二列类型的列)。每存储器单元列302、303与一个位线305相关联,并且每存储器单元行304与一个字线306相关联。

第二列303能够视作为由第一列302构成的存储器单元场的扩展。换言之,根据一个实施方式,延长存储器单元场的字线并且添加另外的存储器单元和所属的位线。以该方式,能够借助于附加的存储器单元、即第二列303的存储器单元将预先计算的位模式(例如永久地)插入到存储器单元场中。

所述预先计算的位模式能够借助于另外的位线(即与第二列303相关联的位线305)读出。第二列303的存储器单元设计成并且与相关联的位线连接成,使得在同时激活多个字线306时,所述位线经受全部激活的存储器单元的与存储器单元场的其余区域、即与第一存储器单元列302相关联的位线相同的按位的逻辑与或者或关系。

在随后的实例中假设:同时激活的字线的与相同的位线相关联的存储器单元将位线设定成由其存储的按位的逻辑或关系,但是所述位能够类似地用于逻辑与关系。

根据一个实施方式,第二列303的存储器单元存储预先计算的位模式,其中一行304的属于第二列303的全部存储器单元存储预先计算的位模式,即预先计算的位模式属于每个存储器单元行304,并且其中适用的是:

a)全部预先计算的位模式具有相同的汉明权重w>0,以便在无故障的情况下能够实现尽可能有效的识别。

b)如果同时激活两个或更多个字线,那么所得出的模式的汉明权重至少具有w+d,所述所得出的模式从位模式的按位的逻辑或关系中得出,所述位模式属于与激活的字线相关联的存储器单元的行,其中d>0是用于冗余地识别同时激活多个字线的预设的常量。

图4示出两个存储器单元行401、402的实例,所述存储器单元行分别存储预先计算的位模式。

每个存储器单元行401、402具有:第一存储器单元403,所述第一存储器单元组成用于存储有效数据的第一存储器单元列;和用于存储校验数据的第二存储器单元404,所述校验数据在该情况下为6位长的预先计算的位模式。

在该实例中,第一存储器单元行401存储位模式000111,并且第二存储器单元行402存储位模式001011。

根据a),两个位模式具有相同的汉明权重w=3。

根据b),所得出的、从两个位模式的或组合中得出的位模式具有大于3的权重,即4(001111的权重,这是000111和001011的按位的或组合)。

基于a)和b),用于探测基于同时激活多个字线的攻击的、与同第二列相关联的位线连接的探测电路307能够如下设置:所述探测电路在所得出的、由与第二列303相关联的位线输出的位模式中确定具有值1的位的数量x,并且将所述数量与原始预先计算的位模式的汉明权重w比较。如果x>w,那么这指示出同时激活多个字线。

如果例如与图4的实例的第二存储器单元404连接的六个位线提供模式001111,那么探测电路307能够确定:所得出的模式的权重大于预先计算的位模式的权重(4>3),并且能够相应地反应,例如将报警信号经由探测电路307的报警信号输出线路308输出,例如输出给相应的电子设备的处理器或还输出给复位电路,所述复位电路在报警时将电子设备复位(和例如尤其清除存储器)。

值d能够视作为用于识别同时激活多个字线的冗余。攻击者必须在d个位处篡改所得出的模式,以便实现多个字线的同时激活,而没有探测到这种情况。为了整体上实现期望的冗余d(即由存储器和探测电路构成的总系统的期望的冗余),例如能够设有总计d个探测电路(和相应的报警信号输出线路308)。因此,也在探测电路的层面上得到d重冗余。由此,攻击者必须篡改d个探测电路,以便实现多个字线的同时激活,而没有检测到这种情况。

如上面描述的那样基于具有特定权重的预先计算的位模式和确定所得出的(输出)位模式的权重进行的探测能够借助于对得出的位模式进行简单的解码(确定其权重)来实现。因此,探测电路307能够通过用于区分是否同时激活多个字线或单个字线的简单电路来实现。所述电路仅必须确定从存储器单元场的第二列303中读取的位模式的汉明权重,并且与预设的参考值(汉明权重w)进行比较,并且根据比较结果输出报警信号。探测电路的硬件的期望的d重冗余能够通过d重重复电路来实现。

适合于标记存储器场中的附加的单元的位模式能够以简单的方式从线性码中获得。下面,描述用于产生具有期望的特性a)和b)的适合的位模式的通用构造方法。下面的实例基于:逻辑组合是或组合。但是能够以类似的方式确定用于逻辑与关系的位模式,其中在同时激活多个字线时所得出的位模式的汉明权重相对于预先计算的位模式的汉明权重相应地降低。

下面描述的构造方法一方面证明适当的位模式的存在,所述位模式满足a)和b),并且另一方面提供用于适合于标记字线的位模式的长度的上限。

如果给出关于长度为n、维度为k和冗余为d的gf2(具有两个元素的有限域)的线性(n,k,d)码。那么存在用于标记字线的2k个长度为2n的位模式的(2n,k,d)位模式集,使得能够以d重冗余识别多个字线的同时激活:如果x=(xn,……,x1)是线性码的代码字,那么通过y=(yn,……,y1)给出所属的位模式y,其中适用的是:对于1≤i≤n,如果xi=0,则yi=01,和如果xi=1,则yi=10。

如果存储器单元场的每行用以该方式生成的位模式y标记,那么所有标记位模式y在构造之后具有汉明权重hw(y)=n。所使用的线性码的特性还确保,区分在至少d个位对yi处的两个不同的位模式。如果现在同时激活至少两个字线,那么在至少d个位处,将位对“01”和“10”通过逻辑或关系改变为“11”模式。由此,所得到的位模式的汉明权重至少增大所要求的数值d。

相反地,在假设长度为n的标记模式包含刚好e个位1和(n-e)个位0的情况下,适用的是:对于每个具有冗余d的标记模式y,为了识别多个激活的字线,存在至少由具有e个1和(n-e)个0的u(n,e,d)模式构成的环境,所述环境不能够用作为标记模式,因为所述环境在小于d个位中与标记模式y不同。因此能够确定用于根据本发明的标记模式的长度n的下限。

如果考虑具有固定数量的具有值1的位的全部位序列的集,那么得到用于标记字线的位模式的实例。因此,例如集

m={000111,001011,001101,001110,010011,010101,010110,011001,011010,011100,100011,100101,100110,101001,101010,101100,110001,110010,110100,111000}的16个任意的元素得到各一个(6,4,1)标记模式。各两个模式在至少一个位置处不同。普遍适用的是,这种位模式必须满足不等式

在另一实施例中,将出自集m中的16个元素选择成,使得实现对标记的字线的地址的尽可能简单的解码,即每个字线以简单的方式一对一地与一个位模式相关联,所述位模式能够以有效的方式实现从m中的相关联的标记模式的值中重建激活的字线的地址:集m例如包含14个模式000111,001011,001101,010011,010101,011001,011100,100011,100101,101001,101100,110001,110100,111000,所述模式的高4位示出其用于次序的按照二进制表示的序列号,这些模式以该次序给出。对于16个位模式,能够为第0个位模式和第15个位模式从集m的剩余的6个元素中选择两个任意模式。于是用于字线的地址的解码器仅还必须识别对于0和15的特殊情况。在全部其他情况下,所述解码器输出位模式的高4位。标记模式在该情况下同样形成用于识别多个字线同时激活的(6,4,1)模式,所述模式附加地能够实现从相关联的位模式中简单地确定字线的地址。

在另一实施例中,通过重复标记位模式来提高抵抗侵入式故障攻击的冗余。例如,如果考虑m中的位模式的4元组,那么能够以该方式发现长度为24的272个位模式,其中所述4元组具有如下特性:各两个4元组在m中的四个位模式中的至少三个处不同。所述位模式因此形成(24,8,3)位模式集。上面描述的构造方法为关于gf2的线性(12,8,3)码同样提供长度为24的标记模式作为上限。

通过重复位标记模式,能够将用于对地址有效解码的技术与用于识别多个同时激活的字线的特性组合。

综上所述,根据不同的实施方式,提供如在图5中示出的存储器装置。

图5示出存储器装置500。

存储器装置500具有存储器单元场,所述存储器单元场具有存储器单元501的列502、503和行504、位线505和字线506,其中每列502、503与一个位线505相关联,并且每行504与一个字线506相关联。

存储器单元列502、503包括:第一列类型502的存储器单元列,其设计用于存储有效数据;和第二列类型503的存储器单元列,其设计用于存储校验数据。

至少第二列类型503的存储器单元列的存储器单元设计成并且与位线505连接成,使得一个存储器单元列502、503的存储器单元501在读访问时将与列503相关联的位线设定成如下值,所述值对应于由列503的存储器单元501存储的值的逻辑组合,所述存储器单元属于在读访问时编址的存储器单元行。

存储器装置还具有探测电路507,所述探测电路设计成,在读访问时探测:是否将与第二列类型503的一个存储器单元列相关联的位线505设定成如下值,所述值对应于由第二列类型503的该存储器单元列的存储器单元存储的值的逻辑组合,并且这些存储器单元的值属于不同的存储器单元行。

换言之,根据不同的实施方式,在存储器单元场中设置具有校验信息的存储器单元,其中所述存储器单元场的存储器单元构成为并且联接到位线上,使得在同时激活多个字线时,即在对不同行的存储器单元同时编址时,在每个位线处输出与所述位线连接的编址的存储器单元的内容的逻辑组合。根据之前已知的校验信息,探测电路能够校验:在读访问或写访问时,是否同时激活多个字线。

逻辑组合例如是(按位的)与组合(即与关系)或者(按位的)或组合(即或关系)。根据不同的实施例,直观地,使用逻辑关系与或者或的单调性,以便通过根据一个实施方式一对一地与存储器阵列的字线相关联的预先计算的模式的按位的关系,实现所得出的位模式的汉明权重的改变。在此,在多重激活字线的情况下,通过相应的位模式的逻辑或关系,将结果的汉明权重至少提高值d。在逻辑与关系的情况下,至少降低值d。

预设的校验数据例如在安全的环境中存储在第二列类型的存储器单元列的存储器单元中。例如,校验数据能够在制造过程中非易失地且可能甚至不可覆写地存储在第二列类型的存储器单元列的存储器单元中。

存储器装置提供用于电子存储器的保护机制,并且能够用于保护不同类型的电子存储器。例如,存储器单元ram(随机存取存储器)存储器单元、闪存存储器单元、rram(电阻式随机存储器)存储器单元和feram(铁电随机存储器)存储器单元。

存储器装置例如能够是具有另外的存储器部件、例如地址解码器等的存储器的一部分。存储器能够设置在电子设备中,例如设置在芯片卡(具有任意的形状因素)、控制设备(例如与微控制器连接)中,例如设置在车辆中等。

下面,总结地说明一些实施例。

实施例1是如在图5中示出的存储器装置。

实施例2是根据实施例1的存储器装置,其中探测电路具有报警线路并且设计用于:如果将分别与第二列类型的一个存储器单元列相关联的一个或多个位线在读访问时设定成如下值,所述值对应于由第二列类型的该存储器单元列的存储器单元所存储的值的逻辑组合,并且这些存储器单元的值属于不同的存储器单元行,那么经由报警线路输出报警信号。

实施例3是根据实施例1或2的存储器装置,其中校验数据针对每一存储器单元行具有预设的位模式,其中该存储器单元行的第二列类型的存储器单元列的存储器单元设计用于:存储预设的位模式。

实施例4是根据实施例1至3之一的存储器装置,其中探测电路设计用于探测:是否将与第二列类型的存储器单元列相关联的位线所处的位模式设定成所得出的位模式,所述所得出的位模式对应于不同的存储器单元行的位模式的逻辑组合。

实施例5是根据实施例4的存储器装置,其中探测电路具有报警线路并且设计用于:如果所得出的位模式对应于不同的存储器单元行的位模式的逻辑组合,那么经由报警线路输出报警信号。

实施例6是根据实施例4或5的存储器装置,其中预设的位模式分别具有预设的汉明权重,并且探测电路设计用于:基于所得出的位模式的汉明权重来校验,所得出的位模式是否对应于不同的存储器单元行的位模式的逻辑组合。

实施例7是根据实施例4至6之一的存储器装置,其中两个不同行的预设的位模式在至少对应于预设的冗余值的数量的位置上不同。

实施例8是根据实施例7的存储器装置,其中存储器装置具有与预设的冗余值一样多的探测电路。

实施例9是根据实施例1至8之一的存储器装置,其中第二列类型的存储器单元列的存储器单元是非易失性存储器单元。

实施例10是根据实施例1至9之一的存储器装置,其中第二列类型的存储器单元列的存储器单元是只读存储器单元。

实施例11是根据实施例1至10之一的存储器装置,其中第一列类型的存储器单元列的存储器单元是易失性存储器单元。

实施例12是根据实施例1至11之一的存储器装置,其中探测电路设计用于:基于关于校验数据与存储器单元行的关联性的信息确定,在读访问时激活一个或多个哪个字线。

应当注意的是:全部上述实施例能够彼此任意地组合。

虽然尤其参考特定的实施方式示出和描述了本发明,但是本领域技术人员应该理解,在不脱离本发明的如通过说明书限定的范围和构思的情况下,可以关于设计方案和细节进行许多改变。因此,本发明的范围由说明书确定,并且意在涵盖落入说明书的字义或等价范围中的全部变化。

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