JP6070848B2 - Information processing apparatus, data transfer apparatus, data transfer method, and control apparatus - Google Patents

Information processing apparatus, data transfer apparatus, data transfer method, and control apparatus Download PDF

Info

Publication number
JP6070848B2
JP6070848B2 JP2015531769A JP2015531769A JP6070848B2 JP 6070848 B2 JP6070848 B2 JP 6070848B2 JP 2015531769 A JP2015531769 A JP 2015531769A JP 2015531769 A JP2015531769 A JP 2015531769A JP 6070848 B2 JP6070848 B2 JP 6070848B2
Authority
JP
Japan
Prior art keywords
transfer
data
output
destination
port
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2015531769A
Other languages
Japanese (ja)
Other versions
JPWO2015083212A1 (en
Inventor
秀和 小佐野
秀和 小佐野
孝夫 松井
孝夫 松井
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Application granted granted Critical
Publication of JP6070848B2 publication Critical patent/JP6070848B2/en
Publication of JPWO2015083212A1 publication Critical patent/JPWO2015083212A1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/76Architectures of general purpose stored program computers
    • G06F15/78Architectures of general purpose stored program computers comprising a single central processing unit
    • G06F15/7807System on chip, i.e. computer system on a single chip; System in package, i.e. computer system on one or more chips in a single package
    • G06F15/7825Globally asynchronous, locally synchronous, e.g. network on chip

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Multi Processors (AREA)
  • Bus Control (AREA)

Description

本件は、情報処理装置,データ転送装置,データ転送方法,および制御装置に関する。   The present invention relates to an information processing device, a data transfer device, a data transfer method, and a control device.

サーバやPersonal Computer(PC)等のコンピュータを用いた情報処理システム(情報処理装置)における装置間の通信において、1つの送信先の装置に対して複数の送信元の装置からデータが転送されることがある。ここで、装置としては、Large Scale Integration(LSI)等の集積回路、例えば、Central Processing Unit(CPU)等のプロセッサやメモリ、Input/Output(I/O)装置、メモリコントローラ、I/Oコントローラ等が挙げられる。以下、装置をLSIともいう。このような情報処理システムでは、複数の装置間を相互に接続するために、転送するデータを選択し調停する機構の一例であるクロスバ等のデータ転送装置が用いられることがある。   In communication between devices in an information processing system (information processing device) using a computer such as a server or a personal computer (PC), data is transferred from a plurality of transmission source devices to one transmission destination device. There is. Here, as the device, an integrated circuit such as a large scale integration (LSI), for example, a processor or memory such as a central processing unit (CPU), an input / output (I / O) device, a memory controller, an I / O controller, or the like Is mentioned. Hereinafter, the apparatus is also referred to as an LSI. In such an information processing system, a data transfer device such as a crossbar, which is an example of a mechanism for selecting and arbitrating data to be transferred, may be used to connect a plurality of devices to each other.

データ転送装置は、複数の送信元からデータを入力された際にどの送信元からのデータを転送するかを選択する制御回路と、制御回路により選択されなかったデータを先入れ先出し(First In First Out;FIFO)で格納するキューとをそなえることができる。
なお、関連する技術として、異なる冗長構成が可能なネットワーク転送装置が知られている(例えば、特許文献1参照)。ネットワーク転送装置は、例えば、パケット送信先に接続されたクロスバスイッチに障害が発生すると、パケット送信元からサブクロスバスイッチへのパケット送信を停止することができる。このネットワーク転送装置は、クロスバスイッチ及びサブクロスバスイッチにパケットが存在しなくなると、サブクロスバスイッチ内の出力バッファとポートとの接続を切り替えて、サブクロスバスイッチを予備系のクロスバスイッチと接続することができる。
The data transfer device selects a source from which data is transferred when data is input from a plurality of sources, and first-in first-out (first in first out) data not selected by the control circuit. FIFO) can be provided for storing queues.
As a related technique, a network transfer apparatus capable of different redundant configurations is known (see, for example, Patent Document 1). For example, when a failure occurs in the crossbar switch connected to the packet transmission destination, the network transfer apparatus can stop packet transmission from the packet transmission source to the sub crossbar switch. When there is no packet in the crossbar switch and sub-crossbar switch, this network transfer device can switch the connection between the output buffer and the port in the sub-crossbar switch and connect the sub-crossbar switch to the standby crossbar switch. it can.

また、関連する他の技術として、転送先(出力ポート)ごとに1以上の入力キューをそなえるクロスバが知られている(例えば、特許文献2参照)。このクロスバは、例えば、入力ポートごとに、入力キューが多段に配設され、且つ入力キューがデータ転送先の出力ポートごとに配設された入力キュー群をそなえることができる。   As another related technique, a crossbar having one or more input queues for each transfer destination (output port) is known (see, for example, Patent Document 2). This crossbar can include, for example, an input queue group in which input queues are arranged in multiple stages for each input port, and input queues are arranged for each output port of the data transfer destination.

特開2004−260368号公報JP 2004-260368 A 特開2006−39677号公報JP 2006-39677 A 国際公開第2010/103610号パンフレットInternational Publication No. 2010/103610 Pamphlet

データ転送装置は、出力ポートに対向する(接続された)対向LSIへのデータ転送において、対向LSI又は対向LSIまでの転送路で発生する障害や混雑等により、対向LSI(転送先)へのデータ転送に失敗する場合がある。
データの送信元から送信先への転送経路が複数存在し、データ転送装置から2以上の対向LSIのいずれにデータを転送しても送信先にデータが到達する場合には、データ転送装置は、迂回路として他の出力ポートを介してデータ転送を行なうことも考えられる。
In the data transfer to the counter LSI facing (connected) to the output port, the data transfer device transfers data to the counter LSI (transfer destination) due to a failure or congestion in the transfer path to the counter LSI or the counter LSI. Transfer may fail.
If there are a plurality of transfer paths from the data transmission source to the transmission destination, and the data reaches the transmission destination even if the data transfer device transfers data to any of the two or more opposing LSIs, the data transfer device It is also conceivable to transfer data via another output port as a detour.

しかしながら、上述した転送先(出力ポート)ごとに入力キュー(バッファ)をそなえるデータ転送装置では、迂回路として他の出力ポートを介してもデータ転送を行なうことが困難な場合がある。その理由は、上述したデータ転送装置は、入力キュー及び出力ポートと1つの対向LSIとが対応付けられるため、入力キューに格納されたデータを他の対向LSIに対応する出力ポートに転送することが困難な場合があるためである。   However, in the above-described data transfer apparatus having an input queue (buffer) for each transfer destination (output port), it may be difficult to transfer data via another output port as a detour. The reason is that the data transfer apparatus described above can transfer data stored in the input queue to an output port corresponding to another counter LSI because the input queue and output port are associated with one counter LSI. This is because it may be difficult.

このように、転送先ごとに入力キュー(格納部)を有するデータ転送装置では、データの送信元から送信先への転送経路が複数存在する場合でも、障害や混雑等により、データ転送が困難になる場合があるという課題がある。
ここまで、装置がプロセッサやメモリ、各種コントローラ等のLSI(集積回路)であるものとして説明したが、上述した課題は、これらLSI(集積回路)間の通信に限られるものではない。上述した課題は、装置が、例えばCPUやメモリ等をそなえるシステムボード等のコンピュータ、I/Oボード、ネットワークインタフェース等であり、データ転送装置がこれらの装置間でデータ転送を行なう装置であっても同様に生じ得る。
As described above, in a data transfer apparatus having an input queue (storage unit) for each transfer destination, even when there are a plurality of transfer paths from the data transmission source to the transmission destination, data transfer becomes difficult due to a failure or congestion. There is a problem that it may become.
Up to this point, the device has been described as an LSI (integrated circuit) such as a processor, memory, and various controllers. However, the above-described problem is not limited to communication between these LSIs (integrated circuits). The problem described above is that the device is, for example, a computer such as a system board having a CPU and a memory, an I / O board, a network interface, and the like, and the data transfer device is a device that transfers data between these devices. It can occur as well.

1つの側面では、本発明は、データの転送先の故障や混雑等が発生しても、データを確実に転送することを目的とする。
なお、前記目的に限らず、後述する発明を実施するための形態に示す各構成により導かれる作用効果であって、従来の技術によっては得られない作用効果を奏することも本発明の他の目的の1つとして位置付けることができる。
In one aspect, an object of the present invention is to reliably transfer data even if a failure or congestion of the data transfer destination occurs.
In addition, the present invention is not limited to the above-described object, and other effects of the present invention can be achieved by the functions and effects derived from the respective configurations shown in the embodiments for carrying out the invention which will be described later. It can be positioned as one of

本件の情報処理装置は、データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、1以上のデータ転送装置と、をそなえる。前記1以上のデータ転送装置は、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する。前記データ転送装置は、複数の格納部と、切替部と、制御部と、受付格納部と、抑止部とを有する。前記複数の格納部は、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する。前記切替部は、前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する。前記制御部は、前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう。前記受付格納部は、前記複数の格納部に格納される転送データを一括して格納する。前記抑止部は、前記複数の転送先へのデータ転送の状態に応じて、前記受付格納部に格納された転送データの前記複数の格納部への格納を抑止する。 Present information processing apparatus, a source device that transmits data, a destination device for receiving the data transmitted from the transmission source device, 1 a or more data transfer device, Ru provided with a. The one or more data transfer devices are interposed between the transmission source device and the transmission destination device, and the data is transmitted from the transmission source device to the transmission destination via any one of a plurality of different transfer paths. Transfer to device. The data transfer device includes a plurality of storage units, a switching unit, a control unit, a reception storage unit, and a suppression unit. The plurality of storage units store input transfer data for each transfer destination including the transmission destination device or another data transfer device connected to the own data transfer device . The switching unit, the transfer data stored in said plurality of storage portions, and outputs selectively switches to one of said plurality of transfer destination. The control unit, from said switching unit depending on the state of the data transfer to one destination through one of the transfer path, the transfer destination of the one stored in the storage unit corresponding to the one destination An alternative output process is performed to control the switching unit so that the transfer data is output to other transfer destinations included in the plurality of different transfer paths. The reception storage unit collectively stores transfer data stored in the plurality of storage units. The suppression unit suppresses storage of the transfer data stored in the reception storage unit in the plurality of storage units according to a state of data transfer to the plurality of transfer destinations.

一実施形態によれば、データの転送先の故障や混雑等が発生しても、データを確実に転送することができる。   According to an embodiment, data can be reliably transferred even if a failure or congestion of the data transfer destination occurs.

一実施形態に係る情報処理システムの一例を示す図である。It is a figure showing an example of an information processing system concerning one embodiment. 図1に示す情報処理システムの構成例を示す図である。It is a figure which shows the structural example of the information processing system shown in FIG. 一実施形態に係るクロスバの対比例としてのクロスバの構成を示す図である。It is a figure which shows the structure of the crossbar as contrast of the crossbar which concerns on one Embodiment. 一実施形態に係るクロスバの対比例としてのクロスバの構成を示す図である。It is a figure which shows the structure of the crossbar as contrast of the crossbar which concerns on one Embodiment. 図2に示す情報処理システムの詳細な構成例を示す図である。It is a figure which shows the detailed structural example of the information processing system shown in FIG. 図5に示すクロスバが保持するルーティングテーブルのデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the routing table which the crossbar shown in FIG. 5 hold | maintains. 図5に示す管理部が保持する管理情報のデータ構造の一例を示す図である。It is a figure which shows an example of the data structure of the management information which the management part shown in FIG. 5 hold | maintains. 図5に示す管理部のハードウェア構成例を示す図である。It is a figure which shows the hardware structural example of the management part shown in FIG. 図5に示すクロスバの受付ポートにおける再送処理の動作例を説明するフローチャートである。FIG. 6 is a flowchart for explaining an operation example of a retransmission process at a reception port of the crossbar shown in FIG. 5. FIG. 図5に示すクロスバの入力ポートにおける再送処理の動作例を説明するフローチャートである。6 is a flowchart for explaining an operation example of retransmission processing at an input port of the crossbar shown in FIG. 5. 図5に示す管理部におけるルーティングテーブルの更新処理の動作例を説明するフローチャートである。6 is a flowchart for explaining an operation example of routing table update processing in the management unit shown in FIG. 5. 図5に示す受付ポートの構成の実施例を示す図である。It is a figure which shows the Example of a structure of the reception port shown in FIG. 図5に示す入力ポートの構成の実施例を示す図である。It is a figure which shows the Example of a structure of the input port shown in FIG. 図13に示す入力ポートにおける入力キューの制御手法の一例を説明する図である。It is a figure explaining an example of the control method of the input queue in the input port shown in FIG. 図13に示す入力ポートにおけるタイミングチャートの一例を示す図である。It is a figure which shows an example of the timing chart in the input port shown in FIG. 図5に示す出力ポートの構成の実施例を示す図である。It is a figure which shows the Example of a structure of the output port shown in FIG. 一実施形態の第1変形例に係るルーティングテーブルのデータ構造を示す図である。It is a figure which shows the data structure of the routing table which concerns on the 1st modification of one Embodiment. 一実施形態の第2変形例に係るルーティングテーブルのデータ構造を示す図である。It is a figure which shows the data structure of the routing table which concerns on the 2nd modification of one Embodiment. 一実施形態の第3変形例に係る再送ステートマシンの構成を示す図である。It is a figure which shows the structure of the resending state machine which concerns on the 3rd modification of one Embodiment.

以下、図面を参照して実施の形態を説明する。
〔1〕一実施形態
〔1−1〕情報処理システムの構成例
はじめに、図1及び図2を参照して、一実施形態の一例としての情報処理システム1の構成例を説明する。図1は、一実施形態に係る情報処理システム1の一例を示す図であり、図2は、図1に示す情報処理システム1の構成例を示す図である。
Hereinafter, embodiments will be described with reference to the drawings.
[1] One Embodiment [1-1] Configuration Example of Information Processing System First, a configuration example of an information processing system 1 as an example of an embodiment will be described with reference to FIGS. 1 and 2. FIG. 1 is a diagram illustrating an example of an information processing system 1 according to an embodiment, and FIG. 2 is a diagram illustrating a configuration example of the information processing system 1 illustrated in FIG.

図1に示すように、情報処理システム1は、クロスバ部20、複数(図1に示す例では6つ)の装置3、及び管理部4をそなえる。
装置3は、データを送信する送信元装置、及び、送信元装置から送信されたデータを受信する送信先装置のうちの少なくとも一方の機能をそなえる。図2に示す例では、装置3D〜3Fは送信元装置の機能をそなえ、装置3A〜3Cは送信先装置の機能をそなえる。
As illustrated in FIG. 1, the information processing system 1 includes a crossbar unit 20, a plurality of (six in the example illustrated in FIG. 1) devices 3, and a management unit 4.
The device 3 has at least one function of a transmission source device that transmits data and a transmission destination device that receives data transmitted from the transmission source device. In the example illustrated in FIG. 2, the devices 3D to 3F have the function of the transmission source device, and the devices 3A to 3C have the function of the transmission destination device.

送信元装置としての装置3D〜3Fは、送信するデータをフレーム(Frame)又はパケット(Packet)(以下、これらをまとめて単にフレームという)単位に分割して送信することができる。このとき、装置3D〜3Fは、送信する各フレームに、送信先装置(3A〜3C)を特定するための情報(宛先情報)を付加することができる。
送信先装置としての装置3A〜3Cは、クロスバ部20を介して送信元装置3D〜3Fからフレームを受信し、受信したフレームから送信元装置3D〜3Fが送信したデータを取得することができる。
The devices 3D to 3F serving as the transmission source devices can transmit the data to be transmitted by dividing the data into frames or packets (hereinafter collectively referred to simply as frames). At this time, the devices 3D to 3F can add information (destination information) for specifying the transmission destination devices (3A to 3C) to each frame to be transmitted.
The devices 3A to 3C as the transmission destination devices can receive frames from the transmission source devices 3D to 3F via the crossbar unit 20, and can acquire data transmitted by the transmission source devices 3D to 3F from the received frames.

装置3としては、LSI等の集積回路、例えば、CPU等のプロセッサや、メモリ、I/O装置、メモリコントローラ、I/Oコントローラ等が挙げられる。また、装置3としては、例えば、CPUやメモリ等をそなえるシステムボードや、I/Oコントローラやカードスロット又は記憶装置等をそなえるI/Oボード等の各種装置、又は、サーバやPC、ストレージ装置等のコンピュータ等も挙げられる。   The device 3 includes an integrated circuit such as an LSI, for example, a processor such as a CPU, a memory, an I / O device, a memory controller, an I / O controller, and the like. Further, as the device 3, for example, various devices such as a system board having a CPU and a memory, an I / O board having an I / O controller, a card slot, a storage device, etc., or a server, a PC, a storage device, etc. And other computers.

クロスバ部20は、複数の装置3間に介設され、データの送信元装置3D〜3Fから送信されたデータを送信先装置3A〜3Cへ転送する。クロスバ部20は、1以上のクロスバ2(クロスバ群)をそなえることができる。以下、クロスバ部20は、図2に例示するように9つのクロスバ2A〜2I(以下の説明においてクロスバ2A〜2Iを区別しない場合には単に符号2で示す)をそなえるものとして説明する。   The crossbar unit 20 is interposed between the plurality of devices 3 and transfers the data transmitted from the data transmission source devices 3D to 3F to the transmission destination devices 3A to 3C. The crossbar unit 20 can include one or more crossbars 2 (crossbar group). Hereinafter, the crossbar unit 20 will be described as including nine crossbars 2A to 2I (shown simply by reference numeral 2 in the following description when the crossbars 2A to 2I are not distinguished) as illustrated in FIG.

複数のクロスバ2は、送信元装置3D〜3Fと送信先装置3A〜3Cとの間に介設されるとともに、各々が他の1以上のクロスバ2と相互に通信可能に接続される。そして、複数のクロスバ2は、複数の異なる転送経路のうちのいずれかを介してデータ(フレーム)を送信元装置3D〜3Fから送信先装置3A〜3Cへ転送する。
なお、以下、転送経路には、送信元装置3D〜3Fと送信先装置3A〜3Cとの間の1以上のクロスバ2及び1以上のデータパス(転送路)を介した経路が含まれる。転送路としては、システムバスを含む各種バスや、Local Area Network(LAN),ファイバチャネル(Fibre Channel),インフィニバンド(InfiniBand)等のケーブル、または無線通信路等が挙げられる。また、複数の異なる転送経路には、経由するクロスバ2及びデータパスの少なくとも1つが互いに異なる複数の経路が含まれる。さらに、以下、転送先には、クロスバ2の出力ポートに対向する対向LSI、つまりデータパス(転送路)を介して出力ポートに接続される送信先装置3A〜3C又はクロスバ2を含む対向LSIが含まれる。
The plurality of crossbars 2 are interposed between the transmission source devices 3D to 3F and the transmission destination devices 3A to 3C, and each of them is connected to one or more other crossbars 2 so as to communicate with each other. The plurality of crossbars 2 transfer data (frames) from the transmission source devices 3D to 3F to the transmission destination devices 3A to 3C via any one of a plurality of different transfer paths.
Hereinafter, the transfer route includes a route through one or more crossbars 2 and one or more data paths (transfer routes) between the transmission source devices 3D to 3F and the transmission destination devices 3A to 3C. Examples of the transfer path include various buses including a system bus, cables such as Local Area Network (LAN), Fiber Channel, and InfiniBand, or a wireless communication path. In addition, the plurality of different transfer paths include a plurality of paths in which at least one of the crossbar 2 and the data path that pass through is different from each other. Further, hereinafter, as the transfer destination, there is an opposing LSI facing the output port of the crossbar 2, that is, an opposing LSI including the transmission destination devices 3A to 3C or the crossbar 2 connected to the output port via the data path (transfer path). included.

管理部4は、複数のクロスバ2の各々と相互に通信可能に接続され、各クロスバ2がそなえるルーティングテーブルを管理する。管理部4の詳細については、後述する。
〔1−2〕クロスバの対比例
ここで、図3及び図4を参照して、図2に示すクロスバ2の説明のために、クロスバ2の対比例としてのクロスバ200A及び200Bについて説明する。図3及び図4は、それぞれ一実施形態に係るクロスバ2の対比例としてのクロスバ200A及び200Bの構成を示す図である。クロスバ200A及び200Bは、図2に示すクロスバ2に代えて情報処理システム1に適用することができる。以下、3入力3出力のクロスバ200A及び200B(図2に示すクロスバA〜C,G〜Iに対応)を例に挙げて説明する。
The management unit 4 is connected to each of the plurality of crossbars 2 so as to be communicable with each other, and manages a routing table provided by each crossbar 2. Details of the management unit 4 will be described later.
[1-2] Crossbar Comparison The crossbars 200A and 200B as the crossbar 2 comparison will be described with reference to FIGS. FIG. 3 and FIG. 4 are diagrams each showing a configuration of the crossbars 200A and 200B as a cross-proportional of the crossbar 2 according to the embodiment. The crossbars 200A and 200B can be applied to the information processing system 1 instead of the crossbar 2 shown in FIG. Hereinafter, description will be made by taking the three-input three-output crossbars 200A and 200B (corresponding to the crossbars A to C and G to I shown in FIG. 2) as an example.

クロスバ200Aは、図3に例示するように、受付ポート500、入力ポート600A、出力ポート800、及び接続部900をそれぞれ複数(図3の例ではそれぞれ3つ)そなえるとともに、1つのルーティング部700をそなえる。
なお、図3では、図の簡略化のため、受付ポート500、入力ポート600A、出力ポート800、及び接続部900の構成例をそれぞれ1つ図示するが、他の受付ポート500、入力ポート600A、出力ポート800、及び接続部900についても同様である。
As illustrated in FIG. 3, the crossbar 200 </ b> A includes a plurality of reception ports 500, input ports 600 </ b> A, output ports 800, and connection units 900 (three each in the example of FIG. 3) and one routing unit 700. I have it.
In FIG. 3, for simplification of the drawing, one configuration example of each of the reception port 500, the input port 600A, the output port 800, and the connection unit 900 is illustrated, but the other reception ports 500, input ports 600A, The same applies to the output port 800 and the connection unit 900.

受付ポート500は、メモリ又はレジスタ等の保持部510をそなえる。メモリとしては、例えばRandom Access Memory(RAM)等の揮発性メモリが挙げられる。保持部510は、宛先情報と出力ポート800の番号等の出力ポート800を特定するための情報とが対応付けられたルーティングテーブル520を保持する。受付ポート500は、ルーティングテーブル520を検索して、入力されるフレームに含まれる宛先情報からフレームを出力する出力ポート800を特定し、フレームと特定した出力ポート800の情報とを入力ポート600Aへ出力する。なお、ルーティングテーブル520は、管理部4により登録及び更新されてもよい。   The reception port 500 includes a holding unit 510 such as a memory or a register. Examples of the memory include volatile memory such as Random Access Memory (RAM). The holding unit 510 holds a routing table 520 in which destination information and information for specifying the output port 800 such as the number of the output port 800 are associated with each other. The reception port 500 searches the routing table 520, specifies the output port 800 that outputs the frame from the destination information included in the input frame, and outputs the frame and the information of the specified output port 800 to the input port 600A. To do. Note that the routing table 520 may be registered and updated by the management unit 4.

入力ポート600Aは、全宛先(転送先)で共通に用いられる入力キュー610Aをそなえ、受付ポート500から入力されるデータを入力キュー610Aに格納する。入力キュー610AはFIFOのデータ構造とすることができる。
ルーティング部700は、各入力ポート600A内の入力キュー610Aと、各出力ポート800内の各出力キュー810との間を接続し、入力キュー610Aからルーティング部700に入力されたフレームを、対応する出力キュー810へ出力する。
The input port 600A has an input queue 610A used in common for all destinations (transfer destinations), and stores data input from the reception port 500 in the input queue 610A. The input queue 610A may have a FIFO data structure.
The routing unit 700 connects between the input queue 610A in each input port 600A and each output queue 810 in each output port 800, and outputs a frame input from the input queue 610A to the routing unit 700 as a corresponding output. Output to the queue 810.

出力ポート800は、複数の送信元に対応する複数(図3の例では3つ)の出力キュー810とセレクタ820とをそなえる。出力キュー810は、入力キュー610Aと同様にFIFOのデータ構造とすることができる。出力ポート800は、入力キュー610Aの先頭のフレームを選択し、ルーティング部700を介して出力キュー810に格納する。なお、出力ポート800により入力キュー610Aの先頭のフレームが選択されない場合、当該先頭のフレームも後続のフレームも転送先の出力ポート800に出力されない。   The output port 800 includes a plurality (three in the example of FIG. 3) of output queues 810 and selectors 820 corresponding to a plurality of transmission sources. The output queue 810 can have a FIFO data structure similar to the input queue 610A. The output port 800 selects the top frame of the input queue 610A and stores it in the output queue 810 via the routing unit 700. If the head frame of the input queue 610A is not selected by the output port 800, neither the head frame nor the subsequent frame is output to the transfer destination output port 800.

接続部900は、配線やケーブル、ソケット等により転送先の対向LSIと接続され、出力ポート800から出力されるフレームを転送する。
クロスバ200Bは、図4に例示するように、図3に示すクロスバ200Aの入力ポート600Aとは異なる入力ポート600Bをそなえる。
入力ポート600Bは、宛先(転送先)ごとに入力キュー610Bをそなえ、受付ポート500から入力されるフレームを、出力ポート800の情報に基づき転送先ごとに入力キュー610Bに振り分けて格納する。各入力キュー610Bは、入力キュー610Aと同様にFIFOのデータ構造とすることができる。なお、入力ポート600B以外の構成はクロスバ200Aと同様であるため、詳細な説明を省略する。
The connection unit 900 is connected to a transfer destination counter LSI by wiring, a cable, a socket, or the like, and transfers a frame output from the output port 800.
As illustrated in FIG. 4, the crossbar 200B includes an input port 600B different from the input port 600A of the crossbar 200A shown in FIG.
The input port 600B has an input queue 610B for each destination (transfer destination), and distributes and stores frames input from the reception port 500 to the input queue 610B for each transfer destination based on the information of the output port 800. Each input queue 610B can have a FIFO data structure in the same manner as the input queue 610A. Since the configuration other than the input port 600B is the same as that of the crossbar 200A, detailed description thereof is omitted.

上記のような構成により、クロスバ200Bは、入力キュー610Bの先頭が転送先の数だけ存在することになるため、出力ポート800でのフレームの選択を並列して行なうことができる。従って、クロスバ200Bでは、先頭のフレームが選択されないことにより、他の出力ポート800宛ての後続のフレームが待たされることがないため、図3に示すクロスバ200Aと比較してスループットの向上が期待できる。   With the configuration described above, the crossbar 200B has the same number of transfer destinations as the beginning of the input queue 610B, so that the frame selection at the output port 800 can be performed in parallel. Therefore, in the crossbar 200B, since the first frame is not selected, a subsequent frame addressed to the other output port 800 is not waited. Therefore, an improvement in throughput can be expected as compared with the crossbar 200A shown in FIG.

なお、図3及び図4に示す例では、出力ポート800は、複数の出力キュー810をそなえるが、これらの出力キュー810は省略されてもよい。また、クロスバ200A及び200Bは、レイテンシ向上のため、入力ポート600A及び600B内の入力キュー610A及び610B、並びに/又は、出力ポート800内の出力キュー810のエントリが空の場合には、これらのキューをバイパスさせてもよい。   In the example shown in FIGS. 3 and 4, the output port 800 includes a plurality of output queues 810, but these output queues 810 may be omitted. Further, the crossbars 200A and 200B improve the latency when the entries of the input queues 610A and 610B in the input ports 600A and 600B and / or the output queue 810 in the output port 800 are empty. May be bypassed.

ところで、クロスバ200A及び200Bは、出力ポート800の出力キュー810に、対向LSI(転送先)へ出力したデータを保持しておくリトライ機能をそなえ、データ転送においてエラーが発生した場合にデータ転送のリトライを行なうこともできる。エラーが発生する要因としては、LSI間の配線の切断やデータを中継する装置の故障等の継続的な故障(固定故障)、LSIへの中性子ヒット、電磁波、熱等の影響による一時的な故障(間欠故障)等が挙げられる。   By the way, the crossbars 200A and 200B have a retry function for holding the data output to the opposite LSI (transfer destination) in the output queue 810 of the output port 800, and when an error occurs in the data transfer, the data transfer is retried. Can also be performed. Possible causes of errors include continuous failures (fixed failures) such as disconnection of wiring between LSIs and failure of devices that relay data, temporary failures due to neutron hits to LSIs, electromagnetic waves, heat, etc. (Intermittent failure).

クロスバ200A及び200Bは、データ転送において間欠故障によるエラーが発生しても、リトライ機能によりデータ転送をリトライすることで、間欠故障の自然復旧後にデータ転送を成功させてエラーを回避できる場合がある。
一方、データ転送において固定故障によるエラーが発生した場合、クロスバ200A及び200Bは、LSI間でデータ転送をリトライしても、固定故障への対処がなされなければ、対向LSIへエラーや損失のないデータを転送することは困難な場合がある。また、データ転送においてビジー又はLSI間の輻輳等による混雑が生じている場合にも同様である。つまり、クロスバ200A及び200Bは、データ転送において混雑が生じている対向LSIに対応する入力キュー610A又は610Bからのデータを、空いている他の対向LSIに対応する出力ポート800に切り替えることは難しい。
Even if an error due to an intermittent failure occurs in the data transfer, the crossbars 200A and 200B may be able to avoid the error by retrying the data transfer by the retry function and succeeding in the data transfer after the natural recovery from the intermittent failure.
On the other hand, if an error due to a fixed failure occurs in data transfer, the crossbars 200A and 200B can return data to the opposing LSI without any error or loss if the fixed failure is not addressed even if retrying the data transfer between the LSIs. It may be difficult to transfer. The same applies when data transfer is busy or congestion occurs due to congestion between LSIs. That is, it is difficult for the crossbars 200A and 200B to switch the data from the input queue 610A or 610B corresponding to the opposite LSI that is congested in data transfer to the output port 800 corresponding to another available opposite LSI.

クロスバ200Aについては、固定故障及び混雑が生じている場合、以下の機能を持たせることでエラーを回避できる場合がある。例えば、クロスバ200Aは、入力キュー610Aから出力ポート800にフレームを送信しただけでは、当該フレームを入力キュー610Aから解放しないようにすればよい。一例として、クロスバ200Aは、出力ポート800の対向LSIが正しくフレームを受信したことを確認できた場合に、入力キュー610Aから当該フレームを解放すればよい。なお、対向LSIは、例えば、フレームを1つ正しく受信したら受信確認信号(Acknowledge信号)を返信する等の手法により、LSIが正しくフレームを受信したか否かを、クロスバ200Aに通知することができる。   For the crossbar 200A, when a fixed failure and congestion occur, an error may be avoided by providing the following functions. For example, the crossbar 200A may not release the frame from the input queue 610A only by transmitting the frame from the input queue 610A to the output port 800. As an example, the crossbar 200A may release the frame from the input queue 610A when the counter LSI of the output port 800 has confirmed that the frame has been correctly received. Note that the opposing LSI can notify the crossbar 200A whether or not the LSI has correctly received the frame by, for example, returning a reception confirmation signal (Acknowledge signal) when one frame is correctly received. .

仮に、或る出力ポート800と対向LSIとの間での接続に故障が発生し、クロスバ200Aが正しくフレームを送信できない場合、クロスバ200Aは、故障が発生した経路へのデータ転送を一時停止することができる。そして、管理部4が情報処理システム1全体を停止させることなく動的にルーティングテーブル520を更新し、出力ポート800は、入力キュー610Aで記憶していたフレームを迂回路へ転送すればよい。これにより、クロスバ200Aは、フレームを失わずに目的地へ転送することができる。   If a failure occurs in the connection between a certain output port 800 and the opposing LSI and the crossbar 200A cannot transmit a frame correctly, the crossbar 200A temporarily stops data transfer to the path where the failure has occurred. Can do. Then, the management unit 4 dynamically updates the routing table 520 without stopping the entire information processing system 1, and the output port 800 may transfer the frame stored in the input queue 610A to the detour. As a result, the crossbar 200A can transfer the frame to the destination without losing the frame.

しかしながら、上述のように、図3に示すクロスバ200Aは、図4に示すクロスバ200Bに比べてスループットが低い。そこで、クロスバ200Bにおいても、上記のクロスバ200Aのように動的にルーティングテーブル520を更新し、迂回路へのフレームの転送を行なわせることが望ましい。しかし、クロスバ200Bでは、入力ポート600Bの入力キュー610Bが転送先ごとに分かれているため、各入力キュー610Bに既に格納されているフレームを迂回路へ転送することは困難である。   However, as described above, the crossbar 200A shown in FIG. 3 has a lower throughput than the crossbar 200B shown in FIG. Therefore, it is desirable that the crossbar 200B also dynamically updates the routing table 520 to transfer the frame to the detour as in the crossbar 200A. However, in the crossbar 200B, since the input queue 610B of the input port 600B is divided for each transfer destination, it is difficult to transfer a frame already stored in each input queue 610B to the detour.

そこで、一実施形態の一例としての情報処理システム1は、図4に示すクロスバ200Bのように転送先ごとに入力キューを有するスループット向上型のクロスバ2において、動的な転送経路の変更を可能とするものである。すなわち、以下に詳述するように、一実施形態の一例としての情報処理システム1は、クロスバ2を有し、データの送信元から送信先への転送経路が複数存在する場合に、データの転送先の故障や混雑等が発生しても、データを確実に転送することができる。   Therefore, the information processing system 1 as an example of the embodiment can dynamically change the transfer path in the throughput-enhanced crossbar 2 having an input queue for each transfer destination like the crossbar 200B illustrated in FIG. To do. That is, as will be described in detail below, the information processing system 1 as an example of an embodiment includes a crossbar 2 and transfers data when there are a plurality of transfer paths from the data transmission source to the transmission destination. Even if the previous failure or congestion occurs, data can be transferred reliably.

〔1−3〕情報処理システムにおける転送経路の変更手法
図2の説明に戻り、情報処理システム1における転送経路の変更手法の説明を行なう。なお、便宜上、図2に示すように、クロスバ2A〜2IをそれぞれクロスバA〜Iと表記し、装置3A〜3Fを装置A〜Fと表記して説明する場合がある。
情報処理システム1は、図2に示すように、データ転送でLSIを通過する転送経路が複数存在するように、LSI間を接続することができる。例えば、複数の装置3は、それぞれ異なる1つのクロスバ2と接続され、複数のクロスバ2は、それぞれ2〜4つの他のクロスバ2と接続される。なお、LSI間(装置3−クロスバ2間、及び2つのクロスバ2間)は、双方向に通信可能に電気的に接続されることが好ましい。つまり、一方のLSIの入力ポートと他方のLSIの出力ポートとが電気的に接続されるとともに、一方のLSIの出力ポートと他方のLSIの入力ポートとが電気的に接続されることが好ましい。
[1-3] Transfer Route Changing Method in Information Processing System Returning to the description of FIG. 2, the transfer route changing method in the information processing system 1 will be described. For convenience, as shown in FIG. 2, the crossbars 2A to 2I may be referred to as crossbars A to I, and the devices 3A to 3F may be referred to as devices A to F.
As shown in FIG. 2, the information processing system 1 can connect the LSIs so that there are a plurality of transfer paths that pass through the LSIs for data transfer. For example, each of the plurality of devices 3 is connected to one different crossbar 2, and each of the plurality of crossbars 2 is connected to two to four other crossbars 2. In addition, it is preferable that the LSIs (between the device 3 and the crossbar 2 and between the two crossbars 2) are electrically connected so as to be capable of bidirectional communication. That is, it is preferable that the input port of one LSI and the output port of the other LSI are electrically connected, and the output port of one LSI and the input port of the other LSI are electrically connected.

情報処理システム1(クロスバ2)は、例えば下記(a)〜(c)のいずれかの場合に、該当LSI間のデータ転送を止めて、異なる転送経路を経由してデータ転送を行なう(データ転送を継続する)。
(a)クロスバ2がLSI間のデータ転送を一定回数リトライしてもエラーが解消されない場合。
The information processing system 1 (crossbar 2) stops data transfer between the corresponding LSIs and performs data transfer via different transfer paths in any of the following cases (a) to (c) (data transfer) Continue).
(A) The error is not resolved even if the crossbar 2 retries data transfer between LSIs a predetermined number of times.

(b)クロスバ2がフレームを出力したにもかかわらず、送信先LSIからフレーム受信完了通知を受信せず、タイムアウトした場合。
(c)クロスバ2の出力ポートが、迂回路の出力ポートと比べて混雑している場合。
例えば、図2に示す情報処理システム1において、送信元装置3D〜3Fから送信先装置3A〜3Cへの転送経路が以下の転送経路となるように、管理部4により各クロスバ2のルーティングテーブルが設定されている場合を想定する。
(B) When the crossbar 2 outputs a frame but does not receive a frame reception completion notification from the transmission destination LSI and times out.
(C) The output port of the crossbar 2 is congested compared to the output port of the detour.
For example, in the information processing system 1 shown in FIG. 2, the routing table of each crossbar 2 is set by the management unit 4 so that the transfer paths from the transmission source devices 3D to 3F to the transmission destination devices 3A to 3C are the following transfer routes. Assume that it is set.

装置D−クロスバG−クロスバD−クロスバA−装置A(最短経路)
クロスバG−クロスバD間の配線が故障した場合、情報処理システム1は、上記の最短経路を経由してデータを装置Aまで転送することができなくなる。そこで、情報処理システム1(管理部4)は、転送経路が、経由するクロスバ2の数(ホップ数)が最短経路の次に少ない以下のいずれかとなるように変更することで、データを装置Aまで転送することができる。なお、経由するクロスバ2の数が増加し、装置Aまでのデータの到達時間が余計にかかるが、情報処理システム1は、以下の2つ以外の転送経路を選択してもよい。
Device D-Crossbar G-Crossbar D-Crossbar A-Device A (shortest path)
When the wiring between the crossbar G and the crossbar D fails, the information processing system 1 cannot transfer data to the device A via the shortest path. Therefore, the information processing system 1 (management unit 4) changes the transfer route so that the number of crossbars 2 (the number of hops) that pass through becomes one of the following, which is the second smallest after the shortest route, thereby transferring the data to the device A Can be transferred. Note that the number of crossbars 2 that pass through increases and the data arrival time to the device A takes longer, but the information processing system 1 may select transfer paths other than the following two.

装置D−クロスバG−クロスバH−クロスバE−クロスバD−クロスバA−装置A
装置D−クロスバG−クロスバH−クロスバE−クロスバB−クロスバA−装置A
情報処理システム1は、上述した転送経路の変更を行なうために、クロスバGに入力する装置A宛てのフレームを、クロスバDへの転送からクロスバHへの転送に切り替えることができればよい。クロスバHに入力される装置A宛てのフレームは、クロスバHのルーティングテーブルの設定によってクロスバEに転送される。クロスバEに入力される装置A宛てのフレームは、クロスバEのルーティングテーブルの設定によってクロスバD又はクロスバBのいずれかに転送される。このように、各クロスバ2は装置A(送信先装置)宛てのフレームを装置Aに向かうようにルーティングする。つまり、情報処理システム1(管理部4)は、クロスバG−クロスバD間の配線が故障しても、クロスバG以外のルーティングテーブルを変更しなくてよい。
Device D-Crossbar G-Crossbar H-Crossbar E-Crossbar D-Crossbar A-Device A
Device D-Crossbar G-Crossbar H-Crossbar E-Crossbar B-Crossbar A-Device A
The information processing system 1 only needs to be able to switch the frame addressed to the device A input to the crossbar G from the transfer to the crossbar D to the transfer to the crossbar H in order to change the transfer path described above. The frame addressed to the device A input to the crossbar H is transferred to the crossbar E according to the setting of the crossbar H routing table. The frame addressed to the device A input to the crossbar E is transferred to either the crossbar D or the crossbar B according to the setting of the crossbar E routing table. Thus, each crossbar 2 routes a frame addressed to the device A (destination device) so as to go to the device A. That is, the information processing system 1 (management unit 4) does not need to change the routing table other than the crossbar G even if the wiring between the crossbar G and the crossbar D fails.

以下に詳述する、一実施形態の一例としてクロスバ2(情報処理システム1)は、例えば少なくともクロスバGに適用することで、クロスバG−クロスバD間の配線が故障した場合でも、装置Dから装置Aへのデータの転送経路を変更可能とするものである。なお、図2に示すクロスバA〜Iは全て同様の構成をそなえることができるため、クロスバ2は、任意のクロスバA〜Iに適用されてよい。クロスバA〜Iのすべてにクロスバ2が適用されることにより、いずれのクロスバ2間が故障しても、装置3間の通信の転送経路を変更可能とすることができる。   The crossbar 2 (information processing system 1), which is described in detail below as an example of the embodiment, is applied to at least the crossbar G, for example, so that even if the wiring between the crossbar G and the crossbar D breaks down, the device D to the device The data transfer path to A can be changed. 2 can all have the same configuration, the crossbar 2 may be applied to any crossbars A to I. By applying the crossbar 2 to all of the crossbars A to I, it is possible to change the communication transfer path between the devices 3 even if any crossbar 2 fails.

〔1−4〕クロスバの構成例
以下、図5及び図6を参照して、一実施形態の一例としての情報処理システム1(特にクロスバ2)の構成例について説明する。図5は、図2に示す情報処理システム1の詳細な構成例を示す図であり、図6は、図5に示すクロスバ2におけるルーティングテーブル53のデータ構造の一例を示す図である。なお、図5では、装置3の図示を省略する。
[1-4] Configuration Example of Crossbar Hereinafter, a configuration example of the information processing system 1 (particularly the crossbar 2) as an example of an embodiment will be described with reference to FIGS. 5 and 6. FIG. 5 is a diagram showing a detailed configuration example of the information processing system 1 shown in FIG. 2, and FIG. 6 is a diagram showing an example of the data structure of the routing table 53 in the crossbar 2 shown in FIG. In addition, illustration of the apparatus 3 is abbreviate | omitted in FIG.

クロスバ2は、入力されるフレーム(転送データ)を転送先の対向LSIへ転送するデータ転送装置の一例である。データ転送装置としては、集積回路、例えば、LSIやApplication Specific Integrated Circuit(ASIC)、Field Programmable Gate Array(FPGA)等の、クロスバ2としての機能をそなえる電子回路が挙げられる。なお、装置3が上述したCPU、メモリ、I/O装置、各種コントローラ等の装置である場合、クロスバ2としてL1クロスバスイッチが用いられてもよい。以下の説明では、これまでと同様、クロスバ2の出力ポートに対向する(接続された)装置3や他のクロスバ2等をまとめてLSI又は対向LSIという。クロスバ2は、1つの集積回路であってもよいし、複数の集積回路の組み合わせであってもよい。また、クロスバ2は、CPU等のプロセッサやメモリ、I/O装置、各種コントローラ等の集積回路に組み込まれてもよく、実装場所は特に限定されない。なお、装置3がシステムボードやI/Oボード等の装置であってもよく、この場合、クロスバ2としてL2クロスバスイッチが用いられてもよい。   The crossbar 2 is an example of a data transfer apparatus that transfers an input frame (transfer data) to a transfer destination counter LSI. Examples of the data transfer device include an integrated circuit, for example, an electronic circuit having a function as the crossbar 2, such as an LSI, an application specific integrated circuit (ASIC), or a field programmable gate array (FPGA). Note that when the device 3 is a device such as the CPU, memory, I / O device, or various controllers described above, an L1 crossbar switch may be used as the crossbar 2. In the following description, as before, the device 3 facing or connected to the output port of the crossbar 2, the other crossbar 2, etc. are collectively referred to as an LSI or a counter LSI. The crossbar 2 may be one integrated circuit or a combination of a plurality of integrated circuits. The crossbar 2 may be incorporated in an integrated circuit such as a processor such as a CPU, a memory, an I / O device, and various controllers, and the mounting location is not particularly limited. The device 3 may be a device such as a system board or an I / O board. In this case, an L2 crossbar switch may be used as the crossbar 2.

以下、3入力3出力のクロスバ2(図2に示すクロスバA〜C,G〜I)を例に挙げて説明するが、4入力4出力のクロスバ2(図2に示すクロスバD〜F)についても同様の構成とすることができる。
図5に例示するように、クロスバ2は、受付ポート5、入力ポート6、出力ポート8、及び接続部9をそれぞれ複数(図5の例ではそれぞれ3つ)そなえるとともに、1つのルーティング部7をそなえる。なお、4入力4出力のクロスバ2に一実施形態に係る構成を適用する場合、受付ポート5、入力ポート6、出力ポート8、及び接続部9をそれぞれ4つ設ければよい。以下、便宜上、図5に示すように、入力ポート6を入力ポートA〜Cのいずれかで特定し、入力キュー61を入力キューA〜Cのいずれかで特定し、出力ポート8を出力ポートA〜Cのいずれかで特定して説明する場合がある。また、図5では、図の簡略化のため、受付ポート5、入力ポート6、出力ポート8(出力ポートA)、及び接続部9の構成例をそれぞれ1つ図示するが、他の受付ポート5、入力ポート6、出力ポート8(出力ポートB、C)、及び接続部9についても同様である。
Hereinafter, the crossbar 2 having three inputs and three outputs (crossbars A to C and G to I shown in FIG. 2) will be described as an example, but the crossbar 2 having four inputs and four outputs (crossbars D to F shown in FIG. 2). Can be configured similarly.
As illustrated in FIG. 5, the crossbar 2 includes a plurality of reception ports 5, input ports 6, output ports 8, and connection units 9 (three in the example of FIG. 5), and one routing unit 7. I have it. When the configuration according to the embodiment is applied to the 4-input 4-output crossbar 2, four reception ports 5, input ports 6, output ports 8, and connection portions 9 may be provided. Hereinafter, for convenience, as shown in FIG. 5, the input port 6 is specified by any one of the input ports A to C, the input queue 61 is specified by any one of the input queues A to C, and the output port 8 is specified by the output port A. May be specified and described in any one of -C. Further, in FIG. 5, for the sake of simplification, one configuration example of each of the reception port 5, the input port 6, the output port 8 (output port A), and the connection unit 9 is illustrated. The same applies to the input port 6, the output port 8 (output ports B and C), and the connection unit 9.

出力ポート8は、複数の送信元に対応する複数(図5の例では3つ)の出力キュー81をそなえるとともに、セレクタ82をそなえる。特に言及しない限り、出力ポート8(出力キュー81及びセレクタ82)の基本的な機能は図4に示す出力ポート800(出力キュー810及びセレクタ820)と同様であるため、重複した説明を省略する。複数の出力ポート8は、転送先2,3ごとにそなえられ、フレームを当該フレームの転送先へ出力する複数の出力部の一例である。   The output port 8 includes a plurality of (three in the example of FIG. 5) output queues 81 corresponding to a plurality of transmission sources and a selector 82. Unless otherwise stated, the basic functions of the output port 8 (output queue 81 and selector 82) are the same as those of the output port 800 (output queue 810 and selector 820) shown in FIG. The plurality of output ports 8 are an example of a plurality of output units provided for each of the transfer destinations 2 and 3 and outputting a frame to the transfer destination of the frame.

また、出力キュー81はリトライ機能をそなえることができる。出力キュー81は、FIFOのデータ構造とすることができる。出力キュー81としては、例えばStatic RAM(SRAM)等の高速な揮発性メモリ、フリップフロップ(Flip Flop)やラッチ等の論理回路等、高速なリード/ライト動作が可能な回路が挙げられる。
出力ポート8は、LSI間のデータ転送を一定回数リトライしてもエラーが解消されなかったり、フレームを送信したが対向LSIからAcknowledge信号が送られて来ずにタイムアウトした場合等に、対向LSI又は配線に故障が発生したと判断することができる。また、出力ポート8は、フレームの送信頻度が規定値を超えた、又は他出力ポート8よりも高頻度である場合等に、LSI間のデータ転送が混雑していると判断することができる。
Further, the output queue 81 can have a retry function. The output queue 81 can have a FIFO data structure. Examples of the output queue 81 include a circuit capable of high-speed read / write operations such as a high-speed volatile memory such as a static RAM (SRAM) and a logic circuit such as a flip-flop and a latch.
The output port 8 is used when the error is not resolved even if data transfer between LSIs is retried a certain number of times, or when a frame is transmitted but a time-out occurs without an Acknowledge signal being sent from the opposite LSI. It can be determined that a failure has occurred in the wiring. The output port 8 can determine that data transfer between LSIs is congested when the frame transmission frequency exceeds a specified value or is higher than the other output port 8.

出力ポート8から対向LSIへのデータ転送においてエラーを検出した場合、出力ポート8は、発生したエラーが間欠故障によるものであることを期待し、複数回のフレームの再送(リトライ)を試みる。規定回数以上再送してもエラーを検出してしまう場合、出力ポート8は、ひとまず固定故障であると判断し、自出力ポート8を閉塞することができる。なお、出力ポート8は、混雑の発生を検出した場合にも、自出力ポート8を閉塞することができる。そして、出力ポート8は、自出力ポート8を閉塞すると、全ての入力ポート6、受付ポート5、及び管理部4に対して、自ポート(出力ポート8)の閉塞を示す出力ポート閉塞信号(出力抑止信号)を出力する。すなわち、出力ポート8(出力キュー81)は、対応する転送先へのデータ転送の状態に応じて、出力抑止信号を出力する。   When an error is detected in the data transfer from the output port 8 to the opposite LSI, the output port 8 attempts to retransmit (retry) a plurality of frames in the hope that the error that has occurred is due to an intermittent failure. If an error is detected even after retransmitting more than the specified number of times, the output port 8 can be determined to be a fixed failure for the time being, and the own output port 8 can be blocked. Note that the output port 8 can block the own output port 8 even when the occurrence of congestion is detected. When the output port 8 closes the own output port 8, the output port block signal (output) indicating that the own port (output port 8) is closed to all the input ports 6, the reception port 5, and the management unit 4 (Suppression signal) is output. That is, the output port 8 (output queue 81) outputs an output suppression signal according to the state of data transfer to the corresponding transfer destination.

なお、出力ポート8は、自出力ポート8を再利用するか否かを判断し、出力ポート閉塞信号に再利用の有無の情報を含ませてもよい。出力ポート8は、例えば、エラーが固定故障によるものであると判断した場合に再利用無しと判断してもよく、混雑を検出した場合に再利用有りと判断してもよい。また、エラーが固定故障によるものであっても、故障個所の動的交換によりエラーが解消される見込みがある場合には、再利用有りと判断してもよい。出力ポート8による自出力ポート8の再利用の有無の判断は、これらに限定されるものではなく、種々の条件に基づいて行なわれてよい。例えば、出力ポート8は、検出したエラーの内容や混雑の状況や、情報処理システム1の運用ルール等に基づいて、自出力ポート8の再利用の有無を判断してもよい。   Note that the output port 8 may determine whether or not to reuse the own output port 8, and may include information on the presence or absence of reuse in the output port block signal. For example, the output port 8 may determine that there is no reuse when it is determined that the error is due to a fixed failure, and may determine that there is reuse when it detects congestion. Even if the error is due to a fixed failure, if there is a possibility that the error will be resolved by dynamic replacement of the failure location, it may be determined that there is reuse. The determination of whether or not the output port 8 is reused is not limited to these, and may be performed based on various conditions. For example, the output port 8 may determine whether or not the own output port 8 is reused based on the content of the detected error, the congestion status, the operation rule of the information processing system 1, and the like.

なお、出力ポート8は、自出力ポート8の閉塞中に、同期リセットをしてもよい。また、出力ポート8は、入力ポート6から出力ポート閉塞解除信号を受信すると、自出力ポート8の再利用を行なうべく、同期リセットを解除し、再利用にそなえることができる。
接続部9は、配線やケーブル、ソケット等により転送先の対向LSIと接続され、出力ポート8から出力されるフレームを転送する。
Note that the output port 8 may perform a synchronous reset while the output port 8 is closed. Further, when the output port 8 receives the output port blockage release signal from the input port 6, the output port 8 can release the synchronous reset so that the output port 8 can be reused, and can prepare for reuse.
The connection unit 9 is connected to a transfer destination counter LSI by wiring, a cable, a socket, or the like, and transfers a frame output from the output port 8.

