System for transparently identifying and matching an input/output profile to optimal input/output device parameters
First Claim
1. In a computer system executing application programs under operating system program control, the computer system including a peripheral interface configured to transfer data between a host computer and a peripheral data storage device in an I/O request stream, the peripheral data storage device further operable to transfer data to and from the host in accordance with a set of configurable, performance setting parameters defining a data transfer performance, the computer system comprising:
- a device driver for providing I/O requests from an application program executing on the host computer system to the peripheral data storage device in an I/O request stream, the device driver further comprising;
means for extracting selected ones of a multiplicity of I/O request type characteristics from the I/O requests of the stream, the extracted characteristics defining a profile of the I/O request stream;
means for identifying the profile of an I/O request stream to a selected one of a plurality of sets of predetermined I/O request patterns;
means for identifying the selected one of the plurality of sets of I/O request patterns to a corresponding one of a set of predetermined data storage device performance setting parameters, the identified performance setting parameters set operative to optimize data transfer performance of the peripheral data storage device for the identified I/O request pattern.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method is provided for optimizing the data transfer performance between a host computer and a peripheral data storage device adapted to transfer data in accordance with an internal set of configurable, performance setting parameters which determine the device'"'"'s data transfer performance. A device driver program evaluates the I/O request stream of application programs hosted by the computer, and identifies any patterns evident in the I/O request stream. Identified I/O request patterns are matched to a corresponding set of data storage device performance setting parameters, i.e., mode parameter pages, which have been predetermined as able to optimize the data transfer performance of a data storage device for the identified I/O pattern. The new performance setting parameters are written to the data storage device which is operated in accordance therewith, thus tuning the data storage device for an application'"'"'s I/O request pattern. An I/O emulator and characterization program determines various optimized performance setting parameters for a particular data storage device issuing I/O requests in an arbitrary pattern, iteratively adjusting the performance setting parameters, and evaluating the data transfer performance resulting from each parameter setting alteration until an optimized data transfer rate is achieved for that particular pattern.
-
Citations
3 Claims
-
1. In a computer system executing application programs under operating system program control, the computer system including a peripheral interface configured to transfer data between a host computer and a peripheral data storage device in an I/O request stream, the peripheral data storage device further operable to transfer data to and from the host in accordance with a set of configurable, performance setting parameters defining a data transfer performance, the computer system comprising:
a device driver for providing I/O requests from an application program executing on the host computer system to the peripheral data storage device in an I/O request stream, the device driver further comprising; means for extracting selected ones of a multiplicity of I/O request type characteristics from the I/O requests of the stream, the extracted characteristics defining a profile of the I/O request stream; means for identifying the profile of an I/O request stream to a selected one of a plurality of sets of predetermined I/O request patterns; means for identifying the selected one of the plurality of sets of I/O request patterns to a corresponding one of a set of predetermined data storage device performance setting parameters, the identified performance setting parameters set operative to optimize data transfer performance of the peripheral data storage device for the identified I/O request pattern.
-
2. In a computer system executing application programs under operating system program control, the computer system including a peripheral interface configured to transfer data between a host computer and a peripheral data storage device in an I/O request stream, the peripheral data storage device further operable to transfer data to and from the host in accordance with a set of configurable, performance setting parameters defining a data transfer performance, the computer system comprising:
-
a device driver for providing I/O requests from an application program executing on the host computer system to the peripheral data storage device in an I/O request stream, the device driver further including means for logging selected ones of a multiplicity of I/O request type characteristics from the I/O requests of the stream; an I/O profiler for determining whether the logged I/O request type characteristics correspond to a particular one of a plurality of sets of predetermined I/O request patterns, the I/O profiler including means for identifying the selected one of the plurality of sets of I/O request patterns to a corresponding one of a set of predetermined data storage device performance setting parameters, the identified performance setting parameter set operative to optimize data transfer performance of the peripheral data storage device for the identified I/O request pattern; means for commanding the chosen set of predetermined data storage device performance setting parameters to the peripheral data storage device such that the commanded performance setting parameters define an optimized data transfer performance for the device.
-
-
3. In a computer system executing application programs under operating system program control, the computer system including a peripheral interface configured to transfer data between a host computer and a peripheral data storage device in an I/O request stream, the peripheral data storage device further operable to transfer data to and from the host in accordance with a set of configurable, performance setting parameters defining a data transfer performance, a method for optimizing data transfer performance of the peripheral data storage device comprising;
-
providing a device driver which services I/O requests from an application program executing on host computer system to the peripheral data storage device in an I/O request stream; extracting selected ones of a multiplicity of I/O request type characteristics from the I/O requests of the stream, the extracted characteristics defining a profile of the I/O request stream; identifying the profile of an I/O request stream to a selected one of a plurality of sets of predetermined I/O request patterns; identifying the selected one of the plurality of sets of I/O request patterns to a corresponding one of the set of predetermined data storage device performance setting parameters, the identified performance setting parameters set operative to optimize data transfer performance of the peripheral data storage device for the identified I/O request pattern;
commanding the identified performance setting parameter set to the peripheral data storage device;operating the data storage device in accordance with the commanded set of performance setting parameters.
-
Specification