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

1 Status Updates

Stats

ATTORNEY / AGENT: (SPONSORED)

Importance

Loading Importance Indicators... loading....

Abstract

See full text

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.

Loading the Abstract Image... loading....

First Claim

See full text

all claims..

Related Publications

Loading Related Publications... loading....

Patent Owner(s)

Patent OwnerAddressTotal Patents
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.HOUSTON, TX27375

International Classification(s)

  • [Classification Symbol]
  • [Patents Count]

Inventor(s)

Inventor Name Address # of filed Patents Total Citations
Guineau, III William J Nashua, NH 1 66

Cited Art Landscape

Patent Info (Count) # Cites Year
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (3)
4,603,382 Dynamic buffer reallocation 147 1984
4,860,193 System for efficiently transferring data between a high speed channel and a low speed I/O device 111 1986
5,179,662 Optimized I/O buffers having the ability to increase or decrease in size to meet system requirements 41 1989
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (2)
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 199 1981
 
DIGITAL EQUIPMENT CORPORATION (1)
4,349,871 Duplicate tag store for cached multiprocessor system 47 1980
 
HITACHI, LTD. (1)
5,046,039 Buffer management system 28 1988
 
INTELLECTUAL VENTURES I LLC (1)
5,247,626 FDDI controller having flexible buffer management 92 1990
 
MAXTOR CORPORATION (1)
5,210,829 Adjustable threshold for buffer management 69 1990
 
MICROSOFT CORPORATION (1)
5,257,370 Method and system for optimizing data caching in a disk-based computer system 37 1989
 
NEC CORPORATION (1)
5,276,677 Predictive congestion control of high-speed wide area networks 48 1992
 
TCI-DELAWARE INCORPORATED, A CORP. OF DEL. (1)
4,378,588 Buffer control for a data path system 81 1980
 
WISTRON CORPORATION (1)
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

Patent Citation Ranking

Forward Cite Landscape

Patent Info (Count) # Cites Year
 
SUN MICROSYSTEMS, INC. (16)
6,246,680 Highly integrated multi-layer switch element architecture 74 1997
6,128,666 Distributed VLAN mechanism for packet field replacement in a multi-layered switched network element using a control field/signal for indicating modification of a packet with a database search engine 160 1997
6,119,196 System having multiple arbitrating levels for arbitrating access to a shared memory by network ports operating at different data rates 124 1997
6,094,435 System and method for a quality of service in a multi-layer network element 168 1997
6,088,356 System and method for a multi-layer network element 178 1997
6,081,512 Spanning tree support in a high performance network device 140 1997
6,081,522 System and method for a multi-layer network element 119 1997
6,052,738 Method and apparatus in a packet routing switch for controlling access at different data rates to a shared memory 32 1997
6,049,528 Trunking ethernet-compatible networks 185 1997
6,044,087 Interface for a highly integrated ethernet network element 25 1997
6,044,418 Method and apparatus for dynamically resizing queues utilizing programmable partition pointers 34 1997
6,016,310 Trunking support in a high performance network device 115 1997
6,014,380 Mechanism for packet field replacement in a multi-layer distributed network element 96 1997
5,938,736 Search engine architecture for a high performance multi-layer switch element 194 1997
5,920,566 Routing in a multi-layer distributed network element 199 1997
6,061,362 Interface for a highly integrated ethernet network element 30 1999
 
HITACHI, LTD. (13)
7,039,785 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 8 2004
7,809,906 Device for performance tuning in a system 1 2004
7,155,587 Storage subsystem and performance tuning method 5 2005
7,136,983 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 7 2006
7,278,007 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 5 2006
7,624,241 Storage subsystem and performance tuning method 1 2006
7,555,622 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 5 2007
7,725,676 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 3 2009
7,917,721 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 2 2010
8,046,554 Storage subsystem and performance tuning method 0 2010
8,112,599 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 1 2011
8,281,098 Storage subsystem and performance tuning method 1 2011
8,392,688 Method and apparatus for increasing an amount of memory on demand when monitoring remote mirroring performance 0 2012
 
