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

具有增强的物理安全性的数据加扰器的制作方法

2021-10-23 03:33:00 来源:中国专利 TAG:存储器 装置 可靠性 安全性 文献


1.该专利文献总体涉及存储器装置,并且更具体地,涉及增强存储器装置中的安全性和可靠性。


背景技术:

2.数据完整性是数据存储和数据传输的重要特征。使用提供均匀数据分布的数据加扰器以提高可靠性被推荐用于包括nand闪速存储器装置的各种类型的数据存储装置。
3.固态驱动器(ssd)使用多层nand闪存装置进行持久存储。然而,多层nand闪存装置可能本身不可靠,并且通常需要使用加扰器,该加扰器依靠伪随机数生成器(prng)来实现数据的均匀分布。需要能够提供具有更高可靠性的数据保护的越来越安全的prng和加扰器。


技术实现要素:

4.所公开技术的实施例涉及提高存储装置上存储的数据的完整性、可靠性和安全性。通过使用nand闪存装置中的数据加扰以进行数据随机化,至少部分地实现了这些以及其他特征和益处,以避免存储器单元中的可靠性劣化。另外,加扰操作被配置为可抵御密码攻击,密码攻击通常导致数据和存储器单元损坏。
5.在示例方面,描述了一种用于提高存储器系统的可靠性和安全性的方法。该方法包括:接收种子值和数据流,基于种子并使用物理不可克隆函数(puf)生成器生成puf数据模式,基于种子生成伪随机数据模式,对puf数据模式和数据流执行第一逻辑运算以生成第一逻辑运算的结果作为第一数据序列,以及对伪随机数据模式和第二数据序列执行第二逻辑运算以生成第二逻辑运算的结果作为用于存储器系统上的存储的第三数据序列,第二数据序列基于第一数据序列,其中puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
6.在另一示例方面,描述了一种用于提高存储器系统的可靠性和安全性的方法。该方法包括:接收种子值,接收从存储器系统读取的数据流,基于种子生成伪随机数据模式,对数据流和伪随机数据模式执行第一逻辑运算以生成第一逻辑运算的结果作为第一数据序列,对第一数据序列执行第一错误校正解码操作以生成第二数据序列,基于种子并使用物理不可克隆函数(puf)生成器生成puf数据模式,对第二数据序列和puf数据模式执行第二逻辑运算以生成第二逻辑运算的结果作为第三数据序列,对第三数据序列执行第二错误校正解码操作以生成第四数据序列,并且将第四数据序列传输到主机,其中puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
7.在又一示例方面,描述了一种用于提高存储器系统的可靠性和安全性的系统。该系统包括:物理不可克隆函数(puf)生成器,接收种子值并输出puf数据模式;第一逻辑电路,接收数据流,对puf数据模式和数据流执行第一逻辑运算,并且将第一逻辑运算的结果
作为第一数据序列输出;伪随机数生成器(prng),接收种子并生成伪随机数据模式;以及第二逻辑电路,对伪随机数据模式和第二数据序列执行第二逻辑运算,并将第二逻辑运算的结果作为用于存储器系统上的存储的第三数据序列输出,第二数据序列基于第一数据序列,其中puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
8.在又一示例方面,上述方法可以由包括处理器的视频编码器设备或视频解码器设备来实施。
9.在又一示例方面,这些方法可以以处理器可运行指令的形式实现并存储在计算机可读程序介质上。
10.本专利文件中描述的主题可以以提供以下一个或多个特征的特定方式来实施。
附图说明
11.图1示出存储器系统的示例。
12.图2是示例性非易失性存储器装置的示图。
13.图3是示出非易失性存储器装置的单元电压电平分布(v
th
)的示例示图。
14.图4是示出非易失性存储器装置的单元电压电平分布(v
th
)的另一示例示图。
15.图5是示出编程干扰之前和之后的非易失性存储器装置的单元电压电平分布(v
th
)的示例示图。
16.图6是示出非易失性存储器装置的作为参考电压的函数的单元电压电平分布(v
th
)的示例示图。
17.图7a和图7b示出nand闪速存储器装置的示例。
18.图8示出数据加扰器的示例。
19.图9示出包括加扰操作的示例性写入数据路径。
20.图10示出包括解扰操作的示例性读取数据路径。
21.图11示出用于提高存储器系统的可靠性和安全性的示例性方法的流程图。
22.图12示出用于提高存储器系统的可靠性和安全性的另一示例性方法的流程图。
具体实施方式
23.固态驱动器(ssd)是计算机中所使用的新一代存储装置。ssd通过使用速度明显更快的基于闪存的存储器来替代传统的机械硬盘。ssd由于其读取访问时间短且吞吐量高而显著提高计算机的速度。ssd通常使用ldpc码来校正从nand介质读取的页面中的任意位错误,并进一步使用加扰器以避免通过ldpc码无法校正的最坏情况模式。在解决系统可靠性问题时,诸如nand存储器的非易失性存储器的数据加扰变得越来越重要。
24.图1至图6、图7a和图7b概述可以实施所公开技术的实施例的非易失性存储器系统(例如,基于闪存的存储器、nand闪存)。
25.图1是基于所公开技术的一些实施例来实施的存储器系统100的示例的框图。存储器系统100包括存储器模块110,存储器模块110可以用于存储供其他电子装置或系统使用的信息。存储器系统100可以被并入(例如,定位于电路板上)在其他电子装置和系统中。可选地,存储器系统100可以被实施为外部存储装置,诸如usb闪存驱动器和固态驱动器
(ssd)。
26.存储器系统100中包括的存储器模块110可以包括存储器区域(例如,存储器阵列)102、104、106和108。存储器区域102、104、106和108中的每一个可以包括在单个存储器管芯中或多个存储器管芯中。存储器管芯可以被包括在集成电路(ic)芯片中。
27.存储器区域102、104、106和108中的每一个包括多个存储器单元。可以基于存储器单元组(memory unit)执行读取操作、编程操作或擦除操作。因此,每个存储器单元组可以包括预定数量的存储器单元。存储器区域102、104、106和108中的存储器单元可以包括在单个存储器管芯中或多个存储器管芯中。
28.存储器区域102、104、106和108的每一个中的存储器单元可以以行和列布置在存储器单元组中。存储器单元组中的每一个可以是物理单元组。例如,多个存储器单元的组可以形成存储器单元组。存储器单元组中的每一个也可以是逻辑单元组。例如,存储器单元组可以是可以分别由诸如块地址或页面地址的唯一地址来标识的块或页面。又例如,其中存储器区域102、104、106和108可以包括计算机存储器,该计算机存储器包括作为数据存储的逻辑单元组的存储库(memorybank),存储器单元组可以是可由库地址所识别的库。在读取操作或写入操作期间,与特定存储器单元组相关联的唯一地址可用于访问该特定存储器单元组。基于该唯一地址,可以将信息写入到该特定存储器单元组中的一个或多个存储器单元或从该特定存储器单元中的一个或多个存储器单元中检索信息。
29.存储器区域102、104、106和108中的存储器单元可以包括非易失性存储器单元。非易失性存储器单元的示例包括闪速存储器单元、相变随机存取存储器(pram)单元、磁阻随机存取存储器(mram)单元或其他类型的非易失性存储器单元。在存储器单元被配置为nand闪速存储器单元的示例性实施方式中,可以基于页面来执行读取操作或写入操作。然而,基于块对nand闪速存储器执行擦除操作。
30.非易失性存储器单元中的每一个可以被配置成单层单元(slc)或多层存储器单元。单层单元可以每单元存储一个信息位。多层存储器单元可以每单元存储多于一个信息位。例如,存储器区域102、104、106和108中的每一个可以被配置为每单元存储两个信息位的多层单元(mlc)、每单元存储三个信息位的三层单元(tlc)或每单元存储四个信息位的四层单元(qlc)。在另一示例中,存储器区域102、104、106和108中的每一个可以被配置成存储至少一个信息位(例如,一个信息位或多个信息位),并且存储器区域102、104、106和108中的每一个可以被配置成存储多于一个信息位。
31.如图1所示,存储器系统100包括控制器模块120。控制器模块120包括与存储器模块110通信的存储器接口121、与主机(未示出)通信的主机接口126、运行固件级别代码的处理器124以及分别临时或永久地存储可运行固件/指令和相关信息的高速缓存123和存储器122。在一些实施方式中,控制器模块120可以包括对存储器模块110中存储的信息执行错误校正操作的错误校正引擎125。错误校正引擎125可以被配置成检测/校正单个位错误或多个位错误。在另一实施方式中,错误校正引擎125可以位于存储器模块110中。
32.主机可以是包括一个或多个处理器的装置或系统,操作该一个或多个处理器以从存储器系统100检索数据或者将数据存储或写入到存储器系统100中。在一些实施方式中,主机的示例可以包括个人计算机(pc)、便携式数字装置、数码相机、数字多媒体播放器、电视和无线通信装置。
33.在一些实施方式中,控制器模块120还可以包括与主机通信的主机接口126。主机接口126可以包括符合但不限于以下的主机接口规范中的至少一种的组件:串行高级技术附件(sata)、串列小型计算机系统接口(sas)规范、高速外围组件互连(pcie)。
34.图2示出基于所公开技术的一些实施例来实施的存储器单元阵列的示例。
35.在一些实施方式中,存储器单元阵列可以包括被划分成许多块的nand闪速存储器阵列,并且每个块包含一定数量的页面。每个块包括多个存储器单元串,并且每个存储器单元串包括多个存储器单元。
36.在存储器单元阵列是nand闪速存储器阵列的一些实施方式中,基于页面执行读取操作和写入(编程)操作,并且基于块执行擦除操作。在对块中包括的任何页面执行编程操作之前,必须同时擦除相同的块内的所有存储器单元。在实施方式中,nand闪速存储器可以使用偶数/奇数位线结构。在另一实施方式中,nand闪速存储器可以使用全位线结构。在偶数/奇数位线结构中,偶数和奇数位线沿着每个字线交错并且被交替地访问,使得偶数和奇数位线中的每对可以共享诸如页面缓冲器的外围电路。在全位线结构中,可以同时访问所有位线。
37.图3示出多层单元装置中的阈值电压分布曲线的示例,其中将每个编程/擦除状态的单元数量绘制为阈值电压的函数。如图3中所示,阈值电压分布曲线包括具有最低阈值电压的擦除状态(表示为“er”并且对应于“11”)以及读取电压处于(由虚线表示的)状态之间的三种编程状态(表示为“p1”、“p2”和“p3”,分别对应于“01”、“00”和“10”)。在一些实施例中,由于存储器阵列的材料特性上的差异,编程/擦除状态的每个阈值电压分布具有有限的宽度。
38.虽然图3通过示例的方式示出多层单元装置,但是存储器单元中的每一个可以被配置成每单元存储任意数量的位。在一些实施方式中,存储器单元中的每一个可以被配置为每单元存储一个信息位的单层单元(slc),或者每单元存储三个信息位的三层单元(tlc),或者每单元存储四个信息位的四层单元(qlc)。
39.在将多于一个数据位写入存储器单元中时,由于相邻分布之间的距离减小,因此需要对存储器单元的阈值电压电平进行精细布置。这是通过使用增量步进脉冲编程(ispp)来实现的,即,使用编程和验证方法,利用施加到字线的阶梯式编程电压,对相同字线上的存储器单元进行重复编程。每个编程状态与在验证操作中使用的验证电压相关联,并且设置每个阈值电压分布窗口的目标位置。
40.可能由于阈值电压分布失真或重叠而导致读取错误。理想的存储器单元阈值电压分布可能由于例如下文中将讨论的编程和擦除(p/e)周期、单元间干扰以及数据保留错误而显著失真或重叠,并且在大多数情况下可以通过使用错误校正码(ecc)来对此类读取错误进行管理。
41.图4示出理想阈值电压分布曲线410的示例和失真的阈值电压分布曲线420的示例。纵轴表示存储器单元的数量,存储器单元具有在横轴上表示的特定阈值电压。
42.对于n位多层单元nand闪速存储器,每个单元的阈值电压可以被编程为2
n
个可能值。在理想的多层单元nand闪速存储器中,每个值对应于非重叠阈值电压窗口。
43.闪速存储器p/e周期对单元晶体管的电荷撷取层或浮栅的隧道氧化物造成破坏,这导致阈值电压偏移,从而逐渐降低存储器装置的噪声容限。随着p/e周期增加,不同编程
状态的相邻分布之间的裕度减小,最后这些分布开始重叠。在具有被编程在相邻分布的重叠范围内的阈值电压的存储器单元中存储的数据位可能被误判为不同于原始目标值的值。
44.图5示出nand闪速存储器中的单元间干扰的示例。单元间干扰还会使闪存单元的阈值电压失真。一个存储器单元晶体管的阈值电压偏移可通过干扰单元与牺牲单元之间的寄生电容耦合效应来影响该存储器单元晶体管的相邻存储器单元晶体管的阈值电压。单元间干扰的量可能会受到nand闪速存储器位线结构的影响。在偶数/奇数位线结构中,一个字线上的存储器单元交替地连接到偶数位线和奇数位线,并且在相同字线中的奇数单元之前对偶数单元进行编程。因此,偶数单元和奇数单元经历不同程度的单元间干扰。全位线结构中的单元比偶数/奇数位线结构中的偶数单元受到更少的单元间干扰,并且全位线结构可以高效地支持高速电流感测,以提高存储器读取和验证速度。
45.图5中的虚线表示所考虑的单元的p/e状态(在编程干扰之前)的正常分布,并且“相邻状态值”表示已被编程到相邻状态的值。如图5所示,如果相邻状态被编程为p1,则所考虑的单元的阈值电压分布偏移特定量。然而,如果邻近状态被编程为具有比p1更高的阈值电压的p2,则与邻近状态为p1相比,这导致更大的偏移。类似地,当相邻状态被编程为p3时,阈值电压分布的偏移最大。
46.图6通过将正常阈值电压分布和偏移后的阈值电压分布进行比较,来示出nand闪速存储器中的保留错误的示例。nand闪速存储器中存储的数据往往随着时间的推移而损坏,这被称为数据保留错误。保留错误是由单元晶体管的浮栅或电荷撷取层中存储的电荷的丢失所引起的。由于浮栅或电荷撷取层的损耗,具有更多编程擦除周期的存储器单元更可能经历保留错误。在图6的示例中,顶行电压分布(在损坏之前)的和底行分布(被保留错误损耗)的比较显示向左偏移。
47.图7a和7b示出nand闪速存储器装置的另一示例,其通常包括主机、控制器和nand存储器单元阵列。在示例中,主机使用高速接口与装置通信,并且为控制器生成工作负载。来自主机的数据存储在缓冲器(通常是动态ram(dram))中,然后通过错误校正码进行编码。在读取和写入操作期间,由于nand存储器单元的基础可靠性非常低,因此需要进行编码,并且这种存储器引入多个错误。
48.(例如,如图1至图6、图7a和图7b中所描述的)nand闪速存储器装置中的重要块中的一个是提高存储器单元的可靠性的加扰器(也称为随机发生器)的硬件实施方式。所公开技术的实施例包括增加数据加扰器的安全性,从而总体上提高存储器系统的可靠性和安全性的方法、系统和装置,并且以非易失性存储器装置为例。
49.图8示出了数据加扰器的示例。如图8中所示,数据加扰器通常包括伪随机数生成器(prng)块,该prng块通常以某个值(例如,逻辑块地址(lba)或物理页面数量(ppn))作为种子。该块生成均匀分布的序列s,该序列s与从主机发送的data进行异或。因此,data
s
=dataxor s被编程到nand存储器单元。
50.然而,这种传统的实施方式容易受到攻击者的攻击,这能够降低nand存储器单元的可靠性。由于加扰器使用伪随机数序列对数据进行处理,因此攻击者可以收集足够的输出(data
s
)并恢复prng块的配置数据(例如,多项式系数)。这可以使攻击者能够建立加扰器的数学模型并获得任何输入数据模式的输出值。攻击的可行性依据于攻击者可以使用原始读取/写入操作访问nand闪速存储器单元,并且还假设主机与存储器装置之间的通信通道
不可信。
51.在示例中,如果攻击者想要将某些特定的数据模式(d
p
)编程到nand,则攻击者使用数学模型处理此序列以获得d
x
=(d
p xor s)并将输出d
x
发送到装置。因此,
52.data
s
=d
x xor s=(d
p xor s)xor s=d
p
53.将被编程到存储器装置。因此,攻击者能够得到任何数据模式(最坏情况数据模式,例如,全零),以便降低nand可靠性。由于许多存储器装置都是利用相同的电路设计制造的,因此攻击者可以使用加扰器(从单个装置获得)的相同数学模型来使其他装置的可靠性劣化。
54.在另一示例中,也可以通过对相同数据模式进行编程来使nand存储单元的可靠性劣化。例如,如果多次将相同的数据模式(data)从主机发送到相同的lba或ppn(prng的相同种子值),则将其转换为nand上的相同数据模式(data
s
)。因此,利用相同的值对存储器单元进行编程,这导致其误码率(ber)增大。
55.所公开技术的实施例通过在加扰之前使用物理不可克隆函数(puf)作为附加的数据处理操作来减轻传统加扰器的脆弱性,其中除其他特征和益处外,该操作还提供以下作用:
56.(1)在建立加扰器的数学模型方面的脆弱性显著降低;
57.(2)在不使用硬件成本较高的算法(例如,高级加密标准(aes))的情况下加密数据,这些算法通常不用于移动闪存或物联网(iot)装置中;以及
58.(3)通过避免对相同数据模式重复地编程来提高nand的可靠性。
59.puf可以表示为外部输入(质询)到输出(响应)的映射。这种映射称为质询-响应对(crp)集,即使设计和布局相同,crp集对于包含puf块的每个集成电路(ic)也是唯一的。在一些实施例中,pufcrp集的唯一性是由于在制造期间引入的固有制造工艺变化所致。由于ic的物理特性可能根据温度或电压而变化,因此某些puf响应值不稳定。因此,crp集可以划分为稳定子集和不稳定子集,并且可以分别用于识别和随机数生成。在其他实施例中,puf crp集的唯一性基于不同的物理现象(例如,延迟值、阈值电压、工作频率、图像传感器噪声模式等)。
60.所公开技术的实施例使用puf电路以进行密钥生成和加密,其中需要puf响应是稳定的。另一方面,为了提供针对相同数据模式攻击的防御,puf应该具有一些噪声,以使攻击者无法预测数据模式。因此,在一些实施例中,加扰器基于nand错误校正码引擎利用附加的错误校正能力来实施。
61.在一些实施例中,通过将puf电路添加到闪速存储器装置的数据路径来配置数据加扰器。因为它使用唯一的puf生成的密钥对数据进行加密,所以这为现有的加扰器设计提供了增强的安全性。而且与传统的加密算法(例如,aes)相比,它需要小得多的硬件开销。由于puf向数据添加了唯一的标记,因此攻击者更难对加扰器进行数学建模并发送降低nand存储器单元的可靠性的最坏情况数据模式。此外,因为puf响应对于每个装置都是唯一的,所以即使攻击者设法知道单个装置的prng块的配置,它也不会给攻击者带来对于其他装置的优势。
62.用于实施puf的两个示例架构包括
63.(1)puf实施方式,该实施方式保留噪声并且不需要硬件来稳定。然而,必须增强
nand ecc引擎,以便提供针对由nand存储器单元和puf响应两者所带来的错误的校正能力;以及
64.(2)使用两个单独的ecc引擎的实施方式;更大(更强)的ecc引擎用于nand错误,而更小(更弱)的ecc引擎用于校正由puf添加到数据的错误。
65.图9示出包括加扰操作的示例写入数据路径。如图9中所示,ecc编码器位于加扰器之前,并且puf组件被添加到数据路径以便为用户数据提供轻量加密。在此示例中,puf组件以与加扰器相同的值作为种子,并生成标记r,该标记r对于每个存储器装置都是唯一的,即使其具有完全相同的设计。由于puf输出r可能有噪声,因此可选的小型ecc引擎(表示为puf ecc编码器)被添加到数据路径,并且被配置成对主机data进行编码并将其转换为data
p
。puf输出r与经编码的data
p
进行异或运算,并且由nand ecc编码器对经加密的data
pr
进行进一步处理,以生成码字data
pre
。如图9所示,然后通过与prng生成的值s进行异或来对编码并经加密的data
pre
进行加扰,并且经加扰的数据data
pres
被编程到nand。如前所述,puf ecc编码器是用于在不修改nand ecc引擎的情况下保护数据免受puf错误的影响的可选块。
66.图10示出包括解扰操作的示例读取数据路径,该解扰操作使图9所示的编码和加扰操作反转。如图10中所示,读取了加扰数据因为基于nand的存储通常在读取操作期间产生多个错误,所以通常不等于data
pres
。使用由prng生成的值s对进行解扰,以生成(并且假设在不失一般性的情况下,在编码器处使用的种子也可以在解码器处获得)。nand ecc解码器校正中的错误以生成data
pr
。这之后是对data
pr
进行解密以生成因为在解密过程中使用了由解码器中的puf组件生成的r*≠r值,所以将不等于data
p
。也就是说,因为来自puf块的值r*不稳定,所以它是噪声,因此将被puf噪声损坏。因此,此数据被发送到主机,并由pufecc解码器进行校正以生成data。
67.在一些实施例中,可以省略puf ecc解码器,在这种情况下,nand ecc解码器被放置在与puf响应进行异或之后,并且被配置成校正来自puf噪声和nand噪声两者的错误。
68.如上所述,由于puf组件易于在解码阶段向数据添加错误,因此应该增大ecc能力。在一些实施例中,这可以使用一种或多种实施方式来实现:
69.(1)增大nand ecc引擎的校正能力;
70.(2)在puf组件之后使用附加的ecc引擎,即图9所示的puf ecc编码器和图10所示的puf ecc解码器,校正数据;和/或
71.(3)增强puf组件的可靠性。
72.前两种实施方式需要额外的硬件开销以校正不稳定的puf输出,但是这种开销通常比使用最具鲁棒性和最可靠的加密算法(例如,aes)要小。puf块输出的不稳定性有利地降低了对相同模式编程和每个写入模式的变化数据模式的脆弱性。
73.在演示所公开技术的功效的示例中,假设nand ecc引擎可以被实施为博斯-查德胡里-霍坤格姆(bch)码,puf ecc引擎被实施为里德-所罗门码,硬件开销被估计为fpga查找表(lut)和触发器。进一步假设主机传输1023位数据,而puf组件生成1023位响应。对于该示例:
[0074]-puf组件有噪声,误码率(ber)为0.01,即puf块在1023位响应中生成约11个错误;
[0075]-nand产生最多70个错误,可使用bch码[n=1023,k=323,t=70]进行校正;并且
[0076]-此实施方式的nand ecc开销为5441个触发器和17413个lut块(假设采用赛灵思artix-7fpga)。
[0077]
在未部署专用puf ecc解码器的情况下,nand ecc解码器的错误校正能力必须提高到t=81=70 11,这导致bch码[n=1023,k=213,t=81]正在实施。此实施方式的开销是6512个触发器和20840个lut块,这意味着大约19.7%的额外硬件成本。然而,由于避免了puf响应的不可预测性,因此可以使用此方法来提高针对相同数据模式问题的可靠性。
[0078]
可选地,可以使用里德-所罗门码[n=1023,k=1002,t=11]部署较小的puf ecc引擎。此实施方式需要624个触发器和672个lut块的开销,这意味着不到11%的额外硬件成本。然而,此方法为puf噪声校正增加了一些延迟开销。
[0079]
在一些实施例中,加扰器可以被实施为上述两种方法的组合。例如,可以部署甚至更小的puf ecc解码器,并且可以稍微提高nandecc解码器的错误校正能力。这种权衡通常取决于特定的nand闪速存储器装置。
[0080]
通过将所公开技术在fpga(例如,赛灵思artix-7fpga)中的实施方式与aes实施方式进行比较,进一步证明了其功效。如表i中的比较所证明的那样,就硬件开销而言,所建议的实施方式的效率是标准加密技术的大约五倍。
[0081]
表i:硬件开销比较
[0082][0083]
图11示出用于提高存储器系统的可靠性和安全性的方法1100的流程图。方法1100包括在操作1110中接收种子值和数据流。
[0084]
方法1100包括在操作1120中基于种子并使用物理不可克隆函数(puf)生成器生成puf数据模式。
[0085]
方法1100包括在操作1130中基于种子生成伪随机数据模式。
[0086]
方法1100包括在操作1140中对puf数据模式和数据流执行第一逻辑运算以生成第一逻辑运算的结果作为第一数据序列。
[0087]
方法1100包括在操作1150中对伪随机数据模式和第二数据序列执行第二逻辑运算,以生成第二逻辑运算的结果作为用于存储器系统上的存储的第三数据序列,第二数据序列基于第一数据序列。在一些实施例中,puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
[0088]
在一些实施例中,第一逻辑运算和第二逻辑运算中的每一个都包括异或运算。
[0089]
在一些实施例中,第二数据序列与第一数据序列相同。
[0090]
在一些实施例中,方法1100包括对第一数据序列执行错误校正编码操作以生成第二数据序列的操作。
[0091]
在一些实施例中,至少部分地基于与存储器系统相关联的逻辑块地址(lba)或物理页面数量(ppn)来选择种子值。
[0092]
在一些实施例中,一个或多个物理特性包括存储器系统中的晶体管中的阈值电压差。
[0093]
在一些实施例中,第一错误校正编码操作包括博斯-查德胡里-霍坤格姆(bch)编码操作,并且其中第二错误校正编码操作包括里德-所罗门编码操作。
[0094]
在一些实施例中,伪随机数据模式包括均匀分布的序列。
[0095]
图12示出用于提高存储器系统的可靠性和安全性的另一方法1200的流程图。方法1200包括在操作1210中接收种子值和数据流。
[0096]
方法1200包括在操作1220中基于种子生成伪随机数据模式。
[0097]
方法1200包括在操作1230中对数据流和伪随机数据模式执行第一逻辑运算以生成第一逻辑运算的结果作为第一数据序列。
[0098]
方法1200包括在操作1240中对第一数据序列执行第一错误校正解码操作以生成第二数据序列。
[0099]
方法1200包括在操作1250中基于种子并使用物理不可克隆函数(puf)生成器来生成puf数据模式。
[0100]
方法1200包括在操作1260中对第二数据序列和puf数据模式执行第二逻辑运算以生成第二逻辑运算的结果作为第三数据序列。
[0101]
方法1200包括在操作1270中对第三数据序列执行第二错误校正解码操作以生成第四数据序列。
[0102]
方法1200包括在操作1280中将第四数据序列传输到主机。在一些实施例中,puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
[0103]
在一些实施例中,第一逻辑运算和第二逻辑运算中的每一个都包括异或运算。
[0104]
在一些实施例中,第二数据序列与第一数据序列相同。
[0105]
在一些实施例中,一个或多个物理特性包括非易失性存储器中的晶体管中的阈值电压差。
[0106]
描述了所公开技术的实施例包括用于提高存储器系统的可靠性和安全性的系统。该系统包括:物理不可克隆函数(puf)生成器,接收种子值并输出puf数据模式;第一逻辑电路,接收数据流,对puf数据模式和数据流执行第一逻辑运算,并将第一逻辑运算的结果作为第一数据序列输出;伪随机数生成器(prng),接收种子并生成伪随机数据模式;以及第二逻辑电路,对伪随机数据模式和第二数据序列执行第二逻辑运算,并将第二逻辑运算的结果作为用于存储器系统上的存储的第三数据序列输出,第二数据序列基于第一数据序列。其中puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
[0107]
所公开的技术的实施例进一步包括非暂时性计算机可读存储介质,其存储有用于改善存储器系统的可靠性和安全性的指令,包括:用于接收种子值和数据流的指令,用于基于种子并使用物理不可克隆函数(puf)生成器生成puf数据模式的指令,用于基于种子生成伪随机数据模式的指令,用于对puf数据模式和数据流执行第一逻辑运算以生成第一逻辑
运算的结果作为第一数据序列的指令,以及用于对伪随机数据模式和第二数据序列执行第二逻辑运算以生成第二逻辑运算的结果作为用于存储器系统上的存储的第三数据序列的指令,第二数据序列基于第一数据序列,其中puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
[0108]
所公开的技术的实施例进一步包括非暂时性计算机可读存储介质,其存储有用于改善存储器系统的可靠性和安全性的指令,包括:用于接收种子值的指令,用于接收从存储器系统读取的数据流的指令,用于基于种子生成伪随机数据模式的指令,用于对数据流和伪随机数据模式执行第一逻辑运算以生成第一逻辑运算的结果作为第一数据序列的指令,用于对第一数据序列执行第一错误校正解码操作以生成第二数据序列的指令,用于基于种子并使用物理不可克隆函数(puf)生成器生成puf数据模式的指令,用于对第二数据序列和puf数据模式执行第二逻辑运算以生成第二逻辑运算的结果作为第三数据序列的指令,用于对第三数据序列执行第二错误校正解码操作以生成第四数据序列的指令,以及用于将第四数据序列传输到主机的指令,其中puf生成器至少部分地基于存储器系统的一个或多个物理特性来选择,并且增加存储器系统上的存储的可靠性和安全性。
[0109]
本专利文件中描述的主题和功能操作的实施方式可以以包括本说明书中公开的结构及其结构等同方案的各种系统、数字电子电路或者计算机软件、固件或硬件,或者以它们中的一个或多个的组合来实施。本说明书中描述的主题的实施方式可以被实施为一种或多种计算机程序产品,即在有形且非暂时性计算机可读介质上编码的计算机程序指令的一个或多个模块,以由数据处理设备运行或控制数据处理设备的操作。该计算机可读介质可以是机器可读存储装置、机器可读存储衬底、存储器装置、实现机器可读传播信号的物质组合或它们中的一个或多个的组合。术语“数据处理单元”或“数据处理设备”涵盖用于处理数据的所有设备、装置和机器,通过示例的方式,包括可编程处理器、计算机或多个处理器或计算机。除了硬件之外,该设备可以包括为有关计算机程序创建运行环境的代码,例如构成处理器固件的代码、协议栈、数据库管理系统、操作系统或它们中的一个或多个的组合。
[0110]
计算机程序(也称为程序、软件、软件应用程序、脚本或代码)可以以包括编译或解释语言的任何形式的编程语言编写,并且其可以以包括作为独立程序或者作为模块、组件、子例程或适用于计算环境的其他单元的任何形式来部署。计算机程序不一定对应于文件系统中的文件。程序可以存储在保存其他程序或数据的文件的一部分例如,存储在标记语言文档中的一个或多个脚本)中、存储在专用于所讨论程序的单个文件中,或存储在多个协调文件中(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一个计算机上或者在位于一个站点上或分布在多个站点上并通过通信网络互连的多个计算机上运行。
[0111]
本说明书中描述的进程和逻辑流程可以由一个或多个可编程处理器执行,该可编程处理器运行一个或多个计算机程序以通过对输入数据进行操作和生成输出来执行功能。进程和逻辑流程也可以由专用逻辑电路执行,并且设备也可以被实施为专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。
[0112]
通过示例的方式,适用于运行计算机程序的处理器包括通用微处理器和专用微处理器,以及任何类型的数字计算机的任意一种或多种处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于执行指令的处理器和
用于存储指令和数据的一个或多个存储器装置。通常,计算机还将包括用于存储数据的一个或多个大容量存储装置,例如,磁盘、磁光盘或光盘,或者与其可操作地联接以从该一个或多个大容量存储装置接收数据或将数据传送到该一个或多个大容量存储装置或两者。然而,计算机不必具有此类装置。适用于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器装置,包括例如半导体存储器装置,例如,eprom、eeprom和闪速存储器装置。处理器和存储器可以由专用逻辑电路补充或被并入专用逻辑电路中。
[0113]
尽管该专利文件包含许多细节,但是这些细节不应被解释为对任何发明的或可要求保护的范围的限制,而应解释为对特定于特定发明的特定实施例的特征的描述。在该专利文件中在单独的实施例的上下文中描述的某些特征也可以在单个实施例中组合实施。相反,在单个实施例的上下文中描述的各种特征也可以在多个实施例中单独或以任何合适的子组合来实施。此外,尽管以上可能将特征描述为以某些组合起作用并且甚至最初也如此要求保护,但是在某些情况下可以从所要求保护的组合中删除一个或多个特征,并且所要求保护的组合可以涉及子组合或子组合的变型。
[0114]
类似地,虽然在附图中以特定顺序描绘了操作,但是这不应理解为要求以所示的特定次序或以顺序的次序执行这些操作,或者执行所有示出的操作以实现期望的结果。此外,在该专利文件中描述的实施例中的各种系统组件的分离不应被理解为在所有实施例中都需要这种分离。
[0115]
仅描述了一些实施方式和示例,并且可以基于本专利文件中描述并示出的内容做出其他实施方式、增强和变型。
再多了解一些

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

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

相关文献

  • 日榜
  • 周榜
  • 月榜