JP2004021990A - プロセッサを含むコンピュータのファームウェア・セレクタ - Google Patents
プロセッサを含むコンピュータのファームウェア・セレクタ Download PDFInfo
- Publication number
- JP2004021990A JP2004021990A JP2003161202A JP2003161202A JP2004021990A JP 2004021990 A JP2004021990 A JP 2004021990A JP 2003161202 A JP2003161202 A JP 2003161202A JP 2003161202 A JP2003161202 A JP 2003161202A JP 2004021990 A JP2004021990 A JP 2004021990A
- Authority
- JP
- Japan
- Prior art keywords
- firmware
- processor
- selector
- computer
- identification information
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44536—Selecting among different versions
- G06F9/44542—Retargetable
- G06F9/44547—Fat binaries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4403—Processor initialisation
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
【課題】ファームウェア・メモリや回路基板を交換することなくプロセッサを変更することができるようにすること。
【解決手段】プロセッサを含むコンピュータのファームウェア・セレクタが提供される。セレクタは、プロセッサの識別情報を受け取り、その識別に応じて、プロセッサに、プロセッサに対応するファームウェアにアクセスさせる。このセレクタは、コンピュータが複数のファームウェアを記憶しているときに、プロセッサを適切なファームウェアに導くことができるので、このセレクタにより、顧客は、ファームウェア・メモリや回路基板を交換することなくプロセッサを変更することができる。
【選択図】図3
【解決手段】プロセッサを含むコンピュータのファームウェア・セレクタが提供される。セレクタは、プロセッサの識別情報を受け取り、その識別に応じて、プロセッサに、プロセッサに対応するファームウェアにアクセスさせる。このセレクタは、コンピュータが複数のファームウェアを記憶しているときに、プロセッサを適切なファームウェアに導くことができるので、このセレクタにより、顧客は、ファームウェア・メモリや回路基板を交換することなくプロセッサを変更することができる。
【選択図】図3
Description
【0001】
【発明の属する技術分野】
コンピュータ産業は、前の世代のプロセッサよりも優れた高い速度、追加機能およびその他の改良を提供する新しい世代のプロセッサを作り出し続けている。
【0002】
【従来の技術】
新しいプロセッサが利用可能になったときに顧客にコンピュータの交換を要求するのではなく、いくつかの異なるプロセッサをもつコンピュータがつくられている。その結果、顧客は、既存のプロセッサを新しいプロセッサと交換するだけで、コンピュータを他のプロセッサに変更することができる。プロセッサの変更は、様々な理由が動機となる。例えば、インテル社によるITANIUMプロセッサ・ファミリやヒューレットパッカード社によるPARISCプロセッサ・ファミリなどの2つのプロセッサ・ファミリのどちらからのプロセッサも受け入れることができるサーバ(一種のコンピュータ)がつくられている。改良されたプロセッサ・アーキテクチャを利用するために、顧客がサーバ内のプロセッサを変更することが望ましいことがある。その他、顧客は、メーカーが特定のプロセッサのサポートを中止したときにプロセッサの変更しなければならないことがある。あるいは、メーカーは、最初に、顧客に下位のプロセッサを備えたサーバを販売することがある。顧客は、顧客の計算処理の需要が高まったとき、サーバのプロセッサをアップグレードすることによってサーバの性能を高めたいことがある。
【0003】
一般にプロセッサごとにプロセッサ・アーキテクチャが異なるので、各プロセッサは、プロセッサ自身のファームウェアを必要とする。「ファームウェア」という用語は、本明細書、特許請求の範囲および図面の全体を通じて、電源が投入(以降、「起動」)されたときから主オペレーティング・システムがコンピュータを管理するまでコンピュータを制御するコードおよびデータ構造を含むソフトウェアを意味する。ファームウェアの役割は、ハードウェア構成を決定すること、ハードウェアを検査し初期設定すること、オペレーティング・システムをロードすること、ハードウェアまたはソフトウェアに障害が起きた場合に対話式デバッグ機能を提供すること、ならびにオペレーティング・システムの実行時サービスを含む。IEEE規格1275−1994、STANDARD for Boot Firmware (Initialization Configuration)(rev.2.1)「IEEE Standard Dictionary of Electrical and Electronics Terms 411 」(1996年第6版)を参照されたい。ファームウェアは、プラットフォームに固有のソフトウェア、コードおよびデータ構造を含むことがある。
【0004】
ファームウェアの実行中にプロセッサが実行するタスクの1つは、そのプロセッサ自体および/またはディスク・ドライブやその他のバス・インタフェースなどのハードウェア周辺装置を構成することである。プロセッサはタイプによって異なるアーキテクチャを有し、したがって異なる構成要件を有するので、一般に、プロセッサのタイプごとに異なるファームウェアを必要とする。その結果、プロセッサをアップグレードすることに関する問題は、一般にファームウェアも変更しなければならないことである。ファームウェアは、一般に、プロセッサとは別のメモリ・チップ上に常駐しているので、ユーザは、このチップを交換するか、チップがある基板を交換することによって、ファームウェアを変更することが多い。そのような交換は、特に複数のコンピュータをアップグレードするときには、顧客にとって難しくて、時間がかかり、かつ/または高価なことがある。
【0005】
図1は、従来のコンピュータ100の概略ブロック図である。コンピュータ100の例には、サーバ、汎用パーソナル・コンピュータ(PC)、ハンドヘルドまたはラップトップ・コンピュータ、マルチプロセッサ・システム、マイクロプロセッサ・システム、プログラム可能な家庭用電化製品、ネットワーク・コンピュータ、パーソナル通信システム(PCS)、携帯情報端末(PDA)、ミニコンピュータ、メインフレーム・コンピュータ、ならびに以上の計算処理システムまたは装置のうちの1つまたは複数を含む分散計算処理環境があるが、これらに限定されない。基本構成(点線106で表した)において、コンピュータ100は、一般に、少なくとも1つのプロセッサ102とシステム・メモリ104を含む。プロセッサ102は、コンピュータ100の主な処理機能と制御機能であり、当業界で入手可能な多くの市販プロセッサのどれでもよい。システム・メモリ104は、コンピュータ100の構成により、揮発性メモリ120(RAMなど)、不揮発性メモリ122(ROM、フラッシュ・メモリなど)、またはこの2つのメモリ・タイプの組み合せを含むことができる。
【0006】
コンピュータ100は、また、追加の特徴および機能を有する高度な構成を有することができる。例えば、コンピュータ100は、磁気または光学ディスクまたはテープを含むがこれらに限定されない追加記憶機構(取外し式および/または非取外し式)を含む。そのような追加記憶機構は、図1に、取外し式記憶機構108と非取外し式記憶機構110によって示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、その他のデータのような情報を記憶するために任意の方法または技術で実現される揮発性と不揮発性の取外し式と非取外し式の媒体を含む。システム・メモリ104、取外し式記憶機構108、および非取外し式記憶機構110は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリまたはその他のメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)またはその他の光学記憶機構、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは所望の情報を記憶するために利用できかつコンピュータ100がアクセスすることができる他の媒体を含むがこれらに限定されない。そのようなコンピュータ記憶媒体は、コンピュータ100の一部でもよい。
【0007】
コンピュータ100は、また、コンピュータが他のコンピュータ/装置と通信できるようにする通信接続112を含むことができる。コンピュータ100は、また、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置114を備えることがある。表示装置、スピーカ、プリンタなどの出力装置116が含まれることがある。これらの装置はすべて、当該技術分野において周知であり、考察しない。前述のように、システム・メモリ104は、一般に、不揮発性フラッシュ・メモリ122などの、プロセッサ102用のファームウェア124を記憶する不揮発性メモリを含む。フラッシュ・メモリ122は、電子的に消去し再プログラムすることができ、したがってアップグレードに都合のよいEEPROMなどの任意のタイプの不揮発性読み出し/書き込みメモリでよい。
【0008】
コンピュータ100の起動中に、プロセッサ102は、フラッシュ・メモリ124に記憶されたファームウェアを実行する。ファームウェア124の実行中に、プロセッサ102は、プロセッサ・ユニット102、チップセット、メモリなどのコンピュータ100の構成要素を初期設定し検査する。
【0009】
【発明が解決しようとする課題】
残念ながら、顧客がプロセッサ102を他のアーキテクチャに変更するとき、一般に、顧客は、ファームウェア124を含む不揮発性メモリ122、あるいは不揮発性メモリ122を搭載した回路基板(図示せず)を交換しなければならない。
【0010】
【課題を解決するための手段】
本発明の1つの実施形態において、プロセッサを含むコンピュータのファームウェア・セレクタが提供される。セレクタは、プロセッサの識別情報を受け取り、その識別に応じて、プロセッサに、プロセッサに対応するファームウェアにアクセスさせる。
【0011】
このセレクタは、コンピュータが複数のファームウェアを記憶しているときに、プロセッサを適切なファームウェアに導くことができるので、このセレクタにより、顧客は、ファームウェア・メモリや回路基板を交換することなくプロセッサを変更することができる。
【0012】
本発明の以上その他の様々な他の特徴および利点は、以下の詳細な説明と関連した図面を検討することにより明らかになるであろう。
【0013】
新規であると考えられる本発明の構成は、併記の特許請求の範囲と関連して詳細に説明する。本発明は、さらに他の目的および利点と共に、添付図面と関連して行われる以下の詳細を参照することによって最もよく理解することができ、そのいくつかの図面において、類似の参照番号は類似の要素を示す。
【0014】
【発明の実施の形態】
本発明の例示的な実施形態の以下の詳細な説明において、本発明の一部分を構成する添付図面を参照する。詳細な説明と図面は、本発明を実施することができる特定の例示的な実施形態を示す。これらの実施形態は、当業者が本発明を実施することができるように十分に詳細に示される。本発明の趣旨および範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができることを理解されたい。したがって、以下の詳細な説明は、限定の意味に取られるべきでなく、本発明の範囲は、併記の特許請求の範囲によってのみ定義される。
【0015】
明細書と特許請求の範囲の全体にわたって、以下の用語は、文脈において特に指定されない限り、本明細書において明示的に対応付けられた意味をとる。「接続された」という用語は、中間装置を何もなしに接続された物の間の直接的な電気接続を意味する。「結合された」という用語は、接続されている物の間の直接的な電気接続と、1つまたは複数の受動的または能動的な中間装置を介した間接的な接続のいずれかを意味する。「回路」という用語は、所望の機能を実現するために互いに協力するように構成された1つまたは複数の受動的および/または能動的な構成要素を意味する。「信号」という用語は、少なくとも1つの電流信号、電圧信号、またはデータ信号を意味する。図面の参照において、すべての図面に渡って同じ番号は同じ部分を指す。さらに、単数の内容は、特に断りのない限りまた本明細書の開示と矛盾しない限り複数の内容を含む。
【0016】
図2は、本発明の実施形態によりファームウェア・メモリを交換したり再プログラムしたりすることなくプロセッサを変更できるようにするコンピュータ200の概略ブロック図である。図1のコンピュータ100とコンピュータ200の共通部分は、同じ番号で示されている。コンピュータ200は、ファームウェア・セレクタ202と、不揮発性メモリ122の一部分を構成する複数のファームウェア・メモリ1(132)〜N(138)とを含む。各ファームウェアは、特定のタイプのプロセッサ102に適しておりかつ対応する。代替として、1つの不揮発性メモリ装置に複数のファームウェアを記憶することができる。ファームウェア・セレクタ202の構造は、図3と関連して後でさらに詳しく説明する。
【0017】
プロセッサ102は、セレクタ202に識別情報を提供し、その識別によって、プロセッサは、不揮発性メモリ1〜N(132〜138)のうちの1つに記憶された適切でかつ対応するファームウェアを実行する。識別情報は、プロセッサのアーキテクチャ、メーカー、系列などの特性を識別する1ビットまたは複数ビットの値である。コンピュータ200の起動時に、プロセッサ102は、その識別情報をファームウェア・セレクタ202に提供する。ファームウェア・セレクタ202は、その識別情報に応じて、プロセッサ102のために、プロセッサに適切でかつ対応するファームウェアを記憶するメモリ1〜Nを選択する。プロセッサ102が変更された場合、ファームウェア・セレクタ202は、コンピュータの再起動時に、新しいプロセッサに適切でかつ対応するファームウェアを記憶する対応するメモリ1〜N(132〜138)を自動的に選択する。
【0018】
図3は、プロセッサ102、ファームウェア・セレクタ202、ならびに2つのファームウェア・メモリ1および2を含む、図2のコンピュータ200の一部分の概略ブロック図である。ファームウェア・セレクタ202は、ファームウェア・メモリ1および2へのアクセスを可能するイネーブル・ロジック210と、コンピュータ200の適切なアドレス空間にファームウェア・メモリをマップするための第1および第2のアドレス・デコーダ232および234とを含む。具体的には、コンピュータ200は、コンピュータを起動するときにプロセッサ102が所定のアドレス空間(選択されたファームウェア・アドレス)からの命令を実行するように設計されている。したがって、より詳細に後で検討するように、デコーダ232および234は、プロセッサ102に適切でかつ対応するファームウェアを記憶するファームウェア・メモリをこのアドレス空間にマップし、他のファームウェア・メモリを他のアドレス空間にマップする。
【0019】
さらに図3を参照して、ファームウェア・セレクタ202の動作を考察する。コンピュータ200が起動シーケンスを開始するとき、プロセッサ102が、セレクタ202に識別情報を提供する。セレクタ202は、この識別情報に基づいて、プロセッサ102が実行すべきファームウェアを決定し選択する。例示のため、プロセッサ102が、ファームウェア・メモリ1に記憶されたファームウェアを実行すべきであると仮定する。
【0020】
次に、アドレス・デコーダ232は、ファームウェア・メモリ1を、選択ファームウェア・アドレス空間にマップし、デコーダ234は、ファームウェア・メモリ2を、非選択ファームウェア用の別の非選択ファームウェア・アドレス空間にマップする。
【0021】
次に、プロセッサ102は、ファームウェア・メモリ1に記憶されたファームウェアをロードし実行し始める。具体的には、プロセッサ102は、選択ファームウェア・アドレス空間の最初のデータ・フェッチであるリセット・アドレスをメモリ・アドレス240上に書き込む。イネーブル・ロジック210とデコーダ232は、このアドレスを認識し、ファームウェア・メモリ1をイネーブルし、それにより、ファームウェアの最初の命令がデータ・バス(図示せず)に入れられる。さらに、ロジック210とデコーダ234が、ファームウェア・メモリ2をディスエーブルする。プロセッサ102は、データバスから命令をロードし、その命令を実行する。プロセッサ102、イネーブル・ロジック210、ならびにデコーダ232および234は、プロセッサがファームウェア・メモリ1に記憶されたファームウェアを実行し終わるまで、このシーケンスを繰り返す。
【0022】
コンピュータ200が、起動シーケンスを終了し、オペレーティング・システムが制御権を得た後、コンピュータ200は、それぞれのアドレス空間にアクセスすることによって、ファームウェア・メモリ1および2に記憶されたファームウェアを変更することができる。例えば、メモリ1内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを、選択ファームウェア・アドレス空間に書き込ませる。同様に、メモリ2内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを、デコーダ234がファームウェア・メモリ2をマップした非選択ファームウェア・アドレス(図示せず)空間に書き込ませる。
【0023】
さらに図3を参照して、プロセッサ102のアーキテクチャを変更するファームウェア・セレクタ202の動作を考察する。新しいプロセッサは、ファームウェア・メモリ2に記憶されたファームウェアに対応し実行するように設計されている。コンピュータ200が、変更後の最初の起動シーケンスを開始するとき、新しいプロセッサ102は、セレクタ202に識別情報を提供する。セレクタ202は、この識別情報に基づいて、新しいプロセッサ102が、ファームウェア・メモリ2に記憶されたファームウェアを実行すべきであることを判断する。次に、アドレス・デコーダ234が、ファームウェア・メモリ2を選択ファームウェア中のアドレス空間にマップし、デコーダ232が、ファームウェア・メモリ1を非選択ファームウェア用の別のアドレス空間にマップする。次に、プロセッサ102は、ファームウェア・メモリ2に記憶されたファームウェアをロードし実行し始める。具体的には、プロセッサ102は、選択ファームウェア・アドレス空間の最初のデータ・フェッチであるリセット・アドレスを、メモリ・アドレス240上に書き込む。イネーブル・ロジック210とデコーダ234は、このアドレスを認識し、ファームウェア・メモリ2をイネーブルし、それによりファームウェアの最初の命令がデータバス(図示せず)に送られる。さらに、ロジック210とデコーダ232は、ファームウェア・メモリ1をディスエーブルする。プロセッサ102は、データバスから命令をロードし、その命令を実行する。プロセッサ102、イネーブル・ロジック210、ならびにデコーダ232および234は、プロセッサがファームウェア・メモリ2に記憶されたファームウェアを実行し終わるまで、このシーケンスを繰り返す。
【0024】
コンピュータ200が、起動シーケンスを終了して、プロセッサ・アーキテクチャが変更された後で、コンピュータ200は、それぞれのアドレス空間にアクセスすることによって、ファームウェア・メモリ1および2に記憶されたファームウェアを変更することができる。例えば、メモリ2内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを選択ファームウェア・アドレス空間に書き込ませる。これと同様に、メモリ1内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを、デコーダ232がファームウェア・メモリ1をマップした非選択ファームウェア・アドレス空間に書き込ませる。
【0025】
したがって、このようなファームウェア・セレクタ202によって、コンピュータ200は、ファームウェア・メモリを再プログラムしたり交換したり、メモリが取り付けられた回路基板(図示せず)を交換したりすることなしに、プロセッサ102をアップグレードしたり変更したりすることができる。
【0026】
コンピュータ200の他の実施形態が意図されている。例えば、コンピュータ200は、図3と関連して、2つのファームウェア・メモリを有するように説明されているが、コンピュータは、コンピュータが図2に示したような3つ以上の異なるタイプのプロセッサをサポートできるようにする3つ以上のファームウェア・メモリを有することができる。さらに、ファームウェア・セレクタ202が、イネーブル・ロジック210ならびにアドレス・デコーダ232および234を有するように考察したが、セレクタは、セレクタが図3と関連して前に考察した方式と同じかまたは類似の方式で動作できるようにする任意の他のアーキテクチャを有することができる。さらに、使用されていないファームウェア・メモリをアドレス空間にマップするように説明したが、セレクタ202は、使用されていないファームウェア・メモリをアクセスできないようにディスエーブルするだけでもよい。
【図面の簡単な説明】
【図1】従来のコンピュータの概略ブロック図。
【図2】本発明の実施形態によるファームウェア・セレクタを含む計算処理装置の概略ブロック図。
【図3】本発明の実施形態による図2のファームウェア・セレクタ、ファームウェア・メモリおよびプロセッサの概略ブロック図。
【符号の説明】
102 プロセッサ
132,138 ファームウェア・メモリ
200 コンピュータ
202 ファームウェア・セレクタ
240 記憶場所
【発明の属する技術分野】
コンピュータ産業は、前の世代のプロセッサよりも優れた高い速度、追加機能およびその他の改良を提供する新しい世代のプロセッサを作り出し続けている。
【0002】
【従来の技術】
新しいプロセッサが利用可能になったときに顧客にコンピュータの交換を要求するのではなく、いくつかの異なるプロセッサをもつコンピュータがつくられている。その結果、顧客は、既存のプロセッサを新しいプロセッサと交換するだけで、コンピュータを他のプロセッサに変更することができる。プロセッサの変更は、様々な理由が動機となる。例えば、インテル社によるITANIUMプロセッサ・ファミリやヒューレットパッカード社によるPARISCプロセッサ・ファミリなどの2つのプロセッサ・ファミリのどちらからのプロセッサも受け入れることができるサーバ(一種のコンピュータ)がつくられている。改良されたプロセッサ・アーキテクチャを利用するために、顧客がサーバ内のプロセッサを変更することが望ましいことがある。その他、顧客は、メーカーが特定のプロセッサのサポートを中止したときにプロセッサの変更しなければならないことがある。あるいは、メーカーは、最初に、顧客に下位のプロセッサを備えたサーバを販売することがある。顧客は、顧客の計算処理の需要が高まったとき、サーバのプロセッサをアップグレードすることによってサーバの性能を高めたいことがある。
【0003】
一般にプロセッサごとにプロセッサ・アーキテクチャが異なるので、各プロセッサは、プロセッサ自身のファームウェアを必要とする。「ファームウェア」という用語は、本明細書、特許請求の範囲および図面の全体を通じて、電源が投入(以降、「起動」)されたときから主オペレーティング・システムがコンピュータを管理するまでコンピュータを制御するコードおよびデータ構造を含むソフトウェアを意味する。ファームウェアの役割は、ハードウェア構成を決定すること、ハードウェアを検査し初期設定すること、オペレーティング・システムをロードすること、ハードウェアまたはソフトウェアに障害が起きた場合に対話式デバッグ機能を提供すること、ならびにオペレーティング・システムの実行時サービスを含む。IEEE規格1275−1994、STANDARD for Boot Firmware (Initialization Configuration)(rev.2.1)「IEEE Standard Dictionary of Electrical and Electronics Terms 411 」(1996年第6版)を参照されたい。ファームウェアは、プラットフォームに固有のソフトウェア、コードおよびデータ構造を含むことがある。
【0004】
ファームウェアの実行中にプロセッサが実行するタスクの1つは、そのプロセッサ自体および/またはディスク・ドライブやその他のバス・インタフェースなどのハードウェア周辺装置を構成することである。プロセッサはタイプによって異なるアーキテクチャを有し、したがって異なる構成要件を有するので、一般に、プロセッサのタイプごとに異なるファームウェアを必要とする。その結果、プロセッサをアップグレードすることに関する問題は、一般にファームウェアも変更しなければならないことである。ファームウェアは、一般に、プロセッサとは別のメモリ・チップ上に常駐しているので、ユーザは、このチップを交換するか、チップがある基板を交換することによって、ファームウェアを変更することが多い。そのような交換は、特に複数のコンピュータをアップグレードするときには、顧客にとって難しくて、時間がかかり、かつ/または高価なことがある。
【0005】
図1は、従来のコンピュータ100の概略ブロック図である。コンピュータ100の例には、サーバ、汎用パーソナル・コンピュータ(PC)、ハンドヘルドまたはラップトップ・コンピュータ、マルチプロセッサ・システム、マイクロプロセッサ・システム、プログラム可能な家庭用電化製品、ネットワーク・コンピュータ、パーソナル通信システム(PCS)、携帯情報端末(PDA)、ミニコンピュータ、メインフレーム・コンピュータ、ならびに以上の計算処理システムまたは装置のうちの1つまたは複数を含む分散計算処理環境があるが、これらに限定されない。基本構成(点線106で表した)において、コンピュータ100は、一般に、少なくとも1つのプロセッサ102とシステム・メモリ104を含む。プロセッサ102は、コンピュータ100の主な処理機能と制御機能であり、当業界で入手可能な多くの市販プロセッサのどれでもよい。システム・メモリ104は、コンピュータ100の構成により、揮発性メモリ120(RAMなど)、不揮発性メモリ122(ROM、フラッシュ・メモリなど)、またはこの2つのメモリ・タイプの組み合せを含むことができる。
【0006】
コンピュータ100は、また、追加の特徴および機能を有する高度な構成を有することができる。例えば、コンピュータ100は、磁気または光学ディスクまたはテープを含むがこれらに限定されない追加記憶機構(取外し式および/または非取外し式)を含む。そのような追加記憶機構は、図1に、取外し式記憶機構108と非取外し式記憶機構110によって示されている。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラム・モジュール、その他のデータのような情報を記憶するために任意の方法または技術で実現される揮発性と不揮発性の取外し式と非取外し式の媒体を含む。システム・メモリ104、取外し式記憶機構108、および非取外し式記憶機構110は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、RAM、ROM、EEPROM、フラッシュ・メモリまたはその他のメモリ技術、CD−ROM、ディジタル多用途ディスク(DVD)またはその他の光学記憶機構、磁気カセット、磁気テープ、磁気ディスク記憶装置またはその他の磁気記憶装置、あるいは所望の情報を記憶するために利用できかつコンピュータ100がアクセスすることができる他の媒体を含むがこれらに限定されない。そのようなコンピュータ記憶媒体は、コンピュータ100の一部でもよい。
【0007】
コンピュータ100は、また、コンピュータが他のコンピュータ/装置と通信できるようにする通信接続112を含むことができる。コンピュータ100は、また、キーボード、マウス、ペン、音声入力装置、タッチ入力装置などの入力装置114を備えることがある。表示装置、スピーカ、プリンタなどの出力装置116が含まれることがある。これらの装置はすべて、当該技術分野において周知であり、考察しない。前述のように、システム・メモリ104は、一般に、不揮発性フラッシュ・メモリ122などの、プロセッサ102用のファームウェア124を記憶する不揮発性メモリを含む。フラッシュ・メモリ122は、電子的に消去し再プログラムすることができ、したがってアップグレードに都合のよいEEPROMなどの任意のタイプの不揮発性読み出し/書き込みメモリでよい。
【0008】
コンピュータ100の起動中に、プロセッサ102は、フラッシュ・メモリ124に記憶されたファームウェアを実行する。ファームウェア124の実行中に、プロセッサ102は、プロセッサ・ユニット102、チップセット、メモリなどのコンピュータ100の構成要素を初期設定し検査する。
【0009】
【発明が解決しようとする課題】
残念ながら、顧客がプロセッサ102を他のアーキテクチャに変更するとき、一般に、顧客は、ファームウェア124を含む不揮発性メモリ122、あるいは不揮発性メモリ122を搭載した回路基板(図示せず)を交換しなければならない。
【0010】
【課題を解決するための手段】
本発明の1つの実施形態において、プロセッサを含むコンピュータのファームウェア・セレクタが提供される。セレクタは、プロセッサの識別情報を受け取り、その識別に応じて、プロセッサに、プロセッサに対応するファームウェアにアクセスさせる。
【0011】
このセレクタは、コンピュータが複数のファームウェアを記憶しているときに、プロセッサを適切なファームウェアに導くことができるので、このセレクタにより、顧客は、ファームウェア・メモリや回路基板を交換することなくプロセッサを変更することができる。
【0012】
本発明の以上その他の様々な他の特徴および利点は、以下の詳細な説明と関連した図面を検討することにより明らかになるであろう。
【0013】
新規であると考えられる本発明の構成は、併記の特許請求の範囲と関連して詳細に説明する。本発明は、さらに他の目的および利点と共に、添付図面と関連して行われる以下の詳細を参照することによって最もよく理解することができ、そのいくつかの図面において、類似の参照番号は類似の要素を示す。
【0014】
【発明の実施の形態】
本発明の例示的な実施形態の以下の詳細な説明において、本発明の一部分を構成する添付図面を参照する。詳細な説明と図面は、本発明を実施することができる特定の例示的な実施形態を示す。これらの実施形態は、当業者が本発明を実施することができるように十分に詳細に示される。本発明の趣旨および範囲から逸脱することなく、他の実施形態を利用することができ、他の変更を行うことができることを理解されたい。したがって、以下の詳細な説明は、限定の意味に取られるべきでなく、本発明の範囲は、併記の特許請求の範囲によってのみ定義される。
【0015】
明細書と特許請求の範囲の全体にわたって、以下の用語は、文脈において特に指定されない限り、本明細書において明示的に対応付けられた意味をとる。「接続された」という用語は、中間装置を何もなしに接続された物の間の直接的な電気接続を意味する。「結合された」という用語は、接続されている物の間の直接的な電気接続と、1つまたは複数の受動的または能動的な中間装置を介した間接的な接続のいずれかを意味する。「回路」という用語は、所望の機能を実現するために互いに協力するように構成された1つまたは複数の受動的および/または能動的な構成要素を意味する。「信号」という用語は、少なくとも1つの電流信号、電圧信号、またはデータ信号を意味する。図面の参照において、すべての図面に渡って同じ番号は同じ部分を指す。さらに、単数の内容は、特に断りのない限りまた本明細書の開示と矛盾しない限り複数の内容を含む。
【0016】
図2は、本発明の実施形態によりファームウェア・メモリを交換したり再プログラムしたりすることなくプロセッサを変更できるようにするコンピュータ200の概略ブロック図である。図1のコンピュータ100とコンピュータ200の共通部分は、同じ番号で示されている。コンピュータ200は、ファームウェア・セレクタ202と、不揮発性メモリ122の一部分を構成する複数のファームウェア・メモリ1(132)〜N(138)とを含む。各ファームウェアは、特定のタイプのプロセッサ102に適しておりかつ対応する。代替として、1つの不揮発性メモリ装置に複数のファームウェアを記憶することができる。ファームウェア・セレクタ202の構造は、図3と関連して後でさらに詳しく説明する。
【0017】
プロセッサ102は、セレクタ202に識別情報を提供し、その識別によって、プロセッサは、不揮発性メモリ1〜N(132〜138)のうちの1つに記憶された適切でかつ対応するファームウェアを実行する。識別情報は、プロセッサのアーキテクチャ、メーカー、系列などの特性を識別する1ビットまたは複数ビットの値である。コンピュータ200の起動時に、プロセッサ102は、その識別情報をファームウェア・セレクタ202に提供する。ファームウェア・セレクタ202は、その識別情報に応じて、プロセッサ102のために、プロセッサに適切でかつ対応するファームウェアを記憶するメモリ1〜Nを選択する。プロセッサ102が変更された場合、ファームウェア・セレクタ202は、コンピュータの再起動時に、新しいプロセッサに適切でかつ対応するファームウェアを記憶する対応するメモリ1〜N(132〜138)を自動的に選択する。
【0018】
図3は、プロセッサ102、ファームウェア・セレクタ202、ならびに2つのファームウェア・メモリ1および2を含む、図2のコンピュータ200の一部分の概略ブロック図である。ファームウェア・セレクタ202は、ファームウェア・メモリ1および2へのアクセスを可能するイネーブル・ロジック210と、コンピュータ200の適切なアドレス空間にファームウェア・メモリをマップするための第1および第2のアドレス・デコーダ232および234とを含む。具体的には、コンピュータ200は、コンピュータを起動するときにプロセッサ102が所定のアドレス空間(選択されたファームウェア・アドレス)からの命令を実行するように設計されている。したがって、より詳細に後で検討するように、デコーダ232および234は、プロセッサ102に適切でかつ対応するファームウェアを記憶するファームウェア・メモリをこのアドレス空間にマップし、他のファームウェア・メモリを他のアドレス空間にマップする。
【0019】
さらに図3を参照して、ファームウェア・セレクタ202の動作を考察する。コンピュータ200が起動シーケンスを開始するとき、プロセッサ102が、セレクタ202に識別情報を提供する。セレクタ202は、この識別情報に基づいて、プロセッサ102が実行すべきファームウェアを決定し選択する。例示のため、プロセッサ102が、ファームウェア・メモリ1に記憶されたファームウェアを実行すべきであると仮定する。
【0020】
次に、アドレス・デコーダ232は、ファームウェア・メモリ1を、選択ファームウェア・アドレス空間にマップし、デコーダ234は、ファームウェア・メモリ2を、非選択ファームウェア用の別の非選択ファームウェア・アドレス空間にマップする。
【0021】
次に、プロセッサ102は、ファームウェア・メモリ1に記憶されたファームウェアをロードし実行し始める。具体的には、プロセッサ102は、選択ファームウェア・アドレス空間の最初のデータ・フェッチであるリセット・アドレスをメモリ・アドレス240上に書き込む。イネーブル・ロジック210とデコーダ232は、このアドレスを認識し、ファームウェア・メモリ1をイネーブルし、それにより、ファームウェアの最初の命令がデータ・バス(図示せず)に入れられる。さらに、ロジック210とデコーダ234が、ファームウェア・メモリ2をディスエーブルする。プロセッサ102は、データバスから命令をロードし、その命令を実行する。プロセッサ102、イネーブル・ロジック210、ならびにデコーダ232および234は、プロセッサがファームウェア・メモリ1に記憶されたファームウェアを実行し終わるまで、このシーケンスを繰り返す。
【0022】
コンピュータ200が、起動シーケンスを終了し、オペレーティング・システムが制御権を得た後、コンピュータ200は、それぞれのアドレス空間にアクセスすることによって、ファームウェア・メモリ1および2に記憶されたファームウェアを変更することができる。例えば、メモリ1内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを、選択ファームウェア・アドレス空間に書き込ませる。同様に、メモリ2内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを、デコーダ234がファームウェア・メモリ2をマップした非選択ファームウェア・アドレス(図示せず)空間に書き込ませる。
【0023】
さらに図3を参照して、プロセッサ102のアーキテクチャを変更するファームウェア・セレクタ202の動作を考察する。新しいプロセッサは、ファームウェア・メモリ2に記憶されたファームウェアに対応し実行するように設計されている。コンピュータ200が、変更後の最初の起動シーケンスを開始するとき、新しいプロセッサ102は、セレクタ202に識別情報を提供する。セレクタ202は、この識別情報に基づいて、新しいプロセッサ102が、ファームウェア・メモリ2に記憶されたファームウェアを実行すべきであることを判断する。次に、アドレス・デコーダ234が、ファームウェア・メモリ2を選択ファームウェア中のアドレス空間にマップし、デコーダ232が、ファームウェア・メモリ1を非選択ファームウェア用の別のアドレス空間にマップする。次に、プロセッサ102は、ファームウェア・メモリ2に記憶されたファームウェアをロードし実行し始める。具体的には、プロセッサ102は、選択ファームウェア・アドレス空間の最初のデータ・フェッチであるリセット・アドレスを、メモリ・アドレス240上に書き込む。イネーブル・ロジック210とデコーダ234は、このアドレスを認識し、ファームウェア・メモリ2をイネーブルし、それによりファームウェアの最初の命令がデータバス(図示せず)に送られる。さらに、ロジック210とデコーダ232は、ファームウェア・メモリ1をディスエーブルする。プロセッサ102は、データバスから命令をロードし、その命令を実行する。プロセッサ102、イネーブル・ロジック210、ならびにデコーダ232および234は、プロセッサがファームウェア・メモリ2に記憶されたファームウェアを実行し終わるまで、このシーケンスを繰り返す。
【0024】
コンピュータ200が、起動シーケンスを終了して、プロセッサ・アーキテクチャが変更された後で、コンピュータ200は、それぞれのアドレス空間にアクセスすることによって、ファームウェア・メモリ1および2に記憶されたファームウェアを変更することができる。例えば、メモリ2内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを選択ファームウェア・アドレス空間に書き込ませる。これと同様に、メモリ1内のファームウェアを変更するとき、コンピュータ200は、プロセッサ102に、所望の新しいコードを、デコーダ232がファームウェア・メモリ1をマップした非選択ファームウェア・アドレス空間に書き込ませる。
【0025】
したがって、このようなファームウェア・セレクタ202によって、コンピュータ200は、ファームウェア・メモリを再プログラムしたり交換したり、メモリが取り付けられた回路基板(図示せず)を交換したりすることなしに、プロセッサ102をアップグレードしたり変更したりすることができる。
【0026】
コンピュータ200の他の実施形態が意図されている。例えば、コンピュータ200は、図3と関連して、2つのファームウェア・メモリを有するように説明されているが、コンピュータは、コンピュータが図2に示したような3つ以上の異なるタイプのプロセッサをサポートできるようにする3つ以上のファームウェア・メモリを有することができる。さらに、ファームウェア・セレクタ202が、イネーブル・ロジック210ならびにアドレス・デコーダ232および234を有するように考察したが、セレクタは、セレクタが図3と関連して前に考察した方式と同じかまたは類似の方式で動作できるようにする任意の他のアーキテクチャを有することができる。さらに、使用されていないファームウェア・メモリをアドレス空間にマップするように説明したが、セレクタ202は、使用されていないファームウェア・メモリをアクセスできないようにディスエーブルするだけでもよい。
【図面の簡単な説明】
【図1】従来のコンピュータの概略ブロック図。
【図2】本発明の実施形態によるファームウェア・セレクタを含む計算処理装置の概略ブロック図。
【図3】本発明の実施形態による図2のファームウェア・セレクタ、ファームウェア・メモリおよびプロセッサの概略ブロック図。
【符号の説明】
102 プロセッサ
132,138 ファームウェア・メモリ
200 コンピュータ
202 ファームウェア・セレクタ
240 記憶場所
Claims (12)
- プロセッサを含むコンピュータのファームウェア・セレクタであって、
前記プロセッサの識別情報を受け取り、
前記識別情報に応じて、前記プロセッサによって実行されるファームウェアを選択するように動作するファームウェア・セレクタ。 - 前記コンピュータの起動中に前記プロセッサがアドレス指定する記憶場所に、前記ファームウェアをマップするように動作する請求項1に記載のファームウェア・セレクタ。
- プロセッサを含むコンピュータのファームウェア・セレクタであって、
前記プロセッサの識別情報を受け取り、
前記識別情報に応じて、前記コンピュータの起動中に、前記プロセッサに、対応するファームウェアにアクセスさせるように動作するファームウェア・セレクタ。 - 前記セレクタは、前記コンピュータ装置の起動中に前記プロセッサがアクセスする記憶場所に、前記ファームウェアをマップするように動作する請求項3に記載のファームウェア・セレクタ。
- 対応しないファームウェアを、前記プロセッサがアクセスすることができる他の記憶場所にマップするように動作する請求項4に記載のファームウェア・セレクタ。
- 前記ファームウェアが、前記コンピュータの不揮発性メモリに記憶された請求項3に記載のファームウェア・セレクタ。
- 選択ファームウェア・アドレス空間と、
識別情報を提供するように動作するプロセッサと、
それぞれのファームウェアを記憶するように動作する複数のファームウェア・メモリと、
前記プロセッサと前記ファームウェア・メモリに結合され、前記プロセッサの識別情報に応じて前記ファームウェアのうちの1つを選択し、前記選択したファームウェアを記憶するファームウェア・メモリを、前記選択ファームウェア・アドレス空間にマップするように動作するファームウェア・セレクタとを含むコンピュータ。 - 前記ファームウェア・メモリがそれぞれ、不揮発性メモリを含む請求項7に記載の計算処理装置。
- プロセッサの識別情報を受け取るステップと、
前記識別情報に応じて、前記プロセッサを含むコンピュータの起動中に前記プロセッサが実行するファームウェアを選択するステップとを含む方法。 - 前記ファームウェアを選択するステップが、複数のファームウェアから前記ファームウェアを選択するステップを含む請求項9に記載の方法。
- プロセッサの識別情報を受け取るステップと、
前記識別情報に応じて、前記プロセッサに、前記プロセッサを含むコンピュータ(200)用の対応するファームウェアを実行させるステップとを含む方法。 - 選択されたファームウェア・アドレス空間と、
それぞれのファームウェアを記憶するように動作する複数のファームウェア・メモリと、
前記プロセッサと前記ファームウェア・メモリに結合され、前記プロセッサ識別情報に応じて前記ファームウェアのうちの1つを選択し、前記選択したファームウェアを記憶する前記ファームウェア・メモリを、前記選択ファームウェア・アドレス空間にマップするように動作するファームウェア・セレクタとを含むコンピュータを提供するステップと、
前記コンピュータに、識別情報を提供するように動作するプロセッサを組み込むステップと、
前記ファームウェア・セレクタによってプロセッサの識別情報を受け取るステップとを含み、
前記識別情報に応じて、前記プロセッサ識別に対応する前記ファームウェアのうちの1つを選択し、前記選択したファームウェアを記憶する前記ファームウェア・メモリを、前記選択ファームウェア・アドレス空間にマップするファームウェア・セレクタを含む方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/171,873 US7003656B2 (en) | 2002-06-13 | 2002-06-13 | Automatic selection of firmware for a computer that allows a plurality of process types |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004021990A true JP2004021990A (ja) | 2004-01-22 |
Family
ID=22625469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003161202A Withdrawn JP2004021990A (ja) | 2002-06-13 | 2003-06-05 | プロセッサを含むコンピュータのファームウェア・セレクタ |
Country Status (3)
Country | Link |
---|---|
US (1) | US7003656B2 (ja) |
JP (1) | JP2004021990A (ja) |
GB (1) | GB2391973B (ja) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7003656B2 (en) | 2002-06-13 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Automatic selection of firmware for a computer that allows a plurality of process types |
US7246222B2 (en) * | 2003-04-21 | 2007-07-17 | Hewlett-Packard Development Company, L.P. | Processor type determination based on reset vector characteristics |
US7363484B2 (en) * | 2003-09-15 | 2008-04-22 | Hewlett-Packard Development Company, L.P. | Apparatus and method for selectively mapping proper boot image to processors of heterogeneous computer systems |
CA2576508A1 (en) * | 2004-08-04 | 2006-02-16 | Osa Technologies, Inc. | Software and firmware adaptation for unanticipated/changing hardware environments |
US7617391B2 (en) * | 2005-12-15 | 2009-11-10 | Lsi Logic Corporation | Method and apparatus for dynamically selecting one of multiple firmware images for booting an I/O controller |
US8286156B2 (en) * | 2006-11-07 | 2012-10-09 | Sandisk Technologies Inc. | Methods and apparatus for performing resilient firmware upgrades to a functioning memory |
US20080109647A1 (en) * | 2006-11-07 | 2008-05-08 | Lee Merrill Gavens | Memory controllers for performing resilient firmware upgrades to a functioning memory |
US7890742B2 (en) * | 2007-04-23 | 2011-02-15 | Hewlett-Packard Development Company, L.P. | Automatically selecting firmware instructions for an operating system |
US20090146144A1 (en) * | 2007-12-10 | 2009-06-11 | Broadcom Corporation | Method and system supporting production of a semiconductor device using a plurality of fabrication processes |
WO2012149759A1 (zh) * | 2011-09-22 | 2012-11-08 | 华为技术有限公司 | 实现不同处理器兼容的方法及装置 |
US9116774B2 (en) | 2013-05-14 | 2015-08-25 | Sandisk Technologies Inc. | Firmware updates for multiple product configurations |
KR101816943B1 (ko) * | 2013-08-05 | 2018-01-09 | 엘에스산전 주식회사 | 인버터의 파라미터 카피 시스템 |
US10579801B2 (en) * | 2015-09-23 | 2020-03-03 | Hewlett Packard Enterprise Development Lp | Selecting and loading firmware volumes based on license |
EP3963444A4 (en) * | 2019-04-30 | 2022-11-23 | Hewlett-Packard Development Company, L.P. | STARTING PROCESSORS |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4654783A (en) * | 1982-07-26 | 1987-03-31 | Data General Corporation | Unique process for loading a microcode control store in a data processing system |
WO1991019244A1 (en) | 1990-06-04 | 1991-12-12 | 3Com Corporation | Method for optimizing software for any one of a plurality of variant architectures |
US5790834A (en) * | 1992-08-31 | 1998-08-04 | Intel Corporation | Apparatus and method using an ID instruction to identify a computer microprocessor |
US5848250A (en) * | 1993-04-01 | 1998-12-08 | Packard Bell Nec | Processor upgrade system for a personal computer |
US5933652A (en) * | 1996-08-30 | 1999-08-03 | Advanced System Products, Inc. | Host independent peripheral controller with on-board firmware |
US6381693B2 (en) * | 1998-12-31 | 2002-04-30 | Intel Corp. | Arrangements having firmware support for different processor types |
US6425079B1 (en) * | 1999-03-31 | 2002-07-23 | Adaptec, Inc. | Universal option ROM BIOS including multiple option BIOS images for multichip support and boot sequence for use therewith |
US6594756B1 (en) * | 1999-09-08 | 2003-07-15 | Intel Corporation | Multi-processor system for selecting a processor which has successfully written it's ID into write-once register after system reset as the boot-strap processor |
US6591352B2 (en) * | 2001-05-31 | 2003-07-08 | Intel Corporation | Method and apparatus for executing firmware from a valid startup block |
CA2369228A1 (en) | 2002-01-24 | 2003-07-24 | Alcatel Canada Inc. | System and method for managing configurable elements of devices in a network element and a network |
US7003656B2 (en) | 2002-06-13 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Automatic selection of firmware for a computer that allows a plurality of process types |
US7036007B2 (en) * | 2002-09-09 | 2006-04-25 | Intel Corporation | Firmware architecture supporting safe updates and multiple processor types |
-
2002
- 2002-06-13 US US10/171,873 patent/US7003656B2/en not_active Expired - Fee Related
-
2003
- 2003-06-04 GB GB0312824A patent/GB2391973B/en not_active Expired - Fee Related
- 2003-06-05 JP JP2003161202A patent/JP2004021990A/ja not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US20030233536A1 (en) | 2003-12-18 |
GB2391973A (en) | 2004-02-18 |
US7003656B2 (en) | 2006-02-21 |
GB2391973B (en) | 2005-08-31 |
GB0312824D0 (en) | 2003-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7103641B2 (en) | Method and apparatus for distributing computer platform firmware across a network | |
US10936299B2 (en) | Automated intra-system persistent memory updates | |
US7908469B2 (en) | Method for executing power on self test on a computer system and updating SMBIOS information partially | |
US11334427B2 (en) | System and method to reduce address range scrub execution time in non-volatile dual inline memory modules | |
JP2004021990A (ja) | プロセッサを含むコンピュータのファームウェア・セレクタ | |
US11461178B2 (en) | System and method to prevent endless machine check error of persistent memory devices | |
US20060265581A1 (en) | Method for switching booting devices of a computer | |
US10592393B1 (en) | Firmware debug trace capture | |
US9250919B1 (en) | Multiple firmware image support in a single memory device | |
US11429298B2 (en) | System and method for tying non-volatile dual inline memory modules to a particular information handling system | |
US8086834B2 (en) | System and method for populating a dedicated system service repository for an information handling system | |
US6401201B2 (en) | Arrangements offering firmware support for different input/output (I/O) types | |
US6598157B1 (en) | Dynamic boot block control by boot configuration determination and subsequent address modification | |
US10732859B2 (en) | Systems and methods for granular non-volatile memory health visibility to a host | |
US20130232287A1 (en) | Method of obtaining instruction for triggering function | |
US11221766B2 (en) | System and method for persistent memory rotation based on remaining write endurance | |
US11003778B2 (en) | System and method for storing operating life history on a non-volatile dual inline memory module | |
US20200364040A1 (en) | System and Method for Restoring a Previously Functional Firmware Image on a Non-Volatile Dual Inline Memory Module | |
US8386761B2 (en) | System for registering and initiating pre-boot environment for enabling partitions | |
CN114047952A (zh) | 用于单片机的处理器、方法、单片机和存储介质 | |
JP2004326773A (ja) | プロセッサタイプの決定 | |
US11029868B1 (en) | Initialization code/data memory mapping system | |
US11086758B1 (en) | Identifying firmware functions executed in a call chain prior to the occurrence of an error condition | |
US20220083345A1 (en) | Booting processors | |
US8904228B2 (en) | Methods and systems for repairing memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20060905 |