JP4805351B2 - Dramの並列処理を向上するシステム及び方法 - Google Patents

Dramの並列処理を向上するシステム及び方法 Download PDF

Info

Publication number
JP4805351B2
JP4805351B2 JP2008519604A JP2008519604A JP4805351B2 JP 4805351 B2 JP4805351 B2 JP 4805351B2 JP 2008519604 A JP2008519604 A JP 2008519604A JP 2008519604 A JP2008519604 A JP 2008519604A JP 4805351 B2 JP4805351 B2 JP 4805351B2
Authority
JP
Japan
Prior art keywords
dram
ranked
rank
dram device
devices
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
JP2008519604A
Other languages
English (en)
Other versions
JP2008544424A (ja
Inventor
テトリック,レイモンド
Original Assignee
インテル コーポレイション
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 インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2008544424A publication Critical patent/JP2008544424A/ja
Application granted granted Critical
Publication of JP4805351B2 publication Critical patent/JP4805351B2/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
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • G06F13/4243Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus with synchronous protocol
    • 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/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Dram (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、DRAMの並列処理を向上するシステム及び方法に関する。
コンピューター・システムは、ダイナミック・ランダム・アクセス・メモリー(DRAM)素子のようなメモリー装置を用い、プロセッサーによりアクセスされるデータを格納する。メモリー装置は、コンピューター・システム内のシステム・メモリーを用いて良い。いくつかのコンピューター・システムでは、プロセッサーはプロセッサー・バス及びメモリー制御装置を通じてシステム・メモリーと通信する。プロセッサーは、読み出し又は書き込みコマンドのようなメモリー・コマンド及びどのデータ又は命令が読み出される又は書き込まれるべきかを指定するアドレスを有するメモリー要求を発行して良い。メモリー制御装置は、プロセッサーからのコマンドを用い、適切なコマンド信号並びにシステム・メモリーに適用される行及び列アドレスを生成して良い。コマンド及びアドレスに応答して、データはシステム・メモリーとプロセッサーとの間で転送される。メモリー制御装置はしばしば、システム制御装置の一部である。システム制御装置はまた、プロセッサー・バスを拡張バスと結合するバス・ブリッジ回路を有して良い。
一般に、プロセッサーの動作速度の連続増量は、メモリー装置及びプロセッサーと連動するメモリー装置及びメモリー制御装置により得られる伸び率を上回る。従って、いくつかのコンピューター・システムでは、プロセッサーとメモリー装置との間のデータ帯域幅は制限され得る。
従って一般的に、DRAM素子の管理及び制御を含む、効率的なメモリー管理及び制御プロトコルのための方法及び装置が必要である。
本願明細書に記載されるいくつかの実施例は、単に説明を目的とする。実施例は、本願明細書に記載される要素の、現在知られている又は今後知られる如何なる版も含んで良い。従って当業者は、本願明細書から、種々の変更及び代替を有する別の実施例が実施され得ることを理解するだろう。
図1は、本願明細書のいくつかの実施例の実施を有し得るコンピューター・システム100のブロック図である。システム100は、データを処理するプロセッサー105を有する。プロセッサー105は多数の命令セットを実装し及び1又は複数のコア・プロセッサーを有して良い。プロセッサー105は、プロセッサー105とシステム100の他の構成要素及び装置との間の接続を提供するCPUバス110と接続される。
例えば、メモリー制御装置(MC)はバス110と接続される。MC115は、メモリー120とプロセッサー105と、例えばディスプレイ130及びグラフィック・サブシステム135のような他の構成要素との間のデータ・トラヒック及び動作を指示又は制御して良い。グラフィック・サブシステム135は画像を処理及び再生して良く、またディスプレイ130はグラフィック・サブシステム135により再生される画像を表示して良い。メモリー120は、ランダム・アクセス・メモリー(RAM)素子、ダブル・データ・メモリー素子、ダイナミック・ランダム・アクセス・メモリー(DRAM)素子であって良い。本願明細書のいくつかの実施例では、メモリー120は、複数(マルチ)ランク・プロトコルに従い共に接続された多数のDRAM素子を有して良い。複数ランク・プロトコルにより共に接続されたDRAM素子は、本願明細書では集合的に複数ランクDRAM素子として参照される。
理解されるべき点は、システム100は、いくつかの実施例では、本願明細書のいくつかの実施例に従い図1に示されたものより追加の、少数の、及び代替の構成要素及び素子を有して良い。
図2は、図1のMC115及びメモリー120の例を示す。メモリー120は、いくつかの実施例では、複数のDRAM素子210、215、220、225を有して良い。例えばDRAM210とMC115との間のDRAM接続は、DRAM(例えば210、215、220、及び225)間の接続と同様に、複数ランク・プロトコルに従う。本願明細書のいくつかの実施例によると、複数ランク・プロトコルは複数のDRAMのそれぞれにランクを割り当てる。DRAMに割り当てられるランクは、少なくともMC115からのDRAMが位置する距離に基づいて良い。
図2を参照すると、メモリー120は、DRAM210(ランク0)、DRAM215(ランク1)、DRAM220(ランク2)、及びDRAM225(ランク3)を有する。各ランク付けされたDRAMに関連付けられた遅延が測定可能である。各ランク付けされたDRAMに関連付けられた測定可能な遅延は、MC115とDRAM210との間の電気接続による伝搬遅延、及び各ランク付けされたDRAMの内部伝搬遅延(つまり流入遅延)から生じ得る。ここで、ランク付けされたDRAM間の電気接続に起因する遅延は、当該DRAM間の電気接続が短いことに基づき、ゼロと見なされる。
本願明細書のいくつかの実施例では、MC115とランク付けされたDRAM20―225との間の動作の全てのタイミングは、MC115により制御される。また、全てのこのような動作の開始は、MC115により達成される。更に、MC115とDRAM210(ランク0)との間の通信、及び複数のランク付けされたDRAM20―225間の通信は、一方向接続又は双方向接続を介し生じて良い。例えば、MC115とDRAM210との間の要求を転送する接続230は、一方向又は双方向であって良い。また、2個の隣接するDRAM(例えば、210と215、215と220、220と225)の間に設けられた接続(リンク)240及び245は、一方向又は双方向であって良い。
本願明細書のいくつかの実施例の双方向接続は、接続の方向の変化によるターンアラウンド時間(つまり遅延)を有する。ターンアラウンド時間は、DRAM素子による内部及び接続の外部の両方で、要求及びデータ信号の競合を回避するために使用される。双方向接続は、MC115及びDRAM素子210−225により駆動されて良い。しかしながら、如何なる所与の時にも、MC115及びDRAM素子210−225のうち1つだけ双方向接続を駆動して良い。
本願明細書のいくつかの実施例の一方向接続は、入力及び出力のために別個の信号接続を有して良い。一方向接続に関し、反対方向のトラヒックは別個の接続に存在するので、反対方向のトラヒックは同時に駆動されて良い。また、一方向接続のトラヒックは単一の方向に制約されので、一方向接続は当該一方向接続に付随するターンアラウンド遅延を有さない。
いくつかの実施例では、要求及び関連データは、MC115とDRAM120との間で別個のピン又は接続で転送されて良い。図2に示されるように、要求又はコマンドは、MC115からDRAM210へ接続230で提供される。この場合も、MC115全ての動作を開始する。コマンドは、必要に応じてランク付けされたDRAM素子120を通じて伝搬される。コマンド接続230及び240は一方向である。MC115とDRAM素子210との間のデータ接続235、及び隣接するDRAM素子間のデータ接続245は、双方向であり、及びMC115へ又はMC115から離れて駆動されて良い。コマンドは上述の遅延を伴い伝搬して良い。
種々の要求は、本願明細書ではMCにより開始され、いくつかの実施例の複数ランクDRAM素子へアクセスする動作又は処理を実現して良い。2つの要求、つまりREADコマンド及びWRITEコマンドは、当該コマンドに関連付けられたデータを有し、故にデータ接続を用いる。本願明細書のいくつかの実施例では、コマンドは、例えばREAD又はWRITEコマンドに加え情報を有して良い。このような追加情報は、コマンドによりアドレス指定されたランク付けされたDRAMのアドレス・ランク、及びDRAMの列アドレスを有して良い。
MCがREADコマンドを開始する例では、READコマンドは本願明細書による複数ランク装置及び方法を用い実施されて良い。READコマンドは、可変読み出し待ち時間(レイテンシ)処理を用い達成されて良い。可変読み出し待ち時間処理に従い、各ランク付けされたDRAMは異なる読み出し待ち時間を割り当てられる。各ランク付けされたDRAMの読み出し待ち時間は異なり、及び各DRAMと関連付けられた伝搬遅延に基づき、及びMCからのDRAM素子が位置付けられた距離に依存して変化する。従って、MCからランクを読み出すための待ち時間は、ランクに依存する。
図3は本発明のいくつかの実施例の処理300のフロー図の例である。動作305で、MCはREADコマンドを開始し及びメモリー制御装置と連動する多数のランク付けされたDRAM素子の1つにアドレス指定する。MCは、MCと複数のランク付けされたDRAM素子との間、及び複数のランク付けされたDRAM素子間の動作の全てのタイミング及び開始を制御する。開始されたREADコマンドは、データが読み出されるべき1つのランク付けされたDRAM素子のアドレスを有する。動作310で、READコマンドは、MCから当該MCと連動する複数のランク付けされたDRAM素子へ送信される。動作315で、READコマンドは、MCから複数のランク付けされたDRAM素子を通じ、READコマンドによりアドレス指定されたDRAM素子へ伝搬される。
動作320で、アドレス指定されたランク付けされたDRAM素子から読み出したデータは、当該DRAM素子とMCとの間にある複数のランク付けされたDRAM素子を通じ、MCへ伝搬される。要求されたデータをアドレス指定されたランク付けされたDRAM素子から読み出すことに関連付けられた待ち時間は可変であり、及びREAD動作で横切った複数のランク付けされたDRAM素子のそれぞれと関連付けられた、ランクに依存する遅延に基づく。
図4は、本発明のいくつかの実施例の、READ動作のタイミング図の例である。タイミング図400は、複数のランク付けされたDRAM装置を通じたREADコマンドのタイミングを示す。当該DRAM装置は、例えばDRAM素子210、215、220、及び225のような、全部で4個のランク付けされたDRAM素子を有する。DRAM素子は以下のように0乃至にランク付けされる。DRAM素子210は0にランク付けされ、DRAM素子215は1にランク付けされ、DRAM素子220は2にランク付けされ、及びDRAM素子225はにランク付けされる。
タイミング図405に示されるように、MCによりランク0へ発行されたREADコマンドは、MCから、要求されたデータが読み出される0にランク付けされたDRAM素子へ伝搬し、そしてMCへ伝搬して戻る。このREAD動作に関連付けられた待ち時間は12単位である。ランク3のDRAM素子へのREADコマンドでは、コマンドはMCから、ランク0、1、及び2を通じて、要求されたデータが読み出されるランク3のDRAM素子へ伝搬し、そしてMCへ伝搬して戻る。このREAD動作に関連付けられた待ち時間は、MCから見て18単位である。タイミング図405−420は、それぞれランク0−にアドレス指定されたREADコマンドに対し要求されるタイミングを示す。MCは、要求されたデータが利用可能である場合、アドレス指定されたランク付けされたDRAM素子からMCへの戻り経路全体のスケジューリング(つまりタイミング)に関与する。経路全体がREAD動作に割り当てられない場合、READコマンドは経路が割り当て可能になるまで遅延されなければならない。
図5は、本発明のいくつかの実施例による、READ動作のタイミング図500の例である。図505−520は、それぞれランク0−にアドレス指定されたREADコマンドの場合に、データ経路全体をREADコマンドに割り当てることの影響を示すタイミング図である。ターンアラウンド(TA)時間がタイミング図に追加されており、タイミング遅延のために挿入されている。READコマンドへチャネルを割り当てると、双方向接続でWRITEコマンドのためにチャネルを利用できない(つまり、Cannot Drive)。アドレス指定されたランク付けされたDRAM素子がMCから遠いほど、チャネル利用可能性の制約が増大する。
図6は本発明のいくつかの実施例のフロー図の例である。処理600は、図7のタイミング図を参照することにより一層理解される。処理600は延期された読み出し処理を対象とする。通信接続全体の割り当ては、コンピューター・システム内で生成される所与の多くの要求を実施するには困難である。延期された読み出し処理600は、MCと複数のランク付けされたDRAM素子との間の接続を介し効率的に管理され得る複数の部分にREAD動作を分割することにより、この困難を解決する。
延期された読み出し処理600は、READコマンド及びデータ・ビットに加え、実施時にコマンド・ビットを用いて良い。追加コマンド・ビットは、複数のランク付けされたDRAM素子のそれぞれに関連付けられたローカル・バッファー記憶装置へのENABLE READ BUFFERコマンドを表して良い。ENABLE READ BUFFERコマンド・ビットは、各ランク付けされたDRAM素子の内部に保持されたローカル記憶装置であるDRAMバッファーをMCが管理する機構を提供する。アサートされたENABLE READ BUFFERコマンドは、ランク(n+1)のDRAM素子によってランク(n)のDRAM素子への接続が駆動されることを可能にする。アサートされたENABLE READ BUFFERコマンドは、MCにより制御され、例えば、要求された読み出しデータをMCへ伝搬する処理で、ランク2のDRAM素子(例えば、DRAM素子220)にランク1のDRAM素子(例えば、DRAM素子215)へデータを駆動するよう割り当てて良い。本願明細書に示された4ランクのシステムでは、4個のENABLE READ BUFFERビットが用いられて良い。
ランク0へアドレス指定されたREADコマンドでは、延期された読み出し処理は、可変待ち時間読み出し処理300及び図4及び5に示されたものと同様の処理に帰着する。
動作605で、MCは、MCと連動する多数のランク付けされたDRAM素子の1つへのREADコマンドを開始する。MCは、MCと複数のランク付けされたDRAM素子との間、及び複数のランク付けされたDRAM素子間の全ての動作のタイミング及び開始を制御する。開始されたREADコマンドは、データが読み出されるべきランク付けされたDRAM素子のアドレスを有する。
動作610で、READコマンドは、MCから当該MCと連動する複数のランク付けされたDRAM素子へ送信される。動作615で、READコマンドは、MCから複数のランク付けされたDRAM素子を通じ、READコマンドによりアドレス指定されたDRAM素子へ伝搬される。
動作620で、アドレス指定されたランク付けされたDRAM素子から読み出したデータは、当該DRAM素子とMCとの間にある複数のランク付けされたDRAM素子を通じ、MCへ伝搬される。READコマンドが例えばランク2へ発行された場合、MCはランク(N=2)とランク(N−1=2−1=1)との間のデータ経路のみをREADコマンドに対し割り当てる。ランク1で受信された読み出しデータは、ENABLE READ BUFFERコマンドがランク1に対しアサートされるまで、ランク1のDRAM素子と関連付けられたローカル・バッファーに格納される。ランク1のDRAM素子の対応するENABLE READ BUFFERがMCによりアサートされた場合、ランク1のDRAM素子のローカル・バッファー内の読み出しデータは、ランク(N−1=1−1=0)へ駆動され、そしてMCに到達するまで同様である。
示されたように、可変待ち時間読み出し処理300に関連付けられた書き込み制限は除去され、またターンアラウンド遅延は簡略化される。留意すべき点は、処理600が、MCに到達するまで、要求された読み出しデータを対応するランク付けされたDRAM素子のバッファーからバッファーへ移動するための追加情報であるENABLE READ BUFFERビットのコストも有することである。ENABLE READ BUFFERビット712、717、及び719は、処理600で用いられる追加ビットを説明するため、タイミング図710、715、及び720に示される。
いくつかの実施例では、複数の未処理のREAD動作、DRAM素子毎に複数の記憶素子を用い対応されて良い。複数の未処理のREADは、先入れ先出し(FIFO)方式で処理されて良い。例えば、あるランクがENABLE READ BUFFERのアサートを受信した場合、当該ランクは当該ランクの関連する最初のデータ・バッファーをデータ信号に移動させ、そして残りのデータを上位にずらす。あるランクが如何なる格納されたデータも有さない場合、ENABLE READ BUFFERコのアサートは明示されない。
図8は、本発明のいくつかの実施例による、ローカル・バッファーを有するDRAM素子のいくつかの実施例を実施するために用いられ得る回路の概略図の例である。回路800は、READ FIFOバッファー805、及び2つのデータ・マルチプレクサー810、815を有する。回路800は、READ FIFO805への参照をバイパスするバイパス選択肢を有する。バイパス選択肢は、DRAMから直接にデータを読み出す、マルチプレクサー815の入力により示される。READ FIFO805が空の場合、ENABLE READ BUFFERアサートされると同時に、データが次のランクから到着する。回路800の動作は、以下の表1を参照することにより一層理解される。
Figure 0004805351
図9は本発明のいくつかの実施例による処理900のフロー図の例である。処理900は、図10のタイミング図1000を参照することにより一層理解される。処理900はパススルー書き込み処理を対象とする。データ信号は、アドレス指定されたランク付けされたDRAM素子へのMCからのWRITEコマンドに割り当てられる。例えば、ランク3のDRAM素子にアドレス指定されたWRITEコマンドは、全ての介在するランク(つまり、ランク0、1、及び2)のデータ信号を予約する。
動作905で、MCは、MCと連動する多数のランク付けされたDRAM素子の1つへのWRITEコマンドを開始する。MCは、MCと複数のランク付けされたDRAM素子との間、及び複数のランク付けされたDRAM素子間の全ての動作のタイミング及び開始を制御する。開始されたWRITEコマンドは、データが書き込まれるべき1つのランク付けされたDRAM素子のアドレスを有する。
動作910で、WRITEコマンドは、MCから当該MCと連動する複数のランク付けされたDRAM素子へ送信される。動作915で、WRITEコマンドは、MCから複数のランク付けされたDRAM素子を通じ、WRITEコマンドによりアドレス指定されたDRAM素子へ伝搬される。WRITEコマンドと関連付けられたデータは、固定単位数だけ遅延されて良い。MCは、複数のランク付けされたDRAM素子の伝搬を通じるデータ経路を管理する。
動作920で、アドレス指定されたランク付けされたDRAM素子へのWRITEデータは、MCから、複数のランク付けされたDRAM素子を通じ、アドレス指定されたDRAM素子へ伝搬される。要求されたデータをアドレス指定されたランク付けされたDRAM素子へ書き込むことに関連付けられた待ち時間は、WRITE動作で横切った複数のランク付けされたDRAM素子に対し均一な固定遅延に基づく。
データ接続へのWRITEは、READが先に完了することを妨げる。図11は、WRITEコマンド動作に接続全体を割り当てることの影響を示す。示されるように、WRITEコマンドと書き込みデータとの間には固定遅延がある。また、ターンアラウンド(TA)による時間遅延、及び他のコマンドを犠牲にしてWRITEコマンドを完了するために必要な時間期間(No Receive)が示される。
図12は本発明のいくつかの実施例のフロー図の例である。処理1200は、図13のタイミング図1300を参照することにより一層理解される。処理1200ポステッドライト処理を対象とする。通信接続全体の割り当ては、コンピューター・システム内で生成される所与の多くの要求を実施するには困難である。ポステッドライト処理1200は、MCと複数のランク付けされたDRAM素子との間の接続を効率的に管理し得る複数の部分にWRITE動作を分割することにより、この困難を解決する。
ポステッドライト処理1200は、WRITEコマンド及びデータ・ビットに加え、実施時にコマンド・ビットを用いて良い。追加コマンド・ビットは、複数のランク付けされたDRAM素子のそれぞれに関連付けられたローカル・バッファー記憶装置へのENABLE WRITE BUFFERコマンドを表して良い。ENABLE WRITE BUFFERコマンド・ビットは、各ランク付けされたDRAM素子の内部に保持されたローカル記憶装置であるDRAMバッファーをMCが管理する機構を提供する。アサートされたENABLE WRITE BUFFERコマンドは、ランク(N)のDRAM素子によってランク(N+1)のDRAM素子への接続が駆動されることを可能にする。アサートされたENABLE WRITE BUFFERコマンドは、MCにより制御され、例えば、書き込みデータをアドレス指定されたDRAM素子へ伝搬する処理で、ランク2のDRAM素子(例えば、DRAM素子220)にランク3のDRAM素子(例えば、DRAM素子225)へデータを駆動するよう割り当てて良い。本願明細書に示された4ランクのシステムでは、4個のENABLE WRITE BUFFERビットが用いられて良い。データは処理900と同様の方法でランク0に書き込まれる。しかしながら、データは、ランク0にアドレス指定されない場合にはバッファーに書き込まれランク0にアドレス指定された場合にはDRAM素子に書き込まれ
動作1205で、MCは、MCと連動する多数のランク付けされたDRAM素子の1つへのWRITEコマンドを開始する。MCは、MCと複数のランク付けされたDRAM素子との間、及び複数のランク付けされたDRAM素子間の全ての動作のタイミング及び開始を制御する。開始されたWRITEコマンドは、データが書き込まれるべき1つのランク付けされたDRAM素子のアドレスを有する。
動作1210で、WRITEコマンドは、MCから当該MCと連動する複数のランク付けされたDRAM素子へ送信される。動作1215で、WRITEコマンドは、MCから複数のランク付けされたDRAM素子を通じ、WRITEコマンドによりアドレス指定されたDRAM素子へ伝搬される。
動作1220で、アドレス指定されたランク付けされたDRAM素子へのWRITEデータは、MCから、複数のランク付けされたDRAM素子を通じ、アドレス指定されたDRAM素子へ伝搬される。WRITEコマンドが例えばランク2へ発行された場合、MCはMCとランク0との間のデータ経路のみをWRITEコマンドに対し割り当てる。ランク0で受信した書き込みデータは、ENABLE WRITE BUFFERコマンドがランク0に対しアサートされるまで、ランク0のDRAM素子と関連付けられたローカル・バッファーに格納される。ランク0のDRAM素子の対応するENABLE WRITE BUFFERがMCによりアサートされた場合、ランク0のDRAM素子のローカル・バッファー内の書き込みデータは、ランク(N+1=0+1=1)へ駆動され、そしてアドレス指定されたランクに到達するまで同様である。従って、ポステッドライト処理のための記憶は、ENABLE WRITE BUFFERビットと共に渡される全てのランク及びアドレス情報のための記憶を含む。
図1300に示されるように、ポステッドライト処理と関連付けられた書き込み制限は、図10のパススルー書き込み処理と関連付けられた書き込み制限よりも複雑でない。留意すべき点は、処理1300が、アドレス指定されたDRAM素子に到達するまで、要求された読み出しデータを対応するランク付けされたDRAM素子のバッファーからバッファーへ移動するための追加情報であるENABLE WRITE BUFFERビットのコストも有することである。
いくつかの実施例では、複数の未処理のWRITE動作、DRAM素子毎に複数の記憶素子を用い対応されて良い。複数の未処理のWRITEは、先入れ先出し(FIFO)方式で処理されて良い。例えば、あるランクがENABLE WRITE BUFFERのアサートを受信した場合、当該ランクは当該ランクの関連する最初のデータ・バッファーをデータ信号に移動させ、そして残りのデータを上位にずらす。あるランクが如何なる格納されたデータも有さない場合、ENABLE WRITE BUFFERのアサートは、バイパス動作を起動する。
図14は、本発明のいくつかの実施例による、ローカル・バッファーを有するDRAM素子のいくつかの実施例を実施するために用いられ得る回路の概略図の例である。回路1400は、WRITE FIFOバッファー1405、及びデータ・マルチプレクサー1410を有する。回路1400は、WRITE FIFOへの参照をバイパスするバイパス選択肢を有する。バイパス選択肢は、「WIRTE BUFFER EMPTY」と付されたマルチプレクサー1410の入力により示される。WIRTE BUFFER EMPTY信号がマルチプレクサー1410により受信される例では、データ出力は、進行中のDRAM素子又はMCからDRAMへ提供される書き込みデータである。
本開示は、本発明の特定の例である実施例に関連して説明された。しかしながら、特許請求の範囲に記載された広範な精神及び範囲から逸脱することなく、これら実施例に種々の修正及び変更がなされ得ることが明らかである。
本発明のいくつかの実施例によるシステムのブロック図の例である。 本発明のいくつかの実施例による装置の例である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例による概略図である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例による概略図の例である。 本発明のいくつかの実施例による概略図である。

Claims (21)

  1. モリー制御装置(MC)、及び
    前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子であり、各々がローカル・バッファー記憶素子を有する複数のランク付けされたDRAM素子、
    を有し、
    前記複数のランク付けされたDRAM素子のうちのランク(n)のDRAM素子に、READコマンドがアドレス指定され、
    前記MCから前記ランク(n)のDRAM素子に前記READコマンドが送信され、
    前記ランク(n)のDRAM素子及びランク(n−1)のDRAM素子から通信経路が割り当てられ、
    割り当てられた通信経路上で、前記ランク(n)のDRAM素子から前記ランク(n−1)のDRAM素子へ、前記READコマンドと関連付けられたデータが伝搬され、
    前記READコマンドと関連付けられた前記データが、前記ランク(n−1)のDRAM素子に付随する前記ローカル・バッファー記憶素子に格納され、且つ
    前記複数のランク付けされたDRAM素子に割り当てられたランクと、前記複数のランク付けされたDRAM素子の前記ローカル・バッファー記憶素子から前記MCへ前記READコマンドに関連付けられた前記データを移動させる機構を提供する前記MCからの制御コマンドと、に基づく所定の順序で、前記READコマンドと関連付けられた前記データが前記ランク(n−1)のDRAM素子から前記MCへ伝搬される、
    装置。
  2. 前記READコマンド、及び前記MCと前記DRAM素子との間の通信タイミング動作、並びに前記複数のDRAM素子間の通信は、前記MCにより制御される、請求項1記載の装置。
  3. 前記READコマンドは、前記複数のランク付けされたDRAM素子の1つと関連付けられた少なくとも1つのアドレス・ランク、及びアドレス指定されたランク付けされたDRAM素子の列アドレスを有する、請求項記載の装置。
  4. 前記READコマンドと関連付けられた前記データは、前記ランク(n)のDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ、延期された読み出し動作に基づき伝搬され、前記READコマンドと関連付けられた前記データは、データを前記MCへ伝搬するため、前記ランク(n)のDRAM素子と前記MCとの間にある複数のランク付けされたDRAM素子のそれぞれに付随するローカル・バッファー記憶素子順次格納される、請求項1記載の装置。
  5. メモリー制御装置(MC)、及び
    前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子であり、各々がローカル・バッファー記憶素子を有する複数のランク付けされたDRAM素子、
    を有し、
    前記複数のランク付けされたDRAM素子のうちの1つのランク付けされたDRAM素子に、WRITEコマンドがアドレス指定され、
    前記MCから、アドレス指定されたランク付けされたDRAM素子に、前記WRITEコマンドが送信され、
    前記MC及びランク(N)のDRAM素子から通信経路が割り当てられ、
    割り当てられた通信経路上で、前記MCから前記ランク(N)のDRAM素子へ、前記WRITEコマンドと関連付けられたデータが伝搬され、
    前記WRITEコマンドと関連付けられた前記データが、前記ランク(N)のDRAM素子に付随する前記ローカル・バッファー記憶素子に格納され、且つ
    前記複数のランク付けされたDRAM素子に割り当てられたランクと、前記MCから前記複数のランク付けされたDRAM素子の前記ローカル・バッファー記憶素子へ前記WRITEコマンドに関連付けられた前記データを移動させる機構を提供する前記MCからの制御コマンドと、に基づく所定の順序で、前記アドレス指定されたランク付けされたDRAM素子に到達するまで、前記WRITEコマンドと関連付けられた前記データが前記ランク(N)のDRAM素子からランク(N+1)のDRAM素子へ伝搬される、
    装置。
  6. 前記WRITEコマンドと関連付けられた前記データは、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ、ポステッドライト処理に基づき伝搬され、データは、データを前記アドレス指定されたランク付けされたDRAM素子へ伝搬するため、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のランク付けされたDRAM素子のそれぞれに付随するローカル・バッファー記憶素子順次格納される、請求項記載の装置。
  7. 前記WRITEコマンド、及び前記MCと前記DRAM素子との間の通信タイミング動作、並びに前記複数のDRAM素子間の通信は、前記MCにより制御される、請求項5記載の装置。
  8. 前記WRITEコマンドは、前記複数のランク付けされたDRAM素子の1つと関連付けられた少なくとも1つのアドレス・ランク、及びアドレス指定されたランク付けされたDRAM素子の列アドレスを有する、請求項5記載の装置。
  9. N=0である、請求項5記載の装置。
  10. 前記MCと接続され及び前記複数のランク付けされたDRAM素子と接続された通信接続は、前記MC及び前記複数のランク付けされたDRAM素子により1つずつ駆動され得る双方向接続である、請求項1又は5記載の装置。
  11. 各々が付随のローカル・バッファー記憶素子を有する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子のうちの、ランク(n)のDRAM素子に、READコマンドをアドレス指定する段階、
    記複数のランク付けされたDRAM素子と連動するメモリー制御装置(MC)から前記ランク(n)のDRAM素子に前記READコマンドを送信する段階、
    前記ランク(n)のDRAM素子及びランク(n−1)のDRAM素子から通信経路を割り当てる段階、
    割り当てられた通信経路上で、前記ランク(n)のDRAM素子から前記ランク(n−1)のDRAM素子へ、前記READコマンドと関連付けられたデータを伝搬する段階、
    前記READコマンドと関連付けられた前記データを、前記ランク(n−1)のDRAM素子に付随する前記ローカル・バッファー記憶素子に格納する段階、及び
    前記複数のランク付けされたDRAM素子に割り当てられたランクと、前記複数のランク付けされたDRAM素子の前記ローカル・バッファー記憶素子から前記MCへ前記READコマンドに関連付けられた前記データを移動させる機構を提供する前記MCからの制御コマンドと、に基づく所定の順序で、前記READコマンドと関連付けられた前記データを前記ランク(n−1)のDRAM素子から前記MCへ伝搬する段階、
    を有する方法。
  12. 前記READコマンドは前記READコマンドと関連付けられたコマンド及びデータを有する、請求項11記載の方法。
  13. 前記READコマンドと関連付けられた前記データを前記ランク(n−1)のDRAM素子から前記MCへ伝搬する段階は、
    前記READコマンドと関連付けられた前記データを、前記ランク(n)のDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ、延期された読み出し動作に基づき伝搬する段階、を更に有し、前記READコマンドと関連付けられた前記データは、データを前記MCへ伝搬するため、前記ランク(n)のDRAM素子と前記MCとの間にある複数のランク付けされたDRAM素子のそれぞれに付随するローカル・バッファー記憶素子順次格納される、請求項11記載の方法。
  14. 前記READコマンド、及び前記MCと前記DRAM素子との間の通信タイミング動作、並びに前記複数のDRAM素子間の通信は、前記MCにより制御される、請求項11記載の方法。
  15. 前記READコマンドは、前記複数のランク付けされたDRAM素子の1つと関連付けられた少なくとも1つのアドレス・ランク、及び前記アドレス指定されたランク付けされたDRAM素子の列アドレスを有する、請求項11記載の方法。
  16. 各々が付随のローカル・バッファー記憶素子を有する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子のうちの、1つのランク付けされたDRAM素子に、WRITEコマンドをアドレス指定する段階、
    前記複数のランク付けされたDRAM素子と連動するメモリー制御装置(MC)から、アドレス指定されたランク付けされたDRAM素子に、前記WRITEコマンドを送信する段階、
    前記MC及びランク(N)のDRAM素子から通信経路を割り当てる段階、
    割り当てられた通信経路上で、前記MCから前記ランク(N)のDRAM素子へ、前記WRITEコマンドと関連付けられたデータを伝搬する段階、
    前記WRITEコマンドと関連付けられた前記データを、前記ランク(N)のDRAM素子に付随する前記ローカル・バッファー記憶素子に格納する段階、及び
    前記複数のランク付けされたDRAM素子に割り当てられたランクと、前記MCから前記複数のランク付けされたDRAM素子の前記ローカル・バッファー記憶素子へ前記WRITEコマンドに関連付けられた前記データを移動させる機構を提供する前記MCからの制御コマンドと、に基づく所定の順序で、前記アドレス指定されたランク付けされたDRAM素子に到達するまで、前記WRITEコマンドと関連付けられた前記データを前記ランク(N)のDRAM素子からランク(N+1)のDRAM素子へ伝搬する段階、
    を有する方法。
  17. 前記WRITEコマンドと関連付けられた前記データを前記ランク(N)のDRAM素子からランク(N+1)のDRAM素子へ伝搬する段階は、
    前記WRITEコマンドと関連付けられた前記データを、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ、ポステッドライト処理に基づき伝搬する段階、を更に有し、データは、データを前記アドレス指定されたランク付けされたDRAM素子へ伝搬するため、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のランク付けされたDRAM素子のそれぞれに付随するローカル・バッファー記憶素子順次格納される、請求項16記載の方法。
  18. 前記WRITEコマンド、及び前記MCと前記DRAM素子との間の通信タイミング動作、並びに前記複数のDRAM素子間の通信は、前記MCにより制御される、請求項16記載の方法。
  19. 前記WRITEコマンドは、前記複数のランク付けされたDRAM素子の1つと関連付けられた少なくとも1つのアドレス・ランク、及び前記アドレス指定されたランク付けされたDRAM素子の列アドレスを有する、請求項16記載の方法。
  20. N=0である、請求項16記載の方法。
  21. 前記MCと接続され及び前記複数のランク付けされたDRAM素子と接続された通信接続は、前記MC及び前記複数のランク付けされたDRAM素子により1つずつ駆動され得る双方向接続である、請求項11又は16記載の方法。
JP2008519604A 2005-06-30 2006-06-30 Dramの並列処理を向上するシステム及び方法 Expired - Fee Related JP4805351B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/171,804 2005-06-30
US11/171,804 US7539812B2 (en) 2005-06-30 2005-06-30 System and method to increase DRAM parallelism
PCT/US2006/025540 WO2007005587A2 (en) 2005-06-30 2006-06-30 System and method to increase dram parallelism

Publications (2)

Publication Number Publication Date
JP2008544424A JP2008544424A (ja) 2008-12-04
JP4805351B2 true JP4805351B2 (ja) 2011-11-02

Family

ID=37114589

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008519604A Expired - Fee Related JP4805351B2 (ja) 2005-06-30 2006-06-30 Dramの並列処理を向上するシステム及び方法

Country Status (6)

Country Link
US (1) US7539812B2 (ja)
EP (1) EP1896962A2 (ja)
JP (1) JP4805351B2 (ja)
CN (1) CN101213530B (ja)
TW (1) TWI317877B (ja)
WO (1) WO2007005587A2 (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588810B2 (en) * 2007-08-08 2017-03-07 Microsoft Technology Licensing, Llc Parallelism-aware memory request scheduling in shared memory controllers
US20090182977A1 (en) * 2008-01-16 2009-07-16 S. Aqua Semiconductor Llc Cascaded memory arrangement
US8166229B2 (en) * 2008-06-30 2012-04-24 Intel Corporation Apparatus and method for multi-level cache utilization
WO2010134201A1 (ja) * 2009-05-22 2010-11-25 株式会社日立製作所 半導体装置
US8508997B2 (en) * 2009-12-23 2013-08-13 Intel Corporation Multi-cell vertical memory nodes
US8222140B2 (en) * 2009-12-23 2012-07-17 Intel Corporation Pitch division patterning techniques
WO2013028854A1 (en) 2011-08-24 2013-02-28 Rambus Inc. Methods and systems for mapping a peripheral function onto a legacy memory interface
US9098209B2 (en) 2011-08-24 2015-08-04 Rambus Inc. Communication via a memory interface
US11048410B2 (en) 2011-08-24 2021-06-29 Rambus Inc. Distributed procedure execution and file systems on a memory interface
US9489331B2 (en) * 2012-10-10 2016-11-08 Samsung Display Co., Ltd. Method and protocol for high-speed data channel detection control
US9477619B2 (en) * 2013-06-10 2016-10-25 Cypress Semiconductor Corporation Programmable latency count to achieve higher memory bandwidth
CN107111566B (zh) 2014-12-19 2020-08-14 拉姆伯斯公司 用于存储器模块的动态随机存取存储器(dram)部件
WO2016144521A1 (en) 2015-03-10 2016-09-15 Rambus, Inc. Memories and memory components with interconnected and redundant data interfaces
CN105141532B (zh) * 2015-07-27 2018-05-15 浪潮(北京)电子信息产业有限公司 一种路由方法及路由器
US11068161B1 (en) 2016-07-18 2021-07-20 Rambus Inc. Memory module with emulated memory device population
US10789185B2 (en) 2016-09-21 2020-09-29 Rambus Inc. Memory modules and systems with variable-width data ranks and configurable data-rank timing

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266615A (ja) * 1993-03-12 1994-09-22 Hitachi Ltd 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム
JP2001156621A (ja) * 1999-09-17 2001-06-08 Toshiba Corp 半導体集積回路装置およびデータ・信号伝送システム
WO2004025478A1 (ja) * 2002-09-11 2004-03-25 Fujitsu Limited メモリブロック間のレイテンシ差を活用するデータ処理装置および方法
US20040256638A1 (en) * 2000-01-05 2004-12-23 Richard Perego Configurable width buffered module having a bypass circuit
US20050086441A1 (en) * 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6934823B2 (en) * 2001-03-29 2005-08-23 Intel Corporation Method and apparatus for handling memory read return data from different time domains
US7194581B2 (en) 2003-06-03 2007-03-20 Intel Corporation Memory channel with hot add/remove
US7133962B2 (en) * 2003-09-09 2006-11-07 Intel Corporation Circulator chain memory command and address bus topology
US7788451B2 (en) * 2004-02-05 2010-08-31 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system
US20060174431A1 (en) * 2005-02-09 2006-08-10 Dr. Fresh, Inc. Electric toothbrush
US7337293B2 (en) * 2005-02-09 2008-02-26 International Business Machines Corporation Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices
US7373471B2 (en) * 2005-02-09 2008-05-13 International Business Machines Corporation Executing background writes to idle DIMMs

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06266615A (ja) * 1993-03-12 1994-09-22 Hitachi Ltd 順次データ転送型メモリ及び順次データ転送型メモリを用いたコンピュータシステム
JP2001156621A (ja) * 1999-09-17 2001-06-08 Toshiba Corp 半導体集積回路装置およびデータ・信号伝送システム
US20040256638A1 (en) * 2000-01-05 2004-12-23 Richard Perego Configurable width buffered module having a bypass circuit
WO2004025478A1 (ja) * 2002-09-11 2004-03-25 Fujitsu Limited メモリブロック間のレイテンシ差を活用するデータ処理装置および方法
US20050086441A1 (en) * 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system

Also Published As

Publication number Publication date
EP1896962A2 (en) 2008-03-12
TWI317877B (en) 2009-12-01
WO2007005587A2 (en) 2007-01-11
CN101213530A (zh) 2008-07-02
CN101213530B (zh) 2010-05-19
TW200720934A (en) 2007-06-01
WO2007005587A3 (en) 2007-03-08
JP2008544424A (ja) 2008-12-04
US20070005877A1 (en) 2007-01-04
US7539812B2 (en) 2009-05-26

Similar Documents

Publication Publication Date Title
JP4805351B2 (ja) Dramの並列処理を向上するシステム及び方法
US6532525B1 (en) Method and apparatus for accessing memory
US9477617B2 (en) Memory buffering system that improves read/write performance and provides low latency for mobile systems
US7337293B2 (en) Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US20050210185A1 (en) System and method for organizing data transfers with memory hub memory modules
JP5947302B2 (ja) 複数のメモリチャネルを有するコンピューティングシステムにおけるメモリバッファの割り当て
JP2007183692A (ja) データ処理装置
US8271746B1 (en) Tiering of linear clients
US6502173B1 (en) System for accessing memory and method therefore
US7409486B2 (en) Storage system, and storage control method
JP2005084907A (ja) メモリ帯域制御装置
CN110633230A (zh) 高带宽dimm
EP2006773A9 (en) Integrated circuit, and integrated circuit system
US20090119429A1 (en) Semiconductor integrated circuit
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
US8244929B2 (en) Data processing apparatus
KR101022473B1 (ko) 다층 버스 시스템에서의 메모리 뱅크 인터리빙 방법 및장치
JP2005346715A (ja) マルチポートランダムアクセスメモリ
JP2005141344A (ja) ディスクアレイ装置及びディスクアレイ装置の制御方法
JP2006048691A (ja) ストリーミングidメソッドによるdmac発行メカニズム
JP2005346637A (ja) 先入れ先出しメモリ及びそれを用いた記憶媒体制御装置
JP4737702B2 (ja) ディスクアレイ制御装置
EP0597296A2 (en) Cache architecture for high speed memory-to-I/0 data transfers
JP2015014872A (ja) データ処理装置、データ処理方法およびプログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110308

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110614

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20110810

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140819

Year of fee payment: 3

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