【手続補正書】
【提出日】令和2年8月5日(2020.8.5)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プロセッサベースシステムの異種メモリシステムの柔軟な管理を実現するためのメモリコントローラであって、前記メモリコントローラは、異なる性能特性を有する第1のメモリおよび第2のメモリに通信可能に結合され、
前記メモリコントローラは、複数のサービス品質(QoS)ポリシーエントリを提供するソフトウェア構成可能なQoSポリシーテーブルを含み、各QoSポリシーエントリは、QoSポリシー状態を含み、1つまたは複数のQoS識別子(QoSID)のうちのQoSIDに関連付けられ、前記QoSIDは、複数のメモリ領域のうちの1つまたは複数に関連付けられ、前記複数のメモリ領域は、前記第1のメモリ、前記第2のメモリ、または両方の中に存在し、
前記メモリコントローラは、
前記複数のメモリ領域のうちのメモリ領域に対応するメモリアドレスを含むメモリアクセス要求を受信することと、
前記メモリアドレスに関連付けられるソフトウェア構成可能なQoSIDを識別することと、
前記QoSポリシーテーブルを使用して、前記メモリアドレスに関連付けられる前記QoSIDをQoSポリシー状態に関連付けることと、
前記第1のメモリおよび前記第2のメモリの一方でメモリアクセス動作を実行するために前記QoSポリシー状態を適用することと
を行うように構成され、前記QoSポリシー状態が前記メモリコントローラによって強制可能なQoS属性を表す、メモリコントローラ。
【請求項２】
前記第2のメモリのための透過的なキャッシュとして前記第1のメモリを動作させるようにさらに構成され、
前記複数のメモリ領域は、前記第2のメモリの複数のメモリ領域を含む、請求項1に記載のメモリコントローラ。
【請求項３】
前記QoSポリシー状態に基づいて前記第1のメモリからのキャッシュエビクションおよび前記第1のメモリのキャッシュフィルの一方を実行するように構成されることによって、前記メモリアクセス動作を実行するために前記QoSポリシー状態を適用するように構成される、請求項2に記載のメモリコントローラ。
【請求項４】
前記第1のメモリの複数のキャッシュラインに対応する前記複数のQoSIDをランダムにサンプリングすることと、
前記第1のメモリからのエビクションのために、最大のクォータ超過であるQoSIDに関連付けられる前記複数のキャッシュラインのうちのキャッシュラインを選択することと
を行うように構成されることによって、前記QoSポリシー状態に基づいて前記第1のメモリからの前記キャッシュエビクションを実行するように構成される、請求項3に記載のメモリコントローラ。
【請求項５】
前記第2のメモリにおけるマスタテーブルにアクセスするように構成されることによって、前記メモリアドレスに関連付けられる前記QoSIDを識別するように構成され、前記マスタテーブルは、各々が前記1つまたは複数のQoSIDのうちのQoSIDに関連付けられる1つまたは複数のメモリアドレスの範囲に対応する複数のマスタテーブルエントリを含む、請求項2に記載のメモリコントローラ。
【請求項６】
前記プロセッサベースシステム上で実行されているソフトウェアプロセスから、前記マスタテーブルの前記複数のマスタテーブルエントリのうちのマスタテーブルエントリに対する更新を受信するようにさらに構成される、請求項5に記載のメモリコントローラ。
【請求項７】
各々が前記マスタテーブルのマスタテーブルエントリをキャッシュするように構成された複数のマスタテーブルキャッシュエントリを含むマスタテーブルキャッシュをさらに含み、
前記メモリコントローラは、前記第2のメモリにおける前記マスタテーブルにアクセスする前に、
前記マスタテーブルキャッシュの前記複数のマスタテーブルキャッシュエントリのうちのマスタテーブルキャッシュエントリが前記メモリアドレスに対応するかどうかを判断することと、
前記複数のマスタテーブルキャッシュエントリのうちのマスタテーブルキャッシュエントリが前記メモリアドレスに対応するとの判断に応答して、前記マスタテーブルキャッシュエントリにアクセスすることと
を行うように構成されることによって、前記メモリアドレスに関連付けられる前記QoSIDを識別するように構成され、
前記メモリコントローラは、前記複数のマスタテーブルキャッシュエントリのうちのマスタテーブルキャッシュエントリが前記メモリアドレスに対応しないとの判断に応答して、前記第2のメモリにおける前記マスタテーブルにアクセスするように構成される、請求項5に記載のメモリコントローラ。
【請求項８】
前記メモリアドレスに関連して前記第1のメモリによって記憶された前記QoSIDにアクセスするように構成されることによって、前記メモリアドレスに関連付けられる前記QoSIDを識別するように構成される、請求項2に記載のメモリコントローラ。
【請求項９】
前記プロセッサベースシステム上で実行されているソフトウェアプロセスから、前記QoSポリシーテーブルの前記複数のQoSポリシーエントリのうちのQoSポリシーエントリに対する更新を受信するようにさらに構成される、請求項1に記載のメモリコントローラ。
【請求項１０】
前記複数のQoSポリシーエントリの各々のQoSポリシー状態は、クォータ、優先度、比例配分重み、および確率のうちの1つまたは複数を示す、請求項1に記載のメモリコントローラ。
【請求項１１】
前記第1のメモリとして高帯域幅メモリ(HBM)および前記第2のメモリとしてダイナミックランダムアクセスメモリ(DRAM)に通信可能に結合される、請求項1に記載のメモリコントローラ。
【請求項１２】
プロセッサベースシステムの異種メモリシステムの柔軟な管理を実現するための方法であって、
メモリコントローラによって、異なる性能特性を有する第1のメモリおよび第2のメモリの一方または両方の複数のメモリ領域のうちのメモリ領域に対応するメモリアドレスを含むメモリアクセス要求を受信するステップと、
複数のサービス品質(QoS)識別子(QoSID)のうちのソフトウェア構成可能なQoSIDを識別するステップであって、前記QoSIDは、前記メモリアドレスに関連付けられる、ステップと、
前記メモリコントローラのソフトウェア構成可能なQoSポリシーテーブルを使用して、前記メモリアドレスに関連付けられる前記QoSIDをQoSポリシー状態に関連付けるステップと、
前記第1のメモリおよび前記第2のメモリの一方でメモリアクセス動作を実行するために前記QoSポリシー状態を適用するステップと
を含み、前記QoSポリシー状態が前記メモリコントローラによって強制可能なQoS属性を表す、方法。
【請求項１３】
前記第2のメモリのための透過的なキャッシュとして前記第1のメモリを動作させるステップをさらに含み、
前記複数のメモリ領域は、前記第2のメモリの複数のメモリ領域を含む、請求項12に記載の方法。
【請求項１４】
前記メモリアクセス動作を実行するために前記QoSポリシー状態を適用するステップは、前記QoSポリシー状態に基づいて前記第1のメモリからのキャッシュエビクションおよび前記第1のメモリのキャッシュフィルの一方を実行するステップを含む、請求項13に記載の方法。
【請求項１５】
前記QoSポリシー状態に基づいて前記第1のメモリからの前記キャッシュエビクションを実行するステップは、
前記第1のメモリの複数のキャッシュラインに対応する前記複数のQoSIDをランダムにサンプリングするステップと、
前記第1のメモリからのエビクションのために、最大のクォータ超過であるQoSIDに関連付けられる前記複数のキャッシュラインのうちのキャッシュラインを選択するステップと
を含む、請求項14に記載の方法。