IP Library Granted Patent US 10,649,916
Granted Patent B2
US 10,649,916 · App. 15/486,947 · Granted May 12, 2020

Storage in a non-volatile memory

Inventors: Michael Peeters (Tourinnes-la-Grosse, BE); Fabrice Marinet (Chateauneuf le Rouge, FR); Jean-Louis Modave (Ottignies, BE)
Assignees: STMicroelectronics (Rousset) SAS; Proton World International N.V.
G06F12/1408G06F12/0246G06F21/72G06F21/79G06F2212/1052G06F2212/402H04L2209/12
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 10,649,916
App. No.
15/486,947
Granted
May 12, 2020
Kind
B2
Abstract

A non-volatile memory is organized in pages and has a word writing granularity of one or more bytes and a block erasing granularity of one or more pages. Logical addresses are scrambling into physical addresses used to perform operations in the non-volatile memory. The scrambling includes scrambling logical data addresses based on a page structure of the non-volatile memory and scrambling logical code addresses based on a word structure of the non-volatile memory.

Claims (42)

1. A method, comprising:

scrambling, using scrambling circuitry of a non-volatile memory organized in pages and having a word writing granularity of one or more bytes and a block erasing granularity of one or more pages, logical addresses into physical addresses, by:

scrambling logical data addresses based on a page structure of the non-volatile memory, wherein scrambling a data address includes modifying a set of least significant bits representative of the data address without modifying bits representative of a page of the data address; and

scrambling logical code addresses based on a word structure of the non-volatile memory, wherein the scrambling of logical data addresses is different from the scrambling of logical code addresses, the blocks are organized into groups of blocks and scrambling a code address includes modifying a set of least significant bits representative of the code address without modifying bits representative of an address of a group of blocks; and

performing memory operations based on the physical addresses.

2. The method according to claim 1 comprising scrambling the logical addresses based on a block structure of the non-volatile memory.

3. The method according to claim 1 wherein the scrambling is based on one or more keys associated with one or more of the word structure, the page structure and the block structure of the non-volatile memory.

4. The method according to claim 1 wherein the scrambling includes modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

5. A circuit, comprising:

at least one non-volatile memory organized in pages and having a word writing granularity of one or more bytes and a block erasing granularity of one or more pages; and

scrambling circuitry coupled to the non-volatile memory and which, in operation, converts logical addresses into physical addresses, by:

scrambling logical data addresses based on a page structure of the non-volatile memory, wherein scrambling a data address includes modifying a set of least significant bits representative of the data address without modifying bits representative of a page of the data address; and

scrambling logical code addresses based on a word structure of the non-volatile memory, wherein the scrambling of logical data addresses is different from the scrambling of logical code addresses, the blocks are organized into groups of blocks and scrambling a code address includes modifying a set of least significant bits representative of the code address without modifying bits representative of an address of a group of blocks.

6. The circuit of claim 5 wherein the scrambling circuitry, in operation, scrambles the logical addresses based on a block structure of the non-volatile memory.

7. The circuit of claim 5 wherein the scrambling circuitry, in operation, scrambles addresses based on one or more keys associated with one or more of the word structure, the page structure and the block structure of the non-volatile memory.

8. The circuit of claim 5 wherein the scrambling circuitry, in operation, scrambles addresses by modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

9. A non-transitory, computer-readable medium having contents which cause a scrambling circuit of a non-volatile memory to scramble logical addresses into physical addresses, the non-volatile memory being organized in pages and having a word writing granularity of one or more bytes and a block erasing granularity of one or more pages, the scrambling comprising:

scrambling logical data addresses based on a page structure of the non-volatile memory, wherein scrambling a data address includes modifying a set of least significant bits representative of the data address without modifying bits representative of a page of the data address; and

scrambling logical code addresses based on a word structure of the non-volatile memory, wherein operations in the non-volatile memory are performed using the physical addresses, the scrambling of logical data addresses is different from the scrambling of logical code addresses, the blocks are organized into groups of blocks and scrambling a code address includes modifying a set of least significant bits representative of the code address without modifying bits representative of an address of a group of blocks.

10. The non-transitory, computer-readable medium of claim 9 wherein the scrambling comprises scrambling the logical addresses based on a block structure of the non-volatile memory.

11. The non-transitory, computer-readable medium of claim 9 wherein the scrambling is based on one or more keys associated with one or more of the word structure, the page structure and the block structure of the non-volatile memory.

12. The non-transitory, computer-readable medium of claim 9 wherein the scrambling circuit comprises a processor and the contents include instructions executed by the processor.

13. A system, comprising:

data processing circuitry;

a non-volatile memory organized in pages and having a word writing granularity of one or more bytes and a block erasing granularity of one or more pages; and

scrambling circuitry, coupled between the data processing circuitry and a decoder of the non-volatile memory, wherein the scrambling circuitry, in operation, converts logical addresses into physical addresses, by:

scrambling logical data addresses based on a page structure of the non-volatile memory, wherein scrambling a data address includes modifying a set of least significant bits representative of the data address without modifying bits representative of a page of the data address; and

scrambling logical code addresses based on a word structure of the non-volatile memory, wherein the scrambling of logical data addresses is different from the scrambling of logical code addresses, the blocks are organized into groups of blocks and scrambling a code address includes modifying a set of least significant bits representative of the code address without modifying bits representative of an address of a group of blocks.

14. The system of claim 13 wherein the scrambling circuitry, in operation, scrambles the logical addresses based on a block structure of the non-volatile memory.

15. The system of claim 13 wherein the scrambling circuitry, in operation, scrambles addresses by modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

16. The system of claim 13 wherein the system comprises an integrated circuit including at least the non-volatile memory and the scrambling circuitry.

17. The system of claim 13 , wherein

the scrambling circuitry, in operation:

responds to a read request from the data processing circuitry directed to a logical data address by scrambling the logical data address in a first manner and providing the scrambled logical data address to the decoder; and

responds to a read request from the data processing circuitry directed to a logical code address by scrambling the logical code address in a second manner, different from the first manner, and providing the scrambled logical code address to the decoder.

18. The circuit of claim 5 , wherein

the scrambling circuitry, in operation:

responds to a read request directed to a logical data address by scrambling the logical data address in a first manner; and

responds to a read request directed to a logical code address by scrambling the logical code address in a second manner, different from the first manner.

19. The method of claim 1 , comprising:

responding to a read request directed to a logical data address by scrambling the logical data address in a first manner; and

responding to a read request directed to a logical code address by scrambling the logical code address in a second manner, different from the first manner.

Assignments (4)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 10, 2023
From: STMICROELECTRONICS (ROUSSET) SAS
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 063282/0118 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 16, 2022
From: PROTON WORLD INTERNATIONAL N.V.
To: STMICROELECTRONICS INTERNATIONAL N.V.
Reel/Frame 061796/0130 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2017
From: MARINET, FABRICE
To: STMICROELECTRONICS (ROUSSET) SAS
Reel/Frame 042004/0040 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 13, 2017
From: PEETERS, MICHAEL; MODAVE, JEAN-LOUIS
To: PROTON WORLD INTERNATIONAL N.V.
Reel/Frame 042004/0047 →
Priority Claims (1)
FR 16 61108 · Nov 16, 2016 · national
Continuity (1)
Related Publication 20180137061A1 · May 17, 2018