主权项 |
1. A method for switching data, based on a structure for switching data, wherein the structure for switching data comprises input ports, output ports, and a switch chip, and the input ports and the output ports are respectively connected to the switch chip; the input ports comprise Fabric Interface Controllers (FICs); the output ports comprise output port schedulers, and the output port schedulers correspond to the output ports; the switch chip comprises input port data channels and output port data channels, the input port data channels and the output port data channels are vertically and horizontally connected through cross-points, the input port data channels correspond to the input ports one by one, and the output port data channels correspond to the output ports; and the switch chip further comprises output port buffers, the output port buffers correspond to the output ports, and the output port scheduler performs data scheduling for the output port buffers corresponding to the output ports, and the method for switching data comprises:
obtaining, by the output port scheduler, state information of Empty or Non-empty of Virtual Output Queues (VOQs) of the input ports, available state information of Busy or Ready of the input port data channels, and available state information of Busy or Ready of the output port buffers; if non-empty VOQs pointing to the output port exist in the input ports, meanwhile, input port data channels corresponding to the input ports are ready, and a ready output port buffer exists in the output port buffers corresponding to the output port, selecting, by the output port scheduler, one of the input ports and sending scheduling request information to the FIC of the input port, wherein the scheduling request information comprises scheduling the non-empty VOQ into the ready output port buffer; after receiving the scheduling request information sent by the output port schedulers, selecting to respond, by the FIC of the selected input port, to a scheduling request of one output port scheduler and sending the VOQ pointing to the output port in the selected input port to the output port buffer; if the scheduling request information is not selected by the FIC of the selected input port, the output port scheduler continues to send the scheduling request information to the FIC of another input port whose input port data channel is ready in the input ports corresponding to the non-empty VOQs pointing to the output port; and scheduling, by the output port scheduler, the VOQ received by the output port buffer out of the switch chip.
|