IP Library Granted Patent US 11,669,392
Granted Patent B2
US 11,669,392 · App. 17/360,204 · Granted Jun 6, 2023

Non-volatile memory

Inventors: Jean-Louis Modave (Ottignies, BE); Guillaume Docquier (Waremme, BE)
Assignee: Proton World International N.V.
G06F11/1004G06F11/1048G06F12/0802G06F16/907
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,669,392
App. No.
17/360,204
Granted
Jun 6, 2023
Kind
B2
Abstract

A method of managing a non-volatile memory includes during a data writing process, selecting, by a program triggering the data writing process, an error detection and correction code from among two codes depending on a type of information being written. The information is written into the non-volatile memory, where the information is associated with the selected error detection and correction code.

Claims (39)

1. A controller of a non-volatile memory configured to:

receive information to be written and a control signal indicating a write operation;

receive an integrity bit indicating a high integrity or low integrity, the integrity bit being indicative of a type of information being written into the non-volatile memory, the type of information being metadata or data or instructions of a program, wherein the integrity bit is a low integrity bit when the type of information is metadata, and the integrity bit is a high integrity bit when the type of information is data or instructions of a program;

receive a logical address to access memory corresponding to the write operation and convert the logical address to a physical address of the non-volatile memory;

select an error detection and correction code from among two codes depending on the integrity bit; and

write the information into the non-volatile memory at the physical address, the information being associated with the selected error detection and correction code wherein the non-volatile memory is organized in pages corresponding to an erase granularity, a same page comprising information associated with each of the two codes, wherein the data and the metadata are written in a different set of pages than the instructions of the program, and selecting the error detection and correction code is performed each time the information is written into the non-volatile memory.

2. The controller of claim 1 , wherein selecting the error detection and correction code conditions a length of a word stored in the non-volatile memory.

3. The controller of claim 1 , wherein a first code of the two codes comprises fourteen bits and is associated with a sixty-four-bit word and a second code of the two codes comprises seven bits and is associated with a thirty two-bit word.

4. The controller of claim 3 , wherein the information being written comprises data over thirty two bits, wherein the data is associated with the first code.

5. The controller of claim 3 , wherein the information being written comprises metadata, wherein the metadata is associated with the second code.

6. The controller of claim 1 , wherein the physical address for the information being written is independent from the selected error detection and correction code.

7. The controller of claim 1 , wherein the controller is further configured to:

detect and correct, errors in the information stored in the non-volatile memory based on the selected error detection and correction code.

8. A non-volatile memory comprising:

an array of non-volatile storage memory cells; and

a memory controller managing operations of reading and writing information in a memory plane of the array according to logic addresses supplied from outside by converting logic addresses into physical addresses of the memory plane, the memory controller being configured to

receive information to be written and a control signal indicating a write operation;

receive an integrity bit indicating a high integrity or low integrity, the integrity bit being indicative of a type of information being written into the non-volatile memory, the type of information being metadata or data or instructions of a program, wherein the integrity bit is a low integrity bit when the type of information is metadata, and the integrity bit is a high integrity bit when the type of information is data or instructions of a program

select an error detection and correction code from among two codes depending on the integrity bit; and

write the information into the non-volatile memory, the information being associated with the selected error detection and correction code wherein the non-volatile memory is organized in pages corresponding to an erase granularity, a same page comprising information associated with each of the two codes, wherein the data and the metadata are written in a different set of pages than the instructions of the program, and selecting the error detection and correction code is performed each time the information is written into the non-volatile memory.

9. The non-volatile memory of claim 8 , wherein selecting the error detection and correction code conditions a length of a word stored in the non-volatile memory.

10. The non-volatile memory of claim 8 , wherein a first code of the two codes comprises fourteen bits and is associated with a sixty-four-bit word and a second code of the two codes comprises seven bits and is associated with a thirty two-bit word.

11. The non-volatile memory of claim 10 , wherein the information being written comprises data over thirty two bits, wherein the data is associated with the first code.

12. The non-volatile memory of claim 10 , wherein the information being written comprises metadata, wherein the metadata is associated with the second code.

13. The non-volatile memory of claim 8 , wherein a physical address for the information being written is independent from the selected error detection and correction code.

14. The non-volatile memory of claim 8 , wherein the memory controller is further configured to:

detect and correct, errors in the information stored in the non-volatile memory based on the selected error detection and correction code.

15. A controller of a non-volatile memory configured to

receive information to be written and a control signal indicating a write operation;

receive an integrity bit indicating a high integrity or low integrity, the integrity bit being indicative of a type of information being written into the non-volatile memory, the type of information being metadata or data or instructions of a program, wherein the integrity bit is a low integrity bit when the type of information is metadata, and the integrity bit is a high integrity bit when the type of information is data or instructions of a program;

receive a logical address to access memory corresponding to the write operation and convert the logical address to a physical address of the non-volatile memory;

select an error detection and correction code from among two codes depending on the integrity bit; and

write the information into the non-volatile memory at the physical address, the information being associated with the selected error detection and correction code wherein the non-volatile memory is organized in pages corresponding to an erase granularity, a same page comprising information associated with each of the two codes, wherein the data and the metadata are written in a same page comprising information associated with each of the two codes, and selecting the error detection and correction code is performed each time the information is written into the non-volatile memory.

16. The controller of claim 15 , wherein a first code of the two codes comprises fourteen bits and is associated with a sixty-four-bit word and a second code of the codes comprises seven bits and is associated with a thirty two-bit word.

17. The controller of claim 16 , wherein the information being written comprises data over thirty two bits, wherein the data is associated with the first code.

18. The controller of claim 16 , wherein the metadata is associated with the second code.

19. The controller of claim 15 , wherein selecting the error detection and correction code conditions a length of a word stored in the non-volatile memory.

20. The controller of claim 15 , wherein the controller is further configured to:

detect and correct, errors in the information stored in the non-volatile memory based on the selected error detection and correction code.

Assignments (1)
CHANGE OF NAME Recorded Oct 9, 2024
From: PROTON WORLD INTERNATIONAL
To: STMICROELECTRONICS BELGIUM
Reel/Frame 069174/0847 →
Priority Claims (1)
FR 1850927 · Feb 5, 2018 · national
Continuity (2)
Division 16261182 · Jan 29, 2019
Related Publication 20210326202A1 · Oct 21, 2021