一次性可编程集成电路安全转让专利

申请号 : CN201480003832.7

文献号 : CN104903911B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 阿萨夫·阿什克纳济

申请人 : 高通股份有限公司

摘要 :

本发明描述一次性可编程集成电路安全。一种保护集成电路中的存储器资产的方法(300)的实例包含:对多个OTP存储器阵列(124、128)的值进行取样(320);以及将每一OTP存储器阵列的所述取样值与每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较(340)。所述方法进一步包含:基于所述经比较的取样值来确定(360)集成电路性能故障是否已发生;启动(370)所述集成电路;以及通过存取由所述故障发生确定所确定的存储器(184、188)来操作(380)所述集成电路。

权利要求 :

1.一种保护集成电路的存储器中的数据的方法,所述方法包括:

对多个一次性可编程OTP存储器阵列中的每一存储器阵列的值进行取样;

将所述多个OTP存储器阵列中的每一OTP存储器阵列的所述取样值与所述多个OTP存储器阵列中的每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较,其中所述未编程的OTP存储器阵列值对应于皆为与如所制造的OTP存储器阵列相关联的同一逻辑值的n位,n是所述多个OTP存储器阵列中的每一者中的存储器装置的数目;

确定每一OTP存储器阵列的所述取样值是否等于每一其它OTP存储器阵列的所述取样值;

如果每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值,那么确定集成电路性能故障已发生;以及如果所述故障被确定为未发生,则在安全操作模式中通过存取存储器来操作所述集成电路,或者如果所述故障被确定为已发生,则在非安全操作模式中通过存取存储器来操作所述集成电路。

2.根据权利要求1所述的方法,其中确定所述集成电路性能故障已发生进一步包括:如果每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值,那么确定所述故障已发生;以及如果每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值,那么确定所述故障还没有发生。

3.根据权利要求1所述的方法,其中所述未编程的OTP存储器阵列值是0。

4.根据权利要求1所述的方法,其中所述未编程的存储器阵列值是(2n-1)。

5.根据权利要求1所述的方法,其包括确定安全信号的指示,其中

如果所述故障被确定为还没有发生,那么所述安全信号指示安全操作模式;以及如果确定所述故障已发生,那么所述安全信号指示非安全操作模式。

6.根据权利要求1所述的方法,其中如果确定所述故障已发生,那么对存储器的存取包括对安全存储器的受限制存取。

7.根据权利要求1所述的方法,其中启动所述集成电路没有受到所述故障发生确定的影响。

8.根据权利要求1所述的方法,其中所述集成电路包括芯片上系统。

9.一种保护集成电路的存储器中的数据的方法,所述方法包括:

对第一一次性可编程OTP存储器阵列的值和第二OTP存储器阵列的值进行取样;

将所述第一OTP存储器阵列和所述第二OTP存储器阵列的所述取样值彼此并与未编程的OTP存储器阵列值进行比较,其中所述未编程的OTP存储器阵列值对应于皆为与如所制造的OTP存储器阵列相关联的同一逻辑值的n位,n是所述第一OTP存储器阵列和所述第二OTP存储器阵列中的每一者中的存储器装置的数目;

确定所述第一OTP存储器阵列的所述取样值是否等于所述第二OTP存储器阵列的所述取样值;

如果所述第一OTP存储器阵列的所述取样值等于所述第二OTP存储器阵列的所述取样值且所述第一OTP存储器阵列和所述第二OTP存储器阵列中的每一者的所述取样值等于所述未编程的OTP存储器阵列值,那么确定集成电路性能故障已发生;以及如果所述故障被确定为未发生,则在安全操作模式中通过存取存储器来操作所述集成电路,或者如果所述故障被确定为已发生,则在非安全操作模式中通过存取存储器来操作所述集成电路。

10.根据权利要求9所述的方法,其中确定所述集成电路性能故障已发生进一步包括:如果所述第一OTP存储器阵列的所述取样值不等于所述第二OTP存储器阵列的所述取样值,那么确定所述故障已发生;以及如果所述第一OTP存储器阵列的所述取样值等于所述第二OTP存储器阵列的所述取样值且所述第一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值且所述第二OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值,那么确定所述故障还没有发生。

11.根据权利要求9所述的方法,其中所述未编程的OTP存储器阵列值是0。

12.根据权利要求9所述的方法,其中所述未编程的OTP存储器阵列值是(2n-1)。

13.根据权利要求9所述的方法,其包括确定安全信号的指示,其中

如果所述故障发生被确定为还没有发生,那么所述安全信号指示安全操作模式;以及如果确定所述故障已发生,那么所述安全信号指示非安全操作模式。

14.根据权利要求9所述的方法,其中如果确定所述故障已发生,那么对存储器的存取包括对安全存储器的受限制存取。

15.根据权利要求9所述的方法,其中启动所述集成电路没有受到检测所述故障发生的影响。

16.根据权利要求9所述的方法,其中所述集成电路包括芯片上系统。

17.一种用于保护集成电路的存储器中的数据的系统,所述系统包括:多个一次性可编程OTP存储器阵列;

电路,其经配置以对所述多个OTP存储器阵列中的每一存储器阵列的值进行取样;

比较逻辑块,其经配置以:

将所述多个OTP存储器阵列中的每一OTP存储器阵列的所述取样值与所述多个OTP存储器阵列中的每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较,其中所述未编程的OTP存储器阵列值对应于皆为与如所制造的OTP存储器阵列相关联的同一逻辑值的n位,n是所述多个OTP存储器阵列中的每一者中的存储器装置的数目;以及确定每一OTP存储器阵列的所述取样值是否等于每一其它OTP存储器阵列的所述取样值,其中所述比较逻辑块进一步经配置以在每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值的情况下确定故障已发生;以及至少一个处理模块,其经配置以如果所述故障被确定为未发生,则在安全操作模式中通过存取存储器来操作所述集成电路,或者如果所述故障被确定为已发生,则在非安全操作模式中通过存取存储器来操作所述集成电路。

