本发明的实施例是有关于一种测试技术,且特别是有关于一种用于物理不可克隆功能产生器的测试方法。
背景技术:
物理不可克隆功能(physicallyunclonablefunction,puf)产生器是通常位于集成电路内的物理结构,所述物理结构响应于对物理不可克隆功能产生器的输入(例如,询问/请求)而提供数个对应输出(例如,响应)。可通过由物理不可克隆功能产生器提供的此种询问-响应对(challenge-responsepair)来确立集成电路的唯一身份。通过对身份的确立,可保证安全地进行通信。物理不可克隆功能产生器还可出于现有验证目的而用于替换当前的为电子装置指派身份的方法。由于物理不可克隆功能产生器是基于制造工艺的固有性质,因此物理不可克隆功能相对于传统的验证方法具有各种优点,传统的验证方法是将身份登记在可能较轻易地被模仿及/或被进行反向工程设计的装置上。
出于质量控制目的,需要在制造之后测试物理不可克隆功能产生器的功能,以确定合格的物理不可克隆功能产生器并根据合格的物理不可克隆功能产生器的可重复性及唯一性来对合格的物理不可克隆功能产生器进行分类。人们需要开发一种出于质量控制目的而以高速度及低成本来表征物理不可克隆功能产生器的方法,以识别有缺陷的物理不可克隆功能产生器、对合格的物理不可克隆功能产生器进行分类并提供对制造工艺的洞察。
技术实现要素:
本发明实施例提供一种用于物理不可克隆功能产生器的测试方法,其特征在于,包括:通过向物理不可克隆功能胞元阵列中的多个位胞元写入预配置的逻辑状态及从所述多个位胞元读取输出逻辑状态来检验物理不可克隆功能产生器的功能;确定所述物理不可克隆功能胞元阵列中的第一位胞元的第一数目,其中所述第一位胞元的所述输出逻辑状态不同于所述预配置的逻辑状态;如果所述第一位胞元的所述第一数目小于第一预定数目,则使用所述物理不可克隆功能产生器及屏蔽电路在第一组操作条件下产生第一图,其中所述第一图包含至少一个稳定位胞元及至少一个不稳定位胞元;使用所述物理不可克隆功能产生器及所述屏蔽电路在第二组操作条件下产生第二图,其中所述第二图包含至少一个稳定位胞元及至少一个不稳定位胞元;使用内建自测试引擎来确定第二位胞元的第二数目,其中所述第二位胞元在所述第一图中是稳定的且在所述第二图中是不稳定的;如果所述第二位胞元的所述第二数目被确定为零,则使用所述内建自测试引擎来确定第三位胞元的第三数目,其中所述第三位胞元在所述第一图中是稳定的且在所述第二图中是稳定的;以及如果所述第三位胞元的所述第三数目大于第二预配置的数目,则将所述物理不可克隆功能产生器确定为合格的物理不可克隆功能产生器。
附图说明
结合附图阅读以下详细说明,会最佳地理解本发明的各方面。应注意,各种特征未必是按比例绘制。事实上,为使说明清晰起见,可任意增大或减小各种特征的尺寸及几何形状。
图1说明根据本发明一些实施例的物理不可克隆功能产生器的示例性方框图;
图2说明根据本发明一些实施例包括多个位胞元的物理不可克隆功能胞元阵列的示例性电路图;
图3说明根据本发明一些实施例被实作为12晶体管(12-transistor,12-t)静态随机存取存储器(staticrandomaccessmemory,sram)位胞元的位胞元的示例性电路图;
图4说明根据本发明一些实施例用以向位胞元的内部节点注入噪声的示例性延迟电路;
图5说明根据本发明一些实施例由延迟电路向物理不可克隆功能胞元阵列的位胞元提供的信号的波形;
图6说明根据本发明一些实施例用以使用包括多个位胞元的物理不可克隆功能胞元阵列来产生屏蔽图的方法的流程图;
图7说明根据本发明一些实施例用以使用包括多个位胞元的物理不可克隆功能胞元阵列来产生黄金图(goldenmap)的方法的流程图;
图8说明根据本发明一些实施例用于物理不可克隆功能产生器表征的方法的流程图;
图9说明根据本发明一些实施例用以获得临界屏蔽图的示例性屏蔽图与黄金图比较过程图;
图10说明根据本发明一些实施例使用通过质量控制测试的合格的物理不可克隆功能产生器来产生物理不可克隆功能签名的方法的流程图;
图11说明根据本发明一些实施例用以将物理不可克隆功能签名从通过质量控制测试的合格的物理不可克隆功能产生器传递到服务器的方法的流程图;
附图标记说明:
100:物理不可克隆功能产生器;
102:物理不可克隆功能胞元阵列;
112:控制器;
120:存储寄存器;
122、906:比较电路;
124:屏蔽寄存器;
126:屏蔽电路/屏蔽;
128:移位寄存器;
130:内建自测试引擎;
132:锁箱;
134:第一端口;
136:第二端口/专用输入/输出端口;
201-1、201-2、201-3、201-4、201-5、201-6、201-7、201-8、201-9、300:位胞元;
202、202-1、202-2、202-3:位线;
203、203-1、203-2、203-3:反相位线;
204、204-1、204-2、204-3:电源电压;
205、205-1、205-2、205-3:参考/接地电压;
206、206-1、206-2、206-3:字线;
207、207-1、207-2、207-3:反相字线;
208、208-1、208-2、208-3:物理不可克隆功能输出;
209、209-1、209-2、209-3:物理不可克隆功能反相输出;
210、210-1、210-2、210-3:位预充电线;
310、311、312、313、314、315、382、383、384、385、386、387:晶体管;
320:交叉耦合式反相器/第一反相器;
330:交叉耦合式反相器/第二反相器;
350:存储节点/节点;
360:反相存储节点/节点;
370、380、390、391:节点;
388:第三反相器/反相器;
389:第四反相器/反相器;
400:延迟电路;
402:延迟元件;
406-1:4通道多路复用器/第一4通道多路复用器;
406-2:4通道多路复用器/第二4通道多路复用器;
406-3:4通道多路复用器/第三4通道多路复用器;
408-1、408-2、408-3:反相器树;
432-1、432-2、432-3、432-4、432-5、432-6、432-7、432-8、432-9:2通道多路复用器;
454-1、454-2、454-3、456-1、456-2、456-3、458-1、458-2、458-3:可调延迟级;
500:波形;
502:时间间隔;
600、700、800、1000、1100:方法;
602、604、606、608、610、612、614、702、704、706、708、710、712、714、802、804、806、808、810、812、814、1002、1004、1006、1102、1104、1106:操作;
900:比较过程图;
902:屏蔽图;
904:黄金图;
908:临界屏蔽图;
a、b、c:列;
a、b、c:行;
m1、m2、m3、m4、m5、m6、m7、m8、m9、m10、m11、m12:晶体管;
d:漏极端子;
g:栅极端子;
s:源极端子;
i0、i1、i2、i3、start:输入;
sma[0]、sma[1]、smb[0]、smb[1]、start_1a、start_1b、start_2、sta[0]、sta[1]、sta[2]、stb[0]、stb[1]、stb[2]、vddv、q、q#:信号;
e、f:数据选择线;
t1、t2、t3、t4、t5:时间。
具体实施方式
以下公开内容阐述用于实作主题的不同特征的各种示例性实施例。以下阐述组件及构造的具体实例以简化本发明。当然,这些仅为实例且不旨在进行限制。例如,应理解,当将元件称为“连接到”或“耦合到”另一元件时,所述元件可直接连接到或直接耦合到所述另一元件,或者可存在一个或多个中间元件。
应理解,即使物理不可克隆功能胞元阵列中位胞元中的每一者且甚至同一位胞元内的装置中的每一者是使用相同工艺而制造,一个或多个制造可变性仍可使静态随机存取存储器装置的每一位胞元成为唯一的,且位胞元的唯一性中的一者在位胞元被存取时固有地倾向于处于高状态(即,逻辑“1”)或处于低状态(即,逻辑“0”)。换句话说,每一位胞元可具有呈现逻辑“1”或逻辑“0”的固有倾向,且此外,一些位胞元可具有强固有倾向,而一些位胞元可具有弱固有倾向。每一位胞元的固有倾向可为不同的,这是由因根本上不均一的制造工艺所致的参数变化引起。此种固有倾向可用于判断此位胞元是否适于(即,是否具有产生逻辑状态“1”或“0”的强倾向)提供可靠的物理不可克隆功能签名(pufsignature)。当位胞元具有强固有倾向时,所述位胞元在基于存储器的物理不可克隆功能产生器被存取时可在较长时间内保持处于其“优选的”逻辑状态或者可非常快速地及/或以统计上较高的频率转变成其“优选的”逻辑状态。在一些实施例中,此位胞元可被称为“稳定位胞元”。当位胞元具有弱固有倾向时,所述位胞元不具有“优选的”逻辑状态。也就是说,当基于存储器的物理不可克隆功能产生器被存取时,具有弱固有倾向的位胞元有时可呈现(例如,保持处于或转变成)高状态,且有时呈现(例如,保持处于或转变成)低状态,而无统计优选性。在一些实施例中,此种位胞元可被称为“不稳定位胞元”。理想的物理不可克隆功能产生器不包括不稳定位胞元。此外,每当物理不可克隆功能产生器被询问,其应给出可重复的响应。也就是说,用于阐述物理不可克隆功能产生器可重复性的响应内汉明距离(hummingdistance,hd)应尽可能接近于0。为0的响应内汉明距离表明物理不可克隆功能产生器是完全可重复的。同时,各物理不可克隆功能产生器及其响应应尽可能不同。因此,用于阐述物理不可克隆功能产生器唯一性的响应间汉明距离应尽可能接近于50%。如果所有响应间汉明距离是50%,则每一物理不可克隆功能产生器是唯一的。本发明呈现用于物理不可克隆功能产生器的质量控制测试方法及设备的各种实施例。
图1说明根据本发明一些实施例的物理不可克隆功能产生器100的示例性方框图。应注意,物理不可克隆功能产生器100仅为实例,且不旨在限制本发明。因此,应理解,额外功能块可设置在图1所示物理不可克隆功能产生器100中或耦合到图1所示物理不可克隆功能产生器100,且本文中可仅简要阐述一些其他功能块。
在图1所说明的实施例中,物理不可克隆功能产生器100包括物理不可克隆功能胞元阵列102,在物理不可克隆功能胞元阵列102中包括多个位胞元。所述多个位胞元排列成列-行配置,其中每一列具有位线(bitline,bl)及反相位线(bitlinebar,blb),每一行具有字线(wordline,wl)及反相字线(wordlinebar,wlb)。更具体来说,每一列的位线及反相位线分别耦合到设置在所述列中的多个位胞元,且所述列中的每一存储器胞元排列在不同的行上并耦合到相应(不同)的字线及相应(不同)的反相字线。也就是说,物理不可克隆功能胞元阵列102的每一位胞元耦合到物理不可克隆功能胞元阵列102的列的位线、物理不可克隆功能胞元阵列102的列的反相位线、物理不可克隆功能胞元阵列102的行的字线及物理不可克隆功能胞元阵列102的行的反相字线。在一些实施例中,位线及反相位线是垂直地平行排列,且字线及反相字线是水平地平行排列(即,垂直于位线及反相位线)。在一些实施例中,物理不可克隆功能胞元阵列102中每一行位胞元的字线及反相字线被连接在一起。在一些实施例中,如在图2及图4中更详细所述,对于每一行位胞元,物理不可克隆功能胞元阵列102可进一步包括位预充电线(bitpre-chargeline,bpc)、物理不可克隆功能输出及物理不可克隆功能反相输出。以下将参照图2更详细地提供物理不可克隆功能胞元阵列102的所说明实施例。
在一个所说明实施例中,物理不可克隆功能胞元阵列102的位胞元中的每一者包括14晶体管(14-transistor,14t)静态随机存取存储器(sram)位胞元,以下将在图3中更详细地对此进行论述。在一些其他实施例中,根据本发明的一些实施例,物理不可克隆功能胞元阵列102的位胞元可被实作为多种类型的存储器胞元中的任一者,例如2晶体管-2电阻器静态随机存取存储器(2t-2rsram)位胞元、4晶体管静态随机存取存储器(4t-sram)位胞元、8晶体管静态随机存取存储器(8t-sram)位胞元、基于泄漏的动态随机存取存储器(dynamicrandomaccessmemory,dram)位胞元等。
在图1所示的所说明实施例中,物理不可克隆功能产生器100进一步包括存储寄存器120、比较电路122、屏蔽寄存器124、屏蔽电路126及移位寄存器128。在一些实施例中,比较电路122是异或门(xorgate)(禁止门),当所有输入相等时,比较电路122仅输出逻辑0。如上所述,在一些实施例中,控制器112耦合到物理不可克隆功能胞元阵列102、存储寄存器120、屏蔽寄存器124及移位寄存器128,控制器112被配置成控制所耦合的组件。在所说明实施例中,物理不可克隆功能胞元阵列102直接耦合到存储寄存器120、比较电路122及屏蔽电路126。在一些实施例中,比较电路耦合到屏蔽寄存器124,屏蔽寄存器124进一步耦合到屏蔽电路126及移位寄存器128。在一些实施例中,移位寄存器128包括级联的触发器。在一些实施例中,移位寄存器128包括至少与物理不可克隆功能胞元相同数目的胞元。移位寄存器128用于仅基于在产生签名时具有强偏置的物理不可克隆功能胞元而选择产生物理不可克隆功能签名位所使用的物理不可克隆功能胞元。在一些实施例中,移位寄存器128选择未在屏蔽图(屏蔽阵列)中标记的位。在一些实施例中,移位寄存器128通过仅移出物理不可克隆功能签名所需的前n个位来执行过滤。在一些实施例中,移位寄存器128可通过查看最后n个具有强偏置的位来过滤这些位,其中n是签名所需的位的数目。在一些实施例中,因老化(aging),我们可标记任何数目的位,只要存在足够的可继续发挥作用的物理不可克隆功能位即可。
控制器112被配置成接收请求/询问(例如,要将所耦合的物理不可克隆功能胞元阵列102通电的请求、要对物理不可克隆功能胞元阵列102的物理不可克隆功能签名进行存取的请求等)。在一些实施例中,控制器112还被配置成接收测试模式输入/正常模式输入(例如,在不同的操作模式之间切换)。在一些实施例中,控制器112被配置成响应于请求而将基于物理不可克隆功能胞元阵列102的位胞元的逻辑状态的响应(例如,物理不可克隆功能输出)传送到屏蔽126或存储寄存器120。控制器112被配置成控制(例如,增大或减小)在位胞元中的每一者处施加的电源电压的电压电平,控制(例如,增大或减小)在字线及反相字线中的每一者处施加的电压电平。在一些实施例中,控制器112可使能通往至少一个所选列及至少一个所选行的电压电源。此外,控制器112可在评估模式与正常操作模式之间切换。控制器112还可引入噪声。在一些实施例中,控制器112可控制对位胞元的逻辑状态的周期性读取。这些会在以下参照图4更详细地加以说明。在一些替代实施例中,控制器112可被实作为未嵌入物理不可克隆功能胞元阵列102中的单独的块。在一些实施例中,控制器112可嵌入物理不可克隆功能胞元阵列102中。在一些实施例中,时序控制电路(图中未示出)在读取与写入过程期间提供对脉冲信号的控制及同步。
控制器112进一步包括噪声注入器(图中未示出)。在一些实施例中,噪声注入器由控制器112控制,以将噪声直接引入到物理不可克隆功能胞元阵列102的所述多个位胞元中以形成“应力(stressed)”操作条件。在一些实施例中,此类“应力”操作条件用于加快对不提供恒定逻辑状态的不稳定位胞元的识别,以形成屏蔽阵列。
在一些实施例中,控制器112是代表性装置,且可包括处理器、存储器、输入/输出接口、通信接口及系统总线。处理器可包括操作以对物理不可克隆功能产生器100的控制器112的操作及性能进行控制的任何处理电路系统。在各种方面中,处理器可被实作为通用处理器、芯片多处理器(chipmultiprocessor,cmp)、专用处理器、嵌入式处理器、数字信号处理器(digitalsignalprocessor,dsp)、网络处理器、输入/输出(input/output,i/o)处理器、媒体存取控制(mediaaccesscontrol,mac)处理器、无线电基带处理器、协处理器、微处理器(例如复杂指令集计算机(complexinstructionsetcomputer,cisc)微处理器、精简指令集计算(reducedinstructionsetcomputing,risc)微处理器及/或超长指令字(verylonginstructionword,vliw)微处理器)或其他处理装置。处理器还可由控制器、微控制器、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)、可编程逻辑装置(programmablelogicdevice,pld)等实作。
在各种方面中,处理器可被安排成运行操作系统(operatingsystem,os)及各种应用。操作系统的实例例如包括通常以苹果操作系统(appleos)、微软(microsoft)windows操作系统、安卓(android)操作系统等商标名所知的操作系统、及任何其他专有操作系统或开放源操作系统。
在一些实施例中,提供上面实施有计算机可执行指令的至少一个非暂时性计算机可读存储媒体,其中当由至少一个处理器执行时,所述计算机可执行指令使所述至少一个处理器执行本文所述方法的实施例。此种计算机可读存储媒体可以存储器来实施。
在一些实施例中,存储器可包括能够存储数据的任何机器可读媒体或计算机可读媒体,包括易失性/非易失性存储器及可装卸/不可装卸存储器。存储器可包括至少一个非易失性存储器单元。非易失性存储器单元能够存储一个或多个软件程序。软件程序可例如含有应用、用户数据、装置数据及/或配置数据、或其组合,此处仅举几例。软件程序可含有可由系统的控制器的各种组件执行的指令。
举例来说,存储器可包括只读存储器(read-onlymemory,rom)、随机存取存储器(random-accessmemory,ram)、动态随机存取存储器(dynamicram,dram)、双倍数据速率动态随机存取存储器(double-data-ratedram,ddr-ram)、同步动态随机存取存储器(synchronousdram,sdram)、静态随机存取存储器(staticram,sram)、可编程只读存储器(programmablerom,prom)、可擦编程只读存储器(erasableprogrammablerom,eprom)、电可擦编程只读存储器(electricallyerasableprogrammablerom,eeprom)、快闪存储器(例如,或非(nor)快闪存储器或与非(nand)快闪存储器)、按内容寻址存储器(contentaddressablememory,cam)、聚合物存储器(例如,铁电聚合物存储器)、相变存储器(例如,双向存储器)、铁电存储器、硅-氧化物-氮化物-氧化物-硅(silicon-oxide-nitride-oxide-silicon,sonos)存储器、盘片存储器(例如,软盘、硬盘驱动器、光盘、磁盘)、或卡(例如,磁卡、光卡)、或适用于存储信息的任何其他类型的媒体。
在一个实施例中,存储器可含有呈文件形式的指令集,用于执行如本文所述产生一个或多个时序库的方法。指令集可以任何可接受形式的机器可读指令来存储,包括源代码或各种适当的程序设计语言。可用于存储指令集的程序设计语言的一些实例包括但不限于:java、c、c++、c#、python、objective-c、visualbasic、或.net程序设计。在一些实施例中,包括编译器或解译器,以将指令集转换成用于由处理器执行的机器可执行代码。
在一些实施例中,输入/输出接口可包括任何适用于至少使用户能够将输入(即,测试/请求及/或测试模式/正常模式等)提供到物理不可克隆功能产生器100的控制器112并使控制器112能够将输出控制提供到物理不可克隆功能产生器100的其他组件(例如,物理不可克隆功能胞元阵列102、移位寄存器128、存储寄存器120等)的机构或组件。
在一些实施例中,物理不可克隆功能产生器100进一步包括内建自测试(built-inselftest,bist)引擎130及锁箱132。内建自测试引擎130使得物理不可克隆功能产生器100能够在制造之后为进行质量控制而以具成本效益的方式且以低复杂度测试其功能。在一些实施例中,内建自测试引擎130被自动化成通过控制器112接收测试指令。在一些实施例中,内建自测试引擎130还耦合到控制器112、移位寄存器128及屏蔽寄存器124以提供基于测试结果的反馈,例如临界位胞元的数目及稳定位胞元的数目等,以下会在图7中更详细地对此进行论述。在一些实施例中,可通过第一端口134传送物理不可克隆功能输出以供内部使用。在某些实施例中,物理不可克隆功能输出可在锁箱132中通过公钥来加密并通过第二端口136被传送到服务器以供外部使用。
在测试期间,从物理不可克隆功能胞元阵列102的所述多个位胞元产生初始物理不可克隆功能输出,所述初始物理不可克隆功能输出首先存储在存储寄存器120中。在一些实施例中,存储寄存器120可以任何类型的芯片上存储器设计(包括芯片上静态随机存取存储器)来实作。在一些实施例中,存储寄存器120包括芯片上存储器阵列,所述芯片上存储器阵列含有与物理不可克隆功能产生器100的物理不可克隆功能胞元阵列102中位胞元的数目相同的数目的位。举例来说,如果物理不可克隆功能胞元阵列包括200个位胞元,则存储寄存器包含200个位。在评估过程期间,通过注入噪声以形成“应力”操作条件或通过在物理不可克隆功能胞元阵列102中的所述多个位胞元上改变操作条件(即,温度及操作电压)而从物理不可克隆功能胞元阵列102的位胞元产生第二物理不可克隆功能输出。接着,在比较电路122(即,异或门)中将第二物理不可克隆功能输出与初始物理不可克隆功能输出进行比较。接着,识别在评估过程期间在两个物理不可克隆功能输出中具有不同逻辑状态的不稳定位胞元,并将所述不稳定位胞元的地址存储在屏蔽寄存器124中。此种评估过程重复进行,以在多次迭代期间在相同或不同的应力操作条件(例如,噪声、温度、电压等)下获取多个物理不可克隆功能输出。可在内建自测试引擎130中获得并比较屏蔽图与黄金图,所述屏蔽图包括由通过将噪声引入到物理不可克隆功能胞元阵列102中的所述多个位胞元而识别的稳定位胞元及不稳定位胞元形成的图,所述黄金图包括由通过为物理不可克隆功能胞元阵列102中的所述多个位胞元改变操作条件而识别的稳定位胞元及不稳定位胞元形成的图。接着,舍弃有故障的物理不可克隆功能产生器,且接着,使用通过测试的物理不可克隆功能产生器来产生物理不可克隆功能签名。
在使用通过上述测试的装置产生物理不可克隆功能签名的正常操作期间,控制器112从测试模式切换成正常操作模式。在一些实施例中,屏蔽寄存器124接着直接耦合到屏蔽126及移位寄存器128,这会从直接来自物理不可克隆功能胞元阵列102的物理不可克隆功能输出选择未由屏蔽寄存器124标记的稳定位胞元及其逻辑状态来作为物理不可克隆功能签名。在一些实施例中,物理不可克隆功能签名可通过第一端口134被传送以供内部使用,或者可在锁箱132中被加密之后通过第二端口136被传送以供外部使用。在一些实施例中,物理不可克隆功能签名包含n位响应,且初始物理不可克隆功能签名包含m位响应,其中n≤m,n及m是正整数。举例来说,再次参照图1,在物理不可克隆功能胞元阵列中存在200个位胞元,且在测试期间识别的128个位胞元是稳定的并用作物理不可克隆功能签名。
图2说明根据本发明一些实施例包括多个位胞元的物理不可克隆功能胞元阵列102的示例性电路图。在一些实施例中,物理不可克隆功能胞元阵列102包括多个位胞元201-1、201-2、201-3、201-4、201-5、201-6、201-7、201-8、一直到201-9。虽然图中仅示出9个位胞元,然而在保持处于本发明的范围内的同时,在物理不可克隆功能胞元阵列102中可包括任何所需数目的位胞元。如上所述,位胞元201-1、201-2、201-3、201-4、201-5、201-6、201-7、201-8及201-9排列成列-行配置。更具体来说,在一些实施例中,物理不可克隆功能胞元阵列102包括平行排列的位线(bl)202-1、202-2及202-3、也平行排列的反相位线(blb)203-1、203-2及203-3、字线(wl)206-1、206-2及206-3、以及反相字线(wlb)207-1、207-2及207-3。字线及反相字线是正交于位线及反相位线而平行排列。在一些实施例中,字线206耦合到对应的反相字线207。在一些实施例中,物理不可克隆功能胞元阵列102还包括正电源电压(位电压)204-1、204-2及204-3、以及参考/接地电压(零电压)205-1、205-2及205-3。因此,物理不可克隆功能胞元阵列102可包括第一多个列(例如,垂直排列)、第二多个行(例如,水平排列),其中每一列包括相应的一对位线202、反相位线203、电源电压204、参考/接地电压205,且每一行包括相应的字线206及相应的反相字线207。在所说明实施例中,物理不可克隆功能胞元阵列102还可包括通过相应的反相器直接耦合到位胞元中的存储节点的物理不可克隆功能输出208-1、208-2及208-3、以及物理不可克隆功能反相输出209-1、209-2及209-3。此外,物理不可克隆功能胞元阵列102还可包括位预充电线(bpc)210-1、210-2及210-3,以用于使能或停用通往位胞元的交叉耦合式反相器的电源电压204,会在图4中详细地论述所述交叉耦合式反相器。
举例来说,如在图2所说明的实施例中所示,物理不可克隆功能胞元阵列102包括列“a”、“b”及“c”、以及行“a”、“b”及“c”,其中列a包括相应的位线202-1、反相位线203-1、电源电压204-1及参考/接地电压205-1;列b包括相应的位线202-2、反相位线203-2、电源电压204-2及参考/接地电压205-2;列c包括相应的位线202-3、反相位线203-3、电源电压204-3及参考/接地电压205-3;行a包括相应的字线206-1、反相字线207-1、位预充电线210-1、物理不可克隆功能输出208-1、物理不可克隆功能反相输出209-1;行b包括相应的字线206-2、反相字线207-2、位预充电线210-2、物理不可克隆功能输出208-2、物理不可克隆功能反相输出209-2;且行c包括相应的字线206-3、反相字线207-3、位预充电线210-3、物理不可克隆功能输出208-3、物理不可克隆功能反相输出209-3。
此外,每一列包括各自与所述列的相应的位线及反相位线、不同的单独字线、不同的单独反相字线、不同的单独位预充电线、不同的单独物理不可克隆功能输出及不同的单独物理不可克隆功能反相输出耦合的一个或多个位胞元。举例来说,列a包括位胞元201-1、201-4及201-7,其中位胞元201-1、201-4及201-7各自分别耦合到位线202-1、反相位线203-1、电源电压204-1、参考/接地电压205-1、字线206-1、206-2及206-3、反相字线207-1、207-2及207-3、位预充电线210-1、210-2及210-3、物理不可克隆功能输出208-1、208-2及208-3、以及物理不可克隆功能反相输出209-1、209-2及209-3;列b包括位胞元201-2、201-5及201-8,其中位胞元201-2、201-5及201-8各自分别耦合到位线202-2、反相位线203-2、电源电压204-2、参考/接地电压205-2、字线206-1、206-2及206-3、反相字线207-1、207-2及207-3、位预充电线210-1、210-2及210-3、物理不可克隆功能输出208-1、208-2及208-3、以及物理不可克隆功能反相输出209-1、209-2及209-3;且列c包括位胞元201-3、201-6及201-9,其中位胞元201-3、201-6及201-9各自分别耦合到位线202-3、反相位线203-3、电源电压204-3、参考/接地电压205-3、字线206-1、206-2及206-3、反相字线207-1、207-2及207-3、位预充电线210-1、210-2及210-3、物理不可克隆功能输出208-1、208-2及208-3、以及物理不可克隆功能反相输出209-1、209-2及209-3。
如上所述,物理不可克隆功能胞元阵列102的每一位胞元(例如,201-1、201-2、201-3、201-4、201-5、201-6、201-7、201-8、201-9等)可包括多个晶体管(例如,对于6晶体管静态随机存取存储器位胞元为六个金属氧化物半导体场效晶体管(metaloxidesemiconductorfieldeffecttransistor,mosfet)、对于8晶体管静态随机存取存储器位胞元为八个金属氧化物半导体场效晶体管、对于3晶体管静态随机存取存储器位胞元为三个金属氧化物半导体场效晶体管,对于12晶体管静态随机存取存储器位胞元为十二个金属氧化物半导体场效晶体管、对于3晶体管动态随机存取存储器位胞元为三个金属氧化物半导体场效晶体管,等等)。在一些实施例中,存储在每一位胞元中的逻辑状态可通过经由对应的位线、反相位线、字线及反相字线施加高状态(即,逻辑“1”)或低状态(即,逻辑“0”)而被写入到所述位胞元。在一些实施例中,可在从因位胞元中的固有差异(例如,基于静态随机存取存储器的位胞元中的背对背耦合式反相器之间的固有强度差异、或基于动态随机存取存储器的位胞元中的电流泄漏率的固有差异等)所致的亚稳逻辑状态稳定之后实现位胞元的稳定逻辑状态。还应注意,图2仅为用于说明目的的实例,且不旨在进行限制。在本发明中,视电路布局设计及在阵列中所使用的位胞元的类型而定,物理不可克隆功能胞元阵列102中所述类型的信号线可以不同方式来排列。举例来说,物理不可克隆功能输出208及物理不可克隆功能反相输出209可平行于位线202及反相位线203而排列。对于另一实例,在包括多个2晶体管动态随机存取存储器位胞元的物理不可克隆功能胞元阵列102中,可不需要反相字线207、位预充电线210或物理不可克隆功能反相输出209。
图3说明根据本发明一些实施例被实作为12晶体管静态随机存取存储器位胞元的位胞元300的示例性电路图。位胞元300包括12个晶体管:m1310、m2311、m3312、m4313、m5314、m6315、m7382、m8383、m9384、m10385、m11386及m12387。在一些实施例中,晶体管m7382及m8383是使能晶体管;晶体管m1310及m6315是存取晶体管。
在一些实施例中,晶体管m2311及m3312被形成为左侧上的第一反相器320,且晶体管m4313及m5314被形成为右侧上的第二反相器330,其中第一反相器320及第二反相器330彼此交叉耦合。更具体来说,晶体管m2311的源极端子在存储节点(storagenode,sn)350处与晶体管m3312的漏极端子耦合。类似地,晶体管m4313的源极端子在反相存储节点(storagenodebar,snb)360处与晶体管m5314的漏极端子耦合。晶体管m2311及m3312的栅极端子在节点370处耦合在一起,而晶体管m4313及m5314的栅极端子在节点380处耦合在一起。晶体管m2311及m4313的漏极端子分别在节点390及391处耦合到使能晶体管m7382及m8383的源极端子。在一些实施例中,节点390/391耦合在一起。在一些实施例中,在经耦合节点390/391与电源电压204之间仅存在一个使能晶体管。使能晶体管m7382及m8383的漏极端子耦合到电源电压204。晶体管m3312及m5314的源极端子耦合到参考/接地电压205。晶体管m7382及m8383的栅极端子耦合在一起且进一步电连接到位预充电线(bpc)210。
此外,第一反相器320的节点370耦合到反相存储节点360,且第二反相器330的节点380耦合到存储节点350。晶体管m1310及m6315通常被称为位胞元300的存取晶体管。第一反相器320在存储节点350处耦合到晶体管m1310的漏极端子,且第二反相器330在反相存储节点360处耦合到晶体管m6315的漏极端子。除耦合到交叉耦合式反相器320/330以外,晶体管m1310及m6315还分别耦合到位线202/字线206及反相位线203/反相字线207。具体来说,存取晶体管m1310及m6315的栅极端子分别耦合到字线206及反相字线207;且存取晶体管m1310及m6315的源极端子分别耦合到位线202及反相位线203。在所说明实施例中,位线202及反相位线203一起耦合到地。在一些实施例中,字线206及反相字线207可耦合在一起。
此外,存储节点350及反相存储节点360分别通过第三反相器388及第四反相器389耦合到物理不可克隆功能输出208及物理不可克隆功能反相输出209。具体来说,第三反相器388及第四反相器389各自包括两个晶体管,即,对于第三反相器388为m9384及m10385,且对于第四反相器389为m11386及m12387。晶体管m9384及m10385的栅极端子一起耦合到存储节点350,且晶体管m11386及m12387的栅极端子一起耦合到反相存储节点360。晶体管m9384及m11386的源极端子分别耦合到晶体管m10385及m12387的漏极端子且进一步分别耦合到物理不可克隆功能输出208及物理不可克隆功能反相输出209。晶体管m9384及m11386的漏极端子耦合到电源电压204。晶体管m10385及m12387的源极端子耦合到参考/接地电压205。
在一些实施例中,晶体管m1310、m3312、m5314、m6315、m10385及m12387各自包括n型金属氧化物半导体(n-typemetaloxidesemiconductor,nmos)晶体管,且晶体管m2311、m4313、m7382、m8383、m9384及m11386各自包括p型金属氧化物半导体(p-typemetaloxidesemiconductor,pmos)晶体管。虽然图3所说明的实施例示出m1至m12是n型金属氧化物半导体晶体管或p型金属氧化物半导体晶体管,然而适合在存储器装置中使用的多种晶体管或装置中的任一者均可被实作为m1至m12中的至少一者,例如,双极结晶体管(bipolarjunctiontransistor,bjt)、高电子迁移率晶体管(high-electronmobilitytransistor,hemt)等。
图4说明根据本发明一些实施例用以向位胞元300的内部节点注入噪声的示例性延迟电路400。在所说明实施例中,延迟电路400包括29个延迟元件402、3个4通道多路复用器(multiplexer,mux)(例如,406-1、406-2及406-3)以及3个反相器树(例如,408-1、408-2及408-3)。3个4通道多路复用器(即,406-1、406-2及406-3)的输出各自耦合到3个可调延迟级,所述3个可调延迟级被串联连接以进一步控制在输出(即,位预充电线210、字线206及反相字线207)中的每一者上施加的信号的时间延迟。具体来说,根据所说明实施例,第一4通道多路复用器406-1耦合到第一可调延迟级454-1、第二可调延迟级456-1及第三可调延迟级458-1;第二4通道多路复用器406-2耦合到第四可调延迟级454-2、第五可调延迟级456-2及第六可调延迟级458-2;且第三4通道多路复用器406-3耦合到第七可调延迟级454-3、第八可调延迟级456-3及第九可调延迟级458-3。
在所说明实施例中,9个可调延迟级454-1、456-1、458-1、454-2、456-2、458-2、454-3、456-3及458-3各自包括2通道多路复用器(即,432-1、432-2、432-3、432-4、432-5、432-6、432-7、432-8及432-9)。在所说明实施例中,9个2通道多路复用器各自包括2个输入i0及i1以及1个数据选择线e。在一些实施例中,2个输入i0及i1分别对应于数据选择线上的2个逻辑值0及1。在一些实施例中,9个2通道多路复用器的输入i0各自耦合到零延迟元件402,且9个2通道多路复用器的输入i1各自耦合到至少一个延迟元件402。具体来说,根据所说明实施例,2通道多路复用器432-1、432-4及432-7的输入i1各自耦合到1个延迟元件402;2通道多路复用器432-2、432-5及432-8的输入i1各自耦合到2个延迟元件402;且2通道多路复用器432-3、432-6及432-9的输入i1各自耦合到4个延迟元件402。此外,根据所说明实施例,可调延迟级454-1、454-2及454-3的输入分别各自耦合到4通道多路复用器406-1、406-2及406-3的输出;可调延迟级456-1、456-2及456-3的输入分别各自耦合到2通道多路复用器432-1、432-4及432-7的输出;且可调延迟级458-1、458-2及458-3的输入分别各自耦合到2通道多路复用器432-2、432-5及432-8的输出;且2通道多路复用器432-3、432-6及432-9的输出分别各自耦合到反相器树408-1、408-2及408-3。在所说明实施例中,2通道多路复用器432-1、432-2、432-3、432-4、432-5、432-6、432-7、432-8及432-9的数据选择线e分别各自耦合到0、0、1、sta[0]、sta[1]、sta[2]、stb[0]、stb[1]及stb[2]。
在所说明实施例中,3个4通道多路复用器各自包括4个输入i0、i1、i2、i3以及2个数据选择线e及f。在一些实施例中,4个输入i0、i1、i2及i3分别对应于数据选择线上的4个逻辑值00、01、10及11。在一些实施例中,4通道多路复用器406-2及406-3的输入i0各自耦合到6个延迟元件402;4通道多路复用器406-2及406-3的输入i1各自耦合到5个延迟元件402;4通道多路复用器406-2及406-3的输入i2各自耦合到4个延迟元件402,且4通道多路复用器406-2及406-3的输入i3各自不耦合到延迟元件。在所说明实施例中,4通道多路复用器406-2及406-3共用相同的延迟元件402。4通道多路复用器406-2及406-3以及其所耦合的延迟元件通过延迟元件402进一步耦合到“start”输入。此外,在所说明实施例中,4通道多路复用器406-1的所有4个输入通过8个延迟元件402耦合到输入“start”。在一些其他实施例中,4通道多路复用器406-1的所有4个输入被接地。此外,来自反相器树408-1、408-2及408-3的输出分别耦合到位预充电线210、字线206及反相字线207。在一些实施例中,所述9个2通道多路复用器的选择线e及所述3个4通道多路复用器的选择线e及f耦合到控制器112,控制器112控制位预充电线210、字线206及反相字线207上的信号之间的相对时序。
图4说明根据本发明一些实施例用以向位胞元300的内部节点350/360注入噪声的示例性延迟电路。当然,这仅为实例,且不旨在进行限制。可对具有背对背耦合式反相器的位胞元的信号线上的相对时序进行控制以向内部节点引入噪声的任何类型的延迟电路均处于本发明的范围内。举例来说,2通道多路复用器的及4通道多路复用器的输入可与不同数目的延迟元件402耦合。对于另一实例,多路复用器可包括不同数目的输入及选择线,以为包括字线206、反相字线207及位预充电线210在内的线中的每一者提供所需时间延迟。还应注意,延迟电路400是用以向例如图3中所呈现的位胞元300等位胞元中引入噪声的示例性方法,且不旨在进行限制。用以引入噪声的装置及方法取决于在物理不可克隆功能胞元阵列102中所使用的位胞元的技术且处于本发明的范围内。举例来说,可使用环形振荡器在电源电压204及参考/接地电压205中引入噪声。
图5说明根据本发明一些实施例由延迟电路400向物理不可克隆功能胞元阵列102的位胞元300提供的信号的波形500。在复位阶段期间,字线(start_1a)206/反相字线(start_1b)207被上拉,存取晶体管m1310及m6315接通,这使得存储节点(q)350及反相存储节点(q#)360能够放电到gnd,从而在存储节点(q)350及反相存储节点(q#)360上对具有亚稳逻辑状态的位胞元进行预充电。当存储节点(q)350及反相存储节点360(q#)通过使存取晶体管m1310及m6315接通而被下拉到gnd时,两个交叉耦合式反相器320/330在无电源的情况下使得能够在存储节点(q)350及反相存储节点(q#)360上存储“0”。在产生物理不可克隆功能输出的正常操作阶段期间,字线(start_1a)206/反相字线(start_1b)207在t1同时被下拉,这使存取晶体管m1310及m6315关断,且接着,位预充电线(start_2)210在t5被下拉,这与字线(start_1a)206/反相字线(start_1b)207的下拉的结束分隔开时间间隔502(即,t5-t1)。将位预充电线(start_2)210上的电压电平下拉会使使能晶体管m7382及m8383接通,并使得节点(vddv)390及391上的电压电平增大,这接着使能交叉耦合式反相器320/330。在相同时间t1将字线(start_1a)206/反相字线(start_1b)207下拉是通过经由控制器112以相同值来设置第二4通道多路复用器406-2上及第三4通道多路复用器406-3上的选择线(即,sma[1]/sma[0]及smb[1]/smb[0])而配置。在一些实施例中,sma[1]=sma[0]=smb[1]=smb[0]=1,使得在位预充电线(start_2)210上施加的下拉相对于在字线(start_1a)206/反相字线(start_1b)207上施加的下拉具有最长的延迟,从而为每一线赋予相同的可调延迟配置。一旦交叉耦合式反相器320/330被使能,因所述两个反相器的特定背对背配置以及由制作期间的固有工艺变化而在两个交叉耦合式反相器320及330之间引起的强度差异,便无法维持亚稳逻辑状态。交叉耦合式反相器320/330中的强度小幅失配最终将通过交叉耦合式反相器320/330的正反馈来放大,且最终将产生逻辑“1”或逻辑“0”。由于所述设计为高度对称的且仅有的随机性是通过交叉耦合式反相器中的晶体管的制作工艺而引起,因此当所述多个位胞元300在通过使能晶体管被使能之后稳定时,逻辑状态的二进制输出是唯一、随机且不可追踪的。最终,存储节点(q)350上及反相存储节点(q#)360上的逻辑状态由相应的反相器388及389进一步反相,之后分别被读出到物理不可克隆功能输出208及物理不可克隆功能反相输出209上。
可在评估过程期间注入各种类型的噪声,以识别不稳定位胞元,从而产生屏蔽阵列。在评估阶段期间,时间间隔502可减小,且可在字线206或反相字线207上的下拉信号与位预充电线210上的下拉信号之间引入交叠。此外,当交叉耦合式反相器320/330由使能晶体管m7382及m8383部分地使能时且当存取晶体管未完全关断时,放电路径被添加到存储节点350及反相存储节点360,此导致在存储节点350/反相存储节点360上得到不同的中间电压电平。因此,因字线206/反相字线207的下拉与位预充电线210的下拉的交叠所致的放电路径提供额外随机性,即,存储节点上介于地与vdd之间的不对称中间电压值。在一些实施例中,字线206及反相字线207可由图4中所说明的延迟电路400分别控制。在一些实施例中,反相字线207上的下拉是通过在第三4通道多路复用器406-3的选择线(smb[1]及smb[0])上施加与第二4通道多路复用器406-2的选择线(sma[1]及sma[0])上的值不同的值来配置。在所说明实施例中,反相字线207分别在t2、t3及t4当smb[1]/smb[0]被设定成10、01及00且sma[1]/sma[0]被设定成11时被下拉。在所说明实施例中,当反相字线207在t4被下拉时,反相字线207上的下拉信号开始与位预充电线210上的下拉信号交叠。为进一步增大交叠,可通过在2通道多路复用器432-7、432-8及432-9的数据选择线上施加恰当的值来使用可调延迟级454-3、456-3及458-3。
类似地,字线206分别在t2、t3及t4当sma[1]/sma[0]被设定成10、01及00且smb[1]/smb[0]被设定成11时被下拉。在所说明实施例中,当字线206在t4被下拉时,字线206上的下拉信号开始与位预充电线210上的下拉信号交叠。为进一步增大交叠,可通过在2通道多路复用器432-4、432-5及432-6的数据选择线上施加恰当的值来使用可调延迟级454-2、456-2及458-2。
视字线206或反相字线207被下拉的时序而定,可在评估过程期间引入两个存储节点350及360各自上的电压电平的不对称性。类似地,两个存储节点上的逻辑状态通过反相器388及389被进一步读出到物理不可克隆功能输出208及物理不可克隆功能反相输出209且被进一步读出到存储寄存器120及比较电路122,以识别不稳定位胞元。可在评估阶段期间以可控方式改变字线206上、反相字线207上及位预充电线210上的下拉信号之间的不同相对时序以控制两个内部动态节点350/360上的电压电平,且此处于本发明的范围内。通过改变这些线上的信号之间的相对时序以进行多次迭代,可识别物理不可克隆功能胞元阵列102中的一个或多个所选行中的不稳定位胞元300,且可产生含有不稳定位胞元的地址的屏蔽图。
图6说明根据本发明一些实施例用以使用包括多个位胞元300的物理不可克隆功能胞元阵列102来产生屏蔽图的方法600的流程图。在一些实施例中,方法600的操作由图1至图4中所说明的相应组件来执行。为便于论述,将结合图1至图4来阐述方法600的以下实施例。方法600的所说明实施例仅为用于产生屏蔽图的实例。因此,应理解,在保持处于本发明的范围内的同时,可对多种操作中的任一者进行省略、重定序及/或添加。
根据一些实施例,方法600以操作602开始,在操作602中,使两个存取晶体管m1310/m6315接通且使两个使能晶体管m7382/m8383关断,以向多个位胞元300中的每一者中的两个存储节点(存储节点350及反相存储节点360)写入第一亚稳逻辑状态。在一些实施例中,使两个使能晶体管m7382/m8383关断会停用交叉耦合式反相器320/330,且使存取晶体管m1310/m6315接通能够在与相应的两个存取晶体管m1310/m6315耦合的两个存储节点(存储节点350及反相存储节点360)上写入0。
方法600继续进行到操作604,在操作604中,分别在第一时间及第二时间使第一存取晶体管m1310及第二存取晶体管m6315关断。在一些实施例中,两个存取晶体管在正常操作条件下同时关断(即,第一时间等于第二时间)。在一些实施例中,使m1310/m6315关断是通过将与存取晶体管m1310/m6315的栅极端子耦合的字线206及反相字线207上的电压下拉来配置。在一些实施例中,控制器112被配置成以受控时间延迟分别将字线206上及反相字线207上的电压下拉。在一些实施例中,第一时间及第二时间由控制器112中如图4所示的延迟电路400控制。在一些其他实施例中,字线206及反相字线207耦合在一起,且因此在正常操作条件期间在无故意延迟的情况下由控制器112中的延迟电路400同时下拉(即,第一时间=第二时间)。
方法600继续进行到操作606,在操作606中,在第三时间使两个使能晶体管m7382/m8383接通,以评估所述多个位胞元300中的每一者中的两个存储节点(存储节点350/反相存储节点360)上的第二逻辑状态。在一些实施例中,第三时间由控制器112中如图4所示的延迟电路400来配置。在一些实施例中,如图6所示,其中在位预充电线210的下拉与字线206/反相字线207的下拉之间无交叠的正常操作条件可通过在位预充电线210上配置最长的延迟来配置。举例来说,4通道多路复用器406-1及406-2的数据选择线e/f分别被配置为00及11,其中字线206及位预充电线210上的两个下拉信号通过7个延迟元件分隔开。类似地,图4中4通道多路复用器406-3的数据选择线e/f可被配置为11,以在反相字线207的下拉与位预充电线210的下拉之间实现最长的延迟(即,7个延迟元件)且防止在反相字线207的下拉与位预充电线210的下拉之间存在任何交叠。在一些实施例中,每一延迟元件提供大约数微微秒(picosecond)的时间延迟。
方法600继续进行到操作608,在操作608中,产生第一物理不可克隆功能输出。在一些实施例中,第一物理不可克隆功能输出是在正常操作条件(例如,室温及正常vdd)下在使字线206/反相字线207的下拉(其两者的下拉处于相同时间)与位预充电线210的下拉之间具有最长延迟的情况下产生。
方法600继续进行到操作610,在操作610中,将所产生的第一物理不可克隆功能输出存储在存储寄存器120中。在一些实施例中,存储寄存器120可以任何类型的芯片上存储器设计(包括芯片上静态随机存取存储器)来实作。在一些实施例中,存储寄存器120包括含有与物理不可克隆功能产生器100的物理不可克隆功能胞元阵列102中位胞元的数目相同的数目的位的芯片上存储器阵列。在一些实施例中,存储寄存器120包含与物理不可克隆功能胞元阵列102中位胞元的数目相同的数目的位。
在方法600继续进行到操作612之前,重复操作602至608,以通过在不同的第一时间及第二时间使所述多个位胞元300中的每一者中的第一晶体管及第二晶体管接通来产生第二物理不可克隆功能输出。在一些实施例中,改变使第一存取晶体管及/或第二存取晶体管接通的第一时间及/或第二时间可如图5所示在下拉信号之间引入信号交叠,根据一些实施例,这可在两个存储节点(存储节点350/反相存储节点360)上得到中间电压电平。通过对多通道多路复用器(即,图5中的4通道多路复用器及2通道多路复用器)施加不同的输入,可在下拉信号之间形成不同水平的交叠,且因此,可在两个存储节点(存储节点350/反相存储节点360)上配置不同的中间电压电平。接着,可在第一应力操作条件下产生第二物理不可克隆功能输出。
方法600继续进行到操作612,在操作612中,接着将在第一应力操作条件下产生的第二物理不可克隆功能输出与先前所存储的物理不可克隆功能输出(例如,在正常操作条件下产生的第一物理不可克隆功能输出)进行比较,以识别在两个物理不可克隆功能输出中具有不同逻辑状态的至少一个位胞元。在一些实施例中,对来自物理不可克隆功能胞元阵列102的至少一个所选行中的位胞元的物理不可克隆功能输出的每一位进行比较。在一些实施例中,存储寄存器120仅存储一个物理不可克隆功能输出。在一些实施例中,将在两个物理不可克隆功能输出中具有不同逻辑状态的位胞元识别为不稳定(下文为“u”)位胞元。在一些实施例中,接着将物理不可克隆功能胞元阵列中的不稳定位胞元的地址存储在屏蔽寄存器124的位中。
通过重复操作602、604、606、608、610及612,可通过使用延迟电路微调时间延迟而在多个应力操作条件下产生多个物理不可克隆功能输出并将所述多个物理不可克隆功能输出进行比较,以识别物理不可克隆功能胞元阵列102中的不稳定位胞元300。在一些实施例中,可形成6个应力条件以确定6个物理不可克隆功能输出,可通过将所述6个物理不可克隆功能输出进行比较而识别不稳定位胞元300。根据一些实施例,为形成这6个应力条件,控制器112在所述3个4通道多路复用器(即,406-1、406-2及406-3)的数据选择线e/f上配置不同的输入。在一些实施例中,针对4通道多路复用器406-2及406-3配置sma=00及smb=11,以在第一应力条件下获得第二物理不可克隆功能输出;针对4通道多路复用器406-2及406-3配置sma=01及smb=11,以在第二应力条件下获得第三物理不可克隆功能输出;针对4通道多路复用器406-2及406-3配置sma=10及smb=11,以在第三应力条件下获得第四物理不可克隆功能输出;针对4通道多路复用器406-2及406-3配置sma=11及smb=00,以在第四应力条件下获得第五物理不可克隆功能输出;针对4通道多路复用器406-2及406-3配置sma=11及smb=01,以在第五应力条件下获得第六物理不可克隆功能输出;且针对4通道多路复用器406-2及406-3配置sma=11及smb=10,以在第六应力条件下获得第七物理不可克隆功能输出。在一些实施例中,第一4通道多路复用器406-1的数据选择线e/f被配置为恒定值(例如,00)。应注意,此仅为实例,而不旨在进行限制。通过改变多通道多路复用器上的数据选择线e/f上的设定值次序并使用如图4所示的可调延迟线对交叠引入较精细控制所得的任何测试序列均处于本发明的范围内。
方法600继续进行到操作614,在操作614中,产生屏蔽图。在一些实施例中,所述屏蔽图包含物理不可克隆功能胞元阵列102中的所述多个位胞元300中的至少一个不稳定位胞元的地址。
图7说明根据本发明一些实施例用以使用包括多个位胞元300的物理不可克隆功能胞元阵列102来产生黄金图的方法700的流程图。在一些实施例中,方法700的操作由图1至图4中所说明的相应组件来执行。为便于论述,将结合图1至图4来阐述方法700的以下实施例。方法700的所说明实施例仅为用于产生黄金图的实例。因此,应理解,在保持处于本发明的范围内的同时,可对多种操作中的任一者进行省略、重定序及/或添加。
根据一些实施例,方法700以操作702开始,在操作702中,使两个存取晶体管m1310/m6315接通并使两个使能晶体管m7382/m8383关断,以向多个位胞元300中的每一者中的两个存储节点(存储节点350及反相存储节点360)写入第一亚稳逻辑状态。在一些实施例中,使两个使能晶体管m7382/m8383关断会停用交叉耦合式反相器320/330,且使存取晶体管m1310/m6315接通能够在与相应的两个存取晶体管m1310/m6315耦合的两个存储节点(存储节点350及反相存储节点360)上写入0。
方法700继续进行到操作704,在操作704中,在第一操作条件下同时分别使两个存取晶体管m1310/m6315关断。在一些实施例中,第一操作条件包括温度及操作电压(即,vdd及vss)。在一些实施例中,使m1310/m6315关断是通过将与存取晶体管m1310/m6315的栅极端子耦合的字线206及反相字线207上的电压下拉来配置。在一些实施例中,控制器112被配置成同时将字线206上及反相字线207上的电压下拉。在一些其他实施例中,字线206及反相字线207耦合在一起。
方法700继续进行到操作706,在操作706中,在第一操作条件下在第二时间使两个使能晶体管m7382/m8383接通,以评估所述多个位胞元300中的每一者中的两个存储节点(存储节点350/反相存储节点360)上的第二逻辑状态。在一些实施例中,第二时间由控制器112(例如,如图4所示的延迟电路400)配置。在一些实施例中,在字线206/反相字线207上的下拉信号与位预充电线210上的下拉信号之间不存在交叠。举例来说,4通道多路复用器406-1及406-2的数据选择线e/f分别被配置为00及11,其中字线206及位预充电线210上的两个下拉信号通过7个延迟元件分隔开。类似地,图4中4通道多路复用器406-3的数据选择线e/f可被配置为11,以在反相字线207的下拉与位预充电线210的下拉之间实现最长的延迟(即,7个延迟元件)且防止在反相字线207的下拉与位预充电线210的下拉之间存在任何交叠。在一些实施例中,每一延迟元件提供大约数微微秒的时间延迟。在一些其他实施例中,可微调反相器中的晶体管的大小,以对时间延迟提供大约几分之一微微秒的细调。
方法700继续进行到操作708,在操作708中,产生第一物理不可克隆功能输出。在一些实施例中,第一物理不可克隆功能输出是在正常操作条件(例如,室温及正常vdd)下在使字线206/反相字线207的下拉(其两者的下拉处于相同时间)与位预充电线210的下拉之间具有最长延迟的情况下产生。
方法700继续进行到操作710,在操作710中,将所产生的第一物理不可克隆功能输出存储在存储寄存器120中。在一些实施例中,存储寄存器120可以任何类型的芯片上存储器设计(包括芯片上静态随机存取存储器)来实作。在一些实施例中,存储寄存器120包括含有与物理不可克隆功能产生器100的物理不可克隆功能胞元阵列102中位胞元的数目相同的数目的位的芯片上存储器阵列。在一些实施例中,存储寄存器120包含与物理不可克隆功能胞元阵列102中位胞元的数目相同的数目的位。
在方法700继续进行到操作712之前,重复操作702至708,以在不同的操作条件(即,不同的温度及/或不同的vdd/vss)下产生第二物理不可克隆功能输出。接着,可在第二操作条件下产生第二物理不可克隆功能输出。
方法700继续进行到操作712,在操作712中,接着将在第二操作条件下产生的第二物理不可克隆功能输出与先前所存储的物理不可克隆功能输出(例如,在第一操作条件下产生的第一物理不可克隆功能输出)进行比较,以识别在两个物理不可克隆功能输出中具有不同逻辑状态的至少一个位胞元。在一些实施例中,对来自物理不可克隆功能胞元阵列102的至少一个所选行中的位胞元的物理不可克隆功能输出的每一位进行比较。在一些实施例中,存储寄存器120仅存储一个物理不可克隆功能输出。在一些实施例中,将在两个物理不可克隆功能输出中具有不同逻辑状态的位胞元识别为不稳定(下文为“u”)位胞元。在一些实施例中,接着将物理不可克隆功能胞元阵列中的不稳定位胞元的地址存储在屏蔽寄存器124的位中。
通过重复操作702、704、706、708、710及712,可通过在不同的温度(t)及/或操作电压值(v)下操作而在不同操作条件下产生多个物理不可克隆功能输出并将所述多个物理不可克隆功能输出进行比较,以识别物理不可克隆功能胞元阵列102中的不稳定位胞元300。在一些实施例中,所述不同的温度是在-40摄氏度(℃)至125摄氏度的典型温度范围中选择。在一些实施例中,操作电压值与正常操作条件(即,vdd=0.9伏)之差处于±10%标称值内,即处于0.81伏至0.99伏的范围中。在一些实施例中,可形成6个应力条件,以确定6个物理不可克隆功能输出。在一些实施例中,温度调整可通过所属领域中的技术人员已知的外部温度控制单元(图中未示出)来获得,所述外部温度控制单元包括受热级、温度感测元件及控制电路。根据一些实施例,为形成这6个操作条件,通过控制器112及外部温度控制单元来配置125℃/0.81v、-40℃/0.81v、125℃/0.9v、-40℃/0.9v、125℃/0.99v、及-40℃/0.99v。应注意,此仅为实例,而不旨在进行限制。通过改变设定值次序所得的任何测试序列或者在任何其他温度/电压电平下进行的任何次数的测试均处于本发明的范围内。
方法700继续进行到操作714,在操作714中,产生黄金图。在一些实施例中,所述黄金图包含物理不可克隆功能胞元阵列102的所述多个位胞元300中的至少一个不稳定位胞元的地址。
图8说明根据本发明一些实施例用于物理不可克隆功能产生器表征的方法800的流程图。在一些实施例中,方法800的操作由图1至图4中所说明的相应组件、图6中的方法600及图7中的方法700来执行。为便于论述,将结合图1至图4、图6及图7来阐述方法800的以下实施例。方法800的所说明实施例仅为实例。因此,应理解,在保持处于本发明的范围内的同时,可对多种操作中的任一者进行省略、重定序及/或添加。
方法800以操作802开始,在操作802中,检验第i个物理不可克隆功能产生器100的功能。在一些实施例中,通过向物理不可克隆功能胞元阵列102中的所述多个位胞元中的每一者写入预定逻辑状态及从所述每一者读取输出逻辑状态以判断物理不可克隆功能胞元阵列是否为有缺陷的来测试第i个物理不可克隆功能产生器的功能。在一些实施例中,如果输出逻辑状态与预定逻辑状态不一致的位胞元的数目大于预定阈值,则物理不可克隆功能胞元阵列102被确定为有缺陷的。举例来说,参照作为图1所示物理不可克隆功能产生器100一部分的图3所示位胞元300,通过测试物理不可克隆功能胞元阵列102中的所述多个位胞元300中的每一者的功能来测试物理不可克隆功能产生器100的功能。在一些实施例中,通过首先将位预充电线210上的电压电平上拉来测试位胞元300的功能,所述上拉使两个使能晶体管m7382/m8383关断,且两个交叉耦合式反相器320/330被停用。于是,字线206上的电压电平接着被上拉,这使第一存取晶体管m1310接通,且存储节点350上的电压电平被下拉到gnd,从而向存储节点350写入逻辑状态0。同时,反相字线207上的电压电平接着被下拉,这使第二存取晶体管m6315关断。接着,位预充电线210上的电压电平被下拉,这使两个使能晶体管m7382/m8383接通,且两个交叉耦合式反相器320/330被停用。由于存储节点350被强制为逻辑0,而这会进一步强制在反相存储节点360上具有逻辑1,因此,在被第二输出反相器389反相之后,接着会在物理不可克隆功能反相输出209上读取到逻辑0。如果在物理不可克隆功能反相输出209上读取的逻辑状态并非是0,则所测试的位胞元300被确定为有缺陷的。
在一些实施例中,通过将位预充电线210上的电压电平上拉来进一步测试位胞元300的功能,所述上拉会使两个使能晶体管m7382/m8383关断,且两个交叉耦合式反相器320/330被停用。于是,字线206上的电压电平接着被下拉,这使第一存取晶体管m1310关断。同时,反相字线207上的电压电平接着被上拉,这使第二存取晶体管m6315接通,且反相存储节点360上的电压电平被下拉到gnd,从而向反相存储节点360写入逻辑状态0。接着,位预充电线210上的电压电平被下拉,这使两个使能晶体管m7382/m8383接通,且两个交叉耦合式反相器320/330被使能。由于反相存储节点350被强制为逻辑0,而这会进一步强制在存储节点350上具有逻辑1,因此在被第二输出反相器389反相之后,会接着在物理不可克隆功能反相输出209上读取到逻辑1。如果在物理不可克隆功能反相输出209上读取的逻辑状态并非是1,则所测试的位胞元300被确定为有缺陷的。
应注意,以上所述的用以测试位胞元的功能的方法仅为实例,且不旨在进行限制。根据位胞元的类型,可使用不同的方法来写入预定逻辑状态及读取输出逻辑状态,且此处于本发明的范围内。
方法800继续进行到操作804,在操作804中,确定物理不可克隆功能产生器100的物理不可克隆功能胞元阵列102中的有缺陷位胞元的数目并将所述数目与预定义阈值进行比较。在一些实施例中,物理不可克隆功能产生器100的物理不可克隆功能胞元阵列102中的所述多个位胞元由控制器112测试。在一些实施例中,将来自功能测试的物理不可克隆功能输出直接输出到内建自测试引擎130,以确定有缺陷位胞元的总数。在一些实施例中,可添加裕度,以延长物理不可克隆功能产生器的寿命。举例来说,如果作为合格的物理不可克隆功能产生器需要128位物理不可克隆功能签名,则可添加至少一个额外位来作为老化裕度。作为老化裕度所需的位的数目是预定的且可由计数器确定。如果未通过功能测试的有缺陷位胞元的数目大于预定阈值,则舍弃物理不可克隆功能产生器100而不予进一步测试。在一些实施例中,有缺陷位胞元的此预定阈值数目是零。换句话说,如果在物理不可克隆功能产生器中确定出一个或多个有缺陷位胞元,则舍弃所述物理不可克隆功能产生器。这是因为有缺陷位胞元在物理不可克隆功能胞元阵列中通常是“短路”的,这会引起功率消耗的增加。在一些其他实施例中,如果有缺陷位胞元的数目大于物理不可克隆功能产生器100的物理不可克隆功能胞元阵列102中位胞元的总数的10%,则舍弃物理不可克隆功能产生器100而不予进一步测试。此预定数目仅为实例,且不旨在进行限制。预定数目可由应用或客户界定,这处于本发明的范围内。
类似地,如果未通过功能测试的有缺陷位胞元的数目小于预定阈值(即,预定阈值>0),则进一步移动物理不可克隆功能产生器100以进行下一质量控制测试。在一些实施例中,此种确定过程由内建自测试引擎执行,且有缺陷位胞元的地址存储在内建自测试引擎中。在一些实施例中,使用有缺陷位胞元连同临界屏蔽图中的不可用位胞元(以下在图9中更详细地对此进行论述)来过滤物理不可克隆功能输出,以确定物理不可克隆功能签名。
方法800继续进行到操作806,在操作806中,在通过功能测试的物理不可克隆功能产生器100上产生黄金图。在一些实施例中,黄金图是使用由多个如图3所示的位胞元300组成的物理不可克隆功能胞元阵列102而使用如图7所示的方法700来产生。应注意,根据位胞元的类型,用以在不同的温度及操作电压电平下识别不稳定位的操作可为不同的,这处于本发明的范围内。举例来说,在基于泄漏的动态随机存取存储器位胞元中,在不同的温度及操作电压下确定由泄漏电流引起的翻转逻辑状态,以确定黄金图。在一些实施例中,不同的条件包括不同的操作温度及电压。在一些实施例中,不同的温度由温度控制单元控制。在一些实施例中,操作电压由控制器112控制。
方法800继续进行到操作808,在操作808中,在通过功能测试的物理不可克隆功能产生器100上产生屏蔽图。在一些实施例中,使用由多个如图3所示的位胞元300组成的物理不可克隆功能胞元阵列102而使用如图6所示的方法600来产生屏蔽图。应注意,根据位胞元的类型,可使用不同的技术、使用不同的应力操作条件来识别不稳定位胞元,且此处于本发明的范围内。举例来说,在基于泄漏的动态随机存取存储器位胞元中,可使用噪声注入器(例如环形振荡器)来向电压线引入信号振荡。
方法800继续进行到操作810,在操作810中,将从操作806获得的黄金图与在操作808中获得的屏蔽图进行比较,以获得临界屏蔽图。在一些实施例中,临界屏蔽图中的可用(u)位胞元是在屏蔽图及黄金图中均稳定的位胞元;临界屏蔽图中的不可用(n)位胞元是在屏蔽阵列中不稳定的位胞元;且临界屏蔽图中的临界(c)位胞元是在屏蔽图中稳定但在黄金图中不稳定的位胞元。
图9说明根据本发明一些实施例用以获得临界屏蔽图908的示例性屏蔽图902与黄金图904比较过程图。在所说明实施例中,屏蔽图902包含24个位,且黄金图904包含24个位。虽然仅示出24个位,然而屏蔽图902及黄金图904中的每一者可包含不同数目的位,这由物理不可克隆功能胞元阵列102中位胞元的数目确定且处于本发明的范围内。屏蔽图902包含8个不稳定位胞元及16个稳定位胞元,且黄金图904包含7个不稳定位胞元及17个稳定位胞元。在比较电路906中进行比较之后,可获得包含24个位的临界屏蔽图908。在所说明实施例中,存在13个可用位胞元、8个不可用位胞元及3个临界位胞元。
方法800继续进行到操作812,在操作812中,确定来自操作810的临界位胞元的数目并将所述数目与零进行比较。如果临界屏蔽图中临界位胞元的数目被确定为非零(例如,临界屏蔽图908中有3个临界位胞元),则方法800通过在不同的应力操作条件下获得第二屏蔽图而以操作808继续。接着,方法800以操作810及812继续,以将第二屏蔽图与黄金图进行比较以进一步确定第二临界屏蔽图中临界位胞元的数目。此种过程继续进行至临界屏蔽图中临界位胞元的数目被确定为零为止。在一些实施例中,当在进行预定义次数的测试或对不同测试条件进行某一次数的迭代之后临界胞元的数目不能减小至零且此外不存在足够的可用胞元(即,可用胞元的数目小于所需签名位数目)时,接着将受测试的物理不可克隆功能产生器标记为失效。在一些实施例中,通过预定成本因素来确定用于测试的时间量或测试的迭代次数,以使良率与成本平衡。
方法800继续进行到操作814,在操作814中,确定可用位胞元的数目并将所述数目与预定义阈值进行比较。在一些实施例中,如果不含有任何临界位胞元的临界屏蔽图中可用位胞元的数目大于预定义阈值,则物理不可克隆功能产生器100通过质量控制测试且被确定为合格的物理不可克隆功能产生器。类似地,如果不含有任何临界位胞元的临界屏蔽图中可用位胞元的数目小于预定义阈值,则物理不可克隆功能产生器100未通过前述质量控制测试且被确定为不合格的物理不可克隆功能产生器。在一些实施例中,还确定具有逻辑0或1的位胞元的总数在临界屏蔽图中可用位胞元的总数中的百分比(percentage,p)。在一些其他实施例中,合格的物理不可克隆功能产生器还提供处于45%至55%的范围中的百分比值。
图10说明根据本发明一些实施例用以使用通过质量控制测试的合格的物理不可克隆功能产生器来产生物理不可克隆功能签名的方法1000的流程图。在一些实施例中,方法1000的操作由图1至图4中所说明的相应组件、图6至图8中所说明的方法600、700及800来执行。为便于论述,将结合图1至图4及图6至图8来阐述方法1000的以下实施例。方法1000的所说明实施例仅为实例。因此,应理解,在保持处于本发明的范围内的同时,可对多种操作中的任一者进行省略、重定序及/或添加。
方法1000以操作1002开始,在操作1002中,产生临界屏蔽图。在一些实施例中,使用以上所述的方法600、700及800来产生临界屏蔽图。在一些实施例中,临界屏蔽图不包含临界位胞元,且具有逻辑1或0的可用位胞元在临界屏蔽图的可用位胞元的总数中的百分比等于45%至55%。
方法1000继续进行到操作1004,在操作1004中,在正常操作条件下产生物理不可克隆功能输出。在一些实施例中,使用在方法600中所述的操作来产生物理不可克隆功能输出。应注意,视位胞元的类型而定,可使用不同的方法在正常操作条件下产生物理不可克隆功能输出,且此处于本发明的范围内。
方法1000继续进行到操作1006,在操作1006中,通过临界屏蔽图来过滤在正常操作条件下获得的物理不可克隆功能输出以产生物理不可克隆功能签名。在一些实施例中,使用标记有“1”的位胞元来识别不稳定位胞元。
图11说明根据本发明一些实施例用以将物理不可克隆功能签名从通过质量控制测试的合格的物理不可克隆功能产生器安全地传递到服务器的方法1100的流程图。在一些实施例中,方法1100的操作由图1至图4中所说明的相应组件、图6至图10中所说明的方法600至1000来执行。为便于论述,将结合图1至图4及图6至图10来阐述方法1100的以下实施例。方法1100的所说明实施例仅为实例。因此,应理解,在保持处于本发明的范围内的同时,可对多种操作中的任一者进行省略、重定序及/或添加。
方法1100以操作1102开始,在操作1102中,产生物理不可克隆功能签名。在一些实施例中,结合图6至图8所示方法600至800而使用图10所示方法1000来产生物理不可克隆功能签名。
方法1100以操作1104继续,在操作1104中,对物理不可克隆功能签名进行加密。在一些实施例中,将物理不可克隆功能签名传递到锁箱132,锁箱132还接收用于对物理不可克隆功能签名进行加密的公钥。在一些实施例中,锁箱132包括不对称加密器。在一些实施例中,锁箱132含有以下不对称密钥加密算法中的一者:例如李维斯特-萨莫尔-阿德曼(rivest-shamir-adleman,rsa)、数字签名算法(digitalsignaturealgorithm,dsa)、椭圆曲线密码术(ellipticcurvecryptography,ecc)、厄格玛尔(elgamal)算法等。在一些实施例中,锁箱132包括处理器及控制逻辑电路(图1中均未示出),以对响应于在控制器112处从服务器接收的请求而将要传送到服务器的物理不可克隆功能签名进行加密。
方法1100继续进行到操作1106,在操作1106中,通过专用输入/输出端口136将经加密物理不可克隆功能签名传递到服务器以供外部使用。在一些实施例中,经加密物理不可克隆功能签名还可包含用于恢复有噪声的物理不可克隆功能信息的辅助数据。在一些实施例中,服务器还接收经加密物理不可克隆功能签名,并使用含有私钥的不对称加密器对所述经加密物理不可克隆功能签名进行解密。在一些实施例中,只有具有匹配的私钥的经授权服务器才可执行解密并获得物理不可克隆功能签名。
在一个实施例中,一种用于物理不可克隆功能(puf)产生器的测试方法包括:通过向物理不可克隆功能胞元阵列中的多个位胞元写入预配置的逻辑状态及从所述多个位胞元读取输出逻辑状态来检验物理不可克隆功能产生器的功能;确定所述物理不可克隆功能胞元阵列中的第一位胞元的第一数目,其中所述第一位胞元的所述输出逻辑状态不同于所述预配置的逻辑状态;如果所述第一位胞元的所述第一数目小于第一预定数目,则使用所述物理不可克隆功能产生器及屏蔽电路在第一组操作条件下产生第一图,其中所述第一图包含至少一个稳定位胞元及至少一个不稳定位胞元;使用所述物理不可克隆功能产生器及所述屏蔽电路在第二组操作条件下产生第二图,其中所述第二图包含至少一个稳定位胞元及至少一个不稳定位胞元;使用内建自测试(bist)引擎来确定第二位胞元的第二数目,其中所述第二位胞元在所述第一图中是稳定的且在所述第二图中是不稳定的;如果所述第二位胞元的所述第二数目被确定为零,则使用所述内建自测试引擎来确定第三位胞元的第三数目,其中所述第三位胞元在所述第一图中是稳定的且在所述第二图中是稳定的;以及如果所述第三位胞元的所述第三数目大于第二预配置的数目,则将所述物理不可克隆功能产生器确定为合格的物理不可克隆功能产生器。
在相关实施例中,所述第一组操作条件包括应力操作条件,其中所述应力操作条件由控制器配置。
在相关实施例中,所述控制器包括延迟电路,所述延迟电路被配置成微调信号之间的相对时序以提供所述应力操作条件。
在相关实施例中,所述第二组操作条件包括由所述控制器配置的不同的温度及操作电压电平。
在相关实施例中,所述的方法进一步包括:如果所述第二位胞元的所述第二数目被确定为非零,则在第三组操作条件下重新产生所述第二图,直至所述第二位胞元的所述第二数目被确定为零为止;以及如果所述第三位胞元的所述第三数目小于所述第二预配置的数目,则将所述物理不可克隆功能产生器确定为不合格的物理不可克隆功能产生器。
在相关实施例中,所述屏蔽电路进一步包括:存储寄存器,被配置成存储来自所述物理不可克隆功能胞元阵列的第一物理不可克隆功能输出;比较电路,被配置成将第二物理不可克隆功能输出与所述存储寄存器中的所述第一物理不可克隆功能输出进行比较以在所述第一图及所述第二图中识别所述至少一个不稳定位胞元,其中所述不稳定位胞元在所述第一物理不可克隆功能输出及所述第二物理不可克隆功能输出中的逻辑状态是不同的;屏蔽寄存器,被配置成存储所述至少一个不稳定位胞元的地址;屏蔽,用以排除所述至少一个不稳定位胞元的所述逻辑状态以产生物理不可克隆功能签名;以及移位寄存器,被配置成选择所述第三位胞元以产生所述物理不可克隆功能签名。
在相关实施例中,所述物理不可克隆功能产生器进一步包括:内建自测试(bist)引擎,被配置成将所述第一图与所述第二图进行比较以确定所述第三位胞元的所述第三数目;以及锁箱,被配置成在向服务器传送之前对所述物理不可克隆功能签名进行加密。
在另一实施例中,一种物理不可克隆功能(puf)产生器包括:物理不可克隆功能胞元阵列,包括多个位胞元,其中所述多个位胞元各自提供逻辑状态;控制器,耦合到所述物理不可克隆功能胞元阵列,其中所述控制器被配置成向所述物理不可克隆功能胞元阵列提供第一组操作条件及第二组操作条件;屏蔽电路,被配置成确定第一图及第二图,其中所述第一图及所述第二图分别是在所述第一组操作条件及所述第二组操作条件下确定,所述第一图及所述第二图各自包含所述物理不可克隆功能胞元阵列中的所述多个位胞元的多个逻辑状态,其中所述第一图及所述第二图各自包含至少一个稳定位胞元及至少一个不稳定位胞元;以及内建自测试(bist)引擎,被配置成确定第一位胞元的第一数目及第二位胞元的第二数目,其中所述第一位胞元在所述第一图中是稳定的且在所述第二图中是不稳定的,其中所述第二位胞元在所述第一图中是稳定的且在所述第二图中是稳定的。
在相关实施例中,所述第一组操作条件包括应力操作条件,且所述第二组操作条件包括不同的温度及操作电压电平。
在相关实施例中,所述屏蔽电路进一步包括:存储寄存器,被配置成存储来自所述物理不可克隆功能胞元阵列的第一物理不可克隆功能输出;比较电路,被配置成将第二物理不可克隆功能输出与所述存储寄存器中的所述第一物理不可克隆功能输出进行比较以在所述第一图及所述第二图中识别所述至少一个不稳定位胞元,其中所述不稳定位胞元在所述第一物理不可克隆功能输出及所述第二物理不可克隆功能输出中的逻辑状态是不同的;屏蔽寄存器,被配置成存储所述至少一个不稳定位胞元的地址;屏蔽,用以排除所述至少一个不稳定位胞元的所述逻辑状态以产生物理不可克隆功能签名;以及移位寄存器,被配置成选择所述第二位胞元以产生所述物理不可克隆功能签名。
在相关实施例中,所述控制器进一步被配置成向所述物理不可克隆功能胞元阵列中的所述多个位胞元写入预配置的逻辑状态;从所述物理不可克隆功能胞元阵列中的所述多个位胞元读取输出逻辑状态;以及确定所述物理不可克隆功能胞元阵列中的第三位胞元的第三数目,其中所述第三位胞元的所述输出逻辑状态不同于所述预配置的逻辑状态。
在相关实施例中,所述控制器进一步被配置成如果所述物理不可克隆功能胞元阵列中的所述第三位胞元的所述第三数目小于第一预定数目,则确定所述第一位胞元的所述第一数目,如果所述第一位胞元的所述第一数目被确定为零,则确定所述第二位胞元的所述第二数目;在第三组操作条件下重新产生所述第二图,直至所述第一位胞元的所述第一数目被确定为零为止;以及基于对所述第二位胞元的所述第二数目与第二预配置的数目的比较而确定所述物理不可克隆功能产生器的合格性。
在相关实施例中,所述的物理不可克隆功能产生器进一步包括锁箱,被配置成在向服务器传送之前对所述物理不可克隆功能签名进行加密。
又,在另一实施例中,一种物理不可克隆功能(puf)产生器包括:物理不可克隆功能胞元阵列,包括多个位胞元,其中所述多个位胞元各自包括两个交叉耦合式反相器、至少两个存取晶体管、至少一个使能晶体管及至少两个存储节点,其中所述至少两个存储节点预配置有实质上相同的电压,从而使得所述多个位胞元中的每一者能够具有第一亚稳逻辑状态;控制器,耦合到所述物理不可克隆功能胞元阵列,其中包括延迟电路的所述控制器被配置成向所述物理不可克隆功能胞元阵列提供第一组操作条件及第二组操作条件;屏蔽电路,被配置成确定第一图及第二图,其中所述第一图及所述第二图分别是在所述第一组操作条件及所述第二组操作条件下确定,所述第一图及所述第二图各自包含所述物理不可克隆功能胞元阵列中的所述多个位胞元的多个逻辑状态,其中所述第一图及所述第二图各自包含至少一个稳定位胞元及至少一个不稳定位胞元;以及内建自测试(bist)引擎,被配置成确定第一位胞元的第一数目及第二位胞元的第二数目,其中所述第一位胞元在所述第一图中是稳定的且在所述第二图中是不稳定的,其中所述第二位胞元在所述第一图中是稳定的且在所述第二图中是稳定的。
在相关实施例中,所述至少两个存取晶体管耦合在所述延迟电路与对应的所述至少两个存储节点之间。
在相关实施例中,所述至少两个存取晶体管各自包括n型金属氧化物半导体晶体管,且所述至少一个使能晶体管包括p型金属氧化物半导体晶体管。
在相关实施例中,所述屏蔽电路进一步包括:存储寄存器,被配置成存储来自所述物理不可克隆功能胞元阵列的第一物理不可克隆功能输出;比较电路,被配置成将第二物理不可克隆功能输出与所述存储寄存器中的所述第一物理不可克隆功能输出进行比较以在所述第一图及所述第二图中识别所述至少一个不稳定位胞元,其中所述不稳定位胞元在所述第一物理不可克隆功能输出及所述第二物理不可克隆功能输出中的逻辑状态是不同的;屏蔽寄存器,被配置成存储所述至少一个不稳定位胞元的地址;屏蔽,用以排除所述至少一个不稳定位胞元的所述逻辑状态以产生物理不可克隆功能签名;以及移位寄存器,被配置成选择所述第二位胞元以产生所述物理不可克隆功能签名。
在相关实施例中,所述控制器进一步被配置成:向所述物理不可克隆功能胞元阵列中的所述多个位胞元写入预配置的逻辑状态;从所述物理不可克隆功能胞元阵列中的所述多个位胞元读取输出逻辑状态;确定所述物理不可克隆功能胞元阵列中的第三位胞元的第三数目,其中所述第三位胞元的所述输出逻辑状态不同于所述预配置的逻辑状态;如果所述物理不可克隆功能胞元阵列中的所述第三位胞元的所述第三数目小于第一预定数目,则确定所述第一位胞元的所述第一数目;如果所述第一位胞元的所述第一数目被确定为零,则确定所述第二位胞元的所述第二数目;在第三组操作条件下重新产生所述第二图,直至所述第一位胞元的所述第一数目被确定为零为止;以及基于对所述第二位胞元的所述第二数目与第二预配置的数目的比较而确定所述物理不可克隆功能产生器的合格性。
在相关实施例中,所述第一组操作条件包括应力操作条件,且所述第二组操作条件包括不同的温度及操作电压电平。
在相关实施例中,所述的物理不可克隆功能产生器进一步包括锁箱,被配置成在向服务器传送之前对所述物理不可克隆功能签名进行加密。
以上内容概述了若干实施例的特征以使所属领域中的普通技术人员可更好地理解本发明的各方面。所属领域中的技术人员应了解,他们可易于使用本发明作为基础来设计或修改其他工艺及结构以施行本文所介绍实施例的相同目的及/或实现本文所介绍实施例的相同优点。所属领域中的技术人员还应认识到,此种等效构造并不背离本发明的精神及范围,且在不背离本发明的精神及范围的条件下,他们可对本文作出各种改变、替代及变更。