IP Library Granted Patent US 11,429,537
Granted Patent B2
US 11,429,537 · App. 16/790,380 · Granted Aug 30, 2022

Method, device, and computer program product for managing storage system

Inventors: Chun Ma (Beijing, CN); Baote Zhuo (Beijing, CN); Haiying Tang (Beijing, CN); Zhihui Qiu (Beijing, CN); Sihang Xia (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/12G06F3/0619G06F3/0629G06F3/0689G06F11/1435G06F11/1612G06F11/1658G06F11/3034G06F2211/104G06F2212/1032
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,429,537
App. No.
16/790,380
Granted
Aug 30, 2022
Kind
B2
Abstract

Techniques involve managing a storage system. In accordance with the techniques, a plurality of copies of metadata of the storage system are read from a plurality of storage devices in a resource pool of the storage system. The resource pool includes a first number of storage devices, and the metadata describes configuration information of the storage system. A second number of copies are selected from the plurality of copies based on version information in the plurality of copies, where the second number of copies comprises the metadata in the same version. It is determined whether a relation between the first number and the second number satisfies a predetermined condition. The second number of copies are identified as trusted metadata based on determining the relation satisfies the predetermined condition. With the foregoing example implementation, the metadata in the storage system may be managed with higher reliability.

Claims (74)

1. A method for managing a storage system, the method comprising:

reading a plurality of copies of metadata of the storage system from a plurality of storage devices in a resource pool of the storage system, the resource pool comprising a first number of storage devices, and the metadata describing configuration information of the storage system;

selecting a second number of copies from the plurality of copies based on version information in the plurality of copies, the second number of copies comprising the metadata in the same version;

determining whether a relation between the first number and the second number satisfies a predetermined condition; and

identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition;

wherein the version information comprises a reset time of the storage system, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the latest reset time from the plurality of copies as the second number of copies in response to determining reset times included in the plurality of copies are different.

2. The method of claim 1 , wherein identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition occurs at a first time; and wherein the method further comprises:

at a second time that is different from the first time, determining an error occurs in the metadata in response to determining the relation does not satisfy the predetermined condition.

3. The method of claim 1 , wherein a copy among the plurality of copies comprises the original number of storage devices included in the resource pool when the copy is written to a storage device among the plurality of storage devices, and the method further comprises:

replacing the first number with the original number in response to the original number differing from the first number.

4. The method of claim 1 , wherein the version information further comprises a boot count of the storage system, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the largest boot count from at least one part of the plurality of copies as the second number of copies in response to determining reset times included in the at least one part of the plurality of copies are the same.

5. The method of claim 4 , wherein the version information further comprises a timestamp when the metadata is updated, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the latest timestamp from at least one part of the plurality of copies as the second number of copies in response to determining boot counts included in the at least one part of the plurality of copies are the same.

6. The method of claim 1 , wherein the predetermined condition comprises: the second number is no less than half of the first number.

7. The method of claim 1 , wherein a copy among the plurality of copies comprises a checksum of the metadata, and the method further comprises:

determining the copy of the metadata is trusted in response to determining the checksum matches the metadata; and

booting the storage system based on the trusted metadata.

8. The method of claim 7 , further comprising:

determining an error occurs in the metadata in response to determining a checksum included in any copy among the second number of copies does not match the metadata.

9. The method of claim 1 , wherein

a first group of copies among the plurality of copies are written to a first group of storage devices included in the resource pool, and a second group of copies among the plurality of copies are written to a second group of storage devices included in the resource pool, the time when the first group of copies are written being earlier than the time when the second group of copies are written, and

before the first group of storage devices are written, a version of copies included in the first group of storage devices is earlier than a version of copies included in the second group of storage devices.

10. A device for managing a storage system, comprising:

at least one processor;

a volatile memory; and

a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed from the volatile memory by the at least one processor, causing the apparatus to perform acts comprising:

reading a plurality of copies of metadata of the storage system from a plurality of storage devices in a resource pool of the storage system, the resource pool comprising a first number of storage devices, and the metadata describing configuration information of the storage system;

selecting a second number of copies from the plurality of copies based on version information in the plurality of copies, the second number of copies comprising the metadata in the same version;

determining whether a relation between the first number and the second number satisfies a predetermined condition; and

identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition; and

wherein the version information comprises a reset time of the storage system, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the latest reset time from the plurality of copies as the second number of copies in response to determining reset times included in the plurality of copies are different.

11. The device of claim 10 , wherein identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition occurs at a first time; and

wherein the acts further comprise:

at a second time that is different from the first time, determining an error occurs in the metadata in response to determining the relation does not satisfy the predetermined condition.

12. The device of claim 10 , wherein a copy among the plurality of copies comprises the original number of storage devices included in the resource pool when the copy is written to a storage device among the plurality of storage devices, and the acts further comprise:

replacing the first number with the original number in response to the original number differing from the first number.

13. The device of claim 10 , wherein the version information further comprises a boot count of the storage system, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the largest boot count from at least one part of the plurality of copies as the second number of copies in response to determining reset times included in the at least one part of the plurality of copies are the same.

14. The device of claim 13 , wherein the version information further comprises a timestamp when the metadata are updated, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the latest timestamp from at least one part of the plurality of copies as the second number of copies in response to determining boot counts included in the at least one part of the plurality of copies are the same.

15. The device of claim 10 , wherein the predetermined condition comprises: the second number is no less than half of the first number.

16. The device of claim 10 , wherein a copy among the plurality of copies comprises a checksum of the metadata, and the acts further comprise:

determining the copy of the metadata is trusted in response to determining the checksum matches the metadata; and

booting the storage system based on the trusted metadata.

17. The device of claim 10 , wherein

a first group of copies among the plurality of copies are written to a first group of storage devices included in the resource pool, and a second group of copies among the plurality of copies are written to a second group of storage devices included in the resource pool, the time when the first group of copies are written being earlier than the time when the second group of copies are written, and

before the first group of storage devices are written, a version of copies included in the first group of storage devices is earlier than a version of copies included in the second group of storage devices.

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

reading a plurality of copies of metadata of the storage system from a plurality of storage devices in a resource pool of the storage system, the resource pool comprising a first number of storage devices, and the metadata describing configuration information of the storage system;

selecting a second number of copies from the plurality of copies based on version information in the plurality of copies, the second number of copies comprising the metadata in the same version;

determining whether a relation between the first number and the second number satisfies a predetermined condition; and

identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition; and

wherein the version information comprises a reset time of the storage system, and selecting the second number of copies from the plurality of copies comprises:

selecting a group of copies with the latest reset time from the plurality of copies as the second number of copies in response to determining reset times included in the plurality of copies are different.

19. A method for managing a storage system, the method comprising:

reading a plurality of copies of metadata of the storage system from a plurality of storage devices in a resource pool of the storage system, the resource pool comprising a first number of storage devices, and the metadata describing configuration information of the storage system;

selecting a second number of copies from the plurality of copies based on version information in the plurality of copies, the second number of copies comprising the metadata in the same version;

determining whether a relation between the first number and the second number satisfies a predetermined condition; and

identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition; and

wherein a copy among the plurality of copies comprises the original number of storage devices included in the resource pool when the copy is written to a storage device among the plurality of storage devices, and the method further comprises:

replacing the first number with the original number in response to the original number differing from the first number.

20. A method for managing a storage system, the method comprising:

reading a plurality of copies of metadata of the storage system from a plurality of storage devices in a resource pool of the storage system, the resource pool comprising a first number of storage devices, and the metadata describing configuration information of the storage system;

selecting a second number of copies from the plurality of copies based on version information in the plurality of copies, the second number of copies comprising the metadata in the same version;

determining whether a relation between the first number and the second number satisfies a predetermined condition; and

identifying the second number of copies as trusted metadata based on determining the relation satisfies the predetermined condition; and

wherein a copy among the plurality of copies comprises a checksum of the metadata, and the method further comprises:

determining the copy of the metadata is trusted in response to determining the checksum matches the metadata; and

booting the storage system based on the trusted metadata.

21. The method of claim 20 , further comprising:

determining an error occurs in the metadata in response to determining a checksum included in any copy among the second number of copies does not match the metadata.

Assignments (13)
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 (052851/0917) 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 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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 060436/0582 →
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 (052851/0081) 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 060436/0441 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
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 INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 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 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 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 052852/0022 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2020
From: MA, CHUN; ZHUO, BAOTE; TANG, HAIYING; QIU, ZHIHUI; XIA, SIHANG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052830/0370 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →