Transmission control device and transmission control method

Information

  • Patent Application
  • 20080046622
  • Publication Number
    20080046622
  • Date Filed
    April 17, 2007
    17 years ago
  • Date Published
    February 21, 2008
    16 years ago
Abstract
An address crossbar switch temporarily buffers received requests while monitoring the requests, and counts requests of a predetermined type (for example, long-packet address requests). When a counter value exceeds a predetermined threshold value (for example, when a long-packet counter value exceeds 100), the address crossbar switch suspends broadcasting the address requests for a predetermined time period. After the predetermined time period has elapsed, the address crossbar switch restarts broadcasting the address requests in the order in which they were received.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIGS. 1 and 2 are schematics for explaining an outline and features of an address crossbar switch according to an embodiment of the present invention;



FIG. 3 is a block diagram of the address crossbar switch;



FIG. 4 is a flowchart of the operation of the address crossbar switch; and



FIG. 5 is a diagram of a configuration of a conventional computer processor.





DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Exemplary embodiments of the present invention are explained below in detail with reference to accompanying drawings. In the following embodiment, an address crossbar switch functions as a request transmitting device.



FIGS. 1 and 2 are schematics for explaining an outline and salient features of an address crossbar switch according to an embodiment of the present invention. As shown in FIG. 1, the address crossbar switch arbitrates address requests received from various devices including CPU in a computer system such as a computer processor, or from various external devices such as a PCI card connected to the computer system, thereby transmitting (broadcasting) the address requests to all the devices. Besides, the address crossbar switch merges responses to the address requests received from the devices, and broadcasts the responses to all the devices. Thus, the address crossbar switch can avoid livelock and prevent system shutdown.


