Throttling in storage systems
First Claim
1. A storage system method comprising:
- receiving a storage command from a host computer;
determining whether execution of writing information associated with the storage command into a cache memory is to be delayed, the determining being based on a ratio between the number storage commands that are sequential accesses and the number storage commands that are random accesses;
if execution of writing information into the cache memory is determined to be delayed, then delaying execution of writing information associated with the storage command into the cache memory;
subsequent to delaying execution, writing the information associated with the storage command into the cache memory; and
subsequent to writing to the cache memory, and further in response to receiving the storage command, storing the information in storage volumes in the storage system.
4 Assignments
0 Petitions
Accused Products
Abstract
A method is provided for improving the performance of copy operations in storage systems. The method includes storing a measure of relative availability of storage system resources, detecting operations when sequential portions of a storage media are to be accessed for writing of information, and when the measure of relative availability of system resources drops to a specified extent, introducing a wait into the operation in which sequential portions of a storage media are to be accessed for writing of information. In another implementation, a method is provided for controlling writing of data in a storage system in which a step is performed of analyzing a requested write operation to determine if the requested write operation calls for a sequential task or a random task. If the requested write operation is a sequential task, information about it is stored in a task management table. the table is used to determine if throttling is needed to carry out the requested write operation, and invokes throttling if it is needed.
-
Citations
26 Claims
-
1. A storage system method comprising:
-
receiving a storage command from a host computer; determining whether execution of writing information associated with the storage command into a cache memory is to be delayed, the determining being based on a ratio between the number storage commands that are sequential accesses and the number storage commands that are random accesses; if execution of writing information into the cache memory is determined to be delayed, then delaying execution of writing information associated with the storage command into the cache memory; subsequent to delaying execution, writing the information associated with the storage command into the cache memory; and subsequent to writing to the cache memory, and further in response to receiving the storage command, storing the information in storage volumes in the storage system. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. In a storage system having storage volumes, the system operating under computer control and coupled to a host to receive information to be stored in the storage volumes, a method comprising:
-
in the storage system, receiving data I/O commands and performing I/O with the storage volumes to service the data I/O commands; in the storage system, monitoring the data I/O commands sent between the host and the storage system to determine a measure of throughput requested by the host in having the storage system write data within the storage volumes in the storage system; and sending to the host a request to wait if the measure of throughput exceeds a specified quantity, wherein the measure of throughput is a rate of change of growth in cache memory usage. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A method for controlling writing of data in a storage system coupled to a host computer, the storage system having a plurality of storage volumes into which the data is stored, the method comprising:
-
receiving I/O operations from the host, and in response thereto, performing I/O with the storage volumes to service the I/O operations; analyzing a write operation requested by the host to determine if the requested write operation calls for a sequential task in which consecutive sectors of storage volumes are addressed or a random task in which disparate sectors of storage volumes are addressed; if the requested write operation is a sequential task, storing information about the sequential task in a task management table; using information in the task management table to determine if throttling is needed to carry out the requested write operation, wherein the determination is based on a ratio between the number I/O operations that are sequential accesses and the number I/O operations that are random accesses, or based on a rate of change of growth in cache memory usage; and if throttling is needed, applying a throttling technique to the sequential task whereby data associated with the sequential task is written to a cache memory of the storage system after a delay. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
Specification