# US 2018/0024878 A1 · Extracting selective information from on-die dynamic random access memory (dram) error correction code (ecc)

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

- Number: US 2018/0024878 A1
- Document ID: US20180024878A1
- Status: Published application
- Kind: A1
- Application number: 15/724,222
- Filed: 2017-10-03
- Published: 2018-01-25
- Earliest claimed: 2015-03-27
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Debaleena DAS; Bill NALE; Kuljit S. BAINS; John B. HALBERT
- Web page: https://patentgrep.com/patent/US20180024878A1

## CPC

- G06F 11/1048: {using arrangements adapted for a specific error detection or correction feature}
- G06F 11/00: Error detection; Error correction; Monitoring (error detection, correction or monitoring in information storage based on relative movement between record carrier and transducer G11B20/18; monitoring, i.e. supervising the progress of recording or reproducing G11B27/36; in static stores G11C29/00)
- G06F 11/1008: {in individual solid state devices (G06F11/1004 takes precedence)}
- G06F 11/1076: {Parity data used in redundant arrays of independent storages, e.g. in RAID systems}
- G06F 11/1084: {Degraded mode, e.g. caused by single or multiple storage removals or disk failures}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Error correction in a memory subsystem includes a memory device generating internal check bits after performing internal error detection and correction, and providing the internal check bits to the memory controller. The memory device performs internal error detection to detect errors in read data in response to a read request from the memory controller. The memory device selectively performs internal error correction if an error is detected in the read data. The memory device generates check bits indicating an error vector for the read data after performing internal error detection and correction, and provides the check bits with the read data to the memory controller in response to the read request. The memory controller can apply the check bits for error correction external to the memory device.

## Claims

### Claim at position 1

1-20. (canceled)

### Claim 21

A memory controller for performing error correction, comprising:
C/A (command/address) logic to generate a read command for an associated memory device, the read command including a request that internal check bits be returned with the read data;
I/O (input/output) hardware coupled to the memory device to send the read command to the associated memory device, to cause the associated memory device to perform internal error detection to detect errors in read data, selectively perform an internal error correction operation on the read data in response to detection of an error in read data, and generate check bits indicating an error vector for the read data after performance of internal error detection and correction; and the I/O hardware to receive the check bits with the read data in response to the read command; and
an error correction circuit to access the check bits for system error correction external to the associated memory device.

### Claim 22 (depends on 21)

The memory controller of claim 21, wherein the C/A logic is to generate a two cycle read command, with a read command to include the check bits, followed by a read column address strobe (CAS) command to indicate the associated memory device.

### Claim 23 (depends on 21)

The memory controller of claim 21, wherein the I/O hardware is to receive an error vector to indicate no errors in response to detection of no errors in the read data by the associated memory device.

### Claim 24 (depends on 21)

The memory controller of claim 21, wherein the I/O hardware is to receive an error vector to indicate no errors in response to detection of a single bit error in the read data by the associated memory device, wherein internal error detection and correction comprises performance of single bit error correction.

### Claim 25 (depends on 21)

The memory controller of claim 21, wherein the I/O hardware is to receive an error vector to indicate an uncorrected error in response to detection of a multibit error in the read data by the associated memory device, wherein internal error detection and correction comprises detection of the multibit error.

### Claim 26 (depends on 21)

The memory controller of claim 21, wherein the error correction circuit is to access the check bits as metadata for a single device data correction (SDDC) error checking and correction (ECC) operation performed on the read data in connection with parallel read data from an additional memory device.

### Claim 27

A system comprising:
multiple memory devices; and
a memory controller coupled to the memory devices, the memory controller including
C/A (command/address) logic to generate a read command for a selected one of the memory devices, the read command including a request that internal check bits be returned with the read data;
I/O (input/output) hardware coupled to the memory devices to send the read command to the selected memory device, to cause the selected memory device to perform internal error detection to detect errors in read data, selectively perform an internal error correction operation on the read data in response to detection of an error in read data, and generate check bits indicating an error vector for the read data after performance of internal error detection and correction; and the I/O hardware to receive the check bits with the read data in response to the read command; and
an error correction circuit to access the check bits for system error correction external to the selected memory device.

### Claim 28 (depends on 27)

The system of claim 27, wherein the C/A logic is to generate a two cycle read command, with a read command to include the check bits, followed by a read column address strobe (CAS) command to indicate the associated memory device.

### Claim 29 (depends on 27)

The system of claim 27, wherein the I/O hardware is to receive an error vector to indicate no errors in response to detection of no errors in the read data by the associated memory device.

### Claim 30 (depends on 27)

The system of claim 27, wherein the I/O hardware is to receive an error vector to indicate no errors in response to detection of a single bit error in the read data by the associated memory device, wherein internal error detection and correction comprises performance of single bit error correction.

### Claim 31 (depends on 27)

The system of claim 27, wherein the I/O hardware is to receive an error vector to indicate an uncorrected error in response to detection of a multibit error in the read data by the associated memory device, wherein internal error detection and correction comprises detection of the multibit error.

### Claim 32 (depends on 27)

The system of claim 27, wherein the error correction circuit is to access the check bits as metadata for a single device data correction (SDDC) error checking and correction (ECC) operation performed on the read data in connection with parallel read data from an additional memory device.

### Claim 33

A method for error correction in a memory subsystem, comprising:
generating a read command for an associated memory device, the read command including a request that internal check bits be returned with the read data;
sending the read command to the associated memory device, to cause the associated memory device to perform internal error detection to detect errors in read data, selectively perform an internal error correction operation on the read data in response to detection of an error in read data, and generate check bits indicating an error vector for the read data after performance of internal error detection and correction;
receiving the check bits with the read data in response to the read command; and
accessing the check bits for system error correction external to the associated memory device.

### Claim 34 (depends on 33)

The method of claim 33, wherein sending the read command comprises generating a two cycle read command, with a read command to include the check bits, followed by a read column address strobe (CAS) command to indicate the associated memory device.

### Claim 35 (depends on 33)

The method of claim 33, wherein receiving the check bits comprises receiving an error vector to indicate no errors in response to detection of no errors in the read data by the associated memory device.

### Claim 36 (depends on 33)

The method of claim 33, wherein receiving the check bits comprises receiving an error vector to indicate no errors in response to detection of a single bit error in the read data by the associated memory device, wherein internal error detection and correction comprises performance of single bit error correction.

### Claim 37 (depends on 33)

The method of claim 33, wherein receiving the check bits comprises receiving an error vector to indicate an uncorrected error in response to detection of a multibit error in the read data by the associated memory device, wherein internal error detection and correction comprises detection of the multibit error.

### Claim 38 (depends on 33)

The method of claim 33, wherein accessing the check bits for system error correction comprises accessing the check bits as metadata for a single device data correction (SDDC) error checking and correction (ECC) operation performed on the read data in connection with parallel read data from an additional memory device.
