存储器元件的制作方法

文档序号:14716592发布日期:2018-06-16 01:28阅读:326来源:国知局
存储器元件的制作方法

本公开有关于一种存储器元件,且特别有关于一种具有互相汉明差异分析器的存储器元件。



背景技术:

尽管集成电路(IC)是批量制造的,但是由于物理性随机,即使使用相同的制造工艺和相同材料,每一集成电路都是独特的。可获取天生的差异并作为其独特的识别,例如DNA或人的指纹。近来,安全研究人员提出了不同的方法利用物理性随机来建立物理性不可复制功能(physically unclonable function,PUF)。一种类型的PUF是建立在SRAM存储器阵列内。使用SRAM来建立PUF的方法是基于SRAM中存储单元的上电状态(power-up state)。



技术实现要素:

本公开提供一种存储器元件。存储器元件包括一存储器阵列以及一互相汉明距离分析器。存储器阵列包括多个区段,其中每一区段包括多个位元,以及多个区段的位元的数量是相同的。互相汉明差异分析器得到操作在不同操作条件下的多个区段的内容,以得到内容的多个互相汉明差异,并从多个区段的互相汉明差异中提供一最大互相汉明差异以及一最小互相汉明差异。互相汉明差异表示对应于一第一操作条件的多个区段的一区段的内容与对应于不同于第一操作条件的一第二操作条件的多个区段的另一区段的内容之间的不相似位元的数量。

附图说明

图1是显示根据本发明一些实施例所述的存储器元件;

图2是显示根据本发明一些实施例所述的图1的互相汉明距离分析器的示范图;

图3是显示根据本发明一些实施例所述的用以测量图1的存储器阵列的互相汉明距离的方法;

图4A是显示存储器阵列在第一操作条件Cond_1下的PUF的示范响应;

图4B是显示存储器阵列在第二操作条件Cond_2下的PUF的示范响应;

图4C是显示存储器阵列在第三操作条件Cond_3下的PUF的示范响应;

图5A是显示用以说明图4A的区段410B至区段410D与图4B的区段420A之间内容的互相汉明距离的表格;

图5B是显示用以说明图4A的区段410A、区段410C和区段410D与图4B的区段420B之间的内容的互相汉明距离的表格;

图5C是显示用以说明图4A的区段410A、区段410B和区段410D与图4B的区段420C之间的内容的互相汉明距离的表格;

图5D是显示用以说明图4A的区段410A至区段410C与图4B的区段420D之间的内容的互相汉明距离的表格;

图6A是显示用以说明图4A的区段410B至区段410D与图4C的区段430A之间内容的互相汉明距离的表格;

图6B是显示用以说明图4A的区段410A、区段410C与区段410D与图4C的区段430B之间内容的互相汉明距离的表格;

图6C是显示用以说明图4A的区段410A、区段410B与区段410D与图4C的区段430C之间的内容的互相汉明距离的表格;

图6D是显示用以说明图4A的区段410A至区段410C与图4C的区段430D之间的内容的互相汉明距离的表格;以及

图7是显示根据本发明一些实施例所述的用以测试图1的存储器阵列的测试方法。

附图标记说明:

100~存储器元件;

110~互相汉明距离分析器;

120~存储器阵列;

210~控制器;

220~时钟发生器;

230~电源管理单元;

240~汉明量比较器;

250~互相汉明距离计数器;

260~存储元件;

410A-410D、420A-420D、430A-430D、SEC_1-SEC_n~区段;

ADDR~位址信号;

CLK~操作时钟;

CMD~命令信号;

Cond_1~第一操作条件;

Cond_2~第二操作条件;

Cond_3~第三操作条件;

Ctrl_clk、Ctrl_pwr~控制信号;

DAT~数据;

MAX_HD~最大互相汉明距离;

MIN_HD~最小互相汉明距离;

PWR~电源供应;

S310-S350、S710-S770~操作;以及

XOR_SECTION~中间结果。

具体实施方式

为让本公开的上述和其他目的、特征、和优点能更明显易懂,下文特举出优选实施例,并配合说明书附图,作详细说明如下:

以下的公开内容提供许多不同的实施例或范例以实施本公开的不同特征。以下的公开内容叙述各个构件及其排列方式的特定范例,以简化说明。另外,以下公开书不同范例可能重复使用相同的参考符号及/或标记。这些重复为了简化与清晰的目的,并非用以限定所讨论的不同实施例及/或结构之间有特定的关系。

下文描述实施例的各种变化。通过各种视图与所示出的实施例,类似的元件标号用于标示类似的元件。应可理解的是,额外的操作步骤可实施于所述方法之前、之间或之后,且在所述方法的其他实施例中,可以取代或省略部分的操作步骤。

称为物理性不可复制功能(Physically Unclonable Function,PUF)的物理功能被用作集成电路(IC)或芯片的安全特征。密码学中的PUF是一种容易评估和产生输出但是输出很难预测的物理物件。PUF可以用作安全计算和通信中的唯一标识或是密钥,其中PUF具有挑战性并且需要响应(response)。假如响应符合预先约定的响应,则PUF会被验证为可靠的集成电路或是芯片。

PUF应该具有下列特性:唯一性(例如独特性)、固有的(例如天生)、不可复制(例如不能被模仿),并且是可重复的(例如可靠的)。

关于唯一性,每一PUF是有特色的,并与相同芯片上或其他芯片上的所有其他PUF不同。

关于固有的,每一PUF基于PUF的固有特性而产生其独特的输出。

