Byte level protection in PCI-Express devices
AssigneeQLOGIC, Corporation
InventorsBradley S. Sonksen, Vi Chau
Life of this patent
Estimating the term…
Abstract
Method and system for protecting data in a PCI-Express device is provided. The method includes adding error correction code (ECC) to every byte of data that enters a PCI-Express Transaction Handler (“PTH”) Module and is destined for a host system memory or destined to another device, before the data is aligned within the PTH module; verifying the ECC code for every byte of the data before the data leaves the PTH module; and generating the ECC code for a data block size, wherein the data block size depends on the destination of the data.
Claims21
A method for protecting data in a PCI-Express device, comprising:
- (a) receiving data at a PCI-Express Transaction Handler (“PTH”) Module for the PCI-Express device;
- (b) verifying a first error correction code (“ECC”) for the received data;
- (c) before data is aligned by the PTH module, generating ECC for every byte of data that is received in step (a);
- (d) aligning the data after the ECC is generated in step (c);
- (e) without having to regenerate ECC for the aligned data, verifying the ECC generated in step (c) after the data is aligned;
- and
- (f) before sending the data to a destination, generating ECC code for a data block size, wherein the data block size depends on the destination of the data.
A PCI-Express device coupled to a host system via a PCI Express bus and to a device via a network connection, comprising:
- a PCI-Express Transaction Handler (“PTH”) Module that is configured to:
- (a) receive data;
- (b) verify a first error correction code (“ECC”) for the received data;
- (c) before data is aligned by the PTH module, generate ECC for every byte of data that is received by the PTH Module;
- (d) align the data after the ECC is generated by the PTH Module;
- (e) verify the ECC generated in (c) after the data is aligned, without having to regenerate ECC for the aligned data;
- and (f) before sending the data, generate ECC code for a data block size;
- wherein the data block size depends on a destination of the data.
An adapter coupled to a host system and to a device via a network connection, comprising:
- a transaction handler configured to:
- (a) receive data;
- (b) verify a first error correction code (“ECC”) for the received data;
- (c) before data is aligned by the transaction handler, generate ECC for every byte of data that is received by the transaction handler;
- (d) align the data after the ECC is generated by the transaction handler;
- (e) verify the ECC generated in (c) after the data is aligned, without having to regenerate ECC for the aligned data;
- and (f) before sending the data, generate ECC code for a data block size;
- wherein the data block size depends on a destination of the data.
Dependencies are inferred from the claim text.