Methods and Systems for Scalable and Distributed Address Mapping Using Non-Volatile Memory Modules
First Claim
1. A method for operating a storage device having a plurality of NVM modules, each NVM module including two or more non-volatile memory devices, the method comprising:
- receiving or accessing a host command that specifies an operation to be performed and a logical address corresponding to a portion of non-volatile memory within the storage device;
at a storage controller for the storage device;
mapping the specified logical address to a first subset of a physical address corresponding to the specified logical address, using a first address translation table;
identifying an NVM module of the plurality of NVM modules, in accordance with the first subset of the physical address;
at the identified NVM module;
mapping the specified logical address to a second subset of the physical address corresponding to the specified logical address, using a second address translation table;
identifying the portion of non-volatile memory within the identified NVM module corresponding to the second subset of the physical address; and
executing the specified operation on the identified portion of non-volatile memory in the identified NVM module.
3 Assignments
0 Petitions
Accused Products
Abstract
In a method to provide scalable and distributed address mapping in a storage device, a host command that specifies an operation to be performed and a logical address corresponding to a portion of memory within the storage device is received or accessed. A storage controller of the storage device maps the specified logical address to a first subset of a physical address, using a first address translation table, and identifies an NVM module of the plurality of NVM modules, in accordance with the first subset of a physical address. The method further includes, at the identified NVM module, mapping the specified logical address to a second subset of the physical address, using a second address translation table, identifying the portion of non-volatile memory within the identified NVM module corresponding to the specified logical address, and executing the specified operation on the portion of memory in the identified NVM module.
-
Citations
22 Claims
-
1. A method for operating a storage device having a plurality of NVM modules, each NVM module including two or more non-volatile memory devices, the method comprising:
-
receiving or accessing a host command that specifies an operation to be performed and a logical address corresponding to a portion of non-volatile memory within the storage device; at a storage controller for the storage device; mapping the specified logical address to a first subset of a physical address corresponding to the specified logical address, using a first address translation table; identifying an NVM module of the plurality of NVM modules, in accordance with the first subset of the physical address; at the identified NVM module; mapping the specified logical address to a second subset of the physical address corresponding to the specified logical address, using a second address translation table; identifying the portion of non-volatile memory within the identified NVM module corresponding to the second subset of the physical address; and executing the specified operation on the identified portion of non-volatile memory in the identified NVM module. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A storage device, comprising:
-
an interface for coupling the storage device to a host system; a plurality of NVM modules, each NVM module including two or more non-volatile memory devices; a storage controller having one or more processors, the storage controller configured to; receive or access a host command specifying an operation to be performed and a logical address corresponding to a portion of non-volatile memory within the storage device; map the specified logical address to a first subset of a physical address corresponding to the specified logical address, using a first address translation table; and identify an NVM module of the plurality of NVM modules, in accordance with the first subset of the physical address; and wherein the identified NVM module of the plurality of NVM modules is configured to; map the specified logical address to a second subset of the physical address corresponding to the specified logical address, using a second address translation table; identify the portion of non-volatile memory within the NVM module corresponding to the second subset of the physical address; and execute the specified operation on the identified portion of non-volatile memory in the identified NVM module. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A storage device, comprising:
-
an interface for coupling the storage device to a host system; a plurality of NVM modules, each NVM module including two or more non-volatile memory devices; a storage controller having one or more processors, the storage controller including; a command module to receive or access a host command specifying an operation to be performed and a logical address corresponding to a portion of non-volatile memory within the storage device; a map module to map the specified logical address to a first subset of a physical address corresponding to the specified logical address, using a first address translation table; and a forwarding module to forward a command, corresponding to the host command, to an NVM module of the plurality of NVM modules identified in accordance with the first subset of the physical address; and wherein the identified NVM module of the plurality of NVM modules includes; a second address translation table to map the specified logical address to a second subset of the physical address corresponding to the specified logical address; and an execution module to execute the specified operation on the portion of non-volatile memory in the identified NVM module, wherein the portion of non-volatile memory within the NVM module corresponds to the second subset of the physical address.
-
Specification