关于不可复制,即使使用精确的制造程序也不可能做出精确的复制品。

关于重复性,PUF的响应(或输出)不应该受到环境和使用寿命的影响。

可以通过汉明距离/差异(Hamming distances/differences,HD)来定义和测量属性之一的“唯一性”。PUF有两种类型的汉明距离:汉明内部距离/差异(Intra-HD)以及互相汉明距离/差异(Inter-HD)。

汉明内部距离表示当同一挑战应用于同一PUF两次时的两个响应之间的差异,即汉明内部距离是相同PUF在不同时间操作之间的汉明距离。汉明内部距离度量可以在单一集成电路上测量PUF位元的多次读取之间的汉明距离。汉明内部距离可以帮助来量化PUF的可靠性以及PUF的位元的错误率。汉明内部距离为0表示PUF是完美可重复的。

互相汉明距离是不同PUF之间的汉明距离。互相汉明距离可评估PUF的独特性,且一般应相当接近PUF长度的一半。例如,来自不同PUF的互相汉明距离的响应应该尽可能接近50%,因为PUF的响应是随机为二进位的50%的“0”和50%的“1”。假如PUF的所有响应的互相汉明距离为50%,则每一PUF将具有不同的特征,且每一PUF都是唯一的。有不同的方式可以建立PUF。基于存储器的PUF被认为是非常有效且具有低成本。在基于存储器的PUF的类型中,基于SRAM的PUF非常受欢迎。一个重要的特性任务是验证使用存储器(如SRAM)所产生的PUF所具有的互相汉明距离会尽可能地接近50%。

图1是显示根据本发明一些实施例所述的存储器元件100。存储器元件100包括互相汉明距离/差异(inter-hamming distance/difference,Inter-HD)分析器110以及存储器阵列120。存储器阵列120是由安排在阵列内的多个存储单元所形成,且存储单元划分成多个区段(section)SEC_1至SEC_n。在一些实施例中,区段SEC_1至区段SEC_n在存储器阵列120内具有个别的位置。此外,在区段SEC_1至区段SEC_n的每一区段内存储单元的数量是相同的。例如,在区段SEC_1中存储单元的数量相同于在区段SEC_2中存储单元的数量。

互相汉明距离分析器110可测量存储器阵列120的区段SEC_1至区段SEC_n的互相汉明距离,以及区段SEC_1至区段SEC_n的内容包括在操作条件下的PUF的响应(response)。在信息理论中,具有相同数量的字元(character)的两区段的内容之间的互相汉明距离是指两区段的内容中所对应的字元不相同的位置的数量。此外,为了使两区段的内容能完全地匹配,互相汉明距离表示欲被替换的字元数量。每一区段的内容包括一个二进制串,其是一个二进制字元0和1的字元串。两二进制字元串(或向量)之间的互相汉明距离是该两二进制字元串之间不相同的位元的数量。

在一些实施例中,互相汉明距离分析器110会提供电源供应PWR以及操作时钟CLK以对存储器阵列120进行供电。在一些实施例中,电源供应PWR与操作时钟CLK是控制信号,用以控制存储器阵列120的电源供应与时钟的特性。当存储器阵列120被启动时(即电力开启状态),互相汉明距离分析器110会经由所对应的总线而提供命令信号CMD以及位址信号ADDR至存储器阵列120,以便从存储器阵列120中读取出数据DAT。数据DAT包括存储器阵列120中的一或多个区段的内容。再者,所读取的区段具有对应于位址信号ADDR的位置。

相应于命令信号CMD和位址信号ADDR,存储器阵列120可在对应于来自于互相汉明距离分析器110的电源供应PWR的电压电平以及操作时钟CLK的频率值的操作条件下提供PUF的响应。

通过提供具有可变电压电平的电源供应PWR以及可变频率值的操作时钟CLK,互相汉明距离分析器110可得到在不同操作条件下的PUF的不同响应的内容。根据PUF的不同响应的内容,互相汉明距离分析器110会判断响应之间的互相汉明距离,以提供存储器阵列120的最大互相汉明距离MAX_HD以及最小互相汉明距离MIN_HD。

图2是显示根据本发明一些实施例所述的图1的互相汉明距离分析器110的示范图。在一些实施例中,互相汉明距离分析器110与存储器阵列120设置在集成电路内。

同时参考图1与图2,互相汉明距离分析器110包括控制器210、时钟发生器220、电源管理单元230、汉明量(大小)比较器240、互相汉明距离计数器250以及存储元件260。

时钟发生器220是耦接于控制器210。控制器210可提供控制信号Ctrl_clk至时钟发生器220,以便提供操作时钟CLK至存储器阵列120并控制操作时钟CLK的特性。例如,相应于控制信号Ctrl_clk,可控制或改变操作时钟CLK的特性,例如频率、工作周期(duty cycle)、变化率(slew rate)等。存储器阵列120的操作条件是根据操作时钟CLK的特性所决定。

电源管理单元230耦接于控制器210。控制器210能提供控制信号Ctrl_pwr至电源管理单元230,以便提供电源供应PWR至存储器阵列120并控制电源供应PWR的特性。例如,相应于控制信号Ctrl_pwr,可控制或改变电源供应PWR的特性,例如电压电平。此外,存储器阵列120的操作条件是根据电源供应PWR的特性所决定。

在一些实施例中,操作时钟CLK与电源供应PWR由独立于互相汉明距离分析器110的其他电路所提供。相似地,互相汉明距离分析器110能提供控制信号Ctrl_clk与Ctrl_pwr至电路,以便控制欲提供至存储器阵列120的操作时钟CLK以及电源供应PWR的特性。