18.根据权利要求17所述的系统,其中所述比较逻辑块进一步经配置以:在每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值的情况下确定所述故障已发生;以及在每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值的情况下确定所述故障还没有发生。

19.根据权利要求17所述的系统,其中所述未编程的OTP存储器阵列值是0。

20.根据权利要求17所述的系统,其中所述未编程的OTP存储器阵列值是(2n-1)。

21.根据权利要求17所述的系统,其中所述比较逻辑块经配置以确定安全信号的指示,其中如果所述故障被确定为还没有发生,那么所述安全信号指示安全操作模式;以及如果所述故障发生被确定为已发生,那么所述安全信号指示非安全操作模式。

22.根据权利要求17所述的系统,其中如果确定所述故障已发生,那么对存储器的存取包括对安全存储器的受限制存取。

23.根据权利要求17所述的系统,其中所述集成电路是通过没有受到所述故障发生确定的影响的例程来启动。

24.根据权利要求17所述的系统,其中所述集成电路包括芯片上系统。

25.一种用于保护集成电路的存储器中的数据的系统,所述系统包括:用于对多个一次性可编程OTP存储器阵列中的每一存储器阵列的值进行取样的装置;

用于将所述多个OTP存储器阵列中的每一OTP存储器阵列的所述取样值与所述多个OTP存储器阵列中的每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较的装置,其中所述未编程的OTP存储器阵列值对应于皆为与如所制造的OTP存储器阵列相关联的同一逻辑值的n位,n是所述多个OTP存储器阵列中的每一者中的存储器装置的数目;

用于确定每一OTP存储器阵列的所述取样值是否等于每一其它OTP存储器阵列的所述取样值的装置;

用于在第一OTP存储器阵列的所述取样值等于第二OTP存储器阵列的所述取样值且所述第一OTP存储器阵列和所述第二OTP存储器阵列中的每一者的所述取样值等于所述未编程的OTP存储器阵列值的情况下确定集成电路性能故障已发生的装置;以及用于如果所述故障被确定为未发生,则在安全操作模式中通过存取存储器来操作所述集成电路,或者如果所述故障被确定为已发生,则在非安全操作模式中通过存取存储器来操作所述集成电路的装置。

26.根据权利要求25所述的系统,其中用于确定所述集成电路性能故障已发生的所述装置包括:用于在每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值的情况下确定所述集成电路性能故障已发生的装置;以及用于在每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值的情况下确定所述集成电路性能故障还没有发生的装置。

27.根据权利要求25所述的系统,其中所述未编程的OTP存储器阵列值是0。

28.根据权利要求25所述的系统,其中所述未编程的OTP存储器阵列值是(2n-1)。

29.根据权利要求25所述的系统,其包括用于确定安全信号的指示的装置,其中如果所述故障被确定为还没有发生,那么所述安全信号指示安全操作模式;以及如果确定所述故障已发生,那么所述安全信号指示非安全操作模式。

30.根据权利要求25所述的系统,其中如果确定所述故障已发生,那么对存储器的存取包括对安全存储器的受限制存取。

31.根据权利要求25所述的系统,其中启动所述集成电路没有受到所述故障发生确定的影响。

32.根据权利要求25所述的系统,其中所述集成电路包括芯片上系统。

说明书 :

一次性可编程集成电路安全

背景技术

[0001] 包含集成电路(IC)的电子系统常常利用所述IC的安全存储器(例如,安全随机存取存储器(RAM))以存储用户想要或需要保密并免遭黑客攻击的所供数据。一般来说,所供数据可为在制造之后被存储于IC存储器中的任何数据。存储于安全存储器中的所供数据可包含例如(但不限于)代码、密钥、口令、账户信息、个人信息、所有权信息和联系人信息。示例性电子系统或终端装置包含机顶盒、个人计算机、膝上型计算机、手持式装置、平板计算机和调制解调器。存储于安全存储器中的此些所供数据可能容易受黑客攻击的伤害,这些黑客攻击经设计以获得对安全存储器的未授权存取。为了保护安全存储器中的所供数据,IC(其可包含芯片上系统(SoC)IC)可并有安全系统,所述安全系统可利用硬件嵌入式安全序列以确定IC是否已成为黑客攻击的对象。如果IC已受到攻击,那么安全系统可使得IC能够封锁或限制对安全存储器和存储于其中的所供数据的存取。
[0002] 可使用一次性可编程(OTP)存储器来实施硬件嵌入式安全序列。OTP存储器包含至少一个OTP存储器装置和任何关联的电子电路,所述电子电路包含(但不限于)用以取样和捕获可编程装置的编程状态的取样和捕获电路。多个OTP存储器装置和关联的电子电路组成OTP存储器阵列。OTP存储器装置可经一次性编程且可能无法加以重新编程。OTP存储器装置的实例是熔丝和反熔丝。
[0003] 在示例性熔丝型OTP存储器阵列中,阵列中的每一熔丝装置可以两种状态中的一者而存在。在初始未编程状态中,熔丝装置可充当准许电流传导的电连接线。在施加编程电压或电流之后,每一熔丝装置可即刻转换到编程状态,在所述编程状态下,熔丝装置可充当限制电流传导穿过熔丝的断路。编程电压或电流取决于组成熔丝的装置。举例来说,如果熔丝是由晶体管形成,那么编程电压可为稍高于晶体管的操作电压的电压。编程电压可永久地更改熔丝装置和/或熔丝装置的组成材料的电特性。可通过选择性地编程或“燃烧”熔丝型OTP存储器阵列中的个别熔丝装置来将值编程到所述阵列中。
[0004] 在读出或取样熔丝型OTP存储器阵列中的熔丝装置的状态期间,每一熔丝可对应于逻辑值“0”或“1”,可通过关联的电子电路来取样和捕获所述逻辑值。举例来说,未编程熔丝可对应于逻辑值“0”且已编程熔丝可对应于逻辑值“1”。综合起来,阵列中的已编程熔丝装置和未编程熔丝装置的相对应的逻辑值可确定阵列值。这个阵列值可对应于硬件嵌入式安全序列。
[0005] 当制造包含OTP存储器阵列的IC时,未编程的OTP存储器阵列可包含所有未编程装置。一般来说,具有未编程的OTP存储器阵列的IC被称作“未用芯片”。未编程的OTP存储器阵列中的所有可编程元件的取样状态可对应于同一逻辑值。举例来说,如果未编程的OTP装置可对应于逻辑值“0”,那么未用芯片的OTP存储器阵列中的每一可编程装置的取样状态可为“0”。在这种情况下,未编程或未用芯片的OTP存储器阵列值可为0。在另一实例中,如果未编程的OTP装置可对应于逻辑值“1”,那么未用芯片的OTP存储器阵列中的每一可编程装置的n取样状态可为“1”。在这种情况下,未编程或未用芯片的OTP存储器阵列值可为(2 -1)(例如,2的n次幂减1),其中指数n是位数且等于OTP存储器阵列中的可编程装置的数目;n可具有大于或等于1的值。
[0006] 一种类型的对IC的黑客攻击被称作假信号攻击。假信号攻击可为可被恶意采用的对IC操作参数的物理干扰,其可产生IC性能方面的故障。可例如通过操作电压变化、芯片温度改变、所施加的电场和伴随的电磁辐射来实施物理干扰。作为由假信号攻击产生的示例性故障,硬件嵌入式安全序列可受到电子欺骗以试图停用或绕过经设计以保护例如安全存储器、处理例程和/或IC的任何其它功能、功能元件或方面的IC安全系统。
[0007] 在对包含OTP存储器阵列的IC的示例性假信号攻击中,芯片的物理条件可被更改使得在可编程装置状态的取样期间,无法明确地将对应于每一可编程装置的状态的逻辑值解释为“0”或“1”。作为由假信号攻击产生的示例性故障,已编程有序列(例如,安全序列)的OTP存储器阵列的取样OTP存储器阵列值可不等于已编程序列而是可为电子欺骗值。在上述示例性攻击中,OTP存储器阵列可为熔丝型OTP存储器阵列、反熔丝型OTP存储器阵列或任何其它类型的OTP存储器阵列或装置。
[0008] 在实施例中,通过使用取样OTP存储器阵列值以确定IC性能方面的故障是否已发生,IC可保护安全存储器中的所供数据。如果故障被确定为已发生,那么可限制或封锁对安全存储器的存取。结果,可减小安全存储器中的所供数据随后可能至少被起始假信号攻击的黑客误用的机率。

