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

一种配置FPGA的码流加、解密实现方法、系统及设备与流程

2022-11-23 12:58:41 来源:中国专利 TAG:

一种配置fpga的码流加、解密实现方法、系统及设备
技术领域
1.本发明实施例涉及fpga芯片设计技术领域,具体涉及一种配置fpga的码流加、解密实现方法、系统及设备。


背景技术:

2.可编程逻辑门阵列(field programmable gate array,fpga)是一种可编程逻辑器件,根据用户需求通过配置其内部资源使用方式实现不同工作任务。
3.fpga用户出于对自身设计保护的目的会在生成码流阶段,对码流进行加密操作,在加载码流阶段,首先将加密码流解密然后在进行配置。当前实现解密的方案中,密钥存储是必不可少的。如下表表1所示,是当前主流加密算法所需密钥长度的汇总。
4.表1:当前主流加密算法所需密钥长度的汇总表
5.加密算法名称密钥长度(bits)triple des(2keys)80triple des(3keys)112aes-128128aes-192192aes-256256
6.根据密码学原理,密钥长度越长,加密的安全等级越高。因此,通常都会采用密钥较长的加密算法进行加密。这样就需要在fpga芯片内部存储较长的密钥,该密钥在用户设计完成后通过对fpga芯片内部特殊类型的非易失性存储器进行编辑写入,这种非易失性存储器较为常见的类型为efuse(一次性可编程存储器)。
7.efuse是一种特殊的晶体管设计,因其自身的设计结构导致efuse不能随着集成电路工艺节点尺寸减小而减小,即efuse的密度很难增加,能够存储的容量较小。而且因其无法减小尺寸,小工艺节点设计较大容量efuse所占面积比例较高。efuse结构的特殊性导致其在小工艺节点上大容量良品率不稳定。
8.由以上提到的efuse缺点导致在存储密钥较长的场景下,容易因efuse生产错误、烧写失效等原因导致的加密码流无法解密的情况。


技术实现要素:

