JP2016503935A - プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体 - Google Patents

プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体 Download PDF

Info

Publication number
JP2016503935A
JP2016503935A JP2015553779A JP2015553779A JP2016503935A JP 2016503935 A JP2016503935 A JP 2016503935A JP 2015553779 A JP2015553779 A JP 2015553779A JP 2015553779 A JP2015553779 A JP 2015553779A JP 2016503935 A JP2016503935 A JP 2016503935A
Authority
JP
Japan
Prior art keywords
memory
access request
memory access
heterogeneous
bus interconnect
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2015553779A
Other languages
English (en)
Other versions
JP2016503935A5 (ja
JP5917782B2 (ja
Inventor
ドン、シァンギュ
スー、ジュンウォン
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of JP2016503935A publication Critical patent/JP2016503935A/ja
Publication of JP2016503935A5 publication Critical patent/JP2016503935A5/ja
Application granted granted Critical
Publication of JP5917782B2 publication Critical patent/JP5917782B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/406Management or control of the refreshing or charge-regeneration cycles
    • G11C11/40603Arbitration, priority and concurrent access to memory cells for read/write or refresh operations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1694Configuration of memory controller to different memory types
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Bus Control (AREA)
  • Memory System (AREA)
  • Multi Processors (AREA)
  • Dram (AREA)

Abstract

プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体が開示される。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。各同種メモリは、特定の電力および性能特性を有する。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの1つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義され、または非限定的な例として、読取り/書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能である1つのメモリタイプを有することのみに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が減少されるために、最適化され得る。

Description

[0001]本開示の技術は、プロセッサベースのシステムおよびデバイスで提供されるメモリおよびメモリシステムに関する。
[0002]中央処理装置(CPU)または他のプロセッサを含むプロセッサベースのシステムは、システム動作のため様々なタイプのメモリを利用する。このメモリは、データ記憶用のシステムメモリとして、また、実行される命令を記憶するためのプログラムコードを記憶するために使用され得る。
[0003]メモリは、一般的に、揮発性または不揮発性メモリのいずれかとして分類される。揮発性メモリの例は、ダイナミックランダムアクセスメモリ(DRAM)である。不揮発性メモリの例は、読取り専用メモリ(ROM)、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM)、および磁気抵抗ランダムアクセスメモリ(MRAM)を含む。揮発性メモリは、メモリセルをリフレッシュして現在の状態(すなわち、データ)をアクティブに保つために、電力が費やされ、メモリセル内に保持されることを必要とする場合がある。不揮発性メモリは、リフレッシュの必要なしに、メモリセル中の現在の状態(すなわち、データ)を保持することが可能な場合がある。したがって、揮発性メモリは、不揮発性メモリよりも多くの電力を消費する場合がある。しかし、揮発性メモリは、限定はしないが、増加した読取り/書込み(r/w)速度、およびページ開および/または閉速度を含む、不揮発性メモリを超える増加した性能特性を有する場合がある。
[0004]したがって、揮発性メモリは、リフレッシュ用のより多くの電力消費について増加した性能が許容可能なトレードオフである、プロセッサベースのシステムで有利に採用される場合がある。一方、不揮発性メモリは、減少した電力保存が性能に対して許容可能なトレードオフである、プロセッサベースのシステムで有利に採用される場合がある。
[0005]詳細な記載で開示される実施形態は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を含む。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。たとえば、異種メモリシステム中の1つの同種メモリは、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム中の別の同種メモリは、リフレッシュ用の電力を必要としないが、不揮発性メモリよりも減少した性能を有する不揮発性メモリである場合がある。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの1つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義される、または非限定的な例として、読取り/書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能であるただ1つのメモリタイプを有することに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が最適化され得る。
[0006]この点に関連して、一実施形態では、バス相互接続アービタが提供される。バス相互接続アービタは、バス相互接続中のメモリアクセス要求を、プロセッサベースのシステム中の異種メモリシステムに経路指定するように構成される。バス相互接続アービタは、メモリアクセス要求を、要求デバイスから受け取るように構成される。バス相互接続アービタは、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するようにさらに構成され、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。バス相互接続アービタは、決定されるメモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定するようにさらに構成される。
[0007]また、さもなければ同種メモリシステムであった、異種メモリシステムを提供することにより、システム設計は、単一の同種メモリに制限することなく、異種メモリシステム内の各固有の同種メモリの固有の電力および性能特性を利用することができる。さらに、異種メモリシステム内の同種メモリが同じバス相互接続に結合されるので、異種メモリシステムを提供することは、メモリアクセス要求の要求デバイスに対し透過的となることができる。言い換えれば、要求デバイスは、メモリ要求について、先行する知識または特殊な設定を必要としない、メモリアクセス要求を提供することができる。これは、本明細書に開示される異種メモリシステムを採用するプロセッサベースのシステム、および/またはプロセッサベースのシステム中のバス相互接続を介してメモリアクセス要求を実現する要求デバイスのいずれかで、アーキテクチャの変化を必要としない追加の利点を有することができる。
[0008]別の実施形態では、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタが提供される。バス相互接続アービタは、要求デバイスからバス相互接続中のメモリアクセス要求を受け取るための手段を備える。バス相互接続アービタは、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段も備え、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。バス相互接続アービタは、決定されるメモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定するための手段も備える。
[0009]別の実施形態では、プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムが提供される。異種メモリシステムは、バス相互接続中のメモリアクセス要求を受け取るように構成されるメモリコントローラを備え、メモリコントローラは、第1のメモリチャネルおよび第2のメモリチャネルを有する。第1の同種メモリは、メモリコントローラの第1のメモリチャネルに結合されており、ここにおいて、第1の同種メモリは、揮発性メモリからなる。第2の同種メモリは、メモリコントローラの第2のメモリチャネルに結合されており、ここにおいて、第2の同種メモリは、バス相互接続中の不揮発性メモリからなる。メモリコントローラは、第1の同種メモリまたは第2の同種メモリのいずれかにメモリアクセス要求を経路指定するようにさらに構成される。
[0010]別の実施形態では、プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムが提供される。異種メモリシステムは、メモリコントローラを含む。メモリコントローラは、バス相互接続中のメモリアクセス要求を受け取るための手段を備えており、メモリコントローラは、第1のメモリチャネルおよび第2のメモリチャネルを有する。メモリコントローラは、バス相互接続中のメモリアクセス要求を、メモリコントローラの第1のメモリチャネルに結合される第1の同種メモリと、ここにおいて、第1の同種メモリは揮発性メモリからなる、またはメモリコントローラの第2のメモリチャネルに結合される第2の同種メモリと、ここにおいて、第2の同種メモリは不揮発性メモリからなる、のいずれかに経路指定するための手段も備える。
[0011]別の実施形態では、プロセッサベースのシステムが提供される。プロセッサベースのシステムは、少なくとも1つの要求デバイスに結合されるバス相互接続からなる。バス相互接続は、少なくとも1つの要求デバイスから受け取ったメモリアクセス要求を、異種メモリシステムに経路指定するように構成されるバス相互接続アービタを備える。プロセッサベースのシステムは、バス相互接続に結合される第1の同種メモリシステムも備えており、ここにおいて、第1の同種メモリシステムは、揮発性メモリからなる。プロセッサベースのシステムは、バス相互接続に結合される第2の同種メモリシステムをさらに備えており、ここにおいて、第2の同種メモリシステムは、不揮発性メモリからなる。バス相互接続アービタは、バス相互接続中のメモリアクセス要求を、少なくとも1つの要求デバイスから受け取るように構成される。バス相互接続アービタは、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するようにも構成され、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される第1の同種メモリシステムまたは第2の同種メモリシステムのいずれかに対応する。バス相互接続アービタは、決定されるメモリアクセス要求ポリシーに対応するバス相互接続に結合される、第1の同種メモリシステムまたは第2の同種メモリシステムの中の同種メモリに、メモリアクセス要求を経路指定するようにさらに構成される。
[0012]別の実施形態では、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタの方法が提供される。方法は、要求デバイスからバス相互接続中のメモリアクセス要求を受け取ることを備える。方法は、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定することも備え、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。方法は、メモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定することも備える。
[0013]別の実施形態では、要求デバイスからのバス相互接続中のメモリアクセス要求を受け取ることを、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタに行わせる、コンピュータ実行可能命令をその上に記憶させたコンピュータ可読媒体が提供される。コンピュータ実行可能命令は、バス相互接続アービタに、複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定させるように構成され、複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、バス相互接続に結合される異種メモリシステム内の同種メモリに対応する。コンピュータ実行可能命令は、バス相互接続アービタに、メモリアクセス要求ポリシーに対応する、バス相互接続に結合される異種メモリシステム中の同種メモリに、メモリアクセス要求を経路指定させるようにさらに構成される。
[0014]バス相互接続を介して送られるマスタデバイスからのメモリアクセス要求について、異種メモリアクセスを提供することが可能な異種メモリシステムを含む、例示的なプロセッサベースのシステムのブロック図。 [0015]メモリアクセス要求について異種メモリシステム中でどのメモリを利用するのかを決定するための、例示的なメモリアクセス要求ポリシーを図示する、例示的な異種メモリアクセス要求(MAR:memory access request)ポリシーチャート。 [0016]限定はしないが、図1のプロセッサベースのシステムを含む、プロセッサベースのシステム中の異種メモリシステムについての、メモリアクセス要求の例示的な処理を図示する流れ図。 [0017]メモリアクセス要求について異種メモリシステム中の同種メモリへのアクセスをそれぞれが制御する、複数のメモリコントローラを採用する異種メモリシステムを含む、別の例示的なプロセッサベースのシステムのブロック図。 [0018]複数の要求デバイスから異種メモリシステムへのメモリアクセス要求を通信することおよび処理することに含まれるバス相互接続アービタを含む、例示的な回路のブロック図。 [0019]異種メモリシステムを含むプロセッサベースのシステム中のマスタデバイスから受け取ったメモリアクセス要求についての、メモリアクセス要求ポリシー初期化を処理するための例示的なプロセスの流れ図。 [0020]限定はしないが、図1および図4のプロセッサベースのシステムを含む、プロセッサベースのシステム中の異種メモリシステムについてのメモリアクセス要求を処理するための、より詳細な例示的なプロセスの流れ図。 [0021]動作中のメモリアクセス要求モードを示すための例示的な状態インジケータを示す図。 [0022]メモリアクセス要求ポリシー初期化を提供するためマスタデバイスにより利用される、例示的な異種メモリアクセス要求(MAR)ポリシーメッセージブロックを示す図。 [0023]メモリアクセス要求ポリシーを記憶するための、例示的な異種メモリアクセス要求(MAR)ポリシー表。 [0024]異種メモリシステムを含むプロセッサベースのシステム中のバス相互接続に、マスタデバイスにより提供される、例示的なメモリアクセス要求(MAR)メッセージブロックの図。 [0025]異種メモリシステムを含むプロセッサベースのシステム中のメモリアクセス要求を経路指定するための、バス相互接続中に採用される例示的なメモリアクセス要求(MAR)キューの図。 [0026]異種メモリシステム中のメモリアクセス書込み要求についての、スタティックメモリアクセス要求ポリシーを処理するための、例示的なプロセスの流れ図。 [0027]異種メモリシステム中のメモリアクセス要求についての、ダイナミックメモリアクセス書込み要求ポリシーを処理するための、例示的なプロセスの流れ図。 [0028]有効なダイナミックメモリアクセス要求ポリシープロファイルが図11Aの例示的なプロセス中に存在しないことが決定される場合に、異種メモリシステム中のメモリアクセス要求についての、デフォルトメモリアクセス書込み要求ポリシーを処理するための、例示的なプロセスの流れ図。 [0029]異種メモリシステムを含むプロセッサベースのシステム中のメモリアクセス読取り要求を処理するための、例示的なプロセスの流れ図。 [0030]ダイナミックメモリアクセス要求ポリシーを決定するために、ダイナミック動作プロファイリングを実施するための、例示的なプロセスの流れ図。 [0031]ダイナミックメモリアクセス要求プロファイルポリシーを決定するための、例示的なメモリアクセス要求(MAR)ダイナミックプロファイル表。 [0032]限定はしないが、図1および図4の異種メモリシステムを含む異種メモリシステムを含む、例示的なプロセッサベースのシステムのブロック図。
[0033]ここで図面を参照すると、本開示のいくつかの例示的な実施形態が記載される。「例示的な」という言葉は、本明細書中で、「例、事例、または例示として働くこと」を意味するように使用される。本明細書で「例示的な」として記載される任意の実施形態は、必ずしも、他の実施形態よりも好ましいまたは有利であると解釈されるべきでない。
[0034]詳細な記載で開示される実施形態は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を含む。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。各同種メモリは、特定の電力および性能特性を有する。たとえば、異種メモリシステム中の1つの同種メモリは、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム中の別の同種メモリは、リフレッシュ用の電力を必要としないが、不揮発性メモリよりも減少した性能を有する不揮発性メモリである場合がある。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの1つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義される、または非限定的な例として、読取り/書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能であるただ1つのメモリタイプを有することに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が減少するように最適化され得る。
[0035]この点に関連して、図1は、例示的なプロセッサベースのシステム10を図示する。この実施形態では、プロセッサベースのシステム10は、バス相互接続16に結合される複数のマスタデバイス12(0〜M)および複数のスレーブデバイス14(0〜N)を含む。バス相互接続16は、バス相互接続16のマスタポート18(0〜M)に結合される複数のマスタデバイス12(0〜M)のうちの1つまたは複数から、バス相互接続16へスレーブポート20(0〜N)を介して結合される複数のスレーブデバイス14(0〜N)のいずれかに、メモリアクセス要求を、受け取って経路指定する。非限定的な例として、複数のマスタデバイス12(0〜M)、複数のスレーブデバイス14(0〜N)、およびバス相互接続16は、所望により、半導体ダイ22中に提供されてよく、システムオンチップ(SOC)集積回路設計で提供されてよい。
[0036]図1を続けて参照して、バス相互接続アービタ24が、バス相互接続16の内部または外部に提供されてよい。バス相互接続アービタ24は、マスタデバイス12(0〜M)からスレーブデバイス14(0〜N)への複数の通信要求を調停するため、本実施形態では、バス相互接続16中に提供される。マスタデバイス12(0〜M)およびスレーブデバイス14(0〜N)は、所望の任意のタイプの電子デバイスまたはサブシステムであってよい。図1に図示されるように、マスタデバイス12(0〜M)は、限定はしないが、中央処理装置(CPU)12(0)、モバイルデータモデム(MDM:mobile data modem)12(1)、グラフィックス処理装置(GPU)12(2)、ミニディスプレイポート(MDP:mini display port)12(3)、カメラ12(4)、およびH.264(高解像度ビデオ圧縮エンコーダ)12(M)を含む、任意のタイプの電子デバイスであってよい。
[0037]スレーブデバイス12(0)の1つの例は、プロセッサベースのシステム10の動作のためのデータおよび命令の両方を記憶するように構成されるメモリシステムである、異種メモリシステム26である。異種メモリシステム26は、マスタデバイス12(0〜M)により、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリ28(0〜A)からなる。同種メモリは、共通の電力および/または性能特性を有する特定のメモリタイプである。異種メモリシステムは、少なくとも2つの異なるタイプの同種メモリを含む。下でより詳細に議論されるように、図1中の異種メモリシステム26中の各同種メモリ28(0〜A)は、特定の電力および性能特性を有する。たとえば、異種メモリシステム26中の1つの同種メモリ28(0)は、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム26中の別の同種メモリ28(A)は、リフレッシュ用の電力を必要としないが、不揮発性メモリよりも減少した性能を有する場合がある不揮発性メモリである場合がある。この点に関連して、マスタデバイス12(0〜M)からのメモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム26中の同種メモリ28(0〜A)のうちの1つに、プロセッサベースのシステム10中で有利に経路指定され得る。
[0038]図1を続けて参照して、バス相互接続アービタ24は、マスタデバイス12(0〜M)からメモリアクセス要求を受け取る。バス相互接続アービタ24は、メモリ32に結合されるメモリコントローラ30を含む、異種メモリシステム26にメモリアクセス要求を向ける。メモリ32は、複数の同種メモリ28(0〜A)をさらに備える。メモリ32は、2つのバス(DATAおよびADDR/CTRL)およびクロック信号(CLK)を介してメモリコントローラ30に結合される。データバス(DATA)は、メモリ32との間にデータを転送するために、メモリコントローラ30によって使用される。アドレスおよび制御バス(ADDR/CTRL)は、メモリ32を選択して制御するために使用され、クロック信号(CLK)は、データバス(DATA)ならびにアドレスおよび制御バス(ADDR/CTRL)の両方の時刻を決めるために使用される。バス相互接続アービタ24は、複数の異種メモリアクセス要求ポリシーに基づいて、メモリアクセス要求を向ける。下に議論されるように、これらの異種メモリアクセス要求ポリシーは、性能要件、メモリトラフィックパターン、ページヒット率、エネルギー使用要件、または他の動作関連要件に基づいてよい。
[0039]図1を続けて参照して、異種メモリシステム26は、マスタデバイス12(0〜M)のうちのいずれかが、異種メモリシステム26中のメモリ32に読取りおよび書込みメモリアクセス要求を提供すること、読取りおよび書込み応答を受け取ることを可能にするために、バス相互接続16に接続される。この点に関連して、異種メモリシステム26は、バス相互接続16をメモリ32とインターフェースするメモリコントローラ30を含む。メモリコントローラ30は、異種メモリシステム26を宛先とする、バス相互接続16を通してマスタデバイス12(0〜M)により提供されるメモリアクセス要求に応答して、メモリ32との間でデータの流れも制御する。メモリバス34は、メモリ32をメモリコントローラ30とインターフェースするために提供される。複数の同種メモリ28(0〜A)の各々は、メモリアクセス要求について、メモリコントローラ30により個別に選択される、別個のメモリチップであってよい。同種メモリ28(0〜A)は、複数の揮発性同種メモリ28(0)および複数の不揮発性同種メモリ28(A)としてさらに構成されてよい。上に議論されたように、メモリ32は、限定はしないが、揮発性または不揮発性メモリなどの同種メモリタイプである、複数の同種メモリ28(0〜A)を含む。
[0040]バス相互接続アービタ24は、決定された異種メモリアクセス要求(MAR)ポリシー(図示せず)に基づいて、マスタデバイス12(0〜M)から受け取ったメモリアクセス要求トランザクションを異種メモリシステム26に経路指定するように構成される。異種MARポリシーの目的は、異種メモリシステム24中の複数の同種メモリ28(0〜A)から同種メモリ28の選択を可能にすることである。メモリアクセス要求についてどの同種メモリ28を選択するかの決定は、異種MARポリシーに基づく。異種MARポリシーは、同種メモリ28を選択するための、必要な情報または基準を含むことができる。
[0041]また、さもなければ同種メモリシステムであった異種メモリシステム24を提供することにより、プロセッサベースのシステム10の設計は、単一の同種メモリに限定することなく、異種メモリシステム24内の各固有の同種メモリ28の、固有の電力および性能特性を利用することができる。さらに、本実施形態では、異種メモリシステム24内の同種メモリ28が同じバス相互接続16に結合されるので、異種メモリシステム24は、メモリアクセス要求を提供するマスタデバイス12(0〜M)に対し透過的となることができる。言い換えれば、要求デバイス12(0〜M)は、メモリ要求について、先行する知識または特殊な設定を必要としない、メモリアクセス要求を提供することができる。これは、プロセッサベースのシステム10のバス接続16に結合される同種メモリのみを提供することを介して、異種メモリシステム28を採用するプロセッサベースのシステム20、または要求デバイス12(0〜M)にアーキテクチャの変化を必要としない追加の利点を有することができる。
[0042]この実施形態では、バス相互接続アービタ24が異種MARポリシーを決定すると、メモリコントローラ30は、決定されるポリシーを実装するように構成される。この実施形態では、異種MARポリシーは、スタティックまたはダイナミック異種MARポリシーのいずれかに基づいてよい。スタティック異種MARポリシーは、現在のダイナミックまたは実行時動作パラメータに基づかない事前定義されたMARポリシーである。下でより詳細に議論されるように、図1のバス相互接続アービタ24は、異種メモリシステム26中の複数の同種メモリ28(0〜A)のどれが、要求デバイスまたはマスタデバイス12(0〜M)のタイプに基づいてメモリアクセス要求を経路指定するのかを決定するのに使用するために、デフォルトおよびスタティック異種メモリアクセス要求ポリシーを記憶するための、異種MARポリシー表36で構成される。ダイナミック異種MARポリシーは、限定はしないが、アプリケーション優先度、ページヒット率、電力優先度、読取り/書込み優先度、メモリトラフィック要件などの、システム動作特性に基づく。下で議論されるように、マスタデバイス12(0〜M)およびバス相互接続アービタ24は、ダイナミック異種MARポリシーを決定および提供するように構成され得る。図1に図示されるように、バス相互接続アービタ24は、ダイナミック異種メモリアクセス要求ポリシーを決定するのに使用されるための、マスタデバイス12(0〜M)用の有効な異種メモリアクセス要求ポリシーを記憶する、MARダイナミックプロファイル表38でも構成される。
[0043]プロセッサベースのシステム中のメモリアクセス要求の特性ならびに他の動作パラメータは、どの同種メモリに、メモリアクセス要求が有利に経路指定されるべきかを決定するために使用され得る。この点に関連して、図2は、(図1に示される)複数の同種メモリ28(0〜A)のどれが、メモリアクセス要求トランザクションのために使用されるかを決定するために使用される、例示的な異種MARポリシー40を図示する。例として、逐次メモリアクセスは、より高いメモリページヒット率を有する場合がある。より多いメモリトラフィックの状況では、より速い読取り/書込み速度、より大きいページサイズ、およびより遅い開/閉速度のメモリ性能特性を有する揮発性メモリにアクセスする、(図2のブロック42に示されるような)異種メモリアクセス要求ポリシーを採用することが有利な場合がある。より少ないメモリトラフィックの状況では、性能に与えられる優先度に基づいて、揮発性または不揮発性メモリのいずれかにアクセスすることが有利な場合がある。優先度が性能に与えられる場合、その性能が揮発性メモリを超えて利益となるので、揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック44)が有利な場合がある。優先度が性能に与えられない場合、その電力消費が揮発性メモリを超えて利益となるので、不揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック46)が有利な場合がある。
[0044]図2を続けて参照して、別の例として、ランダムメモリアクセスが、より低いメモリページヒット率を有する場合がある。より少ないメモリトラフィックの状況では、より高い性能特性が必要でない可能性があるので、より低い電力消費から利益を得るためにより遅い読取り/書込み速度およびより速い開/閉速度の特性を有する不揮発性メモリにアクセスする、異種メモリアクセス要求ポリシーを採用すること(ブロック48)が有利な場合がある。より多いメモリトラフィックの状況では、電力消費効率に与えられる優先度に基づいて、不揮発性または揮発性メモリのいずれかにアクセスすることが有利な場合がある。優先度が電力消費効率より性能に与えられる場合、その性能が揮発性メモリを超えて利益となるので、揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック50)が有利な場合がある。優先度が電力消費効率に与えられる場合、その電力消費が揮発性メモリを超えて利益となるので、不揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック52)が有利な場合がある。
[0045]図3は、異種MARポリシー40(図2に示される)に基づいてメモリアクセス要求トランザクションを評価および処理するため、図1のプロセッサベースのシステム10中のバス相互接続アービタ24により実施され得る例示的なプロセスを図示する流れ図である。このプロセスでは、バス相互接続アービタ24が、次のメモリアクセス要求を受け取る(ブロック54)。メモリアクセス要求は、本実施形態では、スタティックメモリアクセス要求者、ダイナミックメモリアクセス要求のいずれか一方であることを決定される。メモリアクセス要求がスタティックメモリアクセス要求である場合、メモリアクセス要求についてスタティックMARポリシーが決定される(ブロック56)。その後、メモリアクセス要求は、決定されたスタティックMARポリシーに基づいて、異種メモリシステム26内の同種メモリ28(図示せず)に経路指定されることになる(ブロック58)。メモリアクセス要求がダイナミックメモリアクセス要求である場合、ダイナミックメモリアクセス要求についてダイナミックMARポリシーが決定される(ブロック60)。その後、メモリアクセス要求は、決定されたダイナミックMARポリシーに基づいて、異種メモリシステム26内の特定の同種メモリ28(図示せず)に経路指定されることになる(ブロック58)。
[0046]図1の異種メモリシステム26に加えて、異種メモリシステムの他の構成が可能である。たとえば、図4は、図1のプロセッサベースのシステム10に類似するが、図1の異種メモリシステム26への代替異種メモリシステム64を含む、別のプロセッサベースのシステム10’を図示する。図1と図4との間の共通構成要素は、同じ要素番号を使用し、繰り返して記載されないことになる。図4の異種メモリシステム64では、複数の同種メモリシステム66(0〜M)が提供され、各々は、専用のメモリコントローラ68を有する。同種メモリシステム66(0〜M)中の各メモリコントローラ68は、図1の異種メモリシステム26と異なり、それぞれの同種メモリシステム70(0〜M)を制御するように構成される。したがって、図4のメモリコントローラ68は、メモリアクセス要求に適用される異種MARポリシーを決定しない。この実施形態では、バス相互接続アービタ24が、メモリアクセス要求に適用される異種MARポリシーを決定する。バス相互接続アービタ24は、同種メモリシステム66(0〜M)の適切なものを表す、特定の所望のスレーブポート20(0)にメモリアクセス要求を経路指定することにより、決定された異種MARポリシーを実装する。メモリアクセス要求が同種メモリシステム66(0〜M)の適切なものによって一度受け取られると、メモリアクセス要求は、同種メモリシステム66(0〜M)中のメモリコントローラ68によって、メモリアクセス要求中のメモリアドレスに基づいて、専用のメモリコントローラ68に結合される同種メモリ70(0〜M)に単純に経路指定される。
[0047]図5は、図1のバス相互接続16のより詳細な例を図示し、マスタデバイスからスレーブデバイスに、メモリアクセス要求を含む、バストランザクションを経路指定するための、例示的な経路指定リソースを図示する。バス相互接続アービタ24は、バス相互接続16に結合される、マスタデバイス12(0〜M)とスレーブデバイス14(0〜N)との間でバストランザクションを調停する。図1におけるバス相互接続アービタ24は、異種MARポリシー40を決定し、スレーブポート20(0〜N)のうちの1つにメモリアクセス要求を経路指定することになる。スレーブポート20(0〜N)に結合される、図1のメモリコントローラ30は、経路指定されるメモリアクセス要求を受け取らなければならない同種メモリ28(0〜A)を決定する。図4の代替異種プロセッサベースのシステム10’では、バス相互接続アービタ24が、異種MARポリシー40を決定し、決定された異種MARポリシー40に基づいて、メモリアクセス要求が経路指定されるスレーブポート20(0〜N)を選択することになる。この代替異種プロセッサベースのシステム10’における違いは、バス相互接続アービタ24が、決定されたスレーブポート20(0〜N)にメモリアクセス要求を経路指定し、メモリコントローラ68が、同種メモリシステム70(0〜M)にさらに経路指定することである。図1および図4に図示されるように、マスタポート18(0〜M)に結合されるマスタポートバス72(0〜M)を通して、マスタデバイス12(0〜M)とバス相互接続16との間で、通信がサポートされる。同様に、スレーブポート20(0〜N)に結合されるスレーブポートバス74(0〜N)を通して、スレーブデバイス14(0〜N)とバス相互接続16との間で、通信がサポートされる。バス相互接続16は、所望のマスタデバイス12(0〜M)と所望のスレーブデバイス14(0〜N)との間で通信経路を確立するように構成可能な、例として、ゲート、ラッチ、およびレジスタなどのクロック動作回路を含む。たとえば、図4に図示されるように、バス相互接続16に提供される例示的な構成要素は、マスタデバイス12(0〜M)のうちの1つとスレーブデバイス14(0〜N)のうちの1つとの間に通信経路を提供するように構成可能である。
[0048]図5を続けて参照して、マスタポート18(0〜M)は、各々、マスタデバイス12(0〜M)からバストランザクションを受け取るため、マスタポートバス72(0〜M)に接続されるマスタポートインターフェース76(0〜M)を含む。マスタポートキュー78(0〜M)は、マスタポートキュー78(0〜M)とスレーブポートキュー80(0〜N)との間のバストランザクションを調停するため、バス相互接続アービタ24に提供されるバストランザクションまたはコマンドを記憶するために提供される。バス相互接続アービタ24は、スレーブデバイス14(0〜N)へのバストランザクションを調停するための、スレーブポート20(0〜N)に関連する別個のアドレッシングアービタ82、および読取りデータとスレーブポート20(0〜N)から来る書込み完了応答とを調停するための、マスタポート18(0〜M)に関連するデータ(読取り/書込み)アービタ84を含んでよい。スレーブポートキュー80(0〜N)は、スレーブポートバス74(0〜N)に接続されるスレーブポートインターフェース86(0〜N)へのバストランザクションを提供する。図5は、マスタデバイス12(0〜M)のうちの1つに結合されるマスタポート18(0〜M)のうちの1つとスレーブデバイス14(0〜N)のうちの1つに結合されるスレーブポート20(0〜N)のうちの1つとの間の通信経路を図示しているが、アドレッシングアービタ82およびデータ(読取り/書込み)アービタ84は、マスタポート18(0〜M)とスレーブポート20(0〜N)との間のバス相互接続16により可能とされる通信経路を調停するように構成され得ることに留意されたい。
[0049]図5を続けて参照して、カウンタ88(0〜N)が、各スレーブポート20(0〜N)用にやはり提供され得る。カウンタ88(0〜N)は、スレーブポートインターフェース86(0〜N)により完了されるトランザクションをそれぞれカウントする。カウンタ88(0〜N)は、バス相互接続アービタ24が、MARダイナミックプロファイル表38の中に有効なダイナミックプロファイル情報を入力することができるように、バス相互接続アービタ24にカウントおよびシステム動作情報を提供することができる。バス相互接続アービタ24は、MARダイナミックプロファイル表38の中の有効なメモリアクセス要求(MAR)ダイナミックプロファイル情報に基づいて、ポリシー決定をするようにさらに構成される。たとえば、バス相互接続アービタ24は、メモリアクセス要求トランザクションの完了がスケジュールより先、スケジュール通り、またはデッドラインより後であるかどうかを評価するためにカウンタ88(0〜N)を使用し、それに応答してメモリアクセス要求トランザクションについてバス調停ポリシーを適用することができる。図6〜図15は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体の例示的なプロセスに関連する、さらなる細目および詳細を図示する。
[0050]電源投入または再通電されるとき、プロセッサベースのシステムは、通常動作を開始するために準備されなければならない。図1のプロセッサベースのシステム10の場合では、初期およびデフォルト異種メモリアクセス要求ポリシーを確立することが必要である。プロセッサベースのシステム10が、動作の、スタティックモードであろうと、またはダイナミックモードであろうと、異種メモリアクセス要求ポリシーの初期の組が確立されなければならない。動作のダイナミックモードの特定の状況では、動作プロファイルを規定するための十分な情報を集めるための十分な時間がなかった可能性がある。そのような場合、デフォルト異種メモリアクセス要求ポリシーが必要となることになる。
[0051]この点に関連して、図6は、デフォルトメモリアクセス要求ポリシーを決定するために使用される異種MARポリシー表36への例示的な更新を図示する流れ図である。マスタデバイス12(0〜M)およびアプリケーションポリシー表の更新は、ここで、バス相互接続アービタ24によって実施される。代替として、この更新は、更新するマスタデバイス12(0〜M)によって直接実施されてよい。マスタデバイス12(0〜M)による更新、アプリケーション初期化またはその後のポリシー更新の際に、バス相互接続アービタ24は、図8Bで下でより詳細に議論されるように、MARポリシーメッセージを受け取ることになる(ブロック90)。MARポリシーメッセージは、図8Cで下で議論されるように、異種MARポリシー表36に記憶するため、必要なデフォルト同種メモリ情報を含む。一度MARポリシーメッセージが受け取られると、バス相互接続アービタ24は、異種MARポリシー表36を更新することになる(ブロック92)。
[0052]メモリアクセス要求情報は、バス相互接続アービタ24が、メモリアクセス要求についての異種MARポリシーを決定し、メモリアクセス要求をスレーブデバイス14(0〜N)のうちの適切なものに向けることを可能にする。メモリアクセス要求情報は、異種MARポリシー40に基づいて評価するため、バス相互接続アービタ24に提供される詳細を含む。この点に関連して、図7および図8A〜図8Cは、動作モードまたは現在の異種メモリアクセス要求ポリシーを初期化、更新、または適用するため、マスタデバイス12(0〜M)とバス相互接続アービタ24との間で通信するために使用され得る、例示的なプロセスならびにサポート表およびメッセージブロックを記載する。
[0053]この点に関連して、図7は、例示的なプロセスを図示する流れ図であり、ここにおいて、バス相互接続アービタ24は、メモリアクセス要求ポリシーを受け取り、決定し、適用し、次いで、異種メモリアクセス要求ポリシーに基づいてメモリアクセス要求を経路指定する。メモリアクセス要求が受け取られ、次いで受け取ったメモリアクセス要求を処理するために進む(ブロック94)。メモリアクセス要求を受け取った後、バス相互接続アービタ24は、メモリアクセス要求が読取り要求であるかまたは書込み要求であるかを決定する(ブロック96)。メモリアクセス要求が書込みトランザクションであるとバス相互接続アービタ24が決定する場合、バス相互接続アービタ24は、これが、メモリアクセス書込み要求(MAWR:memory access write request)であると決定することになる。異種MARポリシー決定は、図8Aの動作モードインジケータ表104に基づくことになる。動作モードインジケータ設定106は、バス相互接続アービタ24が、メモリアクセス要求に対して、スタティックまたはダイナミックMARポリシーを適用するかどうかを決定するために使用される(ブロック98)。
[0054]図7をさらに参照すると、プロセッサベースのシステムがスタティック動作モードであるとバス相互接続アービタ24が決定する場合(ブロック98)、スタティックMARポリシーが適用されることになる(ブロック100)。メモリアクセス要求は、決定されたMARポリシーに基づいて経路指定されることになる(ブロック102)。しかし、ダイナミックMARポリシーが適用されることが決定される場合(ブロック103)、メモリアクセス要求は、代わりに、この決定されたMARポリシーに基づいて経路指定されることになる(ブロック102)。一方、メモリアクセス要求が読取りトランザクションタイプであるとバス相互接続アービタ24が決定する場合、下に記載されるように、バス相互接続アービタ24は、図12に進むことになる。図7で適用される異種メモリアクセス要求ポリシーは、図8Bの異種MARポリシーメッセージブロック108を使用して初期化および更新され、図8Cの異種MARポリシー表36に記憶される。
[0055]この点に関連して、図8Bは、例示的な異種MARポリシーメッセージブロック108である。異種MARポリシーメッセージブロック108は、図8Cの異種MARポリシー表36を更新するための情報のブロックを含む。マスタ_ID110は、要求マスタデバイス12(0〜M)を識別する情報を含む。アプリケーション_ID112は、より詳細に、要求アプリケーションを識別するための必要があるアプリケーションをさらに識別し得る。マスタ_ID110およびアプリケーション_ID112は、所望のメモリタイプ114を有する。例として、メモリタイプ114は、限定はしないが、メモリアクセス要求トランザクションのために使用される、揮発性メモリまたは不揮発性メモリを識別する情報を含み得る。異種MARポリシーメッセージブロック108は、電源がサイクル動作されるとき、メモリタイプ114がリセットされるべきか、この状態構成がプロセッサベースのシステムの電源サイクル動作の後まで残るべきかをシステムに示す、パワー_オフ_リセット116フィールドでさらに構成される。図8Cは、図8Bで上で異種MARポリシーメッセージブロック108で記載されたようなフィールドを含む、異種MARポリシー表36である。異種MARポリシー表36は、異種MARポリシーメッセージブロック108に基づいて、バス相互接続アービタ24またはマスタデバイス12(0〜M)により要求されるように更新される。
[0056]MARポリシーメッセージブロックの構造は、どのマスタデバイス12(0〜M)が要求を行っているのか、トランザクションのタイプ(すなわち、トランザクションが読取り/書込みトランザクションであるかどうか)を決定するための必要な要素、ならびにデッドラインおよび優先度としてそのような情報さえ含む。メモリアクセス要求は、MARメッセージブロックにより規定される。異種MARポリシーは、メモリアクセス要求にさらに適用される。この点に関連して、図9Aは、図8Bのマスタ_ID110、読取り/書込みインジケータ120、およびストリーム_IDブロック124を備える、MARメッセージブロック118を図示する。MARメッセージブロック118は、バス相互接続アービタ24が、マスタデバイス12(0〜M)からのメモリアクセス要求トランザクションを実施することを可能にするメッセージ情報を含む。たとえば、MARメッセージブロック118は、要求マスタデバイス12(0〜M)を識別する情報を含む、マスタ_ID110を含む。バス相互接続アービタ24は、どのマスタデバイス12(0〜M)がスレーブデバイス14(0〜N)から応答を受け取るのかを決定するために、マスタ_ID110を使用する。マスタ_ID110は、異種MARポリシー表36に基づいて、デフォルト異種MAR40を決定するためにも使用されることになる。バストランザクションがメモリアクセス要求である場合、読取り/書込みインジケータ(R/W)120は、メモリアクセス要求が読取りトランザクションであるか、書込みトランザクションであるかを決定するために使用されることになる。ストリーム_IDブロック124は、バストランザクションについてのストリームトランザクション情報を提供することになる。
[0057]図9Aは、バス相互接続アービタ24に送られるメモリアクセス要求中の、マスタデバイス12(0〜M)により提供され得る例示的なマスタ_ID110のブロック図を含む。この例では、マスタ_ID110は、マスタデバイス12(0〜M)を識別するために使用される10ビットワードであり、バス相互接続アービタ24と通信するとき、マスタデバイス12(0〜M)内のアプリケーションをさらに規定する場合がある。上位2ビット(F1、F0)は、特定のメモリアクセス要求に含まれる、4つの別個の組織の識別を可能にする、組織識別子126を含む。中央の4ビット(M3、M2、M1、M0)は、マスタデバイス12(0〜M)を識別する、マスタデバイス識別子128を備える。したがって、16個の固有のマスタデバイス12(0〜M)が、この例では可能である。次の2ビット(S1、S0)は、提供されるまたは適用可能であるマスタデバイス12(0〜M)に結合されるサブマスタデバイス識別子130を識別する、サブマスタデバイス識別子130を含む。したがって、4つの固有のサブマスタデバイスがこの例では可能である。下位2ビット(A1、A0)は、マスタデバイス12(0〜M)および/またはサブマスタデバイスが、所望の任意のアプリケーション情報を提供することを可能にするため使用され得る、アプリケーション識別子132を含む。たとえば、マスタデバイス12(0〜M)および/またはサブマスタデバイスが、メモリアクセス要求を担うソフトウェアプロセスまたはスレッドを識別することを可能にするため、ソフトウェアプロセスまたはスレッドの識別が、アプリケーション識別子132中に提供され得る。所望される任意の他の情報が、アプリケーション識別子132中に含まれてよい。
[0058]図9Aをさらに参照すると、MARメッセージブロック118中のストリーム_IDブロック124として使用され得る、例示的なストリーム_IDブロック124のブロック図が示される。ストリーム_IDブロック124は、図1および図4のバス相互接続アービタ24に提供されるストリームトランザクションに関連する例示的な情報を含む。ストリーム_IDブロック124は、ストリームトランザクションに関連する情報に基づいてストリームトランザクションを調停するため、バス相互接続アービタ24が異種MARポリシー40を評価することを可能にする。マスタデバイス12(0〜M)は、バス相互接続アービタ24を通してストリームトランザクションを要求するとき、ストリーム_IDブロック124中に情報を提供する。
[0059]図9Aでは、ストリーム_IDブロック124は、ストリームトランザクションを識別する、ストリーム識別子フィールド(ストリーム_ID)134を含む。転送の数フィールド(#_転送)136は、ストリームトランザクションに関連する、バースト転送の数を提供する。ビートの数フィールド(#_ビート)138は、各バースト転送で実施されるデータ転送のビートの数を提供する。バイトの数フィールド(#_バイト)140は、各ビート転送で実施されるデータのバイトの数を提供する。バイトの数フィールド(#_バイト)140は、バス相互接続アービタ24およびスレーブデバイス14(0〜N)のアーキテクチャに応じて、構成可能または固定値であってよい。
[0060]ストリームトランザクションに関連するデッドラインがある場合、デッドライン情報が、デッドラインフィールド(デッドライン)142に記憶されてよい。たとえば、マスタデバイス12(0〜M)は、クロックサイクル、ビート、または他の相対的または絶対的タイミングの観点であってよい、あるタイミング内で特定のストリームトランザクションが完了されることを要求する場合がある。優先度フィールド(優先度)144は、優先度がストリームトランザクションと関連付けされることを可能にするために、やはり提供される。優先度フィールド(優先度)144は、設計に応じて、マスタデバイス12(0〜M)、バス相互接続アービタ24、またはスレーブデバイス14(0〜N)によって、供給および/または変更されるように構成され得る。このストリーム情報は、ストリームトランザクションを調停するために、ストリームトランザクションについてのバス調停ポリシーを評価および適用するため、バス相互接続アービタ24により使用され得る。
[0061]図1のバス相互接続アービタ24は、図9AのMARメッセージブロック118を含む、マスタデバイス12(0〜M)からMARトランザクションを受け取る。以前に議論したように、ストリームトランザクション要求を含む、メモリアクセス要求に応答する、スレーブデバイス14(0〜N)からのバストランザクション応答は、スレーブポートキュー80(0〜N)中に配置される。バス相互接続アービタ24は、スレーブポートキュー80(0〜N)中に記憶されるストリームトランザクションについてのストリームトランザクション情報に基づいて、MAR応答についての異種MARポリシーを評価することができる。この点に関連して、図9Bは、図9AのMARメッセージブロック118に基づいて、MARトランザクションを調停するための異種MARポリシーを評価および適用することをサポートするため、バス相互接続アービタ24によりアクセスされるスレーブポートキュー80(0〜N)(図示せず)の図である。スレーブポートキュー80(0〜N)は、内部レジスタまたはバス相互接続アービタ24によりアクセス可能な他のメモリに提供されてよく、バス相互接続16の内部または外部であってよい。MARメッセージブロック118は、キューの中に記憶される。
[0062]この点に関連して、図9Bに図示されるように、本明細書でメモリアクセス要求(MAR)キューとも呼ばれる、スレーブポートキュー80(0〜N)は、0から「X」個のMARキュー146を保持するように構成される表からなる。キュー番号フィールド(キュー#)148は、スレーブポートキュー80(0〜N)に記憶されるMARトランザクション応答をインデックス付けするために使用される。この例での、スレーブポートキュー80(0〜N)中の各MARトランザクション応答は、MARトランザクション応答を受け取るマスタデバイス12(0〜M)を識別するためのマスタ_ID110を含む。MARトランザクションは、メモリ中の読取りまたは書込みトランザクション参照のためのメモリアドレス149も提供することになる。MARトランザクション要求が要求データを含む場合、応答データは、データフィールド(データ)150に記憶され得る。ストリーム_IDブロック124は、バストランザクション要求がストリームトランザクションであった場合、ストリームトランザクション情報を記憶するため、各メモリアクセス要求エントリーについても提供される。
[0063]残っている転送の数フィールド(#_転送_残り)152は、MARトランザクション応答について異種MARポリシー40を評価および適用するため使用するために、バス相互接続アービタ24がストリームトランザクションの進行を決定することを可能にするためにも提供される。残っている転送の数は、図9Aのストリーム_IDブロック124中の転送の数フィールド(#_転送_残り)152中にストリームトランザクション要求のため提供される、転送の数フィールド(#_転送_残り)152に基づいて、バス相互接続アービタ24により設定される。図5に図示されるカウンタ88(0〜N)は、残っている転送の数フィールド(#_転送_残り)152を減少させるため、未決定のMARトランザクションについてスレーブデバイス14(0〜N)からの完了した転送の数をカウントする。ランクフィールド(ランク)154および重みフィールド(重み)156は、競合するMARトランザクション応答間で調停するために、バス相互接続アービタ24により採用されるバス調停ポリシーでランクおよび/または重みが使用されることを可能にするため、やはり提供される。非限定の例として、重みフィールド(重み)156は、より重要な異種MARポリシー40を重み付けする方式で使用されうる。別の非限定の例として、ランクフィールド(ランク)154は、異種MARポリシー40に優先度を決めるために採用され得る。他の異種MAR調停ポリシーが採用され得る。
[0064]図9Bに示されるように、MARキュー146中のMARメッセージブロック118は、図8A中の動作モードインジケータ設定106に基づいて異種MARポリシー40を決定するために必要なブロック情報を含む。図8Aの動作モードインジケータ表104は、バス相互接続アービタ24がメモリアクセス要求をスタティックまたはダイナミックモードで処理すべきかどうかを示す。この点に関連して、図10は、例示的なプロセスの流れ図であり、ここにおいて、動作モードインジケータ設定106は、バス相互接続アービタ24が、各メモリアクセス要求をスタティックモードで処理するべきということを示した。図10での例示的なプロセスは、図7のスタティックMARポリシーを適用する(ブロック100)より詳細なプロセスである。メモリアクセス要求は、スタティックモードに基づく、異種メモリアクセス書込み要求である。スタティックモードでは、バス相互接続アービタ24は、どの異種メモリ28(図1)および70(図4)に書込み要求を向けるのかを決定するため、デフォルト異種MARポリシー表36を利用し得る。バス相互接続アービタ24は、MARメッセージブロック118を分析して、図9Aのマスタ_ID110、読取り/書込みインジケータ120、およびストリーム_IDブロック124を構文解析することになる(ブロック160)。バス相互接続アービタ24は、次いで、異種MARポリシー表36に基づいて異種MARポリシーをMAR書込みトランザクションに適用する(ブロック162)。バス相互接続アービタ24は、次いで、次のメモリアクセス要求を取り出すために戻る。
[0065]図11Aは、動作モードインジケータ表104がダイナミックモードに設定されるときに選択される、異種MARポリシー40を図示する流れ図である。動作モードインジケータ表104がダイナミックモードに設定されると、バス相互接続アービタ24は、最初に、要求を行っているマスタデバイス12(0〜M)について有効なメモリアクセス要求ダイナミックプロファイルエントリーが存在するかどうかを確かめるために、下に議論される、図15のMARダイナミックプロファイル表38で確認することになる。要求マスタデバイス12(0〜M)についての有効プロファイルがある場合、バス相互接続アービタ24は、マスタデバイス12(0〜M)に戻されるMARダイナミックプロファイルエントリーに基づいて、MARダイナミックプロファイル表38を分析することになる(ブロック170)。ブロック170で実施される分析に基づいて、例示的なプロセスは、MARダイナミックプロファイルに基づいて適用するための、適用可能MARポリシーを決定することになる(ブロック172)。一度異種MARポリシー40が決定されると、プロセスは、異種MARポリシーに基づいてダイナミックメモリアクセス書込み要求を適用することになる(ブロック174)。
[0066]図11Bの流れ図は、要求マスタデバイス12(0〜M)について有効プロファイルがないかどうかについてのプロセスを記載する。そのような場合、バス相互接続アービタ24は、デフォルト異種MARポリシー40に基づいて、マスタ_ID110を分析することになる(ブロック176)。バス相互接続アービタ24は、次いで、デフォルト異種MARポリシー40を適用する(ブロック178)。有効なダイナミックプロファイルが存在しない場合の、ダイナミックメモリアクセス要求ポリシーに対するこの例外が完了すると、バス相互接続アービタ24は、次のメモリアクセス要求(MAR)を受け取るために戻る(図7のブロック94)。(図8〜図11Bで上で議論されたように)メモリアクセス要求トランザクションが書込みトランザクションでない場合、メモリアクセス要求は、図9Aの読取り/書込みインジケータ120に基づいて図7のブロック96で決定されたように、メモリアクセス読取り要求であると決定されることになる。
[0067]この点に関連して、図12は、図7のブロック96で決定されたように、例示的なメモリアクセス読取り要求(MARR:memory access read request)を図示する。バス相互接続アービタ24は、MARメッセージブロック118中で、図9Aの読取り/書込みインジケータ120を読み取り、MARメッセージブロック118が読取りまたは書込みトランザクションであるかどうかを決定する。読取り/書込みインジケータ120が読取りトランザクションを示す場合、バス相互接続アービタ24は、図12に図示されるような例示的なプロセスで進む。バス相互接続アービタ24は、最初に、MARメッセージブロック118を分析し(ブロック182)、マスタ_ID110およびストリーム_IDブロック124を決定することになる。バス相互接続アービタ24は、次いで、スタティック異種MARポリシー表36により決定されるMARポリシーに基づいて、適切なメモリ読取り位置を決定する(ブロック184)。一度決定されると、バス相互接続アービタ24は、次いで、決定されたMARポリシーに基づいて、メモリ読取り要求を適用し得る(ブロック186)。
[0068]事実上スタティックである、すなわち、予め定められ、実行時の状態に基づいて調整または変化しないメモリアクセス要求は、図8Cのデフォルト異種MARポリシー表36に基づく。これらは、マスタデバイス12(0〜M)により予め定められるか、またはアプリケーションに関連付けられるかどちらであってもよい。しかし、動作モードインジケータ設定106が、プロセッサベースのシステムを、ダイナミックプロファイリングを必要とするダイナミックモードに設定する場合、システムは、MARポリシーベースの実行時の状態を決定しなければならない。この点に関連して、図13は、動作のダイナミックモードにダイナミックメモリアクセス要求ポリシーを適用することに使用するための、MARダイナミックプロファイル表38の更新のため、有効なプロファイルの作成を図示する流れ図である。バス相互接続アービタ24は、システム動作をプロファイリングするプロセスを開始する(ブロック192)。プロファイリングは、下の図14でさらに議論されるように、ページヒット率、メモリトラフィックなどを適切に特徴付けるため、何らかの時間の測度を必要とする場合がある。プロファイルが完了したとバス相互接続アービタ24が決定するまで(ブロック196)、プロファイリングが継続する(ブロック194)。一度完了すると、バス相互接続アービタ24は、異種MARダイナミックプロファイル表38を更新する(ブロック198)。バス相互接続アービタ24は、下でより詳しく議論されるように、プロファイル_有効インジケータをやはり設定する(ブロック200)。
[0069]ここで図14を参照して、MARダイナミックプロファイル表38は、集められた、および/または測定されたシステム動作情報に基づいて、異種MARポリシー決定をするのに必要な有効ダイナミックプロファイル情報を含む。このMARダイナミックプロファイル表38の使用は、動作モードインジケータ設定106により決定される。動作モードインジケータ設定106が、動作のスタティックモードに設定される場合、MARダイナミックプロファイル表38は使用されない場合がある。しかし、動作モードインジケータ設定106が、動作のダイナミックモードに設定される場合、バス相互接続アービタ24は、様々なシステム動作性能測度を使用して、必要に応じて有効プロファイルでMARダイナミックプロファイル表38を更新してよい。MSTR_ID/APP #202は、更新されるプロファイルを識別および加齢させるために使用され得るインデックス番号である。たとえば、プロファイルは、有効となるために現行となる必要がある可能性がある。バス相互接続アービタ24は、プロファイルエントリーに打刻、順序付け、またはランク付けするために、このフィールドを使用し得る。プロファイル_有効インジケータフィールド204は、マスタ_ID110の列挙である。たとえば、要求マスタデバイス12(0〜M)に基づいて有効プロファイルを探すとき、有効プロファイルは、そのマスタデバイス12(0〜M)に関連する有効プロファイルを発見することにより決定され得る。
[0070]さらに図14を参照すると、マスタ_ID110および構文解析されたアプリケーション識別子(アプリケーション_ID)132の両方が、より簡単な検索のために記憶され得る。MARダイナミックプロファイル表38は、図9Aで以前に議論されたように、たとえば、アプリケーションまたはマスタデバイス12(0〜M)優先度フィールド(優先度)144、またはデッドラインフィールド(デッドライン)142といった、アプリケーション固有パラメータをやはりサポートし得る。MARダイナミックプロファイル表38は、プロセッサベースのシステムの、現在のバッテリ充電レベルまたは要求されるシステム実行時優先度のいずれかの表示を与え得る、たとえば電力優先度206といった、システム性能パラメータをやはりサポートし得る。読取り/書込み優先度208は、マスタデバイス12(0〜M)が読取り/書込み性能に与える優先度の表示を提供する。例として、電力優先度206がR/W優先度208よりも高い場合、バス相互接続アービタ24は、よりエネルギー効率的な同種メモリユニットを選択する異種MARポリシー40決定を行ってよい。すなわち、要求されるシステム実行時は、任意の他の性能要件よりもより高い優先度で、バッテリ充電レベルが残ることを必要とする場合がある。しかし、読取り/書込み性能がより高い優先度である場合、バス相互接続アービタ24は、場合によってバッテリ充電レベルを犠牲にして、利用可能な最も高い性能である同種メモリ28(0〜A)に読み取るまたは書き込むためのポリシー決定を行うことができる。
[0071]加えて、図14では、プロセッサベースのシステムは、他のシステム性能パラメータの中でもとりわけ、ページヒット率210およびメモリトラフィックフィールド212を測定し得る。ページヒット率210は、メモリアクセス要求がどれだけランダムであるかの表示である。スタティック異種MARポリシーは、たとえば、マスタデバイス12(0〜M)またはアプリケーションがデフォルトで揮発性メモリに読み取るまたは書き込むべきであることを決定し得る。しかし、マスタデバイス12(0〜M)の最近の挙動に基づいて、マスタデバイス12(0〜M)がよりランダムな読取りおよび書込みで動作しているという決定がなされ得る。この場合、バス相互接続アービタ24は、代わりに不揮発性メモリに読み取るまたは書き込むことにより性能が高められると決定し得る。メモリトラフィックフィールド212は、典型的にはマスタデバイス12(0〜M)がよりランダムな読取りおよび書込みをするにもかかわらず、現在のマスタデバイス12(0〜M)またはアプリケーションの挙動がメモリのより大きい連続するブロックへの読取りおよび書込みで機能しているかどうかを決定するためにやはり使用され得る。この例では、デフォルトは、不揮発性メモリへ読み取るおよび書き込むことであってよいが、挙動の変化のため、バス相互接続アービタ24は、揮発性メモリを使用し、それに応じてMARダイナミックプロファイル表38を更新することがより良いと決定し得る。
[0072]本明細書に開示される実施形態にしたがう、異種メモリシステム、および関連する方法、ならびにコンピュータ可読媒体は、任意のプロセッサベースのデバイスに提供され、または一体化され得る。例としては、限定はしないが、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤがある。
[0073]この点に関連して、図15は、図1および図4に図示されたプロセッサベースのシステム10、10’における異種メモリアクセス要求をサポートするための異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を採用し得るプロセッサベースのシステム228の例を図示する。この例では、プロセッサベースのシステム228は、各々が1つまたは複数のプロセッサ232を含む、1つまたは複数の中央処理装置(CPU)230を含む。CPU230は、マスタデバイス12(0〜M)であってよい。CPU230は、一時的に記憶されたデータへの高速アクセスのためにプロセッサ232に結合されたキャッシュメモリ234を有し得る。CPU230は、システムバス236に結合され、プロセッサベースのシステム228に含まれるマスタとスレーブデバイスを相互結合し得る。システムバス236は、図1および図4に図示される、バス相互接続16と同様のバス相互接続であってよい。よく知られているように、CPU230は、システムバス236を介してアドレス、制御、およびデータ情報を交換することによって、これらの他のデバイスと通信する。たとえば、CPU230は、スレーブデバイスの例として、メモリコントローラ30にバストランザクション要求を通信することができる。図15には示されていないが、複数のシステムバス236が提供されてよく、ここにおいて、各システムバス236は異なる組織を構成する。
[0074]他のマスタおよびスレーブデバイスが、システムバス236に接続され得る。図15に図示されるように、これらのデバイスは、例として、少なくとも1つの異種メモリシステム26、1つまたは複数の入力デバイス238、1つまたは複数の出力デバイス240、1つまたは複数のネットワークインターフェースデバイス242、および1つまたは複数のディスプレイコントローラ244を含むことができる。入力デバイス238は、限定はしないが、入力キー、スイッチ、音声プロセッサなどを含む、任意のタイプの入力デバイスを含むことができる。出力デバイス240は、限定はしないが、オーディオ、ビデオ、他の視覚的インジケータなどを含む、任意のタイプの出力デバイスを含むことができる。ネットワークインターフェースデバイス242は、ネットワーク246との間でデータの交換を可能にするように構成された任意のデバイスであり得る。ネットワーク246は、限定はしないが、有線またはワイヤレスネットワーク、プライベートまたは公共ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、およびインターネットを含む、任意のタイプのネットワークであってよい。ネットワークインターフェースデバイス242は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。少なくとも1つの異種メモリシステム26は、1つまたは複数の同種メモリ28(0〜A)を含み得る。バス相互接続アービタ24は、システムバス236と、たとえば、少なくとも1つの異種メモリシステム26中に提供される1つまたは複数の同種メモリ28(0〜A)といった、システムバス236に結合されるマスタおよびスレーブデバイスとの間に提供され得る。
[0075]CPU230は、1つまたは複数のディスプレイ248に送られる情報を制御するため、システムバス236を介してディスプレイコントローラ244にアクセスするようにやはり構成され得る。ディスプレイコントローラ244は、表示されるべき情報をディスプレイ248に好適なフォーマットに処理する、1つまたは複数のビデオプロセッサ250を介して表示されるべき情報をディスプレイ248に送る。ディスプレイ248は、限定はしないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含むことができる。
[0076]CPU230およびディスプレイコントローラ244は、システムバス236を介してバス相互接続アービタ24にメモリアクセス要求を行うマスタデバイスとしての役割を果たし得る。CPU230およびディスプレイコントローラ244内の異なるスレッドは、バス相互接続アービタ24に要求を行い得る。
[0077]本明細書に開示される実施形態に関して記載される、様々な例示の論理的ブロック、モジュール、回路、およびアルゴリズムは、電子ハードウェア、メモリまたは他のコンピュータ可読媒体中に記憶され、プロセッサまたは他の処理デバイスにより実行される命令、または両方の組合せとして実装され得ることを、当業者はさらに了解するであろう。本明細書に記載されるアービタ、マスタデバイス、およびスレーブデバイスは、例として、任意の回路、ハードウェア構成要素、集積回路(IC)、またはICチップに採用され得る。本明細書で開示するメモリは、任意のタイプおよびサイズのメモリであり得、任意のタイプの所望の情報を記憶するように構成され得る。この互換性を明確に示すために、様々な例示的な構成要素、ブロック、モジュール、回路、およびステップについて、上記では概してそれらの機能性に関して記載された。そのような機能性がどのように実装されるかは、特定の用途、設計選択、および/または全体的なシステムに課された設計制約に依存する。当業者は、各特定の用途について様々な様式で記載された機能性を実装することができるが、そのような実装決定は、本開示の範囲からの逸脱を引き起こすと解釈されるべきでない。
[0078]本明細書に開示された実施形態に関連して記載された、様々な例示の論理ブロック、モジュール、および回路は、本明細書に記載の機能を実施するよう設計された、プロセッサ、DSP、特定用途向け集積回路(ASIC)、FPGAまたは他のプログラマブル論理デバイス、個別ゲートまたはトランジスタロジック、個別ハードウェア構成要素、またはその任意の組合せを用いて実装または実施され得る。プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは、任意の従来のプロセッサ、コントローラ、マイクロコントローラ、またはステートマシンであり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成としてやはり実装され得る。
[0079]本明細書に開示される実施形態は、ハードウェアで、およびハードウェアに記憶される命令で具現化され得、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、リードオンリメモリ(ROM)、電気的プログラマブルROM(EPROM)、電気的消去可能プログラマブルROM(EEPROM(登録商標))、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当技術分野で知られている任意の他の形式のコンピュータ可読媒体に存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み込み、記憶媒体へ情報を書き込むことができるように、プロセッサと結合される。代替として、記憶媒体は、プロセッサと一体であってよい。プロセッサおよび記憶媒体は、ASIC中に存在してよい。ASICは遠隔局中に存在してよい。代替として、プロセッサおよび記憶媒体は、個別構成要素として遠隔局、基地局、またはサーバ中に存在してよい。
[0080]また、本明細書の例示的な実施形態のいずれかにおいて記載された動作ステップは、例および説明を提供するために記載されたものであることにやはり留意されたい。記載された動作は、図示したシーケンス以外の多数の異なるシーケンスで実行され得る。さらに、単一の動作ステップで記載された動作は、実際はいくつかの異なるステップで実行され得る。加えて、例示的な実施形態において議論された1つまたは複数の動作ステップは組み合わされ得る。フローチャート図に示した動作ステップは、当業者には容易に明らかになるように、多数の様々な修正を受け得ることを理解されたい。様々な異なる技術および技法のいずれかを使用して、情報および信号が表され得ることを、当業者はやはり理解するであろう。たとえば、上の記載を通して参照され得る、データ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁場もしくは磁性粒子、光場もしくは光学粒子、またはそれらの任意の組合せにより表され得る。
[0081]本開示の前の記載は、当業者が本開示を製造または使用することを可能にするように提供される。本開示に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書に規定の一般的な原理が、本開示の精神または範囲から逸脱することなく、他の変形形態に適用され得る。したがって、本開示は、本明細書に記載される例および設計に限定することを意図しておらず、本明細書に開示される、原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
[0005]詳細な記載で開示される実施形態は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を含む。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。たとえば、異種メモリシステム中の1つの同種メモリは、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム中の別の同種メモリは、リフレッシュ用の電力を必要としないが、揮発性メモリよりも減少した性能を有する不揮発性メモリである場合がある。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの1つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義される、または非限定的な例として、読取り/書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能であるただ1つのメモリタイプを有することに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が最適化され得る。
[0034]詳細な記載で開示される実施形態は、プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体を含む。異種メモリシステムは、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリからなる。各同種メモリは、特定の電力および性能特性を有する。たとえば、異種メモリシステム中の1つの同種メモリは、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム中の別の同種メモリは、リフレッシュ用の電力を必要としないが、揮発性メモリよりも減少した性能を有する不揮発性メモリである場合がある。この点に関連して、メモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム中の同種メモリのうちの1つに有利に経路指定され得る。異種メモリアクセス要求ポリシーは、事前定義される、または非限定的な例として、読取り/書込みタイプ、ページヒットの頻度、およびメモリトラフィックなどのキーとなる動作パラメータに基づいてダイナミックに決定され得る。この様式では、記憶のために利用可能であるただ1つのメモリタイプを有することに関連するトレードオフを行う必要なしに、メモリアクセス要求時間が減少するように最適化され得る。
[0037]スレーブデバイス12(0)の1つの例は、プロセッサベースのシステム10の動作のためのデータおよび命令の両方を記憶するように構成されるメモリシステムである、異種メモリシステム26である。異種メモリシステム26は、マスタデバイス12(0〜M)により、所与のメモリアクセス要求についてアクセスされ得る、複数の同種メモリ28(0〜A)からなる。同種メモリは、共通の電力および/または性能特性を有する特定のメモリタイプである。異種メモリシステムは、少なくとも2つの異なるタイプの同種メモリを含む。下でより詳細に議論されるように、図1中の異種メモリシステム26中の各同種メモリ28(0〜A)は、特定の電力および性能特性を有する。たとえば、異種メモリシステム26中の1つの同種メモリ28(0)は、リフレッシュ用の電力を必要とするが、不揮発性メモリよりも増加した性能を有する揮発性メモリである場合がある。さらなる例として、異種メモリシステム26中の別の同種メモリ28(A)は、リフレッシュ用の電力を必要としないが、揮発性メモリよりも減少した性能を有する場合がある不揮発性メモリである場合がある。この点に関連して、マスタデバイス12(0〜M)からのメモリアクセス要求は、メモリアクセス要求、ならびに電力および/または性能要件に基づいて、異種メモリシステム26中の同種メモリ28(0〜A)のうちの1つに、プロセッサベースのシステム10中で有利に経路指定され得る。
[0043]プロセッサベースのシステム中のメモリアクセス要求の特性ならびに他の動作パラメータは、どの同種メモリに、メモリアクセス要求が有利に経路指定されるべきかを決定するために使用され得る。この点に関連して、図2は、(図1に示される)複数の同種メモリ28(0〜A)のどれが、メモリアクセス要求トランザクションのために使用されるかを決定するために使用される、例示的な異種MARポリシー40を図示する。例として、逐次メモリアクセスは、より高いメモリページヒット率を有する場合がある。より多いメモリトラフィックの状況では、より速い読取り/書込み速度、より大きいページサイズ、およびより遅い開/閉速度のメモリ性能特性を有する揮発性メモリにアクセスする、(図2のブロック42に示されるような)異種メモリアクセス要求ポリシーを採用することが有利な場合がある。より少ないメモリトラフィックの状況では、性能に与えられる優先度に基づいて、揮発性または不揮発性メモリのいずれかにアクセスすることが有利な場合がある。優先度が性能に与えられる場合、その性能が揮発性メモリを超えて利益となるので、揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック44)が有利な場合がある。優先度が性能に与えられない場合、その電力消費が揮発性メモリを超えて利益となるので、不揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック46)が有利な場合がある。
[0044]図2を続けて参照して、別の例として、ランダムメモリアクセスが、より低いメモリページヒット率を有する場合がある。より少ないメモリトラフィックの状況では、より高い性能特性が必要でない可能性があるので、より低い電力消費から利益を得るためにより遅い読取り/書込み速度およびより速い開/閉速度の特性を有する不揮発性メモリにアクセスする、異種メモリアクセス要求ポリシーを採用すること(ブロック48)が有利な場合がある。より多いメモリトラフィックの状況では、電力消費効率に与えられる優先度に基づいて、不揮発性または揮発性メモリのいずれかにアクセスすることが有利な場合がある。優先度が電力消費効率より性能に与えられる場合、その性能が揮発性メモリを超えて利益となるので、揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック50)が有利な場合がある。優先度が電力消費効率に与えられる場合、その電力消費が揮発性メモリを超えて利益となるので、不揮発性メモリにアクセスするため、異種メモリアクセス要求ポリシーを採用すること(ブロック52)が有利な場合がある。
[0081]本開示の前の記載は、当業者が本開示を製造または使用することを可能にするように提供される。本開示に対する様々な変更形態が、当業者には容易に明らかとなり、本明細書に規定の一般的な原理が、本開示の精神または範囲から逸脱することなく、他の変形形態に適用され得る。したがって、本開示は、本明細書に記載される例および設計に限定することを意図しておらず、本明細書に開示される、原理および新規の特徴と一致する最も広い範囲が与えられるべきである。
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
[C1] プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定する
ように構成される、バス相互接続アービタ。
[C2] 前記異種メモリシステムが複数の同種メモリからなる、C1に記載のバス相互接続アービタ。前記複数の同種メモリは、さらに、DRAM同種メモリおよびMRAM同種メモリからなる。
[C3] 前記複数の異種メモリアクセス要求ポリシーが、少なくとも1つのスタティック異種メモリアクセス要求ポリシーおよび少なくとも1つのダイナミック異種メモリアクセス要求ポリシーからなる、C1に記載のバス相互接続アービタ。
[C4] 前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかに対応するように、前記複数の異種メモリアクセス要求ポリシーの中から前記メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C5] メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C6] メモリアクセス要求中のマスタ識別子に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C7] メモリアクセス要求中のアプリケーション識別子に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C8] ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C9] 前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C10] 前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C11] 前記プロセッサベースのシステム中の電力モードに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C12] メモリページヒット率に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C13] メモリアクセス要求トラフィックに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C14] アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも1つの動作パラメータに基づいて、ダイナミック異種メモリアクセス要求ポリシープロファイルを決定するように構成される、C1に記載のバス相互接続アービタ。
[C15] 前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定するようにさらに構成され、ここにおいて、前記有効動作プロファイルが存在する場合に、デフォルトメモリアクセス要求ポリシーとして、前記複数の異種メモリアクセス要求ポリシーの中から異種メモリアクセス要求ポリシーを決定するように構成される、C1に記載のバス相互接続アービタ。
[C16] バス相互接続中に配設される、C1に記載のバス相互接続アービタ。
[C17] 半導体ダイの中に一体化される、C1に記載のバス相互接続アービタ。
[C18] 前記バス相互接続アービタが一体化される、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなるグループから選択されるデバイスをさらに備える、C1に記載のバス相互接続アービタ。
[C19] プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取るための手段と、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段と、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定するための手段と
を備える、バス相互接続アービタ。
[C20] プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
前記バス相互接続中のメモリアクセス要求を受け取るように構成されるメモリコントローラと、前記メモリコントローラは、第1のメモリチャネルおよび第2のメモリチャネルを有し、
前記メモリコントローラの前記第1のメモリチャネルに結合される第1の同種メモリと、ここにおいて、前記第1の同種メモリは、揮発性メモリからなる、
前記メモリコントローラの前記第2のメモリチャネルに結合される第2の同種メモリと、ここにおいて、前記第2の同種メモリは、不揮発性メモリからなる、
ここにおいて、前記メモリコントローラは、前記バス相互接続に結合される前記第1の同種のメモリまたは前記第2の同種メモリのいずれかに前記メモリアクセス要求を経路指定するようにさらに構成される、
を備える、異種メモリシステム。
[C21] 前記第1の同種メモリがDRAMからなり、前記第2の同種メモリがMRAMからなる、C20に記載の異種メモリシステム。
[C22] 前記メモリコントローラが、前記受け取られたメモリアクセス要求中のメモリアクセス要求ポリシーに基づいて、前記第1の同種メモリまたは前記第2の同種メモリのいずれかに前記メモリアクセス要求を経路指定するように構成される、C20に記載の異種メモリシステム。
[C23] 前記メモリコントローラが、前記受け取られたメモリアクセス要求中のバス相互接続アービタにより提供されるメモリアクセス要求ポリシーに基づいて、前記メモリアクセス要求を経路指定するようにさらに構成される、C20に記載の異種メモリシステム。
[C24] プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
前記バス相互接続中のメモリアクセス要求を受け取るための手段と、メモリコントローラは、第1のメモリチャネルおよび第2のメモリチャネルを有し、
前記バス相互接続に結合される前記メモリコントローラの前記第1のメモリチャネルに結合され、揮発性メモリからなる第1の同種メモリ、または前記メモリコントローラの前記第2のメモリチャネルに結合され、不揮発性メモリからなる第2の同種メモリのいずれかに前記メモリアクセス要求を経路指定するための手段と、
を備えるメモリコントローラを含む、異種メモリシステム。
[C25] 少なくとも1つの要求デバイスに結合されるバス相互接続と、前記バス相互接続は、前記少なくとも1つの要求デバイスから受け取ったメモリアクセス要求を、異種メモリシステムに経路指定するように構成されるバス相互接続アービタを備える、
前記バス相互接続に結合される第1の同種メモリシステムと、ここにおいて、前記第1の同種メモリシステムは、揮発性メモリからなる、
前記バス相互接続に結合される第2の同種メモリシステムと、ここにおいて、前記第2の同種メモリシステムは、不揮発性メモリからなる、
ここにおいて、前記バス相互接続アービタは、
前記少なくとも1つの要求デバイスから前記バス相互接続中の前記メモリアクセス要求を受け取り、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記第1の同種メモリシステムまたは前記第2の同種メモリシステムのいずれかに対応する、
前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記第1の同種メモリシステムまたは前記第2の同種メモリシステムの中の同種メモリに前記メモリアクセス要求を経路指定する
ように構成される、
を備える、プロセッサベースのシステム。
[C26] プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタの方法であって、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取ることと、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定することと、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記メモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定することと
を備える方法。
[C27] 前記メモリアクセス要求ポリシーを決定することが、スタティック異種メモリアクセス要求ポリシーまたはダイナミック異種メモリアクセス要求ポリシーのいずれかに基づく、C26に記載の方法。
[C28] 前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかに対応するように、前記複数の異種メモリアクセス要求ポリシーの中から前記メモリアクセス要求ポリシーを決定する、C26に記載の方法。
[C29] スタティック異種メモリアクセス要求ポリシーを決定することが、メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づく、C26に記載の方法。
[C30] スタティック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のマスタ識別子に基づく、C26に記載の方法。
[C31] スタティック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のアプリケーション識別子に基づく、C26に記載の方法。
[C32] ダイナミック異種メモリアクセス要求ポリシーを決定することが、ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づく、C26に記載の方法。
[C33] ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のメモリアクセス要求優先度に基づく、C26に記載の方法。
[C34] ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づく、C26に記載の方法。
[C35] ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記プロセッサベースのシステム中の電力モードに基づく、C26に記載の方法。
[C36] ダイナミック異種メモリアクセス要求ポリシーを決定することが、メモリページヒット率に基づく、C26に記載の方法。
[C37] ダイナミック異種メモリアクセス要求ポリシーを決定することが、メモリアクセス要求トラフィックに基づく、C26に記載の方法。
[C38] ダイナミック異種メモリアクセス要求ポリシープロファイルを決定することが、アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも1つの動作パラメータに基づく、C26に記載の方法。
[C39] 前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定し、ここにおいて、前記有効動作プロファイルが存在する場合に、デフォルトメモリアクセス要求ポリシーとして、前記複数の異種メモリアクセス要求ポリシーの中から異種メモリアクセス要求ポリシーを決定するように前記バス相互接続アービタが構成される、C26に記載の方法。
[C40] コンピュータ実行可能命令をその上に記憶させたコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタに、
要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
前記メモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定する
ことを行わせるコンピュータ可読媒体。

