(57)【要約】  チップセレクト語（１３２）を生成する機械可読の媒体、方法および装置が開示される。一つの実施形態では、アドレス・デコーダ（１３０）は、エンコードありチップセレクト・モードにあるときには、メモリ素子を選択するためのエンコードありのチップセレクト語を生成する。アドレス・デコーダはまた、エンコードなしチップセレクト・モードにあるときには、メモリ素子を選択するためのエンコードなしチップセレクト語を生成しうる。一つの実施形態では、アドレス・デコーダは、ブートコード・ナブ（１２８）のアドレスに反応して、アドレス・デコーダがエンコードありチップセレクト・モードとエンコードなしチップセレクト・モードのどちらで動作しているかに関わりなく同一のメモリ素子を選択するチップセレクト語を生成しうる。
2006528386.tif 000002
【特許請求の範囲】
【請求項１】
エンコードありチップセレクト・モードとエンコードなしチップセレクト・モードとの間の選択を行うための構成設定記憶と、
エンコードなしチップセレクト・モードに反応してエンコードされていないチップセレクト語を生成し、エンコードありチップセレクト・モードに反応してエンコードされたチップセレクト語を生成するアドレス・デコーダ、
とを有することを特徴とする装置。
【請求項２】
前記アドレス・デコーダが、ブートコード・ナブのアドレスに反応して、エンコードなしチップセレクト・モードとエンコードありチップセレクト・モードとのどちらで動作しているかに関わりなく同じメモリ素子を選択するチップセレクト語を生成することを特徴とする、請求項１記載の装置。
【請求項３】
前記アドレス・デコーダが、ブートコード・ナブのアドレスに反応して、
エンコードありチップセレクト・モードにあるときには前記ブートコード・ナブを含んでいるある所定のメモリ素子を選択するエンコードされたチップセレクト語を生成し、
エンコードなしチップセレクト・モードにあるときには前記ブートコード・ナブを含んでいる前記所定のメモリ素子を選択するエンコードされていないチップセレクト語を生成する、
ことを特徴とする、請求項１記載の装置。
【請求項４】
前記アドレス・デコーダが、ブートコード・ナブのアドレスに反応して、該アドレスについてのエンコードされていないチップセレクト語を生成して、そのエンコードされていないチップセレクト語が当該アドレスについてのエンコードされたチップセレクト語を含むようにすることを特徴とする、請求項１記載の装置。
【請求項５】
前記アドレス・デコーダが、ブートコード・ナブのアドレスに反応して、
前記エンコードされたチップセレクト語がちょうど一つのアクティブなチップセレクト・ビットを含むように前記アドレスについてのエンコードされたチップセレクト語を生成し、
前記エンコードされていないチップセレクト語がちょうど一つのアクティブなチップセレクト・ビットを含むように前記アドレスについてのエンコードされていないチップセレクト語を生成する、
ことを特徴とする、請求項１記載の装置。
【請求項６】
前記アドレス・デコーダが、ブートコード・ナブのアドレスに反応して、
前記エンコードされたチップセレクト語が前記ブートコード・ナブを含んでいるメモリ素子を選択するのに使われる所定のチップセレクト線に対応するちょうど一つのアクティブなチップセレクト・ビットを含むように前記アドレスについてのエンコードされたチップセレクト語を生成し、
前記エンコードされていないチップセレクト語が前記所定のチップセレクト線に対応するちょうど一つのアクティブなチップセレクト・ビットを含むように前記アドレスについてのエンコードされていないチップセレクト語を生成する、
ことを特徴とする、請求項１記載の装置。
【請求項７】
前記アドレス・デコーダが、ブートコード・ナブのアドレスに反応して、
前記エンコードされたチップセレクト語のある最下位ビットが前記エンコードされたチップセレクト語の唯一のアクティブなビットであるように前記エンコードされたチップセレクト語を生成し、
前記エンコードされていないチップセレクト語のある最下位ビットが前記エンコードされていないチップセレクト語の唯一のアクティブなビットであるように前記エンコードされていないチップセレクト語を生成する、
ことを特徴とする、請求項１記載の装置。
【請求項８】
ブートコード・ナブをもつメモリ素子を有する複数のメモリ素子と、
ブートコード・ナブのアドレスおよびエンコードありチップセレクト・モードに反応して、前記ブートコード・ナブをもつメモリ素子を選択するエンコードされたチップセレクト語を生成し、
ブートコード・ナブのアドレスおよびエンコードなしチップセレクト・モードに反応して、前記ブートコード・ナブのエンコードされたチップセレクト語を含むエンコードされていないチップセレクト語を生成する、
装置、
とを有することを特徴とするシステム。
【請求項９】
前記ブートコード・ナブをもつメモリ素子が所定のチップセレクト線を通じて当該装置に結合されており、
前記複数のメモリ素子のその他のメモリ素子のそれぞれが別個のチップセレクト線を通じて当該装置に結合されている、
ことを特徴とする、請求項８記載のシステム。
【請求項１０】
当該装置に結合され、前記複数のメモリ素子のうちのメモリ素子のそれぞれに別個のチップセレクト線を通じて結合されているチップセレクト・デコーダをさらに有しており、
当該装置から前記アドレスについてのエンコードされたチップセレクト語を受信することに反応して、前記チップセレクト・デコーダが前記ブートコード・ナブをもつメモリ素子のチップセレクト線をアクティブにする、
ことを特徴とする請求項８記載のシステム。
【請求項１１】
前記装置から前記アドレスについてのエンコードされていないチップセレクト語を受信することに反応して、前記チップセレクト・デコーダが前記ブートコード・ナブをもつメモリ素子のチップセレクト線をアクティブにすることを特徴とする、請求項１０記載のシステム。
【請求項１２】
当該装置に結合され、前記複数のメモリ素子のうちのメモリ素子のそれぞれに別個のチップセレクト線を通じて結合されているチップセレクト・デコーダをさらに有しており、
前記ブートコード・ナブのアドレスについて当該装置によって生成されたエンコードされていないチップセレクト語から、前記ブートコード・ナブのアドレスについてのエンコードされたチップセレクト語を受信することに反応して、前記チップセレクト・デコーダが前記ブートコード・ナブをもつメモリ素子のチップセレクト線をアクティブにする、
ことを特徴とする請求項８記載のシステム。
【請求項１３】
ブートコード・ナブのアドレスおよびエンコードありチップセレクト・モードに反応して、前記ブートコード・ナブをもつメモリ素子を選択するエンコードされたチップセレクト語を生成し、
前記ブートコード・ナブのアドレスおよびエンコードなしチップセレクト・モードに反応して、前記ブートコード・ナブのエンコードされたチップセレクト語を含むエンコードされていないチップセレクト語を生成する、
ことを含むことを特徴とする方法。
【請求項１４】
エンコードありチップセレクト・モードおよびエンコードなしチップセレクト・モードのうちの一つに動作モードを更新する、
ことをさらに含むことを特徴とする、請求項１３記載の方法。
【請求項１５】
前記ブートコード・ナブを実行し、
前記ブートコード・ナブの実行に反応してエンコードありチップセレクト・モードおよびエンコードなしチップセレクト・モードのうちの一つに動作モードを更新する、
ことをさらに含むことを特徴とする、請求項１３記載の方法。
【請求項１６】
前記ブートコード・ナブを実行し、
前記ブートコード・ナブの実行に反応してエンコードありチップセレクト・モードに動作モードを更新し、
動作モード更新後、エンコードされたチップセレクト語を伝えるのに使われないチップセレクト・ピンを割り当て直す、
ことをさらに含むことを特徴とする、請求項１３記載の方法。
【請求項１７】
前記エンコードされたチップセレクト語の生成が、そのエンコードされたチップセレクト語がちょうど一つのアクティブなチップセレクト・ビットを含むように該エンコードされたチップセレクト語を生成することであり、
前記エンコードされていないチップセレクト語の生成が、そのエンコードされていないチップセレクト語がちょうど一つのアクティブなチップセレクト・ビットを含むように該エンコードされていないチップセレクト語を生成することである、
ことを特徴とする、請求項１３記載の方法。
【請求項１８】
前記エンコードされたチップセレクト語の生成が、そのエンコードされたチップセレクト語が前記ブートコード・ナブを含んでいるメモリ素子を選択するのに使われる所定のチップセレクト線に対応するちょうど一つのアクティブなチップセレクト・ビットを含むように該エンコードされたチップセレクト語を生成することであり、
前記エンコードされていないチップセレクト語の生成が、そのエンコードされていないチップセレクト語が前記所定のチップセレクト線に対応するちょうど一つのアクティブなチップセレクト・ビットを含むように該エンコードされていないチップセレクト語を生成することである、
ことを特徴とする、請求項１３記載の方法。
【請求項１９】
前記エンコードされたチップセレクト語の生成が、そのエンコードされたチップセレクト語のある最下位ビットが当該エンコードされたチップセレクト語の唯一のアクティブなビットであるように該エンコードされたチップセレクト語を生成することであり、
前記エンコードされていないチップセレクト語の生成が、そのエンコードされていないチップセレクト語のある最下位ビットが当該エンコードされていないチップセレクト語の唯一のアクティブなビットであるように該エンコードされていないチップセレクト語を生成することである、
ことを特徴とする、請求項１３記載の方法。
【請求項２０】
複数の命令を有する機械可読媒体であって、実行されると、ある装置が、
ブートコード・ナブのアドレスおよびエンコードありチップセレクト・モードに反応して、前記ブートコード・ナブをもつメモリ素子を選択するエンコードされたチップセレクト語を生成し、
前記ブートコード・ナブのアドレスおよびエンコードなしチップセレクト・モードに反応して、前記ブートコード・ナブのエンコードされたチップセレクト語を含むエンコードされていないチップセレクト語を生成する、
という結果を生じることを特徴とする媒体。
【請求項２１】
前記複数の命令がさらに、前記装置が、
前記エンコードされたチップセレクト語がちょうど一つのアクティブなチップセレクト・ビットを含むように前記エンコードされたチップセレクト語を生成し、
前記エンコードされていないチップセレクト語がちょうど一つのアクティブなチップセレクト・ビットを含むように前記エンコードされていないチップセレクト語を生成する、
という結果を生じることを特徴とする、請求項２０記載の機械可読媒体。
【請求項２２】
前記複数の命令がさらに、前記装置が、
前記エンコードされたチップセレクト語が前記ブートコード・ナブを含んでいるメモリ素子を選択するのに使われる所定のチップセレクト線に対応するちょうど一つのアクティブなチップセレクト・ビットを含むように前記エンコードされたチップセレクト語を生成し、
前記エンコードされていないチップセレクト語が前記所定のチップセレクト線に対応するちょうど一つのアクティブなチップセレクト・ビットを含むように前記エンコードされていないチップセレクト語を生成する、
という結果を生じることを特徴とする、請求項２０記載の機械可読媒体。
【請求項２３】
前記複数の命令がさらに、前記装置が、
前記エンコードされたチップセレクト語のある最下位ビットが当該エンコードされたチップセレクト語の唯一のアクティブなビットであるように前記エンコードされたチップセレクト語を生成し、
前記エンコードされていないチップセレクト語のある最下位ビットが当該エンコードされていないチップセレクト語の唯一のアクティブなビットであるように前記エンコードされていないチップセレクト語を生成する、
という結果を生じることを特徴とする、請求項２０記載の機械可読媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティング・デバイスは該コンピューティング・デバイスのコンポーネントを初期化するためのファームウェア・ルーチンを有することがある。システム立ち上げ時に、コンピューティング・デバイスはファームウェア・ルーチンを有している不揮発性メモリ・デバイスのチップセレクトをアクティブにすることができる。するとコンピューティング・デバイスは該不揮発性メモリ・デバイスからファームウェア・ルーチンを取得して実行できる。
【０００２】
ここに記載される本発明は、あくまでも例であって限定ではない付属の図面において解説される。解説の簡明のため、図面に示されている要素は必ずしも縮尺通りに描かれていない。たとえば、明確のため一部の要素が他の要素に比べて誇張されていることがある。さらに、適切と思われるところでは、異なる図面において同じ参照符号を繰り返し使うことによって対応するあるいは類似の要素を示している。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
以下の記述は、エンコードありのチップセレクト語およびエンコードなしのチップセレクト語を用いて不揮発性メモリにアクセスするための技術を説明する。以下の記述では、論理的実装、オペコード、オペランド指定手段、リソース分割／共有／重複実装、システム・コンポーネントの種類および相互関係、ならびに論理の分割／統合の選択といった数多くの個別的詳細が述べられるが、それは本発明のより完全なる理解を提供するためである。当業者にはそのような個別的詳細なしでも本発明が実施しうることは認識されることであろう。他方では、制御構造、ゲートレベルの回路および完全なソフトウェア命令シーケンスを詳細に示さなかったところもあるが、それは本発明を埋没させないためである。通常の当業者はここに含まれる記述によっていたずらに試行することなく適切な機能を実装することができるであろう。
【０００４】
明細書における「一つの実施形態」「ある実施形態」「実施例」などへの言及は述べられている実施形態・実施例がある特定の特徴、構造または性質を含みうるが、必ずしもすべての実施形態・実施例がその特定の特徴、構造または性質を含むことを示すものではない。さらに、そのような諸表現は必ずしも同一の実施形態・実施例を指しているのではない。さらに、ある特定の特徴、構造または性質がある実施形態・実施例との関連で記載されるとき、明示的に述べられているか否かによらず、そのような特徴、構造または性質を他の実施形態・実施例との関連で実施することは当業者の知識の範囲内であることを主張しておく。
【０００５】
本発明の実施形態・実施例は、ハードウェア、ファームウェア、ソフトウェアまたはそれらのいかなる組み合わせにおいて実装されてもよい。本発明の実施形態・実施例は、機械可読媒体上に保存された、一つまたは複数のプロセッサによって読み込まれて実行されることのできる命令として実装してもよい。機械可読媒体とは、機械（コンピューティング・デバイスなど）によって読める形で情報を保存または送信するためのいかなる機構をも含みうる。たとえば、機械可読媒体が含みうるものとしては、読み出し専用メモリ（ROM）、ランダムアクセスメモリ（RAM）、磁気ディスク記憶媒体、光記憶媒体、フラッシュメモリ素子、電気的・光学的・音響学的またはその他の形の伝搬信号（たとえば搬送波、赤外線信号、デジタル信号など）、その他がある。さらに、ここではある動作を実行するのがファームウェア、ソフトウェア、ルーチン、命令であるかのように記述されることがあるが、そのような記述は単に便宜上のものであって、そのような動作が実際にはそのファームウェア、ソフトウェア、ルーチン、命令などをコンピューティング・デバイス、プロセッサ、コントローラまたはその他のデバイスが実行する結果であることは理解されるであろう。
【課題を解決するための手段】
【０００６】
コンピューティング・デバイス１００の実施例が図１および図２に示されている。図示したように、コンピューティング・デバイス１００は一つまたは複数のプロセッサ１０２を有しうる。プロセッサ１０２は、オペレーティング・システム１０４、アプリケーション１０６、基本入出力システム（BIOS）ファームウェア１０８および／または他の何らかのソフトウェアもしくはファームウェアモジュールの命令が実行されるのに反応して諸動作を行う。
【０００７】
コンピューティング・デバイス１００はさらにチップセット１１０を有していることができ、該チップセット１１０はプロセッサバスを通じてプロセッサ１０２に結合されている。チップセット１１０は一つまたは複数の集積回路パッケージすなわちチップを有することができ、それがプロセッサ１０２をコンピューティング・デバイス１００の他のコンポーネントに結合する。特に、チップセット１１０は、メモリ・バスを通じて揮発性メモリ１１４に結合されている揮発性メモリ・コントローラ１１２を有しうる。チップセット１１０はさらに、アドレス／データ・バス１２０、チップセレクト線１２２0、１２２1、…、１２２Nおよび／または行アドレス・ストロボ、列アドレス・ストロボ、書き込みイネーブルなどといったその他のバスおよび制御線（図示せず）を通じて不揮発性メモリ１１８に結合されている不揮発性メモリ・コントローラ１１６を有しうる。
【０００８】
コンピューティング・デバイス１００の実施形態は、図１および図２では、揮発性メモリ・コントローラ１１２と不揮発性メモリ・コントローラ１１６が別個のものとして図示されているが、揮発性メモリ１１４と不揮発性メモリ１１８の両方にアクセスする単一のメモリ・コントローラを有する別の実施形態も可能である。さらに別の実施形態では、コンピューティング・デバイス１００は揮発性メモリ１１４および揮発性メモリ・コントローラ１１２なしで実装しうる。
【０００９】
揮発性メモリ１１４は読み込みおよび／または書き込みが可能なアドレス指定可能な記憶位置を有する揮発性メモリ素子（図示せず）を有しうる。該揮発性メモリ素子は、たとえばRAM（Random  Access  Memory［ランダムアクセスメモリ］）素子、SRAM（Static  RAM［スタティックRAM］）素子、DRAM（Dynamic  RAM  Memory［ダイナミックRAMメモリ］）素子、SDRAM（synchronous  DRAM［同期DRAM］）素子、DDR（Double  Data  Rate［倍速データレート］）SDRAM素子などといった一つまたは複数の異なる種類の揮発性メモリを有しうる。不揮発性メモリ１１８は、読み込みおよび／または書き込みが可能なアドレス指定可能な記憶位置を有する不揮発性メモリ素子１２４を有しうる。不揮発性メモリ素子１２４は、たとえばフラッシュメモリ素子、ROM（read  only  memory［読み出し専用メモリ］）素子、PROM（programmable  read  only  memory［プログラム可能な読み出し専用メモリ］）素子、EPROM（eraseable  PROM［消去可能PROM］）素子、EEPROM（electrically  eraseable  PROM［電気的に消去可能PROM］）素子、強誘電性メモリ素子、バックアップ・バッテリー付きメモリ素子などといった一つまたは複数の種類の不揮発性メモリを有しうる。
【００１０】
不揮発性メモリ・コントローラ１１６はプログラム可能な構成設定記憶１２６を有しうる。コンピューティング・デバイス１００は不揮発性メモリ・コントローラ１１６の動作を定義するために構成設定記憶１２６を更新したりプログラムしたりすることができる。一つの実施形態では、構成設定記憶１２６は不揮発性メモリ・コントローラ１１６を、エンコードありチップセレクト・モードまたはエンコードなしチップセレクト・モードに構成設定しうる。さらに、構成設定記憶１２６は不揮発性メモリ・コントローラ１１６を、さまざまな不揮発性メモリ構成設定に構成設定しうる。たとえば、不揮発性メモリ・コントローラ１１６は構成設定記憶１２６を通じて複数のメモリ種類、メモリ容量、メモリ・タイミングなどに対応することができる。
【００１１】
一つの実施形態では、構成設定記憶１２６は不揮発性メモリ・コントローラ１１６をデフォルトでエンコードありチップセレクト・モードにしうる。構成設定記憶１２６はさらに、不揮発性メモリ・コントローラをデフォルトで、ある不揮発性メモリ素子１１８が所定のチップセレクト線１２２（たとえばチップセレクト線１２２0）に結合されており、前記不揮発性メモリ素子１１８が不揮発性メモリ素子１２４によってサポートされている最小記憶容量（たとえば１メガバイト）からなると想定し、ブートコード・ナブ（nub）・アドレスをある所定の不揮発性メモリ素子１１８内に保存されているブートコード・ナブ１２８にマッピングし、諸アドレスを前記所定の不揮発性メモリ素子１２４にロールオーバーすることで他の構成設定がされるまですべてのアドレスが前記所定の不揮発性メモリ素子１２４を目標とすることを保証するような、メモリ構成設定にしうる。
【００１２】
不揮発性メモリ・コントローラ１１６は、アドレスをデコードしてトランザクションを行うために不揮発性メモリ素子１２４を選択するチップセレクト語にするアドレス・デコーダ１３０を有しうる。さらに、選択された不揮発性メモリ素子１２４の適切な行を選択する行アドレスおよび選択された行の適切な列を選択する列アドレスにしてもよい。エンコードなしチップセレクト・モードの場合には、不揮発性メモリ・コントローラ１１６はエンコードなしのチップセレクト語１３２を生成しうる（図１）。アドレス・デコーダ１３０はエンコードなしのチップセレクト語１３２を生成して、該エンコードなしのチップセレクト語１３２がただ一つのチップセレクト線１２２をアクティブにし、他のチップセレクト線１２２は非アクティブにするようにしうる。そのような実施形態では、アクティブなチップセレクト線１２２は、トランザクションを行うために、対応する不揮発性メモリ素子１２４または一群の対応する不揮発性メモリ素子１２４を選択でき，非アクティブなチップセレクト線１２２は不揮発性メモリ１１８のうちトランザクションを行うものでないその他の不揮発性メモリ素子１２４の選択を解除しうる。
【００１３】
エンコードありチップセレクト・モードの場合には、アドレス・デコーダ１３０はさらにエンコードありのチップセレクト語１３４を生成し、エンコードありのチップセレクト語１３４をチップセレクト・デコーダ１３４に提供しうる（図２）。チップセレクト・デコーダ１３６は、受信したエンコードありのチップセレクト語１３４から、エンコードなしのチップセレクト語１３２を生成して、該エンコードなしのチップセレクト語１３２がただ一つのチップセレクト線１２２をアクティブにし、他のチップセレクト線１２２は非アクティブにするようにしうる。そのような実施形態では、アクティブなチップセレクト線１２２は、トランザクションを行うために、対応する不揮発性メモリ素子１２４または一群の対応する不揮発性メモリ素子１２４を選択でき，非アクティブなチップセレクト線１２２は不揮発性メモリ１１８のうちトランザクションを行うものでないその他の不揮発性メモリ素子１２４の選択を解除しうる。
【００１４】
８つまでの不揮発性メモリ素子１２４をサポートするある実施形態では、アドレス・デコーダ１３０は、表１に従ってエンコードなしのチップセレクト語１３２およびエンコードありのチップセレクト語１３４を生成しうる。さらに、チップセレクト・デコーダ１３６は、アドレス・デコーダ１３０からの対応するエンコードありのチップセレクト語１３４の受信に反応してエンコードなしのチップセレクト語１３２を生成しうる。特に、アドレス・デコーダ１３０およびチップセレクト・デコーダ１３６は、チップセレクト線１２２Xに結合された不揮発性メモリ素子１２４を選択するためのCS_Word_Xを生成しうる。さらに、表１の二進数の０はチップセレクト語の非アクティブなビットを示し、二進数１はチップセレクト語のアクティブなビットを示す。アクティブなビットはたとえばHigh信号に対応し、非アクティブなビットはたとえばLow信号に対応するが、たとえばアクティブなビットをLow信号で表して非アクティブなビットをHigh信号で表すなど、他の信号エンコードを使ってもよい。
【００１５】
【表１】
2006528386.tif 000003
【００１６】
表１に見られるように、エンコードありのチップセレクト語CS_Work_0の最下位３ビット[2:0]およびエンコードなしのチップセレクト語CS_Work_0の最下位３ビット[2:0]は同一であり、単一のアクティブなビットを含んでいる。有効なプラットフォームを仮定すると、アドレス・デコーダ１３０は、エンコードなしのチップセレクト語CS_Word_0またはエンコードありのチップセレクト語CS_Word_0を生成することによってチップセレクト線１２２0に結合されている不揮発性メモリ素子１２４を選択しうる。たとえば、コンピューティング・デバイス１００がチップセレクト・デコーダ１３６含まない場合（図１参照）、前記エンコードなし、あるいはエンコードありのチップセレクト語CS_Word_0の単一のアクティブなビットはチップセレクト線１２２0をアクティブにすることができ、対応する不揮発性メモリ素子１２４を選択することができる。同様に、コンピューティング・デバイス１００がチップセレクト・デコーダ１３６含む場合（図２参照）、アドレス・デコーダ１３０によって生成される前記エンコードなしのチップセレクト語CS_Word_0または前記エンコードありのチップセレクト語CS_Word_0のある部分（たとえば、最下位３ビット[2:0]）から、チップセレクト・デコーダ１３６がエンコードなしのチップセレクト語CS_Word_0を生成しうる。するとチップセレクト・デコーダ１３６によって生成されたそのエンコードなしのチップセレクト語CS_Word_0の単一のアクティブなビットは、チップセレクト線１２２0をアクティブにすることができ、対応する不揮発性メモリ素子１２４を選択することができる。
【００１７】
一つの実施形態では、システム立ち上げ時にプロセッサ１０２、チップセット１１０およびコンピューティング・デバイス１００の他のコンポーネントを初期化するためにコンピューティング・デバイス１００が実行しうるルーチンをBIOSファームウェア１０８が有していることができる。さらに、BIOSファームウェア１０８は、コンピューティング・デバイス１００が該コンピューティング・デバイス１００の一つまたは複数のコンポーネントと通信するために実行しうるルーチンまたはドライバを有していることができる。一つの実施形態では、BIOSファームウェア１０８は、不揮発性メモリ・コントローラ１１６を構成設定するためのルーチンを有していることができ、コンピューティング・デバイス１００の諸コンポーネントを構成設定するためのブートコード・ナブ１２８を有していることができる。一つの実施形態では、ブートコード・ナブ１２８は構成設定記憶１２６を更新してアドレス・デコーダ１３０がエンコードありまたはエンコードなしのチップセレクト語１３２、１３４のどちらを生成するかをプログラムしうる。BIOSファームウェア１０８はさらに、構成設定記憶１２６を更新して、どのチップセレクト線１２２0、１２２1、…、１２２Nが不揮発性メモリ素子１１８に結合されているかを示し、各不揮発性メモリ素子１１８の容量を示すことができる。
【００１８】
図１に示されているように、ブートコード・ナブ１２８は所定のチップセレクト線（たとえばチップセレクト線１２２0）に対応する不揮発性メモリ素子１２４内に存在しうる。さらに、図１のコンピューティング・デバイス１００は、BIOSファームウェア１０８が二つ以上の不揮発性メモリ素子１２４をカバーしうることを図示している。そのような一つの実施形態では、コンピューティング・デバイス１００はブートコード・ナブ１２８を実行することによって、不揮発性メモリ・コントローラ１１６を構成設定し、その他の不揮発性メモリ素子１２４および該その他の不揮発性メモリ素子１２４内に存在するBIOSファームウェア１０８の立ち上げルーチンへのアクセスを有効にすることができる。しかし、他の実施形態では、BIOSファームウェア１０８は単一の不揮発性メモリ素子１２４内に存在しているのでもよい。
【００１９】
チップセット１１０はさらに、バスを通じてI/O機器１３８（たとえば、マウス、キーボード、ビデオコントローラ、ネットワークインターフェースコントローラ、ハードディスク、フロッピー（登録商標）ディスク、無線受信機、無線送信機など）に結合したI/O（入出力）コントローラ（図示せず）を有していることができる。たとえば、チップセット１１０は、それぞれのバスを通じてデータを制御・転送するための、周辺コンポーネント相互接続（PCI）コントローラ、加速グラフィックポート（AGP）コントローラ、汎用シリアルバス（USB）コントローラ、低ピン数（LPC:  low  pin  count）バス・コントローラおよび／またはその他の入力および／もしくは出力（I/O）コントローラを有していることができる。
【００２０】
ここで図３を参照すると、システムの電源投入、システムのリセットまたは他の何らかのイベントに反応して図１または図２のコンピューティング・デバイス１００が実行しうる立ち上げ法が示されている。ブロック２００では、プロセッサ１０２がブートコード・ナブ・アドレス（たとえばFFFF_FFFFh）にジャンプしうる。ブロック２０２では、アドレス・デコーダ１３０が該ブートコード・ナブ・アドレスをデコードして、ブートコード・ナブ１２８を含んでいる所定の不揮発性メモリ素子１２４を選択するための単一のアクティブビットをもつチップセレクト語１３２、１３４（たとえば、エンコードなし、またはエンコードありのチップセレクト語CS_Word_0）を生成する。アドレス・デコーダ１３０はさらに、前記ブートコード・ナブ・アドレスに保存されているブートコード・ナブ１２８の部分を取得するために不揮発性メモリ・コントローラ１１６が使用しうる行アドレスおよび列アドレスを生成してもよい。
【００２１】
コンピューティング・デバイス１００がチップセレクト・デコーダ１３６をもたない場合、ブロック２０４で、アドレス・デコーダ１３０によって生成されたエンコードあり、あるいはエンコードなしのチップセレクト語１３２、１３４のアクティブなビットは、ブートコード・ナブ１２８を含んでいる所定の不揮発性メモリ素子１２４を選択しうる。しかし、コンピューティング・デバイス１００がチップセレクト・デコーダ１３６を有する場合には、ブロック２０６で、そのチップセレクト・デコーダ１３６がアドレス・デコーダ１３０からのエンコードあり、またはエンコードなしのチップセレクト語１３２、１３４をデコードすることができ、ブートコード・ナブ１２８を含んでいる所定の不揮発性メモリ素子１２４を選択するための単一のアクティブなビットをもつ、エンコードなしのチップセレクト語（たとえば、エンコードなしのチップセレクト語CS_Word_0）を生成することができる。チップセレクト・デコーダ１３６によって生成されたエンコードなしのチップセレクト語のアクティブなビットは、ブロック２０８でブートコード・ナブ１２８を含んでいる所定の不揮発性メモリ素子１２４を選択しうる。
【００２２】
ブロック２１０で、プロセッサ１０２は選択された不揮発性メモリ素子１２４からブートコード・ナブ１２８を取得し、実行しうる。一つの実施形態では、プロセッサ１０２は、コンピューティング・デバイス１００のたとえば不揮発性メモリ・コントローラ１２４などのコンポーネントをブートコード・ナブ１２８の実行に反応して構成設定することができる。特に、プロセッサ１０２は、該プロセッサ１０２がコンピューティング・デバイス１００がチップセレクト・デコーダ１３６を有していると判定した場合には、構成設定記憶１２６をエンコードありチップセレクト・モードに更新しうる。代替的に、プロセッサ１０２は、該プロセッサ１０２がコンピューティング・デバイス１００がチップセレクト・デコーダを含まないと判定した場合には、構成設定記憶１２６をエンコードなしチップセレクト・モードに更新しうる。
【００２３】
さらに、プロセッサ１０２は、ブートコード・ナブ１２８の実行に反応して、不揮発性メモリ・コントローラ１１６を、プロセッサ１０２によって検出された不揮発性メモリ素子１２４の種類と容量のために構成設定するよう構成設定記憶１２６を更新しうる。プロセッサ１０２はさらに、ブートコード・ナブ１２８を含んでいる所定の不揮発性メモリ素子１２４への諸アドレスのロールオーバーを無効にするよう構成設定記憶１２６を更新しうる。不揮発性メモリ・コントローラ１１６を構成設定したのち、プロセッサ１０２は、ブートコード・ナブ１２８またはBIOSファームウェア１０８が実行されるのに反応して、不使用のチップセレクト・ピンを、汎用目的イベント（GPE:  General  Purpose  Event）のような他の目的のために割り当て直すことができる。
【００２４】
本発明のある種の特徴について実施例を参照しつつ記載してきたが、その記載は限定的な意味に解釈されることを意図したものではない。実施例のさまざまな修正や本発明の他の実施形態が本発明に関係する業界の当業者には明らかであり、それらも本発明の精神と範囲のうちにはいるものと考えられる。
【図面の簡単な説明】
【００２５】
【図１】チップセレクト・デコーダをもたないコンピューティング・デバイスの実施形態を示す図である。
【図２】チップセレクト・デコーダをもつコンピューティング・デバイスの実施形態を示す図である。
【図３】図１および図２のコンピューティング・デバイスが実行できる起動方法を示す図である。
【図１】
2006528386.tif 000004
【図２】
2006528386.tif 000005
【図３】
2006528386.tif 000006
【国際調査報告】
2006528386.tif 000007
2006528386.tif 000008