IP Library › Granted Patent US 12,360,707
Granted Patent B2
US 12,360,707 · App. 18/221,564 · Granted Jul 15, 2025

Method, electronic device, and computer program product for data storage

Inventors: Hongpo Gao (Beijing, CN); Jamin Kang (Beijing, CN); Jian Gao (Beijing, CN)
Assignee: Dell Products L.P.
G06F3/0665G06F3/0689G06F3/0604
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 12,360,707
App. No.
18/221,564
Granted
Jul 15, 2025
Kind
B2
Abstract

A data storage technique involves determining one or more storage allocation units from a virtual storage region corresponding to a disk set including a plurality of disks. The technique further involves allocating a virtual storage unit to the one or more storage allocation units. The technique further involves storing a mapping relationship of the virtual storage unit with respect to the virtual storage region and the one or more storage allocation units. Accordingly, the granularity of each virtual storage unit can be reduced, so that storage resources can be invoked more accurately, and the storage space can be saved.

Claims (62)

1. A data storage method, comprising:

determining one or more storage allocation units from a virtual storage region corresponding to a disk set including a plurality of disks;

allocating a virtual storage unit to the one or more storage allocation units; and

storing a mapping relationship of the virtual storage unit with respect to the virtual storage region and the one or more storage allocation units;

wherein determining the one or more storage allocation units comprises:

traversing storage allocation units in the virtual storage region;

when idle storage allocation units are among the storage allocation units, determining the idle storage allocation units as the one or more storage allocation units; and

when idle storage allocation units are not among the storage allocation units, establishing an additional virtual storage region on the basis of the disk set.

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

in response to that at least one disk among the plurality of disks is unavailable, determining an updated disk set on the basis of the remaining disks among the plurality of disks.

3. The method according to claim 2 , wherein determining the updated disk set at least comprises:

in response to that the virtual storage unit has been reconstructed, setting a state of each of the one or more storage allocation units to a reconstruction completed state; and

in response to that the states of all the storage allocation units in the virtual storage region are set to the reconstruction completed state, setting states of physical storage units corresponding to the virtual storage region to a reconstruction completed state.

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

in response to that an additional disk is added in the disk set, determining an updated disk set on the basis of the plurality of disks and the additional disk.

5. The method according to claim 4 , wherein determining the updated disk set at least comprises:

in response to that the virtual storage unit has been restriped, setting a state of each of the one or more storage allocation units to a restriping completed state; and

in response to that the states of all the storage allocation units in the virtual storage region are set to the restriping completed state, setting states of physical storage units corresponding to the virtual storage region to a restriping completed state.

6. The method according to claim 1 , wherein allocating the virtual storage unit to the one or more storage allocation units comprises:

setting a state of each of the one or more storage allocation units to an allocated state.

7. The method according to claim 1 , wherein the mapping relationship contains identity information of the virtual storage unit, position information of the virtual storage region, and position information of the one or more storage allocation units.

8. The method according to claim 7 , wherein storing the mapping relationship comprises:

storing the mapping relationship to a Redundant Array of Independent Disks (RAID) database.

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

forming the virtual storage unit from a plurality of physical storage units.

10. The method according to claim 9 , wherein forming the virtual storage unit from the plurality of physical storage units includes:

providing, as the virtual storage unit, a virtual uber from at least 48 GB of storage from a plurality of physical storage disks.

11. An electronic device, comprising:

a processor; and

a memory coupled to the processor and having instructions stored therein, wherein the instructions, when executed by the processor, cause the electronic device to perform actions comprising:

determining one or more storage allocation units from a virtual storage region corresponding to a disk set including a plurality of disks;

allocating a virtual storage unit to the one or more storage allocation units; and

storing a mapping relationship of the virtual storage unit with respect to the virtual storage region and the one or more storage allocation units;

wherein determining the one or more storage allocation units comprises:

traversing storage allocation units in the virtual storage region;

when idle storage allocation units are among the storage allocation units, determining the idle storage allocation units as the one or more storage allocation units; and

when idle storage allocation units are not among the storage allocation units, establishing an additional virtual storage region on the basis of the disk set.

12. The device according to claim 11 , wherein the actions further comprise:

in response to that at least one disk among the plurality of disks is unavailable, determining an updated disk set on the basis of the remaining disks among the plurality of disks.

13. The device according to claim 12 , wherein determining the updated disk set at least comprises:

in response to that the virtual storage unit has been reconstructed, setting a state of each of the one or more storage allocation units to a reconstruction completed state; and

in response to that the states of all the storage allocation units in the virtual storage region are set to the reconstruction completed state, setting states of physical storage units corresponding to the virtual storage region to a reconstruction completed state.

14. The device according to claim 11 , wherein the actions further comprise:

in response to that an additional disk is added in the disk set, determining an updated disk set on the basis of the plurality of disks and the additional disk.

15. The device according to claim 14 , wherein determining the updated disk set at least comprises:

in response to that the virtual storage unit has been restriped, setting a state of each of the one or more storage allocation units to a restriping completed state; and

in response to that the states of all the storage allocation units in the virtual storage region are set to the restriping completed state, setting states of physical storage units corresponding to the virtual storage region to a restriping completed state.

16. The device according to claim 11 , wherein allocating the virtual storage unit to the one or more storage allocation units comprises:

setting a state of each of the one or more storage allocation units to an allocated state.

17. The device according to claim 11 , wherein the mapping relationship contains identity information of the virtual storage unit, position information of the virtual storage region, and position information of the one or more storage allocation units.

18. The device according to claim 11 , wherein the actions further comprise:

forming the virtual storage unit from a plurality of physical storage units.

19. The device according to claim 18 , wherein forming the virtual storage unit from the plurality of physical storage units includes:

providing, as the virtual storage unit, a virtual uber from at least 48 GB of storage from a plurality of physical storage disks.

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

determining one or more storage allocation units from a virtual storage region corresponding to a disk set including a plurality of disks;

allocating a virtual storage unit to the one or more storage allocation units; and

storing a mapping relationship of the virtual storage unit with respect to the virtual storage region and the one or more storage allocation units;

wherein determining the one or more storage allocation units comprises:

traversing storage allocation units in the virtual storage region;

when idle storage allocation units are among the storage allocation units, determining the idle storage allocation units as the one or more storage allocation units; and

when idle storage allocation units are not among the storage allocation units, establishing an additional virtual storage region on the basis of the disk set.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 5, 2023
From: GAO, HONGPO; KANG, JAMIN; GAO, JIAN
To: DELL PRODUCTS L.P.
Reel/Frame 064793/0342 →
Priority Claims (1)
CN 202310020758.0 · Jan 6, 2023 · national
Continuity (1)
Related Publication 20240231705A1 · Jul 11, 2024
References Cited (11)
US 11061770B1 · Patel et al. · 2021 [cited by applicant]
US 11099940B1 · Patel et al. · 2021 [cited by applicant]
US 11232043B2 · Patel et al. · 2022 [cited by applicant]
US 11256678B2 · Patel et al. · 2022 [cited by applicant]
US 11314580B2 · Chawla et al. · 2022 [cited by applicant]
US 11334523B2 · Mathews et al. · 2022 [cited by applicant]
US 11625169B2 · Chen et al. · 2023 [cited by applicant]
US 20120082017A1 · Inagaki · 2012 [cited by examiner]
US 20140089580A1 · Yochai · 2014 [cited by examiner]
US 20210373796A1 · Matosevich · 2021 [cited by examiner]
US 20220300181A1 · Han · 2022 [cited by examiner]