发明内容

[0009] 根据本发明的保护集成电路中的存储器资产的方法的实例包含:对多个OTP存储器阵列中的每一者的值进行取样;将每一OTP存储器阵列的所述取样值与每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较;基于所述经比较的取样值来确定集成电路性能故障是否已发生;启动所述集成电路;以及通过存取由故障发生确定所确定的存储器来操作所述集成电路。
[0010] 此类方法的实施方案可包含以下特征中的一或多者。确定所述故障是否已发生可包含:如果至少一个OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值且如果每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值,那么确定所述故障已发生。确定所述故障是否已发生可包含:如果每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值,那么确定所述故障还没有发生。所述未编程的OTP存储器阵列值可为0。所述未编程的OTP存储器阵列值可为(2n-1),其中n可为位数。
[0011] 所述方法的示例性实施方案可包含确定安全信号的指示。如果确定所述故障还没有发生,那么所述安全信号可指示安全操作模式。如果确定所述故障已发生,那么所述安全信号可指示非安全操作模式。如果所述故障被确定为已发生,那么对存储器的存取可包含对安全存储器的受限制存取。启动所述集成电路可能没有受到所述故障发生确定的影响。所述集成电路可为芯片上系统。
[0012] 根据本发明的保护集成电路中的存储器资产的方法的实例可包含:对第一OTP存储器阵列的值和第二OTP存储器阵列的值进行取样;将所述第一OTP存储器阵列和所述第二OTP存储器阵列的所述取样值彼此并与未编程的OTP存储器阵列值进行比较;基于所述经比较的取样值来确定集成电路性能故障是否已发生;启动所述集成电路;以及通过存取由所述故障发生确定所确定的存储器来操作所述集成电路。
[0013] 此类方法的实施方案可包含以下特征中的一或多者。确定所述故障是否已发生可包含:如果所述第一OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值或如果所述第二OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值或如果所述第一OTP存储器阵列与所述第二OTP存储器阵列两者的所述取样值等于所述未编程的OTP存储器阵列值,那么确定所述故障已发生。确定所述故障是否已发生可包含:如果所述第一OTP存储器阵列的所述取样值不等于所述第二OTP存储器阵列的所述取样值,那么确定所述故障已发生。确定所述故障是否已发生可包含:如果所述第一OTP存储器阵列的所述取样值等于所述第二OTP存储器阵列的所述取样值且所述第一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值且所述第二OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值,那么确定所述故障还没有发生。所述未编程的OTP存储器阵列值n可为0。所述未编程的OTP存储器阵列值可为(2-1),其中n可为位数。
[0014] 所述方法的示例性实施方案可包含确定安全信号的指示。如果确定所述故障还没有发生,那么所述安全信号可指示安全操作模式。如果确定所述故障已发生,那么所述安全信号可指示非安全操作模式。如果所述故障被确定为已发生,那么对存储器的存取可包含对安全存储器的受限制存取。启动所述集成电路可能没有受到所述故障发生确定的影响。所述集成电路可为芯片上系统。
[0015] 根据本发明的用于保护集成电路中的存储器资产的系统的实例可包含:多个OTP存储器阵列;电路,其经配置以对所述多个OTP存储器阵列中的每一者的值进行取样;比较逻辑块,其经配置以:将每一OTP存储器阵列的所述取样值与每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较且基于所述经比较的取样值来确定集成电路性能故障是否已发生;以及至少一个处理模块,其经配置以启动所述集成电路且通过存取由所述故障发生确定所确定的存储器来操作所述集成电路。
[0016] 所述系统的示例性实施方案可包含所述比较逻辑块经配置以:在至少一个OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值的情况下确定所述故障已发生;在每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值的情况下确定所述故障已发生;以及在每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值的情况下确定所述故障还没有发生。所述未编程的OTP存储器阵列值可为0。所述未编程的OTP存储器阵列值可为(2n-1),其中n可为位数。
[0017] 所述系统的实例可包含所述比较逻辑块经配置以确定安全信号的指示。如果确定所述故障还没有发生,那么所述安全信号可指示安全操作模式。如果所述故障被确定为已发生,那么所述安全信号可指示非安全操作模式。如果所述故障被确定为已发生,那么对存储器的存取可包含对安全存储器的受限制存取。启动所述集成电路可能没有受到所述故障发生确定的影响。所述集成电路可为芯片上系统。
[0018] 根据本发明的用于保护集成电路中的存储器资产的系统的实例可包含:用于对多个OTP存储器阵列中的每一者的值进行取样的装置;用于将所述多个OTP存储器阵列中的每一OTP存储器阵列的所述取样值与所述多个OTP存储器阵列中的每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较的装置;用于基于所述经比较的取样值来检测集成电路性能故障发生的装置;用于启动所述集成电路的装置;以及用于通过存取由所述故障发生确定所确定的存储器来操作所述集成电路的装置。
[0019] 所述系统的示例性实施方案可包含:如果至少一个OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值,那么确定所述故障已发生;如果每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值,那么确定所述故障已发生;以及如果每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值,那么确定所述故障还没有发生。所述未编程的OTP存储器阵列值可为0。所述未编程的OTP存储器阵列值可为(2n-1),其中n可为位数。
[0020] 所述系统的实例可包含用于确定安全信号的指示的装置。如果确定所述故障还没有发生,那么所述安全信号可指示安全操作模式。如果所述故障被确定为已发生,那么所述安全信号可指示非安全操作模式。如果所述故障被确定为已发生,那么对存储器的存取可包含对安全存储器的受限制存取。启动所述集成电路可能没有受到所述故障发生确定的影响。所述集成电路可为芯片上系统。
[0021] 根据本发明的驻留于处理器可读非暂时性存储媒体上的计算机程序产品的实例可包含处理器可读指令,所述处理器可读指令可由一或多个处理器执行以:使电路对多个OTP存储器阵列中的每一者的值进行取样;使比较逻辑块将每一OTP存储器阵列的所述取样值与每一其它OTP存储器阵列的所述取样值和未编程的OTP存储器阵列值进行比较且基于所述经比较的取样值来确定集成电路性能故障是否已发生;使处理模块启动所述集成电路且通过存取由所述故障发生确定所确定的存储器来操作所述集成电路。
[0022] 所述计算机程序产品的示例性实施方案可包含处理器可读指令,所述处理器可读指令用以使所述比较逻辑块:在至少一个OTP存储器阵列的所述取样值等于所述未编程的OTP存储器阵列值的情况下确定所述故障已发生;在每一OTP存储器阵列的所述取样值不等于每一其它OTP存储器阵列的所述取样值的情况下确定所述故障已发生;以及在每一OTP存储器阵列的所述取样值等于每一其它OTP存储器阵列的所述取样值且每一OTP存储器阵列的所述取样值不等于所述未编程的OTP存储器阵列值的情况下确定所述故障还没有发生。所述未编程的OTP存储器阵列值可为0。所述未编程的OTP存储器阵列值可为(2n-1),其中n可为位数。
[0023] 所述计算机程序产品的实例可包含处理器可读指令,所述处理器可读指令用以使所述比较逻辑块确定安全信号的指示。如果确定所述故障还没有发生,那么所述安全信号可指示安全操作模式。如果所述故障被确定为已发生,那么所述安全信号可指示非安全操作模式。如果所述故障被确定为已发生,那么对存储器的存取可包含对安全存储器的受限制存取。启动所述集成电路可能没有受到所述故障发生确定的影响。所述集成电路可为芯片上系统。
[0024] 根据本发明的实施方案,可提供以下能力中的一或多者。可通过确定故障已发生来检测对集成电路的假信号攻击。两个或两个以上OTP阵列的值可彼此并与未编程的OTP阵列值进行比较。如果所述比较结果确定故障已发生,那么可保护集成电路中的存储器资产。启动所述集成电路没有受到故障已发生的所述确定的影响。本发明的这些和其它能力连同本发明自身将在审核以下诸图、具体实施方式和权利要求书之后得到更充分的理解。可提供其它能力,且不是根据本发明的每个实施方案都必须提供所论述的能力中的任一者,更不用说全部。此外,可能有可能通过除了所提到的手段以外的手段来实现上文所提到的效果,且所提到的顶目/技术可能未必产生所提到的效果。

