Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP7516787B2 - Start-up control device, start-up control system, and start-up control method - Google Patents
[go: Go Back, main page]

JP7516787B2 - Start-up control device, start-up control system, and start-up control method - Google Patents

Start-up control device, start-up control system, and start-up control method Download PDF

Info

Publication number
JP7516787B2
JP7516787B2 JP2020044719A JP2020044719A JP7516787B2 JP 7516787 B2 JP7516787 B2 JP 7516787B2 JP 2020044719 A JP2020044719 A JP 2020044719A JP 2020044719 A JP2020044719 A JP 2020044719A JP 7516787 B2 JP7516787 B2 JP 7516787B2
Authority
JP
Japan
Prior art keywords
pci
unit
pci device
information
workaround
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
JP2020044719A
Other languages
Japanese (ja)
Other versions
JP2021144649A (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
Priority to JP2020044719A priority Critical patent/JP7516787B2/en
Publication of JP2021144649A publication Critical patent/JP2021144649A/en
Application granted granted Critical
Publication of JP7516787B2 publication Critical patent/JP7516787B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Systems (AREA)
  • Stored Programmes (AREA)

Description

本発明は、起動制御装置、起動制御システム及び起動制御方法に関する。 The present invention relates to a startup control device, a startup control system, and a startup control method.

従来、PCI(Peripheral Component Interconnect)デバイスは、情報処理装置内のスロットに搭載されていたため、PCIデバイスの搭載数はスロット数に制限されてきた。その場合、一般的にはCPU(Central Processing Unit)のPCIポート配下にPCIデバイスが接続される構成が採用される。一方、近年では、IO(Input Output)スイッチとして、CPUとPCIデバイスとを多対多で接続するPCIEスイッチが実用化された。PCIEスイッチは、ポート間の接続の論理分割が可能である。PCIEスイッチにおいて論理分割された各区画はパーティションと呼ばれる場合がある。 Traditionally, PCI (Peripheral Component Interconnect) devices were installed in slots within information processing devices, so the number of PCI devices that could be installed was limited to the number of slots. In such cases, a configuration in which the PCI device is connected under the PCI port of the CPU (Central Processing Unit) is generally adopted. Meanwhile, in recent years, PCIE switches that connect CPUs and PCI devices in a many-to-many manner have been put into practical use as IO (Input Output) switches. PCIE switches allow logical division of connections between ports. Each logically divided section in a PCIE switch is sometimes called a partition.

ここで、PCIポート配下にPCIデバイスを接続する場合と、PCIEスイッチを経由してPCIデバイスを接続する場合とを比較すると、PCIEスイッチとの接続制御において、様々な問題が発生する。PCIEスイッチ経由でPCIデバイスを接続する場合、例えば、PCIEスイッチのメーカ毎及びモデル毎にエラッタ及びPCIEスイッチ配下に繋がる特定のPCIデバイスとの伝送及び使用的な相性問題などが多く存在する。 When comparing connecting a PCI device under a PCI port with connecting a PCI device via a PCIE switch, various problems arise in connection control with the PCIE switch. When connecting a PCI device via a PCIE switch, for example, there are many errata for each manufacturer and model of the PCIE switch, as well as compatibility issues with transmission and usage with specific PCI devices connected under the PCIE switch.

情報処理装置において、システム上の問題が発生した場合、問題を回避する場合の応急処置であるワークアラウンドが行われる。しかしながら、PCIEスイッチにPCIデバイスを接続した構成では多種のPCIデバイスが複数の混在搭載されており、そのような多種のPCIデバイスの混在搭載時の各PCIデバイスの動作に適応するワークアラウンドを提供することは困難である。 When a system problem occurs in an information processing device, a workaround is implemented as a temporary measure to avoid the problem. However, in a configuration in which PCI devices are connected to a PCIE switch, multiple types of PCI devices are installed together, and it is difficult to provide a workaround that is suitable for the operation of each PCI device when such a variety of PCI devices are installed together.

そこで、各PCIデバイスに関連するワークアラウンドを個別に適用することになるが、その場合、以下のような問題が発生する。例えば、特定のPCIデバイスに対してハードリセット時に、PCIデバイスのハードウェアを要因とするバクにより意図しないPCIのリンクトレーニング処理が実行される場合がある。この意図しないリンクトレーニング処理により、PCIEスイッチとPCIリンクが不安定な状態に陥り、BIOS(Basic Input Output System)処理の終盤のシステム起動直前で復旧困難なPCIエラーが発生し、システムの正常起動が困難となるおそれがある。そこで、このような問題を有するPCIデバイスに関係するワークアラウンドを適用することが考えられるが、その場合に各PCIデバイスやバス制御上に変化が発生する。その変化の影響で、問題なく動作していた他のPCIデバイスにおいてPCIEスイッチとのPCIリンクが不安定な状態に陥り、PCIリンクが失敗して問題なく動作していたはずのPCIデバイスを正常に認識することが困難になるおそれがある。 Therefore, workarounds related to each PCI device are applied individually, but in that case, the following problems occur. For example, when a specific PCI device is hard reset, an unintended PCI link training process may be executed due to a bug caused by the hardware of the PCI device. This unintended link training process may cause the PCIE switch and PCI link to become unstable, causing a PCI error that is difficult to recover from just before the system starts at the end of the BIOS (Basic Input Output System) process, making it difficult to start the system normally. Therefore, it is possible to apply a workaround related to a PCI device having such a problem, but in that case, changes occur in each PCI device and bus control. As a result of the change, the PCI link with the PCIE switch of other PCI devices that were operating without problems may become unstable, and the PCI link may fail, making it difficult to properly recognize the PCI device that should have been operating without problems.

このようなことから、システム構成に関連するワークアラウンドを無条件に一律に適用するのではなく、実際に利用するPCIデバイスに関係するワークアラウンドを選択して適用することが望ましい。このようなPCIデバイスを意識したリカバリ処理は、一般的にBIOSやBMC(Baseboard Management Controller)により行われる。 For this reason, it is preferable to selectively apply workarounds related to the PCI devices actually used, rather than unconditionally and uniformly applying workarounds related to the system configuration. Such recovery processing that takes PCI devices into consideration is generally performed by the BIOS or BMC (Baseboard Management Controller).

ただし、大規模システムでは、PCIEスイッチのパーティションの再構成が行われることが多い。PCIEスイッチのパーティションの再構成によりPCIデバイスの数やPCIデバイスを管理する処理部が変わってしまう大規模システムにおいては、PCIEスイッチの設定を含むパーティション構成変更を伴う管理が把握困難である。そこで、大規模システムでは、情報処理装置の全体のシステム管理の機能を有するシステム管理ユニットでワークアラウンドの実行を管理することが好ましい。 However, in large-scale systems, PCI switch partitions are often reconfigured. In large-scale systems where reconfiguration of PCI switch partitions changes the number of PCI devices and the processing units that manage the PCI devices, it is difficult to grasp management that involves changes to the partition configuration, including PCI switch settings. Therefore, in large-scale systems, it is preferable to manage the execution of workarounds using a system management unit that has the function of managing the entire system of the information processing device.

ここで、システム管理ユニットを用いた、従来のワークアラウンドの一般的な実行方法について説明する。ここでは、CPU及びメモリを搭載し、1つのユニットで情報処理装置としての機能を有するシステムユニットと、PCIEスイッチ及びPCIデバイスを搭載し、入出力装置の機能を有するIOユニットとが複数ある場合を例に説明する。 Here, we will explain a typical method of executing a conventional workaround using a system management unit. Here, we will explain an example in which there are multiple system units equipped with a CPU and memory and functioning as an information processing device, and multiple IO units equipped with PCIE switches and PCI devices and functioning as input/output devices.

システム管理ユニットで動作するシステム管理ファームウェアが、各IOユニット及び各システムユニットの電源投入後に、IOユニットに搭載されたPCIEスイッチを制御し、システム起動のためのPCIEスイッチの初期設定を実行する。次に、システム管理ファームウェアは、PCIスロットの搭載情報、並びに、PCIバスのリンク速度及びレーン数の状態を確認する。次に、システム管理ファームウェアは、リトライ処理も兼ねたワークアラウンドを実施後、システムユニットで動作するBIOSに処理を渡す。 After powering on each IO unit and each system unit, the system management firmware running on the system management unit controls the PCIE switch mounted on the IO unit and performs initial settings of the PCIE switch for system startup. Next, the system management firmware checks the mounting information of the PCI slots, as well as the link speed and number of lanes of the PCI bus. Next, the system management firmware implements a workaround that also serves as a retry process, and then passes processing to the BIOS running on the system unit.

BIOSは、システム起動処理を実行し、その中でPCIバススキャンを実行する。そして、BIOSは、PCIバススキャンで取得したPCIバスツリー情報PCIデバイス情報をシステムユニット上のBMC経由でシステム管理ユニットに通知する。これにより、システム管理ファームウェアは、全ての搭載されたPCIデバイス情報を認識する。 The BIOS executes the system startup process, during which it performs a PCI bus scan. The BIOS then notifies the system management unit of the PCI bus tree information and PCI device information acquired in the PCI bus scan via the BMC on the system unit. This allows the system management firmware to recognize information on all installed PCI devices.

なお、PCIEスイッチを用いる場合のPCIデバイスの管理技術として、起動時にPCIツリーの識別子及び状態を表す管理情報を取得し、管理情報が初期化未了を示す場合に、計算機の電源投入を再実行又は中止する従来技術がある。また、管理サーバが、PCIデバイスの追加又は変更の情報をPCIEスイッチから受信し、そのPCIデバイスの基本情報から割当状態を決定してPCIEスイッチに割り当てを行わせる従来技術がある。さらに、システム管理用のシステムコントローラを用いた技術として、システムコントローラが、ホストバスを初期化する際に、ブリッジ内の共有メモリに格納された初期化情報を用いてブリッジに接続されたPCIデバイスの初期化も実行する従来技術がある。 A conventional technique for managing PCI devices when using a PCIE switch is to obtain management information indicating the identifier and status of the PCI tree at startup, and to restart or cancel powering on the computer if the management information indicates that initialization is incomplete. There is also a conventional technique in which a management server receives information on the addition or change of a PCI device from a PCIE switch, determines the allocation status from the basic information of the PCI device, and has the PCIE switch perform the allocation. A further conventional technique using a system controller for system management is to initialize PCI devices connected to the bridge using initialization information stored in a shared memory in the bridge when initializing the host bus.

特開2009-169842号公報JP 2009-169842 A 特開2011-065551号公報JP 2011-065551 A 特開2007-241526号公報JP 2007-241526 A

しかしながら、従来のワークアラウンドの実行方法では、システム管理ユニットは、システム起動後にBIOSからBMC経由でPCIデバイスの情報を取得するまでは、PCIデバイスに関する情報としてPCIEスイッチから通知されるリンク情報を利用する。つまり、BIOSからのPCIデバイスの情報の取得以前には、システム管理ユニットは、各PCIスロットにどのようなPCIデバイスが搭載されているかは認識することが困難である。そのため、特定のワークアラウンドの実行対象となるPCIデバイスの特定し、特定したPCIデバイスに制限してその特定のワークアラウンドを実行することは難しい。そこで、従来のシステム管理ユニットは、搭載された全てのPCIデバイスに対して一律にワークアラウンドを実行していた。この場合、特定のワークアラウンドの実行対象のPCIデバイスと、その特定のワークアラウンドを行ったことで正常なリンク状態を失いBIOSからも認識されなくなるような不具合が発生するPCIデバイスとは、同一システムでの共存が困難となる。このようにPCIデバイスの共存が制限されると、拡張性が制限され、システム性能を向上させることが困難となる。 However, in the conventional method of executing a workaround, the system management unit uses the link information notified from the PCIE switch as information about the PCI device until it obtains information about the PCI device from the BIOS via the BMC after the system is started. In other words, before obtaining information about the PCI device from the BIOS, it is difficult for the system management unit to recognize what PCI device is installed in each PCI slot. Therefore, it is difficult to identify the PCI device that is the target of the execution of a specific workaround and to limit the execution of the specific workaround to the identified PCI device. Therefore, the conventional system management unit uniformly executes the workaround for all installed PCI devices. In this case, it is difficult for the PCI device that is the target of the execution of the specific workaround and the PCI device that loses the normal link state and is no longer recognized by the BIOS as a result of the execution of the specific workaround to coexist in the same system. If the coexistence of PCI devices is restricted in this way, scalability is restricted and it becomes difficult to improve system performance.

取得したPCIツリーの識別子及び管理情報を基に電源投入を制御する従来技術は、マルチルートPCIEスイッチを対象としており、操作者によりPCIツリーやPCIデバイスの情報が設定される。そのため、自動的なPCIデバイスの情報の取得及びそれに基づくワークアラウンドの制御は困難であり、PCIデバイスの共存の制限が発生するおそれがある。また、管理サーバを用いてPCIデバイスの割り当てを行わせる従来技術では、PCIデバイスの詳細な情報の取得は可能であるが、ワークアラウンドの制御は困難であり、PCIデバイスの共存の制限が発生するおそれがある。また、システムコントローラがブリッジに接続されたPCIデバイスの初期化を実行する従来技術では、システム起動後にCPU上で動作するPCIドライバがPCIデバイスの情報を取得しており、ワークアラウンド実行時のPCIデバイスの判別は困難である。 Conventional technology that controls power-on based on the acquired PCI tree identifier and management information targets multi-root PCIE switches, and the PCI tree and PCI device information is set by the operator. As a result, it is difficult to automatically acquire PCI device information and control workarounds based on it, and there is a risk of restrictions on the coexistence of PCI devices. Furthermore, in conventional technology that uses a management server to assign PCI devices, it is possible to acquire detailed information about PCI devices, but it is difficult to control workarounds, and there is a risk of restrictions on the coexistence of PCI devices. Furthermore, in conventional technology in which a system controller initializes PCI devices connected to a bridge, a PCI driver running on the CPU acquires PCI device information after the system starts up, and it is difficult to identify the PCI device when a workaround is executed.

開示の技術は、上記に鑑みてなされたものであって、システム性能を向上させる起動制御装置、起動制御システム及び起動制御方法を提供することを目的とする。 The disclosed technology has been developed in consideration of the above, and aims to provide a startup control device, startup control system, and startup control method that improve system performance.

本願の開示する起動制御装置、起動制御システム及び起動制御方法の一つの態様において、以下の各部を備える。取得部は、複数のPCIスロットが接続された情報処理装置の起動前に、前記情報処理装置で動作するBIOSから、各前記PCIスロットに搭載された各PCIデバイスのPCIデバイス情報を取得する。判定部は、前記取得部により取得された前記PCIデバイス情報を基に、各前記PCIスロットに搭載された各前記PCIデバイスを識別する。さらに、判定部は、各前記PCIデバイスの中からワークアラウンドの実行対象となる対象PCIデバイスを選択し、選択した各前記対象PCIデバイスに対して実行するワークアラウンドの種類を判定する。ワークアラウンド実行部は、前記判定部により判定された種類の前記ワークアラウンドを各前記対象PCIデバイスに実行し、前記BIOSに前記情報処理装置の起動を実行させる。 In one aspect of the boot control device, boot control system, and boot control method disclosed in the present application, the device includes the following units. Before booting an information processing device to which multiple PCI slots are connected, the acquisition unit acquires PCI device information of each PCI device mounted in each of the PCI slots from a BIOS running on the information processing device. The determination unit identifies each of the PCI devices mounted in each of the PCI slots based on the PCI device information acquired by the acquisition unit. Furthermore, the determination unit selects a target PCI device on which a workaround is to be executed from among the PCI devices, and determines the type of workaround to be executed for each of the selected target PCI devices. The workaround execution unit executes the type of workaround determined by the determination unit on each of the target PCI devices, and causes the BIOS to execute the startup of the information processing device.

1つの側面では、本発明は、システム性能を向上させることができる。 In one aspect, the present invention can improve system performance.

図1は、サーバ装置のハードウェア構成図である。FIG. 1 is a diagram showing the hardware configuration of a server device. 図2は、実施例1に係るサーバ装置のブロック図である。FIG. 2 is a block diagram of the server device according to the first embodiment. 図3は、PCI物理情報テーブルの一例を表す図である。FIG. 3 is a diagram illustrating an example of a PCI physical information table. 図4は、PCIバスツリーテーブルの一例を表す図である。FIG. 4 is a diagram illustrating an example of a PCI bus tree table. 図5は、PCIデバイステーブルの一例を表す図である。FIG. 5 is a diagram illustrating an example of a PCI device table. 図6は、ワークアラウンド情報テーブルの一例を表す図である。FIG. 6 is a diagram illustrating an example of the workaround information table. 図7は、PCIデバイス判定テーブルの一例を表す図である。FIG. 7 is a diagram illustrating an example of a PCI device determination table. 図8は、実施例1に係るワークアラウンド実行処理のフローチャートである。FIG. 8 is a flowchart of a workaround execution process according to the first embodiment. 図9は、実施例1に係る起動処理のフローチャートである。FIG. 9 is a flowchart of a startup process according to the first embodiment. 図10は、実施例2に係るサーバ装置のブロック図である。FIG. 10 is a block diagram of a server device according to the second embodiment. 図11は、実施例2に係るPCIデバイス判定テーブルの一例を表す図である。FIG. 11 is a diagram illustrating an example of a PCI device determination table according to the second embodiment. 図12は、実施例2に係るワークアラウンド実行処理のフローチャートである。FIG. 12 is a flowchart of a workaround execution process according to the second embodiment. 図13は、実施例2に係る起動処理のフローチャートである。FIG. 13 is a flowchart of a startup process according to the second embodiment.

以下に、本願の開示する起動制御装置、起動制御システム及び起動制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する起動制御装置、起動制御システム及び起動制御方法が限定されるものではない。 Below, examples of the start-up control device, start-up control system, and start-up control method disclosed in the present application are described in detail with reference to the drawings. Note that the start-up control device, start-up control system, and start-up control method disclosed in the present application are not limited to the following examples.

図1は、サーバ装置のハードウェア構成図である。本実施例に係るサーバ装置500は、図1に示すように、システム管理ユニット1、システムユニット2及びIOユニット3を有する。本実施例では、情報処理システムであるサーバ装置500は、システムユニット2及びIOユニット3をそれぞれ複数有する。また、サーバ装置500は、システム管理ユニット1を2つ有する。ここで、サーバ装置500に搭載されるシステム管理ユニット1、システムユニット2及びIOユニット3の数に特に制限はない。 Figure 1 is a hardware configuration diagram of a server device. As shown in Figure 1, the server device 500 according to this embodiment has a system management unit 1, a system unit 2, and an IO unit 3. In this embodiment, the server device 500, which is an information processing system, has multiple system units 2 and IO units 3. The server device 500 also has two system management units 1. There is no particular limit to the number of system management units 1, system units 2, and IO units 3 mounted on the server device 500.

システム管理ユニット1は、サーバ装置500の装置全体のシステム管理を行う。例えば、システム管理ユニット1は、システムユニット2及びIOユニット3の電源投入や構成管理を実行する。このシステム管理ユニット1が、「起動制御装置」の一例にあたる。システム管理ユニット1は、1台で複数のシステムユニット2及びIOユニット3を管理する。システム管理ユニット1は、マイクロプロセッサ11、メモリ12、CPLD(Complex Programmable Logic Device)13及びNIC(Network Interface Card)スイッチ14を有する。 The system management unit 1 performs system management of the entire server device 500. For example, the system management unit 1 performs power-on and configuration management of the system unit 2 and IO unit 3. This system management unit 1 is an example of a "startup control device." The single system management unit 1 manages multiple system units 2 and IO units 3. The system management unit 1 has a microprocessor 11, memory 12, a CPLD (Complex Programmable Logic Device) 13, and a NIC (Network Interface Card) switch 14.

マイクロプロセッサ11は、メモリ12、CPLD13及びNICスイッチ14とバスで接続される。マイクロプロセッサ11は、プログラム読み出してメモリ12に展開して実行することで、システム管理ユニット1が有する各種機能を実現する。例えば、マイクロプロセッサ11は、システム管理ファームウェア15をメモリ12上に展開して実行する。また、マイクロプロセッサ11は、CPLD13を介してIOユニット3と通信を行う。また、マイクロプロセッサ11は、NICスイッチ14を介してシステムユニット2と通信を行う。 The microprocessor 11 is connected to the memory 12, the CPLD 13, and the NIC switch 14 via a bus. The microprocessor 11 realizes the various functions of the system management unit 1 by reading a program, expanding it in the memory 12, and executing it. For example, the microprocessor 11 expands the system management firmware 15 in the memory 12 and executes it. The microprocessor 11 also communicates with the IO unit 3 via the CPLD 13. The microprocessor 11 also communicates with the system unit 2 via the NIC switch 14.

メモリ12は、システム管理ユニット1における主記憶装置である。メモリ12には、例えばDRAM(Dynamic Random Access Memory)などが用いられる。例えば、メモリ12では、システム管理ファームウェア15が展開され実行される。 The memory 12 is the main storage device in the system management unit 1. For example, a dynamic random access memory (DRAM) is used for the memory 12. For example, the system management firmware 15 is deployed and executed in the memory 12.

CPLD13は、IOユニット3との間の通信モジュールである。CPLD13は、I2C(Inter-Integrated Circuit)を用いてIOユニット3におけるPCIeスイッチ31と通信を行う。 CPLD 13 is a communication module between IO unit 3. CPLD 13 communicates with PCIe switch 31 in IO unit 3 using I2C (Inter-Integrated Circuit).

NICスイッチ14は、システムユニット2との間のネットワークインタフェースである。NICスイッチ14は、IPMI(Intelligent Platform Management Interface)規格に準拠した通信をシステムユニット2のBMC24との間で行う。 The NIC switch 14 is a network interface with the system unit 2. The NIC switch 14 communicates with the BMC 24 of the system unit 2 in accordance with the IPMI (Intelligent Platform Management Interface) standard.

システムユニット2は、指定された演算処理を実行する装置であり、単体で情報処理装置としての機能を有する。システムユニット2は、CPU21、メモリ22、PCH(Platform Controller Hub)、BMC24、BIOSROM(Read Only Memory)25及びBMCROM26を有する。 The system unit 2 is a device that executes specified arithmetic processing, and functions as an information processing device by itself. The system unit 2 has a CPU 21, memory 22, a PCH (Platform Controller Hub), a BMC 24, a BIOSROM (Read Only Memory) 25, and a BMCROM 26.

CPU21は、メモリバスを介してメモリ22と接続される。また、CPU21は、PCIe(PCI express)バスを介してPCH23と接続される。CPU21は、演算処理を実行する。また、CPU21は、各種プログラムをメモリ22上に展開して実行することで、システムユニット2が有する各種機能を実現する。CPU21は、例えば、PCH23を介してBIOSROM25からBIOSプログラムを読み出してメモリ22上にBIOSプログラム27として展開して実行することで、起動時のハードウェアの認識処理を実行する。 The CPU 21 is connected to the memory 22 via a memory bus. The CPU 21 is also connected to the PCH 23 via a PCIe (PCI express) bus. The CPU 21 executes arithmetic processing. The CPU 21 also implements various functions of the system unit 2 by expanding and executing various programs on the memory 22. For example, the CPU 21 reads a BIOS program from the BIOSROM 25 via the PCH 23, expands it on the memory 22 as a BIOS program 27, and executes it to perform hardware recognition processing at startup.

メモリ22は、システムユニット2における主記憶装置である。メモリ22には、例えばDRAMなどが用いられる。メモリ22では、BIOSプログラム27が展開され実行される。 The memory 22 is the main storage device in the system unit 2. For example, a DRAM is used for the memory 22. The BIOS program 27 is expanded and executed in the memory 22.

PCH23は、CPU21及びBMC24にPCIeバスを介して接続される。また、PCH23は、SPI(Serial Peripheral Interface)によりBIOSROM25に接続される。PCH23は、CPU21とBMC24及びBIOSROM25との間の通信を中継する。 The PCH 23 is connected to the CPU 21 and the BMC 24 via a PCIe bus. The PCH 23 is also connected to the BIOSROM 25 via a Serial Peripheral Interface (SPI). The PCH 23 relays communication between the CPU 21 and the BMC 24 and BIOSROM 25.

BMC24は、OS(Operating System)から独立して動作する管理・監視用のマイコンである。BMC24は、例えば、システムユニット2のCPU21やメモリ22の監視や診断や、システムユニット2の電源制御を行う。 The BMC 24 is a management and monitoring microcomputer that operates independently of the OS (Operating System). The BMC 24, for example, monitors and diagnoses the CPU 21 and memory 22 of the system unit 2, and controls the power supply of the system unit 2.

BIOSROM25は、BIOSプログラムを格納するROMである。BMCROM26は、BMC24が実行するプログラムを格納する。 The BIOSROM 25 is a ROM that stores the BIOS program. The BMCROM 26 stores the programs executed by the BMC 24.

IOユニット3は、システムユニット2などに対して外部ンタフェースからのデータや信号を送受信する入出力装置の機能を有する。IOユニット3は、PCIeスイッチ31及びPCIスロット32を有する。 The IO unit 3 functions as an input/output device that transmits and receives data and signals from an external interface to the system unit 2 and the like. The IO unit 3 has a PCIe switch 31 and a PCI slot 32.

PCIeスイッチ31は、PCIデバイス4とCPU21との間の入出力用のポートを有し、さらに各ポートの先に接続されたPCIスロット32を有する。システムユニット2のCPU21とPCIスロット32に実装されたPCIデバイス4との間の通信を中継する。PCIEスイッチ31は、複数のCPU21と複数のPCIデバイス4との間を多対多で接続する。PCIEスイッチ31は、PCIスロット32と繋がるポート間の接続の論理分割が可能であり、論理分割された各区画はパーティションと呼ばれる場合がある。PCIEスイッチ31は、設定にしたがい各パーティションとシステムユニット2とを接続する。PCIスロット32には、それぞれにPCIデバイス4が接続される。 The PCIe switch 31 has input/output ports between the PCI devices 4 and the CPU 21, and also has PCI slots 32 connected to each port. It relays communication between the CPU 21 of the system unit 2 and the PCI devices 4 implemented in the PCI slots 32. The PCIE switch 31 connects multiple CPUs 21 and multiple PCI devices 4 in a many-to-many manner. The PCIE switch 31 is capable of logically dividing the connections between the ports connected to the PCI slots 32, and each logically divided section is sometimes called a partition. The PCIE switch 31 connects each partition to the system unit 2 according to the settings. A PCI device 4 is connected to each of the PCI slots 32.

図2は、実施例1に係るサーバ装置のブロック図である。図2では、サーバ装置500におけるシステム起動用の機能部について記載し、その他の機能については図示を省略した。以下に、図2を参照して、情報処理システムであるサーバ装置500におけるシステム起動の動作について説明する。各システム管理ユニット1はそれぞれ同様の機能を有し、各システムユニット2もそれぞれ同様の機能を有し、各IOユニット3もそれぞれ同様の機能を有する。そこで、図2では、システム管理ユニット1、システムユニット2及びIOユニット3を各1つずつ例示した。 Figure 2 is a block diagram of a server device according to the first embodiment. In Figure 2, the functional units for system startup in the server device 500 are described, and other functions are not shown. Below, the operation of system startup in the server device 500, which is an information processing system, will be described with reference to Figure 2. Each system management unit 1 has the same function, each system unit 2 has the same function, and each IO unit 3 has the same function. Therefore, one each of the system management unit 1, system unit 2, and IO unit 3 is illustrated in Figure 2.

システム管理ユニット1は、PCI物理情報取得部101、システム起動制御部102、PCIデバイス判定部103、PCIデバイス情報取得部104及びシステム電源投入部105を有する。PCI物理情報取得部101、システム起動制御部102、PCIデバイス判定部103、PCIデバイス情報取得部104及びシステム電源投入部105は、いずれも図1のマイクロプロセッサ11及びメモリ12により実現される。より具体的にはPCI物理情報取得部101、システム起動制御部102、PCIデバイス判定部103、PCIデバイス情報取得部104及びシステム電源投入部105は、マイクロプロセッサ11により実行されるシステム管理ファームウェア15の機能である。 The system management unit 1 has a PCI physical information acquisition unit 101, a system startup control unit 102, a PCI device determination unit 103, a PCI device information acquisition unit 104, and a system power-on unit 105. The PCI physical information acquisition unit 101, the system startup control unit 102, the PCI device determination unit 103, the PCI device information acquisition unit 104, and the system power-on unit 105 are all realized by the microprocessor 11 and memory 12 in FIG. 1. More specifically, the PCI physical information acquisition unit 101, the system startup control unit 102, the PCI device determination unit 103, the PCI device information acquisition unit 104, and the system power-on unit 105 are functions of the system management firmware 15 executed by the microprocessor 11.

システム電源投入部105は、操作者からのパーティションの起動命令の入力を受けて、そのパーティションに属するシステムユニット2及びIOユニット3の電源を投入する。その後、システム電源投入部105は、システムユニット2のリセットを実施する。そして、システム電源投入部105は、システムユニット2の電源出力が正常か否かを判定する。システムユニット2の電源出力が異常であれば、システムユニット2の電源異常に関するエラーをログ表示した後に、その装置の起動を停止する。これに対して、システムユニット2の電源出力が正常な場合、システム電源投入部105は、システムユニット2のリセットを解除する。 The system power-on unit 105 receives a partition startup command from the operator and powers on the system unit 2 and IO unit 3 that belong to that partition. The system power-on unit 105 then resets the system unit 2. The system power-on unit 105 then determines whether the power output of the system unit 2 is normal or not. If the power output of the system unit 2 is abnormal, the system power-on unit 105 displays an error log related to the power abnormality of the system unit 2 and then stops the startup of the device. On the other hand, if the power output of the system unit 2 is normal, the system power-on unit 105 releases the reset of the system unit 2.

PCI物理情報取得部101は、パーティションに属するシステムユニット2及びIOユニット3の起動命令が操作者からシステム管理ユニット1に対して入力されると、各IOユニット3のPCIeスイッチ31にアクセスする。そして、PCI物理情報取得部101は、各PCIeスイッチ31が有するPCIスロット32毎のPCIデバイス4の搭載状態を表すPCI物理情報を取得する。そして、PCI物理情報取得部101は、各PCIスロット32におけるPCIデバイス4の搭載の有無を登録した図3に示すPCI物理情報テーブル121を生成する。図3は、PCI物理情報テーブルの一例を表す図である。 When an operator inputs a start command for the system unit 2 and IO unit 3 belonging to a partition to the system management unit 1, the PCI physical information acquisition unit 101 accesses the PCIe switch 31 of each IO unit 3. Then, the PCI physical information acquisition unit 101 acquires PCI physical information indicating the mounting state of the PCI device 4 for each PCI slot 32 of each PCIe switch 31. Then, the PCI physical information acquisition unit 101 generates a PCI physical information table 121 shown in FIG. 3 in which the presence or absence of mounting of the PCI device 4 in each PCI slot 32 is registered. FIG. 3 is a diagram showing an example of a PCI physical information table.

PCI物理情報テーブル121は、図3に示すように、IOユニット3毎に、各IOユニット3が有するPCIスロット32が登録される。そして、PCI物理情報テーブル121には、PCIスロット32毎に、カード搭載有無としてPCIデバイス4が搭載されているか否かを表す情報が登録される。ここでは、PCIデバイス4がPCIスロット32に接続されるカード型のデバイスである場合の例を説明する。PCI物理情報テーブル121では、カード搭載有無が「Yes」の場合にそのPCIスロット32にPCIデバイス4が搭載されていることを表す。 As shown in FIG. 3, the PCI physical information table 121 registers the PCI slots 32 of each IO unit 3 for each IO unit 3. The PCI physical information table 121 also registers information indicating whether or not a PCI device 4 is mounted for each PCI slot 32 as the presence or absence of a card. Here, an example is described in which the PCI device 4 is a card-type device connected to the PCI slot 32. In the PCI physical information table 121, if the presence or absence of a card is "Yes", it indicates that a PCI device 4 is mounted in that PCI slot 32.

PCI物理情報取得部101は、生成したPCI物理情報テーブル121を記憶部120に格納する。 The PCI physical information acquisition unit 101 stores the generated PCI physical information table 121 in the memory unit 120.

システム起動制御部102は、システム電源投入部105による電源投入が行われシステムユニット2のリセットが解除されると、PCIEスイッチ31の初期化を行う。PCIEスイッチ31の初期化が正常に完了すると、システム起動制御部102は、PCIEスイッチ31の動作を開始させる。 When the system power-on unit 105 turns on the power and releases the reset of the system unit 2, the system startup control unit 102 initializes the PCIE switch 31. When the initialization of the PCIE switch 31 is completed successfully, the system startup control unit 102 starts the operation of the PCIE switch 31.

そして、システム起動制御部102は、PCIデバイス4の判定処理の実行をPCIデバイス判定部103に指示する。その後、PCIデバイス情報がPCIデバイス情報テーブル124に未登録であれば、システム起動制御部102は、判定不能の通知をPCIデバイス判定部013から受ける。 Then, the system startup control unit 102 instructs the PCI device determination unit 103 to execute a determination process for the PCI device 4. After that, if the PCI device information is not registered in the PCI device information table 124, the system startup control unit 102 receives a notification from the PCI device determination unit 013 that determination is not possible.

ここで、PCIデバイス情報テーブル124について説明する。本実施例に係る、PCIデバイス情報テーブル124は、図4に示すPCIバスツリーテーブル124A及び図5に示すPCIデバイステーブル124Bを有する。図4は、PCIバスツリーテーブルの一例を表す図である。また、図5は、PCIデバイステーブルの一例を表す図である。 Here, the PCI device information table 124 will be described. In this embodiment, the PCI device information table 124 has a PCI bus tree table 124A shown in FIG. 4 and a PCI device table 124B shown in FIG. 5. FIG. 4 is a diagram showing an example of a PCI bus tree table. Also, FIG. 5 is a diagram showing an example of a PCI device table.

PCIバスツリーテーブル124は、図4に示すように、各IOユニット3が有するPCIスロット32が登録される。そして、PCIバスツリーテーブル124には、PCIスロット32毎に、それぞれのPCIバス範囲がPCIバスツリー情報から登録される。 As shown in FIG. 4, the PCI slots 32 of each IO unit 3 are registered in the PCI bus tree table 124. The PCI bus range of each PCI slot 32 is registered in the PCI bus tree table 124 from the PCI bus tree information.

また、PCIデバイステーブル124Bの各行は、PCIバスツリーテーブル124Aの各行に対応する。すなわち、PCIデバイステーブル124Bは、各行でPCIスロット32毎の情報を表す。PCIデバイステーブル124Bは、図5に示すように、PCIスロット32毎に搭載されたPCIデバイス4の識別情報であるPCIデバイス情報が登録される。本実施例では、サーバ装置500において動作可能なPCIデバイス4の固有のベンダID、デバイスID、サブベンダID及びサブシステムIDの組がPCIデバイス情報として定義される。PCIスロット32にPCIデバイスが搭載されていない場合、PCIデバイステーブル124Bには反映されない。さらに、PCIデバイステーブル124Bには、PCIスロット32毎に、それぞれに割り当てられたPCIバス番号が登録される。 Each row of the PCI device table 124B corresponds to each row of the PCI bus tree table 124A. That is, each row of the PCI device table 124B represents information for each PCI slot 32. As shown in FIG. 5, the PCI device table 124B registers PCI device information, which is identification information for the PCI device 4 mounted in each PCI slot 32. In this embodiment, a set of a unique vendor ID, device ID, sub-vendor ID, and subsystem ID of the PCI device 4 operable in the server device 500 is defined as the PCI device information. If no PCI device is mounted in the PCI slot 32, it is not reflected in the PCI device table 124B. Furthermore, the PCI device table 124B registers the PCI bus number assigned to each PCI slot 32.

本実施例では、PCIデバイス情報テーブル124に、PCIバスツリーテーブル124A及びPCIデバイステーブル124Bが有する情報を全て登録した。ただし、PCIデバイス情報テーブル124には、少なくともPCIデバイス4が搭載された各PCIスロット32の情報と、それに対応するPCIデバイス4の識別情報が登録されればよい。 In this embodiment, all the information contained in the PCI bus tree table 124A and the PCI device table 124B is registered in the PCI device information table 124. However, it is sufficient that at least the information of each PCI slot 32 in which a PCI device 4 is mounted and the identification information of the corresponding PCI device 4 are registered in the PCI device information table 124.

一方、PCIデバイス情報がPCIデバイス情報テーブル124に既登録の場合、システム起動制御部102は、ワークアラウンドを実行するPCIスロット32及びそこに搭載されたPCIデバイス4の情報の通知をPCIデバイス判定部103から受ける。さらに、システム起動制御部102は、各PCIデバイス4に対して実行するワークアラウンドの識別情報の入力をPCIデバイス判定部103から受ける。そして、システム起動制御部102は、ワークアラウンドの識別情報からワークアラウンド番号を取得する。 On the other hand, if the PCI device information has already been registered in the PCI device information table 124, the system startup control unit 102 receives notification of the PCI slot 32 on which the workaround will be executed and information on the PCI device 4 mounted therein from the PCI device determination unit 103. Furthermore, the system startup control unit 102 receives input of identification information of the workaround to be executed for each PCI device 4 from the PCI device determination unit 103. Then, the system startup control unit 102 obtains the workaround number from the identification information of the workaround.

そして、システム起動制御部102は、ワークアラウンドを行うPCIデバイス4が搭載されたPCIスロット32の中から1つずつワークアラウンド実行の対象とするPCIスロット32を選択する。次に、システム起動制御部102は、記憶部120に格納されたワークアラウンド情報テーブル122を参照する。 Then, the system startup control unit 102 selects one by one of the PCI slots 32 in which the PCI device 4 to be used for the workaround is mounted as a target PCI slot 32 for executing the workaround. Next, the system startup control unit 102 refers to the workaround information table 122 stored in the memory unit 120.

図6は、ワークアラウンド情報テーブルの一例を表す図である。ワークアラウンド情報テーブル122は、ワークアラウンド番号に対応させて、そのワークアラウンド番号が割り当てられた各ワークアラウンドで行われる処理の詳細が登録される。ワークアラウンドで実行する処理には、通常のリセットを行う処理、動作を停止させないホットリセットを行う処理、PCIeスイッチ31のポートを制御し再認識する処理、PCIeリンクを制御し回復する処理などが含まれる。また、ワークアラウンド情報テーブル122には、各ワークアラウンドを実行した回数及び各ワークアラウンドを実行する主体が登録される。 Figure 6 is a diagram showing an example of a workaround information table. In the workaround information table 122, details of the processing performed by each workaround to which a workaround number is assigned are registered in association with the workaround number. Processing performed by a workaround includes processing to perform a normal reset, processing to perform a hot reset that does not stop operation, processing to control and re-recognize the port of the PCIe switch 31, and processing to control and recover the PCIe link. In addition, the workaround information table 122 registers the number of times each workaround has been performed and the entity that performs each workaround.

図2に戻って説明を続ける。システム起動制御部102は、対象のPCIスロット32に搭載されたPCIデバイス4に対して行うワークアラウンドのワークアラウンド番号に対応する処理の内容をワークアラウンド情報テーブル122から取得する。そして、システム起動制御部102は、対象とするPCIスロット32に搭載されたPCIデバイス4に対して、そのPCIデバイス4に対して行うワークアラウンドに含まれる各処理を実行する。 Returning to FIG. 2, the explanation will be continued. The system startup control unit 102 obtains the contents of the process corresponding to the workaround number of the workaround to be performed on the PCI device 4 mounted in the target PCI slot 32 from the workaround information table 122. The system startup control unit 102 then executes each process included in the workaround to be performed on the PCI device 4 mounted in the target PCI slot 32.

システム起動制御部102は、ワークアラウンドの実行対象としたPCIデバイス4に対するワークアラウンドの実行しつつPCIデバイス4が搭載されたPCIスロット32のリンクを確立させる。また、PCIデバイス判定部103から判定不能の通知を受けた場合、システム起動制御部102は、ワークアラウンドを行わずに、PCIデバイス4が搭載されたPCIスロット32のリンクを確立させる。 The system startup control unit 102 establishes a link to the PCI slot 32 in which the PCI device 4 is mounted while executing a workaround for the PCI device 4 that is the target of the workaround. Furthermore, if a notification is received from the PCI device determination unit 103 that determination is impossible, the system startup control unit 102 establishes a link to the PCI slot 32 in which the PCI device 4 is mounted without executing a workaround.

その後、システム起動制御部102は、各PCIスロット32についてリンクが正常に確立したか否かを判定する。リンクが正常に確立していないPCIスロット32については、システム起動制御部102は、リンクリトライ処理を実施する。ここで、システム起動制御部102は、ワークアラウンドを実行したPCIスロット32に関しては、リンクリトライ処理の中で同様のワークアラウンドを実施する。 Then, the system startup control unit 102 judges whether or not a link has been established normally for each PCI slot 32. For PCI slots 32 for which a link has not been established normally, the system startup control unit 102 performs a link retry process. Here, for PCI slots 32 for which a workaround has been executed, the system startup control unit 102 executes a similar workaround during the link retry process.

システム起動制御部102は、正常なリンクが確立しない場合、リンクリトライ処理を最大3回まで繰り返す。ワークアラウンドを実施しないPCIスロット32の場合、システム起動制御部102は、リトライ回数をインクリメントしつつ記憶していく。これに対して、ワークアラウンドを実施したPCIスロット32の場合、システム起動制御部102は、ワークアラウンド情報テーブル122のWAリトライ回数をインクリメントしてリトライ回数を登録する。そして、リンクリトライを3回実行しても正常なリンクが確立されないPCIスロット32が存在する場合、システム起動制御部102は、そのPCIスロット32のリンクの確立をあきらめて、システムユニット2のBIOS起動処理部201にBIOS処理の実行を指示する。 If a normal link is not established, the system startup control unit 102 repeats the link retry process up to three times. For a PCI slot 32 that does not implement a workaround, the system startup control unit 102 increments and stores the number of retries. In contrast, for a PCI slot 32 that has implemented a workaround, the system startup control unit 102 increments the number of WA retries in the workaround information table 122 and registers the number of retries. Then, if there is a PCI slot 32 for which a normal link is not established even after three link retries, the system startup control unit 102 gives up on establishing a link for that PCI slot 32 and instructs the BIOS startup processing unit 201 in the system unit 2 to execute BIOS processing.

また、全てのPCIスロット32のリンクが正常に確立された場合も、システム起動制御部102は、システムユニット2のBIOS起動処理部201にBIOS処理の実行を指示する。このシステム起動制御部102が、「ワークアラウンド実行部」の一例にあたる。 Also, when the links of all PCI slots 32 are normally established, the system startup control unit 102 instructs the BIOS startup processing unit 201 of the system unit 2 to execute BIOS processing. This system startup control unit 102 is an example of a "workaround execution unit."

PCIデバイス判定部103は、PCIデバイス4の判定処理の実行の指示をシステム起動制御部102から受ける。そして、PCIデバイス判定部103は、記憶部120に格納されたPCIデバイス情報テーブル124に既に各IOユニット3に搭載された各PCIデバイス4についてのPCIデバイス情報が登録されているか否かを判定する。PCIデバイス情報は、システムユニット2のBIOS起動処理部201によるPCIデバイス4のバススキャン完了後にBIOS起動処理部201により取得されて、PCIデバイス情報取得部104により記憶部120のPCIデバイス情報テーブル124に登録される。 The PCI device determination unit 103 receives an instruction to execute a determination process for the PCI device 4 from the system startup control unit 102. The PCI device determination unit 103 then determines whether or not PCI device information for each PCI device 4 mounted on each IO unit 3 has already been registered in the PCI device information table 124 stored in the storage unit 120. The PCI device information is acquired by the BIOS startup processing unit 201 after the BIOS startup processing unit 201 of the system unit 2 completes a bus scan of the PCI device 4, and is registered in the PCI device information table 124 of the storage unit 120 by the PCI device information acquisition unit 104.

PCIデバイス情報テーブル124にPCIデバイス情報が未登録の場合、PCIデバイス判定部103は、判定不能の通知をシステム起動制御部102へ出力する。これに対して、PCIデバイス情報テーブル124にPCIデバイス情報が既に登録されている場合、PCIデバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4に対して実行するワークアラウンドの判定を行う。 If the PCI device information is not registered in the PCI device information table 124, the PCI device determination unit 103 outputs a notification that determination is not possible to the system startup control unit 102. On the other hand, if the PCI device information is already registered in the PCI device information table 124, the PCI device determination unit 103 determines the workaround to be executed for the PCI device 4 mounted in each PCI slot 32.

具体的には、PCIデバイス判定部103は、PCIデバイス情報テーブル124を確認して、PCIデバイス情報が登録されたPCIスロット32をPCIデバイス4が搭載されたPCIスロット32として特定する。そして、PCIデバイス判定部103は、特定したPCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報をPCIデバイス情報テーブル124から取得する。 Specifically, the PCI device determination unit 103 checks the PCI device information table 124 and identifies the PCI slot 32 in which the PCI device information is registered as the PCI slot 32 in which the PCI device 4 is mounted. Then, the PCI device determination unit 103 obtains the PCI device information of the PCI device 4 mounted in the identified PCI slot 32 from the PCI device information table 124.

次に、PCIデバイス判定部103は、記憶部120に格納されたPCIデバイス判定テーブル123を参照する。図7は、PCIデバイス判定テーブルの一例を表す図である。PCIデバイス判定テーブル123は、図7に示すように、PCIデバイス4の識別情報を表すPCIデバイス情報とワークアラウンドの要否を表すWA(Work Around)要否とが対応付けられて登録される。PCIデバイス判定テーブル123におけるWA要否には、各PCIデバイス情報を有するPCIデバイス4に実行するワークアラウンドの情報が登録される。図7において、WA1及びWA2は、それぞれ実行するワークアラウンドの種類を表す識別情報であり、WAの後の番号はワークアラウンド番号を表す。 Next, the PCI device determination unit 103 refers to the PCI device determination table 123 stored in the storage unit 120. FIG. 7 is a diagram showing an example of the PCI device determination table. As shown in FIG. 7, the PCI device determination table 123 registers PCI device information indicating the identification information of the PCI device 4 and whether or not a workaround (WA) is required, which indicates whether or not a workaround is required. In the WA required field in the PCI device determination table 123, information on the workaround to be executed for the PCI device 4 having each piece of PCI device information is registered. In FIG. 7, WA1 and WA2 are identification information indicating the type of workaround to be executed, and the number after WA indicates the workaround number.

図2に戻って説明を続ける。PCIデバイス判定部103は、PCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報のWA要否をPCIデバイス判定テーブル123で確認する。そして、PCIデバイス判定部103は、各PCIデバイス4に対してワークアラウンドを行うか否かを判定する。 Returning to FIG. 2, the explanation will be continued. The PCI device determination unit 103 checks the PCI device information of the PCI device 4 mounted in the PCI slot 32 to see whether WA is required in the PCI device determination table 123. Then, the PCI device determination unit 103 determines whether or not to perform a workaround for each PCI device 4.

次に、PCIデバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4に対して実行するワークアラウンドの識別情報をPCIデバイス判定テーブル123から取得する。その後、PCIデバイス判定部103は、ワークアラウンドを実行するPCIスロット32及びそこに搭載されたPCIデバイス4の情報をシステム起動制御部102へ通知する。さらに、PCIデバイス判定部103は、各PCIデバイス4に対して実行するワークアラウンドの識別情報をシステム起動制御部102に通知する。 Next, the PCI device determination unit 103 obtains, from the PCI device determination table 123, identification information of the workaround to be executed for the PCI device 4 mounted in each PCI slot 32. After that, the PCI device determination unit 103 notifies the system startup control unit 102 of the PCI slot 32 for executing the workaround and information of the PCI device 4 mounted therein. Furthermore, the PCI device determination unit 103 notifies the system startup control unit 102 of the identification information of the workaround to be executed for each PCI device 4.

PCIデバイス情報取得部104は、システムユニット2のBIOS起動処理部201によるPCIバススキャン処理完了後、PCIデバイス情報を含むPCIデバイス関連情報の入力をPCIデバイス情報送信部212から受信する。PCIデバイス関連情報には、各PCIスロット32に搭載されたPCIデバイス4の識別情報であるPCIデバイス情報の他にPCIバス範囲、PCIバス番号などが含まれる。そして、PCIデバイス情報取得部104は、記憶部120に格納されたPCIデバイス情報テーブル124に取得したPCIデバイス関連情報を登録して、PCIバスツリーテーブル124A及びPCIデバイステーブル124Bを完成させる。 After the BIOS startup processing unit 201 of the system unit 2 completes the PCI bus scan process, the PCI device information acquisition unit 104 receives input of PCI device-related information including PCI device information from the PCI device information transmission unit 212. The PCI device-related information includes the PCI device information, which is identification information of the PCI device 4 mounted in each PCI slot 32, as well as the PCI bus range, PCI bus number, etc. Then, the PCI device information acquisition unit 104 registers the acquired PCI device-related information in the PCI device information table 124 stored in the memory unit 120, thereby completing the PCI bus tree table 124A and the PCI device table 124B.

システムユニット2は、システムユニット2の起動処理を実行するBIOS起動処理部201を有する。BIOS起動処理部201は、図1におけるCPU21及びメモリ22で実現される。BIOS起動処理部201は、PCIバススキャン処理部211、PCIデバイス情報送信部212及び記憶部213を有する。PCIバススキャン処理部211は、図1におけるCPU21がBIOSプログラム27を実行することにより動作するBIOSにより実現される。また、PCIデバイス情報送信部212は、図1におけるBMC24により実現される。 The system unit 2 has a BIOS startup processing unit 201 that executes the startup process of the system unit 2. The BIOS startup processing unit 201 is realized by the CPU 21 and memory 22 in FIG. 1. The BIOS startup processing unit 201 has a PCI bus scan processing unit 211, a PCI device information transmission unit 212, and a storage unit 213. The PCI bus scan processing unit 211 is realized by the BIOS that operates when the CPU 21 in FIG. 1 executes the BIOS program 27. In addition, the PCI device information transmission unit 212 is realized by the BMC 24 in FIG. 1.

BIOS起動処理部201は、BIOS処理実行指示をシステム起動制御部102から受ける。そして、BIOS起動処理部201は、各システムユニット2及びIOユニット3のPCIeスイッチ31に対するPCIバススキャン処理をPCIバススキャン処理部211に実行させる。 The BIOS startup processing unit 201 receives a BIOS processing execution instruction from the system startup control unit 102. The BIOS startup processing unit 201 then causes the PCI bus scan processing unit 211 to execute a PCI bus scan process for the PCIe switches 31 of each system unit 2 and IO unit 3.

PCIバススキャン処理部211は、各システムユニット2及びIOユニット3のPCIeスイッチ31に対してPCIバススキャン処理を実行して、各PCIデバイス4の認識及び初期化を実行する。PCIバススキャンがタイムアウト時間内に完了しなければ、PCIバススキャン処理部211は、エラーログを表示後に起動を停止する。一方、PCIバススキャンが完了した場合、PCIバススキャン処理部211は、PCIeスイッチ31毎の各PCIスロット32搭載されたPCIデバイス4のPCIデバイス情報を含むPCI関連情報を取得する。 The PCI bus scan processing unit 211 executes a PCI bus scan process on the PCIe switches 31 of each system unit 2 and IO unit 3, and recognizes and initializes each PCI device 4. If the PCI bus scan is not completed within the timeout period, the PCI bus scan processing unit 211 displays an error log and then stops starting. On the other hand, if the PCI bus scan is completed, the PCI bus scan processing unit 211 acquires PCI-related information including PCI device information of the PCI devices 4 mounted in each PCI slot 32 of each PCIe switch 31.

次に、PCIバススキャン処理部211は、PCIデバイス情報テーブル221が既に記憶部213に存在するか否かを判定する。PCIデバイス情報テーブル221が存在しない場合、PCIバススキャン処理部211は、取得したPCIデバイス関連情報を用いてPCIデバイス情報テーブル221を生成して記憶部213に格納する。このPCIデバイス情報テーブル221は、PCIデバイス関連情報が登録されていれば、システム管理ユニット1が有するPCIデバイス情報テーブル124と同一であっても良いし、異なっても良い。そして、PCIバススキャン処理部211は、PCIデバイス情報テーブル221の作成をPCIデバイス情報送信部212に通知する。 Next, the PCI bus scan processing unit 211 determines whether or not a PCI device information table 221 already exists in the storage unit 213. If the PCI device information table 221 does not exist, the PCI bus scan processing unit 211 generates a PCI device information table 221 using the acquired PCI device-related information and stores it in the storage unit 213. This PCI device information table 221 may be the same as or different from the PCI device information table 124 possessed by the system management unit 1, as long as the PCI device-related information is registered. Then, the PCI bus scan processing unit 211 notifies the PCI device information transmission unit 212 of the creation of the PCI device information table 221.

これに対して、PCIデバイス情報テーブル221が存在する場合、PCIバススキャン処理部211は、今回のバススキャン処理で取得したPCIデバイス情報とPCIデバイス情報テーブル221に登録済みのPCIデバイス情報とが一致するか否かを判定する。PCIデバイス情報が一致しない場合、PCIバススキャン処理部211は、PCIデバイス情報テーブル124を更新する。そして、PCIバススキャン処理部211は、PCIデバイス情報テーブル221の作成をPCIデバイス情報送信部212に通知する。 In contrast, if a PCI device information table 221 exists, the PCI bus scan processing unit 211 determines whether the PCI device information acquired in the current bus scan process matches the PCI device information already registered in the PCI device information table 221. If the PCI device information does not match, the PCI bus scan processing unit 211 updates the PCI device information table 124. Then, the PCI bus scan processing unit 211 notifies the PCI device information transmission unit 212 to create the PCI device information table 221.

一方、PCIデバイス情報が一致した場合、PCIバススキャン処理部211は、PCIバススキャン完了をBIOS起動処理部201に通知してシステムを起動させる。 On the other hand, if the PCI device information matches, the PCI bus scan processing unit 211 notifies the BIOS startup processing unit 201 that the PCI bus scan is complete and starts the system.

PCIデバイス情報送信部212は、PCIデバイス情報テーブル221の作成の通知をPCIバススキャン処理部211から受ける。次に、PCIデバイス情報送信部212は、記憶部213に格納されたPCIデバイス情報テーブル221からPCIデバイス情報を含むPCIデバイス関連情報を取得する。そして、PCIデバイス情報送信部212は、取得したPCIデバイス関連情報をシステム管理ユニット1のPCIデバイス情報取得部104へ送信する。 The PCI device information transmission unit 212 receives notification of the creation of the PCI device information table 221 from the PCI bus scan processing unit 211. Next, the PCI device information transmission unit 212 acquires PCI device-related information including PCI device information from the PCI device information table 221 stored in the memory unit 213. Then, the PCI device information transmission unit 212 transmits the acquired PCI device-related information to the PCI device information acquisition unit 104 of the system management unit 1.

次に、図8を参照して、実施例1に係るシステム管理ユニット1によるワークアラウンド実行処理の流れについて説明する。図8は、実施例1に係るワークアラウンド実行処理のフローチャートである。 Next, the flow of the workaround execution process by the system management unit 1 according to the first embodiment will be described with reference to FIG. 8. FIG. 8 is a flowchart of the workaround execution process according to the first embodiment.

PCI物理情報取得部101は、起動命令が操作者からシステム管理ユニット1に入力されると、PCI物理情報テーブル121を生成する(ステップS101)。そして、PCI物理情報取得部101は、生成したPCI物理情報テーブル121を記憶部120へ格納する。 When a startup command is input from an operator to the system management unit 1, the PCI physical information acquisition unit 101 generates a PCI physical information table 121 (step S101). Then, the PCI physical information acquisition unit 101 stores the generated PCI physical information table 121 in the storage unit 120.

システム電源投入部105は、操作者からの起動命令にしたがい、システムユニット2及びIOユニット3の電源を投入する(ステップS102)。 The system power-on unit 105 powers on the system unit 2 and the IO unit 3 in response to a startup command from the operator (step S102).

次に、システム電源投入部105は、システムユニット2及びIOユニット3の電源出力が正常か否かを判定する(ステップS103)。電源出力が正常でない場合(ステップS103:否定)、システム管理ユニット1は、エラーログを表示させた後に起動を停止する(ステップS120)。 Next, the system power-on unit 105 determines whether the power output of the system unit 2 and the IO unit 3 is normal (step S103). If the power output is not normal (step S103: No), the system management unit 1 displays an error log and then stops startup (step S120).

これに対して、電源出力が正常の合(ステップS103:肯定)、システム電源投入部105は、システムリセットを解除する(ステップS104)。 In contrast, if the power output is normal (step S103: Yes), the system power-on unit 105 releases the system reset (step S104).

次に、システム起動制御部102は、PCIEスイッチ31の初期化を行う(ステップS105)。 Next, the system startup control unit 102 initializes the PCIE switch 31 (step S105).

システム起動制御部102は、PCIEスイッチ31の初期化が正常に完了したか否かを判定する(ステップS106)。PCIEスイッチ31の初期化が正常に完了しない場合(ステップS106:否定)、システム管理ユニット1は、エラーログを表示させた後に起動を停止する(ステップS120)。 The system startup control unit 102 determines whether the initialization of the PCIE switch 31 has been completed successfully (step S106). If the initialization of the PCIE switch 31 has not been completed successfully (step S106: No), the system management unit 1 displays an error log and then stops startup (step S120).

これに対して、PCIEスイッチ31の初期化が正常に完了した場合(ステップS106:肯定)、システム起動制御部102は、PCIEスイッチ31の動作を開始させる(ステップS107)。その後、システム起動制御部102は、ワークアラウンド判定処理の実行をPCIデバイス判定部103に依頼する。 On the other hand, if the initialization of the PCIE switch 31 is completed normally (step S106: Yes), the system startup control unit 102 starts the operation of the PCIE switch 31 (step S107). After that, the system startup control unit 102 requests the PCI device determination unit 103 to execute a workaround determination process.

PCIデバイス判定部103は、ワークアラウンド判定処理の実行の依頼をシステム起動制御部102から受ける。そして、PCIデバイス判定部103は、PCIデバイス情報テーブル124にPCIデバイス情報が存在するか否かを判定する(ステップS108)。PCIデバイス情報が存在しない場合(ステップS108:否定)、ワークアラウンド実行処理はステップS111へ進む。 The PCI device determination unit 103 receives a request to execute a workaround determination process from the system startup control unit 102. The PCI device determination unit 103 then determines whether or not PCI device information exists in the PCI device information table 124 (step S108). If no PCI device information exists (step S108: No), the workaround execution process proceeds to step S111.

これに対して、PCIデバイス情報が存在する場合(ステップS108:肯定)、PCIデバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報をPCIデバイス情報テーブル124から取得する。そして、PCIデバイス判定部103は、PCIデバイス判定テーブル123から取得したPCIデバイス情報を検出して、ワークアラウンド対象のPCIデバイス4が存在するか否かを判定する(ステップS109)。ワークアラウンド対象のPCIデバイス4が存在しない場合(ステップS109:否定)、ワークアラウンド実行処理はステップS111へ進む。 On the other hand, if the PCI device information exists (step S108: Yes), the PCI device determination unit 103 acquires the PCI device information of the PCI device 4 mounted in each PCI slot 32 from the PCI device information table 124. Then, the PCI device determination unit 103 detects the PCI device information acquired from the PCI device determination table 123 and determines whether or not a PCI device 4 to be a workaround exists (step S109). If a PCI device 4 to be a workaround does not exist (step S109: No), the workaround execution process proceeds to step S111.

これに対して、ワークアラウンド対象のPCIデバイス4が存在する場合(ステップS109:肯定)、PCIデバイス判定部103は、対象とする各PCIデバイス4に対して実行するワークアラウンドの識別情報をPCIデバイス判定テーブル123から取得する。そして、PCIデバイス判定部103は、ワークアラウンド対象とするPCIデバイス4及びそれが搭載されたPCIスロット32の情報、並びに、実行するワークアラウンドの識別情報をシステム起動制御部102へ通知する。システム起動制御部102は、ワークアラウンド対象とするPCIデバイス4及びそれが搭載されたPCIスロット32の情報、並びに、実行するワークアラウンドの識別情報の通知をPCIデバイス判定部103から受ける。そして、システム起動制御部102は、対象とするPCIデバイス4に対してワークアラウンドを実施する(ステップS110)。 On the other hand, if there is a PCI device 4 to be a workaround target (step S109: Yes), the PCI device determination unit 103 obtains identification information of the workaround to be executed for each target PCI device 4 from the PCI device determination table 123. Then, the PCI device determination unit 103 notifies the system startup control unit 102 of the information of the PCI device 4 to be a workaround target and the PCI slot 32 in which it is mounted, as well as the identification information of the workaround to be executed. The system startup control unit 102 receives notification from the PCI device determination unit 103 of the information of the PCI device 4 to be a workaround target and the PCI slot 32 in which it is mounted, as well as the identification information of the workaround to be executed. Then, the system startup control unit 102 implements a workaround for the target PCI device 4 (step S110).

そして、システム起動制御部102は、PCIデバイス4が搭載された全てのPCIスロット32のリンクの確立を行う。その後、システム起動制御部102は、全てのPCIスロット32において正常にリンク確立が完了したか否かを判定する(ステップS111)。 Then, the system startup control unit 102 establishes links for all PCI slots 32 in which PCI devices 4 are mounted. After that, the system startup control unit 102 determines whether link establishment has been completed normally for all PCI slots 32 (step S111).

リンク確立に失敗したPCIスロット32が存在する場合(ステップS111:否定)、システム起動制御部102は、リンクリトライ処理を実施する(ステップS112)。この際、システム起動制御部102は、ワークアラウンドを実行したPCIデバイス4については同様にワークアラウンドを再度実施する。 If there is a PCI slot 32 for which link establishment has failed (step S111: No), the system startup control unit 102 performs a link retry process (step S112). At this time, the system startup control unit 102 similarly performs a workaround again for the PCI device 4 for which a workaround has been performed.

システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数をインクリメントする(ステップS113)。 The system startup control unit 102 increments the number of times link retry processing is performed for each PCI slot 32 that failed to establish a link (step S113).

そして、システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数が3回未満か否かを判定する(ステップS114)。リンクリトライ処理の実施回数が3回未満の場合(ステップS114:肯定)、システム起動制御部102は、ステップS111に戻る。 Then, the system startup control unit 102 determines whether the number of times the link retry process has been performed for each PCI slot 32 for which link establishment has failed is less than three (step S114). If the number of times the link retry process has been performed is less than three (step S114: Yes), the system startup control unit 102 returns to step S111.

これに対して、リンクリトライ処理の実施回数が3回以上の場合(ステップS114:否定)、ステップS115へ進む。 On the other hand, if the link retry process has been performed three or more times (step S114: No), proceed to step S115.

一方、全てのPCIスロット32において正常にリンク確立が完了した場合(ステップS111:肯定)、システム起動制御部102は、ステップS115へ進む。 On the other hand, if link establishment has been completed successfully for all PCI slots 32 (step S111: Yes), the system startup control unit 102 proceeds to step S115.

システム起動制御部102は、システムユニット2のBIOS起動処理部201にBIOS処理の実行指示を送信する(ステップS115)。 The system startup control unit 102 sends an instruction to execute BIOS processing to the BIOS startup processing unit 201 of the system unit 2 (step S115).

その後、PCIデバイス情報取得部104は、PCIデバイス情報をシステムユニット2のPCIデバイス情報送信部212から受信する(ステップS116)。 Then, the PCI device information acquisition unit 104 receives the PCI device information from the PCI device information transmission unit 212 of the system unit 2 (step S116).

次に、PCIデバイス情報取得部104は、PCIデバイス情報をPCIデバイス情報テーブル124に登録して記憶部120に格納する(ステップS117)。 Next, the PCI device information acquisition unit 104 registers the PCI device information in the PCI device information table 124 and stores it in the memory unit 120 (step S117).

その後、PCI物理情報取得部101は、PCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信済みか否かを判定する(ステップS118)。PCI物理情報テーブル121をPCI物理情報取得部215へ送信済みの場合(ステップS118:肯定)、ワークアラウンド実行処理は、ステップS108へ戻る。 Then, the PCI physical information acquisition unit 101 determines whether the PCI physical information table 121 has been sent to the PCI physical information acquisition unit 215 of the system unit 2 (step S118). If the PCI physical information table 121 has been sent to the PCI physical information acquisition unit 215 (step S118: Yes), the workaround execution process returns to step S108.

これに対して、PCI物理情報テーブル121をPCI物理情報取得部215へ未送信の場合(ステップS118:否定)、PCI物理情報取得部101は、PCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信する(ステップS119)。その後、ワークアラウンド実行処理は、ステップS108へ戻る。 On the other hand, if the PCI physical information table 121 has not been sent to the PCI physical information acquisition unit 215 (step S118: No), the PCI physical information acquisition unit 101 sends the PCI physical information table 121 to the PCI physical information acquisition unit 215 of the system unit 2 (step S119). After that, the workaround execution process returns to step S108.

次に、図9を参照して、実施例1に係るシステムユニット2による起動処理の流れを説明する。図9は、実施例1に係る起動処理のフローチャートである。 Next, the flow of the startup process by the system unit 2 according to the first embodiment will be described with reference to FIG. 9. FIG. 9 is a flowchart of the startup process according to the first embodiment.

BIOS起動処理部201は、BIOS処理実行指示をシステム管理ユニット1のシステム起動制御部102から受信する(ステップS201)。 The BIOS startup processing unit 201 receives a BIOS processing execution instruction from the system startup control unit 102 of the system management unit 1 (step S201).

PCIバススキャン処理部211は、各IOユニット3のPCIeスイッチ31に対してPCIバススキャン処理を開始する(ステップS202)。 The PCI bus scan processing unit 211 starts a PCI bus scan process for the PCIe switch 31 of each IO unit 3 (step S202).

そして、PCIバススキャン処理部211は、各PCIeスイッチ31に対するPCIバススキャンがタイムアウト時間内に完了したか否かを判定する(ステップS203)。 Then, the PCI bus scan processing unit 211 determines whether the PCI bus scan for each PCIe switch 31 is completed within the timeout period (step S203).

PCIバススキャンがタイムアウト時間内に完了しないPCIeスイッチ31が存在する場合(ステップS203:否定)、BIOS起動処理部201は、タイムアウトをシステム管理ユニット1に通知する。システム管理ユニット1のシステム起動制御部102は、タイムアウトの通知を受けて、エラーログを表示した後に起動を停止する(ステップS204)。 If there is a PCIe switch 31 for which the PCI bus scan is not completed within the timeout period (step S203: No), the BIOS startup processing unit 201 notifies the system management unit 1 of the timeout. Upon receiving the timeout notification, the system startup control unit 102 of the system management unit 1 displays an error log and then stops the startup (step S204).

これに対して、各PCIeスイッチ31に対するPCIバススキャンがタイムアウト時間内に完了した場合(ステップS203:肯定)、PCIバススキャン処理部211は、記憶部213がPCIデバイス情報テーブル221を保持するか否かを判定する(ステップS205)。 In contrast, if the PCI bus scan for each PCIe switch 31 is completed within the timeout period (step S203: Yes), the PCI bus scan processing unit 211 determines whether the memory unit 213 holds the PCI device information table 221 (step S205).

記憶部213がPCIデバイス情報テーブル221を保持する場合(ステップS205:肯定)、PCIバススキャン処理部211は、今回のバススキャンで得られたPCIデバイス情報とPCIデバイス情報テーブル221に登録されたPCIデバイス情報とを比較する。そして、PCIバススキャン処理部211は、それぞれのPCIデバイス情報が一致するか否かを判定する(ステップS206)。 If the memory unit 213 holds the PCI device information table 221 (step S205: Yes), the PCI bus scan processing unit 211 compares the PCI device information obtained in this bus scan with the PCI device information registered in the PCI device information table 221. Then, the PCI bus scan processing unit 211 determines whether the respective PCI device information matches (step S206).

PCIデバイス情報テーブル221存在しない場合(ステップS205:否定)又はPCIデバイス情報が一致しない場合(ステップS206:否定)、PCIバススキャン処理部211は、以下の処理を実行する。すなわち、PCIバススキャン処理部211は、今回取得したPCIデバイス情報を含むPCI関連情報を用いてPCIデバイス情報テーブル221を作成して記憶部213に格納する(ステップS207)。その後、PCIバススキャン処理部211は、PCIデバイス情報テーブル221の作成をPCIデバイス情報送信部212に通知する。 If the PCI device information table 221 does not exist (step S205: No) or the PCI device information does not match (step S206: No), the PCI bus scan processing unit 211 executes the following process. That is, the PCI bus scan processing unit 211 creates the PCI device information table 221 using the PCI-related information including the currently acquired PCI device information, and stores it in the storage unit 213 (step S207). After that, the PCI bus scan processing unit 211 notifies the PCI device information transmission unit 212 of the creation of the PCI device information table 221.

PCIデバイス情報送信部212は、PCIバススキャン処理部211からの通知を受けて、PCIデバイス情報テーブル221からPCI関連情報を取得してシステム管理ユニット1のPCIデバイス情報取得部104へ送信する(ステップS208)。その後、起動処理は、図8のステップS116へ進む。 Upon receiving the notification from the PCI bus scan processing unit 211, the PCI device information transmission unit 212 acquires PCI-related information from the PCI device information table 221 and transmits it to the PCI device information acquisition unit 104 of the system management unit 1 (step S208). After that, the startup process proceeds to step S116 in FIG. 8.

これに対して、PCIデバイス情報が一致した場合(ステップS206:肯定)、BIOS起動処理部201は、システムを起動させる(ステップS209)。 On the other hand, if the PCI device information matches (step S206: Yes), the BIOS startup processing unit 201 starts the system (step S209).

以上に説明したように、本実施例に係るシステム管理ユニットは、BIOSがPCIバススキャン処理により取得したPCIデバイス情報を用いて各PCIスロットに搭載されたPCIデバイスを識別する。そして、システム管理ユニットは、各PCIスロットに搭載されたPCIデバイスに応じたワークアラウンドをPCIデバイス毎に実行する。このように、本実施例に係るシステム管理ユニットで動作するシステム管理ファームウェアとシステムユニットで動作するBIOSとが、システム起動前に相互にPCIデバイス情報を共有する。これにより、PCIデバイス情報の表示及びそれらのエラー時のメッセージ表示に使用だけでなく、特定のPCIデバイスに対してワークフローの実施及びBIOSのリトライ処理も可能となる。すなわち、PCIデバイスに対する不要なワークアラウンドの実行を抑制することができ、正常に動作するPCIデバイスへの悪影響を軽減できる。したがって、PCIデバイスの共存の制限が軽減されることで拡張性が広がり、システム性能を向上させることができる。 As described above, the system management unit according to this embodiment identifies the PCI devices installed in each PCI slot using the PCI device information acquired by the BIOS through the PCI bus scan process. The system management unit then executes a workaround for each PCI device installed in each PCI slot. In this way, the system management firmware operating in the system management unit according to this embodiment and the BIOS operating in the system unit share PCI device information with each other before the system is started. This not only allows the display of PCI device information and the display of messages when errors occur, but also allows the implementation of workflows and BIOS retry processing for specific PCI devices. In other words, it is possible to suppress the execution of unnecessary workarounds for PCI devices, and to reduce adverse effects on PCI devices that operate normally. Therefore, the scalability is expanded by reducing the restrictions on the coexistence of PCI devices, and the system performance can be improved.

図10は、実施例2に係るサーバ装置のブロック図である。本実施例に係るシステム管理ユニット1は、PCIデバイス4がサーバ装置500における搭載要件に適合するか否かを判定する。また、本実施例に係るシステムユニット2は、PCI物理情報テーブル222にしたがってバススキャン処理を実行する。以下の説明では、実施例1における各部の動作と同じ動作については説明を省略する場合がある。 FIG. 10 is a block diagram of a server device according to the second embodiment. The system management unit 1 according to the second embodiment determines whether the PCI device 4 meets the mounting requirements of the server device 500. The system unit 2 according to the second embodiment executes a bus scan process according to the PCI physical information table 222. In the following description, the same operations as those of the components in the first embodiment may be omitted.

本実施例に係るシステム管理ユニット1について説明する。図11は、実施例2に係るPCIデバイス判定テーブルの一例を表す図である。本実施例に係るPCIデバイス判定テーブル123は、WA要否の他に、混在禁止条件及び最大搭載数が登録される。混在禁止条件は、各PCIデバイス4について混在させてPCIeスイッチ31が有するポートが論理分割された同一パーティションに搭載できないPCIデバイス4の情報を表す。また、最大搭載数は、サーバ装置500あたり及びパーティションあたりの各PCIデバイス4の搭載可能な上限の数を表す。例えば、図11において、最大搭載数が24/16と記載されたPCIデバイス4は、サーバ装置500あたり24枚まで搭載可能であり、パーティションあたり16枚まで搭載可能であることを表す。 The system management unit 1 according to the present embodiment will be described. FIG. 11 is a diagram showing an example of a PCI device determination table according to the second embodiment. In the PCI device determination table 123 according to the present embodiment, in addition to whether WA is required, the mixing prohibition condition and the maximum number of mounted devices are registered. The mixing prohibition condition indicates information on PCI devices 4 that cannot be mixed and mounted in the same partition in which the ports of the PCIe switch 31 are logically divided. The maximum number of mounted devices indicates the upper limit of the number of PCI devices 4 that can be mounted per server device 500 and per partition. For example, in FIG. 11, the PCI device 4 with the maximum number of mounted devices described as 24/16 indicates that up to 24 PCI devices 4 can be mounted per server device 500 and up to 16 PCI devices can be mounted per partition.

また、PCIデバイス情報がPCIデバイス判定テーブル123に登録されていない場合、そのPCIデバイス情報を有するPCIデバイス4は、サーバ装置500で未サポートのPCIデバイス4である。未サポートとは、例えば、サーバ装置500において動作確認が為されていない又は動作保証がされていないことを表す。 In addition, if the PCI device information is not registered in the PCI device determination table 123, the PCI device 4 having that PCI device information is a PCI device 4 that is not supported by the server device 500. "Not supported" means, for example, that the operation has not been confirmed or is not guaranteed by the server device 500.

PCIデバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報をPCIデバイス情報テーブル124から取得する。次に、PCIデバイス判定部103は、取得したPCIデバイス情報の中でPCIデバイス判定テーブル123に登録されていないPCIデバイス情報が存在するか否かを判定する。サーバ装置500でサポートされていないPCIデバイス4が存在する場合、PCIデバイス判定部103は、エラーログの表示及び起動の停止をシステム起動制御部102に行わせる。 The PCI device determination unit 103 acquires PCI device information of the PCI devices 4 mounted in each PCI slot 32 from the PCI device information table 124. Next, the PCI device determination unit 103 determines whether or not there is any PCI device information that is not registered in the PCI device determination table 123 among the acquired PCI device information. If there is a PCI device 4 that is not supported by the server device 500, the PCI device determination unit 103 causes the system startup control unit 102 to display an error log and stop startup.

また、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、混在禁止のPCIデバイス4が存在するか否かを判定する。混在禁止のPCIデバイス4の組が存在した場合、PCIデバイス判定部103は、エラーログの表示及び起動の停止をシステム起動制御部102に行わせる。 The PCI device determination unit 103 also refers to the PCI device determination table 123 to determine whether or not a pair of prohibited PCI devices 4 exists. If a pair of prohibited PCI devices 4 exists, the PCI device determination unit 103 causes the system startup control unit 102 to display an error log and stop startup.

また、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、最大搭載数以上の数が搭載された、すなわち搭載上限数を超えたPCIデバイス4が存在するか否かを判定する。搭載上限数を超えたPCIデバイス4が存在する場合、PCIデバイス判定部103は、エラーログの表示及び起動の停止をシステム起動制御部102に行わせる。 The PCI device determination unit 103 also refers to the PCI device determination table 123 to determine whether or not there are any PCI devices 4 that are installed in a number greater than the maximum number that can be installed, i.e., the upper limit number that can be installed is exceeded. If there are any PCI devices 4 that exceed the upper limit number that can be installed, the PCI device determination unit 103 causes the system startup control unit 102 to display an error log and stop startup.

未サポートのPCIデバイス4、混在禁止のPCIデバイス4及び搭載上限数超えのPCIデバイス4が存在しない場合、PCIデバイス判定部103は、ワークアラウンド対象とするPCIデバイス4を特定する。その後、PCIデバイス判定部103は、対象とするPCIデバイス4及びそれが搭載されたPCIスロット32の情報、並びに、実行するワークアラウンドの識別情報をシステム起動制御部102に通知する。 If there are no unsupported PCI devices 4, no PCI devices 4 that are prohibited from being mixed, or no PCI devices 4 that exceed the upper limit of the number that can be installed, the PCI device determination unit 103 identifies the PCI device 4 to be the target of the workaround. After that, the PCI device determination unit 103 notifies the system startup control unit 102 of information on the target PCI device 4 and the PCI slot 32 in which it is installed, as well as identification information for the workaround to be executed.

また、本実施例に係るPCI物理情報取得部101は、作成したPCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信する。 In addition, the PCI physical information acquisition unit 101 in this embodiment transmits the created PCI physical information table 121 to the PCI physical information acquisition unit 215 of the system unit 2.

次に、本実施例に係るシステムユニット2について説明する。本実施例に係るシステムユニット2は、実施例1で例示した各部に加えて、PCI物理情報判定部214及びPCI物理情報取得部215を有する。 Next, the system unit 2 according to this embodiment will be described. In addition to the units exemplified in the first embodiment, the system unit 2 according to this embodiment has a PCI physical information determination unit 214 and a PCI physical information acquisition unit 215.

PCI物理情報取得部215は、PCI物理情報テーブル121をPCI物理情報取得部101から受信する。そして、PCI物理情報取得部215は、取得したPCI物理情報テーブル121を記憶部213にPCI物理情報テーブル222として格納する。 The PCI physical information acquisition unit 215 receives the PCI physical information table 121 from the PCI physical information acquisition unit 101. Then, the PCI physical information acquisition unit 215 stores the acquired PCI physical information table 121 in the memory unit 213 as the PCI physical information table 222.

PCIバススキャン処理部211は、各PCIEスイッチ31に対するPCIバススキャンの実行を開始する。そして、PCIバススキャン処理部211は、各PCIスロット32に搭載されたPCIデバイス4を認識後、PCIデバイス4の搭載が認識されたPCIスロット32の情報をPCI物理情報判定部214へ出力する。 The PCI bus scan processing unit 211 starts executing a PCI bus scan for each PCIE switch 31. Then, after recognizing the PCI device 4 installed in each PCI slot 32, the PCI bus scan processing unit 211 outputs information about the PCI slot 32 in which it has been recognized that the PCI device 4 is installed to the PCI physical information determination unit 214.

その後、PCIバススキャン処理部211は、未認識のPCIデバイス4が存在する旨の通知をPCI物理情報判定部214から取得すると、リンクリトライ処理を実施する。PCIバススキャン処理部211は、リンクリトライ処理の実施回数が3回に達するまで、PCIデバイス4の認識及びPCIデバイス4の搭載が認識されたPCIスロット32の情報の通知を繰り返す。リンクリトライ処理が3回に達した場合、PCIバススキャン処理部211は、リンクリトライ処理を終了する。 Then, when the PCI bus scan processing unit 211 receives a notification from the PCI physical information determination unit 214 that an unrecognized PCI device 4 exists, it performs a link retry process. The PCI bus scan processing unit 211 repeats the recognition of the PCI device 4 and the notification of the information of the PCI slot 32 in which the PCI device 4 is recognized to be installed, until the number of link retry processes reaches three. When the link retry process reaches three, the PCI bus scan processing unit 211 ends the link retry process.

全てのPCIデバイス4の認識完了通知をPCI物理情報判定部214から受けた場合、または、リンクリトライ処理を終了した場合、PCIバススキャン処理部211は、PCIバススキャン処理を進め、各PCIデバイスの初期化などを実行する。 When a notification that recognition has been completed for all PCI devices 4 has been received from the PCI physical information determination unit 214, or when the link retry process has ended, the PCI bus scan processing unit 211 proceeds with the PCI bus scan process and performs initialization of each PCI device, etc.

その後、PCIバススキャン処理部211は、PCIバススキャン処理のタイムアウト時間内に完了した場合、PCIデバイス情報テーブル221の有無及び登録内容にしたがい作成するか否かを判定する。PCIデバイス情報テーブル221を作成する場合、PCIバススキャン処理部211は、新たにPCIデバイス情報テーブル221を作成して記憶部213に格納する。これに対して、PCIデバイス情報テーブル221を作成しない場合、PCIバススキャン処理部211は、システム起動をBIOS起動処理部201に行わせる。 After that, if the PCI bus scan process is completed within the timeout period, the PCI bus scan processing unit 211 determines whether or not a PCI device information table 221 exists and whether or not to create one based on the registered contents. If a PCI device information table 221 is to be created, the PCI bus scan processing unit 211 creates a new PCI device information table 221 and stores it in the memory unit 213. On the other hand, if a PCI device information table 221 is not to be created, the PCI bus scan processing unit 211 causes the BIOS startup processing unit 201 to start the system.

PCI物理情報判定部214は、PCIデバイス4の搭載が認識されたPCIスロット32の情報の入力をPCIバススキャン処理部211から受ける。そして、PCI物理情報判定部214は、記憶部213に格納されたPCI物理情報テーブル222からPCIデバイス4が搭載されたPCIスロット32の情報を取得する。そして、PCI物理情報判定部214は、PCIデバイス4の搭載が認識されたPCIスロット32とPCI物理情報テーブル222から取得したPCIデバイス4が搭載されたPCIスロット32の情報とを比較する。そして、PCI物理情報判定部214は、PCI物理情報テーブル222から取得したPCIデバイス4が搭載されたPCIスロット32に実装されたPCIデバイス4がすべて認識できているか否か判定する。認識できていないPCIデバイス4が存在する場合、PCI物理情報判定部214は、リンクリトライ処理の実施をPCIバススキャン処理部211に指示する。認識できていないPCIデバイス4がなければ、PCI物理情報判定部214は、認識完了をPCIバススキャン処理部211に通知する。 The PCI physical information determination unit 214 receives an input of information on the PCI slot 32 in which the PCI device 4 is recognized from the PCI bus scan processing unit 211. Then, the PCI physical information determination unit 214 acquires information on the PCI slot 32 in which the PCI device 4 is mounted from the PCI physical information table 222 stored in the storage unit 213. Then, the PCI physical information determination unit 214 compares the PCI slot 32 in which the PCI device 4 is recognized and the information on the PCI slot 32 in which the PCI device 4 is mounted acquired from the PCI physical information table 222. Then, the PCI physical information determination unit 214 determines whether all of the PCI devices 4 mounted in the PCI slot 32 in which the PCI device 4 is mounted acquired from the PCI physical information table 222 can be recognized. If there is a PCI device 4 that cannot be recognized, the PCI physical information determination unit 214 instructs the PCI bus scan processing unit 211 to perform a link retry process. If there is no PCI device 4 that has not been recognized, the PCI physical information determination unit 214 notifies the PCI bus scan processing unit 211 that recognition is complete.

次に、図12を参照して、実施例2に係るシステム管理ユニット1によるワークアラウンド実行処理の流れについて説明する。図8は、実施例2に係るワークアラウンド実行処理のフローチャートである。 Next, the flow of the workaround execution process by the system management unit 1 according to the second embodiment will be described with reference to FIG. 12. FIG. 8 is a flowchart of the workaround execution process according to the second embodiment.

PCI物理情報取得部101は、起動命令が操作者からシステム管理ユニット1に入力されると、PCI物理情報テーブル121を生成する(ステップS301)。そして、PCI物理情報取得部101は、生成したPCI物理情報テーブル121を記憶部120へ格納する。 When a startup command is input from an operator to the system management unit 1, the PCI physical information acquisition unit 101 generates a PCI physical information table 121 (step S301). Then, the PCI physical information acquisition unit 101 stores the generated PCI physical information table 121 in the storage unit 120.

システム電源投入部105は、操作者からの起動命令にしたがって、パーティションに属するシステムユニット2及びIOユニット3の電源を投入する(ステップS302)。 The system power-on unit 105 powers on the system unit 2 and IO unit 3 that belong to the partition in response to a startup command from the operator (step S302).

次に、システム電源投入部105は、システムユニット2及びIOユニット3の電源出力が正常か否かを判定する(ステップS303)。電源出力が正常でない場合(ステップS303:否定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。 Next, the system power-on unit 105 determines whether the power output of the system unit 2 and the IO unit 3 is normal (step S303). If the power output is not normal (step S303: No), the system startup control unit 102 displays an error log and then stops startup (step S323).

これに対して、電源出力が正常の場合(ステップS303:肯定)、システム電源投入部105は、システムリセットを解除する(ステップS304)。 On the other hand, if the power output is normal (step S303: Yes), the system power-on unit 105 releases the system reset (step S304).

次に、システム起動制御部102は、PCIEスイッチ31の初期化を行う(ステップS305)。 Next, the system startup control unit 102 initializes the PCIE switch 31 (step S305).

システム起動制御部102は、PCIEスイッチ31の初期化が正常に完了したか否かを判定する(ステップS306)。PCIEスイッチ31の初期化が正常に完了しない場合(ステップS306:否定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。 The system startup control unit 102 determines whether the initialization of the PCIE switch 31 has been completed successfully (step S306). If the initialization of the PCIE switch 31 has not been completed successfully (step S306: No), the system startup control unit 102 displays an error log and then stops the startup (step S323).

これに対して、PCIEスイッチ31の初期化が正常に完了した場合(ステップS306:肯定)、システム起動制御部102は、PCIEスイッチ31の動作を開始させる(ステップS307)。その後、システム起動制御部102は、ワークアラウンド判定処理の実行をPCIデバイス判定部103に依頼する。 On the other hand, if the initialization of the PCIE switch 31 is completed normally (step S306: Yes), the system startup control unit 102 starts the operation of the PCIE switch 31 (step S307). After that, the system startup control unit 102 requests the PCI device determination unit 103 to execute a workaround determination process.

PCIデバイス判定部103は、ワークアラウンド判定処理の実行依頼をシステム起動制御部102から受ける。そして、PCIデバイス判定部103は、PCIデバイス情報テーブル124にPCIデバイス情報が存在するか否かを判定する(ステップS308)。PCIデバイス情報が存在しない場合(ステップS308:否定)、ワークアラウンド実行処理はステップS314へ進む。 The PCI device determination unit 103 receives a request to execute a workaround determination process from the system startup control unit 102. The PCI device determination unit 103 then determines whether or not PCI device information exists in the PCI device information table 124 (step S308). If no PCI device information exists (step S308: No), the workaround execution process proceeds to step S314.

これに対して、PCIデバイス情報が存在する場合(ステップS308:肯定)、PCIデバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報をPCIデバイス情報テーブル124から取得する。次に、PCIデバイス判定部103は、取得したPCIデバイス情報の中でPCIデバイス判定テーブル123に登録されていないPCIデバイス情報が存在するか否かを確認する。そして、PCIデバイス判定部103は、サーバ装置500で未サポートのPCIデバイス4が存在するか否かを判定する(ステップS309)。サーバ装置500で未サポートのPCIデバイス4が存在する場合(ステップS309:肯定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。 On the other hand, if PCI device information exists (step S308: Yes), the PCI device determination unit 103 acquires PCI device information of the PCI device 4 mounted in each PCI slot 32 from the PCI device information table 124. Next, the PCI device determination unit 103 checks whether or not there is PCI device information that is not registered in the PCI device determination table 123 among the acquired PCI device information. Then, the PCI device determination unit 103 judges whether or not there is an unsupported PCI device 4 in the server device 500 (step S309). If there is an unsupported PCI device 4 in the server device 500 (step S309: Yes), the system startup control unit 102 displays an error log and then stops startup (step S323).

サーバ装置500で未サポートのPCIデバイス4が存在しない場合(ステップS309:否定)、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、混在禁止のPCIデバイス4が存在するか否かを判定する(ステップS310)。混在禁止のPCIデバイス4の組が存在した場合(ステップS310:肯定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。 If there is no unsupported PCI device 4 in the server device 500 (step S309: No), the PCI device determination unit 103 refers to the PCI device determination table 123 to determine whether there is a pair of PCI devices 4 that are prohibited from being mixed (step S310). If there is a pair of PCI devices 4 that are prohibited from being mixed (step S310: Yes), the system startup control unit 102 displays an error log and then stops the startup (step S323).

混在禁止のPCIデバイス4の組が存在しない場合(ステップS310:否定)、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、搭載上限数を超えたPCIデバイス4が存在するか否かを判定する(ステップS311)。搭載上限数を超えたPCIデバイス4が存在する場合(ステップS311:肯定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。 If there is no pair of prohibited PCI devices 4 (step S310: No), the PCI device determination unit 103 refers to the PCI device determination table 123 and determines whether there are any PCI devices 4 that exceed the upper limit of the number that can be mounted (step S311). If there are any PCI devices 4 that exceed the upper limit of the number that can be mounted (step S311: Yes), the system startup control unit 102 displays an error log and then stops the startup (step S323).

一方、搭載上限数を超えたPCIデバイス4が存在しない場合(ステップS311:否定)、PCIデバイス判定部103は、PCIデバイス判定テーブル123を用いてワークアラウンド対象のPCIデバイス4が存在するか否かを判定する(ステップS312)。ワークアラウンド対象のPCIデバイス4が存在しない場合(ステップS312:否定)、ワークアラウンド実行処理はステップS314へ進む。 On the other hand, if there is no PCI device 4 that exceeds the upper limit (step S311: No), the PCI device determination unit 103 uses the PCI device determination table 123 to determine whether or not there is a PCI device 4 that is a workaround target (step S312). If there is no PCI device 4 that is a workaround target (step S312: No), the workaround execution process proceeds to step S314.

これに対して、ワークアラウンド対象のPCIデバイス4が存在する場合(ステップS312:肯定)、PCIデバイス判定部103は、対象とする各PCIデバイス4に対して実行するワークアラウンドの識別情報をPCIデバイス判定テーブル123から取得する。そして、PCIデバイス判定部103は、ワークアラウンド対象とするPCIデバイス4及びそれが搭載されたPCIスロット32の情報、並びに、実行するワークアラウンドの識別情報をシステム起動制御部102へ通知する。システム起動制御部102は、ワークアラウンド対象とするPCIデバイス4及びそれが搭載されたPCIスロット32の情報、並びに、実行するワークアラウンドの識別情報の通知をPCIデバイス判定部103から受ける。そして、システム起動制御部102は、対象とするPCIデバイス4に対してワークアラウンドを実施する(ステップS313)。 On the other hand, if there is a PCI device 4 to be a workaround target (step S312: Yes), the PCI device determination unit 103 obtains identification information of the workaround to be executed for each target PCI device 4 from the PCI device determination table 123. Then, the PCI device determination unit 103 notifies the system startup control unit 102 of the information of the PCI device 4 to be a workaround target and the PCI slot 32 in which it is mounted, as well as the identification information of the workaround to be executed. The system startup control unit 102 receives notification from the PCI device determination unit 103 of the information of the PCI device 4 to be a workaround target and the PCI slot 32 in which it is mounted, as well as the identification information of the workaround to be executed. Then, the system startup control unit 102 implements a workaround for the target PCI device 4 (step S313).

そして、システム起動制御部102は、PCIデバイス4が搭載された全てのPCIスロット32のリンクの確立を行う。その後、システム起動制御部102は、全てのPCIスロット32において正常にリンク確立が完了したか否かを判定する(ステップS314)。 Then, the system startup control unit 102 establishes links for all PCI slots 32 in which PCI devices 4 are mounted. After that, the system startup control unit 102 determines whether link establishment has been completed normally for all PCI slots 32 (step S314).

リンク確立に失敗したPCIスロット32が存在する場合(ステップS314:否定)、システム起動制御部102は、リンクリトライ処理を実施する(ステップS315)。この際、システム起動制御部102は、ワークアラウンドを実行したPCIデバイス4については同様にワークアラウンドを再度実施する。 If there is a PCI slot 32 for which link establishment has failed (step S314: No), the system startup control unit 102 performs a link retry process (step S315). At this time, the system startup control unit 102 similarly performs a workaround again for the PCI device 4 for which a workaround has been performed.

システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数をインクリメントする(ステップS316)。 The system startup control unit 102 increments the number of times link retry processing is performed for each PCI slot 32 that failed to establish a link (step S316).

そして、システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数が3回未満か否かを判定する(ステップS317)。リンクリトライ処理の実施回数が3回未満の場合(ステップS317:肯定)、システム起動制御部102は、ステップS314に戻る。 Then, the system startup control unit 102 determines whether the number of times the link retry process has been performed for each PCI slot 32 for which link establishment has failed is less than three (step S317). If the number of times the link retry process has been performed is less than three (step S317: Yes), the system startup control unit 102 returns to step S314.

これに対して、リンクリトライ処理の実施回数が3回以上の場合(ステップS317:否定)、システム起動制御部102は、ステップS318へ進む。 On the other hand, if the link retry process has been performed three or more times (step S317: No), the system startup control unit 102 proceeds to step S318.

一方、全てのPCIスロット32において正常にリンク確立が完了した場合(ステップS314:肯定)、システム起動制御部102は、ステップS318へ進む。 On the other hand, if link establishment is completed normally for all PCI slots 32 (step S314: Yes), the system startup control unit 102 proceeds to step S318.

システム起動制御部102は、システムユニット2のBIOS起動処理部201にBIOS処理の実行指示を送信する(ステップS318)。 The system startup control unit 102 sends an instruction to execute BIOS processing to the BIOS startup processing unit 201 of the system unit 2 (step S318).

その後、PCIデバイス情報取得部104は、PCIデバイス情報をシステムユニット2のPCIデバイス情報送信部212から受信する(ステップS319)。 Then, the PCI device information acquisition unit 104 receives the PCI device information from the PCI device information transmission unit 212 of the system unit 2 (step S319).

次に、PCIデバイス情報取得部104は、PCIデバイス情報をPCIデバイス情報テーブル124に登録して記憶部120に格納する(ステップS320)。 Next, the PCI device information acquisition unit 104 registers the PCI device information in the PCI device information table 124 and stores it in the memory unit 120 (step S320).

その後、PCI物理情報取得部101は、PCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信済みか否かを判定する(ステップS321)。PCI物理情報テーブル121をPCI物理情報取得部215へ送信済みの場合(ステップS321:肯定)、ワークアラウンド実行処理は、ステップS308へ戻る。 Then, the PCI physical information acquisition unit 101 determines whether the PCI physical information table 121 has been sent to the PCI physical information acquisition unit 215 of the system unit 2 (step S321). If the PCI physical information table 121 has been sent to the PCI physical information acquisition unit 215 (step S321: Yes), the workaround execution process returns to step S308.

これに対して、PCI物理情報テーブル121をPCI物理情報取得部215へ未送信の場合(ステップS321:否定)、PCI物理情報取得部101は、PCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信する(ステップS322)。その後、ワークアラウンド実行処理は、ステップS308へ戻る。 On the other hand, if the PCI physical information table 121 has not been sent to the PCI physical information acquisition unit 215 (step S321: No), the PCI physical information acquisition unit 101 sends the PCI physical information table 121 to the PCI physical information acquisition unit 215 of the system unit 2 (step S322). After that, the workaround execution process returns to step S308.

次に、図13を参照して、実施例2に係るシステムユニット2による起動処理の流れを説明する。図13は、実施例2に係る起動処理のフローチャートである。 Next, the flow of the startup process by the system unit 2 according to the second embodiment will be described with reference to FIG. 13. FIG. 13 is a flowchart of the startup process according to the second embodiment.

BIOS起動処理部201は、BIOS処理実行指示をシステム管理ユニット1のシステム起動制御部102から受信する(ステップS401)。 The BIOS startup processing unit 201 receives a BIOS processing execution instruction from the system startup control unit 102 of the system management unit 1 (step S401).

PCIバススキャン処理部211は、各IOユニット3のPCIeスイッチ31に対してPCIバススキャン処理を開始する(ステップS402)。 The PCI bus scan processing unit 211 starts a PCI bus scan process for the PCIe switch 31 of each IO unit 3 (step S402).

そして、PCIバススキャン処理部211は、PCIデバイス4を認識したPCIスロット32の情報をPCI物理情報判定部214へ出力する。PCI物理情報判定部214は、記憶部213がPCI物理情報テーブル222を保持するか否かを判定する(ステップS403)。記憶部213がPCI物理情報テーブル222を保持しない場合(ステップS403:否定)、起動処理は、ステップS408へ進む。 Then, the PCI bus scan processing unit 211 outputs information about the PCI slot 32 in which the PCI device 4 is recognized to the PCI physical information determination unit 214. The PCI physical information determination unit 214 determines whether the memory unit 213 holds the PCI physical information table 222 (step S403). If the memory unit 213 does not hold the PCI physical information table 222 (step S403: No), the startup process proceeds to step S408.

これに対して、記憶部213がPCI物理情報テーブル222を保持する場合(ステップS403:肯定)、PCI物理情報判定部214は、PCI物理情報テーブル222において実装情報ありとされたPCIスロット32を特定する。そして、PCI物理情報判定部214は、実装情報ありのPCIスロット32にPCIデバイス4が存在するか否かを判定する(ステップS404)。実装情報ありのPCIスロット32のPCIデバイス4が全て存在する場合(ステップS404:肯定)、起動処理は、ステップS408へ進む。 On the other hand, if the memory unit 213 holds the PCI physical information table 222 (step S403: Yes), the PCI physical information determination unit 214 identifies the PCI slots 32 for which mounting information is present in the PCI physical information table 222. Then, the PCI physical information determination unit 214 determines whether or not a PCI device 4 is present in the PCI slots 32 for which mounting information is present (step S404). If a PCI device 4 is present in all of the PCI slots 32 for which mounting information is present (step S404: Yes), the startup process proceeds to step S408.

一方、実装情報ありのPCIスロット32の中にPCIデバイス4が存在しないPCIスロット32がある場合(ステップS404:否定)、PCI物理情報判定部214は、リンクリトライ処理の実施指示をPCIバススキャン処理部211に通知する。 On the other hand, if there is a PCI slot 32 in which a PCI device 4 does not exist among the PCI slots 32 with implementation information (step S404: No), the PCI physical information determination unit 214 notifies the PCI bus scan processing unit 211 of an instruction to perform a link retry process.

そして、PCIバススキャン処理部211は、リンクリトライ処理を実施する(ステップS405)。 Then, the PCI bus scan processing unit 211 performs link retry processing (step S405).

リンクリトライ処理の実施後、PCIバススキャン処理部211は、自己が記憶するリンクリトライ処理の実施回数をインクリメントする(ステップS406)。 After performing the link retry process, the PCI bus scan processing unit 211 increments the number of times the link retry process has been performed that is stored in itself (step S406).

その後、PCIバススキャン処理部211は、リンクリトライ処理の実施回数が3回未満か否かを判定する(ステップS407)。リンクリトライ処理の実施回数が3回未満の場合(ステップS407:肯定)、起動処理は、ステップS404へ戻る。 Then, the PCI bus scan processing unit 211 determines whether the number of times the link retry process has been performed is less than three (step S407). If the number of times the link retry process has been performed is less than three (step S407: Yes), the startup process returns to step S404.

リンクリトライ処理の実施回数が3回以上の場合(ステップS407:否定)、PCIバススキャン処理部211は、各PCIeスイッチ31に対するPCIバススキャンがタイムアウト時間内に完了したか否かを判定する(ステップS408)。 If the link retry process has been performed three or more times (step S407: No), the PCI bus scan processing unit 211 determines whether the PCI bus scan for each PCIe switch 31 has been completed within the timeout period (step S408).

PCIバススキャンがタイムアウト時間内に完了しないPCIeスイッチ31が存在する場合(ステップS408:否定)、BIOS起動処理部201は、タイムアウトをシステム管理ユニット1に通知する。システム管理ユニット1のシステム起動制御部102は、タイムアウトの通知を受けて、エラーログを表示した後に起動を停止する(ステップS409)。 If there is a PCIe switch 31 for which the PCI bus scan is not completed within the timeout period (step S408: No), the BIOS startup processing unit 201 notifies the system management unit 1 of the timeout. Upon receiving the timeout notification, the system startup control unit 102 of the system management unit 1 displays an error log and then stops the startup (step S409).

これに対して、各PCIeスイッチ31に対するPCIバススキャンがタイムアウト時間内に完了した場合(ステップS408:肯定)、PCIバススキャン処理部211は、記憶部213がPCIデバイス情報テーブル221を保持するか否かを判定する(ステップS410)。 In contrast, if the PCI bus scan for each PCIe switch 31 is completed within the timeout period (step S408: Yes), the PCI bus scan processing unit 211 determines whether the memory unit 213 holds the PCI device information table 221 (step S410).

記憶部213がPCIデバイス情報テーブル221を保持する場合(ステップS410:肯定)、PCIバススキャン処理部211は、今回のバススキャンで得られたPCIデバイス情報とPCIデバイス情報テーブル221に登録されたPCIデバイス情報とを比較する。そして、PCIバススキャン処理部211は、それぞれのPCIデバイス情報が一致するか否かを判定する(ステップS411)。 If the memory unit 213 holds the PCI device information table 221 (step S410: Yes), the PCI bus scan processing unit 211 compares the PCI device information obtained in this bus scan with the PCI device information registered in the PCI device information table 221. Then, the PCI bus scan processing unit 211 determines whether the respective pieces of PCI device information match (step S411).

PCIデバイス情報テーブル221存在しない場合(ステップS410:否定)又はPCIデバイス情報が一致しない場合(ステップS411:否定)、PCIバススキャン処理部211は、以下の処理を実行する。すなわち、PCIバススキャン処理部211は、今回取得したPCIデバイス情報を含むPCI関連情報を用いてPCIデバイス情報テーブル221を作成して記憶部213に格納する(ステップS412)。その後、PCIバススキャン処理部211は、PCIデバイス情報テーブル221の作成をPCIデバイス情報送信部に通知する。 If the PCI device information table 221 does not exist (step S410: No) or if the PCI device information does not match (step S411: No), the PCI bus scan processing unit 211 executes the following process. That is, the PCI bus scan processing unit 211 creates the PCI device information table 221 using the PCI-related information including the currently acquired PCI device information, and stores it in the storage unit 213 (step S412). After that, the PCI bus scan processing unit 211 notifies the PCI device information transmission unit of the creation of the PCI device information table 221.

PCIデバイス情報送信部212は、PCIバススキャン処理部211からの通知を受けて、PCIデバイス情報テーブル221からPCI関連情報を取得してシステム管理ユニット1のPCIデバイス情報取得部104へ送信する(ステップS413)。その後、起動処理は、図12のステップS319へ進む。 Upon receiving the notification from the PCI bus scan processing unit 211, the PCI device information transmission unit 212 acquires PCI-related information from the PCI device information table 221 and transmits it to the PCI device information acquisition unit 104 of the system management unit 1 (step S413). After that, the startup process proceeds to step S319 in FIG. 12.

これに対して、PCIデバイス情報が一致した場合(ステップS411:肯定)、BIOS起動処理部201は、システムを起動させる(ステップS414)。 On the other hand, if the PCI device information matches (step S411: Yes), the BIOS startup processing unit 201 starts the system (step S414).

以上に説明したように、本実施例に係るシステム管理ユニットは、BIOSがPCIバススキャン処理により取得したPCIデバイス情報を用いて、各PCIデバイスがサーバ装置における搭載要件に適合するか否かを判定する。システム管理ファームウェアは、未サポートPCIデバイスの有無の確認、サーバ装置及びパーティションあたりの最大条件の確認、並びに、パーティション内の混在条件の確認をシステム起動前に判定することができる。そして、サーバ装置の搭載要件を満たさないPCIデバイスが存在する場合、エラーログを作成して起動を停止する。これにより、起動の失敗や障害の発生を回避することができ、システム性能を向上させることができる。 As described above, the system management unit of this embodiment uses PCI device information acquired by the BIOS through PCI bus scan processing to determine whether each PCI device meets the installation requirements of the server device. The system management firmware can check the presence or absence of unsupported PCI devices, check the maximum conditions per server device and partition, and check the mixed conditions within the partition before starting the system. If a PCI device that does not meet the installation requirements of the server device is present, an error log is created and startup is halted. This makes it possible to avoid startup failures and failures, improving system performance.

1 システム管理ユニット
2 システムユニット
3 IOユニット
4 PCIデバイス
11 マイクロプロセッサ
12 メモリ
13 CPLD
14 NICスイッチ
15 システム管理ファームウェア
21 CPU
22 メモリ
23 PCH
24 BMC
25 BIOSROM
26 BMCROM
27 BIOSプログラム
31 PCIeスイッチ
32 PCIスロット
101 PCI物理情報取得部
102 システム起動制御部
103 PCIデバイス判定部
104 PCIデバイス情報取得部
105 システム電源投入部
120 記憶部
121 PCI物理情報テーブル
122 ワークアラウンド情報テーブル
123 PCIデバイス判定テーブル
124 PCIデバイス情報テーブル
201 BIOS起動処理部
211 PCIバススキャン処理部
212 PCIデバイス情報送信部
213 記憶部
214 PCI物理情報判定部
215 PCI物理情報取得部
221 PCIデバイス情報テーブル
222 PCI物理情報テーブル
500 サーバ装置(情報処理システム)
1 System management unit 2 System unit 3 IO unit 4 PCI device 11 Microprocessor 12 Memory 13 CPLD
14 NIC switch 15 System management firmware 21 CPU
22 Memory 23 PCH
24 BMC
25 BIOS ROM
26 BMC ROM
27 BIOS program 31 PCIe switch 32 PCI slot 101 PCI physical information acquisition unit 102 System startup control unit 103 PCI device determination unit 104 PCI device information acquisition unit 105 System power-on unit 120 Storage unit 121 PCI physical information table 122 Workaround information table 123 PCI device determination table 124 PCI device information table 201 BIOS startup processing unit 211 PCI bus scan processing unit 212 PCI device information transmission unit 213 Storage unit 214 PCI physical information determination unit 215 PCI physical information acquisition unit 221 PCI device information table 222 PCI physical information table 500 Server device (information processing system)

Claims (7)

複数のPCIスロットが接続された情報処理装置の起動前に、前記情報処理装置で動作するBIOS(Basic Input Output System)から、各前記PCIスロットに搭載された各PCIデバイスのPCI(Peripheral Component Interconnect)デバイス情報を取得するPCIデバイス情報取得部と、
前記PCIデバイス情報取得部により取得された前記PCIデバイス情報を基に、各前記PCIスロットに搭載された各前記PCIデバイスを識別し、各前記PCIデバイスの中からワークアラウンドの実行対象となる対象PCIデバイスを選択し、選択した各前記対象PCIデバイスに対して実行するワークアラウンドの種類を判定するPCIデバイス判定部と、
前記PCIデバイス判定部により判定された種類の前記ワークアラウンドを各前記対象PCIデバイスに実行し、前記BIOSに前記情報処理装置の起動を実行させるワークアラウンド実行部と
を備えたことを特徴とする起動制御装置。
a PCI device information acquisition unit that acquires, before booting of an information processing device to which a plurality of PCI slots are connected, PCI (Peripheral Component Interconnect) device information of each PCI device mounted in each of the PCI slots from a BIOS (Basic Input Output System) that operates on the information processing device;
a PCI device determination unit that identifies each of the PCI devices mounted in each of the PCI slots based on the PCI device information acquired by the PCI device information acquisition unit, selects a target PCI device on which a workaround is to be executed from each of the PCI devices, and determines a type of workaround to be executed for each of the selected target PCI devices;
a workaround execution unit that executes the workaround of the type determined by the PCI device determination unit on each of the target PCI devices and causes the BIOS to execute startup of the information processing device.
前記PCIデバイス判定部は、前記情報処理装置に搭載されたPCIeスイッチが有する各前記PCIスロットに対して、搭載された前記PCIデバイスの識別を行うことを特徴とする請求項1に記載の起動制御装置。 The startup control device according to claim 1, characterized in that the PCI device determination unit identifies the PCI device installed in each of the PCI slots of the PCIe switch installed in the information processing device. 各前記PCIスロットにおける前記PCIデバイスの搭載の有無を示す実装情報を取得し、取得した前記実装情報を前記BIOSへ送信し、前記ワークアラウンド実行部による前記ワークアラウンドの実行後の前記情報処理装置の起動時に、前記BIOSに前記実装情報に基づく前記PCIデバイス情報の取得を行わせるPCI物理情報取得部をさらに備えることを特徴とする請求項1又は2に記載の起動制御装置。 The startup control device according to claim 1 or 2, further comprising a PCI physical information acquisition unit that acquires implementation information indicating whether or not the PCI device is installed in each of the PCI slots, transmits the acquired implementation information to the BIOS, and causes the BIOS to acquire the PCI device information based on the implementation information when the information processing device is started after the workaround execution unit executes the workaround. 前記PCIデバイス判定部は、各前記PCIデバイスのうち前記PCIスロットへの搭載が許可されない不許可PCIデバイスの存在の有無を判定することを特徴とする請求項1~3のいずれか一つに記載の起動制御装置。 The start-up control device according to any one of claims 1 to 3, characterized in that the PCI device determination unit determines whether or not there is a non-permitted PCI device among the PCI devices that is not permitted to be installed in the PCI slot. 前記PCIデバイス判定部は、動作が保証されないPCIデバイス、混在禁止のPCIデバイス及び搭載上限数の超えたPICデバイスを前記不許可PCIデバイスとして判定することを特徴とする請求項4に記載の起動制御装置。 The start-up control device according to claim 4, characterized in that the PCI device determination unit determines, as the unauthorized PCI devices, PCI devices whose operation is not guaranteed, PCI devices whose mixing is prohibited, and PIC devices whose number of mounted devices has exceeded the upper limit. システムユニット、IO(Input Output)ユニット、及びシステム管理ユニットを有する情報処理システムであって、
前記IOユニットは、
複数のPCIスロットを有するPCIeスイッチと、
前記PCIスロットのいずれかに搭載された複数のPCIデバイスとを備え、
前記システムユニットは、
各前記PCIスロットに搭載された各前記PCIデバイスの識別情報を含むPCIデバイス情報を取得し、前記IOユニットが接続された前記システムユニットを起動するBIOS起動処理部を備え、
前記システム管理ユニットは、
前記システムユニットの起動前に、前記BIOS起動処理部から前記PCIデバイス情報を取得するPCIデバイス情報取得部と、
前記PCIデバイス情報取得部により取得された前記PCIデバイス情報を基に、各前記PCIスロットに搭載された各前記PCIデバイスを識別し、各前記PCIデバイスの中からワークアラウンドの実行対象となる対象PCIデバイスを選択し、選択した各前記対象PCIデバイスに対して実行するワークアラウンドの種類を判定するPCIデバイス判定部と、
前記PCIデバイス判定部により判定された種類の前記ワークアラウンドを各前記対象PCIデバイスに実行し、前記BIOS起動処理部に前記システムユニットの起動を実行させるワークアラウンド実行部と
を備えたことを特徴とする起動制御システム。
An information processing system having a system unit, an IO (Input Output) unit, and a system management unit,
The IO unit includes:
a PCIe switch having a plurality of PCI slots;
a plurality of PCI devices mounted in any one of the PCI slots;
The system unit includes:
a BIOS startup processing unit that acquires PCI device information including identification information of each of the PCI devices mounted in each of the PCI slots and starts up the system unit to which the IO unit is connected;
The system management unit includes:
a PCI device information acquisition unit that acquires the PCI device information from the BIOS boot processing unit before booting of the system unit;
a PCI device determination unit that identifies each of the PCI devices mounted in each of the PCI slots based on the PCI device information acquired by the PCI device information acquisition unit, selects a target PCI device on which a workaround is to be executed from each of the PCI devices, and determines a type of workaround to be executed for each of the selected target PCI devices;
a workaround execution unit that executes the workaround of the type determined by the PCI device determination unit on each of the target PCI devices and causes the BIOS startup processing unit to execute startup of the system unit.
複数のPCIスロットが接続された情報処理装置の起動前に、前記情報処理装置で動作するBIOSから各前記PCIスロットに搭載された各PCIデバイスのPCIデバイス情報を取得し、
取得した前記PCIデバイス情報を基に、各前記PCIスロットに搭載された各前記PCIデバイスを識別し、
識別結果を基に、各前記PCIデバイスの中からワークアラウンドの実行対象となる対象PCIデバイスを選択し、
選択した各前記対象PCIデバイスに対して実行するワークアラウンドの種類を判定し、
判定した種類の前記ワークアラウンドを各前記対象PCIデバイスに実行し、
前記BIOSに前記情報処理装置の起動を実行させる
処理を前記情報処理装置に搭載されたプロセッサに実行させることを特徴とする起動制御方法。
Before booting an information processing device to which a plurality of PCI slots are connected, PCI device information of each PCI device mounted in each of the PCI slots is obtained from a BIOS operating in the information processing device;
Identifying each of the PCI devices mounted in each of the PCI slots based on the acquired PCI device information;
Based on the identification result, a target PCI device on which a workaround is to be executed is selected from among the PCI devices;
determining a type of workaround to implement for each selected target PCI device;
implementing the determined type of workaround for each of the target PCI devices;
A startup control method comprising: causing a processor mounted on the information processing device to execute a process of causing the BIOS to start up the information processing device.
JP2020044719A 2020-03-13 2020-03-13 Start-up control device, start-up control system, and start-up control method Active JP7516787B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020044719A JP7516787B2 (en) 2020-03-13 2020-03-13 Start-up control device, start-up control system, and start-up control method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020044719A JP7516787B2 (en) 2020-03-13 2020-03-13 Start-up control device, start-up control system, and start-up control method

Publications (2)

Publication Number Publication Date
JP2021144649A JP2021144649A (en) 2021-09-24
JP7516787B2 true JP7516787B2 (en) 2024-07-17

Family

ID=77766885

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020044719A Active JP7516787B2 (en) 2020-03-13 2020-03-13 Start-up control device, start-up control system, and start-up control method

Country Status (1)

Country Link
JP (1) JP7516787B2 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287993A (en) 2003-03-24 2004-10-14 Fuji Xerox Co Ltd Management method of system version, device, and information processing system
JP2009175913A (en) 2008-01-23 2009-08-06 Hitachi Ltd Computer system, management server, and mismatch connection configuration detection method
JP2013167971A (en) 2012-02-14 2013-08-29 Nec Casio Mobile Communications Ltd Portable terminal device, recovery support method and program
JP2019046148A (en) 2017-09-01 2019-03-22 富士通株式会社 Information processing device, management device, and program

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH077373B2 (en) * 1988-05-26 1995-01-30 富士電機株式会社 Interface system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004287993A (en) 2003-03-24 2004-10-14 Fuji Xerox Co Ltd Management method of system version, device, and information processing system
JP2009175913A (en) 2008-01-23 2009-08-06 Hitachi Ltd Computer system, management server, and mismatch connection configuration detection method
JP2013167971A (en) 2012-02-14 2013-08-29 Nec Casio Mobile Communications Ltd Portable terminal device, recovery support method and program
JP2019046148A (en) 2017-09-01 2019-03-22 富士通株式会社 Information processing device, management device, and program

Also Published As

Publication number Publication date
JP2021144649A (en) 2021-09-24

Similar Documents

Publication Publication Date Title
US10333865B2 (en) Transformation of peripheral component interconnect express compliant virtual devices in a network environment
US10671423B2 (en) Hot-plug hardware and software implementation
US8359415B2 (en) Multi-root I/O virtualization using separate management facilities of multiple logical partitions
JP5305848B2 (en) Method and data processing system for managing input/output (I/O) virtualization within a data processing system and computer program product - Patents.com
US20060064523A1 (en) Control method for virtual machine
EP3877843B1 (en) System for configurable error handling
US20140156898A1 (en) Pci and pci express virtual hot plug systems and methods
US20100162045A1 (en) Method, apparatus and system for restarting an emulated mainframe iop
JP2009151767A (en) Method, computer program and data processing system for managing input-output(i/o) virtualization in data processing system
EP2645252A1 (en) Information processing system and virtual address setting method
EP4237937B1 (en) Pushing a firmware update patch to a computing device via an out-of-band path
CN100456267C (en) Method and device for monitoring the number of channels between a controller and a PCI Express device
US10198270B2 (en) Dynamic hardware configuration via firmware interface at computing device boot
CN119690529B (en) Server startup control methods and devices, storage media and electronic devices
CN119861985B (en) Server startup method, device, storage medium and program product
CN119806656B (en) PCI device control method and device, storage medium and electronic device
CN112698871A (en) Network adapter configuration using OPTION-ROM in multi-CPU device
US7039736B2 (en) Systems and methods for accessing bus-mastered system resources
CN120523764A (en) Method, system and server for locating PCIe device function failure
JP7516787B2 (en) Start-up control device, start-up control system, and start-up control method
CN115686650B (en) PCIE equipment initialization method and server
US20220391254A1 (en) Information processing device, operation control method, and computer-readable recording medium storing operation control program
WO2024174947A1 (en) Hot plugging method and apparatus, and computer device
JP6331505B2 (en) Startup control device, startup control method, and startup control program
CN115168146A (en) Anomaly detection method and device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20221208

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20231122

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20231226

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240216

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240617

R150 Certificate of patent or registration of utility model

Ref document number: 7516787

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350