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

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

Info

Publication number
JP2008544424A
JP2008544424A JP2008519604A JP2008519604A JP2008544424A JP 2008544424 A JP2008544424 A JP 2008544424A JP 2008519604 A JP2008519604 A JP 2008519604A JP 2008519604 A JP2008519604 A JP 2008519604A JP 2008544424 A JP2008544424 A JP 2008544424A
Authority
JP
Japan
Prior art keywords
ranked
addressed
ranked dram
dram
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.)
Granted
Application number
JP2008519604A
Other languages
English (en)
Other versions
JP4805351B2 (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)

Abstract

複数ランク・メモリー・プロトコルの方法及び装置。いくつかの実施例では、装置は、メモリー制御装置(MC)、及び前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子、を有し、前記MCと前記複数のランク付けされたDRAM素子との間、及び前記複数のランク付けされたDRAM素子間の動作のタイミング及び開始は前記MCにより制御される。いくつかの実施例では、方法は、要求を複数のランク付けされたDRAM素子の1つにアドレス指定する段階、前記要求を、前記複数のランク付けされたDRAM素子と連動するメモリー制御装置(MC)から送信する段階、及び前記要求を、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ伝搬する段階、を有し、前記要求は前記要求と関連付けられたデータを有する。

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とランク付けされたDRAM220―225との間の動作の全てのタイミングは、MC115により制御される。また、全てのこのような動作の開始は、MC115により達成される。更に、MC115とDRAM210(ランク0)との間の通信、及び複数のランク付けされたDRAM220―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乃至4にランク付けされる。DRAM素子210は0にランク付けされ、DRAM素子215は1にランク付けされ、DRAM素子220は2にランク付けされ、及びDRAM素子225は4にランク付けされる。
タイミング図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−4にアドレス指定されたREADコマンドに対し要求されるタイミングを示す。MCは、要求されたデータが利用可能である場合、アドレス指定されたランク付けされたDRAM素子からMCへの戻り経路全体のスケジューリング(つまりタイミング)に関与する。経路全体がREAD動作に割り当てられない場合、READコマンドは経路が割り当て可能になるまで遅延されなければならない。
図5は、本発明のいくつかの実施例による、READ動作のタイミング図500の例である。図505−520は、それぞれランク0−4にアドレス指定された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コマンド・ビットは、MCに、各ランク付けされたDRAM素子の内部に保持されたローカル記憶装置であるDRAMバッファーを管理する機構を提供する。アサートされた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 2008544424
図9は本発明のいくつかの実施例による処理900のフロー図の例である。処理900は、図10のタイミング図1000を参照することにより一層理解される。処理900は書き込みの経験を対象とする。データ信号は、MCからのWRITEコマンドに対しアドレス指定されたランク付けされたDRAM素子に割り当てられる。例えば、ランク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は本発明のいくつかの実施例のフロー図の例である。処理12は、図13のタイミング図1300を参照することにより一層理解される。処理12は通知された書き込み処理を対象とする。通信接続全体の割り当ては、コンピューター・システム内で生成される所与の多くの要求を実施するには困難である。通知された書き込み処理1200は、MCと複数のランク付けされたDRAM素子との間の接続を効率的に管理し得る部分にWRITE動作を分割することにより、この困難を解決する。
通知された書き込み処理1200は、WRITEコマンド及びデータ・ビットに加え、実施時にコマンド・ビットを用いて良い。追加コマンド・ビットは、複数のランク付けされたDRAM素子のそれぞれに関連付けられたローカル・バッファー記憶装置へのENABLE WRITE BUFFERコマンドを表して良い。ENABLE WRITE BUFFERコマンド・ビットは、MCに、各ランク付けされたDRAM素子の内部に保持されたローカル記憶装置であるDRAMバッファーを管理する機構を提供する。アサートされた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を有する。回路800は、WRITE FIFOへの参照をバイパスするバイパス選択肢を有する。バイパス選択肢は、「WIRTE BUFFER EMPTY」と付されたマルチプレクサー1410の入力により示される。WIRTE BUFFER EMPTY信号がマルチプレクサー1410により受信される例では、データ出力は、進行中のDRAM素子又はMCからDRAMへ提供される書き込みデータである。
本開示は、本発明の特定の例である実施例に関連して説明された。しかしながら、特許請求の範囲に記載された広範な精神及び範囲から逸脱することなく、これら実施例に種々の修正及び変更がなされ得ることが明らかである。
本発明のいくつかの実施例によるシステムのブロック図の例である。 本発明のいくつかの実施例による装置の例である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例による概略図である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるタイミング図の例である。 本発明のいくつかの実施例によるフロー図の例である。 本発明のいくつかの実施例による概略図の例である。 本発明のいくつかの実施例による概略図である。

