Dynamically determining a ratio of memory blocks to include in a garbage collection process
Abstract
A data storage device includes a first partition having memory blocks of a first type and a second partition having memory blocks of a second type. The second partition also includes hybrid memory blocks. A storage balancing system monitors a state of each partition and determines whether to initiate a garbage collection process. The storage balancing system also determines whether hybrid memory blocks, if included in the garbage collection process, are replaceable by allocating memory blocks of the second type as new hybrid memory blocks. If the storage balancing system determines the hybrid memory blocks are not replaceable, the storage balancing system dynamically determines a ratio of memory blocks of the first type and hybrid memory blocks to include in the garbage collection process.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method, comprising:
monitoring a storage state of a data storage device, the data storage device including a first partition having a plurality of a first type of memory blocks and a second partition including a plurality of a second type of memory blocks and a plurality of hybrid memory blocks; initiating a garbage collection process based, at least in part, on the monitored storage state of the data storage device; determining whether an amount of free space in the second partition is below a capacity threshold; and based, at least in part, on determining the amount of free space in the second partition is below the capacity threshold:
including a hybrid memory block in the garbage collection process, the hybrid memory block acting as the first type of memory block;
selecting a second type of memory block of the plurality of the second type of memory blocks to replace the hybrid memory block; and
identifying the selected second type of memory block as a new hybrid memory block.
2 . The method of claim 1 , wherein the selected second type of memory block of the plurality of the second type of memory blocks is selected based, at least in part, on a number of program/erase (P/E) cycles associated with the selected second type of memory block.
3 . The method of claim 1 , wherein the storage state of the data storage device is based, at least in part, on one or more of a number of free memory blocks in the first partition and a number of free memory blocks in the second partition.
4 . The method of claim 1 , further comprising selecting a ratio of the first type of memory blocks to hybrid memory blocks to include in the garbage collection process based, at least in part, on determining the amount of free space in the second partition is above the capacity threshold.
5 . The method of claim 4 , wherein the ratio of the first type of memory blocks to hybrid memory blocks is based, at least in part, on a state of the first partition and a state of the second partition.
6 . The method of claim 5 , wherein the state of the first partition is selected from group of states including a burst state, a sustained state, an urgent state and a super urgent state.
7 . The method of claim 6 , wherein the state of the second partition is selected from group of states including a burst state, a sustained state, an urgent state and a super urgent state.
8 . The method of claim 6 , wherein the garbage collection process includes a folding process or a compaction process and wherein the ratio of the first type of memory blocks to hybrid memory blocks is based, at least in part, on whether the garbage collection process includes the folding process or the compaction process.
9 . The method of claim 1 , wherein the first type of memory blocks are single-level cell (SLC) memory blocks and the second type of memory blocks are quad-level cell (QLC) memory blocks.
10 . The method of claim 1 , further comprising causing the new hybrid memory block to operate in a mode associated with the first type of memory blocks.
11 . A system, comprising:
a processor; and a memory communicatively coupled to the processor and storing instructions that, when executed by the processor, perform operations, comprising:
monitoring a storage state of a data storage device associated with the system, the data storage device including a first partition comprising a plurality of a first type of memory blocks and a second partition comprising a plurality of a second type of memory blocks and a plurality of hybrid memory blocks;
initiating a garbage collection process based, at least in part, on the monitored storage state of the data storage device; and
selecting a ratio of the first type of memory blocks to hybrid memory blocks to include in the garbage collection process based, at least in part, on the storage state of the data storage device.
12 . The system of claim 11 , further comprising instructions for determining whether a hybrid memory block that is included in the garbage collection process is replaceable by a second type of memory block of the plurality of the second type of memory blocks.
13 . The system of claim 12 , wherein the second type of memory block of the plurality of the second type of memory blocks is selected based, at least in part, on a number of program/erase (P/E) cycles associated with the second type of memory block.
14 . The system of claim 11 , wherein the storage state of the data storage device includes an amount of available space in the first partition and an amount of available space in the second partition.
15 . The system of claim 11 , wherein the garbage collection process includes one of a compaction process and a folding process.
16 . The system of claim 15 , wherein selecting the ratio of the first type of memory blocks to the hybrid memory blocks to include in the garbage collection process is based, at least in part, on whether the garbage collection process includes the compaction process or the folding process.
17 . A system, comprising:
means for monitoring a storage state of a data storage means associated with the system, the data storage means including a first partition comprising a plurality of a first type of memory blocks and a second partition comprising a plurality of a second type of memory blocks and a plurality of hybrid memory blocks; means for initiating a garbage collection process based, at least in part, on the monitored storage state of the data storage means; and means for selecting a ratio of the first type of blocks to hybrid memory blocks to include in the garbage collection process based, at least in part, on the storage state of the data storage means.
18 . The system of claim 17 , further comprising means for determining whether a hybrid memory block that is included in the garbage collection process is replaceable by a second type of memory block of the plurality of the second type of memory blocks.
19 . The system of claim 18 , wherein the second type of memory block of the plurality of the second type of memory blocks is selected based, at least in part, on a number of program/erase (P/E) cycles associated with the second type of memory block.
20 . The system of claim 17 , wherein the first type of memory blocks are single-level cell (SLC) memory blocks and the second type of memory blocks are quad-level cell (QLC) memory blocks.Join the waitlist — get patent alerts
Track US2025077102A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.