# US 10,872,011 B2 · Internal error checking and correction (ECC) with extra system bits

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,872,011 B2
- Document ID: US10872011B2
- Status: Granted
- Kind: B2
- Application number: 15/540,798
- Filed: 2017-05-02
- Published: 2018-07-26
- Granted: 2020-12-22
- Earliest claimed: 2016-05-02
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Kuljit S. Bains; Bill Nale; Rajat Agarwal
- Web page: https://patentgrep.com/patent/US10872011B2

## CPC

- G06F 11/1068: {in sector programmable memories, e.g. flash disk (G06F11/1072 takes precedence)}
- G06F 11/1012: {using codes or arrangements adapted for a specific type of error (G06F11/1048 takes precedence)}
- G11C 11/409: Read-write [R-W] circuits
- G11C 11/4093: Input/output [I/O] data interface arrangements, e.g. data buffers
- G11C 29/52: Protection of memory contents; Detection of errors in memory contents
- G11C 7/1006: {Data managing, e.g. manipulating data before writing or reading out, data bus switches or control circuits therefor}
- G11C 29/42: using error correcting codes [ECC] or parity check
- G11C 2029/0411: {Online error correction}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- G11C: STATIC STORES (semiconductor memory devices H10B)

## 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

### Claim 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.

### Claim 2 (depends on 1)

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

### Claim 3 (depends on 2)

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.

### Claim 4 (depends on 2)

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.

### Claim 5 (depends on 1)

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.

### Claim 6 (depends on 1)

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.

### Claim 7 (depends on 1)

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.

### Claim 8 (depends on 7)

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

### Claim 9 (depends on 8)

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.

### Claim 10 (depends on 9)

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.

### Claim 11 (depends on 8)

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.

### Claim 12 (depends on 7)

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

### Claim 13 (depends on 7)

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

### Claim 14 (depends on 1)

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

### Claim 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.

### Claim 16 (depends on 15)

The system of claim 15, wherein N is 8.

### Claim 17 (depends on 16)

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.

### Claim 18 (depends on 16)

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.

### Claim 19 (depends on 15)

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.

### Claim 20 (depends on 15)

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.

### Claim 21 (depends on 15)

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

### Claim 22 (depends on 15)

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

### Claim 23 (depends on 15)

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.