当提供具有第一电压电平V1(未显示)的电源供应PWR及/或具有第一频率值F1(未显示)的操作时钟CLK至存储器阵列120时,存储器阵列120在第一操作条件Cond_1下被上电,以及基于存储器阵列120的存储单元的开机状态可得到对应于第一操作条件Cond_1的PUF的响应。接着,互相汉明距离分析器110会提供对应于区段SEC_1至区段SEC_n的位址信号ADDR以及命令信号CMD至存储器阵列120,以便读取对应于第一操作条件Cond_1且关于PUF的响应的数据DAT,即按序读取区段SEC_1至区段SEC_n的内容。在得到区段SEC_1至区段SEC_n的内容之后,控制器210会将区段SEC_1至区段SEC_n的内容存储至存储元件260。

存储元件260是存储器阵列,其是用来存储或复制在第一操作条件Cond_1下的PUF的响应。在一些实施例中,存储元件260是用来存储对应于初始操作条件的PUF的初始响应。在一些实施例中,存储元件260是由多个存储单元所形成,且存储单元亦划分成多个区段SEC_1至SEC_n。在一些实施例中,存储元件260的容量相同于存储器阵列120。此外,来自存储器阵列120的区段SEC_1至区段SEC_n的内容分别存储在存储元件260中所对应的区段SEC_1至区段SEC_n。例如,来自存储器阵列120的区段SEC_1的内容存储在存储元件260的区段SEC_1、来自存储器阵列120的区段SEC_2的内容存储在存储元件260的区段SEC_2等。

对应于第一操作条件Cond_1的区段SEC_1至区段SEC_n的内容存储至存储元件260之后,控制器210会提供控制信号Ctrl_clk与Ctrl_pwr至时钟发生器220与电源管理单元230,以便提供具有第二电压电平V2(未显示)的电源供应PWR及/或具有第二频率值F2(未显示)的操作时钟CLK于第二操作条件Cond_2下对存储器阵列120上电。相似地,当存储器阵列120以第二操作条件Cond_2上电时,基于存储器阵列120的存储单元的开机状态可得到对应于第二操作条件Cond_2的PUF的响应。接着,互相汉明距离分析器110会提供对应于区段SEC_1至区段SEC_n的位址信号ADDR与命令信号CMD至存储器阵列120,以便按序读取在第二操作条件Cond_2下关于区段SEC_1至区段SEC_n的内容的数据DAT。

在接收来自存储器阵列120的区段SEC_1至区段SEC_n之后,汉明量比较器240可得到对应于第二操作条件Cond_2的区段(即来自存储器阵列120的区段)与对应于第一操作条件Cond_1的区段(即存储于存储元件260的区段)之间的互相汉明距离。如先前所描述,来自存储器阵列120的区段包括在第二操作条件Cond_2下的PUF的响应,而存储在存储元件260的区段包括在第一操作条件Cond_1下的PUF的响应。接着,互相汉明距离计数器250在存储器阵列120的所有互相汉明距离中找到最高值以作为最大互相汉明距离MAX_HD,并在所有互相汉明距离中找到最低值以作为最小互相汉明距离MIN_HD。汉明量比较器240与互相汉明距离计数器250的操作将详细描述于后。

图3是显示根据本发明一些实施例所述的用以测量图1的存储器阵列120的互相汉明距离的方法。在一些实施例中,图3的方法是由图1的互相汉明距离分析器110所执行。存储器阵列120是由多个存储单元所形成,且存储单元划分成多个区段SEC_1至SEC_n。每一区段SEC_1至区段SEC_n的每一区段在存储器阵列120内具有个别的位置。此外,区段SEC_1至区段SEC_n的尺寸是相同的。图3的方法能够测量各种类型的存储器阵列的互相汉明距离。此外,图3中所描述的一些操作可以替代、消除或移动以用于该方法的额外实施例,以及可在方法之前、期间和之后提供额外的操作。

在操作S310中,存储器阵列120在第一操作条件Cond_1下被上电,并得到对应于第一操作条件Cond_1的区段SEC_1至区段SEC_n的多个内容。如先前所述描述,基于存储器阵列120中存储单元的上电状态而得到包括于第一操作条件Cond_1下的PUF的响应的区段SEC_1至区段SEC_n的内容。此外,对应于第一操作条件Cond_1的区段SEC_1至区段SEC_n的内容存储在存储器阵列内,例如图1的存储元件260。在一些实施例中,第一个操作条件Cond_1是用于测量存储器阵列120的初始操作条件。在第一操作条件Cond_1中,具有第一电压电平V1的电源供应PWR及/或具有第一频率值F1的操作时钟CLK会应用于存储器阵列120。

在操作S320中,存储器阵列120是在不同于第一操作条件Cond_1的新操作条件下(例如第二操作条件Cond_2)下被上电,而在新的操作条件下可得到包括PUF的响应的区段SEC_1至区段SEC_n的新内容。新操作条件的电源供应PWR及/或操作时钟CLK的特性不同于第一操作条件Cond_1。

在操作S330中,可决定、测量或得到在第一操作条件Cond_1下具有一位置的区段的内容与在新操作条件下具有其他位置的其他区段的内容之间的互相汉明距离。如何确定互相汉明距离的示范例将显示于图4A-图6D。在一些实施例中,互相汉明距离是由图1的汉明量比较器240所决定。此外,在第一操作条件Cond_1与新操作条件下具有相同位置的区段的内容之间的相互汉明距离不会被决定。假如存储器阵列120的区段SEC_1到区段SEC_n的数量为N,则在操作S330中所得到的互相汉明距离的数量是N×(N-1)。汉明距离的数量将描述于后。

