IP Library Granted Patent US 10,635,604
Granted Patent B2
US 10,635,604 · App. 15/096,728 · Granted Apr 28, 2020

Extending a cache of a storage system

Inventor: Lei Jiang (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F12/128G06F12/0831G06F12/122H04L67/1095H04L67/1097G06F2212/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 10,635,604
App. No.
15/096,728
Granted
Apr 28, 2020
Kind
B2
Abstract

Embodiments of the present disclosure provide a method and system for extending a cache of a storage system, by obtaining information on data in a storage system frequently accessed by a plurality of clients of the storage system; determining, based on the obtained information, storage information related to storage of cacheable data in the storage system, the cacheable data comprising a set of the data frequently accessed by the plurality of clients; and synchronizing the storage information amongst the plurality of clients so that a respective client of the plurality of clients locally caches, based on the storage information, data frequently accessed by the respective client.

Claims (47)

1. A method for extending a cache of a storage system, the method comprising:

obtaining information on data stored in the storage system having an access frequency higher than a predetermined threshold by one or more of a plurality of clients of the storage system, the plurality of clients being remote from the storage system, wherein the obtained information on data frequently accessed by the plurality of clients is obtained from an entity for monitoring access of the plurality of clients to data in the storage system;

determining, based on the obtained information, storage information related to storage of cacheable data in the storage system, wherein the cacheable data comprises a set of the data having the access frequency higher than the predetermined threshold by the one or more of the plurality of clients, wherein the storage information includes:

an identity of a logical unit in the storage system used to store the data; and

a range of addresses in the logical unit used to store the data;

synchronizing the storage information, using centralized scheduling, amongst the plurality of clients wherein each respective client of the plurality of clients locally caches, based on the storage information, the data having the access frequency higher than the predetermined threshold by that respective client, wherein locally caching includes placing the data having the access frequency higher than the predetermined threshold by that respective client in a cache that is local to that respective client; and

the entity monitoring access of the plurality of clients to data in the storage system, the entity thereby learning characteristics of access-related data and usage of data, wherein the entity is a plugin operating within a virtual machine management module operating on a remote server configured to perform unified management of the plurality of clients.

2. The method according to claim 1 , further comprising:

receiving a modification notification message from the entity, the modification notification message indicating a subset of the cacheable data has been modified;

identifying clients of the plurality of clients sharing the subset of the data; and

forwarding the modification notification message to the identified clients.

3. The method according to claim 1 , further comprising:

obtaining information from the entity related to new data in the storage system having an access frequency higher than a predetermined threshold by one of the plurality of clients; and

updating the storage information with the new data.

4. The method according to claim 1 wherein learning characteristics of access-related data includes learning a type of data and content of data.

5. A data storage apparatus comprising:

persistent data storage; and

processing circuitry coupled to memory configured to extend a cache beyond the data storage apparatus by:

obtaining information on data stored in the persistent data storage having an access frequency higher than a predetermined threshold by one or more of a plurality of clients of the data storage apparatus, the plurality of clients being remote from the data storage apparatus, wherein the obtained information on data frequently accessed by the plurality of clients is obtained from an entity for monitoring access of the plurality of clients to data in the storage system;

determining, based on the obtained information, storage information related to storage of cacheable data in the persistent data storage, wherein the cacheable data comprises a set of the data having the access frequency higher than the predetermined threshold by the one or more of the plurality of clients, wherein the storage information includes:

an identity of a logical unit in the persistent data storage used to store the data; and

a range of addresses in the logical unit used to store the data; and

synchronizing the storage information, using centralized scheduling, amongst the plurality of clients wherein each respective client of the plurality of clients locally caches, based on the storage information, the data having the access frequency higher than the predetermined threshold by that respective client, wherein locally caching includes placing the data having the access frequency higher than the predetermined threshold by that respective client in a cache that is local to that respective client;

wherein the entity is configured to monitor access of the plurality of clients to data in the storage system, the entity thereby learning characteristics of access-related data and usage of data, wherein the entity is a plugin operating within a virtual machine management module operating on a remote server configured to perform unified management of the plurality of clients.

6. The data storage apparatus according to claim 5 wherein learning characteristics of access-related data includes learning a type of data and content of data.

7. The data storage apparatus according to claim 5 , wherein the processing circuitry coupled to memory is further configured to extend the cache beyond the data storage apparatus by:

receiving a modification notification message from the entity, the modification notification message indicating a subset of the cacheable data has been modified;

identifying clients of the plurality of clients sharing the subset of the data; and

forwarding the modification notification message to the identified clients.

8. The data storage apparatus according to claim 5 , wherein the processing circuitry coupled to memory is further configured to extend the cache beyond the data storage apparatus by:

obtaining information from the entity related to new data in the storage system having an access frequency higher than a predetermined threshold by one of the plurality of clients; and

updating the storage information with the new data.

9. A computer program product comprising a non-transitory computer-readable storage medium storing instructions, which, when performed by processing circuitry of a data storage apparatus having persistent data storage, cause the data storage apparatus to extend a cache beyond the data storage apparatus by:

obtaining information on data stored in the persistent data storage having an access frequency higher than a predetermined threshold by one or more of a plurality of clients of the data storage apparatus, the plurality of clients being remote from the data storage apparatus, wherein the obtained information on data frequently accessed by the plurality of clients is obtained from an entity for monitoring access of the plurality of clients to data in the storage system;

determining, based on the obtained information, storage information related to storage of cacheable data in the persistent data storage, wherein the cacheable data comprises a set of the data having the access frequency higher than the predetermined threshold by the one or more of the plurality of clients, wherein the storage information includes:

an identity of a logical unit in the persistent data storage used to store the data; and

a range of addresses in the logical unit used to store the data; and

synchronizing the storage information, using centralized scheduling, amongst the plurality of clients wherein each respective client of the plurality of clients locally caches, based on the storage information, the data having the access frequency higher than the predetermined threshold by that respective client, wherein locally caching includes placing the data having the access frequency higher than the predetermined threshold by that respective client in a cache that is local to that respective client;

wherein the entity is configured to monitor access of the plurality of clients to data in the storage system, the entity thereby learning characteristics of access-related data and usage of data, wherein the entity is a plugin operating within a virtual machine management module operating on a remote server configured to perform unified management of the plurality of clients.

10. The computer program product according to claim 9 wherein learning characteristics of access-related data includes learning a type of data and content of data.

11. The computer program product according to claim 9 , wherein the instructions, when performed by the processing circuitry, further cause the data storage apparatus to:

receive a modification notification message from the entity, the modification notification message indicating a subset of the cacheable data has been modified;

identify clients of the plurality of clients sharing the subset of the data; and

forward the modification notification message to the identified clients.

12. The computer program product according to claim 9 , wherein the instructions, when performed by the processing circuitry, further cause the data storage apparatus to:

obtain information from the entity related to new data in the storage system having an access frequency higher than a predetermined threshold by one of the plurality of clients; and

update the storage information with the new data.

Assignments (5)
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 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2017
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 041872/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 1, 2016
From: JIANG, LEI
To: EMC CORPORATION
Reel/Frame 039516/0085 →