IP Library Granted Patent US 12669942
Granted Patent B2
US 12669942 · 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 12669942
App. No.
18/430,714
Granted
Jun 30, 2026
Kind
B2
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.