Upon receiving, for example, retried address requests from system boards (SB#0 to SB#4) with a main control unit such as CPU and a main storage unit such as a memory mounted thereon, and I/O units (I/OU#0 to I/OU#4) that control connection between the computer system and external devices, the address crossbar switch suspends broadcasting of the retried address requests for a predetermined time period.


Specifically, the address crossbar switch temporarily buffers the received address requests while monitoring them, and counts address requests of a predetermined type (for example, long-packet address requests). If the count of address requests of the type exceeds a threshold value (for example, if the count of long packets exceeds 100), the address crossbar switch suspends broadcasting retried address requests for a predetermined time period. When the broadcast-suspension period ends, the address crossbar switch restarts broadcasting the address requests in the order in which they were received.


For example, as shown in FIG. 2, an address request A transmitted from the system board SB#0 and broadcasted from the address crossbar switch is returned to be retried because the system board SB#1 has already transmitted an address request B specifying the same address. In such a situation, the system board SB#0 retries (retransmits) the address request A. The address crossbar switch receives the retried address request A, and, when a long-packet counter value exceeds a threshold value, suspends broadcasting the retried address request A for a predetermined time period.


Similarly, the address request B transmitted from the system board SB#1 and broadcasted from the address crossbar switch is returned to be retried because the system board SB#0 has already transmitted the address request A specifying the same address. In such a situation, the system board SB#1 retries (retransmits) the address request B. The address crossbar switch receives the retried address request B, and, if it is during a broadcast-suspension period, suspends broadcasting the retried address request B for a predetermined time period.


When the broadcast-suspension period ends, the address crossbar switch broadcasts the address request A, which was received first, as well as broadcasting a response to the address request A (for example, notification of an address in response to the address request). The system board SB#0 performs the next process such as data request based on the response received from the address crossbar switch.


Similarly, the address crossbar switch broadcasts the address request B, which was received after the address request A, as well as broadcasting a response to the address request B. The system board SB#1 performs the next process such as data request based on the response received from the address crossbar switch.


As described above, the address crossbar switch according to the embodiment adjusts the timing for transmitting, for example, retried address requests for the same address, thereby avoiding livelock and preventing system shutdown.



FIG. 3 is a block diagram of an address crossbar switch 30 according to the embodiment. The address crossbar switch 30 includes a communication control interface (I/F) 31, a storage unit 32, and a control unit 33. The communication control I/F 31 controls communication with a system board 10 and an I/O unit 20.


The storage unit 32 stores therein data and programs required for various processes performed by the control unit 33. Specifically related to the present invention, the storage unit 32 includes a buffer 32a. The buffer 32a temporarily stores therein information such as an address request received by a receiving unit 33a, described later.


The control unit 33 includes an internal memory that stores therein predetermined control programs, and programs specifying processing procedures and required data. The control unit 33 performs various processes according to the programs and the data. Specifically related to the present invention, the control unit 33 further includes the receiving unit 33a and a transmission control unit 33b.


The receiving unit 33a receives various information such as an address request from the system board 10 and the I/O unit 20 via the communication control I/F 31, and stores the information in the buffer 32a.


The transmission control unit 33b controls transmission (broadcast) of the information. Specifically, the transmission control unit 33b monitors address requests received by the receiving unit 33a, and counts address requests of a predetermined type (for example, long-packet address requests). If the count of address requests of the type exceeds a predetermined threshold value (for example, if the count of long packets exceeds 100), the transmission control unit 33b suspends broadcasting the address requests for a predetermined time period. When the broadcast-suspension period ends, the transmission control unit 33b restarts broadcasting the address request stored in the buffer 32a in the order in which they were received.



FIG. 4 is a flowchart of the operation of the address crossbar switch 30. When an address request is received by the receiving unit 33a (step S401), the transmission control unit 33b counts address requests of a predetermined type (for example, long-packet address requests) (step S402).


Then, the transmission control unit 33b checks whether an address-request counter value exceeds a threshold value (step S403). If the counter value exceeds the threshold value (Yes at step S403), the transmission control unit 33b suspends broadcasting the address request for a predetermined time period (step S404). On the other hand, if the counter value does not exceed the threshold value (No at step S403), the transmission control unit 33b broadcasts the address request (step S405).


Each of the constituent elements of the address crossbar switch 30 shown in FIG. 3 is functionally conceptual, and need not necessarily be physically constituted as illustrated. In other words, specific form of distribution and integration of the address crossbar switch 30 is not limited to that shown in FIG. 3. For example, the receiving unit 33a can be integrated with the transmission control unit 33b. Namely, all or part of the constituent elements can be arbitrarily distributed or integrated either functionally or physically according to various loads, use state, or the like.


In addition, all or a part of processing functions of the address crossbar switch 30 (transmission control function, etc.) can be realized by a computer program. That is, a computer program can be stored in a predetermined memory or the like, and executed on a computer to realize the same function as the address crossbar switch 30. The process procedures, control procedures, and information including specific names mentioned in the above description and the drawings can be arbitrarily changed unless otherwise specified.


As set forth hereinabove, according to an embodiment of the present invention, address requests received from various devices (for example, CPU on the system board) in a computer system and from various external devices (for example, PCI card connected via an I/O unit) that are connected to the computer system are temporarily stored (buffered). The transmission of stored address requests is controlled to be suspended for a predetermined time period at a predetermined timing (for example, not fixed and variable or random timing). That is, the timing is adjusted to transmit, for example, retried address requests for the same address. Thus, it is possible to avoid livelock and prevent system shutdown.


Moreover, address requests received from the various devices are monitored to count address requests of a predetermined type (for example, long-packet address requests). The transmission of the address requests is suspended for a predetermined time period every time the counter value reaches a threshold value. The timing is adjusted to transmit the address requests according to the timing at which the counter value reaches the threshold value. Thus, livelock can be avoided without complicated circuitry.


Although the invention has been described with respect to a specific embodiment for a complete and clear disclosure, the appended claims are not to be thus limited but are to be construed as embodying all modifications and alternative constructions that may occur to one skilled in the art that fairly fall within the basic teaching herein set forth.

Claims
  • 1. A transmission control device that arbitrates requests from devices in a computer system and devices externally connected to the computer system to transmit the requests to all the devices, and merges responses to the requests from the devices to transmit the responses to all the devices, the transmission control device comprising: a storage unit that temporarily stores therein a request; anda transmission-suspension control unit that controls transmission of stored request to be suspended for a predetermined time period at a predetermined timing.
  • 2. The transmission control device according to claim 1, further comprising a counter unit that monitors the requests from the devices, and counts requests of a predetermined type, wherein the transmission-suspension control unit controls the transmission of the stored request to be suspended for the predetermined time period every time a counter value obtained by the counter unit reaches a threshold value.
  • 3. A transmission control method in which requests from devices in a computer system and devices externally connected to the computer system are arbitrated to be transmitted to all the devices, and responses to the requests from the devices are merged to be transmitted to all the devices, the transmission control method comprising: storing a request temporarily; andcontrolling transmission of stored request to be suspended for a predetermined time period at a predetermined timing.
  • 4. The transmission control method according to claim 3, further comprising counting requests of a predetermined type by monitoring the requests from the devices, wherein the controlling includes controlling the transmission of the stored request to be suspended for the predetermined time period every time a counter value reaches a threshold value at the counting.
Priority Claims (1)
Number Date Country Kind
2006-223490 Aug 2006 JP national