CN104584435A - 有可访问和不可访问的物理不可克隆功能的集成电路 - Google Patents

有可访问和不可访问的物理不可克隆功能的集成电路 Download PDF

Info

Publication number
CN104584435A
CN104584435A CN201380045418.8A CN201380045418A CN104584435A CN 104584435 A CN104584435 A CN 104584435A CN 201380045418 A CN201380045418 A CN 201380045418A CN 104584435 A CN104584435 A CN 104584435A
Authority
CN
China
Prior art keywords
puf
unit
inaccessible
addressable
substrate
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
CN201380045418.8A
Other languages
English (en)
Other versions
CN104584435B (zh
Inventor
K·C·高特兹
G·M·约维诺
李江滔
D·约翰斯顿
S·K·马修
G·W·考克斯
A·拉詹
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.)
Intel Corp
Original Assignee
Intel Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Intel Corp filed Critical Intel Corp
Publication of CN104584435A publication Critical patent/CN104584435A/zh
Application granted granted Critical
Publication of CN104584435B publication Critical patent/CN104584435B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H01ELECTRIC ELEMENTS
    • H01LSEMICONDUCTOR DEVICES NOT COVERED BY CLASS H10
    • H01L22/00Testing or measuring during manufacture or treatment; Reliability measurements, i.e. testing of parts without further processing to modify the parts as such; Structural arrangements therefor
    • H01L22/30Structural arrangements specially adapted for testing or measuring during manufacture or treatment, or specially adapted for reliability measurements
    • H01L22/34Circuits for electrically characterising or monitoring manufacturing processes, e. g. whole test die, wafers filled with test structures, on-board-devices incorporated on each die, process control monitors or pad structures thereof, devices in scribe line
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • 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/72Protecting 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 in cryptographic circuits
    • 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
    • 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
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • H04L9/3278Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response using physically unclonable functions [PUF]
    • 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)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Manufacturing & Machinery (AREA)
  • Computing Systems (AREA)
  • Software Systems (AREA)
  • Automation & Control Theory (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Power Engineering (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

一方面集成电路衬底包括多个暴露电触头。集成电路衬底还包括生成不可通过暴露电触头访问的不可访问的物理不可克隆功能(PUF)位的集合的不可访问的PUF单元的集合。集成电路衬底还包括生成可通过暴露电触头访问的可访问的PUF位的集合的可访问的PUF单元的集合。也公开了其他装置、方法、和系统。

Description

有可访问和不可访问的物理不可克隆功能的集成电路
技术领域
各实施例涉及集成电路。具体而言,各实施例涉及具有物理不可克隆功能的集成电路。
背景技术
计算机、蜂窝电话、多媒体内容播放器和各种其他类型的电子设备通常用来处理敏感的或安全信息(例如,财务信息、保密文档、个人电子邮件、数字版权保护内容等)。在这样的电子设备中使用的集成电路通常提供有用来保护敏感或安全信息的一个或两个秘密——诸如一个或多个安全密钥。安全密钥可用来以各种方式保护敏感或安全信息,诸如通过加密/解密、认证、数字签名和其他已知的密码方法。
提供带安全密钥的集成电路的一种方式是以数字形式将安全密钥编程或存储在熔丝和/或存储器中(例如各种类型的只读存储器(ROM))。然而,这种方案的一个缺点是,以数字形式存储在存储器和/或熔丝中的安全密钥往往在某种程度上容易被发现。尽管安全密钥一般不能被直接读出,但侵入式攻击和/或逆向工程可用来获得安全密钥。允许安全密钥被获得可违背或至少有助于违背敏感信息的安全性。附加地,这样提供秘密密码密钥甚至意味着他们被暴露于制造商的密钥生成、设备设计和制造基础架构的一部分。
物理不可克隆功能(PUF)提供以数字形式将安全密钥存储在存储器和/或熔丝中的替换方式。PUF用于安全性的一个优点是,PUF往往比以数字形式存储在存储器和/或熔丝中的安全密钥要显著地难以发现。PUF可用来在运行时期间生成可用于安全性的PUF位。PUF位通常由PUF位错误级别和PUF位熵级别来表征。
附图说明
本发明可通过参考用来示出本发明的实施例的以下描述和附图来最好地理解。在附图中:
图1是有暴露和/或外置的电触头、不可访问的PUF单元的第一集合和可访问的PUF单元的第二集合的集成电路衬底的实施例的框图。
图2是有非常接近的不可访问的PUF单元的第一集合和可访问的PUF单元的第二集合的管芯的实施例的框图。
图3是有在管芯上物理上彼此分开的不可访问的PUF单元的第一集合和可访问的PUF单元的第二集合的管芯的实施例的框图。
图4是有每一个都在相对应的管芯内的不可访问的PUF单元的第一集合和至少一组将在划片期间移除的切除区域中的可访问的PUF单元的第二集合的晶圆的实施例的框图。
图5是示出了在一些实施例中可访问的PUF单元的集合和/或可访问的PUF位的集合可不用于集成电路衬底的安全性的集成电路衬底的实施例的框图。
图6是示出了在其他实施例中可访问的PUF单元的集合和/或可访问的PUF位的集合可用于集成电路衬底的安全性的集成电路衬底的实施例的框图。
图7是用于生成可通过暴露和/或外置电触头而访问的可访问的PUF位的集合的可访问的PUF单元的集合的示例实施例的框图。
图8是测试集成电路的方法的实施例的流程框图。
图9是与多个集成电路测试装备耦合的PUF位的存储和分析系统的框图。
图10A是根据本发明的各实施例示出了示例性有序流水线和示例性寄存器重命名、无序发出/执行流水线二者的框图。
图10B是根据本发明的各实施例示出了将包括在处理器中的示例性的有序体系结构核的实施例和示例性寄存器重命名、无序发出/执行体系结构核二者的框图。
图11A是根据本发明的各实施例的单个处理器核以及它与晶片上互连网络的连接和它的二级(L2)高速缓存本地子集的框图。
图11B是根据本发明的各实施例的图11A中的处理器核的一部分的展开图。
图12是根据本发明的各实施例的可有多于一个核、可有集成的存储器控制器、和可有集成图形的处理器的框图。
图13示出的是根据本发明一实施例的系统1300的框图。
图14示出的是根据本发明实施例的第一更具体的示例性系统1400的框图。
图15示出的是根据本发明实施例的第二更具体的示例性系统1400的框图。
图16示出的是根据本发明实施例的SoC的框图。
图17是对比根据本发明的各实施例使用软件指令转换器将源指令集的二进制指令转换成目标指令集的二进制指令的框图。
具体实施方式
在以下描述中,阐述了许多具体细节,诸如PUF单元的具体类型、PUF单元的位置、逻辑分区/集成细节、组件的类型和相互关系等。然而应理解,可以在没有这些具体细节的情况下实践本发明的各实施例。在其它实例中,为了不妨碍对本描述的理解,没有详细示出公知的电路、架构和技术。
图1是集成电路衬底100的实施例的框图,它具有暴露的和/或外置的电触头101、不可访问的物理不可克隆的功能(PUF)单元的第一集合102用于生成不可访问的PUF位的第一集合103和可访问的PUF单元的第二集合104用于生成可访问的PUF位的第二集合105。不可访问的PUF单元的第一集合和/或不可访问的PUF位的第一集合不可通过电触头访问。可访问的PUF单元的第二集合和/或可访问的PUF位的第二集合可通过电触头访问。
PUF单元的第一和第二集合102、104可以是本领域内已知的多种不同类型的PUF单元中的任何一种。在本领域内PUF有时也称为物理单向功能(POWF)。在所有不同类型的作为PUF的设备、电路和物理系统周围放置精准的外周往往是困难的。本讨论不旨在且不应用于排除本视为PUF的设备、电路和物理系统。大多数PUF一般表示物理的(例如,集成电路、结构或微结构、设备、材料、体现物理介质中等)、(对于特定的预期使用)基本难以预测的、且基本不可克隆的功能(例如,他们从输入生成输出)。基本不可克隆意味着,即使对于给定PUF的制造商,即使使用同一制造过程,制造能对于相同输入提供相同输出的给定PUF的复本将是极度困难的(即便并非不可行)。这很大程度上是由于PUF和在制造过程期间遭遇的不可控制的过程变异的一般本质。
不可访问的PUF单元的第一集合102可生成不可访问的PUF位的第一集合103作为对挑战或输入的响应或输出。类似地,可访问的PUF单元的第二集合104可生成可访问的PUF位的第二集合105作为对挑战或输入的响应或输出。一些类型的PUF单元可不需要挑战或输入,而是可提供或递交可读的值。作为示例,挑战可包括一个或多个应用于PUF单元的电信号。PUF位不只是以数字形式在熔丝或存储器中编程或存储的非易失性位,而是可在运行时生成并可在一些情况中仅当集成电路通电时存在。这样,不可访问的PUF位的第一集合可比存储在熔丝或存储器中的非易失性位显著地难以发现。由PUF单元的第一和第二集合生成的PUF位的第一和第二集合的具体二进制值一般取决于相对应的PUF单元的物理特性,这进而取决于用来制造相对应的PUF单元的具体制造过程和在制造过程期间遭遇的不可控制的工艺变异,复制该工艺变异是不切实际的。举例而言,在硅PUF单元的情况中,所生成的PUF位的具体二进制值可取决于诸如集成电路的线宽度、半导体材料中的掺杂物浓度等的参数,其以不可预测的方式取决于制造工艺变异。
在一些实施例中,PUF单元的第一和第二集合可表示硅本征PUF单元或更一般地表示半导体本征PUF单元。在一些实施例中,PUF单元的第一和第二集合可能已经使用互补金属氧化物半导体(COMS)制造工艺来制造,该制造工艺也用于制造集成电路的晶体管。适合的PUF类型的示例包括但不限于,延迟PUF(例如,基于数字延迟测量的本征PUF)、延迟环PUF、存储器PUF(例如,基于数字存储器元件的安定状态的本征PUF)、SRAM PUF、交叉耦合的PUF、仲裁者PUF(例如,基于MUX和仲裁器的PUF)、环振荡器PUF、双稳态环PUF、蝴蝶PUF、插销PUF、触发器PUF、D类型触发器PUF、涂层PUF和附加的本领域内已知的半导体或CMOS PUF。如下面将进一步讨论的,在一些实施例中,可分析可访问的PUF位的第二集合以推断、估计或预测不可访问的PUF位的第一集合的属性。在一个方面,这可由制造商作为监视不可访问的PUF位(例如,为了验证不可访问的PUF位足够用于他们的预期使用)的间接方式而完成。即,可访问的PUF位可用来间接地调试或验证不可访问的PUF位。在这样的实施例中,如果PUF单元的第一和第二集合相似(例如,是同一类型、设计和大小)一般是有利的。这一般地有助于保证通过分析确定的可访问的PUF单元的第二集合的属性与不可访问的PUF单元的第一集合的属性相关。
不可访问的PUF单元的第一集合的数量可以是任何传统的或适当的数量而不会限制本发明的范围。通常,在相对高安全性通用处理器的情况中,可有从数百到上千的任何数量的不可访问的PUF单元的第一集合。在各种实施例中,可有从数十、到数百、到数千的任何数量的可访问的PUF单元的第二集合。当分析可访问的PUF位的第二集合以估计属性时,通常范围从大概128到1024或从大概256到512的数量将足够,尽管本发明的范围不限于这些具体数量。一般而言,可用于分析的可访问的PUF位的数量越大,分析结果越好(至少在一定程度上)。相反,可访问的PUF位越少,成本、面积/占用量(footprint)和功耗越小。因此,在分析准确性和实现成本之间有折衷,从而适当的数量一般取决于特定实现的目标。
再次参考图1,不可访问的PUF位的第一集合102可用于集成电路衬底内的安全。不可访问的PUF单元的第一集合可向安全逻辑107提供不可访问的PUF位的第一集合103。在一些实施例中,安全逻辑可包括使用密码密钥生成和/或导出算法根据不可访问的PUF位的第一集合103生成和/或导出一个或多个密钥或安全密钥的密钥生成和/或导出逻辑。作为示例,安全逻辑可包括但不限于:密码模块或电路、密码处理器、密码协处理器、受信平台模块、安全引擎、安全控制器等。
再次参考图1,集成电路衬底也包括暴露和/或外置电触头的集合101。在所示的实施例中,示出了第一电触头101-1到第N个电触头101-N,其中N可以是任何适当的数字,通常在从数十到数千的量级。集成电路衬底一般包括与外置电信令介质(例如,电路板、电设备的组件、制造测试装备等)交互的暴露和/或外置电触头。电力通常通过某些电触头递送到集成电路衬底,且电信号通过其他的电触头在外置电信令介质和集成电路衬底之间交换。暴露和/或外置电触头通过集成电路衬底的互连与集成电路衬底的集成电路电耦合。暴露和/或外置电触头可从集成电路衬底之外访问(例如,驻留在集成电路衬底的外表面上)。作为示例,在各种实施例中,暴露或外置电触头可表示可从集成电路或封装的外部访问的且与集成电路的互连和/或集成电路电地耦合的垫、隆起、焊接材料、引脚或其他类型的电触头。当结合在封装中时,暴露或外置电触头可通过相对应的封装的电触头访问。
在图示中也示出了外置装备110(即,外置于集成电路衬底)。在一个方面,外置装备可表示集成电路测试和/或调试装备(例如,测试器或探针)和/或其它集成电路制造装备。在集成电路的制造期间,普遍在制造的各种阶段测试集成电路和集成电路封装。这可出于各种目的而进行,诸如例如,为了测试或调试集成电路衬底、测试正确的操作、检测缺陷、从将被丢弃或返工的不正确地工作的集成电路拣选出正确地工作的集成电路、基于测试将数据编程进集成电路等。外置装备可操作来与集成电路的暴露或外置电触头耦合。举例而言,外置装备可有一组可用来接触集成电路衬底的电触头的电探针。外置装备可根据测试模式通过探针和电触头来与集成电路衬底交换电信号。举例而言,集成电路测试装备可向集成电路发送电信号,并作为响应接收相对应的电信号,这可作为测试的一部分而进行分析。考虑到集成电路安全的目标,存在由恶意的或攻击者外置装备施加的安全风险。举例而言,制造设施处的集成电路测试和/或调试装备可因雇员秘密地安装恶意软件以获得秘密、密钥或PUF位而被破坏。而且,攻击者可创建他们自己的外置装备以试图通过外置触头访问秘密、密钥或PUF位。在一些实施例中,不可访问的PUF位也可在设备内部不对所有但只对高度受信的和/或高度有特权的逻辑可用。在这样的实施例中,不可访问的PUF位可对于非受信或非特权软件(例如,用户软件或恶意软件)不可访问,诸如例如,对除了最高级别的特权软件之外的所有软件不可访问。
再次参考图1,集成电路衬底包括生成不可访问的PUF位的第一集合103的不可访问的PUF单元的第一集合102、和生成可访问的PUF位的第二集合105的可访问的PUF单元的第二集合104。不可访问的PUF单元的第一集合和/或不可访问的PUF位的第一集合不可通过电触头访问。可访问的PUF单元的第二集合和/或可访问的PUF位的第二集合可通过电触头访问。
在一些实施例中,集成电路衬底可省略或缺少允许不可访问的PUF位的第一集合和/或不可访问的PUF单元的第一集合通过暴露和/或外置电触头被访问的电路或其他逻辑109。举例而言,可没有允许不可访问的PUF位的集合通过触头被访问的线、电线、或其他互连和/或逻辑。在一些实施例中,集成电路设计可不允许对不可访问的PUF位的扫描或调试,或至少可高度限制这种扫描或调试,这有助于使它们不可访问。在一些实施例中,可类似地没有允许集成电路内的非受信实体(例如,应用程序或其他非受信软件)访问不可访问的PUF位的线、电线或其他互连和/或逻辑。在一些情况中,不可访问的PUF位可能仅作为足够强的、PUF位被输入其中的密码功能的输出中的变化而被观察到,但密码功能可足够强使得用于所有实际目的的PUF位不能被确定。这可阻止外置装备能够读、获得或另外地访问不可访问的PUF位的第一集合和/或不可访问的PUF单元的第一集合。有利的是,阻止外置装备能够访问不可访问的PUF位的第一集合和/或不可访问的PUF单元的第一集合可有助于增强集成电路衬底的安全。如果相反,外置装备能够访问PUF位的第一集合,则存在如上所述用于集成电路衬底内的安全的不可访问的PUF位的第一集合被破坏了的制造测试/调试装备或攻击者装备发现的增加的可能性。这可潜在地损害或至少有助于损害集成电路衬底的安全。然而,通过阻止外置装备访问不可访问的PUF单元的第一集合和/或不可访问的PUF位的第一集合,这种风险将显著地降低。附加的优点是,制造商可能不能访问和/或知道不可访问的PUF位的第一集合的二进制值。这可有助于减少制造商的责任(例如,将他们保持为秘密的责任)和/或义务(例如在他们被发现并公开的事件中)。
相反,在一些实施例中,集成电路衬底可包括允许可访问的PUF位的第二集合和/或可访问的PUF单元的第二集合通过暴露和/或外置电触头被访问的电路或其他逻辑108。这可允许外置装备能够读、获得或另外地访问可访问的PUF位的第二集合和/或可访问的PUF单元的第二集合。举例而言,可访问的PUF位的第二集合可作为电子信号通过暴露或外置电触头从集成电路发送或提供给外置装备。在一些实施例中,如下面将进一步解释的,可访问的PUF位的第二集合可结合确定诸如例如PUF位错误级别和/或PUF位熵级别的特性或属性而分析。PUF位熵级别可通过对比来自其他不同的集成电路或集成电路衬底的PUF位而确定。在一些实施例中,分析可跨多个或潜在地无数的不同的集成电路(例如,至少一百个、至少一千个、上万或甚至更多)而执行。在一些实施例中,不可访问的PUF位的第一集合和/或不可访问的PUF单元的第一集合的特性或属性(例如,PUF位错误级别和/或PUF位熵级别)可根据通过分析确定的可访问的PUF位的第二集合的特性或属性来推断或估计。由于PUF单元的第一和第二集合同时地被制造在同一集成电路衬底上,并遭遇基本相同的制造工艺变异,他们应当有相同的或至少足够相似的PUF单元和/或PUF位特性或属性。有利的是,这可允许不可访问的PUF位的第一集合和/或不可访问的PUF单元的第一集合的特性或属性不需要将他们变得可访问或甚至不需要知道这些PUF位就可被估计或推断。对不可访问的PUF位的第一集合和/或不可访问的PUF单元的第一集合的特性或属性的估计对于各种目的都是有用的,诸如例如,为了允许对安全级别的估计、评估或验证、为了辅助安全相关的逻辑的设计或重设计、对于质量控制目的、为了调整对制造过程中的工艺变异的控制的量等。
集成电路衬底100可表示晶圆、单片分割的管芯或其他集成电路衬底。在其他实施例中集成电路衬底可包括处理器。在一些实施例中,处理器可以是通用处理器。在一其他实施例中,处理器可以是专用处理器。适合的专用处理器的示例包括但不限于:网络处理器、通信处理器、密码处理器、图形处理器、协处理器、嵌入式处理器、数字信号处理器(DSP)和控制器(例如微控制器)等等。处理器可以是各种复杂指令集计算(CISC)、精简指令集计算(RISC)、极长指令字(VLIW)处理器、其混合或其他类型的处理器中的任何一种。在其他实施例中集成电路衬底可包括芯片组组件。举例而言,集成电路衬底可包括输入/输出控制器、存储器控制器、图形芯片等。替换性地,集成电路衬底可包括本领域内已知的其他类型的集成电路(例如,专用集成电路(ASIC)、片上系统(SOC)等)。在更进一步的实施例中,集成电路衬底可由安全密钥卡、智能卡、或期望具有PUF的安全的其他类型的装置或设备来代替。
构想了物理放置不可访问的PUF单元的第一集合和可访问的PUF单元的第二集合的不同实施例。图2-4示出了几个示例实施例,但是本发明不限于这些实施例。这些实施例可用在图1的集成电路100中。替换性地,这些实施例可用在完全不同的集成电路中。而且,图1的集成电路100可使用与这些图中示出的那些完全不同的实施例。
图2是有非常接近的不可访问的PUF单元的第一集合202和可访问的PUF单元的第二集合204的管芯200的实施例的框图。在一个实施例中,不可访问的和可访问的PUF单元的集合可在管芯的同一区域内互相混合(例如,至少不可访问的PUF单元的集合中的一些可放置在可访问的PUF单元的集合中的一些之间)。在另一个实施例中,不可访问的和可访问的PUF单元的集合可位于管芯的相邻或相接的区域中。举例而言,不可访问的PUF单元的集合可限于管芯的第一区域,且可访问的PUF单元的第二集合可限于管芯的第二区域,且第一和第二区域可重叠、可互相相邻或可彼此相接。在又一个实施例中,不可访问的和可访问的PUF单元可位于管芯的接近的区域中。如本文所使用的,彼此接近或位于管芯的接近的区域中意味着二者都在不大于管芯大小的三分之一的区域内。通过在管芯的相同、相邻或至少接近的区域中提供不可访问的和可访问的PUF单元的集合一般倾向于使不可访问的和可访问的PUF单元的集合的PUF位特性彼此相关。
图3是有物理上彼此分开和/或不互相接近的不可访问的PUF单元的第一集合302和可访问的PUF单元的第二集合304的管芯300的实施例的框图。如本文所使用的,不可访问的PUF单元的第一集合302和可访问的PUF单元的第二集合304在他们不都包含在不大于管芯大小的三分之一的区域内时不接近。
图4是晶圆400的实施例的框图,该晶圆具有每一个都在相对应的管芯内的不可访问的PUF单元的第一集合402-1、402-2和至少一个将在晶圆的划片期间切除或移除的管芯外的切除区域418中的可访问的PUF单元的第二集合404-1。在图示中,示出的是第一管芯416-1和第二管芯416-2。第一管芯在其管芯内限制了不可访问的PUF单元的第一集合的第一实例402-1。类似地,第二管芯在其管芯内限制了不可访问的PUF单元的第一集合的第二实例402-2。在所示的实施例中,在彼此相邻的第一和第二管芯之间是可访问的PUF单元的第二集合。来自可访问的PUF单元的第二集合的可访问的PUF位的第二集合可在晶圆测试期间或另外地早于晶圆的单片切割或划片而被访问。之后,可访问的PUF单元的第二集合可在晶圆的单片切割或划片期间被切除并丢弃。可访问的PUF单元的第二集合在切除区域中,例如在划片线之间、在管芯街区中、在切口区域中等。可访问的PUF单元的第二集合不在将在电子设备中使用的最终封装中显示。在一个实施例中,晶圆可包括将用于整个晶圆的单个可访问的PUF单元的第二集合。在另一个实施例中,晶圆可包括两个或多个可访问的PUF单元的第二集合。如所示,晶圆可以可选地包括附加的可访问的PUF单元的第二集合404-2。在另一个实施例中,每个管芯可有相对应的可访问的PUF单元的第二集合。替换性地,可有比管芯少的可访问的PUF单元的第二集合或单个可访问的PUF单元的第二集合。在一个方面,在单个可访问的PUF单元的第二集合的情况中,它可位于晶圆的中央区域以便与跨晶圆的管芯更相关。
图5是集成电路衬底500的实施例的框图,示出了在一些实施例中不可访问的PUF单元的集合504和/或可访问的PUF位的集合505可不用于集成电路衬底的安全性。举例而言,可没有允许将可访问的PUF位提供给这些安全相关的组件的线、电线或其他互连和/或其他逻辑(例如,没有通过内部互连、接口、总线等访问可访问的PUF位的集合并将它们路由至这些安全相关的组件的逻辑能力)。如前所述,可访问的PUF单元的集合和/或可访问的PUF位的集合可通过集成电路的暴露或外置电触头而访问。然而,集成电路衬底省略或缺少允许可访问的PUF位的集合用于安全的电路或其他逻辑520。可访问的PUF位的集合未被提供给安全逻辑107。由于可访问的PUF位可通过外置装备容易地获得,此实施例采取更保守的方案,其中可访问的PUF位未用于安全(例如,未用作安全密钥或用来生成或导出安全密钥)。
图6是集成电路衬底600的实施例的框图,示出了在其他实施例中可访问的PUF单元的集合604和/或可访问的PUF位的集合605可用于集成电路衬底的安全性。如前,可访问的PUF单元的集合和/或可访问的PUF位的集合可通过集成电路的暴露或外置电触头而访问。在此实施例中,集成电路衬底包括允许可访问的PUF位的集合用于安全的电路或其他逻辑622。电路或其他逻辑允许将可访问的PUF位的集合被提供给安全逻辑107。尽管可访问的PUF位可以通过外置装备容易地获得,但他们对于一些安全相关的特征可以是有用的。举例而言,他们可用作较不重要的秘密或安全密钥,或用来生成较不重要的安全密钥。作为另一示例,可访问的PUF位的集合可与更难知道的其他信息组合,然后用作秘密或安全密钥和/或用来生成秘密或安全密钥。作为示例,可访问的PUF位可与不可访问的PUF位的集合的一部分和/或存储在ROM存储器和/或熔丝中的位组合。
应理解,以上对图1描述的组件、特征和具体可选细节也可可选地应用于图2-6中的任何一个或多个。而且,以上对图2-6中的任何一个或多个描述的组件、特征和具体可选细节也可可选地应用于图1。
图7是用于生成可通过暴露和/或外置电触头而访问的可访问PUF位的集合的可访问PUF单元的集合704的示例实施例的框图。在一个实施例中,可访问的PUF单元的集合704可用作图1的集成电路衬底的可访问的PUF单元的第二集合104。替换性地,可访问的PUF单元的集合704可用在完全不同的集成电路或衬底中。而且,图1的集成电路衬底可包括完全不同的可访问PUF单元的集合。
可访问的PUF单元的集合704包括第一PUF单元704-1、第二PUF单元704-2、第三PUF单元704-3、第四PUF单元704-4、直到第N个PUF单元704-N,其中N可以是任何想要的数。在各种实施例中,可以有从数十、到数百、到几千中任何数量的可访问的PUF单元的集合,但本发明的范围不受限于任何特定数量。通常从大概64到1024或从大概128到512的数量将足够,尽管本发明的范围不限于这些具体数量。不要求使用是二的幂的数。在一些实施例中,PUF单元的每一个都可嵌入在集成电路衬底内,例如包括由硅和/或由CMOS过程形成的集成电路或结构或设备。
将挑战724(例如,一个或多个电子信号或其他刺激)提供给可访问的PUF单元的集合。可访问的PUF单元的集合提供PUF位的集合705作为响应。具体而言,在此具体示例中,在图示中PUF单元提供PUF位的集合“0110...1”。应注意,一些类型的PUF单元可不需要挑战或响应,而是可提供或递交可读的值。PUF位被提供给可操作来使PUF位可通过暴露和/或外置电触头访问的电路或其他逻辑708。
响应和/或PUF位一般倾向于基本静态。举例而言,在多次从PUF单元读PUF位时,通常PUF位的相当大多数倾向于在从一次读到下一次读有相同的二进制值。一些称为“较弱”的PUF位的PUF位倾向于比其他的PUF位更频繁地从一次读到下一次读反转或改变二进制值。举例而言,前述挑战可导致PUF位“0110...1”而后续挑战可导致PUF位“0111...1”。注意,加下划线的PUF位从一次读到另一次读时从二进制0反转到二进制1。这表示PUF位错误。当用于安全时,一般是不期望这样的PUF位错误的,因为他们可导致将生成和/或导出非常不同的安全密钥。因此,通常期望能够估计或量化PUF位错误级别(例如,为了保证错误更正技术是足够的)。
一般也期望不同集成电路或衬底的PUF位和/或PUF单元有足够的熵。熵测量所生成的PUF位的随机性的质量或级别。当有高的熵级别时,那么有来自不同的PUF单元的集合的相同PUF位的可能性是非常低的。举例而言,仅作为一个示例,来自PUF单元的第一集合的PUF位可以是“01101”、来自PUF单元的第二集合的PUF位可以是“10100”且来自PUF单元的第三集合的PUF位可以是“10111”。注意,PUF位的集合是不同的。当有高的熵级别时,每一个位有或者二进制0或者二进制1应该有大概相等的可能性,从而给定足够的PUF位的集合时PUF位串应该跨所有可能的二进制值。当用于安全时,一般期望PUF位是至少合理地熵的或随机的,因为这有助于增强安全性。作为示例,制造过程可被紧密控制得没有足够的变异来提供期望的熵级别从而给定因子可支配PUF位的偏移使得他们全部趋向于公共或系统值(例如,全部趋向于“10111”)是可能的。这可倾向于使PUF位更易受攻击。因此,一般期望能够估计或量化PUF位熵级别(例如,为了监视熵级别或验证有足够的熵级别、增加制造工艺变异、指导逻辑的重设计等。)。
构想了PUF位熵可倾向于与制造工艺的成熟度反相关。举例而言,在制造工艺的早期,当工艺相对不成熟时,工艺变异的量可倾向于相对很高,使得PUF位熵级别可倾向于相对更高。随着时间的推移,在制造工艺成熟时,工艺变异的量可倾向于降低(例如,通过加强工艺的持续努力),这进而可倾向于导致PUF位熵级别降低。由这样的成熟制造工艺产生的PUF位可没有由对其初始地评估和/或设计PUF位的不成熟的制造工艺产生的PUF位那么多的熵。在一些点,制造工艺可变得控制得过于密切使得没有足够的工艺变异以提供期望的PUF位熵的量是可能的。有利的是,本文公开的方案允许制造商评估所制造的集成电路的PUF位熵级别,包括随时间推移制造工艺成熟时,这可有助于避免PUF位有不期望的低熵的情形。这可有助于保证维持集成电路的安全。
图8是测试集成电路的方法800的实施例的流程框图。在一个方面,方法可在图1的集成电路衬底上执行。替换性地,方法可在完全不同的集成电路衬底上执行。而且,图1的集成电路衬底可由完全不同的方法测试。本文所述的装置的特征和/或细节(例如图1-7)也可可选地涉及本文所述的由和/或用装置执行的方法(例如,图8的方法)。
在框831,方法包括将集成电路测试装备(例如,探针和测试器)与集成电路衬底的多个暴露电触头电子的耦合。举例而言,集成电路测试装备的电子测试探针(例如在探针卡中)可用集成电路的垫、隆起或其它电触头接触。
在框832,集成电路测试装备通过暴露电触头访问来自集成电路衬底的PUF单元的第二集合的PUF位的第二集合。举例而言,PUF位的第二集合可通过暴露电触头和电子测试探针来读出。集成电路衬底也包括生成不可通过暴露电触头访问的PUF位的第一集合的PUF单元的第一集合。在一些实施例中,PUF位的第二集合可从启用调试的区域访问,但PUF单元的第一集合可在禁用调试的区域或至少更限制调试的区域内。
在框833,可选地分析PUF位的第二集合和PUF位的其他集合以确定PUF单元的第二集合的特性。在一些实施例中,可分析来自至少一百、至少一千、或更多的不同PUF单元或集成电路的PUF位。在一些实施例中,特性可以是一个或多个PUF位错误级别和PUF位熵级别。
在框834,基于所确定的PUF单元的第二集合的特性可选地估计或推断PUF单元的第一集合的相对应的特性。有利的是,可完全不需要知道PUF位的第一集合而估计或推断PUF单元的第一集合的特性。这有助于增强由PUF单元的第一集合和/或PUF位的第一集合提供的安全性,和有助于降低制造商的责任和/或义务。
图9是与多个集成电路测试装备910-1到910-N耦合或以其它方式通信的PUF位存储和分析系统940的框图。作为示例,集成电路测试装备可表示可能地理地分布的探针和测试器或其他装备。每一个集成电路测试装备测试多个集成电路衬底900。集成电路衬底有设备标识符(ID),诸如单元级跟踪(ULT)值。集成电路测试装备将从那些设备读取的设备ID和相对应的可访问PUF位提供给PUF位存储和分析系统。
PUF位存储和分析系统包括数据库942。数据库包括PUF位原始数据数据库944。作为示例,PUF位原始数据数据库可存储在每一个从数个有不同设备ID的集成电路衬底上进行的一个或可能多个读时读取的PUF位。在一些情况中,可存储成百、成千或更多的不同集成电路衬底的PUF位。如果期望,可存储在不同条件(温度、电压等)下读取的PUF位。在一些实施例中,数据库可仅存储从可访问的PUF读取的PUF位而不存储从不可访问的PUF读取的PUF位。如以上所述,制造商不需要知道不可访问的PUF位的值,且具有制造商不知道不可访问的PUF位的值有优点(例如,降低安全泄漏的风险和/或限制制造商的义务)。
PUF位存储和分析系统包括与数据库耦合或以其它方式通信的分析模块948。在所示的实施例中,分析模块包括PUF位错误分析模块950和PUF位熵分析模块952。PUF位错误分析模块可操作来分析来自数据库的一些或全部PUF位以确定PUF位错误级别。PUF位错误级别或者是根据对同一集成电路衬底(例如同一设备ID)的多个读确定的,但一般将根据对多个不同的集成电路衬底/设备ID的读而确定。PUF位熵分析模块可操作来分析来自数据库的一些或全部PUF位以确定PUF位熵级别。PUF位熵级别是根据来自不同设备的PUF位确定的。在一个方面,可计算内距离和/或间距离度量。内距离表示当同一挑战对同一PUF应用了两次时两个响应之间的距离。内距离度量可测量单个集成电路上多次读PUF位之间的汉明距离。内距离可有助于量化PUF单元的可靠性和PUF位的错误率。间距离表示从将同一挑战应用于PUF的两个不同实例而产生的两个响应之间的距离。间距离测量从不同的设备收集的PUF的两个测量之间的汉明距离。间距离评估PUF的唯一性并一般应该合理地接近PUF长度的一半。
分析模块将分析结果或统计存储在静态数据库946中。如所述的实施例中展示的,分析结果或统计可对不同的日期生成以便允许监视或检测趋势。几个分析结果或统计的说明性示例包括但不限于:给定时间帧的PUF位平均错误级别、给定时间帧的PUF位最大错误级别、给定时间帧的PUF位最小错误级别、给定时间帧的PUF位熵、PUF位最小和/或最大熵等。
也包括用户接口设备954以与用户接口。用户接口设备可包括一个或多个键盘、屏幕、打印机、网络连接、鼠标、命令行接口等。
示例性核架构、处理器和计算机架构
处理器核可用出于不同目的的不同方式在不同处理器中实现。例如,这样的核的思想可包括:1)旨在用于通用计算的通用有序核;2)旨在用于通用计算的高性能通用无序核;3)旨在主要用于图形和/或科学(吞吐量)计算的专用核。不同处理器的实现可包括:1)包括旨在用于通用计算的一个或多个通用有序核和/或旨在用于通用计算的一个或多个通用无序核的CPU;以及2)包括旨在主要用于图形和/或科学(吞吐量)计算的一个或多个专用核的协处理器。这样的不同处理器导致不同的计算机系统架构,其可包括:1)在与CPU分开的芯片上的协处理器;2)在与CPU相同的封装中但分开的管芯上的协处理器;3)与CPU在相同管芯上的协处理器(在该情况下,这样的协处理器有时被称为诸如集成图形和/或科学(吞吐量)逻辑等专用逻辑,或被称为专用核);以及4)可以将所描述的CPU(有时被称为应用核或应用处理器)、以上描述的协处理器和附加功能包括在同一管芯上的芯片上系统。接着描述示例性核架构,随后描述示例性处理器和计算机架构。
示例性核架构
有序和无序核框图
图10A是示出根据本发明的各实施例的示例性有序流水线和示例性的寄存器重命名的无序发布/执行流水线的框图。图10B是示出根据本发明的各实施例的要包括在处理器中的有序架构核的示例性实施例和示例性的寄存器重命名的无序发布/执行架构核的框图。图10A-B中的实线框示出了有序流水线和有序核,而可选增加的虚线框示出了寄存器重命名的、无序发布/执行流水线和核。给定有序方面是无序方面的子集的情况下,将描述无序方面。
在图10A中,处理器流水线1000包括取出级1002、长度解码级1004、解码级1006、分配级1008、重命名级1010、调度(也称为分派或发布)级1012、寄存器读取/存储器读取级1014、执行级1016、写回/存储器写入级1018、异常处理级1022和提交级1024。
图10B示出了包括耦合到执行引擎单元1050的前端单元1030的处理器核1090,且执行引擎单元和前端单元两者都耦合到存储器单元1070。核1090可以是精简指令集计算(RISC)核、复杂指令集计算(CISC)核、超长指令字(VLIW)核或混合或替代核类型。作为又一选项,核1090可以是专用核,诸如例如网络或通信核、压缩引擎、协处理器核、通用计算图形处理器单元(GPGPU)核、或图形核等等。
前端单元1030包括耦合到指令高速缓存单元1034的分支预测单元1032,该指令高速缓存单元1034耦合到指令转换后备缓冲器(TLB)1036,该指令转换后备缓冲器1036耦合到指令取出单元1038,指令取出单元1038耦合到解码单元1040。解码单元1040(或解码器)可解码指令,并生成从原始指令解码出的、或以其他方式反映原始指令的、或从原始指令导出的一个或多个微操作、微代码进入点、微指令、其他指令、或其他控制信号作为输出。解码单元1040可使用各种不同的机制来实现。合适的机制的示例包括但不限于查找表、硬件实现、可编程逻辑阵列(PLA)、微代码只读存储器(ROM)等。在一个实施例中,核1090包括(例如,在解码单元1040中或否则在前端单元1030内的)用于存储某些宏指令的微代码的微代码ROM或其他介质。解码单元1040耦合到执行引擎单元1050中的重命名/分配单元1052。
执行引擎单元1050包括重命名/分配器单元1052,该重命名/分配器单元1052耦合至引退单元1054和一个或多个调度器单元1056的集合。调度器单元1056表示任何数目的不同调度器,包括预留站、中央指令窗等。调度器单元1056耦合到物理寄存器组单元1058。每个物理寄存器组单元1058表示一个或多个物理寄存器组,其中不同的物理寄存器组存储一种或多种不同的数据类型,诸如标量整数、标量浮点、打包整数、打包浮点、向量整数、向量浮点、状态(例如,作为要执行的下一指令的地址的指令指针)等。在一个实施例中,物理寄存器组单元1058包括向量寄存器单元、写掩码寄存器单元和标量寄存器单元。这些寄存器单元可以提供架构向量寄存器、向量掩码寄存器、和通用寄存器。物理寄存器组单元1058与引退单元1054重叠以示出可以用来实现寄存器重命名和无序执行的各种方式(例如,使用重新排序缓冲器和引退寄存器组;使用将来的文件、历史缓冲器和引退寄存器组;使用寄存器映射和寄存器池等等)。引退单元1054和物理寄存器组单元1058耦合到执行群集1060。执行群集1060包括一个或多个执行单元1062的集合和一个或多个存储器访问单元1064的集合。执行单元1062可以对各种类型的数据(例如,标量浮点、打包整数、打包浮点、向量整型、向量浮点)执行各种操作(例如,移位、加法、减法、乘法)。尽管一些实施例可以包括专用于特定功能或功能集合的多个执行单元,但其他实施例可包括全部执行所有功能的仅一个执行单元或多个执行单元。调度器单元1056、物理寄存器组单元1058和执行群集1060被示为可能有多个,因为某些实施例为某些类型的数据/操作创建分开的流水线(例如,标量整型流水线、标量浮点/打包整型/打包浮点/向量整型/向量浮点流水线,和/或各自具有其自己的调度器单元、物理寄存器组单元和/或执行群集的存储器访问流水线——以及在分开的存储器访问流水线的情况下,实现其中仅该流水线的执行群集具有存储器访问单元1064的某些实施例)。还应当理解,在使用分开的流水线的情况下,这些流水线中的一个或多个可以为无序发布/执行,并且其余流水线可以为有序发布/执行。
存储器访问单元1064的集合耦合到存储器单元1070,该存储器单元1070包括耦合到数据高速缓存单元1074的数据TLB单元1072,其中数据高速缓存单元1074耦合到二级(L2)高速缓存单元1076。在一个示例性实施例中,存储器访问单元1064可以包括加载单元、存储地址单元和存储数据单元,这些单元中的每一个单元耦合到存储器单元1070中的数据TLB单元1072。指令高速缓存单元1034还耦合到存储器单元1070中的二级(L2)高速缓存单元1076。L2高速缓存单元1076耦合到一个或多个其他级的高速缓存,并最终耦合到主存储器。
作为示例,示例性寄存器重命名的、无序发布/执行核架构可以如下实现流水线1000:1)指令取出1038执行取出和长度解码级1002和1004;2)解码单元1040执行解码级1006;3)重命名/分配器单元1052执行分配级1008和重命名级1010;4)调度器单元1056执行调度级1012;5)物理寄存器组单元1058和存储器单元1070执行寄存器读取/存储器读取级1014;执行群集1060执行执行级1016;6)存储器单元1070和物理寄存器组单元1058执行写回/存储器写入级1018;7)各单元可牵涉到异常处理级1022;以及8)引退单元1054和物理寄存器组单元1058执行提交级1024。
核1090可支持一个或多个指令集(例如,x86指令集(具有与较新版本一起添加的一些扩展);加利福尼亚州桑尼维尔市的MIPS技术公司的MIPS指令集;加利福尼州桑尼维尔市的ARM控股的ARM指令集(具有诸如NEON等可选附加扩展)),其中包括本文中描述的各指令。在一个实施例中,核1090包括用于支持打包数据指令集扩展(例如,AVX1、AVX2)的逻辑,从而允许很多多媒体应用使用的操作能够使用打包数据来执行。
应当理解,核可支持多线程化(执行两个或更多个并行的操作或线程的集合),并且可以按各种方式来完成该多线程化,此各种方式包括时分多线程化、同步多线程化(其中单个物理核为物理核正在同步多线程化的各线程中的每一个线程提供逻辑核)、或其组合(例如,时分取出和解码以及此后诸如用超线程化技术来同步多线程化)。
尽管在无序执行的上下文中描述了寄存器重命名,但应当理解,可以在有序架构中使用寄存器重命名。尽管所示出的处理器的实施例还包括分开的指令和数据高速缓存单元1034/1074以及共享L2高速缓存单元1076,但替代实施例可以具有用于指令和数据两者的单个内部高速缓存,诸如例如一级(L1)内部高速缓存或多个级别的内部高速缓存。在一些实施例中,该系统可包括内部高速缓存和在核和/或处理器外部的外部高速缓存的组合。或者,所有高速缓存都可以在核和/或处理器的外部。
具体的示例性有序核架构
图11A-B示出了更具体的示例性有序核架构的框图,该核将是芯片中的若干逻辑块之一(包括相同类型和/或不同类型的其他核)。根据应用,这些逻辑块通过高带宽的互连网络(例如,环形网络)与一些固定的功能逻辑、存储器I/O接口和其它必要的I/O逻辑通信。
图11A是根据本发明的各实施例的单个处理器核以及它与管芯上互连网络1102的连接及其二级(L2)高速缓存1104的本地子集的框图。在一个实施例中,指令解码器1100支持具有打包数据指令集扩展的x86指令集。L1高速缓存1106允许对进入标量和向量单元中的高速缓存存储器的低等待时间访问。尽管在一个实施例中(为了简化设计),标量单元1108和向量单元1110使用分开的寄存器集合(分别为标量寄存器1112和向量寄存器1114),并且在这些寄存器之间转移的数据被写入到存储器并随后从一级(L1)高速缓存1106读回,但是本发明的替代实施例可以使用不同的方法(例如使用单个寄存器集合或包括允许数据在这两个寄存器组之间传输而无需被写入和读回的通信路径)。
L2高速缓存的本地子集1104是全局L2高速缓存的一部分,该全局L2高速缓存被划分成多个分开的本地子集,即每个处理器核一个本地子集。每个处理器核具有到其自己的L2高速缓存1104的本地子集的直接访问路径。被处理器核读出的数据被存储在其L2高速缓存子集1104中,并且可以与其他处理器核访问其自己的本地L2高速缓存子集并行地被快速访问。被处理器核写入的数据被存储在其自己的L2高速缓存子集1104中,并在必要的情况下从其它子集清除。环形网络确保共享数据的一致性。环形网络是双向的,以允许诸如处理器核、L2高速缓存和其它逻辑块之类的代理在芯片内彼此通信。每个环形数据路径为每个方向1012位宽。
图11B是根据本发明的各实施例的图11A中的处理器核的一部分的展开图。图11B包括L1高速缓存1104的L1数据高速缓存1106A部分,以及关于向量单元1110和向量寄存器1114的更多细节。具体地说,向量单元1110是16宽向量处理单元(VPU)(见16宽ALU 1128),该单元执行整型、单精度浮点以及双精度浮点指令中的一个或多个。该VPU通过混合单元1120支持对寄存器输入的混合、通过数值转换单元1122A-B支持数值转换、并通过复制单元1124支持对存储器输入的复制。写掩码寄存器1126允许断言所得的向量写入。
具有集成存储器控制器和图形器件的处理器
图12是根据本发明的各实施例可能具有一个以上核、可能具有集成存储器控制器、以及可能具有集成图形器件的处理器1200的框图。图12中的实线框示出具有单个核1202A、系统代理1210、一个或多个总线控制器单元1216的集合的处理器1200,而虚线框的可选附加示出具有多个核1202A-N、系统代理单元1210中的一个或多个集成存储器控制器单元1214的集合以及专用逻辑1208的替代处理器1200。
因此,处理器1200的不同实现可包括:1)CPU,其中专用逻辑1208是集成图形和/或科学(吞吐量)逻辑(其可包括一个或多个核),并且核1202A-N是一个或多个通用核(例如,通用的有序核、通用的无序核、这两者的组合);2)协处理器,其中核1202A-N是旨在主要用于图形和/或科学(吞吐量)的多个专用核;以及3)协处理器,其中核1202A-N是多个通用有序核。因此,处理器1200可以是通用处理器、协处理器或专用处理器,诸如例如网络或通信处理器、压缩引擎、图形处理器、GPGPU(通用图形处理单元)、高吞吐量的集成众核(MIC)协处理器(包括30个或更多核)、或嵌入式处理器等。该处理器可以被实现在一个或多个芯片上。处理器1200可以是一个或多个衬底的一部分,和/或可以使用诸如例如BiCMOS、CMOS或NMOS等的多个加工技术中的任何一个技术将处理器1200实现在一个或多个衬底上。
存储器层次结构包括在各核内的一个或多个级别的高速缓存、一个或多个共享高速缓存单元1206的集合、以及耦合至集成存储器控制器单元1214的集合的外部存储器(未示出)。该共享高速缓存单元1206的集合可以包括一个或多个中间级高速缓存,诸如二级(L2)、三级(L3)、四级(L4)或其他级别的高速缓存、末级高速缓存(LLC)、和/或其组合。尽管在一个实施例中,基于环的互连单元1212将集成图形逻辑1208、共享高速缓存单元1206的集合以及系统代理单元1210/集成存储器控制器单元1214互连,但替代实施例可使用任何数量的公知技术来将这些单元互连。在一个实施例中,可以维护一个或多个高速缓存单元1206和核1202A-N之间的一致性(coherency)。
在一些实施例中,核1202A-N中的一个或多个核能够多线程化。系统代理1210包括协调和操作核1202A-N的那些组件。系统代理单元1210可包括例如功率控制单元(PCU)和显示单元。PCU可以是或包括用于调整核1202A-N和集成图形逻辑1208的功率状态所需的逻辑和组件。显示单元用于驱动一个或多个外部连接的显示器。
核1202A-N在架构指令集方面可以是同构的或异构的;即,这些核1202A-N中的两个或更多个核可能能够执行相同的指令集,而其他核可能能够执行该指令集的仅仅子集或不同的指令集。
示例性计算机架构
图13-16是示例性计算机架构的框图。本领域已知的对膝上型设备、台式机、手持PC、个人数字助理、工程工作站、服务器、网络设备、网络集线器、交换机、嵌入式处理器、数字信号处理器(DSP)、图形设备、视频游戏设备、机顶盒、微控制器、蜂窝电话、便携式媒体播放器、手持设备以及各种其他电子设备的其他系统设计和配置也是合适的。一般地,能够包含本文中所公开的处理器和/或其它执行逻辑的多个系统和电子设备一般都是合适的。
现在参见图13,所示为根据本发明的一个实施例的系统1300的框图。系统1300可以包括一个或多个处理器1310、1315,这些处理器耦合到控制器中枢1320。在一个实施例中,控制器中枢1320包括图形存储器控制器中枢(GMCH)1390和输入/输出中枢(IOH)1350(其可以在分开的芯片上);GMCH 1390包括存储器和图形控制器,存储器1340和协处理器1345耦合到该存储器和图形控制器;IOH 1350将输入/输出(I/O)设备1360耦合到GMCH 1390。或者,存储器和图形控制器中的一个或两者可以被集成在处理器内(如本文中所描述的),存储器1340和协处理器1345直接耦合到处理器1310以及控制器中枢1320,控制器中枢1320与IOH 1350处于单个芯片中。
附加处理器1315的任选性质用虚线表示在图13中。每一处理器1310、1315可包括本文中描述的处理核中的一个或多个,并且可以是处理器1200的某一版本。
存储器1340可以是例如动态随机存取存储器(DRAM)、相变存储器(PCM)或这两者的组合。对于至少一个实施例,控制器中枢1320经由诸如前端总线(FSB)之类的多分支总线、诸如快速通道互连(QPI)之类的点对点接口、或者类似的连接1395与处理器1310、1315进行通信。
在一个实施例中,协处理器1345是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、或嵌入式处理器等等。在一个实施例中,控制器中枢1320可以包括集成图形加速器。
在物理资源1310、1315之间可以存在包括架构、微架构、热、和功耗特征等的一系列品质度量方面的各种差异。
在一个实施例中,处理器1310执行控制一般类型的数据处理操作的指令。协处理器指令可嵌入在这些指令中。处理器1310将这些协处理器指令识别为应当由附连的协处理器1345执行的类型。因此,处理器1310在协处理器总线或者其他互连上将这些协处理器指令(或者表示协处理器指令的控制信号)发布到协处理器1345。协处理器1345接受并执行所接收的协处理器指令。
现在参考图14,所示为根据本发明的一实施例的更具体的第一示例性系统1400的框图。如图14所示,多处理器系统1400是点对点互连系统,并包括经由点对点互连1450耦合的第一处理器1470和第二处理器1480。处理器1470和1480中的每一个都可以是处理器1200的某一版本。在本发明的一个实施例中,处理器1470和1480分别是处理器1310和1315,而协处理器1438是协处理器1345。在另一实施例中,处理器1470和1480分别是处理器1310和协处理器1345。
处理器1470和1480被示为分别包括集成存储器控制器(IMC)单元1472和1482。处理器1470还包括作为其总线控制器单元的一部分的点对点(P-P)接口1476和1478;类似地,第二处理器1480包括点对点接口1486和1488。处理器1470、1480可以使用点对点(P-P)电路1478、1488经由P-P接口1450来交换信息。如图14所示,IMC 1472和1482将各处理器耦合至相应的存储器,即存储器1432和存储器1434,这些存储器可以是本地附连至相应的处理器的主存储器的部分。
处理器1470、1480可各自经由使用点对点接口电路1476、1494、1486、1498的各个P-P接口1452、1454与芯片组1490交换信息。芯片组1490可以可选地经由高性能接口1439与协处理器1438交换信息。在一个实施例中,协处理器1438是专用处理器,诸如例如高吞吐量MIC处理器、网络或通信处理器、压缩引擎、图形处理器、GPGPU、或嵌入式处理器等等。
共享高速缓存(未示出)可以被包括在任一处理器之内,或被包括在两个处理器外部但仍经由P-P互连与这些处理器连接,从而如果将某处理器置于低功率模式时,可将任一处理器或两个处理器的本地高速缓存信息存储在该共享高速缓存中。
芯片组1490可经由接口1496耦合至第一总线1416。在一个实施例中,第一总线1416可以是外围组件互连(PCI)总线,或诸如PCI Express总线或其它第三代I/O互连总线之类的总线,但本发明的范围并不受此限制。
如图14所示,各种I/O设备1414可以连同总线桥1418耦合到第一总线1416,总线桥1418将第一总线1416耦合至第二总线1420。在一个实施例中,诸如协处理器、高吞吐量MIC处理器、GPGPU的处理器、加速器(诸如例如图形加速器或数字信号处理器(DSP)单元)、现场可编程门阵列或任何其他处理器的一个或多个附加处理器1415耦合到第一总线1416。在一个实施例中,第二总线1420可以是低引脚计数(LPC)总线。各种设备可以被耦合至第二总线1420,在一个实施例中这些设备包括例如键盘/鼠标1422、通信设备1427以及诸如可包括指令/代码和数据1430的盘驱动器或其它大容量存储设备的存储单元1428。此外,音频I/O 1424可以被耦合至第二总线1420。注意,其它架构是可能的。例如,代替图14的点对点架构,系统可以实现多分支总线或其它这类架构。
现在参考图15,所示为根据本发明的实施例的更具体的第二示例性系统1500的框图。图14和图15中的相同部件用相同附图标记表示,并从图15中省去了图14中的某些方面,以避免使图15的其它方面变得模糊。
图15示出处理器1470、1480可分别包括集成存储器和I/O控制逻辑(“CL”)1472和1482。因此,CL 1472、1482包括集成存储器控制器单元并包括I/O控制逻辑。图15不仅示出存储器1432、1434耦合至CL 1472、1482,而且还示出I/O设备1514也耦合至控制逻辑1472、1482。传统I/O设备1515被耦合至芯片组1490。
现在参考图16,所示为根据本发明的一实施例的SoC 1600的框图。在图12中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图16中,互连单元1602被耦合至:应用处理器1610,该应用处理器包括一个或多个核202A-N的集合以及共享高速缓存单元1206;系统代理单元1210;总线控制器单元1216;集成存储器控制器单元1214;一组或一个或多个协处理器1620,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1630;直接存储器存取(DMA)单元1632;以及用于耦合至一个或多个外部显示器的显示单元1640。在一个实施例中,协处理器1620包括专用处理器,诸如例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本文公开的机制的各实施例可以被实现在硬件、软件、固件或这些实现方法的组合中。本发明的实施例可实现为在可编程系统上执行的计算机程序或程序代码,该可编程系统包括至少一个处理器、存储系统(包括易失性和非易失性存储器和/或存储元件)、至少一个输入设备以及至少一个输出设备。
可将程序代码(诸如图14中示出的代码1430)应用于输入指令,以执行本文描述的各功能并生成输出信息。可以按已知方式将输出信息应用于一个或多个输出设备。为了本申请的目的,处理系统包括具有诸如例如数字信号处理器(DSP)、微控制器、专用集成电路(ASIC)或微处理器之类的处理器的任何系统。
程序代码可以用高级程序化语言或面向对象的编程语言来实现,以便与处理系统通信。在需要时,也可用汇编语言或机器语言来实现程序代码。事实上,本文中描述的机制不限于任何特定编程语言的范围。在任一情形下,该语言可以是编译语言或解释语言。
至少一个实施例的一个或多个方面可以由存储在机器可读介质上的表示性指令来实现,指令表示处理器中的各种逻辑,指令在被机器读取时使得该机器制作用于执行本文所述的技术的逻辑。被称为“IP核”的这些表示可以被存储在有形的机器可读介质上,并被提供给多个客户或生产设施以加载到实际制造该逻辑或处理器的制造机器中。
这样的机器可读存储介质可以包括但不限于通过机器或设备制造或形成的物品的非瞬态的有形安排,其包括存储介质,诸如:硬盘;任何其它类型的盘,包括软盘、光盘、紧致盘只读存储器(CD-ROM)、紧致盘可重写(CD-RW)以及磁光盘;半导体器件,例如只读存储器(ROM)、诸如动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)之类的随机存取存储器(RAM)、可擦除可编程只读存储器(EPROM)、闪存、电可擦除可编程只读存储器(EEPROM);相变存储器(PCM);磁卡或光卡;或适于存储电子指令的任何其它类型的介质。
因此,本发明的各实施例还包括非瞬态的有形机器可读介质,该介质包含指令或包含设计数据,诸如硬件描述语言(HDL),它定义本文中描述的结构、电路、装置、处理器和/或系统特征。这些实施例也被称为程序产品。
仿真(包括二进制变换、代码变形等)
在一些情况下,指令转换器可用来将指令从源指令集转换至目标指令集。例如,指令转换器可以变换(例如使用静态二进制变换、包括动态编译的动态二进制变换)、变形、仿真或以其它方式将指令转换成将由核来处理的一个或多个其它指令。指令转换器可以用软件、硬件、固件、或其组合实现。指令转换器可以在处理器上、在处理器外、或者部分在处理器上且部分在处理器外。
图17是根据本发明的各实施例的对照使用软件指令转换器将源指令集中的二进制指令转换成目标指令集中的二进制指令的框图。在所示的实施例中,指令转换器是软件指令转换器,但作为替代,该指令转换器可以用软件、固件、硬件或其各种组合来实现。图17示出可以使用x86编译器1704来编译利用高级语言1702的程序,以生成可以由具有至少一个x86指令集核的处理器1716原生执行的x86二进制代码1706。具有至少一个x86指令集核的处理器1716表示任何处理器,这些处理器能通过兼容地执行或以其他方式处理以下内容来执行与具有至少一个x86指令集核的英特尔处理器基本相同的功能:1)英特尔x86指令集核的指令集的本质部分,或2)目标为在具有至少一个x86指令集核的英特尔处理器上运行的应用或其它程序的目标代码版本,以便取得与具有至少一个x86指令集核的英特尔处理器基本相同的结果。x86编译器1704表示用于生成x86二进制代码1706(例如,目标代码)的编译器,该二进制代码1706可通过或不通过附加的链接处理在具有至少一个x86指令集核的处理器1716上执行。类似地,图17示出可以使用替代的指令集编译器1708来编译利用高级语言1702的程序,以生成可以由不具有至少一个x86指令集核的处理器1714(例如具有执行加利福尼亚州桑尼维尔市的MIPS技术公司的MIPS指令集、和/或执行加利福尼亚州桑尼维尔市的ARM控股公司的ARM指令集的核的处理器)原生执行的替代指令集二进制代码1710。指令转换器1712被用来将x86二进制代码1706转换成可以由不具有x86指令集核的处理器1714原生执行的代码。该转换后的代码不大可能与替代性指令集二进制代码1710相同,因为能够这样做的指令转换器难以制造;然而,转换后的代码将完成一般操作并由来自替代指令集的指令构成。因此,指令转换器1712通过仿真、模拟或任何其它过程来表示允许不具有x86指令集处理器或核的处理器或其它电子设备执行x86二进制代码1706的软件、固件、硬件或其组合。
在描述和权利要求书中,可以使用术语“耦合”和“连接”及它们的派生词。应理解,这些术语不旨在互为同义词。相反,在特定实施例中,“连接”可以用来指示两个或更多的元件或部件互相有直接的物理或电子接触。“耦合”可以意味着两个或更多的元件有直接的物理或电子接触。然而,术语“耦合的”还可以意味着两个或更多元件互相不直接接触,而仍互相协作或交互。
在以上描述中,为解释起见,阐明了众多具体细节以提供对本发明的各实施例的全面理解。然而对于本领域技术人员显而易见的是,没有这些具体细节也可实践各实施例。提供所描述的特定实施例不是为了限制本发明而是为了说明本发明。本发明的范围不是由以上提供的具体示例而只是由以下的权利声明书确定。在其他实例中,已经在框图形式中或者不含细节地示出了公知的电路、结构、设备和操作以避免妨碍对描述的理解。本领域技术人员还应理解,可以对本文所公开的各实施例进行修改,诸如例如,修改实施例的配置、功能、和操作方式。在认为合适的地方,已经在各图中重复了附图标记或附图标记的末部分以指示相对应的或相同的元件,这些元件可以可选地具有相似的特性。
已经描述了各种操作和方法。已经用流程图描述了一些方法的基本形式,但可以可选地将操作添加到该方法和/或从该方法移除。而且,尽管流程图示出了根据示例实施例的操作的特定次序,但应理解,次特定次序是示例性的。替换性实施例可以可选地以不同次序执行操作、组合某些操作、重叠某些操作等。
一个或多个实施例包括制品(例如计算机程序产品),该制品包括机器可访问的和/或机器可读的介质。介质可包括以可由机器访问和/或读取的形式提供(例如,存储或传输)信息的机制。机器可访问的和/或机器可读的机制可提供一个或多个或一序列指令和/或数据结构或有一个或多个或一序列指令和/或数据结构存储其上,所述指令和/或数据结构如果由机器执行时导致或引起机器执行和/或导致机器开始执行一个或多个本文所公开的图中示出的操作或方法或技术或本文所公开的图中示出的操作或方法或技术的一部分。
在一个实施例中,机器可读的介质可包括有形非瞬态机器可读存储介质。举例而言,有形非瞬态机器可读存储介质可包括软盘、光存储介质、光盘、CD-ROM、磁盘、磁光盘、只读存储器(ROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、随机存取存储器(RAM)、静态RAM(SRAM)、动态RAM(DRAM)、闪存、相变存储器、或其组合。有形介质可包括一种或多种固态或有形的物理材料,诸如例如,半导体材料、相变材料、磁性材料等。
适合的机器的示例包括但不限于:计算机系统、台式机、膝上型电脑、笔记本、上网本、上网台式机、移动因特网设备(MID)、网络设备、路由器、交换机、蜂窝电话、媒体播放器、和有一个或多个处理器或其他指令执行设备的其他电子设备。这样的电子设备通常包括一个或多个与一个或多个其他组件耦合的处理器,其他组件诸如一个或多个存储设备(非瞬态机器可读存储介质)、用户输入/输出设备(例如,键盘、触摸屏、和/或显示)、和/或网络连接。处理器和其他组件的耦合通常是通过一个或多个总线和桥(也称为总线控制器)。
也应该理解,观察本说明书对例如“一个实施例”、“实施例”、或“一个或多个实施例”的引用意味着特定的特征可包括在本发明的实践中。类似地应理解,出于将本公开连成一个整体并帮助理解各种发明性方面的目的,在描述中各种特征有时在单个实施例、图或其描述中组合在一起。然而此公开的方法将不被解释为反映本发明要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性方面可存在于比单个已公开实施例的所有特征少的特征中。从而,据此将随“具体实施方式”之或的权利要求明确地结合进“具体实施方式”中,其中每个权利要求独立地代表一个单独的本发明的实施例。
以下子句和/或示例涉及进一步的实施例。子句和/或示例中的规定可用在一个或多个实施例中任意处。
在一个实施例中,第一集成电路衬底包括多个暴露的电触头。第一集成电路衬底还包括生成不可通过暴露电触头访问的不可访问的PUF位的集合的不可访问的物理不可克隆功能(PUF)单元的集合。第一集成电路衬底还包括生成可通过暴露电触头访问的可访问的PUF位的集合的可访问的PUF单元的集合。
各实施例包括还以上第一集成电路衬底中的任何一个,该集成电路衬底还包括允许可访问的PUF位的集合可通过暴露电触头访问的逻辑的,且其中不存在允许不可访问的PUF位的集合通过暴露电触头可访问的逻辑。
各实施例包括以上第一集成电路衬底中的任何一个,其中不可访问的PUF位的集合将被提供给安全逻辑以在安全中使用且可访问的PUF位的集合将不被提供给安全逻辑以在安全中使用。
各实施例包括以上第一集成电路衬底中的任何一个,该集成电路衬底还包括:安全逻辑;将不可访问的PUF位的集合提供给安全逻辑的逻辑,且其中没有将可访问的PUF位的集合提供给安全逻辑的逻辑。
各实施例包括以上第一集成电路衬底中的任何一个,其中可访问的PUF单元的集合在比有不可访问的PUF单元的集合的区域更多启用调试的区域内。
各实施例包括以上第一集成电路衬底中的任何一个,其中暴露电触头包括垫、隆起、焊接头和引脚中的至少一个。
各实施例包括以上第一集成电路衬底中的任何一个,其中该集成电路衬底包括晶圆,其中不可访问的PUF单元的集合在管芯内,且其中可访问的PUF单元在将在划片期间被移除的晶圆的切除区域内。
各实施例包括第一集成电路衬底,其中集成电路衬底包括管芯,其中不可访问的和可访问的PUF单元的集合在管芯上互相接近。
各实施例包括第一集成电路衬底,其中集成电路衬底包括管芯,且其中不可访问的和可访问的PUF单元的集合在管芯上不互相接近。
在一个实施例中,第一方法包括将集成电路测试装备与集成电路衬底的多个暴露电触头电子地耦合。第一方法也包括由集成电路测试装备通过暴露电触头访问来自PUF单元的第二集合的PUF位的第二集合。集成电路衬底包括生成不可通过暴露电触头访问的PUF位的第一集合的PUF单元的第一集合。
各实施例包括以上第一方法,还包括:分析PUF位的第二集合以确定PUF单元的第二集合的特性;并基于所确定的特性推断PUF单元的第一集合的相对应特性。
各实施例包括以上第一方法,其中特性包括PUF位错误级别和PUF位熵级别中的至少一个。
各实施例包括以上第一方法中的任何一个,其中分析包括分析来自至少一百个不同的集成电路衬底的至少一百个PUF位的集合。
各实施例包括以上第一方法中的任何一个,其中访问包括访问来自在比有PUF单元的第一集合的区域更多启用调试的区域中的PUF单元的第二集合的PUF位的第二集合。
各实施例包括以上第一方法中的任何一个,还包括通过切片移除PUF单元的第一集合。
在一个实施例中,装置被配置为或可操作来执行以上第一方法中的任何一个。
在一个实施例中,第一系统包括互连和与互连耦合的哦理器。处理器包括多个暴露电触头。处理器也包括生成不可通过暴露电触头访问的不可访问的PUF位的集合的不可访问的PUF单元的集合。处理器也包括生成可通过暴露电触头访问的可访问的PUF位的集合的可访问的PUF单元的集合。系统也包括与互连耦合的动态随机存取存储器(DRAM)。系统也包括与互连耦合的网络接口。网络接口将加密的数据传输至网络,该加密的数据已经用基于不可访问的PUF位的集合的安全密钥进行加密。
各实施例包括第一系统,其中可访问的PUF单元的集合在比有不可访问的PUF单元的集合的区域更多启用调试的区域内。
各实施例包括两个以上第一系统中的任何一个,其中可访问的PUF位的集合将不被提供给安全逻辑。
在一个实施例中,第二集成电路衬底包括多个暴露的电触头。第二集成电路衬底也包括生成不可通过暴露电触头访问的不可访问的位的第一集合的位生成逻辑的第一集合。第二集成电路衬底也包括生成可通过暴露电触头访问的可访问的位的第二集合的位生成逻辑的第二集合。复制位生成逻辑的第一和第二集合是不切实际的,位的第一和第二集合将基本静态,且位的第一和第二集合将有至少部分地依赖于在集成电路的制造期间经历的工艺变异的值。
各实施例包括第二集成电路衬底,其中位生成逻辑的第二集合在比有位生成逻辑的第一集合的区域更多启用调试的区域内。
各实施例包括以上两个第二集成电路衬底中的任何一个,其中不可访问的PUF位的第一集合将被提供给安全逻辑且可访问的PUF位的第二集合将不被提供给安全逻辑。

Claims (21)

1.一种集成电路衬底,包括:
多个暴露电触头;
生成不可通过所述暴露电触头访问的不可访问的物理不可克隆功能(PUF)位的集合的不可访问的PUF单元的集合;以及
生成可通过所述暴露电触头访问的可访问的PUF位的集合的可访问的PUF单元的集合。
2.如权利要求1所述的集成电路衬底,其特征在于,还包括允许所述可访问的PUF位的集合可通过所述暴露电触头访问的逻辑,且其中不存在允许所述不可访问的PUF位的集合通过所述暴露电触头可访问的逻辑。
3.如权利要求1所述的集成电路衬底,其特征在于,所述不可访问的PUF位的集合被提供给安全逻辑以在安全中使用,且所述可访问的PUF位的集合不被提供给所述安全逻辑以在安全中使用。
4.如权利要求1所述的集成电路衬底,其特征在于,还包括:
安全逻辑;
将所述不可访问的PUF位的集合提供给所述安全逻辑的逻辑,以及
其中没有将所述可访问的PUF位的集合提供给所述安全逻辑的逻辑。
5.如权利要求1所述的集成电路衬底,其特征在于,所述可访问的PUF单元的集合在比具有所述不可访问的PUF单元的集合的区域更多启用调试的区域内。
6.如权利要求1所述的集成电路衬底,其特征在于,所述集成电路衬底包括晶圆,其中所述不可访问的PUF单元的集合在管芯内,且其中所述可访问的PUF单元的集合在将在划片期间被移除的所述晶圆的切除区域内。
7.如权利要求1所述的集成电路衬底,其特征在于,所述集成电路衬底包括管芯,其中所述不可访问的PUF单元的集合和可访问的PUF单元的集合在所述管芯上互相接近。
8.如权利要求1所述的集成电路衬底,其特征在于,所述集成电路衬底包括管芯,其中所述不可访问的PUF单元的集合和可访问的PUF单元的集合在所述管芯上不互相接近。
9.如权利要求1所述的集成电路衬底,其特征在于,所述暴露电触头包括垫、隆起、焊接头和引脚中的至少一个。
10.一种方法,所述方法包括:
将集成电路测试装备与集成电路衬底的多个暴露电触头电耦合;
由所述集成电路测试装备通过所述暴露电触头访问来自PUF单元的第二集合的PUF位的第二集合;
其中所述集成电路衬底包括生成不可通过所述暴露电触头访问的PUF位的第一集合的PUF单元的第一集合。
11.如权利要求10所述的方法,其特征在于,还包括:
分析所述PUF位的第二集合以确定所述PUF单元的第二集合的特性;以及
基于所述确定的特性推断所述PUF单元的第一集合的相对应特性。
12.如权利要求11所述的方法,其特征在于,所述特性包括PUF位错误级别和PUF位熵级别中的至少一个。
13.如权利要求11所述的方法,其特征在于,分析包括分析来自至少一百个不同的集成电路衬底的至少一百个PUF位的集合。
14.如权利要求10所述的方法,其特征在于,访问包括访问来自在比具有所述PUF单元的第一集合的区域更多启用调试的区域中的所述PUF单元的第二集合的所述PUF位的第二集合。
15.如权利要求10所述的方法,其特征在于,还包括通过切片移除所述PUF单元的第一集合。
16.一种系统,所述系统包括:
互连;
与所述互连耦合的处理器,所述处理器包括:
多个暴露电触头;
生成不可通过所述暴露电触头访问的不可访问的PUF位的集合的不可访问的PUF单元的集合;以及
生成可通过所述暴露电触头访问的可访问的PUF位的集合的可访问的PUF单元的集合;
与所述互连耦合的动态随机存取存储器(DRAM);
与所述互连耦合的网络接口,所述网络接口将加密的数据传输至网络,所述加密的数据已经用基于所述不可访问的PUF位的集合的安全密钥进行加密。
17.如权利要求16所述的系统,其特征在于,所述可访问的PUF单元的集合在比具有所述不可访问的PUF单元的集合的区域更多启用调试的区域内。
18.如权利要求16所述的系统,其特征在于,所述可访问的PUF位的集合不被提供给安全逻辑。
19.一种集成电路衬底,包括:
多个暴露电触头;
生成不可通过所述暴露电触头访问的不可访问的位的第一集合的位生成逻辑的第一集合;以及
生成可通过所述暴露电触头访问的可访问的位的第二集合的位生成逻辑的第二集合,
其中复制所述位生成逻辑的第一和第二集合是不切实际的,
其中所述位的第一和第二集合基本是静态的,以及
其中所述位的第一和第二集合将具有至少部分地取决于在所述集成电路的制造期间经历的工艺变异的值。
20.如权利要求19所述的集成电路衬底,其特征在于,所述位生成逻辑的第二集合在比具有所述位生成逻辑的第一集合的区域更多启用调试的区域内。
21.如权利要求19所述的集成电路衬底,其特征在于,所述不可访问的PUF位的第一集合将被提供给安全逻辑且所述可访问的PUF位的第二集合将不被提供给所述安全逻辑。
CN201380045418.8A 2012-09-28 2013-06-12 有可访问和不可访问的物理不可克隆功能的集成电路 Expired - Fee Related CN104584435B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/631,634 US8928347B2 (en) 2012-09-28 2012-09-28 Integrated circuits having accessible and inaccessible physically unclonable functions
US13/631,634 2012-09-28
PCT/US2013/045517 WO2014051741A2 (en) 2012-09-28 2013-06-12 Integrated circuits having accessible and inaccessible physically unclonable functions

Publications (2)

Publication Number Publication Date
CN104584435A true CN104584435A (zh) 2015-04-29
CN104584435B CN104584435B (zh) 2017-08-29

Family

ID=50384572

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380045418.8A Expired - Fee Related CN104584435B (zh) 2012-09-28 2013-06-12 有可访问和不可访问的物理不可克隆功能的集成电路

Country Status (4)

Country Link
US (1) US8928347B2 (zh)
CN (1) CN104584435B (zh)
GB (1) GB2520196A (zh)
WO (1) WO2014051741A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107276761A (zh) * 2016-04-08 2017-10-20 智能Ic卡公司 用于测试物理不可克隆功能的设备和方法
CN109558339A (zh) * 2017-09-12 2019-04-02 力旺电子股份有限公司 安全系统及安全系统的操作方法
TWI666547B (zh) * 2016-08-04 2019-07-21 旺宏電子股份有限公司 電子裝置、產品及製造積體電路方法及產生資料集的方法
CN110413201A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN113518978A (zh) * 2018-12-31 2021-10-19 美光科技公司 在存储器装置处的物理不可复制函数

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
ES2593302T3 (es) * 2011-03-31 2016-12-07 Ictk Co., Ltd. Aparato y método para generar un valor digital
WO2013101085A1 (en) 2011-12-29 2013-07-04 Intel Corporation Secure key storage using physically unclonable functions
US8928347B2 (en) 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US8938792B2 (en) 2012-12-28 2015-01-20 Intel Corporation Device authentication using a physically unclonable functions based key generation system
WO2014112999A1 (en) * 2013-01-16 2014-07-24 Intel Corporation Grouping of physically unclonable functions
US9015500B2 (en) * 2013-01-16 2015-04-21 Qualcomm Incorporated Method and apparatus for using dynamic voltage and frequency scaling with circuit-delay based integrated circuit identification
CN103198268B (zh) * 2013-03-18 2016-06-08 宁波大学 一种可重构多端口物理不可克隆函数电路
US9787480B2 (en) * 2013-08-23 2017-10-10 Qualcomm Incorporated Applying circuit delay-based physically unclonable functions (PUFs) for masking operation of memory-based PUFs to resist invasive and clone attacks
KR101593166B1 (ko) * 2014-06-02 2016-02-15 한국전자통신연구원 물리적 복제 방지 함수의 오류를 방지하는 장치 및 그 방법
MA40917A (fr) 2014-11-03 2017-09-12 Micali Silvio Prévention de la contrefaçon
KR102201642B1 (ko) * 2014-11-28 2021-01-13 삼성전자주식회사 Puf 회로 및 그것의 키 등록 방법
EP3329635B1 (en) * 2015-07-31 2021-07-07 Silvio Micali Counterfeit prevention
US20170077046A1 (en) * 2015-09-11 2017-03-16 The Regents Of The University Of California Physical unclonable functions through locally enhanced defectivity
WO2017087238A1 (en) * 2015-11-16 2017-05-26 Arizona Board Of Regents Acting For And On Behalf Of Northern Arizona University Multi-state unclonable functions and related systems
SE540649C2 (en) 2016-04-08 2018-10-09 Authentico Tech Ab Method and system for secure password storage
JP6393375B2 (ja) * 2016-07-15 2018-09-19 渡辺 浩志 電子装置のネットワーク、電子装置及びその検査工程
US11258599B2 (en) * 2016-08-04 2022-02-22 Macronix International Co., Ltd. Stable physically unclonable function
US10855477B2 (en) * 2016-08-04 2020-12-01 Macronix International Co., Ltd. Non-volatile memory with physical unclonable function and random number generator
US10680809B2 (en) * 2016-08-04 2020-06-09 Macronix International Co., Ltd. Physical unclonable function for security key
US10911229B2 (en) * 2016-08-04 2021-02-02 Macronix International Co., Ltd. Unchangeable physical unclonable function in non-volatile memory
JP2019530271A (ja) 2016-08-08 2019-10-17 ミカリ, シルヴィオMICALI, Silvio 偽造防止
US9806719B1 (en) 2016-09-29 2017-10-31 Intel Corporation Physically unclonable circuit having a programmable input for improved dark bit mask accuracy
US10318748B2 (en) * 2016-09-30 2019-06-11 Intel Corporation Techniques to protect fuses against non-destructive attacks
US11522725B2 (en) * 2017-03-29 2022-12-06 Board Of Regents, The University Of Texas System Reducing amount of helper data in silicon physical unclonable functions via lossy compression without production-time error characterization
US11741332B2 (en) 2017-04-27 2023-08-29 Silvio Micali Securing cryptographic keys
EP3407336B1 (en) * 2017-05-22 2022-08-17 Macronix International Co., Ltd. Unchangeable phyisical unclonable function in non-volatile memory
EP3407335B1 (en) * 2017-05-22 2023-07-26 Macronix International Co., Ltd. Non-volatile memory based physically unclonable function with random number generator
US10915464B2 (en) * 2017-09-12 2021-02-09 Ememory Technology Inc. Security system using random number bit string
US10841107B2 (en) * 2017-11-20 2020-11-17 Analog Devices, Inc. Efficient delay-based PUF implementation using optimal racing strategy
US10749694B2 (en) 2018-05-01 2020-08-18 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
US11044107B2 (en) 2018-05-01 2021-06-22 Analog Devices, Inc. Device authentication based on analog characteristics without error correction
EP3594926B1 (en) * 2018-07-11 2022-06-22 Secure-IC SAS Connected synthetic physically unclonable function
US11233662B2 (en) * 2018-12-26 2022-01-25 Arizona Board Of Regents On Behalf Of Northern Arizona University Keyless encrypting schemes using physical unclonable function devices
EP3690867A1 (en) * 2019-01-30 2020-08-05 Siemens Aktiengesellschaft Fingerprinting of semiconductor die arrangements
US11245680B2 (en) 2019-03-01 2022-02-08 Analog Devices, Inc. Garbled circuit for device authentication
TWI758697B (zh) * 2019-03-22 2022-03-21 旺宏電子股份有限公司 積體電路、記憶體電路以及用於操作積體電路的方法
CN110474895B (zh) * 2019-08-06 2022-07-29 武汉腾瑞金智电气有限公司 一种配电自动化全类型自适应调试托管系统
KR20210102740A (ko) 2020-02-12 2021-08-20 삼성전자주식회사 물리적 복제 방지 기능에 기초하여 키를 생성하는 보안 장치 및 이의 동작 방법
US11380379B2 (en) 2020-11-02 2022-07-05 Macronix International Co., Ltd. PUF applications in memories

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044514A (zh) * 2004-10-18 2007-09-26 皇家飞利浦电子股份有限公司 安全传感器芯片
CN101847296A (zh) * 2009-03-25 2010-09-29 索尼公司 集成电路、加密通信装置、系统和方法以及信息处理方法
US20110055649A1 (en) * 2009-08-25 2011-03-03 Farinaz Koushanfar Testing security of mapping functions
US20120126840A1 (en) * 2010-11-24 2012-05-24 Dong-Hyuk Lee Semiconductor Device with Cross-shaped Bumps and Test Pads Alignment
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2214117B1 (en) * 2007-09-19 2012-02-01 Verayo, Inc. Authentication with physical unclonable functions
US7761714B2 (en) * 2008-10-02 2010-07-20 Infineon Technologies Ag Integrated circuit and method for preventing an unauthorized access to a digital value
US8683210B2 (en) 2008-11-21 2014-03-25 Verayo, Inc. Non-networked RFID-PUF authentication
US8700916B2 (en) * 2011-12-02 2014-04-15 Cisco Technology, Inc. Utilizing physically unclonable functions to derive device specific keying material for protection of information
US20130147511A1 (en) 2011-12-07 2013-06-13 Patrick Koeberl Offline Device Authentication and Anti-Counterfeiting Using Physically Unclonable Functions
WO2013101085A1 (en) 2011-12-29 2013-07-04 Intel Corporation Secure key storage using physically unclonable functions
US8525549B1 (en) * 2012-02-23 2013-09-03 International Business Machines Corporation Physical unclonable function cell and array
US10079678B2 (en) 2012-07-24 2018-09-18 Intel Corporation Providing access to encrypted data
US8928347B2 (en) 2012-09-28 2015-01-06 Intel Corporation Integrated circuits having accessible and inaccessible physically unclonable functions
US8954735B2 (en) 2012-09-28 2015-02-10 Intel Corporation Device, method, and system for secure trust anchor provisioning and protection using tamper-resistant hardware
US9742563B2 (en) * 2012-09-28 2017-08-22 Intel Corporation Secure provisioning of secret keys during integrated circuit manufacturing

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101044514A (zh) * 2004-10-18 2007-09-26 皇家飞利浦电子股份有限公司 安全传感器芯片
CN101847296A (zh) * 2009-03-25 2010-09-29 索尼公司 集成电路、加密通信装置、系统和方法以及信息处理方法
US20110055649A1 (en) * 2009-08-25 2011-03-03 Farinaz Koushanfar Testing security of mapping functions
US20120126840A1 (en) * 2010-11-24 2012-05-24 Dong-Hyuk Lee Semiconductor Device with Cross-shaped Bumps and Test Pads Alignment
US20120137137A1 (en) * 2010-11-30 2012-05-31 Brickell Ernest F Method and apparatus for key provisioning of hardware devices

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107276761A (zh) * 2016-04-08 2017-10-20 智能Ic卡公司 用于测试物理不可克隆功能的设备和方法
CN107276761B (zh) * 2016-04-08 2020-09-22 智能Ic卡公司 用于测试物理不可克隆功能的设备和方法
TWI666547B (zh) * 2016-08-04 2019-07-21 旺宏電子股份有限公司 電子裝置、產品及製造積體電路方法及產生資料集的方法
CN109558339A (zh) * 2017-09-12 2019-04-02 力旺电子股份有限公司 安全系统及安全系统的操作方法
CN110413201A (zh) * 2018-04-28 2019-11-05 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN110413201B (zh) * 2018-04-28 2023-06-27 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN113518978A (zh) * 2018-12-31 2021-10-19 美光科技公司 在存储器装置处的物理不可复制函数
US11868513B2 (en) 2018-12-31 2024-01-09 Micron Technology, Inc. Physical unclonable function at a memory device
CN113518978B (zh) * 2018-12-31 2024-06-04 美光科技公司 用于将物理不可复制函数数据提供到主机装置的系统、方法和非暂时性计算机可读媒体

Also Published As

Publication number Publication date
CN104584435B (zh) 2017-08-29
US8928347B2 (en) 2015-01-06
WO2014051741A3 (en) 2014-09-12
GB201500820D0 (en) 2015-03-04
GB2520196A (en) 2015-05-13
WO2014051741A2 (en) 2014-04-03
US20140091832A1 (en) 2014-04-03

Similar Documents

Publication Publication Date Title
CN104584435A (zh) 有可访问和不可访问的物理不可克隆功能的集成电路
KR101726108B1 (ko) 집적 회로를 위한 보안 키 도출 및 암호화 로직
US9742563B2 (en) Secure provisioning of secret keys during integrated circuit manufacturing
US10671740B2 (en) Supporting configurable security levels for memory address ranges
TWI489376B (zh) 不確定性隨機位元產生器的方法與使用該方法的處理器與計算系統
US20200326945A1 (en) Fine grained control flow enforcement to mitigate malicious call/jump oriented programming
US9264048B2 (en) Secret operations using reconfigurable logics
KR20170033891A (ko) 보호 영역에서의 메모리 초기화
CN107683480A (zh) 用于支持对受保护容器的实时迁移的处理器、方法、系统和指令
CN104620254A (zh) 用于低开销的存储器重播保护的并行化的计数器攀树
CN104969199A (zh) 实施黑名单分页结构指示值的处理器、方法,以及系统
US10642947B2 (en) System, method and computer-accessible medium providing secure integrated circuit camouflaging for minterm protection
Rakshit et al. Assure: Authentication scheme for secure energy efficient non-volatile memories
US11544174B2 (en) Method and apparatus for protecting trace data of a remote debug session
Elmiligi et al. Multi-dimensional analysis of embedded systems security
EP4020285A1 (en) Simulation state to detect transient execution attack
Qian et al. Demystifying random number in ethereum smart contract: taxonomy, vulnerability identification, and attack detection
CN117546168A (zh) 用于瞬态侧信道安全的使用上下文信息的密码计算
Tehranipoor et al. Hardware Security Training, Hands-on!
Subramanyan Deriving abstractions to address hardware platform security challenges
Carelli Critical Infrastructures
Rakshit EFFICIENT SECURITY IN EMERGING MEMORIES
Zhou A Multi-layer Approach to Designing Secure Systems: From Circuit to Software
Ivanov et al. {SAGE}: Software-based Attestation for {GPU} Execution
Mahmod et al. SRAM Imprinting for System Protection and Differentiation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170829

Termination date: 20210612