一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

电子装置及其操作方法与流程

2021-05-28 14:24:00 来源:中国专利 TAG:操作方法 装置 实施 公开 电子
电子装置及其操作方法与流程

本公开的实施例涉及一种电子装置及其操作方法。



背景技术:

物理不可克隆函数(physicallyunclonablefunction,puf)是一种新兴的芯片指纹技术,例如能够产生随机的0/1序列以作为芯片身份的唯一标识。puf中的数据往往直接存储在非易失性存储器或cmos(complementarymetal-oxide-semiconductor,互补型金属氧化物半导体)电路中,存在被黑客利用物理攻击手段或系统安全漏洞直接窃取的风险。



技术实现要素:

本公开至少一实施例提供了一种电子装置,包括:阻变存储器阵列,包括多个第一阻变存储器单元;第一控制电路,其中,所述第一控制电路被配置为:根据第一设定初始化值,对所述多个第一阻变存储器单元中每个进行第一初始化操作得到第一初始化电阻值,以将所述多个第一阻变存储器单元中每个初始化为具有第一阻值变化区间;将所述多个第一阻变存储器单元中每个的第一初始化电阻值与选择的参考阻值进行比较;响应于所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值小于或等于所述参考阻值,根据第二设定初始化值,对所述当前被比较的第一阻变存储器单元进行第二初始化操作,使得所述当前被比较的第一阻变存储器单元从所述第一初始化电阻值减小至第二初始化电阻值,以将所述当前被比较的第一阻变存储器单元的阻值变化区间从所述第一阻值变化区间初始化为第二阻值变化区间,以及,响应于所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值大于所述参考阻值,不对所述当前被比较的第一阻变存储器单元进行第二初始化操作且所述当前被比较的第一阻变存储单元仍具有所述第一阻值变化区间,以用于形成物理不可克隆函数数据,其中,所述第一设定初始化值大于所述第二设定初始化值。

例如,在本公开至少一实施例提供的一种电子装置中,所述参考阻值为预先设定的第一电阻值。

例如,在本公开至少一实施例提供的一种电子装置中,所述预先设定的第一电阻值大于所述第二初始化电阻值。

例如,在本公开至少一实施例提供的一种电子装置中,所述阻变存储器阵列还包括第二阻变存储器单元,所述第一控制电路还被配置为:根据所述第一设定初始化值,对所述第二阻变存储器单元进行所述第一初始化操作得到第三初始化电阻值;选择所述第三初始化电阻值作为所述参考阻值。

例如,在本公开至少一实施例提供的一种电子装置中,所述第一控制电路还被配置为:对所述多个第一阻变存储器单元中每个进行复位操作,以将所述多个第一阻变存储器单元中每个置于电阻值大于所述第一初始化电阻值的第一阻态,以用于隐藏所述物理不可克隆函数数据。

例如,在本公开至少一实施例提供的一种电子装置中,所述阻变存储器阵列还包括多个第二阻变存储器单元,所述多个第一阻变存储器单元中每个具有对应的所述第二阻变存储器单元,所述第一控制电路还被配置为:根据所述第一设定初始化值,对所述多个第二阻变存储器单元中每个进行所述第一初始化操作得到第四初始化电阻值;对于所述多个第一阻变存储器单元中每个,选择对应的所述第二阻变存储器单元的第四初始化电阻值作为所述参考阻值。

例如,在本公开至少一实施例提供的一种电子装置中,所述多个第一阻变存储器单元与所述多个第二阻变存储器单元一一对应。

例如,在本公开至少一实施例提供的一种电子装置中,所述第一控制电路还被配置为:对所述多个第一阻变存储器单元中每个和所述多个第二阻变存储器单元中每个进行复位操作,以将所述多个第一阻变存储器单元中每个和所述多个第二阻变存储器单元中每个置于电阻值大于所述第一初始化电阻值和所述第四初始化电阻值的第一阻态,以用于隐藏所述物理不可克隆函数数据。

本公开至少一实施例提供了一种电子装置,包括:阻变存储器阵列和第二控制电路,其中,所述阻变存储器阵列包括多个第一阻变存储器单元,所述多个第一阻变存储器单元中每个已根据第一设定初始化值进行第一初始化操作而初始化为第一初始化电阻值并具有第一阻值变化区间,在所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值小于或等于选择的参考阻值的情况下,所述当前被比较的第一阻变存储器单元还已根据第二设定初始化值进行第二初始化操作而减小为第二初始化电阻值并改变为具有第二阻值变化区间,在所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值大于选择的参考阻值的情况下,所述当前被比较的第一阻变存储器单元未进行第二初始化操作且仍具有所述第一阻值变化区间,以存储物理不可克隆函数数据,其中,所述第一设定初始化值大于所述第二设定初始化值,并且,所述多个第一阻变存储器单元中每个已进行隐藏操作而隐藏所存储的物理不可克隆函数数据;所述第二控制电路被配置为:对已进行所述隐藏操作的所述多个第一阻变存储器单元中每个进行恢复操作,以用于恢复所述物理不可克隆函数数据。

例如,在本公开至少一实施例提供的一种电子装置中,所述隐藏操作包括复位操作,所述多个第一阻变存储器单元中每个已进行所述复位操作而处于电阻值大于所述第一初始化电阻值的第一阻态。

例如,在本公开至少一实施例提供的一种电子装置中,所述恢复操作包括置位操作,所述第二控制电路被配置为:根据第二电阻值,对处于所述第一阻态的每个所述第一阻变存储器单元进行所述置位操作,以将每个所述第一阻变存储器单元从所述第一阻态减小至第二阻态,以用于恢复所述物理不可克隆函数数据,其中,所述第二电阻值大于或等于所述第二设定初始化值并且小于所述第一设定初始化值。

例如,本公开至少一实施例提供的一种电子装置还包括读出电路,所述读出电路被配置为:获取所述第二电阻值;将处于所述第二阻态的每个所述第一阻变存储器单元的阻值分别与所述第二电阻值进行比较,基于比较结果确定并输出所述物理不可克隆函数数据。

例如,在本公开至少一实施例提供的一种电子装置中,所述阻变存储器阵列还包括多个第二阻变存储器单元,所述多个第一阻变存储器单元中每个具有对应的所述第二阻变存储器单元,所述多个第二阻变存储器单元中每个已根据所述第一设定初始化值进行第一初始化操作而初始化为第三初始化电阻值,对于所述多个第一阻变存储器单元中每个,所述参考阻值是对应的所述第二阻变存储器单元的第三初始化电阻值,所述隐藏操作包括复位操作,所述多个第一阻变存储器单元中每个和所述多个第二阻变存储器单元中每个已进行所述复位操作而处于电阻值大于所述第一初始化电阻值和所述第三初始化电阻值的第一阻态。

例如,在本公开至少一实施例提供的一种电子装置中,所述恢复操作包括置位操作,所述第二控制电路被配置为:根据第三电阻值,对处于所述第一阻态的每个所述第一阻变存储器单元和每个所述第二阻变存储器单元分别进行所述置位操作,以将每个所述第一阻变存储器单元和所述第二阻变存储器单元分别从所述第一阻态减小至第二阻态,以用于恢复所述物理不可克隆函数数据,其中,第三电阻值大于或等于所述第二设定初始化值并且小于所述第一设定初始化值。

例如,本公开至少一实施例提供的一种电子装置还包括读出电路,所述读出电路被配置为:将处于所述第二阻态的第一阻变存储器单元的阻值与对应的处于所述第二阻态的第二阻变存储器单元的阻值进行比较,基于比较结果确定并输出所述物理不可克隆函数数据。

