Redundant data storage using incremental error detection with non-zero seeds
AssigneeXilinx, Inc.
InventorsArindam Mahanty, Kaustuvmani Manji, Sebastian Turullols, Nagamurali Narasimha Rao Medeme
Life of this patent
Estimating the term…
Abstract
Redundant data storage includes performing a first data transfer to a first storage device as part of a redundant write operation. A first error detection code is generated for the first data transfer. A second data transfer is performed to a second storage device as part of the redundant write operation. A second error detection code is generated for the second data transfer. The first error detection code is compared with the second error detection code for a match indicating that data of the first data transfer matches data of the second data transfer.
Claims18
A method of redundant data storage, comprising:
- performing a first data transfer to a first storage device as part of a redundant write operation, wherein the first data transfer is a cut-through data transfer;
- generating a first error detection code for the first data transfer;
- performing a second data transfer to a second storage device as part of the redundant write operation, wherein the second data transfer is a cut-through data transfer;
- generating a second error detection code for the second data transfer;
- and
- comparing the first error detection code with the second error detection code for a match indicating data of the first data transfer matches data of the second data transfer;
- wherein the generating the first error detection code and the generating the second error detection code each include generating segment error detection codes on a per segment basis, combining the segment error detection codes into a result, and applying a seed to the result.
A device, comprising:
- a memory configured to store incremental error detection codes for a first data transfer and a second data transfer of a redundant write operation;
- a segment error code generator circuitry configured to generate segment error detection codes on a per segment basis for segments of the first data transfer and the second data transfer;
- a tracking circuit configured to provide parameters to the segment error code generator circuitry on a per segment basis based, at least in part, on an order of the segments as received for the first data transfer and the second data transfer;
- an adder circuit configured to generate a first incremental error detection code by combining the segment error detection codes of the first data transfer and generate a second incremental error detection code by combining the segment error detection codes of the second data transfer;
- a seed circuit configured to generate a first error detection code for the first data transfer by applying a seed to the first incremental error detection code and generate a second error detection code by applying the seed to the second incremental error detection code;
- and
- a comparison circuit configured to compare the first error detection code with the second error detection code.
A method, comprising:
- for each of a plurality of data transfers of a redundant storage operation:
- receiving a plurality of segments of data;
- subdividing each segment into a plurality of chunks;
- generating, in parallel, a plurality of sub-segment error detection codes corresponding to the plurality of chunks;
- for each segment, generating a segment error detection code by combining the plurality of sub-segment error detection codes for the segment;
- and
- generating an error detection code for each data transfer of the plurality of data transfers by combining each segment error detection code of the data transfer and applying a seed thereto;
- wherein each of the plurality of data transfers of the redundant storage operation is a cut-through data transfer.
Dependencies are inferred from the claim text.