Claims (23)

  1. 装置であって、
    メモリー制御装置(MC)、及び
    前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子、を有し、前記MCと前記複数のランク付けされたDRAM素子との間、及び前記複数のランク付けされたDRAM素子間の動作のタイミング及び開始は前記MCにより制御される、装置。
  2. 前記MCと接続され及び前記複数のランク付けされたDRAM素子と接続された通信接続は、前記MC及び前記複数のランク付けされたDRAM素子により1つずつ駆動され得る双方向接続である、請求項1記載の装置。
  3. コマンドは前記MCから送信され、そして前記複数のランク付けされたDRAM素子のランクに基づく所定の順序で、前記複数のランク付けされたDRAM素子を通じて伝搬する、請求項1記載の装置。
  4. 前記コマンドは、前記ランク付けされたDRAM素子の1つと関連付けられた少なくとも1つのアドレス・ランク、及びアドレス指定されたランク付けされたDRAM素子の列アドレスを有する、請求項3記載の装置。
  5. アドレス指定されたランク付けされたDRAM素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ伝搬され、及び前記MCからアドレス指定されたランクを読み出すための待ち時間は、前記アドレス指定されたランク付けされたDRAM素子と前記MCとの間にある複数のDRAM素子のそれぞれと関連付けられた、可変のランクに依存する遅延に基づく、請求項1記載の装置。
  6. アドレス指定されたランク付けされたDRAM素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ、延期された読み出し動作に基づき伝搬され、読み出しデータは、前記読み出しデータを前記MCへ伝搬するため、前記アドレス指定されたランク付けされたDRAM素子と前記MCとの間にある複数のランク付けされたDRAM素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項1記載の装置。
  7. アドレス指定されたランク付けされたDRAM素子と関連付けられた書き込みデータは、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ伝搬され、及び前記MCからアドレス指定されたランクへ書き込むための待ち時間は、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のDRAM素子のそれぞれと関連付けられた固定遅延に基づく、請求項1記載の装置。
  8. アドレス指定されたランク付けされたDRAM素子と関連付けられた書き込みデータは、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ、通知された書き込み動作に基づき伝搬され、書き込みデータは、前記書き込みデータを前記アドレス指定されたランク付けされたDRAM素子へ伝搬するため、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のランク付けされたDRAM素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項1記載の装置。
  9. 方法であって、
    要求を複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子の1つにアドレス指定する段階、
    前記要求を、前記複数のランク付けされたDRAM素子と連動するメモリー制御装置(MC)から送信する段階、及び
    前記要求を、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ伝搬する段階、を有し、前記要求は前記要求と関連付けられたデータを有する、方法。
  10. 前記要求は前記要求と関連付けられたコマンド及びデータを有する、請求項9記載の方法。
  11. 前記要求は前記複数のランク付けされたDRAM素子の1つにアドレス指定された読み出しコマンドであり、前記方法は、
    読み出しデータを、前記アドレス指定されたランク付けされたDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ伝搬する段階、を更に有し、前記MCからアドレス指定されたランクを読み出すための待ち時間は、前記アドレス指定されたランク付けされたDRAM素子と前記MCとの間にある複数のDRAM素子のそれぞれと関連付けられた、可変のランクに依存する遅延に基づく、請求項9記載の方法。
  12. 前記要求は前記複数のランク付けされたDRAM素子の1つにアドレス指定された読み出しコマンドであり、前記方法は、
    読み出しデータを、前記アドレス指定されたランク付けされたDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ、延期された読み出し動作に基づき伝搬する段階、を更に有し、前記読み出しコマンドと関連付けられた読み出しデータは、前記読み出しデータを前記MCへ伝搬するため、前記アドレス指定されたランク付けされたDRAM素子と前記MCとの間にある複数のランク付けされたDRAM素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項9記載の方法。
  13. 前記要求は前記複数のランク付けされたDRAM素子の1つにアドレス指定された書き込みコマンドであり、前記方法は、
    前記書き込みコマンドと関連付けられた書き込みデータを、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ伝搬する段階、を更に有し、及び前記MCからアドレス指定されたランクへ書き込むための待ち時間は、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のDRAM素子のそれぞれと関連付けられた固定遅延に基づく、請求項9記載の方法。
  14. 前記要求は前記複数のランク付けされたDRAM素子の1つにアドレス指定された書き込みコマンドであり、前記方法は、
    書き込みデータを、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ、通知された書き込み動作に基づき伝搬する段階、を更に有し、書き込みデータは、前記書き込みデータを前記アドレス指定されたランク付けされたDRAM素子へ伝搬するため、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のランク付けされたDRAM素子のそれぞれに対応するローカル・バッファーに連続的に格納される、請求項9記載の方法。
  15. 前記MCと接続され及び前記複数のランク付けされたDRAM素子と接続された通信接続は、前記MC及び前記複数のランク付けされたDRAM素子により1つずつ駆動され得る双方向接続である、請求項9記載の方法。
  16. 前記要求及びタイミング動作は前記MCにより制御される、請求項9記載の方法。
  17. 前記要求は前記MCから送信され、そして前記複数のランク付けされたDRAM素子のランクに基づく所定の順序で、前記複数のランク付けされたDRAM素子を通じて伝搬する、請求項9記載の方法。
  18. 前記コマンドは、前記複数のランク付けされたDRAM素子の1つと関連付けられた少なくとも1つのアドレス・ランク、及び前記アドレス指定されたランク付けされたDRAM素子の列アドレスを有する、請求項10記載の方法。
  19. システムであって、
    ダブル・データ・レート・メモリー、
    メモリー制御装置(MC)、及び
    前記メモリー制御装置と連動する複数のランク付けされたダイナミック・ランダム・アクセス・メモリー(DRAM)素子、を有し、前記MCと前記複数のランク付けされたDRAM素子との間、及び前記複数のランク付けされたDRAM素子間の動作のタイミング及び開始は前記MCにより制御される、システム。
  20. アドレス指定されたランク付けされたDRAM素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ伝搬され、及び前記MCからアドレス指定されたランクを読み出すための待ち時間は、前記アドレス指定されたランク付けされたDRAM素子と前記MCとの間にある複数のDRAM素子のそれぞれと関連付けられた、ランクに依存する遅延に基づく、請求項19記載のシステム。
  21. アドレス指定されたランク付けされたDRAM素子と関連付けられた読み出しデータは、前記アドレス指定されたランク付けされたDRAM素子から、前記複数のランク付けされたDRAM素子を通じ、前記MCへ、延期された読み出し動作に基づき伝搬され、読み出しデータは、前記読み出しデータを前記MCへ伝搬するため、前記アドレス指定されたランク付けされたDRAM素子と前記MCとの間にある複数のランク付けされたDRAM素子のそれぞれに対応するローカル・バッファーに連続的に格納され、請求項19記載のシステム。
  22. アドレス指定されたランク付けされたDRAM素子と関連付けられた書き込みデータは、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ伝搬され、及び前記MCからアドレス指定されたランクへ書き込むための待ち時間は、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のDRAM素子のそれぞれと関連付けられた固定遅延に基づく、請求項19記載のシステム。
  23. アドレス指定されたランク付けされたDRAM素子と関連付けられた書き込みデータは、前記MCから、前記複数のランク付けされたDRAM素子を通じ、前記アドレス指定されたランク付けされたDRAM素子へ、通知された書き込み動作に基づき伝搬され、書き込みデータは、前記書き込みデータを前記アドレス指定されたランク付けされたDRAM素子へ伝搬するため、前記MCと前記アドレス指定されたランク付けされたDRAM素子との間にある複数のランク付けされたDRAM素子のそれぞれに対応するローカル・バッファーに連続的に格納され、請求項19記載のシステム。
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 true JP2008544424A (ja) 2008-12-04
JP4805351B2 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134201A1 (ja) * 2009-05-22 2010-11-25 株式会社日立製作所 半導体装置

