COMPLETELY UTILIZING HAMMING DISTANCE FOR SECDED BASED ECC DIMMS
First Claim
1. A method comprising:
- receiving a burst-specific content from each burst in a plurality of bursts from a memory module, wherein the burst-specific content includes a first pre-determined number of bits of burst-specific data along with corresponding bits of burst-specific Error Correcting Code (ECC);
storing the burst-specific content from each burst in the plurality of bursts; and
using all received ECC bits as part of a Single Error Correction Double Error Detection (SECDED) code to correct more than one error in the first pre-determined number of bits of burst-specific data from at least one of the plurality of bursts.
1 Assignment
0 Petitions
Accused Products
Abstract
In an Error Correction Code (ECC)-based memory, a Single Error Correction Double Error Detection (SECDED) scheme is used with data aggregation to correct more than one error in a memory word received in a memory burst. By completely utilizing the Hamming distance of the SECDED (128,120) code, 8 ECC bits can potentially correct one error in 120 data bits. Each memory burst is effectively “expanded” from its actual 64 data bits to 120 data bits by “sharing” additional 56 data bits from all of the other related bursts. When a cache line of 512 bits is read, the SECDED (128,120) code is used in conjunction with all the received 64 ECC bits to correct more than one error in the actual 64 bits of data in a memory word. The data mapping of the present disclosure translates to a higher rate of error correction than the existing (72,64) SECDED code.
21 Citations
22 Claims
-
1. A method comprising:
-
receiving a burst-specific content from each burst in a plurality of bursts from a memory module, wherein the burst-specific content includes a first pre-determined number of bits of burst-specific data along with corresponding bits of burst-specific Error Correcting Code (ECC); storing the burst-specific content from each burst in the plurality of bursts; and using all received ECC bits as part of a Single Error Correction Double Error Detection (SECDED) code to correct more than one error in the first pre-determined number of bits of burst-specific data from at least one of the plurality of bursts. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A memory controller comprising:
-
a control unit; a buffer coupled to the control unit, wherein the buffer is operative by the control unit to; receive a burst-specific content from each burst in a plurality of bursts from a memory module, wherein the burst-specific content includes a pre-determined number of bits of burst-specific data along with corresponding bits of burst-specific Error Correcting Code (ECC), and store the burst-specific content from each burst in the plurality of bursts; and a decoder unit coupled to the buffer and the control unit, wherein the decoder unit is operative by the control unit to; use all received ECC bits as part of a Single Error Correction Double Error Detection (SECDED) (128,120) code to correct more than one error in the pre-determined number of bits of burst-specific data from at least one of the plurality of bursts. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17-19. -19. (canceled)
-
20. A system comprising:
-
a memory module configured to store electronic content; and a processor coupled to the memory module and configured to perform a memory read operation on the memory module, wherein, as part of the memory read operation, the processor is operative to perform the following; receive a burst-specific content from each burst in a plurality of bursts from the memory module, wherein all bursts in the plurality of bursts together comprise the memory read operation, and wherein the burst-specific content includes a first pre-determined number of bits of burst-specific data along with corresponding bits of burst-specific Error Correcting Code (ECC), store the burst-specific content from each burst in the plurality of bursts, use all received ECC bits as part of a Single Error Correction Double Error Detection (SECDED) code to correct more than one error in the first pre-determined number of bits of burst-specific data from at least one of the plurality of bursts, wherein, as part of using all the received ECC bits, the processor is further operative to perform the following for each burst in the plurality of bursts; select a burst-specific second pre-determined number of bits of data from all other bursts in the plurality of bursts, wherein a total of the first pre-determined number of bits and the second pre-determined number of bits is at least 120, and apply the bits of burst-specific ECC to the corresponding first pre-determined number of bits of burst-specific data as well as to the burst-specific second pre-determined number of bits of data. - View Dependent Claims (21, 22)
-
Specification