CN108958650A - 电子***及其操作方法 - Google Patents

电子***及其操作方法 Download PDF

Info

Publication number
CN108958650A
CN108958650A CN201810497723.5A CN201810497723A CN108958650A CN 108958650 A CN108958650 A CN 108958650A CN 201810497723 A CN201810497723 A CN 201810497723A CN 108958650 A CN108958650 A CN 108958650A
Authority
CN
China
Prior art keywords
physics
key
copy function
host
group
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
CN201810497723.5A
Other languages
English (en)
Other versions
CN108958650B (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
Application filed by Macronix International Co Ltd filed Critical Macronix International Co Ltd
Publication of CN108958650A publication Critical patent/CN108958650A/zh
Application granted granted Critical
Publication of CN108958650B publication Critical patent/CN108958650B/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • 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
    • 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
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/10Programming or data input circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/22Safety or protection circuits preventing unauthorised or accidental access to memory cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C16/00Erasable programmable read-only memories
    • G11C16/02Erasable programmable read-only memories electrically programmable
    • G11C16/06Auxiliary circuits, e.g. for writing into memory
    • G11C16/26Sensing or reading circuits; Data output circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/24Memory cell safety or protection circuits, e.g. arrangements for preventing inadvertent reading or writing; Status cells; Test cells
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/20Address safety or protection circuits, i.e. arrangements for preventing unauthorized or accidental 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/0673Single storage device
    • G06F3/0679Non-volatile semiconductor memory device, e.g. flash memory, one time programmable memory [OTP]

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)
  • Microelectronics & Electronic Packaging (AREA)
  • Semiconductor Memories (AREA)

Abstract

一种电子***包括主机与客户端装置,其中客户端装置可被实际作为单个芯片封装式集成电路或多芯片电路,且具有逻辑以使用物理不可复制功能以产生安全密钥。所述装置可包括位于客户端上的逻辑以借由安全的方式将物理不可复制功能密钥提供至主机。物理不可复制功能可使用由非易失性存储器单元得到的熵以产生初始密钥。所述的逻辑用以停用对物理不可复制功能数据的改变,且因此在密钥储存于所述数据集后冻结所述密钥。

Description

