JP4984051B2 - Dynamic degeneration apparatus and method - Google Patents

Dynamic degeneration apparatus and method Download PDF

Info

Publication number
JP4984051B2
JP4984051B2 JP2007058457A JP2007058457A JP4984051B2 JP 4984051 B2 JP4984051 B2 JP 4984051B2 JP 2007058457 A JP2007058457 A JP 2007058457A JP 2007058457 A JP2007058457 A JP 2007058457A JP 4984051 B2 JP4984051 B2 JP 4984051B2
Authority
JP
Japan
Prior art keywords
transaction
routing
identification information
service processor
master device
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.)
Expired - Fee Related
Application number
JP2007058457A
Other languages
Japanese (ja)
Other versions
JP2008225534A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP2007058457A priority Critical patent/JP4984051B2/en
Publication of JP2008225534A publication Critical patent/JP2008225534A/en
Application granted granted Critical
Publication of JP4984051B2 publication Critical patent/JP4984051B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、マスターデバイスとスレーブデバイスとに二重化されたI/Oデバイスの動的縮退装置、方法に関する。   The present invention relates to a dynamic degeneration apparatus and method for an I / O device that is duplicated into a master device and a slave device.

PCIデバイスに代表されるI/Oコントローラデバイスを二重化し、システムの耐故障性を向上させるものとして、従来からフォルトトレラントコンピュータなどが知られる。フォルトトレラントコンピュータなどでは、二重化されたI/Oデバイスへのアクセスをソフトウェアのデバイスドライバ層で吸収し、上位層のオペレーティングシステムやアプリケーションからは単一のI/Oデバイスとして見えるようにする手法が採用されている。この方式の問題点は、二重化を実現するために、専用のデバイスドライバが必要となることである。   Conventionally, a fault-tolerant computer or the like is known as a device that doubles an I / O controller device typified by a PCI device and improves fault tolerance of the system. For fault-tolerant computers, etc., a method is adopted in which access to the duplicated I / O device is absorbed by the device driver layer of the software so that it can be seen as a single I / O device from the upper layer operating system and applications. Has been. The problem with this method is that a dedicated device driver is required to realize duplexing.

この問題点を解決するために、I/Oデバイスの二重化をハードウェア層で実現するようにしたシステムも知られる。しかし、ハードウェア層の機能で二重化されたI/Oデバイスを、障害などを契機に縮退する場合には、システムを一旦ダウンさせ、一方を切り離した後に再立ち上げを行う方法が採られている。この縮退方法は、システムの耐故障性の観点から問題となっている。   In order to solve this problem, there is also known a system in which duplication of I / O devices is realized by a hardware layer. However, when the I / O device duplexed by the hardware layer function is degraded due to a failure or the like, a method is taken in which the system is once shut down and then restarted after one of them is disconnected. . This degeneration method is problematic from the viewpoint of fault tolerance of the system.

特開2000−148523号公報(特許文献1参照)には「二重化メモリ装置」の発明が記載されている。この二重化メモリ装置においては、共有メモリ部は、バスで接続した複数のプロセッサが扱うデータを運用系メモリ及び待機系メモリに二重化して格納する。障害検知部は、前記運用系メモリでの障害発生を検知する。メモリ切替部は、前記障害検知部が障害発生を検知した場合に、前記バスの使用権を調停することなく前記データの格納先を前記運用系メモリから前記待機系メモリに自発的に切り替える。   Japanese Patent Laying-Open No. 2000-148523 (see Patent Document 1) describes the invention of a “double memory device”. In this dual memory device, the shared memory unit stores data handled by a plurality of processors connected by a bus in duplicate in the active memory and the standby memory. The failure detection unit detects occurrence of a failure in the operational memory. The memory switching unit voluntarily switches the data storage destination from the active memory to the standby memory without arbitrating the right to use the bus when the failure detection unit detects the occurrence of a failure.

特開2001−331467号公報(特許文献2参照)には「計算機システム」の発明が記載されている。この計算機システムは、独立して演算処理が可能な複数の計算機と、記憶装置と、ネットワークとを備える。記憶装置は、当該複数の計算機が共通に利用するデータを記憶する共有記憶領域を提供する。ネットワークは、これら複数の計算機および記憶装置を接続する。各計算機はシステムメモリ上に上記記憶装置に対応するエリアを確保するとともに、当該エリアへのアクセスに応じて上記共有記憶領域に対するアクセスを行う。サーバ装置を、上記記憶装置とネットワークとの間に設ける。サーバ装置は、上記共有記憶領域を管理して上記各計算機からのアクセスに応じた処理を行うとともに、各計算機の動作状態を監視し、その監視結果に応じて各計算機による当該共有記憶領域への書込みの許可/禁止を制御する。   Japanese Patent Laid-Open No. 2001-331467 (see Patent Document 2) describes the invention of a “computer system”. This computer system includes a plurality of computers that can perform arithmetic processing independently, a storage device, and a network. The storage device provides a shared storage area for storing data commonly used by the plurality of computers. The network connects these multiple computers and storage devices. Each computer secures an area corresponding to the storage device on the system memory, and accesses the shared storage area in response to the access to the area. A server device is provided between the storage device and the network. The server device manages the shared storage area and performs processing according to the access from each computer, monitors the operating state of each computer, and according to the monitoring result, each computer accesses the shared storage area. Control permission / prohibition of writing.

特開平5−313831号公報(特許文献3参照)には「二重化ボリュームの制御方式」の発明が記載されている。この二重化ボリュームの制御方式においては、二重化されたボリュームに対してアクセスを行いボリュームの制御を行う。二重化論理ボリュームアドレス格納手段と二重化ボリュームの状態を示す運用状態格納手段とを備える。これらの手段内の情報に基づいて、前記二重化ボリュームに対する制御を実行する。すなわち、二重化し、常に両系の状態を同期して運用する形態のI/Oデバイスの片系に障害が発生した際に、障害系を切り離して継続運用する際のオーバーヘッドを軽減するものである。   Japanese Patent Laying-Open No. 5-313831 (see Patent Document 3) describes an invention of a “duplex volume control system”. In this duplex volume control method, the duplex volume is accessed to control the volume. A redundant logical volume address storage means; and an operational status storage means indicating the status of the redundant volume. Based on the information in these means, control for the duplex volume is executed. In other words, when a failure occurs in one system of an I / O device that is duplexed and always operates in synchronization with the status of both systems, the overhead when separating the faulty system and continuing operation is reduced. .

特開平11−242608号公報(特許文献4参照)には「二重化制御システム」の発明が記載されている。この二重化制御システムは、二以上の装置から重複したデータが周期的に送信される場合に、前記装置のうち一のマスタとなる装置からのデータを採用する二重化制御システムである。二以上のメモリ手段は、前記二以上の装置それぞれに対応して設けられ、その各々が対応する装置から送信されたデータを格納する。マスタ指定手段は、前記二以上のメモリ手段のうち一つを前記マスタからのデータを格納するものとして指定するとともに、当該メモリ手段に対応する装置からのデータ到着が遅れた場合には、他のメモリ手段をマスタからのデータを格納するものとして指定し直す。   Japanese Patent Laid-Open No. 11-242608 (see Patent Document 4) describes the invention of a “duplex control system”. This redundant control system is a redundant control system that employs data from a master device among the devices when duplicate data is periodically transmitted from two or more devices. Two or more memory means are provided corresponding to each of the two or more devices, each of which stores data transmitted from the corresponding device. The master designating means designates one of the two or more memory means as storing data from the master, and when data arrival from a device corresponding to the memory means is delayed, Redesignate the memory means as storing data from the master.

特開2000−148523号公報JP 2000-148523 A 特開2001−331467号公報JP 2001-331467 A 特開平5−313831号公報JP-A-5-313831 特開平11−242608号公報Japanese Patent Laid-Open No. 11-242608