9.为此,本发明实施例提供一种配置fpga的码流加、解密实现方法、系统及设备,以解决:
10.1.现有技术在存储密钥较长的场景下,容易因efuse生产错误、烧写失效等原因导致的加密码流无法解密的技术问题;
11.2.将加密算法以及密钥相关信息隐藏在配置码流中,提升了用户设计安全等级。
12.为了实现上述目的,本发明实施例提供如下技术方案:
13.根据本发明实施例的第一方面,本技术实施例提供了一种配置fpga的码流加、解
密实现方法,所述方法包括在上位机执行以下步骤:
14.选定目标加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥;
15.利用所述第一密钥对明文码流加密,并利用目标加密算法编号以及对应的密钥种子对加密码流进行封装;
16.使用封装后的加密码流对fpga芯片进行配置,由fpga芯片内部解密电路进行处理,得到明文码流,完成对fpga配置。
17.进一步地,选定目标加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥,包括:
18.从多种加密算法中选取目标加密算法;
19.基于预设的加密算法编号映射表,获取目标加密算法编号;
20.由伪随机数发生器根据选取的目标加密算法生成对应密钥种子;
21.由选定加密算法密钥需求长度结合密钥种子长度,确定迭代预设次数;
22.每次迭代将所述密钥种子向左/右移一位以便生成与前次不同的伪随机数;
23.完成全部迭代后,将所有伪随机数按照生成顺序、逆序或乱序进行拼接,得到所述第一密钥。
24.进一步地,利用目标加密算法编号以及对应的密钥种子对加密码流进行封装,包括:
25.将所述目标加密算法编号以及对应的密钥种子按照前后顺序组合在一起,产生原始包头;
26.按照包头长度定义对所述原始包头进行补齐,完成包头生成;
27.对补齐后的包头进行数据加扰;
28.将加扰后的数据进行ecc计算,得到ecc计算结果,并将所述ecc结果附在加扰后的包头后面;
29.将完成ecc计算后的包头和所述加密码流拼接在一起;
30.对拼接后的码流进行crc计算,得到crc结果,并将crc结果附加在拼接后的码流后面,完成对加密码流进行封装。
31.进一步地,对补齐后的包头进行数据加扰,包括:
32.采用将0,1互相取反的方式,对补齐后的包头进行数据加扰;或者
33.对数据中的0,1个数进行统计,将个数较多的项进行压缩,对补齐后的包头进行数据加扰。
34.优选地,本技术实施例提供了一种配置fpga码流的加、解密实现方法还包括在所述fpga芯片内部执行以下步骤:
35.对封装后的加密码流进行解封装,提取出所述目标加密算法编号以及对应的密钥种子;
36.利用所述密钥种子生成与所述目标加密算法相对应的第二密钥;其中,所述第一密钥和所述第二密钥的密钥生成算法相同;
37.利用所述第二密钥对解封装后的加密码流进行解密,得到明文码流,以利用所述明文码流对fpga进行配置。
38.进一步地,对封装后的加密码流进行解封装,提取出所述目标加密算法编号以及
对应的密钥种子,包括:
39.对接收到的封装后的加密码流进行crc校验;
40.如果crc校验失败,置位crc校验错误,停止后续流程;
41.如果crc校验成功,根据包格式将对加扰的包头进行ecc校验;
42.如果ecc校验失败,置位ecc校验错误,停止后续流程;
43.如果ecc校验成功,对包头进行解扰,恢复出原始包头信息;
44.按照包头组建方式,提取出所述目标加密算法编号以及对应的密钥种子的相关字段。
45.进一步地,利用所述密钥种子生成与所述目标加密算法相对应的第二密钥,包括:
46.利用所述密钥种子和加密算法作为基础,确定生成密钥的迭代预设次数;
47.采用移位寄存器生成为随机数,每次迭代将所述密钥种子向左/右移一位以便生成与前次不同的伪随机数;
48.每次迭代产生的伪随机数使用另外的寄存器存储,
49.完成全部迭代后,将所有伪随机数按照生成顺序、逆序或乱序拼接,得到所述第二密钥。
50.根据本发明实施例的第二方面,本技术实施例提供了一种配置fpga的码流加、解密实现系统,所述系统包括:
51.第一密钥生成模块,用于选定目标加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥;
52.码流加密及封装模块,用于利用所述第一密钥对明文码流加密,并利用目标加密算法编号以及对应的密钥种子对加密码流进行封装;
53.输出模块,用于使用封装后的加密码流对fpga芯片进行配置,由fpga芯片内部解密电路进行处理,得到明文码流,完成对fpga配置;
54.其中,所述第一密钥生成模块、所述码流加密及封装模块、所述输出模块装载于所述上位机。
55.优选地,本技术实施例提供了一种配置fpga的码流加、解密实现系统还包括:
56.接收模块,用于从所述上位机接收封装后的加密码流;
57.解封装模块,用于对封装后的加密码流进行解封装,提取出所述目标加密算法编号以及对应的密钥种子;
58.第二密钥生成模块,用于利用所述密钥种子生成与所述目标加密算法相对应的第二密钥;其中,所述第一密钥和所述第二密钥的密钥生成算法相同;
59.解密模块,用于利用所述第二密钥对解封装后的加密码流进行解密,得到明文码流;
60.配置模块,用于利用所述明文码流对fpga进行配置;
61.其中,所述接收模块、所述解封装模块、所述第二密钥生成模块、所述解密模块、所述配置模块装载于所述fpga芯片内部。
62.根据本发明实施例的第三方面,提供了一种fpga用户设计中码流加、解密实现设备,所述设备包括:处理器和存储器;
63.所述存储器用于存储一个或多个程序指令;
64.所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种配置fpga的码流加、解密实现方法的步骤。
65.与现有技术相比,本技术实施例提供的一种配置fpga码流的加、解密实现方法、系统及设备,通过使用简单的生成伪随机数设计,降低原使用efuse保存密钥的容量,采用更小容量的efuse电路,使得芯片生成的良品率有大幅提升,烧写efuse过程时间缩短同时提高写efuse的成功概率。同时,因efuse容量减小,efuse所占芯片面积比例也相应缩小,使得fpga芯片总面积也减小,相应的提高了fpga芯片的产量,从而降低了fpga生成成本。因配置码流在生成过程中有加密算法选择,码流加扰,完整性校验等步骤,使得fpga配置码流的保密性得到有效提升,进而保护用户fpga设计的安全不易被窃取。
附图说明
66.为了更清楚地说明本发明的实施方式或现有技术中的技术方案,下面将对实施方式或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,下面描述中的附图仅仅是示例性的,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图引伸获得其它的实施附图。
67.本说明书所绘示的结构、比例、大小等,均仅用以配合说明书所揭示的内容,以供熟悉此技术的人士了解与阅读,并非用以限定本发明可实施的限定条件,故不具技术上的实质意义,任何结构的修饰、比例关系的改变或大小的调整,在不影响本发明所能产生的功效及所能达成的目的下,均应仍落在本发明所揭示的技术内容得能涵盖的范围内。
68.图1为fpga的基本结构示意图;
69.图2为当前用户设计生成的码流加载至fpga各个基本单元模块的流程示意图;
70.图3为当前配置fpga的码流加、解密实现方法的流程示意图;
71.图4为当前fpga解密模块码流解密的原理示意图;
72.图5为本发明实施例提供的一种配置fpga的码流加、解密实现系统的逻辑结构示意图;
73.图6为本发明实施例提供的一种配置fpga的码流加、解密实现方法在上位机的流程示意图;
74.图7为本发明实施例提供的生成相应的第一密钥的流程示意图;
75.图8为本发明实施例提供的生成与aes-256加密算法相应的第一密钥的流程示意图;
76.图9为本发明实施例提供的对加密码流进行封装的流程示意图;
77.图10a为本发明实施例提供的补齐后的包头的示意图;
78.图10b为本发明实施例提供的完成ecc计算后的包头的示意图;
79.图10c为本发明实施例提供的完成ecc计算后的包头和加密码流拼接在一起的示意图;
80.图10d为本发明实施例提供的封装后加密码流的示意图;
81.图11为本发明实施例提供的一种配置fpga的码流加、解密实现方法在fpga芯片内部的流程示意图;
82.图12为本发明实施例提供的对封装后的加密码流进行解封装的流程示意图;
83.图13为本发明实施例提供的生成第二密钥的流程示意图;
84.图14为本发明实施例提供的16bit密钥种子生成第二密钥的密钥生成电路示意图。
具体实施方式
85.以下由特定的具体实施例说明本发明的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本发明的其他优点及功效,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
86.参考图1,可编程逻辑门阵列(field programmable gate array,fpga)基本构成为输入/输出(i/o)模块01、逻辑单元(logic element)模块02,绕线(routing resource)单元模块03,以及配置(configuration blcok)模块04。
87.参考图2,为当前用户设计生成的码流加载至fpga各个基本单元模块的流程示意图。如果需fpga按照用户需求工作,需将用户设计生成的码流通过配置模块加载至各个基本单元,fpga加载的码流文件中含有用户的全部设计,只要拥有码流文件将其加载至相同型号fpga芯片上即可工作。
88.参考图3,为当前fpga用户设计中码流加、解密实现方法的流程示意图;当前加解密码流的方案是用户给定加密所用密钥,上位机使用此密钥采用加密算法对明文码流进行加密,产生加密码流;fpga芯片内部有解密模块,根据用户给定的密钥进行解密,通过解密后在fpga芯片内部恢复成明文码流,随后对fpga进行配置。
89.解密模块设计在fpga芯片内部,具体设计框图如图4所示,需要对码流进行解密时,解密模块首选读取在fpga内部存储的密钥,然后根据密钥对加密码流进行解密。
90.本技术的目的在于:
91.1.通过在上位机软件中增加简单算法和fpga芯片内部增加简单模块的方法,使用小efuse容量实现高级别码流加、解密,大幅度降低因efuse生产错误、烧写异常引起码流解密失效的概率;
92.2.将加密算法以及密钥相关信息隐藏在配置码流中,提升了用户设计安全等级。
93.为了解决上述技术问题,如图5所示,本技术实施例提供了一种配置fpga的码流加、解密实现系统,其具体包括:第一密钥生成模块06、码流加密及封装模块07、输出模块08。其中,第一密钥生成模块06、码流加密及封装模块07、输出模块08装载于上位机05。
94.进一步地,第一密钥生成模块06用于选定目标加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥;码流加密及封装模块07用于利用所述第一密钥对明文码流加密,并利用目标加密算法编号以及对应的密钥种子对加密码流进行封装;输出模块08用于使用封装后的加密码流对fpga芯片进行配置,由fpga芯片内部解密电路进行处理,得到明文码流,完成对fpga配置。
95.本技术实施例提供了一种配置fpga的码流加、解密实现系统还包括:接收模块10、解封装模块11、第二密钥生成模块12、解密模块13、配置模块14。其中,接收模块10、解封装模块11、第二密钥生成模块12、解密模块13、配置模块14装载于fpga芯片09内部。
96.进一步地,接收模块10用于从上位机05接收封装后的加密码流;解封装模块11用
于对封装后的加密码流进行解封装,提取出目标加密算法编号以及对应的密钥种子;第二密钥生成模块12用于利用密钥种子生成与目标加密算法相对应的第二密钥;其中,第一密钥和第二密钥的密钥生成算法相同;解密模块13用于利用第二密钥对解封装后的加密码流进行解密,得到明文码流;配置模块14用于利用明文码流对fpga进行配置。
97.与现有技术相比,本技术实施例提供的一种配置fpga码流的加、解密实现方法、系统及设备,通过使用简单的生成伪随机数设计,降低原使用efuse保存密钥的容量,采用更小容量的efuse电路,使得芯片生成的良品率有大幅提升,烧写efuse过程时间缩短同时提高写efuse的成功概率。同时,因efuse容量减小,efuse所占芯片面积比例也相应缩小,使得fpga芯片总面积也减小,相应的提高了fpga芯片的产量,从而降低了fpga生成成本。因配置码流在生成过程中有加密算法选择,码流加扰,完整性校验等步骤,使得fpga配置码流的保密性得到有效提升,进而保护用户fpga设计的安全不易被窃取。
98.与上述公开的一种配置fpga的码流加、解密实现系统相对应,本发明实施例还公开了一种配置fpga的码流加、解密实现方法。以下结合上述描述的一种配置fpga的码流加、解密实现系统详细介绍本发明实施例中公开的一种配置fpga的码流加、解密实现方法。
99.在本发明一个实施例中,以aes-256加密算法为例,以下对本技术实施例提供的一种配置fpga的码流加、解密实现方法具体步骤进行详细描述。
100.如图6所示,在本发明实施例中,首先对一种fpga用户设计中码流加、解密实现方法在上位机05上的具体执行步骤进行说明。
101.步骤s11:通过第一密钥生成模块06选定目标加密算法并根据对应算法基于伪随机数自行生成相应的第一密钥。
102.参考图7,上述步骤s11具体包括:从多种加密算法中选取目标加密算法;基于预设的加密算法编号映射表,获取目标加密算法编号;由伪随机数发生器根据选取的目标加密算法生成对应密钥种子;由选定加密算法密钥需求长度结合密钥种子长度,确定迭代预设次数;每次迭代将所述密钥种子向左/右移一位以便生成与前次不同的伪随机数;完成全部迭代后,将所有伪随机数按照生成顺序、逆序或乱序进行拼接,得到所述第一密钥。
103.在本发明实施例中,将上位机05加密流程由简单的单一加密算法生成加密码流过程转变为支持多种加密算法。
104.对于目标加密算法的选择环节,根据选择算法,生成不同加密算法所需密钥的密钥种子。例如,按照下表表2对加密算法进行编号映射,相应的由伪随机数发生器根据选择的加密算法生成对应密钥种子。
105.表2:预设的加密算法编号映射表
106.加密算法名称加密算法编号密钥种子triple des(2keys)000000xabcdtriple des(3keys)000100xface007aes-128001000xbbdaaes-192010000x1a55aes-256100000xbeef
107.如上表表1所示,为了实现以aes-256加密算法实现fpga用户设计中码流加、解密,需要使用256bit密钥。
108.在第一密钥生成以及码流加密环节,此环节根据选择的算法以及生成的密钥种子完成加密算法所需的密钥生成以及码流加密工作。第一密钥的密钥生成算法位于上位机05,其生成的第一密钥供上位机05的明文码流加密算法使用。
109.以生成256bit第一密钥为例,如图8所示,以16bit密钥种子做为生成第一密钥的基础,通过伪随机数发生器反复迭代16次,每次迭代将种子向左/右移一位以便生成与前次不同的伪随机数,完成全部迭代后将16次生成的16个16bit伪随机数按照生成顺序或生成逆序拼接,产生256bit aes密匙。提供给aes-256算法加密使用,此时只需要16bit密匙种子即可实现原来256bit密匙加密。
110.在本发明实施例中,采用少位宽伪随机数生成种子产生大位宽加密密钥的方法,具体地,产生大位宽密钥迭代时,利用种子移位方式保证每次迭代结果不相同,最终将迭代产生的小位宽随机数拼接成大位宽密钥。
111.步骤s12:通过码流加密及封装模块07利用第一密钥对明文码流加密。
112.步骤s13:通过码流加密及封装模块07利用目标加密算法编号以及对应的密钥种子对加密码流进行封装。
113.前述步骤s12已经完成明文码流加密过程,已得到加密后的码流。为让硬件(fpga芯片)获知是采用何种加密算法以及传递密钥种子的需求,需要对已加密的码流进行再次封装。
114.参考图9,上述步骤s13具体包括:将目标加密算法编号以及对应的密钥种子按照前后顺序组合在一起,产生原始包头;按照包头长度定义对原始包头进行补齐,完成包头生成,补齐后的包头如图10a所示。进一步地,为确保密钥种子不以明文传递,对补齐后的包头进行数据加扰,数据加扰方式有多种,例如,采用将0,1互相取反的方式,对补齐后的包头进行数据加扰;或者对数据中的0,1个数进行统计,将个数较多的项进行压缩,对补齐后的包头进行数据加扰。然后,将加扰后的数据进行ecc(error correcting code,误差校正码)计算,得到ecc计算结果,并将所述ecc结果附在加扰后的包头后面,完成ecc计算后的包头如图10b所示。将完成ecc计算后的包头和加密码流拼接在一起,完成ecc计算后的包头和加密码流拼接在一起之后如图10c所示。对拼接后的码流进行crc(cyclic redundancy check,循环冗余校验)计算,得到crc结果,并将crc结果附加在拼接后的码流后面,完成对加密码流进行封装,封装后加密码流如图10d所示。
115.步骤s14:通过输出模块08使用封装后的加密码流对fpga芯片09进行配置,由fpga芯片内部09解密电路进行处理,得到明文码流,完成对fpga配置
116.如图11所示,在本发明实施例中,以下对一种fpga的码流加、解密实现方法在fpga芯片09内部的具体执行步骤进行说明。
117.步骤s21:通过解封装模块11对封装后的加密码流进行解封装,提取出目标加密算法编号以及对应的密钥种子。
118.在本发明实施例中,fpga芯片09内部的硬件解码过程与上位机加密过程是逆过程,具体包括:完成码流crc校验,包头ecc校验,包头解扰,包头提取,生成密钥,选择相应的解密模块。
119.参考图12,在本发明实施例中,上述步骤s21具体包括:对接收到的封装后的加密码流进行crc(cyclic redundancy check,循环冗余校验)校验,具体地将crc校验值与接收
到的crc值进行比较,判断是否一致,以此确保码流接收的完整性;如果crc校验失败,置位crc校验错误,停止后续流程。如果crc校验成功,根据包格式将对加扰的包头进行ecc(error correcting code,误差校正码)校验,确保包头完整;具体地,ecc校验算法可以进行1bit纠错,2bit报错;如果ecc计算出现超过1bit错误,则ecc校验失败,置位ecc校验错误,停止后续流程。如果ecc校验成功,对包头进行解扰,恢复出原始包头信息,此过程是加扰的反向操作;按照包头组建方式,提取出所述目标加密算法编号以及对应的密钥种子的相关字段。
120.步骤s22:通过第二密钥生成模块12利用密钥种子生成与目标加密算法相对应的第二密钥。
121.参考图13,上述步骤s22具体包括:利用所述密钥种子和加密算法作为基础,确定生成密钥的迭代预设次数;采用移位寄存器生成为随机数,每次迭代将所述密钥种子向左/右移一位以便生成与前次不同的伪随机数;每次迭代产生的伪随机数使用另外的寄存器存储,完成全部迭代后,将所有伪随机数按照生成顺序、逆序或乱序拼接,得到所述第二密钥。
122.在本发明实施例中,第二密钥生成模块12采用与软件(第一密钥生成模块06)一致的伪随机数算法,确保二者生成的随机数一致。参考图14,在第二密钥生成模块12中,可以采用16bit移位寄存器生成为随机数,图14中g0~g15表示用户的密钥种子,每次迭代是g0~g15的值向左或右移动一位,每次产生的密钥使用另外的寄存器存储,完成16次迭代以后将所有结果按照顺序或逆序拼接输出即可。
123.在本发明实施例中,采用少位宽伪随机数生成种子产生大位宽加密密钥的方法,具体地,产生大位宽密钥迭代时,利用种子移位方式保证每次迭代结果不相同,最终将迭代产生的小位宽随机数拼接成大位宽密钥。
124.步骤s23:通过解密模块13利用第二密钥对解封装后的加密码流进行解密,得到明文码流,以通过配置模块14利用明文码流对fpga进行配置。
125.与现有技术相比,本技术实施例提供的一种配置fpga码流的加、解密实现方法、系统及设备,通过使用简单的生成伪随机数设计,降低原使用efuse保存密钥的容量,采用更小容量的efuse电路,使得芯片生成的良品率有大幅提升,烧写efuse过程时间缩短同时提高写efuse的成功概率。同时,因efuse容量减小,efuse所占芯片面积比例也相应缩小,使得fpga芯片总面积也减小,相应的提高了fpga芯片的产量,从而降低了fpga生成成本。因配置码流在生成过程中有加密算法选择,码流加扰,完整性校验等步骤,使得fpga配置码流的保密性得到有效提升,进而保护用户fpga设计的安全不易被窃取。
126.在本技术实施例中,对包头进行加解扰避免了加解密的密钥种子明文传输,加密算法信息和密钥种子在硬件中恢复后,可以选择将这些关键信息写入efuse中,关键信息写入efuse后上位机可直接向硬件发送加密码流无需再对加密码流进行重编码步骤,缩短硬件配置时间;也可以选择采封装码流方式每次加载使用不同的加密算法。
127.另外,本发明实施例还提供了一种配置fpga的码流加、解密实现设备,所述设备包括:处理器和存储器;所述存储器用于存储一个或多个程序指令;所述处理器,用于运行一个或多个程序指令,用以执行如上任一项所述的一种配置fpga的码流加、解密实现方法的步骤。
128.另外,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介
质上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述一种配置fpga的码流加、解密实现方法的步骤。
129.在本发明实施例中,处理器可以是一种集成电路芯片,具有信号的处理能力。处理器可以是通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(fieldprogrammable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
130.可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。处理器读取存储介质中的信息,结合其硬件完成上述方法的步骤。
131.存储介质可以是存储器,例如可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。
132.其中,非易失性存储器可以是只读存储器(read-only memory,简称rom)、可编程只读存储器(programmable rom,简称prom)、可擦除可编程只读存储器(erasable prom,简称eprom)、电可擦除可编程只读存储器(electrically eprom,简称eeprom)或闪存。
133.易失性存储器可以是随机存取存储器(random access memory,简称ram),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的ram可用,例如静态随机存取存储器(static ram,简称sram)、动态随机存取存储器(dynamic ram,简称dram)、同步动态随机存取存储器(synchronous dram,简称sdram)、双倍数据速率同步动态随机存取存储器(double data ratesdram,简称ddrsdram)、增强型同步动态随机存取存储器(enhanced sdram,简称esdram)、同步连接动态随机存取存储器(synchlink dram,简称sldram)和直接内存总线随机存取存储器(directrambus ram,简称drram)。
134.本发明实施例描述的存储介质旨在包括但不限于这些和任意其它适合类型的存储器。
135.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件与软件组合来实现。当应用软件时,可以将相应功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。计算机可读介质包括计算机存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机程序的任何介质。存储介质可以是通用或专用计算机能够存取的任何可用介质。
136.虽然,上文中已经用一般性说明及具体实施例对本发明作了详尽的描述,但在本发明基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的。因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

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

相关文献