CN109753830B - 物理不可克隆函数编码的产生方法及其产生的装置 - Google Patents

物理不可克隆函数编码的产生方法及其产生的装置 Download PDF

Info

Publication number
CN109753830B
CN109753830B CN201711074658.7A CN201711074658A CN109753830B CN 109753830 B CN109753830 B CN 109753830B CN 201711074658 A CN201711074658 A CN 201711074658A CN 109753830 B CN109753830 B CN 109753830B
Authority
CN
China
Prior art keywords
puf
clutter
programmable resistive
array
resistive memories
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711074658.7A
Other languages
English (en)
Other versions
CN109753830A (zh
Inventor
曾柏皓
林昱佑
许凯捷
李峰旻
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Macronix International Co Ltd
Original Assignee
Macronix International Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Macronix International Co Ltd filed Critical Macronix International Co Ltd
Priority to CN201711074658.7A priority Critical patent/CN109753830B/zh
Publication of CN109753830A publication Critical patent/CN109753830A/zh
Application granted granted Critical
Publication of CN109753830B publication Critical patent/CN109753830B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Semiconductor Memories (AREA)
  • Read Only Memory (AREA)

Abstract

本发明公开了一种物理不可克隆函数编码(PUF‑ID)的产生方法,包括:提供一PUF阵列,包括多个可编程电阻式存储器;对PUF阵列的所有可编程电阻式存储器进行一形成程序和一编程程序;进行一估算程序以估算PUF阵列的混乱度,其通过将一基础单元的一参考电流与通过所有可编程电阻式存储器的一电流总和进行比较,而得到一PUF混乱度;根据估算程序而确定一混乱度设定结果;以及根据混乱度设定结果而产生一PUF‑ID。

Description

物理不可克隆函数编码的产生方法及其产生的装置
技术领域
本发明属于芯片安全技术领域,涉及一种物理不可克隆函数(physicallyunclonable function,PUF)编码(identification,ID)的产生方法及产生一PUF-ID的装置,且特别是有关于一种包括估算和确定PUF混乱度(randomness)的一种产生PUF-ID的方法及其装置。
背景技术
物理不可克隆函数(physically unclonable function,PUF)是一种硬件固有安全技术(hardware intrinsic security,HIS),可产生芯片“指纹”来构造安全认证机制。应用PUF可避免企图从芯片窃取数字信息的物理攻击。静态随机存取存储器(Static Random-Access Memory,SRAM)是常见的其中一种PUF应用实施例例,其利用于电源供给状态下造成临界电压差异而产生芯片标识符。然而,SRAM PUF(例如包括6个晶体管)的构造占据较大尺寸,会对欲缩小PUF阵列尺寸造成影响。再者,SRAM PUF容易受到环境因素影响,例如SRAMPUF对于由温度变化和电压位准变化(例如电源电压VDD)所造成的干扰相当敏感。SRAM PUF之间的汉明距离(hamming distances)会随温度升高而增加,因而造成位错误率(biterror rate,BER)增加。所以,虽然SRAM PUF可提供具无规律性和独特性的PUF应用,但由于上述干扰引起的不稳定性(noise induced instability)而导致可靠度(reliability)不足是SRAM PUF应用上主要的顾虑之一。因此,对于特性表现良好的PUF应用,要求产生的PUF编码(PUF-ID)的位错误率降低,并且在辨识度上也需具有高度特殊性(high uniqueness)。
再者,一PUF阵列的例如数字信息“0”相对于数字信息“1”的一理想混乱度(其指出PUF阵列的低阻值状态和高阻值状态)约为50%相对于50%,此理想混乱度可提供在编码度上具有高度特殊性的PUF-ID。传统上,一PUF阵列的存储器的阻值以一个位接着一个位的方式进行检查以确定其阻值状态,非常耗时,也不适合应用于大型PUF阵列(例如64位、256位、1k位等等)的阻值检查。
发明内容
本发明有关于一种物理不可克隆函数编码(physically unclonable functionidentification,PUF-ID)的产生方法及产生PUF-ID的装置。根据实施例的方法,可以快速地和简单地判断出一PUF阵列的可编程电阻式存储器(programmable resistance memorycells)的阻值状态。
根据一些实施例,提出一种PUF-ID的产生方法,包括:提供一PUF阵列(PUFarray),包括多个可编程电阻式存储器(programmable resistance memory cells);对PUF阵列的所有可编程电阻式存储器进行一形成程序(forming procedure)和一编程程序(programing procedure);进行一估算程序(estimation process)以估算PUF阵列的混乱度,其通过将一基础单元(base unit)的一参考电流(reference current,IRef)与通过所有可编程电阻式存储器的一电流总和(a total current,IIotal)进行比较,而得到一PUF混乱度(a PUF randomness);根据估算程序而确定一混乱度设定结果;和根据混乱度设定结果而产生一PUF-ID。
根据一些实施例,又提出一种具有PUF-ID的装置,包括:一可编程存储器阵列(programmable memory array),设置于一基板的一PUF区域中;一程序控制器(programcontroller),设置于基板上且与可编程存储器阵列耦接;以及一安全逻辑单元(securitylogic unit),设置于基板上且耦接至程序控制器。程序控制器执行以下步骤,包括:对可编程存储器阵列包括的所有的多个可编程电阻式存储器进行一形成程序和一编程程序,其中可程序存储器阵列在执行编程程序后可产生一或多组数据(one or more data sets);进行一估算程序以估算PUF阵列的混乱度,其通过将一基础单元的一参考电流与通过所有可编程电阻式存储器的一电流总和进行比较,而得到一PUF混乱度(a PUF randomness);根据估算程序而确定一混乱度设定结果;以及根据混乱度设定结果而产生一PUF-ID。其中安全逻辑单元储存PUF-ID。
为了对本发明的上述及其他方面有更佳的了解,下文特举实施例,并配合所附附图详细说明如下。
附图说明
图1简绘本发明一实施例的一种装置的示意图。
图2为本发明一实施例的应用中包括8×8个可编程电阻式存储器的PUF阵列所产生的位映像(bit-mapping)示意图。
图3A为根据本发明一实施例的一种物理不可克隆函数编码的产生方法流程图。
图3B为一实施例中一示例的根据估算程序而确定一混乱度设定结果的流程图。
图4绘示根据本发明一实施例的一PUF阵列和电性连接PUF阵列的相关单元的示意图。
图5绘示一没有ReRAM的MOSFET以作为实施例的一示例的基础单元(base unit)的电流-电压特性曲线(I-V curves)。
图6A-6C绘示根据实施例的示例中PUF阵列的LRS和HRS存储器的三种组合。
图7为根据一应用例的一实施例中具有PUF-ID的装置的方框图。
【符号说明】
APUF:PUF区域;
AC:主功能区域;
10:基板;
201:基板表面;
301-305、3031:步骤;
41:第一控制单元;
42:第二控制单元;
43:第三控制单元;
SA1:第一感测放大器;
SA2:第二感测放大器;
SA3:第三感测放大器;
45:开关单元;
46:程序单元;
600:集成电路;
610:主功能电路;
615:访问控制单元;
620:输入/输出接口;
625:安全逻辑单元;
630:可编程存储器阵列;
640:程序控制器;
616、622、631、641:总线;
WL:字线;
BL:位线;
SL:源极线。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
根据本发明的实施例,提出一种物理不可克隆函数(physically unclonablefunction,PUF)编码(identification,ID)的产生方法及产生一PUF-ID的装置。根据实施例的方法,一PUF阵列的可编程电阻式存储器(programmable resistance memory cells)的阻值状态的一混乱度,可以被快速地和简单地判断出来,而可确定是否需要对PUF阵列的可编程电阻式存储器再次执行形成程序(forming procedure)和编程程序(programingprocedure)(例如设置(SET)程序),使PUF阵列混乱度达到接近一理想PUF混乱度(例如,50%的数字信息“0”相对于50%的数字信息“1”)。因此,通过本发明提出的PUF-ID产生方法,可使应用的PUF阵列产生一PUF-ID所需要的时间大幅缩短。
以下参照所附附图叙述本发明提出的实施例,以描述相关程序与装置。相关的结构细节例如PUF阵列和程序示例如下面实施例内容所述,并以一种应用实施例的产生一PUF-ID的方法为例做说明。然而,本发明并非仅限于所述内容与实施例,本发明并非显示出所有可能的实施例。再者,实施例中相同或类似的标号用以标示相同或类似的部分,而本发明有可能还有未提出的其他实施例也可能可以应用。本领域相关技术人员可在不脱离本发明的精神和范围内对实施例的结构加以变化与修饰,以符合实际应用所需。因此,说明书和附图内容仅作叙述实施例之用,而非作为限缩本发明保护范围之用。
再者,说明书与权利要求项中所使用的序数例如“第一”、“第二”等的用词,以修饰权利要求项的元件,其本身并不意含及代表该元件有任何之前的序数,也不代表某一元件与另一元件的顺序、或是制造方法上的顺序,该些序数的使用仅用来使具有某命名的一元件得以和另一具有相同命名的元件能作出清楚区分。
图1简绘本发明一实施例的一种装置的简示图。实施例提出的装置包括一基板10,具有一主功能区域(main function region)AC和一次功能区域(sub-function region)例如是PUF区域(PUF region)APUF。一实施例中,一可编程存储器阵列(例如是一PUF阵列)设置于PUF区域APUF中,而一主功能电路(main function circuits)(i.e.任务功能电路)则设置于主功能区域AC中。一实施例中,一PUF阵列例如包括多个可编程电阻式存储器(programmable resistance memory cells)具有晶体管,例如PUF-金属氧化物半导体场效应晶体管(PUF-MOSFET(1T))。
一可编程电阻式存储器一般包括一第一电极(first electrode)、第二电极(second electrode)、和位于第一电极和第二电极之间的一可编程金属氧化物存储元件(programmable metal oxide memory element)。在一形成程序(forming procedure)中,形成脉冲(forming pulse)可具有高到足以在存储器的可编程金属氧化物存储元件中生成一导电部分的电压。在一些金属氧化物存储器材料中,此导电部分能够包括由过渡材料的电场所引发并排列以提供一导电路径(conductive path)的氧空位(oxygen vacancies)。施加到可编程电阻式存储器的形成脉冲,能够使第一子集中的可编程电阻式存储器(firstsubset of the programmable resistance memory cells)形成导电细丝(conductivefilament)连接其第一电极和第二电极,且使得第二子集中的存储器未形成可连接第一电极和第二电极的导电细丝。于是,第一子集中的存储器能够在一低阻值状态(lowresistance state,LRS),而第二子集中的存储器能够在一高阻值状态(high resistancestate,HRS)。在形成程序之后,在一编程程序(例如设置(SET)程序)期间,施加到第一子集和第二子集的可编程电阻式存储器的编程脉冲(programming pulse),能够稳定并加强第一子集中存储器(i.e.LRS存储器)的导电细丝的导电性,并且第二子集中的存储器在编程程序之后仍然维持高阻值状态(亦即,仍未形成导电细丝)。前述低阻值状态和高阻值状态能够用于在数据集中指示数字信息“1”或“0”。
图2为本发明一实施例的应用中包括8×8个可编程电阻式存储器的PUF阵列所产生的位映像(bit-mapping)示意图。根据一实施例,具有开启的晶体管的可编程电阻式存储器(i.e.存储器在低阻值状态且大量电流可通过该些存储器)提供数字信息“0”,具有关闭的晶体管的可编程电阻式存储器(i.e.存储器在高阻值状态,且没有或是极小的电流通过该些存储器)提供数字信息“1”,因此在电源开启状态下(power-up state)于一阵列中引起的无规则数字信息所构成的组合(如图2所示的其中一种数字信息组合)可于实际应用中做为一个特殊的芯片指纹(chip“fingerprint”)来用。
在形成程序和编程程序(例如设置(SET)程序)执行后,必须检查PUF阵列的可编程电阻式存储器的数字信息“0”相对于数字信息“1”的混乱度。数字信息“0”相对于数字信息“1”的一理想混乱度(其指出PUF阵列的低阻值状态和高阻值状态)约为50%相对于50%,此理想混乱度可提供在辨识度上具有高度特殊性的PUF-ID。若经检查后的混乱度不在可接受的混乱度范围内,则将对PUF阵列的所有存储器再次进行如上述的形成程序和编程程序。实施例的方法提供一种简单快速的方式以估算PUF阵列的混乱度。
图3A为根据本发明一实施例的一种物理不可克隆函数编码的产生方法流程图。在一实施例中,提供包括多个可编程电阻式存储器(programmable resistance memorycells)的一PUF阵列(PUF array)(步骤301)。对PUF阵列的所有可编程电阻式存储器进行一形成程序(forming procedure)和一编程程序(programing procedure)(例如设置(SET)程序)(步骤302)。然后,进行一估算程序(estimation process)以估算该PUF阵列的混乱度,其估算方式是通过将一基础单元(base unit)(例如没有ReRAM的MOSFET)的一参考电流(reference current,IRef)与通过所有可编程电阻式存储器的一电流总和(a totalcurrent,ITotal)进行比较,而得到一PUF混乱度(a PUF randomness)(步骤303)。在估算程序后,根据估算程序而确定出一混乱度设定结果(a setting result of randomness)(步骤304)。根据混乱度设定结果而产生一PUF-ID(步骤305)。在一示例中,产生的一PUF-ID可以是(但不限制是)一组数据由数字值“0”和“1”组成,例如“00010101”、“01001001101”等等。
再者,形成程序、编程(ex:SET)程序和估算程序重复进行,直到得到的PUF混乱度落在一预定理想混乱度范围(a pre-determined ideal range ofrandomness)内为止。在一示例中,预定理想混乱度范围为接近一理想PUF混乱度例如50%的数字信息“0”相对于50%的数字信息“1”的一范围。图3B为一实施例中一示例的根据估算程序而确定一混乱度设定结果的流程图。如步骤3031,将PUF混乱度与一预定理想混乱度范围进行比较。若估算的PUF混乱度落在预定理想混乱度范围内,则确定一混乱度设定结果(步骤304)。若估算的PUF混乱度落在预定理想混乱度范围之外,则令所有可编程电阻式存储器再次进行形成程序和该编程程序(亦即再次进行步骤302),之后进行估算程序(步骤303)以获得一重建的PUF混乱度(a re-created PUF randomness)。
根据实施例的一估算程序,用来计算一PUF阵列的混乱度。一PUF阵列的混乱度(如步骤303所述)可通过比较一基础单元(例如没有ReRAM的MOSFET)的一参考电流(referencecurrent,IRef)与通过所有可编程电阻式存储器的一电流总和(a total current,ITotal)而得。以下提出一示例以叙述一基础单元的一参考电流、一PUF阵列的一电流总和的计算以及确定一PUF阵列的一PUF混乱度。再者,以下示例的一PUF阵列的可编程电阻式存储器排列成3×3阵列(i.e.PUF阵列包括9个可编程电阻式存储器)。
图4绘示根据本发明一实施例的一PUF阵列和电性连接PUF阵列的相关单元的示意图。PUF阵列共包括9个可编程电阻式存储器且排列成3×3阵列,其中一位线(bit line)BL连接同一行的存储器,一字线(word line)WL连接同一列的存储器,一源极线(sourceline)SL亦连接同一行的存储器。电性连接PUF阵列的相关单元(related units)包括一第一控制单元(first controlling unit)41电性连接至存储器的该些字线,一第二控制单元(second controlling unit)42电性连接至存储器的该些位线,以及一第三控制单元(third controlling unit)43电性连接至存储器的该些源极线。在一实施例中,第一控制单元41、第二控制单元42以及第三控制单元43例如是数据多任务器(multiplexers)可控制施加到字线、位线和源极线的电压。电性连接PUF阵列的相关单元还包括一第一感测放大器(a first sensing amplifier)SA1、一第二感测放大器(a second sensing amplifier)SA2和一第三感测放大器(a third sensing amplifier)SA3,以分别感测通过第一行、第二行、第三行的存储器的电流。进行估算程序时,施加预定电压而选择所有可编程电阻式存储器,之后读取一总电流,例如读取通过如图4所示的各行存储器的电流的总和。可通过一程序单元(processing unit)46(设置于如图6所示的一程序控制器(program controller)640处)来计算和获得电流总和,且一开关单元(switch unit)45设置于程序单元46和感测放大器(i.e.,SA1,SA2and SA3)之间以保护程序单元46(以及保护程序控制器640)。对于呈一高电阻状态(high resistance state,HRS)的一可编程电阻式存储器,仅一极小电流通过HRS存储器而在感测到的电流总和中可以被忽略。对于呈一低电阻状态(1ow resistancestate,LRS)的一可编程电阻式存储器,在供给电压后电流通过LRS存储器,此电流约等于通过一基础单元(base unit)(例如没有ReRAM的MOSFET)的一电流。因此,感测到的电流总和越大,PUF阵列中LRS存储器数目所占的百分比就越大。
图5绘示一没有ReRAM的MOSFET以作为实施例的一示例的基础单元(base unit)的电流-电压特性曲线(I-V curves)。图6A-6C绘示根据实施例的示例中PUF阵列的LRS和HRS存储器的三种组合。请同时参照图5和图6A-6C。
此示例中,估算程序期间,以没有ReRAM的一MOSFET(栅极宽度=0.42μ0,栅极长度=0.18μ0)作为一基础单元。如图5所示,绘示以不同电压(i.e.栅极电压Vg=0V,1V,2V,3V,4V)施加于字线的5条曲线,其中VD是施加于位线的读取电压。示例中,可根据一基础单元的I-V特性曲线来确定一参考电流(reference current,IRef)。如图5所示,一参考电流可定为
Figure BDA0001457345020000091
(在栅极电压Vg=4V和读取电压VD=1V条件下)。
在进行形成程序和编程(ex:SET)程序之后,PUF阵列中各个可编程电阻式存储器(标示为“ReRAM-PUF”)可能是呈一低电阻状态(LRS)或一高电阻状态(HRS)。在进行估算程序之前,如图6A(/图6B/图6C)所示的PUF阵列中HRS存储器和LRS存储器的数目是未知的。根据实施例的一估算程序,图6A的一电流总和约为
Figure BDA0001457345020000092
是通过对PUF阵列中所有可编程电阻式存储器施加4V于字线和1V于位线而获得的(0V于源极线)。根据实施例的估算方法,呈一低电阻状态(LRS)的可编程电阻式存储器的一数目由电流总和(ITotal)相对于参考电流(IRef)的一比例(ratio)而确定(取最接近的整数值)。亦即,ITata/IRef。因此,电流总和(ITotal)
Figure BDA0001457345020000093
相对于参考电流(IRef)
Figure BDA0001457345020000094
的比例等于1。这表示,图6A的PUF阵列具有1个低电阻状态(LRS)的可编程电阻式存储器,LRS存储器数目所占的百分比约11%。因此,图6A的PUF阵列的PUF混乱度为11%(低电阻)对89%(高电阻),此结果距离一理想混乱度(i.e.50%对50%)甚远。因此,这些可编程电阻式存储器需要再次进行形成程序和编程(ex:SET)程序(通过修改变化形成程序和编程程序的操作条件),以建立出LRS存储器和HRS存储器的另外组合(i.e.重新建立存储器内的导电细丝),并且之后进行估算程序以检查重建后更新的PUF混乱度(i.e.进行如图3B所示的步骤3031、302和303)。在逐个存储器检查的方式重新检查图6A的PUF阵列,其结果显示图6A的PUF阵列有8个HRS存储器和1个LRS存储器,此与实施例的估算方法的结果吻合。因此PUF阵列的PUF混乱度可以被快速地和简单地以实施例的估算程序所判断出来,实施例提供了一种节省时间的混乱度估算方式。
类似的,根据实施例的一估算程序,图6B的一电流总和约为1800
Figure BDA0001457345020000095
是通过对图6B的PUF阵列中所有可编程电阻式存储器施加4V于字线和1V于位线而获得的(0V于源极线)。电流总和(ITotal)
Figure BDA0001457345020000096
相对于参考电流(IRef)
Figure BDA0001457345020000097
(图5)的比例等于4。这表示,图6B的PUF阵列具有4个低电阻状态(LRS)的可编程电阻式存储器,LRS存储器数目所占的百分比约44%。因此,图6B的PUF阵列的PUF混乱度为44%(低电阻)对56%(高电阻)。
类似的,根据实施例的一估算程序,图6C的一电流总和约为3150
Figure BDA0001457345020000101
是通过对图6C的PUF阵列中所有可编程电阻式存储器施加4V于字线和1V于位线而获得的(0V于源极线)。电流总和(ITotal)
Figure BDA0001457345020000102
相对于参考电流(IRef)
Figure BDA0001457345020000103
(图5)的比例等于7。这表示,图6B的PUF阵列具有7个低电阻状态(LRS)的可编程电阻式存储器,LRS存储器数目所占的百分比约78%。因此,图6B的PUF阵列的PUF混乱度为78%(低电阻)对22%(高电阻),此将落在预定理想混乱度范围之外。
在一示例中,若当呈一低电阻状态(LRS)的可编程电阻式存储器的一数目为PUF阵列的所有可编程电阻式存储器的总数的40%-60%被视为PUF混乱度的一可接受范围时,“40%-60%(LR)对60%-40%(HR)”可被选择做为一预定理想混乱度范围。若PUF混乱度(例如图6B的44%(LR)对56%(HR))落在预定理想混乱度范围内,则可确定出混乱度设定结果(setting result of randomness)(如图3B的步骤304),且根据混乱度设定结果而产生一PUF-ID(如图3A的步骤305,且产生的PUF-ID例如是储存于之后叙述的安全逻辑单元625)。
因此,施加于一基础单元和一PUF阵列的导线(例如字线和位线)的电压必须相同,以获得用来相比较的基础单元的一参考电流和PUF阵列的一电流总和。在一示例中,这也可表示为,通过分别施加一第一电压和一第二电压于基础单元的晶体管的一栅极和一漏极,而得到实施例的一参考电流(IRef);而通过分别施加该第一电压和该第二电压于PUF阵列的所有可编程电阻式存储器的字线(WL)和位线(BL)而得到一电流总和(ITotal)。再者,若PUF阵列共包括Q个可编程电阻式存储器,且呈低电阻状态的可编程电阻式存储器的数目为X(根据上述ITotal/IRef的比例而确定),则PUF混乱度可表示为:(X/Q)×100%对((Q-X)/Q)×100%,其中X和Q均为正整数。通过比较PUF混乱度与一预定理想混乱度范围,根据估算程序而选择一混乱度设定结果(ex:步骤304)或是重复进行形成程序、编程程序和估算程序(ex:如图3B的步骤3031、302和303)等,都可以被确定。
虽然图4(或图6A-6C)所示例的PUF阵列是一3×3阵列,实际应用时并不仅限于此数目和排列方式的阵列。应用的一PUF阵列可能包括m×n个(m行和n列,存储器总数为m×n)可编程存储器的一矩阵形态的阵列、或其他存储器排列形态。实施例提出的方法适用于许多不同的存储器排列形态,也不仅限于矩阵形态的阵列。再者,上述基础单元在读取电压1V时所得到的参考电流(IRef)
Figure BDA0001457345020000111
为一示例值,仅用来示范说明实施例的估算程序,而非用以限制本发明。读取电压(VD)可以下降以降低所得到的电流总和(1total)。例如,当读取电压下降至0.01V时,基础单元的参考电流(IRef)可降至例如约1μAA。对于一个具有最佳混乱度(50%低电阻状态的存储器,50%高电阻状态的存储器)的1K位PUF阵列的应用,当读取电压为0.01V时所得到的电流总和为500μA。因此于一读取电流的应用中使用一适当读取电压有利于得到一适当的电流总和,也可避免金属线迁移(metal line migration)的问题。
图7为根据一应用例的一实施例中具有PUF-ID的装置的方框图。
在此应用示例中,一装置包括一集成电路600,具有一可编程存储器阵列630(例如一PUF阵列包括多个可编程电阻式存储器,设置于一基板的一PUF区域中)和一控制器(例如一程序控制器640),可编程存储器阵列630可产生一或多组数据(one or more datasets)。可选择其中一组数据(例如数字信息“0”和“1”混乱度接近50%和50%)为一最适数据组(optimum data set)(i.e.PUF-ID),以作为芯片的“指纹”。根据实施例,程序控制器640(设置于基板上且例如利用总线641与可编程存储器阵列630耦接)执行以下步骤包括:对该可编程存储器阵列包括的所有可编程电阻式存储器进行一形成程序(formingprocedure)和一编程(ex:SET)程序(如图3A的步骤302),其中可编程存储器阵列在执行编程程序后可产生一或多组数据(one or more data sets);进行一估算程序(estimationprocess)以估算PUF阵列的混乱度,其通过将一基础单元(ex:无ReRAM的MOSFET)的一参考电流(IRef)与通过所有可编程电阻式存储器的一电流总和(Total)进行比较,而得到一PUF混乱度(a PUF randomness)(如图3A、3B的步骤step 303);根据该估算程序而确定一混乱度设定结果(如图3A、3B的步骤step 304);以及根据混乱度设定结果而产生一PUF-ID(如图3A的步骤step 305)。
在此示例的装置中,程序控制器640可提供信号以控制偏压配置供给电压的应用(application of bias arrangement supply voltages),而对可编程存储器阵列的存储器单元执行形成程序、和编程(ex:SET)程序(如图3A的步骤302)和其他与存取可编程存储器阵列630相关的操作,且程序控制器640亦读取在执行编程程序后所产生的一或多组数据并执行估算程序。
集成电路600包括主功能电路(mission function circuit)610,可包括特殊目的的逻辑电路(有时可称作特殊应用集成电路)、例如用在微型处理器和数字信号处理器的数据处理来源、大型存储器例如闪存、动态随机存取存储器、可编程电阻式存储器,和于一芯片中现有可应用的各种形态电路的组合。集成电路600包括一输入/输出接口(input/output(I/O)interface)620,其具有无线或有线端口使其他元件或网络可藉此存取。在此示例中,一访问控制单元615设置于输入/输出接口620与主功能电路610之间。访问控制单元615利用总线616耦接至输入/输出接口620,且利用总线611耦接至主功能电路610。访问控制单元615可执行一访问控制协议(access control protocol)以致使或拒绝输入/输出接口620与主功能电路610之间的沟通。
为协助访问控制单元615,示例中还包括一安全逻辑单元(security logic unit)625设置于芯片中。安全逻辑单元625与可程序存储器阵列630电性连接,且安全逻辑单元625可以自一或多组资料中选择储存一特殊数据组(one unique data set)作为PUF-ID。安全逻辑单元625可通过程序控制器640(例如PUF程序控制器)和总线631获得此特殊数据组(i.e.the PUF-ID),且安全逻辑单元625利用此特殊数据组(储存于安全逻辑单元625)通过总线622与访问控制单元615沟通。
根据上述,提出一种物理不可克隆函数编码(PUF-ID)的产生方法及产生一PUF-ID的装置。根据实施例的方法,一PUF阵列的可编程电阻式存储器的阻值状态的一混乱度,可以用一简单方式迅速地被判断出来。因此,可迅速确定是否需要对PUF阵列的可编程电阻式存储器再次执行形成程序和编程程序(例如设置程序)以重新获得一个低阻值和高阻值状态的新组合。据此,利用实施例的方法,可使产生一具有高度特殊性的PUF-ID(使PUF阵列混乱度达到接近一理想PUF混乱度例如,50%的数字信息“0”相对于50%的数字信息“1”)所需要的时间可以大幅降低。再者,根据实施例的方法,一PUF阵列的混乱度估算(randomnessestimation)可以精准地被估算出来,而可正确地获得PUF阵列的阻值相关信息。因此,根据实施例的PUF-ID产生方法不仅大幅节省PUF混乱度估算所需的时间,还提供了本质上确实具有高度特殊性的一PUF-ID。
其他实施例,例如元件/装置的已知构件有不同的设置与排列等,亦可能可以应用,根据应用时的实际需求与条件而可作适当的调整或变化。因此,说明书与附图中所示的结构仅作说明之用,并非用以限制本发明欲保护的范围。另外,相关技术人员当知,实施例中构成部件的形状和位置以及方法步骤的细节亦并不限于附图所绘示的实施例,亦是根据实际应用时的需求和/或制造步骤在不悖离本发明的精神的情况下而可作相应调整。
综上所述,虽然本发明已以实施例公开如上,然其并非用以限定本发明。本发明所属技术领域中具有公知常识的技术人员,在不脱离本发明的精神和范围内,当可作各种的改动与润饰。因此,本发明的保护范围当以的权利要求书所界定的范围为准。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种物理不可克隆函数编码的产生方法,包括:
提供一PUF阵列,包括多个可编程电阻式存储器;
对该PUF阵列的所有的该些可编程电阻式存储器进行一形成程序和一编程程序;
进行一估算程序以估算该PUF阵列的混乱度,其通过将一基础单元的一参考电流与通过所有该些可编程电阻式存储器的一电流总和进行比较,而得到一PUF混乱度;
根据该估算程序而确定一混乱度设定结果;以及
根据该混乱度设定结果而产生一PUF-ID。
2.根据权利要求1所述的物理不可克隆函数编码的产生方法,其中呈一低电阻状态的该些可编程电阻式存储器的一数目由该电流总和相对于该参考电流的一比例而确定。
3.根据权利要求2所述的物理不可克隆函数编码的产生方法,其中该PUF阵列包括Q个该些可编程电阻式存储器,且呈该低电阻状态的该些可编程电阻式存储器的该数目确定为X,则该PUF混乱度为:(X/Q)×100%对((Q-X)/Q)×100%,其中X和Q均为正整数,
其中当所估算的该PUF混乱度在40%-60%对60%-40%的范围内,确定为该混乱度设定结果。
4.根据权利要求1所述的物理不可克隆函数编码的产生方法,其中通过分别施加一第一电压和一第二电压于该基础单元的一晶体管的一栅极和一漏极,而得到该参考电流IRef
5.根据权利要求4所述的物理不可克隆函数编码的产生方法,其中通过分别施加该第一电压和该第二电压于所有该些可编程电阻式存储器的字线和位线,而得到该电流总和ITotal
6.根据权利要求1所述的物理不可克隆函数编码的产生方法,还包括:
将该PUF混乱度与一预定理想混乱度范围进行比较,其中若该PUF混乱度落在该预定理想混乱度范围内,则确定为该混乱度设定结果;若该PUF混乱度落在该预定理想混乱度范围之外,则令所有该些可编程电阻式存储器再次进行该形成程序和该编程程序。
7.根据权利要求1所述的物理不可克隆函数编码的产生方法,其中重复进行该形成程序、该编程程序和该估算程序,直到得到的该PUF混乱度落在一预定理想混乱度范围内为止。
8.根据权利要求1项所述的物理不可克隆函数编码的产生方法,其中当呈一低电阻状态的该些可编程电阻式存储器的一数目为该PUF阵列的该些可编程电阻式存储器的总数的40%-60%时,确定为该混乱度设定结果。
9.一种具有物理不可克隆函数编码的装置,包括:
一可编程存储器阵列,设置于一基板的一PUF区域中;
一程序控制器,设置于该基板上,且与该可编程存储器阵列耦接,该程序控制器执行以下步骤,包括:
对该可编程存储器阵列包括的所有的多个可编程电阻式存储器进行一形成程序和一编程程序,其中该可编程存储器阵列在执行该编程程序后可产生一或多组数据;
进行一估算程序以估算该PUF阵列的混乱度,其通过将一基础单元的一参考电流IRef与通过所有该些可编程电阻式存储器的一电流总和ITotal进行比较,而得到一PUF混乱度;
根据该估算程序而确定一混乱度设定结果;以及
根据该混乱度设定结果而产生一PUF-ID;以及
一安全逻辑单元,设置于该基板上且耦接至该程序控制器,其中该安全逻辑单元储存该PUF-ID。
10.根据权利要求9所述的装置,其中呈一低电阻状态的该些可编程电阻式存储器的一数目由该电流总和相对于该参考电流的一比例而确定,其中该可编程存储器阵列包括Q个该些可编程电阻式存储器,且呈该低电阻状态的该些可编程电阻式存储器的该数目确定为X,则该PUF混乱度为:(X/Q)×100%对((Q-X)/Q)×100%,其中X和Q均为正整数。
CN201711074658.7A 2017-11-03 2017-11-03 物理不可克隆函数编码的产生方法及其产生的装置 Active CN109753830B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711074658.7A CN109753830B (zh) 2017-11-03 2017-11-03 物理不可克隆函数编码的产生方法及其产生的装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711074658.7A CN109753830B (zh) 2017-11-03 2017-11-03 物理不可克隆函数编码的产生方法及其产生的装置

Publications (2)

Publication Number Publication Date
CN109753830A CN109753830A (zh) 2019-05-14
CN109753830B true CN109753830B (zh) 2023-04-28

Family

ID=66399456

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711074658.7A Active CN109753830B (zh) 2017-11-03 2017-11-03 物理不可克隆函数编码的产生方法及其产生的装置

Country Status (1)

Country Link
CN (1) CN109753830B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160276A (zh) * 2015-08-12 2015-12-16 苏州芯动科技有限公司 一种物理不可克隆功能电路
CN106297863A (zh) * 2016-08-09 2017-01-04 复旦大学 可双重预充电的puf存储器及其密码生成方法
CN107220563A (zh) * 2017-04-29 2017-09-29 苏州芯动科技有限公司 一种基于电容偏差的puf电路

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105160276A (zh) * 2015-08-12 2015-12-16 苏州芯动科技有限公司 一种物理不可克隆功能电路
CN106297863A (zh) * 2016-08-09 2017-01-04 复旦大学 可双重预充电的puf存储器及其密码生成方法
CN107220563A (zh) * 2017-04-29 2017-09-29 苏州芯动科技有限公司 一种基于电容偏差的puf电路

Also Published As

Publication number Publication date
CN109753830A (zh) 2019-05-14

Similar Documents

Publication Publication Date Title
US10103895B1 (en) Method for physically unclonable function-identification generation and apparatus of the same
EP3133603B1 (en) Code generating apparatus and one time programming block
US11404958B2 (en) Random code generator and associated random code generating method
US9811689B1 (en) Chip ID generation using physical unclonable function
CN107944301B (zh) 反熔丝物理不可复制电路以及相关控制方法
US10410719B2 (en) Non-volatile memory device including a memory cell in a variable state and a memory cell in an initial state
TW201921280A (zh) 在用於物理不可複製功能安全之一次可程式化記憶體單元中之閘極氧化物崩潰
US11416416B2 (en) Random code generator with non-volatile memory
US10049734B2 (en) Data storing method of non-volatile memory device by assigning an initial state to data
US10439829B1 (en) Physical unclonable function code generating method and providing apparatus thereof
TWI627555B (zh) 物理不可複製函數辨識之產生方法及其產生之裝置
JP6107682B2 (ja) 半導体記憶装置及び半導体記憶装置の制御方法
US9852791B1 (en) Semiconductor memory device, chip ID generation method thereof and manufacturing method thereof
KR20180094170A (ko) 식별자를 생성하기 위한 메모리 장치, 메모리 컨트롤러, 및 그의 동작 방법
CN108243003B (zh) 在集成电路上生成数据集的方法、集成电路及其制造方法
TWI625733B (zh) 產生積體電路固有資訊的裝置及方法
CN109753830B (zh) 物理不可克隆函数编码的产生方法及其产生的装置
CN110751968A (zh) 用于puf的电路结构、获取puf数据的方法及电子设备
US10170163B2 (en) Device and method for generating inherent information of integrated circuits for authentication purpose
CN108538880B (zh) 半导体元件及具有此半导体元件的装置
US10269441B1 (en) Systems and methods for threshold voltage modification and detection
CN111314058B (zh) 物理不可复制功能码产生方法及其提供装置
US11978513B2 (en) Generating patterns for memory threshold voltage difference
US20240113715A1 (en) Generating physical unclonable function data from a transistor of a semiconductor device
TW201837908A (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
TG01 Patent term adjustment