US 7,502,881 B1
Data packet routing mechanism utilizing the transaction ID tag field
Almir Davis, Quincy, Mass. (US)
Assigned to EMC Corporation, Hopkinton, Mass. (US)
Filed on Sep. 29, 2006, as Appl. No. 11/540,474.
Int. Cl. G06F 13/00 (2006.01)
U.S. Cl. 710—120  [370/395.31; 370/408; 710/313] 17 Claims
OG exemplary drawing
 
1. A data storage system comprising:
a plurality of clients for issuing read requests to a host device, the read requests each including a TAG field for identifying which of the plurality of clients issued a particular read request, wherein a completion response corresponding to the particular read request, including the TAG field, is issued from the host to the client that sent the read request, the plurality of clients being organized into a number M of groups, each group including a predetermined number of clients;
a first level routing device having an input for receiving completion responses from the host and a plurality of outputs for transmitting completion responses; and
a plurality of second level routing devices, each being coupled to the plurality of clients in one of the M groups, and having an input for receiving completion responses from the first level routing device and a plurality of outputs, each output for transmitting completion responses to one of the plurality of clients in the group;
wherein the TAG field associated with each completion response includes a predetermined number of bitfields, a first bitfield of the TAG field being read by the first level routing device and providing the first level routing device with an identity of the second level routing device to which the completion response is to be transmitted, to which second level routing device the first level routing device transmits the completion response, and a second bitfield of the TAG field being read by the second level router device that receives the completion response from the first level routing device, the second bitfield providing the second level routing device with the identity of the client within the group to which the completion response is to be transmitted, to which the second level routing device transmits the completion response;
the system further including a plurality of memory devices, each coupled between one of the plurality of outputs of the first level routing device and the input of one of the plurality of second level routing devices for storing the completion responses output by the first level routing device.