IP Library Granted Patent US 11,656,803
Granted Patent B2
US 11,656,803 · App. 17/342,185 · Granted May 23, 2023

Tiering data strategy for a distributed storage system

Inventors: Maor Ben Dayan (Tel Aviv, IL); Omri Palmon (Tel Aviv, IL); Liran Zvibel (Tel Aviv, IL); Kanael Arditti (Tel Aviv, IL)
G06F3/0662G06F3/0604G06F3/064G06F3/067G06F3/0649G06F3/0652
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,656,803
App. No.
17/342,185
Granted
May 23, 2023
Kind
B2
Abstract

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.

Claims (67)

1. A system comprising:

a plurality of storage devices; and

a circuit configured to indicate when a retention period is reached, wherein:

each storage device is operable to store one or more data blocks,

each of the data blocks is associated with a deletion state,

each of the data blocks that is not at a highest deletion state, when the retention period is reached, is incremented to a next higher deletion state,

a data block is reset to a lowest deletion state if the data block is accessed,

each storage device of the plurality of storage devices is assigned to one of an upper tier and a lower tier, and

the system comprises a processor configured to read the deletion state associated with a particular data block in a storage device assigned to the upper tier and demote the particular data block to a storage device assigned to the lower tier if the particular data block is at the highest deletion state.

2. The system of claim 1 , wherein the system comprises a processor configured to read the deletion state associated with a particular data block and delete the particular data block if the particular data block is at the highest deletion state.

3. The system of claim 1 , wherein a particular data block is reset to a lowest deletion state if the particular data block is read.

4. The system of claim 1 , wherein each of the data blocks is associated with a demotion state.

5. The system of claim 4 , wherein the circuit is configured to indicate when a demotion period is reached.

6. The system of claim 5 , wherein:

each of the data blocks that is not at a highest demotion state, when the demotion period is reached, is incremented to a next higher demotion state, and

if a write access is made to a particular data block, the particular data block is reset to a lowest demotion state.

7. The system of claim 6 , wherein the each of the data blocks at the highest demotion state is demoted to a storage device assigned to the lower tier.

8. The system of claim 1 , wherein the each of the data blocks is a 4 kilobyte data block.

9. The system of claim 1 , wherein the each of the data blocks at the highest deletion state is deleted from a read cache.

10. A method comprising:

assigning a deletion state to each of a plurality of data blocks;

resetting a data block of the plurality of data blocks to a lowest deletion state if the data block is accessed;

measuring a retention period;

after the retention period, incrementing each of the plurality of data blocks that are not already at a highest deletion state, to a next higher deletion state;

storing each of the plurality of data blocks in a storage device of a plurality of storage devices;

assigning each of the plurality of storage devices to one of a plurality of tiers; and

demoting a particular data block to a storage device assigned to a lower tier if the particular data block is at the highest deletion state.

11. The method of claim 10 , wherein the method comprises deleting each data block at the highest deletion state.

12. The method of claim 10 , wherein the method comprises resetting a particular data block to a lowest deletion state if the particular data block is read.

13. The method of claim 10 , wherein the method comprises associating each of the plurality of data blocks with a demotion state.

14. The method of claim 13 , wherein the method comprises measuring to a demotion period.

15. The method of claim 14 , wherein the method comprises:

after the demotion period, incrementing each of the data blocks that is not at a highest demotion state, to a next higher demotion state; and

if a write access is made to a particular data block, resetting the particular data block to a lowest demotion state.

16. The method of claim 15 , wherein the method comprises demoting each of the data blocks at the highest demotion state to a storage device assigned to a lower tier.

17. The method of claim 10 , wherein the each of the data blocks is a 4 kilobyte data block.

18. The method of claim 10 , wherein the method comprises, if a particular data block is at the highest deletion state, deleting the particular data block from a read cache.

19. A system comprising:

a plurality of storage devices; and

a circuit configured to indicate when a retention period is reached, wherein:

each storage device is operable to store one or more data blocks,

each of the data blocks is associated with a deletion state,

each of the data blocks that is not at a highest deletion state, when the retention period is reached, is incremented to a next higher deletion state,

a data block is reset to a lowest deletion state if the data block is accessed,

each of the data blocks is associated with a demotion state,

the circuit is configured to indicate when a demotion period is reached,

each of the data blocks that is not at a highest demotion state, when the demotion period is reached, is incremented to a next higher demotion state,

if a write access is made to a particular data block, the particular data block is reset to a lowest demotion state, and

the each of the data blocks at the highest demotion state is demoted to a storage device assigned to the lower tier.

20. The system of claim 19 , wherein the system comprises a processor configured to read the deletion state associated with a particular data block and delete the particular data block if the particular data block is at the highest deletion state.

21. The system of claim 19 , wherein a particular data block is reset to a lowest deletion state if the particular data block is read.

22. The system of claim 19 , wherein the each of the data blocks is a 4 kilobyte data block.

23. The system of claim 19 , wherein the each of the data blocks at the highest deletion state is deleted from a read cache.

24. A method comprising:

assigning a deletion state to each of a plurality of data blocks;

resetting a data block of the plurality of data blocks to a lowest deletion state if the data block is accessed;

measuring a retention period;

after the retention period, incrementing each of the plurality of data blocks that are not already at a highest deletion state, to a next higher deletion state;

associating each of the plurality of data blocks with a demotion state;

measuring to a demotion period;

after the demotion period, incrementing each of the data blocks that is not at a highest demotion state, to a next higher demotion state;

if a write access is made to a particular data block, resetting the particular data block to a lowest demotion state; and

demoting each of the data blocks at the highest demotion state to a storage device assigned to a lower tier.

25. The method of claim 24 , wherein the method comprises deleting each data block at the highest deletion state.

26. The method of claim 24 , wherein the method comprises resetting a particular data block to a lowest deletion state if the particular data block is read.

27. The method of claim 24 , wherein the each of the data blocks is a 4 kilobyte data block.

28. The method of claim 24 , wherein the method comprises, if a particular data block is at the highest deletion state, deleting the particular data block from a read cache.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 8, 2021
From: BEN DAYAN, MAOR; PALMON, OMRI; ZVIBEL, LIRAN; ARDITTI, KANAEL
To: WEKA.IO LTD.
Reel/Frame 056472/0590 →
Continuity (3)
Continuation 16122524 · Sep 5, 2018
Provisional Application 62585204 · Nov 13, 2017
Related Publication 20210294536A1 · Sep 23, 2021