JP2009515262A - 完全バッファリングされたdimm読み出しデータによる書き込み確認の代替 - Google Patents
完全バッファリングされたdimm読み出しデータによる書き込み確認の代替 Download PDFInfo
- Publication number
- JP2009515262A JP2009515262A JP2008539133A JP2008539133A JP2009515262A JP 2009515262 A JP2009515262 A JP 2009515262A JP 2008539133 A JP2008539133 A JP 2008539133A JP 2008539133 A JP2008539133 A JP 2008539133A JP 2009515262 A JP2009515262 A JP 2009515262A
- Authority
- JP
- Japan
- Prior art keywords
- memory
- command
- memory module
- response
- module
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4204—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
- G06F13/4234—Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1673—Details of memory controller using buffers
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)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
【課題】完全バッファリングされたDIMM読み出しデータによる書き込み確認の代替を提供する。
【解決手段】メモリコントローラは、単一の非エラー応答によってリプレイキューから二つのエントリーをリタイアさせるスキームを用いる。リプレイキューにおけるエントリーが有利に、従来のシステムにおけるよりも早くにリタイアされ得るので、リプレイキューのサイズが最少化される。
【選択図】図2
【解決手段】メモリコントローラは、単一の非エラー応答によってリプレイキューから二つのエントリーをリタイアさせるスキームを用いる。リプレイキューにおけるエントリーが有利に、従来のシステムにおけるよりも早くにリタイアされ得るので、リプレイキューのサイズが最少化される。
【選択図】図2
Description
本発明は、全般的にメモリシステム、コンポーネント、及び方法に関し、特に、リプレイキューにおけるエントリーを効率的にリタイアさせるための完全にバッファリングされたメモリコントローラに関する。
従来のコンピュータメモリサブシステムは、メモリモジュールを用いて実現されることが多い。コンピュータ回路基板は、プロセッサにメモリコントローラを集積するか、あるいはプロセッサを別体のメモリコントローラに結合することにより組み立てられる。集積型のメモリコントローラあるいは別体のメモリコントローラを備えるプロセッサは、メモリバスにより一以上のメモリモジュール電気コネクタに接続される(バスは、回路基板に永久的に実装される後付けのメモリにも接続される)。システムメモリは、電気コネクタに挿入されるメモリモジュールの数とそれらの記憶容量に従って構成される。
プロセッサの速度が上昇するにつれ、メモリバス速度はマルチポイント(「マルチドロップ」と呼称されることが多い)メモリバスモデルでは最早実施可能でないレベルにまで圧迫されている。図1を参照すると、当面の解決策の一つにおいては、バッファを備えるメモリモジュールを用いた「ポイントツーポイント」メモリバスモデルが用いられている。図1において、コンピュータシステム100はホストプロセッサ105を含み、ホストプロセッサ105は自身を多様な周辺機器(システムメモリ以外は不図示)へと接続するメモリコントローラ110とフロントサイドバス108を介して通信する。メモリコントローラ110は、高速ポイントツーポイントバス112を介して第一のバッファ付きメモリモジュール0と通信する。第二のバッファ付きメモリモジュール1は、システム100に含まれる場合、第二の高速ポイントツーポイントバス122を第一のメモリモジュール0と共有する。メモリモジュール1の後段に更に高速ポイントツーポイントバスとバッファ付きメモリモジュールを連結してシステムメモリの容量を更に増やすこともできる。
バッファ付きメモリモジュール0は、これらメモリモジュールの代表的なものである。メモリモジュールバッファ(MMB)146により、モジュール0はホスト側メモリチャネル112とダウンストリームメモリチャネル122に接続される。複数のメモリデバイス(ダイナミックランダムアクセスメモリデバイス、つまり「DRAM」、例としてDRAM144を図示する)は、メモリデバイスバス(図1においては不図示)を介してメモリモジュールバッファ146に接続され、システム100においてアドレス指定可能な読み出し/書き込みメモリとして機能する。
メモリ転送の典型例として、メモリモジュール1上の物理メモリに対応するメモリアドレスへとプロセッサ105がアクセスする必要がある場合を考える。メモリリクエストがメモリコントローラ110へと発行され、それを受けてメモリコントローラ110はメモリコマンドをメモリモジュール1に宛ててホストメモリチャネル112へと送出する。また、メモリモジュール110は、メモリコマンドに対応する、リプレイキュー111へのエントリー115を指定する。キュー111においては、エントリー115の前に、先行メモリコマンドに対応する先行エントリーが存在する場合もある。
処理の容易性を図るべく、二つの条件を満足する場合にだけエントリー115をキュー111からリタイアさせてよいとされる。第一に、メモリコントローラ110は、エントリーに対応したエラーでない応答を得られた場合にだけ当該エントリーをリタイアさせる。第二に、メモリコントローラ110は、先行エントリーの全てがリタイアされている場合にだけエントリーをリタイアさせる。
バッファ付きメモリモジュール0のMMB146はコマンドを受信し、必要であればそれを再同期処理してバッファ付きメモリモジュール1のMMB148に向けてメモリチャネル122へと再送出する。MMB146はコマンドが自身に宛てられていることを検出すれば、それを復号化して、DRAMコマンドとシグナリングを当該バッファの制御下にあるDRAMへと伝送する。メモリ転送が成功すれば、MMB148はメモリモジュール0を介してメモリコントローラ110へと非エラー応答を返送する。メモリコントローラ110は、非エラー応答を受信するとエントリー15をリプレイキュー111からリタイアさせるが、それは先行エントリーの全てが既にリタイアされている場合だけである。
経済上の理由によりリプレイキュー111のサイズは制限される。したがって、可能な限り迅速にエントリーをリタイアさせる必要がある。高速ポイントツーポイントバス112のノースバウンドのバンド幅に制限があるために書き込み確認(アクノレッジ)等の非エラー応答の受信が遅れる場合がある。このような書き込み確認の受信の遅れにより、エントリー115の後にリプレイキュー111に入力された後続エントリーのリタイアが遅れる場合がある。あるエントリーとその後続エントリーのリタイアが遅れることによりリプレイキュー111において新たなエントリー用に用意されるスペースの量が制限される。
上記の制限によりメモリコントローラのリプレイキューにおける未使用スペースの量が制限される。以下の開示は、当該問題およびその他の問題を克服するものである。
図2は、単一の非エラー応答に応じて二つのリプレイキューエントリーをリタイアさせるメモリコントローラ200の一例を示す。メモリコントローラ200は、発行エンジン201、メモリ202、及びリプレイキュー203を含む。発行エンジン201は、図3のフローチャートに記載する機能を実行する。図2に示す信号のタイミングを図4aのタイミング図に示す。
メモリコントローラ200は、メモリコマンド204aをメモリモジュール1へと送信する。本例においては、メモリコマンド204aは、複数サイクルに亘る読み出し動作の開始アドレスを含むバースト長8の読み出しコマンドである。その他の例においては、メモリコマンドはいかなる種類の読み出しコマンドであってもよい。メモリコマンド204aに対応するエントリー204bがリプレイキュー203において生成される。メモリコマンド204aを受信すると、メモリモジュール1は開始アドレスから開始してデータの読み出しを始める。メモリモジュール1はデータの読み出しを実行しつつ読み出したデータを非エラーメモリ応答204cに含めて返送する。
次に、メモリコントローラ200はメモリコマンド205aをメモリモジュール1のノース側に存在するメモリモジュール0へと送信する。本例においては、メモリコマンド205aは、四つの連続ストローブにおいてメモリモジュール0へと書き込みデータを供給するバースト長4の書き込みコマンドである。その他の例においては、メモリコマンド205aはいかなる種類の書き込みコマンドであってもよい。メモリコマンド205aに対応するエントリー205bがリプレイキュー203において生成される。エントリー205bはエントリー204bに続くエントリーである。メモリコマンド205aを受信すると、メモリモジュール0はメモリコマンド205aとともに供給されるデータの書き込みを開始する。メモリモジュール0は、メモリモジュール1がメモリコマンド204bに応じてデータを読み出すのと並行してデータの書き込みを開始する。
メモリコントローラ200は、メモリコマンド206aをメモリモジュール0のサウス側に存在するメモリモジュール1へと送信する。メモリコマンド206aは、メモリコマンド204aに類似したバースト読み出しコマンドである。メモリコマンド206aに対応するエントリー206bがリプレイキュー203において生成される。
メモリモジュール0は、バースト長4の書き込みコマンド205aに応じたデータ書き込みを完了する。しかし、メモリモジュール1はメモリモジュール0のメモリモジュールバッファ(MMB)245を介して読み出しデータの送信を継続しているので、メモリモジュール0が非エラー応答205cを送信するのに当てることができるバンド幅が存在しない。読み出しデータを含む非エラー応答204cがノースバウンド方向の全バンド幅を消費してしまう。したがって、メモリコントローラ200は、この時点においては書き込み確認を含んだ非エラー応答を確認することはない。
メモリコマンド204aに応じたデータの読み出し後、メモリモジュール1はメモリコマンド204cに応じたデータの読み出しを開始する。メモリモジュール1はデータの読み出しを実行しつつ、読み出したデータを非エラーメモリ応答206cに含めて返送する。非エラー応答206cはノースバウンド方向の全バンド幅を消費し、非エラー応答204cの直後に送信される。従来のFBDプロトコルによると、メモリコントローラ200は、バンド幅に空きが出るまで非エラー応答205cが確認されるのを待ち続けなければならない。本明細書において用いるFBDプロトコルは、たとえばJEDECのウェブサイトにおけるFBD仕様のいずれかのバージョンである。非エラー応答205cには、待機パターン、書き込み確認等の明示的な信号が含まれる。
メモリコントローラ200は、非エラー応答204c受信する。処理中の先行エントリーが存在しないので、エントリー204bはリプレイキュー203からリタイアされる。メモリコントローラ200はエントリー205bに対応する明示的な非エラー応答205cをまだ受信していないが、エントリー205bに対応しない非エラー応答204cに応じてエントリー205bをもリタイアさせてよい。これは、メモリコントローラ200が非エラー応答205cを待ち続けなければならない従来のFBDプロトコルとは対照的である。したがって、単一の非エラー応答204cに応じて二つのエントリーがリタイアされ得る。
エントリー205bは、以下の事象の発生により、対応しない非エラー応答204cの受信に応じてリタイアさせてよい。第一に、エントリー205bは、読み出し処理されたメモリモジュールのノース側に存在するメモリモジュールへの書き込みに対応する。第二に、書き込みは、サウス側のメモリモジュールからの読み出しと並行して発生した。第三に、メモリコマンド205aに対応する警告が受信されなかった。メモリコマンド205aに対応する警告は、もし存在すれば非エラー応答204cに優先する。したがって、非エラー応答204cの受信は、警告が発行されず、メモリコマンド205aが成功したに相違ないであろうことについて、メモリコントローラ200に対し、暗黙的な信号となる。したがって、エントリー205bは有利にも対応する非エラー応答205cが受信されるより早くにリタイアさせてよい。
次に、非エラー応答206cが受信される。メモリキュー203には先行エントリーが存在しないので、有利にもエントリー206bを即座にリタイアさせてよい。メモリコントローラ200がエントリー205bに対応する非エラー応答205cを待機していてエントリー205bがリタイアされていなければ、先行エントリー205bが存在するので206bのリタイアが遅れる。したがって、メモリコントローラ200は、従来のメモリコントローラに比較して早くにエントリー205bと206bをリタイアさせる。
最後に、書き込み確認を含む非エラー応答205cを受信してよい。メモリコントローラ200はメモリコマンド205aが成功していることを既に示唆されているので、明示的な非エラー応答205cの確認をせずにおいてもよい。上記の事象が存在することによりオプションとして明示的な書き込み確認205cを無視することにより、サウスバウンドの利用率(occupancy)が増大する利点が得られる。サウスバウンドの利用率の増大により、同様なリプレイキューの制限を有する従来のシステムよりも最大バンド幅が50%も増える。
上記のプロセスを図3のフローチャートに示す。図3を参照すると、ブロック300においてメモリコントローラ200は読み出しコマンドを発行して第一メモリモジュールの読み出しを実行する。ブロック301において、書き込みコマンドを発行して、第一メモリモジュールよりもノース側の第二メモリモジュールに対して並列に書き込みを実行する。次に、ブロック302において、メモリコントローラ200は読み出しコマンドに対応する第一のエントリーをリプレイキュー203において生成する。ブロック303において、書き込みコマンドに対応する第二のエントリーを生成する。
次に、ブロック304において、メモリコントローラ200は読み出しコマンドに対応する非エラー応答を待機する。ブロック305において非エラー応答が受信されれば、メモリコントローラ200はブロック306Aにおいて両エントリーをリタイアさせる。非エラー応答が受信されなければ、メモリコントローラ200はブロック306Bにおいて分岐をリセットしてリプレイキュー203の内容を再実行する。
図4Aは、図2に示すシステムのタイミング図を示す。DIMM1は、メモリコントローラ200から読み出しコマンド204aを受信し、タイミング6においてデータ読み出しを開始する。DIMM0は書き込みコマンド205aを受信し、DIMM1のデータ読み出しと並行してタイミング7においてデータ書き込みを開始する。DIMM1がデータを読み出している最中、DIMM1からの転送204cはタイミング7において始まる。転送204cはタイミング10まで継続するので、メモリコントローラ200は明示的な書き込み確認205cの即時の確認を妨げられる。
一方、DIMM1はタイミング9においてメモリコントローラ200から読み出しコマンド206aを受信し、読み出しを開始する。DIMM1が転送204cを完了した直後のタイミング11において転送206cは開始する。転送204cと転送206cがノースバウンドの全バンド幅を消費しているので、メモリコントローラ200は明示的な書き込み確認205cを未だに確認できずにいる。
一方、メモリコントローラ200は、タイミング8においてDIMM1からの読み出しデータの転送204cの受信を開始する。タイミング11において転送が完了すると、メモリコントローラ200はエントリー204bをリプレイキュー203からリタイアさせる。メモリコントローラ200は、エントリー205bに対応しない非エラー応答204cを受信したことに応じてエントリー205bもリプレイキュー203からリタイアさせる。非対応の非エラー応答204cはメモリコマンド205aに応答して送信されたものでなく、エントリー205bには対応しない。それにも拘わらず、エントリー205bをリタイアさせる。最後に、タイミング15においてメモリコントローラ200は非エラー応答206cを受信しエントリー206bをリタイアさせる。
第一の空きタイミング15においてメモリコントローラ200が書き込み確認205cを確認する必要はない。書き込み確認205cを明示的に確認しないことにより他の転送にのためにバンド幅を確保してよい。
図4Bは、図2に示すものとは異なる一連の転送についてのタイミング図を示す。メモリコントローラ200はDIMM1にタイミング6において第一読み出しを開始させ、DIMM0にタイミング7において書き込みを開始させる。また、メモリコントローラ200はDIMM0にタイミング10において第二読み出しを開始させる。
メモリコントローラ200は、タイミング8において第一読み出しに対応する非エラー応答の受信を開始する。第一読み出しに対応する非エラー応答がタイミング11において完全に受信されると、第一読み出しと書き込みに関連するエントリーが共にリタイアされる。換言すると、書き込みに関連するエントリーは、対応しない非エラー応答に応じてリタイアされる。最後に、メモリコントローラ200は、タイミング15において第二読み出しに関連するエントリーをリタイアさせる。
上記のシステムにおいては、上記動作のいくつかあるいは全てを実行する専用のプロセッサシステム、マイクロコントローラ、プログラマブル論理回路、あるいはマイクロプロセッサを用いることができる。上記動作いくつかをソフトウェアにより実施し、その他の動作をハードウェアにより実施してよい。
利便性を考慮して、多様に相互接続される機能ブロックあるいは互いに別個のソフトウェアモジュールとして上記動作を記載した。しかしこれは必須ではなく、これら機能ブロックあるいはモジュールを単一の論理回路、あるいは境界を明確化しないプログラムもしくは動作へと等価に統合する場合があってもよい。いずれの場合においても、機能ブロックとソフトウェアモジュール、あるいはフレキシブルなインタフェースを有する特性をそれらだけで実施することもでき、ハードウェア形態あるいはソフトウェア形態のその他の動作と組み合わせて実施することもできる。
本発明の原理をその好適実施形態により記載し図示したが、これら原理から逸脱することなく本発明を配置と詳細において変更してよいことは明らかである。以下の請求項の趣旨と範囲に存在する全ての変更と多様化を権利請求するものとする。
Claims (22)
- ポイントツーポイントメモリバスを介してメモリモジュールから送信される単一の応答に応じて、リタイアメントキューにおける少なくとも二つのエントリーをリタイアさせる制御ロジックを含むメモリコントローラ。
- 前記少なくとも二つのエントリーのうち、第一エントリーは、第一メモリモジュールに読み出しを実行させる第一メモリコマンドに対応し、
前記少なくとも二つのエントリーのうち、第二エントリーは、第二メモリモジュールに書き込みを実行させる第二メモリコマンドに対応する、
請求項1に記載のメモリコントローラ。 - 前記第一メモリモジュールは、前記メモリモジュールであり、前記第二メモリモジュールのサウス側に存在する、
請求項2に記載のメモリコントローラ。 - 前記単一の応答は、前記第一エントリーと前記第一メモリコマンドに対応する、
請求項3に記載のメモリコントローラ。 - 前記単一の応答は、前記第一メモリモジュールから読み出されたデータを含む、
請求項4に記載のメモリコントローラ。 - 前記第一メモリコマンドは、前記第一メモリモジュールの読み出しの実行と並行して前記第二メモリモジュールに書き込みを実行することを指示する、
請求項5に記載のメモリコントローラ。 - 第一メモリモジュールの読み出しを行う第一メモリコマンドを送信する段階と、
前記第一メモリモジュールよりノース側に存在する第二メモリモジュールの書き込みを行う第二メモリコマンドを送信する段階と、
前記第一メモリコマンドに対応する第一キューエントリーと、前記第二メモリコマンドに対応する第二キューエントリーとを指定する段階と、
前記第一メモリモジュールから発生する一の応答に応じて両キューエントリーをリタイアさせる段階と
を含む方法。 - 前記応答は、前記第一メモリモジュールから読み出されたデータを含む、
請求項7に記載の方法。 - 前記応答は、前記第二メモリコマンドに対応しない、
請求項7に記載の方法。 - 前記第二メモリコマンドに応答した書き込み確認を受信しない、
請求項7に記載の方法。 - 前記第一メモリモジュールの読み出しの実行と並行して前記第二メモリモジュールにデータを書き込む段階を更に含む請求項7に記載の方法。
- 前記第一メモリコマンドは、バースト長8の読み出し、又はバースト長4のオープンページ読み出しの連続(back to back)ペアを含む、
請求項7に記載の方法。 - サウスバウンドメモリ読み出しコマンドを受信し、該サウスバウンドメモリ読み出しコマンドをメモリモジュール用のメモリモジュールバッファに転送し、メモリ書き込みコマンドを受信し、前記メモリ読み出しコマンドに対応するノースバウンド応答をメモリコントローラに転送し、前記メモリ書き込みコマンドに対応するエラーでない応答を送信するかを判断する制御ロジックを含むメモリ装置。
- 前記メモリコントローラは、前記ノースバウンド応答に基づいて書き込みが発生したと判断する、
請求項13に記載のメモリ装置。 - 前記応答は、前記メモリモジュールから読み出されたデータを含む、
請求項13に記載のメモリ装置。 - 前記メモリコントローラは、前記メモリモジュールから読み出されたデータを含む前記ノースバウンド応答に応じて、リプレイキューにおける二つのエントリーをリタイアさせる、
請求項13に記載のメモリ装置。 - 第一メモリコマンドを第一メモリモジュールに送信する制御ロジックを含み、
前記第一メモリモジュールは、前記第一メモリコマンドに応答して読み出しを実行し、
前記制御ロジックは、第二メモリコマンドを、前記第一メモリモジュールよりサウス側に存在する第二メモリモジュールに送信し、
前記第二メモリモジュールは、前記第二メモリコマンドに応答して書き込みを実行し、
前記制御ロジックは、前記第一メモリコマンドに対応する第一キューエントリーと、前記第二メモリコマンドに対応する第二キューエントリーとを指定し、
前記制御ロジックは、前記第一メモリモジュールから発生する一の応答に応じて両キューエントリーをリタイアさせる、
システム。 - 前記応答は、前記第一メモリモジュールから読み出されたデータを含む、
請求項17に記載のシステム。 - 前記応答は、前記第二メモリコマンドに対応しない、
請求項17に記載のシステム。 - 前記第二メモリコマンドに応じた書き込み確認は受信されない、
請求項17に記載のシステム。 - 更に、前記制御ロジックは、前記第一メモリモジュールの読み出しの実行と並行して前記第二メモリモジュールにデータを書き込む、
請求項17に記載のシステム。 - 前記第一メモリコマンドは、バースト長8の読み出し、又はバースト長4の読み出しの連続(back to back)ペアを含む、
請求項18に記載のシステム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/321,322 US7444479B2 (en) | 2005-12-28 | 2005-12-28 | Fully buffered DIMM read data substitution for write acknowledgement |
PCT/US2006/047322 WO2007078711A2 (en) | 2005-12-28 | 2006-12-11 | Fully buffered dimm read data substitution for write acknowledgement |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2009515262A true JP2009515262A (ja) | 2009-04-09 |
Family
ID=38137330
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008539133A Pending JP2009515262A (ja) | 2005-12-28 | 2006-12-11 | 完全バッファリングされたdimm読み出しデータによる書き込み確認の代替 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7444479B2 (ja) |
JP (1) | JP2009515262A (ja) |
CN (1) | CN101346708B (ja) |
DE (1) | DE112006003122B4 (ja) |
TW (1) | TWI360055B (ja) |
WO (1) | WO2007078711A2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016076076A (ja) * | 2014-10-06 | 2016-05-12 | 富士通株式会社 | 記憶制御装置および記憶制御装置の制御方法 |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8521970B2 (en) * | 2006-04-19 | 2013-08-27 | Lexmark International, Inc. | Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts |
US9245591B2 (en) * | 2005-06-16 | 2016-01-26 | Lexmark International, Inc. | Addressing, command protocol, and electrical interface for non-volatile memories utilized in recording usage counts |
US7444479B2 (en) * | 2005-12-28 | 2008-10-28 | Alexander James W | Fully buffered DIMM read data substitution for write acknowledgement |
WO2008005629A2 (en) * | 2006-05-26 | 2008-01-10 | Riverbed Technology, Inc. | Throttling of predictive acks in an accelerated network communication system |
US7584308B2 (en) * | 2007-08-31 | 2009-09-01 | International Business Machines Corporation | System for supporting partial cache line write operations to a memory module to reduce write data traffic on a memory channel |
US7865674B2 (en) * | 2007-08-31 | 2011-01-04 | International Business Machines Corporation | System for enhancing the memory bandwidth available through a memory module |
US7861014B2 (en) * | 2007-08-31 | 2010-12-28 | International Business Machines Corporation | System for supporting partial cache line read operations to a memory module to reduce read data traffic on a memory channel |
US8086936B2 (en) * | 2007-08-31 | 2011-12-27 | International Business Machines Corporation | Performing error correction at a memory device level that is transparent to a memory channel |
US7899983B2 (en) | 2007-08-31 | 2011-03-01 | International Business Machines Corporation | Buffered memory module supporting double the memory device data width in the same physical space as a conventional memory module |
US7818497B2 (en) * | 2007-08-31 | 2010-10-19 | International Business Machines Corporation | Buffered memory module supporting two independent memory channels |
US8082482B2 (en) * | 2007-08-31 | 2011-12-20 | International Business Machines Corporation | System for performing error correction operations in a memory hub device of a memory module |
US7840748B2 (en) * | 2007-08-31 | 2010-11-23 | International Business Machines Corporation | Buffered memory module with multiple memory device data interface ports supporting double the memory capacity |
US8019919B2 (en) * | 2007-09-05 | 2011-09-13 | International Business Machines Corporation | Method for enhancing the memory bandwidth available through a memory module |
US7558887B2 (en) * | 2007-09-05 | 2009-07-07 | International Business Machines Corporation | Method for supporting partial cache line read and write operations to a memory module to reduce read and write data traffic on a memory channel |
US7925824B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to reduce latency by running a memory channel frequency fully asynchronous from a memory device frequency |
US7930469B2 (en) | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to provide memory system power reduction without reducing overall memory system performance |
US7770077B2 (en) * | 2008-01-24 | 2010-08-03 | International Business Machines Corporation | Using cache that is embedded in a memory hub to replace failed memory cells in a memory subsystem |
US8140936B2 (en) * | 2008-01-24 | 2012-03-20 | International Business Machines Corporation | System for a combined error correction code and cyclic redundancy check code for a memory channel |
US7925825B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to support a full asynchronous interface within a memory hub device |
US7930470B2 (en) * | 2008-01-24 | 2011-04-19 | International Business Machines Corporation | System to enable a memory hub device to manage thermal conditions at a memory device level transparent to a memory controller |
US7925826B2 (en) * | 2008-01-24 | 2011-04-12 | International Business Machines Corporation | System to increase the overall bandwidth of a memory channel by allowing the memory channel to operate at a frequency independent from a memory device frequency |
US7944726B2 (en) * | 2008-09-30 | 2011-05-17 | Intel Corporation | Low power termination for memory modules |
US10579303B1 (en) | 2016-08-26 | 2020-03-03 | Candace Design Systems, Inc. | Memory controller having command queue with entries merging |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004310394A (ja) * | 2003-04-07 | 2004-11-04 | Sharp Corp | Sdramアクセス制御装置 |
JP2005537543A (ja) * | 2002-08-29 | 2005-12-08 | マイクロン テクノロジー,インコーポレイティド | メモリハブアーキテクチャを有するメモリモジュールへのメモリアクセスを制御する方法およびシステム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6122729A (en) * | 1997-05-13 | 2000-09-19 | Advanced Micro Devices, Inc. | Prefetch buffer which stores a pointer indicating an initial predecode position |
US20030061365A1 (en) * | 2001-03-14 | 2003-03-27 | Microsoft Corporation | Service-to-service communication for network services |
US6714448B2 (en) | 2002-07-02 | 2004-03-30 | Atmel Corporation | Method of programming a multi-level memory device |
US7200787B2 (en) | 2003-06-03 | 2007-04-03 | Intel Corporation | Memory channel utilizing permuting status patterns |
US7225303B2 (en) * | 2003-09-22 | 2007-05-29 | Micron Technology, Inc. | Method and apparatus for accessing a dynamic memory device by providing at least one of burst and latency information over at least one of redundant row and column address lines |
US7721060B2 (en) * | 2003-11-13 | 2010-05-18 | Intel Corporation | Method and apparatus for maintaining data density for derived clocking |
US7188219B2 (en) * | 2004-01-30 | 2007-03-06 | Micron Technology, Inc. | Buffer control system and method for a memory system having outstanding read and write request buffers |
US7222213B2 (en) * | 2004-05-17 | 2007-05-22 | Micron Technology, Inc. | System and method for communicating the synchronization status of memory modules during initialization of the memory modules |
US20060026375A1 (en) | 2004-07-30 | 2006-02-02 | Christenson Bruce A | Memory controller transaction scheduling algorithm using variable and uniform latency |
US7346624B2 (en) * | 2004-08-16 | 2008-03-18 | Kabushiki Kaisha Toshiba | Systems and methods for processing buffer data retirement conditions |
US7373471B2 (en) * | 2005-02-09 | 2008-05-13 | International Business Machines Corporation | Executing background writes to idle DIMMs |
US20060200597A1 (en) | 2005-03-03 | 2006-09-07 | Christenson Bruce A | Method, system, and apparatus for memory controller utilization of an AMB write FIFO to improve FBD memory channel efficiency |
US7734980B2 (en) | 2005-06-24 | 2010-06-08 | Intel Corporation | Mitigating silent data corruption in a buffered memory module architecture |
US7644347B2 (en) | 2005-09-30 | 2010-01-05 | Intel Corporation | Silent data corruption mitigation using error correction code with embedded signaling fault detection |
US20070089032A1 (en) | 2005-09-30 | 2007-04-19 | Intel Corporation | Memory system anti-aliasing scheme |
US7444479B2 (en) * | 2005-12-28 | 2008-10-28 | Alexander James W | Fully buffered DIMM read data substitution for write acknowledgement |
-
2005
- 2005-12-28 US US11/321,322 patent/US7444479B2/en not_active Expired - Fee Related
-
2006
- 2006-12-11 JP JP2008539133A patent/JP2009515262A/ja active Pending
- 2006-12-11 DE DE112006003122.8T patent/DE112006003122B4/de active Active
- 2006-12-11 WO PCT/US2006/047322 patent/WO2007078711A2/en active Application Filing
- 2006-12-11 CN CN2006800490220A patent/CN101346708B/zh not_active Expired - Fee Related
- 2006-12-13 TW TW095146701A patent/TWI360055B/zh active
-
2008
- 2008-08-29 US US12/202,088 patent/US7941618B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005537543A (ja) * | 2002-08-29 | 2005-12-08 | マイクロン テクノロジー,インコーポレイティド | メモリハブアーキテクチャを有するメモリモジュールへのメモリアクセスを制御する方法およびシステム |
JP2004310394A (ja) * | 2003-04-07 | 2004-11-04 | Sharp Corp | Sdramアクセス制御装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016076076A (ja) * | 2014-10-06 | 2016-05-12 | 富士通株式会社 | 記憶制御装置および記憶制御装置の制御方法 |
Also Published As
Publication number | Publication date |
---|---|
DE112006003122B4 (de) | 2015-05-21 |
US20080320249A1 (en) | 2008-12-25 |
TWI360055B (en) | 2012-03-11 |
US7941618B2 (en) | 2011-05-10 |
CN101346708A (zh) | 2009-01-14 |
TW200741469A (en) | 2007-11-01 |
WO2007078711A3 (en) | 2007-09-20 |
US20070150672A1 (en) | 2007-06-28 |
CN101346708B (zh) | 2012-03-21 |
US7444479B2 (en) | 2008-10-28 |
WO2007078711A2 (en) | 2007-07-12 |
DE112006003122T5 (de) | 2008-12-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2009515262A (ja) | 完全バッファリングされたdimm読み出しデータによる書き込み確認の代替 | |
EP2263155B1 (en) | Direct data transfer between slave devices | |
US7761624B2 (en) | Systems and apparatus for main memory with non-volatile type memory modules, and related technologies | |
JP2007507056A (ja) | メモリー素子、インターフェース・バッファ、メモリー・システム、コンピューター・システム、方法、機械アクセス可能な媒体 | |
EP0553563A1 (en) | Bus interface logic for computer system having dual bus architecture | |
JP2006318480A (ja) | メモリシステム、および、メモリシステムのメモリチップにアクセスする方法 | |
TWI703501B (zh) | 具有分散式信箱架構的多處理器系統及其溝通方法 | |
JPH0326865B2 (ja) | ||
JP3664664B2 (ja) | バスシステム及びそのバス仲裁方法 | |
US10860507B2 (en) | Electronic systems having serial system bus interfaces and direct memory access controllers and methods of operating the same | |
US7996601B2 (en) | Apparatus and method of partially accessing dynamic random access memory | |
US8891523B2 (en) | Multi-processor apparatus using dedicated buffers for multicast communications | |
US20130282971A1 (en) | Computing system and data transmission method | |
US11204632B2 (en) | Electronic device and method for controlling the same | |
JP6965523B2 (ja) | マルチプロセッサシステム | |
CN107783927B (zh) | 用于连接axi接口和dma接口的电路转换系统及方法 | |
US7003638B2 (en) | Memory bus interface for use in a peripheral device | |
WO2021089430A1 (en) | Bus system and method for operating a bus system | |
JP2023070309A (ja) | データ転送装置およびデータ転送装置の転送方法 | |
CN101211328B (zh) | 高性能可编程逻辑系统接口及芯片 | |
KR101192594B1 (ko) | 슬레이브 디바이스 사이에서 직접 데이터를 전송하는 방법 | |
JP2008532188A (ja) | スケーラブルバス構造 | |
CN113127399A (zh) | 一种通用串列汇流排装置以及存取方法 | |
JP2006092077A (ja) | バスシステム | |
CN118331907A (zh) | 服务器、服务器的数据传输方法以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110427 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110517 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120214 |