基于物理不可克隆功能的安全数据存储的制作方法_6

文档序号:9766154阅读:来源:国知局
何特定权利要求局限于仅包含一个该记述项的实施例,即使当同一权利要求包括了引导性短语“一个或多个”或“至少一个”以及诸如不定冠词“一”或“一个”的(例如,“一”和/或“一个”应当解释为表示“至少一个”或“一个或多个”);这同样适用于对于用于引导权利要求记述项的定冠词的使用。另外,即使明确地记述了被引导的权利要求记述项的具体数量,本领域技术人员将理解到这些记述项应当解释为至少表示所记述的数量(例如,没有其它修饰语的裸记述“两个记述项”表示至少两个记述项或两个以上的记述项)。
[0104]此外,在使用类似于“A、B和C等中的至少一个”的惯用法的那些实例中,通常这样的构造旨在表达本领域技术人员理解该惯用法的含义(例如,“具有A、B和C中的至少一个的系统”将包括但不限于仅具有A、仅具有B、仅具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B和C等等的系统)。本领域技术人员将进一步理解,呈现两个以上可选项的几乎任何分离词和/或短语,无论是在说明书、权利要求或附图中,都应理解为构思为包括一项、任一项或两项的可能性。例如,术语“A或B”将理解为包括“A”或“B”或“A和B”的可能性。
[0105]本领域技术人员将理解的是,为了任何以及全部的目的,诸如在提供所撰写的说明书方面,本文所公开的全部范围也涵盖了任何和全部的可能的子范围及其子范围的组合。能够容易地认识到任何所列范围都充分地描述了同一范围并且使同一范围分解成至少均等的一半、三分之一、四分之一、五分之一、十分之一等等。作为非限制示例,本文所论述的每个范围能够容易地分解成下三分之一、中三分之一和上三分之一,等等。本领域技术人员还将理解的是,诸如“多达”、“至少”、“大于”、“小于”等所有的语言包括所记述的数量并且是指如上文所论述的随后能够分解成子范围的范围。最后,本领域技术人员将理解的是,范围包括每个独立的成员。因此,例如,具有1-3个单元的组是指具有I个、2个或3个单元的组。类似地,具有1-5个单元的组是指具有I个、2个、3个、4个、或5个单元的组,等等。
[0106]虽然本文公开了各个方面和实施例,但是其它的方面和实施例对于本领域技术人员而言将是显而易见的。因此,本文所公开的各个方案和实施例是为了示例的目的而不意在限制,真正的范围和精神是通过随附的权利要求表示的。
【主权项】
1.一种利用物理不可克隆功能将数据写到非易失性存储器上的方法,所述方法包括: 对于所述非易失性存储器上的多个存储器位,确定程序阈值均值和程序阈值偏差; 基于所述程序阈值均值和所述程序阈值偏差来取得第一仓库阈值和第二仓库阈值; 基于至少所述第一仓库阈值和所述第二仓库阈值,将所述多个位分组成至少第一位组、第二位组和第三位组; 基于至少所述多个位的分组来确定所述数据要写入的一组位;以及 基于所述程序阈值均值和所述程序阈值偏差来对所述一组位执行所述数据的部分编程。2.如权利要求1所述的方法,其中所述程序阈值表示将所述多个位中的位从第一值修正成第二值的程序脉冲数量。3.如权利要求1所述的方法,其中将所述多个位分组进一步包括: 对于所述多个位中的每个位,确定相应的程序阈值; 将所述多个位中的具有比所述第一仓库阈值小的相应的程序阈值的各个位指派给所述第一位组; 将所述多个位中的具有比所述第一仓库阈值大且比所述第二仓库阈值小的相应的程序阈值的各个位指派给所述第二位组;以及 将所述多个位中的具有比所述第二仓库阈值大的相应的程序阈值的各个位指派给所述第三位组。4.如权利要求1所述的方法,其中确定所述数据要写入的所述一组位基于至少密钥掩码和/或所述多个位的分组。5.如权利要求1所述的方法,进一步包括:通过将随机位值插入到密钥掩码所指示的预期数据的位置,从密码取得值和预期数据值中取得要写入的数据。6.如权利要求1所述的方法,其中执行所述数据的部分编程进一步包括: 利用等于所述第一仓库阈值数量的程序脉冲将所述数据中的位值“I”写入所述一组位中的位上;以及 利用零程序脉冲将所述数据中的位值“ O ”写入所述一组位中的位上。7.如权利要求1所述的方法,其中执行所述数据的部分编程进一步包括: 利用等于所述第一仓库阈值数量的程序脉冲将所述数据中的位值“I”写入所述一组位中的位上; 利用零程序脉冲将所述数据中的位值“O”写入所述一组位中的属于所述第二位组的位上;以及 利用等于第三阈值数量的程序脉冲将所述数据中的位值“O”写入所述一组位中的属于所述第三位组的位上。8.一种配置为利用物理不可克隆功能将数据写到非易失性存储器上的编码模块,所述编码模块包括: 接口,其配置为与所述非易失性存储器上的多个存储器位耦合;以及 处理器块,其配置为: 对于所述多个存储器位,确定程序阈值均值和程序阈值偏差; 从所述程序阈值均值和所述程序阈值偏差取得第一仓库阈值和第二仓库阈值; 基于至少所述第一仓库阈值和所述第二仓库阈值,将所述多个位分组成至少第一位组、第二位组和第三位组; 基于至少所述多个位的分组和密钥掩码,来确定所述数据要写入的一组位;以及 基于所述程序阈值均值和所述程序阈值偏差来对所述一组位执行所述数据的部分编程。9.如权利要求8所述的编码模块,其中所述处理器块配置为通过如下对所述多个位进行分组: 对于所述多个位中的每个位,确定相应的程序阈值; 将所述多个位中的具有比所述第一仓库阈值小的相应的程序阈值的各个位指派给所述第一位组; 将所述多个位中的具有比所述第一仓库阈值大且比所述第二仓库阈值小的相应的程序阈值的各个位指派给所述第二位组;以及 将所述多个位中的具有比所述第二仓库阈值大的相应的程序阈值的各个位指派给所述第三位组。10.如权利要求8所述的编码模块,其中所述处理器块配置为通过基于分组生成位仓库映射来对所述多个位进行分组。11.如权利要求8所述的编码模块,其中所述处理器块配置为通过从所述程序阈值均值中减去所述程序阈值偏差来取得所述第一仓库阈值以及通过将所述程序阈值偏差与写阈值均值相加来取得所述第二仓库阈值。12.如权利要求8所述的编码模块,其中所述处理器块进一步配置为通过从所述第二位组中选择所述一组位来确定所述数据要写入的所述一组位。13.如权利要求8所述的编码模块,其中所述处理器块配置为通过如下来执行所述数据的部分编程: 利用等于所述第一仓库阈值数量的程序脉冲将所述数据中的位值“I”写入所述一组位中的位;以及 利用零程序脉冲将所述数据中的位值“ O ”写入所述一组位中的位。14.一种利用物理不可克隆功能从非易失性存储器读取数据的方法,所述方法包括: 基于程序阈值均值、程序阈值偏差和与至少一位相关联的位组特征中的至少一项将至少一个程序脉冲应用于所述非易失性存储器中的多个存储器位中的至少一位; 读取所述多个存储器位的最终状态;以及 基于所述最终状态和另一数据值来取得最终数据。15.如权利要求14所述的方法,进一步包括读取所述多个存储器位的初始状态,并且其中取得所述最终数据还包括基于至少所述最终状态和所述初始状态来取得所述最终数据。16.如权利要求15所述的方法,进一步包括从所述程序阈值均值和所述程序阈值偏差来取得第一程序参数,并且其中应用所述至少一个程序脉冲进一步包括将等于所述第一程序参数数量的程序脉冲应用于所述多个存储器位中的每一个位。17.如权利要求15所述的方法,进一步包括: 从所述程序阈值均值和所述程序阈值偏差来取得第二程序参数; 再次将等于所述第二程序参数数量的程序脉冲应用于所述多个存储器位中的每一个位;以及 读取所述多个存储器位的另一状态;并且其中取得所述最终数据进一步包括基于至少所述最终状态、所述初始状态和所述另一状态来取得所述最终数据。18.如权利要求14所述的方法,进一步包括: 基于所述位组特征将所述多个存储器位分组成第一位组、第二位组和第三位组;以及 从所述程序阈值均值和所述程序阈值偏差中取得第一程序参数和第二程序参数;其中: 应用所述至少一个程序脉冲进一步包括: 将等于所述第一程序参数数量的程序脉冲应用于所述多个存储器位中的位于所述第二位组中的位;以及 将等于所述第三程序参数数量的程序脉冲应用于所述多个存储器位中的位于所述第一位组中的位。19.一种配置为利用物理不可克隆功能从非易失性存储器中读取数据的解码模块,所述解码模块包括: 接口,其配置为与所述非易失性存储器中的多个存储器位耦合;以及 处理器块,其配置为: 基于程序阈值均值、程序阈值偏差和与至少一位相关联的位组特征中的至少一项将至少一个程序脉冲应用于所述多个存储器位中的至少一位,其中所述程序阈值表示在读取者提取时将所述多个存储器位中的位从第一值修正为第二值的程序脉冲数量; 读取所述多个存储器位的最终状态;以及 基于所述最终状态和另一数据值来取得最终数据。20.如权利要求19所述的解码模块,其中所述处理器块进一步配置为: 读取所述多个存储器位的初始状态;以及 基于至少所述最终状态和所述初始状态来取得所述最终数据。21.如权利要求20所述的解码模块,其中所述处理器块进一步配置为: 从所述程序阈值均值和所述程序阈值偏差来取得第一程序参数;以及 通过将等于所述第一程序参数数量的程序脉冲应用于所述多个存储器位中的每一个位来应用所述至少一个程序脉冲。22.如权利要求20所述的解码模块,其中所述处理器块进一步配置为: 从所述程序阈值均值和所述程序阈值偏差来取得第二程序参数; 再次将等于所述第二程序参数数量的程序脉冲应用于所述多个存储器位中的每一个位; 读取所述多个存储器位的另一状态;以及 基于至少所述最终状态、所述初始状态和所述另一状态来取得所述最终数据。23.如权利要求19所述的解码模块,其中所述处理器块进一步配置为: 基于所述位组特征将所述多个存储器位分组成第一位组、第二位组和第三位组; 从所述程序阈值均值和所述程序阈值偏差中取得第一程序参数和第三程序参数;以及 通过如下来应用所述至少一个程序脉冲: 将等于所述第一程序参数数量的程序脉冲应用于所述多个存储器位中的位于所述第二位组中的位;以及 将等于所述第三程序参数数量的程序脉冲应用于所述多个存储器位中的位于所述第一位组中的位。
【专利摘要】一般描述了用于具有用于安全数据存储的物理不可克隆功能的存储器的部分编程的技术。在一些示例中,希望利用物理存储器将数据安全地发送到接收方的发送器可以测量存储器中的位的程序阈值均值和程序阈值偏差并且基于测量的均值和偏差将位分组到不同的仓库中。发送器可以通过基于程序阈值均值和程序阈值偏差将部分程序脉冲应用于所述位来将数据部分地编程到从一个或多个仓库中选出的一组位上。发送器随后可以将部分编程的存储器提供给接收方。接收方随后可以基于程序阈值均值和程序阈值偏差对接收到的存储器进行部分编程以恢复编程的数据。
【IPC分类】G06F21/79, G11C7/24
【公开号】CN105528560
【申请号】CN201510666276
【发明人】E·坎
【申请人】英派尔科技开发有限公司
【公开日】2016年4月27日
【申请日】2015年10月15日
【公告号】US20160110130
当前第6页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1