IP Library Granted Patent US 11,403,215
Granted Patent B2
US 11,403,215 · App. 16/842,242 · Granted Aug 2, 2022

Using a raw mirror to initialize a storage system

Inventors: Hongpo Gao (Beijing, CN); Ree Sun (Beijing, CN); Huadong Li (Beijing, CN); Wayne Li (Beijing, CN); Jibing Dong (Beijing, CN); Shaoqin Gong (Beijing, CN)
Assignee: EMC IP Holding Company, LLP
G06F12/0246G06F3/064G06F3/067G06F3/0632G06F3/0643G06F3/0689G06F11/1076G06F11/2069
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,403,215
App. No.
16/842,242
Granted
Aug 2, 2022
Kind
B2
Abstract

A method of initializing a data storage system (DSS) is provided. The method includes (a) in response to the DSS booting, reading data from a first plurality of disks marked as part of a raw mirror which mirrors configuration data of the DSS between the first plurality of disks; (b) comparing sequence numbers from the read data read and selecting data from a disk of the first plurality having a latest sequence number; (c) obtaining configuration data of the DSS from the selected data; (d) using the configuration data to construct a topology of the DSS which includes information describing a relationship between a second plurality of disks of the DSS, RAID groups of the DSS, and logical disks presented to users, the second plurality of disks being larger than and including the first plurality of disks; and (e) initializing the RAID groups and the logical disks described by the topology based on the information of the topology.

Claims (28)

1. A method of initializing a data storage system (DSS), the method comprising:

in response to the DSS booting, reading data from a first plurality of disks of the DSS which are marked as part of a raw mirror, the raw mirror mirroring configuration data of the DSS between the first plurality of disks, wherein reading the data from the first plurality of disks includes:

reading a plurality of blocks from each of the first plurality of disks and

calculating checksums for each block read and comparing to a checksum stored for that block;

comparing sequence numbers from the data read from each of the first plurality of disks and selecting data from a disk of the first plurality of disks having a latest sequence number, including:

comparing sequence numbers read from corresponding blocks of the first plurality of disks, including excluding blocks whose calculated checksums do not match their stored checksums and

selecting, on a block-by-block basis, a block having the latest sequence number;

obtaining configuration data of the DSS from the selected data;

using the configuration data to construct a topology of the DSS, the topology including information describing a relationship between a second plurality of disks of the DSS, RedundantArray of Independent Disks (RAID) groups of the DSS, and logical disks presented by the DSS to users, the second plurality of disks being larger than and including the first plurality of disks; and

initializing the RAID groups and the logical disks described by the topology based on the information of the topology.

2. The method of claim 1 wherein the method further comprises:

marking the blocks whose calculated checksums do not match their stored checksums as having errors; and

operating a background service to rebuild the blocks marked as having errors.

3. The method of claim 1 wherein reading the data from the first plurality of disks further includes checking each block fora magic number that identifies that block as being part of the raw mirror.

4. A computer program product comprising a non-transitory computer-readable medium storing instructions, which, when performed by processing circuitry of a data storage system (DSS), cause the DSS to initialize by:

in response to the DSS booting, reading data from a first plurality of disks of the DSS which are marked as part of a raw mirror, the raw mirror mirroring configuration data of the DSS between the first plurality of disks, wherein reading the data from the first plurality of disks includes:

reading a plurality of blocks from each of the first plurality of disks and

calculating checksums for each block read and comparing to a checksum stored for that block;

comparing sequence numbers from the data read from each of the first plurality of disks and selecting data from a disk of the first plurality of disks having a latest sequence number, including:

comparing sequence numbers read from corresponding blocks of the first plurality of disks including excluding blocks whose calculated checksums do not match their stored checksums and

selecting, on a block-by-block basis, a block having the latest sequence number;

obtaining configuration data of the DSS from the selected data;

using the configuration data to construct a topology of the DSS, the topology including information describing a relationship between a second plurality of disks of the DSS, RedundantArray of Independent Disks (RAID) groups of the DSS, and logical disks presented by the DSS to users, the second plurality of disks being larger than and including the first plurality of disks; and

initializing the RAID groups and the logical disks described by the topology based on the information of the topology.

5. The computer program product of claim 4 wherein the instructions, when performed by the processing circuitry, further cause the DSS to:

mark the blocks whose calculated checksums do not match their stored checksums as having errors; and

operate a background service to rebuild the blocks marked as having errors.

6. The computer program product of claim 4 wherein reading the data from the first plurality of disks further includes checking each block fora magic number that identifies that block as being part of the raw mirror.

Assignments (9)
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 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 (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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 10, 2022
From: GAO, HONGPO; LEI, REE; LI, HUADONG; LI, WAYNE; DONG, JIBING; GONG, SHAOQIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 058970/0424 →
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 IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
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; 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 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 →
Continuity (2)
Continuation 15710809 · Sep 20, 2017
Related Publication 20200233797A1 · Jul 23, 2020