受付ポート5は、受付キュー51、保持部52、及びフレーム送信判定回路54をそなえる。特に言及しない限り、受付ポート5の基本的な機能は図4に示す受付ポート500と同様であるため、重複した説明を省略する。
受付キュー51は、複数の入力キュー61に格納されるフレームを一括して格納するものであり、受付格納部の一例である。なお、受付キュー51は、出力キュー81と同様に、FIFOのデータ構造とすることができる。受付キュー51としては、出力キュー81と同様、高速なリード/ライト動作が可能な回路が挙げられる。
The reception port 5 includes a reception queue 51, a holding unit 52, and a frame transmission determination circuit 54. Unless otherwise mentioned, the basic function of the reception port 5 is the same as that of the reception port 500 shown in FIG.
The reception queue 51 stores the frames stored in the plurality of input queues 61 in a lump and is an example of a reception storage unit. The reception queue 51 can have a FIFO data structure in the same manner as the output queue 81. As the reception queue 51, a circuit capable of performing a high-speed read / write operation, like the output queue 81, can be cited.

保持部52は、宛先情報と出力ポート8の番号等の出力ポート8を特定するための情報とが対応付けられたルーティングテーブル53を保持する。保持部52としては、メモリ又はレジスタ等の記憶装置が挙げられる。メモリとしては、例えばRAM等の揮発性メモリを用いることができる。
ここで、図6を参照して、ルーティングテーブル53のデータ構造の一例について説明する。図6に例示するように、ルーティングテーブル53は、データの最終的な送信先(目的地)を入力(エントリ)として、ルーティングテーブル53を保持するクロスバ2のいずれかの出力ポート8の情報が設定されるテーブルである。
The holding unit 52 holds a routing table 53 in which destination information and information for specifying the output port 8 such as the number of the output port 8 are associated with each other. Examples of the holding unit 52 include a storage device such as a memory or a register. As the memory, for example, a volatile memory such as a RAM can be used.
Here, an example of the data structure of the routing table 53 will be described with reference to FIG. As illustrated in FIG. 6, the routing table 53 is set with information of any output port 8 of the crossbar 2 that holds the routing table 53 with the final transmission destination (destination) of data as an input (entry). It is a table to be.

具体的には、ルーティングテーブル53は、ルーティングテーブル53のエントリの有効(例えば“0”)又は無効(例えば“1”)を示すビット,データの送信先の宛先情報,及び通常用の出力ポート8の情報を含んでよい。また、ルーティングテーブル53は、迂回路の出力ポート8があるエントリについては、1組以上の迂回用出力ポート8の有効(例えば“0”)又は無効(例えば“1”)を示すビット並びに迂回用の出力ポート8の情報を含んでよい。例えば、送信先Aのエントリは、通常用出力ポート8に出力ポートA、第1候補の迂回用出力ポート8に出力ポートB、第2候補の迂回用出力ポート8に出力ポートCが、それぞれ設定される。   Specifically, the routing table 53 includes a bit indicating validity (for example, “0”) or invalidity (for example, “1”) of the entry of the routing table 53, destination information of the data transmission destination, and the normal output port 8. Information may be included. Further, the routing table 53 includes a bit indicating validity (for example, “0”) or invalidity (for example, “1”) of one or more detour output ports 8 for an entry having the detour output port 8 and for detouring. The output port 8 information may be included. For example, in the entry of the transmission destination A, the output port A is set to the normal output port 8, the output port B is set to the first candidate detour output port 8, and the output port C is set to the second candidate detour output port 8. Is done.

なお、ルーティングテーブル53において、エントリの有効/無効は、例えば、送信先装置3A〜3Cが通信可能に存在している場合に有効が設定され、故障等により送信先装置3A〜3Cが通信不可能な場合に無効に設定される。迂回用出力ポート8の有効/無効は、対応する迂回用出力ポート8が有効であるか否かを示すものである。
迂回用出力ポート8は、第1候補、第2候補の順(優先度の高い順)で、通常用出力ポート8−対向LSI間に故障や混雑が発生した場合に使用される。迂回用出力ポート8が第1候補、第2候補のいずれに設定されるかは、経由するLSIの数等に基づく優先順位に応じて決定されてもよいし、迂回用出力ポート8が使用される場合に他の送信先の出力ポート8との関係で混雑が生じ難い順に決定されてもよい。
In the routing table 53, the validity / invalidity of the entry is set to valid when, for example, the transmission destination devices 3A to 3C are communicable, and the transmission destination devices 3A to 3C cannot communicate due to a failure or the like. In this case, it is disabled. The validity / invalidity of the bypass output port 8 indicates whether or not the corresponding bypass output port 8 is valid.
The bypass output port 8 is used when a failure or congestion occurs between the normal output port 8 and the opposing LSI in the order of the first candidate and the second candidate (in order of priority). Whether the bypass output port 8 is set as the first candidate or the second candidate may be determined according to the priority order based on the number of LSIs through which the bypass output port 8 is set, or the bypass output port 8 is used. May be determined in the order in which congestion is unlikely to occur due to the relationship with the output port 8 of another transmission destination.

なお、ルーティングテーブル53は、後述する管理部4によって登録及び更新される。
以上のように、図6に例示するルーティングテーブル53は、フレームごと(送信先ごと)に、迂回路(転送先)に対応する出力ポート8が設定される。すなわち、ルーティングテーブル53は、フレームの1以上の転送先に関する転送先情報の一例である。より具体的には、図6に例示するルーティングテーブル53は、フレームの送信先装置3A〜3Cに応じた1以上の転送先に関する転送先情報の一例であるといえる。
The routing table 53 is registered and updated by the management unit 4 described later.
As described above, in the routing table 53 illustrated in FIG. 6, the output port 8 corresponding to the detour (transfer destination) is set for each frame (for each transmission destination). That is, the routing table 53 is an example of transfer destination information regarding one or more transfer destinations of a frame. More specifically, it can be said that the routing table 53 illustrated in FIG. 6 is an example of transfer destination information regarding one or more transfer destinations corresponding to the frame transmission destination devices 3A to 3C.

図5の説明に戻り、フレーム送信判定回路54は、受付キュー51に格納されたフレームを対応する入力キュー61へ順次出力させる。また、フレーム送信判定回路54は、出力ポート8から出力ポート閉塞信号を受信すると、再送ステートマシン63からフレーム送信再開指示信号を受信するまで、受付キュー51に格納されたフレームの複数の入力キュー61への出力を抑止させる制御を行なう。これにより、受付ポート5は、入力キュー61へのフレームの出力途中に出力ポート閉塞信号を受信した場合でも、データ転送の最小単位であるフレームの区切りで入力キュー61へのフレームの出力を停止させることができる。従って、入力ポート6は、後述する転送経路の切り替えをフレームの区切りで行なうことができるため、フレームの破損等によるデータの喪失を回避することができる。   Returning to the description of FIG. 5, the frame transmission determination circuit 54 sequentially outputs the frames stored in the reception queue 51 to the corresponding input queue 61. When the frame transmission determination circuit 54 receives the output port block signal from the output port 8, the frame transmission determination circuit 54 receives a plurality of input queues 61 of frames stored in the reception queue 51 until it receives a frame transmission restart instruction signal from the retransmission state machine 63. Control to suppress output to. As a result, even when the reception port 5 receives an output port block signal in the middle of outputting the frame to the input queue 61, the reception port 5 stops outputting the frame to the input queue 61 at a frame delimiter that is the minimum unit of data transfer. be able to. Therefore, since the input port 6 can switch the transfer path, which will be described later, at a frame break, it is possible to avoid data loss due to frame damage or the like.

すなわち、フレーム送信判定回路54は、受付キュー51から出力中のフレームの出力が完了してから再送ステートマシン63による再送処理が完了するまで、受付キュー51に格納されたフレームの入力キュー61への出力を抑止させる受付制御部の一例である。また、受付ポート5は、入力されるフレームの複数の入力キュー61への格納を抑止する抑止部の一例である。   That is, the frame transmission determination circuit 54 outputs the frames stored in the reception queue 51 to the input queue 61 from the completion of the output of the frame being output from the reception queue 51 until the retransmission processing by the retransmission state machine 63 is completed. It is an example of the reception control part which suppresses an output. The reception port 5 is an example of a suppression unit that suppresses storage of input frames in a plurality of input queues 61.

入力ポート6は、3つの入力キュー61、セレクタ62、再送ステートマシン63、及び迂回用出力ポート管理回路64をそなえる。特に言及しない限り、入力ポート6(入力キュー61)の基本的な機能は図4に示す入力ポート600B(入力キュー610B)と同様であるため、重複した説明を省略する。
入力キュー61は、出力キュー81と同様に、FIFOのデータ構造とすることができる。入力キュー61としては、出力キュー81と同様、高速なリード/ライト動作が可能な回路が挙げられる。複数の入力キュー61は、入力されるフレームを自クロスバ2に接続される送信先装置D〜F又はクロスバ2を含む転送先(クロスバ2又は装置3)ごとに格納する複数の格納部の一例である。
The input port 6 includes three input queues 61, a selector 62, a retransmission state machine 63, and a bypass output port management circuit 64. Unless otherwise stated, the basic function of the input port 6 (input queue 61) is the same as that of the input port 600B (input queue 610B) shown in FIG.
As with the output queue 81, the input queue 61 can have a FIFO data structure. As the input queue 61, like the output queue 81, a circuit that can perform high-speed read / write operations can be used. The plurality of input queues 61 are an example of a plurality of storage units that store input frames for each transmission destination (crossbar 2 or device 3) including the transmission destination devices D to F or the crossbar 2 connected to the own crossbar 2. is there.

セレクタ62は、入力ポート6の各入力キュー61の出力側に設けられる。セレクタ62は、複数の入力キュー61に格納されたフレームを、複数の転送先(出力ポート8)のいずれかへ選択的に切り替えて出力する切替部の一例である。セレクタ62としては、例えばバススイッチ等の回路が挙げられる。図5に示す例では、セレクタ62は、出力ポート8ごとに設けられ、個々のセレクタが3つの入力キュー61及び対応する出力ポート8と配線で接続される。これにより、入力キュー61が保持するフレームの転送先が変更されても対応することができる。   The selector 62 is provided on the output side of each input queue 61 of the input port 6. The selector 62 is an example of a switching unit that selectively switches and outputs frames stored in the plurality of input queues 61 to any one of a plurality of transfer destinations (output ports 8). An example of the selector 62 is a circuit such as a bus switch. In the example illustrated in FIG. 5, the selector 62 is provided for each output port 8, and each selector is connected to the three input queues 61 and the corresponding output port 8 by wiring. As a result, it is possible to cope with a change in the transfer destination of the frame held in the input queue 61.

セレクタ62の選択論理は、フレームごとに出力ポート8を選択させるものとしてもよいが、そのためには、転送経路を変更しなければ不要であった下記の(i)及び(ii)の論理回路が用いられることになる。これらの論理回路がクロスバ2に追加されると、入力ポート6の論理回路が複雑になり、回路の物量や、遅延時間、遅延の発生頻度等も増加する可能性がある。   The selection logic of the selector 62 may be such that the output port 8 is selected for each frame. For this purpose, the following logic circuits (i) and (ii) that are not required unless the transfer path is changed are used. Will be used. When these logic circuits are added to the crossbar 2, the logic circuit of the input port 6 becomes complicated, and the amount of the circuit, delay time, occurrence frequency of delay, and the like may increase.

(i)フレームとフレームの区切りの判定を行なう論理回路。
(ii)Least Recently Used(LRU)等のアービトレーション(Arbitration;調停)を行なう論理回路。
そこで、一実施形態では、クロスバ2に対して、上記(i)及び(ii)の論理回路を追加せずに、例えばフレーム送信判定回路54と、再送ステートマシン63とを追加することにより、平易な論理回路によって、転送経路の変更を実現することができる。
(I) A logic circuit that determines the separation between frames.
(Ii) A logic circuit that performs arbitration such as Least Recently Used (LRU).
Therefore, in one embodiment, for example, the frame transmission determination circuit 54 and the retransmission state machine 63 are added to the crossbar 2 without adding the logic circuits (i) and (ii) described above. The transfer path can be changed with a simple logic circuit.

再送ステートマシン63は、出力ポート8から出力ポート閉塞信号を受信してから受付ポート5へフレーム送信再開指示信号を送信するまで、クロスバ2及び管理部4を制御する論理回路である。なお、図5では、1つの入力ポート6内に1つの再送ステートマシン63を図示しているが、入力キュー61ごとに再送ステートマシン63がそなえられることが好ましい。   The retransmission state machine 63 is a logic circuit that controls the crossbar 2 and the management unit 4 from the reception of the output port block signal from the output port 8 to the transmission of the frame transmission restart instruction signal to the reception port 5. In FIG. 5, one retransmission state machine 63 is illustrated in one input port 6, but it is preferable that a retransmission state machine 63 is provided for each input queue 61.

