IP Library Granted Patent US 11,010,294
Granted Patent B2
US 11,010,294 · App. 16/598,599 · Granted May 18, 2021

MRAM noise mitigation for write operations with simultaneous background operations

Inventors: Benjamin Louie (Fremont, CA); Neal Berger (Fremont, CA); Lester Crudele (Fremont, CA)
Assignee: Spin Memory, Inc.
G06F12/0804G11C11/1675G11C11/1677G06F2212/304
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,010,294
App. No.
16/598,599
Granted
May 18, 2021
Kind
B2
Abstract

A method of writing data utilizes a pipeline to process write operations of a first plurality of data words addressed to a memory bank. The method also comprises writing a second plurality of data words into an error buffer, wherein the second plurality of data words comprises data words that are awaiting write verification. Additionally, the method comprises searching for at least one data word that is awaiting write verification in the error buffer, wherein verify operations associated with the at least one data word occur in a same row as the write operation. Finally, the method comprises determining if an address associated with any of the at least one data word is proximal to an address for the write operation and preventing a verify operation associated with the at least one data word from occurring in a same cycle as the write operation.

Claims (42)

1. A method of writing data into a memory device, the method comprising:

utilizing a pipeline to process write operations of a first plurality of data words addressed to a memory bank;

writing a second plurality of data words and associated memory addresses into an error buffer, wherein the second plurality of data words are a subset of the first plurality of data words, wherein the error buffer is associated with the memory bank and wherein further the second plurality of data words comprises data words that are awaiting write verification associated with the memory bank;

searching for at least one data word that is awaiting write verification in the error buffer, wherein verify operations associated with the at least one data word are operable to be performed in a same cycle as a write operation, and wherein the verify operations associated with the at least one data word occur in a same row as the write operation;

determining if an address associated with any of the at least one data word is proximal to an address for the write operation; and

preventing a verify operation associated with the at least one data word from occurring in a same cycle as the write operation if a corresponding address for the verify operation is proximal to the write operation.

2. The method of claim 1 , further comprising:

performing a verify operation associated with the at least one data word if a corresponding address for the verify operation is not proximal to an address of the write operation.

3. The method of claim 2 , further comprising:

responsive to a determination that a verify operation associated with the at least one data word comprises a corresponding address that is proximal to the write operation, scheduling the verify operation to occur in a different cycle than the write operation.

4. The method of claim 2 , wherein the performing comprises performing the verify operation in a same cycle as the write operation.

5. The method of claim 2 , wherein the performing comprises performing the verify operation in the same cycle as the write operation using a y-multiplexer circuit coupled to the memory bank, wherein the y-multiplexer circuit is operable to simultaneously multiplex across the memory bank based on two y portions of memory addresses, and wherein the y-multiplexer circuit is operable to simultaneously write a value and read a value associated with two separate memory cells of the memory bank.

6. The method of claim 1 wherein the memory bank comprises a plurality of magnetic random access memory (MRAM) cells.

7. The method of claim 1 wherein the memory bank comprises a plurality of spin-transfer torque magnetic random access memory (STT-MRAM) cells.

8. The method of claim 1 , wherein the determining comprises determining a verify operation associated with any of the at least one data word is proximal to the write operation if a corresponding address for the verify operation is within one column address of the write operation.

9. The method of claim 1 , wherein the determining comprises determining a verify operation associated with any of the at least one data word is proximal to the write operation if a corresponding address for the verify operation is within two column addresses of the write operation.

10. The method of claim 1 , wherein the determining comprises determining a verify operation associated with any of the at least one data word is proximal to the write operation if a corresponding address for the verify operation is within ‘n’ column addresses of the write operation.

11. A method of writing data into a memory device, the method comprising:

utilizing a pipeline to process write operations of a first plurality of data words addressed to a memory bank;

writing a second plurality of data words and associated memory addresses into an error buffer, wherein the second plurality of data words are a subset of the first plurality of data words, wherein the error buffer is associated with the memory bank and wherein further the second plurality of data words comprises data words that are awaiting write verification associated with the memory bank;

searching for two data words that are awaiting write verification in the error buffer, wherein verify operations associated with the two data words are operable to be performed in a same cycle as a write operation, and wherein the verify operations associated with the two data words occur in a same row as the write operation;

determining if an address associated with any of the two data words is adjacent to an address for the write operation; and

de-prioritizing a verify operation associated with any of the two data words if a corresponding address for the verify operation is adjacent to the write operation, wherein the verify operation is scheduled to occur in a different cycle than the write operation.

12. The method of claim 11 , further comprising:

performing a verify operation associated with one of the two data words if a corresponding address for the verify operation is not adjacent to an address of the write operation.

13. The method of claim 11 , further comprising:

responsive to a determination that each verify operation associated with the two data words comprises a corresponding address that is adjacent to the write operation, performing an adjacent verify operation associated with one of the at least two data words.

14. The method of claim 12 , wherein the performing comprises performing the verify operation in a background in a same cycle as the write operation.

15. The method of claim 12 , wherein the performing comprises performing the verify operation in a same cycle as the write operation using a y-multiplexer circuit coupled to the memory bank, wherein the y-multiplexer circuit is operable to simultaneously multiplex across the memory bank based on two y portions of memory addresses, and wherein the y-multiplexer circuit is operable to simultaneously write a value and read a value associated with two separate memory cells of the memory bank.

16. The method of claim 11 , wherein the memory bank comprises a plurality of magnetic random access memory (MRAM) cells.

17. The method of claim 11 , wherein the memory bank comprises a plurality of spin-transfer torque magnetic random access memory (STT-MRAM) cells.

18. A memory device for storing data, the memory device comprising:

a memory bank comprising a plurality of addressable memory cells;

a pipeline configured to process write operations of a first plurality of data words addressed to the memory bank;

a cache memory operable for storing a second plurality of data words and associated memory addresses, wherein the cache memory is associated with the memory bank and wherein further the second plurality of data words comprises data words that are awaiting write verification associated with the memory bank; and

a logic module operable to:

search for three data words that are awaiting write verification in the error buffer, wherein verify operations associated with the three data words are operable to be performed in a same cycle as a write operation, and wherein the verify operations associated with the three data words occur in a same row as the write operation;

determining if an address associated with any of the three data words is adjacent to an address for the write operation; and

de-prioritizing a verify operation associated with any of the three data words if a corresponding address for the verify operation is adjacent to an address of the write operation.

19. The memory device as described in claim 18 , wherein the logic module is further operable to:

perform a verify operation associated with one of the three data words if a corresponding address for the verify operation is not adjacent to an address of the write operation.

20. The memory device as described in claim 19 , wherein the logic module is operable to perform the verify operation in the same cycle as the write operation using a y-multiplexer circuit coupled to the memory bank, wherein the y-multiplexer circuit is operable to simultaneously multiplex across the memory bank based on two y portions of memory addresses, and wherein the y-multiplexer circuit is operable to simultaneously write a value and read a value associated with two separate memory cells of the memory bank.

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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 14, 2019
From: LOUIE, BENJAMIN; BERGER, NEAL; CRUDELE, LESTER
To: SPIN MEMORY, INC.
Reel/Frame 050706/0197 →
Continuity (5)
Continuation In Part 16275088 · Feb 13, 2019
Continuation In Part 16118137 · Aug 30, 2018
Continuation In Part 15855855 · Dec 27, 2017
Continuation In Part 15277799 · Sep 27, 2016
Related Publication 20200050545A1 · Feb 13, 2020