存储器控制器与数据保护方法技术

技术编号:27585361 阅读:17 留言:0更新日期:2021-03-10 09:59
一种存储器控制器与数据保护方法,数据保护方法包含:根据读取指令从第一存储器中取得读取数据;从第二存储器中取得相应于读取数据的多个第一编码;根据多个区间配置与读取数据生成多个第一区间数据;利用多个编码器以汉明重量编码多个第一区间数据,以生成多个第二编码;比较多个第一编码与多个第二编码;在多个第一编码与多个第二编码相同时,输出读取数据;及在任一第一编码与相应的第二编码不同时,不输出读取数据。不输出读取数据。不输出读取数据。

【技术实现步骤摘要】
存储器控制器与数据保护方法


[0001]本专利技术关于数据保护技术,特别是一种提升对错误注入(Fault Injection)保护能力的存储器控制器与数据保护方法。

技术介绍

[0002]习知,攻击者可藉由错误注入(Fault Injection)攻击来窃取电子装置中的数据。错误注入攻击通常会在电子装置中造成错误。例如,透过实体接触到信号线、透过高功率激光或电磁脉冲、或透过电源供应器或其他外部介面造成突波等。
[0003]传统作法中,对于编程码部分一般常使用循环冗余校验(CRC)来进行验证。而储存数据的存储器,例如静态随机存取器(SRAM)、动态随机存取器(DRAM)等则使用同位检查(parity check)来确认数据是否遭到窜改。然而,因同位检查是利用一个位(bit)来储存数据中“0”或“1”的个数是奇数个还是偶数个,如若遇到数据中的两个位皆从“1”窜改为“0”或皆从“0”窜改为“1”时,同位检查则无法检验出来。

技术实现思路