在操作S340中,判断存储器阵列120中的互相汉明距离的测量是否完成。假如存储器阵列120的测量尚未完成,则再次执行操作S320和操作S330。于是,存储器阵列120在不同于先前的操作条件的新操作条件被上电,且可得到在新操作条件下包括PUF的响应的区段SEC_1至区段SEC_n的新内容。此外,可决定在第一操作条件Cond_1下具有一位置的区段的内容与在新操作条件下具有其他位置的其他区段的内容之间的互相汉明距离。

假如已完成存储器阵列120的测量,则在操作S350中可得到存储器阵列120的全部汉明距离中的最大互相汉明距离MAX_HD和最小互相汉明距离MIN_HD。于是,根据最大互相汉明距离MAX_HD和最小互相汉明距离MIN_HD可得到存储器阵列120的互相汉明距离范围。在一些实施例中,存储器阵列120的互相汉明距离(Inter-HD)范围与汉明内部距离(Intra-HD)范围不会重叠。在一些实施例中,存储器阵列120的汉明内部距离是事先得到的。假如确定互相汉明距离范围不会重叠于汉明内部距离范围,则表示存储器阵列120的验证是成功的,并可确认存储器阵列120的PUF会难以预测,例如PUF足以作为存储器阵列120的安全特征。反之,假如互相汉明距离范围与汉明内部距离范围会重叠,则表示存储器阵列120的验证不成功,并可确认存储器阵列120的PUF可容易预测,例如PUF不适合作为存储器阵列120的安全特征。

在一些实施例中,图3的方法是由图2的互相汉明距离分析器110、控制器、微控制器、处理器或是基于一或多个微处理器、微控制器、数字信号处理器、可编程逻装置等处理电路等所执行。此外,欲被测量的存储器阵列120、互相汉明距离分析器110、控制器或是微控制器是实现于集成电路或芯片(或晶粒)。通过使用测试装置来测量集成电路,可以在线方式(on-line)得到最大互相汉明距离MAX_HD、最小互相汉明距离MIN_HD以及互相汉明距离范围,而不须以离线方式(off-line)载入所有响应的内容,以及图7将更详细的描述。

图4A-图4C分别表示在存储器阵列120A的三个操作条件Cond_1至Cond_3下的PUF的示范响应。为了简化说明,存储器阵列120A是能存储16位元的响应的存储器阵列,而16位元的响应可划分成4个区段SEC_1至SEC_4。

在一些实施例中,每一区段的位元数(k)等于M/N(即k=M/N),其中M表示存储器阵列中的全部位元的数量,而N表示存储器阵列中的区段的数量。例如,在图4A-图4C中,区段SEC_1至区段SEC_4中每一区段的位元数为4(即16/4=4)。

图4A是显示存储器阵列120A在第一操作条件Cond_1下的PUF的示范响应。在图4A中,假设在第一操作条件Cond_1下的响应为“0101010101010101”,则区段SEC_1至区段SEC_4的内容分别为“0101”、“0101”、“0101”和“0101”。为了简化说明,在第一操作条件Cond_1下区段SEC_1至区段SEC_4分别被命名为区段410A至区段410D。

图4B是显示存储器阵列120A在第二操作条件Cond_2下的PUF的示范响应。在图4B中,假设在第二操作条件Cond_2下的响应为“0100010101010101”,则区段SEC_1至区段SEC_4的内容分别为“0100”、“0101”、“0101”和“0101”。为了简化说明,在第二操作条件Cond_2下区段SEC_1至区段SEC_4分别被命名为区段420A至区段420D。

图4C是显示存储器阵列120A在第三操作条件Cond_3下的PUF的示范响应。在图4C中,假设在第三操作条件Cond_3下的响应为“1000100001100110”,则区段SEC_1至区段SEC_4的内容分别为“1000”、“1000”、“0110”和“0110”。为了简化说明,在第三操作条件Cond_3下区段SEC_1至区段SEC_4分别被命名为区段430A至区段430D。

在4个区段SEC_1至SEC_4中的互相汉明距离是在工作条件Cond_1至工作条件Cond_3下的4个区段SEC_1至SEC_4之间有差异的位元数量。对于在不同操作条件下的两个不同区段的内容而言,互相汉明距离表示两个不同区段的内容中不相同的位元的数量。例如,以图4A的区段410A与图4B的区段420B作为例子来说明,区段410A的内容“0101”相同于区域420B的内容“0101”,而区段410A和区段420B之间的互相汉明距离等于零。再者,以图4B的区段420A与图4C的区段430C作为例子来说明,区段420A的内容“0100”不同于区段430C的内容“0110”,以及由于最接近最低有效位(LSB)的位元(即倒数第二位元)是不同的,所以区段420A与区段430C的互相汉明距离等于1。

图5A-图5D是显示用以说明图4A的第一操作条件Cond_1与图4B的第二操作条件Cond_2的区段SEC_1至区段SEC_4之间的内容的互相汉明距离的表格。

图5A是显示用以说明图4A的区段410B至区段410D与图4B的区段420A之间内容的互相汉明距离的表格。

