IP Library › Granted Patent US 9,250,819
Granted Patent B2
US 9,250,819 · App. 13/784,575 · Granted Feb 2, 2016

Learning machine to optimize random access in a storage system

Inventors: Goutham Rao (Los Altos, CA); Vinod Jayaraman (San Francisco, CA)
Assignee: DELL PRODUCTS L.P.
G06F3/0622G06F3/064G06F3/0683G06F12/0223G06F3/0641G06F11/3034G06F2206/1004
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,250,819
App. No.
13/784,575
Filed
Mar 4, 2013
Granted
Feb 2, 2016
Kind
B2
Art Unit
2132
USPC
711/165
Abstract

Mechanisms are provided for optimizing random access in a storage system. According to various embodiments, an access pattern may be identified for a plurality of data segments stored in a first arrangement on a storage medium. Each of the plurality of data segments may be stored at a respective first storage location on the storage medium in the first arrangement. The access pattern may indicate an order in which the data segments are likely to be retrieved from the storage medium. The plurality of data segments may be stored in a second arrangement on the storage medium based on the identified access pattern. Each of the plurality of data segments may be stored at a respective second storage location on the storage medium in the updated arrangement.

Claims (36)

1. A method comprising:

identifying and recording an access pattern for a plurality of data segments stored in a first arrangement on a storage medium, the plurality of data segments including a designated set of data segments that have been deduplicated, each of the plurality of data segments being stored at a respective first storage location on the storage medium in the first arrangement, the identified access pattern indicating a sequence in which the data segments are likely to be retrieved from the storage medium, wherein recording the access pattern includes recording a frequency with which the access pattern has occurred, wherein recording the access pattern further includes identifying a designated content type associated with the plurality of data segments, the designated content type being one of a plurality of content types, and wherein the access pattern is identified at least in part based on at least a partial match with a typical access pattern associated with the designated content type; and

storing the plurality of data segments in a second arrangement on the storage medium based on the identified access pattern, each of the plurality of data segments being stored at a respective second storage location on the storage medium in the second arrangement, the respective first storage location being different than the respective second storage location for one or more of the plurality of data segments, wherein storing the plurality of data segments includes storing a duplicate copy of at least one of the designated set of data segments that have been deduplicated.

2. The method recited in claim 1 , wherein accessing the plurality of data segments substantially in accordance with the identified access pattern is faster under the second arrangement than under the first arrangement.

3. The method recited in claim 1 , wherein identifying the access pattern comprises:

analyzing first data access information describing one or more previous instances of retrieval of the plurality of data segments from the storage medium.

4. The method recited in claim 3 , wherein identifying the access pattern further comprises:

computing an estimate of the access pattern based on the first data access information.

5. The method recited in claim 4 , wherein identifying the access pattern further comprises:

analyzing second data access information describing one or more previous instances of retrieval of the plurality of data segments from the storage medium, and

computing an updated estimate of the access pattern based on the second data access information as part of an iterative learning process.

6. The method recited in claim 1 , wherein identifying the access pattern further comprises:

receiving predetermined access pattern information associated with the identified content type.

7. The method recited in claim 6 , wherein the predetermined access pattern information indicates one or more likely access patterns for the identified content types, the one or more likely access patterns including the identified access pattern.

8. The method recited in claim 1 , wherein storing the plurality of data segments in the second arrangement comprises:

moving each of the plurality of data segments from the respective first storage location to the respective second storage location when the respective first storage location is different than the respective second storage location.

9. A system comprising:

a storage module configured to store a plurality of data segments stored in a first arrangement, the plurality of data segments including a designated set of data segments that have been deduplicated, each of the plurality of data segments being stored at a respective first storage location on the storage module in the first arrangement; and

a processor configured to:

identify and record an access pattern for the plurality of data segments, the access pattern indicating a sequence in which the data segments are likely to be retrieved from the storage module, wherein recording the access pattern includes recording a frequency with which the access pattern has occurred, wherein recording the access pattern further includes identifying a designated content type associated with the plurality of data segments, the designated content type being one of a plurality of content types, and wherein the access pattern is identified at least in part based on at least a partial match with a typical access pattern associated with the designated content type, and

