突发错误校正的ECC是如何工作的?
所谓“突发错误检测”,我指的是一种能够检测(例如)64个连续位的任何一个[或两个]序列中的任何位错误组合的技术。
我需要一个概念性的解释,而不是数学。
我研究了一些用无尽的数学符号来描述技术的描述,但是我不明白他们在说什么(因为我不懂那些高级数学公式)。
我之所以问这个问题,是因为我想出了一种技术,可以在4096字节(32768位)的数据流(磁盘扇区/传输等)中检测64位的突发数据,并希望有人解释一下:
#1:我的方法是不同的还是等同于“循环错误码”。
#2:我的技术效率低多少(在32768位流中,640位可以纠正任何64位突发)。
#他说:是否有人能找到方法让我的方法探测到两次而不是一次。
#4:我的方法对于软件实现来说是否简单得多。
我最近发布了一个关于我的技术的概念性解释,但是一些人对我的详细解释感到恼火,于是结束了这个问题。然而,它证明了[至少]我的技术可以用概念性的术语来描述,就像hopelly某人对传统技术(循环码)所做的那样您还需要阅读我在本页的解释(将其与传统技术进行比较):
how does ECC for burst error correction work?

最佳答案

我对你的问题没有一个完整的答案,但是几年前我在一个硬盘控制器中实现了循环ECC,这个设计显然没有你的技术那么简单、规则和结构化。
尽管实现循环ecc的硬件在硬件上相当简单,但我很难在软件上重新定义它!在硬件上,它是一个长移位寄存器(如果内存可用,大约32到64位),在大约15个位置插入异或门,根据流中其他位置的位有条件地翻转位。
虽然我的实现无法检测64位的突发(据我所知只有11位或13位),但我的印象是,对于相似的突发长度和数据流长度,您的技术需要的比特数是最佳循环ecc技术的两到三倍。
然而,您的技术开销可能很小,以至于微不足道。此外,看看你的方案,我觉得(但不确定)你可以纠正的错误远远不止是你设计的“一次突发”。因此,您的技术可能比传统的循环ecc更健壮,但是需要更复杂的软件处理来“定位和纠正”不在64位突发内的错误。
另外,从积极的方面来说,您的技术可以很容易和有效地在硬件中实现。

关于algorithm - 常规[循环]突发错误纠正的ECC如何工作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21151161/

10-11 02:04