(57)【要約】第一のタイプのバスのインターフェースをもつデバイスおよび第二のタイプのバスのインターフェースをもつデバイスのどちらの結合をもサポートする多重化バスを提供する装置および方法で、該多重化バスは少なくとも部分的には、どちらのタイプのデバイスにも結合でき、どちらのバスのためのプロトコルおよびタイミングを用いてでも転送を実行するように用いうる複数の共通信号線からなる。
2006514771.tif 000002
【特許請求の範囲】
【請求項１】
多重化バス・インターフェースと、
第一のタイプのバスのインターフェースをもつデバイスおよび第二のタイプのバスのインターフェースをもつデバイスのいずれか一つの活動をサポートするプロトコルおよびタイミングを用いてアドレス、命令、データを転送する複数の共通信号線を有する、前記多重化バス・インターフェースに結合し、該多重化バス・インターフェースによって制御される多重化バスと、
前記多重化バスに結合し、第一のタイプのバスのインターフェースをもつ第一のデバイスとを有する、
ことを特徴とする装置。
【請求項２】
前記多重化バスに結合し、第二のタイプのバスのインターフェースをもつ第二のデバイスをさらに有する請求項１記載の装置であって、前記多重化バスがさらに、第一のタイプのバスのインターフェースをもつデバイスの活動をサポートするプロトコルおよびタイミングを用いた転送中に前記第一のデバイスに信号を送る第一の調整信号線と、第二のタイプのバスのインターフェースをもつデバイスの活動をサポートするプロトコルおよびタイミングを用いた転送中に前記第二のデバイスに信号を送る第二の調整信号線とを有することを特徴とする装置。
【請求項３】
前記複数の共通信号線のうちの一本の共通信号線が前記第一および第二のデバイスに前記多重化バス・インターフェースによって供給されるクロック出力を転送し、そのクロックレートが、第一のタイプのバスのインターフェースをもつデバイスをサポートするプロトコルおよびタイミングを用いての前記第一のデバイスに向けられた転送の間は第一のクロックレート、第二のタイプのバスのインターフェースをもつデバイスをサポートするプロトコルおよびタイミングを用いての前記第二のデバイスに向けられた転送の間は第二のクロックレートと切り換えられることを特徴とする、請求項２記載の装置。
【請求項４】
前記多重化バスが、第一のタイプのバスのインターフェースをもつデバイスおよび第二のタイプのバスのインターフェースをもつデバイスのうちのいずれか一つに対して、第一のタイプのバスのインターフェースをもつデバイスまたは第二のタイプのバスのインターフェースをもつデバイスのいずれかをサポートするプロトコルおよびタイミングを用いた転送中に信号を送る調整信号線をさらに有することを特徴とする、請求項１記載の装置。
【請求項５】
第一のタイプのバスのインターフェースをもつデバイスをサポートするためのプロトコルおよびタイミングが前記共通信号線のうちの一本を通じたシリアル・データ転送をサポートし、第二のタイプのバスのインターフェースをもつデバイスをサポートするためのプロトコルおよびタイミングが前記共通信号線のうちの複数を通じたパラレル・データ転送をサポートすることを特徴とする、請求項１記載の装置。
【請求項６】
ＣＰＵと、
メモリ・システムと、
前記ＣＰＵおよび前記メモリ・システムの両者に結合したサポート論理と、
前記サポート論理に結合し、命令を実行する前記ＣＰＵによって制御可能な多重化バス・インターフェースと、
第一のタイプのバスのインターフェースをもつデバイスおよび第二のタイプのバスのインターフェースをもつデバイスのいずれか一つの活動をサポートするプロトコルおよびタイミングを用いてアドレス、命令、データを転送する複数の共通信号線を有する、前記多重化バス・インターフェースに結合し、該多重化バス・インターフェースによって制御される多重化バスと、
第一のタイプのバスのインターフェースをもち前記ＣＰＵによって実行されるべき複数の命令を保存している不揮発性メモリ・デバイスである、前記多重化バスに結合した第一のデバイスとを有する、
ことを特徴とするコンピュータ・システム。
【請求項７】
前記多重化バスに結合し、第二のタイプのバスのインターフェースをもつ第二のデバイスをさらに有する請求項６記載のコンピュータ・システムであって、前記第二のデバイスがＩ／Ｏデバイスであり、前記多重化バスがさらに、第一のタイプのバスのインターフェースをもつデバイスの活動をサポートするプロトコルおよびタイミングを用いた転送中に前記第一のデバイスに信号を送る第一の調整信号線と、第二のタイプのバスのインターフェースをもつデバイスの活動をサポートするプロトコルおよびタイミングを用いた転送中に前記第二のデバイスに信号を送る第二の調整信号線とを有することを特徴とするシステム。
【請求項８】
前記複数の共通信号線のうちの一本の共通信号線が前記第一および第二のデバイスに前記多重化バス・インターフェースによって供給されるクロック出力を転送し、そのクロックレートが、第一のタイプのバスのインターフェースをもつデバイスをサポートするプロトコルおよびタイミングを用いての前記第一のデバイスに向けられた転送の間は第一のクロックレート、第二のタイプのバスのインターフェースをもつデバイスをサポートするプロトコルおよびタイミングを用いての前記第二のデバイスに向けられた転送の間は第二のクロックレートと切り換えられることを特徴とする、請求項７記載のコンピュータ・システム。
【請求項９】
前記ＣＰＵが前記多重化バス・インターフェースを制御して前記多重化バス上で前記第一のタイプのバスのインターフェースをもつデバイスの存在を検査させるようにし、前記第一のデバイスを検出せしめるような命令を前記ＣＰＵが実行でき、前記ＣＰＵが前記多重化バス・インターフェースを制御して前記多重化バス上で前記第二のタイプのバスのインターフェースをもつデバイスの存在を検査させるようにし、前記第二のデバイスを検出せしめるような命令を前記ＣＰＵが実行する、ことを特徴とする、請求項７記載のコンピュータ・システム。
【請求項１０】
前記多重化バス・インターフェースに前記多重化バス上で前記第一のタイプのバスのインターフェースをもつデバイスの存在を検査させ、前記第一のデバイスを検出せしめるような命令を前記多重化バス・インターフェースが実行でき、前記多重化バス・インターフェースが前記多重化バス上で前記第二のタイプのバスのインターフェースをもつデバイスの存在を検査し、前記第二のデバイスを検出せしめ、前記多重化バス・インターフェースが前記ＣＰＵに前記第一および第二のデバイスが検出されたとの指示を与えることができる、ことを特徴とする、請求項７記載のコンピュータ・システム。
【請求項１１】
第一のタイプのバスのインターフェースをもつデバイスをサポートするためのプロトコルおよびタイミングが前記共通信号線のうちの一本を通じたシリアル・データ転送をサポートし、第二のタイプのバスのインターフェースをもつデバイスをサポートするためのプロトコルおよびタイミングが前記共通信号線のうちの複数を通じたパラレル・データ転送をサポートすることを特徴とする、請求項７記載のコンピュータ・システム。
【請求項１２】
前記多重化バスが、第一のタイプのバスのインターフェースをもつデバイスおよび第二のタイプのバスのインターフェースをもつデバイスのうちのいずれか一つに対して、第一のタイプのバスのインターフェースをもつデバイスまたは第二のタイプのバスのインターフェースをもつデバイスのいずれかをサポートするプロトコルおよびタイミングを用いた転送中に信号を送る調整信号線をさらに有することを特徴とする、請求項６記載のコンピュータ・システム。
【請求項１３】
前記ＣＰＵが前記多重化バス・インターフェースを制御して前記多重化バス上で前記第一のタイプのバスのインターフェースをもつデバイスの存在を検査させるようにし、前記第一のデバイスを検出せしめるような命令を前記ＣＰＵが実行できることを特徴とする、請求項１２記載のコンピュータ・システム。
【請求項１４】
多重化バスの第一の調整信号線をアクティブにして、前記多重化バスに結合している可能性のある第一のタイプのバスのインターフェースをもつデバイスに信号を送り、
第一のタイプのバスのインターフェースをもつデバイスとの間での前記多重化バスの複数の共通信号線を通じてのアドレス、命令、データの転送をサポートするのに適するプロトコルおよびタイミングを使って、前記多重化バス上で第一の形の活動を実行することを試み、
前記第一の形の活動に応答するデバイスがない場合に前記多重化バスの前記第一の調整信号線を非アクティブにし、
前記第一の形の活動に応答するデバイスがない場合に前記多重化バスの第二の調整信号線をアクティブにして、前記多重化バスに結合している可能性のある第二のタイプのバスのインターフェースをもつデバイスに信号を送り、
前記第一の形の活動に応答するデバイスがない場合に第二のタイプのバスのインターフェースをもつデバイスとの間での前記多重化バスの前記複数の共通信号線を通じてのアドレス、命令、データの転送をサポートするのに適するプロトコルおよびタイミングを使って、前記多重化バス上で第二の形の活動を実行することを試みる、
ことを含むことを特徴とする方法。
【請求項１５】
前記第一の形の活動を実行する試みがさらに前記複数の共通信号線のうちのクロック信号線を第一のクロックレートに設定することを含み、前記第二の形の活動を実行する試みがさらに前記クロック信号線を第二のクロックレートに設定することを含む、ことを特徴とする請求項１４記載の方法。
【請求項１６】
前記多重化バス上での前記第一の形の活動を実行する試みがさらに前記複数の共通信号線のうちのある単一の共通信号線上にてデータをシリアルで転送することを含み、前記多重化バス上での前記第二の形の活動を実行する試みがさらに前記複数の共通信号線のうちの少なくとも二本の共通信号線上にてデータをパラレルで転送することを含む、ことを特徴とする請求項１４記載の方法。
【請求項１７】
前記多重化バス上での第一の形の活動を実行する試みがさらに前記複数の共通信号線のうちの少なくとも二本の共通信号線上にてデータをパラレルで転送することを含み、前記多重化バス上での前記第二の形の活動を実行する試みがさらに前記複数の共通信号線のうちのある単一の共通信号線上にてデータをシリアルで転送することを含む、ことを特徴とする請求項１４記載の方法。
【請求項１８】
電子デバイス内のプロセッサによって実行されたときに、該電子デバイスに：
多重化バスの第一の調整信号線をアクティブにして、前記多重化バスに結合している可能性のある第一のタイプのバスのインターフェースをもつデバイスに信号を送り、
第一のタイプのバスのインターフェースをもつデバイスとの間での前記多重化バスの複数の共通信号線を通じてのアドレス、命令、データの転送をサポートするのに適するプロトコルおよびタイミングを使って、前記多重化バス上で第一の形の活動を実行することを試み、
前記第一の形の活動に応答するデバイスがない場合に前記多重化バスの前記第一の調整信号線を非アクティブにし、
前記第一の形の活動に応答するデバイスがない場合に前記多重化バスの第二の調整信号線をアクティブにして、前記多重化バスに結合している可能性のある第二のタイプのバスのインターフェースをもつデバイスに信号を送り、
前記第一の形の活動に応答するデバイスがない場合に第二のタイプのバスのインターフェースをもつデバイスとの間での前記多重化バスの前記複数の共通信号線を通じてのアドレス、命令、データの転送をサポートするのに適するプロトコルおよびタイミングを使って、前記多重化バス上で第二の形の活動を実行することを試みる、
ことをさせることを特徴とするコードを有する機械アクセス可能媒体。
【請求項１９】
前記プロセッサにさらに：
前記第一のデバイスが前記第一の形のバス活動に応答した場合、第一のタイプのバスのインターフェースをもつ第一のデバイスから命令を読み込み、
前記第二のデバイスが前記第二の形のバス活動に応答した場合、第二のタイプのバスのインターフェースをもつ第二のデバイスから命令を読み込む、
ことをさせることを特徴とする、請求項１８記載の機械アクセス可能媒体。
【請求項２０】
前記プロセッサにさらに：
前記多重化バス上で前記第一の形の活動を実行する試みの間、前記複数の共通信号線のうちのクロック信号線を第一のクロックレートに設定し、
前記多重化バス上で前記第二の形の活動を実行する試みの間、前記クロック信号線を第二のクロックレートに設定する、
ことをさせることを特徴とする請求項１８記載の機械アクセス可能媒体。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピュータ・システムはますます小型化を続け、その一方でまたますます高機能になりつつある。これは少なくとも部分的には、コンピュータ・システムの各コンポーネントがますます多様な機能を実行するようになり続けることが原動力となっている。特に、コンピュータ・システムの集積回路（IC：integrated  circuit）は、ますます多くの機能とオプションをそのＩＣを使うコンピュータ・システムのメーカーに提供すべく組み込むよう設計され続けている。
【０００２】
ＩＣおよびＩＣが取り付けられるコンピュータ・システム回路基板両方のメーカーにとっての永遠の課題は、ますます増え続ける数の機能やオプションのためにＩＣに備えなければならない増加する量の信号ピンのサポートを提供することである。ますます増加する量の信号ピンはますます多くのピンを提供できるますます高価なＩＣパッケージ化を要求する。さらに、小型で内部導体長も短く保つため、これらのより高価なＩＣパッケージは通例より大量のピンをますます高密度で配置し、ますます高密度で回路配線およびはんだランド（またはその他の導電性はんだ位置）を回路基板上に配置することを要求し、それにより回路基板のコストを上昇させる。追加コストおよびＩＣパッケージにより多くのピンを加える煩雑さを考えれば、所与のＩＣが要求するピンの数を制限する方法をみつけることが望ましい。
【０００３】
ピンの数を制限する一般的な方法は機能とピンの数とのかねあいをつけることであり、通例これは所与のＩＣによって実行される機能を制限する結果となり、場合によっては一部の機能を別のＩＣに移すことになるが、それは所与の電子機器におけるＩＣの数を増加させることがある。しかし、コンピュータ・システムの設計・製造の永遠の目標は、ＩＣを含めコンピュータ・システムで使われるコンポーネントの全体としての量を減らすことによって、コストを押し下げ、信頼性を増すことである。
【発明の開示】
【課題を解決するための手段】
【０００４】
以下の記述では、説明の目的で、本発明の深い理解を与えるためにおびただしい詳細が述べられるが、これらの特定の詳細が本発明を実施するために必須ではないことは当業者には明らかであろう。
【０００５】
本発明の実施形態は、二つの異なるバス・インターフェースのサポートを一つのＩＣに組み込むことに関わっている。そのためには、全く別個のピンの組を用いて二つのバスをサポートする場合に必要となるようなより多量のピンを配置する必要を回避するために、前記二つのバス・インターフェース機能の多くをＩＣの同一のピン上で多重化する。以下の議論は不揮発性メモリ・デバイスへのバス・インターフェースに的を絞っているが、特許請求される本発明は、多数あるうちのいかなる目的のためのものでも、二つまたはそれ以上のバスをサポートする際に実施しうることは、当業者には理解されることであろう。また、以下の議論はコンピュータ・システム内のＩＣに的を絞っているが、特許請求される本発明は、複数のバスへの接続をサポートする電子コンポーネントを有するその他の電子機器との関連でも実施しうることは当業者には理解されることであろう。
【０００６】
図１はコンピュータ・システムを用いる一つの実施形態のブロック図である。コンピュータ・システム１００は少なくとも部分的には、中央処理装置（CPU：central  processing  unit）１１０、フロント・サイド・バス（FSB：front  side  bus）１１２、ノース・ブリッジ論理１２０、リンク・バス１２２、サウス・ブリッジ論理１２４、メモリ・システム１３０、グラフィックス・コントローラ１５０、先進グラフィックス・ポート（AGP：advanced  graphics  port）バス１５２、ディスプレイ１５４、周辺バスコネクタ１６０、周辺バス１６２、記憶装置コントローラ１７０、記憶装置ドライブ１７２、記憶媒体１７４、多重化バス１４２、そして不揮発性メモリ・デバイス１４０ａおよび１４０ｂの一方または両方からなる。
【０００７】
ＣＰＵ１１０、ＦＳＢ１１２、ノース・ブリッジ論理１２０およびメモリ・システム１３０はコンピュータ・システム１００の中核をなし、機械読み取り可能な命令を実行する機能を持つ。ＣＰＵ１１０はノース・ブリッジ論理１２０にＦＳＢ１１２を通じて結合されており、ＣＰＵ１１０を支援するさまざまな機能を実行するもので、そのうちにはノース・ブリッジ論理１２０が結合されているメモリ・システム１３０へのアクセスを制御し、ＣＰＵ１１０に提供することも含まれる。さまざまな実施形態において、ＣＰＵ１１０は多様な種類があるＣＰＵのうちのいかなるものでもよく、そのうちには広く知られ、使われている「ｘ８６」命令セットの少なくとも一部を実行する機能を持ったＣＰＵも含まれる。そして他のさまざまな実施形態では、二つ以上のＣＰＵがあってもよい。さまざまな実施形態において、メモリ・システム１３０は多様な種類があるランダム・アクセス・メモリ（RAM：random  access  memory）のうちのいかなるものでもよく、そのうちには同期ダイナミックＲＡＭ（SDRAM：synchronous  dynamic  RAM）のファースト・ページ・モード（FPM：fast  page  mode）、拡張データ・アウト（EDO：extended  data  out）、シングル・データ・レート（SDR：single  data  rate）、またはダブル・データ・レート（DDR：double  data  rate）の形やＲＡＭＢＵＳ（商標）インターフェースを用いたさまざまな技術のＲＡＭなども含まれる。
【０００８】
グラフィックス・コントローラ１５０、ＡＧＰバス１５２およびディスプレイ１５４は、コンピュータ・システム１００のユーザーのために視覚的ユーザー・インターフェースを提供する機能を持つ表示システムをなす。ＡＧＰバス１５２は高速パラレル・バスで、ノース・ブリッジ論理１２０をグラフィックス・コントローラ１５０に結合させる。さまざまな実施形態において、ノース・ブリッジ論理１２０は、グラフィックス・コントローラ１５０とメモリ・システム１３０との間の非常に低遅延のデータ路を提供するよう構成される。グラフィックス・コントローラ１５０はさらにディスプレイ１５４に結合されており、ディスプレイ１５４が視覚像を与えるよう制御する。
【０００９】
サウス・ブリッジ論理１２４はリンク・バス１２２を介してノース・ブリッジ論理１２０に結合されており、コンピュータ・システム１００に機能を追加するためにさらなるデバイスが結合できるよう多重化バス１４２および周辺バス１６２のうちの一方または両方を備えている。周辺バス１６２は多重化バス１４２に比べより高速でより汎用のバスであり、該周辺バス１６２によって提供される広範な機能をサポートし、よりフルに利用できる、より複雑なデバイスとの結合をサポートするよう設計されている。多重化バス１４２は周辺バス１６２に比べるとより低速でより単純なバスで、比較的複雑でないデバイスの追加をサポートするよう設計されている。これにより、さまざまな形態の比較的単純なＩ／Ｏポート論理、メモリ・デバイス、タイマーなどが、コンピュータ・システム１００の機能を増すために追加できるようになる。
【００１０】
さまざまな実施形態において、さらなるデバイスが周辺バス１６２に直接結合されていてもよく、さまざまな実施形態において、さらなるデバイスが取り外し可能な形で周辺バス１６２に結合できるようにする方法を提供する一つまたは複数のコネクタ１６０が周辺バス１６２に備わっていてもよい。さまざまな実施形態において、周辺バス１６２は、拡張業界標準アーキテクチャ（EISA：extended  industry  standard  architecture）、マイクロ・チャンネル・アーキテクチャ（MCA：Micro  Channel［商標］  architecture）、周辺コンポーネント相互接続（PCI：peripheral  component  interconnect）、ＰＣＩ−Ｘなどのような、コンピュータ設計の業界において「標準」となっている多様な広く知られているバス形態のいずれかに適合するよう設計されていてもよい。
【００１１】
さまざまな実施形態において、周辺バス１６２やバス・コネクタ１６０を通じて（また多様なその他の形態の結合を通じて）コンピュータ・システム１００に結合されている可能性があるデバイスは記憶装置コントローラ１７０であり、これは今度は記憶装置ドライブ１７２に結合している。記憶装置コントローラ１７０は、記憶媒体１７４上のデータや命令にアクセスする手段となる記憶装置ドライブ１７２を制御する論理を提供する。実際、いくつかの実施形態では、記憶媒体１７４はＣＰＵ１１０によって実行される機械アクセス可能命令を担持している。その実行により、ＣＰＵ１１０が不揮発性メモリ・デバイス１４０ａおよび１４０ｂの一方または両方が存在するか否かを決定するのであるが、これについては後述する。記憶媒体１７４は、ＣＤまたはＤＶＤ  ＲＯＭ、磁気または光学ディスケット、光磁気ディスク、テープ、半導体メモリ、紙その他の材料上の文字または穿孔など、当業者にわかるであろう広範な種類・技術のもののうちのいずれでもよい。
【００１２】
コンピュータ・システム１００が最初に電源投入または初期化（たとえばコンピュータ・システム１００の「リセット」などによって）されるとき、一般的にはＣＰＵ１１０が実行すべき初期命令（時に「ファームウェア」「ＲＯＭコード」「基本入出力システム」「ＢＩＯＳ」などさまざまな呼ばれ方をする）を所定のメモリ・アドレスにみつけようと試みる。そのような初期命令を、不揮発性メモリ・デバイス１４０ａまたは１４０ｂのいずれかのような不揮発性メモリ・デバイスに保存しておくこともまた一般的な慣行である。図１に示したように、不揮発性メモリ・デバイス１４０ａまたは１４０ｂのどちらもサウス・ブリッジ論理１２４に多重化バス１４２を介して結合されうるが、やはり図１に示したように、不揮発性メモリ・デバイス１４０ａおよび１４０ｂのそれぞれは異なるインターフェースを有している。具体的には、不揮発性メモリ・デバイス１４０ａは「タイプＡ」インターフェースを有する一方、不揮発性メモリ・デバイス１４０ｂは「タイプＢ」インターフェースを有している。多くのさまざまな可能な実施形態において、タイプＡインターフェースとタイプＢインターフェースの間の可能な個々の相違はいくつあってもよい。これらの相違はタイミング、バイトのエンディアン性、シグナリングがオープン・コレクタかトライステートか、コマンド・プロトコル、データ伝送がパラレルかシリアルか、などといったものがありうる。図１に示したように、サウス・ブリッジ論理１２４は、タイプＡインターフェースまたはタイプＢインターフェースのどちらも受け入れられるよう構成された単一の多重化バス１４２を備えており、それにより不揮発性メモリ・デバイス１４０ａまたは１４０ｂのどちらもが多重化バス１４２およびサウス・ブリッジ論理１２４を通じてコンピュータ・システム１００とともに用いることができるようになっている。
【００１３】
不揮発性メモリ・デバイス１４０ａおよび１４０ｂのタイプＡとタイプＢのインターフェースのように異なるインターフェースのデバイスの装着を可能にするため、サウス・ブリッジ論理１２４は、多重化バス１４２に結合したデバイスに問い合わせをしてそれらのデバイスが使っているインターフェースのタイプを同定するとともに、それらのデバイスに見出された異なるインターフェースとバス・トランザクションを実行するためのインターフェース論理を含んでいる。多重化バス１４２およびこのインターフェース論理が異なるインターフェースをサポートする設計は、主として、異なるインターフェースをサポートするために必要な複数の信号をサウス・ブリッジ論理１２４のピン上に多重化させることによっている。それにより、サウス・ブリッジ論理１２４のピンのうちに複数の異なるインターフェースに結合されているサブセットができ、それにより、異なるインターフェースのそれぞれに完全に別個のピンのセットを提供しようとサウス・ブリッジ論理１２４から追加のピンを出すことなく複数の異なるインターフェースがサポートできるようになる。具体的には、タイプＡとタイプＢのインターフェースのために完全に別個のインターフェースを用意しようとしてサウス・ブリッジ論理１２４に追加的なピンを設けたりすることなく、サウス・ブリッジ論理１２４のピンのうち多重化バス１４２を構成するサブセットのピンは、不揮発性メモリ・デバイス１４０ａおよび１４０ｂのタイプＡとタイプＢ両方のインターフェースに結合される。
【００１４】
さまざまな実施形態において、多重化バス１４２はタイプＡとタイプＢのインターフェースを同時に受け入れられるよう構成されうる。タイプＡインターフェースをもつデバイスとタイプＢインターフェースをもつデバイスの両方が同時にバス１４２に結合されることができるということである。あるいはまた、多重化バス１４２はインターフェースのタイプＡおよびタイプＢのどちらもサポートするが、タイプＡインターフェースをもつデバイスとタイプＢインターフェースをもつデバイスの両方を同時に装着することはサポートしないよう構成することもできる。また、明確のため図１には示していないが、多重化バス１４２のいくつかの実施形態は、不揮発性メモリ・デバイス１４０ａおよび１４０ｂの一方または両方の結合をサポートすることに加えて、コンピュータ・システム１００にキーボード、マウス、プリンタ、モデム、赤外線トランシーバなどのためのインターフェースを提供するデバイスのような、命令の保存以外の機能を実行するデバイスをサポートするよう構成されることも可能である。
【００１５】
コンピュータ・システム１００は、さまざまなＩＣの間での機能の割り当て、バスの配置や種類、多くのさまざまなコンポーネントなど、さまざまな個別的詳細をもって示され、記述されているが、コンピュータ・システム１００が非常に多数のアーキテクチャおよび実装が可能であるコンピュータ・システムのほんの一例でしかないことは当業者にはすぐ認識できることであろう。コンピュータ・システム１００はコンピュータ・システムのほんの一つの個別的な実装にすぎず、コンピュータ・システムのそのような詳細が特許請求される本発明の精神および範囲には重要でないことは当業者には明らかであろう。
【００１６】
図２はバス・インターフェースを与える論理の実施形態のブロック図である。論理デバイス２１０はコンピュータ・システムのようなより大きな電子デバイスのコンポーネントである。具体的には、論理デバイス２１０は、コンピュータ・システムのいくつかの実施形態では、サウス・ブリッジ論理デバイスまたは一つもしくは複数のバスが結合されたコンピュータ・システムのその他のコンポーネントでありうる。論理デバイス２１０は少なくとも部分的には多重化バス・インターフェース２１４からなっている。ここを通じて論理デバイス２１０は、多重化バス２３２を介して、不揮発性メモリ・デバイス２４０ａおよび２４０ｂのタイプＡインターフェース２４４ａとタイプＢインターフェース２４４ｂの一方または両方との間でそれぞれ信号を送受信する。
【００１７】
多重化バス２３２は、多重化バス・インターフェース２１４、タイプＡインターフェース２４４ａ、タイプＢインターフェース２４４ｂの三つすべての間で共有されうる共通信号線２３６、多重化バス・インターフェース２１４が該多重化バス・インターフェース２１４とタイプＡインターフェース２４４ａとの間のバス活動の調整をとるのに使う調整信号２３８ａ、多重化バス・インターフェース２１４が該多重化バス・インターフェース２１４とタイプＢインターフェース２４４ｂとの間のバス活動の調整をとるのに使う調整信号２３８ｂからなる。本質的には、多重化バス・インターフェース２１４は多重化されたバス、すなわち多重化バス２３２を提供する。これは、タイプＡインターフェース２４４ａが結合されるよう設計されたタイプＡのバスおよびタイプＢインターフェース２４４ｂが結合されるよう設計されたタイプＢのバスの両方からの信号および機能を組み合わせるものであり、タイプＡ、タイプＢのバス両方の信号の少なくとも一部をタイプＡインターフェース２４４ａおよびタイプＢインターフェース２４４ｂの両者によって共有できる共通の信号線セットの上に多重化しようとするものであり、調整信号２３８ａおよび２３８ｂを通じて共通の信号線セットの上で多重化された活動の調整をとるものである。
【００１８】
タイプＡバスからのどの信号（あるいは複数の信号でもよい）が調整信号２３８ａとして使われるかは、タイプＡバスの信号およびプロトコルの特徴に依存する。たとえば、タイプＡバスのプロトコルが、タイプＡバスと一緒に使われるよう設計されたインターフェースに、所与のチップ・セレクトまたはその他の制御入力が非アクティブのときに多重信号をトライステートすることを要求するようなものである場合、その制御入力が調整信号２３８ａとして使われうる。あるいはまた、タイプＡバスのプロトコルが、タイプＡバスと一緒に使われるよう設計されたインターフェースに、クロック入力においてある数のクロック・パルスが生じ、他の信号線上で何らかの特定の形の活動が起こらなかったときに多重信号をトライステートすることを要求するようなものである場合、そのクロック入力が調整信号２３８ａとして使われうる。調整信号２３８ｂについても同様の例が成り立つ。また、タイプＡバスと一緒に使われるよう設計されたインターフェースが通常そのインターフェースがバス活動に携わっていないときにそのいくつかの信号をトライステートし、一方タイプＢバスと一緒に使われるよう設計されたインターフェースはオープン・コレクタ・バスに縛られるよう設計されたいくつかの信号を使っているような場合にも、タイプＡバスのトライステート可能信号のいくつかをタイプＢバスのオープン・コレクタ信号のいくつかと多重化させることが可能となりうる。そのためには、この多重化を可能にするために必要に応じて適切なプル・アップ抵抗もしくはプル・ダウン抵抗またはその両方が用いられることが前提である。
【００１９】
当業者は認識することであろうが、図２に示したのはいくぶん単純化してある。個々の信号の電気的特性やタイプＡ、タイプＢのバスについてそれらがアクティブ、非アクティブになると予期される時刻によっては、調整信号２３８ａおよび２３８ｂ以上のものが多重化バス・インターフェース２１４をタイプＡインターフェース２４４ａおよびタイプＢインターフェース２４４ｂのうちのどちらか一方のみに結合させることもありうる。これは、タイプＡとタイプＢのバスが必要とする信号線の数が互いに同一でなく、タイプＡインターフェース２４４ａまたはタイプＢインターフェース２４４ｂのいずれかが他方よりも多重化バス・インターフェース２１４に結合した信号の数を多く有しているかもしれないという可能性からも生じる。
【００２０】
図３はバス・インターフェースを与える論理の実施形態のより詳細なブロック図で、より具体的な信号の詳細を示している。図２の論理デバイス２１０と同様、論理デバイス３１０はコンピュータ・システムのようなより大きな電子デバイスのコンポーネントであり、コンピュータ・システムのいくつかの実施形態では、一つまたは複数のバスが結合されたコンピュータ・システムのサウス・ブリッジ論理デバイスその他のコンポーネントでありうる。論理デバイス３１０は少なくとも部分的には多重化バス・インターフェース３１４からなっており、これがシリアル周辺インターフェース（SPI：serial  peripheral  interface）バスおよび低ピンカウント（LPC：low  pin  count）バス両方のプロトコルおよびタイミングをサポートできる多重化バス３３２を提供する。多重化インターフェースは多重化バス３３２を通じて、不揮発性メモリ・デバイス３４０ａおよび３４０ｂのＳＰＩインターフェース３４４ａおよびＬＰＣインターフェース３４４ｂの一方または両方との間でそれぞれ信号の送受信をする。以下の議論から明らかとなるだろうが、多重化バス・インターフェース３１４および多重化バス３３２はＬＰＣデバイスおよびＳＰＩデバイスの両方を、望むなら同時に多重化バス３３２に結合することに対応するよう意図されている。
【００２１】
多重化バス・インターフェース３１４は、広く知られているＳＰＩバスまたはＬＰＣバスのいずれかをインターフェースとするよう設計されているデバイスがバス３３２に結合できるようにする特徴を有するバス３３２を提供する。ＳＰＩはモトローラ社によって導入され、マイクロコントローラの分野でＥＥＰＲＯＭ、ＤＳＰ、ＬＥＤ数字ディスプレイ・ドライバを含む数多くの種類のデバイスの装着に広く使われるに至っている。最大２０Ｍｂｐｓの現在のデータレートと、データレートを最大２５Ｍｂｐｓに上げようとする業界内での現在の動きからすると、ＳＰＩは長くなじみのあったＩ２Ｃバスの後継と見なされる。ＬＰＣはインテル社によって導入され、パソコン分野でフラッシュＲＯＭおよびＩ／Ｏコントローラ・チップを含む数多くの種類のデバイスの装着に広く使われるに至っており、ユーザー・インターフェース・デバイスにインターフェースを提供している。現在１６．５ＭＢ／ｓｅｃと高いデータレートを有するＬＰＣは、データレートは同等だがずっと多くの信号を必要とし、よってずっと多くのピンをパソコンの一部をなすＩＣ上に必要とするＩＳＡのようなバスの代替として広く使われる。
【００２２】
多重化バス３３２を構成する信号のうち、−ＣＳ  ３３８ａおよびＬＦＲＡＭＥ＃  ３３８ｂは調整信号であり、多重化バス・インターフェース３１４はこれを該多重化バス・インターフェース３１４とＳＰＩインターフェース３４４ａおよびＬＰＣインターフェース３４４ｂのそれぞれとの間のバス活動の調整をとるのに使う。ＳＰＩバスになじみのある者なら−ＣＳ  ３３８ａはＳＰＩバスの「チップ・セレクト」信号であり、スレーブ・デバイス（不揮発性メモリ・デバイス３４０ａなど）の他の信号はトライステートされており、その−ＣＳ入力が非アクティブ（高状態）にされたときにはそのようなスレーブ・デバイスのインターフェース（ＳＰＩインターフェース３４４ａなど）によって無視されることを認識するであろう。ＬＰＣバスになじみのある者にはＬＦＲＡＭＥ＃  ３３８ｂがＬＰＣバス上でアドレスや命令、データの有効な転送の開始および終了の「フレームを与える」信号であり、周辺デバイス（不揮発性メモリ・デバイス３４０ｂなど）の他の信号はトライステートされており、そのＬＦＲＡＭＥ＃入力が非アクティブ（高状態）にされたときはそのような周辺デバイスのインターフェース（ＬＰＣインターフェース３４４ｂなど）によって無視されることを認識するであろう。多重化バス・インターフェース３１４は−ＣＳ  ３３８ａおよびＬＦＲＡＭＥ＃  ３３８ｂを使って不揮発性メモリ・デバイス３４０ａおよび３４０ｂのうちのどちらか一方を選んでそれぞれバス活動に従事させ、不揮発性メモリ・デバイス３４０ａおよび３４０ｂの間のバスの衝突を防止する。
【００２３】
−ＣＳ  ３３８ａおよびＬＦＲＡＭＥ＃  ３３８ｂが調整信号としてはたらき、残りの信号が非調整信号３３６のセットをなす。非調整信号３３６としては、ＳＰＩインターフェース３４４ａおよびＬＰＣインターフェース３４４ｂにつながるリセット信号が描かれている。ＬＰＣインターフェースは、ＬＰＣバスに装着されたデバイスに対して該ＬＰＣバスが存在するコンピュータ・システムの他のコンポーネントがリセットされたときにリセット信号を伝えるリセット信号（ＬＲＥＳＥＴ＃と呼ばれる）を特別に規定している。しかし、当業者は理解するであろうが、ＬＰＣバスに装着されたデバイスでも不揮発性メモリ・デバイス３４０ｂのような特定の単純なデバイスはリセット信号を必要としないということも考えられる。ＳＰＩインターフェースはいかなる形であれリセット信号は特別に規定していないが、ＳＰＩバスに装着された複雑なデバイス（おそらくは不揮発性メモリ・デバイス３４０ａより複雑なデバイス）がリセット信号を必要とするということも考えられる。多重化バス・インターフェース３１４のさまざまな可能な実施形態は、多重化バス３３２に装着されたデバイスに対するリセット信号を有していてもよいし、有していなくてもよい。また、多重化バス・インターフェース３１４および多重化バス３３２が存在するコンピュータ・システムまたはその他の電子機器のさまざまな可能な実施形態では、多重化バス・インターフェース３１４の代わりにリセット信号を提供する他の論理または別のバスを有していてもよい。
【００２４】
非調整信号３３６として描かれているものに、ＳＰＩインターフェース３４４ａおよびＬＰＣインターフェース３４４ｂにつながるクロック信号がある。ＳＰＩバスおよびＬＰＣバスはいずれも、アドレス、命令、データをバスを通じて転送する際の同期のためにクロック信号を必要とする（ＳＰＩではＳＣＫまたはＳＣＬＫと呼ばれ、ＬＰＣではＬＣＬＫと呼ばれる）。不揮発性メモリ・デバイス３４０ａおよび３４０ｂそれぞれのデータレートの個別の要求ならびに多重化バス・インターフェース３１４の具体的な設計に応じて、多重化バス３３２上でのＳＰＩタイプおよびＬＰＣタイプ両方のバス活動を同期させるのに同じクロック信号を使うことも可能でありうる。具体的には、ＳＰＩは現在最大２０ＭＨｚのクロックをサポートしているが（新たな最大クロックレートとして２５ＭＨｚが今では提案されているが）、いくつかの実施形態では、不揮発性メモリ・デバイス３４０ａはそのようなクロックを十分に活用するレートでデータを転送することはできないということもありうる。同様に、いくつかの実施形態では、不揮発性メモリ・デバイス３４０ｂはＬＰＣによって現在サポートされている最大３３ＭＨｚのクロックを十分に活用するレートでデータを転送することはできないということもありうる。いくつかの実施形態では、クロック信号のこの共有は多重化バス・インターフェース３１４の論理が可変周波数クロックを与えることができるように設計することを伴ったものでもよい。クロック信号が、行われるバス活動のタイプに応じて二つの異なる周波数（ＳＰＩの現在の２０ＭＨｚおよびＬＰＣの現在の３３ＭＨｚなど）の間で切り換わるのである。他の実施形態では、ＳＰＩタイプおよびＬＰＣタイプのバス活動のために共通クロック周波数（将来採用されうるＳＰＩの最大クロックレート２５ＭＨｚなど）を選んでそれを使うようにする。これは、これら二つのタイプのバス活動のうちの少なくともどちらか一方がそのタイプのバス活動で可能な最大値よりも遅いクロックに同期されるという結果になる。そのほかに、別の実施形態では、不揮発性メモリ・デバイス３４０ａおよび３４０ｂの両方に別個のクロック信号を与えることによって、多重化バス・インターフェース３１４の設計に一定の単純さを維持するとともに、ＬＰＣデバイスおよびＳＰＩデバイスの両方のデータ転送レートを最適化することが望ましいこともありうる。
【００２５】
非調整信号３３６はまたＬＡＤ０からＬＡＤ３を含むものとして描かれている。これはＬＰＣバス上でアドレス、命令、データを転送する４ビット幅の双方向パラレル信号の組をなす。図に示したように、ＬＡＤ２およびＬＡＤ３はＭＩＳＯおよびＭＯＳＩと多重化されている。このＭＩＳＯ、ＭＯＳＩは、ＳＰＩバスにおいてアドレス、命令、データを転送するマスター・イン・スレーブ・アウト（master-in-slave-out）およびマスター・アウト・スレーブ・イン（master-in-slave-out）の単方向シリアル信号をなす。この結果、多重化されたＬＡＤ２／ＭＯＳＩおよびＬＡＤ３／ＭＩＳＯ信号ができる。当業者はすぐ認識するであろうが、特許請求される本発明の精神と範囲から逸脱することなく、ＬＰＣおよびＳＰＩ転送信号の異なる組み合わせをつくるような、他の形の多重化を利用することもできる。
【００２６】
ＬＰＣデバイスもしくはＳＰＩデバイスまたはその両方の存在や不在を決定することは、多重化バス・インターフェース３１４がＬＰＣデバイスもしくはＳＰＩデバイスまたはその両方の存在を問い合わせる一つまたは複数の動作を多重化バス３３２に対して実行することによって実現される。さまざまな実施形態において、多重化バス・インターフェース３１４は、一つまたは複数の読み出し動作を実行しようと試みうる。まずＬＰＣプロトコルまたはＳＰＩプロトコルのどちらか一方を使って、そして反応がなかった場合にはその後前記二つのプロトコルのもう一方を使うのである。ＬＦＲＡＭＥ＃信号３３８ｂとは別個の−ＣＳ信号３３８があることで、前記試みられる読み出し動作は、前記二つのインターフェースのうちの一方をもつデバイスをみつけようとするときに前記二つのインターフェースのうちの他方をもつデバイスから干渉を受けることなく実行することができる。
【００２７】
図４はバス・インターフェースを与える論理のもう一つの実施形態のより詳細なブロック図で、より具体的な信号の詳細を示している。図２および図３の論理デバイス２１０および３１０と同様、論理デバイス４１０はコンピュータ・システムのようなより大きな電子デバイスのコンポーネントであり、コンピュータ・システムのいくつかの実施形態では、一つまたは複数のバスが結合されたコンピュータ・システムのサウス・ブリッジ論理デバイスその他のコンポーネントでありうる。論理デバイス３１０と同様に、論理デバイス４１０は少なくとも部分的には多重化バス・インターフェース４１４からなっており、これを通じて論理デバイス４１０は、多重化バス４３２を介して、不揮発性メモリ・デバイス４４０ａおよび４４０ｂのＳＰＩインターフェース４４４ａおよびＬＰＣインターフェース４４４ｂのうちのいずれか一方のみとの間でそれぞれ信号の送受信をする。多重化バス・インターフェース３１４および多重化バス３３２ではＬＰＣデバイスおよびＳＰＩデバイスの両方を多重化バス３３２に同時に結合することにも対応できたのに対し、多重化バス・インターフェース４１４および多重化バス４３２はいかなる時点でもＬＰＣデバイスまたはＳＰＩデバイスのどちらか一方のみを多重化バス４３２に結合することに対応することを意図されている。
【００２８】
多重化バス４３２の図３の多重化バス３３２との間の主たる違いは、ＬＰＣバスのＬＦＲＡＭＥ＃信号をＳＰＩバスの−ＣＳ信号と同一の信号線に多重化していることである。これにより論理デバイス４１０がこれら二つの信号を別個の信号線に載せられるようにする追加のピンを設ける必要をなくなるが、その反面前述したように、多重化バス４３２はＬＰＣデバイスまたはＳＰＩデバイスのどちらにも対応できるが両方同時には対応できないという結果になる。ＬＰＣデバイスまたはＳＰＩデバイスが装着されているかどうかを決定し、それにより多重化バス４３２を制御するのに多重化バス・インターフェース４１４をＬＰＣバスとするべきかＳＰＩバスとするべきかを決定することは、多重化バス・インターフェース４１４がＬＰＣデバイスもしくはＳＰＩデバイスまたはその両方の存在を問い合わせる一つまたは複数の動作を多重化バス４３２に対して実行することによって実現される。
【００２９】
ある実施形態では、多重化バス・インターフェース４１４は一つまたは複数の読み出し動作を実行する試行において、ＳＰＩバスのプロトコルおよびタイミングによってＬＦＲＡＭＥ＃／−ＣＳ信号４３８を非調整信号４３６のうちクロック、ＬＡＤ２／ＭＯＳＩおよびＬＡＤ３／ＭＩＳＯ信号とともに使う。ＳＰＩデバイス（ＳＰＩインターフェース４４４ａをもつ不揮発性メモリ・デバイス４４０ａなど）が存在していれば、多重化バス・インターフェース４１４はそのＳＰＩデバイスからＬＡＤ３／ＭＩＳＯ信号を通じて一つまたは複数のバイトの何らかの形のデータや命令などを受け取るはずである。ＬＰＣバスの要求によりＬＡＤ０からＬＡＤ３信号にプルアップ抵抗があることを考えると、ＳＰＩデバイスが存在しないということは、多重化バス・インターフェース４１４がＬＡＤ３／ＭＩＳＯから受け取るビットがみな１であるという結果になるはずである。しかし、ＳＰＩデバイスが存在しないことをさらに確証するため、いくつかの実施形態では、ＬＡＤ３／ＭＩＳＯのプルアップ抵抗を切り換え可能にしておいて、ＬＡＤ３／ＭＩＳＯをプルダウンしてから読み出し動作の試行を反復することが望ましいと考えられることもある。ＳＰＩデバイスが存在していなければ、結果は多重化バス・インターフェース４１４がＬＡＤ３／ＭＩＳＯから受け取るビットはみな０という結果になるはずである。ＳＰＩデバイスがみつかれば、多重化バス４３２はその後ＳＰＩバスとして動作させられる。しかし、ＳＰＩデバイスがみつからなければ、さまざまな可能な実施形態において、ＬＰＣデバイスが存在するものと想定することもできるし、あるいはＬＰＣデバイスの存在を確認するためにＬＰＣのプロトコルを使って多重化バス４３２に対して読み出しその他の動作を実行することもできる。
【００３０】
ある実施形態では、多重化バス・インターフェース４１４は一つまたは複数の読み出し動作を実行する試行において、ＬＰＣバスのプロトコルおよびタイミングによってＬＦＲＡＭＥ＃／−ＣＳ信号４３８を非調整信号４３６のうちの全部の信号とともに使う。しかし、多重化バス・インターフェース４１４と存在するかもしれないＳＰＩデバイスとの間で起こりうるショート対策として、多重化バス・インターフェース４１４は実際にはＬＡＤ３／ＭＩＳＯの駆動にプルアップ抵抗またはプルダウン抵抗を使ってもよい（さらに単純に、ＬＰＣ規格によってＬＡＤ３信号にすでに必須とされているプルアップ抵抗を使うのでもいいだろう）。また、存在するかもしれないＳＰＩデバイスが正しく応答できることを保証するため、いくつかの実施形態ではクロック信号は、ＬＰＣに設けられている３３ＭＨｚの最大値近いクロックレートではなく、２０ＭＨｚまたはそれより低いクロックレートで駆動されてもよい。ＬＰＣデバイス（ＬＰＣインターフェース４４４ｂを備えた不揮発性メモリ・デバイス４４０ｂなど）が存在すれば、多重化バス・インターフェース４１４は有効なＳＹＮＣバイトをＬＰＣデバイスからＬＡＤ０、ＬＡＤ１、ＬＡＤ２／ＭＯＳＩ、ＬＡＤ３／ＭＩＳＯを通じて受け取るはずである。ＳＰＩデバイスが存在していれば、多重化バス・インターフェース４１４はそのＳＰＩデバイスからＬＡＤ３／ＭＩＳＯ信号を通じて一つまたは複数バイトの何らかの形のデータ、命令などを受け取るはずである。デバイスが全く存在しない場合には、ＬＡＤ０からＬＡＤ３信号にＬＰＣの要求で設けられている通常のプルアップ抵抗が維持され、多重化バス・インターフェース４１４がＬＡＤ０、ＬＡＤ１、ＬＡＤ２／ＭＯＳＩ、ＬＡＤ３／ＭＩＳＯを通じて受け取るのは全部１のみであるはずである。
【００３１】
ＳＰＩデバイスやＬＰＣデバイスの存在を検査するさらに他の実施形態も可能であることは、当業者ならすぐ認識するであろうとおりである。そのようなデバイスの検査において、論理デバイス４１０が組み込まれているコンピュータ・システムまたは電子デバイスの設計の諸側面、論理デバイス４１０が結合している回路基板を通じて多重化バス・インターフェース４１４から所与のＬＰＣデバイスまたはＳＰＩデバイスに実際に与えられるのはどのような信号かといった情報を利用するような何らかの可能な方法を選ぶことも考えられる。たとえば、ＬＰＣデバイスが存在する場合にリセット信号がＬＰＣデバイスにしか向けられず、ＳＰＩデバイスには向けられないとわかっていれば、多重化バス・インターフェース４１４を通じてリセット信号を操作することにより、ＳＰＩデバイスの存在の検査を実行する間存在するかもしれないＬＰＣデバイスに応答させないようにすることができる。逆にＳＰＩデバイスのみがリセット信号を受信するとわかっている場合も同様である。
【００３２】
図２、３、４では多重化バス・インターフェース２１４、３１４、４１４は、描かれている別の論理デバイスに統合されているか、あるいは他の仕方で「組み込まれた」形でそれらの別の論理デバイスと描かれている多重化バスとの間のアクセスを仲介しているように描かれているが、当業者であれば、インターフェース２１４、３１４、４１４のうちの一部または全部が、広範な種類の可能な実施形態のいずれにおいてでも単体のデバイスとして実装されることも可能である。特に、当業者は、多重化バス・インターフェース２１４、３１４、４１４が付属する多重化バスへのアクセスをさらに別のバスまたは複数のバスを通じて他のデバイスに提供することも、特許請求される本発明の精神と範囲から外れることなく可能であることを認識するであろう。さらに、当業者は、さまざまな実施形態において、多重化バス・インターフェース２１４、３１４、４１４がさまざまなタイプのインターフェースをもつさまざまなデバイスの存在や不在を、付属の多重化バスを通じて、内部マイクロコントローラ、内部ＣＰＵ、ハードウェア論理、プログラム可能論理などを用いて自律的に、あるいは多重化バス・インターフェース２１４、３１４、４１４の一部または全部にとって外部にあるたとえば多重化バス・インターフェース２１４、３１４、４１４の一部または全部が何らかの形で組み込まれているコンピュータ・システムその他の電子デバイスのＣＰＵのような別のデバイスの制御のもとに、決定しうることは、すぐ理解することであろう。また、多重化バス・インターフェース２１４、３１４、４１４の一部または全部がさまざまなタイプのインターフェースをもつさまざまなデバイスの存在や不在を、付属の多重化バスを通じて、内部ＣＰＵ，マイクロコントローラまたは命令を実行する同様の処理デバイスを通じて決定する場合において、デバイスの存在または不在に関するその決定を遂行するために実行される機械アクセス可能命令は、たとえば図１の記憶媒体１７４のような媒体から読み込むことができる。
【００３３】
図５は、ある実施形態のフローチャートである。タイプＡバス用のインターフェースをもつデバイスとタイプＢバス用のインターフェースをもつデバイスのどちらもサポートできる多重化バスにタイプＡバス用のインターフェースをもつデバイスが装着されているかどうかを決定する努力は、５１０において、タイプＡバスのための調整信号（たとえば図２の調整信号２３８ａ）をアクティブにすることによって開始される。５１２において、タイプＡバスのプロトコルを使って何らかの形のバス活動（読み込み動作など）を実行する試みがなされる。５１４において、もしタイプＡバスのインターフェースをもつデバイスからの応答が受信されれば、５２０においてタイプＢバスのインターフェースをもつデバイスは当該多重化バス上に存在しないと想定することができるか、あるいは５４０においてタイプＢバスのインターフェースをもつデバイスの検査を開始することができる。もしも５１４においてタイプＡバスのインターフェースをもつデバイスから応答が受信されなければ、５３０においてタイプＢバスのインターフェースをもつデバイスが存在するという想定をすることができるか、あるいは５４０において当該多重化バス上でのタイプＢバスのインターフェースをもつデバイスの存在の検査を開始することができる。当該多重化バス上でのタイプＢバスのインターフェースをもつデバイスの検査が行われる場合、５１０でアクティブにされたのと同じタイプＡバスのための調整信号が５４０において非アクティブにされる。５４２において、タイプＢバスのための調整信号（たとえば図２の調整信号２３８ｂ）がアクティブにされる。５４４において、タイプＢバスのプロトコルを使って何らかの形のバス活動を実行する試みがなされる。タイプＢバスのインターフェースをもつデバイスが存在していれば、続いて５４６において、当該多重化バスを通じてそのようなデバイスからの応答が受信される。
【００３４】
図６は別の実施形態のフローチャートである。タイプＡバス用のインターフェースをもつデバイスとタイプＢバス用のインターフェースをもつデバイスのどちらも（ただし両者同時にではない）サポートできる多重化バスにタイプＡバス用のインターフェースをもつデバイスが装着されているかどうかを決定する努力は、６１２において、タイプＡバスのプロトコルを使って何らかの形のバス活動（読み込み動作など）を実行するよう試みることによって始まる。６１４において、もしタイプＡバスのインターフェースをもつデバイスからの応答が多重化バスを通じて受信されれば、デバイスをみつけようとする努力は終了できる。しかし、タイプＡバスのインターフェースをもつデバイスから応答が受信されなければ、この実施形態のいくつかの変形においては、６２２においてタイプＢバスのインターフェースをもつデバイスが存在しているはずだという想定をすることができる。あるいはまた、この実施形態の他の変形においては、６３２においてタイプＢバスのプロトコルを使って何らかの形のバス活動を実行するよう試みることによって、タイプＢバスのインターフェースをもつデバイスをみつける努力がなされうる。タイプＢバスのインターフェースをもつデバイスが存在していれば、続いて６３４において、当該多重化バスを通じてそのようなデバイスからの応答が受信される。
【００３５】
本発明は好ましい実施形態との関連において記述されてきた。多数の代替、修正、変形、用途が以上の記述に照らせば当業者には明らかであろう。本発明がさまざまな可能なバス・インターフェースをもつさまざまな種類の電子デバイスをサポートするよう実践されうること、そしてＬＰＣバスまたはＳＰＩバスのインターフェースをもつ不揮発性メモリ・デバイスに限定されないことは、当業者には理解されるであろう。また、本発明がオーディオ・ビデオ娯楽機器、乗り物の制御装置、電子回路によって制御される機器などといった、コンピュータ・システム以外の電子デバイスをサポートするように実践されうることも当業者には理解されることであろう。
【図面の簡単な説明】
【００３６】
【図１】コンピュータ・システムを使用する一つの実施形態のブロック図である。
【図２】多重化バスを提供する論理のある実施形態のブロック図である。
【図３】多重化バスを提供する論理のある実施形態のより詳細なブロック図である。
【図４】多重化バスを提供する論理のある別の実施形態のより詳細なブロック図である。
【図５】ある実施形態のフローチャートである。
【図６】ある別の実施形態のフローチャートである。
【図１】
2006514771.tif 000003
【図２】
2006514771.tif 000004
【図３】
2006514771.tif 000005
【図４】
2006514771.tif 000006
【図５】
2006514771.tif 000007
【図６】
2006514771.tif 000008
【国際調査報告】
2006514771.tif 000009
2006514771.tif 000010
2006514771.tif 000011