CN112086119B - 存储器设备 - Google Patents

存储器设备 Download PDF

Info

Publication number
CN112086119B
CN112086119B CN202010529807.XA CN202010529807A CN112086119B CN 112086119 B CN112086119 B CN 112086119B CN 202010529807 A CN202010529807 A CN 202010529807A CN 112086119 B CN112086119 B CN 112086119B
Authority
CN
China
Prior art keywords
write
logic
memory device
unlock
erase command
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
Application number
CN202010529807.XA
Other languages
English (en)
Other versions
CN112086119A (zh
Inventor
N·维尔卡内特
P·洛吉耶
T·弗赖塔格
B·埃鲁克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Melexis Technologies NV
Original Assignee
Melexis Technologies NV
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Melexis Technologies NV filed Critical Melexis Technologies NV
Publication of CN112086119A publication Critical patent/CN112086119A/zh
Application granted granted Critical
Publication of CN112086119B publication Critical patent/CN112086119B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1441Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a range
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1466Key-lock mechanism
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30189Instruction operation extension or modification according to execution mode, e.g. mode flag
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1032Reliability improvement, data loss prevention, degraded operation etc
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/72Details relating to flash memory management
    • G06F2212/7201Logical to physical mapping or translation of blocks or pages

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Storage Device Security (AREA)
  • Read Only Memory (AREA)

Abstract

本发明涉及存储器设备(1),包括:非易失性存储器块(5),用于存储要写入、读取或擦除的数据,保护单元(2),被布置为用于连接到通信总线以检测解锁、写入或擦除命令,并且包括用于锁定和解锁所述存储器块的单元(3),所述单元被布置为接收并处理所述解锁、写入或擦除命令,定序器(4),被布置为根据所述解锁、写入或擦除命令从所述保护单元接收使能信号以使得能够访问所述存储器块,其中,用于锁定和解锁的所述单元包括用于处理所述解锁、写入或擦除命令的逻辑电路,所述逻辑电路被布置为输出所述使能信号,所述逻辑电路包括:第一逻辑子电路(301),第二逻辑子电路(302),以及组合器逻辑电路(303)。

Description

存储器设备
技术领域
本发明大体涉及在集成电路中使用的存储器设备的领域。
背景技术
与例如,锁存器、触发器或随机存取存储器(RAM)相反,非易失性存储器在电源关闭时也保持其存储器内容。因此,必须确保对该存储器的任何访问都不会破坏或损害数据内容,因为数据在例如,上电复位(Power On Reset),从而去除集成电路的电源之后也会存在。
非易失性存储器(NVM)可以包含几种类型的数据。闪存例如用于存储由例如,状态机或中央处理器(CPU)执行的程序或指令,而校准值数据或应用数据例如位于EEPROM(电可擦除可编程只读存储器)或NVRAM(非易失性随机存取存储器)中。
与通常只写入一次或写入很少次的程序或指令存储器(例如,闪存)不同,数据存储器(例如,EEPROM)可能被写入得更频繁。待存储的数据可以改变,并且必须用改变的数据更新存储器。
NVM中意外的擦除或程序操作可能损坏存储器内容并导致芯片故障。如果程序存储器(例如,闪存)被损坏,则程序将有不同的表现,因此不再确定芯片功能。如果数据存储器(例如,EEPROM)被损坏,则不正确的校准值可以导致例如,传感器故障。在某些架构中,用于例如,程序存储器的硬件的校准数据(例如,电荷泵电压配置值或读出阈值)也可以位于数据存储器中。在此类配置中,数据存储器(例如,EEPROM)中损坏的校准数据内容导致程序存储器(例如,闪存)的故障。
非易失性存储器针对不需要的写入或擦除访问的保护在过去已经被多次解决,并且已经开发了几种类型的解决方案。然而,随着ISO26262标准及其要求的提出,需要对功能安全相关要素进行额外的考虑,因此需要改进。
申请WO2005/031754A1公开了一种非易失性半导体存储器设备,该非易失性半导体存储器设备包括由多个存储器块、接口、写入电路和读取电路构成的存储器单元阵列。在存储器块中写入保护标志。读出保护标志可以通过接口输出到外部设备。当从接口输入写入命令时,当所选存储器块中的保护标志具有第一值时,写入电路执行写入命令,而当保护标志具有第二值时,写入电路不执行写入命令。保护标志只携带单个值,并且保护标志是存储器设备本身的部分。这意味着,如果存储器出现故障使得标志携带错误的值,则写入访问是可能的。
US2012/084573公开了一种方法,包括:由处理器可访问的主存储器接收写入命令,其中该写入命令由第一存储器控制器接收;确定所述写入命令的认证,其中该确定由设置在所述主存储器内的第二控制器执行;以及至少部分地基于所述写入命令的所确定的认证,确定是否修改主存储器的内容。加密密钥存储在存储器内,如果存储器出现故障,则这会出现问题。此外,该公开没有处理比较结果也可能不安全的问题。
因此,需要一种解决方案来检测对非易失性存储器的意外破坏性访问。如果此类事件发生,则访问应当被丢弃,同时使NVM内容不受改变。此外,系统必须被告知该错误行为。
发明内容
本发明的实施例的目的是提供适于确保安全存储器访问的存储器设备。
上述目的通过根据本发明的解决方案来实现。
在第一方面中,本发明涉及一种存储器设备,包括
-非易失性存储器块,用于存储要写入、读取或擦除的数据,
-保护单元,被布置为用于连接到通信总线以检测解锁、写入或擦除命令,并且包括用于锁定和解锁所述存储器块的单元,所述单元被布置为接收并处理所述解锁、写入或擦除命令,
-定序器,被布置为根据所述解锁、写入或擦除命令从所述保护单元接收使能信号以使得能够访问所述存储器块,
其中,用于锁定和解锁的所述单元包括用于处理所述解锁、写入或擦除命令的逻辑电路,所述逻辑电路被布置为输出所述使能信号,所述逻辑电路包括第一逻辑子电路,被布置为用于将所述命令的第一部分与硬编码密钥的第一部分进行比较,其中,如果所述命令的所述第一部分与所述硬编码密钥的所述第一部分之间存在匹配,则输出与第一激活逻辑信号相对应的第一子电路输出信号,
第二逻辑子电路,被布置为用于将所述命令的第二部分与所述硬编码密钥的第二部分进行比较,其中,如果所述命令的所述第二部分与所述硬编码密钥的所述第二部分之间存在匹配,则输出与跟所述第一活动逻辑信号相反的第二活动逻辑信号相对应的第二子电路输出信号,
其中,所述第一逻辑子电路和第二逻辑子电路中的一个在逻辑1活动信号上可操作,而另一个在逻辑0活动信号上可操作,以及
组合器逻辑电路,被布置为用于组合所述第一子电路输出信号和所述第二子电路输出信号,并且用于仅当所述第一子电路输出信号和所述第二子电路输出信号分别对应于所述第一活动逻辑信号和第二活动逻辑信号时输出与活动逻辑信号相对应的所述使能信号。
提议的解决方案确实允许对安全存储器访问的附加的检查,并检测意外的破坏性访问。仅当第一逻辑子电路输出与第一活动逻辑信号相对应的信号且第二逻辑子电路输出与第二活动逻辑信号相对应的信号时,输出的使能信号才为活动的(例如,活动逻辑1或逻辑高电平或活动逻辑0或逻辑低电平,取决于什么被定义为活动逻辑信号),其中一个子电路在逻辑1活动信号上操作,另一个子电路在逻辑0活动信号上操作。
在有利实施例中,逻辑电路被布置为用于将使能信号存储为两位信息。
在优选的实施例中,定序器被布置为用于在非易失性存储器块中的所述写入或擦除命令的实际执行可以开始之前,在所述非易失性存储器块中设置操作标志。定序器可以被布置为用于输出指示写入或擦除命令的执行已经结束的信号。
在本发明的实施例中,存储器设备进一步包括读出端口块,被布置为接收指示写入或擦除命令的执行已经结束的该信号以用于读出。
在实施例中,保护单元被布置为在接收到指示写入或擦除命令的执行已经结束的信号,就返回到锁定状态。
在一个实施例中,定序器被布置为将指示写入或擦除命令的执行已经结束的信号输出到在存储器设备外部的中断处理设备。
在优选的实施例中,用于锁定和解锁的机构可以被设置在系统模式中,以便允许所述写入、解锁或擦除操作被执行。
有利地,保护单元包括用于存储所述解锁、写入和擦除命令的存储装置。
在本发明的实施例中,如果解锁命令之后的命令不是写入或擦除命令,或者如果在所述写入或擦除命令正在被处理时另一个存储器访问被请求,则存储器设备,更具体地保护单元被布置成返回到锁定状态。
在一个实施例中,存储器设备包括端口总线,被布置为接收地址信息、数据信息和命令。
在本发明的实施例中,保护单元被布置为用于输出报告故障操作的错误消息。
在本发明的实施例中,存储器设备被布置为接收锁定命令以锁定存储器块。
在另一个方面,本发明涉及包括如前所述的存储器设备的集成电路。在一个实施例中,集成电路进一步包括中断处理设备。
出于对本发明以及超出现有技术所实现的优势加以总结的目的,以上在本文中已描述了本发明的某些目的和优势。当然,应当理解,不必所有此类目的或优势都可根据本发明的任何特定实施例来实现。因此,例如,本领域的技术人员将认识到,本发明能以实现或优化如本文中所教导的一个优势或一组优势的方式来具体化或执行,而不必实现如本文中可能教导或建议的其他目的或优势。
从本文以下描述的(多个)实施例,本发明的以上和其他方面将是显而易见的,并且参考本文以下描述的(多个)实施例对本发明的以上和其他方面进行阐明。
附图说明
现在将通过示例,参考附图进一步描述本发明,其中类似的附图标记指代各附图中的类似的要素。
图1示出了根据本发明的包括用于安全非易失性存储器访问的存储器设备的实施例的电路。
图2示出了保护单元的状态图。
图3示出了定序器的操作。
图4示出了包括保护单元中的锁定/解锁机构单元以确保对NVM存储器块的保护的块的实施例。
具体实施方式
将就具体实施例并且参考特定附图来描述本发明,但是本发明不限于此而仅由权利要求书来限定。
此外,说明书中和权利要求中的术语第一、第二等用于在类似的要素之间进行区分,并且不一定用于在时间上、空间上、以排名或以任何其他方式描述顺序。应当理解,如此使用的术语在适当的情况下是可互换的,并且本文中所描述的本发明的实施例能够以与本文中所描述或图示的不同的顺序来进行操作。
应当注意,权利要求中使用的术语“包括”不应被解释为限制于其后列出的手段;它并不排除其他要素或步骤。因此,该术语应被解释为指定如所提到的所陈述的特征、整数、步骤或部件的存在,但不排除一个或多个其他特征、整数、步骤或部件、或其群组的存在或添加。因此,表述“一种包括装置A和装置B的设备”的范围不应当限于仅由部件A和部件B组成的设备。它意指就本发明而言设备的唯一相关部件是A和B。
贯穿本说明书对“一个实施例”或“实施例”的引用意指结合该实施例描述的特定的特征、结构或特性被包括在本发明的至少一个实施例中。因此,短语“在一个实施例中”或“在实施例中”贯穿本说明书在各个地方的出现并不一定全部是指同一实施例,但是可以指同一实施例。此外,在一个或多个实施例中,如根据本公开将对本领域普通技术人员显而易见的,特定的特征、结构或特性能以任何合适的方式进行组合。
类似地,应当领会,在本发明的示例性实施例的描述中,出于精简本公开和辅助对各个发明性方面中的一个或多个的理解的目的,本发明的各个特征有时一起被编组在单个实施例、附图或其描述中。然而,此种公开方法不应被解释为反映所要求保护的本发明需要比每一项权利要求中所明确记载的特征更多的特征的意图。相反,如所附权利要求所反映,发明性方面在于比单个前述公开的实施例的全部特征更少的特征。因此,具体实施方式所附的权利要求书由此被明确并入到该具体实施方式中,其中每一项权利要求本身代表本发明的单独实施例。
此外,如将由本领域技术人员理解的,尽管本文中所描述的一些实施例包括其他实施例中所包括的一些特征但不包括其他实施例中所包括的其他特征,但是不同实施例的特征的组合旨在处于本发明的范围内,并且形成不同实施例。例如,在所附权利要求中,任何所要求保护的实施例均可以以任何组合来使用。
应当注意,在描述本发明的某些特征或方面时使用特定术语不应被当作暗示该术语在本文中被重新定义成限于包括该术语与其相关联的本发明的这些特征或方面的任何特定特性。
在本文中所提供的描述中,阐述了众多具体细节。然而,应当理解,可以在没有这些具体细节的情况下实施本发明的实施例。在其他实例中,公知的方法、结构和技术未被详细示出,以免混淆对本说明书的理解。
非易失性存储器(NVM)被广泛地用于集成电路中以存储敏感数据。本公开呈现了具有针对意外破坏性访问的附加保护的一种存储器设备。
图1示出了根据本发明的包括连接到存储器设备(1)的实施例的主控外围设备(20)的电路(10)。主控外围设备可以是CPU或逻辑状态机或控制器等。在图中存储器设备(1)由示出了存储器设备(1)的主要部件的框图来表示。外围设备经由端口总线(8)连接到存储器设备,该存储器设备也被称为存储器外壳,经由该端口总线(8),可以在存储器设备和外围设备之间交换地址、数据和命令。存储器设备包括非易失性存储器块(5)。存储器设备将端口总线访问信号转换成一个或多个信号,该一个或多个信号根据存储器块的时序要求来驱动存储器块(5)的输入/输出端口。
端口总线(8)是双向的,即,地址/数据可以从主控外围设备(20)传输到存储器设备(1)或从存储器设备(1)传输到主控外围设备(20)。数据可以是待读取或待写入的数据,但数据也可以是例如“读取”、“写入”、“擦除”的命令。读取或写入命令通常后跟着数据,例如,待写入给定地址的wdata(w数据)或待从给定地址读取的rdata(r数据)。在擦除命令的情况下,不需要数据,因为仅应擦除给定地址或地址范围。在一些实施例中,端口总线(8)可以是组合的地址/数据总线,或在其他实施例中,端口总线(8)可以是在两条总线上将地址和数据分开的总线。在包括根据本发明的存储器设备的电路中,端口总线优选为叉骨(Wishbone)总线。叉骨总线是一种开源硬件计算机总线,意在让电路的各个部分相互通信,使得不同的核可以在电路内部相互连接。此类总线通常被分成几个地址区域,例如,一个地址区域用于程序存储器(例如,ROM、闪存),另一个地址区域用于数据存储器(例如,EEPROM、RAM)和用于端口的区域,如图1中所示。端口通常用于设置给定块或设备的某些操作模式或从这些块或设备读取信息。在图1中,“wdata”是指待写入端口/存储器块的数据,而“rdata”是指在例如,读取访问期间由从设备(slave)发送到主控外围设备的数据。
在由外围设备(20)请求对存储器设备的读取操作的情况下,不修改NVM块(5)中的程序或数据。这与写入或擦除操作相反,写入或擦除操作肯定会改变存储的数据。因此,在本说明书中,只考虑写入和擦除命令,因为这些是关于本发明的相关操作。
存储器设备包括保护单元(2)。保护单元可以连接到总线上以便检测来自主控外围设备(20)的任何访问。该保护单元的功能是解码命令以检测写入或擦除操作请求并控制访问有效性。保护单元向存储器提供地址和数据,并可能生成使能信号,例如,“锁定(Locked)”。保护单元还可以根据所请求的操作生成并向定序器发送擦除使能(“Erase_en(擦除_en)”)信号或写入使能(“Write_en(写入_en)”)信号。显然,使能信号必须表示活动(active)逻辑状态,以使能对存储器的物理写入或擦除。
保护单元中的处理的重要部分在锁定/解锁机构单元(3)中执行。该单元接收来自总线的信号并且能够锁定和解锁存储器块。这样可以保证对存储器块的安全访问。有关锁定/解锁机构如何工作的详细信息将在本说明书的后面提供。
存储器设备包括处理用于非易失性存储器块(5)的时序要求的定序器(4)。定序器鉴于与存储器块本身相关的给定时序向非易失性存储器块提供控制信号。这些控制信号仅在提到的使能信号活动时被提供。因此,主控外围设备(20)不需要关心存储器时序要求或等待访问的结束。一旦已请求写入操作或擦除操作,总线就被释放,并且主控外围设备可以通过使用同一总线来执行对其他外围设备的访问。当擦除指令或写入指令完成时,定序器还提供指示。一旦写入操作或擦除操作终止,定序器就将标志end_of_nvop设置为活动逻辑状态,以便触发读出端口和/或中断处理器,例如以便指示非易失性操作完成。end_of_nvop信号经由读出端口块(6)在总线的端口区域中的特定地址处可读。主控外围设备可以在任何时间读取读出端口块以检查写入操作或擦除操作是否终止。如图1所描绘的,主控外围设备可以等待中断(来自通常在存储器设备外部的中断处理器(15),如也在图1中示出的),或者可以在该特定地址处执行轮询操作,以检测写入操作或擦除操作的结束。此外,保护单元(3)解释写入操作或擦除操作的结束end_of_nvop(参见图1)。
现在详细描述本发明的存储器设备的操作。复位(例如,上电复位)后,保护机构被激活。在保护单元的状态图中,变量“锁定(Locked)”被设置为1,如图2所示。活动信号,即,活动逻辑电压电平,被指示为逻辑1。然而,这不一定是这样,并且在某些实施例中,活动信号可以对应于逻辑0设置。换句话说,将活动逻辑状态视为逻辑1还是逻辑0仅仅是定义问题。与活动信号相反的(因此,不活动)信号则是逻辑0或逻辑1。
为了执行写入操作或擦除操作,执行以下步骤。首先,主控外围设备经由端口总线(8)发送特定命令“解锁(Unlock)”。通常,这是要经由端口总线写入端口区域空间中的特定地址的16位数据字。在本发明的实施例中,数据字的长度可以不同于16位。然后,在锁定/解锁机构单元(3)中将该数据字与16位唯一密钥进行比较。密钥与数据字的长度相同并且被分成两个部分:UNLOCK_KEY[15:8](解锁_密钥[15:8])和UNLOCK_KEY[7:0](解锁_密钥[7:0])。在某些实施例中可以有多于两个的部分,而在概念上仍然应用与分成两个部分相同的方法。16位唯一密钥不存储在非易失性存储器块中,而是硬编码在电路(10)中的其他地方(存储器块(5)外部),例如,在ROM中或取决于该密钥码通过将寄存器的输入连接到电源和接地进行编程的该寄存器(图1中未示出)中。由于非易失性存储器旨在提供针对不需要的写入或擦除操作的保护,因此保护存储器的密钥不应在要被保护的该存储器中。它们不应该在任何其他非易失性存储器中,因为此类存储器可能会丢失其内容或以错误的方式被编程,从而密钥可能被覆写。如果接收到的数据字(例如,16位)与相同长度的硬编码密钥一致,则该操作内部地将“锁定”设置为0。这样,在图2中达到了被称为“锁定=0(Locked=0)”的状态,并且因此,锁定保护被清除,使得进一步的写入操作或擦除操作是可能的。如果因为接收到的例如16位的数据字不同于具有相同长度的存储密钥而解锁操作失败,则写入操作或擦除操作不能被执行,并且设备返回到“锁定”状态。接下来,在总线上发送待执行的命令,“擦除”或“写入”。如果解锁操作之后的命令不是写入命令或擦除命令,则存储器设备返回到“锁定”状态。“擦除”命令和“写入”命令同样是要经由端口总线写入端口区域中的特定地址的例如16位的数据字。与“解锁”命令类似,同样对于“擦除”命令或“写入”命令,接收到的数据字在锁定/解锁机构单元(3)中与唯一密钥进行比较,该唯一密钥至少分成两个部分,例如,WRITE_KEY[15:8](写入_密钥[15:8])、WRITE_KEY[7:0](写入_密钥[7:0])和ERASE_KEY[15:8](擦除_密钥[15:8])、ERASE_KEY[7:0](擦除_密钥[7:0])。同样这些硬编码密钥存储在电路(10)中。如果因为接收到的数据字与存储的硬编码密钥不同而比较失败,则写入操作或擦除操作不被执行,并且设备返回到“锁定”状态。但是,如果比较结果为正,则该操作允许达到图2中的“准备执行命令”状态,其中写入使能信号或擦除使能信号被发送到定序器。这在图3中的状态1中被示出。然后,如图3所描绘,定序器通过状态2和状态3驱动存储器块输入/输出,即,将写入引脚或擦除引脚设置为逻辑1。在根据图3中的状态4终止写入操作或擦除操作之后,保护单元的状态机返回到状态“锁定=1”(在图2中,最后状态和第一状态之间的转换)。一旦写入操作/擦除操作已经结束,定序器(4)就向保护单元(2)发送标志end_of_nvop,以便复位其状态并因此重新安装保护单元的安全机构。如果在正在处理写入命令或擦除命令时另一个存储器访问被请求,则设备返回到“锁定”状态,如也在图2中示出。
如已经提及的,仅当写入引脚或擦除引脚中的一个和NV_OP引脚处于活动逻辑状态1时,写入操作或擦除操作才在存储器块内部开始。这意味着两个引脚必须处于活动逻辑状态。这符合ISO 26262的例如功能安全方面。这可以防止任何存储器问题,如果存在例如该输入引脚中的一个卡在1的话。“卡在1”是例如,对活动电压电平的硬短路。如果输入引脚中的一个由于例如,中央处理单元中的崩溃或传入的电磁干扰,导致寄存器操作失败而被强制到活动电压电平,也会发生这种情况。因此,写入操作或擦除操作仅在图3中描绘的定序器状态机的第三阶段处物理地开始。
当保护单元仍处于锁定状态时,写入命令或擦除命令可能到达。例如,如果之前未放置“解锁”命令或如果密钥比较失败,则会发生这种情况。在那种情况下,不执行写入操作或擦除操作。在根据本发明的存储器设备的一个实施例中,保护单元随后向主控外围设备发送消息以指示发生了故障系统行为。
此外,如果在前一请求命令仍在执行的情况下执行写入操作或擦除操作并且放置对例如,读取操作的请求或例如,请求“擦除”,则保护单元还可以向主控外围设备生成错误消息或设置可以由主控外围设备随时读取的错误标志。实际上,在写入操作或擦除操作期间的所有访问都会导致无效状态,并且将存储器设备再次设置为“锁定”状态。因此,不执行进一步的写入操作或擦除操作。标志“无效过程”(参见图2)可能被设置为逻辑1,即,活动逻辑状态,例如,以向主控外围设备指示存在故障。
同样,其他故障事件,像例如,密钥比较失败或缺失“解锁”命令,可以将保护单元的状态机复位为状态“锁定=1”,这样没有写入操作或擦除操作是可能的。
在有利的实施例中,主控外围设备可以将存储器设备(1)设置为系统模式。当在该系统模式下时,存储器设备中允许的操作受到限制。如果主控外围设备没有在该系统模式下设置,则保护单元将丢弃写入操作或擦除操作。锁定/解锁机构单元保持活动,如图4所描绘的。因此,在本实施例中,主控外围设备必须在系统模式下运行,以便允许写入操作或擦除操作。提供此特征提供了附加安全性。
唯一密钥以不可改变的方式存储在电路(10)中,使得它们可以被视为安全的,以防止例如,由于电压改变或电磁干扰而引起的改变。它们既不存储在NV程序中,也不存储在数据存储器中。它们通过例如,应用于例如在例如半导体制造过程期间派生的寄存器的金属连接来硬编码。在半导体制造过程期间的任何其他硬编码的可能性也可能是可能的,例如,多晶硅连接或在掺杂期间得到的引起晶体管短路的连接。硬编码的类型对于本发明并不重要。
图4示出了包括在保护单元中的锁定/解锁机构单元(3)的实施例。图4中的锁定/解锁机构单元包括逻辑比较器、门和存储元件,例如,触发器(FlipFlop)。“锁定”信号由触发器FF1和FF2的两个状态构成,这两个状态在由门G5形成的组合器逻辑电路(303)中组合。第一子电路(301)中的C1A、C2A、C3A、G1A、G2A、G3A、G4A与由它们的对应物C1B、C2B、C3B、G1B、G2B、G3B、G4B形成的第二子电路(302)相比是不同的。如果16位数据字的第一部分(即,字节[7:0])与先前描述的密钥的第一部分(字节[7:0])的比较给出正面结果,则这使得FF1能够携带活动逻辑信号(在该情况下为逻辑1)。如果16位数据字的第二部分(字节[15:8])与先前描述的密钥的第二部分(字节[15:8])的比较为正,则它进一步使得FF2能够携带不同的活动逻辑信号电平(在该情况下为逻辑0),即,FF1的相反状态。该布置对故障有很强的鲁棒性。使能信号(即,解锁指令和写入指令或擦除指令与它们对应密钥的比较结果,因此,到图2中的门G3A和G3B的输入被存储为两位信息。在优选实施例中,这两个位具有排他性,其中一个位是活动1,另一个位是活动0。
例如,锁定/解锁机构的一个存储元件(例如,在图4所示的实施例中)可能处于卡在故障处,使得它几乎不连接到电源或接地电位。这可能是由于例如,集成电路的老化或任何其他类型的缺陷造成的。在这种情况下,另一个触发器仍然确保不能对非易失性存储器执行写入操作或擦除操作。还可以看出,该设备对与逻辑0或逻辑1相关的故障机制具有鲁棒性。
EMC干扰可以将触发器中的一个切换到特定状态。类似地,如上所述,另一个触发器随后将锁定状态保持为活动,使得写入操作或擦除操作是不可能的。当本发明的存储器设备的锁定/解锁机构中的触发器以相反的活动状态工作时,如果故障导致这些触发器的输入或输出到与电源电压或接地的永久或临时连接,则该机构对任何故障都是独立地稳定的。
如所述,C1A、C2A、C3A、G1A、G2A、G3A、G4A与它们的对应物C1B、C2B、C3B、G1B、G2B、G3B、G4B相比是不同的。这应该按照如下解释。如果比较为正,则逻辑比较器C1A、C2A、C3A提供逻辑1输出。因此,G1A、G2A、G3A也基于逻辑1活动信号。如果比较为正,则逻辑比较器C1B、C2B、C3B提供逻辑0输出。因此,G1B、G2B、G3B基于逻辑0活动信号。因此,这些逻辑比较器和门不同于它们所提到的对应物。当用于密钥比较的一个信号链在活动1逻辑电平上操作时,另一个信号链在相反的活动逻辑电平上操作,这意味着使用不同的逻辑元素。以这种方式,共模故障,例如,在EMC干扰期间(例如,其在逻辑低电压电平上的运作方式与在逻辑高电压电平上的运作方式不同)也不会造成任何损害。此类故障不会导致不需要的写入操作或擦除操作。
如已提及的,在一些实施例中,具有电路(10)需要在系统模式下运行以允许在存储器设备中的写入操作或擦除操作的特征是有利的。这引入了附加的安全级别。只有在那种模式下,对存储器的访问以进行写入操作或擦除操作才是可能的。
在每一次写入操作或擦除操作之前,都会放置“解锁”命令。每一次“解锁”、“写入”、“擦除”命令总是利用以硬编码方式存储在电路(10)中的相对应硬编码密钥进行检查,该电路可能被实现为集成电路。因此,该方法对错误或不需要的访问具有鲁棒性,因为它们可能发生在例如软件崩溃或EMC干扰期间。
根据图2,通过在命令端口中写入“锁定”命令,在任何时间重新安装电路是可能的。如果NV操作已开始,则图1中的定序器中止访问,清除NV存储器的写入/擦除/NV_OP引脚,如图1所示。此类模式用于紧急目的,例如供电中断。
尽管在附图和前述描述中已经详细地图示和描述了本发明,但此类图示和描述应被认为是说明性或示例性的而不是限制性的。前面的描述具体说明了本发明的某些实施例。然而,应当理解,不论前述在文本中显得如何详细,本发明能以许多方式来实施。本发明不限于所公开的实施例。
在实施所要求保护的发明时,所公开的实施例的其他变型可以由本领域技术人员从对附图、本公开以及所附权利要求的研究而理解和实现。在权利要求中,词语“包括”排除其他元件或步骤,并且不定冠词“一(a/an)”不排除复数。单个处理器或其他单元可完成权利要求中所记载的若干项目的功能。在相互不同的从属权利要求中记载某些措施的纯粹事实并不指示不能有利地使用这些措施的组合。计算机程序可被存储/分布在合适的介质(诸如,与其他硬件一起或作为其他硬件的一部分而被供应的光学存储介质或固态介质)上,但也能以其他形式(诸如,经由因特网或者其他有线或无线电信系统)来分布。权利要求中的任何附图标记不应被解释为限制范围。

Claims (15)

1.一种存储器设备,包括:
非易失性存储器块,用于存储要写入、读取或擦除的数据,
保护单元,被布置为用于连接到通信总线以检测解锁、写入或擦除命令,并且包括用于锁定和解锁所述非易失性存储器块的单元,所述单元被布置为接收并处理所述解锁、写入或擦除命令,
并且其特征在于,
定序器,被布置为根据所述解锁、写入或擦除命令从所述保护单元接收使能信号以使得能够访问所述非易失性存储器块,
其中,用于锁定和解锁的所述单元包括用于处理所述解锁、写入或擦除命令的逻辑电路,所述逻辑电路被布置为输出所述使能信号,所述逻辑电路包括:
第一逻辑子电路,被布置为用于将所述解锁、写入或擦除命令的第一部分与硬编码密钥的第一部分进行比较,其中,如果所述解锁、写入或擦除命令的所述第一部分与所述硬编码密钥的所述第一部分之间存在匹配,则输出与第一活动逻辑信号相对应的第一子电路输出信号,
第二逻辑子电路,被布置为用于将所述解锁、写入或擦除命令的第二部分与所述硬编码密钥的第二部分进行比较,其中,如果所述解锁、写入或擦除命令的所述第二部分与所述硬编码密钥的所述第二部分之间存在匹配,则输出与跟所述第一活动逻辑信号相反的第二活动逻辑信号相对应的第二子电路输出信号,
其中,所述第一逻辑子电路和第二逻辑子电路中的一个在逻辑1活动信号上可操作,而另一个在逻辑0活动信号上可操作,以及
组合器逻辑电路,被布置为用于组合所述第一子电路输出信号和所述第二子电路输出信号,并且用于仅当所述第一子电路输出信号和所述第二子电路输出信号分别对应于所述第一活动逻辑信号和所述第二活动逻辑信号时输出与活动逻辑信号相对应的所述使能信号。
2.如权利要求1所述的存储器设备,其特征在于,所述逻辑电路被布置为用于将所述使能信号存储为两位信息。
3.如权利要求1或2所述的存储器设备,其特征在于,所述定序器被布置为用于在所述非易失性存储器块中的所述写入或擦除命令的实际执行能开始之前,在所述非易失性存储器块中设置操作标志。
4.如权利要求3所述的存储器设备,其特征在于,所述定序器被布置为用于输出指示所述写入或擦除命令的执行已经结束的信号。
5.如权利要求4所述的存储器设备,进一步包括读出端口块,被布置为接收指示所述写入或擦除命令的执行已经结束的所述信号以用于读出。
6.如权利要求4所述的存储器设备,其特征在于,所述保护单元被布置为在接收到指示所述写入或擦除命令的执行已经结束的所述信号时就返回到锁定状态。
7.如权利要求4或5所述的存储器设备,其特征在于,所述定序器被布置为将指示所述写入或擦除命令的执行已经结束的所述信号输出到外部中断处理设备。
8.如权利要求1所述的存储器设备,其特征在于,用于锁定和解锁的所述单元能被设置在系统模式中,以便允许所述解锁、写入或擦除命令被执行。
9.如权利要求1所述的存储器设备,其特征在于,所述保护单元包括用于存储所述解锁、写入或擦除命令的存储装置。
10.如权利要求9所述的存储器设备,其特征在于,所述保护单元被布置为在以下情况下返回到锁定状态:
如果解锁命令之后的命令不是写入或擦除命令,或
如果在所述写入或擦除命令正在被处理时另一个存储器访问被请求。
11.如权利要求1所述的存储器设备,包括端口总线,被布置为接收地址信息、数据信息和命令。
12.如权利要求1所述的存储器设备,其特征在于,所述保护单元被布置为用于输出报告故障操作的错误消息。
13.如权利要求1所述的存储器设备,被布置为接收锁定命令以锁定所述非易失性存储器块。
14.一种集成电路,包括如前述权利要求中的任一项所述的存储器设备。
15.如权利要求14所述的集成电路,进一步包括中断处理设备。
CN202010529807.XA 2019-06-13 2020-06-11 存储器设备 Active CN112086119B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP19179971.7A EP3751572B1 (en) 2019-06-13 2019-06-13 Memory device
EP19179971.7 2019-06-13

Publications (2)

Publication Number Publication Date
CN112086119A CN112086119A (zh) 2020-12-15
CN112086119B true CN112086119B (zh) 2022-05-17

Family

ID=66866936

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010529807.XA Active CN112086119B (zh) 2019-06-13 2020-06-11 存储器设备

Country Status (3)

Country Link
US (1) US11281576B2 (zh)
EP (1) EP3751572B1 (zh)
CN (1) CN112086119B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116540947B (zh) * 2023-07-04 2023-10-13 苏州萨沙迈半导体有限公司 数据擦写的方法、装置、存储介质和单片机

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693189A (zh) * 2011-01-21 2012-09-26 富士通半导体股份有限公司 半导体器件

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998022950A1 (en) * 1996-11-22 1998-05-28 Macronix International Co., Ltd. Write protected, non-volatile memory device with user programmable sector lock capability
US6031757A (en) * 1996-11-22 2000-02-29 Macronix International Co., Ltd. Write protected, non-volatile memory device with user programmable sector lock capability
KR100255161B1 (ko) * 1996-12-24 2000-05-01 김영환 플래쉬 메모리셀의 섹터 보호 회로
US6731536B1 (en) * 2001-03-05 2004-05-04 Advanced Micro Devices, Inc. Password and dynamic protection of flash memory data
JP2005108273A (ja) 2003-09-26 2005-04-21 Toshiba Corp 不揮発性半導体記憶装置
US7762553B2 (en) * 2006-11-25 2010-07-27 Harris Curtis J Form-fitting electronic game controller cover
US20100031349A1 (en) * 2008-07-29 2010-02-04 White Electronic Designs Corporation Method and Apparatus for Secure Data Storage System
JP2011070323A (ja) * 2009-09-24 2011-04-07 Toshiba Corp Usbメモリ装置
US8613074B2 (en) 2010-09-30 2013-12-17 Micron Technology, Inc. Security protection for memory content of processor main memory
CN102385556B (zh) * 2011-11-08 2014-11-26 聚辰半导体(上海)有限公司 串行非易失性存储器及解除存储器写保护的方法
US9081666B2 (en) * 2013-02-15 2015-07-14 Seagate Technology Llc Non-volatile memory channel control using a general purpose programmable processor in combination with a low level programmable sequencer
CN104598402B (zh) * 2014-12-30 2017-11-10 北京兆易创新科技股份有限公司 一种闪存控制器和闪存控制器的控制方法
US9996711B2 (en) * 2015-10-30 2018-06-12 Intel Corporation Asset protection of integrated circuits during transport
US10754962B2 (en) * 2016-12-15 2020-08-25 Blackberry Limited System for secure context-aware password management

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102693189A (zh) * 2011-01-21 2012-09-26 富士通半导体股份有限公司 半导体器件

Also Published As

Publication number Publication date
CN112086119A (zh) 2020-12-15
EP3751572A1 (en) 2020-12-16
US20200394132A1 (en) 2020-12-17
EP3751572B1 (en) 2021-12-01
US11281576B2 (en) 2022-03-22

Similar Documents

Publication Publication Date Title
US11416150B2 (en) Associating a processing chip and a non-volatile memory chip
US10509568B2 (en) Efficient secure boot carried out in information processing apparatus
US8261140B2 (en) Uninitialized memory detection using error correction codes and built-in self test
US6336176B1 (en) Memory configuration data protection
US9304943B2 (en) Processor system and control method thereof
JPH0719231B2 (ja) 改良されたアクセス安全装置を備える集積回路
US12001689B2 (en) Transparently attached flash memory security
US8650437B2 (en) Computer system and method of protection for the system's marking store
CN114721493B (zh) 芯片启动方法、计算机设备及可读存储介质
US10372545B2 (en) Safe reset techniques for microcontroller systems in safety related applications
CN112086119B (zh) 存储器设备
US7934050B2 (en) Microcomputer for flash memory rewriting
CN109472172B (zh) 用于防止来自存储器的未授权数据访问的方法
CN106935266B (zh) 从存储器中读取配置信息的控制方法、装置和系统
CN111695164B (zh) 电子设备及其控制方法
JP2005056144A (ja) フラッシュメモリ搭載電子装置、そのメモリデータ管理方法およびプログラム
US11868475B1 (en) System and methods for latency reduction for fuse reload post reset
US20230359523A1 (en) Memory integrity check
US20240012903A1 (en) Method for Executing a Program on a Data Processing Device
CN110968254B (zh) 一种非易失性存储器的分区保护方法及装置
WO2015147829A1 (en) System and method of run-time continuous memory check for embedded systems
CN116361233A (zh) 一种微控制器
CN116660735A (zh) 一种用于jtag测试的芯片安全防护系统及方法
CN117850689A (zh) 存储器的数据管理方法、设备以及可读存储介质
CN113791936A (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