本発明の課題は、トランザクションをルーティングする際に用いられるルーティングテーブルに、I/Oデバイスの二重化が有効であることを示す有効情報と、当該有効情報に関連付けられたスレーブデバイスへの経路を示すスレーブデバイス識別情報とを追加することにより、ハードウェア・レベルでI/Oデバイスの二重化を実現すると共に、マスターデバイスの動的縮退を可能とすることである。   An object of the present invention is to provide valid information indicating that duplication of an I / O device is effective in a routing table used when routing a transaction, and a slave indicating a route to a slave device associated with the effective information. By adding the device identification information, the I / O device can be duplicated at the hardware level and the master device can be dynamically degenerated.

以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。   [Means for Solving the Problems] will be described below using the numbers and symbols used in [Best Mode for Carrying Out the Invention]. These numbers and symbols are added in parentheses in order to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].

本発明は、マスターデバイス(30)とスレーブデバイス(40)とに二重化されたI/Oデバイスの動的縮退装置である。トランザクションルーティングコントローラ(143)は、トランザクションを受信し、ルーティングし、送出する。ルーティングテーブル(142)は、I/Oデバイスの二重化が有効であることを示す有効情報(54)と、当該有効情報(54)に関連付けられた二つの識別情報であって、前記マスターデバイス(30)への経路を示すマスターデバイス識別情報(53)と、前記スレーブデバイス(40)への経路を示すスレーブデバイス識別情報(55)とを有する。サービスプロセッサ(21)は、前記トランザクションルーティングコントローラ(143)と、前記ルーティングテーブル(142)とを制御する。   The present invention is a dynamic degeneration apparatus for an I / O device that is duplicated by a master device (30) and a slave device (40). The transaction routing controller (143) receives, routes, and sends a transaction. The routing table (142) includes valid information (54) indicating that duplication of the I / O device is valid, and two pieces of identification information associated with the valid information (54), and the master device (30). Master device identification information (53) indicating a route to the slave device, and slave device identification information (55) indicating a route to the slave device (40). The service processor (21) controls the transaction routing controller (143) and the routing table (142).

本発明による動的縮退装置においては、前記ルーティングテーブル(142)は、ルーティング・レコードから成る。当該ルーティング・レコードは、前記有効ビット情報(54)を格納する第一のフィールドと、前記マスターデバイス識別情報(53)を格納する第二のフィールドと、前記スレーブデバイス識別情報(55)を格納する第三のフィールドとを具備する。本発明による動的縮退装置においては、前記I/OデバイスがマルチファンクションI/Oデバイスの場合には、前記ルーティング・テーブル(142)は、前記有効情報(54)と、当該有効情報(54)に関連付けられる前記マスターデバイス識別情報(53)と、前記スレーブデバイス識別情報(55)とを、ファンクション単位に具備する。本発明による動的縮退装置においては、前記サービスプロセッサ(21)は、I/Oデバイスの二重化が有効である場合には、メモリマップドI/O空間に、前記マスターデバイス(30)と前記スレーブデバイス(40)とに共用される一つのみのアドレス領域を割り当てる。   In the dynamic degeneration apparatus according to the present invention, the routing table (142) includes a routing record. The routing record stores a first field for storing the valid bit information (54), a second field for storing the master device identification information (53), and a second field for storing the slave device identification information (55). And three fields. In the dynamic degeneration apparatus according to the present invention, when the I / O device is a multifunction I / O device, the routing table (142) includes the valid information (54) and the valid information (54). The master device identification information (53) associated with the slave device identification information (55) and the slave device identification information (55) are provided in function units. In the dynamic degeneration apparatus according to the present invention, the service processor (21), when duplication of I / O devices is effective, in the memory mapped I / O space, the master device (30) and the slave device. (40) is allocated only one address area.

本発明による動的縮退装置においては、前記トランザクションルーティングコントローラ(143)は、トランザクションを受信したときに、前記メモリマップドI/O空間を参照することにより、当該トランザクションの宛先となるI/Oデバイスを割り出す。また、前記ルーティングテーブル(142)を参照することにより、当該I/Oデバイスに係る前記有効情報(54)が、有効を示していた場合には、前記マスターデバイス識別情報(53)と、前記スレーブデバイス識別情報(55)とに基づいて、前記マスターデバイス(30)と前記スレーブデバイス(40)との双方に、前記トランザクションを送出する。本発明による動的縮退装置においては、前記トランザクションルーティングコントローラ(143)は、前記スレーブデバイス(40)から、リプライ・トランザクションを受信したときに、当該リプライ・トランザクションのルーティングを行うことなく、破棄する。   In the dynamic degeneration apparatus according to the present invention, when the transaction routing controller (143) receives a transaction, the transaction routing controller (143) refers to the memory-mapped I / O space to thereby make an I / O device as a destination of the transaction. Is determined. When the valid information (54) related to the I / O device indicates valid by referring to the routing table (142), the master device identification information (53) and the slave device Based on the identification information (55), the transaction is sent to both the master device (30) and the slave device (40). In the dynamic degeneration apparatus according to the present invention, when the transaction routing controller (143) receives a reply transaction from the slave device (40), the transaction routing controller (143) discards the reply transaction without performing routing.

本発明による動的縮退方法においては、上記の動的縮退装置を使用して、二重化されたI/Oデバイスからマスターデバイス(30)を動的に縮退する方法である。受信するステップは、前記トランザクションルーティングコントローラ(143)が、トランザクションを受信する。ルーティングするステップは、前記トランザクションルーティングコントローラ(143)が、トランザクションをルーティングする。参照するステップは、前記ルーティングテーブル(142)を参照する。送出するステップは、ルーティングの宛先がI/Oデバイスであって、当該I/Oデバイスに係る前記有効情報(54)が有効を示していた場合には、前記トランザクションルーティングコントローラ(143)が、前記マスターデバイス識別情報(53)と、前記スレーブデバイス識別情報(55)とに基づいて、前記マスターデバイス(30)と前記スレーブデバイス(40)との双方に、前記トランザクションを送出する。破棄するステップは、前記トランザクションルーティングコントローラ(143)が、前記スレーブデバイス(40)から、リプライ・トランザクションを受信したときに、当該リプライ・トランザクションのルーティングを行うことなく、破棄する。二重化されたI/Oデバイスからマスターデバイス(30)を縮退するときには、以下のステップを実行する。抑止するステップは、前記サービスプロセッサ(21)が、前記送出するステップによる送出を抑止する。待ち合わせを行うステップは、一定時間待ち合わせを行う。縮退するステップは、前記サービスプロセッサ(21)が、前記マスターデバイス(30)を縮退する。更新するステップは、前記サービスプロセッサ(21)が、当該ルーティングテーブル(142)を更新する。解除するステップは、前記サービスプロセッサ(21)が、前記抑止するステップによる抑止を解除する。   The dynamic degeneration method according to the present invention is a method for dynamically degenerating a master device (30) from a duplexed I / O device using the above-described dynamic degeneration apparatus. In the receiving step, the transaction routing controller (143) receives a transaction. In the routing step, the transaction routing controller (143) routes the transaction. The step of referring refers to the routing table (142). In the sending step, when the routing destination is an I / O device and the validity information (54) related to the I / O device indicates validity, the transaction routing controller (143) Based on the master device identification information (53) and the slave device identification information (55), the transaction is sent to both the master device (30) and the slave device (40). In the discarding step, when the transaction routing controller (143) receives a reply transaction from the slave device (40), it is discarded without routing the reply transaction. When degenerating the master device (30) from the duplexed I / O device, the following steps are executed. In the step of inhibiting, the service processor (21) inhibits transmission by the transmitting step. The step of waiting is to wait for a certain time. In the step of degeneration, the service processor (21) degenerates the master device (30). In the updating step, the service processor (21) updates the routing table (142). In the releasing step, the service processor (21) releases the inhibition by the inhibiting step.

