IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アドバンスト・マイクロ・ディバイシズ・インコーポレイテッドの特許一覧

特表2024-546869メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減
<>
  • 特表-メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減 図1
  • 特表-メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減 図2
  • 特表-メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減 図3
  • 特表-メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減 図4
  • 特表-メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-12-26
(54)【発明の名称】メモリインターフェースにおける周波数遷移と関連付けられた電力消費の低減
(51)【国際特許分類】
   G06F 12/00 20060101AFI20241219BHJP
【FI】
G06F12/00 564C
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2024535505
(86)(22)【出願日】2022-12-15
(85)【翻訳文提出日】2024-07-10
(86)【国際出願番号】 US2022053075
(87)【国際公開番号】W WO2023129400
(87)【国際公開日】2023-07-06
(31)【優先権主張番号】17/565,372
(32)【優先日】2021-12-29
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】591016172
【氏名又は名称】アドバンスト・マイクロ・ディバイシズ・インコーポレイテッド
【氏名又は名称原語表記】ADVANCED MICRO DEVICES INCORPORATED
(74)【代理人】
【識別番号】100108833
【弁理士】
【氏名又は名称】早川 裕司
(74)【代理人】
【識別番号】100111615
【弁理士】
【氏名又は名称】佐野 良太
(74)【代理人】
【識別番号】100162156
【弁理士】
【氏名又は名称】村雨 圭介
(72)【発明者】
【氏名】アンワル カシェム
(72)【発明者】
【氏名】クレイグ ダニエル イートン
(72)【発明者】
【氏名】ポウヤ ナジャフィ アシュティアニ
【テーマコード(参考)】
5B160
【Fターム(参考)】
5B160CC00
(57)【要約】
メモリインターフェースシステムにおける周波数遷移のための方法及びシステムが開示されている。開示される技術は、メモリインターフェースシステムを介してメモリとインターフェースする処理ユニットにおいて、新しい周波数への動作周波数の変更を示す信号を受信することと、システムを通常動作モードから遷移動作モードに切り替えることと、通常動作モード中に使用されるミッションバスを介してシステムのそれぞれのトランシーバの制御及び状態レジスタ(CSR)バンクを更新することと、新しい周波数でシステムを動作させることと、を含む。
【選択図】図5
【特許請求の範囲】
【請求項1】
メモリインターフェースシステムにおける周波数遷移のための方法であって、
前記メモリインターフェースシステムを介してメモリとインターフェースする処理ユニットにおいて、新しい周波数への動作周波数の変更を示す信号を受信することと、
前記メモリインターフェースシステムを通常動作モードから遷移動作モードに切り替えることと、
前記通常動作モード中に使用されるミッションバスを介して、前記メモリインターフェースシステムのそれぞれのトランシーバの制御及び状態レジスタ(CSR)バンクを更新することと、
前記新しい周波数で前記メモリインターフェースシステムを動作させることと、を含む、
方法。
【請求項2】
前記通常動作モードから前記遷移動作モードに切り替えることは、前記ミッションバスを介した前記トランシーバによるデータ交換を停止することを含む、
請求項1の方法。
【請求項3】
前記CSRバンクを更新することは、
動作パラメータのバージョンを前記CSRバンク内のそれぞれのCSRに書き込むことを含み、
前記動作パラメータのバージョンは、前記新しい周波数における動作に従って較正される、
請求項1の方法。
【請求項4】
前記動作パラメータのバージョンは、動作パラメータの複数のサブセットを含み、各サブセットは、受容性CSRと関連付けられた動作パラメータを含み、前記それぞれのCSRは、前記CSRバンクにわたる対応するCSRであり、
各サブセットは、スタティックランダムアクセスメモリ(SRAM)のそれぞれの行に記憶され、
前記書き込むことは、前記SRAMのそれぞれの行の動作パラメータの各サブセットを前記CSRバンクにわたるそれぞれのCSRに並列に書き込むことを含む、
請求項3の方法。
【請求項5】
前記書き込むことは、CSRバンクへの並列書き込みを可能にするブロードキャストフラグを含む制御データを使用して実行される、
請求項4の方法。
【請求項6】
前記書き込むことは、前記複数のサブセットのうち何れかのサブセットが前記CSRバンクにわたって前記サブセットのそれぞれのCSRに書き込まれる前記SRAMの行を選択するためにデコーダによって使用される行セレクタを含む制御データを使用して実行される、
請求項4の方法。
【請求項7】
トレーニング動作モードに切り替えることを含み、
動作パラメータのバージョンは、トレーニングエンジンによって較正され、動作パラメータの各バージョンは、前記メモリインターフェースシステムがそれぞれの周波数で動作する場合に較正される、
請求項1の方法。
【請求項8】
前記動作パラメータのバージョンは、前記SRAMの行のブロックに記憶され、各ブロックは、それぞれの周波数で較正される前記動作パラメータのバージョンを記憶し、前記ブロックの各行は、受容性CSRと関連付けられた動作パラメータを含む前記動作パラメータのサブセットを記憶し、前記それぞれのCSRは、前記CSRバンクにわたる対応するCSRである、
請求項7の方法。
【請求項9】
周波数遷移のためのメモリインターフェースシステムであって、
少なくとも1つのプロセッサと、
命令を記憶するメモリと、を備え、
前記命令は、前記少なくとも1つのプロセッサによって実行されると、
前記メモリインターフェースシステムを介してメモリとインターフェースする処理ユニットにおいて、新しい周波数への動作周波数の変更を示す信号を受信することと、
前記メモリインターフェースシステムを通常動作モードから遷移動作モードに切り替えることと、
前記通常動作モード中に使用されるミッションバスを介して、前記メモリインターフェースシステムのそれぞれのトランシーバの制御及び状態レジスタ(CSR)バンクを更新することと、
前記新しい周波数で前記メモリインターフェースシステムを動作させることと、
を前記プロセッサに行わせる、
メモリインターフェースシステム。
【請求項10】
前記通常動作モードから前記遷移動作モードに切り替えることは、前記ミッションバスを介した前記トランシーバによるデータ交換を停止することを含む、
請求項9のシステム。
【請求項11】
前記CSRバンクを更新することは、
動作パラメータのバージョンを前記CSRバンク内のそれぞれのCSRに書き込むことを含み、
前記動作パラメータのバージョンは、前記新しい周波数における動作に従って較正される、
請求項9のシステム。
【請求項12】
前記動作パラメータのバージョンは、動作パラメータの複数のサブセットを含み、各サブセットは、受容性CSRと関連付けられた動作パラメータを含み、前記それぞれのCSRは、前記CSRバンクにわたる対応するCSRであり、
各サブセットは、スタティックランダムアクセスメモリ(SRAM)のそれぞれの行に記憶され、
前記書き込むことは、前記SRAMのそれぞれの行の動作パラメータの各サブセットを前記CSRバンクにわたるそれぞれのCSRに並列に書き込むことを含む、
請求項11のシステム。
【請求項13】
前記書き込むことは、CSRバンクへの並列書き込みを可能にするブロードキャストフラグを含む制御データを使用して実行される、
請求項12のシステム。
【請求項14】
前記書き込むことは、前記複数のサブセットのうち何れかのサブセットが前記CSRバンクにわたって前記サブセットのそれぞれのCSRに書き込まれる前記SRAMの行を選択するためにデコーダによって使用される行セレクタを含む制御データを使用して実行される、
請求項12のシステム。
【請求項15】
前記命令は、
トレーニング動作モードに切り替えることを前記プロセッサに行わせ、
動作パラメータのバージョンは、トレーニングエンジンによって較正され、動作パラメータの各バージョンは、前記メモリインターフェースシステムがそれぞれの周波数で動作する場合に較正される、
請求項9のシステム。
【請求項16】
前記動作パラメータのバージョンは、前記SRAMの行のブロックに記憶され、各ブロックは、それぞれの周波数で較正される前記動作パラメータのバージョンを記憶し、前記ブロックの各行は、受容性CSRと関連付けられた動作パラメータを含む前記動作パラメータのサブセットを記憶し、前記それぞれのCSRは、前記CSRバンクにわたる対応するCSRである、
請求項15のシステム。
【請求項17】
メモリインターフェースシステムにおける周波数遷移のための方法を実行するために少なくとも1つのプロセッサによって実行可能な命令を含むコンピュータ可読記憶媒体であって、
前記方法は、
前記メモリインターフェースシステムを介してメモリとインターフェースする処理ユニットにおいて、新しい周波数への動作周波数の変更を示す信号を受信することと、
前記メモリインターフェースシステムを通常動作モードから遷移動作モードに切り替えることと、
前記通常動作モード中に使用されるミッションバスを介して、前記メモリインターフェースシステムのそれぞれのトランシーバの制御及び状態レジスタ(CSR)バンクを更新することと、
前記新しい周波数で前記メモリインターフェースシステムを動作させることと、を含む、
コンピュータ可読記憶媒体。
【請求項18】
前記通常動作モードから前記遷移動作モードに切り替えることは、前記ミッションバスを介した前記トランシーバによるデータ交換を停止することを含む、
請求項17のコンピュータ可読記憶媒体。
【請求項19】
前記CSRバンクを更新することは、
動作パラメータのバージョンを前記CSRバンク内のそれぞれのCSRに書き込むことを含み、
前記動作パラメータのバージョンは、前記新しい周波数における動作に従って較正される、
請求項17のコンピュータ可読記憶媒体。
【請求項20】
前記動作パラメータのバージョンは、動作パラメータの複数のサブセットを含み、各サブセットは、受容性CSRと関連付けられた動作パラメータを含み、前記それぞれのCSRは、前記CSRバンクにわたる対応するCSRであり、
各サブセットは、スタティックランダムアクセスメモリ(SRAM)のそれぞれの行に記憶され、
前記書き込むことは、前記SRAMのそれぞれの行の動作パラメータの各サブセットを前記CSRバンクにわたるそれぞれのCSRに並列に書き込むことを含む、
請求項19のコンピュータ可読記憶媒体。
【請求項21】
前記書き込むことは、CSRバンクへの並列書き込みを可能にするブロードキャストフラグを含む制御データを使用して実行される、
請求項20のコンピュータ可読記憶媒体。
【請求項22】
前記書き込むことは、前記複数のサブセットのうち何れかのサブセットが前記CSRバンクにわたって前記サブセットのそれぞれのCSRに書き込まれる前記SRAMの行を選択するためにデコーダによって使用される行セレクタを含む制御データを使用して実行される、
請求項20のコンピュータ可読記憶媒体。
【請求項23】
トレーニング動作モードに切り替えることを含み、
動作パラメータのバージョンは、トレーニングエンジンによって較正され、動作パラメータの各バージョンは、前記メモリインターフェースシステムがそれぞれの周波数で動作する場合に較正される、
請求項17のコンピュータ可読記憶媒体。
【請求項24】
前記動作パラメータのバージョンは、前記SRAMの行のブロックに記憶され、各ブロックは、それぞれの周波数で較正される前記動作パラメータのバージョンを記憶し、前記ブロック内の各行は、受容性CSRと関連付けられた動作パラメータを含む前記動作パラメータのサブセットを記憶し、前記それぞれのCSRは、前記CSRバンクにわたる対応するCSRである、
請求項23のコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願)
本願は、2021年12月29日に出願された米国特許出願第17/565,372号の利益を主張するものであり、その内容は、参照により本明細書に組み込まれる。
【0002】
2021年12月29日に出願された米国特許出願第17/564,327号、発明の名称「DRAM specific interface calibration via programmable training sequences」、及び、2021年12月29日に出願された米国特許出願第17/564,426号、発明の名称「variable tick for DRAM interface calibration」は、その全体が、参照により本明細書に組み込まれる。
【背景技術】
【0003】
電力消費を低減するために、現代のプロセッサは、作業負荷の性質に基づいてそれらの動作周波数を変更する。例えば、ビデオをストリーミングする場合に、又は、ゲームをプレイする場合に、オペレーティングシステムは、比較的高い周波数で動作するようにプロセッサを設定することができ、一方で、編集アプリケーションを実行する場合に、オペレーティングシステムは、比較的低い周波数で動作するようにプロセッサを設定することができる。同様に、メモリインターフェース等のファームウェア構成要素は、その作業負荷に基づいて異なる周波数で動作するように設定され得る。低電力消費を維持するために、1つの周波数から別の周波数への遷移を容易にするハードウェア及び機構は、電力効率及び時間効率が高くなければならない。
【0004】
添付の図面とともに例として与えられる以下の説明から、より詳細な理解が可能になる。
【図面の簡単な説明】
【0005】
図1】本開示の1つ以上の特徴が実装され得る、例示的なデバイスのブロック図である。
図2】本開示の1つ以上の特徴が実装され得る、メモリへの例示的なインターフェースのブロック図である。
図3】本開示の1つ以上の特徴が実装され得る、メモリへの別の例示的なインターフェースのブロック図である。
図4】本開示の1つ以上の特徴が実装され得る、例示的なスタティックランダムアクセスメモリ(static random-access memory、SRAM)利用のブロック図である。
図5】本開示の1つ以上の特徴が実行され得る、メモリインターフェースシステムにおける周波数遷移のための例示的な方法のフローチャートである。
【発明を実施するための形態】
【0006】
1つの動作周波数から別の動作周波数への電力効率の良い遷移を容易にするメモリインターフェースシステム及び方法が提供されている。システムのインターフェース回路を制御する動作パラメータは、様々な動作周波数でトレーニングされ、スタティックランダムアクセスメモリ(SRAM)に記憶される動作パラメータの周波数依存バージョン(frequency-dependent versions)がもたらされる。システムがその動作周波数を新しい周波数に変更するようにトリガされると、インターフェースされたメモリとの間でデータを交換するためにその通常動作モードでシステムによって使用される同じバスが、SRAMからインターフェース回路と関連付けられたそれぞれの制御及び状態レジスタ(control and state register、CSR)に(新しい周波数で較正された)動作パラメータのバージョンを転送するために利用される。既存のバスのそのような再利用は、ハードウェア及びダイ空間を節約し、それによって、電力消費を低減する。更に、既存のバスの再利用は、CSRの再プログラミング時間を短縮する。SRAMは、それぞれのCSRへの動作パラメータの並列書き込みを可能にするように構成されている。SRAMを使用して、動作パラメータのバージョンを記憶し、同時に、システムが遷移される周波数に対応するバージョンでCSRを更新することにより、より高速でより電力効率の良い遷移が可能となる。
【0007】
本開示の態様は、メモリインターフェースシステムにおける周波数遷移のための方法を説明する。方法は、システムを介してメモリとインターフェースする処理ユニットにおいて、動作周波数の新しい周波数への変更を示す信号を受信することと、システムを通常動作モードから遷移動作モードに切り替えることと、通常動作モード中に使用されるミッションバスを通してシステムのそれぞれのトランシーバのCSRバンクを更新することと、新しい周波数でシステムを動作させることと、を含む。
【0008】
また、本開示の態様は、周波数遷移のためのメモリインターフェースシステムについて説明する。システムは、少なくとも1つのプロセッサと、命令を記憶するメモリと、を備える。命令は、少なくとも1つのプロセッサによって実行された場合に、プロセッサに、システムを介してメモリとインターフェースする処理ユニットにおいて、動作周波数の新しい周波数への変更を示す信号を受信させ、システムを通常動作モードから遷移動作モードに切り替えさせ、通常動作モード中に使用されるミッションバスを通してシステムのそれぞれのトランシーバのCSRバンクを更新させ、新しい周波数でシステムを動作させる。
【0009】
更に、本開示の態様は、メモリインターフェースシステムにおける周波数遷移のための方法を実行するために、少なくとも1つのプロセッサによって実行可能な命令を含む非一時的なコンピュータ可読記憶媒体について説明する。方法は、システムを介してメモリとインターフェースする処理ユニットにおいて、動作周波数の新しい周波数への変更を示す信号を受信することと、システムを通常動作モードから遷移動作モードに切り替えることと、通常動作モード中に使用されるミッションバスを通してシステムのそれぞれのトランシーバのCSRバンクを更新することと、新しい周波数でシステムを動作させることと、を含む。
【0010】
図1は、本開示の1つ以上の特徴が実装され得る、例示的なデバイス100のブロック図である。デバイス100は、例えば、コンピュータ、ゲームデバイス、ハンドヘルドデバイス、セットトップボックス、テレビ、携帯電話、又は、タブレットコンピュータであり得る。デバイス100は、プロセッサ110、加速処理ユニット(accelerated processing unit、APU)120、ストレージ130、入力デバイス140、メモリ150、及び、出力デバイス160を含み得る。また、デバイス100は、入力ドライバ145及び出力ドライバ165を含み得る。プロセッサ110及びAPU120の各々は、中央処理ユニット(central processing unit、CPU)の1つ以上のコア及びAPUの1つ以上のコアを表し得る。メモリ150は、ランダムアクセスメモリ(random access memory、RAM)、SRAM、ダイナミックランダムアクセス(dynamic random access memory、DRAM)、キャッシュ、又は、それらの組み合わせを含む揮発性又は不揮発性メモリを表し得る。プロセッサ110、APU120、メモリ150、又は、それらのサブセットは、同じダイ上又は個別のダイ上に配置され得る。一態様では、デバイス100は、図1に示されていない追加の構成要素を含み得る。
【0011】
APU120は、グラフィックス処理ユニット(graphics processing unit、GPU)、すなわち、例えば、単一命令複数データ(single instruction multiple data、SIMD)パラダイムに従って計算を実行するように構成された1つ以上の並列処理ユニットを備えるシェーダシステムを表し得る。APU120は、プロセッサ110から計算コマンド及びグラフィックスレンダリングコマンドを受け入れて、それらの計算及びグラフィックスレンダリングコマンドを処理し、及び/又は、ディスプレイ(出力デバイス160)に出力を提供するように構成され得る。
【0012】
ストレージ130は、固定又はリムーバブルストレージ(例えば、ハードディスクドライブ、ソリッドステートドライブ、光ディスク、フラッシュドライブ)を含み得る。入力デバイス140は、例えば、キーボード、キーパッド、タッチスクリーン、タッチパッド、検出器、マイクロフォン、加速度計、ジャイロスコープ、生体認証スキャナ、又は、ネットワーク接続(例えば、無線IEEE802信号の受信のための無線ローカルエリアネットワークカード)を表し得る。出力デバイス160は、例えば、ディスプレイ、スピーカ、プリンタ、触覚フィードバックデバイス、1つ以上の光、アンテナ、又は、ネットワーク接続(例えば、無線IEEE802信号の送信のための無線ローカルエリアネットワークカード)を表し得る。一態様では、入力ドライバ145は、プロセッサ110(又はAPU120)及び入力デバイス140と通信し、入力デバイス140からプロセッサ110(又はAPU120)への入力の受信を容易にする。一態様では、出力ドライバ165は、プロセッサ110(又はAPU120)及び出力デバイス160と通信し、プロセッサ110(又はAPU120)から出力デバイス160への出力の送信を容易にする。
【0013】
本明細書で開示されるメモリインターフェースシステムは、3つの動作モード(又はフェーズ)で動作するように構成されている。第1のモードは、トレーニング動作モードである。このモードにおいて、システムは、動作パラメータが較正されるトレーニングを実行するように構成されている(例えば、2021年12月29日に出願された米国特許出願第17/564,327号、発明の名称「DRAM specific interface calibration via programmable training sequences」、及び、2021年12月29日に出願された米国特許出願第17/564,426号、発明の名称「variable tick for DRAM interface calibration」に開示されているように)。第2のモードは、通常動作モードである。このモードでは、システムは、その意図された使用において機能し、メモリへの信頼できるインターフェースを提供する。すなわち、システムは、プロセッサによって開始される読み取り動作及び書き込み動作を含む、メモリへのアクセスを容易にするように構成されている。この通常モードの間、それぞれのインターフェース回路と関連付けられたそれぞれのCSRに記憶された較正された動作パラメータは、アクセスが実行されるインターフェース回路を調整する。第3のモードは、遷移動作モードである。このモードでは、システムは、CSRに記憶された動作パラメータを、システムが遷移される周波数で較正された動作パラメータの別のバージョンで更新することによって、動作周波数の変更に応答するように構成されている。メモリインターフェースシステムは、図2図5を参照して更に説明される。
【0014】
図2は、本開示の1つ以上の特徴が実装され得る、メモリへの例示的なインターフェース200のブロック図である。図2は、プロセッサ210及びキャッシュシステム220(例えば、図1のプロセッサ110又はAPU120及びそれらのそれぞれのキャッシュシステム)を示す。追加的に、メモリコントローラ230、メモリインターフェースシステム240、及び、DRAM290(例えば、図1のメモリ150の一部)が示されている。トレーニング動作モード中、メモリインターフェースシステム240のトレーニングエンジン280は、様々な動作周波数で、CSRバス260(データライン262及びアドレスライン264を含む)を介して、データパス240.1~240.Nの動作パラメータを較正するように構成されている。通常動作モード中、プロセッサ210とDRAM290との間のデータ交換は、ミッションバス250(ルート250.1~250.Nを含む)を介して実行される。システム200の動作周波数が新しい周波数に変更されると、メモリインターフェースシステム240は、遷移モードに入る。遷移動作モード中、データパス240.1~240.Nの動作パラメータは、トレーニングモード中に新しい周波数で較正されたそれぞれの動作パラメータで更新される。すなわち、(通常動作モード中にそれぞれのトランシーバ241.1~241.Nの動作を調整する)CSR242.1~242.Nは、以下で更に開示されるように、例えば、CSRバス260を介して、遷移モードで更新される。
【0015】
キャッシュシステム220は、メモリ290からコピーされたデータブロック(すなわち、ライン)を各々が含むキャッシュの階層を含み得る。典型的には、プロセッサ210があるアドレスのデータにアクセスすることを必要とする場合、プロセッサ210は、そのアドレスに関する読み出し(又は書き込み)要求をキャッシュシステム220に送信する。これに応じて、キャッシュシステム220は、そのアドレスからのデータがキャッシュ階層内のラインのうち何れかに既に記憶されているかどうかをチェックする。データがラインのうち何れかに記憶されている場合(すなわち、ヒットイベント)、データは、プロセッサ210が読み出す(又は書き込む)ために利用可能である。しかしながら、キャッシュ階層内のラインの何れもアドレスに対応するデータを記憶していない場合(すなわち、ミスイベント)、キャッシュシステム220は、メモリコントローラ230及びメモリインターフェースシステム240を介してDRAM290からデータを含むデータブロックをフェッチする。フェッチされたデータブロックは、キャッシュ階層のラインのうち何れか(おそらく、最近アクセスされていないデータを記憶するライン)に記憶され、(メモリからフェッチされた別のデータブロックによって置換されるまで)プロセッサ210による将来の読み出し(又は書き込み)動作のためにアクセス可能である。
【0016】
通常動作モードでは、メモリインターフェースシステム240は、プロセッサ210からの読み取り要求又は書き込み要求に続くキャッシュシステム220内のミスイベントに応じて、メモリコントローラ230によってトリガされる読み取り動作及び書き込み動作を容易にする。そのために、メモリインターフェースシステム240は、専用バス、すなわち、ミッションバス250を介して、DRAM290との間で信号の送受信を行う。図2に示すように、メモリコントローラ230及びDRAM290は、ミッションバス250のN個のルート250.1~250.Nを介してN個のデータパス240.1~240.Nによって接続される。本明細書に開示されるように、他の動作モードにおいてミッションバスを再利用することは、ミッションバスがCSRバンクの各々に出入りするルートに沿って既に統合されている(すなわち、新たなワイヤを割り当てる必要がない)ので、有利である。その上、ミッションバスは、本明細書で更に説明するように、CSRバンクに再書き込みするのに十分な高速で、メモリからの読み取り及びメモリへの書き込みのために動作する。
【0017】
システム240のデータパス240.1~240.Nは、メモリコントローラ230とDRAM290との間のデータの交換を可能にするように設計された回路を含む。各データパス、例えば、240.1は、集合的にトランシーバ241.1と呼ばれる受信機及び送信機を含む。通常、受信機は、対応するDRAMのピンからアナログ信号を受信し、その信号をデジタルデータに変換し、そのデータをインバウンドスタックにバッファする。同様に、送信機は、アウトバウンドスタックからポップアウトされたデジタルデータを受信し、そのデータをアナログ信号に変換し、その信号を対応するDRAMのピンに送信する。各トランシーバにはCSRのバンクが関連付けられている。バンク、例えば、242.1は、CSRを含み、その各々は、トランシーバ241.1回路の態様を制御する(又は調整する)動作パラメータを記憶する。
【0018】
トレーニング動作モードにおいて、動作パラメータの値は、システム240のトレーニングエンジン280によって実行されるトレーニングプロセスにおいて決定(較正)される。トレーニングエンジン280は、ソフトウェア、ハードウェア又はファームウェアによって実装され得る(例えば、2021年12月29日に出願された米国特許出願第17/564,327号、発明の名称「DRAM specific interface calibration via programmable training sequences」、及び、2021年12月29日に出願された米国特許出願第17/564,426号、発明の名称「variable tick for DRAM interface calibration」に説明されているように)。
【0019】
したがって、トランシーバを調整する動作パラメータ(例えば、電圧オフセット及びタイミング遅延)の較正は、DRAM290との信頼できるインターフェースを確保するために必要である。システム240は、ブート時にトレーニングモードに入るようにトリガされてもよく、コンピューティング環境及び製造(DRAM、DRAMにアクセスする処理ユニット及びそれらの間の通信リンクと関連付けられた)における変動を補償する再較正を周期的に実行するようにトリガされ得る。したがって、トレーニングエンジン280は、動作パラメータの値が較正されるトレーニングプロセスを実行するように構成されている。トレーニングエンジン280は、シリアルCSRバス260を介して、較正された値をそれぞれのCSR242.1~242.Nに書き込む。
【0020】
CSRバス260は、バンク242.1~242.N内の全てのCSRに接続されたアドレスライン264及びデータライン262を含む。したがって、CSRは、連続してアクセスすることができる。すなわち、アドレスライン264にそのCSRのアドレスを供給し、且つ、データライン262にそのCSRに記憶されるデータを供給することによって、一度に1つのCSRにアクセスすることができる。CSRのアドレスは、典型的には、バンクを選択するバンクアドレスと、選択されたバンク内の1つのCSRを選択するベースアドレスと、を含む。シリアル通信のこの標準的な方法は、全てのCSRを更新するためにいくつかのクロックサイクルを必要とする。例えば、N=64個のCSRバンクがあり、各バンクがP=100個のCSRを含む場合、これらのN・P=6400個のCSRを更新するために6400クロックサイクルが必要とされる(1つのCSRへの書き込みには1クロックサイクルかかると仮定する)。
【0021】
従来、電力消費を低減するために、処理ユニット(例えば、ユニット210~240)は、(通常動作モード中に)複数の動作周波数で動作し、現在の作業負荷の性質に基づいて(遷移動作モードを介して)1つの周波数から別の周波数に遷移するように設計され得る。したがって、メモリインターフェースシステム240における動作パラメータの較正は、可能な動作周波数の各々において実行されるべきであり、較正された動作パラメータの結果として生じる周波数依存バージョンは、周波数変更として容易に利用可能にされるべきである。
【0022】
1つの手法では、各CSRハードウェアが複製され、複数のCSRを有し、各々が、特定の周波数で動作する場合にそれぞれのトランシーバを調整させるために使用される動作パラメータを記憶する。したがって、M個の異なる動作周波数においてメモリインターフェースシステム240の信頼性のある性能を確実にするために、CSRバンク、例えば、242.1内の各CSRは、M個の異なる周波数に対応するM個のレジスタに複製されるべきである。そのようなシナリオでは、トレーニングエンジン280は、M個の周波数の各々においてメモリインターフェースシステム240のトレーニングを実行し、次いで、CSRバス260を介してそれぞれのCSRに較正された動作パラメータを記憶するように構成されている。例えば、N=64個のCSRバンクがあり、各バンクが100個の動作パラメータの(10個の異なる周波数について)10個のバージョンを記憶する、M・P=10・100個のCSRを含む場合、合計N・M・P=64,000個のCSRは、シリアルCSRバス260を介して書き込まれなければならない。上述したように、CSRへの書き込みに1クロックサイクルかかると仮定すると、トレーニングプロセスがトリガされるたびに全てのCSR242.1~242.Nを更新するのに、64,000クロックサイクルかかることになる。しかし、この手法の利点は、メモリインターフェースシステム240が新しい動作周波数に遷移するようにトリガされる場合に、新しい周波数において較正された動作パラメータが、対応するCSRにおいて容易に利用可能であることである。しかしながら、この利点は、CSRハードウェアの複製及び複製されたハードウェアが占有するダイ空間によって引き起こされる電力消費の増加を犠牲にしている。
【0023】
代替手法では、各CSRハードウェアを(M個の異なる周波数に対応する)M個のCSRに複製する代わりに、トレーニングエンジン280は、較正された動作パラメータのM個のバージョンをメモリ(例えば、メモリインターフェースシステム240にローカルな)に記憶することができる。次いで、メモリインターフェースシステム240が周波数遷移を実行するようにトリガされる毎に、システム240が遷移する新しい周波数に対応する較正された動作パラメータのバージョンが、メモリからそれぞれのCSRにコピーされ得る。この代替形態は、CSRを複製する必要性を省く。しかしながら、CSRバス260を使用するCSRバンク242.1~242.Nへの書き込みは、依然として連続して実行され、周波数遷移がトリガされる毎に、N・Pのクロックサイクルを消費する。CSRを複製する必要性を回避するにもかかわらず、この代替形態では、遷移動作モード中にシステム240が費やす処理時間は、CSRの数に比例して増加する。
【0024】
各CSRを複製する(したがって、ハードウェア構成要素の増加をもたらす)か、又は、動作パラメータの周波数依存バージョンをメモリに記憶し、周波数遷移時に動作パラメータのバージョンをそれぞれのCSRにコピーする(したがって、処理時間の増加をもたらす)かの何れかである上述した手法は、遷移動作モードを通して1つの動作周波数から別の動作周波数に遷移することと関連付けられた電力消費の増加に寄与する。本明細書で開示する態様は、図3を参照しながら説明したように、周波数遷移と関連付けられた電力非効率性を緩和する。
【0025】
図3は、本開示の1つ以上の特徴が実装され得る、メモリへの別の例示的なインターフェース300のブロック図である。図3は、プロセッサ310及びキャッシュシステム320(例えば、図1のプロセッサ110又はAPU120及びそれらのそれぞれのキャッシュシステム)を示す。追加的に、メモリコントローラ330、メモリインターフェースシステム340、及び、DRAM390(例えば、図1のメモリ150の一部)が示されている。トレーニング動作モード中、メモリインターフェースシステム340のトレーニングエンジン380は、様々な動作周波数で、CSRバス360(アドレスライン362及びデータライン364を含む)を介して、データパス340.1~340.Nの動作パラメータを較正するように構成されている。これらの動作パラメータは、SRAM370に記憶される。通常動作モード中、プロセッサ310とDRAM390との間のデータ交換は、ミッションバス350(ルート350.1~350.Nを含む)を介して実行される。システム300の動作周波数が新しい周波数に変更されると、メモリインターフェースシステム340は、遷移モードに入る。遷移動作モード中、データパス340.1~340.Nの動作パラメータは、トレーニングモード中に新しい周波数で較正されたそれぞれの動作パラメータで更新される。すなわち、(通常動作モード中にそれぞれのトランシーバ341.1~341.Nの動作を調整する)CSR342.1~342.Nは、以下で更に開示されるように、ミッションバス350を隔てたマルチプレクサ344、343を介して、SRAM370に記憶されたそれぞれの動作パラメータで更新される。
【0026】
キャッシュシステム320は、メモリ390からコピーされたデータブロック(すなわち、ライン)を各々が含むキャッシュの階層を含み得る。図2を参照して説明したように、あるアドレス内のデータにアクセスするためのプロセッサ310の要求320に応じて、ヒットイベント(データがキャッシュシステム320のラインのうち何れかに存在する場合)又はミスイベント(データがキャッシュシステム320のラインの何れにも存在しない場合)が発生し得る。ミスイベントに続いて、キャッシュシステム320は、プロセッサ310によって要求されたデータを含むデータブロックをDRAM390から(メモリコントローラ330及びメモリインターフェースシステム340を介して)フェッチする。
【0027】
通常動作モードでは、メモリインターフェースシステム340は、プロセッサ310からの読み取り要求又は書き込み要求に続くキャッシュシステム320内のミスイベントに応じて、メモリコントローラ330によってトリガされる読み取り動作及び書き込み動作を容易にする。そのために、メモリインターフェースシステム340は、ミッションバス350を介して、DRAM390との間で信号の送受信を行う。メモリインターフェースシステム340は、メモリコントローラ330とDRAM390との間のデータの交換を可能にするように各々が設計されたデータパス340.1~340.Nを含む。各データパス、例えば、340.1は、受信機及び送信機、すなわち、トランシーバ341.1を含む。通常、受信機は、対応するDRAMのピンからアナログ信号を受信し、その信号をデジタルデータに変換し、そのデータをインバウンドスタックにバッファする。同様に、送信機は、アウトバウンドスタックからポップアウトされたデジタルデータを受信し、そのデータをアナログ信号に変換し、その信号を対応するDRAMのピンに送信する。各トランシーバ、例えば、340.1には、CSRのバンク、例えば、342.1が関連付けられている。各バンク、例えば、342.1内のCSRは、トランシーバ回路341.1の動作態様を制御(又は調整)する動作パラメータを記憶する。動作パラメータの値は、システム340がトレーニングモードにある場合に、トレーニングエンジン380によって実行されるトレーニングプロセスにおいて決定(較正)される。
【0028】
図2を参照して上述したように、動作パラメータが較正されるプロセスであるメモリインターフェースのトレーニングは、DRAMとの信頼できるインターフェースを確実にするために定期的に実行されなければならない。更に、システム340が異なる動作周波数で動作するように遷移される場合に、メモリインターフェース信頼性を維持するために、M個の異なる周波数に関して較正が実行されるべきである。したがって、システム340の通常動作モードは、システム340がトレーニング動作モードに入る(例えば、システムがブートする場合、及び、その後周期的にトリガされる)場合、又は、システム340が遷移動作モードに入る場合(新しい動作周波数への遷移を容易にするために)に、中断され得る。
【0029】
本明細書で開示されるように、周波数遷移と関連付けられた電力消費を低減するために、メモリインターフェースシステム340は、SRAM370、アップストリームマルチプレクサ344.1~344.N、及び、ダウンストリームマルチプレクサ343.1~343.Nを更に含む。SRAM370は、動作パラメータの周波数依存バージョンを記憶するためにトレーニングエンジン380によって使用される。レジスタと比較して、SRAMは、物理的空間(10倍小さい)及び電力消費(30倍効率的)に関して、データ記憶のより効率的な媒体である。SRAMに記憶された動作パラメータの各バージョンは、データパス340.1~340.NがM個の周波数のうち何れかで動作する場合に動作パラメータの値を較正するトレーニングプロセスに基づいて生成される。
【0030】
システム340が新しい動作周波数に遷移する遷移動作モードでは、ミッションバス350にわたるトランシーバ341.1~341.Nを介したデータ交換が停止され、代わりにミッションバス350が、(新しい周波数に対応する)動作パラメータのバージョンをそれぞれのCSR342.1~342.Nにコピーするために使用される。例えば、遷移動作モードでは、アップストリームマルチプレクサ344.1は、SRAM370からミッションバスルート350.1にデータを送るように設定される(すなわち、ワイヤ375.1がアップストリームマルチプレクサ344.1によって選択され、メモリコントローラ330をオフに切り替える)。他方で、ダウンストリームマルチプレクサ343.1は、ミッションバスルート350.1上で受信されたデータをCSRバンク342.1に送るように設定される(すなわち、ミッションバスルート350.1が選択され、CSRバス360からのデータライン362をオフに切り替える)。したがって、遷移動作モード中、SRAMからのデータは、ワイヤ375.1~375.Nから、それぞれのミッションバスルート350.1~350.Nを介して、それぞれのCSRバンク342.1~342.Nに送られる。CSRバス360によって提供されるシリアルアクセスとは対照的に、本明細書で開示されるように、SRAMからCSRバンクへのデータの書き込みは、以下で説明されるように、並列に実行され得る。
【0031】
図4は、本開示の1つ以上の特徴が実装され得る、例示的なSRAM利用400のブロック図である。図4は、ミッションバス350及びCSRバスのアドレスライン364を使用して、SRAM370に記憶されたそれぞれの動作パラメータを用いて、全てのバンク342.1~342.Nにわたる対応するCSRが並列に更新される方法を示す。動作パラメータの並列書き込みを可能にするために、SRAMアレイ410は、以下のように行に構成されている。アレイ410内の各行は、同じ周波数でトレーニングされた、全てのバンクにわたる対応するCSRと関連付けられた、較正された動作パラメータのデータを含む。例えば、第1の行には、全てのバンク(B1(342.1)~BN(342.N))の第1のレジスタCSR1にコピーされる動作パラメータが記憶されている。同様に、第2の行(図示せず)には、全てのバンク(B1(342.1)~BN(342.N))の第2のレジスタCSR2にコピーされる動作パラメータが記憶されている。データパス340.1~340.Nが周波数F1440.1で動作している場合に、P個の第1の行の動作パラメータ(それぞれ、CSR1~CSRPにコピーされる)が較正された。次に、データパス340.1~340.Nが周波数F2440.2で動作していた場合に較正された動作パラメータがSRAMアレイ410に記憶され、以下同様である。
【0032】
制御データ450は、周波数セレクタ450.1、ベースアドレス450.2、バンクアドレス450.3及びブロードキャストフラグ450.4等のデータ要素を含む書き込み動作を実行するために使用される。図4に示されるように、周波数セレクタ450.1及びベースアドレス450.2は、動作パラメータが全てのバンク342.1~342.Nにわたって対応するCSRに書き込まれるSRAM410内の行を選択するために使用され得る。そして、ベースアドレス450.2、バンクアドレス450.3及びブロードキャストフラグ450.4は、それらの対応するCSRを選択するために使用され得る。したがって、(CSRバンク内のP個のCSRの各々を選択することができる)ベースアドレス450.2は、周波数セレクタ450.1とともに、行(例えば、周波数F1における影付き行CSRP)を選択するためにデコーダ420によって使用され得る。選択された行データは、(図3を参照して説明したように、ミッションバスを介して)CSRバンク342.1~342.Nにわたる対応するCSRに書き込まれる。CSRバンクにわたるそれらの対応するCSRは、ベースアドレス450.2、バンクアドレス450.3及びブロードキャストフラグ450.4内の制御データが供給されるそれらのアドレスライン364を介して書き込まれることが可能にされる。ブロードキャストフラグ450.4がオフである場合、アドレスライン364に供給されるバンクアドレス450.3に基づいて、1つのバンクが書き込みのために有効になることに留意されたい。しかしながら、全てのバンクへの同時書き込みを可能にするために、ブロードキャストフラグ450.4がオンである場合、全てのバンクが書き込みのために有効にされ、したがって、全ての対応するレジスタ(ベースアドレスによって決定される)への並列書き込みが有効にされる。
【0033】
例えば、動作周波数F1から動作周波数F2への遷移が発生する場合、メモリインターフェースシステム340は、動作周波数F2440.2に対応する動作パラメータで、(動作周波数F1440.1に対応する動作パラメータを現在記憶している)CSRバンク342.1~342.Nを更新する。そのために、メモリインターフェースシステム340は、周波数F2440.2に対応する行330.1~330.Pに関してP個の書き込みコマンドを発行する。したがって、例えば、行330.1に記憶されたデータを全てのバンク342.1~342.N内の第1のレジスタに書き込むために、制御データ450が設定され、これにより、1)デコーダがベースアドレス450.2及び周波数セレクタ450.1に基づいて行330.1を選択し、2)ベースアドレス450.2は、全てのバンク342.1~342.N内の第1のレジスタを選択し、3)ブロードキャストフラグ450.4は、全てのバンク342.1~342.Nへの並列書き込みを可能にするためにアクティブ化される。ベースアドレス450.2、バンクアドレス450.3及びブロードキャストフラグ450.4は、CSRバス360のアドレスライン364に供給されることに留意されたい。上述したようにSRAMを使用することにより、DRAMへのインターフェースにおいて使用されるバンクの数(又はトランシーバの数)であるNに比例して、周波数遷移に応じてCSRを更新するのにかかる時間が減少する。
【0034】
図5は、本開示の1つ以上の特徴が実行され得る、メモリインターフェースシステムにおける周波数遷移のための例示的な方法500のフローチャートである。方法500によれば、メモリインターフェースシステム340は、ステップ510において、システム340を介してメモリとインターフェースする処理ユニットにおける動作周波数の変更(新しい周波数への)を示す信号を受信する。これに応じて、システム340は、ステップ520において、通常動作モードから遷移動作モードに切り替わる。切り替えは、通常動作モード中に使用されるミッションバスルート350.1~350.Nを介したトランシーバ341.1~341.Nによるデータ交換を停止することを含む。システム340が遷移モードにある場合に、ステップ530において、それぞれのトランシーバ341.1~341.NのCSRバンク342.1~342.Nがミッションバス350を介して更新される。CSRバンクの更新に続いて、ステップ540において、システム340は、新しい周波数で動作するように構成されている。上述したように、CSRバンクを更新するために、動作パラメータのバージョンがCSRバンク内のそれぞれのCSRに書き込まれる。書き込まれたバージョンは、システム340が新しい周波数で動作した場合に較正された動作パラメータを含む。動作パラメータのバージョンは、動作パラメータの複数のサブセットに分割され得る。各サブセットは、受容性CSRと関連付けられた動作パラメータを含み、受容性CSRは、CSRバンクにわたって存在する対応するCSRである。そのような各サブセットは、SRAMのそれぞれの行に記憶され得る。このようにして、各サブセット内のデータは、SRAM内のサブセットのそれぞれの行から、CSRバンクにわたるサブセットのそれぞれのCSRに並列に書き込むことができる。
【0035】
方法500は、トレーニング動作モードに切り替えることを更に含む。そのモードでは、動作パラメータのバージョンは、トレーニングエンジン380によって較正される。動作パラメータの各バージョンは、システムがそれぞれの周波数で動作する場合に較正される。較正に続いて、動作パラメータの結果として生じるバージョンは、SRAM410内の行のブロックに記憶される。各ブロックは、それぞれの周波数で較正された動作パラメータのバージョンを記憶し、ブロック内の各行は、ブロック内に記憶された動作パラメータのサブセットを記憶する。サブセットは、受容性CSRと関連付けられた動作パラメータを含み、これらのそれぞれのCSRは、対応するCSRであり、各々が異なるバンクに存在する。
【0036】
本明細書の開示に基づいて、多くの変形が可能であることを理解されたい。特徴及び要素が特定の組み合わせで上述されているが、各特徴又は要素は、他の特徴及び要素を用いずに単独で、又は、他の特徴及び要素を用いて若しくは用いずに様々な組み合わせで使用することができる。
【0037】
提供される方法は、汎用コンピュータ、プロセッサ又はプロセッサコアにおいて実行することができる。好適なプロセッサとしては、例として、一般目的プロセッサ、特殊目的プロセッサ、従来型プロセッサ、デジタル信号プロセッサ(digital signal processor、DSP)、複数のマイクロプロセッサ、DSPコアと関連付けられた1つ以上のマイクロプロセッサ、コントローラ、マイクロコントローラ、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)回路、任意の他のタイプの集積回路(integrated circuit、IC)、及び/又は、状態マシンが挙げられる。そのようなプロセッサは、処理されたハードウェア記述言語(hardware description language、HDL)命令及びネットリストを含む他の中間データ(コンピュータ可読媒体に記憶させることが可能な命令等)の結果を使用して製造プロセスを構成することによって製造することができる。そのような処理の結果はマスクワークとすることができ、次いで、このマスクワークを半導体製造プロセスにおいて使用して、実施形態の態様を実装するプロセッサを製造する。
【0038】
本明細書に提供される方法又はフローチャートは、汎用コンピュータ又はプロセッサによる実行のために非一時的なコンピュータ可読記憶媒体に組み込まれるコンピュータプログラム、ソフトウェア又はファームウェアにおいて実行することができる。非一時的なコンピュータ可読記憶媒体の例としては、読み取り専用メモリ(read only memory、ROM)、ランダムアクセスメモリ(RAM)、レジスタ、キャッシュメモリ、半導体メモリデバイス、内蔵ハードドライブ及びディスク及びリムーバブルディスク等の磁気媒体、磁気光学媒体、並びに、CD-ROMディスク及びデジタル多用途ディスク(digital versatile disk、DVD)等の光学媒体が挙げられる。
図1
図2
図3
図4
図5
【国際調査報告】