IP Library Granted Patent US 11,144,414
Granted Patent B2
US 11,144,414 · App. 16/778,030 · Granted Oct 12, 2021

Method and apparatus for managing storage system

Inventors: Xinlei Xu (Beijing, CN); Jian Gao (Beijing, CN); Yousheng Liu (Beijing, CN); Changyu Feng (Beijing, CN); Geng Han (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F11/2094G06F11/1092G06F2201/805G06F2201/82G06F2201/85
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,144,414
App. No.
16/778,030
Granted
Oct 12, 2021
Kind
B2
Abstract

The present invention discloses a method and device for managing a storage system. Specifically, in one embodiment of the present invention, there is proposed a method for managing a storage system, the storage system comprising a buffer device and a plurality of storage devices. The method comprises: receiving an access request with respect to the storage system; determining a storage device among the plurality of storage devices has been failed; and in response to the access request being an access request with respect to the failed storage device, serving the access request with data in the buffer device so as to reduce internal data access in the storage system. In one embodiment of the present invention, there is proposed a device for managing a storage system.

Claims (55)

1. A method for managing a storage system, the storage system comprising a buffer device and a plurality of storage devices, the method comprising:

receiving an access request with respect to the storage system;

determining that a storage device among the plurality of storage devices has failed;

in response to the access request being an access request with respect to the failed storage device, serving the access request with data in the buffer device so as to reduce internal data access in the storage system at least in part by:

in response to the access request being a writing request, writing target data associated with the access request to a target page in the buffer device, and

delaying flushing data in the target page to the storage device at least in part by adding the target page to a first waiting queue including a data page associated with the failed storage device, determining a first priority for the first waiting queue, and, in at least one round of flushing, flushing data in a data page in the first waiting queue to a further storage device on the basis of the first priority, wherein flushing data in the data page in the first waiting queue to the further storage device on the basis of the first priority comprises:

in response to the first priority not satisfying a predetermined condition, updating the first priority according to an updating rule, the updating rule making the updated first priority much closer to the predetermined condition than the first priority; and

in response to the first priority satisfying the predetermined condition, flushing data in the data page in the first waiting queue to the further storage device;

determining a second priority for a second waiting queue in the buffer device, the second waiting queue including a data page associated with a second storage device other than the failed storage device; and

in at least one round of flushing, flushing data in the data page in the second waiting queue to the second storage device on the basis of the second priority.

2. The method according to claim 1 , wherein determining the first priority for the first waiting queue comprises:

increasing the first priority on the basis of a response time associated with the failed storage device.

3. The method according to claim 1 , wherein determining the first priority for the first waiting queue comprises:

reducing the first priority on the basis of a usage rate of the buffer device by the failed storage device.

4. The method according to claim 1 , wherein determining the first priority for the first waiting queue comprises:

increasing the first priority on the basis of an access frequency of access requests with respect to the failed storage device.

5. The method according to claim 1 , wherein determining the first priority for the first waiting queue comprises:

setting the first priority on the basis of a response time associated with the failed storage device, a usage rate of the buffer device by the failed storage device, and an access frequency of access requests with respect to the failed storage device.

6. The method according to claim 1 , wherein flushing data in the data page in the second waiting queue to the second storage device on the basis of the second priority comprises:

in response to the second priority not satisfying a second predetermined condition, updating the second priority according to a second updating rule, the second updating rule making the updated second priority much closer to the second predetermined condition than the second priority; and

in response to the second priority satisfying the second predetermined condition, flushing data in the data page in the second waiting queue to the second storage device.

7. The method according to claim 1 , wherein the first waiting queue and the second waiting queue are waiting queues within a plurality of waiting queues;

wherein the plurality of storage devices comprises a Redundant Array of Independent Disks (RAID);

wherein each one of the waiting queues in the plurality of waiting queues is provided for a corresponding one of the plurality of storage devices; and

wherein each waiting queue has a corresponding priority.

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

flushing data in the data page in the first waiting queue to the further storage device at least in part by selecting the target page from the first waiting queue based on a least recently used standard.

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

one or more processors;

a memory coupled to at least one processor of the one or more processors;

computer program instructions stored in the memory which, when executed by the at least one processor, cause the device to execute a method for managing a storage system, the method comprising:

receiving an access request with respect to the storage system;

determining that a storage device among the plurality of storage devices has failed;

in response to the access request being an access request with respect to the failed storage device, serving the access request with data in the buffer device so as to reduce internal data access in the storage system at least in part by:

in response to the access request being a writing request, writing target data associated with the access request to a target page in the buffer device, and

delaying flushing data in the target page to the storage device at least in part by adding the target page to a first waiting queue including a data page associated with the failed storage device, determining a first priority for the first waiting queue, and, in at least one round of flushing, flushing data in a data page in the first waiting queue to a further storage device on the basis of the first priority, wherein flushing data in the data page in the first waiting queue to the further storage device on the basis of the first priority comprises:

in response to the first priority not satisfying a predetermined condition, updating the first priority according to an updating rule, the updating rule making the updated first priority much closer to the predetermined condition than the first priority; and

in response to the first priority satisfying the predetermined condition, flushing data in the data page in the first waiting queue to the further storage device;

determining a second priority for a second waiting queue in the buffer device, the second waiting queue including a data page associated with a second storage device other than the failed storage device; and

in at least one round of flushing, flushing data in the data page in the second waiting queue to the second storage device on the basis of the second priority.

10. The device according to claim 9 , wherein determining the first priority for the first waiting queue comprises:

increasing the first priority on the basis of a response time associated with the failed storage device.

11. The device according to claim 9 , wherein determining the first priority for the first waiting queue comprises:

reducing the first priority on the basis of a usage rate of the buffer device by the failed storage device.

12. The device according to claim 9 , wherein determining the first priority for the first waiting queue comprises:

increasing the first priority on the basis of an access frequency of access requests with respect to the failed storage device.

13. The device according to claim 9 , wherein determining the first priority for the first waiting queue comprises:

setting the first priority on the basis of a response time associated with the failed storage device, a usage rate of the buffer device by the failed storage device, and an access frequency of access requests with respect to the failed storage device.

14. The device according to claim 9 , wherein flushing data in the data page in the second waiting queue to the second storage device on the basis of the second priority comprises:

in response to the second priority not satisfying a second predetermined condition, updating the second priority according to a second updating rule, the second updating rule making the updated second priority much closer to the second predetermined condition than the second priority; and

in response to the second priority satisfying the second predetermined condition, flushing data in the data page in the second waiting queue to the second storage device.

15. The device according to claim 9 , wherein the first waiting queue and the second waiting queue are waiting queues within a plurality of waiting queues;

wherein the plurality of storage devices comprises a Redundant Array of Independent Disks (RAID);

wherein each one of the waiting queues in the plurality of waiting queues is provided for a corresponding one of the plurality of storage devices; and

wherein each waiting queue has a corresponding priority.

Assignments (9)
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 (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 (052216/0758) 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 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 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 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2020
From: XU, XINLEI; GAO, JIAN; LIU, YOUSHENG; FENG, CHANGYU; HAN, GENG
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051973/0738 →