Locking a non-busy device for accessing a data record stored on another device
First Claim
1. In a data processing system having at least one host system, a storage controller attached to said host system, and a plurality of data storage devices connected to said storage controller, said host system maintaining a host unit control block for each said data storage device of said plurality of data storage devices and said storage controller maintaining a controller unit control block for each of said data storage devices, a method for servicing a non-specific read request for a data record from said host system comprising the steps of:
- generating the non-specific read request at said host system for said data record, wherein said data record resides on a first data storage device of said plurality of data storage devices having a first host unit control block corresponding therewith;
selecting a second host unit control block wherein said second host unit control block corresponds to a second data storage device of said plurality of data storage devices, said second data storage device different than said first data storage device;
locking said second host unit control block;
transmitting said non-specific read request to said storage controller, said non-specific read request including said second host unit control block; and
accessing the data record according to said non-specific read request.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and apparatus for improving storage controller throughput when servicing non-specific read requests. Throughput is increased by enabling the storage controller to service non-specific read requests issued against a device address which is not the same as the device address associated with the data that the non-specific read is requesting. The device address associated with the data is thus free to be used for another I/O operation. When the device address used by the non-specific read is a non-busy type (that is, the device and/or data is not locked) then the throughput improvement is obtained by increasing the number of data requests that may be concurrently handled by the storage controller.
29 Citations
15 Claims
-
1. In a data processing system having at least one host system, a storage controller attached to said host system, and a plurality of data storage devices connected to said storage controller, said host system maintaining a host unit control block for each said data storage device of said plurality of data storage devices and said storage controller maintaining a controller unit control block for each of said data storage devices, a method for servicing a non-specific read request for a data record from said host system comprising the steps of:
-
generating the non-specific read request at said host system for said data record, wherein said data record resides on a first data storage device of said plurality of data storage devices having a first host unit control block corresponding therewith; selecting a second host unit control block wherein said second host unit control block corresponds to a second data storage device of said plurality of data storage devices, said second data storage device different than said first data storage device; locking said second host unit control block; transmitting said non-specific read request to said storage controller, said non-specific read request including said second host unit control block; and accessing the data record according to said non-specific read request. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method of servicing a non-specific read request for a data record generated at a host processor and transmitted to a storage controller, said non-specific read request including a selected non-busy host unit control block for requesting said data record stored on a first data storage device of a plurality of data storage devices, said storage controller connected to said plurality of data storage devices, said storage controller including a cache memory, said cache memory having a data lock corresponding to a data item contained within said cache memory, said storage controller further maintaining a physical device lock corresponding to each data storage device, said method comprising the steps of:
-
locating a controller unit control block corresponding to said non-busy host unit control block, wherein said non-busy host unit control block further corresponds to a second data storage device; determining whether said second data storage device in a non-busy state; in response to a determination that said second data storage device is in a non-busy state, locking said controller unit control block corresponding to said second data storage device; determining whether said data item containing said data record is located within said cache memory; in response to a determination that said data item is in said cache memory, determining whether said data lock corresponding to said data item is unlocked and if so, transferring said data record from said cache to said host system; in response to a determination that said data item is not in said cache memory determining whether said physical device lock corresponding to said first data storage device containing said data record is unlocked and if so, transferring said data record from said first data storage device to said host system; and next, releasing said controller unit control block corresponding to said second data storage device. - View Dependent Claims (10, 11, 12)
-
-
13. A data processing system comprising:
-
at least one host computer, said at least one host computer maintaining a plurality of host unit control blocks; a storage subsystem including a plurality of direct access storage devices including a first direct access storage device storing a first data record thereon and including a second direct access storage device, and a storage controller, said storage controller being connected to each of the plurality of direct access storage devices and to said at least one host computer; a physical device lock corresponding to each direct access storage device of said plurality of direct access storage devices maintained within said storage controller; means for generating a non-specific read request at said at least one host computer for said first data record; means for selecting one of said host unit control blocks corresponding to said second direct access storage device in a non-busy state; means for locking said selected host unit control block corresponding to said second direct access storage device; and means for transmitting said non-specific read request to said storage controller for sending said data record to said at least one host computer. - View Dependent Claims (14, 15)
-
Specification