(57)【要約】少なくとも１つのプロセッサ（１０５）とメモリ（１０６）とを有する光トランシーバ（１００ａ）（または光送信機または光受信機）。光トランシーバは、光トランシーバがマイクロコードでどのように構成されているかによって複数のプロトコルのうちのいずれか１つを実装することができる。光トランシーバをそのように構成するために、光トランシーバに特定の１セットのマイクロコードのうちの１つが供給され、該１セットのマイクロコードのそれぞれが、メモリで受信され実行されるときに異なるプロトコルを実装することができる。次いで、プロトコルを実装するために、供給されたマイクロコードは光トランシーバによって実行される。異なるプロトコルを実装するために、異なるマイクロコードが光トランシーバに供給され実行される。
2008512904.tif 000002
【特許請求の範囲】
【請求項１】
メモリと少なくとも１つのプロセッサとを含み、該光トランシーバはマイクロコードでどのように構成されているかによって複数のプロトコルのうちのいずれか１つを実装することができる光トランシーバにおいて、該光トランシーバを該複数のプロトコルのうちの特定の１つを実装するように構成する方法であって、
該特定のプロトコルを該メモリに実装するように構成されたマイクロコードを受信する動作であって、該マイクロコードが１セットのマイクロコードのうちの１つであり、該１セットのマイクロコードのそれぞれが該メモリで受信され実行されるときに異なるプロトコルを実装することができる、該マイクロコードを受信する動作と、
該受信されたマイクロコードを実行する動作であって、該マイクロコードが、該少なくとも１つのプロセッサによって実行されるときに該特定のプロトコルのトランシーバ動作機能を該光トランシーバに実行させるように構造化されている、該受信されたマイクロコードを実行する動作と
を備える方法。
【請求項２】
前記光トランシーバで実装される前記特定のプロトコルを選択する動作
をさらに備える、請求項１に記載の方法。
【請求項３】
前記特定のプロトコルが、１Ｇ同期光ネットワーク（「ＳＯＮＥＴ」）、２Ｇ  ＳＯＮＥＴ、４Ｇ  ＳＯＮＥＴ、８Ｇ  ＳＯＮＥＴ、１０Ｇ  ＳＯＮＥＴ、１Ｇファイバ・チャネル、２Ｇファイバ・チャネル、４Ｇファイバ・チャネル、８Ｇファイバ・チャネル、１０Ｇファイバ・チャネル、１Ｇイーサネット、２Ｇイーサネット、４Ｇイーサネット、８Ｇイーサネット、１０Ｇイーサネット、１Ｇギガビット・イーサネット、１Ｇギガビット・イーサネット、２Ｇギガビット・イーサネット、４Ｇギガビット・イーサネット、８Ｇギガビット・イーサネット、１０Ｇギガビット・イーサネット、１Ｇ高速イーサネット、２Ｇ高速イーサネット、４Ｇ高速イーサネット、８Ｇ高速イーサネット、１０Ｇ高速イーサネット、１Ｇ光イーサネット、２Ｇ光イーサネット、４Ｇ光イーサネット、８Ｇ光イーサネットおよび１０Ｇ光イーサネットで構成されるグループから選択される、請求項１に記載の方法。
【請求項４】
前記特定のプロトコルを前記メモリに実装するように構成されたマイクロコードを受信する前記動作が、
前記光トランシーバに接続された外部ホストから前記マイクロコードを受信する動作
を備える、請求項１に記載の方法。
【請求項５】
前記特定のプロトコルを前記メモリに実装するように構成されたマイクロコードを受信する前記動作が、
リモートのネットワーク・サイトから前記マイクロコードを受信する動作
を備える、請求項１に記載の方法。
【請求項６】
前記特定のプロトコルを前記メモリに実装するように構成されたマイクロコードを受信する前記動作が、
前記マイクロコードにアクセスするのに必要なアクセス情報を受信する動作と、
前記マイクロコードにアクセスするために該アクセス情報を使用する動作と
を備える、請求項１に記載の方法。
【請求項７】
前記マイクロコードは第１のマイクロコードであり、前記特定のプロトコルが第１の特定のプロトコルであり、前記方法が、
第２の特定のプロトコルを前記メモリに実装するように構成された第２のマイクロコードを受信する動作と、
該受信された第２のマイクロコードを実行する動作であって、該第２のマイクロコードが、前記少なくとも１つのプロセッサによって実行されるときに、該第２の特定のプロトコルのトランシーバ動作機能を前記光トランシーバに実行させるように構造化されている、該受信された第２のマイクロコードを実行する動作と
を更に備える、請求項１に記載の方法。
【請求項８】
光送信機であって、
メモリと、
該メモリからマイクロコードを実行することができるように該メモリに通信可能な状態で接続された少なくとも１つのプロセッサと、
該光送信機の該メモリにマイクロコードを受信するための機構であって、該光送信機は該メモリに格納されたマイクロコードによって異なるプロトコルを使用して動作するように構成されている、機構と
を備える光送信機。
【請求項９】
前記光送信機が光トランシーバである、請求項８に記載の光送信機。
【請求項１０】
光受信機であって、
メモリと、
該メモリからマイクロコードを実行することができるように該メモリに通信可能な状態で接続された少なくとも１つのプロセッサと、
該光受信機の該メモリにマイクロコードを受信するための機構であって、該光受信機は該メモリに格納されたマイクロコードによって異なるプロトコルを使用して動作するように構成されている、機構と、
を備える、光受信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般には、光送受信機に関する。本発明は、より詳細には、異なるバージョンのマイクロコードを実行してその動作を管理することができる光送受信機に関する。
【背景技術】
【０００２】
コンピューティングおよびネットワーキング技術は、世界を変貌させてきた。ネットワークを介して通信される情報量が増加するにつれて、高速伝送は、かつてないほど重要なものとなってきた。多くの高速データ伝送ネットワークは、光信号の形で実施されたデジタル・データを光ファイバを介して送受信することを容易にするために光トランシーバおよび類似の装置に依存する。したがって、光ネットワークは、小さなローカル・エリア・ネットワーク（ＬＡＮ）のような小さいものから、インターネット・バックボーンと同じような大きいものまで、多種多様な高速アプリケーションにおいて見られる。
【０００３】
一般に、こうしたネットワーク内のデータ伝送は、レーザや発光ダイオード（ＬＥＤ）など、光送信機（電光変換器とも呼ばれる）を介して実施される。電光変換器は、電流が通過するときに光を放射し、その放射された光の強度は、電流の大きさの関数である。データ受信は一般に、光受信機（光電変換器とも呼ばれる）を介して実施され、この光受信機の１例は、フォトダイオードである。光電変換器は光を受信して電流を生成し、その生成された電流の大きさは、受信された光の強度の関数である。
【０００４】
様々な他の部品もまた光トランシーバによって使用されて、光送受信部品の制御、ならびに各種データおよび他の信号の処理に役立つ。たとえば、こうした光トランシーバは一般に、様々な制御入力に応答して光送信機の動作を制御するように構成されたドライバ（たとえば、レーザの駆動に使用される場合には「レーザ・ドライバ」と呼ばれる）を含む。光トランシーバは一般に、チャネル減衰された受信信号をさらなる処理に先立って増幅するように構成された増幅器（たとえば、しばしば「ポスト・アンプ」と呼ばれる）をも含む。コントローラ回路（以下「コントローラ」と称する）は、レーザ・ドライバおよびポスト・アンプの動作を制御する。
【０００５】
コントローラは一般に、ハードウェア内で状態マシンとして実装される。その動作は高速であるが、柔軟ではない。主として状態マシンであるので、コントローラの機能は、コントローラのハードウェア構造に制限される。ほとんどの光トランシーバは、たとえば、特定のプロトコルに制限されており、他のプロトコルを使用して動作するように容易には変更されることができない。多種多様な通信プロトコルを使用して通信するためのより柔軟な機能を有するコントローラが有利である。
【発明の開示】
【発明が解決しようとする課題】
【０００６】
従来技術に関する上記の問題は、少なくとも１つのプロセッサとメモリとを有する光トランシーバ（または光送信機または光受信機）に関する本発明の原理によって克服される。
【課題を解決するための手段】
【０００７】
光トランシーバは、マイクロコードで光トランシーバがどのように構成されているかによって複数のプロトコルのうちのいずれか１つを実装することができる。光トランシーバを特定のプロトコルを使用して動作するように構成するために、光トランシーバには一つの特定の１セットのマイクロコードが与えられ、該１セットのマイクロコードのそれぞれがメモリに受信され実行されると、異なるプロトコルを実装することができる。次いで、プロトコルを実装するために、与えられたマイクロコードが光トランシーバによって実行される。次いで、光トランシーバが異なるプロトコルを実装する場合、異なるマイクロコードが光トランシーバに与えられ、且つ実行される。したがって、単一の光トランシーバは、必要に応じて任意の数のプロトコルを使用して通信をサポートできるほど柔軟である。
【発明を実施するための最良の形態】
【０００８】
本発明の追加の特徴および利点は、以下の記載で説明され、一部はその記載から明らかになり、または本発明を実施することによって習得することができる。本発明の特徴および利点は、添付の特許請求の範囲中に特に指摘された手段および組合せによって実現され、得られる。本発明のこれらおよび他の特徴は、以下の記載および添付の特許請求の範囲からより完全に明らかになり、または以下で説明するように本発明を実施することによって習得される。
【０００９】
本発明の上記および他の利点ならびに特徴をさらに明確にするために、本発明のより詳細な記載が、添付の図面に例示されたその特定の実施形態を参照して示される。これらの図面は、本発明の一般的な実施形態を示すものにすぎず、したがって、その範囲を限定するものと見なすべきでないことが理解されよう。本発明は、添付の図面を用いて、さらに具体的にかつ詳細に記載され、説明される。
【００１０】
本発明の原理は、複数の異なる光トランシーバ・プロトコルをサポートすることができる、メモリとプロセッサとを含む光トランシーバ（または送信機または受信機）に関する。プロトコルはそれぞれ、そのプロトコルに合わせて構造化されたマイクロコードをメモリに受信することによって実装される。プロセッサは後でマイクロコードを実行し、トランシーバに指定されたプロトコルの操作機能を実施させる。異なるプロトコルが実装される場合、異なるマイクロコードがメモリにロードされ、実行される。光トランシーバの動作環境の１例についてまず記載する。次いで、本発明による動作が、その動作環境に関して記載される。
【００１１】
図１は、本発明の原理が使用される光トランシーバ１００を示す。光トランシーバ１００についていくらか詳細に記載するが、光トランシーバ１００は、本発明の範囲を限定するためではなく、例示するために記載するものにすぎない。本発明の原理は、１Ｇ、２Ｇ、４Ｇ、８Ｇ、１０Ｇおよびより高い帯域幅の光ファイバ・リンクに適している。さらに、本発明の原理は、制限なしに、ＸＦＰ、ＳＦＰおよびＳＦＦなど、任意のフォーム・ファクタの光（レーザなど）送受信機で実装される。このように述べたが、本発明の原理は、光トランシーバの環境に全く限定されない。
【００１２】
光トランシーバ１００は、受信機１０１を使用してファイバ１１０Ａから光信号を受信する。受信機１０１は、光信号を電気信号に変換することによって光電変換器として動作する。受信機１０１は、結果として生じる電気信号をポスト・アンプ１０２に供給する。ポスト・アンプ１０２は信号を増幅し、矢印１０２Ａによって表されるように、増幅された信号を外部ホスト１１１に供給する。外部ホスト１１１は、光トランシーバ１００と通信することができる任意のコンピューティング・システムである。外部ホスト１１１は、揮発性または不揮発性メモリ・ソースであるホスト・メモリ１１２を含む。１実施形態では、光トランシーバ１００はプリント配線基板またはホスト１１１内の他の部品／チップであるが、これは必須ではない。
【００１３】
また光トランシーバ１００は、ファイバ１１０Ｂへの送信のためにホスト１１１から電気信号を受信する。具体的には、レーザ・ドライバ１０３は矢印１０３Ａによって表されるように電気信号を受信し、送信機１０４（例えば、レーザや発光ダイオード（ＬＥＤ））を信号で駆動する。この信号は送信機１０４に、ホスト１１１から供給された電気信号の情報を表す光信号をファイバ１１０Ｂ上に放射させる。したがって、送信機１０４は電光変換器として動作する。
【００１４】
受信機１０１、ポスト・アンプ１０２、レーザ・ドライバ１０３および送信機１０４の動作は、複数の要因により動的に変化することがある。たとえば、温度変化、電力変動およびフィードバック条件はそれぞれ、これらの部品の性能に影響を及ぼす。したがって、光トランシーバ１００は制御モジュール１０５を含み、この制御モジュール１０５は温度および電圧状態および他の動作状況を評価し、ポスト・アンプ１０２（矢印１０５Ａによって表される）およびレーザ・ドライバ１０３（矢印１０５Ｂによって表される）から情報を受信する。これによって、制御モジュール１０５は動的に変化する性能を最適化し、さらに信号損失が存在する時を検出することができる。
【００１５】
具体的には矢印１０５Ａおよび１０５Ｂによって表されるように、制御モジュール１０５は、ポスト・アンプ１０２および／またはレーザ・ドライバ１０３上の設定を調節することによって、これらの変更を打ち消す。これらの設定調整は、温度または電圧あるいは他の低周波変化が非常に正当な理由となる場合にだけ行われるので、かなり断続的である。受信電力は、こうした低周波変化の１例である。
【００１６】
制御モジュール１０５はパーシスタント・メモリ１０６へのアクセスを有してもよく、１実施形態ではパーシスタント・メモリ１０６は電気的消去可能プログラマブル読出し専用メモリ（ＥＥＰＲＯＭ）である。パーシスタント・メモリ１０６および制御モジュール１０５は、同じパッケージに一緒にパッケージ化されてもそれぞれ異なるパッケージにパッケージ化されてもよく、制限はない。またパーシスタント・メモリ１０６は、他の任意の不揮発性メモリ・ソースであってもよい。
【００１７】
制御モジュール１０５は、アナログ部分１０８とデジタル部分１０９との両方を含む。それらは合わさって、制御モジュールに論理をデジタルで実装するが、主としては依然として、アナログ信号を使用して光トランシーバ１００の残りとインターフェースすることを可能にする。図２は、制御モジュール１０５の１例２００をさらに詳細に、概略的に示す。制御モジュール２００は、図１のアナログ部分１０８の１例を表すアナログ部分２００Ａと、図１のデジタル部分１０９の１例を表すデジタル部分２００Ｂとを含む。
【００１８】
たとえば、アナログ部分２００Ａは、デジタル・アナログ変換器、アナログ・デジタル変換器、（たとえばイベント検出用の）高速コンパレータ、電圧ベースのリセット・ジェネレータ、電圧レギュレータ、基準電圧源、クロック・ジェネレータおよび他のアナログ部品を含む。たとえば、アナログ部分２００Ａは、３点リーダ２１１Ｄで表されるように潜在的には他にもあるが、センサ２１１Ａ、２１１Ｂ、２１１Ｃを含む。これらのセンサはそれぞれ、たとえば供給電圧およびトランシーバ温度など、制御モジュール２００から測定される動作パラメータの測定に関連する。また制御モジュールは、たとえばレーザ・バイアス電流、送信電力、受信電力、レーザ波長、レーザ温度および熱電冷却器（ＴＥＣ）電流など、他の測定パラメータを示す光トランシーバの他の部品から、外部アナログまたはデジタル信号を受信してもよい。こうした外部アナログ信号を受信するための２つの外線２１２Ａおよび２１２Ｂが示されているが、こうした線が多くあってもよい。
【００１９】
内部センサは測定値を表すアナログ信号を生成する。さらに、外部から供給される信号もまたアナログ信号である。この場合、アナログ信号はデジタル信号に変換されて、さらなる処理のために制御モジュール２００のデジタル部分２００Ｂで使用可能となる。もちろん、それぞれのアナログ・パラメータ値はそれ自体のアナログ・デジタル変換器（ＡＤＣ）を有してもよい。しかし、チップ空間を節約するために、それぞれの信号は、図示されるＡＤＣ  ２１４など、単一のＡＤＣを使用してラウンド・ロビン方式で定期的にサンプリングされる。この場合、それぞれのアナログ値がマルチプレクサ２１３に供給され、このマルチプレクサ２１３はラウンド・ロビン方式で、ＡＤＣ  ２１４によるサンプリング時にアナログ信号のうちの１つを選択する。別例では、マルチプレクサ２１３は、任意の順序のアナログ信号がＡＤＣ  ２１４によってサンプリングされることを可能にするように、プログラムされる。
【００２０】
上記のように、制御モジュール２００のアナログ部分２００Ａは、例えばデジタル・アナログ変換器、他のアナログ・デジタル変換器、（たとえばイベント検出用の）高速コンパレータ、電圧ベースのリセット・ジェネレータ、電圧レギュレータ、基準電圧源、クロック・ジェネレータ、および他のアナログ部品などの他のアナログ部品２１５を含んでもよい。
【００２１】
制御モジュール２００のデジタル部分２００Ｂは、デジタル部分２００Ｂによって使用される様々なタイミング信号を供給するタイマ・モジュール２０２を含む。こうしたタイミング信号は、たとえばプログラマブル・プロセッサ・クロック信号を含む。またタイマ・モジュール２０２は、ウォッチドッグ・タイマとして動作してもよい。
【００２２】
２つの汎用プロセッサ２０３Ａおよび２０３Ｂも含まれている。プロセッサは特定の命令セットに従う命令を認識し、シフト、分岐、加算、減算、乗算、除算、ブール演算、比較演算などのような通常の汎用演算を実施する。１実施形態では、汎用プロセッサ２０３Ａおよび２０３Ｂはそれぞれ１６ビット・プロセッサであり、全く同じように構造化される。命令セットが特定のハードウェア環境に基づいて最適化され、また厳密なハードウェア環境が本発明の原理にとって重要でないので、命令セットの厳密な構造は本発明の原理にとって重要でない。
【００２３】
ホスト通信インターフェース２０４はホスト１１１と通信するために使用され、光トランシーバ１００上のシリアル・データ（ＳＤＡ）およびシリアル・クロック（ＳＣＬ）線として、図１に示されたＩ２Ｃなどの２ワイヤ・インターフェースを使用して実装されることがある。他のホスト通信インターフェースも同様に実装されてもよい。このホスト通信インターフェースを使用してデータが制御モジュール１０５からホスト１１１に供給されて、温度レベル、送受信機の電力レベルなどのデジタル診断および読出しが可能となる。外部デバイス・インターフェース２０５は、光トランシーバ１００内の、たとえばポスト・アンプ１０２、レーザ・ドライバ１０３またはパーシスタント・メモリ１０６などの他のモジュールと、たとえば通信するために使用される。
【００２４】
内部コントローラ・システム・メモリ２０６（外部パーシスタント・メモリ１０６と混同すべきでない）はランダム・アクセス・メモリ（ＲＡＭ）または不揮発性メモリである。メモリ・コントローラ２０７は、コントローラ・システム・メモリ２０６へのアクセスをプロセッサ２０３Ａおよび２０３Ｂのそれぞれの間で、またホスト通信インターフェース２０４および外部デバイス・インターフェース２０５と共有する。１実施形態では、ホスト通信インターフェース２０４はシリアル・インターフェース・コントローラ２０１Ａを含み、外部デバイス・インターフェース２０５はシリアル・インターフェース・コントローラ２０１Ｂを含む。２つのシリアル・インターフェース・コントローラ２０１Ａおよび２０１Ｂはインターフェースが両方の通信モジュールによって認識される限り、Ｉ２Ｃなどの２ワイヤ・インターフェースまたは別のインターフェースを使用して通信する。一方のシリアル・インターフェース・コントローラ（たとえばシリアル・インターフェース・コントローラ２０１Ｂ）はマスタ部品であり、もう一方のシリアル・インターフェース・コントローラ（たとえばシリアル・インターフェース・コントローラ２０１Ａ）はスレーブ部品である。
【００２５】
入出力マルチプレクサ２０８は、制御モジュール２００内の様々な部品に対して制御モジュール２００の様々な入出力ピンを多重化する。これによって、それぞれ異なる部品が制御モジュール２００の既存の動作状況に従ってピンを動的に割り当てることが可能となる。したがって、制御モジュール２００内には制御モジュール２００上の使用可能なピンよりも多くの入出力ノードが存在し、それによって制御モジュール２００のフットプリントが縮小される。
【００２６】
図１および２に関して特定の環境について記載したが、この特定の環境は本発明の原理が使用される無数のアーキテクチャのうちの１つにすぎないことを理解されたい。上記のように、本発明の原理はいずれかの特定の環境に限定されるものではない。したがって、本発明の原理は、ユーザによって識別されるようなプロトコルを実装することができる光トランシーバに関する。動作プロトコルは、それぞれの動作プロトコルに関する特定のマイクロコードを選択することによって実装される。本発明の原理について、図１および２に関して記載された環境を参照して説明される。
【００２７】
従来のトランシーバは１つの特定のトランシーバ・プロトコルを実装する。この特定のプロトコルはしばしばトランシーバ製造元によって決定された。これは、従来のトランシーバには十分であると見なされていた。しかし、ユーザが異なるトランシーバ・プロトコルを実装を望む場合には、新しいトランシーバ・モジュールを購入することがしばしば必要であった。これは高価であり多大な時間を要することであった。さらに、光トランシーバの製造元が複数の異なるプロトコルを実装する光トランシーバを提供するならば、光トランシーバの実際のハードウェアは実装されるプロトコルをサポートするために異なることがある。
【００２８】
本発明の原理は、トランシーバ１００Ａが所望のどんなトランシーバ・プロトコルをも潜在的に実装することを可能にする方法でトランシーバ１００Ａを構成することを可能にする。これは、異なるトランシーバ・プロトコルを実装するように構造化されたマイクロコード（以下では「プロトコル・マイクロコード」とも呼ばれる）を使用することによって遂行される。ユーザまたは製造元は光トランシーバのメモリに適切なプロトコルをロードし、トランシーバ１００Ａに所望のプロトコルを実装させるためにそのマイクロコードを実行する必要がある。異なるプロトコルが代わりに実装される場合、異なるプロトコル・マイクロコードが代わりにまたはさらにロードされ実行される。
【００２９】
トランシーバ１００Ａによって実装される多くの可能なトランシーバ・プロトコルが存在する。記載された説明および特許請求の範囲では、「プロトコル」は、２つのデバイス間のデータ送信用の合意に基づいた形式、および／またはプロトコルがデータを送信する速度として定義される。トランシーバ１００Ａが実装するようにマイクロコードによって構成され得る一部の共通プロトコルは、１Ｇ同期光ネットワーク（「ＳＯＮＥＴ」）、２Ｇ  ＳＯＮＥＴ、４Ｇ  ＳＯＮＥＴ、８Ｇ  ＳＯＮＥＴ、１０Ｇ  ＳＯＮＥＴ、１Ｇファイバ・チャネル、２Ｇファイバ・チャネル、４Ｇファイバ・チャネル、８Ｇファイバ・チャネル、１０Ｇファイバ・チャネル、１Ｇイーサネット、２Ｇイーサネット、４Ｇイーサネット、８Ｇイーサネット、１０Ｇイーサネット、１Ｇギガビット・イーサネット、１Ｇギガビット・イーサネット、２Ｇギガビット・イーサネット、４Ｇギガビット・イーサネット、８Ｇギガビット・イーサネット、１０Ｇギガビット・イーサネット、１Ｇ高速イーサネット、２Ｇ高速イーサネット、４Ｇ高速イーサネット、８Ｇ高速イーサネット、１０Ｇ高速イーサネット、１Ｇ光イーサネット、２Ｇ光イーサネット、４Ｇ光イーサネット、８Ｇ光イーサネットおよび１０Ｇ光イーサネットである。このリストは網羅的なものではなく、請求の範囲を限定するものと解釈すべきでない。現存しているにしろ、まだ開発されていないにしろ、マイクロコードによってトランシーバ１００Ａを他の複数のトランシーバ・プロトコルを実装するように構成することは可能である。
【００３０】
１実施形態では、トランシーバ１００Ａは、ホスト１１１に通信可能な状態で接続される。ホスト１１１は、インターネットまたは他の何らかの広域ネットワーク１１３に接続することができる任意のコンピューティング・システムである。この接続は、任意の標準インターネットまたは広域ネットワーク・プロトコル（本発明のトランシーバ・プロトコルと混同すべきでない）によって達成される。ホスト１１１は、広域ネットワーク１１３を介してリモートのデータ・サイト１１４にアクセスすることができる。リモートのデータ・サイト１１４は、ネットワーク・サーバまたは類似のデバイスである。
【００３１】
リモートのデータ・サイト１１４は、ワールド・ワイド・ウェブのサイトなどのインターフェースを使用することによって、ユーザが様々な所望のトランシーバ・プロトコルを識別し選択することを可能にするように構成される。たとえば、ワールド・ワイド・ウェブのサイトは、トランシーバ・プロトコルに相当するラジオ・ボタンを含むウェブ・ページを含む。ユーザは、ホスト１１１に接続されたキーボードまたはマウスを使用してその機能のラジオ・ボタンを選ぶことにより、所望のプロトコルを識別する。この工程は、所望する数の追加のプロトコルに適するように繰り返される。
【００３２】
リモートのデータ・サイト１１４は、（たとえば、三点リーダ１１５Ｃによって表されるように、潜在的には他のプロトコル・マイクロコードもあるが、プロトコル・マイクロコード１１５Ａおよび１１５Ｂを含めた）マイクロコード１１５のライブラリを含むようにさらに構成される。それぞれのプロトコル・マイクロコードは、１つまたは複数の特定のトランシーバ・プロトコルに相当する。リモートのデータ・サイト１１４は、選択されたラジオ・ボタンによって識別されたプロトコルに対応する特定のマイクロコードにアクセスする。次いで、リモートのデータ・サイト１１４は、さらなる使用のために特定のマイクロコードをホスト１１１に送信する。場合によっては、ユーザは複数のラジオ・ボタンを選択することにより、２つ以上の所望の動作機能を識別する。次いで、リモートのデータ・サイトは、さらなる使用のために複数のプロトコル・マイクロコードをホスト１１１に送信する。代替の実施形態では、ホストは、初期状態でアクセス不可能な形の１セットの複数のプロトコル・マイクロコードを伴って既に構成される。その場合、選択されたプロトコル・マイクロコードをダウンロードするのではなく、ホスト１１１には、適切なプロトコル・マイクロコードにアクセスするのに必要な情報が提供される。
【００３３】
ホスト１１１は上記のように、広域ネットワーク１１３を介してリモートのデータ・サイト１１４からプロトコル・マイクロコードをダウンロードする。次いで、ホスト１１１は、ＳＤＡおよびＳＣＬ線または実装された他のホスト・インターフェースを介して、トランシーバ制御モジュール１０５にプロトコル・マイクロコードを供給する。マイクロコードは、後の実行に備えてパーシスタント・メモリ１０６に格納される。別例で、マイクロコードは即時実行するためにコントローラ・システム・メモリ２０６に直接ロードされる。
【００３４】
別の実施形態では、プロトコル・マイクロコードをパーシスタント・メモリ１０６に直接にロードすることが可能である。ユーザは上で説明したように、リモートのデータ・サイト１１４を使用して所望のプロトコル１１４を識別する。次いで、プロトコル・マイクロコードは、トランシーバ１００Ａの製造元によってパーシスタント・メモリ１０６に配置される。別例で、ユーザは、トランシーバ１００Ａの製造元によって提供されるデジタル・ビデオ・ディスク（ＤＶＤ）又はコンパクト・ディスク（ＣＤ）ＲＯＭなどの一時記憶領域ユニットからパーシスタント・メモリ１０６にマイクロコードをロードする。たとえば、パーシスタント・メモリ１０６が、たとえばＥＥＰＲＯＭモジュールなどの別個のモジュールであるならば、パーシスタント・メモリ１０６は適切なプロトコル・マイクロコードをロードするために光トランシーバ１００Ａから切断される。別例では、光トランシーバが、パーシスタント・メモリ１０６へのアクセスを可能にする外部Ｉ／Ｏインターフェースを有する場合、光トランシーバ１００Ａからの削除を行わずに、パーシスタント・メモリ１０６には適切なプロトコル・マイクロコードがロードされる。
【００３５】
制御モジュール１０５は、リモートのデータ・サイト１１４または他のソースから受信されたマイクロコードを実行する。特に、プロセッサ２０３は、コントローラ・システム・メモリ２０６にプロトコル・マイクロコードをロードする。別例では、プロセッサ２０３は、パーシスタント・メモリ１０６に格納されたマイクロコードをコントローラ・システム・メモリ２０６にロードする。プロセッサ２０３はマイクロコードを実行し、選択されたプロトコルをトランシーバ１００Ａに実装させる。たとえば、１Ｇ  ＳＯＮＥＴプロトコルを実装するように構造化されたマイクロコードを実行すると、そのプロトコルに従って送信機１０４がデータを送信し、受信機１０１がデータを受信するようになる。同じように、プロセッサ２０３に他のプロトコル・マイクロコードを実行させると、トランシーバ１００Ａが指定されたプロトコルの動作機能を実行するようになる。
【００３６】
本発明の特定の実施例について記載する。ユーザが１Ｇファイバ・チャネル・プロトコルの実装を望むと仮定する。ユーザは、ホスト１１１を使用してリモートのデータ・サイト１１４にアクセスする。ホスト１１１に接続されたマウスまたはキーボードを使用して、ユーザは１Ｇファイバ・チャネル・プロトコルに対応するラジオ・ボタンを識別し選択する。次いで、リモートのデータ・サイト１１４はトランシーバ１００Ａに１Ｇファイバ・チャネル・プロトコルを実装させるプロトコル・マイクロコードにアクセスする。次いで、データ・サイト１１４は、ホスト１１１にマイクロコードを供給する。
【００３７】
次いで、ホスト１１１は、パーシスタント・メモリ１０６にプロトコル・マイクロコードをロードする。プロセッサ２０３は、マイクロコードをパーシスタント・メモリ１０６からコントローラ・システム・メモリ２０６にロードし、マイクロコードを実行する。これによって、トランシーバ１００Ａは、図１および２に関するトランシーバ環境で記載した様々なトランシーバ１００Ａの部品を使用して、１Ｇファイバ・チャネル・プロトコルでデータを送受信するようになる。
【００３８】
トランシーバ・プロトコルを実装する特定の実施例について詳細に記載したが、他のすべてのトランシーバ・プロトコルが同じように実装されてもよいことに留意されたい。たとえば、図３は、本発明の一般的な実施形態に従って複数のプロトコルのうちの特定の１つを実装するように光トランシーバを構成するための方法３００のフローチャートを示している。
【００３９】
ここでは、特定のプロトコル・マイクロコードが、光トランシーバにロードするために選択される（動作３０１）。この選択工程は、光トランシーバのユーザ、テスター、販売元または製造元、あるいは任意の他者によって行われる。次いで、プロトコル・マイクロコードは光トランシーバのメモリに受信される（動作３０２）。ここでは、用語「メモリ」は、情報を揮発性かつ／または不揮発性の状態で格納することができる任意のサイズおよび形のどんなメモリをも含むと広く解釈すべきである。マイクロコードは、リモート位置からであれ、かつ／またはローカルに（たとえば外部ホストから）であれ、任意の位置から受信される。次いで、プロトコル・マイクロコードは実行され（動作３０３）、それによって光トランシーバにプロトコルを実装させる。この方法３００は、それぞれ異なるプロトコルについて繰り返される。
【００４０】
たとえば、上記の特定の実施例では、光トランシーバはまず、１Ｇファイバ・チャネル・プロトコルを実装している。しかし、ユーザは後にトランシーバ・プロトコルを変更することを望むかもしれない。ユーザはリモートのデータ・サイト１１４にアクセスし、新しいプロトコルを求めてこの工程を再開する。たとえば、トランシーバが１Ｇのファイバ・チャネル・プロトコルを実装しており、２Ｇ  ＳＯＮＥＴプロトコルへの切換えが必要になった場合、ユーザはリモートのデータ・サイト１１４から２Ｇ  ＳＯＮＥＴプロトコル用のマイクロコードをダウンロードし、マイクロコードをシステム・メモリ・コントローラにロードさせ、プロセッサ２３０によって実行させる。これによって、トランシーバ１００Ａは、２Ｇ  ＳＯＮＥＴプロトコルの動作機能を実行するようになる。このように、トランシーバ１００Ａは状況と必要性によって、継続的にトランシーバ・プロトコルを更新してもよい。
【００４１】
したがって、本発明の原理は、現在の光トランシーバに比べて多くの利点を有する光トランシーバを提供する。特に、本発明はトランシーバ・プロトコルの容易な選択および実装を可能にする。ユーザはリモートのソースから所望のプロトコルを選択する能力を有する。選択された各プロトコルを実装するマイクロコードは光トランシーバにダウンロードされ実行される。これによって、ユーザはトランシーバがどのプロトコルを実装するかを制御することができる。さらに、状況により求められる場合に、ユーザは必要に応じてこの工程を繰り返してプロトコルを変更してもよい。したがって、本発明の原理は、光トランシーバの技術における重要な進歩を表すものである。
【００４２】
本発明は、技術思想または本質的な特徴から逸脱せずに他の特定の形で実施されてもよい。上記の実施形態はすべての点において例示的なものにすぎず、限定的ではないと見なすべきである。したがって、本発明の範囲は上記説明によってではなく、添付の特許請求の範囲によって示される。特許請求の範囲の均等物の意味および範囲内に含まれるすべての変更は、その範囲内に包含されるものである。
【図面の簡単な説明】
【００４３】
【図１】本発明の特徴を実施する光トランシーバの１例の概略的図。
【図２】図１の制御モジュールの１例の概略的図。
【図３】本発明の原理による、複数のプロトコルのうちの特定の１つを実装するように光トランシーバを構成するための方法のフローチャート。
【図１】
2008512904.tif 000003
【図２】
2008512904.tif 000004
【図３】
2008512904.tif 000005
【国際調査報告】
2008512904.tif 000006