本発明による動的縮退方法においては、上記の動的縮退装置を使用して、二重化されたI/Oデバイスからマスターデバイス(30)を動的に縮退する方法である。抑止するステップは、前記サービスプロセッサ(21)が、前記トランザクションルーティングコントローラ(143)によるトランザクションの送出を抑止する。待ち合わせを行うステップは、一定時間待ち合わせを行う。縮退するステップは、前記サービスプロセッサ(21)が、前記マスターデバイス(30)を縮退する。更新するステップは、前記サービスプロセッサ(21)が、前記ルーティングテーブル(142)を更新する。解除するステップは、前記サービスプロセッサ(21)が、前記抑止するステップによる抑止を解除する。   The dynamic degeneration method according to the present invention is a method for dynamically degenerating a master device (30) from a duplexed I / O device using the above-described dynamic degeneration apparatus. In the step of inhibiting, the service processor (21) inhibits the transaction routing controller (143) from sending out a transaction. The step of waiting is to wait for a certain time. In the step of degeneration, the service processor (21) degenerates the master device (30). In the updating step, the service processor (21) updates the routing table (142). In the releasing step, the service processor (21) releases the inhibition by the inhibiting step.

本発明によれば、トランザクションをルーティングする際に用いられるルーティングテーブルに、I/Oデバイスの二重化が有効であることを示す有効情報と、当該有効情報に関連付けられたスレーブデバイスへの経路を示すスレーブデバイス識別情報とを追加することにより、ハードウェア・レベルでI/Oデバイスの二重化を実現すると共に、マスターデバイスの動的縮退を可能とすることができる。   According to the present invention, in the routing table used when routing a transaction, valid information indicating that duplication of an I / O device is valid, and a slave indicating a route to a slave device associated with the valid information By adding the device identification information, the I / O device can be duplicated at the hardware level, and the master device can be dynamically degenerated.

I/Oデバイスの二重化をハードウェア層で実現する場合、例えば、メモリを搭載したI/Oデバイスを二重化する場合を考えると、プロセッサからI/Oデバイス上のメモリへの書き込みを複製して、双方のI/Oデバイスへ書き込み、I/Oデバイスからプロセッサへの読み出しはいずれか一方のI/Oデバイスからのみアクセスする機構をチップセットに実装する方法が考えられる。この方法はI/Oデバイスをファイバーチャネル(FibreChannel)やSCSI(Small Computer System Interface)などのインタフェースに置き換え、各々の先に同一諸元のストレージデバイスを接続した構成に置き換えてもうまく機能するであろう。   When implementing duplexing of I / O devices in the hardware layer, for example, considering the duplexing of I / O devices equipped with memory, the write from the processor to the memory on the I / O device is replicated, For writing to both I / O devices and reading from the I / O devices to the processor, a method of mounting a mechanism for accessing from only one of the I / O devices in a chip set is conceivable. This method works well even when I / O devices are replaced with interfaces such as Fiber Channel (FibreChannel) or SCSI (Small Computer System Interface), and each is replaced with a storage device of the same specifications. Let's go.

しかしながら、この方式の問題点は、二系統あるチップセットからメモリやストレージデバイスまでの経路の何れかで障害が発生した場合に、システムの運用を継続したまま動的にその経路を縮退させることが困難な点にある。その理由は、一般に双方のメモリやストレージデバイスまでのアクセスレイテンシ(Access Latency)は一致しないため、任意のタイミングで片方の経路を縮退させると、仕掛かり中のトランザクションが失われてシステムの継続運用ができなくなる可能性があるためである。   However, the problem with this method is that if a failure occurs in one of the paths from the two chipset systems to the memory or storage device, the path can be dynamically degenerated while continuing to operate the system. It is in a difficult point. The reason is that the access latency to both memory and storage devices generally does not match, so if one path is degenerated at any timing, the in-process transaction is lost and the system continues to operate. This is because it may not be possible.

このようなI/Oデバイスの動的縮退時に関わる問題は、I/OデバイスがシステムのコアI/O、すなわちシステム構成上必須となるリアルタイムクロック(RTC)や割り込みコントローラ、不揮発メモリ(NvRAM)を集約したマルチファンクションI/Oカードではさらに深刻になる。例えば、マルチファンクションI/Oカードにおける不揮発メモリのみを二重化し、他のファンクションは二重化しないことを考えると、上記の方法では到底対応できない。   The problem associated with such dynamic degradation of I / O devices is that the I / O device has a system core I / O, that is, a real-time clock (RTC), an interrupt controller, and a non-volatile memory (NvRAM) that are essential for the system configuration It becomes even more serious with integrated multi-function I / O cards. For example, considering that only the non-volatile memory in the multi-function I / O card is duplicated and other functions are not duplicated, the above method cannot be used at all.

図1に、本実施の形態におけるコンピュータシステムのブロック構成を示す。図1は、コンピュータシステム内で二重化されたI/Oデバイス、特に一つのI/Oデバイスに複数の機能を兼ね備えたマルチファンクションPCIデバイスをマスター・スレーブ方式で二重化した構成になっている。本実施の形態では、マルチファンクションI/Oデバイスをファンクション単位に二重化すること、及び、システム運用中に動的にマスターデバイスからスレーブデバイスへの切り替えを実現することが可能になる。   FIG. 1 shows a block configuration of a computer system in this embodiment. FIG. 1 shows a configuration in which a duplexed I / O device in a computer system, particularly a multifunction PCI device having a plurality of functions in one I / O device, is duplexed in a master / slave system. In this embodiment, it is possible to duplicate the multifunction I / O device in function units and to dynamically switch from the master device to the slave device during system operation.

図1において、プロセッサ(Central Processing Unit)11,12は、同一のフロントサイドバス(Front Side Bus)13に接続され、対称型マルチプロセッシング(Symmetric Multi Processing)構成を形成している。また、FSB13に接続されたメモリコントローラ14は、CPU11,12、メモリ15、I/Oデバイス30,40間のトランザクションのルーティングを司る。さらに、メモリコントローラ14には、メモリ15、複数のI/Oコントローラ16,17が接続されている。I/Oコントローラ16,17は、メモリコントローラ14と、複数のPCIバス(Peripheral Components Interconnect Bus)18,19とを接続するバスブリッジである。PCIバス18にはI/Oデバイス30が、また、PCIバス19にはI/Oデバイス40が、それぞれ接続されている。I/Oデバイス30は、不揮発メモリ(Nonvolatile RAM)31と、リアルタイムクロック(Real Time Clock)32と、外部I/Oインタフェース33とを実装したマルチファンクションI/Oデバイスである。I/Oデバイス40も、I/Oデバイス30と同等の構成要素41〜43を有する。外部I/Oインタフェース33,43は、それぞれ外部入出力デバイスに接続される。   In FIG. 1, processors (Central Processing Units) 11 and 12 are connected to the same front side bus 13 to form a symmetric multiprocessing configuration. The memory controller 14 connected to the FSB 13 manages transaction routing among the CPUs 11 and 12, the memory 15, and the I / O devices 30 and 40. Further, a memory 15 and a plurality of I / O controllers 16 and 17 are connected to the memory controller 14. The I / O controllers 16 and 17 are bus bridges that connect the memory controller 14 and a plurality of PCI components (Peripheral Components Interconnect Bus) 18 and 19. An I / O device 30 is connected to the PCI bus 18, and an I / O device 40 is connected to the PCI bus 19. The I / O device 30 is a multifunction I / O device in which a non-volatile memory (Nonvolatile RAM) 31, a real time clock (Real Time Clock) 32, and an external I / O interface 33 are mounted. The I / O device 40 also has the same constituent elements 41 to 43 as the I / O device 30. The external I / O interfaces 33 and 43 are each connected to an external input / output device.

また、図1のコンピュータシステムには、システムの運用制御を司るサービスプロセッサ(Service Processor)21が搭載されている。このサービスプロセッサ21は、メモリコントローラ14をはじめ、システム内の各要素に対する初期化、モード設定、リセットなどの制御を行うことができる。なお、図中には、本実施の形態の説明に直接関係しない通信経路などは図示していない。   In addition, the computer system shown in FIG. 1 is equipped with a service processor 21 that controls the operation of the system. The service processor 21 can control initialization, mode setting, reset, and the like for each element in the system including the memory controller 14. In the figure, communication paths that are not directly related to the description of the present embodiment are not shown.

本実施の形態において、コンピュータシステムに接続されるプロセッサ、メモリの数は本願発明の要件に直接関与するものではなく、任意の構成において本願発明は実施可能であることは明らかである。同様に、I/Oコントローラの数、I/Oコントローラに接続されるPCIバスの数も本願発明の権利範囲に関与するものではない。また、PCIバスの代わりにPCI−XバスやPCIエクスプレス(Express)バスの他、任意のI/Oバスを用いることも可能である。さらに、I/Oデバイスの機能・構成も本実施の形態に記載する機能・構成に限定するものではない。   In the present embodiment, the number of processors and memories connected to the computer system does not directly relate to the requirements of the present invention, and it is apparent that the present invention can be implemented in any configuration. Similarly, the number of I / O controllers and the number of PCI buses connected to the I / O controller are not involved in the scope of rights of the present invention. In addition to the PCI bus, any I / O bus can be used in addition to the PCI-X bus and the PCI express bus. Furthermore, the functions and configurations of the I / O devices are not limited to the functions and configurations described in this embodiment.

図2に、メモリコントローラ14の機能ブロック図を示す。図2を参照すると、メモリコントローラ14と、コンピュータシステム内の各要素13,15〜17とを接続するインタフェースが、FSBインタフェース141、メモリインタフェース144、I/Oインタフェース145,146として図示されている。各インタフェース141,144〜146を結ぶ位置に存在するのがトランザクションルーティングコントローラ143である。トランザクションルーティングコントローラ143は、各インタフェース141,144〜146から入力されるメモリリード・メモリライト・リプライ・割り込み等のトランザクションをルーティングし、適切なインタフェース141,144〜146へ出力する。これらの各種トランザクションに含まれる情報は、本願発明の解説範囲を超えるため詳細には説明しないが、メモリアクセスのターゲットアドレス、リプライデータ、リプライや割り込みのソースデバイスID、ターゲットデバイスIDなどである。また、トランザクションルーティングコントローラ143は、ルーティング経路を決定するためにルーティングテーブル142を参照する。   FIG. 2 shows a functional block diagram of the memory controller 14. Referring to FIG. 2, interfaces connecting the memory controller 14 and the elements 13 and 15 to 17 in the computer system are illustrated as an FSB interface 141, a memory interface 144, and I / O interfaces 145 and 146. A transaction routing controller 143 exists at a position connecting the interfaces 141 and 144 to 146. The transaction routing controller 143 routes transactions such as memory read, memory write, reply, and interrupt input from the interfaces 141 and 144 to 146, and outputs them to appropriate interfaces 141 and 144 to 146. The information included in these various transactions is beyond the scope of the present invention and will not be described in detail, but is a memory access target address, reply data, reply and interrupt source device ID, target device ID, and the like. Further, the transaction routing controller 143 refers to the routing table 142 in order to determine a routing route.

図3に、ルーティングテーブル142に格納されるルーティング・レコードの形式を示す。ルーティングテーブル142は、図示するような一連の情報を含むルーティング・レコードから成るテーブルである。すなわち、物理主記憶空間の各々のアドレスレンジに対するトランザクションのルーティング情報を格納したレコードからなるテーブルである。図1のコンピュータシステムは、メモリ15の他、I/Oデバイス30,40上のレジスタやメモリデバイスを物理記憶空間上にメモリマップドI/O(Memory-mapped I/O:図面においては、「MMIO」とも称す。)としてマッピングする構成を採っている。ルーティングテーブル142の一レコードに格納される情報は、これら物理記憶空間上にマッピングされた何れかのデバイスへのルーティング経路情報である。   FIG. 3 shows the format of the routing record stored in the routing table 142. The routing table 142 is a table composed of routing records including a series of information as shown in the figure. That is, the table consists of records storing transaction routing information for each address range in the physical main storage space. In the computer system of FIG. 1, in addition to the memory 15, registers and memory devices on the I / O devices 30 and 40 are placed on a physical storage space in a memory-mapped I / O (Memory-mapped I / O: It is also referred to as “MMIO”.). Information stored in one record of the routing table 142 is routing path information to any device mapped in the physical storage space.

図3のルーティング・レコードの個々のフィールドを見ると、アドレスオフセット51と、アドレスレンジ52と、マスターデバイスID53とが含まれるほか、有効ビット(VaIid)54と、スレーブデバイスID55とが追加されている。アドレスオフセット51およびアドレスレンジ52は、プロセッサ及びI/Oデバイスからのメモリアクセスに対し、当該トランザクションをルーティングすべきアドレスレンジを定義する。アドレスオフセット51は、連続したメモリ領域ごとにその領域における先頭アドレスを示す。アドレスレンジ52は、メモリ領域のサイズを示す。マスターデバイスID53は、その物理記憶空間の当該アドレスにマッピングされたメモリ15やI/Oデバイス30,40へのルーティング経路情報となる。有効ビット54は、マッピングされたデバイスが二重化されており、二重化されたスレーブデバイスへのルーティングが有効である(VaIid)ことを示す。スレーブデバイスID55は、二重化されたスレーブI/Oデバイスへのルーティング経路情報となる。   Looking at the individual fields of the routing record in FIG. 3, an address offset 51, an address range 52, and a master device ID 53 are included, and a valid bit (Vaid) 54 and a slave device ID 55 are added. The address offset 51 and the address range 52 define an address range to which the transaction is routed for memory access from the processor and the I / O device. The address offset 51 indicates the head address in each continuous memory area. The address range 52 indicates the size of the memory area. The master device ID 53 is routing path information to the memory 15 and the I / O devices 30 and 40 mapped to the address in the physical storage space. The valid bit 54 indicates that the mapped device is duplicated and routing to the duplicated slave device is valid (Vaid). The slave device ID 55 becomes routing path information to the duplicated slave I / O device.

本実施の形態では、I/Oデバイスをマスター・スレーブ方式で二重化する際に、マスターデバイス30へのトランザクションを、トランザクションルーティングコントローラ143にて複製する。そして、当該トランザクションを、マスターデバイス30と、スレーブデバイス40との双方へ送出する。複製のためのルーティング情報を、メモリコントローラ14に実装するルーティングテーブル142に持たせている。   In the present embodiment, when the I / O device is duplexed by the master / slave method, the transaction to the master device 30 is duplicated by the transaction routing controller 143. Then, the transaction is sent to both the master device 30 and the slave device 40. Routing information for duplication is provided in the routing table 142 mounted on the memory controller 14.

図2において、トランザクションルーティングコントローラ143は、プロセッサ11,12側のFSBインタフェース141およびI/Oデバイス30,40側のI/Oインタフェース145,146からのトランザクションを受け付ける。当該トランザクションがメモリアクセスのトランザクションであれば、ルーティングテーブル142を参照して、当該トランザクションのターゲットデバイスを決定する。そして、そのターゲットデバイスに向けたインタフェースへトランザクションを送出する。さて、ルーティングテーブル142を参照したとき、当該トランザクションの送出先デバイスが二重化されたI/Oデバイスであり、有効なスレーブデバイスが存在するか否か、すなわちスレーブデバイスへのルーティングが有効であるか否かが判明する。その結果、スレーブデバイスへのルーティングが有効である場合には、当該トランザクションをマスターデバイスとスレーブデバイスとに向けて、それぞれのI/Oインタフェース145,146へ送出する。   2, the transaction routing controller 143 receives transactions from the FSB interface 141 on the processors 11 and 12 side and the I / O interfaces 145 and 146 on the I / O devices 30 and 40 side. If the transaction is a memory access transaction, the target device of the transaction is determined with reference to the routing table 142. Then, the transaction is sent to the interface directed to the target device. Now, when the routing table 142 is referred to, whether or not the transaction destination device is a duplexed I / O device and there is a valid slave device, that is, whether or not routing to the slave device is valid. It turns out. As a result, when the routing to the slave device is valid, the transaction is sent to the I / O interfaces 145 and 146 toward the master device and the slave device.

