Network Based Virtualization Performance
First Claim
1. A method, comprising:
- identifying a stripe size, the stripe size being a size of data to be written to or read from one of a plurality of columns;
determining a host IO size, the host IO size being a size of data to be received from or transmitted to a host, thereby enabling the data to be stored to or read from storage including a plurality of columns;
setting the host IO size to identify an amount of data to be received from or transmitted to the host;
obtaining data from the host or transmitting data to the host, wherein the size of the data obtained or transmitted conforms to the host IO size; and
performing striping across the plurality of columns for the data obtained from the host or transmitted to the host such that data written to or read from one of the plurality of columns conforms to the stripe size.
0 Assignments
0 Petitions
Accused Products
Abstract
The disclosed embodiments support improvements in network performance in networks such as storage area networks. This is particularly important in networks such as those implementing virtualization. These improvements, therefore, support improved mechanisms for performing processing in network devices such as switches, routers, or hosts. These improvements include various different mechanisms which may be used separately or in combination with one another. These mechanisms include methods and apparatus for processing traffic in an arbitrated loop, performing striping to support fairness and/or loop tenancy, performing configuration of network devices such as switches to enable virtualization to be performed closest to the storage device (e.g., disk), ascertaining a CPU efficiency that quantifies the impact of virtualization on a processor, and configuring or accessing a striped volume to account for metadata stored in each storage partition.
50 Citations
20 Claims
-
1. A method, comprising:
-
identifying a stripe size, the stripe size being a size of data to be written to or read from one of a plurality of columns; determining a host IO size, the host IO size being a size of data to be received from or transmitted to a host, thereby enabling the data to be stored to or read from storage including a plurality of columns; setting the host IO size to identify an amount of data to be received from or transmitted to the host; obtaining data from the host or transmitting data to the host, wherein the size of the data obtained or transmitted conforms to the host IO size; and performing striping across the plurality of columns for the data obtained from the host or transmitted to the host such that data written to or read from one of the plurality of columns conforms to the stripe size. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A method, comprising:
-
receiving a command from a host, the command being a request to store or retrieve data, the command indicating a size of the data to be stored or retrieved; ascertaining whether the size of the data associated with the command is greater than a product of a configured stripe size and number of a plurality of columns; and reading data from the plurality of columns or writing data to the plurality of columns, wherein reading data or writing data is performed in accordance with the configured stripe size and the command. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
11. The method as recited in 10, further comprising:
when the size of the data associated with the command is not greater than the product of the configured stripe size and the number of columns, performing striping according to the configured stripe size.
-
19. A computer-readable storage medium storing thereon computer-readable instructions, comprising:
-
instructions for identifying a striped volume in which both metadata and data are stored in a storage area network; instructions for identifying a size of the metadata stored for each partition in the striped volume; instructions for identifying a stripe size for data stored in the storage area network; and instructions for calculating a start address for a partition in the striped volume, wherein the start address for the partition in the striped volume is a stripe aligned address at which data is stored less a sum of the metadata region size for the partition.
-
-
20. An apparatus, comprising:
-
a processor; and a memory, at least one of the processor or the memory being adapted for; identifying the striped volume in which both metadata and data are stored in a storage area network; identifying a size of the metadata stored for each partition in the striped volume; identifying a stripe size for data stored in the storage area network; and calculating an application data start address identifying a start address at which data is stored, wherein the application data start address is the sum of the start address for the partition in the striped volume and the metadata region size for the partition.
-
Specification