← Back to Patent Explorer
US5493724A Expired / Lapsed US ⏱️ 0.0 years remaining

Locking a non-busy device for accessing a data record stored on another device

Assignee: International Business Machines Corp
•
Filing: 1993-04-01
•
Granted: 1996-02-20
•
Expires: 2013-04-01
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

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.

Inventors

  • 👤 Oded Cohn
  • 👤 William F. Micka
  • 👤 Kenneth M. Nagin
  • 👤 Yoram Novick
  • 👤 Udi N. Rotics
  • 👤 Alexander Winokur
  • 👤 Efraim Zeidner

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-29 06:01
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/14; G06F13/16; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866

Claims Analysis

Total Claims: 18
Claim 1
Independent Claim 208 words
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.
Claim 2
Dependent Claim 208 words
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.
Claim 3
Dependent Claim 231 words
The method of servicing the non-specific read request as recited in claim 1 wherein said storage controller further includes a cache memory, said cache memory having a data lock for each data item contained within the cache memory, said method further comprising the steps of: locating a first controller unit control block that corresponds to said second host unit control block and to said second data storage device; determining whether said second data storage device is in a non-busy state; in response to a determination that said second data storage device is in a non-busy state, locking said first controller unit control block; 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 cache memory, determining whether said data lock corresponding to said data item is unlocked; in response to a determination that said data lock corresponding to said data item is unlocked, locking said data lock corresponding to said data item; in the case where said first controller unit control block is in a non-busy state, said data item is in cache memory, and said data lock corresponding to said data item is unlocked, transferring said data record from said storage controller to said host system; next, releasing said data lock corresponding to said data item; and releasing said first controller unit control block.
Claim 4
Dependent Claim 39 words
The method of claim 2 wherein said step of determining whether said first data storage device is in a non-busy state and the step of locking said first controller unit control block are accomplished as a single atomic operation.
Claim 5
Dependent Claim 41 words
The method of claim 2 wherein said step of determining whether said data lock corresponding to said data item is unlocked and the step of locking said data lock corresponding to said data item are accomplished as a single atomic operation.
Claim 6
Dependent Claim 14 words
The method of claim 2 wherein said data item is a track of data.
Claim 7
Dependent Claim 204 words
The method of servicing the non-specific read request as recited in claim 1 wherein said storage controller further maintains a physical device lock corresponding to each data storage device, said method further comprising the steps of: locating a first controller unit control block corresponding to said second host unit control block; determining whether said second data storage device is in a non-busy state; in response to a determination that said second data storage device is in a non-busy state, locking said first controller unit control block; determining whether said physical device lock corresponding to said first data storage device containing said data record is unlocked; in response to a determination that said physical device lock corresponding to said first data storage device containing said data record is free, locking said physical device lock; in the case where said first data storage device is in a non-busy state and said physical device lock corresponding to said first data storage device containing said data record is unlocked, transferring said data record from said first data storage device to said host system; next, releasing said physical device lock corresponding to said first data storage device containing said data record; and releasing said first controller unit control block.
Claim 8
Dependent Claim 39 words
The method of claim 6 wherein said step of determining whether said first data storage device is in a non-busy state and the step of locking said first controller unit control block are accomplished as a single atomic operation.
Claim 9
Dependent Claim 44 words
The method of claim 6 wherein said step of determining whether said physical device lock corresponding to said first data storage device containing said data record is unlocked and the step of locking said physical device lock are accomplished as a single atomic operation.
Claim 10
Independent Claim 300 words
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.
Claim 11
Independent Claim 300 words
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.
Claim 12
Dependent Claim 67 words
The method of claim 9 wherein when it is determined that said data lock corresponding to said data item is locked or it is determined that said physical device lock corresponding to said first data storage device containing said data record is locked, postponing the execution of said non-specific read request until such time as said data lock is unlocked or said physical device lock is unlocked.
Claim 13
Dependent Claim 58 words
The method of claim 9 further including the step of executing a specific read request in parallel with said non-specific read request when said data record is located in said cache memory, said specific read request accessing said first data storage device, said specific read request retrieving a next data record stored on said first data storage device.
Claim 14
Dependent Claim 34 words
The method of claim 9 further including the step of executing a specific read request in parallel with said non-specific read request accessing the same cache memory as that of said non-specific read request.
Claim 15
Dependent Claim 189 words
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.
Claim 16
Dependent Claim 189 words
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.
Claim 17
Dependent Claim 234 words
The data processing system as set forth in claim 13, further comprising: a cache memory within said storage controller, said cache memory having a data lock corresponding to a subset of data items contained within said cache memory; means for locating a controller unit control block corresponding to one of said host unit control blocks corresponding to said second direct access storage device; means for determining whether said second direct access storage device is in a non-busy state; means responsive to a determination that said second direct access storage device is in a non-busy state, for locking said corresponding controller unit control block; means for determining whether said data record is located within said cache memory; means responsive to a determination that said data record is in cache memory, for determining whether said data lock corresponding to said data record is unlocked; means responsive to a determination that said data lock corresponding to said data record is unlocked, for locking said data lock corresponding to said data record; means responsive to determinations that said controller unit control block is in a non-busy state, said data record is in cache memory and said data lock corresponding to said data record is unlocked, for transferring said data record from said storage controller to said host computer; means for releasing said data lock corresponding to said data record; and means for releasing said controller unit control block.
Claim 18
Dependent Claim 212 words
The data processing system as set forth in claim 13, further comprising: means for locating a controller unit control block corresponding to said second direct access storage device; means for determining whether said second direct access storage device is in a non-busy state; means responsive to a determination that said second direct access storage device is in a non-busy state, for locking a corresponding physical device lock of said controller unit control block; means for determining whether said physical device lock corresponding to said first direct access storage device containing said data record is unlocked; means responsive to a determination that said physical device lock corresponding to said first direct access storage device containing said data record is unlocked, for locking said physical device lock corresponding to said first direct access storage device; means responsive to determinations that said first direct access storage device is in a non-busy state and said physical device lock corresponding to said first direct access storage device containing said data record is unlocked, for transferring said data record from said first direct access storage device to said host computer; means for releasing said physical device lock corresponding to said first direct access storage device containing said data record; and means for releasing said controller unit control block.

References Cited (Backward Citations)

US4430701A Cited
US4493028A Cited
US4939644A Cited
US4819159A Cited
US5161227A Cited
US5297262A Cited
US5218695A Cited
US5341491A Cited
US5261069A Cited
US5325523A Cited
US5287459A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1999-02-19 1999-08-21 2000-02-20 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2003-02-19 2003-08-21 2004-02-20 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2007-02-19 2007-08-21 2008-02-20 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag