(57)【要約】  メモリシステムにおける電力消費を節約するためのシステムおよび方法が開示される。1つのそのようなシステムは、DRAMメモリシステムと、システムオンチップ(SoC)とを備える。SoCは、メモリバスを介してDRAMメモリシステムに結合される。SoCは、1つまたは複数のメモリクライアントからの、DRAMメモリシステムにアクセスするためのメモリ要求を処理するための1つまたは複数のメモリコントローラを備える。1つまたは複数のメモリコントローラは、メモリバスのバス幅を動的にサイズ変更することによって、メモリ電力消費を選択的に節約するように構成される。
2016534484.tif 000002
【特許請求の範囲】
【請求項１】
メモリシステムにおける電力消費を節約するための方法であって、
システムオンチップ(SoC)に存在するメモリクライアントから、メモリバスを介して前記SoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するステップと、
前記メモリクライアントからの前記メモリ要求が前記メモリバスの全幅未満を使用するための性能使用事例に対応すると判断するステップと、
前記メモリバスを前記全幅未満に動的にサイズ変更することによって、前記性能使用事例に対応する前記メモリ要求に対するメモリ電力消費を節約するステップと
を備える方法。
【請求項２】
前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項1に記載の方法。
【請求項３】
前記メモリバスがNビットチャネルを備え、前記メモリバスのバス幅を前記動的にサイズ変更するステップが、前記Nビットチャネルを(N-M)ビットチャネルに低減するステップを備える、請求項1に記載の方法。
【請求項４】
前記メモリバスがシングルメモリチャネルを備える、請求項1に記載の方法。
【請求項５】
バス幅を前記動的にサイズ変更するステップが、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するステップと、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるステップと
を備える、請求項4に記載の方法。
【請求項６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に前記低減するステップが、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするステップを備える、請求項5に記載の方法。
【請求項７】
前記メモリバスがnチャネルバスを備える、請求項1に記載の方法。
【請求項８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、バス幅を前記動的にサイズ変更するステップが、前記第2のメモリチャネルを無効にするステップを備える、請求項7に記載の方法。
【請求項９】
前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で前記第1のメモリチャネルを多重化するステップをさらに備える、請求項8に記載の方法。
【請求項１０】
前記多重化するステップが前記DRAMメモリシステムにおいて実行される、請求項9に記載の方法。
【請求項１１】
メモリシステムにおける電力消費を節約するためのシステムであって、
システムオンチップ(SoC)に存在するメモリクライアントから、メモリバスを介して前記SoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するための手段と、
前記メモリクライアントからの前記メモリ要求が前記メモリバスの全幅未満を使用するための性能使用事例に対応すると判断するための手段と、
前記メモリバスを前記全幅未満に動的にサイズ変更することによって、前記性能使用事例に対応する前記メモリ要求に対するメモリ電力消費を節約するための手段と
を備えるシステム。
【請求項１２】
前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項11に記載のシステム。
【請求項１３】
前記メモリバスがNビットチャネルを備え、前記メモリバスのバス幅を動的にサイズ変更するための前記手段が、前記Nビットチャネルを(N-M)ビットチャネルに低減するための手段を備える、請求項11に記載のシステム。
【請求項１４】
前記メモリバスがシングルメモリチャネルを備える、請求項11に記載のシステム。
【請求項１５】
バス幅を動的にサイズ変更するための前記手段が、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するための手段と、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるための手段と
を備える、請求項14に記載のシステム。
【請求項１６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に低減するための前記手段が、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするための手段を備える、請求項15に記載のシステム。
【請求項１７】
前記メモリバスがnチャネルバスを備える、請求項11に記載のシステム。
【請求項１８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、バス幅を動的にサイズ変更するための前記手段が、前記第2のメモリチャネルを無効にするための手段を備える、請求項17に記載のシステム。
【請求項１９】
前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で前記第1のメモリチャネルを多重化するための手段をさらに備える、請求項18に記載のシステム。
【請求項２０】
多重化するための前記手段が前記DRAMメモリシステムにおいて実行される、請求項19に記載のシステム。
【請求項２１】
コンピュータ可読プログラムコードからなるコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、メモリシステムにおける電力消費を節約するための方法を実施するために実行されるように適合され、前記方法が、
システムオンチップ(SoC)に存在するメモリクライアントから、メモリバスを介して前記SoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するステップと、
前記メモリクライアントからの前記メモリ要求が前記メモリバスの全幅未満を使用するための性能使用事例に対応すると判断するステップと、
前記メモリバスを前記全幅未満に動的にサイズ変更することによって、前記性能使用事例に対応する前記メモリ要求に対するメモリ電力消費を節約するステップと
を備える、コンピュータプログラム。
【請求項２２】
前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項21に記載のコンピュータプログラム。
【請求項２３】
前記メモリバスがNビットチャネルを備え、前記メモリバスのバス幅を前記動的にサイズ変更するステップが、前記Nビットチャネルを(N-M)ビットチャネルに低減するステップを備える、請求項21に記載のコンピュータプログラム。
【請求項２４】
前記メモリバスがシングルメモリチャネルを備える、請求項21に記載のコンピュータプログラム。
【請求項２５】
バス幅を前記動的にサイズ変更するステップが、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するステップと、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるステップと
を備える、請求項24に記載のコンピュータプログラム。
【請求項２６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に前記低減するステップが、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするステップを備える、請求項25に記載のコンピュータプログラム。
【請求項２７】
前記メモリバスがnチャネルバスを備える、請求項21に記載のコンピュータプログラム。
【請求項２８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、バス幅を前記動的にサイズ変更するステップが、前記第2のメモリチャネルを無効にするステップを備える、請求項27に記載のコンピュータプログラム。
【請求項２９】
前記方法が、前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で前記第1のメモリチャネルを多重化するステップをさらに備える、請求項28に記載のコンピュータプログラム。
【請求項３０】
前記多重化するステップが前記DRAMメモリシステムにおいて実行される、請求項29に記載のコンピュータプログラム。
【請求項３１】
メモリシステムにおける電力消費を節約するためのシステムであって、
DRAMメモリシステムと、
メモリバスを介して前記DRAMメモリシステムに結合されたシステムオンチップ(SoC)であって、1つまたは複数のメモリクライアントからの、前記DRAMメモリシステムにアクセスするためのメモリ要求を処理するための1つまたは複数のメモリコントローラを備え、前記1つまたは複数のメモリコントローラが、前記メモリバスのバス幅を動的にサイズ変更することによって、メモリ電力消費を選択的に節約するように構成される、SoCと
を備えるシステム。
【請求項３２】
前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項31に記載のシステム。
【請求項３３】
前記メモリバスがNビットチャネルを備え、前記メモリバスの前記バス幅を前記動的にサイズ変更するステップが、前記Nビットチャネルを(N-M)ビットチャネルに低減するステップを備える、請求項31に記載のシステム。
【請求項３４】
前記メモリバスがシングルメモリチャネルを備える、請求項31に記載のシステム。
【請求項３５】
前記バス幅を前記動的にサイズ変更するステップが、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するステップと、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるステップと
を備える、請求項34に記載のシステム。
【請求項３６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に前記低減するステップが、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするステップを備える、請求項35に記載のシステム。
【請求項３７】
前記メモリバスがnチャネルバスを備える、請求項31に記載のシステム。
【請求項３８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、前記バス幅を前記動的にサイズ変更するステップが、前記第2のメモリチャネルを無効にするステップを備える、請求項37に記載のシステム。
【請求項３９】
さらに、前記第1のメモリチャネルが前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で多重化される、請求項38に記載のシステム。
【請求項４０】
前記多重化が前記DRAMメモリシステムにおいて実行される、請求項39に記載のシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
コンピューティングデバイス(たとえば、ポータブルコンピューティングデバイス、タブレットコンピュータ、モバイルフォンなど)は、より高いピーク性能要件に対応するために、より増加したメモリ入力/出力(I/O)速度を要求し続けている。ピーク性能要件に対処するために、より速いI/O速度およびより広いメモリバスを有するコンピューティングデバイスを設計することが一般的である。しかしながら、増加したメモリ速度を有するコンピューティングデバイスは、増加した電力消費を必要とする。増加した電力消費は高性能I/Oの使用事例に対する許容できるトレードオフであり得るが、多くのコンピューティングデバイスの使用事例の大半は高性能I/Oを必要としない。たとえば、高性能I/Oは、オーディオ再生、音声呼、ビデオ再生などの低性能から中性能の使用事例にとっては好ましくないことがある。
【０００２】
メモリI/O動作を「低電力」モードに再構成することによって比較的低い性能のI/O使用の電力消費を低減するための既存の解決策がある。通常、これはメモリI/Oがより低い周波数で実行されることを意味する。より高い周波数で信号完全性のために使用される終端抵抗器は、「低電力」モードの間、無効にされることがある。さらに、信号振幅の変更も必要となることがある。これは適用可能な使用事例の間に電力消費を低減するのに役立ち得るが、周波数切替えは、実装形態に応じて通常2μsから50μsの望ましくない待ち時間をもたらす。
【発明の概要】
【課題を解決するための手段】
【０００３】
メモリシステムにおける電力消費を節約するためのシステムおよび方法が開示される。一実施形態は、メモリシステムにおける電力消費を節約するための方法である。1つのそのような方法は、システムオンチップ(SoC)に存在するメモリクライアントから、メモリバスを介してSoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するステップと、メモリクライアントからのメモリ要求がメモリバスの全幅未満を使用するための性能使用事例に対応すると判断するステップと、メモリバスを全幅未満に動的にサイズ変更することによって、性能使用事例に対応するメモリ要求に対するメモリ電力消費を節約するステップとを備える。
【０００４】
別の実施形態は、メモリシステムにおける電力消費を節約するためのシステムである。1つのそのようなシステムは、DRAMメモリシステムと、システムオンチップ(SoC)とを備える。SoCは、メモリバスを介してDRAMメモリシステムに結合される。SoCは、1つまたは複数のメモリクライアントからの、DRAMメモリシステムにアクセスするためのメモリ要求を処理するための1つまたは複数のメモリコントローラを備える。メモリコントローラは、メモリバスのバス幅を動的にサイズ変更することによって、メモリ電力消費を選択的に節約するように構成される。
【０００５】
図中、別段に規定されていない限り、同様の参照番号は、様々な図の全体を通じて、同様の部分を指す。「102A」または「102B」などの文字指定を伴う参照番号の場合、文字指定は、同じ図に存在する2つの同様の部分または要素を区別することができる。参照番号がすべての図において同じ参照番号を有するすべての部分を包含することが意図されるとき、参照番号の文字指定は省略される場合がある。
【図面の簡単な説明】
【０００６】
【図１】動的なメモリI/Oサイズ変更を使用してDRAMメモリ電力消費を節約するためのシステムの一実施形態のブロック図である。
【図２】DRAMメモリ電力消費を節約するための図1のシステムで実施される方法の一実施形態を示すフローチャートである。
【図３】高性能モードの間の図1のシステムのシングルチャネル実施形態を示すブロック図である。
【図４】メモリ電力消費を節約するためにバス幅が動的にサイズ変更される低性能モードの間の図3のシステムを示すブロック図である。
【図５】高性能モードにおける図3のシステムの別のシングルチャネル実施形態を示すブロック図である。
【図６】低性能モードにおける図5のシステムを示す図である。
【図７】図1のシステムのデュアルチャネル実施形態を示すブロック図である。
【図８】図1のシステムの別のデュアルチャネル実施形態を示すブロック図である。
【図９】高性能モードにおける図8のシステムを示す図である。
【図１０】低性能モードにおける図8のシステムを示す図である。
【図１１】図1のシステムを組み込むポータブルコンピューティングデバイスの一実施形態のブロック図である。
【発明を実施するための形態】
【０００７】
「例示的」という言葉は、本明細書では「一例、事例、または例示として役立つ」ことを意味するように使用される。「例示的」として本明細書で説明するいずれの態様も、必ずしも他の態様よりも好ましいか、または有利であると解釈されるわけではない。
【０００８】
本明細書では、「アプリケーション」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含み得る。加えて、本明細書で言及する「アプリケーション」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含み得る。
【０００９】
「コンテンツ」という用語は、オブジェクトコード、スクリプト、バイトコード、マークアップ言語ファイル、およびパッチなどの実行可能なコンテンツを有するファイルも含み得る。加えて、本明細書で言及する「コンテンツ」は、開封される必要があり得るドキュメント、またはアクセスされる必要がある他のデータファイルなどの本質的に実行可能ではないファイルも含み得る。
【００１０】
本明細書で使用する場合、「構成要素」、「データベース」、「モジュール」、「システム」などの用語は、ハードウェア、ファームウェア、ハードウェアとソフトウェアの組合せ、ソフトウェア、または実行中のソフトウェアのいずれかである、コンピュータ関連のエンティティを指すものとする。たとえば、構成要素は、限定はしないが、プロセッサ上で動作するプロセス、プロセッサ、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータであり得る。例として、コンピューティングデバイス上で動作するアプリケーションと、コンピューティングデバイスの両方が、構成要素であり得る。1つまたは複数の構成要素は、プロセスおよび/または実行スレッド内に存在してもよく、構成要素は、1つのコンピュータに局所化されてもよく、および/または、2つ以上のコンピュータ間で分散されてもよい。加えて、これらの構成要素は、様々なデータ構造を記憶した様々なコンピュータ可読媒体から実行することができる。構成要素は、1つまたは複数のデータパケット(たとえば、信号によって、ローカルシステム、分散システム中の別の構成要素と対話する、および/または、インターネットなどのネットワークにわたって他のシステムと対話する、1つの構成要素からのデータ)を有する信号などに従って、ローカルプロセスおよび/またはリモートプロセスによって通信することができる。
【００１１】
本明細書では、「通信デバイス」、「ワイヤレスデバイス」、「ワイヤレス電話」、「ワイヤレス通信デバイス」、および「ワイヤレスハンドセット」という用語は、互換的に使用される。第3世代(「3G」)ワイヤレス技術および第4世代(「4G」)が出現したことによって、利用可能な帯域幅が拡大されたので、より多様なワイヤレス機能を備えた、より携帯が容易なコンピューティングデバイスが利用可能になっている。したがって、ポータブルコンピューティングデバイスは、セルラー電話、ページャ、PDA、スマートフォン、ナビゲーションデバイス、またはワイヤレス接続もしくはワイヤレスリンクを有するハンドヘルドコンピュータを含み得る。
【００１２】
図1は、動的なメモリ入力/出力(I/O)サイズ変更を使用してメモリ電力消費を節約するためのシステム100を示す。システム100は、パーソナルコンピュータと、ワークステーションと、サーバと、セルラー電話、携帯情報端末(PDA)、ポータブルゲームコンソール、パームトップコンピュータ、またはタブレットコンピュータなどのポータブルコンピューティングデバイス(PCD)とを含む任意のコンピューティングデバイスに実装され得る。図1の実施形態に示すように、システム100は、メモリバス106を介してDRAMメモリシステム104に結合されたシステムオンチップ(SoC)102を備える。SoC102は、DRAMメモリシステム104からのメモリリソースを要求する1つまたは複数のメモリクライアント108を含む、様々なオンチップ構成要素を備える。メモリクライアント108は、1つまたは複数の処理装置(たとえば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタル信号プロセッサ(DSP)、ディスプレイプロセッサなど)、ビデオエンコーダ、またはDRAMメモリシステム104への読取り/書込みアクセスを要求する他のクライアントを備え得る。メモリクライアント108は、SoCバス109を介して1つまたは複数のメモリコントローラ110に接続される。
【００１３】
メモリコントローラ110は、DRAMメモリシステム104への読取り/書込みメモリ要求を受信し、処理するように構成される。メモリデータは、専用メモリチャネルを介してそれぞれのDRAMデバイス112に接続される1つまたは複数のメモリコントローラ110間で分散され得る。任意の数のDRAMデバイス112、メモリコントローラ110、およびメモリチャネルが、メモリの任意の望ましいタイプ、サイズ、および構成(たとえば、ダブルデータレート(DDR)メモリ)を有するシステム100で使用され得ることを諒解されたい。
【００１４】
図1に示すように、システム100は、適切な使用事例に2つの異なるチャネルモード、すなわち、(1)高性能チャネルモード118、および(2)低性能チャネルモード120を選択的に与えるように構成される。高性能使用事例は、メモリバス106の全幅を使用して高性能チャネルモードで処理され得る。図1の例では、メモリバス106の全幅は8ビットを備え得る。各ビットは、別個のピン、接続、または他の物理レイヤ構成要素を備え得る。高性能が必要とされない様々な使用事例(たとえば、オーディオ再生、携帯電話での音声呼、ビデオ再生など)があり得、メモリバス106の全幅未満を介して好適な性能が与えられ得ることを諒解されたい。比較的低い性能の使用事例(または電力節約が性能よりも好ましい他の状況)の場合、メモリ電力は、メモリバス106の幅を動的にサイズ変更することによって節約され得る。この点について、低性能使用事例は、メモリ電力の低減をもたらしながら、好適な性能にメモリバス106の全幅未満が与えられ得る任意の状況を備え得ることを諒解されたい。たとえば、8ビットメモリバス106は、低性能チャネルモード120の間、4ビットメモリバス106にサイズ変更され得る。図1の実施形態に示すように、チャネル幅は、メモリバス106を備える8つのピン、接続、または他の物理レイヤ構成要素のうちの(破線で示す)4つを無効にすることによって2分の1に低減され得る。
【００１５】
図2は、動的なメモリI/Oサイズ変更を使用してメモリ電力を節約するためのシステム100によって実施される方法200の一実施形態を示す。ブロック202において、DRAMメモリシステム104にアクセスするためのメモリ要求は、メモリクライアント108から受信される。決定ブロック204において、システム100は、メモリ要求がメモリバス106の全幅を使用して高性能チャネルモード118で処理されるべきか、またはメモリバスの全幅未満を使用して低性能チャネルモード120で処理されるべきかを判断する。メモリクライアント108は電力または性能の選好を要求し得ることを諒解されたい。たとえば、一実施形態では、チャネル幅サイズ変更ビットは、削減するために読取り/書込みコマンドに含まれ得、これは追加の信号ピンのニーズを削減し得る。電力または性能の選好は、システム100によって検証され得る。他の実施形態では、メモリクライアント108は、予想されたまたは計算された性能要件に基づいて、高性能チャネルモード118または低性能チャネルモード120のいずれかに割り当てられ得る。システム100が高性能使用事例を判断した場合、ブロック210において、メモリデータは全バス幅を使用してDRAMメモリシステム104に与えられ得る。高性能が必要とされないまたは電力節約が性能よりも好ましいとシステム100が判断した場合、ブロック206において、メモリ電力はメモリバス106を動的にサイズ変更することによって節約され得る。ブロック208において、メモリデータは、サイズ変更されたバス幅を介してDRAMメモリシステム104に与えられ得る。
【００１６】
動的なメモリI/Oサイズ変更はシングルチャネルメモリシステムまたはマルチチャネルメモリシステムで実施され得ることを諒解されたい。図3〜図6は、動的なメモリI/Oサイズ変更のシングルチャネル実装形態の様々な実施形態を示す。
【００１７】
図3および図4は、DRAMメモリシステム104がLPDDR2メモリデバイスを備え、メモリバス106が32ビットバスを備える一例を示す。当技術分野で知られているように、DRAMメモリトランザクションは、クロック302に基づいたメモリバス106にわたる複数のビートから成る。ビート数(「バースト長」)は、固定で、DRAMデバイスのタイプに依存し得る。たとえば、DDRタイプデバイスは2のバースト長を有し、DDR2タイプデバイスは4のバースト長を有し、DDR3タイプデバイスは8のバースト長を有する、といった具合である。ビート数とバス幅の組合せは、最小アクセス長(MAL:minimum access length)として定義される。図3および図4の例における32ビット幅のLPDDR2は、各ビート304、306、308および310が4バイトを備える、16バイトのMALサイズ(4ビート×32ビット=128ビット=16バイト)を有する。DRAMメモリシステム104は、メモリバス106を介してビートの入来ストリームを受信し、入来ストリームをMALサイズのレジスタ(たとえば、メモリI/Oレジスタ312)に配置し、次いでそのレジスタがDRAMメモリコアアレイ314にロードされる、内部論理構造を備える。
【００１８】
図3は、全32ビットバス幅が使用される高性能チャネルモードにおける例示的なシステム100の動作を示す。図4は、32ビットチャネル幅が16ビットチャネル幅に2分の1に動的にサイズ変更される低性能チャネルモードの動作を示す。バス幅の半分を用いた事前定義された16バイトのMALサイズを維持するために、SoC102はビート数を2倍にするように構成される。図4に示すように、各ビート402、404、406、408、410、412、414、および416は、高性能チャネルモードで使用される4バイトではなく、2バイトで構成される。DRAMメモリシステム104は、8つの2バイトビートの入来ストリームを受信し、その入来ストリームを同じ16バイトのMALサイズのメモリI/Oレジスタ312に配置する。次いで、メモリI/Oレジスタ312は、DRAM内部構造を再構成するか、または低性能チャネルモードで利用可能な有効なメモリ空間の量を低減する必要なしに、高性能チャネルモードの場合と同じ方法でメモリコアアレイ314にロードされる。
【００１９】
図5および図6は、動的なメモリI/Oサイズ変更のシングルチャネル実装形態の別の実施形態を示す。図5は、高性能チャネルモードにおけるシステム100を示す。図6は、低性能チャネルモードにおけるシステム100を示す。SoC102は、1組のSoC物理レイヤデバイス114(SoC PHY_UおよびSoC PHY_L)とそれぞれのメモリ物理レイヤデバイス116(Mem PHY_UおよびMem PHY_L)との間でDRAMメモリシステム104へのメモリ要求を処理するためのメモリコントローラ110を備える。DRAMメモリシステム104は、メモリI/Oレジスタ312と、メモリコアレジスタ314とを備える。
【００２０】
図5を参照すると、SoC物理レイヤデバイス114およびメモリ物理レイヤデバイス116は、ビットをメモリバス106に与え、対応するビットをメモリバス106から受信するためのラインドライバを備える。SoC PHY_UおよびメモリPHY_Uは、ラインドライバIO[m-1]、IO[m-2]...IO[m/2]を備え、m=チャネル幅である。SoC PHY_LおよびメモリPHY_Lは、ラインドライバIO[m/2-1]...IO[1]...IO[0]を備える。図5にさらに示すように、メモリバス106は、n個のビートを備えるシングルメモリチャネルを備え、n=ビート数、B=シングルmビットビート、およびb=ビート(B)内の個々のビットである。メモリI/Oレジスタ312は入来データを受信および記憶し、入来データはメモリコアレジスタ314にロードされる。
【００２１】
図6に示すように、低性能チャネルモードでは、チャネル幅がmからm/2に低減され、望ましい電力節約をもたらすためにSoC PHY_UおよびメモリPHY_Uが無効にされる。バス幅の半分(m/2)を用いて事前定義されたMALサイズを維持するために、SoC102はビート数を2倍(2n)にするように構成される。メモリI/Oレジスタ312はビット数の半分を受信および記憶し、ビット数の半分はメモリコアレジスタ314にロードされる。
【００２２】
図7は、動的なメモリI/Oサイズ変更のデュアルチャネル実装形態の一実施形態を示す。SoC102およびDRAMメモリシステム104は、2つのメモリチャネル702および704(Ch0およびCh1)を備え得る。(図7の上の図に示す)高性能使用事例では、両方のチャネル702および704がアクティブであり、SoC:Ch0からの16ビートのデータがDRAM:Ch0に行き、SoC:Ch1からの16ビートのデータがDRAM:Ch1に行く。
【００２３】
比較的低い性能の使用事例が所望されるとき、システム100は、たとえば、メモリチャネルのうちの1つを無効にすることによって、メモリチャネル幅のサイズを動的に再構成し得る。図7の下の図に示すように、所望の電力節約を実現するためにメモリチャネル704が無効にされ得る。アクティブなメモリチャネル702は、マルチプレクサ706によってデータがDRAM:Ch0とDRAM:Ch1との間で多重化された16ビートを備える。マルチプレクサ706はデータパス中の様々なポイント(たとえば、メモリI/Oレジスタ312の前または後、DRAMの内部または外部など)に配置され得ることを諒解されたい。
【００２４】
図8〜図10は、動的なメモリI/Oサイズ変更のデュアルチャネル実装形態の別の実施形態を示し、図5および図6の場合と同じ参照記号、すなわち、m=チャネル幅、n=ビート数、およびB=シングルmビットビートに従う。図8に示すように、SoC102は2つのメモリコントローラ110aおよび110bを備える。メモリコントローラ110aは、SoC PHY_AとメモリPHY_Aとの間でDRAMメモリシステム104へのメモリ要求を処理するためのメモリチャネル702に対応する。メモリコントローラ110bは、SoC PHY_BとメモリPHY_Bとの間でDRAMメモリシステム104へのメモリ要求を処理するためのメモリチャネル704に対応する。高性能動作モード(図8および図9)では、メモリPHY_Aからのメモリデータが受信され、メモリI/Oレジスタ312aに記憶される。メモリPHY_Bからのメモリデータが受信され、メモリI/Oレジスタ312bに記憶される。
【００２５】
図8〜図10にさらに示すように、SoC物理レイヤデバイス114aおよび114bならびにメモリ物理レイヤデバイス116aおよび116bは、複数のラインドライバIO[k]を備え得、m=チャネル幅、0≦k≦m-1である。図8を参照すると、メモリPHY_AラインドライバIO[m-1]およびメモリPHY_BラインドライバIO[m-1]は、どのデータがメモリI/Oレジスタ312bに与えられるかを(MODE_SELを介して)制御するためのマルチプレクサ802への入力を備え得る。低性能動作モード(図10)では、メモリバス幅を半分にし、所望の電力節約をもたらすために、メモリチャネル704が無効にされ得る。マルチプレクサ802は、メモリPHY_AラインドライバIO[m-1]からのデータをメモリI/Oレジスタ312aまたはメモリI/Oレジスタ312bのいずれかに選択的に与え得る。その他のメモリPHY_AおよびメモリPHY_BラインドライバIO[k]が同様に多重化され得ることを諒解されたい。
【００２６】
図5〜図10に示す実施形態は、SoC102からのデータがDRAMメモリシステム104に書き込まれ得るメモリ書込み動作を実施することを諒解されたい。当業者は、上記で説明した方法が逆方向で適用され得ることと、DRAMメモリシステム104からのデータがSoC102に戻されるメモリ読取り動作の間に電力節約が得られることとを諒解されよう。
【００２７】
上述のように、システム100は任意の望ましいコンピューティングシステムに組み込まれ得る。図11は、例示的なポータブルコンピューティングデバイス(PCD)1100に組み込まれたシステム100を示す。システム100のいくつかの構成要素はSoC322(図11)に含まれ得るが、他の構成要素(たとえば、DRAMメモリシステム104)はSoC322に結合された外部構成要素を備え得ることが容易に諒解されよう。SoC322は、マルチコアCPU1102を含み得る。マルチコアCPU1102は、第0のコア410、第1のコア412および第Nのコア414を含み得る。コアのうちの1つは、たとえば、グラフィックス処理装置(GPU)を備え、他のコアのうちの1つまたは複数は、CPUを備え得る。
【００２８】
ディスプレイコントローラ328およびタッチスクリーンコントローラ330は、CPU1102に結合され得る。一方、オンチップシステム322の外部にあるタッチスクリーンディスプレイ1106は、ディスプレイコントローラ328およびタッチスクリーンコントローラ330に結合され得る。
【００２９】
図11は、ビデオエンコーダ334、たとえば位相反転線(PAL)エンコーダ、順次式カラーメモリ(SECAM)エンコーダ、または全米テレビジョン方式委員会(NTSC)エンコーダがマルチコアCPU1102に結合されることをさらに示す。さらに、ビデオ増幅器336は、ビデオエンコーダ334およびタッチスクリーンディスプレイ1106に結合される。また、ビデオポート338は、ビデオ増幅器336に結合される。図11に示すように、ユニバーサルシリアルバス(USB)コントローラ340は、マルチコアCPU1102に結合される。また、USBポート342は、USBコントローラ340に結合される。メモリ1104および加入者識別モジュール(SIM)カード346も、マルチコアCPU1102に結合され得る。メモリ1104は、SoC322に存在するか、または(図1に示すように)SoC322に結合され得る。メモリ1104は、上記で説明したように、DRAMメモリシステム104(図1)を備え得る。
【００３０】
さらに、図11に示すように、デジタルカメラ348は、マルチコアCPU1102に結合され得る。例示的な態様では、デジタルカメラ348は、電荷結合デバイス(CCD)カメラまたは相補型金属酸化物半導体(CMOS)カメラである。
【００３１】
図11にさらに示すように、ステレオオーディオコーダ-デコーダ(コーデック)350は、マルチコアCPU1102に結合され得る。さらに、オーディオ増幅器352は、ステレオオーディオコーデック350に結合され得る。例示的な態様では、第1のステレオスピーカ354および第2のステレオスピーカ356は、オーディオ増幅器352に結合される。図11は、マイクロフォン増幅器358もステレオオーディオコーデック350に結合され得ることを示す。加えて、マイクロフォン360は、マイクロフォン増幅器358に結合され得る。特定の態様では、周波数変調(FM)ラジオチューナ362は、ステレオオーディオコーデック350に結合され得る。また、FMアンテナ364は、FMラジオチューナ362に結合される。さらに、ステレオヘッドフォン366は、ステレオオーディオコーデック350に結合され得る。
【００３２】
図11は、無線周波(RF)トランシーバ368がマルチコアCPU1102に結合され得ることをさらに示す。RFスイッチ370は、RFトランシーバ368およびRFアンテナ372に結合され得る。図11に示すように、キーパッド374は、マルチコアCPU1102に結合され得る。また、マイクロフォンを備えたモノヘッドセット376は、マルチコアCPU1102に結合され得る。さらに、バイブレータデバイス378は、マルチコアCPU1102に結合され得る。
【００３３】
図11はまた、電源380がオンチップシステム322に結合され得ることを示す。特定の態様では、電源380は電力を必要とするPCD1100の様々な構成要素に電力を供給する直流(DC)電源である。さらに、特定の態様では、電源は、充電式DCバッテリー、または交流(AC)電源に接続されたAC-DC変換器から得られるDC電源である。
【００３４】
図11は、PCD1100がデータネットワーク、たとえばローカルエリアネットワーク、パーソナルエリアネットワーク、任意の他のネットワークにアクセスするために使用され得るネットワークカード388も含み得ることをさらに示す。ネットワークカード388は、Bluetooth(登録商標)ネットワークカード、WiFiネットワークカード、パーソナルエリアネットワーク(PAN)カード、パーソナルエリアネットワーク超低電力技術(PeANUT)ネットワークカード、テレビジョン/ケーブル/衛星チューナ、または当技術分野でよく知られている任意の他のネットワークカードであり得る。さらに、ネットワークカード388は、チップに組み込まれることがあり、すなわち、ネットワークカード388は、チップ内のフルソリューションであってもよく、別個のネットワークカード388でなくてもよい。
【００３５】
図11に示すように、タッチスクリーンディスプレイ1106、ビデオポート338、USBポート342、カメラ348、第1のステレオスピーカ354、第2のステレオスピーカ356、マイクロフォン360、FMアンテナ364、ステレオヘッドフォン366、RFスイッチ370、RFアンテナ372、キーパッド374、モノヘッドセット376、バイブレータ378、および電源380は、オンチップシステム322の外部にあってもよい。
【００３６】
本明細書で説明する方法ステップのうちの1つまたは複数は、上記で説明したモジュールなどのコンピュータプログラム命令としてメモリに記憶され得ることを諒解されたい。これらの命令は、本明細書で説明する方法を実行するために、対応するモジュールと組み合わせるかまたは協働して、任意の好適なプロセッサによって実行され得る。
【００３７】
本発明が説明した通りに機能するように、本明細書に記載されたプロセスまたはプロセスフロー内の特定のステップが他のステップよりも先行するのは当然である。しかしながら、そのような順序またはシーケンスが本発明の機能を変えない場合、本発明は記載されたステップの順序に限定されない。すなわち、本発明の範囲および趣旨から逸脱することなく、いくつかのステップは、他のステップの前に実行されるか、後に実行されるか、または他のステップと並行して(実質的に同時に)実行される場合があることを認識されたい。場合によっては、本発明から逸脱することなく、いくつかのステップが省略されてもよく、または実行されなくてもよい。さらに、「その後」、「次いで」、「次に」などの言葉は、ステップの順序を限定するものではない。これらの言葉は、単に例示的な方法の説明を通じて読者を導くために使用されている。
【００３８】
加えて、プログラミングの当業者は、たとえば本明細書内のフローチャートおよび関連する説明に基づいて、コンピュータコードを書くか、または適切なハードウェアおよび/もしくは回路を識別して、開示された発明を容易に実施することができる。
【００３９】
したがって、特定の1組のプログラムコード命令または詳細なハードウェアデバイスの開示は、本発明をどのように製作および使用すべきかについて適切に理解するために必要であるとは見なされない。特許請求されるコンピュータ実施プロセスの発明性のある機能は、上記の説明において、かつ様々なプロセスフローを示し得る図面とともに、より詳細に説明される。
【００４０】
1つまたは複数の例示的な態様では、説明した機能は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組合せで実施され得る。ソフトウェアで実施される場合、機能は、1つまたは複数の命令もしくはコードとして、コンピュータ可読媒体上に記憶されるか、またはコンピュータ可読媒体上で送信され得る。コンピュータ可読媒体は、ある場所から別の場所へのコンピュータプログラムの転送を容易にする任意の媒体を含む、コンピュータ記憶媒体と通信媒体の両方を含む。記憶媒体は、コンピュータによってアクセスされ得る任意の利用可能な媒体であり得る。限定ではなく例として、そのようなコンピュータ可読媒体は、RAM、ROM、EEPROM、NANDフラッシュ、NORフラッシュ、M-RAM、P-RAM、R-RAM、CD-ROMもしくは他の光ディスクストレージ、磁気ディスクストレージもしくは他の磁気記憶デバイス、または命令もしくはデータ構造の形態で所望のプログラムコードを搬送もしくは記憶するために使用され得、コンピュータによってアクセスされ得る任意の他の媒体を備え得る。
【００４１】
また、任意の接続が適切にコンピュータ可読媒体と呼ばれる。たとえば、ソフトウェアが、同軸ケーブル、光ファイバケーブル、ツイストペア、デジタル加入者線(「DSL」)、または赤外線、無線、およびマイクロ波などのワイヤレス技術を使用してウェブサイト、サーバ、または他のリモートソースから送信される場合、同軸ケーブル、光ファイバケーブル、ツイストペア、DSL、または赤外線、無線、およびマイクロ波などのワイヤレス技術は、媒体の定義に含まれる。
【００４２】
本明細書で使用する場合、ディスク(disk)およびディスク(disc)は、コンパクトディスク(disc)(「CD」)、レーザディスク(disc)、光ディスク(disc)、デジタル多用途ディスク(disc)(「DVD」)、フレキシブルディスク(disk)およびブルーレイディスク(disc)を含み、ディスク(disk)は通常、データを磁気的に再生し、ディスク(disc)は、データをレーザで光学的に再生する。上記の組合せもコンピュータ可読媒体の範囲内に含まれるべきである。
【００４３】
代替実施形態は、本発明の趣旨および範囲から逸脱することなく、本発明が関係する技術分野の当業者に明らかとなろう。したがって、選択された態様について図示し詳細に説明してきたが、以下の特許請求の範囲によって定義されるように、本発明の趣旨および範囲から逸脱することなく、各態様において様々な置換および改変が行われ得ることが理解されよう。
【符号の説明】
【００４４】
100  システム
102  システムオンチップ、SoC
104  DRAMメモリシステム
106  メモリバス
108  メモリクライアント
109  SoCバス
110、110a、110b  メモリコントローラ
112  DRAMデバイス
114  SoC物理レイヤデバイス
116  メモリ物理レイヤデバイス
118  高性能チャネルモード
120  低性能チャネルモード
200  方法
302  クロック
304  ビート
306  ビート
308  ビート
310  ビート
312、312a、312b  メモリI/Oレジスタ
314  DRAMメモリコアアレイ、メモリコアアレイ、メモリコアレジスタ
322  SoC
328  ディスプレイコントローラ
330  タッチスクリーンコントローラ
334  ビデオエンコーダ
336  ビデオ増幅器
338  ビデオポート
340  ユニバーサルシリアルバス(USB)コントローラ
342  USBポート
346  加入者識別モジュール(SIM)カード
348  デジタルカメラ
350  ステレオオーディオコーダ-デコーダ(コーデック)、ステレオオーディオコーデック
352  オーディオ増幅器
354  第1のステレオスピーカ
356  第2のステレオスピーカ
358  マイクロフォン増幅器
360  マイクロフォン
362  ラジオチューナ
364  FMアンテナ
366  ステレオヘッドフォン
368  無線周波(RF)トランシーバ、RFトランシーバ
370  RFスイッチ
372  RFアンテナ
374  キーパッド
376  モノヘッドセット
378  バイブレータ
380  電源
388  ネットワークカード
402  ビート
404  ビート
406  ビート
408  ビート
410  ビート
412  ビート
414  ビート
416  ビート
702  メモリチャネル
704  メモリチャネル
706  マルチプレクサ
1102  マルチコアCPU
1104  メモリ
1100  ポータブルコンピューティングデバイス、PCD
【図１】
2016534484.tif 000003
【図２】
2016534484.tif 000004
【図３】
2016534484.tif 000005
【図４】
2016534484.tif 000006
【図５】
2016534484.tif 000007
【図８】
2016534484.tif 000008
【図９】
2016534484.tif 000009
【図１１】
2016534484.tif 000010
【図６】
2016534484.tif 000011
【図７】
2016534484.tif 000012
【図１０】
2016534484.tif 000013
【手続補正書】
【提出日】平成28年3月23日(2016.3.23)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
メモリシステムにおける電力消費を節約するための方法であって、
システムオンチップ(SoC)に存在する複数のメモリクライアントの各々を高性能使用事例または低性能使用事例に割り当てるステップと、
前記複数のメモリクライアントのうちの1つから、メモリバスを介して前記SoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するステップであって、前記メモリ要求が、前記メモリクライアントの性能使用事例を示すチャネル幅サイズ変更ビットを含む、ステップと、
前記メモリ要求内の前記チャネル幅サイズ変更ビットから、前記メモリクライアントからの前記メモリ要求が前記メモリバスの全幅未満を使用するための前記低性能使用事例に対応すると判断するステップと、
前記メモリ要求について前記メモリバスを前記全幅未満に動的にサイズ変更することによって、前記性能使用事例に対応する前記メモリ要求に対するメモリ電力消費を節約するステップと
を備える方法。
【請求項２】
前記メモリ要求を送信する前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項1に記載の方法。
【請求項３】
前記メモリバスがNビットチャネルを備え、前記メモリバスのバス幅を前記動的にサイズ変更するステップが、前記Nビットチャネルを(N-M)ビットチャネルに低減するステップを備える、請求項1に記載の方法。
【請求項４】
前記メモリバスがシングルメモリチャネルを備える、請求項1に記載の方法。
【請求項５】
バス幅を前記動的にサイズ変更するステップが、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するステップと、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるステップと
を備える、請求項4に記載の方法。
【請求項６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に前記低減するステップが、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするステップを備える、請求項5に記載の方法。
【請求項７】
前記メモリバスがnチャネルバスを備える、請求項1に記載の方法。
【請求項８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、バス幅を前記動的にサイズ変更するステップが、前記第2のメモリチャネルを無効にするステップを備える、請求項7に記載の方法。
【請求項９】
前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で前記第1のメモリチャネルを多重化するステップをさらに備える、請求項8に記載の方法。
【請求項１０】
前記多重化するステップが前記DRAMメモリシステムにおいて実行される、請求項9に記載の方法。
【請求項１１】
メモリシステムにおける電力消費を節約するためのシステムであって、
システムオンチップ(SoC)に存在する複数のメモリクライアントの各々を高性能使用事例または低性能使用事例に割り当てるための手段と、
前記複数のメモリクライアントのうちの1つから、メモリバスを介して前記SoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するための手段であって、前記メモリ要求が、前記メモリクライアントの性能使用事例を示すチャネル幅サイズ変更ビットを含む、手段と、
前記メモリ要求内の前記チャネル幅サイズ変更ビットから、前記メモリクライアントからの前記メモリ要求が前記メモリバスの全幅未満を使用するための前記低性能使用事例に対応すると判断するための手段と、
前記メモリ要求について前記メモリバスを前記全幅未満に動的にサイズ変更することによって、前記性能使用事例に対応する前記メモリ要求に対するメモリ電力消費を節約するための手段と
を備えるシステム。
【請求項１２】
前記メモリ要求を送信する前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項11に記載のシステム。
【請求項１３】
前記メモリバスがNビットチャネルを備え、前記メモリバスのバス幅を動的にサイズ変更するための前記手段が、前記Nビットチャネルを(N-M)ビットチャネルに低減するための手段を備える、請求項11に記載のシステム。
【請求項１４】
前記メモリバスがシングルメモリチャネルを備える、請求項11に記載のシステム。
【請求項１５】
バス幅を動的にサイズ変更するための前記手段が、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するための手段と、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるための手段と
を備える、請求項14に記載のシステム。
【請求項１６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に低減するための前記手段が、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするための手段を備える、請求項15に記載のシステム。
【請求項１７】
前記メモリバスがnチャネルバスを備える、請求項11に記載のシステム。
【請求項１８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、バス幅を動的にサイズ変更するための前記手段が、前記第2のメモリチャネルを無効にするための手段を備える、請求項17に記載のシステム。
【請求項１９】
前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で前記第1のメモリチャネルを多重化するための手段をさらに備える、請求項18に記載のシステム。
【請求項２０】
多重化するための前記手段が前記DRAMメモリシステムにおいて実行される、請求項19に記載のシステム。
【請求項２１】
コンピュータ可読プログラムコードからなるコンピュータプログラムであって、前記コンピュータ可読プログラムコードが、メモリシステムにおける電力消費を節約するための方法を実施するために実行されるように適合され、前記方法が、
システムオンチップ(SoC)に存在する複数のメモリクライアントの各々を高性能使用事例または低性能使用事例に割り当てるステップと、
前記複数のメモリクライアントのうちの1つから、メモリバスを介して前記SoCに結合されたダイナミックランダムアクセスメモリ(DRAM)メモリシステムにアクセスするためのメモリ要求を受信するステップであって、前記メモリ要求が、前記メモリクライアントの性能使用事例を示すチャネル幅サイズ変更ビットを含む、ステップと、
前記メモリ要求内の前記チャネル幅サイズ変更ビットから、前記メモリクライアントからの前記メモリ要求が前記メモリバスの全幅未満を使用するための前記低性能使用事例に対応すると判断するステップと、
前記メモリ要求について前記メモリバスを前記全幅未満に動的にサイズ変更することによって、前記性能使用事例に対応する前記メモリ要求に対するメモリ電力消費を節約するステップと
を備える、コンピュータプログラム。
【請求項２２】
前記メモリ要求を送信する前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項21に記載のコンピュータプログラム。
【請求項２３】
前記メモリバスがNビットチャネルを備え、前記メモリバスのバス幅を前記動的にサイズ変更するステップが、前記Nビットチャネルを(N-M)ビットチャネルに低減するステップを備える、請求項21に記載のコンピュータプログラム。
【請求項２４】
前記メモリバスがシングルメモリチャネルを備える、請求項21に記載のコンピュータプログラム。
【請求項２５】
バス幅を前記動的にサイズ変更するステップが、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するステップと、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるステップと
を備える、請求項24に記載のコンピュータプログラム。
【請求項２６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に前記低減するステップが、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするステップを備える、請求項25に記載のコンピュータプログラム。
【請求項２７】
前記メモリバスがnチャネルバスを備える、請求項21に記載のコンピュータプログラム。
【請求項２８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、バス幅を前記動的にサイズ変更するステップが、前記第2のメモリチャネルを無効にするステップを備える、請求項27に記載のコンピュータプログラム。
【請求項２９】
前記方法が、前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で前記第1のメモリチャネルを多重化するステップをさらに備える、請求項28に記載のコンピュータプログラム。
【請求項３０】
前記多重化するステップが前記DRAMメモリシステムにおいて実行される、請求項29に記載のコンピュータプログラム。
【請求項３１】
メモリシステムにおける電力消費を節約するためのシステムであって、
DRAMメモリシステムと、
メモリバスを介して前記DRAMメモリシステムに結合されたシステムオンチップ(SoC)であって、1つまたは複数のメモリクライアントからの、前記DRAMメモリシステムにアクセスするためのメモリ要求を処理するための1つまたは複数のメモリコントローラを備え、前記1つまたは複数のメモリクライアントの各々が、高性能使用事例または低性能使用事例に割り当てられ、前記メモリ要求の各々が、前記メモリ要求を送信する前記メモリクライアントの性能使用事例を示すチャネル幅サイズ変更ビットを含む、SoCとを備え、
前記1つまたは複数のメモリコントローラが、前記メモリ要求内の前記チャネル幅サイズ変更ビットに基づいて、前記メモリ要求について前記メモリバスのバス幅を動的にサイズ変更することによって、メモリ電力消費を選択的に節約するように構成される、
システム。
【請求項３２】
前記メモリクライアントが、前記SoCに存在する中央処理装置(CPU)、グラフィックス処理装置(GPU)、およびデジタル信号プロセッサ(DSP)のうちの1つを備える、請求項31に記載のシステム。
【請求項３３】
前記メモリバスがNビットチャネルを備え、前記メモリバスの前記バス幅を前記動的にサイズ変更するステップが、前記Nビットチャネルを(N-M)ビットチャネルに低減するステップを備える、請求項31に記載のシステム。
【請求項３４】
前記メモリバスがシングルメモリチャネルを備える、請求項31に記載のシステム。
【請求項３５】
前記バス幅を前記動的にサイズ変更するステップが、
前記バス幅を第1のチャネル幅から第2のチャネル幅に低減するステップと、
前記DRAMメモリシステムによって定義される最小アクセス長(MAL)を維持するために、前記シングルメモリチャネルにわたってビート数を増加させるステップと
を備える、請求項34に記載のシステム。
【請求項３６】
前記バス幅を前記第1のチャネル幅から前記第2のチャネル幅に前記低減するステップが、前記SoC内のSoC物理レイヤデバイスおよび前記DRAMメモリシステム内のメモリ物理レイヤデバイスを無効にするステップを備える、請求項35に記載のシステム。
【請求項３７】
前記メモリバスがnチャネルバスを備える、請求項31に記載のシステム。
【請求項３８】
前記nチャネルバスが、第1のDRAMデバイスのための第1のメモリチャネルと、第2のDRAMデバイスのための第2のメモリチャネルとを備え、前記バス幅を前記動的にサイズ変更するステップが、前記第2のメモリチャネルを無効にするステップを備える、請求項37に記載のシステム。
【請求項３９】
さらに、前記第1のメモリチャネルが前記第1のDRAMデバイスと前記第2のDRAMデバイスとの間で多重化される、請求項38に記載のシステム。
【請求項４０】
前記多重化が前記DRAMメモリシステムにおいて実行される、請求項39に記載のシステム。
【国際調査報告】
2016534484.tif 000014
2016534484.tif 000015
2016534484.tif 000016