IP Library Granted Patent US 11,061,760
Granted Patent B2
US 11,061,760 · App. 16/261,182 · Granted Jul 13, 2021

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,061,760
App. No.
16/261,182
Granted
Jul 13, 2021
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 (30)

1. A method of managing a non-volatile memory, the method comprising:

during a data writing process,

receiving 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 as being either high integrity data or low integrity data, 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,

selecting, by a program triggering the data writing process, an error detection and correction code from among two codes depending on the integrity bit; and

writing 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 memory.

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

3. The method 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 method 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 method of claim 3 , wherein the metadata is associated with the second code.

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

7. The method of claim 1 , further comprising detecting and correcting, errors in the information stored in the memory based on the selected error detection and correction code.

8. A method of managing a non-volatile memory, the method comprising:

receiving an integrity bit indicating a high integrity or low integrity during a write operation, the integrity bit being indicative of a type of information being written into the non-volatile memory as being either high integrity data or low integrity data, 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;

selecting, by a program triggering the write operation, an error detection and correction code from among two codes depending on the integrity bit received during the write operation;

providing a logical address to access memory corresponding to the write operation and converting the logical address to a physical address of the memory; and

writing information to be written into the non-volatile memory at the physical address, the information being associated with the selected error detection and correction code, wherein the 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 memory.

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

10. The method 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 method 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 method of claim 10 , wherein the metadata is associated with the second code.

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

14. The method of claim 8 , further comprising detecting and correcting, errors in the information stored in the memory based on the selected error detection and correction code.

15. A method of managing a non-volatile memory, the method comprising:

during a write operation, receiving an integrity bit indicative of a type of information to be written into the non-volatile memory, wherein the integrity bit is a low integrity bit when the type of information to be written is metadata, and the integrity bit is a high integrity bit when the type of information to be written is data;

selecting, by a program triggering the write operation, an error detection and correction code from among two error correcting codes depending on the integrity bit received during the write operation;

providing a logical address to access memory corresponding to the write operation and converting the logical address to a physical address of the memory; and

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

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

17. The method 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 method of claim 16 , wherein the metadata is associated with the second code.

Assignments (2)
CHANGE OF NAME Recorded Oct 9, 2024
From: PROTON WORLD INTERNATIONAL
To: STMICROELECTRONICS BELGIUM
Reel/Frame 069174/0847 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 29, 2019
From: MODAVE, JEAN-LOUIS; DOCQUIER, GUILLAUME
To: PROTON WORLD INTERNATIONAL N.V.
Reel/Frame 048170/0405 →
Priority Claims (1)
FR 1850927 · Feb 5, 2018 · national
Continuity (1)
Related Publication 20190243705A1 · Aug 8, 2019