IP Library Granted Patent US 10,664,363
Granted Patent B2
US 10,664,363 · App. 15/994,354 · Granted May 26, 2020

Availability of a storage system

Inventors: Bing Liu (Tianjin, CN); Man Lv (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/1662G06F3/064G06F3/065G06F3/0617G06F3/0653G06F3/0659G06F3/0689G06F11/1076G06F11/1088G06F11/2058G06F11/2069G06F11/2087G06F11/3034G06F11/3055G06F2201/86
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,664,363
App. No.
15/994,354
Granted
May 26, 2020
Kind
B2
Abstract

Embodiments of the present disclosure provide a method for a storage system, a storage system and a computer program product. The method comprises determining a first drive in a drive array is temporarily unavailable. The method further comprises setting the first drive in a frozen state. The method further comprises: in response to receiving a write request for the first drive during the frozen state, pending the write request or recording the write request in a second drive in the drive array. The method further comprises: in response to receiving a read request for the first drive during the frozen state, reconstructing data to which the read request is directed through data stored in a third drive in the drive array.

Claims (96)

1. A method for a storage system including a drive array, the method comprising:

determining that a first drive in the drive array is temporarily unavailable;

setting the first drive in a frozen state;

in response to receiving a write request for the first drive during the frozen state, putting the write request in a buffer area;

in response to receiving a read request for the first drive during the frozen state, reconstructing data to which the read request is directed through data stored in a third drive in the drive array;

in response to a number of write requests in the buffer area exceeding a threshold number, recording data to be written by the write requests in the buffer area into a file stored in a second drive; and

updating a synchronization indication associated with the first drive whether a block on the first drive is to be synchronized in response to the first drive becoming available.

2. The method according to claim 1 , wherein determining that the first drive is temporarily unavailable comprises:

determining that the first drive is temporarily unavailable by detecting a predetermined event including at least one of the followings:

the first drive starting an online firmware update process,

the first drive being performing a garbage collection process,

input/output latency of the first drive exceeding a threshold,

an error occurring on the first drive,

the first drive being removed,

all paths to the first drive being missing, and

a network traffic burst.

3. The method according to claim 1 , wherein reconstructing the data to which the read request is directed includes:

in response to receiving the read request during the frozen state, reading data stored in the third drive; and

reconstructing the data to which the read request is directed with the read data.

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

in response to the first drive becoming available,

setting the first drive in a synchronized state; and

synchronizing data recorded in the file to the first drive.

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

in response to receiving a second write request for the first drive during the synchronization, determining whether target data in the file corresponding to an address to which the second write request is directed has been synchronized to the first drive;

in response to determining that the target data has not been synchronized to the first drive,

discarding the target data;

setting the synchronization indication that a block corresponding to the address to which the second write request is directed needn't be synchronized; and

writing the target data into the first drive.

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

in response to timeout of the frozen state, reconstructing data stored in the first drive.

7. A storage system, comprising:

a drive array; and

a controller configured to:

determine that a first drive in the drive array is temporarily unavailable; and

set the first drive in a frozen state;

in response to receiving a write request for the first drive during the frozen state, put the write request in a buffer area;

in response to receiving a read request for the first drive during the frozen state, reconstruct data to which the read request is directed through data stored in a third drive in the drive array;

in response to a number of write requests in the buffer area exceeding a threshold number, record data to be written by write requests in the buffer area in a file stored in a second drive; and

update a synchronization indication associated with the first drive whether a block on the first drive is to be synchronized in response to the first drive becoming available.

8. The storage system according to claim 7 , wherein the controller is configured to determine that the first drive is temporarily unavailable by detecting a predetermined event including at least one of the followings:

the first drive starting an online firmware update process,

the first drive being performing a garbage collection process,

input/output latency of the first drive exceeding a threshold,

an error occurring on the first drive,

the first drive being removed,

all paths to the first drive being missing, and

a network traffic burst.

9. The storage system according to claim 7 , wherein the controller, when reconstructing the data to which the read request is directed, is configured to:

in response to receiving the read request during the frozen state,

read data stored in the third drive; and

reconstruct the data to which the read request is directed with the read data.

10. The storage system according to claim 7 , wherein the controller is further configured to:

in response to the first drive becoming available,

set the first drive in a synchronized state; and

synchronize data recorded in the file to the first drive.

11. The storage system according to claim 10 , wherein the controller is further configured to:

in response to receiving a second write request for the first drive during the synchronization, determine whether target data in the file corresponding to an address to which the second write request is directed has been synchronized to the first drive;

in response to determining that the target data has not been synchronized to the first drive,

discard the target data;

set the synchronization indication that a block corresponding to the address to which the second write request is directed needn't be synchronized; and

write the target data to the first drive.

12. The storage system according to claim 7 , wherein the controller is further configured to:

in response to timeout of the frozen state, reconstruct data stored in the first drive.

13. A computer program product for a storage system including a drive array, the computer program product comprising:

a non-transitory computer readable medium encoded with computer-executable code, the code configured for the execution of:

determining that a first drive in the drive array is temporarily unavailable;

setting the first drive in a frozen state;

in response to receiving a write request for the first drive during the frozen state, putting the write request in a buffer area;

in response to receiving a read request for the first drive during the frozen state, reconstructing data to which the read request is directed through data stored in a third drive in the drive array;

in response to a number of write requests in the buffer area exceeding a threshold number, recording data to be written by the write requests in the buffer area into a file stored in a second drive; and

updating a synchronization indication associated with the first drive whether a block on the first drive is to be synchronized in response to the first drive becoming available.

14. The computer program product of claim 13 , wherein determining that the first drive is temporarily unavailable comprises:

determining that the first drive is temporarily unavailable by detecting a predetermined event including at least one of the followings:

the first drive starting an online firmware update process,

the first drive being performing a garbage collection process,

input/output latency of the first drive exceeding a threshold,

an error occurring on the first drive,

the first drive being removed,

all paths to the first drive being missing, and

a network traffic burst.

15. The computer program product of claim 13 , wherein reconstructing the data to which the read request is directed includes:

in response to receiving the read request during the frozen state, reading data stored in the third drive; and

reconstructing the data to which the read request is directed with the read data.

16. The computer program product of claim 13 , wherein the code is further configured for the execution of:

in response to the first drive becoming available,

setting the first drive in a synchronized state; and

synchronizing data recorded in the file to the first drive.

17. The computer program product of claim 16 , wherein the code is further configured for the execution of:

in response to receiving a second write request for the first drive during the synchronization, determining whether target data in the file corresponding to an address to which the second write request is directed has been synchronized to the first drive;

in response to determining that the target data has not been synchronized to the first drive,

discarding the target data;

setting the synchronization indication that a block corresponding to the address to which the second write request is directed needn't be synchronized; and

writing the target data into the first drive.

18. The computer program product of claim 13 wherein the code is further configured for the execution of:

in response to timeout of the frozen state, reconstructing data stored in the first drive.

Assignments (10)
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 (047648/0422) Recorded May 20, 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 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 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 058298/0510 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 10, 2020
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052132/0192 →
KEY EMPLOYMENT AGREEMENT Recorded Feb 12, 2020
From: LV, MAN
To: EMC CORPORATION
Reel/Frame 051900/0653 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
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 047648/0422 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 31, 2018
From: LIU, BING
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045953/0185 →
Priority Claims (1)
CN 2017 1 0409906 · Jun 2, 2017 · national
Continuity (1)
Related Publication 20180349234A1 · Dec 6, 2018
Cited By (1)
US 12,282,686