IP Library Granted Patent US 9,154,163
Granted Patent B2
US 9,154,163 · App. 13/304,351 · Granted Oct 6, 2015

Distributed checksum computation

Inventor: Bjorn Engberg (Alton, NH)
Assignee: BLACKARROW, INC.
H03M13/093H03M13/091H03M13/6575H04L1/0061
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,154,163
App. No.
13/304,351
Granted
Oct 6, 2015
Kind
B2
Abstract

Data is divided into parts and each part provided to a different processor. Each processor processes the provided data part to produce a partial CRC result. The partial CRC results from each of the different processors are XORed to produce a CRC of the data.

Claims (24)

1. A method comprising:

dividing data into provided data parts and providing each of the provided data parts to a plurality of different processors;

each of the different processors processing a provided part of the provided data parts to produce a plurality of partial CRC results;

XORing the partial CRC results from each of the different processors to produce a CRC of the data;

each of the different processors producing a first partial result by XOR multiplying with the provided part of the provided data parts a single-set-bit bit string CRC for a single-set-bit string having a single bit that is set and all other bits of the single-set-bit string being unset; and

each processor generating an upper bits CRC of upper bits of the first partial result, and XORing the upper bits CRC with lower bits of the first partial result.

2. The method of claim 1 , wherein the single bit that is set corresponds to a set bit of the provided part of the provided data parts.

3. The method of claim 1 , wherein a position of the single bit that is set is different for the single-set-bit string applied by each of the different processors.

4. The method of claim 1 , wherein the provided part of the provided data parts comprises a string of provided part bits; and

the string of provided part bits includes bits not representing data values separating sequences of bits representing data values.

5. The method of claim 4 , wherein the single bit that is set is set in a position that representing a length of the bits not representing data values.

6. The method of claim 1 , each of the provided data parts comprising pixel data.

7. The method of claim 1 , each of the provided data parts comprising a portion of a distributed data file.

8. The method of claim 1 , each of the different processors repeatedly applying a CRC forward operation to produce the partial CRC results.

9. A method comprising:

dividing data into provided data parts and providing each of the provided data parts to a plurality of different processors;

each of the different processors processing a provided part of the provided data parts to produce a plurality of partial CRC results;

XORing the partial CRC results from each of the different processors to produce a CRC of the data; and

each of the provided data parts comprising pixel data.

10. A machine comprising:

a plurality of processors;

non-transitory logic comprising a data distributor, to divide pixel data into pixel data parts and to provide one of the pixel data parts to each of the plurality of processors;

non-transitory logic to cause each of the plurality of processors to process a provided pixel data part to produce a partial CRC results; and

non-transitory logic to XOR the partial CRC results from each of the plurality of processors to produce a CRC of the pixel data.

Assignments (2)
MERGER Recorded Aug 22, 2019
From: SEAWEED SYSTEMS, INC.
To: PRESAGIS USA INC.
Reel/Frame 050131/0239 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 17, 2016
From: ENGBERG, BJORN
To: SEAWEED SYSTEMS
Reel/Frame 037505/0790 →
Continuity (2)
Continuation 11823849 · Jun 27, 2007
Related Publication 20120072812A1 · Mar 22, 2012