US2023315290A1PendingUtilityA1

Namespaces allocation in non-volatile memory devices

Assignee: MICRON TECHNOLOGY INCPriority: Oct 23, 2017Filed: Jun 8, 2023Published: Oct 5, 2023
Est. expiryOct 23, 2037(~11.2 yrs left)· nominal 20-yr term from priority
Inventors:Alex Frolikov
G06F 3/0608G06F 12/0246G06F 3/0688G06F 3/0607G06F 3/0652G06F 3/0631G06F 3/0604G06F 3/0673G06F 2212/7201G06F 13/4282Y02D10/00G06F 2212/7204G06F 2212/1016G06F 2212/1056G06F 2213/0026
80
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A computer storage device having a host interface, a controller, non-volatile storage media, and firmware. The firmware instructs the controller to: receive, via the host interface, a request from a host to allocate a namespace of a quantity of non-volatile memory; generate, in response to the request, a namespace map identifying a plurality of blocks of addresses having a same predetermined block size, and a partial block of addresses having a size smaller than the predetermined block size; and convert, using the namespace map, logical addresses in the namespace communicated from the host to physical addresses for the quantity of the non-volatile memory. For example, the request for allocating the namespace can be in accordance with an NVMe protocol.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
         1 . A device, comprising:
 a memory; and   a circuit configured to translate, based on a plurality of block sizes, first logical addresses specified in first storage spaces defined in portions of the memory into second logical addresses specified in a second storage space defined in the memory.   
     
     
         2 . The device of  claim 1 , wherein the first storage spaces include a namespace allocated from a storage capacity of the memory. 
     
     
         3 . The device of  claim 2 , wherein the second storage space includes the storage capacity. 
     
     
         4 . The device of  claim 1 , wherein the circuit is configured to divide, according to the plurality of block sizes, the first logical addresses in the first storage spaces into first blocks and map the first blocks into second blocks in the second storage space. 
     
     
         5 . The device of  claim 4 , wherein the first blocks include third logical addresses that are specified continuously in one of the first storage spaces; and fourth logical addresses, mapped from the third logical addresses, are not continuous in the second storage space. 
     
     
         6 . The device of  claim 5 , wherein the plurality of block sizes include a common block size shared across the first storage spaces in division of the first logical addresses in the first storage spaces into the first blocks. 
     
     
         7 . The device of  claim 6 , wherein each of the first storage spaces is divided by no more than two block sizes;
 wherein each of the first storage spaces is divided by at least one block size that is no larger than the common block size; and   wherein each of the first storage spaces is divided to include no more than one block of logical addresses having a block size that is different from the common block size.   
     
     
         8 . The device of  claim 7 , wherein the circuit is configured at least in part via firmware. 
     
     
         9 . The device of  claim 7 , wherein the circuit is configured to consolidate at least two of the first blocks into being mapped within a third block having the common block size in the second storage space. 
     
     
         10 . A method, comprising:
 allocating a plurality of first storage spaces respectively from a plurality of portions of a memory of a device; and   translating, by the device based on a plurality of block sizes, first logical addresses specified in the first storage spaces into second logical addresses specified in a second storage space defined in the memory.   
     
     
         11 . The method of  claim 10 , further comprising:
 dividing, according to the plurality of block sizes, the first logical addresses in the first storage spaces into first blocks to map the first blocks into second blocks in the second storage space.   
     
     
         12 . The method of  claim 11 , wherein the first blocks include third logical addresses that are specified continuously in one of the first storage spaces; and fourth logical addresses, mapped from the third logical addresses, are not continuous in the second storage space. 
     
     
         13 . The method of  claim 12 , wherein the plurality of block sizes include a common block size shared across the first storage spaces in division of the first logical addresses in the first storage spaces into the first blocks. 
     
     
         14 . The method of  claim 13 , wherein each of the first storage spaces is divided by no more than two block sizes;
 wherein each of the first storage spaces is divided by at least one block size that is no larger than the common block size; and   wherein each of the first storage spaces is divided to include no more than one block of logical addresses having a block size that is different from the common block size.   
     
     
         15 . The method of  claim 14 , wherein the first storage spaces include a namespace allocated from a storage capacity of the memory; and the second storage space includes the storage capacity. 
     
     
         16 . The method of  claim 14 , further comprising:
 consolidating, at least two of the first blocks into being mapped within a third block having the common block size in the second storage space.   
     
     
         17 . A non-transitory computer storage medium storing instructions which, when executed by a device having a memory, cause the device to perform a method, the method comprising:
 allocating a plurality of first storage spaces respectively from a plurality of portions of the memory of the device; and   translating, by the device based on a plurality of block sizes, first logical addresses specified in the first storage spaces into second logical addresses specified in a second storage space defined in the memory.   
     
     
         18 . The non-transitory computer storage medium of  claim 17 , wherein the method further comprises:
 dividing, according to the plurality of block sizes, the first logical addresses in the first storage spaces into first blocks to map the first blocks into second blocks in the second storage space.   
     
     
         19 . The non-transitory computer storage medium of  claim 18 , wherein the first blocks include third logical addresses that are specified continuously in one of the first storage spaces; and fourth logical addresses, mapped from the third logical addresses, are not continuous in the second storage space; and
 wherein the plurality of block sizes include a common block size shared across the first storage spaces in division of the first logical addresses in the first storage spaces into the first blocks.   
     
     
         20 . The non-transitory computer storage medium of  claim 19 , wherein each of the first storage spaces is divided by no more than two block sizes;
 wherein each of the first storage spaces is divided by at least one block size that is no larger than the common block size;   wherein each of the first storage spaces is divided to include no more than one block of logical addresses having a block size that is different from the common block size; and   wherein the method further comprises:
 consolidating, at least two of the first blocks into being mapped within a third block having the common block size in the second storage space.

Join the waitlist — get patent alerts

Track US2023315290A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.