一种OTP烧写方法、装置、设备及计算机可读存储介质与流程

文档序号:32347699发布日期:2022-11-26 11:54阅读:125来源:国知局
一种OTP烧写方法、装置、设备及计算机可读存储介质与流程
一种otp烧写方法、装置、设备及计算机可读存储介质
技术领域
1.本发明涉及集成电路存储器领域,特别涉及一种otp烧写方法、装置、设备及计算机可读存储介质。


背景技术:

2.otp(one time programmable,一次性可编程)是常用的一种存储器,用户id(identity document,身份证标识码)等与信息安全有关的关键的用户数据内容。在一些安全级别较低的应用可以在现场烧写芯片的otp(one time programmable,一次性可编程),一些安全级别较高的应用要求在出厂时即进行otp(one time programmable,一次性可编程)用户数据的烧写,但由于不同用户要求烧写的用户数据内容都不相同,芯片厂商无法进行统一大批量烧写。所以现有技术主要通过用户将需要临时烧写的内容提交给生产厂商,生产厂商根据用户需求临时烧写otp(one time programmable,一次性可编程)用户数据的内容,烧写完成的芯片再交付给用户,这种烧写模式要求用户将用户数据内容提供给芯片厂商,所以非授权用户可能通过芯片厂商获取到用户的非授权内容,对客户利益造成威胁。因此,如何防止被非授权用户获取用户的个人信息,提高otp(one time programmable,一次性可编程)的烧写速率和烧写安全是本领域技术人员所要解决的技术问题。


技术实现要素:

3.有鉴于此,本发明的目的在于提供一种otp烧写方法、装置、设备及计算机可读存储介质,解决了现有技术无法有效保护otp中用户数据安全性的技术问题。
4.为解决上述技术问题,本发明提供了一种otp烧写方法,包括:
5.接收烧写指令;其中,所述烧写指令中包括烧写地址和烧写数据;
6.确定所述烧写地址是否属于预设保护区域;其中,所述预设保护区域为禁止烧写区域;
7.当所述烧写地址不属于所述预设保护区域时,将所述烧写数据写入otp中。
8.可选的,所述将所述烧写数据写入otp中,包括:
9.当根据所述烧写指令将所述烧写数据写入otp中时,在所述烧写地址对应的区域配置加密位;
10.在所述加密位中烧写加密值。
11.可选的,所述接收烧写指令之前,还包括:
12.通过soc对所述otp进行参数配置;
13.对所述otp进行区域划分得到初始区域,并为所述初始区域中的指定区域设置访问权限,以将所述指定区域设置为预设保护区域。
14.可选的,所述为所述初始区域中的指定区域设置访问权限,包括:
15.通过设置禁止访问使能位的方式为所述初始区域中的指定区域设置访问权限。
16.可选的,所述将所述烧写数据写入otp中,包括:
17.读取所述otp中与所述烧写地址对应的otp值;
18.将所述otp值与所述烧写数据进行逻辑运算,得到待烧写值;
19.将所述待烧写值写入otp;其中,当所述待烧写值的比特位与所述otp值对应的比特位的值相同时,跳过该比特位的烧写。
20.可选的,所述对所述otp进行区域划分得到初始区域之后,还包括:
21.为所述初始区域设置使用标志位,用于指示所述初始区域是否被烧写过。
22.可选的,所述将所述烧写数据写入otp中之前,还包括:
23.根据所述使用标志位检测所述烧写指令所对应的目标初始区域是否使用;
24.当所述目标初始区域已使用时,结束本次烧写。
25.本发明还提供了一种otp烧写装置,包括:
26.烧写指令接收模块,用于接收烧写指令;其中所述烧写指令中包括烧写地址和烧写数据;
27.烧写地址判断模块,用于确定所述烧写地址是否属于预设保护区域;其中,所述预设保护区域为禁止烧写区域;
28.烧写模块,用于当所述烧写地址不属于所述预设保护区域时,将所述烧写数据写入otp中。
29.本发明还提供了一种otp烧写设备,包括:
30.存储器,用于存储计算机程序;
31.处理器,用于执行所述计算机程序时实现上述otp烧写方法的步骤。
32.本发明还提供了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现上述otp烧写方法的步骤。
33.可见,本发明通过接收烧写指令;其中,所述烧写指令中包括烧写地址和烧写数据;确定所述烧写地址是否属于预设保护区域;其中,所述预设保护区域为禁止烧写区域;当所述烧写地址不属于所述预设保护区域时,将所述烧写数据写入otp中。和现有技术不对区域进行划分保护的技术方案相比,本发明所提供的otp烧写方法,由于根据烧写指令将烧写数据烧写进otp(one time programmable,一次性可编程)前,需要对烧写地址是否属于预设保护区域进行判断,可以自动保护otp(one time programmable,一次性可编程)中的重要区域,防止otp(one time programmable,一次性可编程)中重要的数据被更改,并且由客户烧写个人信息,芯片厂商不知道客户最终在otp(one time programmable,一次性可编程)中烧写的用户数据内容,降低了用户数据被泄露的风险。
34.此外,本发明还提供了一种otp烧写装置、设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
35.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
36.图1为本发明实施例提供的一种otp烧写方法的流程图;
time programmable,一次性可编程)中。可见。本发明通过将otp(one time programmable,一次性可编程)划为多个灵活可控的区域,区域地址范围可自由设定,用户可以根据需要开放或者禁止某一个区域的烧写操作,禁止烧写的区域作为预设保护区域,这样可以防止存储数据被更改,特别是防止otp(one time programmable,一次性可编程)中保存的soc boot(system on chipboot,片上系统启动)程序的区域被更改破坏,并且由客户烧写个人信息,芯片厂商不知道客户最终在otp(one time programmable,一次性可编程)中烧写的用户数据内容,降低了用户数据被泄露的风险;并且当有订单时,可以直接将成品芯片直接交给客户,提高了otp(one time programmable,一次性可编程)的烧写效率。
49.进一步的,为了防止用户烧写后的数据被非授权用户获取,造成信息泄露,所述将所述烧写数据写入otp中,可以包括:
50.当根据所述烧写指令将所述烧写数据写入otp中时,在所述烧写地址对应的区域配置加密位;
51.在所述加密位中烧写加密值。
52.该实施例并不限定加密位的具体位置,只要可以对该区域加密烧录的程序代码即可。该实施例也不限定在加密位设置加密值的具体值,只要可以根据该加密值对已经烧写过的地址进行读取或者进行烧写即可。
53.进一步,为了确保实施本方法的可行性,在使用该otp前需要进行参数配置,所述接收烧写指令之前,还可以包括:
54.通过soc对所述otp进行参数配置;
55.对所述otp进行区域划分得到初始区域,并为所述初始区域中的指定区域设置访问权限,以将所述指定区域设置为预设保护区域。
56.该实施例中的soc(system on chip,片上系统)是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容,用于对otp(one time programmable,一次性可编程)进行参数配置,该实施例主要是为了在使用该otp(one time programmable,一次性可编程)前对该otp进行参数配置,使得用户可以根据该otp(one time programmable,一次性可编程)进行数据的读取和烧写。该实施例并不限定初始区域的数量,用户可以根据需要设置多个初始区域,可以设置2个、3个、4个、5个、6个等初始区域。该实施例并不限定为指定区域设置访问权限的具体方法,只要可以确保该指定区域不可以被更改即可。例如,通过配置文件的方式将指定区域设置为预设保护区域,或者通过设置使能位的方式将指定区域设置为预设保护区域;或者通过设置lock(lock,锁)位对预设保护区域进行设置。
57.进一步,为了尽快为指定区域设置访问权限,提高烧写效率,所述为所述初始区域中的指定区域设置访问权限,可以包括:
58.通过设置禁止访问使能位的方式为所述初始区域中的指定区域设置访问权限。
59.该实施例通过设置禁止访问使能位的方式给指定区域设置访问权限,从未将指定区域设置为预设保护区域。
60.进一步,为了防止otp被重复烧写,在烧写时会自动跳过烧写过的比特位,所述将所述烧写数据写入otp中,可以包括:
61.读取所述otp中与所述烧写地址对应的otp值;
62.将所述otp值与所述烧写数据进行逻辑运算,得到待烧写值;
63.将所述待烧写值写入otp;其中,当所述待烧写值的比特位与所述otp值对应的比特位的值相同时,跳过该比特位的烧写。
64.该实施例并不限定逻辑运算的具体运算形式,只要可以通过逻辑运算,得到用户想要烧写的内容即可,例如,逻辑运算可以是“与”,逻辑运算可以是“或”,逻辑运算可以是“非”。该实施例并不限定烧写的具体地址,例如,烧写地址是0x00,或者烧写地址是0x03,或者烧写地址是0x7e。该实施例中当待烧写值的比特位与otp值一样时,代表该比特位不用重复烧写,只要跳过该比特位即可。
65.进一步,为了提高烧写效率尽快跳过烧写过的初始区域,所述对所述otp进行区域划分得到初始区域之后,还可以包括:
66.为所述初始区域设置使用标志位,用于指示所述初始区域是否被烧写过。
67.该实施例中并不限定使用标志位的具体设置方式。例如,若初始区域已使用,则在对应的使用标志位中烧录成0,代表该区域已被烧写;或者将已使用的初始区域设的使用标志位烧录成1。通过设置使用标志位可以防止对otp(one time programmable,一次性可编程)中初始区域的重复烧写,烧坏otp(one time programmable,一次性可编程)。
68.进一步,为了防止对otp重复烧写,所述将所述烧写数据写入otp中之前,还可以包括:
69.根据所述使用标志位检测所述烧写指令所对应的目标初始区域是否使用;
70.当所述目标初始区域已使用时,结束本次烧写。
71.该实施例在目标初始区域进行烧写前,会利用使用标志位检测该目标初始区域是否被烧写,当该目标初始区域被烧写时,会直接结束本次烧写,防止otp(one time programmable,一次性可编程)被烧写坏。
72.为了使本发明更便于理解,具体请参考图2,图2为本发明实施例提供的一种otp烧写方法的流程示例图,具体可以包括:
73.otp(one time programmable,一次性可编程)上电复位自动读取soc(system on chip,片上系统)全局配置参数,该全局配置参数中包括与保护区域相关的参数设置。当otp(one time programmable,一次性可编程)重新上电复位时,之前相关人员对otp(one time programmable,一次性可编程)进行的参数配置会生效,即当重新上电复位时,用户就可以根据相关指令对otp(one time programmable,一次性可编程)进行读写操作,当用户触发的是读操作时,用户就可以读取相应区域的内容,当用户触发的是写操作时,otp(one time programmable,一次性可编程)就接收到一个烧写指令,此时通过该烧写指令包括的烧写地址来判断该烧写指令的烧写地址是否属于预设保护区域,当属于预设保护区域时,就不可以对该区域进行烧写,需要重新获取烧写指令,当不属于预设保护区域时,就可以根据烧写指令对该区域进行烧写。
74.此外,当该烧写指令对应的烧写地址不属于预设保护区域时,可以进一步判断该初始区域是不是已经烧写完成,即该初始区域是否已经无法烧写,当该初始区域无法烧写时,会结束本次烧写,用户可以重新输入烧写指令,otp(one time programmable,一次性可编程)可以根据该烧写指令进行下一次的烧写判断。
75.当烧写指令中所对应的烧写地址可以烧写时,读取otp(one time programmable,一次性可编程)中烧写地址对应的otp值,当otp值与烧写指令中的烧写数据一样时,表明不
需要进行烧写,结束本次烧写,当otp值与烧写指令中的烧写数据不一样时,表明需要烧写,此时,会根据需求对烧写数据和烧写值进行逻辑运算,得到待烧写值,并将该待烧写值写入otp(one time programmable,一次性可编程)中,在烧写的过程中,如果待烧写值的比特位与该otp值对应的比特位相同时,会跳过该比特位的烧写。
76.应用本发明实施例提供的otp烧写方法,可以将otp(one time programmable,一次性可编程)划为多个灵活可控的区域,保护区域地址范围可自由设定,用户可以根据需要开放或者禁止某一个区域的烧写操作,禁止烧写的区域作为预设保护区域,防止存储数据被更改,特别是防止otp(one time programmable,一次性可编程)中保存的soc boot(system on chip boot,片上系统启动)程序的区域被更改破坏。并且由客户烧写个人信息,芯片厂商不知道客户最终在otp(one time programmable,一次性可编程)中烧写的用户数据内容,降低了用户数据被泄露的风险;并且当有订单时,可以直接将成品芯片直接交给客户,提高了otp的烧写效率。同时,在进入otp(one time programmable,一次性可编程)烧写状态后为了提高烧写效率进行了烧写策略的优化,如果烧写值为otp(one time programmable,一次性可编程)初始值则直接结束烧写过程;针对otp(one time programmable,一次性可编程)地址单元部分比特位烧写,跳过已被烧写过的比特位,节省烧写时间提高效率;并且设置使用标志位,可以在烧写过程中快速判断该区域是否被烧写;并且还对用户烧写的区域设置加密位,这样用户烧写好相应数据后,可以防止非法用户获取用户的烧写内容。同时本方案全数字逻辑电路设计,配置后参数后,烧写处理过程不需要软件参与,可以提高读写操作总线性能。
77.下面对本发明实施例提供的一种otp烧写装置进行介绍,下文描述的otp烧写装置与上文描述的otp烧写方法可相互对应参照。
78.具体请参考图3,图3为本发明实施例提供的otp烧写装置的结构示意图,可以包括:
79.烧写指令接收模块100,用于接收烧写指令;其中所述烧写指令中包括烧写地址和烧写数据;
80.烧写地址判断模块200,用于确定所述烧写地址是否属于预设保护区域;其中,所述预设保护区域为禁止烧写区域;
81.烧写模块300,用于当所述烧写地址不属于所述预设保护区域时,将所述烧写数据写入otp中。
82.基于上述实施例,所述烧写模块200,可以包括:
83.加密单元,用于当根据所述烧写指令将所述烧写数据写入otp中时,在所述烧写地址对应的区域配置加密位;
84.加密值写入单元,用于在所述加密位中烧写加密值。
85.基于上述任意实施例,所述烧写指令接收模块100之前,还可以包括:
86.基础参数配置模块,用于通过soc对所述otp进行参数配置;
87.预设保护区域设置模块,用于对所述otp进行区域划分得到初始区域,并为所述初始区域中的指定区域设置访问权限,以将所述指定区域设置为预设保护区域。
88.基于上述任意实施例,所述预设保护区域设置模块,可以包括:
89.预设保护区域设置单元,用于通过设置禁止访问使能位的方式为所述初始区域中
的指定区域设置访问权限。
90.基于上述任意实施例,所述烧写模块300,可以包括:
91.otp值读取单元,用于读取所述otp中与所述烧写地址对应的otp值;
92.待烧写值计算单元,用于将所述otp值与所述烧写数据进行逻辑运算,得到待烧写值;
93.烧写单元,用于将所述待烧写值写入otp;其中,当所述待烧写值的比特位与所述otp值对应的比特位的值相同时,跳过该比特位的烧写。
94.基于上述任意实施例,所述预设保护区域设置模块,可以包括:
95.使用标志位设置单元,用于为所述初始区域设置使用标志位,用于指示所述初始区域是否被烧写过。
96.基于上述任意实施例,所述烧写模块300之前,还可以包括:
97.区域地址使用状态判断单元,用于根据所述使用标志位检测所述烧写指令所对应的目标初始区域是否使用;
98.结束烧写单元,用于当所述目标初始区域已使用时,结束本次烧写。
99.需要说明的是,上述otp烧写装置中的模块以及单元在不影响逻辑的情况下,其顺序可以前后进行更改。
100.本发明实施例提供的otp烧写装置,包括:烧写指令接收模块100,用于接收烧写指令;其中所述烧写指令中包括烧写地址和烧写数据;烧写地址判断模块200,用于确定所述烧写地址是否属于预设保护区域;其中,所述预设保护区域为禁止烧写区域;烧写模块300,用于当所述烧写地址不属于所述预设保护区域时,将所述烧写数据写入otp中。可见,该otp(one time programmable,一次性可编程)烧写装置和现有技术不分区域进行保护相比,本发明所提供的otp(one time programmable,一次性可编程)烧写装置,将otp划为多个灵活可控的区域,保护区域地址范围可自由设定,用户可以根据需要开放或者禁止某一个区域的烧写操作,禁止烧写的区域作为预设保护区域,用于防止存储数据被更改,进而在将烧写数据烧写进otp(one time programmable,一次性可编程)前,需要对烧写地址是否属于预设保护区域进行判断,可以自动保护otp(one time programmable,一次性可编程)中的重要区域,防止otp(one time programmable,一次性可编程)中重要的数据被更改,并且由客户烧写个人信息,芯片厂商不知道客户最终在otp(one time programmable,一次性可编程)中烧写的用户数据内容,降低了用户数据被泄露的风险。
101.下面对本发明实施例提供的一种otp烧写设备进行介绍,下文描述的一种otp烧写设备与上文描述的otp烧写方法可相互对应参照。
102.请参考图4,图4为本发明实施例提供的一种otp烧写设备的结构示意图,可以包括:
103.存储器10,用于存储计算机程序;
104.处理器20,用于执行计算机程序,以实现上述的otp烧写方法。
105.存储器10、处理器20、通信接口31和通信总线32。存储器10、处理器20、通信接口31均通过通信总线32完成相互间的通信。
106.在本发明实施例中,存储器10中用于存放一个或者一个以上程序,程序可以包括程序代码,程序代码包括计算机操作指令,在本技术实施例中,存储器10中可以存储有用于
实现以下功能的程序:
107.接收烧写指令;其中,所述烧写指令中包括烧写地址和烧写数据;
108.确定所述烧写地址是否属于预设保护区域;其中,所述预设保护区域为禁止烧写区域;
109.当所述烧写地址不属于所述预设保护区域时,将所述烧写数据写入otp中。
110.在一种可能的实现方式中,存储器10可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统,以及至少一个功能所需的应用程序等;存储数据区可存储使用过程中所创建的数据。
111.此外,存储器10可以包括只读存储器和随机存取存储器,并向处理器提供指令和数据。存储器的一部分还可以包括nvram。存储器存储有操作系统和操作指令、可执行模块或者数据结构,或者它们的子集,或者它们的扩展集,其中,操作指令可包括各种操作指令,用于实现各种操作。操作系统可以包括各种系统程序,用于实现各种基础任务以及处理基于硬件的任务。
112.处理器20可以为中央处理器(central processing unit,cpu)、特定应用集成电路、数字信号处理器、现场可编程门阵列或者其他可编程逻辑器件,处理器20可以是微处理器或者也可以是任何常规的处理器等。处理器20可以调用存储器10中存储的程序。
113.通信接口31可以为通信模块的接口,用于与其他设备或者系统连接。
114.当然,需要说明的是,图4所示的结构并不构成对本技术实施例中otp烧写设备的限定,在实际应用中otp烧写设备可以包括比图4所示的更多或更少的部件,或者组合某些部件。
115.下面对本发明实施例提供的计算机可读存储介质进行介绍,下文描述的计算机可读存储介质与上文描述的otp烧写方法可相互对应参照。
116.本发明还提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述的otp烧写方法的步骤。
117.该计算机可读存储介质可以包括:u盘、移动硬盘、只读存储器(read-only memory,rom)、随机存取存储器(randomaccess memory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。
118.本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
119.专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应该认为超出本发明的范围。
120.最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系属于仅仅用来将一个实体或者操作与另一个实体或者操作区分开来,而不一定要求或者暗示这些实体或操
作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其他任何变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。
121.以上对本发明所提供的一种otp烧写方法、装置、设备和计算机可读存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1