使用电阻处理单元作为物理不可克隆功能的安全芯片识别的制作方法

文档序号:31823531发布日期:2022-10-14 23:38阅读:62来源:国知局
使用电阻处理单元作为物理不可克隆功能的安全芯片识别的制作方法
使用电阻处理单元作为物理不可克隆功能的安全芯片识别


背景技术:

1.本发明一般涉及用于集成电路(ic)的方法和系统,并且更具体地,涉及用于使用电阻处理单元(rpu)作为物理不可克隆功能来进行安全芯片识别的方法和系统。
2.物理不可克隆功能(有时也称为物理不可克隆功能)或puf是对于给定输入和条件(挑战)提供物理定义的“数字指纹”输出(响应)的物理对象,所述“数字指纹”输出(响应)充当唯一识别符,最常见地用于半导体装置,例如微处理器。puf是体现在物理结构中的物理实体。puf通常在集成电路(ic)中实现,并且通常用于具有高安全性要求的应用中。ic(也称为芯片或微芯片)包括在晶片上形成电子电路的大量电子器件。晶片可以是半导体材料,例如硅或其它材料。


技术实现要素:

3.用于识别的计算机实现的方法的非限制性示例包括使用控制系统在中间范围条件下偏置电阻处理单元(rpu)的交叉开关阵列,所述中间范围条件使得rpu的电阻产生具有呈大约相等的比例的低值和高值的随机输出。计算机实现的方法包括使用控制系统通过将rpu的电阻设置为迫使低值和高值已经由中间范围条件导致的状态来加强随机输出的低值和高值。加强低值和高值使得即使当rpu的交叉阵列未在中间范围条件下被偏置时,随机输出也是永久的。此外,计算机实现的方法包括使用控制系统响应于加强随机输出的低值和高值而记录随机输出的低值和高值的序列。
4.计算机程序产品的非限制性示例包括计算机可读存储介质,该计算机可读存储介质具有随其体现的程序指令,该程序指令可由处理器执行以使处理器执行操作。所述操作包括在中间范围条件下偏置电阻性处理单元(rpu)的交叉阵列,所述中间范围条件使得所述rpu的电阻产生具有呈大约相等的比例的低值和高值的随机输出。所述操作包括通过将rpu的电阻设置为迫使低值和高值已经由中间范围条件产生的状态来加强随机输出的低值和高值。加强低值和高值使得即使当rpu的交叉阵列未在中间范围条件下被偏置时,随机输出也是永久的。此外,所述操作包括响应于加强随机输出的低值和高值而记录随机输出的低值和高值的序列。
5.系统的非限制性示例包括具有计算机可读指令的存储器,以及用于执行计算机可读指令的一个或多个处理器,计算机可读指令控制一个或多个处理器执行操作。所述操作包括在中间范围条件下偏置电阻性处理单元(rpu)的交叉阵列,所述中间范围条件使得所述rpu的电阻产生具有呈大约相等的比例的低值和高值的随机输出。所述操作包括通过将rpu的电阻设置为迫使低值和高值已经由中间范围条件产生的状态来加强随机输出的低值和高值。加强低值和高值使得即使当rpu的交叉阵列未在中间范围条件下被偏置时,随机输出也是永久的。所述操作包括响应于加强随机输出的低值和高值而记录随机输出的低值和高值的序列。
6.通过本发明的技术实现了额外的技术特征和益处。本发明的实施例和方面在此详细描述,并被认为是所要求保护的主题的一部分。为了更好地理解,参考详细描述和附图。
附图说明
7.在说明书的结尾处的权利要求中特别指出并清楚地要求了本文描述的专有权的细节。从下面结合附图的详细描述中,本发明的实施例的前述和其它特征和优点将变得显而易见,其中:
8.图1a描绘了根据本发明的一个或多个实施例的正向传递中的电阻性处理单元(rpu)的交叉阵列的示意图;
9.图1b描绘了根据本发明的一个或多个实施例的反向传递中的rpu的交叉阵列的示意图;
10.图1c描绘了根据本发明的一个或多个实施例的权重更新中的rpu的交叉开关阵列的示意图;
11.图2描述了根据本发明的一个或多个实施例的使用rpu的交叉阵列的系统的示意图;
12.图3描绘了根据本发明的一个或多个实施例的使用rpu的交叉开关阵列作为物理不可克隆功能(puf)来确保芯片识别的安全的方法的流程图;
13.图4描述了根据本发明的一个或多个实施例的使用rpu的交叉阵列的系统的示意图;
14.图5描述了根据本发明的一个或多个实施例的使用rpu的交叉阵列的系统的示意图;
15.图6示出了根据本发明的一个或多个实施例的芯片的框图;
16.图7示出了根据本发明的一个或多个实施例的用于芯片识别的方法的流程图;以及
17.图8描绘了具有在根据本发明的一个或多个实施例中利用的功能和特征的示例计算系统的示意图。
18.这里描述的图是说明性的。在不脱离本发明的精神的情况下,可以对其中描述的图或操作进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦合”及其变型描述了在两个元件之间具有通信路径,并且不暗示元件之间的直接连接,而在它们之间没有中间元件/连接。所有这些变化都被认为是说明书的一部分。
19.在附图和本发明实施例的以下详细描述中,附图中所示的各种元件具有两个或三个数字参考标号。除了次要的例外,每个参考数字的最左边的数字对应于其中首先示出其元件的图。
具体实施方式
20.半导体供应链完整性是重要的安全性需求,尤其是对于敏感行业而言。因此,行业需要验证安装在关键系统中的芯片是可信的。例如,假性或伪造的组件如果代替真实的组件,则可能包含恶意电路。然而,根据本发明的一个或多个实施例,唯一且可再现的数字指纹或图案可以用于芯片认证,从而验证芯片供应链的完整性。
21.本发明的一个或多个实施例提供了用于加强由电阻式处理单元(rpu)的交叉式阵列生成的随机图案的方法和结构。本发明的一个或多个实施例生成用于芯片认证的唯一且
可再现的数字指纹或图案。rpu的交叉开关阵列用作能够生成用于识别芯片的唯一数字指纹或图案的物理不可克隆功能(puf)。由于puf的随机特性,puf不能被精确地复制到另一芯片上,因此puf可以用于唯一地将芯片识别为真实的。尽管puf被用于生成用于唯一识别的随机图案,但是根据本发明的一个或多个实施例,加强技术被用于硬化(harden)初始图案或唯一数字指纹,使得其可以被可靠地再现。
22.现在转到本发明的方面的更详细描述,图1a描绘了正向传递中的电阻性处理单元(rpu)的交叉阵列的示意图。图1b描绘了反向传递中的rpu交叉阵列的示意图。图1c描绘了权重更新中的rpu交叉阵列的示意图。rpu 102的交叉阵列100(也称为n交叉点阵列或交叉线阵列)是用于形成各种电子电路和器件的高密度电路架构。交叉阵列100的配置包括一组导电行导线和被设计成与该组导电行导线交叉的一组导电列导线。两组导线之间的交叉点由交叉点器件(例如rpu 102)分开。
23.rpu 102是模拟电阻器件,当受到正或负电压脉冲激励时,其改变电阻(或相反的电导)。每个rpu 102是通过控制施加在行和列的各导线之间的电压而改变的两端模拟电阻器件。在图1a所示的正向传递期间,电压或电压脉冲(例如,电压vi至电压v
i+n
,其中i是第一行,n是倒数第二行)分别施加到行导线(例如,分别为第i行至第i+n行),以在列导线(例如,第j列至第j+m列,其中j是第一列,m是倒数第二列)上产生电流读数(例如,电流ij至电流i
j+m
)的输出。输入电压可以来自输入向量(例如,电压vi至电压v
i+n
)。电流读数(例如,电流ij到电流i
j+m
)是图1a中的结果向量或输出向量。交叉阵列100中的各个rpu 102的电导值(g)或相反地电阻值(r)形成矩阵。如本领域技术人员所理解的,该矩阵可以用于各种操作。每列中的电流通过外围电路转换为数字值(即低或高,例如0或1)。外围电路可包括用于将模拟信号转换为数字输出的模拟-数字转换器(adc)、耦合到adc的运算放大器(op-amp)、用于沿列和行引导信号的线驱动器等。
24.如图1b所示,反向传递互换电压和电流位置。在反向传递期间,电压或电压脉冲(例如,电压vj至电压v
j+m
,其中j是第一列,m等于倒数第二列)分别施加到列导线(例如,分别为第j至第j+m列),以在行导线(例如,行i至行i+n)上产生电流读数(例如,电流ii至电流i
i+n
)的输出。
25.在图1c中描绘的权重更新期间,电压或电压脉冲(例如,电压vi到电压v
i+n
)分别被施加到行导线(例如,分别为行i到行i+n),同时将电压或电压脉冲(例如,电压vj到电压v
j+m
)施加到列导线(例如,分别为列j到列j+m),从而更新/改变rpu 102上的电导值或电阻值。
26.根据本发明的一个或多个实施例,rpu 102的交叉阵列100被配置为用作物理可耦合功能(puf),该puf被配置为生成唯一的数字指纹以识别芯片。由于puf的随机特性,puf不能被精确地复制在另一芯片上,因此puf可以用于唯一地将芯片识别为真实的。根据本发明的一个或多个实施例,puf所产生的图案是可再现的,以确保芯片的可靠认证。尽管puf可用于产生随机图案以用于唯一识别,但是本发明的实施例提供了加强技术来硬化初始图案,使得图案可以被可靠地再现。
27.图2示出了根据本发明的一个或多个实施例的使用交叉阵列100的系统200的示意图。系统200包括形成在芯片(诸如图6中描绘的芯片600)上的rpu 102的交叉阵列100。尽管只突出了一个rpu 102,但是应当注意,rpu 102存在于行导线和列导线的每个交叉点处。如
这里所讨论的,交叉阵列100包括行i到i+n,其每个与列j到列j+m交叉。在一些情况下,n等于m,并且在其他情况下,n大于或小于m。外围电路耦合到交叉阵列100。外围电路可包含(但不限于)分别耦合到各个行i到i+n的模/数转换器(adc)212,以及分别耦合到各个列j到j+m的adc 210。控制系统220被配置为在正向传递、反向传递和权重更新期间控制耦合到各个行i到i+n和各个列j到j+m的电压源214。在本发明的一个或多个实施例中,控制系统220可以是形成为图6中的芯片600上的集成电路的控制器或微控制器。将来自交叉阵列100的模拟值转换成数字代码的电路可集成在交叉阵列100的下面。例如,交叉阵列100可集成在后端制程(beol)布线结构中,以便不与将模拟值转换为数字值的电路处于同一平面上,从而使得延迟和探测更加困难。
28.特别地,控制系统220控制在适当的时间分别施加到行导线(例如,分别为行i到行i+n)的电压或电压脉冲(例如,电压vi到电压v
i+n
)和分别施加到列导线(例如,分别为列j到列j+m)的电压或电压脉冲(例如,电压vj到电压v
j+m
)。控制系统220可以使用各种技术来实现。在本发明的一个或多个实施例中,控制系统220可以包括存储和/或耦合到计算机可读存储器222的计算机可执行指令。一个或多个处理器224被配置成执行/读取计算机可执行指令以执行如本文所讨论的功能。计算机可执行指令可以表示和/或包括根据本发明的实施例的由处理器224执行的逻辑250。
29.在本发明的一个或多个实施例中,控制系统220可以包括一个或多个模块226,其被配置为执行可以包括逻辑电路的逻辑250。模块226可以被实现为存储在计算机可读存储介质上的指令、硬件模块、专用硬件(例如,专用硬件、专用集成电路(asic)、嵌入式控制器、硬连线电路等)、或者这些的某种组合或组合。作为示例,模块226可以是硬件和程序的组合。程序可以是存储在有形存储器上的处理器可执行指令,并且硬件可以包括用于执行那些指令的处理电路。因此,系统存储器可以存储程序指令,所述程序指令当由处理电路执行时实现本文所述的模块226。替代地或另外,模块226可包含专用硬件,例如一个或多个集成电路、专用集成电路(asic)、专用特殊处理器(assp)、现场可编程门阵列(fpga)或专用硬件的前述实例的任何组合,以用于执行本文所描述的技术。
30.参照图2,导线216单独地将电压源214耦合到行导线(例如,分别为行i到行i+n),并且导电线218单独地耦合列导线(例如,分别为列j到列j+m)。导线260将电压源214耦合到控制系统220。
31.图3描绘了根据本发明的一个或多个实施例的用于使用电阻性处理单元(rpu)的交叉阵列作为芯片(例如,诸如图6中描绘的芯片600)中的物理不可克隆功能(puf)来确保芯片识别的安全的方法300的流程图。如本文所讨论的,控制系统220的逻辑250可以由执行存储器222中的计算机可执行指令的处理器224来执行和/或由模块226来执行。控制系统220根据逻辑250在rpu 102的交叉阵列100上引起和/或执行各种处理,以实现本发明的一个或多个实施例。
32.转到方法300,在块302,控制系统220被配置为中间范围电压条件中间范围电压条件为rpu 102的交叉阵列100找到中间范围电压条件,该中间范围电压条件也被称中间范围条件。在本发明的一些实施例中,中间范围条件(或制造属性)被配置在逻辑250中、存储在存储器222中、和/或存储/配置在控制系统220的模块226中。在本发明的一个或多个实施例中,中间范围条件可从制造商处获得或从rpu 102的交叉阵列100的规格中检索,并如本文
所讨论的那样使用。
33.中间范围条件或中间范围电压条件定义了使交叉阵列100中的rpu 102具有输出0和1的均匀分布(例如,低值和高值)的相等概率和/或大约相等概率的电压或电压脉冲,并且中间范围条件或中间范围电压条件基于rpu 102的制造属性。rpu 102的电阻是所施加的电压(即,偏压)的函数,但是该电阻具有随机波动。当在中间范围条件下向rpu 102的交叉阵列100施加具有相反极性(例如,正和负)的交变电压脉冲时,“0”和“1”的阈值处于平衡点(即,电阻被平衡),并且每个rpu 102具有经由adc 210在相应列上输出“0”或“1”的0.5的概率。为了读出“0”和“1”的随机产生的分布,使用明显低于中间范围电压条件的不同感测电压,使得读出过程不干扰原始分布。由中间范围电压条件产生的原始分布通常是有噪声的,因此通过利用权重更新序列来增加感测裕度,“0”和“1”被加强以具有极值。
34.中间范围条件基于模拟rpu(例如,电阻式随机存取存储器(reram或rram))中的0与1之间的切换的对称点(例如,低值与高值)。因此,存在为0或1的50/50概率。根据本发明的一个或多个实施例,模拟rram用于获得围绕转换的对称点的随机分布,然后将该随机分布加强为二元状态,如本文进一步讨论的。
35.在框304处,一旦发现/检索到rpu 102的交叉阵列100的中间范围条件,控制系统220就被配置为在中间范围电压条件下在列线j至j+m上执行初始读出。通过经由电压源214向行导线(例如,分别为行i到行i+n)施加电压或电压脉冲(例如,电压vi到电压v
i+n
),控制系统220被配置为将交叉阵列100电压偏置在中间范围电压条件,使得rpu 102的电阻以几乎相等的比例(即,50/50概率)在列线j到j+m输出“0”和“1”。初始读出可以存储在控制系统220中,例如,存储在存储器222中。
36.在框306处,控制系统220从adc 210接收针对中间范围电压条件的读出结果。通过使用中间范围电压条件,这导致初始读出的输出的随机或随机生成。初始读出的输出是对应于列导线j到j+m处的位置的比特序列。例如,每个adc 210可以执行1比特模数转换以产生初始读出结果。初始读出结果是随机比特流。如上所述,使用中间范围电压条件的该初始读出是随机的或随机的,并且因此即使在相同的中间范围电压条件下重复也导致不同值,从而使得初始读出是唯一的。出于解释的目的,初始读出结果可以是比特流01