さらに、トランザクションルーティングコントローラ143が、FSBインタフェース141、I/Oインタフェース145、146もしくはメモリインタフェース144からメモリアクセスに対するリプライトランザクションを受け付けた場合にも、ルーティングテーブル142を参照する。そして、当該リプライトランザクションを送出したデバイスが有効なスレーブデバイスであることが判明した場合には、当該リプライトランザクションを破棄する。そうでない場合は、リプライトランザクションが指示するターゲットデバイスへルーティングする。   Further, when the transaction routing controller 143 receives a reply transaction for memory access from the FSB interface 141, the I / O interfaces 145 and 146, or the memory interface 144, the routing table 142 is referred to. When it is determined that the device that sent the reply transaction is a valid slave device, the reply transaction is discarded. Otherwise, route to the target device indicated by the reply transaction.

このように、本実施の形態では、二重化されたI/Oデバイスに対するメモリアクセスを、トランザクションルーティングコントローラ143にて複製し、それぞれのデバイスへ向けて送出する。よって、マスターデバイスに対する単一のメモリアクセスで、マスター・スレーブ両方のデバイスへのアクセスを実現することができる。   As described above, in this embodiment, the memory access to the duplexed I / O device is duplicated by the transaction routing controller 143 and transmitted to each device. Therefore, it is possible to realize access to both the master and slave devices with a single memory access to the master device.

以上、メモリコントローラ14の動作概要を説明した。メモリコントローラ14の動作を更に詳述する。まず始めに、システム立ち上げ時の初期設定方法について説明する。図1に示すように、I/Oデバイス30,40を二重化する。このとき、I/Oデバイス30をマスターデバイスとし、I/Oデバイス40をスレーブデバイスとする設定が必要である。この設定は、システムの立ち上げ時にサービスプロセッサ21からルーティングテーブル142に対し、表1に記載するような情報を書き込むことにより実現される。   The outline of the operation of the memory controller 14 has been described above. The operation of the memory controller 14 will be further described in detail. First, an initial setting method at system startup will be described. As shown in FIG. 1, the I / O devices 30 and 40 are duplexed. At this time, it is necessary to set the I / O device 30 as a master device and the I / O device 40 as a slave device. This setting is realized by writing information as shown in Table 1 from the service processor 21 to the routing table 142 when the system is started up.

Figure 0004984051
Figure 0004984051

表1の設定内容を詳細に説明する。表1の上方には、I/Oデバイス30に対する設定項目が三レコード分定義されている。図1では、I/Oデバイス30は、三種のファンクションを搭載したマルチファンクションI/Oカードであるので、個々のファンクションに対応するメモリマップドI/O空間のアドレスを一レコードずつ定義する。ここでは、個々のファンクション名をそれぞれA,B,Cと記載している。さらに三種のファンクションのうち、ファンクションBのみに対して二重化の設定が行われている。よって、ファンクションBに対応する二重化の有効ビットが真(T)、他のファンクションA、Cは偽(F)に定義される。また、ファンクションBに対応するスレーブデバイスへのルーティング経路情報が、スレーブデバイスIDの欄に設定される。ファンクションBに対応するスレーブデバイスは、I/Oデバイス40のファンクションB’(I/Oデバイス40側は、「’」を付加して、「B’」と記載する。)である。   The setting contents of Table 1 will be described in detail. In the upper part of Table 1, the setting items for the I / O device 30 are defined for three records. In FIG. 1, the I / O device 30 is a multi-function I / O card equipped with three types of functions, and therefore defines an address of the memory mapped I / O space corresponding to each function one record at a time. Here, individual function names are described as A, B, and C, respectively. Further, of the three types of functions, only the function B is set to be duplicated. Therefore, the duplication effective bit corresponding to the function B is defined as true (T), and the other functions A and C are defined as false (F). Also, routing path information to the slave device corresponding to the function B is set in the field of the slave device ID. The slave device corresponding to the function B is the function B ′ of the I / O device 40 (the I / O device 40 side adds “′” and describes it as “B ′”).

表1の下方には、スレーブ側のI/Oデバイス40に対する設定項目が二レコード分定義されている。図1では、I/Oデバイス40は、スレーブデバイスとして定義されているが、I/Oデバイス40のファンクションA’,C’については、二重化定義が設定されていない。そこで、I/Oデバイス40のファンクションA’,C’は、I/Oデバイス30のファンクションA,Cとは独立した別デバイスとして動作させる。表1の下方に、これらのファンクションA’,C’に対応するルーティング経路情報が設定されている。   Below the table 1, setting items for the I / O device 40 on the slave side are defined for two records. In FIG. 1, the I / O device 40 is defined as a slave device, but no duplex definition is set for the functions A ′ and C ′ of the I / O device 40. Therefore, the functions A ′ and C ′ of the I / O device 40 are operated as separate devices independent of the functions A and C of the I / O device 30. Below the table 1, routing path information corresponding to these functions A 'and C' is set.

このような設定の結果、物理記憶空間上にマッピングされた各デバイス、ファンクションのメモリマップドI/O空間は、図4に示すようなレイアウトになる。I/Oデバイス30のファンクションA,B,CおよびI/Oデバイス40のファンクションA’,C’が個々に物理記憶空間上にマッピングされている。加えて、I/Oデバイス40のファンクションB’が、I/Oデバイス30のファンクションBと同じアドレスにマッピングされており、ソフトウェアからは単一のデバイスとして見えることがわかる。   As a result of such setting, the memory mapped I / O space of each device and function mapped on the physical storage space has a layout as shown in FIG. The functions A, B and C of the I / O device 30 and the functions A ′ and C ′ of the I / O device 40 are individually mapped on the physical storage space. In addition, it can be seen that the function B 'of the I / O device 40 is mapped to the same address as the function B of the I / O device 30, and appears to the software as a single device.

次に、システム運用中の動作について説明する。トランザクションルーティングコントローラ143がプロセッサ11,12からのメモリリードやメモリライトなどメモリアクセス・トランザクションをFSBインタフェース141を経由して受け取ったとする。この場合、トランザクションルーティングコントローラ143はルーティングテーブル142を参照して、当該トランザクションで指定されるアドレスレンジに該当するルーティング・レコードを検索する。該当するルーティング・レコードが見つかると、そこからマスターデバイスIDを取り出す。そして、トランザクションのターゲットとなるデバイスへのルーティング経路情報に従い、メモリインタフェース144、I/Oインタフェース145、146のいずれかへトランザクションを送出する。さらに、ルーティングテーブル142の有効ビット54を参照してターゲットとなるデバイスが二重化されたI/Oデバイスであるか否かを確認する。二重化されたI/Oデバイスであることが判明したとすると、当該トランザクションをスレーブデバイスIDで指定されるデバイスへのルーティング経路情報に従い、I/Oインタフェース145、146のいずれかへトランザクションを送出する。すなわち、有効ビット54が有効の場合には、トランザクションを、マスターデバイスとスレーブデバイスとの双方へ送出する。   Next, operations during system operation will be described. It is assumed that the transaction routing controller 143 receives a memory access transaction such as memory read or memory write from the processors 11 and 12 via the FSB interface 141. In this case, the transaction routing controller 143 refers to the routing table 142 and searches for a routing record corresponding to the address range specified by the transaction. When the corresponding routing record is found, the master device ID is taken out therefrom. Then, the transaction is sent to either the memory interface 144 or the I / O interfaces 145 and 146 according to the routing path information to the device that is the target of the transaction. Further, the valid bit 54 of the routing table 142 is referred to and it is confirmed whether or not the target device is a duplexed I / O device. If it is determined that the I / O device is duplicated, the transaction is transmitted to one of the I / O interfaces 145 and 146 according to the routing path information to the device specified by the slave device ID. That is, when the valid bit 54 is valid, the transaction is sent to both the master device and the slave device.

