IP Library Granted Patent US 11,567,871
Granted Patent B2
US 11,567,871 · App. 16/698,339 · Granted Jan 31, 2023

Input/output patterns and data pre-fetch

Inventors: Yamini Allu (Sunnyvale, CA); Philip N. Shilane (Newtown, PA); Grant R. Wallace (Pennington, NJ)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/0862G06F12/0808G06F12/0848G06F2212/282G06F2212/602G06F2212/6024G06F2212/6026G06F2212/621
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 11,567,871
App. No.
16/698,339
Granted
Jan 31, 2023
Kind
B2
Abstract

Systems and methods for determining an access pattern in a computing system. Accesses to a file may contain random accesses and sequential accesses. The file may be divided into multiple regions and the accesses to each region are tracked. The access pattern for each region can then be determined independently of the access patterns of other regions of the file.

Claims (39)

1. A method for caching in a computing system, the method comprising:

mapping an IP (Internet Protocol) address of a client to a client function in a map;

tracking accesses to data stored in a storage system in a context history, wherein the context history stores a history of the accesses to the data;

determining an access pattern from the context history and/or the map, wherein the access pattern represents how the data stored in the storage system was accessed by the client and the access pattern is sequential or non-sequential based on an access sequentiality threshold;

implementing a caching strategy based on the access pattern, wherein the caching strategy includes fetching and adding data from the storage system to the cache that is expected to be accessed in response to the access pattern being sequential and evicting data from the cache in response to the access pattern being non-sequential; and

reevaluating the caching strategy in response to the mapping of the IP address of the client function to the client changing.

2. The method of claim 1 , further comprising dividing the data into regions and tracking a context history for each of the regions.

3. The method of claim 1 , wherein the access pattern is further based on the mapping in the map, wherein the data comprises a backup image, further comprising restoring the backup image.

4. The method of claim 1 , wherein the context history includes an entry for each access to the data, wherein each entry identifies one or more of:

a region associated with the entry;

a data sequential threshold;

an access sequential threshold;

data sequentiality;

access sequentiality

an index to current IO (Input/Output); and

a list of recorded IOs.

5. The method of claim 4 , wherein the access pattern is sequential when at least half or a majority of the recorded IOs have data sequentiality.

6. The method of claim 4 , wherein the access pattern is random when less than half of the recorded IOs have data sequentiality.

7. The method of claim 4 , wherein sequentiality includes accesses that are not directly adjacent.

8. The method of claim 2 , wherein different regions have different access patterns.

9. The method of claim 1 , further comprising reevaluating the access pattern and changing the caching strategy based on the reevaluated access pattern.

10. The method of claim 1 , further comprising adding data to the cache when the access pattern is sequential, wherein the data added is expected to be the subject of subsequent sequential access.

11. A method for caching in a computing system, the method comprising:

mapping an IP (Internet Protocol) address of a client to a client function in a map;

determining an access pattern for data stored in a storage system and being accessed by the client based on the map, wherein the access pattern is sequential or non-sequential based on an access sequentiality threshold;

implementing a caching strategy for the data being accessed in the storage system based on the access pattern, wherein the caching strategy includes fetching and adding data from the storage system to the cache that is expected to be accessed in response to the access pattern being sequential and evicting data from the cache in response to the access pattern being non-sequential; and

reevaluating the caching strategy in response to the mapping of the IP address of the client function to the client changing.

12. The method of claim 11 , further comprising tracking the access pattern and updating the access pattern based on the tracked access pattern.

13. The method of claim 11 , further comprising reevaluating the access pattern and changing the caching strategy based on the reevaluated access pattern.

14. The method of claim 11 , further comprising dividing the data into regions and mapping the IP address of the client to the client function in the map for each of the regions.

15. The method of claim 11 , further comprising tagging the data with tags, wherein the tags are considered when determining the access pattern.

16. A non-transitory computer readable storage for storing computer executable instructions that are configured to perform operations, the operations comprising:

mapping an IP (Internet Protocol) address of a client to a client function in a map;

tracking accesses to data stored in a storage system in a context history, wherein the context history stores a history of the accesses to the data;

determining an access pattern of the accesses to the data stored in the storage system from the context history, wherein the access pattern represents how the data stored in the storage system was accessed by the client and the access pattern is sequential or non-sequential based on an access sequentiality threshold;

implementing a caching strategy based on the access pattern, wherein the caching strategy includes fetching and adding data from the storage system to the cache that is expected to be accessed when the access pattern is sequential and evicting data from the cache when the access pattern in non-sequential; and

reevaluating the caching strategy when the mapping of the IP address of the client function to the client changes.

17. The non-transitory computer readable storage of claim 16 , the operations further comprising dividing the data into regions and tracking a context history for each of the regions.

18. The non-transitory computer readable storage of claim 16 , wherein the data comprises a backup image, further comprising restoring the backup image.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 27, 2019
From: ALLU, YAMINI; SHILANE, PHILIP N.; WALLACE, GRANT R.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051132/0183 →