Error detection/correction code which detects and corrects a first failing component and optionally a second failing component
First Claim
1. A memory controller comprising:
- a check/correct circuit coupled to receive an encoded data block from a memory comprising a plurality of memory devices, the encoded data block including a plurality of check bits, wherein the check/correct circuit is configured to decode the encoded data block and to detect a failure of one of the plurality of memory devices responsive to decoding the encoded data block; and
a data remap control circuit coupled to receive an indication that the check/correct circuit has detected the failure of a failing memory device of the plurality of memory devices, wherein the data remap control circuit is configured to cause a remap of each of a plurality of encoded data blocks to avoid storing bits in the failing memory device, wherein each of the plurality of encoded data blocks has at least one bit stored in the failing memory device prior to remapping and has at least one other bit stored in a different memory device of the plurality of memory devices prior to the remapping.
2 Assignments
0 Petitions
Accused Products
Abstract
A memory controller includes a check/correct circuit and a data remap circuit. The check/correct circuit is coupled to receive an encoded data block from a memory comprising a plurality of memory devices. The encoded data block includes a plurality of check bits, and the check/correct circuit is configured to decode the encoded data block and to detect a failure of one of the plurality of memory devices responsive to decoding the encoded data block. The data remap control circuit is configured to cause a remap of each of a plurality of encoded data blocks to avoid storing bits in the failing memory device. A memory controller may also be configured to detect and correct a first failed memory device and a second failed memory device of the plurality of memory devices.
-
Citations
48 Claims
-
1. A memory controller comprising:
-
a check/correct circuit coupled to receive an encoded data block from a memory comprising a plurality of memory devices, the encoded data block including a plurality of check bits, wherein the check/correct circuit is configured to decode the encoded data block and to detect a failure of one of the plurality of memory devices responsive to decoding the encoded data block; and a data remap control circuit coupled to receive an indication that the check/correct circuit has detected the failure of a failing memory device of the plurality of memory devices, wherein the data remap control circuit is configured to cause a remap of each of a plurality of encoded data blocks to avoid storing bits in the failing memory device, wherein each of the plurality of encoded data blocks has at least one bit stored in the failing memory device prior to remapping and has at least one other bit stored in a different memory device of the plurality of memory devices prior to the remapping. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving an encoded data block from a memory comprising a plurality of memory devices, the encoded data block including a plurality of check bits; decoding the encoded data block; detecting a failure of one of the plurality of memory devices responsive to decoding the encoded data block; and remapping each of a plurality of encoded data blocks to avoid storing bits in the failing memory device, wherein each of the plurality of encoded data blocks has at least one bit stored in the failing memory device prior to the remapping and has at least one other bit stored in a different memory device of the plurality of memory devices prior to the remapping. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. An apparatus comprising:
-
means for decoding an encoded data block received from a memory comprising a plurality of memory devices, the encoded data block including a plurality of check bits; means for detecting a failure of one of the plurality of memory devices responsive to decoding the encoded data block; and means for remapping of each of a plurality of encoded data blocks to avoid storing bits in the failing memory device, wherein each of the plurality of encoded data blocks has at least one bit stored in the failing memory device prior to the remapping and has at least one other bit stored in a different memory device of the plurality of memory devices prior to the remapping.
-
-
23. A memory controller comprising:
-
a check bit encoder circuit coupled to receive a data block to be written to a memory comprising a plurality of memory devices, wherein the check bit encoder circuit is configured to encode the data block with a plurality of check bits to generate an encoded data block for storage in the memory, and wherein the plurality of check bits are defined to provide at least;
(i) detection and correction of a first failed memory device of the plurality of memory devices, and (ii) detection and correction of a second failed memory device of the plurality of memory devices following (i); anda check/correct circuit coupled to receive the encoded data block from the memory and configured to decode the encoded data block and perform at least the detection of (i) and (ii). - View Dependent Claims (24, 25, 26, 27, 28)
-
-
29. A method comprising:
-
receiving a data block to be written to a memory comprising a plurality of memory devices; and encoding the data block with a plurality of check bits to generate an encoded data block for storage in the memory, wherein the plurality of check bits are defined to provide at least;
(i) detection and correction of a first failed memory device of the plurality of memory devices, and (ii) detection and correction of a second failed memory device of the plurality of memory devices following (i). - View Dependent Claims (30, 31, 32, 33, 34, 35)
-
-
36. An apparatus comprising:
-
means for encoding a data block to be written to a memory comprising a plurality of memory devices with a plurality of check bits to generate an encoded data block for storage in the memory, wherein the plurality of check bits are defined to provide at least;
(i) detection and correction of a first failed memory device of the plurality of memory devices, and (ii) detection and correction of a second failed memory device of the plurality of memory devices following (i); andmeans for writing the encoded data block to the memory.
-
-
37. A communication system comprising:
-
a check/correct circuit coupled to receive an encoded data block from a transmission medium comprising a plurality of paths, the encoded data block including a plurality of check bits, wherein the check/correct circuit is configured to decode the encoded data block and to detect a failure of one of the plurality of paths responsive to decoding the encoded data block; and a check bit encoder circuit coupled to receive an indication that the check/correct circuit has detected the failure of a failing path of the plurality of paths, wherein the check bit encoder circuit is configured to encode subsequent data blocks to avoid transmitting bits on the failing path. - View Dependent Claims (39, 40, 41, 42, 43, 44)
-
-
38. A communication system comprising:
-
a check bit encoder circuit coupled to receive a data block to be transmitted via a transmission medium comprising a plurality of paths, wherein the check bit encoder circuit is configured to encode the data block with a plurality of check bits to generate an encoded data block for transmission, and wherein the plurality of check bits are defined to provide at least;
(i) detection and correction of a first failed path of the plurality of paths, and (ii) detection and correction of a second failed path of the plurality of paths following (i); anda check/correct circuit coupled to receive the encoded data block from the transmission medium and configured to decode the encoded data block and perform at least the detection of (i) and (ii). - View Dependent Claims (45, 46, 47, 48)
-
Specification