CN104916328B - 存储器的集成电路上的数据保护方法及相关的存储器电路 - Google Patents

存储器的集成电路上的数据保护方法及相关的存储器电路 Download PDF

Info

Publication number
CN104916328B
CN104916328B CN201510088382.2A CN201510088382A CN104916328B CN 104916328 B CN104916328 B CN 104916328B CN 201510088382 A CN201510088382 A CN 201510088382A CN 104916328 B CN104916328 B CN 104916328B
Authority
CN
China
Prior art keywords
code
protected
numerical value
volatile
value
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
CN201510088382.2A
Other languages
English (en)
Other versions
CN104916328A (zh
Inventor
洪俊雄
张坤龙
陈耕晖
罗思觉
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.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
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 Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN104916328A publication Critical patent/CN104916328A/zh
Application granted granted Critical
Publication of CN104916328B publication Critical patent/CN104916328B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0622Securing storage systems in relation to access
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0683Plurality of storage devices
    • G06F3/0688Non-volatile semiconductor memory arrays
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种存储器的集成电路上的数据的保护方法及相关的存储器电路。该保护方法包括将非挥发性保护码存储在集成电路上。非挥发性保护码具有关于存储器的多个区段中的各区段的表示保护状态的第一数值或表示未保护状态的第二数值。此方法包括将挥发性保护码存储在集成电路上。挥发性保护码具有关于多个区段中的各区段的表示保护状态的第一数值或表示未保护状态的第二数值。此方法包括当供特定区段用的挥发性保护码具有第一数值时,通过使用集成电路上的电路阻止特定区段的修改,否则允许特定区段的修改,并在初始化程序中将挥发性保护码设定至非挥发性保护码的数值。

Description

存储器的集成电路上的数据保护方法及相关的存储器电路
技术领域
本发明书是有关于存储器的集成电路上的数据保护方法及相关的存储器电路。
背景技术
一种非挥发性存储器装置(例如闪存装置)可在未被供电时维持存储的数据。存储于一种包括一阵列的非挥发性存储单元的非挥发性存储器装置的数据,可通过对非挥发性存储单元执行读取、抹除或编程操作而被存取或修改。通过将数据存储在非挥发性存储单元阵列的保护区域或区段中,可避免对于存储于此装置中的数据的意外或未经授权的改变。此装置中的一群组的非挥发性存储单元,可被使用来存储关于这些区段的保护位。每个位表示关于一对应的保护区段的一保护状态(例如,保护或未保护)。软件常需要频繁地在保护/未保护状态之间转换,以便具有良好保护伴随着易于存取。然而,改变非挥发性保护位的状态需要编程/抹除操作。所以保护位由于非挥发性存储器持久性限制,只能够被编程/抹除有限度的次数。此外,相较于挥发性存储器写入操作,非挥发性存储器的编程/抹除操作需要多得多的操作时间。
因此,期望提供用于将数据存储在一非挥发性存储器装置中的弹性及可靠的数据保护方法。
发明内容
本发明提供用于保护一种包括一存储器的集成电路上的数据的方法。一种方法包括将非挥发性保护码存储在集成电路上。非挥发性保护码具有关于存储器的多个区段中的各个区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值。此方法包括将挥发性保护码存储在集成电路上。挥发性保护码具有关于多个区段中的各个区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值。此方法包括:当特定区段用的挥发性保护码具有第一数值时,通过使用集成电路上的电路来阻止一特定区段中的修改,否则允许特定区段的修改,并在一初始化程序中将挥发性保护码设定至非挥发性保护码的数值。
本发明的其他实施方面及优点可在检阅附图、详细说明与权利要求而获得理解。
附图说明
图1为一种包括一存储器的集成电路的简化方块图。
图2为结合一种包括一存储器的集成电路的计算机***的简化方块图。
图3为通过使用保护码及屏蔽码来保护一存储器装置上的数据的一示范方法的流程图。
图4为一种包括保护码及屏蔽码的存储器装置的简化方块图。
图5为用于通过使用保护码、屏蔽码、保护锁码以及屏蔽锁码,来保护一存储器装置上的数据的一示范方法的流程图。
图6为一种包括保护码、屏蔽码、保护锁码以及屏蔽锁码的存储器装置的简化方块图。
图7为一种包括一存储器的集成电路的另一个实施例的简化方块图。
图8为用于通过使用非挥发性保护码及挥发性保护码,来保护一存储器装置上的数据的一示范方法的流程图。
图9为一种包括非挥发性保护码及挥发性保护码的存储器装置的简化方块图。
图10为用于通过使用非挥发性保护码、挥发性保护码以及保护锁码,来保护一存储器装置上的数据的一示范方法的流程图。
图11为一包括非挥发性保护码、挥发性保护码以及保护锁码的存储器装置的简化方块图。
图12为用于通过使用非挥发性保护码、挥发性保护码、非挥发性保护码以及另一个保护锁码,来保护一存储器装置上的数据的一示范方法的流程图。
图13为一包括非挥发性保护码、挥发性保护码、非挥发性保护码以及另一个保护锁码的存储器装置的简化方块图。
【符号说明】
DPB:保护码
DPBLD:非挥发性保护锁码
SPB:保护码
SPBLD:保护锁码
TUB:挥发性保护屏蔽码
TUBLD:屏蔽锁码
160:存储器阵列
161:地址译码器
163:分页缓冲器
168:偏压配置电源电压/偏压配置电源电压方块
169:控制器
174:周边电路/方块
175:集成电路
210:计算机***
212:总线次***
214:处理器
216:网络接口次***
218:通信网络
220:用户接口输出装置
222:用户接口输入设备
224:存储次***
226:存储器次***
228:文件存储次***
230:主要随机存取存储器
232:只读存储器
310至330:步骤
410:请求
420:更新存储的屏蔽码
421:决定供特定区段用的屏蔽码的数值
430:更新存储的保护码
431:决定供特定区段用的保护码的数值
510至550:步骤
610:请求
620:将保护锁码设定至第一数值(锁定模式)
621:阻止对于保护码的改变
630:将保护屏蔽锁码设定至第一数值(锁定模式)
631:阻止对于保护屏蔽码的改变
640:允许对于保护码的改变
641:决定供特定区段用的保护码的数值
650:将所有保护屏蔽码重设至第二数值(未屏蔽状态)
651:决定供特定区段用的保护屏蔽码的数值
810至840:步骤
910:请求
920:设定关于第一保护码的数值
921:将第一保护码的数值复制至供各个区段用的第二保护码
930:设定关于第二保护码的数值
931:决定供特定区段用的第二保护码
1010至1050:步骤
1110:请求
1120:将保护锁码SPBLD设定至第一数值(锁定状态)
1121:阻止对于所有第一保护码(SPB)的改变
1130:将所有第一保护码设定至第二数值
1131:决定供特定区段用的第一保护码(SPB)的数值
1132:将供特定区段用的第二保护码(DPB)设定至第一数值(保护状态)
1140:设定或重设供特定区段用的第二保护码
1141:决定供特定区段用的第二保护码(DPB)
1210至1250:步骤
1310:请求
1320:设定供保护锁码SPBLD用的数值
1321:决定保护锁码SPBLD的数值
1330:设定供第一保护码用的数值
1331:同步化至对于第一保护码的更进一步的改变
1340:设定供非挥发性保护锁码DPBLD用的数值
1341:阻止改变第二保护码(DPB)的请求
1351:决定供特定区段用的第二保护码(DPB)
具体实施方式
以下将参考附图提供本技术的实施例的详细说明。
图1为一种包括一存储器的集成电路175的简化方块图。于此例子中,集成电路175包括一个具有多个区段(sectors)的存储单元的存储器阵列160。每个区段为一存储器阵列160的区域。每个区段的位置及范围可被逻辑地定义,且不需对应至阵列160的实体分割。这些区段可具有横越过此阵列160的一致或不同的尺寸。一区段可使其存取由如于此所说明的一个或多个保护码来控制。
基于闪存、相变存储器、磁阻随机存取存储器(Magnetoresistive Random-Access-Memory,MRAM)、电可抹除可编程只读存储器(Electrically ErasableProgrammable Read Only Memory,EEPROM)或其他适当的非挥发性存储器技术,此阵列160中的存储单元可包括非挥发性存储单元。
一地址译码器161耦接至此阵列160。地址被供应至集成电路175并提供给地址译码器161。地址译码器161可包括数个字线译码器、数个位线译码器以及用于译码供应的地址并选择此阵列160中的对应的存储单元的其他适当的译码器。
此阵列160中的数条位线耦接至一分页缓冲器163,分页缓冲器163因而耦接至其他周边电路174。分页缓冲器163可包括一个或多个存储元件(例如,闩锁),以供连接的每条位线用。地址译码器161可选择并经由各个连接位线,将此阵列160中的特定存储单元耦接至分页缓冲器163。接着,分页缓冲器163可存储被写入至这些特定存储单元,或从这些特定存储单元被读取的数据。
周边电路包括通过使用并非是此阵列160的一部分的逻辑电路或模拟式电路而形成的电路,例如地址译码器161、控制器169、偏压配置电源电压方块168等等。于此例子中,标有其他周边电路的方块174可包括数个输入-输出(I/O)电路、数个输出数据缓冲器以及集成电路175上的其他电路组件,例如一通用处理器或特殊用途应用电路,或一提供被此阵列160所支持的***单芯片功能的模块的组合。
譬如实施作为一状态机的控制器169提供数个信号,以控制集成电路175的其他电路来执行于此所说明的各种操作。这些操作包括编程操作、抹除操作、读取操作以及数据保护操作。
控制器169可通过使用如本领域已知的特殊用途逻辑电路***而被实施。在其他实施例中,控制器包括一种可在相同的集成电路175上被实施的通用处理器,通用处理器执行一计算机编程来控制此装置的操作。在其他实施例中,可利用一特殊用途逻辑电路及一通用处理器的组合,以供控制器的实行用。
集成电路175包括存储关于存储器阵列160的一个或多个区段的数据保护码的数个存储器元件。在图1的例子中,集成电路175中的各种存储器元件存储关于存储器阵列160的一个或多个区段的保护码SPB(“非挥发性固态写入保护位”)、保护锁码SPBLD(“SPB锁定位”)、挥发性保护屏蔽码TUB(“挥发性暂时未保护位”),以及屏蔽锁码TUBLD(“TUB锁定位”),如以下更详细说明的。
图2为一结合图1所显示的集成电路175的计算机***210的简化方块图。计算机***210大致包括至少一处理器214,处理器214经由总线次***212与一些周边装置相通。这些周边装置可包括一存储次***224(包括一存储器次***226及一文件存储次***228)、数个用户接口输入设备222、数个用户接口输出装置220以及一网络接口次***216。输入及输出装置允许用户与计算机***210互动。网络接口次***216提供一个到外部网络的接口(包括一个到通信网络218的接口),并经由通信网络218耦接至其他计算机***中的对应的接口装置。通信网络218可包括许多互相连接计算机***及通信链接。这些通信链接可以是有线连接、光学连接、无线连接或任何其他供信息的通信用的机制。虽然在一个实施例中,通信网络218为因特网,但通信网络218可以是任何适当的计算机网络。
用户接口输入设备222可包括一键盘、指向装置(例如一鼠标、轨迹球、触摸板或绘图板)、一扫描仪、一并入显示器的触控屏幕、音频输入设备(例如语音识别***、麦克风以及其他形式的输入设备)。一般而言,用语″输入设备″的使用是意图包括用于将信息输入至计算机***210中或至通信网络218之上的所有可能形式的装置及方法。
用户接口输出装置220可包括一显示次***、一打印机、一传真机或非视觉显示器(例如音频输出装置)。显示次***可包括一阴极射线管(Cathode Ray Tube,CRT)、一平板装置(例如一液晶显示器(Liquid Crystal Display,LCD))、一投影装置或某些其他用于建立一可见影像的机构。显示次***也可提供例如经由音频输出装置的非视觉显示。一般而言,用语″输出装置″的使用是意图包括:用于将信息从计算机***210输出至用户,或至另一个机器或计算机***的所有可能形式的装置及方法。
存储次***224存储编程及数据结构,并提供计算机***210的功能的软件模块。这些软件模块通常是由处理器214所执行。
存储器次***226一般包括一些存储器,其包括一在通过处理器214的编程执行期间存储指令及数据的主要随机存取存储器(Random Access Memory,RAM)230,以及一其中存储固定指令的只读存储器(Read Only Memory,ROM)232。存储器次***226也包括参考图1所说明的集成电路175。集成电路175提供计算机***210用的编程码及数据文件的存储。
文件存储次***228提供计算机***210用的编程及数据文件的存储,且可包括一硬式磁盘驱动器、一软式磁盘驱动器连同相关的可移式媒体、一CD-ROM光驱、一光驱或可移式媒体盒。
总线次***212提供一种机制,用于让计算机***210的各种组件及次***如意欲地彼此通信。虽然总线次***212概要显示为单一总线,但总线次***的替代实施例可使用多个总线。
计算机***210可以是属于变化的形式,包括一个人计算机、一便携计算机、一工作站、一计算机终端机、一网络计算机、一电视机、一智能型手机、一大型计算机或任何其他数据处理***或用户装置。由于计算机及网络的***的本质,为了阐明优选实施例的目的,图2中所描绘出的计算机***210的说明只意图作为一特定例子。计算机***210的多数的其他配置,可能具有比图2中所描绘出的计算机***更多或更少的组件。
计算机***210(或计算机***210的一用户)可存取或改变存储于集成电路175中的数据(编程码或资料文件)。举例而言,在一软件编程的执行期间,处理器214可传送一命令(例如,包括一脚本、一地址以及一区块尺寸)至集成电路175,用于释放或抹除集成电路175的存储器阵列160中的一区块的存储单元。回应于此命令,集成电路175的控制器169通过选择(例如,通过地址译码器161)对应于地址及区块尺寸的存储单元,并供应抹除电压脉冲(例如,通过偏压配置电源电压168)至选择的存储单元来执行一抹除操作。然而,如果从选择的存储单元所抹除的数据是打算为另一种使用所用(例如,供另一个软件编程用的编程码或数据文件),则会出现问题。为避免对于存储于集成电路175的存储器阵列中的数据的这种意外或未经授权的改变,关于存储器数据保护的方法通过使用存储于集成电路175中的数据保护码而被提供,如以下更详细说明的。
图3为通过使用保护码及屏蔽码来保护一存储器装置上的数据的一示范方法的流程图。图3的方法可通过控制器169、保护码SPB及挥发性保护屏蔽码TUB以及集成电路175的其他适当的组件而被实施,用于保护存储于存储器阵列160中的数据。
图3的方法于步骤310开始。于步骤310,控制器将多个保护码(SPB)存储在集成电路175中。每个保护码具有关于存储器阵列160中的一对应区段的存储单元的一个表示一保护状态的第一数值,以及一个表示一未保护状态的第二数值。保护码被存储于存储器元件中,以使保护码在一集成电路175的断电事件期间被维持。一断电事件可以是一种当供集成电路175或集成电路175的一部分(例如,存储保护码的存储器元件或集成电路175的另一组件)用的电力并未被维持(遗失)时的事件。
于此例子中,控制器169将保护码存储在一阵列的非挥发性存储器元件(例如一阵列的快闪存储单元)中。控制器169针对此阵列的快闪存储单元执行一抹除操作,用于将所有存储于此阵列的快闪存储单元中的保护码设定至第二数值(未保护状态)。控制器169针对此阵列中的一特定快闪存储单元执行一编程操作,用于将存储于特定快闪存储单元中的保护码设定至第一数值(保护状态)。基于来自一结合集成电路175的***(例如,计算机***210)的请求(或来自此***的一用户的请求),控制器169可执行抹除操作或编程操作。
于步骤320,控制器169将一个包括至少一保护屏蔽码(TUB)的设定,存储在集成电路175中。一保护屏蔽码具有关于存储器阵列160中的一对应区段的一个表示一屏蔽状态的第一数值,或一个表示一未屏蔽状态的第二数值。一保护屏蔽码被存储于一存储器元件中,以使保护屏蔽码在一集成电路175的断电事件期间被清除。断电事件可以是一种当供集成电路175或集成电路175的一部分(例如,存储保护屏蔽码的存储器元件或集成电路175的另一个组件)的电力并未被维持(遗失)时的事件。
于此例子中,控制器169将包括至少一保护屏蔽码的此设定,存储在一个或多个挥发性存储器元件(例如集成电路175中的静态随机存取存储(Static Random-AccessMemory,SRAM)单元)中。控制器169针对选择的挥发性存储单元执行一设定操作,用于将存储于选择的挥发性存储单元中的保护屏蔽码,从第二数值(未屏蔽状态)设定至第一数值(屏蔽状态)。控制器169针对选择的挥发性存储单元执行一重设操作,用于将存储于选择的挥发性存储单元中的保护屏蔽码,从第一数值(屏蔽状态)重设至第二数值(未屏蔽状态)。基于来自一结合集成电路175的***(例如,计算机***210)的请求(或来自此***的一用户的请求),控制器169可执行设定或重设操作。
于步骤330,当供特定区段用的保护码具有第一数值(保护状态),且供特定区段用的保护屏蔽码具有第二数值(未屏蔽状态)时,控制器169阻止一特定区段的存储器阵列160的修改。否则控制器169允许特定区段的修改。
下面的表1显示供一区段的存储器阵列160用的保护码与屏蔽码的状态组合,以及关于存储于此区段中的数据的保护状态。
表1
屏蔽码(TUB) 保护码(SPB) 存储数据
未屏蔽 未保护 未保护
未屏蔽 保护 保护
屏蔽 未保护 未保护
屏蔽 保护 未保护
如表1所示,如果保护屏蔽码具有第二数值(未屏蔽状态),则存储数据的保护状态由保护码所决定。如果保护屏蔽码具有第一数值(屏蔽状态),则保护屏蔽码“屏蔽”保护码的数值,而存储数据总是未保护。
图4为一种包括保护码及屏蔽码的存储器装置(例如集成电路175)的简化方块图。于此例子中,控制器169可从一结合集成电路175的***(例如,图2中的计算机***210)接收修改(编程或抹除)存储于存储器阵列160中的数据,改变保护码的数值,或改变保护屏蔽码的数值的一个或多个请求(410)。请求410可通过一操作***或一由计算机***210的处理器214所执行的软件编程而开始。请求410也可基于一用户命令。
举例而言,响应于一改变保护码的数值的请求410,控制器169存取存储保护码的非挥发性存储器阵列,并依据此请求更新存储的保护码(430)。同样地,响应于一改变屏蔽码的数值的请求,控制器169存取存储屏蔽码的此组的挥发性存储单元,并依据此请求更新存储的屏蔽码(420)。
响应于一修改存储于存储器阵列160中的数据的请求410,控制器169首先决定一包括对应于此请求的数据的特定区段。控制器169接着决定供特定区段用的保护码的数值(431)及屏蔽码的数值(421)。控制器169屏蔽保护码的数值与屏蔽码的数值,并决定对于存储于特定区段中的数据的修改是否是可允许的,如以上述表1所说明的。如果对于存储于特定区段中的数据的修改是可允许的,则控制器169继续执行一对应于请求410的操作(例如,一抹除操作或一编程操作)。如果对于存储于特定区段中的数据的修改并非是允许的,则控制器169否认请求410,并回传一错误信息至结合集成电路175的***。
存储器阵列160中的这些区段的存储单元可以受到一个或多个保护码与一个或多个屏蔽码的不同组合所保护。举例而言,每个区段可具有一对应的保护码(存储于非挥发性存储器阵列中)及一对应的屏蔽码(存储于挥发性存储器元件中)。关于另一例子,每个区段具有一对应的保护码,而存储器阵列160中的所有区段具有一个屏蔽码。依此方式,所有区段可通过将一个屏蔽码设定至第一数值(屏蔽状态)而未受保护。关于又另一个例子,存储器阵列160中的所有区段具有一个保护码,而每个区段具有一对应的屏蔽码。依此方式,所有区段可以受到默认值所保护(也就是,一个保护码具有第一数值)。一个或多个区段可通过将相对应的屏蔽码设定至第一数值(屏蔽状态)而未受保护。
保护码及屏蔽码的组合(如以图3及图4所说明的),提供一种用于保护存储于集成电路175中的数据的弹性方法。举例而言,因为存储于非挥发性存储器阵列中的保护码在一断电事件期间被维持,所以保护码可在集成电路175被断电之后,被使用作为一供存储器阵列160中的区段用的默认值保护设定。屏蔽码可被使用来通过将对应于特定区段的屏蔽码设定至第一数值(屏蔽状态),从而使屏蔽对应于特定区段的保护码的数值并未保护这些特定区段,来动态地调整一个或多个特定区段的保护状态。
在某些情况下,理想上是可在设定其对应的保护码或屏蔽码之后维持一区段的存储单元受保护(或未受保护)。供图3及图4中所说明的保护锁码及屏蔽码用的额外锁码,可被使用来在设定其对应的保护码或屏蔽码之后,维持一区段的存储单元受保护(或未受保护),如于图5及图6所显示于下的。
图5为用于通过使用保护码、屏蔽码、保护锁码以及屏蔽锁码,来保护一存储器装置上的数据的一示范方法的流程图。图5的方法可通过控制器169、保护码SPB、挥发性保护屏蔽码TUB、保护锁码SPBLD及屏蔽锁码TUBLD,以及集成电路175的其他适当的组件而被实施,用于保护存储于存储器阵列160中的数据。
图5的方法于步骤510开始。如于图3的步骤310,于步骤510,控制器169将一阵列的非挥发性存储器元件(例如,一阵列的快闪存储单元)中的多个保护码(SPB)存储在集成电路175中。每个保护码具有关于存储器阵列160中的一对应区段的存储单元的一个表示一保护状态的第一数值,以及一个表示一未保护状态的第二数值。控制器169针对此阵列中的所有非挥发性存储器元件执行一抹除操作,用于将存储于存储器元件中的保护码设定至第二数值(未保护状态)。控制器169针对此阵列中的一特定非挥发性存储器元件执行一编程操作,用于将存储于特定非挥发性存储器元件中的保护码设定至第一数值(保护状态)。
如于图3的步骤320,于步骤520,控制器169将一包括至少一保护屏蔽码(TUB)的设定,存储在集成电路175的一挥发性存储器元件(例如,一SRAM单元)中。一保护屏蔽码具有关于存储器阵列160中的一对应区段的一个表示一屏蔽状态的第一数值,或一个表示一未屏蔽状态的第二数值。控制器169针对挥发性存储器元件执行一设定操作,用于将存储于挥发性存储器中的保护屏蔽码,从第二数值(未屏蔽状态)设定至第一数值(屏蔽状态)。控制器169针对挥发性存储器元件执行一重设操作,用于将存储于挥发性存储器中的保护屏蔽码,从第一数值(屏蔽状态)重设至第二数值(未屏蔽状态)。
于步骤530,控制器169将一保护锁码(SPBLD)存储在集成电路175的一次性可编程存储器元件(例如,一反熔丝,或一不具有抹除支持电路的快闪存储单元)中。保护锁码具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值。当保护锁码具有第一数值(锁定模式)时,控制器169阻止对于存储于非挥发性存储器阵列中的保护码的改变。基于来自一结合集成电路175的***(例如,计算机***210)的请求(或来自此***的一用户的请求),控制器169可将保护锁码设定至第一数值或第二数值。
于步骤540,控制器169将一屏蔽锁码(TUBLD)存储在集成电路175的一次性可编程存储器元件(例如,一反熔丝,或一不具有抹除支持电路的快闪存储单元)中。屏蔽锁码具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值。当屏蔽锁码具有第一数值(锁定模式)时,控制器169阻止对于存储于挥发性存储器元件中的屏蔽码的改变。基于来自一结合集成电路175的***(例如,计算机***210)的请求(或来自此***的一用户的请求),控制器169可将屏蔽锁码设定至第一数值或第二数值。
如于图3的步骤330,于步骤550,当供特定区段用的保护码具有第一数值(保护状态),且供特定区段用的保护屏蔽码具有第二数值(未屏蔽状态)时,控制器169阻止一特定区段的存储器阵列160的修改。否则控制器169允许特定区段的修改。如以表1所说明的,如果保护屏蔽码具有第二数值(未屏蔽状态),则存储数据的保护状态由保护码所决定。如果保护屏蔽码具有第一数值(屏蔽状态),则保护屏蔽码屏蔽保护码的数值,而存储数据总是未保护。
图6为一种包括保护码、屏蔽码、保护锁码及屏蔽锁码的存储器装置(例如集成电路175)的简化方块图。于此例子中,控制器169可从一结合集成电路175的***(例如,图2中的计算机***210)接收修改(编程或抹除)存储于存储器阵列160中的数据,改变保护码或屏蔽码的数值,或编程保护锁码或屏蔽锁码的一个或多个请求(610)。请求610可通过一操作***或一由计算机***210的处理器214所执行的软件编程而开始。请求410也可基于一用户命令。
举例而言,响应于一修改存储于存储器阵列160中的数据的请求610,控制器169首先决定一个包括对应于此请求的数据的特定区段。控制器169决定供特定区段用的保护屏蔽码的数值(651)。控制器169决定供特定区段用的保护码的数值(641)。控制器169屏蔽保护码的数值与屏蔽码的数值,并决定对于存储于特定区段中的数据的修改是否是可允许的,如以上述表1所说明的。如果对于存储于特定区段中的数据的修改是可允许的,则控制器169继续执行一对应于请求610的操作(例如,一抹除操作或一编程操作)。如果对于存储于特定区段中的数据的修改并非是允许的,则控制器169否认请求610并使一错误信息回到结合集成电路175的***。
回应于一用于编程保护锁码的请求610,控制器169通过为保护锁码来编程一次性可编程存储器元件,而将保护锁码设定至第一数值(锁定模式)(620)。
响应于一对于保护码的改变的请求610,控制器169首先决定保护锁码是否具有第一数值(锁定模式)。如果保护锁码具有第一数值,则控制器169阻止对于保护码的改变(621)。否则,控制器169允许对于保护码的改变(640)。
回应于一用于编程保护屏蔽锁码的请求610,控制器169通过为屏蔽锁码编程一次性可编程存储器元件而将保护屏蔽锁码设定至第一数值(锁定模式)(630)。控制器169也将所有保护屏蔽码重设至第二数值(未屏蔽状态)(650),接着,阻止对于保护屏蔽码的改变(631)。依此方式,屏蔽码在保护屏蔽锁码被设定到第一数值(锁定模式)之后,被锁住以免于屏蔽供存储器阵列160中的所有区段用的保护码。
在另一实施例中,在将保护屏蔽锁码设定至第一数值(锁定模式)之后,控制器169阻止将选择的屏蔽码从第二数值(未屏蔽状态)设定至第一数值(屏蔽状态)的改变,并允许将选择的屏蔽码从第一数值(屏蔽状态)重设至第二数值(未屏蔽状态)的改变。依此方式,在保护屏蔽锁码被设定到第一数值(锁定模式)之后,没有保护码可更进一步被屏蔽码所屏蔽。
除了使用两个不同的一次性可编程存储器元件来存储保护锁码与屏蔽锁码以外,可使用不同形式或组合的存储器元件以存储保护锁码与屏蔽锁码。举例而言,可使用单一的一次性可编程存储器元件,以存储一个具有一个表示一锁定模式的第一数值,以及表示一未锁定模式的第二数值的单一锁码。单一锁码代表保护锁码与屏蔽锁码两者。在编程一次性可编程存储器元件并将锁码设定至第一数值(例如,响应于一请求610)之后,控制器169阻止对于保护码的改变,将屏蔽码设定至第二数值(未屏蔽状态),然后阻止对于屏蔽码或保护码的改变。
关于另一例子,一组一次性可编程存储器元件用于存储屏蔽锁码。此组一次性可编程存储器元件的每一个,存储关于存储器阵列160中的一特定区段的存储单元的一屏蔽锁码。每个屏蔽锁码具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值。回应于一用于为一特定区段编程一屏蔽锁码的请求610,控制器169通过编程存储供特定区段用的屏蔽锁码的一次性可编程存储器元件,而将供特定区段用的屏蔽锁码设定至第一数值(锁定模式)。控制器169也将供特定区段用的屏蔽码设定至第二数值(未屏蔽状态),接着,阻止对于供特定区段用的屏蔽码的改变。依此方式,在保护屏蔽锁码(供特定区段用)被设定到第一数值(锁定模式)之后,供一特定区段(而不是所有区段)用的屏蔽码被锁住以免于屏蔽供特定区段用的保护码。
图6所显示的屏蔽锁码与保护锁码,可被存储于密码保护的存储器元件中。举例而言,保护锁码可被存储于集成电路175的一密码保护的存储器元件中。于一开始事件(例如,当集成电路175断电后再通电时),保护锁码被设定到第一数值(锁定模式),从而阻止对于保护码的改变。保护锁码可被重设至具有一密码的第二数值(未锁定模式)(例如,由结合集成电路175的***的一用户所提供的一64位数)。在保护锁码被重设至第二数值(未锁定模式)之后,控制器169允许对于保护码的改变。控制器169可将保护锁码设定至第一数值(例如,响应于一请求610),从而阻止对于保护码的更进一步的改变。依此方式,存储于非挥发性存储器阵列中的保护码经由一断电及通电周期被维持,且无法在没有提供一密码的情况下被改变。
屏蔽锁码可被存储于一集成电路175的密码保护的存储器元件中。于一开始事件(例如,当集成电路175断电后再通电时),控制器169将屏蔽锁码设定至第一数值(锁定模式),从而阻止对于保护屏蔽码的改变。控制器169也将屏蔽码重设至第二数值(未屏蔽状态)。依此方式,当集成电路175被启动时,保护码并非被屏蔽码所屏蔽。屏蔽锁码可被重设至具有一密码的第二数值(未锁定模式)(例如,由结合集成电路175的***的一用户所提供的一64位数)。在屏蔽锁码被重设至第二数值(未锁定模式)之后,控制器169允许对于保护屏蔽码的改变。控制器169可将屏蔽锁码设定至第一数值(例如,响应于一请求610),从而阻止对于保护屏蔽码的更进一步的改变。
保护锁码可被存储于一集成电路175的挥发性存储器元件(例如,一SRAM单元)中。于一开始事件(例如,当集成电路175断电后再通电时),控制器169将保护锁码设定至第二数值(未锁定状态),从而允许对于保护码的改变。响应于一用户命令(例如,经由请求610),控制器169将保护锁码设定至第一数值(锁定状态),从而阻止保护码的改变。保护锁码无法设定到第二数值(未锁定状态),直到另一个开始事件(例如,断电后再通电或硬件重设)为止。
屏蔽锁码可被存储于一集成电路175的挥发性存储器元件(例如,一SRAM胞)中。于一开始事件(例如,当集成电路175断电后再通电时),控制器169将屏蔽锁码设定至第二数值(未锁定状态),从而允许对于屏蔽码的改变。响应于一用户命令(例如,经由请求610),控制器169将屏蔽锁码设定至第一数值(锁定状态),从而阻止屏蔽码的改变。屏蔽锁码无法设定到第二数值(未锁定状态)直到另一个开始事件(例如,断电后再通电或硬件重设)为止。
图7为集成电路175的另一个实施例的简化方块图。于此例子中,集成电路175包括数个第一保护码SPB(“固态写入保护位”)、一保护锁码SPBLD(“SPB锁定位”)、数个第二保护码DPB(“动态写入保护位”)以及一保护锁码DPBLD(“DPB锁定位”),以供存储器阵列160中的一个或多个区段的保护状态使用,如以下更详细说明的。
图8为用于通过使用非挥发性保护码及挥发性保护码,来保护一存储器装置上的数据的一示范方法的流程图。图8的方法可通过控制器169、第一保护码SPB与第二保护码DPB以及集成电路175的其他适当的组件而被实施,用于保护存储于存储器阵列160中的数据。
图8的方法于步骤810开始。于步骤810,控制器169将多个第一保护码(SPB)存储在集成电路175中。每个第一保护码具有关于存储器阵列160中的其对应区段的存储单元的一个表示一保护状态的第一数值,以及一个表示一未保护状态的第二数值。第一保护码被存储于集成电路175中,以使第一保护码在一断电事件期间被维持。
于此例子中,控制器169将第一保护码存储在一阵列的非挥发性存储器元件(例如一阵列的快闪存储单元)中。控制器169针对非挥发性存储器阵列执行一抹除操作,用于将所有第一保护码设定至第二数值(未保护状态)。控制器169针对一存储于非挥发性存储器阵列中的选择的第一保护码执行一编程操作,用于将选择的第一保护码设定至第一数值(保护状态)。基于来自一结合集成电路175的***(例如,计算机***210)的请求(或来自此***的一用户的请求),控制器169可执行抹除操作或编程操作。
于步骤820,控制器169将多个第二保护码(DPB)存储在集成电路175中。每个第二保护码具有关于存储器阵列160中的一对应区段的存储单元的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值。第二保护码被存储于集成电路175中,以使第二保护码在一断电事件期间被清除。
于此例子中,控制器169将多个第二保护码存储在一阵列的挥发性存储器元件(例如,一阵列的SRAM单元)中。控制器169针对选择的挥发性存储器元件执行一设定操作,用于将存储于选择的挥发性存储器元件中的第二保护码,从第二数值(未保护状态)设定至第一数值(保护状态)。控制器169针对选择的挥发性存储器元件执行一重设操作,用于将存储于选择的挥发性存储器元件中的第二保护码,从第一数值(保护状态)重设至第二数值(未保护状态)。
于步骤830,控制器169在一初始化程序中(例如,当集成电路175被启动时),将第二保护码设定至第一保护码的数值。也就是,第一保护码的数值在一初始化程序中,被复制至供各个区段用的第二保护码。
于步骤840,当供特定区段用的第二保护码具有第一数值(保护状态)时,控制器169阻止一特定区段的修改(例如,一抹除或编程操作)。否则控制器169允许特定区段的修改。也就是,存储器阵列160中的一特定区段的存储单元的保护状态,由特定区段的第二保护码的数值所决定。
因为第一保护码被存储于非挥发性存储器阵列中,并在一断电事件期间被维持,所以当电源供应为集成电路175重新开始时(例如,在一初始化程序中),第一保护码的数值作为供存储器阵列160中的区段用的一默认值保护设定。
图9为一种包括非挥发性保护码及挥发性保护码的存储器装置(例如集成电路175)的简化方块图。于此例子中,控制器169可从一结合集成电路175的***(例如,图2中的计算机***210),接收修改(编程或抹除)存储于存储器阵列160中的数据,或改变第一或第二保护码的一个或多个请求(910)。请求910可通过一操作***或一由计算机***210的处理器214所执行的软件编程而开始。请求910也可基于一用户命令。
举例而言,回应于一请求910,控制器169可设定关于第一保护码的数值(920)或关于第二保护码的数值(930)。在一初始化程序中,控制器169将第一保护码的数值复制至供各个区段用的第二保护码(921)。
响应于一修改存储于存储器阵列160中的数据的请求910,控制器169首先决定一个包括对应于此请求的数据的特定区段(属于存储器阵列160)。控制器169决定供特定区段用的第二保护码(931)。如果供特定区段用的第二保护码具有第二数值(未保护状态),则控制器169继续允许对应于此请求的数据的修改。如果特定区段的第二保护码具有第一数值(保护状态),则控制器169阻止对应于此请求的数据的修改,并恢复一错误信息(至结合集成电路175的***)。
第一保护码(SPB)及第二保护码(DPB)的组合提供一种用于保护存储于集成电路175中的数据的弹性方法。第一保护码(如被存储于非挥发性存储器元件中)在一断电事件期间被维持,且当电力为集成电路175重新启动时,被使用作为一默认值保护设定。当集成电路175通过在不需要改变第一保护的情况下,改变关于对应的第二保护码的数值而被供电时,关于存储器阵列160的不同区段的保护状态可动态上且各别地被改变。
存储器阵列160中的此些区段的存储单元可受到一个或多个第一保护码(SPB),以及一个或多个第二保护码(DPB)的不同组合保护。举例而言,所有区段可具有一个第一保护码。每个区段具有其对应的第二保护码。依此方式,所有区段被保护(或未被保护)作为默认值。关于一个或多个区段的保护状态,可通过设定它们各自的第二保护码而改变。
除了在一开始程序中决定关于第二保护码(DPB)的数值以外,第一保护码(SPB)也可在开始程序之后,决定第二保护码是否可被修改,如以图10及图11说明于下的。
图10为用于通过使用非挥发性保护码、挥发性保护码以及保护锁码,来保护一存储器装置上的数据的一示范方法的流程图。图10的方法可通过控制器169、第一保护码SPB、第二保护码DPB以及集成电路175的其他适当的组件而实施,用于保护存储于存储器阵列160中的数据。
图10的方法于步骤1010开始。如于图8的步骤810、820及830,控制器169将多个第一保护码(SPB)存储在一阵列的非挥发性存储器元件中(1010),将多个第二保护码(DPB)存储在一阵列的挥发性存储器元件中(1020),并在一初始化程序中将第二保护码设定至第一保护码的数值(1030)。如以图8所说明的,第一保护码具有关于存储器阵列160中的各个区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值。第二保护码具有关于存储器阵列160中的各个区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值。
此外,于步骤1040,当特定区段的第一保护码具有第一数值(保护状态)时,控制器169阻止对于供一特定区段用的第二保护码的改变。于步骤1050,当供特定区段用的第二保护码具有第一数值(保护状态)时,控制器169阻止一特定区段的修改。否则控制器169允许特定区段的修改。依此方式,一特定区段的第二保护码(DPB)决定特定区段是否被保护。同时,第一保护码(SPB)在一开始程序中决定第二保护码的数值,并在开始程序之后决定第二保护码的数值是否可被改变。
图11为一包括非挥发性保护码、挥发性保护码以及保护锁码的存储器装置的简化方块图。于此例子中,控制器169可从一结合集成电路175的***(例如,图2中的计算机***210)接收修改(编程或抹除)存储于存储器阵列160中的数据,或改变第一保护码(SPB)、第二保护码(DPB)或一保护锁码(SPBLD)的一个或多个请求(1110)。保护锁码(SPBLD)存储于一集成电路175中的一次性可编程存储器元件中。保护锁码具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值。当保护锁码具有第一数值(锁定模式)时,阻止对于第一保护码(SPD)的改变。
请求1110可通过一操作***或一由计算机***210的处理器214所执行的软件编程而开始。请求1110也可基于一用户命令。
举例而言,回应于一请求1110,控制器169可通过编程存储保护锁码的一次性可编程存储器元件将保护锁码SPBLD设定至第一数值(锁定状态)(1120)。一旦保护锁码被设定到第一数值,就阻止对于所有第一保护码(SPB)的改变(1121)。
响应于一将所有第一保护码(SPB)设定至第二数值(未保护状态)请求1110且当保护锁码具有第二数值(未锁定模式)时,控制器169通过针对存储第一保护码的非挥发性存储器元件执行一抹除操作将所有第一保护码设定至第二数值(1130)。
回应于一将一供一特定区段用的选择的第一保护码(SPB)设定至第一数值(保护状态)的请求1110,且当保护锁码具有第二数值(未锁定模式)时,控制器169通过编程存储选择的第一保护码的非挥发性存储器元件,将选择的第一保护码设定至第一数值(1130)。控制器169也将供特定区段用的第二保护码(DPB)设定至第一数值(保护状态)(1132)。
响应于一改变供一特定区段用的一第二保护码DPB的数值的请求1110,控制器169决定供特定区段用的第一保护码(SPB)的数值(1131)。如果供特定区段用的第一保护码具有第二数值(未保护状态),则基于请求1110,控制器169设定或重设供特定区段用的第二保护码(1140)。如果供特定区段用的第一保护码具有第一数值(保护状态),则控制器阻止对于供特定区段用的第二保护码的改变。
于此,如果供一特定区段用的第一保护码具有第一数值(保护状态),则因为第二保护码被初始化至第一保护码,所以供特定区段用的第二保护码总是具有第一数值,且对于第二保护码的改变被阻止。因此,特定区段总是被保护(“被锁定”),除非第一保护码从第一数值改变至第二数值(未保护状态)。
响应于一关于存储器阵列160中的数据的修改的请求1110,控制器169首先决定一包括对应于此请求的数据的存储器阵列160中的特定区段。控制器169决定供特定区段用的第二保护码(DPB)(1141)。如果供特定区段用的第二保护码具有第二数值(未保护状态),则控制器169继续允许对应于此请求的数据的修改。否则,控制器169阻止对应于此请求的数据的修改,并恢复一错误信息(至结合集成电路175的***)。
如以图10的步骤1030所说明的,第一保护码(SPB)的数值在一初始化程序中,被复制至供各个区段用的第二保护码(DPB)。在另一个实施例中,所有第二保护码在一初始化程序中被设定到第一数值(保护状态)(也就是,所有区段预设是受到保护)。依此方式,当集成电路175被启动时,第二保护码(DPB)被设定到保护状态。在另一实施例中,在第二保护码在初始化程序中被设定到第一保护码的数值之前,所有第二保护码在一初始化程序中被设定到第一数值(保护状态)持续一段时间。
保护锁码(SPBLD)可被存储于一集成电路175中的密码保护的存储器元件中。于一开始事件(例如,当集成电路175断电后再通电时),保护锁码被设定到第一数值(锁定模式),从而阻止对于第一保护码(SPB)的改变。保护锁码可被重设至具有一密码的第二数值(未锁定模式)(例如,由结合集成电路175的***的一用户所提供的64位数)。在保护锁码被重设至第二数值(未锁定模式)之后,控制器169允许对于第一保护码的改变。控制器169可将保护锁码设定至第一数值(例如,响应于一请求1110),从而阻止对于第一保护码的更进一步的改变。依此方式,存储于非挥发性存储器阵列中的第一保护码经由一断电及启动周期被维持,且无法在没有提供一密码的情况下被改变。
保护锁码可被存储于一集成电路175的挥发性存储器元件(例如,一SRAM单元)中。于一开始事件(例如,当集成电路175断电后再通电时),控制器169将保护锁码设定至第二数值(未锁定状态),从而允许对于保护码的改变。响应于一用户命令(例如,经由请求1110),控制器169将保护锁码设定至第一数值(锁定状态),从而阻止对于第一保护码的改变。第一保护锁码无法被设定到第二数值(未锁定状态),直到另一个开始事件(例如,断电后再通电或硬件重设)为止。
在另一实施例中,一非挥发性保护锁码DPBLD决定第二保护码DPB之初始数值,且第二保护码后来如何被修改,如以图12及图13说明于下的。
图12为用于通过使用非挥发性保护码、挥发性保护码、非挥发性保护码以及另一个保护锁码,来保护一存储器装置上的数据的一示范方法的流程图。图12的方法可通过控制器169、存储第一保护码SPB的存储器元件、第二保护码DPB与一非挥发性保护锁码DPBLD,以及集成电路175的其他适当的组件而被实施,用于保护存储于存储器阵列160中的数据。
图12的方法于步骤1210开始。如于图8的步骤810及820,控制器169将多个第一保护码(SPB)存储在一阵列的非挥发性存储器元件中(1210),并将多个第二保护码(DPB)存储在一阵列的挥发性存储器元件中(1220)。如以图8所说明的,第一保护码具有关于存储器阵列160中的各个区段的一个表示一保护状态的第一数值或一个表示一未保护状态的第二数值。第二保护码具有关于存储器阵列160中的各个区段的一个表示一保护状态的第一数值或一个表示一未保护状态的第二数值。
此外,于步骤1230,控制器169将一非挥发性保护锁码(DPBLD)存储在一集成电路175中的一次性可编程存储器元件(例如,一反熔丝)中。非挥发性保护锁码具有一个表示一锁定模式的第一数值,以及表示一未锁定模式的第二数值。
于步骤1240,当非挥发性保护锁码具有第一数值(锁定模式)时,控制器169在一初始化程序中(例如,在断电再通电后一段期间)将第二保护码(DPB)设定至第一保护码(SPB)的数值。在初始化程序之后,当对第一保护码做出一改变时,第二保护码被设定到对应的第一保护码的数值。也就是,在初始化程序中,第一保护码的数值被复制至供各个区段用的第二保护码。在初始化程序之后,第二保护码的数值被同步化至供各个区段用的第一保护码。举例而言,当存储器阵列160的一特定区段的第一保护码从第一数值改变至第二数值时,特定区段的第二保护码也从第一数值被改变至第二数值。关于另一个例子,当所有第一保护码被设定到第二数值(例如,通过针对存储第一保护码的非挥发性存储器元件的一抹除操作)时,所有第二保护码也被设定到第二数值(未保护状态)。
于步骤1250,当供特定区段用的第二保护码具有第一数值(保护状态)时,控制器169阻止一特定区段的修改。否则控制器169允许特定区段的修改。
图13为一种包括非挥发性保护码、挥发性保护码、非挥发性保护锁码,以及另一个保护锁码的存储器装置的简化方块图。于此例子中,控制器169可从一结合集成电路175的***(例如,图2中的计算机***210)接收修改(编程或抹除)存储于存储器阵列160中的数据,或改变第一保护码(SPB)、第二保护码(DPB)、非挥发性保护锁码(DPBLD),或另一个保护锁码(SPBLD)的一个或多个请求(1310)。保护锁码SPBLD存储于一集成电路175的一次性可编程存储器元件中。保护锁码SPBLD具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值。当保护锁码SPBLD具有第一数值(锁定模式)时,阻止对于第一保护码(SPD)的改变。
请求1310可通过一操作***或一由计算机***210的处理器214所执行的软件编程而开始。请求1310也可基于一用户命令。
举例而言,回应于一请求1310,控制器169可设定供非挥发性保护锁码DPBLD用的数值(1340)或供保护锁码SPBLD用的数值(1320)。
回应于一个设定供一个或多个第一保护码(SPB)用的数值的请求1310,控制器169首先决定保护锁码SPBLD的数值(1321)。如果保护锁码具有第一数值(锁定模式),则控制器169阻止请求1310。否则,控制器169继续设定供第一保护码用的数值(1330)。
如较早所说明的,当非挥发性保护锁码DPBLD具有第一数值(锁定模式)时,控制器169阻止改变第二保护码(DPB)的请求(1341)。第二保护码被初始化至第一保护码(SPB),并被同步化至对于第一保护码的更进一步的改变(1331)。
当非挥发性保护锁码DPBLD具有第二数值(未锁定模式)时,控制器169在一初始化程序中,将所有第二保护码(DPB)重设至第二数值(未保护模式)。在初始化程序之后,控制器169允许用于改变第二保护码的数值的请求1310。在初始化程序之后,如果供一特定区段用的第一保护码被设定到第一数值(保护状态),则供特定区段用的相对应的第二保护码也被设定到第一数值。非挥发性保护锁码DPBLD也被设定到第一数值(也就是,对于第二保护码没有允许更进一步的改变)。在一实施例中,当对第一保护码做出一改变时,控制器169将第二保护码设定至对应的第一保护码的数值并将非挥发性保护锁码DPBLD设定至第一数值。
注意一旦保护锁码被设定到第一数值,第二保护码就总是具有第一保护码的数值,这是因为第二保护码被初始化至第一保护码的数值,而对于第二保护码的改变被阻止。因此,供存储器阵列160中的区段用的保护状态有效地由第一保护码所决定。
响应于一关于存储器阵列160中的数据的修改的请求1310,控制器169首先决定一个包括对应于此请求的数据的存储器阵列160中的特定区段。控制器169决定供特定区段用的第二保护码(DPB)(1351)。如果供特定区段用的第二保护码具有第二数值(未保护状态),则控制器169继续允许对应于此请求的数据的修改。否则,控制器169阻止对应于此请求的数据的修改,并恢复一错误信息(至结合集成电路175的***)。
取代单一非挥发性保护锁码DPBLD的是,可使用多个非挥发性保护锁码DPBLD,以决定各个第二保护码DPB的初始数值,并决定各个保护码后来如何被修改。多个非挥发性保护锁码DPBLD存储于一阵列的一次性可编程存储器元件中。每个非挥发性保护锁码具有关于存储器阵列160中的此些区段的一对应区段的一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值。
当供一个特定区段用的非挥发性保护锁码DPBLD具有第一数值(锁定模式)时,控制器169阻止改变供特定区段用的第二保护码(DPB)的请求。供特定区段用的第二保护码被初始化至供特定区段用的第一保护码(SPB),并被同步化至对于供特定区段用的第一保护码的更进一步的改变。
当供一特定区段用的非挥发性保护锁码DPBLD具有第二数值(未锁定模式)时,控制器169在一初始化程序中将供特定区段用的第二保护码(DPB)重设至第二数值(未保护模式)。在初始化程序之后,控制器169允许用于改变供特定区段用的第二保护码的数值的请求1310。在初始化程序之后,如果供特定区段用的第一保护码被设定到第一数值(保护状态),则供特定区段用的相对应的第二保护码也被设定到第一数值。供特定区段用的非挥发性保护锁码DPBLD也被设定到第一数值(也就是,对于第二保护码没有允许更进一步的改变)。
注意一旦供一特定区段用的保护锁码被设定到第一数值,供特定区段用的第二保护码就总是具有供特定区段用的第一保护码的数值,这是因为第二保护码被初始化至第一保护码的数值,而对于第二保护码的改变被阻止。因此,供特定区段用的保护状态有效地由相对应的第一保护码所决定。
虽然本发明参考上面详述的优选实施例及例子所揭露的,但我们应理解到这些例子是意图呈现一种说明而非限制的意义。应考虑到本领域技术人员将轻易明白修改及组合,其修改及组合将是在本发明的精神与权利要求的范畴之内。

Claims (16)

1.一种存储器电路,其特征在于,包括:
一非挥发性存储器阵列,包括多个区段的非挥发性存储单元;
一阵列的非挥发性存储器元件,该阵列中的每个非挥发性存储器元件存储一非挥发性保护码,该非挥发性保护码具有关于该多个区段中的一对应区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值;
一阵列的挥发性存储器元件,该阵列中的每个挥发性存储器元件存储一挥发性保护码,该挥发性保护码具有关于该多个区段中的一对应区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值;以及
控制逻辑,耦接至该非挥发性存储器阵列,该控制逻辑在供特定区段用的该挥发性保护码具有该第一数值时,阻止一特定区段的修改,否则允许该特定区段的修改,且该控制逻辑在一初始化程序中将这些挥发性保护码设定至非挥发性保护码的这些数值;
其中:
该阵列的非挥发性存储器元件被设计成执行一种将所有的这些非挥发性保护码设定至该第二数值的抹除操作,以及一种将选择的非挥发性保护码设定至该第一数值的编程操作。
2.根据权利要求1所述的存储器电路,其中:该阵列的挥发性存储器元件被设计成执行一种将这些选择的挥发性保护码从该第二数值设定至该第一数值的操作,以及一种将选择的挥发性保护码从该第一数值重设至该第二数值的操作。
3.根据权利要求1所述的存储器电路,其中该阵列的挥发性存储器元件被设计成执行一种将选择的挥发性保护码从该第二数值改变成该第一数值,以及从该第一数值改变成该第二数值的操作,且该控制逻辑在供该特定区段用的该非挥发性保护码具有该第一数值时,阻止改变供一特定区段用的该挥发性保护码的这些操作,且在当供该特定区段用的该非挥发性保护码从该第一数值重设至该第二数值时,导致供一特定区段用的该挥发性保护码改变至该第二数值。
4.根据权利要求1所述的存储器电路,其特征在于,还包括一存储一保护锁码的一次性可编程存储器元件,该保护锁码具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值,且其中当该保护锁码具有该第一数值时,该控制逻辑阻止对于该阵列的非挥发性存储器元件中的这些非挥发性保护码的改变。
5.根据权利要求1所述的存储器电路,其特征在于,还包括一存储一保护锁码的密码保护的存储器元件,该保护锁码具有一个表示一锁定模式的第一数值,以及一个表示一未锁定模式的第二数值,且其中当该保护锁码具有该第一数值时,该控制逻辑阻止对于该阵列的非挥发性存储器元件中的这些非挥发性保护码的改变;
其中该控制逻辑在一初始化程序中将该保护锁码设定至该第一数值,并只在收到一密码之时,允许重设至该第二数值。
6.根据权利要求1所述的存储器电路,其特征在于,还包括一存储一保护锁码的挥发性存储器元件,该保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中当该保护锁码具有该第一数值时,该控制逻辑阻止对于该阵列的非挥发性存储器元件中的这些非挥发性保护码的改变;
其中该控制逻辑在一初始化程序中将该保护锁码设定至该第二数值,并在收到一命令之时允许设定至该第一数值,然后,直到在另一个初始化事件之前,阻止对于该保护锁码的改变。
7.根据权利要求1所述的存储器电路,其特征在于,还包括一存储一非挥发性保护锁码的一次性可编程存储器元件,该非挥发性保护锁码具有一个表示一锁定模式的第一数值及一个表示一未锁定模式的第二数值,且其中:
当该非挥发性保护锁码在一初始化程序中具有该第二数值时,该控制逻辑将所有的这些挥发性保护码设定至该第二数值,以及在该初始化程序后允许对于这些挥发性保护码的改变;
当该非挥发性保护锁码具有该第二数值时,当对这些非挥发性保护码做出一改变时,该控制逻辑将这些挥发性保护码设定至对应的非挥发性保护码的数值并将该非挥发性保护锁码设定至该第一数值;以及
当该非挥发性保护锁码在一初始化程序中具有该第一数值时,该控制逻辑将所有的这些挥发性保护码设定至对应的非挥发性保护码的数值,且在该初始化程序之后当对这些非挥发性保护码做出一改变时,该控制逻辑将这些挥发性保护码设定至对应的非挥发性保护码的数值。
8.根据权利要求1所述的存储器电路,其特征在于,包括一阵列的一次性可编程存储器元件,其存储供数个对应区段用的非挥发性保护锁码,这些非挥发性保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中:
当供一特定区段用的该非挥发性保护锁码在一初始化程序中具有该第二数值时,该控制逻辑将该挥发性保护码设定至该第二数值,且在该初始化程序之后,允许对于供该特定区段用的该挥发性保护码的改变;
当供一特定区段用的该非挥发性保护锁码具有该第二数值时,当对供该特定区段用的该非挥发性保护码做出一改变时,该控制逻辑将供该特定区段用的该挥发性保护码设定至对应的非挥发性保护码的数值,并将供该特定区段用的该挥发性保护锁码设定至该第一数值;以及
当供该特定区段用的该非挥发性保护锁码在一初始化程序中具有该第一数值时,该控制逻辑将供该特定区段用的该挥发性保护码设定至对应的非挥发性保护码的数值,且在该初始化程序之后,当对供该特定区段用的该非挥发性保护码做出一改变时,该控制逻辑将该挥发性保护码设定至供该特定区段用的对应的非挥发性保护码的数值。
9.一种存储器的集成电路上的数据保护方法,其特征在于,包括:
将多个第一保护码存储在该集成电路上,这些第一保护码具有关于该存储器的多个区段中的各个区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值;
该多个第一保护码在一断电事件期间被存储;
将多个第二保护码存储在该集成电路上,这些第二保护码具有关于该多个区段中的各个区段的一个表示一保护状态的第一数值,或一个表示一未保护状态的第二数值;
该多个第二保护码在一断电事件期间被清除;以及
当供特定区段用的该第二保护码具有该第一数值时,通过使用该集成电路上的电路阻止一特定区段的修改,否则允许该特定区段的修改,并在一初始化程序中将这些第二保护码设定至这些第一保护码的数值;
其中:
将该多个第一保护码存储在一阵列的非挥发性存储器元件中,该阵列的非挥发性存储器元件被设计成执行一种将所有的这些第一保护码设定至该第二数值的抹除操作,以及一种将选择的第一保护码设定至该第一数值的编程操作。
10.根据权利要求9所述的数据保护方法,其特征在于,包括:将该多个第二保护码存储在该阵列的挥发性存储器元件中,该阵列的挥发性存储器元件被设计成执行一种将这些选择的第二保护码从该第二数值设定至该第一数值的操作,以及一种将选择的第二保护码从该第一数值重设至该第二数值的操作。
11.根据权利要求9所述的数据保护方法,其特征在于,包括:将该多个第二保护码存储在一阵列的挥发性存储器元件中,该阵列的挥发性存储器元件被没计成执行一种将选择的第二保护码从该第二数值改变成该第一数值,以及从该第一数值改变成该第二数值的操作,且当供该特定区段用的该第一保护码具有该第一数值时,阻止改变成供一特定区段用的该第二保护码的这些操作,且当供该特定区段用的该第一保护码从该第一数值重设至该第二数值时,供一特定区段用的该第二保护码改变成该第二数值。
12.根据权利要求9所述的数据保护方法,其特征在于,包括:将一保护锁码存储在一个一次性可编程存储器元件中,该保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中当该保护锁码具有该第一数值时,阻止对于这些第一保护码的改变。
13.根据权利要求9所述的数据保护方法,其特征在于,包括:将一保护锁码存储在一密码保护的存储器元件中,该保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中当该保护锁码具有该第一数值时,阻止对于该第一保护的改变;
其中该保护锁码于一初始化程序中被设定到该第一数值,并只在收到一密码之时被允许重设至该第二数值。
14.根据权利要求9所述的数据保护方法,包括:将一保护锁码存储在一挥发性存储器元件中,该保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中当该保护锁码具有该第一数值时阻止对于这些第一保护码的改变;
其中该保护锁码于一初始化程序中被设定到该第二数值,该保护锁码被允许用于在收到一命令之时设定至该第一数值,然后,直到在另一个初始化事件之前,阻止对于该保护锁码的改变。
15.根据权利要求9所述的数据保护方法,其特征在于,包括:将一非挥发性保护锁码存储在一个一次性可编程存储器元件中,该非挥发性保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中:
当该非挥发性保护锁码在一初始化程序中具有该第二数值时,所有的这些挥发性保护码被设定到该第二数值,藉以在该初始化程序之后允许对于这些第二保护码的改变;
当该非挥发性保护锁码具有该第二数值时,当对于这些第一保护码做出一改变时,这些第二保护码被设定到对应的第一保护码的数值,且该非挥发性保护锁码被设定到该第一数值;以及
当该非挥发性保护锁码在一初始化程序中具有该第一数值时,所有的这些第二保护码被设定到对应的第一保护码的数值,且在该初始化程序之后,当对这些第一保护码做出一改变时,这些第二保护码被设定到对应的第一保护码的数值。
16.根据权利要求9所述的数据保护方法,其特征在于,包括将供数个对应区段用的非挥发性保护锁码存储在一阵列的一次性可编程存储器元件中,这些非挥发性保护锁码具有一个表示一锁定模式的第一数值及一个指示一未锁定模式的第二数值,且其中:
当供一特定区段用的该非挥发性保护锁码在一初始化程序中具有该第二数值时,该第二保护码被设定到该第二数值,藉以在该初始化程序之后允许对于供该特定区段用的该第二保护码的改变;
当供一特定区段用的该非挥发性保护锁码具有该第二数值时,当对供该特定区段用的该第一保护码做出一改变时,供该特定区段用的该第二保护码被设定到对应的第一保护码的数值,且供该特定区段用的该挥发性保护锁码被设定到该第一数值;以及
当供该特定区段用的该非挥发性保护锁码在一初始化程序中具有该第一数值时,供该特定区段用的该第二保护码被设定到对应的第一保护码的数值,且在该初始化程序之后,当对供该特定区段用的该第一保护码做出一改变时,该第二保护码被设定到供该特定区段用的对应的第一保护码的数值。
CN201510088382.2A 2014-02-26 2015-02-26 存储器的集成电路上的数据保护方法及相关的存储器电路 Active CN104916328B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US201461945112P 2014-02-26 2014-02-26
US61/945,112 2014-02-26
US14/310,502 US9940048B2 (en) 2014-02-26 2014-06-20 Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
US14/310,450 2014-06-20
US14/310,502 2014-06-20
US14/310,450 US9658787B2 (en) 2014-02-26 2014-06-20 Nonvolatile memory data protection using nonvolatile protection codes and volatile mask codes

Publications (2)

Publication Number Publication Date
CN104916328A CN104916328A (zh) 2015-09-16
CN104916328B true CN104916328B (zh) 2019-05-31

Family

ID=53882239

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201510088156.4A Active CN104916306B (zh) 2014-02-26 2015-02-26 存储器的集成电路上的数据保护方法及相关的存储器电路
CN201510088382.2A Active CN104916328B (zh) 2014-02-26 2015-02-26 存储器的集成电路上的数据保护方法及相关的存储器电路

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201510088156.4A Active CN104916306B (zh) 2014-02-26 2015-02-26 存储器的集成电路上的数据保护方法及相关的存储器电路

Country Status (3)

Country Link
US (2) US9658787B2 (zh)
CN (2) CN104916306B (zh)
TW (2) TWI518506B (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10855477B2 (en) 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10911229B2 (en) 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
US11258599B2 (en) 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10680809B2 (en) 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10469271B2 (en) 2016-08-04 2019-11-05 Macronix International Co., Ltd. Physical unclonable function for non-volatile memory
US9811689B1 (en) 2016-12-27 2017-11-07 Macronix International Co., Ltd. Chip ID generation using physical unclonable function
US10387333B2 (en) * 2017-01-05 2019-08-20 Qualcomm Incorporated Non-volatile random access memory with gated security access
US10585608B2 (en) * 2017-03-22 2020-03-10 Oracle International Corporation System and method for securely isolating a system feature
US10296738B2 (en) * 2017-05-03 2019-05-21 Nuvoton Technology Corporation Secure integrated-circuit state management
EP3407336B1 (en) 2017-05-22 2022-08-17 Macronix International Co., Ltd. Unchangeable phyisical unclonable function in non-volatile memory
EP3407335B1 (en) * 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
TWI688861B (zh) * 2018-09-18 2020-03-21 新唐科技股份有限公司 資料處理裝置及其資料保護方法
US11050569B2 (en) 2019-08-14 2021-06-29 Macronix International Co., Ltd. Security memory scheme
US11049585B1 (en) 2020-03-27 2021-06-29 Macronix International Co., Ltd. On chip block repair scheme
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6731536B1 (en) * 2001-03-05 2004-05-04 Advanced Micro Devices, Inc. Password and dynamic protection of flash memory data
CN1558423A (zh) * 2003-02-27 2004-12-29 ��ʿͨ��ʽ���� 半导体存储器
USRE42551E1 (en) * 1997-02-03 2011-07-12 Vishram Prakash Dalvi Block locking apparatus for flash memory

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4959860A (en) 1989-02-07 1990-09-25 Compaq Computer Corporation Power-on password functions for computer system
DE69024086T2 (de) 1989-04-13 1996-06-20 Sundisk Corp EEprom-System mit Blocklöschung
US5065364A (en) 1989-09-15 1991-11-12 Intel Corporation Apparatus for providing block erasing in a flash EPROM
US5126808A (en) 1989-10-23 1992-06-30 Advanced Micro Devices, Inc. Flash EEPROM array with paged erase architecture
US5210845A (en) 1990-11-28 1993-05-11 Intel Corporation Controller for two-way set associative cache
US5197034A (en) 1991-05-10 1993-03-23 Intel Corporation Floating gate non-volatile memory with deep power down and write lock-out
US5353256A (en) 1993-06-30 1994-10-04 Intel Corporation Block specific status information in a memory device
US5592641A (en) 1993-06-30 1997-01-07 Intel Corporation Method and device for selectively locking write access to blocks in a memory array using write protect inputs and block enabled status
US5509134A (en) 1993-06-30 1996-04-16 Intel Corporation Method and apparatus for execution of operations in a flash memory array
US5513136A (en) 1993-09-27 1996-04-30 Intel Corporation Nonvolatile memory with blocks and circuitry for selectively protecting the blocks for memory operations
US5442704A (en) 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
US5438546A (en) 1994-06-02 1995-08-01 Intel Corporation Programmable redundancy scheme suitable for single-bit state and multibit state nonvolatile memories
US5794033A (en) 1995-10-24 1998-08-11 International Business Machines Corporation Method and system for in-site and on-line reprogramming of hardware logics with remote loading in a network device
US6073243A (en) 1997-02-03 2000-06-06 Intel Corporation Block locking and passcode scheme for flash memory
US5930826A (en) 1997-04-07 1999-07-27 Aplus Integrated Circuits, Inc. Flash memory protection attribute status bits held in a flash memory array
US6209069B1 (en) 1998-05-11 2001-03-27 Intel Corporation Method and apparatus using volatile lock architecture for individual block locking on flash memory
US6026016A (en) 1998-05-11 2000-02-15 Intel Corporation Methods and apparatus for hardware block locking in a nonvolatile memory
IL129947A (en) 1999-05-13 2003-06-24 Tadiran Telecom Business Syste Method and apparatus for downloading software into an embedded system
US6598135B1 (en) * 2000-05-03 2003-07-22 Plasmon Ide System and method for defining rewriteable data storage media as write once data storage media
FR2810152A1 (fr) 2000-06-13 2001-12-14 St Microelectronics Sa Memoire eeprom securisee comprenant un circuit de correction d'erreur
JP2002230982A (ja) 2001-02-01 2002-08-16 Mitsubishi Electric Corp 不揮発性半導体記憶装置
US20030233562A1 (en) * 2002-06-12 2003-12-18 Sachin Chheda Data-protection circuit and method
JP2004038569A (ja) * 2002-07-03 2004-02-05 Toshiba Lsi System Support Kk 不揮発性メモリのデータ保護システム
EP1450261A1 (en) 2003-02-18 2004-08-25 STMicroelectronics S.r.l. Semiconductor memory with access protection scheme
US8639946B2 (en) * 2005-06-24 2014-01-28 Sigmatel, Inc. System and method of using a protected non-volatile memory
CN102385556B (zh) * 2011-11-08 2014-11-26 聚辰半导体(上海)有限公司 串行非易失性存储器及解除存储器写保护的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USRE42551E1 (en) * 1997-02-03 2011-07-12 Vishram Prakash Dalvi Block locking apparatus for flash memory
US6731536B1 (en) * 2001-03-05 2004-05-04 Advanced Micro Devices, Inc. Password and dynamic protection of flash memory data
CN1558423A (zh) * 2003-02-27 2004-12-29 ��ʿͨ��ʽ���� 半导体存储器

Also Published As

Publication number Publication date
CN104916328A (zh) 2015-09-16
TW201543219A (zh) 2015-11-16
US9940048B2 (en) 2018-04-10
CN104916306B (zh) 2018-01-26
CN104916306A (zh) 2015-09-16
US9658787B2 (en) 2017-05-23
TW201539467A (zh) 2015-10-16
TWI537972B (zh) 2016-06-11
US20150242158A1 (en) 2015-08-27
TWI518506B (zh) 2016-01-21
US20150242140A1 (en) 2015-08-27

Similar Documents

Publication Publication Date Title
CN104916328B (zh) 存储器的集成电路上的数据保护方法及相关的存储器电路
CN105612528B (zh) 虚拟机的虚拟安全模式
US11126565B2 (en) Encrypted memory access using page table attributes
CN110908932B (zh) 数据处理装置及其数据保护方法
US7249231B2 (en) Semiconductor memory with access protection scheme
DE202015009780U1 (de) Speichersystem und elektronisches Gerät
US20130339655A1 (en) Translation look-aside table management
KR20110098567A (ko) 최소 부트 이미지의 생성 방법 및 장치
CN105917308A (zh) 分区为包括元数据区域的多个区域的字节可寻址非易失性读写主存储器
CN104969293B (zh) 保护存储设备的内容的方法和对应的存储设备
US8417902B2 (en) One-time-programmable memory emulation
CN106201331A (zh) 用于写入数据的方法及设备与储存媒体
EP2798568A1 (en) Host device and method for partitioning attributes in a storage device
CN102043648A (zh) 多核***及其启动方法
CN104765528A (zh) 一种虚拟键盘显示方法及装置
US20190370189A1 (en) Off-chip memory address scrambling apparatus and method for system on chip
CN104239096A (zh) Android***实现安全数据区的方法及装置
CN106155568A (zh) 一种存储分区的方法及终端
DE102013112897A1 (de) Nichtflüchtiger Speicher und Verfahren zum Betreiben eines nichtflüchtigen Speichers
US9202073B2 (en) Security measures for data protection
DE112019007230T5 (de) Multimodus-Geschützter-Speicher
JP2021060721A (ja) メモリシステム
KR20170055206A (ko) 세이프 어드레스 매핑을 이용한 메모리 셀 액세스 제어 방법
JP6318073B2 (ja) 電子機器
US8423705B2 (en) Semiconductor device and method for controlling thereof

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant