Tiering data strategy for a distributed storage system
A plurality of computing devices are communicatively coupled to each other via a network, and each of the plurality of computing devices is operably coupled to one or more of a plurality of storage devices. The storage devices may be assigned to one of a plurality of memory tiers, and the data in a storage device may be reassigned to another storage device in a different memory tier.
1 . A system comprising:
one or more processors operable to maintain a plurality of data blocks among a plurality of upper tier storage devices and a plurality of lower tier storage devices, wherein during the maintenance of the plurality of data blocks, the one or more processors are operable to:
set a deletion state of a data block to a lowest deletion state when the data block is accessed;
increment a deletion state of a data block to a next higher deletion state when:
a retention period is reached, and
the deletion state of the data block is not already at a highest deletion state; and
demote a data block to a lower tier storage device when:
the retention period is reached,
the data block is already at a highest deletion state, and
the data block is currently stored in an upper tier storage device.
2 . The system of claim 1 , wherein the one or more processors are operable to:
delete a data block of the lower tier when the data block is at the highest deletion state.
3 . The system of claim 1 , wherein the one or more processors are operable to:
delete a data block of the lower tier from a read cache when the data block is at the highest deletion state.
4 . The system of claim 1 , wherein the one or more processors are operable to:
reset a data block to a lowest deletion state if the data block is read.
5 . The system of claim 1 , wherein the each of the data blocks is a 4 kilobyte data block.
6 . A system comprising:
one or more processors operable to maintain a plurality of data blocks among a plurality of upper tier storage devices and a plurality of lower tier storage devices, wherein during the maintenance of the plurality of data blocks, the one or more processors are operable to:
set a demotion state of a data block to a lowest demotion state when the data block is accessed;
increment a demotion state of a data block to a next higher demotion state when:
a retention period is reached, and
the demotion state of the data block is not already at a highest demotion state; and
demote a data block to a lower tier storage device when:
the retention period is reached,
the data block is already at a highest demotion state, and
the data block is currently stored in an upper tier storage device.
7 . The system of claim 6 , wherein the one or more processors are operable to:
delete a data block of the lower tier when the data block is at the highest demotion state.
8 . The system of claim 6 , wherein the one or more processors are operable to:
delete a data block of the lower tier from a read cache when the data block is at the highest demotion state.
9 . The system of claim 6 , wherein the one or more processors are operable to:
reset a data block to a lowest demotion state if the data block is written.
10 . The system of claim 6 , wherein the each of the data blocks is a 4 kilobyte data block.
11 . A method comprising:
using one or more processors to maintain a plurality of data blocks among a plurality of upper tier storage devices and a plurality of lower tier storage devices, by:
setting a deletion state of a data block to a lowest deletion state when the data block is accessed;
incrementing a deletion state of a data block to a next higher deletion state when:
a retention period is reached, and
the deletion state of the data block is not already at a highest deletion state; and
demoting a data block to a lower tier storage device when:
the retention period is reached,
the data block is already at a highest deletion state, and
the data block is currently stored in an upper tier storage device.
12 . The method of claim 11 , wherein the method comprises:
deleting a data block of the lower tier when the data block is at the highest deletion state.
13 . The method of claim 11 , wherein the method comprises:
deleting a data block of the lower tier from a read cache when the data block is at the highest deletion state.
14 . The method of claim 11 , wherein the method comprises:
resetting a data block to a lowest deletion state if the data block is read.
15 . The method of claim 11 , wherein the each of the data blocks is a 4 kilobyte data block.
16 . A method comprising:
using one or more processors operable to maintain a plurality of data blocks among a plurality of upper tier storage devices and a plurality of lower tier storage devices, by:
setting a demotion state of a data block to a lowest demotion state when the data block is accessed;
incrementing a demotion state of a data block to a next higher demotion state when:
a retention period is reached, and
the demotion state of the data block is not already at a highest demotion state; and
demote a data block to a lower tier storage device when:
the retention period is reached,
the data block is already at a highest demotion state, and
the data block is currently stored in an upper tier storage device.
17 . The method of claim 16 , wherein the method comprises:
deleting a data block of the lower tier when the data block is at the highest demotion state.
18 . The method of claim 16 , wherein the method comprises:
deleting a data block of the lower tier from a read cache when the data block is at the highest demotion state.
19 . The method of claim 16 , wherein the method comprises:
resetting a data block to a lowest demotion state if the data block is written.
20 . The method of claim 16 , wherein the each of the data blocks is a 4 kilobyte data block.