transmit an instruction to store the plurality of data segments in a second arrangement on the storage medium based on the identified access pattern, each of the plurality of data segments being stored at a respective second storage location on the storage medium in the second arrangement, the respective first storage location being different than the respective second storage location for one or more of the plurality of data segments, wherein storing the plurality of data segments includes storing a duplicate copy of at least one of the designated set of data segments that have been deduplicated.

10. The system recited in claim 9 , wherein accessing the plurality of data segments substantially in accordance with the identified access pattern is faster under the second arrangement than under the first arrangement.

11. The system recited in claim 9 , wherein identifying the access pattern comprises:

analyzing data access information describing one or more previous instances of retrieval of the plurality of data segments from the storage module.

12. The system recited in claim 11 , wherein identifying the access pattern further comprises:

computing an estimate of the access pattern based on the data access information.

13. The system recited in claim 9 , wherein identifying the access pattern further comprises:

analyzing second data access information describing one or more previous instances of retrieval of the plurality of data segments from the storage module, and

computing an updated estimate of the access pattern based on the second data access information as part of an iterative learning process.

14. The system recited in claim 9 , wherein identifying the access pattern further comprises:

receiving predetermined access pattern information associated with the identified content type.

15. The system recited in claim 14 , wherein the predetermined access pattern information indicates one or more likely access patterns for the identified content types, the one or more likely access patterns including the identified access pattern.

16. One or more non-transitory computer readable media having instructions stored thereon for performing a method, the method comprising:

identifying and recording an access pattern for a plurality of data segments stored in a first arrangement on a storage medium, the plurality of data segments including a designated set of data segments that have been deduplicated, each of the plurality of data segments being stored at a respective first storage location on the storage medium in the first arrangement, the identified access pattern indicating a sequence in which the data segments are likely to be retrieved from the storage medium, wherein recording the access pattern includes recording a frequency with which the access pattern has occurred, wherein recording the access pattern further includes identifying a designated content type associated with the plurality of data segments, the designated content type being one of a plurality of content types, and wherein the access pattern is identified at least in part based on at least a partial match with a typical access pattern associated with the designated content type; and

storing the plurality of data segments in a second arrangement on the storage medium based on the identified access pattern, each of the plurality of data segments being stored at a respective second storage location on the storage medium in the second arrangement, the respective first storage location being different than the respective second storage location for one or more of the plurality of data segments, wherein storing the plurality of data segments includes storing a duplicate copy of at least one of the designated set of data segments that have been deduplicated.

17. The one or more non-transitory computer readable media recited in claim 16 , wherein accessing the plurality of data segments substantially in accordance with the identified access pattern is faster under the second arrangement than under the first arrangement.

Assignments (27)
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 →
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 →
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 →
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 →
RELEASE OF FIRST LIEN SECURITY INTEREST IN PATENTS RECORDED AT R/F 040581/0850 Recorded May 22, 2018
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 046211/0735 →
CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED AT REEL: 040587 FRAME: 0624. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Nov 28, 2017
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: QUEST SOFTWARE INC. (F/K/A DELL SOFTWARE INC.); AVENTAIL LLC
Reel/Frame 044811/0598 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Nov 10, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040587/0624 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Nov 9, 2016
From: DELL SOFTWARE INC.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040581/0850 →
CHANGE OF NAME Recorded Nov 2, 2016
From: DELL SOFTWARE INC.
To: QUEST SOFTWARE INC.
Reel/Frame 040551/0885 →
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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 31, 2016
From: DELL PRODUCTS L.P.
To: DELL SOFTWARE INC.
Reel/Frame 040520/0220 →
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 →
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 →
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 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 (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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 29, 2013
From: RAO, GOUTHAM; JAYARAMAN, VINOD
To: DELL PRODUCTS L.P.
Reel/Frame 030115/0113 →
Continuity (1)
Related Publication 20140250281A1 · Sep 4, 2014