本公开至少一实施例提供了一种电子装置的操作方法,包括:根据第一设定初始化值,对阻变存储器阵列包括的多个第一阻变存储器单元中每个进行第一初始化操作得到第一初始化电阻值,以将所述多个第一阻变存储器单元中每个初始化为具有第一阻值变化区间;将所述多个第一阻变存储器单元中每个的第一初始化电阻值与选择的参考阻值进行比较;响应于所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值小于或等于所述参考阻值,根据第二设定初始化值,对所述当前被比较的第一阻变存储器单元进行第二初始化操作,使得所述当前被比较的第一阻变存储器单元从所述第一初始化电阻值减小至第二初始化电阻值,以将所述当前被比较的第一阻变存储器单元的阻值变化区间从所述第一阻值变化区间初始化为第二阻值变化区间,以及,响应于所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值大于所述参考阻值,不对所述当前被比较的第一阻变存储器单元进行第二初始化操作且所述当前被比较的第一阻变存储单元仍具有所述第一阻值变化区间,以用于形成物理不可克隆函数数据,其中,所述第一设定初始化值大于所述第二设定初始化值。

例如,在本公开至少一实施例提供的一种操作方法中,所述参考阻值为预先设定的第一电阻值。

例如,在本公开至少一实施例提供的一种操作方法中,所述预先设定的第一电阻值大于所述第二初始化电阻值。

例如,本公开至少一实施例提供的一种操作方法还包括:对所述多个第一阻变存储器单元中每个进行复位操作,以将所述多个第一阻变存储器单元中每个置于电阻值大于所述第一初始化电阻值的第一阻态,以用于隐藏所述物理不可克隆函数数据。

例如,在本公开至少一实施例提供的一种操作方法中,响应于所述阻变存储器阵列还包括多个第二阻变存储器单元并且所述多个第一阻变存储器单元中每个具有对应的所述第二阻变存储器单元,还包括:根据所述第一设定初始化值对所述多个第二阻变存储器单元中每个进行所述第一初始化操作得到第三初始化电阻值;对于所述多个第一阻变存储器单元中每个,选择对应的所述第二阻变存储器单元的第三初始化电阻值作为所述参考阻值。

例如,在本公开至少一实施例提供的一种操作方法中,所述多个第一阻变存储器单元与所述多个第二阻变存储器单元一一对应。

例如,本公开至少一实施例提供的一种操作方法还包括:对所述多个第一阻变存储器单元中每个和所述多个第二阻变存储器单元中每个进行复位操作,以将所述多个第一阻变存储器单元中每个和所述多个第二阻变存储器单元中每个置于电阻值大于所述第一初始化电阻值和所述第四初始化电阻值的第一阻态,以用于隐藏所述物理不可克隆函数数据。

本公开至少一实施例提供了一种电子装置的操作方法,包括:选择阻变存储器阵列包括的多个第一阻变存储器单元,其中,所述多个第一阻变存储器单元中每个已根据第一设定初始化值进行第一初始化操作而初始化为第一初始化电阻值并具有第一阻值变化区间,在所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值小于或等于选择的参考阻值的情况下,所述当前被比较的第一阻变存储器单元还已根据第二设定初始化值进行第二初始化操作而减小为第二初始化电阻值并改变为具有第二阻值变化区间,在所述多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值大于选择的参考阻值的情况下,所述当前被比较的第一阻变存储器单元未进行第二初始化操作且仍具有所述第一阻值变化区间,以存储物理不可克隆函数数据,其中,所述第一设定初始化值大于所述第二设定初始化值,并且,所述多个第一阻变存储器单元中每个已进行隐藏操作而隐藏所存储的物理不可克隆函数数据;对已进行所述隐藏操作的所述多个第一阻变存储器单元中每个进行恢复操作,以用于恢复所述物理不可克隆函数数据。

例如,在本公开至少一实施例提供的一种操作方法中,所述隐藏操作包括复位操作,所述多个第一阻变存储器单元中每个已进行所述复位操作而处于电阻值大于所述第一初始化电阻值的第一阻态。

例如,在本公开至少一实施例提供的一种操作方法中,对已进行所述隐藏操作的所述多个第一阻变存储器单元中每个进行恢复操作,以用于恢复所述物理不可克隆函数数据,包括:根据第二电阻值,对处于所述第一阻态的每个所述第一阻变存储器单元进行置位操作,以将每个所述第一阻变存储器单元从所述第一阻态减小第二阻态,以用于恢复所述物理不可克隆函数数据,其中,所述第二电阻值大于或等于所述第二设定初始化值并且小于所述第一设定初始化值。

例如,本公开至少一实施例提供的一种操作方法还包括:读取被恢复的所述物理不可克隆函数数据,其中,读取被恢复的所述物理不可克隆函数数据,包括:获取所述第二电阻值;将处于所述第二阻态的每个所述第一阻变存储器单元的阻值分别与所述第二电阻值进行比较,基于比较结果确定并输出所述物理不可克隆函数数据。

例如,在本公开至少一实施例提供的一种操作方法中,所述阻变存储器阵列还包括多个第二阻变存储器单元,所述多个第一阻变存储器单元中每个具有对应的所述第二阻变存储器单元,所述多个第二阻变存储器单元中每个已根据所述第一设定初始化值进行第一初始化操作而初始化为第三初始化电阻值,对于所述多个第一阻变存储器单元中每个,所述参考阻值是对应的所述第二阻变存储器单元的第三初始化电阻值,所述隐藏操作包括复位操作,所述多个第一阻变存储器单元中每个和所述多个第二阻变存储器单元中每个已进行所述复位操作而分别处于电阻值大于所述第一初始化电阻值和所述第三初始化电阻值的第一阻态。

例如,在本公开至少一实施例提供的一种操作方法中,对已进行所述隐藏操作的所述多个第一阻变存储器单元中每个进行恢复操作,以用于恢复所述物理不可克隆函数数据,包括:根据第三电阻值,对处于所述第一阻态的每个所述第一阻变存储器单元和处于所述第一阻态的每个所述第二阻变存储器单元分别进行置位操作,以将每个所述第一阻变存储器单元和所述第二阻变存储器单元分别从所述第一阻态减小第二阻态,以用于恢复所述物理不可克隆函数数据,其中,第三电阻值大于或等于所述第二设定初始化值并且小于所述第一设定初始化值。

例如,本公开至少一实施例提供的一种操作方法还包括:读取被恢复的所述物理不可克隆函数数据,其中,读取被恢复的所述物理不可克隆函数数据,包括:将处于所述第二阻态的第一阻变存储器单元的阻值与对应的处于所述第二阻态的第二阻变存储器单元的阻值进行比较,基于比较结果确定并输出所述物理不可克隆函数数据。

例如,本公开至少一实施例提供的一种操作方法还包括:读取被恢复的所述物理不可克隆函数数据之后,对所述阻变存储器阵列包括的每个阻变存储器单元进行又一次的复位操作,以将所述阻变存储器阵列中的每个所述阻变存储器单元置于所述第一阻态,以用于隐藏所述物理不可克隆函数数据。

附图说明

为了更清楚地说明本公开实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本公开一些实施例提供的一种电子装置100的示意框图;

图2为本公开一些实施例提供的一种阻变存储器单元的示意图;

图3为本公开一些实施例提供的一种对阻变存储器单元进行一次初始化操作的示意图;

图4为本公开一些实施例提供的一种对阻变存储器单元进行一次置位操作的示意图;

图5为本公开一些实施例提供的一种对阻变存储器单元进行一次复位操作的示意图;

图6为本公开一些实施例提供的基于阻变存储器阵列中各个阻变存储器单元的自身阻态和参考阻值以产生puf数据的电子装置的示意图;

图7为本公开另一些实施例提供的一种电子装置的示意框图;

图8为本公开一些实施例提供的初始化操作过程的伪代码的示意图;

图9为本公开一些实施例提供的puf数据隐藏方法的流程示意图;

图10为本公开一些实施例提供的一种电子装置200的示意框图;

图11为本公开一些实施例提供的puf数据恢复方法的流程示意图;

图12为本公开一些实施例提供的一种电子装置300的示意框图;

图13为本公开又一些实施例提供的一种电子装置300的示意框图;

