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.