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 PDFInfo
- 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
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.
しかしながら、従来のワークアラウンドの実行方法では、システム管理ユニットは、システム起動後に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.
以下に、本願の開示する起動制御装置、起動制御システム及び起動制御方法の実施例を図面に基づいて詳細に説明する。なお、以下の実施例により本願の開示する起動制御装置、起動制御システム及び起動制御方法が限定されるものではない。 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
システム管理ユニット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
マイクロプロセッサ11は、メモリ12、CPLD13及びNICスイッチ14とバスで接続される。マイクロプロセッサ11は、プログラム読み出してメモリ12に展開して実行することで、システム管理ユニット1が有する各種機能を実現する。例えば、マイクロプロセッサ11は、システム管理ファームウェア15をメモリ12上に展開して実行する。また、マイクロプロセッサ11は、CPLD13を介してIOユニット3と通信を行う。また、マイクロプロセッサ11は、NICスイッチ14を介してシステムユニット2と通信を行う。
The
メモリ12は、システム管理ユニット1における主記憶装置である。メモリ12には、例えばDRAM(Dynamic Random Access Memory)などが用いられる。例えば、メモリ12では、システム管理ファームウェア15が展開され実行される。
The
CPLD13は、IOユニット3との間の通信モジュールである。CPLD13は、I2C(Inter-Integrated Circuit)を用いてIOユニット3におけるPCIeスイッチ31と通信を行う。
NICスイッチ14は、システムユニット2との間のネットワークインタフェースである。NICスイッチ14は、IPMI(Intelligent Platform Management Interface)規格に準拠した通信をシステムユニット2のBMC24との間で行う。
The
システムユニット2は、指定された演算処理を実行する装置であり、単体で情報処理装置としての機能を有する。システムユニット2は、CPU21、メモリ22、PCH(Platform Controller Hub)、BMC24、BIOSROM(Read Only Memory)25及びBMCROM26を有する。
The
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
メモリ22は、システムユニット2における主記憶装置である。メモリ22には、例えばDRAMなどが用いられる。メモリ22では、BIOSプログラム27が展開され実行される。
The memory 22 is the main storage device in the
PCH23は、CPU21及びBMC24にPCIeバスを介して接続される。また、PCH23は、SPI(Serial Peripheral Interface)によりBIOSROM25に接続される。PCH23は、CPU21とBMC24及びBIOSROM25との間の通信を中継する。
The
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
BIOSROM25は、BIOSプログラムを格納するROMである。BMCROM26は、BMC24が実行するプログラムを格納する。
The
IOユニット3は、システムユニット2などに対して外部ンタフェースからのデータや信号を送受信する入出力装置の機能を有する。IOユニット3は、PCIeスイッチ31及びPCIスロット32を有する。
The
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
図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
システム管理ユニット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
システム電源投入部105は、操作者からのパーティションの起動命令の入力を受けて、そのパーティションに属するシステムユニット2及びIOユニット3の電源を投入する。その後、システム電源投入部105は、システムユニット2のリセットを実施する。そして、システム電源投入部105は、システムユニット2の電源出力が正常か否かを判定する。システムユニット2の電源出力が異常であれば、システムユニット2の電源異常に関するエラーをログ表示した後に、その装置の起動を停止する。これに対して、システムユニット2の電源出力が正常な場合、システム電源投入部105は、システムユニット2のリセットを解除する。
The system power-on
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
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物理情報取得部101は、生成したPCI物理情報テーブル121を記憶部120に格納する。
The PCI physical
システム起動制御部102は、システム電源投入部105による電源投入が行われシステムユニット2のリセットが解除されると、PCIEスイッチ31の初期化を行う。PCIEスイッチ31の初期化が正常に完了すると、システム起動制御部102は、PCIEスイッチ31の動作を開始させる。
When the system power-on
そして、システム起動制御部102は、PCIデバイス4の判定処理の実行をPCIデバイス判定部103に指示する。その後、PCIデバイス情報がPCIデバイス情報テーブル124に未登録であれば、システム起動制御部102は、判定不能の通知をPCIデバイス判定部013から受ける。
Then, the system
ここで、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デバイステーブル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デバイス情報テーブル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デバイス情報が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
そして、システム起動制御部102は、ワークアラウンドを行うPCIデバイス4が搭載されたPCIスロット32の中から1つずつワークアラウンド実行の対象とするPCIスロット32を選択する。次に、システム起動制御部102は、記憶部120に格納されたワークアラウンド情報テーブル122を参照する。
Then, the system
図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
システム起動制御部102は、ワークアラウンドの実行対象としたPCIデバイス4に対するワークアラウンドの実行しつつPCIデバイス4が搭載されたPCIスロット32のリンクを確立させる。また、PCIデバイス判定部103から判定不能の通知を受けた場合、システム起動制御部102は、ワークアラウンドを行わずに、PCIデバイス4が搭載されたPCIスロット32のリンクを確立させる。
The system
その後、システム起動制御部102は、各PCIスロット32についてリンクが正常に確立したか否かを判定する。リンクが正常に確立していないPCIスロット32については、システム起動制御部102は、リンクリトライ処理を実施する。ここで、システム起動制御部102は、ワークアラウンドを実行したPCIスロット32に関しては、リンクリトライ処理の中で同様のワークアラウンドを実施する。
Then, the system
システム起動制御部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
また、全てのPCIスロット32のリンクが正常に確立された場合も、システム起動制御部102は、システムユニット2のBIOS起動処理部201にBIOS処理の実行を指示する。このシステム起動制御部102が、「ワークアラウンド実行部」の一例にあたる。
Also, when the links of all
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
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
具体的には、PCIデバイス判定部103は、PCIデバイス情報テーブル124を確認して、PCIデバイス情報が登録されたPCIスロット32をPCIデバイス4が搭載されたPCIスロット32として特定する。そして、PCIデバイス判定部103は、特定したPCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報をPCIデバイス情報テーブル124から取得する。
Specifically, the PCI
次に、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
図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
次に、PCIデバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4に対して実行するワークアラウンドの識別情報をPCIデバイス判定テーブル123から取得する。その後、PCIデバイス判定部103は、ワークアラウンドを実行するPCIスロット32及びそこに搭載されたPCIデバイス4の情報をシステム起動制御部102へ通知する。さらに、PCIデバイス判定部103は、各PCIデバイス4に対して実行するワークアラウンドの識別情報をシステム起動制御部102に通知する。
Next, the PCI
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
システムユニット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
BIOS起動処理部201は、BIOS処理実行指示をシステム起動制御部102から受ける。そして、BIOS起動処理部201は、各システムユニット2及びIOユニット3のPCIeスイッチ31に対するPCIバススキャン処理をPCIバススキャン処理部211に実行させる。
The BIOS
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
次に、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
これに対して、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
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
次に、図8を参照して、実施例1に係るシステム管理ユニット1によるワークアラウンド実行処理の流れについて説明する。図8は、実施例1に係るワークアラウンド実行処理のフローチャートである。
Next, the flow of the workaround execution process by the
PCI物理情報取得部101は、起動命令が操作者からシステム管理ユニット1に入力されると、PCI物理情報テーブル121を生成する(ステップS101)。そして、PCI物理情報取得部101は、生成したPCI物理情報テーブル121を記憶部120へ格納する。
When a startup command is input from an operator to the
システム電源投入部105は、操作者からの起動命令にしたがい、システムユニット2及びIOユニット3の電源を投入する(ステップS102)。
The system power-on
次に、システム電源投入部105は、システムユニット2及びIOユニット3の電源出力が正常か否かを判定する(ステップS103)。電源出力が正常でない場合(ステップS103:否定)、システム管理ユニット1は、エラーログを表示させた後に起動を停止する(ステップS120)。
Next, the system power-on
これに対して、電源出力が正常の合(ステップS103:肯定)、システム電源投入部105は、システムリセットを解除する(ステップS104)。
In contrast, if the power output is normal (step S103: Yes), the system power-on
次に、システム起動制御部102は、PCIEスイッチ31の初期化を行う(ステップS105)。
Next, the system
システム起動制御部102は、PCIEスイッチ31の初期化が正常に完了したか否かを判定する(ステップS106)。PCIEスイッチ31の初期化が正常に完了しない場合(ステップS106:否定)、システム管理ユニット1は、エラーログを表示させた後に起動を停止する(ステップS120)。
The system
これに対して、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
PCIデバイス判定部103は、ワークアラウンド判定処理の実行の依頼をシステム起動制御部102から受ける。そして、PCIデバイス判定部103は、PCIデバイス情報テーブル124にPCIデバイス情報が存在するか否かを判定する(ステップS108)。PCIデバイス情報が存在しない場合(ステップS108:否定)、ワークアラウンド実行処理はステップS111へ進む。
The PCI
これに対して、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
これに対して、ワークアラウンド対象の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
そして、システム起動制御部102は、PCIデバイス4が搭載された全てのPCIスロット32のリンクの確立を行う。その後、システム起動制御部102は、全てのPCIスロット32において正常にリンク確立が完了したか否かを判定する(ステップS111)。
Then, the system
リンク確立に失敗したPCIスロット32が存在する場合(ステップS111:否定)、システム起動制御部102は、リンクリトライ処理を実施する(ステップS112)。この際、システム起動制御部102は、ワークアラウンドを実行したPCIデバイス4については同様にワークアラウンドを再度実施する。
If there is a
システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数をインクリメントする(ステップS113)。
The system
そして、システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数が3回未満か否かを判定する(ステップS114)。リンクリトライ処理の実施回数が3回未満の場合(ステップS114:肯定)、システム起動制御部102は、ステップS111に戻る。
Then, the system
これに対して、リンクリトライ処理の実施回数が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
システム起動制御部102は、システムユニット2のBIOS起動処理部201にBIOS処理の実行指示を送信する(ステップS115)。
The system
その後、PCIデバイス情報取得部104は、PCIデバイス情報をシステムユニット2のPCIデバイス情報送信部212から受信する(ステップS116)。
Then, the PCI device
次に、PCIデバイス情報取得部104は、PCIデバイス情報をPCIデバイス情報テーブル124に登録して記憶部120に格納する(ステップS117)。
Next, the PCI device
その後、PCI物理情報取得部101は、PCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信済みか否かを判定する(ステップS118)。PCI物理情報テーブル121をPCI物理情報取得部215へ送信済みの場合(ステップS118:肯定)、ワークアラウンド実行処理は、ステップS108へ戻る。
Then, the PCI physical
これに対して、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
次に、図9を参照して、実施例1に係るシステムユニット2による起動処理の流れを説明する。図9は、実施例1に係る起動処理のフローチャートである。
Next, the flow of the startup process by the
BIOS起動処理部201は、BIOS処理実行指示をシステム管理ユニット1のシステム起動制御部102から受信する(ステップS201)。
The BIOS
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
これに対して、各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
これに対して、PCIデバイス情報が一致した場合(ステップS206:肯定)、BIOS起動処理部201は、システムを起動させる(ステップS209)。
On the other hand, if the PCI device information matches (step S206: Yes), the BIOS
以上に説明したように、本実施例に係るシステム管理ユニットは、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
本実施例に係るシステム管理ユニット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
また、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デバイス判定部103は、各PCIスロット32に搭載されたPCIデバイス4のPCIデバイス情報をPCIデバイス情報テーブル124から取得する。次に、PCIデバイス判定部103は、取得したPCIデバイス情報の中でPCIデバイス判定テーブル123に登録されていないPCIデバイス情報が存在するか否かを判定する。サーバ装置500でサポートされていないPCIデバイス4が存在する場合、PCIデバイス判定部103は、エラーログの表示及び起動の停止をシステム起動制御部102に行わせる。
The PCI
また、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、混在禁止のPCIデバイス4が存在するか否かを判定する。混在禁止のPCIデバイス4の組が存在した場合、PCIデバイス判定部103は、エラーログの表示及び起動の停止をシステム起動制御部102に行わせる。
The PCI
また、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、最大搭載数以上の数が搭載された、すなわち搭載上限数を超えたPCIデバイス4が存在するか否かを判定する。搭載上限数を超えたPCIデバイス4が存在する場合、PCIデバイス判定部103は、エラーログの表示及び起動の停止をシステム起動制御部102に行わせる。
The PCI
未サポートのPCIデバイス4、混在禁止のPCIデバイス4及び搭載上限数超えのPCIデバイス4が存在しない場合、PCIデバイス判定部103は、ワークアラウンド対象とするPCIデバイス4を特定する。その後、PCIデバイス判定部103は、対象とするPCIデバイス4及びそれが搭載されたPCIスロット32の情報、並びに、実行するワークアラウンドの識別情報をシステム起動制御部102に通知する。
If there are no
また、本実施例に係るPCI物理情報取得部101は、作成したPCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信する。
In addition, the PCI physical
次に、本実施例に係るシステムユニット2について説明する。本実施例に係るシステムユニット2は、実施例1で例示した各部に加えて、PCI物理情報判定部214及びPCI物理情報取得部215を有する。
Next, the
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
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バススキャン処理部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
全てのPCIデバイス4の認識完了通知をPCI物理情報判定部214から受けた場合、または、リンクリトライ処理を終了した場合、PCIバススキャン処理部211は、PCIバススキャン処理を進め、各PCIデバイスの初期化などを実行する。
When a notification that recognition has been completed for all
その後、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
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
次に、図12を参照して、実施例2に係るシステム管理ユニット1によるワークアラウンド実行処理の流れについて説明する。図8は、実施例2に係るワークアラウンド実行処理のフローチャートである。
Next, the flow of the workaround execution process by the
PCI物理情報取得部101は、起動命令が操作者からシステム管理ユニット1に入力されると、PCI物理情報テーブル121を生成する(ステップS301)。そして、PCI物理情報取得部101は、生成したPCI物理情報テーブル121を記憶部120へ格納する。
When a startup command is input from an operator to the
システム電源投入部105は、操作者からの起動命令にしたがって、パーティションに属するシステムユニット2及びIOユニット3の電源を投入する(ステップS302)。
The system power-on
次に、システム電源投入部105は、システムユニット2及びIOユニット3の電源出力が正常か否かを判定する(ステップS303)。電源出力が正常でない場合(ステップS303:否定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。
Next, the system power-on
これに対して、電源出力が正常の場合(ステップS303:肯定)、システム電源投入部105は、システムリセットを解除する(ステップS304)。
On the other hand, if the power output is normal (step S303: Yes), the system power-on
次に、システム起動制御部102は、PCIEスイッチ31の初期化を行う(ステップS305)。
Next, the system
システム起動制御部102は、PCIEスイッチ31の初期化が正常に完了したか否かを判定する(ステップS306)。PCIEスイッチ31の初期化が正常に完了しない場合(ステップS306:否定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。
The system
これに対して、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
PCIデバイス判定部103は、ワークアラウンド判定処理の実行依頼をシステム起動制御部102から受ける。そして、PCIデバイス判定部103は、PCIデバイス情報テーブル124にPCIデバイス情報が存在するか否かを判定する(ステップS308)。PCIデバイス情報が存在しない場合(ステップS308:否定)、ワークアラウンド実行処理はステップS314へ進む。
The PCI
これに対して、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
サーバ装置500で未サポートのPCIデバイス4が存在しない場合(ステップS309:否定)、PCIデバイス判定部103は、PCIデバイス判定テーブル123を参照して、混在禁止のPCIデバイス4が存在するか否かを判定する(ステップS310)。混在禁止のPCIデバイス4の組が存在した場合(ステップS310:肯定)、システム起動制御部102は、エラーログを表示させた後に起動を停止する(ステップS323)。
If there is no
混在禁止の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
一方、搭載上限数を超えたPCIデバイス4が存在しない場合(ステップS311:否定)、PCIデバイス判定部103は、PCIデバイス判定テーブル123を用いてワークアラウンド対象のPCIデバイス4が存在するか否かを判定する(ステップS312)。ワークアラウンド対象のPCIデバイス4が存在しない場合(ステップS312:否定)、ワークアラウンド実行処理はステップS314へ進む。
On the other hand, if there is no
これに対して、ワークアラウンド対象の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
そして、システム起動制御部102は、PCIデバイス4が搭載された全てのPCIスロット32のリンクの確立を行う。その後、システム起動制御部102は、全てのPCIスロット32において正常にリンク確立が完了したか否かを判定する(ステップS314)。
Then, the system
リンク確立に失敗したPCIスロット32が存在する場合(ステップS314:否定)、システム起動制御部102は、リンクリトライ処理を実施する(ステップS315)。この際、システム起動制御部102は、ワークアラウンドを実行したPCIデバイス4については同様にワークアラウンドを再度実施する。
If there is a
システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数をインクリメントする(ステップS316)。
The system
そして、システム起動制御部102は、リンク確立に失敗した各PCIスロット32に対するリンクリトライ処理の実施回数が3回未満か否かを判定する(ステップS317)。リンクリトライ処理の実施回数が3回未満の場合(ステップS317:肯定)、システム起動制御部102は、ステップS314に戻る。
Then, the system
これに対して、リンクリトライ処理の実施回数が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
一方、全ての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
システム起動制御部102は、システムユニット2のBIOS起動処理部201にBIOS処理の実行指示を送信する(ステップS318)。
The system
その後、PCIデバイス情報取得部104は、PCIデバイス情報をシステムユニット2のPCIデバイス情報送信部212から受信する(ステップS319)。
Then, the PCI device
次に、PCIデバイス情報取得部104は、PCIデバイス情報をPCIデバイス情報テーブル124に登録して記憶部120に格納する(ステップS320)。
Next, the PCI device
その後、PCI物理情報取得部101は、PCI物理情報テーブル121をシステムユニット2のPCI物理情報取得部215へ送信済みか否かを判定する(ステップS321)。PCI物理情報テーブル121をPCI物理情報取得部215へ送信済みの場合(ステップS321:肯定)、ワークアラウンド実行処理は、ステップS308へ戻る。
Then, the PCI physical
これに対して、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
次に、図13を参照して、実施例2に係るシステムユニット2による起動処理の流れを説明する。図13は、実施例2に係る起動処理のフローチャートである。
Next, the flow of the startup process by the
BIOS起動処理部201は、BIOS処理実行指示をシステム管理ユニット1のシステム起動制御部102から受信する(ステップS401)。
The BIOS
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
これに対して、記憶部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スロット32の中にPCIデバイス4が存在しないPCIスロット32がある場合(ステップS404:否定)、PCI物理情報判定部214は、リンクリトライ処理の実施指示をPCIバススキャン処理部211に通知する。
On the other hand, if there is a
そして、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
これに対して、各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
これに対して、PCIデバイス情報が一致した場合(ステップS411:肯定)、BIOS起動処理部201は、システムを起動させる(ステップS414)。
On the other hand, if the PCI device information matches (step S411: Yes), the BIOS
以上に説明したように、本実施例に係るシステム管理ユニットは、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
14 NIC switch 15 System management firmware 21 CPU
22
24 BMC
25 BIOS ROM
26 BMC ROM
27 BIOS program 31
Claims (7)
前記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.
前記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デバイス情報を基に、各前記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.
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)
| 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)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH077373B2 (en) * | 1988-05-26 | 1995-01-30 | 富士電機株式会社 | Interface system |
-
2020
- 2020-03-13 JP JP2020044719A patent/JP7516787B2/en active Active
Patent Citations (4)
| 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 |