IP Library Granted Patent US 10,936,489
Granted Patent B2
US 10,936,489 · App. 16/512,644 · Granted Mar 2, 2021

Method, device and computer program product for managing metadata at a control device

Inventors: Geng Han (Beijing, CN); Yousheng Liu (Beijing, CN); Xiongcheng Li (Beijing, CN); Lifeng Yang (Beijing, CN); Jianbin Kang (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/0804G06F12/0646G06F2212/1032G06F2212/608
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,936,489
App. No.
16/512,644
Granted
Mar 2, 2021
Kind
B2
Abstract

Techniques for managing metadata at a control device involve: determining, from a cache page corresponding to user data, a first region for storing raw metadata of the user data, the raw metadata including address information for storing the user data in a storage system; in response to the user data being modified, determining updated metadata of the modified user data to update the raw metadata in the first region; and copying the updated metadata to a high-speed memory shared by the control device and another control device. Accordingly, the techniques are capable of reducing the usage frequency of the high-speed memory, thereby extending the service life of the high-speed memory and reducing cost.

Claims (87)

1. A method for managing metadata at a control device, comprising:

determining, from a cache page corresponding to user data, a first region for storing raw metadata of the user data, the raw metadata comprising address information for storing the user data in a storage system;

in response to the user data being modified, determining updated metadata of the modified user data to update the raw metadata in the first region;

copying the updated metadata to a high-speed memory shared by the control device and another control device;

in response to metadata stored on a second region of the cache page being updated, merging the first region and the second region into a third region; and

copying the metadata stored in the third region to the shared high-speed memory;

wherein merging the first region and the second region into a third region comprises:

determining a first starting position and a first length of the first region in the cache page;

determining a second starting position and a second length of the second region in the cache page;

determining a starting position of the third region based on the first starting position and the second starting position; and

determining a length of the third region, based on the first starting position, the first length, the second starting position, and the second length.

2. The method according to claim 1 , wherein determining the first region comprises:

determining the first region in the cache page for storing the raw metadata, based on description information of the cache page.

3. The method according to claim 1 , wherein determining updated metadata of the modified user data comprises:

determining, based on address mapping management information, address information of the modified user data stored in the storage system; and

generating the updated metadata based on the determined address information.

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

sending an update message to the another control device to inform the another control device to use the updated metadata that has been stored in the shared high-speed memory.

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

in response to receiving an access request for the user data, redirecting the access request to one of the control device and the another control device based on address information of the user data to be accessed.

6. A control device for managing metadata, comprising:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the control device to perform actions comprising:

determining, from a cache page corresponding to user data, a first region for storing raw metadata of the user data, the raw metadata including address information for storing the user data in a storage system;

in response to the user data being modified, determining updated metadata of the modified user data to update the raw metadata in the first region;

copying the updated metadata to a high-speed memory shared by the control device and another control device;

in response to metadata stored on a second region of the cache page being updated, merging the first region and the second region into a third region; and

copying the metadata stored in the third region to the shared high-speed memory;

wherein merging the first region and the second region into a third region comprises:

determining a first starting position and a first length of the first region in the cache page;

determining a second starting position and a second length of the second region in the cache page;

determining a starting position of the third region based on the first starting position and the second starting position; and

determining a length of the third region, based on the first starting position, the first length, the second starting position, and the second length.

7. The control device according to claim 6 , wherein determining the first region comprises:

determining the first region in the cache page for storing the raw metadata, based on description information of the cache page.

8. The control device according to claim 6 , wherein determining updated metadata of the modified user data comprises:

determining, based on address mapping management information, address information of the modified user data stored in the storage system; and

generating the updated metadata based on the determined address information.

9. The control device according to claim 6 , wherein the actions further comprise:

sending an update message to the another control device to inform the another control device to use the updated metadata that has been stored in the shared high-speed memory.

10. The control device according to claim 6 , wherein the actions further comprise:

in response to receiving an access request for the user data, redirecting the access request to one of the control device and the another control device based on address information of the user data to be accessed.

11. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage metadata at a control device; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

determining, from a cache page corresponding to user data, a first region for storing raw metadata of the user data, the raw metadata comprising address information for storing the user data in a storage system;

in response to the user data being modified, determining updated metadata of the modified user data to update the raw metadata in the first region;

copying the updated metadata to a high-speed memory shared by the control device and another control device;

in response to metadata stored on a second region of the cache page being updated, merging the first region and the second region into a third region; and

copying the metadata stored in the third region to the shared high-speed memory;

wherein merging the first region and the second region into a third region comprises:

determining a first starting position and a first length of the first region in the cache page;

determining a second starting position and a second length of the second region in the cache page;

determining a starting position of the third region based on the first starting position and the second starting position; and

determining a length of the third region, based on the first starting position, the first length, the second starting position, and the second length.

12. The computer program product according to claim 11 , wherein determining the first region comprises:

determining the first region in the cache page for storing the raw metadata, based on description information of the cache page.

13. The computer program product according to claim 11 , wherein determining updated metadata of the modified user data comprises:

determining, based on address mapping management information, address information of the modified user data stored in the storage system; and

generating the updated metadata based on the determined address information.

14. The computer program product according to claim 11 , wherein the method further includes:

sending an update message to the another control device to inform the another control device to use the updated metadata that has been stored in the shared high-speed memory.

15. The computer program product according to claim 11 , wherein the method further includes:

in response to receiving an access request for the user data, redirecting the access request to one of the control device and the another control device based on address information of the user data to be accessed.

16. A storage system, comprising:

control devices constructed and arranged to access a set of storage devices; and

a high-speed memory coupled with the control devices;

each control device including:

at least one processing unit;

at least one memory coupled to the at least one processing unit and storing instructions executed by the at least one processing unit, the instructions, when executed by the at least one processing unit, causing the control device to perform actions comprising:

determining, from a cache page corresponding to user data, a first region for storing raw metadata of the user data, the raw metadata including address information for storing the user data;

in response to the user data being modified, determining updated metadata of the modified user data to update the raw metadata in the first region;

copying the updated metadata to the high-speed memory;

in response to metadata stored on a second region of the cache page being updated, merging the first region and the second region into a third region; and

copying the metadata stored in the third region to the high-speed memory;

wherein merging the first region and the second region into a third region comprises:

determining a first starting position and a first length of the first region in the cache page;

determining a second starting position and a second length of the second region in the cache page;

determining a starting position of the third region based on the first starting position and the second starting position; and

determining a length of the third region, based on the first starting position, the first length, the second starting position, and the second length.

17. The storage system according to claim 16 , wherein determining the first region comprises:

determining the first region in the cache page for storing the raw metadata, based on description information of the cache page.

18. The storage system according to claim 16 , wherein determining updated metadata of the modified user data comprises:

determining, based on address mapping management information, address information of the modified user data stored in the storage system; and

generating the updated metadata based on the determined address information.

19. The storage system according to claim 16 , wherein the actions further comprise:

sending an update message to another control device to inform the another control device to use the updated metadata that has been stored in the high-speed memory.

20. The storage system according to claim 16 , wherein the actions further comprise:

in response to receiving an access request for the user data, redirecting the access request to another control device based on address information of the user data to be accessed.

Assignments (9)
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 (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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 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 058213/0825 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 28, 2019
From: HAN, GENG; LIU, YOUSHENG; LI, XIONGCHENG; YANG, LIFENG; KANG, JIANBIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 050201/0627 →