JP5666722B2 - メモリ・インターフェース - Google Patents

メモリ・インターフェース Download PDF

Info

Publication number
JP5666722B2
JP5666722B2 JP2013557998A JP2013557998A JP5666722B2 JP 5666722 B2 JP5666722 B2 JP 5666722B2 JP 2013557998 A JP2013557998 A JP 2013557998A JP 2013557998 A JP2013557998 A JP 2013557998A JP 5666722 B2 JP5666722 B2 JP 5666722B2
Authority
JP
Japan
Prior art keywords
memory
slot
memory module
time
read request
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.)
Expired - Fee Related
Application number
JP2013557998A
Other languages
English (en)
Other versions
JP2014508361A (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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of JP2014508361A publication Critical patent/JP2014508361A/ja
Application granted granted Critical
Publication of JP5666722B2 publication Critical patent/JP5666722B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • 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/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • G06F13/3625Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control using a time dependent access
    • 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
    • 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/1605Handling requests for interconnection or transfer for access to memory bus based on arbitration
    • 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/1689Synchronisation and timing concerns

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

本発明は、メモリ・インターフェースに関する。
従来のマスタ/スレーブ・メモリ・アーキテクチャにおいては、プロセッサは、メモリ・コントローラを介して主システム・メモリにアクセスし、このメモリ・コントローラは、各メモリ・トランザクションに関して重要な制御管理を提供する。
メモリ・トランザクションをスケジューリングするために、メモリ・コントローラは、アドレス/コマンド・バス、データ・バンクおよびデータ・バスのようなシステムの様々な構成要素の状態に関する大量の情報を特に管理する。
各メモリ読取りの間、メモリ・コントローラは、メモリ・モジュールに特定のコマンドを発行して、行の有効化、列の選択、ビット・ラインのプリチャージなど、この読取り操作のあらゆる側面を詳細に管理する。
これは、アドレス/コマンド・バスに性能面で負荷をかける。
メモリ・コントローラはまた、潜在的には数百もの独立したメモリ・バンクの多数の状態を追跡して競合のないアクセスを実現する。
適切な時点で、メモリ・コントローラはまた、例えばDRAMリフレッシュなどのメンテナンス・コマンドも発行することがある。
異質の成分からなるメモリ・システムにおいては、メモリ・コントローラは、異なるメモリ・モジュールに対して異なるメンテナンス要件を実施することがある。
さらに、メモリ・コントローラは、共用メモリ・バス上のデータ転送のためにメモリ・モジュール間のアービトレーションを実施する。
大型メモリ・システムの管理は極めて複雑であり、多数の状態を維持すること、および1つのトランザクションを完了するために注意深く協調することが必要とされることは明らかである。
このことはメモリ・コントローラの複雑さを大きく増加させる。
そのため、完全な集中制御を伴うメモリ・コントローラとメモリ・モジュールの間の現在のマスタ−スレーブ・インターフェースは拡張性がなく(not scalable)、将来のコンピュータ・システムに望ましい容量の増加およびより広い帯域の要求を満たすためには適していない。
本発明は、上述した従来技術を改良することを目的とする。
本願発明にかかる方法は、メモリ・モジュールの総メモリ待ち時間に少なくとも部分的に基づいて固定応答時間を求めることと、戻りデータを前記メモリ・モジュールからデータ・バスを介して受け取るために使用可能なタイム・スロットであって、現時点のクロック・サイクルと前記使用可能なタイム・スロットとの時間差が前記固定応答時間より長いタイム・スロットを識別することと、前記使用可能なタイム・スロットを予約することによって第1のスロット予約を生成することと、前記データ・バスを介して前記メモリ・モジュールに、前記第1のスロット予約の時間から前記固定応答時間を減算することによって求められるクロック・サイクルで発行される読取り要求を発行することとを含む。
以下の詳細な記載において図面を参照して、いくつかの実施形態を説明する。
一実施形態によるメモリ・インターフェースのブロック図である。 一実施形態による、スロットに基づくリソース割当てを示すタイミング図である。 一実施形態による、メモリ読取り要求を処理する方法のプロセスフローチャートである。 一実施形態による、メモリ・インターフェースを実施するためのコードを格納する非一時的コンピュータ可読媒体を示すブロック図である。
例示実施形態は、メモリ・アクセスを実施するためのシステムおよび方法に関する。
本明細書で説明する様々な実施形態は、メモリ・コントローラと1つまたは複数のメモリ・モジュールとの間のパケットに基づくメモリ・インターフェースを提供する。
様々なデバイス管理およびメモリ・アクセスのタスクは、従来のマスタ/スレーブ・メモリ・システムにおけるようにメモリ・コントローラではなく、メモリ・モジュールによって実施される。
したがって、各メモリ・モジュールは、従来のマスタ/スレーブ・メモリ・アクセス・システムにおけるメモリ・モジュールと比較してより自律的であり得る。
メモリ操作中、メモリ・コントローラは、メモリ・モジュールに、要求されているメモリ・ブロックのアドレスおよび操作が読取りか書込みかの指示を送る。
一実施形態では、追加の制御情報は何ら用いられない。
読取り要求では、メモリ・モジュールは、要求されたデータを取得し、この要求されたデータを共用バスを介してメモリ・コントローラに送る。
メモリ・インターフェースは、メモリ・コントローラとメモリ・モジュールの間で単一点調停(アービトレーション; arbitration)を用い、これは、共用データ・バス上でデータを転送するための1つまたは複数のタイム・スロット予約として実施される。
メモリ・トランザクションに関連する操作は、このスロット予約を満足するちょうどよいタイミングで行われる。
メモリ・コントローラは、各読取り要求を指定されたタイム・スロット予約で受け取られる戻りデータと関連付けるように構成される。
メモリ・モジュールは、読取り応答が予約されたタイム・スロットでメモリ・コントローラに送られるように固定時間内で各読取り要求を実施する。
データが戻るスロットから時間的に戻って動作するので、すべての他のリソースは自動的にそのトランザクションに対して予約され、いかなる段階でもさらなるアービトレーションは用いられない。
本明細書で説明する技術は、複雑さおよび電力消費が低減された能率的なメモリ・アクセス・インターフェースを提供する。
さらに、以下でさらに説明するように、タイム・スロット予約方式は、メモリ・コントローラにおいてシステム状態が意図的に把握されないことにより生じる或る種の状況を扱うように構成され得る。
図1は、実施形態によるメモリ・インターフェースの例のブロック図である。
このメモリ・インターフェースを参照番号100によって示す。
図1に示すように、メモリ・インターフェース100は、1つまたは複数のメモリ・モジュール104にメモリ・コントローラ106を介して動作可能に結合されるプロセッサ102を含み得る。
プロセッサ102は、頻繁にアクセスされるデータを格納する1つまたは複数のメモリ・キャッシュ108を含み得る。
実施形態では、メモリ・コントローラ106は、プロセッサ102と統合されることがあり、例えば、プロセッサ102と同じダイ上に作製されるか、または、プロセッサ102と同じチップパッケージ内に配置され得る。
実施形態では、メモリ・コントローラ106は、特定用途向け集積回路(ASIC)などの別の集積回路とし得る。
メモリ・コントローラ106は、メモリ・バス110を介してメモリ・モジュール104と結合され得る。
メモリ・モジュール104は、デュアル・インライン・メモリ・モジュール(DIMM)とすることができ、ダイナミック・ランダム・アクセス・メモリ(DRAM)、シンクロナス・ダイナミック・ランダム・アクセス・メモリ(SDRAM)、フラッシュ・メモリなどのような任意の適切なタイプのランダム・アクセス・メモリを含み得る。
各メモリ・モジュール104は、複数のメモリ・バンク112を含み得る。
各メモリ・モジュール104は、メモリ読取り要求の受信と要求されたデータの提供の間のクロック・サイクル数を示す総メモリ待ち時間に関連し得る。
総メモリ待ち時間は、コマンド転送、非競合バンク・アクセス、オンチップ・ネットワーク・アクセス、およびデータの戻りに用いられるクロック・サイクル数に基づき得る。
総メモリ待ち時間は、シリアル・プレゼンス検出(SPD:Serial Presence Detect)などのメモリ・モジュール104の各々の制御レジスタに格納され得る。
異なるメモリ・モジュール104では異なり得る総メモリ待ち時間は、メモリ・コントローラ106に通信され得る。
例えば、システム起動時に、各メモリ・モジュール104の総メモリ待ち時間は、各メモリ・モジュールのシリアル・プレゼンス検出から読み取ることができ、メモリ・コントローラ106の1つまたは複数の制御レジスタに格納され得る。
メモリ・バス110は、任意の数のビット幅とすることができ、メモリ・コントローラ106とメモリ・モジュール104の間でアドレス、データ、およびコマンドを通信するために用いられる。
メモリ・コントローラ106とメモリ・モジュール104は、メモリ・バス110を介して送信されるバス・パケットを介して通信する。
メモリ・バス110は、メモリ・コントローラ106からメモリ・モジュール104に読取り要求および書込み要求を送るために用いられる共用要求チャネルを含み得る。
読取り要求および書込み要求は、情報の中でもとりわけ、例えば、メモリ・アドレスおよび制御データを含み得る。
メモリ・バス110は、メモリ・モジュール104からメモリ・コントローラ106に応答情報を送り返すのに用いられる共用応答チャネルも含み得る。
この応答情報は、例えば、データの中でもとりわけ、要求されたデータまたは書込み肯定応答を含み得る。
一実施形態では、メモリ・バスは、メモリ読取り操作のための共用の要求チャネルおよび応答チャネル、ならびにメモリ書込み操作のための別の共用の要求チャネルおよび応答チャネルを含み得る。
各メモリ・モジュール104は、それ自体のメモリ・バンク112に含まれるメモリを維持し、かつ、そのメモリにアクセスすることに関する様々なタスクを扱うモジュール・コントローラ114を含む。
従来のメモリ・システムと異なり、メモリ・モジュール104は、メモリ・コントローラ106に依存せずに、行の有効化、列の選択、ビット・ライン・プリチャージなどのような低レベル・メモリ・アクセス操作ごとに特定の要求を送出する。
その代わりに、モジュール・コントローラ114は、メモリ・アドレスを含む要求パケットを受け入れ、これらの低レベル・メモリ・アクセス操作を管理する。
モジュール・コントローラ114は、メモリ・リフレッシュや他のメモリ・メンテナンス機能、例えば、フラッシュ・メモリにおけるウェア・レベリングなどを実施するようにも構成され得る。
メモリ・リフレッシュおよびメモリ・アクセスに関係するタイミング制約を扱う論理回路は、メモリ・コントローラ106から取り除き得る。
メモリ書込み操作を実施するために、メモリ・コントローラ106は、メモリ・バス110の要求チャネルを介して一群のメモリ・モジュール104に書込み要求パケットを送る。
この書込み要求パケットは、メモリ・アドレス、操作が書込みであることを示す制御情報、およびこのメモリ・アドレスに格納されるべきデータを含む。
書込み要求パケットは、アドレス・バスの幅およびデータ・バスの幅に応じて1つまたは複数のクロック・サイクルで一群のメモリ・モジュール104に送ることができる。
例えば、64ビット・アーキテクチャでは、メモリ・アドレスは専用のアドレス・バス上を2つのクロック・サイクルで送ることができ、データは8クロック・サイクルで送ることができる。
各メモリ・モジュール104は書込み要求パケットを復号し、この書込み操作に対応するターゲット・モジュール・コントローラ114が書込み要求を処理する。
アドレス指定されたデータ・ブロックが使用可能な場合、データは対応するメモリ・アドレスに書き込まれる。データが成功裏にメモリに書き込まれる場合、肯定応答(ACK)がメモリ・コントローラ106に戻される。
アドレス指定されたデータ・ブロックがビジーである場合、または他の理由で使用可能でない場合、ターゲット・モジュール・コントローラ114は否定応答(NACK)をメモリ・コントローラ106に送り返し得る。
一実施形態では、メモリ書込み操作を各メモリ・モジュール104にバッファすることができ、バッファが一杯になった場合にはメモリ・コントローラ106にNACKを送ることができる。
メモリ・コントローラ106が書込み要求に応答したNACKを受け取ると、メモリ・コントローラ106は、特定数のクロック・サイクルの間待機し、書込み要求パケットを再送し得る。
メモリ読取り操作を実施するためには、メモリ・コントローラ106は、メモリ・バス110の読取り要求チャネルを介して一群のメモリ・モジュール104に読取り要求パケットを送る。
読取り要求パケットは、対応するメモリ・アドレスおよび読取り要求がメモリ読取り操作であることの指示を含む。
一群のメモリ・モジュール104はそれぞれ、読取り要求パケットを復号し、ターゲット・モジュール・コントローラ114が、読取り要求パケットによって示されるメモリ・アドレスから要求されたデータを取得することによって読取り要求を処理する。
次いで、ターゲット・モジュール・コントローラ114は、要求されたデータをデータ・パケットによりメモリ・バス110の共用応答チャネルを介してメモリ・コントローラ106に送る。
典型的なメモリ編成では、メモリ・バンク112への各アクセスは、いくつかのキャッシュ・ラインを読み取り、その結果を行バッファに置く。
後続のアクセスが行バッファの内容に一致するアドレスを有する場合、これらのアクセスは、新たな読取りまたは書込みを行うよりも速く行われる。
このポリシーは、行バッファが最初の要求後も有効なデータを担持し続けるので、オープン・ページを呼ばれる。
オープン・ページ・ポリシーでは、メモリ・バンク112へのアクセス時間は、メモリ・アクセスが行バッファにおいてヒットするかどうかに応じて変化することになる。
このオープン・ページ・ポリシーは、アクセスの流れに強い局所性がある場合に有益である。
行バッファにおいてヒットしない場合、別のページを読み取る前に元のページを閉じる追加のステップが実施され、それによってアクセス時間が長くなる。そのため、ランダム・アクセスでは一般にオープン・ページ・ポリシーが有益でない。
クローズド・ページ・ポリシーでは、メモリ・アクセスが完了し、バンクが次の新たなアクセスの準備をした後でページが閉じられる。
一実施形態では、メモリ・インターフェース100はクローズド・ページ・ポリシーを用いる。
2つ以上のメモリ・モジュールがバス110に同時にアクセスしようとするバス競合を避けるために、メモリ・コントローラ106は、各読取り要求または書込み要求を送る前に、アービトレーション手順を実施する。
このアービトレーション手順の間、メモリ・コントローラ106は、共用メモリ・バス110上の戻りデータを受け取るための1つまたは複数のタイム・スロットを予約する。
メモリ・バス110の応答チャネル上のあらゆる転送は、メモリ・コントローラ106による明示的な要求により生じる。
さらに、クローズド・ページ・メモリ編成では、オープン・ページ・メモリ編成と比較して、アクセス待ち時間はより確定的である。そのため、データ・バス上のタイム・スロットは、メモリ・コントローラ106によって、各メモリ・モジュール104によって指定される既知の総メモリ待ち時間に基づいて予約することができ、戻りデータが使用可能な場合にメモリ・バス110にアクセスするためのメモリ・モジュール104間のさらなるアービトレーションをなくすことができる。
さらに、メモリ・コントローラ106は、特定のタイム・スロットで戻されるデータを、予約されたタイム・スロットに対応する特定の読取り要求または書込み要求と関連付けるように構成される。
そのため、追加のタグを用いてメモリ・コントローラ106の読取り要求または書込み要求をメモリ・モジュール104の対応する戻りデータに相関させることが不要になり得る。
場合によっては、時間内にメモリからデータが読み取られず、対応するタイム・スロット予約でメモリ・コントローラ106にデータが送られないことがある。
例えば、読取り要求が或るメモリ・バンク112を参照し、そのメモリ・バンク112がその時点で前の読取り要求の処理に関与している場合、バンク競合が生じ得る。
この場合、第1の読取り要求が完了するまで第2の読取り要求を開始することができない。
このような場合、メモリ・バンク112が使用可能でないことにより加算される追加の待ち時間により、第2の読取り要求に対する応答が対応するタイム・スロット予約に間に合わないことがある。
他のイベントでも、例えば、読取り要求が到来した時点でメモリ・バンク112が周期的なリフレッシュ操作に関与しているか、または低電力スリープ・モードになっている場合、読取り要求がそのタイム・スロット予約期限に間に合わないことが生じ得る。
メモリ・コントローラ106は、生じ得るバンク競合その他の遅延を予測し得る情報をもたない。
これは、メモリ・コントローラ106がバンクごとの状態の詳細を扱わないためである。
要求されたデータが予約されたタイム・スロットで使用可能でない場合、ターゲット・モジュール・コントローラ114は、予約されたタイム・スロットでメモリ・コントローラ106にNACKを戻し得る。
一実施形態では、メモリ・コントローラ106は、指定されたタイム・スロットでNACKを受け取った場合、例えば指定時間遅延後に、読取り要求パケットを再送し得る。
一実施形態では、メモリ・コントローラ106が採用するスロット予約方式は、メモリ・モジュール104によって戻されるデータが、対応するタイム・スロット予約で時間内に戻されるようには使用可能でない場合を扱うように構成される。
例えば、メモリ・コントローラ106は、一群のメモリ・モジュール104に送られる読取り要求ごとに2つのタイム・スロットを予約し得る。
データが第1のタイム・スロット予約で使用可能でなかった場合には、第2のタイム・スロット予約が用いられ得る。このスロット予約方式は、図2を参照してよりよく理解されよう。
図2は、一実施形態による、スロットに基づくリソース割当てを示すタイミング図である。このタイミング図を参照番号200によって示す。
タイミング図200は、共用データ・バス上のデータ・フローを表す一連のタイム・スロット202を示す。各タイム・スロット202は、メモリ・モジュール104(図1)からメモリ・コントローラ106にデータを戻し得る1つまたは複数のクロック・サイクルに対応する。
各タイム・スロット202のクロック・サイクルを単位とする幅は、キャッシュ・ラインのサイズおよび応答チャネルの幅に基づいて決定し得る。
例えば、64バイトのキャッシュ・ラインおよび64ビットの応答チャネルでは、各読取り要求は、データ・バスが完全にパイプライン化されていると仮定して、4サイクルごとにデュアル・データ・レート送信で行われ得る。
空のボックスとして示される使われていないタイム・スロット204は、現時点で予約されていないタイム・スロット202を表す。
「X」付きのボックスとして示す使用中のタイム・スロット206は、前の読取り要求または書込み要求の結果、現時点で予約されているタイム・スロット202を表す。
プロセッサ102(図1)が発行する読取り要求は、メモリ・コントローラ106によってメンテナンスされる読取り要求キューに格納され得る。
このキューから得られる読取り要求を処理するために、メモリ・コントローラ106は、戻りデータを受け取るために用いられ得る1つまたは複数のタイム・スロット202に対してアービトレーションを行う。
この例では、2つのタイム・スロット202が予約される。ただし、1つ、2つ、3つ、またはそれ以上の数を含めて任意の適切な数のタイム・スロット202が予約され得ることを理解されたい。
使用可能なタイム・スロット202は、一群のメモリ・モジュール104に読取り要求を送る前に、識別され予約され得る。
上記で論じたように、メモリ・コントローラ106は、各メモリ・モジュール104の総メモリ待ち時間に関する情報を受け取る。
実施形態では、各メモリ・モジュール104の総メモリ待ち時間を用いて、メモリ・モジュール104ごとに固定応答時間を求める。
メモリ・モジュール104ごとに指定される固定応答時間は、メモリ・モジュール104の総メモリ待ち時間以上となり得る。
メモリ・モジュール104ごとに求められる固定応答時間は、例えば、システム起動時に行われ得るタイミング構成段階中に、それぞれの対応するメモリ・モジュール104に通信して戻すことができ、制御レジスタに格納し得る。
一実施形態では、固定応答時間は、メモリ・モジュール104によって指定される総メモリ待ち時間と等しくし得る。
この場合、固定応答時間をメモリ・モジュールに通信して戻すことを省略することができ、メモリ・モジュール104によって指定される総メモリ待ち時間を固定応答時間として用い得る。
固定応答時間は、メモリ・モジュール104の総メモリ待ち時間以上であるクロック・サイクル数として表現され得る。
固定応答時間は、メモリ・コントローラ106によって用いることができ、それによって、メモリ・モジュール104から戻りデータを受け取るためのタイム・スロットが識別され予約され得る。
固定応答時間は、各メモリ・モジュール104によって用いることができ、それによって、特定の読取り要求に応答する時点が求められ得る。
図2に、固定応答時間を参照番号208によって示す。
図2に示すように、読取り要求は、矢印210で示す時間ゼロにおいてキューから取得され得る。
使用可能なタイム・スロット202を識別するために、メモリ・コントローラ106は、キューから読取り要求が取得される時間ゼロから少なくとも1つの固定応答時間後の第1の使用可能なタイム・スロット202を識別する。
図2に示すように、矢印212で示す、時間ゼロから固定応答時間後のタイム・スロット202が予約される。
そのため、矢印214で示す次に使用可能なタイム・スロットが第1のスロット予約として選択される。
さらに、第2の使用可能なタイム・スロットが、第1のスロット予約から少なくとも1つの固定応答時間後の第1の利用可能なタイム・スロット202として識別される。
矢印216で示される、第2のスロット予約として識別されたタイム・スロット202は使用されておらず、そのため、第2のスロット予約として用いられ得る。
このタイム・スロット202がすでに使用されている場合、次に使用可能なタイム・スロット202が第2のスロット予約として識別され、かつ、第1のスロット予約は同じ数のタイム・スロットだけ移動しているはずであり、そのため、第1のスロット予約と第2のスロット予約の間の距離が固定応答時間208に等しく保たれる。
さらに、第1のタイム・スロット予約と第2のタイム・スロット予約の時間間隔は固定応答時間208に等しいが、一実施形態では、第1のスロット予約と第2のスロット予約の時間間隔を任意の適切な間隔とすることができ、固定応答時間よりも長くても短くてもよいことを理解されたい。
第2のスロット予約は第1のスロット予約から総メモリ待ち時間1つ分よりも前に位置し得ることも理解されたい。
第1のタイム・スロット予約と第2のタイム・スロット予約の時間間隔が固定応答時間に等しくない場合、第2の固定応答時間を第2のスロット予約に対して指定することができ、タイミング構成段階の間にメモリ・モジュール104に通信し得る。
戻りデータに用いられ得る2つの使用可能なタイム・スロット202を識別した後で、メモリ・コントローラ106は、これら識別されたタイム・スロットを予約し、それによってこれらのタイム・スロットが後続の読取り要求に用いられ得ないようにする。
矢印214で示す第1のタイム・スロット予約は、本明細書では「スロット1」と称し、矢印216で示す第2のタイム・スロット予約は、本明細書では「スロット2」と称することがある。
次いで、メモリ・コントローラ106は、第1のスロット予約および固定応答時間に基づいて求められたクロック・サイクルで読取り要求を一群のメモリ・モジュール104にメモリ・バス110を介して発行する。
例えば、読取り要求は、矢印214で示す第1のスロット予約の時間から固定応答時間208を減算することによって求められるクロック・サイクルで発行され得る。これにより、タイム・スロット予約の位置が、発行された読取り要求から既知の数のタイム・スロット後となり、戻りデータがスロット予約の時間で共用バスに到達することになる。
一実施形態では、(矢印214で示す)第1のスロット予約の時間および(矢印216で示す)第2のスロット予約の時間は、読取り要求パケットによってメモリ・モジュール104に通信されない。
メモリ・コントローラ106は、スロット1 214およびスロット2 216を読取り要求と関連付け、それによって、これらのタイム・スロットでデータが戻されたときに、このデータがプロセッサ102の適切なキャッシュ・ラインに送られ得る。
この戻りデータは、要求されたデータ、言い換えれば、読取り要求によって識別されるメモリ・アドレスにおけるデータを含み得る。
ターゲット・メモリ・バンク112がビジーであるか、または、他の理由で対応するメモリ・モジュール104が要求されたデータをスロット1 214内で戻すことができない場合、メモリ・モジュール104によってスロット1 214内で戻される戻りデータは否定応答(NACK)を含み得る。次いで、要求されたデータはスロット2 216内で戻され得るが、ほとんどの状況では、この時点までにはこの要求されたデータが使用可能になる可能性が高い。
ほとんどの場合、要求されたデータはスロット1 214で戻されることになる。
実施形態では、メモリ・コントローラ106は、要求されたデータがスロット1 214内で戻される場合、スロット2 216の予約が解除され、それによって後続の読取り要求に対してスロット2 216が使用可能になり得るように構成され得る。
こうすると、スロット2 216の予約がメモリ・インターフェース100の全体的な有効帯域幅に大きな影響を及ぼさないようになる。スロット2 216をスロット1 214から少なくとも総メモリ待ち時間1つ分だけ離して配置することによって、スロット2 216の予約を時間内で解除することができ、それによって後続の読取り要求に対してスロット2 216が使用可能になる。このようなスロット1 214とスロット2 216の時間間隔では、スロット2 216の戻りにいくらかの追加の待ち時間が生じ得るが、スロット2 216が無駄になる可能性が小さくなる。
場合によっては、一連の長い読取り要求または書込み要求をすべて同じバンクに向けることがある。
この場合、メモリ・モジュール104は、要求されたデータをスロット1 214でもスロット2 216でも戻すことができないことがある。
これは、各メモリ・アクセスがバンク・アクセス時間に等しい時間だけ離れるからである。メモリ・モジュール104がスロット1 214でもスロット2 216でもデータを戻すことができない場合、スロット1 214およびスロット2 216の両方でNACKを戻すことができ、その後、メモリ・コントローラ106が読取り要求を再試行し得る。
一実施形態では、この読取り要求は、メモリ・コントローラ106によってメンテナンスされる読取り要求キューの最後に置かれる。
一実施形態では、メモリ・コントローラ106は、一定時間の間待機し、新たな組のタイム・スロット202のアービトレーションを行い、読取り要求を再発行し得る。このプロセスは、潜在的に、複数回繰り返すことができ、そのため、キューの占有、無駄なタイム・スロット202、およびアドレス再送信エネルギーの形でリソースが消費されるが、全体的な性能に何らかの大きな影響を及ぼすほど頻繁に起こらないと予想される。
図3は、一実施形態による、メモリ読取り要求を処理する方法のプロセスフローチャートである。
この方法は、参照番号300で示され、図1のメモリ・コントローラ106によって実施され得る。
この方法は、キューから読取り要求が受け取られるブロック302で開始され得る。
ブロック304で、メモリ・コントローラは、先に述べたように、使用可能なタイム・スロットを識別する。
この使用可能なタイム・スロットは、データを保持するメモリ・モジュールに対して指定される固定応答時間よりも後の最も近くにある未使用のタイム・スロットである。
ブロック306で、メモリ・コントローラは、識別されたタイム・スロットを予約し、それによってこれらのタイム・スロットが後続の読取り要求に用いられ得ないようにする。
このようにタイム・スロットを予約すると、戻りデータが予約されたタイム・スロットで戻ることが予想されるサイクル中は他の読取り要求が発行され得ないことが保証される。
ブロック308で、メモリ・コントローラは、メモリ・バス上に読取り要求パケットを発行する。ブロック304で使用可能なタイム・スロットが識別されることにより、読取り要求パケットが発行されるサイクルが決まる。
言い換えれば、読取り要求パケットは、戻りデータがブロック304で識別されたタイム・スロットで戻るサイクルで発行される。
第1の予約されたタイム・スロットは、ターゲット・メモリ・モジュールの固定応答時間によって示されるサイクルの数だけ発行サイクルよりも先にある。
第2の予約されたタイム・スロットは、第1の予約されたタイム・スロットよりもターゲット・メモリ・モジュールの固定応答時間によって示されるサイクルの数だけ先にある。
ブロック310で、メモリ・コントローラによって第1の予約されたタイム・スロットでデータが受け取られる。
このデータは、要求されたデータであることもあるし、NACKなどのメモリ・モジュール104が要求されたデータを第1のタイム・スロットで戻せなかったことを示す指示であることもある。
ブロック312で、第1の予約されたタイム・スロットでNACKが戻されたかどうかに関して判断がなされる。
NACKが第1の予約されたタイム・スロットで戻されなかった場合、プロセスフローは、ブロック314に進むことができ、そこで戻されたデータが処理される。
ブロック314で、ブロック308で発行された読取り要求パケットに関連するプロセッサ・キャッシュ・ラインに要求されたデータを送ることによって戻りデータが処理される。
ブロック316で、第2の予約されたタイム・スロットの予約が解除され、それによってこのタイム・スロットが後続の読取り要求に対して使用可能になる。
次いで、プロセスフローはブロック318に進むことができ、プロセスが終了する。
ブロック312で、第1の予約されたタイム・スロットでNACKが戻される場合、プロセスフローはブロック320に進み得る。
ブロック320で、第2のスロット予約されたタイム・スロットで戻りデータが受け取られる。
ブロック322で、第2の予約されたタイム・スロットでNACKが受け取られたかどうかに関して判断がなされる。
NACKが受け取られなかった場合、プロセスフローはブロック324に進み得る。ブロック324で、ブロック308で発行された読取り要求パケットに関連するプロセッサ・キャッシュ・ラインに要求されたデータを送ることによって戻りデータが処理される。
ブロック322で、第2の予約されたタイム・スロットで第2のNACKが戻された場合、プロセスフローはブロック326に進むことができ、その後、例えば、このような場合に対してメモリ・コントローラ106によって指定される時間遅延後、読取り要求が再試行され得る。
次いで、プロセスフローはブロック304に戻ることができ、そこで、新たな組のタイム・スロットが新たな要求パケットに対して識別され得る。
図4は、一実施形態による、メモリ・インターフェースを実施するためのコードを格納する非一時的コンピュータ可読媒体を示すブロック図である。
この非一時的コンピュータ可読媒体を、全体的に、参照番号400によって示す。非一時的コンピュータ可読媒体400は、プログラミング・コードなどのような、コンピュータにより実施される命令を格納する任意の典型的なストレージ・デバイスに対応し得る。
例えば、非一時的コンピュータ可読媒体400は、不揮発性メモリ、揮発性メモリ、および/または1つもしくは複数のストレージ・デバイスの1つまたは複数を含み得る。
不揮発性メモリの例には、電気的に消去可能なプログラマブル読出し専用メモリ(EEPROM)や読出し専用メモリ(ROM)が含まれるが、これらに限定されるものではない。
揮発性メモリの例には、スタティック・ランダム・アクセス・メモリ(SRAM)やダイナミック・ランダム・アクセス・メモリ(DRAM)が含まれるが、これらに限定されるものではない。ストレージ・デバイスの例には、ハード・ディスク・ドライブ、コンパクト・ディスク・ドライブ、デジタル多目的ディスク・ドライブ、光学ドライブ、およびフラッシュ・メモリ・デバイスが含まれるが、これらに限定されるものではない。
非一時的コンピュータ可読媒体400は、特定用途向け集積回路(ASIC)とすることもできる。
図1に示すプロセッサ102または別のメモリ・コントローラ106とし得るプロセッサ402は、一般に、非一時的コンピュータ可読媒体400に格納される命令を取り出し実行して、本明細書で説明したメモリ・インターフェースの実施形態によるメモリ操作を処理する。
一実施形態では、有形の機械可読媒体400は、プロセッサ402によってコンピュータ・バス404を介してアクセスされ得る。
第1の領域406は、メモリ・モジュールの総メモリ待ち時間に少なくとも部分的に基づいてメモリ・モジュールの固定応答時間を求めるように構成されるタイミング構成モジュールを含み得る。
第2の領域408は、読取り要求に対応する戻りデータを受け取るためのタイム・スロットを識別し予約するように構成されるアービトレータを含み得る。
このアービトレータは、読取り要求に対応する戻りデータを受け取るための使用可能なタイム・スロットを識別することができ、現時点のクロック・サイクルと使用可能なタイム・スロットの時間差が固定応答時間以上である。
次いで、アービトレータは、使用可能なタイム・スロットを予約することによって第1のスロット予約を生成する。
一実施形態では、アービトレータは、読取り要求に対応する戻りデータを受け取るための第2の使用可能なタイム・スロットも識別し、第2の使用可能なタイム・スロットを予約することによって第2のスロット予約も生成する。
第1のスロット予約と第2のスロット予約の時間間隔は固定応答時間に等しくし得る。
第3の領域410は、メモリ・モジュールに読取り要求を発行するように構成されるメモリ・アクセス・インターフェースを含み得る。
この読取り要求は、第1のスロット予約の時間から固定応答時間を減算することによって求められるクロック・サイクルで発行され得る。
一実施形態では、これらスロット予約のいずれも読取り要求パケットによってメモリ・モジュールに通信されない。
メモリ・モジュールは固定応答時間で読取り要求に応答するように構成されるので、戻りデータは第1のスロット予約で共用バス上に到達することになる。
戻りデータは、読取り要求によって要求されるデータまたは固定応答時間によって指定される時間ではデータが使用可能でなかったことの指示を含み得る。
メモリ・アクセス・インターフェースは、第1のスロット予約で戻された戻りデータを対応する読取り要求に関連付ける。
さらに、第1のスロット予約で戻された戻りデータが読取り要求によって識別されるデータである場合、メモリ・アクセス・インターフェースは、第2のスロット予約を解除し得る。
連続するブロックとして示したが、ソフトウェアの構成要素は任意の順序または構成で格納され得る。
例えば、非一時的コンピュータ可読媒体400がハード・ドライブである場合、ソフトウェアの構成要素は不連続セクタまたは重なり合うセクタにさえも格納され得る。
102,402・・・プロセッサ,104・・・メモリ・モジュール,106・・・メモリ・コントローラ,108・・・キャッシュ,112・・・メモリ・バンク,114・・・モジュール・コントローラ,406・・・タイミング構成,408・・・アービトレータ,410・・・メモリ・アクセス,

Claims (15)

  1. 共用バスによって接続された複数のメモリ・モジュールの各々の総メモリ待ち時間に少なくとも部分的に基づいて前記メモリ・モジュールの各々の固定応答時間を求めることと、
    前記メモリ・モジュールへの読取り要求に対応する戻りデータを前記メモリ・モジュールのターゲット・メモリ・モジュールからデータ・バスを介して受け取るために使用可能なタイム・スロットであって、現時点のクロック・サイクルと前記使用可能なタイム・スロットとの時間差が前記ターゲット・メモリ・モジュールの固定応答時間より長いタイム・スロットを識別することと、
    前記使用可能なタイム・スロットを予約することによって第1のスロット予約を生成することと、
    前記データ・バスを介して前記メモリ・モジュールに、前記第1のスロット予約の時間から前記ターゲット・メモリ・モジュールの固定応答時間を減算することによって求められるクロック・サイクルで発行される前記読取り要求を発行することと
    を含む方法。
  2. 前記ターゲット・メモリ・モジュールは、前記固定応答時間に対応する期限で前記データ・バスに前記戻りデータを送るように構成される
    請求項1に記載の方法。
  3. 前記固定応答時間で前記戻りデータを受け取ることに基づいて、前記戻りデータを前記対応する読取り要求と一致させること
    を含む請求項1に記載の方法。
  4. 前記ターゲット・メモリ・モジュールから前記戻りデータを受け取るための前記第1のスロット予約は前記メモリ・モジュールに通信されない
    請求項1に記載の方法。
  5. 前記第1のスロット予約よりも時間的に後の第2の使用可能なタイム・スロットを識別し予約することによって前記第1のスロット予約に関連付けられた前記読取り要求と同一の読取り要求に関連付けられる第2のスロット予約を生成すること
    を含み、
    前記ターゲット・メモリ・モジュールが、前記読取り要求によって示される要求されたデータを、前記要求されたデータが前記第1のスロット予約に到達するための時間内で戻せない場合には、前記読取り要求に対応する第2の戻りデータが前記第2のスロット予約で受け取られる
    請求項1に記載の方法。
  6. 前記第1のスロット予約と前記第2のスロット予約との時間間隔は前記ターゲット・メモリ・モジュールの固定応答時間に等しい
    請求項5に記載の方法。
  7. 共用バスを介してメモリ・コントローラに動作可能に結合される一群のメモリ・モジュール
    を備え、
    前記メモリ・コントローラは、
    前記メモリ・モジュールの各々の総メモリ待ち時間に少なくとも部分的に基づいて前記メモリ・モジュールの各々の固定応答時間を求めるように構成され、
    前記メモリ・モジュールへの読取り要求に対応する戻りデータを前記メモリ・モジュールのターゲット・メモリ・モジュールから受け取るための使用可能なタイム・スロットであって、現時点のクロック・サイクルと前記使用可能なタイム・スロットの時間差が前記ターゲット・メモリ・モジュールの前記固定応答時間より長いタイム・スロットを識別することと、
    前記使用可能なタイム・スロットを予約することによって第1のスロット予約を生成することと、
    前記共用バスを介して読取り要求を発行することと
    によって、前記一群のメモリ・モジュールのターゲット・メモリ・モジュールに読取り要求を発行するように構成される
    システム。
  8. 前記メモリ・モジュールのそれぞれは、
    前記読取り要求によって指示されるメモリ・アドレスから要求されたデータを取得するように構成されるモジュール・コントローラ
    を備える
    請求項7に記載のシステム。
  9. 前記要求されたデータが前記固定応答時間内で使用可能である場合、前記モジュール・コントローラは、前記要求されたデータを含む前記戻りデータを前記ターゲット・メモリ・モジュールの前記固定応答時間で前記共用バスに送る
    請求項8に記載のシステム。
  10. 前記要求されたデータが前記固定応答時間内で使用可能でない場合、前記モジュール・コントローラは、否定応答を含む前記戻りデータを前記ターゲット・メモリ・モジュールの前記固定応答時間で前記共用バスに送る
    請求項8に記載のシステム。
  11. 前記メモリ・コントローラは、前記第1のスロット予約で前記ターゲット・メモリ・モジュールによって戻される前記戻りデータを前記対応する読取り要求と一致させるように構成される
    請求項7に記載のシステム。
  12. 前記メモリ・コントローラは、前記第1のスロット予約に関連付けられた前記読取り要求と同一の読取り要求に関連付けられる第2のスロット予約を生成するように構成され、前記第1のスロット予約と前記第2のスロット予約の時間間隔は前記ターゲット・メモリ・モジュールの固定応答時間に等しい
    請求項7に記載のシステム。
  13. 共用バスによって接続された複数のメモリ・モジュールの各々の固定応答時間を前記メモリ・モジュールの各々の総メモリ待ち時間に少なくとも部分的に基づいて求めることと、
    前記メモリ・モジュールへの読取り要求に対応する戻りデータを前記メモリ・モジュールのターゲット・メモリ・モジュールから受け取るための使用可能なタイム・スロットであって、現時点のクロック・サイクルと前記使用可能なタイム・スロットの時間差が前記ターゲット・メモリ・モジュールの固定応答時間より長いクロック・サイクルを識別することと、
    前記使用可能なタイム・スロットを予約することによって第1のスロット予約を生成することと、
    前記第1のスロット予約の時間から前記ターゲット・メモリ・モジュールの固定応答時間を減算することによって求められるクロック・サイクルで発行される前記読取り要求を前記メモリ・モジュールに発行することと
    をプロセッサに指令するように構成されるコードを含む非一時的コンピュータ可読媒体。
  14. 前記第1のスロット予約で戻される前記戻りデータを前記読取り要求と関連付けるように前記プロセッサに指令するように構成されるコード
    を含み、
    前記第1のスロット予約は前記メモリ・モジュールに通信されない
    請求項13に記載の非一時的コンピュータ可読媒体。
  15. 前記読取り要求に対応する戻りデータを受け取るための第2の使用可能なタイム・スロットを識別することと、
    前記第2の使用可能なタイム・スロットを予約することによって前記第1のスロット予約に関連付けられた前記読取り要求と同一の読取り要求に関連付けられる第2のスロット予約を生成することと
    を前記プロセッサに指令するように構成されるコードを含む請求項13に記載の非一時的コンピュータ可読媒体。
JP2013557998A 2011-03-14 2011-03-14 メモリ・インターフェース Expired - Fee Related JP5666722B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/028357 WO2012125149A1 (en) 2011-03-14 2011-03-14 Memory interface

Publications (2)

Publication Number Publication Date
JP2014508361A JP2014508361A (ja) 2014-04-03
JP5666722B2 true JP5666722B2 (ja) 2015-02-12

Family

ID=46831015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013557998A Expired - Fee Related JP5666722B2 (ja) 2011-03-14 2011-03-14 メモリ・インターフェース

Country Status (5)

Country Link
US (1) US9411757B2 (ja)
EP (1) EP2686774B1 (ja)
JP (1) JP5666722B2 (ja)
KR (1) KR101527308B1 (ja)
WO (1) WO2012125149A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609378B (zh) * 2012-01-18 2016-03-30 中国科学院计算技术研究所 一种消息式内存访问装置及其访问方法
US10116564B2 (en) * 2014-11-10 2018-10-30 Cavium, Inc. Hybrid wildcard match table
US11218410B2 (en) 2014-11-10 2022-01-04 Marvell Asia Pte, Ltd. Hybrid wildcard match table
US11943142B2 (en) 2014-11-10 2024-03-26 Marvell Asia Pte, LTD Hybrid wildcard match table
US9781225B1 (en) * 2014-12-09 2017-10-03 Parallel Machines Ltd. Systems and methods for cache streams
US9866498B2 (en) * 2014-12-23 2018-01-09 Intel Corporation Technologies for network packet cache management
US10810142B2 (en) 2017-05-15 2020-10-20 Xilinx, Inc. Adaptive scheduling of memory requests
US10140222B1 (en) 2017-07-06 2018-11-27 Micron Technology, Inc. Interface components
US10706005B2 (en) * 2017-12-08 2020-07-07 Vmware, Inc. File system interface for remote direct memory access
US10275352B1 (en) * 2017-12-28 2019-04-30 Advanced Micro Devices, Inc. Supporting responses for memory types with non-uniform latencies on same channel
WO2022025318A1 (ko) 2020-07-30 2022-02-03 김영일 Mmi 인터페이스 장치 및 그에 기반한 컴퓨팅 시스템
US11409684B2 (en) 2020-07-31 2022-08-09 Alibaba Group Holding Limited Processing accelerator architectures
US11625341B2 (en) * 2020-08-11 2023-04-11 Alibaba Group Holding Limited Narrow DRAM channel systems and methods

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS58159127A (ja) * 1982-03-17 1983-09-21 Nec Corp メモリ制御装置
JPS60140451A (ja) * 1983-12-28 1985-07-25 Hitachi Ltd メモリバス方式
JPH04119445A (ja) * 1990-09-11 1992-04-20 Canon Inc 計算機システム
US5699520A (en) 1994-08-25 1997-12-16 Hewlett-Packard Company Flow control apparatus and method for a computer interconnect using adaptive credits and flow control tags
US5717931A (en) * 1994-12-20 1998-02-10 Motorola, Inc. Method and apparatus for communicating between master and slave electronic devices where the slave device may be hazardous
JP3563541B2 (ja) 1996-09-13 2004-09-08 株式会社東芝 データ格納装置及びデータ格納方法
JPH11119923A (ja) 1997-10-20 1999-04-30 Fujitsu Ltd データアクセス制御装置及びデータアクセス制御プログラムを記録した媒体
JPH11232040A (ja) * 1998-02-17 1999-08-27 Sony Corp データ出力装置及び方法
US6377582B1 (en) 1998-08-06 2002-04-23 Intel Corporation Decentralized ring arbitration for multiprocessor computer systems
US6738845B1 (en) 1999-11-05 2004-05-18 Analog Devices, Inc. Bus architecture and shared bus arbitration method for a communication device
US6868486B1 (en) * 2000-08-25 2005-03-15 Ncr Corporation Providing multiple memory controllers on a memory bus
US6415369B1 (en) 2000-08-29 2002-07-02 Agere Systems Guardian Corp. Shared devices and memory using split bus and time slot interface bus arbitration
US7336283B2 (en) 2002-10-24 2008-02-26 Hewlett-Packard Development Company, L.P. Efficient hardware A-buffer using three-dimensional allocation of fragment memory
JP2004310394A (ja) * 2003-04-07 2004-11-04 Sharp Corp Sdramアクセス制御装置
US20050080999A1 (en) * 2003-10-08 2005-04-14 Fredrik Angsmark Memory interface for systems with multiple processors and one memory system
WO2007105376A1 (ja) * 2006-03-10 2007-09-20 Matsushita Electric Industrial Co., Ltd. 集積回路、及び集積回路システム
US7925168B2 (en) 2007-10-16 2011-04-12 Hewlett-Packard Development Company, L.P. Optical interconnect system providing communication between computer system components
CN101911288B (zh) 2007-10-23 2012-12-26 惠普开发有限公司 计算机系统设备中的全光学快速分布式仲裁
US7532785B1 (en) 2007-10-23 2009-05-12 Hewlett-Packard Development Company, L.P. Photonic interconnects for computer system devices
WO2010134201A1 (ja) * 2009-05-22 2010-11-25 株式会社日立製作所 半導体装置

Also Published As

Publication number Publication date
US9411757B2 (en) 2016-08-09
EP2686774A4 (en) 2014-08-20
WO2012125149A1 (en) 2012-09-20
JP2014508361A (ja) 2014-04-03
EP2686774A1 (en) 2014-01-22
KR20130136535A (ko) 2013-12-12
EP2686774B1 (en) 2017-02-01
US20140040518A1 (en) 2014-02-06
KR101527308B1 (ko) 2015-06-09

Similar Documents

Publication Publication Date Title
JP5666722B2 (ja) メモリ・インターフェース
EP3729281B1 (en) Scheduling memory requests with non-uniform latencies
EP2223217B1 (en) System, apparatus, and method for modifying the order of memory accesses
US20150046642A1 (en) Memory command scheduler and memory command scheduling method
US20210073152A1 (en) Dynamic page state aware scheduling of read/write burst transactions
JP5305542B2 (ja) 投機的なプリチャージの検出
CN101609438B (zh) 存储器系统、其访问控制方法和计算机程序
TWI710910B (zh) 使用同步化和非同步化記憶體裝置之適應性機制的混合記憶體、其方法及其儲存節點
EP3732578B1 (en) Supporting responses for memory types with non-uniform latencies on same channel
WO2024036985A1 (zh) 存储系统及其计算存储处理器、固体硬盘和数据读写方法
US9620215B2 (en) Efficiently accessing shared memory by scheduling multiple access requests transferable in bank interleave mode and continuous mode
CN110235113B (zh) 存储器控制器和用于数据处理的系统和方法
WO2021075076A1 (ja) 情報処理装置、及び情報処理方法
US20170192720A1 (en) Prioritization of order ids in dram scheduling
US8452920B1 (en) System and method for controlling a dynamic random access memory
JP7572856B2 (ja) 同じチャネルで不均一なレイテンシを有するメモリタイプのための応答のサポート
JPWO2015040750A1 (ja) データ転送装置、情報処理装置及びio制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131105

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140820

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140905

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141117

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: 20141208

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20141210

R150 Certificate of patent or registration of utility model

Ref document number: 5666722

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R360 Written notification for declining of transfer of rights

Free format text: JAPANESE INTERMEDIATE CODE: R360

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees