IP Library Granted Patent US 12,645,404
Granted Patent B2
US 12,645,404 · App. 18/814,942 · Granted Jun 2, 2026

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)
Assignee: WEKA.IO Ltd.
G06F3/0662G06F3/0604G06F3/064G06F3/0649G06F3/067G06F3/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 12,645,404
App. No.
18/814,942
Granted
Jun 2, 2026
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 (68)

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.

Continuity (5)
Continuation 18134216 · Apr 13, 2023
Continuation 17342185 · Jun 8, 2021
Continuation 16122524 · Sep 5, 2018
Provisional Application 62585204 · Nov 13, 2017
Related Publication 20240419364A1 · Dec 19, 2024
References Cited (51)
US 6487636B1 · Dolphin et al. · 2002 [cited by applicant]
US 7447839B2 · Uppala · 2008 [cited by applicant]
US 7681072B1 · Gibson et al. · 2010 [cited by applicant]
US 7793146B1 · Gibson et al. · 2010 [cited by applicant]
US 7877511B1 · Berger et al. · 2011 [cited by applicant]
US 8315995B1 · Levy · 2012 [cited by applicant]
US 8347010B1 · Radovanovic · 2013 [cited by applicant]
US 8370597B1 · Chatterjee et al. · 2013 [cited by applicant]
US 8645749B2 · Reche · 2014 [cited by applicant]
US 8918478B2 · Ozzie et al. · 2014 [cited by applicant]
US 9087012B1 · Hayes et al. · 2015 [cited by applicant]
US 9448887B1 · Ben Dayan et al. · 2016 [cited by applicant]
US 9519438B1 · Paresh et al. · 2016 [cited by applicant]
US 9747162B2 · Ben Dayan et al. · 2017 [cited by applicant]
US 11061622B2 · Ben Dayan et al. · 2021 [cited by applicant]
US 20030115218A1 · Bobbitt et al. · 2003 [cited by applicant]
US 20040098415A1 · Bone et al. · 2004 [cited by applicant]
US 20050289152A1 · Earl et al. · 2005 [cited by applicant]
US 20070061542A1 · Uppala · 2007 [cited by applicant]
US 20070143261A1 · Uppala · 2007 [cited by applicant]
US 20070143311A1 · Uppala · 2007 [cited by applicant]
US 20070276878A1 · Zheng et al. · 2007 [cited by applicant]
US 20090119541A1 · Inoue et al. · 2009 [cited by applicant]
US 20100199125A1 · Reche · 2010 [cited by applicant]
US 20110213994A1 · Thereska et al. · 2011 [cited by applicant]
US 20110289271A1 · Nagpal et al. · 2011 [cited by applicant]
US 20120210095A1 · Nellans et al. · 2012 [cited by applicant]
US 20140244897A1 · Goss et al. · 2014 [cited by applicant]
US 20140281280A1 · Goss et al. · 2014 [cited by applicant]
US 20150248366A1 · Bergsten et al. · 2015 [cited by applicant]
US 20150254088A1 · Chou et al. · 2015 [cited by applicant]
US 20150338893A1 · Park et al. · 2015 [cited by applicant]
US 20150355971A1 · Becker-Szendy et al. · 2015 [cited by applicant]
US 20160246677A1 · Sangamkar et al. · 2016 [cited by applicant]
US 20160371145A1 · Akutsu et al. · 2016 [cited by applicant]
CN 101131673 · 2008 [cited by applicant]
CN 101859283 · 2010 [cited by applicant]
CN 103605483 · 2014 [cited by applicant]
CN 103984648 · 2014 [cited by applicant]
CN 104166631 · 2014 [cited by applicant]
CN 104317731 · 2015 [cited by applicant]
Int'l Search Report and Written Opinion AppIn No. PCT/IB2016/001177 dated Dec. 2, 2016. [cited by applicant]
Int'l Preliminary Report on Patentability AppIn No. PCT/IB2016/001177 dated Mar. 8, 2018. [cited by applicant]
Int'l Search Report and Written Opinion AppIn No. PCT/IB2016/000996 dated Oct. 20, 2016. [cited by applicant]
Int'l Preliminary Report on Patentability AppIn No. PCT/IB2016/000996 dated Jan. 2, 2018. [cited by applicant]
Extended European Search Report AppIn No. 16817312.8-1217 dated Oct. 25, 2018. [cited by applicant]
Int'l Search Report and Written Opinion AppIn No. PCT/IB2018/001280 mailed Mar. 22, 2019. [cited by applicant]
Int'l Preliminary Report on Patentability AppIn No. PCT/IB2018/001280 mailed May 28, 2020. [cited by applicant]
European Office Communication with with extended search report AppIn No. 18876922.8 dated Jul. 22, 2021. [cited by applicant]
Chinese Office Action Appl No. 2018800864113 dated Mar. 9, 2023. [cited by applicant]
Chinese Office Action Appl No. 2018800864113 dated Aug. 28, 2023. [cited by applicant]