附图说明

[0025] 图1是说明在包含两个熔丝型OTP存储器阵列的SoC中的硬件嵌入式安全系统的实施例的框图。
[0026] 图2是包含两个熔丝型OTP存储器阵列的硬件嵌入式安全方法的过程图。
[0027] 图3是包含M个OTP存储器阵列的硬件嵌入式安全方法的过程图。

具体实施方式

[0028] 本发明的实施例提供用于利用硬件嵌入式安全系统以检测或确定由例如假信号攻击诱发的SoC性能方面的故障的发生的技术。但是,下文所论述的技术是示例性的,且并不限制本发明,因为根据本发明的其它实施方案是有可能的。所描述的技术可实施为方法、设备或系统且可体现于计算机可读媒体中。
[0029] 当对SoC进行通电或重置时,对熔丝型OTP存储器阵列值进行取样。将熔丝型OTP存储器阵列的值与未编程或未用芯片的熔丝型OTP存储器阵列值和一或多个其它熔丝型OTP存储器阵列的值进行比较。如果熔丝型OTP存储器阵列值中的每一者相等且没有阵列值等于未编程值,那么确定故障还没有发生,SoC被确定为还不是假信号攻击的对象,且将安全信号设置成指示安全操作模式。如果熔丝型OTP存储器阵列的阵列值并非全部相等,或阵列值中的至少一者等于未编程值,那么故障被确定为已发生,SoC被确定为已是假信号攻击的对象,且将安全信号设置成指示非安全操作模式。根据用于安全操作模式与非安全操作模式两者的相同程序来启动SoC。在启动SoC之后,在非安全操作模式中,通过响应于安全信号指示对安全存储器和存储于其中的任何所供数据进行受限制、被封锁或另外受控制的存取来操作SoC。在安全操作模式中,通过存取安全存储器和存储于其中的任何所供数据来操作SoC。在安全操作模式中,对安全存储器和存储于其中的任何所供数据的存取的程度、水平或类型响应于安全信号指示而不受限制但可响应于除安全信号指示外的参数而受限制、被封锁或另外受控制。每当对SoC进行通电或重置时,重复这个程序。
[0030] 参看图1,展示了说明用于保护SoC中的存储器资产的硬件嵌入式安全系统100的实施例的框图。系统100是示例性的,且还可位于另一类型的IC中且并不限于SoC。系统100非为限制性的且可例如通过添加、去除或重新布置组件进行更改。
[0031] 系统100可为图1中未展示的电子系统或终端装置的一部分。终端装置可为包含IC的任何电子系统,例如机顶盒、个人计算机、膝上型计算机、手持式装置、平板计算机和调制解调器。
[0032] 在实施例中,系统100可包含OTP存储器阵列块120、比较逻辑块140、处理模块170、非安全存储器184和安全存储器188。OTP存储器阵列块120可包含两个熔丝型OTP存储器阵列(熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128)。熔丝型OTP存储器阵列A 124可包含:n个熔丝装置121,其中n是大于或等于1的整数;以及取样和捕获电路123。类似地,熔丝型OTP存储器阵列B 128可包含:n个熔丝装置125,其中n具有与熔丝型OTP存储器阵列A相同的值;以及取样和捕获电路127。图1中所展示的熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128的组件是示例性的且非为限制性的;两个熔丝型OTP存储器阵列还可包含未展示的其它组件。
[0033] 取样和捕获电路123、127可取样和捕获分别对应于n个熔丝装置121和125的编程/未编程状态的逻辑值。
[0034] 在实施例中,未编程熔丝可对应于逻辑值“0”且已编程熔丝可对应于逻辑值“1”。在某些示例性实施方案中,未编程熔丝可对应于逻辑值“1”且已编程熔丝可对应于逻辑值“0”。在实施例中,OTP存储器阵列块120可包含一或多个反相器装置,所述反相器装置可使未编程熔丝型OTP装置对应于逻辑值“1”且使已编程熔丝型OTP装置对应于逻辑值“0”。在示例性应用中,OTP存储器阵列块120可包含反熔丝型装置或任何其它类型的OTP装置。
[0035] OTP存储器阵列块120可经由两条位线总线(位线总线A 134和位线总线B 138)而耦合到比较逻辑块140。每一位线总线134和138可分别携载来自熔丝型OTP存储器阵列124和128的n个信号。n个信号中的每一者可对应于n个熔丝型OTP装置中的一者的经取样和/或俘获逻辑值。
[0036] 比较逻辑块可耦合到处理模块170。可经由电连接或经配置以传播信号的任何其它类型的连接将安全信号160从比较逻辑块140发送到处理模块170。
[0037] 处理模块170可耦合到存储器块184和188,所述存储器块可包含随机存取存储器(RAM)或任何其它类型的IC存储器。存储器块184可为非安全存储器且存储器块188可为安全存储器。非安全存储器184与安全存储器188两者可含有所供数据。
[0038] 图1中所展示的在系统100的元件之间的连接是示例性的。可使用元件之间的额外连接。还可存在在图1中所展示的元件与图1中未展示但包含于硬件嵌入式安全系统和/或SoC或其它IC中的其它元件之间的连接。未展示的一或多个其它处理器可包含于系统100中。
[0039] 为了保护可存储于系统100的安全存储器块188中或存储于处理模块170可存取的其它安全存储器中的所供数据,熔丝型OTP存储器阵列A 124和B 128可在芯片制造之后(例如,在制造含有系统100的电子系统或终端装置期间)编程有相同安全序列。
[0040] 在实施例中,OTP存储器阵列块120可包含熔丝型OTP装置,所述熔丝型OTP装置以这种方式配置使得对于未用芯片的未编程的OTP存储器阵列来说,熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128中的所有未编程熔丝装置的取样状态皆可对应于同一逻辑值“0”。因此,在n个未编程熔丝装置的情况下,熔丝型OTP存储器阵列A 124的取样状态可对应于n位值0。同样地,熔丝型OTP存储器阵列B 128的取样状态可对应于n位值0。在特定示例性实施方案中,未编程的OTP装置的取样状态可对应于逻辑值“1”且已编程OTP装置的取样状态可对应于逻辑值“0”。因此,在此类示例性实施方案中,OTP存储器阵列块120中的每一OTP存储器阵列的取样n位值可为(2n-1),其对应于皆为逻辑值“1”的n个位。由值n确定的这个非零值(2n-1)可为未用芯片的未编程的OTP存储器阵列值。
[0041] 在实施例中,熔丝型OTP存储器阵列A 124和B 128可编程有相同安全序列。可通过选择性地编程OTP存储器阵列中的熔丝来实施将安全序列编程到熔丝型OTP存储器阵列A 124和B 128中。在编程之后,熔丝型OTP存储器阵列A 124的取样阵列值可与熔丝型OTP存储器阵列B 128的取样阵列值相同。此外,取样阵列值可不等于未编程未用芯片的OTP存储器阵列值。
[0042] 在实施例中,当通电或重置包含系统100的SoC时,可由取样和捕获电路123、127分别针对熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128来取样和捕获熔丝型OTP存储器阵列A 124的n个熔丝装置121的熔丝状态和熔丝型OTP存储器阵列B 128的n个熔丝装置125的熔丝状态。可经由位线总线A 134而将熔丝型OTP存储器阵列A 124的取样阵列值发送到比较逻辑块140。类似地,可经由位线总线B 138而将熔丝型OTP存储器阵列B 128的取样阵列值发送到比较逻辑块140。
[0043] 比较逻辑块140可包含数字逻辑电路145。所述数字逻辑电路145可包含(但不限于)“与”门、“与非”门、“或”门、“或非”门、“异或”门和其任何组合。在实施例中,数字逻辑电路145可将每一熔丝型OTP存储器阵列124和128的取样值与未编程未用芯片阵列值进行比较且还可将熔丝型OTP存储器阵列A 124的取样值与熔丝型OTP存储器阵列B 128的取样值进行比较。基于这些比较,比较逻辑块140可确定归因于例如假信号攻击的故障是否已发生。
[0044] 在某些实施方案中,每一阵列的未编程未用芯片值可为0。在这种情况下,可由数字逻辑电路145将每一熔丝型OTP存储器阵列124和128的取样值与0进行比较。在其它示例n性实施方案中,n个元件的每一阵列的未编程未用芯片值可为(2 -1)。在此些实施方案中,可将每一熔丝型OTP存储器阵列124和128的取样值与(2n-1)进行比较。
[0045] 在特定实施方案中,如果熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128的取样值相同且非为零,那么比较逻辑块140可确定故障还没有发生。在这种情况下,两个熔丝型OTP存储器阵列124和128的取样值可对应于可被编程到两个熔丝型OTP存储器阵列124和128中的相同安全序列。在另一特定实施方案中,如果熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128的取样值相同且不等于(2n-1),那么比较逻辑块140可确定故障还没有发生。
[0046] 在实施例中,如果熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B的取样值不相同,那么比较逻辑块140可确定故障已发生。如上文所论述,如果故障已发生(例如,归因于假信号攻击),那么熔丝型OTP阵列124和/或128的取样值可受到电子欺骗,且因此可既不与已编程安全序列相同也不等于已编程安全序列。
[0047] 在特定实施方案中,如果熔丝型OTP存储器阵列A 124的取样值和/或熔丝型OTP存储器阵列B 128的取样值等于0,那么比较逻辑块140可确定故障已发生。这种情况可对应于未用芯片。
[0048] 在特定实施方案中,如果熔丝型OTP存储器阵列A 124的取样值和/或熔丝型OTP存储器阵列B 128的取样值对应于(2n-1),那么比较逻辑块140可确定故障已发生。这种情况可对应于未用芯片。
[0049] 在未用芯片的情况下,可关于故障已发生的确定而获得误肯定。比较逻辑块140可基于上文针对熔丝型OTP存储器阵列的取样值所描述的比较准则来指示例如归因于假信号攻击的故障已发生,即使在不存在此类故障或攻击的情况下也是这样。由于在芯片操作中对未用芯片的安全存储器的被封锁或受限制存取可能不显著(例如,因为未用芯片的安全存储器可能不含有需要和/或想要得到保护的所供数据),所以缓和了此类误肯定结果。
[0050] 基于故障发生确定,比较逻辑块140可产生安全信号160,所述安全信号可指示安全操作模式或非安全操作模式。如果比较逻辑块140确定故障已发生,那么安全信号160可指示非安全操作模式。由于未用芯片可关于故障发生而产生误肯定,所以安全信号160可在未用芯片的情况下指示非安全操作模式。如果比较逻辑块140确定故障还没有发生,那么安全信号160可指示安全操作模式。
[0051] 可由比较逻辑块160将安全信号160发送到处理模块170。在实施例中,处理模块170可根据相同处理例程来启动SoC而无关于安全操作模式或非安全操作模式的安全信号指示。启动处理器例程可能没有受到对安全存储器188的受限制或被封锁存取的影响。在特定应用中,处理模块170可测试装置或SoC的功能。测试处理器例程可能没有受到对安全存储器188的受限制或被封锁存取的影响。因此,至少启动和测试SoC可能没有受到安全信号指示的影响。
[0052] 一旦启动SoC,SoC便可通过存取如由安全信号指示所确定的存储器进行操作。如果安全信号160指示安全操作模式,那么SoC可存取非安全存储器184、安全存储器188连同可存储于其中的所供数据以及SoC操作中所使用的任何其它存储器。在实施例中,在安全操作模式中,对安全存储器和存储于其中的任何所供数据的存取可不受限制。在特定实施例中,在安全操作模式中,可响应于排除安全信号指示的参数来限制、封锁或另外控制对安全存储器和存储于其中的任何所供数据的存取。相反,如果安全信号160指示非安全操作模式,那么响应于安全信号指示,SoC可限制或封锁对安全存储器188连同可存储于其中的所供数据的存取。
[0053] 在实施例中,在未用芯片的情况下由误肯定产生的非安全操作模式的安全信号指示可不影响启动和测试SoC。举例来说,因为未用芯片可不包含安全存储器188中的所供数据,所以在SoC操作期间缺少对安全存储器188的存取或对其的受限制存取可为不相关的。
[0054] 在制造包含系统100的电子系统或终端装置期间,可将安全序列编程到OTP存储器阵列块120中。随后,当将所供数据存储于安全存储器188中时,系统100可使用已编程安全序列来确定归因于例如假信号攻击、黑客攻击或其它物理干扰的故障发生。响应于所检测到或所确定的故障发生,系统100可通过封锁或限制对安全存储器188的存取来保护安全存储器188和可存储于其中的任何所供数据。
[0055] 在操作中,参看图2,进一步参看图1,使用系统100的硬件嵌入式安全方法200包含所展示的阶段。但是,方法200仅是示例性的且非为限制性的。可例如通过添加、去除或重新布置阶段来更改方法200。
[0056] 方法200包含:对熔丝型OTP存储器阵列进行取样220;比较经取样熔丝型OTP存储器阵列值240;确定故障的发生260;启动SoC 270;以及操作SoC 280。
[0057] 在阶段220,当通电或重置SoC时,取样和捕获OTP存储器阵列块120的组成OTP存储器阵列的熔丝装置状态。在阶段224,由图1中所展示的取样和捕获电路123来取样和捕获熔丝型OTP存储器阵列A 124的n个熔丝装置121的熔丝状态。类似地,在阶段226,由图1中所展示的取样和捕获电路127来取样和捕获熔丝型OTP存储器阵列B的n个熔丝装置125的熔丝状态。
[0058] 在阶段240,使用数字逻辑电路145,将通过位线总线A 134和位线总线B 138而被提供到比较逻辑块140的经取样熔丝型OTP存储器阵列值彼此并与未用芯片的或未编程的OTP存储器阵列值进行比较。在实施例中,取样阵列值0对应于未用芯片值。在某些应用中,对于皆为值“1”的n个位来说,取样n位阵列值(2n-1)对应于未用芯片值。
[0059] 在阶段260,可确定故障的发生。如果熔丝型OTP存储器阵列A 124和/或熔丝型OTP存储器阵列B 128的取样值指示未用芯片(即,在各种实施例中,对于两个阵列的所有n个熔丝装置121和125来说,要么皆为“1”,要么皆为“0”),那么在阶段264,故障被确定为已发生。在未用芯片的这种情况下,故障检测是误肯定。如果熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B 128的取样值不相同,那么在阶段266,故障被确定为已发生。如果熔丝型OTP存储器阵列A 124和熔丝型OTP存储器阵列B的取样值相同且两者都不指示未用芯片,那么在阶段268,故障被确定为还没有发生。阶段264、266和268相互排斥,因此在方法200的阶段260,仅这些状态中的一者可存在。
[0060] 另外,在阶段260,由比较逻辑块140产生安全信号160,使得通过确定例如由假信号攻击、黑客攻击或其它物理干扰产生的故障发生来确定安全信号160的指示。如果故障被确定为已发生,那么产生非安全操作模式的安全信号指示,且如果故障被确定为还没有发生,那么产生安全操作模式的安全信号指示。
[0061] 在阶段270,不管安全信号160的指示如何,均由处理模块170使用相同处理例程来启动SoC。在非安全操作模式与安全操作模式两者中,SoC可根据相同例程或程序启动。用于SoC的启动例程可不需要存取安全存储器188。在示例性实施方案中,还可在阶段270测试SoC组件。测试例程可不需要存取安全存储器188。对于非安全操作模式与安全操作模式两者来说,测试例程或程序可相同。
[0062] 在阶段280,通过存取由安全信号160的指示所确定的安全存储器188来操作SoC。对于非安全操作模式来说,通过对安全存储器188的被封锁或受限制存取来操作SoC,借此保护可存储于其中的所供数据。相反,对于安全操作模式来说,通过存取安全存储器188和可存储于其中的所供数据来操作SoC。在实施例中,在安全操作模式中,对安全存储器和存储于其中的任何所供数据的存取可不受限制。在特定实施例中,在安全操作模式中,可响应于排除安全信号指示的参数来限制、封锁或另外控制对安全存储器和存储于其中的任何所供数据的存取。
[0063] 如上文关于图1所论述,由于启动和测试例程可没有受到对安全存储器188的被封锁存取的影响,所以可缓和与未用芯片相关联的误肯定的消极含意。另外,未用芯片的安全存储器188可不包含所供数据,且因此对于未用芯片来说缺乏对安全存储器188的存取可为不相关的。
[0064] 在实施例中,每当通电或重置SoC时,方法200可重复。
[0065] 进一步参看图1,在实施例中,OTP存储器阵列块120可包含多个(M个)熔丝型OTP存储器阵列与关联的取样和电路,其中M是大于或等于2的整数。M个熔丝型OTP存储器阵列中的每一熔丝型OTP存储器阵列可包含n个熔丝装置,其中n是大于或等于1的整数且对于所有M个熔丝型OTP存储器阵列来说具有相同值。在特定应用中,OTP存储器阵列块120可包含利用反熔丝型OTP装置或任何其它类型的OTP装置的M个OTP存储器阵列。
[0066] 在实施例中,OTP存储器阵列块120可经由M条位线总线而耦合到比较逻辑块140。每一位线总线可携载来自M个OTP存储器阵列中的一者的n个信号。
[0067] 在实施例中,比较逻辑块140的数字逻辑电路145可将M个熔丝型OTP存储器阵列中的每一者的取样值与未编程未用芯片阵列值和剩余(M-1)个熔丝型OTP存储器阵列中的每一者进行比较。如上文参看图1所描述,基于这个比较,比较逻辑块140可确定故障是否已发生。
[0068] 在实施例中,如果M个熔丝型OTP存储器阵列的取样值相同且不等于未用芯片值,那么比较逻辑块140可确定故障还没有发生。在制造电子系统或终端装置期间,可将相同安全序列编程到所有M个熔丝型OTP存储器阵列中。在不存在故障的情况下,M个熔丝型OTP存储器阵列的取样值可皆等于已编程安全序列。
[0069] 在某些实施方案中,每一阵列的未编程未用芯片值可为0。在这种情况下,可由数字逻辑电路145将M个熔丝型OTP存储器阵列中的每一者的取样值与0进行比较。在其它示例性实施方案中,每一阵列的未编程未用芯片值可为(2n-1)。在此些实施方案中,可将M个熔丝型OTP存储器阵列中的每一者的取样值与(2n-1)进行比较。
[0070] 在实施例中,如果所有M个熔丝型OTP存储器阵列的取样值不相同或相等,或如果M个熔丝型OTP存储器阵列中的至少一者的取样值等于0,那么比较逻辑块140可确定故障已发生。这后面一种情况可对应于未用芯片。如上文所论述,如果故障已发生,那么M个熔丝型OTP存储器阵列中的任一者或所有者的取样值可受到电子欺骗,且因此可既不与已编程安全序列相同也不等于已编程安全序列。
[0071] 在实施方案中,如果M个熔丝型OTP存储器阵列的取样值不相同,或如果M个熔丝型OTP存储器阵列中的至少一者的取样值等于(2n-1),那么比较逻辑块140可确定故障已发生。这后面一种情况可对应于未编程未用芯片。
[0072] 在操作中,参看图3,进一步参看图1,硬件嵌入式安全方法300包含所展示的阶段。但是,方法300仅是示例性的且非为限制性的。可例如通过添加、去除或重新布置阶段来更改方法300。
[0073] 方法实施例300可类似于方法200但并不取决于方法200,所述方法实施例用于使用如上文所描述的系统100的实施例来识别SoC芯片上故障的发生,所述系统包含多个(M个)熔丝型OTP存储器阵列与关联的取样和捕获电路,其中M是大于或等于2的整数。
[0074] 方法300包含:对M个熔丝型OTP存储器阵列的值进行取样320;将每一熔丝型OTP存储器阵列的取样值与每一其它熔丝型OTP存储器阵列的取样值进行比较340;确定故障的发生360;启动SoC 370;以及操作SoC 380。
[0075] 在阶段320,当通电或重置SoC时,可取样和捕获OTP存储器阵列块120中的M个熔丝型OTP存储器阵列的n个熔丝装置状态。
[0076] 在实施例中,在阶段340,使用数字逻辑电路145,将通过M条位线总线而被提供到比较逻辑块140的经取样熔丝型OTP存储器阵列值彼此并与未编程未用芯片的OTP存储器阵列值进行比较。
[0077] 在实施例中,在阶段360,确定故障的发生。如果M个熔丝型OTP存储器阵列中的至少一者的取样值指示未用芯片(即,在各种实施例中,要么为阵列值0,要么为阵列值(2n-1)),那么在阶段364,故障被确定为已发生。对于未用芯片来说,故障检测是误肯定。如果M个熔丝型OTP存储器阵列的取样值不相同且不等于未用芯片值,那么在阶段366,故障被确定为已发生。如果M个熔丝型OTP存储器阵列的取样值相同且没有一者是指示未用芯片,那么在阶段368,故障被确定为还没有发生。阶段364、366和368相互排斥,因此在方法300实施例的阶段360,仅这些状态中的一者可存在。
[0078] 在利用M个熔丝型OTP存储器阵列的方法300实施例中,阶段370和380分别如上文关于方法200的阶段270和280所描述且如图2中所展示而继续进行。
[0079] 其它实施例是在本发明的范围和精神内。举例来说,归因于软件的本质,可使用软件、硬件、固件、硬连线或这些中的任一者的组合来实施上文所描述的功能。实施功能的特征还可物理地位于各种位置处,包含经分布以使得功能的数个部分在不同物理位置处实施。
[0080] 所属领域的技术人员将理解,可使用多种不同技术和技艺中的任一者来表示信息和信号。举例来说,可通过电压、电流、电磁波、磁场或磁粒子、光场或光粒子或其任何组合来表示在整个上文描述中可能提及的数据、指令、命令、信息、信号、位、符号和码片。
[0081] 所属领域的技术人员将进一步了解,结合本文中的揭示内容而描述的各种说明性逻辑块、模块、电路和算法步骤可实施为电子硬件、计算机软件或两者的组合。为清楚说明硬件与软件的此可互换性,上文已一般来说关于功能性而描述了各种说明性组件、块、模块、电路和步骤。此类功能性是实施为硬件还是软件取决于特定应用及强加于整个系统的设计约束。所属领域的技术人员可针对每一特定应用以变化的方式来实施所描述的功能性,但此些实施决策不应被解译为会引起偏离本发明的范围。
[0082] 可使用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件或经设计以执行本文中所描述的功能的其任何组合来实施或执行结合本文中的揭示内容而描述的各种说明性逻辑块、模块和电路。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。处理器还可实施为计算装置的组合,例如DSP和微处理器的组合、多个微处理器、一或多个微处理器结合DSP核心,或任何其它此类配置。
[0083] 结合本文中的揭示内容而描述的方法或算法的步骤可直接在硬件中、由处理器执行的软件模块中或这两者的组合中体现。软件模块可驻留于RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可装卸式磁盘、CD-ROM,或所属领域中已知的任何其它形式的存储媒体中。示范性存储媒体耦合到处理器,使得处理器可从存储媒体读取信息并将信息写入到存储媒体。在替代方案中,存储媒体可与处理器成一体式。处理器和存储媒体可驻留于ASIC中。ASIC可驻留于用户终端中。在替代方案中,处理器和存储媒体可作为离散组件而驻留于用户终端中。
[0084] 在一或多个示例性设计中,所描述的功能可在硬件、软件、固体或其任何组合中实施。若在软件中实施,则可将功能作为一或多个指令或代码而存储在计算机可读媒体上或经由计算机可读媒体来传输。计算机可读媒体包含计算机存储媒体与包含促进将计算机程序从一处传送到另一处的任何媒体的通信媒体两者。存储媒体包含促进将计算机程序从一处传送到另一处的任何媒体。存储媒体可为可由通用或专用计算机存取的任何可用媒体。借助于实例而非限制,此些计算机可读媒体可包括RAM、ROM、EEPROM、CD-RIM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置,或可用于携载或存储呈指令或数据结构的形式的所要程序代码装置并且可由通用或专用计算机或通用或专用处理器存取的任何其它媒体。而且,任何连接被恰当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输软件,那么同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含在媒体的定义中。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软性磁盘和蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘利用激光以光学方式再现数据。上文的组合也应包含在计算机可读媒体的范围内。
[0085] 提供对本发明的先前描述以使得任何所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将易于了解对本发明的各种修改,且本文中所定义的一般原理可应用于其它变体而不脱离本发明的范围。因此,本发明并不希望限于本文中所描述的实例和设计,而应被赋予与本文中所揭示的原理和新颖特征相一致的最广范围。
[0086] 此外,虽然以上描述涉及本发明,但所述描述可包含一种以上的发明。
[0087] 如本文中所使用,包含在权利要求书中,除非另外规定,否则功能或操作是“基于”项目或条件的声明是指所述功能或操作是基于所陈述的项目或条件且可基于除了所陈述的项目或条件之外的一或多个项目和/或条件。