IP Library Granted Patent US 11,442,633
Granted Patent B2
US 11,442,633 · App. 16/876,734 · Granted Sep 13, 2022

Method, electronic device and computer program product for storage management

Inventors: Jianbin Kang (Beijing, CN); Jibing Dong (Beijing, CN); Shaoqin Gong (Beijing, CN); Jian Gao (Beijing, CN); Baote Zhuo (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/065G06F3/0689G06F11/2094
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,442,633
App. No.
16/876,734
Granted
Sep 13, 2022
Kind
B2
Abstract

Techniques involve: determining a source disk slice from a plurality of disk slices of a plurality of storage arrays providing redundant storage, target data on the source disk slice needing to be removed; determining a destination disk slice for storing the target data needing to be removed from the source disk slice, a destination disk where the destination disk slice is located being different from a source disk where the source disk slice is located; and moving the target data from the source disk slice to the destination disk slice. Accordingly, such techniques can improve efficiency of a storage system.

Claims (77)

1. A method for storage management in a storage system, the method comprising:

determining, by a controller configured to manage the storage system, a source disk slice from a plurality of disk slices of a plurality of storage arrays providing redundant storage, target data on the source disk slice needing to be removed;

determining, by the controller, a destination disk slice for storing the target data needing to be removed from the source disk slice, a destination disk where the destination disk slice is located being different from a source disk where the source disk slice is located, the plurality of storage arrays including a target storage array associated with the source disk;

in response to receiving, at the controller, a start message from a mapper configured to maintain a mapping relationship between a logical address space and a physical address space of the storage system:

moving, by the controller, the target data from the source disk slice to the destination disk slice; and

setting, by the controller, a moving in progress field for the target storage array to be valid; and

in response to receiving, at the storage system, a write access request involving the source disk slice:

determining, by the controller, that the moving in progress field for the target storage array is set to be valid; and

in response to determining that the moving in progress field for the target storage array is set to be valid, writing, by the controller, data for the write access request into the destination disk slice in addition to moving, by the controller, the target data from the source disk slice to the destination disk slice.

2. The method of claim 1 , wherein determining the source disk slice comprises:

determining the source disk from disks corresponding to the plurality of storage arrays, at least part of the target data on the source disk needing to be removed;

determining, from the plurality of storage arrays, the target storage array associated with the source disk; and

determining, from disk slices of the target storage array, a disk slice on the source disk as the source disk slice, at least the part of the target data needing to be removed including data in the determined disk slice.

3. The method of claim 1 , wherein moving the target data from the source disk slice to the destination disk slice comprises:

receiving a data message associated with the target data;

determining, based on the data message and a source disk slice field for the target storage array associated with the source disk of the plurality of storage disks, the target data;

determining, based on the data message and a destination disk slice field for the target storage array, a target position in the destination disk slice where the target data is to be written; and

writing the target data into the target position.

4. The method of claim 3 , wherein determining the target data comprises:

determining, based on the data message, a position of the target data on the source disk slice and a size of the target data;

determining, based on the source disk slice field, a position of the source disk slice on the source disk; and

determining the target data based on the position of the source disk slice on the source disk, the position of the target data on the source disk slice and the size.

5. The method of claim 4 , wherein determining the target position comprises:

determining, based on the destination disk slice field, a position of the destination disk slice on the destination disk; and

determining, based on the position of the destination disk slice on the destination disk and the position of the target data on the source disk slice, the target position.

6. The method of claim 1 , further comprising:

in accordance with a determination of the target storage array associated with the source disk of the plurality of storage arrays, setting a moving request field for the target storage array to be valid;

determining, from a storage array disk slice field for the target storage array, a position of the source disk slice on the source disk;

setting a source disk slice field for the target storage array to indicate the position of the source disk slice on the source disk; and

setting a destination disk slice field for the target storage array to indicate a position of the destination disk slice on the destination disk.

7. The method of claim 1 , further comprising:

in accordance with a determination that an end message indicating an end of the moving is received, updating a storage array disk slice field for the target storage array associated with the source disk of the plurality of storage arrays using a position of the destination disk slice on the destination disk; and

setting the moving in progress field, a moving request field, a source disk slice field and a destination disk slice for the target storage array to be invalid.

8. An electronic device, comprising:

a controller configured to manage a storage system; and

at least one memory coupled to the controller and storing instructions executed by the controller, the instructions, when executed by the controller, causing the device to perform acts comprising:

determining a source disk slice from a plurality of disk slices of a plurality of storage arrays providing redundant storage, target data on the source disk slice needing to be removed;

determining a destination disk slice for storing the target data needing to be removed from the source disk slice, a destination disk where the destination disk slice is located being different from a source disk where the source disk slice is located, the plurality of storage arrays including a target storage array associated with the source disk;

in response to receiving, at the controller, a start message from a mapper configured to maintain a mapping relationship between a logical address space and a physical address space of the storage system:

moving the target data from the source disk slice to the destination disk slice; and

setting, by the controller, a moving in progress field for the target storage array to be valid; and

in response to receiving, at the storage system, a write access request involving the source disk slice:

determining, by the controller, that the moving in progress field for the target storage array is set to be valid; and

in response to determining that the moving in progress field for the target storage array is set to be valid, writing, by the controller, data for the write access request into the destination disk slice in addition to moving, by the controller, the target data from the source disk slice to the destination disk slice.

9. The electronic device of claim 8 , wherein determining the source disk slice comprises:

determining the source disk from disks corresponding to the plurality of storage arrays, at least part of the target data on the source disk needing to be removed;

determining, from the plurality of storage arrays, the target storage array associated with the source disk; and

determining, from disk slices of the target storage array, a disk slice on the source disk as the source disk slice, at least the part of the target data needing to be removed including data in the determined disk slice.

10. The electronic device of claim 8 , wherein moving the target data from the source disk slice to the destination disk slice comprises:

receiving a data message associated with the target data;

determining, based on the data message and a source disk slice field for the target storage array associated with the source disk of the plurality of storage disks, the target data;

determining, based on the data message and a destination disk slice field for the target storage array, a target position in the destination disk slice where the target data is to be written; and

writing the target data into the target position.

11. The electronic device of claim 10 , wherein determining the target data comprises:

determining, based on the data message, a position of the target data on the source disk slice and a size of the target data;

determining, based on the source disk slice field, a position of the source disk slice on the source disk; and

determining the target data based on the position of the source disk slice on the source disk, the position of the target data on the source disk slice and the size.

12. The electronic device of claim 11 , wherein determining the target position comprises:

determining, based on the destination disk slice field, a position of the destination disk slice on the destination disk; and

determining, based on the position of the destination disk slice on the destination disk and the position of the target data on the source disk slice, the target position.

13. The electronic device of claim 8 , wherein the acts further comprise:

in accordance with a determination of the target storage array associated with the source disk of the plurality of storage arrays, setting a moving request field for the target storage array to be valid;

determining, from a storage array disk slice field for the target storage array, a position of the source disk slice on the source disk;

setting a source disk slice field for the target storage array to indicate the position of the source disk slice on the source disk; and

setting a destination disk slice field for the target storage array to indicate a position of the destination disk slice on the destination disk.

14. The electronic device of claim 8 , wherein the acts further comprise:

in accordance with a determination that an end message indicating an end of the moving is received, updating a storage array disk slice field for the target storage array associated with the source disk of the plurality of storage arrays using a position of the destination disk slice on the destination disk; and

setting the moving in progress field, a moving request field, a source disk slice field and a destination disk slice for the target storage array to be invalid.

15. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform storage management; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method for storage management in a storage system, the method comprising:

determining, by a controller configured to manage the storage system, a source disk slice from a plurality of disk slices of a plurality of storage arrays providing redundant storage, target data on the source disk slice needing to be removed;

determining, by the controller, a destination disk slice for storing the target data needing to be removed from the source disk slice, a destination disk where the destination disk slice is located being different from a source disk where the source disk slice is located, the plurality of storage arrays including a target storage array associated with the source disk;

in response to receiving, at the controller, a start message from a mapper configured to maintain a mapping relationship between a logical address space and a physical address space of the storage system:

moving, by the controller, the target data from the source disk slice to the destination disk slice; and

setting, by the controller, a moving in progress field for the target storage array to be valid; and

in response to receiving, at the storage system, a write access request involving the source disk slice:

determining, by the controller, that the moving in progress field for the target storage array is set to be valid; and

in response to determining that the moving in progress field for the target storage array is set to be valid, writing, by the controller, data for the write access request into the destination disk slice in addition to moving, by the controller, the target data from the source disk slice to the destination disk slice.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053578/0183) Recorded Jun 10, 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 060332/0864 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053574/0221) Recorded Jun 10, 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 060333/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053573/0535) Recorded Jun 10, 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 060333/0106 →
RELEASE OF SECURITY INTEREST AT REEL 053531 FRAME 0108 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0371 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053578/0183 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053573/0535 →
SECURITY INTEREST Recorded Aug 21, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 053574/0221 →
SECURITY AGREEMENT Recorded Aug 18, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 053531/0108 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2020
From: KANG, JIANBIN; DONG, JIBING; GONG, SHAOQIN; GAO, JIAN; ZHUO, BAOTE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052910/0498 →