Patent Publication Number: US-6987773-B1

Title: Apparatus and method for transferring data

Description:
BACKGROUND OF THE INVENTION 
   1. Field of the Invention 
   The present invention relates to a data transfer apparatus which selects a specific channel from among a plurality of channels connected thereto and transfers data from a data processing apparatus to the selected channel, and a data transfer method. 
   2. Description of the Related Art 
   In most cases, a conventional data transfer apparatus which is connected to a plurality of channels to perform data transfer comprises an output buffer because the data reception speed of the channels is lower than the data output speed of a data processing apparatus, and output data to the respective channels is once held in the output buffer and thereafter transferred to a selected channel. The data transfer apparatus of this type cannot respond to a data output request to another channel, although the data processing apparatus itself is not in operation during a period of time between completion of transfer from the data processing apparatus to the output buffer and completion of transfer from the output buffer to the channel, with the result that the operation efficiency of the data processing apparatus is lowered. 
   As a conventional method of enhancing the operation efficiency of the data processing apparatus in such a data transfer apparatus, there has been such a method as disposing output buffers to the respective channels and starting data transfer to another channel as soon as transfer from the data processing apparatus to the output buffer is ended, thereby enhancing the operation efficiency of the data processing apparatus. 
   However, in such a method as disposing output buffers to the respective channels, it is necessary to prepare a considerably large-scale circuit in the case where there are a large number of channels. Moreover, a channel which does not need an output buffer by nature because the data reception speed thereof is high and a channel used with low frequency are also provided with output buffers, so that the circuit becomes less efficient for the scale thereof. 
   A method of enhancing the efficiency of data transfer to a multi-number of channels without such a large-scale increase of circuits is disclosed in Japanese Unexamined Patent Publication JP-A 5-28082 (1993). 
   The method disclosed in JP-A 5-28082 aims to reduce the scale of a circuit by classifying a plurality of data input channels into high-speed channels and low-speed channels and making an output buffer for the low-speed channels in common. 
   However, this method relates to a data input circuit and therefore cannot be applied as it is to a data transfer apparatus related to data output. Moreover, a buffer and a control circuit need to be designed in view of the properties of the respective channels, so-that the circuit becomes complex and less general-purpose. 
   SUMMARY OF THE INVENTION 
   An object of the present invention, which was made in order to solve the problems as mentioned above, is to provide a general-purpose data transfer apparatus which enhances the operation efficiency of a data processing apparatus without a large-scale increase of circuits and has the same interface with respect to respective channels. 
   The invention provides a data transfer apparatus which selects a specific channel among a plurality of channels connected thereto and transfers data from a data processing apparatus to the selected channel, the data transfer apparatus comprising:
         an output buffer to which data from the data processing apparatus is inputted;   a data selection circuit for transferring,   data which is inputted from the data processing apparatus through a first path with the output buffer intervention, to a first channel corresponding to the first path, and   data which is inputted from the data processing apparatus through a second path without the output buffer intervention, to a second channel corresponding to the second path, which second channel is different from the first channel; and   a transfer control circuit for carrying out data transfer control, in response to a data transfer request from the data processing apparatus, so that data from the data processing apparatus is transferred to the channels corresponding to the respective paths.       

   According to the invention, while transferring data to one channel via the output buffer, it is possible to transfer data to another channel directly, so that it is possible to perform data output to two channels and enhance the data processing efficiency. 
   Further, in the data transfer apparatus of the invention it is preferable that while data from the data processing apparatus is being transferred to the first channel by using the first path with the output buffer intervention, the transfer control circuit carries out data transfer control, in response to a request of data transfer without the output buffer intervention, from the data processing apparatus which has ended data input to the output buffer, so that data from the data processing apparatus is transferred to the second channel by using the second path without the output buffer intervention. 
   According to the invention, while data is being outputted from the output buffer to a channel, data output from the data processing apparatus to a channel is also performed, whereby the invention can enhance the operation efficiency of the data processing apparatus. 
   Furthermore, in the data transfer apparatus of the invention, it is preferable that when the first path with the output buffer intervention is not used, the transfer control circuit carries out data transfer control, in response to a request of data transfer without the output buffer intervention, from the data processing apparatus, so that data from the data processing apparatus is transferred to the second channel by using the second path without the output buffer intervention. 
   According to the invention, it is possible to increase the data transfer speed in the case where the output buffer is unnecessary. 
   Still further, the invention provides a data transfer method comprising selecting a specific channel among a plurality of channels and transferring data from a data processing apparatus to the selected channel, the data transfer method comprising:
         a data transfer request receiving step of receiving a data transfer request from the data processing apparatus; and   a data transfer step of, in response to a data-transfer-request received at the data transfer request receiving step, transferring data from the data processing apparatus to a first channel corresponding to a first path with an output buffer intervention or to a second channel corresponding to a second path without the output buffer intervention.       

   According to the invention, while transferring data to one channel via the output buffer, it is possible to transfer data to another channel directly, so that it is possible to perform data output to two channels and enhance the data processing efficiency. 
   Still further, in the data transfer method of the invention it is preferable that the data transferring method further comprises:
         a second data transfer request receiving step of receiving, while data from the data processing apparatus is being transferred to the first channel by using the first path with the output buffer intervention, a request of data transfer without the output buffer intervention, from the data processing apparatus which has ended data input to the output buffer;   a second data transfer step of transferring data from the data processing apparatus, in response to the data transfer request received at the second data transfer request receiving step, to the second channel by using the second path without the output buffer intervention.       

   According to the invention, while data is being outputted from the output buffer to a channel, data output from the data processing apparatus to a channel can be also performed, whereby the invention can enhance the operation efficiency of the data processing apparatus. 
   Furthermore, in the data transfer apparatus of the invention, it is preferable that the data transfer method further comprises a third data transfer request receiving step of receiving a request of data transfer without the output buffer intervention, from the data processing apparatus, when the first path with the output buffer intervention is not used; a third data transfer step of transferring, in response to the data transfer request received at the third data transfer request receiving step, data from the data processing apparatus to the second channel by using the second channel without the output buffer intervention. 
   According to the invention, it is possible to increase the data transfer speed in the case where the output buffer is unnecessary. 

   
     BRIEF DESCRIPTION OF THE DRAWINGS 
     Other and further objects, features, and advantages of the invention will be more explicit from the following detailed description taken with reference to the drawings wherein. 
       FIG. 1  is a block diagram showing an embodiment of a data transfer apparatus according to the present invention; and 
       FIG. 2  is a flow chart showing the operation of the data transfer apparatus according to the invention. 
   

   DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
   Now referring to the drawings, preferred embodiments of the invention are described below. 
     FIG. 1  is a block diagram showing a configuration of a data transfer apparatus of the embodiment. As shown in this diagram, the data transfer apparatus connects a data processing apparatus to a plurality of channels  1  to N and in response to a request, selects one of the plurality of channels  1  to N to transfer data from the data processing apparatus. 
   At first, the configuration of the data transfer apparatus will be illustrated. 
   As shown in  FIG. 1 , the data transfer apparatus  1  comprises an output buffer  1   a , a data selection circuit  1   b  and a transfer control circuit  1   c.    
   The output buffer  1   a  temporarily holds data processing apparatus output data i from the data processing apparatus  2  in accordance with an output buffer control signal g from the transfer control circuit  1   c  and thereafter performs output to the data selection circuit  1   b.    
   The data selection circuit  1   b  transmits output buffer output data j and the data processing apparatus output data i, respectively, to one of the channels  1  to N in accordance with a data selection circuit control signal h from the transfer control circuit  1   c.    
   The transfer control circuit  1   c  is a circuit which generates control signals for the output buffer  1   a , the data selection circuit  1   b  and the data processing apparatus  2  on the basis of data transfer request signals a corresponding to the respective channels, buffer use request signals b, channel priorities c, output buffer state notification signals d and data processing apparatus state notification signals e. 
   Here, the data transfer request signals a are signals which are prepared for the number of the channels in correspondence to the respective channels, as well as signals which request for data transfer from the data processing apparatus  2  to corresponding channels. In a like manner, the buffer use request signals b are prepared for the respective channels to show whether or not transfer requests of the channels are the ones that need the output buffer. The channel priorities c are signals which set the priorities for the respective channels to perform processing in the case where a plurality of transfer requests are made at one time. Further, the output buffer state notification signals d and the data processing apparatus state notification signals e are signals which show the present operation states of the output buffer  1   a  and the data processing apparatus  2 , respectively. 
   Subsequently, referring to  FIG. 2 , the operation of the data transfer apparatus will be illustrated. 
     FIG. 2  is a flow chart showing the operation of the data transfer apparatus. As shown in this flow chart, when a data transfer request is inputted into the data transfer apparatus (S 1 ), the transfer control circuit  1   c  judges whether unprocessed transfer requests exist or not (S 2 ). In the case where unprocessed transfer requests do not exist, the operation goes back to S 1 . 
   In the case where unprocessed data transfer requests exist, it is judged whether the data processing apparatus  2  is in operation or not (S 3 ). In the case where the data processing apparatus  2  is in operation, the data output circuit cannot respond to a new transfer request, so that the operation goes back to S 2 . 
   In the case where the data processing apparatus  2  is not in operation, it is judged whether the output buffer  1   a  is in operation or not (S 4 ). In the case where the output buffer  1   a  is not in operation, data transfer is not performed at the moment, so that a channel of the highest priority is selected from among channels corresponding to unprocessed data transfer requests to start data transfer from the data processing apparatus  2  to the selected channel (S 5 ), and the operation goes back to S 2 . At this moment, on the basis of the buffer use request signal b corresponding to the selected channel, it is selected whether to use a first path A via the output buffer  1   a  or a second path B without the output buffer intervention  1   a  and the operations of the output buffer  1   a  and the data selection circuit  1   b  are controlled. 
   In the case where the output buffer  1   a  is in operation, it is apparent that although transfer from the data processing apparatus to the output buffer  1   a  is ended and the data processing apparatus  2  itself is not in operation, data transfer from the output buffer  1   a  to a channel has not been completed yet. Therefore, it is subsequently judged whether or not transfer requests which do not need the output buffer  1   a  exist among the unprocessed transfer requests (S 6 ). In the case where transfer requests which do not need the output buffer  1   a  do not exist, the operation goes back to S 2  in this state. 
   In the case where transfer requests which do not need the output buffer  1   a  exist, a channel of the highest priority is selected from among the channels corresponding to the transfer requests to start data transfer from the data processing apparatus  2  to the channel by using the second path B without the output buffer intervention  1   a  (S 7 ), and the operation goes back to S 2 . 
   As illustrated above, with the data transfer apparatus  1 , in the case where the data processing apparatus  2  is not in operation, even when the output buffer  1   a  is being used, a transferred channel is selected from among channels corresponding to transfer requests which do not need the output buffer  1   a , and data transfer is started, whereby the operation efficiency of the data processing apparatus  2  can be enhanced. 
   Further, the data output circuit  1  can be implemented only by adding a bypath and a control circuit without disposing another output buffer  1   a , so that the operation efficiency of the data processing apparatus  2  can be enhanced with minimum increase of circuits. 
   Here, the data transfer request signals a, the buffer use request signals b and the channel priorities c shown in the embodiment may be inputted, respectively, from the side of the channels or from the side of the data processing apparatus  2 . In the case of inputting from the side of the channels, the apparatus can operate as a slave-type data output circuit, whereas in the case of inputting from the data processing apparatus  2 , the circuit can operate as a master-type data output circuit. 
   The invention may be embodied in other specific forms without departing from the spirit or essential characteristics thereof. The present embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims rather than by the foregoing description and all changes which come within the meaning and the range of equivalency of the claims are therefore intended to be embraced therein.