IP Library Granted Patent US 9,747,159
Granted Patent B2
US 9,747,159 · App. 14/827,591 · Granted Aug 29, 2017

MRAM smart bit write algorithm with error correction parity bits

Inventors: Yue-Der Chih (Hsin-Chu, TW); Hung-Chang Yu (Hsin-Chu, TW); Kai-Chun Lin (Hsinchu, TW); Chin-Yi Huang (Hsinchu, TW); Laun C. Tran (Tainan, TW)
Assignee: Taiwan Semiconductor Manufacturing Co., Ltd.
G06F11/1056G06F11/10G06F11/1004G06F11/1048G06F11/1052G06F11/141G06F11/1402G11C11/1675G11C11/1677H03M13/11H03M13/611G11C2013/0076
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 9,747,159
App. No.
14/827,591
Granted
Aug 29, 2017
Kind
B2
Abstract

Some embodiments relate to a system that includes write circuitry, read circuitry, and comparison circuitry. The write circuitry is configured to attempt to write an expected multi-bit word to a memory location in a memory device. The read circuitry is configured to read an actual multi-bit word from the memory location. The comparison circuitry is configured to compare the actual multi-bit word read from the memory location with the expected multi-bit word which was previously written to the memory location to distinguish between a number of erroneous bits in the actual multi-bit word and a number of correct bits in the actual multi-bit word. The write circuitry is further configured to re-write the number of erroneous bits to the memory location without attempting to re-write the number of correct bits to the memory location.

Claims (52)

1. A system, comprising:

write circuitry configured to attempt to write an expected multi-bit word to a memory location in a memory device;

read circuitry configured to read an actual multi-bit word from the memory location;

comparison circuitry configured to compare the actual multi-bit word read from the memory location with the expected multi-bit word to identify erroneous bits and correct bits in the actual multi-bit word and determine a number of erroneous bits in the actual multi-bit word;

wherein the write circuitry is further configured to re-write the erroneous bits as corrected bits to the memory location until the number of erroneous bits in the memory location is less than or equal to a pre-determined number that defines the maximum number of correctable bits for an error correction code; and

a counter configured to be incremented to a count when the erroneous bits are identified in the actual multi-bit word, and compare the count to a fail threshold, and when the fail threshold is not met, the read circuitry is further configured to reread at least one erroneous bit and the write circuitry is further configured to rewrite the at least one erroneous bit as at least one corrected bit in an iterative fashion.

2. The system of claim 1 , further comprising:

error correction circuitry configured to correct the pre-determined number of erroneous bits using the error correction code.

3. The system of claim 1 , wherein the comparison circuitry comprises an XOR comparison block.

4. The system of claim 1 , wherein a first memory cell of the memory device which has been written to more times is more likely to correspond to an erroneous bit than a second memory cell of the memory device which has been written to fewer times.

5. The system of claim 1 , wherein the memory device includes an array of magnetic random access memory (MRAM) cells.

6. The system of claim 5 , wherein an MRAM cell includes:

a first ferromagnetic plate;

a second ferromagnetic plate; and

an insulting layer separating the first and second ferromagnetic plates.

7. The system of claim 6 , wherein the MRAM cell further comprises:

an anti-ferromagnetic layer pinned to the first ferromagnetic plate;

wherein the second ferromagnetic plate is a free layer configured to have its magnetic field changed to one of two or more values to store one of two or more corresponding date states in the MRAM cell.

8. The system of claim 1 , wherein the write circuitry is configured to selectively cease writing of the number of erroneous bits as corrected bits to the memory location based on the fail threshold being met by the count.

9. A system, comprising: write circuitry configured to attempt to write an expected multi-bit word to a memory location in a memory device;

read circuitry configured to read an actual multi-bit word from the memory location;

comparison circuitry configured to compare the actual multi-bit word read from the memory location with the expected multi-bit word to identify erroneous bits and correct bits in the actual multi-bit word and determine a number of erroneous bits in the actual multi-bit word;

wherein the write circuitry is further configured to re-write the erroneous bits as corrected bits to the memory location until the number of erroneous bits in the memory location is less than or equal to a pre-determined number that defines the maximum number of correctable bits for an error correction code; and a counter configured to be incremented to a count when the erroneous bits are identified in the actual multi-bit word, and compare the count to a fail threshold, and when the fail threshold is not met, the read circuitry is further configured to reread at least one erroneous bit and the write circuity is further configured to rewrite the at least one erroneous bit as at least one corrected bit in an iterative fashion

wherein the memory device includes an array of magnetic random access memory (MRAM) cells.

10. The system of claim 9 , wherein an MRAM cell includes:

a first ferromagnetic plate;

a second ferromagnetic plate; and

an insulating layer separating the first and second ferromagnetic plates.

11. The system of claim 10 , wherein the MRAM cell further comprises:

an anti-ferromagnetic layer pinned to the first ferromagnetic plate;

wherein the second ferromagnetic plate is a free layer configured to have its magnetic field changed to one of two or more values to store one of two or more corresponding date states in the MRAM cell.

12. The system of claim 9 , wherein a first memory cell of the memory device which has been written to more times is more likely to correspond to an erroneous bit than a second memory cell of the memory device which has been written to fewer times.

13. The system of claim 9 , further comprising:

error correction circuitry configured to correct the pre-determined number of erroneous bits using the error correction code.

14. The system of claim 9 , wherein the comparison circuitry comprises an XOR comparison block.

15. A system, comprising: write circuitry configured to attempt to write an expected multi-bit word to a memory location in a memory device;

read circuitry configured to read an actual multi-bit word from the memory location;

comparison circuitry configured to compare the actual multi-bit word read from the memory location with the expected multi-bit word to identify erroneous bits and correct bits in the actual multi-bit word and determine a number of erroneous bits in the actual multi-bit word;

wherein the write circuitry is further configured to re-write the erroneous bits as corrected bits to the memory location until the number of erroneous bits in the memory location is less than or equal to a pre-determined number that defines the maximum number of correctable bits for an error correction code; and

a counter configured to be incremented to a count when the erroneous bits are identified in the actual multi-bit word, and compare the count to a fail threshold, and when the fail threshold is not met, the read circuitry is further configured to reread at least one erroneous bit and the write circuity is further configured to rewrite the at least one erroneous bit as at least one corrected bit in an iterative fashion;

wherein the write circuitry is configured to selectively cease writing of the number of erroneous bits as corrected bits to the memory location based on the fail threshold being met by the count.

16. The system of claim 15 , wherein a first memory cell of the memory device which has been written to more times is more likely to correspond to an erroneous bit than a second memory cell of the memory device which has been written to fewer times.

17. The system of claim 15 , further comprising:

error correction circuitry configured to correct the pre-determined number of erroneous bits using the error correction code.

18. The system of claim 15 , wherein the comparison circuitry comprises an XOR comparison block.

19. The system of claim 15 , wherein the memory device includes an array of magnetic random access memory (MRAM) cells.

20. The system of claim 19 , wherein an MRAM cell includes:

a first ferromagnetic plate;

a second ferromagnetic plate;

an insulating layer separating the first and second ferromagnetic plates; and

an anti-ferromagnetic layer pinned to the first ferromagnetic plate;

wherein the second ferromagnetic plate is a free layer configured to have its magnetic field changed to one of two or more values to store one of two or more corresponding date states in the MRAM cell.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2015
From: CHIH, YUE-DER; YU, HUNG-CHANG; LIN, KAI-CHUN; HUANG, CHIN-YI; TRAN, LUAN C.
To: TAIWAN SEMICONDUCTOR MANUFACTURING CO., LTD.
Reel/Frame 036770/0768 →
Continuity (3)
Division 13917772 · Jun 14, 2013
Provisional Application 61732253 · Nov 30, 2012
Related Publication 20150355963A1 · Dec 10, 2015