IP Library Granted Patent US 10,872,011
Granted Patent B2
US 10,872,011 · App. 15/540,798 · Granted Dec 22, 2020

Internal error checking and correction (ECC) with extra system bits

Inventors: Kuljit S. Bains (Olympia, WA); Bill Nale (Livermore, CA); Rajat Agarwal (Beaverton, OR)
Assignee: Intel Corporation
G06F11/1068G06F11/1012G11C11/409G11C11/4093G11C29/52G11C7/1006G11C29/42G11C2029/0411
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,872,011
App. No.
15/540,798
Granted
Dec 22, 2020
Kind
B2
Abstract

A memory subsystem includes a data bus to couple a memory controller to one or more memory devices. The memory controller and one or more memory devices transfer data for memory access operations. The data transfer includes the transfer of data bits and associated check bits over a transfer cycle burst. The memory devices include internal error checking and correction (ECC) separate from the system ECC managed by the memory controller. With a 2N transfer cycle for 2{circumflex over ( )}N data bits for a memory device, the memory devices can provide up to 2N memory locations for N+1 internal check bits, which can leave up to (2N minus (N+1)) extra bits to be used by the system for more robust ECC.

Claims (37)

1. A dynamic random access memory (DRAM) device, comprising:

a memory array with addressable memory locations;

an internal error checking and correction (ECC) circuit to perform internal ECC, including to generate and apply check bits within the DRAM device, wherein the memory array is to provide 2N memory locations for N+1 internal check bits for internal ECC of 2{circumflex over ( )}N data bits, where N is an integer greater than 1; and

a hardware input/output interface to couple to a memory controller, wherein the input/output interface is to provide access to the memory controller to one or more of the 2N memory locations not used by the N+1 internal check bits as extra bits for system ECC information, wherein the system ECC information is separate from the internal ECC, wherein the DRAM device is to exchange between the memory array and the memory controller a portion of the 2{circumflex over ( )}N data bits and bits for the one or more 2N memory locations not used by the N+1 internal check bits over a 2N transfer cycle burst.

2. The DRAM device of claim 1 , wherein N is 8.

3. The DRAM device of claim 2 , wherein the memory array is to provide the 16 memory locations over four cachelines, wherein the four cachelines include one extra bit.

4. The DRAM device of claim 2 , wherein the memory array is to provide the 16 memory locations over four cachelines, wherein at least one of the four cachelines includes two extra bits.

5. The DRAM device of claim 1 , wherein the internal ECC circuit is to perform single bit error (SBE) correction independent of system ECC managed by the memory controller.

6. The DRAM device of claim 1 , wherein the input/output interface is to exchange data bits with the memory controller in connection with a memory access operation, wherein the extra bits are exchanged at a slower bit rate than the data bits.

7. The DRAM device of claim 1 , wherein the input/output interface is to couple in parallel with M additional DRAM devices over a data bus to the memory controller, where M is an integer greater than 1, and wherein the M+1 DRAM devices are to exchange a portion of the 2{circumflex over ( )}N data bits to the memory controller over the 2N transfer cycle burst.

8. The DRAM device of claim 7 , wherein M is 8 for nine total DRAM devices.

9. The DRAM device of claim 8 , wherein the data bus comprises a 40 bit channel, with 4 DRAM devices having a ×5 data bus interface, and 5 DRAM devices having a ×4 data bus interface.

10. The DRAM device of claim 9 , wherein the DRAM devices with the ×5 data bus interface are to exchange data bits on four of the five signal lines of the ×5 interface, and to exchange the extra bits on the fifth signal line.

11. The DRAM device of claim 8 , wherein the data bus comprises a 36 bit channel, wherein the transfer cycle burst includes at least an extra cycle burst to transfer the extra bits.

12. The DRAM device of claim 7 , wherein the DRAM devices comprise DRAM devices on a dual inline memory module (DIMM).

13. The DRAM device of claim 7 , wherein the DRAM device comprises one of multiple DRAM dies in a multichip memory package.

14. The DRAM device of claim 1 , wherein the DRAM device comprises a DRAM device compatible with a double data rate (DDR) standard.

15. A system comprising:

a data bus of signal lines;

a memory controller coupled to the data bus; and

M dynamic random access memory (DRAM) devices coupled to the memory controller in parallel via the data bus, where M is an integer greater than 1, the DRAM devices including:

a memory array with addressable memory locations;

an internal error checking and correction (ECC) circuit to perform internal ECC, including to generate and apply check bits within the DRAM device, wherein the memory array is to provide 2N memory locations for N+1 internal check bits for internal ECC of 2{circumflex over ( )}N data bits, where N is an integer greater than 1; and

a hardware input/output interface coupled to the memory controller via the data bus, wherein the input/output interface is to provide access to the memory controller to one or more of the 2N memory locations not used by the N+1 internal check bits as extra bits for system ECC information, wherein the system ECC information is separate from the internal ECC;

wherein the M DRAM devices are to exchange the 2{circumflex over ( )}N data bits and bits for the one or more 2N memory locations not used by the N+1 internal check bits over a 2N transfer cycle burst.

16. The system of claim 15 , wherein N is 8.

17. The system of claim 16 , wherein the memory array is to provide the 16 memory locations over four cachelines, wherein the four cachelines include one extra bit.

18. The system of claim 16 , wherein the memory array is to provide the 16 memory locations over four cachelines, wherein at least one of the four cachelines includes two extra bits.

19. The system of claim 15 , wherein the input/output interface is to exchange data bits with the memory controller in connection with a memory access operation, wherein the extra bits are exchanged at a slower bit rate than the data bits.

20. The system of claim 15 , wherein M is 8 for nine total DRAM devices, and wherein the data bus comprises a 40 bit channel, with 4 DRAM devices having a ×5 data bus interface, and 5 DRAM devices having a ×4 data bus interface.

21. The system of claim 15 , wherein the DRAM devices comprise memory devices on a dual inline memory module (DIMM).

22. The system of claim 15 , wherein the DRAM device comprises a DRAM device compatible with a double data rate (DDR) standard.

23. The system of claim 15 , further comprising one or more of

a multicore processor coupled to the memory controller;

a network adapter coupled to exchange data between the DRAM devices and a remote network location;

a display communicatively coupled to a processor; or

a battery to provide power to the system.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 17, 2017
From: BAINS, KULJIT S.; NALE, BILL; AGARWAL, RAJAT
To: INTEL CORPORATION
Reel/Frame 043016/0288 →
Continuity (2)
Provisional Application 62330338 · May 2, 2016
Related Publication 20180210787A1 · Jul 26, 2018
Cited By (26)
US 50,742 US 12,212,339 US 12,379,855 US 12,475,965 US 12,488,815 US 12,488,853 US 12,499,966 US 12,511,191 US 12,512,176 US 12,524,298 US 12,524,306 US 12,530,261 US 12,536,096 US 12,541,425 US 12,541,429 US 12,579,026 US 12,608,270 US 12,613,769 US 12,613,774 US 12,619,496 US 12,646,583 US 12,664,050 US 12,669,935 US 12,670,063 US 12,699,629 US 12,712,047