US 12,333,170 B2
Tiered storage
Allan Charles Wyatt Jude, Hamilton (CA); and Sabina Munteanu, Tielt-Winge (BE)
Assigned to Klara Systems, Hamilton (CA)
Filed by Klara Systems, Hamilton (CA)
Filed on Feb. 17, 2021, as Appl. No. 17/178,213.
Prior Publication US 2022/0261152 A1, Aug. 18, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/064 (2013.01) [G06F 3/0604 (2013.01); G06F 3/0647 (2013.01); G06F 3/0653 (2013.01); G06F 3/0659 (2013.01); G06F 3/067 (2013.01)] 18 Claims
OG exemplary drawing
 
1. A method to store data in a tiered storage, the method comprising:
receiving a plurality of policies for a plurality of data sets to be stored on the tiered storage,
the tiered storage comprising a plurality of storage tiers, each storage tier of the plurality of storage tiers having a different performance level, each policy defining a default storage tier of the plurality of storage tiers for the corresponding data set, a first policy being specific to a first data set;
initially storing the plurality of data sets on the tiered storage as a plurality of blocks, each of the plurality of blocks stored to a corresponding one of the plurality of storage tiers of the tiered storage based on the policy of the data set to which the block belongs, the first data set initially being stored on the tiered storage according to the first policy;
periodically monitoring the tiered storage for a triggering event to relocate a block of the first data set within the tiered storage, wherein periodically monitoring the tiered storage for the triggering event includes determining whether the block of the first data set is in a default storage tier specified in the first policy, the triggering event including a determination that the block of the first data set is not in the default storage tier specified in the first policy,
generating statistics of at least some of the plurality of blocks, the statistics of each block including at least one of a last access time or a level of activity of the block;
sorting a list of the plurality of storage tiers of the tiered storage according to how well each storage tier matches the first policy; and
responsive to detecting the triggering event,
selecting a particular storage tier of the plurality of storage tiers from the sorted list of plurality of storage tiers based on a best match of the particular storage tier to the first policy;
relocating the block of the first data set to the selected particular storage tier within the tiered storage; and
moving, asynchronously, one or more blocks of the at least some of the plurality of blocks between storage tiers of the plurality of storage tiers based on at least one of the statistics of each of the one or more blocks and a corresponding policy of a corresponding data set to which each of the one or more blocks belongs.