Patent ID: 6742017
Filing Date: 2004-05-25
Classification: G06F

Abstract:
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:providing in each one of the directors: a receive write pointer or counter; a receive read pointer or counter; a send write pointer or counter; a send read pointer or counter; a send queue memory for storing messages to be transmitted through the messaging network by such director; and a receive queue memory for storing messages to be received through the messaging network by such director; resetting the receive write pointer or counter, receive read pointer or counter, send write pointer or counter; and send read pointer or counter of the directors in response to power-up of the system when a transmitting one of the directors indicates that a message has been stored in the send queue memory of such transmitting one of the directors and is ready for transfer through the messaging network to one or more receiving ones of the directors; incrementing the send write pointer or counter in such transmitting one of the directors; checking the send write pointer or counter in the transmitting one of the directors and the send read pointer or counter in such transmitting one of the directors; determining whether the send read pointer or counter and the send write pointer or counter in the transmitting one of the directors are different and, if different, thereby indicating to the transmitting one of the directors that there is a message in the send queue memory of the transmitting director that is ready for transmission by the transmitting one of the directors; transferring messages from the send queue memory of the transmitting one of the directors until the send read pointer or counter in the transmitting director is equal to the send write pointer or counter in the transmitting director.