图14为本公开一些实施例提供的一种电子装置300的操作方法的流程图;

图15为本公开又一些实施例提供的一种电子装置300的操作方法的流程图;

图16为本公开一些实施例提供的puf数据在经过初始化操作后读出的示意图;

图17为本公开一些实施例提供的puf数据在经过隐藏操作后读出的示意图;

图18为本公开一些实施例提供的puf数据在经过恢复操作后读出的示意图;

图19为本公开一些实施例提供的puf数据隐藏率和其他方案的puf数据隐藏率的比较示意图;以及

图20为本公开一些实施例提供的数据误码率和其他方案的数据误码率的比较示意图。

具体实施方式

下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。

除非另有定义,本公开实施例使用的所有术语(包括技术和科学术语)具有与本本公开所属领域的普通技术人员共同理解的相同含义。还应当理解,诸如在通常字典里定义的那些术语应当被解释为具有与它们在相关技术的上下文中的含义相一致的含义,而不应用理想化或极度形式化的意义来解释,除非本公开实施例明确地这样定义。

本公开实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。同样,“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。本公开实施例中使用了流程图用来说明根据本公开实施例的方法的步骤。应当理解的是,前面或后面的步骤不一定按照顺序来精确的进行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将其他操作添加到这些过程中,或从这些过程移除某一步或数步。

对于puf中的数据存在被黑客利用物理攻击手段或系统安全漏洞直接窃取的风险的问题,能够利用可隐藏puf以进一步提高系统的安全性。例如,可隐藏puf是指puf中的数据能够在未被调用时被隐藏,在被调用时恢复,因此,黑客通过上述攻击手段只能窃取无效的、经过隐藏后的puf数据。

此外,可以通过对阻变存储器阵列施加置位电压和复位电压实现puf数据的隐藏和恢复,从而实现基于阻变存储器的可隐藏puf设计。但是目前的方法对置位电压和复位电压的大小非常依赖,对于不同芯片中的puf,其置位电压和复位电压的大小需要通过对阻变存储器阵列进行多次操作来确定,这将导致芯片的设计成本很高。另外,该方法提出的可隐藏puf技术在恢复puf数据时的误码率很高,例如达到10%,因此在实际应用中存在可靠性问题。

本公开至少一实施例提供了一种电子装置,包括:阻变存储器阵列,包括多个第一阻变存储器单元;第一控制电路,其中,第一控制电路被配置为:

根据第一设定初始化值,对多个第一阻变存储器单元中每个进行第一初始化操作得到第一初始化电阻值,以将多个第一阻变存储器单元中每个初始化为具有第一阻值变化区间;

将多个第一阻变存储器单元中每个的第一初始化电阻值与选择的参考阻值进行比较;

响应于多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值小于或等于参考阻值,根据第二设定初始化值,对当前被比较的第一阻变存储器单元进行第二初始化操作,使得当前被比较的第一阻变存储器单元从第一初始化电阻值减小至第二初始化电阻值,以将当前被比较的第一阻变存储器单元的阻值变化区间从第一阻值变化区间初始化为第二阻值变化区间,以及,响应于多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值大于参考阻值,不对当前被比较的第一阻变存储器单元进行第二初始化操作且当前被比较的第一阻变存储单元仍具有第一阻值变化区间,以用于形成puf数据,其中,第一设定初始化值大于第二设定初始化值。

本公开至少一实施例还提供对应于上述电子装置的操作方法。

本公开上述实施例的电子装置或操作方法根据设定的两个不同的目标初始化值,对阻变存储器阵列中相应的阻变存储器单元(resistiverandom-accessmemory,rram)进行不同的初始化(form)操作,不仅可有效地形成puf数据,还能利用不同的初始化操作对阻变存储器阵列的阻变存储器单元的最低电阻状态的影响不同,有利于后续puf数据有效隐藏和恢复的实现。

本公开一些实施例是以用于隐藏puf数据的角度来对电子装置100及其操作方法进行详细说明,参照图1-图9。

图1为本公开一些实施例提供的一种电子装置100的示意框图。

如图1所示,电子装置100包括阻变存储器阵列110和第一控制电路120。阻变存储器阵列110包括多个第一阻变存储器单元。例如,对于阻变存储器阵列110的任意一阻变存储器单元而言,阻变存储器单元的电阻值能够通过施加不同的脉冲人为地进行调控。

图2为本公开一些实施例提供的一种阻变存储器单元的示意图。图3为本公开一些实施例提供的一种对阻变存储器单元进行一次初始化操作的示意图。图4为本公开一些实施例提供的一种对阻变存储器单元进行一次置位(set)操作的示意图。图5为本公开一些实施例提供的一种对阻变存储器单元进行一次复位(reset)操作的示意图。

例如,如图2所示,阻变存储器单元可以采用1t1r结构,即包括一个晶体管和一个阻变元件,阻变存储器单元包括三个端口:字线(bl),源线(sl)和字线(wl),当然,还可以采用其他结构的阻变存储器单元,本公开的实施例对此不作限制。

例如,如图3所示,若对阻变存储器单元进行一次初始化操作,此时sl接地,wl和bl被施以脉冲,阻变存储器单元的电阻值下降。

例如,如图4所示,若对阻变存储器单元进行一次置位操作,此时sl接地,wl和bl被施以脉冲,阻变存储器单元的电阻值下降。初始化操作与置位操作的区别在于初始化操作所使用的电压大小更大,脉冲宽度更宽,比如,初始化操作用到的电压大小为4v,脉冲宽度为100ms,而置位操作用到的电压大小为2v,脉冲宽度为100ns。

例如,如图5所示,若对阻变存储器单元进行一次复位操作,此时bl接地,wl和sl被施以脉冲,阻变存储器单元的电阻值上升。

需要说明的是,在本公开的实施例中,初始化操作使用了很高的电压和很宽的脉冲,往往会引起阻变存储器单元的电阻值大幅度的改变。不同的初始化条件也会对阻变存储器单元的特性产生明显影响,其中一项特性是影响阻变存储器单元的最低电阻状态。例如,对于经过初始化操作后电阻值在150kω左右的阻变存储器单元,其利用置位操作所能达到的最低电阻状态也在150kω左右;又例如,对于经过初始化操作后电阻值在25kω左右的阻变存储器单元,其利用置位操作所能达到的最低电阻状态为25kω。

还需要注意的是,在本公开实施例中不同的初始化条件对于阻变存储器单元的最高电阻状态不存在影响,例如,无论是初始化操作后电阻值为150kω还是25kω的阻变存储器单元,其电阻值都能利用复位操作提高到1.5mω以上。

例如,在一些示例中,第一控制电路120被配置为:

(1)根据第一设定初始化值p1,对多个第一阻变存储器单元中每个进行第一初始化操作得到第一初始化电阻值r1,以将多个第一阻变存储器单元中每个初始化为具有第一阻值变化区间;

(2)将多个第一阻变存储器单元中每个的第一初始化电阻值r1与选择的参考阻值ref1进行比较;

(3)当多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值r1小于或等于参考阻值ref1的时候,根据第二设定初始化值p2,对当前被比较的第一阻变存储器单元进行第二初始化操作,使得当前被比较的第一阻变存储器单元从第一初始化电阻值r1减小至第二初始化电阻值r2,以将当前被比较的第一阻变存储器单元的阻值变化区间从第一阻值变化区间初始化为第二阻值变化区间,其中,第一设定初始化值p1大于第二设定初始化值p2;当多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值r1大于参考阻值ref1的时候,不对当前被比较的第一阻变存储器单元进行第二初始化操作且当前被比较的第一阻变存储单元仍具有第一阻值变化区间,以用于形成puf数据。

例如,在一些示例中,形成的puf数据包括两个数值状态,分别记为第一数值和第二数值,例如0状态和1状态,下文都是以0/1序列构成puf数据为例进行说明的,当然,本文各个示例同样适用于采用其他数值状态以构成puf数据,本公开对此不作限制,并且在此不再赘述。