同时参考图2和图5A,假设图4A的区段410A至区段410D(例如在第一操作条件Cond_1下的区段SEC_1至区段SEC_4)的内容已事先存储在图2的存储元件260中。当从存储器阵列120A中得到在第二个操作条件下的一区段的内容时,互相汉明距离分析器110可决定来自存储器阵列120A的该区段的内容与存储在存储元件260中其他区段的内容之间的互相汉明距离。例如,当从存储器阵列120A中得到区段420A的内容“0100”(例如图4B中第二操作条件Cond_2的区段SEC_1)时,控制器210会提供区段420A的内容“0100”至汉明量比较器240。此外,控制器210会控制存储元件260,以提供存储在存储元件260中除了区段410A的内容“0101”之外的区段410B至区段410D的内容“0101”至汉明量比较器240。

如先前所描述,汉明量比较器240是一种用于决定在不同操作条件下的两个不同区段的内容之间的互相汉明距离的装置,而此两区段在存储器阵列中有不同的位置。互相汉明距离表示两区段内容中不相似位元的数目。在一些实施例中,汉明量比较器240会对两区段内容中的位元进行按位元(bitwise)异或(XOR)运算,以便得到两区段之间互相汉明距离。例如,汉明量比较器240会对区段420A的内容“0100”和区段410B至区段410D的内容“0101”之间的位元进行按位元异或运算,以便得到区段420A和区段410B至区段410D之间的中间结果XOR_SECTION。

在图5A中,由于区段420A的内容“0100”不同于区段410B的内容“0101”,所以汉明量比较器240所决定的中间结果XOR_SECTION为“0001”(即“0100”和“0101”的最低有效位元(LSB)是不同的),而区段420A和区段410B之间的互相汉明距离为1。相似地,区段410B的内容“0101”相同于区段410C和区段410D的内容“0101”,所以汉明量比较器240会决定中间结果XOR_SECTION为“0001”,而区段420A与区段410C和区段410D之间的互相汉明距离也为1。再者,因为区段410A(例如图4A中在第一操作条件Cond_1下的区段SEC_1)和区段420A是在不同的操作条件Cond_1和Cond_2下具有相同位置的区段,所以区段410A和区段420A之间的互相汉明距离将不会被汉明量比较器240所计算。具体来说,不会得到在不同操作条件下具有相同位置的区段SEC_1(例如区段420A和区段410A)之间的互相汉明距离(NA)。此外,对应于区段420A的互相汉明距离的数量等于存储器阵列120A的区段SEC_1至区段SEC_4的区段数量减去一。例如,存储器阵列120A的区段数量为4,而对应于区段420A的互相汉明距离的数量为3(即4-1=3),例如区段420A和区段410B之间的互相汉明距离“1”、区段420A和区段410C之间的互相汉明距离“1”,以及区段420A和区段410D之间的互相汉明距离“1”。

图5B是显示用以说明图4A的区段410A、区段410C和区段410D与图4B的区段420B之间的内容的互相汉明距离的表格。

在图5B中,由于区段420B的内容“0101”相同于区段410A、区段410C和区段410D的内容“0101”,所以汉明量比较器240会判断中间结果XOR_SECTION为“0000”,而区段420B和区段410A、区段410C和区段410D之间的互相汉明距离为0。再者,因为区段410B和区段420B是在不同操作条件Cond_1和Cond_2下具有相同位置的区段,所以区段420B和区段410B之间的互相汉明距离将不会被汉明量比较器240所计算。具体来说,不会得到在不同操作条件下具有相同位置的区段SEC_2之间的互相汉明距离(NA)。相似地,对应于区段420B的互相汉明距离的数量是3,例如区段420B和区段410A之间的互相汉明距离“0”、区段420B和区段410C之间的互相汉明距离“0”,以及区段420B和区段410D之间的互相汉明距离“0”。

图5C是显示用以说明图4A的区段410A、区段410B和区段410D与图4B的区段420C之间的内容的互相汉明距离的表格。相似地,区段420C的内容“0101”相同于区段410A、区段410B和区段410D的内容“0101”,而汉明量比较器240会判断中间结果XOR_SECTION为“0000”,于是图5C中互相汉明距离为0。

图5D是显示用以说明图4A的区段410A至区段410C与图4B的区段420D之间的内容的互相汉明距离的表格。相似地,区段420D的内容“0101”相同于区段410A至区段410C的内容“0101”,而汉明量比较器240会判断中间结果XOR_SECTION为“0000”,于是图5D中互相汉明距离为0。

在图5A至图5D中,由于存储器阵列120A的区段SEC_1至区段SEC_4的区段数量为4,所以在第一操作条件Cond_1和第二操作条件Cond_2之间的存储器阵列120A的互相汉明距离的数量等于12(即4×(4-1))。

如先前所述,图2的互相汉明距离计数器250能够在操作条件Cond_1和操作条件Cond_2的区段SEC_1至区段SEC_4之间的互相汉明距离中找到最大值和最小值,以便提供存储器阵列120A的最大互相汉明距离MAX_HD和最小互相汉明距离MIN_HD。根据图5A的互相汉明距离“1”和图5B-图5D的互相汉明距离“0”,可得到最大互相汉明距离MAX_HD为“1”而最小互相汉明距离MIN_HD为“0”。

在一些实施例中,可根据最大互相汉明距离MAX_HD、最小互相汉明距离MIN_HD以及每区段中的位元数(例如k)而决定存储器阵列120A的互相汉明距离范围。例如,互相汉明距离范围设定为(MIN_HD/k,MAX_HD/k)。根据图5A-图5D中最大互相汉明距离MAX_HD的“1”和最小互相汉明距离MIN_HD的“0”,存储器阵列120A的互相汉明距离范围为(0/4,1/4)。换算成百分比,则存储器阵列120A的互相汉明距离范围为(0%,25%)。如先前所描述,根据存储器阵列120A的互相汉明距离范围和汉明内部距离范围,可判断PUF是否足以作为存储器阵列120A的安全特征。在一些实施例中,存储器阵列120A的汉明内部距离范围是事先得到的。

