外部メモリー・インターフェイス・インテル® Stratix® 10 FPGA IPユーザーガイド

ID 683741
日付 9/30/2019
Public
ドキュメント目次

12.4.1. オートプリチャージ・コマンド

オートプリチャージの読み出しおよび書き込みコマンドでは、特定の読み出しまたは書き込みコマンドが現在開かれている行への最後のアクセスであることをメモリーデバイスに示すことができます。

メモリーデバイスは、現在アクセスされているページを自動的に閉じる、すなわちオートプリチャージするため、同じバンクへの次のアクセスが早くなります。オートプリチャージ・コマンドは、高速のランダムなメモリーアクセスを実行する場合に便利です。

タイマー・バンク・プール (TBP) ブロックは動的なページポリシーをサポートします。このポリシーは、ローカル・オートプリチャージ入力へのユーザー入力に応じてページを開いたり閉じたりします。クローズドページ・ポリシーでは、ページはオートプリチャージ・コマンドでアクセスされた後にかならず閉じられます。同じページではないアドレスに対する繰り返される読み出しもしくは書き込みでデータパターンが構成される場合、最適なシステムは、連続ページミスの制限付きアクセスによって許容される最大効率を達成します。効率の低下はアクティブ化とリフレッシュに関連するものに限定されます。このクローズドページ・ポリシーでは、10 %から20 %の効率が期待されます。

オープンページ・ポリシーでは、到着するコマンドのためにページはアクセスされた後に開いた状態で維持されます。同じページ内の連続したアドレスに対して繰り返される読み出しまたは書き込みでデータパターンが構成される場合、最適なシステムは、ページが開いているトランザクションの100 %の効率を達成し (全体の効率の約2 %から3 %を通常消費する定期リフレッシュの影響を無視しています)、優先度が最も高い単一のトランザクションを最小のレイテンシーで行うことが可能です。

Enable Auto-Precharge Controlをオンにすると、オートプリチャージの読み出しまたは書き込みコマンドを発行するようコントローラーに指示できます。次にそのバンクにアクセスする際は、アクセスする行をアクティブにする前にコントローラーがバンクをプリチャージする必要がないため、アクセスが早くなります。

コントローラーから派生するオートプリチャージ・ロジックは、コマンドバッファー内の保留中のコマンドを評価し、最も効率的なオートプリチャージ操作を決定します。オートプリチャージ・ロジックは必要に応じてコマンドを並べ替えることができます。開いているページの追跡ですべてのTBPが占有されている場合、TBPはオンデマンド・フラッシュと呼ばれるスキームを使用し、ページの追跡を停止して着信するコマンドにスペースを作成します。

次の図は、先読みサポートを備えるオートプリチャージと先読みサポートを備えないオートプリチャージを比較しています。

図 97. 先読みオートプリチャージの有無による比較


先読みオートプリチャージ機能を使用しない場合、コントローラーは行を変更するたびにプリチャージで行を閉じ、その後行を開いて書き込みまたは読み出しバーストを行う必要があります。先読みプリチャージ機能を使用する場合、コントローラーは受信するコマンドを評価することにより、オートプリチャージの読み出しまたは書き込みを行うかどうかを決定します。同じバンクの異なる行への後続の読み出しまたは書き込みには、アクティブ化コマンドのみが必要です。

上の図で示されているとおり、コントローラーはサイクル1でバンク0への書き込みコマンドのオートプリチャージを実行します。コントローラーは、サイクル13での次の書き込みがバンク0の別の行に対するものであることを検出し、2データサイクルを節約します。

次の表は、上の図に適用される効率の結果です。

表 340.  先読みオートプリチャージ機能の有無における効率の比較
 

先読みオートプリチャージなし

先読みオートプリチャージあり

データ転送のアクティブサイクル

16

16

サイクルの総数

19

17

効率の概算

84%

94%

使用された先読みオートプリチャージにより、効率が約10 %向上します。

次の図は、オートプリチャージ・コマンドを使用してコントローラーの効率を向上させる方法を示しています。

図 98. オートプリチャージ・コマンドを使用することによる効率の改善


次の一連のイベントは、上の図を説明しています。

  1. コントローラーは、local_ready信号がHighになった直後にローカル側からの読み出し要求を受け入れます。
  2. コントローラーはアクティブ化コマンドを発行し、その後読み出しコマンドを発行します。この例の場合の読み出しコマンド・レイテンシーは約14クロックサイクルです。オートプリチャージを使用しない同様のケースの場合、レイテンシーは17クロックサイクルです (これは、「データ転送」の項で説明されています)。

オートプリチャージ・オプションを使用する場合、次のガイドラインに注意します。

  • オートプリチャージ・コマンドは、コントローラーが次の読み出しまたは書き込みを特定のバンクの異なる行に発行することが分かっている場合に使用します。
  • 行をオートプリチャージした直後にその行を再度開く場合、オートプリチャージによって効率は向上しません。