
US Patent No: 5,426,736
Number of patents in Portfolio can not be more than 2000
Method and apparatus for processing input/output commands in a storage system having a command queue
Stats
-
Jun 20, 1995
Issued date -
May 26, 1993
filing date -
08/067,368
serial no -
In Force
status
Importance
Abstract
An apparatus and method for dynamically tuning queue depths to provide improved storage subsystem throughput and resource utilization across a full range of I/O loads is described. The maximum allowable queue depth for a command queue is adjusted at predetermined cycle intervals on the basis of an I/O workload measured during the cycle. In one embodiment of the invention, the interval is a fixed system parameter, but in an alternative embodiment, the interval size is automatically adjusted to keep the rate of adjustment of the maximum allowable queue depth within a preferred range. In a preferred embodiment, the size of each I/O command is stored before it is sent to the device queue. Read, write and miscellaneous I/O commands may be queued and managed separately. After a predetermined number of commands have been stored, the predominant command size during the cycle interval is determined. The predominant command size is used to select a new maximum allowable queue depth, from a set of established values preferably selected so that, at least to a first order approximation, the maximum allowable queue depth is inversely proportional to the predominant command size. Preferably, this value is selected from a set of values which have been predetermined for all possible command sizes allowed for the system.
First Claim
Related Publications
International Classification(s)
- [Classification Symbol]
- [Patents Count]
Cited Art
| Patent Info | (Count) | # Cites | Year |
|---|---|---|---|
|
|
|||
| 4,603,382 Dynamic buffer reallocation | 142 | 1984 | |
| 4,860,193 System for efficiently transferring data between a high speed channel and a low speed I/O device | 109 | 1986 | |
| 5,179,662 Optimized I/O buffers having the ability to increase or decrease in size to meet system requirements | 40 | 1989 | |
|
|
|||
| 4,392,200 Cached multiprocessor system with pipeline timing | 101 | 1981 | |
| 4,449,182 Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems | 190 | 1981 | |
|
|
|||
| 4,349,871 Duplicate tag store for cached multiprocessor system | 47 | 1980 | |
|
|
|||
| 5,046,039 Buffer management system | 27 | 1988 | |
|
|
|||
| 5,247,626 FDDI controller having flexible buffer management | 88 | 1990 | |
|
|
|||
| 5,210,829 Adjustable threshold for buffer management | 65 | 1990 | |
|
|
|||
| 5,257,370 Method and system for optimizing data caching in a disk-based computer system | 36 | 1989 | |
|
|
|||
| 5,276,677 Predictive congestion control of high-speed wide area networks | 46 | 1992 | |
|
|
|||
| 4,378,588 Buffer control for a data path system | 80 | 1980 | |
|
|
|||
| 5,276,840 Disk caching method for writing data from computer memory including a step of writing a plurality of physically adjacent blocks in a single I/O operation | 49 | 1991 | |