位置:51电子网 » 技术资料 » 新品发布

在存储器中检测错误

发布时间:2014/4/22 22:18:04 访问次数:667

   静电放电感应的瞬时噪声引起的存储器内的变化不能立即产生影响。然而,如果未被发现,UCC28513DW这些错误在接下来的时间里可能会影响系统的工作。为了检测这种类型的错误,所有从存储器中取出的数据在使用之前都应该先验证它的有效性。现在已有很多种检测数据有效性的技术。最简单的就是使用一个单一的校验位。其他技术包括使用校验和、循环冗余校验(CRC)以及各种各样的纠错码。所有这些技术都能检测错误的存在,并且有些技术甚至可以纠正错误。

   例如,每个数据字如一校验位,所有的奇数位错误都可以检测出来。如果数据字是奇数,校验位就设为1,如果数据字是偶数,校验位就设为O。当从存储器中读取数据时,系统可以通过这个信息标记没有通过奇偶校验的数据,并且怀疑它的有效性。

   纠错码可以检测错误,在某些情况下还可以纠正特定类型的错误。这可以通过对每一存储字额外加数据位来完成。例如,每个16位字额外加6个数据位,奇数位或偶数位错误可以检测出来,而且奇数位错误可以纠正。所需数据存储保护的程度必须作为整个系统规范的一部分。

   错误检测的另一种简单方法是将数据分区存储,使用校验和或者循环冗余校验进行检查。校验和是将数据区内的数据加起来,并把结果与这些数据存储在一起。当读取这些数据时,执行相同的操作,并将求和的结果与储存的校验求和的结果进行比较。

   更复杂的数据区错误检测方法是循环冗余校验技术(CRC)。该技术背后的思想是把数据区当作一个单独的二进制数(字)训来处理,用另一个数(关键字)志来除它。把商q忽略,把余数r作为CRC检测结果储存起来。该方法的新颖性在于它使用了一种简单的除法。这种方法不是万无一失的,因为当用是去除时,很多不同的数字叫都能给出相同的余数r。然而,当关键字志的位数咒增加时,错误检测不到的概率会降低。假如原来的那个二进制数叫是个随机数,检测不到错误的概率约为1/咒。因此,如果n取得足够大,错误检测不到的机会就会非常小。

   有趣的是奇偶校验是循环冗余校验(CRC)的一种简单形式,它使用的是十进制数2(=进制10)作为除数忌【关键字)。

   由于循环冗余校验擅长于检测由瞬变引起的位错误,容易进行数学分析,而且在数字系统中容易实现,所以循环冗余校验( CRC)成为普遍应用的技术。在UNIX和LINUX操作系统中有一个函数“cksum”对任意给定的文件都能够自动生成一个32位CRC校验结果。这种CRC错误检测方法是1961年由Peterson和Brown最初在一篇论文中提出的。

   还有一种简单的错误检测方法是把关键数据另存为多个副本,从存储器中读取数据时将两个副本进行比较。尽管这种方法简单,但它浪费存储器。



   静电放电感应的瞬时噪声引起的存储器内的变化不能立即产生影响。然而,如果未被发现,UCC28513DW这些错误在接下来的时间里可能会影响系统的工作。为了检测这种类型的错误,所有从存储器中取出的数据在使用之前都应该先验证它的有效性。现在已有很多种检测数据有效性的技术。最简单的就是使用一个单一的校验位。其他技术包括使用校验和、循环冗余校验(CRC)以及各种各样的纠错码。所有这些技术都能检测错误的存在,并且有些技术甚至可以纠正错误。

   例如,每个数据字如一校验位,所有的奇数位错误都可以检测出来。如果数据字是奇数,校验位就设为1,如果数据字是偶数,校验位就设为O。当从存储器中读取数据时,系统可以通过这个信息标记没有通过奇偶校验的数据,并且怀疑它的有效性。

   纠错码可以检测错误,在某些情况下还可以纠正特定类型的错误。这可以通过对每一存储字额外加数据位来完成。例如,每个16位字额外加6个数据位,奇数位或偶数位错误可以检测出来,而且奇数位错误可以纠正。所需数据存储保护的程度必须作为整个系统规范的一部分。

   错误检测的另一种简单方法是将数据分区存储,使用校验和或者循环冗余校验进行检查。校验和是将数据区内的数据加起来,并把结果与这些数据存储在一起。当读取这些数据时,执行相同的操作,并将求和的结果与储存的校验求和的结果进行比较。

   更复杂的数据区错误检测方法是循环冗余校验技术(CRC)。该技术背后的思想是把数据区当作一个单独的二进制数(字)训来处理,用另一个数(关键字)志来除它。把商q忽略,把余数r作为CRC检测结果储存起来。该方法的新颖性在于它使用了一种简单的除法。这种方法不是万无一失的,因为当用是去除时,很多不同的数字叫都能给出相同的余数r。然而,当关键字志的位数咒增加时,错误检测不到的概率会降低。假如原来的那个二进制数叫是个随机数,检测不到错误的概率约为1/咒。因此,如果n取得足够大,错误检测不到的机会就会非常小。

   有趣的是奇偶校验是循环冗余校验(CRC)的一种简单形式,它使用的是十进制数2(=进制10)作为除数忌【关键字)。

   由于循环冗余校验擅长于检测由瞬变引起的位错误,容易进行数学分析,而且在数字系统中容易实现,所以循环冗余校验( CRC)成为普遍应用的技术。在UNIX和LINUX操作系统中有一个函数“cksum”对任意给定的文件都能够自动生成一个32位CRC校验结果。这种CRC错误检测方法是1961年由Peterson和Brown最初在一篇论文中提出的。

   还有一种简单的错误检测方法是把关键数据另存为多个副本,从存储器中读取数据时将两个副本进行比较。尽管这种方法简单,但它浪费存储器。



热门点击

 

推荐技术资料

自制智能型ICL7135
    表头使ff11CL7135作为ADC,ICL7135是... [详细]
版权所有:51dzw.COM
深圳服务热线:13751165337  13692101218
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!