在存储器中检测错误
发布时间: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最初在一篇论文中提出的。
还有一种简单的错误检测方法是把关键数据另存为多个副本,从存储器中读取数据时将两个副本进行比较。尽管这种方法简单,但它浪费存储器。
上一篇:在输入输出接口处检测错误
上一篇:时间窗口
热门点击
- 辫线(猪尾巴线)
- 电子管屏极特性曲线
- MD机原理
- 判断输出电压极性方法
- 对于电源和地是对角的IC引脚的DIP封装
- 薄屏蔽层内的多重反射
- 带状线
- 信号迹线在内层,平面在外层的4层板
- 临界高度
- 三端稳压集成电路输出电压调节电路
推荐技术资料
- 自制智能型ICL7135
- 表头使ff11CL7135作为ADC,ICL7135是... [详细]