一种一次性可编程存储器芯片和及其的控制方法

文档序号:9751214阅读:1192来源:国知局
一种一次性可编程存储器芯片和及其的控制方法
【技术领域】
[0001]本发明涉及安全系统芯片领域,尤其涉及一种一次性可编程存储器芯片和一次性可编程存储器芯片的控制方法。
【背景技术】
[0002]随着现今技术的发展,人们都注意到身边信息安全的重要性。各种安全技术运用在金融、手机、互联网等我们身边的产品上。安全SOCXSystem on Chip,片上系统)芯片在安全产品中扮演者重要的角色,应用在数字签名、电子商务、手机支付等领域,所以保护安全芯片的存储内容就显的特别重要,尤其是一些保存私密信息、密钥等的存储器模块的保护就更加重要。
[0003]由于这些私密信息、密钥等一般存储在0TP(0ne Time Program,一次性编程)存储器中,且OTP存储器本身具有只能由O写到I,具有不可逆的特性,因此在物理实现上,可以通过在OTP存储器上面覆盖防篡改电路预防。在逻辑设计上,一是使用存储器保护单元(Memory Protect Unit,MPU)限制主机的访问权限来保护0ΤΡ,防止主机非法访问,二是从OTP控制器的设计上考虑,硬件限制存储器的访问,防止主机非法访问,导致重要信息泄露,例如中央处理器单元(Central Processor Unit,CPU)只有在特权模式对OTP进行编程,及对OTP进行编程需要输入口令,当口令正确时才能进行编程。
[0004]但是上述两种防范OTP被篡改的方式,无法防止直接攻击OTP存储器,OTP内容被窃取,OTP掉电值容易被更改,及发生OTP编程错误后,错误数据无法被纠正且使用。

【发明内容】

[0005]本发明的目的旨在至少解决上述技术缺陷之一,提供一种一次性可编程存储器芯片和一次性可编程存储器芯片的控制方法。
[0006]本发明提供一种一次性可编程存储器芯片,所述存储器芯片包括:
一次性可编程存储器;
控制器,用于接收或输出一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;
加/解密引擎,与所述控制器连接,用于根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将所述密文数据写入第一随机存取存储器;
数据完整性检测器,与所述控制器连接,用于根据所述第二调用信号,从第一随机存取存储器中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器;
数据纠错器,与所述控制器连接,用于根据所述第三调用信号,从第一随机存取存储器中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器; 第一随机存取存储器,分别与所述控制器,加/解密引擎,数据完整性检测器和数据纠错器连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,补充循环冗余校验码和纠错码;
控制器,与第一随机存取存储器连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器。
[0007]从上述芯片的方案可以看出,通过数据纠错器对OTP数据进行纠错,在允许的纠错能力下,即使有错误,数据纠错器也可以纠错,使得芯片使用的数据仍然是正确的数据,提高了芯片的利用率。另外完整性检测器可以保证了数据存储的顺序及数值是否被更改,保证了 OTP数据的可靠性。
[0008]本发明还提供一次性可编程存储器芯片的控制方法,所述控制方法包括以下步骤:
控制器用于获取一个数据块的一次性可编辑明文数据,并输出第一调用信号,其中每个数据块包括密文数据、循环冗余校验码和纠错码;
加/解密引擎根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将密文数据写入第一随机存取存储器;
控制器输出第二调用信号;
数据完整性检测器根据所述第二调用信号,从第一随机存取存储器中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器;
控制器输出第三调用信号;
数据纠错器根据所述第三调用信号,从第一随机存取存储器中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器;
控制器将第一随机存取存储器中存储的全部数据作为每个数据块的编程数据写入所述一次性可编程存储器。
[0009]从上述方法的方案可以看出,通过数据纠错器对OTP数据进行纠错,在允许的纠错能力下,即使有错误,数据纠错器也可以纠错,使得芯片使用的数据仍然是正确的数据,提高了芯片的利用率。另外完整性检测器可以保证了数据存储的顺序及数值是否被更改,保证了 OTP数据的可靠性。
【附图说明】
[0010]图1为本发明一次性可编程存储器芯片一种实施例的结果示意图;
图2为本发明的数据存储结构示意图;
图3为本发明一次性可编程存储器芯片的控制方法一种实施例的流程图;
图4为本发明一次性可编程存储器芯片的控制方法另一种实施例的流程图。
【具体实施方式】
[0011]为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0012]本发明提供一种实施例的一次性可编程存储器芯片,如图1所示,所述存储器芯片包括:
一次性可编程存储器即OTP存储器108;
控制器101,用于接收或输出一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;
加/解密引擎102,与所述控制器101连接,用于根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将所述密文数据写入第一随机存取存储器106;
数据完整性检测器104,与所述控制器101连接,用于根据所述第二调用信号,从第一随机存取存储器106中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器106;
数据纠错器103,与所述控制器101连接,用于根据所述第三调用信号,从第一随机存取存储器106中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器106;
第一随机存取存储器(RAM1H06,分别与所述控制器101,加/解密引擎102,数据完整性检测器104和数据纠错器103连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,循环冗余校验码和纠错码;
控制器101,与第一随机存取存储器106连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器108。
[0013]在具体实施,一次性可编程存储器芯片主要完成与外部总线接口的通信,在编程操作、读操作和自检操作过程中,调用加/解密引擎102、数据纠错器103和数据完整性检测器104来保证通信数据的安全性。其中,加/解密引擎102在OTP编程操作时完成对0TP(0neTime Program,一次性编程)明文数据的加密,在读OTP存储器108时对OTP密文数据进行解密。数据纠错单元采用BCH(Bose、Ray_Chaudhuri与Hocquenghem的缩写)算法,在OTP编程操作时,对密文数据、CRC值计算出BCH值,而在OTP自检过程中对每个数据块进行纠错,将纠错结果覆盖原来错误的数据,如果不能够纠错,则复位死锁系统。数据完整性检测其采用CRCCCyclic Redundancy Check,循环冗余校验)算法,在OTP编程操作时,对OTP密文数据计算CRC值,而在OTP自检过程中对每个数据块的密文数据、CRC值进行完整性检测,如果完整性检测失败,则复位死锁系统。另外,
从上述一次性可编程存储器芯片的方案可以看出,通过数据纠错器对OTP数据进行纠错,在允许的纠错能力下,即使有错误,数据纠错器也可以纠错,使得芯片使用的数据仍然是正确的数据
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1