Parallelism in a CRC Coprocessor

Cyclic Redundancy Checks (CRC) constitute an important class of hash functions for detecting changes in data blocks after transmission, storage and retrieval, or distributed processing. Currently, most sequential methods based on Horner's scheme are applied with some extensions or modifications. The flexibility of these methods with respect to the generator polynomial and the sequence of data processing is limited. A newly proposed algorithm and architecture [1,2] offer a high degree of flexibility in several aspects and provide high performance with a modest investment in hardware. The algorithm has inherent freedom for parallel processing on several levels, which is exploited in the proposed architecture. An early implementation gives quantitative results on cost and performance and suggests possible extensions and improvements. The algorithm, a typical system architecture, and the coprocessor's structure are described in this paper with an emphasis on parallelism.

[1] Döring, A. und Waldvogel, M.: Patent Application No. 03405331.4. May 2003. Europ. Patent Office.
[2] Döring, A. und Waldvogel, M.: IEE Electronic Letters. 40(1). January 2004.

Additional Keywords: Doering, Doring

By: Andreas Döring

Published in: in "Parallel-Algorithmen, -Rechnerstrukturen und -Systemsoftware," Mitteilungen Informationstechnische Gesellschaft im VDELuebeck, Germany, Ges. f. Informatik Deutschland e.V., vol.21, p.21 in 2004

Please obtain a copy of this paper from your local library. IBM cannot distribute this paper externally.

Questions about this service can be mailed to reports@us.ibm.com .