IP Library Granted Patent US 10,592,365
Granted Patent B2
US 10,592,365 · App. 15/846,319 · Granted Mar 17, 2020

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 10,592,365
App. No.
15/846,319
Granted
Mar 17, 2020
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 (98)

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 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;

wherein serving the access request with data in the buffer device so as to reduce internal data access in the storage system comprises: in response to the access request missing the buffer device,

in response to the access request being a reading request, bypassing an access history of historical access requests with respect to the storage system;

loading target data associated with the access request, which is recovered from at least one further storage device other than the failed storage device in the storage system, to a target page in the buffer device; and

returning data in the target page from the buffer device so as to respond to the access request.

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

marking the access request in response to the access request being a reading request with respect to the failed storage device.

3. The method according to claim 2 , further comprising:

in response to a second access request being a non-marked reading request, processing the second access request on the basis of an access history of historical access requests with respect to the storage system.

4. The method according to claim 3 , wherein processing the second access request on the basis of the access history of historical access requests with respect to the storage system comprises at least one of:

in response to the access history indicating the frequency of access to data associated with the second access request satisfies a predetermined condition, loading the data to the buffer device; and

in response to the access history indicating the frequency of access to data associated with the second access request does not satisfy a predetermined condition, updating the access history, and retrieving data associated with the second access request from a storage device in the storage system.

5. The method according to claim 1 , further comprising: in response to a second access request being a writing request,

writing target data associated with the second access request to a second target page in the buffer device; and

delaying flushing data in the second target page to the storage device.

6. The method according to claim 5 , wherein delaying flushing data in the second target page to the storage device comprises:

adding the second target page to a waiting queue, the waiting queue including a data page associated with the failed storage device;

determining a priority for the waiting queue; and

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

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

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

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

8. The method according to claim 6 , wherein determining the priority for the waiting queue comprises:

setting the priority on the basis of at least one 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.

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

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 method according to claim 1 , wherein loading the target data includes:

reading data blocks from multiple further storage devices, and

performing a reconstruction operation to reconstruct the target data from the data blocks in accordance with a predefined Redundant Array of Independent Disks (RAID) standard.

11. 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 a storage device among a 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;

wherein serving the access request with data in the buffer device so as to reduce internal data access in the storage system comprises:

in response to the access request missing the buffer device, in response to the access request being a reading request, bypassing an access history of historical access requests with respect to the storage system;

loading target data associated with the access request, which is recovered from at least one further storage device other than the failed storage device in the storage system, to a target page in the buffer device; and

returning data in the target page from the buffer device so as to respond to the access request.

12. The device according to claim 11 , the method further comprising:

marking the access request in response to the access request being a reading request with respect to the failed storage device.

13. The device according to claim 12 , the method further comprising:

in response to a second access request being a non-marked reading request, processing the second access request on the basis of an access history of historical access requests with respect to the storage system.

14. The device according to claim 13 , wherein processing the second access request on the basis of the access history of historical access requests with respect to the storage system comprises at least one of:

in response to the access history indicating the frequency of access to data associated with the second access request satisfies a predetermined condition, loading the data to the buffer device; and

in response to the access history indicating the frequency of access to data associated with the second access request does not satisfy a predetermined condition, updating the access history, and retrieving data associated with the second access request from a storage device in the storage system.

15. The device according to claim 11 , wherein the method further comprises: in response to a second access request being a writing request,

writing target data associated with the second access request to a second target page in the buffer device; and

delaying flushing data in the second target page to the storage device.

16. The device according to claim 15 , wherein delaying flushing data in the second target page to the storage device comprises:

adding the second target page to a waiting queue, the waiting queue including a data page associated with the failed storage device;

determining a priority for the waiting queue; and

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

17. The device according to claim 16 , wherein flushing data in the data page in the waiting queue to the further storage device on the basis of the priority comprises:

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

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

18. The device according to claim 16 , wherein determining the priority for the waiting queue comprises:

setting the priority on the basis of at least one 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.

19. The device according to claim 16 , the method further comprising:

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.

20. 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 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;

wherein serving the access request with data in the buffer device so as to reduce internal data access in the storage system comprises: 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;

wherein delaying flushing data in the target page to the storage device comprises:

adding the target page to a waiting queue, the waiting queue including a data page associated with the failed storage device;

determining a priority for the waiting queue; and

in at least one round of flushing, flushing data in a data page in the waiting queue to a further storage device on the basis of the priority; and

wherein the method further comprises:

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.

21. 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 a storage device among a 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;

wherein serving the access request with data in the buffer device so as to reduce internal data access in the storage system comprises:

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;

wherein delaying flushing data in the target page to the storage device comprises:

adding the target page to a waiting queue, the waiting queue including a data page associated with the failed storage device;

determining a priority for the waiting queue;

in at least one round of flushing, flushing data in a data page in the waiting queue to a further storage device on the basis of the priority; and

wherein the method further comprises:

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 a data page in the second waiting queue to the second storage device on the basis of the second priority.

Assignments (6)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045482/0131) 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 061749/0924 →
RELEASE OF SECURITY INTEREST AT REEL 045482 FRAME 0395 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0314 →
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 Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 045482/0131 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Mar 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 045482/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 8, 2018
From: HAN, GENG; FENG, CHANGYU; XU, XINLEI; LIU, YOUSHENG; GAO, JIAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 044558/0954 →