Patent ID: 8010751
Filing Date: 2011-08-30
Classification: G06F,H04L

Abstract:
1. A system of processing access requests to a storage unit from multiple processors, the system comprising: a plurality of processors; a plurality of channels that connect the processors to the storage unit, wherein each of the processors has access to each of the channels; a plurality of channel-specific controllers connected between the processors and the storage unit, wherein one channel-specific controller is associated with each different channel; a plurality of channel-specific arbiters connected between the channel-specific controllers and the processors, wherein one channel-specific arbiter is associated with each different channel; a plurality of channel-specific data dispatchers connected between the channel-specific controllers and the processors, wherein one channel-specific data dispatcher is associated with each different channel; wherein the processors are configured to issue access requests having a tag, wherein the tag includes, a priority, a processor identification that identifies the processor that issued the access request, and a processor access sequence number that indicates the order in which the processor issued the access requests; wherein the channel-specific arbiters are configured to sort access requests based on the priority indicated in the tags of the access requests before forwarding the access requests to the respective channel-specific controllers; wherein the channel-specific controllers are configured to retrieve from the storage unit data corresponding to the access requests issued by the processors and received from the channel-specific arbiters and to add a tag to the retrieved data from the storage unit to form a data unit, wherein the added tag includes the processor identification that identifies the processor that issued the access request corresponding to the retrieved data and a data sequence number that is used by the processor to reassemble multiple data units that satisfy a single access request; wherein the channel-specific data dispatchers are configured to receive the data units from the channel-specific controllers, to add a channel identification number corresponding to the channel used to retrieve the data from the storage unit and the processor access sequence number that indicates the order in which the processor issued the access request to the tag, and to send the data units to the processor that issued the access request; and wherein the processors reassemble the retrieved data based on the processor access sequence numbers and the data sequence numbers found in the tags.