WO2005060185A1 - データ転送装置、セル多重化装置およびセルスイッチ - Google Patents

データ転送装置、セル多重化装置およびセルスイッチ Download PDF

Info

Publication number
WO2005060185A1
WO2005060185A1 PCT/JP2003/016177 JP0316177W WO2005060185A1 WO 2005060185 A1 WO2005060185 A1 WO 2005060185A1 JP 0316177 W JP0316177 W JP 0316177W WO 2005060185 A1 WO2005060185 A1 WO 2005060185A1
Authority
WO
WIPO (PCT)
Prior art keywords
queue
arbitration
length
cell
output
Prior art date
Application number
PCT/JP2003/016177
Other languages
English (en)
French (fr)
Inventor
Hirotoshi Yamada
Shinji Furuya
Original Assignee
Mitsubishi Denki Kabushiki Kaisha
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Denki Kabushiki Kaisha filed Critical Mitsubishi Denki Kabushiki Kaisha
Priority to PCT/JP2003/016177 priority Critical patent/WO2005060185A1/ja
Publication of WO2005060185A1 publication Critical patent/WO2005060185A1/ja

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • H04L49/9063Intermediate storage in different physical parts of a node or terminal
    • H04L49/9078Intermediate storage in different physical parts of a node or terminal using an external memory or storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5672Multiplexing, e.g. coding, scrambling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Definitions

  • the present invention relates to a data transfer apparatus for arbitrating the output of ⁇ queues and transferring data, and more particularly, for transferring intermittently input fixed-length data.
  • the present invention relates to an input buffer type cell multiplexer and a cell switch.
  • Patent Document 1 includes a plurality of buffers for temporarily storing packets of variable length coming from a plurality of input lines, and a read control unit for controlling reading of buckets from the plurality of buffers. And a virtual queue unit that simulates contention control according to the packet accumulation status of multiple buffers, and selectively reads out packets from multiple buffers and outputs them to the line according to the simulation results of the virtual queue unit.
  • a technology of a conflict control device Specifically, instead of deciding which buffer to send next when a bucket is being sent from the actual buffer, the virtual queue unit executes a simulation at a fixed period and sends the packet to the actual buffer. Is generated prior to the actual bucket reading, and recorded and stored in chronological order.
  • the read control unit reads the packet from one of the plurality of buffers according to the accumulated transmission permission. That is, by performing a simulation at a fixed cycle, a transmission permission is generated prior to the period of bucket transmission with a relatively long bucket length, and the read time L / C (L is the packet length, C is the read rotation Even if the speed is shorter than the time required for contention control, the throughput is improved without leaving the output line idle.
  • the prior art described in Patent Document 2 includes an input buffer that has a FIFO (First In First Out) for an output line and temporarily stores cells input from the input line, and a read buffer from the input buffer.
  • FIFO First In First Out
  • a crossbar switch for exchanging the output cells, and a scheduler for providing a crossbar intersection ONZO FF control signal to the crossbar switch, and a scheduler provided to the FIFO in the input buffer.
  • An ATM (Asynchronous Transfer Mode) switching technology that determines which cell is transferred from which FIFO to which output line based on the priority level is disclosed.
  • the sub arbiter in the scheduler 1 performs contention arbitration in the line based on the priority level of the FIFO of the corresponding input buffer to determine the FIFO, and the main arbiter in the scheduler 1 determines the FIFO of the FIFO determined by the sub arbiter.
  • the crossbar intersection ON / OFF control signal that determines which cell is transferred from which FIFO to which output line is output, This avoids blocking of cells waiting in the input buffer due to contention, thereby improving throughput.
  • Patent Document 1 in which a buffer is read in advance by simulation through a simulation has a problem that the actual buffer state cannot be reflected.
  • Fig. 10 shows the configuration and operation of an input buffer type cell multiplexing device (hereinafter referred to as a cell multiplexing device) that performs many-to-one (in this case, three-to-one) cell multiplexing at a constant period. It is a block diagram shown.
  • the cell multiplexing apparatus includes an input buffer unit 200 (representing 200 a to 200 c), an arbiter 100, and a multiplexing unit 500.
  • Each of the input buffer units 200a to 200c has the same function.
  • the input buffer section 200a is used to notify the arbiter 100 of a queue 300a having a FIFO configuration for storing cells as fixed-length data input from the input line 800a, and that cells are stored in the queue 300a.
  • a read control unit 400a that transmits the arbitration request signal 600a and determines whether to output a cell to the multiplexing unit 500 based on the transmission permission signal 700a received from the arbiter 100 is provided.
  • the arbiter 100 Based on the arbitration request signal 600 (600a to 600c) transmitted by the read control unit 400 (indicated by 400a to 400c), the arbiter 100 provides a queue 300 (300 arbitration is performed, and a transmission enable signal 700 (indicating 700a to 700c) for notifying the cell transmission permission prohibition is output to the read control unit 400, respectively.
  • the multiplexing unit 500 transfers the cell output from any of the read control units 400 to the outgoing line 900.
  • Cells input from each incoming line 800 are stored in the queue 300 in the order of arrival.
  • the queue 300a has a cell “# 1-1-1” input first from the incoming line 800a, a cell “# 1-2” input next, and a cell “# 1-2” input next.
  • # 1 1 3 is stored.
  • Cell “# 2-1” input from incoming line 800b is stored in queue 300b.
  • the arbiter 100 monitors the presence / absence of a queue of cells waiting to be transmitted in the queue 300 by the arbitration request signal 600 transmitted from the read control unit 400 and, for example, performs round robin (cyclic priority control). According to a predetermined algorithm such as), one queue is selected from the queues 300 in which queues exist.
  • the arbiter 100 outputs a transmission permission signal 700 indicating transmission permission to the selected queue 300 and transmission prohibition to the other queues 300, and outputs one queue. To instruct cell transmission. In FIG. 10, the arbiter 100 transmits the transmission permission signal 700 a as transmission permission, and transmits the transmission permission signals 700 b and 700 c as transmission prohibition.
  • the input buffer unit 200 transmits the cell presence / absence information of the queue of the queue 300 to the arbiter 100 as an arbitration request signal 600 (step S001).
  • the presence or absence of a queue can be represented by one bit. Therefore, the amount of information transmitted by each input buffer unit 200 is 1 bit, and the total amount of information received by arbiter 100 is “1 bit X number of input lines”. In the case of FIG. 10, since the number of incoming lines is "3", the total information amount received by the arbiter 100 is 3 bits.
  • the arbiter 100 performs output arbitration for the arbitration request signal 600 received from the input buffer unit 200 indicating "cell present", that is, for the queue 300 having a queue. (Step S002).
  • the arbiter 100 sends a transmission permission signal 700 indicating transmission permission to the queue that has survived as a result of output arbitration, and output prohibition to the other queues. Is transmitted to the input buffer unit 200 (step SO 03). Cell transmission permission / prohibition can be represented by 1 bit. Therefore, the total amount of information transmitted by the arbiter 100 is “1 bit X number of input lines”, and the amount of information received by the input buffer unit 200 is 1 bit. In the case of FIG. 10, since the number of incoming lines is “3”, the total amount of information transmitted by the reset bit 100 is 3 bits.
  • the input buffer unit 2000 which has received the transmission permission signal 700 indicating the transmission permission of the cell, outputs one cell stored in the queue 300 to the multiplexing unit 500. Then, the queue length N of the queue 300 that has output the cell is updated by subtracting 1 from the queue length N (step S004). For example, if the transmission permission signal 700a transmitted by the arbiter 100 indicates transmission permission, and the transmission permission signals 700b and 700c indicate transmission prohibition, the input buffer unit 200 0a reads a cell from the queue 300a and outputs it to the multiplexing unit 500. Then, the queue length N 1 is updated by subtracting 1 from the queue length N 1. At this time, since the input buffer units 2000b and 2000c do not transmit cells, the queue lengths N2 and N3 are not updated.
  • the arbiter 100 determines whether or not the queue 300 should be subjected to the current output arbitration. Can be determined by 1-bit information indicating the presence or absence of a cell in the queue 300. That is, the arbiter 100 does not need the information of the queue length N (indicating N 1 to N 3) that requires a plurality of bits of information to determine whether or not to perform output arbitration. For this reason, the input buffer unit 200 inserts only 1-bit cell presence / absence information into the arbitration request signal 600 as information on the queue in the queue 300, and transmits it to the arbiter 100. Good.
  • FIG. 12 shows in detail the cell multiplexing operation in the cell multiplexing apparatus to which the first conventional arbitration control method is applied, along with the passage of time (cell times T1 to T13).
  • FIG. 12 at a cell time ⁇ 2, a cell arrives from an incoming line 800 (# 1 to # 3) and is stored in a queue 300, respectively.
  • the input buffer unit 200 stores the queue 30 0 in the cell time ⁇ 2.
  • the arbiter 100 is notified by the arbitration request signal 600 that the cell has been stored in 0, respectively.
  • the queue length N of the queue 300 is incremented by 1 because a cell has arrived at the cell time T2.
  • the arbiter 100 performs output arbitration based on the arbitration request signal 600 and outputs the result to the input buffer unit 200 as a transmission enable signal 700.
  • queue 300a has survived due to output arbitration.
  • the input buffer unit 200a sends cells from the queue 300a and updates the queue length N1 by subtracting one. A cell arrives at queue 300c from incoming line 800c.
  • the input buffer unit 200 notifies the arbiter 100 of the presence or absence of a queue in the queue 300 as an arbitration request signal 600.
  • the queue length N 3 of the queue 300 c is incremented by 1 because a cell has arrived from the incoming line 800 c at the cell time T 3.
  • the operation of the cell time T 3 is repeated every cell time from the cell time T 4 to the cell time T 9 at which the queue length N of the queue 3 ⁇ 0 becomes “0”.
  • the output arbitration algorithm of the arbiter 100 is round robin.In Fig.
  • Fig. 13 is a block diagram showing the configuration and operation of an input buffer type cell switch (hereinafter referred to as a cell switch) that performs a many-to-many (in this case, 3 to 3) cell exchange operation at a constant period. is there.
  • the cell switch includes an input buffer section 210 (indicating 210a to 210c), an arbiter 110, and a switch section 510.
  • the input buffer sections 210a to 210c have the same functions.
  • the input buffer section 210a distributes cells, which are fixed-length data input from the input line 800a, to the output line 900 (indicating 900a to 900c).
  • Unit 420a and FIFO configuration to store cells sorted by sorting unit 420a Virtual output queue 3 10a (indicating 3 1 0a_l ⁇ 3 10a-3) and arbitration to notify arbiter 110 that a cell has been stored in virtual output queue 3 10a
  • a request signal 610a is transmitted, and a cell is read from any one of the virtual output queues 310a based on the transmission permission signal 710a received from the arbiter 110, and the switch section 511 is read.
  • a selector 4110a that outputs 0.
  • the arbiter 110 determines the arbitration request signal 610 (representing 610a to 610c) transmitted by the selection unit 410 (representing 410a to 410c), respectively. Next, output arbitration is performed to select a virtual output queue 310a to 310c that grants cell transmission permission, and transmission to notify the virtual output queue 310a to 310c that outputs cells.
  • the enable signal 710 (indicating 710a to 710c) is output to the selector 410.
  • the arbiter 110 outputs switching information 720, which is an output arbitration result for controlling which output line 900 the cell transmitted from the input buffer unit 210 is output to, to the switch unit 510. Power.
  • the switch unit 5110 transfers the cells output from the input buffer unit 210 to the outgoing line 900 based on the exchange information 720.
  • the cells input from each incoming line 800 are stored in the virtual output queues 310a to 3.10c corresponding to the desired outgoing line 900 by the sorting unit 420 based on the destination information in the cell header.
  • the virtual output queue 3 1 0a-1 is the outgoing line input from incoming line 800a.
  • the arbiter 110 monitors the presence or absence of a queue of cells waiting for transmission in the virtual output queues 310a to 310c by the arbitration request signal 6110 transmitted from the selection unit 410, and waits. From the virtual output queues 310a to 310c where the matrix exists, one set of combinations of a plurality of cell transfer paths in which the inputs and the output lines do not overlap are extracted. The erbiter 110 outputs a transmission permission signal 710 to the selector 410 based on the extracted combination of cell transfer paths. In FIG.
  • the arbiter 110 sets the virtual output queue 3 110 a-2 by the transmission permission signal 710 a, the virtual output queue 310 b-1 by the transmission permission signal 710, Since the virtual output queue 3 1 0 c-3 is selected by the transmission permission signal 7 1 0 c, the cell “to # 2” input from the incoming line 8 0 0 a is input to the outgoing line 9 0 b and the incoming line Cell ⁇ to # 1 J '' input from 800 b is transferred to outgoing line 900a, and senor ⁇ to # 3 '' input from 8.00c is transferred to outgoing line 900c. ing.
  • Such cell transfer that is, the cell transfer path extraction operation, is executed once per cell time.
  • the input buffer unit 210a sets the presence or absence of a queue in the virtual output queue 3100a as an arbitration request signal 610a
  • the input buffer unit 210b sets the virtual output queue 310b queue.
  • Arbitration request signal 610b, the input buffer unit 210c sets the presence or absence of the queue in the virtual output queue 310c as the arbitration request signal 610c to the arbiter 110, respectively.
  • Transmit step S 0 1 1).
  • the presence or absence of a queue in one virtual output queue can be represented by 1 bit. Therefore, the amount of information transmitted by each input buffer unit 210 is “1 bit X number of output lines”, and the total amount of information received by arbiter 110 is “the amount of information transmitted by input buffer unit 210”. X number of wires ”. Thirteenth In the case of the figure, since the number of incoming lines is “3” and the number of outgoing lines is “3”, the total information amount received by the arbiter 110 is 9 bits.
  • the arbiter 110 is the arbitration request signal 610 received from the input buffer unit 210 that indicates "cell present", that is, the virtual output queue 310 0 a to 310 c having a queue. And execute output arbitration (step SO 12).
  • the arbiter 110 transmits a transmission permission signal 710 indicating that transmission is permitted to the virtual output queue that has survived as a result of the output arbitration, and output prohibition is performed to the other virtual output queues.
  • the data is transmitted to 210 (step SO 13).
  • the transmission permission signal 710 transmitted to one input buffer unit 210 is "permission of transmission of tens of cells required for expressing the number of output lines in binary number”. Therefore, the total amount of information transmitted by the arbiter 110 is “(number of bits required to represent the number of outgoing lines in binary number, transmission permission of tens of cells) X number of incoming lines”. In the case of Fig. 13, since the number of incoming lines is "3" and the number of outgoing lines is "3", the total amount of information transmitted by the arbiter 110 is 9 bits and received by each input buffer unit 210. The amount of information is 3.
  • the input buffer unit 210 outputs one cell stored in the virtual output queue 310 to which the cell transmission is permitted by the transmission permission signal 710 to the switch unit 5110. Then, the queue length of the virtual output queue 310 that output the cell is updated by subtracting 1 from the queue length (step S0114). For example, arbiter 110 sends outgoing permission signal 710a sent to virtual output queue 310a-2, and outgoing enable signal 710b goes to virtual output queue 31ob-l sent out. It is assumed that the signal 710c has selected the virtual output queue 310c-3 to permit transmission. In this case, the input buffer unit 210a outputs the cells of the virtual output queue 3110a-2 to the switch unit 510 and the queue length N of the virtual output queue 3110a-2.
  • the input buffer section 210b outputs the cells of the virtual output queue 3110b-1 to the switch section 510 and the queue length N2-1 of the virtual output queue 310b_1. Subtract 1 to update the queue length N 2-1.
  • the input buffer section 210c outputs the cell of the virtual output queue 310c-3 to the switch section 501. Update the queue length N3-3 by subtracting 1 from the queue length N3-3 of the virtual output queue 3 1 0c-3.
  • the arbiter 110 sets the virtual output queue 310 0a as in the case of the cell multiplexer. To determine whether or not power should be the target of output arbitration for this time based on 1-bit information indicating the presence or absence of cells in virtual output queues 310a to 310c. it can. That is, the arbiter 110 does not need information on the length of the queue that requires a plurality of bits of information to determine whether or not the output should be arbitrated and whether or not it should be the target of output arbitration.
  • each input buffer unit 210 arbitrates only the presence / absence information of the number of outgoing lines (in this case, 3 bits) as information on the queues in the virtual output queues 310 to 310c. It may be inserted into the request signal 610 and transmitted to the arbiter 110.
  • the operation along the passage of time is basically the same as that of the cell multiplex apparatus shown in FIG.
  • the first conventional arbitration control method manages the length of a queue in an input buffer unit.
  • the queue length can also be managed by the arbiter.
  • the second conventional arbitration control method is characterized in that the queue length Na (indicating Nal to Na3) of each queue 300 is managed by the arbiter 100. is there.
  • the length of the queue managed by the arbiter 100 is Na, but the queue length Na and the queue length N of the input buffer unit 200 are Basically the same value.
  • the input buffer unit 200 transmits to the arbiter 100 as an arbitration request signal 600 whether or not a cell has arrived at each queue 300 one cell time earlier (cell arrival information) (arbitration request signal 600) ( Step S 0 2 1). Whether or not a cell has arrived can be represented by one bit. Therefore, the amount of information transmitted by each input buffer unit 200 is 1 bit, and the total amount of information received by the arbiter 100 is “1 bit X number of input lines”. Fig. 10 In the case of, since the number of incoming lines is "3", the total amount of information received by the arbiter 100 is 3 bits.
  • the arbiter 1000 sets the value of the queue length Na of the arbitration request signal 600 received from the input buffer section 200 corresponding to the queue 300 indicating "cell arrival" to "1". To update the queue length Na (step SO 2 2).
  • the arbiter 100 executes output arbitration for the queue 300 in which the value of the queue length Na is larger than “0” (step S 0 23).
  • the arbiter 100 sends a send permission signal 700 indicating that output arbitration is performed to the queue that has survived as a result of the output arbitration, and output prohibition for the other queues to the respective input buffer units 200.
  • the queue length N is updated by subtracting 1 from the queue length corresponding to the input buffer unit having the queue whose output is permitted (steps SO 24 and SO 25).
  • the total amount of information transmitted by the arbiter 100 is “1 bit X number of input lines”, and the amount of information received by each input buffer unit 200 is 1 bit. It becomes.
  • the input buffer unit 200 having received the transmission permission signal 700 indicating transmission permission of the cell, outputs one cell stored in the queue to the multiplexing unit 500.
  • the arbitration request signal 600 becomes continuously significant while the queue exists in the queue 300, whereas the arbitration request signal 600 becomes continuous while the queue exists in the queue 300. In the conventional arbitration control method, it becomes temporarily significant only when a new cell arrives at the queue 300.
  • FIG. 16 is a diagram showing the cell multiplexing operation in the cell multiplexing apparatus to which the second conventional arbitration control method is applied in detail along with the passage of time (cell times T1 to T13).
  • cells arrive from incoming line 800 (# 1 to # 3) at cell time # 2 and are stored in queues 300, respectively.
  • the input buffer unit 200 notifies the arbiter 100 of the arrival of the cell at the queue 300 at the cell time # 2 by the arbitration request signal 600, respectively.
  • the arrival of the cell is transmitted to the arbiter 100 and added to the queue length Na by one.
  • the cell time T 4 is the cell time T 4 of the next cell time (one cell time delay) after the queue length N is incremented by 1 with 0.
  • the reset bit 100 performs output arbitration after adding 1 to the queue length Na, and outputs the result to the input buffer unit 200 as a transmission enable signal 700. Output, and reflect the output arbitration result to the queue length Na.
  • the arbiter 1000 subtracts 1 from the queue length Na1.
  • the input buffer unit 200a sends cells from the queue 300a. Such an operation is repeated by the input buffer unit 200 and the arbiter 100.
  • the output arbitration algorithm of the arbiter 100 is round-robin, and in Fig.
  • the queue time is 300 a in the cell time T 4 a the cell time ⁇
  • the queue time is 300 b in the cell time T 5 Queue at T6 300 c Force Cell Time T7 Queue 300a Force Cell Time T8 Queue .300c Force Cell Time T9 Queue 300a Cells are output from each queue.
  • the arbiter 100 outputs the transmission permission signal 700 output to the input buffer unit 200.
  • the arbitration result is not basically reflected at all in the cell arrival information of the subsequent arbitration request signal 600, but is immediately reflected only in the queue length Na managed by the arbiter 100.
  • the arbiter 100 manages the queue length Na, so that the arbitration request signal 600 and the transmission permission signal 700 have a transmission delay, and the arbiter 100 receives a cell from the cell transmission permission queue.
  • the output arbitration operation is not affected by these effects even if there is a transmission delay before the data is transmitted.
  • FIG. 16 the transmission delay of the transmission permission signal 700 and the transmission delay from the queue 300 are shown.
  • the first conventional arbitration control The transition pattern and output arbitration results of the queue lengths N1 to N3 of the method, and the transition pattern and output of the queue length Na :! to Na3 of the second conventional arbitration control method
  • the results of the power arbitration are the same. That is, the output arbitration result of the second conventional arbitration control method is based on the transmission delay of the arbitration request signal 600 and the transmission permission signal 700, and the transmission of cells from the queue 300 that has been permitted to transmit cells. It can be seen that there is no influence of the delay.
  • the operation sequence when the second conventional arbitration control method is applied to the cell switch shown in FIG. 13 is as follows: the arbitration request signal 610 is ⁇ 1 bit indicating cell arrival + the number of outgoing lines in binary number. The number of bits required to represent the number (2 bits in this case) is j, and the transmission permission signal 710 is “the number of bits required to represent the number of output lines in binary number + cell transmission permission”. Basically, the second conventional arbitration control described above is performed only when the length of the queue managed by 10 is equal to the length of the queue of the virtual output queue 3110a to 310c. The operation sequence is the same as the operation sequence of the cell multiplexer using the method.
  • Patent Document 1
  • Patent Document 2
  • the cell when the first conventional arbitration control method is applied to the cell multiplexer and the cell switch, the cell must be transferred to the output when at least one queue exists in the queue or virtual output queue.
  • the output arbitration result at a certain cell time is reflected in the arbitration request signal, which is information on the presence or absence of cells in the input buffer unit, within one cell time.
  • the arbiter must be able to recognize this by the time the output arbitration begins. Les ,. If the arbiter's output arbitration does not reflect the output arbitration result one cell before by the start time of the arbiter's output arbitration, the arbiter cannot immediately recognize that the queue in the queue or virtual output queue has disappeared.
  • the input buffer transmits an arbitration request signal, and the arbiter performs output arbitration based on the arbitration request signal. All the procedures must be performed within one cell time while the input buffer transmits the transmission permission signal and the input buffer unit transfers the cell according to the transmission permission signal, and reflects the result in the queue length. There was a problem that high-speed operation was required.
  • the arbiter manages the queue length, so that the output arbitration result is reduced. It can be immediately reflected in the queue length.
  • the length of the queue in the queue or virtual output queue is reduced.
  • An inconsistency may occur between the queue length managed by the arbiter and the queue may not return to normal again. In other words, there is a problem that the reliability of the system is reduced. This problem can be avoided by installing a protocol that detects and recovers inconsistency in the queue length between the input buffer unit and the arbiter, but it requires a complicated protocol. There was a problem that the load on the system increased and the cost increased.
  • the present invention has been made in view of the above, and an object of the present invention is to provide a data transfer device, a cell multiplexing device, and a cell switch having a high throughput without using a high-speed operation and a complicated protocol. Disclosure of the invention
  • a plurality of fixed length data are stored, A plurality of queues for transmitting the length of the queue of the stored fixed-length data to the arbitration request signal and transmitting the arbitration request signal from each of the queues.
  • An arbiter for transmitting the result of the output arbitration to each queue as a transmission permission signal, and outputting the fixed-length data based on the transmission permission signal.
  • the output arbitration from before the transmission delay time until the reception of the arbitration request signal in which the output arbitration result of the transmission permission signal is reflected in the length of the queue and immediately before the output arbitration signal is transmitted.
  • a special feature is that the queue length in the arbitration request signal is corrected based on the result, and output arbitration is performed based on the corrected queue length.
  • the arbiter power transmission permission signal is transmitted, and the output arbitration result of the transmission permission signal is received before receiving the arbitration request signal reflected in the queue length.
  • the length of the queue in the arbitration request signal is corrected based on the output arbitration result up to and the output arbitration is performed based on the corrected queue length.
  • FIG. 1 is a block diagram showing the configuration and operation of the cell multiplexing device according to the first embodiment of the present invention
  • FIG. 2 explains the operation of the cell multiplexing device of the first embodiment of the present invention
  • FIG. 3 is a diagram for explaining the operation of the cell multiplexing device according to the first embodiment of the present invention
  • FIG. 4 is a diagram illustrating the operation of the first embodiment of the present invention
  • FIG. 5 is a diagram for explaining the operation of the cell multiplexing device.
  • FIG. 5 is a block diagram showing the configuration and operation of a cell switch according to a second embodiment of the present invention.
  • FIG. FIG. 7 is a sequence diagram for explaining the operation of the cell switch according to the second embodiment.
  • FIG. 7 is a diagram for explaining the operation of the cell multiplexer according to the third embodiment of the present invention.
  • FIG. 10 is a block diagram showing the configuration of a conventional cell multiplexer
  • FIG. 11 is a sequence diagram for explaining the operation of the conventional cell multiplexer.
  • FIG. 12 is a diagram for explaining the operation of the conventional cell multiplexer
  • FIG. 13 is a diagram for explaining the configuration of the conventional cell switch
  • FIG. 15 is a sequence diagram for explaining the operation of the conventional cell switch
  • FIG. 15 is a sequence diagram for explaining the operation of the conventional cell multiplexer
  • FIG. 15 is a sequence diagram for explaining the operation of the conventional cell multiplexer
  • FIG. It is a figure for explaining operation of a conversion device.
  • FIG. 1 is a block diagram showing a configuration and an operation of a cell multiplexing device as a data transfer device according to a first embodiment of the present invention.
  • the cell multiplexer shown in FIG. 1 includes an input buffer unit 2 (indicating 2a to 2c), an arbiter 1, and a multiplexing unit 5.
  • the input buffer units 2a to 2c have the same functions.
  • the input buffer unit 2a is a queue 3a having a FIFO structure for storing cells as fixed-length data input from the incoming line 8a, and arbitration for notifying the arbiter 1 that cells are stored in the queue 3a.
  • a read control unit 4a for transmitting the request signal 6a and determining whether or not to output the cell to the multiplex unit 5 based on the transmission permission signal 7a received from the arbiter 1 is provided.
  • the arbiter 1 queues a queue for granting the next cell transmission permission based on the arbitration request signal 6 (indicating 6a to 6c) transmitted by the read control unit 4 (indicating 4a to 4c), respectively.
  • (Indicates 3a to 3c) Force ⁇ Performs output arbitration to select and permits transmission of cell Z Reads out transmission enable signal 7 (indicates 7a to 7c) to notify Z inhibition Output to Part 4.
  • the multiplexing unit 5 transfers the cell output from one of the read control units 4 to the outgoing line 9.
  • Cells input from each incoming line 8 are stored in queue 3 in the order of arrival.
  • the queue 3a has a cell "# 1-1" input first from the incoming line 8a, a next input senor "# 1-12", and a next input senor " # 1—3 ”are stored.
  • Queue 3b stores cell “# 2-1" input from incoming line 8b.
  • the queue 3 c stores the cell “# 3 — 1” input first from the incoming line 8 c, and the cell “# 3 — 2” input next.
  • the arbiter 1 monitors the presence or absence of a queue of cells waiting to be transmitted in the queue 3 by the arbitration request signal 6 transmitted from the read control unit 4, and waits according to a predetermined algorithm such as a round mouth bin. Select one queue from queue 3 where the matrix exists.
  • the arbiter 1 outputs a transmission permission signal 7 indicating transmission permission to the selected queue 3 and transmission prohibition to the other queues 3 to instruct cell transmission to one queue. I do.
  • the arbiter 1 transmits the transmission permission signal 7a with transmission permission and the transmission permission signals 7b and 7c with transmission prohibition.
  • Cell “# 1-1” is output to multiplexing section 5, and multiplexing section 5 is transferring cell “# 1-1” to outgoing line 9.
  • the queue length N (indicating N 1 to N 3) of the queue 3 that has transmitted the cell according to the above is subtracted by 1, and the updated queue length N is changed by the arbitration request signal 6 to the arbiter 1 S
  • the delay time until recognition is defined as D cell time, and the depth of queue 3 is defined as Nmax cell.
  • the input buffer unit 2 transmits the queue length N, which is the cell accumulation information of the queue 3, to the arbiter 1 as an arbitration request signal 6 (step S101).
  • the depth of queue 3 is Nma X cells
  • the length N of each queue can be represented by the number of bits required to represent Nmax in binary, ⁇ 1 og 2 (Nmax) bits '' .
  • the presence or absence of a cell can be represented by one bit. Therefore, the amount of information transmitted by each input buffer unit 2 is "1 og 2 (Nmax) bits + 1 bit", and the total amount of information received by arbiter 1 is "(1 og 2 (Nmax) bits”. + 1 bit ⁇ X input lines ”.
  • the number of incoming lines is “3”
  • the total amount of information received by the arbiter 1 is “3 ⁇ ⁇ 1 og 2 (Nmax) +1 ⁇ ” bits.
  • the arbiter 1 arbitrates the output arbitration from (D-1) cell time ago to immediately before, for the queue length N of the arbitration request signal 6 received from the input buffer unit 2 that indicates "there is a cell”. Correction is performed based on the result, and the length Nc (indicating Nc1 to Nc3) of the queue after the correction is calculated (step S102).
  • the queue length N notified by the arbitration request signal 6 is the information before (D-1) cell time, so the number of times the queue has survived before (D-1) cell time
  • the current corrected queue length Nc can be calculated. That is, the corrected queue length Nc is
  • Nc N- ⁇ (D-1) The number of times the queue has survived before the cell time ⁇ . Therefore, in the case of Fig. 1,
  • Nc 1 N1- ⁇ (D-1) Number of times queue 3 a has survived before cell time ⁇
  • Nc 2 N2- ⁇ (D-1) Number of times queue 3 b has survived before cell time ⁇
  • Nc 3 N3- ⁇ (D-1) Number of times queue 3 c survived before cell time Can be calculated.
  • the arbiter 1 executes output arbitration based on the calculated corrected queue length Nc (step S103).
  • the arbiter 1 memorizes the remaining queues and sends a transmission permission signal 7 indicating output permission to the queues that have survived as a result of output arbitration and output prohibition to the other queues.
  • the data is transmitted to the input buffer unit 2 (step S104).
  • Cell transmission permission prohibition can be represented by 1 bit. Therefore, the total information amount transmitted by the arbiter 1 is “1 bit X number of input lines”, and the information amount received by each input buffer unit 2 is 1 bit. In the case of FIG. 1, since the number of incoming lines is “3”, the total information amount transmitted by the arbiter 1 is 3 bits.
  • the input buffer unit 2 Upon receiving the transmission permission signal 7 indicating the cell transmission permission, the input buffer unit 2 outputs one cell stored in the queue 3 to the multiplexing unit 5. Then, the queue length N of the queue 3 is updated by subtracting 1 (step S105). For example, if the transmission permission signal 7a transmitted by the arbiter 1 indicates transmission permission and the transmission permission signals 7b and 7c indicate transmission prohibition, the input buffer unit 2a reads the cell from the queue 3a. And outputs it to the multiplexing unit 5. Then, 1 is subtracted from the queue length N1 to update the queue length N1. At this time, since the input buffer units 2b and 2c have not transmitted cells, they do not update the queue lengths N2 and N3.
  • the input buffer unit 2 uses the queue length of [log 2 (Nmax) bits] as information on the queue in the queue 3. N is inserted into the arbitration request signal 6 and is continuously transmitted to the arbiter 1. ⁇
  • FIG. 3 is a diagram showing in detail the cell multiplexing operation in the cell multiplexing apparatus according to the first embodiment of the present invention along the lapse of time (cell times T1 to T13).
  • cells arrive from incoming line 8 (# 1 to # 3) and are stored in queue 3 respectively.
  • the input buffer unit 2 sets the queue length ⁇ ⁇ ⁇ of the queue 3 ⁇ Notify arbiter 1 with each arbitration request signal 6.
  • the arbiter 1 receives the arbitration request signal 6 transmitted by the input buffer unit 2 at the cell time T3. That is, the arbitration request signal 6 to which the queue length N is added by 1 in the input buffer unit 2 is notified to the arbiter 1 with a delay of one cell time.
  • the arbiter 1 calculates the queue length Nc in consideration of the delay time using (Equation 1), and performs output arbitration for the queue 3 whose queue length N is not “0”. Then, the result is output to the input buffer unit 2 as a transmission permission signal 7.
  • Equation 1 Equation 1
  • the delay is 3 cell times. Therefore, the transmission permission signal 7 transmitted by the arbiter 1 at the cell time T 4 is reflected in the arbitration request signal 6 received by the arbiter 1 at the cell time T 7. That is, the fact that the queue length N1 is decremented by 1 as a result of transferring cells from the queue 3a due to the output arbitration result at the cell time T4 is reflected in the arbitration request signal 6a at the cell time T7. ing.
  • the output arbitration algorithm of arbiter 1 is round-robin, and in Fig. 3, queue time 3a for cell time T4 queue 3b for cell time T5 queue 3c for cell time T6
  • the queue 3a is selected for the cell time T7
  • the queue 3c power S is selected for the cell time T8
  • the queue 3a is selected for the cell time T9, and cells are output from the respective queues.
  • the output arbitration result indicated by the transmission permission signal 7 is Is reflected in the arbitration request signal 6.
  • the arbiter 1 determines the queue 3 to be subjected to output arbitration with reference to the queue length N notified by the arbitration request signal 6 every cell time. Then, the queue length N is referred to as it is, and N is not 0 (N> 0) . If queue 3 is targeted for output arbitration, the first conventional arbitration control method is applied. The same problem as the cell multiplexing device occurs, and 100% throughput cannot be guaranteed.
  • the delay time D If the total execution time C of output arbitration in data 1 exceeds 1 cell time T (when D + C> T), the timing at which arbiter 1 recognizes that queue 3 is empty is the cell time You will be delayed at the level, which will reduce the throughput.
  • the arbiter 1 corrects the length N of each queue using (Equation 1), and calculates the corrected queue length Nc. Then, the calculated queue length Nc is not 0 (Nc> 0). The influence of the delay time D is eliminated by making queue 3 the target of output arbitration. If there are various delays (transmission delay and transmission delay) that cause the delay time D in the system, the queue length N notified from the input buffer unit 2 must be an exact number (the number of unarbitrated cells). ) Is not indicated. In other words, even if there are no unarbitrated cells in queue 3, the queue length N may indicate a value greater than or equal to one.
  • FIG. 3 shows the transition patterns of N1 to N3 and the output arbitration results.
  • the transition patterns and the output arbitration results of the corrected queue lengths Ncl to Nc1 of the first embodiment of the present invention are the same as those of the first embodiment, and the cell multiplexing of the first embodiment of the present invention is the same. It can be seen that the coding apparatus is not affected by the transmission delay of the arbitration request signal 6 and the transmission permission signal 7 and the transmission delay until the cell is transmitted from the queue 3 to which the cell transmission is permitted.
  • the time required for the arbiter 1 to execute output arbitration based on the corrected queue length N c calculated from the queue length N If the sum of the time required for the input buffer unit 2 to update the queue length N based on the output arbitration result indicated by the transmission permission signal 7 falls within one cell time, 100% Since the throughput can be guaranteed, even if the operation speed is lower than that of the cell multiplexing device to which the first conventional arbitration control method is applied, the throughput does not decrease.
  • FIG. 4 shows the cell multiplexing operation of the cell multiplexing apparatus according to the first embodiment of the present invention when a transmission error (abnormality) occurs in the arbitration request signal 6 over time (cell times T1 to T1). It is the figure which showed in detail along 13).
  • a transmission error abnormality
  • the cell accumulation information on queue 3a is lost, the queue length N1 is unknown ("?" In FIG. 4), and the queue arbitration target of the arbiter 1 at cell time T7 becomes the queue 3 a has been removed. Then, at the next cell time T8, the arbitration request signal 6 from the input buffer unit 2a has no transmission error, and the operation of the cell multiplexer has returned to a normal state.
  • the arbiter 1 transmits the transmission permission signal 7 and then outputs the arbitration request signal 6 in which the output arbitration result of the transmission permission signal 7 is reflected in the queue length N.
  • the queue length N in the arbitration request signal 6 is corrected based on the output arbitration results from the time before the delay time required until reception to the immediately before, and the corrected queue length Since output arbitration is performed based on Nc, 100% throughput can be guaranteed without using a high-speed operation or a complicated protocol.
  • Arbiter 1 newly calculates the corrected queue length Nc from the queue length N every time, and cites the previously calculated corrected queue length Nc at all. Therefore, inconsistency between the queue length N and the corrected queue length Nc basically does not occur as in the cell multiplexer using the second conventional arbitration control method. . Therefore, in the first embodiment, when a transmission error is detected in the arbitration request signal 6, the queue 3 in the input buffer unit 2 is temporarily excluded from the target of output arbitration for the cell time. Alternatively, when a transmission error is detected in the transmission permission signal 7, the cell can be returned to a normal operation state promptly only by not responding to cell transmission. There is no need to use a complicated protocol including an error recovery procedure as in the cell multiplexing device to which the section control method is applied.
  • the multiplexing unit 5 does not refer to the transmission permission signal 7, but the multiplexing unit 5 may read the cell by referring to the transmission permission signal 7.
  • the number of queues 3 in each input buffer unit 2 of the cell multiplexer is one, the number is not limited to this.
  • a plurality of queues may be provided for each delay priority class.
  • FIG. 5 is a block diagram showing the configuration and operation of a cell switch which is a data transfer device according to a second embodiment of the present invention.
  • the cell switch includes an input buffer unit 21 (indicating 21 a to 21 c), an arbiter 11, and a switch unit 51.
  • the input buffer sections 21a to 21c have the same functions.
  • the input buffer section 21a is composed of a distributing section 42a for distributing cells, which are fixed-length data input from the incoming line 8a, corresponding to the outgoing line 9 (indicating 9a to 9c), and a distributing section.
  • 4 2a Virtual output queue 3 1a (3 1a—1 to 3 1a—3), and transmits an arbitration request signal 61a for notifying the arbiter 11 that a cell has been stored in the virtual output queue 31a.
  • a selection section 41 a for reading out a cell from one of the temporary output queues 31 a based on the transmission permission signal 71 a received from 11 and outputting it to the switch section 51 is provided.
  • the arbiter 11 then grants the cell transmission permission based on the arbitration request signal 61 (indicating 61a to 61c) transmitted by the selection unit 41 (indicating 41a to 41c), respectively.
  • Output arbitration for selecting the given virtual output queues 3 1 a to 3 1 c, and a transmission enable signal 7 1 (71 a to 1) for notifying the virtual output queues 3 1 a to 31 c that output cells. 7 1c) is output to the selector 41.
  • the arbiter 11 outputs to the switch 51 a switching information 72 which is an output arbitration result for controlling to which output line 9 the cell transmitted from the input buffer 21 is output.
  • the switch unit 51 transfers the cells output from the input buffer unit 21 to the outgoing line 9 based on the exchange information 72.
  • the cells input from each incoming line 8 are stored in the virtual output queues 31a to 31c corresponding to the desired outgoing line 9 by the sorting unit 42 based on the destination information in the cell header.
  • the virtual output queue 3 1a-1 has a cell "to # 1" input to the outgoing line 9a input from the incoming line 8a, and the temporary queue 3 ⁇ 4f.
  • the cell "to # 2" input to the outgoing line 9b from “a” is input to the virtual output queue 3 1a-3, and the cell "to # 3" to the outgoing line 9c input from the incoming line 8a is input to the virtual output queue 3 1a-3.
  • the virtual output queue 3 1 b— 1 has cells “to # l” that are input from incoming line 8 and are directed to outgoing line 9 a.
  • the virtual output queue 3 1 b_2 is for outgoing line 9 b that is input from incoming line 8 b.
  • the arbiter 11 monitors the presence or absence of a queue of cells waiting to be transmitted in the virtual output queues 31a to 31c by the arbitration request signal 61 transmitted from the selection unit 41, and a queue exists. From the virtual output queues 31a to 31c to be extracted, one set of combinations of a plurality of cell transfer paths in which the input / output lines do not overlap is extracted. The arbiter .11 outputs the transmission permission signal 71 to the selection section 41 based on the extracted combination of cell transfer paths. In FIG.
  • the arbiter 11 transmits the virtual output queue 31a-2 by the transmission permission signal 71a, the virtual output queue 31b-1 by the transmission permission signal 71b, and the transmission permission signal 71 Since the virtual output queue 3 1 c-1 is selected by c, the cell “to # 2” input from the incoming line 8a is placed on the outgoing line 9b, and the cell “to # 1” input on the incoming line 8 Is transferred to outgoing line 9a, and cell “to # 3" input from incoming line 8c is transferred to outgoing line 9c.
  • the length of the queue of the virtual output queue 31a to 31c that transmitted the cell according to the instruction from the transmitting queue length N (N1— :! to N1-3, N2-1 to N2 — 3, N 3—1 to ⁇ 3—3) is subtracted by 1, and the delay time until the arbiter 11 recognizes the updated queue length N by the arbitration request signal 6 1 is D cell.
  • the time and the depth of the virtual output queues 31a to 31c are defined as Nmax cells.
  • the input buffer unit 21 transmits the queue length N, which is the accumulated information of the cells of the virtual output queues 31a to 31c, to the arbiter 11 as an arbitration request signal 61 (step S201). Since the queue depth of the virtual output queue 3 1 a to 3 1 c is N max cells, the length N of each queue is the number of bits required to represent N max in binary number ⁇ 1 og 2 (Nmax) bits ". Also, the presence or absence of cells It can be represented by one bit. Therefore, the amount of information transmitted by each input buffer unit 21 is “Uog 2 (Nmax) +1 ⁇ bits X number of output lines”, and the total amount of information received by the arbiter 11 is “ The amount of information transmitted by the input buffer unit 21 X the number of input lines ".
  • the arbiter 11 corrects the queue length N of the arbitration request signal 6 1 received from the input buffer unit 21 by using (Equation 1) with respect to the queue length N of the one indicating “there is a cell”. Then, Nc (indicating Nc1—1 to Nc1—3, Nc2—l to Nc2—3, Nc3—l to Nc3—3) is calculated (step S20) 2).
  • the arbiter 11 executes output arbitration based on the calculated queue length Nc (step S203).
  • the arbiter 11 memorizes the tentative and output queues that have survived, and permits sending to virtual output queues that have survived as a result of output arbitration, and prohibits output to other virtual output queues.
  • the transmission permission signal 71 is transmitted to the input buffer 21 (step S204).
  • the transmission permission signal 71 transmitted to one input buffer section 21 is “the number of bits required to represent the number of output lines in binary number + cell transmission permission”. Therefore, the total amount of information transmitted by the arbiter 11 is “(number of bits required to represent the number of outgoing lines in binary number + cell transmission permission) X number of incoming lines”. In the case of FIG. 5, since the number of incoming lines is “3” and the number of outgoing lines is “3”, the total amount of information transmitted by the arbiter 11 is 9 bits, and the amount of information received by each input buffer unit 21 Is 3 bits.
  • the input buffer unit 21 outputs to the switch unit 51 one cell stored in the virtual output queues 31 a to 31 c whose cell transmission is permitted by the transmission permission signal 71. Then, the queue length N of the virtual output queues 31a to 31c that transmitted the cell is updated by subtracting 1 from the queue length N (step S205).
  • the transmission permission signal 71a transmitted by the arbiter 11 1 is the virtual output queue 31a-2
  • the transmission permission signal 71b is the virtual output queue 31b-1
  • the transmission permission signal 71c Is the virtual output queue 3 1 c—3 It is assumed that transmission permission has been given and selected.
  • the input buffer unit 21a outputs the cells of the virtual output queue 31a-2 to the switch unit 51 and the queue N1-2 of the virtual output queue 31a-2. Subtract 1 to update the queue length N 1-2.
  • the input buffer 21b outputs the senor of the virtual output queue 3 1b-1 to the switch 51 and subtracts 1 from the queue length N2-1 of the virtual output queue 3 1b-1. Update the queue length N 2-1.
  • the input buffer unit 2 1 c outputs the cells of the virtual output queue 3 1 c 13 to the switch unit 51 and subtracts 1 from the queue length N 3 — 3 of the virtual output queue 3 1 c-3 and waits. Update the matrix length N 3 1 3.
  • each input buffer unit 21 has a queue of [1 og 2 (Nmax) bits] as information on the queue in the temporary output queue 31.
  • the length N of the matrix is inserted into the arbitration request signal 61 for the number of outgoing lines, and is continuously transmitted to the arbiter 11.
  • the operation of the cell switch according to the second embodiment of the present invention over time is basically the same as the operation of the cell multiplexer of the first embodiment shown in FIG.
  • the output arbitration result of the transmission permission signal 71 is reflected in the queue length N.
  • the arbitration request signal 61 corrects the queue length N in the arbitration request signal 61 based on the output arbitration results from before the delay time required to receive the Since output arbitration is performed based on this, 100% throughput can be guaranteed without using a high-speed operation / complex protocol.
  • the number of virtual output queues in each input buffer 21 of the cell switch is equal to the number of outgoing lines.
  • the number of outgoing lines ⁇ delay Virtual output queues for the number of priority classes may be provided.
  • the arbitration request signal and the transmission permission signal are required. The basic operation is the same, only the number of bits and the number of queue lengths corrected by the arbiter are different. Therefore, hereinafter, the cell multiplexing device of the present invention will be described as an example, but it is needless to say that the present invention is also applicable to a cell switch.
  • Embodiment 3 of the present invention will be described with reference to FIG.
  • the arbiter 1 stores the corrected queue length N c calculated by (Equation 1) one cell time before and stores it in the arbitration request signal 6. If a transmission error occurs, the corrected queue length Nc stored until the transmission error is recovered is used.
  • the cell multiplexing apparatus according to the third embodiment of the present invention is the same as that shown in FIG. 1, and its operation sequence is the same as that shown in FIG. 2. Omitted.
  • FIG. 7 is a diagram showing the cell multiplexing operation according to the third embodiment of the present invention in more detail along the passage of time (cell times T1 to T13).
  • Fig. 7 as in Fig. 3, input at cell time ⁇ 2, input 8 (# 1 to # 3), input at cell time ⁇ 3, input 8c, input at cell time T4, T5 From 8a, a total of six cells have arrived at queue 3.
  • Other operations are almost the same as in FIG. 3, but in FIG. 7, the arbitration request signal 6a of the input buffer unit 2a is continuously output at the cell time T7 and the cell time T8. A transmission error has occurred. As a result, the cell storage information for queue 3a is lost, and the queue length N1 is unknown ("?" In Fig. 7).
  • the arbiter 1 Since a transmission error has occurred in the arbitration request signal 6a at the cell time T7, the arbiter 1 calculates the queue length Nc1 of the queue 3a calculated at the cell time T6 as the cell time T7. Used in place of the queue length N1 obtained by the arbitration request signal 6a The At this time, the queue length N c 1 calculated at the cell time T 6 is “1”, and the remaining queue is the queue 3 c. Therefore, the queue length Nc1 is taken over as it is at cell time T7 and is subject to output arbitration.
  • the arbiter 1 Since the transmission error occurred in the arbitration request signal 6a also at the cell time T8, the arbiter 1 arbitrates the queue length Nc1 of the queue 3a calculated at the cell time T7 to the cell time T8. It is used instead of the queue length N1 obtained by the request signal 6a. At this time, the queue length N c 1 calculated at the cell time T 7 is “1”, and the surviving queue is the queue 3 a. Therefore, arbiter 1 subtracts 1 from the queue length N c 1 calculated at cell time T 6. In this case, since the queue length N cl is “1”, subtracting 1 gives “0”. As a result, at cell time T8, queue 3a is not subject to output arbitration.
  • the arbiter 1 when a transmission error occurs successively to the arbitration request signal 6, the arbiter 1 sets the queue length N in the arbitration request signal 6 received immediately before the transmission error occurs.
  • the corrected queue length Nc calculated by using is stored, and the output arbitration is performed based on the stored queue length Nc until the transmission error is recovered. That is, the arbiter 1 sets the queue 3 as a target of output arbitration until all the stored N c cells are transmitted, and removes the queue 3 from output arbitration after the N c cells are transmitted.
  • FIG. 8 is a diagram showing the cell multiplexing operation of the cell multiplexing apparatus according to the fourth embodiment of the present invention in more detail over time (cell times T1 to T13).
  • FIG. 8 as in Fig. 3, from line 8 (# 1 to # 3) at cell time ⁇ 2, from line 8c at cell time ⁇ 3, from line 8a at cell time ⁇ 4, ⁇ 5 , Total 6 Cell has arrived at queue 3.
  • Other operations are almost the same as in FIG. 3. 1
  • FIG. 3 In FIG.
  • the arbitration request signal from the input buffer unit 2 is transmitted to the arbiter 1 every two cell time, not every six cell time. That is, the arbitration request signal 6a indicating the queue length N1 of the queue 3a from the input buffer unit 2a and the arbitration indicating the queue length N2 of the queue 3b from the input buffer unit 2b.
  • the request signal 6b is an arbitration request signal indicating the queue length N3 of the queue 3c from the input buffer unit 2c at even cell times such as cell times T2, T4, T6, 6c is reported to the arbiter 1 at odd cell times, such as cell times Tl, T3, T5,.
  • the arbiter 1 calculates the corrected queue length Nc using (Equation 1) during the time when the queue length N is notified by the arbitration request signal 6. On the other hand, in the cell time when the arbitration request signal 6 is not notified, for the queue 3 that has survived the immediately preceding cell time, 1 is subtracted from the queue length Nc after the straight line cell time correction, and the immediately preceding cell For queue 3 that did not survive the time, arbitration output is performed using the queue length Nc after correction of the immediately preceding cell time as it is.
  • arbiter 1 is notified of queue lengths Nl and N2 of queues 3a and 3b, and arbiter 1 calculates the queue length Nc by (Equation 1). Calculate l, Nc2.
  • the arbiter 1 uses the corrected queue length Nc 3 for the queue 3 c of the cell time T 5.
  • queue 3b has survived, so the queue length Nc 3 remains unchanged.
  • the fourth embodiment when the arbitration request signal 6 is received, based on the corrected queue length Nc calculated using the queue length N in the arbitration request signal 6 If the arbitration request signal 6 is not received and the arbitration request signal 6 is not received, the corrected queue length calculated using the queue length N in the arbitration request signal 6 received immediately before N c is stored, and output arbitration is performed based on the received arbitration request signal 6 until the next arbitration request signal 6 is received. That is, arbiter 1 does not receive arbitration request signal 6. In this case, the queue 3 is subjected to output arbitration until all of the stored N c cells are transmitted, and is excluded from output arbitration after N c cells have been transmitted.
  • the transmission cycle of the arbitration request signal 6 (the update cycle of the queue length N) is longer than one cell time, it is possible to suppress a decrease in throughput. More specifically, for example, in the case of the cell switch shown in FIG. 5, the number of bits required for the arbitration request signal 61 transmitted from one input buffer unit 21 is the same as that described in the second embodiment. Thus, if the number of outgoing wires is P, the result is "PX log 2 (Nmax)". In order to reduce the number of signal lines of the arbitration request signal 61, it is common to perform bit multiplex transmission in which a plurality of bits are transmitted on one signal line within one cell time.
  • the information amount of the arbitration request signal 61 increases.
  • bit multiplex transmission high-speed operation is required as the amount of information increases.
  • the number of signal lines of the arbitration request signal 6 or 61 is reduced, or the number of bit multiplex transmissions of the arbitration request signal 6 or 61 is increased. The severity can be reduced.
  • the queue length N is transmitted as the arbitration request signal 6.
  • the arbiter 1 determines whether or not queue 3 is to be subjected to output arbitration by determining whether the corrected queue length N c calculated using (Equation 1) is greater than 0.
  • Arbiter 1 does not need to know the length N of the queue with delay time D or more. For example, if the delay time D is "4", the maximum queue length N required by arbiter 1 is "4".
  • the upper limit value of the queue length N to be inserted into the arbitration request signal 6 is set to any one of the delay time D or more and the queue 3 depth Nma X or less. Set the value to As a result, the amount of information of the arbitration request signal 6 can be reduced, and the number of signal lines can be reduced and the degree of multiplexing of bit multiplex transmission can be reduced.
  • the cell multiplexer according to the sixth embodiment of the present invention includes an arbiter 1 having a timer 10 for measuring a cell time.
  • the input buffer unit 2a of the input buffer unit 2 shown in FIG. 1 is shown, and the input buffer units 2b and 2c are omitted.
  • the arbiter 1 When transmitting the transmission permission signal 7a to the input buffer unit 2a, the arbiter 1 inserts, as a time stamp, the cell time indicated by the timer 10 into the transmission permission signal 7a. Assuming that the cell time TS is indicated, the arbiter 1 inserts the cell time TS as a time stamp into the transmission permission signal 7a.
  • the input buffer unit 2a determines whether to transfer cells from the queue 3a based on the transmission permission signal 7a.
  • the input buffer unit 2a inserts the time stamp inserted in the transmission permission signal 7a into the next arbitration request signal 6a.
  • the arbiter 1 transmits the arbitration request signal 6a in which the cell time TS is inserted as the time stamp.
  • the delay time D is “4”. The same operation is performed between the arbiter 1 and the input buffer units 2b and 2c.
  • a time stamp is inserted into the transmission permission signal 7 of the timer 10 in the arbiter 1, and the time stamp inserted into the transmission permission signal 7 received by the input buffer unit 2 is sent to the arbitration request.
  • the delay time D required to calculate the corrected queue length Nc from the queue length N is automatically calculated, so the delay during operation Even if the time D fluctuates, the corrected queue length Nc can always be accurately calculated by following the fluctuation.
  • the data transmission device is useful for transferring fixed-length data, and is particularly suitable for a cell multiplexer and a cell switch that transfer cells at high speed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

アービタ1が、送出許可信号(7a)~(7c)を入力バッファ部(2a)~(2c)に送信してからこの送出許可信号(7a)~(7c)の出力調停結果が待ち行列の長さに反映された調停要求信号(6a)~(6c)を受信するまでに要する遅延時間分前から直前までの出力調停結果に基づいて調停要求信号内の待ち行列の長さを補正して、補正後の待ち行列の長さに基づいて出力調停を行うようにしている。

Description

データ転送装置、 セル多重化装置およびセルスィッチ
技術分野
この発明は、 ^^数のキューの出力調停を行ってデータを転送するデータ転送装 置に関するものであり、 詳細には、 断続的に入力される固定長データを転送する 明
入力バッファ型のセル多重化装置およびセルスィツチに関するものである。
1
糸田 背景技術
従来から入力バッファ型セル多重化装置や入力バッファ型セルスィツチのスル —プットを上げるために種々の技術が考えられている。
特許文献 1に記載の従来技術には、 複数の入力回線から到来する可変長のパケ ットを一時蓄積する複数のバッファと、 この複数のバッファからのバケツトの読 み出しを制御する読み出し制御部と、 複数のバッファのパケット蓄積状況にした がって競合制御をシミュレーションするバーチャルキュー部とを備え、 バーチヤ ルキュー部のシミュレーション結果にしたがって複数のバッファから択一的にパ ケットを読み出して回線に出力する競合制御装置の技術が開示されている。 具体 的には、 実際のバッファからバケツトを送出している時につぎに送出すべきバッ ファを決定するのではなく、 バーチャルキュー部が一定周期でシミュレーション を実行して、 実際のバッファに与える送出許可を実際のバケツト読み出しに先行 して生成して時系列的に記録して蓄積しておく。 読み出し制御部は、 蓄積された 送出許可にしたがつて複数のバッファの 1つからパケットを読み出す。すなわち、 一定周期でシミュレーションを行うことにより、 比較的バケツト長の長いバケツ ト送出の期間に先行して送出許可を生成しておき、 読み出し時間 L/ C ( Lはパ ケット長、 Cは読み出し回転速度) が競合制御の所要時間より短レ、場合でも、 出 力回線をアイドル状態にすることなくスループットを向上するようにしている。 •また、 特許文献 2に記載の従来技術には、 出力回線分の F I F O (First In F irst Out) を有し入力回線から入力されたセルを一時的に格納する入力バッファ と、 入力バッファから読み出されたセルを交換するクロスバー型スィッチと、 ク 口スバー型スィツチに対してクロスバー交点 O NZO F F制御信号を与えるスケ ジユーラ一とを備え、 スケジューラ一が入力バッファ内の F I F Oに与えられた 優先レベルに基づいてどの F I F Oからどの出力回線へセルを転送するかを決定 する A TM (Asynchronous Transfer Mode:非同期転送モード) 交換機の技術が 開示されている。 具体的には、 スケジューラ一内のサブアービタが対応する入力 バッファの F I F Oの優先レベルに基づいて回線内の競合調停を行って F I F O を決定し、 スケジューラ一内のメインアービタがサブアービタによって決定され た F I F Oの優先レベルに基づいて入力回線間の競合調停を行う動作を繰り返し て、 どの F I F Oからどの出力回線へセルを転送するかを決定するクロスバー交 点 O N/O F F制御信号を生成することで、 出力回線の競合による入カバッファ に待機しているセルのブロッキングを回避して、 スループットを向上するように している。
し力、しながら、 シミュレーションによって先行してバケツトを読み出すバッフ ァを決定する特許文献 1に記載の従来技術では、 実際のバッファの状態を反映す ることができないという問題があった。
また、 特許文献 2に記載の従来技術では、 セルを送出している時間内につぎに どの F I F Oからどの出力回線へセルを転送するかを決定するクロスバー交点 O N/O F F制御信号を生成する必要があり、 サブアービタおよびメインアービタ の競合調整のタィミング制約が厳しくなるという問題があつた。
また、 特許文献 2に記載の従来技術では、 セル長の短いセルを扱う場合や回線 速度が早くなるとセルの送出時間が短くなるため、 クロスバー交点 O N/O F F 制御信号の生成が間に合わなくなって、 スループッ トの低下を招くという問題も あつ 7こ。
■ ここで、 特許文献 1に記載の競合制御装置のように多入力 1出力の一般的な入 力バッファ型セル多重化装置と、 特許文献 2に記載の A T M交換機のように多入 力多出力の一般的な入力バッファ型セルスィツチとを同一のァービトレ一シヨン (出力調停) 制御によって動作させる場合について説明する。
第 10図は、 一定周期で連続的に多対 1 (この場合 3対 1) のセル多重化を行 う入力バッファ型セル多重化装置 (以下、 セル多重化装置とする) の構成および 動作を示すブロック図である。 セル多重化装置は、 入力バッファ部 200 (20 0 a〜200 cを示す) と、アービタ 100と、多重化部 500とを備えている。 入力バッファ部 200 a〜200 cはそれぞれ同じ機能を備えている。 入カバ ッファ部 200 aは入線 800 aから入力される固定長データであるセルを格納 する F I FO構成のキュー 300 aと、 キュー 300 aにセルが格納されたこと をアービタ 100に通知するための調停要求信号 600 aを送信するとともに、 アービタ 100から受信した送出許可信号 700 aに基づいてセルを多重化部 5 00に出力するか否かを決定する読み出し制御部 400 aとを備えている。
アービタ 100は、 読み出し制御部 400 (400 a〜400 cを示す) がそ れぞれ送信した調停要求信号 600 (600 a〜 600 c) に基づいてつぎにセ ル送出許可を与えるキュー 300 (300 a〜300 cを示す) を選択する出力 調停を行い、 セルの送出許可 禁止を通知するための送出許可信号 700 (70 0 a〜 700 cを示す) を読み出し制御部 400にそれぞれ出力する。 多重化部 500は、 読み出し制御部 400のいずれかから出力されたセルを出線 900に 転送する。
つぎに、 セル多重化装置の動作について説明する。 各入線 800 (800 a〜 800 cを示す) から入力されたセルは、 到着順にキュー 300に格納される。 第 10図においては、 キュー 300 aには、 入線 800 aから最初に入力された セル 「# 1— 1」 、 つぎに入力されたセル 「# 1— 2」 、 そのつぎに入力された セル 「# 1一 3」 の 3つのセルが格納されている。 キュー 300 bには、 入線 8 00 bから入力されたセル「# 2— 1」が格納されている。キュー 300 cには、 入線 800 cから最初に入力されたセル 「# 3— 1」 、 つぎに入力されたセル 「 # 3— 2」 が格納されている。
アービタ 1 0 0は、 読み出し制御部 4 0 0から送信された調停要求信号 6 0 0 によってキュー 3 0 0内の送信待ちセルの待ち行列の有無を監視して、たとえば、 ラウンドロビン (巡回優先制御) などの所定のアルゴリズムにしたがって待ち行 列が存在するキュー 3 0 0の中から 1つのキューを選択する。アービタ 1 0 0は、 選択したキュー 3 0 0に対しては送出許可を、 それ以外のキュー 3 0 0に対して は送出禁止を示す送出許可信号 7 0 0をそれぞれ出力して、 1つのキューに対し てセルの送出を指示する。 第 1 0図において、 アービタ 1 0 0は、 送出許可信号 7 0 0 aを送出許可とし、 送出許可信号 7 0 0 b, 7 0 0 cを送出禁止として送 信しているため、 読み出し制御部 4 0 0 aがキュー 3 0 0 a内のセル 「# 1— 1 」 を多重化部 5 0 0に出力し、 多重化部 5 0 0が、 セル 「# 1一 1」 を出線 9 0 0に転送している。 このようなセルの転送、 すなわちセル多重化動作は、 1セル 転送にかかる時間 (セル時間 =セル長 出線の伝送速度) に 1回実行される。 つぎに、 第 1 1図を用いて第 1の従来のァービトレーシヨン制御方法を適用し たセル多重化装置の入力バッファ部 2 0 0とアービタ 1 0 0との間の動作シーケ ンスを説明する。
入カバッファ部 2 0 0は、 キュー 3 0 0の待ち行列のセル有無情報を調停要求 信号 6 0 0としてアービタ 1 0 0に送信する (ステップ S 0 0 1 ) 。 待ち行列の 有無は 1ビッ卜で表すことができる。 したがって、 各入力バッファ部 2 0 0が送 信する情報量は 1ビットであり、 ァービタ 1 0 0が受信する総情報量は、 「 1ビ ット X入線数」 となる。 第 1 0図の場合は、 入線数が 「3」 であるので、 ァービ タ 1 0 0が受信する総情報量は 3ビットとなる。
アービタ 1 0 0は、 入力バッファ部 2 0 0から受信した調停要求信号 6 0 0の うち 「セル有り」 を示すもの、 すなわち、 待ち行列のあるキュー 3 0 0を対象と して出力調停を実行する (ステップ S 0 0 2 ) 。
アービタ 1 0 0は、 出力調停を行った結果勝ち残ったキューに対して送出許可 を、 それ以外のキューに対しては出力禁止を示す送出許可信号 7 0 0をそれぞれ の入力バッファ部 2 0 0に送信する (ステップ S O 0 3 ) 。 セルの送出許可/禁 止は 1ビッ卜で表すことができる。 したがって、 アービタ 1 0 0が送信する総情 報量は 「 1ビット X入線数」 であり、 入カバッファ部 2 0 0が受信する情報量は それぞれ 1ビットとなる。 第 1 0図の場合は、 入線数が 「3」 であるので、 了一 ビタ 1 0 0が送信する総情報量は 3ビットとなる。
セルの送出許可を示す送出許可信号 7 0 0を受信した入力バッファ部 2 0 0は、 キュー 3 0 0に格納されているセルを 1つ多重化部 5 0 0に出力する。 そして、 セルを出力したキュー 3 0 0の待ち行列の長さ Nを 1減算して更新する (ステツ プ S 0 0 4 ) 。 たとえば、 アービタ 1 0 0が送信した送出許可信号 7 0 0 aが送 出許可を示し、 送出許可信号 7 0 0 b , 7 0 0 cが送出禁止を示していたとする と、 入力バッファ部 2 0 0 aは、 キュー 3 0 0 aからセルを読み出して多重化部 5 0 0に出力する。 そして、 待ち行列の長さ N 1から 1減算して待ち行列の長さ N 1を更新する。 このとき、 入力バッファ部 2 0 0 b, 2 0 0 cはセルを送出し ていないので、 待ち行列の長さ N 2 , N 3を更新しない。
以上説明したように、 第 1の従来のァービトレーション制御方法をセル多重ィ匕 装置に適用した場合、 アービタ 1 0 0は、 キュー 3 0 0を今回の出力調停の対象 とすべき力否かの判断を、 キュー 3 0 0内のセルの有無を示す 1ビットの情報で 行うことができる。 すなわち、 アービタ 1 0 0は、 出力調停の対象とすべきか否 かの判断に複数のビット情報を要する待ち行列の長さ N (N 1〜N 3を示す) の 情報を必要としない。 このため、 入力バッファ部 2 0 0はキュー 3 0 0内の待ち 行列に関する情報として、 1ビッ卜のセル有無情報のみを調停要求信号 6 0 0に 挿入して、 アービタ 1 0 0に送信すればよい。
第 1 2図は、 第 1の従来のァービトレーション制御方法を適用したセル多重ィ匕 装置におけるセル多重化動作を、 時間経過 (セル時間 T 1〜T 1 3 ) に沿って詳 細に示した図である。 第 1 2図においては、 セル時間 Τ 2において、 入線 8 0 0 ( # 1〜# 3 ) からセルが到着して、 キュー 3 0 0にそれぞれ格納される。
セル時間 Τ 3において、 入力バッファ部 2 0 0は、 セル時間 Τ 2にキュー 3 0 0にセルを格納したことをそれぞれ調停要求信号 6 0 0にてアービタ 1 0 0に通 知する。 このとき、 キュー 3 0 0の待ち行列の長さ Nは、 セル時間 T 2において それぞれセルが到着しているため 1加算されている。 アービタ 1 0 0は、 調停要 求信号 6 0 0に基づいて出力調停を行って、 その結果を送出許可信号 7 0 0とし て入力バッファ部 2 0 0にそれぞれ出力する。 ここでは、 出力調停によってキュ 一 3 0 0 aが勝ち残つたものとする。 入力バッファ部 2 0 0 aは、 キュー 3 0 0 aからセルを送出するとともに、 待ち行列の長さ N 1を 1減算して更新する。 ま た、 キュー 3 0 0 cには、 入線 8 0 0 cからセルが到着している。
セル時間 T 4において、 入力バッファ部 2 0 0は、 キュー 3 0 0の待ち行列の 有無を調停要求信号 6 0 0としてアービタ 1 0 0に通知する。 このとき、 キュー 3 0 0 cの待ち行列の長さ N 3は、 セル時間 T 3において入線 8 0 0 cからセル が到着しているため 1加算されている。 セル時間 T 4からキュー 3◦ 0の待ち行 列の長さ Nが 「0」 になるセル時間 T 9までのセル時間ごとにセル時間 T 3の動 作が繰り返される。 アービタ 1 0 0の出力調停のアルゴリズムをラウンドロビン となっており、 第 1 2図においては、 セル時間 T 3にはキュー 3 0 0 a力 セル 時間 T 4にはキュー 3 0 0 b力 セル時間 T 5にはキュー 3 0 0 c力 セル時間 T 6にはキュー 3 0 0 a力 セル時間 T 7にはキュー 3 0 0 c力;、 セル時間 T 8 にはキュー 3 0 0 aが選択され、 それぞれのキューからセルが出力されている。 つぎに、 入力バッファ型セルスィッチの場合について説明する。 第 1 3図は、 一定周期で連続的に多対多 (この場合 3対 3 ) のセル交換動作を行う入力バッフ ァ型セルスィッチ (以下、 セルスィッチとする) の構成および動作を示すブロッ ク図である。 セルスィツチは、 入力バッファ部 2 1 0 ( 2 1 0 a〜2 1 0 cを示 す) と、 アービタ 1 1 0と、 スィツチ部 5 1 0とを備えている。
入力バッファ部 2 1 0 a〜2 1 0 cはそれぞれ同じ機能を備えている。 入カバ ッファ部 2 1 0 aは、 入線 8 0 0 aから入力される固定長データであるセルを出 線 9 0 0 ( 9 0 0 a〜9 0 0 cを示す) に対応して振り分ける振り分け部 4 2 0 aと、 振り分け部 4 2 0 aによって振り分けられたセルを格納する F I F O構成 の仮想出力キュー 3 10 a (3 1 0 a _ l〜3 10 a— 3を示す) と、 仮想出力 キュー 3 1 0 aにセルが格納されたことをアービタ 1 1 0に通知するための調停 要求信号 6 1 0 aを送信するとともに、 アービタ 1 1 0から受信した送出許可信 号 7 1 0 aに基づいて仮想出力キュー 3 1 0 aの何れか 1つからセルを読み出し てスィツチ部 5 1 0に出力する選択部 4 1 0 aとを備えている。
アービタ 1 1 0は、 選択部 4 1 0 (4 1 0 a〜 4 10 cを示す) がそれぞれ送 信した調停要求信号 6 1 0 (6 1 0 a〜 6 1 0 cを示す) に基づいてつぎにセル 送出許可を与える仮想出力キュー 3 1 0 a〜3 1 0 cを選択する出力調停を行レ、、 セルを出力する仮想出力キュー 3 10 a〜 3 1 0 cを通知するための送出許可信 号 7 1 0 (7 1 0 a〜7 1 0 cを示す) を選択部 4 1 0に出力する。 また、 ァー ビタ 1 1 0は、 入力バッファ部 2 1 0から送出されたセルをどの出線 900に出 力するかを制御する出力調停結果である交換情報 720をスィツチ部 5 1 0に出 力する。 スィッチ部 5 1 0は、 交換情報 720に基づいて入力バッファ部 2 1 0 から出力されたセルを出線 900にそれぞれ転送する。
つぎに、 セルスィツチの動作について説明する。 各入線 800から入力された セルは、 セルヘッダ内の宛先情報に基づいて振り分け部 420によって所望の出 線 900に対応する仮想出力キュー 3 1 0 a〜 3.1 0 cに格納される。 第 1 3図 においては、 仮想出力キュー 3 1 0 a— 1には入線 800 aから入力された出線
900 a宛てのセル 「t o # 1」 力 仮想出力キュ一 3 10 a— 2には入線 80 0 aから入力された出線 900 b宛てのセル 「t o # 2」 力 仮想出力キュー 3
1 0 a— 3には入線 800 aから入力された出線 900 c宛てのセル 「 t o # 3 j 、 仮想出力キュー 3 1 0 b— 1には入線 800 bから入力された出線 900 a宛てのセル 「t o # 1」 力 仮想出力キュー 3 1 0 b— 2には入線 800 b力 ら入力された出線 900 b宛てのセル 「 t o # 2」 力 仮想出力キュー 3 1 0 b — 3には入線 800 bから入力された出線 900 c宛てのセル 「 t o # 3」 仮想出力キュー 3 1 0 c - 1には入線 800 cから入力された出線 900 a宛て のセル 「 t o # 1」 力 仮想出力キュー 3 1 0 c— 2には入線 800 cから入力 された出線 9 0 0 b宛てのセル 「 t o # 2」 力 仮想出力キュー 3 1 0 c _ 3に は入線 8 0 0 cから入力された出線 9 0 0 c宛てのセル 「t o # 3」 がそれぞれ 格納されている。
アービタ 1 1 0は、 選択部 4 1 0から送信された調停要求信号 6 1 0によって 仮想出力キュー 3 1 0 a〜 3 1 0 c内の送信待ちセルの待ち行列の有無を監視し て、 待ち行列が存在する仮想出力キュー 3 1 0 a〜3 1 0 cの中から、 入力同士 ノ出線同士が重ならない複数のセル転送パスの組み合わせを一組抽出する。 ァー ビタ 1 1 0は、 抽出したセル転送パスの組み合わせに基づいて送出許可信号 7 1 0を選択部 4 1 0に出力する。 第 1 3図において、 アービタ 1 1 0は、 送出許可 信号 7 1 0 aによって仮想出力キュー 3 1 0 a— 2を、 送出許可信号 7 1 0 に よって仮想出力キュー 3 1 0 b— 1を、 送出許可信号 7 1 0 cによって仮想出力 キュー 3 1 0 c— 3をそれぞれ選択しているため、 入線 8 0 0 aから入力された セル 「 t o # 2」 が出線 9 0 0 bに、 入線 8 0 0 bから入力されたセル 「 t o # 1 J が出線 9 0 0 aに、 入線 8. 0 0 cから入力されたセノレ 「 t o # 3」 が出線 9 0 0 cにそれぞれ転送されている。 このようなセルの転送、 すなわちセル転送パ ス抽出動作は、 1セル時間に 1回実行される。
つぎに第 1 4図を用いて第 1の従来のァービトレーシヨン制御方法を適用した セルスィツチの入力バッファ部 2 1 0とアービタ 1 1 0との間の動作シーケンス を説明する。
入力バッファ部 2 1 0 aは仮想出力キュー 3 1 0 aの待ち行列の有無を調停要 求信号 6 1 0 aとして、 入力バッファ部 2 1 0 bは仮想出力キュー 3 1 0 bの待 ち行列の有無を調停要求信号 6 1 0 bとして、 入力バッファ部 2 1 0 cは仮想出 力キュー 3 1 0 cの待ち行列の有無を調停要求信号 6 1 0 cとして、 それぞれァ ービタ 1 1 0に送信する (ステップ S 0 1 1 ) 。 1つの仮想出力キューの待ち行 列の有無は 1ビットで表すことができる。 したがって、 各入力バッファ部 2 1 0 が送信する情報量は 「1ビット X出線数」 であり、 アービタ 1 1 0が受信する総 情報量は、 「入力バッファ部 2 1 0が送信する情報量 X入線数」 となる。 第 1 3 図の場合は、 入線数が 「3」 、 出線数が 「3」 であるので、 アービタ 1 1 0が受 信する総情報量は 9ビットとなる。
アービタ 1 1 0は、 入力バッファ部 2 1 0から受信した調停要求信号 6 1 0の うち 「セル有り」 を示すもの、 すなわち待ち行列のある仮想出力キュー 3 1 0 a 〜3 1 0 cを対象として出力調停を実行する (ステップ S O 1 2 ) 。
アービタ 1 1 0は、 出力調停を行った結果勝ち残った仮想出力キューに対して 送出許可を、 それ以外の仮想出力キューに対しては出力禁止を示す送出許可信号 7 1 0をそれぞれの入力バッファ部 2 1 0に送信する (ステップ S O 1 3 ) 。 こ こで、 1つの入力バッファ部 2 1 0に送信する送出許可信号 7 1 0は、 「出線数 を 2進数で表すのに必要なビット数十セル送出許可」 である。 したがって、 ァー ビタ 1 1 0が送信する総情報量は、 「 (出線数を 2進数で表すのに必要なビット 数十セル送出許可) X入線数」 となる。 第 1 3図の場合は、 入線数 「3」 、 出線 数 「3」 であるので、 アービタ 1 1 0が送信する総情報量は 9ビットであり、 各 入力バッファ部 2 1 0が受信する情報量は 3.ビッ小となる。
入力バッファ部 2 1 0は、 送出許可信号 7 1 0によってセル送出を許可された 仮想出力キュー 3 1 0に格納されているセルを 1つスィッチ部 5 1 0に出力する。 そして、 セルを出力した仮想出力キュー 3 1 0の待ち行列の長さを 1減算して更 新する (ステップ S 0 1 4 ) 。 たとえば、 アービタ 1 1 0が送信した送出許可信 号 7 1 0 aが仮想出力キュー 3 1 0 a— 2を、 送出許可信号 7 1 0 bが仮想出力 キュー 3 1 O b— lを、 送出許可信号 7 1 0 cが仮想出力キュー 3 1 0 c— 3を 選択して送出許可を与えていたとする。 この場合、 入力バッファ部 2 1 0 aは仮 想出力キュー 3 1 0 a— 2のセルをスィッチ部 5 1 0に出力するとともに仮想出 力キュー 3 1 0 a— 2の待ち行列の長さ N 1—2から 1減算して待ち行列の長さ N 1—2を更新する。 入力バッファ部 2 1 0 bは仮想出力キュー 3 1 0 b— 1の セルをスィツチ部 5 1 0に出力するとともに仮想出力キュ一 3 1 0 b _ 1の待ち 行列の長さ N 2— 1から 1減算して待ち行列の長さ N 2— 1を更新する。 入カバ ッファ部 2 1 0 cは仮想出力キュー 3 1 0 c— 3のセルをスィツチ部 5 1 0に出 力するとともに仮想出力キュー 3 1 0 c— 3の待ち行列の長さ N 3— 3から 1減 算して待ち行列の長さ N 3— 3を更新する。
以上説明したように、 第 1の従来のァービトレーシヨン制御方法をセルスィッ チに適用した場合も、 セル多重化装置の場合と同様に、 アービタ 1 1 0は、 仮想 出力キュー 3 1 0 a〜 3 1 0 cを今回の出力調停の対象とすべき力否かの判断を、 仮想出力キュー 3 1 0 a〜3 1 0 c内のセルの有無を示す 1ビッ卜の情報で行う ことができる。 すなわち、 アービタ 1 1 0は、 出力調停の対象とすべき力、否かの 判断に複数のビット情報を要する待ち行列の長さの情報を必要としない。 このた め、 各入力バッファ部 2 1 0は仮想出力キュー 3 1 0〜3 1 0 c内の待ち行列に 関する情報として、 出線数分 (この場合は 3ビット) のセル有無情報のみを調停 要求信号 6 1 0に挿入して、 アービタ 1 1 0に送信すればよい。 また、 時間経過 に沿った動作は、 第 1 2図に示したセル多重ィヒ装置と基本的に同じになる。
第 1の従来のァービトレ一ション制御方法は、 入カバッファ部で待ち行列の長 さを管理した。 し力 し、 待ち行列の長さはアービタで管理することもできる。 第 1 0図に示したセル多重化装置において、 待ち行列の長さをアービタ 1 0 0で管 理する第 2の従来のアービトレーション制御方法による入力バッファ部 2 0 0と アービタ 1 0 0との間の動作シーケンスを第 1 5図を用いて説明する。 第 2の従 来のァービトレーション制御方法は、 各キュー 3 0 0の待ち行列の長さ N a (N a l〜N a 3を示す) をアービタ 1 0 0側で管理することに特徴がある。 第 1 5 図では、アービタ 1 0 0側で管理されている待ち行列の長さを N aとしているが、 待ち行列の長さ N aと入力バッファ部 2 0 0の待ち行列の長さ Nは基本的に同じ 値である。
入力バッファ部 2 0 0は、 それぞれのキュー 3 0 0に 1セル時間前にセルが到 着したか否か (セル到着情報) を調停要求信号 6 0 0としてアービタ 1 0 0に送 信する (ステップ S 0 2 1 ) 。 セルが到着したか否かは 1ビットで表すことがで きる。したがって、各入力バッファ部 2 0 0が送信する情報量は 1ビットであり、 ァービタ 1 0 0が受信する総情報量は、 「 1ビット X入線数」 となる。 第 1 0図 の場合は、 入線数が 「3」 であるので、 アービタ 1 0 0が受信する総情報量は 3 ビットとなる。
アービタ 1 0 0は、 入力バッファ部 2 0 0から受信した調停要求信号 6 0 0の うち 「セル到着あり」 を示すキュー 3 0 0に対応する待ち行列の長さ N aの値に 「1」 を加算して待ち行列の長さ N aを更新する (ステップ S O 2 2 ) 。 ァ一ビ タ 1 0 0は、 待ち行列の長さ N aの値が 「0」 より大きいキュー 3 0 0を対象と して出力調停を実行する (ステップ S 0 2 3 ) 。
アービタ 1 0 0は、 出力調停を行った結果勝ち残ったキューに対して送出許可 を、 それ以外のキューに対しては出力禁止を示す送出許可信号 7 0 0をそれぞれ の入力バッファ部 2 0 0に送信すると同時に、 出力を許可したキュ一を有する入 力バッファ部に対応する待ち行列の長さから 1減算して待ち行列の長さ Nを更新 する (ステップ S O 2 4 , S O 2 5 ) 。 第 1の従来のアービトレーション制御方 法と同様に、 アービタ 1 0 0が送信する総情報量は 「1ビット X入線数」 であり 、 各入カバッファ部 2 0 0が受信する情報量はそれぞれ 1ビットとなる。
セルの送出許可を示す送出許可信号 7 0 0を受信した入カバッファ部 2 0 0は、 キューに格納されているセルを 1つ多重化部 5 0 0に出力する。
このように第 2の従来のァービトレーシヨン制御方法では、 キュー 3 0 0に 1 セル時間前にセルが到着したか否かの情報を調停要求信号 6 0 0に挿入してァー ビタ 1 0 0に送信する。 したがって、 第 1の従来のァービトレーション制御方法 では調停要求信号 6 0 0がキュー 3 0 0内に待ち行列が存在している間は連続し て有意になるのに対して、 第 2の従来のアービトレーション制御方法では、 キュ 一 3 0 0に新たにセルが到着した時だけ、 一時的に有意になる。
第 1 6図は、 第 2の従来のアービトレーション制御方法を適用したセル多重化 装置におけるセル多重化動作を時間経過 (セル時間 T 1〜T 1 3 ) に沿って詳細 に示した図である。 第 1 6図においては、 第 1 2図と同様にセル時間 Τ 2におい て入線 8 0 0 ( # 1〜# 3 ) 力 らセルが到着してキュー 3 0 0にそれぞれ格納さ れている。 セル時間 T 3において、 入力バッファ部 2 0 0は、 セル時間 Τ 2にキュー 3 0 0にセルが到着したことをそれぞれ調停要求信号 6 0 0にてァービタ 1 0 0に通 知する。 し力 し、 調停要求信号 6 0 0に伝送遅延があるため、 セルの到着がァー ビタ 1 0 0に伝わって待ち行列の長さ N aに 1加算されるのは、 入力バッファ部 2 0 0で待ち行列の長さ Nが 1加算されたつぎのセル時間 (1セル時間遅れ) の セル時間 T 4となる。
セル時間 T 4において、 了一ビタ 1 0 0は待ち行列の長さ N aに 1加算した後 に出力調停を行って、 その結果を送出許可信号 7 0 0として入力バッファ部 2 0 0にそれぞれ出力するとともに、 出力調停結果を待ち行列の長さ N aに反映させ る。 ここでは、 出力調停によってキュー 3 0 0 aが勝ち残つたものとすると、 ァ —ビタ 1 0 0は、 待ち行列の長さ N a 1から 1減算する。 入力バッファ部 2 0 0 aは、 キュー 3 0 0 aからセルを送出する。 このような動作を入力バッファ部 2 0 0とアービタ 1 0 0は繰り返す。 アービタ 1 0 0の出力調停のアルゴリズムは ラウンドロビンとなっており、 第 1 6図においては、 セル時間 T 4にはキュー 3 0 0 a ヽ セル時間 Τ 5にはキュー 3 0 0 b力 セル時間 T 6にはキュー 3 0 0 c力 セル時間 T 7にはキュー 3 0 0 a力 セル時間 T 8にはキュー.3 0 0 c力 セル時間 T 9にはキュー 3 0 0 aが選択され、 それぞれのキューからセルが出力 されている。
このように、 第 2の従来のアービトレーション制御方法では、 第 1の従来のァ 一ビトレーション制御方法と異なり、 ァービタ 1 0 0が入カバッファ部 2 0 0に 出力する送出許可信号 7 0 0の出力調停結果は、 その後の調停要求信号 6 0 0の セル到着情報に基本的に一切反映されることはなく、 アービタ 1 0 0が管理する 待ち行列の長さ N aのみに即座に反映される。 すなわち、 アービタ 1 0 0が待ち 行列の長さ N aを管理することにより、 調停要求信号 6 0 0や送出許可信号 7 0 0に伝送遅延がある場合や、 セル送出許可を受けたキューからセルが送出される までに送出遅延がある場合でも、 これらの影響を出力調停動作が受けることはな レ、。 第 1 6図においては、 送出許可信号 7 0 0の伝送遅延とキュー 3 0 0からの セルの送出遅延とで 3セル時間の遅延がある。 第 1 2図に示した第 1の従来のァ —ビトレ一シヨン制御方法による動作と比較すると、 調停要求信号 6 0 0の伝送 遅延による時間差はあるが、 第 1の従来のァービトレーション制御方法の待ち行 列の長さ N 1〜N 3の遷移パターンおよび出力調停結果と、 第 2の従来のァービ トレーシヨン制御方法の待ち行列の長さ N a:!〜 N a 3の遷移パターンおよび出 力調停結果とは、 同一となっている。 すなわち、 第 2の従来のァービトレーショ ン制御方法の出力調停結果は、 調停要求信号 6 0 0と送出許可信号 7 0 0の伝送 遅延およびセルの送出許可を受けたキュー 3 0 0からのセルの送出遅延の影響を 全く受けないことが分かる。
第 1 3図に示したセルスィッチに第 2の従来のアービトレーション制御方法を 適用した場合の動作シーケンスは、 調停要求信号 6 1 0がそれぞれ 「セルの到着 を示す 1ビット +出線数を 2進数で表すのに必要なビット数 (この場合は 2ビッ ト) j となり、 送出許可信号 7 1 0がそれぞれ 「出線数を 2進数で表すのに必要 なビット数 +セル送出許可」 となり、 アービタ 1 1 0が管理する待ち行列の長さ が仮想出力キュー 3 1 0 a〜3 1 0 cの待ち行列の長さになるだけで、 基本的に 上述した第 2の従来のァービトレーシヨン制御方法を用いたセル多重化装置の動 作シーケンスと同様となる。
特許文献 1
特開 2 0 0 1— 0 4 5 0 4 9号公報
特許文献 2
特開平 9一 3 2 1 7 6 8号公報
しかしながら、 セル多重化装置およびセルスィツチに第 1の従来のァ一ビトレ ーション制御方法を適用した場合にキューまたは仮想出力キュー内に待ち行列が 1つでも存在したときに必ずセルを出力に転送すること、 すなわち 1 0 0 %のス ループットを保証するためには、 あるセル時間の出力調停結果が 1セル時間内に 入力バッファ部のセルの有無の情報である調停要求信号に反映され、 つぎのセル 時間の出力調停の開始時間までにアービタがそのことを認識できなければならな レ、。 もしアービタの出力調停の開始時間までに 1セル前の出力調停結果の反映が 間に合わなかった場合、 キューまたは仮想出力キュー内の待ち行列がなくなった ことをアービタが即座に認識できなくなり、 そのことを認識するまでの間、 セル が存在しないキューまたは仮想出力キューも出線調停の対象となってしまい、 ス ループットの低下を招くことになる。 すなわち、 第 1の従来のァービトレ一ショ ン制御方法において 1 0 0 %のスループットを保証するには、 入力バッファ部が 調停要求信号を送信して、 この調停要求信号に基づいてアービタが出力調停を行 つて送出許可信号を送信して、 入カバッファ部が送出許可信号によつてセルを転 送するとともに、 その結果を待ち行列の長さに反映する全ての手順を 1セル時間 内に実行しなければならず、 高速動作が要求されるどいう問題点があった。
これに対して、 第 2の従来のァービトレーション制御方法をセル多重化装置お よびセルスィツチに適用した場合、 アービタ側で待ち行列の長さを管理するよう にしているため、出力調停結果を即座に待ち行列の長さに反映することができる。 し力、しながら、 調停要求信号や送出許可信号に伝送エラーが発生して、 セルの到 着情報やセルの送出許可が正確に伝送されないと、 キューまたは仮想出力キュー 内の待ち行列の長さとアービタが管理する待ち行列の長さとの間に不整合が生じ てしまい、 二度と正常に戻らなくなることがある。 すなわち、 システムとして信 頼性にかけてしまうという問題がある。 この問題は、 入力バッファ部一アービタ 間の待ち行列の長さの不整合の検出と回復を行なぅプロ トコルを搭載することで 回避することは可能であるが、 複雑なプロトコルが必要となり、 システムの負荷 が大きくなりコス トも高くなるという問題があった。
本発明は、 上記に鑑みてなされたものであって、 高速動作や複雑なプロ トコル を用いることなくスループッ卜の高いデータ転送装置、 セル多重化装置およびセ ルスィツチを提供することを目的としている。 発明の開示
本発明にかかるデータ転送装置にあっては、 複数の固定長データを格納して、 この格納した固定長データの待ち行列の長さを調停要求信号に揷入して送信する 複数のキューと、 前記各キューからの調停要求信号に基づレ、て前記各キュ一の出 力調停を行って、 この出力調停結果を送出許可信号として各キューに送信するァ 一ビタとを有し、 前記送出許可信号に基づいて前記固定長データを出力するデー タ転送装置であって、 前記アービタは、 前記送出許可信号を送信してから当該送 出許可信号の出力調停結果が待ち行列の長さに反映された調停要求信号を受信す るまでに要する遅延時間分前から直前までの出力調停結果に基づいて前記調停要 求信号内の待ち行列の長さを補正して、 補正後の待ち行列の長さに基づいて出力 調停を行うことを特 ί敷とする。
この発明によれば、 アービタ力 送出許可信号を送信してからこの送出許可信 号の出力調停結果が待ち行列の長さに反映された調停要求信号を受信するまでに 要する遅延時間分前から直前までの出力調停結果に基づいて前記調停要求信号内 の待ち行列の長さを補正して、 補正後の待ち行列の長さに基づいて出力調停を行 うようにしている。 図面の簡単な説明
第 1図は、 この発明における実施の形態 1のセル多重化装置の構成および動作 を示すブロック図であり、 第 2図は、 この発明における実施の形態 1のセル多重 化装置の動作を説明するためのシーケンス図であり、 第 3図は、 この発明におけ る実施の形態 1のセル多重化装置の動作を説明するための図であり、 第 4図は、 この発明における実施の形態 1のセル多重ィ匕装置の動作を説明するための図であ り、 第 5囱は、 この発明における実施の形態 2のセルスィッチの構成および動作 を示すブロック図であり、 第 6図は、 この発明における実施の形態 2のセルスィ ツチの動作を説明するためのシーケンス図であり、 第 7図は、 この発明における 実施の形態 3のセル多重化装置の動作を説明するための図であり、 第 8図は、 こ の発明における実施の形態 4のセル多重化装置の動作を説明するための図であり、 第 9図は、 この発明における実施の形態 6のセル多重化装置の動作を説明するた めの図であり、 第 1 0図は、 従来のセル多重化装置の構成を示すブロック図であ り、 第 1 1図は、 従来のセル多重化装置の動作を説明するためのシーケンス図で あり、 第 1 2図は、 従来のセル多重化装置の動作を説明するための図であり、 第 1 3図は、 従来のセルスィッチの構成を説明するための図であり、 第 1 4図は、 従来のセルスィッチの動作を説明するためのシーケンス図であり、 第 1 5図は、 従来のセル多重化装置の動作を説明するためのシーケンス図であり、第 1 6図は、 従来のセル多重化装置の動作を説明するための図である。 発明を実施するための最良の形態
以下に、 本発明にかかるデータ転送装置、 セル多重化装置おょぴセルスィッチ の実施の形態を図面に基づいて詳細に説明する。 なお、 この実施の形態により本 発明が限定されるものではない。
実施の形態 1 .
第 1図〜第 4図を用いてこの発明の実施の形態 1を説明する。 第 1図は、 この 発明における実施の形態 1のデータ転送装置であるセル多重化装置の構成および 動作を示すブロック図である。 第 1図に示したセル多重化装置は、 入力バッファ 部 2 ( 2 a〜2 cを示す) と、 アービタ 1と、 多重化部 5とを備えている。
入力バッファ部 2 a〜2 cはそれぞれ同じ機能を備えている。 入力バッファ部 2 aは入線 8 aから入力される固定長データであるセルを格納する F I F O構成 のキュー 3 aと、 キュー 3 aにセルが格納されたことをアービタ 1に通知するた めの調停要求信号 6 aを送信するとともに、 アービタ 1から受信した送出許可信 号 7 aに基づいてセルを多重ィヒ部 5に出力する力否かを決定する読み出し制御部 4 aとを備えている。
ァービタ 1は、 読み出し制御部 4 ( 4 a ~ 4 cを示す) がそれぞれ送信した調 停要求信号 6 ( 6 a〜6 cを示す) に基づいてつぎにセル送出許可を与えるキュ 一をキュー 3 ( 3 a〜3 cを示す) 力 ^選択する出力調停を行い、 セルの送出許 可 Z禁止を通知するための送出許可信号 7 ( 7 a〜7 cを示す) を読み出し制御 部 4にそれぞれ出力する。 多重化部 5は、 読み出し制御部 4のいずれかから出力 されたセルを出線 9に転送する。
つぎに、 セル多重化装置の動作について説明する。 各入線 8 ( 8 a〜8 cを示 す)から入力されたセルは、到着順にキュー 3に格納される。第 1図においては、 キュー 3 aには、 入線 8 aから最初に入力されたセル 「# 1ー 1」 、 つぎに入力 されたセノレ 「# 1一 2」 、 そのつぎに入力されたセノレ 「# 1— 3」 の 3つのセノレ が格納されている。 キュー 3 bには、 入線 8 bから入力されたセル 「# 2— 1」 が格納されている。 キュー 3 cには、 入線 8 cから最初に入力されたセル 「# 3 — 1」 、 つぎに入力されたセル 「# 3— 2」 が格納されている。
アービタ 1は、 読み出し制御部 4から送信された調停要求信号 6によってキュ 一 3内の送信待ちセルの待ち行列の有無を監視して、 たとえば、 ラウンド口ビン などの所定のアルゴリズムにしたがつて待ち行列が存在するキユー 3の中から 1 つのキューを選択する。アービタ 1は、選択したキュー 3に対しては送出許可を、 それ以外のキュー 3に対しては送出禁止を示す送出許可信号 7をそれぞれ出力し て、 1つのキューに対してセルの送出を指示する。 第 1図において、 アービタ 1 は、 送出許可信号 7 aに送出許可を、 送出許可信号 7 b, 7 cには送出禁止とし て送信しているため、 読み出し制御部 4 aがキュー 3 a内のセル 「# 1— 1」 を 多重化部 5に出力し、多重化部 5が、セル「# 1— 1」を出線 9に転送している。 つぎに、 第 2図を用いてこの発明における実施の形態 1のセル多重化装置の入 力バッファ部 2とアービタ 1との間の動作シーケンスを説明する。 なお、 この後 の説明では、 底が 2の 1 o g関数を 「 1 o g 2 ( x ) [ xは自然数] 」 と表記す る。 また、 送出許可信号 7で示した出力調停結果が調停要求信号 6に反映された ことをアービタ 1が認識するまでの遅延時間、 すなわち、 アービタ 1が送出許可 信号 7を送信してから、 その指示にしたがってセルを送出したキュー 3の待ち行 列の長さ N (N 1〜N 3を示す) が 1減算されて、 更新された待ち行列の長さ N を調停要求信号 6によってアービタ 1力 S認識するまでの遅延時間を Dセル時間、 さらにキュー 3の深さを Nm a xセルと定義する。 入力バッファ部 2は、 キュー 3のセル蓄積情報である待ち行列の長さ Nを調停 要求信号 6としてアービタ 1に送信する (ステップ S 101) 。 キュー 3の深さ は Nma Xセルであるので、 それぞれの待ち行列の長さ Nは Nm a xを 2進数で 表すのに必要なビット数 「 1 o g 2 (Nma x) ビット」 で表すことができる。 また、 セルの有無は 1ビットで表すことができる。 したがって、 各入力バッファ 部 2がそれぞれ送信する情報量は 「 1 o g 2 (Nma x) ビット + 1ビット」 で あり、 アービタ 1が受信する総情報量は、 「 { 1 o g 2 (Nm a x) ビット + 1 ビット } X入線数」 となる。 第 1図の場合は、 入線数が 「3」 であるので、 ァ一 ビタ 1が受信する総情報量は 「 3 X { 1 o g 2 (Nm a x) + 1 } 」 ビットとな る。
アービタ 1は、 入力バッファ部 2から受信した調停要求信号 6のうち 「セル有 り」 を示すものの待ち行列の長さ Nに対して、 (D— 1) セル時間前から直前ま での出力調停結果に基づいて補正を行い、 補 ¾後の待ち行列の長さ Nc (Nc 1 〜Nc 3を示す) を算出する (ステップ S 102) 。 つまり、 調停要求信号 6に て通知される待ち行列の長さ Nは (D— 1) セル時間前の情報であるので、 (D — 1) セル時間前までの間に当該キューが勝ち残った回数 (セルが出力された回 数) を待ち行列の長さ Nから減算すれば、 現在の補正後の待ち行列の長さ Ncを 算出することができる。 すなわち、 補正後の待ち行列の長さ Ncは、
(式 1)
N c =N- { (D- 1) セル時間前までの間に当該キューが勝ち残った回数 } と成る。 したがって、 第 1図の場合は、
Nc 1=N1- { (D- 1) セル時間前までの間にキュー 3 aが勝ち残った回数 }
Nc 2=N2- { (D- 1) セル時間前までの間にキュー 3 bが勝ち残った回数 }
Nc 3=N3- { (D— 1) セル時間前までの間にキュー 3 cが勝ち残った回数 で算出することができる。
アービタ 1は、 算出した補正後の待ち行列の長さ N cに基づいて出力調停を実 行する (ステップ S 103) 。 アービタ 1は、 勝ち残ったキューを記憶しておく とともに、 出力調停を行った結果勝ち残ったキューに対して送出許可を、 それ以 外のキューに対しては出力禁止を示す送出許可信号 7をそれぞれの入力バッファ 部 2に送信する (ステップ S 104) 。 セルの送出許可 禁止は 1ビッ卜で表す ことができる。 したがって、 ァービタ 1が送信する総情報量は 「 1ビット X入線 数」 であり、 各入力バッファ部 2が受信する情報量は 1ビットとなる。 第 1図の 場合は、 入線数が 「3」 であるので、 アービタ 1が送信する総情報量は 3ビット となる。
セルの送出許可を示す送出許可信号 7を受信した入カバッファ部 2は、 キュー 3に格納されているセルを 1つ多重化部 5に出力する。 そして、 キュー 3の待ち 行列の長さ Nを 1減算して更新する (ステップ S 105) 。 たとえば、 アービタ 1が送信した送出許可信号 7 aが送出許可を示し、 送出許可信号 7 b, 7 cが送 出禁止を示していたとすると、 入力バッファ部 2 aは、 キュー 3 aからセルを読 み出して多重ィ匕部 5に出力する。 そして、 待ち行列の長さ N1から 1減算して待 ち行列の長さ N 1を更新する。 このとき、 入力バッファ部 2 b, 2 cはセルを送 出していないので、 待ち行列の長さ N 2, N 3を更新しない。
以上説明したように、 この発明における実施の形態 1のセル多重化装置は、 入 力バッファ部 2はキュー 3内の待ち行列に関する情報として、 [l o g 2 (Nm a x) ビット] の待ち行列の長さ Nを調停要求信号 6に挿入し、 アービタ 1宛て に連続的に送信している。 ·
第 3図は、 この発明における実施の形態 1のセル多重化装置におけるセル多重 化動作を、 時間経過 (セル時間 T 1〜T 13) に沿って詳細に示した図である。 第 3図においては、 セル時間 Τ2において、 入線 8 (# 1〜# 3) からセルが到 着して、 キュー 3にそれぞれ格納される。
セル時間 Τ 3において、 入力バッファ部 2は、 キュー 3の待ち行列の長さ Νを それぞれの調停要求信号 6にてアービタ 1に通知する。
セル時間 T 4におレ、て、 セル時間 T 3に入カバッファ部 2が送出した調停要求 信号 6をアービタ 1は受信する。 すなわち、 入力バッファ部 2で待ち行列の長さ Nが 1加算された調停要求信号 6は 1セル時間遅延してアービタ 1に通知される。 アービタ 1は、 (式 1 ) を用いて遅延時間を考慮した待ち行列の長さ N cを算出 して、 待ち行列の長さ Nじが 「0」 でないキュー 3を対象として出力調停を行な つて、 その結果を送出許可信号 7として入力バッファ部 2にそれぞれ出力する。 ここでは、 出力調停によってキュー 3 aが勝ち残つたものとする。 アービタ 1が 送出許可信号 7にて送信した結果が調停要求信号 6に反映されるまでにも遅延が あり、. 第 3図においては、 その遅延は 3セル時間である。 したがって、 セル時間 T 4にァービタ 1が送信した送出許可信号 7は、 セル時間 T 7にアービタ 1が受 信する調停要求信号 6に反映されている。 すなわち、 セル時間 T 4の出力調停結 果によりキュー 3 aからセルを転送した結果として待ち行列の長さ N 1が 1減算 されたことは、 セル時間 T 7の調停要求信号 6 aに反映されている。
アービタ 1の出力調停のアルゴリズムはラウンドロビンとなっており、 第 3図 においては、 セル時間 T 4にはキュー 3 a力 セル時間 T 5にはキュー 3 b力 セル時間 T 6にはキュー 3 c 、 セル時間 T 7にはキュー 3 a 、 セル時間 T 8 にはキュー 3 c力 S、 セル時間 T 9にはキュー 3 aが選択され、 それぞれのキュー からセルが出力されている。
第 2の従来のァービトレーション制御方法を適用したセル多重化装置と異なり、 この発明における実施の形態 1のセル多重化装置では、 送出許可信号 7で指示さ れた出力調停結果は、 その後の調停要求信号 6に反映される。 アービタ 1は、 調 停要求信号 6で毎セル時間通知される待ち行列の長さ Nを参照して、 出力調停の 対象となるキュー 3を決定する。 し力 し、 待ち行列の長さ Nをそのまま参照し、 Nが 0でない (N > 0 ) キュー 3を出力調停の対象としてしまうと、 第 1の従来 のァービトレーシヨン制御方法を適用したセル多重化装置と全く同じ問題が発生 し、 1 0 0 %のスル一プットを保証できなくなる。 つまり、 遅延時間 Dとァービ タ 1における出力調停の実行時間 Cの合計が 1セル時間 Tを超えていると (D + C>Tの場合) 、 キュ一 3が空になったことをアービタ 1が認識するタイミング がセル時間レベルで遅れてしまい、 スループッ卜の低下を招くことになる。
そこで、 この発明における実施の形態 1のセル多重化装置では、 アービタ 1が (式 1) を用いてそれぞれの待ち行列の長さ Nを補正して、 補正後の待ち行列の 長さ Ncを算出して、 算出した待ち行列の長さ Ncが 0でない (Nc >0) キュ 一 3を出力調停の対象とすることにより、 遅延時間 Dの影響を排除している。 遅延時間 Dの要因となる各種遅延 (伝送遅延や送出遅延) がシステムに存在す ると、 入力バッファ部 2から通知された待ち行列の長さ Nは、 正確な数値 (未調 停のセル数) を示さない。 つまり、 すでにキュー 3内に未調停のセルは 1つも残 つていない場合でも、 待ち行列の長さ Nが 1以上の数値を示すことがある。 この 問題は、 (式 1) で示したように、 「 (D— 1) セル時間前までの間に当該キュ 一から送出されたセル数を、待ち行列の長さ Nから減算する」ことで解決できる。 このように算出された補正後の待ち行列の長さ N cは、 遅延時間 Dの影響が排除 された正確な 「未調停のセル数」 を示す。
第 3図においては、 遅延時間 Dは 4セル時間である。 セル時間 T 10に着目す ると、 入力バッファ部 2 aからの調停要求信号 6 aはキュー 3 aの待ち行列の長 さ N1として 「2」 を示している。 一方、 キュー 3 aが (D— 1) =3セル時間 前までの間に勝ち残った回数は、セル時間 T 7とセル時間 T 9の合計 2回である。 したがって、 キュー 3 aの補正後の待ち行列の長さ N c 1は、
N c 1 =N 1— 3セル時間前まで (セル時間 T7〜T9) の間にキュー 3 aが勝 ち残った回数 =2— 2=0
となり、 キュー 3 aはこの時点ですでに空となっていることが判明するため、 セ ル時間 T 10におけるアービタ 1の出力調停の対象から除外される。
第 12図で示した動作例と比較すると、 調停要求信号 6の伝送遅延による時間 差はあるが、 第 1の従来のァ一ビトレーション制御方法を適用したセル多重化装 置の待ち行列の長さ N 1〜N 3の遷移パターンおよび出力調停結果と、 第 3図に 示したこの発明における実施の形態 1の補正後の待ち行列の長さ N c l〜N c 1 の遷移パターンおよび出力調停結果とは同一となっており、 この発明の実施の形 態 1のセル多重化装置は、 調停要求信号 6と送出許可信号 7の伝送遅延、 および セルの送出許可を受けたキュー 3からセルが送出されるまでの送出遅延の影響を 全く受けないことが分かる。 すなわち、 この発明の実施の形態 1のセル多重化装 置では、 待ち行列の長さ Nから算出した補正後の待ち行列の長さ N cに基づいて アービタ 1が出力調停を実行するのに要する時間と、 送出許可信号 7で示された 出力調停結果に基づいて入カバッファ部 2が待ち行列の長さ Nを更新するのに要 する時間の合計が 1セル時間内に収まれば 1 0 0 %のスループットを保証できる ため、 第 1の従来のァービトレーション制御方法を適用したセル多重化装置より 動作速度を遅くしても、 スループッ卜の低下を招くことがない。
第 4図は、 調停要求信号 6に伝送エラー (異常) が発生した時のこの発明にお ける実施の形態 1のセル多重化装置のセル多重化動作を、 時間経過 (セル時間 T 1〜T 1 3 ) に沿って詳細に示した図である。 第 4図においては、 第 3図と同様 にセル時間 Τ 2に入線 8 ( # 1〜# 3 ) から、 セル時間 Τ 3に入線 8 cから、 セ ル時間 Τ 4 , Τ 5に入線 8 aから、 合計 6つのセルがキュー 3に到着している。 その他の動作も第 3図とほぼ同じとなっているが、 第 4図では、 セル時間 T 7で 入力バッファ部 2 aからの調停要求信号 6 aに f云送エラーが発生している。 その 結果、 キュー 3 aに関するセル蓄積情報が消失し、 待ち行列の長さ N 1が不明 ( 第 4図においては 「?」 ) となり、 セル時間 T 7におけるアービタ 1の出力調停 の対象からキュー 3 aが外されている。 し力 し、 つぎのセル時間 T 8で、 入カバ ッファ部 2 aからの調停要求信号 6に伝送エラーがなくなり、 それと共にセル多 重化装置の動作も正常な状態に復帰している。
このようにこの実施の形態 1では、 アービタ 1が、 送出許可信号 7を送信して 力 らこの送出許可信号 7の出力調停結果が待ち行列の長さ Nに反映された調停要 求信号 6を受信するまでに要する遅延時間分前から直前までの出力調停結果に基 づいて調停要求信号 6内の待ち行列の長さ Nを補正して、 補正後の待ち行列の長 さ N cに基づいて出力調停を行うようにしているため、 高速動作や複雑なプロト コルを用いることなく、 1 0 0 %のスループットを保証することができる。
また、 アービタ 1は、 待ち行列の長さ Nから補正後の待ち行列の長さ N cを毎 回新たに算出しており、 前回算出した補正後の待ち行列の長さ N cを全く引用し ないため、 第 2の従来のアービトレーション制御方法を適用したセル多重化装置 のように待ち行列の長さ Nと補正後の待ち行列の長さ N cとの間の不整合は基本 的に発生しない。 このため、 この実施の形態 1では、 調停要求信号 6に伝送エラ 一が検出された場合には、 そのセル時間だけ当該入カバッファ部 2内のキュー 3 を一時的に出力調停の対象から外す、 あるいは、 送出許可信号 7に伝送エラーが 検出された場合には、 セルの送出を行わない、 という対応をするだけで速やかに 正常な動作状態に復帰できるため、 第 2の従来のァービトレーシヨン制御方法を 適用したセル多重化装置のように、 エラー回復手順を含む複雑なプロ トコノレを用 いる必要がない。
なお、 第 1図では、 多重化部 5は、 送出許可信号 7を参照していないが、 多重 化部 5が送出許可信号 7を参照してセルを読み出すようにしてもよい。
また、セル多重化装置の各入力バッファ部 2内のキュー 3の数は 1つとしたが、 これに限るものではなく、 たとえば、 遅延優先クラス別に複数のキューを備える ようにしてもよい。
実施の形態 2 .
第 5図および第 6図を用いてこの発明の実施の形態 2を説明する。 第 5図は、 この発明における実施の形態 2のデータ転送装置であるセルスィッチの構成およ び動作を示すブロック図である。 セルスィッチは、 入力バッファ部 2 1 ( 2 1 a 〜2 1 cを示す) と、 アービタ 1 1と、 スィッチ部 5 1とを備えている。
入力バッファ部 2 1 a〜2 1 cはそれぞれ同じ機能を備えている。.入力バッフ ァ部 2 1 aは、 入線 8 aから入力される固定長データであるセルを出線 9 ( 9 a 〜9 cを示す) に対応して振り分ける振り分け部 4 2 aと、 振り分け部 4 2 aに よって振り分けられたセルを格納する F I F O構成の仮想出力キュー 3 1 a ( 3 1 a— 1〜3 1 a— 3を示す) と、 仮想出力キュー 3 1 aにセルが格納されたこ とをアービタ 1 1に通知するための調停要求信号 6 1 aを送信するとともに、 ァ ービタ 1 1から受信した送出許可信号 7 1 aに基づいて仮 出力キュー 3 1 aの 何れか 1つからセ〉レを読み出してスィッチ部 5 1に出力する選択部 4 1 aとを備 えている。
アービタ 1 1は、 選択部 4 1 (4 1 a〜4 1 cを示す) がそれぞれ送信した調 停要求信号 6 1 (6 1 a〜6 1 cを示す) に基づいてつぎにセル送出許可を与え る仮想出力キュー 3 1 a〜3 1 cを選択する出力調停を行い、 セルを出力する仮 想出力キュー 3 1 a〜3 1 cを通知するための送出許可信号 7 1 (7 1 a〜7 1 cを示す) を選択部 4 1に出力する。 また、 アービタ 1 1は、 入力バッファ部 2 1から送出されたセルをどの出線 9に出力するかを制御する出力調停結果である 交換情報 7 2をスィツチ部 5 1に出力する。 スィツチ部 5 1は、 交換情報 72に 基づいて入力バッファ部 2 1から出力されたセルを出線 9にそれぞれ転送する。 つぎに、 セルスィッチの動作について説明する。 各入線 8から入力されたセル は、 セルヘッダ内の宛先情報に基づいて振り分け部 42によって所望の出線 9に 対応する仮想出力キュー 3 1 a〜3 1 cに格納される。 第 5図においては、 仮想 出力キュー 3 1 a— 1には入線 8 aから入力された出線 9 a宛てのセル 「 t o # 1」 力 仮 ¾f、出力キュー 3 1 a— 2には入線 8 aから入力された出線 9 b宛ての セル 「 t o # 2」 力 S、 仮想出力キュー 3 1 a— 3には入線 8 aから入力された出 線 9 c宛てのセル 「t o # 3」 、 仮想出力キュー 3 1 b— 1には入線 8 から 入力された出線 9 a宛てのセル 「 t o # l」 力 仮想出力キュー 3 1 b_ 2には 入線 8 bから入力された出線 9 b宛てのセル 「t o # 2」 力 仮想出力キュー 3 1 b— 3には入線 8 bから入力された出線 9 c宛てのセル 「 t o # 3」 、 仮想 出力キュー 3 1 c一 1には入線 8 cから入力された出線 9 a宛てのセル 「 t o # 1」 力 仮想出力キュー 3 1 c一 2には入線 8 cから入力された出線 9 b宛ての セル 「 t o # 2」 力 仮想出力キュー 3 1 c— 3には入線 8 cから入力された出 線 9 c宛てのセル 「t o # 3」 がそれぞれ格納されている。 アービタ 1 1は、 選択部 4 1から送信された調停要求信号 6 1によって仮想出 力キュー 3 1 a〜3 1 c内の送信待ちセルの待ち行列の有無を監視して、 待ち行 列が存在する仮想出力キュー 3 1 a〜3 1 cの中から、 入力同士/出線同士が重 ならない複数のセル転送パスの組み合わせを一組抽出する。 アービタ.1 1は、 抽 出したセル転送パスの組み合わせに基づいて送出許可信号 7 1を選択部 4 1に出 力する。 第 5図において、 アービタ 1 1は、 送出許可信号 7 1 aによって仮想出 力キュー 3 1 a— 2を、 送出許可信号 7 1 bによって仮想出力キュー 3 1 b— 1 を、 送出許可信号 7 1 cによって仮想出力キュー 3 1 c一 3をそれぞれ選択して いるため、 入線 8 aから入力されたセル 「 t o # 2」 が出線 9 bに、 入線 8 か ら入力されたセル 「 t o # 1」 が出線 9 aに、 入線 8 cから入力されたセル 「 t o # 3」 が出線 9 cにそれぞれ転送されている。
つぎに、 第 6図を用いてこの発明における実施の形態 2のセルスィツチの入力 バッファ部 2 1とアービタ 1 1との間の動作シーケンスを説明する。 これらの手 順は、 1セル時間に 1回実行される。
ここで、 送出許可信号 7 1で示した出力調停結果が、 調停要求信号 6 1に反映 されたことをアービタ 1 1が認識するまでの遅延時間、 すなわち、 アービタ 1 1 が送出許可信号 7 1を送信して力 ら、 その指示にしたがってセルを送出した仮想 出力キュー 3 1 a〜3 1 cの待ち行列の長さ N (N 1—:!〜 N 1— 3, N 2 - 1 〜N 2— 3 , N 3— 1〜Ν 3— 3を示す) が 1減算されて、 更新された待ち行列 の長さ Nを調停要求信号 6 1によってアービタ 1 1が認識するまでの遅延時間を Dセル時間、 さらに仮想出力キュー 3 1 a〜3 1 cの深さを N m a xセルと定義 する。
入力バッファ部 2 1は仮想出力キュー 3 1 a〜3 1 cのセルの蓄積情報である 待ち行列の長さ Nを調停要求信号 6 1としてアービタ 1 1に送信する (ステップ S 2 0 1 ) 。 仮想出力キュー 3 1 a〜3 1 cの待ち行列の深さ N m a Xセルであ るので、 それぞれの待ち行列の長さ Nは Nm a xを 2進数で表すのに必要なビッ ト数 「1 o g 2 (Nm a x ) ビット」 で表すことができる。 また、 セルの有無は 1ビットで表すことができる。 したがって、 各入力バッファ部 2 1がそれぞれ送 信する情報量は 「 U o g 2 (Nm a x ) + 1 } ビット X出線数」 であり、 ァー ビタ 1 1が受信する総情報量は、 「入カバッファ部 2 1が送信する情報量 X入線 数」 となる。 第 5図の場合は、 入線数が 「3」 、 出線数が 「3」 であるので、 ァ ービタ 1 1が受信する総情報量は 「9 X { 1 o g 2 (Nm a x ) + 1 } 」 ビット となる。
アービタ 1 1は、 入力バッファ部 2 1から受信した調停要求信号 6 1のうち 「 セル有り」 を示すものの待ち行列の長さ Nに対して、 (式 1 ) を用いて補正した 待ち行列の長さ N c (N c 1— 1〜N c 1— 3, N c 2— l〜N c 2— 3 , N c 3— l〜N c 3— 3を示す) を算出する (ステップ S 2 0 2 ) 。
アービタ 1 1は、 算出した待ち行列の長さ N cに基づいて出力調停を実行する (ステップ S 2 0 3 ) 。 アービタ 1 1は、 勝ち残った仮 、出力キューを記憶して おくとともに、 出力調停を行った結果勝ち残った仮想出力キューに対して送出許 可を、 それ以外の仮想出力キューに対しては出力禁止を示す送出許可信号 7 1を 入力バッファ部 2 1に送信する (ステップ S 2 0 4 ) 。 ここで、 1つの入力バッ ファ部 2 1に送信する送出許可信号 7 1は、 「出線数を 2進数で表すのに必要な ビット数 +セル送出許可」 である。 したがって、 アービタ 1 1が送信する総情報 量は、 「 (出線数を 2進数で表すのに必要なビット数 +セル送出許可) X入線数 」 となる。 第 5図の場合は、 入線数 「3」 、 出線数 「3」 であるので、 アービタ 1 1が送信する総情報量は 9ビットであり、 各入力バッファ部 2 1が受信する情 報量は 3ビットとなる。
入力バッファ部 2 1は、 送出許可信号 7 1によってセル送出を許可された仮想 出力キュー 3 1 a〜3 1 cに格納されているセルを 1つスィッチ部 5 1に出力す る。 そして、 セルを送出した仮想出力キュー 3 1 a〜3 1 cの待ち行列の長さ N を 1減算して更新する (ステップ S 2 0 5 ) 。 たとえば、 アービタ 1 1が送信し た送出許可信号 7 1 aが仮想出力キュー 3 1 a— 2を、 送出許可信号 7 1 bが仮 想出力キュー 3 1 b— 1を、 送出許可信号 7 1 cが仮想出力キュー 3 1 c— 3を 選択して送出許可を与えていたとする。 この場合、 入力バッファ部 2 1 aは仮想、 出力キュー 3 1 a— 2のセルをスィッチ部 5 1に出力するとともに仮想出力キュ 一 3 1 a— 2の待ち行列の長さ N 1— 2から 1減算して待ち行列の長さ N 1— 2 を更新する。 入力バッファ部 2 1 bは仮想出力キュー 3 1 b— 1のセノレをスイツ チ部 5 1に出力するとともに仮想出力キュー 3 1 b— 1の待ち行列の長さ N 2— 1から 1減算して待ち行列の長さ N 2— 1を更新する。 入力バッファ部 2 1 cは 仮想出力キュー 3 1 c一 3のセルをスィッチ部 5 1に出力するとともに仮想出力 キュー 3 1 c— 3の待ち行列の長さ N 3— 3から 1減算して待ち行列の長さ N 3 一 3を更新する。
以上説明したように、 この発明における実施の形態 2のセルスィッチは、 各入 力バッファ部 2 1は仮 出力キュー 3 1内の待ち行列に関する情報として、 [ 1 o g 2 (Nm a x ) ビット] の待ち行列の長さ Nを調停要求信号 6 1に出線数分 挿入し、 アービタ 1 1宛てに連続的に送信している。
なお、 この発明における実施の形態 2のセルスィツチの時間経過に沿った動作 の様子は、 第 3図に示した実施の形態 1のセル多重化装置の動作と基本的に同じ となる。
このようにこの実施の形態 2では、 アービタ 1 1力 送出許可信号 7 1を送信 してからこの送出許可信号 7 1の出力調停結果が待ち行列の長さ Nに反映された 調停要求信号 6 1を受信するまでに要する遅延時間分前から直前までの出力調停 結果に基づいて調停要求信号 6 1内の待ち行列の長さ Nを補正して、 補正後の待 ち行列の長さ N cに基づいて出力調停を行うようにしているため、 高速動作ゃ複 雑なプロトコルを用いることなく、 1 0 0 %のスループットを保証することがで さる。
なお、 この実施の形態 2では、 セルスィッチの各入力バッファ部 2 1内の仮想 出力キューの数は出線数分としたが、 これらの数について特に制限はなく、 たと えば、 出線数 X遅延優先クラス数分の仮想出力キューを備えるようにしてもよい また、 実施の形態 1および実施の形態 2で説明したように、 データ転送装置と してセル多重化装置を用いた場合とセルスィツチを用いた場合とでは、 調停要求 信号および送出許可信号に必要なビット数と、 アービタが補正する待ち行列の長 さの数が異なるだけで、 基本的動作は同じである。 したがって、 これ以後は本発 明のセル多重化装置を例に挙げて説明するが、 セルスィッチにも適用可能である ことはいうまでもない。
実施の形態 3 .
第 7図を用いてこの発明の実施の形態 3を説明する。 この発明における実施の 形態 3のセル多重化装置は、 アービタ 1が 1セル時間前に (式 1 ) によって算出 した補正後の待ち行列の長さ N cを記憶しておき、 調停要求信号 6に伝送エラー が発生した場合、 伝送エラーが回復するまで記憶している補正後の待ち行列の長 さ N cを用いるものである。
この発明における実施の形態 3のセル多重化装置は、 第 1図に示したものと同 様であり、 その動作シーケンスも第 2図に示したものと同様となるので、 ここで はその説明を省略する。
第 7図は、 この発明における実施の形態 3のセルの多重化動作を、 時間経過 ( セル時間 T 1〜T 1 3 )に沿ってより詳細に示した図である。第 7図においては、 第 3図と同様にセル時間 Τ 2に入線 8 ( # 1〜# 3 ) 力 ら、 セル時間 Τ 3に入線 8 c力、ら、 セル時間 T 4 , T 5に入線 8 aから、 合計 6つのセルがキュー 3に到 着している。 その他の動作も第 3図とほぼ同じとなっているが、 第 7図では、 セ ル時間 T 7およびセル時間 T 8で入カバッファ部 2 aカゝらの調停要求信号 6 aに 連続して伝送エラーが発生している。 その結果、 キュー 3 aに関するセル蓄積情 報が消失し、 待ち行列の長さ N 1が不明 (第 7図においては 「?」 ) となってい る。
セル時間 T 7において、 調停要求信号 6 aに伝送エラーが発生したため、 ァー ビタ 1は、 セル時間 T 6で算出したキュ一 3 aの待ち行列の長さ N c 1をセル時 間 T 7に調停要求信号 6 aによって得られる待ち行列の長さ N 1の代わりに用い る。 このとき、セル時間 T 6で算出された待ち行列の長さ N c 1は「1」であり、 勝ち残ったキューはキュー 3 cである。 したがって、 待ち行列の長さ N c 1はセ ル時間 T 7にそのまま引き継がれ、 出力調停の対象となる。
引き続きセル時間 T 8においても、 調停要求信号 6 aに伝送エラーが発生した ため、 アービタ 1は、 セル時間 T 7で算出したキュー 3 a待ち行列の長さ N c 1 をセル時間 T 8に調停要求信号 6 aによって得られる待ち行列の長さ N 1の代わ りに用いる。 このとき、 セル時間 T 7で算出された待ち行列の長さ N c 1は 「1 」 であり、 勝ち残ったキューはキュー 3 aである。 したがって、 アービタ 1は、 セル時間 T 6で算出された待ち行列の長さ N c 1から 1減算する。 この場合は、 待ち行列の長さ N c lが 「1」 であるので、 1減算することで 「0」 となる。 そ の結果、 セル時間 T 8では、 キュー 3 aは出力調停の対象外となる。
このようにこの実施の形態 3では、 調停要求信号 6に連続して伝送ェラーが発 生した場合、 アービタ 1は伝送エラーが発生する直前に受信した調停要求信号 6 内の待ち行列の長さ Nを用いて算出した補正後の待ち行列の長さ N cを記憶して おき、 伝送エラーが回復するまでそれに基づいて出力調停を行う。 すなわち、 ァ ービタ 1は記憶した N c個のセルが全て送出されるまでの間は当該キュー 3を出 力調停の対象とし、 N c個のセルが送出された後は出力調停の対象から外すよう にしているため、 調停要求信号 6に伝送エラーが発生した場合でもスループット の低下を抑制することができる。
実施の形態 4 .
第 8図を用いてこの発明の実施の形態 4を説明する。 この発明における実施の 形態 4のセル多重化装置は、 第 1図に示したものと同様であり、 その動作シーケ ンスも第 2図に示したものと同様となるので、 ここではその説明'を省略する。 第 8図は、 この発明における実施の形態 4のセル多重化装置のセルの多重化動 作を、 時間経過 (セル時間 T 1〜T 1 3 ) に沿ってより詳細に示した図である。 第 8図においては、 第 3図と同様にセル時間 Τ 2に入線 8 ( # 1〜# 3 ) から、 セル時間 Τ 3に入線 8 cから、 セル時間 Τ 4 , Τ 5に入線 8 aから、 合計 6つの セルがキュー 3に到着している。 その他の動作も第 3図とほぼ同じとなっている 1 第 8図では、 入力バッファ部 2からの調停要求信号 6力 セル時間ごとでは なく 2セル時間毎にアービタ 1に送信されている。 すなわち、 入力バッファ部 2 aからのキュー 3 aの待ち行列の長さ N 1を示す調停要求信号 6 aと入力バッフ ァ部 2 bからのキュー 3 bの待ち行列の長さ N 2を示す調停要求信号 6 bは、 セ ル時間 T2, T4, T6, ···, というように偶数セル時間に、 入力バッファ部 2 cからのキュー 3 cの待ち行列の長さ N 3を示す調停要求信号 6 cは、 セル時間 T l, T 3, T 5, ···, というように奇数セル時間にアービタ 1に通知されてい る。
アービタ 1は、 調停要求信号 6によって待ち行列の長さ Nが通知されたセ 時 間には (式 1) を用いて補正後の待ち行列の長さ Ncを算出する。 一方、 調停要 求信号 6が通知されないセル時間には、 直前のセル時間に勝ち残ったキュー 3に ついては、 直線のセル時間め補正後の待ち行列の長さ N cから 1減算し、 直前の セル時間に勝ち残らなかったキュー 3については、 直前のセル時間の補正後の待 ち行列の長さ Ncをそのまま用いて調停出力を実行する。
たとえば、 セル時間 T6においては、 アービタ 1にキュー 3 a, 3 bの待ち行 列の長さ Nl, N 2が通知されるため、 アービタ 1は、 (式 1) によって待ち行 列の長さ Nc l, Nc 2を算出する。 一方、 キュー 3 cの待ち行列の.長さ N 3は 通知されていないため、 アービタ 1は、 セル時間 T 5のキュー 3 cに対する補正 後の待ち行列の長さ Nc 3を用いる。 セル時間 T5では、 キュー 3 bが勝ち残つ たため、 待ち行列の長さ Nc 3はそのままの となっている。
このようにこの実施の形態 4では、 調停要求信号 6を受信した場合には、 その 調停要求信号 6内の待ち行列の長さ Nを用いて算出した補正後の待ち行列の長さ Ncに基づいて出力調停を行い、 調停要求信号 6を受信しなかった場合には、 直 前に受信した調停要求信号 6内の待ち行列の長さ Nを用いて算出した補正後の待 ち行列の長さ N cを記憶しておき、 つぎの調停要求信号 6を受信するまではそれ に基づいて出力調停を行う。 すなわち、 アービタ 1は調停要求信号 6を受信しな かった場合には、 記憶した N c個のセルが全て送出されるまでの間は当該キュ一 3を出力調停の対象とし、 N c個のセルが送出された後は出力調停の対象から外 すようにしているため、 調停要求信号 6の送信周期 (待ち行列の長さ Nの更新周 期)が 1セル時間より長い場合でもスループットの低下を抑制することができる。 より具体的に言えば、 たとえば、 第 5図に示したセルスィッチの場合、 1つの 入力バッファ部 2 1から送信される調停要求信号 6 1に必要なビット数は、 実施. の形態 2で説明したように出線数を Pとすると 「P X l o g 2 (Nm a x ) 」 と なる。 調停要求信号 6 1の信号線数を少なくするため、 1セル時間内に 1本の信 号線で複数のビットを伝送するビット多重伝送を行なうことが一般的である。 ここで、 出線 9の数や仮想出力キュー 3 1 a〜3 1 cの深さ Nm a Xの値が大 きくなると調停要求信号 6 1の情報量も多くなる。ビット多重伝送を行なう場合、 情報量が多くなると高速動作が要求される。 このような場合に、 この実施の形態 4の制御手順を用いることにより、 調停要求信号 6または 6 1の信号線数を少な くするか、 あるいは調停要求信号 6または 6 1のビット多重伝送の多重度を低く することができる。
なお、 第 8図では、 2セル時間周期に調停要求信号を送出する例を挙げて説明 したが、 調停要求信号を送出する周期はこれに限るものではなく、 2セル時間周 期以上であればよい。
実施の形態 5 .
実施の形態 1〜4では、 調停要求信号 6として待ち行列の長さ Nを送信するよ うにしていた。 し力 しながら、 アービタ 1において、 キュー 3を出力調停の対象 とするか否かの判断は、 (式 1 ) を用いて算出された補正後の待ち行列の長さ N cが 0より大きいかどうかによつて行われるため、 アービタ 1は遅延時間 D以上 の待ち行列の長さ Nを知る必要がない。 たとえば、 遅延時間 Dが 「4」 の場合、 アービタ 1が必要とする待ち行列の長さ Nの最大値は 「4」 となる。
この実施の形態 5は、 この点を利用して調停要求信号 6に挿入する待ち行列の 長さ Nの上限値を、 遅延時間 D以上、 かつキュー 3の深さ Nm a X以下のいずれ かの値に設定する。 これにより、 調停要求信号 6の情報量を少なくすることが可 能となり、 信号線の数を減らしたり、 ビット多重伝送の多重度を低くすることが できる。
実施の形態 6 .
第 9図を用いてこの発明の実施の形態 6を説明する。 この発明の実施の形態 6 のセル多重化装置は、 第 9図に示すように、 アービタ 1に、 セル時間を計時する タイマ 1 0を備えている。 なお、 第 9図では、 第 1図に示した入力バッファ部 2 のうち、 入力バッファ部 2 aのみを図示し、 入力バッファ部 2 b, 2 cは省略し ている。
アービタ 1は、入力バッファ部 2 aに対する送出許可信号 7 aを送出する際に、 送出許可信号 7 aにタイマ 1 0が示すセル時間をタイムスタンプとして挿入する < 具体的には、 タイマ 1 0がセル時間 T Sを示しているとすると、 アービタ 1は、 送出許可信号 7 aにタイムスタンプとしセル時間 T Sを挿入する。
入力バッファ部 2 aは、 送出許可信号 7 aに基づいてキュー 3 aからセルを転 送するか否かを決定する。 入力バッファ部 2 aは、 つぎの調停要求信号 6 aに送 出許可信号 7 aに挿入されていたタイムスタンプを挿入する。 この場合は、 送出 許可信号 7 aにタイムスタンプとしてセル時間 T Sが挿入されていたので、 この セル時間 T Sをタイムスタンプとして挿入した調停要求信号 6 aをアービタ 1に 送信する。 ,
調停要求信号 6 aを受信すると、 アービタ 1は、 調停要求信号 6 aに挿入され ているタイムスタンプ T S dを現在のタイマ 1 0が示すセル時間 T S cから減算 して、 送出許可信号 7 aを送信してからその送出許可信号 7 aの結果が反映され た調停要求信号 6 aを受信するまでの遅延時間 Dを算出する。 この場合は、 現在 のセル時間が T S cであり、 調停要求信号 6 aに挿入されているタイムスタンプ の値が T S dであるので、 遅延時間 Dは、 「D = T S d _ T S c」 となる。 ァー ビタ 1は、 算出した遅延時間 Dと調停要求信号 6 aの待ち行列の長さ N 1とを用 いて(式 1 )から補正後の待ち行列の長さ N c 1を算出する。第 9図においては、 調停要求信号 6から受信したタイムスタンプ T S dは 「3」 であり、 タイマ 1 0 の現在のセル時間 T S cが 「7」 を示しているので、 遅延時間 Dは、 「4」 とな る。 アービタ 1と入力バッファ部 2 b, 2 cとの間でも、 同様の動作を行う。 このようにこの実施の形態 6では、 アービタ 1内のタイマ 1 0力 送出許可信 号 7にタイムスタンプを挿入し、 入力バッファ部 2力 受信した送出許可信号 7 に挿入されたタイムスタンプを調停要求信号 6に挿入することで、 待ち行列の長 さ Nから補正後の待ち行列の長さ N cを算出するのに必要な遅延時間 Dを自動的 に求めるようにしているため、 動作中に遅延時間 Dが変動しても、 その変動に追 従して補正後の待ち行列の長さ N cを常に正確に算出することができる。 産業上の利用可能性
以上のように、 本発明にかかるデータ伝送装置は、 固定長データの転送に有用 であり、 特に、 高速にセルを転送するセル多重化装置おょぴセルスィッチに適し ている。

Claims

請 求 の 範 囲
1 . 複数の固定長データを格納して、 この格納した固定長データの待ち行列の長 さを調停要求信号に挿入して送信する複数のキューと、 前記各キューからの調停 要求信号に基づいて前記各キューの出力調停を行って、 この出力調停結果を送出 許可信号として各キューに送信するアービタとを有し、 前記送出許可信号に基づ いて前記固定長データを出力するデータ転送装置であって、
前記アービタは、
前記送出許可信号を送信してから当該送出許可信号の出力調停結果が待ち行列 の長さに反映された調停要求信号を受信するまでに要する遅延時間分前から直前 までの出力調停結果に基づいて前記調停要求信号内の待ち行列の長さを補正して、 補正後の待ち行列の長さに基づいて出力調停を行うことを特徴とするデータ転送 装置。
2 . 前記調停要求信号を受信した時点から遅延時間を 1減算した値の周期前まで に、 出力調停によって選択された回数を前記調停要求信号内の待ち行列の長さか ら減算した値を前記補正後の待ち行列の長さとすることを特徴とする請求の範囲 第 1項に記載のデータ転送装置。
3 . 前記アービタは、 前記調停要求信号に異常を検出した場合、 異常が検出され た調停要求信号を送信したキューを出力調停の対象としないことを特徴とする請 求の範囲第 1項に記載のデータ転送装置。
4 . 前記アービタは、 前記調停要求信号に連続して異常が検出された場合、 異常 が検出される直前に受信した調停要求信号内の待ち行列の長さを用いて算出した 補正後の待ち行列の長さを記憶しておき、 記憶した長さ分の固定長データが送出 されるまでの間は前記異常が検出された調停要求信号を送信したキューを出力調 停の対象とし、 前記記憶した長さ分の固定長データが送出された後は前記異常が 検出された調停要求信号を送信したキューを出力調停の対象から外すことを特徴 とする請求の範囲第 1項に記載のデータ転送装置。
5 . 前記各キューは、 前記固定長データを送出する周期の複数回周期で前記調停 要求信号を送信し、
前記アービタは、 前記調停要求信号を受信した場合には当該調停要求信号内の 待ち行列の長さを用いて算出した補正後の待ち行列の長さに基づいて出力調停を 行い、 前記調停要求信号を受信しなかった場合にはつぎの前記調停要求信号を受 信するまでの間、 直前に受信した調停要求信号内の待ち行列の長さを用いて算出 した補正後の待ち行列の長さに基づいて出力調停を行うことを特徴とする請求の 範囲第 1項に記載のデータ転送装置。
6 . 前記調停要求信号内の待ち行列の長さを、 遅延時間の値以上であって、 かつ 前記各キュ一が格納する固定長デ一タの数の最大値以下の範囲内とすることを特 徴とする請求の範囲第 1項に記載のデータ転送装置。
7 . 前記アービタは、 前記送出許可信号内に時刻情報を挿入して送信するととも に、 前記調停要求信号内の時刻情報を現在の時刻情報から減算して遅延時間を算 出し、 この算出した遅延時間を用いて前記調停要求信号内の待ち行列の長さを補 正し、
前記各キューは、 前記送出許可信号内の時刻情報をそのまま前記調停要求信号 内に挿入することを特徴とする請求の範囲第 1項に記載のデータ転送装置。
8 . 入線から入力された固定長セルを格納するキューを有し、 このキューに格納 した固定長セルの待ち行列の長さを調停要求信号に挿入して送信する複数の入力 ノくッファ部と、 前記各入力バッファ部からの調停要求信号に基づいて前記キューの出力調停を 行って、 この出力調停結果を送出許可信号として各入力バッファ部に送信するァ ービタと、
前記送出許可信号に基づいて選択されたキューに格納されている固定長セルを それぞれの出線に転送するセル多重化部と、
を備え、
前記アービタは、
前記送出許可信号を送信してから、 当該送出許可信号の出力調停結果が待ち行 列の長さに反映された調停要求信号を受信するまでに要する遅延時間分前から直 前までの出力調停結果に基づいて前記調停要求信号内の待ち行列の長さを補正し て、 補正後の待ち行列の長さに基づいて出力調停を行うことを特徴とするセル多 重化装置。
9 . 入線から入力された固定長セルを出線毎に対応して格納する複数の仮想出力 キューを有し、 この仮想出力キューに格納した固定長セルの待ち行列の長さを調 停要求信号に挿入して送信する複数の入カバッファ部と、
前記各入力バッファ部からの調停要求信号に基づいて前記仮想出力キューの出 力調停を行って、 この出力調停結果を送出許可信号として各入力バッファ部に送 信するアービタと、
前記送出許可信号に基づいて選択された仮想出力キューに格納されている固定 長セルをそれぞれの出線に転送するスィツチ部と、
を備え、
前記アービタは、
前記送出許可信号を送信してから、 当該送出許可信号の出力調停結果が待ち行 列の長さに反映された調停要求信号を受信するまでに要する遅延時間分前から直 前までの出力調停結果に基づいて前記調停要求信号内の待ち行列の長さを補正し て、 補正後の待ち行列の長さに基づいて出力調停を行うことを特徴とするセルス ィツチ,
PCT/JP2003/016177 2003-12-17 2003-12-17 データ転送装置、セル多重化装置およびセルスイッチ WO2005060185A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/016177 WO2005060185A1 (ja) 2003-12-17 2003-12-17 データ転送装置、セル多重化装置およびセルスイッチ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2003/016177 WO2005060185A1 (ja) 2003-12-17 2003-12-17 データ転送装置、セル多重化装置およびセルスイッチ

Publications (1)

Publication Number Publication Date
WO2005060185A1 true WO2005060185A1 (ja) 2005-06-30

Family

ID=34685699

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2003/016177 WO2005060185A1 (ja) 2003-12-17 2003-12-17 データ転送装置、セル多重化装置およびセルスイッチ

Country Status (1)

Country Link
WO (1) WO2005060185A1 (ja)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09149051A (ja) * 1995-09-18 1997-06-06 Toshiba Corp パケット転送装置
JP2000196609A (ja) * 1998-12-25 2000-07-14 Nec Corp パケット交換機及びその制御方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09149051A (ja) * 1995-09-18 1997-06-06 Toshiba Corp パケット転送装置
JP2000196609A (ja) * 1998-12-25 2000-07-14 Nec Corp パケット交換機及びその制御方法

Similar Documents

Publication Publication Date Title
US7602790B2 (en) Two-dimensional pipelined scheduling technique
EP1056307B1 (en) A fast round robin priority port scheduler for high capacity ATM switches
EP0763915B1 (en) Packet transfer device and method adaptive to a large number of input ports
CA1320257C (en) Method and apparatus for input-buffered asynchronous transfer mode switching
JP2699985B2 (ja) 高速デイジタル・パケット交換システム
JP4995101B2 (ja) 共有リソースへのアクセスを制御する方法及びシステム
WO1999040754A1 (en) Arbitration method and apparatus for a non-blocking switch
JPH11261563A (ja) トラヒックシェーパ
EP0982970B1 (en) ATM switch
US5841773A (en) ATM network switch with congestion level signaling for controlling cell buffers
US7693421B2 (en) Optical packet buffering device and method
US6667954B1 (en) Methods and apparatus for selecting the better cell from redundant streams within a cell-oriented environment
EP0683949A1 (en) A method for handling redundant switching planes in packet switches and a switch for carrying out the method
US20080031262A1 (en) Load-balanced switch architecture for reducing cell delay time
CA2399186C (en) Data transfer apparatus and data transfer method
EP0833480B1 (en) Contention control circuit
US7142546B2 (en) Distributed pipeline scheduling method and system
JP2005510959A (ja) リアルタイムネットワークトラフィックの受け入れ及びスケジューリング方法
WO2005060185A1 (ja) データ転送装置、セル多重化装置およびセルスイッチ
US7130269B2 (en) Method for timing the output of data packets from network nodes, a network node, and a network
JP2644023B2 (ja) コミュニケイションスイッチング素子
CN113098765B (zh) 一种车载智能网关及其轮询调度方法
US6643702B1 (en) Traffic scheduler for a first tier switch of a two tier switch
US7385968B2 (en) Packet switching system for a communication network node
JP2001024641A (ja) クロスバー型スイッチのアービタにおける接続許可システム及び方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IT LU MC NL PT RO SE SI SK TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP

WWW Wipo information: withdrawn in national office

Country of ref document: JP