CN108959976A - 操作具非易失性存储单元电路的方法及使用所述方法的电路 - Google Patents

操作具非易失性存储单元电路的方法及使用所述方法的电路 Download PDF

Info

Publication number
CN108959976A
CN108959976A CN201810497725.4A CN201810497725A CN108959976A CN 108959976 A CN108959976 A CN 108959976A CN 201810497725 A CN201810497725 A CN 201810497725A CN 108959976 A CN108959976 A CN 108959976A
Authority
CN
China
Prior art keywords
memory cells
key
volatile memory
circuit
storage unit
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.)
Granted
Application number
CN201810497725.4A
Other languages
English (en)
Other versions
CN108959976B (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
Priority claimed from US15/601,582 external-priority patent/US10715340B2/en
Priority claimed from US15/864,445 external-priority patent/US10911229B2/en
Application filed by Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN108959976A publication Critical patent/CN108959976A/zh
Application granted granted Critical
Publication of CN108959976B publication Critical patent/CN108959976B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/73Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Read Only Memory (AREA)

Abstract

本发明提供一种操作具非易失性存储单元电路的方法及使用所述方法的电路,所述电路包括多个非易失性存储单元及逻辑,所述逻辑用以使用实体不可复制功能以产生密钥且将密钥存储于多个非易失性存储单元中的一组非易失性存储单元中。实体不可复制功能可使用衍生自多个非易失性存储单元中的非易失性存储单元的熵以产生密钥。逻辑经描述为禁用对所述组非易失性存储单元中的数据的改变,且从而在密钥存储于所述组中之后将其冻结。

Description

操作具非易失性存储单元电路的方法及使用所述方法的电路
技术领域
本发明是关于集成电路,包含闪存或其他非易失性存储器,具有利用独特密钥或独特标识码的安全特性。
背景技术
已研发出具有极高容量的集成电路存储器元件,包括非易失性存储器(诸如闪存)。一些技术被认为可能在集成电路上实现兆位规模(terabit-scale)的阵列。此外,存储器元件经部署于通过例如因特网协议通讯技术来操作的网络互连的所谓「物联网IoT」元件中。对存储数据的IoT元件及其他元件的关注点为数据安全。因此,需通过独特密钥加密、通过独特ID验证以及询问/回应技术的安全协议已被部署。
安全协议需要密钥管理技术以产生、更新、存储以及保护所采用的独特密钥及ID。
实体不可复制功能(PUF,被称作physical unclonable function或physicallyunclonable function)为可用以产生用于诸如集成电路的实体的独特随机密钥的程序。使用PUF是用以产生用于支持硬件固有安全(hardware intrinsic security;HIS)技术的芯片ID的密钥的解决方案。产生PUF的电路为(或包含)实施于产生易于评估(evaluate)但难以预测(predict)的码的实体结构中的实体。
PUF已用于诸如行动元件及嵌入元件的具有高安全要求的应用中的密钥产生。一实例PUF为环振荡器PUF,其使用对栅极的电路传播延迟固有的制造变异性(manufacturingvariability)。另一实例PUF为SRAM PUF,其中晶体管中的阈值电压差值产生呈逻辑「0」或逻辑「1」的SRAM加电(powering up)。参见Charles Herder等人的「Physical UnclonableFunctions and Applications:A Tutorial」,第1126页至第1141页,Proceedings of theIEEE,第102卷,第8号,2014年8月。
已有提出使用电阻性随机存取存储器的物理性质的PUF。参见Yoshimoto等人的「AReRAM-based Physically Unclonable Function with Bit Error Rate<0.5%after10years at 125℃for 40nm embedded application」,第198页至第199页,2016年,Symposium on VLSI Technology Digest of Technical Papers。论文中呈现的应用提出对归因于老化衰减而增大位误差率的习知ReRAM PUF的ID产生方法的改良。然而,在此基于ReRAM的PUF中,产生的数据仍可被存储单元的电阻漂移损坏,其可产生在存取或使用所存储的密钥时不可被接受的位误差率。此类电阻漂移在一些集成电路的应用中遇到高温时可更明显,例如在汽车应用中。
由于具有高位误差率的问题,因此当使用由PUF电路所产生的数据集时,先前技术依赖于误差校正码以改良可靠性。参见例如Lee等人的2016年6月2日公布的美国专利申请公开案第2016/0156476号,「Physically Unclonable Function Circuits and Methodsof Performing Key Enrollment in Physically Unclonable Function Circuits」。
需要提供给包含非易失性存储器的集成电路支持使用PUF产生的密钥及其他独特密钥的技术。此外,需要部署元件易于制造但产生即使知道其产生的确切制造工艺也几乎不可能复制或预测的码的技术。
发明内容
描述元件及系统,其可改良利用实体不可复制功能且通常利用随机密钥来产生PUF密钥的安全电路的灵活性及可靠性,且其供用于将PUF密钥保持为不可变形式。如所使用的PUF密钥为使用PUF产生的数据集,且可用于许多目的,包含独特标识符,且对于一些实例可在加密及验证程序用作密钥或码。本文描述了用以在PUF密钥产生且在内部逻辑存储之后将PUF密钥冻结的技术,其中所述内部逻辑在一些实施例中被自动触发。在其他实施例中,可响应于在PUF已被执行且PUF密钥测试之后发出的外部命令来将如本文所描述的PUF密钥冻结。如此,本文中所描述的技术可在集成电路上产生且存储永久且可靠的PUF密钥。
本文中所描述的元件及系统适用于物联网元件,且可实施于广泛多种环境中。
描述一种元件,其可实施于单个封装集成电路或多芯片模块上,所述元件包括多个非易失性存储单元及逻辑,所述逻辑用以使用实体不可复制功能以产生密钥且将密钥存储于多个非易失性存储单元中的一组非易失性存储单元中。在本文所描述的实施例中,实体不可复制功能可使用衍生自多个非易失性存储单元中的非易失性存储单元的熵以产生密钥。逻辑经描述为在将密钥存储于所述组非易失性存储单元中之后禁用对所述组中的数据的改变。
在本文中所描述的一些实施例中,通过禁用实体不可复制功能来禁用对所述组非易失性存储单元中的数据的改变。在本文中所描述的一些实施例中,通过设定抑止程序及对所述组非易失性存储单元中的存储单元的擦除操作的指示器来禁用对所述组非易失性存储单元中的数据的改变。所述指示器可与所述多个存储单元结合,如同用于非易失性存储器阵列的抑止锁定位技术(block-lock bit technology),或与用以执行实体不可复制功能的控制逻辑结合。
在本文中所描述的一实施例中,可使用由系统产生且与校验及测试存储于所述组非易失性存储单元中的密钥的元件进行通讯的外部信号来设定指示器。若外部系统判定密钥满足其预期目的,则其可发出信号使得将设定的指示器禁用对存储于所述组非易失性存储单元中的数据的改变。否则,可重试使用实体不可复制功能产生密钥的程序。
在本文中所描述的一些实施例中,通过要求协议启用使用实体不可复制功能来禁用对所述组非易失性存储单元中的数据的改变,诸如通过禁用用以存取所述组非易失性存储单元以存储所产生的密钥的电路、以及抑止其他存取电路(例如用以在元件上的其他非易失性存储单元中读取且写入数据的存取电路)存取所述组非易失性存储单元。在一些实例中,用以启用使用实体不可复制功能的协议包含验证协议,其必须由外部元件成功地执行以实现实体不可复制功能。
在其他实例中,用以启用使用实体不可复制功能的协议包含自用以存储密钥的所述组非易失性存储单元读取数据及将所述数据与默认型样(pattern)比较的过程。预设型样可对应于所述组非易失性存储单元在执行实体不可复制功能之前的状态。若数据与默认型样不匹配,则可禁用实体不可复制功能。若数据与默认型样匹配,则可启用实体不可复制功能。
描述一种元件,举例而言,其可实施于单个封装集成电路或多芯片模块中,所述元件包括非易失性存储器阵列,所述非易失性存储器阵列包含多个存储单元块(block),其中密钥存储于所述多个块中的一特定块中。包含用于自阵列与数据进行外部通讯的端口。安全逻辑耦接至存储器阵列,所述存储器阵列在协议中利用密钥以启用存取数据,或解密或加密存储于所述多个区块中的所述区块中的数据。访问控制电路耦接至阵列且包含用以使得供用于协议中的安全逻辑能够只读存取存储密钥的特定块且防止外部通讯网络或元件经由所述端口存取特定块的逻辑。访问控制电路可具有第一状态,第一状态中启用经由所述端口对特定块的存取以写入密钥;以及第二状态,第二状态中禁用经由所述端口的读取或写入对特定块进行的存取,但启用由安全逻辑在主机或其他外部元件执行安全协议期间的读取对特定块进行的存取。封装集成电路或多芯片模块可包含用以执行功能的逻辑,所述功能包含实体不可复制功能,诸如本文所描述的依赖于电荷收集(charge-trapping)非易失性存储单元作为实体电路的功能,使用存储器阵列中的一组存储单元以产生密钥。在本文所描述的实施例中,多个密钥可存储于特定块或不同块中的集成电路上。此外,安全逻辑可经组态以使用所述多个密钥中的特定密钥一次或有限次数,以启用存取存储于所述多个块中的块中的数据。在一些实施例中,存储于特定块中的密钥可为较大密钥,包含例如数千或数兆位。
提供一种用于产生可在集成电路上用作唯一识别符或密钥的数据集的方法,所述集成电路使用包含浮动栅极(floating gate)及介电质电荷收集技术的电荷收集非易失性存储单元,且在一些实施例中使用其他类型的非易失性存储单元。所述方法可包含实体不可复制功能,其使得在所述组中的存储单元内建立可变阈值,诸如阈值电压。所述方法可用以产生可以零位误差率或极低位误差率使用的稳定的基于PUF的数据集。
如所描述的装置包括一组电荷收集存储单元(诸如快闪存储单元)。包含位于所述集成电路上、位于具有对所述集成电路的访问权限的处理器系统上,或包含位于两者上的部分的电路,其具有对所使用的所述组电荷收集存储单元的访问权限以使用所述组电荷收集存储单元提供数据集。作为在存储单元中的电荷存储结构中引发电荷收集的通用过程的结果,所提供的数据集为所述组电荷收集存储单元的不同成员的可变阈值电压的函数。根据所述技术的一个方式,所述组电荷收集存储单元具有可由位址表示的次序,以及具有起始分布的可变阈值电压。根据所述技术的此方式的数据集为按具有起始分布的特定部分中的阈值电压的所述组电荷收集存储单元的子组的顺序定位的功能。
描述一种用于在包含可编程存储单元(诸如快闪存储单元)的集成电路上产生数据集的方法。所述方法包含将集成电路上一组具有位址的可编程存储单元暴露至在所述组的成员中引发起始阈值分布内的可变阈值的通用程序。所述方法包含寻找具有所述分布的第一部分中的阈值的所述组可编程存储单元中的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元中的第二子组。所述方法包含使用第一及第二子组中的至少一者的位址来产生数据集。
在一个实施例中,使用位址产生数据集以在第一子组及第二子组中的一者中选择存储单元,且对所选择的存储单元施加偏压操作以在第一子组的存储单元与第二子组的存储单元之间建立感测边限(sensing margin)。在一个实施例中,可通过寻址所述子组中的所选择一者中的存储单元且对所寻址的存储单元施加偏压操作来建立感测边限,所述偏压操作将其阈值改变为超出起始分布的范围的阈值分布。其后可通过使用感测边限内的读取电压来读取所述组可编程存储单元中的存储单元来产生数据集。
在另一实施例中,通过将第一及第二子组中的至少一者中的存储单元的位址组合为子组中的成员的函数及其位址的函数来产生数据集。一种用于组合位址的技术可包括按次序将所述子组中的一者或每一者的位址串接(concatenating)。包括组合的位址的数据集可存储于不同于所述组可编程存储单元的集成电路上的存储器中。
在本文中所描述的另一技术中,通过以下步骤来产生数据集:在起始分布中寻找第一分隔线及不同于第一分隔线的第二分隔线;识别具有低于起始分布的第一部分中的第一分隔线的阈值的所述组可编程存储单元中的第一子组,及具有高于起始分布的第二部分中的第二分隔线的阈值的所述组可编程存储单元中的第二子组;以及使用第一子组及第二子组中的至少一者的位址产生数据集。
一种用于寻找分隔线的方法包含:测定起始分布中的阈值电压,在所述阈值电压下,具有低于阈值电压的阈值的存储单元的计数与具有高于阈值电压的阈值的存储单元的计数的比率在目标比率范围内;及通过自阈值电压减去第一常数来设定第一分隔线;以及通过向阈值电压加上第二常数来设定第二分隔线。用于寻找分隔线的另一种方法包含:使用移动第一读取电压反复地读取所述组可编程存储单元中的数据值,及对具有低于第一读取电压的阈值的所述组中的存储单元计数,及使用第一读取电压设定分隔线,在所述第一读取电压下,所述计数在第一目标计数范围内;及使用移动第二读取电压反复地读取所述组可编程存储单元中的数据值,及对具有高于第二读取电压的阈值的所述组中的存储单元计数,及使用第二读取电压设定第二分隔线,在所述第二读取电压下,所述计数在第二目标计数范围内。
亦描述一种根据本文所提供的用于产生数据集的方法来制造集成电路的方法。
描述包括集成电路上的一组可编程存储单元及用以通过本文中所描述的过程产生数据集的装置。
在审阅以下附图、实施方式以及权利要求之后可以看出本发明的其他方式以及优点。
附图说明
图1为包括多个快闪存储单元及用于执行PUF以使用所述多个快闪存储单元来提供数据集的控制器的装置的简化方块图。
图2说明包括多个可编程存储单元及用于执行PUF以使用所述多个快闪存储单元来提供数据集的控制器的装置的另一实例。
图3说明集成电路上的闪存的可编程存储单元的区块,包含PUF区块。
图4A至图4E说明通过寻找一组第一及第二子组的可编程存储单元来产生数据集及基于所识别的第一及第二子组建立稳定数据集的实例。
图5A至图5E说明产生如图4A至图4E所论述的数据集的另一实例,绘示即使应用相同过程时数据集中的变化。
图6绘示用于在包含可编程存储单元的集成电路上产生稳定数据集的实例流程图,如图4A至图4E及图5A至图5E所描述。
图7A至图7E说明通过寻找一组可编程存储单元中的第一子组、第二子组以及第三子组来产生数据集及对所述数据集建立位址映像的实例。
图8绘示用于在包含可编程存储单元的集成电路上产生数据集的实例流程图,如图7A至图7E所描述。
图9绘示用于在包含可编程存储单元的集成电路上产生数据集的另一实例流程图,如图7A至图7E所描述。
图10A至图10C说明将所述组中的可编程存储单元的阈值设定为起始分布。
图10D至图10F说明可用于产生如本文所描述的数据集的实例快闪存储单元技术。
图11绘示用于施加初始化偏压操作将所述组中的可编程存储单元的阈值设定为起始分布的实例流程图。
图12A至图12C说明可用于依赖于电荷收集存储单元中的阈值电压中的差异来产生数据集的过程。
图13为用于以图12A至图12C所解释的方式在包含可编程电荷收集存储单元的集成电路上产生稳定数据集的实例流程图。
图14A至图14C说明可用于依赖于电荷收集存储单元中的阈值电压中的差异来产生数据集的替代过程。
图15为用于以图14A至图14C所解释的方式在包含可编程电荷收集存储单元的集成电路上产生稳定数据集的实例流程图1500。
图16为包含闪存阵列及用于利用存储器阵列以提供数据集的集成电路的简化方块图。
图17为绘示包含实体不可复制功能电路及非易失性存储器的与注册系统耦接的封装集成电路或多芯片模块的系统图。
图17A为绘示包含替代实体不可复制功能电路及非易失性存储器的与类似图17中的注册系统耦接的封装集成电路或多芯片模块的系统图。
图18说明可在类似于图17的系统中使用的非易失性存储器的替代组态。
图19说明可在类似于图17的系统中使用的非易失性存储器的另一替代组态。
图20说明可用以存储安全ID及位址映像的数据结构,所述安全ID及位址映像根据如本文中所描述的实体不可复制功能的一些实施例产生,且可存储于诸如图17中的系统中。
图21为包含封装集成电路或多芯片模块以及利用具有非易失性存储器的实体不可复制功能电路的主机的简化系统图。
图22至图24为说明类似于图21的系统在各种实施例中的操作的简化流程图。
图25至图28提供与如本文所描述的非易失性存储器组合的实体不可复制电路的各种替代组态的简化说明。
图29为由集成电路上的控制器执行用来执行实体不可复制功能及冻结产生的密钥的程序的简化流程图。
图30为由集成电路上的控制器执行用来执行实体不可复制功能及冻结产生的密钥的替代程序的简化流程图。
图31为由集成电路上的控制器执行用来执行实体不可复制功能及冻结产生的密钥的另一替代程序的简化流程图。
图32为由集成电路上的控制器执行用来执行实体不可复制功能及冻结产生的密钥的又一替代程序的简化流程图。
【符号说明】
0:存储器区块
1:存储器区块
100:集成电路
110:任务功能电路
111:总线
115:访问控制区块
116:总线
120:输入/输出接口
122:线
125:安全逻辑
130:闪存阵列
131:总线
140:实体不可复制功能程控器
141:总线
180:封装集成电路或多芯片模块
181:输入/输出接口
182:线路
183:访问控制开关
184:感测放大器/缓冲器
185:存储器阵列
186:位址译码器
186A:锁定位
186′:锁定位及译码器结构
187:区块
187A:第一子区块
187B:第二子区块
187C:第一子区块
189:存储单元
190:安全逻辑
191:线路
192:线路
193:快闪控制状态机
193A:指示器单元/PUF单元
194:线路
195:电路
198:注册系统
198A:密钥数据库
199:互连件
200:流程图
201:步骤
210:步骤
220:步骤
230:步骤
240:步骤
250:步骤
260:步骤
300:流程图
310:步骤
320:步骤
410:处理器系统
420:驱动器
430:元件处置器/探测器
440:集成电路
450:安全电路
460:大规模闪存阵列
470:大规模闪存阵列
471:实体不可复制功能区块
472:启动区块
473:参数区块
474:保护逻辑
475:周边电路
500:起始阈值分布
510:第一部分
520:第二部分
525:分布
530:感测边限
600:起始阈值分布
610:第一部分
620:第二部分
625:阈值分布
630:感测边限
700:起始阈值分布
710:第一部分
720:第二部分
730:第三部分
735:阈值分布
740:感测边限
750:第二感测边限
800:流程图
801:步骤
810:步骤
816:初始阈值分布
817:阈值范围
818:起始分布
820:步骤
830:步骤
832:步骤
834:步骤
835:步骤
840:基底
841:源极区
842:漏极区
843:控制栅极
844:隧穿层
845:浮动栅极层
846:氧化物层
847:氮化物层
848:氧化物层
850:基底
851:源极区
852:漏极区
853:控制栅极
856:隧穿层
857:电荷收集层
858:阻挡层
860:基底
863:垂直通道结构
867:字线
869:位线
900:流程图
901:步骤
910:步骤
920:步骤
930:步骤
1200:起始分布
1210:子分布
1211:子分布
1220:子分布
1221:子分布
1230:感测边限
1240:差值
1300:流程图
1301:步骤
1310:步骤
1320:步骤
1330:步骤
1340:步骤
1350:步骤
1360:步骤
1370:步骤
1400:起始分布
1410:子分布
1420:第二子分布
1430:第三子分布
1500:流程图
1501:步骤
1510:步骤
1512:步骤
1514:步骤
1516:步骤
1518:步骤
1520:步骤
1522:步骤
1524:步骤
1526:步骤
1528:步骤
1600:集成电路
1610:闪存阵列
1620:存取及偏压电路
1630:实体不可复制功能控制器
1632:位址及参数存储区
1633:状态机
1640:安全逻辑
1710:集成电路或多芯片模块
1711:实体不可复制功能电路
1712:控制器
1713:安全逻辑
1714:非易失性存储器
1720:主机
1730:步骤
1731:步骤
1732:步骤
1733:步骤
1734:步骤
1735:步骤
1750:步骤
1751:步骤
1752:步骤
1753:步骤
1760:步骤
1761:步骤
1762:步骤
1770:实体电路
1771:非易失性存储器
1775:电路
1776:非易失性存储器
1780:随机数产生器
1781:非易失性存储器
1785:实体不可复制功能电路
1786:逻辑电路
1787:非易失性存储器
2900:步骤
2901:步骤
2902:步骤
2903:步骤
2904:步骤
3000:步骤
3001:步骤
3002:步骤
3003:步骤
3004:步骤
3005:步骤
3006:步骤
3007:步骤
3100:步骤
3101:步骤
3102:步骤
3103:步骤
3104:步骤
3105:步骤
3106:步骤
3107:步骤
3200:步骤
3201:步骤
3202:步骤
3203:步骤
3204:步骤
3205:步骤
3206:步骤
3207:步骤
Addr:位址
N:存储器区块
具体实施方式
附图提供本发明技术的实施例的详细描述。应理解不存在将所述技术限制为特定揭示的结构性实施例及方法的意图,而可使用其他部件、元件、方法及实施例实践所述技术。描述优选实施例以说明本发明技术,而非限制其范畴,所述范畴由权利要求限定。于本领域具有通常知识者将认识以下本说明书上的各种等效变化。在各种实施例中,相同参考编号通常指代相同元件。
图1为包括多个可编程存储单元及用于执行程序以使用所述多个快闪存储单元来提供数据集的控制器的装置的简化方块图。在此实例中,装置包括具有使用可编程存储单元形成的存储器的集成电路100。可由PUF使用闪存阵列130以提供独特数据集。任务功能电路110为包括多个存储单元的区块的闪存阵列(参考图17)。本文中亦描述其他实施例。
集成电路100包含任务功能电路110,其可包括诸如有时被称作特殊应用集成电路逻辑的专用逻辑、使用于微处理器及数字信号处理器中的数据处理器资源、闪存的大规模存储器、SRAM存储器、DRAM存储器、可编程电阻存储器以及被称为系统芯片SOC组态或特殊应用集成电路ASIC的各种类型的电路的组合。集成电路100包含输入/输出(I/O)接口120,其可包括提供对其他元件或网络的存取的无线端口或有线端口。在此简化说明中,访问控制区块115安置于输入/输出接口120与任务功能电路110之间。访问控制区块115通过总线116耦接至输入/输出接口120,且通过总线111耦接至任务功能电路110。由访问控制区块115执行访问控制协议以启用或禁用任务功能电路110与输入/输出接口120之间的通讯,以提供穿越输入/输出接口120的数据的加密或解密,且提供支持安全逻辑的其他服务,或提供其组合。
在此实例中,为支持访问控制区块115,安全逻辑125安置于芯片上。安全逻辑125耦接至一组快闪存储单元,所述组快闪存储单元可为闪存阵列130的部分。PUF接着提供或用以提供独特数据集,所述独特数据集可由安全逻辑125经由总线141上的PUF程控器140在总线131上存取,且由安全逻辑利用以跨越线122与访问控制区块115通讯。
在装置的此实例中,例如作为具有闪存阵列130的集成电路上的状态机来实现的PUF程控器140提供信号以控制偏压布置(bias arragnement)供电电压的施加以进行用以产生数据集的程序,以及存取阵列130中所涉及且用于读取使用存储器阵列130提供的数据集的其他操作。位于集成电路上(诸如位线、字线、其驱动器等)的电路提供对所使用的所述组电荷收集存储单元的存取以使用所述组电荷收集存储单元来提供数据集。
集成电路上的PUF程控器140包含用以执行用以产生数据集的操作中的一些或全部的逻辑。在一个实施例中,集成电路上的PUF程控器140包含执行偏压操作所必需的逻辑,且可响应于来自外部来源的设置命令而在无来自芯片外系统的控制的情况下执行所述逻辑。
在一些实施例中,PUF程控器140包含响应于指示器抑止对PUF存储单元上的偏压操作进行编程或擦除的逻辑。
可使用如此项技术中已知的状态机的专用逻辑电路来实施控制器。在替代实施例中,控制器包括通用处理器,其可实施于相同集成电路上,其执行计算机程序以控制所述元件的操作。在又其他实施例中,可采用专用逻辑电路与通用处理器的组合来实施控制器。
在一些实施例中,外部处理器系统可包含用于提供对所述集成电路的存取的电路及用于产生数据集的逻辑。外部处理器系统可包含诸如晶圆探针电路、控制总线、电压源及类似者的用以与所述集成电路上的电路组合来提供数据集的电路。具有用以控制程序的的对所述组存储单元的存取的逻辑电路及偏压电路可包含外部处理器系统及集成电路两者上的部分。
本文中所描述的实例利用诸如一些类型的闪存中采用的电荷收集存储单元。电荷收集存储单元中的电荷存储结构可包含多晶硅或其他导体或半导体浮动栅极结构,且可包含来自闪存技术的被称为ONO(氧化物-氮化物-氧化物)、ONONO(氧化物-氮化物-氧化物-氮化物-氧化物)、SONOS(硅-氧化物-氮化物-氧化物-硅)、BE-SONOS(带隙工程化硅-氧化物-氮化物-氧化物-硅)、TANOS(氮化钽,氧化铝,氧化硅,硅)以及MABE-SONOS(金属-高介电常数带隙工程化硅-氧化物-氮化物-氧化物-硅)的多层介电质电荷收集结构。
在其他实施例中,PUF存储单元中所使用的用以提供数据集的可编程存储单元可包含可编程电阻存储单元或其他类型的存储单元。用以提供数据集的可编程电阻存储单元可包含具有可参考阈值电阻读取的可编程电阻的可编程元件。可编程电阻元件可包括例如金属氧化物或相变材料。
图2说明包括在集成电路上的一组可编程存储单元及用以使用所述组可编程存储单元产生数据集的装置的另一实例。在此实例中,装置包括用于在集成电路440上执行(或令其执行)程序以产生如本文所论述的数据集的处理器系统410。在一些实施例中,在制造期间在封装成诸如晶圆形式之前将集成电路440连接至处理器系统410。在其他实施例中,将系统410连接至呈封装形式的集成电路。
用于执行在集成电路上产生基于PUF的数据集的程序的实例系统可包含在生产线中所使用的用于测试的设备或使用类似于用于测试的设备来执行的编程程序,所述设备包含用于存取诸如晶圆探针电路、电压源以及类似者的集成电路的电路。举例而言,生产线可具有多个元件测试器、多个元件探测器、多个元件处置器,以及经组态以连接至集成电路的多个接口测试配接器,所述集成电路可经组态以控制本文中所描述的程序的执行。在替代方案中,系统可经组态以与封装集成电路相互作用,且可经部署远离集成电路的生产线,诸如部署于供原始设备制造商利用集成电路的装配设施处。
如图2中所绘示,实例系统410包含PUF逻辑及驱动器420,以及元件处置器/探测器430。待经PUF逻辑及驱动器420处理的集成电路440耦接至元件处置器/探测器430。集成电路440包含安全电路450。在此实例中采用安全电路450中的大规模(large-scale)闪存阵列460来使用PUF产生数据集。
系统410中的实例集成电路可为集成电路100,如图1所描述。在制造集成电路100期间,系统410进行本文所识别的动作以产生数据集且可将数据集的复本或衍生自数据集的数据存储为工厂中的集成电路与处理器系统(例如410)之间的共享秘密。在替代实施例中,在制造集成电路之后的区域,用户可例如使用处理器系统410在集成电路上的存储器阵列460中产生数据集,因此数据集可存储为所述区域中而非工厂中的集成电路与处理器系统(例如410)之间的共享秘密。
图3说明大规模闪存阵列470,其可为集成电路上的任务功能电路或为任务功能电路的部分,如本文所描述的安全电路与其一起采用。闪存阵列470可包含快闪可编程存储单元的区块(例如存储器区块0、存储器区块1、…、存储器区块N)、PUF区块(471)、启动区块472以及参数区块473。另外,闪存阵列可包含用于控制对阵列中的各种存储器区块的存取的保护逻辑474,保护逻辑474包含用于保护位的存储器。PUF区块471可为存储器阵列中出于存储密钥的目的而保留且在一些实施例中专门针对存储密钥的目的而组态的特定区块。
在其中集成电路包含如图3中所示的闪存阵列的实施例中,集成电路的安全电路450中的闪存阵列460可包括大规模闪存阵列470中的区块,诸如PUF区块471。在其他实施例中,安全电路450中的闪存阵列460与闪存阵列470分离,且可包括具有与大规模存储器阵列460不同结构的存储单元及具有不同架构的阵列。以下图17描述包含大规模闪存的另一实施例。
闪存阵列470可包括NOR快闪、NAND快闪,或其他类型的快闪架构。由于如本文所描述的PUF算法在一组存储单元上执行,因此PUF区块471可包括足够的存储单元以涵盖具有适合的大小的一个组或许多组以供安全电路450使用来产生一PUF数据集或许多PUF数据集。可通过PUF逻辑及驱动器420、或通过如上文所论述的集成电路上的状态机、或通过驱动器420与集成电路上的状态机的组合来利用与闪存阵列470相关联的周边电路475中的读取、编程以及擦除逻辑以施加偏压布置以根据本文中所描述的PUF程序改变PUF区块471中的存储单元的阈值电压。
可通过保护逻辑474支持PUF区块以防止对基于PUF的数据集或对存储数据集的存储单元的偶发或未经授权存取。启动区块可包含写入锁闭(write lock-out)部件以保证包含存储器阵列的集成电路的数据完整性。启动区块可存储初始化集成电路所必需的程序代码且可在程序代码丢失时调用恢复例程。启动区块可存储将集成电路中的闪存阵列编程及擦除所必需的程序代码。参数区块可存储参数数据。保护逻辑474耦接至存储器区块及PUF区块471来保护其免受偶发或未经授权修改。包含使用保护码来保护存储器的区块免受修改的一个实例展示于Hung等人的2015年8月27日公开的名为「Non-volatile Memory DataProtection Using Non-volatile Protection Codes and Volatile Protection Codes」的美国专利申请公开案第US 2015-0242158号中,所述公开案以引用的方式并入本文中,如同完全阐述于本文中。
在一些实施例中,保护逻辑474经组态以响应于呈抑止状态(inhibit state)的指示器而抑止编程及/或擦除程序,从而使得对PUF数据集的改变被禁止。因此,若设定指示器,则与由PUF逻辑及驱动器420利用的闪存阵列470相关联的周边电路475将不对PUF区块471施加编程及擦除脉冲。指示器可为熔丝、一次性编程(one-time-programming;OPT)单元以及缓存器。
在一些实施例中,可实施保护逻辑474以在执行用以产生密钥且将密钥存储于PUF区块471中的操作之前执行验证程序。可使用例如密码、指纹以及硬件密钥来实施验证程序。
图4A至图4E说明可用于依赖于电荷收集存储单元中的阈值电压中的差异来产生数据集的工艺,所述电荷收集存储单元已经通用程序处理,诸如制造工序或通用偏压布置,其使得电荷隧穿至存储单元中的电荷存储结构中或自所述电荷存储结构隧穿出,改变存储于电荷存储结构中的电荷的数量。建立起始分布的通用程序可为「不可复制的(unclonable)」,意为基于所述组中的个体电荷收集单元中的程序、电压及温度的变化,自此通用程序所得的阈值电压在一组电荷收集存储单元与另一组之间并不相同,且在一个集成电路与另一个集成电路之间并不相同。出于此原因,即使知道通用程序,吾人亦无法预测阈值电压的变化,且因此无法预测由彼等变化的函数所产生的所得数据集。
图4A为阈值电压相对于单元计数的图形,说明一组可编程存储单元中的存储单元的起始阈值分布500,所述起始阈值分布500建立于PUF程序的开端处。出于举例的目的,在所述分布内指示多个点,其表示在位址Addr=0、1、2、3、4及5处的存储单元的阈值电压。如可见,特定单元的阈值电压与存储单元的位址不相关。
此处使用术语「位址」来表示可用以根据存储单元的实体次序来选择存储单元的逻辑信号。在存储器技术中,位址经译码以产生逻辑信号以控制用以存取存储单元的偏压电路。在一些实施中,「位址」可为不需要译码的逻辑信号。在一些实施中,单元的「位址」可为掩码(bit in a mask)或映像表中的位,诸如以下图20中所示。可通过形成掩码来将位址合并,且合并的位址可以掩码的形式存储,其中掩码中的每一项(entry)启用或抑止相应位址处的存储单元。
作为刻蚀或沉积工艺(诸如涉及将集成电路暴露于电浆或离子来在制造中所使用的存储单元上形成图案化金属层的工艺)的结果,归因于电荷收集,起始分布500可在制造完成后自然地出现。在替代实施例中,可使用例如由集成电路上的控制器控制的偏压操作(诸如如下所述的擦除操作或类似者)来建立起始分布500。在一个实例中,使用页擦除操作或区块擦除操作对于所述组可编程存储单元中的所有成员建立起始分布,其中区块包含多个页的可编程存储单元。参见2016年9月29日公开的名为「Page Erase in Flash Memory」的美国专利申请公开案第2016/0284413 A1号。执行致使建立起始分布的程序而无需通过位址区分所述组中的存储单元。致使建立起始分布的程序可为实体不可复制功能,从而使得起始分布对于经程序处理的每一组可编程存储单元为独特的。
在此说明中,起始分布500具有如图示中所指示的上阈值电平,指示在其下所述组中的存储单元具有较高阈值的可能性极低的阈值电平。可使用例如用以建立起始分布500的算法来将此上阈值电平设定为例如擦除校验电平。
图4B说明PUF中的下一阶段,其中具有分隔线下方的阈值的存储单元经识别为具有起始分布的第一部分510中的阈值电压的存储单元的子组的成员。此外,具有分隔线上方的阈值的存储单元经识别为具有起始分布的第二部分520中的阈值电压的存储单元的子组的成员。因此,所述组可编程存储单元具有第一子组及第二子组,第一子组具有起始分布的第一部分中的阈值(例如Addr=0、3以及4),第二子组具有起始分布的第二部分中的阈值(例如Addr=1、2以及5)。
可通过以下步骤建构第一子组及第二子组中的存储单元的位址:对于使用分隔在线的读取电压的可编程存储单元应用扫描操作,及记录将第一逻辑状态传回为第一子组的存储单元的位址,以及将第二逻辑状态传回为第二子组的存储单元的位址。记录位址可保存关于用以提供数据集的子组中的每一者中的存储单元的位置的信息。
在一些实施例中,可使用产生第一子组(具有分隔线下方的阈值)中的可编程存储单元的计数及第二子组(具有分隔线上方的阈值)中的可编程存储单元的计数的寻找操作来确定。可将计数进行对比以产生比率。可将所述比率设定为确保数据集中的零及一的数目足以维持安全数据集的值。举例而言,零与一的比率接近1较为理想。对于实际实施例,目标比率范围可例如在2/3与3/2之间,在此情况下,各子组具有整个组中的约40%至60%的存储单元。可根据使用如本文所描述的技术的特定集成电路的设计规范来调整目标比率范围。
所述组中的个别电荷收集单元的阈值电压可随时间漂移,从而使得起始分布500表示仅在短时间内稳定的分布。因此,出于产生稳定数据集的目的而依赖于起始分布对于一些类型的存储单元来说是不切实际的,在所述类型的存储单元中,此漂移可使得在一个时间点处具有分隔线的一侧上的阈值的一些单元中的阈值电压漂移至分隔线的另一侧。因此,应用技术以将起始分布转换成对此阈值电压中的漂移不敏感的稳定数据集。
用于将起始分布转换成稳定数据集的技术涉及使用第一子组及第二子组中的存储单元的位址。在此技术中,基于这些可变阈值的数据集可包括所述子组中的一或两者的位址的串接,或包含抑止或启用所述位址处的单元的项的掩码。在图4A的实例中,第一子组及第二子组的位址的串接可为在图标中以二进制形式表示的0、3、4、…、1、2、5…,或此序列的变体。当然,在一特定实施例中,在位址的串接中可存在数百、数千或数百万的位址。串接位址可存储于存储器中的集成电路上,诸如不同于如由图4D所表示的所述组的存储器的受保护区块。存储器的此受保护区块可为非易失性稳定存储器,其提供以极低位误差率递送数据集的能力,且在一些实例中无需使用误差校正码。在替代实施例中,第一子组及第二子组中的单元的位址可由掩码指示,诸如下文图20所描述。
如附图中所指示,根据另一种技术,可使用相同组的非易失性存储单元来产生基于阈值电压的稳定数据集。为实现此实施例,可对第二子组中的存储单元执行编程操作以将其阈值电压移动至高于如图4C中所示的分布525中的第一校验电平,在此实例中,所述电平可高于起始分布500的此上阈值电平。在其他实施例中,只要可产生足够的读取边限,第一校验电平可低于起始分布500的上阈值电平,如下文所论述。
在使用第一校验电平来执行程序操作之后,产生类似图4C中所示的改变的分布。程序操作改变第二子组中的存储单元的阈值电压以便在第一子组与第二子组之间建立感测边限530。感测边限530可经设计为足够宽以确保读取数据集以判定特定存储单元是否为第一子组或第二子组的成员的操作的可靠性。在建立图4C中所示的改变的分布之后,可使用在用于读取的感测边限530内的读取电压VR来读取所述组存储单元。感测边限530可为实质性的,从而使得读取操作中的误差的可能性极低。
图4E为表示存储于相同组的存储单元中的数据集的表,在第一行中绘示所述组中的存储单元的依序位址且在第二行中绘示数据值(或密钥),其表示由PUF程序产生的数据集。在此表中,读取位址0至位址5处的存储单元得到数据值100110。在实际实施例中,数据集长度可为数百、数千或数百万的位。
图5A至图5E为正如图4A至图4E的一连串图示,表示对一组电荷收集存储单元执行相同PUF程序的另一实例。在此实例中,即使PUF程序相同,所得数据集也不同。
图5A说明包含位址Addr=0、1、2、3、4以及5处的存储单元的一组可编程存储单元的起始阈值分布600。起始分布具有上阈值电平。
图5B说明起始分布的第一部分610及第二部分620。所述组可编程存储单元具有第一子组及第二子组,第一子组具有起始分布的第一部分中的阈值(例如Addr=1、2、3及4),第二子组具有起始分布的第二部分中的阈值(例如Addr=0及5)。基于这些可变阈值的数据集可包括所述子组中的一或两者中的胞中的一些或全部的位址的串接。在图5A的实例中,第一子组中的胞中的一些或全部及第二子组中的胞中的一些或全部的位址的串接可为以数字形式表示的(1、2、3、4、…);(0、5、…),或此序列的变体。如上文所提及,串接的位址可存储于上存储器中的集成电路上,诸如不同于如由图5D所表示的所述组的存储器的受保护区块,其中位址以二进制形式展示。存储器的此受保护区块可为非易失性稳定存储器,其提供以极低位误差率递送数据集的能力,且在一些实例中无需使用误差校正码。
图5C说明在将偏压操作(例如编程)应用至第二子组的可编程存储单元以在第一子组与第二子组之间建立感测边限630之后的结果。举例而言,当比率在目标比率范围内时,第二子组可包含具有分隔线上方的阈值的可编程存储单元。偏压操作将第二子组中的可编程存储单元的阈值改变为阈值分布625。阈值分布625可高于第一校验电平。
图5D绘示基于包括所述子组中的一或两者的位址的串接的这些可变阈值或基于包含所述位址处的单元的项的掩码的数据集。在图5B的实例中,第一子组及第二子组的位址的串接可为在图标中以二进制形式表示的(1、2、3、4、…);(0、5…)或此序列的变体。当然,在一特定实施例中,在位址的串接中可存在许多位址。串接位址可存储于存储器中的集成电路上,诸如不同于如由图5C所表示的所述组的存储器的受保护区块。存储器的此受保护区块可为非易失性稳定存储器,其提供以极低位误差率递送数据集的能力,且在一些实例中无需使用误差校正码。
图5E为在第一行中绘示所述组中的存储单元的依序位址且在第二行中绘示数据值(或密钥)的表,其表示由PUF程序产生的数据集。在此表中,读取位址0至位址5处的存储单元得到数据值0 1 1 1 1 0,其不同于由图4A至图4E所表示的实例中产生的值。
因此,数据集因在所述组中引发电荷收集的通用程序的结果而成为所述组电荷收集存储单元的不同成员的可变阈值电压的函数。可对于PUF程序的每一实例使用不同组的可编程存储单元来实现此结果。对于一些类型的存储单元,可使用相同组的可编程存储单元通过为每一新的数据集产生新的起始分布来产生多个数据集。此外,对于如同用于建立可变分布的所述数据集的存储于相同存储单元中的数据集,可通过新的数据集替换旧的数据集。
图6为以图4A至图4E及图5A至图5E所解释的方式在包含可编程电荷收集存储单元的集成电路上产生稳定数据集的流程图200。在此实例中,程序开始于一组具有阈值的起始分布的快闪存储单元(201),所述起始分布已由产生如上文所论述的可变阈值电压的通用PUF程序建立。在此实例中,程序包含诸如通过判定位址来在具有分隔线上方的阈值的第一子组及具有分隔线下方的阈值的第二子组的所述组存储单元内寻找存储单元(210)。可凭经验选择分隔线且将之存储为在控制PUF的执行的系统之中的参数。替代地,如在此实例中所说明,可根据起始分布的特征及数据集的期望特征来调整分隔线。在此替代例中,程序测定第一子组中的存储单元的计数与第二子组中的存储单元的计数的比率(220)。此比率可为诸如1/1的数字,或属于根据数据集的所需用途而选择的可接受范围(例如3/2至2/3)。
若比率为不可接受(230),则程序调整分隔线(240)且返回至步骤210以识别第一及第二子组。若比率为可接受(230),则程序移动至基于识别的第一子组的存储单元及第二子组的存储单元来建立稳定数据集的步骤。如上文所提及,在一个替代例中,程序可依序存储第一子组中的位址,且依序存储第二子组中的位址,且使用串接的位址作为稳定数据集。
在图6中所说明的替代例中,用以建立稳定数据集的程序包含对第二子组中的存储单元施加偏压操作以在所述组存储单元中建立改变的分布,所述分布在第一子组中的存储单元与第二子组中的存储单元之间具有感测边限(250)。对于电荷收集存储单元,此偏压操作可包括诸如使用足够高于阈值电压的分隔线的校验电平的递增步长脉冲编程ISPP(incremental step pulsed programing)的程序操作以建立感测边限。可仅向具有第二子组中的位址的存储单元施加偏压操作。以此方式,可通过使用位于感测边限内的读取电压的读取操作来判定第一子组中的存储单元及第二子组中的存储单元的识别。因此,图6的程序包含通过使用读取边限中的读取电压来读取所述组中的存储单元的序列来输出数据集的步骤(260)。输出数据集可被提供至外部系统,诸如控制用被作为安全协议中的共享秘密的PUF的执行的系统。数据集可稳定地存储于所述组存储单元中,此是由于感测边限使得初使经识别为第二子组的成员其阈值电压漂移至经识别为第一子组的范围中的可能性降至极低。
图7A至图7E说明可用以基于阈值的起始分布来产生稳定数据集的另一种技术。
图7A说明包含位址Addr=0、1、2、3、4、5及6处的存储单元的一组可编程存储单元的起始阈值分布700。
图7B说明起始分布的第一部分710、第二部分720以及第三部分730。起始分布的第一部分包含低于上阈值电平且在第一分隔线下方的阈值,起始分布的第二部分包含低于上阈值电平且在高于第一分隔线的第二分隔线上方的阈值,且起始分布的第三部分包含第一分隔线与第二分隔线之间的阈值。可包含用以基于数据集的所要特征来寻找第一分隔线及第二分隔线中的一或两者的程序。
所述组可编程存储单元包括具有起始分布的第一部分中的阈值的子组(例如Addr=0及3),具有起始分布的第二部分中的阈值的子组(例如Addr=2及5),以及具有第一读取电平与第二读取电平之间的起始分布的第三部分中的阈值的子组。
所述组中的个别电荷收集单元的阈值电压可随时间漂移,从而使得起始分布700仅能代表在短时间内稳定的分布。因此,出于产生稳定数据集的目的而依赖于起始分布对于一些类型的存储单元为不切实际的,在所述类型的存储单元中,此漂移可使得在一个时间点处具有分隔线的一侧上的阈值的一些单元中的阈值电压漂移至分隔线的另一侧。因此,应用技术以将起始分布转换成对此阈值电压中的漂移不敏感的稳定数据集。
如附图中所指示,一种用于基于阈值电压建立稳定数据集的技术可使用相同组的非易失性存储单元。为实现此实施例,可对具有第一分隔线与第二分隔线之间的阈值的子组中的存储单元执行编程操作以将其阈值电压移动至高于第一校验电平,在此实例中,所述电平高于起始分布500的上阈值电平。在其他实施例中,只要可产生足够的读取边限,第一校验电平即可低于起始分布500的上阈值电平,如下文所论述。
在使用第一校验电平来执行程序操作之后,产生类似图7C中所示的改变的分布。程序操作改变存储单元的阈值电压以便在第一子组与第二子组之间建立感测边限740。感测边限740可经设计为足够宽以确保使用感测边限中的读取电压来读取数据集以判定特定存储单元是否为第一子组或第二子组的成员的操作的可靠性。在建立图7C中所示的改变的分布后,可使用在感测边限740内的读取电压VR来读取所述组存储单元。感测边限740可为实质性的,从而使读取操作中的误差的可能性极低。
图7D为表示存储于相同组的存储单元中的数据集的表,在第一行中绘示所述组中的存储单元的依序位址且在第二行中绘示数据值(或密钥),其表示由PUF程序产生的数据集。在此表中,读取位址0至位址6处的存储单元得到数据值1 X 0 1 X 0 X,其中「X」为随意(don′t care),此是由于其对应于感测经受偏压操作以建立感测边限的所述子组中的存储单元的结果。在实际实施例中,数据集长度可为数百或数千位。
在此实例中,所述组第一及第二子组的可编程存储单元用以提供数据集(例如「密钥数据」)。举例而言,使用位址Addr=0、2、3及5处的第一子组及第二子组中的可编程存储单元提供1010的数据集,其中使用位址Addr=0及3处的第一子组中的可编程存储单元提供数据「1」,且使用位址Addr=2及5处的第二子组中的可编程存储单元提供数据「0」。数据集不包含例如位址Addr=1、4及6处的用以建立感测边限的所述组可编程存储单元的子组中的数据,所述可编程存储单元具有起始分布外的阈值分布735中的阈值。展示的「X」代表未用于此实例中的数据集的存储单元。
在一些实施例中,此实例中的偏压操作亦可在所述子组中的其他者之间建立第二感测边限750,所述边限足够宽以确保即使在PVT(程序、电压、温度)变化相对较大的条件下感测第二子组与第三子组的可编程存储单元之间的阈值电压的区别的可靠性。此类信息可用于产生数据集。
可通过对于所述组可编程存储单元中的可编程存储单元施加扫描操作以记录用以提供数据集的第一子组、第二子组以及第三子组中的可编程存储单元的位址来建构位址映像。举例而言,可通过跳过旗标(skip flag)来标记第三子组中的可编程存储单元的位址,因此为提供可用作验证或加密协议的密钥或其他类型的秘密或独特数据值的数据集,将不读取第三子组中的可编程存储单元。替代地,可使用掩码逻辑,如下文图20所论述。
响应于询问,PUF ID电路(例如125,图1;450,图2)可利用使用具有位址映像中记录的位址的可编程存储单元提供的数据集以根据位址映像中记录的所述组第一子组及第二子组的可编程存储单元的位址来提供可编程存储单元密钥,从而跳过或不使用具有所述组第三子组的可编程存储单元中的位址的可编程存储单元。
如上文所论述,在替代程序中,基于这些可变阈值的数据集可包括一组合,诸如所述子组中的一或两者中的单元中的一些或全部的位址的串接。图7E绘示包括所述子组中的一或多者的位址的串接的基于这些可变阈值的数据集。在图7E的实例中,包含在分隔线之间发现的第一子组的存储单元与包含在第一分隔线下方发现的第二子组的存储单元的位址的串接可为在图标中以二进制形式表示的(1、4、6、…);(0、3、…),或此序列的变化。当然,在一特定实施例中,在位址的串接中可存在数百或数千的位址。串接的位址可存储于存储器中的集成电路上,诸如不同于具有起始分布的所述组存储单元的存储器的受保护区块上。存储器的此受保护区块可为非易失性稳定存储器,其提供以极低位误差率递送数据集的能力,且在一些实例中无需使用误差校正码。
在图4D、图5D以及图7E的实例中,数据集为所述子组中的一或多者的位址的串接,诸如第一子组中的单元中的一些或全部的串接,第二子组中的单元中的一些或全部的串接,以及第三子组中的单元中的一些或全部的串接,或此序列的变化。在一些实施例中,仅所述子组中的一者(例如第三子组)中的存储单元的位址可用作数据集。可使用除串接之外的其他逻辑函数将位址合并,诸如散列函数或形成掩码,以形成包含位址的组合的数据集。
图8为用于以图7A至图7E所解释的方式在包含可编程电荷收集存储单元的集成电路上产生稳定数据集的流程图800。在此实例中,程序开始于一组具有阈值的起始分布的快闪存储单元(801),已由产生如上文所论述的可变阈值电压的通用程序建立。在此实例中,程序包含判定具有第一分隔线下方的阈值的所述组存储单元的第一子组、具有第二分隔线上方的阈值的所述组存储单元的第二子组以及具有分隔线之间的阈值的所述组存储单元的第三子组的所述组存储单元内的位址(步骤810)。分隔线可凭经验或以其他方式选择,且可存储为控制PUF的执行的系统中的参数。替代地,如在此实例中所说明,可根据起始分布的特征及数据集的期望特征来调整分隔线。在此替代例中,程序测定第一子组中的存储单元的计数与第二子组中的存储单元的计数的比率(820)。接着,算法判定比率是否匹配预期范围(步骤830)。若在步骤830处判定比率不匹配,则调整分隔线(835),且程序返回至步骤810直至实现适当的比率。若在步骤830处比率匹配,则算法继续以建立表示可用作独特密钥的分布的稳定数据集。如上文所提及,在一个替代例中,可将各种子组中的存储单元的位址合并以形成独特数据集,且存储于受保护存储器中。在图8中所说明的实施例中,程序继续以向第三子组中的存储单元施加偏压操作以建立在第一子组与第二子组之间具有读取边限的改变的阈值分布(步骤832),且记录第三子组中的存储单元的位址。以此方式,稳定数据集可由第三子组的位址表示,及使用读取边限内的读取电压同时跳过第三子组中的存储单元感测的自第一子组及第二子组读取的数据值(834)。可使用信息的其他组合以建立如以上各种替代例中所论述的稳定数据集。此外,在一些实施例中,可省略偏压步骤832。
图9为用于使用一组快闪存储单元中的阈值的起始分布来建立稳定数据集的流程图900。程序开始于具有阈值的起始分布的一组快闪存储单元(901)。接着,程序测定具有第一分隔线上方的阈值的第一子组的存储单元、具有第二分隔线的下方的第二子组的存储单元以及具有分隔线之间的阈值的第三子组的存储单元的位址(910)。所述子组中的至少一者中的存储单元的位址的序列与所述组存储单元分隔存储于存储器中(920)。可将数据集输出为随存储于位址的序列中的位址变化或等于所述位址(930)。
图10A至图10C说明可用于将一组存储单元中的电荷收集存储单元的阈值设定为具有可变阈值电压的起始分布的程序。图10A说明一组可编程存储单元的初始阈值分布816。在此实例中,初始阈值分布在引发电子或负电荷隧穿至电荷存储结构中递增单元的阈值电压的编程操作之前,或在引发电子隧穿出电荷存储结构或引发正电荷隧穿至电荷存储结构中以降低单元的阈值电压的擦除操作之前。在此实例中,所述组中的存储单元可具有任何初始阈值分布。在此实例中,初始阈值分布包含低于第一校验电平的相对较低阈值范围。
图10B说明将所述组可编程存储单元的所有成员编程至大于第一校验电平的阈值范围817的结果。此类似于用于闪存中的预编程操作。
图10C说明擦除所述组可编程存储单元的所有成员以建立起始分布818中的阈值的结果,其中起始分布包含低于第二校验电平的阈值。步骤830中的分布可用作上文所描述的程序的起始分布。同样可应用其他技术,包含使用图10B的范围817作为起始分布。
包含图10A至图10C所描述的技术的用于建立本文中所描述的起始分布的技术可应用于电荷收集存储单元。电荷收集存储单元的实例在图10D、图10E以及图10F中说明。
图10D为形成于基底840上的平面浮动栅极存储单元的简图。源极区841及漏极区842安置于电荷收集结构的相对侧上。控制栅极843上覆于电荷收集结构,且可为例如字线的一部分。电荷收集结构包含通常由氧化硅形成的隧穿层844、通常由多晶硅形成的浮动栅极层845、包含具有氧化物层846、氮化物层847以及氧化物层848的多层ONO结构的阻挡介电质结构。类似于图10D的编程及擦除浮动栅极存储单元的实体功能引发改变浮动栅极层845中捕获的电荷的电荷隧穿。捕获的电荷的量根据各单元的物理特性变化,包含程序变化、温度变化、电压变化以及类似者。因此,用以建立类似于上文所描述的起始阈值的操作产生跨越单个元件上的大量存储单元的相对广泛分布中的阈值电压。
图10E为形成于基底850上的平面介电质电荷收集存储单元的简图。源极区851及漏极区852安置于电荷收集结构的相对侧上。控制栅极853上覆于电荷收集结构,且可为例如字线的一部分。电荷收集结构包含通常由氧化物或多个薄介电质层形成的隧穿层856。在隧穿层856上方安置电荷收集层857,通常包括氮化硅或其他介电材料。在电荷收集层857上方为阻挡层858,通常由诸如氧化硅的另一介电质氧化物形成。如同浮动栅极存储单元,类似于图10E的编程及擦除存储单元的实体功能引发改变电荷收集层857中捕获的电荷的电荷隧穿。捕获的电荷的量根据各单元的物理特性变化,包含程序变化、温度变化、电压变化以及类似者。因此,用以建立类似于上文所描述的起始阈值的操作产生跨越单个元件上的大量存储单元的相对广泛分布中的阈值电压。
图10F为形成于基底860上的3D垂直NAND闪存结构的简图。垂直通道结构(例如863)安置于字线(例如867)的叠层之间。诸如介电质电荷收集结构或浮动栅极结构的电荷存储结构安置于字线与垂直通道结构863之间。垂直通道结构863耦接至位线869。在基底中,安置通用源导体,其建立穿过垂直通道结构863的位线869与所述基底860之间的NAND串的电流路径。图10F中所绘示的闪存结构亦可用以使用编程或擦除操作来建立跨越元件上的大量存储单元的阈值电压的相对广泛分布。
同样可出于本文中所描述的PUF程序的目的部署包含其他3D存储器技术的其他类型的快闪存储单元结构。
图11绘示用于施加初始化偏压操作将所述组中的可编程存储单元的阈值设定为起始分布的实例流程图300,所述操作可施加于电荷存储存储单元,包含类似上文所论述的彼等的存储单元。在步骤310处,将所述组可编程存储单元的所有成员编程至大于第一校验电平的阈值范围。在一个实例中,可使用被称为递增步长脉冲编程序列(ISPP)的编程算法将所述组可编程存储单元的所有成员编程,其中增加脉冲高度且执行程序校验步骤直至满足所要的阈值电平。在步骤320处,擦除所述组可编程存储单元的所有成员以建立起始分布中的阈值,所述起始分布包含低于第二校验电平的阈值。
用于根据此程序进行编程或擦除操作以建立起始分布的校验电平可与用于施加至相同集成电路上的大规模存储器的编程及擦除操作相同。替代地,用以建立起始分布的校验电平可调整为适合于特定实施,从而使得起始分布具有供用于产生如本文所描述的数据集的所要特征。尽管在此实例中使用「擦除」程序以产生起始分布,其中将净正电荷添加至电荷收集结构降低单元的阈值,但亦可使用「编程」程序,其中将净负电荷添加至电荷收集结构提高单元的阈值。此外,如上文所提及,起始分布可为阈值的「初始」分布,其由所述组存储单元暴露于的制造程序或其他程序产生。「初始」分布及由擦除或编程操作产生的分布皆可被视为实体不可复制功能。
此外,对于基于可编程电阻存储单元的非易失性存储器,可使用「设定」程序以产生起始分布,其中引起电阻中的净降低来降低单元的读取电流的阈值电压。替代地,亦可使用「重置」程序,其中引起电阻中的净提高,来提高单元的读取电流的阈值电压。此外,如上文所提及,起始分布可为由所述组可编程电阻存储单元暴露于之的制造程序或其他程序产生的阈值的「初始」分布。「初始」分布及由设定或重置操作产生的分布皆可被视为实体不可复制功能。
图12A至图12C说明用于使用用于图9所描述的类型的电荷收集存储单元的PUF功能产生数据集的另一种技术。在图12A中,说明诸如可使用类似于使用擦除校验功能将一组存储单元中的存储单元的阈值移动至低于上阈值电平的擦除操作的PUF产生的起始分布1200。起始分布的特征可为具有如图标所指示的上阈值电平及下阈值电平,且可出于本说明书的目的将具有分布1200内的阈值的存储单元特征化,如对经组态以用于存储器阵列的标准读取操作表示其数据值为「0」。
图12B说明建立数据集的下一步骤。在此实例中,使用自分布1200的一侧开始的移动读取电压电平VR来读取所述组中的存储单元。假设移动读取电压自下阈值电平开始,则使用读取电压来读取所述组存储单元且测定具有高于及低于所述阈值的存储单元的数目的计数。移动此读取电压直至高于及低于读取电压的存储单元的数目匹配所要参数,诸如约为相同、或具有约「一」的比率。在此阶段,具有低于子分布1210内的读取电压VR的阈值的存储单元的特征可为表示数据值「1」,且具有高于子分布1220内的读取电压VR的阈值的存储单元的特征可为表示数据值「0」。举例而言,读取操作可继续直至具有低于读取电平的阈值电平的可编程存储单元的计数与具有高于读取电平的阈值电平的可编程存储单元的计数的比率在目标比率范围内。举例而言,当具有低于读取电平的阈值电平的可编程存储单元的计数对应于所述组中的存储单元的约50%时,目标比率范围内的比率可实质上等于1。可将比率在诸如40%至60%的目标比率范围内时的读取电平建立为用于读取所述组可编程存储单元中的存储单元以产生稳定数据集的读取电压VR。
图12C说明建立数据集的下一步骤。根据此技术,选择上读取电压VR+及下读取电压VR-以定义起始阈值分布1200的子分布,其中存储单元强而有力地存储数据值。在结合图12B所描述测定读取电压VR后,可通过在读取电压VR周围建立感测边限来在所述分布中建立第一分隔线及第二分隔线,从而使得对应于VR-与VR+之间的差值1240的感测边限1230在第一分隔线与第二分隔线之间,且读取电压VR在感测边限内。举例而言,对于一种特定类型的快闪存储单元,第一分隔线可在对应于读取电平减300mV的阈值电平处,而第二分隔线可在对应于读取电平加300mV的阈值电平处。在另一实例中,第一分隔线可在对应于读取电平VR减读取电平的30%的阈值电平VR-处,而第二分隔线可在对应于读取电平VR加读取电平的30%的阈值电平VR+处。
可使用「强而有力地」存储数据值「1」及「0」的子分布1211及子分布1221内的存储单元来产生数据集。此类存储单元的位址记录于集成电路上的存储器中,例如记录于供诸如加密及验证的安全协议中的集成电路使用的稳定闪存区块、不同类型的非易失性存储器或诸如SRAM或DRAM的易失性存储器及类似者中。可使用中心读取电压值VR连同所记录的位址来执行读取操作,其提供强读取边限。以此方式,仅采用相对于读取电压而言强而有力地存储数据值的存储单元,使得在读取数据时可归因于阈值漂移而出现的误差的可能性极低。
图13为用于以图12A至图12C所解释的方式在包含可编程电荷收集存储单元的集成电路上产生稳定数据集的实例流程图1300。在此实例中,程序开始于一组具有阈值的起始分布的快闪存储单元(1301),已由产生如上文所论述的可变阈值电压的通用程序建立。在此替代例中,对所述组中的存储单元执行使用移动读取电平(电压VR)的读取操作(步骤1310)。程序测定具有低于当前读取电平的阈值电平的可编程存储单元的计数与具有高于当前读取电平的阈值电平的可编程存储单元的计数的比率(步骤1320)。接着程序判定所述比率是否在目标比率范围内。(步骤1330)。举例而言,当具有低于当前读取电平的阈值电平的可编程存储单元的计数对应于所述组中的存储单元的约130%时,目标比率范围内的比率可实质上等于1。若比率不在目标比率范围内(步骤1330,否),则可例如通过提高读取电平来调整读取电平(步骤1340),其中对于步骤1310的第一迭代,读取电平可自处于或低于分布的最小阈值电平的阈值电平开始。读取操作接着返回至步骤1310且继续直至比率在目标比率范围内(步骤1330,是)。可将比率在目标比率范围内时的读取电平建立为用于读取所述组可编程存储单元中的存储单元以产生稳定数据集的读取电压VR(图12B)(步骤1350)。
若在步骤1330中,比率在目标比率范围内,则程序继续以基于数据集的所要特征在所述分布中建立第一分隔线及第二分隔线中的一或两者(步骤1340)。举例而言,程序可在起始分布中的读取电压VR周围建立感测边限(图4B),从而使得感测边限(例如530,图4C)在第一分隔线与第二分隔线之间,且读取电压VR在感测边限内。举例而言,第一分隔线可在对应于读取电平减300mV的阈值电平VR-处,而第二分隔线可在对应于读取电平加300mV的阈值电平VR+处。举例而言,第一分隔线可在对应于读取电平减读取电平的30%的阈值电平处,而第二分隔线可在对应于读取电平加读取电平的30%的阈值电平处。
图13的程序包含判定具有由第一分隔线限定的第一子组、由第二分隔线限定的第二子组以及具有第一分隔线与第二分隔线之间的阈值的第三子组的所述组存储单元内的位址及使用经判定的位址来建立表示可用作独特密钥的分布的稳定数据集的步骤1360。
图13的程序包含通过使用感测边限530中的读取电压VR来读取所述组中的存储单元的序列来输出数据集的步骤1370(图4)。输出数据集可被提供至外部系统,诸如控制适用作安全协议中的共享秘密的PUF的执行的系统。数据集可稳定地存储于所述组存储单元中,此是由于感测边限使得初始经识别为第二子组的成员其阈值电压漂移至经识别为第一子组的范围中的可能性降至极低。
使用此技术,数据集取决于被判定为强而有力地存储数据值的存储单元的数目。此数目对于一个起始分布至下一分布可不同。因此,在产生数据集中,若单元的数目大于数据集的所要大小,则可截断存储单元的序列,或若单元的数目小于数据集的所要大小,则可填补存储单元的序列。
图14A至图14C说明使用图9所描述的类型的电荷收集存储单元的PUF功能产生数据集的另一实例。在图14A中,将说明诸如可使用如上文所描述的PUF产生的起始分布1400。起始分布1400可为随着阈值电平延伸远离中心峰值而具有相对对称急剧下降的粗略的高斯分布。然而,分布不大可能为实际上相对称的。如上文所提及,此缺乏对称性可在图13所描述的程序中产生不同数目的「强而有力地」存储数据的存储单元。根据图14A至图14C的技术,可实现对强而有力地存储数据的存储单元的数目的更紧密控制。
如图14A中所说明,可通过以下步骤来发现可表征为强而有力地存储数据值「1」的存储单元的子分布1410:使用应用起始于分布1400的下边界处或靠近下边界处的阈值的移动读取电平的第一读取操作,及执行使用当前读取电压来反复地读取所述组存储单元中的存储单元的程序,以及对具有低于当前读取电平的阈值的存储单元的数目进行计数。当计数达到指定阈值时,接着将当前读取电平存储为第一下分隔线电压VR-。
如图14B中所说明,可通过以下步骤来发现可表征为强而有力地存储数据值「0」的存储单元的第二子分布1420:使用应用起始于分布1400的下边界处或靠近低边界处的阈值的移动读取电平的第二读取操作,及执行使用当前读取电压来反复地读取所述组存储单元中的存储单元的程序,以及对具有高于当前读取电平的阈值的存储单元的数目进行计数。当计数达到指定阈值时,接着将当前读取电平存储为第二上分隔线电压VR+。
如图14C中所说明,第三子分布1430包含具有第一分隔线电压VR-与第二分隔线电压VR+之间的阈值的存储单元。可使用属于「强而有力地」存储数据值「1」的第一子分布1410以及属于「强而有力地」存储数据值「0」的第二子分布1420的存储单元的位址,通过使用第一分隔线与第二分隔线之间的读取电压VR读取存储单元来产生数据集。可通过将第一分隔线电压VR-与第二分隔线电压VR+平均来产生此读取电压,其中起始分布的特征可为粗略的高斯分布。在其中起始分布可偏斜(skew)朝向较高或较低阈值的实施例中,则可使用考虑分布中的偏斜的公式产生读取电压。
图15为用于以图14A至图14C所解释的方式在包含可编程电荷收集存储单元的集成电路上产生稳定数据集的实例流程图1500。在此实例中,程序开始于一组具有阈值的起始分布的快闪存储单元(1501),已由产生如上文所论述的可变阈值电压的通用程序建立。在此实例中,程序包含判定具有低于第一分隔线的第一子组的阈值及具有高于第二分隔线的阈值的第二子组的所述组存储单元内的位址。以提供预定数目的强而有力地存储数据值「0」的存储单元及预定数目的强而有力地存储数据值「1」的存储单元的方式来判定分隔线。分隔线可存储为控制PUF的执行的系统中的参数。
在此替代例中,对所述组中的存储单元执行使用第一移动读取电平的第一读取操作(步骤1510)。程序测定具有低于第一读取电平VR-的阈值电平的可编程存储单元的第一计数(步骤1512)。接着,程序判定第一计数是否匹配预定数字T1,或属于数字的范围(步骤1514)。
若不接受第一计数(步骤1514,否),则可例如通过提高第一读取电平来调整第一读取电平(步骤1516),其中对于步骤1510的第一迭代,第一读取电平可自处于或低于分布的下阈值电平的阈值电平开始。第一读取操作接着返回至步骤1510且继续直至接受第一计数(步骤1514,是)。
图15的程序包含将起始分布中的第一分隔线电压VR-建立为第一读取电平,在所述第一读取电平处的第一计数处于或接近预定数字T1(步骤1518)。在此步骤处或在随后步骤,当建立第二分隔线时,可判定具有低于第一分隔线VR-的阈值电平的存储单元的位址且存储用于建立表示可用作独特密钥的分布的稳定数据集。
图15的程序包含使用第二移动读取电平VR+对所述组中的存储单元进行第二读取操作的步骤1520(步骤1520)。程序测定具有高于第二读取电平的阈值电平的可编程存储单元的第二计数(步骤1522)。接着程序判定第二计数是否可接受,例如其是否匹配预定数字T2,或属于数字的范围(步骤1524)。若来自第一读取操作的计数与来自第二读取操作的计数的总和等于数据集的目标位计数或数据集的目标位址数目或处于所述数目的一范围内,则在一些实施例中,所述数目可接受。
若不接受第二计数(步骤1524,否),则可例如通过降低第二读取电平来调整第二读取电平(步骤1526),其中对于步骤1520的第一迭代,第二读取电平可自处于或高于分布的上阈值电平的阈值电平开始。第二读取操作接着返回至步骤1520且继续直至接受第二计数(步骤1524,是)。
图15的程序包含以下步骤:将起始分布中的第二分隔线建立为第二读取电平VR+,在所述电平处接受第二计数;以及诸如通过根据方程式平均来使用第一分隔线及第二分隔线建立读取电压VR:VR=(VR-+VR+)/2(步骤1528)。
尽管如图15中所示,在包含步骤1520、步骤1522、步骤1524以及步骤1526的用以建立第二分隔线的迭代之前执行包含步骤1510、步骤1512、步骤1514以及步骤1516的用以建立第一分隔线的迭代,但在其他实施例中,可在包含步骤1510、步骤1512、步骤1514以及步骤1516的用以建立第一分隔线的迭代之前执行包含步骤1520、步骤1522、步骤1524以及步骤1526的用以建立第一分隔线的迭代。
可通过类似于图13的程序的步骤1360的步骤来继续图15的程序,判定由第一分隔线限定的强而有力地存储数据值「1」的第一子组的存储单元及由第二分隔线限定的强而有力地存储数据值「0」的第二子组的所述组存储单元内的位址。在一些实施例中,亦可使用不强而有力地存储数据值且具有第一分隔线与第二分隔线之间的阈值的第三子组的存储单元的位址来建立数据集。
可通过类似于图13的程序的步骤1340的步骤来继续图15的程序,通过使用感测边限中的读取电压VR读取所述组中的存储单元的序列来输出数据集。输出数据集可被提供至外部系统,诸如控制适用作安全协议中的共享秘密的PUF的执行的系统。数据集可稳定地存储于所述组存储单元中,此是由于VR-与VR+之间的感测边限使得初始经识别为第一子组及第二子组的成员的存储单元其阈值电压漂移至通过其他子组识别的范围中的可能性降至极低。
在一个实施例中,可通过分别将第一预定数目T1及第二预定数目T2指定为所述组可编程存储单元的第一及第二子组来设定待用于已完成数据集的单元的数目中的预定长度T,其中T=T1+T2,指示数据集中的位的数目。举例而言,计数的第一目标范围及第二目标范围可包含第一预定长度T1及第二预定长度T0,从而使得可将起始分布中的第一分隔线及第二分隔线建立为第一读取电平及第二读取电平,在所述电平处,第一计数及第二计数分别匹配第一预定长度T1及第二预定长度T0。当数目的总和不匹配指定长度时,若数据集如此受限,则此是由于移动读取操作的粒度(granularity)可大于一个单元,可自数据集移除过量单元,或可通过数据填补数据集以形成经校正长度。
图16说明包含包括一组PUF存储单元的闪存阵列1610的集成电路1600,其可经PUF处理以建立如上文所论述的阈值的分布。集成电路1600包含如上文所结合图1提及的PUF控制器1630及安全逻辑1640。此外,提供启用使用闪存阵列1610的存取及偏压电路1620,包含字线驱动器、感测放大器、位线驱动器、电压源以及闪存阵列周边的其他电路。在此实例中,PUF控制器1630连接至闪存阵列1610的存取及偏压电路1620,且包含用以进行本文中所描述的程序的逻辑及存储器资源,所述程序包含例如图6、图8、图9、图11、图13以及图15的程序中的一些或全部。
在所说明的实施例中,状态机1633以及位址及参数存储区1632包含于PUF控制器1630中。状态机1633可包含用以基于应用至阵列1610中的所述组存储单元的PUF来产生数据集的逻辑。在本文中所描述的技术的实施例中,逻辑可执行以下步骤:寻找在产生数据集中所读取的存储单元的子组或子分布;将诸如上文所论述的分隔线的阈值、用于自经识别的子组读取数据值的阈值的参数记录于存储器1632;以及将经识别用于产生数据集的存储单元的位址记录于存储器1632中。逻辑亦可执行施加读取电压及存储于存储器1632中的位址以自闪存阵列1610产生数据值的序列的步骤。
状态机亦可包含用以使得扫描一组可编程存储单元中的可编程存储单元且应用本文中所描述的程序以基于实体不可复制功能产生稳定数据集的逻辑。
安全逻辑1640可包含使用自阵列1610或自存储器1632或自两者读取的数据集来处置询问输入且提供响应输出的逻辑。安全逻辑1640可包含使用数据集的加密及解密资源,且可包含使用数据集来控制验证协议的逻辑。在一些实施例中,响应可为应用于集成电路上以启用例如任务功能电路的通过/失败信号。在其他实施例中,响应可应用于集成电路1600的电路断开,对于所述集成电路1600,数据集用于安全协定中。在一些实施例中,安全逻辑包含使用专用逻辑实施的状态机、具有适合的编程的通用处理器、具有适合的编程的可编程门阵列,或这些类型的逻辑电路的组合。此外,在一些实施中,安全逻辑1640可共享用以实施状态机1633的逻辑。
可使用诸如闪存、可编程电阻存储器、一次性可编程存储器及类似者的非易失性存储器来实施存储器1632。此外,可使用其他类型的存储器实施存储器,包含具有存储于阵列1610或集成电路可存取的其他存储器中的位址及参数的备份复本的诸如SRAM的易失性存储器。
可使用专用逻辑、具有适合的编程的通用处理器、具有适合的编程的可编程门阵列或这些类型的逻辑电路的组合来实施状态机1633。
因此,图16说明集成电路的实例,包括具有阈值的分布的集成电路上的一组可编程存储单元;存储具有阈值分布的第一子分布中的阈值的所述组可编程存储单元中的存储单元的位址的存储器;以及用以使用所存储的位址来产生数据集的逻辑。
分布的特征可在于已使用实体不可复制功能实现。
在一些实施例中,通过感测边限将第一子分布与第二子分布分离,且用以产生数据集的逻辑包含用于按位址次序读取所述组可编程存储单元中的存储单元以产生根据是否为第一子分布中的成员而变化的数据值的逻辑。
在一些实施例中,存储器另外存储所述组存储单元中的存储单元的位址,其具有所述组中的存储单元的阈值分布的第二子分布中的阈值;且用以产生数据集的逻辑包含对于第一子分布及第二子分布使用所存储的位址。
另外,在一些实施例中,存储器存储阈值分布的第一分隔线及不同于第一分隔线的第二分隔线;且第一子分布中的存储单元包含具有低于第一分隔线的阈值的所述组存储单元的第一子组,且第二子分布中的存储单元包含具有高于第二分隔线的阈值的所述组存储单元的第二子组。
在一些实施例中,用以产生数据集的逻辑使用位址来选择第一子组及第二子组中的一者中的存储单元;且使用第一分隔线与第二分隔线之间的读取电压来读取所述组可编程存储单元中的存储单元。
在一些实施例中,所述组中的可编程存储单元为电荷收集存储单元,且阈值为阈值电压。
在一些实施例中,集成电路可包含用以使用集成电路上的偏压电路来施加引发所述组中的可编程存储单元的电荷存储结构中的变化以建立分布的偏压操作的逻辑。
在一些实施例中,逻辑包括集成电路上的状态机。
在一些实施例中,集成电路包含响应于询问输入以使用数据集产生响应输出的逻辑。
图17说明包含封装集成电路或多芯片模块180的系统,包含输入/输出接口181及非易失性闪存阵列185。输入/输出接口181提供用于外部元件或通讯网络与非易失性存储器阵列185之间的外部数据通讯的端口。存储器阵列185包含多个存储单元区块(参见,例如上图3),其中具有存储于所述多个区块中的特定区块187中的密钥。安全逻辑190耦接至非易失性存储器阵列185,所述存储器阵列在协议中利用密钥以启用存取存储于所述多个区块中的区块中的数据。包含访问控制开关183的访问控制电路耦接至所述阵列,且包含用以启用由供用于协议中的安全逻辑只读存取特定区块,且用以防止由外部元件或通讯网络经由所述端口存取特定区块的逻辑。在各种实施例中,可使用存取规则的其他组合,使得安全逻辑在利用特定区块时具有更大灵活性。
在此实例中,非易失性存储器阵列185包含闪存。存储密钥的特定区块187可实体地位于阵列中的任何处,但如所说明,对于一些实例,可实体地位于具有最低实体位址的顶部区块中,或与具有最低实体位址的启动区块相邻。
非易失性存储器阵列185耦接至感测放大器/缓冲器184,其提供进入且流出闪存阵列的数据流,包含存储密钥的特定区块187。在此实例中,访问控制开关183安置于感测放大器/缓冲器184与输入/输出接口181之间。自阵列185读取的数据可在线路182上布线至输入/输出接口181,或可在线路191上布线至安全逻辑190。
在所说明的实施例中,位址译码器186连同用于控制在阵列中的相应区块中读取及写入数据的权限的区块锁定位一起耦接至阵列185。在此实例中,存储安全密钥的所述组非易失性存储单元被安置于其中的特定区块187与相应锁定位(lock bit(s))186A耦接。与特定区块187耦接的锁定位186A可包括与阵列中的其他区块的锁定位的结构不同的逻辑或实体结构,且可逻辑地执行不同功能。用以存储区块锁定位的实体结构的实例包含熔丝、一次性编程(OPT)单元以及缓存器或可用以存储类似于区块锁定位的状态指示器的其他存储器元件。特定区块的区块锁定位可耦接至感测放大器/缓冲器184中的缓冲器以抑止写入密钥存储于其中的所述组存储单元,从而在将密钥写入特定区块中且可选地经测试及验证之后将其冻结。元件上的控制状态机193或其他控制逻辑执行类似于以下结合图29及图30描述的程序以通过设定特定区块或存储密钥的区块中的所述组单元的区块锁定位来冻结密钥。
此外,当用以存取阵列的位址对应于特定区块187的位址时,与存储密钥的特定区块187相关联的区块锁定位186A可控制耦接至访问控制开关183的逻辑,所述访问控制开关183防止数据自特定区块187经由感测放大器/缓冲器在线路182上流至输入/输出接口181,同时允许数据自特定区块187在线路191上流至安全逻辑190。
此外,在所说明的实施例中,具有实体不可复制功能程控器的快闪控制状态机193在线路194上耦接至存储器阵列185,且在线路192上耦接至安全逻辑190。实体不可复制功能可出于产生待用作密钥的数据集的目的而使用阵列185中的特定组的存储单元189中的存储单元来执行如本文所描述的程序。在此装置的实例中,快闪控制状态机193提供控制偏压布置供电电压的施加以进行用以产生数据集的程序及涉及存取阵列185的其他操作的信号。
位于集成电路(诸如位线、字线、其驱动器等)上的电路提供对用以提供用以产生密钥的数据集的所述组快闪存储单元的存取。
如所说明,封装集成电路或多芯片模块180亦可包含其他电路195,诸如可在系统芯片系统或具有存储器的电路的其他组合中遇到。
在所示的实例中,封装集成电路或多芯片模块180通过互连件199耦接至注册系统198。注册系统198可维持密钥数据库198A,密钥数据库198A可维持执行依赖于存储于特定区块187中的密钥的安全协议所必需的信息。在一些实施例中,执行安全协议所必需的信息包含密钥的复本。
在一个实例操作方法中,在制造或封装期间,实体不可复制功能可由快闪控制状态机193与如上文图2所论述的注册系统198协同执行。实体不可复制功能可利用所述组存储单元189以产生可用以形成密钥的数据集。在完成实体不可复制功能的执行后,可接着自所述组存储单元189将数据集复制至经保留或经组态以用于存储密钥的特定区块187。系统可产生一个或许多密钥来存储于出于此目的而保留的特定区块187中。在此阶段,亦可将密钥复制至注册系统198中且通过密钥数据库198A维持。在执行实体不可复制功能且将密钥复制至特定区块187中且将任何必需信息复制至注册系统中之后,可使用熔丝或其他类型的一次性写入存储器元件来设定与特定区块187相关联的锁定位186A,以防止由外部电路或通讯网络存取密钥。此外,可将用于实体不可复制功能中的特定组存储单元189擦除或者覆写以消除可存储于存储器阵列185中密钥的迹象。
图17A说明实施于封装集成电路或多芯片模块中的电路的替代实施例,其中再次使用用于类似于图17中的彼等的元件的参考编号,而非再次描述。在图17A中,包含PUF单元189A的多个非易失性存储单元实施于除阵列185的外的电路中,且耦接至使用PUF单元189A来执行PUF的控制电路,其中此实例中的控制电路为快闪控制状态机193的部分。在此实例中,锁定位及译码器结构186′耦接至阵列中的全部区块。在此实施例中,PUF单元189A为实施于阵列的外部的单元的区块的部分,具有允许由例如安全逻辑190或经由安全逻辑190只读存取区块的单独周边电路。在其他实施例中,PUF单元189A可实施于作为阵列的部分的布局中,但具有不支持非PUF的部分的编程或擦除操作的存取电路。在此实施例中,阵列185的周边电路不连接至PUF单元189A或不可用以存取PUF单元189A。相反的,在单独控制(separate control)与控制电路中的PUF功能的协作下对PUF单元189A进行读取、编程以及擦除。指示器单元193A与PUF单元193A或控制电路耦合,所述PUF单元193A或控制电路用以通过启用或停用PUF功能或启用或停用PUF单元189A中的编程或擦除来冻结存储于PUF单元189A中的一组非易失性存储单元中的密钥。用作指示器单元193A的实体结构的实例包含熔丝、一次性编程(OPT)单元以及缓存器或可用以存储类似于区块锁定位的状态指示器的其他存储器元件。
元件上的控制状态机193或其他控制逻辑可执行类似于以下结合图31及图32所描述的程序,例如设定指示器单元193A中的指示器以启用或禁用控制电路中的PUF功能,且从而冻结密钥。
图18及图19针对不同实施例说明非易失性存储器阵列的组态的不同实例。在图18中,密钥存储于其中的存储单元的特定区块包括第一子区块187A及第二子区块187B。由实体不可复制功能用以产生安全的所述组存储单元位于第一子区块187A中。此外,密钥可维持于用以产生数据集的所述组存储单元中,或移动至第一子区块187A中的另一组存储单元中。第二子区块187B维持在根据诸如图7A至图7E、图8、图12A至图12C以及图13所描述的彼等的程序来执行实体不可复制功能期间产生的单元映像或多个单元映射。
图19为替代例,其中由实体不可复制功能使用的存储单元189在闪存阵列185中,且在用于存储密钥的特定区块187之外。在此实例中,用于存储密钥的特定区块包含第一子区块187C,其中所述密钥或多个密钥保持于存储器中。第二子区块187B保持在实体不可复制功能期间产生的所述单元映射或多个单元映射。
图20说明可用于在类似于图17至图19中所绘示的彼等的实施例中存储密钥及单元映像的数据结构。由安全ID产生器区块表示用以产生密钥(此实例中的安全ID)的所述组存储单元。此区块具有「区块」位址,其识别起始位置,及图标中的位位址1至位位址10。在优选的系统中,安全ID产生器区块可具有数千位。此外,与各位位址相关联的为提供「程序代码信息」的数据值,其指示使用例如图8或例如图19的程序来感测的数据值。在利用如图20中所示的映像表或单元映像来寻址数据的实施例中,所述单元中的一些中的数据值不用于密钥中,且因此被视为「随意」单元。映像表识别「随意」单元的位址及用于密钥的单元。因此,在此实例中,映像表具有起始位址,及位址位1至位址位10,其对应于安全ID产生器区块中的单元的位位址1至位址位10。在对应于位址位中的每一者的存储单元设定旗标,指示安全ID产生器区块中的有效的单元(用于密钥中)或无效单元(不用于密钥中)。密钥数据可由映像表与程序代码信息的逻辑AND产生,其中映像表用作掩码。如上文所提及,安全ID产生器区块为一组可位于非易失性存储器阵列中的任何处或位于用于存储安全ID的特定区块中的存储单元。在其中所述组存储单元位于特定区块的外部的实施例中,可接着将安全ID产生器区块中的数据复制至用于存储安全ID的特定区块中。
图21说明利用实体不可复制功能来产生密钥且将所述密钥存储于非易失性存储器中的系统的高电平组态。系统包含耦接至集成电路或多芯片模块1710的主机1720。集成电路或多芯片模块1710包含实体不可复制功能(PUF)电路1711、控制器1712,以及安全逻辑1713。控制器1712耦接至实体不可复制功能电路1711且耦接至非易失性存储器1714。
对于一些实施例,图21的系统的操作可图22来理解。因此,为产生可使用的密钥,由实体不可复制功能电路1711产生密钥数据(步骤1730)。分析密钥以判定其是否符合安全规范,诸如是否具有足够的随机性(步骤1731)。若密钥符合规范,则经由控制器1712将其存储于非易失性存储器1714中(步骤1732)。若其不符合规范,则程序循环至步骤1730以重试PUF以产生密钥。实体不可复制功能可使用一组如上文所描述的非易失性存储单元以产生具有任何长度的密钥且基于PUF来重试密钥产生程序。如所说明,PUF电路1711与控制器1712将协作以产生另一密钥,循环回至步骤1730直至产生令人满意的密钥。否则,密钥产生完成,将密钥存储且准备待由安全逻辑采用。为使用密钥,程序包含自非易失性存储器获得密钥数据(1733),及执行涉及主机1720及用于非易失性存储器中的一或多个密钥的密钥数据的协议中的安全功能(1734)。主机1720可经提供由注册系统执行依赖于密钥的安全协议所必需的数据,或可为在设置密钥期间所使用的系统。安全功能可经组态与注册系统或通讯服务器协作以利用多个密钥。在一些实施例中,产生且存储的密钥仅采用一次或有限次数以维持高安全性及窥探免疫性。此外,在一些实施例中,可对于每一通讯会话以依赖于较大密钥的子组的方式采用单个较大密钥。可针对使用的特定环境按需要实施其他安全协议。在图22的程序中,在由安全程序利用密钥期间,可执行密钥更新协议,其传讯密钥应被更新。此可包含在一段时间之后或在固定使用次数之后替换密钥。此外,若使用多次登入尝试失败或侦测到其他事件表明猜测密钥的尝试,则可替换密钥。因此,图22的程序包含判定是否更新密钥的步骤(1735)。若密钥需要更新,则程序循环至步骤1730,且执行PUF以更新密钥。若在1735处密钥不需要更新,则程序循环以继续使用密钥来支持安全功能的执行。
当在由图22的步骤1731及步骤1735所表示的循环中使用PUF来产生新的密钥时,举例而言,在一些实施例中,可将用于PUF中的参数偏移(shift)以提高产生在各循环中实质上不同的密钥的机率。当然,在使用快闪存储单元的一些实施例中,将相同PUF参数应用至相同单元可产生足够不同的密钥。在其他实例中,可对于每一新的PUF循环改变用以产生初始分布的偏压电压。此外,可将递增步长脉冲编程ISPP算法中应用的脉冲的数目改变来产生作为PUF的部分的分布。在另外其他实例中,可将用以产生脉冲的存储单元自阵列的一个区域中的组改变为阵列的另一区域中的不同组。
在一些实施例中,高电平功能可被视为两个部分,诸如图23及图24中所示。图23说明可在制造期间或在运送至客户之前或另外在已由系统使用密钥之前执行的功能。在图23中,程序开始于通电事件(1750)。执行实体不可复制功能且撷取包含一或多个密钥的密钥数据并提供至注册系统或将需要密钥数据的其他外部系统(1751)。密钥数据存储于如上文所论述的非易失性存储器中(1752)。密钥数据已在存储于非易失性存储器中之后受保护,免于被外部通讯网络或元件存取(1753)。在所述区域中,程序大体上如图24中所示流动,开始于通电事件(1760)。程序包含自非易失性存储器获得受保护的密钥数据(1761),及执行包含通讯协议的安全功能,诸如与使用密钥的外部元件进行询问-响应交换(1762)。
如图25中所说明,实体不可复制功能可使用诸如SRAM电路、可编程电阻存储单元电路RRAM、基于金属的电路、基于延迟的电路、基于振荡器的电路以及类似者的实体电路1770。通常,用于实体不可复制功能中的电路具有相对较低的稳定性,需要特定逻辑或误差校正以便可靠地使用密钥。用于存储密钥的非易失性存储器1771可包括高度稳定的非易失性存储器,诸如闪存、可编程电阻存储器RRAM、相变存储器PCRAM、一次性可编程存储器以及类似者。在其他实施例中,由实体不可复制功能使用的电路1775可具有相对较高的稳定性。然而,密钥亦可存储于非易失性存储器1776中,其亦具有高稳定性,但亦可提供较好访问控制及通常可不与实体不可复制功能电路1775相关联的其他功能。
在一些实施例中,如由图27表示,可采用随机数产生器1780以产生密钥,其接着可存储于非易失性存储器1781中且用于诸如本文中所描述的彼等的系统中。
在一些实施例中,如由图28表示,实体不可复制功能电路1785可以第一电平产生具有例如1024个位的安全信息。在第一电平下的此安全信息可被提供至逻辑电路1786,其使用例如散列函数(Hash function)将第一电平数据转换成具有例如128个位的第二电平信息,或产生随第二电平下的安全信息的可变的位的其他组合。接着可将第二电平信息存储至非易失性存储器1787中。程序开始于通电(2900)。此可在例如当元件安装于测试夹具或诸如上文所描述的注册系统中时出现。此外,程序可开始于传讯启动PUF电路以产生密钥的其他事件。在步骤2900之后,启用用以执行实体不可复制功能的电路(2901)。接着,执行PUF以产生密钥(2902)。接着将密钥存储于一组非易失性存储单元中,诸如非易失性存储器阵列中的单元的特定区块中的单元(2903)。如以上实例中所论述,所述组非易失性存储单元可为由PUF所使用的相同的组,或可为在执行PUF之后将密钥写入其中的一组非易失性存储单元。
图29为由诸如图17或图17A中所示的元件中的控制器来执行以便冻结使用PUF产生的密钥的程序的简化流程图。在流程图中,程序开始于通电(2900)。此可在例如当元件安装于测试夹具或诸如上文所描述的注册系统中时出现。此外,程序可开始于传讯启动PUF电路以产生密钥的其他事件。在步骤2900之后,启用用以执行实体不可复制功能的电路(2901)。接着,执行PUF以产生密钥(2902)。接着将密钥存储于一组非易失性存储单元中,诸如非易失性存储器阵列中的单元的特定区块中的单元(2903)。如以上实例中所论述,所述组非易失性存储单元可为由PUF所使用的相同的组,或可为在执行PUF之后将密钥写入其中的一组非易失性存储单元。在将密钥存储于所述组非易失性存储单元中之后,接着诸如通过抑止特定区块中的编程及擦除操作来将指示器设定为禁用对密钥的改变(2904)。
图30为可由诸如图17或图17A中所示的元件中的控制器来执行以便冻结使用PUF产生的密钥的替代程序的简化流程图。在流程图中,程序开始于通电(3000)。此可在例如当元件安装于测试夹具或诸如上文所描述的注册系统中时出现。此外,程序可开始于传讯启动PUF电路以产生密钥的其他事件。在步骤3000之后,启用用以执行实体不可复制功能的电路(3001)。接着,执行PUF以产生密钥(3002)。接着将密钥存储于一组非易失性存储单元中,诸如非易失性存储器阵列中的单元的特定区块中的单元(3003)。如以上实例中所论述,所述组非易失性存储单元可为由PUF所使用的相同的组,或可为在执行PUF之后将密钥写入其中的一组非易失性存储单元。在此程序中,接着诸如通过判定其是否具有足够的随机性来评估使用PUF产生的密钥的适合性(3004)。算法接着判定PUF密钥是否令人满意(3005)。若在外部执行密钥的测试,则可经由存储器元件上的端口来提供来自外部元件的信号以指示测试成功。若其不令人满意,则可经由存储器元件上的端口来提供来自外部元件的信号以指示测试失败,且可重试用于产生密钥的程序(3006)。若在步骤3005处,密钥令人满意,则可将指示器设定为禁用对存储密钥的所述组非易失性存储单元中的数据的改变,从而冻结供用于元件中的密钥(3007)。
如上文所提及,用于在密钥产生之后将其冻结的另一种技术涉及诸如通过禁用用以执行实体不可复制功能的电路来禁用所述功能。
图31为可由诸如类似于图17或图17A的元件中的控制器来执行的程序的流程图。在此实例中,程序开始于通电事件(3100)。如上文所提及,程序可开始于其他启动事件。当启动程序时,逻辑首先判定密钥是否已经存储于用以存储密钥的所述组非易失性存储单元中。因此,可将所述组非易失性存储单元与预定PUF区块型样比较(3101)。指示无密钥已写入的型样可为例如所有0的型样或所有1的型样。在检查型样之后,判定其是否发现与预定型样的匹配(3102)。若未发现匹配,则逻辑通过例如禁用用以执行PUF的电路或通过抑止控制电路的状态机前进至执行PUF的状态来禁用PUF(3103)。若发现匹配,则逻辑通过例如启用用以执行PUF的电路或通过使得状态机前进至执行PUF的状态来启用PUF(3104)。在启用PUF之后,接着将其执行以产生密钥(3105)。接着将密钥存储于一组非易失性存储单元中,诸如取决于特定实施例存储于阵列中的特定PUF区块中,或单独一组存储单元中(3106)。在成功地产生密钥之后,接着视情况可将指示器设定为禁用对存储密钥的所述组存储单元的改变(3107)。如上文所提及,在一些实施例中,存储密钥的所述组存储单元可不具有支持除PUF中使用的操作的外的编程或擦除操作的周边电路。在此情况下,设定指示器以防止编程及擦除可并非必需的。
图32为可由诸如类似于图17或图17A的元件中的控制器的控制器来执行的替代程序的流程图。在此实例中,程序开始于通电事件(3200)。如上文所提及,程序可开始于其他启动事件。当启动程序时,逻辑可在利用包含与启动密钥产生程序的外部元件的通讯的PUF之前进入需要执行验证协议的状态。当此验证协议启动时,逻辑执行所述协议(3201)。若密钥产生循环的启动器未成功通过验证协议,则逻辑可使用诸如结合图31所论述的彼等的技术来禁用PUF电路(3203)。若启动器成功通过验证协议,则逻辑启用PUF电路(3204)。接着可执行PUF以产生密钥(3205)。在产生密钥之后,可将其存储于一组非易失性存储单元中(3206)。视情况,在成功地存储密钥之后,可将指示器设定为禁用对存储于所述组非易失性存储单元中的数据的改变(3207)。
在各种实施例中,可以各种组合采用图29至图32所描述的技术。举例而言,用于对所述组存储单元检查预定型样的程序可与对成功执行验证协议以便启用PUF电路的要求组合。此外,用于在PUF存储于中所述组非易失性存储单元中之后将其校验或测试的程序可与用于对所述组非易失性存储单元检查预定型样的程序组合,或与需要成功执行验证协议的程序组合,或与两者组合。
在所述技术的一个方式中,可将控制类似于图6、图8、图9、图11、图13、图15、图29至图32中所示的彼等程序以及本文中所描述的其他程序的执行的计算机程序作为指令存储于计算机可读存储器或多于一个存储器上,其中存储器包括非暂时性计算机可读数据存储媒体。使用计算机可读存储器,PUF机器(例如410,图2)可使得扫描一组可编程存储单元中的可编程存储单元,且应用本文中所描述的程序以基于实体不可复制功能来产生稳定数据集。
此外,如上文所提及,包含所述组可编程存储单元的集成电路可包含状态机或经组态以执行这些程序的其他逻辑资源。在又其他替代例中,可采用由PUF机器执行的计算机程序与实施于集成电路上的逻辑的组合。
在本文所描述的实施例中,使用一组具有阈值电压的起始分布的存储单元来建立稳定数据集。此组存储单元可为诸如图3、图16、图17以及图17A中所示的大规模存储器阵列的部分。替代地,所述组存储单元可为特别提供的一组存储单元。在其中集成电路的任务功能包含存储器阵列的实施例中,用于此目的所述组存储单元可具有与阵列中的存储单元相同的结构,或可具有不同结构。此外,可将使用的所述组存储单元安置于集成电路上的任何型样中,包含紧密阵列型样或分布式型样。
在实施例中,可再使用用于建立起始分布的一组存储单元多次以产生具有变化内容的多个稳定数据集。因此,逻辑可提供于部署此类实施例的系统中,以利用一个集成电路上的存储单元上的PUF程序来产生可在与所述一个集成电路通讯的其他元件中共享的独特数据集。
如上文所提及,本文中所描述的实例是基于使用诸如闪存的电荷收集存储单元。在一些实施例中,包含经组态如图3、图16、图17以及图17A中所示的实施例中,所述技术可扩展至其他可编程存储单元技术,包含基于金属氧化物的可编程电阻单元、基于相位变换材料的可编程电阻单元、磁阻存储器以及其他类型的存储单元技术,其特征为用以建立其中阈值电压或阈值电阻相对于存储单元的位址随机变化作为经暴露于通用程序的结果的起始分布的能力。
如本文所描述产生的数据集可具有对于特定集成电路独特的内容。数据集可用以形成对询问的回应,诸如在安全协议的实例中。数据集可用作加密协定中的密钥。数据集可用作唯一识别符。数据集可用作随机密钥。
本文中所描述的技术的各种方式包含以下实施例。
在一个实施例中描述用于在包含一组可编程存储单元的集成电路上产生数据集的方法。所述方法可包括将集成电路上的具有位址的所述组可编程存储单元暴露于所述组中的可编程存储单元中引发阈值的起始分布内的可变阈值的通用程序。所述方法亦可包括:(1)寻找具有起始分布的第一部分中的阈值的所述组可编程存储单元的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元的第二子组;及(2)使用第一及第二子组中的至少一者的位址以产生数据集。
通用程序可包括在制造期间的刻蚀或沉积步骤,其在所述组中的可编程存储单元的电荷存储结构中引发电荷收集。通用程序亦可包括使用偏压电路对集成电路进行偏压操作,其在所述组中的可编程存储单元的电荷存储结构中引发改变。
在一个实施例中描述制造集成电路的方法。所述方法可包括:在集成电路上形成多个可编程存储单元;将集成电路连接至经组态以与集成电路交换信号的系统;以及通过以下步骤来使用所述系统以在具有阈值的起始分布的所述多个可编程存储单元中的一组可编程存储单元中产生数据集:(1)寻找具有起始分布的第一部分中的阈值的所述组可编程存储单元的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元的第二子组;及(2)使用第一子组及第二子组中的至少一者的位址以产生数据集。
在一个实施例中描述一装置。所述装置可包括集成电路上的一组可编程存储单元;用以通过以下步骤来使用所述组可编程存储单元来产生数据集的逻辑,其中所述组可编程存储单元具有阈值的起始分布:(1)寻找具有起始分布的第一部分中的阈值的所述组可编程存储单元的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元的第二子组;及(2)使用第一子组及第二子组中的至少一者的位址以产生数据集。
在一个实施例中描述一产品。所述产品可包括存储用于一程序的计算机指令的计算机可读非暂时性数据存储媒体,所述程序用以在包含一组可编程存储单元的集成电路上产生数据集,所述计算机指令可由经组态以连接至集成电路的系统执行。所描述的程序可包括:(1)寻找具有起始分布的第一部分中的阈值的所述组可编程存储单元的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元的第二子组;及(2)使用第一子组及第二子组中的至少一者的位址以产生数据集。
实施例中描述的寻找步骤可包含判定起始分布的第一部分与起始分布的第二部分之间的分隔线,从而使得所述组中具有低于分隔线的阈值的可编程存储单元的计数与所述组中具有高于分隔线的阈值的可编程存储单元的计数的比率在目标比率范围内。
实施例中描述的使用位址步骤可包含:使用第一子组及第二子组中的所述至少一者中的可编程存储单元的位址来选择可编程存储单元,向所选择的可编程存储单元施加偏压操作以对于所述组可编程存储单元建立改变的阈值分布,改变的分布具有第一子组与第二子组之间的感测边限;以及使用所述感测边限中的读取电压来读取所述组中的可编程存储单元以产生数据集。使用位址步骤亦可包含将第一子组及第二子组中的所述至少一者中的存储单元的位址合并随第一子组及第二子组中的所述至少一者的成员而变化,及将合并的位址用作数据集。
在一个实施例中描述用于在集成电路上产生数据集的方法。集成电路包含一组可编程存储单元,且可编程存储单元具有起始分布中的阈值。所述方法包括寻找具有起始分布的第一部分中的阈值的所述组可编程存储单元中的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元中的第二子组。所述方法可包括施加偏压操作以对所述组中的可编程存储单元建立改变的阈值分布,改变的分布具有第一子组与第二子组之间的感测边限;以及使用改变的分布来提供数据集。
在一个实施例中描述用于在集成电路上产生数据集的方法。集成电路包含一组可编程存储单元,其可编程存储单元具有起始分布中的阈值。所述方法包括寻找具有起始分布的第一部分中的阈值的所述组可编程存储单元中的第一子组,及具有起始分布的第二部分中的阈值的所述组可编程存储单元中的第二子组。所述方法可包括:将第一子组及第二子组中的至少一者中的可编程存储单元的位址合并;及使用合并的位址来提供数据集。
在一个实施例中描述一装置。所述装置可包含一组电荷收集存储单元;及具有对所述组电荷收集存储单元的存取的电路,以使用所述组电荷收集电荷收集提供数据集,所述数据集为所述组电荷收集存储单元的不同成员的可变阈值电压作为在所述组中的电荷收集存储单元中的电荷存储结构中引发电荷收集的通用程序的结果的函数。如所描述的所述组电荷收集存储单元具有次序且可变阈值电压具有起始分布,且数据集为按具有起始分布的部分中的阈值电压的所述组电荷收集存储单元的子组的顺序的位置的函数。
在一个实施例中描述用于在包含一组可编程存储单元的集成电路上产生数据集的方法。所述方法包括将集成电路上所述组具有位址的可编程存储单元暴露至在所述组的成员中引发起始阈值分布内的可变阈值的通用程序。所述方法亦包括:(1)在起始分布中寻找第一分隔线及不同于第一分隔线的第二分隔线;(2)识别具有低于起始分布的第一部分中的第一分隔线的阈值的所述组可编程存储单元中的第一子组,及具有高于起始分布的第二部分中的第二分隔线的阈值的所述组可编程存储单元中的第二子组;以及(3)使用第一子组及第二子组中的至少一者的位址产生数据集。
在一个实施例中描述制造集成电路的方法。所述方法可包括在集成电路上形成多个可编程存储单元;将集成电路连接至经组态以与集成电路交换信号的系统;以及通过以下步骤来使用所述系统以在具有阈值的起始分布的所述多个可编程存储单元中的一组可编程存储单元中产生数据集:(1)在起始分布中寻找第一分隔线及不同于第一分隔线的第二分隔线;(2)识别具有低于起始分布的第一部分中的第一分隔线的阈值的所述组可编程存储单元中的第一子组,及具有高于起始分布的第二部分中的第二分隔线的阈值的所述组可编程存储单元中的第二子组;以及(3)使用第一子组及第二子组中的至少一者的位址产生数据集。
在一个实施例中描述一装置。所述装置包括集成电路上的一组可编程存储单元;及用以通过以下步骤来使用所述组可编程存储单元产生数据集的逻辑,其中所述组存储单元具有阈值的起始分布:(1)在起始分布中寻找第一分隔线及不同于第一分隔线的第二分隔线;(2)识别具有低于起始分布的第一部分中的第一分隔线的阈值的所述组可编程存储单元中的第一子组,及具有高于起始分布的第二部分中的第二分隔线的阈值的所述组可编程存储单元中的第二子组;以及(3)使用第一及第二子组中的至少一者的位址产生数据集。
在一个实施例中描述一产品。所述产品包括存储用于一程序的计算机指令的计算机可读非暂时性数据存储媒体,所述程序用以在包含可编程存储单元的集成电路上产生数据集,所述计算机指令可由经组态以连接至集成电路的系统执行。所述程序包括:(1)在起始分布中寻找第一分隔线及不同于第一分隔线的第二分隔线;(2)识别具有低于起始分布的第一部分中的第一分隔线的阈值的所述组可编程存储单元中的第一子组,及具有高于起始分布的第二部分中的第二分隔线的阈值的所述组可编程存储单元中的第二子组;以及(3)使用第一子组及第二子组中的至少一者的位址产生数据集。
实施例中所描述的寻找第一分隔线及第二分隔线的步骤可包含测定起始分布中的阈值电压,在所述电压下,具有低于阈值电压的阈值的存储单元的计数与具有高于阈值电压的阈值的存储单元的计数的比率在目标比率范围内;及通过自阈值电压减去第一常数来设定第一分隔线,以及通过向阈值电压加上第二常数来设定第二分隔线。寻找步骤亦可包含使用移动第一读取电压反复地读取所述组可编程存储单元中的数据值,及对所述组中具有低于第一读取电压的阈值的存储单元进行计数,以及使用第一读取电压设定第一分隔线,在所述第一读取电压下,所述计数在第一目标计数范围内。寻找步骤亦可包含使用移动第二读取电压反复地读取所述组可编程存储单元中的数据值,及对所述组中具有高于第二读取电压的阈值的存储单元进行计数,以及使用第二读取电压设定第二分隔线,在所述第二读取电压下,所述计数在第二目标计数范围内。
实施例中所描述的产生数据集的步骤可包含使用位址来选择第一子组及第二子组中的一者中的可编程存储单元;以及使用第一分隔线与第二分隔线之间的读取电压来读取所述组可编程存储单元中的可编程存储单元。产生步骤亦可包含将第一子组及第二子组中的所述至少一者中的可编程存储单元的位址合并随第一及第二子组中的所述至少一者中的成员变化。
实施例中描述的通用程序可包括在制造期间的刻蚀或沉积步骤,所述步骤在所述组中的可编程存储单元的电荷存储结构中引发电荷收集。通用程序亦可包括使用偏压电路对集成电路进行偏压操作,其在所述组中的可编程存储单元的电荷存储结构中引发改变。
在一个实施例中描述用于在包含可编程存储单元的集成电路上产生数据集的方法。所述方法包括存储具有所述组中的存储单元的阈值分布的第一子分布中的阈值的一组存储单元中的存储单元的位址;及使用所存储的位址产生数据集。
在一个实施例中描述集成电路。集成电路包括具有阈值的分布的集成电路上的一组可编程存储单元;存储具有阈值分布的第一子分布中的阈值的所述组存储单元中的存储单元的位址的存储器;以及用以使用所存储的位址来产生数据集的逻辑。
分布的特征在于已使用实体不可复制功能实现。通过感测边限将第一子分布与第二子分布分离,且逻辑经组态以产生数据集以按位址次序读取所述组可编程存储单元中的存储单元以产生根据是否为第一子分布中的成员而变化的数据值。另外,存储器存储具有所述组中的存储单元的阈值分布的第二子分布中的阈值的所述组存储单元中的存储单元的位址;且用以产生数据集的逻辑包含对于第一子分布及第二子分布使用所存储的位址。另外,存储器存储阈值分布的第一分隔线及不同于第一分隔线的第二分隔线,其中第一子分布中的存储单元包含具有低于第一分隔线的阈值的所述组存储单元的第一子组,且第二子分布中的存储单元包含具有高于第二分隔线的阈值的所述组存储单元的第二子组。
如描述于实施例中的逻辑经组态以使用位址产生数据集以选择第一子组及第二子组中的一者中的存储单元;且使用第一分隔线与第二分隔线之间的读取电压来读取所述组可编程存储单元中的存储单元。
如所描述的逻辑可经组态以使用集成电路上的偏压电路来施加偏压操作,其在所述组中的可编程存储单元的电荷存储结构中引发变化以建立分布,且响应于询问输入以使用数据集产生响应输出。逻辑可包括集成电路上的状态机。
在本文所描述的实施例中,所述组中的可编程存储单元为电荷收集存储单元,且阈值为阈值电压。
在一个实施例描述存储器电路。所述存储器电路包括:(1)包含多个存储单元的区块且包含存储于所述多个区块中的特定区块中的密钥的非易失性存储器阵列;(2)用于来自阵列的数据的外部通讯的端口;(3)耦接至存储器阵列的安全逻辑,其在协议中利用密钥以启用存取存储于所述多个区块中的区块中的数据;以及(4)耦接至阵列的访问控制电路,其包含用以启用由供用于协议中的安全逻辑来只读存取特定区块且防止经由端口存取特定区块的逻辑。
在一个实施例中描述包括封装集成电路或多芯片模块的元件。所述元件包括:(1)包含多个存储单元的区块且包含存储于所述多个区块中的特定区块中的密钥的非易失性存储器阵列;(2)用于来自阵列的数据的外部通讯的端口;(3)耦接至存储器阵列的安全逻辑,其在协议中利用密钥以启用存取存储于所述多个区块中的区块中的数据;以及(4)耦接至阵列的访问控制电路,其包含用以启用由供用于协议中的安全逻辑来只读存取特定区块且防止经由端口存取特定区块的逻辑。
在一个实施例中描述用于操作包含非易失性存储器阵列的电路的方法。所述方法包括(1)将密钥存储于非易失性存储器阵列的多个区块中的特定区块中;(2)通过外部元件或通讯网络使用端口存取来自阵列的数据;(3)在协议中利用耦接至非易失性存储器阵列的安全逻辑电路、存储于特定区块中的密钥以启用存取存储于所述多个区块中的区块中的数据;(4)启用由供用于协议的安全逻辑只读存取特定区块,且防止经由端口存取特定区块。
本文中所描述的协议可包含询问/响应协议,其包含经由端口交换数据。
本文中所描述的访问控制电路具有第一状态,其中启用经由端口存取特定区块以写入密钥;第二状态,其中禁用经由端口存取或写入其中特定区块,且启用由安全逻辑读取存取特定区块。所描述的访问控制电路包含区块锁定位,其启用且禁用对所述多个区块中的相应区块的存取。
在实施例中,逻辑包含于封装集成电路或多芯片模块中。逻辑可将使用所述组存储单元产生的密钥存储至特定区块中,且可使用存储器阵列中的一组存储单元来执行功能以产生密钥。所述组存储单元在特定区块中。
所描述的密钥包括所述组存储单元的子组中的数据值,及识别供安全逻辑使用的子组的成员的位址映像。
存储器阵列、端口、安全逻辑以及访问控制电路可安置于单个集成电路上。
描述存储器元件,包括实体不可复制功能(PUF)电路;及经组态以抑止PUF电路中的存储单元的编程或擦除程序的保护电路。在实施例中,保护电路包含指示编程或擦除PUF电路的可存取性的指示器,且指示器处于抑止将PUF电路的程序编程或擦除的状态中。在实施例中,指示器为熔丝、一次性程序(one-time-program;OTP)单元,或缓存器。在实施例中,PUF电路包含非易失性存储器阵列中的所选择组的单元,且电路包含写入偏压产生器,其产生写入偏压布置以将存储单元写入阵列中;且其中抑止写入偏压产生器连接至PUF电路的所选择组的存储单元。在实施例中,禁用写入偏压产生器而启用PUF电路。
在实施例中,保护电路经组态以执行验证算法以判定将PUF电路编程或擦除的可存取性。验证算法可包括密码验证。
在实施例中,验证算法与指纹识别机构或硬件密钥介接。
描述存储器元件,包括PUF电路;及经组态以检查PUF电路的内容的指定型样以允许或抑止PUF电路的写入程序的控制电路。用以允许写入程序所需要的指定型样可为例如所有1的或所有0的。
尽管参考上文详述的优选实施例及实例揭示本发明,但应理解,这些实例意欲为说明性而非限制性意义。预期所属领域中具通常知识者将容易地想到各种修改及组合,所述修改及组合将在本发明的精神及以下申请专利范围的范畴内。

Claims (23)

1.一种电路,包括:
多个非易失性存储单元;
用以使用实体不可复制功能来产生密钥且将所述密钥存储于所述多个非易失性存储单元中的一组非易失性存储单元中的逻辑;以及
用以在所述密钥存储于所述组中之后禁用对所述组非易失性存储单元中的数据的改变的逻辑。
2.如权利要求1所述的电路,其中所述实体不可复制功能利用使用所述多个非易失性存储单元中的非易失性存储单元产生的熵来产生所述密钥。
3.如权利要求1所述的电路,其中用以禁用对所述组非易失性存储单元中的数据的改变的所述逻辑禁用所述实体不可复制功能。
4.如权利要求1所述的电路,其中所述多个非易失性存储单元包含存储单元的阵列且所述阵列具有用于存取所述阵列的周边电路的,及非易失性存储单元的区块且所述区块具有允许只读存取所述区块的单独周边电路的,所述区块包含所述组非易失性存储单元,且其中所述实体不可复制功能利用使用非易失性存储单元的所述区块中的非易失性存储单元所产生的熵来产生所述密钥,且其中用以禁用对所述组非易失性存储单元中的数据的改变的所述逻辑禁用所述实体不可复制功能。
5.如权利要求1所述的电路,其中所述多个非易失性存储单元包含存储单元的阵列且所述阵列具有用于存取所述阵列的周边电路的,且其中所述周边电路具有第一状态,在所述第一状态中启用用以写入所述密钥的对所述组非易失性存储单元的存取,及第二状态,在所述第二状态中禁用用以写入的对所述组非易失性存储单元的存取而启用用以写入的对所述阵列中的其他非易失性存储单元的存取,且其中用以禁用对所述组非易失性存储单元中的数据的改变的所述逻辑包含用以设定所述第一状态或所述第二状态的指示器。
6.如权利要求1所述的电路,包含需要成功验证协议的验证逻辑以启用所述实体不可复制功能以产生密钥。
7.如权利要求1所述的电路,其中用以禁用对所述组非易失性存储单元中的数据的改变的所述逻辑包含用以将存储于所述组非易失性存储单元中的数据与预定数据型样比较且用以在所述存储的数据不匹配所述预定数据型样时禁用所述实体不可复制功能的逻辑。
8.如权利要求1所述的电路,其中所述实体不可复制功能使用所述组非易失性存储单元以产生所述密钥。
9.如权利要求1所述的电路,包含:
端口,用于来自所述多个非易失性存储单元的数据的外部通讯;以及
安全逻辑,耦接至所述多个非易失性存储单元,所述安全逻辑在协议中利用所述密钥以启用存取存储于所述多个非易失性存储单元中的数据。
10.如权利要求9所述的电路,其中所述协议包含询问/响应协议,所述询问/响应协议包含经由所述端口的数据交换。
11.如权利要求9所述的电路,其中所述多个非易失性存储单元、所述端口、所述安全逻辑以及用以禁用对所述组非易失性存储单元中的数据的改变的所述逻辑安置于单个集成电路上。
12.如权利要求1所述的电路,其中所述多个非易失性存储单元包括具有存储单元的多个区块的存储器阵列、包含所述组非易失性存储单元且包含访问控制电路的特定区块,所述访问控制电路包含区块锁定位,所述区块锁定位启用且禁用对所述多个区块中的相应区块的写入数据的存取,且用以禁用对所述组非易失性存储单元中的数据的改变的所述逻辑针对所述特定区块设定所述区块锁定位。
13.如权利要求1所述的电路,其中用以禁用改变的所述逻辑响应于来自外部电路的命令。
14.一种用于操作包含多个非易失性存储单元的电路的方法,包括:
执行实体不可复制功能以产生密钥;
将所述密钥存储于一组非易失性存储单元中;以及
在存储所述密钥之后,禁用对存储于所述组非易失性存储单元中的数据的改变。
15.如权利要求14所述的方法,其中所述实体不可复制功能利用使用所述多个非易失性存储单元中的非易失性存储单元产生的熵来产生所述密钥。
16.如权利要求14所述的方法,其中禁用对存储于所述组非易失性存储单元中的数据的改变禁用所述实体不可复制功能。
17.如权利要求14所述的方法,其中所述多个非易失性存储单元包含非易失性存储单元的阵列且所述阵列具有用于存取所述阵列的周边电路的,及非易失性存储单元的区块且所述区块具有允许只读存取所述区块的单独周边电路的,所述区块包含所述组非易失性存储单元,且其中所述实体不可复制功能利用使用非易失性存储单元的所述区块中的非易失性存储单元所产生的熵来产生所述密钥,且其中禁用对所述组非易失性存储单元中的数据的改变禁用所述实体不可复制功能。
18.如权利要求14所述的方法,其中所述多个非易失性存储单元包含非易失性存储单元的阵列且所述阵列具有用于存取所述阵列的周边电路的,且其中所述周边电路具有第一状态,在所述第一状态中启用用以写入所述密钥的对所述组非易失性存储单元的存取,及第二状态,在所述第二状态中禁用用以写入的对所述组非易失性存储单元的存取而启用用以写入的对所述阵列中的其他非易失性存储单元的存取,且其中禁用对所述组非易失性存储单元中的数据的改变包含存储用以设定所述第一状态或所述第二状态的指示器。
19.如权利要求14的方法,包含要求成功验证协议以启用所述实体不可复制功能以产生密钥。
20.如权利要求14所述的方法,其中禁用对存储于所述组非易失性存储单元中的数据的改变包含将存储于所述组非易失性存储单元中的数据与预定数据型样比较,及在所述存储的数据不匹配所述预定数据型样时禁用所述实体不可复制功能。
21.如权利要求14所述的方法,其中所述实体不可复制功能使用所述组非易失性存储单元以产生所述密钥。
22.如权利要求14的方法,包含在协议中利用所述密钥以启用存取除所述密钥的外的存储于所述多个非易失性存储单元中的数据。
23.如权利要求14的方法,包含在产生所述密钥之后且在禁用改变之前测试所述密钥以校验所述密钥可用于其期望的目的。
CN201810497725.4A 2017-05-22 2018-05-22 操作具非易失性存储单元电路的方法及使用所述方法的电路 Active CN108959976B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US15/601,582 US10715340B2 (en) 2016-08-04 2017-05-22 Non-volatile memory with security key storage
US15/601,582 2017-05-22
US201762528460P 2017-07-04 2017-07-04
US62/528,460 2017-07-04
US15/864,445 US10911229B2 (en) 2016-08-04 2018-01-08 Unchangeable physical unclonable function in non-volatile memory
US15/864,445 2018-01-08

Publications (2)

Publication Number Publication Date
CN108959976A true CN108959976A (zh) 2018-12-07
CN108959976B CN108959976B (zh) 2022-08-12

Family

ID=61189225

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810497725.4A Active CN108959976B (zh) 2017-05-22 2018-05-22 操作具非易失性存储单元电路的方法及使用所述方法的电路

Country Status (3)

Country Link
EP (1) EP3407336B1 (zh)
CN (1) CN108959976B (zh)
TW (1) TWI663604B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723409A (zh) * 2019-03-22 2020-09-29 旺宏电子股份有限公司 集成电路、存储器电路以及用于操作集成电路的方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11568093B2 (en) * 2020-04-17 2023-01-31 SK Hynix Inc. Data scramblers with enhanced physical security
US11662978B2 (en) 2020-06-04 2023-05-30 PUFsecurity Corporation Modular operation circuit adopting iterative calculations
TWI782540B (zh) * 2020-06-04 2022-11-01 熵碼科技股份有限公司 基於物理不可複製功能的真隨機數產生器以及用於產生真隨機數的方法
US20210409233A1 (en) * 2020-06-26 2021-12-30 Taiwan Semiconductor Manufacturing Company Ltd. Puf method and structure

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103578550A (zh) * 2012-07-31 2014-02-12 三星电子株式会社 产生随机数的存储系统与产生随机数的方法
US20140126306A1 (en) * 2012-11-05 2014-05-08 Infineon Technologies Ag Electronic Device with a Plurality of Memory Cells and with Physically Unclonable Function
US20160148664A1 (en) * 2014-11-21 2016-05-26 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US20160328578A1 (en) * 2014-01-08 2016-11-10 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8928347B2 (en) * 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US8885819B2 (en) * 2012-12-27 2014-11-11 Intel Corporation Fuse attestation to secure the provisioning of secret keys during integrated circuit manufacturing
US9082514B1 (en) * 2013-04-22 2015-07-14 Xilinx, Inc. Method and apparatus for physically unclonable function burn-in
US9940048B2 (en) 2014-02-26 2018-04-10 Macronix International Co., Ltd. Nonvolatile memory data protection using nonvolatile protection codes and volatile protection codes
KR102201642B1 (ko) 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
US9607702B2 (en) 2015-03-25 2017-03-28 Macronix International Co., Ltd. Sub-block page erase in 3D p-channel flash memory
CN105007285B (zh) * 2015-08-19 2018-07-24 南京万道电子技术有限公司 一种基于物理不可克隆函数的密钥保护方法和安全芯片
US9613714B1 (en) * 2016-01-19 2017-04-04 Ememory Technology Inc. One time programming memory cell and memory array for physically unclonable function technology and associated random code generating method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103578550A (zh) * 2012-07-31 2014-02-12 三星电子株式会社 产生随机数的存储系统与产生随机数的方法
US20140126306A1 (en) * 2012-11-05 2014-05-08 Infineon Technologies Ag Electronic Device with a Plurality of Memory Cells and with Physically Unclonable Function
US20160328578A1 (en) * 2014-01-08 2016-11-10 Stc.Unm Systems and methods for generating physically unclonable functions from non-volatile memory cells
US20160148664A1 (en) * 2014-11-21 2016-05-26 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111723409A (zh) * 2019-03-22 2020-09-29 旺宏电子股份有限公司 集成电路、存储器电路以及用于操作集成电路的方法

Also Published As

Publication number Publication date
TWI663604B (zh) 2019-06-21
EP3407336B1 (en) 2022-08-17
CN108959976B (zh) 2022-08-12
EP3407336A1 (en) 2018-11-28
TW201901676A (zh) 2019-01-01

Similar Documents

Publication Publication Date Title
US10749695B2 (en) Physical unclonable function for non-volatile memory
EP3407335B1 (en) Non-volatile memory based physically unclonable function with random number generator
US11601269B2 (en) Unchangeable physical unclonable function in non-volatile memory
CN108959976A (zh) 操作具非易失性存储单元电路的方法及使用所述方法的电路
US10680809B2 (en) Physical unclonable function for security key
US20180123808A1 (en) Non-volatile memory with physical unclonable function and random number generator
JP6474056B2 (ja) 耐タンパ性を有する不揮発性メモリ装置、集積回路カード、不揮発性メモリ装置の認証方法、不揮発性メモリ装置を用いた暗号化方法および復号化方法
US9948470B2 (en) Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
CN106257590B (zh) 具有防篡改性的非易失性存储装置以及集成电路卡
EP3304561B1 (en) Memory circuit using resistive random access memory arrays in a secure element
CN108958650A (zh) 电子系统及其操作方法
Jia et al. Extracting robust keys from NAND flash physical unclonable functions
CN111723409B (zh) 集成电路、存储器电路以及用于操作集成电路的方法
TW201901442A (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