IP Library Granted Patent US 10,210,188
Granted Patent B2
US 10,210,188 · App. 15/365,812 · Granted Feb 19, 2019

Multi-tiered data storage in a deduplication system

Inventors: Tarun Kumar Tripathy (Newark, CA); Murali Bashyam (Fremont, CA)
Assignee: QUEST SOFTWARE INC.
G06F17/30303G06F17/30321G06F17/30345G06F17/30589
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 10,210,188
App. No.
15/365,812
Granted
Feb 19, 2019
Kind
B2
Abstract

Systems, methods, and devices are disclosed herein for data deduplication and storage. Methods include identifying first criteria associated with a data block included in a plurality of data blocks, the data block being identified based on a blockmap and an index, the blockmap characterizing a file stored in a deduplication repository, the index identifying data store identifiers, reference count data, and second criteria associated with the plurality of data blocks. The second criteria include the first criteria, and the first criteria characterize input/output (I/O) activity associated with the data block. The methods may also include identifying data stores based on the first criteria, the data stores being included in data storage tiers. The data stores are identified based on the I/O activity associated with the data block. The methods further include updating the first criteria stored in the index and associated with the data block.

Claims (45)

1. A method comprising:

identifying a first plurality of criteria associated with a data block included in a plurality of data blocks, the data block being identified based on a blockmap and an index, the blockmap characterizing a file stored in a deduplication repository, the index identifying data store identifiers, reference count data, and a second plurality of criteria associated with the plurality of data blocks, the second plurality of criteria including the first plurality of criteria, the first plurality of criteria characterizing input/output (I/O) activity associated with the data block;

identifying at least one data store based on at least one of the first plurality of criteria, the at least one data store being included in a data storage tier of a plurality of data storage tiers, the at least one data store being identified based, at least in part, on the I/O activity associated with the data block; and

updating the first plurality of criteria stored in the index and associated with the data block.

2. The method of claim 1 , wherein the first plurality of criteria comprises a first data store identifier, second data store identifier, a reference count, an access frequency metric, and a data access timestamp.

3. The method of claim 2 , wherein the access frequency metric characterizes a frequency at which the data block is accessed.

4. The method of claim 2 further comprising:

implementing at least one data transfer operation on the data block, the data transfer operation being identified based on the first plurality of criteria,

wherein the at least one data store is a first data store of a plurality of data stores, and wherein the plurality of data stores further comprises a second data store.

5. The method of claim 4 , wherein the data transfer operation is a data replication operation from the first data store included in a first data storage tier to the second data store included in a data second storage tier.

6. The method of claim 4 , wherein the data transfer operation is a migrate operation from the first data store included in a data storage tier to a second data store included in a second data storage tier.

7. The method of claim 4 , wherein the plurality of data stores further comprises a third data store included in a third data storage tier and a fourth data store included in a fourth data storage tier.

8. The method of claim 7 , wherein the first data storage tier has the lowest access latency, wherein the second data storage tier has the second lowest access latency, wherein the third data storage tier has the third lowest access latency, and wherein the fourth data storage tier has the highest access latency.

9. The method of claim 1 , wherein the at least one data store and an associated data storage tier is identified based on the index.

10. The method of claim 9 further comprising:

generating the index based on a plurality of I/O patterns associated with a plurality of data blocks included in the blockmap of the deduplication repository,

wherein the I/O patterns characterize data storage and access requests associated with the plurality of data blocks.

11. A system comprising:

a local machine;

a networked storage device comprising one or more processors configured to:

identify a first plurality of criteria associated with a data block included in a plurality of data blocks, the data block being identified based on a blockmap and an index, the blockmap characterizing a file stored in a deduplication repository, the index identifying data store identifiers, reference count data, and a second plurality of criteria associated with the plurality of data blocks, the second plurality of criteria including the first plurality of criteria, the first plurality of criteria characterizing input/output (I/O) activity associated with the data block;

