(58)【調査した分野】(Int.Cl.,DB名)
複数の電力状態を提供するよう動作可能な電力管理集積回路(PMIC)であって、当該電力管理集積回路は、自律サブシステムを、スリープ状態からアクティブ状態に遷移させ、前記自律サブシステムは、第二のサブシステムがスリープ状態に留まる間、アクティブであり、低電力常時オン電源によって電力を与えられ、
前記低電力常時オン電源は、メモリへの非コヒーレントなデータ経路に電力を与える、電力管理集積回路。
当該電力管理集積回路が、前記自律サブシステムがコヒーレントなデータをコヒーレントなデータ経路上でメモリに提供するときには前記第二のサブシステムをスリープ状態から出させる、請求項5記載の電力管理集積回路。
当該電力管理集積回路が、前記自律サブシステムによる非コヒーレントなメモリ・アクセスに応答しては主要電力レールをトグルさせない、請求項5記載の電力管理集積回路。
【発明を実施するための形態】
【0005】
上記のように、コンピューティング装置は典型的にはいくつかの異なる電力状態にはいることができる。具体的なオペレーティング・システムに依存して、状態は「S」状態と称されることがある。たとえば、S0はアクティブ状態であってもよく、S3は待機状態であってもよく、S4はハイバーネーション状態であってもよく、S5はオフ状態であってもよい。さらに、S0アクティブ状態の間にコンピューティング装置の諸インターフェースおよび諸サブシステムを横断して諸スリープ状態が実装されてもよく、S0ix状態と称されることができる。S0ix状態では、システムはS0(アクティブ)状態にあるものの、さまざまなサブシステムが低減電力モードにあることができる。S0ix状態において、「i」はS0状態内でのアイドル期間(idleness period)を表わしてもよく、「x」はアイドル期間の継続時間のためのプレースホルダーを表わしうる。「x」の値が大きいほど長い継続時間を表わす。
【0006】
いかなる所与のSOCでも、典型的には、メイン・メモリへの単一の経路がすべてのサブシステムによって使用される。SOCのアーキテクチャに依存して、一つのサブシステムをS0ix状態から覚醒させるときは、他のサブシステムにS0ix状態から出て電力を消費させることがある。本稿に記載される実施形態は、それらのサブシステムのためのメイン・メモリへの、きわめて低電力の、常時利用可能な常時オン(AON)の経路を可能にする。諸実施形態において、メモリへのAON経路は、深いS0ix状態を含めすべてのシステム状態の間にアクティブなままであるサブシステムとともに使われる。いくつかのサブシステムは、他のサブシステムがS0ix状態に留まっている間に、S0ix状態を出て、メモリへのAON経路にアクセスすることができる。
【0007】
以下の記述および請求項において、用語「結合された」および「接続された」ならびにその派生形が使われることがありうる。これらの用語は互いの同義語として意図されていないことは理解されるべきである。むしろ、個別的な実施形態において、二つ以上の要素が互いに直接的に物理的または電気的に接触していることを示すために用語「接続された」が使われることがある。「結合された」は二つ以上の要素が直接的に物理的または電気的に接触していることを意味することがあるが、「結合された」は二つ以上の要素が互いに直接接触してはいないが、それでも互いと協働または相互作用することをも意味することがある。
【0008】
いくつかの実施形態は、ハードウェア、ファームウェアおよびソフトウェアの一つまたは組み合わせにおいて実装されてもよい。いくつかの実施形態は、本稿に記載される動作を実行するためにコンピューティング・プラットフォームによって読み込まれ、実行されうる、機械可読媒体上に記憶された命令として実装されてもよい。機械可読媒体は、機械、たとえばコンピュータによって読み取り可能な形で情報を記憶または伝送するためのいかなる機構をも含みうる。たとえば、機械可読媒体は、読み出し専用メモリ(ROM);ランダム・アクセス・メモリ(RAM);磁気ディスク記憶媒体;光記憶媒体;フラッシュメモリ・デバイス;または電気、光学、音響または他の形の伝搬させられる信号、たとえば搬送波、赤外線信号、デジタル信号または信号を送信および/または受信するインターフェースなどを含みうる。
【0009】
実施形態とは、実装または例である。本明細書における「ある実施形態」「一つの実施形態」「いくつかの実施形態」「さまざまな実施形態」または「他の実施形態」への言及は、それらの実施形態との関連で記述される具体的な特徴、構造または特性が、本願の技法の少なくともいくつかの実施形態に含まれるが、必ずしもすべての実施形態には含まれないことを意味する。「ある実施形態」「一つの実施形態」または「いくつかの実施形態」のさまざまな出現は、必ずしもみなが同じ実施形態を指すのではない。ある実施形態からの要素または側面が、別の実施形態の要素または側面と組み合わされることができる。
【0010】
本稿に記載および例解されるすべてのコンポーネント、特徴、構造、特性などが特定の単数または複数の実施形態に含まれる必要はない。明細書がたとえばあるコンポーネント、特徴、構造または特性が含まれていてもよい、含まれうる、含まれることができる、あるいは含まれることがありうると述べる場合、その特定のコンポーネント、特徴、構造または特性が含まれることは必須ではない。明細書または請求項が要素の単数形に言及する場合、そのことはその要素が一つだけあることを意味するのではない。明細書または請求項が「追加的な」要素に言及する場合、そのことは、その追加的な要素が二つ以上あることを排除しない。
【0011】
いくつかの実施形態は特定の実装を参照して記載されてきたものの、いくつかの実施形態によれば他の実装が可能であることを注意しておく。さらに、図面に示されるおよび/または本稿で記述される回路要素または他の特徴の配置および/または順序は、図示および記述される特定の仕方に配置される必要はない。いくつかの実施形態によれば、他の多くの配置が可能である。
【0012】
図に示される各システムにおいて、いくつかの場合における要素はそれぞれ同じ参照符号または異なる参照符号をもつことがある。これは、表わされている要素が異なるおよび/または同様であることができることを示す。しかしながら、要素は、異なる実装をもつのに十分柔軟であって、図示されるまたは本稿に記載されるシステムの一部または全部と協働してもよい。図に示されるさまざまな要素は同じまたは異なることがありうる。どれが第一の要素と称されるかおよびどれが第二の要素と呼ばれるかは任意である。
【0013】
図1は、コンピューティング・システム100のブロック図である。コンピューティング装置100はたとえば、ラップトップ・コンピュータ、デスクトップ・コンピュータ、タブレット・コンピュータ、ウルトラブック、モバイル装置またはサーバーなどでありうる。コンピューティング装置100はシステム・オン・チップ(SOC)102を含んでいてもよい。SOC 102は電力管理集積チップ(PMIC: power management integrated chip)104とインターフェースをもっていてもよい。本稿で例解されるSOC 102は、マイクロコントローラ108と通信する通信インターフェース106のようなコンポーネントを含んでいてもよい。マイクロコントローラ108は、中央処理ユニット(CPU)110、グラフィック処理ユニット(GPU)112、ビデオ・コンポーネント114、カメラ116、ディスプレイ118、センサー・ハブ120、モデム122、オーディオ124、一つまたは複数のメモリ126および一つまたは複数の統合された低ドロップアウト・レギュレーター(LDO: low dropout regulator)128を含むいくつかの他のサブシステムと動作上通信可能であってもよい。いくつかのシナリオでは、CPU 110はV
CC電力供給レールによって電力を与えられることができ、一方、GPU 112、ビデオ・コンポーネント114、カメラ116、ディスプレイ118、センサー・ハブ120、モデム122、オーディオ124、メモリ126およびLDO 128はV
NN電力供給レールによって電力を与えられる。諸実施形態において、同様のセンサー・ハブ120、モデム122およびオーディオ124のような常時利用可能なサブシステムは、常時オン電力供給(V
NNAON)によって電力を与えられる。
【0014】
GPU 112は、コンピューティング・システム100内で任意の数のグラフィック動作を実行するよう構成されていてもよい。たとえば、GPU 112は、コンピューティング・システム100のユーザーに対して表示されるよう、グラフィック画像、グラフィック・フレーム、ビデオなどをレンダリングまたは操作するよう構成されていてもよい。結合されうるディスプレイ118は、コンピューティング・システム100の組み込みコンポーネントであるディスプレイ画面を含む。ディスプレイ118は、コンピューティング装置100に外的に接続されているコンピュータ・モニタ、テレビジョンまたはプロジェクターなどと結合されてもよい。
【0015】
センサー・ハブ120は、さまざまなセンサーからのデータを統合し、処理する自律サブシステムと考えられてもよい。いくつかの場合には、自律サブシステムとは、CPU、GPUまたは他のサブシステムとは独立して機能でき、独立して応答または反応できるサブシステムである。自律サブシステムは、サブシステム動作のすべての側面を協調させるおよび/または制御するためにコンピュータのオペレーティング・システムを使うことを必要としないサブシステムであってもよい。このように、自律サブシステムは、本願の技法に従って記載されるように、オペレーティング・システムがメモリ・サブシステムにアクセスすることは必要としない。結果として、自律サブシステムは、メモリ・アクセスの目的については、独立して存在し、オペレーティング・システムの外部制御なしに自分自身で応答および/または反応しうる。
【0016】
モデム122は、無線データを送信および受信するためにさまざまなアンテナを含んでいてもよく、やはり自律サブシステムであってもよい。モデム122は、コンピューティング・システム100をバス106を通じてネットワーク130に接続するよう構成されていてもよい。ネットワーク130は、広域ネットワーク(WAN)、ローカル・エリア・ネットワーク(LAN)またはインターネットなどであってもよい。モバイルSOCでは、モデム122はモバイル装置を基地局に接続してもよい。オーディオ・サブシステムは、複数のスピーカーおよび音出力装置に接続されてもよい。いくつかの場合には、オーディオ・サブシステム124は自律サブシステムである。メモリ126は、ランダム・アクセス・メモリ(RAM)、読み出し専用メモリ(ROM)、フラッシュメモリまたは他の任意の好適なメモリ・システムを含むことができる。たとえば、メモリ126は、動的ランダム・アクセス・メモリ(DRAM)または静的ランダム・アクセス・メモリ(SRAM)を含んでいてもよい。SOCはオフチップ・メモリ127と結合されてもよい。オフチップ・メモリ127はたとえばDRAMまたはSRAMを含んでいてもよい。
【0017】
いくつかの場合には、センサー・ハブ120、モデム122、オーディオ・サブシステム124は自律的で、SOC 102上の残りのサブシステムはS0ixスリープ状態にある間に、アクティブであり、メモリにアクセスしている。センサー・ハブ120、モデム122、オーディオ・サブシステム124のような自律サブシステムは、SOC 102のファブリック階層において低位に位置されることができる。これらの自律サブシステムがファブリック階層において低位なので、メモリ・サブシステム126にアクセスするためにこれらの自律サブシステムを覚醒させることは、すべてのファブリックおよびサブシステムを覚醒させる結果となることがある。V
NNAON電力供給レールにより、他のサブシステムをスリープ状態から出させることなく、これらの自律サブシステムが電源投入され、メモリ・サブシステム126にアクセスすることができるようにすることができる。一例では、CPU 110はV
CC電力供給レールによって電源を与えられることができる一方、CPU 112、ビデオ、114、カメラ116、ディスプレイ118およびLDO 128はV
NN電力供給レールによって電力を与えられることができる。常時利用可能な常時オンのV
NNAON電力供給レールが、センサー・ハブ120、モデム122およびオーディオ124のような自律サブシステムに電力を与えるために使用できる。本稿での用法では、常時利用可能とは、S0ix状態および典型的には電力供給レールを電源オフにする他の任意の深いスリープ状態の間に電力がオンであることを指す。V
NN電力供給レール、V
CC電力供給レールまたはそれらの任意の組み合わせが、第一の電力供給レールであってもよく、複数のサブシステムに電力を与えることができる。V
NNAON電力供給レールが第二の電力供給レールであってもよく、複数の自律サブシステムに電力を与えることができる。ここで、V
NNAON電力供給レールは常時オンであり、低電力である。
【0018】
PMIC 104は、バースト制御ユニット(BCU: burst control unit)132、割り込み管理コンポーネント134および通信インターフェース136のような追加的なコンポーネントを含みうる。BCU 132は、SOC 102のV
CC電力供給レール、V
NN電力供給レールおよびV
NNAON電力供給レールのような電力供給レール上でカレント(current)・レベルを示す一つまたは複数の比較器からのデータを受領し、処理するよう動作してもよい。よって、V
CC電力供給レールのモニタリングが参照符号138で示されている。V
NN電力供給レールのモニタリングは参照符号140で示されており、V
NNAON電力供給レールのモニタリングは参照符号142で示されている。いくつかの場合には、複数の電力状態を提供するよう動作可能である。ここで、PMICは自律サブシステムをスリープ状態から、該自律サブシステムがアクティブであり低電力常時オンV
NNAON電力供給レールによって電力を与えられるアクティブ状態に遷移させることができる。一方、第二のサブシステムはスリープ状態に留まり、V
NN電力供給レール、V
CC電力供給レールまたはそれらの任意のくみあわせによって電力を与えられる。
【0019】
さまざまな電力供給レール上でのそのようなカレント・モニタリングの結果は、さらなる処理のために割り込み管理コンポーネント134に送られてもよい。割り込み管理コンポーネント134は、モニタリングされるカレント・レベルが閾値設定を横切るときに割り込みを生成するよう動作してもよい。閾値設定はプログラム可能なトリップ・ポイントと称されてもよい。割り込みは、電力供給レール上のカレント・レベルが閾値設定を横切って過剰レベルにはいったかどうかまたは前記閾値設定を横切って正常レベルに戻ったかを示すデータを含んでいてもよい。次いで、割り込みはPMIC 104上の通信インターフェース136に転送されてもよい。通信インターフェース136は次いで、該割り込みをPMIC 104から出てSOC 102に転送してもよい。PMIC 104が記述されているが、PMICは本願の技法と一緒に使うために必須ではない。
【0020】
典型的なモバイルSOCでは、主要SOC電力レールV
NNはS0ix電力状態の間は電源オフされる。いくつかの場合には、PMICはS0ix電力状態の間、V
NN電力供給レールをトグルさせる。結果として、メモリへの常時オン経路がないときは、主要レールV
NNは自律サブシステムによる何らかのメモリ・アクセスのために電源投入され、電源を落とされる。V
NNレールをトグルさせることに伴って、PMICへの通信遅延およびシステムを通信できる状態にするために必要なエネルギーに関するコストがある。本願の技法は、V
NNレールを頻繁にトグルさせる必要をなくすことによって、これらのコストを回避する。むしろ、他のサブシステムを覚醒させてV
NN電力供給レールを電源オンすることなく、V
NNAON電力供給レールがいくつかの自律サブシステムのために使用されることができる。
【0021】
図1のブロック図は、システム100が
図1に示されるコンポーネントのすべてを含むことを示すことは意図されていない。さらに、システム100は、個別の実装の詳細に依存して、
図1に示されていない追加的なコンポーネントをいくつでも含んでいてもよい。さらに、SOC 102は例示的である。個別の環境およびSOC 102の機能に依存して、他のコンポーネントまたはコンポーネントの組み合わせが使われてもよい。実施形態は、SOC 102の例に限定されない。
【0022】
図2は、SOC 102のブロック図である。SOC 200はファブリック202、ファブリック204およびファブリック206を含む。例において、ファブリック(fabric)とは、高帯域幅相互接続によって接続されたノードのグループ化である。各サブシステムは、ファブリックに接続されたノードと考えることができる。さらに、各ファブリックは階層式に接続されることができる。
【0023】
図のように、ファブリック202は階層における最高のファブリックである。ファブリック202はCPU 110、カメラ116、グラフィック・サブシステム112、ディスプレイ118および他のコントローラ210を相互接続する。他のコントローラ210は、デバッグ・ユニット、音声認識ユニットおよび他の任意の一般的な集積パッケージ(IP: integrated package)を含むがそれに限られない。階層における次のファブリックはファブリック204である。ファブリック204はいくつかのコントローラ212を接続する。いくつかの場合には、他のコントローラ212は、ユニバーサル・シリアル・バス(USB)コントローラ、ストーレジIPおよび他の任意のIPを含むがそれに限られない。ファブリック204は、USBサブシステム214、埋め込みマルチメディア・コントローラ(eMMC: Embedded Multimedia Controller)サブシステム216およびユニバーサル・フラッシュ・ストーレジ(UFS: Universal Flash Storage)サブシステム218をも接続する。ファブリック204は、オープン・コア・プロトコル(OCP: Open Core Protocol)ブリッジ220を介してモデム122をも接続する。ファブリック206は、電力管理コントローラ(PMC: Power Management Controller)222、オーディオ・サブシステム124、センサー・ハブ120および通信セキュリティ確立(CSE: communications security establishment)サブシステム224を接続する。ある種のサブシステムおよびコントローラは特定のファブリックを通じてSOC 200に取り付けられているものとして図示されているが、本願の技法は複数のサブシステムの任意の配置とともに使用されることができる。
【0024】
図2に示されるように、ファブリック202は、ファブリックの階層内で高位に位置され、メモリ・サブシステム126への直接アクセスをもつ。ファブリック204はファブリック202より下であり、ファブリック204を通じてメモリ・サブシステム126にアクセスする。よって、ファブリック204は、メモリ・サブシステム126にアクセスするために、ファブリック202をS0ix状態から覚醒させうる。同様に、ファブリック206はファブリック204およびファブリック202より下である。ファブリック206は、ファブリック204およびファブリック202を通じてメモリ・サブシステム126にアクセスする。よって、ファブリック206は、メモリ・サブシステム126にアクセスするために、ファブリック204およびファブリック202をS0ix状態から覚醒させうる。
図2に示されるように、モデム122のメモリ・アクセス遅延を短縮するために、モデム122がファブリック階層においてより上位に接続されている。換言すれば、ファブリック階層におけるモデム122の位置は、モデム122がメモリ・サブシステム126にアクセスするためにかかる時間の長さを短縮するよう意図されている。
【0025】
図3は、常時オン(AON)ファブリック206をもつSOC 300のブロック図である。SOC 300はファブリック202およびファブリック204を含む。しかしながら、自律サブシステムはAONファブリック206に再配置されている。自律サブシステムは、SOC 300の残りの部分がスリープ状態にある間に独立してメモリ・サブシステム126にアクセスできるサブシステムを含む。いくつかの場合には、このAONファブリックはすべてのシステム状態において電源を与えられる。
【0026】
AONファブリック206は、コヒーレントおよび非コヒーレントなトラフィックをシステムと通じた異なる経路に分割することができる。コヒーレントなデータは、SOC 300内で諸ノードを横断して供給されるデータを含むことができる。データ一貫性のために、コヒーレント・データ経路304は、コヒーレントなデータを、SOC 300の他のファブリックを通じてルーティングする。非コヒーレント・データ経路306は、非コヒーレント・データを、ファブリック204またはファブリック202にアクセスすることなくメモリ・サブシステム126にルーティングする。非コヒーレント・データ経路306からの、メモリ・サブシステム126に送られる、AONファブリック206の非コヒーレントなトラフィックを取るために、小さなブリッジ308が使われる。
【0027】
非コヒーレントなトラフィックを搬送する低電力バイパス経路によってアクセスされるメモリの部分のために、チャネル・インターリーブが、パフォーマンスではなく電力のために最適化されることができる。このチャネル・インターリーブは、特定の装置のアクセスのためにアクティブ化されるデータ・ユニット(Dunit)の数を減らすとともに、より多くのDRAMチップを自己リフレッシュに保持する。例では、メモリ・アクセス要求を実行するために必要なコマンドまたは命令を生成するためにDunitが使われる。Dunitは、メモリ・バスを通じた伝送のために、該コマンドまたは命令を含むパケットを待ち行列に入れてもよい。さらに、Dunitは、コア周波数とメモリ・バスの基本周波数との間のクロック境界を横断するデータ転送を同期させもする。
【0028】
図3に示されるように、SOC 300のサブシステムは、さまざまな供給レールから電力を引き出して動作できる。CPU 110、カメラ116およびGPU 112は、V
CC電力供給レールから電力を引き出してもよく、このことはこれらのコンポーネントのそれぞれのクロスハッチによって示されている。同様に、ファブリック202、他のコントローラ210、ディスプレイ118、USBサブシステム214、eMMCサブシステム216、UFSサブシステム218、ファブリック204およびCSE 224は、V
NN電力供給レールを使って電力を与えられることができる。このことは、これらのコンポーネントのそれぞれの網点によって示されている。PMC 222、オーディオ・サブシステム124、センサー・ハブ120、OCPブリッジ220およびモデム122はV
NNAON電力供給レールを使って電力を与えられることができる。このことは、これらのコンポーネントのそれぞれの斜線によって示されている。メモリ・サブシステム126は、コンポーネントがメモリ・サブシステム126にアクセスすることに応じて電力を与えられてもよい。メモリ・サブシステム126中の斜線および網点によって示されるように、メモリ・サブシステム126はV
NN電力供給レールまたはV
NNAON電力供給レールから電力を受領しうる。
【0029】
ロングタームエボリューション(LTE)モデムの場合、約300nsという厳しいメモリ・アクセス遅延要求がある。そのためLTEモデムはDunitの非常に近くに接続されることが要求された。LTE規格の詳細はさまざまな3GPP刊行物において記されている。本願の技法は、LTEモデムによるメモリ・アクセスのための専用のAON経路を可能にする。結果として、モデム取り付け点は、ファブリック階層におけるより低い位置に再配置されることができる。いくつかの場合には、AONファブリックによって接続される各サブシステムは、AONファブリック自身も含め、較正されたリング発振器クロックを使って走る。較正されたリング発振器クロックは、位相ロックループ(PLL)クロック生成器を電源投入することに関わる電力使用を防止するために使われることができる。よって、本願の技法は、低遅延をサポートするための内部モデム・サブシステムのアーキテクチャを直すことなく、低メモリ・アクセス遅延をもつさまざまなモデムをサポートするために使用されることができる。
【0030】
例において、本稿に記載されるSOCはモバイル装置に含まれてもよい。モバイル装置のコンポーネントは常時オンであってもよい。たとえば、モデムは、モバイル装置を基地局と同期させるために、規則的な間隔で基地局をピングしてもよい。基地局との通信は、メモリ・サブシステムにアクセスすることをも含んでいてもよい。サブシステムに応じてメモリ・アクセスを分類することによって、メモリ・アクセスは当該SOCを通じて等しく扱われるのではなくなる。自律サブシステムがSOC上のメモリにアクセスするときは、それらのアクセスは、該データが非コヒーレントであるとき、メモリへの低帯域幅、低遅延の経路を使うことができる。このようにして、高帯域幅を用いてデータの大きな部分にアクセスするよう設計されているSOC全体を覚醒させることのコストが回避できる。結果として、本技法はSOCによるエネルギー消費を低減することができる。
【0031】
図4は、メモリへの常時オン経路を可能にするための方法400のプロセス流れ図である。ブロック402において、メモリへの第一の電力経路が有効にされる。いくつかの場合には、メモリへの第一の電力経路はメモリへの主要な経路である。メモリへの該主要な経路は、コヒーレントなトラフィックによって使用されることができ、非常に高いデータ帯域幅をサポートできる。さらに、メモリへの第一の経路は主要電源レールによって電源を与えられてもよい。ブロック404では、メモリへの第二の電力経路が有効にされる。メモリへの第二の経路は常時オンかつ低電力である。該常時オン経路は、非コヒーレントなトラフィックによって使用され、低電力データ転送のために最適化される。メモリへの第二の経路は第二の低電力常時オン電力レールによって電力を与えられてもよい。第二の電力レールは、主要電力レールに比べると、より低電力であってもよい。いくつかの場合には、第二の電力レールは、システムの他の電力レールと比べると、より低電力である。メモリへの第一の電力経路およびメモリへの第二の電力経路は、いかなる特定の順序で有効にされるのでもない。むしろ、第二の電力経路が第一の電力経路より先に有効にされてもよく、あるいは第一の電力経路および第二の電力経路が同時に有効にされてもよい。
【0032】
例において、本願の技法によれば、システム内で覚醒の数が増す際に、電力使用は平坦または安定なままとなりうる。よって、本願の技法は、メモリへの常時オン経路がないシステムに比べると、有意な電力節約につながる。さらに、本願の技法は、モバイル装置で有用であることができる。モバイル装置は典型的には、バックグラウンドで走り、頻繁なシステム覚醒を引き起こす多数のアプリケーション(アプリ)を有するからである。
【0033】
本願の技法は、最も深いS0ix状態を出る必要がないことによって、全体的なシステム・エネルギーを低減することもできる。上記で論じたように、自律サブシステムからのいかなるメモリ・アクセスも、SOC全体を覚醒させ、SOC全体を深いS0ix状態から出させることがある。その結果、深いS0ix状態にはいったり出たりすることによる遷移エネルギーとして余計な電力損失が生じる。通常のSOCでは、SOC状態を保存および復元し、バルクのキャパシタ(たとえばV
NNおよびSRAM)を充電する間に消費される見積もられたエネルギーは約100.2マイクロジュールであることができ、これは毎秒の保存および復元のための100マイクロワットより多い。システム・スリープ状態に出たりはいったりするための遷移エネルギー・コストは、短いバッテリー寿命をもつ、競争力のないモバイル装置につながりうる。いくつかの例では、頻繁な覚醒は全くS0ix状態にはいらないことにつながることがある。さらに、通常のSOCでは、メイン・メモリにアクセスするための遅延は、深いS0ixから出る遅延によって指定される。使用事例が大きなメモリ・アクセス遅延を許容しないことがあり、メモリ・アクセス遅延を避けるために、サブシステムが最も深いS0ix状態にはいることを妨げることがありうる。サブシステムが最も深いS0ix状態にはいることを妨げられるとき、フロア電量は増大され、システムはより浅いS0ix状態に留まる。その結果、電力が無駄になる。本願の技法により自律サブシステムを常時オン・ファブリックに再配置することによって、遅延に対する要求があればそれを満たしつつ、システムの諸部分が深いスリープ状態にはいり、留まることができ、それにより電力を節約できる。
【0034】
本願の技法は、新しい使用事例が発見されるにつれてみつかる増大する数の自律サブシステムを活用できる。これらの新しい自律サブシステムは、該自律サブシステムが深いS0ix状態においてアクティブであることを要求することができる。通常のSOCの制限の結果として、サブシステムは大きな内部SRAMサイズをもって設計される傾向がある。たとえば、センサー・ハブは600KBより大きいSRAMを有していてもよく、モデムは12.5MBより大きいSRAMを有していてもよい。しかしながら、SRAM漏れ電力は、特に保持(retention)において、トランジスタ・サイズがスケーリングされるにつれて増大し続ける。さらに、SRAMは、深いスリープ状態における、より高い漏れ電力に寄与する。たとえば、センサー・ハブは、深いスリープ状態において370マイクロワットより大きなエネルギーを漏らしうる。本願の技法は、そのようなサブシステム内でのSRAMサイズの低減を可能にする。さらに、本願の技法は、スリープ状態においてSRAMの一部の電源を落とすことを可能にし、それによりサブシステムの漏れ電力およびダイ面積を低減する。
【0035】
さらに、ジオフェンス(GeoFencing)のような特定の使用事例が本願の技法を使って実装されることができる。いくつかの場合には、ジオフェンスは、電子装置が地理的境界を定義することを可能にする。地理的境界を定義するために、全地球測位システム(GPS)または電波周波数識別(RFID)が使用されることができる。ジオフェンスは、メモリにアクセスするときの毎秒のページ・ミスの多さおよびミス毎に付随する高いエネルギー・コストを考えると、非常にエネルギー効率が悪いことがありうる。各ミスは典型的には、V
NNレールをアップさせ、次いで残りのサブシステムおよびファブリック階層全体を電源オンすることを必要とする。本願の技法は、ページ・ミスに付随するエネルギー・ミスを大幅に削減することを可能にし、よってバッテリー寿命への大きな影響なしにそのような新たな使用事例を可能にする。
【0036】
本願の技法は、ファブリック、クロッキングおよびメモリ・チャネルのような共有される資源に対するより少ない依存性をも使う。よって、メイン・メモリ・アクセス遅延が低減できる。特に、各サブシステム内の内部スクラッチSRAM/キャッシュが低減できる。さらに、現在の「主要ファブリック」の構造上の複雑さの低減が可能にされる。主要ファブリックとは、ファブリック1 202(
図2)のような、メモリ、CPU、GFx、ディスプレイおよびISPを接続するファブリックであることができる。遅延は本願の技法に基づく主要経路についての基準ではないので、主要ファブリックおよび経路は、帯域幅についてのみ最適化されることができ、よってメモリへのより効率的な経路であることができる。例において、本願の技法は、諸自律サブシステムが、同じファブリック上で互いに近くに配置されることを要求する。これは、SOC全体にわたる小さな散らばった複数のAONアイランドではなく、単一の大きなAON電力アイランドを作り出すことを許容する。これは実装を助ける。
【0037】
さらに、本願の技法は、すべての自律AONサブシステムが別個のコンパニオン・ダイに移動されることができる再分配のための機会を開く。このコンパニオン・ダイは、きわめて低い漏れのプロセスを使って製造されることができる。その結果、最高のパフォーマンスのためにチューニングされたプロセスを使って当該SOCを製造し、すべての自律サブシステムを、きわめて低い漏れのために最適化された異なるプロセスで製造されるコンパニオン・ダイに移すことになる。別個のコンパニオン・ダイは、低遅延インターフェース(LLI: low latency interface)のような低遅延リンクを通じたダイ上の低電力メモリ経路から裨益することができる。
【実施例1】
【0038】
超低電力アーキテクチャをもつ装置が本稿に記載される。本装置は、第一の電力供給レールおよび第二の電力供給レールを含む。複数のサブシステムが前記第一の電力供給レールによって電力を与えられ、複数の自律サブシステムが該電力供給レールによって電力を与えられる。前記第二の電力供給レールは常時オン、常時利用可能かつ低電力である、
本装置は、システム・オン・チップであってもよい。前記自律サブシステムが、当該装置のメモリに直接アクセスしてもよい。前記複数の自律サブシステムによるメモリ・アクセスはS0ixシステム状態から出ない。さらに、自律サブシステムは、深いS0ixスリープ状態の間にアクティブであってもよい。本装置は、前記複数の自律サブシステムからメモリ・サブシステムへのコヒーレントなデータ経路と;前記複数の自律サブシステムからメモリ・サブシステムへの非コヒーレントなデータ経路も含んでいてもよい。前記複数の自律サブシステムは、当該装置の同じファブリック上に配置されることができ、あるいは前記複数の自律サブシステムは、当該装置の別個のコンパニオン・ダイに移されることができる。前記複数の自律サブシステムは、センサー・ハブ、モデム、オーディオ、独立してメモリにアクセスできる任意のサブシステムまたはそれらの任意の組み合わせを含む。さらに、当該装置はモバイル装置であってもよい。メモリへの高帯域幅の経路が第一の電力供給レールによって有効にされてもよく、前記第一の電力供給レールは大半の状態の間、電力を落とされることができる。前記常時オン、常時利用可能な第二の電力供給レールを使って、メモリへの低帯域幅の経路が有効にされてもよい。
【実施例2】
【0039】
電力管理集積回路(PMIC)が本稿で記載される。当該電力管理集積回路は複数の電力状態を提供するよう動作可能であり、当該電力管理集積回路は、自律サブシステムを、スリープ状態からアクティブ状態に遷移させてもよい。前記自律サブシステムは、第二のサブシステムがスリープ状態に留まりうる間、アクティブであり、低電力常時オン電源によって電力を与えられうる。
【0040】
前記低電力常時オン電源は、メモリへの非コヒーレントなデータ経路に電力を与えてもよい。前記自律サブシステムは、低電力使用事例の間にメモリにアクセスするために非コヒーレントなデータ経路を使うことができる。さらに、当該電力管理集積回路は、前記自律サブシステムがコヒーレントなデータをコヒーレントなデータ経路上でメモリに提供するときには前記第二のサブシステムをスリープ状態から出させることができる。当該電力管理集積回路は、前記自律サブシステムによる非コヒーレントなメモリ・アクセスに応答しては主要電力レールをトグルさせなくてもよい。当該電力管理集積回路は複数の自律サブシステムを管理することもできる。前記複数の自律サブシステムは、同じファブリック上に配置されることができる。メイン・メモリ・アクセス遅延が短縮されうる。前記自律サブシステムおよび前記第二のサブシステムは、システム・オン・チップのコンポーネントであることができる。また、当該電力管理集積回路は、サブシステム毎に複数のスリープ状態を可能にしてもよい。
【実施例3】
【0041】
超低電力アーキテクチャを提供する方法が本稿で記載される。本方法は、モバイル・システム・オン・チップ上のメモリへの第一の経路を有効にする段階を含み、メモリへの前記第一の経路は主要電力レールによって電力を与えられてもよい。本方法は、前記モバイル・システム・オン・チップ上のメモリへの第二の経路を有効にする段階を含み、メモリへの該経路は第二の低電力常時オン電力レールによって電力を与えられてもよい。
【0042】
メモリへの前記第一の経路は高帯域幅、高遅延のデータ経路であってもよい。メモリへの前記第二の経路は低帯域幅、低遅延のデータ経路であってもよい。自律サブシステムは、第二のサブシステムがS0ixシステム状態を出ることなく、メモリへの前記第二の経路を使って前記メモリにアクセスすることができる。さらに、メモリへの前記第一の経路は複数の自律サブシステムから前記メモリ・サブシステムへのコヒーレントなデータ経路であってもよい。メモリへの前記第二の経路は複数の自律サブシステムからメモリ・サブシステムへの非コヒーレントなデータ経路であってもよい。さらに、メモリへの前記第二の経路は、前記モバイル・システム・オン・チップの同じファブリック上に配置された複数の自律サブシステムによってアクセスされてもよい。メモリへの前記第二の経路は、前記モバイル・システム・オン・チップの別個のコンパニオン・ダイに配置された複数の自律サブシステムによってアクセスされてもよい。前記自律サブシステムは、センサー・ハブ、モデム、オーディオ、独立してメモリにアクセスできる任意のサブシステムまたはそれらの任意の組み合わせを含みうる。前記モバイル・システム・オン・チップの電力使用が削減されうる。
【実施例4】
【0043】
超低電力アーキテクチャをもつ装置が本稿に記載される。当該装置は、当該装置のメモリ・デバイスに電力を供給する第一の手段を含む。当該装置は、当該装置の前記メモリ・デバイスに電力を供給する第二の手段をも含み、前記第二の手段は常時オンかつ低電力であってもよい。
【0044】
電力を供給する前記第二の手段によって複数の自律サブシステムが電力を与えられることができる。電力を供給する前記第二の手段が、メモリへの、常時オン、常時利用可能、低帯域幅かつ低遅延のデータ経路に電力を与えてもよい。前記複数の自律サブシステムによるメモリ・アクセスがS0ixシステム状態から出なくてもよい。さらに、自律サブシステムは、深いS0ixスリープ状態の間にアクティブであってもよい。本装置は、前記複数の自律サブシステムからメモリ・サブシステムへのコヒーレントなデータ経路と;前記複数の自律サブシステムからメモリ・サブシステムへの非コヒーレントなデータ経路とを含んでいてもよい。複数の自律サブシステムが当該装置の同じファブリック上に配置されてもよい。さらに、前記複数の自律サブシステムは、当該装置の別個のコンパニオン・ダイに移されてもよい。さらに、前記複数の自律サブシステムは、センサー・ハブ、モデム、オーディオ、独立してメモリにアクセスできる任意のサブシステムまたはそれらの任意の組み合わせを含むことができる。本装置は、モバイル装置であってもよい。また、前記メモリ・デバイスに電力を供給する前記第二の手段は、前記常時オン、常時利用可能な第二の電力供給レールを使って可能にされてもよい。
【実施例5】
【0045】
超低電力アーキテクチャをもつシステムが本稿で記載される。本システムは、ディスプレイと;無線機と;プロセッサとを含む。前記メモリは、命令を記憶してもよく、前記ディスプレイに通信上結合されていてもよい。前記プロセッサは、前記無線機および前記メモリに通信上結合されている。本システムは、第一の電力供給レールおよび第二の電力供給レールをも含む。複数のサブシステムが前記第一の電力供給レールによって電力を与えられ、複数の自律サブシステムが前記第二の電力供給レールによって電力を与えられ、前記第二の電力供給レールは常時オンかつ常時利用可能である。
【0046】
前記自律サブシステムは、前記メモリに、メモリへの低遅延、低帯域幅の経路を介して直接アクセスしてもよい。前記複数の自律サブシステムによるメモリ・アクセスはS0ixシステム状態から出ない。さらに、前記第二の電力供給レールによって電力を与えられる自律サブシステムは、前記第一の電力供給レールの電力が落とされうる深いS0ixスリープ状態の間にアクティブであってもよい。本システムはまた、前記複数の自律サブシステムからメモリ・サブシステムへの、前記第一の電力供給レールによって電力を与えられるコヒーレントなデータ経路と;前記複数の自律サブシステムからメモリ・サブシステムへの、前記第二の電力供給レールによって電力を与えられうる非コヒーレントなデータ経路も含んでいてもよい。前記複数の自律サブシステムは、本システムの同じファブリック上に配置されてもよい。さらに、前記複数の自律サブシステムは、本システムの別個のコンパニオン・ダイに移されてもよい。前記複数の自律サブシステムは、センサー・ハブ、モデム、オーディオ、独立してメモリにアクセスできる任意音サブシステムまたはそれらの任意の組み合わせを含むことができる。本システムは、モバイル装置であることができる。メモリへの高帯域幅の経路が、たいていの時間にオフにされることができる第一の電力供給レールによって可能にされてもよい。メモリへの低帯域幅の経路が、前記常時オン、常時利用可能な第二の電力供給レールを使って可能にされてもよい。
【0047】
上述した例における個別事項は一つまたは複数の実施形態においてどこで使われてもよいことは理解されるものとする。たとえば、上記のコンピューティング装置のすべての任意的な特徴は、本稿に記載される方法またはコンピュータ可読媒体のいずれかに関して実装されてもよい。さらに、流れ図および/または状態図が実施形態を記述するために本願で使われたことがありうるが、本願の技法はそうした図や本稿の対応する記述に限定されない。たとえば、流れ宇はそれぞれの図示される四角または状態を通じて、あるいは図示され本稿で記述されるのと同じ順序で、移行する必要はない。
【0048】
本願の技法は、本稿に挙げられる個別的な詳細に制約されない。実のところ、本開示の恩恵を受ける当業者は、本願の技法の範囲内で、以上の記述および図面からの他の多くの変形がなされうることを理解するであろう。よって、本願の技法の範囲を定義するのは、補正があればそれも含めて、付属の請求項である。
いくつかの態様を記載しておく。
〔態様1〕
超低電力アーキテクチャをもつ装置であって、
第一の電力供給レールであって、複数のサブシステムが前記第一の電力供給レールによって電力を与えられる、第一の電力供給レールと;
第二の電力供給レールであって、複数の自律サブシステムが該電力供給レールによって電力を与えられ、前記第二の電力供給レールは常時オン、常時利用可能かつ低電力である、第二の電力供給レールとを有する、
装置。
〔態様2〕
システム・オン・チップである、態様1記載の装置。
〔態様3〕
前記自律サブシステムが、当該装置のメモリに直接アクセスする、態様1記載の装置。
〔態様4〕
前記複数の自律サブシステムによるメモリ・アクセスがS0ixシステム状態から出ない、態様1記載の装置。
〔態様5〕
自律サブシステムは、深いS0ixスリープ状態の間にアクティブである、態様1記載の装置。
〔態様6〕
複数の電力状態を提供するよう動作可能な電力管理集積回路(PMIC)であって、当該電力管理集積回路は、自律サブシステムを、スリープ状態からアクティブ状態に遷移させ、前記自律サブシステムは、第二のサブシステムがスリープ状態に留まる間、アクティブであり、低電力常時オン電源によって電力を与えられる、電力管理集積回路。
〔態様7〕
前記低電力常時オン電源は、メモリへの非コヒーレントなデータ経路に電力を与える、態様6記載の電力管理集積回路。
〔態様8〕
前記自律サブシステムは、低電力使用事例の間にメモリにアクセスするために非コヒーレントなデータ経路を使う、態様6記載の電力管理集積回路。
〔態様9〕
当該電力管理集積回路が、前記自律サブシステムがコヒーレントなデータをコヒーレントなデータ経路上でメモリに提供するときには前記第二のサブシステムをスリープ状態から出させる、態様6記載の電力管理集積回路。
〔態様10〕
当該電力管理集積回路が、前記自律サブシステムによる非コヒーレントなメモリ・アクセスに応答しては主要電力レールをトグルさせない、態様6記載の電力管理集積回路。
〔態様11〕
超低電力アーキテクチャを提供する方法であって:
モバイル・システム・オン・チップ上のメモリへの第一の経路を有効にする段階であって、メモリへの前記第一の経路は主要電力レールによって電力を与えられる、段階と;
前記モバイル・システム・オン・チップ上のメモリへの第二の経路を有効にする段階であって、メモリへの該経路は第二の低電力常時オン電力レールによって電力を与えられる、段階とを含む、
方法。
〔態様12〕
メモリへの前記第一の経路は高帯域幅、高遅延のデータ経路である、態様11記載の方法。
〔態様13〕
メモリへの前記第二の経路は低帯域幅、低遅延のデータ経路である、態様11記載の方法。
〔態様14〕
自律サブシステムが、第二のサブシステムがS0ixシステム状態を出ることなく、メモリへの前記第二の経路を使って前記メモリにアクセスする、態様11記載の方法。
〔態様15〕
超低電力アーキテクチャをもつ装置であって:
当該装置のメモリ・デバイスに電力を供給する第一の手段と;
当該装置の前記メモリ・デバイスに電力を供給する第二の手段とを有しており、前記第二の手段は常時オンかつ低電力である、
装置。
〔態様16〕
電力を供給する前記第二の手段によって複数の自律サブシステムが電力を与えられる、態様15記載の装置。
〔態様17〕
電力を供給する前記第二の手段が、メモリへの、常時オン、常時利用可能、低帯域幅かつ低遅延のデータ経路に電力を与えるものである、態様15記載の装置。
〔態様18〕
前記複数の自律サブシステムによるメモリ・アクセスがS0ixシステム状態から出ない、態様15記載の装置。
〔態様19〕
自律サブシステムは、深いS0ixスリープ状態の間にアクティブである、態様15記載の装置。
〔態様20〕
前記複数の自律サブシステムからメモリ・サブシステムへのコヒーレントなデータ経路と;
前記複数の自律サブシステムからメモリ・サブシステムへの非コヒーレントなデータ経路とを有する、
態様15記載の装置。
〔態様21〕
超低電力アーキテクチャをもつシステムであって:
ディスプレイと;
無線機と;
命令を記憶する、前記ディスプレイに通信上結合されているメモリと;
前記無線機および前記メモリに通信上結合されているプロセッサと;
第一の電力供給レールであって、複数のサブシステムが前記第一の電力供給レールによって電力を与えられる、第一の電力供給レールと;
第二の電力供給レールであって、複数の自律サブシステムが前記第二の電力供給レールによって電力を与えられ、前記第二の電力供給レールは常時オンかつ常時利用可能である、第二の電力供給レールとを有する、
システム。
〔態様22〕
前記自律サブシステムが、前記メモリに、メモリへの低遅延、低帯域幅の経路を介して直接アクセスする、態様21記載のシステム。
〔態様23〕
前記複数の自律サブシステムによるメモリ・アクセスがS0ixシステム状態から出ない、態様21記載のシステム。
〔態様24〕
前記第二の電力供給レールによって電力を与えられる自律サブシステムは、前記第一の電力供給レールの電力が落とされる深いS0ixスリープ状態の間にアクティブである、態様21記載のシステム。
〔態様25〕
前記複数の自律サブシステムからメモリ・サブシステムへの、前記第一の電力供給レールによって電力を与えられるコヒーレントなデータ経路と;
前記複数の自律サブシステムからメモリ・サブシステムへの、前記第二の電力供給レールによって電力を与えられる非コヒーレントなデータ経路とを有する、
態様21記載のシステム。