Patent US5802547A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5802547A Expired / Lapsed US ⏱️ 0.0 years remaining

Data storage system with streamlined data exchange path to cached data

Assignee: International Business Machines Corp
•
Filing: 1996-10-15
•
Granted: 1998-09-01
•
Expires: 2016-10-15
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A data storage system establishes streamlined data exchange paths between stored data and multiple system hosts, decreasing contention among the hosts and expediting host access to the data. First, one or more storage directors receive an initial host request to access a data block contained in part of a shared data resource. This part of the shared data resource may comprise a magnetic disk drive device, part of a physical device, a logical volume, a logical device or another data group. In response, the storage director performs a predetermined series of initial access steps to facilitate the data transfer. For example, the data block is copied from the shared data resource into a cache, if not already present therein. Then, a data path is formed between the host and the device containing the data block. Next, a fast path map is updated to indicate establishment of the data path between the host and the device containing the data block. The data block is subsequently exchanged between the cache and the host. When the storage director receives a subsequent request by the same host to access the same device, the storage director consults the fast path map and determines that a data path already exists between the host and the device. Accordingly, the requested data is exchanged between the host and the cache utilizing the previously established data path between the host and the device, avoiding many steps initially required to establish the data path.

Inventors

  • 👤 Vernon John Legvold

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-05 05:39
CPC Classifications
G; G06; G06F; G06F13/00; G06F13/10; G06F13/12; G06F13/122; G06F12/00; G06F12/02; G06F12/08; G06F12/0802; G06F12/0866

Claims Analysis