Families Citing this family (15)

* 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
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 (7)

* 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 メモリブロック間のレイテンシ差を活用するデータ処理装置および方法
WO2004109525A2 (en) * 2003-06-03 2004-12-16 Intel Corporation Memory module architecture daisy chain topology detects and reports presence of outer memory module to inner module
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
WO2005076816A2 (en) * 2004-02-05 2005-08-25 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system

Family Cites Families (5)

* 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
US7133962B2 (en) * 2003-09-09 2006-11-07 Intel Corporation Circulator chain memory command and address bus topology
US7373471B2 (en) * 2005-02-09 2008-05-13 International Business Machines Corporation Executing background writes to idle DIMMs
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
US20060174431A1 (en) * 2005-02-09 2006-08-10 Dr. Fresh, Inc. Electric toothbrush

Patent Citations (7)

* 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 メモリブロック間のレイテンシ差を活用するデータ処理装置および方法
WO2004109525A2 (en) * 2003-06-03 2004-12-16 Intel Corporation Memory module architecture daisy chain topology detects and reports presence of outer memory module to inner module
US20050086441A1 (en) * 2003-10-20 2005-04-21 Meyer James W. Arbitration system and method for memory responses in a hub-based memory system
WO2005076816A2 (en) * 2004-02-05 2005-08-25 Micron Technology, Inc. Apparatus and method for data bypass for a bi-directional data bus in a hub-based memory sub-system

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010134201A1 (ja) * 2009-05-22 2010-11-25 株式会社日立製作所 半導体装置
JP5420648B2 (ja) * 2009-05-22 2014-02-19 株式会社日立製作所 半導体装置
US8904140B2 (en) 2009-05-22 2014-12-02 Hitachi, Ltd. Semiconductor device

