Error detection and recovery of data in striped channels
First Claim
Patent Images
1. An apparatus, comprising:
- a transmission module to split a data segment into a plurality of data stripes and transmit each data stripe over an associated data channel, wherein the plurality of data channels are organized into at least one group and each group has an associated parity channel to transmit a parity stripe, the parity stripe being generated based on the data stripes within the group;
a reception module to receive the plurality of data stripes over the appropriate data channels and the at least one parity stripe over the parity channel and to recreate the data segment based on the received data stripes, wherein said reception module checks for errors within each stripe, and wherein said reception module tracks number of errors per serial channel and compares to a threshold; and
a controller to control the operation of the apparatus, wherein said controller deactivates a serial channel if the number of errors in the serial channel exceeds the threshold and informs said transmission module and said reception module of the deactivation,wherein said transmission module reconfigures generation of data stripes and parity stripes to either split the data segment into less data stripes or reduce number of parity stripes generated, and wherein said transmission module transmits the reconfigured combination of data stripes and parity stripes over the remaining serial channels, andwherein said reception module receives the reconfigured combination of data stripes and parity stripes over the remaining serial channels and recreates the data segment based on the received data stripes.
1 Assignment
0 Petitions
Accused Products
Abstract
In general, in one aspect, the disclosure describes an apparatus that includes a transmission module to split a data segment into a plurality of data stripes and transmit each data stripe over an associated data channel. The plurality of data channels are organized into at least one group and each group has an associated parity channel to transmit a parity stripe generated based on the data stripes within the group. The apparatus also includes a reception module to receive the plurality of data stripes and the at least one parity stripe. The apparatus further includes a controller to control the operation of the apparatus.
-
Citations
37 Claims
-
1. An apparatus, comprising:
-
a transmission module to split a data segment into a plurality of data stripes and transmit each data stripe over an associated data channel, wherein the plurality of data channels are organized into at least one group and each group has an associated parity channel to transmit a parity stripe, the parity stripe being generated based on the data stripes within the group; a reception module to receive the plurality of data stripes over the appropriate data channels and the at least one parity stripe over the parity channel and to recreate the data segment based on the received data stripes, wherein said reception module checks for errors within each stripe, and wherein said reception module tracks number of errors per serial channel and compares to a threshold; and a controller to control the operation of the apparatus, wherein said controller deactivates a serial channel if the number of errors in the serial channel exceeds the threshold and informs said transmission module and said reception module of the deactivation, wherein said transmission module reconfigures generation of data stripes and parity stripes to either split the data segment into less data stripes or reduce number of parity stripes generated, and wherein said transmission module transmits the reconfigured combination of data stripes and parity stripes over the remaining serial channels, and wherein said reception module receives the reconfigured combination of data stripes and parity stripes over the remaining serial channels and recreates the data segment based on the received data stripes. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A store and forward device for striping data over a plurality of serial channels, the device comprising:
-
a plurality of interface cards to receive and transmit data; a backplane connecting the plurality of cards together via a plurality of serial channels; a transmission module to split a data segment into a plurality of data stripes and transmit each data stripe over an associated data channel, wherein the plurality of data channels are organized into at least one group and each group has an associated parity channel to transmit a parity stripe, the parity stripe being generated based on the data stripes within the group; a reception module to receive the plurality of data stripes over the appropriate data channels and the at least one parity stripe over the parity channels, to check for errors within each stripe, and to recreate the data segment based on the received data stripes; and a controller to control the operation of the apparatus, wherein said controller deactivates a serial channel if the number of errors in the serial channel exceeds a threshold and informs said transmission module and said reception module of the deactivation, wherein said transmission module reconfigures generation of data stripes and parity stripes to either split the data segment into less data stripes or reduce number of parity stripes generated, and wherein said transmission module transmits the reconfigured combination of data stripes and parity stripes over the remaining serial channels, and wherein said reception module receives the reconfigured combination of data stripes and parity stripes over the remaining serial channels and recreates the data segment based on the received data stripes. - View Dependent Claims (9, 10, 11)
-
-
12. An apparatus, comprising:
-
a transmission module to split a data segment into a plurality of data stripes, generate an error code for each data stripe, and transmit the data stripes and the associated error codes over associated serial channels; a reception module to receive the data stripes and the associated error codes over the associated serial channels, compute error codes for each data stripe, compare the computed error codes to the transmitted error codes to detect errors, to recreate the data segment based on the received data stripes, and to track number of errors per serial channel; and a controller to control the operation of the apparatus, wherein said controller deactivates a serial channel if the number of errors in the serial channel exceeds a threshold and informs said transmission module and said reception module of the deactivation, wherein said transmission module reconfigures generation of data stripes to split the data segment into less data stripes, and wherein said transmission module transmits the reconfigured data stripes over the remaining serial channels, and wherein said reception module receives the reconfigured data stripes over the remaining serial channels and recreates the data segment based on the received data stripes. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An apparatus, comprising:
-
a transmission module to stripe data segments over a plurality of serial channels, wherein striping includes splitting the data segments into a plurality of data stripes, adding error detection to the data stripes, creating at least one parity stripe for the data stripes, and transmitting the plurality of data stripes and the at least one parity stripe over the plurality of serial channels; a reception module to receive the data stripes and the at least one parity stripe over the plurality of serial channels and to recreate the data segment based on the received data stripes, wherein said reception module checks for errors within each data stripe and can correct for single data stripe errors using the parity stripe, and wherein said reception module tracks number of errors per serial channel; and a controller to control the operation of the apparatus, wherein said controller deactivates a serial channel having the number of errors exceed a threshold and informs said transmission module and said reception module of the deactivation, wherein said transmission module reconfigures generation of data stripes and parity stripes to either split the data segment into less data stripes or reduce number of parity stripes generated, and wherein said transmission module transmits the reconfigured combination of data stripes and parity stripes over the remaining serial channels, and wherein said reception module receives the reconfigured combination of data stripes and parity stripes over the remaining serial channels and recreates the data segment based on the received data stripes. - View Dependent Claims (19, 20, 21, 22, 23)
-
-
24. A method comprising:
-
striping data segments over a plurality of serial channels, wherein said striping includes splitting the data segments into a plurality of data stripes and adding error detection to the data stripes; creating at least one parity stripe for the data stripes making up a data segment; transmitting the parity stripe along with the data stripes; receiving the data stripes and the at least one parity stripe over the plurality of serial channels; checking for errors within each data stripe; correcting single data stripe errors using the parity stripe; recreating the data segment based on the received data stripes; tracking number of errors per serial channel and if the number of errors exceed a threshold for a particular serial channel; deactivating the particular serial channel; modifying number of data stripes data segments are split into or number of parity stripes created for data segments; transmitting the modified combination of data stripes and parity stripes over the remaining serial channels; receiving the modified combination of data stripes and parity stripes over the remaining serial channels; and recreating the data segment based on the received data stripes. - View Dependent Claims (25, 26, 27, 28, 29)
-
-
30. An apparatus, comprising:
-
a transmission module to split a data segment into a plurality of data stripes and transmit each data strip over an associated serial channel; a reception module to receive the plurality of data stripes over the associated serial channels, to recreate the data segment based on the received data stripes, to check the data stripes for errors, and track number of errors per serial channel; and a controller to monitor the number of errors per serial channel and compare to a threshold, wherein if the threshold is exceeded for a certain serial channel said controller deactivates the certain serial channel and informs said transmission module and said reception module of the deactivation, wherein said transmission module reconfigures generation of data stripes to split the data segment into less stripes, and wherein said transmission module transmits the reconfigured data stripes over the remaining serial channels, and wherein said reception module receives the reconfigured data stripes over the remaining serial channels and recreates the data segment based on the received data stripes. - View Dependent Claims (31, 32)
-
-
33. An apparatus, comprising:
-
a transmission module to split a data segment into a plurality of data stripes, organize the plurality of data stripes into at least one group, generate a parity stripe for each group based on the data stripes within the group, and transmit the plurality of data stripes and the at least one parity stripe over associated serial channels; a reception module to receive the plurality of data stripes and the at least one parity stripe from the associated serial channels, recreate the data segment based on the received data stripes, check for errors in the plurality of data stripes and the at least one parity stripe, and track number of errors per serial channel; and a controller to monitor the number of errors per serial channel and compare to a threshold, wherein if the threshold is exceeded for a certain serial channel said controller deactivates the certain serial channel and informs said transmission module and said reception module of the deactivation, wherein said transmission module reconfigures generation of data stripes and parity stripes to either split the data segment into less data stripes or reduce number of parity stripes generated, and wherein said transmission module transmits the reconfigured combination of data stripes and parity stripes over the remaining serial channels, and wherein said reception module receives the reconfigured combination of data stripes and parity stripes over the remaining serial channels and recreates the data segment based on the received data stripes. - View Dependent Claims (34, 35, 36, 37)
-
Specification