Media management based on data access metrics
Abstract
A system includes: a memory device; and a processing device, operatively coupled with the memory device, to perform operations including: dividing a translation map into a plurality of portions of the translation map, the translation map mapping a plurality of logical block addresses to a plurality of physical block addresses of the memory device, each of the plurality of portions of the translation map corresponding to a plurality of blocks of the memory device, wherein a portion of the plurality of portions of the translation map comprises a plurality of entries, each entry mapping a logical block address to a physical block address of the memory device; updating, responsive to receiving a data access request, a counter of data access operations performed using each of the plurality of portions of the translation map; responsive to determining that a predefined condition is satisfied, identifying a portion of the plurality of portions of the translation map based on the counter of data access operations; identifying a block among a plurality of blocks of the memory device corresponding to the identified portion of the translation map; and performing a garbage collection operation on the identified block.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A system comprising:
a memory device; and a processing device, operatively coupled with the memory device, to perform operations comprising:
dividing a translation map into a plurality of portions of the translation map, the translation map mapping a plurality of logical block addresses to a plurality of physical block addresses of the memory device, each of the plurality of portions of the translation map corresponding to a plurality of blocks of the memory device, wherein a portion of the plurality of portions of the translation map comprises a plurality of entries, each entry mapping a logical block address to a physical block address of the memory device;
updating, responsive to receiving a data access request, a counter of data access operations performed using each of the plurality of portions of the translation map;
responsive to determining that a predefined condition is satisfied, identifying, based on the counter of data access operations, a portion of the plurality of portions of the translation map;
identifying a block among a plurality of blocks of the memory device, the block corresponding to the identified portion of the translation map; and
performing a garbage collection operation on the identified block.
2 . The system of claim 1 , wherein determining that the predefined condition is satisfied comprises determining that a data state metric of a first block satisfies a threshold condition.
3 . The system of claim 2 , wherein the processing device is to perform operations further comprising:
identifying the first block; placing the first block in a pool of candidate blocks for the garbage collection operation; and selecting a source block from the pool for the garbage collection operation, wherein the identified block is the source block.
4 . The system of claim 3 , wherein selecting the source block from the pool for the garbage collection operation comprises:
selecting the source block from the pool based on an order of the candidate blocks placed in the pool.
5 . The system of claim 3 , wherein selecting the source block from the pool for the garbage collection operation comprises:
selecting the source block from the pool based on a priority associated with the candidate blocks placed in the pool.
6 . The system of claim 1 , wherein determining that the predefined condition is satisfied comprises determining that a number of available blocks to perform data access operations is below a threshold number.
7 . The system of claim 1 , wherein determining that the predefined condition is satisfied comprises determining that a state wear leveling is to be performed.
8 . The system of claim 1 , wherein identifying the portion of the plurality of portions of the translation map comprises:
identifying the portion of the plurality of portions of the translation map based on comparing a value of the counter of data access operations for each of the plurality of portions of the translation map.
9 . The system of claim 1 , wherein identifying the block among the plurality of blocks of the memory device comprises:
identifying the block among the plurality of blocks of the memory device based on an amount of valid data associated with each of the plurality of blocks of the memory device.
10 . The system of claim 1 , wherein a value of the counter of data access operations associated with the identified portion is less than the value of the counter of data access operations associated with other portions of the plurality of portions of the translation map.
11 . The system of claim 1 , wherein the data access request comprises a request for a write operation, and the counter of data access operations comprises a write counter counting the write operations performed using each of the plurality of portions of the translation map.
12 . The system of claim 1 , wherein the data access request comprises a request for a read operation, and the counter of data access operations comprises a read counter counting the read operations performed using each of the plurality of portions of the translation map.
13 . The system of claim 1 , wherein updating the counter of data access operations performed using each of the plurality of portions of the translation map comprises:
receiving the data access request, wherein the data access request specifies a first logical block address associated with a first portion of the plurality of portions of the translation map; performing the data access operation using a first physical block address, wherein the first physical block address corresponds to the first logical block address; and incrementing a value of the counter of data access operations performed using the first portion of the plurality of portions of the translation map.
14 . The system of claim 1 , wherein performing the garbage collection operation on the identified block comprises:
mitigating data from the identified block to a destination block, wherein a count of erase operations performed on the destination block is lower than a threshold value
15 . The system of claim 14 , wherein the processing device is to perform operations further comprising:
selecting the destination block from a pool of candidate blocks, wherein the count of erase operations performed on the destination block is lowest in the pool.
16 . A method comprising:
dividing, by a processing device, a translation map into a plurality of portions of a translation map, the translation map mapping a plurality of logical block addresses to a plurality of physical block addresses of a memory device, each of the plurality of portions of the translation map corresponding to a plurality of blocks of the memory device, wherein a portion of the plurality of portions of the translation map comprises a plurality of entries, each entry mapping a logical block address to a physical block address of the memory device; updating, responsive to receiving a data access request, a counter of data access operations performed using each of the plurality of portions of the translation map; responsive to determining that a predefined condition is satisfied, identifying, based on the counter of data access operations, a portion of the plurality of portions of the translation map; identifying a block among a plurality of blocks of the memory device, the block corresponding to the identified portion of the translation map; and performing a garbage collection operation on the identified block.
17 . The method of claim 16 , wherein identifying the portion of the plurality of portions of the translation map comprises:
identifying the portion of the plurality of portions of the translation map based on comparing a value of the counter of data access operations for each of the plurality of portions of the translation map.
18 . The method of claim 16 , wherein identifying the block among the plurality of blocks of the memory device comprises:
identifying the block among the plurality of blocks of the memory device based on an amount of valid data associated with each of the plurality of blocks of the memory device.
19 . The method of claim 16 , wherein a value of the counter of data access operations associated with the identified portion is less than the value of the counter of data access operations associated with other portions of the plurality of portions of the translation map.
20 . A non-transitory computer-readable storage medium comprising instructions that, when executed by a processing device, cause the processing device to perform operations comprising:
dividing, by a processing device, a translation map into a plurality of portions of a translation map, the translation map mapping a plurality of logical block addresses to a plurality of physical block addresses of a memory device, each of the plurality of portions of the translation map corresponding to a plurality of blocks of the memory device, wherein a portion of the plurality of portions of the translation map comprises a plurality of entries, each entry mapping a logical block address to a physical block address of the memory device; updating, responsive to receiving a data access request, a counter of data access operations performed using each of the plurality of portions of the translation map; responsive to determining that a predefined condition is satisfied, identifying, based on the counter of data access operations, a portion of the plurality of portions of the translation map; identifying a block among a plurality of blocks of the memory device, the block corresponding to the identified portion of the translation map; and performing a garbage collection operation on the identified block.Join the waitlist — get patent alerts
Track US2023176965A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.