IP Library › Granted Patent US 12,451,185
Granted Patent B2
US 12,451,185 · App. 18/148,378 · Granted Oct 21, 2025

Method for storing information in a coded manner in non-volatile memory cells, decoding method and non-volatile memory

Inventors: Alessandro Tomasoni (Sotto il Monte Giovanni XXIII, IT); Fabio Enrico Carlo Disegni (Spino d'Adda, IT); Marcella Carissimi (Treviolo, IT); Daniele Lo Iacono (Bergamo, IT)
Assignee: STMICROELETRONICS S.r.l.
G11C11/5678G11C13/0004G11C13/0023G11C13/004G11C2013/0054
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,451,185
App. No.
18/148,378
Granted
Oct 21, 2025
Kind
B2
Abstract

The present disclosure is directed to a method for storing information in a coded manner in non-volatile memory cells. The method includes providing a group of non-volatile memory cells of non volatile memory. The memory cell is of the type in which a stored logic state, which can be logic high or logic low, can be changed through application of a current to the cell and the state in the memory cell is read by reading a current provided by the cell. The group of non-volatile memory cells include a determined number of non-volatile memory cells which is greater than two. The group of non-volatile memory cells store a codeword formed by the values of said stored states of the cells of the group taken according to a given order. Given a set of codewords obtainable by the stored values in the determined number of non-volatile memory cells in a group, the method includes storing the information in at least two subsets of said set of codewords comprising each at least a codeword. Each codeword in a same subset has a same Hamming weight. Each codeword belonging to one subset has a Hamming distance equal or greater than two with respect to each codeword belonging to another subset.

Claims (59)

1. A method, comprising:

providing a group of non-volatile memory cells of non-volatile memory,

stored logic states in the group of non-volatile memory cells configured to change through application of currents to the group of non-volatile memory cells, and configured to be read by reading currents provided by the group of non-volatile memory cells,

the group of non-volatile memory cells including a determined number of non-volatile memory cells that is greater than two,

the group of non-volatile memory cells configured to store codewords formed by values of the stored logic states of memory cells of the group of non-volatile memory cells taken according to a given order; and

storing information in at least two subsets of a set of codewords,

the set of codewords obtainable by the values of the stored logic states, each codeword in a same subset having a same Hamming weight,

each codeword belonging to a first subset of the at least two subsets having a Hamming distance equal or greater than two with respect to each codeword belonging to a second subset of the at least two subsets,

each codeword belonging to the first subset having a number of ones and a number of zeroes equal to the number of ones.

2. The method of claim 1 , wherein the determined number of non-volatile memory cells is an even number.

3. The method of claim 1 , wherein the determined number of non-volatile memory cells is four.

4. The method of claim 1 , wherein the at least two subsets include a subset with a codeword having all zero values, and a subset with a codeword having all one values.

5. The method of claim 1 , wherein the at least two subsets include a subset with codewords having the same first Hamming weight, and a subset with codewords having the same second Hamming weight that is different from the first Hamming weight by a value of two.

6. The method of claim 1 , further comprising:

reading the values of the stored logic states;

performing a comparison operation on the read values of the stored logic states;

obtaining a corresponding codeword by processing results of the comparison operation; and

decoding the corresponding codeword to supply a corresponding decoded symbol.

7. The method of claim 1 , wherein the reading of the values includes reading currents of the memory cells of the group of non-volatile memory cells.

8. The method of claim 6 , wherein the performing of the comparison operation includes comparing each read value from a memory cell in the group once with each other read value from remaining memory cells in the group.

9. The method of claim 4 , wherein the first subset is between the subset with the codeword having all zero values and the subset with the codeword having all one values in a bitmap.

10. A method, comprising:

reading values of stored logic states in memory cells of a group of non-volatile memory cells,

the stored logic states configured to change through application of currents to the group of non-volatile memory cells, and configured to be read by reading currents provided by the group of non-volatile memory cells,

the group of non-volatile memory cells including a determined number of non-volatile memory cells that is greater than two,

the group of non-volatile memory cells storing a codeword formed by the values of the stored logic states taken according to a given order,

information being stored in at least two subsets of a set of codewords,

the set of codewords obtainable by the values of the stored logic states, each codeword in a same subset having a same Hamming weight,

each codeword belonging to a subset of the at least two subsets having a Hamming distance equal or greater than two with respect to each codeword belonging to another subset of the at least two subsets;

performing a comparison operation on the read values of the stored logic states, the performing of the comparison operation including:

comparing each read value from a memory cell in the group once with each other read value from remaining memory cells in the group to obtain pairwise comparison results;

summing the read values of the stored logic states to obtain a sum value; and

comparing the sum value to one or more thresholds to obtain a value indicating a subset to which the read values belong;

obtaining a corresponding codeword by processing results of comparison operation, the processing of the results of the comparison operation including:

processing the pairwise comparison results separately for each subset including more than one codeword to obtain corresponding codewords; and

selecting among the corresponding codewords and codewords of subsets including one codeword based on the value indicating the subset to which the read values belong; and

decoding the corresponding codeword to supply a corresponding decoded symbol.

11. The method of claim 10 , wherein the reading of the values includes reading currents of the memory cells of the group of non-volatile memory cells.

12. The method of claim 10 , further comprising:

computing the one or more thresholds based on Probability Density Function curves or Cumulative Distribution Function curves of a sum of values of memory cells arranged in manner corresponding to each of the at least two subsets.

13. The method of claim 12 , further comprising:

selecting one or more intersections of the Probability Density Function curves as the one or more thresholds.

14. The method of claim 12 , further comprising:

computing the one or more thresholds numerically by minimizing an error probability between states associated to the one or more thresholds.

15. The method of claim 10 , wherein the determined number of non-volatile memory cells is an even number.

16. A memory, comprising:

a group of non-volatile memory cells,

stored logic states in the group of non-volatile memory cells configured to change through application of currents to the group of non-volatile memory cells, and configured to be read by reading currents provided by the group of non-volatile memory cells,

the group of non-volatile memory cells including a determined number of non-volatile memory cells that is greater than two,

the group of non-volatile memory cells configured to store codewords formed by values of the stored logic states of memory cells of the group of non-volatile memory cells taken according to a given order; and

an encoder configured to store information in at least two subsets of a set of codewords,

the set of codewords obtainable by the values of the stored logic states, each codeword in a same subset having a same Hamming weight,

each codeword belonging to a first subset of the at least two subsets having a Hamming distance equal or greater than two with respect to each codeword belonging to a second subset of the at least two subsets,

each codeword belonging to the first subset having a number of ones and a number of zeroes equal to the number of ones.

17. The memory of claim 16 , wherein the determined number of non-volatile memory cells is an even number.

18. The memory of claim 16 , wherein the at least two subsets include a first subset with a codeword having all zero values, and a subset with a codeword having all one values.

19. The memory of claim 16 , wherein the at least two subsets include a subset with codewords having the same first Hamming weight, and a subset with codewords having the same second Hamming weight that is different from the first Hamming weight by a value of two.

20. The memory of claim 16 , further comprising:

a decoder configured to read the values of the stored logic states, perform a comparison operation on the read values of the stored logic states, obtain a corresponding codeword by processing results of the comparison operation, and decode the corresponding codeword to supply a corresponding decoded symbol.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 19, 2023
From: TOMASONI, ALESSANDRO; DISEGNI, FABIO ENRICO CARLO; CARISSIMI, MARCELLA; LO IACONO, DANIELE
To: STMICROELECTRONICS S.R.L.
Reel/Frame 062423/0946 →
Priority Claims (1)
IT 102022000000176 · Jan 7, 2022 · national
Continuity (1)
Related Publication 20230223079A1 · Jul 13, 2023
References Cited (12)
US 8988946B1 · D'Abreu · 2015 [cited by applicant]
US 9349490B2 · Carissimi et al. · 2016 [cited by applicant]
US 9619328B2 · Mittelholzer · 2017 [cited by examiner]
US 10319438B2 · Calvetti et al. · 2019 [cited by applicant]
US 11133064B2 · Carissimi et al. · 2021 [cited by applicant]
US 20030035324A1 · Fujita et al. · 2003 [cited by applicant]
US 20090067218A1 · Graber · 2009 [cited by applicant]
US 20100085799A1 · Cho et al. · 2010 [cited by applicant]
US 20160179619A1 · Mittelholzer et al. · 2016 [cited by applicant]
US 20190215014A1 · Qin · 2019 [cited by examiner]
US 20230245699A1 · Disegni et al. · 2023 [cited by applicant]
WO WO2021135839A1 · 2021 [cited by applicant]