Data transferring system comprising an input-output channel unit capable of predicting an overrun in a data processing device

Abstract: On transferring transfer data between a peripheral controller (11) and an input-output channel unit (12), an overrun predicting circuit (45) of the input-output channel unit predicts occurrence of an overrun with reference to an amount of transfer data memorized in a buffer memory (39) and produces an overrun prediction signal (46). The overrun prediction signal is delivered to the peripheral controller by the use of a start informing acknowledgement signal line (15) which is used in transferring a start informing acknowledgement signal from the input-output channel unit to the peripheral controller before the transfer data is transferred between the peripheral controller and the input-output channel unit. Responsive to the overrun prediction signal, a strobe inhibiting circuit (21) of the peripheral controller inhibits delivery of a strobe pulse signal from the peripheral controller to the input-output channel unit during a predetermined time interval.

Description: This invention relates to a data transferring system or use in carrying out data transfer in a streaming manner between a peripheral controller and an input-output channel unit in a data processing device. The IBM Technical disclosure bulletin, vol.24, no.4, September 1981, New York, US, pages 1850-1851, Capowski et al "Fast Transmission of Data with Quick 'Overrun' Recovery" describes a data transmission system in which data blocks are sent contiguously in time and implicitly accepted by a receiver so long as the latter has sufficient buffer capacity. When a buffer shortage occurs, the receiver rejects further incoming data and returns a "suspend and retry" indication which dynamically conditions the sender to retransmit the unaccepted data when the shortage ends. At such times the receiver is adapted to ignore any "in-transit" data which may arrive between the time of its suspend and retry signal and the arrival of the retransmitted data. A data processing device of the type described, comprises an interface between the peripheral controller and the input-output channel. The interface comprises a data line, a start informing signal line (namely, an SCI line), a start informing acknowledgement signal line (that is, an SEO line), a strobe pulse signal line (or, an STI line), and a strobe pulse acknowledgement signal line (namely, an STO line). The peripheral controller comprises a control circuit which comprises a strobe pulse signal generator for producing a strobe pulse signal to deliver the strobe pulse signal to the strobe pulse signal line. The control circuit further comprises a signal producer for producing, during a preselected time interval, a start code signal having a start code representative of a start of the data transfer. The signal producer produces a start informing signal of logic "1" level during production of the start code signal. The start informing signal is for use in informing the input-output channel unit of production of the start code signal. The signal producer delivers the start informing signal to the start informing signal line. Connected to the signal producer and the data line, a first buffer memory periodically memorizes the start code signal as a memorized code signal at a first period which is determined by a strobe pulse acknowledgement signal. The first buffer memory delivers the first memorized code signal to the data line. The input-output channel unit comprises a first receiver connected to the start informing signal line for receiving the start informing signal as a received informing signal. Connected to the first receiver and the start informing acknowledgement signal line, a first transmitter transmits the received informing signal to the start informing acknowledgement signal line as a start informing acknowledgement signal to deliver the start informing acknowledgement signal to the control circuit. A register is connected to the data line and the first receiver. Enabled by the received informing signal, the register registers the memorized code signal as a registered code signal. Connected to the strobe pulse signal line, a second receiver receives the strobe pulse signal as a received pulse signal. A second transmitter is connected to the second receiver and the strobe pulse acknowledgement signal line to transmit the received pulse signal to the strobe pulse acknowledgement signal line. A second buffer memory is connected to the data line and to a main memory. The first and the second buffer memory are for use in transmitting transfer data between the main memory and a peripheral device connected to the second buffer memory through the data line under control of the strobe pulse signal and the strobe pulse acknowledgement signal after transfer of the start code signal. In the data transferring system which carries out the data transfer in a streaming method, each of the strobe pulse line and the strobe pulse acknowledgement line is not put into an interlock state when the transfer data are transferred between the peripheral controller and the input-output channel unit. Therefore, when an overrun detecting circuit detects an overrun in the input-output channel unit, the input-output channel unit stops delivery cf the strobe pulse acknowledgement signal to the strobe pulse acknowledgement signal line. The input-output channel unit further informs the peripheral controller of occurrence of the overrun. When the peripheral controller is informed that the overrun occurs in the input-output channel unit, the peripheral controller carries out a command retry processing in which a leading part of a transfer command memorized in the main memory is again transferred from the main memory to the peripheral controller. The overrun mainly occurs in the input-output channel unit due to shortage of a memory capacity of the second buffer memory when access contention takes place between the input-output channel unit and other input-output channel units for the main memory. Therefore, the input-output channel unit may again start accessing for the main memory when a predetermined time interval lapses after occurrence of the contention. Inasmuch as the data transfer is suspended or stopped by stopping delivery of the strobe pulse acknowledgement signal from the input-output channel unit to the strobe pulse acknowledgement signal line when the overrun occurs, the command retry processing which needs a long time should be carried out. When a small amount of the transfer data is transferred between the input-output channel unit and the peripheral controller, the data processing device is almost not influenced. When the transfer data has a long length, the data processing device is influenced in the following manner. It will be assumed that the transfer data has an 8 MB (megabit) length and that the transfer data is transferred at an effective transmission rate which is equal to 3 MB per second. In this case, it is necessary in general to finish the data transfer at a time interval which is equal to 8/3 seconds. However, it is necessary in a worst case to finish the data transfer at another time interval of 16/3 seconds. Inasmuch as a long time is waisted in the worst case, the data processing system may be put into a system down state. In order to inhibit the system down state of the data processing device, the data processing device may be provided with a specific signal transmission line between the input-output channel unit and the peripheral controller. Such provision of the specific transmission line results in an increase of hardware of the data processing device. Summary of the Invention: It is therefore an object of this invention to provide a data transferring system which is capable of preventing an overrun which occurs in an input-output channel unit. It is another object of this invention to provide a data transferring system of the type described, which comprises the input-output channel unit capable of predicting the overrun in order to prevent the overrun. It is still another object of this invention to provide data transferring system of the type described, which has a decreased hardware. Other objects of this invention will become clear as the description proceeds. These objects are solved with the features of the claims. Fig. 1 is a block diagram of a data processing device comprising a data transferring system according to an embodiment of this invention; and Fig. 2 is a block diagram of a strobe inhibiting circuit of the data processing device illustrated in Fig. 1. Description of the Preferred Embodiment: Referring to Fig. 1, a data transferring system 10 according to a preferred embodiment of this invention is for use in carrying out data transfer between a peripheral controller 11 and an input-output channel unit 12 in a data processing device. Between the peripheral controller 11 and the input-output channel unit 12, the data processing device comprises a data line 13, a start informing signal line 14, a start informing acknowledgement signal line 15, a strobe pulse signal line 16, and a strobe pulse acknowledgement signal line 17. The start informing signal line 14, the start informing acknowledgement signal line 15, the strobe pulse signal line 16, and the strobe pulse acknowledgement signal line 17 are called in the art an SCI line, an SEO line, an STI line, and an STO line, respectively. The peripheral controller 11 comprises a control circuit 18 comprising a strobe pulse signal generator 19 for producing a strobe pulse signal 20 to deliver the strobe pulse signal 20 to the strobe pulse signal line 16 through a strobe inhibiting circuit 21 and a strobe pulse signal driver 22. The strobe inhibiting circuit 21 will later be described. The control circuit 18 further comprises a signal producer 23 for producing, during a preselected time interval, a start code signal 24 having a start code representative of a start of the data transfer. The signal producer 23 produces a start informing signal 25 of logic "1" level during production of the start code signal 24. The start informing signal 25 is used for use in informing the input-output channel unit 12 of production of the start code signal 24. The signal producer 23 delivers the start informing signal 25 to the start informing signal line 14 through a start informing signal driver 26. Connected to the signal producer 23 and the data line 13, a first buffer memory 27 periodically memorizes the start code signal as a first memorized code signal at a first period which is determined by a strobe pulse acknowledgement signal 28. The first buffer memory 27 delivers the first memorized code signal to the data line 13 through a data driver 29. The input-output channel unit 12 comprises a first receiver 30 connected to the start informing signal line 14. The first receiver 30 receives the start informing signal 25 as a received informing signal. Connected to the first receiver 30 through an OR circuit 31 and to the start informing acknowledgement signal line 15, a first transmitter or driver 32 transmits the received informing signal to the start informing acknowledgement signal line 15 as a start informing acknowledgement signal to deliver the start informing acknowledgement signal to the control circuit 18 through a start informing acknowledgement signal receiver 33. A register 34 is connected to the data line 13 through a data receiver 35 and to the first receiver 30. Enabled by the start informing signal 25, the register 34 registers the first memorized code signal as a registered code signal. Connected to the strobe pulse signal line 16, a second receiver 36 receives the strobe pulse signal 20 as a received pulse signal. A second transmitter or driver 37 is connected to the second receiver 36 and the strobe pulse acknowledgement signal line 17. The second transmitter 37 transmits the received pulse signal to the strobe pulse acknowledgement signal line 17. A strobe pulse acknowledgement signal receiver 38 receives the received pulse acknowledgement signal as the strobe pulse acknowledgement signal 28. The input-output channel unit 12 further comprises a second buffer memory 39 connected to a main memory 40 and to the data line 13 through the data receiver 35. The second buffer memory 39 is connected through another data transmitter or driver 41 to the data line 13 which is connected to the first buffer memory 27 through another data receiver 42. An inhibit gate circuit 43 is connected to the first and the second receivers 30 and 36. The inhibit gate circuit 43 inhibits delivery of the received pulse signal to the second buffer memory 39 when receiving the received informing signal of logic "1" level from the first receiver 30. When the received informing signal becomes to have a logic "0" level after the first memorized code signal is registered in the register 34, the inhibit gate circuit 43 delivers to the second buffer memory 39 the received pulse signal delivered from the second receiver 36. The strobe inhibiting circuit 21 is connected to the signal producer 23 and the start informing acknowledgement signal receiver 33. On transmitting the start code signal 24 from the peripheral controller 11 to the input-output channel unit 12 through the data line 13, the strobe inhibiting circuit 21 receives the start informing signal of logic "1" level and the start informing acknowledgement signal of logic "1" level. On reception of the start informing signal of logic "1" level and the start informing acknowledgement signal of logic "1" level, the strobe inhibiting circuit 21 never inhibits delivery of the strobe pulse signal 20 to the strobe pulse signal line 16 in the manner which become clear as the description proceeds. When such transferring operation of the start code signal 24 comes to an end, each of the start informing signal line 14 and the start informing acknowledgement signal line 15 becomes to have a logic "0" level. In this case, the strobe inhibiting circuit 21 also never inhibits delivery of the strobe pulse signal 20 to the strobe pulse signal line 16 in the manner which will later become clear. As a result, it is possible to carry out the data transfer between the input-output channel unit 12 and the peripheral controller 11 in the following manner. The first buffer memory 27 is connected to a peripheral device 44. The first and the second buffer memories 27 and 39 are for use in transferring transfer data between the main memory 40 and the peripheral device 44 through the data line 13 after the register 34 registers the memorized code signal. The first and the second buffer memories 27 and 39 are for memorizing the transfer data as first and the second memorized data at the first period and a second period determined by the received pulse signal. Connected to the second buffer memory 39, an overrun predicting circuit 45 predicts occurrence of an overrun with reference to an amount of the second memorized data to produce an overrun prediction signal 46 of logic "1" level. More specifically, the overrun predicting circuit 45 produces the overrun prediction signal 46 when the amount of the second memorized data is increased up to an upper threshold amount and when the amount of the second memorized data is reduced to a lower threshold amount which is lower than the upper threshold amount. Each of the upper and the lower threshold amounts is decided in consideration of an amount of the transferred data carried on the data line 13. The overrun prediction signal 46 of logic "1" level is delivered to the strobe inhibiting circuit 21 through the OR circuit 31, the first transmitter 32, the start informing acknowledgement signal line 15, and the receiver 33. Responsive to the overrun prediction signal 46 of logic "1" level, the strobe inhibiting circuit 21 inhibits delivery of the strobe pulse signal to the strobe pulse signal line 16 during a predetermined time interval which is described in the preamble of the instant specification. Referring to Fig. 2, the strobe inhibiting circuit 21 comprises a delay circuit 47 connected to the receiver 33. The delay circuit 47 delays the overrun prediction signal 46 (Fig. 1) by a delay equal to the predetermined time interval to produce a delayed prediction signal of logic "1" level. Responsive to an inverted signal of the delayed prediction signal, the overrun prediction signal 46, and an inverted signal of a logic "0" level signal, an NAND circuit 48 produces an NANDed signal. Responsive to the NANDed signal and the strobe pulse signal 20, an AND circuit 49 produces an ANDed signal. With this structure, the strobe inhibiting circuit 21 inhibits delivery of the strobe pulse signal 20 to the strobe pulse signal line 16 in response to the overrun prediction signal 46.

