(57)【要約】【課題】狭いインターフェイスに当初適応させたコンポーネント設計を、ハードウェアによるプロトコル変換を必要とせずに、より広い通信インターフェイスを使用する機器へ統合することを可能にする。【解決手段】機器は、広いプロトコルに従う通信のための物理インターフェイス、そして二つの機能コンポーネントを含む。第一の機能コンポーネントは、物理インターフェイスを介して通信する。第二の機能コンポーネントは、狭いプロトコルに従って通信するように適応した機能モジュール、そして物理インターフェイスを使用して二つの機能コンポーネントが相互に通信できるよう、二つのプロトコル間で変換するエミュレーション・モジュールを含む。【選択図】図２
2008530893.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）第一のプロトコルによる通信のための物理インターフェイス、
（ｂ）前記物理インターフェイスを介して通信するように適応した第一の機能コンポーネント、そして
（ｃ）第二の機能コンポーネントからなる機器であって、前記第二の機能コンポーネントが、
（ｉ）前記第一のプロトコルよりも狭い第二のプロトコルを使用して通信するように適応した機能モジュール、そして
（ii）前記物理インターフェイスを使用して前記第一および第二の機能コンポーネントが相互に通信することを可能にする、前記第一および第二のプロトコル間の変換のためのエミュレーション・モジュールを含む、機器。
【請求項２】
前記第二の機能コンポーネントが、前記機器の中央処理装置である、請求項１の機器。
【請求項３】
前記第一の機能コンポーネントが、前記機器のデータ記憶デバイスである、請求項１の機器。
【請求項４】
前記データ記憶デバイスがフラッシュメモリ・データ記憶デバイスである、請求項３の機器。
【請求項５】
前記第二の機能コンポーネントが、前記機器のデータ記憶デバイスである、請求項１の機器。
【請求項６】
前記データ記憶デバイスがフラッシュメモリ・データ記憶デバイスである、請求項５の機器。
【請求項７】
前記第一の機能コンポーネントが、前記機器の中央処理装置である、請求項１の機器。
【請求項８】
前記第二のプロトコルがＵＳＢプロトコルである、請求項１の機器。
【請求項９】
前記第二のプロトコルがＭＭＣプロトコルである、請求項１の機器。
【請求項１０】
前記第二のプロトコルがＳＤプロトコルである、請求項１の機器。
【請求項１１】
前記物理インターフェイスがランダム・アクセス・インターフェイスである、請求項１の機器。
【請求項１２】
前記第二のプロトコルが、シリアル・インターフェイスのプロトコルである、請求項１の機器。
【請求項１３】
第一のプロトコルを使用する物理インターフェイス、そして前記物理インターフェイスを介して通信する中央処理装置を含む機器のためのコンポーネントであって、前記コンポーネントが、
（ａ）前記第一のプロトコルよりも狭い第二のプロトコルを使用して通信するように適応した機能モジュール、そして
（ｂ）前記物理インターフェイスを使用して前記中央処理装置および前記コンポーネントが相互に通信することを可能にする、前記第二のプロトコルおよび前記第一のプロトコル間の変換のためのエミュレーション・モジュールからなる、コンポーネント。
【請求項１４】
前記機能モジュールがデータ記憶モジュールである、請求項１３のコンポーネント。
【請求項１５】
前記データ記憶モジュールがフラッシュメモリ・データ記憶モジュールである、請求項１４のコンポーネント。
【請求項１６】
前記第二のプロトコルがＵＳＢプロトコルである、請求項１３のコンポーネント。
【請求項１７】
前記第二のプロトコルがＭＭＣプロトコルである、請求項１３のコンポーネント。
【請求項１８】
前記第二のプロトコルがＳＤプロトコルである、請求項１３のコンポーネント。
【請求項１９】
前記第二のプロトコルが、シリアル・インターフェイスのプロトコルである、請求項１３のコンポーネント。
【請求項２０】
第一のプロトコルを使用する物理インターフェイス、そして前記物理インターフェイスを介して通信するコンポーネントを含む機器のための中央処理装置であって、前記中央処理装置が、
（ａ）前記第一のプロトコルよりも狭い第二のプロトコルを使用して通信するように適応した機能モジュール、そして
（ｂ）前記物理インターフェイスを使用して前記中央処理装置および前記コンポーネントが相互に通信することを可能にする、前記第二のプロトコルおよび前記第一のプロトコル間の変換のためのエミュレーション・モジュールからなる、中央処理装置。
【請求項２１】
前記第二のプロトコルがＵＳＢプロトコルである、請求項２０のコンポーネント。
【請求項２２】
前記第二のプロトコルがＭＭＣプロトコルである、請求項２０のコンポーネント。
【請求項２３】
前記第二のプロトコルがＳＤプロトコルである、請求項２０のコンポーネント。
【請求項２４】
前記第二のプロトコルがシリアル・プロトコルである、請求項２０のコンポーネント。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ・デバイス内の通信プロトコルの使用に関し、特に、別のプロトコル上で一つのプロトコルをエミュレートするモジュールに関する。
【背景技術】
【０００２】
コンピュータおよびコンポーネントは、ビットの形態にあるデータを表す電気信号を送受信することによって通信する。そのような通信のために使用されるインターフェイスは、概略的に、一度に単一ビットを転送するシリアル・インターフェイスと、同時に複数のビットを転送するパラレル・インターフェイスとに分類される。パラレル・インターフェイスは、同時に転送するデータ・ビット数が異なり、このデータ・ビット数は、インターフェイス「幅」と考えることができる。すなわち、１６ビットのインターフェイスは４ビットのインターフェイス「よりも幅が広い」。そして、最も狭いインターフェイスは、明らかに、一度に単一ビットを移動するシリアル・インターフェイスである。
【０００３】
より広いインターフェイスは、潜在的に、より高いデータ転送速度を提供するが、マルチ・ワイヤ結合ケーブルおよび回路を必要とする。このため、コンピュータ・コンポーネント間での内部通信に適当である。したがって、大方のコンピュータの標準データ・バスは、１６から６４ビットのパラレル・インターフェイスを採用する。パラレル・インターフェイスのもう一つの重要な利点は、メモリから直接にアプリケーションを実行するＲＡＭプロトコル、特に、機器を電源に接続した際に、コンピュータまたはコンピュータ化した機器の基本機能を初期化するブート・コード・プロトコルに適当であることである。例えば周辺機器またはメモリ・カード等の、外部の、または着脱可能なコンポーネントへコンピュータを結合する場合、周辺機器または着脱可能なコンポーネントへの接続が、狭いインターフェイス、多くの場合にシリアル・インターフェイスへの押し込みであり、コネクタやケーブルのサイズおよび信頼性が主要な課題になる。
【０００４】
コンピュータ産業は、外部デバイスまたは着脱可能なコンポーネントを結合するための、三つの一般的な狭いインターフェイスを規格化している。これらは、シリアル・インターフェイスであるユニバーサルシリアルバス（ＵＳＢ）、１から８ビットの狭いインターフェイスであるマルチメディアカード（ＭＭＣ）、そして１から４ビットの狭いインターフェイスであるセキュアデジタル（ＳＤ）である。これらの規格は、規格に準拠するデバイス間の効果的で信頼性の高いデータ転送を保証するための、物理的な、電気的な、そして論理的な特性を定義する。
【０００５】
コンピュータまたはコンピュータ化された機器が、内部で１６から６４ビットのバスを使用し、外部で典型的に、１から８ビットのより狭いバスを介して通信する場合、通常、一つの通信プロトコルを別の通信プロトコルへ変換するための、ハードウェア・コンポーネントまたはサブ・コンポーネントの形態にあるプロトコル変換器を含む。
【０００６】
図１は、背景技術の模範的なシステム１００を示す。このシステムにおいては、ホスト１１０、例えばパソコンまたはコンピュータ化された機器が、ＵＳＢリンク１２６を介して、周縁記憶デバイス１３０に結合している。ＵＳＢリンクは、ＵＳＢ規格の下で４本のワイヤを使用するが、一度に一つのデータ・ビットだけが転送される。ホスト１１０はＣＰＵ（中央処理装置）１１２を持ち、ＣＰＵは、例えば、読み込みおよび書き込みコマンド等の記憶に関するコマンドを記憶デバイス１３０へ送信するアプリケーションおよびドライバ（図示せず）から構成される。そのようなコマンドは、ＣＰＵ１１２とすべての内部コンポーネント（例えば、ハードディスク、光ドライブ、モデム、ネットワーク・カード等）との間の通信のための内部コンピュータ・バスのアーキテクチャに従って設計された内部バス１２４上のＣＰＵ１１２から出発する。そのバスは、通常、１６から６４ビット幅の広いパラレル・インターフェイスである。ホスト・コントローラ１１６は、シリアルＵＳＢリンク１２６を介してコマンドを送信するために、ＣＰＵ１１２から受信したコマンドを、シリアルＵＳＢプロトコルへ変換する。クライアント・コントローラ１３４が受信した場合は、記憶モジュール１３６上で実際の記憶に関するオペレーションを実行するために、コントローラ１３４がコマンドを、パラレル通信リンク１４４を介して転送されるコマンドへ変換する。コントローラ１３４は、通信コントローラ１３８および記憶管理コントローラ１３２を含む。注目すべきことは、コントローラ１３４が、処理機能を含む記憶デバイス１３０のすべてのコンポーネントを代表し、そして単一の、または複数の物理ユニットとして具現されてもよいということである。
【０００７】
外部ペリフェラルおよび着脱可能なコンポーネントの人気が、普及ソフトウェア・モジュール、コンポーネント設計および市販コンポーネントを、例えば、ＵＳＢまたはＭＭＣ等の、より狭い通信インターフェイスへと向けている。しかしながら、機器のデザイナーが、機器内にそのコンポーネントを恒久的に固定することを望みながら、例えばＵＳＢまたはＭＭＣ等の狭いインターフェイスのプロトコルに適応した設計の性能、標準化、可用性またはコストを考慮するときに特別な状況が起こる。このような状況下では、外部接続または着脱性に対する狭いインターフェイスの利点は、関係がなくなり、着脱可能な、または外部接続可能なコンポーネントに対して慣習的に使用しているハードウェア・プロトコル変換器の採用は、追加の複雑さ、コスト、スペース、そしておそらく、性能の低下を招く。
【０００８】
したがって、狭いインターフェイスに当初適応させたコンポーネント設計を、ハードウェアによるプロトコル変換を必要とせずに、より広い通信インターフェイスを使用する機器へ統合することを可能にする解決策が必要である。
【発明の開示】
【課題を解決するための手段】
【０００９】
本文から理解できるように、「広い」または「狭い」プロトコルは、「幅が広い」または「狭い」物理インターフェイスと共に使用することを意図したプロトコルである。この文脈における「幅」は、同時に交換されるビット数と定義する。１６ビット・インターフェイスまたはプロトコルは、８ビット・プロトコルの二倍幅が広い。
【００１０】
本文から理解できるように、「機器」は、独立型コンピュータ・デバイスであり、例えば、種々のサイズおよび形式のパソコン、移動電話、双方向ページャ、デジタルカメラおよびデジタル音楽プレーヤ等を含む。本文から理解できるように、「コンポーネント」は、機器内で独特な役割を持つ機器の一部である。
【００１１】
本発明によれば、（ａ）第一のプロトコルに従う通信のための物理インターフェイス、（ｂ）物理インターフェイスを介して通信するように適応した第一の機能コンポーネント、そして（ｃ）次のものを含む第二の機能コンポーネントからなる機器が提供される。（ｉ）第一のプロトコルよりも狭い第二のプロトコルを使用して通信するように適応した機能モジュール。そして（ii）物理インターフェイスを使用して第一および第二の機能コンポーネントが相互に通信することを可能にする、第一および第二のプロトコル間の変換のためのエミュレーション・モジュール。
【００１２】
本発明によれば、第一のプロトコルを使用する物理インターフェイス、そして物理インターフェイスを介して通信する中央処理装置を含む機器のための、次のもの含むコンポーネントが提供される。（ａ）第一のプロトコルよりも狭い第二のプロトコルを使用して通信するように適応した機能モジュール。そして（ｂ）物理インターフェイスを使用して中央処理装置とコンポーネントとが相互に通信することを可能にする、第二のプロトコルおよび第一のプロトコル間の変換のためのエミュレーション・モジュール。
【００１３】
本発明によれば、第一のプロトコルを使用する物理インターフェイス、そして物理インターフェイスを介して通信するコンポーネントを含む機器のための、次のものを含む中央処理装置が提供される。（ａ）第一のプロトコルよりも狭い第二のプロトコルを使用して通信するように適応した機能モジュール。そして（ｂ）物理インターフェイスを使用して中央処理装置とコンポーネントとが相互に通信することを可能にする、第二のプロトコルおよび第一のプロトコル間の変換のためのエミュレーション・モジュール。
【００１４】
本発明の機器は、第一のプロトコルによる通信のための物理インターフェイス、そして二つの機能コンポーネントを含む。第一の機能コンポーネントは、物理インターフェイスを介して通信するように適応している。第二の機能コンポーネントは、第一のプロトコルよりも狭い第二のプロトコル、例えば、ＵＳＢプロトコル、ＭＭＣプロトコルまたはＳＤプロトコルを使用して通信するように適応した機能モジュールを含む。ＵＳＢプロトコルは、シリアル・インターフェイスのプロトコルである第二のプロトコルの一例である。物理インターフェイスを使用して二つの機能コンポーネントが相互に通信することを可能にするために、第二の機能コンポーネントは、また、二つのプロトコル間の変換のためのエミュレーション・モジュールを含む。
【００１５】
第二の機能コンポーネントが機器の中央処理装置で、そして第一の機能コンポーネントが、フラッシュメモリ・データ記憶デバイス等のデータ記憶デバイスであることが好ましい。代替的に、第二の機能コンポーネントがフラッシュメモリ・デバイス等のデータ記憶デバイスで、第一の機能コンポーネントが機器の中央処理装置であってもよい。
【００１６】
物理インターフェイスはランダム・アクセス・インターフェイスであることが好ましい。
【００１７】
本発明の範囲は、また、例えば、機器の中央処理装置として、別個に第二の機能コンポーネントを含む。
【００１８】
本発明を、例としてのみ、添付の図面を参照して説明する。
【発明を実施するための最良の形態】
【００１９】
本発明は、プロトコルがサポートする物理的なインターフェイスよりも広い物理インターフェイスと共に、標準通信プロトコルの論理エミュレーションを利用するコンピュータ・システムおよびシステム・コンポーネントに関する。具体的には、本発明は、ＵＳＢ、ＭＭＣまたはＳＤ通信に対して当初意図したコンポーネント設計を、幅が広い通信インターフェイスを介して具現するように使用できる。
【００２０】
本発明によるコンピュータ・システム内のデータ交換の原理および作用は、図面と、その説明文を参照することによって適切に理解することができる。
【００２１】
本発明は、遍在する標準狭通信プロトコル（例えばＵＳＢまたはＭＭＣ）の論理特性の下で当初用意されたコンポーネント設計あるいはソフトウェア・モジュールの遍在性、信頼性、コストおよび入手可能性から利益を得ながら、例えば、改善された性能、メモリからのコード実行、そしてメモリからのブート等の、より幅が広い通信プロトコルの利点からも利益を得る。
【００２２】
本発明は、この目的を、例えば、ＣＰＵおよびメモリ・デバイスを含むシステムへ、エミュレート・プロトコル・コンバータ（「エミュレータ」）を付加することによって満たす。本発明のエミュレータは、狭い通信リンクに対する通信プロトコルの標準論理特性に準拠するコマンドを受信するように構成されて、これらのコマンドを、異なる、より幅が広い通信リンク上で送信する。例えば、通信プロトコルがＵＳＢプロトコルである場合、本発明は、ＵＳＢプロトコルと一緒に、同時に複数ビットを通過させることが可能な通信リンクを使用する。システム内の他のコンポーネントに対するエミュレータの位置は、本発明の異なる実施例に応じて変化する。図２および３に示す好適実施例は、他のシステム・コンポーネントに対してエミュレータを位置決めする、いくつかのオプションを示す。
【００２３】
さて、図面を参照する。図２は、本発明による第一の好適実施例である機器２００を示す。機器ＣＰＵ２０５は、例えば、オペレーティングシステム・サービス、ドライバ、ユーザ・アプリケーション等の、種々の機器機能２１０、および／あるいは機器２００の性質に応じて、例えば、写真撮影、音声録音、電話または音楽再生等の、専用機能を実行するように構成されたプロセッサである。例えば、コンポーネント２２０は、フラッシュメモリ・デバイス等の、不揮発性メモリ・デバイスであってもよい。具体的には、機器機能２１０は、機器２００内に恒久的に、または半恒久的に埋め込まれたコンポーネント２２０を利用する。機器機能２１０は、コンポーネント２２０が、狭いプロトコル、例えばＵＳＢプロトコルを使用すると仮定して、そのコンポーネント２２０と共作動するようにプログラムしたソフトウェア・モジュールを含む。しかしながら、ＣＰＵ２０５とコンポーネント２２０との間の実際の通信リンク２２６は、コンポーネント２２０を使用する機器機能２１０によって仮定したものよりも幅が広いプロトコルを使用する。プロトコルの間の相違は、機器機能２１０とコンポーネント２２０との間を論理的に連結するエミュレーション・モジュール２１５で解決する。これによって、機器機能２１０が、狭いプロトコルに基づいてコンポーネント２２０へ、そしてコンポーネントから、依然としてコマンドを送受信できるようにする。エミュレーション・モジュール２１５は、リンク２２６のプロトコルを使用してコンポーネント２２０が通信できるよう、コンポーネント２２０へ、そしてコンポーネントからの途中で、そのようなコマンドを適切に変換することを保証する。
【００２４】
原則として、コンポーネント２２０との通信のためのリンク２２６のより広いプロトコルを使用するように機器機能２１０を設計し、エミュレーション・モジュール２１５を不要にすることも可能であることは言うまでもない。しかしながら、本発明は、何らかの理由でより狭い通信のために当初設計された機器機能２１０の利用可能な、有利なデザインを、修正することなく現在の構成内に利用することを可能にする。したがって、機器機能２１０に対して外部にある本発明のエミュレーション・モジュール２１５は、より狭いプロトコルに対して当初設計された利用可能なモジュールを、機器機能２１０がコンポーネント２２０の異なるプロトコルを意識することなく使用できるようにする。同様に、リンク２２６のより広い通信のために設計されたコンポーネント２２０は、機器機能２１０が実際に使用する実際の、より狭いプロトコルを意識しない。
【００２５】
図３は、代替好適実施例である機器３００を示す。この機器においては、標準狭プロトコルがコンポーネント３１０の特性であるが、機器ＣＰＵ３０５は、より広いプロトコルを使用する機器コンポーネントである。本実施例におけるコンポーネント３１０は、コンポーネント３１０がその機能のためにプログラマブル・コントローラ（図示せず）を含むという点で洗練されている。コンポーネント３１０のコンポーネント機能３２０は、機器ＣＰＵ３０５へ有用なサービスを提供するためのハードおよびソフトを含む。コンポーネント機能３２０は、狭い通信路、例えばＵＳＢまたはＭＭＣを介してデータを送受信するように設計されている。しかしながら、コンポーネント３１０と機器ＣＰＵ３０５との間の実際の通信リンク３２６は、コンポーネント機能３２０に設計されたものよりも広い。この矛盾を克服するために、コンポーネント３１０のコントローラ上で実行されるソフトウェア・コードであることが好ましいエミュレーション・モジュール３１５は、機器ＣＰＵ３０５が、設計通りに、より広い通信プロトコルのみを「認識」し、そしてコンポーネント機能３２０が、予想通りに、より狭いプロトコルのみを「認識」するよう、コンポーネント機能３２０と機器ＣＰＵとの間で両方向に流れるデータを変換する。
【００２６】
注目すべきことは、エミュレーション・モジュール２１５および３１５が、各々の実施例内に既に存在するプロセッサ（ＣＰＵ２０５、そしてコンポーネント３１０のコントローラ）上で実行されるソフトウェア・コード・モジュールを含むことである。明らかなことは、これらのエミュレーション・モジュールによって、広い通信プロトコルを使用する環境内で、機器２００および３００の各々が、狭い通信プロトコルに対して当初設計されたコンポーネントまたはソフトウェア・モジュールを含むことが可能になることである。
【００２７】
図４は、図１に示す先行技術の例の改良バージョン内に、図３の実施例を具現したケースを示す。したがって、機器５００の設計者は、固定コンポーネントとして、また最小の修正を加え、図１に示すリムーバブル記憶デバイス１３０のデザインを埋め込むように選択する。しかしながら、ＵＳＢリンク１２６の使用は、現在の固定構成下では意味をなさないため、ホスト・コントローラ１１６は不要である。しかし、機器５００の設計者は、記憶デバイス１３０の既存のコンポーネントへの修正を最小限にしたい。追加の利益として、機器５００のメイン通信バス５２６は、プログラムを実行すること、そして特にブート・プログラム・メモリ５５０から機器５００をブートすることを可能にするＲＡＭプロトコルをサポートする。
【００２８】
記憶コンポーネント５３０は、記憶モジュール１３６、記憶管理モジュール１３２および（おそらくいくつかの修正を施して）ＵＳＢ通信モジュール１３８さえも含んで、図１に示す記憶デバイス１３０の主要なデザイン要素を維持する。しかしながら、ＵＳＢ通信モジュール１３８は、より広い通信リンク５２６と連結するには不適当である。その理由から、記憶コンポーネント５３０は、コントローラ５３４内にエミュレータ・モジュール５３２を含む。したがって、広通信リンク５２６を介してコントローラ５３４が受信するデータはすべて、コントローラ５３４によってＵＳＢコマンドへ変換され、その後、記憶管理モジュール１３２の指示の下で、コントローラ５３４によって、記憶モジュール１３６上のオペレーションへと処理可能である。逆に、記憶管理モジュール１３２からコントローラ５３４が受信したデータはすべて、より広い通信リンク５２６上を送信させるために、コントローラ５３４によって、エミュレーション・モジュール５３２を介して変換される。
【００２９】
記憶コンポーネント５３０は、また、記憶コンポーネント５３０からのブートを可能にする、ＲＡＭプロトコルのバス５２６によるサポートを利用するために、ブート・プログラム・メモリ５５０を含む。例えば、本発明の一つの模範的な実施例においては、記憶コンポーネント５３０は、所有者が同じで未決定の、名称「ＮＡＮＤフラッシュメモリ・システム・アーキテクチャ」の特許出願に説明したもののように構成する。なお、この特許出願は、すべての目的のために、参照によって完全に本文内に記述したものとする。記憶モジュール１３６は、機器５００に対するブート・コードを保存したＮＡＮＤフラッシュメモリである。ブート・プログラム・メモリ５５０は、ＳＲＡＭである。電源オンで、コントローラ５３４が、記憶モジュール１３６からブート・プログラム・メモリ５５０へ、ブート・コードをコピーし、機器ＣＰＵ５１２が、ブート・プログラム・メモリ５５０から、ブート・コードを実行する。
【００３０】
本発明を限られた数の実施例に関して説明したが、本発明の多くの変形、修正、そして他の応用が可能であることは明らかである。
【図面の簡単な説明】
【００３１】
【図１】背景技術によるデバイスおよびホストを示す概略ブロック図である。
【図２】本発明によるシステムの概略ブロック図である。
【図３】本発明によるシステムの概略ブロック図である。
【図４】図３に示すシステムの、特定な例の概略ブロック図である。
【図１】
2008530893.tif 000003
【図２】
2008530893.tif 000004
【図３】
2008530893.tif 000005
【図４】
2008530893.tif 000006
【国際調査報告】
2008530893.tif 000007