INTERNATIONAL BUSINESS MACHINES CORPORATION (7)
6,460,133 Queue resource tracking in a multiprocessor system 9 1999
7,986,625 Resource-aware system, method and program product for managing request traffic based on a management policy 2 2002
7,624,208 Method, system, and computer program for managing a queuing system 0 2005
7,756,863 System and method of enhancing decoding performance of text indexes 0 2005
7,849,167 Dynamic distributed adjustment of maximum use of a shared storage resource 1 2008
8,468,299 Virtualized storage performance controller 0 2008
8,234,270 System for enhancing decoding performance of text indexes 0 2010
 
HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P. (3)
6,898,664 Optimizing performance for a storage device within a computer system 7 2002
7,917,903 Quality of service controller and method for a data storage system 1 2003
7,643,983 Data storage system emulation 2 2003
 
HGST NETHERLANDS B.V. (3)
5,991,825 System for handling missed revolution in a disk drive by aborting the execution of primary command and executing secondary command if a missed revolution occurs 34 1997
6,272,565 Method, system, and program for reordering a queue of input/output (I/O) commands into buckets defining ranges of consecutive sector numbers in a storage medium and performing iterations of a selection routine to select and I/O command to execute 32 1999
6,640,258 Method and apparatus for command queue ordering with a sort time reduction algorithm 5 2001
 
SEAGATE TECHNOLOGY LLC (3)
7,890,696 Command queue ordering with directional and floating write bands 0 2006
8,244,975 Command queue ordering by flipping active write zones 0 2006
7,644,206 Command queue ordering by positionally pushing access commands 1 2006
 
SUMMIT DATA SYSTEMS LLC (3)
6,134,630 High-performance bus architecture for disk array system 21 1998
6,421,760 Disk array controller, and components thereof, for use with ATA disk drives 32 2000
6,549,981 Disk array system with controllers that automate host side of ATA interface 24 2002
 
DELL PRODUCTS L.P. (2)
6,421,723 Method and system for establishing a storage area network configuration 60 1999
7,225,242 System and method for matching storage device queue depth to server command queue depth 7 2001
 
MICROUNITY SYSTEMS ENGINEERING, INC. (2)
8,769,248 System and apparatus for group floating-point inflate and deflate operations 0 2012
8,683,182 System and apparatus for group floating-point inflate and deflate operations 0 2012
 
ARM LIMITED (1)
8,260,991 Data processing apparatus and method for measuring a value of a predetermined property of transactions 0 2009
 
CREATIVE TECHNOLOGY LTD. (1)
5,659,799 System for controlling disk drive by varying disk rotation speed when buffered data is above high or below low threshold for predetermined damping period 19 1995
 
DOT HILL SYSTEMS CORPORATION (1)
7,606,944 Dynamic input/output optimization within a storage controller 4 2007
 
FREESCALE SEMICONDUCTOR, INC. (1)
5,673,396 Adjustable depth/width FIFO buffer for variable width data transfers 23 1994
 
GOOGLE INC. (1)
6,724,776 Method and system for providing optimal discard fraction 12 1999
 
INTEL CORPORATION (1)
6,931,486 Method and apparatus for coalescing two or more transacting requests 18 2001
 
JUNIPER NETWORKS, INC. (1)
5,978,355 System and method for controlling re-assembling buffer for transmission data in a form of data cell 11 1997
 
MARVELL INTERNATIONAL LTD. (1)
8,566,652 Command queuing in disk drives 0 2012
 
NETAPP, INC. (1)
6,157,963 System controller with plurality of memory queues for prioritized scheduling of I/O requests from priority assigned clients 88 1998
 
NVIDIA CORPORATION (1)
5,805,930 System for FIFO informing the availability of stages to store commands which include data and virtual address sent directly from application programs 9 1997
 
PANASONIC INTELLECTUAL PROPERTY CORPORATION OF AMERICA (1)
6,473,809 Scheduling method and apparatus for network-attached storage devices and other systems 6 1999
 
TEAC CORPORATION (1)
5,991,835 Peripheral data storage device in which time interval used for data transfer from relatively fast buffer memory to relatively slower main memory is selected in view of average of time intervals during which data blocks were recently received from host 12 1995
 
UNISYS CORPORATION (1)
5,546,550 Method for assuring equal access to all input/output devices coupled to a SCSI bus 9 1994
 
YOUNGTEK ELECTRONICS CORPOSRATION (1)
8,375,114 Device loading in storage networks 0 2004

Full Text

 
loading....