IP Library Granted Patent US 11,003,595
Granted Patent B2
US 11,003,595 · App. 16/841,403 · Granted May 11, 2021

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 11,003,595
App. No.
16/841,403
Granted
May 11, 2021
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 (70)

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; 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; and

performing memory operations based on the physical addresses, 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; and

the scrambling includes modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

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

3. The method according to claim 1 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.

4. The method according to claim 1 wherein the blocks are organized into groups of blocks.

5. The method according to claim 4 wherein 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 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.

7. 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; 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, 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; and

the scrambling includes modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

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

9. The circuit of claim 7 wherein the scrambling circuitry, in operation, scrambles a data address by modifying a set of least significant bits representative of the data address without modifying bits representative of a page of the data address.

10. The circuit of claim 7 wherein blocks of the non-volatile memory are organized into groups of blocks.

11. The circuit of claim 7 wherein the scrambling circuitry, in operation, scrambles a code address by modifying a set of least significant bits representative of the code address without modifying bits representative of an address of a group of blocks.

12. The circuit of claim 7 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.

13. The circuit of claim 7 wherein the scrambling circuitry comprises:

a first scrambling circuit which, in operation, scrambles logical addresses based on a page structure of the non-volatile memory;

a second scrambling circuit which, in operation, scrambles logical addresses based on a word structure of the non-volatile memory; and

a first multiplexer, which, in operation, routes logical addresses toward one of the first scrambling circuit and the second scrambling circuit based on whether the logical address is a logical data address or a logical code address.

14. The circuit of claim 13 wherein the scrambling circuitry comprises:

a third scrambling circuit which, in operation, scrambles logical addresses based on a block structure of the non-volatile memory; and

a second multiplexer which, in operation, routes a scrambled logical address output by one of the first scrambling circuit and the second scrambling circuit toward the third scrambling circuit based on whether the scrambled logical address is a scrambled logical data address or a scrambled logical code address.

15. The circuit of claim 7 wherein the scrambling circuitry comprises:

a first scrambling circuit which, in operation, scrambles logical addresses based on a page structure of the non-volatile memory;

a second scrambling circuit which, in operation, scrambles logical addresses based on a word structure of the non-volatile memory;

a third scrambling circuit which, in operation, scrambles logical addresses based on a block structure of the non-volatile memory; and

a multiplexer which, in operation, routes a scrambled logical address output by one of the first scrambling circuit and the second scrambling circuit toward the third scrambling circuit based on whether the scrambled logical address is a scrambled logical data address or a scrambled logical code address.

16. 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; 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 and the scrambling of logical data addresses is different from the scrambling of logical code addresses, 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; and

the scrambling includes modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

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

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

19. 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; 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, 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; and

the scrambling includes modifying a set of most significant bits representative of an address without modifying bits representative of a word within a page.

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

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

22. The system of claim 19 wherein the scrambling circuitry comprises:

a first scrambling circuit which, in operation, scrambles logical addresses based on a page structure of the non-volatile memory;

a second scrambling circuit which, in operation, scrambles logical addresses based on a word structure of the non-volatile memory; and

a first multiplexer, which, in operation, routes logical addresses toward one of the first scrambling circuit and the second scrambling circuit based on whether the logical address is a logical data address or a logical code address.

23. The system of claim 22 wherein the scrambling circuitry comprises:

a third scrambling circuit which, in operation, scrambles logical addresses based on a block structure of the non-volatile memory; and

a second multiplexer which, in operation, routes a scrambled logical address output by one of the first scrambling circuit and the second scrambling circuit toward the third scrambling circuit based on whether the scrambled logical address is a scrambled logical data address or a scrambled logical code address.

24. The system of claim 19 wherein the scrambling circuitry comprises:

a first scrambling circuit which, in operation, scrambles logical addresses based on a page structure of the non-volatile memory;

a second scrambling circuit which, in operation, scrambles logical addresses based on a word structure of the non-volatile memory;

a third scrambling circuit which, in operation, scrambles logical addresses based on a block structure of the non-volatile memory; and

a multiplexer which, in operation, routes a scrambled logical address output by one of the first scrambling circuit and the second scrambling circuit toward the third scrambling circuit based on whether the scrambled logical address is a scrambled logical data address or a scrambled logical code address.

Assignments (2)
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 →
Priority Claims (1)
FR 1661108 · Nov 16, 2016 · national
Continuity (2)
Continuation 15486947 · Apr 13, 2017
Related Publication 20200233815A1 · Jul 23, 2020