(58)【調査した分野】(Int.Cl.,DB名)
前記物理リンクは、前記装置から前記デバイスへと前記デバイスから前記装置へとで非対称の周波数で動作するように構成可能である、請求項1から6のいずれか一項に記載の装置。
前記装置は、第1のデータレートで前記物理リンクを介して第1の情報を送信し、第2のデータレートで前記サイドバンドインターコネクトを介して第2の情報を送信し、前記第2のデータレートは、前記第1のデータレートより低い、請求項10又は11に記載の装置。
Peripheral Component Interconnect Express通信プロトコル(PCIe通信プロトコル)に従うトランザクションレイヤと、
前記トランザクションレイヤに結合され、前記PCIe通信プロトコルに従うリンクレイヤと、
前記リンクレイヤに結合され、物理リンクを介した通信を可能とする物理ユニットと
を有するルートコンプレックスを備え、
前記物理ユニットは、
リンクトレーニング及び管理ロジック、並びに、モバイルインダストリープロセッサインターフェース(MIPI)仕様書に従う物理ユニット回路(M‐PHY)と、
前記物理リンクに結合される少なくとも1つのポートと
を含み、
前記リンクトレーニング及び管理ロジックは、前記物理リンクをトレーニングする前に決定されるリンク幅に前記物理リンクを構成及び初期化し、
前記少なくとも1つのポートは、
8b/10bエンコーディングに従いデータをエンコードするエンコーダを含む送信回路と、
前記8b/10bエンコーディングに従いデータをデコードするデコーダを含む受信回路と
を含む、装置。
前記物理リンクは、前記ルートコンプレックスから前記ルートコンプレックスに結合されるデバイスへと、前記デバイスから前記ルートコンプレックスへとで非対称の幅を有する、請求項15又は16に記載の装置。
前記物理リンクは、前記ルートコンプレックスから前記ルートコンプレックスに結合されるデバイスへと、前記デバイスからルートコンプレックスへとで非対称の周波数で動作するように構成可能である、請求項15から17のいずれか一項に記載の装置。
前記ルートコンプレックスから前記デバイスへと、前記デバイスから前記ルートコンプレックスへとで非対称の周波数で動作するように前記物理リンクを構成する段階をさらに備える、請求項29から32のいずれか一項に記載の方法。
第1のデータレートで前記物理リンクを介して第1の情報を送信する段階と、第2のデータレートで前記サイドバンドインターコネクトを介して第2の情報を送信する段階とをさらに備え、前記第2のデータレートは前記第1のデータレートより低い、請求項35に記載の方法。
【発明を実施するための形態】
【0014】
複数の実施形態は、入出力(IO)インターコネクト技術を提供してよい。この入出力(IO)インターコネクト技術は、低電力のロード/ストアアーキテクチャを有し、スマートフォンのような携帯電話、タブレット型コンピュータ、電子リーダ、及びウルトラブック(商標)などを含む複数のモバイルデバイスの中で使用することに特に適している。
【0015】
様々な実施形態において、所与の通信プロトコルのためのプロトコルスタックは、異なる通信プロトコルの物理ユニット、又は少なくとも所与の通信プロトコルのための物理ユニットと異なる物理(PHY)ユニットとともに使用されることができる。物理ユニットは、論理レイヤと物理レイヤ又は電気レイヤとの両方を含み、物理レイヤ又は電気レイヤは、2つの独立する半導体ダイをつなぐリンクのようなインターコネクト上で複数の情報信号の実際の物理通信を提供し、2つの半導体ダイは、単一の集積回路(IC)パッケージ又は別個の複数のパッケージ内にあることができ、例えば、回路基板ルーティング又はトレースなどを介して結合される。加えて、物理ユニットは、複数のデータパケットのフレーミング/デフレーミングを実行し、リンクトレーニング及び初期化を実行し、物理インターコネクトへの配信/から受信のために複数のデータパケットを処理できる。
【0016】
異なる複数の実装が可能であるが、一実施形態において、プロトコルスタックは、(2010年11月18日に公表された)PCI Express(商標)仕様書の基礎仕様書バージョン3.0(以下、PCIe(商標)仕様書という)に従うPeripheral Component Interconnect Express(PCI Express(商標)(PCIe(商標)))通信プロトコル、プロトコルの複数の拡張を適用するさらなるバージョン、又は他のそのようなプロトコルのような従来のパーソナルコンピュータ(PC)ベースの通信プロトコルのものであってよく、一方で、物理ユニットは、PCIe(商標)通信プロトコルに従っていない。この物理ユニットは、特に、実質的に変化していないPCIe(商標)上位プロトコルスタックとこの低電力物理回路との組み合わせを低電力動作が許容することを可能にすることを目的として設計されることができる。このような方法では、PCIe(商標)通信プロトコルの広範なレガシーベースが、低電力で動作するポータブル及び他の非PCベースの複数のフォームファクタへの組み込みを容易にするために利用されることができる。本発明の範囲は、この点について限定されないが、一実施形態において、この物理ユニットは、複数のモバイルコンピューティングデバイスのための複数の規格を定めるグループであるモバイルインダストリープロセッサインターフェース(MIPI)アライアンス(以下、MIPI仕様書という)の2011年2月8日のM−PHY仕様書バージョン1.00.00(MIPI役員承認2011年4月28日)に従ういわゆるM−PHYのようなモバイルプラットフォームから適応された物理ユニットであってよい。しかし、マルチチップパッケージ内の個々のダイを連結するために使用されるような他の複数の低電力仕様書に従うような他の複数の低電力物理ユニット、又は特別注文の低電力ソリューションが使用されることができる。本明細書で使用されるように、「低電力」という用語は、電力消費レベルが従来のPCシステムより低いことを意味し、多種多様なモバイル及びポータブルデバイスに適用可能であってよい。例としては、「低電力」は、従来のPCIe(商標)物理ユニットより少ない電力を消費する物理ユニットであってよい。
【0017】
このような方法では、異なる種類の物理ユニットで従来のPCIe(商標)プロトコルスタックをまとめることによって、PCIe(商標)用に開発されてきた複数のレガシーコンポーネントの大量の再使用が、モバイル又は他のポータブル又は低電力プラットフォームに組み込むために利用されることができる。
【0018】
複数の実施形態は、既存の複数のロード/ストアIO技術、特に、PCIe(商標)が、電力効率が主な懸念事項でないところで最大性能を達成する目的で設計されており、したがって、複数の低電力の応用に対して縮小しないという認識を利用してもよい。低電力設計の物理ユニットを有する従来のロード/ストアプロトコルスタックの複数の部分を組み合わせることによって、複数の実施形態は、PCIe(商標)の性能の複数の利点を失わないようにしてよく、一方で、デバイス及びプラットフォームのレベルで電力に関して最善の結果を達成する。
【0019】
そのようなものとして、複数の実施形態は、大きいレガシーベースを有するユビキタスの複数のPCIe(商標)アーキテクチャと互換性があるソフトウェアであってよい。加えて、複数の実施形態は、モバイル用に設計されたPHY、例えば、M−PHYの直接的なPHYの再使用を可能にしてもよい。このような方法では、低い有効電力及びアイドル電力が、電磁気インターフェース/無線周波数インターフェース(EMI/RFI)に害を与えないアプローチとともに、転送される効率がよい電力/ビットで実現されることができる。PHYのためのクロック周波数の複数の調波は、典型的な複数の無線ソリューションが動作する一般的な複数の無線周波数(例えば、1.8、1.9、2.4ギガヘルツ(GHz)又は他のそのような複数の無線周波数)と干渉しないので、PHYは、関連する複数の無線機と干渉しない複数のクロックレートで動作してよい。
【0020】
複数の実施形態は、最適化されたリンクトレーニング及び管理メカニズム(LTSSM)、最適化されたフロー制御及びリトライバッファリング及び管理メカニズム、リンク動作モードを変えるために設計されたプロトコル、高速ハードウェア支援デバイスの状態のセーブ及びリストア、随意的な帯域内サポートを伴うリンク管理のための統合型サイドバンドメカニズムを可能にするアーキテクチャ強化をさらに提供してよい。
【0021】
様々な実施形態において、PCIe(商標)のトランザクションレイヤ及びデータリンクレイヤは、異なる複数のリンク速度及び非対称の複数のリンクを構成するための限定された複数の修正を有するプロトコルスタックの一部として実装されることができる。加えて、修正されたリンクトレーニング及び管理は、複数のマルチレーン通信、複数の非対称のリンク構成、サイドバンド統合、及び動的帯域幅拡張性のためのサポートを含むように提供されてよい。複数の実施形態は、さらに、既存のPCIe(商標)ベースのロジック及び回路と、M−PHYロジック及び回路のような非PCIeベースのロジック及び回路との間の橋渡しのためのサポートを提供してよい。
【0022】
この積層化アプローチは、既存の複数のソフトウェアスタック(例えば、オペレーティングシステム(OS)、複数の仮想マシンマネージャ、及び複数のドライバ)が異なる物理レイヤ上でシームレスに動作することを可能にする。データリンクレイヤ及びトランザクションレイヤへの影響は、最小化され、アップデートアクノリッジメントの頻度、複数のリプレイタイマ、及びそのようなものに関連する複数のタイマを更新することを含んでよい。
【0023】
このように、複数の実施形態は、複数のPCIe(商標)システムの中で提供されるフレキシビリティのいくつかを制限する可能性がある。なぜなら、このフレキシビリティは、いくつかの場合において、複数のPCIe(商標)システム及び他の複数のシステムの両方の中で、特定の複雑性を引き起こす可能性があるからである。これは、これらのプロトコルの両方が、プラグアンドプレイ機能を可能にするために大量のフレキシビリティを提供するからである。代わりに、例えば、他の集積回路(IC)にインターコネクトされるシステムオンチップ(SoC)のような所与のシステムに組み込まれるときに、既知で不変の構成が生ずるので、複数の実施形態は、設計におけるフレキシビリティの量を最小化する解決策をあつらえることができる。実装上、存在している正確な構成が知られている。そのため、SoC及び接続されたデバイスの両方がプラットフォーム内に取り付けられている、例えば、システムの回路基板に半田付けされているので、これらのデバイスに関連するプラグアンドプレイ機能が必要とされず、したがって、PCIe(商標)又はプラグアンドプレイ機能を有するシステムへの複数の異なるデバイスのシームレスな組み込みを可能にする他のPCベースの通信プロトコルの本来のより大きいフレキシビリティが必要でなくてよい。
【0024】
一例として、SoCは、第1ICの中に実装されるルートコンプレックスとして機能でき、複数の無線通信デバイスのうちの1又は複数のデバイスを含むことができる無線ソリューションになることができる第2ICに結合される。そのような複数のデバイスは、ブルートゥース(商標)仕様書に従うような複数の低電力短距離通信システム、所与のInstitute of Electrical and Electronics Engineers(IEEE)802.11規格に従ういわゆるWiFi(商標)システムのような複数のローカル無線通信から、3G又は4G通信プロトコルのような所与のセルラ通信プロトコルのようなより高電力の無線システムまで及ぶことができる。
【0025】
図1を参照すると、本発明の実施形態に係る通信プロトコルためのプロトコルスタックの上位レベルのブロック図である。
図1に示されるように、スタック100は、半導体デバイスとそれに結合された他のデバイスとの間のデータ通信の処理を提供するICのような半導体コンポーネント内のソフトウェア、ファームウェア、及びハードウェアの組み合わせであることができる。
図1の実施形態において、上位レベルの観点が、所与プラットフォーム上で実行する様々な種類のソフトウェアであることができる上位レベルソフトウェア110で始まること示される。この上位レベルソフトウェアは、オペレーティングシステム(OS)ソフトウェア、ファームウェア、及びアプリケーションソフトウェアなどを含むことができる。半導体デバイスを他のコンポーネントに結合する所与の物理インターコネクトであってよいインターコネクト140を介して通信されるデータは、
図1内に概して示されるプロトコルスタックの様々なレイヤを通過できる。示されるように、このプロトコルスタックの複数の部分は、従来のPCIe(商標)スタック120の一部であることができ、トランザクションレイヤ125及びデータリンクレイヤ128を含んでよい。一般に、トランザクションレイヤ125は、ターゲットのデバイスが応答のためにデータを収集している間に、リンクに他のトラフィックを送らせながら、時間によって分離された要求又は応答に基づく複数のパケットであることができる複数のトランザクションレイヤパケット(TLP)を生成するように機能する。トランザクションレイヤは、さらに、クレジットベースのフロー制御を処理する。このように、トランザクションレイヤ125は、データリンクレイヤと物理レイヤとのような、デバイスの処理回路とインターコネクトアーキテクチャとの間のインターフェースを提供する。この点について、トランザクションレイヤの主要な責任は、クレジットベースのフロー制御を処理することだけでなく、複数のパケット(すなわち、複数のトランザクションレイヤパケット(TLP))のアセンブル及びデアセンブルである。
【0026】
順次、データリンクレイヤ128は、トランザクションレイヤによって生成される複数のTLPを配列し、2つのエンドポイントの間の複数のTLPの信頼性のある配信(エラーチェックの対応を含む)及び肯定応答処理を保証してよい。このように、リンクレイヤ128は、トランザクションレイヤと物理レイヤとの間の中間ステージとして機能し、リンクによって2つのコンポーネントの間で複数のTLPを交換するための信頼性のあるメカニズムを提供する。リンクレイヤの一側面は、トランザクションレイヤによってアセンブルされた複数のTLPを受け付け、識別子を適用し、エラー検出コード、例えば、巡回回復コード(CRC)を計算して適用し、そして、物理リンクを通じた外部デバイスへの送信のために、修正された複数のTLPを物理レイヤに提出する。
【0027】
データリンクレイヤ128の中で処理した後、複数のパケットは、PHYユニット130へ通信されることができる。一般に、PHYユニット130は、複数の論理レイヤ及び複数の物理(電気を含む)サブレイヤの両方を含んでよい低電力PHY134を含んでよい。一実施形態において、PHYユニット130で表される物理レイヤは、パケットを外部デバイスに物理的に送信する。物理レイヤは、送信のための出力情報を準備する送信セクション、及びリンクレイヤに渡す前に、受信された情報を特定して準備する受信機セクションを含む。送信機は、シリアル変換されて外部デバイスに送信される複数のシンボルが供給される。受信機は、外部デバイスからのシリアル変換された複数のシンボルが供給され、受信された複数の信号をビットストリームに変換する。ビットストリームは、デシリアル変換され、論理サブブロックに供給される。
【0028】
一実施形態において、特別に開発された又はM−PHYのような他のPHYから適合された所与の低電力PHYであることができる低電力PHY134は、インターコネクト140に沿った通信のためにパケット化されたデータの処理を提供できる。
図1にさらに示されるように、リンクトレーニング及び管理レイヤ132(本明細書でリンクマネージャとも称される)は、PHYユニット130内に存在してもよい。様々な実施形態において、リンクマネージャ132は、PCIe(商標)プロトコルのような他の通信プロトコルから実装されることができる特定のロジック、及び従来の、例えば、上述のPCIe(商標)のプロトコルスタックと異なるプロトコルの物理PHY134との間のインターフェース接続を処理する専用のロジックを含むことができる。
【0029】
図1の実施形態において、インターコネクト140は、複数の単方向の2つのペアであってよい複数のワイヤの複数の差動対として実装されることができる。いくつかの実装において、差動対の多数の組が、帯域幅を増加するために使用されてよい。ここで、PCIe(商標)通信プロトコルによれば、各方向における複数の差動対の数が同一であることが要求されることに留意すべきである。しかし、様々な実施形態によれば、異なる数のペアが、各方向において提供されることができ、より効率がよく及びより低電力で動作させる。この全体の集中型スタック及びリンク140は、モバイルエクスプレスPCIe(商標)インターコネクト又はリンクと称されてよい。
図1の実施形態において、この上位レベルで示されるが、この点について、本発明の範囲は限定して理解されない。つまり、上位レベルソフトウェア、及び図示されないこのスタックを含む他の半導体デバイス又はSoCの様々な他の回路とともに、
図1に示される観点が、単に、物理レイヤを通じたトランザクションレイヤからのプロトコルスタックに関することが理解される。
【0030】
図2を参照すると、本発明の実施形態に係るSoCのブロック図が示される。
図2に示されるように、SoC200は、スマートフォン、パーソナルデジタルアシスタント(PDA)、タブレット型コンピュータ、ネットブック、ウルトラブックなどのような比較的小さい低電力のポータブルデバイスから、上位レベルシステムの中に実装されることができるより先端のSoCまで及ぶ様々な種類のプラットフォームへの実装のための任意の種類のSoCであることができる。
【0031】
図2に示されるように、SoC200は、1又は複数のコア210
0−210
nを含んでよい。したがって、様々な実施形態において、マルチコアSoCが可能であり、複数のコアの全てが、所与のアーキテクチャ、例えば、インオーダ又はアウトオブオーダのプロセッサの同種の複数のコアであってよい。又は、より大きくより複雑なアーキテクチャ、例えば、アウトオブオーダのアーキテクチャのものであってよい追加の複数のコアとともに、異種の複数のコア、例えば、いくつかの比較的小さい低電力のコア、例えば、インオーダのアーキテクチャのものがあることができる。プロトコルスタックは、これらの複数のコアのうちの1又は複数とシステムの他の複数のコンポーネントとの間のデータの通信を可能にする。示されるように、このスタックは、複数のコアのうちの1又は複数のコア上で実行するアプリケーションレベルソフトウェア、OS、及びファームウェアのような上位レベルソフトウェアであってよいソフトウェア215を含むことができる。加えて、プロトコルスタックは、トランザクションレイヤ220及びデータリンクレイヤ230を含む。様々な実施形態において、これらのトランザクションレイヤ及びデータリンクレイヤは、PCIe(商標)プロトコルのような所与の通信プロトコルのものであってよい。当然ながら、ユニバーサルシリアルバス(USB)プロトコルスタックに従うような異なる複数のプロトコルスタックの複数のレイヤは、他の複数の実施形態において存在してよい。また、いくつかの実装において、本明細書で説明されるような低電力PHY回路は、既存の代替の複数のプロトコルスタックで多重化されることができる。
【0032】
さらに、
図2を参照すると、次に、このプロトコルスタックは、多数のインターコネクトを介する通信を提供する多数の物理ユニットを含んでよい物理ユニット240に結合できる。一実施形態において、第1物理ユニット250は、一実施形態において主インターコネクト280を介する通信を提供するMIPI仕様書に従うM−PHYに対応してよい低電力PHYユニットであってよい。加えて、サイドバンド(SB)PHYユニット244が存在してよい。示された実施形態において、このサイドバンドPHYユニットは、サイドバンドインターコネクト270を介する通信を提供してよく、サイドバンドインターコネクト270は、例えば、第1PHY250に結合された主インターコネクト280より遅いデータレートで、特定のサイドバンド情報を提供する統合型サイドバンドであってよい。いくつかの実施形態において、プロトコルスタックの様々なレイヤは、このサイドバンドインターコネクトに沿った通信を可能にする、このSB PHY244に結合する別個のサイドバンドを有することができる。
【0033】
加えて、PHYユニット240は、さらに、SB PHY244を制御するために使用されることができるSBリンクマネージャ242を含んでよい。加えて、リンクトレーニング及び状態マネージャ245が存在してよく、第1PHY250及びインターコネクト280の統括制御を提供するだけでなく、第1通信プロトコルのものであるプロトコルスタックを、第2通信プロトコルのものである第1PHY250に適合させるために使用されることができる。
【0034】
さらに示されるように、様々なコンポーネントが第1PHY250の中に存在してよい。より詳細には、送信機及び受信機回路(すなわちTX253及びRX254)が存在してよい。一般に、この回路は、主インターコネクト280を介するデータの送信及び受信に沿った複数のデシリアライゼーション動作、複数のシリアライゼーション動作を実行するために使用されてよい。セーブ状態マネージャ251が存在してよく、それが低電力状態にあるときに、第1PHY250に関する構成及び他の状態情報をセーブするために使用されることができる。また、コーダ252は、例えば、8b/10bプロトコルに従うラインコーディングを実行するために存在できる。
【0035】
図2にさらに示されるように、機械的なインターフェース258が存在してよい。この機械的なインターフェース258は、ルートコンプレックス200からの、より詳細には、主インターコネクト280を介する第1PHY250へ/からの通信を提供する所与のインターコネクトであってよい。様々な実施形態において、この機械的な接続は、ボールグリッドアレイ(BGA)又は他の表面実装のような半導体デバイスの複数のピンが用いられ、又はホール接続を通して半田付けされることができる。
【0036】
これらの主要な通信メカニズムに加えて、追加の通信インターフェースは、複数のコア210と、複数のセンサ、複数の加速度計、複数の温度センサ、全地球測位システム(GPS)回路、コンパス回路、タッチスクリーン回路、キーボード回路、及びマウス回路などのような様々な低いデータレートの周辺デバイスである1又は複数のオフチップデバイス260a−cとの間のソフトウェアレイヤ216、トランザクションレイヤ221、及びリンクレイヤ231を含む別個のスタックを介して結合される低電力シリアル(LPS)PHYユニット255が用いられてよい。
【0037】
ここで、様々な実施形態において、サイドバンドインターコネクト270及び主インターコネクト280の両方が、SoC200と他の半導体コンポーネント、例えば、マルチバンド無線ソリューションのような他のICとの間に結合できることに留意すべきである。
【0038】
この場合も先と同様に、
図2の説明は、比較的上位レベルであり、複数のバリエーションが可能である。例えば、独立したPHYにそれぞれ関連付けられた多数のチャネルを介するデータ通信のより高い速度を可能にする多数の低電力PHYを提供することが可能である。
図3を参照すると、本発明の他の実施形態に係る物理ユニットのブロック図が示される。
図3に示されるように、物理ユニット300は、リンクトレーニング及び状態マネージャ310を含む。この状態マネージャは、上述のようであってよく、第1通信プロトコルのプロトコルスタックを、第2の、例えば、異なる通信プロトコルの物理ユニットとインターフェース接続することを可能にするロジックの集合であることができる。
【0039】
図3にさらに示されるように、リンクトレーニング及び状態マネージャ310は、多数のM−PHY320
0−320
nと通信してよい。1より多いそのようなPHYを提供することによって、より高い速度のデータ通信が発生できる。ここで、
図3に示される各M−PHYは、その個々の独立した複数の通信を発生することを可能にするある程度の量のロジックを含んでよく、一方で、これらの異なる複数のM−PHYの複数の通信の統括制御は、リンクトレーニング及び状態マネージャ310を介してよいことに留意すべきである。また、複数のM−PHYが
図3に示されるが、他の複数の実施形態において、他の種類の多数のPHYユニットが存在することができ、さらに、多数の異種のPHYユニットが提供されることができることが理解される。ここで、各M−PHYユニットは、唯一の論理リンクの一部として、又は単一の論理リンクに関連付けられた複数のグループで使用されることができることに留意すべきである。いくつかの実施形態において、単一の物理デバイスは、例えば、多機能コンポーネントの異なる複数の機能のための専用の複数のリンクリソースを提供するために、多数の論理リンクを消費してもよいが、各デバイスは、典型的には、単一の論理リンクを消費してよい。
【0040】
図4を参照すると、本発明の実施形態に係るプロトコルスタックのさらなる詳細を示すブロック図が示される。
図4に示されるように、スタック400は、トランザクションレイヤ410、データリンクレイヤ420、及び物理レイヤ430を含む様々なレイヤを含む。上述のように、これらの異なる複数のレイヤは、この第1通信プロトコルのこれらのレイヤと、
図4の実施形態においてMIPI仕様書に従う複数のM−PHYであってよい他の通信プロトコルの物理レイヤとの間の相互作用を調整するために、PCIe(商標)プロトコルスタックの従来のトランザクション部分及びデータリンク部分のいずれか、又は様々なそのようなスタックが修正された複数のバージョンを使用して構成されることができる。
【0041】
図4に示されるように、情報がプロトコルスタック400から送信される送信方向に関して、例えば、コア又は他の処理ロジックのようなSoCの他の回路から、プロトコルスタックへの入力情報が、トランザクションレイヤの送信パケットアセンブラ412の中で受信され、送信パケットアセンブラ412は、典型的には、TLPを形成するために、制御パス及びデータパスを組み合わせる。様々な実施形態において、例えば、1から4096バイトを有する(又は、より小さい最大値サイズ、例えば、128又は256の)複数のデータパケットであることができる複数の送信パケットにアセンブルした後、アセンブルされた複数のパケットは、フローコントローラ414に提供される。フローコントローラ414は、送信のために待ち行列に入れられた次のTLPに対して要求される数に基づいて、十分なフロー制御クレジットが利用可能であるか否かを判断し、データリンクレイヤ420への複数のパケットの投入を制御する。より詳細に示されるように、これらの投入された複数のパケットは、エラー検出器及びシーケンサ422に提供され、エラー検出器及びシーケンサ422は、一実施形態において、TLPシーケンス番号及びLCRCを生成してよい。さらに示されるように、データリンクレイヤ420は、さらに、送信メッセージングメカニズム426を含む。送信メッセージングメカニズム426は、複数のリンク管理機能のための複数のDLLPを順次生成し、データリンク送信コントローラ425に結合される。データリンク送信コントローラ425は、フロー制御及びデータリンク整合性(ACK/NAK)メカニズムのための機能性のコントローラである。ここで、これらの機能が別個の複数のロジックブロックを使用して実装されるようにさらに分割されてよいことに留意すべきである。
【0042】
さらに示されるように、処理された複数のデータパケットは、リンクの他方側のコンポーネントによって受領確認されるまで、各TLPの複製を保持するリトライバッファ424に提供される。ここで、これは、実際には、より上位に(アセンブラ412の中又は上に)スタックをバッファリングすることで実装されてよく、処理された複数のデータパケットは、データ/メッセージセレクタ428を介する物理レイヤ430への送信のために選択されるまで、対応する複数のエントリの中に格納されることができることに留意すべきである。一般に、上述のトランザクションレイヤ及びデータリンクレイヤは、さらに以下で説明されるような特定の複数の修正を伴って、従来のPCIe(商標)プロトコルスタック回路に従って動作してよい。
【0043】
代わりに、物理レイヤ430に関して、他の通信プロトコルの物理ユニットの実際の複数の物理部分へのインターフェース接続を提供するためだけでなく、例えば、PCIe(商標)プロトコルスタックから修正されるような、このレイヤの特定の複数の論理コンポーネントのさらに多くの修正が生じてよい。示されるように、複数の入力パケットは、フレーミングジェネレータ432に適用されてよく、フレーミングジェネレータ432は、複数の物理レイヤフレーミングシンボルを追加し、複数のパケットのフレーミングを生成し、それら幅/位置マッパ434に提供し、幅/位置マッパ434は、必要な場合にデータパスの幅を調整しながら、外部送信のために要求された配列を生成するためにデータパスの中で複数のバイトをシフトし、トレイナ及びスキップシーケンサ436に次に結合され、トレイナ及びスキップシーケンサ436は、リンクトレーニング及びスキップシーケンシングを実行するために使用されてよい。示されるように、フレーミングジェネレータ432、トレイナ/シーケンサ436、及びデータ/シーケンスセレクタ438は全て、LTSSM及び関連するロジックの送受信機の部分である物理レイヤ送信コントローラ435に結合されてよい。ブロック436は、複数のトレーニングセット(TS)及び複数のスキップ順序集合のような複数の物理レイヤ送信を生成するロジックである。このような方法では、複数のフレーム化されたパケットは、選択され、コーディング、シリアライゼーション、及び処理された複数のパケットに対応するシリアル変換された複数の信号の物理インターコネクトへの駆動を実行する物理回路に提供されてよい。一実施形態において、複数の異なる通信プロトコルの間のシンボルの相違のマッピングは、フレーミングジェネレータ432の中で実行されてよい。
【0044】
示されるように、多数の個々のチャネル又はレーンは、この物理インターコネクトのために提供されることができる。示される実施形態において、各物理チャネル又はレーンは、独自の独立したPHYユニット送信回路445
o−445
jを含むことができる。PHYユニット送信回路445
o−445
jのそれぞれは、一実施形態において、MIPI仕様書に従うM−PHYユニットの一部であることができる。本明細書で説明されるように、送信機及び受信機の数が一致するPCIe(商標)とは異なり、異なる数の送信機及び受信機が存在してよい。したがって、示されるように、各送信回路445は、8b/10bエンコーディングに従って複数のシンボルをエンコードするように機能するエンコーダ、エンコードされた複数のシンボルをシリアル変換するシリアライザ、及び物理インターコネクト上に複数の信号を駆動するドライバを含むことができる。さらに示されるように、各レーン又はチャネルは、論理ユニット440
o−440
jに関連付けられてよい。論理ユニット440
o−440
jは、M−PHYのためのMIPI仕様書に従う論理回路であってよく、したがって、対応するレーンを介する物理通信を管理する。
【0045】
ここで、これらの多数のレーンは、異なる速度で動作するように構成されることができ、複数の実施形態は、異なる数のそのようなレーンを含んでよいことに留意すべきである。さらに、送信方向及び受信方向において異なる数のレーン及びレーン速度を有することが可能である。したがって、所与の論理ユニット440は、PHY445の対応するレーンの動作を制御するが、物理レイヤ送信コントローラ435は、物理インターコネクトを介する情報の送信の全体を制御するように機能してよいことが理解される。ここで、いくつかの場合において、いくつかの非常に基本的な機能性は、各レーンに関連付けられた別個のロジックによって実行され、複数のレーンが単一のリンクより多くに割り当てられることができる場合のために、多数のLTSSMインスタンスが提供されてよく、トレーニングされたリンクに対して、送受信機側及び受信機側の両方を制御する各コンポーネントの中に、単一のLTSSMがあることに留意すべきである。この統括制御は、電力制御、リンク速度制御、リンク幅制御、初期化などを含むことができる。
【0046】
さらに、
図4を参照すると、複数の物理インターコネクトを介して受信された入力情報は、同様に、これらのレイヤの受信メカニズムを用いて、物理レイヤ430、データリンクレイヤ420、及びトランザクションレイヤ410を通ってよい。
図4に示される実施形態において、各PHYユニットは、さらに、受信回路、すなわち、受信回路455
o−455
kを含んでよく、示される実施形態において、物理リンクの各レーンに対して存在できる。ここで、この実施形態において、受信機回路455の数と送信機回路445の数とが異なってよいことに留意すべきである。示されるように、この物理回路は、入力情報を受信する入力バッファ、情報をデシリアル変換するデシリアライザ、及び8b/10bエンコーディングで通信された複数のシンボルをデコードするように機能してよいデコーダを含むことができる。さらに示されるように、各レーン又はチャネルは、論理ユニット450
o−450
kに関連付けられてよい。論理ユニット450
o−450
kは、(M−PHYのためのMIPI仕様書のような)所与の仕様書に従う論理回路であってよく、したがって、対応するレーンを介する物理通信を管理する。
【0047】
デコードされた複数のシンボルは、順次、物理レイヤ430の論理部分に提供されてよい。示されるように、物理レイヤ430は、複数のエラスティックバッファ460を含んでよい。エラスティックバッファは、リンク上のこのコンポーネントと他のコンポーネントとの間のクロックの差を調整する。ここで、その位置は、様々な実装において、例えば、8b/10bデコーダの下位にあるように、又はレーンデスキューバッファと組み合わせられて入力されてデコードされた複数のシンボルを格納するように、シフトしてよいことに留意すべきである。順次、情報は、幅/位置マッパ462に、そして、そこからレーンデスキューバッファ464に提供されてよい。レーンデスキューバッファ464は、多数のレーンにわたってデスキューを実行し、マルチレーンの場合、バッファ464は、複数のバイトを再編成するために、複数のレーンの間の信号スキューにおける差を処理できる。順次、デスキューされた情報は、フレーミングプロセッサ466に提供されてよく、フレーミングプロセッサ466は、入力情報の中に存在するフレーミングを除去してよい。示されるように、物理レイヤ受信コントローラ465は、複数のエラスティックバッファ460、マッパ462、デスキューバッファ464、及びフレーミングプロセッサ466に結合されて制御してよい。
【0048】
さらに、
図4を参照すると、回復された複数のパケットは、受信メッセージングメカニズム478及びエラー検出器シーケンスチェッカ及びリンクレベルリトライ(LLR)リクエスタ475の両方に提供されてよい。この回路は、例えば、CRCチェックサム動作を実行すること、順序チェックを実行すること、及び誤って受信された複数のパケットのリンクレベルリトライを要求することで、複数の入力パケットの誤り訂正チェックを実行してよい。受信メッセージングメカニズム478及びエラー検出器/リクエスタ475の両方は、データリンク受信コントローラ480の制御下にあってよい。
【0049】
さらに、
図4を参照すると、ユニット475の中でこのように処理された複数のパケットは、トランザクションレイヤ410、より詳細には、フローコントローラ485に提供されてよい。フローコントローラ485は、それらをパケットインタプリタ495に提供するために、これらのパケットにフロー制御を実行する。パケットインタプリタ495は、複数のパケットのインタプリテーションを実行し、それらを選択された宛先、例えば、所与のコア又は受信機の他のロジック回路に転送する。
図4の実施形態において、この上位レベルで示されるが、本発明の範囲がこの点について限定されないことが理解される。
【0050】
ここで、複数のPHY440は、送信のためにPCIe(商標)によってサポートされたものと同一の8b/10bエンコーディングを使用してよいことに留意すべきである。8b/10bエンコーディングスキームは、複数のキャラクタを表すために使用される複数のデータシンボルとは別個の複数の特殊シンボルを提供する。これらの特殊シンボルは、PCIe(商標)仕様書の物理レイヤの章で説明されたような様々なリンク管理メカニズムのために使用されてよい。M−PHYによる追加の特殊シンボルの使用法が、MIPI M−PHY仕様書に説明される。複数の実施形態は、PCIe(商標)シンボルとMIPI M−PHYシンボルとの間のマッピングを提供してよい。
【0051】
表1を参照すると、本発明の一実施形態に係る複数のM−PHYシンボルへの複数のPCIe(商標)シンボルの例示的なマッピングが示される。このように、この表は、本発明の一実施形態に係る集中型プロトコルスタックのための複数の特殊シンボルのマッピングを示す。
【表1】
【0052】
複数の8b/10bデコードルールは、PCIe(商標)仕様書に対して規定されたものと同一である。複数の8b/10bルールに対する唯一の例外は、複数の8b/10bルールを違反する特定のシーケンスであるTAIL OF BURSTを検出したときである。様々な実施形態によれば、物理レイヤ430は、TAIL OF BURSTの間に発生した任意のエラーの通知をデータリンクレイヤ420に提供できる。
【0053】
一実施形態において、複数のレーンへの複数のシンボルの適用及びフレーミングは、PCIe(商標)仕様書の中に規定されるものであってよく、さらに、データスクランブリングは、PCIe(商標)仕様書の中に規定されるものと同一であることができる。しかし、ここで、MIPI仕様書に従う通信のPREPAREフェーズの中で送信された複数のデータシンボルは、スクランブルされないことに留意すべきである。
【0054】
リンクの初期化及びトレーニングに関して、リンクマネージャは、上で議論されたように、複数のレーンの1又は複数のチャネルを含むことができるリンクの構成及び初期化、通常の複数のデータ転送のサポート、複数のリンクエラーから回復したときの複数の状態遷移のサポート、及び低電力状態からのポートの再起動を提供してよい。
【0055】
そのような動作をもたらすために、以下の物理的及びリンクに関連する複数の特性、(例えば、初期のリンク速度及びサポートされた速度、及び初期のリンク幅及びサポートされた複数のリンク幅を含む)複数のPHYパラメータは、先験的に、例えば、初期化の前に知られてよい
【0056】
一実施形態において、トレーニングは、様々な動作を含んでよい。そのような複数の動作は、構成されたリンク速度及び幅、レーン当たりのビットロック、レーン当たりのシンボルロック、レーン極性、及びマルチレーンリンクに対するレーン間のデスキューで、リンクを初期化することを含んでよい。このような方法では、トレーニングは、レーン極性を発見し、その結果、複数の調整を実行できる。しかし、ここで、本発明の実施形態に係るにリンクトレーニングは、リンクデータレート及び幅のネゴシエーション、リンク速度及び幅の悪化を含まなくてよいことに留意すべきである。代わりに、上述のように、リンクの初期化に応じて、両方のエンティティーは、先験的に、初期のリンク幅及び速度を知り、したがって、ネゴシエーションに関連付けられた時間及び計算の労力が、回避されることができる。
【0057】
PCIe(商標)の複数の順序集合は、以下の複数の修正とともに使用されることができる。TS1及びTS2の順序集合は、IP再利用を促進するために使用されるが、トレーニングの複数の順序集合の多くのフィールドは、無視される。また、複数の高速トレーニングシーケンスは、使用されない。電気的なアイドル状態の順序集合(EIOS)は、Skip OSであるとして、IP再利用を促進するために保持されてよいが、Skip OSの頻度は、PCIe(商標)仕様書に従うものと異なる速度であってよい。ここで、データストリームの複数の順序集合及び複数のシンボルは、PCIe(商標)仕様書に従うものと同一であってよいことにも留意すべきである。
【0058】
以下の複数のイベントは、リンクトレーニング及び管理を促進するために通信される。(1)プレゼンス。アクティブなPHYがリンクのリモート側上に存在することを示すために使用されることができる。(2)コンフィグレーションレディ。PHYパラメータの構成が完了されたこと及びPHYが構成プロファイルで動作する準備ができていることを示すためにトリガされる。一実施形態において、そのような情報は、本発明の実施形態に係る統合型サイドバンド信号によって通信されることができる。
【0059】
電気的なアイドル状態の複数の状況の制御を目的として、PHYは、送信機が電気的なアイドル状態に入っていることを示すために使用されるTAIL OF BURSTシーケンスを有する。一実施形態において、サイドバンドチャネルは、電気的なアイドル状態から抜けることを信号で伝えるために使用されてよい。ここで、この指示は、複数のPHYスケルチブレイクメカニズムに加えてよいことに留意すべきである。複数のシンボルのOPENSシーケンスは、電気的なアイドル状態へのエントリを示すためにEIOSとして送信されてよい。
【0060】
いくつかの実施形態において、高速トレーニングシーケンス(FTS)は規定されない。代わりに、PHYは、ストール/スリープ状態から、ビットロック、シンボルロック、及びレーン間のデスキューに対処するために使用されることができるバースト状態へ抜けるために、特定の物理レイヤシーケンスを使用してよい。小さい数のFTSは、ロバスト性のために、一連のシンボルとして規定されることができる。データストリームの順序集合の開始は、リンクエラー回復であるとして、PCIe(商標)仕様書に従ってよい。
【0061】
複数のリンクデータレートに関しては、様々な実施形態において、リンクが初期化する初期のデータレートは、予め定められデータレートであってよい。この初期のリンク速度から変化したデータレートは、リカバリ状態を経由することによって生じてよい。複数の実施形態は、反対の複数の方向において異なることが許可される複数の非対称のリンクデータレートをサポートしてよい。
【0062】
一実施形態において、サポートされた複数のリンク幅は、PCIe(商標)仕様書のこれらに従ってよい。さらに、上述のように、複数の実施形態は、リンク幅が予め定められるので、リンク幅をネゴシエーションするためのプロトコルをサポートしなくてよく、結果として、リンクトレーニングが単純化されてよい。当然ながら、複数の実施形態は、反対の複数の方向における複数の非対称のリンク幅のためのサポートを提供してよい。同時に、リンクの各方向に対して構成される初期のリンク幅及び初期のデータレートは、トレーニングが開始する前に先験的に知られてよい。
【0063】
PHYユニットの複数の物理ポートに関して、x1リンクだけでなくxNリンクを形成するxNポートに対する能力(Nは32、16、12、8、4、2、及び1であることができる)は要求されず、Nと1との間の任意のリンク幅を形成するためのxNポートに対する能力が随意的である。この動作の例は、唯一1つのリンクにのみ構成できるx16ポートを含むが、リンクの幅は、x16及びx1の要求された幅だけでなく、x12、x8、x4、x2になるように構成されることができる。そのようなものとして、本発明の実施形態に係るプロトコルスタックを使用する複数のデバイスを実装しようとする設計者は、これらのコンポーネントに上記要件を適合させる方法で、2つの異なるコンポーネントの間の複数のポートを接続できる。複数のコンポーネントの間の複数のポートが、コンポーネントのポートの記述/データシートによって規定されるような意図された使用法と一致しない方法で接続される場合、動作は定義されていない。
【0064】
加えて、2又はそれより多いリンクにポートを分割する能力は、禁止される。そのようなサポートが所与の設計に対して適切な場合、ポートは、トレーニングの間に、特定の幅をサポートするように構成されることができる。この動作の例は、2つのx8リンク、4つのx4リンク、又は16のx1リンクを構成できてよいx16ポートである。
【0065】
8b/10bエンコーディングを使用するとき、複数の順序集合は、構成されたリンクの全てのレーン上で同時に送信されるので、PCIe(商標)仕様書のような明白なレーン間のデスキューのメカニズムは、トレーニングシーケンスの間に受信された複数の順序集合又は複数のSKP順序集合のCOMシンボルである。HS−BURSTの同期シーケンスの間に送信されたMK0シンボルは、レーン間のデスキューのために使用されてよい。
【0066】
図4に関して簡単に上述したように、リンクトレーニング及び状態マネージャは、PCIe(商標)プロトコルスタックの複数の上位レイヤを異なるプロトコルの下位レイヤのPHYユニットに適合させることを含む様々な動作を実行するように構成されることができる。さらに、このリンクマネージャは、単一又は多数のレーンを構成して管理でき、対称のリンク帯域幅、ステートマシンのPCIe(商標)トランザクションレイヤ及びデータリンクレイヤとの互換性、リンクトレーニング、随意的な複数の対称のリンクストール状態、及びロバストな複数の通信のための複数のサイドバンド信号の制御に対するサポートを含んでよい。その結果、複数の実施形態は、複数の異なるリンク速度及び複数の非対称のリンクを構成するための限定された修正を伴って、PCIe(商標)のトランザクションレイヤ及びデータリンクレイヤを実装することを提供する。さらに、本発明の実施形態に係るリンクマネージャを使用して、複数の異なる通信プロトコルの複数のレイヤの間の橋渡しをさらに可能にしながら、マルチレーン、非対称のリンク構成、サイドバンド統合、及び動的帯域幅拡張性に対するサポートが実現されることができる。
【0067】
図5を参照すると、本発明の実施形態に係るリンクマネージャの一部になることができるリンクトレーニングステートマシンのための状態
図500が示される。
図5に示されるように、リンクトレーニングは、検出状態510で開始できる。この状態は、パワーオンリセット上で生じ、アップストリームポート及びダウンストリームポートの両方に適用可能である。リセットの完了の後、全ての構成されたレーンは、リンクの各端部がサイドバンドチャネルを使用して、例えば、PRESENCE信号によって、信号を送信できる所与の状態、すなわち、HIBERN8状態に遷移してよい。ここで、この検出状態において、高インピーダンスの信号、すなわち、DIF−Z信号が、全てのレーン上に駆動されてよいことに留意すべきである。
【0068】
このように、PRESENCEイベントが信号で送信されて受信されるとき、制御が検出状態510から構成状態520に移り、この高インピーダンスが、全ての構成されたレーン上に駆動される。構成状態520において、複数のPHYパラメータは、構成されることができ、リンクの各端部の全ての構成されたレーン上での完了に従って、高インピーダンスが全てのレーン上で維持されながら、例えば、サイドバンドインターコネクトを使用して、コンフィグレーションレディ信号(CFG−RDY)が示されることができる。
【0069】
このように、サイドバンドインターコネクトを介するこのコンフィグレーションレディインディケーションの送信及び受信に従って、制御がストール状態530に移る。すなわち、このL0ストール状態において、PHYは、ストール状態へ遷移し、全ての構成されたレーン上に高インピーダンスを駆動し続ける。示されるように、データが送信又は受信に利用可能か否かに応じて、制御がアクティブ状態L1(状態530)、低電力状態(L1状態540)、より深い低電力状態(L1オフ状態545)に移る、又は構成状態520に戻ることができる。
【0070】
このように、ストール状態において、負の駆動信号DIF−Nは、全ての構成されたレーン上で通信されることができる。そして、イニシエータによって指示されたとき、BURSTシーケンスが、開始してよい。その結果、MARKER0(MK0)シンボルの送信の後、制御がアクティブ状態530に移る。
【0071】
一実施形態において、受信機は、全ての構成されたレーン上でストール状態の終了を検出し、例えば、MIPI仕様書に従うビットロック及びシンボルロックを実行してよい。複数の実施形態において、マルチレーンリンクで、このMK0シンボルが、レーン間のデスキューを確立するために使用されてよい。
【0072】
代わり、低電力状態(すなわち、L1状態540)に指示されたとき、全ての構成されたレーンは、スリープ状態に遷移してよい。次に、より深い低電力状態(すなわち、L1オフ状態545)に指示されたとき、全ての構成されたレーンは、HIBERN8状態に遷移してよい。最後に、構成状態に戻ることが指示されたとき、同様に、全ての構成されたレーンは、HIBERN8状態に遷移する。
【0073】
さらに、
図5を参照すると、アクティブなデータ転送のために、制御が、このように、アクティブ状態550に移る。具体的には、これは、リンクレイヤ及びトランザクションレイヤが、複数のデータリンクレイヤパケット(DLLP)及び複数のTLPを使用して、情報を交換することを開始する状態である。そのように、ペイロードの転送が生じることができ、そのような転送の終わりに、TAIL OF BURSTシンボルが通信されることができる。
【0074】
示されるように、このアクティブ状態から、制御がストール状態530に戻ることができ、又は、例えば、受信機のエラーに応答して又は指示されたときにリカバリ状態560に移ることができ、又は、低電力(例えば、L2)状態570に移ることができる。
【0075】
ストール状態に戻るために、送信機は、TAIL OF BURSTインディケーションに従うEIOSシーケンスを全ての構成されたレーン上に送信してよい。
【0076】
エラーが発生した場合、又は指示されたように、制御は、リカバリ状態560に移ることもできる。ここで、リカバリへの遷移は、両方の方向における全ての構成されたレーンをストール状態に入らせる。これをもたらすために、GO TO STALL信号がサイドバンドインターコネクト上に送信されることができ、この信号の送信機は応答を待つことができる。このSTALL信号が送信されて受信されたとき、サイドバンドインターコネクト上で受信されたGO TO STALLインディケーションによって示されるように、制御は、ストール状態530に戻る。ここで、このリカバリ状態は、このように、ストール状態への同時のエントリを調整するために、サイドバンドを使用してプロトコルを確立することに留意すべきである。
【0077】
低電力状態L1及びL1オフに関して、動作は、状態540及び545に従う。具体的には、PHYがスリープ状態に置かれることができるように、制御は、ストール状態からL1低電力状態540に移る。この状態において、負の駆動信号、すなわち、DIF−N信号が全ての構成されたレーン上で駆動されることができる。その状態から出ることが指示されたとき、制御は、例えば、サイドバンドインターコネクト上でPRESENCE信号を送信することによって、ストール状態530に戻る。
【0078】
また示されるように、全てのL1オフの条件が満たされたときに、より深い低電力状態L1オフに入れられることができる。一実施形態において、これらの条件は、PHYユニットに対する完全な電力制御又は電力停止を含んでよい。このより深い低電力状態において、PHYは、HIBERN8状態に置かれてよく、高インピーダンス信号が全ての構成されたレーン上で駆動される。この状態を終了するために、制御は、全ての構成されたレーン上でDIF−Nを駆動することによって、ストール状態に戻る。
【0079】
図5にさらに示されるように、追加の複数の状態、すなわち、電力が停止する準備ができているときに、アクティブ状態から入れられることができるさらにより深い低電力状態(L2)570が存在できる。一実施形態において、この状態は、PCIe(商標)仕様書のものと同一であってよい。
【0080】
表2を参照すると、PCIe(商標)仕様書に従う複数のLTSSM状態と、本発明の実施形態に係る対応する複数のM−PHY状態との間のマッピングが示される。
【表2】
【0081】
上述のように、
図2に関して、複数の実施形態は、随意的な帯域内サポートとともに、リンク管理のために使用されることができる統合型サイドバンドメカニズムを提供する。このような方法では、サイドバンド回路及びインターコネクトを使用して、リンク管理及び制御が、主インターコネクトのための物理レイヤのより高速(及びより大電力)の回路と独立して存在できる。さらに、このような方法では、主インターコネクトに関連付けられたPHYユニットの複数の部分への電力供給が停止されたときに、このサイドバンドチャネルが使用されることができ、低減された電力消費を可能にする。また、この統合型サイドバンドメカニズムは、主インターコネクトのトレーニングの前に使用されることができ、また、主インターコネクト上に障害が存在するときに使用されてよい。
【0082】
さらに、この統合型サイドバンドメカニズムを介して、単一のインターコネクト、例えば、各方向における差動ワイヤのペアが存在でき、両方のピンの数を低減し、新しい機能の追加を可能にする。複数の実施形態は、また、より早くよりロバストなクロック/電力の制御を可能にしてよく、このリンクを使用するPCIe(商標)のサイドバンドメカニズムのような従来のプロトコルにおける曖昧さを除去できる。
【0083】
本発明の範囲は、この点について限定されないが、異なる複数の実施形態において、サイドバンドインターコネクト(例えば、
図2のサイドバンドインターコネクト270)は、シングルワイヤ双方向サイドバンド信号、デュアルワイヤデュアル方向単方向の信号のセット、低電力パルス幅変調(PWM)モードにおいてM−PHYを使用して利用可能なもののような低速帯域内シグナリングメカニズムとして、又は物理レイヤの複数の順序集合又は複数のDLLPのような帯域内高速シグナリングメカニズムとして、実装されることができる。
【0084】
例として、限定の目的でなく、様々な物理レイヤのアプローチがサポートされてよい。第1のアプローチは、サイドバンドインターコネクトが使用されるときに、最低のピンの数を提供するシングルワイヤ双方向サイドバンド信号であることができる。いくつかの実施形態において、この信号は、既存のサイドバンド、例えば、PERST#、WAKE#、又はCLKREQ信号上で、多重化されることができる。第2のアプローチは、シングルワイヤアプローチと比較してより単純で少し効率がよいが追加のピンを費やすデュアルワイヤデュアル方向単方向の信号のセットであってよい。そのような実装は、既存のサイドバンド、例えば、ホストデバイスに対するPERST#及びデバイスホストに対するCLKREQ#上で多重化されることができる(この例において、2モードの実装を単純化しつつ、既存の信号方向性は維持される。)。第3のアプローチは、サイドバンドメカニズムと比較してピンの数を低減するM−PHY LS PWMモードのような低速帯域内シグナリングメカニズムであってよく、同様に、低電力レベルをさらにサポートしてよい。この動作のモードは、高速動作と相互に排他的であるので、物理レイヤの複数の順序集合又はDLLPのような高速帯域内メカニズムと組み合わされることができる。このアプローチは、低電力でないが、既存の高速IOとの共通点を最大化する。低速帯域内シグナリングと組み合わせられたとき、このアプローチは、優れた低電力ソリューションを提供してよい。
【0085】
所与のシステムにおいてこれらの構成のうちの1又は複数を実現するために、デバイス/プラットフォームのレベルの動作/反応を理解するために使用されることができるポリシーレイヤだけでなく、物理レイヤ上で交換される情報の意味を決定するために使用されることができる意味レイヤが提供されることができる。一実施形態において、これらのレイヤは、SB PHYユニットの中に存在してよい。
【0086】
階層化アプローチを提供することによって、複数の実施形態は、サイドバンド機能(単純さ及び/又は低電力動作のために、いくつかの実装において、優先されてよい)、及び例えば、追加のピンの数に対する必要性を避ける他の複数の実装のために優先されてよい帯域内の両方を含んでよい異なる物理レイヤの実装を可能にする。
【0087】
一実施形態において、多数のサイドバンド信号が、例えば、意味レイヤを介して、統合型サイドバンドメカニズム(又は帯域内メカニズム)を介する通信のための単一のパケットに構成されることができる。一実施形態において、下記の表3は、一実施形態において存在してよい様々な信号を示す。示される表において、複数の信号の論理方向は、矢印によって示される。ここで、上矢印は、ホスト(例えば、ルートコンプレックス)への方向であることが規定され、下矢印は、デバイス(例えば、無線ソリューションのような周辺デバイス)への方向であることが規定される。
【表3】
【0088】
図6を参照すると、本発明の実施形態に係るサイドバンドメカニズムの様々な状態のためのフロー図が示される。
図6に示されるように、これらの様々な状態が、ルートコンプレックス(例えば、ホスト制御動作)に関していてよい。状態
図600は、ホストを介する様々な状態の制御を提供してよい。示されるように、動作は、プレゼンス信号が通信されることができるブート状態610で開始する。ここで、このプレゼンス信号は、上述のように、リンク管理動作に関してよいことに留意すべきである。そして、制御は、様々な信号、すなわち、パワーグッド信号、リセット信号、参照クロック状態信号、及びレディツートレイン信号が通信されてよいブート状態620に移る。ここで、これらの信号の全てが、これらの信号のそれぞれがパケットのインジケータ又はフィールド(例えば、パケットの1ビットインジケータ)に対応できる単一のパケットを介して通信されることができることに留意すべきである。
【0089】
さらに、
図6を参照すると、制御は、次に、アクティブ状態630に移る。アクティブ状態630において、システムは、アクティブ状態(例えば、S0)にあってよく、対応するデバイス(例えば、ダウンストリームデバイス)は、アクティブデバイス状態(例えば、D0)にあってよく、リンクは、アクティブ状態、ストール、又は低電力状態(例えば、L0、L0s、又はL1)にあってよい。示されるように、この状態において、OBFF信号、クロック要求信号、参照クロック状態、リクエストL0信号、及びレディツートレイン信号を含む様々な信号が、通信されることができる。
【0090】
次に、制御は、例えば、上記シグナリングが実行された後、低電力状態640に移れる。示されるように、この低電力状態640において、システムは、アクティブ状態であってよく、一方で、デバイスは、比較的低いレイテンシの低電力状態(例えば、D3hot)であってよい。加えて、リンクは、所与の低電力状態(例えば、L2又はL3)にあってよい。これらの状態に示されるように、統合型サイドバンドパケットを介して通信された複数の信号は、ウェイクアップ信号、リセット信号、及びパワーグッド信号を含んでよい。
【0091】
システムがより深い低電力状態に入ると、(例えば、システムがS0状態にあり、デバイスがD3cold状態にあり、リンクが同様にL2又はL3状態にあるとき、)第2の低電力状態650に入れられることができる。示されるように、同一のウェイクアップ信号、リセット信号、及びパワーグッド信号が通信されることができる。また、
図6に示されるように、同一の信号が、より深い電力状態660(例えば、システムの低電力状態、S3)及びデバイスの低電力状態(例えば、D3cold)、及び同一のリンクの低電力状態L2及びL3に生じることができる。通信されるサイドバンド情報のこの特定のセットで示されるが、本発明の範囲は、この点について限定されないことが理解される。
【0092】
複数の実施形態は、このように、フレキシビリティに対する低いレイテンシと単純さとのバランスを取れる拡張性を有する階層化構造を提供する。このような方法では、既存の複数のサイドバンド信号及び追加の複数のサイドバンド信号が、より小さい数の信号で置き換えることができ、より多いピンを追加せずに、サイドバンドメカニズムの将来の拡張を可能にする。
【0093】
図7を参照すると、本発明の実施形態に係る方法のフロー図である。
図7に示されるように、方法700は、1つの通信プロトコルの複数の上位レイヤ、及び異なる通信プロトコルのより下位の、例えば、物理レイヤを含む集中型プロトコルスタックを介してデータを通信するために使用されてよい。示される複数の例において、上述のような集中型プロトコルスタック、すなわち、PCIe(商標)プロトコルの上位のトランザクションレイヤ及びデータリンクレイヤ、並びに異なる仕様書、例えば、MIPI仕様書の物理レイヤを有することを前提とする。当然ながら、
図4に関して上述されたロジック及び回路のように、これらの2つの通信プロトコルの単一のプロトコルスタックへの集中を可能にする追加のロジックが存在してもよい。
【0094】
図7に示されるように、方法700は、第1通信プロトコルのプロトコルスタックにおいて第1トランザクションを受信することによって開始できる(ブロック710)。例えば、コア又は他の実行エンジンなどのようなルートコンプレックスの様々なロジックは、他のデバイスに情報を送信しようとする。その結果、この情報は、トランザクションレイヤに移ってよい。示されるように、制御は、ブロック720に移り、トランザクションが処理され、第2通信プロトコルのPHYの論理部分に提供されることができる。この処理は、
図4を用いてフローに関して上述された様々な動作を含んでよく、データを受信し、フロー制御を実行する異なる複数の動作、複数のリンク動作、及びパケット化の複数の動作などが生じられる。加えて、データリンクレイヤパケットをPHYに提供する様々な動作が生じられる。次に、制御は、ブロック730に移り、この第1トランザクションは、PHYの論理部分において、第2フォーマットのトランザクションに変換されることができる。例えば、複数のシンボルの任意の変換が、(必要な場合に、)実行されることができる。加えて、上述のようにトランザクションをリンク上での送信のための形式に表現するためになされる様々な翻訳動作が生じられる。その結果、制御は、ブロック740に移れ、この第2フォーマットのトランザクションは、リンクを介してPHYからデバイスに通信されることができる。例として、ラインコーディング及びシリアライゼーションなどの後、第2フォーマットのトランザクションは、シリアル変換されたデータであることができる。
図7の実施形態においてこの上位レベルで示されるが、本発明の範囲は、この点について限定されない。
【0095】
図8を参照すると、本発明の実施形態に係るコンピュータシステムの中に存在する複数のコンポーネントのブロック図が示される。
図8に示されるように、システム800は、多くの異なるコンポーネントを含むことができる。これらのコンポーネントは、マザーボード又はコンピュータシステムのアドインカードのような、又は別の方法でコンピュータシステムの筐体内に組み込まれた複数のコンポーネントのような回路基板に適合する複数のIC、その複数の部分、別個の複数の電子デバイス、又は他の複数のモジュールとして実装されることができる。ここで、
図8のブロック図は、コンピュータシステムの多くのコンポーネントの上位レベルの観点を示すことが意図されることにも留意すべきである。しかし、特定の複数の実装において、追加の複数のコンポーネントが存在してよく、さらに、他の複数の実装において、示される複数のコンポーネントと異なる配置が生じてよいことが理解される。
【0096】
図8に示されるように、プロセッサ810は、超低電圧プロセッサのような低電力マルチコアプロセッサソケットであってよく、メイン処理ユニット及びシステムの様々なコンポーネントとの通信のための中央のハブとして機能してよい。そのようなプロセッサは、SoCとして実装されることができる。一実施形態において、プロセッサ810は、i3、i5、i7、又はカリフォルニア州サンタクララのインテル社から利用可能な他のそのようなプロセッサのようなインテル(登録商標)アーキテクチャコアベースプロセッサであってよい。しかし、カリフォルニア州のサニーベールのアドバンストマイクロデバイセズ社(AMD)、ARMホールディングス社のARMベース設計、又はカリフォルニア州のサニーベールのミップステクノロジーズ社のMIPSベース設計、又はそれらのライセンシ又は採用者から利用可能な他の複数の低電力プロセッサが、アップルA5プロセッサのような他の複数の実施形態において、代わりに存在してもよいことが理解される。
【0097】
プロセッサ810は、実施形態において、システムメモリの所与の量を提供するマルチメモリデバイスを介して実装されることができるシステムメモリ815と通信してよい。複数の例として、メモリは、JEDEC JESD 209−2E(2009年4月公表)に従う現在のLPDDR2規格、又は帯域幅を増加するためにLPDDR2に拡張を提供するLPDDR3と称される次世代LPDDR規格のような電子素子技術連合評議会(JEDEC)の低電力ダブルデータレート(LPDDR)ベース設計に従うことができる。複数の例として、2/4/8ギガバイト(GB)のシステムメモリが存在してよく、1又は複数のメモリインターコネクトを介してプロセッサ810に結合されることができる。様々な実装において、個々のメモリデバイスは、シングルダイパッケージ(SDP)、デュアルダイパッケージ(DDP)、又はクワッドダイパッケージ(QDP)のような異なる種類のパッケージであることができる。これらのデバイスは、いくつかの実施形態において、より低いプロファイルソリューションを提供するマザーボード上に直接半田付けされることができるが、他の複数の実施形態において、複数のデバイスは、所与のコネクタによってマザーボードに順次結合されることができる1又は複数のメモリモジュールとして構成されることができる。
【0098】
データ、アプリケーション、及び1又は複数のオペレーティングシステムなどのような情報の永続的な保存を提供するために、大容量ストレージ820がプロセッサ810に結合されてもよい。様々な実施形態において、システムの反応性を改善するためだけでなく、より薄くより軽いシステム設計を可能にするために、この大容量ストレージは、SSDを用いて実装されてよい。しかし、他の複数の実施形態において、システム動作の再初期化時に速い電源投入が生じられるように、大容量ストレージは、電源切断イベントの間のコンテクスト状態及びそのような情報の不揮発性の保存を可能にするために、SSDキャッシュとして機能するより小さい量のSSDストレージとともに、ハードディスクドライブ(HDD)を使用して主に実装されてよい。また、
図8に示されるように、フラッシュデバイス822は、例えば、シリアル周辺インターフェース(SPI)を介して、プロセッサ810に結合されてよい。このフラッシュデバイスは、システムの他のファームウェアだけでなく、基本入出力ソフトウェア(BIOS)システムソフトウェアの不揮発性の保存を提供してよい。
【0099】
様々な入出力(IO)デバイスが、システム800内に存在してよい。
図8の実施形態に具体的に示されるように、ディスプレイ824は、筐体の蓋部分内に構成される高解像度のLCD又はLEDであってよい。このディスプレイパネルは、例えば、ディスプレイパネルの上方に外部から適合されるタッチスクリーン825を提供してもよく、このタッチスクリーンとのユーザの相互作用を介して、複数のユーザ入力が、例えば、情報の表示、及び情報のアクセスなどに関する所望の複数の動作を可能にするために、システムに提供されることができる。一実施形態において、ディスプレイ824は、高性能グラフィックスインターコネクトとして実装されることができるディスプレイインターコネクトを介してプロセッサ810に結合されてよい。タッチスクリーン825は、実施形態においてI
2Cインターコネクトであることができる他のインターコネクトを介してプロセッサ810に結合されてよい。
図8にさらに示されるように、タッチスクリーン825に加えて、タッチの方法によるユーザ入力は、筐体内に構成されてよく、タッチスクリーン825としての同一のI
2Cインターコネクトに結合されてもよいタッチパッド830を介して生じることもできる。
【0100】
知覚コンピューティング又は他の目的のために、様々なセンサが、システム内に存在してよく、異なる手法でプロセッサ810に結合されることができる。特定の慣性センサ及び環境センサが、例えば、I
2Cインターコネクトを介して、センサハブ840を通じてプロセッサ810に結合されてよい。
図8に示される実施形態において、これらのセンサは、加速度計841、周辺光センサ(ALS)842、コンパス843、及びジャイロスコープ844を含んでよい。他の複数の環境センサは、一実施形態において、システム管理バス(SMバス)を介してプロセッサ810に結合されてよい1又は複数の熱センサ846を含んでよい。複数のセンサのうちの1又は複数は、本発明の実施形態に係るLPSリンクを介してプロセッサ810に結合できることも理解される。
【0101】
また、
図8に示されるように、様々な周辺デバイスが、ロウピンカウント(LPC)インターコネクトを介してプロセッサ810に結合してよい。示される実施形態において、様々なコンポーネントが、エンベデッドコントローラ835を通じて結合されることができる。そのような複数のコンポーネントは、(例えば、PS2インターフェースを介して結合される)キーボード836、ファン837、及び熱センサ839を含むことができる。いくつかの実施形態において、タッチパッド830は、PS2インターフェースを介してEC835に結合してもよい。加えて、Trusted Computing Group(TCG)TPM仕様書バージョン1.2(2003年10月2日)に従うようなトラステッドプラットフォームモジュール(TPM)838のようなセキュリティプロセッサが、このLPCインターコネクトを介してプロセッサ810に結合してもよい。
【0102】
システム800は、無線を含む様々な手法で、複数の外部デバイスと通信できる。
図8に示される実施形態において、特定の無線通信プロトコルのために構成された無線機にそれぞれ対応できる様々な無線モジュールが存在する。ニアフィールドのような短距離における無線通信のための1つの手法は、一実施形態においてSMバスを介してプロセッサ810と通信してよい近距離無線通信(NFC)ユニット845を介してよい。ここで、このNFCユニット845を介して、互いに極めて接近している複数のデバイスが通信できることに留意すべきである。例えば、ユーザは、システム800が、2つのデバイスをともに近接関係に適合させて、識別情報、決済情報のような情報、又は画像データのようなデータなどの転送を可能にすることによって、ユーザのスマートフォンのような他の(例えば)ポータブルデバイスと通信することを可能にできる。無線電力転送が、NFCシステムを使用して実行されてもよい。
【0103】
図8にさらに示されるように、追加の無線ユニットは、WLANユニット850及びブルートゥースユニット852を含む他の複数の短距離無線エンジンを含むことができる。WLANユニット850を使用して、所与のInstitute of Electrical and Electronics Engineers(IEEE)802.11規格に従うWi−Fi(商標)通信が実現されることができ、その上、ブルートゥースユニット852を介して、ブルートゥースプロトコルを用いた短距離通信が生じることができる。これらのユニットは、例えば、USBリンク又は万能非同期送受信機(UART)リンクを介して、プロセッサ810と通信してよい。又は、これらのユニットは、インターコネクトを介して、例えば、本明細書で説明されるような集中型PCIe/MIPIインターコネクトのような低電力インターコネクト、又はシリアルデータ入出力(SDIO)規格のような他のそのようなプロトコルを介して、プロセッサ810に結合してよい。当然ながら、1又は複数のアドインカード上に構成されてよいこれらの周辺デバイスとの間の実際の物理的な接続は、マザーボードに適合された複数のNGFFコネクタを経由することができる。
【0104】
加えて、例えば、セルラプロトコル又は他の無線広域プロトコルに従う無線広域通信は、次に加入者アイデンティティモジュール(SIM)857に結合してよいWWANユニット856を介して生じることができる。加えて、位置情報の受信及び使用を可能にするために、GPSモジュール855が存在してもよい。ここで、
図8に示される実施形態において、WWANユニット856及びカメラモジュール854のような統合キャプチャデバイスは、USB2.0又は3.0リンクのような所与のUSBプロトコル、又はUART若しくはI
2Cプロトコルを介して通信してよいことに留意すべきである。また、これらのユニットの実際の物理的な接続は、マザーボード上に構成されたNGFFコネクタに対するNGFFアドインカードの適合を用いることができる。
【0105】
オーディオ入力及び出力を提供するために、オーディオプロセッサが、ハイディフィニションオーディオ(HDA)リンクを介してプロセッサ810に結合してよいデジタル信号プロセッサ(DSP)860を介して実装されることができる。同様に、DSP860は、筐体内に実装されてよい出力スピーカ863に次に結合してよい統合符号復号器(CODEC)及びアンプ862と通信してよい。同様、アンプ及びCODEC862は、システム内の様々な動作の音声作動制御を可能にする高品質のオーディオ入力を提供するために、実施形態においてデュアルアレイマイクを介して実装されることができるマイク865からオーディオ入力を受信するために結合されることができる。ここで、オーディオ出力は、アンプ/CODEC862からヘッドホンジャック864に提供されることができることにも留意すべきである。
【0106】
複数の実施形態は、このように、多くの異なる環境において使用されることができる。
図9を参照すると、複数の実施形態が使用されることができるシステム900の例のブロック図が示される。示されるように、システム900は、スマートフォン又は他の無線通信機であってよい。
図9のブロック図に示されるように、システム900は、ベースバンド処理タスク及びアップリケーション処理の両方に対処できる、マルチコアプロセッサであってよいベースバンドプロセッサ910を含んでよい。このように、ベースバンドプロセッサ910は、デバイスに対する複数の計算動作を実行するだけでなく、複数の通信に関して、様々な信号処理を実行できる。次に、ベースバンドプロセッサ910は、いくつかの実施形態においてタッチスクリーンディスプレイによって実現されることができるユーザインターフェース/ディスプレイ920に結合できる。加えて、ベースバンドプロセッサ910は、
図9の実施形態において不揮発性メモリ、すなわち、フラッシュメモリ930及びシステムメモリ、すなわち、ダイナミックランダムアクセスメモリ(DRAM)935を含むメモリシステムに結合してよい。さらに示されるように、ベースバンドプロセッサ910は、さらに、動画及び/又は静止画を記録できるイメージキャプチャデバイスのようなキャプチャデバイス940に結合してよい。
【0107】
複数の通信が送信され受信されることを可能にするために、様々な回路が、ベースバンドプロセッサ910とアンテナ980との間に結合されてよい。具体的には、無線周波数(RF)送受信機970及び無線ローカルエリアネットワーク(WLAN)送受信機975が存在してよい。一般に、RF送受信機970は、符号分割多元接続(CDMA)、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標))、ロングタームエボリューション(LTE)、又は他のプロトコルに従うような、3G又は4G無線通信プロトコルのような所与の無線通信プロトコルに従って無線データ及び電話を受信及び送信するために使用されてよい。複数の無線信号、例えば、AM/FM又は全地球測位衛星(GPS)信号の受信又は送信のような他の複数の無線通信が、提供されてもよい。加えて、WLAN送受信機975を介して、ブルートゥース(商標)規格又はIEEE802.11a/b/g/nのようなIEEE802.11規格に従うようなローカル無線信号が実現されることもできる。ここで、ベースバンドプロセッサ910と送受信機970及び975との一方又は両方との間のリンクは、PCIe(商標)インターコネクトの機能性及びMIPIインターコネクトのような低電力インターコネクトを組み合わせてマッピングする低電力集中型インターコネクトを介してよいことに留意すべきである。
図9の実施形態において、この上位レベルで示されるが、本発明の範囲はこの点について限定されないことが理解される。
【0108】
複数の実施形態は、多くの異なる種類のシステムにおいて使用されてよい。例えば、一実施形態において、通信デバイスは、本明細書で説明された様々な方法及び技術を実行するように配置されることができる。当然ながら、本発明の範囲は、通信デバイスに限定されず、代わりに、他の複数の実施形態は、複数の命令、又はコンピューティングデバイスで実行されることに応答してデバイスに本明細書で説明された方法及び技術のうちの1又は複数を実行させる複数の命令を含む1又は複数の機械可読媒体を処理するための他の種類の装置に向けられることができる。
【0109】
複数の実施形態は、コードで実装されてよく、複数の命令を実行するシステムをプログラムするために使用されるためにそこに格納された複数の命令を有する非一時的記憶媒体上に格納されてよい。記憶媒体は、限定されないが、フロッピー(登録商標)ディスクを含むディスク、光ディスク、ソリッドステートドライブ(SSD)、コンパクトディスクリードオンリーメモリ(CD−ROM)、コンパクトディスクリライタブル(CD−RW)、及び光磁気ディスク、リードオンリーメモリ(ROM)のような半導体デバイス、ダイナミックランダムアクセスメモリ(DRAM)のようなランダムアクセスメモリ(RAM)、スタティックランダムアクセスメモリ(SRAM)、消去可能プログラム可能リードオンリーメモリ(EPROM)、フラッシュメモリ、電気的消去可能プログラム可能リードオンリーメモリ(EEPROM)、磁気又は光カード、又は電子命令を格納するために適した任意の他の種類の媒体のいずれかの種類を含んでよい。
【0110】
本発明は、限定された数の実施形態に関して説明されたが、当業者は、多数の修正及びバリエーションをそこから理解するだろう。本発明の真の精神及び範囲内に含まれる全てのそのような修正及びバリエーションを、添付の請求項がカバーすることが意図される。