图6A-图6D是显示用以说明图4A的第一操作条件Cond_1与图4C的第三操作条件Cond_3的区段SEC_1至区段SEC_4之间的内容的互相汉明距离的表格。

如先前所描述,图4A中区段410A至区段410D(例如在第一操作条件Cond_1下的区段SEC_1至区段SEC_4)的内容已事先存储在图2的存储元件260中。汉明量比较器240会对在第三操作条件Cond_3下的区段和在第一操作件Cond_1下除了具有相同位置之外的区段之间的位元进行按位元异或运算,以便得到在图4C的第三操作条件Cond_3的区段和在图4A的第一操作条件Cond_1的区段之间的中间结果XOR_SECTION。

图6A是显示用以说明图4A的区段410B至区段410D与图4C的区段430A之间内容的互相汉明距离的表格。

以图6A的表格作为例子来说明,根据区段430A的内容“1000”与区段410B至区段410D的内容“0101”,图2的汉明量比较器240会决定中间结果XOR_SECTION为“1101”,而区段430A与区段410B至区段410D之间的互相汉明距离为3。此外,不会得到在不同操作条件下具有相同位置的区段SEC_1(例如区段430A和区段410A)之间的互相汉明距离(NA)。接着,图2的互相汉明距离计数器250能在第一操作条件Cond_1与第三操作条件Cond_3的区段SEC_1至区段SEC_4之间的互相汉明距离中找到最大值与最小值,以便得到存储器阵列120A的最大互相汉明距离MAX_HD和最小互相汉明距离MIN_HD。

图6B是显示用以说明图4A的区段410A、区段410C与区段410D与图4C的区段430B之间内容的互相汉明距离的表格。相似地,区段410A、区段410C与区段410D的内容“0101”不同于区段430B的内容“1000”,而汉明量比较器240会判断中间结果XOR_SECTION为“1101”,且在图6B中互相汉明距离为3。

图6C是显示用以说明图4A的区段410A、区段410B与区段410D与图4C的区段430C之间的内容的互相汉明距离的表格。在图6C中,根据区段430C的内容“0110”和区段410A、区段410B与区段410D的内容“0101”,图2的汉明量比较器240会判断中间结果XOR_SECTION为“0011”,而区段430C与区段410A、区段410B和区段410D之间的互相汉明距离为2。此外,不会得到在不同操作条件下具有相同位置的区段SEC_3(例如区段430C和区段410C)之间的互相汉明距离(NA)。再者,图2的互相汉明距离计数器250能在第一操作条件Cond_1与第三操作条件Cond_3的区段SEC_1至区段SEC_4之间的互相汉明距离中找到最大值与最小值,以便得到存储器阵列120A的最大互相汉明距离MAX_HD和最小互相汉明距离MIN_HD。

图6D是显示用以说明图4A的区段410A至区段410C与图4C的区段430D之间的内容的互相汉明距离的表格。相似地,区段430D的内容“0110”不同于区段410A至区段410C的内容“0101”,而汉明量比较器240会决定中间结果XOR_SECTION为“0011”,且图6D中互相汉明距离为2。

在一些实施例中,互相汉明距离计数器250会记录在不同操作条件下区段SEC_1至区段SEC_4之间的全部互相汉明距离,并在所记录的全部互相汉明距离中找到最大值与最小值。例如,互相汉明距离计数器250将图5A-图5D的12个互相汉明距离以及图6A-图6D的12个互相汉明距离存储至存储装置,并在这24个互相汉明距离中找到最大值与最小值。于是,互相汉明距离计数器250会决定最大互相汉明距离MAX_HD为“3”而最小互相汉明距离MIN_HD为“0”。

在一些实施例中,互相汉明距离计数器250会根据每一按位元异或运算的结果来更新最大互相汉明距离MAX_HD与最小互相汉明距离MIN_HD。例如,根据图5A-图5D的互相汉明距离,互相汉明距离计数器250指定“1”为存储器阵列120A的最大互相汉明距离MAX_HD而“0”为存储器阵列120A的最小互相汉明距离MIN_HD。接着,在得到图6A-图6D的互相汉明距离之后,互相汉明距离计数器250会将最大互相汉明距离MAX_HD更新为“3”。具体而言,假如汉明量比较器240所决定的互相汉明距离大于目前的最大互相汉明距离MAX_HD,则互相汉明距离计数器250会将该互相汉明距离指定为最大互相汉明距离MAX_HD。假如汉明量比较器240所决定的互相汉明距离少于目前的最小互相汉明距离MIN_HD,则互相汉明距离计数器250会将该互相汉明距离指定为最小互相汉明距离MIN_HD。根据图5A-图5D与图6A-图6D中最大互相汉明距离MAX_HD的“3”与最小互相汉明距离MIN_HD的“0”,存储器阵列120A的互相汉明距离范围为(0/4,3/4)。转换成百分比,则存储器阵列120A的互相汉明距离范围为(0%,75%)。如先前所描述,根据存储器阵列的互相汉明距离范围与汉明内部距离,可判断PUF是否足以作为存储器阵列120A的安全特征。在一些实施例中,存储器阵列120A的汉明内部距离范围是事先得到的。

