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.