Claims (40)

  1. プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
    要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
    複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
    前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定する
    ように構成される、バス相互接続アービタ。
  2. 前記異種メモリシステムが複数の同種メモリからなる、請求項1に記載のバス相互接続アービタ。前記複数の同種メモリは、さらに、DRAM同種メモリおよびMRAM同種メモリからなる。
  3. 前記複数の異種メモリアクセス要求ポリシーが、少なくとも1つのスタティック異種メモリアクセス要求ポリシーおよび少なくとも1つのダイナミック異種メモリアクセス要求ポリシーからなる、請求項1に記載のバス相互接続アービタ。
  4. 前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかに対応するように、前記複数の異種メモリアクセス要求ポリシーの中から前記メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  5. メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  6. メモリアクセス要求中のマスタ識別子に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  7. メモリアクセス要求中のアプリケーション識別子に基づいて、スタティック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  8. ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  9. 前記メモリアクセス要求中のメモリアクセス要求優先度に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  10. 前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  11. 前記プロセッサベースのシステム中の電力モードに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  12. メモリページヒット率に基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  13. メモリアクセス要求トラフィックに基づいて、ダイナミック異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  14. アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも1つの動作パラメータに基づいて、ダイナミック異種メモリアクセス要求ポリシープロファイルを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  15. 前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定するようにさらに構成され、ここにおいて、前記有効動作プロファイルが存在する場合に、デフォルトメモリアクセス要求ポリシーとして、前記複数の異種メモリアクセス要求ポリシーの中から異種メモリアクセス要求ポリシーを決定するように構成される、請求項1に記載のバス相互接続アービタ。
  16. バス相互接続中に配設される、請求項1に記載のバス相互接続アービタ。
  17. 半導体ダイの中に一体化される、請求項1に記載のバス相互接続アービタ。
  18. 前記バス相互接続アービタが一体化される、セットトップボックス、エンターテインメントユニット、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビジョン、チューナー、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなるグループから選択されるデバイスをさらに備える、請求項1に記載のバス相互接続アービタ。
  19. プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタであって、
    要求デバイスからバス相互接続中のメモリアクセス要求を受け取るための手段と、
    複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定するための手段と、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
    前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定するための手段と
    を備える、バス相互接続アービタ。
  20. プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
    前記バス相互接続中のメモリアクセス要求を受け取るように構成されるメモリコントローラと、前記メモリコントローラは、第1のメモリチャネルおよび第2のメモリチャネルを有し、
    前記メモリコントローラの前記第1のメモリチャネルに結合される第1の同種メモリと、ここにおいて、前記第1の同種メモリは、揮発性メモリからなる、
    前記メモリコントローラの前記第2のメモリチャネルに結合される第2の同種メモリと、ここにおいて、前記第2の同種メモリは、不揮発性メモリからなる、
    ここにおいて、前記メモリコントローラは、前記バス相互接続に結合される前記第1の同種のメモリまたは前記第2の同種メモリのいずれかに前記メモリアクセス要求を経路指定するようにさらに構成される、
    を備える、異種メモリシステム。
  21. 前記第1の同種メモリがDRAMからなり、前記第2の同種メモリがMRAMからなる、請求項20に記載の異種メモリシステム。
  22. 前記メモリコントローラが、前記受け取られたメモリアクセス要求中のメモリアクセス要求ポリシーに基づいて、前記第1の同種メモリまたは前記第2の同種メモリのいずれかに前記メモリアクセス要求を経路指定するように構成される、請求項20に記載の異種メモリシステム。
  23. 前記メモリコントローラが、前記受け取られたメモリアクセス要求中のバス相互接続アービタにより提供されるメモリアクセス要求ポリシーに基づいて、前記メモリアクセス要求を経路指定するようにさらに構成される、請求項20に記載の異種メモリシステム。
  24. プロセッサベースのシステム中のバス相互接続に結合される異種メモリシステムであって、
    前記バス相互接続中のメモリアクセス要求を受け取るための手段と、メモリコントローラは、第1のメモリチャネルおよび第2のメモリチャネルを有し、
    前記バス相互接続に結合される前記メモリコントローラの前記第1のメモリチャネルに結合され、揮発性メモリからなる第1の同種メモリ、または前記メモリコントローラの前記第2のメモリチャネルに結合され、不揮発性メモリからなる第2の同種メモリのいずれかに前記メモリアクセス要求を経路指定するための手段と、
    を備えるメモリコントローラを含む、異種メモリシステム。
  25. 少なくとも1つの要求デバイスに結合されるバス相互接続と、前記バス相互接続は、前記少なくとも1つの要求デバイスから受け取ったメモリアクセス要求を、異種メモリシステムに経路指定するように構成されるバス相互接続アービタを備える、
    前記バス相互接続に結合される第1の同種メモリシステムと、ここにおいて、前記第1の同種メモリシステムは、揮発性メモリからなる、
    前記バス相互接続に結合される第2の同種メモリシステムと、ここにおいて、前記第2の同種メモリシステムは、不揮発性メモリからなる、
    ここにおいて、前記バス相互接続アービタは、
    前記少なくとも1つの要求デバイスから前記バス相互接続中の前記メモリアクセス要求を受け取り、
    複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記第1の同種メモリシステムまたは前記第2の同種メモリシステムのいずれかに対応する、
    前記決定されるメモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記第1の同種メモリシステムまたは前記第2の同種メモリシステムの中の同種メモリに前記メモリアクセス要求を経路指定する
    ように構成される、
    を備える、プロセッサベースのシステム。
  26. プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタの方法であって、
    要求デバイスからバス相互接続中のメモリアクセス要求を受け取ることと、
    複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定することと、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
    前記メモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定することと
    を備える方法。
  27. 前記メモリアクセス要求ポリシーを決定することが、スタティック異種メモリアクセス要求ポリシーまたはダイナミック異種メモリアクセス要求ポリシーのいずれかに基づく、請求項26に記載の方法。
  28. 前記異種メモリシステム内の揮発性メモリまたは不揮発性メモリのいずれかに対応するように、前記複数の異種メモリアクセス要求ポリシーの中から前記メモリアクセス要求ポリシーを決定する、請求項26に記載の方法。
  29. スタティック異種メモリアクセス要求ポリシーを決定することが、メモリアクセス要求ポリシー表中のスタティックメモリアクセス要求ポリシー索引に基づく、請求項26に記載の方法。
  30. スタティック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のマスタ識別子に基づく、請求項26に記載の方法。
  31. スタティック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のアプリケーション識別子に基づく、請求項26に記載の方法。
  32. ダイナミック異種メモリアクセス要求ポリシーを決定することが、ダイナミック異種メモリアクセス要求プロファイル索引表中のダイナミックメモリアクセス要求ポリシー索引に基づく、請求項26に記載の方法。
  33. ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のメモリアクセス要求優先度に基づく、請求項26に記載の方法。
  34. ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記メモリアクセス要求中のメモリアクセス要求デッドラインに基づく、請求項26に記載の方法。
  35. ダイナミック異種メモリアクセス要求ポリシーを決定することが、前記プロセッサベースのシステム中の電力モードに基づく、請求項26に記載の方法。
  36. ダイナミック異種メモリアクセス要求ポリシーを決定することが、メモリページヒット率に基づく、請求項26に記載の方法。
  37. ダイナミック異種メモリアクセス要求ポリシーを決定することが、メモリアクセス要求トラフィックに基づく、請求項26に記載の方法。
  38. ダイナミック異種メモリアクセス要求ポリシープロファイルを決定することが、アプリケーション優先度、メモリアクセス要求デッドライン、電力モード、メモリページヒット率、およびメモリアクセス要求トラフィックからなるグループから選択される少なくとも1つの動作パラメータに基づく、請求項26に記載の方法。
  39. 前記プロセッサベースのシステムの有効動作プロファイルが存在するかどうかを決定し、ここにおいて、前記有効動作プロファイルが存在する場合に、デフォルトメモリアクセス要求ポリシーとして、前記複数の異種メモリアクセス要求ポリシーの中から異種メモリアクセス要求ポリシーを決定するように前記バス相互接続アービタが構成される、請求項26に記載の方法。
  40. コンピュータ実行可能命令をその上に記憶させたコンピュータ可読媒体であって、前記コンピュータ実行可能命令が、プロセッサベースのシステム中の異種メモリシステムにメモリアクセス要求を経路指定するためのバス相互接続アービタに、
    要求デバイスからバス相互接続中のメモリアクセス要求を受け取り、
    複数の異種メモリアクセス要求ポリシーの中からメモリアクセス要求ポリシーを決定し、前記複数の異種メモリアクセス要求ポリシーの中の各異種メモリアクセス要求ポリシーは、前記バス相互接続に結合される前記異種メモリシステム内の同種メモリに対応する、
    前記メモリアクセス要求ポリシーに対応する、前記バス相互接続に結合される前記異種メモリシステム中の前記同種メモリに、前記メモリアクセス要求を経路指定する
    ことを行わせるコンピュータ可読媒体。
JP2015553779A 2013-01-17 2014-01-14 プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体 Expired - Fee Related JP5917782B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/743,400 US9224452B2 (en) 2013-01-17 2013-01-17 Heterogeneous memory systems, and related methods and computer-readable media for supporting heterogeneous memory access requests in processor-based systems
US13/743,400 2013-01-17
PCT/US2014/011442 WO2014113374A1 (en) 2013-01-17 2014-01-14 Heterogeneous memory systems, and related methods and computer-readable media for supporting heterogeneous memory access requests in processor-based systems

Publications (3)

Publication Number Publication Date
JP2016503935A true JP2016503935A (ja) 2016-02-08
JP2016503935A5 JP2016503935A5 (ja) 2016-04-14
JP5917782B2 JP5917782B2 (ja) 2016-05-18

Family

ID=50073448

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015553779A Expired - Fee Related JP5917782B2 (ja) 2013-01-17 2014-01-14 プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体

Country Status (6)

Country Link
US (1) US9224452B2 (ja)
EP (1) EP2946302B1 (ja)
JP (1) JP5917782B2 (ja)
KR (1) KR101609718B1 (ja)
CN (1) CN104919439B (ja)
WO (1) WO2014113374A1 (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015155103A1 (de) * 2014-04-08 2015-10-15 Fujitsu Technology Solutions Intellectual Property Gmbh Verfahren zum verbesserten zugriff auf einen hauptspeicher eines computersystems, entsprechendes computersystem sowie computerprogramm-produkt
US10282100B2 (en) 2014-08-19 2019-05-07 Samsung Electronics Co., Ltd. Data management scheme in virtualized hyperscale environments
DE102015113603B4 (de) * 2014-08-19 2024-04-04 Samsung Electronics Co., Ltd. Datenverwaltungsverfahren in virtualisierten Hyperscale-Umgebungen
KR102408613B1 (ko) 2015-08-27 2022-06-15 삼성전자주식회사 메모리 모듈의 동작 방법, 및 메모리 모듈을 제어하는 프로세서의 동작 방법, 및 사용자 시스템
CN106201989B (zh) * 2016-06-28 2019-06-11 上海兆芯集成电路有限公司 具有从空闲列表的处理器和使用其回收物理寄存器的方法
US10055158B2 (en) * 2016-09-22 2018-08-21 Qualcomm Incorporated Providing flexible management of heterogeneous memory systems using spatial quality of service (QoS) tagging in processor-based systems
TWI611296B (zh) 2017-04-13 2018-01-11 慧榮科技股份有限公司 記憶體控制器與資料儲存裝置
US10810142B2 (en) * 2017-05-15 2020-10-20 Xilinx, Inc. Adaptive scheduling of memory requests
US20190042488A1 (en) * 2017-12-28 2019-02-07 Intel Corporation Shared memory controller in a data center
KR102482896B1 (ko) 2017-12-28 2022-12-30 삼성전자주식회사 이종 휘발성 메모리 칩들을 포함하는 메모리 장치 및 이를 포함하는 전자 장치
US11295235B2 (en) 2017-12-28 2022-04-05 Intel Corporation Filtering training data for models in a data center
US11281595B2 (en) * 2018-05-28 2022-03-22 Intel Corporation Integration of disparate system architectures using configurable isolated memory regions and trust domain conversion bridge
CN110825312B (zh) * 2018-08-10 2023-06-23 昆仑芯(北京)科技有限公司 数据处理装置、人工智能芯片及电子设备
CN111209232B (zh) * 2018-11-21 2022-04-22 昆仑芯(北京)科技有限公司 访问静态随机存取存储器的方法、装置、设备和存储介质
JP7292044B2 (ja) * 2019-02-07 2023-06-16 キヤノン株式会社 制御装置および制御方法
US11487683B2 (en) * 2020-04-15 2022-11-01 AyDeeKay LLC Seamlessly integrated microcontroller chip
US11775185B2 (en) * 2020-09-17 2023-10-03 Micron Technology, Inc. Power budget arbitration for multiple concurrent access operations in a memory device
KR102600204B1 (ko) * 2020-12-01 2023-11-10 한국전자통신연구원 Gen-Z 인터페이스 기반의 혼잡 제어 방법 및 장치
CN115379261B (zh) * 2022-08-10 2024-03-12 微梦创科网络科技(中国)有限公司 视频的发送方法、装置、电子设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528551A (ja) * 2004-03-10 2007-10-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリアクセスを制御する方法及び集積回路
US20080082751A1 (en) * 2006-09-28 2008-04-03 Okin Kenneth A Memory modules and programmable heterogeneous memory controllers for main memory
WO2011054884A1 (en) * 2009-11-04 2011-05-12 St-Ericsson (France) Sas Dynamic management of random access memory
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6260127B1 (en) 1998-07-13 2001-07-10 Compaq Computer Corporation Method and apparatus for supporting heterogeneous memory in computer systems
US6292874B1 (en) 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
US6853382B1 (en) * 2000-10-13 2005-02-08 Nvidia Corporation Controller for a memory system having multiple partitions
US6985985B2 (en) 2002-06-05 2006-01-10 Lsi Logic Corporation Methods and structure for dynamic modifications to arbitration for a shared resource
US7970980B2 (en) 2004-12-15 2011-06-28 International Business Machines Corporation Method and apparatus for accessing memory in a computer system architecture supporting heterogeneous configurations of memory structures
US7571295B2 (en) 2005-08-04 2009-08-04 Intel Corporation Memory manager for heterogeneous memory control
US7685376B2 (en) * 2006-05-03 2010-03-23 Intel Corporation Method to support heterogeneous memories
WO2008070803A1 (en) * 2006-12-06 2008-06-12 Fusion Multisystems, Inc. (Dba Fusion-Io) Apparatus, system, and method for managing data from a requesting device with an empty data token directive
KR101464338B1 (ko) 2007-10-25 2014-11-25 삼성전자주식회사 불휘발성 메모리 장치를 이용한 데이터 저장장치, 메모리시스템, 그리고 컴퓨터 시스템
US8700830B2 (en) * 2007-11-20 2014-04-15 Spansion Llc Memory buffering system that improves read/write performance and provides low latency for mobile systems
US8539129B2 (en) * 2010-04-14 2013-09-17 Qualcomm Incorporated Bus arbitration techniques to reduce access latency

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007528551A (ja) * 2004-03-10 2007-10-11 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ メモリアクセスを制御する方法及び集積回路
US20080082751A1 (en) * 2006-09-28 2008-04-03 Okin Kenneth A Memory modules and programmable heterogeneous memory controllers for main memory
WO2011054884A1 (en) * 2009-11-04 2011-05-12 St-Ericsson (France) Sas Dynamic management of random access memory
JP2013510355A (ja) * 2009-11-04 2013-03-21 エスティー‐エリクソン(フランス)エスエーエス ランダムアクセスメモリの動的管理
US20120089759A1 (en) * 2010-10-08 2012-04-12 Qualcomm Incorporated Arbitrating Stream Transactions Based on Information Related to the Stream Transaction(s)
JP2013542520A (ja) * 2010-10-08 2013-11-21 クアルコム,インコーポレイテッド ストリームトランザクションに関連する情報に基づくストリームトランザクションのアービトレーション

Also Published As

Publication number Publication date
EP2946302B1 (en) 2017-02-22
KR20150107819A (ko) 2015-09-23
EP2946302A1 (en) 2015-11-25
CN104919439A (zh) 2015-09-16
WO2014113374A1 (en) 2014-07-24
KR101609718B1 (ko) 2016-04-06
JP5917782B2 (ja) 2016-05-18
US9224452B2 (en) 2015-12-29
US20140201435A1 (en) 2014-07-17
CN104919439B (zh) 2017-06-30

Similar Documents

Publication Publication Date Title
JP5917782B2 (ja) プロセッサベースのシステムにおける異種メモリアクセス要求をサポートするための、異種メモリシステム、ならびに関連する方法およびコンピュータ可読媒体
JP5893632B2 (ja) ストリームトランザクション情報に基づいてページ管理ポリシーを適用するためのメモリコントローラ、システム、および方法
US20110055495A1 (en) Memory Controller Page Management Devices, Systems, and Methods
US9176913B2 (en) Coherence switch for I/O traffic
JP5746136B2 (ja) メモリアクセス時間を最適化するための、メモリアクセスコントローラ、システム、および方法
JP2019525271A (ja) 高速メモリインタフェースのためのコマンドアービトレーション
US9632953B2 (en) Providing input/output virtualization (IOV) by mapping transfer requests to shared transfer requests lists by IOV host controllers
US9690720B2 (en) Providing command trapping using a request filter circuit in an input/output virtualization (IOV) host controller (HC) (IOV-HC) of a flash-memory-based storage device
US20170212840A1 (en) Providing scalable dynamic random access memory (dram) cache management using tag directory caches
JP5662585B2 (ja) ストリームトランザクションに関連する情報に基づくストリームトランザクションのアービトレーション
US10152261B2 (en) Providing memory bandwidth compression using compression indicator (CI) hint directories in a central processing unit (CPU)-based system
US10176096B2 (en) Providing scalable dynamic random access memory (DRAM) cache management using DRAM cache indicator caches
US8856459B1 (en) Matrix for numerical comparison
US11093416B1 (en) Memory system supporting programmable selective access to subsets of parallel-arranged memory chips for efficient memory accesses
US11194744B2 (en) In-line memory module (IMM) computing node with an embedded processor(s) to support local processing of memory-based operations for lower latency and reduced power consumption
US10156887B2 (en) Cache memory clock generation circuits for reducing power consumption and read errors in cache memory

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150925

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160203

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160203

A871 Explanation of circumstances concerning accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A871

Effective date: 20160203

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160222

A975 Report on accelerated examination

Free format text: JAPANESE INTERMEDIATE CODE: A971005

Effective date: 20160223

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160308

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160406

R150 Certificate of patent or registration of utility model

Ref document number: 5917782

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees