IP Library Granted Patent US 9,213,731
Granted Patent B2
US 9,213,731 · App. 12/779,773 · Granted Dec 15, 2015

Determining whether to relocate data to a different tier in a multi-tier storage system

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 9,213,731
App. No.
12/779,773
Granted
Dec 15, 2015
Kind
B2
Abstract

In general, a block of data in a data file is stored in a multi-tier storage system. The block of data includes multiple rows and multiple entry values per row, including values for a particular entry. The values of the particular entry in the data block can be used to determine whether to move the data block to a different tier of a multi-tier storage system. The block of data can then either be relocated in a different tier or kept in the current tier.

Claims (44)

1. A non-transitory computer-readable storage medium having computer-executable instructions for causing a computer system to perform a method comprising:

accessing a block of data in a data file that is stored in a first tier of a multi-tier storage system, wherein said block of data comprises a plurality of rows and a plurality of first entries including a first entry per row, wherein each of said rows comprises a respective value for said first entry;

comparing each value of said plurality of first entries to a threshold value;

determining that said block of data is to be moved from said first tier to a second tier of said storage system if each value of said plurality of first entries is above said threshold value, wherein said second tier is different from said first tier and said first tier comprises faster performing storage than said second tier;

if said block of data is to be moved from said first tier, then relocating said block of data to said second tier, and otherwise continuing to store said block of data in said first tier; and

repeating said accessing and said determining operations at subsequent points in time to determine whether said block of data should be relocated.

2. The computer-readable storage medium of claim 1 wherein said first entry is time-based, wherein said method further comprises:

comparing said values of said first entry to a specified time value; and

selecting said first tier of said storage system for storing said block of data if any of said values is later than said specified time value and otherwise selecting said second tier of said storage system for storing said block of data, wherein said second tier is ranked lower than said first tier.

3. The computer-readable storage medium of claim 2 wherein said values of said first entry indicate times said rows were added to said block of data.

4. The computer-readable storage medium of claim 2 wherein said values of said first entry indicate times said rows were last accessed.

5. The computer-readable storage medium of claim 2 wherein said method further comprises, subsequent to storing said block of data in said second tier:

determining whether any of said rows has been modified since said storing; and

relocating said block of data to said first tier if any of said rows has been modified and otherwise maintaining said block of data in said second tier.

6. The computer-readable storage medium of claim 1 wherein said relocating comprises an operation selected from the group of: moving said block of data from said first tier to said second tier; copying said block of data to said second tier and deleting said block of data from said first tier.

7. A computer system comprising:

a processor; and

memory coupled to said processor and having stored therein instructions that, if executed by said computer system, cause said computer system to execute a method comprising:

accessing a block of data in a data file, wherein said block of data comprises a plurality of rows and a plurality of first entries including a first entry per row, wherein each of said rows comprises a respective value for said first entry;

comparing each value of said plurality of first entries to a threshold value;

determining that said block of data is to be moved if each value of said plurality of first entries is above said threshold value;

selecting a tier in a multi-tier storage system based on values of said plurality of first entries of said plurality of rows within said block of data, wherein said tier is selected based on a desired performance level, wherein higher tiers comprise faster performing storage than lower tiers; and

storing said block of data in said tier that is selected.

8. The computer system of claim 7 wherein said first entry is time-based.

9. The computer system of claim 8 wherein said method further comprises:

comparing each value for said first entry to a specified time value; and

selecting a first tier of said storage system for storing said block of data if each value for said first entry is later than said specified time value and otherwise selecting a second tier of said storage system for storing said block of data, wherein said second tier is ranked lower than said first tier.

10. The computer system of claim 9 wherein said method further comprises, subsequent to storing said block of data in said second tier:

determining whether any of said rows has been updated since said storing; and

relocating said block of data to said first tier if any of said rows has been updated and otherwise maintaining said block of data in said second tier.

11. The computer system of claim 7 wherein said storing comprises relocating said block of data from a first tier in said storage system to a second tier in said storage system, wherein said relocating comprises an operation selected from the group of: moving said block of data from said first tier to said second tier; copying said block of data to said second tier and deleting said block of data from said first tier.

12. A computer-implemented method comprising:

accessing a data file comprising a plurality of blocks of data stored in a first tier of a multi-tier storage system, each of said blocks comprising a plurality of rows and a plurality of first entries including a first entry per row, wherein each of said rows comprises a respective time based value for said first entry;

comparing each value of said plurality of first entries to a threshold value;

determining that said block of data is to be moved from said first tier to a second tier of said storage system if each value of said plurality of first entries is above said threshold value, wherein said second tier is different from said first tier and said first tier comprises faster performing storage than said second tier;

if said block of data is to be moved from said first tier, then relocating said block of data to said second tier, and otherwise continuing to store said block of data in said first tier.

13. The method of claim 12 wherein each time-based value indicates a time a corresponding row was added to said data file.

14. The method of claim 12 wherein each time-based value indicates a time a corresponding row was last accessed.

15. The method of claim 12 further comprising, subsequent to said relocating:

repeating said accessing and said determining operations at subsequent points in time to determine whether said block of data should be relocated.

16. The method of claim 15 further comprising:

relocating said block of data to a tier of said storage system that is ranked higher than said first tier.

17. The method of claim 12 wherein each row of said rows is uniquely associated with a row identifier, each row identifier comprising a first file number corresponding to said data file and a first block number corresponding to a respective block of said plurality of blocks.

18. The method of claim 17 wherein portions of said block are identified using tuples, each tuple comprising a second file number and a second block number.

Assignments (11)
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded May 4, 2026
From: COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 075521/0417 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC (F/K/A VERITAS US IP HOLDINGS LLC)
Reel/Frame 069712/0090 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS US IP HOLDINGS, LLC
Reel/Frame 054535/0814 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
MERGER AND CHANGE OF NAME Recorded Apr 18, 2016
From: VERITAS US IP HOLDINGS LLC; VERITAS TECHNOLOGIES LLC
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 038455/0752 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 037891/0726 →
SECURITY INTEREST Recorded Feb 23, 2016
From: VERITAS US IP HOLDINGS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037891/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 4, 2016
From: SYMANTEC CORPORATION
To: VERITAS US IP HOLDINGS LLC
Reel/Frame 037697/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2010
From: MALIGE, RAGHUPATHI; SHAH, MEHER; REUSSE, TILLMANN; RAVI, GAUTHAM
To: SYMANTEC CORPORATION
Reel/Frame 024383/0513 →