JP6825029B2 - 合理化されたサーバ設計の方法及びシステム - Google Patents

合理化されたサーバ設計の方法及びシステム Download PDF

Info

Publication number
JP6825029B2
JP6825029B2 JP2019053084A JP2019053084A JP6825029B2 JP 6825029 B2 JP6825029 B2 JP 6825029B2 JP 2019053084 A JP2019053084 A JP 2019053084A JP 2019053084 A JP2019053084 A JP 2019053084A JP 6825029 B2 JP6825029 B2 JP 6825029B2
Authority
JP
Japan
Prior art keywords
server
identification information
strap
hardware
software
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
JP2019053084A
Other languages
English (en)
Other versions
JP2020038604A (ja
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.)
Quanta Computer Inc
Original Assignee
Quanta Computer Inc
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 Quanta Computer Inc filed Critical Quanta Computer Inc
Publication of JP2020038604A publication Critical patent/JP2020038604A/ja
Application granted granted Critical
Publication of JP6825029B2 publication Critical patent/JP6825029B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4403Processor initialisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/18Packaging or power distribution
    • G06F1/183Internal mounting support structures, e.g. for printed circuit boards, internal connecting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0026PCI express
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/0032Serial ATA [SATA]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Power Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Stored Programmes (AREA)

Description

本発明は、概して、製造中の効率的なサーバ構成に関し、具体的には、ファームウェアイメージを用いて、追加のソフトウェア又はハードウェアの変更なしに、製造中のサーバの効率的なカスタマイズを可能にする方法及びシステムに関する。
コンピューティングアプリケーションのためのクラウドの出現は、データを記憶し、リモート接続されたコンピュータデバイスのユーザによってアクセスされるアプリケーションを実行するデータセンタとして知られるオフサイト施設(installations)に対する需要を増大させている。このようなデータセンタは、通常、データを記憶及び管理するための膨大なサーバ、スイッチ及びストレージデバイスを備えている。一般的なデータセンタは、付帯電源及び通信接続を有する物理ラック構造を備えている。ラックは、データセンタの1つ以上の部屋に亘って列をなして配置される。各ラックは、複数のネットワークデバイス(例えば、サーバ、スイッチ及びストレージデバイス等)を搭載することができる。データセンタのオペレータによって様々な機能が要求されるので、専用サーバが必要である。このような専用サーバは、ストレージサーバ、コンピューティングサーバ、グラフィックス処理ユニットサーバ又はネットワークスイッチサーバを含むことができる。サーバの種類毎に、ハードウェア及びソフトウェアの異なる設定が必要である。
よって、サーバの基本プラットフォーム(例えば、ベースボード等)のハードウェア設計は、通常、様々な用途の考慮を必要とし、殆どのサーバ機能を備える。ベースボードは、ベースボード管理コントローラと、様々な機能を有する様々な専用メインボードをサポートするコンポーネントと、を含む回路基板である。このようなサーバプラットフォームは、通常、様々なサーバ展開シナリオに対して最高の互換性をサポートする。よって、サーバプラットフォームの最適なハードウェア設計は、サーバベースボード上のマルチプレクサ及びデータセレクタ回路を含み、専用ボード上で異なる機能を選択することを可能にする。このような回路は、最大の変数及び独立した要件に適応する。これらの設計は、正確な回路を選択して各々の完全な機能を果たすために、非公式な論理プログラミング及びコントローラを用いる。これらの変数及び独立した要件は、通常、サーバ上にのみ存在し、恒久的に有効又は無効にされる。しかし、サーバプラットフォームは、一般的に、サーバが顧客に出荷された後に修正を可能にするように設計されていない。
近年、顧客が機能をカスタマイズするのを可能にする適応可能なサーバプラットフォームが導入されている。このような適応可能なサーバプラットフォームは、より多くのデバイスを採用することができるコネクタ、メモリソケット又はIO周辺機器スロット等の物理ハードウェアコンポーネントから、それらの適応性を引き出すことができる。また、このようなプラットフォームは、論理プログラミング及びコントローラの設定を感知することによってアクティブになる特定のサーバ機能のためのオプションを含むことができる。このようなメカニズムは、このような帝王可能なサーバ設計に対して柔軟な使用モデルをもたらす。
コストを増加させることなく柔軟性を達成するために、サーバのベースボード設計は、交換可能な、追加された、取り外し可能なハードウェア回路を備えておくことができる。サーバ設計が大量生産を予定されても、様々な利用可能な用途を顧客に提供することができる。このような場合、工場サイトは、顧客のマニフェストを使用して、同じベースボード設計を使用するが論理プログラミング及びコントローラの設定を調整してベースボードを構成することによって、所望の機能をサーバに正しく組み込むことができる。よって、工場の生産ラインでは、従来の基本入出力システム(BIOS)及びベースボード管理コントローラ(BMC)に依存する論理プログラミング及びコントローラ構成を用意する必要がある。これらのコンポーネントは、サーバの初期関連ハードウェア構成を使用してプログラミングされる主要なファームウェアである。これにより、異なるサーバ用の異なるマザーボードを設計、交換及び準備する生産ラインの時間及び費用を節約することができる。
一般に、論理プログラミングの設定及びコントローラの構成は、ファームウェアの固定パラメータとハードウェア信号の静的状態とに基づいている。固定パラメータは、ベースボードのファームウェア設計者によって構築された組み合わせファームウェアイメージファイルの一部とすることができる。このようなパラメータは、ベースボードの不揮発性メモリ(例えば、シリアルペリフェラルインタフェース(SPI)フラッシュチップ等)に記憶することができる。ハードウェア信号の静的状態は、ベースボード上のハードウェア論理回路から出力される信号とすることができる。しかし、必要とされるサーバの種類が増える場合、十分な種類の組み合わせファームウェアイメージファイルを生成し、生産ラインのハードウェア論理回路の出力を変更することが複雑なタスクになる。さらに、シリコンベースのハードウェアデバイスは、構成パラメータ(例えば、インテルプラットフォームコントローラハブ(PCH)等)の単一のセクションしか認識することができない。PCHの構成パラメータが組み合わせファームウェアイメージファイルの特定の領域に存在するので、特定の機能がアクティブ又は非アクティブであるか、PCHの構成パラメータが変更された場合、ファームウェア設計者は、組み合わせファームウェアイメージファイルを再構築しなければならない。
一般に、シリコンのベンダは、通常、そのチップセット内に複数の機能を提供し、開発者が、サーバベースボード上の関連するハードウェア回路を用いて機能を選択し配備するのを可能にする。開発者は、ベースボードのパワーオンシーケンス中にチップセット内の何れの機能をアクティブにし、非アクティブにするかを決定することができる。機能が選択されると、チップセットの出力ピンは、内部のマルチプレクサ及びデータセレクタを介して外部のハードウェア回路と接続することができる。チップセットは、通常、何れの機能(例えばインテルプラットフォームコントローラハブ(PCH)の機能等)をアクティブにし、非アクティブにするかを識別するいくつかのメカニズムを提供する。PCHの構成パラメータは、組み合わせファームウェアイメージファイルの特定領の域に存在する。このような構成パラメータは、「ソフトウェアストラップ」と呼ばれる。
図1は、ソフトウェアストラップを選択するための従来のプロセスを示す図である。図1は、プラットフォームコントローラハブ(PCH)チップ10を含む。PCHチップ10は、内部SATAコントローラと、内部PCIルートコントローラと、を有する。PCHチップ10は、内部SATAコントローラ又は内部PCIルートコントローラによってルーティングされるパラメータ信号を送信することができる構成パラメータ出力12を含む。PCHチップ10のパラメータ信号は、何れのコントローラが有効にされているかに基づいて、PCleバス14又はSATAバス16の構成情報を最終的に出力する。パラメータは、ソフトウェアストラップと呼ばれる。PCH10は、シリアルペリフェラルインタフェース(SPI)フラッシュチップ20に接続されたSPIインタフェース18を含む。
図1は、SPIフラッシュチップ20に焼き付けられたファームウェアイメージのメモリマップ30を示す図である。メモリマップ30は、リザーブ領域32と、PCHソフトウェアストラップ領域34と、リザーブ領域36と、BIOS領域38と、記述子マップ領域40と、シグネチャ領域42と、を含む。PCHソフトウェアストラップ領域34は、ビット位置とビットフィールドの記述とを含み、ソフトウェアストラップを表すテーブル50として示されている。この例において、テーブル50内のソフトウェアストラップは、PCHチップ10のパラメータ出力12の値の選択を含む。よって、テーブル50は、プラットフォームコントローラハブチップ10が、2つの内部コントローラ(sSATA又はPCIe)のうち1つを単一ポート出力にどのようにルーティングするかを示すパラメータの一例である。マルチプレクサと同様に、何れか1つのコントローラを選択して、内部PCIルートコントローラ又は内部SATAコントローラから各々のPCleバス14又はSATAバス16までの機能を有効にするための出力信号を供給する。
PCH10のパラメータ出力12の結果の出力がテーブル52に示されている。テーブル52に示すように、パラメータ出力12の最初の2つのポートは固定信号である。パラメータ出力12の第3及び第4ポートは多重化されてもよい。テーブル52は、PCHシリコン設計の一例である。2つの異なるコントローラ(sSATA及びPCIe)がプラットフォームコントローラハブチップ10内に存在するが、プラットフォームコントローラハブは、接続に用いる何れかのコントローラの選択を可能にする単一ポート出力のみを提供する。出力ポート選択オプションを提供しない固定信号とは対照的に、多重化信号のみが出力ポート選択を提供することができる。
同様に、図2は、「ハードウェアストラップ」と呼ばれるプロセッサのハードウェア設定の従来の構成プロセスを示す図である。このプロセスにおいて、プロセッサ60(例えば、インテルプロセッサ等)は、プロセッサ60によって実行される異なる機能を定義する入力ピンを含む。プロセッサ60の機能構成は、入力ピン64に接続されているハードウェアレジスタを有する論理回路62からのハードウェア入力信号の静的状態に依存する。この例において、論理回路62は、顧客の部品表に従ってサーバのベースボードに取り付けられている。テーブル66は、プロセッサ60の機能を構成するハードウェアストラップを構成する静的状態を含むことができる。この例において、プロセッサ60の機能は、パワーオンシーケンス中に入力ピン64に接続された信号の状態によって決定される。
図1及び図2に示すソフトウェアストラップ及びハードウェアストラップは静的パラメータ及び固定状態であるため、これらを変更することは、様々な異なる機能ベースボードが必要とされる場合、追加のコーディング、コンパイル、リリース、厳格なメンテナンス処理、及び、アフターサービスが必要である。このようなプロセスは、顧客のファームウェアイメージファイルの異なるリビジョンを維持するためのコストを増大させる。さらに、異なる機能を有する新たなサーバ設計が必要な場合、ベースボード製造ラインのハードウェア論理回路を変更するために複雑なプロセスが必要になる。
よって、異なる機能を有する異なるサーバの製造を可能にするための合理化されたプロセスが必要とされている。ハードウェア論理回路を変更したり、ファームウェアイメージを書き換えたりせずに、異なるサーバ機能を可能にするための柔軟な構成がさらに必要とされている。
本発明は、合理化されたサーバ設計の方法及びシステムを提供する。
開示された一例は、サーバの機能を構成する方法である。所望のパラメータ及び対応するサーバ識別情報は、ファームウェアイメージ内のハードウェア又はソフトウェアストラップ構造に記憶される。サーバ製品タイプを含むボード識別情報は、ベースボードのメモリから読み取られる。サーバ製品タイプは、ストラップ構造内のサーバ識別情報と比較される。対応する所望のパラメータは、サーバ機能を実行するためにベースボードのベースボードコンポーネントにロードされる。
他の開示された例は、サーバ製品タイプを含むボード識別情報を記憶するメモリを有する構成可能なサーバである。サーバは、ハードウェアストラップ構造を有するファームウェアイメージを含む基本入出力システムを備える。ハードウェアストラップ構造は、複数の所望のパラメータと、対応するサーバ識別情報と、を有する。論理回路は、複数の所望のパラメータのうちサーバ製品タイプと一致するサーバ識別情報を有するパラメータからのハードウェアストラップパラメータに従って設定された出力を有する。プロセッサは、複数の機能のうち1つの機能を有効にするための構成入力を有する。プロセッサは、構成入力の状態に基づいて、複数の機能のうち1つの機能を実行する。構成入力は、論理回路の出力に接続されている。
他の開示された例は、サーバ製品タイプを含むボード識別情報を記憶するメモリを有する構成可能なサーバである。サーバは、ソフトウェアストラップ構造を有するファームウェアイメージを含む基本入出力システムを備える。ソフトウェアストラップ構造は、複数の所望のパラメータと、対応するサーバ識別情報と、を有する。フラッシュメモリは、複数の所望のパラメータのうちサーバ製品タイプと一致するサーバ識別情報を有するパラメータからのソフトウェアストラップパラメータを記憶する。シリアルバスは、構成可能なハードウェアコンポーネントに接続されている。プラットフォームハブコントローラは、フラッシュメモリに接続されている。プラットフォームハブコントローラは、ソフトウェアストラップパラメータを読み取り、シリアルバスの構成パラメータを、構成可能なハードウェアコンポーネントに送信する。
上記の概要は、本開示の各実施形態又はあらゆる態様を表すことを意図したものではない。むしろ、上記の概要は、本明細書に記載したいくつかの新規な態様及び特徴の一例を単に提供するものである。本開示の上記の特徴及び利点と他の特徴及び利点とは、添付の図面及び添付の特許請求の範囲と関連して読めば、本発明を実施するための代表的な実施形態及びモードについての以下の詳細な説明から容易に明らかになるであろう。
本発明の実施形態は、図面と以下の詳細な説明とを参照する。
サーバのソフトウェアストラップの従来技術の設定を示すブロック図である。 サーバのハードウェアストラップの従来技術の設定を示すブロック図である。 所望の異なるタイプのサーバに対する効率的な構成を可能にする例示的なサーバ構成及び組み立てプロセスのフローチャートである。 サーバのベースボードのブロック図である。 サーバのソフトウェアストラップ構成パラメータをプラットフォームコントロールハブに提供するプロセスを示す図である。 ソフトウェアストラップ構成パラメータをプラットフォームコントロールハブに提供するプロセスのフローチャートである。 ソフトウェアストラップ構成パラメータをプラットフォームコントロールハブに提供するプロセスのフローチャートである。 サーバのハードウェアストラップ構成パラメータをハードウェアロジックに提供するプロセスのフローチャートである。 ハードウェアストラップ構成パラメータをハードウェアロジックに提供するプロセスのフローチャートである。 ハードウェアストラップ構成パラメータをハードウェアロジックに提供するプロセスのフローチャートである。
本発明は、様々な変更及び代替形態を受け入れることができる。いくつかの代表的な実施形態は、図面に例として示されており、本明細書で詳細に説明される。しかし、本発明は、開示された特定の形態に限定されないことを理解されたい。むしろ、本発明は、添付の特許請求の範囲によって定義される本発明の趣旨及び範囲に含まれる全ての変更、均等物、代替物をカバーするものである。
本発明は、多くの異なる形態で具体化することができる。代表的な実施形態が図面に示されており、本明細書で詳細に説明する。本発明は、本発明の原理の例示であり、本発明の幅広い態様を、例示した実施形態に限定することを意図していない。その限りにおいて、例えば、概要、要約、詳細な説明に開示されているが、特許請求の範囲に明示的に記載されていない要素及び限定は、暗示的、推論的又は他の方法で、単独に又はまとめて、特許請求の範囲に組み込まれるべきではない。本発明の詳細な説明のために、特に断りのない限り、単数形は複数形を含み、その逆も同様である。「含む」という用語は、「限定することなく含む」ことを意味する。さらに、「約」、「ほぼ」、「実質的に」、「およそ」等の用語は、本明細書において、例えば「〜に」、「〜に近い」、「大体」、「〜の3〜5%の範囲内」、「許容される製造公差内」、又は、これらの任意の論理的組み合わせを意味するものとして用いることができる。
上述した方法及びシステムは、異なるサーバタイプに対応する複数のハードウェアストラップ及びソフトウェアストラップを有するファームウェアイメージファイルを提供することによって、異なるタイプのサーバの製造を可能にする。組み立て時に、ボードIDフィールドがベースボードから読み取られ、所望のサーバタイプが決定される。そして、適切な機能用のサーバを構成するために、適切なハードウェアストラップ及びソフトウェアストラップがファームウェアイメージファイルからコピーされる。このプロセスは、リリースされる組み合わせファームウェアイメージファイルの必要とされる量を減らすことを可能にし、サーバのベースボードのハードウェア論理回路の変更を減らすことができる。この例はサーバに関連するが、ここで説明する原理は、現在、自動的に実行される異なるハードウェア変更要件を有するマザーボード上で同じファームウェアイメージを実行し得る任意の電子製品に適用され得る。これらの削減により、追加のハードウェア又はソフトウェアの再プログラムを必要とせずに、製造時に多くの異なるサーバオプションの使用を可能にする。
図3は、同じベースボード及び他のコンポーネンツを用いて、異なるタイプのサーバを製造する例示的なプロセスを示す図である。プロセスは、異なるタイプのサーバ用のハードウェアストラップ及びソフトウェアストラップの異なるモジュールを含む包括的なファームウェアイメージ110をオーサリングする工程を含む。包括的なファームウェアイメージ110は、異なるタイプのサーバの製造に必要とされる組み合わせファームウェアイメージファイルリリースの量を減らす。また、プロセスは、プログラマブルロジックコントローラ112を用いることによって、機能を指定するハードウェア論理回路の変更を減らす。包括的なファームウェアイメージ110は、ベースボード114のメモリに書き込まれる。次に、製造オペレータは、ベースボードをサーバシャーシに設置し、所望のタイプのサーバ116に基づいて正確な機能が選択される。ファームウェアイメージ内の構成パラメータ及びプログラマブルロジックコントローラは、例えば、ストレージサーバ、計算サーバ、GPUサーバ又はネットワークスイッチサーバ等の異なるサーバ118の製造を可能にする。このようなサーバ118の製造は、複数のファームウェアイメージ又は複雑なハードウェア論理回路を必要としない。さらに、プロセスは、ベースボードが、組み合わせファームウェアイメージの正しい用意と、要求されたサーバタイプのハードウェアロジックの出力と、を有しているか否かを検査するためのメカニズムを提供する。本プロセスは、ファームウェアアルゴリズムを包括的なファームウェアイメージ110に組み込んで、リリースされたファームウェアイメージファイルの量を減らすと同時に、異なるサーバ設計が共通のコンポーネント(例えば、ベースボード等)を使用するのを可能にする。また、プロセスは、サーバプロセッサ機能を設定するために、ベースボードに取り付けるハードウェアレジスタの変更を減らすための柔軟な方法を含む。
図4は、サーバのタイプに基づいて異なる機能を指示するように構成され得るサーバ120内のハードウェア及びメモリデバイスのブロック図である。サーバ120は、共通のコンポーネント(例えば、ベースボード130等)をそれぞれ有するいくつかのタイプのうち1つであってもよい。例えば、サーバタイプは、上述したように、ストレージサーバ、計算サーバ、GPUサーバ又はネットワークスイッチサーバを含むことができる。
サーバ120は、ベースボード130と、メインボード132と、を有する。メインボード132は、プロセッサ134と、他の構成可能なデバイスと、を有する。ベースボード130は、最大の変数及び独立した要件に適応する最適化設計である。よって、ベースボードの設計者は、異なるタイプのサーバに用いられるベースボードにインストールされる全ての可能なハードウェアコンポーネントを理想的に検討する。また、メインボード132は、サーバのタイプの所望の機能に特有の特殊なコンポーネントを含むことができる。例えば、GPUサーバ用のメインボードは複数のGPUを含み、ストレージサーバ用のメインボードは、複数のソリッドステートドライブ又はハードディスクドライブを含む。ベースボード130は、ベースボード管理コントローラ(BMC)140と、ベースボードマネジメントコントローラ140用のBIOSと、を搭載する。また、ベースボード130は、プラットフォームコントローラハブ(PCH)146と、SPIフラッシュチップ148と、を有する。この例では、PCH146は、内部PCIルートコントローラと、内部SATAコントローラと、を有する。ベースボード130は、識別メモリ(例えば、EEPROM150等)を有する。サーバ120に関連する識別データは、EEPROM150に記憶される。さらに、ベースボード130は、プラットフォームロジックコントローラ152を有する。プラットフォームロジックコントローラ152は、プロセッサ134上の構成入力に接続されたハードウェアレジスタを有する。様々な構成機能を実行するためにBIOSが参照されているが、ユニファイドエクステンシブルファームウェアインタフェース(UEFI)も同じ機能を実行することができる。システム管理バス154は、ベースボード130上のコンポーネントが互いに通信するのを可能にする。
ベースボード管理コントローラ140のBIOSの例示的なファームウェアアルゴリズムは、EEPROM150に記憶されたボードIDに基づいて、異なる機能についてPCH146のソフトウェアストラップパラメータを再プログラミングする。この例では、ボードIDには、特定のサーバ識別情報(固有のシグネチャ、製品名、カスタムデータ及びチェックサムフィールドを含む)が含まれている。よって、ボードIDは、所望のサーバのタイプと、これに対応するサーバの機能と、を伝達する。BIOSは、SPIフラッシュチップ148内のeモジュール(eModule)に記憶されたBIOSファームウェアイメージファイル160を有する。ファームウェアイメージは、可能なボードIDのうち1つにそれぞれ関連付けられた、様々な所望のソフトウェアストラップ構造162を有する。BIOSファームウェアイメージファイル160は、「所望のソフトウェアストラップ」と呼ばれる構造として、BIOSのeモジュール内にPCHソフトウェアストラップを構築する。以下に説明するように、ソフトウェアストラップパラメータは、適切なコントローラを選択するためにソフトウェアストラップパラメータの値を参照することによって、PCH146が、SATAバス又はPCleバス等のシリアルバス156を介してメインボード132上のハードウェアコンポーネントを構成することを可能にする。プラットフォームコントローラハブ146によるパワーオンシーケンス中に、回路ルーティングが実行される。
BIOSは、所望のタイプのサーバの正確なボードIDを用いて、BIOボードIDを読み取って、パワーオンシーケンス中に初期化されているサーバのタイプを知ることができる。次に、BIOSは、SPIフラッシュチップ148に記憶されているソフトウェアストラップパラメータを、eモジュールの所望のソフトウェアストラップと比較することができる。ソフトウェアストラップパラメータと所望のソフトウェアストラップとの間の内容が異なる場合、ベースボード130が新たなサーバシャーシタイプに取り付けられていることを示す。この場合、BIOSは、SPIフラッシュチップ148のソフトウェアストラップパラメータを、eモジュールからの所望のソフトウェアストラップ構造に再プログラミングする。次に、BIOSは、ハードウェアのパワーサイクルをトリガする。次いで、BIOSは、ソフトウェアストラップパラメータを再度認識し、PCH146を介してベースボードハードウェアの挙動を変更するように、PCH146に要求する。よって、このアルゴリズムは、SPIインタフェースを介して、SPIフラッシュチップ148のソフトウェアストラップ構造162の値を調整する。BMC140がSPIフラッシュチップ148にアクセスする能力を有する場合、このアルゴリズムは、BMC140によって実行され得る。
図5は、ソフトウェアストラップパラメータを提供して、特定の機能を有するサーバを生成するプロセスのフローチャートである。図4のPCH146の内部コントローラは、起動時に、SPIフラッシュチップ148からソフトウェアストラップを読み取り、そのハードウェアロジック出力信号を構成する(500)。BMC140のBIOSは、EEPROM150に記憶されたボードIDのサーバ識別フィールドを読み取る(502)。次に、BIOSは、サーバホストに記憶されたBIOS eモジュールからソフトウェアストラップのパラメータを読み取る(504)。BIOSは、サーバ識別情報を比較した後にソフトウェアストラップパラメータを再プログラミングして、SPIフラッシュチップ148内のソフトウェアストラップパラメータがサーバ識別情報のものと一致するか否かを判別する(506)。次に、BIOSは、パワーサイクルを開始するようにPCH146を制御する(508)。PCH146がパワーサイクルを実行した後、サーバは、リセットされ、SPIフラッシュチップ148に現在記憶されているソフトウェアストラップを読み取る(510)。
図6A及び図6Bは、図5に示すソフトウェアストラップパラメータを比較及び再プログラミングするために、BIOSによって実行されるルーチンのフローチャートである。BIOSは、最初に、ソフトウェアストラップサービスルーチンを開始する(600)。次に、BIOSは、パワーサイクルが開始されたか否かを判別する(602)。パワーサイクルが開始されている場合、BIOSは、EEPROM150からボードIDを読み取る(604)。BIOSは、ボードIDからのシグネチャフィールドを、図4に示すSPIフラッシュチップ148に記憶された所望のソフトウェアストラップ構造162にリストされているサーバ識別情報と比較することによって、所望のサーバ製品を識別する(606)。また、ソフトウェアストラップ構造は、BIOSによってアクセス可能なマザーボード内の他のエンティティに記憶されてもよい。
BIOSは、ボードIDからのシグネチャが所望のソフトウェアストラップ構造内の任意のサーバ識別情報と一致するか否かを判別する(608)。シグネチャが何れのサーバ識別情報とも一致しない場合、誤った構成が存在し、BIOSは、システムイベントログ(SEL)をBMC140に送信する(610)。次に、BIOSは、パワーオンセルフテストルーチンを停止する(612)。シグネチャの一致がある場合(608)、BIOSは、図4のSPIフラッシュチップ148からソフトウェアストラップパラメータを読み取る(614)。BIOSは、ソフトウェアストラップパラメータを、eモジュールに記憶された所望のソフトウェアストラップ構造と比較する(616)。BIOSは、比較によって、SPIフラッシュチップ148から読み取られたソフトウェアストラップが正確であるか否かを判別する(618)。所望のソフトウェアストラップ構造内のシグネチャと関連するパラメータとの一致がある場合、BIOSは、パワーオンセルフテストルーチンを継続する(620)。一致が見つからない場合、BIOSは、所望のソフトウェアストラップ構造から適切なソフトウェアストラップを有するSPIフラッシュチップ148内のソフトウェアストラップを再プログラミングする(622)。次に、BIOSは、パワーサイクルを実行するようにPCH146にコマンドを送信する(624)。
図6Aは、SPIフラッシュチップ148に記憶され得るPCHソフトウェアストラップテーブル630を示す図である。PCHソフトウェアストラップテーブル630は、PCH146の異なる出力ポートの構成を定義するビットを有する。見てわかるように、ソフトウェアストラップテーブル630は、SATAバス又はPCleバスの出力ポート構成を有する。
また、図6Aは、EEPROM150に記憶された例示的なボードID構造640を示している。ボードIDイメージ640は、ボードIDバージョンフィールド642と、ボードSKU IDフィールド644と、チェックサムフィールド646と、シグネチャフィールド648と、製品名フィールド650と、カスタムデータフィールド652と、オプションのデータフィールド654と、を有する。ボードID構造640は、ベースボード/サーバプラットフォームの識別情報を記述するデータ構造である。ボードIDバージョンフィールド642は、構造のスキーマを記述するリリースバージョン(release version)である。ボードSKU IDフィールド644は、ベースボードを記述する固有の番号である。チェックサムフィールド646は、工場構築のための構造の完全性を記録するためのハッシュ値である。シグネチャフィールド648は、セキュリティ検査のための構造の完全性を記録するためのハッシュ値である。製品名フィールド650は、異なるシャーシタイプを有するシステムを記述する文字列である。カスタムデータフィールド652は、ユーザ固有の設定に用いられるフィールドである。
図6Bは、eモジュールに記憶される所望のソフトウェアストラップ構造660を示す図である。所望のソフトウェアストラップ構造660は、構造ヘッダフィールド662と、チェックサムフィールド664と、サーバ製品リストフィールド666と、サーバ識別フィールド668と、オプションのデータフィールド670と、ソフトウェアストラップディレクトリフィールド672と、を有する。ソフトウェアストラップパラメータフィールド674には、様々なソフトウェアストラップパラメータが記憶されている。ソフトウェアストラップディレクトリ672は、ソフトウェアストラップパラメータフィールド674に記憶されたソフトウェアストラップへのマップを提供する。各サーバタイプは、サーバタイプに関連するソフトウェアストラップパラメータの対応する識別情報と共にサーバ識別フィールド668に記憶される。
ベースボードBIOSのファームウェアアルゴリズムは、ボードIDの内容に基づいて、プログラマブル入力/出力(I/O)チップの構成(例えば、図4のプラットフォームロジックコントローラ152等)を調整することができる。出力信号の状態はプロセッサ134に一貫して存在しなければならないので、この例では、プログラマブルI/Oチップの出力信号は、オープンドレイン(open-drain)として構成されてもよく、最大100Ωのオン抵抗を提供してもよい。プロセッサ134がパワーオンシーケンス中にその入力ピンをサンプリングすることができるように、一貫した信号が必要である。次に、プロセッサ134は、パワーオンシーケンスの異なる段階に対してリンク/機能及び内部構成コントローラレジスタを初期化する。eモジュールの所望のソフトウェアストラップ構造と同様に、BIOSファームウェアイメージファイル160は、潜在的なボードIDの各々と一致する様々なソフトウェアストラップを有することができる。ソフトウェアストラップは、図6Bに示す「所望のソフトウェアストラップ」構造660としてBIOSの内部に構築される。
図7は、サーバのプロセッサを構成するためのハードウェアストラップパラメータを提供するプロセスを示す図である。図4のCPU134の内部コントローラは、起動時に、その入力ピンの状態をサンプリングして、そのリンク機能を構成する(700)。BIOS又はBMC140は、EEPROM150に記憶されているボードIDのサーバ識別フィールドを読み取る(702)。次に、BIOSは、プラットフォームロジックコントローラ152からハードウェアストラップの構成を読み取る(704)。BIOSは、SMBus読み取り命令をEEPROM150に送信し、次いで、サーバ識別フィールドを含むボードID情報のブロックを検索する。BIOSは、ハードウェアストラップ構成がサーバ識別情報のものと一致するか否かを判別するために、サーバ識別情報を比較した後に構成を調整する(706)。そして、BIOSは、パワーサイクルを開始するようにPCH146を制御する(708)。PCH146がパワーサイクルを実行した後、CPU134は、リセットして、プラットフォームロジックコントローラ152の出力に接続された入力ピンの状態から決定されるように機能を実行する(710)。
図8A及び図8Bは、図7に示すハードウェアストラップパラメータを比較及び再プログラミングするために、BIOS(図4)によって実行されるルーチンのフローチャートである。このルーチンは、図5、図6A及び図6Bを参照して説明したルーチンと同時に実行することができる。BIOSは、最初に、ハードウェアストラップサービスルーチンを開始する(800)。次に、BIOSは、パワーサイクルが開始されたか否かを判別する(802)。パワーサイクルが開始された場合、BIOSは、EEPROM150からボードIDを読み取る(804)。BIOSは、ボードIDからのシグネチャフィールドを、BIOS eモジュールに記憶された所望のハードウェアストラップ構造内にリストされたサーバ識別情報と比較することによって、所望のサーバ製品を識別する(806)。また、ハードウェアストラップ構造は、BIOSによってアクセス可能なマザーボード内の他のエンティティに記憶されてもよい。
BIOSは、ボードIDからのシグネチャーが、所望のハードウェアストラップ構造内の何れかのサーバ識別情報と一致するか否かを判別する(808)。シグネチャが何れのサーバ識別情報とも一致しない場合、誤った構成があり(及び、現在のUEFI BIOSサポートがない)、BIOSは、システムイベントログ(SEL)をBMC130に送信する(810)。次に、BIOSは、パワーオンセルフテストルーチンを停止する(812)。UEFI BIOSがマザーボードをサポートすることを示すシグネチャの一致がある場合(808)、BIOSは、プラットフォームロジックコントローラ152からハードウェアストラップパラメータを読み出す(814)。BIOSは、ハードウェアストラップパラメータを、eモジュールに記憶された所望のハードウェアストラップ構造と比較する(816)。BIOSは、比較結果により、プラットフォームロジックコントローラ152から読み取られるハードウェアストラップが正確であるか否かを判別する(818)。所望のハードウェアストラップ構造内のシグネチャに関連するパラメータに一致がある場合、BIOSは、パワーオンセルフテストルーチンを継続する(820)。一致が見つからない場合、BIOSは、所望のハードウェアストラップ構造からの適切なハードウェアストラップを用いて、プラットフォームロジックコントローラ152内のハードウェアストラップを再プログラミングする(822)。次に、BIOSは、パワーサイクルを実行するようにPCH146にコマンドを送信する(824)。
図8Bは、所望のハードウェアストラップ構造860の一例を示す図である。所望のハードウェアストラップ構造860は、構造ヘッダフィールド862と、チェックサムフィールド864と、サーバ製品リストフィールド866と、サーバ識別フィールド868と、オプションのデータフィールド870と、ソフトウェアストラップディレクトリフィールド872と、を有する。ハードウェアストラップパラメータフィールド874には、様々なハードウェアストラップパラメータが記憶されている。ハードウェアストラップディレクトリ872は、ハードウェアストラップパラメータフィールド874に記憶されたハードウェアストラップへのマップを提供する。各サーバタイプは、そのサーバのタイプに関連する、対応する正確に記憶されたソフトウェアストラップパラメータフィールドと共に、サーバ識別フィールド868に記憶される。図8Aは、プロセッサ134の機能入力ピンに対するプラットフォームロジックコントローラ152の出力状態を示す構成テーブル800を示している。例示的な構成テーブル880は、プロセッサが重要な機能(例えば、LLC & MLC BIST, TXT)をアクティブにするのを可能にする設定を有する。これらの機能は、プログラミングI/Oチップからの信号ハイ/ロー出力を認識することによって有効/無効になる。UEFI BIOSは、プログラミングI/Oチップの設定値を読み取り、その設定値とハードウェアストラップ構造とを比較する。
製造ラインにおいて誤った「ボードID」が提供されるのを防止するために、上記のアルゴリズムは両方とも、ボードIDのシグネチャが、所望のソフトウェア又はハードウェア構造のサーバ識別情報と一致するか否かを調べる。一致しない場合、BIOSは、システムイベントログ(SEL)をBMC140に送信して警告を発し、パワーアップセルフテストルーチンを停止して、サーバが誤った機能を実行及び開始するのを防止する。顧客の様々な用途でのサーバの大量製造が予定されると、製造側のオペレータは、ベースボードを変更することなく、単一のファームウェアイメージファイル及び顧客の部品表を用いて、正確な機能をサーバ上に容易に構成することができる。上記のプロセスは、部品表におけるハードウェアの変更を考慮に入れるだけでなく、ファームウェアの復帰管理、メンテナンス及びリリースの作業負荷を軽減する。
図6A、図6B、図8A及び図8Bのフローチャートは、正確なソフトウェア及びハードウェア構成パラメータを提供するための図4のBMC140の例示的な機械可読命令を表す。これらの例では、機械可読命令は、(a)プロセッサ、(b)コントローラ、及び/又は、(c)1つ以上の他の適切な処理デバイスにより実行されるアルゴリズムを有する。アルゴリズムは、有形の媒体(例えば、フラッシュメモリ、CD−ROM、フロッピー(登録商標)ディスク、デジタルビデオ(汎用)ディスク(DVD)又は他のメモリデバイス等)に記憶されたソフトウェアで具現化することができる。しかし、当業者であれば理解できるように、アルゴリズム全体及び/又はその一部は、代替的に、プロセッサ以外のデバイスによって実行され、及び/又は、周知の方法でファームウェア又は専用のハードウェアで実施することができる(例えば、特定用途向け集積回路(ASIC)、プログラマブルロジックデバイス(PLD)、フィールドプログラマブルロジックデバイス(FPLD)、フィールドプログラマブルゲートアレイ(FPGA)、ディスクリートロジック等によって実行され得る)。例えば、インタフェースの何れか又は全てのコンポーネントは、ソフトウェア、ハードウェア、及び/又は、ファームウェアによって実装することができる。また、フローチャートによって表される機械可読命令の一部又は全ては、手動で実施されてもよい。さらに、例示的なアルゴリズムは、図6A、図6B、図8A及び図8Bに示すフローチャートを参照して説明されているが、当業者であれば理解できるように、例示的な機械可読命令を実行する他の多くの方法が代替的に用いられてもよい。例えば、ブロックの実行順序は変更されてもよいし、及び/又は、説明したブロックのいくつかは変更、削除又は組み合わされてもよい。
本明細書で使用される「コンポーネント」、「モジュール」、「システム」等の用語は、一般に、コンピュータ関連のエンティティ、即ち、ハードウェア(例えば、回路)、ハードウェアとソフトウェアの組み合わせ、ソフトウェア、又は、1つ以上の特定の機能を有する操作可能な機器に関連するエンティティの何れかを指す。例えば、コンポーネントは、プロセッサ(例えば、デジタル信号プロセッサ等)で実行されるプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行スレッド、プログラム、及び/又は、コンピュータとすることができるが、これらに限定されない。例として、コントローラ上で実行されるアプリケーション、及び、コントローラの両方がコンポーネントとなることができる。1つ以上のコンポーネントがプロセス及び/又は実行スレッド内に存在してもよく、コンポーネントが1つのコンピュータ上に位置してもよく、及び/又は、2つ以上のコンピュータ間に分散されてもよい。さらに、「デバイス」は、特別に設計されたハードウェア、ハードウェアが特定の機能を実行するのを可能にするソフトウェアの実行によって特殊化された汎用ハードウェア、コンピュータ可読媒体に記憶されたソフトウェア、又は、これらの組み合わせの形態をとることができる。
本明細書で使用される用語は、特定の実施形態を説明することを目的としており、本発明を限定するものではない。本明細書で使用される場合、「一つの」、「1つの」及び「その」という単数形は、文脈が明らかにそうでないことを示さない限り、複数形も含むことを意図している。さらに、「含む」、「有する」、又は、これらの変形は、詳細な説明及び/又は特許請求の範囲の何れかに使用される限りにおいて、「備える」という用語と同様の方法で包括的であることが意図される。
他に定義されない限り、本明細書で使用される全ての用語(技術用語及び科学用語を含む)は、当業者によって一般的に理解されるのと同じ意味を有する。さらに、一般的に使用される辞書で定義されているような用語は、関連技術の文脈におけるそれらの意味と一致する意味を有すると解釈されるべきであり、明確に定義されない限り、理想的又は過度に形式的な意味で解釈されるべきではない。
本発明の様々な実施形態は上述した通りであるが、これらは例示としてのみ提示されており、これらに限定されないことを理解されたい。本発明の趣旨又は範囲から逸脱することなく、本明細書の開示に従って、開示された実施形態に対するいくつかの変更を加えることができる。よって、本発明の広さ及び範囲は、上述した実施形態によって限定されるべきではない。むしろ、本発明の範囲は、添付の特許請求の範囲及びこれらの均等物に従って定義されるべきである。
本発明の好ましい実施形態を前述の通り開示したが、これらは決して本発明を限定するものではなく、当業者であれば、本発明の技術的思想を逸脱しない範囲で各種の変形を加えることができる。
10…プラットフォームコントローラハブ(PCH)チップ
12…構成パラメータ出力
14…PCleバス
16…SATAバス
18…SPIインタフェース
20…シリアルペリフェラルインタフェース(SPI)フラッシュチップ
30…メモリマップ
32…リザーブ領域
34…PCHソフトウェアストラップ領域
36…リザーブ領域
38…BIOS領域
40…記述子マップ領域
42…シグネチャ領域
50,52,66…テーブル
60…プロセッサ
62…論理回路
64…入力ピン
110…包括的なファームウェアイメージ
112…プログラマブルロジックコントローラ
114,130…ベースボード
116,118,120…サーバ
132…メインボード
134…プロセッサ
140…ベースボード管理コントローラ(BMC)
146…プラットフォームコントローラハブ(PCH)
148…SPIフラッシュチップ
150…EEPROM
152…プラットフォームロジックコントローラ
156…シリアルバス
160…BIOSファームウェアイメージファイル
162…ソフトウェアストラップ構造
630…PCHソフトウェアストラップテーブル
640…ボードID構造
642…ボードIDバージョンフィールド
644…ボードSKU IDフィールド
646…チェックサムフィールド
648…シグネチャフィールド
650…カスタムデータフィールド
652…オプションのデータフィールド
660…所望のソフトウェアストラップ構造
662…構造ヘッダフィールド
664…チェックサムフィールド
666…サーバ製品リストフィールド
668…サーバ識別フィールド
670…オプションのデータフィールド
672…ソフトウェアストラップディレクトリフィールド
860…所望のハードウェアストラップ構造
862…構造ヘッダフィールド
864…チェックサムフィールド
866…サーバ製品リストフィールド
868…サーバ識別フィールド
870…オプションのデータフィールド
872…ソフトウェアストラップディレクトリフィールド
874…ハードウェアストラップパラメータフィールド
880…構成テーブル

