A method and apparatus for ensuring the integrity of data that can detect
errors that remain when the data correction scheme fails to correct at
least some of the errors, or has added additional errors. Reed-Solomon
check symbols are used for error correction and cyclic redundancy check
symbols are used to detect the remaining errors. The roots of the
generator polynomials used to generate the Reed-Solomon check symbols and
the cyclic redundancy check symbols meet a selected subset of a plurality
of conditions. The roots are further selected so that the necessary
exponentiation may be performed by a combination of exponentiations by
powers of two and multiplications. The Reed-Solomon check symbols are
generated based on the data portion of the data block. A deterministically
altered data stream is generated based on the data portion of the data
block and the cyclic redundancy check symbols are generated based on the
deterministically altered data stream. The deterministically altered data
stream is generated by performing an operation on a symbol of the data
portion based on a position of the symbol within a Reed-Solomon codeword.
Eine Methode und ein Apparat für das Sicherstellen der Vollständigkeit von Daten, die Störungen ermitteln können, die bleiben, wenn der Datenkorrekturentwurf mindestens einige der Störungen beheben nicht kann oder hat zusätzliche Störungen addiert. Schilf-Solomon Überprüfung Symbole werden für Fehlerkorrektion verwendet und zyklische Blockprüfung Symbole werden verwendet, um die restlichen Störungen zu ermitteln. Die Wurzeln der Generatorpolynome verwendeten, die Schilf-Solomon Überprüfung Symbole zu erzeugen und die zyklische Blockprüfung Symbole treffen eine vorgewählte Teilmenge einer Mehrzahl von Bedingungen. Die Wurzeln werden weiter vorgewählt, damit der notwendige Exponentiation durch eine Kombination von Exponentiations durch Energien von zwei und Vermehrungen durchgeführt werden kann. Die Schilf-Solomon Überprüfung Symbole werden gründeten auf dem Datenteil des Datenblockes erzeugt. Ein deterministisch geänderter Datenstrom wird gründete auf dem Datenteil des Datenblockes erzeugt und die zyklische Blockprüfung Symbole werden gründeten auf dem deterministisch geänderten Datenstrom erzeugt. Der deterministisch geänderte Datenstrom wird erzeugt, indem man einen Betrieb auf einem Symbol des Datenteils durchführt, der auf einer Position des Symbols innerhalb eines Schilf-Solomon codeword basiert.