IP Library Granted Patent US 8,713,281
Granted Patent B1
US 8,713,281 · App. 12/344,168 · Granted Apr 29, 2014

Storage device performance alignment notification

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 8,713,281
App. No.
12/344,168
Granted
Apr 29, 2014
Kind
B1
Abstract

Storage device performance alignment notification includes informing a storage device of a starting logical block address (LBA) for each of one or more host containers to be stored on the storage device, and placing the one or more host containers at natural storage boundaries of the storage device based at least in part on the informing.

Claims (55)

1. A method comprising:

storing data on a virtual storage system for use by a plurality of hosts, each host owning a plurality of virtual containers, the virtual storage system comprising a plurality of storage devices for storing a plurality of virtual containers, each virtual container comprising a data grouping;

sending, from a first host, a vendor-unique command to a first storage device, the vendor-unique command specifying a plurality of starting logical block addresses (LBAs) for a plurality of virtual containers owned by the first host, each starting LBA being used by the first host to refer to a start of a virtual container owned by the first host, the vendor-unique command from a communication protocol that reserves a range of commands for maintenance or support of storage devices, the range of commands comprising the vendor-unique command, the vendor-unique command comprising a parameter data size that increases to accommodate each starting LBA for the plurality of virtual containers owned by the first host; and

placing the plurality of virtual containers at natural storage boundaries of the first storage device based on the vendor-unique command, each virtual container being mapped to a storage device physical address that starts at a natural storage boundary of the first storage device.

2. The method of claim 1 wherein

each of the plurality of virtual containers are associated with a host configured to operate according to a host operating system; and

the host operating system is allocated one or more virtual disks of a virtualization layer, each virtual disk comprising a virtual container.

3. The method of claim 1 , further comprising accessing at least part of one or more virtual containers on the first storage device.

4. The method of claim 3 wherein the accessing further comprises reading at least part of one or more virtual containers on the first storage device.

5. The method of claim 3 wherein the accessing further comprises storing at least part of one or more virtual containers on the first storage device.

6. The method of claim 1 wherein a storage device comprises two or more physical disks organized as a RAID system.

7. The method of claim 1 , wherein each storage device reads and writes data blocks of a particular data size, wherein each data block stored on the storage device is aligned on a natural storage boundary of the storage device.

8. A method comprising:

storing data on a virtual storage system for use by a plurality of hosts, each host owning a plurality of virtual containers, the virtual storage system comprising a plurality of storage devices for storing a plurality of virtual containers, each virtual container comprising a data grouping;

sending, from a first host, a vendor-unique mode page to a first storage device, the vendor-unique mode page specifying a plurality of starting logical block addresses (LBAs) for a plurality of virtual containers owned by the first host, each starting LBA being used by the first host to refer to a start of a virtual container owned by the first host, the vendor-unique mode page further specifying associated attributes for each virtual container, the vendor-unique mode page comprising a data size that increases to accommodate each starting LBA for the plurality of virtual containers owned by the first host; and

placing the plurality of virtual containers at natural storage boundaries of the first storage device based on the vendor-unique mode page, each virtual container being mapped to a storage device physical address that starts at a natural storage boundary of the first storage device.

9. The method of claim 8 wherein

each of the plurality of virtual containers are associated with a host configured to operate according to a host operating system; and

the host operating system is allocated one or more virtual disks of a virtualization layer, each virtual disk comprising a virtual container.

10. The method of claim 8 , further comprising:

after the placing, accessing at least part of one or more virtual containers on the first storage device.

11. The method of claim 10 wherein the accessing further comprises reading at least part of one or more virtual containers on the first storage device.

12. The method of claim 10 wherein the accessing further comprises storing at least part of one or more virtual containers on the first storage device.

13. The method of claim 8 wherein a storage device comprises two or more physical disks organized as a RAID system.

14. The method of claim 8 , wherein each storage device reads and writes data blocks of a particular data size, wherein each data block stored on the storage device is aligned on a natural storage boundary of the storage device.

15. The method of claim 8 , wherein the associated attributes for a virtual container specified by the vendor-unique mode page comprises an LBA starting point for automatic backups or an LBA ending point for automatic backups for the virtual container.

