(57)【要約】      （修正有）【課題】ホストコンピュータを作動するのに使用され、ホストコンピュータに関連するシステムＲＡＭを有するシステムＢＩＯＳを有するホストコンピュータを作動させるための装置および方法を開示する。【解決手段】ＢＩＯＳの少なくとも一部はＲＯＭ内に記憶するのではなく大容量メモリ記憶周辺コンピュータ装置の大容量メモリ記憶装置内に記憶する。ＢＩＯＳは特定の周辺コンピュータ装置に関連した拡張ＢＩＯＳであっても、ホストコンピュータに関連したシステムＢＩＯＳであってもよい。【選択図】図５
2006196018.tif 000002
【特許請求の範囲】
【請求項１】
システムＲＡＭを有するホスト・コンピュータと、前記ホスト・コンピュータに接続された大容量メモリ・ストーレジを有する大容量メモリ・ストーレジ周辺コンピュータ装置とを含むコンピュータ・システムであって、前記ホスト・コンピュータがＢＩＯＳを用いてその動作を制御する前記コンピュータ・システムにおいて、
（ａ）前記コンピュータ・システムの起動中に前記ホスト・コンピュータにアクセス可能であって、前記ＢＩＯＳの第１の部分を含む固定大容量メモリ・ストーレジ手段と、
（ｂ）前記ＢＩＯＳの第２の部分であって、前記大容量メモリ・ストーレジ周辺コンピュータ装置の前記大容量メモリ・ストーレジに記憶される前記第２の部分と、
（ｃ）前記ホスト・コンピュータに前記固定大容量メモリ・ストーレジ手段をアクセスさせて、前記ＢＩＯＳの前記第１の部分を獲得し、その後、前記ＢＩＯＳの前記第１の部分を用いることにより、前記ホスト・コンピュータに前記大容量メモリ・ストーレジ周辺コンピュータ装置の前記大容量メモリ・ストーレジをアクセスさせ、前記大容量メモリ・ストーレジ周辺コンピュータ装置の前記大容量メモリ・ストーレジ内に配置されている前記ＢＩＯＳの前記第２の部分を獲得差せ、かつ前記システムＲＡＭ内の前記ＢＩＯＳの第２の部分を記憶させる動作手段と
を含む装置。
【請求項２】
前記ＢＩＯＳは前記ホスト・コンピュータに関連したシステムＢＩＯＳである請求項１記載の装置。
【請求項３】
前記固定大容量メモリ・ストーレジ手段は前記ホスト・コンピュータの一部分として設けられている請求項２記載の装置。
【請求項４】
前記ＢＩＯＳは固有の周辺コンピュータ装置に関連した拡張ＢＩＯＳである請求項１記載の装置。
【請求項５】
前記固定大容量メモリ・ストーレジ手段は前記固有の周辺コンピュータ装置の一部分として設けられている請求項４記載の装置。
【請求項６】
前記周辺コンピュータ装置は前記大容量メモリ・ストーレジ周辺コンピュータ装置である請求項４記載の装置。
【請求項７】
前記ＢＩＯＳは前記ホスト・コンピュータに関連されているシステムＢＩＯＳ、及び固有の周辺コンピュータ装置に関連されている拡張ＢＩＯＳである。請求項１記載の装置。
【請求項８】
前記固定大容量メモリ・ストーレジ手段はＲＯＭである請求項１記載の装置。
【請求項９】
ホスト・コンピュータに関連されたシステムＲＡＭを有する前記ホスト・コンピュータ、及び前記ホスト・コンピュータに接続された大容量メモリ・ストーレジ周辺コンピュータ装置を含むコンピュータ・システムに用いる、ＲＯＭ以を除くコンピュータ・メモリ・ストーレジ媒体であって、前記システム・ホスト・コンピュータがＢＩＯＳを用いてその動作を制御し、前記ＢＩＯＳの少なくとも一部分が、前記大容量メモリ・ストーレジ周辺コンピュータ装置の前記大容量メモリ・ストーレジに記憶されて、前記ホスト・コンピュータが前記大容量メモリ・ストーレジに記憶されている前記ＢＩＯＳを前記ホスト・コンピュータの前記システムＲＡＭにロードした後に、前記ホスト・コンピュータにより用いられる、前記コンピュータ・メモリ・ストーレジ媒体において、
前記ホスト・コンピュータの動作を制御するＢＩＯＳを含む部分
を含むコンピュータ・メモリ・ストーレジ媒体。
【請求項１０】
前記コンピュータ・メモリ・ストーレジ媒体は、前記ホスト・コンピュータに接続された前記大容量メモリ・ストーレジ周辺コンピュータ装置の前記大容量メモリ・ストーレジである前記求項９記載のコンピュータ・メモリ・ストーレジ媒体。
【請求項１１】
前記大容量メモリ・ストーレジ周辺コンピュータ装置はハード・ディスク駆動装置である請求項１０記載のコンピュータ・メモリ・ストーレジ媒体。
【請求項１２】
前記コンピュータ・メモリ・ストーレジ媒体はフロッピー（登録商標）・ディスクであり、かつ前記フロッピー（登録商標）・ディスクに内蔵された前記ＢＩＯＳは大容量メモリ・ストーレジ周辺コンピュータ装置に転送可能である請求項９記載のコンピュータ・メモリ・ストーレジ媒体。
【請求項１３】
前記メモリ・ストーレジ媒体に含まれる前記ＢＩＯＳは、前記コンピュータ・システムの少なくとも一部に関連されたＢＩＯＳであって、更新され、かつ改定されたＢＩＯＳである請求項９記載のコンピュータ・メモリ・ストーレジ媒体。
【請求項１４】
前記メモリ・ストーレジ媒体に含まれる前記ＢＩＯＳは、前記コンピュータ・システムに接続されている固有の周辺コンピュータ装置に関連された拡張ＢＩＯＳである請求項９記載のコンピュータ・メモリ・ストーレジ媒体。
【請求項１５】
前記メモリ・ストーレジ媒体に含まれた前記ＢＩＯＳは、前記ホスト・コンピュータに関連されたシステムＢＩＯＳである請求項９記載のコンピュータ・メモリ・ストーレジ媒体。
【請求項１６】
システムＲＡＭを有するホスト・コンピュータと、再配置可能な拡張ＢＩＯＳ位置アドレスが許容される周辺バスを用いて前記ホスト・コンピュータに接続された固有の周辺コンピュータ装置とを含むコンピュータ・システムにあって、前記ホスト・コンピュータに前記固有の周辺コンピュータ装置を動作可能にさせ、その動作が前記固有の周辺コンピュータ装置に関連した拡張ＢＩＯＳを獲得し、かつ前記システムＲＡＭに前記拡張ＢＩＯＳをロードさせるために前記ホスト・コンピュータを必要とする装置において、
（ａ）前記固有の周辺コンピュータ装置に関連された全ての拡張ＢＩＯＳではなく、第１の部分を含むＲＯＭストーレジ媒体と、
（ｂ）前記ホスト・コンピュータに接続され、かつ前記固有の周辺コンピュータ装置に関連された前記拡張ＢＩＯＳの第２の部分を含む大容量メモリ・ストーレジ手段を有する大容量メモリ・ストーレジ周辺コンピュータ装置と、
（ｃ）前記ホスト・コンピュータに前記ＲＯＭストーレジ媒体をアクセスさせて、前記固有の周辺コンピュータ装置に関連された前記拡張ＢＩＯＳの前記第１の部分を獲得し、その後に、前記拡張ＢＩＯＳの第１の部分を用いて、前記ホスト・コンピュータに（ｉ）前記大容量メモリ・ストーレジ周辺コンピュータ装置の大容量メモリ・ストーレジ手段をアクセスさせ、（ii）前記固有の周辺コンピュータ装置に関連され、かつ前記大容量メモリ・ストーレジ周辺コンピュータ装置の大容量メモリ・ストーレジ手段内に配置された前記拡張ＢＩＯＳの第２の部分を獲得させ、かつ（iii)前記システムＲＡＭ内に前記拡張ＢＩＯＳの前記第２の部分を記憶させる動作手段と
を備えている装置。
【請求項１７】
前記固有の周辺コンピュータ装置は前記大容量メモリ・ストーレジ周辺コンピュータ装置である請求項１６記載の装置。
【請求項１８】
前記ホスト・コンピュータはそれ自身のＲＯＭメモリ・ストーレジを含み、かつ前記拡張ＢＩＯＳの前記第１の部分を含む前記ＲＯＭストーレジ手段は、前記コンピュータ自身のＲＯＭストーレジ・メモリから分離されている請求項１６記載の装置。
【請求項１９】
前記ホスト・コンピュータは前記固有の周辺コンピュータ装置を前記ホスト・コンピュータに接続するＰＣＩバスを含み、かつ前記システムはＰＣＩプロトコルを用いて前記ＰＣＩバスを用いるための請求項１６記載の装置。
【請求項２０】
前記大容量メモリ・ストーレジ手段はハード・ディスク駆動装置であり、かつ前記拡張ＢＩＯＳの前記第２の部分は前記ハード・ディスク駆動装置の大容量メモリ・ストーレジ内に含まれている請求項１６記載の装置。
【請求項２１】
前記拡張ＢＩＯＳの前記第２の部分はユーザのアクセスが不可能なハード・ディスク駆動装置の大容量メモリ・ストーレジの一部分である請求項２０記載の装置。
【請求項２２】
前記大容量メモリ・ストーレジ手段はコンパクト・ディスク・プレーヤであり、かつ前記拡張ＢＩＯＳの第２の部分は前記コンパクト・ディスク・プレーヤにより読み出し可能なコンパクト・ディスクのメモリ内に含まれている請求項１６記載の装置。
【請求項２３】
請求項１６記載の構成において、特定の周辺コンピュータ装置がビデオカードである構成。
【請求項２４】
請求項１６記載の構成において、特定の周辺コンピュータ装置がネットワークカードである構成。
【請求項２５】
請求項１６記載の構成において、
ａ）  拡張ＢＩＯＳの要求されているサイズについての情報を含むホストコンピュータが利用できる構成スペースが特定の周辺コンピュータ装置に含まれ、そして
ｂ）  たとえ拡張ＢＩＯＳの第一の部分が要求されているサイズより小さくても、あたかも拡張ＢＩＯＳの第一の部分のサイズが拡張ＢＩＯＳの要求されているサイズであるかのように拡張ＢＩＯＳの第一の部分をホストコンピュータに見せるための初期化手段が、拡張ＢＩＯＳの第一の部分に含まれている
構成。
【請求項２６】
請求項２５記載の構成において、余分の情報と拡張ＢＩＯＳの第一の部分との組み合わせが定量的に要求されているサイズに等しくなるような余分の情報を、拡張ＢＩＯＳの第一の部分と一緒にシステムＲＡＭの中に記憶するための手段が、初期化手段に含まれている構成。
【請求項２７】
システムＲＡＭをそなえるホストコンピュータ、および再配置可能拡張ＢＩＯＳロケーションアドレスが許容される周辺バスを使用してホストコンピュータに接続される特定の周辺コンピュータ装置を含むコンピュータシステムにおいて、ホストコンピュータが特定の周辺コンピュータ装置を動作させることができるようにするための構成であって、このように動作させるためにはコンピュータが特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳを獲得し、その拡張ＢＩＯＳをシステムＲＡＭにロードしなければならない構成において、
ａ）  ホストコンピュータに接続された大容量記憶周辺コンピュータ装置であって、特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳを含む大容量記憶手段をそなえる大容量記憶周辺コンピュータ装置、
ｂ）  システムの動作を開始するための手段、および
ｃ）  システム動作の開始に応動してホストコンピュータに、（ｉ）大容量記憶周辺コンピュータ装置の大容量記憶手段へアクセスさせ、（ii）特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳを獲得させ、そして（iii)特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳをシステムＲＡＭの中に記憶させる動作手段
を含む構成。
【請求項２８】
請求項２７記載の構成において、特定の周辺コンピュータ装置が大容量記憶周辺コンピュータ装置である構成。
【請求項２９】
請求項２７記載の構成において、特定の周辺コンピュータ装置をホストコンピュータに接続するためのＰＣＩバスがホストコンピュータに含まれ、ＰＣＩバスを使用するためのプロトコルをシステムが使用する構成。
【請求項３０】
請求項２９記載の構成において、大容量記憶周辺コンピュータ装置上のメモリバッファが動作手段に含まれる構成。
【請求項３１】
請求項３０記載の構成において、
ａ）  ＰＣＩプロトコルによるシステムの動作開始時に電源投入自己試験（Power-On-Self-Test）を行うための手段が動作手段に含まれ、
ｂ）  特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳに、第一の部分および第二の部分が含まれ、
ｃ）  電源投入自己試験の時間フレーム内に特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳの第一の部分を大容量記憶周辺コンピュータ装置のメモリバッファにロードするための手段が大容量記憶手段に含まれ、これにより動作手段が、（ｉ）メモリバッファにアクセスし、（ii）拡張ＢＩＯＳの第一の部分を獲得した後、拡張ＢＩＯＳの第一の部分を使用することにより、（iii)大容量記憶周辺コンピュータ装置の大容量記憶手段にアクセスし、（iv）特定の周辺コンピュータ装置に対応し、大容量記憶周辺コンピュータ装置の大容量記憶手段の中に配置された拡張ＢＩＯＳの第二の部分を獲得し、そして（ｖ）拡張ＢＩＯＳの第二の部分をシステムＲＡＭの中に記憶することができる
構成。
【請求項３２】
請求項３１記載の構成において、
ａ）  拡張ＢＩＯＳの要求されているサイズについての情報を含むホストコンピュータが利用できる構成スペースが特定の周辺コンピュータ装置に含まれ、そして
ｂ）  たとえ拡張ＢＩＯＳの第一の部分が要求されているサイズより小さくても、あたかも拡張ＢＩＯＳの第一の部分のサイズが拡張ＢＩＯＳの要求されているサイズであるかのように拡張ＢＩＯＳの第一の部分をホストコンピュータに見せるための初期化手段が、拡張ＢＩＯＳの第一の部分に含まれている
構成。
【請求項３３】
請求項３２記載の構成において、余分の情報と拡張ＢＩＯＳの第一の部分との組み合わせが定量的に要求されているサイズに等しくなるような余分の情報を、拡張ＢＩＯＳの第一の部分と一緒にシステムＲＡＭの中に記憶するための手段が、初期化手段に含まれている構成。
【請求項３４】
請求項２７記載の構成において、大容量記憶手段がハードディスクドライブである構成。
【請求項３５】
請求項３４記載の構成において、特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳが、ユーザがアクセスできないハードディスクドライブ大容量記憶装置の一部分の中に配置されている構成。
【請求項３６】
請求項２７記載の構成において、大容量記憶手段がコンパクトディスクプレーヤであり、特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳが、コンパクトディスクプレーヤで読み取りできるコンパクトディスクのメモリの中に含まれている構成。
【請求項３７】
システムＲＡＭをそなえるホストコンピュータ、およびホストコンピュータに接続される大容量記憶装置をそなえた大容量記憶周辺コンピュータ装置を含むコンピュータシステムであって、ホストコンピュータがその動作を制御するためにＢＩＯＳを使用するコンピュータシステムにおいて、
ａ）  コンピュータシステムの始動の間にホストコンピュータがアクセスでき、ＢＩＯＳの第一の部分を含む永久記憶手段を設けるステップ、
ｂ）  大容量記憶周辺コンピュータ装置の大容量記憶装置の中にＢＩＯＳの第二の部分を記憶するステップ、および
ｃ）  ホストコンピュータに、永久記憶手段へのアクセスを行わせ、ＢＩＯＳの第一の部分を獲得させ、その後、ＢＩＯＳの第一の部分を使用することによりホストコンピュータに、大容量記憶周辺コンピュータ装置の大容量記憶装置にアクセスさせ、大容量記憶周辺コンピュータ装置の大容量記憶装置の中に配置されたＢＩＯＳの第二の部分を獲得させ、システムＲＡＭの中にＢＩＯＳの第二の部分を記憶させるステップ
を含む方法。
【請求項３８】
請求項３７記載の方法において、ＢＩＯＳが、ホストコンピュータに対応するシステムＢＩＯＳである方法。
【請求項３９】
請求項３８記載の方法において、永久記憶手段を設けるステップに、ホストコンピュータの一部として永久記憶手段を設けるステップが含まれる方法。
【請求項４０】
請求項３７記載の方法において、ＢＩＯＳが、特定の周辺コンピュータ装置に対応する拡張ＢＩＯＳである方法。
【請求項４１】
請求項４０記載の方法において、永久記憶手段を設けるステップに、特定の周辺コンピュータ装置の一部として永久記憶手段を設けるステップが含まれる方法。
【請求項４２】
前記特定コンピュータ装置は大容量記憶周辺コンピュータ装置である請求項４０記載による配置。
【請求項４３】
前記ＢＩＯＳは前記ホストコンピュータに結合されたシステムＢＩＯＳおよびある特定の周辺コンピュータ装置に結合された増設ＢＩＯＳである請求項３７記載による方法。
【請求項４４】
固定記憶装置手段を提供する前記ステップはＲＯＭの形態で固定記憶装置を提供する前記ステップを含む請求項３７記載による方法。
【請求項４５】
請求項４４記載による方法であって、
ａ．  前記システムは、再配置可能拡張ＢＩＯＳ割当てアドレスを許容する周辺バスを使用するホストコンピュータに結合されたある特定の周辺コンピュータ装置を含み、
ｂ．  前記ＢＩＯＳは、前記特定周辺コンピュータ装置に結合された拡張ＢＩＯＳであり、
ｃ．  ＢＩＯＳの第２部分を記憶する前記ステップは、大容量記憶周辺コンピュータ装置の大容量記憶手段内の前記特定周辺コンピュータ装置に結合された拡張ＢＩＯＳの第２部分を記憶するステップを含み、
ｄ．  ホストコンピュータを固定メモリにアクセスさせるステップは、ホストコンピュータをＲＯＭ記憶手段にアクセスさせ、前記特定周辺コンピュータ装置に結合された拡張ＢＩＯＳの第１部分を獲得し、その後に、この拡張ＢＩＯＳの第１部分を使用して、ホストコンピュータを、（ｉ）大容量記憶周辺コンピュータ装置の大容量記憶手段にアクセスさせ、（ii）前記特定周辺コンピュータ装置に結合され、前記大容量記憶周辺コンピュータ装置内に位置する拡張ＢＩＯＳの第２部分を獲得させ、（iii)システムＲＡＭ内に拡張ＢＩＯＳの第２部分を記憶させるステップを含む、前記方法。
【請求項４６】
前記特定周辺コンピュータ装置は、大容量記憶周辺コンピュータ装置である請求項４５記載による方法。
【請求項４７】
ホストコンピュータはその固有のＲＯＭ記憶装置を含み、このＲＯＭ記憶装置内の特定周辺コンピュータ装置に結合された拡張ＢＩＯＳの第１部分を記憶するステップは、コンピュータの固有のＲＯＭ記憶装置とは別個のＲＯＭ記憶装置手段内の拡張ＢＩＯＳの第１部分を記憶するステップを含む請求項４５記載による方法。
【請求項４８】
ホストコンピュータと特定周辺コンピュータ装置は、ＰＣＩバスを使用して結合され、ホストコンピュータを特定周辺コンピュータ装置に結合された拡張ＢＩＯＳの第１および第２部分にアクセスさせるステップは、ホストコンピュータを拡張ＢＩＯＳの第１および第２部分にアクセスさせるためのＰＣＩプロトコルを使用するステップを含んでいる請求項４５による方法。
【請求項４９】
前記大容量記憶装置はハードディスクドライブであり、前記特定周辺コンピュータ装置に結合された拡張ＢＩＯＳの第２部分を記憶するステップは、ハードディスクドライブのメモリ内の拡張ＢＩＯＳの第２部分を記憶するステップを含む請求項４５記載による方法。
【請求項５０】
ハードディスクドライブのメモリ内の拡張ＢＩＯＳの第２部分を記憶するステップは、ユーザがアクセス不可能なハードディスク内の一部分に、拡張ＢＩＯＳの第２部分を記憶させるステップを含む請求項４９による方法。
【請求項５１】
前記大容量記憶手段は、コンパクトディスクプレーヤーであり、前記特定周辺記憶装置に結合された拡張ＢＩＯＳの第２部分を記憶するステップは、コンパクトディスクプレーヤーで読取可能なコンパクトディスクのメモリ内の拡張ＢＩＯＳの第２部分を記憶するステップを含む請求項４５による方法。
【請求項５２】
前記特定周辺コンピュータ装置は、ビデオカードである請求項４５による方法。
【請求項５３】
前記特定周辺コンピュータ装置は、ネットワークカードである請求項４５による方法。
【請求項５４】
請求項４８記載による方法であって、
ａ．  前記特定周辺コンピュータ装置は、拡張ＢＩＯＳの要求されたサイズについての情報を含む、ホストコンピュータが利用可能なＰＣＩコンフィギュレーションスペースを含み、
ｂ．  前記方法は更に、ホストコンピュータに、ＰＣＩコンフィギュレーションスペースから、拡張ＢＩＯＳの要求されたスペースを獲得させるステップを含み、
ｃ．  ホストコンピュータに拡張ＢＩＯＳの第１部分にアクセスさせ獲得させるステップは、たとえ拡張ＢＩＯＳの第１部分が要求されたサイズよりも小さくても、拡張ＢＩＯＳの第１部分が拡張ＢＩＯＳの第１部分の要求されたサイズであるかのように、ホストコンピュータに見えるようにするステップを含む前記方法。
【請求項５５】
拡張ＢＩＯＳの第１部分が拡張ＢＩＯＳについて要求されたサイズであるかのようにホストコンピュータに見えるようにする手段は、拡張ＢＩＯＳの第１部分と共にシステムＲＡＭ内の過剰な情報を、この過剰な情報と拡張ＢＩＯＳの第１部分の組合わせが、要求されたサイズと量的に相等しいように記憶するステップを含む請求項５４の方法。
【請求項５６】
システムＲＡＭをそなえるホストコンピュータ、および再配置可能拡張ＢＩＯＳロケーションアドレスが許容される周辺バスを使用してホストコンピュータに接続される特定の周辺コンピュータ装置を含むコンピュータシステムにおいて、ホストコンピュータに特定の周辺コンピュータ装置を操作可能とさせる方法であって、当該操作方法はホストコンピュータに特定の周辺装置に関連した拡張ＢＩＯＳを獲得させ、当該拡張ＢＩＯＳを前記システムＲＡＭにロードする方法であって、
ａ）  ホストコンピュータに接続された大容量記憶手段を有する大容量記憶周辺コンピュータを用意し、
ｂ）  前記特定の周辺コンピュータ装置に関連した拡張ＢＩＯＳを前記大容量記憶手段に格納し、
ｃ）  前記システムの操作を開始し、及び
ｄ）  前記システムの操作を開始した後で、ホストコンピュータに（ｉ）前記大容量記憶周辺コンピュータの前記大容量記憶手段にアクセスし、（ii）前記大容量記憶周辺コンピュータに関連した全ての拡張ＢＩＯＳを獲得し、及び（iii)当該拡張ＢＩＯＳを前記システムＲＡＭに格納することを特徴とする方法。
【請求項５７】
請求項５６記載の方法において、大容量記憶周辺コンピュータ装置を用意するステップは、特定の周辺コンピュータ装置を大容量記憶周辺コンピュータ装置の形で用意することを含むことを特徴とする方法。
【請求項５８】
請求項５６項記載の方法において、前記ホストコンピュータと前記特定の周辺コンピュータ装置はＰＣＩバスで接続され、前記ホストコンピュータに特定の周辺コンピュータ装置に関連した拡張ＢＩＯＳをアクセスさせる前記ステップは、ＰＣＩプロトコルに前記ホストコンピュータをして前記拡張ＢＩＯＳをアクセスさせるステップを含むことを特徴とする方法。
【請求項５９】
請求項５８に記載の方法において、
ａ）  前記大容量記憶周辺コンピュータ装置はメモリ・バッファを備え、
ｂ）  前記ホストコンピュータが前記大容量記憶手段にアクセスする前記ステップは、前記ホストコンピュータにＰＣＩプロトコルに従って前記システムのパワー・オン自己テストを行わせるステップを含み、
ｃ）  前記特定の周辺コンピュータ装置に関連した前記拡張ＢＩＯＳは第１の部分と第２の部分を含み、及び
ｄ）  前記ホストコンピュータに前記大容量記憶手段をアクセスさせる前記ステップの前に、前記特定の周辺コンピュータ装置に関連した前記拡張ＢＩＯＳの前記第１の部分を、パワー・オン自己テストのタイムフレーム内の前大容量記憶周辺コンピュータ装置の前記メモリ・バッファ内にロードするステップを含み、その後、前記ホストコンピュータに（ｉ）前記メモリバッファをアクセスさせ、（ii）前記拡張ＢＩＯＳの第１部分を獲得し、その後、当該拡張ＢＩＯＳの第１部分を用いて、（iii)前記大容量記憶周辺コンピュータ装置の大容量記憶手段にアクセスし、（iv）前記特定の周辺コンピュータ装置に関連するとともにかつ前記大容量記憶周辺コンピュータ装置の大容量記憶手段に位置する前記拡張ＢＩＯＳの第２部分を獲得し、および（ｖ）当該拡張ＢＩＯＳの第２の部分を前記システムＲＡＭ内に格納することを特徴とする方法。
【請求項６０】
請求項５９記載の方法において、
ａ）  上記特定の周辺コンピュータ装置は必要なサイズの拡張ＢＩＯＳについての情報を含んだ、上記ホストコンピュータに利用可能なＰＣＩ構成空間を含んでおり、
ｂ）  上記方法は、更に、上記ホストコンピュータが上記ＰＣＩ空間から必要なサイズの拡張バイオスを得るようにするステップを含んでおり、
ｃ）  上記ホストコンピュータが上記拡張ＢＩＯＳの上記第１の部分をアクセスしてこれを得るようにする上記ステップは、上記拡張ＢＩＯＳの上記第１の部分が必要なサイズよりも小さくても必要なサイズの拡張ＢＩＯＳのサイズであるかのように上記ホストコンピュータに見えるようにするステップと含んでいる、ことを特徴とする方法。
【請求項６１】
請求項６０記載の方法において、上記拡張ＢＩＯＳの上記第１の部分が必要なサイズよりも小さくても必要なサイズの拡張ＢＩＯＳのサイズであるかのように上記ホストコンピュータに見えるようにする上記ステップは、過剰な情報と上記拡張ＢＩＯＳの上記第１の部分との組合せが上記必要なサイズと量的に等しくなるようにこの過剰な情報を上記拡張ＢＩＯＳの上記第１の部分と共に上記システムＲＡＭに記憶するステップを含んでいる、ことを特徴とする方法。
【請求項６２】
請求項５６記載の方法において、上記大容量メモリ記憶手段はハードディスクドライブであり、上記拡張ＢＩＯＳの全てを上記大容量メモリ記憶手段内に記憶する上記ステップは上記拡張ＢＩＯＳの全てを上記ハードディスクドライブのメモリ内に記憶するステップを含んでいることを特徴とする方法。
【請求項６３】
請求項６２記載の方法において、上記周辺コンピュータ装置と関連した上記拡張バイオスの全てを、上記ハードディスクドライブのメモリ内に記憶するステップは上記拡張バイオスの全てを、ユーザがアクセス可能ではない上記ハードディスクドライブ大容量メモリ記憶装置の一部内に記憶するステップを含んでいる、ことを特徴とする方法。
【請求項６４】
請求項５６記載の方法において、上記大容量メモリ記憶手段はコンパクトディスクプレーヤであり、上記特定の周辺コンピュータ装置に関連した拡張バイオスの全てを上記大容量メモリ記憶手段内に記憶する上記ステップは上記拡張ＢＩＯＳの全てを、上記コンパクトディスクプレーヤによって読み出され得るコンパクトディスクのメモリ内に記憶するステップを含んでいることを特徴とする方法。
【請求項６５】
システムＲＡＭを有するホストコンピュータとこのホストコンピュータに接続した大容量メモリ記憶装置を有する大容量メモリ記憶周辺コンピュータ装置とを含んだコンピュータシステムで、上記ホストコンピュータがこのコンピュータシステムの起動時にその動作を制御するようにＢＩＯＳを用いるようにしたコンピュータシステムにおいて、
ａ）  上記コンピュータシステムの起動時に上記ホストコンピュータにアクセス可能であり、上記ＢＩＯＳの少なくとも一部を含んだ永久メモリ記憶手段と、
ｂ）  上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置内に記憶されている動作データと、
ｃ）  上記ホストコンピュータが上記永久メモリ記憶手段をアクセスし、この永久メモリ記憶手段内に記憶されている上記ＢＩＯＳの部分を得て、上記コンピュータシステムの起動時に、上記永久メモリ記憶手段内に記憶されているＢＩＯＳの部分を用いて、上記ホストコンピュータが（ｉ）上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置をアクセスし、（ii）上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置内にある動作データを得て、（iii)この動作データを上記システムＲＡＭに記憶することができるようにする動作手段と、を具備したことを特徴とする構成。
【請求項６６】
請求項６５記載の構成において、上記コンピュータシステムはディスプレイを含んでおり、上記動作データは上記コンピュータシステムの起動時に上記ディスプレイ上の画像を制御する図形発生手段を含んでいることを特徴とする構成。
【請求項６７】
請求項６５記載の構成において、上記動作データは上記コンピュータシステムの起動時に必要な上記コンピュータシステムについての構成情報を含んでいることを特徴とする構成。
【請求項６８】
請求項６５記載の構成において、上記動作データは上記コンピュータシステムの起動時に必要なパスワードを含んでいることを特徴とする構成。
【請求項６９】
システムＲＡＭを有するホストコンピュータとこのホストコンピュータに接続した大容量メモリ記憶装置を有する大容量メモリ記憶周辺コンピュータ装置とを含んだコンピュータシステムで、上記ホストコンピュータがこのコンピュータシステムの起動時にその動作を制御するようにＢＩＯＳを用いるようにしたコンピュータシステムにおいて、
ａ）  上記コンピュータシステムの起動時に上記ホストコンピュータにアクセス可能でありかつ上記ＢＩＯＳの少なくとも一部を含んだ永久メモリ記憶手段を与えること、
ｂ）  上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置内に動作データを記憶すること、
ｃ）  上記コンピュータシステムの起動時に、上記ホストコンピュータが上記影響記憶手段をアクセスしかつ上記永久メモリ記憶手段内に記憶されている上記ＢＩＯＳの部分を得るようにすること、
ｄ）  上記永久メモリ記憶手段内に記憶されている上記ＢＩＯＳの部分を用いて、上記ホストコンピュータが（ｉ）上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置をアクセスし、(ii)上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置内にある動作データを得て、(iii）この動作データを上記システムＲＡＭに記憶することができるようにすること、のステップを具備したことを特徴とする方法。
【請求項７０】
請求項６９記載の方法において、上記コンピュータシステムはディスプレイを含んでおり、上記動作データを得る上記ステップは上記コンピュータシステムの起動時に上記ディスプレイ上の画像を制御する図形発生手段を得るステップを含んでいることを特徴とする方法。
【請求項７１】
請求項６９記載の方法において、上記動作データ得る上記ステップは上記コンピュータシステムの起動時に必要な上記コンピュータシステムについての構成情報を得るステップを含んでいることを特徴とする方法。
【請求項７２】
請求項６９記載の方法において、上記動作データを得る上記ステップは上記コンピュータシステムの起動時に必要なパスワードを得るステップを含んでいることを特徴とする方法。
【請求項７３】
コンピュータ手段の動作と大容量メモリ記憶装置を有する少なくとも大容量メモリ記憶周辺コンピュータ装置の動作とを制御するためのＢＩＯＳを用いるコンピュータ手段を含んだコンピュータシステムに用いる構成において、上記コンピュータシステムは上記大容量メモリ記録周辺装置と上記大容量メモリ記憶装置上以外の上記コンピュータシステムのどこかにシステムＲＡＭとを同様含んでおり、上記構成が、
ａ）  上記コンピュータシステムの起動時に上記コンピュータ手段にアクセス可能であり、上記ＢＩＯＳの第１の部分を含んだ永久メモリ記憶手段と、
ｂ）  上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置内に記憶されている上記ＢＩＯＳの第２の部分と、
ｃ）  上記コンピュータ手段が上記永久メモリ記憶手段をアクセスし、上記ＢＩＯＳの上記第１の部分を得て、その後に、上記ＢＩＯＳの上記第１の部分を用いて、上記コンピュータが上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置をアクセスし、上記大容量メモリ記憶周辺コンピュータ装置の上記大容量メモリ記憶装置内にある上記ＢＩＯＳの上記第２の部分を得て、上記ＢＩＯＳの上記第２の部分を上記システムＲＡＭ内に記憶することができるようにする動作手段と、を具備したことを特徴とする構成。
【発明の詳細な説明】
【技術分野】
【０００１】
（発明の背景）
本発明は、ランダムアクセスメモリ（ＲＡＭ）をもつコンピュータを含み、ホストコンピューを操作させるのに基本入出力（ＢＩＯＳ）を使用するコンピュータシステムのための配置およびそのシステムを操作する方法に一般的に関するものである。より特徴的には、本発明の配置と方法は、リードオンリーメモリ（ＲＯＭ）ではなくて大容量メモリストレージの周辺装置の大容量メモリストレージの中のシステムを操作させるのに使用されるＢＩＯＳの部分に少なくも関するものである。大容量記憶媒体に記憶されたＢＩＯＳは、特定の周辺コンピュータ装置に関連する拡張ＢＩＯＳおよび／もしくはホストコンピュータに関連するシステムＢＩＯＳである。ＲＯＭはホストコンピュータに備えられるシステムＲＯＭもしくは周辺装置に備えられる周辺ＲＯＭのいずれかである（カードもしくは装置自体のいずれか）。
【０００２】
コンピュータ技術は、より速い処理、より大きいメモリ容量、そしてホストコンピュータと相互接続される周辺装置の多様性を提供するようにたえず変革している。速度と容量に依存して、技術開発の一つは、周辺部品インタフェース（ＰＣＩ）として知られる周辺バスインプリメンテーションである。この周辺バスはホストコンピュータと周辺コンピュータ装置もしくは拡張ボードの間の拡張機構を提供するために開発された。
【０００３】
ＰＣＩ周辺バスは、プロセッサおよびコンピュータシステムアーキテクチャの双方にＰＣＩ電気部品、プロトコルと独立であり、およびハードウェアインタフェースの要求が使用されるＣＰＵもしくはホストシステムコンピュータアーキテクチャにかかわりなく同じであるように設計される。これは、同じ周辺コンピュータ装置が、装置が使用されることを目的とする各ホストシステムの各タイプに対して異なるバージョンを必要とすることなく様々な異なるホストシステムに接続されることを可能にする。ＰＣＩバスがプロセッサとコンピュータアーキテクチャに独立であるために、各ホストシステムは、ホストＩ／Ｏおよびメモリ空間をＰＣＩバス上で使用されるアドレッシング機構にマップするための機構を備えることを必要とされる。これは、また、周辺コンピュータ装置の拡張ＲＯＭメモリ空間についてあてはまり、それは、情報を初期化することおよびその周辺コンピュータ装置に対するコードとデータのような情報を操作することを含む。それ故に、再割り付けできる拡張ＲＯＭ割り付けアドレスがＰＣＩ装置上で可能になる。これは、工業標準アーキーテクチャ（ＩＳＡ）バスのような初期のバスアキーテクチャに対するものではない。
【０００４】
図１に示されるように、そこでは、参照番号１０により指示される通常のＰＣＩベースコンピュータシステムの例を示すが、システム１０は、ホストコンピュータ１２を操作するためのシステムＢＩＯＳ１８をもち、さらにホストコンピュータ１２に関連するシステムＲＡＭメモリ１４をもつホストコンピュータ１２を含む。システムＢＩＯＳ１３はホストコンピュータ１２の中のシステムＲＯＭ１５に記憶される。ＰＣＩ周辺バス１６は、ホストコンピュータ１２およびホストブリッジ１７を使用するＲＡＭ１４に接続される。システムは、また、周辺コンピュータ装置１８を含み、例えばハードディスクドラブであり、それはホストコンピュータがＰＣＩバスを使用する周辺コンピュータ装置と通信するようなＰＣＩバスに接続される。装置１８は、周辺コンピュータ装置１８を初期化および／もしくは操作するためにホストシステムに必要とされる拡張ＢＩＯＳ２２を含むＲＯＭ２０をもつ。ＰＣＩバスシステムにおいて、ホストシステムＢＩＯＳおよび／もしくはオペレーティングシステムは個々のＰＣＩ装置を認識し、リソースを割り当て、そしてそれらの装置をイネーブルにする配置マネージャを備えなければならない。周辺装置の拡張ＢＩＯＳをホストコンピュータＲＡＭにコピーし、そして拡張ＢＩＯＳの中に備えられる任意の初期化ルーチンが固有の周辺装置の初期化をするように実行することは配置マネージャの役割りである。
【０００５】
ＲＯＭ２０に含まれる拡張ＢＩＯＳ２２を図式的に示す図２Ａを参照すると、ＰＣＩの明細は、マルチコードイメージが、例えば２４ａ−２４ｂである多重コードイメージが、特定のコンピュータアーキテクチャに対する固有の情報を提供するそれぞれのコードイメージをもつ拡張ＢＩＯＳ２２の中に記憶されることを可能にする。この例において、コードイメージ２４ａは、インテル（登録商標）ベースシステムに依存し、コードイメージ２４ｂはパワーＰＣ（登録商標）ベースシステムに対応する等である。これらの多重コードイメージ２４ａ−２４ｄは、拡張ＢＩＯＳに含まれる情報を増大し、それ故に拡張ＢＩＯＳ２２を蓄積する必要のあるＲＯＭ容量を増大する。図２Ｂに示されるように、そしてコードイメージ２４ａおよび他のイメージの各々は、ヘッダ領域２６を含む。拡張ＢＩＯＳ２２が対応する装置の要求に依存して、各イメージは、データ構造２８、ルーチンコード３０、初期化コード３２およびチェックサム３４を含む。図２Ｃを参照すると、ＰＣＩ明細は、またＰＣＩ装置が２５６バイトのサイズであって図示されたＰＣＩフォーマットに従う配置空間メモリ３５を含む。配置空間３５により提供される情報は装置配置を含む装置ＩＤレジスタ３６および要求されるメモリ空間容量を含む配置レジスタ３８を含む。配置レジスタ３８は周辺コンピュータ装置１８に加算する拡張ＢＩＯＳ２をマップするのためのホストコンピュータメモリに必要とされるメモリ空間容量を具体的に特徴付ける。
【０００６】
以後により詳細に説明されるように、拡張ＢＩＯＳ２２は、一度ホストシテム等に１４にコピーされると、固有のコードイメージからの、例えば、コードイメージ２４ａからの初期化コード３２が実行される。これは、装置１８を初期化し、そして固有のコードイメージからの、この場合イメージ２４ｂ，ｃもしくはｄで対比的に示されるイメージ２４ａにおいて、ルーチンコード３０を使用するオペレーティング装置１８のためのシステムに固有のフックを与える。一度、初期化コードが実行されると、制御はホストシステムに戻され、そしてオペレーティング装置１８に必要なコードのみが、システムのオペレーションを通して残るホストシステムＲＡＭ１４に残される。装置１８の初期化のみに必要なコードは、固有のコードイメージ２４ａの過剰情報はもはや必要でない。それゆえに、過剰情報を記憶するのに使用されるメモリは、ホストコンピュータ１２により再び使用され、それにより拡張ＢＩＯＳ２２の必要な部分を記憶するためのＲＡＭ１４の使用を削減する。
【０００７】
ここで図３を参照して、ＰＣＩ周辺装置から拡張ＢＩＯＳを獲得し、そしてシステムＲＡＭにそれを記憶するための通常のシークエンスが上記のシステム１０の例を使用して詳細に説明される。コンピュータシステム１０が始動された後で、図３のブロック４０で指示されて、ブロック４２に示されるように、ホストコンピュータ１２のプロセッサが通常パワーオンセルフテスト（ＰＯＳＴ）と称される実行システムコードをスタートする。ＰＯＳＴコードは、関係しないシステム配置（ブロック４４）を実行し、そしてそれから、判定ブロック４６で示されるように周辺装置１８のような周辺装置の存在に対するチェックをすることにより周辺装置をのせるＰＣＩバスの配置をスタートする。一度、ＰＯＳＴコードがスタートすると、それぞれ図３のブロック４８，５０および５２で指示されるように、ＰＯＳＴコードは装置１８の配置をスタートし、装置１８により要求されるようなホストＩ／ＯおよびＲＡＭメモリ空間１２を割り付け、そして装置１８により要求されるホストコンピュータ１２のＩＲＱを割り付ける。この時点で、ＰＯＳＴコードは、ブロック５４により指示されるように、装置１８が割り付けられて配置される必要のある拡張ＢＩＯＳを持つかどうか決定する。もし、拡張ＢＩＯＳが存在しなければ、ブロック５６で示されるように、ＰＯＳＴコードは次の周辺装置に進む。もし、あらゆる装置が配列されれば、ＰＯＳＴコードはブロック５８で示されるようにオペレーティングシステムをブートすることに進む。しかし、もし、装置１８に対する場合のように、装置からロードされるべき拡張ＢＩＯＳがあれば、拡張ＢＩＯＳはブロック６０で示されるように、装置１８の場合のようにロードされて配置される。一度、装置１８に対する拡張ＢＩＯＳのロードが達成されると、シークエンスはブロック５６に進み、そしてプロセスは任意の他の装置に対して継続される。
【０００８】
ここで図４を参照して、図３のブロック５４と６０で示されるような周辺装置の拡張ＢＩＯＳをロードして配置する通常の処理がより詳細に説明される。周辺装置１８が拡張ＢＩＯＳをもつかどうかをＰＯＳＴが決定する決定ブロック５４でスタートして、ＰＯＳＴコードは、拡張ＢＩＯＳが装置に存在するかどうか、およびその場合、どれだけのメモリ空間が要求されるかを決定するために周辺装置１８の空間メモリ３５を配置する配置レジスタ３８に書き込みおよびそれを読む。一度、拡張ＢＩＯＳが存在することが決定されると、図３のブロック６０により一般的に指示される装置１８に関連する拡張ＢＩＯＳをロードして配置するプロセスがここで詳細に説明されるように処理される。
【０００９】
図４のブロック６２で示されるように、ＰＯＳＴコードは、ＰＣＩ周辺装置１８のＲＯＭ２０に記憶される拡張ＢＩＯＳ２２をマップする容認アドレスを決定し、そして配置空間メモリ３５の配置レジスタ３８にアドレスを書き込む。ブロック６４において、ＰＯＳＴコードは、それから装置をデコードする拡張ＢＩＯＳＲＯＭをイネーブルにする。次に、周辺装置１８は、ブロック６６に示されるように、装置１８の配置空間メモリ３５の配置レジスタ３８にＰＯＳＴが書き込んだアドレスでスタートするＲＯＭメモリをマップする。装置は、ＲＯＭメモリがマップされるメモリアドレス領域をデコードするための内部アドレスデコーダをセットアップする。ブロック６８で示されるように、ＰＯＳＴコードは、拡張ＢＩＯＳが、この場合拡張ＢＩＯＳ２２のコードイメージ２４ａの固有の拡張ＢＩＯＳをサーチしてマップされるメモリロケーションを読むことにより拡張ＢＩＯＳを通じて読む。もし、固有のコードイメージが見つからなければ、ブロック８０で示されるように、シークエンスは付加的な装置が配列されているかどうか調べるためにブロック５６に戻る。しかし、もし固有のコード２４ａが見つかれば、シークエンスはブロック７２に戻り、ＰＯＳＴコードはホストシステムＲＡＭ１４の中のメモリ割り付けを決定し、装置ＲＯＭ２０から拡張ＢＩＯＳにコピーする。ＰＯＳＴコードはそれから、ブロック７４において、適切なコードイメージ２４ａを装置ＲＯＭ２０からシステムＲＡＭ１４にコピーする。ブロック７６と７８に指示されるように、ＰＯＳＴコードはいまシステムＲＡＭ１４にある拡張ＢＩＯＳの初期化コード３２を呼び、そして周辺装置１８をさらに配置するように初期化コード３２を実行し、そして割り込みハンドラー、装置特有のデータ等を含むシステムレベルのソフトウェアサポートをインストールする。一度、初期化コード３２が終了すると、ｉｆブロック８０に示されるように、初期化コード３２はシステムのコントロールをＰＯＳＴに戻す。ブロック８２において、ＰＯＳＴコードは、初期化コード３２が読み出し専用として実行された後、システムＲＡＭに残る拡張ＢＩＯＳを蓄積するのに使用されるシステムＲＡＭ１４の部分をマーキングするように任意の最終的初期化を実行する。そして、最終的に、この時点で、シークエンは決定ブロック５６に戻り、さらに配置されるべき装置が存在するかどうかを調べる。
【００１０】
上記のように、拡張ＢＩＯＳ２２は、周辺コンピュータ装置もしくは拡張カードに割り付けられたＲＯＭ２０に通常記憶される。しかし、このアプローチは、ＰＣＩバスを使用するシステムにおいて、システムがスタートした後にシステムにロードするための拡張ＢＩＯＳを記憶するためにのみ使用されるＲＯＭ２０のコストが付け加わることにより装置コストが加算されるという欠点がある。さらに、特に、ＰＣＩバスを使用するシステムにおいて、ホストコンピュータが、ホストシステムのＲＡＭに拡張ＢＩＯＳをコピーする必要がある。効率化のために、拡張ＢＩＯＳがシステムのオペレーションに必要とされる時、装置のＲＯＭに戻って参照しないでその自身のメモリに記憶される複写された拡張ＢＩＯＳに記憶されるコピーされたＢＩＯＳをシステムは使用する。それ故に、固有のイメージ２４ａの必要な部分が一度ホストＲＡＭに記憶されると、ＲＯＭ２０は、システムがターンオフされ、そしていずれかの時点で、拡張ＢＩＯＳの固有のイメージが再びホストシステムにロードされるまでアクセスされることはない。また、上記のように、多重イメージは、同じ装置が異なるコンピュータアーキテクチャーをもつ様々なホストシステムに接続されることを可能にするために必要とされるので、拡張ＢＩＯＳ２２の全体的サイズとそれ故に拡張ＢＩＯＳを記憶するのに必要とされるＲＯＭ２０はむしろ大きくできる。これは、拡張ＢＩＯＳＲＯＭ２０を装置１８の費用についての特徴的部分である。
【００１１】
拡張ＢＩＯＳＲＯＭのコストは、使用される特定のタイプのＲＯＭに依存して変わる。装置の大きいボリュームが生成されるような場合に、ＲＯＭは、ＲＯＭの製造時において、ＲＯＭにプログラムされた拡張ＢＩＯＳを製造できる。このアプローチは、高価でないという利点をもつが、しかし、一度このタイプのＲＯＭがプログラムされると、それは変更できない。もし、装置が拡張ＢＩＯＳにおいて変更を必要とするなんらかの方法で修正されるなら、あるいはもし拡張ＢＩＯＳにおいてバグが見出されたら、古い拡張ＢＩＯＳで製造されたあらゆるＲＯＭが廃棄されなければならない。このアプローチは、拡張ＢＩＯＳを更新することにより装置のオペレーションを向上する更新の柔軟性を損なう。
【００１２】
他のアプローチにおいては、ＲＯＭが製造された後で、拡張ＢＩＯＳがＲＯＭにプログラムされる。これは、拡張ＢＩＯＳが上記のアプローチの場合に製造されたＲＯＭを廃棄しなければならないということなく更新可能にする。プログラマブルＲＯＭはより柔軟性を備えるが、それは、製造工程においてプログラムされるＲＯＭより高価であり、さらに拡張ＢＩＯＳＲＯＭの与えるコストを増大する。コンピュータ周辺装置マーケットの極度に競争的な性質のために、例えば、ハードディスク装置の分野では、拡張ＢＩＯＳのためのＲＯＭの費用を切り詰めるもしくは削除する能力は競争における重要な利点である。
【００１３】
本発明はホストコンピュータを作動するのに使用され、ホストコンピュータに関連するシステムＲＡＭを有するシステムＢＩＯＳを有するホストコンピュータを作動させるための新規な装置および方法を開示するものである。
【００１４】
この装置および方法によれば、ホストコンピュータに接続された大容量メモリ記憶周辺デバイスの大容量メモリ記憶装置内にＢＩＯＳの少なくとも一部を記憶できるようになる。大容量メモリ記憶装置内に記憶されたこのＢＩＯＳは特定の周辺コンピュータデバイスに関連した拡張ＢＩＯＳおよび／または大容量メモリ記憶周辺コンピュータデバイス自体に関連した拡張デバイスとすることができる。大容量メモリ記憶装置内に記憶されたＢＩＯＳはホストコンピュータに関連するシステムＢＩＯＳでもよい。このような方法によれば、特定の周辺コンピュータデバイス用の拡張ＢＩＯＳＲＯＭおよび／または大容量メモリ記憶周辺コンピュータデバイス用の拡張ＢＩＯＳＲＯＭの必要性およびそのコストを大幅に低減するか、または完全になくすことができる。この方法はホストコンピュータに関連するシステムＢＩＯＳの必要性およびそのコストを低減するか、これを完全になくすのに使用することも可能である。大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置には拡張ＢＩＯＳの一部またはすべておよび／またはシステムＢＩＯＳの一部が記憶されているので、この方法はプログラマブルＲＯＭを使用することなくＢＩＯＳ内のシステムの更新および改良またはバグの訂正をする際のフレキシビリティを実質的に改善するものでもある。このような新規な方法を使用することにより、ＢＩＯＳ  ＲＯＭを廃棄することなく大容量メモリ記憶デバイスの大容量メモリ記憶層内に改良されたＢＩＯＳをロードし直すだけで、システムに接続された周辺デバイスに関連するシステムＢＩＯＳの大多数および拡張ＢＩＯＳの大多数またはすべてを更新できる。
【００１５】
発明の概要
後に、より詳細に説明するように、本明細書にはコンピュータシステムを作動させるための装置および方法が開示されている。このコンピュータシステムはシステムＲＡＭを有するホストコンピュータと、このホストコンピュータに接続された大容量メモリ記憶周辺コンピュータデバイス、例えばハードディスクドライブとを含む。このホストコンピュータはコンピュータシステムの作動を制御するのにＢＩＯＳを使用する。この装置および方法によりＢＩＯＳ  ＲＡＭ内にＢＩＯＳのすべてを記憶することなく、大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置内にＢＩＯＳの少なくとも一部を記憶することが可能となる。
【００１６】
一実施例ではコンピュータシステムを作動するための方法および装置は再配置可能な拡張ＢＩＯＳロケーションアドレスが認められる周辺バス、例えばＰＣＩバスを使用するホストコンピュータに接続された特定の周辺コンピュータデバイスを作動させるための方法および装置となっている。この実施例では、ＢＩＯＳは特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳである。周辺コンピュータデバイスを作動させるにはホストコンピュータは特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳを得て、この拡張ＢＩＯＳをシステムＲＡＭにロードしなければならない。この実施例は特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳの第１部分（すべてではない）を得るためのＲＯＭ記憶メモリ（周辺ＲＯＭ）を含む。
【００１７】
特定の周辺コンピュータデバイスに関連した拡張ＢＩＯＳの第２部分はホストコンピュータに接続された大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置に記憶される。特定の周辺コンピュータデバイスは大容量メモリ記憶周辺コンピュータデバイスであってもよいし、そうでなくてもよい。この装置はホストコンピュータに周辺ＲＯＭをアクセスさせ、特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳの第１部分を得るようにさせる作動機構を更に含む。その後、ホストコンピュータは拡張ＢＩＯＳの第１部分を使用することにより、（ｉ）特定の大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置にアクセスし、（ii）特定の周辺コンピュータデバイスに関連し、大容量メモリ記憶周辺コンピュータデバイスの大容量メモ記憶装置内にある拡張ＢＩＯＳの第２部分を入手し、（iii)システムＲＡＭ内にこの拡張ＢＩＯＳの第２部分を記憶するようにされる。
【００１８】
この実施例では、ホストコンピュータはシステムＢＩＯＳ（システムＲＯＭ）を含むシステムＲＯＭメモリ記憶装置を含むことができる。拡張ＢＩＯＳの第１部分を含む周辺ＲＯＭ記憶メモリはシステムＲＯＭ記憶メモリと別個で離間していてもよいし、またはこれとは異なり拡張ＢＩＯＳの第１部分を含む周辺ＲＯＭ記憶メモリはシステムＲＯＭ記憶メモリの一部でもよい。拡張ＢＩＯＳの第１部分を含むＲＯＭ記憶メモリがシステムＲＯＭ記憶メモリと別個であり、離間しているようなケースでは、特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳの第１部分を含むこの周辺ＲＯＭ記憶メモリを特定の周辺コンピュータデバイス内に設けてもよい。
【００１９】
本方法および装置が特定の周辺コンピュータデバイスを作動させる方法および装置となっている別の実施例では、大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置内に特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳ全体が記憶される。このような実施例では、方法および装置はシステムの作動を開始させるための作動機構を更に含む。システムの作動が一旦開始されると、作動機構はホストコンピュータに（ｉ）大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置にアクセスさせ、（ii）特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳを入手させ、更に（iii)特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳをシステムＲＡＭに記憶させる。大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置内に拡張ＢＩＯＳ全体を記憶する本発明の特定の変形例では、大容量メモリ記憶周辺コンピュータデバイスは大容量メモリ記憶周辺コンピュータデバイスにメモリバッファを含む。この変形例では特定の周辺コンピュータデバイスに関連する拡張ＢＩＯＳは、拡張ＢＩＯＳの第１部分と拡張ＢＩＯＳの第２部分を含む。更に作動機構はシステムの作動開始時にホストコンピュータがパワーオン時自動テストを実行させる。大容量メモリ記憶周辺コンピュータデバイスはパワーオン時自動テストの時間内に大容量メモリ記憶周辺コンピュータデバイスのメモリバッファ内に特定の周辺コンピュータデバイスに関連した拡張ＢＩＯＳの第１部分をロードする機構を含む。これにより作動機構はメモリバッファにアクセスし、拡張ＢＩＯＳの第１部分を入手することが可能となる。その後、拡張ＢＩＯＳの第１部分を使用することにより、ホストコンピュータは（ｉ）大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置にアクセスし、（ii）特定の周辺コンピュータデバイスに関連し、大容量メモリ記憶周辺コンピュータデバイスの大容量メモリストレージ内にある拡張ＢＩＯＳの第２部分を入手し、（iii)システムＲＡＭ内の拡張ＢＩＯＳの第２部分を記憶するようにされる。
【００２０】
上記実施例の各々では拡張ＢＩＯＳに関連する特定の周辺コンピュータデバイスは、実際には拡張ＢＩＯＳの少なくとも一部が記憶される大容量メモリ記憶装置を提供する大容量メモリ記憶周辺コンピュータデバイスでよい。これとは異なり、特定の周辺コンピュータデバイスは他の任意の周辺コンピュータデバイス、例えばビデオカード、ネットワークカードまたは他の任意の周辺デバイスまたは拡張カードでもよい。
【００２１】
別の実施例では、ＢＩＯＳはホストコンピュータに関連するシステムＢＩＯＳとなっている。この実施例では、システムＢＩＯＳの第１部分はホストコンピュータ内に設けられたＢＩＯＳ  ＲＯＭに収容されるシステムＢＩＯＳの第２部分は大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置内に記憶される。システムＢＩＯＳのこの第２部分は、これまで説明した大容量メモリ記憶装置内に記憶された拡張ＢＩＯＳと同じように検索され、システムＲＡＭ内に記憶される。
【００２２】
本発明の別の特徴によれば、コンピュータシステムで使用するためのＲＯＭ以外のコンピュータメモリ記憶媒体が開示される。このコンピュータシステムはホストコンピュータに関連したシステムＲＡＭを有するホストコンピュータと、このホストコンピュータに接続された大容量メモリ記憶周辺コンピュータデバイスを含む。ホストコンピュータはシステムの作動を制御するためにＢＩＯＳを使用する。ホストコンピュータがホストコンピュータのシステムＲＡＭに大容量メモリ記憶装置内に記憶されていたＢＩＯＳをロードした後に、ホストコンピュータによって使用できるよう大容量メモリ記憶周辺コンピュータデバイスの大容量メモリ記憶装置内にＢＩＯＳの少なくとも一部が記憶される。本発明のコンピュータメモリ記憶媒体はホストコンピュータの作動を制御するためのＢＩＯＳを含むメモリ記憶媒体の一部を有する。コンピュータメモリ記憶媒体の一実施例では、この媒体は大容量メモリ記憶周辺コンピュータの大容量メモリ記憶装置、例えばホストコンピュータに接続されたハードディスクドライブである。
【００２３】
コンピュータメモリ記憶媒体の別の実施例では、媒体はフロッピー（登録商標）ディスクまたは他の媒体であり、媒体に記憶されたＢＩＯＳは大容量メモリ記憶周辺コンピュータデバイスに転送可能である。この実施例では、媒体に記憶されたＢＩＯＳはコンピュータシステムの少なくとも一部に関連した更新改正されたＢＩＯＳ、例えばシステムに接続された特定の周辺コンピュータデバイスに関連した拡張ＢＩＯＳまたはホストコンピュータに関連したシステムＢＩＯＳでよい。これとは異なり、媒体上に記憶されたＢＩＯＳはコンピュータシステムに接続された特定の周辺コンピュータデバイスに関連した拡張ＢＩＯＳでよい。
【００２４】
詳細な説明
図５を参照して、ホストコンピュータが特定の周辺コンピュータ装置を作動させることができ、その動作においてホストコンピュータは特定の周辺コンピュータ装置に関連する拡張ＢＩＯＳを得てシステムＲＡＭへロードしなければならない構成について説明する。図５に示すように、本発明に従って設計されたコンピュータシステム１００はホストコンピュータ１０２を作動させるのに使用されるシステムＢＩＯＳ１０４およびホストコンピュータ１０２に関連するＲＡＭ１０６を有するホストコンピュータ１０２を含んでいる。システムＢＩＯＳ１０４はホストコンピュータ１０２内のシステムＲＯＭ１０８内に格納されている。周辺バス１１０がホストブリッジ１１２を使用してホストコンピュータ１０２およびＲＡＭ１０６に接続されている。周辺コンピュータ装置１１４が周辺バス１１０を使用してホストコンピュータ１０２に接続されている。ホストコンピュータ１０２、システムＢＩＯＳ１０４、ＲＡＭ１０６、ＲＯＭ１８およびホストブリッジ１１０はブリッジ１１２を使用してホストコンピュータ１０２およびＲＡＭ１０６を周辺バス１１０に接続することができる任意適切な容易に提供できる部品により構成されている。制約はしないが、これらの部品には従来の任意の４８６， Pentium（登録商標）、パワーＰＣ（登録商標）やＲＩＳＣベース部品が含まれる。ホストコンピュータ１０２、ＲＡＭ１０６、およびホストブリッジ１１２は互いに特定の構成を有して図示されているが、これは本発明の必要条件ではないことがお判りであろう。部品はさまざまな特定構成と接続することができ、前記したように、周辺コンピュータ装置１１４が周辺バス１１０を使用してこれらの部品に接続される限り本発明の範囲に入る。
【００２５】
周辺バス１１０は再配置可能で拡張可能なＢＩＯＳ位置アドレスが許される任意適切な容易に提供できる周辺バスとすることができる。このような周辺バスの１つの実施例はＰＣＩバスである。しかしながら、他のパラレルバス、シリアルバス、もしくは多重化バス等の広範な周辺バスも本発明の範囲に入ることをお判り願いたい。発明の背景で前記したように、ＰＣＩバスを利用する場合には、特定の周辺コンピュータ装置に関連する任意の拡張ＢＩＯＳをどのようにホストシステムのＲＡＭ１０６へロードするかがＰＣＩ仕様により指示される。他の周辺バス構成は対応する仕様を有し、したがって、周辺コンピュータ装置１１４をホストブリッジ１１２に接続するのにＰＣＩバスが使用されているものとして本発明を説明する。当業者であれば、本開示を読めば本発明の他の周辺バスへの応用は容易にお判りと思われる。本明細書全体を通して周辺バスはＰＣＩバスであるものとして説明を行うが、これは必要条件ではない。固定されたハードワイヤ拡張ＢＩＯＳ位置アドレスではなく拡張ＢＩＯＳ位置アドレスをシステムメモリ内へマッピングする必要のある任意の周辺バスにも同等に適用される。
【００２６】
本発明の第１の実施例では、周辺コンピュータ装置１１４はハードディスクドライブやコンパクトディスクプレーヤ等の大容量記憶装置１１６を有する大容量記憶装置周辺コンピュータ装置である。装置１１４は適切に初期化および作動させるためにホストコンピュータへロードされる装置に関連する拡張ＢＩＯＳを必要とする。ハードディスクドライブおよびコンパクトディスクプレーヤについて特に説明するが、周辺コンピュータ装置１１４は任意他の大容量記憶装置の形をとることができしかも本発明の範囲に入る。マス記憶装置周辺コンピュータ装置１１４は少量のＲＯＭ１１８を含んでいる。本発明に従って、ＲＯＭ１１８は装置１１４に関連する拡張ＢＩＯＳの第１の部分１２０しか含んでいない。
【００２７】
図６Ａを参照して、ＰＣＩバスを使用する場合、拡張ＢＩＯＳの第１の部分１２０は構成ヘッダー１２２、少量の初期化符号１２４、およびチェックサム１２６を含んでいる。構成ヘッダー内の特定情報は使用するバスに応じて変動することがあるが、情報は使用するバスのプロトコルに従って格納される。この実施例の好ましいバージョンでは、第１の部分１２０は全体拡張ＢＩＯＳの非常に小さい部分であり、例えば、１Ｋバイト以下のサイズである。装置１１４に関連する拡張ＢＩＯＳの第２の部分１２８は大容量記憶装置１１６に格納される。図６Ｂに示すように、拡張ＢＩＯＳの第２の部分１２８は拡張ＢＩＯＳの一部とすることができる任意のデータ構造１３０、システムの動作中に装置１１４を作動させるのに必要な任意のランタイム符号１３２、装置１１４を初期化するのに必要な任意の初期化符号１３４、およびチェックサム１３６を含んでいる。図６Ｃに示すように、装置１１４はシステム１０の従来技術の装置１８について前記したのと同様に拡張ＢＩＯＳをマッピングするのに要求されるシステムメモリのサイズや量を含む情報を含んだ構成レジスタ１４０を有する構成スペースメモリ１３８も含んでいる。しかしながら、本発明では、要求されるサイズによりホストコンピュータ内で周辺コンピュータ装置１１４に関連する拡張ＢＩＯＳの第１の部分１２０および拡張ＢＩＯＳの第２の部分１２８の両方をマッピングするのに必要なメモリスペース量が指定される。
【００２８】
図６Ａおよび図６Ｂには拡張ＢＩＯＳの第１の部分１２０および第２の部分１２８を構成する１つの符号イメージしか図示されていないが、拡張ＢＩＯＳの第１の部分１２０および第２の部分１２８は、各々が装置を取り付けるコンピュータアーキテクチュアのさまざまなタイプに対応する多数のイメージを含むことができる。このマルチイメージ方法により、さまざまな符号イメージに対応するさまざまなコンピュータアーキテクチュアを使用して同じ装置をさまざまなシステムに取り付けることができる。多数の符号イメージが提供されている場合には、構成スペース１３８の構成レジスタ１４０に格納された要求されるサイズ情報には符号イメージの第１および第２の部分の全てに対して十分なスペースが含まれる。
【００２９】
第１の実施例の要素について説明してきたので、この実施例の動作について詳細に説明する。全体システム１００が最初にオンとされると、システムは最初に図３のフロー図に関して詳細に説明した典型的なシステム１０と同様に作動する。しかしながら、ＰＯＳＴ符号が周辺装置についてシステム１００を調べ、この場合装置１１４である、拡張ＲＯＭを含む周辺装置があることを確認すると、システム１００の動作は図４に関して説明した典型的なシステムと違い始める。したがって、典型的なＰＣＩベースシステム１０について前記した図４のフロー図と置換される図７のフロー図を参照してこの点以降のシステム１００の動作についてさらに説明する。
【００３０】
周辺装置１１４が拡張ＢＩＯＳを有するかどうかをＰＯＳＴ符号が確認する図７の判断ブロック５４で開始して、ＰＯＳＴ符号は周辺装置１１４の構成スペースメモリ１３８の構成レジスタ１４０に対して書き込みおよび読み取りを行って装置上に拡張ＢＩＯＳが存在するかどうかを確認し存在すればどれだけのメモリスペースが必要であるかを確認する。図７のブロック１４６に示すように、拡張ＢＩＯＳがあることが確認されると、ＰＯＳＴ符号は拡張ＢＩＯＳをマッピングするのにアクセス可能なアドレスを決定しそのアドレスを周辺装置１１４の構成スペースメモリ１３８の構成レジスタ１４０へ書き込む。次に、ブロック１４８においてＰＯＳＴ符号はシステム１０について前記したのと同様に装置において拡張ＢＩＯＳＲＯＭデコーディングをイネーブルする。
【００３１】
次に、本発明に従って、ブロック１５０に示すように周辺装置１１４はＲＯＭ１１８に格納された拡張ＢＩＯＳの第１の部分１２０を、装置１１４の構成スペースメモリ１３８内の構成レジスタ１４０へＰＯＳＴ符号が書き込んだアドレスで開始される、システムメモリアドレスへマッピングする。装置１１４はその内部アドレスデコーダを設定して、実際には装置１１４のＲＯＭ１１８内には小部分しかないが、ＲＯＭ１１８がマッピングされるレジスタ１４０により要求される全メモリアドレス範囲をデコードする。装置１１４のＲＯＭ１１８内に格納された拡張ＢＩＯＳの第１の部分１２０は、前記したように、全体拡張ＢＩＯＳに対してレジスタ１４０が要求するスペース量よりも実質的に小さいため、偽造データがこの過剰システムメモリスペースへマッピングされる。これはさまざまな方法で行われる。例えば、ＲＯＭ１１８上の１つのデータ位置を過剰システムメモリスペースの全部へマッピングすることができ、したがって、過剰システムメモリスペース全体を埋めるのに１つのデータ位置だけで済む。また、急いでデータパターンを発生することができる小さなデータ発生符号を提供することができる。この場合、アクセスされる時にデータ発生符号がアクセスされたデータ量を発生するように、過剰メモリスペースへデータ発生符号がマッピングされる。
【００３２】
この過剰ＲＡＭスペースがどのように埋められるかについて特定の２つの例しか説明しないが、他のさまざまな方法を使用することができ、それらは全て本発明の範囲に入る。好ましいバージョンでは、拡張ＢＩＯＳの第１の部分１２０を含むＲＯＭ１１８内の１つのデータ位置に全ての過剰ＲＡＭスペースがマッピングされる。このデータ位置はその位置のデータとしてゼロを与える。そうすることにより、全ての過剰ＲＡＭスペースがゼロで埋められる。全ての過剰ＲＡＭスペースがゼロで埋められるため、この過剰スペースはチェックサムカウンタを遂行せずチェックサム１２６は拡張ＢＩＯＳの第１の部分１２０の終わりに配置することができる。
【００３３】
ブロック１５２に示すように、ＰＯＳＴ符号は拡張ＢＩＯＳがマッピングされたメモリ位置を読み取ることにより拡張ＢＩＯＳを読み通し、この場合には拡張ＢＩＯＳの第１の部分１２０に含まれる唯一の符号イメージである、適切な拡張ＢＩＯＳ符号イメージを探索する。適切な符号イメージが見つからない場合、判断ブロック１５４に示すように、シーケンスはブロック５６へ戻り構成される付加装置があるかどうかを調べる。適切な符号イメージが見つかれば、シーケンスはブロック１５６へ移りそこでＰＯＳＴ符号はホストシステムＲＡＭ１０６内のメモリ位置を確認し装置ＲＯＭ１１８に対して拡張ＢＩＯＳ符号をコピーする。次に、ブロック１５８においてＰＯＳＴ符号は装置ＲＯＭ１１８からシステムＲＡＭ１０６へ符号イメージをコピーする。前記したように、このコピーには拡張ＢＩＯＳの第１の部分１２０および偽造データが含まれる。ブロック１６０に示すように、ＰＯＳＴ符号は現在システムＲＡＭ１０６内にある拡張ＢＩＯＳの第１の部分１２０の初期化符号１２４を呼び出して実行する。
【００３４】
本発明に従ってブロック１６２に示すように、初期化符号１２４はマス記憶装置周辺コンピュータ装置１１４を活性化させ拡張ＢＩＯＳの第２の部分１２８をシステムＲＡＭ１０６へロードするのに丁度十分な符号を含んでいる。ブロック１６４に示すように、初期化符号１２４は現在ホストＲＯＭ内にある第２の部分１２８の初期化符号１３４を実行する。実施例では、初期化符号１２４は大容量記憶装置１１４を活性化させ、第２の部分１２８をロードし、初期化符号１３４を実行するのに十分なだけの符号しか含んでいないが、それは本発明の必要条件ではない。拡張ＢＩＯＳの少なくとも一部が大容量記憶装置１１４に格納されている限り、初期化符号１２４はより多くの符号を含むことができる。しかしながら、好ましい実施例ではＲＯＭ１１８内に格納される符号の量を最小限に抑えてＲＯＭのコストができるだけ低減される。ブロック１６６において、初期化符号１３４はさらに周辺装置１１４を構成して割り込みハンドラー、特定装置データ等を含むシステムレベルソフトウェアサポートをインストールする。初期化符号１３４が完了すると、ブロック１６８に示すように、ＰＯＳＴ符号へシステムのコントロールが戻される。ブロック１７０において、ＰＯＳＴ符号は初期化符号１３４が読取り専用として実行された後で拡張ＢＩＯＳを残りのシステムＲＡＭに格納するのに使用されるシステムＲＡＭ１０６の一部をマーキングする等の任意の最終初期化を実施する。最終的に、こと点においてシーケンスは判断ブロック５６へ戻って構成される装置が他にもあるかどうか調べられる。
【００３５】
やはり図５に示す第２の実施例では、特定の周辺コンピュータ装置は大容量記憶装置周辺コンピュータ装置以外の装置もしくは拡張カードの形をとることができる。このような装置の例はビデオカード、マルチメディアカード、ネットワークカード、もしくは任意他の拡張カードや拡張ＢＩＯＳを含む周辺装置である。この実施例では、コンピュータシステム１００は拡張カード１７４を初期化および／もしくは作動させるために関連する拡張ＢＩＯＳをホストコンピュータへロードする必要がある周辺コンピュータ拡張カードすなわち装置１７４を含んでいる。装置１１４について前記したのと同様に、拡張カード１７４はそれに関連する拡張ＢＩＯＳの第１の部分１７８を含むＲＯＭ１７６を含んでいる。しかしながら、この実施例では、拡張カード１７４に関連する拡張ＢＩＯＳの第２の部分１８０は大容量記憶装置１１４に格納されている。それにより、拡張カード１７４の拡張ＢＩＯＳの大部分を大容量記憶装置周辺装置１１４の大容量記憶装置１１６に格納することができる。この実施例の動作は、ＲＯＭ１７６内に含まれる第１の部分１７８に与えられた小さい初期化符号により装置１１４が作動され大容量記憶装置１１６内に含まれる拡張カード１７４に関連する拡張ＢＩＯＳの第２の部分がアクセスされる点を除けば、前記した第１の実施例と同じである。
【００３６】
前記した第１および第２の実施例はホストコンピュータにより初期化されかつ／もしくは作動されるために拡張ＢＩＯＳをロードする必要がある周辺コンピュータ装置上に配置されたＲＯＭ１１８およびＲＯＭ１７６を含んでいるが、それは必要条件ではない。また、拡張ＢＩＯＳの第１の部分を含むＲＯＭは全体システム内の別の場所に設けることができる。その１例は、高度集積回路が周辺装置の特定の群化を含む完全なパッケージとして提供されるような状況である。図５を参照して、このような状況下で、それぞれ装置１１４および装置１７４の拡張ＢＩＯＳの第１の部分を含むＲＯＭ１１８および１７６はシステムＲＯＭ１０８の一部として提供することができる。本例では装置１１４および１７４である、完全なパッケージ内に含まれる周辺装置に関連する拡張ＢＩＯＳの大部分が前記したようにハードドライブ等の大容量記憶装置内に格納される。システムＲＯＭ１０８内に含める必要のある拡張ＢＩＯＳＲＯＭはハードドライブを作動させてその中に格納された初期化符号へコントロールを引き渡す符号を含むのに十分な大きさでさえあればよい。次に、パッケージに含まれるさまざまな周辺装置に関連する全ての拡張ＢＩＯＳ前記したようにホストシステムのＲＡＭ内にロードされる。しかしながら、この状況では、各周辺装置の拡張ＢＩＯＳの第１の部分はシステムＢＩＯＳの一部として提供され、したがって、システムＢＩＯＳ（すなわち前例のＰＯＳＴ）は前記したようにこれらの周辺装置を探索する必要がない。
【００３７】
本発明の別の実施例にしたがって、この一般的な方法を使用してホストコンピュータ内で必要なシステムＲＯＭの量を低減することができる。やはり図５を参照して、システムＲＯＭ１０８内に格納されているシステムＢＩＯＳ１０４はホストコンピュータ１０２により使用される全体システムＢＩＯＳの小さな第１の部分にすぎない。システムＢＩＯＳの第２の部分は周辺装置拡張ＢＩＯＳについて前記したように大容量記憶装置１１４の大容量記憶装置１１６内に格納される。
【００３８】
図８のフロー図を参照して、システムＢＩＯＳがシステムＲＯＭ１０８に格納される第１の部分と大容量記憶装置１１６に格納される第２の部分へ分割されるシステムの動作について詳細に説明する。この構成では、ブロック１８４に示すようにコンピュータがターンオンされた後で、システムＲＯＭ１０８に格納されたシステムＢＩＯＳの第１の部分が大容量記憶装置１１４を見つけて構成する（ブロック１８６）。ブロック１８８に示すように、システムＢＩＯＳの第１の部分はシステムＢＩＯＳの第２の部分１８２をシステムＲＡＭ１０６へロードするのにアクセス可能なアドレスを決定する符号を含んでいる。次に、ブロック１９０および１９２において、システムＢＩＯＳ符号の第１の部分は大容量記憶装置１１４からのシステムＢＩＯＳの第２の部分１８２をシステムＲＡＭ１０６へロードし、現在システムＲＡＭ内にあるシステムＢＩＯＳの第２の部分を実行する。この点において、ブロック１９４に示すように、システムＢＩＯＳの第２の部分がコントロールを行いシステムは全システムＢＩＯＳがＲＯＭ１０４内に与えられているのと同様に作動し続ける。
【００３９】
システムＢＩＯＳの第２の部分がＲＡＭへロードされて実行されると、システムは前記構成に従ってシステムに接続された周辺装置に関連する任意の拡張ＢＩＯＳをロードし続けることができる。また、後記するように拡張ＢＩＯＳをロードすることができる。この全体的方法を使用して、システムＢＩＯＳの大部分を、システムに接続された周辺装置の拡張ＢＩＯＳの大部分もしくは全部と共に、ＲＯＭに格納するのではなくシステムに接続された大容量記憶装置の大容量記憶装置内に格納することができる。それにより典型的なコンピュータシステム内のシステムＢＩＯＳおよび拡張ＢＩＯＳに必要なＢＩＯＳＲＯＭに関連するコストの大部分を削除することができる。さらに、この同じ基本的概念を一歩進めると、典型的なコンピュータシステムの付加部品に格納される情報を大容量記憶装置に格納することにより、これらの部品も削除することができる。例えば、システム構成、パスワード、もしくはＲＯＭやバッテリバックアップメモリに典型的に格納される任意他の情報を含むことができるバッテリバックアップメモリも、この情報を大容量記憶装置に格納し前記したようにシステムの始動時にそれにアクセスすることにより、削除することができる。
【００４０】
本発明の他の実施例においては、特定の周辺コンピュータデバイスと組合わされた拡張ＢＩＯＳ  ＲＯＭに対する難問がすべて一緒に排除されるようになる。図９において、全体のシステム２００には、ホストコンピュータ１０２、システムＢＩＯＳ１０４、システムＲＡＭ１０６、システムＲＯＭ１０８、ホストブリッジ１１２、および周辺バス（前記の実施例で、すでに説明したように）が設けられている。また、このシステム２００には、マスメモリストレージ（大容量メモリ）２０４を有するマスメモリストレージ周辺コンピュータデバイス２０２が設けられている。本例では、デバイス２０２と組合わされた拡張ＢＩＯＳのすべてが、大容量メモリ２０４にストアされている。前述の実施例を説明したように、このコンピュータデバイス２０２は、ハードディスクドライブや、コンパクトディスクプレーヤ、または他の大容量記憶装置の形態で得られる。
【００４１】
この大容量メモリデバイス２０２は、更に、入力／出力データをストアするメモリバッファ２０６が設けられており、これらデータは、大容量メモリ２０４から／へ転送される。メモリバッファ２０６は以下のように構成されている。即ち、ホストシステムの立上げ時、このメモリバッファが、デバイスにインストールされた拡張ＲＯＭであるかのように、ホストシステムに対して出現するように構成されている。本発明によれば、このデバイス２０２には、インテリジェントスタートアップ（立上げ）アレンジメント２０８が設けられている。このスタートアップアレンジメント２０８によって、システムがＯＮ状態の時を検知し、このシステムの立ち上りに応答して、このアレンジメント２０８によって、大容量メモリデバイス２０２が急激にＯＮ状態となると共に、この拡張ＢＩＯＳの少なくとも第１部分を、メモリバッファ２０６へロードする。このアレンジメント２０８は、この拡張ＢＩＯＳの第１部分を、以下のように、十分に早くメモリバッファ２０６へロードできるように構成されている。即ち、ＰＯＳＴによって、デバイス２０２が、他の拡張ＢＩＯＳを要求しているかどうかを調べた時に、ホストシステムに対して利用できるようになるのに十分に早くロードする。この拡張ＢＩＯＳの第１部分は、前述した第１実施例での拡張ＢＩＯＳの第１部分に類似している。
【００４２】
図１０において、本実施例は、上述した図７のフローチャートで表わした実施例での動作と同じ方法で動作する。図１０に示すように、第１ブロック１４６，１４８は、前述したものと同じである。しかし乍ら、本例においては、ＰＯＳＴコードによって拡張ＲＯＭデコーディングがイネーブル状態となって以降、図７のブロック１５０を、ブロック２１０と差替える。このブロック２１０では、デバイス２０２によって、それの内部メモリデバイス２０６を、拡張ＢＩＯＳとして、システムメモリ中にマッピングし、これは、このデバイスの構造スペースに対して与えられたＰＯＳＴコードを、所定アドレスで開始する。図７関連して詳述したのと同様な方法で、偽牲的に発生させたデータを、デバイス２０２の構造スペースによって要求される過剰システムメモリスペースにマッピングする。このデバイス２０２によって、それの内部アドレスデコーダをセットアップして、例え、このデバイス２０２中にＲＯＭが設けられていなくても、それ自身の構造スペースによって要求される全体のメモリアドレスレンジをデコードするようにする。
【００４３】
前述の実施例で説明したように、ＰＯＳＴコードによって、拡張ＢＩＯＳを、以下のように読出して、適当な拡張ＢＩＯＳコードイメージ（ボックス１５２）をサーチする。即ち、この拡張ＢＩＯＳがマッピングされているメモリ位置を読取ることによって読出す。適当なコードイメージが見つからない場合には、ブロック５６まで戻り、ここで構成すべき追加のデバイスが存在するかをチェックする。しかし乍ら、適当なコードイメージが見つかった場合には、ブロック２１２へ移り、ここでは、ＰＯＳＴコードによって、ホストシステムＲＡＭ内のメモリ位置を決定して、この拡張ＢＩＯＳコードを、デバイス２０２のメモリバッファ２０６へ／からコピーする。次に、このＰＯＳＴコードによって、ブロック２１４で表わしたように、デバイス２０２のメモリバッファ２０６からシステムＲＡＭ１０６ヘコードイメージをコピーする。このコピー動作には、すでに詳述したように、拡張ＢＩＯＳの第１部分および偽性的に発生させたデータが包含されている。ブロック１６０で示したように、このＰＯＳＴコードによって、システムＲＡＭ１０６に現在存在している拡張ＢＩＯＳの第１部分内の初期化コードを呼出すと共に、この初期化コードを走らせる。本例の残りの動作は、図７のフローチャートについて説明したものと同一なものである。
【００４４】
また、本実施例の他の方法によれば、メモリバッファ２０６を、全体の拡張ＢＩＯＳイメージに対する拡張ＢＩＯＳとして、ホストシステムにマッピングして、この拡張ＢＩＯＳを第１および第２部分に分割する難問を排除することもできる。図１１のフローチャートにおいて、この方法について説明する。ブロック５４，５６，１４６，１４８は、図１０で説明した実施例のものと同じ状態のままである。しかし乍ら、ブロック２１６においては、デバイス２０２によって、それのメモリバッファ２０６を、全体の拡張ＢＩＯＳイメージ用の拡張ＢＩＯＳとして、システムメモリ中にマッピングし、これは、デバイス２０２の構造スペースに与えられたＰＯＳＴコードでのアドレスにて開始される。デバイス２０２によって、この拡張ＢＩＯＳを、その大容量メモリからそれの自身のメモリバッファへ読出すと共に、このイメージをシステムメモリ中にマッピングする。マルチイメージが与えられた場合に、これらイメージもシステムメモリ中にマッピングする。このデバイスによって、それ自身の内部デーコーダをセットアップして、このメモリにＲＯＭが存在しなくても、全体のメモリレンジをデコードする。また、ブロック１５２，１５４，２１２は、図１０に説明したものと同一である。しかし乍ら、ブロック２１８においては、ＰＯＳＴコードによって、適当な拡張ＢＩＯＳイメージをコピーする。このＢＩＯＳイメージには、全体の拡張ＢＩＯＳが含まれており、デバイス２０２のメモリバッファ２０６からシステムＲＡＭ１０６まで、大容量メモリストレージ２０４のイメージを読終えるようにする。この時点から、動作は、図４のフローチャートで示した従来システムでの動作で説明したように、拡張ＢＩＯＳがＲＯＭからロードされていたのと同様な方法でブロック７６，７８，８０，８２と進行する。
【００４５】
次に、図９に戻り、他の実施例によって、以下のようなアレンジメントが提供される。即ち、大容量メモリデバイス以外の、特定の周辺コンピュータデバイスと組合わされた拡張ＢＩＯＳ  ＲＯＭが、全体に一緒に表示されている。この例によれば、システム２００には、周辺コンピュータ拡張カードまたはデバイス２２０が設けられており、このカードまたはデバイス２２０は、組合わされた拡張ＢＩＯＳがホストコンピュータにロードされることを要求しており、これは、拡張カード２２０を初期化および／または動作させるためである。デバイス２０２について前述したのと同様な方法によって、この拡張カード２２０と組合わされた拡張ＢＩＯＳが、このデバイス２０２の大容量メモリ２０４にストアされている。この実施の動作は、以下の部分を除いて、直前に説明した実施例のものと同一である。即ち、大容量メモリ２０４にストアされた初期化コードには、拡張カード２２０用の初期化およびランタイム（動作時間）コードならびに、デバイス２０２用の初期化およびランタイムコードが包含されていることが例外である。
【００４６】
本発明の利点の１つとしては、大容量メモリにストアされた拡張ＢＩＯＳの一部分を、容易にアップグレードできることである。この大容量メモリがハードディスクドライブの場合、この拡張ＢＩＯＳの部分を、ユーザがアクセス不可能な、大容量メモリの一部分にストアできることである。種々の方法を駆使することによって、このハードディスクドライブの通常動作中に、ハードディスクドライブのこの部分がアクセスされるのを保護できる。このような状況の下で、ユティリティプログラムを用いて、ハードディスクドラブ上にストアされた拡張ＢＩＯＳの部分の更新または訂正が必要になった場合には、この保護された部分にアクセスすることもできる。前述した全実施例では、この拡張ＢＩＯＳ部分を更新すると共に変更するためのこのような能力によってもたらされる利益を受けられる。この拡張ＢＩＯＳの部分は、システムの大容量メモリ周辺デバイスの大容量メモリ中にストアされている。
【００４７】
また、少なくとも拡張ＢＩＯＳの一部分を大容量メモリにストアする汎用のアプローチによって、このホストシステムを、種々の状況に対して、異なって構成することもできる。この一例としては、このシステムを利用して、特定のゲームまたはアプリケーションを走らせている場合であり、このことは、このシステムを、通常の動作中の方法とは異なった方法で構成する場合に、良好に機能する。この状況の下では、この大容量メモリデバイスを、コンパクトディスクプレーヤとすることができ、ゲームまたはアプリケーションをコンパクトディスクに設定できる。上述したアプローチの利用方法に依存して、このコンパクトディスク自身には、この拡張ＢＩＯＳの全体でない場合には、少なくともその一部分を包含させている。このコンパクトディスク上の拡張ＢＩＯＳには、初期化およびランタイムコードが含まれており、このコードによって、動作中の特定のゲームまたはアプリケーション用のシステムの動作を最適化するようになる。
【００４８】
大容量メモリ周辺デバイスの大容量メモリストレージ上に、拡張ＢＩＯＳの一部分および／またはシステムＢＩＯＳをストアすることによって、この周辺デバイスのコストおよび／またはこのシステムのコストを増大させることなく、より大きな拡張および／またはシステムＢＩＯＳを提供できる。前述したように、システムの立ち上げ時に必要な情報をストアするという、この一般的な概念には、種々の動作データ、テキスト、または他の情報が含まれており、これによって、システムの立ち上げ時にこのシステムの機能性を増大させる。これの一例としては、システムの立ち上げ時の、更に精密なグラフィックディスプレイであり、このシステムには、これの何処かに、大容量のＲＯＭを設置する必要がない（所望のグラフィック情報を包含させる目的で）。
【００４９】
次に図１２Ａを参照し乍ら、本発明によるコンピュータシステムの動作を詳述する。このコンピュータシステムは、このシステムの立ち上げ時に、特定のグラフィック情報をこのシステムに提供する能力を保有している。ブロック２２２，２２４で示すように、コンピュータを作動開始させて、このシステムと組合わされたＢＩＯＳの初期化コードによって、このシステムのコントロールを実行する。このＢＩＯＳは、上述した種々のＢＩＯＳアレンジメントのいずれかを採用できる。決定ブロック２２６で示したように、この点において、ＢＩＯＳの初期化コードによって、コンピュータシステムには、ビディオクラフィックメモリが包含されているかどうかをチェックする。若し、ビディオグラフィックメモリが存在しない場合には、ブロック２３４で示すように、このＢＩＯＳ初期化コードは、このシステムを構築するようになる。また、ビディオグラフィックメモリが存在する場合には、最近のビディオメモリプレーンを、アクティブ状態にセットすると共に、ブロック２２８と２３０とに、それぞれ示すように、最新のビディオメモリプレーンイメージを、大容量メモリデバイスから、ビディオメモリに直接読込む。次に、ＢＩＯＳの初期化コードによって、決定ブロック２３２で示すように、読み出すべき、他のビディオメモリプレーンが存在するかをチェックする。若し、メモリプレーンが存在する場合には、読み出すべきビディオメモリプレーンが無くなるまで、ブロック２２８と２３０とを繰返えす。
【００５０】
図１２Ｂにおいて、上述したグラフィックスの例と同一の基本的なアプローチを利用して、他の動作データをシステムに提供することもできる。この動作データには（限定的な目的ではなく）、システムコンフィギュレーション（構築）情報、データ、テキスト、パスワード、または他の情報が含まれており、これらによって、システムの立ち上げ時に成る目的が与えられる。図１２Ａで説明したように、コンピュータをＯＮにすると共に、このシステムに組合わされたＢＩＯＳの初期化コードによって、ブロック２２２と２２４とに示したように、このシステムのコントロールを行なう。決定ブロック２３６で示したように、この時点において、ＢＩＯＳの初期化コードによって、大容量のストレージデバイスに、システムにロードすべき動作データが含まれているかをチェックする。ブロック２３４で示すように、動作データが存在しない場合には、このＢＩＯＳの初期化コードによって、このシステムの構築が実行される。しかし、この動作データが存在しない場合には、ブロック２３８，２４０でそれぞれ示すように、この初期化コードによって、メモリ位置を決定して、この動作データをロードすると共に、この動作データを大容量メモリデバイスからシステムＲＡＭに読込む。次に、ＢＩＯＳ初期化コードによって、決定ブロック２４２で示したように、読込むべき動作データが更に存在するかをチェックする。動作データが存在する場合には、読込むべき動作データがなくなるまで、ブロック２３８と２４０とを繰返えす。
【００５１】
前述したように、図１２Ａおよび図１２Ｂに示したアプローチを利用することによって、動作データまたはグラフィックを、この情報のために追加のＲＯＭ記憶スペースを設けることなく、システムの立ち上げ時に、このシステムに提供できる。このことによって、システムまたは周辺デバイスのコスト増大なく、システムの立ち上げ時に更に多くの情報が与えられるようになる。またこのアプローチによって、バッテリバックアップメモリのように、最近のこの目的のためのメモリ記憶体、ＲＯＭ等のコストを低下させることができ、これによってシステムのコストを低下できる。
【００５２】
前述したように、周辺バスは、ＰＣＩバスとして全体に亘って説明してきたが、このことは必ずしも必要なことではない。前述したように、他の周辺バスも等しく適用でき、この周辺バスは、この拡張ＢＩＯＳ位置アドレスをシステムメモリ中にマッピングする必要性があり、これは、固定式の配線された拡張ＢＩＯＳ位置アドレスをマッピングするものより、むしろ必要なものである。また、拡張ＢＩＯＳ  ＲＯＭを、特定の周辺デバイスに完全に排除する実施例においては、この特定の周辺デバイスに、他の目的のＲＯＭを依然として設置することも可能で、これは、本発明の技術的思想内に含まれる。
【００５３】
少なくとも、ＢＩＯＳの一部分、即ち、動作データを、大容量メモリ周辺コンピュータデバイスの大容量メモリデバイス中にストアした構成を保有した特定の例について詳述したが、本発明は、他の特定の形態で、広範に実現し得るものである。例えば、数個の周辺デバイスをホストコンピュータに接続したシステムにおいて、これらすべてのデバイスに対する拡張ＢＩＯＳを、大容量メモリにストアすることもできる。本例の場合には、大容量メモリデバイス用の拡張ＢＩＯＳの第１部分を、前述したように、メモリバッファにロードしたり、または、小さな拡張ＢＩＯＳ  ＲＯＭにストアすることもできる。他のすべての周辺デバイス用の拡張ＢＩＯＳに伴って、大容量メモリ用の拡張ＢＩＯＳの第２部分を、大容量メモリデバイスの大容量メモリ中にストアすると共に、この大容量メモリデバイス用の拡張ＢＩＯＳの第１部分を利用して、アクセスすることもできる。従って、現在の例は、単に例示したものにすぎず、決して限定するものでないと共に、本発明は、上述した詳しい例に限定されず、添付の請求項に規定された技術的な思想範囲内で、変更することができる。
【図面の簡単な説明】
【００５４】
添付図面と共に現時点で好ましい実施例の次の詳細な説明を参照すれば、本発明の特徴について最良に理解できよう。
【図１】周辺コンピュータデバイスをホストコンピュータに接続するためにＰＣＩバスを使用する従来のコンピュータシステムのブロック図である。
【図２】Ａは、多数のコードイメージを含む従来の拡張ＢＩＯＳの図である。  Ｂは、従来の拡張ＢＩＯＳの一部を構成する、図２Ａに示されたコードイメージのうちの２つの詳細な図である。  Ｃは、ＰＣＩ周辺デバイスのコンフィギュレーションスペースメモリの詳細な図である。
【図３】拡張ＢＩＯＳをホストコンピュータのシステムＲＡＭにロードすることを必要とする周辺デバイスをシステムが含むかどうかを判断するのに代表的なＰＣＩに基づくシステムによって使用される従来のシーケンスを含むフローチャートである。
【図４】ホストコンピュータのシステムＲＡＭに特定の周辺デバイスと関連する従来の拡張ＢＩＯＳがどのようにロードされるかを詳細に示すフローチャートである。
【図５】再配置可能な拡張ＢＩＯＳロケーションアドレスが認められた周辺バスを使って、周辺コンピュータデバイスをホストコンピュータに接続する、本発明によって設計されたコンピュータシステムの一実施例のブロック図である。
【図６】Ａは、周辺コンピュータデバイスのための本発明による拡張ＢＩＯＳの第１部分の詳細図である。  Ｂは、図６Ａに示された拡張ＢＩＯＳの第１部分に関連した、本発明に係わる拡張ＢＩＯＳの第２部分の詳細図である。  Ｃは、ＰＣＩ周辺デバイスのコンフィギュレーションスペースメモリの詳細図である。
【図７】図５、図６Ａおよび図６Ｂに示された拡張ＢＩＯＳが、本発明によりホストコンピュータのシステムＲＡＭにどのようにロードされるかの詳細を示すフローチャートである。
【図８】図５に示された大容量メモリ記憶周辺コンピュータデバイス内に記憶されたシステムＢＩＯＳの一部が本発明によりどのようにホストコンピュータのシステムＲＡＭにロードされるかを示すフローチャートである。
【図９】再配置可能な拡張ＢＩＯＳロケーションアドレスが認められた周辺バスを使って、周辺コンピュータデバイスをホストコンピュータに接続する、本発明によって設計されたコンピュータシステムの別の実施例のブロック図である。
【図１０】図９に示された拡張ＢＩＯＳが本発明によりどのようにホストコンピュータのシステムＲＡＭにロードされるかを説明する、第１実施例の細部を示すフローチャートである。
【図１１】図８に示された拡張ＢＩＯＳが本発明によりどのようにホストコンピュータのシステムＲＡＭにロードされるかを説明する、第２実施例の細部を示すフローチャートである。
【図１２】Ａは、コンピュータシステムの起動中に、本発明によりグラフィックが大容量メモリ記憶デバイスからビデオメモリにどのようにロードされるかを示すフローチャートである。  Ｂは、コンピュータシステムの起動中に、本発明により作動データが大容量メモリ記憶デバイスからシステムにどのようにロードされるかを示すフローチャートである。
【図１】
2006196018.tif 000003
【図２】
2006196018.tif 000004
【図３】
2006196018.tif 000005
【図４】
2006196018.tif 000006
【図５】
2006196018.tif 000007
【図６】
2006196018.tif 000008
【図７】
2006196018.tif 000009
【図８】
2006196018.tif 000010
【図９】
2006196018.tif 000011
【図１０】
2006196018.tif 000012
【図１１】
2006196018.tif 000013
【図１２】
2006196018.tif 000014