CN108073413B - 芯片及芯片烧写方法 - Google Patents
芯片及芯片烧写方法 Download PDFInfo
- Publication number
- CN108073413B CN108073413B CN201611004840.0A CN201611004840A CN108073413B CN 108073413 B CN108073413 B CN 108073413B CN 201611004840 A CN201611004840 A CN 201611004840A CN 108073413 B CN108073413 B CN 108073413B
- Authority
- CN
- China
- Prior art keywords
- value
- chip
- time programming
- preset
- programming device
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/2856—Internal circuit aspects, e.g. built-in test features; Test chips; Measuring material aspects, e.g. electro migration [EM]
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/24—Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2855—Environmental, reliability or burn-in testing
- G01R31/286—External aspects, e.g. related to chambers, contacting devices or handlers
- G01R31/2863—Contacting devices, e.g. sockets, burn-in boards or mounting fixtures
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C16/00—Erasable programmable read-only memories
- G11C16/02—Erasable programmable read-only memories electrically programmable
- G11C16/06—Auxiliary circuits, e.g. for writing into memory
- G11C16/22—Safety or protection circuits preventing unauthorised or accidental access to memory cells
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/16—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM using electrically-fusible links
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C17/00—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards
- G11C17/14—Read-only memories programmable only once; Semi-permanent stores, e.g. manually-replaceable information cards in which contents are determined by selectively establishing, breaking or modifying connecting links by permanently altering the state of coupling elements, e.g. PROM
- G11C17/18—Auxiliary circuits, e.g. for writing into memory
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L23/00—Details of semiconductor or other solid state devices
- H01L23/52—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames
- H01L23/538—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates
- H01L23/5389—Arrangements for conducting electric current within the device in operation from one component to another, i.e. interconnections, e.g. wires, lead frames the interconnection structure between a plurality of semiconductor chips being formed on, or in, insulating substrates the chips being integrally enclosed by the interconnect and support structures
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/01—Means for bonding being attached to, or being formed on, the surface to be connected, e.g. chip-to-package, die-attach, "first-level" interconnects; Manufacturing methods related thereto
- H01L24/18—High density interconnect [HDI] connectors; Manufacturing methods related thereto
- H01L24/23—Structure, shape, material or disposition of the high density interconnect connectors after the connecting process
- H01L24/24—Structure, shape, material or disposition of the high density interconnect connectors after the connecting process of an individual high density interconnect connector
-
- H—ELECTRICITY
- H01—ELECTRIC ELEMENTS
- H01L—SEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
- H01L24/00—Arrangements for connecting or disconnecting semiconductor or solid-state bodies; Methods or apparatus related thereto
- H01L24/80—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected
- H01L24/82—Methods for connecting semiconductor or other solid state bodies using means for bonding being attached to, or being formed on, the surface to be connected by forming build-up interconnects at chip-level, e.g. for high density interconnects [HDI]
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- General Engineering & Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Condensed Matter Physics & Semiconductors (AREA)
- Storage Device Security (AREA)
- Programmable Controllers (AREA)
Abstract
本发明实施例提供一种芯片及芯片烧写方法,该芯片包括:选择器、一次性编程器件和控制器;其中,控制器分别与选择器的选择端和一次性编程器件连接,控制器用于检测一次性编程器件的器件值,当一次性编程器件的器件值在第一预设范围内时,向选择器的选择端提供第一选择信号;选择器的第一输入端用于接收访问数据,选择器的第二输入端用于接收预设无效值,选择器的输出端与一次性编程器件连接;选择器用于,在选择端输入第一选择信号时,控制第二输入端接收的数据从选择器的输出端输出。本发明实施例提供的芯片由于没有暴露在外的烧写使能端口,且控制访问数据输入端的特征值烧写后无法改变,从而可提高芯片的安全性。
Description
技术领域
本发明实施例涉及芯片技术,尤其涉及一种芯片及芯片烧写方法。
背景技术
目前芯片的关键数据、测试权限控制等信息基本使用一次性编程器件(One TimeProgrammable,简称otp)或微电容丝(efuse)等一次性编程器件来存储,otp/efuse器件自身的编程接口是由芯片外部的使能管脚(en)接口值来控制是否使能。
现有芯片中,默认芯片回片情况下,en管脚处于使能态,此时允许用户通过编程接口直接访问otp/efuse器件;当芯片测试完成后用户改变en管脚的值,从而禁止通过编程接口访问otp/efuse器件。
因为攻击者可以找到暴露在外部的en管脚从而重新激活otp/efuse器件的编程接口,进而获取隐藏在otp/efuse等一次性烧写器件中的重要信息,因此现有芯片的安全性较弱。
发明内容
本发明实施例提供一种芯片及芯片烧写方法,用于解决现有芯片存在安全性较弱的问题。
第一方面,本发明实施例提供一种芯片,包括:选择器、一次性编程器件和控制器;其中,
所述控制器分别与所述选择器的选择端和所述一次性编程器件连接,所述控制器用于检测所述一次性编程器件的器件值,当所述一次性编程器件的器件值在第一预设范围内时,向所述选择器的选择端提供第一选择信号;
所述选择器的第一输入端用于接收访问数据,所述选择器的第二输入端用于接收预设无效值,所述选择器的输出端与所述一次性编程器件连接;
所述选择器用于,在所述选择端输入第一选择信号时,控制所述第二输入端接收的数据从所述选择器的输出端输出。
通过利用一次性编程器件仅能被烧写一次的特性,增加控制器,由控制器在芯片内部与选择器的选择端口连接,控制访问数据对芯片中一次性编程器件中内容的访问,当芯片已经被烧写验证后,可避免通过烧写通道对一次性编程器件中内容的访问,同时由于没有暴露在外的烧写使能端口,从而可提高芯片的安全性。
一种可能的设计中,所述控制器还用于,在所述一次性编程器件的器件值与第一预设数值相同时,向所述选择器的选择端提供第二选择信号;
所述选择器用于,在所述选择端输入第二选择信号时,控制所述第一输入端接收到的数据从所述选择器的输出端输出;
其中,所述第一预设数值不在所述第一预设范围内。
一种可能的设计中,芯片还包括:地址过滤器;
所述地址过滤器的输入端用于接收所述访问数据,所述地址过滤器的输出端与所述选择器的第一输入端连接;
在所述一次性编程器件的器件值与所述第一预设数值相同时,所述地址过滤器用于,使所述访问数据中访问地址在预设地址范围内的访问数据,经过所述地址过滤器的输出端输出。
通过进一步增加地址过滤器,可避免当裸片遗失时,芯片内的重要数据被获取,从而提高了芯片的安全性。
一种可能的设计中,所述访问地址在预设地址范围内的访问数据包括解锁指令,所述解锁指令用于将所述一次性编程器件的器件值写为密钥值;
其中,所述密钥值不在所述第一预设范围内。
通过烧写正确密钥值,使得能够正确烧写密钥值的用户才可实现芯片的烧写,避免了其他恶意用户对芯片的烧写,也保护了芯片中的重要信息。
一种可能的设计中,所述地址过滤器的过滤功能控制端口与所述控制器连接;
所述控制器还用于,在所述一次性编程器件的器件值与所述密钥值相同时,通过所述地址过滤器的过滤功能控制端口关闭所述地址过滤器的过滤功能,向所述选择器的选择端提供所述第二选择信号;
在所述一次性编程器件的器件值与所述密钥值相同时,所述地址过滤器还用于,使所有所述访问数据经过所述地址过滤器的输出端输出。
一种可能的设计中,所述访问数据还包括锁定指令,所述锁定指令用于将所述一次性编程器件的器件值写为第二预设数值;
其中,所述第二预设数值为所述第一预设范围内的任意值。
一种可能的设计中,所述一次性编程器件的器件值为所述一次性编程器件的预设存储地址内存储的数据。
下面介绍本发明实施例提供的一种芯片烧写方法,该应用于上述芯片中,具有相对应的技术特征和技术效果,本发明实施例对此不再赘述。
第二方面,本发明实施例提供一种芯片烧写方法,应用于如上所述的芯片,包括:
向所述芯片烧写访问数据,所述访问数据中包括锁定指令,所述锁定指令用于将所述芯片中的一次性编程器件的器件值烧写为第二预设数值;重启所述芯片;
其中,所述第二预设数值为所述第一预设范围内的任意值。
第三方面,本发明实施例提供一种芯片烧写方法,应用于如上所述的芯片,包括:
向所述芯片烧写第一访问数据,所述第一访问数据中包括解锁指令,所述解锁指令的访问地址在所述地址过滤器的预设地址范围内,所述解锁指令用于将所述一次性编程器件的器件值写为密钥值;重启所述芯片;
向所述芯片烧写第二访问数据,所述第二访问数据中包括锁定指令,所述锁定指令用于将所述芯片中的一次性编程器件的器件值烧写为第二预设数值;重启所述芯片;
其中,所述密钥值不在所述第一预设范围内,所述第二预设数值为所述第一预设范围内的任意值。
附图说明
图1为现有芯片的结构示意图;
图2为本发明实施例一提供的芯片的结构示意图;
图3为本发明实施例二提供的芯片的结构示意图;
图4为本发明实施例一提供的芯片的烧写方法的流程示意图;
图5为本发明实施例二提供的芯片的烧写方法的流程示意图。
具体实施方式
图1为现有芯片的结构示意图。如图1所示,现有的芯片包括一次性编程器件和二选一选择器,二选一选择器的两个输入端分别接收有效的访问数据和预设无效值,选择器的选择端口连接到芯片外部作为芯片的烧写使能端口接收使能信号。当芯片回片后,第一次烧写时,向烧写使能端口提供使能信号,控制二选一选择器将接收到的有效的访问数据输出给一次性编程器件,以完成烧写。当芯片烧写并测试完成后,向烧写使能端口提供非使能信号,控制二选一选择器将接收到的预设无效值输出给一次性编程器件,从而禁止再次访问一次性编程器件。
目前芯片的密钥值、测试权限控制等信息基本存储在一次性编程器件中,当攻击者找到芯片暴露在外的烧写使能端口时,可重新激活烧写使能端口,进而再次访问一次性编程器件以获取隐藏在一次性编程器件中的重要信息。因此,现有芯片由于存在暴露在外的烧写使能端口存在安全性较低的问题。为解决上述问题,本发明实施例提出一种芯片。下面结合具体实施例,对本发明实施例提供的芯片进行详细说明。
图2为本发明实施例一提供的芯片的结构示意图,如图2所示,芯片10包括:选择器20、一次性编程器件30和控制器40;其中,
控制器40分别与选择器20的选择端和一次性编程器件30连接,控制器40用于检测一次性编程器件30的器件值,当一次性编程器件30的器件值在第一预设范围内时,向选择器20的选择端提供第一选择信号;
选择器20的第一输入端用于接收访问数据,选择器20的第二输入端用于接收预设无效值,选择器20的输出端与一次性编程器件30连接;
选择器20用于,在选择端输入第一选择信号时,控制第二输入端接收的数据从选择器20的输出端输出。
具体的,如图2所示,芯片10可示例性的包括为选择器20、一次性编程器件30和控制器40。其中,选择器20的第一输入端用于接收访问数据,选择器20的第二输入端用于接收预设无效值,选择器20的输出端与一次性编程器件30连接。示例性的,选择器20的输出端与一次性编程器件30的烧写端口连接。在芯片烧写期间,当用户向一次性编程器件30内烧写代码程序时,控制器40控制选择器20将第一输入端输入的访问数据从选择器20的输出端输出,在芯片的非烧写期间,控制器40控制选择器20将第二输入端输入的预设无效值从选择器20的输出端输出。其中,第二输入端接收预设无效值示例性的可以为将第二输入端打结,即向第二输入端提供一固定数值,该固定数值无法访问一次性变成器件中的信息。
一次性编程器件30用于在接收访问数据时,根据访问数据将用户编写的程序代码烧写在一次性编程器件30中,以使一次性编程器件30在烧写结束后,可执行程序代码完成程序代码的预设功能。为避免在芯片外部设置烧写使能端口,本发明实施例在芯片中增加控制器40,控制器40分别与选择器20的选择端和一次性编程器件30连接,控制器40读取一次性编程器件30的器件值,并根据一次性编程器件30的器件值向选择器20的选择端输入不同的选择信号。
器件值示例性的可以为一次性编程器件30的预设存储地址内存储的数据。预设存储地址可以为一次性编程器件30的所有存储地址中的任意位置处、任意长度的存储地址。由于一次性编程器件的物理特性为在未烧写时,器件值读出来为“0”,而当器件值被烧写为其他值后,该值不能再改写。因此,控制器40可根据器件值确定选择器20的输出端所输出的数据来自用户输入的有效的访问数据或预设无效值。
示例性的,控制器40用于实时检测一次性编程器件30的器件值,当一次性编程器件30的器件值在第一预设范围内时,即一次性编程器件30的器件值表示当前一次性编程器件30已经烧写完成,不能再被烧写,控制器40向选择器20的选择端提供第一选择信号,当选择器20的选择端接收到的输入信号为第一选择信号时,控制选择器20的第二输入端接收的数据从选择器20的输出端输出,提供给一次性编程器件30。此时,恶意用户无法通过访问数据访问一次性编程器件30,无法获取一次性编程器件30中存储的重要数据。且由于一次性编程器件30的器件值无法被更改,导致芯片10的安全性得到保证。
可选的,由于一次性编程器件30的物理特性为在未烧写时,器件值读出来为“0”,因此,第一预设范围示例性的,可以为除0以外的其他值。
本发明实施例提供的芯片,利用一次性编程器件仅能被烧写一次的特性,通过增加控制器,由控制器在芯片内部与选择器的选择端口连接,控制访问数据对芯片中一次性编程器件中内容的访问,当芯片已经被烧写验证后,可避免通过烧写通道对一次性编程器件中内容的访问,同时由于没有暴露在外的烧写使能端口,从而可提高芯片的安全性。
进一步的,在图2所示实施例的基础上,对于芯片还未烧写时控制器的工作原理进行说明。
控制器40还用于在一次性编程器件30的器件值与第一预设数值相同时,向选择器20的选择端提供第二选择信号;
选择器20用于,在选择端输入第二选择信号时,控制第一输入端接收到的数据从选择器20的输出端输出;
其中,第一预设数值不在第一预设范围内。
具体的,当控制器40检测到一次性编程器件30的器件值与第一预设数值相同时,向选择器20的选择端提供第二选择信号,其中,第一预设数值可以是一次性编程器件30在未烧写时的器件值“0”,第二选择信号与第一选择信号可以示例性的分别为0和1,也可为其他不相同的数值。
当选择器20的选择端接收到的信号为第二选择信号时,选择器20控制将第一输入端接收到的数据从选择器20的输出端输出,即将有效的访问数据传输给一次性编程器件30,以实现一次性编程器件30的烧写过程。
具体的,第一预设数值不在第一预设范围内。
可选的,在上述任一实施例的的基础上,访问数据中还包括锁定指令,锁定指令用于将一次性编程器件的器件值写为第二预设数值,第二预设数值为第一预设范围内的任意值。
示例性的,在实际使用时,当芯片刚回片时,芯片中的控制器40检测到一次性编程器件30的器件值为“0”,即与第一预设数值相同,控制器40向选择器20的选择端提供第二选择信号,以使第一输入端接收到的访问数据从选择器20的输出端输出至一次性编程器件30,从而实现芯片烧写,在芯片烧写的同时,访问数据中还包括锁定指令,锁定指令用于将一次性编程器件的器件值写为第二预设数值,第二预设数值为第一预设范围内的任意值,示例性的,即与第一预设数值不同的其他任一数值。例如,可将一次性编程器件30的器件值烧写为“1”,以使控制器40可通过检测该器件值即可确定一次性编程器件30已烧写过,烧写完成后重新启动芯片。此时,控制器40检测到的一次性编程器件30的器件值示例性的为“1”,在第一预设范围内,因此,控制器40向选择器20的选择端提供第一选择信号,以使第二输入端接收到的无效预设值从选择器20的输出端输出至一次性编程器件30,从而避免了恶意攻击用户对一次性编程器件30的访问,保护了芯片中的重要数据,提高了芯片的安全性。
考虑到当芯片未被烧写时,若芯片丢失,此时控制器控制选择器将接收到的访问数据发送至一次性编程器件,即恶意用户可访问芯片中的一次性编程器件,以获取芯片一次性编程器件中可能存储的关键信息。为进一步提高芯片的安全性,在图2所示实施例的基础上,图3为本发明实施例二提供的芯片的结构示意图,如图3所示,芯片10还包括:地址过滤器50;
地址过滤器50的输入端用于接收访问数据,地址过滤器50的输出端与选择器20的第一输入端连接;
在一次性编程器件30的器件值与第一预设数值相同时,地址过滤器50用于,使访问数据中访问地址在预设地址范围内的访问数据,经过地址过滤器50的输出端输出。
具体的,在芯片10中增加地址过滤器50,地址过滤器50设置在外部访问数据的输入端口与选择器20的第一输入端之间,以过滤输入选择器20的访问数据,地址过滤器50的过滤功能默认打开,可控制仅访问地址在预设地址范围内的访问数据能够通过地址过滤器50输入到选择器20。
当芯片刚回片时,即芯片为裸片时,控制器40检测到一次性编程器件30的器件值与第一预设数值相同,此时,地址过滤器50具有地址过滤功能,使访问数据中访问地址在预设地址范围内的访问数据,经过地址过滤器50的输出端输出到选择器20的输入端,再由选择器20的输出端输出值一次性编程器件30。即当恶意用户窃取了裸片时,恶意用户通过外部访问数据的端口向芯片输入访问数据时,由于地址过滤器50的过滤作用,可防止恶意用户烧写存储有重要数据的地址空间,从而保护了芯片。
本发明实施例提供的芯片,通过进一步增加地址过滤器,可避免当裸片遗失时,芯片内的重要数据被获取,从而提高了芯片的安全性。
进一步地,在图3所示实施例的基础上,访问地址在预设地址范围内的访问数据包括解锁指令,解锁指令用于将一次性编程器件的器件值写为密钥值;
其中,密钥值不在第一预设范围内。
具体的,为烧写一次性编程器件,访问数据中包括解锁指令,解锁指令的访问地址在地址过滤器50的预设地址范围内,访问指令用于将一次性编程器件的器件值写为密钥值。
当用户欲烧写芯片时,可输入解锁指令,由于解锁指令的访问地址在预设地址范围内,因此,可实现烧写,其中烧写后的器件值为密钥值,密钥值与第一预设数值不同,增加了地址过滤器50后的第一预设范围也不包括该密钥值。
进一步地,在上述任一实施例的基础上,地址过滤器50的过滤功能控制端口与控制器40连接;
控制器40还用于,在一次性编程器件30的器件值与密钥值相同时,通过地址过滤器50的过滤功能控制端口关闭地址过滤器50的过滤功能,向选择器20的选择端提供第二选择信号;
在一次性编程器件30的器件值与密钥值相同时,地址过滤器50还用于,使所有访问数据经过地址过滤器50的输出端输出。
具体的,地址过滤器50的过滤功能控制端口与控制器40连接,控制器40可控制地址过滤器50的过滤功能的开启与关闭,当过滤功能关闭时,任意访问数据均可通过地址过滤器50输入至选择器20。
在具体实现时,当控制器40检测到一次性编程器件30的器件值与密钥值相同时,通过地址过滤器50的过滤功能控制端口关闭地址过滤器50的过滤功能,同时控制器40向选择器20的选择端提供第二选择信号,因此,任意访问均可通过地址过滤器50、选择器20输入至一次性编程器件30,从而实现烧写。
因此,只有能够正确烧写密钥值的用户才可实现芯片的烧写,避免了其他恶意用户对芯片的烧写,也保护了芯片中的重要信息。
进一步地,访问数据中还包括锁定指令,锁定指令用于将一次性编程器件的器件值,即密钥值改写为第二预设数值,第二预设数值为第一预设范围内的任意值,示例性的,即与第一预设数值、密钥值不同的其他任一数值。
本发明实施例另一方面请求保护一种芯片烧写方法,该方法应用于如图2所示的芯片中,图4为本发明实施例一提供的芯片的烧写方法的流程示意图,如图4所示,该方法包括:
S401、向芯片烧写访问数据,访问数据中包括锁定指令,锁定指令用于将芯片中的一次性编程器件的器件值烧写为第二预设数值;
S402、重启芯片;
其中,第二预设数值为第一预设范围内的任意值。
具体的,当用户获取到回片时,启动该芯片,此时控制器读取到的一次性编程器件的器件值为第一预设数值,此时控制器控制访问数据直接输出给一次性编程器件,可以烧写芯片。因此,执行S401,向芯片烧写访问数据,访问数据中包括用户设计的软件程序,同时访问数据中还包括锁定指令,锁定指令用于将芯片中的一次性编程器件的器件值烧写为第二预设数值,即将原本的允许烧写芯片的第一预设数值修改为不同的第二预设数值。当烧写全部完成后,执行S402,重启芯片。
当芯片重启后,控制器读取到的一次性烧写器件的器件值为第二预设数值,第二预设数值与第一预设数值不同,且在第一预设范围内,此时,即使恶意用户通过访问数据的接口向芯片内输入访问数据,也无法实现访问一次性编程器件的目的,从而保护了芯片中的重要信息。
本发明实施例再一方面还请求保护一种芯片烧写方法,该方法应用于如图3所示的芯片中,图5为本发明实施例二提供的芯片的烧写方法的流程示意图,如图5所示,包括:
S501、向芯片烧写第一访问数据,第一访问数据中包括解锁指令,解锁指令的访问地址在地址过滤器的预设地址范围内,解锁指令用于将一次性编程器件的器件值写为密钥值;
S502、重启芯片;
S503、向芯片烧写第二访问数据,第二访问数据中包括锁定指令,锁定指令用于将芯片中的一次性编程器件的器件值烧写为第二预设数值;
S504、重启芯片;
其中,密钥值不在第一预设范围内,第二预设数值为第一预设范围内的任意值。
具体的,当用户获取到回片时,启动该芯片,此时控制器读取到的一次性编程器件的器件值为第一预设数值,此时地址过滤器过滤访问数据中的访问地址,因此仅能访问一次性编程器件的部分数据,不能烧写用户编写的软件程序,可保护芯片中的重要数据。
为烧写芯片,先执行S501,向芯片烧写第一访问数据,第一访问数据中包括解锁指令,解锁指令的访问地址在地址过滤器的预设地址范围内,解锁指令用于将一次性编程器件的器件值写为密钥值。然后执行S502,重启芯片。通过将第一预设数值烧写为密钥值,使得控制器可检测到一次性编程器件的器件值为密钥值,此时控制器控制地址过滤器停止地址过滤,并控制选择器将接收到的访问数据发送给一次性编程器件,开启了芯片的烧写功能。即只有当用户拥有烧写的密钥值,才能开启芯片的烧写流程。
在向芯片烧写密钥值后,执行S503,向芯片烧写第二访问数据,第二访问数据中包括用户的软件代码,还包括锁定指令,锁定指令用于将芯片中的一次性编程器件的器件值,密钥值,烧写为第二预设数值。当烧写完成后,执行S504,重启芯片。通过执行S503,完成了芯片的烧写过程,同时,将芯片的器件值少些为第二预设数值,使得控制器检测到的器件值与第一预设数值、密钥值均不同,从而阻止了访问数据访问一次性编程器件,保护了芯片。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (20)
1.一种芯片,其特征在于,包括:选择器、一次性编程器件和控制器;其中,
所述选择器的第一输入端用于接收访问数据,所述选择器的第二输入端用于接收预设无效值;
所述一次性编程器件与所述选择器的输出端连接,所述一次性编程器件用于:
存储访问数据;
确定所述一次性编程器件的器件值,所述一次性编程器件的器件值用于指示是否允许访问所述一次性编程器件中的内容,所述一次性编程器件的器件值存储在所述一次性编程器件中;
在存储所述访问数据之后,将所述一次性编程器件的器件值写为预设范围内的预设数值,其中,在所述一次性编程器件的器件值被写为所述预设范围内的所述预设数值之后,所述一次性编程器件的器件值不可变,并且当所述一次性编程器件的器件值被写为所述预设范围内的所述预设数值时,所述一次性编程器件的器件值用于指示所述一次性编程器件上的烧写已完成,禁止再次烧写所述一次性编程器件;
所述控制器与所述选择器的选择端和所述一次性编程器件连接,所述控制器用于:
检测所述一次性编程器件的器件值;
当所述一次性编程器件的器件值在所述预设范围内时,向所述选择器的选择端提供第一选择信号,其中,所述第一选择信号用于指示所述选择器向所述一次性编程器件输出所述预设无效值。
2.根据权利要求1所述的芯片,其特征在于,所述访问数据包括锁定指令,所述锁定指令用于指示将所述一次性编程器件的器件值写为所述预设范围内的所述预设数值。
3.根据权利要求1所述的芯片,其特征在于,所述一次性编程器件的器件值为所述一次性编程器件的预设存储地址内存储的数据。
4.根据权利要求1所述的芯片,其特征在于,所述控制器还用于,在所述一次性编程器件的器件值与第一预设数值相同时,向所述选择器的选择端提供第二选择信号;
所述选择器还用于,在所述选择端输入第二选择信号时,向所述一次性编程器件输出所述第一输入端接收到的所述访问数据;
其中,所述第一预设数值不在所述预设范围内。
5.根据权利要求4所述的芯片,其特征在于,还包括:地址过滤器;
所述地址过滤器的输入端用于接收所述访问数据,所述地址过滤器的输出端与所述选择器的第一输入端连接;
所述地址过滤器用于,使所述访问数据中访问地址在预设地址范围内的访问数据,经过所述地址过滤器的输出端输出至所述选择器。
6.根据权利要求5所述的芯片,其特征在于,在所述一次性编程器件的器件值被写为所述预设范围内的所述预设数值之前,所述访问地址在预设地址范围内的访问数据包括解锁指令,所述解锁指令用于指示所述一次性编程器件将所述一次性编程器件的器件值写为密钥值;
其中,所述密钥值不在所述预设范围内。
7.根据权利要求6所述的芯片,其特征在于,所述地址过滤器的过滤功能控制端口与所述控制器连接;
在所述一次性编程器件的器件值与所述密钥值相同时,所述地址过滤器还用于,使所有所述访问数据从所述地址过滤器的输出端输出至所述选择器;
所述控制器还用于:
通过所述地址过滤器的过滤功能控制端口关闭所述地址过滤器的过滤功能;
向所述选择器的选择端提供所述第二选择信号。
8.一种芯片烧写方法,应用于芯片,其特征在于,包括:
通过所述芯片的一次性编程器件向所述芯片烧写访问数据,所述访问数据中包括锁定指令,所述锁定指令用于指示所述一次性编程器件将所述一次性编程器件的器件值写为预设范围内的预设数值,其中,所述一次性编程器件的器件值用于指示是否允许访问所述一次性编程器件中的内容;
在向所述芯片烧写所述访问数据之后,通过所述一次性编程器件将所述一次性编程器件的器件值写为所述预设范围内的所述预设数值,其中,在所述一次性编程器件的器件值被写为所述预设范围内的所述预设数值之后,所述一次性编程器件的器件值不可变,并且当所述一次性编程器件的器件值被写为所述预设范围内的所述预设数值时,所述一次性编程器件的器件值用于指示所述一次性编程器件上的烧写已完成,禁止再次烧写所述一次性编程器件;
在将所述一次性编程器件的器件值写为所述预设数值之后,重启所述芯片;
在重启所述芯片之后,通过所述芯片的控制器检测所述一次性编程器件的器件值;
当所述一次性编程器件的器件值在所述预设范围内时,通过所述控制器向所述芯片的选择器提供第一选择信号,其中,所述第一选择信号用于指示所述选择器向所述一次性编程器件输出预设无效值;
基于所述第一选择信号,通过所述选择器向所述一次性编程器件输出所述预设无效值。
9.根据权利要求8所述的芯片烧写方法,其特征在于,所述方法还包括:
在所述一次性编程器件的器件值与第一预设数值相同时,向所述选择器的选择端提供第二选择信号,所述第二选择信号用于指示所述选择器向所述一次性编程器件输出访问数据。
10.根据权利要求9所述的芯片烧写方法,其特征在于,所述方法还包括:
通过所述芯片的地址过滤器过滤所述访问数据中访问地址在预设地址范围内的访问数据。
11.根据权利要求10所述的芯片烧写方法,其特征在于,所述方法还包括:
通过所述地址过滤器向所述选择器输出所述访问数据中访问地址在预设地址范围内的访问数据。
12.根据权利要求11所述的芯片烧写方法,其特征在于,所述访问地址在预设地址范围内的访问数据包括解锁指令,所述解锁指令用于指示所述一次性编程器件将所述一次性编程器件的器件值写为密钥值;
其中,所述密钥值不在所述预设范围内。
13.根据权利要求11所述的芯片烧写方法,其特征在于,所述方法还包括:
当所述一次性编程器件的器件值与密钥值相同时,通过所述地址过滤器向所述选择器输出所有所述访问数据;
其中,所述密钥值用于指示允许访问所述一次性编程器件中的内容。
14.一种芯片烧写方法,应用于芯片,其特征在于,包括:
通过所述芯片的一次性编程器件向所述芯片烧写第一访问数据,所述第一访问数据中包括解锁指令,所述解锁指令的访问地址在地址过滤器的预设地址范围内,所述解锁指令用于指示所述一次性编程器件将所述一次性编程器件的器件值写为密钥值,其中,所述一次性编程器件的器件值用于指示是否允许访问所述一次性编程器件中的内容;
在向所述芯片烧写所述第一访问数据之后,通过所述一次性编程器件将所述一次性编程器件的器件值写为所述密钥值;
在将所述一次性编程器件的器件值写为所述密钥值之后,重启所述芯片;
在重启所述芯片之后,向所述芯片烧写第二访问数据,所述第二访问数据中包括锁定指令,所述锁定指令用于指示所述一次性编程器件将所述一次性编程器件的器件值烧写为预设范围内的预设数值;
在向所述芯片烧写所述第二访问数据之后,通过所述一次性编程器件将所述一次性编程器件的器件值烧写为所述预设数值,其中,在所述一次性编程器件的器件值被写为所述预设范围内的所述预设数值之后,所述一次性编程器件的器件值不可变,并且所述一次性编程器件的器件值用于指示所述一次性编程器件上的烧写已完成,禁止再次烧写所述一次性编程器件;
通过所述芯片的控制器检测所述一次性编程器件的器件值;
当所述一次性编程器件的器件值在所述预设范围内时,通过所述控制器向所述芯片的选择器提供第一选择信号,其中,所述第一选择信号用于指示所述选择器向所述一次性编程器件输出预设无效值;
基于所述第一选择信号,通过所述选择器向所述一次性编程器件输出所述预设无效值。
15.根据权利要求14所述的芯片烧写方法,其特征在于,所述密钥值不在所述预设范围内。
16.根据权利要求14所述的芯片烧写方法,其特征在于,所述一次性编程器件的器件值为所述一次性编程器件的预设存储地址内存储的数据。
17.根据权利要求14所述的芯片烧写方法,其特征在于,所述方法还包括:
当所述一次性编程器件的器件值不在所述预设范围内时,向所述选择器的选择端提供第二选择信号,所述第二选择信号用于指示所述选择器向所述一次性编程器件输出访问数据。
18.根据权利要求17所述的芯片烧写方法,其特征在于,所述方法还包括:
通过所述芯片的地址过滤器过滤所述访问数据中访问地址在预设地址范围内的访问数据。
19.根据权利要求18所述的芯片烧写方法,其特征在于,所述方法还包括:
通过所述地址过滤器向所述选择器输出所述访问数据中访问地址在预设地址范围内的访问数据。
20.根据权利要求18所述的芯片烧写方法,其特征在于,所述方法还包括:
当所述一次性编程器件的器件值与密钥值相同时,通过所述地址过滤器向所述选择器输出所有所述访问数据;
其中,所述密钥值用于指示允许访问所述一次性编程器件中的内容。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611004840.0A CN108073413B (zh) | 2016-11-15 | 2016-11-15 | 芯片及芯片烧写方法 |
PCT/CN2017/084879 WO2018090588A1 (zh) | 2016-11-15 | 2017-05-18 | 芯片及芯片烧写方法 |
EP17201736.0A EP3321938B1 (en) | 2016-11-15 | 2017-11-14 | Chip and chip burning method |
US15/812,640 US10901029B2 (en) | 2016-11-15 | 2017-11-14 | Chip and chip burning method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611004840.0A CN108073413B (zh) | 2016-11-15 | 2016-11-15 | 芯片及芯片烧写方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108073413A CN108073413A (zh) | 2018-05-25 |
CN108073413B true CN108073413B (zh) | 2022-01-11 |
Family
ID=60409141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611004840.0A Active CN108073413B (zh) | 2016-11-15 | 2016-11-15 | 芯片及芯片烧写方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10901029B2 (zh) |
EP (1) | EP3321938B1 (zh) |
CN (1) | CN108073413B (zh) |
WO (1) | WO2018090588A1 (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108962329B (zh) * | 2018-07-23 | 2023-09-29 | 上海艾为电子技术股份有限公司 | Efuse控制器、Efuse系统及Efuse烧写方法 |
CN113778471A (zh) * | 2021-09-10 | 2021-12-10 | 昆山丘钛微电子科技股份有限公司 | 摄像模组烧录方法、装置及可读存储介质 |
CN114237647B (zh) * | 2021-12-20 | 2022-10-14 | 深圳市德仪电子科技有限公司 | 一种单片机烧写控制系统及单片机烧写控制方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376738A (zh) * | 2015-09-30 | 2016-03-02 | 小米科技有限责任公司 | 无线网络接入方法、装置和系统 |
CN105512560A (zh) * | 2015-11-27 | 2016-04-20 | 深圳国微技术有限公司 | 一种一次性可编程存储器芯片和及其的控制方法 |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102045A (ja) * | 2006-10-20 | 2008-05-01 | Matsushita Electric Ind Co Ltd | 半導体集積回路および半導体集積回路の検査方法 |
US20100131739A1 (en) * | 2007-04-04 | 2010-05-27 | Nxp B.V. | Integrated circuit having data processing stages and electronic device including the integrated circuit |
US7991943B2 (en) * | 2007-10-26 | 2011-08-02 | Standard Microsystems Corporation | Implementation of one time programmable memory with embedded flash memory in a system-on-chip |
TW200943174A (en) * | 2008-04-01 | 2009-10-16 | Holtek Semiconductor Inc | Random number-changed address and the encryption method for data memory |
CN101588643B (zh) | 2008-05-19 | 2012-08-29 | 上海锦诺信息科技有限公司 | 一种带手机应用软件开发平台的卡片 |
US9037928B2 (en) * | 2012-01-01 | 2015-05-19 | Mosys, Inc. | Memory device with background built-in self-testing and background built-in self-repair |
CN101788916B (zh) * | 2010-02-09 | 2014-06-04 | 华为终端有限公司 | 配置芯片的方法和装置 |
CN101944011B (zh) * | 2010-06-29 | 2015-11-25 | 北京中星微电子有限公司 | 运行程序的装置、芯片和方法 |
FR2979442B1 (fr) * | 2011-08-29 | 2013-08-16 | Inside Secure | Microprocesseur protege contre le vidage de memoire |
EP2605532A1 (en) * | 2011-12-16 | 2013-06-19 | Thomson Licensing | Apparatus and method for signature verification |
CN104350500B (zh) * | 2012-05-30 | 2017-04-12 | 飞思卡尔半导体公司 | 半导体装置以及制造半导体装置的方法 |
CN104699575B (zh) * | 2013-12-09 | 2018-04-20 | 华为技术有限公司 | Fpga芯片和fpga系统 |
CN104035794B (zh) * | 2014-06-03 | 2017-09-08 | 瑞斯康达科技发展股份有限公司 | 一种实现逻辑器件固件升级的方法及装置 |
CN104391813B (zh) * | 2014-10-23 | 2018-01-02 | 山东维固信息科技股份有限公司 | 一种嵌入式数据安全系统用soc芯片 |
CN105989894B (zh) * | 2015-02-12 | 2023-09-15 | 上海晟矽微电子股份有限公司 | 一种一次性可编程存储器控制器、集成电路及程序烧写方法 |
CN105988074B (zh) * | 2015-02-12 | 2019-02-15 | 上海晟矽微电子股份有限公司 | 一次性可编程微控制器芯片的测试电路及测试方法 |
US10318726B2 (en) * | 2016-04-18 | 2019-06-11 | Qualcomm Incorporated | Systems and methods to provide security to one time program data |
-
2016
- 2016-11-15 CN CN201611004840.0A patent/CN108073413B/zh active Active
-
2017
- 2017-05-18 WO PCT/CN2017/084879 patent/WO2018090588A1/zh active Application Filing
- 2017-11-14 US US15/812,640 patent/US10901029B2/en active Active
- 2017-11-14 EP EP17201736.0A patent/EP3321938B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105376738A (zh) * | 2015-09-30 | 2016-03-02 | 小米科技有限责任公司 | 无线网络接入方法、装置和系统 |
CN105512560A (zh) * | 2015-11-27 | 2016-04-20 | 深圳国微技术有限公司 | 一种一次性可编程存储器芯片和及其的控制方法 |
Also Published As
Publication number | Publication date |
---|---|
WO2018090588A1 (zh) | 2018-05-24 |
EP3321938B1 (en) | 2020-07-29 |
EP3321938A1 (en) | 2018-05-16 |
CN108073413A (zh) | 2018-05-25 |
US20180136274A1 (en) | 2018-05-17 |
US10901029B2 (en) | 2021-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8971144B2 (en) | Hardware write-protection | |
CN108073413B (zh) | 芯片及芯片烧写方法 | |
US8065512B2 (en) | Embedded memory protection | |
KR20160142868A (ko) | 액세스 보호 기법을 안전화하기 위한 장치 및 방법 | |
JP2001256460A (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード | |
JPH02293196A (ja) | Icカード | |
JP2009505304A (ja) | 埋設式メモリのアクセス制御 | |
WO2016186093A1 (ja) | 通信装置及び通信制限プログラム | |
CN101441604A (zh) | 一种固态硬盘的访问保护方法和固态硬盘 | |
CN110020561B (zh) | 半导体装置和操作半导体装置的方法 | |
JPH05324951A (ja) | 内部プログラムを実行することが可能なマイクロコンピュータ用pcカード | |
US20070016959A1 (en) | Information processing device and information processing system | |
JP2006252449A (ja) | 不揮発性メモリモジュールおよび不揮発性メモリシステム | |
TWI530954B (zh) | 保護非揮發性記憶體中儲存之程式碼的裝置 | |
KR20110095261A (ko) | 복사 위험성이 없는 저장 장치 | |
CN103885437A (zh) | 一种数据安全保护方法、装置及电子控制单元 | |
WO2015188511A1 (zh) | NAND Flash操作处理方法、装置及逻辑器件 | |
US20150229632A1 (en) | Security device and controlling method thereof | |
CN111026683A (zh) | 访问存储器的方法 | |
JP5700660B2 (ja) | 車両用電子制御装置 | |
TWI423262B (zh) | 於超過規格限定之操作電壓存在時保護非揮發性記憶體的方法與裝置 | |
US20070033648A1 (en) | Method for Executing Commands to Control a Portable Storage Device | |
CN110888653A (zh) | 存储器中固件读写的控制方法、系统、电子设备、芯片 | |
CN112269564B (zh) | 一种otp rom编程方法和系统 | |
CN110968254B (zh) | 一种非易失性存储器的分区保护方法及装置 |
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 |