IP Library Granted Patent US 11,269,521
Granted Patent B2
US 11,269,521 · App. 16/839,348 · Granted Mar 8, 2022

Method, device and computer program product for processing disk unavailability states

Inventors: Jianbin Kang (Beijing, CN); Jian Gao (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0617G06F3/061G06F3/0653G06F3/0689G11B20/18
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,269,521
App. No.
16/839,348
Granted
Mar 8, 2022
Kind
B2
Abstract

Techniques for managing data involve determining multiple indications related to a status of a stripe, including a first indication to indicate whether a group of disks related to the stripe is available, a second indication to indicate whether to rebuild the stripe, and a third indication to retain a value of the first indication when a disk is unavailable; in response to detecting that a disk in the group of disks is unavailable, updating the first indication to indicate that the disk is unavailable; and in response to receiving a write operation, determining an updating to the third indication with a first value of the updated first indication; and in response to determining that the unavailable disk is available again within a predetermined time period, updating the second indication with a current value of the updated third indication, to indicate rebuilding of the stripe.

Claims (68)

1. A method of managing data, comprising:

determining multiple indications related to a status of a stripe, the multiple indications including a first indication indicating whether a group of disks related to the stripe is available, a second indication indicating whether to rebuild the stripe, and a third indication maintaining, upon receipt of a write operation, a value of the first indication when the group of disks is unavailable, each of the first indication, the second indication, and the third indication having an initial value;

in response to detecting that the group of disks is unavailable, updating the first indication with a first value to indicate that the group of disks is unavailable;

in response to receiving a read operation when the group of disks is unavailable, maintaining the initial value of the third indication unchanged;

in response to receiving a write operation when the group of disks is unavailable, updating the third indication with the first value of the updated first indication;

in response to determining that the unavailable group of disks is available again within a predetermined time period;

updating the second indication with a current value of the third indication;

in response to the second indication being updated with the current value equal to the initial value, avoiding rebuilding the stripe; and

in response to the second indication being updated with the current value different from the initial value, rebuilding of the stripe; and

in response to determining that the unavailable group of disks is not available again in the predetermined time period:

allocating a new disk slice for the stripe;

updating the second indication with the first value of the updated first indication; and

rebuilding the stripe.

2. The method according to claim 1 , wherein updating the third indication with the first value of the updated first indication comprises:

in response to receiving the write operation, determining whether the first value and the current value of the third indication are the same; and

in response to determining that the first value is different from the current value;

putting the write operation into a queue;

updating the third indication with the first value; and

fetching the write operation from the queue to perform the write operation.

3. The method according to claim 2 , wherein updating the third indication with the first value of the updated first indication comprises:

in response to determining that the first value is equal to the current value, performing the write operation.

4. The method according to claim 1 , wherein the updated second indication having the initial value indicates the stripe does not need to be rebuilt.

5. An electronic device for managing data, comprising:

a processor; and

a memory storing computer program instructions, the processor running the computer program instructions in the memory to control the electronic device to perform acts comprising:

determining multiple indications related to a status of a stripe, the multiple indications including a first indication indicating whether a group of disks related to the stripe is available, a second indication indicating whether to rebuild the stripe, and a third indication maintaining, upon receipt of a write operation, a value of the first indication when the group of disks is unavailable, each of the first indication, the second indication, and the third indication having an initial value;

in response to detecting that the group of disks is unavailable, updating the first indication with a first value to indicate that the group of disks is unavailable;

in response to receiving a read operation when the group of disks is unavailable, maintaining the initial value of the third indication unchanged;

in response to receiving a write operation when the group of disks is unavailable, updating the third indication with the first value of the updated first indication;

in response to determining that the unavailable group of disks is available again within a predetermined time period;

updating the second indication with a current value of the third indication;

in response to the second indication being updated with the current value equal to the initial value, avoiding rebuilding the stripe; and

in response to the second indication being updated with the current value different from the initial value, rebuilding of the stripe; and

in response to determining that the unavailable group of disks is not available again in the predetermined time period:

allocating a new disk slice for the stripe;

updating the second indication with the first value of the updated first indication; and

rebuilding the stripe.

6. The electronic device according to claim 5 , wherein updating the third indication with the first value of the updated first indication comprises:

in response to receiving the write operation, determining whether the first value and the current value of the third indication are the same; and

in response to determining that the first value is different from the current value;

putting the write operation into a queue;

updating the third indication with the first value; and

fetching the write operation from the queue to perform the write operation.

7. The electronic device according to claim 6 , wherein updating the third indication with the first value of the updated first indication comprises:

in response to determining that the first value is equal to the current value, performing the write operation.

8. The electronic device according to claim 5 , wherein the updated second indication having the initial value indicates that the stripe does not need to be rebuilt.

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

determining multiple indications related to a status of a stripe, the multiple indications including a first indication indicating whether a group of disks related to the stripe is available, a second indication indicating whether to rebuild the stripe, and a third indication maintaining, upon receipt of a write operation, a value of the first indication when the group of disks is unavailable, each of the first indication, the second indication, and the third indication having an initial value;

in response to detecting that the group of disks is unavailable, updating the first indication with a first value to indicate that the group of disks is unavailable;

in response to receiving a read operation when the group of disks is unavailable, maintaining the initial value of the third indication unchanged;

in response to receiving a write operation when the group of disks is unavailable, updating the third indication with the first value of the updated first indication;

in response to determining that the unavailable group of disks is available again within a predetermined time period;

updating the second indication with a current value of the third indication;

in response to the second indication being updated with the current value equal to the initial value, avoiding rebuilding the stripe; and

in response to the second indication being updated with the current value different from the initial value, rebuilding of the stripe; and

in response to determining that the unavailable group of disks is not available again in the predetermined time period:

allocating a new disk slice for the stripe;

updating the second indication with the first value of the updated first indication; and

rebuilding the stripe.

10. The computer program product according to claim 9 , wherein updating the third indication with the first value of the updated first indication comprises:

in response to receiving the write operation, determining whether the first value and the current value of the third indication are the same; and

in response to determining that the first value is different from the current value:

putting the write operation into a queue;

updating the third indication with the first value; and

fetching the write operation from the queue to perform the write operation.

11. The computer program product according to claim 10 , wherein updating the third indication with the first value of the updated first indication comprises:

in response to determining that the first value is equal to the current value, performing the write operation.

12. The computer program product according to claim 9 , wherein the updated second indication having the initial value indicates the stripe does not need to be rebuilt.

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 (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 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; 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 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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 21, 2020
From: KANG, JIANBIN; GAO, JIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052724/0677 →