identify at least one data store based on at least one of the first plurality of criteria, the at least one data store being included in a data storage tier of a plurality of data storage tiers, the at least one data store being identified based, at least in part, on the I/O activity associated with the data block; and

update the first plurality of criteria stored in the index and associated with the data block.

12. The system of claim 11 , wherein the first plurality of criteria comprises a first data store identifier, second data store identifier, a reference count, an access frequency metric, and a data access timestamp, and wherein the access frequency metric characterizes a frequency at which the data block is accessed.

13. The system of claim 12 , wherein the one or more processors are further configured to:

implement at least one data transfer operation on the data block, the data transfer operation being identified based on the plurality of criteria,

wherein the at least one data store is a first data store of a plurality of data stores, and wherein the plurality of data stores further comprises a second data store.

14. The system of claim 11 , wherein the at least one data store is identified based on the index.

15. The system of claim 14 , wherein the one or more processors are further configured to:

generate the index based on a plurality of I/O patterns associated with a plurality of data blocks included in the blockmap of the deduplication repository,

wherein the I/O patterns characterize data storage and access requests associated with the plurality of data blocks.

16. A device comprising:

a communications interface configured to be communicatively coupled with a local machine; and

one or more processors configured to:

identify a first plurality of criteria associated with a data block included in a plurality of data blocks, the data block being identified based on a blockmap and an index, the blockmap characterizing a file stored in a deduplication repository, the index identifying data store identifiers, reference count data, and a second plurality of criteria associated with the plurality of data blocks, the second plurality of criteria including the first plurality of criteria, the first plurality of criteria characterizing input/output (I/O) activity associated with the data block;

identify at least one data store based on at least one of the first plurality of criteria, the at least one data store being included in a data storage tier of a plurality of data storage tiers, the at least one data store being identified based, at least in part, on the I/O activity associated with the data block; and

update the first plurality of criteria stored in the index and associated with the data block.

17. The device of claim 16 , wherein the first plurality of criteria comprises a first data store identifier, second data store identifier, a reference count, an access frequency metric, and a data access timestamp, and wherein the access frequency metric characterizes a frequency at which the data block is accessed.

18. The device of claim 17 , wherein the one or more processors are further configured to:

implement at least one data transfer operation on the data block, the data transfer operation being identified based on the plurality of criteria,

wherein the at least one data store is a first data store of a plurality of data stores, and wherein the plurality of data stores further comprises a second data store.

19. The device of claim 16 , wherein the at least one data store is identified based on the index.

20. The device of claim 19 , wherein the one or more processors are further configured to:

generate the index based on a plurality of I/O patterns associated with a plurality of data blocks included in the blockmap of the deduplication repository,

wherein the I/O patterns characterize data storage and access requests associated with the plurality of data blocks.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Nov 19, 2025
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073606/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 18, 2025
From: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.
Reel/Frame 073613/0326 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0649 →
SECURITY INTEREST Recorded Jun 8, 2025
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; ERWIN, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 071527/0001 →
RELEASE OF SECOND LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059096/0683 →
FIRST LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: GOLDMAN SACHS BANK USA
Reel/Frame 058945/0778 →
SECOND LIEN INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Feb 2, 2022
From: QUEST SOFTWARE INC.; ANALYTIX DATA SERVICES INC.; BINARYTREE.COM LLC; ERWIN, INC.; ONE IDENTITY LLC; ONELOGIN, INC.; ONE IDENTITY SOFTWARE INTERNATIONAL DESIGNATED ACTIVITY COMPANY
To: MORGAN STANLEY SENIOR FUNDING, INC.
Reel/Frame 058952/0279 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS Recorded Feb 2, 2022
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC.
Reel/Frame 059105/0479 →
CHANGE OF NAME Recorded Aug 28, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 046963/0904 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0347 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jun 7, 2018
From: QUEST SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046327/0486 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 30, 2016
From: TRIPATHY, TARUN KUMAR; BASHYAM, MURALI
To: DELL SOFTWARE, INC.
Reel/Frame 040472/0289 →
Continuity (1)
Related Publication 20180150485A1 · May 31, 2018