10。
37.在框308处,一旦已施加了中间范围电压条件并且已生成了0和1的随机流的初始读出结果,则控制系统220就被配置为硬化或加强交叉阵列100的初始读出结果的随机流,以确保后续认证期间的可再现性。在本发明的一个或多个实施例中,控制系统220可以对rpu 102的交叉阵列100执行权重更新。在初始读出结果中的随机比特流的加强或硬化期间,控制系统220被配置为将rpu 102的电阻改变为这样的电阻值,该电阻值确保/保证每次发生正向传递(即,读出)时输出与初始读出结果中的随机比特流相匹配的值。如这里所讨论的,列j到列j+m中的每列输出形成随机比特流的值或比特。控制系统220被配置为确定耦合到每列j到列j+m的rpu 102,并且确定每列的每个rpu 102的电阻,所述电阻将被用于确保输出中的匹配比特,从而使交叉阵列100中的rpu 102的电阻每次都起作用以生成相同的初始读出结果。这消除了初始读出之后读出的随机性或随机性。例如,在加强或硬化期间,电压或电压脉冲(例如,电压vi至电压v
i+n
)分别被施加到行导线(例如,分别为行i至行i+n),同时将电压或电压脉冲(例如,电压vj至电压v
j+m
)同时施加到列导线(例如,分别为列j至列j+m),使得行和列的这些电压脉冲导致rpu 102的电阻每次生成与输出相同的初始读
出结果。该权重更新施加来自电压源214的电压脉冲,以便向上或向下移动电阻值,以加强来自初始读出结果的每个“0”和“1”,直到获得可靠的加强状态。为了确保权重更新是正确的,控制系统220可以将初始读出结果与随机比特流的加强或硬化之后的结果进行比较。如果在一个或多个比特中存在错误,则可以重复权重更新的一个或多个部分以纠正错误。
38.在电阻随机存取存储器(reram或rram)或相变存储器(pcm)的情况下,这些状态将分别对应于低和高电导的完全set和reset状态。电阻随机存取存储器是一种非易失性随机存取(ram)计算机存储器,其通过改变电介质固态材料上的电阻来工作,通常称为忆阻器。相变存储器是一种非易失性随机存取存储器。
39.根据本发明的一个或多个实施例,进一步的安全措施或混淆可以通过控制系统220执行对要使用的比特的随机选择来实现,并且比特的随机选择对于制造商是未知的。例如,可以从大的512
×
512=262k的阵列中选择1000比特作为安全puf。因此,初始读出结果包括1000比特。代替以读出的精确顺序使用全部1000比特,控制系统220可以对选择的比特的数量和选择的比特位置两者进行改变。控制系统220被配置为选择比特的总随机数的预定数量(例如,100、202、250、500、800、900、1000比特)和/或选择各种比特位置,并且如本文所讨论的利用各种比特位置中的这些选择比特。
40.在框310处,控制系统220被配置为将从框308生成的加强/硬化的随机图案(即,随机比特序列的读出结果)记录/存储在诸如计算机系统/服务器的发起者或存储器设备中。记录/存储加强/硬化随机图案(即,随机比特序列的读出结果)的计算机系统/服务器的示例被描绘为图8中描绘的示例计算机系统/服务器812,在部署芯片以供使用之前,可以指示控制系统220执行芯片的正向传递和/或读出,使得计算机系统/服务器可以将存储的加强/硬化的随机图案与最近读出的图案进行比较;这确保了方法300正确地执行。如果一个或多个比特没有被正确地设置,则方法300可以被重复。另外,在部署芯片之前,从控制系统220移除和/或擦除初始读出。
41.此外,图6中描绘的计算机系统/服务器612(其可以包括图8中描绘的示例计算机系统/服务器812的功能和/或元件)可以包括和/或耦合到芯片600。计算机系统/服务器612可以从先前在框310中存储了加强/硬化的随机模式(即,随机比特序列的读出结果)的另一计算机系统/服务器(例如,诸如图8中描绘的示例计算机系统/服务器812)接收和/或或被发送该模式。当芯片600随后被部署以用于例如计算机系统/服务器612中时,控制系统220(如由计算机系统/服务器612所指示的)可以被用于验证芯片600的真实性,使得芯片600上的rpu 102的交叉阵列100可以通过使用(例如,现有rpu电路的)正向传递读出随机图案来验证。计算机系统/服务器612将其新输出的模式与存储的随机模式(即,随机比特序列的先前读出结果)进行比较以确定匹配。匹配确认芯片600是可信的,而不匹配则指示芯片是不可信的。
42.可以利用各种技术来确保在加强过程之后不可能进行进一步的权重更新来改变交叉阵列100中的rpu 102的电阻(或电导)。在本发明的一个或多个实施例中,控制系统220被配置为禁用用于权重更新的逻辑250的一部分。例如,逻辑250的权重更新部分可被重写。
43.权重更新需要比正向传递或甚至反向传递更高的电压。在本发明的一个或多个实施例中,可停用电压源214中用于的权重更新的较高电压电路402,而用于正向传递(即,读出输出)的较低电压电路404保持完整,如图4中所描绘。作为一个示例,在较高电压电路402
中缝纫电子熔丝(efuse)可以熔断,使得权重更新不再发生。
44.图5示出了根据本发明的一个或多个实施例的使用交叉阵列100的系统200的示意图。在图5中,efuse502中断将电压源214连接到它们各自的列导线j-j+m的每条导电线218。控制系统220被配置成熔断或禁止连接到列线j-j+m的导电线218上的efuse502,从而禁止权重更新。
45.图6示出了根据本发明的一个或多个实施例的芯片600的框图。芯片600包括用于安全芯片识别的系统200以及如本领域技术人员所理解的那样起作用的其它集成电路602。如本文所讨论的,系统200使用rpu 102的交叉阵列100唯一地识别芯片600。特别地,系统200确保加强/硬化的随机图案(即,随机比特序列的读出结果)可被读出和验证,从而确保芯片600的真实性,如本文所讨论的。例如,芯片600可以被部署在计算机系统/服务器612中和/或与其结合使用,该计算机系统/服务器先前已经存储了加强/硬化的随机图案(即,随机比特序列的读出结果)。计算机系统/服务器612可以指示和/或使得控制系统220使用正向传递读出随机图案,以用于与先前存储的加强/硬化的随机图案进行比较。匹配确保了操作者所部署的芯片600是可信的。
46.rpu 102的交叉阵列100可用于芯片600的各种功能。电阻处理单元是具有加速在人工智能(ai)工作负荷中使用的矩阵运算的潜力的模拟元件。rpu的交叉阵列可以在芯片600上实现为ai加速器。
47.图7是根据本发明的一个或多个实施例的芯片识别方法700的流程图。在框702处,方法700包括经由控制系统220在中间范围条件下偏置电阻处理单元(rpu)102的交叉阵列100,所述中间范围条件使得rpu 102的电阻产生大约相等的比例的低值(例如,0)和高值(例如,1)的随机输出。通过控制电压系统214,控制系统220被配置为使得电压或电压脉冲(例如,电压vi至电压v
i+n
)被施加到rpu 102的交叉阵列100的行导线(例如,分别为行i至行i+n)。在块704处,方法700包括经由控制系统220通过将rpu 102的电阻设置为迫使已经由中间范围条件导致的低值和高值的状态来加强随机输出的低值和高值。通过控制电压系统214,控制系统220被配置成使得电压或电压脉冲(例如,电压vi至电压v
i+n
)被施加到行导线(例如,分别为行i至行i+n),同时将电压或电压脉冲(例如,电压vj至电压v
j+m
)施加到列导线(例如,分别为列j至列j+m)。此外,加强低值和高值使得即使当rpu 102的交叉阵列100随后未在中间范围条件下被偏置时,随机输出也是永久的。换言之,加强随机输出的低值和高值使得交叉阵列100重复地(并且永久地)输出结果,该结果是即使当交叉阵列100不(或不再)处于中间范围条件下时(诸如当交叉阵列100正向传递时)也完全相同的随机输出(即,低值(例如,0)和高值(例如,1)的比例相等的完全相同的序列,与中间范围条件下的输出一样)。在框706处,方法700经由控制系统220响应于加强随机输出的低值和高值而记录随机输出的低值和高值的序列(片外)。随机输出的低值和高值的序列可以被记录在如本文所讨论的计算机系统/服务器中。
48.rpu 102具有这样的关系,其中在中间范围条件下预定电压(例如,分别施加到行i+n)产生随机响应。rpu具有这样的关系,其中在中间范围条件下的预定电压产生比例呈大约比例相等的低值和高值的随机响应。通过将rpu的电阻设置为强制由中间范围条件产生的低值和高值的状态来强制随机输出的低值和高值的r包括使用在中间范围条件下驱动rpu的电阻的电压脉冲。通过将rpu的电阻设置为强制由中间范围条件产生的低值和高值的
状态来强制随机输出的低值和高值包括使用电压脉冲来向上和向下移动电阻值以确保低值和高值呈大约相等的比例。
49.rpu 102的交叉阵列100被配置为通过读出与随机输出匹配的验证序列来被认证,该验证序列在与中间范围条件不同的条件下被读出。此外,方法700包括响应于记录随机输出的低值和高值的序列,防止rpu 102的电阻被随后编程。
50.图8描绘了具有根据一个或多个实施例利用的功能和特征的示例计算系统812的示意图。计算机系统812可以用众多其它通用或专用计算系统环境或配置来操作。计算机系统812可以代表各种类型的计算机系统或服务器,在其上可以执行如本文所讨论的操作和功能。根据实施例,计算系统812的功能和能力可以在图1-图7中用来实现用于存储加强/硬化的随机图案(即,随机比特序列的读出结果)的计算机系统/服务器、其中部署芯片的计算机系统/服务器612、控制系统220等的一个或多个特征。
51.计算机系统812可以在计算机系统可执行指令的一般上下文中描述,诸如由计算机系统执行的程序模块。通常,程序模块可以包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、逻辑、数据结构等。计算机系统812可以在分布式云计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式云计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机系统存储介质中。
52.计算机系统812的组件可以包括但不限于一个或多个处理器或处理单元816、系统存储器828、以及将包括系统存储器828在内的各种系统组件耦合到处理器816的总线818。总线818代表若干类型的总线结构中的任何一种的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口、以及使用各种总线体系结构中的任何一种的处理器或局部总线。作为示例而非限制,这些体系结构包括工业标准体系结构(isa)总线、微通道体系结构(mca)总线、加强型isa(eisa)总线、视频电子技术标准协会(vesa)局部总线和外围部件互连(pci)总线。
53.计算机系统812通常包括各种计算机系统可读介质。这样的介质可以是可由计算机系统812访问的任何可用介质,并且它包括易失性和非易失性介质、可移动和不可移动介质。系统存储器828可包括易失性存储器形式的计算机系统可读介质,诸如随机存取存储器(ram)830和/或高速缓存存储器832。计算机系统812还可以包括其他可移动/不可移动、易失性/非易失性计算机系统存储介质。仅作为示例,存储系统834可以被提供用于从不可移动、非易失性磁介质(未示出,并且通常被称为“硬盘驱动器”)读取和向其写入。尽管未示出,但是可以提供用于从可移动、非易失性磁盘(例如,“软盘”)读取和向其写入的磁盘驱动器,以及用于从诸如cd-rom、dvd-rom或其它光学介质等可移动、非易失性光盘读取或向其写入的光盘驱动器。在这种情况下,每个都可以通过一个或多个数据介质接口连接到总线818。存储器828可以包括至少一个程序产品,该程序产品具有被配置成执行实施例的功能的一组(例如,至少一个)程序模块。
54.作为示例而非限制,具有一组(至少一个)程序模块842的程序/实用程序840以及操作系统、一个或多个应用程序、其它程序模块和程序数据可被存储在存储器828中。操作系统、一个或多个应用程序、其它程序模块和程序数据或其某种组合中的每一个可包括联网环境的实现。程序模块842通常执行这里描述的实施例的功能和/或方法。
55.计算机系统812还可与一个或多个外部设备814通信,诸如键盘、定点设备、显示器
824等;使得用户能够与计算机系统812交互的一个或多个设备;和/或使计算机系统812能够与一个或多个其它计算设备通信的任何设备(例如,网卡、调制解调器等)。这种通信可以经由输入/输出(i/o)接口822发生。此外,计算机系统812可以经由网络适配器820与诸如局域网(lan)、通用广域网(wan)和/或公共网络(例如,因特网)之类的一个或多个网络通信。如所描述的,网络适配器820通过总线818与计算机系统812的其它组件通信。应当理解,尽管未示出,但是可以结合计算机系统812使用其他硬件和/或软件组件。实例包括但不限于:微码、设备驱动程序、冗余处理单元、外部磁盘驱动器阵列、raid系统、磁带驱动器和数据档案存储系统等。
56.在此参考相关附图描述本发明的各种实施例。在不偏离本发明的范围的情况下,可以设计本发明的替代实施例。在以下描述和附图中,在元件之间阐述了各种连接和位置关系(例如,上方、下方、相邻等)。除非另有说明,这些连接和/或位置关系可以是直接的或间接的,并且本发明并不旨在在这方面进行限制。因此,实体的偶联可以指直接或间接偶联,并且实体之间的位置关系可以是直接或间接位置关系。此外,本文所述的各种任务和过程步骤可并入具有本文未详细描述的额外步骤或功能性的更综合程序或过程中。
57.本文所述的一种或多种方法可以用本领域公知的以下技术中的任一种或其组合来实现:具有用于根据数据信号实现逻辑功能的逻辑门的离散逻辑电路、具有适当组合逻辑门的专用集成电路(asic)、可编程门阵列(pga)、现场可编程门阵列(fpga)等。
58.为了简洁起见,与制造和使用本发明的方面相关的常规技术可以或可以不在本文中详细描述。特别地,用于实现本文描述的各种技术特征的计算系统和特定计算机程序的各个方面是公知的。因此,为了简洁起见,许多常规实现细节在本文中仅简要提及或完全省略,而不提供众所周知的系统和/或过程细节。
59.在一些实施例中,各种功能或动作可以在给定位置处和/或结合一个或多个装置或系统的操作而发生。在一些实施例中,给定功能或动作的一部分可以在第一设备或位置处执行,并且该功能或动作的其余部分可以在一个或多个附加设备或位置处执行。
60.本文所用的术语仅是为了描述特定实施例的目的,而不是旨在进行限制。如本文所用,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文另有明确指示。还将理解,术语“包括”和/或“包含”在本说明书中使用时,指定所陈述的特征、整数、步骤、操作、元件和/或组件的存在,但不排除一个或多个其它特征、整数、步骤、操作、元件组件和/或其群组的存在或添加。
61.以下权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于与如具体要求保护的其它要求保护的元件组合执行功能的任何结构、材料或动作。本详细描述是出于说明和描述的目的而呈现的,但不旨在是穷尽的或限于所描述的形式。在不背离详细描述的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是显而易见的。选择和描述本发明的实施例是为了最好地解释本发明的实施例的原理和实际应用,并且使本领域的其他普通技术人员能够理解具有适合于所设想的特定用途的各种修改的本发明的各种实施例。
62.这里描述的图是说明性的。在不脱离本发明的实施例的精神的情况下,可以对其中描述的图或步骤(或操作)进行许多变化。例如,可以以不同的顺序执行动作,或者可以添加、删除或修改动作。此外,术语“耦合”描述在两个元件之间具有信号路径,并且不暗示元
件之间的直接连接,而其间没有中间元件/连接。所有这些变化都被认为是本发明实施例的一部分。
63.另外,术语“示例性”在本文中用于表示“用作示例、实例或说明”。在此描述为“示例性”的任何实施例或设计不一定被解释为比其它实施例或设计更优选或有利。术语“至少一个”和“一个或多个”被理解为包括大于或等于一的任何整数,即一、二、三、四等。术语“多个”应理解为包括大于或等于二的任何整数,即二、三、四、五等。术语“连接”可以包括间接“连接”和直接“连接”两者。
64.术语“约”、“基本上”、“大约”及其变体旨在包括与基于提交本技术时可用的设备的特定量的测量相关联的误差度。例如,“约”可以包括给定值的
±
8%或5%或2%的范围。
65.本发明可以是任何可能的技术细节集成水平的系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
66.计算机可读存储介质可以是能够保留和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质可以是例如但不限于电子存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或前述的任何合适的组合。计算机可读存储介质的更具体示例的非穷举列表包括以下:便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或闪存)、静态随机存取存储器(sram)、便携式光盘只读存储器(cd-rom)、数字多功能盘(dvd)、记忆棒、软盘、诸如上面记录有指令的打孔卡或凹槽中的凸起结构的机械编码装置,以及上述的任何适当组合。如本文所使用的计算机可读存储介质不应被解释为暂时性信号本身,诸如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤线缆的光脉冲)、或通过导线传输的电信号。
67.本文描述的计算机可读程序指令可以从计算机可读存储介质下载到相应的计算/处理设备,或者经由网络,例如因特网、局域网、广域网和/或无线网络,下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光传输光纤、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在相应计算/处理设备内的计算机可读存储介质中。
68.用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(isa)指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路的配置数据,或者以一种或多种编程语言(包括面向对象的编程语言,例如smalltalk、c++等)和过程编程语言(例如“c”编程语言或类似的编程语言)的任意组合编写的源代码或目标代码。计算机可读程序指令可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(lan)或广域网(wan),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。在一些实施例中,为了执行本发明的各方面,包括例如可编程逻辑电路、现场可编程门阵列(fpga)或可编程逻辑阵列(pla)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以使电子电路个性化。
69.在此参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本发明的各方面。将理解,流程图和/或框图的每个框以及流程图和/或框图中的框的组合可以由计算机可读程序指令来实现。
70.这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得经由计算机或其他可编程数据处理装置的处理器执行的指令创建用于实现流程图和/或框图的一个或多个框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,其可以引导计算机、可编程数据处理装置和/或其他设备以特定方式工作,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图的一个或多个框中指定的功能/动作的各方面的指令。
71.计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他设备上,以使得在计算机、其他可编程装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现流程图和/或框图的一个或多个框中指定的功能/动作。
72.附图中的流程图和框图示出了根据本发明的各种实施例的系统、方法和计算机程序产品的可能实现的架构、功能和操作。在这点上,流程图或框图中的每个框可以表示指令的模块、段或部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方案中,框中所注明的功能可不按图中所注明的次序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以以相反的顺序执行,这取决于所涉及的功能。还将注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行指定功能或动作或执行专用硬件和计算机指令的组合的专用的基于硬件的系统来实现。
73.已经出于说明的目的给出了本发明的各种实施例的描述,但是其不旨在是穷尽的或限于本文描述的本发明的实施例。在不背离所描述的实施例的范围和精神的情况下,许多修改和变化对于本领域的普通技术人员将是显而易见的。选择本文所使用的术语以最好地解释实施例的原理、实际应用或对市场上存在的技术改进,或使本领域的其他普通技术人员能够理解本文所描述的实施例。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1