(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
ダイナミックランダムアクセスメモリ(DRAM)は、様々なコンピューティングデバイス(たとえば、パーソナルコンピュータ、ラップトップ、ノートブック、ビデオゲームコンソール、ポータブルコンピューティングデバイス、携帯電話など)において使用される。DRAMは、データの各ビットを集積回路内の別々のキャパシタに記憶する、揮発性メモリの一種である。キャパシタは、充電または放電されることが可能である。通例0および1と呼ばれるビットの2つの値を表すために、これらの2つの状態がとられる。キャパシタは電荷をリークするので、キャパシタの電荷が定期的にリフレッシュされない限り、情報は最終的に消滅する。このリフレッシュの必要性により、DRAMは、SRAMおよび他のスタティックメモリとは対照的にダイナミックメモリと呼ばれる。
【0003】
DRAMの利点は、その構造的な簡単さである。すなわち、ビットごとに1つのトランジスタと1つのキャパシタしか必要ではなく、これによりDRAMの密度を非常に高くすることが可能になる。しかしながら、DRAMの密度はおよび速度の要件が上がり続けるにつれて、メモリの消費電力が重大な問題になりつつある。
【0004】
DRAM内の電力は一般に、コアメモリアレイ電力および非コア電力として分類される。コアメモリアレイ電力は、ビットセル/アレイ中のすべてのデータを保持し、リークおよびリフレッシュ動作を管理するための電力を指す。非コア電力は、メモリデバイスへの、およびメモリデバイスからのすべてのデータを転送するための、電流値を検出するための、ならびに、周辺論理手段、マルチプレクサ、内部バス、バッファ、入力/出力(I/O)ドライバ、およびレシーバを管理するための電力を指す。非コア電力を低減することが重大な問題である。
【0005】
非コア電力を低減するための既存の解決法は通常、動作電圧を下げること、負荷容量を低減すること、または、性能が必要とされていないときは常に動作周波数を一時的に下げることを伴っている。しかしながら、これらの解決法は、帯域幅を必要とする集中的使用の事例に対処することができない。他の解決法は、メモリシステムと関連付けられるデータアクティブ率を下げることを試みている。データアクティブ率kは、一定の期間にわたるメモリアクセスシステムにおける0から1へのトグルまたは遷移の数を指す。たとえば、0,1,0,1,0,1,0,1という単一の配線上の8ビートのシーケンスでは、k=0.5である。データアクティブ率を下げる試みが、画像圧縮を使用したディスプレイフレームのバッファのような、特定のタイプのデータに対して提案されている。これは通常、ソース(すなわち、ディスプレイハードウェアエンジン)において実行される。しかしながら、そのような解決法は、このタイプのディスプレイデータに非常に特化され限定されており、そのようなデータは通常、DRAM使用量の全体の相対的に小さな割合しか占めない。
【発明を実施するための形態】
【0011】
「例示的」という用語は、本明細書において「一例、事例、または実例として役立つ」ことを意味するように使用される。「例示的」として本明細書で説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるとは限らない。
【0012】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの、実行可能なコンテンツを有するファイルを含むことがある。加えて、本明細書で言及される「アプリケーション」は、開かれる必要があり得る文書、またはアクセスされる必要がある他のデータファイルなどの、本質的に実行可能ではないファイルも含むことがある。
【0013】
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含むことがある。加えて、本明細書で参照される「コンテンツ」は、また、開かれる必要があり得る文書、またはアクセスされる必要がある他のデータファイルなどの、本質的に実行可能でないファイルを含むことがある。
【0014】
本明細書で使用される場合、「コンポーネント」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連のエンティティを指すものとする。たとえば、コンポーネントは、限定はされないが、プロセッサ上で実行されているプロセス、プロセッサ、オブジェクト、実行可能ファイル、実行のスレッド、プログラム、および/またはコンピュータであってよい。例示として、コンピューティングデバイス上で実行されているアプリケーションと、コンピューティングデバイスの両方が、コンポーネントであってよい。1つまたは複数のコンポーネントは、プロセスおよび/または実行スレッド内に存在してもよく、コンポーネントは、1つのコンピュータに局在していてもよく、および/または、2つ以上のコンピュータに分散されていてもよい。加えて、これらのコンポーネントは、様々なデータ構造を記憶した様々なコンピュータ可読媒体から実行してもよい。コンポーネントは、1つまたは複数のデータパケット(たとえば、ローカルシステム、分散システム中の別のコンポーネントと対話する、および/または、信号によってインターネットなどのネットワークにわたって他のシステムと対話する、1つのコンポーネントからのデータ)を有する信号などに従って、ローカルプロセスおよび/またはリモートプロセスによって通信してもよい。
【0015】
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は、互換的に使用される。第3世代(“3G”)ワイヤレス技術および第4世代(“4G”)が出現したことによって、利用可能な帯域幅が拡大されたので、より多様なワイヤレス機能を備えた、より携帯が容易なコンピューティングデバイスが利用可能になっている。したがって、ポータブルコンピューティングデバイスは、携帯電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、またはワイヤレス接続もしくはワイヤレスリンクを有するハンドヘルドコンピュータを含んでよい。
【0016】
図1は、データマスキング機能を使用してメモリI/O電力を低減するためのシステム100を示す。システム100は、パーソナルコンピュータと、ワークステーションと、サーバと、携帯電話、携帯情報端末(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、またはタブレットコンピュータなどのポータブルコンピューティングデバイス(PCD)とを含む、任意のコンピューティングデバイスにおいて実装され得る。
図1の実施形態に示されるように、システム100は、DRAM104を備えるメモリシステムに結合されたシステムオンチップ(SoC)102を備える。SoC102は、DRAM104からのメモリリソースを要求する1つまたは複数のメモリクライアント106を含む、様々なオンチップコンポーネントを備える。メモリクライアント106は、1つまたは複数の処理装置(たとえば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、ディスプレイプロセッサなど)、ビデオエンコーダ、またはDRAM104への読取り/書込みアクセスを要求する他のクライアントを備えてよい。メモリクライアント106は、SoCバス110を介してメモリコントローラ108に接続される。メモリコントローラ108は、SoC物理層デバイス114を介して、DRAM104との間のデータの流れを制御する。
【0017】
図1に示されるように、メモリコントローラ108およびDRAM104は、データバスを介してメモリデータを通信し、データバスは、メモリコントローラ108とSoC物理層デバイス114との間のインターフェース116と、SoC物理層デバイス114とDRAM104との間のインターフェース120とを備える。メモリコントローラ108は、データマスキング(DM)信号を介してデータマスキングを選択的に制御するように構成される。DM信号は、接続118を介してSoC物理層デバイスに、および接続122を介してDRAM104に提供されてよい。当技術分野において知られているように、データマスキングは、データが上書きされるのを防ぐための、DRAM104などのメモリデバイスの内蔵機能である。下でより詳細に説明されるように、システム100は、データマスキング機能を増強して、DRAM104と関連付けられる読取りおよび/または書込み動作のためのメモリI/O電力を低減する。
【0018】
データマスキング動作の一実施形態では、データ(DQ)ピンを介して送信されるメモリデータのバイトごとに1つのDM信号があってよい。たとえば、1つのDMピンは、8ビットのデータ(すなわち、8個のDQピン)のマスキングを制御してよい。DQピンは、インターフェース116および120を介して双方向データバスにおいてデータ信号を送信および受信する。データバスのピンはDQまたはDQピンとしてラベリングされ呼ばれることを理解されたい。DMは通常、DRAM104に書き込まれるデータの量が最小アクセス長(MAL)よりも短いときに使用される。DRAMメモリのトランザクションは、データバスにわたる複数のビートで構成される。ビートの数(「バースト長」)は固定されており、DRAMタイプに依存する(たとえば、DDRでは2、DDR2では4、DDR3では8など)。ビートの数とデータバスの幅の組合せが、MALを定義する。たとえば、32ビット幅のLPDDR2は、16バイトのMALを有する(4ビート×32ビット=128ビット=16バイト)。
【0019】
図1にさらに示されるように、メモリコントローラ108はデータマスキング電力低減モジュール112を備え、データマスキング電力低減モジュール112はメモリI/O電力を低減するためにデータマスキング機能を選択的に使用するように構成される。データマスキング電力低減モジュール112は、DRAM104へのデータ入力のデータアクティブ率kを下げてよい。DRAM内の電力は、コアメモリアレイ電力および非コア電力として分類されることがある。当技術分野において知られているように、コアメモリアレイ電力は、コアメモリアレイ中のすべてのデータを保持し、リークおよびリフレッシュ動作を管理するための電力を指す。非コア電力は、メモリデバイスへの、およびメモリデバイスからのすべてのデータを転送するための、電流値を検出するための、ならびに、周辺論理手段、マルチプレクサ、内部バス、バッファ、入力/出力(I/O)ドライバ、およびレシーバを管理するための電力を指す。データマスキング電力低減モジュール112はI/Oメモリ電力(P)を低減し、Pは動的電力(D)と静的電力(S)の合計として表されてよい。
【0020】
DRAM104における動的電力すなわち非コア電力は、式1によって表されてよい。
動的電力=kCV
2f×密度
ここで、k=データアクティブ率
C=負荷容量
V=電圧
f=周波数またはトグルレート
密度=ギガバイト(GB)単位の全体の容量
式1
【0021】
データアクティブ率kは、一定の期間にわたる0から1へのトグルまたは遷移の数として定義されてよい。たとえば、1ビットの8ビートシーケンス01010101では、k=0.5である。DRAMメモリシステム104への最小のアクセスは、1つのDRAM最小アクセス長(MAL)トランザクションと呼ばれる。32ビットの並列なLPDDR3 DRAMバスに対して、MAL=32ビット×8ビート=256ビット=32バイト(8ビート、32ビット幅)である。MALトランザクションは、継続的に、連続的に発生することがある。
【0022】
密度および周波数の要求が増大しているので、非コア電力を低減することは、負荷容量を低減すること、電圧を下げること、ビートごとに各ビットに対するkを最小化すること、またはMALごとに各ビットに対するkを最小化することを必要とする。非コア電力を低減するための既存の方法は一般に、動作電圧を下げること、負荷容量を低減すること、または、性能が必要とされていないときは常に動作周波数を一時的に下げることを伴っている(これは、帯域幅を必要とする集中的使用の事例に対処することができない)。データアクティブ率kを下げる試みが、画像圧縮を使用したディスプレイフレームのバッファのような、特定のタイプのデータに対して提案されている。しかしながら、これは通常、ソース(たとえば、ディスプレイハードウェアエンジン)において実行される。しかしながら、そのような解決法は、このタイプのディスプレイデータに非常に特化され限定されており、そのようなデータは通常、DRAM使用量の全体の相対的に小さな割合しか占めない。
【0023】
以下でより詳細に説明されるように、データマスキング電力低減モジュール112は、データマスキング(DM)機能の使用および修正を通じてデータアクティブ率kと静的電力(S)とを低減することによって、メモリI/O電力を低減する。一実施形態では、データマスキング電力低減モジュール112は、データマスキング動作の間にDQピンの終端が電力を消費する時間を低減することによって、静的電力を低減してよい。別の実施形態では、データアクティブ率kは、DM信号が有効である間のデータバス上での0から1へのトグルの数を低減するようにデータマスキング動作を選択的に制御することによって減らされてよい。
【0024】
図2は、システム100がデフォルト状態200として利用し得る、従来のデータマスキング動作を示すタイミング図である。
図2は、同期クロック信号202、データマスキング動作を制御するためのDM信号204、およびDM信号204に応答するDQ信号206の相対的なタイミングを示す。信号202、204、および206は、MALトランザクションに対する適切な数のビート(nビート)を備えるDDRトランザクションについて示される。クロック信号は、たとえば、信号を同期させるためにハイ状態とロー状態との間で発振する電圧を備えてよい。クロック信号202は、固定された一定の周波数の、デューティサイクル50%の矩形波を備えてよい。一実施形態では、クロック信号202は、0.5nsのデータバーストを伴う1nsの周波数を備えるが、周波数は所望のように変更してよいことを理解されたい。ロー状態は、たとえば0ボルトの電圧レベルを備えてよく、ハイ状態は、たとえば1.2V〜1.5Vの範囲の電圧レベルを備えてよい。ハイ状態およびロー状態は、所望のように代替的な電圧および範囲を有し得ることを理解されたい。DM信号204およびDQ信号206は、同期のためにクロック信号202を使用する。DM信号204およびDQ信号206は、クロック信号202の立ち上がりまたは立ち下がりのいずれかにおいて(またはダブルデータレートの場合両方において)アクティブになってよいことを理解されたい。DM信号204およびDQ信号206は、適切な電圧レベルの間を振動してよい。たとえば、一実施形態では、DQ信号206は、0ボルトというロー電圧と約1.2V〜1.5Vというハイ電圧との間で振動してよい。差動の場合には、DQ信号206は約200mVの周りを振動してよい。
図2〜
図6および
図9に示される、クロック信号202、DM信号204、ならびにDQ信号206の電圧および時間範囲は、所望のように変えられ得ることを当業者は理解するであろう。
【0025】
メモリコントローラ108は、DM信号204を使用して、データマスキング動作をアクティブ化し、そして非アクティブ化する。
図2に示されるように、DM信号204がロー状態208にあるとき、データマスキング動作は非アクティブであり、対応するビート214は有効なメモリデータであると見なされる。信号遷移210によって示されるように、データマスキング動作は、DM信号204をハイ状態212に変更することによってアクティブ化される。
図2に示されるデフォルト状態200では、DM信号204がハイ状態212にあるとき、対応するビート216は「ドントケア」(X)状態を備える。X状態では、DQピンはトグルを続けてメモリI/O電力を消費してよいが、データはDRAM104によって無視されてよい。
【0026】
(デフォルト状態200におけるように)DQピンをX状態のままにする代わりに、データマスキング電力低減モジュール112は、メモリI/O電力消費を低減する、複数の電力節約状態の1つへと、DQピンを駆動するように構成されてよい。一実施形態では、電力節約状態は、システム100におけるDRAM104のタイプと、DRAM104によって利用されるDQピン終端方式のタイプとに基づいて選択されてよい。DQピン終端方式の様々な例(
図7a〜
図7e)および適した電力節約状態が、
図3〜
図7に関連して以下で説明される。
【0027】
電力節約状態の一例は最終保持状態である。
図3は、デフォルト状態200(
図2)ではなく最終保持状態300の、信号202、204、および206のタイミング図を示す。最終保持状態300では、遷移210の前のDQピンの最後の値がデータマスキング動作の間保持される。
図3に示されるように、最後の値がハイ状態であった場合、DM信号204がアクティブである間はDQピンはハイ状態304に保持される。最後の値がロー状態であった場合、DQピンはロー状態302に保持される。最終保持状態300は、さらなるトグルがないのでメモリI/O電力消費を低減することがあることを理解されたい。最終保持状態はあらゆるDRAMのタイプに対して実施されてよいこともさらに理解されたい。終端されていないDQピン(
図7a)または差動終端されたDQピン(
図7e)を利用するDRAMデバイスに対しては、最終保持状態300を適用することが特に望ましいことがある。
図7aに示される終端されていないDQピンの方式は、終端されていないSoCピン702およびDRAMピン704を備える。
図7eに示されるように、差動終端されたDQピンの場合、正のピン714および718ならびに負のピン716および720がともに、正のピンと負のピンを接続する抵抗722を通じて同じ値に(たとえば、最後の正の値)に駆動されてよい。
【0028】
図4は、ロー保持状態400を示す。ロー保持状態400では、DM信号204がアクティブである間は、DQピンはロー状態402に駆動される。ロー保持状態400は、
図7bに示されるような、グランドを基準とするシグナリングを利用するメモリシステム(たとえば、LPDDR4タイプのDRAM)において、静的電力を節約することがある。
図7bを参照すると、一実施形態では、SoCピン702とDRAMピン704との間の接続は、抵抗706を通じてグランドに接続されてよい。
【0029】
図5は、ハイ保持状態500を示す。ハイ保持状態500では、DQピンはハイ状態502に駆動される。ハイ保持状態500は、
図7cに示されるような、電源電圧を基準とするシグナリングを利用するメモリシステム(たとえば、PCDDR4)において、静的電力を節約することがある。
図7cの実施形態では、SoCピン702とDRAMピン704との間の接続は、抵抗708を介して電源に接続されてよい。
【0030】
図6は、トライステート600を示す。トライステート600では、DQピンはトライステートにされるか、またはフローティングのままにされる(すなわち、駆動されない)。トライステート600は、
図7dに示されるような、Vddとグランドの両方への終端抵抗710および712を伴うメモリシステム(たとえば、PCDDR3)において、静的電力を節約することがある。
【0031】
図8は、メモリI/O電力を低減するための、システム100によって実施される方法800の一実施形態を示すフローチャート800である。ブロック802において、方法800は、複数のDQピンを介してメモリコントローラ108に結合されるDRAM104のタイプを決定する。上で言及されたように、異なるタイプのDRAM104は、異なるピン終端(
図7a〜
図7e)を利用してよい。DRAM104および/またはDQピン終端のタイプに基づいて、ブロック802において、適した電力節約の状態(すなわち、最終保持状態300、ロー保持状態400、ハイ保持状態500、トライステート600)が選択されてよい。データマスキング動作がアクティブ化されるとき(判断ブロック806)、DQピンは、上で説明されたように、メモリI/O電力を低減するために選択された状態へと駆動されてよい。
【0032】
データマスキング電力の低減は、DDRトランザクションの間の任意の時間においても実行されてよいことを理解されたい。
図2〜
図6に関連して上で説明された実施形態では、データマスキング動作はDDRトランザクションの終わりに実行される。他の実施形態では、データマスキング動作はDDRトランザクションの最初に実行されてよい。
図9は、データマスキング動作が1つまたは複数のビートに対する中間トランザクションのために選択的にアクティブ化されることのある、別の実施形態を示す。
図9の例に示されるように、データマスキング動作は、DDRトランザクションの間に複数回アクティブ化される(ハイ状態902、904、906、および908)。ハイ状態902および908は2つのビートに対してアクティブであるが、ハイ状態904および906は単一のビートに対してアクティブである。DM信号204のハイ状態902、904、906、および908の間に、DQ信号206は、メモリI/O電力を低減するためにそれぞれ、ロー状態912、916、922、および926に駆動される。DM信号204がロー状態にあるとき、データマスキング動作は非アクティブであり、対応するビート910、914、918、920、および924は有効なメモリデータであると見なされる。DM信号204は、メモリI/O電力の低減を最適化するために、DDRトランザクションの間の任意の数のビートに対して任意の回数有効にされてよいことを理解されたい。
【0033】
上で説明されたデータマスキング電力低減方式は、読取り動作または書込み動作の間に適用され得る。
図10は、書込み動作のためのシステム100の一実施形態を示す。書込み動作のために、SoC物理層デバイス114は、各DQピンに対してラインドライバ1004とマルチプレクサ1006とを備えてよい。各マルチプレクサ1006は、メモリコントローラ108からデータを受信するための入力と、マルチプレクサ制御信号(MUX CTL)を受信するためのI/O論理手段1002に接続される別の入力とを有する。I/O論理手段1002は、DM信号204およびDRAMのタイプに基づいて、どのマルチプレクサ入力をI/Oに渡すかを決定するように構成される。
【0034】
図10にさらに示されるように、マルチプレクサ1006からの出力は、対応するラインドライバ1004への入力として提供される。各ラインドライバ1004はまた、I/O論理手段1002からトライステート制御信号を受信する。I/O論理手段1002は、トライステート制御信号に基づいてI/Oのトライステートを制御する。たとえば、DRAMのタイプがLPDDR4である場合、I/O論理手段1002は、DMがアサートされるときにI/Oをグランドに駆動してよい。単一のDDRチャネルは、SoC物理層デバイス114および適切に構成されたメモリコントローラ108の、複数のインスタンスを有してよい。
【0035】
図11は、読取り動作のためのシステム100の別の実施形態を示す。読取りの実装形態は書込みの実装形態と類似しており、ラインドライバ1004、マルチプレクサ1006、およびI/O論理手段1002がDRAM物理層1102において実装される。代替的な実施形態では、マルチプレクサ1006およびI/O論理手段1002は、物理層デバイス114および1102以外のシステム100のコンポーネントにおいて実装されてよいことを理解されたい。
図11にさらに示されるように、DRAM104は、読取り動作のためのデータマスキング動作をサポートするように構成されてよい。DRAM104は、上で説明されたように、データマスキング電力低減モジュール112(
図1)を備えてよい。
【0036】
上で言及されたように、システム100は任意の望ましいコンピューティングシステムに組み込まれてよい。
図12は、例示的なポータブルコンピューティングデバイス(PCD)1200に組み込まれたシステム100を示す。システム100のいくつかのコンポーネントはSoC322(
図12)に含まれるが、他のコンポーネント(たとえば、DRAM104)はSoC322に結合された外部コンポーネントであることが容易に理解されるだろう。SoC322は、マルチコアCPU402Aを含んでよい。マルチコアCPU1202は、第0のコア410、第1のコア412および第Nのコア414を含んでよい。コアの1つは、たとえば、グラフィックス処理装置(GPU)を備えてよく、他のコアの1つまたは複数は、CPUを備える。
【0037】
ディスプレイコントローラ328およびタッチスクリーンコントローラ330は、CPU1202に結合されてよい。一方、オンチップシステム322の外部にあるタッチスクリーンディスプレイ108は、ディスプレイコントローラ1206およびタッチスクリーンコントローラ330に結合されてよい。
【0038】
図12は、ビデオエンコーダ334、たとえば位相反転線(PAL)エンコーダ、順次式カラーメモリ(SECAM)エンコーダ、または全米テレビジョン方式委員会(NTSC)エンコーダがマルチコアCPU1202に結合されることをさらに示す。さらに、ビデオ増幅器336は、ビデオエンコーダ334およびタッチスクリーンディスプレイ1206に結合される。また、ビデオポート338はビデオ増幅器336に結合される。
図12に示されるように、ユニバーサルシリアルバス(USB)コントローラ340は、マルチコアCPU1202に結合される。同様に、USBポート342は、USBコントローラ340に結合される。メモリ1204および加入者識別モジュール(SIM)カード346も、マルチコアCPU1202に結合されてよい。メモリ1204は、SoC322に存在するか、または(
図1に示されるように)SoC322に結合されてよい。メモリ1204は、上で説明されたように、DRAMメモリシステム104(
図1)を備えてよい。
【0039】
さらに、
図12に示されるように、デジタルカメラ348がマルチコアCPU1202に結合されてよい。例示的な態様では、デジタルカメラ348は、電荷結合デバイス(CCD)カメラまたは相補型金属酸化物半導体(CMOS)カメラである。
【0040】
図12にさらに示されるように、ステレオオーディオコーダ-デコーダ(コーデック)350が、マルチコアCPU1202に結合されてよい。その上、オーディオ増幅器352が、ステレオオーディオコーデック350に結合されてよい。例示的な態様では、第1のステレオスピーカー354および第2のステレオスピーカー356が、オーディオ増幅器352に結合される。
図12は、マイクロフォン増幅器358もステレオオーディオコーデック350に結合されてよいことを示す。加えて、マイクロフォン360が、マイクロフォン増幅器358に結合されてよい。特定の態様では、周波数変調(FM)ラジオチューナー362が、ステレオオーディオコーデック350に結合されてよい。また、FMアンテナ364が、FMラジオチューナー362に結合される。さらに、ステレオヘッドフォン366が、ステレオオーディオコーデック350に結合されてよい。
【0041】
図12はさらに、高周波(RF)トランシーバ368がマルチコアCPU402Aに結合されてよいことを示す。RFスイッチ370が、RFトランシーバ368およびRFアンテナ372に結合されてよい。
図12に示されるように、キーパッド204がマルチコアCPU1202に結合されてよい。また、マイクロフォンを備えたモノヘッドセット376が、マルチコアCPU1202に結合されてよい。さらに、バイブレータデバイス378がマルチコアCPU1202に結合されてよい。
【0042】
図12はまた、電源380がオンチップシステム322に結合されてよいことを示す。特定の態様では、電源380は電力を必要とするPCD1200の様々なコンポーネントに電力を供給する直流(DC)電源である。さらに、特定の態様では、電源は、充電式DCバッテリー、または交流(AC)電源に接続されたAC-DC変換器から得られるDC電源である。
【0043】
図12は、PCD1200が、データネットワーク、たとえばローカルエリアネットワーク、パーソナルエリアネットワーク、任意の他のネットワークにアクセスするために使用されてよいネットワークカード388も含んでよいことをさらに示す。ネットワークカード388は、Bluetooth(登録商標)ネットワークカード、WiFiネットワークカード、パーソナルエリアネットワーク(PAN)カード、パーソナルエリアネットワーク超低電力技術(PeANUT)ネットワークカード、テレビジョン/ケーブル/衛星チューナー、または当技術分野でよく知られている任意の他のネットワークカードであってよい。さらに、ネットワークカード388は、チップに組み込まれることがあり、すなわち、ネットワークカード388は、チップ内のフルソリューションであってもよく、別個のネットワークカード388でなくてもよい。
【0044】
図12に示されるように、タッチスクリーンディスプレイ1206、ビデオポート338、USBポート342、カメラ348、第1のステレオスピーカー354、第2のステレオスピーカー356、マイクロフォン360、FMアンテナ364、ステレオヘッドフォン366、RFスイッチ370、RFアンテナ372、キーパッド374、モノヘッドセット376、バイブレータ378、および電源380は、オンチップシステム322の外部にあってもよい。
【0045】
本明細書で説明された方法ステップの1つまたは複数は、上で説明されたモジュールなどのコンピュータプログラム命令としてメモリに記憶されてよいことを理解されたい。これらの命令は、本明細で説明された方法を実行するために、対応するモジュールと組み合わせて、またはそれと協働して、任意の適切なプロセッサによって実行されてよい。
【0046】
本発明が説明された通りに機能するように、本明細書で説明されたプロセスまたはプロセスフロー内の特定のステップが他のステップよりも先行するのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は、説明されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、いくつかのステップは、他のステップの前に実行されてよく、後に実行されてよく、または他のステップと並行して(実質的に同時に)実行されてよいことを認識されたい。いくつかの例では、本発明から逸脱することなく、いくつかのステップが省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」などの語は、ステップの順番を限定することを意図していない。これらの語は単に、例示的な方法の説明を通じて読者を導くために使用される。
【0047】
さらに、プログラミングの当業者は、たとえば、本明細書のフローチャートおよび関連する説明に基づいて、開示される発明を実施するために、コンピュータのコードを書くこと、または適切なハードウェアおよび/もしくは回路を特定することが容易に可能である。
【0048】
したがって、プログラムコード命令または詳細なハードウェアデバイスの特定のセットの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとは見なされない。特許請求されるコンピュータにより実施されるプロセスの進歩性のある機能は、上の説明において、かつ様々なプロセスフローを示し得る図面とともに、より詳細に説明される。
【0049】
1つまたは複数の例示的な態様では、説明される機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実装されてよい。ソフトウェアで実装される場合、機能は、1つまたは複数の命令またはコードとして、コンピュータ可読媒体上に記憶されてよく、またはコンピュータ可読媒体上で送信されてよい。コンピュータ可読媒体は、コンピュータ記憶媒体と、コンピュータプログラムの1つの場所から別の場所への転送を容易にする任意の媒体を含む通信媒体との両方を含む。記憶媒体は、コンピュータによってアクセスされてよい任意の利用可能な媒体であってよい。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、NANDフラッシュ、NORフラッシュ、M-RAM、P-RAM、R-RAM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するために使用されコンピュータによってアクセスされてよい任意の他の媒体を備えてよい。
【0050】
また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(“DSL”)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【0051】
本明細書では、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(“CD”)、レーザディスク(disc)、光ディスク(disc)、デジタルバーサタイルディスク(disc)(“DVD”)、フロッピーディスク(disk)、およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、一方、ディスク(disc)はデータをレーザで光学的に再生する。上記の組合せも、コンピュータ可読媒体の範囲に含まれるべきである。
【0052】
本発明の趣旨および範囲から逸脱することなく、本発明が関係する代替的な実施形態が、当業者には明らかになるであろう。したがって、選択された態様が図示され詳細に説明されてきたが、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変が行われてよいことが理解されるであろう。