图7是显示根据本发明一些实施例所述的用以测试图1的存储器阵列120的测试方法。存储器阵列120是由多个存储单元所形成,且存储单元会划分成多个区段SEC_1-SEC_n。区段SEC_1至区段SEC_n的每一区段在存储器阵列中具有个别的位置。在一些实施例中,图7的方法是由测试设备或测试机台所执行,用以对包括一或多个存储器阵列的晶圆或是元件进行验证。

在操作S710中,测试设备会应用初始操作条件(例如第一操作条件Cond_1)于存储器阵列。在初始操作条件中,可通过测试设备将具有初始电压电平的电源供应PWR、具有初始频率值的操作时钟CLK,及/或具有初始温度值的操作温度应用至存储器阵列120。

在操作S720中,当存储器阵列120操作在初始操作条件下时,测试设备会经由相关信号(例如图1的命令信号CMD以及位址信号ADDR)来存取存储器阵列,以便读出存储器阵列120的区段SEC_1至区段SEC_n中关于在初始操作条件下的PUF的响应的内容。在一些实施例中,初始操作条件下的PUF的响应是根据存储器阵列中存储单元的上电状态而得到。此外,测试设备会将存储器阵列120的区段SEC_1至区段SEC_n的内容设定为初始内容,用以测量存储器阵列的互相汉明距离。在一些实施例中,存储器阵列120的SEC_1至区段SEC_n的内容表示从对应于操作时钟CLK的存储单元的速度比较或是从存储器阵列120中存储单元对应于电源供应PWR的初始化状态所得到的PUF的响应。

在操作S730中,测试设备会应用新操作条件(例如第二操作条件Cond_2)于存储器阵列。在一些实施例中,新操作条件的电源供应PWR的电压电平、操作时钟CLK的频率值、工作周期或是变化率,或是操作温度的温度值不同于初始操作条件。例如,在新操作条件中,具有不同于初始电压电平的电源供应PWR、具有不同于初始频率值的频率值的操作时钟CLK,及/或具有不同于初始温度值的温度值的操作温度会经由测试设备而应用于存储器阵列120。

在操作S740中,当存储器阵列120操作在新操作条件下时,测试设备会经由相关信号再次存取存储器阵列120,以便读出存储器阵列120的区段SEC_1至区段SEC_n中关于在新操作条件下的PUF的响应的内容。在一些实施例中,新操作条件的电源供应PWR、操作时钟CLK和操作温度的特性不同于初始操作条件,以及在新操作条件下的PUF的响应不同于在初始操作条件下的PUF的响应。

在操作S750中,可得到在初始操作条件下区段的内容与在新操作条件下区段的内容之间的互相汉明距离。在一些实施例中,互相汉明距离是由图2的汉明量比较器240所决定。此外,不会得到在初始操作条件下区段的内容与在新操作条件下相同区段的内容之间的互相汉明距离。如先前所描述,假如存储器阵列120的区段的数量为N,则在操作S750所得到的互相汉明距离的数量为N×(N-1)。

在一些实施例中,可以重复执行操作S730到操作S750,直到所有操作条件都应用于存储器阵列。

在操作S760中,可得到全部互相汉明距离中存储器阵列120的最大互相汉明距离MAX_HD与最小互相汉明距离MIN_HD。于是,可根据最大互相汉明距离MAX_HD与最小互相汉明距离MIN_HD而得到存储器阵列120的互相汉明距离范围。

如先前所描述,可使用测试设备或测试机台来执行图7的方法,以验证包括一或多个存储器阵列的晶圆或是元件。根据操作750与操作760,测试设备或测试机台可以在线方式得到一或多个存储器阵列的最大互相汉明距离MAX_HD、最小互相汉明距离MIN_HD以及互相汉明距离范围,而不须以离线方式载入所有响应的内容,从而加速一或多个存储器阵列的测试时间。

在操作S770中,根据在操作S760所得到的存储器阵列120的互相汉明距离范围以及已知的存储器阵列的汉明内部距离范围,可得到存储器阵列120的测试结果。如先前所描述,假如互相汉明距离范围不会重叠于汉明内部距离范围,则测试结果会指示存储器阵列120的验证为成功且存储器阵列120的PUF会难以预测。反之,假如互相汉明距离范围会重叠于汉明内部距离范围,则测试结果会指示存储器阵列120的验证为不成功且存储器阵列120的PUF可容易预测。

本公开提供互相汉明距离分析器以及用以测试与测量存储器阵列的互相汉明距离的方法的实施例。互相汉明距离分析器以及存储器阵列是实施在存储器元件内。通过使用互相汉明距离分析器来验证不同操作条件下的存储器阵列所测量的PUF的汉明内部距离和互相汉明距离,而不需从存储器阵列载入PUF所产生的全部位元。因此,可减少所耗费的时间以及用来存储在所有不同条件下(例如供应电压、温度和频率等)来自所有晶粒或芯片的位元的存储空间。

在一些实施例中,提供一种存储器元件。存储器元件包括一存储器阵列以及一互相汉明距离分析器。存储器阵列包括多个区段,其中每一区段包括多个位元,以及多个区段的位元的数量是相同的。互相汉明差异分析器得到操作在不同操作条件下的多个区段的内容,以得到内容的多个互相汉明差异,并从多个区段的互相汉明差异中提供一最大互相汉明差异以及一最小互相汉明差异。互相汉明差异表示对应于一第一操作条件的多个区段的一区段的内容与对应于不同于第一操作条件的一第二操作条件的多个区段的另一区段的内容之间的不相似位元的数量。

