JP2018516489A - マルチチャネルネットワークにおけるアービトレーションおよび適応的電力サイクリングのための方法 - Google Patents

マルチチャネルネットワークにおけるアービトレーションおよび適応的電力サイクリングのための方法 Download PDF

Info

Publication number
JP2018516489A
JP2018516489A JP2017553080A JP2017553080A JP2018516489A JP 2018516489 A JP2018516489 A JP 2018516489A JP 2017553080 A JP2017553080 A JP 2017553080A JP 2017553080 A JP2017553080 A JP 2017553080A JP 2018516489 A JP2018516489 A JP 2018516489A
Authority
JP
Japan
Prior art keywords
bandwidth
data
channels
channel
communication link
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2017553080A
Other languages
English (en)
Inventor
ウルフギャング・ローシグ
ジェヨン・クァク
Original Assignee
クアルコム,インコーポレイテッド
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by クアルコム,インコーポレイテッド filed Critical クアルコム,インコーポレイテッド
Publication of JP2018516489A publication Critical patent/JP2018516489A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/12Wireless traffic scheduling
    • H04W72/1263Mapping of traffic onto schedule, e.g. scheduled allocation or multiplexing of flows
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/0001Arrangements for dividing the transmission path
    • H04L5/0003Two-dimensional division
    • H04L5/0005Time-frequency
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0037Inter-user or inter-terminal allocation
    • H04L5/0041Frequency-non-contiguous
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/16Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
    • H04W28/18Negotiating wireless communication parameters
    • H04W28/20Negotiating bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0212Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave
    • H04W52/0216Power saving arrangements in terminal devices managed by the network, e.g. network or access point is master and terminal is slave using a pre-established activity schedule, e.g. traffic indication frame
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0251Power saving arrangements in terminal devices using monitoring of local events, e.g. events related to user activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W72/00Local resource management
    • H04W72/04Wireless resource allocation
    • H04W72/044Wireless resource allocation based on the type of the allocated resource
    • H04W72/0453Resources in frequency domain, e.g. a carrier in FDMA
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/20Manipulation of established connections
    • H04W76/28Discontinuous transmission [DTX]; Discontinuous reception [DRX]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L5/00Arrangements affording multiple use of the transmission path
    • H04L5/003Arrangements for allocating sub-channels of the transmission path
    • H04L5/0053Allocation of signaling, i.e. of overhead other than pilot signals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. TPC [Transmission Power Control], power saving or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0261Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level
    • H04W52/0274Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof
    • H04W52/028Power saving arrangements in terminal devices managing power supply demand, e.g. depending on battery level by switching on or off the equipment or parts thereof switching on or off only a part of the equipment circuit blocks
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Quality & Reliability (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Time-Division Multiplex Systems (AREA)

Abstract

データ通信のための方法、装置、およびコンピュータプログラム製品が提供される。方法は、通信リンク上で複数のデータチャネルを提供するステップと、未使用帯域幅を、通信リンクによって提供される総帯域幅と複数のデータチャネルによって使用される帯域幅との間の差分として決定するステップと、未使用帯域幅を仮想チャネルに割り振るステップと、時間ベースの多重化方式に従って複数のデータチャネルおよび仮想チャネルをスケジュールするステップと、仮想チャネルがスケジュールされるとき、送信機を通信リンクに結合するために使用されるインターフェース回路を無効化するステップとを含み得る。複数のデータチャネルの各々は、通信リンク上で送信されるべきデータのソースに割り当てられ得る。

Description

関連出願の相互参照
本出願は、その内容全体が参照により本明細書に組み込まれる、2015年4月13日に米国特許商標庁に出願された非仮出願第14/685,334号の優先権および利益を主張する。
本開示は、一般に通信システムに関し、より詳細には、装置内の集積回路デバイスを接続する通信リンクに関する。
デバイスの機能性および複雑性が増大するにつれて、集積回路(IC)デバイス間で提供されるデジタル通信インターフェースには、拡大する帯域幅がプロビジョニングされる。たとえば、モバイル通信機器は、複数の多様な機能を実行し、無線周波数トランシーバ、カメラ、ディスプレイシステム、ユーザインターフェース、コントローラ、ストレージなどを含むICデバイスを使用して能力を提供し得る。汎用シリアルインターフェースは当業界において知られており、キロビット毎秒(Kbps)で測定可能な帯域幅を提供するインター集積回路(I2C)インターフェースから、ギガビット毎秒(Gbps)で測定可能な帯域幅を有する周辺構成要素相互接続エクスプレス(PCI-E)などの高ビットレートインターフェースにわたる。
他の例は、10/100メガビット毎秒(Mbps)、1Gbps、10Gbpsの帯域幅を提供するイーサネット(登録商標)規格、1.5Mbpsから10Mbpsの間の帯域幅を提供するユニバーサルシリアルバス(USB)規格、ならびに、ディスプレイシステムインターフェース(DSI)およびDigRFを含むモバイル業界プロセッサインターフェース(MIPI)アライアンスによって定義される規格および仕様、高精細度マルチメディアインターフェース(HDMI(登録商標))を含む米国電子工業会(EIA)および/または全米家電協会(CEA)によって定義される規格、およびDisplayPortを含むビデオエレクトロニクス規格協会(VESA)によって定義される規格などのマルチメディア規格などの業界規格によって定義される。
別の例では、「アドバンストマイクロコントローラバスアーキテクチャ」(AMBA)オンチップ相互接続は、システムオンチップ(SoC)またはネットワークオンチップ(NOC)における機能ブロックを接続および管理するために使用され得るインターフェースを定義する。AMBAは、1つまたは複数のマスタデバイスを1つまたは複数のスレーブデバイスに接続し得る「高度拡張可能インターフェース」(AXI)を含む。
多種多様なシリアルインターフェース規格は、多数の異なる用途の幅広い要件に由来する。用途、または用途の発生に応じて、最も適切なインターフェースの選択が行われなければならない。たとえば、3Gから4G、5Gへの無線周波数(RF)技術の進化は、コスト、性能および電力消費の制約に関する課題を含め、ロングタームエボリューション(LTE)および/またはワイヤレスローカルエリアネットワーク(WLANまたはWiFi)用チップセットなどのモバイルデバイスチップセットにおける新しい能力の統合に関する課題を提示する。
モバイルデバイスの中の構成要素を接続する通信インターフェースは、モバイルデバイスの電力バジェットのかなりの部分を消費する場合があり、モバイル通信デバイスおよび他のデバイスは、そのような通信インターフェースがアイドルであるとき、節電動作モードに入るように構成され得る。モバイル通信デバイスは一般的に、ピーク帯域幅が増加した期間を経験し、平均帯域幅使用はピーク帯域幅をかなり下回る。したがって、電力使用スケジューラおよび帯域幅使用スケジューラは、帯域幅の変化する需要および使用に適合するために通信する必要があり得る。しかしながら、スケジューラ間のそのような通信は、変化する条件に対応する際にタイムラグおよび他の非効率性をもたらし得る。
デバイス間の改善された通信に対する需要が高まり続けるにつれて、デバイス間のインターフェースを管理するための方法の改善が必要とされている。
本開示のいくつかの態様は、様々な装置の中のICデバイス間で使用され得るデジタル通信インターフェースを実装および管理するためのシステム、装置、方法および技法に関する。いくつかの態様は、連続する時間間隔が節電のために作成され、スケジュールされ得る帯域幅を割り振るためのシステム、装置、方法および技法を提供する。
本開示の様々な態様では、方法、コンピュータプログラム製品、および装置が提供される。方法は、通信リンク上で複数のデータチャネルを提供するステップと、未使用帯域幅を、通信リンクによって提供される総帯域幅と複数のデータチャネルによって使用される帯域幅との間の差分として決定するステップと、未使用帯域幅を仮想チャネルに割り振るステップと、時間ベースの多重化方式に従って複数のデータチャネルおよび仮想チャネルをスケジュールするステップと、仮想チャネルがスケジュールされるとき、送信機を通信リンクに結合するために使用されるインターフェース回路を無効化するステップとを含み得る。複数のデータチャネルの各々は、通信リンク上で送信されるべきデータのソースに割り当てられ得る。
いくつかの態様は、装置を通信リンクに結合するように適合されたインターフェース回路と、複数のチャネルの各々からデータストリームを受信するように構成された符号化回路と、アービタとを有する装置に関する。アービタは、未使用帯域幅を、通信リンクによって提供される総帯域幅と複数のチャネルによって使用される帯域幅との間の差分として計算し、未使用帯域幅を仮想チャネルに割り振り、時間ベースの多重化方式に従って複数のチャネルおよび仮想チャネルをスケジュールするように構成され得る。仮想チャネルがスケジュールされるとき、インターフェース回路の少なくとも送信機部分が無効化され得る。
いくつかの態様は、通信リンク上で複数のデータチャネルを提供するための手段と、未使用帯域幅を、通信リンクによって提供される総帯域幅と複数のデータチャネルによって使用される帯域幅との間の差分として決定するための手段と、時間ベースの多重化方式に従って複数のデータチャネルおよび仮想チャネルをスケジュールするための手段とを含む装置に関する。仮想チャネルがスケジュールされるとき、装置を通信リンクに結合するために使用されるインターフェース回路が無効化され得る。複数のデータチャネルの各々は、通信リンク上で送信されるべきデータのソースに割り当てられ得る。未使用帯域幅は、仮想チャネルに割り振られ得る。
いくつかの態様は、1つまたは複数の命令を記憶したプロセッサ可読記憶媒体に関する。プロセッサ可読記憶媒体は、一時的または非一時的記憶媒体であり得る。少なくとも1つの処理回路によって実行されると、命令は、少なくとも1つの処理回路に、通信リンク上で複数のデータチャネルを提供させ、未使用帯域幅を、通信リンクによって提供される総帯域幅と複数のデータチャネルによって使用される帯域幅との間の差分として決定させ、未使用帯域幅を仮想チャネルに割り振らせ、時間ベースの多重化方式に従って複数のデータチャネルおよび仮想チャネルをスケジュールさせ、仮想チャネルがスケジュールされるとき、少なくとも1つの処理回路を通信リンクに結合するために使用されるインターフェース回路を無効化させることができる。複数のデータチャネルの各々は、通信リンク上で送信されるべきデータのソースに割り当てられ得る。
複数の利用可能な規格のうちの1つに従って動作する集積回路デバイス間のデータリンクを利用する装置を示す図である。 装置内のICデバイスを接続するために提供され得、本明細書で開示するいくつかの態様に従って適合され得る、データ通信リンクを示す図である。 本明細書で開示するいくつかの態様による、データ通信リンクに結合された装置のための簡略化されたシステムアーキテクチャを示す図である。 データ通信リンクに対する時間ベースの多重化のいくつかの態様を示す図である。 データ通信リンク上の電力サイクリングのいくつかの態様を示す図である。 本明細書で開示するいくつかの態様による、適応的電力サイクリング用に構成されたデータ通信リンクを示す図である。 本明細書で開示するいくつかの態様による、トラフィックおよび電力サイクリングを管理するように適合または構成されたアービタを示す図である。 本明細書で開示するいくつかの態様に従って適合され得る処理回路を利用する装置の一例を示すブロック図である。 本明細書で開示するいくつかの態様による、送信機における電力使用を管理する方法のフローチャートである。 本明細書で開示するいくつかの態様に従って適合された処理回路を利用する送信装置のためのハードウェア実装形態の一例を示す図である。
添付の図面に関して以下に記載する詳細な説明は、様々な構成の説明として意図されており、本明細書で説明する概念が実践される場合がある唯一の構成を表すことは意図されていない。詳細な説明は、様々な概念の完全な理解を与えるための具体的な詳細を含む。しかしながら、これらの概念がこれらの具体的な詳細なしに実践される場合があることは当業者には明らかであろう。場合によっては、そのような概念を不明瞭にすることを避けるために、よく知られている構造および構成要素がブロック図の形態で示される。
次に、電気通信システムのいくつかの態様が、様々な装置および方法を参照しながら提示される。これらの装置および方法について、以下の詳細な説明において説明し、様々なブロック、モジュール、構成要素、回路、ステップ、プロセス、アルゴリズムなど(「要素」と総称される)によって添付の図面に示す。これらの要素は、電子ハードウェア、コンピュータソフトウェア、またはそれらの任意の組合せを使用して実装され得る。そのような要素がハードウェアとして実装されるかソフトウェアとして実装されるかは、特定の適用例および全体的なシステムに課される設計制約に依存する。
例として、要素、または要素の任意の部分、または要素の任意の組合せは、1つまたは複数のプロセッサを含む「処理システム」を用いて実装され得る。プロセッサの例は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の適切なハードウェアを含む。処理システムの中の1つまたは複数のプロセッサは、ソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数などを意味するように広く解釈されるべきである。
したがって、1つまたは複数の例示的な実施形態では、説明する機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せにおいて実装され得る。ソフトウェアにおいて実装される場合、機能は、プロセッサ可読媒体と呼ばれることもあるコンピュータ可読媒体上の1つまたは複数の命令またはコードとして、記憶または符号化され得る。コンピュータ可読媒体は、コンピュータ記憶媒体を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、ランダムアクセスメモリ(RAM)、読取り専用メモリ(ROM)、電気的消去可能プログラマブルROM(EEPROM)、コンパクトディスクROM(CD-ROM)もしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または、命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を含むことができる。本明細書で使用するディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(CD)、レーザーディスク(登録商標)(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(DVD)、およびフロッピーディスク(disk)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、レーザーを用いてデータを光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
概説
本明細書で開示するいくつかの態様によれば、既知の帯域幅を有する周期的および/または準周期的データストリームは、単一の通信リンク上でアグリゲートされ、集中され得る。場合によっては、通信リンクは、ICデバイス間で展開されるシリアルインターフェースなどのシリアルバスを含み得る。通信リンクを介して送信するためのランダムなトラフィックが受信され得る。ランダムなトラフィックは、たとえば、制御トラフィックを含み得る。ランダムなトラフィックは、通信リンクによって提供される帯域幅の小さい割合を消費し得る。場合によっては、ランダムなトラフィックおよび/または制御トラフィックは、制限された遅延で送信されるべき、低レイテンシ要件を有するトラフィックを含み得る。
多くの適用例では、装置の電力消費を低減することが望ましい。一例では、電力消費は、通信インターフェースに関連付けられた回路に提供されるクロッキング信号の頻度が低下したときに低減され得る。別の例では、電力消費は、通信インターフェースに関連付けられたいくつかの回路が電源切断されたときに低減され得る。別の例では、電力消費は、通信リンクの中の電流フローが削減されるかまたは終了されるように、ラインドライバが高インピーダンス状態に置かれたときに低減され得る。
本明細書で開示するいくつかの態様は、マルチチャネル通信リンクを介して送信されるトラフィックのアービトレーションおよびスケジューリングに関する。処理回路は、未使用帯域幅を監視、測定、計算および/またはモデル化することができる。未使用帯域幅は、通信リンク上で送信するための周期的なおよび/またはランダムなデータを提供するデータチャネルとともにスケジュールされ得る仮想データチャネルに割り当てられ得る。仮想チャネルは、通信リンク用に静的にまたは動的に構成される電力サイクルにおける電源切断期間を識別するために使用され得る。電力サイクルは、1つまたは複数のデータチャネルのトラフィック特性およびレイテンシ要件に基づいて構成され得る。スケジューリングは、データチャネルおよび仮想チャネルを含む定義されたチャネル間のアクセスをアービトレーションすることを含み得る。
本明細書で開示するいくつかの態様は、Nの理論的上限なしにN個のチャネルに適用され得るスケーラブルなスケジューリング/アービトレーションを提供する。関連するデータストリームアービトレーションおよび電力サイクル要件を単一のプロセスにおいて策定することによってデータトラフィックおよび電力サイクルを最適にスケジュールすることができる、アービトレーションおよびスケジューリング方法について説明する。別個のデータストリームアービトレーションおよび電力サイクリングスケジュールの対話に起因する複雑性が削減され得る。一例では、スケーラブルで効率的なアービトレーションは、介在するアービトレーションサイクルなしで連続したデータ転送が実行されることを可能にする先着順スケジューリングアルゴリズムの使用を含み得る。この例では、アービトレーション/スケジューリングがアービトレーションにのみ適用されるとき、実質的に100%の帯域幅利用が可能になり、電力サイクリングのために未使用帯域幅がスケジュールされるとき、節電が実現可能である。
複数のICデバイス下位構成要素を有するデバイスの例
本発明のいくつかの態様は、電話、モバイルコンピューティングデバイス、アプライアンス、自動車用電子機器、アビオニクスシステム、ウェアラブルコンピューティングデバイスなどの装置の下位構成要素を含む電子デバイス間で展開される通信リンクに適用可能であり得る。図1は、ICデバイス間の通信リンクを利用し得る装置100の一例を示す。一例では、装置100は、無線アクセスネットワーク、コアアクセスネットワーク、インターネットおよび/または別のネットワークとRF通信トランシーバ106を通じて通信するワイヤレス通信デバイスを含み得る。通信トランシーバ106は、処理回路102に動作可能に結合され得る。処理回路102は、特定用途向けIC(ASIC)108などの1つまたは複数のICデバイスを有し得る。ASIC108は、1つまたは複数の処理デバイス、論理回路などを含み得る。処理回路102は、処理回路102によって実行され得る命令およびデータを維持し得るメモリデバイス112などのプロセッサ可読ストレージを含んでもよく、かつ/またはそれに結合されてもよい。処理回路102は、オペレーティングシステム、および、ワイヤレスデバイスのメモリデバイス112などの記憶媒体の中に存在するソフトウェアモジュールの実行をサポートし可能にするアプリケーションプログラミングインターフェース(API)110レイヤのうちの1つまたは複数によって制御され得る。メモリデバイス112は、ROMもしくはRAM、EEPROM、フラッシュカード、または処理システムおよびコンピューティングプラットフォームにおいて使用され得る任意のメモリデバイスを含み得る。処理回路102は、装置100を構成し、動作させるために使用される動作パラメータおよび他の情報を維持することができるローカルデータベース114を含むか、またはそれにアクセスすることができる。ローカルデータベース114は、データベースモジュール、フラッシュメモリ、磁気媒体、EEPROM、光媒体、テープ、ソフトディスクまたはハードディスクなどのうちの1つまたは複数を使用して実装され得る。処理回路はまた、構成要素の中でも、アンテナ118、ディスプレイ120、ボタン124および/または一体型キーボードもしくは外部キーボード122などのオペレータ制御などの外部デバイスに動作可能に結合され得る。
ICデバイス間で提供される通信リンクの例
図2は、システム200(たとえば、図1の装置100)内のICデバイス202、230を接続するために提供され得、本明細書で開示するいくつかの態様に従って適合され得る、通信リンク220を示すブロック概略図である。システム200は、ワイヤレスモバイルデバイス、携帯電話、モバイルコンピューティングシステム、ワイヤレス電話、ノートブックコンピュータ、タブレットコンピューティングデバイス、メディアプレーヤ、ウェアラブルコンピューティングデバイス、アプライアンス、ゲームデバイスなどにおいて具現化されるか、またはこれらを含む場合がある。通信リンク220は、単一のデバイス内で互いに極めて近接して提供されるか、または互いから遠く離れて物理的に位置し得る物理的に別個の構成要素の間で分散される、ICデバイス202および230を接続するために使用され得る。一例では、システム200は、通信リンク220を通じてデータおよび制御情報を交換する複数のICデバイス202および230を含む単一のデバイスにおいて具現化される。別の例では、通信リンク220は、ICデバイス202および230を担持するチップキャリア、基板または回路板上に設けられ得る。別の例では、第1のICデバイス202は、フリップフォンのキーパッドセクションに配置され得、第2のICデバイス230は、フリップフォンのディスプレイセクションに配置され得る。別の例では、通信リンク220の一部分は、物理的に別個のデバイスまたはサブシステムを接続するケーブル接続または光接続を含み得る。
通信リンク220は、複数のチャネル222、224および226を含み得る。1つまたは複数のチャネル226は双方向であってもよく、半二重モードおよび/または全二重モードで動作し得る。1つまたは複数のチャネル222および224は、単方向であってもよい。通信リンク220は、一方向においてより高い帯域幅を提供する非対称であってもよい。本明細書で説明する一例では、第1の通信チャネル222は順方向リンク222と呼ばれることがあり、第2の通信チャネル224は逆方向リンク224と呼ばれることがある。両方のICデバイス202および230が通信リンク222上で送信および受信するように構成される場合でも、第1のICデバイス202はホストシステムまたは送信機として指定され得、第2のICデバイス230はクライアントシステムまたは受信機として指定され得る。一例では、順方向リンク222は、第1のICデバイス202から第2のICデバイス230にデータを通信するとき、より高いデータレートで動作し得、逆方向リンク224は、第2のICデバイス230から第1のICデバイス202にデータを通信するとき、より低いデータレートで動作し得る。
ICデバイス202および230は各々、プロセッサあるいは他の処理回路もしくは処理デバイスおよび/またはコンピューティング回路もしくはコンピューティングデバイス206、236を有し得る。一例では、第1のICデバイス202は、ワイヤレストランシーバ204およびアンテナ214を通じてワイヤレス通信を維持することを含む、システム200のコア機能を実行し得、第2のICデバイス230は、ディスプレイコントローラ232を管理するかまたは動作させるユーザインターフェースをサポートし得る。第1のICデバイス202または第2のICデバイス230は、カメラコントローラ234を使用してカメラまたはビデオ入力デバイスの動作を制御し得る。ICデバイス202および230のうちの1つまたは複数によってサポートされる他の特徴は、キーボード、音声認識構成要素、および他の入力デバイスまたは出力デバイスを含み得る。ディスプレイコントローラ232は、液晶ディスプレイ(LCD)パネル、タッチスクリーンディスプレイ、インジケータなどのディスプレイをサポートする回路およびソフトウェアドライバを含み得る。記憶媒体208および238は、それぞれの処理デバイス206および236、ならびに/またはICデバイス202および230の他の構成要素によって使用される命令およびデータを維持するように適合された、一時的記憶デバイスおよび/または非一時的記憶デバイスを含み得る。各処理デバイス206、236ならびにその対応する記憶媒体208および238と、他のモジュールおよび回路との間の通信は、それぞれ、1つまたは複数のバス212および242によって容易にされ得る。
逆方向リンク224は、順方向リンク222と同じ方法で作動され得、順方向リンク222および逆方向リンク224は、同等の速度でまたは異なる速度で送信することが可能であり得、ここで、速度はデータ転送レートおよび/またはクロッキングレートとして表され得る。順方向および逆方向のデータレートは、適用例に応じて桁が実質的に同じであるかまたは桁が異なることがある。いくつかの適用例では、単一の双方向リンク226は、第1のICデバイス202と第2のICデバイス230との間の通信をサポートし得る。順方向リンク222および/または逆方向リンク224は、たとえば、順方向リンク222および逆方向リンク224が同じ物理接続を共有し、半二重様式で動作するとき、双方向モードで動作するように構成可能であり得る。一例では、通信リンク220は、業界規格または他の規格に従って第1のICデバイス202と第2のICデバイス230との間で制御情報、コマンド情報および他の情報を通信するように作動され得る。
一例では、順方向リンク222および逆方向リンク224は、ディスプレイリフレッシュのために810Mbpsでピクセルデータを配信する、ワイドビデオグラフィックスアレイ(WVGA)の毎秒80フレームのLCDドライバICをフレームバッファなしでサポートするように構成または適合され得る。別の例では、順方向リンク222および逆方向リンク224は、ダブルデータレート同期型ダイナミックランダムアクセスメモリ(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)との通信を可能にするように構成または適合され得る。符号化デバイス210および/または230は、クロック遷移ごとに複数のビットを符号化することができ、ワイヤの複数のセットは、SDRAMからのデータ、制御信号、アドレス信号などを送信および受信するために使用され得る。
順方向リンク222および逆方向リンク224は、特定用途向け業界規格に準拠するか、または適合することができる。一例では、MIPI規格は、アプリケーションプロセッサICデバイス202と、モバイルデバイスの中のカメラまたはディスプレイをサポートするICデバイス230との間の物理レイヤインターフェースを定義する。MIPI規格は、モバイルデバイス用のMIPI仕様に準拠する製品の動作特性を支配する仕様を含む。MIPI規格は、相補型金属酸化物半導体(CMOS)並列バスを利用するインターフェースを定義し得る。
一例では、図2の通信リンク220は、(N個のワイヤとして示す)複数の信号ワイヤを含むワイヤードバスとして実装され得る。N個のワイヤは、シンボルの中で符号化されたデータを搬送するように構成され得、ここで、クロック情報は、複数のワイヤを介して送信されるシンボルのシーケンスに埋め込まれる。
図3は、本明細書で開示するいくつかの態様に従って適合され得るデバイス300のためのアーキテクチャの一般化された例を示すブロック概略図である。デバイス300は、センサ、入力/出力デバイス、ユーザインターフェースデバイス、撮像デバイス、ワイヤレス通信回路などの1つまたは複数の機能要素304を管理するように構成された処理回路302を含み得る。処理回路302は、処理回路302を通信リンク320に結合するように適合され得る、1つまたは複数のトランシーバ310、ドライバ316および受信機318を含み得る。通信リンク320は、デバイス300に結合され、デバイス300をシステム中の1つまたは複数のデバイスおよび/または処理回路に相互接続するために使用される、複数のデータリンクのうちの1つであり得る。いくつかの例では、通信リンク320は、装置内のICデバイス間で提供され得る。いくつかの例では、通信リンク320は、物理的に別個の装置を接続し得る。
通信リンク320は、適用例のニーズに従って構成され得る。通信リンク320は、たとえば、時間ベースの多重化を使用して通信リンク320を共有するデータトラフィックの複数のチャネルを搬送し得る。一例では、共通の通信リンク320を介して複数のソースからのデータを送信するために時分割多重(TDM)方式が利用され得、その結果、各ソースからのデータは、スケジューリング期間および/または電力サイクル期間として定義され得る時間期間の一部分の間に、通信リンク320上に存在する信号において送信される。別の例では、トラフィック需要に従って通信リンク320がいくつかの可変ビットレートチャネルまたはデータストリームに配分される、統計的多重化方式または動的な帯域幅割振り方式が使用され得る。時間ベースの多重化方式では、各データソースはチャネルを割り振られ得、データソースからのデータのストリームは、先着順に非同期的に送信されるパケットにおいて提供され得る。場合によっては、パケットは、公平性、差別化されたサービスおよび/または保証されたサービス品質を提供するスケジューリングアルゴリズムに従って送信され得る。
場合によっては、1つまたは複数の機能304は、通信リンク320への優先アクセスを与えられ得る。低レイテンシおよび/または高優先度トラフィックは、より優先度が低いトラフィックと、および/または時々の、低頻度のもしくはランダムなデータ送信を含むトラフィックと、通信リンク320を共有し得る。たとえば、低いデータレートで低頻度の制御データは、大量のデータおよび/または時間依存のデータを特徴とするビデオストリーミングデータと通信リンク320を共有し得る。
一例では、処理回路302は、たとえば、画像センサを管理するセンサ制御機能304を提供するように適合され得る。別の例では、処理回路302は、1つまたは複数の環境条件、機械の動作状態などを監視するセンサ制御機能304を提供するように適合され得る。処理回路302は、構成レジスタ306および/または他の記憶デバイス324、プロセッサおよび/または制御論理312、トランシーバ310ならびに、必要に応じて処理回路302を通信リンク320に結合するために、いくつかのラインドライバ回路316および/または受信機回路318を含み得る。プロセッサおよび/または制御論理312は、たとえば、状態機械、シーケンサ、信号プロセッサまたは汎用プロセッサを含み得る。トランシーバ310は、1つまたは複数の受信機310aと、1つまたは複数の送信機310cと、タイミング、論理および記憶回路および/またはデバイスを含むいくつかの共通回路310bとを含み得る。場合によっては、トランシーバ310は、エンコーダおよびデコーダ、クロックおよびデータ復元回路などを含み得る。送信クロック(TXCLK)信号328が送信機310cに供給される場合があり、ここで、TXCLK信号328は、データ送信レートを決定するために使用され得る。
通信リンク320は、単方向、双方向の半二重通信モードまたは全二重通信モードをサポートし得る。通信リンク320上の送信は、1つまたは複数の通信規格、プロトコルおよびシグナリング仕様に適合するか、または準拠することができる。
マルチチャネルアービトレーション
本開示のいくつかの態様は、複数の機能構成要素間のデータ送信をサポートするように構成された多重アクセスデータ通信リンクに関する。発信デバイス(すなわち、送信機)において、アービトレーション回路および/または論理は、いくつかのタイプのトラフィックのためのデータ通信リンクへのアクセスをスケジュールし得、他のタイプのトラフィックのためのデータ通信リンクへのオンデマンドアクセスを提供し得る。
図4は、本明細書で開示するいくつかの態様に従って適合されたデータ通信リンク412のいくつかの態様を示す簡略化されたタイミング図400である。通信リンク412は、送信ノード402と受信ノード422との間の複数のアクセスデータ通信をサポートし得る。一例では、通信リンク412は、複数のデバイスを結合するバスとして構成され得、通信リンク412に結合された各デバイスは、通信リンク412上で1つまたは複数のタイムスロットを割り振られる場合があり、かつ/または、アービトレーションプロトコルを使用してアクセスをネゴシエートするかもしくはアクセスを求めて競合する場合がある。
図示の例では、単一のデバイスまたは処理回路内の複数の機能は、共通の通信インターフェースを通じて通信し得る。エンコーダ406は、複数の機能/ソースの各々によって提供されるデータを、対応する送信スロット414において、アービタ410によって提供されるスケジューリングおよび制御情報に従って、アグリゲート、符号化、および/または送信するために利用され得る。動作時、通信リンク412は、一連の送信スロット414のうちの1つまたは複数のスロットにおいて送信され得る複数のデータチャネルを提供し得る。通信リンク412上でトランスポートされるデータは、主な決定論的(deterministic)レートに関連付けられ得る。一例では、ワイヤレス通信デバイス内の通信リンク412は、セルラーRATおよびWiFi RATを含む1つまたは複数の無線アクセス技術(RAT)、非圧縮オーディオ/ビデオストリーム、ならびに他のタイプのトラフィックに関連付けられたトラフィックに、データチャネルを割り振ることができる。複数のデータソースおよび/またはチャネル4041〜404nによって提供されるデータは、送信ノード402において蓄積および/または集中され得る。一例では、エンコーダ406は、複数のチャネル4041〜404nからのデータをパケット化し、アービタ410によって生成または実装されるスケジュールに従ってパケットを送信し得る。受信ノード422において、データは、通信リンク412を介して送信されたパケットから復号および/または抽出され得、パケット化解除されたデータは、それらのそれぞれの複数の宛先データチャネル4241〜424nに配信され得る。
送信ノード402において実装されるアービタ410は、データが転送される順序を決定することができ、データ送信をスケジュールする。アービタ410は、レイテンシの目標および期待値を満たしている間に、通信リンク412によって提供される利用可能な帯域幅を効率的に使用するように構成され得る。利用可能な帯域幅は、所与の時間期間に通信リンク412を介して転送され得るビット数として計算され得、通信リンク412のスループットは、プロトコルヘッダ、アービトレーションおよび同期に関連付けられたビットまたは送信などの付加ビットを除く、送信され得る様々なチャネル4041〜404nからのデータの測度であり得る。帯域幅使用の効率は、スループットと利用可能な帯域幅の関係または比に基づいて推定され得る。
レイテンシおよびバッファサイズに関するスケジューリング考慮事項
レイテンシは、ソースデータチャネル4041〜404nからのデータのキャプチャと宛先データチャネル4241〜424nにおけるデータの到着との間に経過した時間として計算され得る。レイテンシは、キューなどにおけるデータ蓄積(バッファリング)によってもたらされる時間期間、パケットが送信スロット414を待機する時間に関するスケジューリング遅延、通信リンク412の構造に関する送信時間(「飛行時間」)、および受信ノード422における受信とデータの最終的な宛先への発送との間の時間を含み得る。一般的には、レイテンシと帯域幅使用の効率との間でトレードオフが行われる。たとえば、大きいバッファまたはキューの使用は、ギャップおよび/またはパディングなしで大きいチャンクにおいてデータが転送されることを可能にし、それによって、帯域幅使用の効率を高め得る。大きいバッファまたはキューは、ハードウェアコストを上げ、レイテンシを増加させる可能性があり、処理制約に起因する限られたレイテンシを許容することができる一定のデータに影響を及ぼし得る。
アービタ410は、アービトレーションアルゴリズムを使用することによって複数のチャネル4041〜404nからのデータのための送信スケジュールを管理することができ、このことは、レイテンシと必要なバッファサイズの両方に著しく影響を及ぼす可能性がある。アービトレーションアルゴリズムは、適用例のニーズに従って適合または構成され得る。一例では、アービトレーションアルゴリズムは、スケジューリングの「先着順」手法を使用してレイテンシおよびバッファサイズを最適化するように構成され得る。順序が狂ってパケットがスケジュールされるとき、バッファまたはキューにおいて待機するパケットに対するレイテンシが増加される場合があり、一定のレートまたはほぼ一定のレートを有するデータストリームの中のチャネル4041〜404nのうちの対応するチャネルによって提供され得るデータを蓄積するために、バッファまたはキューの容量の増加が必要とされる場合がある。後者のシナリオでは、バッファは、順序が狂ったスケジューリングによって生成された最悪のレイテンシに基づいてサイズ決定され得る。
電力サイクリング
モバイル通信デバイスおよびモバイルコンピューティングデバイスでは、電力消費は一般に、デバイスの設計において顕著に対処される問題である。通信インターフェースはかなりのエネルギーを消費する場合があり、バッテリー充電イベントの間のモバイルデバイスの動作時間を低減する可能性がある。したがって、デバイスが低電力状態に置かれるとき、通信インターフェースを電源切断することが望ましい場合がある。低電力状態は、データが通信リンク412を介してアクティブに送信または受信されないときに開始され得る。一例では、帯域幅使用(BWU)は利用可能な帯域幅の40%に達する場合があり、デバイスは、理論上、60%の確率でその通信インターフェースを電源切断することができる。実際には、データは、通信インターフェースが電源切断される期間中を含め、1つまたは複数のチャネル4041〜404nから継続的に受信され得る。したがって、通信インターフェースが電源切断されるとき、パケット化され、送信の準備ができているデータに対してレイテンシが増加され得る。レイテンシは、電力サイクルの持続時間に依存し得る。
図5は、電力サイクリングのいくつかの態様を示すタイミング図500である。本例では、通信リンク412(図4参照)は、アクティビティ512、516、520の期間と、電力サイクルに起因するアイドル期間514、518とを示し得る。単一のアクティブ期間512、516、または520の間、1つまたは複数のパケット510が通信リンク412上で送信され得る。リンクアクティビティ502は、電力節約ニーズ、チャネル4041〜404nによって生成されたデータの観測されたレート、観測されたバッファ利用率、および他の要因に基づいて実装される電力サイクル504によって左右され得る。電力サイクル504は、最大パケットレート(MPR)に関係し得る。たとえば、MPRがマイクロ秒当たり1パケットであるとき、電力サイクル504は、マイクロ秒ごとに1パケットの送信をサポートするように構成され得る。すなわち、電力サイクル504の期間(TPcycle)506は、次のパケットが送信のために到着する前に各到着パケットが送信されることを可能にするために、1マイクロ秒未満に設定されてもよい。アイドル時間期間の持続時間(TPD)508は、最大サイズのパケットの送信時間に基づいて選択されてもよい。場合によっては、電力サイクリングは、電力サイクル504がより長い期間506を有するときに、より効率的である。一例では、6マイクロ秒のアイドル持続時間を有する10マイクロ秒の期間506は、0.6マイクロ秒のアイドル持続時間を有する1マイクロ秒の期間506よりも効率的であり得る。
電力サイクリングスケジュールがアービタ410によって適用される送信スケジュールと競合するかまたはそれに干渉するとき、競合および非効率が生じ得る。1つまたは複数のチャネル4041〜404nから受信されるデータフローの変化は、電力サイクル504の期間506の持続時間の調整を必要とする、かつ/または、電力サイクル504の期間506に対するアイドル時間期間の持続時間508の変化に比例する場合がある。場合によっては、MPRの増加は、電力サイクル504の期間506の短縮を必要とし得る。一例では、MPRは、動きが開始するまたは終了するシーンのビデオ画像からビデオストリームが導出されるときに変動し得る。別の例では、1つまたは複数のチャネル4041〜404nから受信されるデータフローの量は、経時的に変化する場合があり、アイドル時間期間の持続時間508と電力サイクル504の期間506の比は、バッファ利用率を制御するために修正される場合がある。
電力サイクル504の構成の変更は、一般的に、アービタ410に通信されて、利用可能な帯域幅および/またはアクティブ送信期間の持続時間の差異に適応させるためにアービタ410がそのスケジューリングアルゴリズムを調整することを可能にする。アービタ410によって利用されるスケジューリングアルゴリズムの変更は、電力サイクル504を構成するために使用される条件に影響を及ぼし得る。したがって、電力サイクル504およびスケジューリングアルゴリズムは、平衡が達成されるまで、反復して修正され得る。アービタ410によって使用される、電力サイクル504を制御するためのスケジューラは、電力サイクリングと送信スケジューリングとの間の平衡により迅速に集中するために、互いと通信していることを必要とし得る。平衡を実現する際の通信オーバーヘッドおよび遅延は、電力使用と通信インターフェースの両方の効率性を低減し得る。場合によっては、電力サイクルは、パケットが送信されている間に電源切断が行われ得るように、送信スケジュールとは無関係に作動され得る。
適応的電力サイクリング
アービタ410によって使用されるスケジューリングアルゴリズムは、適応的電力サイクリング機構を提供するために、本明細書で開示するいくつかの態様に従って適合され得る。一例では、電力サイクリング要件は、アービタに仮想チャネルに対応する時間期間をスケジュールさせる仮想チャネルからの仮想データフローを確立することによって満足され得る。仮想チャネルがスケジュールされるとき、通信インターフェースが電源切断され得る。
図6は、本明細書で開示するいくつかの態様による、適応的電力サイクリング用に構成されたデータ通信リンク612のいくつかの態様を示す簡略化されたタイミング図600である。図4の通信リンク412の場合と同様に、通信リンク612は、送信ノード602において受信される複数のデータソースおよび/またはチャネル6041〜604nからのデータの送信をサポートし得る。エンコーダ606は、複数のデータチャネル6041〜604nからのデータをパケット化し、アービタ610によって生成されたスケジュールに従ってパケット614を受信ノード622に送信し得る。この例では、可変長パケット614がデータ通信リンク上で送信される。他の例では、データチャネル6041〜604nの各々が、各電力サイクルの中の1つまたは複数のタイムスロットにおける送信のために割り当てられ得る。受信ノード622において、データは、通信リンク612を介して送信されたパケットから復号および/または抽出され得、パケット化解除されたデータは、それらのそれぞれの複数の宛先6241〜624nに配信され得る。
この例では、アービタ610は、送信ノード602の電力サイクル要件を容易にする電力サイクルチャネル608からの要求をサービスするように適合され得る。電力サイクルチャネル608は、符号化するための実際のデータを生成しない仮想チャネルであり得る。電力サイクルチャネル608が送信のためにスケジュールされるとき、送信ノード602の通信インターフェースが電源切断され得る。したがって、送信ノード602によって受信ノード622に送信されるパケット614のストリームにおいてアイドル期間616が生じる。
動作時、電力サイクルチャネル608は、アービタ610によって利用されるスケジューリングアルゴリズムによって、通信リンクへのアクセスを許可される。スケジューリングアルゴリズムは、他のデータチャネル6041〜604nがスケジュールされるのと同じように電力サイクルチャネル608をスケジュールするので、電力サイクルチャネル608の性質に気づいている必要はない。制御論理および/または回路618は、電力サイクルチャネル608がスケジュールされるときに通信インターフェースおよび/またはエンコーダを電源切断するように適合され得る。
電力サイクルチャネル608は、データチャネルにおけるパケットレートに関連付けられた期間に対応する一定の間隔でサービスを要求し得、電力サイクル期間は、通信リンク612のMPRの計算において考慮され得る。電力サイクルチャネル608は、サイズが通信リンクの未使用帯域幅に対応する帯域幅を割り振られ得る。スケジューリングアルゴリズムは、MPRに基づいて決定された期間内の単一の連続する時間期間において電力サイクルチャネル608をスケジュールするように構成され得る。
いくつかの態様によれば、電力サイクルチャネル608は実際のデータチャネル6041〜604nと同じ方法でスケジュールされるので、電源切断イベントの開始は、前のパケットが送信を完了するまで遅延され得る。言い換えれば、電力サイクルチャネル608は、データチャネル6041〜604nのうちの1つに対する許可が終了した後、アービタ610から(通信リンク612へのアクセスの)許可を受信する。実際のパケットが送信されないので、電力サイクルチャネル608に対する許可の持続時間は、タイマーを使用して制御され得る。
場合によっては、メッセージまたは信号は、受信機がそのインターフェースを電源切断することができるように、電源切断期間の開始時に受信機に送信され得る。たとえば、送信機は、電源切断期間の持続時間を示す電源切断メッセージを送り得る。受信機は、電源切断期間よりも少ないかまたはそれに等しい時間期間の間、そのインターフェースを電源切断し得、送信機から次の送信を受信するのに間に合うように、インターフェースを再アクティブ化し得る。電源切断期間は、送信機回路および/または受信機回路のインターフェースに供給される電力をオフにすることによって開始され得る。いくつかの例では、電源切断期間は、ラインドライバを高インピーダンス状態に置くことによって開始され得る。いくつかの例では、電源切断は、電源切断期間の持続時間の間に送信機クロック信号および/または受信機クロック信号の頻度を中断または低減することによって開始され得る。
適応的電力サイクリングの例
電力サイクルチャネル608は、状態機械、処理回路、カウンタ、レジスタおよび制御論理を含み得るモジュールおよび回路の組合せを使用して実装され得る。通信リンクに関するまたは通信リンクを特徴づけるいくつかのパラメータは、システム起動時に決定され得る。パラメータは、通信リンクに関連付けられたアクティブチャネルの数、データチャネル6041〜604nの各々に許可されるかまたはそれらの各々によって必要とされる帯域幅(BW[ch])、データチャネル6041〜604nの各々のパケットレート(PR[ch])、通信リンクによって提供される利用可能な総帯域幅(BWmax)などを定義し得る。アービタ610および/またはアービタ610によって使用されるスケジューリングアルゴリズムは、パラメータに基づいて構成され得る。たとえば、電力サイクルを設定するために使用されるMPRは、MPR=max(PR[ch])として計算され得、電力サイクルチャネル608は、BWPcycle=BWmax-sum(BW[ch])として計算される帯域幅要件または許可を有するものとして特徴づけられ得る。これらのパラメータならびにアービタ610および/またはスケジューリングアルゴリズムの構成は、チャネルが追加または削除されたときに、および/または、1つもしくは複数のチャネルについて帯域幅もしくはパケットレートが修正されたときに、調整され得る。
電力サイクルチャネル608は、電力サイクル要求間の間隔を追跡する1つまたは複数のカウンタを含んでもよく、ここで、間隔は1/MPRとして計算され得る。たとえば、カウントダウンカウンタは、値1/MPRを有するように初期化され得、電力サイクル要求は、カウントダウンカウンタがゼロに達するまで減分されたときに生成され得る。電源切断カウンタは、電源切断期間の持続時間を追跡するために使用され得る。電源切断期間の持続時間は、(1-BWU)/MPRとして計算され得、電源切断カウンタは、電源切断サイクル要求が許可されたときに初期化され得る。
電源切断期間の持続時間が満了すると、電源切断カウンタは、通信インターフェースを再アクティブ化するために電源投入シーケンスをトリガし得る。たとえば、信号検出回路、ラインドライバ、受信機、エンコーダ606などが電源投入されるかまたは他の方法で再アクティブ化され得る。いくつかのデバイスでは、再アクティブ化は瞬時に達成されない可能性があるかまたは瞬時に達成することができず、通信インターフェースを再アクティブ化するために必要なアクティブ化時間が、アービタ610に与えられ得る。アクティブ化時間は、インターフェースの設計からおよび/または動作の特徴づけによって知られ得る。電力サイクル持続時間および/または電源切断期間は、アクティブ化時間または他のオーバーヘッドに適応するように調整され得る。
アービタ610は、リンクアクティブ期間の間に送信されたデータパケット間に挿入され得るランダムな制御トラフィックなどの他のオーバーヘッドを考慮し得る。モニタは、そのようなトラフィックに関連付けられた時間を測定するために利用され得、オーバーヘッドは、電力サイクル期間ごとのオーバーヘッド時間として表され得る。オーバーヘッド時間は、実効電力サイクル持続時間から差し引かれる場合もある。
いくつかの例では、適応的電力サイクリングは、複数の動的に変化するパラメータに応答し得る。電力サイクリング要求間の間隔は、適用例および/または動作のニーズに基づいて適合され得る。たとえば、電力サイクリング要求間の間隔は、パワーオン状態とパワーオフ状態との間の切替えのレートが低減され、電力サイクリング効率が高まるように、遅いトラフィックの間に増加され得る。
各電力サイクルの持続時間は、制御トラフィックを扱うように適合され得る。一例では、電力サイクル持続時間は、制御パケットを送信するための要求が電力サイクルチャネル608からの要求よりも高い優先度を割り当てられるとき、制御トラフィックに適応するように短縮され得る。電力サイクル持続時間は、たとえば、前のアクティブ期間に観測された制御トラフィックの量だけ短縮され得る。電力サイクルの深さ(電源切断期間の持続時間)は、観測されたリンク状態に基づいて適合され得る。電力サイクル持続時間は電力サイクルの始めに知られる場合があり、アービタ610または他の制御論理618は、節電を増大させることができるより深い電力サイクルのための十分な時間があるかどうかを決定し得る。場合によっては、アービタ610または他の制御論理618は、計算された電力サイクル持続時間が効率的な電力サイクリングには短すぎると決定し得、通信リンクは、通信リンクのアクティビティレベルが低下するまでアクティブのままであり得る。
アービタの例
図7は、本明細書で開示するいくつかの態様による、トラフィックおよび電力サイクリングを管理するように適合または構成され得るアービタ702のいくつかの態様を示す簡略ブロック図700である。アービタ702は、複数のチャネル704から受信されるデータトラフィックを監視するように構成された回路、論理および/またはモジュールを含み得るチャネルマネージャ710を有し得る。チャネルマネージャ710は、複数のチャネル704からデータを受信するために使用されるキューおよび/またはバッファの動作を制御し得る。場合によっては、アービタ702は、バッファおよび/またはキューとして動作する記憶デバイスを含み得るか、または記憶デバイスに結合され得る。チャネルマネージャ710は、キューステータスを決定および監視することができる回路またはモジュールを含み得る。チャネルマネージャ710は、1つもしくは複数のチャネル704からのデータがいつ送信のために利用可能であるか、および/または、1つもしくは複数のキューもしくはバッファがいつ空であるかもしくは輻輳しているかを、アービトレーション論理712にシグナリングするように構成され得る。
アービトレーション論理712は、1つまたは複数のアービトレーションアルゴリズムを実行するように適合されたシーケンサおよび/または状態機械を含み得る。アービトレーション論理712は、アービトレーションアルゴリズムを修正および/またはチューニングするために使用され得る構成情報706およびチャネルメトリック716を受信し得る。構成情報706は、最大パケット長、MPR、BWU、クロックレート、および他のそのような情報を含め、アービトレーションサイクル持続時間、チャネル優先度を定義する情報、ならびに/または、通信プロトコルおよびタイミングを定義する情報を含み得る。場合によっては、MPR、BWUおよび他の動的に変化するチャネルパラメータは、通信リンク上で実際のデータ送信を監視することによってフィードバックを提供し得るチャネルマネージャ710および/またはインターフェースコントローラ718から受信される情報に基づいて、チャネルメトリック716として算出され得る。
アービトレーション論理712はまた、電力サイクル管理に関するバス要求を受信し得る。一例では、電力サイクルタイマーおよび/またはカウンタ714は、アービトレーション論理712に対する要求を生成するために、電力構成パラメータ708を使用して構成され得る。電力サイクルタイマーおよび/またはカウンタ714は、トラフィックレベルが増加するときの電源切断時間の変化に適応するために、アービトレーション論理712によって提供されるチャネルメトリック716および/または情報に応答し得る。たとえば、電力サイクルタイマーおよび/またはカウンタ714ならびにアービトレーション論理712は、1つまたは複数のチャネルが送るべきデータをもたないとき、電源切断期間の持続時間を増加させるように動的に再構成され得る。電力サイクルタイマーおよび/またはカウンタ714は、通信インターフェースの電源切断が要求されていることを示すために使用される1つまたは複数の信号を生成し得る。
インターフェースコントローラ718は、通信リンクインターフェースの動作を制御するために使用され得る制御信号724を提供し得る。たとえば、インターフェースコントローラ718は、通信リンクにアクセスすることを許可されている現在のチャネルからエンコーダがデータを受信することを可能にし得る。インターフェースコントローラ718は、パケット、フレーム、スロットタイミングなどを決定するために、送信タイミング回路720と対話し得る。送信タイミング回路720は、エンコーダ、ならびに他の送信デバイスおよび/または受信デバイスによって使用されるクロック信号722を供給し得る。インターフェースコントローラ718はまた、電力サイクルタイマーおよび/またはカウンタ714ならびにアービトレーション論理712から受信される信号に応答して、通信インターフェースの電源切断を制御し得る。
動作時、アービトレーションアルゴリズムは、最適な帯域幅利用を実現するために、通信リンク構成および現在のトラフィック状態を追跡するように構成され得る。アービトレーションアルゴリズムは、マルチチャネルアービトレーションに、一定の帯域幅を有する決定論的トラフィック、ならびに本質的にかなりランダムであり得る非決定論的(non-deterministic)トラフィックのためのサポートを提供し得る。一例では、非決定論的トラフィックは、可変の帯域幅を有し得る制御トラフィックを含み得る。本明細書で開示するいくつかの態様によれば、アービトレーションアルゴリズムは、電力状態制御を実装するために使用され得る。
一例では、アービトレーションアルゴリズムは、先着順アルゴリズムとして動作するように構成され得る。チャネルマネージャ710は、各チャネル704に待機カウントを割り当てることができ、ここで、様々なチャネル704の待機カウントは、チャネル704からのパケットが送信を待機している時間量を表すために使用され得る。チャネル704のうちの1つによるパケット転送の要求が許可されると、その対応する待機カウントは(たとえば、0の値に)リセットされ得るが、他のチャネル704の待機カウントは1だけ増加される。最も高い待機カウントを有するチャネルは、一般的に、次の許可を割り当てられる。
複数の同時の要求の発生は、各チャネルの要求信号をタイムスロットに割り当てることによって回避され得る。たとえば、16チャネル実装形態では、16個の連続するタイムスロットが提供され得る。
アービトレーションアルゴリズムは、パケットがそれらのそれぞれの到着順序に従って転送されるデータフローを取得するように構成され得、ここで、レイテンシは平衡状態で適正であり、最適な帯域幅使用をもたらす。様々な例では、レイテンシは、要求の周期によって制限され得、順序が狂った転送は、レイテンシ増加の可能性を高め得る。アービトレーションアルゴリズムは、十分な帯域幅が利用可能であれば、自然に非周期的な要求を扱うように構成され得る。
アービトレーションアルゴリズムは、電力サイクリングに関するアービトレーションを扱うように適合され得る。アービトレーションアルゴリズムは、未使用帯域幅が利用可能であるとき、通信リンクに低電力状態を仮定させ得る。言い換えれば、帯域幅は、データトラフィックによってまたは低電力状態によってのいずれかで、完全に利用される。低電力状態の期間は、データチャネル704によって使用されない帯域幅に対応する帯域幅を有する別のチャネルであるかのようにモデル化され得る。このようにして、アービタ702は、最も効率的な方法で、すべての未使用帯域幅を低電力状態に自然に割り振ることができる。
未使用帯域幅は、次のように計算され得る。
Figure 2018516489
チャネルによって使用される帯域幅は、次のように計算され得る。
Figure 2018516489
チャネルのパケットレートは、次のように計算され得る。
Figure 2018516489
チャネルのパケットサイズは、次のように計算され得る。
Figure 2018516489
これらの計算を使用して、最大レイテンシ条件は、次のように表され得る。
Figure 2018516489
等価の未使用パケットサイズについての得られた式は、次のように表され得る。
Figure 2018516489
仮想チャネルは、カウンタ714を使用して低電力状態をスケジュールするために提供され得る。カウンタ714のうちの第1のカウンタは、データチャネル704によって生成される要求をシミュレートする周期的な要求を生成するために使用され得る。このカウンタの(最小期間に対応する)最大レートは、
Figure 2018516489
を使用して計算され得る。
カウンタ714のうちの第2のカウンタは、仮想チャネルすなわち「低電力」チャネルへのアクセスが許可されるときに適用される、低電力期間の持続時間を生成するために使用され得る。これはアクティブチャネルのデューティサイクルと等価であり、したがって、バイト/パケット計算が使用され得る。
Figure 2018516489
チャネル704の任意の構成およびトラフィック情報(たとえば、チャネルメトリック716)について、計算に必要なパラメータは一定であり得る。したがって、これらのパラメータは、必要または要望に応じて、テーブルとして記憶されるかもしくはアービトレーションアルゴリズムに埋め込まれるか、またはオンザフライで計算される場合がある。所与の構成のためのパラメータは、チャネル704が追加もしくは削除されたときに、および/またはチャネル704のうちの1つもしくは複数に関連付けられたデータフローが変化するときに、カウンタ714をプログラムするために使用され得る。一例では、カウンタ714は、追加されたチャネルを介してデータを送る前に再プログラムされる。別の例では、カウンタ714は、削除されたチャネルがデータを送るのを停止した後に再プログラムされ得る。
本明細書で開示するように、低電力チャネルは未使用帯域幅を吸収する。低電力チャネルは、仮想チャネルまたはダミーチャネルと呼ばれることがある。データチャネル704から受信されるデータトラフィックは、仮想チャネルが「非アクティブ」である(すなわち、許可をもたない)とき、残りの時間期間に集中され得る。仮想チャネルの「アクティブ」期間は、低電力状態のために利用可能な生の帯域幅に対応し得る。
制御トラフィックは非周期的であり得、定義されたレートがない場合がある。スケジューリングアルゴリズムが制御トラフィックに合うことができる場合、制御トラフィックが挿入され得る。周期的なカウンタを構成するために使用される式は、ランダムな制御トラフィックまたは他の非決定論的トラフィックについてのスケジューリングを制御するために使用され得る。すなわち、次の通りである。
Figure 2018516489
しかしながら、デューティサイクルを構成するための式は、次のように調整され得る。
Figure 2018516489
制御トラフィックは、通常ならばクロックゲーティングのために利用可能である帯域幅を吸収し得る。リンクコントローラは一般的に制御トラフィックを生成し、制御トラフィックは、所与の期間における制御トラフィックバイトをカウントするために、カウンタ714および/またはチャネルメトリック716を使用して追跡され得る。一例では、制御トラフィックバイトカウンタは、ダミーチャネルが通信リンクへのアクセスを許可されるときはいつでもリセットされ得、低電力状態のために利用可能な期間は、コントローラによる介入なしに自動的にかつ正確に調整され得る。
(たとえば、ソフトウェアによって制御される)処理回路による介入は、通信リンク構成、チャネル構成、および/またはトラフィックシナリオが変化したときに生じ得る。一例では、チャネルを追加または削除するための再構成が実行され得る。別の例では、総帯域幅に変化をもたらすために位相ロックループ(PLL)レートを変更するための再構成が実行され得る。電力状態遷移のタイミングに関する決定および電力状態遷移に関する他の決定は、カウンタ、比較器および他の論理によって行われ得る。
処理回路および方法の例
図8は、本明細書で開示する1つまたは複数の機能を実行するように構成され得る処理回路802を利用する装置のためのハードウェア実装形態の簡略化された例を示す概念図800である。本開示の様々な態様によれば、本明細書で開示する要素、または要素の任意の部分、または要素の任意の組合せは、処理回路802を使用して実装され得る。処理回路802は、ハードウェアモジュールとソフトウェアモジュールの何らかの組合せによって制御される1つまたは複数のプロセッサ804を含み得る。プロセッサ804の例は、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ(DSP)、フィールドプログラマブルゲートアレイ(FPGA)、プログラマブル論理デバイス(PLD)、状態機械、シーケンサ、ゲート論理、個別ハードウェア回路、および本開示全体にわたって説明する様々な機能を実行するように構成された他の適切なハードウェアを含む。1つまたは複数のプロセッサ804は、特定の機能を実行し、ソフトウェアモジュール816のうちの1つによって構成され、増強され、または制御され得る専用プロセッサを含み得る。1つまたは複数のプロセッサ804は、初期化中にロードされたソフトウェアモジュール816の組合せを通じて構成されてもよく、動作中に1つまたは複数のソフトウェアモジュール816をロードまたはアンロードすることによってさらに構成されてもよい。
図示の例では、処理回路802は、バス810によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス810は、処理回路802の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス810は、1つまたは複数のプロセッサ804およびストレージ806を含む様々な回路を互いにリンクさせる。ストレージ806は、メモリデバイスおよび大容量記憶デバイスを含んでもよく、本明細書ではコンピュータ可読媒体および/またはプロセッサ可読媒体と呼ばれることがある。バス810は、タイミングソース、タイマー、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできる。バスインターフェース808は、バス810と1つまたは複数のトランシーバ812との間のインターフェースを提供し得る。トランシーバ812は、処理回路によってサポートされるネットワーキング技術ごとに提供され得る。場合によっては、複数のネットワーキング技術は、トランシーバ812の中に見出される回路または処理モジュールの一部または全部を共有してもよい。各トランシーバ812は、伝送媒体を介して様々な他の装置と通信するための手段を提供する。装置の性質に応じて、ユーザインターフェース818(たとえば、キーパッド、ディスプレイ、スピーカ、マイクロフォン、ジョイスティック)が設けられる場合もあり、直接またはバスインターフェース808を通じてバス810に通信可能に結合される場合がある。
プロセッサ804は、バス810を管理することと、ストレージ806を含み得るコンピュータ可読媒体に記憶されたソフトウェアの実行を含み得る一般的な処理とを担うことができる。この点で、プロセッサ804を含む処理回路802は、本明細書で開示する方法、機能および技法のうちのいずれかを実装するために使用され得る。ストレージ806は、ソフトウェアを実行するときにプロセッサ804によって操作されるデータを記憶するために使用されてもよく、ソフトウェアは、本明細書で開示する方法のうちのいずれか1つを実装するように構成されてもよい。
処理回路802の中の1つまたは複数のプロセッサ804は、ソフトウェアを実行し得る。ソフトウェアは、ソフトウェア、ファームウェア、ミドルウェア、マイクロコード、ハードウェア記述言語と呼ばれるか、または他の名称で呼ばれるかどうかにかかわらず、命令、命令セット、コード、コードセグメント、プログラムコード、プログラム、サブプログラム、ソフトウェアモジュール、アプリケーション、ソフトウェアアプリケーション、ソフトウェアパッケージ、ルーチン、サブルーチン、オブジェクト、実行ファイル、実行スレッド、プロシージャ、関数、アルゴリズムなどを意味するように広く解釈されるべきである。ソフトウェアは、コンピュータ可読の形でストレージ806の中または外部コンピュータ可読媒体の中に存在してもよい。外部コンピュータ可読媒体および/またはストレージ806は、非一時的コンピュータ可読媒体を含み得る。非一時的コンピュータ可読媒体は、例として、磁気記憶デバイス(たとえば、ハードディスク、フロッピーディスク、磁気ストリップ)、光ディスク(たとえば、CDまたはデジタル多用途ディスク(DVD))、スマートカード、フラッシュメモリデバイス(たとえば、「フラッシュドライブ」、カード、スティック、またはキードライブ)、RAM、ROM、プログラマブルROM(PROM)、消去可能PROM(EPROM)、EEPROM、レジスタ、リムーバブルディスク、ならびに、コンピュータによってアクセスされ読み取られ得るソフトウェアおよび/または命令を記憶するための任意の他の適切な媒体を含む。コンピュータ可読媒体および/またはストレージ806は、例として、搬送波、伝送線路、ならびに、コンピュータによってアクセスされ読み取られ得るソフトウェアおよび/または命令を送信するための任意の他の適切な媒体も含み得る。コンピュータ可読媒体および/またはストレージ806は、処理回路802の中に存在するか、プロセッサ804の中に存在するか、処理回路802の外部に存在するか、または処理回路802を含む複数のエンティティにわたって分散されてもよい。コンピュータ可読媒体および/またはストレージ806は、コンピュータプログラム製品において具現化され得る。例として、コンピュータプログラム製品は、パッケージング材料の中のコンピュータ可読媒体を含み得る。特定の適用例
および全体的なシステムに課される全体的な設計制約に応じて、本開示全体にわたって提示される説明した機能を実装する最良の方法を、当業者は認識されよう。
ストレージ806は、本明細書ではソフトウェアモジュール816と呼ばれることがある、ロード可能なコードセグメント、モジュール、アプリケーション、プログラムなどにおいて維持および/または編成されるソフトウェアを維持してもよい。ソフトウェアモジュール816の各々は、処理回路802上にインストールまたはロードされ、1つまたは複数のプロセッサ804によって実行されると、1つまたは複数のプロセッサ804の動作を制御するランタイムイメージ814に寄与する命令およびデータを含み得る。実行されると、いくつかの命令は、処理回路802に、本明細書で説明するいくつかの方法、アルゴリズムおよびプロセスに従って機能を実行させてもよい。
ソフトウェアモジュール816のうちのいくつかは、処理回路802の初期化中にロードされてもよく、これらのソフトウェアモジュール816は、本明細書で開示する様々な機能の実行を可能にするように処理回路802を構成してもよい。たとえば、いくつかのソフトウェアモジュール816は、プロセッサ804の内部デバイスおよび/または論理回路822を構成することができ、トランシーバ812、バスインターフェース808、ユーザインターフェース818、タイマー、数学的コプロセッサなどの外部デバイスへのアクセスを管理することができる。ソフトウェアモジュール816は、割込みハンドラおよびデバイスドライバと対話し、処理回路802によって提供される様々なリソースへのアクセスを制御する、制御プログラムおよび/またはオペレーティングシステムを含み得る。リソースは、メモリ、処理時間、トランシーバ812へのアクセス、ユーザインターフェース818などを含み得る。
処理回路802の1つまたは複数のプロセッサ804は、多機能であってもよく、それにより、ソフトウェアモジュール816のうちのいくつかがロードされ、異なる機能または同じ機能の異なるインスタンスを実行するように構成される。1つまたは複数のプロセッサ804は加えて、たとえば、ユーザインターフェース818、トランシーバ812、およびデバイスドライバからの入力に応答して開始されたバックグラウンドタスクを管理するように適合され得る。複数の機能の実行をサポートするために、1つまたは複数のプロセッサ804は、マルチタスキング環境を提供するように構成されてもよく、それにより、複数の機能の各々は、必要または要望に応じて、1つまたは複数のプロセッサ804によってサービスされるタスクのセットとして実装される。一例では、マルチタスキング環境は、異なるタスク間でプロセッサ804の制御を渡す時分割プログラム820を使用して実装されてもよく、それにより、各タスクは、任意の未処理動作が完了すると、および/または割込みなどの入力に応答して、1つまたは複数のプロセッサ804の制御を時分割プログラム820に戻す。タスクが1つまたは複数のプロセッサ804の制御を有するとき、処理回路は、事実上、制御するタスクに関連付けられた機能によって対処される目的に特化される。時分割プログラム820は、オペレーティングシステム、ラウンドロビンベースで制御を移すメインループ、機能の優先順位付けに従って1つもしくは複数のプロセッサ804の制御を割り振る機能、および/または、1つもしくは複数のプロセッサ804の制御を処理機能に提供することによって外部イベントに応答する割込み駆動のメインループを含み得る。
図9は、データ通信の方法のフローチャート900である。方法は、送信機における電力使用の管理に関し得る。
ブロック902において、複数のデータチャネルが通信リンク上で提供される。複数のデータチャネルの各々は、通信リンク上で送信されるべきデータのソースに割り当てられ得る。
ブロック904において、未使用帯域幅は、通信リンクによって提供される総帯域幅と複数のデータチャネルによって使用される帯域幅との間の差分として決定または計算され得る。複数のデータチャネルによって使用される帯域幅の第1の部分は、決定論的データトラフィックを送信するために割り振られ得る。複数のデータチャネルによって使用される帯域幅の第2の部分は、非決定論的データトラフィックを送信するために割り振られ得る。複数のデータチャネルによって使用される帯域幅の第3の部分は、ランダムな制御送信のために割り振られ得る。
ブロック906において、未使用帯域幅が仮想チャネルに割り振られ得る。
ブロック908において、複数のデータチャネルおよび仮想チャネルが時間ベースの多重化方式に従ってスケジュールされ得る。複数のデータチャネルおよび仮想チャネルは、先着順アービトレーションアルゴリズムを使用してスケジュールされ得る。
ブロック910において、仮想チャネルがスケジュールされるとき、送信機を通信リンクに結合するために使用されるインターフェース回路が無効化され得る。一例では、ある時間期間の間、インターフェース回路を電源切断することによって、インターフェース回路が無効化され得る。別の例では、ラインドライバの出力を高インピーダンスモードに置くことによって、インターフェース回路が無効化され得る。別の例では、1つまたは複数のクロック信号の頻度を低減することによって、インターフェース回路が無効化され得る。別の例では、1つまたは複数のクロック信号をゲーティングすることによって、インターフェース回路が無効化され得る。送信機が電源切断されているときまたはその前に、受信機に電源切断させる信号が受信機に送信され得る。未使用帯域幅と総帯域幅の比に基づいて計算された持続時間の間、送信機が電源切断され得る。
場合によっては、電力サイクルの持続時間は、複数のデータチャネルに関連付けられた最大パケットレートに基づいて決定または計算され、電源切断期間は、未使用帯域幅と総帯域幅の比に基づいて決定または計算される。少なくとも1つのデータチャネルは、最大パケットレートで送信するためのデータを提供する。
場合によっては、複数のデータチャネルからの第1のチャネルが削除されてもよく、仮想チャネルに割り振られる帯域幅が、第1のチャネルを削除することによって解放される帯域幅の量に対応する量だけ増加されてもよい。
場合によっては、第2のチャネルが複数のデータチャネルに追加されてもよく、次いで、未使用帯域幅の一部分が第2のチャネルに再割振りされてもよい。
図10は、処理回路1002を利用する装置1000のためのハードウェア実装形態の簡略化された例を示す図である。処理回路は、一般に、マイクロプロセッサ、マイクロコントローラ、デジタル信号プロセッサ、シーケンサおよび状態機械のうちの1つまたは複数を含み得るプロセッサ1016を有する。処理回路1002は、バス1020によって概略的に表されるバスアーキテクチャを用いて実装され得る。バス1020は、処理回路1002の特定の適用例および全体的な設計制約に応じて、任意の数の相互接続バスおよびブリッジを含み得る。バス1020は、プロセッサ1016によって表される1つまたは複数のプロセッサおよび/またはハードウェアモジュール、モジュールまたは回路1004、1006および1008、通信リンク1014およびコンピュータ可読記憶媒体1018のコネクタまたはワイヤを介して通信するように構成可能なラインインターフェース回路1012を含む様々な回路を互いにリンクさせる。バス1020は、タイミングソース、周辺機器、電圧調整器、および電力管理回路などの様々な他の回路をリンクさせることもできるが、これらの回路は当技術分野でよく知られており、したがって、これ以上は説明しない。
プロセッサ1016は、コンピュータ可読記憶媒体1018上に記憶されたソフトウェアの実行を含む一般的な処理を担う。ソフトウェアは、プロセッサ1016によって実行されると、処理回路1002に、任意の特定の装置について上記で説明した様々な機能を実行させる。コンピュータ可読記憶媒体1018はまた、ソフトウェアを実行するときに、データレーンおよびクロックレーンとして構成され得る通信リンク1014のコネクタを介して送信されたシンボルから復号されるデータを含む、プロセッサ1016によって操作されるデータを記憶するために使用され得る。処理回路1002は、モジュール1004、1006、1008、および1010のうちの少なくとも1つをさらに含む。モジュール1004、1006、1008、および1010は、プロセッサ1016中で動作している、コンピュータ可読記憶媒体1018に常駐する/記憶されるソフトウェアモジュール、プロセッサ1016に結合された1つもしくは複数のハードウェアモジュール、またはそれらの何らかの組合せであり得る。モジュール1004、1006、1008、および/または1010は、マイクロコントローラ命令、状態機械構成パラメータ、またはそれらの何らかの組合せを含み得る。
一構成では、ワイヤレス通信のための装置1000は、複数のデータソースから受信されるデータフローおよび電力サイクリングを実装するために使用される仮想フローをスケジュールするように構成されたモジュールおよび/または回路1004、電力サイクルのタイミングを制御および管理するように構成されたモジュールおよび/または回路1006、ならびにデータフローおよび通信リンク1014上のチャネルへのそれらの割振りを管理するように構成されたモジュールおよび/または回路1008を含む。
装置1000の様々なモジュールおよび/または回路は、通信リンク1014に結合された送信デバイスにおいて提供され得る。たとえば、送信デバイスは、装置を通信リンクに結合するように適合されたラインインターフェース回路1012と、複数のチャネルの各々からデータストリームを受信するように構成された符号化回路と、未使用帯域幅を、通信リンクによって提供される総帯域幅と複数のチャネルによって使用される帯域幅との間の差分として計算し、未使用帯域幅を仮想チャネルに割り振り、時間ベースの多重化方式に従って複数のチャネルおよび仮想チャネルをスケジュールするように構成されたアービタとを含み得る。仮想チャネルがスケジュールされるとき、インターフェース回路の少なくとも送信機部分が無効化される。
場合によっては、複数のチャネルによって使用される帯域幅の第1の部分は、決定論的データ送信のために割り振られる。複数のチャネルによって使用される帯域幅の第2の部分は、非決定論的データ送信のために割り振られ得る。複数のチャネルによって使用される帯域幅の第3の部分は、ランダムな制御送信のために割り振られ得る。
場合によっては、アービタは、電力サイクルに基づいて時間ベースの多重化方式に従って複数のチャネルおよび仮想チャネルをスケジュールし、未使用帯域幅と総帯域幅の比に基づいて電源切断期間を計算するように構成される。電力サイクルの持続時間は、少なくとも1つのデータチャネルに関連付けられた最大パケットレートに基づいて決定され得る。仮想チャネルに割り振られた帯域幅は、あるチャネルが複数のチャネルが削除されたときに解放される帯域幅の量に対応する量だけ増加され得る。未使用帯域幅の一部分は、新しいチャネルが複数のチャネルに追加されるときに新しいチャネルに再割振りされ得る。
アービタは、先着順アービトレーションアルゴリズムを使用するように構成され得る。
開示したプロセスにおけるステップの特定の順序または階層は、例示的な手法の例示であることを理解されたい。設計上の選好に基づいて、プロセスにおけるステップの特定の順序または階層は再構成されてもよいことを理解されたい。さらに、いくつかのステップは、組み合わされるか、または省略される場合がある。添付の方法クレームは、様々なステップの要素を例示的な順序で提示したものであり、提示された特定の順序または階層に限定されるものではない。
前述の説明は、いかなる当業者も本明細書で説明する様々な態様を実践することを可能にするために提供される。これらの態様に対する様々な修正は、当業者に容易に明らかになり、本明細書で定義した一般原理は、他の態様に適用され得る。したがって、特許請求の範囲は、本明細書に示す態様に限定されるものではなく、文言通りの特許請求の範囲と一致するすべての範囲を与えられるべきであり、単数形の要素への言及は、そのように明記されていない限り、「唯一無二の」ではなく、「1つまたは複数の」を意味するものとする。別段に明記されていない限り、「いくつかの」という用語は、1つまたは複数を指す。当業者に知られているか、または後で知られることになる、本開示全体にわたって説明する様々な態様の要素の、すべての構造的および機能的等価物は、参照により本明細書に明確に組み込まれ、特許請求の範囲によって包含されるものとする。さらに、本明細書で開示したものは、そのような開示が特許請求の範囲において明示的に列挙されているかどうかにかかわらず、公に供されるものではない。いかなるクレーム要素も、要素が「ための手段」という句を使用して明示的に列挙されていない限り、ミーンズプラスファンクションとして解釈されるべきではない。
100 装置
102 処理回路
106 RF通信トランシーバ、通信トランシーバ
108 特定用途向けIC(ASIC)、ASIC
110 アプリケーションプログラミングインターフェース(API)
112 メモリデバイス
114 ローカルデータベース
118 アンテナ
120 ディスプレイ
122 一体型キーボードもしくは外部キーボード
124 ボタン
200 システム
202 ICデバイス、第1のICデバイス、アプリケーションプロセッサICデバイス
204 ワイヤレストランシーバ
206 処理デバイス
208 記憶媒体
210 符号化デバイス
212 バス
214 アンテナ
220 通信リンク
222 チャネル、第1の通信チャネル、順方向リンク
224 チャネル、第2の通信チャネル、逆方向リンク
226 チャネル、双方向リンク
230 ICデバイス、第2のICデバイス、符号化デバイス
232 ディスプレイコントローラ
234 カメラコントローラ
236 処理デバイス
238 記憶媒体
242 バス
300 デバイス
302 処理回路
304 機能要素、機能、センサ制御機能
306 構成レジスタ
310 トランシーバ
310a 受信機
310b 共通回路
310c 送信機
312 プロセッサおよび/または制御論理
316 ドライバ
318 受信機
320 通信リンク
324 記憶デバイス
328 送信クロック(TXCLK)信号、TXCLK信号
400 簡略化されたタイミング図
402 送信ノード
4041〜404n チャネル、ソースデータチャネル
410 アービタ
412 通信リンク
414 送信スロット
422 受信ノード
4241〜424n 宛先データチャネル
500 タイミング図
502 リンクアクティビティ
504 電力サイクル
506 期間
508 持続時間
510 パケット
512 アクティビティ、アクティブ期間
514 アイドル期間
516 アクティビティ、アクティブ期間
518 アイドル期間
520 アクティビティ、アクティブ期間
600 簡略化されたタイミング図
602 送信ノード
6041〜604n データソースおよび/またはチャネル、データチャネル
608 電力サイクルチャネル
610 アービタ
612 データ通信リンク、通信リンク
614 パケット、可変長パケット
616 アイドル期間
618 制御論理および/または回路
622 受信ノード
6241〜624n 宛先
700 簡略ブロック図
702 アービタ
704 チャネル
706 構成情報
708 電力構成パラメータ
710 チャネルマネージャ
712 アービトレーション論理
714 電力サイクルタイマーおよび/またはカウンタ
716 チャネルメトリック
718 インターフェースコントローラ
720 送信タイミング回路
722 クロック信号
724 制御信号
800 概念図
802 処理回路
804 プロセッサ
806 ストレージ
808 バスインターフェース
810 バス
812 トランシーバ
814 ランタイムイメージ
816 ソフトウェアモジュール
818 ユーザインターフェース
820 時分割プログラム
822 内部デバイスおよび/または論理回路
900 フローチャート
1000 装置
1002 処理回路
1004 モジュールまたは回路、モジュール
1006 モジュールまたは回路、モジュール
1008 モジュールまたは回路、モジュール
1010 モジュール
1012 ラインインターフェース回路
1014 通信リンク
1016 プロセッサ
1018 コンピュータ可読記憶媒体
1020 バス

Claims (30)

  1. 送信機における電力使用を管理するための方法であって、
    通信リンク上で複数のデータチャネルを提供するステップであって、前記複数のデータチャネルの各々が、前記通信リンク上で送信されるべきデータのソースに割り当てられる、ステップと、
    未使用帯域幅を、前記通信リンクによって提供される総帯域幅と前記複数のデータチャネルによって使用される帯域幅との間の差分として決定するステップと、
    前記未使用帯域幅を仮想チャネルに割り振るステップと、
    時間ベースの多重化方式に従って前記複数のデータチャネルおよび前記仮想チャネルをスケジュールするステップと、
    前記仮想チャネルがスケジュールされるとき、前記送信機を前記通信リンクに結合するために使用されるインターフェース回路を無効化するステップと
    を備える方法。
  2. 前記複数のデータチャネルによって使用される前記帯域幅の第1の部分が、決定論的データトラフィックを送信するために割り振られる、請求項1に記載の方法。
  3. 前記複数のデータチャネルによって使用される前記帯域幅の第2の部分が、非決定論的データトラフィックを送信するために割り振られる、請求項2に記載の方法。
  4. 前記複数のデータチャネルによって使用される前記帯域幅の第3の部分が、ランダムな制御送信のために割り振られる、請求項2に記載の方法。
  5. 前記インターフェース回路を無効化するステップが、
    ある時間期間の間、前記インターフェース回路を電源切断するステップ
    を備える、請求項1に記載の方法。
  6. 前記複数のデータチャネルに関連付けられた最大パケットレートに基づいて電力サイクルの持続時間を決定するステップと、
    前記未使用帯域幅と前記総帯域幅の比に基づいて電源切断期間を計算するステップと
    をさらに備え、
    少なくとも1つのデータチャネルが、前記最大パケットレートで送信するためのデータを提供する、
    請求項1に記載の方法。
  7. 前記送信機を電源切断するステップが、
    受信機に電源切断させる信号を前記受信機に送信するステップと、
    前記未使用帯域幅と前記総帯域幅の比に基づいて計算された持続時間の間、前記送信機を電源切断するステップと
    を備える、請求項1に記載の方法。
  8. 前記複数のデータチャネルおよび前記仮想チャネルをスケジュールするステップが、
    先着順アービトレーションアルゴリズムを使用するステップ
    を備える、請求項1に記載の方法。
  9. 前記複数のデータチャネルから第1のチャネルを削除するステップと、
    前記第1のチャネルを削除することによって解放される帯域幅の量に対応する量だけ、前記仮想チャネルに割り振られた帯域幅を増加させるステップと
    をさらに備える、請求項1に記載の方法。
  10. 第2のチャネルを前記複数のデータチャネルに追加するステップと、
    前記未使用帯域幅の一部分を前記第2のチャネルに再割振りするステップと
    をさらに備える、請求項1に記載の方法。
  11. 装置であって、
    前記装置を通信リンクに結合するように適合されたインターフェース回路と、
    複数のチャネルの各々からデータストリームを受信するように構成された符号化回路と、
    未使用帯域幅を、前記通信リンクによって提供される総帯域幅と前記複数のチャネルによって使用される帯域幅との間の差分として計算し、
    前記未使用帯域幅を仮想チャネルに割り振り、
    時間ベースの多重化方式に従って前記複数のチャネルおよび前記仮想チャネルをスケジュールする
    ように構成されたアービタと
    を備え、
    前記仮想チャネルがスケジュールされるとき、前記インターフェース回路の少なくとも送信機部分が無効化される、
    装置。
  12. 前記複数のチャネルによって使用される前記帯域幅の第1の部分が、決定論的データ送信のために割り振られる、請求項11に記載の装置。
  13. 前記複数のチャネルによって使用される前記帯域幅の第2の部分が、非決定論的データ送信のために割り振られる、請求項12に記載の装置。
  14. 前記複数のチャネルによって使用される前記帯域幅の第3の部分が、ランダムな制御送信のために割り振られる、請求項12に記載の装置。
  15. 前記アービタが、
    前記複数のチャネルおよび前記仮想チャネルをスケジュールするために電力サイクルを使用し、
    前記未使用帯域幅と前記総帯域幅の比に基づいて電源切断期間を計算する
    ように構成され、
    前記電力サイクルの持続時間が、少なくとも1つのデータチャネルに関連付けられた最大パケットレートに基づいて決定される、
    請求項11に記載の装置。
  16. 前記仮想チャネルに割り振られた前記帯域幅が、あるチャネルが前記複数のチャネルから削除されたときに解放される帯域幅の量に対応する量だけ増加される、請求項15に記載の装置。
  17. 前記未使用帯域幅の一部分が、新しいチャネルが前記複数のチャネルに追加されるときに前記新しいチャネルに再割振りされる、請求項15に記載の装置。
  18. 前記アービタが、先着順アービトレーションアルゴリズムを使用するように構成される、請求項11に記載の装置。
  19. 装置であって、
    通信リンク上で複数のデータチャネルを提供するための手段であって、前記複数のデータチャネルの各々が、前記通信リンク上で送信されるべきデータのソースに割り当てられる、手段と、
    未使用帯域幅を、前記通信リンクによって提供される総帯域幅と前記複数のデータチャネルによって使用される帯域幅との間の差分として決定するための手段であって、前記未使用帯域幅が仮想チャネルに割り振られる、手段と、
    時間ベースの多重化方式に従って前記複数のデータチャネルおよび前記仮想チャネルをスケジュールするための手段と
    を備え、
    前記仮想チャネルがスケジュールされるとき、前記装置を前記通信リンクに結合するために使用されるインターフェース回路が無効化される、
    装置。
  20. 前記複数のデータチャネルによって使用される前記帯域幅の第1の部分が、決定論的データトラフィックのために割り振られる、請求項19に記載の装置。
  21. 前記複数のデータチャネルによって使用される前記帯域幅の第2の部分が、非決定論的データトラフィックのために割り振られる、請求項20に記載の装置。
  22. 前記複数のデータチャネルによって使用される前記帯域幅の第3の部分が、制御情報のために割り振られる、請求項20に記載の装置。
  23. 前記複数のデータチャネルおよび前記仮想チャネルをスケジュールするための前記手段が、前記複数のデータチャネルに関連付けられた最大パケットレートに基づく電力サイクルの持続時間、前記未使用帯域幅と前記総帯域幅の比として計算された電源切断期間を使用して構成され、少なくとも1つのデータチャネルが、前記最大パケットレートで送信するためのデータを提供する、請求項19に記載の装置。
  24. 前記複数のデータチャネルおよび前記仮想チャネルをスケジュールするための前記手段が、先着順アービトレーションアルゴリズムを使用するように構成される、請求項19に記載の装置。
  25. 前記複数のデータチャネルを提供するための前記手段が、
    前記複数のデータチャネルから第1のチャネルを削除する
    ように構成され、
    前記仮想チャネルに割り振られた前記帯域幅が、前記第1のチャネルに割り振られた帯域幅の量に対応する量だけ増加される、
    請求項19に記載の装置。
  26. 前記複数のデータチャネルを提供するための前記手段が、
    第2のチャネルを前記複数のデータチャネルに追加する
    ように構成され、
    前記未使用帯域幅の一部分が前記第2のチャネルに再割振りされる、
    請求項19に記載の装置。
  27. 1つまたは複数の命令を記憶したプロセッサ可読記憶媒体であって、前記1つまたは複数の命令が、少なくとも1つの処理回路によって実行されると、前記少なくとも1つの処理回路に、
    通信リンク上で複数のデータチャネルを提供することであって、前記複数のデータチャネルの各々が、前記通信リンク上で送信されるべきデータのソースに割り当てられる、提供することと、
    未使用帯域幅を、前記通信リンクによって提供される総帯域幅と前記複数のデータチャネルによって使用される帯域幅との間の差分として決定することと、
    前記未使用帯域幅を仮想チャネルに割り振ることと、
    時間ベースの多重化方式に従って前記複数のデータチャネルおよび前記仮想チャネルをスケジュールすることと、
    前記仮想チャネルがスケジュールされるとき、前記少なくとも1つの処理回路を前記通信リンクに結合するために使用されるインターフェース回路を無効化することと
    を行わせる、プロセッサ可読記憶媒体。
  28. 前記複数のデータチャネルによって使用される前記帯域幅の第1の部分が、決定論的データトラフィックを送信するために割り振られ、前記複数のデータチャネルによって使用される前記帯域幅の第2の部分が、非決定論的データトラフィックを送信するために割り振られ、前記複数のデータチャネルによって使用される前記帯域幅の第3の部分が、ランダムな制御送信のために割り振られる、請求項27に記載の記憶媒体。
  29. 前記命令が、前記少なくとも1つの処理回路に、
    前記複数のデータチャネルに関連付けられた最大パケットレートに基づいて電力サイクルの持続時間を決定させ、
    前記未使用帯域幅と前記総帯域幅の比に基づいて電源切断期間を計算させ、
    前記仮想チャネルがスケジュールされるとき、前記電源切断期間の間、前記インターフェース回路を電源切断させ、
    少なくとも1つのデータチャネルが、前記最大パケットレートで送信するためのデータを提供する、
    請求項27に記載の記憶媒体。
  30. 前記命令が、前記少なくとも1つの処理回路に、
    前記仮想チャネルがスケジュールされるとき、受信機に電源切断させる信号を前記受信機に送信させ、
    前記未使用帯域幅と前記総帯域幅の比に基づいて計算された持続時間の間、前記少なくとも1つの処理回路を電源切断させる、
    請求項27に記載の記憶媒体。
JP2017553080A 2015-04-13 2016-03-11 マルチチャネルネットワークにおけるアービトレーションおよび適応的電力サイクリングのための方法 Pending JP2018516489A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/685,334 2015-04-13
US14/685,334 US9794979B2 (en) 2015-04-13 2015-04-13 Method for arbitration and adaptive power-cycling in a multi-channel network
PCT/US2016/021958 WO2016167905A1 (en) 2015-04-13 2016-03-11 Method for arbitration and adaptive power-cycling in a multi-channel network

Publications (1)

Publication Number Publication Date
JP2018516489A true JP2018516489A (ja) 2018-06-21

Family

ID=55590169

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017553080A Pending JP2018516489A (ja) 2015-04-13 2016-03-11 マルチチャネルネットワークにおけるアービトレーションおよび適応的電力サイクリングのための方法

Country Status (6)

Country Link
US (1) US9794979B2 (ja)
EP (1) EP3284189A1 (ja)
JP (1) JP2018516489A (ja)
KR (1) KR20170136530A (ja)
CN (1) CN108541361A (ja)
WO (1) WO2016167905A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11006159B2 (en) * 2015-04-21 2021-05-11 Edge2020 LLC Hybrid video time-bandwidth product improvement (HVTBPI) transmission
WO2020227243A1 (en) * 2019-05-03 2020-11-12 The Santa Fe Opera Interactive electronic libretto/translation hd display interface apparatus and method
CN114629847B (zh) * 2022-03-08 2023-09-08 西安电子科技大学 基于可用带宽分配的耦合多流tcp拥塞控制方法
CN116388854B (zh) * 2023-05-24 2023-08-18 银河航天(北京)网络技术有限公司 通过调节虚拟信道传输数据信息的方法、装置及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621898A (en) 1994-11-29 1997-04-15 Compaq Computer Corporation Arbiter organization for serial bus transfers
US7046631B1 (en) 1999-01-22 2006-05-16 Alcatel Canada Inc. Method and apparatus for provisioning traffic dedicated cores in a connection oriented network
US7130313B2 (en) 2002-02-14 2006-10-31 Nokia Corporation Time-slice signaling for broadband digital broadcasting
US7362705B2 (en) * 2004-05-13 2008-04-22 International Business Machines Corporation Dynamic load-based credit distribution
US8483236B2 (en) * 2007-07-31 2013-07-09 Intel Corporation Dynamic bandwidth allocation for multiple virtual MACs
KR101627779B1 (ko) * 2009-04-14 2016-06-08 에이티아이 테크놀로지스 유엘씨 내포된 클럭 복원
US8566495B2 (en) * 2009-11-06 2013-10-22 Qualcomm Incorporated Systems, methods and apparatus for data communication
WO2013111010A1 (en) 2012-01-27 2013-08-01 Marvell World Trade Ltd. Chip-to-chip communications
CN109802701B (zh) 2012-07-27 2021-12-28 适应性频谱和信号校正股份有限公司 管理铜上的时分双工(tdd)传输的管理系统及方法

Also Published As

Publication number Publication date
EP3284189A1 (en) 2018-02-21
WO2016167905A1 (en) 2016-10-20
US9794979B2 (en) 2017-10-17
CN108541361A (zh) 2018-09-14
KR20170136530A (ko) 2017-12-11
US20160302257A1 (en) 2016-10-13

Similar Documents

Publication Publication Date Title
US9100354B2 (en) Control device, for instance for systems-on-chip, and corresponding method
US9258257B2 (en) Direct memory access rate limiting in a communication device
US20200050575A1 (en) Flexible protocol and associated hardware for one-wire radio frequency front-end interface
US11734204B2 (en) Adaptive processor resource utilization
JP2018516489A (ja) マルチチャネルネットワークにおけるアービトレーションおよび適応的電力サイクリングのための方法
US20090303876A1 (en) Systems and methods for flow control and quality of service
US10333648B1 (en) System and method for provisioning resources for lossless operation in a network environment
JP7394986B2 (ja) データパケットを送信する方法、及びこの方法を実施する装置
JP7000088B2 (ja) 通知制御装置、通知制御方法及びプログラム
CN110162378B (zh) 一种资源调度的方法、装置、设备及系统
US20180188794A1 (en) Power management in a configurable bus
US20190155645A1 (en) Distribution of network traffic to processor cores
CN114490499A (zh) 用于流送输入/输出数据的系统、装置和方法
CN104904169A (zh) 调整线程优先级以改进点到点(p2p)器件之间的吞吐量
US10531382B2 (en) Offloading MAC/link layer functions
US11621918B2 (en) Techniques to manage data transmissions
KR20150050085A (ko) 무선 환경에서 usb 통신을 위한 버퍼 관리 방법 및 장치
US10003542B2 (en) Data streaming scheduler for dual chipset architectures that includes a high performance chipset and a low performance chipset
KR102360214B1 (ko) 실시간 공유 인터페이스를 포함하는 시스템 온 칩의 스케쥴링 방법
JP4684031B2 (ja) バス・システム、バス管理装置、ノード装置、およびバス管理装置用のプログラム
JP2006259842A (ja) データ転送処理装置
CN112486871A (zh) 一种用于片上总线的路由方法以及系统
WO2016088371A1 (ja) 管理ノード、端末、通信システム、通信方法、および、プログラム記録媒体
WO2023123377A1 (zh) 一种调度网络流量的方法、装置以及系统
CN117149441A (zh) 一种应用于IoT的任务调度优化方法