Method for message transfer in computer storage system
First Claim
1. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;
passing messages through the message network with such passing messages by-passing the cache memory;
operating the first and second directors to control data transfer between the host computer and the bank of disk drives in response to the messages passing between the directors through the messaging network as such data passes through the data transfer section, such message passing comprising;
preparing in a transmitting one of the directors, a message to be sent to a receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising a command field indicating the receiving one, or ones, of directors to receive the built message;
encapsulating the message payload of the descriptor into a packet, such packet comprising;
a header, such header including;
a source portion indicating the transmitting one of the directors;
a destination portion indicating the receiving one, or ones, of the directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones of the directors.
10 Assignments
0 Petitions
Accused Products
Abstract
A system interface includes a plurality of first directors, a plurality of second directors, a data transfer section and a message network. The data transfer section includes a cache memory. The cache memory is coupled to the plurality of first and second directors. The messaging network operates independently of the data transfer section and such network is coupled to the plurality of first directors and the plurality of second directors. The first and second directors control data transfer between the first directors and the second directors in response to messages passing between the first directors and the second directors through the messaging network to facilitate data transfer between first directors and the second directors. The data passes through the cache memory in the data transfer section. A method for operating a data storage system adapted to transfer data between a host computer/server and a bank of disk drives. The method includes transferring messages through a messaging network with the data being transferred between the host computer/server and the bank of disk drives through a cache memory, such message network being independent of the cache memory.
85 Citations
22 Claims
-
1. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;passing messages through the message network with such passing messages by-passing the cache memory;
operating the first and second directors to control data transfer between the host computer and the bank of disk drives in response to the messages passing between the directors through the messaging network as such data passes through the data transfer section, such message passing comprising;
preparing in a transmitting one of the directors, a message to be sent to a receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising a command field indicating the receiving one, or ones, of directors to receive the built message;
encapsulating the message payload of the descriptor into a packet, such packet comprising;
a header, such header including;
a source portion indicating the transmitting one of the directors;
a destination portion indicating the receiving one, or ones, of the directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones of the directors. - View Dependent Claims (2)
- a plurality of first directors coupled to the host computer/server;
-
3. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;preparing in a transmitting one of the directors, a message to be sent to a receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising a command field indicating the receiving one, or ones, of directors to receive the built message;
encapsulating the message payload of the descriptor into a packet, such packet comprising;
a header, such header including;
a source portion indicating the transmitting one of the directors;
a destination portion indicating the receiving one, or ones, of the directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones of the directors. including;
receiving in one of the receiving one or ones of the directors the transmitted packet;
determining in such receiving one, or ones, the receiving directors whether the received packet is from a proper, or an improper transmitting one of the directors;
de-encapsulating in such receiving one, or ones, of the directors the received packe after determining in such receiving one, or ones, of the directors that the packet is from a proper transmitting one of the directors. - View Dependent Claims (4)
- a plurality of first directors coupled to the host computer/server;
-
5. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section having a cache memory coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such method comprising;passing messages through the message network with such passing messages by-passing the cache memory;
operating the first and second directors to control data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such message passing comprising;
preparing in a transmitting one of the directors, a message to be sent to a receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising;
a message payload indicating an address in the bank of disk drives having the requested data;
and a command field indicating the receiving one, or ones, of directors to receive the built message;
encapsulating the message payload of the descriptor into a packet, such packet comprising;
a header, such head including;
a source portion indicating the transmitting one of the directors;
a destination portion indicating the receiving one, or ones, of the directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones of the directors. - View Dependent Claims (6)
- a plurality of first directors coupled to the host computer/server;
-
7. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors throught the messaging network as such data passes through the data transfer section, such method comprising;preparing in a transmitting one of the directors, a message to be sent to a receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising;
a message payload indicating an address in the bank of disk drives having the requested data;
and a command field indicating the receiving one, or ones, of directors to receive the built message;
encapsulating the message payload of the descriptor into a packet, such packet comprising;
a header, such header including;
a source portion indicating the transmitting one of the directors;
a destination portion indicating the receiving one, or ones, of the directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to rout such packet to such receiving one, or ones of the directors. including;
receiving in one of the receiving one or ones of the directors the transmitted packet;
determining in such receiving one, or ones, the receiving directors whether the received packet is from a proper, or an improper transmitting one of the diretors;
de-encapsulating in such receiving one, or ones, of the directors the received packet after determining in such receiving one, or ones, of the directors that the packet is from a proper transmitting one of the directors. - View Dependent Claims (8)
- a plurality of first directors coupled to the host computer/server;
-
9. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising a plurality of first directors coupled to the host computer/server;
- a plurality of second directors coupled to the bank of disk drives;
a data transfer section coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;determining, in a transmitting one of the directors, that action is requested by a receiving one, or ones, of the directors;
preparing in such transmitting one of the directors, in response to such determination, a message to be sent to the receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising a command field indicating receiving one, or ones, of the directors to receive the built message;
storing the built descriptor in a memory within such transmitting one of the directors;
incrementing a pointer or counter in the transmitting one of the directors each time a descriptor is ready to be retrieved from the memory in such transmitting one of the directors;
receiving such stored descriptor from the memory in such transmitting one of the directors;
encapsulating the message payload of the retrieved descriptor into a MAC type packet, such packet comprising;
a header, such header including;
a source portion indicating the one of the transmitting directors;
a destination portion indicating the another one, or ones of the receving directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones, of the directors. including;
receiving in one of the receiving one, or ones, of the directors the transmitted packet;
determining in such one of the receiving one, or ones, of the directors whether the received packet is from a proper, or an improper transmitting one of the directors;
de-encapsulating in such one of the receiving one, or ones, of the directors the received packet after determining in such one of the receiving one, or ones, of the directors that the packet is from a proper transmitting one of the directors. - View Dependent Claims (10)
- a plurality of second directors coupled to the bank of disk drives;
-
12. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section coupled to the plurality of first directors and second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;determining, in a transmitting one of the directors, that action is requested by a receiving one, or ones, of the directors;
preparing in such transmitting one of the directors, in response to such determination, a message to be sent to the receiving one, or ones, of the directors;
building in such transmitting one of the directors, a descriptor, such descriptor comprising a command field indicating receiving one, or ones, of the directors to receive the built message;
storing the built descriptor in a memory within such transmitting one of the directors;
incrementing a pointer or counter in the transmitting one of the directors each time a descriptor is ready to be retrieved from the memory in such transmitting one of the directors;
retrieving such stored descriptor from the memory in such transmitting one of the directors;
encapsulating the message payload of the retrieved descriptor into a MAC type packet, such packet comprising;
a header, such header including;
a source portion indicating the one of the transmitting directors;
a destination portion indicating the another one, or ones of the receiving directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones, of the directors;
wherein the descriptor includes a message payload indicating an address in the bank of disk drives having the requested data. - View Dependent Claims (11, 13, 14, 15)
- a plurality of first directors coupled to the host computer/server;
-
16. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section having a cache memory coupled to the plurality of first directors and the second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;determining, in a transmitting one of the directors, that data requested for transfer by such transmitting one of the directors is unavailable in the cache memory;
preparing in such transmitting one of the directors, in response to such determination, a message to be sent to a receiving one, or ones, of the directors;
building in such transmitting one of the transmitting directors, a descriptor, such descriptor comprising;
a message payload indicating an address in the bank of disk drives having the requested data; and
a command field indicating receiving one, or ones, of the directors to receive the built message;
storing the built descriptor in a memory within such transmitting one of the directors;
incrementing a pointer or counter in the transmitting one of the directors each time a descriptor is ready to be retrieved from the memory in such transmitting one of the directors;
retrieving such stored descriptor from the memory in such transmitting one of the directors;
decrementing the pointer or counter when the descriptor is retrieved from the memory in such transmitting one of the directors;
encapsulating the message payload of the retrieved descriptor into a MAC type packet, such packet comprising;
a header, such header including;
a source portion indicating the one of the transmitting directors;
a destination portion indicating the another one, or ones of the receiving directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones, of the directors. including;
receiving in one of the receiving one, or ones, of the directors the transmitted packet;
determining in such one of the receiving one, or ones, of the directors whether the received packet is from a proper, or an improper transmitting one of the directors;
de-encapsulating in such one of the receiving one, or ones, of the directors the received packet after determining in such one of the receiving one, or ones, of the directors that the packet is from a proper transmitting one of the directors. - View Dependent Claims (17, 18)
- a plurality of first directors coupled to the host computer/server;
-
19. A method for transferring data between a host computer/server and a bank of disk drives through a system interface, such system interface comprising:
- a plurality of first directors coupled to the host computer/server;
a plurality of second directors coupled to the bank of disk drives;
a data transfer section having a cache memory coupled to the plurality of first directors and the second directors; and
a messaging network coupled to the plurality of first directors and the plurality of second directors, such first and second directors controlling data transfer between the host computer and the bank of disk drives in response to messages passing between the directors through the messaging network as such data passes through the data transfer section, such method comprising;determining, in a transmitting one of the directors, that data requested for transfer by such transmitting one of the directors is unavailable in the cache memory;
preparing in such transmitting one of the directors, in response to such determination, a message to be sent to receiving one, or ones, of the directors;
building in such transmitting one of the transmitting directors , a descriptor, such descriptor comprising;
a message payload indicating an address in the bank of disk drives having the requested data; and
a command field indicating receiving one, or ones, of the directors to receive the built message;
storing the built descriptor in a memory within such transmitting one of the directors;
incrementing a pointer or counter in the transmitting one of the directors each time a descriptor is ready to be retrieved from the memory in such transmitting one of the directors;
retrieving such stored descriptor from the memory in such transmitting one of the directors;
decrementing the pointer or counter when the descriptor is retrieved from the memory in such transmitting one of the directors;
encapsulating the message paylod of the retrieved descriptor into a MAC type packet, such packet comprising;
a header, such header including;
a source portion indicating the one of the transmitting directors;
a destination portion indicating the another one, or ones of the receiving directors; and
the message payload;
transmitting such packet to said receiving one, or ones, of the directors through the messaging network;
decoding the destination portion of the packet to route such packet to such receiving one, or ones, of the directors wherein the descriptor includes a message payload indicating an address in the bank of disk drives having the requested data. - View Dependent Claims (20, 21, 22)
- a plurality of first directors coupled to the host computer/server;
Specification