需要说明的是,本公开任一实施例的阻变存储器阵列的第一阻变存储器单元可以是阻变存储器阵列中所选择的至少部分的阻变存储器单元,也可以是阻变存储器阵列中包含的所有的阻变存储器单元,本公开的实施例对此不作限制,并且上述实施例的阻变存储器阵列的“第一阻变存储器单元”旨在语言描述方便,用以在下文出现与之不同或相关联的其他部分的阻变存储器单元的时候进行相应区分,这并不影响本领域技术人员对本公开的实施例的理解,也不会对本公开实施例起限制作用。

图6为本公开一些实施例提供的基于阻变存储器阵列中各个阻变存储器单元的自身阻态和参考阻值以产生puf数据的电子装置的示意图。

例如,如图6所示,利用阻变存储器阵列110中各个阻变存储器单元(例如第一阻变存储器单元110a)在经历第一初始化操作之后的自身阻态和参考阻值ref1以产生puf数据;为了表述方便,将此记为第一类初始化操作的情况,简称为情况一。

对于情况一,例如,在一些示例中,参考阻值ref1为预先设定的第一电阻值q1。例如,预先设定的第一电阻值q1大于第二初始化电阻值r2。

对于情况一,例如,在一些示例中,通过初始化操作形成puf数据的方法如下:

(a)预先设定第一电阻值q1,并选中阻变存储器阵列110中位于坐标(i,j)处的一个阻变存储器单元,记作rrama;

(b)对rrama进行第一初始化操作,将该rrama的电阻值调制至第一初始化电阻值,记作ra,比如150kω左右,则该rrama被初始化为具有第一阻值变化区间(例如最低阻态在150kω左右),例如,作为参考阻值ref1的第一电阻值q1为140kω;

(c)如果ra≤q1,对rrama进行第二初始化操作,将该rrama的电阻值调制至第二初始化电阻值r2,比如25kω左右,则该rrama的阻值变化区间从第一阻值变化区间初始化为第二阻值变化区间(例如最低阻态在25kω左右);如果ra>q1,对rrama不进行任何操作,则该rrama仍具有第一阻值变化区间;

(d)然后移动至阻变存储器阵列110的下一个坐标,重复上述步骤,直至遍历完阻变存储器阵列110中所有的阻变存储器单元。

需要说明的是,每个阻变存储器单元的电阻值的改变是依靠其内部原子的随机运动而实现的,因此阻变存储器单元在经过初始化操作、复位操作或置位操作后,所得到的电阻值呈现随机分布,无法预先准确确定。

在本公开的实施例中,基于阻变存储器单元进行第一初始化操作后所得到的电阻值来判断该阻变存储器单元是否进行第二初始化操作,例如将该阻变存储器单元经历第一初始化操作之后的电阻值与预设的电阻值进行比较来判断该阻变存储器单元是否进行第二初始化操作,在阻变存储器单元仅进行第一初始化操作形成一种puf数据状态(例如,0状态),在阻变存储器单元进行第一初始化操作和第二初始化操作之后形成另一种puf数据状态(例如,1状态),由于阻变存储器单元进行第一初始化操作后所得到的电阻值具有随机性,所以该阻变存储器单元是否进行第二初始化操作也具有随机性,从而形成的puf数据状态具有随机性。

在本公开的实施例中,根据设定的两个不同的目标初始化值,对相应的阻变存储器单元只进行一个阶段或进行两个阶段的初始化操作,使不同的阻变存储器单元的最低电阻状态不同,有利于进行后续的puf数据隐藏和进一步的puf数据的恢复。

在本公开的一些实施例中,利用阻变存储器单元的最低电阻状态来区分不同的puf数据状态,并通过置位操作来使阻变存储器单元达到最低电阻状态,置位操作过程的置位电压大小可以灵活选择,对置位电压大小的依赖性低,不需要对置位电压进行大量训练。此外,在本公开的实施例中,由于不同的初始化操作对阻变存储器单元的最高电阻状态不存在影响,所以可以利用阻变存储器单元进行复位操作后所得到的电阻值的随机性来实现puf数据的隐藏,复位操作过程的复位电压可以灵活选择,对复位电压大小的依赖性低,也不需要对复位电压进行大量训练。

例如,在完成初始化操作之后(例如阻变存储器单元只需要经历第一初始化操作或者阻变存储器单元经历第一初始化操作之后还要进行第二初始化操作之后),若利用读出电路对整个阻变存储器阵列依次进行读取,得到的puf数据定义为原始puf数据,例如阻变存储器阵列中特定坐标(x,y)所对应的原始puf数据记为px,y。

对于情况一,例如,在一些示例中,阻变存储器阵列110还包括第二阻变存储器单元,第一控制电路120还被配置为:根据第一设定初始化值p1,对这个第二阻变存储器单元进行第一初始化操作得到对应的一个初始化电阻值r3,然后选择这个第二阻变存储器单元的初始化电阻值r3作为上述的参考阻值ref1。例如,这个第二阻变存储器单元可以是上述多个第一阻变存储器单元其中之一,或者可以是单独设置的一个阻变存储器单元,本公开的实施例对此不作限制。

对于情况一,例如,在一些示例中,第一控制电路120还被配置为:对多个第一阻变存储器单元110a中每个进行复位操作,以将多个第一阻变存储器单元110a中每个置于电阻值大于第一初始化电阻值r1的第一阻态(也可称之为高阻态h1),以用于隐藏所形成的puf数据。例如,第一初始化电阻值r1是150kω左右,高阻态h1的电阻值是1.5mω以上,当然,此仅仅为示例性的,并非为本公开的限制。

值得注意的是,基于情况一,puf数据隐藏的结果是:经过复位操作后整个阻变存储器阵列的读出结果全部为0(未图示),因为高阻态h1时的阻变存储器单元的电阻值太大(例如1.5mω以上),远远大于第一电阻值q1或第一初始化电阻值r1,从而有效地隐藏了原始puf数据。

例如,在一些示例中,将每两个阻变存储器单元在经历过初始化操作之后的阻态进行比较以产生puf数据;为了表述方便,将此记为第二类初始化操作的情况,简称为情况二。

对于情况二,例如,在一些示例中,阻变存储器阵列110不仅包含上述的多个第一阻变存储器单元,还包括多个第二阻变存储器单元,其中,多个第一阻变存储器单元中每个具有对应的该第二阻变存储器单元,第一控制电路120还被配置为:根据第一设定初始化值p1,对多个第二阻变存储器单元中每个进行第一初始化操作得到第一初始化电阻值r1’,并且,对于多个第一阻变存储器单元中每个,选择对应的第二阻变存储器单元的第一初始化电阻值r1’作为参考阻值ref1。

换句话说,对于情况二,当前选择的第一阻变存储器单元的第一初始化电阻值r1小于等于对应的第二阻变存储器单元的第一初始化电阻值r1’时,对第一阻变存储器单元进行第二初始化操作,使得第一阻变存储器单元从第一初始化电阻值r1减小至第二初始化电阻值r2;当第一阻变存储器单元的第一初始化电阻值r1大于第二阻变存储器单元的第一初始化电阻值r1’,不对第一阻变存储器单元进行第二初始化操作,而对第二阻变存储器单元进行第二初始化操作,使得第二阻变存储器单元从第一初始化电阻值r1’减小至相应的第二初始化电阻值r2。

例如,在一些示例中,多个第一阻变存储器单元与多个第二阻变存储器单元一一对应。

图7为本公开另一些实施例提供的一种电子装置的示意框图。

例如,如图7所示,阻变存储器阵列110包括第一子阻变存储器阵列(记为子阵列a)和第二子阻变存储器阵列(记为子阵列b),相当于阻变存储器阵列110中的多个阻变存储器单元被划分为第一组阻变存储器单元和第二组阻变存储器单元,该第一组阻变存储器单元中的阻变存储器单元(例如情况二的第一阻变存储器单元)构成子阵列a,该第二组阻变存储器单元中的阻变存储器单元(例如情况二的第二阻变存储器单元)构成子阵列b。

