Patent ID: 8811153

Claim:
A network device, comprising: a switch fabric comprising a primary fabric, an auxiliary fabric, and a controller, the auxiliary fabric including an input memory bus, an output memory bus, and a memory bank; an aggregator; and a distributor, wherein the primary fabric and the auxiliary fabric are operable to transfer data units from the distributor to the aggregator, wherein the primary fabric and the auxiliary fabric have separate switching devices for transferring the data units, wherein the distributor is configured to: obtain a first data unit from an input port; send the first data unit to the aggregator through the primary fabric, wherein the primary fabric transmits the first data unit through a first data path; determine if the primary fabric is congested; send, if the primary fabric is congested, a request to the controller to establish a second data path through the auxiliary fabric, wherein establishing the second data path includes: designating a memory location in the memory bank; creating a first mapping between the input port and the memory location; and creating a second mapping between an output port and the memory location; identify the memory location using the first mapping; transmit a second data unit over the input memory bus to the memory location, the memory bank configured to store the second data unit; and send the second data unit to the aggregator through the auxiliary fabric when the second data path is established; wherein the controller is configured to establish, in response to the request, the second data path in the auxiliary fabric; and wherein the aggregator is further configured to: obtain, using the output memory bus, the second data unit from the memory location; identify the output port corresponding to the memory location using the second mapping; and provide the first data unit and the second data unit to the output port.