Claims
- 1. A distributed data processing system configured as a disk drive controller array, comprising:
- a plurality of disk drive controller nodes, each disk drive controller node directly connected to each of N other nodes via a bi-directional communication link, where N>=4, each said node thereby having at least twice as much input/output bandwidth as internal message handling bandwidth, each disk drive controller node further comprising:
- control message means for substantially independent handling of control messages;
- control memory means coupled to said control message means for storing control messages;
- disk drive means;
- data message means for substantially independent handling of data messages;
- data memory means coupled to said data message means for storing data messages to and from said disk drive means;
- processor means coupled to each of the aforesaid means, for causing said data message means to assemble, queue and dispatch data messages from said data memory means and said control message means to assemble, queue and dispatch control messages from said control memory means, said data messages generally being substantially longer than said control messages; and
- input/output (I/O) switch means coupled between said N bi-directional communication links and said data message means and control message means and including routing control means, for utilizing said N bidirectional communication links to enable concurrent dispatch of control messages and data messages in accord with outputs from said routing control means, said I/O switch means employing said N bidirectional communication links to enable dispatch of said control messages, without requiring delay thereof pending completion of dispatch of said data messages.
- 2. The distributed data processing system as recited in claim 1, wherein said routing control means is responsive to a message received via a bidirectional communication link, which message is addressed to another node, to direct said message to said another node without involving an operation of said processor means.
- 3. The distributed data processing system as recited in claim 1, wherein said I/O switch means dispatches data messages and control messages in an order received from said data message means and control message means, respectively, and in a case when a data message and control message are received substantially simultaneously, dispatches said control message before said data message.
- 4. The distributed data processing system as recited in claim 1, wherein said routing control means comprises:
- table means including an entry for each destination node, said entry specifying a primary bidirectional communication link to be allocated for messages addressed said destination node and plural alternate bidirectional communication links to be employed in case said primary bidirectional communication link is busy.
- 5. The distributed data processing system as recited in claim 1, wherein each address appended to a message for said destination node includes a value employed by said routing control means to determine whether said message to said destination node is to be transmitted over just one or plural ones of said bi-directional communication links.
- 6. The distributed data processing system as recited in claim 4, wherein said routing control means includes control means responsive to received message address header information to determine if said information indicates another node, and if yes, to access an entry in said table means corresponding to said information and to enable dispatch of said message, all without involvement of said processor means.
- 7. The distributed data processing system as recited in claim 1, wherein said processor means controls said data message means and data memory means to assemble indefinitely long data messages with interspersed cyclic redundancy codes (CRC) for error checking, each said CRC positioned at a position in said indefinitely along data messages which is within an error detection capability of said CRC, an indefinitely long data message comprising header information followed by data as read from a track or tracks of a disk drive.
- 8. The distributed data processing system as recited in claim 1, further comprising:
- means in said control message means for determining whether a received control message is a first type to be processed by said processor means or a second type to be processed by an order execution unit; and
- an order execution unit for receiving second type control messages and for performing an operation required by said second type control message without intervention of said processor means.
- 9. The distributed data processing system as recited in claim 8, wherein said second type control message requests a state report and said order execution unit retrieves a state value, inserts said state value into a response control message and dispatches said response control message.
- 10. The distributed data processing system as recited in claim 1, wherein said control memory means and data memory means comprise two portions of a unitary random access memory.
Parent Case Info
This is a continuation of application Ser. No. 08/448,901 filed on May 24, 1995 now abandoned.
US Referenced Citations (16)
Non-Patent Literature Citations (1)
Entry |
Microsoft Press, "Computer Dictionary 2nd Ed", 1994 p. 412 |
Continuations (1)
|
Number |
Date |
Country |
Parent |
448901 |
May 1995 |
|