System to improve data packet routing in a data processing device and associated methods
Abstract
A system to improve data packet routing in a data processing device may include a plurality of functional modules, and communication buses connecting the functional modules. The system may also include a flow control mechanism in which command packets that traverse the communication buses are each assigned their own channel with their own pool of credits. The system may further include a switch to route data packets on the communication buses from one of the functional modules to any other of the functional modules based upon the credits. In addition, any of the functional modules without credits to send the data packets on a particular channel may send a message to have the switch perform a route test.
Claims
exact text as granted — not AI-modified1 . A system to improve data packet routing in a data processing device, the system comprising:
a plurality of functional modules; communication buses connecting said plurality of functional modules; a flow control mechanism in which command packets that traverse said communication buses are each assigned their own channel with their own pool of credits; and a switch to route data packets on said communication buses from one of said plurality of functional modules to any other of said plurality of functional modules based upon the credits; wherein any of said plurality of functional modules without credits to send data packets on a particular channel can send a message to said switch to perform a route test.
2 . The system of claim 1 wherein said switch returns an availability indicator based upon the route test.
3 . The system of claim 2 wherein any of said plurality of functional modules without credits to send the data packets can send the data packets on a different channel before said switch returns the availability indicator.
4 . The system of claim 2 wherein any of said plurality of functional modules without credits to send the data packets can send the data packets on the particular channel if a credit for the particular channel becomes available before said switch returns the availability indicator.
5 . The system of claim 2 wherein any of said plurality of functional modules without credits to send the data packets returns to normal operation if the data packets have not been sent and the availability indicator shows the particular channel is blocked.
6 . The system of claim 2 wherein any of said plurality of functional modules without credits to send the data packets sends the data packets if the data packets have not been sent and the availability indicator shows the particular channel is unblocked.
7 . The system of claim 1 wherein said communication buses each comprise an application-specific integrated circuit interconnect bus.
8 . The system of claim 1 wherein each of said plurality of functional modules comprises at least one of an electronic logic circuit and an electronic storage.
9 . A method to improve data packet routing in a data processing device, the method comprising:
connecting a plurality of functional modules via communication buses; assigning each command packet that traverses the communication buses its own channel with its own pool of credits; routing data packets on the communication buses from one of the plurality of functional modules to any other of the plurality of functional modules based upon the credits; and requesting a route test by any of the plurality of functional modules without credits to send the data packets on a particular channel.
10 . The method of claim 9 wherein the route test determines an availability indicator.
11 . The method of claim 10 wherein any of the plurality of functional modules without credits to send the data packets can send the data packets on a different channel before the availability indicator is determined.
12 . The method of claim 10 wherein any of the plurality of functional modules without credits to send the data packets can send the data packets on the particular channel if a credit for the particular channel becomes available before the availability indicator is determined.
13 . The method of claim 10 wherein any of the plurality of functional modules without credits to send the data packets returns to normal operation if the data packets have not been sent and the availability indicator shows the particular channel as being blocked.
14 . The method of claim 10 wherein any of the plurality of functional modules without credits to send the data packets sends the data packets if the data packets have not been sent and the availability indicator shows the particular channel as being unblocked.
15 . A computer program product embodied in a tangible media comprising:
computer readable program codes coupled to the tangible media to improve data packet routing in a data processing device, the computer readable program codes configured to cause the program to: connect a plurality of functional modules via communication buses; assign each command packet that traverses the communication buses its own channel with its own pool of credits; routing data packets on the communication buses from one of the plurality of functional modules to any other of the plurality of functional modules based upon the credits; and requesting a route test by any of the plurality of functional modules without credits to send the data packets on a particular channel.
16 . The computer program product of claim 15 further comprising program code configured to: determine an availability indicator from the route test.
17 . The computer program product of claim 16 further comprising program code configured to: send the data packets on a different channel before the availability indicator is determined for any of the plurality of functional modules without credits to send the data packets.
18 . The computer program product of claim 16 further comprising program code configured to: send the data packets on the particular channel if a credit for the particular channel becomes available before the availability indicator is determined for any of the plurality of functional modules without credits to send the data packets.
19 . The computer program product of claim 16 further comprising program code configured to: return to normal operation if the data packets have not been sent and the availability indicator shows the particular channel as being blocked for any of the plurality of functional modules without credits to send the data packets.
20 . The computer program product of claim 16 further comprising program code configured to: send the data packets if the data packets have not been sent and the availability indicator shows the particular channel as being unblocked for any of the plurality of functional modules without credits to send the data packets.Join the waitlist — get patent alerts
Track US2009213735A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.