例如,在一些示例中,第一组阻变存储器单元中的阻变存储器单元的数量和第二组阻变存储器单元中的阻变存储器单元的数量相同,第一组阻变存储器单元中的阻变存储器单元排列为n行m列,第二组阻变存储器单元中的阻变存储器单元排列为n行m列(例如n=64,m=8)。例如,第一阻变存储器单元位于第一子阻变存储器阵列中的第i行j列,第二阻变存储器单元位于第二子阻变存储器阵列中的第i行j列,其中,n和m是正整数,1≤i≤n,1≤j≤m。又例如,第一阻变存储器单元位于第一子阻变存储器阵列中的第i1行j1列,而第二阻变存储器单元位于第二子阻变存储器阵列中的第i2行j2列,i1和i2不相同和/或j1和j2不相同。

需要说明的是,在本公开上述实施例中,“第一子阻变存储器阵列”和“第二子阻变存储器阵列”旨在区分两个子阻变存储器阵列,而不是对两个子阻变存储器阵列的限制,第一子阻变存储器阵列和第二子阻变存储器阵列可以集成为一个阻变存储器阵列,即第一子阻变存储器阵列和第二子阻变存储器阵列为同一个阻变存储器阵列中的不同部分;第一子阻变存储器阵列和第二子阻变存储器阵列也可以为两个分开设置的不同阻变存储器阵列;同样地,“第一阻变存储器单元”和“第二阻变存储器单元”也旨在区分两个阻变存储器单元,而不是对两个阻变存储器单元的限制。例如,第一阻变存储器单元也可以位于第二子阻变存储器阵列中的第i行j列,第二阻变存储器单元也可以位于第一子阻变存储器阵列中的第i行j列,本公开的实施例对此不作限制。

对于情况一或情况二,例如,在一些示例中,第一初始化操作的条件可以是:脉冲宽度800ms,bl电压大小4v,wl电压大小1.2v,第一设定初始化值p1为150kω;第二初始化操作的条件可以是:脉冲宽度800ms,bl电压大小4v,wl电压大小1.6v,第二设定初始化值p2为25kω,当然,此仅仅为示例性的,并不是对本公开的限制,还可以采用其他电压条件,本公开的实施例在此不再穷举和赘述。

图8为本公开一些实施例提供的初始化操作过程的伪代码的示意图。

对于情况二,例如,在一些示例中,第一控制电路120的功能是在对阻变存储器阵列110进行一系列的初始化操作以产生puf数据,实现伪代码如图8所示。

例如,在一些示例中,对应图8所示的描述如下:

(a)选中子阵列a和子阵列b中位于坐标(i,j)处的两个阻变存储器单元a(i,j)和b(i,j),分别记为rrama和rramb;

(b)根据第一设定初始化值p1,例如150kω,分别对rrama和rramb进行第一初始化操作form_1st,将该rrama和rramb的电阻值调制至例如150kω左右,分别记作ra和rb,即该rrama和rramb分别被初始化为具有第一阻值变化区间(例如最低阻态在150kω左右);

(c)如果ra≤rb,对rrama进行第二初始化操作form_2nd,将该rrama的电阻值调制至例如25kω左右,即该rrama的阻值变化区间从第一阻值变化区间初始化为第二阻值变化区间(例如最低阻态在25kω左右),并且对rramb不进行任何操作,即该rramb仍具有第一阻值变化区间;如果ra>rb,对rramb进行第二初始化操作form_2nd,将该rramb的电阻值调制至例如25kω左右,即该rramb的阻值变化区间从第一阻值变化区间初始化为第二阻值变化区间(例如最低阻态在25kω左右),并且对rrama不进行任何操作,即该rrama仍具有第一阻值变化区间;

(d)然后分别移动至子阵列的下一个坐标,重复上述步骤,直至遍历完整个子阵列中的所有rram。

在本公开的实施例中,基于两个阻变存储器单元进行第一初始化操作后所得到的电阻值来判断这两个阻变存储器单元中的哪个进行第二初始化操作,例如,将两个阻变存储器单元经历第一初始化操作之后的电阻值进行大小比较来判断对哪个阻变存储器单元进行第二初始化操作(比如取电阻值较小的阻变存储器单元),在两个阻变存储器单元仅进行第一初始化操作形成一种puf数据状态(例如,0状态),在两个阻变存储器单元的其中之一进行第一初始化操作和第二初始化操作之后形成另一种puf数据状态(例如,1状态),由于阻变存储器单元进行第一初始化操作后所得到的电阻值具有随机性,也即两个阻变存储器单元进行第一初始化操作后所得到的电阻值谁大谁小也具有随机性,所以选择哪个阻变存储器单元是否进行第二初始化操作也具有随机性,从而形成的puf数据状态具有随机性。

在本公开的实施例中,根据设定的两个不同的目标初始化值,对相应的阻变存储器单元只进行一个阶段或进行两个阶段的初始化操作,使不同的阻变存储器单元的最低电阻状态不同,有利于进行后续的puf数据隐藏和进一步的puf数据的恢复。

在本公开的一些实施例中,利用两个阻变存储器单元的最低电阻状态来区分不同的puf数据状态,并通过置位操作来使阻变存储器单元达到最低电阻状态,置位操作过程的置位电压大小可以灵活选择,对置位电压大小的依赖性低,不需要对置位电压进行大量训练。此外,在本公开的实施例中,由于不同的初始化操作对阻变存储器单元的最高电阻状态不存在影响,所以可以利用阻变存储器单元进行复位操作后所得到的电阻值的随机性来实现puf数据的隐藏,复位操作过程的复位电压可以灵活选择,对复位电压大小的依赖性低,也不需要对复位电压进行大量训练。

例如,在完成初始化操作之后(例如两个阻变存储器单元中其中一个在经历过第二初始化操作之后),若利用读出电路对整个阻变存储器阵列依次进行读取,得到的puf数据定义为原始puf数据,例如阻变存储器阵列中特定坐标(x,y)所对应的原始puf数据记为px,y。

此外,值得说明的是,本公开的一些实施例通过两个阶段的初始化操作,还能强化两个阻变存储器单元之间的阻值区别以有效地形成puf数据。

对于情况二,例如,在一些示例中,第一控制电路120还被配置为:对多个第一阻变存储器单元中每个和多个第二阻变存储器单元中每个进行复位操作,以将多个第一阻变存储器单元中每个和多个第二阻变存储器单元中每个置于第一阻态(也可称之为高阻态h1’),以用于隐藏puf数据,其中,高阻态h1’的电阻值大于第一阻变存储器单元经过第一初始化操作的初始化电阻值r1和第二阻变存储器单元经过第一初始化操作的第一初始化电阻值r1’。例如,初始化电阻值r1和r1’为150kω左右,高阻态h1’的电阻值为1.5mω以上,当然,此仅仅为示例性的,并非是对本公开的限制。

图9为本公开一些实施例提供的puf数据隐藏方法的流程示意图。

对于情况二,例如,如图9所示,为了将阻变存储器阵列中特定坐标(x,y)所对应的原始puf数据px,y进行隐藏,第一控制电路120执行puf隐藏操作的方法如下:选取子阵列a和b中位于坐标(x,y)上的阻变存储器单元,分别记作rrama和rramb,然后分别对rrama和rramb施以如图9所示的操作,即以最多n1(例如count=100)次复位操作,尝试将rrama和rramb的电阻值调制至1.5mω以上,置于高阻态,其中,1.5mω仅仅为示例性的,并非是对本公开的限制,还可以是其他大小电阻值,当然,这里的100次仅仅为一个示例,本公开的实施例对此不作限制,具体可以根据实际情况进行相应的调整。

