Patent ID: 8284792

Claim:
A system comprising: a physical transmission circuit configured to couple to a plurality of lanes and to transmit and receive on the plurality of lanes, wherein each lane supports serial communication during use; a peripheral interface controller coupled to the physical transmission circuit, wherein the peripheral interface controller is programmable during use to implement a plurality of peripheral interface ports over the plurality of lanes, each port of the plurality of interface ports having a width which is a number of the plurality of lanes over which that port is configured, and wherein the peripheral interface controller supports a plurality of port widths up to a maximum port width, wherein the maximum port width is a largest port width of the plurality of port widths, and wherein a maximum bandwidth unit is an amount of data equal to the maximum port width, and wherein the peripheral interface controller is coupled to receive packets to be transmitted on peripheral interface ports, and wherein the peripheral interface unit comprises a queue configured to store the packets to be transmitted and a first transmit pipe coupled to the queue, wherein the first transmit pipe is configured to process packet data for transmission to the physical transmission circuit, and wherein the first transmit pipe comprises a plurality of stages, and wherein each of the plurality of stages is configured to process a maximum bandwidth unit per clock cycle, and wherein the peripheral interface controller is configured to transmit a maximum bandwidth unit into the first transmit pipe even in the case that a first port on which the maximum bandwidth unit is to be transmitted has a first width that is less than the maximum width, and wherein the peripheral interconnect controller further comprises a scheduling calendar for the first transmit pipe, wherein the peripheral interconnect controller is configured to schedule maximum bandwidth units for the plurality of ports responsive to the scheduling calendar, and wherein the peripheral interface controller comprises a second transmit pipe, wherein the peripheral interface controller is further programmable during use to implement a second plurality of peripheral interface ports over the plurality of lanes, and wherein the queue is further configured to store packets to be transmitted on the second plurality of ports, and wherein the peripheral interface controller is configured to transmit maximum bandwidth units to be communicated on the second plurality of ports to the second transmit pipe, and wherein the second transmit pipe comprises a plurality of stages configured to process the maximum bandwidth unit per clock cycle, and wherein the scheduling calendar includes independent calendars for each of the transmit pipe and the second transmit pipe, wherein the scheduling calendar comprises a number of calendar slots equal to a ratio between a largest possible port width and a smallest possible port width for each respective transmit pipe.