Storage mapping and partitioning among multiple host processors
First Claim
1. A method of operating a storage controller for controlling access to data storage, the storage controller having a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the first host processor is restricted to by said storage controller, and storing in the memory information identifying a second host processor and, in association with the information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted to by said storage controller, wherein the first host processor has access through the data port to the first subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage;
b) receiving at the data port a request for storage access from one of the first and second 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 the information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding the 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 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 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.
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.
330 Citations
33 Claims
-
1. A method of operating a storage controller for controlling access to data storage, the storage controller having a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the first host processor is restricted to by said storage controller, and storing in the memory information identifying a second host processor and, in association with the information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted to by said storage controller, wherein the first host processor has access through the data port to the first subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage;
b) receiving at the data port a request for storage access from one of the first and second 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 the information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding the 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 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 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. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A method of operating a storage controller for controlling access to data storage, the storage controller having a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the fit host processor is restricted to by said storage controller, and storing in the memory information identifying a second host processor and, in association with the information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted by said storage controller, wherein the first host processor has access through the data port to the fist subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage, wherein the data network assigns at least one temporary address to each of the first and second host processor, and each of the first and second host processors also has a relatively permanent identifier, and the identification of each of the first and second host processors stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each of the first and second host processors; and
b) receiving at the data port a request for storage access from one of the first and second 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. - View Dependent Claims (8, 9, 10, 11)
-
-
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 a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the first host processor is restricted to by said storage controller, and storing in the memory information identifying a second host processor and, in association with the information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted to by said storage controller, wherein the first host processor has access through the data port to the first subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage;
b) receiving at the data port a request for storage access from one of the first and second 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 the information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding the 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 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 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 information identifying the host processor identified by the identification decoded from the request for storage access. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
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 a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the first host processor is restricted to by said storage controller, and storing in the memory information identifying a second host processor and, in association with the information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted to by said storage controller, wherein the first host processor has access through the data port to the first subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage, wherein the data network assigns at least one temporary address to each first and second host processor, and said each first and second host processor also has a relatively permanent identifier, and the identification of said each first and second host processor stored in memory includes the relatively permanent identifier and any temporary address currently assigned to said each first and second host processor; and
b) receiving at the data port a request for storage access from one of the first and second 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. - View Dependent Claims (19, 20, 21, 22, 33)
-
-
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 a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the first host processor is restricted to by said storage controller, and storing in the memory information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted to by the storage controller, wherein the first host processor has access through the data port to the first subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage;
b) receiving at the data port a request for storage access from one of the first and second 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 the information identifying the host processor identified by the identification decoded from the request for storage access, and (iii) upon finding the 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 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 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 information identifying the host processor identified by the identification decoded from the request for storage access. - View Dependent Claims (24, 25, 26, 27, 28)
-
-
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 a 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 information identifying a first host processor and, in association with the information identifying the first host processor, information identifying a first specification for the first host processor of a first subset of the data storage to which access by the first host processor is restricted to by said storage controller, and storing in the memory information identifying a second host processor and, in association with the information identifying the second host processor, a second specification for the second host processor of a second subset of the data storage to which access by the second host processor is restricted to by said storage controller, wherein the first host processor has access through the data port to the first subset of the data storage and the second host processor has access through the data port to the second subset of the data storage, the first subset of the data storage being different from the second subset of the data storage so that the first host processor is restricted from accessing through the data port at least some data storage in the second subset of the data storage and so that the second host processor is restricted from accessing through the data port at least some data storage in the first subset of the data storage, 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 first and second 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. - View Dependent Claims (30, 31, 32)
-
Specification