16. An apparatus comprising:

a memory; and

a processor configured to:

store data on a virtual storage system for use by a plurality of hosts, each host owning a plurality of virtual containers, the virtual storage system comprising a plurality of storage devices for storing a plurality of virtual containers, each virtual container comprising a data grouping;

send, from a first host, a vendor-unique command to a first storage device, the vendor-unique command specifying a plurality of starting logical block addresses (LBAs) for a plurality of virtual containers owned by the first host, each starting LBA being used by the first host to refer to a start of a virtual container owned by the first host, the vendor-unique command from a communication protocol that reserves a range of commands for maintenance or support of storage devices, the range of commands comprising the vendor-unique command, the vendor-unique command comprising a parameter data size that increases to accommodate each starting LBA for the plurality of virtual containers owned by the first host; and

place the plurality of virtual containers at natural storage boundaries of the first storage device based on the vendor-unique command, each virtual container being mapped to a storage device physical address that starts at a natural storage boundary of the first storage device.

17. The apparatus of claim 16 wherein

each of the plurality of virtual containers are associated with a host configured to operate according to a host operating system; and

the host operating system is allocated one or more virtual disks of a virtualization layer, each virtual disk comprising a virtual container.

18. The apparatus of claim 16 wherein the processor is further configured to access at least part of one or more virtual containers on the first storage device.

19. The apparatus of claim 18 wherein the processor is further configured to read at least part of one or more virtual containers on the first storage device.

20. The apparatus of claim 18 wherein the processor is further configured to store at least part of one or more virtual containers on the first storage device.

21. The apparatus of claim 16 wherein a storage device comprises two or more physical disks organized as a RAID system.

22. The apparatus of claim 16 , wherein each storage device reads and writes data blocks of a particular data size, wherein each data block stored on the storage device is aligned on a natural storage boundary of the storage device.

23. An apparatus comprising:

a memory; and

a processor configured to:

store data on a virtual storage system for use by a plurality of hosts, each host owning a plurality of virtual containers, the virtual storage system comprising a plurality of storage devices for storing a plurality of virtual containers, each virtual container comprising a data grouping;

send, from a first host, a vendor-unique mode page to a first storage device, the vendor-unique mode page specifying a plurality of starting logical block addresses (LBAs) for a plurality of virtual containers owned by the first host, each starting LBA being used by the first host to refer to a start of a virtual container owned by the first host, the vendor-unique mode page further specifying associated attributes for each virtual container, the vendor-unique mode page comprising a data size that increases to accommodate each starting LBA for the plurality of virtual containers owned by the first host; and

place the plurality of virtual containers at natural storage boundaries of the first storage device based on the vendor-unique mode page, each virtual container being mapped to a storage device physical address that starts at a natural storage boundary of the first storage device.

24. The apparatus of claim 23 wherein

each of the plurality of virtual containers are associated with a host configured to operate according to a host operating system; and

the host operating system is allocated one or more virtual disks of a virtualization layer, each virtual disk comprising a virtual container.

25. The apparatus of claim 23 wherein the processor is further configured to, after the placing, access at least part of one or more virtual containers on the first storage device.

26. The apparatus of claim 25 wherein the processor is further configured to read at least part of one or more virtual containers on the first storage device.

27. The apparatus of claim 25 wherein the processor is further configured to store at least part of one or more virtual containers on the first storage device.

28. The apparatus of claim 23 wherein a storage device comprises two or more physical disks organized as a RAID system.

29. The apparatus of claim 23 , wherein each storage device reads and writes data blocks of a particular data size, wherein each data block stored on the storage device is aligned on a natural storage boundary of the storage device.

30. The apparatus of claim 23 , wherein the associated attributes for a virtual container specified by the vendor-unique mode page comprises an LBA starting point for automatic backups or an LBA ending point for automatic backups for the virtual container.

Assignments (2)
CHANGE OF NAME Recorded Jun 10, 2011
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 026427/0475 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 21, 2009
From: KNIGHT, FREDERICK
To: NETAPP, INC.
Reel/Frame 022572/0718 →