[go: up one dir, main page]

JP2018081688A - 周辺サブシステム用に個別の電力制御を提供するための方法及び装置 - Google Patents

周辺サブシステム用に個別の電力制御を提供するための方法及び装置 Download PDF

Info

Publication number
JP2018081688A
JP2018081688A JP2017217779A JP2017217779A JP2018081688A JP 2018081688 A JP2018081688 A JP 2018081688A JP 2017217779 A JP2017217779 A JP 2017217779A JP 2017217779 A JP2017217779 A JP 2017217779A JP 2018081688 A JP2018081688 A JP 2018081688A
Authority
JP
Japan
Prior art keywords
subsystems
subsystem
host
sleep
peripheral
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.)
Granted
Application number
JP2017217779A
Other languages
English (en)
Other versions
JP6487988B2 (ja
Inventor
ソウラー ガーグ,
Garg Saurabh
ソウラー ガーグ,
カラン サンギ,
Sanghi Karan
カラン サンギ,
ウラジスラフ ペトコフ,
Petkov Vladislav
ウラジスラフ ペトコフ,
リチャード ソローク,
Solotke Richard
リチャード ソローク,
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
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 Apple Inc filed Critical Apple Inc
Publication of JP2018081688A publication Critical patent/JP2018081688A/ja
Application granted granted Critical
Publication of JP6487988B2 publication Critical patent/JP6487988B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3215Monitoring of peripheral devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3228Monitoring task completion, e.g. by use of idle timers, stop commands or wait commands
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3243Power saving in microcontroller unit
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/325Power saving in peripheral device
    • G06F1/3253Power saving in bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4282Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4405Initialisation of multiprocessor systems
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4418Suspend and resume; Hibernate and awake
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W52/00Power management, e.g. Transmission Power Control [TPC] or power classes
    • H04W52/02Power saving arrangements
    • H04W52/0209Power saving arrangements in terminal devices
    • H04W52/0225Power saving arrangements in terminal devices using monitoring of external events, e.g. the presence of a signal
    • 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
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management
    • 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/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Sources (AREA)
  • Telephone Function (AREA)

Abstract

【課題】サブシステムリソース(クロック、電力及びリセット)を独立なドメインに分離する。
【解決手段】システム200の各サブシステムは、他のサブシステムとは独立に動作する、1つ以上の専用の電力ドメイン及びクロックドメインを有する。例えば、例示的なセルラー方式、WLAN及びPAN接続があるモバイルデバイスでは、それぞれのこのようなサブシステムは、共通のメモリマップトバス機能に接続され、その上独立に動作できる。
【選択図】図2

Description

[優先権]
本出願は、本願の権利者が所有し、同時係属中であり、本出願と同じく「METHODS AND APPARATUS FOR PROVIDING INDIVIDUALIZED POWER CONTROL FOR PERIPHERAL SUB-SYSTEMS」と題する、2017年7月11日に出願の米国特許出願第15/647063号の優先権の利益を主張する。上記同時係属中の出願はまた、本願の権利者が所有し、同時係属中であり、「Apparatus and Methods for Independent Power and Clock Domains of a Memory mapped Architecture」と題する、2016年11月10日に出願の米国特許仮出願第62/420143号の優先権の利益を主張する。上記2つの同時係属中の出願のそれぞれは、その全体が、参照により本明細書に組み込まれる。
[関連出願]
本出願は、本願の権利者が所有し、同時係属中であり、「Methods and Apparatus for Providing Access to Peripheral Sub-System Registers」と題する、2017年7月11日に出願の米国特許出願第15/647088号と、本願の権利者が所有し、同時係属中であり、「Methods and Apparatus for Providing Peripheral Sub-System Stability」と題する、2017年7月11日に出願の米国特許出願第15/647103号と、に関連する。上記2つの同時係属中の出願のそれぞれは、その全体が、参照により本明細書に組み込まれる。
本出願はまた、いずれも本願の権利者が所有し、かつ同時係属中である、「Methods and Apparatus for Running and Booting an Inter-Processor Communication Link Between Independently Operable Processors」と題する、2015年10月8日に出願の米国特許出願第14/879024号と、「Methods and Apparatus for Managing Power with an Inter-Processor Communication Link Between Independently Operable Processors」と題する、2015年10月8日に出願の同第14/879027号と、「Methods and Apparatus for Recovering Errors with an Inter-Processor Communication Link Between Independently Operable Processors」と題する、2015年10月8日に出願の同第14/879030号と、に関連する。上記3つの同時係属中の出願のそれぞれは、その全体が、参照により本明細書に組み込まれる。
[著作権]
本特許文献の開示の一部分は、著作権保護の対象となる資料を含む。本著作権所有者は、特許商標庁の特許ファイル若しくは記録に見られるような、本特許文献又は本特許開示の何人によるファクシミリ複製に対しても異議を唱えるものではないが、それ以外の場合には、すべての著作権を保有する。
[技術分野]
本開示は、全般的に、電子デバイス並びにそのバスアーキテクチャの分野に関する。より具体的には、1つの例示的な態様では、本開示は、メモリマップトアーキテクチャのための、電力、クロック及び/又は他のリソースドメインを独立に動作させる方法及び装置を対象とする。
ペリフェラルコンポーネントインターコネクト(周辺構成要素相互接続)エクスプレス(PCIe)は、コンピュータ及び家庭用電化製品の製造業者による採用率が極めて高い、高速シリアルコンピュータ拡張バス技術である。この成功の一因は、PCIeによってデバイス及び機能の間の入出力(I/O)のための共有メモリマップに直接アクセスできることである。メモリマップトアクセスのおかげで、例えばバスアービトレーションが減ることによってトランザクションのオーバーヘッドが大幅に減り、また集中的なメモリ管理が大幅に減る。実際、PCIeは、コンピュータシステムベースのチップセットが提供する機能を超える、追加的な入出力(I/O)機能を追加するための、デファクトスタンダードになった。PCIeが本来サポートする直接メモリマップトバス機能に加えて、ハードウェア及び/又はソフトウェアドライバの広範なエコシステム及び継続的発展が、長年の実績があるロバストな汎用コンポーネントを活用する大きなチャンスを提供する。
余談であるが、PCIeは、1993年に開発されたPCI拡張バス技術に基づく。当時、PCIの目標は、ハードウェアユニットをコンピュータバスに追加する標準的な方法を提供することであった。各ハードウェアユニットは、各ハードウェアユニットを共有バスの一意のデバイスとして識別する機構を使用して、共有パラレルバスに接続されていた。各デバイスは更に、最大8つの機能に論理的に細分された。このように、元々、PCIバスは、いくつかのデバイスを、それぞれのデバイスがいくつかの機能を有した状態でサポートできた。PCIeが登場したことで、物理的に共有されるパラレルバスは、ピアツーピアの高速シリアルバスに置き換わった。共有パラレルバスがなくなったことで、PCIeでは、複数のエンドポイント間の同時アクセスに対する固有の限界なしに、任意の2つのエンドポイント間における全二重通信をサポートできる。
PCIeは、パーソナルコンピューティングアプリケーションに良好に適合しているが、モバイル空間で考慮すべき事項(例えば、電力消費、トランザクションの効率及び/又は他のモビリティ関連の考慮すべき事項)のために設計されていなかった。例えば、パーソナルコンピュータは、一般的に「壁面コンセント」に差し込まれるため、電力消費や節約は一般的に問題とならない。対照的に、モバイルデバイスは、電池の電力で動作し、電池寿命を最大限にするために過度の電力消費を制限しなければならない。
同様に、パーソナルコンピュータは、一般的に、外部ネットワーク(より広いインターネットなど)へ必要に応じて低頻度でアクセスし得る、単一プロセッサトポロジをサポートする。対照的に、モバイルデバイスは、ユーザのタスクを処理するためのアプリケーションプロセッサを有し得るが、ネットワーク管理エンティティ(ワイヤレスLAN又はセルラーネットワークのネットワーク管理エンティティなど)の検索、ネットワーク管理エンティティへの登録及び/又はネットワーク管理エンティティとのデータトランザクションを自律的に行う複数の追加的なモデムプロセッサもまた有し得る。
PCIeの限界が、PCIeをモバイル空間へ適用する可能性を歴史的に制限してきたが、ワイヤレス技術の対応帯域幅が増大し続けていること、そして消費者の好みがより大型のモバイルデバイスへ変化していることから、製造業者は、実現可能なバスソリューションとしてPCIeを再検討するに至った。特に、PCIeメモリマップトバス機能は、ますます普及している。このため、モバイルアプリケーション用に高速直接メモリマップトバス機能を更に最適化するために改善された方法及び装置が必要とされている。
本開示は、とりわけ、メモリマップトバスアーキテクチャ内で、電力、クロック及び/又は他のリソースドメインの独立動作ためのシステム、方法及び装置を提供することによって、上述のニーズを満たす。
第1の態様では、電子デバイス内の複数のサブシステム用の個別の電力制御を提供するための方法であって、電子デバイスがホストプロセッサ装置を備える、方法が開示される。一実施形態では、本方法は、複数のサブシステムに対するメモリマップトインタフェースを確立することであって、複数のサブシステムのそれぞれが、対応する電力管理ステートマシンによって特徴付けられている、ことと、複数のサブシステムのうちの1つについて、複数のサブシステムのうちの他のサブシステムとは独立に、対応する電力管理ステートマシンをスリープ状態からアクティブ状態へ遷移させることと、を含む。
一変形では、複数のサブシステムのうちの1つの、スリープ状態からアクティブ状態への遷移は、複数のサブシステムのうちの他のサブシステムをスリープ状態からアクティブ状態へ遷移させることなく発生し得る。
別の変形では、本方法は、複数のサブシステムのうちの1つを、複数のサブシステムのうちの他のサブシステムとは独立に、様々な電力節約モードへ遷移させることを更に含む。
また別の変形では、本方法は、ホストプロセッサ装置を介して複数のサブシステムに対する独立電力制御を行うことを更に含む。
また別の変形では、複数のサブシステムに対する独立電力制御を行うことは、複数のサブシステムのうちの第1のサブシステムをアクティブ状態に保つことを更に含む。
また別の変形では、複数のサブシステムに対する独立電力制御を行うことは、複数のサブシステムのうちの第1のサブシステムをアクティブ状態に保ちながら、複数のサブシステムのうちの第2のサブシステムをスリープ状態に遷移させることを更に含む。
また別の変形では、本方法は、複数のサブシステムのうちの他のサブシステムとは独立に、複数のサブシステムのうちの1つのための電力シーケンスを開始することを更に含む。
第2の態様では、複数のサブシステムに関連付けられたエンドポイント装置内において、複数のサブシステムに対応する複数のサブシステムレジスタへのアクセスを提供するための方法が開示される。一実施形態では、本方法は、エンドポイント装置に対するメモリマップトインタフェースを確立することと、メモリマップトインタフェースを介して、対応する少なくとも1つのサブシステムをウェイクアップさせずに、複数のサブシステムレジスタのうちの少なくとも1つにアクセスすることと、を含む。
一変形では、メモリマップトインタフェースを介して、複数のサブシステムレジスタのうちの少なくとも1つにアクセスすることが、複数のサブシステムレジスタのうちの1つに関連付けられたレジスタを読み出すことを更に含む。
別の変形では、メモリマップトインタフェースを介して、複数のサブシステムレジスタのうちの少なくとも1つにアクセスすることが、複数のサブシステムレジスタのうちの1つに関連付けられたレジスタに書き込むことを更に含む。
また別の変形では、アクセスすることは、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)機能内のメモリロケーションにアクセスする命令を実行することと、PCIe通信リンクをウェイクアップすることと、メモリマップトインタフェース内のメモリ空間にアクセスすることであって、メモリ空間がPCIe通信リンクに関連付けられる、ことと、を更に含む。
また別の変形では、本方法は、メモリ空間にアクセスした後に、対応する少なくとも1つのサブシステムをウェイクアップすることを更に含む。
また別の変形では、対応する少なくとも1つのサブシステムがセルラー方式のサブシステムを含み、本方法が、セルラー方式のサブシステムをウェイクアップせずに、エンドポイント装置内においてセルラー機能を問い合わせることを更に含む。
また別の変形では、本方法は、メモリマップトインタフェースを介して、複数のサブシステムをウェイクアップせずに、複数のサブシステムレジスタのそれぞれにアクセスすることを更に含む。
第3の態様では、コンピュータ化装置の複数のサブシステムの個別のブートを提供するための方法が開示される。一実施形態では、本方法は、上記装置に関連付けられたエンドポイントに対するメモリマップトインタフェースを確立することであって、エンドポイントが複数のサブシステムのそれぞれと動作可能に接続される、ことと、複数のサブシステムをエニュメレーションすることと、エニュメレーションした複数のサブシステムのうちの少なくとも2つを順番にブートすることと、を含む。
一変形では、本方法は、エニュメレーションした複数のサブシステムのうちの1つをブートプロセスから枝刈りすることを更に含む。
別の変形では、エニュメレーションした複数のサブシステムのうちの枝刈りした1つは、パーソナルエリアネットワーク(PAN)サブシステムを含み、本方法は、枝刈り前にPANサブシステム機能を無効化することを更に含む。
また別の変形では、本方法は、複数のサブシステムのうちのいずれの動作ステータスに関わらず、エンドポイントに電力供給することであって、エンドポイントに電力供給することによってエニュメレーションできる、ことを更に含む。
また別の変形では、本方法は、複数のサブシステムのうちの1つのため構成空間を初期化することを更に含む。
また別の変形では、本方法は、複数のサブシステムのうちの1つのため構成空間にアクセスすることであって、アクセスすることが複数のサブシステムのうちの1つの電力状態に関わらず発生する、ことを更に含む。
また別の変形では、本方法は、エニュメレーションした複数のサブシステムのうちの少なくとも2つに関して重要度順を判定することを更に含み、エニュメレーションした複数のサブシステムのうちの少なくとも2つを順番にブートすることが、判定した重要度順に従って発生する。
第4の態様では、サブシステムの個別のリセット及び回復を提供するための方法が開示される。一実施形態では、本方法は、エンドポイントに対するメモリマップトインタフェースを確立することであって、メモリマップトインタフェースが、複数のサブシステムに対応する複数のメモリ領域を含む、ことと、複数のサブシステムの第1のサブシステム内でエラーを検出したこと応じて、対応する第1のメモリ領域内のリセットアドレスに書き込むことと、書き込みに応じて、第1のサブシステムをブートすることと、検出されたエラーに対応する診断情報を回復することと、を含む。
一変形では、本方法は、第1のサブシステム内のエラーを検出したことに応じてループ命令を実行することであって、ループ命令によって診断情報を回復できる、ことを更に含む。
別の変形では、本方法は、エラーの検出に応じて、複数のメモリ領域のうちのあるメモリ領域のスナップショットを収集することを更に含む。
また別の変形では、エンドポイントは、複数の機能を含み、機能のそれぞれが、複数のサブシステムのうちの所与の1つに対応し、本方法が、複数の機能のうちの機能に対する機能レベルリセットを発行することを更に含む。
また別の変形では、複数の機能のうちの機能に対する機能レベルリセットの発行が、複数の機能のうちの機能に関連付けられた対応するサブシステムをリセットすることを更に含む。
また別の変形では、第1のサブシステムのブートが、複数のサブシステムのうちの他のサブシステムのブートを必要とすることなく発生する。
第5の態様では、コンピュータ化装置が開示される。一実施形態では、コンピュータ化装置は、ルートコンプレックスを含むホスト処理装置と、エンドポイント装置を含む周辺装置であって、エンドポイント装置が、複数の機能を含み、複数の機能のそれぞれが、複数のサブシステムのそれぞれのサブシステムと接続される、周辺装置と、ルートコンプレックスとエンドポイント装置との間の通信リンクと、を備える。
一変形では、複数のサブシステムのそれぞれが、複数のサブシステムのうちの他のサブシステムとは別個の電力管理を含む。
別の変形では、ホスト処理装置は、複数のサブシステムとは別個のホスト電力管理を含み、通信リンクは、ホスト処理装置及び複数のサブシステムとは別個のリンク電力管理を含む。
また別の変形では、複数のサブシステムのうちの1つが、ワイヤレスローカルエリアネットワーク(WLAN)サブシステムを含み、WLANサブシステムは、複数のサブシステムのうちの他のサブシステムのウェイクアップを必要とせずに、近くのビーコンをスキャンできる。
また別の変形では、WLANサブシステムは、通信リンク又はホスト処理装置のいずれのウェイクアップも必要とせずに、近くのビーコンをスキャンできる。
また別の変形では、複数のサブシステムのうちの1つは、セルラー方式のサブシステムを含み、セルラー方式のサブシステムは、サブシステムのうちの他のサブシステムとホスト処理装置と通信リンクとのうちの1つ以上に電力供給せずに、モバイル管理更新中にセルラー方式のネットワークに接続するように構成される。
第2の実施形態では、コンピュータ化装置は、ルートコンプレックスを含むホスト処理装置と、エンドポイント装置を含む周辺装置であって、エンドポイント装置が、メモリマップトインタフェース内に配置された複数の機能を含み、複数の機能のそれぞれが、複数のサブシステムのそれぞれのサブシステムに接続される、周辺装置と、ルートコンプレックスとエンドポイント装置との間の通信リンクと、を備える。ホスト処理装置は、上記1つのサブシステムに電力を供給してアクセスを処理するための動作状態にすることを必要とせずに、メモリマップトインタフェースを介して、複数のサブシステムのうちの1つに関連付けられたサブシステムレジスタにアクセスするように更に構成される。
一変形では、複数のサブシステムのそれぞれは、メモリマップトインタフェース内に対応するアクセス空間を含み、複数のサブシステムのそれぞれは、メモリマップトインタフェース内の対応するアクセス空間だけにアクセスし得る。
別の変形では、ルートコンプレックスは、複数の制御レジスタを更に含み、ホスト処理装置は、通信リンクがより低い電力状態にある間、複数の制御レジスタの少なくとも一部分に対して読み出す又は書き込むように更に構成される。
また別の変形では、ホスト処理装置は、通信リンクがより低い電力状態にある場合、通信リンク機能内のメモリロケーションにアクセスする命令を実行し、より低い電力状態から通信リンクをウェイクアップし、メモリマップトインタフェース内のメモリ空間であって、メモリ空間が通信リンクに関連付けられる、メモリ空間にアクセスする、ように更に構成される。
また別の変形では、ホスト処理装置は、サブシステムレジスタのアクセスの後に、上記1つのサブシステムをウェイクアップするように更に構成される。
また別の変形では、上記1つのサブシステムがセルラー方式のサブシステムを含み、ホスト処理装置が、セルラー方式のサブシステムをウェイクアップせずに、エンドポイント装置内においてセルラー機能を問い合わせるように更に構成される。
第3の実施形態では、コンピュータ化装置は、ルートコンプレックスを含むホスト処理装置と、エンドポイント装置を含む周辺装置であって、エンドポイント装置が、複数の機能を含み、複数の機能のそれぞれが、複数のサブシステムのそれぞれのサブシステムに接続される、周辺装置と、ルートコンプレックスとエンドポイント装置との間の通信リンクと、を備える。ホスト処理装置は、複数のサブシステムのそれぞれを順番にブートするように構成される。
一変形では、ホスト処理装置は、複数のサブシステムのうちの1つをブートプロセスから枝刈りするように更に構成される。
別の変形では、複数のサブシステムのうちの1つをブートプロセスから枝刈りすることは、複数のサブシステムのそれぞれのブートと比べて、コンピュータ化装置の電力消費を低減するように構成される。
また別の変形では、エンドポイント装置は、複数のサブシステムのいずれの動作ステータスにも関わらず、電力供給されるように構成される。
また別の変形では、ホスト処理装置法は、複数のサブシステムのブートシーケンスに関して重要度順を判定し、コンピュータ化装置は、判定した重要度順に従って、複数のサブシステムのそれぞれを順番にブートするように更に構成される。
また別の変形では、ホスト処理装置は、複数の機能のうちの機能に対して機能レベルリセットを発行するように更に構成される。
また別の変形では、複数の機能のうちの上記機能に対する機能レベルリセットの発行が、上記機能に関連付けられた対応するサブシステムをリセットするように更に構成される。
第6の態様では、電子デバイスにおいて使用される周辺処理装置が開示される。一実施形態では、周辺処理装置は、エンドポイント装置であって、エンドポイント装置が、複数の機能を含み、複数の機能のそれぞれが、周辺処理装置のための複数のサブシステムのそれぞれのサブシステムと接続される。複数のサブシステムのそれぞれが、複数のサブシステムのうちの他のサブシステムに対して独立な電力管理ステートマシンを含む。
一変形では、複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンは、アクティブ状態にある間にホスト処理装置へスリープモード要求を送信し、スリープモード要求の送信の後に、スリープ待機状態に移行し、周辺装置スリープ制御レジスタに対する更新であって、ホスト処理装置によって開始される更新を検出し、検出した、周辺装置スリープ制御レジスタに対する更新に応じて、スリープ待機状態からスリープ状態に移行する、ように更に構成される。
別の変形では、複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンは、ホスト処理装置がなんらかの保留中のデータトランザクションを有しているかどうかを確認し、保留中のデータトランザクションがある場合、第1の独立な電力管理ステートマシンをスリープ状態からアクティブ状態へ遷移させるために、ウェイクアッププロセスを開始し、アクティブ待機状態に移行し、ホスト処理装置による周辺装置スリープ制御レジスタに対する更新を検出すると、アクティブ待機状態からアクティブ状態に移行する、ように更に構成される。
また別の変形では、複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンは、ホスト処理装置からホストスリープ移行メッセージを受信し、受信したホストスリープ移行メッセージに応じて、複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンをサスペンドし、第1の独立な電力管理ステートマシンのサスペンドの後に、すべての保留中の転送記述子を処理する、ように更に構成される。
また別の変形では、複数のサブシステムのうちの他のサブシステムが、ホスト処理装置からホストスリープ移行メッセージを受信するように更に構成される。
また別の変形では、第1の独立な電力管理ステートマシンは、すべての保留中の転送記述子の処理の後に、アクティブ状態からスリープ状態へ遷移するように更に構成される。
また別の変形では、複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンは、ホスト処理装置のためのウェイクアップ要求の発行により、ホスト処理装置との通信を再確立するように更に構成される。
第7の態様では、電子デバイスにおいて使用するためのホスト処理装置が開示される。一実施形態では、ホスト処理装置は、エンドポイント装置に対するメモリマップトインタフェースを確立するように構成されたロジックと、メモリマップトインタフェースを介して、対応する少なくとも1つのサブシステムの動作ステータスとは独立に、複数のサブシステムレジスタのうちの少なくとも1つにアクセスするように構成されたロジックと、を更に含む。
一変形では、メモリマップトインタフェースを介して、複数のサブシステムレジスタのうちの少なくとも1つにアクセスするように構成されたロジックが、複数のサブシステムレジスタのうちの1つに関連付けられたレジスタを読み出すように構成されたロジックを更に含む。
別の変形では、メモリマップトインタフェースを介して、複数のサブシステムレジスタのうちの少なくとも1つにアクセスするように構成されたロジックが、複数のサブシステムレジスタのうちの1つに関連付けられたレジスタに書き込むように構成されたロジックを更に含む。
また別の変形では、アクセスするように構成されたロジックは、ペリフェラルコンポーネントインターコネクトエクスプレス(PCIe)機能内のメモリロケーションにアクセスする命令を実行し、PCIe通信リンクをウェイクアップし、メモリマップトインタフェース内のメモリ空間であって、メモリ空間がPCIe通信リンクに関連付けられる、メモリ空間にアクセスする、ように更に構成される。
また別の変形では、ホスト処理装置は、メモリ空間にアクセスした後に、対応する少なくとも1つのサブシステムをウェイクアップするように構成されたロジックを更に含む。
また別の変形では、対応する少なくとも1つのサブシステムがセルラー方式のサブシステムを含み、ホスト処理装置が、セルラー方式のサブシステムをウェイクアップせずに、エンドポイント装置内においてセルラー機能を問い合わせるように構成されたロジックを更に含む。
また別の変形では、ホスト処理装置は、メモリマップトインタフェースを介して、複数のサブシステムの動作ステータスとは独立に、複数のサブシステムレジスタのそれぞれにアクセスするように構成されたロジックを更に含む。
第8の態様では、非一時的コンピュータ可読装置もまた開示される。一実施形態では、非一時的コンピュータ可読装置は、プロセッサ装置によって実行された場合にプロセッサ装置に上述の開示された様々な方法を実行させる命令を含む。
一変形では、命令は、プロセッサによって実行しされた場合に、プロセッサ装置に別々の電力ドメイン及び/又はクロックドメインを独立に管理させるように構成される。例えば、一実装では、命令は、実行された場合、開示された様々なサブシステムに対して、装置に選択的にブート、リセット及び/又はエラーをトラップさせる。
第9の態様では、コンピュータ化ロジックが開示される。一実施形態では、コンピュータ化ロジックは、上述の様々な方法を実行するように構成される。
一変形では、ロジックは、ハードウェア(例えば、ゲートロジック)、ファームウェア及び/又は装置に常駐するソフトウェアのうちの少なくとも1つを含む。
第10の態様では、多機能装置のためのメモリマップトバスアーキテクチャが開示される。一実施形態では、メモリマップトバスアーキテクチャは、PCIe技術に基づくものであり、メモリマップトバスアーキテクチャは、ホストプロセッサ、セルラー方式のモデム、ワイヤレスローカルエリアネットワークモデム及びパーソナルエリアネットワークモデムにサービスを提供する。
本開示の他の特徴及び利点は、添付図面、及び以下に記載されるような例示的実施形態の詳細な説明を参照することで、当業者によって即座に認識されるであろう。
メモリマップトバスアーキテクチャのためのある従来技術システムの論理ブロック図である。 本明細書で説明される原理に係る、独立な電力ドメイン及びクロックドメインを有するメモリマップトバスアーキテクチャのための1つの例示的なシステムの論理ブロック図である。 本明細書で説明される原理に係る、例示的なPCIeメモリマップトバスの電力管理に有用な、1つの例示的なリンクトレーニングステータスステートマシン(LTSSM)の論理図である。 本明細書で説明される原理に係る、例示的なサブシステムドメインの電力管理に有用な、2つの例示的な電力管理ステートマシンを示す論理図である。 本明細書で説明される原理に係る、例示的なサブシステムがスリープ状態に移行するための1つの例示的な方法の論理ブロック図である。 本明細書で説明される原理に係る、例示的なサブシステムがアクティブ状態に移行するための1つの例示的な方法の論理ブロック図である。 本明細書で説明される様々な原理に合致する、例示的なサブシステムがアクティブ状態サブシステム内のレジスタにアクセスするための1つの例示的な方法の論理ブロック図である。 本明細書で説明される様々な原理に合致する、ホストプロセッサをスリープモードへ遷移させるための1つの例示的な方法の論理ブロック図である。 本明細書で説明される様々な原理に合致する、機能レベルリセット動作のための1つの例示的な方法の論理ブロック図である。 本明細書で説明される様々な原理に合致する、周辺装置リセット動作のための1つの例示的な方法の論理ブロック図である。
すべての図は、2016年に作成され、2017年に最終更新されたものであり、そのすべての著作権はApple Inc.が保持している。
ここで図面を参照するが、全体を通して、同様の番号は同様の部品を指す。
例示的実施形態の詳細な説明
本開示の例示的実施形態を、ここで詳細に説明する。これらの実施形態は、高速モバイルアプリケーションのためのバスアーキテクチャのコンテキストで主に論じられるが、当業者には、本開示がそのように限定されるものではないことが、認識されるであろう。実際、本明細書で説明される原理は、複数の独立なサブシステムをサポートする任意のバスアーキテクチャ、コンポーネント、デバイス及び/又はデバイスのネットワークに有用である。
更に、以下の実施形態は、例えば、専用アドレス空間、電力供給シーケンス、クロッキングの実装、ブートシーケンス、スリープシーケンス、エラートラップ及び/又はリセット処理の特定の実装を説明するが、当業者であれば、以下の説明は、純粋に、本明細書で説明されるより広い原理を説明するためのものであることを容易に理解するはずである。他の実装は、本明細書で提供される説明に合致する、より多数又はより少数の機能、機能の様々な組み合わせ及び/又は機能的違いを有し得る。
本明細書で使用される場合、用語「システム」は、一般的に、かつ限定するものではなく、代わりの論理処理エンティティ及び/又は物理処理エンティティを含む場合も含まない場合もある、任意の独立な論理エンティティ及び/又は物理エンティティを指す。システムの一般的な例としては、例えば、スマートフォン、コンピュータ、ラップトップ、タブレット、「スマート」テレビ及び他のメディア配信レンダリングデバイス、車載インフォテインメント若しくはテレマティクスシステム並びに/又は他の家庭用電子デバイスが挙げられる。
本明細書で使用される場合、用語「サブシステム」は、一般的に、かつ限定するものではなく、予め定められたタスクセットを実行するためにシステムエンティティの指示の下で動作する任意の処理エンティティを指す。サブシステムの一般的な例としては、例えば、セルラー方式のモデム、ワイヤレスローカルエリアネットワーク(WLAN)モデム、パーソナルエリアネットワーク(PAN)モデム、グラフィックプロセッサ、メディアプロセッサ、全地球測位システム(GPS)及び/又は任意の多の汎用若しくは特定用途用の処理エンティティが挙げられる。
本明細書で使用される場合、用語「機能」は、一般的に、かつ限定するものではなく、サブシステムに対するメモリマップト接続に関連付けられた処理及び/又はメモリリソースを指す。例示的なPCIe機能としては、例えば、サブシステム固有のレジスタ、メモリマップト入出力(MMIO)、構成空間、内部バス構造及び/又は他の特殊レジスタ又はメモリが挙げられ得る。一部のケースでは、構成空間は、汎用化/標準化され得る、プロプラエタリ若しくは他の方法でカスタマイズされ得る(例えば、ベンダー独自、アプリケーション固有、デバイス固有又は他の特定のスキームに従って構成される)、又はこれらの組み合わせであり得る。
概要
本開示の様々な態様は、電子デバイス内に存在する独立なドメイン内における、サブシステムリソース(クロック、電力及びリセットなど)の分離を対象としている。例えば、1つの例示的な実施形態では、システムの各サブシステムは、専用のクロックドメインを有する。特に、周辺装置のチップセットハードウェアは、それぞれが独立なクロックドメインで動作する複数のサブシステムから構成され得る。
更に、各サブシステムは、独立な電力ドメインに基づいて電力供給され得る。各電力ドメインは、独立に電力供給/遮断され得る、又は様々な電力節約モードに置かれ得、電力管理用に区別されるステートマシンを有し得る。独立な電力ドメインは、他の電力ドメインのステートマシンに関わらず電力供給され得る。
別の態様では、各サブシステムは、共通のメモリマップトバス機能に接続され得る。1つの例示的な実施形態では、共通のメモリマップトバス機能及びサブシステムは、独立なドメイン内で動作し、このことにより、機能及び対応するサブシステムは、メモリマップトバスの電力状態全体、他のサブシステムの電力状態及び/又はホストシステムの電力状態に関わらず任意の電力状態に移行することができる。
本明細書で説明される一部の変形では、サブシステム又はメモリマップトバスは、動作考慮事項に基づいてサブシステムリソースを管理し得る(例えば、ホストアプリケーションが低レイテンシ応答を必要とする場合、対応するサブシステムがメモリマップトバスが低電力モードに移行するのを防ぐ)。別のこのような例では、電池消費によって、同時に電力供給できるサブシステムの数が制限され得る。よって、競合を解決する及び/又はリソースを割り当てるために、優先順位付けスキームが使用され得る。
本開示の例示的な実装は、システムの電力消費全体を管理するホストを含み、これにより、ホストプロセッサは、サブシステムをウェイク状態に保つ、又はサブシステムを強制的にスリープさせるなどの様々なサブシステムに対する制御を行うことができる。ただし、本明細書で開示される一部の変形は、そのような機能を周辺装置にも提供する(又は代替的に、周辺装置が、例えばシステムの電力消費全体を排他的に管理し得る)。例えば、一部のケースでは、周辺装置はまた、ホストがスリープ状態にならないようにするなど、ホスト(又はホストの一部)に対する様々な度合いの制御を行うように構成され得る。
本明細書で説明される1つの例示的な実施形態では、各サブシステムに対するスリープシーケンスは、他のサブシステムから分離される。ただし、他の実施形態は、部分的に又は完全に調整したサブシステム電力管理を提供する。
PCIeベースのシステム
歴史的に、モバイルデバイスでは、消費者の好みによってアグレッシブなフォームファクタ制約条件に至ってきた。従来の設計は、ポートマッピングされたはるかに小さいピンインタフェースに頼っていた(ユニバーサルシリアルバス(USB)など)。これらの技術は小型であるが、低転送レート、パケット処理オーバーヘッド及び/又は使用時の過度の電力消費もまた被る。
余談であるが、いわゆる「ポートマップトアクセス」ホストプロセッサは、ホストプロセッサ自体のメモリ及びレジスタへアクセスするために、ネイティブな命令セットと、「ポート」を介して外部サブシステムと通信するための第2の命令セットと、を使用する。トランザクションされるデータは、中間的な通信フォーマットで送信するために、フォーマット(例えば、パケット化、シリアル化)される。中間的な通信フォーマットは、ホストメモリからサブシステムメモリを分離する、すなわち、各周辺装置サブシステムは、ホストのアドレス空間から分離した別個のアドレス空間を有する。例えば、パケットプロトコル(USBなど)は、トランザクションのオーバーヘッドを追加する(例えば、USBパイプ、エンドポイント識別情報など)。
対照的に、いわゆる「メモリマップトアクセス」は、同じアドレスバスを使用して、ホスト及び周辺装置サブシステムの両方についてアドレス指定する、換言すると、周辺装置サブシステムのメモリ及びレジスタは、ホストによって直接アクセスされ、逆の場合も同じである。例えば、あるアドレスにホストがアクセスする場合、ホストのメモリ又は周辺装置のメモリ及び/若しくはレジスタのいずれかにアクセスするために、同じアドレスフォーマットが使用され得る。各周辺装置サブシステムは、アドレスバスを監視し、そのサブシステムに割り当てられたアドレスへのあらゆるホストアクセスに応答する。
PCIeは、メモリマップトバス技術の1つの実装である。他のバス技術と比較した場合、残念ながら、PCIeは、(40本近くのピンを有する)大型のバスインタフェースを必要とし、プリント配線基板(PCB)の「占有面積」に対して不釣り合いなほどに大きい「設置面積」を有する。そのため、PCIeのサイズのせいで、歴史的に、モバイルアプリケーションにあまり調和しなかった(モバイルアプリケーションは、比較的小さいフォームファクタを有する)。
しかしながら、ワイヤレス技術における近年の進歩によって、ワイヤレスアプリケーションのための「データパイプ」の無線帯域幅が増加した。一部のケースでは、ワイヤレスネットワーク速度が、ホストデバイスのより低速のバス技術(例えば、USB)をしのぐ場合もある。同様に、顧客の好みが、(より大型の画面サイズの普及に少なからず起因して)より大型のモバイルデバイスに適合してきた。これらの理由で、モバイルアプリケーションに関して、PCIeへの関心が再活性化した。初期の設計(本明細書の譲受人が製造したものなど)は、メモリマップトバスインタフェースに基づく、アプリケーションプロセッサと周辺装置チップセットとの間の、より速い通信を必要とする。
ここで図1を参照すると、一般的な従来技術のシステム100が図示、説明されている。図示のシステムは、PCIeリンク106Aを介してセルラー方式のサブシステム104Aと通信し、かつPCIeリンク106Bを介してWLANサブシステム104Bと通信する、ホスト102を示している。加えて、ホストは、汎用非同期送受信機(UART)リンク108を介して、PANサブシステム104C(例えば、Bluetooth(登録商標)サブシステム)を制御する。PCIeリンクのそれぞれは、それぞれのPCIeルートコンプレックス(RC)(110A、110B)及び対応するそれぞれのエンドポイント(EP)(112A、112B)によって管理される。
通常の動作中、デバイスのユーザは、電話をかける、インターネットにアクセスする、又は例えばセルラー方式のネットワークへのデータ接続のために、他の方法でユーザ駆動の要求を実行することができる。これに応じて、セルラー方式のサブシステム104Aは、接続されたモードに移行してユーザの声及びデータを送受信し、それ以外は、セルラー方式のサブシステム104Aは、その時間の大半をアイドルモードで電源を下げた状態で過ごして、電力を節約する。加えて、セルラー方式のサブシステム104Aは、しばしば、モビリティ管理のためにセルラー方式のネットワークに再接続して、着信を確認する、及び/又は他の自律的なネットワーク管理タスクを実行する。自律的な(非ユーザ起動の)アクションは、一般的に、ユーザに気づかれずにバックグラウンドで発生する。
同様に、WLANサブシステム104Bは、その近くのネットワークを連続的にスキャンして、例えば実現し得る最善のデータ接続を識別する、及び/又はユーザデータを送受信する。使用されていない場合、WLANサブシステム104Bは、低電力モードに遷移する。
PCIeは、性能を上げるために、及び/又は複数のプロセッサ間の動作を最適化するために、メモリマップトアーキテクチャを合理化するが、空間考慮事項が優先事項のままである。このように、複数のサブシステムをマージして、チップセットの数を少なくし(例えば、単一のチップセット(可能な場合))、アプリケーションプロセッサ上で稼働するソフトウェアスタックの独立性を保ちながら、単一のメモリマップトバスインタフェース上で通信する場合に、利点が存在し得る。残念ながら、既存のPCIe仕様は、エンドポイント設計要件を指定しない。そのため、様々な製造業者が、多くの異なるPCIeサブシステム実装を採用し、それらのうちの多くが合致しない、及び/又は望ましくない。例えば、単一のエンドポイントは、そのサブシステムのすべてをスリープ状態にして得る、及び/又はすべてのサブシステムを一緒にウェイクアップさせ得る。数の独立なサブシステムをサポートするシステム内の例えば、「ウェイク」及び/又は「スリープ」機能のための合致するフレームワークを実装する、改善された解決策が必要とされる。
そのため、本開示は、特に、PCIeインタフェースから電力管理及びクロック機能を分離することを対象とする。本明細書で説明される様々な解決策は、同じPCIeインタフェースを使用して、(それぞれが独立な電力及びクロックを有する)複数のサブシステムをサポートし、それによって、設計設置面積を最小化し得る。換言すると、説明した解決策は、合致するフレームワークに従って電力及びクロック管理機能からメモリマップトバス機能を分けることによって、アグレッシブなフォームファクタ設計においてPCIe様の動作(及びそれに付随する、処理速度及び効率が改善されるという利益)を実現できる。一部の開示される構成では、各PCIeエンドポイントは、複数の専用アドレス空間、電力供給シーケンス、クロッキング実装、ブートシーケンス、スリープシーケンス、エラートラップ機構及び/又はリセット処理部をサポートし得る。
より一般的には、メモリマップトアーキテクチャコンテキストの範囲内における、電力、クロック及び/又は他のリソースドメインの独立な動作のための方法及び装置が提供される。
例示的な装置
上述のように、従来技術のPCIe動作の欠陥に対処するために、本開示の例示的な実施形態は、有利なことに、PCIe技術を使用して、サブシステムに対して異なる電力及びクロックドメインをサポートするための一貫したフレームワークを規定する。
ここで図2を参照すると、1つの例示的なシステム200が図示、説明されている。図示のシステム200は、PCIeリンク206を介して周辺装置204と通信するホスト202を示している。PCIeリンク206は、ホスト202(例えば、ホストプロセッサ装置)のルートコンプレックス(RC)210を周辺装置204(例えば、周辺装置プロセッサ装置)のエンドポイント(EP)212に接続する。図2には単一のRC210を示しているが、本開示の内容を読めば当業者には容易に理解されるように、一部の実装では、複数のRCが利用され得る。EP212は、対応するサブシステムに接続する、いくつかの機能へ更に細分される。図示のように、セルラー方式のサブシステム214Aは、第1の機能208Aを介して接続され、WLANサブシステム214Bは、第2の機能208Bを介して接続され、PANサブシステム214Cは、第3の機能208Cを介して接続される。図2には特定のトポロジを示しているが、本開示の内容を読めば当業者には理解されるように、より多数(又は少数)のサブシステムがシステム200内に存在し得る。
本開示は、後に明らかにする理由のため、ホスト及び周辺装置に関連して説明されるが、ホスト又は周辺装置に関する名称は、以下の説明の簡素化及び/又は明確化のために使用され、既存のホスト又は周辺装置機能を示唆するものではないし、又はそのような役割を入れ替えできないことを示唆するものでもない(例えば、従来の「ホスト」は、少なくとも一部の機能において、周辺装置として機能でき、逆の場合も同じである)ことに留意されたい。更に、本明細書で説明される原理は、明示的に説明したもの以外の追加的な処理チップセット(例えば、追加的なホスト及び/又は追加的な周辺装置)をサポートするために拡張できる。
図2のシステム200のホスト202は、図示の実施形態では中央処理ユニット(CPU)216並びにメモリ管理ユニット(MMU)218を備え、外部メモリ(ダイナミックランダムアクセスメモリ(DRAM)220及び/又はフラッシュ若しくはディスク記憶システムなど)に接続される。図示のサブシステムは、セルラー方式のモデム214A及び対応するCPU 222Aと、WLANモデム214B及び対応するCPU 222Bと、PANモデム214C及び対応するCPU 222Cと、を含み得るが、限定されるものではない。加えて、サブシステムはそれぞれ、1つ以上の外部メモリ224及び/又は内部密結合メモリ(TCM)226にアクセスし得る。
例示的なシステム200は、ホストプロセッサ216、PCIeリンク206(RC 210及びEP 212を含む)及び/又はサブシステムのそれぞれ(214A、214B、214C)について、分離した電力ドメイン及びクロックドメインを有する。本コンテキストで使用される場合、用語「ドメイン」は、独立に自立しており、それ自身の動作に他のサブシステムを必要としないサブシステム内のロジックを指す。ドメインの一般的な例としては、例えば、電力ドメイン、クロックドメイン、リセットドメイン、セキュリティドメイン、処理ドメインを含むが、限定されるものではない。各ドメインが自立しているが、本開示の内容を読めば当業者には容易に理解されるように、通常の動作中、複数のドメインが同時に使用される及び/又は互いに相互作用する場合があり、実際、一部の使用では、複数のドメインを同時に有効にすることが必要とされ得る。
通常の動作中、上記ドメインのそれぞれは、他のドメインのうちの1つ以上と独立に動作し得る。例えば、モビリティ管理の更新中、セルラー方式のサブシステム214Aは、例えば、ホスト202、PCIeリンク206、RC 210、EP 212又は他のサブシステム(214B、214C)に電力供給することなく、セルラー方式のネットワークに接続し得る。同様に、WLANサブシステム214Bは、他のドメインのいずれもウェイクアップすることなく、近くのビーコンをスキャンし得る。
余談であるが、PCIeリンク電力管理は、リンクトレーニングステータスステートマシン(LTSSM)に基づく。このような1つのLTSSM 300を図3に図示する。図示のように、ステートマシン300は、特に、状態L0 302、L0s 304、L1 306及びL2 308を含む。
L0 302は、物理バスインタフェースの動作状態であり、データ及び制御パケットが送受信され得る。
L0s 304は、物理バスインタフェースが回復状態を経ずに電力節約モードに迅速に移行し、そこから回復できるようにする第1の節電状態である。
L1 306は、(回復状態に起因する)追加的な再開レイテンシを犠牲にして、L0s 304よりも更に節電できる第2の節電状態である。1つの例示的な実施形態では、L1 306は、例えば、サブ状態L1.1及びL1.2へ更に細分され得る。その1つの実装では、L1.1によって、送受信回路及び関連付けられた位相同期ループ(PLL)の電力供給をオフにしながら、ポート回路のコモンモード電圧を維持できる。L1.2は、送受信回路及びPLLに加えてコモンモード電圧の電力供給をオフにする。
最後に、L2 308は、大半の機能の電源を切ることによって積極的に節電する第3の節電状態である。
PCIeは、接続されたサブシステムに特定の電力管理ステートマシンを要求しないが、図4は、1つのそのような実装の代表である。図示のように、図4のステートマシン は、一緒に電力を管理するホストプロセッサ及び周辺装置プロセッサにおける、一対の独立なステートマシンを示す。以下の説明は、上記一対のステートマシンに関連して提示されるが、単一のホスト及び複数のサブシステムを有するシステムは、各サブシステムについて、ホストステートマシンの1つのインスタンス及びサブシステムステートマシンの1つのインスタンスを有し得ることを理解されたい。各サブシステムのステートマシンは、分離して、対応するホストステートマシンと相互作用する。以下の説明は、単一のホストステートマシンと単一のサブシステムステートマシンとの間の相互作用を説明するが、以下の説明が簡素化の目的による、単により広い原理の説明のためのものであり、以下の原理が、複数の独立なサブシステムステートマシン(例えば、図2参照)(又は複数のホストステートマシン)が存在する実装に適用されることを理解されたい。
更に、当業者は、本開示を読めば、本明細書で説明される原理を適用して、例えば、サブシステム間電力シーケンス又はサブシステム−ホスト間電力シーケンスに適合させ得る。
通常の動作中、周辺装置プロセッサ(例えば、所与のそれぞれのサブシステム214A、214B、214Cのための機能208A、208B、208C)は、アクティブ状態402において、メモリマップトアドレス(例えば、周辺装置スリープ通知レジスタ)又は他のメッセージング機構(例えば、GPIO、帯域外シグナリング、ドアベルなど)を介して、スリープモード要求を送信し得る。図4Aの動作422も参照されたい。例えば、周辺装置プロセッサは、複数のサブシステムを含み、複数のサブシステムのうちの1つのためのスリープモード要求を送信し得る。その後、周辺装置プロセッサ(例えば、所与のそれぞれのサブシステム214A、214B、214Cのための機能208A、208B、208C)は、(例えば、複数のサブシステムのうちの1つのための)スリープ待機状態404に移行する。図4Aの動作424も参照されたい。スリープ待機状態404にある間に、周辺装置プロセッサ(例えば、所与のそれぞれのサブシステム214A、214B、214Cのための機能208A、208B、208C)は、休止しており、いかなるデータ転送又はメッセージの開始も完了もしない。その後、周辺装置プロセッサ(例えば、所与のそれぞれのサブシステム214A、214B、214Cのための機能208A、208B、208C)は、ホストアクションのためのメモリマップトアドレス(例えば、周辺装置スリープ制御レジスタ)を監視する。図4Aの動作426も参照されたい。一部の実施形態では、ウェイクアッププロシージャは、(ウェイクアップをトリガーする)帯域外GPIOを使用することによって開始され得、ウェイクアッププロシージャは、専用帯域内MMIOドアベルを介してトリガーされ得る。
ホストが(例えば、アクティブモード412にある間に)スリープモード要求を検出すると、ホストプロセッサは、例えば、複数のサブシステムのうちの1つのために、周辺装置スリープ制御レジスタを「スリープモード」に更新し得る。図4Aの動作428及び430も参照されたい。ホストプロセッサはまた、スリープ状態416に移行し得る。周辺装置プロセッサ(例えば、所与のそれぞれのサブシステム214A、214B、214Cのための機能208A、208B、208C)は、例えば、複数のサブシステムのうちの1つための、周辺装置スリープ制御レジスタにおける更新を検出し、スリープ状態406に移行する。図4Aの動作432及び434も参照されたい。
サブシステムのうちの1つ以上がスリープ状態406にある間に、周辺装置プロセッサは、ホストプロセッサに、1つ以上のサブシステムに対する保留中の転送又はインフライトのメッセージがあるかどうかを確認する。図4Bの動作442も参照されたい。あれば、次いで、周辺装置プロセッサは、「ウェイクアップ」プロセスを開始して、アクティブ状態402へ遷移する。同様に、周辺装置プロセッサが通信リンクにアクセスする必要がある場合、通信リンクがウェイクアップする。
ウェイクアップするために、周辺装置プロセッサは、例えば、周辺装置スリープ通知レジスタを介してアクティブモード要求を送信し、アクティブ待機状態408に移行する。図4Bの動作444及び446も参照されたい。周辺装置プロセッサは、その後すぐに、データ転送のために通信リンクにアクセスでき、しかしながら、周辺装置プロセッサにスリープに移行することができない又はスリープモード要求を送信できないとメッセージを送信する(ステートマシンの競合状態を防ぐために)。図4Bの動作448も参照されたい。
アクティブモード要求に応じて、ホストは、例えば、周辺装置スリープ制御レジスタを「アクティブモード」に更新し、アクティブ状態412に移行する。図4Bの動作450も参照されたい。周辺装置プロセッサは、周辺装置スリープ制御レジスタにおいてホストの更新を確認した場合、アクティブ状態402に移行する。図4Bの動作452も参照されたい。
スリーププロセスを開始したホストは同様である(すなわち、ホストの電力管理ステートマシンは、周辺装置サブシステム電力管理ステートマシンと対称であるとみなされ得る)。スリープに移行するホストの準備ができた場合、ホストは、ホストスリープ移行メッセージを介して周辺装置プロセッサに通知する(そして、スリープ待機状態414に遷移する)。ホストスリープ移行メッセージを確認すると、周辺装置プロセッサは、それ自体のスリープ状態マシンを一時サスペンドし、すべての保留中の転送記述子(TD)を処理する。以下に詳述するように、ホストは、ホストがスリープ状態416に遷移し得る前に、複数のサブシステムに通知する必要があり得る。
スリープメッセージの完了に応じて、ホストは、(スリープ待機状態414から)スリープモードに遷移し得、その後、周辺装置プロセッサはまた、スリープモードに独立に移行し得る。周辺装置プロセッサがホストとの通信を再確立する必要がある場合、周辺装置プロセッサは、例えば、ウェイクシーケンスをトリガーする帯域外汎用入出力(GPIO)を介して、ウェイクアップするようにホストに要求できる。ホストは、動作を再初期化するなどのために、アクティブ待機状態418に遷移する。ホストがアクティブ待機状態418を成功裏に出て、ウェイクアップした(アクティブ状態412にある)ならば、ホストは、ホストスリープ離脱メッセージによって周辺装置を更新する。
周辺装置プロセッサを再び参照すると、周辺装置プロセッサ転送記述子リング(TDR)処理が完了したならば、周辺装置プロセッサは、スリープメッセージに対する完了/肯定応答を送信する。その後、周辺装置プロセッサは、周辺装置プロセッサがホストプロセッサから(メッセージリング(MR)を介して受信される)ホストスリープ離脱メッセージを受信するまで、それ以上のTDRを受け付けない。周辺装置は、データ転送を再開する前に、ホストスリープ離脱メッセージを肯定応答/完了する。
上述の説明は、1つの例示的なステートマシンを純粋に説明するためのものである。他の変形は、本願の権利者が所有し、かつ同時係属中である、「Methods and Apparatus for Managing Power with an Inter-Processor Communication Link Between Independently Operable Processors」と題する、2015年10月8日に出願の米国特許出願第14/879027号に説明されており、その全体が、参照により既に本明細書に組み込まれている。
前に述べたように、説明される実施形態の各サブシステムは、その対応するサブシステム電力管理ステートマシンのそれ自体の独立なインスタンスを有する。図2を再び参照すると、セルラー方式のサブシステム214Aは、電力管理ステートマシンの第1のインスタンスを有し、WLANサブシステム214Bは、電力管理ステートマシンの第2のインスタンスを有し、PANサブシステム214Cは、電力管理ステートマシンの第3のインスタンスを有する。上述のサブシステムの電力管理ステートマシンは純粋に説明するためのものであり、様々な他の設計考慮事項に適合するために、当業者によって他のステートマシンを置き換えることができる(又は上述のものと組み合わせて使用できる)ことが理解されよう。例えば、異なるアプリケーション及び異なるコンポーネントは、それらの機能、相対的な電力消費又は更に他の因子に応じて、異なる電力管理ステートマシンを有し得る。
1つの例示的な実施形態では、ドメインは、制限なく他のドメインと同時に動作し得る(例えば、1つ以上のドメインが、同じ時間に電力供給される)。他の実施形態では、ドメインの独立な動作は、優先する電力消費、熱放散及び/又は干渉の制約の影響を受け得る。例えば、特定のアグレッシブに設計された製品は、すべてのドメインに同時に十分に電力供給できない場合もある、又はすべてのドメインに電力供給する場合、全体的な電池寿命の制約を満たすことができない場合もある。更に他の製品は、熱放散及び/又は(クロックの差に起因する)不要な電磁ノイズフロアの増大が問題となり得るほどアグレッシブな寸法にされる場合もある。そのため、本明細書で企図されるインテリジェント電力管理の変形は、優先的に、そのようなデバイス制限に対応するようにドメインを有効化又は無効化し得る(例えば、ドメイン、1つ以上のユーザの好み、使用状況及び/又は他の選択情報の優先順位による重み付けに基づく)。
1つの例示的な実施形態では、本開示のPCIeインタフェースはまた、制限なしに、独立に動作可能である。例えば、PCIeインタフェースは、ホストプロセッサ216及び周辺装置サブシステム214A、214B、214Cの両方と異なる、それ自体の電力ドメイン及びクロックドメインを有する。他のサブシステムと同様に、本実施形態におけるPCIeサブシステムは、他のサブシステムとは独立に、節電モードに移行及び/又は節電モードから離脱できる。このようなシステムは、ホスト、周辺装置又はサブシステムの動作を必要とせずに、「ハウスキーピング」タイプの動作(例えば、ステータス更新、タイマーの設定/リセット及び/又は他の自律的なアクセス)を有効化できる。
動作中、例示的な実施形態の電力管理ステートマシンのそれぞれは、独立に動作する。例えば、セルラー方式のサブシステム214Aは、他のサブシステムがスリープ状態であるままで、セルラー方式のネットワーク移動管理エンティティ(MME)と通信し得る。セルラー方式のサブシステムがホストプロセッサを更新する必要がある場合、サブシステムは、ホストプロセッサ216を中断して、PCIeリンクをウェイクアップする。これに応じて、PCIe LTSSMは、そのL0状態302へ遷移して、ホストプロセッサ216への通信の橋渡しをする(ホストプロセッサ216はまた、応じて、既にアクティブでなければ、そのアクティブ状態へ遷移する)。トランザクションが終わったならば、セルラー方式のサブシステムは、そのそれぞれのスリープ状態に再び戻ることができる。
加えて、PCIeサブシステムがサブシステムのそれぞれについて機能情報を記憶することから、ホストによるPCIeレジスタアクセスは、サブシステム(214A、214B、214C)に電源を入れる及び/又はいわゆる「バックプレーンアクセス」を開始する必要なく、EP 212又は機能(208A、208B、208C)によって完了する。いわゆるバックプレーンアクセスは、例えば、周辺装置内部相互接続、バス並びに/又は共有及び/若しくは非共有リソースなどの内部アクセス機構を必要とするアクセスを一般的に指す。より直接的には、ホストは、メモリアクセスを処理するためにサブシステムに電源を入れて動作状態とする必要なく、サブシステムのそれぞれについてPCIe制御空間及びMMIOレジスタにアクセスできる。例えば、ホストは、対応するサブシステムをウェイクアップせずに、機能のうちの様々な機能に対して読み出す/書き込むことができる。例えば、RC 210は、セルラー方式のサブシステム214Aをウェイクアップすることなく、EP 212にセルラー機能208Aを問い合わせることができる。同様に、PCIeリンクは、サブシステムの電源を切らずに、より低い電力モード(例えば、L0s、L1.1及び/又はL1.2など)へ遷移できる。
例示的な多機能EP 212は、追加的に、接続されたサブシステム214A、214B及び214Cへのアクセス及び/又は接続されたサブシステム214A、214B及び214Cからのアクセスをインテリジェントに管理する必要があり得る。例えば、1つの例示的な実施形態では、各サブシステムは、それ自体の動作ドメイン(例えば、電力ドメイン及びクロックドメイン)内で別々にアドレス指定可能である。換言すると、PCIeベースアドレスレジスタ(BAR)を介して参照される各メモリマップト入出力(MMIO)領域は、単一のサブシステムに直接対応し、かつ単一のサブシステムに対して排他的に使用される。(サブシステムに対応する)各BARは、一意のバッキングメモリアドレスのセットを参照する又は「指し示す」。加えて、各サブシステムは、指定された空間又は領域にのみ(例えば、MMIO及びそれ自体のMMIO領域内の構成空間にのみ)アクセスし得るように「サンドボックス化」され得る。一部の変形では、このことは、ハードウェア保護(例えば、論理アドレスデコーダ、マルチプレクサ)及び/又はソフトウェア保護(例えば、アドレストラップ、ウィンドウイング)で強化され得る。
一部の実施形態では、PCIeドメインは、RC 210、PCIe物理リンク206及びEP 212について更に細分される。このように細分することにより、RC 210及び/又はEP 212までも電源を切ることなく、PCIeリンク206の電源を下げることができる。例えば、一部の変形によって、EP 212は、リンク206がディープスリープ状態にある間に、サブシステム(214A、214B、214C)に対応する各機能(208A、208B、208C)のための制御レジスタ空間を更新し続けることを可能とすることができる。換言すると、PCIeのEP 212に常駐するPCIe構成レジスタ及びMMIOレジスタは、いかなるバックプレーンアクセスも必要としない、又はサブシステムをクロッキングする若しくはサブシステムに電源を入れることを必要としない。同様に、ホストプロセッサ216は、リンク206又はEP 212を有効化せずに、RC 210制御レジスタに対して読み出す/書き込むことができる。このような機能は、一部の条件下において、かなりの節電のために、全周辺装置204が電力未供給モードになった(例えば、VDD及びグローバルクロックの電源を切った)が、ホストプロセッサがRC 210制御レジスタへのアクセスを必要とする場合に、特に有用である。通信リンク206をアクティブ化すると、ホスト(及び周辺装置)は、それぞれのレジスタに対する更新を監視し、これに応答できる。
特定の状況下において、ホストは(RCを介して)、EP内の対応するMMIO領域に書き込むことによって、サブシステムをウェイクアップできる。例えば、スリープ状態のサブシステムに対応する特定のMMIO領域及び/又は関連付けられた構成レジスタにホストがアクセスする場合、EPは、サブシステムを「ウェイクアップ」し、に対する割り込みをトリガーする。同様に、各サブシステムは、例えば、基準クロックを必要とすることなく、及び/又はPCIeリンク電力状態を乱すことなく(例えば、L0 302、L0s 304、L1 306及びL2 308から出る必要はない)、PCIeリンク状態に関わらず、対応するMMIO及び構成領域におけるそれ自体のサンドボックス化レジスタの内容を読み書きできる。
例示的動作−
従来技術のPCIeハードウェアバス実装との物理的な違いに加えて、本開示の例示的な実施形態は、独立なサブシステムドメイン動作に適合するように、PCIeバスプロトコルのための動作フレームワークを規定する。
ルートコンプレックス及びエンドポイント動作に対する例示的な修正
本明細書で説明される一部の開示される実施形態は、RC、PCIeリンク、EP及び任意の取り付けられたサブシステムの間のように、電力ドメイン及びクロックドメインを分離してある。動作を個々の動作のための異なるドメインへ分離すること加えて、このようなケースでは、エンティティのそれぞれが、他のエンティティの現在の電力状態を乱さずに、様々な共有データ構造にアクセスできる。例えば、RCは、サブシステムのいずれも不必要にウェイクアップすることなく、EP内の機能レジスタ及びメモリの一部にアクセスでき、同様に、各サブシステムは、ホストプロセッサをウェイクアップせずに、RCレジスタにアクセスし得る。加えて、各サブシステムはまた、PCIeリンクをウェイクアップせずに、その対応するエンドポイント、機能及び/又はMMIOレジスタにアクセスし得る。本明細書で説明される様々な改良によって独立なアクセスが可能になることが理解されるが、既存の技術が維持され得ることを当業者であれば容易に理解するはずである。例えば、関連付けられたサブシステムをウェイクアップするアクセスもまた可能であり得る(例えば、レガシー機能及び/又は既存の使用事例をサポートするため)。
図5は、本開示に係る、サブシステム内のレジスタにアクセスするための1つの例示的な方法を示す。
本方法500のステップ502において、ホストプロセッサは、PCIe機能(例えば、図2の機能208A、208B及び208C)内のメモリロケーションにアクセスする命令を実行する。前に述べたように、メモリマップトアクセスは、メモリロケーションへネイティブに(すなわち、中間的なポートマップト通信フォーマットに必要なオーバーヘッドを必要とせずに)変換される。アクセスの一般的な例としては、リード、バーストリード、ライト、バーストライト、ポステッドライト及び/又はセット/クリアを含むが、限定するものではない。メモリロケーションは、任意の帯域内アドレス指定可能メモリロケーションを含み得る(レジスタ、メモリ及び/又は他のデータ構造を含み得るが、限定するものではない)。
本方法500のステップ504において、ホストプロセッサアクセスは、RCへマップし、このことにより、一部の実装では、PCIeリンクをL0状態302からウェイクアップするようにトリガーされる。一部の実装では、PCIeリンクは、L0状態302に既に存在し得る。既存の従来技術のPCIe動作では、ルートコンプレックス(RC)及びエンドポイント(EP)が、3つの信号、すなわち、PERST#(PCIeリセット)、WAKE#(ウェイク機能については後で詳述する)及びCLKREQ#(クロック要求)を介してリンク動作を調整する。PERST#は、RCによって駆動され、(ディアサートされた場合)電力が安定しており、リンクが有効化され得ることを表し、CLKREQ#は、EPによって駆動される場合があり、(アサートされた場合)リンククロックのための要求及び/又はL1サブ状態を出る要求を表し、CLKREQ#はまた、RCによって駆動される場合があり、(アサートされた場合)L1状態又はサブ状態(例えば、L1.1、L1.2)を出る要求を表す。(PERST#をディアサートすることによって)リンクが利用可能であることをホストが示したならば、EPは、CLKREQ#をアサートすることによって、ホスト及びRCをウェイクアップでき、その後、トランザクションが開始できる。
これに応じて、本方法500のステップ506において、PCIe EPは、まだアクティブではない場合、その低電力状態を出る。内部では、メモリマップトアクセスは、メモリコントローラ、バスアービタ又は他のアクセス制御機構を介して、EP内の適切なメモリロケーションへ送られる。先に述べたように、サブシステムアクセスは、EP内の特定かつ排他的なメモリ領域に割り当てられた機能に対応する。例えば、メモリアクセスは、例えば、機能内へのレジスタのアクセスに対応し得る。
本方法500のステップ508において、(必要に応じて肯定応答を含む)上記機能でPCIe EPメモリ空間へのアクセスが完了する。完了したならば、PCIeリンク及び/又はRCは、次のトランザクションに進み得る(すなわち、現在のトランザクションは、PCIeリンクをストールしない)。一部の変形では、EPは、追加的に、図5で説明されるレジスタアクセスとは別個のプロセスとしてサブシステムをウェイクアップする。例えば、PCIe EPは、対応するサブシステムをウェイクアップして、例えば、レジスタアクセスを伝播する又はレジスタアクセスに基づいて別のタスクを実行する場合もある。
1つのこのような変形では、CLKREQ#のためのシグナリングプロトコルは、PCIeリンクをその低電力状態からウェイクアップし、他のサブシステムドメインについては低電力状態からウェイクアップしない。後で詳述するように、最初のバストランザクションは、EPをブートするためにブートイメージを提供し、EPのブートが成功したならば、ホスト及びRCは、PERST#をディアサートして、リンク安定性を示し、それによって、EPを有効化して、リンクトレーニングを開始する。サブシステムが別個のドメイン上で稼働していることから、PERST#は、周辺装置内部のいかなるサブシステムの状態にも影響を与えることなく、繰り返しリセットできる。リンクの初期化が完了したならば、サブシステムに対するートイメージが送達される。
加えて、PERST#がサブシステム及び/又はホスト動作から切り離されることから、PERST#は、ホスト及び他のサブシステムを考慮せずに、任意の節電状態からPCIeブロックをウェイクアップできる。より直接的には、PERST#ロジックは、PCIeリンク外部の機能に影響を与えないことから、大幅に簡素化され得る。一部の例示的な変形では、PERST#及び/又はCLKREQ#ロジックは、ソフトウェアトランザクションオーバーヘッドを低減し、ロバスト性を高めるために、ハードウェア及び/又は簡単なロジック内に完全に実装され得る。
本明細書で説明される原理に合致し、広範な様々な多機能バス動作に適する、PCIeシグナリングに対する他の修正及び/又は追加は、当業者によってなされ得る。例えば、より洗練された実装は、シグナリングロジックを追加又は除去し得る(例えば、汎用入出力(GPIO)に基づいて)。更に他の実装は、個々のPERST#及び/又はCLKREQ#ラインをEPの各サポートされたサブシステム専用にし得る(例えば、PERST#及びCLKREQ#のバンドルされた配列を作成する)。
例示的なサブシステム電力制御
サブシステムを適切に初期化したならば、サブシステムは、それらのそれぞれのドメインために個別の電力状態を実施する。周辺装置内の完全に独立な電力及びクロックドメイン動作をサポートするために、例示的なサブシステム及びEPは、ドメイン動作を制御する(例えば、サブシステムの電源を入れる、切る又は任意の数の他の中間低電力モード(及び/又はそれらの勾配)で電力を供給することを含む)ための構成レジスタを含むように修正される。
前に述べたように、スリープモードは、一般的に、より多くのサブシステムコンポーネントを、次第に電源を切ることによって特徴付けられている。例えば、ライトスリープは、単に高いリフレッシュレートのメモリの電源を落し、モデレートスリープは、短期記憶揮発性メモリを不揮発性ストレージに記憶し、揮発性メモリの電源を下げる。ディープスリープは、追加的に、位相同期ループ(PLL)、デジタル同期ループ(DLL)及び/又は他のクロッキングハードウェアの電源を下げる。ウェイクアップは、電源を切ったコンポーネントへ逆順で電源を入れることによって実行される(例えば、不揮発性メモリの前にクロック、揮発性メモリの前に不揮発性メモリ)。よって、次第に、低電力モードが深いほど、ウェイクアップレイテンシが長くなり得る。更なる他の電力シーケンス技術は、本開示の内容を読めば当業者であれば容易に理解するはずである。
1つのこのような実装では、周辺装置が最初に電源を入れた場合、各サブシステムの構成レジスタは、デフォルト状態に初期化される一方、レジスタの内容は、リセット中も(例えば、周辺装置リセット及び/又は機能レベルリセットにわたって)「スティッキー」(又は不揮発性)である。代替的な変形では、構成レジスタは、電源を入れた時に初期化されないが、リセットシーケンス中に初期化され得る。更に他の実装は、リセットシーケンスのハイブリッドを組み込み得る(例えば、周辺装置リセットは、構成レジスタを初期化するが、機能レベルリセットはそうではない)。
上述の開示は、電力及びクロックドメイン動作ための構成レジスタを主に対象としているが、本開示の内容を読めば当業者であれば容易に理解するはずであるが、構成レジスタは、割り込み、トラップされたエラー、動作モード、バージョニング情報、ファイル構造情報及び/又は事実上任意の他の動作パラメータを運ぶ又は構成するように使用され得る。
PCIeリンク電力制御
一部のケースでは、例示的なホスト及びRCは、周辺装置から分離している(図2など)。内部ホストドメイン電力制御は、上述の周辺装置ドメイン動作と実質的に同様であり得る。実際、ホストは、複数のサブシステムを有することさえあり得る。しかしながら、いつPCIeリンクを有効化及び/又は無効化するかをホストが制御することから、周辺装置が利用可能でない場合、ホストが周辺装置に対する信号送信を試みないことを確実にするために、追加的なリンクシーケンシングが必要とされる。逆の場合も同じである(例えば、ホストが利用可能ではない場合、周辺装置がホストに対する信号送信を試みない)。
1つの例示的な実施形態では、(例えば、ホストプロセッサが、スリープ状態にあることにより、命令に応答するために利用可能ではない)非応答低電力モードへホストが遷移する前に、ホストは、各サブシステムについてプロトコルハンドシェイクを行う。次いで、各サブシステムは、正常に準備して、それらの内部考慮事項(例えば、現在の実行及びメモリを不揮発性又はスティッキーメモリに記憶すること)に従って、それらの対応する低電力状態(上述のデバイス電力状態など)へ遷移する。その後、サブシステムは、低電力モードに移行し得る。ホストが、サブシステムのすべてについてプロトコルハンドシェイクを完了したならば、次いで、ホストは、リンクがもはや利用可能ではないことを示すPERST#をアサートできる。前に述べたように、本開示の例示的なサブシステムは、後続のPERST#遷移中、ウェイクアップする必要がない。代替的な実装によって、サブシステムは、PCIe割り込みの受信を「オプトイン」可能にしてもよい。例えば、サブシステムは、低電力状態になる前に、PERST#がアサートされるまで待機し得る。このような機能は、PCIeトランザクションをデバッギングする又は他の方法で監視するために有用であり得る。
ホストが低電力モードへ成功裏に遷移したならば、サブシステムのいずれかが、PCIeインタフェースを介して、ホストに対してWAKE#信号をアサートすることによって、ホストをウェイクアップできる。1つのこのような実装では、WAKE#信号は、すべてのサブシステム間で共有され、ホストドライバは、電力管理イベント(PME)を介して起点のサブシステムを判定できる。他の実装は、WAKE#イベントをトリガーしたサブシステムを示す、構成レジスタ又はMMIOレジスタを提供する。別の実装では、各サブシステムは、専用のWAKE# GPIO(汎用入出力(GPIO))を有し、ホストドライバは、アサートされたWAKE# GPIOを介して起点のサブシステムを判定できる。
WAKE#シグナリングを受信したこと応じて、ホストは、そのスリープ状態を出て、PERST#をアサートして、ホストが成功裏にウェイクアップしたことを示す。ホストは、(上述のLTSSMを介して)PCIeリンクを有効化し、適切なPCIe機能をエニュメレーションする。ホストがリンクを成功裏にエニュメレーションしたならば、アクティブなサブシステム(単数又は複数)は、データをホストとトランザクションできる。成功したリンク再確立は、ホストとサブシステムとの間のハンドシェイクで完了する。
ここで図6を参照すると、ホストプロセッサをスリープモードに遷移させるための1つの例示的な方法が開示される。
本方法600のステップ602において、ホストプロセッサは、ホストがディープスリープモードに移行することを、サブシステムのそれぞれに通知する。次いで、各サブシステムは、自身もスリープすべきかどうかを独立に評価する。例えば、ホストがスリープ状態にある間、ホストはサブシステムのいずれにもアクセスしないため、サブシステムは、スリープモードに遷移して節電する。しかしながら、他のケースでは、サブシステムは、ホストがスリープ状態にある場合でも他の外部ネットワークエンティティと通信する必要があり得る。そのようなケースでは、サブシステムは、動作モードにあるままであり得る。一部の変形では、ホストのみが、サブシステムがスリープ状態になるのを阻止する一方的な権限を有する。代替的な変形では、サブシステムもまた、ホストがスリープ状態になるのを阻止する権限を有する(例えば、電力管理が双方向である、又は特定の制限によって双方向となる場合)。一般的に、各サブシステムに対するスリープシーケンスは、他のサブシステムから分離されることが理解されるが、本開示の内容を読めば当業者であれば、均等な効果を有する相互に関連するサブシステム電力管理を置き換えることができる。
本方法600のステップ604において、ホストプロセッサは、PCIeリンクをスリープにし得る。この時、PCIeリンクは、L2状態308へ遷移し、RCは、PERST#をアサートして、リンクが非アクティブであることを示す。一般的に、EPもまたスリープ状態になる。しかしながら、容易に理解されよう。EPが、ホストがスリープ状態にある間も動作状態に維持されているサブシステムによって、ウェイク状態に保たれている又は独立にウェイク状態にされている。より直接的に、PCIeサブシステムがリセット状態に保たれているが、個々のサブシステムのそれぞれは、ウェイク状態に保たれている、又は自律的にウェイクアップして、例えば、様々なネットワーク管理タスクを実行し得る。例えば、セルラー方式のサブシステムは、ウェイクアップして、ページング及び/又は更新ネットワークモビリティ管理エンティティを確認できる。同様に、WLANサブシステムは、利用可能なホットスポットアクセス及び/又は近くのオープンネットワークを定期的に確認し得る。
ステップ606において、ホストは、そのスリープモードに移行する。一部のケースでは、ホストは、揮発性メモリを不揮発性メモリへ記憶し、コア及び/又は他の関連コンポーネント(例えば、クロック、電源、メモリ及び/又は取り付けられたコンポーネン)への電力を低減し得る。一部のケースでは、ホストは、例えば、低電力モードにおいて(例えば、より遅いクロック、低減されたメモリ又はコア)、いつウェイク条件が発生するか監視し続ける、又はより低い優先順位のタスクを実行し得る。例えば、プロセッサは、コアがウェイクタイマーを追跡するのに及び/又はRCで待機条件を確認するのに十分な電力だけを供給し得る。他の状況では、ホストは、他のロジックがウェイクアップをトリガーすることに頼って、完全に休止している。例えば、PCIeリンクRCは、別個のドメイン上にあり、ホストのウェイクアップをトリガー可能であり得る。
続いてその後、ホストは、例えば、タイマーの期限満了、サービスの割り込み、周辺装置サブシステムアクセス(WAKE#を介する)、ユーザ操作及び/又は任意の数の他のホストサービスに起因して、スリープモードを出ることができる(ステップ608)。ホストは、PCIe LTSSMに従って、PCIeリンクを(まだアクティブでなければ)ウェイクアップする(上記図3の説明を参照)。
ステップ610において、ホストは、多機能周辺装置のうちの少なくとも1つの機能をエニュメレーションする。一部のケースでは、ホストは、機能のすべてをエニュメレーションし得る。他のケースでは、ホストは、アクティブな機能のみをエニュメレーションし得る。更に他のケースでは、ホストは、ウェイク条件をトリガーした機能(単数又は複数)のみをエニュメレーションし得る。
一部のケースでは、ホストは、任意選択的に、機能に対応するエニュメレーションしたサブシステムをステップ612において動作状態へ遷移させる。
例示的なブートシーケンス
既存のPCIe実装は、ホストがホストに取り付けられた周辺装置を最初にブートする、簡素なブートシーケンスを有する。本開示の様々な実施形態は、周辺装置EPをブートし、次いで、サブシステムのそれぞれを個別にブートする。1つの例示的な実施形態では、ホストが周辺装置EPを成功裏にブートしたならば、ホストは、サブシステムを発見し、順番にブートする(例えば、最初に、セルラー方式のサブシステム、次いで、WLANサブシステム、そして最後にPANサブシステム)。一部のケースでは、特定のサブシステムは、ブートプロセスから枝刈りされ得る(例えば、アプリケーションソフトウェアで必要とされない場合)。例えば、ユーザがPAN機能を無効化した場合、ブートシーケンスからPANサブシステムが枝刈りされる。
より複雑な実施形態では、個々のドメイン制御の粒度のおかげで、ホストは、例えば、電力消費を低減する及び/又はブート時間全体を低減するために、実行時考慮事項に基づいて、周辺装置のサブシステムにインテリジェントに電力供給及び/又はブートできる。例えば、現在ユーザアプリケーションためのネットワークアクセスを必要としないモバイルデバイスは、WLANサブシステムの電源を下げたままで、ホストプロセッサ及びセルラー方式のサブシステムだけをブートし得る。このようにして、セルラー方式のサブシステムは、ユーザへの割り込みを最小限としながら、バックグラウンドで移動管理シーケンス(例えば、登録、認証など)を実行することができ、WLANサブシステムが使用時に必要とされるまでブートされないことから、全体的なブート時間が低減される。
ブートシーケンスの1つの例示的な実装では、周辺装置が最初に電力供給されている場合、PCIe EPのみが電力供給される。他のサブシステムは、明示的に電源を入れるまで、電源を切ったままにされる。最初のブートシーケンス中、EP、PCIeサブシステム及びPCIe機能のうちのそれぞれ1つをエニュメレーションし得る。例えば、最初のブートシーケンス中、EPは、各サブシステムのPCIe BAR及び対応する構成空間並びにMMIO領域を初期化し得る。前に述べたように、一部の変形では、サブシステムのBAR、構成レジスタ及びMMIOは、対応するサブシステムの電力状態に関わらず、ホストによってアクセスされ得る。
次いで、PCIeエニュメレーションは、様々なサブシステムについて選択的に進み得る。所与のサブシステムの構成空間のPCIeのエニュメレーション中、ホストは、サブシステムへの電力を有効化するように構成レジスタに書き込む。サブシステムを成功裏に初期化した後、ホストは、バスマスタイネーブル(BME)ビットを設定して、PCIeバス上でホストメモリにアクセスする対応する機能を有効化し得る。ホストがPCIeリンクの制御を有したならば、ホストは、ブートイメージのロード及び/又は実行を含み得る、特定のサブシステムに対してブートプロセスを開始し得る。各サブシステムは、個別にブートされ得、各サブシステムのブートプロセスは、任意の他のサブシステムブートプロセスに対して独立であり得、阻止も影響もしない。
添付書類Aは、ホストによって開始される、スリープ、電力及びリセットイベントに応じたサブシステムの例示的な挙動を説明する表を提供する。上記表で説明するように、特定のイベント中における周辺装置のブートステージは、指定された挙動となる。
多機能周辺装置をブートシーケンスのための更なる他のスキームは、本開示の内容を読めば当業者であれば容易に理解するはずである。
例示的なリセットシーケンス
各ドメインは、例示的な実施形態では、個別にリセット可能である。マルチリセットスキームは、一部の変形では、構成パラメータを再初期化し得る。他方、他の変形では、リセットは、構成パラメータを再初期化し得ない。更に他のハイブリッドシステムは、リセット可能及びスティッキーの両方の構成パラメータを有する。更に他のケースでは、リセットは、例えば、階層ティア(すなわち、高位ティアのリセットは、それよりも下位のティアをリセットし得る)、機能グループ、構成可能グループ及び/又は他のグループ方法論に基づいて、連結され得る。
1つの例示的な実施形態では、個々のドメインに対応する各PCIe機能ブロック(サブシステムではなくエンドポイント内に配置される)はまた、個別にリセット可能であり得る。1つのこのようなケースでは、機能レベルリセットは、機能ブロックだけでなく、接続されたサブシステムをリセットする。あるいは、機能レベルリセットは、接続されたサブシステムをリセットしない。更に他の実装では、機能ブロック自体もまた、その対応するサブシステムがリセットされた場合に自動的にリセットされる。
1つの実施形態では、機能ブロックをリセットすることは、サブシステムを強制的にその初期ブートステージにし得る。一部の変形では、サブシステムは、既定の時間内でリセットされ得る。一部のケースでは、リセットは「ハード」であり(すなわち、リセットが、現在の実行ステータス及び/又は電力状態に関わらず強制される)。他のケースでは、リセットは「ソフト」である(すなわち、リセットは、例えば、現在の実行内容を回復できる、特定のシーケンスに従って実行される)。
機能レベルリセットがトリガーされる場合、機能ブロックは、サブシステムの構成空間及びMMIOの内容を自動的にリセットし得る。一部のケースでは、特定のビット又はデータ構造が「スティッキー」であり、それらの内容は、リセット後も持続し得る。このようなスティッキーなデータ構造の一般的な例としては、サブシステムへの電力供給を制御するために使用される構成レジスタが挙げられるが、限定されるものではない。他のスキームは、非スティッキーなデータ構造、又はスティッキービット及び非スティッキービットの混合を使用し得る。
前に述べたように、ホストは、動作中の任意の他の機能及び/又はサブシステムの動作状態に影響を与えずに、各機能及び/又はサブシステムのリセットを開始し得る。加えて、本開示の様々な実施形態は、追加的に、全周辺装置チップセットをリセットする周辺装置ワイドリセットをサポートする。例えば、ホストが周辺装置リセットをトリガーしたならば、周辺装置リセットの時に電源がオンであるあらゆるサブシステムがリセットされ、周辺装置リセットの時に電源がオフであるあらゆるサブシステムは電源オフのままにされる。周辺装置リセットの後、ホストは、上述のように(例示的なブートシーケンスを参照)PCIe機能をエニュメレーションし、サブシステムをブートし得る。
図7は、機能レベルリセット(FLR)動作のための1つの例示的な方法を示す。1つの例示的な実施形態では、各FLRは、帯域内リセットである(例えば、専用レジスタ、MMIOアドレス又は他のアドレス指定可能なメモリロケーションに常駐する)。より一般的には、FLR機能は、ホストによって発行され得、EP内に配置された特定の機能によって管理され得る。
本方法700のステップ702において、ホストは、周辺装置のサブシステムに対する機能レベルリセットを発行する。
これに応じて、周辺装置のサブシステムがリセットされる(ステップ704)。例示的な実施形態では、機能レベルリセットは、機能及び/又はサブシステムの電力状態に関わらず処理され得る。本開示の内容を読めば当業者であれば容易に理解するはずであるが、他の実施形態は、リセット中の現在の電力状態を考慮し得る(例えば、正常に、揮発性メモリの内容を記憶するために、及び/又はプロセスを出るために)。
一部のケースでは、サブシステムは、図7のリセットシーケンスに追加的又は代替的に電源を下げられ得る。例えば、ホストプロセッサは、機能レベル電源オフ命令を発行し得、それに応じて、対応するサブシステムが電源を下げられ得る。
1つのそのような実装では、周辺装置リセットは、機能レベルリセットのすべてを駆動して、周辺装置リセットを達成する。よって、機能レベルスティッキービットは、周辺装置リセット中であっても保存される。他の実装では、周辺装置リセットは、機能レベルリセットとは異なる専用リセット機構であり得る。専用周辺装置リセット機構は、例えば、機能レベルリセットのためのスティッキービットを除くべきである場合に有用であり得る。例えば、図8は、周辺装置レベルリセット動作のための1つの例示的な方法を示す。1つの例示的な実施形態では、周辺装置リセットは、ハードウェアリセットであり、例えば、周辺装置レベルリセットは、汎用入出力(GPIO)又は他の専用ハードウェアシグナリングで実装され得る。
余談であるが、既存の周辺装置リセットスキームは、サブシステム状態をリセット後に保存しない。例えば、1つのこのような従来技術のリセットスキームは、PCIeリンクの電源を切り、周辺装置をリセットし、再びPCIeリンクの電源を入れ、接続されたサブシステムのそれぞれを再初期化する。対照的に、本開示の様々な実施形態は、サブシステム状態を保持する。例えば、リセット前にスリープ状態又は電源オフであったサブシステムは、スリープ状態又は電源オフに保たれ、リセット前にアクティブ状態であったサブシステムは、アクティブ状態に保たれる。
本方法800のステップ802において、周辺装置PCIeリンクは、電源を下げられ得る、及び/又はPERST#がアサートされ得る。
図8に示すように、ホストは、本方法800のステップ804において周辺装置に対して周辺装置レベルリセットを発行し得る。周辺装置EP、機能及び対応するサブシステムを含む、全周辺装置がリセットされる。
リセット後、サブシステムのそれぞれは、それらの読み出し専用メモリ(ROM)の内容を実行し、それに従って初期化し得る(ステップ806)。一部の実施形態では、ROMの内容は、例えば、アイドルスピンループに限られ得る。ROMのない環境では、サブシステムのプロセッサは、有効な命令を持っていない場合もある揮発性メモリから実行し得る。そのような条件下では、プロセッサは、ホストによって稼働するようにトリガーされるまで稼働を開始しない。
その後、ホストは、PCIeポートに電力を供給し、PCIeリンクは、そのLTSSMの動作リンク状態(例えば、L0状態)へ遷移し得る。
ステップ808において、ホストは、周辺装置の機能のすべてをエニュメレーションし、各サブシステムを動作状態へ遷移させ得る。前に述べたように、ホストは、サブシステム状態を保持する。換言すると、リセット前にスリープ状態又は電源オフであったサブシステムは、スリープ状態又は電源オフに保たれ、リセット前にアクティブ状態であったサブシステムは、アクティブ状態に保たれる。その後、ブートプロシージャは、上述のプロセスに従って進み得る。
多機能周辺装置をリセットするための更なる他のスキームは、本開示の内容を読めば当業者であれば容易に理解するはずである。
当業者であれば、多くのソフトウェアデバッギング技術がエラートラッピングの成功に頼っていることを容易に理解するはずである。一部の実施形態では、予想外のソフトウェアエラーが検出された場合、プロセッサは、更なる動作を中止し、ループ命令(「スピン」)を実行する。このようにして、ホストは、デバッグのためのメモリ内容を取り出せる。別の実施形態では、予想外のソフトウェアエラーが検出された場合、サブシステムがリブートされ得る。メモリの内容は、リセット条件で保存されたとおりにアクセス可能である。更に他の実施形態では、各サブシステムについて別個のハードウェアウォッチドッグタイマーを使用できる。余談であるが、ハードウェアウォッチドッグは、ソフトウェアが正常に稼働している限り、ソフトウェアによって定期的にリセットされる。ウォッチドッグタイマーの期限が満了すると、例えば、誤ったソフトウェアアクセス又は他のバスの不具合によってソフトウェアが壊れたという推定の下、強制的にリセットする。各ハードウェアウォッチドッグは、対応するサブシステムだけをリセットし、他のサブシステムには影響しない。
添付書類Bは、エラートラップ及び/又は好ましい処理機構を実行する場合のサブシステムの例示的な挙動を説明する表を提供する。
サブシステムがリセットされた場合に使用され得る、一般的なデバッギング命令の他の例としては、レジスタスナップショット(例えば、サブシステムが、すべてのサブシステムレジスタのスナップショットを強制的に収集させられ得る)及びコアダンプ(例えば、サブシステムが、サブシステムメモリのスナップショットを収集するために、強制的にアボート処理部とされ得る)が挙げられる。
本開示の特定の実施形態を特定の方法の具体的なステップのシーケンスの観点から説明しているが、これらの説明は、本記載のより広範な方法の例示に過ぎないものであり、具体的な適用によって、必要に応じて修正することができる点が、認識されるであろう。あるステップは、ある状況下では、不必要又は任意選択とすることができる。更には、特定のステップ又は機能性を、開示される実施形態に追加してもよく、あるいは2つ以上のステップの実行の順序を、置き換えることもできる。すべてのこのような変更形態は、本開示の範囲内に包含され、本明細書において特許請求されると見なされる。
上記の詳細な説明では、様々な実施形態に適用されるような、本開示の新規の機構を示し、説明し、指摘しているが、例示された機器又はプロセスの形態及び詳細の様々な省略、置換、並びに変更を、本記載の原理から逸脱することなく当業者によって実施することができる点が理解されるであろう。上述の説明は、現時点で想到される最良の実施態様の説明である。本説明は、限定することを決して意図するものではなく、むしろ、本明細書で説明される一般的原理の例示として解釈されるべきである。本開示の範囲は、特許請求の範囲に準拠して決定されるべきである。

Claims (20)

  1. 電子デバイス内の複数のサブシステム用の個別の電力制御を提供するための方法であって、前記電子デバイスがホストプロセッサ装置を含み、前記方法が、
    前記複数のサブシステムに対するメモリマップトインタフェースを確立することであって、前記複数のサブシステムのそれぞれが、対応する電力管理ステートマシンによって特徴付けられている、ことと、
    前記複数のサブシステムのうちの1つについて、前記複数のサブシステムのうちの他のサブシステムとは独立に、前記対応する電力管理ステートマシンにスリープ状態からアクティブ状態へ遷移させることと、
    を含む、方法。
  2. 前記複数のサブシステムのうちの前記1つの、前記スリープ状態から前記アクティブ状態への前記遷移は、前記複数のサブシステムのうちの他のサブシステムをスリープ状態からアクティブ状態へ遷移させることなく発生し得る、請求項1に記載の方法。
  3. 前記複数のサブシステムのうちの1つを、前記複数のサブシステムのうちの他のサブシステムとは独立に、様々な電力節約モードへ遷移させることを更に含む、請求項1に記載の方法。
  4. 前記ホストプロセッサ装置を介して、前記複数のサブシステムに対して独立な電力制御を行うことを更に含む、請求項3に記載の方法。
  5. 前記複数のサブシステムに対して独立な電力制御を行うことが、前記複数のサブシステムのうちの第1のサブシステムをアクティブ状態に保つことを更に含む、請求項4に記載の方法。
  6. 前記複数のサブシステムに対して独立な電力制御を行うことが、前記複数のサブシステムのうちの前記第1のサブシステムを前記アクティブ状態に保ちながら、前記複数のサブシステムのうちの第2のサブシステムをスリープ状態へ遷移させることを更に含む、請求項5に記載の方法。
  7. 前記複数のサブシステムのうちの他のサブシステムとは独立に、前記複数のサブシステムのうちの前記1つのための電力シーケンスを開始することを更に含む、請求項1に記載の方法。
  8. コンピュータ化装置であって、
    ルートコンプレックスを含むホスト処理装置と、
    エンドポイント装置を含む周辺装置であって、前記エンドポイント装置が、複数の機能を含み、前記複数の機能のそれぞれが、複数のサブシステムのそれぞれのサブシステムと接続される、周辺装置と、
    前記ルートコンプレックスと前記エンドポイント装置との間の通信リンクと、
    を備える、コンピュータ化装置。
  9. 前記複数のサブシステムのそれぞれが、前記複数のサブシステムのうちの他のサブシステムとは別個の電力管理を含む、請求項8に記載のコンピュータ化装置。
  10. 前記ホスト処理装置が、前記複数のサブシステムとは別個のホスト電力管理を含み、
    前記通信リンクが、前記ホスト処理装置及び前記複数のサブシステムとは別個のリンク電力管理を含む、請求項9に記載のコンピュータ化装置。
  11. 前記複数のサブシステムのうちの1つが、ワイヤレスローカルエリアネットワーク(WLAN)サブシステムを含み、前記WLANサブシステムが、前記複数のサブシステムのうちの他のサブシステムのウェイクアップを必要とせずに、近くのビーコンをスキャンできる、請求項9に記載のコンピュータ化装置。
  12. 前記WLANサブシステムが、前記通信リンク又は前記ホスト処理装置のいずれのウェイクアップも必要とせずに、前記近くのビーコンをスキャンできる、請求項11に記載のコンピュータ化装置。
  13. 前記複数のサブシステムのうちの1つが、セルラー方式のサブシステムを含み、前記セルラー方式のサブシステムが、前記サブシステムのうちの他のサブシステムと前記ホスト処理装置と前記通信リンクとのうちの1つ以上に電力供給せずに、モバイル管理更新中にセルラー方式のネットワークと接続するように構成される、請求項9に記載のコンピュータ化装置。
  14. 電子デバイスにおいて使用される周辺処理装置であって、前記周辺処理装置が、
    エンドポイント装置であって、前記エンドポイント装置が、複数の機能を含み、前記複数の機能のそれぞれが、前記周辺処理装置のための複数のサブシステムのそれぞれのサブシステムと接続される、エンドポイント装置を備え、
    前記複数のサブシステムのそれぞれが、前記複数のサブシステムのうちの他のサブシステムに対して独立な電力管理ステートマシンを含む、周辺処理装置。
  15. 前記複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンが、
    アクティブ状態にある間にホスト処理装置へスリープモード要求を送信し、
    前記スリープモード要求の前記送信の後に、スリープ待機状態に移行し、
    周辺装置スリープ制御レジスタに対する更新であって、前記ホスト処理装置によって開始される前記更新を検出し、
    前記検出した、前記周辺装置スリープ制御レジスタに対する更新に応じて、前記スリープ待機状態からスリープ状態に移行する、
    ように更に構成される、請求項14に記載の周辺処理装置。
  16. 前記複数のサブシステムのうちの前記第1のサブシステムの前記第1の独立な電力管理ステートマシンが、
    前記ホスト処理装置がなんらかの保留中のデータトランザクションを有しているかどうかを確認し、
    保留中のデータトランザクションがある場合、前記第1の独立な電力管理ステートマシンを前記スリープ状態から前記アクティブ状態へ遷移させるために、ウェイクアッププロセスを開始し、
    アクティブ待機状態に移行し、
    前記ホスト処理装置による前記周辺装置スリープ制御レジスタに対する更新を検出すると、前記アクティブ待機状態から前記アクティブ状態に移行する、
    ように更に構成される、請求項15に記載の周辺処理装置。
  17. 前記複数のサブシステムのうちの第1のサブシステムの第1の独立な電力管理ステートマシンが、
    ホスト処理装置からホストスリープ移行メッセージを受信し、
    前記受信したホストスリープ移行メッセージに応じて、前記複数のサブシステムのうちの前記第1のサブシステムの前記第1の独立な電力管理ステートマシンをサスペンドし、
    前記第1の独立な電力管理ステートマシンの前記サスペンドの後に、すべての保留中の転送記述子を処理する、
    ように更に構成される、請求項14に記載の周辺処理装置。
  18. 前記複数のサブシステムのうちの他のサブシステムが、前記ホスト処理装置から前記ホストスリープ移行メッセージを受信するように更に構成される、請求項17に記載の周辺処理装置。
  19. 前記第1の独立な電力管理ステートマシンは、すべての前記保留中の転送記述子の前記処理の後に、アクティブ状態からスリープ状態へ遷移するように更に構成される、請求項17に記載の周辺処理装置。
  20. 前記複数のサブシステムのうちの前記第1のサブシステムの前記第1の独立な電力管理ステートマシンが、前記ホスト処理装置のためのウェイクアップ要求の発行により、前記ホスト処理装置との通信を再確立するように更に構成される、請求項17に記載の周辺処理装置。
JP2017217779A 2016-11-10 2017-11-10 周辺サブシステム用に個別の電力制御を提供するための方法及び装置 Active JP6487988B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201662420143P 2016-11-10 2016-11-10
US62/420,143 2016-11-10
US15/647,063 2017-07-11
US15/647,063 US10775871B2 (en) 2016-11-10 2017-07-11 Methods and apparatus for providing individualized power control for peripheral sub-systems

Publications (2)

Publication Number Publication Date
JP2018081688A true JP2018081688A (ja) 2018-05-24
JP6487988B2 JP6487988B2 (ja) 2019-03-20

Family

ID=60327086

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017217779A Active JP6487988B2 (ja) 2016-11-10 2017-11-10 周辺サブシステム用に個別の電力制御を提供するための方法及び装置

Country Status (5)

Country Link
US (1) US10775871B2 (ja)
EP (1) EP3321815B1 (ja)
JP (1) JP6487988B2 (ja)
KR (1) KR102039796B1 (ja)
CN (1) CN108073421B (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11455787B2 (en) 2018-02-16 2022-09-27 Kabushiki Kaisha Toshiba Reading system, reading device, reading method, and storage medium
WO2023027030A1 (ja) * 2021-08-27 2023-03-02 ソニーセミコンダクタソリューションズ株式会社 通信装置及び通信システム
JP2024512682A (ja) * 2021-03-31 2024-03-19 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド メモリコントローラ電力状態

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9892084B2 (en) 2013-12-10 2018-02-13 Apple Inc. Methods and apparatus for virtual channel allocation via a high speed bus interface
US10459674B2 (en) 2013-12-10 2019-10-29 Apple Inc. Apparatus and methods for packing and transporting raw data
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9971397B2 (en) 2014-10-08 2018-05-15 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US20180330143A1 (en) * 2015-07-07 2018-11-15 The Board Of Regents, The University Of Texas System Digital imaging and analysis system for use in extreme weather conditions
US10896047B2 (en) * 2015-12-28 2021-01-19 Hewlett-Packard Development Company, L.P. Booting a computer using a wireless network connection
US10085214B2 (en) 2016-01-27 2018-09-25 Apple Inc. Apparatus and methods for wake-limiting with an inter-device communication link
US10558580B2 (en) 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
US10198364B2 (en) 2016-03-31 2019-02-05 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10523867B2 (en) 2016-06-10 2019-12-31 Apple Inc. Methods and apparatus for multi-lane mapping, link training and lower power modes for a high speed bus interface
US10591976B2 (en) 2016-11-10 2020-03-17 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
US10346226B2 (en) 2017-08-07 2019-07-09 Time Warner Cable Enterprises Llc Methods and apparatus for transmitting time sensitive data over a tunneled bus interface
US11054887B2 (en) * 2017-12-28 2021-07-06 Advanced Micro Devices, Inc. System-wide low power management
US10331612B1 (en) 2018-01-09 2019-06-25 Apple Inc. Methods and apparatus for reduced-latency data transmission with an inter-processor communication link between independently operable processors
US10558257B2 (en) * 2018-01-31 2020-02-11 Dell Products L.P. Systems and methods for exiting low-power states
US11792307B2 (en) 2018-03-28 2023-10-17 Apple Inc. Methods and apparatus for single entity buffer pool management
JP7383631B2 (ja) * 2018-03-30 2023-11-20 グーグル エルエルシー システムオンチップ(SoC)エージェントのリセットおよび電力管理のためのプロトコルレベル制御
IL315283A (en) 2018-03-30 2024-10-01 Google Llc Arbitrating portions of transactions over virtual channels associated with an interconnect
US11381514B2 (en) 2018-05-07 2022-07-05 Apple Inc. Methods and apparatus for early delivery of data link layer packets
US10430352B1 (en) 2018-05-18 2019-10-01 Apple Inc. Methods and apparatus for reduced overhead data transfer with a shared ring buffer
GB201810663D0 (en) * 2018-06-28 2018-08-15 Nordic Semiconductor Asa Peripheral Power Domains
US10585699B2 (en) 2018-07-30 2020-03-10 Apple Inc. Methods and apparatus for verifying completion of groups of data transactions between processors
US10846224B2 (en) 2018-08-24 2020-11-24 Apple Inc. Methods and apparatus for control of a jointly shared memory-mapped region
US10719376B2 (en) 2018-08-24 2020-07-21 Apple Inc. Methods and apparatus for multiplexing data flows via a single data structure
US11256644B2 (en) * 2018-09-05 2022-02-22 Fungible, Inc. Dynamically changing configuration of data processing unit when connected to storage device or computing device
US10976795B2 (en) * 2019-04-30 2021-04-13 Seagate Technology Llc Centralized power loss management system for data storage devices
JP7527312B2 (ja) * 2019-06-13 2024-08-02 マイクロチップ テクノロジー インコーポレイテッド スリープモード及び部分ネットワーキングサポートを有する物理層デバイス、並びに関連するシステム、方法、及びデバイス
CN112528456B (zh) * 2019-09-18 2024-05-07 曙光信息产业(北京)有限公司 一种异构节点计算系统及方法
EP3796128B1 (en) * 2019-09-23 2023-08-30 NXP USA, Inc. Power mode transition management for power supply
US11558348B2 (en) 2019-09-26 2023-01-17 Apple Inc. Methods and apparatus for emerging use case support in user space networking
US11829303B2 (en) 2019-09-26 2023-11-28 Apple Inc. Methods and apparatus for device driver operation in non-kernel space
CN111142653B (zh) * 2019-12-26 2022-03-22 江苏芯盛智能科技有限公司 一种PCIe设备低功耗控制方法、装置及电子设备
CN111240459B (zh) * 2020-01-08 2021-05-28 珠海全志科技股份有限公司 片上系统功耗管理方法、计算机装置及计算机可读存储介质
US11606302B2 (en) 2020-06-12 2023-03-14 Apple Inc. Methods and apparatus for flow-based batching and processing
US11829612B2 (en) * 2020-08-20 2023-11-28 Micron Technology, Inc. Security techniques for low power mode of memory device
US11775359B2 (en) 2020-09-11 2023-10-03 Apple Inc. Methods and apparatuses for cross-layer processing
US11954540B2 (en) 2020-09-14 2024-04-09 Apple Inc. Methods and apparatus for thread-level execution in non-kernel space
US11799986B2 (en) 2020-09-22 2023-10-24 Apple Inc. Methods and apparatus for thread level execution in non-kernel space
CN114427441B (zh) * 2020-09-23 2024-06-21 中国石油化工股份有限公司 一种井下电路控制系统及其实现方法
US12160259B2 (en) * 2020-12-09 2024-12-03 Texas Instruments Incorporated Low power digital modes for duty-cycled integrated transceivers
JP7509021B2 (ja) * 2020-12-14 2024-07-02 トヨタ自動車株式会社 車載システム、車載システム制御方法、及び車載システム制御プログラム
CN112835839B (zh) * 2021-02-04 2024-10-18 深圳市广和通无线股份有限公司 PCIe接口的设备枚举方法、装置、设备及存储介质
US20220327074A1 (en) * 2021-04-13 2022-10-13 SK Hynix Inc. PERIPHERAL COMPONENT INTERCONNECT EXPRESS (PCIe) SYSTEM AND METHOD OF OPERATING THE SAME
US11545209B2 (en) * 2021-05-28 2023-01-03 Micron Technology, Inc. Power savings mode toggling to prevent bias temperature instability
US11882051B2 (en) 2021-07-26 2024-01-23 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11876719B2 (en) 2021-07-26 2024-01-16 Apple Inc. Systems and methods for managing transmission control protocol (TCP) acknowledgements
US11500808B1 (en) * 2021-07-26 2022-11-15 Mellanox Technologies, Ltd. Peripheral device having an implied reset signal
CN115686164A (zh) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 供电端装置、供电系统以及非暂态电脑可读取媒体
CN113590511B (zh) * 2021-10-08 2022-02-22 苏州浪潮智能科技有限公司 一种带宽降速修复方法、装置及电子设备
US20240061582A1 (en) * 2022-08-17 2024-02-22 Intel Corporation Bi-modal memory idle hysteresis for optimal add-in card accelerator performance and power
US12259764B2 (en) 2022-12-07 2025-03-25 Nxp Usa, Inc. Architecture for managing asynchronous resets in a system-on-a-chip
US12164364B2 (en) * 2022-12-22 2024-12-10 Ncr Atleos Corporation Device power controller

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077816A1 (en) * 2006-09-27 2008-03-27 Intel Corporation Subsystem Power Management
US20120084483A1 (en) * 2010-09-30 2012-04-05 Agarwala Sanjive Die expansion bus
US20120124252A1 (en) * 2010-11-16 2012-05-17 Canon Kabushiki Kaisha Data transferring apparatus and control method thereof
JP2015001867A (ja) * 2013-06-17 2015-01-05 富士ゼロックス株式会社 情報処理装置
US20160103480A1 (en) * 2014-10-08 2016-04-14 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors

Family Cites Families (226)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4805137A (en) 1987-01-08 1989-02-14 United Technologies Corporation Bus controller command block processing system
US5367688A (en) 1987-09-04 1994-11-22 Digital Equipment Corporation Boot system for distributed digital data processing system
US4949299A (en) 1987-12-04 1990-08-14 Allen-Bradley Company, Inc. Industrial control communication network and method
US4987529A (en) 1988-08-11 1991-01-22 Ast Research, Inc. Shared memory bus system for arbitrating access control among contending memory refresh circuits, peripheral controllers, and bus masters
KR100319770B1 (ko) 1991-08-13 2002-01-16 마거리트 와그너-달 영상화 및 그래픽 처리 시스템내에서의 다차원 주소발생방법
JP2675961B2 (ja) 1992-05-20 1997-11-12 インターナショナル・ビジネス・マシーンズ・コーポレイション 実記憶のページをロックするための方法
US6496940B1 (en) 1992-12-17 2002-12-17 Compaq Computer Corporation Multiple processor system with standby sparing
US5485578A (en) 1993-03-08 1996-01-16 Apple Computer, Inc. Topology discovery in a multiple-ring network
US5687316A (en) 1994-07-29 1997-11-11 International Business Machines Corporation Communication apparatus and methods having P-MAC, I-MAC engines and buffer bypass for simultaneously transmitting multimedia and packet data
US6334219B1 (en) 1994-09-26 2001-12-25 Adc Telecommunications Inc. Channel selection for a hybrid fiber coax network
US5943507A (en) 1994-12-22 1999-08-24 Texas Instruments Incorporated Interrupt routing circuits, systems and methods
JP3829994B2 (ja) 1995-01-06 2006-10-04 富士通株式会社 ファイル装置の開発装置及び開発システム
US5659542A (en) 1995-03-03 1997-08-19 Intecom, Inc. System and method for signalling and call processing for private and hybrid communications systems including multimedia systems
AU6501496A (en) 1995-07-19 1997-02-18 Ascom Nexion Inc. Point-to-multipoint transmission using subqueues
US7099949B1 (en) 1995-10-23 2006-08-29 Imec Vzw Interprocess communication protocol system
US6212566B1 (en) 1996-01-26 2001-04-03 Imec Interprocess communication protocol system modem
DE69632144T2 (de) 1995-11-16 2004-11-25 Loran Network Systems, L.L.C., Wilmington Verfahren zur bestimmung der topologie eines netzwerkes von objekten
US5903564A (en) 1997-08-28 1999-05-11 Ascend Communications, Inc. Efficient multicast mapping in a network switch
US7100020B1 (en) 1998-05-08 2006-08-29 Freescale Semiconductor, Inc. Digital communications processor
GB2339653B (en) 1998-07-14 2003-06-04 Ibm Multiple synchronous data stream format for an optical data link
US6260152B1 (en) 1998-07-30 2001-07-10 Siemens Information And Communication Networks, Inc. Method and apparatus for synchronizing data transfers in a logic circuit having plural clock domains
US6359863B1 (en) 1998-08-12 2002-03-19 The Regents Of The University Of California Rate allocation system and method for ATM switched networks
US6216178B1 (en) 1998-11-16 2001-04-10 Infineon Technologies Ag Methods and apparatus for detecting the collision of data on a data bus in case of out-of-order memory accesses of different times of memory access execution
CA2299022A1 (en) 1999-04-30 2000-10-30 Nortel Networks Corporation Method and apparatus for bandwidth management of aggregate data flows
US6523073B1 (en) 1999-08-23 2003-02-18 Palm Computing, Inc. Handheld computer system and method to detect and identify a peripheral device
US6553446B1 (en) 1999-09-29 2003-04-22 Silicon Graphics Inc. Modular input/output controller capable of routing packets over busses operating at different speeds
US6970992B2 (en) 1999-10-04 2005-11-29 Intel Corporation Apparatus to map virtual pages to disparate-sized, non-contiguous real pages and methods relating thereto
JP3843667B2 (ja) 1999-10-15 2006-11-08 セイコーエプソン株式会社 データ転送制御装置及び電子機器
US6434633B1 (en) 1999-11-02 2002-08-13 Conexant Systems, Inc. Method and apparatus for facilitating AC-link communications between a controller and a slow peripheral of a codec
US7509391B1 (en) 1999-11-23 2009-03-24 Texas Instruments Incorporated Unified memory management system for multi processor heterogeneous architecture
US7117273B1 (en) 2000-01-25 2006-10-03 Cisco Technology, Inc. Methods and apparatus for maintaining a map of node relationships for a network
US7191240B1 (en) 2000-02-14 2007-03-13 International Business Machines Corporation Generic network protocol layer with supporting data structure
US6735642B2 (en) 2000-06-02 2004-05-11 Mellanox Technologies Ltd. DMA doorbell
US6892298B2 (en) 2000-07-26 2005-05-10 Times N Systems, Inc. Load/store micropacket handling system
EP1182551B1 (en) 2000-08-21 2017-04-05 Texas Instruments France Address space priority arbitration
AU2002211560A1 (en) 2000-10-12 2002-04-22 Signafor, Inc. Advanced switching mechanism for providing high-speed communications with high quality of service
US6925547B2 (en) 2000-12-14 2005-08-02 Silicon Graphics, Inc. Remote address translation in a multiprocessor system
US6990594B2 (en) 2001-05-02 2006-01-24 Portalplayer, Inc. Dynamic power management of devices in computer system by selecting clock generator output based on a current state and programmable policies
US7062761B2 (en) 2001-07-10 2006-06-13 Micron Technology, Inc. Dynamic arrays and overlays with bounds policies
US6948094B2 (en) 2001-09-28 2005-09-20 Intel Corporation Method of correcting a machine check error
US7015941B2 (en) 2001-10-12 2006-03-21 Malloy Desormeaux Stephen G Hybrid cameras that download electronic images in selected geometric formats and methods
US20030086122A1 (en) 2001-11-06 2003-05-08 Parry Travis J. Imaging device communication via email
AU2002352922A1 (en) * 2001-11-28 2003-06-10 Millennial Net Etwork protocol for an ad hoc wireless network
US20030112758A1 (en) 2001-12-03 2003-06-19 Pang Jon Laurent Methods and systems for managing variable delays in packet transmission
US8352624B2 (en) 2002-04-18 2013-01-08 Citrix Systems, Inc. System for and method of streaming data to a computer in a network
JP3983138B2 (ja) 2002-08-29 2007-09-26 富士通株式会社 障害情報収集プログラムおよび障害情報収集装置
US7191241B2 (en) 2002-09-27 2007-03-13 Alacritech, Inc. Fast-path apparatus for receiving data corresponding to a TCP connection
US8245055B2 (en) 2002-12-31 2012-08-14 Intel Corporation Method for firmware control invocation from power management
US7411973B2 (en) 2003-03-11 2008-08-12 Broadcom Corporation System and method for interfacing with a management system
US8204076B2 (en) 2003-05-01 2012-06-19 Genesis Microchip Inc. Compact packet based multimedia interface
US8068485B2 (en) 2003-05-01 2011-11-29 Genesis Microchip Inc. Multimedia interface
US7620062B2 (en) 2003-05-01 2009-11-17 Genesis Microchips Inc. Method of real time optimizing multimedia packet transmission rate
US7733915B2 (en) 2003-05-01 2010-06-08 Genesis Microchip Inc. Minimizing buffer requirements in a digital video system
US7397774B1 (en) 2003-05-23 2008-07-08 The United States Of America As Represented By The Administrator Of The National Aeronautics And Space Administration Downlink data multiplexer
JP4095501B2 (ja) * 2003-06-25 2008-06-04 インターナショナル・ビジネス・マシーンズ・コーポレーション コンピュータ装置、無線アクセスポイント、無線ネットワークを介した電源投入方法、フレーム聴取方法、フレーム送信方法、およびプログラム
US7340629B2 (en) 2003-06-26 2008-03-04 International Business Machines Corporation Method and system for application-based normalization of processor clocks in a multiprocessor environment
US7340630B2 (en) 2003-08-08 2008-03-04 Hewlett-Packard Development Company, L.P. Multiprocessor system with interactive synchronization of local clocks
RU2006107561A (ru) 2003-08-13 2007-09-20 Квэлкомм Инкорпорейтед (US) Сигнальный интерфейс для высоких скоростей передачи данных
US7239581B2 (en) 2004-08-24 2007-07-03 Symantec Operating Corporation Systems and methods for synchronizing the internal clocks of a plurality of processor modules
US7127600B2 (en) 2003-09-30 2006-10-24 Intel Corporation Aggressive content pre-fetching during pre-boot runtime to support speedy OS booting
US7181610B2 (en) 2003-10-07 2007-02-20 Intel Corporation Method and system to encapsulate a driver written for an operating system (OS) runtime environment in an OS independent environment firmware extension
US20050108385A1 (en) 2003-10-28 2005-05-19 Gabriel Wechter Method and system for managing a discovery-related process in a network
US7149890B2 (en) 2003-11-21 2006-12-12 Intel Corporation Initializing system memory
US7233164B2 (en) 2003-12-17 2007-06-19 Rambus Inc. Offset cancellation in a multi-level signaling system
US20050149711A1 (en) 2003-12-30 2005-07-07 Zimmer Vincent J. Method and system for firmware-based run time exception filtering
JP2006127460A (ja) 2004-06-09 2006-05-18 Renesas Technology Corp 半導体装置、半導体信号処理装置、およびクロスバースイッチ
WO2006038094A1 (en) * 2004-10-06 2006-04-13 Nokia Corporation Distributed link-layer wake-up agent system, method and device for universal plug and play function with lower power proxy
US9080894B2 (en) 2004-10-20 2015-07-14 Electro Industries/Gauge Tech Intelligent electronic device for receiving and sending data at high speeds over a network
US7730326B2 (en) 2004-11-12 2010-06-01 Apple Inc. Method and system for updating firmware stored in non-volatile memory
US7398382B2 (en) 2004-12-29 2008-07-08 Intel Corporation Method and apparatus to enhance platform boot efficiency
US7904518B2 (en) 2005-02-15 2011-03-08 Gytheion Networks Llc Apparatus and method for analyzing and filtering email and for providing web related services
US7908335B1 (en) 2005-04-06 2011-03-15 Teradici Corporation Methods and apparatus for bridging a USB connection
US8788822B1 (en) 2005-06-10 2014-07-22 Blue Coat Systems, Inc. Enhanced QoS solution for thin client or remote access sessions
US7802256B2 (en) 2005-06-27 2010-09-21 Microsoft Corporation Class scheduler for increasing the probability of processor access by time-sensitive processes
US7376782B2 (en) 2005-06-29 2008-05-20 Intel Corporation Index/data register pair for indirect register access
US7684835B1 (en) * 2005-07-12 2010-03-23 Marvell Interntional Ltd. Wake on wireless LAN schemes
US20070043901A1 (en) 2005-08-22 2007-02-22 Mediatek Inc. Optical disc recording system with shared non-volatile memory design
US7643753B2 (en) 2005-09-29 2010-01-05 Broadlight Ltd. Enhanced passive optical network (PON) processor
US8310965B1 (en) 2005-10-04 2012-11-13 Marvell International Ltd. Buffered audio system with synchronizing bus controller
US7814166B2 (en) 2006-01-27 2010-10-12 Sony Computer Entertainment Inc. Methods and apparatus for virtualizing an address space
US8099548B2 (en) 2006-03-23 2012-01-17 Microsoft Corporation Power efficient media playback on general purpose portable devices
US8555099B2 (en) 2006-05-30 2013-10-08 Ati Technologies Ulc Device having multiple graphics subsystems and reduced power consumption mode, software and methods
JP4609381B2 (ja) 2006-06-14 2011-01-12 株式会社デンソー 異常監視用プログラム、記録媒体及び電子装置
US20080046689A1 (en) 2006-08-21 2008-02-21 Tien-Fu Chen Method and apparatus for cooperative multithreading
US7685476B2 (en) 2006-09-12 2010-03-23 International Business Machines Corporation Early notification of error via software interrupt and shared memory write
US7587575B2 (en) 2006-10-17 2009-09-08 International Business Machines Corporation Communicating with a memory registration enabled adapter using cached address translations
US7590817B2 (en) 2006-10-17 2009-09-15 International Business Machines Corporation Communicating with an I/O device using a queue data structure and pre-translated addresses
US7506084B2 (en) 2006-10-17 2009-03-17 International Business Machines Corporation Method for communicating with an I/O adapter using cached address translations
US8769168B2 (en) 2006-10-17 2014-07-01 International Business Machines Corporation Method for communicating with a network adapter using a queue data structure and cached address translations
US7617377B2 (en) 2006-10-17 2009-11-10 International Business Machines Corporation Splitting endpoint address translation cache management responsibilities between a device driver and device driver services
US7721130B2 (en) * 2006-11-27 2010-05-18 Qimonda Ag Apparatus and method for switching an apparatus to a power saving mode
US7949041B2 (en) 2006-12-05 2011-05-24 Rambus Inc. Methods and circuits for asymmetric distribution of channel equalization between devices
US7681012B2 (en) 2007-01-30 2010-03-16 Texas Instruments Incorporated Method, system and device for handling a memory management fault in a multiple processor device
US8808091B2 (en) 2007-03-15 2014-08-19 Microsoft Corporation Custom message actions
US8390687B2 (en) 2007-03-19 2013-03-05 Ati Technologies Ulc Automated compliance testing for video devices
US7761701B2 (en) 2007-03-26 2010-07-20 Intel Corporation Component firmware integration in distributed systems
US8063504B2 (en) 2007-05-07 2011-11-22 Analogix Semiconductor, Inc. Systems and methods for powering circuits for a communications interface
US9041241B2 (en) 2007-05-07 2015-05-26 Analogix Semiconductor, Inc. Systems and methods for powering a charging circuit of a communications interface
US7941682B2 (en) 2007-05-09 2011-05-10 Gainspan, Inc. Optimum power management of system on chip based on tiered states of operation
US7864720B2 (en) * 2007-06-01 2011-01-04 Intel Corporation Power management for wireless devices
US20080301148A1 (en) 2007-06-01 2008-12-04 Microsoft Corporation Methods and apparatus relating to server/client sql environments
KR20090008045A (ko) 2007-07-16 2009-01-21 삼성전자주식회사 디스플레이장치, 호스트 장치 및 그 제어방법
US8095814B2 (en) * 2007-09-26 2012-01-10 International Business Machines Corporation Computing device power management
US7725663B2 (en) 2007-10-31 2010-05-25 Agere Systems Inc. Memory protection system and method
US20090138650A1 (en) 2007-11-26 2009-05-28 Yen-Cheng Lin Method and apparatus for managing firmware of an optical storage apparatus
US20090177847A1 (en) 2008-01-09 2009-07-09 International Business Machines Corporation System and method for handling overflow in hardware transactional memory with locks
US7853731B1 (en) 2008-03-18 2010-12-14 Integrated Device Technology, Inc. System and method for embedded displayport link training
US8706690B2 (en) 2008-05-12 2014-04-22 Blackberry Limited Systems and methods for space management in file systems
US10552384B2 (en) 2008-05-12 2020-02-04 Blackberry Limited Synchronizing media files available from multiple sources
JP5320817B2 (ja) 2008-05-23 2013-10-23 富士通セミコンダクター株式会社 データ送信方法及び送信装置
US7907557B2 (en) * 2008-06-13 2011-03-15 Conexant Systems, Inc. Low power receiving
US20100017655A1 (en) 2008-07-16 2010-01-21 International Business Machines Corporation Error Recovery During Execution Of An Application On A Parallel Computer
US8306174B2 (en) 2008-07-30 2012-11-06 Texas Instruments Incorporated Fractional interpolative timing advance and retard control in a transceiver
US8281056B2 (en) 2008-07-31 2012-10-02 Chevron U.S.A. Inc. System and method of processing data on a peripheral device configured to communicate with a host computing system over a peripheral BUS
US7899941B2 (en) 2008-09-30 2011-03-01 Apple Inc. Displayport I2C speed control
US7801161B2 (en) 2008-10-20 2010-09-21 Broadlight, Ltd. Gigabit passive optical network (GPON) residential gateway
US20100097931A1 (en) 2008-10-21 2010-04-22 Shakeel Mustafa Management of packet flow in a network
US8769257B2 (en) 2008-12-23 2014-07-01 Intel Corporation Method and apparatus for extending transport layer security protocol for power-efficient wireless security processing
US8914649B2 (en) * 2009-02-09 2014-12-16 Hewlett-Packard Development Company, L.P. Bios controlled peripheral device port power
US8255725B2 (en) 2009-04-28 2012-08-28 Kabushiki Kaisha Toshiba Information processing apparatus and power-saving control method
US9547535B1 (en) 2009-04-30 2017-01-17 Nvidia Corporation Method and system for providing shared memory access to graphics processing unit processes
US8468285B2 (en) 2009-05-18 2013-06-18 Stmicroelectronics, Inc. Operation of video source and sink with toggled hot plug detection
JP5212543B2 (ja) * 2009-05-26 2013-06-19 富士通株式会社 情報処理装置および情報処理装置の制御方法
JP4986247B2 (ja) 2009-06-02 2012-07-25 株式会社ユビキタス プログラム、制御方法、並びに制御装置
US8611406B2 (en) 2009-06-30 2013-12-17 Lsi Corporation System optimization using soft receiver masking technique
US8230248B2 (en) 2009-07-09 2012-07-24 Xerox Corporation Printer time-out
GB2472050B (en) * 2009-07-22 2013-06-19 Wolfson Microelectronics Plc Power management apparatus and methods
JP5374268B2 (ja) 2009-07-28 2013-12-25 ラピスセミコンダクタ株式会社 情報処理装置
KR20110013867A (ko) 2009-08-04 2011-02-10 삼성전자주식회사 메모리 링크 아키텍쳐에서 플래시 레스 부팅 기능을 갖는 멀티 프로세서 시스템
US8218940B2 (en) 2009-08-28 2012-07-10 Dell Products, Lp System and method for managing multiple independent graphics sources in an information handling system
US8799537B1 (en) 2009-09-25 2014-08-05 Analogix Semiconductor, Inc. Transfer of uncompressed multimedia contents and data communications
US8402261B2 (en) 2009-10-02 2013-03-19 Ca, Inc. System and method providing a pluggable architecture for task management on computers
US20120120959A1 (en) 2009-11-02 2012-05-17 Michael R Krause Multiprocessing computing with distributed embedded switching
US9081501B2 (en) 2010-01-08 2015-07-14 International Business Machines Corporation Multi-petascale highly efficient parallel supercomputer
US8582028B2 (en) 2010-04-06 2013-11-12 Synaptics Incorporated Multi-monitor control
US8384559B2 (en) 2010-04-13 2013-02-26 Silicon Laboratories Inc. Sensor device with flexible interface and updatable information store
US8612242B2 (en) 2010-04-16 2013-12-17 St-Ericsson Sa Minimizing speech delay in communication devices
US9781477B2 (en) 2010-05-05 2017-10-03 Cavium, Inc. System and method for low-latency multimedia streaming
KR101603287B1 (ko) * 2010-05-17 2016-03-14 삼성전자주식회사 시스템 온 칩 및 그것의 동작 방법
KR101320075B1 (ko) 2010-06-18 2013-10-18 엘지디스플레이 주식회사 iDP 인터페이스 기반의 픽셀 클럭 복원 방법과 이를 이용한 표시장치
US8677180B2 (en) 2010-06-23 2014-03-18 International Business Machines Corporation Switch failover control in a multiprocessor computer system
US8656228B2 (en) 2010-06-23 2014-02-18 International Business Machines Corporation Memory error isolation and recovery in a multiprocessor computer system
US8635385B2 (en) 2010-07-16 2014-01-21 Advanced Micro Devices, Inc. Mechanism to handle peripheral page faults
US8635412B1 (en) 2010-09-09 2014-01-21 Western Digital Technologies, Inc. Inter-processor communication
US8595414B2 (en) 2010-09-30 2013-11-26 Apple Inc. Selectively combining commands for a system having non-volatile memory
EP2625926A4 (en) * 2010-10-07 2017-07-19 UTC Fire & Security Corporation Low-power, low-latency, end-to-end communication messaging over multi-hop, heterogenous communication networks
US8904190B2 (en) 2010-10-20 2014-12-02 Advanced Micro Devices, Inc. Method and apparatus including architecture for protecting sensitive code and data
SI2641427T1 (sl) 2010-11-17 2021-01-29 Aviat Networks, Inc. Sistemi in metode za backhaul optimizacijo
US8966222B2 (en) 2010-12-15 2015-02-24 Microsoft Corporation Message passing in a cluster-on-chip computing environment
US8819386B1 (en) 2011-01-25 2014-08-26 Emc Corporation Memory efficient use of dynamic data structures used to manage sparsely accessed data
UA109312C2 (uk) 2011-03-04 2015-08-10 Імпульсно-кодова модуляція з квантуванням при кодуванні відеоінформації
US9262181B2 (en) 2011-05-10 2016-02-16 International Business Machines Corporation Process grouping for improved cache and memory affinity
KR101749583B1 (ko) 2011-05-30 2017-06-21 삼성전자주식회사 시간차 가산기, 시간차 누산기, 시그마-델타 타임 디지털 변환기, 디지털 위상 고정 루프 및 온도 센서
US9009382B2 (en) 2011-06-24 2015-04-14 Maxim Integrated Products, Inc. USB hubs with galvanic isolation
US8832331B2 (en) 2011-08-29 2014-09-09 Ati Technologies Ulc Data modification for device communication channel packets
US8831161B2 (en) 2011-08-31 2014-09-09 Apple Inc. Methods and apparatus for low power audio visual interface interoperability
US20130057567A1 (en) 2011-09-07 2013-03-07 Michael Frank Color Space Conversion for Mirror Mode
US8848809B2 (en) 2011-10-14 2014-09-30 Apple, Inc. Methods and apparatus for low power audio visual interface calibration
US9152580B1 (en) 2011-10-27 2015-10-06 Marvell International Ltd. Method and apparatus for transferring data between a host and an embedded device
US9471121B2 (en) * 2011-11-14 2016-10-18 Texas Instruments Incorporated Microprocessor based power management system architecture
US8719464B2 (en) 2011-11-30 2014-05-06 Advanced Micro Device, Inc. Efficient memory and resource management
CN103150152A (zh) * 2011-12-06 2013-06-12 广东新岸线计算机系统芯片有限公司 一种移动终端的外设电源管理方法和系统
US10368108B2 (en) 2011-12-21 2019-07-30 Ati Technologies Ulc Downstream video composition
JP5722264B2 (ja) 2012-03-23 2015-05-20 株式会社日立ハイテクノロジーズ データ処理装置、データ容量増加抑制方法
CN103377061A (zh) 2012-04-27 2013-10-30 鸿富锦精密工业(深圳)有限公司 固件更新管理系统及方法
JP5962210B2 (ja) 2012-05-25 2016-08-03 富士通株式会社 マルチプロセッサシステム、及びプロセッサ間通信方法
CN104335521B (zh) 2012-05-31 2018-04-24 英特尔公司 数据接口同步
US9978156B2 (en) 2012-10-03 2018-05-22 Avago Technologies General Ip (Singapore) Pte. Ltd. High-throughput image and video compression
US9141162B2 (en) 2012-10-05 2015-09-22 Intel Corporation Apparatus, system and method for gated power delivery to an I/O interface
US9298642B2 (en) 2012-11-01 2016-03-29 Mellanox Technologies Ltd. Sharing address translation between CPU and peripheral devices
US9063891B2 (en) 2012-12-19 2015-06-23 Advanced Micro Devices, Inc. Secure computer system for preventing access requests to portions of system memory by peripheral devices and/or processor cores
JP6040767B2 (ja) 2012-12-28 2016-12-07 富士通株式会社 配信システム、配信方法、及びプログラム
US9026820B2 (en) 2012-12-29 2015-05-05 Intel Corporation Communication link and network connectivity management in low power mode
US9594718B2 (en) 2013-01-24 2017-03-14 Qualcomm Innovation Center, Inc. Hardware accelerated communications over a chip-to-chip interface
US9329671B2 (en) 2013-01-29 2016-05-03 Nvidia Corporation Power-efficient inter processor communication scheduling
US8850085B2 (en) 2013-02-26 2014-09-30 Oracle International Corporation Bandwidth aware request throttling
US9363836B2 (en) 2013-04-01 2016-06-07 Silver Spring Networks, Inc. Secure management of radio transmissions in an endpoint device of a network
WO2014178856A1 (en) 2013-04-30 2014-11-06 Hewlett-Packard Development Company, L.P. Memory network
US9280360B2 (en) 2013-06-14 2016-03-08 Futurewei Technologies, Inc. Bootstrapping from a remote disk image via a network
US9100631B2 (en) 2013-08-05 2015-08-04 Cable Television Laboratories, Inc. Dynamic picture quality control
US9170957B2 (en) 2013-08-29 2015-10-27 Qualcomm Incorporated Distributed dynamic memory management unit (MMU)-based secure inter-processor communication
US10509761B2 (en) 2013-11-14 2019-12-17 Qualcomm Incorporated System and method of sending data via additional secondary data lines on a bus
US10459674B2 (en) 2013-12-10 2019-10-29 Apple Inc. Apparatus and methods for packing and transporting raw data
US9892084B2 (en) 2013-12-10 2018-02-13 Apple Inc. Methods and apparatus for virtual channel allocation via a high speed bus interface
EP3087495A4 (en) 2013-12-23 2017-08-23 Intel Corporation Integrated component interconnect
CN104285218B (zh) 2013-12-31 2017-02-15 华为技术有限公司 一种扩展PCIe总线域的方法和装置
US20150212806A1 (en) 2014-01-29 2015-07-30 Transcend Information, Inc. Initialization method and initializaion system for storage device
JP2015153075A (ja) * 2014-02-13 2015-08-24 富士通株式会社 伝送装置および制御ユニット
US10635316B2 (en) 2014-03-08 2020-04-28 Diamanti, Inc. Methods and systems for data storage using solid state drives
US9769756B1 (en) 2014-03-26 2017-09-19 Amazon Technologies, Inc. Wake-up quotas and statistics generation
US9524052B2 (en) 2014-04-24 2016-12-20 Qualcomm Incorporated Efficient lossless compression for peripheral interface data transfer
US9507726B2 (en) 2014-04-25 2016-11-29 Apple Inc. GPU shared virtual memory working set management
CN105224059B (zh) * 2014-06-25 2018-05-15 宏碁股份有限公司 远端存取数据的方法以及本地端装置
US9460019B2 (en) 2014-06-26 2016-10-04 Intel Corporation Sending packets using optimized PIO write sequences without SFENCEs
US9919958B2 (en) * 2014-07-17 2018-03-20 Corning Incorporated Glass sheet and system and method for making glass sheet
US9632569B2 (en) 2014-08-05 2017-04-25 Qualcomm Incorporated Directed event signaling for multiprocessor systems
US9913305B2 (en) 2014-08-11 2018-03-06 Intel IP Corporation Systems, methods, and devices for congestion control on a mobile network
US9830289B2 (en) 2014-09-16 2017-11-28 Apple Inc. Methods and apparatus for aggregating packet transfer over a virtual bus interface
US9959124B1 (en) 2014-09-26 2018-05-01 Apple Inc. Secure bypass of low-level configuration in reconfiguration of a computing system
US10101797B2 (en) * 2014-09-27 2018-10-16 Intel Corporation Efficient power management of UART interface
EP3013008B1 (en) 2014-10-23 2019-02-06 Alcatel Lucent Transmitting data traffic in a communication network
US10085224B2 (en) 2014-11-19 2018-09-25 Apple Inc. Methods and apparatus for synchronization of media playback within a wireless network
US9544069B2 (en) 2014-11-21 2017-01-10 Apple Inc. Methods and apparatus for link training, initialization and management via a high speed bus interface
US9753526B2 (en) * 2014-12-23 2017-09-05 Intel Corporation Systems and methods for synergistic software-hardware power budget management
US9910475B2 (en) 2014-12-23 2018-03-06 Intel Corporation Processor core power event tracing
US9667560B2 (en) 2014-12-24 2017-05-30 Nicira, Inc. Flow sequencing
US9842036B2 (en) 2015-02-04 2017-12-12 Apple Inc. Methods and apparatus for controlled recovery of error information between independently operable processors
US9568970B1 (en) * 2015-02-12 2017-02-14 Netspeed Systems, Inc. Hardware and software enabled implementation of power profile management instructions in system on chip
US20160363986A1 (en) * 2015-06-09 2016-12-15 Samsung Electronics Co., Ltd. Fast link wake-up in serial-based io fabrics
US10042794B2 (en) 2015-06-12 2018-08-07 Apple Inc. Methods and apparatus for synchronizing uplink and downlink transactions on an inter-device communication link
US9785732B2 (en) * 2015-06-12 2017-10-10 Netspeed Systems, Inc. Verification low power collateral generation
US9753486B2 (en) 2015-06-15 2017-09-05 University Of Utah Research Foundation Clock gating with an asynchronous wrapper cell
US9628211B1 (en) 2015-06-19 2017-04-18 Amazon Technologies, Inc. Clock generation with non-integer clock dividing ratio
JP6868802B2 (ja) 2015-08-03 2021-05-12 パナソニックIpマネジメント株式会社 送信方法、受信方法、送信装置及び受信装置
US9710045B2 (en) 2015-10-14 2017-07-18 Quanta Computer Inc. Managing network wake-up commands
CN106506393A (zh) 2016-02-05 2017-03-15 华为技术有限公司 一种数据流处理方法、装置和系统
US10558580B2 (en) 2016-02-29 2020-02-11 Apple Inc. Methods and apparatus for loading firmware on demand
US11029748B2 (en) * 2016-03-15 2021-06-08 Qualcomm Incorporated Adaptive peripheral component interconnect express link substate initiation for optimal performance and power savings
US10198364B2 (en) 2016-03-31 2019-02-05 Apple Inc. Memory access protection apparatus and methods for memory mapped access between independently operable processors
US10067870B2 (en) 2016-04-01 2018-09-04 Intel Corporation Apparatus and method for low-overhead synchronous page table updates
US10764781B2 (en) 2016-05-03 2020-09-01 Qualcomm Incorporated Systems and methods for reordering data received from a plurality of radio access technologies (RATs)
US9946325B2 (en) 2016-06-30 2018-04-17 Intel IP Corporation Interprocessor power state transitions
US10452124B2 (en) * 2016-09-12 2019-10-22 Netspeed Systems, Inc. Systems and methods for facilitating low power on a network-on-chip
US10445280B2 (en) * 2016-10-12 2019-10-15 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. PCIe switch for aggregating a large number of endpoint devices
US10591976B2 (en) 2016-11-10 2020-03-17 Apple Inc. Methods and apparatus for providing peripheral sub-system stability
GB2566446B (en) * 2017-09-06 2019-09-25 Advanced Risc Mach Ltd Message handling unit to control passing of messages between power domains in an integrated circuit

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080077816A1 (en) * 2006-09-27 2008-03-27 Intel Corporation Subsystem Power Management
US20120084483A1 (en) * 2010-09-30 2012-04-05 Agarwala Sanjive Die expansion bus
US20120124252A1 (en) * 2010-11-16 2012-05-17 Canon Kabushiki Kaisha Data transferring apparatus and control method thereof
JP2012108677A (ja) * 2010-11-16 2012-06-07 Canon Inc データ転送装置及びその制御方法
JP2015001867A (ja) * 2013-06-17 2015-01-05 富士ゼロックス株式会社 情報処理装置
US20160103480A1 (en) * 2014-10-08 2016-04-14 Apple Inc. Methods and apparatus for managing power with an inter-processor communication link between independently operable processors

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11455787B2 (en) 2018-02-16 2022-09-27 Kabushiki Kaisha Toshiba Reading system, reading device, reading method, and storage medium
US11900664B2 (en) 2018-02-16 2024-02-13 Kabushiki Kaisha Toshiba Reading system, reading device, reading method, and storage medium
JP2024512682A (ja) * 2021-03-31 2024-03-19 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド メモリコントローラ電力状態
JP7506272B2 (ja) 2021-03-31 2024-06-25 アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド メモリコントローラ電力状態
WO2023027030A1 (ja) * 2021-08-27 2023-03-02 ソニーセミコンダクタソリューションズ株式会社 通信装置及び通信システム
JPWO2023027030A1 (ja) * 2021-08-27 2023-03-02
US12335055B2 (en) 2021-08-27 2025-06-17 Sony Semiconductor Solutions Corporation Communication device and communications system with state-switching control to synchronize and control switching among communication states
JP7806064B2 (ja) 2021-08-27 2026-01-26 ソニーセミコンダクタソリューションズ株式会社 通信装置及び通信システム

Also Published As

Publication number Publication date
KR20180052539A (ko) 2018-05-18
JP6487988B2 (ja) 2019-03-20
CN108073421B (zh) 2021-07-02
KR102039796B1 (ko) 2019-11-01
US10775871B2 (en) 2020-09-15
EP3321815B1 (en) 2020-10-28
CN108073421A (zh) 2018-05-25
US20180129269A1 (en) 2018-05-10
EP3321815A1 (en) 2018-05-16

Similar Documents

Publication Publication Date Title
JP6487988B2 (ja) 周辺サブシステム用に個別の電力制御を提供するための方法及び装置
US11809258B2 (en) Methods and apparatus for providing peripheral sub-system stability
US10684670B2 (en) Methods and apparatus for managing power with an inter-processor communication link between independently operable processors
CN109478172B (zh) 用于总线主控的转换功能的方法、装置和系统
CN102819312B (zh) 用于一异质性电脑系统的超级作业系统
JP5773288B2 (ja) ハイスピードインターチップhsicインタフェースに基づくウェイクアップ方法、ホットスワップ方法、およびデバイス
US9021143B2 (en) Polling of I/O devices on host initiated communication transports
TW201227516A (en) System and method for facilitating wireless communication during a pre-boot phase of a computing device
CN116302141B (zh) 串口切换方法、芯片及串口切换系统
CN116848519A (zh) 硬件接口信号的生成方法、装置及电子设备
CN102141920B (zh) 一种动态配置C-State方法和通信设备
WO2007076644A1 (en) A mobile computing system and the method for receiving data packagea
US7337338B2 (en) Information handling system capable of operation in reduced power states
EP3583506A1 (en) Configuration parameter transfer
TW201232247A (en) System and method for controlling a server to sleep or awake

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180912

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20181005

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181227

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20190204

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190222

R150 Certificate of patent or registration of utility model

Ref document number: 6487988

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250