IP Library Granted Patent US 10,565,120
Granted Patent B1
US 10,565,120 · App. 15/488,999 · Granted Feb 18, 2020

Method for efficient write path cache load to improve storage efficiency

Inventors: Satish Visvanathan (San Jose, CA); Rahul B. Ugale (Santa Clara, CA)
Assignee: EMC IP HOLDING COMPANY LLC
G06F12/0891G06F3/0608G06F3/0643G06F3/0653G06F3/0679G06F2212/222G06F2212/69
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,565,120
App. No.
15/488,999
Granted
Feb 18, 2020
Kind
B1
Abstract

According to some embodiments, a backup storage system receives a request from a client for writing a data segment associated with a file object stored to a storage system. In response to the request, the system writes the data segment to one of many storage units of the storage system. The system determines whether the data segment is associated with a file region of the file object that is frequently accessed. The system writes the data segment in a first of many of write-evict units (WEUs) stored in a solid state device (SSD) operating as a cache memory device for caching data, after it is determined that the data segment is associated with the frequently accessed file region.

Claims (50)

1. A computer-implemented method for accessing data segments stored in a storage system, the method comprising:

receiving a request from a client for writing a data segment associated with a file object stored to a storage system;

in response to the request, writing the data segment to one of a plurality of storage units of the storage system;

determining whether the data segment is associated with a frequently accessed file region of the file object, the file object comprising a plurality of file regions; and

in addition to writing the data segment to one of the plurality of storage units of the storage system, writing the data segment in a first of a plurality of write-evict units (WEUs) stored in a solid state device (SSD) operating as a cache memory device for caching data, in response to determining that the data segment is associated with the frequently accessed file region, each of the plurality of WEUs comprising a plurality of independently accessible extents.

2. The method of claim 1 , further comprising not writing the data segment to the SSD device in response to determining that the data segment is not associated with the frequently accessed file region.

3. The method of claim 1 , further comprising adding an index entry into a cache index to map a fingerprint of the data segment to a storage location of the first WEU in the SSD device.

4. The method of claim 1 , further comprising maintaining a histogram for the file object recording access statistics of the file object in a predetermined time period in the past, wherein whether the data segment is frequently accessed is determined based on the histogram of the file object.

5. The method of claim 1 , further comprising:

examining a data stream associated with the data segment to determine an access pattern of the data stream; and

determining whether the data segment is randomly accessed based on the accessed pattern of the data stream, wherein the data segment is cached in the SSD device only if the data segment is randomly accessed.

6. The method of claim 1 , further comprising:

in response to a second request to read a second segment, determining whether the SSD device stores the second segment;

retrieving the second data segment from a second of the storage units if the SSD device does not contain the second data segment; and

caching the second data segment in the SSD device if the second data segment is associated with a second file region that is frequently accessed.

7. The method of claim 1 , wherein the data segment is a part of incremental backup representing a difference between a first snapshot and a second snapshot.

8. A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause the processor to perform operations to sort data elements in a data array, the operations comprising:

receiving a request from a client for writing a data segment associated with a file object stored to a storage system;

in response to the request, writing the data segment to one of a plurality of storage units of the storage system;

determining whether the data segment is associated with a frequently accessed file region of the file object, the file object comprising a plurality of file regions; and

in addition to writing the data segment to one of the plurality of storage units of the storage system, writing the data segment in a first of a plurality of write-evict units (WEUs) stored in a solid state device (SSD) operating as a cache memory device for caching data, in response to determining that the data segment is associated with the frequently accessed file region, each of the plurality of WEUs comprising a plurality of independently accessible extents.

9. The non-transitory machine-readable medium of claim 8 , further comprising not writing the data segment to the SSD device in response to determining that the data segment is not associated with the frequently accessed file region.

10. The non-transitory machine-readable medium of claim 8 , further comprising adding an index entry into a cache index to map a fingerprint of the data segment to a storage location of the first WEU in the SSD device.

11. The non-transitory machine-readable medium of claim 8 , further comprising maintaining a histogram for the file object recording access statistics of the file object in a predetermined time period in the past, wherein whether the data segment is frequently accessed is determined based on the histogram of the file object.

12. The non-transitory machine-readable medium of claim 8 , further comprising:

examining a data stream associated with the data segment to determine an access pattern of the data stream; and

determining whether the data segment is randomly accessed based on the accessed pattern of the data stream, wherein the data segment is cached in the SSD device only if the data segment is randomly accessed.

13. The non-transitory machine-readable medium of claim 8 , further comprising:

in response to a second request to read a second segment, determining whether the SSD device stores the second segment;

retrieving the second data segment from a second of the storage units if the SSD device does not contain the second data segment; and

caching the second data segment in the SSD device if the second data segment is associated with a second file region that is frequently accessed.

14. The non-transitory machine-readable medium of claim 8 , wherein the data segment is a part of incremental backup representing a difference between a first snapshot and a second snapshot.

15. A data processing system, comprising:

a processor; and

a memory coupled to the processor to store instructions, which when executed by the processor, cause the processor to perform operations, the operations including

receiving a request from a client for writing a data segment associated with a file object stored to a storage system;

in response to the request, writing the data segment to one of a plurality of storage units of the storage system;

determining whether the data segment is associated with a frequently accessed file region of the file object, the file object comprising a plurality of file regions; and

in addition to writing the data segment to one of the plurality of storage units of the storage system, writing the data segment in a first of a plurality of write-evict units (WEUs) stored in a solid state device (SSD) operating as a cache memory device for caching data, in response to determining that the data segment is associated with the frequently accessed file region, each of the plurality of WEUs comprising a plurality of independently accessible extents.

16. The data processing system of claim 15 , further comprising not writing the data segment to the SSD device in response to determining that the data segment is not associated with the frequently accessed file region.

17. The data processing system of claim 15 , further comprising adding an index entry into a cache index to map a fingerprint of the data segment to a storage location of the first WEU in the SSD device.

18. The data processing system of claim 15 , further comprising maintaining a histogram for the file object recording access statistics of the file object in a predetermined time period in the past, wherein whether the data segment is frequently accessed is determined based on the histogram of the file object.

19. The data processing system of claim 15 , further comprising:

examining a data stream associated with the data segment to determine an access pattern of the data stream; and

determining whether the data segment is randomly accessed based on the accessed pattern of the data stream, wherein the data segment is cached in the SSD device only if the data segment is randomly accessed.

20. The data processing system of claim 15 , further comprising:

in response to a second request to read a second segment, determining whether the SSD device stores the second segment;

retrieving the second data segment from a second of the storage units if the SSD device does not contain the second data segment; and

caching the second data segment in the SSD device if the second data segment is associated with a second file region that is frequently accessed.

21. The data processing system of claim 15 , wherein the data segment is a part of incremental backup representing a difference between a first snapshot and a second snapshot.

Assignments (8)
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 (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 21, 2019
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 049452/0223 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 17, 2017
From: VISVANATHAN, SATISH; UGALE, RAHUL B.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042034/0155 →