一方、トランザクションルーティングコントローラ143がメモリリードなどのトランザクションに対するリプライや、割り込みをいずれかのインタフェース141,144〜146から受信した場合は、トランザクションルーティングコントローラ143はルーティングテーブル142を参照する。そして、当該トランザクションの送出元のデバイスIDと一致するスレーブデバイスIDが登録されたレコードを検索する。一致するレコードが存在し、かつ有効ビット54が真(T)であれば、当該トランザクションは二重化されたスレーブデバイスからのトランザクションなので、ルーティングは行わずに廃棄する。その他の場合、トランザクションルーティングコントローラ143はトランザクションのターゲットデバイスIDに従い、ルーティング経路を決定し、適切なインタフェース141,144〜146へトランザクションを送出する。   On the other hand, when the transaction routing controller 143 receives a reply or interrupt for a transaction such as a memory read from any of the interfaces 141 and 144 to 146, the transaction routing controller 143 refers to the routing table 142. Then, a record in which a slave device ID that matches the device ID of the transmission source of the transaction is registered is searched. If there is a matching record and the valid bit 54 is true (T), the transaction is a transaction from a duplicated slave device and is discarded without being routed. In other cases, the transaction routing controller 143 determines a routing path according to the target device ID of the transaction, and sends the transaction to the appropriate interfaces 141 and 144 to 146.

次に、システム運用中に二重化されたI/Oデバイスのマスターデバイスを動的に縮退する手順を説明する。二重化されたI/Oデバイスにおけるマスターデバイス30を縮退する際には、サービスプロセッサ21の制御により、メモリコントローラ14中のI/Oインタフェース145,146からI/Oデバイス30,40へのトランザクション送出を一時的に抑止する。そして、先行する仕掛中のトランザクションが流れ終わるのを待ち合わせてからルーティングテーブル142を更新する。二重化されたI/Oデバイス30,40のスレーブデバイス40をマスターデバイスとして再定義し、I/Oインタフェース145,146の動作を再開することで、I/Oデバイスのマスター・スレーブ切替えを実現する。以下説明する手順は、サービスプロセッサ21が、トランザクションルーティングコントローラ143をはじめとしたシステム内の各要素の動作を制御することで実現するものである。制御の手順は、サービスプロセッサ21に実装されるプログラムによって実行される。   Next, a procedure for dynamically degenerating a master device of a duplexed I / O device during system operation will be described. When the master device 30 in the duplexed I / O device is degenerated, a transaction is temporarily transmitted from the I / O interfaces 145 and 146 in the memory controller 14 to the I / O devices 30 and 40 under the control of the service processor 21. Deter. The routing table 142 is updated after waiting for the preceding in-process transaction to end. By redefining the slave device 40 of the duplexed I / O devices 30 and 40 as a master device and restarting the operation of the I / O interfaces 145 and 146, master / slave switching of the I / O devices is realized. The procedure described below is realized by the service processor 21 controlling the operation of each element in the system including the transaction routing controller 143. The control procedure is executed by a program installed in the service processor 21.

まず最初に、サービスプロセッサ21は、メモリコントローラ14のI/Oインタフェース145,146からI/Oコントローラ16,17へのトランザクション送出を抑止する。その結果、抑止されたトランザクションは、トランザクションルーティングコントローラ143中に存在するバッファ等に一時的に滞留する。実装に依存して、I/Oインタフェース145,146から送出を抑止するトランザクションは、二重化されたI/Oデバイスに向けたもののみに限定しても良い。この場合には、ルーティングテーブル142を参照し、トランザクションのターゲットが二重化されたI/Oデバイスか否かを調べて、トランザクションの送出・抑止を決定することになる。サービスプロセッサ21は、I/Oコントローラ16,17へのトランザクション送出を抑止したとき、I/Oコントローラ16,17からI/Oインタフェース145,146へのトランザクションは抑止しない。メモリコントローラ14は、I/Oデバイスから来るトランザクションの処理は継続する。   First, the service processor 21 inhibits transaction transmission from the I / O interfaces 145 and 146 of the memory controller 14 to the I / O controllers 16 and 17. As a result, the suppressed transaction temporarily stays in a buffer or the like existing in the transaction routing controller 143. Depending on the implementation, transactions that inhibit transmission from the I / O interfaces 145, 146 may be limited to only those directed to the duplexed I / O device. In this case, referring to the routing table 142, it is determined whether or not the target of the transaction is a duplexed I / O device, and transaction transmission / suppression is determined. When the service processor 21 suppresses the transmission of transactions to the I / O controllers 16 and 17, the service processor 21 does not suppress transactions from the I / O controllers 16 and 17 to the I / O interfaces 145 and 146. The memory controller 14 continues to process transactions coming from the I / O device.

サービスプロセッサ21は、この状態で一定時間待ち合わせを行う。これにより、プロセッサ11,12、メモリ15などから受信し、かつ、I/Oインタフェース145,146を経由して送出済みとなっている仕掛かり中のトランザクションに対する、リプライ処理等が完了する。待ち合わせ時間はコンピュータシステムの実装に依存して適切な値を設定する。   The service processor 21 waits for a certain time in this state. As a result, the reply processing and the like for the in-process transaction received from the processors 11 and 12 and the memory 15 and transmitted via the I / O interfaces 145 and 146 is completed. The waiting time is set to an appropriate value depending on the implementation of the computer system.

待ち合わせ時間が経過し、I/Oデバイスに対する先行するトランザクションの処理が完了した後に、サービスプロセッサ21はマスターデバイスを縮退させる。I/Oデバイスの縮退方法は本願発明の解説範囲を超えるため、ここでは詳細に説明はしないが、PCIデバイスであれば、[a]デバイスの機能に依存して、当該デバイスのコンフィグレーション(Configuration)レジスタを操作してデバイスの動作を止める方法、[b]デバイスが接続されるバスブリッジが存在すればバスブリッジを操作してPCIバスをリセットする方法、[c]I/Oインタフェースの機能に依存して当該デバイスからのトランザクションを受け取らないようにマスクする方法などが考えられる。当該デバイスがメモリデバイスのような受動的なデバイスであれば、何もせずにそのまま放置する方法でも構わない。   After the waiting time has elapsed and processing of the preceding transaction for the I / O device is completed, the service processor 21 degenerates the master device. The I / O device degeneration method is beyond the scope of the present invention and will not be described in detail here. However, in the case of a PCI device, [a] the configuration (Configuration) of the device depends on the function of the device. ) A method of stopping the operation of the device by operating a register, [b] A method of resetting the PCI bus by operating the bus bridge if there is a bus bridge to which the device is connected, [c] A method of masking so as not to receive a transaction from the device can be considered. If the device is a passive device such as a memory device, it may be left as it is without doing anything.

マスターデバイスの動的縮退が終了したら、サービスプロセッサ21は、ルーティングテーブル142を更新する。具体的には、二重化されたデバイスが定義されているレコードに記載されるルーティング経路情報のうち、スレーブデバイスIDの情報をマスターデバイスIDに上書きし、有効ビット54を偽(F)に書き換えればよい。   When the dynamic degeneration of the master device is completed, the service processor 21 updates the routing table 142. Specifically, of the routing route information described in the record in which the duplicated device is defined, the slave device ID information is overwritten on the master device ID, and the valid bit 54 is rewritten to false (F).

