减少可编程装置在配置错误检测中的虚假肯定制造方法及图纸

技术编号:3083298 阅读:204 留言:0更新日期:2012-04-11 18:40
一种装置利用掩码单元和敏感掩码数据将存储器的未用部分从错误检测运算中排除以减少存储器错误检测的虚假肯定。一种装置包含从存储器中读取数据并校验数据完整性的错误检测单元。敏感掩码数据指出了存储器的未用部分。存储器的未用部分可对应可编程装置的未用部分的配置数据。敏感掩码数据的每一个比特可指出存储器中数据的一个或多个比特的使用。响应掩码数据,掩码单元将存储器未用部分的数据设置为不改变错误检测运算结果的值。这样阻止了存储器未用部分的错误数据发出出错信号。

【技术实现步骤摘要】

本专利技术涉及可编程装置领域,以及在其中检测配置错误的系统和方法。
技术介绍
可编程装置,如FPGA(现场可编程门阵列),一般包含数千个可编程逻辑单元,它们利用逻辑门和/或查找表的结合执行逻辑运算。可编程装置还包含一定数量的功能块,具有专用逻辑装置适于特定的逻辑运算,例如加法器、乘法及累加电路、锁相环,及存储器。逻辑单元和功能块与可配置开关电路内联。可配置开关电路选择性地路由逻辑单元和功能块间的联结。通过配置逻辑单元、功能块以及开关电路的组合,可编程装置可适用于虚拟实现任何类型的信息处理功能。诸如FPGA的可编程装置的功能,通常通过存储于一组配置RAM单元(CRAM)或配置存储器中的配置数据来控制。CRAM中的配置数据提供逻辑信号用于配置可编程装置来实现其期望的功能。通常,CRAM中的数据包含定义逻辑单元功能的查找表的值;可配置开关电路用于路由输入、输出、逻辑单元和功能块之间信号的多路器和其他开关装置的控制信号值;以及指定可编程装置的配置的其他方面的值,如可编程装置及其相关功能块和逻辑单元的运行模式。配置数据的备份通常存储于非易失性存储器,诸如快闪存储器或ROM,它处于可编程装置的同一芯片封装内部或处于与可编程存储装置相连接的外部配置装置上。配置数据的这个备份加载到可编程装置的CRAM单元中来配置可编程装置以实现期望的功能。随着CRAM单元的物理尺寸因为制造方法的进步而减小,CRAM单元变得更加容易受到自发的“软错误”的影响。软错误可能由诸如α粒子或宇宙射线的背景辐射引起,导致CRAM单元自发地改变状态,从“0”到“1”或反过来。因为可编程装置的功能由存储于CRAM单元中的数据决定,CRAM单元状态的一个单一的变化就可改变或者废除可编程装置的功能。此外,随着可编程装置变得更加复杂而需要更多的CRAM单元来存储它们的配置数据,软错误的频率也就增高了。现有解决软错误的办法包括可编程装置中的错误检测电路,从CRAM中读取配置数据并产生相应的错误检测码。一旦检测到错误,错误检测电路通常产生一个出错信号,使得可编程装置重新载入其配置数据并重新配置以正确运行。在另一个方法中,配置数据也可包含错误纠正码。这些错误纠正码和错误检测与纠正电路一起用于纠正CRAM中的配置数据,无需重新载入一整套配置数据。在重新载入或纠正配置数据时,可编程装置暂停其常规运行。许多应用没有有效地使用可编程装置的CRAM中的大部分。例如,典型的应用可能只用到可编程装置的CRAM的40%来配置本应用已用的逻辑单元、功能块、和/或开关电路的运行。CRAM的剩余部分,虽然设置了一些逻辑值,但不影响可编程装置的功能,因为CRAM的未用部分配置本应用未用的逻辑单元、功能块、和/或开关电路的运行。控制本应用未用的逻辑单元、功能块、和/或开关电路的那部分CRAM指的就是CRAM未用的部分。CRAM未用部分的软错误无关紧要可被忽略。因为错误检测电路不能区分CRAM的已用和未用部分,所以现有可编程装置通常在一旦检测到CRAM中的任何错误时重新载入配置数据。然而,因为CRAM中很大一部分不被可编程装置的应用用到,所以这些软错误中许多都是“虚假肯定”,对可编程装置的功能没有影响。因此,可编程装置常常因虚假肯定而不必要地重新载入了配置数据,因为载入配置数据过程中的暂停期而降低了可编程装置的性能,且因不必要的载入和存储配置数据而增加了电力消耗。因此,需要一种装置和方法来检测虚假肯定软错误,以避免不必要的重新载入和重新配置可编程装置。
技术实现思路
在本专利技术的一个实施例中,一个装置通过使用掩码单元和敏感掩码数据来将存储器未用的部分从错误检测运算中排除,从而减少存储器错误检测的虚假肯定。装置包括错误检测单元,用来从存储器读取数据并校验数据完整性。敏感掩码数据指出了存储器中未用部分。存储器未用部分与可编程装置未用部分的配置数据相对应。敏感掩码数据的每一个比特可指出存储器中数据的一个或多个比特的使用。作为对掩码数据的响应,掩码单元将存储器未用部分的数据设置为不改变错误检测运算结果的值。这阻止了来自存储器未用部分数据中的任何错误产生出错信号。在一个实施例中,测试存储器中存储的数据的完整性的方法,包括取回存储器的第一数据并将掩码数据用于第一数据以产生第二数据。掩码数据适于从错误检测运算中排除至少一部分第一数据。该方法还包括在第二数据上执行错误检测运算来决定错误检测结果,评价错误检测结果以决定是否在第一数据中存在至少一个重大错误,并响应第一数据中存在至少一个重大错误的结论,输出出错信号。在另一个实施例中,错误检测运算适于检测至少一个软错误。在进一步的实施例中,掩码数据适于将第一数据排除的部分设置为不影响错误检测运算的值。在又一个实施例中,第一数据排除的部分对应未用于存储有用数据的那部分存储器。在还有一个实施例中,存储器的这一部分适于为可编程装置的未用部分存储配置数据。在一个实施例中,掩码数据包含多个掩码比特,每个掩码比特对应第一数据的一个比特。在又一个实施例中,掩码数据包含多个掩码比特,每个掩码比特对应第一数据的多个比特。在实施例中,第一数据的各个多个比特可以具有同样的尺寸,和/或第一数据的多个比特可对应与该可编程装置的一个资源关联的配置数据。附图说明本专利技术将结合附图进行描述,其中 图1示出了根据本专利技术的实施例,检测可编程装置中软错误的系统;图2示出了根据本专利技术的实施例,检测可编程装置中软错误的系统的细节;图3A-3C示出了根据本专利技术的实施例,在检测可编程装置中软错误时,用于减少虚假肯定的发生的敏感掩码数据的示例性排列;图4示出了根据本专利技术的实施例,检测可编程装置的配置数据中软错误的方法图5示出了根据本专利技术的另一个实施例,检测可编程装置的配置数据中软错误的方法;图6示出了适用于实现本专利技术实施例的可编程装置的范例以及图7示出了用来产生用于本专利技术实施例的配置数据和掩码数据的编辑过程的范例。具体实施例方式图1示出了根据本专利技术的实施例,检测可编程装置中软错误的系统100。系统100包含连接到配置装置110的可编程装置105。可编程装置105包含用于存储定义可编程装置功能的配置数据的配置存储器120。配置装置110在非易失性存储器中存储了配置数据的备份113。在激活或重置可编程装置105后,配置装置110适于将它的配置数据备份113提供给可编程装置105来存储在它的配置存储器120中。为了检测软错误的发生,可编程装置105包含错误检测单元115。错误检测单元115用校验和值(checksum value)或其他类型用于校验数据完整性的代码进行初始化。错误检测单元115从配置存储器120中读取全部配置数据,并且执行错误检测计算,诸如循环冗余校验(CRC)或者任何其他本领域技术人员所知的错误检测算法。错误检测单元115在配置存储器120的所有配置数据上完成其错误检测计算后,错误检测单元将这些计算的结果值与校验和对比。如果这些值不匹配,则发生了软错误,然后错误检测单元115在输出125上产生一个错误标记。响应错误标记,可编程装置的实施例从配置装置重新载入配置数据。在一个实施例中,错误检测单元115再三重复错误检测计算,连续筛选软错误。如上面所讨论的,可编程装置105的许多配置不用到配置本文档来自技高网
...