再送ステートマシン63は、例えば、レジスタ等のビット値(レジスタ値)を用いてクロスバ2の状態を管理し、以下の(I)〜(V)の場合にレジスタ値を変化させる。再送ステートマシン63は、クロスバ2内の各回路や管理部4にレジスタ値を参照させる、又はレジスタ値に応じた指示を行なうことで、各回路や管理部4の制御を実現する。
(I)通常のクロスバ2の動作状態(レジスタ値“3'b000”)において、再送ステートマシン63が出力ポート8から出力ポート閉塞信号を受信する。このとき、出力ポート閉塞信号を出力した出力ポート(以下、閉塞ポートともいう)8に対応する再送ステートマシン63のレジスタ値が“3'b001”に遷移する。
For example, the retransmission state machine 63 manages the state of the crossbar 2 using a bit value (register value) of a register or the like, and changes the register value in the following cases (I) to (V). The retransmission state machine 63 realizes control of each circuit and the management unit 4 by making each circuit and the management unit 4 in the crossbar 2 refer to the register value or giving an instruction according to the register value.
(I) In the normal operation state of the crossbar 2 (register value “3′b000”), the retransmission state machine 63 receives the output port block signal from the output port 8. At this time, the register value of the retransmission state machine 63 corresponding to the output port (hereinafter also referred to as a blocked port) 8 that has output the output port blocked signal transitions to “3′b001”.

(II)再送ステートマシン63が受付ポート5から入力ポート6へのフレーム送信を停止したことを示す信号を受信する。このとき、閉塞ポート8に対応する再送ステートマシン63のレジスタ値が“3'b010”に遷移する。
(III)入力ポート6が迂回用出力ポート(以下、代替ポートともいう)8宛ての入力キュー61内のフレームを該当出力ポート8へ送信する。代替ポート8宛ての入力キュー61内のフレームが全て送信され対向LSIへの到達が確認されると、閉塞ポート8に対応する再送ステートマシン63のレジスタ値が“3'b011”に遷移する。
(II) The retransmission state machine 63 receives a signal indicating that frame transmission from the reception port 5 to the input port 6 has been stopped. At this time, the register value of the retransmission state machine 63 corresponding to the blocked port 8 transitions to “3′b010”.
(III) The input port 6 transmits the frame in the input queue 61 addressed to the detour output port (hereinafter also referred to as alternative port) 8 to the corresponding output port 8. When all the frames in the input queue 61 addressed to the alternative port 8 are transmitted and arrival at the opposite LSI is confirmed, the register value of the retransmission state machine 63 corresponding to the blocked port 8 transitions to “3′b011”.

(IV)入力ポート6が閉塞ポート8宛ての入力キュー61内のフレームをセレクタ62を制御して代替ポート8へ送信する。閉塞ポート8宛ての入力キュー61内のフレームが全て送信され対向LSIへの到達が確認されると、閉塞ポート8に対応する再送ステートマシン63のレジスタ値が“3'b100”に遷移する。
(V)再送ステートマシン63が管理部4へルーティングテーブル53の更新が可能となったことを通知する。閉塞ポート8の再利用をしない場合、管理部4がルーティングテーブル53を更新して閉塞ポート8を代替ポート8に切り替える。一方、閉塞ポート8を再利用する場合、再送ステートマシン63が閉塞ポート8へ閉塞状態を解除させる信号を送信する。最後に、再送ステートマシン63が受付ポート5へフレームの送信を再開させる信号を送信すると、閉塞ポート8に対応する再送ステートマシン63のレジスタ値が“3'b000”(通常状態)に遷移する。
(IV) The input port 6 transmits a frame in the input queue 61 addressed to the blocked port 8 to the alternative port 8 by controlling the selector 62. When all the frames in the input queue 61 addressed to the blocked port 8 are transmitted and arrival at the opposite LSI is confirmed, the register value of the retransmission state machine 63 corresponding to the blocked port 8 transitions to “3′b100”.
(V) The retransmission state machine 63 notifies the management unit 4 that the routing table 53 can be updated. When the blocked port 8 is not reused, the management unit 4 updates the routing table 53 and switches the blocked port 8 to the alternative port 8. On the other hand, when the blocked port 8 is reused, the retransmission state machine 63 transmits a signal for releasing the blocked state to the blocked port 8. Finally, when the retransmission state machine 63 transmits a signal for resuming frame transmission to the reception port 5, the register value of the retransmission state machine 63 corresponding to the blocked port 8 transitions to “3′b000” (normal state).

このように、再送ステートマシン63は、一の転送先に対応する入力キュー61に格納された一の転送先へのフレームを、複数の異なる転送経路に含まれる他の(代替の)転送先へ出力するようにセレクタ62を制御する代替出力処理を行なう制御部の一例である。より具体的に、再送ステートマシン63は、代替出力処理において、一の転送先に対応する入力キュー61に格納された一の転送先への複数のフレームを、フレームの各々の送信先装置3A〜3Cに応じた代替の転送先へそれぞれ出力するようにセレクタ62を制御する。この代替出力処理は、再送ステートマシン63により、セレクタ62(の出力側,例えば一の出力ポート8)から一の転送経路を介した一の転送先(対向LSI)へのデータ転送の状態に応じて行なわれる。   In this way, the retransmission state machine 63 transfers a frame to one transfer destination stored in the input queue 61 corresponding to one transfer destination to another (alternate) transfer destination included in a plurality of different transfer paths. It is an example of the control part which performs the alternative output process which controls the selector 62 so that it may output. More specifically, in the alternative output process, the retransmission state machine 63 converts a plurality of frames to one transfer destination stored in the input queue 61 corresponding to one transfer destination to each of the transmission destination devices 3A to 3A. The selector 62 is controlled to output the data to alternative transfer destinations corresponding to 3C. This alternative output process is performed by the retransmission state machine 63 according to the state of data transfer from the selector 62 (output side thereof, for example, one output port 8) to one transfer destination (opposite LSI) via one transfer path. It is done.

以上のように、一実施形態に係る情報処理システム1(クロスバ2)によれば、データの転送先の故障や混雑等が発生しても、代替の出力ポート8へ転送路(転送先)が変更されるため、データ(フレーム)を送信先まで確実に転送することができる。また、情報処理システム1によれば、固定故障が発生した場合にフレームを送信先まで正しく転送することができる。さらに、情報処理システム1によれば、混雑している場合であっても転送路を空いている迂回路に切り替えることができ、間欠故障が発生した場合でも間欠故障が復旧するまでの間に転送路を迂回路に切り替えることができるため、データ転送の遅延を低減できる。   As described above, according to the information processing system 1 (crossbar 2) according to the embodiment, even if a data transfer destination failure or congestion occurs, a transfer path (transfer destination) is provided to the alternative output port 8. Since the data is changed, the data (frame) can be reliably transferred to the transmission destination. Further, according to the information processing system 1, when a fixed failure occurs, the frame can be correctly transferred to the transmission destination. Furthermore, according to the information processing system 1, even when the traffic is congested, the transfer path can be switched to a detour, and even when an intermittent failure occurs, transfer is performed before the intermittent failure is recovered. Since the path can be switched to a detour, data transfer delay can be reduced.

また、情報処理システム1によれば、クロスバ2の動作を継続させたまま、入力ポート6ごとにフレームの転送先を代替ポート8へ動的に切り替えることができる。従って、他の入力ポート6に滞留しているフレームが全て送信されるのを待たずに入力ポート6ごとに切り替えを完了させることができるとともに、クロスバ2全体の動作を停止させずに済むため、他の出力ポート8に与える影響を最小限に留めることができる。   Further, according to the information processing system 1, the frame transfer destination can be dynamically switched to the alternative port 8 for each input port 6 while the operation of the crossbar 2 is continued. Therefore, it is possible to complete the switching for each input port 6 without waiting for all the frames staying at the other input ports 6 to be transmitted, and it is not necessary to stop the operation of the entire crossbar 2. The influence on other output ports 8 can be minimized.

また、上記(IV)において、閉塞ポート8宛ての入力キュー61内のフレームには、一度閉塞ポート8へ出力されたものの、障害等により対向LSIへの到達が確認できていないフレームも含まれ得る。つまり、再送ステートマシン63は、閉塞ポート8に対応する入力キュー61に格納された、閉塞ポート8へ出力済みのフレームを含む1以上のフレームを、各フレームに対応する代替ポート8へ出力することができる。   In (IV), the frame in the input queue 61 addressed to the blocked port 8 may include a frame that has been output to the blocked port 8 but has not been confirmed to reach the opposing LSI due to a failure or the like. . That is, the retransmission state machine 63 outputs one or more frames stored in the input queue 61 corresponding to the blocked port 8 and including the frames already output to the blocked port 8 to the alternative port 8 corresponding to each frame. Can do.

このように、情報処理システム1によれば、閉塞ポート8に対応する入力キュー61に格納された、転送失敗のフレームも含めて、代替ポート8へ出力されるため、転送経路に障害が発生した場合でも、データの喪失を回避することができる。
迂回用出力ポート管理回路64は、受付キュー51から入力キュー61に入力されるフレームごとに、ルーティングテーブル53内の迂回用出力ポート8の情報を保持する回路である。迂回用出力ポート管理回路64は、例えば、上記(IV)の処理において、再送ステートマシン63が閉塞ポート8に対応する入力キュー61内のフレームを出力する際に、フレームごとの出力先を通常用出力ポート8から迂回用出力ポート8に変換することができる。迂回用出力ポート管理回路64は、メモリ又はレジスタ等の記憶装置を含むことができる。メモリとしては、例えばRAM等の揮発性メモリが用いられてよい。なお、図5では、1つの入力ポート6内に1つの迂回用出力ポート管理回路64を図示しているが、入力キュー61ごとに迂回用出力ポート管理回路64がそなえられることが好ましい。
As described above, according to the information processing system 1, a failure has occurred in the transfer path because the frame including the transfer failure frame stored in the input queue 61 corresponding to the blocked port 8 is output to the alternative port 8. Even in this case, data loss can be avoided.
The bypass output port management circuit 64 is a circuit that holds the information of the bypass output port 8 in the routing table 53 for each frame input from the reception queue 51 to the input queue 61. For example, when the retransmission state machine 63 outputs a frame in the input queue 61 corresponding to the blocked port 8 in the process (IV), the bypass output port management circuit 64 uses the output destination for each frame as a normal one. Conversion from the output port 8 to the bypass output port 8 is possible. The bypass output port management circuit 64 can include a storage device such as a memory or a register. As the memory, for example, a volatile memory such as a RAM may be used. Although one bypass output port management circuit 64 is shown in one input port 6 in FIG. 5, it is preferable that a bypass output port management circuit 64 is provided for each input queue 61.

このように、再送ステートマシン63は、ルーティングテーブル53から代替ポート8の情報を取得した迂回用出力ポート管理回路64と協働して、閉塞ポート8に対応する入力キュー61に格納されたフレームを代替ポート8へ出力することができる。換言すれば、再送ステートマシン63は、障害等が検出された一の転送先に対応する入力キュー61に格納されたフレームについて、ルーティングテーブル53に代替の転送先(代替ポート8)が含まれる場合、代替出力処理を行なうものであるといえる。   In this way, the retransmission state machine 63 cooperates with the detour output port management circuit 64 that has acquired the information of the alternative port 8 from the routing table 53, and transmits the frame stored in the input queue 61 corresponding to the blocked port 8. The data can be output to the alternative port 8. In other words, when the retransmission state machine 63 includes an alternative transfer destination (alternate port 8) in the routing table 53 for a frame stored in the input queue 61 corresponding to one transfer destination in which a failure or the like is detected. It can be said that the alternative output processing is performed.

つまり、情報処理システム1によれば、ルーティングテーブル53の設定によって代替ポート8を任意の出力ポート8とすることができ、また、フレームごとに異なる代替ポート8、つまり異なる迂回路に転送することも可能となる。従って、代替ポート8への切り替えの自由度が上がり、耐障害性を向上させることができる。
ルーティング部7は、各入力ポート6内の各入力キュー61と、各出力ポート8内の各出力キュー81との間を接続し、入力キュー61からルーティング部7に入力されたフレームを、対応する出力キュー81へ出力する。ルーティング部7としては、例えば、入力キュー61−出力キュー81間をデータパス(フレーム転送路)により接続した静的網が挙げられる。なお、ルーティング部7は、入力キュー61−出力キュー81間の距離が長い場合には、複数のデータパスにそれぞれフリップフロップ等を介装し、フレーム間の同期をとるようにしてもよい。
That is, according to the information processing system 1, the alternative port 8 can be set as an arbitrary output port 8 by setting the routing table 53, and can be transferred to a different alternative port 8 for each frame, that is, a different detour. It becomes possible. Therefore, the degree of freedom of switching to the alternative port 8 is increased, and fault tolerance can be improved.
The routing unit 7 connects each input queue 61 in each input port 6 and each output queue 81 in each output port 8 to correspond to a frame input from the input queue 61 to the routing unit 7. Output to the output queue 81. Examples of the routing unit 7 include a static network in which the input queue 61 and the output queue 81 are connected by a data path (frame transfer path). Note that when the distance between the input queue 61 and the output queue 81 is long, the routing unit 7 may include a flip-flop or the like in each of a plurality of data paths to synchronize the frames.

〔1−5〕管理部の構成例
次に、図5〜図8を参照して、一実施形態の一例としての管理部4について説明する。図7は、図5に示す管理部4が保持する管理情報42のデータ構造の一例を示す図であり、図8は、図5に示す管理部4のハードウェア構成例を示す図である。
管理部4は、保持部41をそなえる(図5参照)。保持部41は、図7に示すように、情報処理システム1内の全クロスバ2の全ルーティングテーブル53(図6参照)の情報を管理情報42として保持する。保持部41としては、メモリ又はレジスタ等の記憶装置が挙げられる。メモリとしては、例えばRAM等の揮発性メモリを用いることができる。
[1-5] Configuration Example of Management Unit Next, the management unit 4 as an example of an embodiment will be described with reference to FIGS. 7 is a diagram showing an example of the data structure of the management information 42 held by the management unit 4 shown in FIG. 5, and FIG. 8 is a diagram showing a hardware configuration example of the management unit 4 shown in FIG.
The management unit 4 includes a holding unit 41 (see FIG. 5). As shown in FIG. 7, the holding unit 41 holds information of all routing tables 53 (see FIG. 6) of all crossbars 2 in the information processing system 1 as management information 42. Examples of the holding unit 41 include a storage device such as a memory or a register. As the memory, for example, a volatile memory such as a RAM can be used.

管理部4は、管理情報42、及び受付ポート5のルーティングテーブル53のそれぞれについて、登録及び更新を行なうことができる。管理部4は、例えば、各クロスバ2の出力ポート8からの出力ポート閉塞信号を受信した後、又はルーティングテーブル53を更新する前に、管理情報42を更新することができる。また、管理部4は、例えば、管理情報42の更新が完了すると、再送ステートマシン63からのルーティングテーブル更新可能通知信号に応じて、管理情報42に対してした更新と同様の内容で、ルーティングテーブル53を更新する。そして、管理部4は、ルーティングテーブル53を更新すると、出力ポート切り替え完了信号を再送ステートマシン63へ送信する。つまり、管理部4は、更新要求に応じて、一の転送先(例えば閉塞ポート8に接続された転送先)に出力されるフレームが代替の転送先(例えば代替ポート8に接続された転送先)に出力されるように、ルーティングテーブル53を更新する。   The management unit 4 can register and update the management information 42 and the routing table 53 of the reception port 5. For example, the management unit 4 can update the management information 42 after receiving an output port blocking signal from the output port 8 of each crossbar 2 or before updating the routing table 53. In addition, for example, when the update of the management information 42 is completed, the management unit 4 responds to the routing table update availability notification signal from the retransmission state machine 63 with the same contents as the update made to the management information 42, and the routing table 53 is updated. Then, when updating the routing table 53, the management unit 4 transmits an output port switching completion signal to the retransmission state machine 63. In other words, in response to the update request, the management unit 4 sends a frame output to one transfer destination (for example, a transfer destination connected to the blocked port 8) to an alternative transfer destination (for example, a transfer destination connected to the alternative port 8). The routing table 53 is updated so that it is output to ().

管理情報42又はルーティングテーブル53の更新において、管理部4は、閉塞ポート8が迂回用出力ポートに設定されているエントリに対し、当該閉塞ポート8の迂回用出力ポートを無効に設定し、迂回用出力ポートとして使用されないようにすることができる。また、管理部4は、閉塞ポート8が通常用出力ポートに設定されているエントリに対し、迂回用出力ポートを通常用出力ポートに上書きして元の迂回用出力ポートを無効に設定することができる。これらの設定により、管理部4は、迂回用出力ポートを通常用出力ポートに切り替えることができる。   In the update of the management information 42 or the routing table 53, the management unit 4 sets the bypass output port of the blocked port 8 to invalid for the entry in which the blocked port 8 is set as the bypass output port, It can be prevented from being used as an output port. In addition, the management unit 4 may set the original bypass output port to be invalid by overwriting the bypass output port with the normal output port for the entry in which the blocked port 8 is set as the normal output port. it can. With these settings, the management unit 4 can switch the bypass output port to the normal output port.

なお、管理部4は、閉塞した出力ポート8を再利用する場合、ルーティングテーブル53及び管理情報42の更新を行なわなくてよい。閉塞中の出力ポート8を再利用するか否かの判断は、管理部4で再利用の有無を判断可能な実装とした上で、管理部4が決定することができる。管理部4による再利用の有無の判断材料としては、例えば、管理部4に再利用する場合/しない場合のいずれかに固定するモードを設けたり、出力ポート8からの出力ポート閉塞信号を再利用する場合/しない場合の2種類にすること等が挙げられる。なお、管理部4は、出力ポート切り替え完了信号を、ルーティングテーブル53を更新した場合/していない場合の2種類にしてもよい。これにより、管理部4は、閉塞ポート8の再利用をしないと判断した場合に、ルーティングテーブル53を更新していないことを再送ステートマシン63へ通知することができる。   The management unit 4 does not need to update the routing table 53 and the management information 42 when reusing the blocked output port 8. Whether or not to re-use the blocked output port 8 can be determined by the management unit 4 after the management unit 4 can determine whether or not to reuse. For example, the management unit 4 determines whether or not to reuse the management unit 4 by setting a mode in which the management unit 4 fixes or does not reuse, or reuses the output port blocking signal from the output port 8. For example, there are two types of cases of whether or not to do so. The management unit 4 may use two types of output port switching completion signals when the routing table 53 is updated / not updated. Thereby, the management unit 4 can notify the retransmission state machine 63 that the routing table 53 is not updated when it is determined not to reuse the blocked port 8.

以上のように、管理部4は、セレクタ62(複数の出力ポート8の各々)から複数の転送先へのデータ転送の状態に応じて、受付ポート5の保持部52に保持されたルーティングテーブル53を更新する更新部の一例である。
このように、管理部4によれば、クロスバ2の動作を継続させたままルーティングテーブル53を更新することができる。また、ルーティングテーブル53の更新後にフレームが入力キュー61から閉塞ポート8へ出力されることを防止できる。
As described above, the management unit 4 determines the routing table 53 held in the holding unit 52 of the reception port 5 according to the state of data transfer from the selector 62 (each of the plurality of output ports 8) to a plurality of transfer destinations. It is an example of the update part which updates.
Thus, according to the management unit 4, the routing table 53 can be updated while the operation of the crossbar 2 is continued. Further, it is possible to prevent the frame from being output from the input queue 61 to the blocked port 8 after the routing table 53 is updated.

上述した管理部4の動作は、例えば情報処理システム1のファームウェア等のソフトウェアによる処理によって実現されてもよい。例えば、管理部4は、図8に示すように、CPU40a、メモリ40b、記憶部40c、インタフェース部40d、入出力部40e、記録媒体40f、及び読取部40gをそなえることができる。
CPU40aは、図8における対応する各ブロック40b〜40gと接続され、種々の制御や演算を行なう処理装置(プロセッサ)の一例である。CPU40aは、メモリ40b、記録媒体40fや40h、又は図示しないRead Only Memory(ROM)等に格納されたプログラムを実行することにより、管理部4における種々の機能を実現することができる。メモリ40bは、種々のデータやプログラムを一時的に格納する記憶装置である。CPU40aは、プログラムを実行する際に、メモリ40bにデータやプログラムを格納し展開する。メモリ40bとしては、例えばRAM等の揮発性メモリが挙げられる。
The operation of the management unit 4 described above may be realized by processing by software such as firmware of the information processing system 1, for example. For example, as illustrated in FIG. 8, the management unit 4 can include a CPU 40a, a memory 40b, a storage unit 40c, an interface unit 40d, an input / output unit 40e, a recording medium 40f, and a reading unit 40g.
The CPU 40a is an example of a processing device (processor) that is connected to the corresponding blocks 40b to 40g in FIG. 8 and performs various controls and operations. The CPU 40a can realize various functions in the management unit 4 by executing programs stored in the memory 40b, the recording media 40f and 40h, or a read only memory (ROM) (not shown). The memory 40b is a storage device that temporarily stores various data and programs. When executing the program, the CPU 40a stores and develops data and programs in the memory 40b. An example of the memory 40b is a volatile memory such as a RAM.

記憶部40cは、種々のデータやプログラム等を格納するハードウェアである。記憶部40cとしては、例えばHard Disk Drive(HDD)等の磁気ディスク装置、Solid State Drive(SSD)等の半導体ドライブ装置、フラッシュメモリ等の不揮発性メモリ等の各種デバイスが挙げられる。インタフェース部40dは、有線又は無線による、ネットワークや他の装置との接続及び通信の制御等を行なう。入出力部40eは、例えばマウスやキーボード等の入力装置、及びディスプレイやプリンタ等の出力装置の少なくとも一方を含んでよい。入出力部40eは、入力装置により管理部4のオペレータ(管理者)等の操作による動作命令を受け付ける一方、管理部4による動作結果を出力装置に表示(出力)することができる。   The storage unit 40c is hardware that stores various data, programs, and the like. Examples of the storage unit 40c include various devices such as a magnetic disk device such as a hard disk drive (HDD), a semiconductor drive device such as a solid state drive (SSD), and a nonvolatile memory such as a flash memory. The interface unit 40d performs connection and communication control with a network and other devices by wire or wireless. The input / output unit 40e may include at least one of an input device such as a mouse and a keyboard and an output device such as a display and a printer. The input / output unit 40e can receive an operation command by an operation of an operator (administrator) or the like of the management unit 4 by an input device and can display (output) an operation result by the management unit 4 on an output device.

記録媒体40fは、例えばフラッシュメモリやROM等の記憶装置であり、種々のデータやプログラムを記録することができる。読取部40gは、コンピュータ読取可能な記録媒体40hに記録されたデータやプログラムを読み出す装置である。記録媒体40f及び40hの少なくとも一方には、本実施形態に係る管理部4の各種機能の全部もしくは一部を実現する管理(更新)プログラムが格納されてもよい。例えば、CPU40aは、記録媒体40fから読み出したプログラム、又は、読取部40gを介して記録媒体40hから読み出したプログラムを、メモリ40b等の記憶装置に展開して実行することができる。これにより、管理部4としてのコンピュータ(CPU40a,情報処理装置,各種端末を含む)は、本実施形態に係る管理部4の機能を実現することができる。   The recording medium 40f is a storage device such as a flash memory or a ROM, and can record various data and programs. The reading unit 40g is a device that reads data and programs recorded on a computer-readable recording medium 40h. At least one of the recording media 40f and 40h may store a management (update) program that realizes all or some of the various functions of the management unit 4 according to the present embodiment. For example, the CPU 40a can execute the program read from the recording medium 40f or the program read from the recording medium 40h via the reading unit 40g in a storage device such as the memory 40b. Accordingly, the computer (including the CPU 40a, the information processing apparatus, and various terminals) as the management unit 4 can realize the function of the management unit 4 according to the present embodiment.

なお、記録媒体40hとしては、例えばフレキシブルディスク、Compact Disc(CD)、Digital Versatile Disc(DVD)、ブルーレイディスク等の光ディスクや、Universal Serial Bus(USB)メモリ等のフラッシュメモリが挙げられる。なお、CDとしては、CD−ROM、CD-Recordable(CD−R)、CD-Rewritable(CD−RW)等が挙げられる。また、DVDとしては、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+R、DVD+RW等が挙げられる。   Examples of the recording medium 40h include optical disks such as flexible disks, compact discs (CDs), digital versatile discs (DVDs), and Blu-ray discs, and flash memories such as universal serial bus (USB) memories. Examples of the CD include CD-ROM, CD-Recordable (CD-R), and CD-Rewritable (CD-RW). Examples of DVD include DVD-ROM, DVD-RAM, DVD-R, DVD-RW, DVD + R, DVD + RW, and the like.

なお、上述した各ブロック40a〜40g間はバスで相互に通信可能に接続される。また、管理部4の上述したハードウェア構成例は例示である。例えば、管理部4は、図8に示すハードウェアの少なくとも一部を情報処理システム1と共用してもよい。一例として、管理部4は、CPU40aやメモリ40bに代えて、情報処理システム1の装置3の一例としてのCPUやメモリを用いてもよい。また、管理部4及び情報処理システム1内でのハードウェアの増減や分割、任意の組み合わせでの統合等は、適宜行なわれてもよい。   The blocks 40a to 40g described above are connected to be communicable with each other via a bus. The above-described hardware configuration example of the management unit 4 is an example. For example, the management unit 4 may share at least a part of the hardware shown in FIG. As an example, the management unit 4 may use a CPU and a memory as an example of the device 3 of the information processing system 1 instead of the CPU 40a and the memory 40b. Moreover, increase / decrease or division of hardware in the management unit 4 and the information processing system 1, integration in an arbitrary combination, and the like may be performed as appropriate.

〔1−6〕情報処理システムの動作例
次に、図9〜図11を参照して、一実施形態の一例としての情報処理システム1の動作例を説明する。
図9は、図5に示すクロスバ2の受付ポート5における再送処理の動作例を説明するフローチャートであり、図10は、図5に示すクロスバ2の入力ポート6における再送処理の動作例を説明するフローチャートである。図11は、図5に示す管理部4におけるルーティングテーブル53の更新処理の動作例を説明するフローチャートである。
[1-6] Operation Example of Information Processing System Next, an operation example of the information processing system 1 as an example of an embodiment will be described with reference to FIGS. 9 to 11.
FIG. 9 is a flowchart for explaining an operation example of the retransmission processing in the reception port 5 of the crossbar 2 shown in FIG. 5, and FIG. 10 explains an operation example of the retransmission processing in the input port 6 of the crossbar 2 shown in FIG. It is a flowchart. FIG. 11 is a flowchart for explaining an operation example of the update processing of the routing table 53 in the management unit 4 shown in FIG.

〔1−6−1〕受付ポートにおける再送処理の動作例
はじめに、図9を参照して、受付ポート5における再送処理について説明する。
受付ポート5により出力ポート8から入力ポート6経由で出力ポート閉塞信号が受信されると(ステップS1)、フレーム送信判定回路54により、受付キュー51から入力ポート6へフレームが出力中か否かが判断される(ステップS2)。フレーム出力中である場合(ステップS2のYesルート)、フレーム送信判定回路54により、入力ポート6へ出力中のフレームが最後まで出力されたか否かが判断される(ステップS3)。出力中のフレームが最後まで出力されていない場合(ステップS3のNoルート)、フレーム送信判定回路54により、所定クロック(例えば数クロック;所定時間)待機され(ステップS4)、処理がステップS3に移行する。
[1-6-1] Example of Retransmission Process at Reception Port First, the retransmission process at the reception port 5 will be described with reference to FIG.
When the reception port 5 receives an output port block signal from the output port 8 via the input port 6 (step S1), the frame transmission determination circuit 54 determines whether or not a frame is being output from the reception queue 51 to the input port 6. Determination is made (step S2). If the frame is being output (Yes route in step S2), the frame transmission determination circuit 54 determines whether the frame being output to the input port 6 has been output to the end (step S3). When the frame being output has not been output to the end (No route in step S3), the frame transmission determination circuit 54 waits for a predetermined clock (for example, several clocks; a predetermined time) (step S4), and the process proceeds to step S3. To do.

一方、ステップS2においてフレーム出力中ではない場合(ステップS2のNoルート)、又は、ステップS3において出力中のフレームが最後まで出力された場合(ステップS3のYesルート)、処理がステップS5に移行する。ステップS5では、フレーム送信判定回路54により、入力ポート6へのフレーム送信が停止され、入力ポート6に対して、入力ポート6へのフレーム送信を停止したことを示すフレーム送信停止信号が送信される。   On the other hand, if the frame is not being output in step S2 (No route in step S2), or if the frame being output has been output to the end in step S3 (Yes route in step S3), the process proceeds to step S5. . In step S5, the frame transmission determination circuit 54 stops frame transmission to the input port 6, and a frame transmission stop signal indicating that frame transmission to the input port 6 is stopped is transmitted to the input port 6. .

次いで、受付ポート5により入力ポート6からフレーム送信を再開することを示すフレーム送信再開指示信号が受信されると、フレーム送信判定回路54により、受付キュー51から入力ポート6へのフレーム送信が再開され(ステップS6)、処理が終了する。
〔1−6−2〕入力ポートにおける再送処理の動作例
次に、図10を参照して、入力ポート6における再送処理について説明する。
Next, when the frame transmission restart instruction signal indicating that frame reception is resumed from the input port 6 is received by the reception port 5, the frame transmission determination circuit 54 resumes frame transmission from the reception queue 51 to the input port 6. (Step S6), the process ends.
[1-6-2] Operation Example of Retransmission Process at Input Port Next, the retransmission process at the input port 6 will be described with reference to FIG.

なお、前提として、再送ステートマシン63が管理する状態が、出力ポート8でエラーや混雑が検出されていない通常状態(レジスタ値“3'b000”)であるものとする。また、以下の図10のフローチャートの制御は、複数の再送ステートマシン63のうちの、閉塞ポート8に対応する入力キュー61を制御する(閉塞ポート8に対応する)再送ステートマシン63により実行されるものとする。つまり、代替ポート8宛ての入力キュー61を制御する(代替ポート8に対応する)再送ステートマシン63は、図10に示すように状態を変化させなくてよい。   It is assumed that the state managed by the retransmission state machine 63 is a normal state (register value “3′b000”) in which no error or congestion is detected at the output port 8. 10 is executed by the retransmission state machine 63 that controls the input queue 61 corresponding to the blocked port 8 among the plurality of retransmission state machines 63 (corresponding to the blocked port 8). Shall. That is, the retransmission state machine 63 that controls the input queue 61 addressed to the alternative port 8 (corresponding to the alternative port 8) does not have to change the state as shown in FIG.

入力ポート6により出力ポート8から出力ポート閉塞信号が受信されると(ステップS11)、閉塞ポート8に対応する再送ステートマシン63の状態が、対入力ポートフレーム送信停止移行状態(レジスタ値“3'b001”)に遷移する。また、入力ポート6により、受付ポート5からフレームの送信を停止したことを示す信号が受信される(ステップS12)。ステップS12の処理が完了すると、閉塞ポート8に対応する再送ステートマシン63の状態が、代替ポート宛て入力キュー内フレーム送信状態(レジスタ値“3'b010”)に遷移する。   When the output port block signal is received from the output port 8 by the input port 6 (step S11), the state of the retransmission state machine 63 corresponding to the block port 8 changes to the input port frame transmission stop transition state (register value “3”). b001 "). Further, the input port 6 receives a signal indicating that frame transmission has been stopped from the reception port 5 (step S12). When the processing in step S12 is completed, the state of the retransmission state machine 63 corresponding to the blocked port 8 transitions to the input queue frame transmission state (register value “3′b010”) addressed to the alternative port.

次に、入力ポート6により、閉塞ポート8の代替ポート8宛ての入力キュー61に滞留しているフレームが、当該フレームの転送先に対応する出力ポート8へ送信される(ステップS13)。ステップS13の処理は、代替ポート8に対応する再送ステートマシン63によるセレクタ62の制御により行なわれる。
なお、ステップS13において、閉塞ポート8に対応する再送ステートマシン63は、代替ポート8宛ての入力キュー61に滞留する全フレームの送信が完了したことを検知することができる。或いは、閉塞ポート8に対応する再送ステートマシン63は、代替ポート8に対応する再送ステートマシン63から全フレームの送信が完了したことを通知されてもよい。ステップS13の処理が完了すると、閉塞ポート8に対応する再送ステートマシン63の状態が、閉塞ポート宛て入力キュー内フレーム送信状態(レジスタ値“3'b011”)に遷移する。なお、フレームごとに代替ポート8が設定される場合等、代替ポート8に対応する再送ステートマシン63が複数存在する場合、全代替ポート8について全フレームの送信が完了してから、閉塞ポート8に対応する再送ステートマシン63の状態が遷移する。
Next, the frame staying in the input queue 61 addressed to the alternative port 8 of the blocked port 8 is transmitted from the input port 6 to the output port 8 corresponding to the transfer destination of the frame (step S13). The process of step S13 is performed under the control of the selector 62 by the retransmission state machine 63 corresponding to the alternative port 8.
In step S13, the retransmission state machine 63 corresponding to the blocked port 8 can detect that transmission of all the frames staying in the input queue 61 addressed to the alternative port 8 has been completed. Alternatively, the retransmission state machine 63 corresponding to the blocked port 8 may be notified from the retransmission state machine 63 corresponding to the alternative port 8 that transmission of all frames has been completed. When the process of step S13 is completed, the state of the retransmission state machine 63 corresponding to the blocked port 8 transitions to the input queue frame transmission state (register value “3′b011”) addressed to the blocked port. When there are a plurality of retransmission state machines 63 corresponding to the alternative port 8 such as when the alternative port 8 is set for each frame, the transmission to all the alternative ports 8 is completed after the transmission of all frames is completed. The state of the corresponding retransmission state machine 63 transitions.

次いで、閉塞ポート8に対応する再送ステートマシン63により、セレクタ62が制御され、閉塞ポート8宛ての入力キュー61に滞留しているフレームが迂回路(転送先)に対応する出力ポート8へ送信される(ステップS14)。
なお、ステップS13及びS14において、再送ステートマシン63は、フレームの喪失を防ぐため、送信する全フレームが該当出力ポート8から対向LSIへ正常に到達したことを確認してから、入力キュー61内の送信済フレームを解放することが好ましい。
Next, the selector 62 is controlled by the retransmission state machine 63 corresponding to the blocked port 8, and the frame staying in the input queue 61 addressed to the blocked port 8 is transmitted to the output port 8 corresponding to the detour (transfer destination). (Step S14).
In steps S13 and S14, the retransmission state machine 63 confirms that all the frames to be transmitted have normally reached the opposite LSI from the corresponding output port 8 in order to prevent the loss of frames. It is preferable to release the transmitted frame.

ステップS14の処理が実行されると、閉塞ポート8に対応する再送ステートマシン63の状態がルーティングテーブル更新可能状態(レジスタ値“3'b100”)に遷移する。
そして、再送ステートマシン63により、ステップS13及びS14までの処理が完了したことが、ルーティングテーブル更新可能通知信号により管理部4へ通知される(ステップS15)。管理部4では、閉塞ポート8が再利用されない場合、ルーティングテーブル53が更新される(ステップS15)。
When the process of step S14 is executed, the state of the retransmission state machine 63 corresponding to the blocked port 8 changes to the routing table updatable state (register value “3′b100”).
Then, the retransmission state machine 63 notifies the management unit 4 that the processing up to steps S13 and S14 has been completed by a routing table updateable notification signal (step S15). In the management unit 4, when the blocked port 8 is not reused, the routing table 53 is updated (step S15).

また、再送ステートマシン63により、管理部4から出力ポート切り替え完了信号が受信されると(ステップS16)、再送ステートマシン63により、新たな出力ポート8が再利用予定の閉塞中の出力ポート8であるか否かが判断される(ステップS17)。新たな出力ポート8が再利用予定である場合(ステップS17のYesルート)、再送ステートマシン63により、出力ポート閉塞解除信号が閉塞中の出力ポート8へ送信されて閉塞状態が解除され(ステップS18)、処理がステップS19に移行する。つまり、再送ステートマシン63は、ルーティングテーブル更新可能状態において、故障装置の動的交換や混雑解消などの理由により、閉塞ポート8を再利用する場合、出力ポート8の閉塞状態を解除する。   When the retransmission state machine 63 receives an output port switching completion signal from the management unit 4 (step S16), the retransmission state machine 63 causes the new output port 8 to be a blocked output port 8 scheduled to be reused. It is determined whether or not there is (step S17). When the new output port 8 is scheduled to be reused (Yes route in step S17), the retransmission state machine 63 transmits the output port block release signal to the blocked output port 8 to release the block state (step S18). ), The process proceeds to step S19. In other words, the retransmission state machine 63 releases the blocked state of the output port 8 when the blocked port 8 is reused in the routing table updatable state for reasons such as dynamic replacement of a failed device or elimination of congestion.

なお、再送ステートマシン63は、出力ポート8の故障又は混雑等により転送経路を変更したい場合、ルーティングテーブル53を更新するために、ステップS15においてルーティングテーブル更新可能通知信号を送信することができる。一方、再送ステートマシン63は、閉塞ポート8を再利用する場合、ルーティングテーブル更新可能通知信号を送信しなくてもよい(ステップS15及びS16を省略できる)が、管理部4に再利用の有無を判断させる場合には、当該信号を送信してもよい。   Note that the retransmission state machine 63 can transmit a routing table updatable notification signal in step S15 in order to update the routing table 53 when it is desired to change the transfer path due to failure or congestion of the output port 8. On the other hand, when the blocked port 8 is reused, the retransmission state machine 63 does not need to transmit the routing table update availability notification signal (steps S15 and S16 can be omitted), but the management unit 4 determines whether or not to reuse. When making a determination, the signal may be transmitted.

ステップS19では、再送ステートマシン63により、受付ポート5へフレーム送信再開指示信号が送信されて、入力キュー61から出力ポート8へのフレーム送信(通常制御)が再開され、処理が終了する。なお、新たな出力ポート8が再利用予定ではない場合(ステップS17のNoルート)、処理がステップS19に移行する。ステップS19の処理が完了すると、閉塞ポート8に対応する再送ステートマシン63の状態が、通常状態(レジスタ値“3'b000”)に遷移する。   In step S19, the retransmission state machine 63 transmits a frame transmission resumption instruction signal to the reception port 5, frame transmission (normal control) from the input queue 61 to the output port 8 is resumed, and the process ends. If the new output port 8 is not scheduled to be reused (No route in step S17), the process proceeds to step S19. When the process of step S19 is completed, the state of the retransmission state machine 63 corresponding to the blocked port 8 transitions to the normal state (register value “3′b000”).

〔1−6−3〕管理部におけるルーティングテーブルの更新処理の動作例
次に、図11を参照して、管理部4におけるルーティングテーブル53の更新処理について説明する。
なお、前提として、図11に例示するフローチャートの制御は、閉塞ポート8を再利用しない場合に実行されるものであり、管理部4が出力ポート閉塞信号に基づき閉塞ポート8を再利用すると判断した場合には実行されない。
[1-6-3] Operation Example of Routing Table Update Processing in Management Unit Next, the update processing of the routing table 53 in the management unit 4 will be described with reference to FIG.
As a premise, the control of the flowchart illustrated in FIG. 11 is executed when the blocked port 8 is not reused, and the management unit 4 determines to reuse the blocked port 8 based on the output port blocked signal. In case it is not executed.

管理部4により出力ポート8から出力ポート閉塞信号が受信されると、管理情報42における迂回用出力ポートのうちの閉塞ポート8に対応するビットが有効から無効に更新される(ステップS21)。
次いで、管理部4により、再送ステートマシン63からルーティングテーブル更新可能通知信号が受信されると(ステップS22)、管理部4により、ルーティングテーブル53を更新可能か否かが判断される(ステップS23)。例えば、管理部4は、管理情報42を参照し、閉塞ポート8が通常用出力ポートに設定されているエントリに、迂回用出力ポートが有効に設定されているか否かを判断し、迂回用出力ポートが有効に設定されている場合に更新可能と判断することができる。
When the management unit 4 receives an output port block signal from the output port 8, the bit corresponding to the block port 8 in the detour output port in the management information 42 is updated from valid to invalid (step S21).
Next, when the management unit 4 receives a routing table update availability notification signal from the retransmission state machine 63 (step S22), the management unit 4 determines whether or not the routing table 53 can be updated (step S23). . For example, the management unit 4 refers to the management information 42, determines whether or not the bypass output port is set to be valid in the entry in which the blocked port 8 is set as the normal output port, and outputs the bypass output. It can be determined that the port can be updated when the port is set to be valid.

ステップS23において、ルーティングテーブル53を更新可能と判断された場合(ステップS23のYesルート)、管理部4により、管理情報42が更新される(ステップS24)。例えば、管理部4は、管理情報42における閉塞ポート8が通常用出力ポートに設定されているエントリの通常用出力ポートの番号を、第n(nは1以上の整数)候補の(例えば第1候補)の迂回用出力ポートの番号で上書きする。これにより、管理部4は、管理情報42を更新することができる。なお、管理部4は、複数の迂回用出力ポートが存在する場合、第2〜第n候補の順位をそれぞれ繰り上げ(シフトさせ)、第1〜第(n−1)候補に変更することができる。また、管理部4は、第n候補が第(n−1)候補に繰り上がるため、第n候補に設定された迂回用出力ポートを無効に設定することができる。   If it is determined in step S23 that the routing table 53 can be updated (Yes route in step S23), the management information 42 is updated by the management unit 4 (step S24). For example, the management unit 4 assigns the number of the normal output port of the entry in which the blocked port 8 is set as the normal output port in the management information 42 to the nth (n is an integer of 1 or more) candidate (for example, the first Overwrite with the number of the output port for detour. Thereby, the management unit 4 can update the management information 42. When there are a plurality of detour output ports, the management unit 4 can raise (shift) the ranks of the second to n-th candidates, respectively, and change them to the first to (n-1) candidates. . Further, since the nth candidate moves up to the (n−1) th candidate, the management unit 4 can set the detour output port set as the nth candidate to be invalid.

そして、管理部4により、ステップS21及びS24で更新した管理情報42が用いられ、クロスバ2のルーティングテーブル53が更新される(ステップS25)。また、ルーティングテーブル53の更新が完了すると、管理部4により、再送ステートマシン63へ出力ポート切り替え完了信号が送信され(ステップS26)、処理が終了する。
一方、ステップS23において、ルーティングテーブル53を更新不可能と判断された場合(ステップS23のNoルート)、管理部4により、クロスバ2(例えば再送ステートマシン63)へ致命的なエラーが通知され(ステップS27)、処理が終了する。なお、ルーティングテーブル53の更新が不可能な場合としては、例えば、閉塞ポート8が通常用出力ポートに設定されているエントリに、迂回用出力ポートが設定されていない、又は無効に設定されている場合等が挙げられる。管理部4から致命的なエラーを通知されると、クロスバ2又は情報処理システム1は、システム全体の動作を停止させてもよい。
Then, the management information updated in steps S21 and S24 is used by the management unit 4 to update the routing table 53 of the crossbar 2 (step S25). When the update of the routing table 53 is completed, the management unit 4 transmits an output port switching completion signal to the retransmission state machine 63 (step S26), and the process ends.
On the other hand, when it is determined in step S23 that the routing table 53 cannot be updated (No route in step S23), the management unit 4 notifies the crossbar 2 (for example, the retransmission state machine 63) of a fatal error (step S23). S27), the process ends. As an example in which the routing table 53 cannot be updated, for example, the bypass output port is not set or disabled in the entry in which the blocked port 8 is set as the normal output port. Cases. When a fatal error is notified from the management unit 4, the crossbar 2 or the information processing system 1 may stop the operation of the entire system.

〔1−7〕実施例
次に、図12〜図16を参照して、情報処理システム1(特にクロスバ2)の実施例を説明する。
図12は、図5に示す受付ポート5の構成の実施例を示す図であり、図13は、図5に示す入力ポート6の構成の実施例を示す図である。図14は、図13に示す入力ポートにおける入力キュー61の制御手法の一例を説明する図であり、図15は、図13に示す入力ポート6におけるタイミングチャートの一例を示す図である。図16は、図5に示す出力ポート8の構成の実施例を示す図である。
[1-7] Embodiment Next, an embodiment of the information processing system 1 (particularly the crossbar 2) will be described with reference to FIGS.
FIG. 12 is a diagram showing an example of the configuration of the reception port 5 shown in FIG. 5, and FIG. 13 is a diagram showing an example of the configuration of the input port 6 shown in FIG. FIG. 14 is a diagram for explaining an example of a control method of the input queue 61 in the input port shown in FIG. 13, and FIG. 15 is a diagram showing an example of a timing chart in the input port 6 shown in FIG. FIG. 16 is a diagram showing an embodiment of the configuration of the output port 8 shown in FIG.

なお、以下の説明では、受付ポート5、入力ポート6、出力ポート8、及び接続部9の構成をそれぞれ1つ図示するが、他の受付ポート5、入力ポート6、出力ポート8、及び接続部9についても同様である。
〔1−7−1〕受付ポートの実施例
はじめに、図12を参照して、受付ポート5の実施例について説明する。
In the following description, one configuration of each of the reception port 5, the input port 6, the output port 8, and the connection unit 9 is illustrated, but the other reception port 5, the input port 6, the output port 8, and the connection unit are illustrated. The same applies to 9.
[1-7-1] Example of Accepting Port First, an example of the accepting port 5 will be described with reference to FIG.

図12に示すように、受付ポート5は、図5に示す受付キュー51、保持部52、フレーム送信判定回路54をそなえるとともに、クレジット管理回路55及びリード制御回路56をそなえることができる。特に言及しない限り、受付キュー51、保持部52、及びフレーム送信判定回路54の基本的な機能は図5に示すものと同様であるため、重複した説明を省略する。   As shown in FIG. 12, the reception port 5 can include the reception queue 51, the holding unit 52, and the frame transmission determination circuit 54 illustrated in FIG. 5, and can include the credit management circuit 55 and the read control circuit 56. Unless otherwise specified, the basic functions of the reception queue 51, the holding unit 52, and the frame transmission determination circuit 54 are the same as those shown in FIG.

クレジット管理回路55は、入力ポート6の入力キュー61に空きがあるか否か、つまり受付キュー51から入力キュー61へのフレームの送信が可能か否かを判定する回路である。なお、以下の説明において、クレジットは、送信先のキュー(例えば入力キュー61)に格納されたデータが出力されてキューに空きができたことを示す信号とすることができる。クレジットの単位は、フレームごとに設定されてもよいし、フレームをいくつかのクロックで分割した単位に設定されてもよく、また、それらの併用であってもよい。   The credit management circuit 55 is a circuit that determines whether or not there is a vacancy in the input queue 61 of the input port 6, that is, whether or not frames can be transmitted from the reception queue 51 to the input queue 61. In the following description, the credit may be a signal indicating that data stored in a transmission destination queue (for example, the input queue 61) is output and the queue is empty. The credit unit may be set for each frame, may be set to a unit obtained by dividing a frame by several clocks, or a combination thereof.

クレジット管理回路55は、例えば、カウンタ等の回路をそなえ、入力ポート6から入力ポート用クレジットA1を受信すると当該回路のカウント値を加算(又は減算)し、受付キュー51からフレームをリードしたらカウント値を減算(又は加算)する。クレジット管理回路55は、カウント値が正(又は入力キュー61がFullでない)ならば、フレームを入力ポート6へ送信することが可能であると判断することができる。そして、クレジット管理回路55は、判断結果を、入力ポート用クレジット管理情報A2としてフレーム送信判定回路54へ伝達する。   For example, the credit management circuit 55 includes a circuit such as a counter. When the credit A1 for input port is received from the input port 6, the credit management circuit 55 adds (or subtracts) the count value of the circuit and reads the frame from the reception queue 51. Is subtracted (or added). If the count value is positive (or the input queue 61 is not Full), the credit management circuit 55 can determine that the frame can be transmitted to the input port 6. Then, the credit management circuit 55 transmits the determination result to the frame transmission determination circuit 54 as the input port credit management information A2.

フレーム送信判定回路54は、図5に示すものと基本的に同様の機能を有する回路であり、図9に示すフローチャートの少なくとも一部を実現する。フレーム送信判定回路54は、下記(A)及び(B)の双方の条件を満たす場合に、リード制御回路56へフレーム送信許可A3を与える。
(A)入力ポート用クレジット管理情報A2がフレーム送信可能を示す場合。
The frame transmission determination circuit 54 is a circuit having basically the same function as that shown in FIG. 5, and realizes at least a part of the flowchart shown in FIG. The frame transmission determination circuit 54 gives a frame transmission permission A3 to the read control circuit 56 when both of the following conditions (A) and (B) are satisfied.
(A) When the input port credit management information A2 indicates that frame transmission is possible.

(B)接続先のいずれの出力ポート8も閉塞していない、又は、いずれかの出力ポート閉塞信号A4を受信したときにフレームを入力ポート6へ出力中で当該フレームの最後尾までの送信が未完了である場合。
なお、上記(B)において、出力中のデータがフレームの最後尾であるか否かは、後述する受付キュー51からのフレーム送信管理情報A7により判断される。
(B) None of the output ports 8 of the connection destination is blocked, or when any of the output port blocking signals A4 is received, the frame is being output to the input port 6 and transmission up to the end of the frame is performed. If incomplete.
In (B) above, whether or not the data being output is the end of the frame is determined by frame transmission management information A7 from the reception queue 51 described later.

フレーム送信判定回路54は、図9に示すフローチャートに従って、入力ポート6に対して入力ポート6へのフレーム送信停止信号A5を送信する。入力ポート6が管理部4から出力ポート切り替え完了信号B10(図13参照)を受信し、この受信に応じて入力ポート6からフレーム送信再開指示信号A6を受信したら、フレーム送信判定回路54は、停止していたフレーム送信を再開する。   The frame transmission determination circuit 54 transmits a frame transmission stop signal A5 to the input port 6 to the input port 6 according to the flowchart shown in FIG. When the input port 6 receives the output port switching completion signal B10 (see FIG. 13) from the management unit 4 and receives the frame transmission restart instruction signal A6 from the input port 6 in response to this reception, the frame transmission determination circuit 54 stops. Restart the frame transmission that was being performed.

リード制御回路56は、フレーム送信判定回路54からフレーム送信許可A3を与えられ、且つ、受付キュー51にフレームが格納されている場合、受付キュー51からのリード動作を制御し、データパスを通じて入力ポート6へ出力する。
保持部52は、ルーティングテーブル53を保持するものであり、図5に示すものと基本的に同様の記憶装置である。ルーティングテーブル53は、送信先ID A8から送信先出力ポート(通常用出力ポート;通常用出力ポートに上書きされた迂回用出力ポートを含む)A9と第1候補の迂回用出力ポートA10とが導き出されるように登録されるテーブルである(図6参照)。送信先ID A8は、受付キュー51から出力されるフレームに含まれる(又はフレームとともに出力される)情報であり、データパス又は他の配線を介してルーティングテーブル53に供給される。
The read control circuit 56 receives the frame transmission permission A3 from the frame transmission determination circuit 54 and controls the read operation from the reception queue 51 when the frame is stored in the reception queue 51, and the input port through the data path 6 is output.
The holding unit 52 holds the routing table 53 and is basically a storage device similar to that shown in FIG. The routing table 53 derives a destination output port (normal output port; including a detour output port overwritten on the normal output port) A9 and a first candidate detour output port A10 from the destination ID A8. (See FIG. 6). The transmission destination ID A8 is information included in a frame output from the reception queue 51 (or output together with the frame), and is supplied to the routing table 53 via a data path or other wiring.

〔1−7−2〕入力ポートの実施例
次に、図13〜図15を参照して、入力ポート6の実施例について説明する。
図13に示すように、入力ポート6は、図5に示す入力キュー61、セレクタ62、再送ステートマシン63、及び迂回用出力ポート管理回路64をそなえるとともに、以下の回路をさらにそなえることができる。つまり、入力ポート6は、制御信号生成回路65、クレジット生成回路66、及びエンコーダ67をそなえるとともに、出力ポート8ごとに入力キュー制御部60をそなえることができる。なお、便宜上、図13に示すように、入力キュー制御部60を入力キュー制御部A〜Cのいずれかで特定する場合がある。特に言及しない限り、入力キュー61、セレクタ62、再送ステートマシン63、及び迂回用出力ポート管理回路64の基本的な機能は図5に示すものと同様であるため、重複した説明を省略する。
[1-7-2] Embodiment of Input Port Next, an embodiment of the input port 6 will be described with reference to FIGS.
As shown in FIG. 13, the input port 6 includes the input queue 61, the selector 62, the retransmission state machine 63, and the detour output port management circuit 64 shown in FIG. 5, and can further include the following circuits. That is, the input port 6 can include the control signal generation circuit 65, the credit generation circuit 66, and the encoder 67, and can include the input queue control unit 60 for each output port 8. For convenience, as shown in FIG. 13, the input queue control unit 60 may be specified by any of the input queue control units A to C. Unless otherwise noted, the basic functions of the input queue 61, selector 62, retransmission state machine 63, and detour output port management circuit 64 are the same as those shown in FIG.

制御信号生成回路65は、フレームを入力キュー制御部60へ振り分けるため、例えばフレーム送信制御情報A11から転送先出力ポート別のフレーム送信制御信号B1を生成する回路である。例えば、制御信号生成回路65は、データパスを通過するフレームのvalid等をフレーム送信制御情報A11として取得する。そして、制御信号生成回路65は、当該フレームが入力される入力キュー制御部60に対して、フレームが入力されることを示すフレーム送信制御信号B1を出力する。   The control signal generation circuit 65 is a circuit that generates a frame transmission control signal B1 for each transfer destination output port from the frame transmission control information A11, for example, in order to distribute the frame to the input queue control unit 60. For example, the control signal generation circuit 65 acquires the validity of the frame passing through the data path as the frame transmission control information A11. Then, the control signal generation circuit 65 outputs a frame transmission control signal B1 indicating that a frame is input to the input queue control unit 60 to which the frame is input.

クレジット生成回路66は、いずれの出力ポート8宛てのフレームが到来しても入力キュー61に格納できる状態になったときに、受付ポート5へ入力ポート用クレジットA1を送信する回路である。つまり、クレジット生成回路66は、全ての入力キュー61に空きができたときに、受付ポート5へ入力ポート用クレジットA1を送信する。クレジット生成回路66は、例えば、カウンタ等の回路をそなえる。クレジット生成回路66は、フレーム送信制御情報A11に基づき入力ポート6にフレームが入力されたことを検出すると当該回路のカウント値を加算(又は減算)し、入力ポート用クレジットA1を送信したらカウント値を減算(又は加算)する。また、クレジット生成回路66は、当該回路のカウント値が転送先出力ポート別の各キュー再送エントリ数B2の最大値(又は最小値)より大きく(又は小さく)なった場合に、入力ポート用クレジットA1を送信する。   The credit generation circuit 66 is a circuit that transmits the input port credit A1 to the reception port 5 when the frame can be stored in the input queue 61 even if a frame addressed to any output port 8 arrives. That is, the credit generation circuit 66 transmits the input port credit A1 to the reception port 5 when all the input queues 61 are empty. The credit generation circuit 66 includes a circuit such as a counter, for example. The credit generation circuit 66 adds (or subtracts) the count value of the circuit when detecting that a frame is input to the input port 6 based on the frame transmission control information A11, and transmits the count value when transmitting the input port credit A1. Subtract (or add). Further, the credit generation circuit 66, when the count value of the circuit becomes larger (or smaller) than the maximum value (or minimum value) of the number of queue retransmission entries B2 for each transfer destination output port, the input port credit A1. Send.

入力キュー制御部60は、フレームの転送先となる出力ポート8ごとに設けられ、各々が、上述した入力キュー61、再送ステートマシン63、及び迂回用出力ポート管理回路64をそなえるとともに以下の回路601〜609をそなえることができる。
ライト制御回路601は、入力キュー61へのライト制御を行なう。ライト制御回路601は、例えば、制御信号生成回路65からのフレーム送信制御信号B1を入力されると、入力キュー61における次にライトされるエントリをライトポインタで指示する。なお、ライト動作は上述のようにクレジット管理されるため、入力キュー61がオーバーフローする可能性は低い。
The input queue control unit 60 is provided for each output port 8 that is a frame transfer destination. Each of the input queue control units 60 includes the input queue 61, the retransmission state machine 63, and the detour output port management circuit 64 described above, and the following circuit 601. ~ 609 can be provided.
The write control circuit 601 performs write control to the input queue 61. For example, when the frame transmission control signal B1 from the control signal generation circuit 65 is input, the write control circuit 601 indicates the next entry to be written in the input queue 61 with the write pointer. Since the write operation is managed as described above, the possibility that the input queue 61 overflows is low.

リード制御回路602は、入力キュー61からのリード制御を行なう。リード制御回路602は、入力キュー61における次にリードされるエントリをリードポインタで指示する。例えば、入力キュー61にフレームが格納され(キュー保持エントリ数管理回路604の値が正)、送信先出力ポート8の出力ポート用クレジット管理情報B8がフレーム送信可能を示す場合、リード制御回路602はフレームをリード可能となる。送信先出力ポート8は通常用出力ポート8のほかに迂回用出力ポート8である場合もあるため、リード制御回路602は、実際にフレームを送信する出力ポート8に対応する出力ポート用クレジット管理情報B8を選択して、リード可能か否かを判断する。   The read control circuit 602 performs read control from the input queue 61. The read control circuit 602 indicates the entry to be read next in the input queue 61 with a read pointer. For example, when a frame is stored in the input queue 61 (the value of the queue holding entry number management circuit 604 is positive) and the output port credit management information B8 of the transmission destination output port 8 indicates that frame transmission is possible, the read control circuit 602 The frame can be read. Since the destination output port 8 may be the detour output port 8 in addition to the normal output port 8, the read control circuit 602 may output the output port credit management information corresponding to the output port 8 that actually transmits the frame. B8 is selected to determine whether or not reading is possible.

再送リードポインタ603は、フレームを送信した出力ポート8から入力キュー61を解放することを示すキューフレーム解放信号B4及び解放フレーム長B5を受信すると、解放フレーム長B5の分だけポインタを加算する。再送リードポインタ603は、リード制御回路602内のリードポインタを追いかけるように更新される。また、再送リードポインタ603は、キューフレーム解放信号B4とともに、入力キュー制御部60の番号を示す入力ポート制御部番号B6を受信することができる。例えば、再送リードポインタ603は、入力ポート制御部番号B6が自身の制御部番号と一致したら、キューフレーム解放信号B4が自身の制御部60が送信したフレームに関する解放信号であると判断し、ポインタの更新を実行することができる。また、再送リードポインタ603は、出力ポート閉塞信号B7を受信すると、ポインタの値をリード制御回路602のリードポインタに上書きして、リード制御回路602を更新することができる。   When the retransmission read pointer 603 receives the queue frame release signal B4 and the release frame length B5 indicating that the input queue 61 is released from the output port 8 that transmitted the frame, the retransmission read pointer 603 adds the pointer by the release frame length B5. The retransmission read pointer 603 is updated to follow the read pointer in the read control circuit 602. The retransmission read pointer 603 can receive the input port control unit number B6 indicating the number of the input queue control unit 60 together with the queue frame release signal B4. For example, if the input port control unit number B6 matches its own control unit number, the retransmission read pointer 603 determines that the queue frame release signal B4 is a release signal related to the frame transmitted by its own control unit 60, and Updates can be performed. When the retransmission read pointer 603 receives the output port block signal B7, the read control circuit 602 can be updated by overwriting the pointer value on the read pointer of the read control circuit 602.

キュー保持エントリ数管理回路604は、入力キュー61に保持されているエントリ数を管理する回路である。キュー保持エントリ数管理回路604は、例えば、カウンタ等の回路をそなえ、入力キュー61にライトされたら当該回路のカウント値を加算し、入力キュー61からリードされたらカウント値を減算することができる。
キュー再送エントリ数管理回路605は、入力キュー61で未だ再送される可能性のあるエントリ数を管理する回路である。キュー再送エントリ数管理回路605は、当該エントリ数(キュー再送エントリ数B2)を、クレジット生成回路66及び再送ステートマシン63へ出力することができる。キュー再送エントリ数管理回路605は、例えば、カウンタ等の回路をそなえ、入力キュー61にライトされたら当該回路のカウント値を加算することができる。また、キュー再送エントリ数管理回路605は、フレームを送信した出力ポート8からキューフレーム解放信号B4及び解放フレーム長B5を受信すると、解放フレーム長B5の分だけカウント値を減算することができる。
The queue holding entry number management circuit 604 is a circuit that manages the number of entries held in the input queue 61. The queue holding entry number management circuit 604 includes a circuit such as a counter, for example, and can add the count value of the circuit when written to the input queue 61 and subtract the count value when read from the input queue 61.
The queue retransmission entry number management circuit 605 is a circuit that manages the number of entries that may still be retransmitted in the input queue 61. The queue retransmission entry number management circuit 605 can output the number of entries (queue retransmission entry number B2) to the credit generation circuit 66 and the retransmission state machine 63. The queue retransmission entry number management circuit 605 includes a circuit such as a counter, for example, and can add the count value of the circuit when written to the input queue 61. When the queue retransmission entry number management circuit 605 receives the queue frame release signal B4 and the release frame length B5 from the output port 8 that transmitted the frame, the queue retransmission entry number management circuit 605 can subtract the count value by the release frame length B5.

キュー再送エントリ数管理回路605は、例えば、入力ポート制御部番号B6が自身の制御部番号と一致したら、キューフレーム解放信号B4が自身の制御部60が送信したフレームに関する解放信号であると判断し、回路のカウント値の更新を実行する。また、キュー再送エントリ数管理回路605は、出力ポート閉塞信号B7を受信すると、回路のカウント値をキュー保持エントリ数管理回路604に上書きして、キュー保持エントリ数管理回路604を更新することができる。   For example, when the input port control unit number B6 matches its own control unit number, the queue retransmission entry number management circuit 605 determines that the queue frame release signal B4 is a release signal related to the frame transmitted by its own control unit 60. The count value of the circuit is updated. When the queue retransmission entry number management circuit 605 receives the output port blocking signal B7, the queue holding entry number management circuit 604 can be updated by overwriting the count value of the circuit on the queue holding entry number management circuit 604. .

ここで、図14を参照して、入力キュー61の制御に用いられるライトポインタ、リードポインタ、及び再送リードポインタと、キュー保持エントリ数管理回路604及びキュー再送エントリ数管理回路605との関係について説明する。
図14に例示するように、運用中のクロスバ2内の入力キュー61は、空白のエントリ、データ(フレームの一部)を保持するエントリ、並びに、データを入力キュー61から送信済み且つ対向LSIまで正常に到達したことの確認待ちであるエントリを含み得る。空白のエントリはライト制御回路601のライトポインタにより示され、データを保持するエントリは、リード制御回路602のリードポインタにより示され、データを送信済み且つ到達確認待ちのエントリは、再送リードポインタ603により示される。
Here, with reference to FIG. 14, the relationship between the write pointer, the read pointer, and the retransmission read pointer used for controlling the input queue 61 and the queue holding entry number management circuit 604 and the queue retransmission entry number management circuit 605 will be described. To do.
As illustrated in FIG. 14, the input queue 61 in the operating crossbar 2 includes a blank entry, an entry that holds data (part of a frame), and data that has been transmitted from the input queue 61 to the opposite LSI. It may include an entry that is waiting for confirmation that it has arrived normally. A blank entry is indicated by the write pointer of the write control circuit 601, an entry holding data is indicated by the read pointer of the read control circuit 602, and an entry for which data has been transmitted and waiting for arrival confirmation is indicated by the retransmission read pointer 603. Indicated.

各ポインタは、基本的に入力キュー61の先頭から末尾に向かって動き、末尾に到達すると先頭に戻る。なお、リードポインタは、入力キュー制御部60が出力ポート閉塞信号を受信した場合等に、再送リードポインタ603の値に戻されることがあり、この場合、リードポインタは逆方向(末尾から先頭)に動く。
キュー保持エントリ数管理回路604は、入力キュー61における、データを保持するエントリの数を保持するため、図14に示す例では、キュー保持エントリ数管理回路604のカウント値は1を示す。キュー再送エントリ数管理回路605は、入力キュー61における、データを保持するエントリの数と、データを送信済み且つ到達確認待ちのエントリの数との合計のエントリ数を保持する。従って、図14に示す例では、キュー再送エントリ数管理回路605のカウント値は2を示す。
Each pointer basically moves from the head of the input queue 61 toward the tail, and returns to the head when it reaches the tail. The read pointer may be returned to the value of the retransmission read pointer 603 when the input queue control unit 60 receives an output port block signal, and in this case, the read pointer is in the reverse direction (from the end to the top). Move.
Since the queue holding entry number management circuit 604 holds the number of entries that hold data in the input queue 61, the count value of the queue holding entry number management circuit 604 indicates 1 in the example shown in FIG. The queue retransmission entry number management circuit 605 holds the total number of entries in the input queue 61 including the number of entries that hold data and the number of entries that have already been sent and are waiting for arrival confirmation. Therefore, in the example illustrated in FIG. 14, the count value of the queue retransmission entry number management circuit 605 indicates 2.

図13の説明に戻り、出力ポート用クレジット管理回路606は、出力ポート8の出力キュー81に空きがあるか否か、つまり入力キュー61からのフレームの送信が可能か否かを判定する回路である。出力ポート用クレジット管理回路606は、例えば、カウンタ等の回路をそなえ、出力ポート用クレジットB3を受信したら当該回路のカウント値を加算(又は減算)し、入力キュー61からリードされたらカウント値を減算(または加算)することができる。出力ポート用クレジット管理回路606は、カウント値が正(又は出力キュー81がFullでない)ならば、フレームを出力ポート8へ送信することが可能であると判断することができる。そして、出力ポート用クレジット管理回路606は、判断結果を、出力ポート用クレジット管理情報B8としてリード制御回路602へ伝達することができる。   Returning to the description of FIG. 13, the output port credit management circuit 606 is a circuit that determines whether or not there is a vacancy in the output queue 81 of the output port 8, that is, whether or not transmission of a frame from the input queue 61 is possible. is there. The output port credit management circuit 606 includes, for example, a circuit such as a counter. When the output port credit B3 is received, the count value of the circuit is added (or subtracted), and when read from the input queue 61, the count value is subtracted. (Or addition). If the count value is positive (or the output queue 81 is not full), the output port credit management circuit 606 can determine that the frame can be transmitted to the output port 8. Then, the output port credit management circuit 606 can transmit the determination result to the read control circuit 602 as output port credit management information B8.

迂回用出力ポート管理回路64は、フレームごとに迂回路を設定する場合、フレームを入力キュー61にライトする度に、ルーティングテーブル53からの迂回用出力ポートA10の情報を保持する回路である。迂回用出力ポート管理回路64は、フレームを送信した出力ポート8からキューフレーム解放信号B4を受信すると、格納する古い迂回用出力ポートA10の情報を解放することができる。   The detour output port management circuit 64 is a circuit that holds information of the detour output port A10 from the routing table 53 every time a frame is written to the input queue 61 when a detour is set for each frame. When the detour output port management circuit 64 receives the queue frame release signal B4 from the output port 8 that transmitted the frame, the detour output port management circuit 64 can release the stored information of the old detour output port A10.

再送ステートマシン63は、図5に示すものと基本的に同様の機能を有する回路であり、図10に示すフローチャートの少なくとも一部を実現する。図13に示すように、再送ステートマシン63は、上述した出力ポート閉塞信号B7、入力ポート6へのフレーム送信停止信号A5、出力ポート切り替え完了信号B10、キュー再送エントリ数B2等を入力される。さらに、再送ステートマシン63は、受付ポート5へフレーム送信再開指示信号A6を、管理部4へルーティングテーブル更新可能通知信号B9を、出力ポート8へ出力ポート閉塞解除信号B11を、それぞれ出力する。   The retransmission state machine 63 is a circuit having basically the same function as that shown in FIG. 5, and realizes at least a part of the flowchart shown in FIG. As shown in FIG. 13, the retransmission state machine 63 receives the output port block signal B7, the frame transmission stop signal A5 to the input port 6, the output port switching completion signal B10, the queue retransmission entry number B2, and the like. Further, the retransmission state machine 63 outputs the frame transmission resumption instruction signal A6 to the reception port 5, the routing table update enable notification signal B9 to the management unit 4, and the output port blockage release signal B11 to the output port 8, respectively.

選択信号生成回路607は、再送ステートマシン63及び迂回用出力ポート管理回路64からの情報に基づき、出力ポート8宛てのデータパス、セレクタ608、及びセレクタ609をそれぞれ選択する選択信号を生成する回路である。ここで、セレクタ608は、入力キュー制御部A〜C内のいずれかのキュー再送エントリ数管理回路605からのキュー再送エントリ数B2を選択し、再送ステートマシン63へ出力することで再送するエントリ数を通知するセレクタである。また、セレクタ609は、入力キュー制御部A〜C内のいずれかの出力ポート用クレジット管理回路606からの出力ポート用クレジット管理情報B8を選択し、リード制御回路602へ出力するセレクタである。   The selection signal generation circuit 607 is a circuit that generates selection signals for selecting the data path addressed to the output port 8, the selector 608, and the selector 609 based on information from the retransmission state machine 63 and the detour output port management circuit 64. is there. Here, the selector 608 selects the queue retransmission entry number B2 from any of the queue retransmission entry number management circuits 605 in the input queue control units A to C, and outputs it to the retransmission state machine 63 to retransmit the number of entries. Is a selector that notifies The selector 609 is a selector that selects the output port credit management information B8 from any of the output port credit management circuits 606 in the input queue control units A to C and outputs the selected output port credit management information B8 to the read control circuit 602.

なお、出力ポート8でエラーや混雑等が検出された場合、閉塞ポート8に対応する再送ステートマシン63は、セレクタ608により代替ポート8に対応するキュー再送エントリ数B2を参照することができる。これにより、閉塞ポート8に対応する再送ステートマシン63は、代替ポート8宛ての入力キュー61に滞留する全フレームの送信が完了したこと(例えばキュー再送エントリ数B2の値が“0”になったこと)を検知することができる。   If an error or congestion is detected at the output port 8, the retransmission state machine 63 corresponding to the blocked port 8 can refer to the queue retransmission entry number B2 corresponding to the alternative port 8 by the selector 608. As a result, the retransmission state machine 63 corresponding to the blocked port 8 has completed transmission of all the frames staying in the input queue 61 addressed to the alternative port 8 (for example, the value of the queue retransmission entry number B2 becomes “0”). Can be detected.

選択信号生成回路607は、通常動作(通常状態)で接続する通常用出力ポート8以外の出力ポート8を選択する選択信号を出力する。例えば、選択信号生成回路607からセレクタ62への配線は、入力ポート6に接続される出力ポート8の数より1少ない本数である。一例として、図13に示すように入力ポート6に接続される出力ポート8が3つの場合、セレクタ62への選択信号の配線は2本となる。選択信号生成回路607からの選択信号は、エンコーダ67によりエンコードが行なわれ、出力ポート8宛てに入力ポート制御部番号B12として送信される。ここで送信される入力ポート制御部番号B12は、出力ポート8から入力ポート制御部番号B6として送信され、入力キュー制御部60において、自身の制御部60の入力キュー61を解放するか否かの判断に使用される。   The selection signal generation circuit 607 outputs a selection signal for selecting an output port 8 other than the normal output port 8 connected in the normal operation (normal state). For example, the number of lines from the selection signal generation circuit 607 to the selector 62 is one less than the number of output ports 8 connected to the input port 6. As an example, when there are three output ports 8 connected to the input port 6 as shown in FIG. 13, the number of selection signal wires to the selector 62 is two. The selection signal from the selection signal generation circuit 607 is encoded by the encoder 67 and transmitted to the output port 8 as the input port control unit number B12. The input port control unit number B12 transmitted here is transmitted from the output port 8 as the input port control unit number B6, and the input queue control unit 60 determines whether or not to release the input queue 61 of its own control unit 60. Used for judgment.

なお、図13において、セレクタ62の入力側の白丸は、選択信号との交点を示す。セレクタ62は、例えば、アサートされた選択信号に対応する入力側のデータパスを選択して、フレームを出力側のデータパスへ出力することができる。また、セレクタ62は、例えばアサートされた選択信号がない場合には、選択信号と接続されていない残り1つの入力側のデータパスを選択して、フレームを出力側のデータパスへ出力することができる。   In FIG. 13, a white circle on the input side of the selector 62 indicates an intersection with the selection signal. For example, the selector 62 can select an input-side data path corresponding to the asserted selection signal and output the frame to the output-side data path. For example, when there is no asserted selection signal, the selector 62 selects the remaining one input-side data path that is not connected to the selection signal, and outputs the frame to the output-side data path. it can.

〔1−7−2−1〕入力ポートの動作例
ここで、図15を参照して、図13に示す入力ポート6における動作例を説明する。
なお、図15は、同一の入力ポート6内の、閉塞ポート8に対応する入力キュー制御部60、代替ポート8のうちの1つに対応する入力キュー制御部60における各信号のタイミングチャートの一例を示す。以下、出力ポート用クレジット管理回路606は、出力ポート用クレジットを受信するとカウント値を加算するものとして説明する。
[1-7-2-1] Operation Example of Input Port Here, an operation example of the input port 6 shown in FIG. 13 will be described with reference to FIG.
FIG. 15 is an example of a timing chart of each signal in the input queue control unit 60 corresponding to the blocked port 8 and the input queue control unit 60 corresponding to one of the alternative ports 8 in the same input port 6. Indicates. In the following description, it is assumed that the output port credit management circuit 606 adds the count value when receiving the output port credit.

図15に示すように、タイミングt0では、ある出力ポート(後の閉塞ポート)8に対応する再送ステートマシン63の状態は“3'b000”である。ここで、当該出力ポート8でエラー又は混雑が検出され、出力ポート閉塞信号B7が入力ポート6に入力されたとする。このとき、閉塞ポート8に対応する再送ステートマシン63の状態は、タイミングt1で“3b'001”に遷移する。また、キュー保持エントリ数管理回路604のカウント値“1”は、キュー再送エントリ数管理回路605のカウント値“2”に上書きされる。さらに、出力ポート用クレジット管理回路606のカウント値は、閉塞ポート8への送信を停止するために“3”から“0”にリセットされる。   As shown in FIG. 15, at the timing t0, the state of the retransmission state machine 63 corresponding to a certain output port (later blocked port) 8 is “3′b000”. Here, it is assumed that an error or congestion is detected at the output port 8 and the output port block signal B7 is input to the input port 6. At this time, the state of the retransmission state machine 63 corresponding to the blocked port 8 changes to “3b′001” at the timing t1. Also, the count value “1” of the queue holding entry number management circuit 604 is overwritten with the count value “2” of the queue retransmission entry number management circuit 605. Further, the count value of the output port credit management circuit 606 is reset from “3” to “0” in order to stop transmission to the blocked port 8.

次いで、入力ポート6に受付ポート5からの入力ポート6へのフレーム送信停止信号A5が入力されると、閉塞ポート8に対応する再送ステートマシン63の状態は、タイミングt2で“3b'010”に遷移する。このとき、代替ポート8に対応する入力キュー61内の全フレームの出力が開始され、タイミングt3において、代替ポート8に対応するキュー保持エントリ数管理回路604及び出力ポート用クレジット管理回路606の各カウント値が減算される。また、タイミングt4において、対向LSIへのフレームの到達確認のためにタイミングt3よりも遅れて、代替ポート8に対応するキュー再送エントリ数管理回路605のカウント値が減算される。   Next, when the frame transmission stop signal A5 from the reception port 5 to the input port 6 is input to the input port 6, the state of the retransmission state machine 63 corresponding to the blocked port 8 changes to “3b'010” at timing t2. Transition. At this time, output of all the frames in the input queue 61 corresponding to the alternative port 8 is started, and at the timing t3, the counts of the queue holding entry number management circuit 604 and the output port credit management circuit 606 corresponding to the alternative port 8 are counted. The value is subtracted. Further, at timing t4, the count value of the queue retransmission entry number management circuit 605 corresponding to the alternative port 8 is subtracted later than timing t3 to confirm the arrival of the frame at the counter LSI.

代替ポート8に対応するキュー再送エントリ数管理回路605のカウント値が“0”になると、閉塞ポート8に対応する再送ステートマシン63の状態は、タイミングt5で“3b'011”に遷移する。このとき、閉塞ポート8に対応する入力キュー61内の全フレームの出力が開始され、タイミングt6において、閉塞ポート8に対応するキュー保持エントリ数管理回路604のカウント値が減算される。また、このとき、閉塞ポート8に対応する入力キュー61からのフレームは、代替ポート8に出力されるため、代替ポート8に対応する出力ポート用クレジット管理回路606のカウント値も減算される。さらに、タイミングt7において、対向LSIへのフレームの到達確認のためにタイミングt6よりも遅れて、閉塞ポート8に対応するキュー再送エントリ数管理回路605のカウント値が減算される。   When the count value of the queue retransmission entry number management circuit 605 corresponding to the alternative port 8 becomes “0”, the state of the retransmission state machine 63 corresponding to the blocked port 8 changes to “3b′011” at the timing t5. At this time, output of all the frames in the input queue 61 corresponding to the blocked port 8 is started, and the count value of the queue holding entry number management circuit 604 corresponding to the blocked port 8 is subtracted at timing t6. At this time, since the frame from the input queue 61 corresponding to the blocked port 8 is output to the alternative port 8, the count value of the output port credit management circuit 606 corresponding to the alternative port 8 is also subtracted. Further, at the timing t7, the count value of the queue retransmission entry number management circuit 605 corresponding to the blocked port 8 is subtracted later than the timing t6 in order to confirm the arrival of the frame at the counter LSI.

閉塞ポート8に対応するキュー再送エントリ数管理回路605のカウント値が“0”になると、閉塞ポート8に対応する再送ステートマシン63の状態は、タイミングt8で“3b'100”に遷移する。このとき、当該再送ステートマシン63は、管理部4へルーティングテーブル更新可能通知信号B9を送信する。また、再送ステートマシン63は、管理部4から出力ポート切り替え完了信号を受信すると、受付ポート5へフレーム送信再開指示信号A6を送信する。そして、閉塞ポート8に対応する再送ステートマシン63の状態はタイミングt9で“3b'000”に遷移し、通常状態に戻る。   When the count value of the queue retransmission entry number management circuit 605 corresponding to the blocked port 8 becomes “0”, the state of the retransmission state machine 63 corresponding to the blocked port 8 changes to “3b′100” at the timing t8. At this time, the retransmission state machine 63 transmits a routing table update availability notification signal B9 to the management unit 4. When the retransmission state machine 63 receives the output port switching completion signal from the management unit 4, the retransmission state machine 63 transmits the frame transmission restart instruction signal A 6 to the reception port 5. Then, the state of the retransmission state machine 63 corresponding to the blocked port 8 transits to “3b'000” at the timing t9 and returns to the normal state.

〔1−7−3〕出力ポートの実施例
次いで、図16を参照して、出力ポート8の実施例について説明する。
図16に示すように、出力ポート8は、図5に示す出力キュー81、及びセレクタ82をそなえるとともに、以下の回路をさらにそなえることができる。つまり、出力ポート8は、キューリードリクエスト調停回路83、フレーム送信可否判定回路84、フレーム到達確認管理回路85、及び出力ポート閉塞判定回路86をそなえるとともに、入力ポート6ごとに出力キュー制御部80をそなえることができる。なお、便宜上、図16に示すように、出力キュー制御部80を出力キュー制御部A〜Cのいずれかで特定する場合がある。特に言及しない限り、出力キュー81及びセレクタ82の基本的な機能は図5に示すものと同様であるため、重複した説明を省略する。
[1-7-3] Embodiment of Output Port Next, an embodiment of the output port 8 will be described with reference to FIG.
As shown in FIG. 16, the output port 8 includes the output queue 81 and the selector 82 shown in FIG. 5 and can further include the following circuits. That is, the output port 8 includes a queue read request arbitration circuit 83, a frame transmission availability determination circuit 84, a frame arrival confirmation management circuit 85, and an output port blockage determination circuit 86, and an output queue control unit 80 for each input port 6. You can have it. For convenience, as shown in FIG. 16, the output queue control unit 80 may be specified by any one of the output queue control units A to C. Unless otherwise stated, the basic functions of the output queue 81 and the selector 82 are the same as those shown in FIG.

出力キュー制御部80は、フレームの転送元となる入力ポート6ごとに設けられ、各々が、上述した出力キュー81をそなえるとともに以下の回路801〜805をそなえることができる。
ライト制御回路801は、出力キュー81へのライト制御を行なう。ライト制御回路801は、例えば、データパスを通過するフレームに関するフレーム送信制御情報C1を入力されると、出力キュー81における次にライトされるエントリをライトポインタで指示する。なお、ライト動作は上述のようにクレジット管理されるため、出力キュー81がオーバーフローする可能性は低い。
The output queue control unit 80 is provided for each input port 6 serving as a frame transfer source, and each of the output queue control units 80 can include the output queue 81 described above and the following circuits 801 to 805.
The write control circuit 801 performs write control to the output queue 81. For example, when the frame transmission control information C1 relating to the frame passing through the data path is input, the write control circuit 801 indicates the next entry to be written in the output queue 81 with the write pointer. Since the write operation is managed as described above, the possibility that the output queue 81 overflows is low.

リード制御回路802は、出力キュー81からのリード制御を行なう。リード制御回路802は、出力キュー81における次にリードするエントリをリードポインタで指示する。例えば、出力キュー81にフレームが格納され(キュー保持エントリ数管理回路803の値が正)、且つキューリードリクエスト調停回路83からキューリードリクエスト獲得信号C5を受信した場合、リード制御回路802は、フレームをリード可能となる。   The read control circuit 802 performs read control from the output queue 81. The read control circuit 802 designates an entry to be read next in the output queue 81 with a read pointer. For example, when a frame is stored in the output queue 81 (the value of the queue holding entry number management circuit 803 is positive) and the queue read request acquisition signal C5 is received from the queue read request arbitration circuit 83, the read control circuit 802 Can be read.

キュー保持エントリ数管理回路803は、出力キュー81に保持されているエントリ数を管理する回路である。キュー保持エントリ数管理回路803は、例えば、カウンタ等の回路をそなえ、出力キュー81にライトされたら当該回路のカウント値を加算し、出力キュー81からリードされたらカウント値を減算することができる。
キューリードリクエスト生成回路804は、出力キュー81からフレームをリード可能であることをキューリードリクエスト調停回路83へ伝達するためのキューリードリクエスト信号C2を生成する回路である。キューリードリクエスト生成回路804は、例えば、出力キュー81にフレームが格納されており、且つ対向LSIとの接続部9へ送信するデータパスのセレクタ82が何も選択していない場合に、キューリードリクエスト信号C2を生成することができる。なお、キューリードリクエスト生成回路804は、キュー保持エントリ数管理回路803の値が正である場合に、出力キュー81にフレームが格納されていると判断することができる。また、キューリードリクエスト信号C2には、フレーム長C3が付加されてよく、或いは含まれてもよい。
The queue holding entry number management circuit 803 is a circuit that manages the number of entries held in the output queue 81. The queue holding entry number management circuit 803 has a circuit such as a counter, for example, and can add the count value of the circuit when written to the output queue 81 and subtract the count value when read from the output queue 81.
The queue read request generation circuit 804 is a circuit that generates a queue read request signal C 2 for transmitting to the queue read request arbitration circuit 83 that the frame can be read from the output queue 81. For example, the queue read request generation circuit 804 receives a queue read request when a frame is stored in the output queue 81 and the selector 82 of the data path to be transmitted to the connection unit 9 with the opposing LSI has not selected anything. Signal C2 can be generated. Note that the queue read request generation circuit 804 can determine that a frame is stored in the output queue 81 when the value of the queue holding entry number management circuit 803 is positive. The queue read request signal C2 may be added with or included the frame length C3.

出力ポート用クレジット生成回路805は、出力キュー81に空きがある状態になった場合に、入力ポート6へ出力ポート用クレジットB3を送信する回路である。出力ポート用クレジット生成回路805は、例えば、カウンタ等の回路をそなえ、出力ポート8にフレームが入力されたら当該回路のカウント値を加算(又は減算)し、出力ポート用クレジットB3を送信したらカウント値を減算(又は加算)することができる。   The output port credit generation circuit 805 is a circuit that transmits the output port credit B3 to the input port 6 when the output queue 81 becomes empty. The output port credit generation circuit 805 includes, for example, a circuit such as a counter. When a frame is input to the output port 8, the count value of the circuit is added (or subtracted), and the output port credit B3 is transmitted. Can be subtracted (or added).

キューリードリクエスト調停回路83は、各出力キュー制御部80からキューリードリクエストC2及びフレーム長C3を受信し、フレーム送信可否判定回路84からフレーム送信許可C4が出力されると、当該リクエストを調停する。そして、キューリードリクエスト調停回路83は、調停で勝利した制御部80へキューリードリクエスト獲得信号C5を送信し、調停で勝利した制御部80をデータパスのセレクタ82に選択させる入力ポート選択信号C6を出力する回路である。入力ポート選択信号C6は、調停で勝利した制御部80から送信フレーム長C3のデータが出力される間、セレクタ82が勝利した制御部80を選択し続けるように出力されることが好ましい。   The queue read request arbitration circuit 83 receives the queue read request C2 and the frame length C3 from each output queue control unit 80, and arbitrates the request when the frame transmission permission determination circuit 84 outputs the frame transmission permission C4. Then, the queue read request arbitration circuit 83 transmits a queue read request acquisition signal C5 to the control unit 80 that has won the arbitration, and receives an input port selection signal C6 that causes the data path selector 82 to select the control unit 80 that has won the arbitration. It is a circuit to output. The input port selection signal C6 is preferably output so that the selector 82 continues to select the winning control unit 80 while the data of the transmission frame length C3 is output from the control unit 80 that has won the arbitration.

フレーム送信可否判定回路84は、接続部9へのフレームの送信が可能か否かを判定し、フレームの送信が可能であると判定した場合にフレーム送信許可C4をキューリードリクエスト調停回路83へ出力する回路である。フレーム送信可否判定回路84は、例えば対向LSI等のフレームの転送先の状態に関するフレーム送信可否判定条件に基づいて、判定及びフレーム送信許可の出力を行なうことができる。フレーム送信可否判定回路84の処理は、クレジット管理や、対向LSIの負荷状況等に基づくビジー(busy)管理等、種々の手法により実現することができる。また、フレーム送信可否判定回路84は、フレーム送信を抑止すると判定した場合、出力ポート8からのフレームの送信停止を指示できることが好ましい。   The frame transmission permission determination circuit 84 determines whether or not the frame transmission to the connection unit 9 is possible, and outputs the frame transmission permission C4 to the queue read request arbitration circuit 83 when it is determined that the frame transmission is possible. It is a circuit to do. The frame transmission availability determination circuit 84 can perform determination and output of frame transmission permission based on, for example, a frame transmission availability determination condition related to a frame transfer destination state such as an opposing LSI. The processing of the frame transmission availability determination circuit 84 can be realized by various methods such as credit management and busy management based on the load status of the opposing LSI. In addition, it is preferable that the frame transmission availability determination circuit 84 can instruct the frame transmission from the output port 8 to be stopped when it is determined to suppress the frame transmission.

フレーム到達確認管理回路85は、出力ポート8に接続される対向LSIへのフレームが到達したか否かを確認するための回路である。フレーム到達確認管理回路85は、例えば、キューリードリクエスト調停回路83からのキューリードリクエスト獲得信号C5が有効(例えば“1”)のときに、出力キュー81から送信される情報C7,C8をフレームが送信された順番に記憶することができる。情報C7,C8としては、入力ポート6の情報、リードしたフレームのフレーム長C7、及び入力ポート制御部番号C8等のフレームに関する情報とすることができる。また、フレーム到達確認管理回路85は、対向LSIからのフレーム正常到達確認信号C9を受信すると、記憶する情報C7,C8を古い方から順に解放することができる。また、フレーム到達確認管理回路85は、情報C7,C8に基づいて、入力ポート6宛てに、キューフレーム解放信号B4、フレーム長B5、及び入力ポート制御部番号B6を送信することができる。   The frame arrival confirmation management circuit 85 is a circuit for confirming whether or not a frame has arrived at the opposing LSI connected to the output port 8. For example, when the queue read request acquisition signal C5 from the queue read request arbitration circuit 83 is valid (for example, “1”), the frame arrival confirmation management circuit 85 uses information C7 and C8 transmitted from the output queue 81 as a frame. It can be stored in the order of transmission. The information C7 and C8 may be information on the input port 6, information about the frame such as the frame length C7 of the read frame and the input port control unit number C8. Further, when the frame arrival confirmation management circuit 85 receives the frame normal arrival confirmation signal C9 from the opposing LSI, it can release the stored information C7 and C8 in order from the oldest. In addition, the frame arrival confirmation management circuit 85 can transmit the queue frame release signal B4, the frame length B5, and the input port control unit number B6 to the input port 6 based on the information C7 and C8.

出力ポート閉塞判定回路86は、出力ポート8が、出力ポート8から対向LSIまでの間に故障又は混雑が発生していることを判定して出力ポート8を閉塞する。また、出力ポート閉塞判定回路86は、出力ポート8を閉塞すると、入力ポート6宛てに出力ポート閉塞信号B7を、管理部4宛てに出力ポート閉塞信号C10を、それぞれ送信する回路である。出力ポート閉塞判定回路86は、例えば対向LSI等のフレームの転送先の状態に関する出力ポート閉塞判定条件に基づいて、判定及び出力ポート閉塞信号B7の出力を行なうことができる。つまり、出力ポート閉塞判定回路86は、対応する転送先へのフレームの出力状況(転送状態)を監視し、出力状況が所定の条件を満たした場合に、出力ポート閉塞信号B7,C10を出力するのである。このように、出力ポート閉塞判定回路86は、複数の転送先へのデータ転送の状態に応じて、出力ポート閉塞信号B7,C10を出力する通知部の一例である。   The output port blockage determination circuit 86 determines that a failure or congestion has occurred between the output port 8 and the opposing LSI, and blocks the output port 8. Further, when the output port 8 is blocked, the output port blockage determination circuit 86 is a circuit that transmits an output port block signal B7 to the input port 6 and an output port block signal C10 to the management unit 4. The output port blockage determination circuit 86 can perform determination and output of the output port blockage signal B7 based on an output port blockage determination condition relating to the state of the transfer destination of a frame such as an opposing LSI. That is, the output port blockage determination circuit 86 monitors the output status (transfer status) of the frame to the corresponding transfer destination, and outputs the output port blockage signals B7 and C10 when the output status satisfies a predetermined condition. It is. Thus, the output port blockage determination circuit 86 is an example of a notification unit that outputs the output port blockage signals B7 and C10 according to the state of data transfer to a plurality of transfer destinations.

なお、各出力ポート8は、セレクタ82(自出力ポート8)から転送先へのフレームの出力状況が第1の条件を満たすか否か、例えば送信頻度が第1の閾値を超えるか否かを判断することができる。また、各出力ポート8は、セレクタ82(自出力ポート8)から転送先へのフレームの出力状況が第2の条件を満たすか否か、例えば送信頻度が第1の閾値よりも低い第2の閾値を未満であるか否かを判断することができる。   Each output port 8 determines whether the output status of the frame from the selector 82 (own output port 8) to the transfer destination satisfies the first condition, for example, whether the transmission frequency exceeds the first threshold. Judgment can be made. Each output port 8 determines whether the output status of the frame from the selector 82 (own output port 8) to the transfer destination satisfies the second condition, for example, a second frequency whose transmission frequency is lower than the first threshold value. It can be determined whether or not the threshold value is below.

再送ステートマシン63は、出力状況が第1の条件を満たす第1の転送先(出力ポート8)に対応する入力キュー61に格納された当該第1の転送先へのフレームを、セレクタ62を制御して迂回路へ出力させることができる。例えば、再送ステートマシン63は、第1の転送先に対応する入力キュー61に格納された当該第1の転送先へのフレームを、出力状況が第2の条件を満たす第2の転送先(代替出力ポート8)へ出力するようにセレクタ62を制御することができる。   The retransmission state machine 63 controls the selector 62 for the frame to the first transfer destination stored in the input queue 61 corresponding to the first transfer destination (output port 8) whose output status satisfies the first condition. And output to the detour. For example, the retransmission state machine 63 converts the frame to the first transfer destination stored in the input queue 61 corresponding to the first transfer destination to the second transfer destination (alternatively, the output status satisfies the second condition) The selector 62 can be controlled to output to the output port 8).

このように、情報処理システム1によれば、閉塞ポート8を閉鎖して代替ポート8に切り替えるだけでなく、出力ポート8に接続される入力ポート6(入力キュー61)ごとにフレームの送信頻度等が監視される。そして、再送ステートマシン63は、特定の入力ポート6(入力キュー61)または全入力ポート6(入力キュー61)からのフレームを、送信頻度の低い転送先(迂回路)に迂回させることができるため、スループットを向上させることができる。   As described above, according to the information processing system 1, not only the closed port 8 is closed and switched to the alternative port 8, but also the frame transmission frequency for each input port 6 (input queue 61) connected to the output port 8. Is monitored. The retransmission state machine 63 can divert a frame from a specific input port 6 (input queue 61) or all the input ports 6 (input queue 61) to a transfer destination (detour) having a low transmission frequency. , Throughput can be improved.

出力ポート閉塞判定回路86は、出力ポート8の閉塞中は、出力ポート8内の回路を同期リセットしてもよい。また、出力ポート閉塞判定回路86は、故障の場合は出力ポート閉塞信号B7を全入力ポート8に一斉に送信してもよく、混雑の場合は出力ポート閉塞信号B7を特定の入力ポート8宛てにのみ送信してもよい。さらに、出力ポート閉塞判定回路86は、閉塞した出力ポート8を再利用する場合、入力ポート8から出力ポート閉塞解除信号B11を受信し、出力ポート8内の同期リセットを解除することができる。   The output port blockage determination circuit 86 may synchronously reset the circuit in the output port 8 while the output port 8 is blocked. Further, the output port blockage determination circuit 86 may transmit the output port blockage signal B7 to all the input ports 8 at the same time in the case of a failure, and send the output port blockage signal B7 to a specific input port 8 in the case of congestion. You may send only. Furthermore, when the blocked output port 8 is reused, the output port blockage determination circuit 86 can receive the output port blockage release signal B11 from the input port 8 and cancel the synchronous reset in the output port 8.

〔2〕変形例
〔2−1〕第1変形例
一実施形態に係るクロスバ2は、図6に示すような、フレームごと(フレームの送信先ごと)に通常用出力ポート及び迂回用出力ポートが設定されるルーティングテーブル53を保持するものとして説明したが、これに限定されるものではない。例えば、クロスバ2は、ルーティングテーブル53に代えて、図17に示すような、出力ポート8ごとに通常用出力ポート及び迂回用出力ポートが設定されるルーティングテーブル53’を保持してもよい。特に言及しない限り、情報処理システム1の各構成は、図5等に示すものと同様であるため、重複した説明を省略する。
[2] Modification [2-1] First Modification The crossbar 2 according to the embodiment includes a normal output port and a bypass output port for each frame (for each frame transmission destination) as shown in FIG. Although described as holding the routing table 53 to be set, the present invention is not limited to this. For example, instead of the routing table 53, the crossbar 2 may hold a routing table 53 ′ in which a normal output port and a detour output port are set for each output port 8 as shown in FIG. Unless otherwise stated, each configuration of the information processing system 1 is the same as that shown in FIG.

図17は、一実施形態の第1変形例に係るルーティングテーブル53’のデータ構造を示す図である。図17に示すように、ルーティングテーブル53’は、図6に示すルーティングテーブル53と比して、送信先のカラムが省略されている。また、ルーティングテーブル53’のエントリの数は、クロスバ2にそなえられる出力ポート8の数(例えば3つ)に対応する。このように、第1変形例に係る情報処理システム1では、ルーティングテーブル53’により出力ポート8ごとに迂回用出力ポート8が決まる。   FIG. 17 is a diagram illustrating a data structure of the routing table 53 ′ according to the first modification of the embodiment. As shown in FIG. 17, the routing table 53 ′ omits the destination column as compared with the routing table 53 shown in FIG. 6. Further, the number of entries in the routing table 53 ′ corresponds to the number of output ports 8 (for example, three) provided in the crossbar 2. Thus, in the information processing system 1 according to the first modification, the detour output port 8 is determined for each output port 8 by the routing table 53 ′.

例えば、迂回用出力ポート管理回路64は、自身に対応する出力ポート(通常用出力ポート)8をエントリとして、ルーティングテーブル53’内の迂回用出力ポート8の情報を保持することができる。つまり、迂回用出力ポート管理回路64は、上記(IV)の処理において、再送ステートマシン63が閉塞ポート8に対応する入力キュー61内のフレームを出力する際に、全フレームの出力先を1つの迂回用出力ポート8に変換することができる。一例として、図5に示すクロスバ2において出力ポートAが閉塞ポート8である場合、再送ステートマシン63は、上記(IV)の処理において、入力キュー61内の全てのフレームを、迂回用出力ポートB(第1候補)へ出力することができる(図17参照)。   For example, the detour output port management circuit 64 can hold the information of the detour output port 8 in the routing table 53 ′ with the output port (normal output port) 8 corresponding to itself as an entry. That is, when the retransmission state machine 63 outputs the frame in the input queue 61 corresponding to the blocked port 8 in the process (IV), the detouring output port management circuit 64 sets the output destination of all frames to one. It is possible to convert to the detour output port 8. As an example, when the output port A is the blocked port 8 in the crossbar 2 shown in FIG. 5, the retransmission state machine 63 converts all frames in the input queue 61 to the detour output port B in the process (IV). (First candidate) can be output (see FIG. 17).

従って、第1変形例に係る情報処理システム1によれば、一実施形態と同様の効果を奏することができるほか、閉塞ポート8及び代替ポート8に該当しない他の出力ポート8が独立して動作できるため、クロスバ2のスループットを向上させることができる。
また、ルーティングテーブル53’のデータ構造が簡素化するため、管理部4によるルーティングテーブル53’の更新処理にかかる負荷を低減させることもできる。
Therefore, according to the information processing system 1 according to the first modification, the same effect as that of the embodiment can be obtained, and other output ports 8 that do not correspond to the blocked port 8 and the alternative port 8 operate independently. Therefore, the throughput of the crossbar 2 can be improved.
Further, since the data structure of the routing table 53 ′ is simplified, it is possible to reduce the load applied to the updating process of the routing table 53 ′ by the management unit 4.

なお、管理部4(保持部41)は、情報処理システム1内の全クロスバ2の全ルーティングテーブル53’(図17参照)の情報を管理情報42として保持すればよい。
〔2−2〕第2変形例
一実施形態に係るクロスバ2は、図6に示すような、迂回用出力ポート8ごとに有効/無効のカラムを持つルーティングテーブル53を保持するものとして説明したが、これに限定されるものではない。例えば、クロスバ2は、ルーティングテーブル53に代えて、図18に示すような、送信先出力ポート8をビット値によって通常用出力ポート8及び迂回用出力ポート8の中から選択可能なルーティングテーブル53”を保持してもよい。特に言及しない限り、情報処理システム1の各構成は、図5等に示すものと同様であるため、重複した説明を省略する。
The management unit 4 (holding unit 41) may hold the information of all routing tables 53 ′ (see FIG. 17) of all crossbars 2 in the information processing system 1 as management information 42.
[2-2] Second Modification The crossbar 2 according to an embodiment has been described as holding a routing table 53 having valid / invalid columns for each detour output port 8 as shown in FIG. However, the present invention is not limited to this. For example, instead of the routing table 53, the crossbar 2 can select the destination output port 8 from the normal output port 8 and the detour output port 8 by a bit value as shown in FIG. Unless otherwise stated, each configuration of the information processing system 1 is the same as that shown in FIG.

図18は、一実施形態の第2変形例に係るルーティングテーブル53”のデータ構造を示す図である。図18に示すように、ルーティングテーブル53”は、図6に示すルーティングテーブル53と比して、各迂回用出力ポート8の有効/無効のカラムが省略されている代わりに、出力ポート選択ビットのカラムが追加されている。例えば、ルーティングテーブル53”では、出力ポート選択ビットのビット値と送信先出力ポート8とを、以下のように対応付けることができる。   18 is a diagram illustrating a data structure of the routing table 53 ″ according to the second modification of the embodiment. As illustrated in FIG. 18, the routing table 53 ″ is compared with the routing table 53 illustrated in FIG. Thus, instead of omitting the valid / invalid column of each detour output port 8, a column of output port selection bits is added. For example, in the routing table 53 ″, the bit value of the output port selection bit and the transmission destination output port 8 can be associated as follows.

出力ポート選択ビットのビット値“00”:通常用出力ポート8
出力ポート選択ビットのビット値“01”:第1候補の迂回用出力ポート8
出力ポート選択ビットのビット値“10”:第2候補の迂回用出力ポート8
・・・
なお、迂回用出力ポート8の候補数に応じて、出力ポート選択ビットのビット幅を適宜増減してもよい。
Output port selection bit value “00”: Normal output port 8
Bit value “01” of output port selection bit: first candidate bypass output port 8
Bit value “10” of output port selection bit: second candidate bypass output port 8
...
Note that the bit width of the output port selection bit may be appropriately increased or decreased according to the number of candidates for the detour output port 8.

迂回用出力ポート管理回路64は、一実施形態と同様に、受付キュー51から入力キュー61に入力されるフレームごとに、ルーティングテーブル53”内の迂回用出力ポート8の情報を保持する。ここで、ルーティングテーブル53”では、出力ポート選択ビットのビット値が送信先出力ポート8を示すため、迂回用出力ポート管理回路64は、出力ポート選択ビットに“1”を加算したビット値に対応する迂回用出力ポート8の情報を保持すればよい。   The detour output port management circuit 64 holds the information of the detour output port 8 in the routing table 53 ″ for each frame input from the reception queue 51 to the input queue 61, as in the embodiment. In the routing table 53 ″, since the bit value of the output port selection bit indicates the transmission destination output port 8, the detour output port management circuit 64 detours corresponding to the bit value obtained by adding “1” to the output port selection bit. The information of the output port 8 may be held.

また、管理部4は、ルーティングテーブル53”の更新処理において、一実施形態のように通常用出力ポート8を迂回用出力ポート8で上書きして迂回用出力ポート8の有効/無効を書き換える代わりに、出力ポート選択ビットのビット値を書き換えるだけでよい。
従って、第2変形例に係る情報処理システム1によれば、一実施形態と同様の効果を奏することができるほか、管理部4によるルーティングテーブル53”の更新処理にかかる負荷を低減させることができる。
Further, in the update process of the routing table 53 ″, the management unit 4 overwrites the normal output port 8 with the bypass output port 8 and rewrites the valid / invalid of the bypass output port 8 as in the embodiment. It is only necessary to rewrite the bit value of the output port selection bit.
Therefore, according to the information processing system 1 according to the second modification, the same effect as that of the embodiment can be obtained, and the load on the update process of the routing table 53 ″ by the management unit 4 can be reduced. .

なお、管理部4(保持部41)は、情報処理システム1内の全クロスバ2の全ルーティングテーブル53”(図18参照)の情報と全クロスバ2の全出力ポート8の有効/無効の情報を管理情報42として保持すればよい。また、管理部4は、ルーティングテーブル53”の更新処理において、再利用しない出力ポート8の出力ポート番号については削除してもよい。   The management unit 4 (holding unit 41) stores information on all routing tables 53 ″ (see FIG. 18) of all crossbars 2 in the information processing system 1 and information on validity / invalidity of all output ports 8 of all crossbars 2. What is necessary is just to hold | maintain as the management information 42. Moreover, the management part 4 may delete about the output port number of the output port 8 which is not reused in the update process of the routing table 53 ".

また、第2変形例においては、一実施形態に係るルーティングテーブル53の変形例を説明したが、第1変形例に係るルーティングテーブル53’に対しても、第2変形例を適用することができる。すなわち、図17に示すルーティングテーブル53’に対して、各迂回用出力ポート8の有効/無効のカラムを省略し、代わりに出力ポート選択ビットのカラムを追加してもよい。第1変形例と第2変形例とを組み合わることにより、第1変形例と同様の効果を奏することができるほか、管理部4によるルーティングテーブル53”の更新処理にかかる負荷を第1変形例よりも低減させることができる。   In the second modification, the modification of the routing table 53 according to the embodiment has been described. However, the second modification can be applied to the routing table 53 ′ according to the first modification. . That is, the valid / invalid column of each detour output port 8 may be omitted from the routing table 53 ′ shown in FIG. 17 and an output port selection bit column may be added instead. By combining the first modification and the second modification, the same effects as in the first modification can be obtained, and the load applied to the updating process of the routing table 53 ″ by the management unit 4 is changed to the first modification. Can be reduced.

〔2−3〕第3変形例
一実施形態に係るクロスバ2は、再送ステートマシン63を各入力ポート6の各入力キュー制御部60内にそなえるものとして説明したが、これに限定されるものではない。
図19は、一実施形態の第3変形例に係る再送ステートマシン63’の構成を示す図である。例えば、クロスバ2は、図19に示す再送ステートマシン63’を入力キュー制御部60の外部にそなえ、入力キュー制御部60と再送ステートマシン63’とを配線で接続することができるほか、ソケットやピン等により接続してもよい。
[2-3] Third Modification Although the crossbar 2 according to the embodiment has been described as including the retransmission state machine 63 in each input queue control unit 60 of each input port 6, the present invention is not limited to this. Absent.
FIG. 19 is a diagram illustrating a configuration of a retransmission state machine 63 ′ according to a third modification of the embodiment. For example, the crossbar 2 can be provided with the retransmission state machine 63 ′ shown in FIG. 19 outside the input queue control unit 60, and the input queue control unit 60 and the retransmission state machine 63 ′ can be connected by wiring, You may connect by a pin etc.

図19に示すように、第3変形例に係る再送ステートマシン63’は、例えば、状態管理部631、代替出力制御部632、管理部制御部633、出力ポート制御部634、及び受付ポート制御部635をそなえることができる。
状態管理部631は、レジスタ等の記憶装置をそなえ、上述した(I)〜(V)の状態を管理する(図10参照)。状態管理部631は、図13に示す出力ポート閉塞信号B7、入力ポート6へのフレーム送信停止信号A5、出力ポート切り替え完了信号B10、及びキュー再送エントリ数B2をそれぞれ入力され、各信号の入力に応じてレジスタ値を変化させる。
As illustrated in FIG. 19, the retransmission state machine 63 ′ according to the third modification includes, for example, a state management unit 631, an alternative output control unit 632, a management unit control unit 633, an output port control unit 634, and a reception port control unit. 635 can be provided.
The state management unit 631 includes a storage device such as a register, and manages the states (I) to (V) described above (see FIG. 10). The state management unit 631 receives the output port block signal B7, the frame transmission stop signal A5 to the input port 6, the output port switching completion signal B10, and the queue retransmission entry number B2 shown in FIG. The register value is changed accordingly.

代替出力制御部632は、状態管理部631のレジスタ値が“3'b011”の場合に、代替出力処理を行なうものであり、例えば、迂回用出力ポート管理回路64が示す代替ポート8に応じたセレクタ62を制御させる信号D1を、選択信号生成回路607へ送信する。換言すれば、代替出力制御部632は、状態管理部631が管理するデータ転送の状態に応じて、一の転送先に対応する入力キュー61に格納された一の転送先へのフレームを、代替の転送先へ出力するように、セレクタ62を制御するものである。   The alternative output control unit 632 performs an alternative output process when the register value of the state management unit 631 is “3′b011”. For example, according to the alternative port 8 indicated by the detour output port management circuit 64 A signal D 1 for controlling the selector 62 is transmitted to the selection signal generation circuit 607. In other words, the substitute output control unit 632 substitutes a frame to one transfer destination stored in the input queue 61 corresponding to one transfer destination according to the data transfer state managed by the state management unit 631. The selector 62 is controlled so as to output to the transfer destination.

管理部制御部633は、状態管理部631のレジスタ値が“3'b100”の場合に、管理部4へルーティングテーブル更新可能通知信号B9を送信する。
出力ポート制御部634は、状態管理部631のレジスタ値が“3'b100”の場合、且つ管理部4によりルーティングテーブル53が更新されなかった場合に、出力ポート8へ出力ポート閉塞解除信号B11を送信する。
When the register value of the state management unit 631 is “3′b100”, the management unit control unit 633 transmits the routing table update availability notification signal B9 to the management unit 4.
When the register value of the state management unit 631 is “3′b100” and the routing table 53 is not updated by the management unit 4, the output port control unit 634 sends the output port blockage release signal B11 to the output port 8. Send.

受付ポート制御部635は、受付ポート5へフレーム送信再開指示信号A6を送信する。なお、受付ポート制御部635は、状態管理部631のレジスタ値が“3'b100”の場合、且つ、ルーティングテーブル53が更新された場合又は出力ポート制御部634が出力ポート閉塞解除信号B11を送信した場合に、上記処理を行なう。
このように、第3実施例に係る再送ステートマシン63’によれば、転送経路の変更処理を管理する機能をクロスバ2の外部に設けることができ、再送ステートマシン63’の交換により制御態様(論理)を容易に変更することができる。これにより、情報処理システム1の運用形態や構成の変化に応じた再送ステートマシン63’の更新を、クロスバ2全体を交換するよりも低コストに実現することができる。
The reception port control unit 635 transmits a frame transmission restart instruction signal A6 to the reception port 5. The reception port control unit 635 transmits the output port blockage release signal B11 when the register value of the state management unit 631 is “3′b100” and the routing table 53 is updated or when the output port control unit 634 transmits the output port blockage release signal B11. If so, the above processing is performed.
As described above, according to the retransmission state machine 63 ′ according to the third embodiment, the function of managing the transfer path change process can be provided outside the crossbar 2, and the control mode ( Logic) can be easily changed. As a result, it is possible to update the retransmission state machine 63 ′ according to changes in the operation mode and configuration of the information processing system 1 at a lower cost than when the entire crossbar 2 is replaced.

なお、再送ステートマシン63’は、クロスバ2を制御する制御装置の一例である。当該制御装置には、入力ポート6内又はクロスバ2内の複数の再送ステートマシン63’を集積させてもよく、入力キュー制御部60における迂回用出力ポート管理回路64や選択信号生成回路607等の複数の回路を含めてもよい。また、図19に示す各機能(回路)ブロックは、図5又は図13に示す再送ステートマシン63にそなえられてもよい。   The retransmission state machine 63 ′ is an example of a control device that controls the crossbar 2. A plurality of retransmission state machines 63 ′ in the input port 6 or the crossbar 2 may be integrated in the control device, such as a detour output port management circuit 64 and a selection signal generation circuit 607 in the input queue control unit 60. A plurality of circuits may be included. Further, each function (circuit) block shown in FIG. 19 may be provided in the retransmission state machine 63 shown in FIG. 5 or FIG.

〔3〕その他
以上、本発明の好ましい実施形態について詳述したが、本発明は、かかる特定の実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲内において、種々の変形、変更して実施することができる。
例えば、上述したクロスバ2は、受付ポート5、入力ポート6、出力ポート8、及び接続部9をそれぞれ3つそなえるものとして説明したが、これに限定されるものではなく、それぞれ2つ、又は4つ以上そなえてもよい。また、クロスバ2は、例えば少なくとも入力ポート6を1以上そなえ、出力ポート8を転送先の数だけそなえればよい。さらに、ルーティングテーブル53,53’,53”は、受付ポート5ごとにそなえられなくてもよく、管理部4がそなえる管理情報42と同様のものがクロスバ2にそなえられてもよい。また、セレクタ62は、入力ポート6の外部にそなえられてもよい。
[3] Others While the preferred embodiments of the present invention have been described in detail above, the present invention is not limited to such specific embodiments, and various modifications and changes can be made without departing from the spirit of the present invention. It can be changed and implemented.
For example, the crossbar 2 described above has been described as having three reception ports 5, input ports 6, output ports 8, and connection units 9, but the present invention is not limited to this, and two or four are provided. You may have more than one. The crossbar 2 may have at least one input port 6 and at least as many output ports 8 as the number of transfer destinations. Further, the routing tables 53, 53 ′ and 53 ″ may not be provided for each reception port 5, and the management information 42 provided by the management unit 4 may be provided in the crossbar 2. 62 may be provided outside the input port 6.

また、クロスバ2(受付ポート5、入力ポート6、ルーティング部7、出力ポート8、及び接続部9)の各機能は、任意の組み合わせで統合又は分散してもよい。
さらに、図10のステップS13及びS14の処理順序は、上述したものに限定されるものではなく、順序を入れ替えてもよい。この場合、再送ステートマシン63のレジスタ値が示す状態も入れ替えればよい。
The functions of the crossbar 2 (reception port 5, input port 6, routing unit 7, output port 8, and connection unit 9) may be integrated or distributed in any combination.
Furthermore, the processing order of steps S13 and S14 in FIG. 10 is not limited to that described above, and the order may be changed. In this case, the state indicated by the register value of the retransmission state machine 63 may be switched.

さらに、図2に示す情報処理システム1が複数のクロスバ2をそなえるものとして説明したが、これに限定されるものではない。例えば、情報処理システム1は、1つのクロスバ2をそなえてもよい。この場合、クロスバ2と送信先装置3との間には、異なる2以上の転送経路(例えばバス,ケーブル,無線通信路等のうちの同種又は異種の2以上の組み合わせ)が存在すればよい。また、クロスバ2は、送信先装置3への複数の転送先のいずれかへフレームを出力すればよい。
〔4〕付記
以上の実施形態及び各変形例に関し、更に以下の付記を開示する。
(付記1)
データを送信する送信元装置と、
前記送信元装置から送信された前記データを受信する送信先装置と、
前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する複数のデータ転送装置と、をそなえ、
前記データ転送装置は、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、情報処理装置。
(付記2)
前記データ転送装置は、
前記転送データの1以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、付記1記載の情報処理装置。
(付記3)
前記転送先情報は、前記転送データの送信先装置に応じた1以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、付記2記載の情報処理装置。
(付記4)
前記切替部から前記複数の転送先へのデータ転送の状態に応じて、前記保持部に保持された前記転送先情報を更新する更新部をさらにそなえるとともに、
前記データ転送装置は、
入力される転送データの前記複数の格納部への格納を抑止する抑止部をさらに有し、
前記制御部は、前記代替出力処理を行なうと、前記転送先情報の更新要求を前記更新部へ送信し、
前記更新部は、前記制御部からの更新要求に応じて、前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、付記2又は付記3記載の情報処理装置。
(付記5)
前記データ転送装置は、
前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部をさらに有し、
前記制御部は、前記代替出力処理において、一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む1以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、付記1〜4のいずれか1項記載の情報処理装置。
(付記6)
前記データ転送装置は、
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、付記1〜5のいずれか1項記載の情報処理装置。
(付記7)
前記制御部は、前記切替部から第1の転送先への転送データの出力状況が第1の条件を満たす場合であって、前記切替部から第2の転送先への転送データの出力状況が第2の条件を満たす場合、前記第1の転送先に対応する格納部に格納された前記第1の転送先への転送データを、前記第2の転送先へ出力するように前記切替部を制御する
ことを特徴とする、付記1〜6のいずれか1項記載の情報処理装置。
(付記8)
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送するデータ転送装置であって、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、を有する
ことを特徴とする、データ転送装置。
(付記9)
前記転送データの1以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、付記8記載のデータ転送装置。
(付記10)
前記転送先情報は、前記転送データの送信先装置に応じた1以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、付記9記載のデータ転送装置。
(付記11)
前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部をさらに有し、
前記制御部は、前記代替出力処理において、一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む1以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、付記8〜10のいずれか1項記載のデータ転送装置。
(付記12)
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、付記8〜11のいずれか1項記載のデータ転送装置。
(付記13)
前記制御部は、前記切替部から第1の転送先への転送データの出力状況が第1の条件を満たす場合であって、前記切替部から第2の転送先への転送データの出力状況が第2の条件を満たす場合、前記第1の転送先に対応する格納部に格納された前記第1の転送先への転送データを、前記第2の転送先へ出力するように前記切替部を制御する
ことを特徴とする、付記8〜12のいずれか1項記載のデータ転送装置。
(付記14)
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する1以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法であって、
入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納し、
前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得し、
取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう
ことを特徴とする、データ転送方法。
(付記15)
前記一の転送先に対応する格納部に格納された転送データについて、保持部に保持された前記転送データの1以上の転送先に関する転送先情報に前記他の転送先が含まれる場合、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、付記14記載のデータ転送方法。
(付記16)
前記転送先情報は、前記転送データの送信先装置に応じた1以上の転送先に関する情報であり、
前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、付記15記載のデータ転送方法。
(付記17)
入力される転送データの前記複数の格納部への格納を抑止し、
前記転送データの前記複数の格納部への格納が抑止されている場合に、
前記代替出力処理を行ない、
前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、付記15又は付記16記載のデータ転送方法。
(付記18)
前記代替出力処理において、前記自データ転送装置に接続される転送先ごとにそなえられ、前記転送データを当該転送データの転送先へ出力する複数の出力部のうちの一の出力部から一の転送経路を介した前記一の転送先へのデータ転送の状態に応じて、前記一の出力部に対応する格納部に格納された、前記一の出力部へ出力済みの転送データを含む1以上の転送データを、各転送データに対応する他の出力部へ出力するように前記切替部を制御する
ことを特徴とする、付記14〜17のいずれか1項記載のデータ転送方法。
(付記19)
前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データを対応する格納部へ順次出力し、
前記切替部から前記一の転送先へのデータ転送の状態が所定の条件を満たした場合に、前記受付格納部から出力中の転送データの出力が完了すると、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止し、
前記代替出力処理が完了すると、前記受付格納部に格納された転送データの前記複数の格納部への出力を再開する
ことを特徴とする、付記14〜18のいずれか1項記載のデータ転送方法。
(付記20)
前記切替部から第1の転送先への転送データの出力状況が第1の条件を満たす場合であって、前記切替部から第2の転送先への転送データの出力状況が第2の条件を満たす場合、前記第1の転送先に対応する格納部に格納された前記第1の転送先への転送データを、前記第2の転送先へ出力するように前記切替部を制御する
ことを特徴とする、付記14〜19のいずれか1項記載のデータ転送方法。
(付記21)
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送し、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部を有するデータ転送装置における制御装置であって、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を管理する状態管理部と、
前記状態管理部が管理する前記データ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力制御部と、を有する
ことを特徴とする、制御装置。
Furthermore, although the information processing system 1 illustrated in FIG. 2 has been described as including a plurality of crossbars 2, the present invention is not limited to this. For example, the information processing system 1 may have one crossbar 2. In this case, two or more different transfer paths (for example, a combination of two or more of the same kind or different kinds of buses, cables, wireless communication paths, etc.) may exist between the crossbar 2 and the transmission destination device 3. The crossbar 2 may output a frame to any one of a plurality of transfer destinations to the transmission destination device 3.
[4] Notes
The following supplementary notes are further disclosed with respect to the above embodiment and each modified example.
(Appendix 1)
A transmission source device for transmitting data; and
A transmission destination device that receives the data transmitted from the transmission source device;
A plurality of data transfer devices that are interposed between the transmission source device and the transmission destination device and transfer the data from the transmission source device to the transmission destination device via any one of a plurality of different transfer paths And
The data transfer device
A plurality of storage units that store input transfer data for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device;
A switching unit that selectively switches and outputs the transfer data stored in the plurality of storage units to any of the plurality of transfer destinations;
According to the state of data transfer from the switching unit to one transfer destination via one transfer path, the transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination, A control unit that performs an alternative output process for controlling the switching unit so as to output to another transfer destination included in the plurality of different transfer paths.
An information processing apparatus.
(Appendix 2)
The data transfer device
A holding unit that holds transfer destination information regarding one or more transfer destinations of the transfer data;
When the other transfer destination is included in the transfer destination information for the transfer data stored in the storage unit corresponding to the one transfer destination, the control unit performs the alternative output processing based on the transfer destination information. Do
The information processing apparatus according to appendix 1, wherein:
(Appendix 3)
The transfer destination information is information relating to one or more transfer destinations according to a transmission destination device of the transfer data,
In the alternative output process, the control unit is configured to select a plurality of transfer data to the one transfer destination stored in a storage unit corresponding to the one transfer destination according to each transmission destination device of the transfer data. Control the switching unit to output to each other transfer destination
The information processing apparatus according to supplementary note 2, wherein
(Appendix 4)
According to the state of data transfer from the switching unit to the plurality of transfer destinations, further comprising an update unit for updating the transfer destination information held in the holding unit,
The data transfer device
A deterrence unit for deterring storage of the input transfer data in the plurality of storage units;
The control unit, when performing the alternative output processing, transmits an update request for the transfer destination information to the update unit,
In response to an update request from the control unit, the update unit updates the transfer destination information so that transfer data output to the one transfer destination is output to the other transfer destination.
The information processing apparatus according to Supplementary Note 2 or Supplementary Note 3, wherein
(Appendix 5)
The data transfer device
Provided for each transfer destination connected to the own data transfer device, further comprising a plurality of output units for outputting the transfer data to the transfer destination of the transfer data,
In the alternative output process, the control unit stores in a storage unit corresponding to the one output unit in accordance with a state of data transfer from one output unit to the one transfer destination via one transfer path. The switching unit is controlled to output one or more transfer data including the transfer data already output to the one output unit to another output unit corresponding to each transfer data.
The information processing apparatus according to any one of appendices 1 to 4, characterized by:
(Appendix 6)
The data transfer device
A notification unit that outputs an output suppression signal according to a state of data transfer to the plurality of transfer destinations;
An acceptance storage unit that collectively stores transfer data stored in the plurality of storage units;
When the transfer data stored in the reception storage unit is sequentially output to the corresponding storage unit and the output suppression signal is received for the one transfer destination from the notification unit, the output of the transfer data being output from the reception storage unit A reception control unit that performs control to suppress output of the transfer data stored in the reception storage unit to the plurality of storage units until the alternative output process by the control unit is completed
The information processing apparatus according to any one of appendices 1 to 5, characterized in that:
(Appendix 7)
The control unit is a case where the output status of the transfer data from the switching unit to the first transfer destination satisfies the first condition, and the output status of the transfer data from the switch unit to the second transfer destination is When the second condition is satisfied, the switching unit is configured to output transfer data to the first transfer destination stored in the storage unit corresponding to the first transfer destination to the second transfer destination. Control
The information processing apparatus according to any one of appendices 1 to 6, characterized in that:
(Appendix 8)
A transmission source device that transmits data and a transmission destination device that receives the data transmitted from the transmission source device, and the data is transmitted via any one of a plurality of different transfer paths. A data transfer device for transferring from a transmission source device to the transmission destination device,
A plurality of storage units that store input transfer data for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device;
A switching unit that selectively switches and outputs the transfer data stored in the plurality of storage units to any of the plurality of transfer destinations;
According to the state of data transfer from the switching unit to one transfer destination via one transfer path, the transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination, A control unit that performs an alternative output process for controlling the switching unit so as to output to another transfer destination included in the plurality of different transfer paths.
A data transfer device.
(Appendix 9)
A holding unit that holds transfer destination information regarding one or more transfer destinations of the transfer data;
When the other transfer destination is included in the transfer destination information for the transfer data stored in the storage unit corresponding to the one transfer destination, the control unit performs the alternative output processing based on the transfer destination information. Do
The data transfer apparatus according to appendix 8, wherein
(Appendix 10)
The transfer destination information is information relating to one or more transfer destinations according to a transmission destination device of the transfer data,
In the alternative output process, the control unit is configured to select a plurality of transfer data to the one transfer destination stored in a storage unit corresponding to the one transfer destination according to each transmission destination device of the transfer data. Control the switching unit to output to each other transfer destination
The data transfer device according to appendix 9, wherein
(Appendix 11)
Provided for each transfer destination connected to the own data transfer device, further comprising a plurality of output units for outputting the transfer data to the transfer destination of the transfer data,
In the alternative output process, the control unit stores in a storage unit corresponding to the one output unit in accordance with a state of data transfer from one output unit to the one transfer destination via one transfer path. The switching unit is controlled to output one or more transfer data including the transfer data already output to the one output unit to another output unit corresponding to each transfer data.
The data transfer device according to any one of appendices 8 to 10, characterized in that:
(Appendix 12)
A notification unit that outputs an output suppression signal according to a state of data transfer to the plurality of transfer destinations;
An acceptance storage unit that collectively stores transfer data stored in the plurality of storage units;
When the transfer data stored in the reception storage unit is sequentially output to the corresponding storage unit and the output suppression signal is received for the one transfer destination from the notification unit, the output of the transfer data being output from the reception storage unit A reception control unit that performs control to suppress output of the transfer data stored in the reception storage unit to the plurality of storage units until the alternative output process by the control unit is completed
The data transfer device according to any one of appendices 8 to 11, characterized in that:
(Appendix 13)
The control unit is a case where the output status of the transfer data from the switching unit to the first transfer destination satisfies the first condition, and the output status of the transfer data from the switch unit to the second transfer destination is When the second condition is satisfied, the switching unit is configured to output transfer data to the first transfer destination stored in the storage unit corresponding to the first transfer destination to the second transfer destination. Control
The data transfer device according to any one of appendices 8 to 12, characterized in that:
(Appendix 14)
A transmission source device that transmits data, a transmission destination device that receives the data transmitted from the transmission source device, and a plurality of different transfer paths interposed between the transmission source device and the transmission destination device. A data transfer method in an information processing system, comprising: one or more data transfer devices that transfer the data from the transmission source device to the transmission destination device via any of them,
The input transfer data corresponds to a transfer destination of the transfer data among a plurality of storage units provided for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device. Store in the storage,
Acquisition of data transfer status to one transfer destination via one transfer path from a switching unit that selectively switches and outputs the transfer data stored in the plurality of storage units to one of the plurality of transfer destinations And
According to the acquired state, the transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination is output to other transfer destinations included in the plurality of different transfer paths. Alternate output processing for controlling the switching unit
A data transfer method.
(Appendix 15)
For the transfer data stored in the storage unit corresponding to the one transfer destination, when the transfer destination information related to one or more transfer destinations of the transfer data held in the holding unit includes the other transfer destination, Perform the alternative output processing based on the destination information
15. The data transfer method according to appendix 14, wherein
(Appendix 16)
The transfer destination information is information relating to one or more transfer destinations according to a transmission destination device of the transfer data,
In the alternative output processing, a plurality of transfer data to the one transfer destination stored in a storage unit corresponding to the one transfer destination is transferred to another transfer destination corresponding to each destination device of the transfer data Control the switching unit to output each
The data transfer method according to supplementary note 15, wherein
(Appendix 17)
Suppressing storage of the input transfer data in the plurality of storage units,
When storage of the transfer data in the plurality of storage units is suppressed,
Performing the alternative output process;
The transfer destination information is updated so that transfer data output to the one transfer destination is output to the other transfer destination.
The data transfer method according to Supplementary Note 15 or Supplementary Note 16, wherein
(Appendix 18)
In the alternative output processing, one transfer from one output unit among a plurality of output units provided for each transfer destination connected to the own data transfer device and outputting the transfer data to the transfer destination of the transfer data. One or more including transfer data that has been output to the one output unit and stored in a storage unit corresponding to the one output unit, depending on the state of data transfer to the one transfer destination via the path The switching unit is controlled to output the transfer data to another output unit corresponding to each transfer data.
18. The data transfer method according to any one of appendices 14 to 17, characterized in that:
(Appendix 19)
Sequentially transferring the transfer data stored in the reception storage unit that collectively stores the transfer data stored in the plurality of storage units to the corresponding storage unit;
When the output of the transfer data being output from the reception storage unit is completed when the state of data transfer from the switching unit to the one transfer destination satisfies a predetermined condition, the transfer stored in the reception storage unit Suppress output of the data to the plurality of storage units,
When the alternative output process is completed, output of the transfer data stored in the reception storage unit to the plurality of storage units is resumed.
The data transfer method according to any one of appendices 14 to 18, characterized in that:
(Appendix 20)
The output state of transfer data from the switching unit to the first transfer destination satisfies the first condition, and the output state of transfer data from the switch unit to the second transfer destination satisfies the second condition. If the condition is satisfied, the switching unit is controlled to output the transfer data to the first transfer destination stored in the storage unit corresponding to the first transfer destination to the second transfer destination.
20. The data transfer method according to any one of appendices 14 to 19, wherein
(Appendix 21)
A transmission source device that transmits data and a transmission destination device that receives the data transmitted from the transmission source device, and the data is transmitted via any one of a plurality of different transfer paths. A plurality of storage units that transfer data from a transmission source device to the transmission destination device and store input transfer data for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device. A control device in a data transfer device,
The transfer data stored in the plurality of storage units is selectively switched to one of the plurality of transfer destinations and output from the switching unit to one transfer destination via one transfer path. A state management unit to manage,
Transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination is included in the plurality of different transfer paths according to the state of the data transfer managed by the state management unit. An alternative output control unit that controls the switching unit to output to another transfer destination.
A control device.

1 情報処理システム(情報処理装置)
2,2A〜2I クロスバ(データ転送装置)
3,3A〜3F 装置
4 管理部(更新部)
5 受付ポート(抑止部)
6 入力ポート
7 ルーティング部
8 出力ポート(出力部)
9 接続部
40a CPU
40b メモリ
40c 記憶部
40d インタフェース部
40e 入出力部
40f,40h 記録媒体
40g 読取部
41,52 保持部
42 管理情報
51 受付キュー(受付格納部)
53,53’,53” ルーティングテーブル(転送先情報)
54 フレーム送信判定回路(受付制御部)
61 入力キュー(格納部)
62 セレクタ(切替部)
63,63’ 再送ステートマシン(制御部,制御装置)
64 迂回用出力ポート管理回路
81 出力キュー
82 セレクタ
86 出力ポート閉塞判定回路(通知部)
1 Information processing system (information processing equipment)
2,2A-2I Crossbar (data transfer device)
3, 3A-3F Device 4 Management unit (update unit)
5 reception port (deterrence part)
6 Input port 7 Routing part 8 Output port (output part)
9 Connection 40a CPU
40b Memory 40c Storage unit 40d Interface unit 40e Input / output unit 40f, 40h Recording medium 40g Reading unit 41, 52 Holding unit 42 Management information 51 Reception queue (reception storage unit)
53, 53 ', 53 "routing table (forwarding destination information)
54 Frame transmission judgment circuit (acceptance control unit)
61 Input queue (storage)
62 Selector (switching unit)
63, 63 'retransmission state machine (control unit, control device)
64 Detour output port management circuit 81 Output queue 82 Selector 86 Output port blockage judgment circuit (notification unit)

Claims (8)

データを送信する送信元装置と、
前記送信元装置から送信された前記データを受信する送信先装置と、
前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する1以上のデータ転送装置と、をそなえ、
前記データ転送装置は、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記複数の転送先へのデータ転送の状態に応じて、前記受付格納部に格納された転送データの前記複数の格納部への格納を抑止する抑止部と、を有する
ことを特徴とする、情報処理装置。
A transmission source device for transmitting data; and
A transmission destination device that receives the data transmitted from the transmission source device;
One or more data transfers that are interposed between the transmission source device and the transmission destination device and transfer the data from the transmission source device to the transmission destination device via any one of a plurality of different transfer paths With equipment,
The data transfer device
A plurality of storage units that store input transfer data for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device;
A switching unit that selectively switches and outputs the transfer data stored in the plurality of storage units to any of the plurality of transfer destinations;
According to the state of data transfer from the switching unit to one transfer destination via one transfer path, the transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination, A control unit for performing an alternative output process for controlling the switching unit to output to another transfer destination included in the plurality of different transfer paths;
An acceptance storage unit that collectively stores transfer data stored in the plurality of storage units;
And a deterring unit that deters storage of the transfer data stored in the reception storage unit in the plurality of storage units according to a state of data transfer to the plurality of transfer destinations. Processing equipment.
前記データ転送装置は、
前記転送データの1以上の転送先に関する転送先情報を保持する保持部をさらに有し、
前記一の転送先に対応する格納部に格納された転送データについて前記転送先情報に前記他の転送先が含まれる場合、前記制御部は、前記転送先情報に基づいて、前記代替出力処理を行なう
ことを特徴とする、請求項1記載の情報処理装置。
The data transfer device
A holding unit that holds transfer destination information regarding one or more transfer destinations of the transfer data;
When the other transfer destination is included in the transfer destination information for the transfer data stored in the storage unit corresponding to the one transfer destination, the control unit performs the alternative output processing based on the transfer destination information. The information processing apparatus according to claim 1, wherein the information processing apparatus performs the processing.
前記転送先情報は、前記転送データの送信先装置に応じた1以上の転送先に関する情報であり、
前記制御部は、前記代替出力処理において、前記一の転送先に対応する格納部に格納された前記一の転送先への複数の転送データを、前記転送データの各々の送信先装置に応じた他の転送先へそれぞれ出力するように前記切替部を制御する
ことを特徴とする、請求項2記載の情報処理装置。
The transfer destination information is information relating to one or more transfer destinations according to a transmission destination device of the transfer data,
In the alternative output process, the control unit is configured to select a plurality of transfer data to the one transfer destination stored in a storage unit corresponding to the one transfer destination according to each transmission destination device of the transfer data. The information processing apparatus according to claim 2, wherein the switching unit is controlled to output to each of other transfer destinations.
前記切替部から前記複数の転送先へのデータ転送の状態に応じて、前記保持部に保持された前記転送先情報を更新する更新部をさらにそなえるとともに、
前記制御部は、前記代替出力処理を行なうと、前記転送先情報の更新要求を前記更新部へ送信し、
前記更新部は、前記制御部からの更新要求に応じて、前記一の転送先に出力される転送データが前記他の転送先に出力されるように、前記転送先情報を更新する
ことを特徴とする、請求項2又は請求項3記載の情報処理装置。
Depending on the state of the data transfer to the plurality of transfer destination from the switching unit, to together further equipped with a update unit for updating the transfer destination information held in the holding portion,
The control unit, when performing the alternative output processing, transmits an update request for the transfer destination information to the update unit,
The update unit updates the transfer destination information so that transfer data output to the one transfer destination is output to the other transfer destination in response to an update request from the control unit. The information processing apparatus according to claim 2 or 3.
前記データ転送装置は、
前記複数の転送先へのデータ転送の状態に応じて、出力抑止信号を出力する通知部と、
前記受付格納部に格納された転送データを対応する格納部へ順次出力させ、前記通知部から前記一の転送先について前記出力抑止信号を受信すると、前記受付格納部から出力中の転送データの出力が完了してから前記制御部による代替出力処理が完了するまで、前記受付格納部に格納された転送データの前記複数の格納部への出力を抑止させる制御を行なう受付制御部と、をさらに有する
ことを特徴とする、請求項1〜4のいずれか1項記載の情報処理装置。
The data transfer device
A notification unit that outputs an output suppression signal according to a state of data transfer to the plurality of transfer destinations ;
When the transfer data stored in the reception storage unit is sequentially output to the corresponding storage unit and the output suppression signal is received for the one transfer destination from the notification unit, the output of the transfer data being output from the reception storage unit A reception control unit that performs control to suppress output of the transfer data stored in the reception storage unit to the plurality of storage units until the alternative output process by the control unit is completed The information processing apparatus according to any one of claims 1 to 4, wherein the information processing apparatus is characterized.
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送するデータ転送装置であって、
入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部と、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部と、
前記切替部から一の転送経路を介した一の転送先へのデータ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行なう制御部と、
前記複数の格納部に格納される転送データを一括して格納する受付格納部と、
前記複数の転送先へのデータ転送の状態に応じて、前記受付格納部に格納された転送データの前記複数の格納部への格納を抑止する抑止部と、を有する
ことを特徴とする、データ転送装置。
A transmission source device that transmits data and a transmission destination device that receives the data transmitted from the transmission source device, and the data is transmitted via any one of a plurality of different transfer paths. A data transfer device for transferring from a transmission source device to the transmission destination device,
A plurality of storage units that store input transfer data for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device;
A switching unit that selectively switches and outputs the transfer data stored in the plurality of storage units to any of the plurality of transfer destinations;
According to the state of data transfer from the switching unit to one transfer destination via one transfer path, the transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination, A control unit for performing an alternative output process for controlling the switching unit to output to another transfer destination included in the plurality of different transfer paths;
An acceptance storage unit that collectively stores transfer data stored in the plurality of storage units;
And a deterring unit that deters storage of the transfer data stored in the reception storage unit in the plurality of storage units according to a state of data transfer to the plurality of transfer destinations. Transfer device.
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置と、前記送信元装置と前記送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送する1以上のデータ転送装置と、をそなえる情報処理システムにおけるデータ転送方法であって、
入力される転送データを、自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとにそなえられる複数の格納部のうちの、当該転送データの転送先に対応する格納部に格納し、
前記複数の格納部に格納された転送データを前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を取得し、
取得した前記状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力処理を行ない、
前記複数の転送先へのデータ転送の状態に応じて、前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データの前記複数の格納部への格納を抑止する
ことを特徴とする、データ転送方法。
A transmission source device that transmits data, a transmission destination device that receives the data transmitted from the transmission source device, and a plurality of different transfer paths interposed between the transmission source device and the transmission destination device. A data transfer method in an information processing system, comprising: one or more data transfer devices that transfer the data from the transmission source device to the transmission destination device via any of them,
The input transfer data corresponds to a transfer destination of the transfer data among a plurality of storage units provided for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device. Store in the storage,
Acquisition of data transfer status to one transfer destination via one transfer path from a switching unit that selectively switches and outputs the transfer data stored in the plurality of storage units to one of the plurality of transfer destinations And
According to the acquired state, the transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination is output to other transfer destinations included in the plurality of different transfer paths. alternative output process for controlling the switching portion rows that are in,
Storing the transfer data stored in the reception storage unit that collectively stores the transfer data stored in the plurality of storage units in the plurality of storage units according to the state of data transfer to the plurality of transfer destinations A data transfer method characterized by suppressing the data.
データを送信する送信元装置と、前記送信元装置から送信された前記データを受信する送信先装置との間に介設され、複数の異なる転送経路のうちのいずれかを介して前記データを前記送信元装置から前記送信先装置へ転送し、入力される転送データを自データ転送装置に接続される前記送信先装置または他のデータ転送装置を含む転送先ごとに格納する複数の格納部を有するデータ転送装置における制御装置であって、
前記複数の格納部に格納された転送データを、前記複数の転送先のいずれかへ選択的に切り替えて出力する切替部から一の転送経路を介した一の転送先へのデータ転送の状態を管理する状態管理部と、
前記状態管理部が管理する前記データ転送の状態に応じて、前記一の転送先に対応する格納部に格納された前記一の転送先への転送データを、前記複数の異なる転送経路に含まれる他の転送先へ出力するように前記切替部を制御する代替出力制御部と、
前記複数の転送先へのデータ転送の状態に応じて、前記複数の格納部に格納される転送データを一括して格納する受付格納部に格納された転送データの前記複数の格納部への格納を抑止する抑止部に対して、前記受付格納部に格納された転送データの前記複数の格納部への格納を再開させる受付格納制御部と、を有する
ことを特徴とする、制御装置。
A transmission source device that transmits data and a transmission destination device that receives the data transmitted from the transmission source device, and the data is transmitted via any one of a plurality of different transfer paths. A plurality of storage units that transfer data from a transmission source device to the transmission destination device and store input transfer data for each transfer destination including the transmission destination device or other data transfer devices connected to the own data transfer device. A control device in a data transfer device,
The transfer data stored in the plurality of storage units is selectively switched to one of the plurality of transfer destinations and output from the switching unit to one transfer destination via one transfer path. A state management unit to manage,
Transfer data to the one transfer destination stored in the storage unit corresponding to the one transfer destination is included in the plurality of different transfer paths according to the state of the data transfer managed by the state management unit. An alternative output control unit that controls the switching unit to output to another transfer destination;
Storing the transfer data stored in the reception storage unit that collectively stores the transfer data stored in the plurality of storage units in the plurality of storage units according to the state of data transfer to the plurality of transfer destinations And a reception storage control unit for resuming storage of the transfer data stored in the reception storage unit in the plurality of storage units with respect to a suppression unit that suppresses the transfer .
JP2015531769A 2013-12-02 2013-12-02 Information processing apparatus, data transfer apparatus, data transfer method, and control apparatus Active JP6070848B2 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2013/082343 WO2015083212A1 (en) 2013-12-02 2013-12-02 Information processing device, data transfer device, data transfer method, and control device

Publications (2)

Publication Number Publication Date
JP6070848B2 true JP6070848B2 (en) 2017-02-01
JPWO2015083212A1 JPWO2015083212A1 (en) 2017-03-16

Family

ID=53273010

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015531769A Active JP6070848B2 (en) 2013-12-02 2013-12-02 Information processing apparatus, data transfer apparatus, data transfer method, and control apparatus

Country Status (2)

Country Link
JP (1) JP6070848B2 (en)
WO (1) WO2015083212A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11720404B2 (en) 2020-07-16 2023-08-08 Samsung Electronics Co., Ltd. Systems and methods for arbitrating access to a shared resource

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269937A (en) * 1996-03-30 1997-10-14 Nec Corp Method and device for transmitting packet in inter-processor communication
JPH1132057A (en) * 1997-07-11 1999-02-02 Nec Corp Switch device
JP2006039677A (en) * 2004-07-22 2006-02-09 Fujitsu Ltd Cross bar

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269937A (en) * 1996-03-30 1997-10-14 Nec Corp Method and device for transmitting packet in inter-processor communication
JPH1132057A (en) * 1997-07-11 1999-02-02 Nec Corp Switch device
JP2006039677A (en) * 2004-07-22 2006-02-09 Fujitsu Ltd Cross bar

Also Published As

Publication number Publication date
WO2015083212A1 (en) 2015-06-11
JPWO2015083212A1 (en) 2017-03-16

Similar Documents

Publication Publication Date Title
US7558895B2 (en) Interconnect logic for a data processing apparatus
US8855112B2 (en) NoC system and input switching device
JP4808514B2 (en) Communication node architecture in a global asynchronous network-on-chip system
EP2741456B1 (en) Method, device and system for achieving message transmission of pcie switch network
EP0404337B1 (en) High-speed mesh connected local area network
US7493426B2 (en) Data communication method and apparatus utilizing programmable channels for allocation of buffer space and transaction control
JP5104465B2 (en) Transfer device and packet transmission device
EP1708076B1 (en) Storage system and storage control method
US8340112B2 (en) Implementing enhanced link bandwidth in a headless interconnect chip
TWI603205B (en) Traffic control on an on-chip network
JP2010218364A (en) Information processing system, and communication control apparatus and method
TW201944258A (en) System and method for asynchronous, multiple clock domain data streams coalescing and resynchronization
US10423333B2 (en) System and method for scalable processing of abort commands in a host bus adapter system
JP5842174B2 (en) Bus control device, relay device and bus system
JP6070848B2 (en) Information processing apparatus, data transfer apparatus, data transfer method, and control apparatus
KR100936203B1 (en) Data processing management apparatus, mode management apparatus and mode management method
JP6847334B2 (en) Network equipment, network systems, network methods, and network programs
JPH07262151A (en) Parallel processor system and packet abandoning method adapted to this system
JP2010211458A (en) Computer system and i/o control method
JP6699249B2 (en) Semiconductor device, information processing device, semiconductor device logic reconfiguration method, and semiconductor device logic reconfiguration program
JP2008204335A (en) Semiconductor storage device
JP5022159B2 (en) Interface device, communication device, communication system, communication control method, and communication control program
WO2010058693A1 (en) Packet transmission device, inter-processor communication system, parallel processor system, and packet transmission method
JP5287975B2 (en) Information processing device
JP6559390B2 (en) Transfer device, transfer method, and transfer program

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161021

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20161206

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20161219

R150 Certificate of patent or registration of utility model

Ref document number: 6070848

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150