Claims: A data transferring system (10) for use in carrying out data transfer between a peripheral controller (11) and an input-output channel unit (12) in a data processing device comprising a data line (13), a start informing signal line (14), a start informing acknowledgement signal line (15), a strobe pulse signal line (16), and a strobe pulse acknowledgement signal line (17), said peripheral controller (11) comprising: strobe pulse signal generating means (19) for producing a strobe pulse signal (20) and for delivering said strobe pulse signal (20) to said strobe pulse signal line (16); signal producing means (23) for producing, during a preselected time interval, a start code signal (24) having a start code representative of a start of said data transfer and for producing, during production of said start code signal (24), a start informing signal (25) for use in informing said input-output channel unit (12) of production of said start code signal (24), said signal producing means (23) being for delivering said start informing signal (25) to said start informing signal line (14); and first memorizing means (27) connected to said signal producing means (23) and said data line (13) for periodically memorizing said start code signal (24) as a memorized code signal at a first period determined by a strobe pulse acknowledgement signal (28) and for delivering said memorized code signal to said data line (13); said input-output channel unit (12) comprising: first receiving means (30) connected to said start informing signal line (14) for receiving said start informing signal (25) as a received informing signal; first transmitting means (31, 32) connected to said first receiving means (30) and said start informing acknowledgement signal line (15) for transmitting said received informing signal to said start informing acknowledgement signal line (15) as a start informing acknowledgement signal; registering means (34) connected to said data line (13) and said first receiving means (30) and enabled by said received informing signal for registering said memorized code signal as a registered code signal; second receiving means (36) connected to said strobe pulse signal line (16) for receiving said strobe pulse signal as a received pulse signal; second transmitting means (37) connected to said second receiving means (36) and said strobe pulse acknowledgement signal line (15) for transmitting said received pulse signal to said strobe pulse acknowledgement signal line (15) as said strobe pulse acknowledgement signal; and second memorizing means (39) connected to said data line (13), said second receiving means (36), and a main memory (40); said first memorizing means (27) being connected to a peripheral device (44); said first and said second memorizing means (27, 39) being for use in transferring transfer data between said main memory (40) and said peripheral device (44) through said data line (13) after said registering means (34) registers said memorized code signal, said first and said second memorizing means (27, 39) being for memorizing said transfer data as first and second memorized data at said first period and a second period determined by said received pulse signal; characterized in that said input-output channel unit (12) comprises: overrun predicting means (45) connected to said second memorizing means (39) for predicting occurrence of an overrun on the basis of an amount of said second memorized data to produce an overrun prediction signal (46) ; said first transmitting means (31, 32) being connected to said overrun predicting means (45) for transmitting said overrun prediction signal to said start informing acknowledgement signal line (15); said peripheral controller (11) comprising: strobe inhibiting means (21) connected to said start informing acknowledgement signal line (15), said strobe pulse signal generating means (19), and said strobe pulse signal line (16) and responsive to said overrun prediction signal (46) for inhibiting delivery of said strobe pulse signal to said strobe pulse signal line (16) during a predetermined time interval. A data transferring system (10) according to claim 1, wherein said strobe inhibiting means (21) comprises a delay circuit (47), a NAND circuit (48) and an AND circuit (49), wherein said delay circuit (47) receives an input signal from said start informing acknowledgement signal line (15) and supplies an output signal to said NAND circuit (48), said NAND circuit (48) further receives an input signal from said start informing acknowledgement signal line (15), and an input signal from said signal producing means (23), and supplies an output signal to said AND circuit (49) and wherein said AND circuit (49) further receives an input signal from said strobe pulse signal generating means (19) and supplies an output signal to said strobe pulse signal line (16).

Inventors: OYADOMARI HAJIME, OYADOMARI, HAJIME, OYADOMARI, HAJIME, C/O NEC CORPORATION
Applicants: NIPPON ELECTRIC CO, NEC CORPORATION
Application year: 1990
Main classification: G06F13
IPC codes: G06F13