(57)【要約】【課題】サービス・プロセッサ（２２６）によるファームウェア・アクセスなどの不揮発性メモリ・アクセスを提供すること。【解決手段】サービス・プロセッサは、制御信号をアサートして、第１の不揮発性メモリ（２３０）または第２の不揮発性メモリ（２１２）を選択する。第１の不揮発性メモリは第１のブリッジ・コントローラ（２０４）の後背に配置され、それ以外には、サービス・プロセッサによってアクセスすることが可能である。第２の不揮発性メモリは、第２のブリッジ・コントローラ（２０２）の後背に配置され、それ以外には、サービス・プロセッサ以外のプロセッサ（２０６）によってのみアクセスすることが可能である。次いで、サービス・プロセッサは、両方の不揮発性メモリに信号伝達が可能なように結合されたバス（３０８）を介して、選択された不揮発性メモリにアクセスする。
2005505052.tif 000002
【特許請求の範囲】
【請求項１】
第１のプロセッサ（２２６）および第２のプロセッサ（２０６）と、
第１のブリッジ・コントローラおよび第２のブリッジ・コントローラと、
前記第１のブリッジ・コントローラ（２０４）の後背に配置され、通常、前記第１のプロセッサからアクセスすることが可能な第１の不揮発性メモリ（２３０）と、
前記第２のブリッジ・コントローラ（２０２）の後背に配置され、通常、前記第２のプロセッサだけからアクセスすることが可能な第２の不揮発性メモリ（２１２）と、
前記第１のプロセッサを前記第１の不揮発性メモリおよび前記第２の不揮発性メモリに結合し、前記第１のプロセッサが前記第１の不揮発性メモリおよび前記第２の不揮発性メモリに個別にアクセスすることができるようにする制御線（３０６）と
を備えるシステム。
【請求項２】
前記制御線が、前記第１の不揮発性メモリと前記第２の不揮発性メモリを多重化する、請求項１に記載のシステム。
【請求項３】
前記制御線に信号伝達が可能なように結合された第１のマルチプレクサ（３０２）と、前記制御線に信号伝達が可能なように結合された第２のマルチプレクサ（３０４）とをさらに備え、前記第１のプロセッサが前記制御線上に制御信号をアサートして前記第１のマルチプレクサおよび前記第２のマルチプレクサの第１の状態および第２の状態のうちの一方を有効にし、前記第１の状態によって前記第１のプロセッサからの前記第１の不揮発性メモリへのアクセスが可能になり、前記第２の状態によって前記第１のプロセッサからの前記第２の不揮発性メモリへのアクセスが可能になる、請求項２に記載のシステム。
【請求項４】
前記第１のプロセッサが前記制御線に対して第１の値の制御信号をアサートして前記第１の不揮発性メモリにアクセスし、前記制御線に対して第２の値の前記制御信号をアサートして前記第２の不揮発性メモリにアクセスする、請求項１ないし３のいずれかに記載のシステム。
【請求項５】
前記サービス・プロセッサ、前記第１の不揮発性メモリ、および前記第２の不揮発性メモリに信号伝達が可能なように結合されたバス（３０８）をさらに備え、前記第１のプロセッサが、そのバス上で前記第１の不揮発性メモリにも前記第２の不揮発性メモリにもアクセスする、請求項１ないし４のいずれかに記載のシステム。
【請求項６】
前記第１のブリッジ・コントローラがサウスブリッジ・コントローラを備え、前記第２のブリッジ・コントローラがノースブリッジ・コントローラを備える、請求項１ないし５のいずれかに記載のシステム。
【請求項７】
前記第１のプロセッサがサービス・プロセッサを備える、請求項１ないし６のいずれかに記載のシステム。
【請求項８】
第１の不揮発性メモリ（２３０）および第２の不揮発性メモリのうちの一方を選択するために第１のプロセッサ（２２６）によって制御信号をアサートするステップ（１０２）であって、前記第１の不揮発性メモリが第１のブリッジ・コントローラ（２０４）の後背に配置され、それ以外には前記第１のプロセッサによりアクセスすることが可能であり、また、前記第２の不揮発性メモリが第２のブリッジ・コントローラ（２０２）の後背に配置され、それ以外には前記第２のプロセッサによってのみアクセスすることが可能なステップと、
前記第１のプロセッサによって前記第１の不揮発性メモリおよび前記第２の不揮発性メモリのうちの前記一方をアクセスするステップ（１０４）と
を有する方法。
【請求項９】
前記第１の不揮発性メモリと前記第２の不揮発性メモリを制御線を介して多重化するステップをさらに有する、請求項８に記載の方法。
【請求項１０】
前記第１のプロセッサによって前記制御信号をアサートするステップが、前記第１のプロセッサによって前記制御信号を前記制御線上にアサートするステップを有し、前記制御信号が、前記第１の不揮発性メモリを選択する第１の値と前記第２の不揮発性メモリを選択する第２の値とを有する、請求項８ないし９のいずれかに記載の方法。
【請求項１１】
前記第１のプロセッサが前記制御信号をアサートするステップが、前記制御信号を第１のマルチプレクサおよび第２のマルチプレクサ上にアサートすることで前記第１のマルチプレクサおよび前記第２のマルチプレクサの第１の状態および第２の状態のうちの一方を有効にするステップを有し、前記第１の状態によって前記第１のプロセッサからの前記第１の不揮発性メモリへのアクセスが可能になり、前記第２の状態によって前記第１のプロセッサからの前記第２の不揮発性メモリへのアクセスが可能になる、請求項８ないし１０のいずれかに記載の方法。
【請求項１２】
前記第１のプロセッサが、前記第１の不揮発性メモリおよび前記第２の不揮発性メモリに信号伝達が可能なように結合されたバスを介して、前記第１の不揮発性メモリおよび前記第２の不揮発性メモリのうちの前記一方にアクセスする、請求項８ないし１１のいずれかに記載の方法。
【請求項１３】
前記第１のプロセッサがサービス・プロセッサである、請求項８ないし１２のいずれかに記載の方法。
【請求項１４】
コンピュータ読取り可能媒体と、
請求項８ないし１３のいずれかに記載の方法を実施する、前記媒体中の手段と
を備える装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般にファームウェアなどの不揮発性メモリに関し、より詳細にはかかる不揮発性メモリへの、例えばサービス・プロセッサなどによる、アクセスに関する。
【背景技術】
【０００２】
現在のコンピュータ・システムは、一般にファームウェアまたはその他の不揮発性メモリを有する。ファームウェアは一般に、電力なしでその内容を保持し、かつ、読出し専用メモリ（ＲＯＭ）技術、プログラム可能ＲＯＭ（ＰＲＯＭ）技術、消去可能プログラム可能ＲＯＭ（ＥＰＲＯＭ）技術、および電気的消去可能プログラム可能ＲＯＭ（ＥＥＰＲＯＭ）技術を含む、メモリチップの範疇に属する。ファームウェアは、プログラム・コードを保持すると「ハード・ソフトウェア」になる。例えば、一部のコンピュータ・システムでは、ファームウェアは、システムの基本入出力システム（ＢＩＯＳ）を含むことができる。ＢＩＯＳは、コンピュータ中の１組のルーチンであり、このルーチンは、チップ上に記憶され、オペレーティング・システムとハードウェアの間のインターフェースを実現する。ＢＩＯＳは、実時間クロックなど、すべての周辺技術および内部サービスをサポートする。
【０００３】
カリフォルニア州、サンタクララ市のインテル社（Intel Corp.）によって設計されたチップセット・アーキテクチャに依存するものなど、所与のコンピュータ・システム用のファームウェアまたは他の不揮発性メモリは、このアーキテクチャの２つの異なるブリッジ・コントローラのそれぞれ後背に配置される。ブリッジ・コントローラのうちの一方は、ノースブリッジ・コントローラと一般に呼ばれ、コンピュータ・システムの中央演算処理装置（ＣＰＵ）と、メモリ、アクセラレーティッド・グラフィックス・ポート（ＡＧＰ）バス、周辺装置相互接続（ＰＣＩ）バスなどすべての高速構成要素との間のインターフェースを行う前面側のバス用のコントローラである。他方のブリッジ・コントローラは、一般にサウスブリッジ・コントローラと呼ばれ、ＰＣＩバスから端を発しており、ユニバーサル・シリアル・バス（ＵＳＢ）ポート、シリアル・ポート、オーディオ・ポートなどといった、統合デバイス・エレクトロニクス（ＩＤＥ）とより低速のポートのためのコントローラである。他のインテル・チップセット・アーキテクチャでは、メモリ・コントローラ・ハブ（ＭＨＣ）がノースブリッジ・コントローラを置きかえ、Ｉ／Ｏコントローラ・ハブ（ＩＣＨ）がサウスブリッジ・コントローラを置きかえており、これらは同様な機能ではあるが、同一の機能ではない。
【０００４】
マルチノード・コンピュータ・システム中には、それぞれそれ自体のチップセット・アーキテクチャやＣＰＵなどを有することが可能ないくつかのノードがあり、これらノード上に処理が分散される。マルチノード・コンピュータ・システムの各ノードには、さらに通常サウスブリッジ・コントローラの後背に配置されるサービス・プロセッサがある。このサービス・プロセッサには、一般にそのノードに対するメンテナンス処理および他のサービス指向のタスクに対する責任がある。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかし、現在のチップセット・アーキテクチャに伴う困難な点は、ノードのサービス・プロセッサが、そのノードのサウスブリッジ側に配置されたファームウェアにしかアクセスできないことにある。すなわち、そのノードのノースブリッジ側に配置されるファームウェアには、サービス・プロセッサなどサウスブリッジ・コントローラの後背に配置された構成要素からはアクセスすることができない。これは、サービス・プロセッサがノースブリッジ・コントローラの後背に配置されたファームウェアを保持できないことを意味し、このことは、サービス・プロセッサが、例えばマルチ・ノード・コンピュータ・システム内でと言ったように、かかるメンテナンスに責任があるという状況において問題になる。これらの説明した理由、ならびに他の理由のために、本発明の必要性が存在する。
【課題を解決するための手段】
【０００６】
本発明は、サービス・プロセッサによるファームウェア・アクセスなどの不揮発性メモリ・アクセスに関する。本発明の方法では、サービス・プロセッサがコントローラ信号をアサート（論理的に真の状態にすること）して第１の不揮発性メモリ、または第２の不揮発性メモリを選択する。第１の不揮発性メモリは、第１のブリッジ・コントローラの後背に配置され、それ以外には、サービス・プロセッサによってアクセスすることが可能である。第２の不揮発性メモリは、第２のブリッジ・コントローラの後背に配置され、それ以外には、サービス・プロセッサ以外のあるプロセッサによってのみアクセスすることが可能である。次いで、サービス・プロセッサは、両方の不揮発性メモリに信号伝達が可能なように結合されたバスを介して、選択された不揮発性メモリにアクセスする。
【０００７】
本発明のシステムは、第１および第２のプロセッサ、第１および第２のブリッジ・コントローラ、第１および第２の不揮発性メモリ、および制御線を含む。第１の不揮発性メモリは、第１のブリッジ・コントローラの後背に配置され、通常は第１のプロセッサからアクセス可能である。第２の不揮発性メモリは、第２のブリッジ・コントローラの後背に配置され、通常は第２のプロセッサからのみアクセス可能である。制御線は、第１のプロセッサから延びており、第１および第２の不揮発性メモリを多重化し、第１のプロセッサがこれらの不揮発性メモリの両方にアクセスできるようになっている。
【０００８】
本発明の装置には、コンピュータ読取り可能媒体およびその媒体中の手段が含まれる。この手段は、制御信号をアサートして第１および第２の不揮発性メモリのいずれかから選択された所望の不揮発性メモリにアクセスするためのものである。第１の不揮発性メモリは第１のブリッジ・コントローラの後背に配置され、通常はアクセス可能である。第２の不揮発性メモリは第２のブリッジ・コントローラの後背に配置され、それ以外にはアクセスできない。本発明のその他の機能および利点については、添付図面と併せて本発明の現在好ましい実施形態の以下の詳細な説明から明らかとなろう。
【発明を実施するための最良の形態】
【０００９】
［概要］
図１に本発明の好ましい一実施形態による方法１００を示す。マルチノード・コンピュータ・システムの、あるノードのサービス・プロセッサは、制御信号をアサートし、所望の不揮発性メモリを選択する（１０２）。例えば、それぞれがファームウェアである２つの不揮発性メモリが存在する可能性がある。第１の不揮発性メモリは、サウスブリッジ・コントローラなどの第１のブリッジ・コントローラの後背に配置され、それ以外にはサービス・プロセッサからアクセス可能である。第２の不揮発性メモリは、ノースブリッジ・コントローラなどの第２のブリッジ・コントローラの後背に配置され、それ以外にはサービス・プロセッサ以外のプロセッサからアクセス可能である。不揮発性メモリは最初、制御信号がアサートされる制御線を介して多重化されていることが好ましい。サービス・プロセッサは、制御信号の第１の値を制御線上にアサートして第１の不揮発性メモリを選択し、第２の値をアサートして第２の不揮発性メモリを選択する。
【００１０】
次いで、サービス・プロセッサは、選択された不揮発性メモリ（１０４）にアクセスする。例えば、サービス・プロセッサは、この選択された不揮発性メモリを更新し、かつ／または、保持することができる。かかるプロセスには、選択された不揮発性メモリからの読取り、選択された不揮発性メモリへの書込み、またはその両方、のうちのいずれかが含まれる。方法１００の機能はさらに、製造された装置のコンピュータ読取り可能媒体中の手段として実装することもできる。例えば、このコンピュータ読取り可能媒体は、記録可能データ記憶媒体であっても、あるいは変調された搬送波信号でもよい。
【００１１】
図２に本発明の実施形態を実装することができる一例のコンピュータ・アーキテクチャ２００を示す。本発明の実施形態の実装に関連しないアーキテクチャ２００の構成要素は図２に示してはいない。このアーキテクチャ２００には、ノースブリッジ・コントローラ２０２およびサウスブリッジ・コントローラ２０４が含まれる。ノースブリッジ・コントローラ２０２およびサウスブリッジ・コントローラ２０４のそれぞれは、アーキテクチャ２００の一部の構成要素をアーキテクチャ２００の他の構成要素とブリッジするある種のブリッジ・コントローラである。
【００１２】
ノースブリッジ・コントローラ２０２は、ホスト・バス２０８に信号伝達が可能なように結合され、このホスト・バスにプロセッサ２０６などの中央演算処理装置（ＣＰＵ）が、やはり信号伝達が可能なように結合される。ノースブリッジ・コントローラ２０２はまた、ロー・ピン・カウント（ＬＰＣ）・バス２１０に信号伝達が可能なように結合され、このＬＰＣバスにファームウェア２１２などのファームウェアも信号伝達が可能なように結合される。ファームウェア２１２は、特にノースブリッジ・コントローラ２０２に信号伝達が可能なように結合された構成要素からのみアクセスが可能であり、サウスブリッジ・コントローラ２０４に信号伝達が可能なように結合されたサービス・プロセッサ２２６などの構成要素からはアクセス不可能であり、本発明の実施形態の利点はない。ファームウェア２１２は、より一般的にはある種の不揮発性メモリである。
【００１３】
サウスブリッジ・コントローラ２０４は、線２２４によって示されるようにノースブリッジ・コントローラ２０２に信号伝達が可能なように結合される。サービス・プロセッサ２２６もまた、サウスブリッジ・コントローラ２０４に信号伝達が可能なように結合される。サービス・プロセッサ２２６は通常、ノースブリッジ・コントローラ２０２の後背に配置される構成要素にアクセスすることができない。したがって、サービス・プロセッサ２２６はファームウェア２１２にアクセスすることができない。サービス・プロセッサ２２６は、サウスブリッジ・コントローラ２０４の後背に配置される他の構成要素に通常アクセスすることができる点で、どちらかと言えばサウスブリッジ・コントローラ２０４の後背またはその側に位置する構成要素と考えられる。サウスブリッジ・コントローラ２０４は、ノースブリッジ・コントローラ２０２と同様に、ファームウェア、特にファームウェア２３０に通常のアクセスができるように、信号伝達が可能なようにロー・ピン・カウント（ＬＰＣ）・バス、特にＬＰＣバス２２８に結合される。
【００１４】
［ノースブリッジ・コントローラの後背のファームウェアに対するサービス・プロセッサのアクセス］
図３に、サービス・プロセッサ２２６が、ノースブリッジ・コントローラ２０２の後背のファームウェア２１２にアクセスすることが可能な、本発明の実施形態によるコンピュータ・アーキテクチャ３００を示す。コンピュータ・アーキテクチャ３００は、サービス・プロセッサ２２６がファームウェア２１２にアクセスできるようにする追加された構成要素を除いて、図２のコンピュータ・アーキテクチャ２００と同じにすることができる。
【００１５】
第１のマルチプレクサ３０２、すなわちＭＵＸが、ファームウェア２３０とサウスブリッジ・コントローラ２０４の間のＬＰＣバス２２８に挿入され、第２のマルチプレクサ３０４がファームウェア２１２とノースブリッジ・コントローラ２０２の間のＬＰＣバス２１０に挿入される。さらに、別のＬＰＣバス３０８が第１のマルチプレクサ３０２と第２のマルチプレクサ３０４の間に追加される。サービス・プロセッサ２２６によって制御されるマルチプレクサ制御線３０６は、マルチプレクサ３０２および３０４のそれぞれに結合される。それ以外には、図３のアーキテクチャ３００は、図２のアーキテクチャと同じにすることが可能であり、同じ番号の構成要素は、それ以外には重複して説明してはいない。アーキテクチャ３００が単一ノードに対するようにマルチノード中で動作する場合、他のノードは、線３１４に示されるようにノースブリッジ・コントローラ２０２に信号伝達が可能なように結合されることに留意されたい。
【００１６】
サービス・プロセッサ２２６によってアサートされる制御線３０６上の制御信号は、２値のうちの一方を有して制御線３０６が２状態のうちの一方をもつようにすることができる。第１の値がアサートされる場合、制御線３０６は第１の状態にあり、線３１０および３１２によって示されるファームウェア・アクセスが有効になる。すなわち、サービス・プロセッサ２２６はファームウェア２３０にアクセスすることができ、一方、プロセッサ２０６はファームウェア２１２、ならびにファームウェア２３０にアクセスすることができる。第２の値がアサートされると、制御線３０６は第２の状態にあり、線３１６によって示されるファームウェア・アクセスが有効になる。すなわち、サービス・プロセッサ２２６はファームウェア２１２にアクセスすることができるがファームウェア２３０にはアクセスすることができない。プロセッサ２０６はファームウェア２１２とファームウェア２３０のどちらにもアクセスすることができない。
【００１７】
したがって、マルチプレクサ３０２および３０４は、制御線３０６上にアサートされる制御信号値に従って、つまりは制御線３０６の状態に従って、システムとして一斉に動作する。多重化制御線は、サービス・プロセッサ２２６によって制御される制御線３０６である。このようにして、サービス・プロセッサ２２６は、線３１０によって示されるように、ファームウェア２３０にアクセスし、また線３１６によって示されるようにファームウェア２１２にアクセスすることができる。
【００１８】
［マルチプレクサの特定の実装］
図４に、図３のマルチプレクサ３０２および３０４の詳細が提供された、本発明の一実施形態によるコンピュータ・アーキテクチャ４００を示す。このコンピュータ・アーキテクチャ４００は、それ以外の点では図３のコンピュータ・アーキテクチャ３００と同じである。図３の同じ番号の構成要素もまた、それ以外には重複して説明してはいない。
【００１９】
マルチプレクサ３０２は、スイッチ４０２が位置４０４に接触する場合にバス２２８の右側に、あるいはスイッチ４０２が位置４０６と接触する場合にバス３０８に、バス２２８の左側を接続することが可能なスイッチ４０２として表される。同様に、マルチプレクサ３０４は、スイッチ４０８が位置４１０に接触する場合にバス２１０の左側に、あるいはスイッチ４０８が位置４１２と接触する場合にバス３０８に、バス２１０の右側を接続することが可能なスイッチ４０８として表される。スイッチ４０２および４０８のそれぞれの実装については、電界効果トランジスタ（ＦＥＴ）などのトランジスタを使用することによって、または他の電気的な構成要素を使用することによって、あるいは他の方法で実現することができる。
【００２０】
第１の制御信号値が、サービス・プロセッサ２２６によって制御線３０６上にアサートされると、スイッチ４０２は位置４０４と接触し、スイッチ４０８は位置４１０と接触し、線３１０および３１２によって示される経路が有効になる。これが、マルチプレクサ３０２および３０４のデフォルト状態である。バス２２８の左側の部分がバス２２８の右側の部分に接続されるので、これによってサービス・プロセッサ２２６がファームウェア２３０にアクセスすることができるようになる。同様にバス２１０の左側の部分がバス２１０の右側の部分に接続されるので、プロセッサ２０６はファームウェア２１２にアクセスすることができる。
【００２１】
しかし、第２の制御信号値がサービス・プロセッサ２２６によって制御線３０６上にアサートされると、スイッチ４０２は位置４０６と接触し、スイッチ４０８は位置４１２と接触する。これが、マルチプレクサ３０２および３０４の別の状態である。バス２２８が、スイッチ４０２を介してバス３０８に接続され、バス３０８がスイッチ４０８を介してバス２１０に接続されるので、これによってサービス・プロセッサ２２６がファームウェア２１２にアクセスすることができるようになる。この状態では、サービス・プロセッサ２２６はファームウェア２３０にアクセスすることができず、プロセッサ２０６はいずれのファームウェアにもアクセスすることができない。
【００２２】
［従来技術に対する利点］
本発明の実施形態には、従来技術より優れた利点がある。本発明では、例え不揮発性メモリのあるものが、サービス・プロセッサが後背に配置されているブリッジ・コントローラとは異なったブリッジ・コントローラの後背にある場合でさえ、サービス・プロセッサなどのプロセッサによるコンピュータ・アーキテクチャのすべての不揮発性メモリに対するアクセスが可能になる。このサービス・プロセッサでは特に、サウスブリッジ・コントローラの後背にあるファームウェアに加えて、ノースブリッジ・コントローラの後背にあるファームウェアにもアクセスすることが可能であり、サービス・プロセッサもがまた後背に配置されているサウスブリッジ・コントローラの後背にあるファームウェアにアクセスできるだけではない。
【００２３】
［代替実施形態］
本発明の特定の実施形態について本明細書中に説明の目的で記載してきたが、本発明の趣旨と範囲を逸脱することなく様々な変更を行うことができることが理解されよう。例えば、本発明を、実質的にノースブリッジ・コントローラおよびサウスブリッジ・コントローラを含むブリッジ・コントローラに関して説明してきた。しかし、本発明自体はそのように限定されるものではない。例えば、メモリ・コントローラ・ハブ（ＭＨＣ）やＩ／Ｏコントローラ・ハブ（ＩＣＨ）などの他のブリッジ・コントローラに本発明を適用することもまた可能である。さらに、本発明を実質的に説明してきたファームウェア以外の他の種類の不揮発性ハードウェアにも、本発明を適用することが可能である。したがって、本発明の保護の範囲は特許請求の範囲およびその等価物によってのみ限定される。
【図面の簡単な説明】
【００２４】
【図１】本発明の好ましい一実施形態による方法の流れ図であり、本発行特許の最初のページに印刷するように示唆されている。
【図２】本発明の一実施形態を実装することができるコンピュータ・アーキテクチャの一例を示す図である。
【図３】本発明の一実施形態が実装されている図２のアーキテクチャの図である。
【図４】本発明の一実施形態をどのようにして実施できるかをより詳細に示す図３のアーキテクチャの図である。
【図１】
2005505052.tif 000003
【図２】
2005505052.tif 000004
【図３】
2005505052.tif 000005
【図４】
2005505052.tif 000006
【国際公開パンフレット】
2005505052.tif 000007
2005505052.tif 000008
2005505052.tif 000009
2005505052.tif 000010
2005505052.tif 000011
2005505052.tif 000012
2005505052.tif 000013
2005505052.tif 000014
2005505052.tif 000015
2005505052.tif 000016
2005505052.tif 000017
2005505052.tif 000018
2005505052.tif 000019
2005505052.tif 000020
2005505052.tif 000021
2005505052.tif 000022
2005505052.tif 000023
2005505052.tif 000024
2005505052.tif 000025
【国際調査報告】
2005505052.tif 000026
2005505052.tif 000027