Also Published As

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

Similar Documents

Publication Publication Date Title
JP4805351B2 (ja) Dramの並列処理を向上するシステム及び方法
US6532525B1 (en) Method and apparatus for accessing memory
US9411538B2 (en) Memory systems and methods for controlling the timing of receiving read data
US7337293B2 (en) Streaming reads for early processing in a cascaded memory subsystem with buffered memory devices
EP1738267B1 (en) System and method for organizing data transfers with memory hub memory modules
EP1488323B1 (en) Memory system with burst length shorter than prefetch length
US20170017586A1 (en) Memory buffering system that improves read/write performance and provides low latency for mobile systems
KR101145784B1 (ko) 반도체 메모리 장치 및 그를 포함하는 메모리 시스템
US5822768A (en) Dual ported memory for a unified memory architecture
US6502173B1 (en) System for accessing memory and method therefore
US7409486B2 (en) Storage system, and storage control method
JP5911548B1 (ja) 共有メモリへのアクセス要求をスケジューリングするための装置、方法およびコンピュータプログラム
CN110633230A (zh) 高带宽dimm
US7913013B2 (en) Semiconductor integrated circuit
TWI449043B (zh) 高速記憶體系統
EP2006773A2 (en) Integrated circuit, and integrated circuit system
JP2005084907A (ja) メモリ帯域制御装置
US8244929B2 (en) Data processing apparatus
RU2475817C1 (ru) Устройство буферизации потоков данных, считываемых из озу
US6392935B1 (en) Maximum bandwidth/minimum latency SDRAM interface
JP2006048691A (ja) ストリーミングidメソッドによるdmac発行メカニズム
EP4246337A1 (en) Electronic system and method for controlling burst length to access memory device of electronic system
JP2003085125A (ja) メモリ制御器及びメモリ制御方法
JP2682789B2 (ja) コンピュータ入出力キャッシュ・システム
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