IP Library Granted Patent US 10,705,971
Granted Patent B2
US 10,705,971 · App. 15/954,691 · Granted Jul 7, 2020

Mapping logical blocks of a logical storage extent to a replacement storage device

Inventors: Geng Han (Beijing, CN); Wayne Weihua Li (Beijing, CN); Jian Gao (Beijing, CN); Jamin Kang (Beijing, CN); Shaoqin Gong (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F12/10G06F11/2094G06F12/0246G06F2201/82G06F2212/1041G06F2212/657G06F2212/7201
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,705,971
App. No.
15/954,691
Granted
Jul 7, 2020
Kind
B2
Abstract

Embodiments of the present disclosure relate to a method, a device and a computer readable medium for managing a storage system. The method can determine a mapping between a logical storage extent and a plurality of storage devices in a storage pool without storing a table of the mapping. Further, the method can record a new mapping after a storage devices fails and restore the original mapping after the failed storage device is replaced.

Claims (59)

1. A method of storage management, comprising:

in response to a logical storage extent being to be distributed to a plurality of storage devices in a storage pool, dynamically determining a first mapping between the logical storage extent and the plurality of storage devices;

distributing a plurality of logical blocks of the logical storage extent to storage blocks of the plurality of storage devices based on the first mapping;

in response to a failure in a first one of the plurality of storage devices, determining, from the plurality of logical blocks, a portion of logical blocks that are distributed to storage blocks of the first storage device;

determining a second mapping between the portion of logical blocks and storage blocks of a plurality of fault-free storage devices in the storage device pool, the second mapping being used for rebuilding data in the storage blocks of the first storage device into the storage blocks of the plurality of fault-free storage devices;

storing the second mapping;

in response to the first storage device being replaced by a second storage device, distributing the portion of logical blocks to storage blocks of the second storage device;

replicating data in the storage blocks of the first storage device into the storage blocks of the second storage device, a mapping between the portion of logical blocks and the second storage device coinciding with the first mapping; and

in response to data in the storage blocks of the first storage device being replicated into the storage blocks of the second storage device, releasing storage resources storing the second mapping.

2. The method of claim 1 , wherein dynamically determining a first mapping between the logical storage extent and the plurality of storage devices comprises:

determining the first mapping using a hash function.

3. The method of claim 1 , wherein the plurality of logical blocks of the logical storage extent are distributed to the storage blocks of the plurality of storage devices without storing the first mapping.

4. The method of claim 1 , further comprising:

redistributing the portion of logical blocks to storage blocks from different fault-free storage devices in the plurality of fault-free storage devices.

5. The method of claim 1 , further comprising:

storing a serial number of a next available storage device; and

updating the serial number of the next available storage device when the second mapping is determined.

6. The method of claim 5 , further comprising:

wherein the second mapping is determined based at least in part on the stored serial number of the next available storage device.

7. An electronic device, comprising:

at least one processor; and

a memory coupled to the at least one processor and having instructions stored therein which, when executed by the at least one processor, cause the electronic device to perform acts comprising:

in response to a logical storage extent being to be distributed to a plurality of storage devices in a storage pool, dynamically determining a first mapping between the logical storage extent and the plurality of storage devices;

distributing a plurality of logical blocks of the logical storage extent to storage blocks of the plurality of storage devices, based on the first mapping;

in response to a failure in a first one of the plurality of storage devices, determining, from the plurality of logical blocks, a portion of logical blocks that are distributed to storage blocks of the first storage device;

determining a second mapping between the portion of logical blocks and storage blocks of a plurality of fault-free storage devices in the storage device pool, the second mapping being used for rebuilding data in the storage blocks of the first storage device into the storage blocks of the plurality of fault-free storage devices;

storing the second mapping;

in response to the first storage device being replaced by a second storage device, distributing the portion of logical blocks to storage blocks of the second storage device;

replicating data in the storage blocks of the first storage device into the storage blocks of the second storage device, a mapping between the portion of logical blocks and the second storage device coinciding with the first mapping; and

in response to data in the storage blocks of the first storage device being replicated into the storage blocks of the second storage device, releasing storage resources storing the second mapping.

8. The device of claim 7 , wherein dynamically determining a first mapping between the logical storage extent and the plurality of storage devices comprises:

determining the first mapping using a hash function.

9. The device of claim 7 , wherein the plurality of logical blocks of the logical storage extent are distributed to the storage blocks of the plurality of storage devices without storing the first mapping.

10. The device of claim 7 , wherein the acts further comprise:

redistributing the portion of logical blocks to storage blocks from different fault-free storage devices in the plurality of fault-free storage devices.

11. The device of claim 7 , wherein the acts further comprise:

storing a serial number of a next available storage device; and

updating the serial number of the next available storage device when the second mapping is determined.

12. The device of claim 11 , further comprising:

wherein the second mapping is determined based at least in part on the stored serial number of the next available storage device.

13. A non-transitory computer-readable medium having instructions stored thereon which, when executed by at least one processing unit, cause the at least one processing unit to perform a method comprising:

in response to a logical storage extent being to be distributed to a plurality of storage devices in a storage pool, dynamically determining a first mapping between the logical storage extent and the plurality of storage devices;

distributing a plurality of logical blocks of the logical storage extent to storage blocks of the plurality of storage devices, based on the first mapping;

in response to a failure in a first one of the plurality of storage devices, determining, from the plurality of logical blocks, a portion of logical blocks that are distributed to storage blocks of the first storage device;

determining a second mapping between the portion of logical blocks and storage blocks of a plurality of fault-free storage devices in the storage device pool, the second mapping being used for rebuilding data in the storage blocks of the first storage device into the storage blocks of the plurality of fault-free storage devices;

storing the second mapping;

in response to the first storage device being replaced by a second storage device, distributing the portion of logical blocks to storage blocks of the second storage device;

replicating data in the storage blocks of the first storage device into the storage blocks of the second storage device, a mapping between the portion of logical blocks and the second storage device coinciding with the first mapping; and

in response to data in the storage blocks of the first storage device being replicated into the storage blocks of the second storage device, releasing storage resources storing the second mapping.

14. The medium of claim 13 , wherein dynamically determining a first mapping between the logical storage extent and the plurality of storage devices comprises:

determining the first mapping using a hash function.

15. The medium of claim 13 , wherein the plurality of logical blocks of the logical storage extent are distributed to the storage blocks of the plurality of storage devices without storing the first mapping.

16. The medium of claim 13 , wherein the method further comprises:

redistributing the portion of logical blocks to storage blocks from different fault-free storage devices in the plurality of fault-free storage devices.

17. The medium of claim 13 , wherein the method further comprises:

storing a serial number of a next available storage device; and

updating the serial number of the next available storage device when the second mapping is determined.

18. The medium of claim 17 , further comprising:

wherein the second mapping is determined based at least in part on the stored serial number of the next available storage device.

Assignments (8)
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 (046366/0014) 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 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 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/0093 →
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 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 (CREDIT) Recorded Jun 1, 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 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 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 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: HAN, GENG; LI, WAYNE WEIHUA; GAO, JIAN; KANG, JAMIN; GONG, SHAOQIN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045607/0079 →
Priority Claims (1)
CN 2017 1 0249936 · Apr 17, 2017 · national
Continuity (1)
Related Publication 20180300252A1 · Oct 18, 2018