需要说明的是,对于情况二,无论是被初始化至25kω的阻变存储器单元,还是被初始化至150kω的阻变存储器单元,其电阻值都能按照设定被复位至1.5mω以上。由于阻变存储器单元在复位操作后的电阻值同样具有随机性,经过复位操作后,此时若利用读出电路对整个阻变存储器阵列依次进行读取而得到的puf数据,与原始puf数据有着显著差异,即实现了puf数据的隐藏。

对于情况二,例如,对于特定坐标(x,y)而言,其上两阻变存储器单元rrama和rramb在经历初始化操作后,若rrama经过第二初始化操作处于25kω左右,而rramb仅经历第一初始化操作而处于150kω左右,此时电子装置的读出电路读取的结果是第二数值(例如1);值得注意的是,若设定要求的高阻态的电阻值是1.5mω以上,在经过隐藏操作(也即置位操作)之后,由于电阻值的随机性,rrama的电阻值可能为1.6mω,rramb的电阻值可能为1.5mω,则此时读出电路得到的结果变为第一数值(例如0)。例如,根据实验结果,在经过隐藏操作后,约有40%的puf数据与原始puf数据不一致,即实现了puf数据的隐藏(可参照下面的图16和图17所示)。

本公开至少一实施例提供了一种电子装置,包括:阻变存储器阵列和第二控制电路,其中,阻变存储器阵列包括多个第一阻变存储器单元,多个第一阻变存储器单元中每个已根据第一设定初始化值进行第一初始化操作而初始化为第一初始化电阻值并具有第一阻值变化区间,在多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值小于或等于选择的参考阻值的情况下,当前被比较的第一阻变存储器单元还已根据第二设定初始化值进行第二初始化操作而减小为第二初始化电阻值并改变为具有第二阻值变化区间,在多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值大于选择的参考阻值的情况下,当前被比较的第一阻变存储器单元未进行第二初始化操作且仍具有第一阻值变化区间,以存储puf数据,其中,第一设定初始化值大于第二设定初始化值,并且,多个第一阻变存储器单元中每个已进行隐藏操作而隐藏所存储的puf数据;第二控制电路被配置为:对已进行隐藏操作的多个第一阻变存储器单元中每个进行恢复操作,以用于恢复puf数据。

本公开至少一实施例还提供对应于上述电子装置的操作方法。

本公开上述实施例的电子装置或操作方法在对阻变存储器阵列中相应的阻变存储器单元执行不同初始化操作以有效形成puf数据以及通过隐藏操作以有效隐藏puf数据之后进行恢复操作,并利用阻变存储器单元的最低电阻状态来区分不同的puf数据状态,从而实现低误码率的puf数据恢复,还降低了对置位和复位电压大小的依赖性。由此,本公开至少一实施例提出了一种基于阻变存储器实现具有低误码率的可隐藏puf数据的方案,这样不仅能够有效降低芯片的设计成本,也能显著提高可隐藏puf的可靠性。

本公开一些实施例是以用于恢复puf数据的角度来对电子装置200及其操作方法进行详细说明,参照图10-图11。

图10为本公开一些实施例提供的一种电子装置200的示意框图。

如图10所示,电子装置200包括阻变存储器阵列210和第二控制电路220。阻变存储器阵列210包括多个第一阻变存储器单元。例如,对于阻变存储器阵列210的任意一阻变存储器单元而言,阻变存储器单元的电阻值能够通过施加不同的脉冲人为地进行调控。

需要说明的是,本公开实施例中电子装置200的阻变存储器阵列210的具体组成和功能等均可以参照上文电子装置100的阻变存储器阵列110,为了本文的表述清楚与简洁,在此不做赘述。

还需要说明的是,阻变存储器阵列210和阻变存储器阵列110在同一应用场景中可以是指同一个阵列,例如基于该阵列执行初始化操作和复位操作之后,继续对该阵列执行下文所述的置位操作以实现puf数据的隐藏和恢复,当然,还可以是在不同应用场景下的不同阵列,本公开的实施例对此不作限制。

例如,在一些示例中,第二控制电路220被配置为:对已进行隐藏操作的多个第一阻变存储器单元中每个进行恢复操作,用以恢复已被隐藏的原始puf数据,即恢复出之前形成的原始puf数据。

例如,在一些示例中,在恢复puf数据之前,阻变存储器阵列210的多个第一阻变存储器单元中每个已根据第一设定初始化值p1(例如150kω)进行第一初始化操作而初始化为第一初始化电阻值r1并具有第一阻值变化区间(例如最低阻态在150kω左右),在该多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值r1小于或等于选择的参考阻值ref1的情况下,该当前被比较的第一阻变存储器单元还已根据第二设定初始化值p2(例如25kω)进行第二初始化操作而减小为第二初始化电阻值r2并改变为具有第二阻值变化区间(例如最低阻态在25kω左右);在多个第一阻变存储器单元中当前被比较的第一阻变存储器单元的第一初始化电阻值r1大于选择的参考阻值ref1的情况下,当前被比较的第一阻变存储器单元未进行第二初始化操作且仍具有第一阻值变化区间,以存储puf数据,其中,第一设定初始化值p2大于第二设定初始化值p1,并且,该多个第一阻变存储器单元中每个已进行隐藏操作而隐藏所存储的puf数据。

需要说明的是,本公开的实施例的阻变存储器阵列210的多个第一阻变存储器单元中每个可以参照上文有关电子装置100及其操作方法被执行隐藏操作(例如复位操作)而实现puf数据的隐藏,同样也可以根据上文有关电子装置100及其操作方法被执行初始化操作以存储puf数据。

例如,在一些示例中,对于情况一(如前文所述),隐藏操作包括复位操作,其中,在恢复puf数据之前,阻变存储器阵列210的多个第一阻变存储器单元中每个已进行复位操作而处于第一阻态(也可称之为高阻态h1),其中,高阻态h1的电阻值大于第一初始化电阻值r1。例如,第一初始化电阻值r1为150kω左右,高阻态h1的电阻值为1.5mω以上,当然,此仅仅为示例性的,并非是对本公开的限制。

又例如,在一些示例中,对于情况二(如前文所述),隐藏操作包括复位操作,多个第一阻变存储器单元中每个和多个第二阻变存储器单元中每个已进行复位操作而处于第一阻态(也可称之为高阻态h1’),其中,高阻态h1’的电阻值大于第一阻变存储器单元经过第一初始化操作的初始化电阻值(如前文所述的第一初始化电阻值r1)和第二阻变存储器单元经过第一初始化操作的初始化电阻值(如前文所述的第一初始化电阻值r1’)。例如,初始化电阻值r1和r1’为150kω左右,高阻态h1’的电阻值为1.5mω以上,当然,此仅仅为示例性的,并非是对本公开的限制。

对于情况一或情况二,例如,在一些示例中,复位操作的条件可以是:脉冲宽度800ms,sl电压大小2.5v,wl电压大小5.0v,高阻态的目标值为1.5mω。当然,此仅仅为示例性的,并不是对本公开的限制,还可以采用其他电压条件,本公开的实施例在此不再穷举和赘述。

对于情况一,例如,在一些示例中,恢复操作包括置位操作,第二控制电路220被配置为:根据第二电阻值q2,对处于高阻态h1的每个第一阻变存储器单元进行置位操作,以将每个第一阻变存储器单元从高阻态h1减小至第二阻态(也可称之为低阻态l1),以用于恢复puf数据,其中,第二电阻值q2至少要大于或等于第二设定初始化值p2并且要小于第一设定初始化值p1。

例如,在一些示例中,电子装置200还包括读出电路(未图示),读出电路用于读取出已经历恢复操作的puf数据,其中,puf数据读出方法和初始化操作方法需要保持一致,即初始化操作是采用每两个阻变存储器单元进行阻值比较的方式,则puf数据读出也需要采用两个阻变存储器单元进行阻值比较的方式,同理,若初始化操作是采用一个阻变存储器单元的自身阻态和预设电阻值进行比较的方式,则puf数据读出也需要采用一个阻变存储器单元与一个设定阻值进行比较的方式。

