Patent ID: 6904474

Claim:
A method of data transfer between a source port and a destination port of a transfer controller with plural ports, said method comprising the steps of: in response to a data transfer request, querying said destination port to determine if said destination port is capable of receiving data of a predetermined size; if said destination port is not capable of receiving data of said predetermined size, waiting by not reading data of said predetermined size from said source port corresponding to said data transfer request, not storing data read from said source port in intermediate buffers and not transferring data to said destination port thereby not blocking reading data from said source port until said destination port is capable of receiving data; if said destination port is capable of receiving data of said predetermined size, reading data of said predetermined size from said source port and transferring said read data to said destination port; and while waiting until said destination port is capable of receiving data determining if a second data transfer request is pending between said source port and a second destination port, and if a second data transfer request is pending querying said second destination port to determine if said second destination port is capable of receiving data of said predetermined size, if said second destination port is not capable of receiving data of said predetermined size, waiting by not reading data of said predetermined size from said source port corresponding to said second data transfer request, not storing data read from said source port in intermediate buffers and not transferring data to said second destination port thereby not blocking reading data from said source port until said second destination port is capable of receiving data, and if said second destination port is capable of receiving data of said predetermined size, reading data of said predetermined size from said source port and transferring said read data to said second destination port.