IP Library Granted Patent US 9,201,800
Granted Patent B2
US 9,201,800 · App. 13/936,344 · Granted Dec 1, 2015

Restoring temporal locality in global and local deduplication storage systems

Inventors: Ratna Bolla (Hyderabad, IN); Vinod Jayaraman (San Franisco, CA)
Assignee: Dell Products L.P.
G06F12/0866G06F3/0641G06F12/0804G06F17/30156H04L67/2842
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,201,800
App. No.
13/936,344
Filed
Jul 8, 2013
Granted
Dec 1, 2015
Kind
B2
Art Unit
2137
USPC
711/113
Abstract

Techniques and mechanisms described herein facilitate the restoration temporal locality in global and local deduplication storage systems. According to various embodiments, when it is determined that cache memory in a storage system has reached a capacity threshold, each of a plurality of data dictionary entries stored in the cache memory may be associated with a respective merge identifier. Each data dictionary entry may correspond with a respective data chunk. Each data dictionary entry may indicate a storage location of the respective data chunk in the storage system. The respective merge identifier may indicate temporal locality information about the respective data chunk. The plurality of data dictionary entries may be stored to disk memory in the storage system. Each of the stored plurality of data dictionary entries may include the respective merge identifier.

Claims (26)

1. A method comprising:

when it is determined that cache memory in a storage system has reached a capacity threshold, associating each of a plurality of data dictionary entries stored in the cache memory with a respective merge identifier, each data dictionary entry corresponding with a respective data chunk, each data dictionary entry indicating a storage location of the respective data chunk in the storage system, the respective merge identifier indicating temporal locality information about the respective data chunk; and

storing the plurality of data dictionary entries to disk memory in the storage system, each of the stored plurality of data dictionary entries including the respective merge identifier, the data dictionary entries stored to disk at the same time sharing the same merge identifier, the merge identifier indicating when the data dictionary entries were stored to disk.

2. The method recited in claim 1 , wherein the respective data chunks corresponding with the plurality of data dictionary entries are associated with a common data storage task, the data storage task corresponding with a request to store a set of interrelated data to the storage system.

3. The method recited in claim 1 , the method further comprising:

designating each of the plurality of data dictionary entries stored in the cache memory as stored to disk; and

overwriting at least a portion of the plurality of data dictionary entries stored in the cache memory with different data.

4. The method recited in claim 1 , wherein each data dictionary entry includes a data chunk identifier, the data chunk identifier uniquely identifying the respective data chunk in the storage system, the data chunk identifier being determined by applying a hash function to the respective data chunk corresponding with the data dictionary entry.

5. The method recited in claim 1 , wherein the storage system is configured to perform deduplication operations to reduce storage of duplicate data chunks on the storage system.

6. The method recited in claim 1 , wherein the storage system includes a plurality of storage nodes in communication via a network.

7. A method comprising:

receiving a request to retrieve a designated data dictionary entry in a storage system, the designated data dictionary entry corresponding with a designated data chunk, the designated data dictionary entry indicating a storage location of the designated data chunk in the storage system, the designated data dictionary entry being associated with a designated merge identifier, the designated merge identifier indicating temporal locality information about the designated data chunk;

identifying a plurality of data dictionary entries that are each associated with the designated merge identifier, each of the plurality of data dictionary entries corresponding with a respective data chunk, the plurality of data dictionary entries including the designated data dictionary entry; and

storing the plurality of data dictionary entries to cache memory associated with the storage system, the data dictionary entries stored to disk at the same time sharing the same merge identifier, the merge identifier indicating when the data dictionary entries were stored to disk.

8. The method recited in claim 7 , wherein the respective data chunks corresponding with the plurality of data dictionary entries are associated with a common data storage task, the data storage task corresponding with a request to store a set of interrelated data to the storage system.

9. The method recited in claim 7 , wherein identifying the plurality of data dictionary entries comprises transmitting request via a network to a remote storage node.

10. The method recited in claim 7 , wherein each of the plurality of data dictionary entries includes a respective data chunk identifier, the respective data chunk identifier uniquely identifying the respective data chunk in the storage system, the respective data chunk identifier being determined by applying a hash function to the respective data chunk corresponding with the data dictionary entry.

11. The method recited in claim 7 , wherein the storage system is configured to perform deduplication operations to reduce storage of duplicate data chunks on the storage system.

12. The method recited in claim 7 , wherein the storage system includes a plurality of storage nodes in communication via a network.

13. The one or more computer readable media having instructions stored thereon for performing a method, the method comprising:

when it is determined that cache memory in a storage system has reached a capacity threshold, associating each of a plurality of data dictionary entries stored in the cache memory with a respective merge identifier, each data dictionary entry corresponding with a respective data chunk, each data dictionary entry indicating a storage location of the respective data chunk in the storage system, the respective merge identifier indicating temporal locality information about the respective data chunk; and

storing the plurality of data dictionary entries to disk memory in the storage system, each of the stored plurality of data dictionary entries including the respective merge identifier, the data dictionary entries stored to disk at the same time sharing the same merge identifier, the merge identifier indicating when the data dictionary entries were stored to disk.

14. The one or more computer readable media recited in claim 13 , wherein the respective data chunks corresponding with the plurality of data dictionary entries are associated with a common data storage task, the data storage task corresponding with a request to store a set of interrelated data to the storage system.

15. The one or more computer readable media recited in claim 13 , the method further comprising:

designating each of the plurality of data dictionary entries stored in the cache memory as stored to disk; and

overwriting at least a portion of the plurality of data dictionary entries stored in the cache memory with different data.

Assignments (19)
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 →
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 →
CHANGE OF NAME Recorded Mar 21, 2018
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 045660/0755 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 16, 2018
From: DELL PRODUCTS L.P.
To: DELL SOFTWARE INC.
Reel/Frame 045355/0817 →
RELEASE OF SECURITY INTEREST IN CERTAIN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040039/0642) Recorded Oct 31, 2016
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
To: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0016 →
RELEASE OF SECURITY INTEREST Recorded Oct 31, 2016
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
Reel/Frame 040521/0467 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0618 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS, L.P.; DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040030/0187 →
SECURITY AGREEMENT Recorded Sep 14, 2016
From: AVENTAIL LLC; DELL PRODUCTS L.P.; DELL SOFTWARE INC.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040039/0642 →
RELEASE OF SECURITY INTEREST Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040040/0001 →
RELEASE OF SECURITY INTEREST Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL MARKETING L.P.; ASAP SOFTWARE EXPRESS, INC.; APPASSURE SOFTWARE, INC.; COMPELLANT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL PRODUCTS L.P.; DELL USA L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040065/0216 →
PATENT SECURITY AGREEMENT (ABL) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 031898/0001 →
PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jan 2, 2014
From: DELL INC.; APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 031899/0261 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jan 2, 2014
From: APPASSURE SOFTWARE, INC.; ASAP SOFTWARE EXPRESS, INC.; BOOMI, INC.; COMPELLENT TECHNOLOGIES, INC.; CREDANT TECHNOLOGIES, INC.; DELL INC.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL USA L.P.; FORCE10 NETWORKS, INC.; GALE TECHNOLOGIES, INC.; PEROT SYSTEMS CORPORATION; SECUREWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS FIRST LIEN COLLATERAL AGENT
Reel/Frame 031897/0348 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2013
From: BOLLA, RATNA; JAYARAMAN, VINOD
To: DELL PRODUCTS L.P.
Reel/Frame 031296/0210 →
Continuity (1)
Related Publication 20150012698A1 · Jan 8, 2015