9003259

Interleaved Parallel Redundancy Check Calculation for Memory Devices

PublishedApril 7, 2015
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
20 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A method, comprising: generating, by a processing device of a computing system, an index value as part of a cyclic redundancy check (CRC) operation, the index value comprising a result of a first exclusive-or function applied to both of input data transmitted on a data bus and data in an accumulator of the processing device that is utilized to store results of the CRC operation; indexing, by the processing device, an interleaved parallel CRC table with the index value to retrieve a polynomial entry from the interleaved parallel CRC table, wherein the interleaved parallel CRC table is generated by interleaving a plurality of base CRC tables each generated for each line of the data bus; performing, by the processing device, a second single exclusive-or function on an entirety of the retrieved polynomial entry and an entirety of the data in the accumulator; storing, by the processing device, the results of the second exclusive-or operation in the accumulator; repeating the generating, the indexing, the performing, and the storing on any remaining input data transmitted on the data bus that is waiting for the CRC operation to be applied, the repeating to occur while the input data remains in place in an in-memory order of the data bus and in an unmodified data representation of the processing device; and transmitting, by the processing device, contents of the accumulator to the data bus.

2

2. The method of claim 1 , wherein the CRC table is the result of interleaving four 4×16-bit CRC tables that are generated for each line of the data bus.

3

3. The method of claim 1 , wherein the accumulator is shifted 8 bits left after the process of generating the index value.

4

4. The method of claim 1 , wherein the accumulator is a 64-bit accumulator that is the compilation of two 32-bit registers.

5

5. The method of claim 1 , wherein the first exclusive-or function utilizes the first eight most significant bits from the accumulator as the data from the accumulator.

6

6. The method of claim 1 , wherein the second exclusive-or function utilizes the entire contents of the accumulator as the data in the accumulator.

7

7. The method of claim 1 , wherein the data bus services a memory card storing the input data that stores the input data.

8

8. A system, comprising: a memory; a processing device communicably coupled to the memory; a data bus communicably coupling the memory and the processing device, the data bus to transfer input data to be processed by a cyclic redundancy check (CRC) operation; an accumulator in the processing device, the accumulator to store results of the CRC operation; and a CRC module in the processing device and communicably coupled to the data bus and the accumulator, the CRC module to: generate an index value as part of the CRC operation, the index value comprising a result of a first exclusive-or function applied to both of input data transmitted on the data bus and data in the accumulator; index an interleaved parallel CRC table with the index value to retrieve a polynomial entry from the CRC table; index an interleaved parallel CRC table with the index value to retrieve a polynomial entry from the interleaved parallel CRC table, wherein the interleaved parallel CRC table is generated by interleaving a plurality of base CRC tables each generated for each line of the data bus; perform a second single exclusive-or function on an entirety of the retrieved polynomial entry and an entirety of the data in the accumulator; store the results of the second exclusive-or operation in the accumulator; repeat the generating, the indexing, the performing, and the storing on any remaining input data transmitted on the data bus that is waiting for the CRC operation to be applied, the repeating to occur while the input data remains in place in an in-memory order of the data bus and in an unmodified data representation of the processing device; and transmit contents of the accumulator to the data bus.

9

9. The system of claim 8 , wherein the CRC table is the result of interleaving four 4×16-bit CRC tables that are generated for each line of the data bus.

10

10. The system of claim 8 , wherein the first exclusive-or function utilizes the first eight most significant bits from the accumulator as the data from the accumulator.

11

11. The system of claim 8 , wherein the second exclusive-or function utilizes the entire contents of the accumulator as the data in the accumulator.

12

12. The system of claim 8 , wherein the data bus services a memory card storing the input data that stores the input data.

13

13. The system of claim 8 , wherein the accumulator is shifted 8 bits left after the process of generating the index value.

14

14. The system of claim 8 , wherein the accumulator is a 64-bit accumulator that is the compilation of two 32-bit registers.

15

15. A non-transitory machine-readable storage medium including instructions that, when accessed by a processing device, cause the processing device to perform operations comprising: generating, by the processing device of a computing system, an index value as part of a cyclic redundancy check (CRC) operation, the index value comprising a result of a first exclusive-or function applied to both of input data transmitted on a data bus and data in an accumulator of the processing device that is utilized to store results of the CRC operation; indexing, by the processing device, an interleaved parallel CRC table with the index value to retrieve a polynomial entry from the interleaved parallel CRC table, wherein the interleaved parallel CRC table is generated by interleaving a plurality of base CRC tables each generated for each line of the data bus; performing, by the processing device, a second single exclusive-or function on an entirety of the retrieved polynomial entry and an entirety of the data in the accumulator; storing, by the processing device, the results of the second exclusive-or operation in the accumulator; repeating the generating, the indexing, the performing, and the storing on any remaining input data transmitted on the data bus that is waiting for the CRC operation to be applied, the repeating to occur while the input data remains in place in an in-memory order of the data bus and in an unmodified data representation of the processing device; and transmitting, by the processing device, contents of the accumulator to the data bus.

16

16. The non-transitory machine-readable storage medium of claim 15 , wherein the CRC table is the result of interleaving four 4×16-bit CRC tables that are generated for each line of the data bus.

17

17. The non-transitory machine-readable storage medium of claim 15 , wherein the accumulator is shifted 8 bits left after generating the index value.

18

18. The non-transitory machine-readable storage medium of claim 15 , wherein the first exclusive-or function utilizes the first eight most significant bits from the accumulator as the data from the accumulator, and wherein the second exclusive-or function utilizes the entire contents of the accumulator as the data in the accumulator.

19

19. The non-transitory machine-readable storage medium of claim 15 , wherein the data bus services a memory card that stores the input data.

20

20. The non-transitory machine-readable storage medium of claim 15 , wherein the accumulator is a 64-bit accumulator that is the compilation of two 32-bit registers.

Patent Metadata

Filing Date

Unknown

Publication Date

April 7, 2015

Inventors

John F. Cooper

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “INTERLEAVED PARALLEL REDUNDANCY CHECK CALCULATION FOR MEMORY DEVICES” (9003259). https://patentable.app/patents/9003259

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.