Claims (9)

  1. サーバの機能を構成する方法であって、
    複数の所望のパラメータと、対応するサーバ識別情報と、をストラップ構造に記憶する工程と、
    サーバ製品タイプを含むボード識別情報をベースボードのメモリから読み取る工程と、
    前記サーバ製品タイプを、前記ストラップ構造内の前記サーバ識別情報と比較する工程と、
    対応する前記所望のパラメータを前記ベースボードのベースボードコンポーネントにロードして、サーバ機能を実行する工程と、
    前記サーバ識別情報が前記サーバ製品タイプと一致しない場合にシステムエラーログを送信する工程と、
    を含むことを特徴とする方法。
  2. 前記ベースボードコンポーネントはプラットフォームコントローラハブであり、前記パラメータは、シリアルバスを介してメインボードへのプラットフォームコントローラハブの出力信号を構成するためのソフトウェアストラップであることを特徴とする請求項1に記載の方法。
  3. 前記ベースボードコンポーネントは、メインボードのプロセッサの構成入力への出力を有する論理回路であり、前記パラメータは、前記論理回路の出力の状態を設定するためのハードウェアパラメータであることを特徴とする請求項1に記載の方法。
  4. 前記サーバ識別情報が前記サーバ製品タイプと一致しない場合にパワーオンセルフテストルーチンを停止する工程を含むことを特徴とする請求項に記載の方法。
  5. 前記ストラップ構造は、前記ベースボードの基本入出力システム内のファームウェアイメージに記憶されることを特徴とする請求項1に記載の方法。
  6. 構成可能なサーバであって、
    サーバ製品タイプを含むボード識別情報を記憶するメモリと、
    複数の所望のパラメータと、対応するサーバ識別情報と、を含むハードウェアストラップ構造を有するファームウェアイメージを含む基本入出力システムと、
    前記複数の所望のパラメータのうち前記サーバ製品タイプに一致するサーバ識別情報を有するパラメータからのハードウェアストラップパラメータに従って設定された出力を有する論理回路と、
    複数の機能のうち1つの機能を有効にするための構成入力を有するプロセッサであって、前記構成入力の状態に基づいて前記複数の機能のうち1つの機能を実行し、前記構成入力が前記論理回路の出力に接続されているプロセッサと、を備え、
    前記基本入出力システムは、前記サーバ識別情報が前記サーバ製品タイプと一致しない場合にシステムエラーログを送信する、ことを特徴とするサーバ。
  7. 前記メモリ及び前記基本入出力システムはベースボードに搭載されており、前記プロセッサはメインボードに搭載されていることを特徴とする請求項に記載のサーバ。
  8. 構成可能なサーバであって、
    サーバ製品タイプを含むボード識別情報を記憶するメモリと、
    複数の所望のパラメータと、対応するサーバ識別情報と、を含むソフトウェアストラップ構造を有するファームウェアイメージを含む基本入出力システムと、
    前記複数の所望のパラメータのうち前記サーバ製品タイプに一致するサーバ識別情報を有するパラメータからのソフトウェアストラップパラメータを記憶するフラッシュメモリと、
    構成可能なハードウェアコンポーネントと、
    前記構成可能なハードウェアコンポーネントに接続されたシリアルバスと、
    前記フラッシュメモリに接続されたプラットフォームハブコントローラであって、前記ソフトウェアストラップパラメータを読み取り、前記シリアルバスの構成パラメータを前記構成可能なハードウェアコンポーネントに送信するプラットフォームハブコントローラと、を備え、
    前記基本入出力システムは、前記サーバ識別情報が前記サーバ製品タイプと一致しない場合にシステムエラーログを送信する、サーバ。
  9. 前記メモリと前記基本入出力システムと前記フラッシュメモリと前記プラットフォームハブコントローラとを搭載するベースボードと、前記構成可能なハードウェアコンポーネントを搭載するメインボードと、を備えることを特徴とする請求項に記載のサーバ。
JP2019053084A 2018-09-05 2019-03-20 合理化されたサーバ設計の方法及びシステム Active JP6825029B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/122,387 US10489338B1 (en) 2018-09-05 2018-09-05 Method and system for streamlined server design
US16/122,387 2018-09-05

Publications (2)

Publication Number Publication Date
JP2020038604A JP2020038604A (ja) 2020-03-12
JP6825029B2 true JP6825029B2 (ja) 2021-02-03

Family

ID=65033531

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019053084A Active JP6825029B2 (ja) 2018-09-05 2019-03-20 合理化されたサーバ設計の方法及びシステム

Country Status (5)

Country Link
US (1) US10489338B1 (ja)
EP (1) EP3620916B1 (ja)
JP (1) JP6825029B2 (ja)
CN (1) CN110879720B (ja)
TW (1) TWI698753B (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110908943A (zh) * 2019-12-09 2020-03-24 迈普通信技术股份有限公司 一种板卡自动适配方法、装置、网络设备及存储介质
US11100230B1 (en) 2019-12-31 2021-08-24 Management Services Group, Inc. Modular embedded chassis with firmware for removably coupled compute devices, and methods and systems for the same
DE112020007303T5 (de) * 2020-06-08 2023-05-04 Hewlett-Packard Development Company, L.P. Sicheres hochfahren von rechenvorrichtungen
US11599087B2 (en) * 2020-10-21 2023-03-07 Dell Products L.P. System and method of utilizing information handling system identity types with motherboards of information handling systems
US11487550B1 (en) * 2020-12-07 2022-11-01 Amazon Technologies, Inc. Event communication management
US20230127405A1 (en) * 2021-10-22 2023-04-27 Dell Products, L.P. Validation and registration for information handling systems
US20230133726A1 (en) * 2021-10-28 2023-05-04 Quanta Computer Inc. Method and system for avoiding boot failure from platform firmware resilience execution
CN114327536A (zh) * 2021-11-30 2022-04-12 浪潮电子信息产业股份有限公司 一种服务器运维方法、装置、设备及存储介质

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040093516A1 (en) * 2002-11-12 2004-05-13 Hornbeek Marc William Anthony System for enabling secure remote switching, robotic operation and monitoring of multi-vendor equipment
US9514259B2 (en) * 2012-11-20 2016-12-06 Taiyo Yuden Co., Ltd. Logic configuration method for reconfigurable semiconductor device
US9990212B2 (en) * 2013-02-19 2018-06-05 Empire Technology Development Llc Testing and repair of a hardware accelerator image in a programmable logic circuit
US20140297922A1 (en) * 2013-03-29 2014-10-02 Nitin V. Sarangdhar Method and apparatus for managing serial peripheral interface (spi) flash
CN104468637B (zh) * 2013-09-12 2018-08-31 阿里巴巴集团控股有限公司 一种下载以及安装客户端的方法和设备
CN103905566A (zh) * 2014-04-22 2014-07-02 浪潮电子信息产业股份有限公司 一种服务器启动信息远程查看及导出方法
US9122501B1 (en) 2014-09-08 2015-09-01 Quanta Computer Inc. System and method for managing multiple bios default configurations
US9128729B1 (en) * 2014-09-08 2015-09-08 Quanta Computer Inc. System and method for automatically configuring bios performance profiles
US10031736B2 (en) * 2015-09-29 2018-07-24 Quanta Computer Inc. Automatic system software installation on boot
US10037170B2 (en) 2015-12-18 2018-07-31 Mitac Computing Technology Corporation Motherboard and a method for boot-up
CN106998255B (zh) * 2016-01-22 2020-01-10 腾讯科技(深圳)有限公司 一种反馈处理服务器、网络系统以及反馈处理方法
US9805200B2 (en) * 2016-02-01 2017-10-31 Quanta Computer, Inc. System and method for firmware verification
US9710284B1 (en) 2016-02-02 2017-07-18 Mitac Computing Technology Corporation System for programmably configuring a motherboard
US10229883B2 (en) * 2016-10-01 2019-03-12 Intel Corporation Systems, methods, and apparatuses for implementing late fusing of processor features using a non-volatile memory
CN108337279B (zh) * 2017-01-20 2021-01-29 阿里巴巴集团控股有限公司 一种智能设备的控制方法及装置

Also Published As

Publication number Publication date
CN110879720A (zh) 2020-03-13
US10489338B1 (en) 2019-11-26
EP3620916A1 (en) 2020-03-11
CN110879720B (zh) 2023-03-31
TW202011214A (zh) 2020-03-16
EP3620916B1 (en) 2023-07-19
TWI698753B (zh) 2020-07-11
JP2020038604A (ja) 2020-03-12

Similar Documents

Publication Publication Date Title
JP6825029B2 (ja) 合理化されたサーバ設計の方法及びシステム
JP5540155B2 (ja) プラットフォーム独立メモリ論理の提供
US8943302B2 (en) Method of flashing bios using service processor and computer system using the same
US9298470B2 (en) Method and apparatus for selecting bios program for a processor
US11579893B2 (en) Systems and methods for separate storage and use of system BIOS components
US10698696B2 (en) Chipset fuse programming system
US20200132761A1 (en) System and method to secure fpga card debug ports
US10146551B2 (en) Initializing and reconfiguring replacement motherboards
US7080164B2 (en) Peripheral device having a programmable identification configuration register
US8286093B2 (en) Replacement motherboard configuration
TWI813887B (zh) 從分離的bios映像檔啟動的方法及系統
US20240037501A1 (en) Validating secure modifications to information handling systems
US20230127223A1 (en) Physical port validation for information handling systems
US11334359B2 (en) Systems and methods for management of dynamic devices
US11423180B2 (en) Secure identification of components installed in information handling systems
US20240135000A1 (en) Systems and methods for vulnerability proofing interdependent ihs components
US20240137381A1 (en) Systems and methods for vulnerability proofed cluster management
TWI839101B (zh) 韌體的更新方法
US20240134993A1 (en) Systems and methods for vulnerability proofing when updating an ihs
US20240134995A1 (en) Systems and methods for context-aware vulnerability risk scores
US20240135002A1 (en) Systems and methods for aggregated vulnerability proofing of an ihs
US20240134991A1 (en) Systems and methods for vulnerability proofing when adding and replacing ihs hardware
US20240103837A1 (en) Seamless and secure motherboard replacement system and method
US20240134996A1 (en) Systems and methods for vulnerability proofing when using a bootable image
US20240134992A1 (en) Systems and methods for vulnerability proofing when booting an ihs

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190320

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200312

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200415

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200622

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20200811

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201120

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20201120

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20201202

C21 Notice of transfer of a case for reconsideration by examiners before appeal proceedings

Free format text: JAPANESE INTERMEDIATE CODE: C21

Effective date: 20201208

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210113

R150 Certificate of patent or registration of utility model

Ref document number: 6825029

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250