Methods and apparatus for workload based dynamic cache control in SSD
AssigneeWestern Digital Technologies, Inc.
InventorsAvichay Haim Hodes, Oren Cohen, Judah Gamliel Hahn
Life of this patent
Estimating the term…
Abstract
Aspects of the present disclosure provide various apparatus, devices, systems and methods for dynamically configuring a cache partition in a solid state drive (SSD). The SSD may include non-volatile memory (NVM) that can be configured to store a different number of bits per cell. The NVM is partitioned into a cache partition and a storage partition, and the respective sizes of the partitions is dynamically changed based on a locality of data (LOD) of the access pattern of the NVM.
Claims14
A solid state device (SSD) comprising:
- a non-volatile memory (NVM), and
- a controller operatively coupled to the NVM;
- wherein the controller is configured to:
- determine an access pattern of the NVM by a host;
- determine a hit and miss (H/M) rate of a logical block address (LBA) range accessed by the host during a predetermined time period;
- determine a locality of data (LOD) of the access pattern as the LBA when the H/M rate meets a target rate;
- dynamically configure data storage cells of the NVM into a cache partition and a storage partition based on the LOD of the access pattern;
- and
- adjust a size of the cache partition in response to a change of the LOD, wherein the data storage cells of the cache partition are configured to provide greater endurance than the data storage cells of the storage partition.
A method of operating a non-volatile memory (NVM) controller configured to communicate with an NVM, comprising:
- receiving commands from a host for accessing the NVM;
- determining an access pattern of the NVM by the host;
- determining a hit and miss (H/M) rate of a logical block address (LBA) range accessed by the host during a predetermined time period;
- determining a locality of data (LOD) of the access pattern as the LBA when the H/M rate meets a target rate;
- and
- dynamically configuring data storage cells of the NVM into a cache partition and a storage partition based on the LOD of the access pattern, wherein the data storage cells of the cache partition are configured to provide higher performance than the data storage cells of the storage partition.
A non-volatile memory (NVM) comprising:
- means for receiving commands from a host for performing data operations with the NVM;
- means for determining an access pattern of the NVM by the host;
- means for determining a locality of data (LOD) corresponding to a logical block address (LBA) range accessed by the host during a predetermined time period;
- means for dynamically configuring data storage cells of the NVM into a cache partition and a storage partition based the LOD of the access pattern, wherein data storage cells of the storage partition are configured to use more threshold voltages per cell for storing data than the data storage cells of the cache partition;
- means for adjusting the cache partition to be no smaller than the LOD in size such that the cache partition accommodates a higher percentage of the data operations relative to the storage partition;
- and
- means for limiting the size of the cache partition such that a provisioned capacity of the NVM is available to the host regardless of the size of the cache partition.
Dependencies are inferred from the claim text.