[0004]本专利技术一实施例提供一种数据保护方法。数据保护方法包括:根据读取指令从第一存储器中取得读取数据;从第二存储器中取得相应于读取数据的多个第一编码;根据多个区间配置与读取数据生成多个第一区间数据;利用多个编码器以汉明重量编码多个第一区间数据,以生成多个第二编码;比较多个第一编码与多个第二编码;在多个第一编码与多个第二编码相同时,输出读取数据;及,在任一第一编码与相应的第二编码不同时,不输出读取数据。
[0005]本专利技术一实施例提供一种存储器控制器。存储器控制器包含第一存储器、第二存储器、多个编码器、判断单元以及处理单元。第一存储器用以储存读取数据。第二存储器用以储存相应于读取数据的多个第一编码。处理单元用以根据读取指令自第一存储器中取得读取数据、根据多个区间配置与读取数据生成多个第一区间数据,并利用多个编码器以汉明重量编码多个第一区间数据以生成多个第二编码,处理单元还从第二存储器中取得多个第一编码,并利用判断单元比较多个第一编码与多个第二编码,其中处理单元在判断单元判断多个第一编码与多个第二编码相同时输出读取数据,以及在判断单元判断任一第一编码与相应的第二编码不同时不输出读取数据。
附图说明
[0006]图1为应用本专利技术一实施例的存储器控制器的系统的方块示意图。
[0007]图2为存储器控制器在读取程序中的一实施例的方块示意图。
[0008]图3为本专利技术一实施例的数据保护方法在读取程序部分的流程示意图。
[0009]图4为存储器控制器在写入程序中的一实施例的方块示意图。
[0010]图5为本专利技术一实施例的数据保护方法在写入程序部分的流程示意图。
[0011]100
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
主装置
[0012]200
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
存储器控制器
[0013]210
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第一存储器
[0014]220
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
第二存储器
[0015]231-23n
ꢀꢀꢀꢀꢀ
编码器
[0016]240
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
判断单元
[0017]250
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
处理单元
[0018]300
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
汇流排
[0019]D1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
读取数据
[0020]D11-D1n
ꢀꢀꢀꢀꢀ
第一区间数据
[0021]D2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
写入数据
[0022]D21-D2n
ꢀꢀꢀꢀꢀ
第二区间数据
[0023]E11-E1n
ꢀꢀꢀꢀꢀ
第一编码
[0024]E21-E2n
ꢀꢀꢀꢀꢀ
第二编码
[0025]I1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
读取指令
[0026]I2
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
写入指令
[0027]R1
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
判断结果
[0028]S10-S110
ꢀꢀ
步骤
具体实施方式
[0029]为使本专利技术实施例的目的、特征和优点能更明显易懂,下文配合所附图式,作详细说明如下。
[0030]必须了解的是,使用于本说明书中的「包含」、「包括」等词,是用以表示存在特定的技术特征、数值、方法步骤、作业处理、元件和/或组件,但并不排除可加上更多的技术特征、数值、方法步骤、作业处理、元件、组件,或以上的任意组合。
[0031]“第一”、“第二”等词是用来修饰元件,并非用来表示元件之间的优先顺序或先后关系,而仅用来区别具有相同名字的元件。
[0032]图1为应用本专利技术一实施例的存储器控制器的系统的方块示意图。请参阅图1,系统可包含主装置100以及存储器控制器200。主装置100可透过汇流排300耦接于存储器控制器200,并借由汇流排300与存储器控制器200进行通信。在一些具体实施应用中,汇流排300可例如但不限定于先进高速汇流排(Advanced High performance Bus,AHB)。此外,主装置100可例如但不限于中央处理单元(CPU)。此外,存储器控制器200可为采用集成电路工艺制成的晶片。根据本专利技术其他实施例,一微控制器包括主装置100以及存储器控制器200,其中主装置100为中央处理单元。
[0033]值得注意的是,为了清楚阐述本专利技术,图1为一简化的方块图,其中仅显示出与本专利技术相关的元件。本领域技术人员应了解系统也可能包含其他元件,用以提供特定的功能。
[0034]图2为存储器控制器在读取程序中的一实施例的方块示意图,图4为存储器控制器在写入程序中的一实施例的方块示意图。请参阅图2与图4,存储器控制器200包含至少两个存储器(以下分别称之为第一存储器210与第二存储器220)、多个编码器231-23n、判断单元
240以及处理单元250。处理单元250耦接于第一存储器210、第二存储器220、多个编码器231-23n以及判断单元240。其中,n为大于等于1的正整数。
[0035]值得注意的是,为了清楚阐述本专利技术,图2与图3为一简化的方块图,其中仅显示出与本专利技术相关的元件。本领域技术人员应了解存储器控制器也可能包含其他元件,用以提供特定的功能,因此,本专利技术并不限于图2与图4所示的内容。
[0036]第一存储器210与第二存储器220可用以储存各种数据。在此,第一存储器210可用以储存待读取的至少一读取数据D1。并且,第二存储器220可用以储存各读取数据D1对应的多个第一编码E11-E1n。以下,是以一个读取数据D1与其对应的一组第一编码E11-E1n为例来进行说明,但其数量并不以此为限。例如,当第一存储器210中储存了M个读取数据时,第二存储器220中可储存M组第一编码本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据保护方法,其特征在于,包括:根据一读取指令从一第一存储器中取得一读取数据;从一第二存储器中取得相应于所述读取数据的多个第一编码;根据多个区间配置与所述读取数据产生多个第一区间数据;利用多个编码器以汉明重量编码所述多个第一区间数据,以生成多个第二编码;比较所述多个第一编码与所述多个第二编码;在所述多个第一编码与所述多个第二编码相同时,输出所述读取数据;及在任一所述第一编码与相应的所述第二编码不同时,不输出所述读取数据。2.如权利要求1所述的数据保护方法,其特征在于,还包括:根据一写入指令写入一写入数据至所述第一存储器中,其中所述读取数据为所述写入数据写入至所述第一存储器之后的数据;根据所述多个区间配置与所述写入数据生成多个第二区间数据;利用所述多个编码器以汉明重量编码所述第二区间数据,以生成所述多个第一编码;及将所述多个第一编码储存至该第二存储器中。3.如权利要求1所述的数据保护方法,其特征在于,其中所述读取数据包含多个读取位;其中生成所述第一区间数据的步骤包括:分别根据各所述区间配置以所述读取数据中第一数量个的所述读取位作为所述第一区间数据,且各所述第一区间数据的所述读取位不同于另一所述第一区间数据的所述读取位。4.如权利要求1所述的数据保护方法,其特征在于,其中所述读取数据包含多个读取位;其中生成所述第一区间数据的步骤包括:分别根据各所述区间配置以所述读取数据中第一数量个的所述读取位作为所述第一区间数据,且所述第一区间数据中的至少一者的所述读取位和所述第一区间数据中另一者的所述读取位局部重复。5.如权利要求2所述的数据保护方法,其特征在于,其中所述写入数据包含多个写入位;其中生成所述第二区间数据的步骤包括:分别根据各所述区间配置以所述写入数据中第一数量个的所述写入位作为所述第二区间数据,且所述第二区间数据中至少一者的所述写入位和所述第二区间数据中另一者的所述写入位局部重复。6.一种存储器控制器,其特征在于,包含:一第一存储器,用以储存一读取...

【专利技术属性】
技术研发人员:李钰珊
申请(专利权)人:新唐科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1