最後に、サービスプロセッサ21は、I/Oインタフェース145,146からI/Oコントローラ16,17へのトランザクション送出を再開する。これによりトランザクションルーティングコントローラ143内に滞留していたトランザクションは、更新されたルーティングテーブル142に従い、新しいマスターデバイスへルーティングされ、I/Oインタフェース145,146から送出されることになる。このようにして、マスター・スレーブ方式で二重化されたI/Oデバイスのマスターデバイスとスレーブデバイスとをシステム運用中に入れ替えることができる。   Finally, the service processor 21 resumes the transaction transmission from the I / O interfaces 145 and 146 to the I / O controllers 16 and 17. As a result, the transaction staying in the transaction routing controller 143 is routed to the new master device in accordance with the updated routing table 142 and sent out from the I / O interfaces 145 and 146. In this way, the master device and slave device of the I / O device duplexed by the master / slave method can be exchanged during system operation.

以上説明したように、本実施の形態においては、以下に記載するような効果を奏する。第一の効果は、ルーティングテーブル142に格納されるルーティング・レコードに有効ビット54とスレーブデバイスID55とを追加しているので、トランザクションルーティングコントローラ143が当該ルーティング・レコードを検索・参照することにより、トランザクション送出先のI/Oデバイスが二重化されていると判断できた場合に、二重化されたマスターデバイスとスレーブデバイスとの双方に対してトランザクションを送出することができ、I/Oデバイスのマスター・スレーブ方式による二重化を実現できることである。   As described above, the present embodiment has the following effects. The first effect is that since the valid bit 54 and the slave device ID 55 are added to the routing record stored in the routing table 142, the transaction routing controller 143 searches and refers to the routing record, so that the transaction When it can be determined that the destination I / O device is duplicated, a transaction can be sent to both the duplicated master device and slave device, and the master / slave method of the I / O device is used. Duplication can be realized.

第二の効果は、ルーティングテーブル142に格納されるアドレス情報で定義されるメモリマップドI/O空間のマッピングが、I/Oデバイスのファンクション単位で定義できるため、二重化する対象のI/Oデバイスが複数の機能を持つマルチファンクションI/Oデバイスの場合に、ファンクション単位で各ファンクションを二重化するか、各ファンクションを個別のデバイスとして動作させるかを選択的に設定できることである。   The second effect is that the mapping of the memory mapped I / O space defined by the address information stored in the routing table 142 can be defined in units of functions of the I / O device. Is a multi-function I / O device having a plurality of functions, it is possible to selectively set whether each function is duplicated in units of functions or whether each function is operated as an individual device.

第三の効果は、サービスプロセッサ21からメモリコントローラ14の各機能ブロック141〜146を制御することにより、一定時間だけI/Oデバイスへのトランザクションを停止し、マスターデバイスを縮退し、ルーティングテーブル142を更新し、トランザクションの処理を再開することで、二重化されたI/Oデバイスのマスターデバイスを動的に縮退し、スレーブデバイスへ動作を引き継ぐことができることである。   The third effect is that the service processor 21 controls the functional blocks 141 to 146 of the memory controller 14 to stop the transaction to the I / O device for a certain period of time, degenerate the master device, and update the routing table 142. Then, by restarting transaction processing, the master device of the duplexed I / O device can be dynamically degenerated and the operation can be taken over to the slave device.

図1は、本実施の形態におけるコンピュータシステムのブロック構成を示す図である。FIG. 1 is a diagram showing a block configuration of a computer system according to the present embodiment. 図2は、メモリコントローラ14の機能ブロック図である。FIG. 2 is a functional block diagram of the memory controller 14. 図3は、ルーティングテーブル142に格納されるルーティング・レコードの形式を示す図である。FIG. 3 is a diagram showing a format of a routing record stored in the routing table 142. 図4は、メモリマップドI/O空間のレイアウトを示す図である。FIG. 4 is a diagram showing a layout of the memory mapped I / O space.

符号の説明Explanation of symbols

11,12 プロセッサ
13 フロントサイドバス
14 メモリコントローラ
15 メモリ
16,17 I/Oコントローラ
18,19 PCIバス
21 サービスプロセッサ
30,40 I/Oデバイス
31,41 不揮発メモリ
32,42 リアルタイムクロック
33,43 外部I/Oインタフェース
51 アドレスオフセット
52 アドレスレンジ
53,55 デバイスID
54 有効ビット
141 FSBインタフェース
142 ルーティングテーブル
143 トランザクションルーティングコントローラ
144 メモリインタフェース
145,146 I/Oインタフェース
11, 12 Processor 13 Front side bus 14 Memory controller 15 Memory 16, 17 I / O controller 18, 19 PCI bus 21 Service processor 30, 40 I / O device 31, 41 Non-volatile memory 32, 42 Real-time clock 33, 43 External I / O interface 51 Address offset 52 Address range 53,55 Device ID
54 Valid bits 141 FSB interface 142 Routing table 143 Transaction routing controller 144 Memory interface 145, 146 I / O interface

Claims (6)

