IP Library Granted Patent US 10,956,262
Granted Patent B2
US 10,956,262 · App. 16/353,962 · Granted Mar 23, 2021

Deferred error code correction with improved effective data bandwidth performance

Inventor: Gil Golov (Backnang, DE)
Assignee: Micron Technology, Inc.
G06F11/1068G06F12/0804G11C29/52G06F3/0656G06F11/073G06F11/1052G06F2212/1032G06F2212/608G11C11/40607G11C29/42G11C2207/2245G11C2211/4062H03M13/098H03M13/11
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,956,262
App. No.
16/353,962
Granted
Mar 23, 2021
Kind
B2
Abstract

A deferred error correction code (ECC) scheme for memory devices is disclosed. In one embodiment, a method is disclosed comprising starting a deferred period of operation of a memory system in response to detecting the satisfaction of a condition; receiving an operation during the deferred period, the operation comprising a read or write operation access one or more memory banks of the memory system; deferring ECC operations for the operation; executing the operation; detecting an end of the deferred period of operation; and executing the ECC operations after the end of the deferred period.

Claims (81)

1. A method comprising:

starting a deferred period of operation of a memory system in response to detecting the satisfaction of a condition;

receiving an operation from a processor during the deferred period, the operation comprising a read or write operation access one or more memory banks of the memory system;

executing the operation and issuing a command to a memory bank of the memory system, wherein the command does not include error code correction (ECC) data;

generating ECC data prior to receiving a response to the command from the memory bank;

caching the ECC data in a local cache;

returning a result of the command to the processor while the ECC data is present in the local cache;

detecting an end of the deferred period of operation; and

executing the ECC operations after the end of the deferred period.

2. The method of claim 1 , the detecting the satisfaction of the condition comprising detecting one of:

a receipt of a second command to start the deferred period from the processor; or

a data bus utilization above a predetermined threshold.

3. The method of claim 1 , the detecting the end of the deferred period comprising detecting one of:

a receipt of a third command to stop the deferred period from the processor;

a data bus utilization below a predetermined threshold; or

the local cache is full.

4. The method of claim 1 , the operation comprising a write operation and the generating ECC data comprising:

generating ECC parity bits based on data in the write operation; and

storing the ECC parity bits and an address associated with the data in the local cache.

5. The method of claim 4 , the executing the ECC operations comprising writing the ECC parity bits to the memory bank using the address.

6. The method of claim 1 , the operation comprising a read operation and the generating ECC data comprising:

generating an ECC syndrome based on data in the read operation; and

storing the ECC syndrome and an address associated with the data in the local cache.

7. The method of claim 5 , the executing the ECC operations comprising:

detecting a mismatch using the ECC syndrome; and

in response to detecting the mismatch, alerting the processor that an error executing the read operation occurred.

8. A non-transitory computer-readable storage medium for tangibly storing computer program instructions capable of being executed by a computer processor, the computer program instructions defining the steps of:

starting a deferred period of operation of a memory system in response to detecting the satisfaction of a condition;

receiving an operation from a host processor during the deferred period, the operation comprising a read or write operation access one or more memory banks of the memory system;

executing the operation and issuing a command to a memory bank of the memory system, wherein the command does not include error code correction (ECC) data;

generating ECC data prior to receiving a response to the command from the memory bank;

caching the ECC data in a local cache;

returning a result of the command to the host processor while the ECC data is present in the local cache;

detecting an end of the deferred period of operation; and

executing the ECC operations after the end of the deferred period.

9. The non-transitory computer-readable storage medium of claim 8 , the detecting the satisfaction of the condition comprising detecting one of;

a receipt of a second command to start the deferred period from the host processor; or

a data bus utilization above a predetermined threshold.

10. The non-transitory computer-readable storage medium of claim 8 , the detecting the end of the deferred period comprising detecting one of:

a receipt of a third command to stop the deferred period from the host processor;

a data bus utilization below a predetermined threshold; or

the local cache is full.

11. The non-transitory computer-readable storage medium of claim 8 , the operation comprising a write operation and the generating ECC comprising:

generating ECC parity bits based on the. data in the write operation; and

storing the ECC parity bits and an address associated with the data in the local cache.

12. The non-transitory computer-readable storage medium of claim 11 , the executing the ECC operations comprising writing the ECC parity bits to the memory bank using the address.

13. The non-transitory computer-readable storage medium of claim 8 , the operation comprising a read operation and the generating ECC data comprising:

generating an ECC syndrome based on data in the read operation; and

storing the ECC syndrome and an address associated with the data in the local cache.

14. The non-transitory computer-readable storage medium of claim 13 , the executing the ECC operations comprising:

detecting a mismatch using the ECC syndrome; and

in response to detecting the mismatch, alerting the host processor that an error executing the read operation occurred.

15. A memory system comprising:

a plurality of memory banks;

a bus connected to the memory banks; and

a controller connected to the bus, the controller configured to perform the operations of:

starting a deferred period of operation from a processor of the memory system in response to detecting the satisfaction of a condition;

receiving an operation during the deferred period, the operation comprising a read or write operation access the memory banks;

executing the operation and issuing a command to the memory banks of the memory system, wherein the command does not include error code correction (ECC) data;

generating ECC data prior to receiving a response to the command from the memory bank;

caching the ECC data in a local cache;

returning a result of the command to the processor while the ECC data is present in the local cache;

detecting an end of the deferred period of operation; and

executing the ECC operations after the end of the deferred period.

16. The memory system of claim 15 , the detecting the satisfaction of the condition comprising detecting one of:

a receipt of a second command to start the deferred period from the processor; or

a data utilization of the bus above a predetermined threshold.

17. The memory system of claim 15 , the detecting the end of the deferred period comprising detecting one of:

a receipt of a third command to stop the deferred period from the processor;

a data utilization of the bus below a predetermined threshold; or

the local cache is full.

18. The memory system of claim 15 , the operation comprising a write operation and the generating ECC data comprising:

generating ECC parity bits based on data in the write operation; and

storing the ECC parity bits and an address associated with the data in the local cache.

19. The memory system of claim 18 , the executing the ECC operations comprising writing the ECC parity bits to the memory bank using the address.

20. The memory system of claim 15 , the operation comprising a read operation and the generating ECC data comprising:

generating an ECC syndrome based on data in the read operation; and

storing the ECC syndrome and an address associated with the data in the local cache.

21. The memory system of claim 20 , the executing the ECC operations comprising:

detecting a mismatch using the ECC syndrome; and

in response to detecting the mismatch, alerting a processor that an error executing the read operation occurred.

Assignments (5)
RELEASE OF SECURITY INTEREST Recorded Nov 15, 2019
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 051041/0317 →
RELEASE OF SECURITY INTEREST Recorded Oct 14, 2019
From: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
To: MICRON TECHNOLOGY, INC.
Reel/Frame 050724/0392 →
SUPPLEMENT NO. 12 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 048948/0677 →
SUPPLEMENT NO. 3 TO PATENT SECURITY AGREEMENT Recorded Apr 19, 2019
From: MICRON TECHNOLOGY, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 048951/0902 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 9, 2019
From: GOLOV, GIL
To: MICRON TECHNOLOGY, INC.
Reel/Frame 048837/0847 →
Continuity (1)
Related Publication 20200293396A1 · Sep 17, 2020
Cited By (1)
US 12,505,014