Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
First Claim
1. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
- a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each processor includes a name in addition to a temporary address assigned by the network to said each host processor, and the method includes a system administrator providing to the storage controller a request including a specified name and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the name is restricted, and the storage controller responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified name is restricted.
7 Assignments
0 Petitions
Accused Products
Abstract
A storage controller for controling access to data storage has a memory and at least one data port for a data network including host processors. The memory is programmed to define a respective specification for each host processor of a respective subset of the data storage to which access by the host processor is restricted, and each specification is associated with a host identifier stored in the memory. When the storage controller receives a data access request from a host processor, it decodes a host identifier from the data access request, and searches the memory for a host identifier matching the host identifier decoded from the request. Upon finding a match, the respective specification of the respective subset for the host processor is accessed to determine whether or not storage specified by the storage access request is contained in the respective subset. If so, then storage access can continue, and otherwise, storage access is denied. Preferably the host identifier decoded from the request is a temporary address assigned by the network, and also stored in the memory in association with each respective specification is a relatively permanent identifier for the host processor.
-
Citations
31 Claims
-
1. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each processor includes a name in addition to a temporary address assigned by the network to said each host processor, and the method includes a system administrator providing to the storage controller a request including a specified name and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the name is restricted, and the storage controller responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified name is restricted.
-
-
2. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each host processor includes a relatively permanent identifier for said each host processor in addition to a temporary address assigned by the network to said each host processor, and wherein the method includes the storage controller responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the relatively permanent identifier of said one of the host processors, and in response receiving the relatively permanent identifier of said one of the host processors, and changing in the memory the temporary address of said one of the host processors to the new temporary address.
-
-
3. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each host processor includes an identifier of circuitry of said each host processor, and wherein the method includes the storage controller responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the identifier of circuitry of said one of the host processors, and in response receiving the identifier of circuitry in said one of the host processors, comparing the received identifier of circuitry in said one of the host processors with the identifier of circuitry of said one of the host processor stored in the memory, and when the received identifier of the circuitry in said one of the host processors is different from the identifier of circuitry of said one of the host processors stored in the memory, indicating an unauthorized change in circuitry of said one of the host processors unless a change in the circuitry of said one of the host processors has been authorized. - View Dependent Claims (4)
-
-
5. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access; and
which includes storing in memory locking information for controlling access to a portion of the data storage for which access is shared among the host processors, and storing in memory a respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said each host processor is restricted, and which further includes responding to the request for storage access by said one of the host processors by accessing in memory the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted does not indicate that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the locking information before accessing the specified portion of the data storage to access, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted indicates that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the specified portion of the data storage to access without first accessing the locking information.
-
-
6. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
which includes a system administrator providing to the storage controller a request including the relatively permanent identifier and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the relatively permanent identifier is restricted, and the storage controller responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified relatively permanent identifier is restricted.
-
-
7. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
which includes the storage controller responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the relatively permanent identifier of said one of the host processors, and in response receiving the relatively permanent identifier of said one of the host processors, and changing in the memory the temporary address currently assigned to said one of the host processors to the new temporary address.
-
-
8. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
wherein the associated information identifying said each host processor includes an identifier of circuitry of said each host processor, and wherein the method includes the storage controller responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the identifier of circuitry of said one of the host processors, and in response receiving the identifier of circuitry in said one of the host processors, comparing the received identifier of circuitry in said one of the host processors with the identifier of circuitry of said one of the host processors stored in the memory, and when the received identifier of the circuitry in said one of the host processors is different from the identifier of circuitry of said one of the host processors stored in the memory, indicating an unauthorized change in circuitry of said one of the host processors unless a change in the circuitry of said one of the host processors has been authorized. - View Dependent Claims (9)
-
-
10. A method of operating a storage controller for controlling access to data storage, the storage controller having at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, said method comprising:
-
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
which includes storing in memory locking information for controlling access to a portion of the data storage for which access is shared among the host processors, and storing in memory a respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said each host processor is restricted, and which further includes responding to the request for storage access by said one of the host processors by accessing in memory the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted does not indicate that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the locking information before accessing the specified portion of the data storage to access, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted indicates that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the specified portion of the data storage to access without first accessing the locking information.
-
-
11. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each processor includes a name in addition to a temporary address assigned by the network to said each host processor, and the storage controller is programmed for receiving from a system administrator a request including a specified name and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the name is restricted, and for responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified name is restricted.
-
-
12. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each host processor includes a relatively permanent identifier for said each host processor in addition to a temporary address assigned by the network to said each host processor, and wherein the storage controller is programmed for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the relatively permanent identifier of said one of the host processors, and in response receiving the relatively permanent identifier of said one of the host processors, and changing in the memory the temporary address of said one of the host processors to the new temporary address.
-
-
13. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors, and wherein the associated information identifying said each host processor includes an identifier of circuitry of said each host processor, and wherein the storage controller is programmed for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the identifier of circuitry of said one of the host processors, and in response receiving the identifier of circuitry in said one of the host processors, comparing the received identifier of circuitry in said one of the host processors with the identifier of circuitry of said one of the host processor stored in the memory, and when the received identifier of the circuitry in said one of the host processors is different from the identifier of circuitry of said one of the host processors stored in the memory, indicating an unauthorized change in circuitry of said one of the host processors unless a change in the circuitry of said one of the host processors has been authorized. - View Dependent Claims (14)
-
-
15. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the storage controller is programmed for storing in memory locking information for controlling access to a portion of the data storage for which access is shared among the host processors, and storing in memory a respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said each host processor is restricted, and for responding to the request for storage access by said one of the host processors by accessing in memory the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted does not indicate that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the locking information before accessing the specified portion of the data storage to access, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted indicates that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the specified portion of the data storage to access without first accessing the locking information.
-
-
16. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage;
wherein the storage controller is programmed for receiving from a system administrator a request including the relatively permanent identifier and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the relatively permanent identifier is restricted, and for responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified relatively permanent identifier is restricted.
-
-
17. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage;
wherein the storage controller is programmed for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the relatively permanent identifier of said one of the host processors, and in response receiving the relatively permanent identifier of said one of the host processors, and changing in the memory the temporary address currently assigned to said one of the host processors to the new temporary address.
-
-
18. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
wherein the associated information identifying said each host processor includes an identifier of circuitry of said each host processor, and wherein the storage controller is programmed for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the identifier of circuitry of said one of the host processors, and in response receiving the identifier of circuitry in said one of the host processors, comparing the received identifier of circuitry in said one of the host processors with the identifier of circuitry of said one of the host processors stored in the memory, and when the received identifier of the circuitry in said one of the host processors is different from the identifier of circuitry of said one of the host processors stored in the memory, indicating an unauthorized change in circuitry of said one of the host processors unless a change in the circuitry of said one of the host processors has been authorized. - View Dependent Claims (19)
-
-
20. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
wherein the storage controller is programmed for storing in memory locking information for controlling access to a portion of the data storage for which access is shared among the host processors, and storing in memory a respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said each host processor is restricted, and for responding to the request for storage access by said one of the host processors by accessing in memory the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted does not indicate that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the locking information before accessing the specified portion of the data storage to access, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted indicates that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the specified portion of the data storage to access without first accessing the locking information.
-
-
21. A data storage subsystem comprising, in combination:
-
data storage; and
a storage controller coupled to the data storage for controlling access to the data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the storage controller is programmed for;
a) storing in memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage; and
wherein the storage controller includes a cache memory and a plurality of port adapters each having at least one data port for connecting the storage controller to a plurality of the host processors, and each of the port adapters has a respective memory for storing temporary identifiers of hosts having logged in to the port adapters in association with a specification of a respective subset of the data storage to which access through said each of the port adapters by said each of the hosts is restricted, and wherein the cache memory stores the relatively permanent identifiers of the hosts having logged into the port adapters.
-
-
22. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors; and
wherein the associated information identifying said each processor includes a name in addition to a temporary address assigned by the network to said each host processor, and the program is executable by the storage controller for receiving from a system administrator a request including a specified name and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the name is restricted, and for responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified name is restricted.
-
-
23. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors; and
wherein the associated information identifying said each host processor includes a relatively permanent identifier for said each host processor in addition to a temporary address assigned by the network to said each host processor, and wherein the program is executable by the storage controller for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the relatively permanent identifier of said one of the host processors, and in response receiving the relatively permanent identifier of said one of the host processors, and changing in the memory the temporary address of said one of the host processors to the new temporary address.
-
-
24. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the identification of said one of the host processors contained in the request includes a temporary address assigned by the network to said one of the host processors, and the associated information identifying the host processor identified by the identification decoded from the request for storage access also includes said temporary address assigned by the network to said one of the host processors; and
wherein the associated information identifying said each host processor includes an identifier of circuitry of said each host processor, and wherein the program is executable by the storage controller for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the identifier of circuitry of said one of the host processors, and in response receiving the identifier of circuitry in said one of the host processors, comparing the received identifier of circuitry in said one of the host processors with the identifier of circuitry of said one of the host processor stored in the memory, and when the received identifier of the circuitry in said one of the host processors is different from the identifier of circuitry of said one of the host processors stored in the memory, indicating an unauthorized change in circuitry of said one of the host processors unless a change in the circuitry of said one of the host processors has been authorized. - View Dependent Claims (25)
-
-
26. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing in the memory associated information identifying said each host processor in association with the respective specification for said each host processor;
b) receiving at the data port a request for storage access from one of the host processors, the request from said one of the host processors containing an identification of said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by;
(i) decoding from the request for storage access the identification of said one of the host processors contained in the request for storage access;
(ii) searching the memory to find associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding associated information identifying the host processor identified by the identification decoded from the request for storage access, accessing in the memory the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, in order to determine whether or not the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access, and (iv) accessing the specified portion of the data storage upon finding that the portion of the data storage specified by the request for storage access is contained in the respective subset of the data storage specified by the respective specification which is associated with the associated information identifying the host processor identified by the identification decoded from the request for storage access;
wherein the storage controller is programmed for storing in memory locking information for controlling access to a portion of the data storage for which access is shared among the host processors, and storing in memory a respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said each host processor is restricted, and for responding to the request for storage access by said one of the host processors by accessing in memory the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted does not indicate that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the locking information before accessing the specified portion of the data storage to access, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted indicates that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the specified portion of the data storage to access without first accessing the locking information.
-
-
27. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage;
wherein the program is executable by the storage controller for receiving from a system administrator a request including the relatively permanent identifier and a specified change in the specification of the respective subset of the data storage to which access by the host processor having the relatively permanent identifier is restricted, and for responding by changing the specification of the respective subset of the data storage to which access by the host processor having the specified relatively permanent identifier is restricted.
-
-
28. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage;
wherein the program is executable by the storage controller for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the relatively permanent identifier of said one of the host processors, and in response receiving the relatively permanent identifier of said one of the host processors, and changing in the memory the temporary address currently assigned to said one of the host processors to the new temporary address.
-
-
29. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage;
wherein the associated information identifying said each host processor includes an identifier of circuitry of said each host processor, and wherein the program is executable by the storage controller for responding to a new temporary address being assigned to said one of the host processors by sending a request to the new temporary address for the identifier of circuitry of said one of the host processors, and in response receiving the identifier of circuitry in said one of the host processors, comparing the received identifier of circuitry in said one of the host processors with the identifier of circuitry of said one of the host processors stored in the memory, and when the received identifier of the circuitry in said one of the host processors is different from the identifier of circuitry of said one of the host processors stored in the memory, indicating an unauthorized change in circuitry of said one of the host processors unless a change in the circuitry of said one of the host processors has been authorized. - View Dependent Claims (30)
-
-
31. A machine readable program storage device containing a program for execution by a storage controller to control access to data storage, the storage controller having memory and at least one data port for connecting the storage controller into a data network for data transmission between the data storage and host processors in the data network, wherein the program is executable by the storage controller for:
-
a) storing in the memory a respective specification for each host processor of a respective subset of the data storage to which access by said each host processor is restricted, and storing associated information identifying said each host processor in association with the respective specification for said each processor, wherein the data network assigns at least one temporary address to said each host processor, and said each host processor also has a relatively permanent identifier, and the identification of said each host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each host processor; and
b) receiving at the data port a request for storage access from one of host processors, the request from said one of the host processors containing a temporary address currently assigned to said one of the host processors and a specification of a portion of the data storage to access, and the storage controller responding to the request for storage access by decoding from the request for storage access the temporary address currently assigned to said one of the host processors contained in the request for storage access, and using the temporary address decoded from the request for storage access in order to access the memory to determine whether or not the specified portion of the data storage to access is contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, and when the specified portion of the data storage to access is determined to be contained in the respective subset of the data storage to which access is permitted by the host processor having the temporary address decoded from the request for storage access, accessing the specified portion of the data storage;
wherein the program is executable by the storage controller for storing in memory locking information for controlling access to a portion of the data storage for which access is shared among the host processors, and storing in memory a respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said each host processor is restricted, and for responding to the request for storage access by said one of the host processors by accessing in memory the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted does not indicate that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the locking information before accessing the specified portion of the data storage to access, and when the respective indication of whether or not only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted indicates that only private storage is included in the respective subset of the data storage to which access by said one of the host processors is restricted, then accessing the specified portion of the data storage to access without first accessing the locking information.
-
Specification