本发明属于集成电路存储器技术领域,特别是一种普通存储器otp实现方法及由此方法获得的存储器。
背景技术:
在集成电路中,需要用到各种各样的存储器。按照允许烧写的次数可以分为不限烧写次数的普通存储器和一次性可编程(otp,onetimeprogrammable)存储器,即otp存储器。
otp存储器更为常用。常用于存储用户密钥、重要id等安全相关的关键数据。
然而,现有otp存储器与普通存储器相比,结构复杂,价格昂贵。
因此,现有技术存在的问题是:如何能以结构简单、造价便宜的普通存储器实现与otp存储器相同的功能,从而降低造价,简化流片选择难度。
技术实现要素:
本发明的目的在于提供一种普通存储器otp实现方法,使普通存储器具备一次性可编程功能。
本发明的另一目的在于提供一种存储器,由普通存储器简单改造而成,具备一次性可编程功能,且结构简单,造价低廉。
实现本发明目的的技术解决方案为:
一种普通存储器otp实现方法,包括如下步骤:
(10)存储空间划分:将普通存储器的存储空间划分成专用空间和普通空间,专用空间用于存放存储器可烧写次数,普通空间用于存放关键数据,包括用户密钥;
(20)专用空间配置:将专用空间中存放的存储器可烧写次数n配置为1;
(30)烧写控制:有待烧写数据时,根据专用空间中存放的存储器可烧写次数n,确定是否允许本次烧写;
(40)数据读写:当允许本次烧写时,将待烧写数据通过读写端口写入存储器对应的地址中,并将专用空间中存放的存储器可烧写次数n减一。
实现本发明另一目的的技术解决方案为:
一种存储器,包括普通存储器1、烧写控制模块2和数据读写模块3;
所述普通存储器1的存储空间划分成专用空间和普通空间;
所述烧写控制模块2的读、写端口与普通存储器1的专用空间相连,其读、写控制端口与数据读写模块3的读、写使能端口相连;
所述数据读写模块3的读、写端口与普通存储器1的普通空间相连;
所述普通存储器1的专用空间用于存放存储器可烧写次数,存储器可烧写次数n被配置为1,普通空间用于存放关键数据,包括用户密钥;
所述烧写控制模块2用于在有待烧写数据时,根据专用空间中存放的存储器可烧写次数n,确定是否允许本次烧写;
所述数据读写模块3用于当允许本次烧写时,将待烧写数据通过读写端口写入存储器对应的地址中,并将专用空间中存放的存储器可烧写次数n减一。
本发明与现有技术相比,其显著优点为:
本发明使普通存储器具备一次性可编程功能,以普通存储器简单改造得到具备一次性可编程功能的otp存储器,降低了otp存储器的造价,简化了流片选择难度。
下面结合附图和具体实施方式对本发明作进一步的详细描述。
附图说明
图1是本发明普通存储器otp实现方法的主流程图。
图2是图1中烧写权限判断步骤的流程图。
图3是本发明存储器的结构框图。
图中,1普通存储器,2烧写控制模块,3数据读写模块。
具体实施方式
如图1所示,本发明普通存储器otp实现方法,包括如下步骤:
(10)存储空间划分:将普通存储器的存储空间划分成专用空间和普通空间,专用空间用于存放存储器可烧写次数,普通空间用于存放关键数据,包括用户密钥;
(20)专用空间配置:将专用空间中存放的存储器可烧写次数n配置为1;
(30)烧写控制:有待烧写数据时,根据专用空间中存放的存储器可烧写次数n,确定是否允许本次烧写;
如图2所示,所述(30)烧写权限判断步骤包括:
(31)写入合法性审查:有待烧写数据时,读取写地址,当所述写地址属于专用空间时,则拒绝本次烧写;
(32)可烧写次数读取:当所述写地址不属于专用空间时,读取存储器专用空间中存放的存储器可烧写次数n;
(33)烧写允许:若存储器可烧写次数n为1,则将写使能置高电平1;
(34)烧写拒绝:若存储器可烧写次数n为0,则将写使能置低电平0。
(40)数据读写:当允许本次烧写时,将待烧写数据通过读写端口写入存储器对应的地址中,并将专用空间中存放的存储器可烧写次数n减一。
如图3所示,本发明存储器,包括普通存储器1、烧写控制模块2和数据读写模块3;
所述普通存储器1的存储空间划分成专用空间和普通空间;
所述烧写控制模块2的读、写端口与普通存储器1的专用空间相连,其读、写控制端口与数据读写模块3的读、写使能端口相连;
所述数据读写模块3的读、写端口与普通存储器1的普通空间相连;
所述普通存储器1的专用空间用于存放存储器可烧写次数,存储器可烧写次数n被配置为1,普通空间用于存放关键数据,包括用户密钥;
所述烧写控制模块2用于在有待烧写数据时,根据专用空间中存放的存储器可烧写次数n,确定是否允许本次烧写;
所述烧写控制模块2确定是否允许本次烧写的过程包括:
有待烧写数据时,读取写地址,当所述写地址属于专用空间时,则拒绝本次烧写;
当所述写地址不属于专用空间时,读取存储器专用空间中存放的存储器可烧写次数n;
若存储器可烧写次数n为1,则将写使能置高电平1;
若存储器可烧写次数n为0,则将写使能置低电平0。
所述数据读写模块3用于当允许本次烧写时,将待烧写数据通过读写端口写入存储器对应的地址中,并将专用空间中存放的存储器可烧写次数n减一。
本发明方法实施过程中不允许用户读写专用空间,首先将可烧写次数写入存储器的专用空间,用户烧写数据时,根据可烧写次数生成写使能;用户读数据时,根据读地址生成读使能。
本方法采用两个控制模块,烧写控制模块和数据读写模块;烧写控制模块用于读写存储器专用空间,判断存储器是否允许烧写并生成烧写使能信号,端口包括烧写使能端口、专用空间读数据端口、专用空间写数据端口和专用空间地址端口;数据读写模块用于对存储器的普通空间执行读写操作,控制对专用空间的读写操作,根据烧写控制模块的烧写使能信号决定是否对存储器的普通空间执行烧写操作,端口包括写使能输入端口、写数据输入端口、读数据输出端口、地址端口、存储器写数据端口、存储器读数据端口和存储器地址端口。
数据读写模块和烧写控制模块公用一个地址端口,用户请求读数据时,烧写控制模块根据读地址判断是否为专用空间地址,若为读普通空间数据,则读使能为1;若为读专用空间数据,则读使能为0,不允许读。用户请求烧写数据时,烧写控制模块根据烧写地址和专用空间中的可烧写次数来生成写使能,若为烧写专用空间或可烧写次数为0,则写使能为0;若为烧写普通空间且可烧写次数为1,则写使能为1。
1.一种普通存储器otp实现方法,其特征在于,包括如下步骤:
(10)存储空间划分:将普通存储器的存储空间划分成专用空间和普通空间,专用空间用于存放存储器可烧写次数,普通空间用于存放关键数据,包括用户密钥;
(20)专用空间配置:将专用空间中存放的存储器可烧写次数n配置为1;
(30)烧写控制:有待烧写数据时,根据专用空间中存放的存储器可烧写次数n,确定是否允许本次烧写;
(40)数据读写:当允许本次烧写时,将待烧写数据通过读写端口写入存储器对应的地址中,并将专用空间中存放的存储器可烧写次数n减一。
2.根据权利要求1所述的otp实现方法,其特征在于,所述(30)烧写权限判断步骤包括:
(31)写入合法性审查:有待烧写数据时,读取写地址,当所述写地址属于专用空间时,则拒绝本次烧写;
(32)可烧写次数读取:当所述写地址不属于专用空间时,读取存储器专用空间中存放的存储器可烧写次数n;
(33)烧写允许:若存储器可烧写次数n为1,则将写使能置高电平1;
(34)烧写拒绝:若存储器可烧写次数n为0,则将写使能置低电平0。
3.一种存储器,其特征在于:
包括普通存储器(1)、烧写控制模块(2)和数据读写模块(3);
所述普通存储器(1)的存储空间划分成专用空间和普通空间;
所述烧写控制模块(2)的读、写端口与普通存储器(1)的专用空间相连,其读、写控制端口与数据读写模块(3)的读、写使能端口相连;
所述数据读写模块(3)的读、写端口与普通存储器(1)的普通空间相连;
所述普通存储器(1)的专用空间用于存放存储器可烧写次数,存储器可烧写次数n被配置为1,普通空间用于存放关键数据,包括用户密钥;
所述烧写控制模块(2)用于在有待烧写数据时,根据专用空间中存放的存储器可烧写次数n,确定是否允许本次烧写;
所述数据读写模块(3)用于当允许本次烧写时,将待烧写数据通过读写端口写入存储器对应的地址中,并将专用空间中存放的存储器可烧写次数n减一。
4.根据权利要求3所述的存储器,其特征在于,所述烧写控制模块(2)确定是否允许本次烧写的过程包括:
有待烧写数据时,读取写地址,当所述写地址属于专用空间时,则拒绝本次烧写;
当所述写地址不属于专用空间时,读取存储器专用空间中存放的存储器可烧写次数n;
若存储器可烧写次数n为1,则将写使能置高电平1;
若存储器可烧写次数n为0,则将写使能置低电平0。