US2021157501A1PendingUtilityA1

Common pool management

Assignee: MICRON TECHNOLOGY INCPriority: Oct 31, 2017Filed: Feb 1, 2021Published: May 27, 2021
Est. expiryOct 31, 2037(~11.3 yrs left)· nominal 20-yr term from priority
G06F 3/0658G06F 3/0638G06F 12/0246G06F 3/0631G06F 2212/7201G06F 3/0659G06F 3/0604G06F 3/0679G06F 12/10G06F 3/0644G06F 3/0605G06F 2212/2022
61
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

Devices, methods, and machine-readable mediums are disclosed to create NAND-level logical partitions instead of physical partitions, for example, in a common pool of memory of a NAND memory device. A command can be received from a host to create a physical partition in a common pool of memory of the NAND memory device. A NAND-level logical partition can be created in the common pool of memory, instead of creating the physical partition, without allocating specific memory cells of the common pool of memory to the NAND-level logical partition. A response can be sent to the host indicative that the physical partition in the common pool of memory has been created, the response comprising a partition identifier and a range of Logical Block Addresses (LBAs) for the partition in the common pool of memory.

Claims

exact text as granted — not AI-modified
1 . A NAND memory device comprising:
 a NAND memory array including a common pool of memory; and   a controller, the controller executing instructions to cause the controller to perform operations comprising:
 receiving a command from a host to create a physical partition in the common pool of memory, the command comprising a physical partition size; 
 creating a NAND-level logical partition in the common pool of memory, instead of creating the physical partition in the NAND memory array, without allocating specific memory cells of the common pool of memory to the NAND-level logical partition; and 
 sending a response to the host indicative that the physical partition in the common pool of memory has been created, the response comprising a partition identifier and a range of Logical Block Addresses (LBAs) for the partition in the common pool of memory. 
   
     
     
         2 . The NAND memory device of  claim 1 , wherein receiving the command from the host to create the physical partition in the common pool of memory comprises receiving a physical partition size,
 wherein the operations further comprise determining if the physical partition size exceeds an unallocated storage capacity of the common pool of memory, and   wherein creating the NAND-level logical partition in the common pool of memory comprises in response to determining that the physical partition size does not exceed the unallocated storage capacity of the common pool of memory.   
     
     
         3 . The NAND memory device of  claim 1 , wherein creating the NAND-level logical partition comprises reserving space in the common pool of memory for the NAND-level logical partition and allocating the range of LBAs in the common pool of memory according to the physical partition size of the physical partition of the command from the host. 
     
     
         4 . The NAND memory device of  claim 1 , wherein the operations further comprise:
 translating a request from the host identifying the physical partition and an LBA to a physical address of the NAND-level logical partition in the common pool of memory, wherein translating the request from the host comprises mapping a received partition identifier and an LBA in the range of LBAs to a physical location in the common pool of memory; and   performing a request from the host on the physical location.   
     
     
         5 . The NAND memory device of  claim 1 , wherein the operations further comprise:
 configuring memory cells from the common pool of memory used to service the physical partition to meet a requirement specified by the host in the command to create the physical partition.   
     
     
         6 . The NAND memory device of  claim 5 , wherein the requirement is that memory cells be configured as a Single Level Cell (SLC). 
     
     
         7 . The NAND memory device of  claim 1 , wherein the NAND-level logical partition appears to the host to be a physical partition, and wherein sending a response to the host indicative that the physical partition has been created comprises without creating the physical partition. 
     
     
         8 . A NAND memory device comprising:
 a NAND memory array including a common pool of memory; and   a controller, the controller executing instructions to cause the controller to perform operations comprising:
 receiving a command from a host to create a physical partition in the common pool of memory having a specified service level; 
 creating a NAND-level logical partition in the common pool of memory, instead of creating the physical partition in the NAND memory array, without allocating specific memory cells of the common pool of memory to the NAND-level logical partition; 
 sending a response to the host indicative that the physical partition in the common pool of memory has been created, the response comprising a partition identifier and a range of Logical Block Addresses (LBAs) for the partition in the common pool of memory; 
 receiving a memory command from the host to store data in the partition identifier portion of the common pool of memory; 
 configuring memory cells from the common pool of memory according to the specific service level of the physical partition; and 
 storing data associated with the memory command in the common pool of memory at the specific service level. 
   
     
     
         9 . The NAND memory device of  claim 8 , wherein the specified service level comprises a single-level cell (SLC) requirement that the memory cells of the partition be configured as SLC. 
     
     
         10 . The NAND memory device of  claim 8 , wherein the specified service level is one of a plurality of service levels, the plurality of service levels comprising:
 a single-level cell (SLC) service level where each memory cell of the partition represents one bit of data; and   a multi-level cell (MLC) service level where each memory cell of the partition represents more than one bit of data.   
     
     
         11 . The NAND memory device of  claim 8 , wherein the specified service level is one of a plurality of service levels, the plurality of service levels comprising:
 a single-level cell (SLC) service level where each memory cell of the partition represents one bit of data;   a multi-level cell (MLC) service level where each memory cell of the partition represents at least two bits of data;   a triple-level cell (TLC) service level where each memory cell of the partition represents at least three bits of data; and   a quad-level cell (QLC) service level where each memory cell of the partition represents at least four bits of data.   
     
     
         12 . The NAND memory device of  claim 8 , wherein configuring memory cells from the common pool of memory according to the specific service level of the physical partition comprises:
 reconfiguring memory cells from a service level different than the specified service level to the specified service level.   
     
     
         13 . The NAND memory device of  claim 8 , wherein receiving the command from the host to create the physical partition in the common pool of memory comprises receiving a physical partition size,
 wherein the operations further comprise determining if the physical partition size exceeds an unallocated storage capacity of the common pool of memory, and   wherein creating the NAND-level logical partition in the common pool of memory comprises in response to determining that the physical partition size does not exceed the unallocated storage capacity of the common pool of memory.   
     
     
         14 . The NAND memory device of  claim 8 , wherein creating the NAND-level logical partition comprises reserving space in the common pool of memory for the NAND-level logical partition and allocating the range of LBAs in the common pool of memory according to the physical partition size of the physical partition of the command from the host. 
     
     
         15 . The NAND memory device of  claim 8 , wherein the operations further comprise:
 translating a request from the host identifying the physical partition and an LBA to a physical address of the NAND-level logical partition in the common pool of memory, wherein translating the request from the host comprises mapping a received partition identifier and an LBA in the range of LBAs to a physical location in the common pool of memory; and   performing a request from the host on the physical location.   
     
     
         16 . A method comprising:
 receiving a command from a host to create a physical partition in a common pool of memory on a NAND memory device, the command comprising a physical partition size;   creating a NAND-level logical partition in the common pool of memory, instead of creating the physical partition, without allocating specific memory cells of the common pool of memory to the NAND-level logical partition; and   sending a response to the host indicative that the physical partition in the common pool of memory has been created, the response comprising a partition identifier and a range of Logical Block Addresses (LBAs) for the partition in the common pool of memory.   
     
     
         17 . The method of  claim 16 , wherein receiving the command from a host to create the physical partition in the common pool of memory comprises receiving a command having a specified service level, and
 wherein the method further comprises:
 receiving a memory command from the host to store data in the partition identifier portion of the common pool of memory; 
 configuring memory cells from the common pool of memory according to the specific service level of the physical partition; and 
 storing data associated with the memory command in the common pool of memory at the specific service level. 
   
     
     
         18 . The method of  claim 17 , wherein the specified service level is one of a plurality of service levels, the plurality of service levels comprising:
 a single-level cell (SLC) service level where each memory cell of the partition represents one bit of data; and   a multi-level cell (MLC) service level where each memory cell of the partition represents more than one bit of data.   
     
     
         19 . A non-transitory machine-readable medium comprising instructions, which when executed, causes a machine to perform operations comprising:
 receiving a command from a host to create a physical partition in a common pool of memory on a NAND memory device, the command comprising a physical partition size;   creating a NAND-level logical partition in the common pool of memory, instead of creating the physical partition, without allocating specific memory cells of the common pool of memory to the NAND-level logical partition; and   sending a response to the host indicative that the physical partition in the common pool of memory has been created, the response comprising a partition identifier and a range of Logical Block Addresses (LBAs) for the partition in the common pool of memory.   
     
     
         20 . The machine-readable medium of  claim 15 , wherein receiving the command from a host to create the physical partition in the common pool of memory comprises receiving a command having a specified service level,
 wherein the specified service level is one of a plurality of service levels, the plurality of service levels comprising:
 a single-level cell (SLC) service level where each memory cell of the partition represents one bit of data; and 
 a multi-level cell (MLC) service level where each memory cell of the partition represents more than one bit of data, and 
   wherein the operations further comprise:
 receiving a memory command from the host to store data in the partition identifier portion of the common pool of memory; 
 configuring memory cells from the common pool of memory according to the specific service level of the physical partition; and 
 storing data associated with the memory command in the common pool of memory at the specific service level.

Join the waitlist — get patent alerts

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

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