IP Library Granted Patent US 10,761,990
Granted Patent B2
US 10,761,990 · App. 16/021,614 · Granted Sep 1, 2020

Methods and devices for managing cache

Inventors: Xinlei Xu (Beijing, CN); Jian Gao (Beijing, CN); Ruiyong Jia (Beijing, CN); Liam Xiongcheng Li (Beijing, CN); Jibing Dong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/0871G06F12/0815G06F12/0891G06F2212/262
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,761,990
App. No.
16/021,614
Granted
Sep 1, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to methods and devices for managing cache. The method comprises in response to receiving a read request, determining whether data associated with the read request is present in a first cache, the first cache being a read-only cache. The method also comprises in response to a miss of the data in the first cache, determining whether the data is present in a second cache, the second cache being a readable and writable cache. The method further comprises: in response to hitting the data in the second cache, returning the data as a response to the read request; and reading the data into the first cache.

Claims (44)

1. A method of managing a cache, comprising:

in response to receiving a read request, determining whether data associated with the read request is present in a first cache, the first cache being a read-only cache;

in response to a miss of the data in the first cache, determining whether the data is present in a second cache, the second cache being a readable and writable cache;

in response to hitting the data in the second cache:

returning the data as a response to the read request; and

reading the data into the first cache;

in response to a miss of the data in the second cache:

reading the data from a lower-layer storage device associated with the managed cache as a response to the read request; and

storing the data into the first cache, the first cache being located in storage space within the lower-layer storage device reserved for one or more other data access services; and

in response to determining that the one or more other data access services require use of the reserved storage space in which the first cache is located, releasing at least a portion of the reserved storage space for implementing the one or more other data access services.

2. The method of claim 1 , further comprising:

dynamically adjusting a size of the first cache based on usage of the reserved storage space by the one or more other data access services.

3. The method of claim 1 , wherein the first cache is selected from the reserved storage space for a respective data access service from among the one or more data access services, the respective data access service corresponding to a file system.

4. The method of claim 1 , wherein determining whether the data is present in the second cache is performed by a processor and further comprising managing, by a redundant array of independent disks (RAID) manager, a plurality of RAID groups of the lower-layer storage device, the plurality of RAID groups of the lower-layer storage device being located externally with respect to and separate from the processor.

5. A cache manager, the cache manager comprising:

a processor; and

a memory having computer program instructions stored thereon, the processor executing the computer program instructions in the memory to control the cache manager to perform acts comprising:

in response to receiving a read request, determining whether data associated with the read request is present in a first cache, the first cache being a read-only cache;

in response to a miss of the data in the first cache, determining whether the data is present in a second cache, the second cache being a readable and writable cache;

in response to hitting the data in the second cache:

returning the data as a response to the read request; and

reading the data into the first cache;

in response to a miss of the data in the second cache:

reading the data from a lower-layer storage device as a response to the read request; and

storing the data into the first cache, the first cache being located in storage space within the lower-layer storage device reserved for one or more other data access services; and

in response to determining that the one or more other data access services require use of the reserved storage space in which the first cache is located, releasing at least a portion of the reserved storage space for implementing the one or more other data access services.

6. The cache manager of claim 5 , further comprising:

dynamically adjusting a size of the first cache based on usage of the reserved storage space by the one or more other data access services.

7. The cache manager of claim 5 , wherein the first cache is selected from the reserved storage space for a respective data access service from among the one or more data access services, the respective data access service corresponding to a file system.

8. The cache manager of claim 5 , wherein the first and second caches are located externally with respect to the processor.

9. A computer program product for managing a cache, comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of:

in response to receiving a read request, determining whether data associated with the read request is present in a first cache, the first cache being a read-only cache;

in response to a miss of the data in the first cache, determining whether the data is present in a second cache, the second cache being a readable and writable cache;

in response to hitting the data in the second cache:

returning the data as a response to the read request; and

reading the data into the first cache;

in response to a miss of the data in the second cache:

reading the data from a lower-layer storage device associated with the managed cache as a response to the read request; and

storing the data into the first cache, the first cache being located in storage space within the lower-layer storage device reserved for one or more other data access services; and

in response to determining that the one or more other data access services require use of the reserved storage space in which the first cache is located, releasing at least a portion of the reserved storage space for implementing the one or more other data access services.

10. The computer program product of claim 9 , wherein the code is further configured for the execution of:

dynamically adjusting a size of the first cache based on usage of the reserved storage space by the one or more other data access services.

11. The computer program product of claim 9 , wherein the first cache is selected from the reserved storage space for a respective data access service from among the one or more data access services, the respective data access service corresponding to a file system.

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 (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
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 AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 18, 2018
From: XU, XINLEI; GAO, JIAN; JIA, RUIYONG; LI, LIAM XIONGCHENG; DONG, JIBING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046384/0524 →