マスターデバイスとスレーブデバイスとに二重化されたI/Oデバイスの動的縮退装置であって、
トランザクションを受信し、ルーティングし、送出するトランザクションルーティングコントローラと、
I/Oデバイスの二重化が有効であることを示す有効情報と、当該有効情報に関連付けられた二つの識別情報であって、前記マスターデバイスへの経路を示すマスターデバイス識別情報と、前記スレーブデバイスへの経路を示すスレーブデバイス識別情報とを有するルーティングテーブルと、
前記トランザクションルーティングコントローラと、前記ルーティングテーブルとを制御するサービスプロセッサと
を具備し、
前記I/Oデバイスは、メモリマップドI/Oのアドレス空間にアドレス領域を割り当てられ、
前記サービスプロセッサは、
前記I/Oデバイスの二重化が有効である場合には、前記メモリマップドI/Oのアドレス空間に、前記マスターデバイスと前記スレーブデバイスとに一つの共通なアドレス領域を割り当て、
前記トランザクションルーティングコントローラは、
トランザクションを受信したときに、前記メモリマップドI/Oのアドレス空間を参照することにより、当該トランザクションの宛先となるI/Oデバイスを割り出し、
前記ルーティングテーブルを参照することにより、当該I/Oデバイスに係る前記有効情報が、有効を示していた場合には、前記マスターデバイス識別情報と、前記スレーブデバイス識別情報とに基づいて、前記マスターデバイスと前記スレーブデバイスとの双方に、前記トランザクションを送出する
動的縮退装置。
A dynamic degeneration device for an I / O device that is duplicated into a master device and a slave device,
A transaction routing controller that receives, routes, and sends transactions;
Valid information indicating that duplication of an I / O device is effective, two pieces of identification information associated with the valid information, master device identification information indicating a route to the master device, and a route to the slave device A routing table having slave device identification information indicating
And said transaction routing controller, ingredients Bei a service processor for controlling said routing table,
The I / O device is assigned an address area in the memory mapped I / O address space,
The service processor is
When duplication of the I / O device is effective, one common address area is allocated to the master device and the slave device in the address space of the memory mapped I / O,
The transaction routing controller
When a transaction is received, by referring to the address space of the memory mapped I / O, an I / O device that is the destination of the transaction is determined,
When the valid information related to the I / O device indicates validity by referring to the routing table, the master device and the slave device identification information are based on the master device identification information and the slave device identification information. A dynamic degeneration apparatus that sends the transaction to both the slave device .
前記ルーティングテーブルは、ルーティング・レコードから成り、
当該ルーティング・レコードは、
前記有効情報を格納する第一のフィールドと、
前記マスターデバイス識別情報を格納する第二のフィールドと、
前記スレーブデバイス識別情報を格納する第三のフィールドと
を具備する請求項1記載の動的縮退装置。
The routing table consists of routing records,
The routing record is
A first field for storing the chromatic Kojo report,
A second field for storing the master device identification information;
The dynamic degeneration apparatus according to claim 1, further comprising: a third field for storing the slave device identification information.
前記I/OデバイスがマルチファンクションI/Oデバイスの場合には、
前記ルーティングテーブルは、
前記有効情報と、当該有効情報に関連付けられる前記マスターデバイス識別情報と、前記スレーブデバイス識別情報とを、ファンクション単位に具備する
請求項1又は2記載の動的縮退装置。
When the I / O device is a multifunction I / O device,
The routine Gute Buru is,
The dynamic degeneration apparatus according to claim 1, wherein the valid information, the master device identification information associated with the valid information, and the slave device identification information are provided in function units.
前記トランザクションルーティングコントローラは、
前記スレーブデバイスから、リプライ・トランザクションを受信したときに、当該リプライ・トランザクションのルーティングを行うことなく、破棄する
請求項1乃至3のいずれか1項に記載の動的縮退装置。
The transaction routing controller
The dynamic degeneration apparatus according to any one of claims 1 to 3 , wherein when a reply transaction is received from the slave device, the reply transaction is discarded without being routed.
請求項1乃至3のいずれか1項に記載の動的縮退装置を使用して、二重化されたI/Oデバイスからマスターデバイスを動的に縮退する方法であって、
前記トランザクションルーティングコントローラが、トランザクションを受信するステップと、
前記トランザクションルーティングコントローラが、トランザクションをルーティングするステップと、
前記ルーティングテーブルを参照するステップと、
ルーティングの宛先がI/Oデバイスであって、当該I/Oデバイスに係る前記有効情報が有効を示していた場合には、前記トランザクションルーティングコントローラが、前記マスターデバイス識別情報と、前記スレーブデバイス識別情報とに基づいて、前記マスターデバイスと前記スレーブデバイスとの双方に、前記トランザクションを送出するステップと、
前記トランザクションルーティングコントローラが、前記スレーブデバイスから、リプライ・トランザクションを受信したときに、当該リプライ・トランザクションのルーティングを行うことなく、破棄するステップと、
二重化されたI/Oデバイスからマスターデバイスを縮退するときには、
前記サービスプロセッサが、前記送出するステップによる送出を抑止するステップと、
一定時間待ち合わせを行うステップと、
前記サービスプロセッサが、前記マスターデバイスを縮退するステップと、
前記サービスプロセッサが、当該ルーティングテーブルを更新するステップと、
前記サービスプロセッサが、前記抑止するステップによる抑止を解除するステップと
を有する動的縮退方法。
A method for dynamically degenerating a master device from a duplexed I / O device using the dynamic degeneration apparatus according to any one of claims 1 to 3 ,
The transaction routing controller receiving a transaction;
The transaction routing controller routing a transaction;
Referring to the routing table;
When the routing destination is an I / O device and the validity information related to the I / O device indicates validity, the transaction routing controller sends the master device identification information, the slave device identification information, Sending the transaction to both the master device and the slave device based on:
When the transaction routing controller receives a reply transaction from the slave device, discarding the reply transaction without routing the reply transaction;
When degenerating a master device from a duplexed I / O device,
The service processor suppressing transmission by the transmitting step;
A step of waiting for a certain period of time;
The service processor degenerates the master device;
The service processor updating the routing table;
A dynamic degeneration method comprising: a step of releasing the inhibition by the service processor.
請求項記載の動的縮退装置を使用して、二重化されたI/Oデバイスからマスターデバイスを動的に縮退する方法であって、
前記サービスプロセッサが、前記トランザクションルーティングコントローラによるトランザクションの送出を抑止するステップと、
一定時間待ち合わせを行うステップと、
前記サービスプロセッサが、前記マスターデバイスを縮退するステップと、
前記サービスプロセッサが、前記ルーティングテーブルを更新するステップと、
前記サービスプロセッサが、前記抑止するステップによる抑止を解除するステップと
を有する動的縮退方法。
A method for dynamically degenerating a master device from a duplexed I / O device using the dynamic degeneration apparatus according to claim 4 , comprising:
The service processor suppressing transmission of a transaction by the transaction routing controller;
A step of waiting for a certain period of time;
The service processor degenerates the master device;
The service processor updating the routing table;
The service processor has a step of releasing the inhibition by the inhibiting step.
JP2007058457A 2007-03-08 2007-03-08 Dynamic degeneration apparatus and method Expired - Fee Related JP4984051B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007058457A JP4984051B2 (en) 2007-03-08 2007-03-08 Dynamic degeneration apparatus and method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007058457A JP4984051B2 (en) 2007-03-08 2007-03-08 Dynamic degeneration apparatus and method

Publications (2)

Publication Number Publication Date
JP2008225534A JP2008225534A (en) 2008-09-25
JP4984051B2 true JP4984051B2 (en) 2012-07-25

Family

ID=39844132

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007058457A Expired - Fee Related JP4984051B2 (en) 2007-03-08 2007-03-08 Dynamic degeneration apparatus and method

Country Status (1)

Country Link
JP (1) JP4984051B2 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4984077B2 (en) * 2008-02-15 2012-07-25 日本電気株式会社 Dynamic switching device, dynamic switching method, and dynamic switching program
JP5240872B2 (en) * 2011-02-10 2013-07-17 エヌイーシーコンピュータテクノ株式会社 Information processing apparatus and method of operating information processing apparatus

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04186422A (en) * 1990-11-21 1992-07-03 Nec Corp Duplex volume system
JP2806749B2 (en) * 1993-08-04 1998-09-30 日本電気株式会社 I / O load distribution control method when file devices are duplicated
JPH09305327A (en) * 1996-05-20 1997-11-28 Pfu Ltd Disk device
JP2001344191A (en) * 2000-06-02 2001-12-14 Nec Soft Ltd System and method for controlling duplexed input and output
JP3862011B2 (en) * 2002-08-30 2006-12-27 日本電気株式会社 Fault tolerant computer and its disk management mechanism and disk management program
JP4111793B2 (en) * 2002-09-26 2008-07-02 富士通株式会社 Relay system
JP4617847B2 (en) * 2004-11-04 2011-01-26 株式会社日立製作所 Information processing system and access method

Also Published As

Publication number Publication date
JP2008225534A (en) 2008-09-25

Similar Documents

Publication Publication Date Title
CN106776159B (en) Fast peripheral component interconnect network system with failover and method of operation
US6826123B1 (en) Global recovery for time of day synchronization
US7668923B2 (en) Master-slave adapter
US6112311A (en) Bridge failover system
US20050081080A1 (en) Error recovery for data processing systems transferring message packets through communications adapters
EP2634696B1 (en) Information processing apparatus, control method, and control program
US20050091383A1 (en) Efficient zero copy transfer of messages between nodes in a data processing system
JP3807250B2 (en) Cluster system, computer and program
US20070282967A1 (en) Method and system of a persistent memory
US20050080869A1 (en) Transferring message packets from a first node to a plurality of nodes in broadcast fashion via direct memory to memory transfer
KR20010052813A (en) Multi-processor system bridge
JP2002518736A (en) Multiprocessor system bridge with controlled access
US20050080920A1 (en) Interpartition control facility for processing commands that effectuate direct memory to memory information transfer
JP2004054949A (en) Multiple hardware partitions under one input/output hub
CN104798059A (en) Multiple computer system processing write data outside of checkpointing
US6389554B1 (en) Concurrent write duplex device
US7159079B2 (en) Multiprocessor system
JP4182948B2 (en) Fault tolerant computer system and interrupt control method therefor
CN115203095A (en) PCIe device and operating method thereof
US20050080945A1 (en) Transferring message packets from data continued in disparate areas of source memory via preloading
JP4984077B2 (en) Dynamic switching device, dynamic switching method, and dynamic switching program
US20050078708A1 (en) Formatting packet headers in a communications adapter
US20090248915A1 (en) Communication control apparatus and communication control method
US7536694B2 (en) Exception handling in a multiprocessor system
JP2002518737A (en) Processor bridge with heterogeneous data access

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100218

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120116

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120118

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120312

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: 20120328

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120410

R150 Certificate of patent or registration of utility model

Ref document number: 4984051

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150511

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees