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

技术编号:14547929 阅读:174 留言:0更新日期:2017-02-04 19:26
本发明专利技术提供了一种一次性可编程存储器芯片,所述存储器芯片包括:控制器,用于获取一个数据块的一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;第一随机存取存储器,分别与所述控制器,加/解密引擎,数据完整性检测器和数据纠错器连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,补充循环冗余校验码和纠错码;控制器,与第一随机存取存储器连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器。所述一次性可编程存储器芯片提高了芯片的利用率和保证了OTP数据的可靠性。

【技术实现步骤摘要】

本专利技术涉及安全系统芯片领域,尤其涉及一种一次性可编程存储器芯片和一次性可编程存储器芯片的控制方法。
技术介绍
随着现今技术的发展,人们都注意到身边信息安全的重要性。各种安全技术运用在金融、手机、互联网等我们身边的产品上。安全SOC(SystemonChip,片上系统)芯片在安全产品中扮演者重要的角色,应用在数字签名、电子商务、手机支付等领域,所以保护安全芯片的存储内容就显的特别重要,尤其是一些保存私密信息、密钥等的存储器模块的保护就更加重要。由于这些私密信息、密钥等一般存储在OTP(OneTimeProgram,一次性编程)存储器中,且OTP存储器本身具有只能由0写到1,具有不可逆的特性,因此在物理实现上,可以通过在OTP存储器上面覆盖防篡改电路预防。在逻辑设计上,一是使用存储器保护单元(MemoryProtectUnit,MPU)限制主机的访问权限来保护OTP,防止主机非法访问,二是从OTP控制器的设计上考虑,硬件限制存储器的访问,防止主机非法访问,导致重要信息泄露,例如中央处理器单元(CentralProcessorUnit,CPU)只有在特权模式对OTP进行编程,及对OTP进行编程需要输入口令,当口令正确时才能进行编程。但是上述两种防范OTP被篡改的方式,无法防止直接攻击OTP存储器,OTP内容被窃取,OTP掉电值容易被更改,及发生OTP编程错误后,错误数据无法被纠正且使用。
技术实现思路
本专利技术的目的旨在至少解决上述技术缺陷之一,提供一种一次性可编程存储器芯片和一次性可编程存储器芯片的控制方法。本专利技术提供一种一次性可编程存储器芯片,所述存储器芯片包括:一次性可编程存储器;控制器,用于接收或输出一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;加/解密引擎,与所述控制器连接,用于根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将所述密文数据写入第一随机存取存储器;数据完整性检测器,与所述控制器连接,用于根据所述第二调用信号,从第一随机存取存储器中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器;数据纠错器,与所述控制器连接,用于根据所述第三调用信号,从第一随机存取存储器中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器;第一随机存取存储器,分别与所述控制器,加/解密引擎,数据完整性检测器和数据纠错器连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,补充循环冗余校验码和纠错码;控制器,与第一随机存取存储器连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器。从上述芯片的方案可以看出,通过数据纠错器对OTP数据进行纠错,在允许的纠错能力下,即使有错误,数据纠错器也可以纠错,使得芯片使用的数据仍然是正确的数据,提高了芯片的利用率。另外完整性检测器可以保证了数据存储的顺序及数值是否被更改,保证了OTP数据的可靠性。本专利技术还提供一次性可编程存储器芯片的控制方法,所述控制方法包括以下步骤:控制器用于获取一个数据块的一次性可编辑明文数据,并输出第一调用信号,其中每个数据块包括密文数据、循环冗余校验码和纠错码;加/解密引擎根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将密文数据写入第一随机存取存储器;控制器输出第二调用信号;数据完整性检测器根据所述第二调用信号,从第一随机存取存储器中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器;控制器输出第三调用信号;数据纠错器根据所述第三调用信号,从第一随机存取存储器中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器;控制器将第一随机存取存储器中存储的全部数据作为每个数据块的编程数据写入所述一次性可编程存储器。从上述方法的方案可以看出,通过数据纠错器对OTP数据进行纠错,在允许的纠错能力下,即使有错误,数据纠错器也可以纠错,使得芯片使用的数据仍然是正确的数据,提高了芯片的利用率。另外完整性检测器可以保证了数据存储的顺序及数值是否被更改,保证了OTP数据的可靠性。附图说明图1为本专利技术一次性可编程存储器芯片一种实施例的结果示意图;图2为本专利技术的数据存储结构示意图;图3为本专利技术一次性可编程存储器芯片的控制方法一种实施例的流程图;图4为本专利技术一次性可编程存储器芯片的控制方法另一种实施例的流程图。具体实施方式为了使本专利技术所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。本专利技术提供一种实施例的一次性可编程存储器芯片,如图1所示,所述存储器芯片包括:一次性可编程存储器即OTP存储器108;控制器101,用于接收或输出一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;加/解密引擎102,与所述控制器101连接,用于根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将所述密文数据写入第一随机存取存储器106;数据完整性检测器104,与所述控制器101连接,用于根据所述第二调用信号,从第一随机存取存储器106中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器106;数据纠错器103,与所述控制器101连接,用于根据所述第三调用信号,从第一随机存取存储器106中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器106;第一随机存取存储器(RAM1)106,分别与所述控制器101,加/解密引擎102,数据完整性检测器104和数据纠错器103连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,循环冗余校验码和纠错码;控制器101,与第一随机存取存储器106连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器108。在具体实施,一次性可编程存储器芯片主要完成与外部总线接口的通信,在编程操作、读操作和自检操作过程中,调用加/解密引擎102、数据纠错器103和数据完整性检测器104来保证通信数据的安全性。其中,加/解密引擎102在OTP编程操作时完成对OTP(OneTimeProgram,一次性编程)明文数据的加密,在读OTP存储器108时对OTP密文数据进行解密。数据纠错单元采用BCH(Bose、Ray-Chaudhuri与Hocquenghem的缩写)算法,在OTP编程操作时,对密文数据、CRC值本文档来自技高网...

