Non-volatile memory module with physical-to-physical address remapping
First Claim
1. A non-volatile memory module, comprising:
- a plurality of physical die of non-volatile memory, each physical die having one or more units of memory, each unit of memory being addressable by a respective first address, wherein at least a portion of the respective first address is a physical address portion corresponding to a physical location of the unit of memory;
one or more processors; and
memory storing a set of instructions for execution by the one or more processors, the set of instructions when executed by the one or more processors causing the non-volatile memory module to;
for each unit of memory of a sequence of two or more units of memory in the plurality of physical die of non-volatile memory;
determine a validity state of the unit of memory, wherein the validity state is one of a valid state and an invalid state;
in accordance with a determination that the validity state of the unit of memory is the invalid state;
store, in a table, a second address assigned to the unit of memory, wherein at least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory that is distinct from the unit of memory; and
in accordance with a determination that the validity state of the unit of memory is the valid state;
forgo assignment of the second address corresponding to the unit of memory;
wherein;
the non-volatile memory module is configured to concurrently perform N read/write operations to N physical die, in parallel, where N is an integer greater than 2; and
for each unit of memory determined to be in the invalid state, the second address is an address that preserves the non-volatile memory module'"'"'s ability to concurrently perform N read/write operations to N physical die.
3 Assignments
0 Petitions
Accused Products
Abstract
The various embodiments described herein include systems, methods and/or devices used to enable physical-to-physical address remapping in a storage module. In one aspect, the method includes, for each of a sequence of two or more units of non-volatile memory, determining a validity state of a respective unit of memory. In accordance with a determination that the validity state of the respective unit of memory is an invalid state, the method includes storing, in a table, a second address assigned to the respective unit of memory. At least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory. In accordance with a determination that the validity state of the respective unit of memory is a valid state, the method includes forgoing assignment of the second address corresponding to the unit of memory.
73 Citations
23 Claims
-
1. A non-volatile memory module, comprising:
-
a plurality of physical die of non-volatile memory, each physical die having one or more units of memory, each unit of memory being addressable by a respective first address, wherein at least a portion of the respective first address is a physical address portion corresponding to a physical location of the unit of memory; one or more processors; and memory storing a set of instructions for execution by the one or more processors, the set of instructions when executed by the one or more processors causing the non-volatile memory module to; for each unit of memory of a sequence of two or more units of memory in the plurality of physical die of non-volatile memory; determine a validity state of the unit of memory, wherein the validity state is one of a valid state and an invalid state; in accordance with a determination that the validity state of the unit of memory is the invalid state;
store, in a table, a second address assigned to the unit of memory, wherein at least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory that is distinct from the unit of memory; andin accordance with a determination that the validity state of the unit of memory is the valid state;
forgo assignment of the second address corresponding to the unit of memory;wherein; the non-volatile memory module is configured to concurrently perform N read/write operations to N physical die, in parallel, where N is an integer greater than 2; and for each unit of memory determined to be in the invalid state, the second address is an address that preserves the non-volatile memory module'"'"'s ability to concurrently perform N read/write operations to N physical die. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for physical-to-physical address remapping in a non-volatile memory module, comprising:
-
for each unit of memory of a sequence of two or more units of memory in a plurality of physical die of non-volatile memory; determining a validity state of the unit of memory, wherein the validity state is one of a valid state and an invalid state; in accordance with a determination that the validity state of the unit of memory is the invalid state;
storing, in a table, a second address assigned to the unit of memory, wherein at least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory that is distinct from the unit of memory; andin accordance with a determination that the validity state of the unit of memory is the valid state;
forgoing assignment of the second address corresponding to the unit of memory; andconcurrently performing N read/write operations to N physical die in the non-volatile memory module, in parallel, where N is an integer greater than 2; wherein, for each unit of memory determined to be in the invalid state, the second address is an address that preserves the non-volatile memory module'"'"'s ability to concurrently perform N read/write operations to N physical die. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A non-transitory computer-readable storage medium, storing one or more programs for execution by one or more processors of a non-volatile memory module, the one or more programs including instructions that cause the non-volatile memory module to:
-
for each unit of memory of a sequence of two or more units of memory in the plurality of physical die of non-volatile memory; determine a validity state of the unit of memory, wherein the validity state is one of a valid state and an invalid state; in accordance with a determination that the validity state of the unit of memory is the invalid state;
store, in a table, a second address assigned to the unit of memory, wherein at least a portion of the second address is a physical address portion corresponding to a physical location of a second unit of memory that is distinct from the unit of memory; andin accordance with a determination that the validity state of the unit of memory is the valid state;
forgo assignment of the second address corresponding to the unit of memory; andconcurrently perform N read/write operations to N physical die in the non-volatile memory module, in parallel, where N is an integer greater than 2; wherein, for each unit of memory determined to be in the invalid state, the second address is an address that preserves the non-volatile memory module'"'"'s ability to concurrently perform N read/write operations to N physical die. - View Dependent Claims (22, 23)
-
Specification