(57)【要約】【課題】通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させるための技術を提供する。【解決手段】通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させる方法は、ポートをスタンバイ状態に遷移させるための信号を送出するステップと、ポートをスタンバイ状態に遷移させるための信号が送出されると、サスペンド状態に入ることなくポートをアクティブ状態からスタンバイ状態に遷移させるステップとを含む。ポートは物理層のインターフェース・ポートであってよく、通信システムはＩＥＥＥ１３９４準拠の通信システムであってよい。【選択図】図１
2008061248.tif 000002
【特許請求の範囲】
【請求項１】
通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させる方法であって、
前記ポートを前記スタンバイ状態に遷移させるための信号を送出するステップと、
前記ポートを前記スタンバイ状態に遷移させるための前記信号が送出されると、サスペンド状態に入ることなく前記ポートを前記アクティブ状態から前記スタンバイ状態に遷移させるステップと
を含む方法。
【請求項２】
前記ポートを前記スタンバイ状態に遷移させるための前記信号が送出されるとき、インジケータをアクティブ化するステップと、
前記インジケータがアクティブであるとき、前記サスペンド状態に入らないことを保証するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
第２のインジケータがアクティブであるとき、第１のインジケータを非アクティブ化されると前記スタンバイ状態に入るステップをさらに含む、請求項１に記載の方法。
【請求項４】
第２のインジケータの状態にかかわらず、第１のインジケータがアクティブ化されるとすぐに前記スタンバイ状態に入るステップをさらに含む、請求項１に記載の方法。
【請求項５】
前記通信システムはＩＥＥＥ１３９４準拠の通信システムであり、第１の変数「ｒｘ＿ｏｋ」がＦＡＬＳＥであるときに、第２の変数「ｄｏ＿ｓｔａｎｄｂｙ」もＦＡＬＳＥであるときを除き、前記サスペンド状態に入らないことを保証するステップをさらに含む、請求項１に記載の方法。
【請求項６】
前記保証ステップは、ポート接続状態マシンで前記アクティブ状態を前記サスペンド状態に遷移させることを管理する論理式を変更するステップを含む、請求項５に記載の方法。
【請求項７】
前記保証ステップは、ポート接続状態マシンで条件「！ｒｘ＿ｏｋ」を条件「（！ｄｏ＿ｓｔａｎｄｂｙ｜｜！ｒｘ＿ｏｋ）」と交換することによって、ポート接続状態マシンで前記アクティブ状態を前記サスペンド状態に遷移させることを管理する論理式を変更するステップを含み、ここで、「！」は論理補数を表し、「｜｜」は論理ＯＲ機能を表す、請求項５に記載の方法。
【請求項８】
前記変更ステップは、前記ポート接続状態マシンで前記アクティブ状態から前記サスペンド状態への前記ポートの前記遷移を管理する前記論理式での条件として、変数「ｒｘ＿ｏｋ」の評価を削除することを含む、請求項６に記載の方法。
【請求項９】
少なくとも第１のポートと、
メモリと
前記メモリおよび前記少なくとも第１のポートに結合した少なくとも１つのプロセッサとを備える、通信システムで用いるための装置であって、
前記少なくとも１つのプロセッサは、前記少なくとも第１のポートが少なくとも第２のポートをアクティブ状態からスタンバイ状態に遷移させるための信号を送出するように構成され、前記少なくとも第２のポートを前記アクティブ状態から前記スタンバイ状態に遷移させるための前記信号が送出されると、サスペンド状態に入ることなく前記少なくとも第１のポートを前記アクティブ状態から前記スタンバイ状態に遷移させるように構成される、装置。
【請求項１０】
データを少なくとも１つの他のポートに送出すること、およびデータを前記少なくとも１つの他のポートから受信することのうちの少なくとも１つのために構成された少なくとも１つのポートと、
前記ポートに結合した少なくとも１つのコントローラであって、サスペンド状態に入ることなく前記少なくとも１つのポートを前記スタンバイ状態に遷移させるように動作するコントローラと
を備えるデータ通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は概してデータ通信に関し、具体的にはシリアル通信バスを使用した２つ以上の装置間のデータ通信に関する。
【背景技術】
【０００２】
現在、共通バスまたは代替の通信リンクを介して、互いに接続された２つ以上の電子装置間の通信を容易にするために使用される種々の既知のプロトコルが存在する。これらのプロトコルのうち、最もよく知られ、最も広く使用されるプロトコルの中には、ＵＳＢ（ユニバーサル・シリアル・バス）、ＳＡＴＡ（シリアル・アドバンスト・テクノロジ・アタッチメント）、ＨＤＭＩ（高品位マルチメディア・インターフェース）、ファイバ・チャネル、およびＩＥＥＥ１３９４がある。
【０００３】
ＩＥＥＥ１３９４は、ＦｉｒｅＷｉｒｅ（Ａｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．の登録商標）およびｉ．ＬＩＮＫ（ソニー株式会社の登録商標）という商品名で、様々な家庭用電子機器、コンピュータ電子機器、および産業用電子機器用に広く採用されるようになった。ＩＥＥＥ１３９４は、高データ転送速度での非同期データおよび等時性データの両方に対応し、ピア・ツー・ピア構成およびマスタ・スレーブ構成の両方に対応し、デイジ・チェーン構成およびハブ・アンド・スポーク構成の両方に対応し、ならびにそのＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ：サービス品質）が保証され、待ち時間が小さく、処理オーバヘッドが小さいという理由で、データ記憶、音声および映像、ネットワーキング、およびバス給電の周辺機器などの用途で使用するのに特に適切である。
【０００４】
ネットワークは、とりわけ物理層（ＰＨＹ）およびリンク層を含む複数の層で考えられてよい。ＰＨＹは、ネットワーク・ハードウェア、物理的ケーブル接続および／または無線接続を意味する。ＰＨＹは最も基礎的なネットワーク層であり、リンク層のコード化された出力を送出する手段だけを提供する。ＰＨＹは、ユーザ装置内のデジタル・データ表現と通信チャネルにより送出される対応する信号との間の変換に関与し、信号仕様およびネットワーク規則が詳述されている層である。リンク層はＰＨＹから次の上位の層である。リンク層はネットワーク内の隣接ノード間でデータを転送し、概してアプリケーションとインターフェースするためにＰＨＹ中の搬送データをフォーマットおよび／または操作する。
【０００５】
ＩＥＥＥ１３９４規格は最初に、「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ」と題するＩＥＥＥ１３９４（１９９５年）で米国電気電子学会（ＩＥＥＥ）により規定され、「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ  （Ａｍｅｎｄｍｅｎｔ  １）」と題するＩＥＥＥ１３９４ａ（２０００年）と、「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ  （Ａｍｅｎｄｍｅｎｔ  ２）」と題するＩＥＥＥ１３９４ｂ（２００２年）とで２回修正された。これらの規格のすべてが、本明細書で参照することにより組み込まれている。
【０００６】
ＩＥＥＥ１３９４ａは、電源管理用のサスペンド状態（ＩＥＥＥ１３９４ａ（２０００年）３．９．５．２で定義）と、対応するレジューム状態とを導入した。ＩＥＥＥ１３９４ｂは、ベータ・モードで動作する装置用のスタンバイ状態（ＩＥＥＥ１３９４ｂ（２００２年）３．１０．７．３．１で定義）と、対応するリストア状態とを追加した。サスペンド状態およびスタンバイ状態の両方は、通常のシリアル・バス・アービトレーションに対して作動可能ではないが、他の方法で物理的ケーブルの切断、あるいはレジューム信号またはリストア信号のいずれかを検出することができ、したがって、物理的接続を継続して監視を行いながら、電力消費を低減することができる。
【０００７】
主として、バス・リセットはポートがスタンバイ状態に出入りする結果として生成されないので、ＩＥＥＥ１３９４ｂでのスタンバイ状態は、ディスエーブル状態またはサスペンド状態よりある種の利点を有する。これは、バス・リセットするとバス全体がバス初期化手順を実行することになるという点で有益である。ＰＨＹの点から見て、バスの初期化は概して、ループなしのベータだけのバスに関して約２００マイクロ秒（μｓ）かかる。バス上に１つのループ（または複数のループ）がある場合、またはバスがハイブリッド・バス（すなわち、少なくとも１つのボーダ・ノードを含む動作バス）である場合、バス初期化手順はかなり長い時間かかる可能性がある。トランザクション・レベルから、バス・リセットはバス上のトラフィックを切断し、ＰＨＹでの保留要求を消去する可能性がある。疑いなく、頻繁なバス・リセットは、バス性能、したがって全体的なシステム性能を著しく低下させ、そのため望ましくない。
【０００８】
残念ながら、現在のＩＥＥＥ１３９４ｂ仕様書の場合、ＰＨＹポートは必ずしも意図したようにスタンバイ状態に遷移するとは限らない。代わりにＰＨＹポートはサスペンド状態に遷移することになり、そのピア・ポートがスタンバイ状態に遷移する。これによって、その２つのポートを単一のリストア作用により活性化させることができず、それによって、スタンバイ状態にある接続がアクティブ状態に戻り、したがって望ましくない。さらに、ＰＨＹポートがそのサスペンド状態に入る、またはそのサスペンド状態からレジュームされるときに、バス・リセットが行われることになるが、これは望ましくない。
【非特許文献１】「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ」と題するＩＥＥＥ１３９４（１９９５年）
【非特許文献２】「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ  （Ａｍｅｎｄｍｅｎｔ  １）」と題するＩＥＥＥ１３９４ａ（２０００年）
【非特許文献３】「ＩＥＥＥ  Ｓｔａｎｄａｒｄ  ｆｏｒ  ａ  Ｈｉｇｈ  Ｐｅｒｆｏｒｍａｎｃｅ  Ｓｅｒｉａｌ  Ｂｕｓ  （Ａｍｅｎｄｍｅｎｔ  ２）」と題するＩＥＥＥ１３９４ｂ（２００２年）
【非特許文献４】「１３９４ｂ  Ｃｌａｒｉｆｉｃａｔｉｏｎｓ  ａｎｄ  Ｅｒｒａｔａ」と題するＩＥＥＥ１３９４  Ｔｒａｄｅ  Ａｓｓｏｃｉａｔｉｏｎの技術告示ＴＢ２００２００１の４．２５節
【発明の開示】
【発明が解決しようとする課題】
【０００９】
したがって、スタンバイ状態ではなくサスペンド状態への望ましくない遷移を防止するように、ＩＥＥＥ１３９４ｂプロトコルまたは他の通信プロトコルのスタンバイ状態への遷移を強化したいという要求が存在する。
【課題を解決するための手段】
【００１０】
前述の要求および他の目的により、本発明はその例示的実施形態で、サスペンド状態または他の意図しない状態に入ることなく通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させるための技術を提供する。このようにして本発明の実施形態は、アクティブ状態から低電力消費状態に遷移させるとき、バス・リセットを生成しないようにする。本発明の例示的実施形態では、ポートはＰＨＹポートであってよく、通信システムはＩＥＥＥ１３９４準拠の通信システムであってよい。
【００１１】
本発明の１つの態様により、通信システム内のポートをアクティブ状態からスタンバイ状態に遷移させる方法は、ポートをスタンバイ状態に遷移させるための信号を送出するステップと、ポートをスタンバイ状態に遷移させるための信号が送出されると、サスペンド状態に入ることなくそのポートをアクティブ状態からスタンバイ状態に遷移させるステップとを含む。ポートは物理層のインターフェース・ポートであってよく、通信システムはＩＥＥＥ１３９４準拠の通信システムであってよい。
【００１２】
本発明の他の態様により、通信システムで用いるための装置は、少なくとも第１のポートと、メモリと、メモリおよび第１のポートに結合した少なくとも１つのプロセッサとを含む。プロセッサは、第１のポートが少なくとも第２のポートをアクティブ状態からスタンバイ状態に遷移させるための信号を送出するように構成され、第２のポートをアクティブ状態からスタンバイ状態に遷移させるための信号が送出されると、サスペンド状態に入ることなく第１のポートをアクティブ状態からスタンバイ状態に遷移させるように構成される。
【００１３】
本発明の他の態様によるデータ通信システムは、データを少なくとも１つの他のポートに送出し、および／またはデータを他のポートから受信するように構成された少なくとも１つのポートを含む。データ通信システムは、ポートに結合した少なくとも１つのコントローラをさらに含み、そのコントローラは、サスペンド状態に入ることなくポートをスタンバイ状態に遷移させるように動作する。
【００１４】
本発明のこれらのおよび他の特徴および利点は、添付図面と関連して読み取られるその例示的実施形態の下記の詳細な説明から明らかとなる。
【発明を実施するための最良の形態】
【００１５】
本発明は、共通の通信バス上に互いに結合された通信システム・ポートおよびピア・ポートをアクティブ状態からスタンバイ状態に遷移させるための例示の方法および装置の文脈において本明細書で説明される。本発明の例示的実施形態は、サスペンド状態に入ることなくポートおよびそのピア・ポートをアクティブ状態からスタンバイ状態に遷移させることを容易にし、それによって使用されるバス速度および／または動作モードにかかわらず、バス・リセットを生成しないようにする。
【００１６】
本発明は物理層のインターフェース・ポートと共に本明細書で説明されているが、本発明の技術は、本明細書での教示を考慮して当業者に明らかになるように、それに変更があってもまたは変更がなくても、スタンバイ状態または代替の電力節約状態をサポートする他のポートに対して、同様に適用されてもよいことは理解されよう。本発明はＩＥＥＥ１３９４準拠規格と共に本明細書で説明されているが、本発明の技術は、本明細書での教示を考慮して当業者に明らかになるように、それに変更があってもまたは変更がなくても、スタンバイ状態または代替の電力節約状態を組み込む他の通信規格および／または非標準プロトコルに同様に適用されてもよいことは理解されよう。ある種の用語がＩＥＥＥ１３９４ｂ規格と共に使用されることができるが、同一のおよび／または代替の機能言語は、本発明の技術が適用可能である他の通信プロトコルに同様に適用されてもよい。同様に、本明細書で使用される変数、機能、定数、信号、状態などのある種の名前は、ＩＥＥＥ１３９４ｂ規格により規定されたものである。具体的な名前、内部構造、および実装手段は、本発明の機能を著しく変えることなく変えられてもよいことは当業者には明らかであろう。
【００１７】
概して、本明細書内で定義された変数は、他の方法で規定されていない場合、ブール変数として作用するように仮定される。変数がＴＲＵＥであるとき、変数の条件は満足されている。同様に、変数がＦＡＬＳＥであるとき、変数の１つまたは複数の条件は満足されていない。本明細書で使用される記号「！」はそれに対応する変数の論理補数を表し、記号「＆＆」および「｜｜」は論理ＡＮＤ演算子および論理ＯＲ演算子をそれぞれ表す。
【００１８】
図１は、本発明の技術が実現される例示の２つの装置のデータ通信システム１００を示す構成図である。通信システムは、例えばビデオ編集システム、マルチメディア放送システム、ネットワーキング・システムなどとして実現されてよい。通信システム１００は、通信リンク１０６によって相互接続された第１の装置１０２と、第２の装置１０４とを備える。説明を簡単にするために２つの装置だけを示すが、本発明は相互接続装置の特定の個数に限定されるものでないことは理解されよう。通信リンク１０６は、例えば携帯電話、無線周波数（ＲＦ）、赤外線（ＩＲ）、マイクロ波、衛星などの無線通信リンクを含んでよく、例えば電話、ケーブル、光ファイバなどの専用通信回線を含んでもよい。通信リンク１０６は、データを第１の装置１０２と第２の装置１０４との間で転送することができる複数のチャネルを収容することができる。チャネルは、１秒あたりいくつのサンプルをその特定の媒体上で送信できるかを決定する、それに関連するある種のデータ速度を有することができる。複数の低速度チャネルは、当業者によって理解されるように、例えばマルチプレクサを使用することによって単一のより高速度のチャネルに統合することができる。同様に、複数の低速度チャネルは、例えばデマルチプレクサを使用することによって、１つのより高速度のチャネルから抽出することができる。
【００１９】
第１の装置１０２および第２の装置１０４は例えば、いくつかの家庭用電子機器（デジタル・カメラ、デジタル・カムコーダ、携帯情報端末（ＰＤＡ）、動画像符号化専門家会合レイヤ３音声（ＭＰ３）装置、携帯電話などを含むがそれに限定されない）のうち任意の装置と、コンピュータ周辺機器（パーソナル・コンピュータ、プリンタ、フレーム・グラバ、外部ハード・ドライブ、スキャナ、ネットワーキング・ハブなどを含むがそれに限定されない）とを備えてよい。第１の装置１０２内には、第１の装置１０２内の回路からデータを受信し、そのデータを第１の装置１０２内のＰＨＹポート１１０に転送するリンク・レイヤ１０８がある。ＰＨＹポート１１０は、通信リンク１０６により送出するためにデータを適切な通信プロトコルにコード化する。第２の装置１０４内のピアＰＨＹポート１１２は、第１の装置１０２の中のＰＨＹポート１１０により送出されるデータを受信する。次いでピアＰＨＹポート１１２は受信データをデコードし、この種のデコードされたデータを第２の装置１０４内のリンク・レイヤ１１４に供給し、リンク・レイヤ１１４はデコードされたデータにより第２の装置１０４を制御する。
【００２０】
本明細書で示される例示的実施形態の場合、装置１０２および１０４はＩＥＥＥ１３９４ｂ通信プロトコルを使用して互いに通信することが仮定されているが、本発明は、この通信プロトコルあるいは任意の標準または非標準通信プロトコルに限定されない。第１の装置１０２から第２の装置１０４へのデータ転送が参照されてよいが、データは同様に、第２の装置１０４から第１の装置１０２に転送されることができ、したがって２つの装置間のデータ転送は双方向である。
【００２１】
本明細書で説明される本発明の例示的実施形態はシリアル通信プロトコルすなわちＩＥＥＥ１３９４ｂ規格のスタンバイ機能を強化することに関するので、主に本発明に関係するのは、第１の装置１０２および第２の装置１０４内のＰＨＹポート１１０およびＰＨＹポート１１２それぞれがアクティブ状態（この状態ではポートが使用可能とされ、すべてのシリアル・バス信号の状態を検出可能であり、通常のバス処理（例えばリセット、ツリー識別、自己識別、および通常のアービトレーション段階）に関与する）からスタンバイ状態に直接遷移することである。スタンバイとは、所与の１つまたは複数のポートに関する低電力消費動作モードを説明するのに使用できる用語である。ＩＥＥＥ１３９４ｂ規格により、スタンバイはベータ・モード動作だけの機能である。ノードがアクティブ・ポートを１つだけ有する場合、このポート上の接続をスタンバイ状態にすることができる。接続がスタンバイ状態にある間、ノードは通常のバス処理に関与せず、同一バス上の他のノードは、スタンバイ状態にされたノードの状態のいかなる変更も認識しない。接続のサスペンド動作モードと対照的に、バス・リセットは、前述のように、ノードがスタンバイに入るまたはノードをスタンバイからリストアすることの一部としては行われない。
【００２２】
第２の装置１０４内のＰＨＹポート１１２は、第１の装置１０２内のＰＨＹポート１１０に対するピアＰＨＹと見なされてもよい。本明細書では、用語「甥（ｎｅｐｈｅｗ）」を用いることで、１つのポートがスタンバイ状態にあり、残りのポート（があればその）すべてがディスエーブル、切断またはサスペンドされた状態にあるリーフ・ノードを定義できるものとする。ルート・ノード、２つ以上のアクティブ・ポートを有するノード、または既にスタンバイ状態にある他のポートを有するノードは甥になることはできない。甥ノードに接続されたアクティブ・ノードは、「叔父（ｕｎｃｌｅ）」ノードと呼ぶことができるものとする。ノードがそのノード識別番号（ＩＤ）およびポート・アドレスを含むスタンバイ・コマンド・パケットを検出するとき、ノードは甥になる。甥ノードは通常のバス処理に関与しないが、甥ノードがメンバであるアクティブ・バスは概して、それが甥になる（例えば、バス・リセットが行われない）ときにノードの状態の変更を認識しない。甥ノードがスタンバイ状態にあるポートを有する間にバス・リセットが行われる場合、ピア叔父ノードは、甥ノードに代わって自己ＩＤパケット（例えば、自己識別段階の間またはＰＨＹピング・パケットに応答して、ケーブルＰＨＹによって送出されるＰＨＹパケット）を代行する。
【００２３】
図２は、従来のＩＥＥＥ１３９４ｂ通信プロトコルにより実現されたポート接続マネジャ状態マシンの少なくとも一部分を示す状態遷移図２００である。矢印は状態間での遷移を表す。各矢印の上方のテキストは、その遷移が行われるのに必要および十分な条件を示す。縦線および添付ラベルは状態およびその状態に入るときに呼び出される機能を表す。ＩＥＥＥ１３９４ｂ仕様書に含まれるポート接続マネジャ状態マシンは、切断（Ｐ０）、レジューム（Ｐ１）、アクティブ（Ｐ２）、サスペンド・イニシエータ（Ｐ３）、サスペンド・ターゲット（Ｐ４）、サスペンド（Ｐ５）、ディスエーブル（Ｐ６）、スタンバイ・イニシエータ（Ｐ７）、スタンバイ・ターゲット（Ｐ８）、スタンバイ（Ｐ９）、リストア（Ｐ１０）、無試験（Ｐ１１）、およびループ・ディスエーブル（Ｐ１２）を含めて１３通りの状態を定義する。しかし構成図２００は、好ましくは本発明の例示的実施形態が対象とする遷移、すなわちアクティブ、スタンバイ・イニシエータ、スタンバイ・ターゲット、スタンバイ、サスペンド・イニシエータ、サスペンド・ターゲット、およびサスペンド状態（例えば、Ｐ２：Ｐ７、Ｐ２：Ｐ８、Ｐ２：Ｐ３、Ｐ２：Ｐ４）のうちの１つまたは複数の間のそれらの遷移だけを示している。
【００２４】
ポートは、とりわけ変数「ｒｘ＿ｏｋ」、「ｄｏ＿ｓｔａｎｄｂｙ」および「ｓｉｇｎａｌｅｄ」、またはその機能的に同等のものがすべてＴＲＵＥである場合におよび場合にのみ、図２に示すように標準ＩＥＥＥ１３９４ｂプロトコルにより、アクティブ状態（Ｐ２）からスタンバイ・イニシエータ状態（Ｐ７）に遷移（例えば、Ｐ２：Ｐ７遷移）することになる。同様にポートは、とりわけ変数「ｒｘ＿ｏｋ」がＦＡＬＳＥである、または変数「ｓｕｓｐｅｎｄ＿ｒｅｑｕｅｓｔ」および「ｓｉｇｎａｌｅｄ」が共にＴＲＵＥである場合におよび場合にのみ、図２に示すように標準ＩＥＥＥ１３９４ｂプロトコルにより、アクティブ状態（Ｐ２）からサスペンド・イニシエータ状態（Ｐ３）に遷移（例えば、Ｐ２：Ｐ３遷移）することになる。
【００２５】
下記の付録１は、ＰＨＹポート１１０により使用することができるＣプログラム言語の例示のソース・コードを示す。この例示的実施例は、コメントが除外されたまたは交換された場合でのＩＥＥＥ１３９４ｂ規格からの「ｓｔａｒｔ＿ｔｘ＿ｐａｃｋｅｔ（）」機能である。スタンバイ状態に入るプロセスを開始するために、ＰＨＹポートはこの機能を呼び出し、この機能は次いで、「ＳＴＡＮＤＢＹ（スタンバイ）」信号（ここでは、「ＳＴＡＮＤＢＹ」とラベルの付けられたコード行）を送信し、所定の期間を待ち（待ち時間）、その後「ｓｉｇｎａｌｅｄ」変数（ここでは、「ＳＩＧＮＡＬＥＤ」とラベルの付けられたコード行）をＴＲＵＥに設定する。この待ち時間の長さは、接続速度および他の設定によって変わる。この長さは、バスがハイブリッド・バス（これはこのバスがレガシ・ノード（ＩＥＥＥ１３９４および／またはＩＥＥＥ１３９４ａ）およびＩＥＥＥ１３９４ｂノードの両方を含むことを意味する）である場合、最長（例えば、約３２０ナノ秒（ｎｓ））となる。付録（Ａｐｐｅｎｄｉｘ）１では、例示のコードの各行が、ハイブリッド・バスの場合に特定行が負担するナノ秒単位の待ち時間の部分を示すラベルが付けられたこの待ち時間を実現する。これらの待ち時間（例えば、８０ｎｓ、２０ｎｓ、４０ｎｓ、２０ｎｓ、および１６０ｎｓ）は総計３２０ｎｓであり、これはハイブリッド・バスに関する概算のタイムアウト期間である。
【００２６】
「ＳＴＡＮＤＢＹ」信号が受信されると、図２に示す状態図によりそのピア・ポート１１２は、アクティブ状態（Ｐ２）からスタンバイ・ターゲット状態（Ｐ８）に遷移し、したがって「ｓｔａｎｄｂｙ＿ｔａｒｇｅｔ＿ａｃｔｉｏｎｓ（）」機能を実行し、次いでその機能は「ａｃｔｉｖａｔｅ＿ｃｏｎｎｅｃｔ＿ｄｅｔｅｃｔ（ＲＥＣＥＩＶＥ＿ＯＫ＿ＨＡＮＳＨＡＫＥ）」機能を呼び出す。後者の機能は、「ｂｐｏｒｔ＿ｓｙｎｃ＿ｏｋ」（これは機能「ｒｅｃｅｉｖｅ＿ｏｋ＿ｍｏｎｉｔｏｒ（）」で示されたように、ベータ・ポートに対する「ｒｘ＿ｏｋ」と同等である）をＰＨＹポートに関してＦＡＬＳＥに設定する。これが前述のタイムアウト期間内で行われる場合、「ｒｘ＿ｏｋ」は、「ｓｉｇｎａｌｅｄ」がＴＲＵＥである前にＦＡＬＳＥとなる。したがって、「ｒｘ＿ｏｋ」がもはやＴＲＵＥにならなくなった後になるまで「ｓｉｇｎａｌｅｄ」はＴＲＵＥにならないので、ＰＨＹポート１１０はアクティブ状態（Ｐ２）からスタンバイ・イニシエータ状態（Ｐ７）に遷移するのではなく、「ｒｘ＿ｏｋ」がＦＡＬＳＥであるのでサスペンド・イニシエータ状態（Ｐ３）に遷移する。
【００２７】
図３は、従来のＩＥＥＥ１３９４ｂ通信プロトコルにより、ＰＨＹノードをアクティブ状態からスタンバイ状態に遷移することに関係する模擬信号を示す例示のタイミング図３００である。図から明らかなように、ＰＨＹポート１１０（図１参照）は、従来のＩＥＥＥ１３９４ｂプロトコルの下では所期のスタンバイ・イニシエータ状態（Ｐ７）に遷移するのではなく、サスペンド・イニシエータ状態（Ｐ３）に遷移する。時点ｔ０で、変数「ｒｘ＿ｏｋ」はＴＲＵＥであり、変数「ｓｉｇｎａｌｅｄ」はＦＡＬＳＥであり、変数「ｄｏ＿ｓｔａｎｄｂｙ」はＦＡＬＳＥであり、変数「ｆｏｒｃｅ＿ｄｉｓｃｏｎｎｅｃｔ」はＦＡＬＳＥであり、「ｐｏｒｔ＿ｓｔａｔｅ」はＰ２であり、Ｐ２はポートがアクティブ状態であることを示す。時点ｔ１で、「ｄｏ＿ｓｔａｎｄｂｙ」はＴＲＵＥであり、ＴＲＵＥはポートがスタンバイ・イニシエータ状態（Ｐ７）に遷移するという要求を示す。待ち時間（例えば、３２０ｎｓ）後、「ｓｉｇｎａｌｅｄ」はＦＡＬＳＥのままであるので、「ｄｏ＿ｓｔａｎｄｂｙ」はＦＡＬＳＥになり、「ｒｘ＿ｏｋ」はＦＡＬＳＥになり、「ｐｏｒｔ＿ｓｔａｔｅ」はＰ３であり、Ｐ３はポートが意図したスタンバイ・イニシエータ状態ではなく、サスペンド・イニシエータ状態に遷移したことを示す。時点ｔ３で、「ｓｉｇｎａｌｅｄ」はＴＲＵＥになるが、この時点でポートは、サスペンド・イニシエータ状態に既に遷移している。したがって、これらの状況の下ではポートは意図したスタンバイ・イニシエータ状態に遷移しないことになる。その代わりに、ポートはサスペンド・イニシエータ状態に遷移し、結局はサスペンド状態に遷移し、それによってサスペンド状態に出入りするとき、バス・リセットを不必要に生成することになる。
【００２８】
本発明の１つの態様は、スタンバイ状態が要求されるとき、ＰＨＹポート１１０をサスペンド・イニシエータ状態に遷移させないようにし、それによって有利なことには、従来のＩＥＥＥ１３９４ｂプロトコルでの固有の欠点を修正する。この問題を修正するために、本発明の他の態様によりアクティブ状態（Ｐ２）からサスペンド・イニシエータ状態（Ｐ３）への遷移は、「ｄｏ＿ｓｔａｎｄｂｙ」がＴＲＵＥのとき「ｒｘ＿ｏｋ」のロス（ｌｏｓｓ）を無視するように変更される。言い換えれば、「ｒｘ＿ｏｋ」がＦＡＬＳＥであることは、「ｄｏ＿ｓｔａｎｄｂｙ」もＦＡＬＳＥでない限り、遷移を引き起こすべきではない。一実施形態では、Ｐ２：Ｐ３遷移はＩＥＥＥ１３９４ｂ仕様書での遷移から変更される。すなわち、
【数１】
2008061248.tif 000003
本発明の他の態様は、「ｒｘ＿ｏｋ」がＴＲＵＥであることをもはや必要としないように、アクティブ状態（Ｐ２）からスタンバイ・イニシエータ状態（Ｐ７）への遷移を変える。この変更によって、「ｓｉｇｎａｌｅｄ」がアサートされるとすぐに、および「ｒｘ＿ｏｋ」がアサートされる前に、ポートがＰ２からＰ７に遷移することを可能にする。一実施形態では、Ｐ２：Ｐ３遷移はＩＥＥＥ１３９４ｂ仕様書での遷移から変更される。すなわち、
【数２】
2008061248.tif 000004
本発明の一実施形態は、上述の態様のいずれか一方を他方の態様とは無関係に実施してもよい。しかし、好ましい実施形態はこれらの態様の両方を含む。
【００２９】
図４を参照すると、上述の態様を両方共に組み込んだ本発明の一実施形態により、ＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図４００が示されている。図２で示された状態遷移図２００のように例示の状態遷移図４００は、アクティブ状態（Ｐ２）とサスペンド・イニシエータ（Ｐ３）、サスペンド・ターゲット（Ｐ４）、サスペンド（Ｐ５）、スタンバイ・イニシエータ（Ｐ７）、スタンバイ・ターゲット（Ｐ８）、およびスタンバイ（Ｐ９）状態のうちの１つまたは複数との間の遷移を示す。図から明らかなように、ある種の状態遷移が、図２で示された状態遷移図２００と比較して変更されている。
【００３０】
図５は、本発明の一実施形態により、ＰＨＹノードをアクティブ状態からスタンバイ状態に遷移させることに関係する模擬信号を示す例示のタイミング図５００である。図から明らかなように、タイミング図５００は、どのようにＰＨＹポート１１０（図１参照）がサスペンド・イニシエータ状態ではなく、所期のスタンバイ・イニシエータ状態に遷移するかをシミュレートする。時点ｔ０で、変数「ｒｘ＿ｏｋ」はＴＲＵＥであり、変数「ｓｉｇｎａｌｅｄ」はＦＡＬＳＥであり、変数「ｄｏ＿ｓｔａｎｄｂｙ」はＦＡＬＳＥであり、変数「ｆｏｒｃｅ＿ｄｉｓｃｏｎｎｅｃｔ」はＦＡＬＳＥであり、「ｐｏｒｔ＿ｓｔａｔｅ」はＰ２であり、Ｐ２はポートがアクティブ状態であることを示す。時点ｔ１で、「ｄｏ＿ｓｔａｎｄｂｙ」はＴＲＵＥであり、ＴＲＵＥはポートがスタンバイ・イニシエータ状態（Ｐ７）に遷移するという要求を示す。時点ｔ２で「ｒｘ＿ｏｋ」はＦＡＬＳＥになる。しかし、本発明の一態様の実装形態により、これはもはやサスペンド・イニシエータ状態への遷移を引き起こさない。時点ｔ３で、「ｓｉｇｎａｌｅｄ」はＴＲＵＥになり、「ｐｏｒｔ＿ｓｔａｔｅ」はＰ７になり、Ｐ７はポートがスタンバイ・イニシエータ状態内に遷移したことを示す。この遷移は、本発明の１つの態様の実装形態により「ｒｘ＿ｏｋ」がＦＡＬＳＥであるにもかかわらず、「ｓｉｇｎａｌｅｄ」がＴＲＵＥになるとすぐに行われる。したがって本発明のこの実施形態は、元のＩＥＥＥ１３９４ｂプロトコルでの固有の問題を修正する。
【００３１】
本発明は、上述の開始遷移および終了遷移に限定されないことに留意されたい。例えば、「１３９４ｂ  Ｃｌａｒｉｆｉｃａｔｉｏｎｓ  ａｎｄ  Ｅｒｒａｔａ」と題するＩＥＥＥ１３９４  Ｔｒａｄｅ  ＡｓｓｏｃｉａｔｉｏｎのＴｅｃｈｎｉｃａｌ  Ｂｕｌｌｅｔｉｎ  ＴＢ２００２００１の４．２５節（以下、「Ｅｒｒａｔｕｍ（正誤表）４．２５」と呼ぶ）により既に変えられた状態マシンに関して、１つまたは複数の本発明の態様を実施することが望ましいであろう。Ｅｒｒａｔｕｍ  ４．２５は、装置がアクティブ状態（Ｐ２）からサスペンド・イニシエータ状態（Ｐ３）内にでなくディスエーブル状態（Ｐ６）内に遷移することを保証するために、「ｒｘ＿ｏｋ」の否定を無視するようにＰ２：Ｐ３遷移を変更することを示唆している。
【００３２】
図６は、Ｅｒｒａｔｕｍ  ４．２５によりＰ２：Ｐ３遷移が変更されたＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図６００を示す。図２で示された状態遷移図２００のように、例示の状態遷移図６００は、アクティブ状態（Ｐ２）とサスペンド・イニシエータ（Ｐ３）、サスペンド・ターゲット（Ｐ４）、サスペンド（Ｐ５）、スタンバイ・イニシエータ（Ｐ７）、スタンバイ・ターゲット（Ｐ８）、およびスタンバイ（Ｐ９）状態のうちの１つまたは複数との間での遷移を示す。具体的には図から明らかなように、Ｐ２：Ｐ３遷移は本発明の１つの態様により以下から変更された。
【数３】
2008061248.tif 000005
【００３３】
図７は、Ｅｒｒａｔｕｍ  ４．２５によりおよび本発明の少なくとも１つの態様により、Ｐ２：Ｐ３遷移が変更されたＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図７００を示す。図２で示された状態遷移図２００のように、例示の状態遷移図７００は、アクティブ状態（Ｐ２）とサスペンド・イニシエータ（Ｐ３）、サスペンド・ターゲット（Ｐ４）、サスペンド（Ｐ５）、スタンバイ・イニシエータ（Ｐ７）、スタンバイ・ターゲット（Ｐ８）、およびスタンバイ（Ｐ９）状態のうちの１つまたは複数との間での遷移を示す。具体的には図から明らかなように、Ｐ２：Ｐ３遷移は本発明の１つの態様により以下から変更された。
【数４】
2008061248.tif 000006
【００３４】
図８は、Ｅｒｒａｔｕｍ  ４．２５によりおよび本発明の少なくとも１つの態様によりＰ２：Ｐ３遷移が変更され、本発明の他の態様によりＰ２：Ｐ７遷移が変更されたＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図８００を示す。図２で示された状態遷移図２００のように、例示の状態遷移図８００は、アクティブ状態（Ｐ２）とサスペンド・イニシエータ（Ｐ３）、サスペンド・ターゲット（Ｐ４）、サスペンド（Ｐ５）、スタンバイ・イニシエータ（Ｐ７）、スタンバイ・ターゲット（Ｐ８）、およびスタンバイ（Ｐ９）状態のうちの１つまたは複数との間での遷移を示す。具体的には図から明らかなように、Ｐ２：Ｐ３遷移は本発明の１つの態様により以下から変更され、
【数５】
2008061248.tif 000007
Ｐ２：Ｐ７遷移は以下から変更された。
【数６】
2008061248.tif 000008
【００３５】
単なる一例として言うと、実施例としてＥｒｒａｔｕｍ  ４．２５は、ポート接続マネジャ状態マシンの関連部分を図２に示す状態遷移図２００で示されたものから図６に示す状態遷移図６００で示されたものに変えることによって標準的なＩＥＥＥ１３９４ｂポート上に実現されてもよく、次いでポート接続マネジャ状態マシンの関連部分を図６に示す状態遷移図６００で示されたものから図８に示す状態遷移図８００で示されたものに変えることによって本発明の１つまたは複数の態様を実現してもよい。他の例として、ポート接続マネジャ状態マシンの関連部分を図６に示す状態遷移図６００で示されたものから図７に示す状態遷移図７００で示されたものに変えることによって、Ｅｒｒａｔｕｍ  ４．２５により既に変更されたＩＥＥＥ１３９４ｂポート上に本発明の１つの態様を実現し、次いでポート接続マネジャ状態マシンの関連部分を図７に示す状態遷移図７００で示されたものから図８に示す状態遷移図８００で示されたものに変えることによって本発明の他の態様を実現することができる。また、ポート接続マネジャ状態マシンの関連部分を図２に示す状態遷移図２００で示されたものから図６に示す状態遷移図６００で示されたものに変えることによって、標準的なＩＥＥＥ１３９４ｂポート上にＥｒｒａｔｕｍ  ４．２５および本発明の１つの態様（または複数の態様）の両方を実現し、次いでポート接続マネジャ状態マシンの関連部分を図６に示す状態遷移図６００で示されたものから図８に示す状態遷移図８００で示されたものに変えることによって、本発明の他の態様を実現することができる。
【００３６】
標準的なＩＥＥＥ１３９４ｂポートに関する好ましい実施形態は、Ｅｒｒａｔｕｍ  ４．２５および本発明の例示的実施形態の両方に記載の有益な変更を実現するように、そのポート接続マネジャ状態マシンを図２に示す状態遷移図２００で示したものから図８に示す状態遷移図８００で示したものに変えることになろう。
【００３７】
図１を再び参照すると、本発明の実施形態の方法が、装置１０２および１０４のうちの１つまたは複数で実施されてよい。例えば装置１０２は、プロセッサ、プロセッサに結合したメモリ（例えば、バスまたは代替の接続手段を介して）、ならびにプロセッサとインターフェースする働きをする入力／出力（Ｉ／Ｏ）回路を含んでよい。プロセッサは、本発明の方法の少なくとも一部分を実行するように構成されてよい。
【００３８】
本明細書で使用される用語「プロセッサ」は、例えば中央処理装置（ＣＰＵ）および／または他の処理回路（例えば、ネットワーク・プロセッサ、デジタル・シグナル・プロセッサ（ＤＳＰ）、マイクロプロセッサなど）を含む装置などのいかなる処理装置も含むものであることは理解されよう。さらに、用語「プロセッサ」は２つ以上の処理装置を指していてもよく、処理装置に関連する種々の部品は他の処理装置により共用されてもよいことは理解されよう。本明細書で使用される用語「メモリ」は、例えばランダム・アクセス・メモリ（ＲＡＭ）、リード・オンリ・メモリ（ＲＯＭ）、固定記憶媒体（例えば、ハード・ドライブ）、取り外し可能記憶媒体（例えば、ディスケット）、フラッシュ・メモリなど、メモリ、ならびにプロセッサまたはＣＰＵに関連する他のコンピュータ可読媒体を含むものである。さらに、本明細書で使用される用語「Ｉ／Ｏ回路」は、例えばプロセッサにデータを入力するための１つまたは複数の入力装置（例えば、キーボード、マウスなど）、および／またはプロセッサに関連する結果を表すための１つまたは複数の出力装置（例えば、プリンタ、モニタなど）を含むものである。
【００３９】
したがって、本明細書で説明したように本発明の方法を実行するための命令またはコードを含めてアプリケーション・プログラムまたはそのソフトウェア・コンポーネントは、関連の記憶媒体（例えば、ＲＯＭ、固定または取り外し可能記憶装置）のうちの１つまたは複数に格納されてよく、使用される準備ができたときに全体的にまたは部分的に（例えば、ＲＡＭの中に）ロードされ、プロセッサによって実行されてもよい。いずれの場合でも、図１に示す構成要素の少なくとも一部分が、様々な形のハードウェア、ソフトウェアまたはその組み合わせ（例えば、関連メモリを有する１つまたは複数のＤＳＰ、特定用途向け集積回路、機能回路、関連メモリを有する１つまたは複数の動作可能にプログラムされた汎用デジタル・コンピュータなど）で実現されてもよいことは理解されよう。本明細書で提供された本発明の教示を考慮すると、当業者は本発明の構成要素の他の実装形態を企図することができる。
【００４０】
本発明の技術の少なくとも一部分が集積回路で実装されてよい。集積回路の成形に際して、複数の同一のチップが典型的には半導体ウェハの表面上に繰り返しパターンで製作される。各チップは本明細書で説明された装置を含み、他の構造または回路を含んでもよい。個々のチップは、ウェハから切り取られまたはダイシングされ、次いで集積回路としてパッケージングされる。当業者は、集積回路を生成するためにウェハをダイシングする方法およびチップをパッケージングする方法を知っているであろう。そのように製造された集積回路は本発明の一部と見なされる。
【００４１】
本発明の例示的実施形態が、添付図面を参照して本明細書で説明されたが、本発明はそれらの正確な実施形態に限定されず、様々な他の変更および修正が、添付の特許請求の範囲から逸脱することなく当業者によりその中でなされてよいことは理解されよう。
【００４２】
［付録］
2008061248.tif 000009
2008061248.tif 000010
【図面の簡単な説明】
【００４３】
【図１】本発明の技術が実現される例示の２つの装置の通信システムを示す構成図である。
【図２】従来のＩＥＥＥ１３９４ｂ通信プロトコルにより実現されたポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図３】従来のＩＥＥＥ１３９４ｂ通信規格により、ポートをアクティブ状態からスタンバイ状態に遷移させることに関係する模擬信号を示す例示のタイミング図である。
【図４】本発明の一実施形態により、ＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図５】本発明の一実施形態により、ＩＥＥＥ１３９４ｂノードをアクティブ状態からスタンバイ状態に遷移させることに関係する模擬信号を示す例示のタイミング図である。
【図６】本発明の他の実施形態により、ＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図７】本発明の一実施形態により、ＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図８】本発明の他の実施形態により、ＩＥＥＥ１３９４ｂポート接続マネジャ状態マシンの少なくとも一部分を示す例示の状態遷移図である。
【図１】
2008061248.tif 000011
【図２】
2008061248.tif 000012
【図３】
2008061248.tif 000013
【図４】
2008061248.tif 000014
【図５】
2008061248.tif 000015
【図６】
2008061248.tif 000016
【図７】
2008061248.tif 000017
【図８】
2008061248.tif 000018