在一些实施例中,互相汉明差异分析器包括一存储元件以及一比较器。存储元件用以存储对应于第一操作条件的多个区段的内容。比较器会判断对应于第二操作条件的多个区段的第一区段的内容与存储在存储元件中除了第一区段之外的多个区段的内容之间的汉明差异。

在一些实施例中,存储元件的容量相同于存储器阵列。

在一些实施例中,当互相汉明差异分析器从操作在第二操作条件下的存储器阵列得到第一区段的第一内容时,比较器会判断来自存储器阵列的第一区段的第一内容与来自存储元件除了第一区段之外的多个区段的内容之间的互相汉明差异。互相汉明差异的数量相同于存储器阵列的区段数量减一。

在一些实施例中,存储器阵列的区段在存储器阵列中具有个别的位置。互相汉明差异分析器会判断对应于第一操作条件的多个区段的第一区段的第一内容与对应于第二操作条件的多个区段的第二区段的第二内容之间的互相汉明差异。第一区段与第二区段在存储器阵列中具有不同的位置。

在一些实施例中,当所决定的互相汉明差异大于最大互相汉明差异时,互相汉明差异分析器会指派所决定的互相汉明差异作为最大互相汉明差异。当所决定的互相汉明差异少于最小互相汉明差异时,互相汉明差异分析器会指派所决定的互相汉明差异作为最小互相汉明差异。

在一些实施例中,第一操作条件与第二操作条件的电源供应、操作频率或操作温度是不同的。

在一些实施例中,存储器阵列的区段数量为N,而在第一操作条件与第二操作条件之间多个区段的内容的互相汉明差异的数量是N×(N-1)。

在一些实施例中,提供一种测量存储器阵列的互相汉明差异的方法。存储器阵列被划分成多个区段。当存储器阵列操作在第一操作条件下时,从存储器阵列得到区段的多个第一内容。当存储器阵列操作在第二操作条件下时,从存储器阵列得到区段的多个第二内容。第一操作条件与第二操作条件的电源供应、操作频率或操作温度是不同的。在第一内容与第二内容之间得到多个互相汉明差异。互相汉明差异表示多个区段的一区段的第一内容与多个区段的另一区段的第二内容之间的不相似位元的数量。根据互相汉明差异之间的最大互相汉明差异与最小互相汉明差异得到互相汉明差异范围。

在一些实施例中,根据互相汉明差异范围以及汉明内部距离范围得到存储器阵列的测试结果。

在一些实施例中,将来自存储器阵列的区段的第一内容存储在存储元件,而存储元件的容量相同于存储器阵列。

在一些实施例中,根据对应于第一操作条件的多个区段的第一区段的第一内容,判断第一区段的第一内容与对应于第二操作条件的除了第一区段之外的多个区段的第二内容之间的互相汉明差异。对应于第一内容的互相汉明差异的数量相同于存储器阵列的区段数量减一。

在一些实施例中,判断对应于第一操作条件的多个区段的第一区段的第一内容与对应于第二操作条件的多个区段的第二区段的第二内容之间的互相汉明差异。第一区段与第二区段在存储器阵列中具有不同的位置。

在一些实施例中,当所决定的互相汉明差异大于最大互相汉明差异时,指派所决定的互相汉明差异作为最大互相汉明差异。当所决定的互相汉明差异少于最小互相汉明差异时,指派所决定的互相汉明差异作为最小互相汉明差异。

在一些实施例中,存储器阵列的区段数量为N,而在第一操作条件与第二操作条件之间多个区段的内容的互相汉明差异的数量是N×(N-1)。

在一些实施例中,提供一种测试存储器阵列的方法。存储器阵列被划分成多个区段。应用第一操作条件于存储器阵列,并从操作在第一操作条件下的存储器阵列得到多个区段的多个第一内容。在存储第一内容之后,应用第二操作条件于存储器阵列,并从操作在第二操作条件下的存储器阵列得到多个区段的多个第二内容。在所存储的第一内容以及第二内容之间得到多个互相汉明差异。互相汉明差异表示多个区段的一区段的所存储的第一内容与多个区段的另一区段的第二内容之间的不相似位元的数量。根据互相汉明差异中的最大互相汉明差异与最小互相汉明差异,得到存储器阵列的测试结果。

在一些实施例中,根据对应于第一操作条件的第一区段的所存储的第一内容,判断第一区段的所存储的第一内容与对应于第一操作条件的除了第一区段之外的多个区段的第二内容之间的互相汉明差异。对应于第一内容的互相汉明差异的数量相同于存储器阵列的区段数量减一。

在一些实施例中,判断对应于第一操作条件的第一区段的所存储的第一内容与对应于第二操作条件的第二区段的第二内容之间的互相汉明差异。第一区段与第二区段在存储器阵列中具有不同的位置。

在一些实施例中,当所决定的互相汉明差异大于最大互相汉明差异时,指派所决定的互相汉明差异作为最大互相汉明差异。当所决定的互相汉明差异少于最小互相汉明差异时,指派所决定的互相汉明差异作为最小互相汉明差异。

在一些实施例中,存储器阵列的区段数量为N,而在第一操作条件与第二操作条件之间多个区段的内容的互相汉明差异的数量是N×(N-1)。

虽然本公开已以优选实施例公开如上,然其并非用以限定本公开,任何所属技术领域中包括通常知识者,在不脱离本公开的构思和范围内,当可作些许的变动与润饰,因此本公开的保护范围当视权利要求所界定者为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1