CN109977049B - 一种控制器及方法、系统 - Google Patents
一种控制器及方法、系统 Download PDFInfo
- Publication number
- CN109977049B CN109977049B CN201910154331.3A CN201910154331A CN109977049B CN 109977049 B CN109977049 B CN 109977049B CN 201910154331 A CN201910154331 A CN 201910154331A CN 109977049 B CN109977049 B CN 109977049B
- Authority
- CN
- China
- Prior art keywords
- memory
- state
- unit
- controller
- storage
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/16—Memory access
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种控制器及方法、系统,所述控制器包括,获取单元,用于获取存储器的存储内容;锁存单元,用于锁存所述存储器的状态;识别单元,用于识别所述存储器的状态,在所述存储器的状态为未锁状态时生成可编辑指令,并向所述存储器发送可编辑指令,在所述存储器的状态为锁存状态时屏蔽可编辑指令,所述存储器的状态用于判断所述存储器中存储内容是否可被更改。本发明公开的技术方案用以解决现有技术中OTP在应用中的局限性的问题。
Description
技术领域
本发明电子领域,具体涉及一种控制器及方法、系统。
背景技术
随着嵌入式应用的越来越广泛,产品的安全也显得越来越重要。一方面是为了保护硬件设计,另外一方面也是为了产品本身的安全,在嵌入式系统当中,所有的代码和系统数据都是被存储在FLASH芯片内部的。FLASH芯片的特点是可多次擦写,而且掉电数据不会丢失。为了保护FLASH中的数据,越来越多的FLASH厂商在FLASH内部提供了一种特殊的寄存器,即,OTP寄存器,但是OTP寄存器只能进行一次编程,有一定的局限性,现在急需设计一种新的技术方案即可实现OTP编辑确定后不可改写的功能,又可对存储器中的信息进行多次编辑调试可编辑。
发明内容
本发明实施例的目的在于提供一种控制器及方法、系统,用以解决上述的技术问题。
为实现上述目的,本发明实施例提供了一种控制器,所述控制器包括,
获取单元,用于获取存储器的状态;
锁存单元,用于锁存所述存储器的存储内容;
识别单元,用于识别所述存储器的状态,在所述存储器的状态为未锁状态时生成可编辑指令,并向所述存储器发送可编辑指令,在所述存储器的状态为锁存状态时屏蔽可编辑指令,所述存储器的状态用于判断所述存储器中存储内容是否可被更改。
优选地,所述控制器还包括与所述识别单元连接的访问接口,所述识别单元还与存储器连接,所述控制器还包括接口控制单元,所述接口控制单元用于在获取单元获取所述存储器的状态后,控制所述访问接口处于操作权限开放状态,所述接口控制单元用于在获取单元未获取所述存储器的状态后,控制所述访问接口处于等待状态。
优选地,所述存储器包括多个第一存储单元和多个第二存储单元,多个所述第二存储单元的状态包括只可读不可写状态,不可读只可写状态,不可读不可写状态、可读写状态中的至少一种。
优选地,所述锁存单元为多个,所述锁存单元与所述第二存储单元一一对应,所述锁存单元用于锁存对应的所述第二存储单元的存储内容。
优选地,当所述第二存储单元进行写操作时,所述锁存单元还用于更新所述获取单元获取得存储器的状态。
另外一方面,本发明公开的实施例还提供了一种控制方法,包括:
获取存储器的状态;
锁存所述存储器获取的存储内容;
识别所述存储器的状态,在所述存储器的状态为未锁状态时生成可编辑指令,在所述存储器的状态为锁存状态时屏蔽可编辑指令,并向所述存储器发送可编辑指令,所述存储器的状态用于判断所述存储器中存储内容是否可被更改。
优选地,当获取单元获取所述存储器的状态后,所述控制方法还包括:
控制访问接口处于操作权限开放状态,并获取所述存储器的状态;
当未获取单元获取所述存储器的状态后,所述控制方法还包括:
控制所述访问接口处于等待状态,并无法获取所述存储器的状态。
优选地,所述存储器包括多个第一存储单元和多个第二存储单元,多个所述第二存储单元的状态包括只可读不可写状态,不可读只可写状态,不可读不可写状态、可读写状态中的至少一种;
所述锁存所述存储器的存储内容,具体包括:
锁存每个所述第二存储单元所存储的内容。
优选地,当对所述第二存储单元进行写操作时,所述控制方法还包括:
更新获取单元获取的存储器的状态。
优选地,当所述第二存储单元处于锁存状态之后,包括,屏蔽所述可编辑的指令,所述可编辑的指令无发接收到所述可编辑指令。
另外一方面,本发明公开的实施例还提供了一种控制系统,包括,存储器以及上述任一项所述的控制器,所述识别单元与所述存储器连接。
本发明提供的实施例具有如下优点:
本发明提供的实施例提供了一种控制器及方法、系统,厂商可以根据自己的需求进行更改存储器中的信息,然后进行锁存,通过控制器可以进行识别相关存储器是否被锁存,如果都锁存,则可以通过控制器的锁存单元进行总锁,总锁后,存储器中的信息不能再进行更改。
附图说明
图1为本发明实施例公开的控制器的结构示意图;
图2为本发明实施例公开控制方法流程图;
图3为本发明存储器中的第二存储单元和控制器中的锁存单元的地址空间排布方式示意图;
图4为本发明实施例公开的控制系统结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
如图1所示,本发明实施例公开的控制器06,所述控制器06包括,
获取单元01,用于获取存储器的状态;
具体的,获取单元01可以为状态机,获取单元01用于控制锁存单元02获取存储器04的状态并存储在锁存单元02中。
锁存单元02,用于锁存上述存储器04的存储内容;
具体的,锁存单元02可以为锁存寄存器,锁存单元02用于存储从上述存储器04中获取的状态,从上述存储器04中获取的状态包括从上述存储器04中读取的状态和对上述存储器04进行写操作时,上述锁存单元02中的存储内容同步进行变化后的状态;
识别单元03,用于识别上述存储器04的状态,在上述存储器04的状态为未锁状态时生成可编辑指令,并向上述存储器04发送可编辑指令,在上述存储器04的状态为锁存状态时屏蔽可编辑指令,上述存储器04的状态用于判断上述存储器04中存储内容是否可被更改。
具体的,识别单元03可以为控制逻辑单元,识别单元03用于识别上述存储器04的状态,上述存储器04的状态用于判断上述存储器04中存储内容是否可被更改,上述识别单元03分别与上述存储器04和访问接口05连接,上述获取单元01获取上述存储器04的状态并存储在上述锁存单元02中后,开放上述访问接口05的操作权限,上述获取单元01未获取上述存储器04的状态并存储在上述锁存单元02中,上述访问接口05处于等待状态。
上述存储器04包括多个第一存储单元和多个第二存储单元,其中第一存储单元存储除作为OTP功能使用之外的内容。
上述存储器04中的多个第一存储单元和多个第二存储单元是按照地址线进行排列,第二存储单元分为只可读不可写,不可读只可写,不可读不可写和可读写,上述第二存储单元与上述控制器06中的锁存单元02一一对应,上述锁存单元02对上述存储器04进行锁存,当对第二存储单元进行写操作时,上述控制器06中的锁存单元02中的状态进行自动更新。
存储器04为嵌入式闪存eFLASH,即,eFLASH为嵌入式Flash,可以直接集成在芯片中,eFLASH内的存储空间一般分为两部分:Main Memory(第一存储单元)和InformationMemory(第二存储单元)。Information Memory(第二存储单元)的存储空间比较小,可以使用Information Memory(第二存储单元)的存储空间来实现OTP的功能。
Information Memory(第二存储单元)的存储空间内可以作为OTP region,控制器06中有对应的锁存单元02(锁存寄存器OTP register)。
芯片在上电撤销复位后,控制器06会自动读OTP region(第二存储单元)的信息,并存储到锁存单元02(锁存寄存器OTP register)中,完成读操作后,即开放总线访问接口的操作权限,否则让总线等待;当对存储器的OTP region(第二存储单元)进行写操作的时候,每个bit只能从1变为0,不可从0变为1,总锁锁定前,可以进行擦除。
存储器04eFLASH与控制器06配合,完成OTP的功能,存储器04eFLASH中OTP region(第二存储单元)可以分为两部分:OTP register存储空间和锁存寄存器lock register。
OTP register:用来完成OTP的功能,eFLASH Information Memory(第二存储单元)的存储空间擦除后为全1。以32bit为例:32’HFFFF_FFFF,只可把1写为0,不可把0写为1,这与FLASH的特性一致,但是真正的OTP不可以擦除,而eFlash可以擦除。
Lock register:记录OTP register是否还可以再编程的寄存器:1表示还可以再编程,0表示不可以再编程。Information Memory(第二存储单元)的存储空间中,每个做OTP使用的都留一个这样的寄存器。本寄存器只能写0不可写1,本寄存器一上电就会被读到控制器对应的锁存寄存器中。
OTP region的锁存寄存器lock register如果有1bit为0,则不可以被擦除,擦除指令将会被控制器的控制逻辑单元屏蔽掉,以此实现OTP不可再擦除的功能。
用户可以根据自己的需求对自己编辑的存储器04中的第二存储单元的内容进行锁存,当控制器06读到中的的存储器中的第二存储单元的状态为全锁状态,控制器06的锁存单元02会对存储器04进行总锁。
如图3所示,控制器MEM CTRL中锁存单元02Ctrl Lock reg与eFLASH中OTP region(第二存储单元)一一对应,两边的值相等,对eFLASH中OTP region(第二存储单元)进行写操作的时候,控制器06MEM CTRL中的锁存单元02Ctrl Lock reg中的值会自动更新,另外,通过总线访问存储器04的时候,没有增加延时。
如图2所示,另外一方面,本发明还公开了一种控制的方法,具体包括:
步骤S01,获取存储器的状态;
控制器上电的过程中,控制器中的锁存单元自动读取存储器中的相对应的第二存储单元的状态;
步骤S02,锁存所述存储器获取的存储内容;
具体的,用于对整个存储器进行总锁,总锁后,存储器不能再进行编辑。
步骤S03,识别所述存储器的状态,在所述存储器的状态为未锁状态时生成可编辑指令,在所述存储器的状态为锁存状态时屏蔽可编辑指令,并向所述存储器发送可编辑指令,所述存储器的状态用于判断所述存储器中存储内容是否可被更改。
具体的,如果读取上述第二存储单元状态为1,则说明第二存储单元的未锁存,则上述第二存储单元在可以被擦除并进行编辑。
如果读取上述第二存储单元信息为0,则上述第二存储单元不能被擦除,不能进行编辑,上述控制器中的控制逻辑单元识别并屏蔽可进行编辑的指令,不在发送至上述存储器04。
控制器06上电撤销复位之后,首先要预读OTP region(第二存储单元)的状态,如果全为1,则OTP region(第二存储单元)可以被擦除,否则,擦除指令会被逻辑控制单元识别屏蔽掉。
eFLASH的擦除是指,将对应的内容全部清除,所有第二存储单元在擦除后为1。
当获取单元获取所述存储器的状态后,上述控制方法还包括:
控制访问接口处于操作权限开放状态,并获取所述存储器的状态;
当未获取单元获取上述存储器的状态后,所述控制方法还包括:
控制所述访问接口处于等待状态,并无法获取上述存储器的状态。
上述存储器包括多个第一存储单元和多个第二存储单元,多个上述第二存储单元的状态包括只可读不可写状态,不可读只可写状态,不可读不可写状态、可读写状态中的至少一种;
上述锁存所述存储器的存储内容,具体包括:
锁存每个上述第二存储单元所存储的内容。
当对上述第二存储单元进行写操作时,上述控制方法还包括:
更新获取单元获取的存储器的状态。
当上述第二存储单元处于锁存状态之后,包括,屏蔽所述可编辑的指令。
如图4所示,另外一方面,本发明实施例还公开了一种控制系统,具体包括:
如上述识别单元03和存储器04;
上述识别单元03与上述存储器04连接,用于读取并识别上述存储器04中对应的第二存储单元07的状态,如果上述第二存储单元07的状态为未锁状态,则开放上述存储器04中的操作功能;如果上述第二存储单元07的状态为锁存状态,则存储器04中的操作功能被锁存;
存储器04,上述存储器04中包括多个第一存储单元和多个第二存储单元,上述多个第二存储单元07与上述控制器06中的锁存单元02一一对应。
本发明公开的实施例使用的是eFLASH替代OTP,OTP在锁存前,可以多次编程改写,方便调试等操作,成本低,eFlash本身需要控制器逻辑,此功能只需增加在控制器中即可,使用逻辑很少,操作简单,按照eFlash的方式操作即可完成相关功能。
本发明公开的上述实施例,可以通过两步锁存,这样不同的厂商可以对在存储器中的内容进行编写,进而进行锁存,通过控制器的识别和判断可以对与其连接的存储器对应的锁存信息存储单元状态进行监控,可以判断存储器中的存储单元是否可以进行可编写,如果相关的存储单元被锁存,控制器可以通过相关的锁存寄存器对整个存储器进行总锁,这样可以增加灵活性,使不同的厂商可以对存储器中的内容进行更改。
虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种控制器,其特征在于,所述控制器包括,
获取单元,用于获取存储器的状态,其中,所述存储器包括多个第一存储单元和多个第二存储单元;
多个锁存单元,多个所述锁存单元与多个所述第二存储单元一一对应,多个所述锁存单元用于锁存每个所述第二存储单元的存储内容;
识别单元,用于识别所述存储器的状态,在所述存储器的状态为未锁状态时生成可编辑指令,并向所述存储器发送可编辑指令,在所述存储器的状态为锁存状态时屏蔽可编辑指令,所述存储器的状态用于判断所述存储器中存储内容是否可被更改;
所述控制器还包括与所述识别单元连接的访问接口,所述识别单元还与存储器连接,所述控制器还包括接口控制单元,所述接口控制单元用于在获取单元获取所述存储器的状态后,控制所述访问接口处于操作权限开放状态,所述接口控制单元用于在获取单元未获取所述存储器的状态后,控制所述访问接口处于等待状态。
2.如权利要求1所述的控制器,其特征在于,多个所述第二存储单元的状态包括只可读不可写状态,不可读只可写状态,不可读不可写状态、可读写状态中的至少一种。
3.如权利要求2所述的控制器,其特征在于,当所述第二存储单元进行写操作时,所述锁存单元还用于更新所述获取单元获取的存储器的状态。
4.一种控制器的控制方法,其特征在于,包括:
获取存储器的状态,其中,所述存储器包括多个第一存储单元和多个第二存储单元;
锁存每个所述第二存储单元的存储内容;
识别所述存储器的状态,在所述存储器的状态为未锁状态时生成可编辑指令,在所述存储器的状态为锁存状态时屏蔽可编辑指令,并向所述存储器发送可编辑指令,所述存储器的状态用于判断所述存储器中存储内容是否可被更改;
当获取单元获取所述存储器的状态后,所述控制方法还包括:
控制访问接口处于操作权限开放状态,并获取所述存储器的存储的状态;
当获取单元未获取所述存储器的状态后,所述控制方法还包括:
控制所述访问接口处于等待状态,并无法获取所述存储器的状态。
5.如权利要求4所述的控制方法,其特征在于,
多个所述第二存储单元的状态包括只可读不可写状态,不可读只可写状态,不可读不可写状态、可读写状态中的至少一种。
6.如权利要求5所述的控制方法,其特征在于,当对所述第二存储单元进行写操作时,所述控制方法还包括:
更新获取单元获取的存储器的状态。
7.如权利要求6所述的控制方法,其特征在于,当所述第二存储单元处于锁存状态之后,包括,屏蔽所述可编辑的指令,所述可编辑的指令无发接收到所述可编辑指令。
8.一种控制系统,其特征在于,包括,存储器以及权利要求1至3任一项所述的控制器,所述识别单元与所述存储器连接。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910154331.3A CN109977049B (zh) | 2019-03-01 | 2019-03-01 | 一种控制器及方法、系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910154331.3A CN109977049B (zh) | 2019-03-01 | 2019-03-01 | 一种控制器及方法、系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109977049A CN109977049A (zh) | 2019-07-05 |
CN109977049B true CN109977049B (zh) | 2020-06-23 |
Family
ID=67077566
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910154331.3A Active CN109977049B (zh) | 2019-03-01 | 2019-03-01 | 一种控制器及方法、系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109977049B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104903911A (zh) * | 2013-01-14 | 2015-09-09 | 高通股份有限公司 | 一次性可编程集成电路安全 |
CN105512560A (zh) * | 2015-11-27 | 2016-04-20 | 深圳国微技术有限公司 | 一种一次性可编程存储器芯片和及其的控制方法 |
CN108335712A (zh) * | 2017-01-17 | 2018-07-27 | 恩智浦美国有限公司 | 具有抗干扰非易失性锁存器备份的易失性锁存器电路 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI410970B (zh) * | 2005-07-29 | 2013-10-01 | Ibm | 控制記憶體的方法及記憶體系統 |
-
2019
- 2019-03-01 CN CN201910154331.3A patent/CN109977049B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104903911A (zh) * | 2013-01-14 | 2015-09-09 | 高通股份有限公司 | 一次性可编程集成电路安全 |
CN105512560A (zh) * | 2015-11-27 | 2016-04-20 | 深圳国微技术有限公司 | 一种一次性可编程存储器芯片和及其的控制方法 |
CN108335712A (zh) * | 2017-01-17 | 2018-07-27 | 恩智浦美国有限公司 | 具有抗干扰非易失性锁存器备份的易失性锁存器电路 |
Also Published As
Publication number | Publication date |
---|---|
CN109977049A (zh) | 2019-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5826007A (en) | Memory data protection circuit | |
CN106528106B (zh) | 一种自适应各种不同Flash芯片类型的嵌入式系统启动方法 | |
US8140216B2 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
CN101561857B (zh) | 多模式启动的安全嵌入式系统 | |
CN101788958A (zh) | 一种存储器数据保护的方法 | |
US9448926B2 (en) | Bidirectional counter in a flash memory | |
US8417902B2 (en) | One-time-programmable memory emulation | |
CN104679547A (zh) | 一种mcu中的系统配置信息的读取方法和系统 | |
US8621643B2 (en) | Semiconductor device | |
CN109977049B (zh) | 一种控制器及方法、系统 | |
BRPI0212222B1 (pt) | método para resolver referências não resolvidas dentro de código de computador carregado em um cartão inteligente possuindo uma memória não volátil e uma memória de acesso randômico, mídia de computador legível, cartão inteligente e método de resolver referências não resolvidas em uma estrutura de dados em um dispositivo de computar | |
CN115454517B (zh) | 多介质安全启动的方法、系统、存储介质、设备及芯片 | |
US6556476B1 (en) | Non-volatile memory data protection | |
CN106935266B (zh) | 从存储器中读取配置信息的控制方法、装置和系统 | |
JP4892414B2 (ja) | 制御回路、記憶媒体、処理装置、組込みシステムならびに領域管理方法 | |
US20060184751A1 (en) | Implementation of integrated status of a protection register word in a protection register array | |
CN104077245A (zh) | 一种nvram控制方法和系统 | |
CN106909341A (zh) | 基于寄存器的功能模块的使能方法、装置及移动终端 | |
CN106293531A (zh) | 一种基于flash写保护的防止SD使用过程中flash被意外篡改的方法 | |
CN107402887B (zh) | 闪速存储器中的计数器 | |
CN102591738A (zh) | 数据管理方法、存储器控制器与嵌入式存储器储存装置 | |
CN111159071B (zh) | eFlash存储器实现OTP的装置、方法及OTP存储器 | |
CN117573155B (zh) | 产品信息处理方法及芯片 | |
CN111400209B (zh) | 用来进行配置管理的方法以及数据存储装置及其控制器 | |
CN112269564B (zh) | 一种otp rom编程方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |