IP Library › Granted Patent US 12,669,942
Granted Patent B2
US 12,669,942 · App. 18/430,714 · Granted Jun 30, 2026

Methods to re-use stuck cells in data storage, and associated memory systems

Inventors: Raffaele Costa (Eindhoven, NL); Andrea Castelnuovo (Hamburg, DE); Matthieu Deloge (Waalre, NL); Maurits Mario Nicolaas Storms (Best, NL); Sergio Masferrer Oncala (Eindhoven, NL)
Assignee: NXP B.V.
G06F3/0616G06F3/0644G06F3/0673
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 12,669,942
App. No.
18/430,714
Filed
Feb 2, 2024
Granted
Jun 30, 2026
Kind
B2
Art Unit
2139
USPC
711/154
Abstract

Disclosed is a method of storing data in a stuck-cell memory page of a memory array, the stuck-cell memory page having a cell at a stuck-cell-identifier cell of the memory page stuck at a stuck-cell-value, the method comprising: identifying a match between a first dataset and the stuck-cell memory page; and storing the dataset in the stuck-cell memory page; wherein the identifying a match comprises identifying that the at least one bit of the dataset which corresponds to the stuck-cell-identifier of the memory cell has a value which is equal to the stuck-cell value. A memory system configured for the above method is further disclosed.

Claims (45)

1 . A method of storing data in a stuck-cell memory page of a memory array, the stuck-cell memory page having a cell at a stuck-cell-identifier cell of the memory page stuck at a stuck-cell-value, the method comprising:

identifying a match between a first dataset and the stuck-cell memory page; and

storing the dataset in the stuck-cell memory page;

wherein the identifying a match comprises identifying that the at least one bit of the dataset which corresponds to the stuck-cell-identifier of the memory cell has a value which is equal to the stuck-cell value;

wherein the step of identifying a match comprises identifying a match from a plurality of stored datasets stored in the memory array.

2 . The method according to claim 1 , wherein the cell is a single-bit cell, and the at least one bit is a single bit having a value of a one of “0” and “1”.

3 . The method according to claim 1 , wherein the cell is an n-bit cell, and the at least one bit is n bits.

4 . The method of claim 1 further comprising:

identifying the stuck-cell memory page, by

writing a to-be-written dataset to the memory page;

reading a check dataset from the memory page; and

identifying a mismatch between the to-be-written dataset and the read dataset at the stuck-cell-identifier.

5 . The method according to claim 1 further comprising maintaining a stuck page list being a list of stuck-cell memory pages, wherein the stuck page list includes a stuck-cell-identifier and a stuck-cell value for each respective stuck-cell memory page.

6 . The method of claim 5 , further comprising:

identifying the stuck-cell memory page, by

writing a to-be-written dataset to the memory page;

reading a check dataset from the memory page; and

identifying a mismatch between the to-be-written dataset and the read dataset at the stuck-cell-identifier,

in response to identifying the stuck-cell memory page, adding the stuck-cell memory page to the stuck page list.

7 . The method of claim 1 , wherein the plurality of stored datasets consists of program code.

8 . The method of claim 1 , further comprising moving other dataset between pages of the memory array to tend to equalise a number of write operations to each memory page in the memory array.

9 . The method of claim 1 , wherein the dataset is unaltered.

10 . The method of claim 1 , wherein each page of the memory array has a physical address, the method further comprising maintaining a table-map between respectively logical addresses of each dataset and the physical address in which it is stored.

11 . A method of storing data in a stuck-cell memory page of a memory array, the stuck-cell memory page having a cell at a stuck-cell-identifier cell of the memory page stuck at a stuck-cell-value, the method comprising:

identifying a match between a first dataset and the stuck-cell memory page; and

storing the dataset in the stuck-cell memory page;

wherein the identifying a match comprises identifying that the at least one bit of the dataset which corresponds to the stuck-cell-identifier of the memory cell has a value which is equal to the stuck-cell value;

wherein the method further comprises maintaining a stuck page list being a list of stuck-cell memory pages, wherein the stuck page list includes a stuck-cell-identifier and a stuck-cell value for each respective stuck-cell memory page;

wherein the method further comprises in response to a request to write the first dataset into the memory array, using the list to identify a match between the first dataset and a stuck-cell memory page in the stuck page list wherein the using the list includes polling the stuck page list and comparing stuck-cell pages in the list with the first dataset to determine whether a stuck-cell value of a stuck-cell page matches a value of an associated bit in the first dataset.

12 . A memory system comprising:

a memory array comprising a plurality of memory pages;

a table-map associating logical addresses of the memory pages with physical addresses in the memory array;

a stuck page list comprising a list of stuck-cell memory pages, each having a cell at a stuck-cell-identifier cell of the memory page stuck at a stuck-cell-value;

and a memory controller, configured to identify a match between a first dataset and a stuck-cell memory page having a cell at a stuck-cell-identifier cell of the memory page stuck at a stuck-cell-value, and to store the dataset in the memory page;

wherein the controller is configured to identify a match by identifying a match from a plurality of stored datasets stored in the memory array.

13 . The memory system according to claim 12 , wherein the cell is a single-bit cell, and the at least one bit is a single bit having a value of a one of “0” and “1”.

14 . The memory system according to claim 12 , wherein the cell is an n-bit cell, and the at least one bit is n bits.

15 . The memory system according to claim 12 , wherein the controller is further configured to identify the stuck-cell memory page, by:

writing a to-be-written dataset to the memory page;

reading a check dataset from memory page; and

identifying a mismatch between the to-be-written dataset and the read dataset at the stuck-cell-identifier.

16 . The memory system according to claim 12 ,

wherein the controller is further configured to: in response to a request to write a first dataset into the memory array, use the list to identify a match between the first dataset and a stuck-cell memory page in the stuck page list.

17 . The memory system of claim 12 , wherein the plurality of stored datasets consists of program code.

18 . The memory system according to claim 12 , wherein the controller is further configured to move other dataset between pages of the memory array to tend to equalise a number of write operations to each memory page in the memory array.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 2, 2024
From: COSTA, RAFFAELE; CASTELNUOVO, ANDREA; DELOGE, MATTHIEU; STORMS, MAURITS MARIO NICOLAAS; MASFERRER ONCALA, SERGIO
To: NXP B.V.
Reel/Frame 066334/0989 →
Priority Claims (1)
EP 23162054 · Mar 15, 2023 · regional
Continuity (1)
Related Publication 20240311016A1 · Sep 19, 2024
References Cited (14)
US 8887025B2 · Mateescu et al. · 2014 [cited by applicant]
US 11380415B2 · Noguchi et al. · 2022 [cited by applicant]
US 20110252215A1 · Franceschini · 2011 [cited by examiner]
US 20130339574A1 · Franceschini · 2013 [cited by examiner]
US 20140164873A1 · Guyot et al. · 2014 [cited by applicant]
US 20140245107A1 · Thiruvengadam · 2014 [cited by examiner]
US 20140281827A1 · Twitto et al. · 2014 [cited by applicant]
US 20160266847A1 · Shu et al. · 2016 [cited by applicant]
US 20170090762A1 · Ea et al. · 2017 [cited by applicant]
US 20170285996A1 · Ostertun et al. · 2017 [cited by applicant]
US 20180068731A1 · Kim et al. · 2018 [cited by applicant]
US 20180293174A1 · Song · 2018 [cited by examiner]
Asadinia, M., “Enhancing lifetime of PCM-based main memory with Efficient Recovery of Stuck-at Faults”, 2018 IEEE Computer Society Annual Symposium on VLSI, Jul. 8-11, 2018. [cited by applicant]
Seong, N., “Safer: Stuck-at-Fault Error Recovery for Memories”, 2010 43rd Annual IEEE/ACM International Symposium on Microarchitecture, Dec. 4-8, 2010. [cited by applicant]