IP Library › Granted Patent US 11,748,194
Granted Patent B2
US 11,748,194 · App. 17/554,505 · Granted Sep 5, 2023

Error correcting memory systems

Inventors: Yu Lu (San Diego, CA); Chieh-yu Lin (San Diego, CA)
Assignee: SuperMem, Inc.
G06F11/1068G11C29/52G11C11/161
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 11,748,194
App. No.
17/554,505
Granted
Sep 5, 2023
Kind
B2
Abstract

Error correcting memory systems and methods of operating the memory systems are disclosed. In some embodiments, a memory system includes: a data memory; an ECC memory; and a data scrubbing circuit electrically coupled to the ECC memory and the data memory. The data scrubbing circuit may be configured to, in response to receiving a scrub data command, correct an error in the data memory. A code word length used to correct the error may be longer than a word length used during normal access of the data memory. In some embodiments, a memory system includes a first memory circuit associated with a first bit error rate and a second memory circuit associated with a second bit error rate. In some embodiments, a memory system includes an error correctable multi-level cell (MLC) array.

Claims (70)

1. A memory system, comprising:

a data memory;

an ECC memory; and

a data scrubbing circuit electrically coupled to the ECC memory and the data memory,

wherein the data scrubbing circuit is configured to:

receive a protect command for data; and

in response to receiving the protect command, for each data word in the data to be protected:

perform ECC encoding computation on the data word;

generate ECC check bits based on the ECC encoding computation; and

write the generated ECC check bits to a corresponding partition in the ECC memory.

2. The memory system of claim 1 , wherein the data scrubbing circuit is configured to generate a scrub data command in accordance with a determination that a bit error rate threshold is reached.

3. The memory system of claim 1 , wherein the data scrubbing circuit is configured to correct an error in the data memory while the data memory is concurrently accessed.

4. The memory system of claim 3 , wherein a code word length used to correct the error is longer than a word length used during normal access of the data memory.

5. The memory system of claim 1 , further comprising an environmental disturbance sensor configured to detect an environmental condition, and wherein the data scrubbing circuit generates a scrub data command based on the detected environmental condition.

6. The memory system of claim 5 , wherein the environmental condition includes at least one of a temperature and a magnetic field.

7. The memory system of claim 1 , wherein the data scrubbing circuit is configured to detect change in known data and generate a scrub data command based on the detection of the change.

8. The memory system of claim 1 , wherein:

the ECC memory includes a set of registers, wherein:

each register corresponds to an ECC code word,

each ECC code word corresponds to a section in the data memory, and

each register stores a state of the section.

9. The memory system of claim 1 , wherein (1) the data memory, (2) the ECC memory, or (3) both the data memory and the ECC memory comprise magnetic random-access memory (MRAM).

10. The memory system of claim 1 , wherein at least one selected from the data memory and the ECC memory include a memory unit cell including a magnetic tunnel junction (MTJ) having a property selected from reduced dimension, reduced coercive field, reduced magnetic anisotropy, and reduced saturation magnetization compared to a memory unit cell having a bit error rate between 10 −12 and 10 −2 .

11. The memory system of claim 10 , wherein the MJT has two properties selected from reduced dimension, reduced coercive field, reduced magnetic anisotropy, and reduced saturation magnetization compared to a memory unit cell having a bit error rate between 10 −12 and 10 −2 .

12. The memory system of claim 1 , wherein:

the data scrubbing circuit or a host is configured to determine whether the data memory is protected, and

the ECC memory is configured to:

in accordance with a determination that the data memory is protected, store ECC check-bits; and

in accordance with a determination that the data memory is not protected, store computing data.

13. The memory system of claim 1 , wherein the data scrubbing circuit is further configured to:

in response to receiving the protect command, for each data word in the data to be protected:

identify an address for a data code word associated with the data word;

determine, based on the address, whether the data word is in a data memory;

in accordance with a determination that the data word is in the data memory, read the data word from the data memory;

in accordance with a determination that the data word is not in the data memory:

receive the data word; and

write the data word to the data memory;

generate the data code word based on the ECC encoding computation; and

write the data code word to the data memory at the address.

14. The memory system of claim 1 , wherein the data scrubbing circuit is configured to:

receive a scrub data command; and

in response to receiving the scrub data command, for each data word to be scrubbed:

identify:

a starting address for a data code word, and

a corresponding ECC memory partition;

read a data word associated with the starting address from a data memory;

read ECC check bits associated with the corresponding ECC memory partition from an ECC memory;

perform ECC decoding computation based on the data word and ECC check bits;

determine whether the data word includes an error based on the ECC decoding computation; and

in accordance with a determination that the data word includes the error, replace error bits with correctable error bits in the data word, wherein the data word including the correctable error bits is a scrubbed data word.

15. The memory system of claim 14 , wherein the data scrubbing circuit is further configured to:

in response to receiving the scrub data command, for each data word to be scrubbed:

in accordance with a determination that the data word does not include the error, forgo replacing the error bits with the correctable error bits in the data word, wherein the data word is the scrubbed data word;

determine whether the scrubbed data word is requested by a host;

in accordance with a determination that the scrubbed data is requested by the host, output the scrubbed data word to a memory controller electrically coupled to the host; and

in accordance with a determination that the scrubbed data is not requested by the host, forgo outputting the scrubbed data word to the memory controller.

16. A method of operating a memory system, the memory system comprising:

a data memory;

an ECC memory; and

a data scrubbing circuit electrically coupled to the ECC memory and the data memory,

the method comprising:

receiving a protect command for data; and

in response to receiving the protect command, for each data word in the data to be protected:

performing ECC encoding computation on the data word;

generating ECC check bits based on the ECC encoding computation; and

writing the generated ECC check bits to a corresponding partition in an ECC memory.

17. The method of claim 16 , further comprising:

determining whether a bit error rate threshold is reached;

in accordance with a determination that the bit error rate threshold is reached, generating a scrub data command; and

in accordance with a determination that the bit error rate threshold is not reached, forgoing generating a scrub data command.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 17, 2021
From: LU, YU; LIN, CHIEH-YU
To: SUPERMEM, INC.
Reel/Frame 058421/0229 →
Continuity (5)
Continuation 17284642
Provisional Application 62886967 · Aug 15, 2019
Provisional Application 62755702 · Nov 5, 2018
Provisional Application 62745204 · Oct 12, 2018
Related Publication 20220188187A1 · Jun 16, 2022
Cited By (2)
US 12,399,774 US 12,608,257