对于情况一,例如,读出电路被配置为:获取第二电阻值q2,将处于高阻态h1的每个第一阻变存储器单元的阻值分别与第二电阻值q2进行比较,基于比较结果确定并输出puf数据,即此时读出电路是通过将阻变存储器阵列120中的第一阻变存储器单元的自身阻态和设定电阻值进行比较来实现puf数据恢复后的读出。

例如,在一些示例中,为了利用读出电路读出已经历置位操作的阻变存储器阵列210中特定坐标(x,y)所对应的puf数据,操作方法如下:设置的第二电阻值q2,例如75kω;选取阻变存储器阵列210中位于坐标(x,y)上的阻变存储器单元,记作rrama,将经历置位操作后处于低阻态l1的rrama的电阻值rl1和第二电阻值q2进行比较;如果rl1<q2,读出电路输出1;如果rl1>q2,读出电路输出0。

需要说明的是,据前所知,已完成初始化操作后电阻值在150kω左右或25kω左右的阻变存储器单元再经过置位操作后所能达到的最低电阻状态也分别在150kω左右或25kω左右,因此,在置位操作之后的puf数据读出时,选取介于这两种最低电阻状态之间的第二电阻值q2(例如75kω),使得阻变存储器阵列210的第一部分的阻变存储器单元(例如完成初始化操作后电阻值在25kω左右的阻变存储器单元)小于等于第二电阻值q2,读出电路稳定地输出1,并且阻变存储器阵列210的第二部分的阻变存储器单元(例如完成初始化操作后电阻值在150kω左右的阻变存储器单元)大于第二电阻值q2,读出电路对应输出0。再者,第一部分的阻变存储器单元在第二初始化操作后初始化电阻值r2(例如25kω左右)也是小于预先设定的第一电阻值q1(例如140kω),这时候读出电路输出的也是1,并且第二部分的阻变存储器单元在第一初始化操作后初始化电阻值r1(例如150kω左右)也是大于预先设定第一电阻值q1,这时候读出电路输出的也是0。最终,对于情况一,在已经历隐藏和恢复操作之后读出电路读出的puf数据和形成的原始puf数据一致,由此,本公开的实施例能够准确地实现puf数据恢复和读取。

值得注意的是,对于情况一,第二电阻值q2不仅需要大于或等于第二设定初始化值p2且小于第一设定初始化值p1,其最好还要小于所有的第一阻变存储器单元的第一初始化电阻值r1,这也意味着第二电阻值q2小于预先设定的第一电阻值q1(如前文所述),并且第二电阻值q2还要尽量与第一设定初始化值p1的数值拉开一些差距,以能够更有效地实现低误码率的puf数据恢复。例如,第一设定初始化值p1为150kω,预先设定的第一电阻值q1为140kω,第二设定初始化值p2为25kω,第二电阻值q2为75kω,当然,此仅仅为示例性的,并非是对本公开的限制。

对于情况一,在本公开的一些实施例中,利用阻变存储器单元的最低电阻状态来区分不同的puf数据状态,并通过置位操作来使阻变存储器单元达到最低电阻状态,置位操作过程的置位电压大小可以灵活选择,对置位电压大小的依赖性低,不需要对置位电压进行大量训练。

对于情况二,例如,在一些示例中,恢复操作包括置位操作,第二控制电路220被配置为:根据第三电阻值q3,对处于高阻态h1’的每个第一阻变存储器单元和每个第二阻变存储器单元分别进行置位操作,以将每个第一阻变存储器单元和第二阻变存储器单元分别从高阻态h1’减小至第二阻态(也可称之为低阻态l1’),以用于恢复puf数据,其中,第三电阻值q3至少要大于或等于第二设定初始化值p2并且要小于第一设定初始化值p1。

对于情况二,例如,在一些示例中,读出电路被配置为:将处于低阻态l1’的第一阻变存储器单元的阻值与对应的处于低阻态l1’的第二阻变存储器单元的阻值进行比较,基于比较结果确定并输出puf数据。

对于情况二,例如,在一些示例中,为了利用读出电路读出已经历置位操作的阻变存储器阵列210中特定坐标(x,y)所对应的puf数据,操作方法如下:选取子阵列a和子阵列b中位于坐标(x,y)上的阻变存储器单元,分别记作rrama和rramb;将处于低阻态l1’的rrama和处于低阻态l1’的rramb的电阻值分别记作rla和rlb,并将rla和rlb进行比较;如果rla<rlb,读出电路输出1;如果rla>rlb,读出电路输出0。

值得注意的是,对于情况二,第三电阻值q3不仅要大于等于第二设定初始化值p2且小于第一设定初始化值p1,其最好还要小于所有的第一阻变存储器单元的第一初始化电阻值r1和所有的第二阻变存储器单元的第一初始化电阻值r1’(如前文所述),并且第三电阻值q3还要尽量与第一设定初始化值p1的数值拉开一些差距并更加靠近第二设定初始化值p2,以能够更有效地实现低误码率的puf数据恢复。例如,第一设定初始化值p1为150kω,第二设定初始化值p2为25kω,第三电阻值q3为37.5kω,当然,此仅仅为示例性的,并非是对本公开的限制。

对于情况二,在本公开的一些实施例中,利用两个阻变存储器单元的最低电阻状态来区分不同的puf数据状态,并通过置位操作来使阻变存储器单元达到最低电阻状态,置位操作过程的置位电压大小可以灵活选择,对置位电压大小的依赖性低,不需要对置位电压进行大量训练。

图11为本公开一些实施例提供的puf数据恢复方法的流程示意图。

对于情况二,例如,如图11所示,为了将已经历置位操作的阻变存储器阵列中特定坐标(x,y)所对应的puf数据px,y进行恢复,第二控制电路220执行恢复操作的方法如下:选取子阵列a和b中位于坐标(x,y)上的阻变存储器单元,分别记作rrama和rramb,然后分别对rrama和rramb施以如图11所示的操作,即以最多n2(例如count=100)次置位操作,尝试将rrama和rramb的电阻值调制至37.5kω以下,置于低阻态,其中,37.5kω仅仅为示例性的,并非是对本公开的限制,还可以是其他大小电阻值,当然,这里的100次仅仅为一个示例,本公开的实施例对此不作限制,具体可以根据实际情况进行相应的调整。

需要说明的是,对于情况二,根据前文有关初始化操作的描述,对于任意一组的rrama和rramb,其中一个曾被初始化至25kω,而另一个仅被初始化至150kω,因此,在经过置位操作后,曾被初始化至25kω的阻变存储器单元的电阻值能够按照设定要求被置位至第三电阻值q3以下(例如37.5kω以下),但是另一个阻变存储器单元的电阻值则只能达到150kω附近,无法按照设定要求被置位至第三电阻值q3以下(例如37.5kω以下)。

由此可知,rrama按照设定要求能被置位至37.5kω以下,而rramb被置位之后的电阻值只能达到150kω附近,即rla<37.5kω且rlb≈150kω,因此,rla<rlb,此时读出电路能够稳定地输出第1。再者,该rrama是经历过第二初始化操作而被初始化至初始化电阻值r2,例如25kω左右,而该rramb是仅仅经历第一初始化操作而被初始化至初始化电阻值r1,例如150kω左右,这时候读出电路读取的结果也是1(如前所述)。最终,对于情况二,在经历隐藏和恢复操作之后读出电路读出的puf数据和原始puf数据一致,由此,本公开的实施例能够准确地实现puf数据恢复和读取。

对于情况一或情况二,例如,在一些示例中,置位操作的条件可以是:脉冲宽度800ms,bl电压大小2.2v,wl电压大小1.8v。另外,对于情况二,低阻态的目标值为37.5kω,即第三电阻值q3为37.5kω。当然,此仅仅为示例性的,并不是对本公开的限制,还可以采用其他电压条件,本公开的实施例在此不作穷举和赘述。

