Solid state drive cache eviction policy by an unsupervised reinforcement learning scheme
A method and apparatus for cache management and eviction polices using unsupervised reinforcement learning schemes is disclosed.
1. A storage device, comprising:
a memory device; and
a controller coupled to the memory device, the controller configured to:
receive a read command;
check a cache for a presence of data related to the read command received;
update the cache with data related to the read command when the cache does not indicate a presence of data related to the read command; and
evict data from the cache while updating the cache to maintain a defined size of the cache, wherein the evicting is done through reinforcement learning, wherein the check a cache for a presence of data related to the read command received includes sorting cache entries, wherein the sorting of the cache entries determines a region of the cache with minimal value, wherein the minimum value is acquired by applying a function to the cache and compares the minimal value with a value of data received with the read command and the updating the cache only occurs when the region of the cache with minimal value is less than the value of the data received with the read command.
2. The storage device of claim 1 , wherein the memory device is a solid state drive.
3. The storage device of claim 1 , wherein the cache is maintained by the controller.
4. The storage device claim 1 , wherein the reinforcement learning is performed unsupervised.
5. The storage device claim 1 , wherein an optimal policy is generated through the reinforcement learning wherein a past success rate is used to generate the policy.
6. The storage device of claim 1 , wherein the cache is a logical to physical (L2P) cache.
7. The storage device of claim 6 , wherein checking a cache with data related to the read command comprises determining whether a L2P unit of the L2P cache is related to the read command received.
8. The storage device of claim 6 , wherein evicting data from the cache comprises replacing a L2P unit of the L2P cache with a new L2P unit.
9. The storage device of claim 1 , wherein a timestamp is kept for each cache entry.