IP Library Granted Patent US 9,395,932
Granted Patent B2
US 9,395,932 · App. 14/882,590 · Granted Jul 19, 2016

Virtual drive mapping

Inventor: Thomas Richmond Hotchkiss (Singapore, SG)
Assignee: Avago Technologies General IP (Singapore) Pte. Ltd.
G06F3/0631G06F3/0605G06F3/0607G06F3/067G06F3/0664G06F3/0665G06F3/0683G06F3/0689
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 9,395,932
App. No.
14/882,590
Granted
Jul 19, 2016
Kind
B2
Abstract

The automatic mapping of a set of physical drives to virtual drives is disclosed. Given a maximum set of n physical servers, S 1 -S n , and a maximum set of m physical drives, D 1 -D m , a mapping of a set of virtual drives, V 1 -V n , to the physical drives D 1 -D m , is created, assuming n and m are fixed and known, and one virtual drive is created per server. Physical drives of size Dsize are organized into a maximum of p “Stripe Sets” SS 1 -SS p , each Stripe Set containing an equal number of physical drives. Each virtual drive will have a size, Vsize=(m*Dsize)/n (rounded down to the nearest integer). Virtual drives are mapped sequentially to Stripe Sets, starting with V 1 mapped to SS 1 . Successive virtual drives are mapped to Stripe Sets until all virtual drives have been mapped to a Stripe Set.

Claims (66)

1. A storage system, comprising:

a plurality of physical drives grouped into a plurality of stripe sets, wherein each stripe set has an equal number of physical drives,

a blade server operable to create a first virtual drive,

wherein the blade server is operable to determine a common storage space size based on a smallest storage space size of a first of the plurality of physical drives in the storage system, to establish a storage space size of the first virtual drive that is less than the common storage space multiplied by a number of physical drives in the storage system, and to map the first virtual drive to a first of the stripe sets;

wherein the blade server is further operable to create a second virtual drive having a same storage space size of the first virtual drive, and to determine a remaining storage space size of the first stripe set, and

wherein, if the remaining storage space size of the first stripe set is greater than zero bytes, the blade server is further operable to map at least a portion of the second virtual drive to the first stripe set, otherwise the blade server is further operable to map the second virtual drive to a second of the stripe sets.

2. The storage system of claim 1 , further comprising:

another blade server operable to determine a remaining storage space size of the physical drives,

wherein, if the remaining storage space size of the physical drives is greater than a storage space size of the first virtual drive, the other blade server is further operable to create a third virtual drive having a same storage space size of the first virtual drive, and to map the third virtual drive to one or more of the stripe sets.

3. The storage system of claim 1 , further comprising:

another plurality of physical drives grouped into one or more stripe sets.

4. The storage system of claim 1 , wherein:

the blade server is further operable to determine the common storage space size through discovery of the physical drives.

5. The storage system of claim 1 , wherein:

the blade server is further operable to determine a common virtual drive size for all virtual drives by multiplying the number of physical drives by the common storage space size in the storage system and dividing that number by a number of virtual drives in the storage system.

6. The storage system of claim 1 , wherein:

the first stripe set comprises two or more physical drives.

7. The storage system of claim 6 , wherein:

the blade server is further operable to determine a storage space size for the first stripe set by multiplying the common storage space size by an integer number of physical drives in the first stripe set.

8. A method operable in a storage system, the method comprising:

grouping a plurality of physical drives into a plurality of stripe sets, wherein each stripe set has an equal number of physical drives; and

via a blade server:

creating a first virtual drive;

determining a common storage space size based on a smallest storage space size of a first of the plurality of physical drives in the storage system;

establishing a storage space size of the first virtual drive that is less than the common storage space multiplied by a number of physical drives in the storage system;

mapping the first virtual drive to a first of the stripe sets;

creating a second virtual drive having a same storage space size of the first virtual drive;

determining a remaining storage space size of the first stripe set; and

if the remaining storage space size of the first stripe set is greater than zero bytes, mapping at least a portion of the second virtual drive to the first stripe set, otherwise mapping the second virtual drive to a second of the stripe sets.

9. The method of claim 8 , further comprising:

via another blade server:

determining a remaining storage space size of the physical drives; and

if the remaining storage space size of the physical drives is greater than a storage space size of the first virtual drive, creating a third virtual drive having a same storage space size of the first virtual drive, and mapping the third virtual drive to one or more of the stripe sets.

10. The method of claim 8 , further comprising:

grouping another plurality of physical drives into one or more stripe sets.

11. The method of claim 8 , further comprising:

via the blade server, determining the common storage space size through discovery of the physical drives.

12. The method of claim 8 , further comprising:

via the blade server, determining a common virtual drive size for all virtual drives by multiplying the number of physical drives by the common storage space size in the storage system and dividing that number by a number of virtual drives in the storage system.

13. The method of claim 8 , wherein:

the first stripe set comprises two or more physical drives.

14. The method of claim 13 , further comprising:

via the blade server, determining a storage space size for the first stripe set by multiplying the common storage space size by an integer number of physical drives in the first stripe set.

15. A non-transitory computer readable medium comprising instructions that, when executed by one or more processors in a storage system, direct the one or more processors to:

group a plurality of physical drives grouped into a plurality of stripe sets, wherein each stripe set has an equal number of physical drives; and

via a blade server:

create a first virtual drive;

determine a common storage space size based on a smallest storage space size of a first of the plurality of physical drives in the storage system;

establish a storage space size of the first virtual drive that is less than the common storage space multiplied by a number of physical drives in the storage system;

map the first virtual drive to a first of the stripe sets;

create a second virtual drive having a same storage space size of the first virtual drive;

determine a remaining storage space size of the first stripe set; and

if the remaining storage space size of the first stripe set is greater than zero bytes, map at least a portion of the second virtual drive to the first stripe set, otherwise map the second virtual drive to a second of the stripe sets.

16. The computer readable medium of claim 15 , further comprising instructions that direct the one or more processors to:

via another blade server:

determine a remaining storage space size of the physical drives; and

if the remaining storage space size of the physical drives is greater than a storage space size of the first virtual drive, create a third virtual drive having a same storage space size of the first virtual drive, and map the third virtual drive to one or more of the stripe sets.

17. The computer readable medium of claim 15 , further comprising instructions that direct the one or more processors to:

group another plurality of physical drives into one or more stripe sets.

18. The computer readable medium of claim 15 , further comprising instructions that direct the one or more processors to:

via the blade server, determine the common storage space size through discovery of the physical drives.

19. The computer readable medium of claim 15 , further comprising instructions that direct the one or more processors to:

via the blade server, determine a common virtual drive size for all virtual drives by multiplying the number of physical drives by the common storage space size in the storage system and dividing that number by a number of virtual drives in the storage system.

20. The computer readable medium of claim of claim 15 , wherein:

the first stripe set comprises two or more physical drives; and

the computer readable medium further comprises instructions that direct the one or more processors to, via the blade server, determine a storage space size for the first stripe set by multiplying the common storage space size by an integer number of physical drives in the first stripe set.

Assignments (5)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041710/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037808/0001 →
Continuity (2)
Continuation 11636108 · Dec 8, 2006
Related Publication 20160034222A1 · Feb 4, 2016