Total Claims: 59
Claim 1
Independent Claim 483 words
A method for facilitating streamlined data transfer operations in a data storage system having a shared data resource accessible by multiple hosts, said subsystem additionally having a cache coupled to the hosts and the shared data resource, the method comprising the steps of: receiving a request by a first one of the multiple hosts to exchange a first data block with the shared data resource, said request including specification of a number of data transfer parameters, said first data block residing in a first part of the shared data resource; in response to the request, consulting a fast path map to determine whether a first data path has been established between the first host and the first part; if the first data path has not been established, performing first path setup-transfer steps comprising: establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of the data transfer parameters; performing a resource checking step including verifying that the cache and the first part are operational; if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing an error recovery setup step including configuring the data storage system for recovery of any errors occurring during exchange of the first data block; updating the fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; if the first data path has already been established, performing accelerated access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 2
Independent Claim 483 words
A method for facilitating streamlined data transfer operations in a data storage system having a shared data resource accessible by multiple hosts, said subsystem additionally having a cache coupled to the hosts and the shared data resource, the method comprising the steps of: receiving a request by a first one of the multiple hosts to exchange a first data block with the shared data resource, said request including specification of a number of data transfer parameters, said first data block residing in a first part of the shared data resource; in response to the request, consulting a fast path map to determine whether a first data path has been established between the first host and the first part; if the first data path has not been established, performing first path setup-transfer steps comprising: establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of the data transfer parameters; performing a resource checking step including verifying that the cache and the first part are operational; if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing an error recovery setup step including configuring the data storage system for recovery of any errors occurring during exchange of the first data block; updating the fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; if the first data path has already been established, performing accelerated access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 3
Dependent Claim 14 words
The method of claim 1, wherein the data block is a track of data.
Claim 4
Dependent Claim 14 words
The method of claim 1, wherein the data block comprises multiple tracks of data.
Claim 5
Dependent Claim 35 words
The method of claim 1, further comprising the steps of: during transferring of the first data block, locking the first data block to limit access to the first data block exclusively to the first host.
Claim 6
Dependent Claim 20 words
The method of claim 4, the locking step comprising designating the first data block as being busy in a directory.
Claim 7
Dependent Claim 80 words
The method of claim 1, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource and the first data block is not present in the cache: updating the fast path map to indicate absence of the first data path between the first host and the cache; and issuing an abort command and reporting failure of the data transfer operation to the first host.
Claim 8
Dependent Claim 71 words
The method of claim 1, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource, and the first data block is not present in the cache: updating the fast path map to indicate no establishment of the first data path between the first host and the cache; and performing the first path setup-transfer steps.
Claim 9
Dependent Claim 85 words
The method of claim 1, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource but the first data block in the cache is presently being accessed by a different host: updating the fast path map to indicate absence of the first data path between the first host and the cache; and issuing an abort command and reporting failure of the data transfer operation to the first host.
Claim 10
Dependent Claim 76 words
The method of claim 1, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource but the first data block in the cache is presently being accessed by a different host: updating the fast path map to indicate no establishment of the first data path between the first host and the cache; and performing the first path setup-transfer steps.
Claim 11
Dependent Claim 17 words
The method of claim 1, the first part being a logical subcomponent of the shared data resource.
Claim 12
Dependent Claim 19 words
The method of claim 1, the first part being one or more physical devices of the shared data resource.
Claim 13
Dependent Claim 17 words
The method of claim 1, the shared data resource comprising at least one magnetic data storage disk.
Claim 14
Dependent Claim 11 words
The method of claim 1, the cache comprising random access memory.
Claim 15
Dependent Claim 49 words
The method of claim 1, further comprising the steps of: detecting an error in operation of the shared data resource; and in response to the error detection, updating the fast path map to indicate absence of any data path between any of the hosts and the shared data resource.
Claim 16
Dependent Claim 45 words
The method of claim 1, further comprising the steps of: detecting an error in operation of the cache; and in response to the error detection, updating the fast path map to indicate absence of any data path between any of the hosts and the cache.
Claim 17
Dependent Claim 61 words
The method of claim 1, further comprising the steps of: detecting an error in operation of a second one of the multiple hosts; and in response to the error detection, updating the fast path map to indicate no establishment of any data path between (1) the second host and the cache, and (2) the second host and the shared data resource.
Claim 18
Independent Claim 423 words
A method for operating a data storage subsystem having a shared data resource accessible by multiple hosts, said subsystem also including a cache coupled to the hosts and the shared data resource, comprising the steps of: for each initial host request to exchange a first data block with the shared data resource, performing initial access steps comprising: identifying a first part of the shared data resource containing the first data block; establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of parameters accompanying the host request; performing a resource checking step including verifying that the cache is operational; if the host request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing error recovery setup including configuring the data storage subsystem for recovery of any errors occurring during exchange of the first data block; updating a fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; for each subsequent host request to access any data block contained in the first part, performing subsequent access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 19
Independent Claim 423 words
A method for operating a data storage subsystem having a shared data resource accessible by multiple hosts, said subsystem also including a cache coupled to the hosts and the shared data resource, comprising the steps of: for each initial host request to exchange a first data block with the shared data resource, performing initial access steps comprising: identifying a first part of the shared data resource containing the first data block; establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of parameters accompanying the host request; performing a resource checking step including verifying that the cache is operational; if the host request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing error recovery setup including configuring the data storage subsystem for recovery of any errors occurring during exchange of the first data block; updating a fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; for each subsequent host request to access any data block contained in the first part, performing subsequent access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 20
Dependent Claim 481 words
An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for facilitating streamlined data transfer operations in a data storage system, said method steps comprising: receiving a request by a first one of the multiple hosts to exchange a first data block with the shared data resource, said request including specification of a number of data transfer parameters, said first data block residing in a first part of the shared data resource; in response to the request, consulting a fast path map to determine whether a first data path has been established between the first host and the first part; if the first data path has not been established, performing first path setup-transfer steps comprising: establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of the data transfer parameters; performing a resource checking step including verifying that the cache and the first part are operational; if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing an error recovery setup step including configuring the data storage system for recovery of any errors occurring during exchange of the first data block; updating the fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; if the first data path has already been established, performing accelerated access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 21
Dependent Claim 481 words
An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for facilitating streamlined data transfer operations in a data storage system, said method steps comprising: receiving a request by a first one of the multiple hosts to exchange a first data block with the shared data resource, said request including specification of a number of data transfer parameters, said first data block residing in a first part of the shared data resource; in response to the request, consulting a fast path map to determine whether a first data path has been established between the first host and the first part; if the first data path has not been established, performing first path setup-transfer steps comprising: establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of the data transfer parameters; performing a resource checking step including verifying that the cache and the first part are operational; if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing an error recovery setup step including configuring the data storage system for recovery of any errors occurring during exchange of the first data block; updating the fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; if the first data path has already been established, performing accelerated access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 22
Dependent Claim 16 words
The article of manufacture of claim 18, wherein the data block is a track of data.
Claim 23
Dependent Claim 16 words
The article of manufacture of claim 18, wherein the data block comprises multiple tracks of data.
Claim 24
Dependent Claim 37 words
The article of manufacture of claim 18, further comprising the steps of: during transferring of the first data block, locking the first data block to limit access to the first data block exclusively to the first host.
Claim 25
Dependent Claim 22 words
The article of manufacture of claim 21, the locking step comprising designating the first data block as being busy in a directory.
Claim 26
Dependent Claim 82 words
The article of manufacture of claim 18, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource and the first data block is not present in the cache: updating the fast path map to indicate absence of the first data path between the first host and the cache; and issuing an abort command and reporting failure of the data transfer operation to the first host.
Claim 27
Dependent Claim 73 words
The article of manufacture of claim 18, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource, and the first data block is not present in the cache: updating the fast path map to indicate no establishment of the first data path between the first host and the cache; and performing the first path setup-transfer steps.
Claim 28
Dependent Claim 87 words
The article of manufacture of claim 18, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource but the first data block in the cache is presently being accessed by a different host: updating the fast path map to indicate absence of the first data path between the first host and the cache; and issuing an abort command and reporting failure of the data transfer operation to the first host.
Claim 29
Dependent Claim 78 words
The article of manufacture of claim 18, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource but the first data block in the cache is presently being accessed by a different host: updating the fast path map to indicate no establishment of the first data path between the first host and the cache; and performing the first path setup-transfer steps.
Claim 30
Dependent Claim 19 words
The article of manufacture of claim 18, the first part being a logical subcomponent of the shared data resource.
Claim 31
Dependent Claim 21 words
The article of manufacture of claim 18, the first part being one or more physical devices of the shared data resource.
Claim 32
Dependent Claim 19 words
The article of manufacture of claim 18, the shared data resource comprising at least one magnetic data storage disk.
Claim 33
Dependent Claim 13 words
The article of manufacture of claim 18, the cache comprising random access memory.
Claim 34
Dependent Claim 51 words
The article of manufacture of claim 18, further comprising the steps of: detecting an error in operation of the shared data resource; and in response to the error detection, updating the fast path map to indicate absence of any data path between any of the hosts and the shared data resource.
Claim 35
Dependent Claim 47 words
The article of manufacture of claim 18, further comprising the steps of: detecting an error in operation of the cache; and in response to the error detection, updating the fast path map to indicate absence of any data path between any of the hosts and the cache.
Claim 36
Dependent Claim 63 words
The article of manufacture of claim 18, further comprising the steps of: detecting an error in operation of a second one of the multiple hosts; and in response to the error detection, updating the fast path map to indicate no establishment of any data path between (1) the second host and the cache, and (2) the second host and the shared data resource.
Claim 37
Dependent Claim 451 words
An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for facilitating streamlined data transfer operations in a data storage subsystem having a shared data resource accessible by multiple hosts and also having a cache coupled to the hosts and the shared data resonance, said method steps comprising: for each initial host request to exchange a first data block with the shared data resource, performing initial access steps comprising: identifying a first part of the shared data resource containing the first data block; establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of parameters accompanying the host request; performing a resource checking step including verifying that the cache is operational; if the host request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing error recovery setup including configuring the data storage subsystem for recovery of any errors occurring during exchange of the first data block; updating a fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; for each subsequent host request to access any data block contained in the first part, performing subsequent access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 38
Dependent Claim 451 words
An article of manufacture comprising a data storage medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform method steps for facilitating streamlined data transfer operations in a data storage subsystem having a shared data resource accessible by multiple hosts and also having a cache coupled to the hosts and the shared data resonance, said method steps comprising: for each initial host request to exchange a first data block with the shared data resource, performing initial access steps comprising: identifying a first part of the shared data resource containing the first data block; establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of parameters accompanying the host request; performing a resource checking step including verifying that the cache is operational; if the host request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing error recovery setup including configuring the data storage subsystem for recovery of any errors occurring during exchange of the first data block; updating a fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; for each subsequent host request to access any data block contained in the first part, performing subsequent access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 39
Dependent Claim 510 words
A data storage system providing multiple hosts with streamlined access to cached data, comprising: a shared data resource; at least one storage director coupled to the shared data resource, comprising: multiple channels to exchange data with multiple hosts; a cache memory; a shared control array, including a fast path map; a processor, coupled to the channels, cache memory, and shared control array, said processor being programmed to perform steps comprising: receiving a request by a first one of the multiple hosts to exchange a first data block with the shared data resource, said request including specification of a number of data transfer parameters, said first data block residing in a first part of the shared data resource; in response to the request, consulting a fast path map to determine whether a first data path has been established between the first host and the first part; if the first data path has not been established, performing first path setup-transfer steps comprising: establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of the data transfer parameters; performing a resource checking step including verifying that the cache and the first part are operational; if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing an error recovery setup step including configuring the data storage system for recovery of any errors occurring during exchange of the first data block; updating the fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; if the first data path has already been established, performing accelerated access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 40
Dependent Claim 510 words
A data storage system providing multiple hosts with streamlined access to cached data, comprising: a shared data resource; at least one storage director coupled to the shared data resource, comprising: multiple channels to exchange data with multiple hosts; a cache memory; a shared control array, including a fast path map; a processor, coupled to the channels, cache memory, and shared control array, said processor being programmed to perform steps comprising: receiving a request by a first one of the multiple hosts to exchange a first data block with the shared data resource, said request including specification of a number of data transfer parameters, said first data block residing in a first part of the shared data resource; in response to the request, consulting a fast path map to determine whether a first data path has been established between the first host and the first part; if the first data path has not been established, performing first path setup-transfer steps comprising: establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of the data transfer parameters; performing a resource checking step including verifying that the cache and the first part are operational; if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing an error recovery setup step including configuring the data storage system for recovery of any errors occurring during exchange of the first data block; updating the fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; if the first data path has already been established, performing accelerated access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 41
Dependent Claim 18 words
The system of claim 35, the shared data resource including at least one magnetic data storage disk drive.
Claim 42
Dependent Claim 11 words
The system of claim 35, the cache comprising random access memory.
Claim 43
Dependent Claim 14 words
The system of claim 35, wherein the data block is a track of data.
Claim 44
Dependent Claim 14 words
The system of claim 35, wherein the data block comprises multiple tracks of data.
Claim 45
Dependent Claim 35 words
The system of claim 35, further comprising the steps of: during transferring of the first data block, locking the first data block to limit access to the first data block exclusively to the first host.
Claim 46
Dependent Claim 20 words
The system of claim 38, the locking step comprising designating the first data block as being busy in a directory.
Claim 47
Dependent Claim 80 words
The system of claim 35, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource and the first data block is not present in the cache: updating the fast path map to indicate absence of the first data path between the first host and the cache; and issuing an abort command and reporting failure of the data transfer operation to the first host.
Claim 48
Dependent Claim 71 words
The system of claim 35, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource, and the first data block is not present in the cache: updating the fast path map to indicate no establishment of the first data path between the first host and the cache; and performing the first path setup-transfer steps.
Claim 49
Dependent Claim 85 words
The system of claim 35, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource but the first data block in the cache is presently being accessed by a different host: updating the fast path map to indicate absence of the first data path between the first host and the cache; and issuing an abort command and reporting failure of the data transfer operation to the first host.
Claim 50
Dependent Claim 76 words
The system of claim 35, the accelerated access steps further comprising the following steps, performed if the request constitutes a request to read the first data block from the shared data resource but the first data block in the cache is presently being accessed by a different host: updating the fast path map to indicate no establishment of the first data path between the first host and the cache; and performing the first path setup-transfer steps.
Claim 51
Dependent Claim 17 words
The system of claim 35, the first part being a logical subcomponent of the shared data resource.
Claim 52
Dependent Claim 19 words
The system of claim 35, the first part being one or more physical devices of the shared data resource.
Claim 53
Dependent Claim 17 words
The system of claim 35, the shared data resource comprising at least one magnetic data storage disk.
Claim 54
Dependent Claim 11 words
The system of claim 35, the cache comprising random access memory.
Claim 55
Dependent Claim 49 words
The system of claim 35, further comprising the steps of: detecting an error in operation of the shared data resource; and in response to the error condition, updating the fast path map to indicate absence of any data path between any of the hosts and the shared data resource.
Claim 56
Dependent Claim 45 words
The system of claim 35, further comprising the steps of: detecting an error in operation of the cache; and in response to the error condition, updating the fast path map to indicate absence of any data path between any of the hosts and the cache.
Claim 57
Dependent Claim 61 words
The system of claim 35, further comprising the steps of: detecting an error in operation of a second one of the multiple hosts; and in response to the error condition, updating the fast path map to indicate no establishment of any data path between (1) the second host and the cache, and (2) the second host and the shared data resource.
Claim 58
Dependent Claim 457 words
A data storage system providing multiple hosts with streamlined access to cached data, comprising: a shared data resource; at least one storage director coupled to the shared data resource, comprising: multiple channels to exchange data with multiple hosts; a cache memory; a shared control array, including a fast path map; a processor, coupled to the channels, cache memory, and shared control array, said processor being programmed to perform steps comprising: for each initial host request to exchange a first data block with the shared data resource, performing initial access steps comprising: identifying a first part of the shared data resource containing the first data block; establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of parameters accompanying the host request; performing a resource checking step including verifying that the cache is operational; if the host request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing error recovery setup including configuring the data storage subsystem for recovery of any errors occurring during exchange of the first data block; updating a fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; for each subsequent host request to access any data block contained in the first part, performing subsequent access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.
Claim 59
Dependent Claim 457 words
A data storage system providing multiple hosts with streamlined access to cached data, comprising: a shared data resource; at least one storage director coupled to the shared data resource, comprising: multiple channels to exchange data with multiple hosts; a cache memory; a shared control array, including a fast path map; a processor, coupled to the channels, cache memory, and shared control array, said processor being programmed to perform steps comprising: for each initial host request to exchange a first data block with the shared data resource, performing initial access steps comprising: identifying a first part of the shared data resource containing the first data block; establishing the first data path between the first host and the first part by performing steps comprising: performing a parameter checking step including verifying validity of parameters accompanying the host request; performing a resource checking step including verifying that the cache is operational; if the host request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if not present copying the first data block into the cache; performing error recovery setup including configuring the data storage subsystem for recovery of any errors occurring during exchange of the first data block; updating a fast path map to indicate establishment of the first data path between the first host and the first part; and transferring the first data block between the cache and the first host while locking at least the first part of the shared data resource; for each subsequent host request to access any data block contained in the first part, performing subsequent access steps comprising: utilizing the previously established first data path and the previously performed parameter verifying, resource verifying, and error recovery steps; transferring the first data block by performing steps comprising: if the request constitutes a request to read the first data block from the shared data resource, determining whether the first data block is present in the cache, and if so, transferring the first data block from the cache to the first host utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; if the request constitutes a request to write the first data block from the first host to the shared data resource, transferring the first data block from the first host to the cache utilizing the first data path between the first host and the cache while leaving the shared data resource in an unlocked condition; and during transferring of the first data block marking in a directory an entry corresponding to the first data block to prevent access of the first data block by other hosts.

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-08-31 2002-03-02 2002-09-01 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-08-31 2006-03-02 2006-09-01 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-08-31 2010-03-02 2010-09-01 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag