JP6866975B2 - マルチマスタートポロジーシステムにおけるcpldキャッシュの適用 - Google Patents

マルチマスタートポロジーシステムにおけるcpldキャッシュの適用 Download PDF

Info

Publication number
JP6866975B2
JP6866975B2 JP2018170957A JP2018170957A JP6866975B2 JP 6866975 B2 JP6866975 B2 JP 6866975B2 JP 2018170957 A JP2018170957 A JP 2018170957A JP 2018170957 A JP2018170957 A JP 2018170957A JP 6866975 B2 JP6866975 B2 JP 6866975B2
Authority
JP
Japan
Prior art keywords
node
command
management bus
programmable logic
bus
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
JP2018170957A
Other languages
English (en)
Other versions
JP2019160279A (ja
Inventor
▲啓▼村 周
▲啓▼村 周
英哲 張
英哲 張
嚴之 張
嚴之 張
文華 駱
文華 駱
Original Assignee
廣達電脳股▲ふん▼有限公司
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 廣達電脳股▲ふん▼有限公司 filed Critical 廣達電脳股▲ふん▼有限公司
Publication of JP2019160279A publication Critical patent/JP2019160279A/ja
Application granted granted Critical
Publication of JP6866975B2 publication Critical patent/JP6866975B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • G06F13/1652Handling requests for interconnection or transfer for access to memory bus based on arbitration in a multiprocessor architecture
    • 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
    • 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
    • G06F13/4291Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus using a clocked protocol
    • 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/0016Inter-integrated circuit (I2C)
    • 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/36Arbitration

Description

本開示は、概してマルチノードシステムのためのコマンドコードに関する。より具体的には、本開示の態様は、マルチマスターの問題を回避すべく、マルチノードシステムのコマンドコードのためにコンプレックスプログラマブルロジックデバイスを使用することに関する。
サーバなどの電子デバイスは、様々なバスに接続されて、データ及びコマンドを送信及び受信する電子コンポーネントを含む。多くのサーバは、共通の電源用のバックプレーンに接続される複数のノードを有する。バックプレーンはまた、電源を監視すべく、データ及びコマンドが、ノードとバックプレーンとの間で交換されることを可能にするバスに接続される。
図1は、サーバ又は他の大きいネットワークデバイスであり得る周知である、従来技術のマルチノードシステム10を示す。マルチノードシステム10は、2つの電源ユニット14及び16に接続されるバックプレーン12を有する。バックプレーン12は、システム管理(SM)バスライン24及び26を経由してシステムノード20及び22にそれぞれ接続される。本例において、システムノード20及び22の両方は、それぞれのベースボード管理コントローラ(BMC)30及び32を含む。BMC30及び32は、バスライン24及び26を介して通信を処理する。バスライン24及び26は、バックプレーン12に信号を送信すべく、ノード20及び22により使用される。共通のSMバスプロトコルは、集積回路間(アイ・スクウェア・シー:I2C)バスプロトコルである。I2Cプロトコルは、パケット交換型で、シングルエンドの、シリアルコンピュータバスプロトコルである。このプロトコルは、マスターデバイスがスレーブデバイスにコマンドを送信するマスタースレーブ構成に適応できる。I2Cプロトコルが、マルチノードシステムにおいて使用される場合、ノード20及び22などの各ノードがいつでもバックプレーン12に対してバスライン24及び26を制御し得るので、複数のマスターであってよい。バックプレーン12は、電力管理バス34を経由して、電源ユニット14及び16にコマンドを送信し、電源ユニット14及び16からデータを受信する。BMC30及び32は、電源ユニット14及び16からのコマンドをそれぞれのSMバスライン24及び26を介して送信及び受信する。
従って、システム10は、複数のマスターがバックプレーン12に対してバスを駆動中であり得るI2C環境の例である。I2Cトポロジー設計において1つのスレーブデバイスに接続している2又はそれより多い可能性があるマスターデバイスが存在する場合、マルチマスターの問題が生じ得る。そのような場合、各ノードは、別のノードが現在、バックプレーンと通信中であり得、それゆえバスがビジーであるという事実にもかかわらずバスにアクセスできる必要がある。この問題を解決すべく、サーバ産業において使用される一般的な解決手法は、バックプレーン上に設けられるマイクロコントローラである。そのようなマイクロコントローラは、ノードの各々からの通信を制御し、それゆえ1つのノードよりも多くがそのバスを使用しようとした場合、衝突(dispute)を調整(arbitrate)する。マイクロコントローラは、中央メッセージコントローラ(CMC)と一般的に呼ばれる。
図2は、マルチマスターの問題を防止すべくCMCを使用する別の従来技術のマルチノードシステム50のブロック図である。マルチノードシステム50は、2つの電源ユニット54及び56に接続されるバックプレーン52を有する。バックプレーン52は、SMバスライン64及び66を経由してシステムノード60及び62にそれぞれ接続される。本例において、システム50は、バスライン64及び66用のI2Cプロトコルを使用する。本例において、システムノード60及び62の両方が、それぞれのベースボード管理コントローラ(BMC)70及び72を含む。バックプレーン52は、電力管理バス74を経由して、電源ユニット54及び56にコマンドを送信し、電源ユニット54及び56からデータを受信する。バックプレーン52は、ノード60及び62からのマスターコマンド間の衝突を調整するソフトウェアを実行し、それによりマルチマスターの問題を回避するCMC80を含む。
マルチマスターの問題に取り組むべくCMCを使用することにより、潜在的な課題も引き起こされる。図2のCMC80の動作は、純粋なソフトウェアにより基本的に構成されるので、コマンドを調整するためのソフトウェアがデッドロック状況になったなら、CMCは多くの場合、例えば、サーバなどのマルチノードシステムにシャットダウンを強いることとなる。そのような発生は、CMCにより実行されるソフトウェアの潜在的な信頼性の欠如に起因して継続的なサーバ動作を妨げる。
「マイクロサーバ」と題した米国特許出願第20170177060号は、マイクロサーバが多くのサーバボードモジュールを含むことを開示する。こうしたサーバボードモジュールの各々は、シャーシに独立して設置され、マイクロサーバシステムを形成する。各々のサーバボードモジュールは、マザーボード及びコントローラボードを含む。マザーボードは、サーバボードモジュールのサーバ動作システムのサーバ動作システムを実行するために使用される。コントローラボードは、コンセントに差し込まれ、マザーボードに電気的に接続される。コントローラボードは、PHYイーサネット(登録商標)カード、マイクロコントローラ及びコンプレックスプログラマブルロジックデバイス(CPLD)を含む。PHYイーサネットカードは、遠隔管理システムに電気的に接続される。マイクロコントローラは、PHYイーサネットカード及びマザーボードにそれぞれ電気的に接続される。CPLDは、マザーボードとマイクロコントローラとに電気的にそれぞれ接続される。
従って、システム管理バスに接続される複数のノードにより作られるマルチマスターコマンドをうまく調整するデバイスの必要がある。また、マルチマスターコマンドを調整するのにソフトウェアを当てにしないシステムの必要がある。マルチノードシステムのノードが、ノードのベースボード管理コントローラに追加の処理ロードをかけることなく、電源ユニットデータを得るのを可能にするシステムのさらなる必要がある。
1つの開示された例は、マルチマスターの問題を防止するマルチノードシステムである。そのシステムは、第1ノード及び第2ノードを有する。バックプレーンが、システム管理バスを経由して第1及び第2ノードに結合される。コンプレックスプログラマブルロジックデバイスが、システム管理バスに結合される。コンプレックスプログラマブルロジックデバイスは、第1ノードからのバスコマンドと第2ノードからのバスコマンドとの間を調整するように動作可能なハードウェアロジックを含む。
別の例は、システム管理バスを経由してバックプレーンに結合される2つのノード間のコマンドを調整する方法である。コンプレックスプログラマブルロジックデバイスが、システム管理バスに結合される。第1コマンドが、システム管理バスを経由して第1ノードから受信される。第2コマンドが、システム管理バスを経由して第2ノードから受信される。コンプレックスプログラマブルロジックデバイスのハードウェアロジックは、システム管理バスのマスターを構成するのが第1ノードなのか、又は第2ノードなのかを調整するように動作する。
上記の概要は、本開示の各実施形態又はあらゆる態様を表すことを意図していない。むしろ、前述の概要は単に、本明細書に記載される新規性のある態様及び特徴の一部に関する例を提供するにすぎない。上記の特徴及び利点、ならびに本開示の他の特徴及び利点は、添付図面及び添付の特許請求の範囲に関連して理解されると、本発明を実行するための代表的な実施形態及び方式に関する以下の詳細な説明から、容易に明らかになるであろう。
開示は、添付図面を共に参照して、以下の例示的な実施形態の説明から、より十分に理解されるであろう。
(従来技術)従来技術のマルチマスターシステムのブロック図である。
(従来技術)マルチマスターの問題を解決すべくCMCを用いた従来技術のマルチマスターシステムのブロック図である。
マルチマスターの問題を解決すべくCPLDデバイスを用いた例示的なマルチマスターシステムのブロック図である。
図3のCPLDデバイス、電源ユニット及びベースボード管理コントローラの機能ブロック図である。
図3のCPLDデバイスにより実行され得るI2Cコマンドの表である。
本開示の様々な例に係る例示的なシステムを示す。 本開示の様々な例に係る例示的なシステムを示す。
本開示には、様々な修正形態及び代替形態が可能である。いくつかの代表的な実施形態が、例として図面に示されており、本明細書において詳細に説明されることになる。しかしながら、本発明は、開示される特定の形態に限定されることが意図されないことを、理解されたい。むしろ、本開示は、添付の特許請求の範囲によって規定されるように、本発明の精神及び範囲内に含まれる全ての修正形態、均等な形態、及び代替形態を包含することになる。
本発明は、多くの異なる形態で実施され得る。代表的な実施形態が、図面に示されており、本明細書において詳細に説明されることになる。本開示は、本開示の原理の例又は例示であり、本開示の広範な態様を、示される実施形態に限定することが意図されない。その程度まで、例えば、要約、概要、及び詳細な説明の項目に開示されるが、特許請求の範囲には明示的に記載されない要素及び限定が、示唆、推測、又は別の方法によって、個々に又はまとめて特許請求の範囲に組み込まれるべきではない。本件の詳細な説明の目的として、明確に否定されない限り、単数形は複数形を含み、逆もまた真なりである。用語「including(含む)」は、「including without limitation(非限定的に含む)」ことを意味する。また、「about(約)」、「almost(ほぼ)」、「substantially(実質的)」、「approximately(およそ)」などのような近似を表わす用語は、本明細書中、例えば、「at,near,or nearly at(において、の近く、又は、の近傍)」又は「within 3−5% of(の3〜5%の範囲内)」又は「within acceptable manufacturing tolerances(許容可能な製造公差の範囲内)」、又はそれらの任意の論理的組み合わせを意味するために使用されていることがある。
本開示は、異なるノード間のバス通信を調整すべく、コンプレックスプログラマブルロジックデバイス(CPLD)を追加することによりマルチノードシステムにおけるマルチマスターの問題に取り組む。CPLDは、各ノードのベースボード管理コントローラと、少なくとも1つの電源ユニット(PSU)との間でI2C接続の中間に加えられる。CPLD上にゲートを構成するための適切なCPLDコードが、ノードと電源ユニットとの間のI2C接続上のマルチマスターの状況を処理すべく提供される。従って、動作のためにソフトウェアに依拠する通常のシャーシ管理集積回路が、省略され得る。従って、CPLD及びそのメモリキャッシュは、例えば、下記の例のようなPMバスを使用する任意のシステムなどのマルチマスタートポロジーを有する任意のシステム上のマルチマスターの問題を解決するために使用され得る。
図3は、バックプレーン102とのノード通信間のマルチマスターの問題を防止すべく、CPLDを使用する例示的なマルチノードシステム100のブロック図である。バックプレーン102は、2つの電源ユニット104及び106に接続される。電源ユニット104及び106は、電力管理(PM)バス108を経由してバックプレーン102に接続される。電力管理バス108は、バックプレーン102が電源ユニット104及び106からデータを受信するのを可能にする。電力管理バス108はまた、システム100のために電力を管理すべく、バックプレーン102が電源ユニット104及び106に制御信号を送信するのを可能にする。
バックプレーン102は、SMバスライン124及び126を経由してシステムノード120及び122にそれぞれ接続される。本例において、システム100は、バスライン124及び126のためにI2Cプロトコルを使用する。本例において、システムノード120及び122の両方がそれぞれのベースボード管理コントローラ(BMC)130及び132を含む。BMC130及び132は、バスライン124及び126に直接接続される。本例において、BMC130及び132は、バスライン124及び126を介してそれぞれのノード120及び122のために通信を処理する。BMC130及び132は、SMバスライン124及び126を介してバックプレーン102にコマンドを送信し、SMバスライン124及び126を介してバックプレーン102からデータを受信する。
バックプレーン102は、SMバスライン124及び126を介したノード120及び122からのマスターコマンド間の衝突を調整し、それによりマルチマスターの問題を回避するコンプレックスプログラマブルロジックデバイス140を含む。コンプレックスプログラマブルロジックデバイス(CPLD)140は、中程度に複雑なデータ処理機能の実施を可能にする多数のハードウェアロジックゲートを含むハードウェアデバイスである。ゲートの構成は、CPLD140がマルチマスターの問題のソリューションなどの異なる機能を行うのを可能にするコードによって実現される。CPLD140は、構成コードを格納する不揮発性構成メモリを含む。従って、CPLD140は、システム起動時に直ちに機能し得る。
CPLD140などのコンプレックスプログラマブルロジックデバイスは、CPLD140の機能がハードウェアロジックに組み込まれるので、ソフトウェアを実行する包括的なコントローラと比較してはるかに安定したデバイスである。システム100においてCPLD140などのCPLDの使用により、システム10(図1における)などの従来のマルチノードシステムにおいて生じるマルチマスターの問題が解決される。CPLD140は、BMC130及び132と、電源ユニット104及び106との間の通信間で仲裁者(mediator)としての機能を果たす。CPLD140は、ノード120及びノード122からのコマンドを受け取り、次にどちらのコマンドが優先されるかを決定する。優先順位付け後に、CPLD140は次に、電源ユニット104及び106にコマンドを送る。CPLD140のハードウェアロジックはまた、システム50におけるCMC80(図2)の使用などの、公知のソフトウェアソリューションから不安定な実施を解決する。例えば、CPLD140は、システム管理バスライン124を経由してノード120から第1コマンドを受信し得る。CPLD140は、システム管理バスライン126を経由して第2ノード122から第2コマンドを受信し得る。CPLD140はハードウェアロジックを動作させ、バックプレーン102に対するシステム管理バスのマスターを構成するのが、第1ノード120なのか、又は第2ノード122なのかを調整する。
図4は、電源ユニット104と、ベースボード管理コントローラ130及び132(図3における)とに関連したCPLD140の構成のブロック図である。本例において、BMC130及び132は、CPLD140とやりとりするI2Cコマンドをノード120及び122のそれぞれの主ボードにそれぞれ中継する。このI2C構成において、CPLD140は、ノード120及び122を表すスレーブモジュール404及び406にコマンドを発するマスターモジュール402を含む。本例において、スレーブモジュール404及び406は、BMC130及び132からコマンドを受信する。マスターモジュール402は、電源ユニット140及び106にコマンドを送信する。
本例において、標準的な電力管理(PM)バスコマンドコードが、CPLD140のメモリ410に格納される。従って、CPLD140は、図4のPSU104などのシステム100の電源ユニットためにメモリキャッシュとして使用される。図3に示されるように、CPLD140は、電力バス108を介してPMバスコマンドコードを用いて通信する。図4に示されるように、BMC130などのホストが、標準的なPMバスコマンドコードで電源ユニット情報を得るべく、CPLD140にアクセスし得る。
図5は、図3の電源ユニット104及び106などの、電源ユニットから性能データを得るべく、ベースボード管理コントローラ130又は132(図3及び図4において)などの、ベースボード管理コントローラのうちの1つにより使用され得る例示的な標準の電力管理バスコマンドコードの表である。図5は、電源ユニット104及び106からステータスデータを得るために使用され得る様々なコマンドのコマンドコード及びコマンド名を示す。図5の表に示されるように、ベースボード管理コントローラは、正確な電力管理バスコマンドを用いることにより特定の電源ユニットの電圧出力、電流出力、温度及びファンステータスなどのデータを要求し得る。
図6は、例示的なコンピューティングシステム600を示し、このコンピューティングシステムのコンポーネントが、バス602を使用して、互いに電気通信している。システム600は、処理ユニット(CPUまたはプロセッサ)630およびシステムバス602を含んでおり、システムバス602は、システムメモリ604(例えば、リードオンリメモリ(ROM)606およびランダムアクセスメモリ(RAM)608)を含む様々なシステムコンポーネントを、プロセッサ630へ連結する。システム600は、プロセッサ630と直接接続される、プロセッサ630と近接する、又はプロセッサ630の一部として統合される高速メモリのキャッシュを含み得る。システム600は、プロセッサ630による迅速なアクセスのために、メモリ604及び/又はストレージデバイス612から、キャッシュ628へデータをコピーし得る。このようにして、キャッシュは、データを待つ間、プロセッサ630にパフォーマンス向上をもたらし得る。こうした、及びその他のモジュールは、様々な動作を実行すべく、プロセッサ630を制御し得る、又は、プロセッサ630を制御するように構成され得る。他のシステムメモリ604も、使用のため利用可能であり得る。メモリ604は、異なる性能特性を持つ、複数の異なる種類のメモリを含み得る。プロセッサ630は、任意の汎用プロセッサと、ストレージデバイス612に組み込まれた、例えば、モジュール1 614、モジュール2 616、モジュール3 618などのハードウェアモジュール又はソフトウェアモジュールとを含み得る。ハードウェアモジュール又はソフトウェアモジュールは、プロセッサ630、ならびにソフトウェア命令が、実際のプロセッサ設計に組み込まれている専用プロセッサを制御するように構成される。プロセッサ630は本質的に、複数のコア又はプロセッサ、バス、メモリコントローラ、キャッシュなどを含む、完全に自己完結型のコンピューティングシステムであり得る。マルチコアプロセッサは、対称的又は非対称的であり得る。
コンピューティングデバイス600とのユーザ対話を可能にすべく、入力デバイス620が入力メカニズムとして提供される。入力デバイス620は、音声用のマイク、ジェスチャ入力又はグラフィカル入力用のタッチセンサ式スクリーン、キーボード、マウス、動き入力などを備え得る。いくつかの例において、マルチモードのシステムは、システム600と通信すべく、複数の種類の入力をユーザが提供することを可能にし得る。この例において、出力デバイス622も提供される。通信インタフェース624は、ユーザ入力及びシステム出力を制御及び管理し得る。
ストレージデバイス612は、コンピュータによりアクセス可能なデータを格納するための不揮発性メモリであり得る。ストレージデバイス612は、磁気カセット、フラッシュメモリカード、ソリッドステートメモリデバイス、デジタル多用途ディスク、カートリッジ、ランダムアクセスメモリ(RAM)608、リードオンリメモリ(ROM)606、及びそれらのハイブリッドであり得る。
コントローラ610は、BMC(ベースボード管理コントローラ)などのシステム600上の専用のマイクロコントローラ又はプロセッサであり得る。いくつかの場合において、コントローラ610は、インテリジェントプラットフォーム管理インタフェース(IPMI)の一部であり得る。さらに、いくつかの場合において、コントローラ610は、システム600のマザーボード又はメイン回路基板に組み込まれ得る。コントローラ610は、システム管理ソフトウェアとプラットフォームハードウェアとの間のインタフェースを管理し得る。さらに以下に説明されるように、コントローラ610はまた、コントローラ又は周辺コンポーネント等の様々なシステムデバイス及びコンポーネント(内部及び/又は外部)と通信し得る。
コントローラ610は、通知、アラート、及び/又はイベントに対する特定の応答を生成し得、自動ハードウェアリカバリ手順などのための命令又はコマンドを生成すべく、リモートデバイス又はコンポーネントと通信し得る(例えば、電子メールメッセージ、ネットワークメッセージなど)。管理者はまた、以下にさらに説明されるように、特定のハードウェアリカバリ手順又は動作を開始又は実行すべく、コントローラ610とリモート通信し得る。
コントローラ610はまた、コントローラ610により受信されたイベント、アラート、ならびに通知を管理及び維持するためのシステムイベントログコントローラ、及び/又はストレージを含み得る。例えば、コントローラ610又はシステムイベントログコントローラは、1又は複数のデバイス及びコンポーネントからアラート又は通知を受信し得て、そのアラート又は通知をシステムイベントログストレージコンポーネントに維持し得る。
フラッシュメモリ632は、ストレージ及び/又はデータ転送のためにシステム600により使用され得る、電子的不揮発性コンピュータストレージ媒体又はチップであり得る。フラッシュメモリ632は、電気的に消去及び/又は再プログラミングされ得る。フラッシュメモリ632は、例えば、EPROM(消去可能プログラマブルリードオンリメモリ)、EEPROM(電気的消去可能プログラマブルリードオンリメモリ)、ROM、NVRAM、又はCMOS(相補型金属酸化膜半導体)を含み得る。フラッシュメモリ632は、システム600が最初に電源オンにされた場合にシステム600により実行されるファームウェア634を、このファームウェア634に指定された一連の構成と共に格納できる。フラッシュメモリ632はまた、ファームウェア634により使用される構成を格納し得る。
ファームウェア634は、基本入出力システム又は、EFI(拡張可能ファームウェアインタフェース)もしくはUEFI(ユニファイド拡張可能ファームウェアインタフェース)のような、同等物を含み得る。ファームウェア634は、システム600が起動されるたびに、一連のプログラムとしてロード及び実行され得る。ファームウェア634は、一連の構成に基づいて、システム600に存在するハードウェアを認識し、初期化し、試験し得る。ファームウェア634は、POST(パワーオンセルフテスト)のようなセルフテストを、システム600に対して実行し得る。このセルフテストは、ハードディスクドライブ、光学式読取デバイス、冷却デバイス、メモリモジュール、拡張カードなどの、様々なハードウェアコンポーネントの機能をテストし得る。ファームウェア634は、オペレーティングシステム(OS)を格納すべく、メモリ604、ROM606、RAM608、及び/又はストレージデバイス612内の領域をアドレス指定して、割り当て得る。ファームウェア634は、ブートローダ及び/又はOSをロードし得、システム600の制御をOSに付与し得る。
システム600のファームウェア634は、ファームウェア634が、システム600内の様々なハードウェアコンポーネントを制御する方法を定義するファームウェア構成を含み得る。ファームウェア構成は、システム600内の様々なハードウェアコンポーネントが起動される順序を決定してよい。ファームウェア634は、ファームウェアのデフォルト構成におけるパラメータとは異なり得る、様々な異なるパラメータを設定することができる、UEFIのようなインタフェースを提供し得る。例えば、ユーザ(例えば、管理者)は、ファームウェア634を使用して、クロック速度及びバス速度を指定し、どんな周辺機器がシステム600に取り付けられているかを規定し、健全性(例えば、ファン速度及びCPU温度限界)の監視を構成し、及び/又は、システム600の全体的な性能及び電力使用量に影響を及ぼす様々なその他のパラメータを提供する。ファームウェア634はフラッシュメモリ632に格納されているものとして示されているが、メモリ604又はROM606等の他のメモリコンポーネントにファームウェア634が格納され得ることを、当業者は容易に認識するであろう。
システム600は、1又は複数のセンサ626を含み得る。1又は複数のセンサ626は、例えば、1又は複数の温度センサ、熱センサ、酸素センサ、化学センサ、ノイズセンサ、ヒートセンサ、電流センサ、電圧検出器、エアフローセンサ、流量センサ、赤外線温度計、熱流束センサ、温度計、パイロメータなどを含み得る。1又は複数のセンサ626は、例えば、バス602を介して、プロセッサ、キャッシュ628、フラッシュメモリ632、通信インタフェース624、メモリ604、ROM606、RAM608、コントローラ610、及びストレージデバイス612と通信し得る。また、1又は複数のセンサ626は、例えば、アイ・スクウェア・シー(I2C)、汎用出力(GPO)などの1又は複数の異なる手段を介して、システム内の他のコンポーネントと通信し得る。システム600の異なる種類のセンサ(例えば、センサ626)はまた、冷却ファン速度、電力ステータス、オペレーティングシステム(OS)ステータス、ハードウェアステータスなどのようなパラメータについて、コントローラ610にレポートし得る。ディスプレイ636は、システム600により使用され、コントローラ610又はプロセッサ630により実行されるアプリケーションに関連するグラフィックスを提供し得る。
図7は、説明された方法又は処理の実行において、ならびに、グラフィカルユーザインタフェース(GUI)の生成及び表示において使用され得るチップセットアーキテクチャを有する例示的なコンピュータシステム700を示す。コンピュータシステム700は、開示された技術を実装すべく使用され得る、コンピュータハードウェア、ソフトウェア、及びファームウェアを含み得る。システム700は、特定の計算を実行するように構成されたソフトウェア、ファームウェア、及びハードウェアを実行することの可能な、様々な物理的及び/又は論理的に別個のリソースを代表する、プロセッサ710を含み得る。プロセッサ710は、プロセッサ710への入力及びプロセッサ710からの出力を制御し得る、チップセット702と通信し得る。この例において、チップセット702は、ディスプレイなどの出力デバイス714へ情報を出力し、ストレージデバイス716に対して情報の読み書きを行い得る。ストレージデバイス716は、例えば、磁気媒体及びソリッドステート媒体を含み得る。チップセット702はまた、RAM718からデータを読み出し得、かつRAM718にデータを書き込み得る。様々なユーザインタフェースコンポーネント806にインタフェース接続するためのブリッジ704が、チップセット702にインタフェース接続するために提供され得る。ユーザインタフェースコンポーネント706は、キーボード、マイク、タッチ検出及び処理回路、マウスなどのポインティングデバイスを含み得る。
チップセット702はまた、異なる物理インタフェースを有し得る、1又は複数の通信インタフェース708とインタフェース接続し得る。そのような通信インタフェースは、有線及び無線ローカルエリアネットワークのための、ブロードバンド無線ネットワークのための、ならびにパーソナルエリアネットワークのためのインタフェースを含み得る。さらに、機械は、ユーザインタフェースコンポーネント706を介してユーザからの入力を受信することができ、かつ、プロセッサ710を使用してこうした入力を解釈することにより、閲覧機能などの適切な機能を実行することができる。
さらに、チップセット702は、ファームウェア712と通信し得、ファームウェア712は、コンピュータシステム700の電源オン時に、コンピュータシステム700によって実行され得る。ファームウェア712は、ファームウェア構成セットに基づいて、コンピュータシステム700内に存在するハードウェアを認識、初期化及び試験してよい。ファームウェア712は、POSTのようなセルフテストを、システム700に実行し得る。このセルフテストは、様々なハードウェアコンポーネント702〜718の機能を試験し得る。ファームウェア712は、OSを格納すべく、RAMメモリ718の領域をアドレス指定し得て、割り当て得る。ファームウェア712は、ブートローダ及び/又はOSをロードし得、システム700の制御をこのOSに与え得る。いくつかの場合において、ファームウェア712は、ハードウェアコンポーネント702〜710及び714〜718と通信し得る。ここで、ファームウェア712は、チップセット702を通じて、及び/又は1又は複数の他のコンポーネントを通じて、ハードウェアコンポーネント702〜710及び714〜718と通信し得る。いくつかの場合において、ファームウェア712は、ハードウェアコンポーネント702〜710及び714〜718と直接通信し得る。
例示的なシステム600及び700は、1つよりも多くのプロセッサ(例えば、630、710)を有し得ること、又は、より高い処理能力を提供すべく、一緒にネットワーク接続されたコンピューティングデバイスのグループ又はクラスタの一部であり得ることが理解され得る。
本出願において用いられるとき、「コンポーネント」、「モジュール」、「システム」等の用語は概して、コンピュータ関連のエンティティ、即ち、1又は複数の特定の機能を有する動作可能な機械に関連したハードウェア(例えば、回路)、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、若しくはエンティティのいずれかを指す。例えば、コンポーネントは、限定されないが、プロセッサ(例えば、デジタル信号プロセッサ)上で実行されるプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、及び/又はコンピュータであり得る。実例として、コントローラ上で実行されるアプリケーション、及びそのコントローラは両方とも、コンポーネントになり得る。1又は複数のコンポーネントは、プロセス及び/又は実行のスレッド内に存在し得、コンポーネントは、1つのコンピュータ上に局在化され得、及び/又は、2又はそれより多いコンピュータ間で分散され得る。さらに、「デバイス」が、特別に設計されたハードウェア、ハードウェアが特定の機能を行うことを可能にする搭載ソフトウェアを実行することで専門化された汎用ハードウェア、コンピュータ可読媒体に格納されたソフトウェア、又はこれらの組み合わせの形態でもたらされ得る。
本明細書において使用される用語は、特定の実施形態を説明することだけを目的としており、本発明を限定しようとすることが意図されない。本明細書において使用されるとき、単数形の「a」、「an」、及び「the」は、複数形も含むことが意図されている。但し、そうではないことが文脈上で明確に示されている場合を除く。さらに、「含む(including)」、「含む(includes)」、「有する(having)」、「有する(has)」、「有する(with)」という用語、又はこれらの変化形が、詳細な説明及び/又は特許請求の範囲のいずれかに用いられる限りにおいて、そのような用語は、「備える(comprising)」という用語と類似の方式で包括的であることが意図されている。
別途定義されない限り、本明細書において用いられる全ての用語(技術的用語及び科学的用語を含む)は、当業者によって一般に理解される意味と同じ意味を有する。さらに、一般に用いられる辞書に定義されている用語などの用語が、関連技術の文脈におけるそれらの用語の意味と一致する意味を有すると解釈されるべきであり、理想化された認識又は過度に形式的な認識で解釈されてはならない。但し、本明細書において明示的にそのように定義される場合を除く。
本発明の様々な実施形態が上述されたが、それらの実施形態は、例としてのみ提供されており、限定ではないことを理解されたい。本発明の精神又は範囲から逸脱することなく、本明細書の開示に従って、開示された実施形態への多数の変更が行われてよい。従って、本発明の広さ及び範囲は、上述された実施形態のいずれによっても限定されるべきではない。むしろ、本発明の範囲は、以下の特許請求の範囲及びこれらの均等物に従って定義されるべきである。
本発明は、1又は複数の実装について示され、説明されているが、本明細書及び添付図面の意味を読み取り理解するならば、均等な変更及び修正が行われるか、又はそれらが当業者に知られるであろう。さらに、本発明の特定の特徴は、いくつかの実施例のうちの1つのみに関して開示されてきたかもしれないが、そのような特徴は、任意の所与の又は特定のアプリケーションにとって望ましく、かつ有益であり得るので、他の実施例の1又は複数の他の特徴と組み合わされてもよい。

Claims (8)

  1. 第1ノードと、
    第2ノードと、
    電源ユニットと、
    それぞれ異なるシステム管理バスラインを経由して前記第1ノード及び前記第2ノードに結合されるバックプレーンと、
    前記システム管理バスラインに結合されるコンプレックスプログラマブルロジックデバイスと
    を備えるシステムであって、
    前記コンプレックスプログラマブルロジックデバイスは、どちらのコマンドが優先されるかを決定することにより、前記第1ノードからのバスコマンドと前記第2ノードからのバスコマンドとの間を調整すべく動作可能なハードウェアロジックを含み、
    前記第1ノード及び前記第2ノードは、前記コンプレックスプログラマブルロジックデバイスに要求を送信することにより前記電源ユニットの性能データを得るように動作可能であり、前記要求は前記バスコマンドの一種である、
    システム。
  2. 前記システム管理バスラインは、I2Cプロトコルで動作し、前記第1ノード及び前記第2ノードのうち少なくとも1つは、前記システム管理バスラインに結合されるベースボード管理コントローラを含む、
    請求項1に記載のシステム。
  3. 前記電源ユニットは、電力管理バスを経由してバックプレーンに結合される、
    請求項1又は2に記載のシステム。
  4. 前記コンプレックスプログラマブルロジックデバイスは、メモリを有し、前記メモリ内に電力管理コマンドが格納され、前記コンプレックスプログラマブルロジックデバイスは、前記電力管理バスを経由して前記電源ユニットから性能データを受信するように動作可能である、
    請求項3に記載のシステム。
  5. それぞれ異なるシステム管理バスラインを経由してバックプレーンに結合される2つのノード間でバスコマンドを調整する方法であって、
    前記システム管理バスラインにコンプレックスプログラマブルロジックデバイスを結合する段階と、
    前記システム管理バスラインのうちの第1システム管理バスラインを経由して第1ノードから第1コマンドを受信する段階と、
    前記システム管理バスラインのうちの第2システム管理バスラインを経由して第2ノードから第2コマンドを受信する段階と、
    前記コンプレックスプログラマブルロジックデバイスのハードウェアロジックを動作させ、前記第1コマンド及び前記第2コマンドのどちらのバスコマンドが優先されるかを決定することにより、前記システム管理バスラインのためにマスターを構成するのが、前記第1ノードなのか、又は前記第2ノードなのかを調整する段階と、
    前記第1ノード及び前記第2ノードが、前記コンプレックスプログラマブルロジックデバイスに電源ユニットの性能データの要求を送信する段階と、
    を備え、前記要求は前記バスコマンドの一種であ方法。
  6. 前記システム管理バスラインは、I2Cプロトコルで動作し、前記第1ノード及び前記第2ノードのうち少なくとも1つは、前記システム管理バスラインに結合されるベースボード管理コントローラを含む、
    請求項5に記載の方法。
  7. 前記電源ユニットは、電力管理バスを経由してバックプレーンに結合される、
    請求項5又は6に記載の方法。
  8. 前記コンプレックスプログラマブルロジックデバイスは、メモリを有し、前記メモリ内に電力管理コマンドが格納され、前記方法はさらに、前記コンプレックスプログラマブルロジックデバイスが、前記電力管理バスを経由して前記電源ユニットから性能データを受信する段階を備える
    請求項7に記載の方法。
JP2018170957A 2018-03-14 2018-09-12 マルチマスタートポロジーシステムにおけるcpldキャッシュの適用 Active JP6866975B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/921,092 US20190286590A1 (en) 2018-03-14 2018-03-14 Cpld cache application in a multi-master topology system
US15/921,092 2018-03-14

Publications (2)

Publication Number Publication Date
JP2019160279A JP2019160279A (ja) 2019-09-19
JP6866975B2 true JP6866975B2 (ja) 2021-04-28

Family

ID=63294123

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018170957A Active JP6866975B2 (ja) 2018-03-14 2018-09-12 マルチマスタートポロジーシステムにおけるcpldキャッシュの適用

Country Status (5)

Country Link
US (1) US20190286590A1 (ja)
EP (1) EP3540605A1 (ja)
JP (1) JP6866975B2 (ja)
CN (1) CN110275843A (ja)
TW (1) TWI670604B (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111176939B (zh) * 2019-12-20 2023-01-06 苏州浪潮智能科技有限公司 一种基于cpld的多节点服务器的管理系统及方法
CN111813731B (zh) * 2020-06-11 2022-10-25 中国长城科技集团股份有限公司 一种内存信息的读取方法、装置、服务器及介质
CN112000501A (zh) * 2020-08-07 2020-11-27 苏州浪潮智能科技有限公司 一种多节点分区服务器访问i2c设备的管理系统
CN112181078B (zh) * 2020-09-25 2022-11-04 苏州浪潮智能科技有限公司 一种服务器以及计算机系统
CN113110953A (zh) * 2021-04-14 2021-07-13 山东英信计算机技术有限公司 一种多分区多节点服务器的报错收集方法
CN113127302B (zh) * 2021-04-16 2023-05-26 山东英信计算机技术有限公司 一种板卡gpio的监控方法和装置
CN113835762B (zh) * 2021-08-13 2023-09-01 苏州浪潮智能科技有限公司 硬盘背板默认配置更新方法及系统
CN113872796B (zh) * 2021-08-26 2024-04-23 浪潮电子信息产业股份有限公司 服务器及其节点设备信息获取方法、装置、设备、介质
CN113608607B (zh) * 2021-09-30 2022-04-01 阿里云计算有限公司 多节点服务器控制方法和多节点服务器
JP7384523B2 (ja) 2022-02-21 2023-11-21 Necプラットフォームズ株式会社 リクエスト制御システム、リクエスト制御方法及びプログラム

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7246256B2 (en) * 2004-01-20 2007-07-17 International Business Machines Corporation Managing failover of J2EE compliant middleware in a high availability system
US8032745B2 (en) * 2005-12-20 2011-10-04 International Business Machines Corporation Authentication of I2C bus transactions
US20080109672A1 (en) * 2006-11-08 2008-05-08 Sicortex, Inc Large scale computing system with multi-lane mesochronous data transfers among computer nodes
US20090024724A1 (en) * 2007-07-17 2009-01-22 Tyan Computer Corporation Computing System And System Management Architecture For Assigning IP Addresses To Multiple Management Modules In Different IP Configuration
US8552843B2 (en) * 2008-02-12 2013-10-08 Smk Manufacturing Universal remote controller having home automation function
DE112010003136T5 (de) * 2010-01-29 2012-06-21 Hewlett-Packard Development Company, L.P. Verfahren und Systeme für eine Zwischenelementplatine
CN102253872A (zh) * 2011-07-07 2011-11-23 浪潮电子信息产业股份有限公司 Cpci刀片服务器中冗余管理模块的实现方法
US9092594B2 (en) * 2011-10-31 2015-07-28 Iii Holdings 2, Llc Node card management in a modular and large scalable server system
JP5822019B2 (ja) * 2012-03-30 2015-11-24 富士通株式会社 電力供給制御装置、中継ノード装置、有線アドホックネットワークシステム、および電力供給制御方法
CN102841869B (zh) * 2012-07-03 2015-06-03 深圳市邦彦信息技术有限公司 一种基于fpga的多通道i2c控制器
TW201445936A (zh) * 2013-05-17 2014-12-01 Hon Hai Prec Ind Co Ltd 可動態切換主節點的伺服器系統及動態切換主節點的方法
US9460042B2 (en) * 2013-09-03 2016-10-04 Hewlett Packard Enterprise Development Lp Backplane controller to arbitrate multiplexing of communication
US10275004B2 (en) * 2014-06-04 2019-04-30 Intel Corporation Data center management
CN104035831A (zh) * 2014-07-01 2014-09-10 浪潮(北京)电子信息产业有限公司 一种高端容错计算机管理系统及方法
TWI559148B (zh) * 2015-05-11 2016-11-21 廣達電腦股份有限公司 自動硬體恢復方法及自動硬體恢復系統
CN105335328B (zh) * 2015-10-30 2019-07-16 上海斐讯数据通信技术有限公司 一种背板i2c总线死锁的消除方法、系统及电子设备
US10402207B2 (en) * 2016-06-16 2019-09-03 Quanta Computer Inc. Virtual chassis management controller
CN206894335U (zh) * 2017-04-21 2018-01-16 深圳市同泰怡信息技术有限公司 一种bbu冗余的双控存储产品

Also Published As

Publication number Publication date
JP2019160279A (ja) 2019-09-19
TWI670604B (zh) 2019-09-01
TW201939297A (zh) 2019-10-01
CN110275843A (zh) 2019-09-24
EP3540605A1 (en) 2019-09-18
US20190286590A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
JP6866975B2 (ja) マルチマスタートポロジーシステムにおけるcpldキャッシュの適用
US10846160B2 (en) System and method for remote system recovery
EP3255527B1 (en) Remote keyboard-video-mouse technologies
US9965367B2 (en) Automatic hardware recovery system
TWI644259B (zh) 計算機實施方法、系統、以及非暫時性計算機可讀儲存媒體
TWI659301B (zh) 於一伺服器系統中動態調整最大風扇負載
US20210004242A1 (en) Method and system for remote selection of boot device
US7747881B2 (en) System and method for limiting processor performance
JP2017201517A (ja) 動的pcieスイッチ再配置システムおよびその方法
TWI559148B (zh) 自動硬體恢復方法及自動硬體恢復系統
JP6864718B2 (ja) ハイブリッド電源のシステム及び方法
US20160306634A1 (en) Electronic device
JP6868087B2 (ja) 管理コントローラへの通信チャネルの方法及びシステム
TWI649992B (zh) 決定網路節點的網路介面卡操作速度的方法、端口扇出配置系統及其方法
CN109391508B (zh) 在数据中心自动组成数据中心资源的计算机实施方法
TW202312174A (zh) 固件升級方法、裝置、晶片及電腦存儲介質

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180912

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20190823

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20191001

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20191216

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200630

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200817

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210112

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210301

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6866975

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150