The present invention relates to technologies by which to transfer data to memories, and it particularly relates to a technology by which to transfer data to the memory having a plurality of banks.
Along with recent years' marked advance of computer graphics technology and image processing technology, which are used in the areas of computer games, digital broadcasting and the like, there is demand for information processing apparatuses, such as computers, game machines and televisions, to have the capacity to process image data of higher definition at higher speed. To meet such demand, it goes without saying that it is necessary to realize high speed of arithmetic processing itself, but it is just as important to efficiently execute memory access of arithmetic operation results or data for arithmetic operation.
There is a technology called “memory interleaving” as a method for executing memory access efficiently. As a prerequisite of a memory interleave system, memory is provided with a plurality of banks, which are the units controlled by a memory controller. Normally, when an access is made to a bank, a latency takes place after the access time, in which a read or write is done actually, before the next access becomes possible. This delay time occurs on account of the precharge characteristic of DRAM (Dynamic Random Access Memory) or such other restriction.
A memory interleave system, in which access to a next bank is started during the latency of a bank, has the merit of reduced effect of delay time and the resulting higher-speed of memory access.
However, even with a conventional memory interleave system, there may occur a concentration of access requests on a specific bank. In such a case, the processing performance of an information processing apparatus as a whole may drop under the influence of the delay time of the bank on which access requests have concentrated.