发明名称 |
Solid-state disk caching the top-K hard-disk blocks selected as a function of access frequency and a logarithmic system time |
摘要 |
A solid state disk (SSD) caches disk-based volumes in a heterogeneous storage system, improving the overall storage-system performance. The hottest data blocks are identified based on two factors: the frequency of access, and temporal locality. Temporal locality is computed using a logarithmic system time. IO latency is reduced by migrating these hottest data blocks from hard-disk-based volumes to the solid-state flash-memory disks. Some dedicated mapping metadata and a novel top-K B-tree structure are used to index the blocks. Data blocks are ranked by awarding a higher current value for recent accesses, but also by the frequency of accesses. A non-trivial value for accesses in the past is retained by accumulating the two factors over many time spans expressed as a logarithmic system time. Having two factors, access frequency and the logarithmic system time, provides for a more balanced caching system. |
申请公布号 |
US8838895(B2) |
申请公布日期 |
2014.09.16 |
申请号 |
US201113157289 |
申请日期 |
2011.06.09 |
申请人 |
21ViaNet Group, Inc. |
发明人 |
Yi Letian;Hao Chong (Ethan);Liu Zaide |
分类号 |
G06F12/08 |
主分类号 |
G06F12/08 |
代理机构 |
gPatent LLC |
代理人 |
Auvinen Stuart T.;gPatent LLC |
主权项 |
1. A heterogeneous storage system comprising:
a primary storage for storing blocks of data, the primary storage having a primary access time; a secondary storage for caching blocks of data stored in the primary storage, the secondary storage having a secondary access time that is faster than the primary access time; a storage module for managing blocks of data stored in the primary storage and cached in the secondary storage; an identifier, in the storage module, for tracking blocks of data stored in the primary storage and cached in the secondary storage; a migrator for moving blocks of data between the primary storage and the secondary storage; a miss counter for counting accesses from a host for data that is not found in the secondary storage; a miss timer for counting time since the migrator was last activated to move blocks of data between the primary storage and the secondary storage; a miss trigger, coupled to the miss counter and to the miss timer, triggered when both the miss counter exceeds a miss threshold and the miss timer exceeds a miss time threshold, for activating the migrator to move blocks of data between the primary storage and the secondary storage; a dispenser for handling requests from the migrator to access blocks of data in the primary storage and in the secondary storage; a mapping table storing physical block numbers of blocks of data stored in the secondary storage and logic block numbers corresponding to the physical block numbers; and a top-K tracking table for storing a plurality of K elements, wherein K is a whole number of blocks of data currently able to be stored in the secondary storage; wherein the migrator accesses the top-K tracking table to locate blocks of data to remove from the secondary storage having a low current level; wherein each element in the plurality of K elements stores a current level, the current level indicating a hotness of data stored in the block of data corresponding to the element; wherein the current level is a function of an access frequency and a logarithmic system time, whereby blocks of data are chosen for migration out of the secondary storage based on access frequency and the logarithmic system time. |
地址 |
Beijing CN |