(57)【特許請求の範囲】
【請求項１】
プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、各メモリアクセス要求ポリシーは、前記複数の同種メモリタイプの中の前記同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定する
ようにさらに構成されることによって、前記メモリアクセス要求に関連する性能特性に基づいて、前記バス相互接続に結合される異種メモリシステム内の複数の同種メモリタイプの中から同種メモリタイプを決定し、
前記決定される同種メモリタイプに対応する前記異種メモリシステム中の複数の同種メモリの同種メモリに前記メモリアクセス要求を経路指定する
ように構成される、バス相互接続アービタ。
【請求項２】
前記複数の同種メモリは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）同種メモリおよび磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）同種メモリからなる、請求項１に記載のバス相互接続アービタ。
【請求項３】
前記複数の同種メモリの各々が、前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかである、請求項１に記載のバス相互接続アービタ。
【請求項４】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定し、
メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項５】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のマスタ識別子に基づいて、前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項６】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のアプリケーション識別子に基づいて、前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項７】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項８】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項９】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項１０】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記プロセッサベースのシステム中の電力モードに基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項１１】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
メモリページヒット率に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項１２】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
メモリアクセス要求トラフィックに基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項１３】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも１つの動作パラメータに基づいて、ダイナミック異種メモリアクセス要求ポリシープロファイルとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項１４】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定し、
前記有効動作プロファイルが存在しない場合に、デフォルトメモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ように構成される、請求項１に記載のバス相互接続アービタ。
【請求項１５】
前記バス相互接続中に配設される、請求項１に記載のバス相互接続アービタ。
【請求項１６】
半導体ダイの中に一体化される、請求項１に記載のバス相互接続アービタ。
【請求項１７】
前記バス相互接続アービタが一体化される、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末（ＰＤＡ）、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク（ＤＶＤ）プレーヤ、およびポータブルデジタルビデオプレーヤからなるグループから選択されるデバイスをさらに備える、請求項１に記載のバス相互接続アービタ。
【請求項１８】
プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取るための手段と、
前記メモリアクセス要求に関連する性能特性に基づいて、前記バス相互接続に結合される異種メモリシステム内の複数の同種メモリシステムタイプの中から同種メモリタイプを決定するための手段と、ここにおいて、前記同種メモリタイプを決定するための前記手段は、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段と、各メモリアクセス要求ポリシーは、前記複数の同種メモリタイプの中の前記同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定するための手段と
を備える、
前記決定される同種メモリタイプに対応する前記異種メモリシステム中の複数の同種メモリの同種メモリに、前記メモリアクセス要求を経路指定するための手段と
を備える、バス相互接続アービタ。
【請求項１９】
プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
メモリコントローラの第１のメモリチャネルに結合される第１の同種メモリと、ここにおいて、前記第１の同種メモリは、揮発性メモリタイプである、
前記メモリコントローラの第２のメモリチャネルに結合される第２の同種メモリと、ここにおいて、前記第２の同種メモリは、不揮発性メモリタイプである、
を備え、
前記メモリコントローラは、
バス相互接続中のメモリアクセス要求を受け取り、前記メモリコントローラは、前記第１のメモリチャネルおよび前記第２のメモリチャネルを有する、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、各メモリアクセス要求ポリシーは、前記複数の同種メモリタイプの中の前記同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定する
ようにさらに構成されることによって、前記メモリアクセス要求に関連する性能特性に基づいて、前記バス相互接続に結合される前記異種メモリシステム内の複数の同種メモリタイプの中から同種メモリタイプを決定し、
前記決定される同種メモリタイプに対応する前記バス相互接続に結合される前記第１の同種メモリまたは前記第２の同種メモリのいずれかに前記メモリアクセス要求を経路指定するように構成される、
異種メモリシステム。
【請求項２０】
前記第１の同種メモリがダイナミックランダムアクセスメモリ（ＤＲＡＭ）からなり、前記第２の同種メモリが磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）からなる、請求項１９に記載の異種メモリシステム。
【請求項２１】
プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
第１のメモリチャネルおよび第２のメモリチャネルを有するバス相互接続中のメモリアクセス要求を受け取るための手段と、ここにおいて、前記メモリアクセス要求を受け取るための前記手段は、前記メモリアクセス要求に関連する性能特性に基づいて、前記バス相互接続に結合される前記異種メモリシステム内の複数の同種メモリタイプの中から同種メモリタイプを決定するための手段を備え、前記同種メモリタイプを決定するための前記手段は、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段と、各メモリアクセス要求ポリシーは、前記複数の同種メモリタイプの中の前記同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定するための手段と、
を備え、
前記決定される同種メモリタイプに基づいて、前記バス相互接続の前記第１のメモリチャネルに結合され、揮発性メモリタイプである第１の同種メモリ、または前記バス相互接続の前記第２のメモリチャネルに結合され、不揮発性メモリタイプである第２の同種メモリのいずれかに前記メモリアクセス要求を経路指定するための手段と、
を備えるメモリコントローラを含む、異種メモリシステム。
【請求項２２】
少なくとも１つの要求デバイスに結合されるバス相互接続と、前記バス相互接続は、前記少なくとも１つの要求デバイスから受け取ったメモリアクセス要求を、異種メモリシステムに経路指定するように構成されるバス相互接続アービタを備える、
前記バス相互接続に結合される第１の同種メモリシステムと、ここにおいて、前記第１の同種メモリシステムは、揮発性メモリタイプである、
前記バス相互接続に結合される第２の同種メモリシステムと、ここにおいて、前記第２の同種メモリシステムは、不揮発性メモリタイプである、
を備える、
ここにおいて、前記バス相互接続アービタは、
前記少なくとも１つの要求デバイスから前記バス相互接続中の前記メモリアクセス要求を受け取り、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、各メモリアクセス要求ポリシーは、複数の同種メモリタイプの中の同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定する
ようにさらに構成されることによって、前記メモリアクセス要求に関連する性能特性に基づいて、前記バス相互接続に結合される前記第１の同種メモリシステムまたは前記第２の同種メモリシステムのいずれかを決定し、
前記決定される同種メモリタイプに対応する、前記バス相互接続に結合される前記第１の同種メモリシステムまたは前記第２の同種メモリシステムの中の同種メモリに前記メモリアクセス要求を経路指定する
ように構成される、
プロセッサベースのシステム。
【請求項２３】
プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタの方法であって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取ることと、
前記メモリアクセスメモリに関連する性能特性に基づいて、前記バス相互接続に結合される異種メモリシステム内の複数の同種メモリタイプの中から同種メモリタイプを決定することと、前記同種メモリタイプを決定することは、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定することと、各メモリアクセス要求ポリシーは、前記複数の同種メモリタイプの中の前記同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定することと
を備える、
前記決定される同種メモリタイプに対応する前記異種メモリシステム中の複数の同種メモリの同種メモリに、前記メモリアクセス要求を経路指定することと
を備える方法。
【請求項２４】
前記複数の同種メモリの各々は、前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかである、請求項２３に記載の方法。
【請求項２５】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定することと、
メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項２６】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定することと、
前記メモリアクセス要求中のマスタ識別子に基づいて前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項２７】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定することと、
前記メモリアクセス要求中のアプリケーション識別子に基づいて前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することとを
備える、請求項２３に記載の方法。
【請求項２８】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項２９】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３０】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３１】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
前記プロセッサベースのシステム中の電力モードに基づいて前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３２】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
メモリページヒット率に基づいて前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３３】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
メモリアクセス要求トラフィックに基づいて前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３４】
前記メモリアクセス要求ポリシーを決定することが、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定することと、
アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも１つの動作パラメータに基づいてダイナミック異種メモリアクセス要求ポリシープロファイルとして前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３５】
前記メモリアクセス要求ポリシーを決定することは、
前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定することと、
前記有効動作プロファイルが存在しない場合に、デフォルトメモリアクセス要求ポリシーとして、前記メモリアクセス要求ポリシーを決定することと
を備える、請求項２３に記載の方法。
【請求項３６】
コンピュータ実行可能命令をその上に記憶させた非一時的なコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタに、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
前記メモリアクセス要求に基づいて、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、各メモリアクセス要求ポリシーは、前記複数の同種メモリタイプの中の前記同種メモリタイプに対応し、各メモリアクセス要求ポリシーは、スタティック異種メモリアクセス要求ポリシーおよびダイナミック異種メモリアクセス要求ポリシーのうちの１つである、
前記決定されるメモリアクセス要求ポリシーに対応する前記同種メモリタイプを決定する
ように構成されることによって、前記バス相互接続に結合される異種メモリシステム内の複数の同種メモリタイプの中の同種メモリタイプを、前記メモリアクセス要求に関連する性能特性に基づいて決定し、
前記決定される同種メモリタイプに対応する前記異種メモリシステム中の複数の同種メモリの同種メモリに、前記メモリアクセス要求を経路指定する
ことを行わせる非一時的なコンピュータ可読媒体。
【請求項３７】
前記メモリアクセス要求ポリシーを決定するために、前記メモリコントローラは、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定し、
メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項１９に記載の異種メモリシステム。
【請求項３８】
前記メモリアクセス要求ポリシーを決定するために、前記メモリコントローラは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項１９に記載の異種メモリシステム。
【請求項３９】
前記メモリアクセス要求ポリシーを決定するために、前記メモリコントローラは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項１９に記載の異種メモリシステム。
【請求項４０】
前記メモリアクセス要求ポリシーを決定するために、前記メモリコントローラは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項１９に記載の異種メモリシステム。
【請求項４１】
前記第１の同種メモリシステムは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）同種メモリからなり、前記第２の同種メモリシステムは、磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）同種メモリからなる、請求項２２に記載のプロセッサベースのシステム。
【請求項４２】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定し、
メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項２２に記載のプロセッサベースのシステム。
【請求項４３】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項２２に記載のプロセッサベースのシステム。
【請求項４４】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項２２に記載のプロセッサベースのシステム。
【請求項４５】
前記メモリアクセス要求ポリシーを決定するために、前記バス相互接続アービタは、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ようにさらに構成される、請求項２２に記載のプロセッサベースのシステム。
【請求項４６】
前記複数の同種メモリは、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）同種メモリおよび磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）同種メモリからなる、請求項３６に記載の非一時的なコンピュータ可読媒体。
【請求項４７】
前記バス相互接続アービタに、
前記メモリアクセス要求がスタティック異種メモリアクセス要求に対応することを決定し、
メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、前記スタティック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ことをさらに行わせることによって前記バス相互接続アービタに前記メモリアクセス要求ポリシーを決定させるためのコンピュータ実行可能命令を記憶した、請求項３６に記載の非一時的なコンピュータ可読媒体。
【請求項４８】
前記バス相互接続アービタに、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ことをさらに行わせることによって前記バス相互接続アービタに前記メモリアクセス要求ポリシーを決定させるためのコンピュータ実行可能命令を記憶した、請求項３６に記載の非一時的なコンピュータ可読媒体。
【請求項４９】
前記バス相互接続アービタに、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ことをさらに行わせることによって前記バス相互接続アービタに前記メモリアクセス要求ポリシーを決定させるためのコンピュータ実行可能命令を記憶した、請求項３６に記載の非一時的なコンピュータ可読媒体。
【請求項５０】
前記バス相互接続アービタに、
前記メモリアクセス要求がダイナミック異種メモリアクセス要求に対応することを決定し、
前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、前記ダイナミック異種メモリアクセス要求ポリシーとして前記メモリアクセス要求ポリシーを決定する
ことをさらに行わせることによって前記バス相互接続アービタに前記メモリアクセス要求ポリシーを決定させるためのコンピュータ実行可能命令を記憶した、請求項３６に記載の非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示の技術は、プロセッサベースのシステムおよびデバイスで提供されるメモリおよびメモリシステムに関する。
【背景技術】
【０００２】
[0002]中央処理装置（ＣＰＵ）または他のプロセッサを含むプロセッサベースのシステムは、システム動作のため様々なタイプのメモリを利用する。このメモリは、データ記憶用のシステムメモリとして、また、実行される命令を記憶するためのプログラムコードを記憶するために使用され得る。
【０００３】
[0003]メモリは、一般的に、揮発性または不揮発性メモリのいずれかとして分類される。揮発性メモリの例は、ダイナミックランダムアクセスメモリ（ＤＲＡＭ）である。不揮発性メモリの例は、読取り専用メモリ（ＲＯＭ）、フラッシュメモリ、スタティックランダムアクセスメモリ（ＳＲＡＭ）、および磁気抵抗ランダムアクセスメモリ（ＭＲＡＭ）を含む。揮発性メモリは、メモリセルをリフレッシュして現在の状態（すなわち、データ）をアクティブに保つために、電力が費やされ、メモリセル内に保持されることを必要とする場合がある。不揮発性メモリは、リフレッシュの必要なしに、メモリセル中の現在の状態（すなわち、データ）を保持することが可能な場合がある。したがって、揮発性メモリは、不揮発性メモリよりも多くの電力を消費する場合がある。しかし、揮発性メモリは、限定はしないが、増加した読取り／書込み（ｒ／ｗ）速度、およびページ開および／または閉速度を含む、不揮発性メモリを超える増加した性能特性を有する場合がある。
【０００４】
[0004]したがって、揮発性メモリは、リフレッシュ用のより多くの電力消費について増加した性能が許容可能なトレードオフである、プロセッサベースのシステムで有利に採用される場合がある。一方、不揮発性メモリは、減少した電力保存が性能に対して許容可能なトレードオフである、プロセッサベースのシステムで有利に採用される場合がある。
【発明の概要】
【０００５】
[0005]詳細な記載で開示される実施形態は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を含む。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。たとえば、異種メモリシステム中の１つの同種メモリは、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム中の別の同種メモリは、リフレッシュ用の電力を必要としないが、揮発性メモリよりも減少した性能を有する不揮発性メモリである場合がある。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および／または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの１つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義される、または非限定的な例として、読取り／書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能であるただ１つのメモリタイプを有することに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が最適化され得る。
【０００６】
[0006]この点に関連して、一実施形態では、バス相互接続アービタが提供される。バス相互接続アービタは、バス相互接続中のメモリアクセス要求を、プロセッサベースのシステム中の異種メモリシステムに経路指定するように構成される。バス相互接続アービタは、メモリアクセス要求を、要求デバイスから受け取るように構成される。バス相互接続アービタは、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するようにさらに構成され、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。バス相互接続アービタは、決定されるメモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定するようにさらに構成される。
【０００７】
[0007]また、さもなければ同種メモリシステムであった、異種メモリシステムを提供することにより、システム設計は、単一の同種メモリに制限することなく、異種メモリシステム内の各固有の同種メモリの固有の電力および性能特性を利用することができる。さらに、異種メモリシステム内の同種メモリが同じバス相互接続に結合されるので、異種メモリシステムを提供することは、メモリアクセス要求の要求デバイスに対し透過的となることができる。言い換えれば、要求デバイスは、メモリ要求について、先行する知識または特殊な設定を必要としない、メモリアクセス要求を提供することができる。これは、本明細書に開示される異種メモリシステムを採用するプロセッサベースのシステム、および／またはプロセッサベースのシステム中のバス相互接続を介してメモリアクセス要求を実現する要求デバイスのいずれかで、アーキテクチャの変化を必要としない追加の利点を有することができる。
【０００８】
[0008]別の実施形態では、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタが提供される。バス相互接続アービタは、要求デバイスからバス相互接続中のメモリアクセス要求を受け取るための手段を備える。バス相互接続アービタは、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段も備え、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。バス相互接続アービタは、決定されるメモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定するための手段も備える。
【０００９】
[0009]別の実施形態では、プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムが提供される。異種メモリシステムは、バス相互接続中のメモリアクセス要求を受け取るように構成されるメモリコントローラを備え、メモリコントローラは、第１のメモリチャネルおよび第２のメモリチャネルを有する。第１の同種メモリは、メモリコントローラの第１のメモリチャネルに結合されており、ここにおいて、第１の同種メモリは、揮発性メモリからなる。第２の同種メモリは、メモリコントローラの第２のメモリチャネルに結合されており、ここにおいて、第２の同種メモリは、バス相互接続中の不揮発性メモリからなる。メモリコントローラは、第１の同種メモリまたは第２の同種メモリのいずれかにメモリアクセス要求を経路指定するようにさらに構成される。
【００１０】
[0010]別の実施形態では、プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムが提供される。異種メモリシステムは、メモリコントローラを含む。メモリコントローラは、バス相互接続中のメモリアクセス要求を受け取るための手段を備えており、メモリコントローラは、第１のメモリチャネルおよび第２のメモリチャネルを有する。メモリコントローラは、バス相互接続中のメモリアクセス要求を、メモリコントローラの第１のメモリチャネルに結合される第１の同種メモリと、ここにおいて、第１の同種メモリは揮発性メモリからなる、またはメモリコントローラの第２のメモリチャネルに結合される第２の同種メモリと、ここにおいて、第２の同種メモリは不揮発性メモリからなる、のいずれかに経路指定するための手段も備える。
【００１１】
[0011]別の実施形態では、プロセッサベースのシステムが提供される。プロセッサベースのシステムは、少なくとも１つの要求デバイスに結合されるバス相互接続からなる。バス相互接続は、少なくとも１つの要求デバイスから受け取ったメモリアクセス要求を、異種メモリシステムに経路指定するように構成されるバス相互接続アービタを備える。プロセッサベースのシステムは、バス相互接続に結合される第１の同種メモリシステムも備えており、ここにおいて、第１の同種メモリシステムは、揮発性メモリからなる。プロセッサベースのシステムは、バス相互接続に結合される第２の同種メモリシステムをさらに備えており、ここにおいて、第２の同種メモリシステムは、不揮発性メモリからなる。バス相互接続アービタは、バス相互接続中のメモリアクセス要求を、少なくとも１つの要求デバイスから受け取るように構成される。バス相互接続アービタは、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するようにも構成され、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される第１の同種メモリシステムまたは第２の同種メモリシステムのいずれかに対応する。バス相互接続アービタは、決定されるメモリアクセス要求ポリシーに対応するバス相互接続に結合される、第１の同種メモリシステムまたは第２の同種メモリシステムの中の同種メモリに、メモリアクセス要求を経路指定するようにさらに構成される。
【００１２】
[0012]別の実施形態では、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタの方法が提供される。方法は、要求デバイスからバス相互接続中のメモリアクセス要求を受け取ることを備える。方法は、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定することも備え、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。方法は、メモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定することも備える。
【００１３】
[0013]別の実施形態では、要求デバイスからのバス相互接続中のメモリアクセス要求を受け取ることを、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタに行わせる、コンピュータ実行可能命令をその上に記憶させたコンピュータ可読媒体が提供される。コンピュータ実行可能命令は、バス相互接続アービタに、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定させるように構成され、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。コンピュータ実行可能命令は、バス相互接続アービタに、メモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定させるようにさらに構成される。
【図面の簡単な説明】
【００１４】
【図１】[0014]バス相互接続を介して送られるマスタデバイスからのメモリアクセス要求について、異種メモリアクセスを提供することが可能な異種メモリシステムを含む、例示的なプロセッサベースのシステムのブロック図。
【図２】[0015]メモリアクセス要求について異種メモリシステム中でどのメモリを利用するのかを決定するための、例示的なメモリアクセス要求ポリシーを図示する、例示的な異種メモリアクセス要求（ＭＡＲ：memory access request）ポリシーチャート。
【図３】[0016]限定はしないが、図１のプロセッサベースのシステムを含む、プロセッサベースのシステム中の異種メモリシステムについての、メモリアクセス要求の例示的な処理を図示する流れ図。
【図４】[0017]メモリアクセス要求について異種メモリシステム中の同種メモリへのアクセスをそれぞれが制御する、複数のメモリコントローラを採用する異種メモリシステムを含む、別の例示的なプロセッサベースのシステムのブロック図。
【図５】[0018]複数の要求デバイスから異種メモリシステムへのメモリアクセス要求を通信することおよび処理することに含まれるバス相互接続アービタを含む、例示的な回路のブロック図。
【図６】[0019]異種メモリシステムを含むプロセッサベースのシステム中のマスタデバイスから受け取ったメモリアクセス要求についての、メモリアクセス要求ポリシー初期化を処理するための例示的なプロセスの流れ図。
【図７】[0020]限定はしないが、図１および図４のプロセッサベースのシステムを含む、プロセッサベースのシステム中の異種メモリシステムについてのメモリアクセス要求を処理するための、より詳細な例示的なプロセスの流れ図。
【図８Ａ】[0021]動作中のメモリアクセス要求モードを示すための例示的な状態インジケータを示す図。
【図８Ｂ】[0022]メモリアクセス要求ポリシー初期化を提供するためマスタデバイスにより利用される、例示的な異種メモリアクセス要求（ＭＡＲ）ポリシーメッセージブロックを示す図。
【図８Ｃ】[0023]メモリアクセス要求ポリシーを記憶するための、例示的な異種メモリアクセス要求（ＭＡＲ）ポリシー表。
【図９Ａ】[0024]異種メモリシステムを含むプロセッサベースのシステム中のバス相互接続に、マスタデバイスにより提供される、例示的なメモリアクセス要求（ＭＡＲ）メッセージブロックの図。
【図９Ｂ】[0025]異種メモリシステムを含むプロセッサベースのシステム中のメモリアクセス要求を経路指定するための、バス相互接続中に採用される例示的なメモリアクセス要求（ＭＡＲ）キューの図。
【図１０】[0026]異種メモリシステム中のメモリアクセス書込み要求についての、スタティックメモリアクセス要求ポリシーを処理するための、例示的なプロセスの流れ図。
【図１１Ａ】[0027]異種メモリシステム中のメモリアクセス要求についての、ダイナミックメモリアクセス書込み要求ポリシーを処理するための、例示的なプロセスの流れ図。
【図１１Ｂ】[0028]有効なダイナミックメモリアクセス要求ポリシープロファイルが図１１Ａの例示的なプロセス中に存在しないことが決定される場合に、異種メモリシステム中のメモリアクセス要求についての、デフォルトメモリアクセス書込み要求ポリシーを処理するための、例示的なプロセスの流れ図。
【図１２】[0029]異種メモリシステムを含むプロセッサベースのシステム中のメモリアクセス読取り要求を処理するための、例示的なプロセスの流れ図。
【図１３】[0030]ダイナミックメモリアクセス要求ポリシーを決定するために、ダイナミック動作プロファイリングを実施するための、例示的なプロセスの流れ図。
【図１４】[0031]ダイナミックメモリアクセス要求プロファイルポリシーを決定するための、例示的なメモリアクセス要求（ＭＡＲ）ダイナミックプロファイル表。
【図１５】[0032]限定はしないが、図１および図４の異種メモリシステムを含む異種メモリシステムを含む、例示的なプロセッサベースのシステムのブロック図。
【発明を実施するための形態】
【００１５】
[0033]ここで図面を参照すると、本開示のいくつかの例示的な実施形態が記載される。「例示的な」という言葉は、本明細書中で、「例、事例、または例示として働くこと」を意味するように使用される。本明細書で「例示的な」として記載される任意の実施形態は、必ずしも、他の実施形態よりも好ましいまたは有利であると解釈されるべきでない。
【００１６】
[0034]詳細な記載で開示される実施形態は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を含む。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。各同種メモリは、特定の電力および性能特性を有する。たとえば、異種メモリシステム中の１つの同種メモリは、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム中の別の同種メモリは、リフレッシュ用の電力を必要としないが、揮発性メモリよりも減少した性能を有する不揮発性メモリである場合がある。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および／または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの１つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義される、または非限定的な例として、読取り／書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能であるただ１つのメモリタイプを有することに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が減少するように最適化され得る。
【００１７】
[0035]この点に関連して、図１は、例示的なプロセッサベースのシステム１０を図示する。この実施形態では、プロセッサベースのシステム１０は、バス相互接続１６に結合される複数のマスタデバイス１２（０〜Ｍ）および複数のスレーブデバイス１４（０〜Ｎ）を含む。バス相互接続１６は、バス相互接続１６のマスタポート１８（０〜Ｍ）に結合される複数のマスタデバイス１２（０〜Ｍ）のうちの１つまたは複数から、バス相互接続１６へスレーブポート２０（０〜Ｎ）を介して結合される複数のスレーブデバイス１４（０〜Ｎ）のいずれかに、メモリアクセス要求を、受け取って経路指定する。非限定的な例として、複数のマスタデバイス１２（０〜Ｍ）、複数のスレーブデバイス１４（０〜Ｎ）、およびバス相互接続１６は、所望により、半導体ダイ２２中に提供されてよく、システムオンチップ（ＳＯＣ）集積回路設計で提供されてよい。
【００１８】
[0036]図１を続けて参照して、バス相互接続アービタ２４が、バス相互接続１６の内部または外部に提供されてよい。バス相互接続アービタ２４は、マスタデバイス１２（０〜Ｍ）からスレーブデバイス１４（０〜Ｎ）への複数の通信要求を調停するため、本実施形態では、バス相互接続１６中に提供される。マスタデバイス１２（０〜Ｍ）およびスレーブデバイス１４（０〜Ｎ）は、所望の任意のタイプの電子デバイスまたはサブシステムであってよい。図１に図示されるように、マスタデバイス１２（０〜Ｍ）は、限定はしないが、中央処理装置（ＣＰＵ）１２（０）、モバイルデータモデム（ＭＤＭ：mobile data modem）１２（１）、グラフィックス処理装置（ＧＰＵ）１２（２）、ミニディスプレイポート（ＭＤＰ：mini display port）１２（３）、カメラ１２（４）、およびＨ．２６４（高解像度ビデオ圧縮エンコーダ）１２（Ｍ）を含む、任意のタイプの電子デバイスであってよい。
【００１９】
[0037]スレーブデバイス１２（０）の１つの例は、プロセッサベースのシステム１０の動作のためのデータおよび命令の両方を記憶するように構成されるメモリシステムである、異種メモリシステム２６である。異種メモリシステム２６は、マスタデバイス１２（０〜Ｍ）により、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリ２８（０〜Ａ）からなる。同種メモリは、共通の電力および／または性能特性を有する特定のメモリタイプである。異種メモリシステムは、少なくとも２つの異なるタイプの同種メモリを含む。下でより詳細に議論されるように、図１中の異種メモリシステム２６中の各同種メモリ２８（０〜Ａ）は、特定の電力および性能特性を有する。たとえば、異種メモリシステム２６中の１つの同種メモリ２８（０）は、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム２６中の別の同種メモリ２８（Ａ）は、リフレッシュ用の電力を必要としないが、揮発性メモリよりも減少した性能を有する場合がある不揮発性メモリである場合がある。この点に関連して、マスタデバイス１２（０〜Ｍ）からのメモリアクセス要求は、メモリアクセス要求、ならびに電力および／または性能要件に基づいて、異種メモリシステム２６中の同種メモリ２８（０〜Ａ）のうちの１つに、プロセッサベースのシステム１０中で有利に経路指定され得る。
【００２０】
[0038]図１を続けて参照して、バス相互接続アービタ２４は、マスタデバイス１２（０〜Ｍ）からメモリアクセス要求を受け取る。バス相互接続アービタ２４は、メモリ３２に結合されるメモリコントローラ３０を含む、異種メモリシステム２６にメモリアクセス要求を向ける。メモリ３２は、複数の同種メモリ２８（０〜Ａ）をさらに備える。メモリ３２は、２つのバス（ＤＡＴＡおよびＡＤＤＲ／ＣＴＲＬ）およびクロック信号（ＣＬＫ）を介してメモリコントローラ３０に結合される。データバス（ＤＡＴＡ）は、メモリ３２との間にデータを転送するために、メモリコントローラ３０によって使用される。アドレスおよび制御バス（ＡＤＤＲ／ＣＴＲＬ）は、メモリ３２を選択して制御するために使用され、クロック信号（ＣＬＫ）は、データバス（ＤＡＴＡ）ならびにアドレスおよび制御バス（ＡＤＤＲ／ＣＴＲＬ）の両方の時刻を決めるために使用される。バス相互接続アービタ２４は、複数の異種メモリアクセス要求ポリシーに基づいて、メモリアクセス要求を向ける。下に議論されるように、これらの異種メモリアクセス要求ポリシーは、性能要件、メモリトラフィックパターン、ページヒット率、エネルギー使用要件、または他の動作関連要件に基づいてよい。
【００２１】
[0039]図１を続けて参照して、異種メモリシステム２６は、マスタデバイス１２（０〜Ｍ）のうちのいずれかが、異種メモリシステム２６中のメモリ３２に読取りおよび書込みメモリアクセス要求を提供すること、読取りおよび書込み応答を受け取ることを可能にするために、バス相互接続１６に接続される。この点に関連して、異種メモリシステム２６は、バス相互接続１６をメモリ３２とインターフェースするメモリコントローラ３０を含む。メモリコントローラ３０は、異種メモリシステム２６を宛先とする、バス相互接続１６を通してマスタデバイス１２（０〜Ｍ）により提供されるメモリアクセス要求に応答して、メモリ３２との間でデータの流れも制御する。メモリバス３４は、メモリ３２をメモリコントローラ３０とインターフェースするために提供される。複数の同種メモリ２８（０〜Ａ）の各々は、メモリアクセス要求について、メモリコントローラ３０により個別に選択される、別個のメモリチップであってよい。同種メモリ２８（０〜Ａ）は、複数の揮発性同種メモリ２８（０）および複数の不揮発性同種メモリ２８（Ａ）としてさらに構成されてよい。上に議論されたように、メモリ３２は、限定はしないが、揮発性または不揮発性メモリなどの同種メモリタイプである、複数の同種メモリ２８（０〜Ａ）を含む。
【００２２】
[0040]バス相互接続アービタ２４は、決定された異種メモリアクセス要求（ＭＡＲ）ポリシー（図示せず）に基づいて、マスタデバイス１２（０〜Ｍ）から受け取ったメモリアクセス要求トランザクションを異種メモリシステム２６に経路指定するように構成される。異種ＭＡＲポリシーの目的は、異種メモリシステム２４中の複数の同種メモリ２８（０〜Ａ）から同種メモリ２８の選択を可能にすることである。メモリアクセス要求についてどの同種メモリ２８を選択するかの決定は、異種ＭＡＲポリシーに基づく。異種ＭＡＲポリシーは、同種メモリ２８を選択するための、必要な情報または基準を含むことができる。
【００２３】
[0041]また、さもなければ同種メモリシステムであった異種メモリシステム２４を提供することにより、プロセッサベースのシステム１０の設計は、単一の同種メモリに限定することなく、異種メモリシステム２４内の各固有の同種メモリ２８の、固有の電力および性能特性を利用することができる。さらに、本実施形態では、異種メモリシステム２４内の同種メモリ２８が同じバス相互接続１６に結合されるので、異種メモリシステム２４は、メモリアクセス要求を提供するマスタデバイス１２（０〜Ｍ）に対し透過的となることができる。言い換えれば、要求デバイス１２（０〜Ｍ）は、メモリ要求について、先行する知識または特殊な設定を必要としない、メモリアクセス要求を提供することができる。これは、プロセッサベースのシステム１０のバス接続１６に結合される同種メモリのみを提供することを介して、異種メモリシステム２８を採用するプロセッサベースのシステム２０、または要求デバイス１２（０〜Ｍ）にアーキテクチャの変化を必要としない追加の利点を有することができる。
【００２４】
[0042]この実施形態では、バス相互接続アービタ２４が異種ＭＡＲポリシーを決定すると、メモリコントローラ３０は、決定されるポリシーを実装するように構成される。この実施形態では、異種ＭＡＲポリシーは、スタティックまたはダイナミック異種ＭＡＲポリシーのいずれかに基づいてよい。スタティック異種ＭＡＲポリシーは、現在のダイナミックまたは実行時動作パラメータに基づかない事前定義されたＭＡＲポリシーである。下でより詳細に議論されるように、図１のバス相互接続アービタ２４は、異種メモリシステム２６中の複数の同種メモリ２８（０〜Ａ）のどれが、要求デバイスまたはマスタデバイス１２（０〜Ｍ）のタイプに基づいてメモリアクセス要求を経路指定するのかを決定するのに使用するために、デフォルトおよびスタティック異種メモリアクセス要求ポリシーを記憶するための、異種ＭＡＲポリシー表３６で構成される。ダイナミック異種ＭＡＲポリシーは、限定はしないが、アプリケーション優先度、ページヒット率、電力優先度、読取り／書込み優先度、メモリトラフィック要件などの、システム動作特性に基づく。下で議論されるように、マスタデバイス１２（０〜Ｍ）およびバス相互接続アービタ２４は、ダイナミック異種ＭＡＲポリシーを決定および提供するように構成され得る。図１に図示されるように、バス相互接続アービタ２４は、ダイナミック異種メモリアクセス要求ポリシーを決定するのに使用されるための、マスタデバイス１２（０〜Ｍ）用の有効な異種メモリアクセス要求ポリシーを記憶する、ＭＡＲダイナミックプロファイル表３８でも構成される。
【００２５】
[0043]プロセッサベースのシステム中のメモリアクセス要求の特性ならびに他の動作パラメータは、どの同種メモリに、メモリアクセス要求が有利に経路指定されるべきかを決定するために使用され得る。この点に関連して、図２は、（図１に示される）複数の同種メモリ２８（０〜Ａ）のどれが、メモリアクセス要求トランザクションのために使用されるかを決定するために使用される、例示的な異種ＭＡＲポリシー４０を図示する。例として、逐次メモリアクセスは、より高いメモリページヒット率を有する場合がある。より多いメモリトラフィックの状況では、より速い読取り／書込み速度、より大きいページサイズ、およびより遅い開／閉速度のメモリ性能特性を有する揮発性メモリにアクセスする、（図２のブロック４２に示されるような）異種メモリアクセス要求ポリシーを採用することが有利な場合がある。より少ないメモリトラフィックの状況では、性能に与えられる優先度に基づいて、揮発性または不揮発性メモリのいずれかにアクセスすることが有利な場合がある。優先度が性能に与えられる場合、その性能が不揮発性メモリを超えて利益となるので、揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること（ブロック４４）が有利な場合がある。優先度が性能に与えられない場合、その電力消費が揮発性メモリを超えて利益となるので、不揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること（ブロック４６）が有利な場合がある。
【００２６】
[0044]図２を続けて参照して、別の例として、ランダムメモリアクセスが、より低いメモリページヒット率を有する場合がある。より少ないメモリトラフィックの状況では、より高い性能特性が必要でない可能性があるので、より低い電力消費から利益を得るためにより遅い読取り／書込み速度およびより速い開／閉速度の特性を有する不揮発性メモリにアクセスする、異種メモリアクセス要求ポリシーを採用すること（ブロック４８）が有利な場合がある。より多いメモリトラフィックの状況では、電力消費効率に与えられる優先度に基づいて、不揮発性または揮発性メモリのいずれかにアクセスすることが有利な場合がある。優先度が電力消費効率より性能に与えられる場合、その性能が不揮発性メモリを超えて利益となるので、揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること（ブロック５０）が有利な場合がある。優先度が電力消費効率に与えられる場合、その電力消費が揮発性メモリを超えて利益となるので、不揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること（ブロック５２）が有利な場合がある。
【００２７】
[0045]図３は、異種ＭＡＲポリシー４０（図２に示される）に基づいてメモリアクセス要求トランザクションを評価および処理するため、図１のプロセッサベースのシステム１０中のバス相互接続アービタ２４により実施され得る例示的なプロセスを図示する流れ図である。このプロセスでは、バス相互接続アービタ２４が、次のメモリアクセス要求を受け取る（ブロック５４）。メモリアクセス要求は、本実施形態では、スタティックメモリアクセス要求者、ダイナミックメモリアクセス要求のいずれか一方であることを決定される。メモリアクセス要求がスタティックメモリアクセス要求である場合、メモリアクセス要求についてスタティックＭＡＲポリシーが決定される（ブロック５６）。その後、メモリアクセス要求は、決定されたスタティックＭＡＲポリシーに基づいて、異種メモリシステム２６内の同種メモリ２８（図示せず）に経路指定されることになる（ブロック５８）。メモリアクセス要求がダイナミックメモリアクセス要求である場合、ダイナミックメモリアクセス要求についてダイナミックＭＡＲポリシーが決定される（ブロック６０）。その後、メモリアクセス要求は、決定されたダイナミックＭＡＲポリシーに基づいて、異種メモリシステム２６内の特定の同種メモリ２８（図示せず）に経路指定されることになる（ブロック５８）。
【００２８】
[0046]図１の異種メモリシステム２６に加えて、異種メモリシステムの他の構成が可能である。たとえば、図４は、図１のプロセッサベースのシステム１０に類似するが、図１の異種メモリシステム２６への代替異種メモリシステム６４を含む、別のプロセッサベースのシステム１０’を図示する。図１と図４との間の共通構成要素は、同じ要素番号を使用し、繰り返して記載されないことになる。図４の異種メモリシステム６４では、複数の同種メモリシステム６６（０〜Ｍ）が提供され、各々は、専用のメモリコントローラ６８を有する。同種メモリシステム６６（０〜Ｍ）中の各メモリコントローラ６８は、図１の異種メモリシステム２６と異なり、それぞれの同種メモリシステム７０（０〜Ｍ）を制御するように構成される。したがって、図４のメモリコントローラ６８は、メモリアクセス要求に適用される異種ＭＡＲポリシーを決定しない。この実施形態では、バス相互接続アービタ２４が、メモリアクセス要求に適用される異種ＭＡＲポリシーを決定する。バス相互接続アービタ２４は、同種メモリシステム６６（０〜Ｍ）の適切なものを表す、特定の所望のスレーブポート２０（０）にメモリアクセス要求を経路指定することにより、決定された異種ＭＡＲポリシーを実装する。メモリアクセス要求が同種メモリシステム６６（０〜Ｍ）の適切なものによって一度受け取られると、メモリアクセス要求は、同種メモリシステム６６（０〜Ｍ）中のメモリコントローラ６８によって、メモリアクセス要求中のメモリアドレスに基づいて、専用のメモリコントローラ６８に結合される同種メモリ７０（０〜Ｍ）に単純に経路指定される。
【００２９】
[0047]図５は、図１のバス相互接続１６のより詳細な例を図示し、マスタデバイスからスレーブデバイスに、メモリアクセス要求を含む、バストランザクションを経路指定するための、例示的な経路指定リソースを図示する。バス相互接続アービタ２４は、バス相互接続１６に結合される、マスタデバイス１２（０〜Ｍ）とスレーブデバイス１４（０〜Ｎ）との間でバストランザクションを調停する。図１におけるバス相互接続アービタ２４は、異種ＭＡＲポリシー４０を決定し、スレーブポート２０（０〜Ｎ）のうちの１つにメモリアクセス要求を経路指定することになる。スレーブポート２０（０〜Ｎ）に結合される、図１のメモリコントローラ３０は、経路指定されるメモリアクセス要求を受け取らなければならない同種メモリ２８（０〜Ａ）を決定する。図４の代替異種プロセッサベースのシステム１０’では、バス相互接続アービタ２４が、異種ＭＡＲポリシー４０を決定し、決定された異種ＭＡＲポリシー４０に基づいて、メモリアクセス要求が経路指定されるスレーブポート２０（０〜Ｎ）を選択することになる。この代替異種プロセッサベースのシステム１０’における違いは、バス相互接続アービタ２４が、決定されたスレーブポート２０（０〜Ｎ）にメモリアクセス要求を経路指定し、メモリコントローラ６８が、同種メモリシステム７０（０〜Ｍ）にさらに経路指定することである。図１および図４に図示されるように、マスタポート１８（０〜Ｍ）に結合されるマスタポートバス７２（０〜Ｍ）を通して、マスタデバイス１２（０〜Ｍ）とバス相互接続１６との間で、通信がサポートされる。同様に、スレーブポート２０（０〜Ｎ）に結合されるスレーブポートバス７４（０〜Ｎ）を通して、スレーブデバイス１４（０〜Ｎ）とバス相互接続１６との間で、通信がサポートされる。バス相互接続１６は、所望のマスタデバイス１２（０〜Ｍ）と所望のスレーブデバイス１４（０〜Ｎ）との間で通信経路を確立するように構成可能な、例として、ゲート、ラッチ、およびレジスタなどのクロック動作回路を含む。たとえば、図４に図示されるように、バス相互接続１６に提供される例示的な構成要素は、マスタデバイス１２（０〜Ｍ）のうちの１つとスレーブデバイス１４（０〜Ｎ）のうちの１つとの間に通信経路を提供するように構成可能である。
【００３０】
[0048]図５を続けて参照して、マスタポート１８（０〜Ｍ）は、各々、マスタデバイス１２（０〜Ｍ）からバストランザクションを受け取るため、マスタポートバス７２（０〜Ｍ）に接続されるマスタポートインターフェース７６（０〜Ｍ）を含む。マスタポートキュー７８（０〜Ｍ）は、マスタポートキュー７８（０〜Ｍ）とスレーブポートキュー８０（０〜Ｎ）との間のバストランザクションを調停するため、バス相互接続アービタ２４に提供されるバストランザクションまたはコマンドを記憶するために提供される。バス相互接続アービタ２４は、スレーブデバイス１４（０〜Ｎ）へのバストランザクションを調停するための、スレーブポート２０（０〜Ｎ）に関連する別個のアドレッシングアービタ８２、および読取りデータとスレーブポート２０（０〜Ｎ）から来る書込み完了応答とを調停するための、マスタポート１８（０〜Ｍ）に関連するデータ（読取り／書込み）アービタ８４を含んでよい。スレーブポートキュー８０（０〜Ｎ）は、スレーブポートバス７４（０〜Ｎ）に接続されるスレーブポートインターフェース８６（０〜Ｎ）へのバストランザクションを提供する。図５は、マスタデバイス１２（０〜Ｍ）のうちの１つに結合されるマスタポート１８（０〜Ｍ）のうちの１つとスレーブデバイス１４（０〜Ｎ）のうちの１つに結合されるスレーブポート２０（０〜Ｎ）のうちの１つとの間の通信経路を図示しているが、アドレッシングアービタ８２およびデータ（読取り／書込み）アービタ８４は、マスタポート１８（０〜Ｍ）とスレーブポート２０（０〜Ｎ）との間のバス相互接続１６により可能とされる通信経路を調停するように構成され得ることに留意されたい。
【００３１】
[0049]図５を続けて参照して、カウンタ８８（０〜Ｎ）が、各スレーブポート２０（０〜Ｎ）用にやはり提供され得る。カウンタ８８（０〜Ｎ）は、スレーブポートインターフェース８６（０〜Ｎ）により完了されるトランザクションをそれぞれカウントする。カウンタ８８（０〜Ｎ）は、バス相互接続アービタ２４が、ＭＡＲダイナミックプロファイル表３８の中に有効なダイナミックプロファイル情報を入力することができるように、バス相互接続アービタ２４にカウントおよびシステム動作情報を提供することができる。バス相互接続アービタ２４は、ＭＡＲダイナミックプロファイル表３８の中の有効なメモリアクセス要求（ＭＡＲ）ダイナミックプロファイル情報に基づいて、ポリシー決定をするようにさらに構成される。たとえば、バス相互接続アービタ２４は、メモリアクセス要求トランザクションの完了がスケジュールより先、スケジュール通り、またはデッドラインより後であるかどうかを評価するためにカウンタ８８（０〜Ｎ）を使用し、それに応答してメモリアクセス要求トランザクションについてバス調停ポリシーを適用することができる。図６〜図１５は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体の例示的なプロセスに関連する、さらなる細目および詳細を図示する。
【００３２】
[0050]電源投入または再通電されるとき、プロセッサベースのシステムは、通常動作を開始するために準備されなければならない。図１のプロセッサベースのシステム１０の場合では、初期およびデフォルト異種メモリアクセス要求ポリシーを確立することが必要である。プロセッサベースのシステム１０が、動作の、スタティックモードであろうと、またはダイナミックモードであろうと、異種メモリアクセス要求ポリシーの初期の組が確立されなければならない。動作のダイナミックモードの特定の状況では、動作プロファイルを規定するための十分な情報を集めるための十分な時間がなかった可能性がある。そのような場合、デフォルト異種メモリアクセス要求ポリシーが必要となることになる。
【００３３】
[0051]この点に関連して、図６は、デフォルトメモリアクセス要求ポリシーを決定するために使用される異種ＭＡＲポリシー表３６への例示的な更新を図示する流れ図である。マスタデバイス１２（０〜Ｍ）およびアプリケーションポリシー表の更新は、ここで、バス相互接続アービタ２４によって実施される。代替として、この更新は、更新するマスタデバイス１２（０〜Ｍ）によって直接実施されてよい。マスタデバイス１２（０〜Ｍ）による更新、アプリケーション初期化またはその後のポリシー更新の際に、バス相互接続アービタ２４は、図８Ｂで下でより詳細に議論されるように、ＭＡＲポリシーメッセージを受け取ることになる（ブロック９０）。ＭＡＲポリシーメッセージは、図８Ｃで下で議論されるように、異種ＭＡＲポリシー表３６に記憶するため、必要なデフォルト同種メモリ情報を含む。一度ＭＡＲポリシーメッセージが受け取られると、バス相互接続アービタ２４は、異種ＭＡＲポリシー表３６を更新することになる（ブロック９２）。
【００３４】
[0052]メモリアクセス要求情報は、バス相互接続アービタ２４が、メモリアクセス要求についての異種ＭＡＲポリシーを決定し、メモリアクセス要求をスレーブデバイス１４（０〜Ｎ）のうちの適切なものに向けることを可能にする。メモリアクセス要求情報は、異種ＭＡＲポリシー４０に基づいて評価するため、バス相互接続アービタ２４に提供される詳細を含む。この点に関連して、図７および図８Ａ〜図８Ｃは、動作モードまたは現在の異種メモリアクセス要求ポリシーを初期化、更新、または適用するため、マスタデバイス１２（０〜Ｍ）とバス相互接続アービタ２４との間で通信するために使用され得る、例示的なプロセスならびにサポート表およびメッセージブロックを記載する。
【００３５】
[0053]この点に関連して、図７は、例示的なプロセスを図示する流れ図であり、ここにおいて、バス相互接続アービタ２４は、メモリアクセス要求ポリシーを受け取り、決定し、適用し、次いで、異種メモリアクセス要求ポリシーに基づいてメモリアクセス要求を経路指定する。メモリアクセス要求が受け取られ、次いで受け取ったメモリアクセス要求を処理するために進む（ブロック９４）。メモリアクセス要求を受け取った後、バス相互接続アービタ２４は、メモリアクセス要求が読取り要求であるかまたは書込み要求であるかを決定する（ブロック９６）。メモリアクセス要求が書込みトランザクションであるとバス相互接続アービタ２４が決定する場合、バス相互接続アービタ２４は、これが、メモリアクセス書込み要求（ＭＡＷＲ：memory access write request）であると決定することになる。異種ＭＡＲポリシー決定は、図８Ａの動作モードインジケータ表１０４に基づくことになる。動作モードインジケータ設定１０６は、バス相互接続アービタ２４が、メモリアクセス要求に対して、スタティックまたはダイナミックＭＡＲポリシーを適用するかどうかを決定するために使用される（ブロック９８）。
【００３６】
[0054]図７をさらに参照すると、プロセッサベースのシステムがスタティック動作モードであるとバス相互接続アービタ２４が決定する場合（ブロック９８）、スタティックＭＡＲポリシーが適用されることになる（ブロック１００）。メモリアクセス要求は、決定されたＭＡＲポリシーに基づいて経路指定されることになる（ブロック１０２）。しかし、ダイナミックＭＡＲポリシーが適用されることが決定される場合（ブロック１０３）、メモリアクセス要求は、代わりに、この決定されたＭＡＲポリシーに基づいて経路指定されることになる（ブロック１０２）。一方、メモリアクセス要求が読取りトランザクションタイプであるとバス相互接続アービタ２４が決定する場合、下に記載されるように、バス相互接続アービタ２４は、図１２に進むことになる。図７で適用される異種メモリアクセス要求ポリシーは、図８Ｂの異種ＭＡＲポリシーメッセージブロック１０８を使用して初期化および更新され、図８Ｃの異種ＭＡＲポリシー表３６に記憶される。
【００３７】
[0055]この点に関連して、図８Ｂは、例示的な異種ＭＡＲポリシーメッセージブロック１０８である。異種ＭＡＲポリシーメッセージブロック１０８は、図８Ｃの異種ＭＡＲポリシー表３６を更新するための情報のブロックを含む。マスタ＿ＩＤ１１０は、要求マスタデバイス１２（０〜Ｍ）を識別する情報を含む。アプリケーション＿ＩＤ１１２は、より詳細に、要求アプリケーションを識別するための必要があるアプリケーションをさらに識別し得る。マスタ＿ＩＤ１１０およびアプリケーション＿ＩＤ１１２は、所望のメモリタイプ１１４を有する。例として、メモリタイプ１１４は、限定はしないが、メモリアクセス要求トランザクションのために使用される、揮発性メモリまたは不揮発性メモリを識別する情報を含み得る。異種ＭＡＲポリシーメッセージブロック１０８は、電源がサイクル動作されるとき、メモリタイプ１１４がリセットされるべきか、この状態構成がプロセッサベースのシステムの電源サイクル動作の後まで残るべきかをシステムに示す、パワー＿オフ＿リセット１１６フィールドでさらに構成される。図８Ｃは、図８Ｂで上で異種ＭＡＲポリシーメッセージブロック１０８で記載されたようなフィールドを含む、異種ＭＡＲポリシー表３６である。異種ＭＡＲポリシー表３６は、異種ＭＡＲポリシーメッセージブロック１０８に基づいて、バス相互接続アービタ２４またはマスタデバイス１２（０〜Ｍ）により要求されるように更新される。
【００３８】
[0056]ＭＡＲポリシーメッセージブロックの構造は、どのマスタデバイス１２（０〜Ｍ）が要求を行っているのか、トランザクションのタイプ（すなわち、トランザクションが読取り／書込みトランザクションであるかどうか）を決定するための必要な要素、ならびにデッドラインおよび優先度としてそのような情報さえ含む。メモリアクセス要求は、ＭＡＲメッセージブロックにより規定される。異種ＭＡＲポリシーは、メモリアクセス要求にさらに適用される。この点に関連して、図９Ａは、図８Ｂのマスタ＿ＩＤ１１０、読取り／書込みインジケータ１２０、およびストリーム＿ＩＤブロック１２４を備える、ＭＡＲメッセージブロック１１８を図示する。ＭＡＲメッセージブロック１１８は、バス相互接続アービタ２４が、マスタデバイス１２（０〜Ｍ）からのメモリアクセス要求トランザクションを実施することを可能にするメッセージ情報を含む。たとえば、ＭＡＲメッセージブロック１１８は、要求マスタデバイス１２（０〜Ｍ）を識別する情報を含む、マスタ＿ＩＤ１１０を含む。バス相互接続アービタ２４は、どのマスタデバイス１２（０〜Ｍ）がスレーブデバイス１４（０〜Ｎ）から応答を受け取るのかを決定するために、マスタ＿ＩＤ１１０を使用する。マスタ＿ＩＤ１１０は、異種ＭＡＲポリシー表３６に基づいて、デフォルト異種ＭＡＲ４０を決定するためにも使用されることになる。バストランザクションがメモリアクセス要求である場合、読取り／書込みインジケータ（Ｒ／Ｗ）１２０は、メモリアクセス要求が読取りトランザクションであるか、書込みトランザクションであるかを決定するために使用されることになる。ストリーム＿ＩＤブロック１２４は、バストランザクションについてのストリームトランザクション情報を提供することになる。
【００３９】
[0057]図９Ａは、バス相互接続アービタ２４に送られるメモリアクセス要求中の、マスタデバイス１２（０〜Ｍ）により提供され得る例示的なマスタ＿ＩＤ１１０のブロック図を含む。この例では、マスタ＿ＩＤ１１０は、マスタデバイス１２（０〜Ｍ）を識別するために使用される１０ビットワードであり、バス相互接続アービタ２４と通信するとき、マスタデバイス１２（０〜Ｍ）内のアプリケーションをさらに規定する場合がある。上位２ビット（Ｆ１、Ｆ０）は、特定のメモリアクセス要求に含まれる、４つの別個の組織の識別を可能にする、組織識別子１２６を含む。中央の４ビット（Ｍ３、Ｍ２、Ｍ１、Ｍ０）は、マスタデバイス１２（０〜Ｍ）を識別する、マスタデバイス識別子１２８を備える。したがって、１６個の固有のマスタデバイス１２（０〜Ｍ）が、この例では可能である。次の２ビット（Ｓ１、Ｓ０）は、提供されるまたは適用可能であるマスタデバイス１２（０〜Ｍ）に結合されるサブマスタデバイス識別子１３０を識別する、サブマスタデバイス識別子１３０を含む。したがって、４つの固有のサブマスタデバイスがこの例では可能である。下位２ビット（Ａ１、Ａ０）は、マスタデバイス１２（０〜Ｍ）および／またはサブマスタデバイスが、所望の任意のアプリケーション情報を提供することを可能にするため使用され得る、アプリケーション識別子１３２を含む。たとえば、マスタデバイス１２（０〜Ｍ）および／またはサブマスタデバイスが、メモリアクセス要求を担うソフトウェアプロセスまたはスレッドを識別することを可能にするため、ソフトウェアプロセスまたはスレッドの識別が、アプリケーション識別子１３２中に提供され得る。所望される任意の他の情報が、アプリケーション識別子１３２中に含まれてよい。
【００４０】
[0058]図９Ａをさらに参照すると、ＭＡＲメッセージブロック１１８中のストリーム＿ＩＤブロック１２４として使用され得る、例示的なストリーム＿ＩＤブロック１２４のブロック図が示される。ストリーム＿ＩＤブロック１２４は、図１および図４のバス相互接続アービタ２４に提供されるストリームトランザクションに関連する例示的な情報を含む。ストリーム＿ＩＤブロック１２４は、ストリームトランザクションに関連する情報に基づいてストリームトランザクションを調停するため、バス相互接続アービタ２４が異種ＭＡＲポリシー４０を評価することを可能にする。マスタデバイス１２（０〜Ｍ）は、バス相互接続アービタ２４を通してストリームトランザクションを要求するとき、ストリーム＿ＩＤブロック１２４中に情報を提供する。
【００４１】
[0059]図９Ａでは、ストリーム＿ＩＤブロック１２４は、ストリームトランザクションを識別する、ストリーム識別子フィールド（ストリーム＿ＩＤ）１３４を含む。転送の数フィールド（＃＿転送）１３６は、ストリームトランザクションに関連する、バースト転送の数を提供する。ビートの数フィールド（＃＿ビート）１３８は、各バースト転送で実施されるデータ転送のビートの数を提供する。バイトの数フィールド（＃＿バイト）１４０は、各ビート転送で実施されるデータのバイトの数を提供する。バイトの数フィールド（＃＿バイト）１４０は、バス相互接続アービタ２４およびスレーブデバイス１４（０〜Ｎ）のアーキテクチャに応じて、構成可能または固定値であってよい。
【００４２】
[0060]ストリームトランザクションに関連するデッドラインがある場合、デッドライン情報が、デッドラインフィールド（デッドライン）１４２に記憶されてよい。たとえば、マスタデバイス１２（０〜Ｍ）は、クロックサイクル、ビート、または他の相対的または絶対的タイミングの観点であってよい、あるタイミング内で特定のストリームトランザクションが完了されることを要求する場合がある。優先度フィールド（優先度）１４４は、優先度がストリームトランザクションと関連付けされることを可能にするために、やはり提供される。優先度フィールド（優先度）１４４は、設計に応じて、マスタデバイス１２（０〜Ｍ）、バス相互接続アービタ２４、またはスレーブデバイス１４（０〜Ｎ）によって、供給および／または変更されるように構成され得る。このストリーム情報は、ストリームトランザクションを調停するために、ストリームトランザクションについてのバス調停ポリシーを評価および適用するため、バス相互接続アービタ２４により使用され得る。
【００４３】
[0061]図１のバス相互接続アービタ２４は、図９ＡのＭＡＲメッセージブロック１１８を含む、マスタデバイス１２（０〜Ｍ）からＭＡＲトランザクションを受け取る。以前に議論したように、ストリームトランザクション要求を含む、メモリアクセス要求に応答する、スレーブデバイス１４（０〜Ｎ）からのバストランザクション応答は、スレーブポートキュー８０（０〜Ｎ）中に配置される。バス相互接続アービタ２４は、スレーブポートキュー８０（０〜Ｎ）中に記憶されるストリームトランザクションについてのストリームトランザクション情報に基づいて、ＭＡＲ応答についての異種ＭＡＲポリシーを評価することができる。この点に関連して、図９Ｂは、図９ＡのＭＡＲメッセージブロック１１８に基づいて、ＭＡＲトランザクションを調停するための異種ＭＡＲポリシーを評価および適用することをサポートするため、バス相互接続アービタ２４によりアクセスされるスレーブポートキュー８０（０〜Ｎ）（図示せず）の図である。スレーブポートキュー８０（０〜Ｎ）は、内部レジスタまたはバス相互接続アービタ２４によりアクセス可能な他のメモリに提供されてよく、バス相互接続１６の内部または外部であってよい。ＭＡＲメッセージブロック１１８は、キューの中に記憶される。
【００４４】
[0062]この点に関連して、図９Ｂに図示されるように、本明細書でメモリアクセス要求（ＭＡＲ）キューとも呼ばれる、スレーブポートキュー８０（０〜Ｎ）は、０から「Ｘ」個のＭＡＲキュー１４６を保持するように構成される表からなる。キュー番号フィールド（キュー＃）１４８は、スレーブポートキュー８０（０〜Ｎ）に記憶されるＭＡＲトランザクション応答をインデックス付けするために使用される。この例での、スレーブポートキュー８０（０〜Ｎ）中の各ＭＡＲトランザクション応答は、ＭＡＲトランザクション応答を受け取るマスタデバイス１２（０〜Ｍ）を識別するためのマスタ＿ＩＤ１１０を含む。ＭＡＲトランザクションは、メモリ中の読取りまたは書込みトランザクション参照のためのメモリアドレス１４９も提供することになる。ＭＡＲトランザクション要求が要求データを含む場合、応答データは、データフィールド（データ）１５０に記憶され得る。ストリーム＿ＩＤブロック１２４は、バストランザクション要求がストリームトランザクションであった場合、ストリームトランザクション情報を記憶するため、各メモリアクセス要求エントリーについても提供される。
【００４５】
[0063]残っている転送の数フィールド（＃＿転送＿残り）１５２は、ＭＡＲトランザクション応答について異種ＭＡＲポリシー４０を評価および適用するため使用するために、バス相互接続アービタ２４がストリームトランザクションの進行を決定することを可能にするためにも提供される。残っている転送の数は、図９Ａのストリーム＿ＩＤブロック１２４中の転送の数フィールド（＃＿転送＿残り）１５２中にストリームトランザクション要求のため提供される、転送の数フィールド（＃＿転送＿残り）１５２に基づいて、バス相互接続アービタ２４により設定される。図５に図示されるカウンタ８８（０〜Ｎ）は、残っている転送の数フィールド（＃＿転送＿残り）１５２を減少させるため、未決定のＭＡＲトランザクションについてスレーブデバイス１４（０〜Ｎ）からの完了した転送の数をカウントする。ランクフィールド（ランク）１５４および重みフィールド（重み）１５６は、競合するＭＡＲトランザクション応答間で調停するために、バス相互接続アービタ２４により採用されるバス調停ポリシーでランクおよび／または重みが使用されることを可能にするため、やはり提供される。非限定の例として、重みフィールド（重み）１５６は、より重要な異種ＭＡＲポリシー４０を重み付けする方式で使用されうる。別の非限定の例として、ランクフィールド（ランク）１５４は、異種ＭＡＲポリシー４０に優先度を決めるために採用され得る。他の異種ＭＡＲ調停ポリシーが採用され得る。
【００４６】
[0064]図９Ｂに示されるように、ＭＡＲキュー１４６中のＭＡＲメッセージブロック１１８は、図８Ａ中の動作モードインジケータ設定１０６に基づいて異種ＭＡＲポリシー４０を決定するために必要なブロック情報を含む。図８Ａの動作モードインジケータ表１０４は、バス相互接続アービタ２４がメモリアクセス要求をスタティックまたはダイナミックモードで処理すべきかどうかを示す。この点に関連して、図１０は、例示的なプロセスの流れ図であり、ここにおいて、動作モードインジケータ設定１０６は、バス相互接続アービタ２４が、各メモリアクセス要求をスタティックモードで処理するべきということを示した。図１０での例示的なプロセスは、図７のスタティックＭＡＲポリシーを適用する（ブロック１００）より詳細なプロセスである。メモリアクセス要求は、スタティックモードに基づく、異種メモリアクセス書込み要求である。スタティックモードでは、バス相互接続アービタ２４は、どの異種メモリ２８（図１）および７０（図４）に書込み要求を向けるのかを決定するため、デフォルト異種ＭＡＲポリシー表３６を利用し得る。バス相互接続アービタ２４は、ＭＡＲメッセージブロック１１８を分析して、図９Ａのマスタ＿ＩＤ１１０、読取り／書込みインジケータ１２０、およびストリーム＿ＩＤブロック１２４を構文解析することになる（ブロック１６０）。バス相互接続アービタ２４は、次いで、異種ＭＡＲポリシー表３６に基づいて異種ＭＡＲポリシーをＭＡＲ書込みトランザクションに適用する（ブロック１６２）。バス相互接続アービタ２４は、次いで、次のメモリアクセス要求を取り出すために戻る。
【００４７】
[0065]図１１Ａは、動作モードインジケータ表１０４がダイナミックモードに設定されるときに選択される、異種ＭＡＲポリシー４０を図示する流れ図である。動作モードインジケータ表１０４がダイナミックモードに設定されると、バス相互接続アービタ２４は、最初に、要求を行っているマスタデバイス１２（０〜Ｍ）について有効なメモリアクセス要求ダイナミックプロファイルエントリーが存在するかどうかを確かめるために、下に議論される、図１５のＭＡＲダイナミックプロファイル表３８で確認することになる。要求マスタデバイス１２（０〜Ｍ）についての有効プロファイルがある場合、バス相互接続アービタ２４は、マスタデバイス１２（０〜Ｍ）に戻されるＭＡＲダイナミックプロファイルエントリーに基づいて、ＭＡＲダイナミックプロファイル表３８を分析することになる（ブロック１７０）。ブロック１７０で実施される分析に基づいて、例示的なプロセスは、ＭＡＲダイナミックプロファイルに基づいて適用するための、適用可能ＭＡＲポリシーを決定することになる（ブロック１７２）。一度異種ＭＡＲポリシー４０が決定されると、プロセスは、異種ＭＡＲポリシーに基づいてダイナミックメモリアクセス書込み要求を適用することになる（ブロック１７４）。
【００４８】
[0066]図１１Ｂの流れ図は、要求マスタデバイス１２（０〜Ｍ）について有効プロファイルがないかどうかについてのプロセスを記載する。そのような場合、バス相互接続アービタ２４は、デフォルト異種ＭＡＲポリシー４０に基づいて、マスタ＿ＩＤ１１０を分析することになる（ブロック１７６）。バス相互接続アービタ２４は、次いで、デフォルト異種ＭＡＲポリシー４０を適用する（ブロック１７８）。有効なダイナミックプロファイルが存在しない場合の、ダイナミックメモリアクセス要求ポリシーに対するこの例外が完了すると、バス相互接続アービタ２４は、次のメモリアクセス要求（ＭＡＲ）を受け取るために戻る（図７のブロック９４）。（図８〜図１１Ｂで上で議論されたように）メモリアクセス要求トランザクションが書込みトランザクションでない場合、メモリアクセス要求は、図９Ａの読取り／書込みインジケータ１２０に基づいて図７のブロック９６で決定されたように、メモリアクセス読取り要求であると決定されることになる。
【００４９】
[0067]この点に関連して、図１２は、図７のブロック９６で決定されたように、例示的なメモリアクセス読取り要求（ＭＡＲＲ：memory access read request）を図示する。バス相互接続アービタ２４は、ＭＡＲメッセージブロック１１８中で、図９Ａの読取り／書込みインジケータ１２０を読み取り、ＭＡＲメッセージブロック１１８が読取りまたは書込みトランザクションであるかどうかを決定する。読取り／書込みインジケータ１２０が読取りトランザクションを示す場合、バス相互接続アービタ２４は、図１２に図示されるような例示的なプロセスで進む。バス相互接続アービタ２４は、最初に、ＭＡＲメッセージブロック１１８を分析し（ブロック１８２）、マスタ＿ＩＤ１１０およびストリーム＿ＩＤブロック１２４を決定することになる。バス相互接続アービタ２４は、次いで、スタティック異種ＭＡＲポリシー表３６により決定されるＭＡＲポリシーに基づいて、適切なメモリ読取り位置を決定する（ブロック１８４）。一度決定されると、バス相互接続アービタ２４は、次いで、決定されたＭＡＲポリシーに基づいて、メモリ読取り要求を適用し得る（ブロック１８６）。
【００５０】
[0068]事実上スタティックである、すなわち、予め定められ、実行時の状態に基づいて調整または変化しないメモリアクセス要求は、図８Ｃのデフォルト異種ＭＡＲポリシー表３６に基づく。これらは、マスタデバイス１２（０〜Ｍ）により予め定められるか、またはアプリケーションに関連付けられるかどちらであってもよい。しかし、動作モードインジケータ設定１０６が、プロセッサベースのシステムを、ダイナミックプロファイリングを必要とするダイナミックモードに設定する場合、システムは、ＭＡＲポリシーベースの実行時の状態を決定しなければならない。この点に関連して、図１３は、動作のダイナミックモードにダイナミックメモリアクセス要求ポリシーを適用することに使用するための、ＭＡＲダイナミックプロファイル表３８の更新のため、有効なプロファイルの作成を図示する流れ図である。バス相互接続アービタ２４は、システム動作をプロファイリングするプロセスを開始する（ブロック１９２）。プロファイリングは、下の図１４でさらに議論されるように、ページヒット率、メモリトラフィックなどを適切に特徴付けるため、何らかの時間の測度を必要とする場合がある。プロファイルが完了したとバス相互接続アービタ２４が決定するまで（ブロック１９６）、プロファイリングが継続する（ブロック１９４）。一度完了すると、バス相互接続アービタ２４は、異種ＭＡＲダイナミックプロファイル表３８を更新する（ブロック１９８）。バス相互接続アービタ２４は、下でより詳しく議論されるように、プロファイル＿有効インジケータをやはり設定する（ブロック２００）。
【００５１】
[0069]ここで図１４を参照して、ＭＡＲダイナミックプロファイル表３８は、集められた、および／または測定されたシステム動作情報に基づいて、異種ＭＡＲポリシー決定をするのに必要な有効ダイナミックプロファイル情報を含む。このＭＡＲダイナミックプロファイル表３８の使用は、動作モードインジケータ設定１０６により決定される。動作モードインジケータ設定１０６が、動作のスタティックモードに設定される場合、ＭＡＲダイナミックプロファイル表３８は使用されない場合がある。しかし、動作モードインジケータ設定１０６が、動作のダイナミックモードに設定される場合、バス相互接続アービタ２４は、様々なシステム動作性能測度を使用して、必要に応じて有効プロファイルでＭＡＲダイナミックプロファイル表３８を更新してよい。ＭＳＴＲ＿ＩＤ／ＡＰＰ  ＃２０２は、更新されるプロファイルを識別および加齢させるために使用され得るインデックス番号である。たとえば、プロファイルは、有効となるために現行となる必要がある可能性がある。バス相互接続アービタ２４は、プロファイルエントリーに打刻、順序付け、またはランク付けするために、このフィールドを使用し得る。プロファイル＿有効インジケータフィールド２０４は、マスタ＿ＩＤ１１０の列挙である。たとえば、要求マスタデバイス１２（０〜Ｍ）に基づいて有効プロファイルを探すとき、有効プロファイルは、そのマスタデバイス１２（０〜Ｍ）に関連する有効プロファイルを発見することにより決定され得る。
【００５２】
[0070]さらに図１４を参照すると、マスタ＿ＩＤ１１０および構文解析されたアプリケーション識別子（アプリケーション＿ＩＤ）１３２の両方が、より簡単な検索のために記憶され得る。ＭＡＲダイナミックプロファイル表３８は、図９Ａで以前に議論されたように、たとえば、アプリケーションまたはマスタデバイス１２（０〜Ｍ）優先度フィールド（優先度）１４４、またはデッドラインフィールド（デッドライン）１４２といった、アプリケーション固有パラメータをやはりサポートし得る。ＭＡＲダイナミックプロファイル表３８は、プロセッサベースのシステムの、現在のバッテリ充電レベルまたは要求されるシステム実行時優先度のいずれかの表示を与え得る、たとえば電力優先度２０６といった、システム性能パラメータをやはりサポートし得る。読取り／書込み優先度２０８は、マスタデバイス１２（０〜Ｍ）が読取り／書込み性能に与える優先度の表示を提供する。例として、電力優先度２０６がＲ／Ｗ優先度２０８よりも高い場合、バス相互接続アービタ２４は、よりエネルギー効率的な同種メモリユニットを選択する異種ＭＡＲポリシー４０決定を行ってよい。すなわち、要求されるシステム実行時は、任意の他の性能要件よりもより高い優先度で、バッテリ充電レベルが残ることを必要とする場合がある。しかし、読取り／書込み性能がより高い優先度である場合、バス相互接続アービタ２４は、場合によってバッテリ充電レベルを犠牲にして、利用可能な最も高い性能である同種メモリ２８（０〜Ａ）に読み取るまたは書き込むためのポリシー決定を行うことができる。
【００５３】
[0071]加えて、図１４では、プロセッサベースのシステムは、他のシステム性能パラメータの中でもとりわけ、ページヒット率２１０およびメモリトラフィックフィールド２１２を測定し得る。ページヒット率２１０は、メモリアクセス要求がどれだけランダムであるかの表示である。スタティック異種ＭＡＲポリシーは、たとえば、マスタデバイス１２（０〜Ｍ）またはアプリケーションがデフォルトで揮発性メモリに読み取るまたは書き込むべきであることを決定し得る。しかし、マスタデバイス１２（０〜Ｍ）の最近の挙動に基づいて、マスタデバイス１２（０〜Ｍ）がよりランダムな読取りおよび書込みで動作しているという決定がなされ得る。この場合、バス相互接続アービタ２４は、代わりに不揮発性メモリに読み取るまたは書き込むことにより性能が高められると決定し得る。メモリトラフィックフィールド２１２は、典型的にはマスタデバイス１２（０〜Ｍ）がよりランダムな読取りおよび書込みをするにもかかわらず、現在のマスタデバイス１２（０〜Ｍ）またはアプリケーションの挙動がメモリのより大きい連続するブロックへの読取りおよび書込みで機能しているかどうかを決定するためにやはり使用され得る。この例では、デフォルトは、不揮発性メモリへ読み取るおよび書き込むことであってよいが、挙動の変化のため、バス相互接続アービタ２４は、揮発性メモリを使用し、それに応じてＭＡＲダイナミックプロファイル表３８を更新することがより良いと決定し得る。
【００５４】
[0072]本明細書に開示される実施形態にしたがう、異種メモリシステム、および関連する方法、ならびにコンピュータ可読媒体は、任意のプロセッサベースのデバイスに提供され、または一体化され得る。例としては、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末（ＰＤＡ）、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク（ＤＶＤ）プレーヤ、およびポータブルデジタルビデオプレーヤがある。
【００５５】
[0073]この点に関連して、図１５は、図１および図４に図示されたプロセッサベースのシステム１０、１０’における異種メモリアクセス要求をサポートするための異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を採用し得るプロセッサベースのシステム２２８の例を図示する。この例では、プロセッサベースのシステム２２８は、各々が１つまたは複数のプロセッサ２３２を含む、１つまたは複数の中央処理装置（ＣＰＵ）２３０を含む。ＣＰＵ２３０は、マスタデバイス１２（０〜Ｍ）であってよい。ＣＰＵ２３０は、一時的に記憶されたデータへの高速アクセスのためにプロセッサ２３２に結合されたキャッシュメモリ２３４を有し得る。ＣＰＵ２３０は、システムバス２３６に結合され、プロセッサベースのシステム２２８に含まれるマスタとスレーブデバイスを相互結合し得る。システムバス２３６は、図１および図４に図示される、バス相互接続１６と同様のバス相互接続であってよい。よく知られているように、ＣＰＵ２３０は、システムバス２３６を介してアドレス、制御、およびデータ情報を交換することによって、これらの他のデバイスと通信する。たとえば、ＣＰＵ２３０は、スレーブデバイスの例として、メモリコントローラ３０にバストランザクション要求を通信することができる。図１５には示されていないが、複数のシステムバス２３６が提供されてよく、ここにおいて、各システムバス２３６は異なる組織を構成する。
【００５６】
[0074]他のマスタおよびスレーブデバイスが、システムバス２３６に接続され得る。図１５に図示されるように、これらのデバイスは、例として、少なくとも１つの異種メモリシステム２６、１つまたは複数の入力デバイス２３８、１つまたは複数の出力デバイス２４０、１つまたは複数のネットワークインターフェースデバイス２４２、および１つまたは複数のディスプレイコントローラ２４４を含むことができる。入力デバイス２３８は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含むことができる。出力デバイス２４０は、限定はしないが、オーディオ、ビデオ、他の視覚的インジケータなどを含む、任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス２４２は、ネットワーク２４６との間でデータの交換を可能にするように構成された任意のデバイスであり得る。ネットワーク２４６は、限定はしないが、有線またはワイヤレスネットワーク、プライベートまたは公共ネットワーク、ローカルエリアネットワーク（ＬＡＮ）、ワイドローカルエリアネットワーク（ＷＬＡＮ）、およびインターネットを含む、任意のタイプのネットワークであってよい。ネットワークインターフェースデバイス２４２は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。少なくとも１つの異種メモリシステム２６は、１つまたは複数の同種メモリ２８（０〜Ａ）を含み得る。バス相互接続アービタ２４は、システムバス２３６と、たとえば、少なくとも１つの異種メモリシステム２６中に提供される１つまたは複数の同種メモリ２８（０〜Ａ）といった、システムバス２３６に結合されるマスタおよびスレーブデバイスとの間に提供され得る。
【００５７】
[0075]ＣＰＵ２３０は、１つまたは複数のディスプレイ２４８に送られる情報を制御するため、システムバス２３６を介してディスプレイコントローラ２４４にアクセスするようにやはり構成され得る。ディスプレイコントローラ２４４は、表示されるべき情報をディスプレイ２４８に好適なフォーマットに処理する、１つまたは複数のビデオプロセッサ２５０を介して表示されるべき情報をディスプレイ２４８に送る。ディスプレイ２４８は、限定はしないが、陰極線管（ＣＲＴ）、液晶ディスプレイ（ＬＣＤ）、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
【００５８】
[0076]ＣＰＵ２３０およびディスプレイコントローラ２４４は、システムバス２３６を介してバス相互接続アービタ２４にメモリアクセス要求を行うマスタデバイスとしての役割を果たし得る。ＣＰＵ２３０およびディスプレイコントローラ２４４内の異なるスレッドは、バス相互接続アービタ２４に要求を行い得る。
【００５９】
[0077]本明細書に開示される実施形態に関して記載される、様々な例示の論理的ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェア、メモリまたは他のコンピュータ可読媒体中に記憶され、プロセッサまたは他の処理デバイスにより実行される命令、または両方の組合せとして実装され得ることを、当業者はさらに了解するであろう。本明細書に記載されるアービタ、マスタデバイス、およびスレーブデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路（ＩＣ）、またはＩＣチップに採用され得る。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであり得、任意のタイプの所望の情報を記憶するように構成され得る。この互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能性に関して記載された。そのような機能性がどのように実装されるかは、特定の用途、設計選択、および／または全体的なシステムに課された設計制約に依存する。当業者は、各特定の用途について様々な様式で記載された機能性を実装することができるが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきでない。
【００６０】
[0078]本明細書に開示された実施形態に関連して記載された、様々な例示の論理ブロック、モジュール、および回路は、本明細書に記載の機能を実施するよう設計された、プロセッサ、ＤＳＰ、特定用途向け集積回路（ＡＳＩＣ）、ＦＰＧＡまたは他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェア構成要素、またはその任意の組合せを用いて実装または実施され得る。プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、ＤＳＰとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、ＤＳＰコアと連携する１つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としてやはり実装され得る。
【００６１】
[0079]本明細書に開示される実施形態は、ハードウェアで、およびハードウェアに記憶される命令で具現化され得、たとえば、ランダムアクセスメモリ（ＲＡＭ）、フラッシュメモリ、リードオンリメモリ（ＲＯＭ）、電気的プログラマブルＲＯＭ（ＥＰＲＯＭ）、電気的消去可能プログラマブルＲＯＭ（ＥＥＰＲＯＭ（登録商標））、レジスタ、ハードディスク、リムーバブルディスク、ＣＤ−ＲＯＭ、または当技術分野で知られている任意の他の形式のコンピュータ可読媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み込み、記憶媒体へ情報を書き込むことができるように、プロセッサと結合される。代替として、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、ＡＳＩＣ中に存在してよい。ＡＳＩＣは遠隔局中に存在してよい。代替として、プロセッサおよび記憶媒体は、個別構成要素として遠隔局、基地局、またはサーバ中に存在してよい。
【００６２】
[0080]また、本明細書の例示的な実施形態のいずれかにおいて記載された動作ステップは、例および説明を提供するために記載されたものであることにやはり留意されたい。記載された動作は、図示したシーケンス以外の多数の異なるシーケンスで実行され得る。さらに、単一の動作ステップで記載された動作は、実際はいくつかの異なるステップで実行され得る。加えて、例示的な実施形態において議論された１つまたは複数の動作ステップは組み合わされ得る。フローチャート図に示した動作ステップは、当業者には容易に明らかになるように、多数の様々な修正を受け得ることを理解されたい。様々な異なる技術および技法のいずれかを使用して、情報および信号が表され得ることを、当業者はやはり理解するであろう。たとえば、上の記載を通して参照され得る、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せにより表され得る。
【００６３】
[0081]本開示の前の記載は、当業者が本開示を製造または使用することを可能にするように提供される。本開示に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書に規定の一般的な原理が、本開示の精神または範囲から逸脱することなく、他の変形形態に適用され得る。したがって、本開示は、本明細書に記載される例および設計に限定することを意図しておらず、本明細書に開示される、原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
［Ｃ１］  プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定する
ように構成される、バス相互接続アービタ。
［Ｃ２］  前記異種メモリシステムが複数の同種メモリからなる、Ｃ１に記載のバス相互接続アービタ。前記複数の同種メモリは、さらに、ＤＲＡＭ同種メモリおよびＭＲＡＭ同種メモリからなる。
［Ｃ３］  前記複数の異種メモリアクセス要求ポリシーが、少なくとも１つのスタティック異種メモリアクセス要求ポリシーおよび少なくとも１つのダイナミック異種メモリアクセス要求ポリシーからなる、Ｃ１に記載のバス相互接続アービタ。
［Ｃ４］  前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかに対応するように、前記複数の異種メモリアクセス要求ポリシーの中から前記メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ５］  メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ６］  メモリアクセス要求中のマスタ識別子に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ７］  メモリアクセス要求中のアプリケーション識別子に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ８］  ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ９］  前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１０］  前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１１］  前記プロセッサベースのシステム中の電力モードに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１２］  メモリページヒット率に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１３］  メモリアクセス要求トラフィックに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１４］  アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも１つの動作パラメータに基づいて、ダイナミック異種メモリアクセス要求ポリシープロファイルを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１５］  前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定するようにさらに構成され、ここにおいて、前記有効動作プロファイルが存在する場合に、デフォルトメモリアクセス要求ポリシーとして、前記複数の異種メモリアクセス要求ポリシーの中から異種メモリアクセス要求ポリシーを決定するように構成される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１６］  バス相互接続中に配設される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１７］  半導体ダイの中に一体化される、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１８］  前記バス相互接続アービタが一体化される、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末（ＰＤＡ）、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク（ＤＶＤ）プレーヤ、およびポータブルデジタルビデオプレーヤからなるグループから選択されるデバイスをさらに備える、Ｃ１に記載のバス相互接続アービタ。
［Ｃ１９］  プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取るための手段と、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段と、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定するための手段と
を備える、バス相互接続アービタ。
［Ｃ２０］  プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
前記バス相互接続中のメモリアクセス要求を受け取るように構成されるメモリコントローラと、前記メモリコントローラは、第１のメモリチャネルおよび第２のメモリチャネルを有し、
前記メモリコントローラの前記第１のメモリチャネルに結合される第１の同種メモリと、ここにおいて、前記第１の同種メモリは、揮発性メモリからなる、
前記メモリコントローラの前記第２のメモリチャネルに結合される第２の同種メモリと、ここにおいて、前記第２の同種メモリは、不揮発性メモリからなる、
ここにおいて、前記メモリコントローラは、前記バス相互接続に結合される前記第１の同種のメモリまたは前記第２の同種メモリのいずれかに前記メモリアクセス要求を経路指定するようにさらに構成される、
を備える、異種メモリシステム。
［Ｃ２１］  前記第１の同種メモリがＤＲＡＭからなり、前記第２の同種メモリがＭＲＡＭからなる、Ｃ２０に記載の異種メモリシステム。
［Ｃ２２］  前記メモリコントローラが、前記受け取られたメモリアクセス要求中のメモリアクセス要求ポリシーに基づいて、前記第１の同種メモリまたは前記第２の同種メモリのいずれかに前記メモリアクセス要求を経路指定するように構成される、Ｃ２０に記載の異種メモリシステム。
［Ｃ２３］  前記メモリコントローラが、前記受け取られたメモリアクセス要求中のバス相互接続アービタにより提供されるメモリアクセス要求ポリシーに基づいて、前記メモリアクセス要求を経路指定するようにさらに構成される、Ｃ２０に記載の異種メモリシステム。
［Ｃ２４］  プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
前記バス相互接続中のメモリアクセス要求を受け取るための手段と、メモリコントローラは、第１のメモリチャネルおよび第２のメモリチャネルを有し、
前記バス相互接続に結合される前記メモリコントローラの前記第１のメモリチャネルに結合され、揮発性メモリからなる第１の同種メモリ、または前記メモリコントローラの前記第２のメモリチャネルに結合され、不揮発性メモリからなる第２の同種メモリのいずれかに前記メモリアクセス要求を経路指定するための手段と、
を備えるメモリコントローラを含む、異種メモリシステム。
［Ｃ２５］  少なくとも１つの要求デバイスに結合されるバス相互接続と、前記バス相互接続は、前記少なくとも１つの要求デバイスから受け取ったメモリアクセス要求を、異種メモリシステムに経路指定するように構成されるバス相互接続アービタを備える、
前記バス相互接続に結合される第１の同種メモリシステムと、ここにおいて、前記第１の同種メモリシステムは、揮発性メモリからなる、
前記バス相互接続に結合される第２の同種メモリシステムと、ここにおいて、前記第２の同種メモリシステムは、不揮発性メモリからなる、
ここにおいて、前記バス相互接続アービタは、
前記少なくとも１つの要求デバイスから前記バス相互接続中の前記メモリアクセス要求を受け取り、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記第１の同種メモリシステムまたは前記第２の同種メモリシステムのいずれかに対応する、
前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記第１の同種メモリシステムまたは前記第２の同種メモリシステムの中の同種メモリに前記メモリアクセス要求を経路指定する
ように構成される、
を備える、プロセッサベースのシステム。
［Ｃ２６］  プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタの方法であって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取ることと、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定することと、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記メモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定することと
を備える方法。
［Ｃ２７］  前記メモリアクセス要求ポリシーを決定することが、スタティック異種メモリアクセス要求ポリシーまたはダイナミック異種メモリアクセス要求ポリシーのいずれかに基づく、Ｃ２６に記載の方法。
［Ｃ２８］  前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかに対応するように、前記複数の異種メモリアクセス要求ポリシーの中から前記メモリアクセス要求ポリシーを決定する、Ｃ２６に記載の方法。
［Ｃ２９］  スタティック異種メモリアクセス要求ポリシーを決定することが、メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づく、Ｃ２６に記載の方法。
［Ｃ３０］  スタティック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のマスタ識別子に基づく、Ｃ２６に記載の方法。
［Ｃ３１］  スタティック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のアプリケーション識別子に基づく、Ｃ２６に記載の方法。
［Ｃ３２］  ダイナミック異種メモリアクセス要求ポリシーを決定することが、ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づく、Ｃ２６に記載の方法。
［Ｃ３３］  ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のメモリアクセス要求優先度に基づく、Ｃ２６に記載の方法。
［Ｃ３４］  ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づく、Ｃ２６に記載の方法。
［Ｃ３５］  ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記プロセッサベースのシステム中の電力モードに基づく、Ｃ２６に記載の方法。
［Ｃ３６］  ダイナミック異種メモリアクセス要求ポリシーを決定することが、メモリページヒット率に基づく、Ｃ２６に記載の方法。
［Ｃ３７］  ダイナミック異種メモリアクセス要求ポリシーを決定することが、メモリアクセス要求トラフィックに基づく、Ｃ２６に記載の方法。
［Ｃ３８］  ダイナミック異種メモリアクセス要求ポリシープロファイルを決定することが、アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも１つの動作パラメータに基づく、Ｃ２６に記載の方法。
［Ｃ３９］  前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定し、ここにおいて、前記有効動作プロファイルが存在する場合に、デフォルトメモリアクセス要求ポリシーとして、前記複数の異種メモリアクセス要求ポリシーの中から異種メモリアクセス要求ポリシーを決定するように前記バス相互接続アービタが構成される、Ｃ２６に記載の方法。
［Ｃ４０］  コンピュータ実行可能命令をその上に記憶させたコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタに、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記メモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定する
ことを行わせるコンピュータ可読媒体。
【図１】
0005917782.tif 000002
【図２】
0005917782.tif 000003
【図３】
0005917782.tif 000004
【図４】
0005917782.tif 000005
【図５】
0005917782.tif 000006
【図６】
0005917782.tif 000007
【図７】
0005917782.tif 000008
【図８Ａ】
0005917782.tif 000009
【図８Ｂ】
0005917782.tif 000010
【図８Ｃ】
0005917782.tif 000011
【図９Ａ】
0005917782.tif 000012
【図９Ｂ】
0005917782.tif 000013
【図１０】
0005917782.tif 000014
【図１１Ａ】
0005917782.tif 000015
【図１１Ｂ】
0005917782.tif 000016
【図１２】
0005917782.tif 000017
【図１３】
0005917782.tif 000018
【図１４】
0005917782.tif 000019
【図１５】
0005917782.tif 000020