Performance in virtual tape libraries
First Claim
1. A method for storing data at a virtual tape library server computer, the method comprising:
- receiving data write requests at the virtual tape library server computer, the data write requests directed to one or more volumes maintained by the virtual tape library server computer on an array of mass storage devices; and
storing data for the write requests on the volumes of the array utilizing thin provisioning comprisingsequentially allocating storage space on the array for write requests such that the data is capable of being stored sequentially on the array in the order that the write requests arrive at the volumes, andstoring the data in the allocated storage space in the same order as the write requests arrive at the volumes by;
providing a cache memory at the virtual tape library server computer at least the size of a full stripe of the array;
caching the data for the write requests in the cache until a full stripe of data has been received; and
in response to determining that a full stripe of data has been received, calculating a parity utilizing the contents of the cache directly, writing the contents of the cache and parity data associated with the parity to the array at one time, wherein the parity is only calculated for the full stripe of the array from the contents of the cache without reading data from the array, and flushing the contents of the cache after writing the contents of the cache to the array.
3 Assignments
0 Petitions
Accused Products
Abstract
A method, system, apparatus, and computer-readable medium are provided for storing data at a virtual tape library (“VTL”) computer or server. According to one method, a VTL computer maintains one or more storage volumes for use by initiators on an array of mass storage devices. Space on each of the volumes is allocated using thin provisioning. The VTL computer may also include a cache memory that is at least the size of a full stripe of the array. Write requests received at the VTL computer are stored in the cache memory until a full stripe of data has been received. Once a full stripe of data has been received, the full stripe of data is written to the array at once. The array utilized by the VTL computer may include a hot spare mass storage device. When a failed mass storage device is identified, only the portions of the failed device that have been previously written are rebuilt onto the hot spare. The array may be maintained using RAID-5. If one of the mass storage devices in the array fails, any subsequent writes directed to the array may be stored using RAID-0.
47 Citations
8 Claims
-
1. A method for storing data at a virtual tape library server computer, the method comprising:
-
receiving data write requests at the virtual tape library server computer, the data write requests directed to one or more volumes maintained by the virtual tape library server computer on an array of mass storage devices; and storing data for the write requests on the volumes of the array utilizing thin provisioning comprising sequentially allocating storage space on the array for write requests such that the data is capable of being stored sequentially on the array in the order that the write requests arrive at the volumes, and storing the data in the allocated storage space in the same order as the write requests arrive at the volumes by; providing a cache memory at the virtual tape library server computer at least the size of a full stripe of the array; caching the data for the write requests in the cache until a full stripe of data has been received; and in response to determining that a full stripe of data has been received, calculating a parity utilizing the contents of the cache directly, writing the contents of the cache and parity data associated with the parity to the array at one time, wherein the parity is only calculated for the full stripe of the array from the contents of the cache without reading data from the array, and flushing the contents of the cache after writing the contents of the cache to the array. - View Dependent Claims (2, 3, 4)
-
-
5. A virtual tape library computer system, the computer system comprising:
-
an array of mass storage devices storing one or more storage volumes maintained by the computer system; a cache memory for caching data to be stored on the array, the cache memory sized at least as large as a single stripe of the array; a central processing unit; and a memory storing computer-executable instructions which, when executed by the central processing unit, causes the computer system to receive data write requests directed toward the storage volumes of the array, to store the write requests in the cache, to calculate a parity utilizing the contents of the cache directly, to write the contents of the cache and parity data associated with the parity to the array at one time utilizing thin provisioning when the cache memory has accumulated data to fill a single stripe of the array, wherein the parity is only calculated for the full stripe of the array from the contents of the cache without reading data from the array, and to flush the contents of the cache after writing the contents of the cache to the array. - View Dependent Claims (6, 7, 8)
-
Specification