Common pool management
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-modified1 . 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.