Systems and methods optimizing data transfer throughput of a system on chip
AssigneeAdaptec, Inc.
InventorsZhong-Hua Li, Chakradhara Raj Yadav Aradhyula, Srikanthan Tirumala, Prasad Kuncham
Life of this patent
Estimating the term…
Loading patent…
AssigneeAdaptec, Inc.
InventorsZhong-Hua Li, Chakradhara Raj Yadav Aradhyula, Srikanthan Tirumala, Prasad Kuncham
Estimating the term…
A method for facilitating transfer of data between a master block and a slave block through a bus. The method includes ascertaining a transfer size of the data. The method also includes designating a first possible transfer size in a set of possible transfer sizes a chosen transfer size, the set of possible transfer sizes including possible transfer sizes ranging from 20 to 2n, where 2n at least equals to the largest transfer size desired between the master block and the slave block, the first possible transfer size presenting the largest possible transfer size in the set of possible transfer sizes that is less than or equal to the transfer size. The method additionally includes transferring a first data portion of the data from the master block to the slave block, the first data portion having a size that is equal to the chosen transfer size. The method also includes setting the transfer size to be equal to the transfer size less the chosen transfer size and repeating said designating and transferring said first data portion if the chosen transfer size is less than the transfer size.
A method for facilitating transfer of data between a master block and a slave block through a bus, comprising:
2 The method of claim 1 wherein a combination of burst size and number of bursts involved in said transferring said first data portion is selected in a manner that minimizes a number of bursts required to accomplish said transferring said first data portion.
The method of claim 2 wherein said chosen transfer size is selected using a bisection optimization technique.
The method of claim 2 wherein said chosen transfer size is selected using a binary multiplexer tree.
An apparatus for ascertaining a chosen transfer size for facilitating data transfer of data between a master block and slave block through a computer bus, comprising a plurality of multiplexers disposed as nodes in a binary tree arrangement, leaf nodes of said binary multiplexer tree being configured to receive as inputs possible transfer sizes ranging from 20 to 2n, where 2n at least equals to the largest transfer size desired between said master block and said slave block, a root node of said binary multiplexer tree being configured to output said chosen transfer size, a leaf node of said leaf nodes being configured to receive two consecutive ones of said possible transfer sizes and configured to compare a value received at its control terminal against a larger one of said two consecutive ones, said leaf node being configured to output said larger one of said two consecutive ones if said value received is at least equal to said larger one of said two consecutive ones, said leaf node being configured to output a smaller one of said two consecutive ones if said value received is less then said larger one of said two consecutive ones, wherein said value is received at control terminals at each of said plurality of multiplexers, said value representing a size of said data.
Dependencies are inferred from the claim text.