IP Library Granted Patent US 10,366,775
Granted Patent B2
US 10,366,775 · App. 15/849,457 · Granted Jul 30, 2019

Memory device using levels of dynamic redundancy registers for writing a data word that failed a write operation

Inventors: Mourad El-Baraji (Fremont, CA); Neal Berger (Cupertino, CA); Benjamin Stanley Louie (Fremont, CA); Lester M Crudele (Tomball, TX); Daniel L Hillman (San Jose, CA); Barry Hoberman (Fremont, CA)
Assignee: SPIN MEMORY, INC.
G11C29/785G06F12/0804G06F13/16G11C7/1039G11C7/20G11C11/1653G11C11/1673G11C11/1675G11C11/1677G11C11/1693G11C11/1697
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,366,775
App. No.
15/849,457
Granted
Jul 30, 2019
Kind
B2
Abstract

Dynamic redundancy buffers for use with a device are disclosed. The dynamic redundancy buffers allow a memory array of the device to be operated with high write error rate (WER). A first level redundancy buffer (e1 buffer) is couple to the memory array. The e1 buffer may store data words that have failed verification or have not been verified. The e1 buffer may transfer data words to another dynamic redundancy buffer (e2 buffer). The e1 buffer may transfer data words that have failed to write to a memory array after a predetermined number of re-write attempts. The e1 buffer may also transfer data words upon power down.

Claims (59)

1. A memory device comprising:

a memory array of memory cells, wherein the memory array is configured to store a data word at one of a plurality of memory addresses;

a first level dynamic redundancy buffer comprising data storage elements; and

a pipeline coupled to the memory array and the first level dynamic redundancy buffer, wherein the pipeline is configured to:

write a data word into the memory array at a selected one of the plurality of memory addresses;

verify the data word written into the memory array to determine whether the data word was successfully written by the write;

responsive to a determination that the data word was not successfully written by the write, writing the data word and the selected one of the plurality of memory addresses into the first level dynamic redundancy buffer; and

attempt to re-write the data word stored in the first level dynamic redundancy buffer into the memory array at the selected one of the plurality of memory addresses.

2. The memory device of claim 1 , wherein the memory cells of the memory array comprise a plurality of spin-transfer torque magnetic random access memory (STT-MRAM) cells.

3. The memory device of claim 1 , wherein the pipeline is further configured to:

perform a verification to determine if the data word was successfully written to the memory array by the re-write; and

responsive to a determination that the data was not successfully written by the re-write, write the data word and the selected one of the plurality of memory addresses into a second level dynamic redundancy buffer.

4. The memory device of claim 3 , wherein the pipeline is further configured to:

remap the data word from the second level dynamic redundancy buffer to an address in the memory array, wherein the second level dynamic redundancy buffer stores a remap address for the data word.

5. The memory device of claim 1 , wherein the pipeline is further configured to:

attempt the re-write to the memory array a predetermined number of times prior to writing the data word and the selected one of the plurality of memory addresses into the second level dynamic redundancy buffer, and wherein the predetermined number is stored using control bits.

6. The memory device of claim 5 , wherein the predetermined number is stored using control bits of the first level dynamic redundancy buffer.

7. The memory device of claim 5 , wherein the memory array comprises a pseudo-dual port memory array, wherein the pseudo-dual port memory array is operable to attempt the re-write and a verify in a same clock cycle, and wherein the re-write and the verify comprise data words that share a common row address.

8. The memory device of claim 5 , wherein the first level dynamic redundancy buffer comprises volatile memory.

9. The memory device of claim 5 , wherein the first level dynamic redundancy buffer comprises non-volatile memory.

10. The memory device of claim 5 , wherein the second level dynamic redundancy buffer comprises non-volatile memory.

11. The memory device of claim 5 , wherein the second level dynamic redundancy buffer comprises volatile memory.

12. A memory device comprising:

a memory array comprising memory cells, wherein the memory array is configured to store a data word at one of a plurality of memory addresses;

a first level dynamic redundancy buffer comprising data storage elements;

a second level dynamic redundancy buffer comprising data storage elements; and

a pipeline coupled to the memory array, the first level dynamic redundancy buffer, and the second level dynamic redundancy buffer, wherein the pipeline is configured to:

write a data word into the memory array at a selected one of the plurality of memory addresses;

verify the data word written into the memory array to determine whether the data word was successfully written by the write;

responsive to a determination that the data word was not successfully written by the write, writing the data word and the selected one of the plurality of memory addresses into the first level dynamic redundancy buffer;

re-write the data word stored in the first level dynamic redundancy buffer into the memory array at the selected one of the plurality of memory addresses;

perform verification to determine if the data word was successfully written to the memory array responsive to the re-writing; and

responsive to a determination that the data was not successfully written during the re-writing, write the data word and the selected one of the plurality of memory addresses into a second level dynamic redundancy buffer.

13. The memory device of claim 12 , wherein the pipeline is further configured to:

attempt the re-write to the memory array a predetermined number of times prior to writing the data word and the selected one of the plurality of memory addresses into the second level dynamic redundancy buffer, and wherein the predetermined number is stored using control bits associated with re-write attempts.

14. The memory device of claim 12 , wherein the memory cells of the memory array comprise a plurality of spin-transfer torque magnetic random access memory (STT-MRAM) cells.

15. The memory device of claim 12 , wherein the pipeline is further configured to:

write the data word and the selected one of the plurality of memory addresses into the second level dynamic redundancy buffer on power down, wherein the first level dynamic redundancy buffer comprises volatile memory, and wherein the second level dynamic redundancy buffer comprises non-volatile memory.

16. The memory device of claim 12 , wherein the pipeline is further configured to:

restore the data word and the selected one of the plurality of memory addresses into the first level dynamic redundancy buffer from the second level dynamic redundancy buffer during power up.

17. The memory device of claim 12 , wherein the pipeline is further configured to:

write the data word and the selected one of the plurality of memory addresses into the memory array from the second level dynamic redundancy buffer on power down, wherein the second level dynamic redundancy buffer comprises volatile memory.

18. The memory device of claim 12 , wherein the pipeline is further configured to:

invalidate entries in the second level dynamic redundancy buffer associated with the data word responsive to a determination that the data word for the selected one of the plurality of memory addresses was successfully written into the memory array by a different write for the selected one of the plurality of memory addresses.

19. The memory device of claim 12 , wherein the pipeline is further configured to:

invalidate entries in the first level dynamic redundancy buffer associated with the data word responsive to a determination that the data word for the selected one of the plurality of memory addresses was successfully written into the memory array by a different write for the selected one of the plurality of memory addresses.

20. The memory device of claim 12 , wherein the pipeline is further configured to:

transfer data from the first level dynamic redundancy buffer to the second level dynamic redundancy buffer to make vacant memory in the first level dynamic redundancy buffer.

21. The memory device of claim 12 , wherein the second level dynamic redundancy buffer comprises status bits, wherein the status bits are operable to allow data manipulation of a particular entry within the second level dynamic redundancy buffer only if a predetermined number of status bits are flagged.

22. The memory device of claim 12 , wherein the second level dynamic redundancy buffer comprises multiple copies of each data word stored in the second level dynamic redundancy buffer, and wherein a most reliable copy of a respective data word is selected.

23. A memory device comprising:

a memory array comprising memory cells, the memory array configured to store a data word at one of a plurality of memory addresses, wherein the memory cells of the memory array comprise a plurality of spin-transfer torque magnetic random access memory (STT-MRAM) cells;

a first level dynamic redundancy buffer comprising data storage elements; and

a pipeline coupled to the memory array and the first level dynamic redundancy buffer, wherein the pipeline is configured to:

write a data word into the memory array at a selected one of the plurality of memory addresses;

verify the data word written into the memory array to determine whether the data word was successfully written by the write;

responsive to a determination that the data word was not successfully written by the write, writing the data word and the selected one of the plurality of memory addresses into the first level dynamic redundancy buffer; and

responsive to a determination that the data was not successfully written, re-write the data word stored in the first level dynamic redundancy buffer into the memory array at the selected one of the plurality of memory addresses.

24. The memory device of claim 12 , wherein the second level dynamic redundancy buffer performs a more stringent error correction code (ECC) scheme than the memory array.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2021
From: SPIN (ASSIGNMENT FOR BENEFIT OF CREDITORS), LLC
To: INTEGRATED SILICON SOLUTION, (CAYMAN) INC.
Reel/Frame 057473/0319 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 20, 2021
From: SPIN MEMORY, INC.
To: SPIN (ASSIGNMENT FOR THE BENEFIT OF CREDITORS), LLC
Reel/Frame 056927/0038 →
CHANGE OF NAME Recorded Jun 10, 2019
From: SPIN TRANSFER TECHNOLOGIES, INC.
To: SPIN MEMORY, INC.
Reel/Frame 049421/0501 →
Continuity (2)
Division 15277799 · Sep 27, 2016
Related Publication 20180114590A1 · Apr 26, 2018