【技术保护点】
一种检测存储于存储器中的数据的完整性的方法,该方法包括:从存储器中取回第一数据; 将掩码数据应用于第一数据以产生第二数据,其中掩码数据适合从错误检测运算中排除至少一部分第一数据;在第二数据上执行错误检测运算以确定错误检测结果;评估该错误检测结果以决定在第一数据中是否存在至少一个明显错误;以及响应在第一数据中存在至少一个明显错误的结论,输出出错信号。

【技术特征摘要】
US 2005-6-8 60/688,980;US 2006-4-19 11/407,5191.一种检测存储于存储器中的数据的完整性的方法,该方法包括从存储器中取回第一数据;将掩码数据应用于第一数据以产生第二数据,其中掩码数据适合从错误检测运算中排除至少一部分第一数据;在第二数据上执行错误检测运算以确定错误检测结果;评估该错误检测结果以决定在第一数据中是否存在至少一个明显错误;以及响应在第一数据中存在至少一个明显错误的结论,输出出错信号。2.权利要求1所述方法,其特征在于,错误检测运算适合检测至少一个软错误。3.权利要求1所述方法,其特征在于,掩码数据适合将第一数据的排除部分设置为不影响错误检测运算的值。4.权利要求1所述方法,其特征在于,第一数据的排除部分对应存储器中未用于存储有用数据的部分。5.权利要求4所述方法,其特征在于,存储器的部分适合为可编程装置的未用部分存储配置数据。6.权利要求1所述方法,其特征在于,掩码数据包含多个掩码比特,每个掩码比特对应第一数据的一个比特。7.权利要求1所述方法,其特征在于,掩码数据包含多个掩码比特,至少一个掩码比特对应第一数据的多个比特。8.权利要求7所述方法,其特征在于,第一数据的各组多个比特尺寸相同。9.权利要求7所述方法,其特征在于,第一数据中与一掩码比特关联的至少一组多个比特对应与可编程装置的一个资源关联的配置数据。10.权利要求1所述方法,其特征在于,应用掩码数据包括从掩码数据存储器中取回掩码数据;以及在掩码数据的一个比特和第一数据的至少一个对应比特之间执行布尔运算。11.权利要求10所述方法,其特征在于,布尔运算是AND运算。12.权利要求10所述方法,其特征在于,掩码数据存储器包含在存储器中。13.权利要求10所述方法,其特征在于,掩码数据存储器包含在通过外部数据总线访问的分开的存储器中。14.一种测试存储器中存储数据的完整性的方法,该方法包括从存储器中取回第一数据;在第一数据上执行错误检测运算以确定错误检测结果;评估该错误检测结果以决定在第一数据中是否存在至少一个错误;以及响应在第一数据中存在至少一个错误的结论将掩码数据应用于第一数据以产生第二数据,其中掩码数据适合从错误检测运算中排除至少一部分第一数据;在第二数据上执行错误检测运算以确定错误检测结果;评估该错误检测结果以决定在第一数据中是否存在至少一个明显错误;以及响应在第一数据中存在至少一个明显错误的结论,输出出错信号。15.权利要求14所述方法,其特征在于,错误检测运算适合检测至少一个软错误。16.权利要求14所述方法,其特征在于,掩码数据适合将第一数据的排除部分设置为不影响错误检测运算的值。17.权利要求14所述方法,其特征在于,第一数据的排除部分对应存储器中未用于存储有用数据...

【专利技术属性】
技术研发人员:D刘易斯R布莱克RG柯利夫ST瑞迪
申请(专利权)人:奥特拉股份有限公司
类型:发明
国别省市:US[美国]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1