【技术保护点】
一种一次性可编程存储器芯片,其特征在于: 所述存储器芯片包括:一次性可编程存储器;控制器,用于接收或输出一个数据块的一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;加/解密引擎,与所述控制器连接,用于根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将所述密文数据写入第一随机存取存储器;数据完整性检测器,与所述控制器连接,用于根据所述第二调用信号,从第一随机存取存储器中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器;数据纠错器,与所述控制器连接,用于根据所述第三调用信号,从第一随机存取存储器中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器;第一随机存取存储器,分别与所述控制器,加/解密引擎,数据完整性检测器和数据纠错器连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,补充循环冗余校验码和纠错码;控制器, 与第一随机存取存储器连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器。

【技术特征摘要】
1.一种一次性可编程存储器芯片,其特征在于:所述存储器芯片包括:
一次性可编程存储器;
控制器,用于接收或输出一个数据块的一次性可编辑明文数据,并输出第一调用信号、第二调用信号和第三调用信号;
加/解密引擎,与所述控制器连接,用于根据所述第一调用信号,读取所述一次性可编辑明文数据,并对所述明文数据进行加密得到密文数据,以及将所述密文数据写入第一随机存取存储器;
数据完整性检测器,与所述控制器连接,用于根据所述第二调用信号,从第一随机存取存储器中读取所述密文数据,并对密文数据进行计算得到循环冗余校验码并写入第一随机存取存储器;
数据纠错器,与所述控制器连接,用于根据所述第三调用信号,从第一随机存取存储器中读取所述密文数据和循环冗余校验码,并对所述密文数据和循环冗余校验码进行计算得到纠错码并写入第一随机存取存储器;
第一随机存取存储器,分别与所述控制器,加/解密引擎,数据完整性检测器和数据纠错器连接,用于存储每个数据块中一次性可编辑明文数据加密后的密文数据,补充循环冗余校验码和纠错码;
控制器,与第一随机存取存储器连接,还用于将第一随机存取存储器中存储的全部数据作为编程数据写入所述一次性可编程存储器。
2.如权利要求1所述的存储器芯片,其特征在于:所述存储器芯片还包括第一选择器,分别与所述第一随机存取存储器,加/解密引擎,数据完整性检测器和数据纠错器,用于对第一随机存取存储器中的密文数据,循环冗余校验码和纠错码进行输出。
3.如权利要求2所述的存储器芯片,其特征在于:所述存储器芯片还包括与一次性可编程存储器连接的第二随机存取存储器。
4.如权利要求3所述的存储器芯片,其特征在于:控制器还用于当获取到芯片的复位信号时,将一次性可编程存储器中的编程数据写入到第二随机存取存储器中,输出第四调用信号至所述数据纠错器;
所述数据纠错器,还用于根据第四调用信号,从第二随机存取存储器中读取所述编程数据的密文数据和循环冗余校验码,并对密文数据和循环冗余校验码进行纠错,以及将纠错后的数据对第二随机存取存储器中数据进行覆盖并将覆盖成功信号输出所述控制器;
控制器还用于获取到覆盖成功信号时,输出第五调用信号至数据完整性检测器;
数据完整性检测器还用于根据第五调用信号,从第二随机存取存储器中读取所述编程数据的密文数据和循环冗余校验码,并对密文数据和循环冗余校验码进行完整性检测,以及将检测成功信号输出所述控制器;
控制器还用于根据所述检测成功信号,允许主机访问所述第二随机存取存储器。
5.如权利要求4所述的存储器芯片,其特征在于:控制器还用于当获取到覆盖失败信号或检测失败信号时,芯片锁死。<...

【专利技术属性】
技术研发人员:陶玉茂张浩王良清
申请(专利权)人:深圳国微技术有限公司
类型:发明
国别省市:广东;44

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

1