电子***及其操作方法
技术领域
本发明涉及包括闪存或其他非易失性存储器等存储器电路的集成电 路、电子装置以及其操作方法,所述集成电路具有利用独有密钥或独有辨 识码的安全特征。
背景技术
正在开发具有极高容量的包括非易失性存储器(例如闪存)的集成电 路存储器装置。某些技术被视为有可能会在集成电路上达成百万兆位级阵 列(terabit scalearray)。此外,存储器装置正被部署于借由网络内连的所 谓的“物联网(internet ofthings,IoT)”装置中,所述网络系以例如因特 网协议通信技术进行运作。对物联网装置及其他储存数据的装置的担忧是 数据安全性。因此,正在部署安全协议及查问/响应(challenge/response) 技术,所述安全协议需要以独有密钥进行加密并以独有ID进行鉴认。
安全协议需要使用密钥管理技术来产生、更新、储存及保护所利用的 独有密钥及ID。
物理不可复制功能(physical unclonable function,PUF)是一种可用 于为物理实体(例如集成电路)创建独有随机密钥的程序。使用物理不可 复制功能是一种用于产生供支持硬件固有安全(hardware intrinsic security, HIS)技术的芯片ID使用的密钥的解决方案。产生物理不可复制功能的电 路为,或包括,实现于实体结构中的物理实体,其中所述实体结构产生可 轻易评估但难以预测的码。
在具有高安全要求的应用(例如行动装置及嵌入式装置)中,已使用 物理不可复制功能来创建密钥。一种示例性物理不可复制功能是环形振荡 器物理不可复制功能(ring-oscillator PUF),其使用栅的电路传播延迟所固 有的制造变化性(manufacturingvariability)。另一种示例性物理不可复制 功能是静态随机存取存储器(SRAM)物理不可复制功能,其中各晶体管 中的阈值电压差使得静态随机存取存储器以逻辑“0”或逻辑“1”来接通 电源。参见查尔斯-赫尔德(Charles Herder)等人所著的“物理不可复制 功能及应用:教程(Physical Unclonable Functions and Applications:A Tutorial)”,第1126页至第1141页,电机电子工程师学会的学报 (Proceedings of the IEEE)|第102卷,第8期,2014年8月。
现有技术已提出一种使用电阻式随机存取存储器(resistive random accessmemory)的物理性质的物理不可复制功能。参见吉本(Yoshimoto) 等人所著的“10年后用于40纳米嵌入式应用且在125℃下具有<0.5%的 位错误率的基于电阻式随机存取存储器的物理不可复制功能(A ReRAM-based Physically Unclonable Function with Bit ErrorRate<0.5% after 10 years at 125℃ for 40nm embedded application)”,第198页至第199 页,2016 VLSI技术论文科技文摘研讨会(2016 Symposium on VLSI TechnologyDigest of Technical Papers)。在此论文中所呈现的应用提出了对 会因老化劣化而提高位错误率的电阻式随机存取存储器-物理不可复制功 能(ReRAM-PUF)的传统ID产生方法进行改良。然而,在此种基于电阻 式随机存取存储器的物理不可复制功能中,所创建的数据仍可能因存储器 单元的电阻漂移(drift)而受到破坏(corrupt),此可使得位错误率在存取 或使用所储存密钥时是不可接受的。此种电阻漂移于在集成电路的某些应 用中(例如在汽车应用中)所遇到的高温条件下可能更突出。
在使用利用物理不可复制功能电路产生的数据集时,由于高位错误率 的问题,先前技术已依赖于错误校正码来提高可靠性。例如,参见李(Lee) 等人在2016年6月2日发布的美国专利申请公开案第2016/0156476号“物 理不可复制功能电路及在物理不可复制功能电路中执行密钥登记的方法 (Physically Unclonable Function Circuits AndMethods Of Performing Key Enrollment In Physically Unclonable FunctionCircuits)”。
一种提供支持使用由物理不可复制功能产生的密钥及其他独有密钥 的技术的期望为包括非易失性存储器的集成电路是被期待的。此外,期望 即使在了解布署此技术的装置的确切制造工艺的情况下,此装置可简单地 被制造但能够产生现实上不可能复制或预测的码。
发明内容
以下所叙述的实现于集成电路上的物理不可复制功能电路可经配置 以达到高安全性的需求。在一些科技应用中,需要独有且私有的安全密钥 以进行鉴认或数据加密/解密的功能。集成电路上的物理不可复制功能电路 可经使用以产生独有且私有的安全密钥。借由以下所叙述的技术,可安全 地将此独有且私有的安全密钥由集成电路传送至主机,且用于安全功能。
此外,可使利用物理不可复制功能且利用一般随机数产生器以产生改 良的密钥(enhanced key)的安全电路***灵活性及可靠性提高的电子装 置及***被提出。此处所叙述的技术借由使用拟随机数产生器 (pseudo-random number generator)与物理不可复制功能电路的组合以提 高安全密钥的熵值(entropy)。
此处所叙述的装置与***适用于物联网装置的使用,且可在各种环境 下被实作。
此处所描述的装置可被实际制作于单个封装式集成电路或多芯片模 块,其中单个封装式集成电路或多芯片模块包括执行物理不可复制功能以 产生物理不可复制功能密钥的电路,且可选择性地包括随机数产生器。所 述装置可包括逻辑,以借由逻辑地合并物理不可复制功能密钥与随机数以 产生改良的密钥。物理不可复制功能可包括使用非易失性存储器单元的第 一子集合,且改良的密钥可被储存于此装置上的非易失性存储器单元的第 二子集合。在此处所叙述的实施例中,用于产生改良的密钥的逻辑可包括 异或(XOR)功能以进行物理不可复制功能密钥与随机数的位(bit-wise) 或字节(byte-wise)的异或,以产生改良的密钥。在另一方式中,所述逻 辑组合可包括哈希功能(hash function,或称哈希函数)。哈希函数映像 (mapping)物理不可复制功能密钥与随机数,以对数值进行哈希运算(hash) 以作为改良的密钥。在此处所叙述的实施例中,物理不可复制功能可使用 由多个非易失性存储器单元中的非易失性存储器单元导出的熵,以产生物 理不可复制功能密钥。随机数产生器可包括拟随机数产生器或确定性随机 数产生器(determinativerandom number generator),以产生为变化的种值 (seed value)的函数的随机数。
举例而言,一种如所述的电子装置(存储器电路)被实际制作于包括 非易失性存储器阵列的单个封装式集成电路或多芯片模块,所述非易失性 存储器阵列包括由存储器单元形成的多个区块,所述多个区块中的特定区 块中储存有密钥。所述存储器电路包括用于自所述阵列进行外部通信的端 口。所述存储器电路包括耦接至所述存储器阵列的安全逻辑(security logic),以在协议中利用所述改良的密钥来允许存取储存于所述多个区块中的各区块中的数据、或允许对储存于所述多个区块中的各区块中的数据 进行解密或加密。所述存储器电路并包括访问控制电路(access control circuit),所述访问控制电路耦接至所述阵列,且包括用于允许所述安全逻 辑对储存所述改良的密钥的所述特定区块进行只读存取,以供在所述协议 中使用、并阻止外部通信网络或装置经由所述端口存取所述特定区块的逻 辑。所述访问控制电路可具有其中允许经由所述端口存取所述特定区块以 写入所述密钥的第一状态;以及其中禁止经由所述端口存取所述特定区块 来进行读取或写入;但允许所述安全逻辑在与主机或其他外部装置执行安 全协议期间存取所述特定区块来进行读取的第二状态。所述封装式集成电 路或多芯片模块可包括用于使用存储器阵列中的一组存储器单元来执行 功能(包括物理不可复制功能,例如本揭露所述的依赖于电荷陷获非易失 性存储器单元作为物理电路的示例性功能)以生成初始物理不可复制密钥 的逻辑,以及用于产生随机数的随机数产生器,而借由组合逻辑 (combinatoriallogic)结合以产生改良的密钥。在本揭露所述的实施例中, 多个密钥与改良的密钥可储存于集成电路上的特定区块中或不同区块中。 此外,所述安全逻辑可被配置成使所述多个密钥中的特定密钥被使用一次 或有限数目的次数来允许存取储存于所述多个区块中的各区块中的资料。 在一些实施例中,储存于特定区块中的密钥可为例如包括数千或数百万个位的大密钥。
本揭露提供一种在集成电路上使用由包括浮置栅极及介电电荷陷获 技术的电荷陷获非易失性存储器单元导出的熵且在一些实施例中使用其 他类型的非易失性存储器单元,且合并由随机数产生器导出的熵,产生可 用作独有辨识符或独有密钥的数据集的操作方法。所述操作方法可包括物 理不可复制功能,所述物理不可复制功能会使得在一组中的存储器单元内 建立相异阈值(例如阈值电压)。所述方法可用于生成可以零位错误率或 极低位错误率而使用的基于物理不可复制功能的稳定数据集。
一种如所述的电子装置包括一组电荷陷获存储器单元,例如闪存单元。 包括电路***,所述电路***位于集成电路上、位于能够存取所述集成电 路的处理器***上、或者在所述集成电路上及在所述处理器***上均包括 某些部分,所述电路***能够存取所述一组电荷陷获存储器单元,以用于 使用所述一组电荷陷获存储器单元来提供数据集。所述数据集与随机数结 合以提供改良的密钥,所述改良的密钥具有较所述数据集更大的熵,且具 有较所述随机数更大的熵。
在一实施例中,在提高随机数产生器的输出的熵的方法中使用物理不 可复制功能密钥与随机数产生器产生改良的密钥,此是借由将物理不可复 制密钥提供为随机数产生器的种子(seed),且物理不可复制密钥为现实上 不可能被预测的。
一种在包括可编程存储器单元(例如闪存单元)的集成电路上产生数 据集的操作方法被提出。所述操作方法包括:使曝露于所述集成电路上具 有地址的所述一组可编程存储器单元经过共同处理后引入相异的阈值,且 所述一组可编程存储器单元位于一个起始分布的范围内。所述操作方法包 括:查找所述一组可编程存储器单元的具有位于所述分布的第一部分中的 阈值的第一子集、以及所述一组可编程存储器单元的具有位于所述起始分 布的第二部分中的阈值的第二子集。所述操作方法包括使用所述第一子集 及所述第二子集中的至少一者的地址以及随机数产生器来产生数据集。
在一个实施例中,借由以下方式来产生所述数据集:使用所述地址来 选择所述第一子集及所述第二子集中的一者中的存储器单元,并对所选择 的存储器单元应用偏压施加操作以在存储器单元的所述第一子集与所述 第二子集之间建立感测容限。在一个实施例中,可借由以下方式来建立所 述感测容限:对所述子集中所选择的一者中的存储器单元进行寻址,并对 所述经寻址的存储器单元应用偏压施加操作,以使其阈值改变成所述起始分布之外的阈值分布。此后,可借由使用处于所述感测容限内的读取电压 对所述一组可编程存储器单元中的存储器单元进行读取来产生所述数据 集。
在另一实施例中,借由根据所述第一子集及所述第二子集中的至少一 者中的成员身份,并根据所述至少一者中的存储器单元的地址将所述存储 器单元的地址进行组合来产生所述数据集。一种用于组合所述地址的技术 可包括依序对所述子集中的一者或每一者的地址进行数列(concatenate)。 可将包括经组合的地址的所述数据集储存于所述集成电路上与所述一组 可编程存储器单元不同的存储器中。
在本揭露所述的另一种技术中,借由以下方式来产生所述数据集:查 找所述起始分布中的第一分界线及与所述第一分界线不同的第二分界线; 辨识所述一组可编程存储器单元的具有位于所述起始分布的第一部分中 所述第一分界线以下的阈值的第一子集、以及所述一组可编程存储器单元 的具有位于所述起始分布的第二部分中所述第二分界线以上的阈值的第 二子集;以及使用所述第一子集及所述第二子集中的至少一者的地址来产 生数据集。
一种用于查找所述分界线的方法包括:确定所述起始分布中的阈值电 压,所述阈值电压使具有低于所述阈值电压的阈值的存储器单元的计数, 对具有高于所述阈值电压的阈值的存储器单元的计数的比率处于目标比 率范围内;以及借由自所述阈值电压减去第一常数来设定所述第分界线, 并借由对所述阈值电压加上第二常数来设定所述第二分界线。另一种用于 查找所述分界线的方法包括:使用移动的第一读取电压迭代地读取所述一 组可编程存储器单元中的所述数据值,并对所述一组中具有低于所述第一 读取电压的阈值的存储器单元进行计数,且使用使所述计数处于第一目标 计数范围内的所述第一读取电压来设定所述分界线;以及使用移动的第二 读取电压迭代地读取所述一组可编程存储器单元中的所述数据值,并对所 述一组中具有高于所述第二读取电压的阈值的存储器单元进行计数,且使 用使所述计数处于第二目标计数范围内的所述第二读取电压来设定所述 第二分界线。
一种操作包括多个非易失性存储器单元以及随机数产生器的电路的 方法被提出。所述方法包括执行物理不可复制功能以产生初始密钥;将所 述初始密钥储存于非易失性存储器单元的集合中;执行随机数产生器以产 生随机数;逻辑地合并初始密钥与随机数以产生改良的密钥;将改良的密 钥储存于多个非易失性存储器单元的非易失性存储器单元的第二集合中; 且在储存初始密钥之后,使对于储存在非易失性存储器的集合中的数据的 改变失能。一种根据本揭露所提供的用于产生数据集的方法来制造集成电 路的方法也被提出。
一种电子装置被提出,其包括位于集成电路上的一组可编程存储器单 元以及用于借由本揭露所述程序来产生数据集的逻辑。
在查阅以下附图及详细说明后,可明白本发明的其他方案及优点。
附图说明
图1是包括多个闪存单元及控制器的装置的简化方块图,所述控制器 用于使用所述多个闪存单元来执行物理不可复制功能与随机数产生器以 提供数据集。
图2是包括多个可编程存储器单元及控制器的装置的另一实例,所述 控制器用于使用所述多个可编程存储器单元来执行物理不可复制功能以 提供数据集。
图3说明集成电路上的闪存中的可编程存储器单元的区块,其中包括 物理不可复制功能区块。
图4A至图4D说明借由查找一组可编程存储器单元的第一子集及第 二子集并基于所辨识的第一子集及第二子集而建立稳定数据集来产生数 据集的实例。
图5A至图5D说明如参照图4A至图4D及表1所述来产生数据集的 另一实例,其示出即使应用相同程序,数据集中也存在变化(variation)。
图6示出如参照图4A至图4D及表1及图5A至5D及表2所述在包 括可编程存储器单元的集成电路上产生稳定数据集的示例性流程图。
图7A至图7D说明借由查找一组可编程存储器单元的第一子集、第 二子集及第三子集来产生数据集并为所述数据集构建地址映像的实例。
图8示出如参照图7A至图7D及表3所述在包括可编程存储器单元 的集成电路上产生数据集的示例性流程图。
图9示出如参照图7A至图7D及表3所述在包括可编程存储器单元 的集成电路上产生数据集的另一示例性流程图。
图10A至图10C说明将一组中的可编程存储器单元的阈值设定成起 始分布。
图10D至图10F说明可用于如本揭露所述产生数据集的示例性闪存单 元技术。
图11示出应用初始化偏压施加操作以将一组中的可编程存储器单元 的阈值设定成起始分布的示例性流程图。
图12A至图12C说明可用于依赖于电荷陷获存储器单元中阈值电压 的相异性来产生数据集的程序。
图13是以参照图12A至图12C所解释的方式在包括可编程电荷陷获 存储器单元的集成电路上产生稳定数据集的示例性流程图。
图14A至图14C说明可用于依赖于电荷陷获存储器单元中阈值电压 的相异性来产生数据集的替代程序。
图15是以参照图14A至图14C所解释的方式在包括可编程电荷陷获 存储器单元的集成电路上产生稳定数据集的示例性流程图1500。
图16是包括闪存阵列及利用所述存储器阵列以及随机数产生器提供 数据集的控制器的集成电路的简化方块图。
图17是示出与登记***(enrollment system)耦接的包括物理不可复 制功能电路***及非易失性存储器的封装式集成电路或多芯片模块的系 统图。
图17A是示出包括替代的物理不可复制功能电路***以及非易失性 存储器的封装式集成电路或多芯片模块的***图,其中所述封装式集成电 路或多芯片模块可耦接于相似于图17所示的登记***。
图18说明可在类似图17所示***那样的***中使用的非易失性存储 器的替代配置。
图19说明可在类似图17所示***那样的***中使用的非易失性存储 器的另一替代配置。
图20说明可用于储存安全ID及地址映像的数据结构,所述安全ID 及地址映像是根据本揭露所述物理不可复制功能的一些实施例而生成且 可储存于例如图17所示***等的***中。
图21是包括封装式集成电路或多芯片模块及主机的简化***图,所 述主机将物理不可复制功能电路与非易失性存储器一起使用。
图22至图24是说明在各种实施例中类似图21所示***那样的*** 的操作的简化流程图。
图25至图27提供对如本揭露所述物理不可复制电路***与非易失性 存储器的组合的各种替代配置的简化说明。
图28说明包括物理不可复制功能电路以及随机数产生器的配置。
图29是借由控制器在集成电路上执行的程序的简化流程图,其中所 述程序用以执行物理不可复制功能与随机数产生器,以及冻结(freeze) 产生的密钥。
图30是借由控制器在集成电路上执行的替代的程序的简化流程图, 其中所述替代程序用以执行物理不可复制功能与随机数产生器,以及冻结 产生的密钥。
图31是借由控制器在集成电路上执行的另一替代程序的简化流程图, 其中所述另一替代程序用以执行物理不可复制功能与随机数产生器,以及 冻结产生的密钥。
图32是借由控制器在集成电路上执行的又一替代程序的简化流程图, 其中所述又一替代程序用以执行物理不可复制功能与随机数产生器,以及 冻结产生的密钥。
图33至图38说明用于应用物理不可复制功能密钥的协议,且此协议 是用于安全功能。
【符号说明】
100、440、1600:集成电路
110:任务功能电路
111、116、131、141、151、161、171、1631、1651、1661、1671: 总线
115:访问控制区块
120、181:输入/输出界面
122、192、194:线路
125、1640:安全逻辑
130:存储器
140:物理不可复制功能程控器
150、1650、1784:随机数产生器
160、1660:逻辑电路***
170、1670:密钥
180:封装式集成电路或多芯片模块
182、191:线路
183:访问控制开关
184:感测放大器/缓冲器
185:阵列
186:地址译码器
186’:译码器结构
186A:锁定位/位
187:特定区块
187A、187B、187C:子区块
189:存储器单元
189A:物理不可复制功能单元
190、1640、1713:安全逻辑
193:控制状态机器
193A:指示单元
195:其他电路***
198:主机
198A:密钥数据库
199:内连线
200、300、800、900、1300、1500:流程图
201、210、220、230、240、250、260、310、320、801、810、820、 830、832、834、835、901、910、920、930、1301、1310、1320、1330、 1340、1350、1360、1370、1501、1510、1512、1514、1516、1518、1520、 1522、1524、1526、1528、1730、1731、1732、1733、1734、1735、1750、 1751、1752、1753、1760、1761、1762、2900、2901、2902、2903、2904、2905、2906、2907、3000、3001、3002、3003、3004、3005、3006、3007、 3008、3009、3010、3100、3101、3102、3103、3104、3105、3106、3107、 3108、3109、3110、3200、3201、3202、3203、3204、3205、3206、3207、 3208、3209、3210:步骤
410:处理器***
420:物理不可复制功能逻辑与驱动器
430:装置搬运机/探测器
450:安全电路
460:闪存阵列
470:闪存阵列
471:物理不可复制功能区块
472:引导块块
473:参数区块
474:保护逻辑
475:周边电路***
500、700:起始阈值分布
510、610、710:起始分布的第一部分
520、620、720:起始分布的第二部分
525:分布
530:感测容限
600:起始阈值分布
625、735:阈值分布
630、740:感测容限
730:起始分布的第三部分
750:第二感测容限
816:初始阈值分布
817:阈值范围/范围
818:起始分布
840、850、860:基板
841、851:源极区
842、852:漏极区
843、853:控制栅极
844、856:穿隧层
845:浮置栅极
846、848:氧化物层
847:氮化物层
857:电荷陷获层
858:阻挡层
863:垂直通道结构
867:字线
869:位线
1200:起始阈值分布
1210、1211、1220、1221:子分布
1240:VR-与VR+之间的差值
1400:起始分布
1410、1420、1430:子分布
1610:闪存阵列
1620:存取与偏压电路
1630:物理不可复制功能控制器
1632:地址与参数储存器
1633:状态机器
1710:集成电路或多芯片模块
1711、1785:物理不可复制功能电路
1712:控制器
1714、1771、1776、1781、1787:非易失性存储器
1720:主机
1770:物理电路
1775:电路/物理不可复制功能电路
1780:随机数产生器
1786:逻辑电路
3300:主机
3301:集成电路
3302、3303:界面控制器3304、3305:逻辑电路
3306、3335:密钥储存区块/密钥储存器
3309:随机数产生器
3311:存储器阵列
3315:指令译码器
3337:物理不可复制功能电路
3339:缓冲器
VR:读取电压
VR+:上部读取电压
VR-:下部读取电压
具体实施方式
参照各图来提供对本技术实施例的详细说明。应理解,并非旨在将本 技术限制于所具体揭露的结构性实施例及方法,而是可使用其他特征、元 件、方法、及实施例来实践本技术。阐述较佳实施例以对本技术进行说明, 而非对本技术的范围进行限制,其范围是由权利要求书界定。此项技术中 本领域技术人员将认识到以下说明的各种等效变化形式。以相同的参考编 号来共同指代各种实施例中相同的元件。
图1是包括多个可编程存储器单元及控制器的装置的简化方块图,所 述控制器用于使用所述多个可编程存储器单元来执行物理不可复制功能 与随机数产生器以提供数据集。在此实例中,所述装置包括具有使用可编 程存储器单元形成的存储器的集成电路100。存储器130可由物理不可复 制功能用于提供独有数据集。以下参照图17阐述其中任务功能电路110 是包括多个存储器单元区块的闪存阵列的另一实施例。本揭露也阐述其他 实施例。
集成电路100包括任务功能电路(mission function circuit)110,任务 功能电路110可包括专用逻辑(有时称为应用专用集成电路逻辑 (application-specificintegrated circuit logic))、例如在微处理器及数字信号 处理器中所使用的数据处理器资源、大型(large-scale)存储器(例如闪存、 静态随机存取存储器、动态随机存取存储器(DRAM)、可编程电阻存储 器(programmable resistance memory))、以及各种类型的电路的组合(被 称为***芯片(system-on-a-chip,SOC)配置或应用专用集成电路(application specific integrated circuit,ASIC))。集成电路100包括输入/ 输出界面120,输入/输出界面120可包括无线端口或有线端口,以提供对 其他装置或网络的存取。在本简化说明中,访问控制区块(access control block)115安置于输入/输出界面120与任务功能电路110之间。访问控制 区块115借由总线116耦接至输入/输出界面120且借由总线111耦接至任 务功能电路110。访问控制区块115执行访问控制协议,以允许或禁止在 任务功能电路110与输入/输出界面120之间进行通信、提供对越过输入/ 输出界面120的数据的加密或解密、且提供支持安全逻辑的其他服务、或 提供上述功能的组合。
为支持访问控制区块115,在此实例中,于芯片上安置安全逻辑125。 安全逻辑125耦接至可为存储器130(闪存阵列)一部分的一组闪存单元。 物理不可复制功能储存于非易失性存储器单元的集合中,且接着提供或被 使用以提供独有数据集以作为初始密钥。安全逻辑125也耦接至随机数产 生器150。随机数产生器150在总线151上产生随机数。逻辑电路***160 可合并初始密钥与随机数以经由总线161产生改良的密钥170。在实施例 中,逻辑电路***160可包括使用初始密钥与随机数作为输入且产生作为 改良的密钥的输出异或功能,且包括映像初始密钥与随机数以哈希数值而 作为改良的密钥的哈希功能。在一些实例中,在线(总线131)上的初始 物理不可复制功能密钥可具有N个位,在线(总线151)上的随机数可具 有M个位,且在线(总线161)上的改良的密钥可具有X个位。X小于N 与M的总和(也即N+M)。或者,在其他实施例中,X小于N与M的至 少其中一者。在总线171上的改良的密钥170可被安全逻辑125存取,且 由所述安全逻辑125用于与访问控制区块115在线路122上进行的通信中。
在装置的此实例中,物理不可复制功能程控器140(例如被实际作为 具有存储器130(闪存阵列)的集成电路上的状态机)提供信号以控制偏 压设置供电电压的应用,以实施用于产生数据集的程序、以及在存取存储 器130时所涉及的其他操作、及用于读取使用存储器130所提供的数据集 的其他操作。位于集成电路上的电路***(例如位线、字线、用于位线及 字线的驱动器等)达成对一组电荷陷获存储器单元的存取,以使用所述一 组电荷陷获存储器单元来提供数据集。
集成电路上的物理不可复制功能程控器140包括用于执行用以产生数 据集的某些或全部操作的逻辑。在一个实施例中,集成电路上的物理不可 复制功能程控器140包括执行偏压施加操作所必需的逻辑且可响应于来自 外部源的设置命令(set up command)来执行所述逻辑,而无需由芯片外 ***(off-chip system)进行控制。
在一些实施例中,物理不可复制功能程控器140包括响应于指示 (indicator)而阻止编程或擦除在物理不可复制功能存储器单元上的偏压 施加的操作。
可包括此项技术中已知的使用状态机在内的专用逻辑电路***来实 作所述控制器。在替代实施例中,所述控制器包括可被实际制作于同一集 成电路上的通用处理器,所述通用处理器执行计算机程序来控制装置的操 作。在又一些实施例中,可利用专用逻辑电路***与通用处理器的组合来 实作控制器。
在一些实施例中,外部处理器***可包括用于达成对集成电路及用于 产生数据集的逻辑的存取的电路***。所述外部处理器***可包括用于结 合集成电路上的电路***来提供数据集的电路***,例如晶圆探测电路 (wafer probe circuit)、控制总线、电压源等。用于对程序进行控制的能够 存取所述一组存储器单元的逻辑电路及偏压施加电路***可包括外部处 理器***上及在集成电路上的部分构件。
本揭露所述的实例利用例如在某些种类的闪存中所利用的电荷陷获 存储器单元(charge trapping memory cell)。电荷陷获存储器单元中的电荷 储存结构可包括多晶硅浮置栅极结构、或者其他导电性或半导电性浮置栅 极结构,且可包括在闪存技术中已知的多层式介电电荷陷获结构,例如氧 化物-氮化物-氧化物(oxide-nitride-oxide,ONO);氧化物-氮化物-氧化物- 氮化物-氧化物(oxide-nitride-oxide-nitride-oxide,ONONO);硅-氧化物- 氮化物-氧化物-硅(silicon-oxide-nitride-oxide-silicon,SONOS);带隙工程 设计硅-氧化物-氮化物-氧化物-硅(bandgap engineered silicon-oxide-nitride-oxide-silicon,BE-SONOS);氮化钽、氧化铝、氮化硅、 氧化硅、硅(tantalum nitride,aluminum oxide,silicon nitride,silicon oxide, silicon,TANOS);以及金属高介电常数带隙工程设计硅-氧化物-氮化物- 氧化物-硅(metal-high-k bandgap-engineeredsilicon-oxide-nitride-oxide-silicon,MA BE-SONOS)。
在其他实施例中,物理不可复制功能存储器单元中用于提供数据集的 可编程存储器单元可包括可编程电阻存储器单元或其他类型的存储器单 元。用于提供数据集的可编程电阻存储器单元可包括具有可参考阈值电阻 读取的可编程电阻的可编程元件。所述可编程电阻元件可例如包含金属氧 化物或相变材料。
图2说明包括位于集成电路上的一组可编程存储器单元,以及用于使 用所述一组可编程存储器单元产生数据集的逻辑的装置的另一实例。在此 实例中,所述装置包括处理器***410,以用于在集成电路440上执行或 引发执行如本揭露所述产生数据集的程序。集成电路440在制造期间于封 装之前被连接至处理器***410,例如在一些实施例中是以晶圆形式进行 连接。在其他实施例中,处理器***410连接至呈封装形式的集成电路。
用于执行在集成电路上产生基于物理不可复制功能的数据集的程序 的示例性***可包括在生产线(manufacturing line)中使用测试用设备或 使用类似测试用设备那样的设备(其包括用于存取集成电路的电路***, 例如晶圆探测电路、电压源等)而执行的经编程程序。举例而言,制造线 可具有被配置成与集成电路连接且可被配置成对本揭露所述程序的执行 进行控制的多个装置测试机(device tester)、多个装置探测器(deviceprober)、多个装置搬运机(device handler)、及多个界面测试配接器 (interface testadapter)。作为另一选择,***可被配置成与封装式集成电 路介接,且可被部署成远离集成电路的制造线,例如部署于利用集成电路 的原始设备制造商的总成安装处。
如图2中所示,示例性处理器***410包括物理不可复制功能逻辑与 驱动器420及装置搬运机/探测器430。欲受到物理不可复制功能逻辑与驱 动器420作用的集成电路440耦接至装置搬运机/探测器430。集成电路440 包括安全电路450。在此实例中,安全电路450中的大型闪存阵列460用 于使用物理不可复制功能来产生数据集。
处理器***410中的示例性集成电路可为如参照图1所述的集成电路 100。在制造集成电路100期间,处理器***410执行本揭露中所表示的 动作来生成包括改良的密钥的数据集,且可保存所述数据集的复本或自所 述数据集导出的数据来作为集成电路与工厂中的处理器***(例如,处理 器***410)之间的共享秘密。
在替代实施例中,在制造出集成电路之后,在现场,使用者可例如使 用处理器***410作为主机而在集成电路上的闪存阵列460中产生数据集, 因此可保存所述数据集来作为集成电路与现场(而非工厂中)的处理器系 统(例如处理器***410)之间的共享秘密。
产生目标秘密密钥且使用物理不可复制功能码的方法包括:使主机向 安全装置发出物理不可复制功能读取指令;在接收物理不可复制功能读取 指令之后,安全装置向主机发送作为使用暂时安全密钥加密的密文(cipher text)的物理不可复制功能码,或向主机发送作为未经加密的明文(plain text) 的物理不可复制功能码;在接收物理不可复制功能码之后,主机依据物理 不可复制功能码为密文或明文而对物理不可复制功能码进行解密或不对 物理不可复制功能码进行解密,以得到目标秘密密钥;主机向安全装置发 出物理不可复制功能转移(transfer)指令;以及在接收物理不可复制功能 转移指令之后,安全装置编程物理不可复制功能码为目标密钥地址,以作 为目标秘密密钥。在物理不可复制功能码被编程为安全装置中的目标密钥 地址之后,主机与安全装置具有用于加密/解密的相同的目标秘密密钥。
在实施例中,主机发出状态读取指令以判断物理不可复制功能码是否 成功地被编程为作为目标秘密密钥的目标密钥地址。
在实施例中,主机停用(block)物理不可复制功能读取指令,使得物 理不可复制功能读取指令不再被发出。
在实施例中,主机停用物理不可复制转移指令,使得物理不可复制转 移指令不再被发出。
在实施例中,目标密钥地址被定义为转移指令的附属物(appendant)。
在实施例中,暂时秘密密钥为预先被编程的(pre-programmed)。
图33说明***以及用于***的各种通信协议,包括经由通信链接(communication link)耦接至集成电路3301的主机3300。集成电路3301 使用集成电路3301上的电路***布署物理不可复制功能,以符合安全目 的。此处详细描述实施图33上的构件的各种技术。图34至图38说明使 用相同元件符号的相同***,其中各种通信协议支持***的安全功能中的 物理不可复制功能密钥的使用。
在此实例中,主机3300可包括计算机***或处理器集成电路,此计 算机***或处理器集成电路包括支持安全功能的各种逻辑构件。图33所 说明的构件包括界面控制器3302,借由界面控制器3302建立与客户端装 置(例如是集成电路3301或多芯片模块)之间的通信链接;安全逻辑电 路3304,执行安全功能,例如是广为采用的密钥哈希信息鉴认码(keyed-hash message authentication code;HMAC)功能、高阶加密标准 (advancedencryption standard;AES)功能或其类似者、用于鉴认的功能、 加密/解密功能、或其组合的功能。此外,更说明主机3300的构件包括随 机数产生器3308与密钥储存区块(密钥储存器)3306。主机包括处理电 路(processing circuit)与逻辑(未示出),以协调此些构件的操作,主机 例如是包括执行计算机程序的用于一般用途的处理器、特殊用途的逻辑电 路、用于一般用途与特殊用途两者组合的电路及其类似者。主机可使用可 在集成电路3301上被译码且被执行的指令以协调操作。
此实例中的集成电路3301包括界面控制器3303,其与主机3300上的 界面控制器3302互补。在此实例中,指令译码器3315被耦接至界面控制 器,且可接收并译码来自主机的指令,并向集成电路上的构件提供需要用 于译码指令的控制与时序(timming)信号。相似地,集成电路3301包括 与主机上的逻辑电路3304互补的安全逻辑电路3305。如此处已详细讨论, 可选择地在集成电路3301上提供随机数产生器3309。在此实施例中,集 成电路3301包括存储器阵列3311,例如是非易失性存储器阵列、动态随 机存取存储器(dynamicrandom access memory;DRAM)、静态随机存取 存储器(static random access memory;SRAM)、或其类似者,以适于特定 的实作。密钥储存区块(密钥储存器)3335耦接于存储器阵列3311,其 中密钥储存区块(密钥储存器)3335可为存储器阵列3311的一部分,或 分离的储存器。举例而言,密钥储存区块3335可包括静态随机存取存储 器缓存器(register)、闪存单元缓存器、单次可编程缓存器(one time programmable register)及其类似者。此实例中的集成电路3301包括物理 不可复制功能电路3337,其可执行物理不可复制功能以产生物理不可复制 功能数据集。另外,缓冲器3339包括于此实施例中,以在与主机3300的 通信中被使用为工作存储器,以及用于装置的其他选择性的工作存储器应 用。
图33所示的***可被实施于多个实施例中,其应用任一或所有此处 所叙述的技术。一般而言,图33所示的***具有主机3300与客户端装置, 其中主机3300包括处理器、安全逻辑以及通信界面,且客户端装置包括 集成电路3301或多芯片模块。集成电路或多芯片模块包括安全逻辑、通 信界面与逻辑以使用物理不可复制功能而产生物理不可复制功能密钥,且 将物理不可复制功能密钥储存于物理不可复制功能密钥储存器中。此外, 在集成电路或多芯片模块上提供逻辑,以基于各种配置而将物理不可复制 密钥提供至主机。
如此处所描述,在一些实施例中,物理不可复制功能使用借由使用在 集成电路或多芯片模块上的多个非易失性存储器单元中的非易失性存储 器产生的熵。在其他实施例中,可应用不同类型的物理不可复制功能。
在图33中,说明在用于存在有可信任的主机的环境中将物理不可复 制功能密钥提供至主机的协议。在此环境中,所述协议可包括传送指令或 一系列指令(1)至客户端装置,也即集成电路3301。客户端装置上的指 令译码器3315对指令或一系列指令进行译码,且控制需要产生物理不可 复制功能密钥的时序与电路***,并提供物理不可复制功能密钥(2)至 主机3300。一旦在主机接收到物理不可复制功能密钥,物理不可复制功能 密钥经由界面控制器3302转移至主机上的密钥储存器(3)。此时,主机 与客户端装置两者具有物理不可复制功能密钥的复本,且可于安全功能应 用物理不可复制功能密钥。随后,将另一指令或指令集中的额外指令(4) 转移至客户端,在客户端处于物理不可复制功能密钥被提供至主机后集成 电路或多芯片模块上的电路***停用对于物理不可复制功能密钥储存器的改变。
图34说明用于与主机分享物理不可复制功能密钥的另一协议。在此 实施例中,于客户端装置接收指令或一系列指令,且借由指令译码器对指 令或一系列指令进行译码,以进行一系列功能。指令或指令集可包括第一 指令(1),第一指令(1)造成物理不可复制功能密钥由物理不可复制功 能电路3337转移(2)至密钥储存器3335。指令或指令集可识别存储器阵 列3311且对存储器阵列3311寻址,以提供密钥储存器3335的存储器阵 列中的位置,或另一方面识别物理不可复制功能密钥储存器。在一些实施 例中,在储存于密钥储存器之前,借由紧连逻辑(glue logic)修改物理不 可复制密钥,紧连逻辑例如是哈希功能或其他由安全逻辑控制的功能,其 中上述的安全逻辑在主机具有互补逻辑。在指令集中的接下来或随后的指 令(3)可发出密钥状态读取操作的信号,以响应客户端(集成电路3301) 将密钥由密钥储存器3335转移至主机3300。在主机处,密钥借由安全逻 辑电路3304转移至密钥储存器3306,或直接被转移至密钥储存器3306。 在接下来或随后的指令(5)中,主机可停用用于密钥状态读取操作的指 令或指令集,或停用其他客户端装置中需要用来传递密钥的动作。
图35说明用于密钥置换演算的协定。***借由此协议而经应用以将 基于物理不可复制功能数据集的密钥置换先前分享的密钥。根据此协议, 译码来自主机的指令或指令集(1)以导致执行物理不可复制功能读取操 作。响应于此指令,客户端装置(集成电路3301)将来自物理不可复制功 能电路3337的物理不可复制功能数据集的复本与密钥储存器3335中的共 享的密钥的电路侧(circuit-side)复本转移(2)至集成电路3301上的安 全逻辑电路3305。安全逻辑电路3305使用共享的密钥加密物理不可复制 功能数据集,且借由将加密的物理不可复制功能密钥转移至主机而将物理 不可复制功能密钥提供至主机。在此实例中,在主机3300上的互补安全 逻辑电路3304自密钥储存器3306读取暂时共享的秘密密钥(3)的主机 侧(host-side)复本。此外,主机3300上的安全逻辑电路3304接收加密的物理不可复制功能密钥,使用暂时共享的秘密密钥以对加密的物理不可 复制功能密钥进行解密,而提供新的物理不可复制功能密钥,且将此新的 物理不可复制功能密钥(4)转移至密钥储存器3306。在此阶段,主机3300 与客户端(集成电路3301)两者具有基于物理不可复制功能数据集的新密 钥的复本。主机可接着传送指令(5)以停用用于物理不可复制功能状态 读取或需要用以产生新密钥的其他操作的指令或指令集的进一步使用。
图35所示的密钥置换演算包含提供共享于主机与客户端之间的暂时 密钥。图36至图38说明共享暂时密钥的各种协定。在图36中,主机3300 使用随机数产生器3308以产生随机数,以经使用以作为暂时密钥,且将 暂时密钥转移(1)至安全逻辑电路3304。暂时密钥可选择性地被暂时储 存于密钥储存器3306中,或被储存于其他处。接着,主机将随机数转移 (2)至客户端装置(集成电路3301)上的缓冲器3339。在此实例中,客 户端装置3301接着将暂时随机数密钥转移(3)至密钥储存器3335。
在图37中,使用客户端装置(集成电路3301)上的随机数产生器3309 第一次产生共享的暂时密钥。在此实例中,此随机数被转移(1)至客户 端装置上的缓冲器3339。另外,也将此随机数由缓冲器转移(2)至客户 端装置上的密钥储存器3335。将被应用为暂时密钥的此随机数被转移(3) 至主机,且经由界面控制器3302而被转移(4)至安全逻辑电路。
在图38中,经由不同的程序产生暂时密钥且将暂时密钥储存在主机 上的密钥储存器3306中。此密钥被转移(1)至主机界面控制器3302,在 此处以密钥写入指令或指令集将此密钥转移(2)至客户端装置上的密钥 储存器3335。
回到图3,图3说明大型闪存阵列470,大型闪存阵列470可为与本 揭露所述安全电路一起使用的集成电路上的任务功能电路或所述任务功 能电路的一部分。大型闪存阵列470可包括由快闪可编程存储器单元形成 的区块(例如,存储器区块0、1、...N)、物理不可复制功能区块471、引 导块块(boot block)472、及参数区块473。另外,闪存阵列可包括用于 控制对阵列中各种存储器区块的存取的保护逻辑474,保护逻辑474包括 用于保护位(protection bit)的存储器。物理不可复制功能区块471可为 存储器阵列中被保留以用以在一些实施例中被专门配置以储存密钥的目 的的特定区块。
在包括如图3所示闪存阵列的集成电路的实施例中,所述集成电路的 安全电路450中的闪存阵列460可包括大型闪存阵列470中,例如物理不 可复制功能区块471等区块。在其他实施例中,安全电路450中的闪存阵 列460与闪存阵列470分开,且可包括结构不同于大型闪存阵列470的存 储器单元以及架构不同于大型闪存阵列470。以下参照图17提出的包括大 型闪存的另一实施例。
大型闪存阵列470可包括反或(NOR)快闪架构、与非(NAND)快 闪架构、或其他类型的快闪架构。由于本揭露所述的物理不可复制功能算 法是在一组存储器单元内执行,因而物理不可复制功能区块471可包括足 够的存储器单元以涵盖一个组或诸多个组,并提供供安全电路450以用于 创建一个物理不可复制功能数据集或诸多物理不可复制功能数据集。物理 不可复制功能逻辑与驱动器420、或如上所述集成电路上的状态机、或不 可复制功能逻辑驱动器420与集成电路上的状态机的组合,可利用与大型 闪存阵列470相关联的周边电路***475中的读取、编程与擦除逻辑来根 据本揭露所述的物理不可复制功能程序应用偏压施加方案,以改变物理不 可复制功能区块471中的存储器单元的阈值电压。
物理不可复制功能区块可由保护逻辑474支持,以阻止对基于物理不 可复制功能的数据集或对储存所述数据集的存储器单元进行意外性存取 或未经授权的存取。所述引导块块可包括写入锁定特征(write lock-out feature),以为包括存储器阵列的集成电路保证数据完整性(data integrity)。 所述引导块块可储存将集成电路初始化所必需的码,且在所述码丢失时调 用恢复例程(recovery routine)。所述引导块块可储存对集成电路中的闪存 阵列进行编程及擦除所必需的码。所述参数区块可储存参数数据。所述保 护逻辑474被耦接至存储器区块及物理不可复制功能区块471,以被保护 免遭意外性修改或未经授权的修改。保护存储器区块免遭修改(包括利用 保护码(rotection code))的一个实例示出于洪(Hung)等人在2015年8 月27日发布且名称为“使用非易失性保护码及挥发性保护码来进行非易 失性存储器数据保护(Nonvolatile Memory Data Protection UsingNonvolatile Protection Codes and Volatile Protection Codes)”的美国专利申 请公开案第US 2015-0242158号中,所述美国专利申请公开案并入本揭露 供参考,就像完全陈述于本揭露中一样。
在一些实施例中,保护逻辑474经配置以抑止响应于在抑止状态的指 示(indicator)的编程及/或擦除程序,以使得对于物理不可复制功能数据 集的改变被抑止。因此,若指示(indicator)被设定,相关联于被物理不 可复制功能逻辑与驱动器420应用的闪存阵列470的周边电路***475将 不应用编程与擦除脉冲至物理不可复制功能区块471。指示(indicator)可 为熔丝(fuse)、单次编程单元(one-time-programming;OPT)、以及缓存 器。
在一些实施例中,保护逻辑474可被实作以在执行用于在物理不可复 制功能区块471中执行产生与储存密钥的操作之前进行鉴认程序。可借由 使用例如是密码、指纹以及硬件钥匙实作鉴认程序。
参照图4A至图4D来说明可用于依赖于已经历共同处理(例如制造 序列或共同偏压施加方案)的电荷陷获存储器单元中阈值电压的相异性来 产生数据集的程序,所述共同处理会使得电荷穿隧进或穿隧出存储器单元 中的电荷储存结构,进而改变储存于所述电荷储存结构中的电荷的量。使 得起始分布被建立的共同处理在以下意义上可为“不可复制”的:由此共 同处理得到的阈值电压基于各组中的个别电荷陷获单元中的程序、电压及温度(process,voltage and temperature)的变化而在一组电荷陷获存储器单 元与另一组电荷陷获存储器单元之间以及在一个集成电路与另一集成电 路之间不同。出于此种原因,即使知晓所述共同处理,人们仍无法预测阈 值电压的变化,且因此无法预测根据彼等变化而产生的所得数据集。
图4A是阈值电压与单元计数关系的曲线图,其说明一组可编程存储 器单元中的各存储器单元的起始阈值分布500,起始阈值分布500是在物 理不可复制功能程序开始时建立的。出于示例性目的,在所述分布内表示 出某些点,以代表地址Addr=0、1、2、3、4、及5处的存储器单元的阈 值电压。可看出,特定单元的阈值电压与存储器单元的地址无关。
本揭露使用用语“地址”来代表可用于根据存储器单元的物理次序来 选择存储器单元的逻辑信号。在存储器技术中,对地址进行译码以产生逻 辑信号,进而对用于存取存储器单元的偏压施加电路***进行控制。在一 些实施方案中,“地址”可为不需要进行译码的逻辑信号。在一些实施方 案中,单元的“地址”可为例如以下在图20所示的屏蔽(mask)或映射 表(mapping table)中的位。可借由形成屏蔽来对地址进行组合,且可以 屏蔽的形式储存经组合的地址,其中所述屏蔽中的每一条目启用(enable) 或停用(block)对应地址处的存储器单元。
起始阈值分布500可因作为蚀刻程序或沉积程序(例如在制造中使用 的涉及将集成电路暴露于电浆或离子中以在存储器单元上方形成经图案 化金属层的程序)的结果在制造完成时自然发生的电荷陷获而出现。在替 代实施例中,可例如使用由集成电路上的控制器控制的偏压施加操作(例 如以下所述的擦除操作等)来建立起始阈值分布500。在一个实例中,起 始分布是使用页面擦除操作或区块擦除操作针对一组可编程存储器单元 中的所有成员而建立,其中区块包括多个由可编程存储器单元形成的页面。 参见2016年9月29日发布且名称为“闪存中的页面擦除(Page Erase in Flash Memory)”的美国专利申请公开案第2016/0284413 A1号。使得起始 分布被建立的程序是在未按照地址在一组中的存储器单元中进行区分的 情况下执行。使得起始分布被建立的程序可为物理不可复制功能,以使起 始分布对于经历所述程序的每一组可编程存储器单元而言是独有的。
在本说明中,起始阈值分布500具有如图所示的上部阈值电平(upper thresholdlevel),所述上部阈值电平表示使一组中的存储器单元具有较高 阈值的概率是极低的阈值电平。可例如在用于建立起始阈值分布500的算 法中将此上部阈值电平设定为例如擦除验证电平(erase verify level)。
图4B说明物理不可复制功能中的下一阶段,其中将具有位于分界线 以下的阈值的存储器单元辨识为具有处于起始分布的第一部分510中的阈 值电压的存储器单元的子集中的成员。此外,将具有位于分界线以上的阈 值的存储器单元辨识为具有处于起始分布的第二部分520中的阈值电压的 存储器单元的子集中的成员。因此,一组可编程存储器单元具有阈值处于 起始分布的第一部分中的第一子集(例如Addr=0、3、及4)、以及阈值处于起始分布的第二部分中的第二子集(例如,Addr=1、2、及5)。
可借由以下方式来确立第一子集及第二子集中的存储器单元的地址: 使用分界线上的读取电压对可编程存储器单元应用扫描操作,且将返回第 一逻辑状态的存储器单元的地址记录为第一子集并将返回第二逻辑状态 的存储器单元的地址记录为第二子集。对所述地址的记录可保存关于用于 提供数据集的子集中的每一者中的存储器单元的位置的信息。
在一些实施例中,可使用查找操作(finding operation)来确定分界线, 所述查找操作产生第一子集(具有位于分界线以下的阈值)中的可编程存 储器单元的计数及第二子集(具有位于分界线以上的阈值)中的可编程存 储器单元的计数。可将所述计数进行比较,以生成所述比率。可将所述比 率设定成能确保使数据集中0及1的数目足以维持安全数据集的值。举例 而言,可期望使0对1的比率接近1。对于实际的实施例,目标比率范围 可例如介于2/3与3/2之间,在此情形中,每一子集具有一整组中存储器 单元的40%至60%。可根据使用本揭露所述技术的特定集成电路的设计规 格来调整目标比率范围。
一组中的个别电荷陷获单元的阈值电压可随时间漂移,以致起始阈值 分布500代表的是仅在短时间内稳定的分布。因此,依赖于起始分布来生 成稳定数据集对于某些类型的存储器单元是不切实际的,在该些类型的存 储器单元中,此种漂移可使阈值位于分界线一侧上的某些单元中的阈值电 压在一个时间点漂移至分界线的另一侧。因此,应用某些技术来将起始分 布转变成对阈值电压的此种漂移不敏感的稳定数据集。
一种用于将起始分布转变成稳定数据集的技术涉及使用第一子集及 第二子集中的存储器单元的地址。在此种技术中,基于该些相异阈值的数 据集可包括子集中的一或二者的地址的数列、或包括对地址处的单元进行 停用或启用的条目的屏蔽。在图4A所示实例中,第一子集及第二子集的 地址的数列可为图中以二进制形式表达的0、3、4、...、1、2、5...、或者 此序列的变化形式。当然,在特定实施例中,在地址的数列中可存在数百、 数千、或数百万个地址。经数列化的地址可储存于集成电路上的存储器(例 如,与图4D所示一组不同的受保护存储器区块)中。此种受保护存储器 区块可为提供以极低位错误率、且在一些实例中于不使用错误校正码的情 况下递送数据集这一能力的非易失性稳定存储器。在替代实施例中,第一 子集及第二子集中的单元的地址可由例如以下参照图20所述的屏蔽表示。
如图中所示,根据另一种技术,可使用相同的组的非易失性存储器单 元来创建基于阈值电压的稳定数据集。为达成此种实施例,可对第二子集 中的存储器单元执行编程操作以使其阈值电压如在图4C所示,被移动至 第一验证电平以上的分布525中,在此实例中,所述第一验证电平可高于 起始阈值分布500的上部阈值电平。在其他实施例中,第一验证电平可低 于起始阈值分布500的上部阈值电平,只要可如下所述生成充足的感测容 限(read margin)即可。
在使用第一验证电平执行编程操作之后,可得到类似图4C所示分布 那样的改变后分布(changed distribution)。所述编程操作改变第二子集中 的存储器单元的阈值电压,以在第一子集与第二子集之间建立感测容限 530。感测容限530可被设计成宽至足以确保以下操作的可靠性:读取数 据集,以判断特定存储器单元是第一子集中还是第二子集中的成员。在建 立图4C所示改变后分布之后,可使用处于感测容限530内的用于读取的 读取电压VR来读取所述一组存储器单元。感测容限530可为显着(足够 大)的,以使读取操作中出现错误的可能性是极低的。
表1是代表储存于同一组存储器单元中的数据集的表,其在第一行中 示出所述一组中的存储器单元的顺序地址且在第二行中示出代表由物理 不可复制功能程序产生的数据集的数据值(或密钥)。在此表中,对地址0 至5处的存储器单元进行读取会得到数据值100110。在实际的实施例 中,数据集的长度可为数百、数千、或数百万个位。
表1
地址 密钥
....0000 1
....0001 0
....0010 0
....0011 1
....0100 1
....0101 0
........ ........
图5A至图5D及表2是正如图4A至图4D及表1一样的图式序列, 其代表对一组电荷陷获存储器单元执行相同物理不可复制功能程序的另 一实例。在此实例中,即使物理不可复制功能程序相同,所得数据集也不 同。
图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...)、或此序列的变化形式。当然, 在特定实施例中,在地址的数列中可存在诸多地址。经数列地址可储存于 集成电路上的存储器(例如与图5D所示一组不同的受保护存储器区块)中。此种受保护存储器区块可为提供以极低位错误率、且在一些实例中于 不使用错误校正码的情况下递送数据集这一能力的非易失性稳定存储器。
表2是在第一行中示出所述一组中的存储器单元的顺序地址且在第二 行中示出代表由物理不可复制功能程序产生的数据集的数据值(或密钥) 的表。在此表中,对地址0至5处的存储器单元进行读取会得到与图4A 至图4D及表1所示实例中所产生的数据值不同的数据值0 1 1 1 1 0。
表2
地址 密钥
....0000 0
....0001 1
....0010 1
....0011 1
....0100 1
....0101 0
........ ........
因此,所述数据集是所述一组电荷陷获存储器单元中的不同成员由于 在所述一组中引发电荷陷获的共同处理而具有的相异阈值电压的函数。可 使用不同组的可编程存储器单元为物理不可复制功能程序的每一实例来 达成此种结果。对于某些类型的存储器单元,可使用同一组可编程存储器 单元借由为每一新的数据集创建新的起始分布来产生多个数据集。此外, 对于储存于与用于建立相异分布的一组相同的存储器单元中的数据集,可 由新的数据集来替换旧数据集。
图6是以参照图4A至图4D、表1及图5A至图5D及表2所解释的 方式在包括可编程电荷陷获存储器单元的集成电路上产生稳定数据集的 流程图200。在此实例中,程序以使一组闪存单元具有阈值的起始分布而 开始(步骤201),所述起始分布是由如上所述得到相异阈值电压的共同物 理不可复制功能程序而建立。在此实例中,所述程序包括查找存储器单元, 例如借由确定所述一组存储器单元内具有位于分界线以上的阈值的第一 子集的地址以及具有位于分界线以下的阈值的第二子集的地址(步骤210)。 可凭经验来选取所述分界线并将其作为参数储存于对物理不可复制功能 的执行进行控制的***中。作为另一选择,如此实例中所说明,可根据起 始分布的特性及数据集的期望特性来调整分界线。在此种替代方案中,所 述程序确定第一子集中存储器单元的计数对第二子集中存储器单元的计 数的比率(步骤220)。此比率可为例如1/1等的数值或可例如落入根据数 据集的预期用途而选取的可接受范围3/2至2/3中。
若所述比率是不可接受的(步骤230),则所述程序调整分界线(步骤 240)并返回至步骤210以辨识第一子集及第二子集。若所述比率是可接 受的(步骤230),则所述程序移动至基于存储器单元的被辨识出的第一子 集及第二子集来建立稳定数据集的步骤。如上所述,在一种替代方案中, 所述程序可按顺序储存第一子集中的地址并按顺序储存第二子集中的地 址,且使用经数列地址作为稳定数据集。
在图6所说明的替代方案中,用于建立稳定数据集的程序包括:对第 二子集中的存储器单元应用偏压施加操作以在所述一组存储器单元中建 立改变后分布,所述改变后分布在第一子集中的存储器单元与第二子集中 的存储器单元之间具有感测容限(步骤250)。对于电荷陷获存储器单元, 此偏压施加操作可包括使用充分高于阈值电压的分界线的验证电平来进 行编程操作(例如递增步阶脉冲编程(incremental step pulsedprogramming, ISPP)),以建立感测容限。可仅对第二子集中具有地址的存储器单元应用偏压施加操作。如此一来,可借由使用位于感测容限内的读取电压进行读 取操作来达成对第一子集中的存储器单元的辨识及第二子集中的存储器 单元的辨识。图6所示程序因此包括借由使用感测容限中的读取电压读取 所述一组中的存储器单元序列来输出数据集的步骤(260)。可将所输出数 据集提供至外部***(例如对物理不可复制功能的执行进行控制的***), 以在安全协议中用作共享秘密。所述数据集可稳定地储存于所述一组存储 器单元中,乃因感测容限使以下情形具有极低的可能性:最初被辨识为第 二子集中的成员的存储器单元将使其阈值电压漂移至为第一子集所辨识 的范围中。
图7A至图7D以及表3说明可用于基于阈值的起始分布来产生稳定 数据集的另一种技术。
图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可为显着的,以使读取操作中出现错 误的可能性是极低的。
表3是代表储存于同一组存储器单元中的数据集的表,其在第一行中 示出所述一组中的存储器单元的顺序地址且在第二行中示出代表由物理 不可复制功能程序产生的数据集的数据值(或密钥)。在此表中,对地址0 至6处的存储器单元进行读取会得到数据值1X 0 1 X 0 X,其中“X”是 随意值(don’t care),乃因其与对为建立感测容限而经历偏压施加操作的 子集中的存储器单元进行感测所得的结果相对应。在实际的实施例中,所 述数据集的长度可为数百或数千个位。
表3
地址 密钥
....0000 1
....0001 X
....0010 0
....0011 1
....0100 X
....0101 0
....0110 X
........ ........
在此实例中,使用所述一组可编程存储器单元的第一子集及第二子集 来提供数据集(例如,“密钥数据”)。举例而言,使用地址Addr=0、2、3、 及5处的第一子集及第二子集中的可编程存储器单元提供数据集1010,其 中数据“1”是使用地址Addr=0及3处的第一子集中的可编程存储器单元 而提供,且数据“0”是使用地址Addr=2及5处的第二子集中的可编程存 储器单元而提供。所述数据集并不包括所述一组可编程存储器单元的用于 建立感测容限的子集(例如,地址Addr=1、4、及6处)中的数据,所 述子集具有位于起始分布之外的阈值分布735中的阈值。在此实例中,所 示“X”表示不用于数据集的存储器单元。
在一些实施例中,此实例中的偏压施加操作也可在子集中的其他者之 间建立第二感测容限750,第二感测容限750宽至足以甚至在其中程序、 电压、温度(process,voltage,temperature,PVT)变化相对较大的条件下 也能为感测可编程存储器单元的第二子集与第三子集之间的阈值电压差 别确保可靠性。此信息可用于产生数据集。
地址映像(address map)可借由对所述一组可编程存储器单元中的可 编程存储器单元,应用扫描操作,以记录第一子集、第二子集、及第三子 集中用于提供数据集的可编程存储器单元的地址来构建。举例而言,可用 跳过旗标(skip flag)来标记第三子集中的可编程存储器单元的地址,因 此在提供数据集时将不读取第三子集中的可编程存储器单元,所述数据集 可用作鉴认协议或加密协议的密钥或者用作其他类型的秘密数据值或独有数据值。作为另一选择,可如以下参照图20所述来使用屏蔽逻辑。
响应于查问,物理不可复制功能ID电路***逻辑(例如,安全逻辑 125,图1;安全电路450,图2)可使用以如下方式提供的数据集来提供 密钥:根据在地址映像中所记录的一组可编程存储器单元的第一子集及第 二子集的地址,使用具有在地址映像中所记录的地址的可编程存储器单元, 借此跳过或不使用所述一组可编程存储器单元的第三子集中具有地址的 可编程存储器单元。
如上所述,在替代程序中,基于该些相异阈值的数据集可包括子集中 的一或二者中的某些或全部单元的地址的组合(例如数列)。图7D示出基 于该些相异阈值的数据集,所述数据集包括子集中的一或多者的地址的数 列。在图7D所示实例中,包括存在于各分界线之间的存储器单元的第一 子集的地址与包括存在于第一分界线以下的存储器单元的第二子集的地 址的数列,其中可为图中以二进制形式表达的(1,4,6,...);(0,3,...),或此 序列的变化形式。当然,在特定实施例中,在地址的数列中可存在数百或 数千个地址。经数列的地址可储存于集成电路上的存储器(例如与具有起 始分布的一组存储器单元不同的受保护存储器区块)中。此种受保护存储 器区块可为提供以极低位错误率、且在一些实例中于不使用错误校正码的 情况下递送数据集这一能力的非易失性稳定存储器。
在图4D、图5D、及图7D所示实例中,数据集是各子集中的一或多 者(例如第一子集中的某些或全部单元、第二子集中的某些或全部单元、 以及第三子集中的某些或全部单元)的地址的数列、或此序列的变化形式。 在一些实施例中,可使用各子集中仅一者(例如第三子集)中的存储器单 元的地址作为数据集。可使用不同于数列或除了数列之外的逻辑函数(例 如哈希函数或屏蔽形式)来组合地址,以形成包括地址组合的数据集。
图8是以参照图7A至图7D以及表3所解释的方式在包括可编程电 荷陷获存储器单元的集成电路上产生稳定数据集的流程图800。在此实例 中,程序以使一组闪存单元具有阈值的起始分布而开始(步骤801),所述 起始分布是由如上所述得到相异阈值电压的共同处理而建立。在此实例中, 所述程序包括确定所述一组存储器单元内的地址,所述一组存储器单元包 括具有位于第一分界线以下的阈值的单元的第一子集、具有位于第二分界 线以上的阈值的单元的第二子集、以及具有位于所述分界线之间的阈值的 单元的第三子集(步骤810)。所述分界线可凭经验或以其他方式来选取, 并将其作为参数储存于对物理不可复制功能的执行进行控制的***中。作 为另一选择,如此实例中所说明,可根据起始分布的特性及数据集的期望 特性来调整分界线。在此种替代方案中,所述程序确定第一子集中存储器 单元的计数对第二子集中存储器单元的计数的比率(步骤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。 对类似图10D所示浮置栅极存储器单元那样的浮置栅极存储器单元进行 编程及擦除等物理功能会引发电荷穿隧而改变被陷获于浮置栅极845中的 电荷。被陷获电荷的量根据每一单元的物理特性而有所变化,包括程序变 化、温度变化、电压变化等。因此,用于建立类似上述起始阈值那样的起 始阈值的操作会在单个装置上的海量存储器单元内得到处于相对宽广的 分布中的阈值电压。
图10E是形成于基板850上的平坦介电电荷陷获存储器单元的简化图。 源极区851及漏极区852安置于电荷陷获结构的相对两侧上。控制栅极853 上覆于所述电荷陷获结构上,且可为例如字线的一部分。所述电荷陷获结 构包括通常由氧化物或由多个薄介电层形成的穿隧层856。在穿隧层856 上方安置有通常包含氮化硅或其他介电材料的电荷陷获层857。在电荷陷 获层857上方具有通常由另一种介电氧化物(例如氧化硅)形成的阻挡层858。与浮置栅极存储器单元一样,对类似图10E所示存储器单元那样的 存储器单元进行编程及擦除等物理功能会引发电荷穿隧而改变被陷获于 电荷陷获层857中的电荷。被陷获电荷的量会根据每一单元的物理特性而 有所变化,包括程序变化、温度变化、电压变化等。因此,用于建立类似 上述起始阈值那样的起始阈值的操作会在单个装置上的海量存储器单元 内得到处于相对宽广的分布中的阈值电压。
图10F是形成于基板860上的三维(3D)垂直与非闪存结构的简化图。 垂直通道结构(例如,863)安置于由字线(例如,867)形成的堆叠之间。 例如介电电荷陷获结构或浮置栅极结构等电荷储存结构安置于字线与垂 直通道结构863之间。垂直通道结构863耦接至位线869。在所述基板中, 安置有共享源极导体,进而经由垂直通道结构863在位线869与基板860 之间为与非串建立电流路径。图10F所示闪存结构也可用于使用编程操作 或擦除操作在装置上的海量存储器单元内建立阈值电压的相对宽广的分 布。
其他类型的闪存单元结构(包括其他三维存储器技术)也可部署以用 于本揭露所述的物理不可复制功能程序。
图11示出应用初始化偏压施加操作以将一组中的可编程存储器单元 的阈值设定成起始分布的示例性流程图300,所述初始化偏压施加操作可 应用于电荷储存存储器单元,包括类似上述存储器单元那样的存储器单元。 在步骤310处,将所述一组可编程存储器单元中的所有成员编程至较第一 验证电平大的阈值范围。在一个实例中,可使用被称为递增步阶脉冲编程 (ISPP)序列的编程算法来对所述一组可编程存储器单元中的所有成员进行编程,其中增大脉冲高度并执行编程验证步骤直至满足期望阈值电平为 止。在步骤320处,对所述一组可编程存储器单元中的所有成员进行擦除, 以建立起始分布中的阈值,所述起始分布包括位于第二验证电平以下的阈 值。
根据此种建立起始分布的程序用于编程操作或擦除操作的验证电平 可与用于对同一集成电路上的大型存储器所应用的编程操作及擦除操作 的验证电平相同。作为另一选择,可视特定实施方案的需要来调整用于建 立起始分布的验证电平,以使起始分布具有对于用于如本揭露所述创建数 据集所期望的特性。虽然在此实例中使用其中将净正电荷添加至电荷陷获 结构以减小单元的阈值的“擦除”程序来生成起始分布,然而,也可使用其中将净负电荷添加至电荷陷获结构以增大单元的阈值的“编程”程序。 此外,如上所述,起始分布可为由制造程序或使一组存储器单元经历的其 他程序而得到的阈值的“初始”分布。“初始”分布及由擦除操作或编程 操作而得到的分布均可被视为物理不可复制功能。
此外,对于基于可编程电阻存储器单元的非易失性存储器,可使用其 中引起电阻的净减小以为单元的读取电流减小阈值电压的“设定(set)” 程序来生成起始分布。作为另一选择,也可使用其中引起电阻的净增大以 为单元的读取电流增大阈值电压的“复位(reset)”程序。此外,如上所 述,起始分布可为由制造程序或使一组可编程电阻存储器单元经历的其他 程序而得到的阈值的“初始”分布。“初始”分布及由设定操作或复位操 作得到的分布均可被视为物理不可复制功能。
图12A至图12C说明另一种用于使用物理不可复制功能来为参照图9 所述类型的电荷陷获存储器单元产生数据集的技术。在图12A中,说明例 如可使用物理不可复制功能(如使用擦除验证功能来使一组存储器单元中 的各存储器单元的阈值移动至上部阈值电平以下的擦除操作)生成的起始 阈值分布1200。可将所述起始分布表征为具有图中所示的上部阈值电平及 下部阈值电平,且为便于进行本说明,可针对为存储器阵列而配置的标准读取操作将具有处于起始阈值分布1200内的阈值的存储器单元表征为代 表资料值“0”。
图12B说明在建立数据集时的下一步骤。在此实例中,使用自起始阈 值分布1200的一侧开始移动的读取电压VR的电平来读取所述一组中的存 储器单元。假定所述移动的读取电压是自下部阈值电平开始,则使用读取 电压来读取所述一组存储器单元,并确定具有位于所述阈值以上及以下的 阈值的存储器单元的数目的计数。使此读取电压移动直至处于所述读取电 压以上及以下的存储器单元的数目与期望参数相匹配(例如约相等、或具有约为1的比率)为止。在此阶段,可将具有在子分布1210内位于读取 电压VR以下的阈值的存储器单元表征为代表资料值“1”,且可将具有在 子分布1220内位于读取电压VR以上的阈值的存储器单元表征为具有数据 值“0”。举例而言,读取操作可持续进行至具有低于读取电平的阈值电平 的可编程存储器单元的计数,具有高于读取电平的阈值电平的可编程存储 器单元的计数的比率处于目标比率范围内为止。举例而言,当具有低于读 取电平的阈值电平的可编程存储器单元的计数,对应于一组中的存储器单 元的约50%时,目标比率范围内的比率可实质上等于1。可建立使所述比 率处于目标比率范围(例如40%至60%)内的读取电平来作为用于对一组 可编程存储器单元中的各存储器单元进行读取以产生稳定数据集的读取 电压VR
图12C说明在建立数据集时的下一步骤。根据此种技术,对上部读取 电压VR+及下部读取电压VR-进行选取,以界定起始阈值分布1200的其 中使存储器单元对数据值进行强储存的子分布。一旦如结合图12B所述确 定出读取电压VR,便可借由在读取电压VR周围建立感测容限,而在分布 中建立第一分界线及第二分界线,使得对应于VR-与VR+之间的差值1240 的感测容限1230位于第一分界线与第二分界线之间,且使读取电压VR处 于感测容限内。例如,对于一种特定类型的闪存单元,第一分界线可位于 与读取电平减去300毫伏(mV)对应的阈值电平处,而第二分界线可位 于与读取电平加上300毫伏对应的阈值电平处。在另一实例中,第一分界 线可位于与读取电压VR的电平减去读取电平的30%对应的阈值电平(下 部读取电压VR-)处,而第二分界线可位于与读取电压VR的电平加上读 取电平的30%对应的阈值电平(上部读取电压VR+)处。
可使用子分布1211及子分布1221内对数据值“1”及“0”进行强储 存的存储器单元来产生数据集。将此种存储器单元的地址记录于集成电路 上的存储器中(例如稳定闪存区块中、不同类型的非易失性存储器中、或 例如静态随机存取存储器或动态随机存取存储器等挥发性存储器中)以供 集成电路在例如加密及鉴认等安全协议中使用。可使用中心的读取电压值 VR以及提供强感测容限的所记录地址来执行读取操作。如此一来,仅利用 了相对于读取电压对数据值进行强储存的存储器单元,进而使在读取数据 时,因阈值漂移而发生错误的概率是极低的。
图13是以参照图12A至图12C所解释的方式在包括可编程电荷陷获 存储器单元的集成电路上产生稳定数据集的示例性流程图1300。在此实例 中,程序以使一组闪存单元具有阈值的起始分布而开始(步骤1301),所 述起始分布是由如上所述得到相异阈值电压的共同处理而建立。在此种替 代方案中,使用移动的读取电平(读取电压VR)对所述一组中的存储器 单元执行读取操作(步骤1310)。所述程序确定具有低于当前读取电平的 阈值电平的可编程存储器单元的计数,对具有高于当前读取电平的阈值电 平的可编程存储器单元的计数的比率(步骤1320)。接着,所述程序判断 所述比率是否处于目标比率范围内(步骤1330)。例如,当具有低于当前 读取电平的阈值电平的可编程存储器单元的计数,对应于一组中的存储器 单元的约130%时,目标比率范围内的比率可实质上等于1。若所述比率并非处于目标比率范围内(步骤1330,否),则可例如借由使读取电平递增 来调整读取电平(步骤1340),其中对于步骤1310的第一次迭代,所述读 取电平可自位于分布的最小阈值电平处或以下的阈值电平开始。接着,读 取操作返回至步骤1310并持续进行至所述比率处于目标比率范围内(步 骤1330,是)为止。建立使所述比率处于目标比率范围内的读取电平,来 作为用于对所述一组可编程存储器单元中的各存储器单元进行读取以产 生稳定数据集的读取电压VR(图12B)(步骤1350)。
若在步骤1330处所述比率处于目标比率范围内,则所述程序继续进 行以基于数据集的期望特性来在分布中,建立第一分界线及第二分界线中 的一或二者(步骤1340)。例如,所述程序可在起始分布(图4B)中于读 取电压VR周围建立感测容限,以使感测容限(例如,530,图4C)位于 第一分界线与第二分界线之间,且使读取电压VR处于感测容限内。例如, 第一分界线可位于与读取电平减去300毫伏对应的阈值电平(下部读取电 压VR-)处,而第二分界线可位于与读取电平加上300毫伏对应的阈值电 平(上部读取电压VR+)处。例如,第一分界线可位于与读取电平减去读 取电平的30%对应的阈值电平处,而第二分界线可位于与读取电平加上读 取电平的30%对应的阈值电平处。
图13所示程序包括以下步骤1360:确定所述一组存储器单元内具有 由第一分界线界定的第一子集的地址、由第二分界线界定的第二子集的地 址、以及具有位于第一分界线与第二分界线之间的阈值的第三子集的地址, 并使用所确定地址来建立代表所述分布的可用作独有密钥的稳定数据集。
图13所示程序包括以下步骤1370:借由使用感测容限530(图4)中 的读取电压VR对所述一组中的存储器单元序列进行读取来输出数据集。 可将所输出数据集提供至外部***(例如对物理不可复制功能的执行进行 控制的***),以在安全协议中用作共享秘密。所述数据集可稳定地储存 于所述一组存储器单元中,乃因感测容限使以下情形具有极低的可能性: 最初被辨识为第二子集中的成员的存储器单元将使其阈值电压漂移至为 第一子集所辨识的范围中。
使用此种技术,数据集相依于被确定为对数据值进行强储存的存储器 单元的数目。此数目在一个起始分布与下一起始分布间可有所变化。因此, 在产生数据集时,若单元的数目大于数据集的期望大小,则可截去存储器 单元序列,或者若单元的数目小于数据集的期望大小,则可填补存储器单 元序列。
图14A至图14C说明使用物理不可复制功能来为参照图9所述类型 的电荷陷获存储器单元产生数据集的又一实例。在图14A中,说明例如可 如上所述使用物理不可复制功能生成的起始分布1400。起始分布1400可 为随着阈值电平远离中心峰值延伸而具有相对对称的下降(drop-off)的粗 略高斯(Gaussian)分布。然而,所述分布不可能是实际上对称的。如上 所述,对称性的此种缺失可在参照图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”进行强储存的存储器单元的方式,来确定所 述分界线。可将所述分界线作为参数储存于对物理不可复制功能的执行进 行控制的***中。
在此种替代方案中,使用第一移动的读取电平对所述一组中的存储器 单元执行第一读取操作(步骤1510)。所述程序确定具有位于第一读取电 平(下部读取电压VR-)以下的阈值电平的可编程存储器单元的第一计数 (步骤1512)。接着,所述程序判断所述第一计数是否与预定数目T1相 匹配,或是否落入数目范围内(步骤1514)。
若第一计数不被接受(步骤1514,否),则可例如借由使第一读取电 平递增来调整第一读取电平(步骤1516),其中对于步骤1510的第一次迭 代,所述第一读取电平可自位于分布的下部阈值电平处或以下的阈值电平 开始。第一读取操作接着返回至步骤1510并持续进行至第一计数被接受 (步骤1514,是)为止。
图15所示程序包括在起始分布中建立第一分界线电压(下部读取电 压VR-)作为使第一计数是预定数目或接近预定数目T1的第一读取电平 (步骤1518)。可确定并储存具有位于第一分界线(下部读取电压VR-) 以下的阈值电平的存储器单元的地址,以在此步骤处或在稍后的步骤处当 第二分界线被建立时建立代表所述分布的可用作独有密钥的稳定数据集。
图15所示程序包括使用第二移动的读取电平(上部读取电压VR+) 对所述一组中的存储器单元进行第二读取操作(步骤1520)。所述程序确 定具有高于第二读取电平的阈值电平的可编程存储器单元的第二计数(步 骤1522)。接着,所述程序判断所述第二计数是否为可接受的,例如其是 否与预定数目T2相匹配,或是否落入数目范围内(步骤1524)。在一些 实施例中,若第一读取操作中的计数与第二读取操作中的计数之和等于数 据集的目标位计数或数据集的目标地址数目或者处于所述目标位计数的 范围内或所述目标地址数目的范围内,则所述数目可被接受。
若第二计数不被接受(步骤1524,否),则可例如借由使第二读取电 平递减来调整第二读取电平(步骤1526),其中对于步骤1520的第一次迭 代,第二读取电平可自位于分布的上部阈值电平处或以上的阈值电平开始。 第二读取操作接着返回至步骤1520并持续进行至第二计数被接受(步骤 1524,是)为止。
图15所示程序包括在起始分布中建立第二分界线作为使第二计数被 接受的第二读取电平(上部读取电压VR+),并使用第一分界线及第二分 界线来建立读取电压VR,例如借由根据以下方程序求平均值:VR=(VR-+ VR+)/2(步骤1528)。
虽然如图15中所示,用于建立第一分界线的包括步骤1510、1512、 1514、及1516的迭代是在用于建立第二分界线的包括步骤1520、1522、 1524、及1526的迭代之前执行,然而,在其他实施例中,用于建立第二 分界线的包括步骤1520、1522、1524、及1526的迭代可在用于建立第一 分界线的包括步骤1510、1512、1514、及1516的迭代之前执行。
图15所示程序可以类似图13所示程序的步骤1360那样的步骤继续: 确定所述一组存储器单元内由第一分界线界定的对数据值“1”进行强储 存的存储器单元的第一子集的地址以及由第二分界线界定的对数据值“0” 进行强储存的第二子集的地址。在一些实施例中,也可使用具有位于第一 分界线与第二分界线之间的阈值的不对数据值进行强储存的存储器单元 的第三子集的地址来建立数据集。
图15所示程序可以类似图13所示程序的步骤1340那样的步骤继续: 借由使用感测容限中的读取电压VR对所述一组中的存储器单元序列进行 读取来输出数据集。可将所输出数据集提供至外部***(例如对物理不可 复制功能的执行进行控制的***),以在安全协议中用作共享秘密。所述 数据集可稳定地储存于所述一组存储器单元中,因VR-与VR+之间的感测 容限使以下情形具有极低的可能性:最初被辨识为第一子集及第二子集中 的成员的存储器单元将使其阈值电压漂移至为另一子集所辨识的范围中。
在一个实施例中,可借由将一组可编程存储器单元中的第一子集及第 二子集分别规定成第一预定数目T1及第二预定数目T2,而对完整数据集 (以单元的数目来计算)的预定长度T进行设定,其中T=T1+T2,其表 示所述数据集中位的数目。例如,第一目标计数范围及第二目标计数范围 可包括第一预定长度T1及第二预定长度T0,以便可在起始分布中建立第 一分界线及第二分界线,以作为使第一计数及第二计数分别与第一预定长 度T1及第二预定长度T0相匹配的第一读取电平及第二读取电平。当在数 据集受此限制时各数目之和不与所规定长度相匹配时,由于移动的读取操 作的细微度(granularity)可大于一个单元,因而可自数据集去除多余的 单元或者可用数据来填补数据集,以形成经校正的长度。
图16说明包括闪存阵列1610的集成电路1600,闪存阵列1610包括 一组物理不可复制功能存储器单元,所述一组物理不可复制功能存储器单 元可如上所述受到物理不可复制功能作用建立阈值的分布。集成电路1600 包括如以上结合图1所述的物理不可复制功能控制器1630及安全逻辑 1640。物理不可复制功能控制器1630在总线1631上提供初始密钥。集成 电路1600包括在总线1651上产生随机数的随机数产生器1650。集成电路 1600包括合并总线1631上的初始密钥与总线1651上的随机数的逻辑电路 ***1660,而借由以线(总线1671)耦接至安全逻辑1640的总线1661 产生改良的密钥1670。在实施例中,逻辑电路***1660可包括使用初始 密钥与随机数作为输入且产生作为改良的密钥的输出的异或功能,且包括 映像初始密钥与随机数的哈希功能以哈希数值而作为改良的密钥。此外, 提供使闪存阵列1610能够被使用的存取与偏压电路1620,包括字线驱动 器、感测放大器、位线驱动器、电压源、及其他位于闪存阵列周边的电路。 在此实例中,物理不可复制功能控制器1630连接至闪存阵列1610的存取 与偏压电路1620且包括用于实施本揭露所述程序(例如,包括图6、图8、 图9、图11、图13、及图15所示程序中的某些或全部程序)的逻辑及存 储器资源。
在所说明的实施例中,物理不可复制功能控制器1630中包括状态机 1633以及地址与参数储存器1632。状态机1633可包括用于基于对闪存阵 列1610中的所述一组存储器单元应用的物理不可复制功能来产生数据集 的逻辑。在本揭露所述技术的实施例中,所述逻辑可执行以下步骤:查找 在产生数据集时所读取的存储器单元的子集或子分布,将参数(例如用于 上述分界线的阈值、用于自所辨识子集读取数据值的阈值)记录于地址与 参数储存器1632中,并将被辨识出供在产生数据集时使用的存储器单元 的地址记录于地址与参数储存器1632中。所述逻辑也可执行以下步骤: 应用储存于地址与参数储存器1632中的读取电压及地址,以自闪存阵列 1610生成数据值序列。
所述状态机也可包括用于引起对一组可编程存储器单元中的可编程 存储器单元进行扫描并应用本揭露所述的程序以基于物理不可复制功能 产生稳定数据集的逻辑。
安全逻辑1640可包括用于处置查问输入并使用自闪存阵列1610、自 地址与参数储存器1632、或自总线1631上的初始密钥读取的数据集提供 响应输出的逻辑。安全逻辑1640可包括使用数据集的加密与解密资源, 且可包括用于使用数据集来控制鉴认协议的逻辑。在一些实施例中,响应 可为在集成电路上应用于启用例如任务功能电路的通过/失败(pass/fail) 信号。在其他实施例中,响应可应用于集成电路1600之外的在安全协议 中会使用到所述数据集的电路***。在一些实施例中,所述安全逻辑包括 使用专用逻辑、被进行适当编程的通用处理器、被进行适当编程的可编程 门阵列、或该些类型的逻辑电路的组合来实作的状态机。此外,在一些实 施方案中,安全逻辑1640可共享用于实作状态机1633的逻辑。
可使用例如闪存、可编程电阻存储器、单次可编程存储器 (one-time-programmable memory)等非易失性存储器来实作地址与参数储 存器1632。此外,所述储存器可使用其他类型的存储器来实作,包括例如 静态随机存取存储器等挥发性存储器,其中所述地址及参数的备份复本储 存于闪存阵列1610中或储存于可由集成电路存取的其他存储器中。
状态机1633可使用专用逻辑、被进行适当编程的通用处理器、被进 行适当编程的可编程门阵列、或该些类型的逻辑电路的组合来进行实作。 随机数产生器1650可为确定性随机数产生器或拟随机数产生器,且可使 用专用逻辑、被进行适当编程的通用处理器、被进行适当编程的可编程门 阵列、或该些类型的逻辑电路的组合来进行实作。在一些实施例中,随机 数产生器1650可为状态机器1633的一部分。
因此,图16说明集成电路的实例,其包括:一组可编程存储器单元, 位于集成电路上,具有阈值的分布;存储器,储存所述一组可编程存储器 单元中具有处于阈值的所述分布的第一子分布中的阈值的存储器单元的 地址;以及逻辑,用于使用所储存地址产生数据集。
所述分布的特征可在于是使用物理不可复制功能而形成。
在一些实施例中,第一子分布借由感测容限与第二子分布分开,且所 述用于产生数据集的逻辑包括用于按照地址次序读取所述一组可编程存 储器单元中的各存储器单元以产生数据值的逻辑,所述数据集根据是否为 第一子分布中的成员身份而变化。
在一些实施例中,所述存储器另外储存所述一组存储器单元中阈值处 于所述一组中的存储器单元的阈值的分布的第二子分布中的存储器单元 的地址;且所述用于产生数据集的逻辑包括使用关于第一子分布及第二子 分布的所储存地址。
在一些实施例中,所述存储器另外为阈值的分布储存第一分界线及与 所述第一分界线不同的第二分界线;且第一子分布中的存储器单元包括所 述一组存储器单元中具有位于第一分界线以下的阈值的第一子集,且第二 子分布中的存储器单元包括所述一组存储器单元中具有位于第二分界线 以上的阈值的第二子集。
在一些实施例中,所述用于产生数据集的逻辑使用所述地址来选择第 一子集及第二子集中的一者中的存储器单元;以及使用第一分界线与第二 分界线之间的读取电压对所述一组可编程存储器单元中的存储器单元进 行读取。
在一些实施例中,所述一组中的可编程存储器单元是电荷陷获存储器 单元,且所述阈值是阈值电压。
在一些实施例中,所述集成电路可包括用于使用偏压施加电路对集成 电路应用偏压施加操作的逻辑,所述偏压施加操作在所述一组中的可编程 存储器单元的电荷储存结构中引发电荷的改变以建立所述分布。
在一些实施例中,所述逻辑包括所述集成电路上的状态机。
在一些实施例中,所述集成电路包括对查问输入作出响应以使用数据 集产生响应输出的逻辑。
图17说明包括封装式集成电路或多芯片模块180的***,封装式集 成电路或多芯片模块180包括输入/输出界面181(包括用于来自于主机的 接收及通信指令以及用于启用与协调控制电路的操作的指令译码器,或耦 接至此指令译码器)以及非易失性闪存阵列185。在本文中,电子***意 指包括主机与客户端装置(例如是封装式集成电路或多芯片模块)的***。 输入/输出界面181提供用于在外部装置或通信网络与非易失性存储器阵 列185之间进行外部通信的端口。存储器阵列185包括由存储器单元形成 的多个区块(例如,参见以上图3),所述多个区块中的特定区块187中储 存有密钥。安全逻辑190耦接至非易失性存储器阵列185,以在协议中利 用密钥来允许存取储存于所述多个区块中的各区块中的资料。图17与图 17A所示的***也可包括产生随机数的随机数产生器(例如图16所标示 的1650)、合并由物理不可复制功能编程控制器(例如图16所标示的1630 与图17所标示的193)提供的初始密钥的逻辑电路***(例如图16所标 示的1660),以产生改良的密钥1670。安全逻辑190可使用初始密钥或改 良的密钥。参照图16的有关于随机数产生器1650、逻辑电路***1660 以及改良的密钥1670可应用于图17与图17A,在此不再赘述。包括访问 控制开关(access control switch)183的访问控制电路耦接至所述阵列,且 包括用于允许所述安全逻辑对特定区块进行只读存取以供在协议中使用、 并阻止外部装置或通信网络经由所述端口存取特定区块的逻辑。在各种实 施例中,可使用存取规则的其他组合,进而容许安全逻辑在对特定区块的 利用方面具有更大灵活性。
在此实例中,非易失性存储器阵列185包括闪存。储存密钥的特定区 块187可在物理上位于阵列中的任何之处,但如所说明可在物理上位于具 有最低物理地址的顶部区块中或可邻近具有最低物理地址的引导块块,此 处仅举几例。
非易失性存储器阵列185耦接至感测放大器/缓冲器184,以使得数据 能够流入及流出闪存阵列,包括流入及流出储存密钥的特定区块187。在 此实例中,访问控制开关183安置于感测放大器/缓冲器184与输入/输出 界面181之间。自阵列185读取的数据可在线路182上被路由至输入/输出 界面181或可在线路191上被路由至安全逻辑190。
在所说明的实施例中,地址译码器186连同区块锁位(block lock bit) 一起耦接至阵列185,所述区块锁位用于控制在阵列中的对应区块中读取 及写入数据的权限。在此实例中,在特定区块187中设置储存安全密钥的 一组非易失性存储器,且特定区块187耦接至对应的锁定位或位186A。 耦接于特定区块187的锁定位或位186A可包括相异于用于阵列中其他区 块的锁定位的结构的逻辑结构或实体结构,且可进行逻辑上不同的功能。 用于储存区块锁定位的实体结构包括熔丝、单次编程单元 (one-time-programming;OPT)、以及缓存器或其他可用于储存例如是区 块锁定位的状态指示存储器构件。用于特定区块的区块锁定位或位可耦接 至感测放大器/缓冲器184中的缓冲器,以抑止密钥储存于其中的一组存储 器单元的写入,故在密钥在此被写入以及选择性地测试与验证之后冻结储 存于特定区块的密钥。闪存控制状态机器193或装置上的其他控制逻辑执 行例如是以下参照图29、30所述的借由设定对于特定区块或对于区块中 储存密钥的单元集的区块锁定位以冻结密钥。
另外,与储存密钥的特定区块187相关联的区块锁定位186A可控制 耦接至访问控制开关183的逻辑,以在用于存取阵列的地址对应于特定区 块187的地址时阻止数据自特定区块187经由感测放大器/缓冲器在线路形 成的路径182上流至输入/输出界面181,同时容许数据自特定区块187在 线路形成的路径191上流至安全逻辑190。
此外,在所说明的实施例中,具有物理不可复制功能程控器的快闪控 制状态机193在线路194上耦接至存储器阵列185且在线路192上耦接至 安全逻辑190。出于生成欲用作密钥的数据集的目的,物理不可复制功能 可使用存储器阵列185中的特定一组存储器单元189中的存储器单元来执 行本揭露所述的程序。在装置的此实例中,快闪控制状态机193提供信号 来控制偏压方案供电电压的施加,以实施用于产生数据集的程序以及在存 取存储器阵列185时所涉及的其他操作。在一些实施例中,装置上包括有 随机数产生器,随机数产生器耦接于闪存控制状态机器的物理不可复制功 能编程控制器193,随机数产生器的输出逻辑上与物理不可复制功能密钥 合并。
位于集成电路上的电路***(例如位线、字线、用于位线及字线的驱 动器等)达成对所述一组闪存单元的存取,以用于提供用于生成密钥的数 据集。
如所说明,封装式集成电路或多芯片模块180也可包括例如可在*** 芯片***(system-on-a-chip system)或电路***与存储器的其他组合中遇 到的其他电路***195。
在所示实例中,封装式集成电路或多芯片模块180借由内连线 (interconnect)199耦接至主机198,其中对于包括那些对于许多装置的 配置的***而言,主机198可为登记***(enrollment system)。主机198 可维持密钥数据库198A,密钥数据库198A中可维持有依赖于特定区块 187中所储存的密钥来执行安全协议所需的信息。在一些实施例中,执行 安全协议所需的信息包括密钥的复本。
在一种示例性操作方法中,在制造或封装期间,快闪控制状态机193 可如以上参照图2所述与主机198协作地执行物理不可复制功能。所述物 理不可复制功能可利用所述一组存储器单元189来生成可用于形成密钥的 数据集。在完成物理不可复制功能的执行后,可接着将数据集自所述一组 存储器单元189复制至被保留或被配置用于储存密钥的特定区块187。所 述***可生成一个或诸多密钥以储存于为此目的而保留的特定区块187中。在此阶段,也可将密钥复制至主机198中并维持于密钥数据库198A中。 在执行物理不可复制功能、合并物理不可复制功能密钥与随机数、且将改 良的密钥复制至特定区块187中并将任何必需信息复制至登记***中之后, 可使用熔丝(fuse)或其他类型的单次写入存储器元件(write once memory element)来设定与特定区块187相关联的锁位186A,以阻止外部电路或 通信网络存取密钥。此外,在物理不可复制功能中使用的所述特定一组存 储器单元189可被擦除或被以其他方式覆写,以消除可储存于存储器阵列 185中的密钥的迹象。
图17A说明实现于封装型集成电路或多芯片模块中的电路的替代实 施例,在图17A中再次使用相似于显示在图17中的用于标记元件的元件 符号,且不再赘述。在图17A中,包括物理不可复制功能单元189A的多 个非易失性存储器单元实际制作于除阵列185之外的电路中,且耦接至使 用物理不可复制功能单元189A来执行物理不可复制功能的控制电路,其 中此实例的控制电路为闪存控制状态机器193的一部分。在此实例中,锁 定位与译码器结构186’耦接至阵列的所有区块。此实施例的物理不可复制 功能单元189A为实际制作于阵列之外的单元区块的一部分,而具有不同 的周边电路以允许对区块进行只读存取或经由安全逻辑190对区块进行只 读存取。在其他实施例中,物理不可复制功能单元189A可被实际作为阵 列的一部分的布局(layout)中,但具有不支持非为物理不可复制功能的 一部分的编程或擦除操作的存取电路。在此实施例中,用于阵列185的周 边电路并未连接至(或并非可用于存取)物理不可复制功能单元189A。 具体而言,物理不可复制功能单元189A在分离且在控制电路中与物理不 可复制功能协调的控制下进行读取、编程与擦除。指示单元193A耦接于 物理不可复制功能单元189A或耦接于控制电路,以借由启用/停用物理不 可复制功能或启用/停用在物理不可复制功能单元189A中的编程或擦除来 冻结储存于物理不可复制功能单元189A中的一组非易失性存储器单元的 密钥。用作指示单元193A的实体结构的实例包括熔丝、单次编程单元 (one-time-programming;OPT)、以及缓存器或其他可用于储存类似于区 块锁定位的状态指示的其他存储器构件。
闪存控制状态机器193或装置上的其他控制逻辑可执行类似于以下参 照图31与图32所描述的程序,此程序例如是在指示单元193A中设定指 示以启用或停用在控制电路中的物理不可复制功能,且因此冻结密钥。在 一些实施例中,装置上包括随机数产生器,所述随机数产生器耦接于闪存 控制状态机器的物理不可复制功能编程控制器193,所述随机数产生器的 输出与物理不可复制功能密钥合并。
图18及图19说明对于不同实施例,非易失性存储器阵列的配置的不 同实例。在图18中,其中储存有密钥的存储器单元的特定区块包括第一 子区块187A及第二子区块187B。在第一子区块187A中定位有由物理不 可复制功能用于生成密钥的一组存储器单元。此外,密钥可保持于用于生 成数据集的所述一组存储器单元中或被移动至第一子区块187A中的另一 组存储器单元。第二子区块187B维持在根据例如参照图7A至图7D、图 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包括物理不可复制功 能电路1711、控制器1712、及安全逻辑1713。控制器1712耦接至物理不 可复制功能电路1711及非易失性存储器1714。
可参照图22针对一些实施例来理解图21所示***的操作。因此,为 生成可使用的密钥,自物理不可复制功能电路1711产生密钥数据(步骤 1730)。对所述密钥进行分析,以判断其是否满足安全规范,例如是否具 有充足随机性(步骤1731)。若所述密钥满足规范,则经由控制器1712 将所述密钥储存至非易失性存储器1714中(步骤1732)。若所述密钥不满 足规范,则程序循环至步骤1730,以重试物理不可复制功能,进而生成密 钥。所述物理不可复制功能可如以上所述使用一组非易失性存储器单元来 生成具有任何长度的密钥并重试基于物理不可复制功能的密钥生成程序。 如所说明,物理不可复制功能电路1711与控制器1712将协作来产生另一 密钥,进而循环回至步骤1730直至生成令人满意的密钥为止。否则,密 钥产生即完成,一或多个密钥被储存并准备好供安全逻辑利用。为使用所 述密钥,所述程序包括:自非易失性存储器获取密钥数据(1733),并在 协议中执行安全功能,所述协议涉及主机1720、以及非易失性存储器中关 于一或多个密钥的密钥资料(1734)。可由登记***为主机1720提供执行 依赖于密钥的安全协议所需的数据,或者主机1720可为在设置密钥期间 所使用的***。可与登记***或通信服务器协作地配置安全功能,以利用多个密钥。在一些实施例中,所产生及所储存的密钥被利用仅一次或有限 数目的次数,以维持高安全性及高防窥探性。此外,在一些实施例中,可 以一种对于每一通信会话依赖于单个大密钥的子集的方式来利用所述大 密钥。可根据特定使用环境的需要来实作其他安全协议。在图22所示程 序中,在安全程序利用密钥期间,可执行发出信号来通知应对密钥进行更 新的密钥更新协议。此可包括在一时间周期之后或在固定使用次数之后替 换密钥。此外,若所使用的数次登入(log in)尝试均失败或者侦测到表明 正尝试猜测密钥的其他事件,则可替换密钥。因此,图22所示程序包括 判断是否更新密钥的步骤(步骤1735)。若密钥需要更新,则程序循环至 步骤1730,且执行物理不可复制功能以更新一或多个密钥。若在1735处 密钥不需要更新,则程序循环至继续使用密钥来支持安全功能的执行。
当在例如由图22的步骤1731及1735所示的循环中使用物理不可复 制功能来创建新的密钥时,可在一些实施例中使在物理不可复制功能中所 使用的参数移位,以提高在每一循环中生成实质上不同的密钥的可能性。 当然,在使用闪存单元的一些实施例中,对相同单元应用相同物理不可复 制功能参数可生成充分不同的密钥。在其他实例中,可为每一新的物理不 可复制功能循环改变用于生成初始分布的偏压电压。此外,作为物理不可 复制功能的一部分,可在生成各分布时改变在递增步阶脉冲编程(ISPP) 算法中施加的脉冲的数目。在又一些实例中,在生成脉冲时所利用的存储 器单元可自阵列的一个区域中的一组改变成阵列的另一区域中不同的一 组。
在例如图23及图24所示的一些实施例中,可以二个部分来考虑高级 功能。图23说明可在制造期间、或在运送至客户之前、或否则在密钥由 ***使用之前执行的功能。在图23中,程序以电源开启事件而开始(步 骤1750)。执行物理不可复制功能,且撷取包括一或多个密钥的密钥数据, 并将所述密钥数据提供至登记***或其他将需要所述密钥数据的外部系 统(步骤1751)。将密钥数据储存于如上所述的非易失性存储器中(步骤 1752)。在所述密钥数据已被储存于非易失性存储器中之后,保护所述密 钥数据不被外部通信网络或装置存取(步骤1753)。在现场,程序大体如 图24所示而进行,其中以电源开启事件而开始(步骤1760)。所述程序包 括:自非易失性存储器获取受保护的密钥数据(1761),并使用密钥来与 外部装置执行包括通信协议(例如查问-响应交换)的安全功能(步骤1762)。
如图25中所说明,物理不可复制功能可使用物理电路1770,例如静 态随机存取存储器电路、可编程电阻存储器单元电路(RRAM)、基于金 属的电路、基于延迟的电路、基于振荡器的电路等。通常,在物理不可复 制功能中所使用的电路具有相对低的稳定性,因而需要特殊逻辑或错误校 正以可靠地使用密钥。用于储存密钥的非易失性存储器1771可包括高度 稳定的非易失性存储器,例如闪存、可编程电阻存储器(RRAM)、相变 存储器(PCRAM)、单次可编程存储器等。在其他实施例中,由物理不可 复制功能使用的电路1775可具有相对高的稳定性。然而,密钥也可储存 于非易失性存储器1776中,非易失性存储器1776也具有高稳定性,而且 可提供更佳的访问控制以及其他通常可不与物理不可复制功能电路1775相关联的功能。
在一些实施例中,如图27所示,可利用随机数产生器(random number generator)1780来生成密钥,所述安全密钥接着可被储存于非易失性存储 器1781中并在例如本揭露所述***等的***中使用。
在一些实施例中,如图28所示,物理不可复制功能电路1785可以第 一等级来生成具有例如1024个位的安全信息以作为初始密钥。随机数产 生器1784可产生随机数。可将此种处于第一等级的初始密钥与随机数提 供至逻辑电路1786,逻辑电路1786使用例如哈希功能将由初始密钥与随 机数表示的第一等级数据转换成具有例如128个位的作为改良的密钥的第 二等级信息、或者根据处于第一等级的安全信息而产生的其他字节合。在 改良的密钥中的第二等级信息可接着储存至非易失性存储器1787中。所 述程序由开机(步骤2900)开始。举例而言,此可发生在装置安装于测试 治具(test jig)或如上所述的登记***中。此外,此程序可开始于其他发 出物理不可复制功能电路的启动信号的事件,以产生初始密钥。在步骤 2900之后,启用用于进行物理不可复制功能的电路***(步骤2901)。接下来,执行物理不可复制功能以产生初始密钥(步骤2902)。初始密钥接 着被储存在一组非易失性存储器单元中,例如是在非易失性存储器阵列中 的单元的特定区块中的单元(步骤2903)。如上述的实例,所述一组非易 失性存储器单元可等同于被物理不可复制功能使用的该组非易失性存储 器单元,或可为在物理不可复制功能的执行之后初始密钥所写入的该组非 易失性存储器单元。
图29为在例如是图17或图17A所示的装置中的控制器执行的程序的 简化流程图,此程序用以冻结借由使用物理不可复制功能产生的初始密钥。 在此流程图中,此程序起始于开机(步骤2900)。举例而言,此可发生在 装置安装于测试治具(test jig)或如上所述的登记***中。此外,此程序 可开始于其他发出物理不可复制功能电路的启动信号的事件,以产生初始 密钥。在步骤2900之后,启用用于进行物理不可复制功能的电路***(步 骤2901)。接下来,执行物理不可复制功能以产生初始密钥(步骤2902)。 初始密钥接着被储存在一组非易失性存储器单元中,例如是在非易失性存 储器阵列中的单元的特定区块中的单元(步骤2903)。如上述的实例,所 述一组非易失性存储器单元可等同于被物理不可复制功能使用的该组非 易失性存储器单元,或可为在物理不可复制功能的执行之后初始密钥所写 入的该组非易失性存储器单元。执行随机数产生器以产生随机数(步骤 2904)。执行逻辑电路***以合并初始密钥与随机数以产生改良的密钥(步 骤2905)。随后将改良的密钥储存在多个非易失性存储器单元的第二组非 易失性存储器单元中(步骤2906)。在实施例中,逻辑电路***可包括使 用初始密钥与随机数作为输入且产生作为改良的密钥的输出的异或功能, 且可包括映像初始密钥与随机数以对数值进行哈希而作为改良的密钥的哈希功能。在初始密钥储存在一组非易失性存储器单元之后,设定指示 (indicator)以停用对于初始密钥的改变,例如是抑止特定区块中的编程 与擦除操作(步骤2907)。
图30为在例如是图17或图17A所示的装置中的控制器执行的替代程 序的简化流程图,此替代程序用以冻结借由使用物理不可复制功能产生的 初始密钥。在流程图中,此程序开始于开机(步骤3000)。举例而言,此 可发生在装置安装于测试治具(test jig)或如上所述的登记***中。此外, 此程序可开始于其他发出物理不可复制功能电路的启动信号的事件,以产 生初始密钥。在步骤3000之后,启用用于进行物理不可复制功能的电路 ***(步骤3001)。接下来,执行物理不可复制功能以产生初始密钥(步 骤3002)。初始密钥接着被储存在一组非易失性存储器单元中,例如是在 非易失性存储器阵列中的单元的特定区块中的单元(步骤3003)。如上述 的实例,所述一组非易失性存储器单元可等同于被物理不可复制功能使用 的该组非易失性存储器单元,或可为在物理不可复制功能的执行之后初始 密钥所写入的该组非易失性存储器单元。执行随机数产生器以产生随机数 (步骤S3004)。执行逻辑电路***以合并初始密钥与随机数以产生改良的 密钥(步骤3005)。随后将改良的密钥储存在多个非易失性存储器单元的 第二组非易失性存储器单元中(步骤3006)。在实施例中,逻辑电路*** 可包括使用初始密钥与随机数作为输入且产生作为改良的密钥的输出的 异或功能,且可包括映像初始密钥与随机数以对数值进行哈希而作为改良 的密钥的哈希功能。在此程序中,随后评估借由使用物理不可复制功能产 生的改良的密钥与随机数的适应性(suitability),此评估例如是借由判断 改良的密钥是否具有充足的随机性(步骤3007)。算法接着判断改良的密 钥是否为符合要求的(步骤3008)。若对改良的密钥的测试是在外部进行, 则可经由存储器装置上的端口(port)提供来自于外部装置的信号,以指 示测试成功。若改良的密钥不符合要求,则可经由存储器装置上的端口提供来自于外部装置的信号,以指示测试失败,且可重试产生改良的密钥的 程序(步骤3009)。若在步骤3008中改良的密钥为满足要求的,则可设定 指示(indicator)以停用储存初始密钥的一组非易失性存储器单元中的数 据的改变,因此冻结在装置中使用初始密钥(步骤3010)。
如上所述,在产生密钥之后用于冻结此密钥的另一技术包括停用物理 不可复制功能,例如是借由停用用于执行此功能的电路***。
图31为可被例如是位于图17或图17A的装置中的控制器执行的程序 的流程图。在此实例中,所述程序由开机(步骤3100)开始。如上所述, 此程序可开始于其他启动事件。在启动程序之后,逻辑首先判断密钥是否 已经被储存于用于储存密钥的一组非易失性存储器单元中。因此,可比较 此组非易失性存储器单元与预定的物理不可复制功能区块图案(步骤 3101)。指出没有密钥被写入的图案可为,例如是,皆为0的图案或皆为1 的图案。在检查图案之后,判断是否找到预定图案的配对(步骤3102)。 若未找到配对,则逻辑借由,例如是,停用用于执行物理不可复制功能的 电路或借由抑止控制电路的状态机器进展至执行物理不可复制功能的状 态以停用物理不可复制功能(步骤3103)。若找到配对,则逻辑借由,例 如是,启用用于执行物理不可复制功能的电路或借由使状态机器进展到执 行物理不可复制功能的状态以启用物理不可复制功能(步骤3104)。在启 用物理不可复制功能之后,接着执行产生初始密钥(步骤3105)。接着, 将初始密钥储存于一组非易失性存储器单元中,例如是依据不同实施例而 储存于阵列中的特定物理不可复制功能区块中、或储存于不同组的存储器 单元中(步骤3106)。执行随机数产生器以产生随机数(步骤3107)。执 行逻辑电路***以合并初始密钥与随机数以产生改良的密钥(步骤3108)。 接着,将改良的密钥储存于多个非易失性存储器单元中的第二组非易失性 存储器单元中(步骤3109)。在实施例中,逻辑电路***可包括使用初始 密钥与随机数作为输入且产生作为改良的密钥的输出的异或功能,且可包 括映像初始密钥与随机数以哈希数值而作为改良的密钥的哈希功能。在成 功地创造出改良的密钥之后,则可选择性地设定指示(indicator)以停用 储存初始密钥的一组存储器单元的改变(步骤3110)。如上所述,在一些 实施例中,储存初始密钥的一组存储器单元可能不具有支持除使用于物理 不可复制功能中的操作的编程操作或擦除操作的周边电路。在此情况下, 可不需要设定指示(indicator)以防止编程以及擦除。
图32为可被位于例如是图17或图17A的装置中的控制器执行的替代 程序的流程图。在此实例中,此程序开始于开机事件(步骤3200)。如上 所述,此程序可开始于其他的起动事件。在启动程序之后,逻辑可进入需 要在利用包括与外部装置通信以启动密钥产生程序的物理不可复制功能 之前执行鉴认协议的状态。当启动此鉴认协议,逻辑执行此协议(步骤 3201)。若在此鉴认协议下密钥产生循环的起始并未成功(步骤3202),则 逻辑可使用例如是那些参照图31讨论的技术停用物理不可复制功能电路, 且在一些情况下也停用测距(RNG)(步骤3203)。若在此鉴认协议下密钥 产生循环的起始成功(步骤3202),则逻辑启用物理不可复制功能电路(步 骤3204)。接着,可执行物理不可复制功能以产生初始密钥(步骤3205)。 在产生初始密钥之后,初始密钥可储存于一组非易失性存储器单元中(步 骤3206)。执行随机数产生器以产生随机数(步骤3207)。执行逻辑电路 ***以合并初始密钥与随机数以产生改良的密钥(步骤3208)。接着将改 良的密钥储存在多个非易失性存储器单元中的第二组非易失性存储器单 元中(步骤3209)。在实施例中,逻辑电路***可包括使用初始密钥与随 机数作为输入且产生作为改良的密钥的输出的异或功能,且可包括映像初 始密钥与随机数以哈希数值而作为改良的密钥的哈希功能。可选择地,在 成功储存密钥之后,可设定指示(indicator)以停用储存在一组非易失性 存储器单元的数据的改变(步骤3210)。
在各种实施例中,参照图29至图32所叙述的技术可以各种组合而被 利用。举例而言,检查一组存储器单元的程序可与成功执行鉴认协议的需 求合并,以启用物理不可复制功能电路。另外,在物理不可复制功能储存 在一组非易失性存储器单元之后验证或测试物理不可复制功能的程序可 与对于预定图案检查一组非易失性存储器单元的程序合并、或可与成功执 行鉴认协议的需求合并、或可与上述两者合并。
在本揭露的一个态样中,对类似图6、图8、图9、图11、图13、图 15以及图29至图32所示程序那样的程序以及本揭露所述的其他程序的执 行进行控制的计算机程序,可作为指令储存于一个计算机可读取存储器或 多于一个存储器上,其中所述存储器包括非暂时性计算机可读取数据储存 媒体。使用所述计算机可读取存储器,物理不可复制功能机器(例如,处 理器***410,图2)可引起对一组可编程存储器单元中的可编程存储器 单元进行扫描,且可应用本揭露所述的程序来基于物理不可复制功能生成 稳定数据集。
此外,如上所述,包括所述一组可编程存储器单元的集成电路可包括 状态机或其他被配置成执行该些程序的逻辑资源。在又一些替代方案中, 可利用由物理不可复制功能机器执行的计算机程序与在集成电路上实作 的逻辑的组合。
在本揭露所述的实施例中,使用具有阈值电压的起始分布的一组存储 器单元来建立稳定数据集。此一组存储器单元可为大型存储器阵列的一部 分,例如图3、图16、图17以及图17A中所示。作为另一选择,所述一 组存储器单元可为专门提供的一组存储器单元。在其中集成电路的任务功 能包括存储器阵列的实施例中,用于此种目的的所述一组存储器单元可具 有与所述阵列中的存储器单元相同的结构或者可具有不同的结构。此外, 所使用的所述一组存储器单元可在集成电路上安置成任一图案,包括紧凑 式阵列图案或分布式图案。
在实施例中,可多次重新使用用于建立起始分布的一组存储器单元来 生成具有相异内容的多个稳定数据集。因此,可在部署此种实施例的*** 中提供逻辑,以对一个集成电路上的存储器单元利用物理不可复制功能程 序,进而产生可在与所述一个集成电路进行通信的其他装置中共享的独有 数据集。
如上所述,本揭露所述的实例是基于使用电荷陷获存储器单元,例如 闪存。在一些实施例中(包括在如图3、图16、图17以及图17A所示而 配置的实施例中),所述技术可扩展至其他可编程存储器单元技术,包括 基于金属氧化物的可编程电阻单元、基于相变材料的可编程电阻单元、磁 阻式存储器(magneto-resistive memory)、以及其他种类的特征在于能够用 于建立起始分布的存储器单元技术,在所述起始分布中,作为经历共同处 理的结果,阈值电压或阈值电阻相对于存储器单元的地址而随机地变化。
如本揭露所述而产生的数据集可具有为特定集成电路所独有的内容。 例如在安全协议的实例中,所述数据集可用于形成对查问的回应。所述数 据集可用作加密协定中的密钥。所述数据集可用作独有辨识符。所述数据 集可用作随机密钥。
本揭露所述技术的各种态样包括以下实施例。
在一个实施例中,阐述一种在包括一组可编程存储器单元的集成电路 上产生数据集的方法。所述方法可包括:使曝露于所述集成电路上具有地 址的所述一组可编程存储器单元经过共同处理后引入相异的阈值,且所述 一组可编程存储器单元位于一个起始分布的范围内。所述方法也可包括: (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)允许所述安全逻辑对所述特定区块进行只读存取 以供在所述协议中使用,并阻止经由所述端口存取所述特定区块。
本揭露所述的协议可包括查问/回应协议,所述查问/响应协议包括经 由所述端口进行数据交换。
本揭露所述的访问控制电路具有其中允许经由所述端口存取所述特 定区块以写入所述密钥的第一状态、其中禁止经由所述端口存取所述特定 区块来进行读取或写入、并允许所述安全逻辑存取所述特定区块来进行读 取的第二状态。所述的访问控制电路包括允许及禁止存取所述多个区块中 的对应区块的区块锁位。
在实施例中,所述封装式集成电路或多芯片模块中包括逻辑。所述逻 辑可将使用所述一组存储器单元生成的密钥储存至所述特定区块中,且可 使用存储器阵列中的一组存储器单元来执行功能以生成所述密钥。所述一 组存储器单元位于所述特定区块中。
所述的密钥包括位于所述一组存储器单元的子集中的数据值、以及辨 识所述子集中的成员以供所述安全逻辑使用的地址映像。
所述存储器阵列、所述端口、所述安全逻辑、及所述访问控制电路可 安置于单个集成电路上。
在一实施例中描述一种存储器装置。存储器装置包括物理不可复制功 能电路;以及保护电路,经配置以抑止在物理不可复制功能电路中的存储 器单元的编程程序以及擦除程序。在实施例中,保护电路包括指示 (indicator),指出编程或擦除物理不可复制功能电路的可存取性 (accessibility),且指示是在抑止物理不可复制功能电路的编程程序或擦 除程序的状态中。在实施例中,指示为熔丝、单次编程单元 (one-time-programming;OPT)、或缓存器。在实施例中,物理不可复制 功能电路包括在非易失性存储器阵列中的经选择的一组单元,且所述电路 包括写入偏压产生器(write bias generator),产生写入偏压配置以在阵列 中写入存储器单元;且其中写入偏压产生器被抑止连接至物理不可复制功 能电路的经选择的一组存储器单元,写入偏压产生器在物理不可复制功能 电路被启用时被停用。
在实施例中,保护电路经配置以执行鉴认演算,以判断编程或擦除物 理不可复制功能电路的存取性。鉴认演算可包括密码鉴认(passcode authentication)。
在实施例中,鉴认演算连接(interface)于指纹鉴认机制或实体密钥 (hardwarekey)。
例中描述一种存储器装置。存储器装置包括物理不可复制功能电路, 提供初始密钥;随机数产生器,产生随机数;以及逻辑电路***,合并初 始密钥与随机数为改良的密钥;以及控制电路,经配置以检查改良的密钥 的内容的特定图案以允许(permit)或抑止(inhibit)物理不可复制功能电 路的写入程序。举例而言,需要允许写入程序的特定图案可皆为1或皆为 零。
尽管参照以上所详述的较佳实施例及实例揭露了本发明,然而,应理 解,该些实例旨在具有说明性意义而非限制性意义。预期本领域技术人员 将易于想到润饰及组合,所述润饰及组合将处于本发明的精神范围内。

Claims (24)

1.一种电子***,包括客户端装置与主机,所述主机包括处理器、安全逻辑与通信界面,所述客户端装置对应于所述主机,且所述客户端装置包括:
集成电路或多芯片模块,具有安全逻辑、通信界面以及逻辑以使用物理不可复制功能而产生物理不可复制功能密钥且储存所述物理不可复制功能密钥于物理不可复制密钥储存器;以及
逻辑,位于所述集成电路或所述多芯片模块上,以将所述物理不可复制功能密钥提供至所述主机。
2.如权利要求1所述的电子***,其中所述客户端装置包括多个非易失性存储器单元,位于所述集成电路或所述多芯片模块上,且其中所述物理不可复制功能使用借由使用所述多个非易失性存储器单元中的非易失性存储器单元产生的熵。
3.如权利要求1所述的电子***,其中所述客户端装置包括指令译码器与电路***,位于所述集成电路或所述多芯片模块上,响应于经由所述通信界面接收来自于所述主机的指令或一组指令,以在提供所述物理不可复制功能至所述主机之后停用所述物理不可复制功能密钥储存器的改变。
4.如权利要求1所述的电子***,其中所述物理不可复制功能密钥储存器包括一组非易失性存储器单元。
5.如权利要求1所述的电子***,其中所述客户端装置包括:
多个非易失性存储器单元,位于所述集成电路或所述多芯片模块上;以及
指令译码器与电路***,位于所述集成电路或所述多芯片模块上,响应于经由所述通信界面接收来自于所述主机的指令或一组指令,以使用特定于来自于所述主机的所述指令或所述一组指令中的地址来在所述多个非易失性存储器单元中识别所述物理不可复制功能密钥储存器。
6.如权利要求1所述的电子***,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的指令译码器,经配置以使:
经由所述通信界面接收的来自于所述主机的指令或一组指令造成所述逻辑使用物理不可复制功能以产生物理不可复制功能密钥且将所述物理不可复制密钥传送至所述主机的执行。
7.如权利要求1所述的电子***,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的指令译码器,经配置以使:
经由所述通信界面接收的来自于所述主机的指令或一组指令接收来自于所述主机的暂时密钥,且使用所述暂时密钥以加密所述物理不可复制功能密钥,且借由发送经加密的所述物理不可复制功能密钥而将所述物理不可复制功能密钥提供至所述主机。
8.如权利要求1所述的电子***,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的指令译码器,经配置以使:
经由所述通信界面接收的来自于所述主机的指令或一组指令使用储存在所述集成电路或所述多芯片模块上的暂时密钥以加密所述物理不可复制功能密钥,且借由发送经加密的所述物理不可复制功能密钥而将所述物理不可复制功能密钥提供至所述主机。
9.如权利要求1所述的电子***,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的指令译码器,经配置以使:
经由所述通信界面接收的来自于所述主机的指令或一组指令造成随机数产生器的使用,以产生暂时密钥,且将所述暂时密钥传送至所述主机,且将所述暂时密钥储存于所述集成电路或所述多芯片模块上;以及
响应于所述指令或所述一组指令以加密所述物理不可复制功能密钥,且借由发送经加密的所述物理不可复制功能密钥而将所述物理不可复制功能密钥提供至所述主机。
10.如权利要求1所述的电子***,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的指令译码器,经配置以使:
经由所述通信界面接收的来自于所述主机的密钥置换指令或密钥置换指令序列造成所述逻辑使用物理不可复制功能以产生物理不可复制功能密钥、借由使用与所述主机共享的秘密密钥加密所述物理不可复制功能密钥、且发送经加密的所述物理不可复制功能密钥至所述主机的执行。
11.如权利要求10所述的电子***,其中位于所述集成电路或所述多芯片模块上的所述指令译码器更经配置以停用所述密钥置换指令或所述密钥置换指令序列的后续使用。
12.如权利要求1所述的电子***,其中所述客户端装置包括多个非易失性存储器单元,位于所述集成电路或所述多芯片模块上,且其中所述物理不可复制功能使用借由使用所述多个非易失性存储器单元中的非易失性存储器单元产生的熵以产生物理不可复制功能数据集,且合并所述物理不可复制功能数据集与来自于随机数产生器的随机数,以产生所述物理不可复制功能密钥。
13.一种电子***的操作方法,所述电子***包括客户端装置与主机,所述主机包括处理器、安全逻辑与通信界面,所述客户端装置包括集成电路或多芯片模块,且所述客户端装置对应于所述主机,所述电子***的操作方法包括:
使用位于所述集成电路或所述多芯片模块上的物理不可复制功能以产生物理不可复制功能密钥且将所述物理不可复制功能密钥储存在物理不可复制功能密钥储存器中;以及
将所述物理不可复制功能密钥提供至所述主机。
14.如权利要求13所述的电子***的操作方法,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的多个非易失性存储器单元,其中所述物理不可复制功能使用借由使用所述多个非易失性存储器单元中的非易失性存储器单元产生的熵。
15.如权利要求13所述的电子***的操作方法,包括:响应于接收来自于所述主机的指令或一组指令,在在将所述物理不可复制功能密钥提供至所述主机之后停用所述物理不可复制功能密钥储存器的改变。
16.如权利要求13所述的电子***的操作方法,其中所述物理不可复制功能密钥储存器包括一组非易失性存储器单元。
17.如权利要求13所述的电子***的操作方法,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的多个非易失性存储器单元,且包括:响应于从所述主机接收的指令或一组指令,使用所述指令或所述一组指令中的特定地址以辨识储存于所述多个非易失性存储器单元中的所述物理不可复制功能密钥。
18.如权利要求13所述的电子***的操作方法,包括:响应于从所述主机接收的指令或一组指令,造成所述集成电路或所述多芯片模块上的逻辑的执行,以使用所述物理不可复制功能以产生所述物理不可复制功能密钥,且将所述物理不可复制功能密钥发送至所述主机。
19.如权利要求13所述的电子***的操作方法,包括:响应于从所述主机接收的指令或一组指令,从所述主机接收暂时密钥,使用所述暂时密钥加密所述物理不可复制功能密钥,且借由发送经加密的所述物理不可复制功能密钥以将所述物理不可复制功能密钥提供至所述主机。
20.如权利要求13所述的电子***的操作方法,包括:响应于从所述主机接收的指令或一组指令,使用暂时密钥以加密所述物理不可复制功能密钥,且借由发送经加密的所述物理不可复制功能密钥以将所述物理不可复制功能密钥提供至所述主机。
21.如权利要求13所述的电子***的操作方法,包括:响应于从所述主机接收的指令或一组指令,使用随机数产生器产生暂时密钥,将所述暂时密钥发送至所述主机,且将所述暂时密钥储存于所述集成电路或所述多芯片模块上;以及
响应于所述指令或所述一组指令,加密所述物理不可复制功能密钥,且借由发送经加密的所述物理不可复制功能密钥以将所述物理不可复制功能密钥提供至所述主机。
22.如权利要求13所述的电子***的操作方法,包括:响应于从主机接收的密钥置换指令或一组密钥置换指令,造成逻辑使用所述物理不可复制功能以产生物理不可复制功能密钥的执行、使用与所述主机共享的秘密密钥加密所述物理不可复制功能密钥、以及将经加密的所述物理不可复制功能密钥发送至所述主机。
23.如权利要求22所述的电子***的操作方法,包括:响应于从所述主机接收的密钥置换指令或一组密钥置换指令,停用所述密钥置换指令或所述一组密钥置换指令的后续使用。
24.如权利要求13所述的电子***的操作方法,其中所述客户端装置包括位于所述集成电路或所述多芯片模块上的多个非易失性存储器单元,其中所述物理不可复制功能使用借由使用所述多个非易失性存储器单元中的非易失性存储器单元产生的熵以产生物理不可复制功能数据集,且包括合并所述物理不可复制功能数据集与来自于随机数产生器的随机数以产生所述物理不可复制功能密钥。
CN201810497723.5A 2017-05-22 2018-05-22 电子***及其操作方法 Active CN108958650B (zh)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US15/601,582 2017-05-22
US15/601,582 US10715340B2 (en) 2016-08-04 2017-05-22 Non-volatile memory with security key storage
US201762528460P 2017-07-04 2017-07-04
US62/528,460 2017-07-04
US201762594547P 2017-12-05 2017-12-05
US62/594,547 2017-12-05

Publications (2)

Publication Number Publication Date
CN108958650A true CN108958650A (zh) 2018-12-07
CN108958650B CN108958650B (zh) 2021-06-15

Family

ID=64499400

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810497723.5A Active CN108958650B (zh) 2017-05-22 2018-05-22 电子***及其操作方法

Country Status (1)

Country Link
CN (1) CN108958650B (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3680905A1 (en) * 2019-01-13 2020-07-15 eMemory Technology Inc. Random code generator
CN114444140A (zh) * 2020-11-02 2022-05-06 旺宏电子股份有限公司 存储器中的不可复制函数应用
TWI783176B (zh) * 2019-08-23 2022-11-11 大陸商雅特力科技(重慶)有限公司 用來管理支援資料儲存的安全程式庫的方法與電子裝置
US11736286B2 (en) 2020-12-11 2023-08-22 PUFsecurity Corporation Method and secure boot control circuit for controlling secure boot of electronic device and method for controlling enrollment of electronic device

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200913627A (en) * 2007-05-11 2009-03-16 Validity Sensors Inc Method and system for electronically securing an electronic device using physically unclonable functions
US20090165086A1 (en) * 2007-12-21 2009-06-25 Spansion Llc Random number generation through use of memory cell activity
CN102165458A (zh) * 2008-09-26 2011-08-24 皇家飞利浦电子股份有限公司 认证装置和用户
US20140140513A1 (en) * 2012-11-19 2014-05-22 International Business Machines Corporation Reliable physical unclonable function for device authentication
CN104254853A (zh) * 2012-04-25 2014-12-31 株式会社日立制作所 文件存储***和文件克隆方法
CN104751050A (zh) * 2015-04-13 2015-07-01 成都睿峰科技有限公司 一种客户端应用程序管理方法
CN104836669A (zh) * 2015-05-08 2015-08-12 东南大学 一种基于sram puf的安全认证方法及一种终端、认证***
US20160148679A1 (en) * 2014-11-21 2016-05-26 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
US20160323096A1 (en) * 2015-04-29 2016-11-03 Samsung Electronics Co., Ltd. Non-leaky helper data: extracting unique cryptographic key from noisy f-puf fingerprint
CN106575324A (zh) * 2014-04-09 2017-04-19 有限公司Ictk 认证设备及方法
CN106688027A (zh) * 2014-09-15 2017-05-17 Arm 有限公司 依赖puf和地址的数据加密

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200913627A (en) * 2007-05-11 2009-03-16 Validity Sensors Inc Method and system for electronically securing an electronic device using physically unclonable functions
US20090165086A1 (en) * 2007-12-21 2009-06-25 Spansion Llc Random number generation through use of memory cell activity
CN102165458A (zh) * 2008-09-26 2011-08-24 皇家飞利浦电子股份有限公司 认证装置和用户
CN104254853A (zh) * 2012-04-25 2014-12-31 株式会社日立制作所 文件存储***和文件克隆方法
US20140140513A1 (en) * 2012-11-19 2014-05-22 International Business Machines Corporation Reliable physical unclonable function for device authentication
CN106575324A (zh) * 2014-04-09 2017-04-19 有限公司Ictk 认证设备及方法
CN106688027A (zh) * 2014-09-15 2017-05-17 Arm 有限公司 依赖puf和地址的数据加密
US20160148679A1 (en) * 2014-11-21 2016-05-26 Panasonic Intellectual Property Management Co., Ltd. Tamper-resistant non-volatile memory device
CN104751050A (zh) * 2015-04-13 2015-07-01 成都睿峰科技有限公司 一种客户端应用程序管理方法
US20160323096A1 (en) * 2015-04-29 2016-11-03 Samsung Electronics Co., Ltd. Non-leaky helper data: extracting unique cryptographic key from noisy f-puf fingerprint
CN104836669A (zh) * 2015-05-08 2015-08-12 东南大学 一种基于sram puf的安全认证方法及一种终端、认证***

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
SAUVAGYA RANJAN SAHOO; SUDEENDRA KUMAR; KAMALAKANTA MAHAPATRA: ""A Modified Configurable RO PUF with Improved Security Metrics"", 《2015 IEEE INTERNATIONAL SYMPOSIUM ON NANOELECTRONIC AND INFORMATION SYSTEMS》 *
孙梅;张栋冰;张娟: ""一种基于PUF的低成本RFID认证协议分析与改进"", 《合肥学院学报(自然科学版)》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3680905A1 (en) * 2019-01-13 2020-07-15 eMemory Technology Inc. Random code generator
US10748591B2 (en) 2019-01-13 2020-08-18 Ememory Technology Inc. Random code generator
TWI783176B (zh) * 2019-08-23 2022-11-11 大陸商雅特力科技(重慶)有限公司 用來管理支援資料儲存的安全程式庫的方法與電子裝置
CN114444140A (zh) * 2020-11-02 2022-05-06 旺宏电子股份有限公司 存储器中的不可复制函数应用
US11736286B2 (en) 2020-12-11 2023-08-22 PUFsecurity Corporation Method and secure boot control circuit for controlling secure boot of electronic device and method for controlling enrollment of electronic device
TWI825522B (zh) * 2020-12-11 2023-12-11 熵碼科技股份有限公司 用來控制電子裝置的安全開機的方法及安全開機控制電路以及用來控制電子裝置的註冊的方法

Also Published As

Publication number Publication date
CN108958650B (zh) 2021-06-15

Similar Documents

Publication Publication Date Title
CN108958707A (zh) 具有puf及随机数产生器的电路及其操作方法
US10680809B2 (en) Physical unclonable function for security key
TWI732903B (zh) 電子裝置及其記憶體電路與其操作方法
US10855477B2 (en) Non-volatile memory with physical unclonable function and random number generator
US11601269B2 (en) Unchangeable physical unclonable function in non-volatile memory
CN108958650A (zh) 电子***及其操作方法
US20190342090A1 (en) Key Generation and Secure Storage in a Noisy Environment
CN108959976B (zh) 操作具非易失性存储单元电路的方法及使用所述方法的电路
Jia et al. Extracting robust keys from NAND flash physical unclonable functions
TWI716685B (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