本公开一些实施例是以用于隐藏puf数据以及恢复puf数据的角度来对电子装置300及其操作方法进行详细说明,参照图12-图20。

图12为本公开一些实施例提供的一种电子装置300的示意框图。

如图12所示,本公开至少一实施例提供了一种电子装置300,包括阻变存储器阵列310和第三控制电路320,阻变存储器阵列310包括多个第一阻变存储器单元。例如,对于阻变存储器阵列310的任意一阻变存储器单元而言,阻变存储器单元的电阻值能够通过施加不同的脉冲人为地进行调控。需要说明的是,本公开实施例的电子装置300的阻变存储器阵列310的具体组成和功能等均可参照上文的电子装置100的阻变存储器阵列110,为了本文的表述清楚与简洁,在此不再赘述。

例如,在一些示例中,第三控制电路320既能实现上述第一控制电路120的初始化操作,也能实现上述第一控制电路120的复位操作,还能实现上述第二控制电路220的置位操作,具体参照上文相关内容的描述,在此不做赘述。换句话说,本公开至少一实施例通过向阻变存储器阵列的阻变存储器单元发送不同的控制信号来实现初始化操作、复位操作和置位操作,例如,在实际产品中,一般将初始化电路(对应初始化操作)、隐藏电路(对应复位操作)和恢复电路(对应置位操作)集成于一个电路,以形成上述的第三控制电路320。当然,本公开实施例的第三控制电路320也可设计成包括初始化电路、隐藏电路和恢复电路这三个独立电路,以分别实现初始化操作、复位操作和置位操作,具体方式视实际情况而定,本公开实施例对此不作限制。

此外,可以理解的是,上述第一控制电路120包括初始化电路和隐藏电路,上述第二控制电路220包括恢复电路,这里的初始化电路、隐藏电路和恢复电路分别对应前文的初始化操作、复位操作和置位操作,鉴于实现上述初始化操作、复位操作和置位操作所采用的具体电路形式不是本公开实施例阐述的重点,本领域技术人员可以根据本文的相关描述能够实现各个示例的技术方案,为了保证本公开实施例的说明清楚且简明,本公开实施例在此不再赘述。

图13为本公开又一些实施例提供的一种电子装置300的示意框图。

下文以初始化电路、隐藏电路和恢复电路集成于一个控制电路为例进行说明,并且,为了便于理解本公开的实施例,图13将初始化电路、隐藏电路和恢复电路分别各自示意出为例进行说明,但是应当理解这仅仅是一种示意方式,并不对本公开的实施例造成限制。

对于情况二(如前所述),例如,如图13所示,电子装置300包含阻变存储器阵列310、初始化电路321、隐藏电路322、恢复电路323和读出电路330,其中,阻变存储器阵列310包含子阵列a和子阵列b。

图14为本公开一些实施例提供的一种电子装置300的操作方法的流程图。例如,如图14所示,电子装置300的操作方法包括步骤s1~步骤s5。

步骤s1、初始化操作;

对于步骤s1,例如,在一些示例中,初始化操作包括第一初始化操作和第二初始化操作,以形成原始puf数据px,y,其具体实现方法可以参考前文的相关描述,在此不再赘述。

步骤s2、隐藏操作;

对于步骤s2,例如,在一些示例中,隐藏操作包括复位操作,其具体实现方法可以参考前文的相关描述,在此不再赘述。

步骤s3、获取数据访问请求,其中,数据访问请求为原始puf数据px,y访问请求;

步骤s4、恢复操作;

对于步骤s4,例如,在一些示例中,在接收到数据访问请求之后,需要依次对相应数据进行恢复,其中,恢复操作包括置位操作,其具体实现方法可以参考前文的相关描述,在此不再赘述。

步骤s5、读出操作。

对于步骤s5,例如,在一些示例中,在对相应数据进行恢复之后,需要对数据进行读出,其中,该读出操作是通过阻值的比较来确定并输出puf数据,其具体实现方法可以参考前文的相关描述,在此不再赘述。

图15为本公开又一些实施例提供的一种电子装置300的操作方法的流程图。

例如,如图15所示,该操作方法包括步骤s6:隐藏操作,即在上述步骤s5之后增加该步骤s6。对于步骤s6,例如,在一些示例中,根据接收到数据访问请求,并相应地依次执行完步骤s4与步骤s5之后,又一次进行隐藏操作,比如对阻变存储器阵列包括的每个阻变存储器单元进行又一次的复位操作,以将阻变存储器单元置于高阻态,以再一次隐藏puf数据,此外,该步骤s6的隐藏操作的具体实现方法可以参考前文的相关描述,在此不再赘述。

图16为本公开一些实施例提供的puf数据在经过初始化操作后读出的示意图。图17为本公开一些实施例提供的puf数据在经过隐藏操作后读出的示意图。图18为本公开一些实施例提供的puf数据在经过恢复操作后读出的示意图。

例如,如图16-图18所示,其分别展示了长度为512bit的puf数据在经过初始化操作、隐藏操作和恢复操作后的读出的情况。例如,在图16-图18中,黑色点表示puf数据的值为0,白色点表示puf数据的值为1。

对比可知,图17中的黑色点和白色点的显示结果,和图16中黑色点和白色点的显示结果不一样,比如,图17中约有40%的puf数据与图16中原始puf数据不一致,即原始的puf数据被很好地隐藏了。

对比可知,图18中黑色点和白色点的显示结果,和图16中黑色点和白色点的显示结果一样,即原始的puf数据被准确的恢复了。

需要注意的是,图17是针对情况二的示例,图17中不仅存在黑色点,还存在白色点,这正好与上文所说的经过复位操作后的阻变存储器单元的电阻值具有随机性一致。还需要注意的是,针对情况一的示例,puf数据隐藏的图示结果是全部都是黑点(未图示)。

图19为本公开一些实施例提供的puf数据隐藏率和其他方案的puf数据隐藏率的比较示意图,图20为本公开一些实施例提供的数据误码率和其他方案的数据误码率的比较示意图,其中,图19和图20的循环次数是指经历隐藏操作至恢复操作这一循环的次数,本公开实施例对循环次数也不作限制。

例如,图19和图20所指的其他方案可以是通过对阻变存储器阵列施加置位电压和复位电压实现puf数据的隐藏和恢复,该方法对置位电压和复位电压的大小非常依赖,并会导致芯片的设计成本很高。

例如,如图19所示,对比可知,本公开的实施例和其他方案都能够有效地实现puf数据隐藏,则本公开的实施例能够在不对置位电压和复位电压进行依赖的情况下实现puf数据的有效隐藏,芯片的设计成本也会降低。

例如,如图20所示,其展示了在puf数据恢复后本公开的实施例和其他方案的数据误码率的比较,对比可知,相比于其他方案,本公开的实施例在误码率方面得到显著改善,则本公开的实施例的数据误码率比其他方案的数据误码率明显要低,甚至还能在10次隐藏操作-恢复操作循环内实现0误码率。

需要说明的是,为表示清楚、简洁,本公开的实施例并没有给出电子装置100、200和300的全部组成单元。为实现隐藏和/或恢复puf数据的电子装置的必要功能,本领域技术人员可以根据具体需要提供、设置其他未示出的组成单元,本公开的实施例对此不作限制。还需要说明的是,尽管以上在描述电子装置时将其划分为用于分别执行相应处理的模块,然而,本领域技术人员清楚的是,各模块执行的处理也可以在电子装置不进行任何具体模块划分或者各模块之间并无明确划界的情况下执行。

关于不同实施例中的电子装置的操作方法的技术效果可以参考本公开的实施例中提供的电子装置的技术效果,这里不再赘述。

有以下几点需要说明:

(1)本公开实施例附图只涉及到本公开实施例涉及到的结构,其他结构可参考通常设计。

(2)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。

以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