[go: up one dir, main page]

JPH11513830A - ダイナミック・メモリとの通信に関するプロトコル - Google Patents

ダイナミック・メモリとの通信に関するプロトコル

Info

Publication number
JPH11513830A
JPH11513830A JP9516077A JP51607797A JPH11513830A JP H11513830 A JPH11513830 A JP H11513830A JP 9516077 A JP9516077 A JP 9516077A JP 51607797 A JP51607797 A JP 51607797A JP H11513830 A JPH11513830 A JP H11513830A
Authority
JP
Japan
Prior art keywords
data transfer
data
memory device
controller
transfer operation
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
Application number
JP9516077A
Other languages
English (en)
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
Family has litigation
First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=24175641&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=JPH11513830(A) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Application filed by ランバス・インコーポレーテッド filed Critical ランバス・インコーポレーテッド
Publication of JPH11513830A publication Critical patent/JPH11513830A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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
    • G06F13/161Handling requests for interconnection or transfer for access to memory bus based on arbitration with latency improvement
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C5/00Details of stores covered by group G11C11/00
    • G11C5/06Arrangements for interconnecting storage elements electrically, e.g. by wiring
    • G11C5/066Means for reducing external access-lines for a semiconductor memory clip, e.g. by multiplexing at least address and data signals
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1072Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers for memories with random access ports synchronised on clock signal pulse trains, e.g. synchronous memories, self timed memories
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • G11C8/12Group selection circuits, e.g. for memory block selection, chip selection, array selection

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Dram (AREA)
  • Communication Control (AREA)
  • Reduction Or Emphasis Of Bandwidth Of Signals (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • Memory System (AREA)

Abstract

(57)【要約】 コンピュータ・システム内でデータ転送を実行するシステムおよび方法を提供する。このシステムは、通信が行われるチャネルの使用度を最大にするために、一連のデータ転送動作を実行するのに必要な通信のインタリーブを動的に調整するように構成されたコントローラを含む。このコントローラは、制御情報とは別に送信されるストローブ信号を用いてデータ転送の始めを知らせることによって、データ転送を必要とする制御情報を送信してからデータ転送を実行するまでの時間間隔を変化させることができる。コントローラは、終了信号でデータ転送の終了を開始することにより動作中にどれだけのデータが転送されるのか決定を延ばすことができる。この方法は、同じ線上で搬送される同じ制御信号どうしを区別する技法を与える。このシステムは、所与の電源線から電流を供給される1つのメモリ・バンクのみにセンス動作またはプリチャージ動作を実行させる制御回路を有するメモリ装置を含む。

Description

【発明の詳細な説明】 ダイナミック・メモリとの通信に関するプロトコル 発明の分野 本発明は、ダイナミック・ランダム・アクセス・メモリ(DRAM)に関し、 詳細には、ダイナミック・ランダム・アクセス・メモリへのデータ転送及びそれ からデータ転送を制御する方法および装置に関する。発明の背景 第1A図に示したようなダイナミック・ランダム・アクセス・メモリ(DRA M)の構成要素によって、現在のコンピュータ・システム用の廉価な半導体記憶 技法が確立されている。ディジタル情報は、二次元アレイに配置されたキャパシ タに記憶された電荷の形で維持される。1つのそのようなキャパシタを第1B図 に示す。 第2図は、プロセッサ構成要素またはメモリ・コントローラ構成要素にDRA Mを接続する対応する制御線、アドレス線、データ線を有するDRAMを含む従 来技術のメモリ・システムを示す。同期DRAMでは、アドレス線上に行アドレ スを送信し、行アドレス・ストローブ(RAS)信号を送信することによって書 込みアクセスが開始される。列増幅器によって所望の行がセンスされロードされ る。列アドレスがアドレス線上で送信され、列アドレス・ストローブ(CAS) 信号が書込みデータWData(a,1)の第1のワードと共に送信される。次 いで、このデータ・ワードがDRAMによって受信され、指定された列アドレス で列増幅器に書き込まれる。このステップは、新しい行がセンスされロードされ る前に、現在ロードされている行内で「n」回繰り返すことができる。新しい行 がセンスされる前に、古い行をメモリ・コアに戻し、DRAMのビット線をプリ チャージしなければならない。 第3A図は、同期書込みタイミングを示す。この図で、a、b...は行アド レスを表し、1、2...nは列アドレスを表し、WData[行、列]はデー タ・ワードのDRAMアドレスを表し、行アドレス・ストローブ(RAS)は、 センス動作を開始する制御信号であり、WRITE(CAS)は列増幅器に対す る書込み動作を開始する。この例では、行列アドレス遅延タイミング・パラメー タは2クロック・サイクルに等しい。第1のクロック・サイクルで行アドレスが アサートされた後、データのDRAMアレイへの書込みが遅延された後に列アド レスおよび書込みデータがアサートされる。 第3B図は、同期読取りタイミングを示す。プロセッサは、アドレス線上で行 アドレスを送信し、行アドレス・ストローブ(RAS)信号を送信することによ って読取りアクセスを開始する。この場合、列増幅器によって所望の行がセンス される。次いで、列アドレスがアドレス線上で送信され、列アドレス・ストロー ブ(CAS)信号が送信される。次いで、読取りデータRData(a,1)の 第1のワードがDRAMから送信され、プロセッサによって受信される。このス テップは、新しい行がセンスされロードされる前に、現在ロードされている行内 で「n」回繰り返すことができる。新しい行がセンスされる前に、古い行をメモ リ・アレイに記憶し直しておかなければならない。 従来型のDRAMの性能を向上させるために様々な試みがなされている。その ような試みによって、従来型のDRAMアーキテクチャとは様々な程度に異なる DRAMアーキテクチャが得られている。「NEW DRAM TECHNOL OGIES」(Steven A.Przybylski、MicroDesi gn Resources、Sebastopol、CA(1994年)」に様 々な代替DRAMアーキテクチャが詳しく記載されている。それらのアーキテク チャのうちのいくつかについて下記に全般的に説明する。 拡張データ出力DRAM 従来技術には拡張データ出力(EDO)メモリ・システムが含まれる。EDO DRAMで、出力バッファは、出力イネーブル(OE)制御線および列アドレ ス・ストローブ(CAS)制御線に印加される信号によって制御される。一般に 、データは、EDO DRAMの出力では、従来型のDRAMの場合よりも長い 間有効なままである。データがより長い間有効なままであるので、メモリ・コン トローラ内のラッチへのデータの転送に次の列プリチャージを重ね合わせること が できる。その結果、より少ないクロック・サイクルでバースト転送を行うことが できる。 同期DRAM 従来技術には同期DRAM(SDRAM)メモリ・システムも含まれる。SD RAMのインタフェースは多重化アドレス・バスと高速クロックとを含む。高速 クロックは、DRAM上およびDRAM外のアドレス、データ、制御の流れを同 期させ、動作のパイプライン化を推進するために使用される。すべてのアドレス 入力、データ入力、制御入力はクロックの立上りでラッチされる。出力はクロッ ク立上りの後に変化する。SDRAMは通常、モード・レジスタを含む。モード ・レジスタには、ある動作パラメータを制御する値をロードすることができる。 たとえば、モード・レジスタはバースト長値と、バースト・タイプ値と、待ち時 間モード値とを含むことができる。バースト長値は、DRAMが実行するデータ ・バーストの長さを決定する。バースト・タイプ値は、バースト内で送信される データの順序付けを決定する。典型的なバースト順序には順次順序とサブブロッ ク順序とが含まれる。待ち時間モード値は、ある列アドレスからデータ・バス上 にデータが現れるまでのクロック・サイクルの数を決定する。この時間間隔の適 切な値は主としてSDRAMの動作周波数に依存する。SDRAMが動作周波数 を検出することはできないので、待ち時間モード値はユーザによってプログラム することができる。 要求指向DRAMシステム 従来技術には、コントローラからDRAMに発行された転送要求に応答してD RAMによってデータ転送動作が実行されるメモリ・システムも含まれる。第4 図を参照すると、転送要求に応答してデータ転送が行われるメモリ空間が示され ている。要求パケット・フォーマットは、プロセッサなどのマスタ装置とメモリ などのスレーブ装置との間で通信する高速多重化バス上で使用できるように設計 される。このバスは、それに結合されたスレーブ装置と通信するマスタ装置が必 要とするほぼすべてのアドレス情報、データ情報、制御情報を搬送する。このバ ス・アーキテクチャにはBusCtlと、BusData[8:0]、BusE nable、ならびにクロック信号線、電源線およびグラウンド線の各信号伝送 線が含まれる。これらの線は各装置に並列に接続される。 プロセッサはDRAMと通信し、メモリとの間でデータの読取りおよび書込み を行う。プロセッサは、ビットを所定の伝送線上で所定の時間シーケンス(すな わち、所定のクロック・サイクル)で送信するためにDRAMに伝達される要求 パケットを形成する。DRAM受信機のバス・インタフェースは、受信された情 報を処理し、メモリ要求のタイプとその動作のバイト数を判定する。DRAMは 次いで、要求パケットで示されたメモリ動作を行う。 第5図は、従来技術のプロトコルに従ってデータ転送要求内で送信されるコマ ンド制御情報500を示す。図の例では、コマンド制御情報500が、BusC tl線および9ビット・データ・バス(BusData[8:0])を介して6 クロック・サイクルで送信される。コマンド制御情報500は、アドレスを構成 する数群のビット501、502、504、506、508と、6ビット510 、512、514、516、518、520からなる命令コードと、カウントを 指定する数群のビット522、524、528とを含む。コマンド制御情報50 0内で識別されるアドレスは、ターゲットDRAMと、動作を実行すべきデータ のDRAM内の開始位置とを指定する。コマンド制御情報500内で識別される カウントは、動作を実行すべき情報の量を指定する。発明の概要および目標 本発明の目的は、制御タイミングとデータ・タイミングの結合を解除する機構 を提供することである。 本発明の他の目的は、最小帯域幅を使用してデータ・タイミングを判定し、同 時に、データ転送を終了すべきであることを知らせてから最後のデータ・パケッ トを送信するまでの待ち時間を最小限に抑える機構を提供することである。 本発明の他の目的は、コマンドに従って任意に長いデータ転送を行う機構を提 供することである。これには、同時に、転送される各データ・パケットごとに新 しい列アドレスを設けることを含めることができる。 本発明の他の目的は、データ転送が終了するのと同時に、プリチャージ動作を 実行すべきであることを知らせる手段を提供することである。 本発明の他の目的は、高価であるために満たすことの困難な、DRAMコアに 対する待ち時間要件を課すことなしに、ピン使用度が最大になるように制御情報 とデータ情報をインタリーブする機構および手段を提供することである。 本発明の他の目的は、データ転送の始めと終わりを知らせるために消費される 帯域幅を最小限に抑える制御情報とデータ情報をインタリーブする機構を提供す ることである。 本発明の他の目的は、ピンに与えられた情報を常に解釈するとは限らない装置 を提供することである。各コマンドは、前のコマンド転送に関係する制御情報が 存在するときでも、コマンドに関係する他のすべての制御情報を容易に判定する のに十分な情報を与える。 本発明の他の目的は、一連のコア動作をデータ転送の前に順序付け、任意選択 で、最後のコア動作を、データ伝送が終了した後に順序付ける機構を提供するこ とである。 本発明の他の目的は、DRAMのコストおよび複雑さを最小限に抑えるために ある1時点で単一の高電流RAS動作を行わせるDRAMコアを提供することで ある。 本発明の他の目的は、復号空間および復号時間が最小限に抑えられ、機能が最 大になるように、コマンドの符号化を行うことである。 本発明は、コンピュータ・システム内でデータ転送を行う方法および装置を提 供する。この方法は、コントローラにバス上で制御情報を転送させることを含む 。この制御情報はデータ転送動作と、転送すべきデータの開始位置を指定する。 コントローラは、バス上で制御情報を転送した後、データ転送動作で転送すべき 所望のデータ量を判定する。コントローラは、所望のデータ量とデータ転送動作 の開始時間に基いたある時間にバスを介して終了表示を送信する。メモリ装置は バス上の制御情報を読み取る。メモリ装置は、開始位置に記憶されているデータ に対して指定されたデータ転送動作を実行する。メモリ装置は、バス上で終了表 示を検出するまで、指定されたデータ転送動作を実行し続ける。メモリ装置は、 終了表示が検出された時間に基いた時間にデータ転送動作の実行を終了する。 本発明の他の目的、特徴、利点は、添付の図面と下記の詳細な説明から明らか になろう。図面の簡単な説明 添付の図面では、本発明を制限ではなく一例として示す。図中の同じ参照符号 は同様な要素を指す。 第1A図は、従来技術のダイナミック・ランダム・アクセス・メモリ(DRA M)構成要素のブロック図である。 第1B図は、第1A図に示したDRAMの記憶セルを示す図である。 第2図は、DRAMシステムと、DRAMシステムにアクセスするための入出 力ピンおよび信号線とを示すブロック図である。 第3A図は、同期書込みタイミングを示すタイミング図である。 第3B図は、同期読取りタイミングを示す従来技術のタイミング図である。 第4図は、メモリ・コントローラが要求パケットをチャネルを介してDRAM に発行する従来技術のメモリ・システムを示す図である。 第5図は、コントローラから従来技術のプロトコルによるDRAMへ送信され るコマンド制御情報を示す図である。 第6図は、本発明を含むコンピュータ・システムのブロック図である。 第7図は、本発明の一実施形態によるDRAMの制御回路および復号回路を示 すブロック図である。 第8図は、本発明の実施形態によるデータ転送を開始するためにコントローラ によって使用されるプロトコルを示すフローチャートである。 第9図は、本発明の一実施形態による要求パケットを示す図である。 第10図は、従来技術のプロトコルによる、読取り待ち時間が書込み待ち時間 に等しいときのインタリーブされた読取り/書込みトランザクション・タイミン グを示すタイミング図である。 第11図は、代替従来技術プロトコルによる、多重化データ/行/列制御情報 の同期インタリーブ読取りタイミングを示すタイミング図である。 第12図は、本発明の非インタリーブ実施形態で実行される5つのトランザク ションのタイミングを示す図である。 第13図は、本発明のインタリーブ実施形態で実行される5つのトランザクシ ョンのタイミングを示す図である。 第14図は、従来技術による命令コードを復号する回路を示す図である。 第15図は、本発明の一実施形態による命令コードを復号する回路を示す図で ある。 第16A図は、本発明の実施形態による命令コード符号化方式を示す図である 。 第16B図は、第16A図に示した表の続きである。 第17図は、特定のDRAMが動作要求に応答すべきかどうかを判定する従来 技術の回路を示す図である。 第18図は、本発明の実施形態による、特定のDRAMが動作要求に応答すべ きかどうかを判定する従来技術の回路を示す図である。 第19図は、本発明の実施形態による、オープン・ビットとクローズ・ビット との間のマッピングと、ビットに応答してDRAMによって実行される動作とを 示す図である。 第20A図は、本発明の実施形態による、各内部電源線を介して1つの高電流 動作しか実行させないように構成されたDRAMを示すブロック図である。 第20B図は、本発明の実施形態による、所与の時間にDRAM内で1つの高 電流動作しか実行させないように構成されたDRAMを示すブロック図である。詳細な説明 第6図は、本発明を含むコンピュータ・システムのブロック図である。データ 転送システムは、中央演算処理装置600と、メモリ・コントローラ601と、 DRAM603とを含む。メモリ・コントローラ601は、DRAM603が接 続されたチャネル622にCPU600を接続する。説明の都合上、チャネル6 22上には単一のDRAMを示す。しかし、本発明はチャネル622上の特定の 数のDRAMには限られない。 CPU600はたとえば、マイクロプロセッサであってもよい。CPU600 は、データ転送動作を必要とする命令を実行する際、所望の転送動作を指定した 制御信号をメモリ・コントローラ601へ送信する。メモリ・コントローラ60 1はたとえば、所望の転送動作を指定するために要求パケットをチャネル622 を介してDRAM603へ送信するように構成された特定用途向け集積回路(A SIC)メモリ・コントローラでよい。 一実施形態によれば、チャネル622は、デージー・チェーン入力を初期設定 する線624と、「クロック・ツー・エンド」線650と、「クロック・フロム ・マスタ」線628と、「クロック・ツー・マスタ」線630と、BasEna ble線、BusCtl線、9ビット・データ・バス(BusData[8:0 ])を含む複数の線626とを含む。「クロック・ツー・エンド」線650はク ロック信号をメモリ・コントローラ601から線630の端部へ搬送する。「ク ロック・ツー・マスタ」線630はクロック信号をチャネル622上の様々な装 置に経路指定し、再びメモリ・コントローラ601に経路指定する。「クロック ・フロム・マスタ」線628は、クロック信号を「クロック・ツー・マスタ」線 630から再びチャネル622上の様々な装置に経路指定する。「クロック・フ ロム・マスタ」線628上のクロック信号は、コントローラ601から送信され る要求パケットおよび書込みデータ・パケットに整列する。「クロック・ツー・ マスタ」線630上のクロック信号は、DRAM603から送信される読取りデ ータ・パケットに整列する。線626を介して伝達される情報には、要求パケッ トと、データ転送制御信号と、データ・パケットとが含まれる。 DRAM603は、記憶部632と、制御部634と、入出力部636の3つ の部分に分割される。記憶部632は、2つの独立のメモリ・バンク602およ び606からなるDRAMコアを含む。単に説明の都合上2バンクDRAMにつ いて簡単に説明することに留意されたい。本発明は特定の数のメモリ・バンクを 含むDRAMに限らない。 メモリ・バンク602および606はそれぞれ、ラッチングセンス増幅器キャ ッシュ604および608を有する。キャッシュ604および608は、それぞ れのメモリ・バンクの現在センスされている行を保持する。制御部634は制御 ロジック610と制御レジスタ614とを含む。制御ロジック610は、線62 4上の制御信号に応答して初期設定動作を実行する。制御レジスタ614の読取 りおよび書込みは特殊レジスタ空間コマンドを使用して行われる。制御レジスタ 614の内容は、DRAM603がどのように動作するかを決定する。たとえば 、制御レジスタ614は、DRAM603が使用する出力駆動電流と、DRAM 603のベース・アドレスと、DRAM603の構成およびサイズを決定する値 を記憶することができる。 入出力部636は、クロック生成装置618と、受信機620と、送信機61 6とを含む。クロック生成装置618は外部クロック信号を使用して、DRAM 603が内部で使用するクロック信号を生成する。受信機620および送信機6 16は、内部データ経路に、線626よりも遅いクロック速度でかつ線626と 等しい帯域幅で動作させる、多重化ハードウェアと記憶ハードウェアとを含む。 第7図は、本発明の一実施形態による、本発明を実施することのできるDRA Mのブロック図である。第7図を参照すると分かるように、DRAM700は概 略的には、入出力・制御回路722と、4つのメモリ・バンクと、複数の列デコ ーダ718および720と、複数の行デコーダ704、706、712、714 とを含む。4つのバンクはそれぞれ、2つのメモリ・ブロックに分割される。具 体的には、BANK0はブロック702Aとブロック702Bをに分けられ、B ANK1はブロック708Aとブロック708Bに分けられ、BANK2はブロ ック710Aとブロック710Bに分けられ、BANK3はブロック716Aと ブロック716Bに分けられる。 入出力・制御回路722はチャネル724を介してコントローラから要求パケ ットを受信する。要求パケットは、記憶位置に対応するアドレスと、指定された 記憶位置に記憶されているデータに対して実行すべき動作を指定する命令コード とを含む。読取り動作を実行するときは、入出力・制御回路722が行デコーダ 704、706、712、714へ制御信号を送信し、指定されたデータを含む 行をキャッシュ内へ移動させる。次いで、入出力・制御回路722は列デコーダ 718および720へ制御信号を送信し、行キャッシュ内の行の列から得たデー タをチャネル724上へ送出させる。送信される列は、要求パケット内に含まれ るアドレスに対応する列である。 コントローラ動作 第8図を参照すると、本発明の一実施形態による、データ転送を開始するため にコントローラによって使用されるプロトコルを示すフローチャートである。ス テップ802で、コントローラは、データ転送動作で使用されるDRAM(「タ ーゲットDRAM」)へウェークアップ信号を送信する。ステップ804で、コ ントローラは、ターゲットDRAMへコマンド制御情報を送信する。本発明の一 実施形態によるコマンド制御情報の内容を第9図に示す。 第9図を参照すると分かるように、コマンド制御情報は、BusCtl線およ びBusData[8:0]線を介して、それぞれ、偶数フェーズと奇数フェー ズとを有する、3クロック・サイクルにわたって送信される。開始ビット902 は、BusCtl線を介して第1のクロック・サイクルの偶数フェーズで送信さ れる。下記で詳しく説明するように、開始ビットは、DRAMに信号をコマンド 制御情報として識別させるフラグとして働く。 コマンド制御情報は、指定されたデータ転送動作で使用されるターゲットDR AM内の開始メモリ位置を識別するアドレス904を含む。コマンド制御情報は さらに、命令コードと、オープン・ビットおよびクローズ・ビットと、ペンド( Pend)値とを含む。 後述のように、命令コード内のある種のビットは、ターゲットDRAM内の制 御線に直接対応する。具体的には、命令コードは、ターゲットDRAM内の制御 線に対応する書込みビット906と、Regビット908と、NoByteMビ ット910とを含む。コマンド制御情報の受信時に、DRAMは単に、これらの ビットに記憶されている値をそれぞれの制御線上に置く。命令コードは、指定さ れた動作がブロードキャスト動作であるかどうかを示すブロードキャスト・ビッ ト912も含む。 オープン値、クローズ値、ペンド値は、下記で詳しく説明する機能を果たす。 一般には、オープン・ビットおよびクローズ・ビットは、命令コードに指定され た動作の前または後、あるいはその両方にプリチャージ動作またはセンス動作、 あるいはその両方を実行すべきかどうかを指定する。ペンド値は、コマンド制御 情報から、コマンド制御情報に指定された動作に対応するストローブ信号までの 間にBusCtl線上にいくつの奇数フェーズ・ビット(他のトランザクション 用の要求パケット内の奇数フェーズ・ビット以外)が現れるかを示す。コマンド 制御情報には、本発明に関係のない他の値「EvalCC」および「Mask」 も含まれる。 再び第8図を参照すると分かるように、制御はステップ804からステップ8 06に渡る。ステップ806で、コントローラはBusCtl線を介してストロ ーブ信号を送信する(ステップ810)。トランザクションで複数のデータ・パ ケットが使用される場合、第1のデータ・パケットに続いて送信されるデータ・ パケットの列アドレスがBusEnable線を介して順次送信される(ステッ プ808)。ステップ808とステップ810は、ステップ810がステップ8 08と並行して実行されることを示すためにステップ806で組み合わされてい る。一実施形態では、後続のデータ・パケットのアドレスの伝送は、第1のデー タ・パケットの後に第2のデータ・パケットおよびそれ以後のデータ・パケット を連続的に送信できるように後続のデータ・パケットを送信する時間よりも前の 十分な間隔に開始する。 ステップ814で、データはデータ・バス(BusData[8:0])を介 して送信される。このステップでは、データ転送動作が書込み動作であるか、そ れとも読取り動作であるかに応じてターゲットDRAMとの間でデータを送った り受けたりすることができる。コントローラは、最後のデータ・パケットを送信 する前の一定の期間内に、BusCtl線上で終了信号を送信する(ステップ8 16)。ステップ814の実行中にステップ816が実行されることを示すよう に、ステップ816とステップ814は単一のステップ812として示されてい る。 後述のように、メモリ・コントローラの一実施形態は、データ情報と制御情報 のインタリーブを、チャネルをより十分に利用するように動的に調整する。イン タリーブとは、複数のトランザクションに関連付けられたデータ、要求、制御信 号の相対的な順序付けを指す。動的なインタリーブ調整が可能なように、ステッ プ804の実行とステップ806の実行との間には一定の期間がある。コントロ ーラは、所望のインタリーブを与える(たとえば、ステップ804の実行とステ ップ806の実行との間に他のトランザクション用のコマンド制御情報を送信す る時間を与える)必要に応じて、ステップ806のタイミングをステップ804 のタイミングに対して調整することができる。 一実施形態では、コントローラは、所与のDRAMをターゲットとする要求の 数を制限するように構成される。たとえば、所与のDRAMに対して2つのデー タ転送動作が要求された場合、コントローラは、未処理の1つの要求が実行され るまで第3の要求を発行するのを控える。DRAMが所与の時間に処理しなけれ ばならない要求の数を制限することによって、DRAM内のコマンド待ち行列の サイズが縮小し、DRAMの複雑さが低減される。 一実施形態では、チャネル上の未処理の要求の数は、単一のDRAMが処理し ている要求の数よりも多くてよい。好ましくは、未処理の要求の数は、未処理の 要求の数を示すフィールドのサイズと、チャネル上のすべてのDRAMが処理す ることのできる要求の総数によってのみ制限される。 異なる転送サイズ判定 典型的なEDO構成要素およびSDRAM構成要素では、有限数のデータ転送 サイズしかサポートされない。各データ転送サイズごとに、DRAMへ送信しな ければならない制御情報の量と、この動作で転送されるデータの量との間に一定 の比率がある。したがって、転送すべきデータの量が多ければ多いほど、DRA Mへ送信しなければならない制御情報の量も多くなる。たとえば、1つまたは4 つのデータ・ワードの転送しかサポートしないSDRAMを用いた場合、8つの データ・ワードを転送するには2度の4ワード転送を行わなければならない。し たがって、命令コードとアドレスとを含む4データ・ワード転送のためにコント ローラがDRAMへ送信しなければならないすべての制御情報を2度送信しなけ ればならない。 従来技術の要求指向システムでは、データ転送カウントは、コントローラがデ ータ転送動作を開始するためにDRAMへ送信するコマンド制御情報の一部であ る。データ転送カウントを送信するために制御情報に割り振られるビットの量は 一定である。したがって、システムが単一の転送要求に応答して実行できるデー タ転送のサイズは、使用可能なビット数に指定できるデータ・パケットの数に制 限される。このようにデータ転送に対してサイズ制限が課されるので、より小規 模なデータ転送動作を求める多数の要求を使用して多量のデータの転送を実行す る必要がある。たとえば、データ転送カウントが5ビット長に過ぎず、データ・ パケットが8バイトである場合、データ転送の最大サイズは256バイト(32 個のデータ・パケット)である。256バイトよりも大規模な転送の場合、複数 の要求パケットを使用しなければならない。 従来技術のある要求指向システムでは、コントローラは、終了制御信号をDR AMへ送信することによってデータ転送動作を早めに終了することができる。D RAMは、特定のデータ転送動作中に終了制御信号を受信すると、転送されたデ ータの量がこの動作のデータ転送カウントに指定されたデータの量よりも少ない 場合でも、この動作に関するデータの処理を終了する。この技法では、コントロ ーラは、特定の転送サイズが指定された後にデータ転送を縮小することができる が、要求されるトランザクション当たりに最大サイズ限界を有することに関連す る制限は解消されない。 本発明の一態様によれば、要求パケット内のコマンド制御情報はもはやサイズ 情報を含まない。DRAMは、コマンド制御情報の伝送とは別に、かつその伝送 の後に続いてコントローラからDRAMへ送信されるデータ転送制御情報に基づ いてデータの伝送を開始し終了するように構成される。一実施形態によれば、デ ータ転送制御情報には、DRAMがいつデータの送信を開始するかを示すために コントローラから送信されるデータ転送開始情報(「ストローブ信号」)と、D RAMがいつデータの送信を停止するかを示すデータ転送終了情報(「終了信号 」)とが含まれる。ストローブ信号の伝送と終了信号の伝送との間に経過するク ロック・サイクルの数は、データ転送のサイズを示す。 データ転送動作で複数のデータ・パケットが使用される場合、コントローラは 、第2のデータ・パケットおよびそれ以後のデータ・パケットで送信すべきデー タを含む列を指定する列アドレス情報をBusEnable線上で順次送信する 。好ましくは、コントローラは、列アドレスを再構築し、列アドレスに対応する データ・パケットがチャネルを介して送信される前にDRAMコア内の指定され た列からデータを事前取出しするのに十分な時間をDRAMが確保できるときに 列アドレス情報の伝送を開始する。DRAMは、マルチパケット転送時にBus Enable線を介して列アドレスを連続的に受信するので、次のデータ・パケ ッ トのデータをどこから受信すべきかを判定するためのカウンタを維持する必要は ない。 コマンド制御情報とは別にデータ転送制御情報を送信することによって、任意 の量のデータに関する転送動作を指定することが可能である。したがって、大規 模な転送を、より少ない量のデータを求める複数の要求に分割する必要はない。 一実施形態では、DRAM内の制御回路は、要求パケットを受信した後できるだ け早く、要求されたデータのDRAMコアからの受信を開始するように構成され る。DRAMは、ストローブ信号がDRAMコアからのデータの受信を開始する のを待たない。しかし、ストローブ信号が受信されるまでDRAMがチャネル上 でデータを送信することはない。DRAMから送信すべき最初のデータ・パケッ トがコアから事前取り出しされているので、最終的にストローブ信号が到着して から最小限の遅延で、チャネルを介してデータ・パケットを送信することができ る。 転送動作に対するストローブ信号(1)を送信してから、転送動作中に第1の パケット(2)を送信するまでの遅延を短縮することには多数の利益がある。た とえば、転送要求から転送の始めまでの最小待ち時間がストローブ−データ間遅 延よりも短くなることはない。したがって、ストローブ−データ間遅延は、高速 コア動作をサポートするDRAM用のクリチカル・パスを決定することができる 。また、ストローブ−データ間遅延が長ければ長いほど、コマンド制御情報信号 およびストローブ信号を正確にかつ効率的にパイプライン化するためにコントロ ーラをより複雑にしなければならない。 単一のビット・ストローブ信号と終了信号とを含むデータ転送動作の始めおよ び終わりを示すのに必要な帯域幅は最小限である。一実施形態では、単一の線( BusCtl線)を使用して、ストローブ信号と終了信号を含め、様々な制御信 号が搬送される。さらに、転送動作を開始し終了するために使用されるチャネル の使用度が転送すべきデータのサイズと共に変動することはない。 DRAMは、固有の回路遅延のために、終了信号を受信したときに瞬時にデー タ伝送を終了するわけでない。終了信号によって、DRAMはデータ転送の終了 を開始する。転送中の最後のデータ・パケットの伝送は、終了信号を受信したあ とのあるクロック・サイクルで行われる。終了信号を使用して転送動作の終了を 指定すると、重要なこととして、トランザクションに関する終了信号の伝送とト ランザクションの最後のデータ・パケットの伝送との間の待ち時間が最小限に抑 えられる。トランザクションに関する終了信号から、チャネルがトランザクショ ンに関するデータの送信に使用されるのが終了する時間までの待ち時間を短縮す ることによって、コントローラがチャネルを他のトランザクションに使用するの に必要な時間が短縮される。これは、同じチャネルを求めて競合する複数の要求 があるときに特に重要である。 一実施形態では、終了信号を使用してトランザクションを終了または中断する ことができる。終了信号の厳密なタイミングを使用して、転送動作を終了すべき か、それとも単に中断すべきかを示すことができる。たとえば、終了信号をスト ローブ信号に対して1モジュラスで送信する場合、DRAMはデータ転送動作を 終了するように構成される。モジュラスとは、ある整数を別の整数で除した後に 得られる剰余のことである。終了信号をストローブ信号に対して異なるモジュラ スで送信する場合、DRAMは転送動作を中断するように構成される。DRAM は、継続制御信号を受信したときに、中断されていた転送動作を継続するように 構成することができる。 データ転送制御情報の結合解除 従来技術のシステムでは、データ転送のタイミングはデータ転送を求める要求 のタイミングによって示される。したがって、転送要求が特定のクロック・サイ クルで到着した場合、その要求に指定されたデータが特定のクロック・サイクル から所定のクロック・サイクル数を経てBusData[8:0]上に現れ始め ることが知られていた。たとえば、要求パケットと、要求パケットに指定された データの転送との間で経過するクロック・サイクルの数は、DRAM内のレジス タに記憶されている値によって求めることができる。このため、従来技術のシス テムは、チャネルの使用度を最大にするために制御信号とデータ信号をどのよう にインタリーブするかに関して融通が利かない。 前述のように、要求パケットに関連するデータ転送のタイミングを制御するデ ータ転送制御情報は、その制御情報に対応するコマンド制御情報とは別に送信さ れる。本発明の他の態様によれば、データ転送制御情報のタイミングは、対応す る要求パケットのタイミングに対して可変である。すなわち、要求パケットを送 信してから、要求パケットに指定された転送を開始するためにストローブ信号を 送信するまでのクロック・サイクル数は、トランザクションごとに異なるもので よい。 本発明の代替実施形態によれば、要求パケットを送信してから、要求パケット に指定されたデータを送信するまでの間に経過する時間が、ストローブ信号およ び終了信号を使用せずに変更される。この実施形態では、要求パケットは、要求 パケットが送信された時間に対して、要求パケットに指定されたデータの送信が いつ開始するかをDRAMに示す遅延値を含む。DRAMは、適切なクロック・ サイクルで、要求に指定されたデータを送信または受信するために、要求パケッ トが到着してから経過するクロック・サイクルをカウントするカウンタを含む。 コントローラは、要求パケットからデータ伝送までの待ち時間を変更することが できるので、下記で詳しく説明するようにチャネル上の動作インタリーブを動的 に調整することができる。 動的インタリーブ調整 前述のように、要求からデータ伝送までのタイミングが一定である関する、た め、従来技術のシステムは、制御信号とデータ信号をどのようにインタリーブす るかに関して融通が利かない。たとえば、第10図および第11図は、特定の従 来技術のプロトコル・システムの場合のトランザクションのタイミングを示す。 第10図を参照すると、読取りアクセスおよび書込みアクセスのインタリーブ されたタイミングが示されている。このインタリーブ構造のために、あるDRA Mへの読取りアクセスを他のDRAMへの書込みアクセスとインタリーブするこ とができる。第11図は、代替従来技術プロトコルによる多重化データ/行/制 御情報の同期インタリーブ読取りタイミングを示す。これらの従来技術のインタ リーブ・パターンは共に、非インタリーブ・プロトコルと比べて、DRAMのチ ャネルおよび内部資源の使用度を高める。しかし、要求からデータ転送までのタ イミングが一定であり、したがってインタリーブ・パターンが一定である。した がって、コントローラは、システムの状態の変化に応答してチャネルおよびDR AM資源の使用度を最大にするようにインタリーブを調整することはできない。 コマンド制御状態に指定されたデータを送信するまでのタイミングを変更する ことができれば、従来は不可能であった変更を加えながらBusData[8: 0]上の情報をインタリーブすることが可能である。本発明の一実施形態によれ ば、コントローラは、制御情報またはデータの伝送に対して内部DRAM待ち時 間が長いにもかかわらずチャネルの使用度を最大にするようにインタリーブを動 的に調整する。 付記Aおよび第12図を参照すると、5回の非インタリーブ・データ転送動作 のタイミングが示されている。クロック・サイクル0で、トランザクション0に 関連するウェークアップ信号がコントローラからBusCtl線「BC」上のD RAMへ送信される。クロック・サイクル4ないし6で、トランザクション0に 関するコマンド制御情報が、BusCtl線および9本のバス・データ線「BD [8:0]」を介してコントローラからDRAMへ送信される。クロック・サイ クル10で、DRAMは、コマンド制御情報に指定されたバンクのコマンド制御 情報に指定された行のセンスを開始する。クロック・サイクル17で、コントロ ーラは、トランザクション0に関連するストローブ信号をDRAMへ送信する。 クロック・サイクル23で、DRAMはコマンド制御情報に指定されたアドレス から始まるデータの転送を開始する。クロック・サイクル30で、コントローラ は、トランザクション0に関連する終了信号をDRAMへ送信する。クロック・ サイクル38で、DRAMは、トランザクション0に関連する最後のデータを送 信する。 トランザクション1に関するウェークアップ信号はクロック信号35で送信さ れる。クロック・サイクル39ないし41で、トランザクション1に関するコマ ンド制御情報が送信される。トランザクション1ないし4に関するタイミングは 図のように進行する。この例は、それぞれの異なるトランザクションに関する信 号をインタリーブしないとトランザクション間のタイミング・オーバラップが最 小限になることを明確に示す。したがって、その後に続くトランザクションを開 始するために使用できる帯域幅が未使用になる。 付記Bおよび第13図を参照すると、インタリーブされたデータ転送動作のタ イミングが示されている。図の例では、トランザクション1に関するウェークア ップ信号は、トランザクション0に関するデータの送信が開始されていないとき でもクロック・サイクル20で送信される。トランザクション0に関する終了信 号が送信されるまでの間に、トランザクション1に関するウェークアップ信号お よびコマンド制御情報がDRAMへ送信されている。トランザクション0の実行 中にこの情報が送信されても、情報を転送するために使用される帯域幅は普通な ら使用されないものなので性能ペナルティは課されない。顕著なこととして、付 記Bに示したインタリーブ例を使用した場合、5回のトランザクションはクロッ ク・サイクル131によって完了するが、付記Aに示した非インタリーブ・シス テムでは、5回のトランザクションを完了にするには172回のクロック・サイ クルが必要である。 制御情報およびデータ情報のインタリーブを動的に調整できるので、コントロ ーラはチャネルの使用度を高めることができる。また、コントローラは、待ち時 間を最小限に抑えるためにバスに課される変化する要件にインタリーブを適応さ せることができる。たとえば、コントローラは、一連のバック・ツー・バック要 求を送信し、次いで要求に応答して送信されるデータを待つことによって、バス がアイドル状態であるコールド・スタートからアクティブ状態に遷移することが できる。スタート後、コントローラは、待ち時間を最小限に抑えることから、D RAMのチャネルおよび内部資源の使用度を最大にすることへのシフトに合わせ てインタリーブを調整する。したがって、定常状態が達成された後、コントロー ラは過度に多くのバック・ツー・バック要求を有することを回避する。コントロ ーラは、付記Bに示したパターンなど、より円滑なインタリーブ・パターンに切 り換える。本発明のプロトコルを使用するコントローラがどのようにトランザク ションのインタリーブを動的に変更できるかを示す例示的な一連のトランザクシ ョンについては、下記で付記Cを参照して詳しく説明する。 信号オーバロード チャネルの使用度を最大にすることを手助けするために、同じ制御線を使用し て多数の制御信号を搬送することができる。たとえば、付記AおよびBに示した プロトコルでは、BusCtl線を使用してウェークアップ信号、ストローブ信 号、コマンド制御情報の一部、終了信号が搬送される。本発明の一実施形態によ れば、クロック・サイクルは偶数フェーズと奇数フェーズに分割される。クロッ ク・サイクルの偶数フェーズに、BusCtl線上では、コマンド制御情報の前 に、非零値「スタート・ビット」が存在する。DRAMは、スタート・ビットが 検出された後、クロック・サイクルの以後の3回の奇数フェーズ中のBusCt l線上の信号が、コマンド制御情報の一部であり、ストローブ信号やウェークア ップ信号や終了信号の一部ではないことを知る。ストローブ信号、ウェークアッ プ信号、終了信号はすべて、クロック・サイクルの奇数フェーズにBusCtl 線上で非零値によって示される。したがって、DRAMは信号どうしを区別する 何らかの機構を有さなければならない。 固定インタリーブを使用する本発明の実施形態では、動作を指定するコマンド 制御情報に対して一定の間隔を置いてその動作が開始される。したがって、DR AMは単に、コマンド制御情報の到着時間と既知の間隔とを使用して、動作をい つ実行すべきかを判定する。トランザクションに関連する終了信号は常に、Bu sCtl線上の対応するコマンド制御情報の後の次の奇数フェーズ信号である。 したがって、コマンド制御情報を識別することができる場合は、終了信号も識別 することができる。クロック・サイクルの奇数フェーズ中のBusCtl線上の 信号はウェークアップ信号である。 同じ制御信号(すなわち、同じ線を使用し、かつ同じ特性を有する制御信号) どうしを区別する前述の方法は、固定インタリーブを使用する実施形態でうまく 働く。しかし、要求パケットからそれに対応するストローブ信号までのタイミン グ間隔が可変である場合は、受信された要求パケットに対応するストローブ信号 をいつ探すべきかをDRAMに示す機構を設けなければならない。 付記Bに示した例では、トランザクションに関するコマンド制御情報を送信し てからトランザクションに関するストローブ信号を送信するまでの期間は一定で はない。したがって、DRAMは、BusCtl線上に到着するすべての信号の うちで、トランザクション1に関するコマンド制御情報に関連するストローブ信 号がクロック・サイクル47での信号であることを判定する他の何らかの機構を 有さなければならない。 本発明の一実施形態によれば、DRAMは、前にチャネル上にどんな情報が現 れたかの知識に基づいてBusCtl線上の同じ信号どうしを区別することがで きる。チャネル上のデータに関する情報を得るために、DRAMは常にチャネル を監視する。DRAMがチャネルを常に監視するので、コントローラがウェーク アップ信号をDRAMへ送信する必要はない。したがって、BusCtl線上の 唯一の同じ信号はストローブ信号と終了信号である。 この実施形態によれば、コントローラがストローブ信号および終了信号を送信 する順序は、コントローラが要求パケットを送信する順序に一致しなければなら ない。たとえば、コントローラがトランザクション0、1、2に関する要求パケ ットをその順序で送信する場合、コントローラはトランザクション0、1、2に 関するストローブ信号および終了信号をその順序で送信しなければならない。 前述の制約の下で、DRAMは、チャネル上のストローブ信号と終了信号を正 しく識別するのに必要な情報を有する。具体的には、BusCtl線上の第1の 制御信号は常に、第1のトランザクションに関連するストローブ信号になる。ス トローブ信号の後に続く制御信号は常に、前のストローブ信号に対応するトラン ザクションに関する終了信号である。終了信号の後に続く制御信号は常に、前の ストローブ信号に関連するトランザクションのすぐ後に続くトランザクションに 関するストローブ信号になる。 前述の手法では、DRAMは、ストローブ信号と終了信号を正確に識別するこ とができるが、2つの自明の欠点を有する。第1に、すべてのDRAMが常にチ ャネルを監視する必要がある。あるDRAMがある期間にわたって線を監視しな かった場合、そのDRAMが同じ制御信号どうしを正確に識別することはできな い。DRAMは常にチャネルを監視するので、DRAMが電源遮断モードを開始 することによってエネルギーを保存することはできない。すべてのDRAMに常 に電力を供給する際に伴う経費は顕著なものである。 第2の欠点は、コントローラがコマンド制御情報とまったく同じ順序で制御信 号を送信しなければならないことである。そのため、コントローラは選択できる インタリーブ・パターンのタイプに関して制限される。具体的には、コントロー ラが、トランザクションの順序を変更するインタリーブ・パターンを選択するこ とはできない。 本発明の代替実施形態によれば、コントローラは、要求パケット内のコマンド 制御情報の一部として、コマンド制御情報に対応するストローブ信号をDRAM が識別できるようにするデータを送信するように構成される。たとえば、一実施 形態では、コントローラはコマンド制御情報内に「ペンド」値を含む。要求パケ ット内のペンド値は、トランザクションに関するコマンド制御情報の終わりから トランザクションに関する実際のストローブ信号までの間にストローブ信号と同 一の制御信号がいくつ発生するかを示す。DRAMは、ペンド値に基づいて、コ マンド制御情報が到着する前にチャネル上に何が現れたかを知る必要なしに制御 信号を識別することができる。 付記Bに示した例では、トランザクション1に関するコマンド制御情報がクロ ック・サイクル24で送信され、トランザクション1に関するストローブ信号が クロック・サイクル47で送信される。トランザクション1に関するコマンド制 御情報を送信してからトランザクション1に関するストローブ信号を送信するま での間に、トランザクション0に関する終了信号、トランザクション2に関する ウェークアップ信号、トランザクション2に関する要求パケットが送信される( DRAMは、クロック・サイクルの偶数フェーズにスタート・ビットを検出する ことによって、トランザクション1に関するコマンド制御情報を無視すべきであ ることを知る)。 トランザクション0に関する終了信号とトランザクション2に関するウェーク アップ信号は共に、ストローブ信号と同じ特性を有する。したがって、トランザ クション1に関するコマンド制御情報で送信されるペンド値は2である。このペ ンド値によって、DRAMは、トランザクション1に関する実際のストローブ信 号の前にBusCtl線上に2つのストローブ状信号が現れることを知らされる 。DRAMは、トランザクション1に関するコマンド管理情報を受信した後にチ ャネルを監視する。DRAMは、トランザクション1に関するコマンド制御情報 内のペンド情報と、トランザクション1に関するコマンド制御情報を受信した後 にチャネル上で発生する信号とに基づいて、トランザクション1に関するストロ ーブを識別することができる。 ペンド手法は、トランザクションで使用されるDRAMが、トランザクション に関するコマンド制御情報が到着する前にチャネル上に何が現れたかを知る必要 がないので、一定チャネル監視手法の欠点を解消する。したがって、DRAMは 、ウェークアップ信号が到着し、要求パケットが送信される直前まで電源遮断モ ードであることができる。また、ペンド手法では、トランザクションを、要求さ れたのと同じ順序で送信する必要はない。したがって、コントローラは順序を変 更したトランザクションがいくつかあるインタリーブ・パターンを示すことがで きる。 プリチャージ通知の遅延 コントローラによって要求パケットが送信された時点で、コントローラには、 トランザクションが完了した後にプリチャージ動作を実行すべきかどうかを判定 するのに十分な情報がなくなることがある。したがって、本発明の一実施形態に よれば、要求パケットで送信されるコマンド制御情報は、トランザクション後に プリチャージを行うかどうかの表示を含まない。コントローラは、転送動作の終 了を開始する終了信号をDRAMへ送信したときにプリチャージを行うべきかど うかをDRAMに伝達する。終了信号の伝送が遅延するので、プリチャージ動作 が適切であるか否かの判定は、要求パケットを送信してから終了信号を送信する までに間に得られた情報に基づいてコントローラによって下すことができる。 たとえば、要求パケットが送信された時点で、同じDRAM内のそれぞれの異 なる行のデータを求める追加要求が到着していないことがある。したがって、動 作後プリチャージは必要ではないように思われる。しかし、終了信号を送信する 前に、DRAM内の同じバンクの異なる行に対する動作を実行することを求める 要求が到着することがある。コントローラは、現動作に関する終了信号を送信す る際、プリチャージ動作を実行すべきであることをDRAMに伝達することがで きる。したがって、DRAMは、現データ転送動作を完了しながら適切な行を含 むバンク上でプリチャージ動作を開始することができる。 ある動作後にプリチャージを実行すべきであるかどうかを伝達するためにコン トローラによって使用される技法は好ましくは、データが通常、一連の1つまた は複数の固定サイズ・パケットとして転送され、各パケットが単一のクロック・ サイクル中に送信できるよりも多くのデータを含むことを利用する。単一のパケ ットの伝送が複数のクロック・サイクルにわたって行われるので、複数のクロッ ク・サイクルのうちの任意の1つのクロック・サイクル中に終了信号を送信し、 特定のパケットが最後のパケットであることを示すことができる。たとえば、単 一のデータ・パケットを送信するのに4サイクル・クロックかかり、DRAMが 、終了信号を受信した後に1つのデータ・パケットしか送信しないように構成さ れていると仮定する。最後から2番目のデータ・パケットが送信される4クロッ ク・サイクルのうちの任意の1クロック・サイクルで終了信号が送信されるかぎ り、データ伝送は適切な時間に終了する。 本発明の一実施形態によれば、コントローラは終了信号の厳密なタイミングを 使用して、DRAMにプリチャージ動作を実行すべきかどうかを示す。たとえば 、コントローラが、前述のように、4クロック・サイクルのうちの任意の1クロ ック・サイクル中に終了信号を送信することによって適切な時間に転送を終了す ることができると仮定する。コントローラは、4つの可能なクロック・サイクル のうちの第1のクロック・サイクルで終了信号を送信することによってプリチャ ージを行うべきであることと、4つの可能なクロック・サイクルのうちの第2の クロック・サイクルで終了信号を送信することによってプリチャージを行うべき ではないことをDRAMに示すことができる。DRAMは、4つの可能なクロッ ク・サイクルのうちのどのクロック・サイクルに終了信号が現れたかを判定する ことによってプリチャージ情報を復号する。DRAMはたとえば、対応するスト ローブが受信されたクロック・サイクルに対する、終了信号が受信されたクロッ ク・サイクルのモジュラスを判定することによって、この判定を下すことができ る。 代替実施形態によれば、4つの利用可能なクロック・サイクルのそれぞれに特 定のプリチャージ動作が関連付けられる。たとえば、DRAMは4つのバンク・ メモリを含むことができる。前述の技法は、第1の可能なクロック・サイクル中 の終了信号によってDRAMが第1のメモリ・バンクをプリチャージし、第2の 可能なクロック・サイクル中の終了信号によってDRAMが第2のメモリ・バン クをプリチャージし、第3の可能なクロック・サイクル中の終了信号によってD RAMが第3のメモリ・バンクをプリチャージし、第4の可能なクロック・サイ クル中の終了信号によってDRAMが第4のメモリ・バンクをプリチャージする ように拡張することができる。重要なこととして、この実施形態では、1つのメ モリ・バンク上の動作に関する終了信号の位置によって、異なるメモリ・バンク 上でプリチャージ動作を行うべきであることを示すことができる。この実施形態 では、コマンド制御情報は、終了信号のタイミングにかかわらずに、プリチャー ジを行うべきでないことを指定するビットを含むことができる。 命令コード化の最適化 通常、コントローラは、所望の動作に対応する命令コードを含む要求パケット をDRAMへ送信することによってDRAMに実行させたい動作をDRAMに示 す。要求パケットにどのように応答するかを判定するには、命令コードの各ビッ トを、機能を制御するためにインタフェースを通じてグローバルに送信する前に DRAM上の受信点からデコーダに配線しなければならない。この配線・復号プ ロセスでは空間および電力が消費される。命令コード復号を行う典型的な回路を 第14図に示す。 第14図を参照すると分かるように、復号回路1400は、複数のピン140 2と、複数のグローバル制御線1404と、複数の復号装置1406とを含む。 各復号装置1406は特定のグローバル制御線1404に対応する。ピン140 2で多ビット命令コードが受信されると、この命令コード全体が各復号装置14 06に経路指定される。各復号装置1406は命令コードを復号し、復号装置自 体に対応する制御線1404に適用するのに適切な信号を判定する。 第15図を参照すると、本発明の実施形態による復号回路1500が示されて いる。復号回路1500は、復号回路1400と同様に、複数のピン1502、 1504、1506と、複数の復号装置1508、1510、1512と、複数 のグローバル制御線1516、1518、1520とを含む。各復号装置150 8、1510、1512は制御線1516、1518、1520のうちの1本に 対応する。従来技術の復号装置1400とは異なり、各復号装置1508、15 10、1512は1本のピンからの信号しか受信しない。復号装置は、ピンから の信号と復号装置に記憶されている状態情報に基づいて、復号装置自体に対応す る制御線に適切な信号を適用する。 第14図に示した従来技術の回路に勝る復号回路1500の利点には、配線要 件の低減と、電力消費量の低下と、回路複雑さの低減とが含まれる。具体的には 、信号をピン1502、1504、1506からそれぞれ復号装置1508、1 510、1512に経路指定するにはピン1本当たりに1本の線があるだけでよ い。さらに、デコーダ1508、1510、1512の複雑さは著しく低減され る。 復号回路1500が正しく働くには、コントローラによって送信される命令コ ードに、線1516、1518、1520上で搬送される信号に直接対応するビ ットが含まれなければならない。通常、グローバル制御線にはNoByteM線 と、Reg線と、Write線とが含まれる。NoByteM線は、命令に指定 されたデータに対してバイト・マスクを使用すべきであるかどうかを示す。Re g線は、この動作がレジスタに関係するものであるか、それともメモリに関係す るものであるかを示す。Write線は、動作が読取り動作であるか、それとも 書込み動作であるかを示す。 第16A図および第16B図は、本発明の実施形態による命令コード符号化方 式を示す。第16A図および第16B図を参照すると、命令コード内のビットが 、対応する動作を実行するために各グローバル制御線上に置くべき信号を直接示 す動作・命令コード間マッピングが示されている。具体的には、各命令コードは 、NoByteM制御線上に信号を置くべきかどうかを指定するビット「OP[ 2]」と、Reg制御線上に信号を置くべきかどうかを指定するビット「OP[ 1]」と、Write制御線上に信号を置くべきかどうかを指定するビット「O P[0]」とを有する。可能な各動作タイプに対応する命令コードは、グローバ ル制御線上で適切な信号を生成させるように設定された様々な命令コード・ビッ トを有する。たとえば、レジスタ読取り命令動作を実行するには、NoByte M制御線およびReg制御線上で信号を生成しなければならないが、Write 制御線上では生成してはならない。したがって、レジスタ読取り動作に対応する 命令コードでは、NoByteM制御線、Reg制御線、Write制御線に対 応するビットはそれぞれ、「1」、「1」、「0」である。 ブロードキャスト動作 要求パケットに指定された動作が特にDRAMに関するものであり、あるいは 要求パケットでブロードキャスト動作が指定されている場合、DRAMは要求パ ケットに応答する。第17図は、特定のDRAMが動作要求に応答すべきである かどうかを判定する従来技術の回路を示す。 第17図を参照すると分かるように、比較器1702は、要求パケット内のア ドレス・ビットをDRAMの装置IDと比較する。要求パケット内のアドレス・ ビットが装置IDに一致しない場合、ANDゲート1706の一方の入力へ論理 LOWが送信される。したがって、ANDゲート1706の出力はLOWになる 。要求に含まれる命令コードは復号装置1704によって復号される。復号装置 1704は、要求パケット内の命令コードを復号し、命令コードで指定された動 作に基づいて線1708および1710を介して信号を送信する。命令コードが ブロードキャスト動作を表す場合、復号装置1704は論理HIGHを線171 0に適用する。命令コードが非ブロードキャスト動作を表す場合、復号装置17 04は、コマンドを示す信号を線1708上で送信し、論理LOWを線1710 上で送信する。線1710およびANDゲート1706の出力はORゲート17 12に印加される。ORゲート1712の出力での信号は、指定された動作をD RAMが処理すべきかどうかを決定する。指定された動作がブロードキャスト動 作であるとき、ORゲート1712の出力は、ANDゲート1706の出力にか かわらずHIGHである。 第18図を参照すると、本発明の実施形態による、DRAMが要求パケットに 応答すべきかどうかを判定する回路が示されている。第17図に示した回路と同 様に、回路1800は、要求パケット内のアドレス・ビットをDRAMの装置I Dと比較する比較器1802を含む。しかし、回路1800は、要求の命令コー ド内の1ビットが、その要求がブロードキャスト動作に関するものであるかどう かを示すプロトコル向けに構成される。再び第16A図および第16B図を参照 すると分かるように、一実施形態で使用される命令コードは、命令コードで指定 された動作がブロードキャスト動作であるかどうかを示すビット「Op[3]」 を含む。 動作がブロードキャスト動作であるかどうかを示すビットが命令コードに含ま れるので、その動作がブロードキャスト動作であるかどうかを判定するために命 令コードを復号する必要はない。ブロードキャスト・ビットの値は、ORゲート 1804の一方の入力に直接送られる。ORゲート1804の他方の入力は、要 求内のアドレスがDRAMの装置IDに一致したかどうかを示す信号を受信する 。ORゲート1804の出力は、DRAMが要求に応答すべきかどうかを示す。 あらゆるタイプの動作に関する命令コードに、その動作がブロードキャスト動 作に関するものであるかどうかを指定するビットが含まれるので、ブロードキャ スト動作を識別するために命令コードを復号する必要は回避される。したがって 、回路1800が、第17図に示した回路よりも簡単で効率的であることは明ら かである。 コントローラが指定する状態変化 典型的なDRAMでは、データが記憶セルから直接送信されることはない。デ ータは伝送前に一時的にセンス増幅器にコピーされる。通常、センス増幅器は1 データ行しか記憶しない。現在記憶されている行以外のデータ行に対して動作を 実行する場合、2つの動作を実行しなければならない。第1の動作はプリチャー ジ動作と称され、メモリ内のビット線対が中点電圧レベルに等化される。第2の 動作はセンス動作と呼ばれ、動作が実行される行がセンス増幅器上にコピーされ る。プリチャージ動作からその後に続くセンス動作までの間、当該のDRAMは クローズ状態であると言われる。それ以外のすべてのときは、DRAMはオープ ン状態であると言われる。 従来技術では、DRAMは、コントローラからのデータ転送要求を満たす前に プリチャージ動作およびセンス動作を実行する必要があるかどうかを判定するよ うに構成される。通常、DRAMは、要求パケットに含まれるアドレスをバンク 内の現アドレスと比較することによってこの判定を下す。アドレスが一致する場 合、センス増幅器からデータが送信され、プリチャージ動作もセンス動作も必要 とされない。アドレスが一致しない場合、DRAMはプリチャージ動作およびセ ンス動作を行い、適切な行から得たデータをセンス増幅器にロードするが、デー タ転送要求は満たさない。 DRAMがアドレス比較を行うのに必要なオーバヘッドおよび複雑さのために 、著しくコストがかかり、性能が低下する。したがって、本発明は、データ転送 要 求を出す前にプリチャージ動作またはセンス動作、あるいはその両方が必要かど うかを判定するコントローラを提供する。このコントローラが判定を下すので、 DRAMの複雑さが低減され、同時にデータ転送システム全体の性能が向上する 。コントローラは、命令コード内のデータのアドレスと、そのアドレスに対応す るバンクの現在の状態と、現在バンクに記憶されているデータのアドレスとに基 づいてプリチャージ動作またはセンス動作、あるいはその両方が必要であるかど うかの判定を下す。通常、この情報はすでにコントローラによって他の目的のた めに維持される。したがって、コントローラが判定を下すための追加オーバヘッ ドはほとんど必要とされない。 コントローラは、特定のデータ転送動作に関して判定を下した後、この決定を DRAMに伝達しなければならない。好ましくは、コントローラは、トランザク ションに関するコマンド制御情報と共に送信されるデータを通じてこの判定をD RAMに伝達する。本発明の一実施形態によれば、コマンド制御情報は、動作に 対応するメモリ・セルをセンスしプリチャージすることに関してどんな処置をと るべきかをDRAMに示す2ビット(「オープン」および「クローズ」)を含む 。DRAMは、現バンク状態ならびにオープン・ビットおよびクローズ・ビット の値に基づいて、どんな処置をとるべきかを判定する。 一般に、クローズ・ビットは、コマンド制御状態に指定された動作を実行した 後にメモリ・バンクをプリチャージするかどうかを示し、オープン・ビットは、 動作の前に何らかの種類のセンス動作またはプリチャージ/センス動作を実行し なければならないかどうかを示す。オープン・ビットおよびクローズ・ビットに 応答してとられる処置は、当該のバンクの前の状態に依存する。第19図は、本 発明の一実施形態では、オープン・ビット、クローズ・ビット、前のバンク状態 の各値の組合せが、とるべき処置に対してどのようにマップされるかを示す。 第19図を参照すると分かるように、現バンク状態がクローズであり、オープ ン・ビットおよびクローズ・ビットがそれぞれ、「0」および「1」である場合 、DRAMがデータ転送要求に応答して処置をとることはない。処置がとられな いので、バンクの状態はクローズのままである。現バンク状態がクローズであり 、オープン・ビットおよびクローズ・ビットがそれぞれ、「1」および「0」で あ る場合、DRAMはバンクをセンスし、次いでコマンド制御情報に指定された動 作を実行する。動作が実行された後、バンクはオープン状態になる。現バンク状 態がクローズであり、オープン・ビットとクローズ・ビットが共に「1」である 場合、DRAMはバンクをセンスし、指定された動作を実行し、バンクをプリチ ャージする。これらの処置がとられた後、バンクはクローズ状態になる。現バン ク状態がクローズ状態である場合、オープン・ビットとクローズ・ビットが共に 「0」であってはならない。 現バンク状態がオープンであり、オープン・ビットとクローズ・ビットが共に 「0」である場合、DRAMは単に、コマンド制御情報に指定された動作を実行 する。動作後に、バンクはオープン状態になる。現バンク状態がオープンであり 、オープン・ビットとクローズ・ビットがそれぞれ、「0」および「1」である 場合、DRAMはコマンドを実行し、次いでメモリ・バンクをプリチャージする 。バンクは、プリチャージされた後、クローズ状態になる。現バンク状態がオー プンであり、オープン・ビットおよびクローズ・ビットがそれぞれ、「1」およ び「0」である場合、DRAMはバンクをプリチャージし、バンクをセンスし、 指定された動作を行う。動作が実行された後、バンクはオープン状態になる。現 バンク状態がオープンでありオープン・ビットとクローズ・ビットが共に「1」 である場合、DRAMはバンクをプリチャージし、バンクをセンスし、指定され た動作を実行し、次いでバンクをプリチャージする。これらの動作が実行された 後、バンクはクローズ状態になる。 本発明は、内部DRAM動作に対してコントローラにかなり強い制御を与える だけでなく、要求パケットと指定された動作との1対多数対応を確立する。具体 的には、単一の要求パケットによってDRAMに(1)複数のDRAMコア動作 、(2)DRAMコア動作およびデータ転送動作、または(3)データ転送動作 および複数の動作コア動作を実行させることができる。要求パケットに応答して DRAMが実行する動作の数を増加することによって、実行される動作当たりの 制御情報の比が著しく低減される。 線雑音低減 典型的なDRAMでは、複数のメモリ・バンクが同じ電源線を介して電力を受 け取る。メモリ・バンク上でプリチャージ動作またはセンス動作を実行すると必 ず、バンクが接続された電源線上にいくらかの雑音が発生する。一般に、メモリ ・バンクには、他のメモリ・バンクによって並行して実行されている動作は分か らない。したがって、同じ電源線を介して電力を供給される2つ以上のメモリ・ バンクは、プリチャージ動作またはセンス動作、あるいはその両方を並行して行 うことができる。雑音を発生させる複数の動作を並行して実行するために電源線 において雑音が増大すると、当該のDRAMの信頼性が低下し、あるいは電源線 を大型化しなければならなくなり、そのために貴重なダイ面積が使用される。 このような信頼性問題を防止するには、従来技術のDRAMを網羅的に試験し 、すべての可能なセンス・パターンおよびプリチャージパターンをエラーなしに 実行できるようにしなければならない。本発明では、DRAMに所与の電源線上 の1つのバンクにしかプリチャージ動作またはセンス動作を実行させないように 構成された制御回路を含む。DRAMが一度にチャージまたはセンスさせるのが 電源線上の1つのバンクだけなので、DRAMには、並行するセンス動作および プリチャージ動作による雑音問題が生じない。さらに、DRAMが、発生しない パターンに関する試験を受ける必要はない。また、電源線が複数の動作のための 電流を処理できなくてもよいので、DRAMのダイ・サイズを減少させることが できる。DRAM内の制御回路はこの制限を様々な方法で課すことができる。 一実施形態では、制御回路は各電源線ごとに待ち行列を含む。そのような実施 形態を第20A図に示す。第20A図を参照すると分かるように、DRAM20 00は制御回路2002と、結合サイト2020から延びる2本の電源線を介し て電力を供給される4つのメモリ・バンクを含む。制御回路2002は、チャネ ル2008を介し入出力装置2030を通じてコントローラ2004から要求パ ケットを受信する。要求パケットは、データ転送動作と、動作が実行されるメモ リ・バンクとを指定する。制御回路2002は、指定された動作でいつプリチャ ージ動作またはセンス動作が必要になるかを検出するように構成される。要求さ れた動作でプリチャージ動作またはセンス動作が必要であるとき、その動作は、 要求パケットに指定されたメモリ・バンクが接続された電源線に関連付けられた 待ち行列上に置かれる。たとえば、制御回路2002が、バンク2010をプリ チャージすることを必要とする動作を指定する要求パケットと、バンク2012 をセンスすることを必要とする動作を指定する要求パケットを受信するものと仮 定する。バンク2010および2012は同じ電源線2014から電力を供給さ れる。したがって、制御回路2002は、電源線2014に関連付けられた待ち 行列2016に両方の動作を入れる。 制御回路2002は、所与の待ち行列内の動作を一度に実行する。したがって 、上記で与えた例で、制御回路2002はバンク2010上の動作を実行させ、 次いでバンク2012上の動作を実行させることができる。動作が順次実行され るので、同じ電源線に接続されたバンク上で1つのセンス動作またはプリチャー ジ動作が並行して実行される。制御回路2002が各電源線ごとに別々の待ち行 列を維持するので、同じDRAM2000内のそれぞれの異なる電源線から電力 を供給されるバンク上でプリチャージ動作およびセンス動作を並行して実行する ことができる。この実施形態では、コントローラ2004は好ましくは、電源線 に関連付けられた待ち行列がオーバフローするのを防止するように各要求パケッ ト内のオープン・ビットおよびクローズ・ビットを設定するように構成される。 代替実施形態では、制御回路2002は、センス動作またはプリチャージ動作 が現在実行されている他のバンクと同じ電源線に接続されたバンク上でセンス動 作またはプリチャージ動作を実行することを必要とする動作を求める要求パケッ トを無視するように構成される。他の実施形態では、制御回路2002は、この 制約に違反する要求パケットを処理せずに、その要求パケットが実行されないこ とを示すメッセージをコントローラ2004へ送り返す。 同じ電源線上のバンクによる並行するセンス動作およびプリチャージ動作を禁 止することによって、メモリ・バンク間に確立することのできる並行性の程度が 制限されるが、本発明の全体的なアーキテクチャはこの制約に違反せずにチャネ ル使用度を最大にするように設計されている。具体的には、コントローラは、チ ャネルの使用度を最大にするようにトランザクションのインタリーブを調整する 。DRAM内の並行性が欠落しているので、すでに十分に利用されているチャネ ルのスループットが増大する。したがって、同じ電源線上のバンクによる並行す るセンス動作およびプリチャージ動作を禁止しても、データ転送システムの性能 が 悪影響を受けることはない。 第20B図に示した代替実施形態では、DRAM2000は単一の待ち行列2 050を含む。DRAM2000がそれ自体内のメモリ・バンク上でプリチャー ジ動作またはセンス動作を実行することを必要とするすべての動作は、制御回路 2002によって待ち行列2050に入れられる。制御回路2002は、待ち行 列2050に記憶されている動作を順次処理し、複数のプリチャージ動作または センス動作が同時に実行されるのを防止する。この実施形態では、1電源線当た り1待ち行列実施形態で可能な並行性は許容されないが、制御回路がそれほど複 雑でなくて済む。 他の実施形態では、DRAM上の制御回路は、1電源線当たり1コア動作制限 を実施しない。コントローラ内の制御回路は、同じ電源線に接続されたバンク上 で複数のコア動作を同時に実行させることのない順序およびタイミングを選択す ることによって要求パケットを送信するように構成される。この実施形態では、 DRAMは、それ自体が制約を実施しない場合でも、一度に1つのコア動作しか サポートしないように設計された電源線を備えることができる。 動的調整インタリーブの例 付記Cを参照すると、コントローラがインタリーブを動的に調整した一連のト ランザクションが示されている。コントローラは、クロック・サイクル0でBu sCtrl線を介して第1のトランザクション(トランザクション0)に関する ウェークアップ信号を送信する。コントローラは、クロック・サイクル4からク ロック・サイクル6までの間にBusCtl線およびBusData[8:0] 線を介してトランザクション0に関する要求パケットを送信する。コントローラ はクロック・サイクル8からクロック・サイクル10までの間にBusEnab le線を介して列アドレス情報を送信する。この列アドレス情報は、トランザク ションで使用される第2のデータ・パケットおよびそれ以後のデータ・パケット のデータの列アドレスを示す。第1のパケットのデータの列アドレスは要求パケ ットに含められる。クロック・サイクル10で、コントローラはトランザクショ ン0に関するストローブ信号を送信する。ストローブ信号のタイミングは、DR AMに、トランザクション0に関するデータの検索および送信をいつ開始すべき かを示す。ストローブ信号に応答して、DRAMは、クロック・サイクル10で 、指定された列からのデータの検索を開始し、クロック・サイクル16でBus Data[8:0]線を介してデータの送信を開始する。DRAMはまず、要求 パケットに指定された列からデータを検索し、次いでBusEnable線を介 して送信された列アドレス情報に指定された列からデータを検索する。コントロ ーラは、クロック・サイクル15でBusCtrl線を介してトランザクション 0に関する終了信号を送信する。終了信号のタイミングは、DRAMに、トラン ザクション0に関するデータの送信をいつ停止すべきかを示す。DRAMは、終 了信号に応答して、クロック・サイクル18の後にデータの検索を終了し、クロ ック・サイクル23の後にデータの転送を終了する。トランザクション0に関し て合計で2オクトバイト・データ・パケットが送信される。 コントローラは、クロック・サイクル8でBusCtrl線を介してトランザ クション1に関するウェークアップ信号を送信する。コントローラは、クロック ・サイクル12からクロック・サイクル14までの間にBusCtrl線および BusData[8:0]線を介してトランザクション1に関する要求パケット を送信する。コントローラは、クロック・サイクル20からクロック・サイクル 31までの間にBusEnable線を介して列アドレス情報を送信する。この 列アドレス情報は、トランザクションで使用される第2のデータ・パケットおよ びそれ以後のデータ・パケットのデータの列アドレスを示す。第1のパケットの データの列アドレスは要求パケットに含められる。クロック・サイクル22で、 コントローラはトランザクション1に関するストローブ信号を送信する。ストロ ーブ信号のタイミングは、DRAMに、トランザクション1に関するデータの検 索および送信をいつ開始すべきかを示す。ストローブ信号に応答して、DRAM は、クロック・サイクル23で、指定された列からのデータの検索を開始し、ク ロック・サイクル28でBusData[8:0]線を介してデータの送信を開 始する。DRAMはまず、要求パケットに指定された列からデータを検索し、次 いでBusEnable線を介して送信された列アドレス情報に指定された列か らデータを検索する。コントローラは、クロック・サイクル35でBusCtr l線を介してトランザクション1に関する終了信号を送信する。終了信号のタイ ミングは、DRAMに、トランザクション1に関するデータの送信をいつ停止す べきかを示す。DRAMは、終了信号に応答して、クロック・サイクル38の後 にデータの検索を終了し、クロック・サイクル43の後にデータの転送を終了す る。トランザクション1に関して合計で4オクトバイトのデータ・パケットが送 信される。 コントローラは、クロック・サイクル20でBusCtrl線を介してトラン ザクション2に関するウェークアップ信号を送信する。コントローラは、クロッ ク・サイクル24からクロック・サイクル26までの間にBusCtrl線およ びBusData[8:0]線を介してトランザクション2に関する要求パケッ トを送信する。トランザクション1では1つのオクトバイト・データ・パケット 、すなわち要求パケットに含められる列アドレスしか使用しないので、コントロ ーラがBusEnable線を介して列アドレス情報を送信することはない。ク ロック・サイクル50で、コントローラはトランザクション2に関するストロー ブ信号を送信する。ストローブ信号のタイミングは、DRAMに、トランザクシ ョン2に関するデータの検索および送信をいつ開始すべきかを示す。ストローブ 信号に応答して、DRAMは、クロック・サイクル51で、指定された列からの データの検索を開始し、クロック・サイクル56でBusData[8:0]線 を介してデータの送信を開始する。コントローラは、クロック・サイクル51で BusCtrl線を介してトランザクション2に関する終了信号を送信する。終 了信号のタイミングは、DRAMに、トランザクション2に関するデータの送信 をいつ停止すべきかを示す。DRAMは、終了信号に応答して、クロック・サイ クル54の後にデータの検索を終了し、クロック・サイクル59の後にデータの 転送を終了する。トランザクション2に関して単一のオクトバイト・データ・パ ケットが送信される。 コントローラは、クロック・サイクル40でBusCtrl線を介してトラン ザクション3に関するウェークアップ信号を送信する。コントローラは、クロッ ク・サイクル44からクロック・サイクル46までの間にBusCtrl線およ びBusData[8:0]線を介してトランザクション3に関する要求パケッ トを送信する。要求パケット内に含まれる「オープン、ノークローズ」パラメー タは、DRAMに、要求されたデータ転送を行う前にプリチャージ動作およびセ ンス動作を実行しなければならないことを示す。DRAMは、トランザクション 3に関するストローブ信号を待たずに、クロック・サイクル50からクロック・ サイクル57までの間にプリチャージ動作を実行し、クロック・サイクル58か らクロック・サイクル65までの間にセンス動作を実行する。センス動作の後、 クロック・サイクル66からクロック・サイクル73までの間にRAS動作が実 行される。トランザクション3では1つのオクトバイト・データ・パケット、す なわち要求パケットに含められる列アドレスしか使用しないので、コントローラ がBusEnable線を介して列アドレス情報を送信することはない。クロッ ク・サイクル66で、コントローラはトランザクション3に関するストローブ信 号を送信する。ストローブ信号のタイミングは、DRAMに、トランザクション 3に関するデータの検索および送信をいつ開始すべきかを示す。ストローブ信号 に応答して、DRAMは、クロック・サイクル66で、指定された列からのデー タの検索を開始し、クロック・サイクル72でBusData[8:0]線を介 してデータの送信を開始する。コントローラは、クロック・サイクル67でBu sCtrl線を介してトランザクション3に関する終了信号を送信する。終了信 号のタイミングは、DRAMに、トランザクション3に関するデータの送信をい つ停止すべきかを示す。DRAMは、終了信号に応答して、クロック・サイクル 70の後にデータの検索を終了し、クロック・サイクル75の後にデータの転送 を終了する。トランザクション3に関して合計で1オクトバイト・データのパケ ットが送信される。 コントローラは、クロック・サイクル48でBusCtrl線を介してトラン ザクション4に関するウェークアップ信号を送信する。コントローラは、クロッ ク・サイクル52からクロック・サイクル54までの間にBusCtrl線およ びBusData[8:0]線を介してトランザクション4に関する要求パケッ トを送信する。トランザクション1では1つのオクトバイト・データ・パケット 、すなわち要求パケットに含められる列アドレスしか使用しないので、コントロ ーラがBusEnable線を介して列アドレス情報を送信することはない。ク ロック・サイクル58で、コントローラはトランザクション4に関するストロー ブ 信号を送信する。ストローブ信号のタイミングは、DRAMに、トランザクショ ン4に関するデータの検索および送信をいつ開始すべきかを示す。ストローブ信 号に応答して、DRAMは、クロック・サイクル59で、指定された列からのデ ータの検索を開始し、クロック・サイクル64でBusData[8:0]線を 介してデータの送信を開始する。コントローラは、クロック・サイクル59でB usCtrl線を介してトランザクション4に関する終了信号を送信する。終了 信号のタイミングは、DRAMに、トランザクション4に関するデータの送信を いつ停止すべきかを示す。DRAMは、終了信号に応答して、クロック・サイク ル62の後にデータの検索を終了し、クロック・サイクル67の後にデータの転 送を終了する。トランザクション4に関して単一のオクトバイト・データ・パケ ットが送信される。 前述のトランザクションは、本発明が使用するプロトコルによって、コントロ ーラが、チャネル上の信号のタイミングおよびインタリーブに関係する多数のパ ラメータをどのように動的に調整できるかを示すものである。たとえば、各トラ ンザクションは、コントローラがどのようにストローブ信号および終了信号を使 用してデータ転送のタイミングおよび規模を決定するかを示している。したがっ て、トランザクション1に関する要求パケットのサイズとトランザクション3に 関する要求パケットのサイズは等しいが、トランザクション1に関するストロー ブ信号と終了信号との間の相対遅延のためにトランザクション1ではトランザク ション3の4倍のデータが送信される。 また、コントローラは、要求パケットから要求に関連するデータが送信される までの時間を動的に調整することができる。たとえば、要求パケットを送信して から、DRAMがトランザクション0に関するデータの送信をいつ開始するかを 示すストローブ信号を送信するまでの間に3クロック・サイクルが経過する。こ れに対して、トランザクション2に関する要求パケットを送信してから、DRA Mがトランザクション2に関するデータの送信をいつ開始するかを示すストロー ブ信号を送信するまでの間に21クロック・サイクルが経過する。 コントローラは、トランザクションの要求パケットを送信してから、トランザ クションで使用されるデータを送信するまでの時間を調整することができるので 、 データの伝送を遅延させ、データを送信する前にチャネルを他の目的のために使 用させることができる。たとえば、トランザクション0に関する要求パケットと トランザクション0に関するストローブとの間にBusCtrl線およびBus Data[8:0]線を介して送信される信号は、トランザクション1に関する ウェークアップ信号だけである。したがって、トランザクション0に関するスト ローブ信号は、トランザクション0に関する要求パケットから3クロック・サイ クル後に送信される。これに対して、トランザクション2に関する要求パケット とトランザクション2に関するストローブ信号との間にBusCtrl線および BusData[8:0]線を介して送信される信号には、トランザクション1 に関するデータと、トランザクション1に関する終了信号と、トランザクション 3に関するウェークアップ信号と、トランザクション3に関する要求パケットと 、トランザクション4に関するウェークアップ信号が含まれる。トランザクショ ン3に関するデータの前にこの情報をすべて送信できるように、トランザクショ ン3に関する要求パケットから24クロック・サイクルが経過するまでトランザ クション3に関するストローブ信号は送信されない。 付記Cに示したトランザクションは、本発明のプロトコルでは、コントローラ がトランザクションの実行順序を変更できることを示している。典型的なDRA Mシステムでは、トランザクションは要求時と同じ順序で実行される。しかし、 本発明のプロトコルでは、コントローラはトランザクションを要求時と異なる順 序で実行することができる。付記Cに示した例では、トランザクション3に関す る要求パケットがクロック・サイクル44で送信され、トランザクション4に関 する要求パケットが8クロック・サイクル後のクロック・サイクル52で送信さ れる。しかし、トランザクション4に関するデータ転送を開始するストローブは クロック・サイクル58で送信されるが、トランザクション3に関するデータ転 送を開始するストローブはクロック・サイクル66まで送信されない。したがっ て、トランザクション4は、トランザクション3で使用されるデータの伝送が開 始される前に完全に終了する。 付記Cに示したトランザクションは、本発明のプロトコルでは、コントローラ が、チャネル上の未処理のトランザクションの数を時間の経過と共に変化させる ようにインタリーブを調整できることも示している。たとえば、クロック・サイ クル15では、2つのトランザクションが要求されており、完了したトランザク ションはない。したがって、2つの要求が未処理である。クロック・サイクル5 5では、5つのトランザクションが要求されており、2つのトランザクションが 完了している。したがって、3つの要求が未処理である。 前述のように、本発明のプロトコルでは、コントローラは、(1)データが送 信される時間を、データが要求された時間に対して動的に調整し、かつ(2)ト ランザクションの実行順序と(3)未処理の要求の数を動的に調整することがで きる。また、このプロトコルでは、コントローラは、DRAMが実行すべきコア 動作と、DRAMがコア動作を実行するシーケンスを指示することができる。こ のプロトコルによって可能になる機能拡張されたチャネル制御により、チャネル の使用度を最大にし、所与の1組のデータ・トランザクションをより短期間で完 了できるようにするのに必要な融通性がコントローラに与えられる。 上記の明細書では、本発明を特定の実施形態に参照して説明した。しかし、本 発明の広範囲な趣旨および範囲から逸脱せずに本発明に様々な修正および変更を 加えられることは明らかである。したがって、本明細書および図面は制限的なも のではなく例示的なものとみなすべきである。 付記A トランザクション・テンプレートの説明 1.0 はじめに 本付記は、チャネルを介して伝達される情報と、一連のトランザクション中に 生じる内部DRAMコア状態を示すトランザクション・テンプレートを含む。 タイミング情報はテンプレートに沿って進み、各水平行はクロック・サイクル または2つのバス・サンプルを表す。各行は、500MHzでの4nsまたは5 33MHzでの3.75nsを表す。 1.1 Clk Cyc列 第1の列は、クロック・サイクルと呼ばれ、このテンプレートの始めからのク ロック・サイクル単位の時間を表す。 1.2 BE列 第2列は、BEで示され、そのクロック・サイクル中のBusEnableピ ンの状態である。BusEnableはシリアル・アドレスをRDRAMへ送信 するためにのみ使用される。 1.3 BC列 第3列は、BCで示され、そのクロック・サイクル中のBusCtrlピンの 状態である。BusCtrlは、要求パケット、ストローブ情報、終了情報、ウ ェークアップ情報を送信するために使用される。要求パケット時には、このフィ ールドは、要求およびデータを追跡できるようにする要求番号と、要求タイプと 、そのトランザクションに関するペンド・フィールドの値を識別する。ウェーク アップ情報、ストローブ情報、終了情報では、このフィールドは、その情報と共 に搬送される値、すなわち(ストローブ0)によって、どのトランザクションが 開始され、ストローブされ、終了するかを示すこともできる。 1.4 BD[8:0]列 第4列は、BD[8:0]で示され、そのクロック・サイクル中のBusDa taワイヤの状態である。データ・パケット時には、この列は、トランザクショ ン番号と、送信または受信中のオクトバイトを示す。要求パケット時には、この 列は、制御ビット・オープンおよびクローズの状態を示す。これらのビットは、 どのコア動作を実行すべきかをRDRAMに伝えるために使用される。アクセス 中のバンクに関して仮定される状態と、アドレスされるバンクは、要求パケット の最後のフィールドにも含まれる。 1.5 DRAM内部状態列 第5列ないし第9列は、0で示されるRDRAM内の活動を表し、第5列はそ のCAS活動であり、次の4列は4つのバンクのそれぞれ(Bank[0:3] )の活動または状態である。第10列ないし第14列は、1で示される他のRD RAM内の活動を表し、第10列はそのCAS活動であり、次の4列は4つのバ ンクのそれぞれ(Bank[0:3])の活動または状態である。 1.6 列符号化 列符号化は2つの数字からなる。第1の数字は要求番号である。第2の数字は オクトバイト番号である。 1.7 バンク[0:3]符号化 これらの列は、動作を表す記号と、その動作を行ったトランザクションの番号 とを含む。記号の意味を下記の表に与える。 非インタリーブ式プリチャージ4オクト1バンクRWWRR 付記B トランザクション・テンプレートの説明 1.0 はじめに 本付記は、チャネルを介して伝達される情報と、一連のトランザクション中に 生じる内部DRAMコア状態とを示すトランザクション・テンプレートを含む。 タイミング情報はテンプレートに沿って進み、各水平行はクロック・サイクル または2つのバス・サンプルを表す。各行は、500MHzでの4nsまたは5 33MHzでの3.75nsを表す。 1.1 Clk Cyc列 第1の列は、クロック・サイクルと呼ばれ、このテンプレートの始めからのク ロック・サイクル単位の時間を表す。 1.2 BE列 第2列は、BEで示され、そのクロック・サイクル中のBusEnableピ ンの状態である。BusEnableはシリアル・アドレスをRDRAMへ送信 するためにのみ使用される。 1.3 BC列 第3列は、BCで示され、そのクロック・サイクル中のBusCtrlピンの 状態である。BusCtrlは、要求パケット、ストローブ情報、終了情報、ウ ェークアップ情報を送信するために使用される。要求パケット時には、このフィ ールドは、要求およびデータを追跡できるようにする要求番号と、要求タイプと 、そのトランザクションに関するペンド・フィールドの値を識別する。ウェーク アップ情報、ストローブ情報、終了情報では、このフィールドは、その情報と共 に搬送される値、すなわち(ストローブ0)によって、どのトランザクションが 開始され、ストローブされ、終了するかを示すこともできる。 1.4 BD[8:0]列 第4列は、BD[8:0]で示され、そのクロック・サイクル中のBusDa taワイヤの状態である。データ・パケット時には、この列は、トランザクショ ン番号と、送信または受信中のオクトバイトを示す。要求パケット時には、この 列は、制御ビット・オープンおよびクローズの状態を示す。これらのビットは、 どのコア動作を実行すべきかをRDRAMに伝えるために使用される。アクセス 中のバンクに関して仮定される状態と、アドレスされるバンクは、要求パケット の最後のフィールドにも含まれる。 1.5 DRAM内部状態列 第5列ないし第9列は、0で示されるRDRAM内の活動を表し、第5列はそ のCAS活動であり、次の4列は4つのバンクのそれぞれ(Bank[0:3] )の活動または状態である。第10列ないし第14列は、1で示される他のRD RAM内の活動を表し、第10列はそのCAS活動であり、次の4列は4つのバ ンクのそれぞれ(Bank[0:3])の活動または状態である。 1.6 列符号化 列符号化は2つの数字からなる。第1の数字は要求番号である。第2の数字は オクトバイト番号である。 1.7 バンク[0:3]符号化 これらの列は、動作を表す記号と、その動作を行ったトランザクションの番号 とを含む。記号の意味を下記の表に与える。 インタリーブ式プリチャージ4オクト2バンク1RDRAM RWWRWWRRR 付記C トランザクション・テンプレートの説明 1.0 はじめに 本付記は、チャネルを介して伝達される情報と、一連のトランザクション中に 生じる内部DRAMコア状態とを示すトランザクション・テンプレートを含む。 タイミング情報はテンプレートに沿って進み、各水平行はクロック・サイクル または2つのバス・サンプルを表す。各行は、500MHzでの4nsまたは5 33MHzでの3.75nsを表す。 1.1 Clk Cyc列 第1の列は、クロック・サイクルと呼ばれ、このテンプレートの始めからのク ロック・サイクル単位の時間を表す。 1.2 BE列 第2列は、BEで示され、そのクロック・サイクル中のBusEnableピ ンの状態である。BusEnableはシリアル・アドレスをRDRAMへ送信 するためにのみ使用される。 1.3 BC列 第3列は、BCで示され、そのクロック・サイクル中のBusCtrlピンの 状態である。BusCtrlは、要求パケット、ストローブ情報、終了情報、ウ ェークアップ情報を送信するために使用される。要求パケット時には、このフィ ールドは、要求およびデータを追跡できるようにする要求番号と、要求タイプと 、そのトランザクションに関するペンド・フィールドの値を識別する。ウェーク アップ情報、ストローブ情報、終了情報では、このフィールドは、その情報と共 に搬送される値、すなわち(ストローブ0)によって、どのトランザクションが 開始され、ストローブされ、終了するかを示すこともできる。 1.4 BD[8:0]列 第4列は、BD[8:0]で示され、そのクロック・サイクル中のBusDa taワイヤの状態である。データ・パケット時には、この列は、トランザクショ ン番号と、送信または受信中のオクトバイトを示す。要求パケット時には、この 列は、制御ビット・オープンおよびクローズの状態を示す。これらのビットは、 どのコア動作を実行すべきかをRDRAMに伝えるために使用される。アクセス 中のバンクに関して仮定される状態と、アドレスされるバンクは、要求パケット の最後のフィールドにも含まれる。 1.5 DRAM内部状態列 第5列ないし第9列は、0で示されるRDRAM内の活動を表し、第5列はそ のCAS活動であり、次の4列は4つのバンクのそれぞれ(Bank[0:3] )の活動または状態である。第10列ないし第14列は、1で示される他のRD RAM内の活動を表し、第10列はそのCAS活動であり、次の4列は4つのバ ンクのそれぞれ(Bank[0:3])の活動または状態である。 1.6 列符号化 列符号化は2つの数字からなる。第1の数字は要求番号である。第2の数字は オクトバイト番号である。 1.7 バンク[0:3]符号化 これらの列は、動作を表す記号と、その動作を行ったトランザクションの番号 とを含む。記号の意味を下記の表に与える。 データ・サイズ、実行順序、未処理の要求、データ時間を変える
───────────────────────────────────────────────────── フロントページの続き (81)指定国 EP(AT,BE,CH,DE, DK,ES,FI,FR,GB,GR,IE,IT,L U,MC,NL,PT,SE),OA(BF,BJ,CF ,CG,CI,CM,GA,GN,ML,MR,NE, SN,TD,TG),AP(KE,LS,MW,SD,S Z,UG),UA(AM,AZ,BY,KG,KZ,MD ,RU,TJ,TM),AL,AM,AT,AT,AU ,AZ,BA,BB,BG,BR,BY,CA,CH, CN,CU,CZ,CZ,DE,DE,DK,DK,E E,EE,ES,FI,FI,GB,GE,HU,IL ,IS,JP,KE,KG,KP,KR,KZ,LC, LK,LR,LS,LT,LU,LV,MD,MG,M K,MN,MW,MX,NO,NZ,PL,PT,RO ,RU,SD,SE,SG,SI,SK,SK,TJ, TM,TR,TT,UA,UG,UZ,VN (72)発明者 ディロン,ジョン・ブラッドリー アメリカ合衆国・94306・カリフォルニア 州・パロアルト・モンロー ドライブ・ 177 (72)発明者 スターク,ドナルド・チャールズ アメリカ合衆国・94022・カリフォルニア 州・ロスアルトス・エル カミーノ・ビイ 10・4546・アパートメント 108 (72)発明者 ハンプル,クレイグ・エドワード アメリカ合衆国・95123・カリフォルニア 州・サン ホゼ・ダン アヴェニュ・5927 (72)発明者 グリフィン,マシュー・マーディ アメリカ合衆国・94040・カリフォルニア 州・マウンテンビュー・アプリコット レ ーン・360

Claims (1)

  1. 【特許請求の範囲】 1.コンピュータ・システム内でデータ転送を行う方法であって、 コントローラに データ転送動作と転送すべきデータの第1の位置とを指定する制御情報を バス上で送信するステップと、 バス上で制御情報を送信した後に、 データ転送動作で転送すべき所望のデータ量を求めるステップと、 所望のデータ量が所定のデータ量よりも多い場合に追加データ位置を バスを介して送信するステップと、 転送すべき所望のデータ量に基づく時間にバスを介して終了表示を送 信するステップとを実行するステップと を実行させるステップと、 メモリ装置に バス上の制御情報を読み取るステップと、 第1の位置に記憶されているデータに対して、指定されたデータ転送動作 を実行するステップと、 所望のデータ量が、第1の位置に関連付けられたデータ量よりも多いとき に追加位置に記憶されているデータに対して指定されたデータ転送動作を実行す るステップと、 バス上で終了表示を検出するまで指定されたデータ転送動作を実行し続け るステップと、 終了表示が検出された時間に基づく時間にデータ転送動作の実行を終了さ せるステップと を実行させるステップと を含むことを特徴とする方法。 2.さらに、 コントローラに、制御情報を送信した後にバス上でストローブ信号を送信させ るステップと、 メモリ装置に、メモリ装置自体がバス上でストローブ信号をいつ検出したかに 基づく時間に、指定されたデータ転送動作の実行を開始させるステップとを含む ことを特徴とする請求項1に記載の方法。 3.さらに、 コントローラに、指定されたデータ転送動作と、指定されたデータ転送動作以 外の1回または複数のデータ転送動作に関して受信された要求と、に基づいてイ ンタリーブ・パターンを選択させるステップと、 コントローラに、指定されたデータ転送動作に関する制御情報を送信してから ストローブ信号を送信するまでの間に1回または複数のデータ転送動作のうちの 少なくとも1回のデータ転送動作でバスを介して制御情報を送信させるステップ とを含むことを特徴とする請求項2に記載の方法。 4.さらに、 転送動作中に、コントローラに、メモリ装置がデータ転送動作を実行した後に プリチャージ動作を実行すべきかどうかを判定させるステップと、 データ転送動作の終わりあるいは終わり近くに、コントローラに、データ転送 動作を実行した後にプリチャージ動作を実行すべきかどうかをメモリ装置に伝達 させるステップとを含むことを特徴とする請求項1に記載の方法。 5.さらに、コントローラに、データ転送動作を実行した後にプリチャージ動 作を実行すべきかどうかをメモリ装置に伝達させるステップが、 複数のクロック・サイクルと複数のプリチャージオプションとの間に相関関係 を確立するステップと、 複数のプリチャージオプションからプリチャージオプションを選択するステッ プと、 コントローラに、選択したプリチャージオプションに対応するクロック・サイ クル中に終了表示を送信させるステップとを含むことを特徴とする請求項4に記 載の方法。 6.データを記憶しデータ転送動作を実行するメモリ装置であって、 バスに結合された制御回路と、 データを記憶するメモリとを備え、 制御回路が、バス上に保持された制御情報を読み取るように構成され、 制御情報が、データ転送動作および第1のアドレスを指定するデータを含み、 メモリ装置が、メモリに記憶され、第1のアドレスから始まるデータに対して 指定されたデータ転送動作を実行するように構成され、 メモリ装置が、バス上で終了表示を検出するまで、バス上に保持されたアドレ スに指定された追加位置から開始する、記憶されているデータに対して、指定さ れたデータ転送動作を実行するように構成され、 メモリ装置が、終了表示が検出された時間に基づく時間にデータ転送動作の実 行を終了することを特徴とするメモリ装置。 7.さらに、バス上でストローブ信号を検出し、ストローブ信号が検出された 時間に基づく時間に、指定されたデータ転送動作の実行を開始するように構成さ れることを特徴とする請求項6に記載のメモリ装置。 8.さらに、バスの1本または複数の線上に保持されたアドレス情報を読み取 り、同時に、バスの1本または複数の他の線を使用して指定されたデータ転送動 作を実行するように構成され、アドレス情報が、指定されたデータ転送動作で使 用されるデータがどこに配置されているかを指定することを特徴とする請求項6 に記載のメモリ装置。 9.制御情報が、第1の1組のデータの位置を指定し、メモリ装置が、ストロ ーブ信号を検出する前にこの位置から第1の1組のデータを検索するように構成 されることを特徴とする請求項7に記載のメモリ装置。 10.メモリ装置がさらに、バスの1本または複数の線からアドレス情報を読 み取るように構成され、 アドレス情報が、データ転送動作で送信すべき1組または複数組の追加データ の位置を指定し、 メモリ装置が、アドレス情報の読取り時に1組または複数組の追加データを検 索し、 メモリ装置が、第1の1組のデータを送信した後に1組または複数組の追加デ ータを送信することを特徴とする請求項9に記載のメモリ装置。 11.メモリ・コントローラを1つまたは複数のメモリ装置に接続するバスの 使用度を最大にするためにメモリ・コントローラ内で使用される方法であって、 複数のデータ転送動作のために受信された要求に基づいてインタリーブ・パタ ーンを選択するステップと、 複数のデータ転送動作のそれぞれのデータ転送動作に対して データ転送動作を指定する制御情報をバスを介して送信するステップと、 インタリーブ・パターンを形成するには制御情報を送信してからデータ転 送動作を開始するまでにどのくらいの時間が経過しなければならないかを判定す るステップと、 データ転送動作をいつ開始すべきかを指定する開始インジケータをバスを 介して送信するステップと を含むことを特徴とする方法。 12.開始インジケータを送信するステップが、制御情報で遅延値を送信する ことによって実行され、遅延値が、制御情報がバスを介して送信される時間に対 して、データ転送動作をいつ開始すべきかを示すことを特徴とする請求項11に 記載の方法。 13.開始インジケータを送信するステップが制御情報を送信してから選択さ れたクロック・サイクル数が経過した後にストローブ信号を送信することによっ て実行され、クロック・サイクルの数がインタリーブ・パターンを形成するには 制御情報を送信してからデータ転送を開始するまでの間にどれだけの時間が経過 しなければならないかに基づいて決定されることを特徴とする請求項11に記載 の方法。 14.1つまたは複数のメモリ装置へ制御情報を送信するために必要な線の数 を削減する方法であって、 1つまたは複数のメモリ装置が接続されたチャネルを介して、データ転送動作 を指定し、かつチャネルの特定の制御線上に現れるデータ転送動作に関連するス トローブ信号をどのように識別するかを示す値を含む要求パケットを送信するス テップと、 要求パケットを送信してからストローブ信号を送信するまでの間に、ストロー ブ信号と同じ信号特性を有する零個以上の制御信号を特定の制御線で送信するス テップと、 その特定の制御線でストローブ信号を送信するステップと を含むことを特徴とする方法。 15.前記値が、ストローブ信号の前に特定の制御線上に現れるストローブ信 号と同じ信号はいくつかを示すことを特徴とする請求項14に記載の方法。 16.データ転送動作がチャネルを介して実行すべき複数のデータ転送動作の うちの1つであり、方法がさらに、複数のデータ転送動作に関するインタリーブ ・パターンを動的に判定するステップを含み、要求パケットを送信してからスト ローブ信号を送信するまでの時間の長さがインタリーブ・パターンに基づいて変 化することを特徴とする請求項14に記載の方法。 17.さらに、 1つまたは複数のメモリ装置に、その装置自体がチャネルを監視しないパワー ・ダウン・モードを開始させるステップと、 データ転送動作を実行するために必要な1つまたは複数のメモリ装置のうちの 1つのメモリ装置に、パワー・ダウン・モードを終了させ、かつチャネルの監視 を開始させるウェークアップ信号を、要求パケットを送信する前に特定の制御線 を介して送信するステップとを含むことを特徴とする請求項14に記載の方法。 18.バスを介してメモリ装置に結合されたメモリ・コントローラによって使 用される、プリチャージの決定を遅延する方法であって、 データ転送動作を指定する要求パケットをバスの第1の数の線を介してメモリ 装置へ送信するステップと、 メモリ装置がデータ転送動作を実行している間に追加データ転送動作を求める 要求を受信するステップと、 追加データ転送トランザクションに対して受信された要求に基づいて、データ 転送動作の後にプリチャージ動作を開始すべきであるかどうかを判定するステッ プと、 データ転送動作の終わりあるいは終わり近くに、データ転送動作の後にプリチ ャージ動作を実行すべきかどうかを示す制御信号を、第1の回線数よりも少ない バスの第2の数の線を介してメモリ装置へ送信するステップと を含むことを特徴とする方法。 19.制御信号を送信するステップが、メモリ装置へ終了信号を送信すること によって実行され、メモリ装置が、メモリ装置自体が終了信号をいつ受信したか に基づく時間にデータ転送動作を終了することを特徴とする請求項18に記載の 方法。 20.メモリ装置が、メモリ装置自体が複数のクロック・サイクルのうちの任 意の1クロック・サイクルに終了信号を検出した場合に、特定のデータ・パケッ トが送信された後にデータ転送動作を終了するように構成され、 メモリ・コントローラが、複数のクロック・サイクルのうちの特定のクロック ・サイクルに終了信号を送信することによって、プリチャージ動作を実行すべき であることを示し、 メモリ・コントローラが、複数のクロック・サイクルのうちの異なるクロック ・サイクルに終了信号を送信することによって、プリチャージ動作を実行すべき ではないことを示し、 メモリ装置が、メモリ装置自体が終了信号を検出したクロック・サイクルに基 づいてプリチャージ動作を開始することを特徴とする請求項19に記載の方法。 21.メモリ装置が複数のバンクを含み、 メモリ装置が、メモリ装置自体が複数のクロック・サイクルのうちの任意の1 クロック・サイクルに終了信号を検出した場合に、特定のデータ・パケットが送 信された後にデータ転送動作を終了し、 方法がさらに、複数のクロック・サイクルと複数のバンクとの対応を確立する ステップを含み、 メモリ・コントローラが、バンクに対応する複数のクロック・サイクルのうち の1クロック・サイクルに終了信号を送信することによって、プリチャージ動作 を実行すべきであるメモリ装置内のバンクを示し、 メモリ装置が、メモリ装置自体が終了信号を検出したクロック・サイクルに対 応するバンクに対するプリチャージ動作を開始することを特徴とする請求項19 に記載の方法。 22.データ転送動作を実行する方法であって、 コントローラに メモリ装置内の複数の制御線に対応する複数のビットを含む、データ転送 動作に関する命令コードを構築するステップと、 命令コードをバスを介してメモリ装置へ送信するステップと を実行させるステップと、 メモリ装置に バスを介して命令コードを受信するステップと、 複数の制御線のそれぞれごとに、命令コード内の制御線に対応するビット の値に基づく信号を制御線に印加するステップと、 命令コードに指定されたデータ転送動作を実行するステップと を実行させるステップと を含むことを特徴とする方法。 23.1本の制御線が書込み制御線であり、 複数のビットが書込み制御線に対応するビットを含み、 方法がさらに、 データ転送動作が書込み動作であるか、それとも読取り動作であるかに基づい て、コントローラが書込み制御線に対応するビットをセットするステップと、 書込み制御線に対応するビットがセットされているかどうかに基づく信号をメ モリ装置が書込み制御線に印加するステップとを含むことを特徴とする請求項2 2に記載の方法。 24.メモリ装置が複数のレジスタを含み、 1本の制御線がレジスタ制御線であり、 複数のビットが、レジスタ制御線に対応するビットを含み、 方法がさらに、 コントローラが、データ転送動作がレジスタ動作であるかどうかに基づいてレ ジスタ制御線に対応するビットをセットするステップと、 レジスタ制御線に対応するビットがセットされているかどうかに基づく信号を メモリ装置がレジスタ制御線に印加するステップとを含むことを特徴とする請求 項22に記載の方法。 25.バスを介して命令コードを受信するステップが、メモリ装置のそれぞれ の異なるピンで複数のビットのそれぞれを受信することを含み、 方法がさらに、 各ビットを、それが受信されたピンから、そのビットに対応する制御線に関連 付けられたデコーダに経路指定するステップと、 各制御線に関連付けられたデコーダに、制御線に対応するビットとデコーダに 維持されている状態情報とに基づく信号を制御線に印加させるステップとを含む ことを特徴とする請求項22に記載の方法。 26.メモリ装置によって使用される、要求パケットを処理すべきかどうかを 判定する方法であって、 データ転送動作およびアドレスを指定する命令コードを含む要求パケットをバ スを介して受信するステップと、 要求パケット内のアドレスをメモリ装置に関連付けられたアドレスと比較する ステップと、 要求パケット内のアドレスが、モリ装置に関連付けられたアドレスに一致する か、あるいは命令コード内の特定のビットが特定の状態を有する場合に要求パケ ットを処理するステップと を含むことを特徴とする方法。 27.データ転送動作を実行する方法であって、 コントローラに データ転送動作を求める要求を受信するステップと、 データ転送動作で使用されるメモリ装置を判定するステップと、 メモリ装置がデータ転送動作を実行する前または後に内部メモリ・コア動 作を実行すべきであるかどうかを判定するステップと、 データ転送動作を指定する第1の1組のビットと、メモリ装置によって実 行すべき零個以上のメモリ・コア動作を指定する第2の1組のビットとを含む制 御情報をバスを介して送信するステップと を実行させるステップと、 メモリ装置に バスを介して制御情報を受信するステップと、 第1の1組のビットで指定されたデータ転送動作を実行するステップと、 第2の1組のビットで指定された内部メモリ・コア動作を実行するステッ プと を実行させるステップと を含むことを特徴とする方法。 28.第2の1組のビットが、データ転送動作および内部メモリ・コア動作の シーケンスを指定し、メモリ装置が、第2の1組のビットによって指定されたシ ーケンスでデータ転送動作および内部メモリ・コア動作を実行することを特徴と する請求項27に記載の方法。 29.コントローラがメモリ装置の現在の状態のレコードを維持し、 メモリ装置が内部メモリ・コア動作を実行すべきかどうかを判定するステップ が、メモリ装置の現在の状態に基づいてコントローラによって実行されることを 特徴とする請求項27に記載の方法。 30.コントローラが、メモリ装置内のセンス増幅器に現在記憶されているデ ータのアドレスのレコードを維持し、 メモリ装置内のセンス増幅器に現在記憶されているデータのアドレスとデータ 転送動作で使用されるデータのアドレスとに基づいて、メモリ装置が内部メモリ ・コア動作を実行すべきであるかどうかを判定するステップをコントローラが実 行することを特徴とする請求項29に記載の方法。 31.デジタル・データを記憶するメモリ装置であって、 電源線と、 電源線に結合され、それぞれバンク上でコア動作が実行されるときに電源線か ら電流を引き出す複数のバンクと、 複数のバンクおよび外部バスに結合され、データ転送動作を求める要求を外部 バスを介して受信する制御回路と、 を備え、 制御回路は、データ転送動作を実行した場合に、いつ複数のバンクのうちの2 つ以上のバンク上でコア動作が並行して実行されるかを検出するように構成され 、 かつ データ転送動作を実行しても、複数のバンクのうちの2つ以上のバンク上でコ ア動作が並行して実行されることのない場合にのみ各データ転送動作を実行する ように構成されたことを特徴とするメモリ装置。 32.さらに、電源線上のすべてのバンクに対応する待ち行列を備え、制御回 路が、複数のバンクのうちの任意のバンク上でコア動作を実行する必要があるデ ータ転送動作を待ち行列に入れ、かつ待ち行列を順次実行し、複数のバンクのう ちの2つ以上のバンク上でコア動作が並行して実行されるのを防止することを特 徴とする請求項31に記載のメモリ装置。 33.制御回路が、その動作を実行すると複数のバンクのうちの2つ以上のバ ンク上でコア動作が並行して実行される各データ転送動作を無視するように構成 されることを特徴とする請求項31に記載のメモリ装置。 34.さらに、待ち行列を備え、制御回路が、メモリ装置内の任意のバンク上 でコア動作を実行する必要があるデータ転送動作を待ち行列に入れ、かつ待ち行 列を順次実行し、メモリ装置内の2つ以上のバンク上でコア動作が並行して実行 されるのを防止することを特徴とする請求項31に記載のメモリ装置。 35.チャネルに結合されたコントローラを含むコンピュータ・システム内で 使用されるメモリ装置であって、 チャネルに結合され、メモリ装置がデータ転送動作を実行できるようにコア動 作を実行しなければならないいくつかのデータ転送動作を含むデータ転送動作を 指定する制御情報をチャネルを介してコントローラから受信するように構成され た入力回路と、 複数のメモリ・バンクと、 複数のメモリ・バンクに結合され、コア動作を実行するのに必要な電流を供給 するために複数のメモリ・バンクへ電流を搬送し、確実に一度に1回のコア動作 分の電流しか供給しないように構成された電源線と、 入力回路に結合され、転送トランザクションを実行すると複数のメモリ・バン ク上で複数のコア動作が並行して実行されるかどうかにかかわらずに、制御情報 に指定されたデータ転送動作をメモリ装置に実行させるように構成された制御回 路と を備え、コントローラが、複数のメモリ・バンク上で複数のコア動作が並行して 実行されるのを防止するように制御情報の伝送を制御することを特徴とするメモ リ装置。 36.コンピュータ・システム内でデータ転送を実行する方法であって、 データ転送動作と転送すべきデータの第1の位置とを指定する制御情報をバス 上で送信するステップと、 遅延間隔を判定するステップと、 バス上で制御情報を送信するステップが実行されたときから遅延時間が経過し た後にバスを介して制御信号を送信するステップとをコントローラに実行させる ステップと、 バス上の制御情報を読み取るステップと、 バス上で制御信号を検出するステップと、 いつバス上で制御信号が検出されたかに基づく時間に、第1の位置に記憶され ているデータに対して、指定されたデータ転送動作を実行するステップとをメモ リ装置に実行させるステップと を含むことを特徴とする方法。 37.さらに、コントローラに、連続するデータ転送動作にわたって遅延間隔 を変化させるステップを含むことを特徴とする請求項36に記載の方法。 38.さらに、コントローラに所望のインタリーブを判定させるステップを含 み、コントローラが、所望のインタリーブに基づいて遅延間隔を求めるステップ を実行することを特徴とする請求項36に記載の方法。 39.さらに、 コントローラにバスを介して終了信号を送信させるステップと、 メモリ装置に、バス上で終了信号を検出するまでデータ転送動作を実行し続け させるステップとを含むことを特徴とする請求項36に記載の方法。 40.メモリ・コントローラを1つまたは複数のメモリ装置に接続するバスの 使用度を最大にするように構成されたメモリ・コントローラであって、 複数のデータ転送動作に関して受信された要求に基づいてインタリーブ・パタ ーンを選択するように構成された制御装置と、 制御装置およびバスに結合された出力装置と を備え、 制御装置がさらに、複数のデータ転送動作のそれぞれの場合に、 データ転送動作を指定する制御情報を出力装置を通じてバスへ送信し、 インタリーブ・パターンを形成するのに制御情報を送信してからデータ転 送動作を開始するまでの間にどれだけの時間が経過しなければならないかを判定 し、 データ転送動作をいつ開始すべきかを指定する開始インジケータを出力装 置を通じてバスへ送信するのを実行するように構成されることを特徴とするメモ リ・コントローラ。 41.開始インジケータを送信するステップが、制御情報で遅延値を送信する ことによって実行され、遅延値が、バスを介して制御情報が送信された時間に対 していつデータ転送動作を開始すべきかを示すことを特徴とする請求項40に記 載のメモリ・コントローラ。 42.開始インジケータを送信するステップが、制御情報を送信してから選択 されたクロック・サイクル数が経過した後にストローブ信号を送信することによ って実行され、クロック・サイクル数が、インタリーブ・パターンを形成するに は制御情報を送信してからデータ転送動作を開始するまでにどれだけの時間が経 過しなければならないかに基づいて求められることを特徴とする請求項40に記 載のメモリ・コントローラ。
JP9516077A 1995-10-19 1996-10-18 ダイナミック・メモリとの通信に関するプロトコル Pending JPH11513830A (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US08/545,292 US5748914A (en) 1995-10-19 1995-10-19 Protocol for communication with dynamic memory
US08/545,292 1995-10-19
PCT/US1996/016835 WO1997014289A2 (en) 1995-10-19 1996-10-18 Protocol for communication with dynamic memory

Publications (1)

Publication Number Publication Date
JPH11513830A true JPH11513830A (ja) 1999-11-24

Family

ID=24175641

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9516077A Pending JPH11513830A (ja) 1995-10-19 1996-10-18 ダイナミック・メモリとの通信に関するプロトコル

Country Status (8)

Country Link
US (4) US5748914A (ja)
EP (5) EP1244110A3 (ja)
JP (1) JPH11513830A (ja)
KR (1) KR19990066947A (ja)
AT (1) ATE228675T1 (ja)
AU (1) AU7461296A (ja)
DE (2) DE02012810T1 (ja)
WO (1) WO1997014289A2 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2011528837A (ja) * 2008-07-21 2011-11-24 マイクロン テクノロジー, インク. 積層メモリデバイスダイスを用いるメモリシステムおよび方法、ならびにそのメモリシステムを用いるシステム
JP2013225352A (ja) * 2007-08-29 2013-10-31 Mosaid Technologies Inc フラッシュメモリデバイス
US9146811B2 (en) 2008-07-02 2015-09-29 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US9411538B2 (en) 2008-05-29 2016-08-09 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US9602080B2 (en) 2010-12-16 2017-03-21 Micron Technology, Inc. Phase interpolators and push-pull buffers
US10109343B2 (en) 2008-07-02 2018-10-23 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes

Families Citing this family (120)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5696917A (en) 1994-06-03 1997-12-09 Intel Corporation Method and apparatus for performing burst read operations in an asynchronous nonvolatile memory
US6810449B1 (en) * 1995-10-19 2004-10-26 Rambus, Inc. Protocol for communication with dynamic memory
US6470405B2 (en) * 1995-10-19 2002-10-22 Rambus Inc. Protocol for communication with dynamic memory
JP4084428B2 (ja) * 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
US5790888A (en) * 1996-08-12 1998-08-04 Seeq Technology, Inc. State machine for selectively performing an operation on a single or a plurality of registers depending upon the register address specified in a packet
US5923611A (en) * 1996-12-20 1999-07-13 Micron Technology, Inc. Memory having a plurality of external clock signal inputs
US6912680B1 (en) 1997-02-11 2005-06-28 Micron Technology, Inc. Memory system with dynamic timing correction
US5870347A (en) 1997-03-11 1999-02-09 Micron Technology, Inc. Multi-bank memory input/output line selection
JPH10293744A (ja) * 1997-04-18 1998-11-04 Nec Corp Pciバス・システム
US6098123A (en) * 1997-05-08 2000-08-01 International Business Machines Corporation Method and apparatus for dynamic allocation of bandwidth to/from network adapter memory amongst active input/output ports
US6247138B1 (en) * 1997-06-12 2001-06-12 Fujitsu Limited Timing signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
US6173432B1 (en) 1997-06-20 2001-01-09 Micron Technology, Inc. Method and apparatus for generating a sequence of clock signals
US6266379B1 (en) 1997-06-20 2001-07-24 Massachusetts Institute Of Technology Digital transmitter with equalization
US6044429A (en) * 1997-07-10 2000-03-28 Micron Technology, Inc. Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US5940609A (en) * 1997-08-29 1999-08-17 Micorn Technology, Inc. Synchronous clock generator including a false lock detector
US6101197A (en) 1997-09-18 2000-08-08 Micron Technology, Inc. Method and apparatus for adjusting the timing of signals over fine and coarse ranges
WO1999019805A1 (en) 1997-10-10 1999-04-22 Rambus Incorporated Method and apparatus for two step memory write operations
US6401167B1 (en) 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US5923594A (en) * 1998-02-17 1999-07-13 Micron Technology, Inc. Method and apparatus for coupling data from a memory device using a single ended read data path
US6456628B1 (en) * 1998-04-17 2002-09-24 Intelect Communications, Inc. DSP intercommunication network
US6003121A (en) * 1998-05-18 1999-12-14 Intel Corporation Single and multiple channel memory detection and sizing
US6405280B1 (en) 1998-06-05 2002-06-11 Micron Technology, Inc. Packet-oriented synchronous DRAM interface supporting a plurality of orderings for data block transfers within a burst sequence
US6167495A (en) 1998-08-27 2000-12-26 Micron Technology, Inc. Method and apparatus for detecting an initialization signal and a command packet error in packetized dynamic random access memories
US6349399B1 (en) 1998-09-03 2002-02-19 Micron Technology, Inc. Method and apparatus for generating expect data from a captured bit pattern, and memory device using same
US6633947B1 (en) * 1998-09-16 2003-10-14 Intel Corporation Memory expansion channel for propagation of control and request packets
US6122189A (en) * 1998-10-02 2000-09-19 Rambus Inc. Data packet with embedded mask
US6182183B1 (en) 1998-11-13 2001-01-30 Sonics, Inc. Communications system and method with multilevel connection identification
US6173354B1 (en) * 1998-12-04 2001-01-09 Intel Corporation Method and apparatus for decoupling internal latencies of a bus bridge from those on an external bus
US6748442B1 (en) * 1998-12-21 2004-06-08 Advanced Micro Devices, Inc. Method and apparatus for using a control signal on a packet based communication link
US6470060B1 (en) 1999-03-01 2002-10-22 Micron Technology, Inc. Method and apparatus for generating a phase dependent control signal
US7069406B2 (en) 1999-07-02 2006-06-27 Integrated Device Technology, Inc. Double data rate synchronous SRAM with 100% bus utilization
US6401213B1 (en) * 1999-07-09 2002-06-04 Micron Technology, Inc. Timing circuit for high speed memory
US8170538B2 (en) * 1999-12-06 2012-05-01 Solocron Media, Llc Methods and apparatuses for programming user-defined information into electronic devices
US6453373B1 (en) 1999-12-30 2002-09-17 Intel Corporation Method and apparatus for differential strobing
US6459647B1 (en) * 2000-02-08 2002-10-01 Alliance Semiconductor Split-bank architecture for high performance SDRAMs
US6442098B1 (en) * 2000-02-08 2002-08-27 Alliance Semiconductor High performance multi-bank compact synchronous DRAM architecture
US7325221B1 (en) 2000-08-08 2008-01-29 Sonics, Incorporated Logic system with configurable interface
US6807613B1 (en) * 2000-08-21 2004-10-19 Mircon Technology, Inc. Synchronized write data on a high speed memory bus
US6385094B1 (en) 2000-09-29 2002-05-07 Intel Corporation Method and apparatus for achieving efficient memory subsystem write-to-read turnaround through read posting
US6445624B1 (en) 2001-02-23 2002-09-03 Micron Technology, Inc. Method of synchronizing read timing in a high speed memory system
US7165094B2 (en) * 2001-03-09 2007-01-16 Sonics, Inc. Communications system and method with non-blocking shared interface
US20020147884A1 (en) * 2001-04-05 2002-10-10 Michael Peters Method and circuit for increasing the memory access speed of an enhanced synchronous SDRAM
US8391039B2 (en) * 2001-04-24 2013-03-05 Rambus Inc. Memory module with termination component
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
US20030004699A1 (en) * 2001-06-04 2003-01-02 Choi Charles Y. Method and apparatus for evaluating an integrated circuit model
US7028118B2 (en) * 2001-12-12 2006-04-11 Texas Instruments Incorporated Multi-channel buffered serial port debugging
KR100415092B1 (ko) * 2002-05-13 2004-01-13 주식회사 하이닉스반도체 모드 레지스터를 갖는 반도체 메모리 장치 및 상기 반도체메모리 장치에서의 디프 파워 다운 모드의 제어 방법
US6813679B2 (en) * 2002-06-20 2004-11-02 Purple Mountain Server Llc Method and circuit for increasing the memory access speed of an enhanced synchronous SDRAM
US6851032B2 (en) 2002-08-16 2005-02-01 Micron Technology, Inc. Latency reduction using negative clock edge and read flags
US7168027B2 (en) 2003-06-12 2007-01-23 Micron Technology, Inc. Dynamic synchronization of data capture on an optical or other high speed communications link
US7234070B2 (en) 2003-10-27 2007-06-19 Micron Technology, Inc. System and method for using a learning sequence to establish communications on a high-speed nonsynchronous interface in the absence of clock forwarding
DE102004014493B4 (de) * 2004-03-23 2006-11-02 Forschungszentrum Jülich GmbH Verfahren zur Bestimmung der Stromdichteverteilung in Brennstoffzellen
US8806103B2 (en) * 2004-04-28 2014-08-12 Hewlett-Packard Development Company, L.P. System and method for interleaving memory
US8060799B2 (en) * 2004-06-11 2011-11-15 Samsung Electronics Co., Ltd. Hub, memory module, memory system and methods for reading and writing to the same
US7669027B2 (en) 2004-08-19 2010-02-23 Micron Technology, Inc. Memory command delay balancing in a daisy-chained memory topology
US7301831B2 (en) * 2004-09-15 2007-11-27 Rambus Inc. Memory systems with variable delays for write data signals
US20060095652A1 (en) * 2004-10-29 2006-05-04 Hermann Ruckerbauer Memory device and method for receiving instruction data
JP5336088B2 (ja) * 2005-01-27 2013-11-06 アペリオ・テクノロジーズ・インコーポレイテッド 三次元仮想スライドを可視化するためのシステム及び方法
US7609567B2 (en) 2005-06-24 2009-10-27 Metaram, Inc. System and method for simulating an aspect of a memory circuit
US7472220B2 (en) * 2006-07-31 2008-12-30 Metaram, Inc. Interface circuit system and method for performing power management operations utilizing power management signals
US8081474B1 (en) 2007-12-18 2011-12-20 Google Inc. Embossed heat spreader
US7392338B2 (en) 2006-07-31 2008-06-24 Metaram, Inc. Interface circuit system and method for autonomously performing power management operations in conjunction with a plurality of memory circuits
US20080028136A1 (en) 2006-07-31 2008-01-31 Schakel Keith R Method and apparatus for refresh management of memory modules
US8359187B2 (en) 2005-06-24 2013-01-22 Google Inc. Simulating a different number of memory circuit devices
US7386656B2 (en) * 2006-07-31 2008-06-10 Metaram, Inc. Interface circuit system and method for performing power management operations in conjunction with only a portion of a memory circuit
JP2008544437A (ja) 2005-06-24 2008-12-04 メタラム インコーポレイテッド 一体化されたメモリコア及びメモリインターフェース回路
US8090897B2 (en) 2006-07-31 2012-01-03 Google Inc. System and method for simulating an aspect of a memory circuit
US8130560B1 (en) 2006-11-13 2012-03-06 Google Inc. Multi-rank partial width memory modules
US8796830B1 (en) 2006-09-01 2014-08-05 Google Inc. Stackable low-profile lead frame package
US8386722B1 (en) 2008-06-23 2013-02-26 Google Inc. Stacked DIMM memory interface
US8397013B1 (en) 2006-10-05 2013-03-12 Google Inc. Hybrid memory module
US9507739B2 (en) 2005-06-24 2016-11-29 Google Inc. Configurable memory circuit system and method
US9171585B2 (en) 2005-06-24 2015-10-27 Google Inc. Configurable memory circuit system and method
US7580312B2 (en) 2006-07-31 2009-08-25 Metaram, Inc. Power saving system and method for use with a plurality of memory circuits
US20080082763A1 (en) 2006-10-02 2008-04-03 Metaram, Inc. Apparatus and method for power management of memory circuits by a system or component thereof
US8327104B2 (en) 2006-07-31 2012-12-04 Google Inc. Adjusting the timing of signals associated with a memory system
US8089795B2 (en) 2006-02-09 2012-01-03 Google Inc. Memory module with memory stack and interface with enhanced capabilities
US8060774B2 (en) 2005-06-24 2011-11-15 Google Inc. Memory systems and memory modules
US8244971B2 (en) 2006-07-31 2012-08-14 Google Inc. Memory circuit system and method
US9542352B2 (en) 2006-02-09 2017-01-10 Google Inc. System and method for reducing command scheduling constraints of memory circuits
US8335894B1 (en) 2008-07-25 2012-12-18 Google Inc. Configurable memory system with interface circuit
US7590796B2 (en) 2006-07-31 2009-09-15 Metaram, Inc. System and method for power management in memory systems
US8077535B2 (en) 2006-07-31 2011-12-13 Google Inc. Memory refresh apparatus and method
US8055833B2 (en) 2006-10-05 2011-11-08 Google Inc. System and method for increasing capacity, performance, and flexibility of flash storage
US8041881B2 (en) 2006-07-31 2011-10-18 Google Inc. Memory device with emulated characteristics
US10013371B2 (en) 2005-06-24 2018-07-03 Google Llc Configurable memory circuit system and method
US8438328B2 (en) 2008-02-21 2013-05-07 Google Inc. Emulation of abstracted DIMMs using abstracted DRAMs
US8111566B1 (en) 2007-11-16 2012-02-07 Google, Inc. Optimal channel design for memory devices for providing a high-speed memory interface
DE112006004263B4 (de) 2005-09-02 2015-05-13 Google, Inc. Speicherbaustein
US9632929B2 (en) 2006-02-09 2017-04-25 Google Inc. Translating an address associated with a command communicated between a system and memory circuits
US7724589B2 (en) * 2006-07-31 2010-05-25 Google Inc. System and method for delaying a signal communicated from a system to at least one of a plurality of memory circuits
US20080028135A1 (en) * 2006-07-31 2008-01-31 Metaram, Inc. Multiple-component memory interface system and method
US7757064B2 (en) * 2006-09-07 2010-07-13 Infineon Technologies Ag Method and apparatus for sending data from a memory
US8209479B2 (en) 2007-07-18 2012-06-26 Google Inc. Memory circuit system and method
US8080874B1 (en) 2007-09-14 2011-12-20 Google Inc. Providing additional space between an integrated circuit and a circuit board for positioning a component therebetween
US7979757B2 (en) * 2008-06-03 2011-07-12 Micron Technology, Inc. Method and apparatus for testing high capacity/high bandwidth memory devices
US8127204B2 (en) 2008-08-15 2012-02-28 Micron Technology, Inc. Memory system and method using a memory device die stacked with a logic die using data encoding, and system using the memory system
EP2441007A1 (en) 2009-06-09 2012-04-18 Google, Inc. Programming of dimm termination resistance values
JP6072449B2 (ja) * 2012-07-09 2017-02-01 ルネサスエレクトロニクス株式会社 半導体記憶回路及びその動作方法
US9171597B2 (en) 2013-08-30 2015-10-27 Micron Technology, Inc. Apparatuses and methods for providing strobe signals to memories
CN109313918B (zh) 2016-09-02 2023-04-28 拉姆伯斯公司 具有输入/输出数据速率对齐的存储器部件
WO2018145201A1 (en) 2017-02-08 2018-08-16 Upstream Data Inc. Blockchain mine at oil or gas facility
US20190171609A1 (en) * 2017-12-05 2019-06-06 Qualcomm Incorporated Non-destructive outside device alerts for multi-lane i3c
WO2019139632A1 (en) 2018-01-11 2019-07-18 Lancium Llc Method and system for dynamic power delivery to a flexible datacenter using unutilized energy sources
US11016553B2 (en) 2018-09-14 2021-05-25 Lancium Llc Methods and systems for distributed power control of flexible datacenters
US10873211B2 (en) 2018-09-14 2020-12-22 Lancium Llc Systems and methods for dynamic power routing with behind-the-meter energy storage
US11031787B2 (en) 2018-09-14 2021-06-08 Lancium Llc System of critical datacenters and behind-the-meter flexible datacenters
US11025060B2 (en) 2018-09-14 2021-06-01 Lancium Llc Providing computational resource availability based on power-generation signals
US11031813B2 (en) 2018-10-30 2021-06-08 Lancium Llc Systems and methods for auxiliary power management of behind-the-meter power loads
US10367353B1 (en) 2018-10-30 2019-07-30 Lancium Llc Managing queue distribution between critical datacenter and flexible datacenter
US10452127B1 (en) * 2019-01-11 2019-10-22 Lancium Llc Redundant flexible datacenter workload scheduling
US11128165B2 (en) 2019-02-25 2021-09-21 Lancium Llc Behind-the-meter charging station with availability notification
CA3183109A1 (en) 2019-05-15 2020-11-19 Upstream Data Inc. Portable blockchain mining system and methods of use
US11868106B2 (en) 2019-08-01 2024-01-09 Lancium Llc Granular power ramping
US11397999B2 (en) 2019-08-01 2022-07-26 Lancium Llc Modifying computing system operations based on cost and power conditions
US10618427B1 (en) 2019-10-08 2020-04-14 Lancium Llc Behind-the-meter branch loads for electrical vehicle charging
US10608433B1 (en) 2019-10-28 2020-03-31 Lancium Llc Methods and systems for adjusting power consumption based on a fixed-duration power option agreement
US11042948B1 (en) 2020-02-27 2021-06-22 Lancium Llc Computing component arrangement based on ramping capabilities
CA3076653A1 (en) 2020-03-21 2021-09-21 Upstream Data Inc. Portable blockchain mining systems and methods of use
EP4196876A4 (en) 2020-08-14 2024-04-10 Lancium Llc PERFORMANCE-CONSCIOUS PLANNING

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2188759B (en) * 1986-04-05 1990-09-05 Burr Brown Ltd Data processing with op code early comparison
JPS6350998A (ja) * 1986-08-19 1988-03-03 Toshiba Corp 半導体記憶装置
JPS63239676A (ja) 1987-03-27 1988-10-05 Hitachi Ltd 半導体記憶装置
US5301278A (en) * 1988-04-29 1994-04-05 International Business Machines Corporation Flexible dynamic memory controller
JPH0212541A (ja) * 1988-04-29 1990-01-17 Internatl Business Mach Corp <Ibm> コンピユーテイング・システム及びその動作方法
US5404327A (en) * 1988-06-30 1995-04-04 Texas Instruments Incorporated Memory device with end of cycle precharge utilizing write signal and data transition detectors
US5172379A (en) * 1989-02-24 1992-12-15 Data General Corporation High performance memory system
US5036493A (en) * 1990-03-15 1991-07-30 Digital Equipment Corporation System and method for reducing power usage by multiple memory modules
US5289585A (en) * 1990-03-26 1994-02-22 Siemens Nixdorf Informationssysteme Ag Multiprocessor system having a system bus for the coupling of several processing units with appertaining private cache memories and a common main memory
US5243703A (en) * 1990-04-18 1993-09-07 Rambus, Inc. Apparatus for synchronously generating clock signals in a data processing system
IL96808A (en) 1990-04-18 1996-03-31 Rambus Inc Introductory / Origin Circuit Agreed Using High-Performance Brokerage
US5251178A (en) * 1991-03-06 1993-10-05 Childers Jimmie D Low-power integrated circuit memory
WO1992021088A1 (en) * 1991-05-17 1992-11-26 Eastman Kodak Company Novel electrical bus structure
US5345573A (en) * 1991-10-04 1994-09-06 Bull Hn Information Systems Inc. High speed burst read address generation with high speed transfer
JP2599539B2 (ja) * 1991-10-15 1997-04-09 インターナショナル・ビジネス・マシーンズ・コーポレイション 直接メモリ・アクセス装置及びルック・アヘッド装置
US5381538A (en) * 1991-10-15 1995-01-10 International Business Machines Corp. DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US5384745A (en) * 1992-04-27 1995-01-24 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device
FR2695227B1 (fr) * 1992-09-02 1994-10-14 Aton Systemes Procédé pour le transfert entrelacé des données entre la mémoire d'un ordinateur et un équipement périphérique constitué d'un système de gestion et de plusieurs unités de stockage.
US5553248A (en) * 1992-10-02 1996-09-03 Compaq Computer Corporation System for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
JPH06202933A (ja) * 1992-12-28 1994-07-22 Toshiba Corp 同期式大規模集積回路記憶装置
CA2109043A1 (en) * 1993-01-29 1994-07-30 Charles R. Moore System and method for transferring data between multiple buses
JP2605576B2 (ja) * 1993-04-02 1997-04-30 日本電気株式会社 同期型半導体メモリ
US5504874A (en) * 1993-09-29 1996-04-02 Silicon Graphics, Inc. System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions
JP3304577B2 (ja) * 1993-12-24 2002-07-22 三菱電機株式会社 半導体記憶装置とその動作方法
US5533204A (en) * 1994-04-18 1996-07-02 Compaq Computer Corporation Split transaction protocol for the peripheral component interconnect bus
ATE195381T1 (de) * 1994-06-17 2000-08-15 Advanced Micro Devices Inc Speicherübertragungsgeschwindigkeitsbegrenzung für pci-meister
US5638531A (en) * 1995-06-07 1997-06-10 International Business Machines Corporation Multiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013225352A (ja) * 2007-08-29 2013-10-31 Mosaid Technologies Inc フラッシュメモリデバイス
US9411538B2 (en) 2008-05-29 2016-08-09 Micron Technology, Inc. Memory systems and methods for controlling the timing of receiving read data
US9146811B2 (en) 2008-07-02 2015-09-29 Micron Technology, Inc. Method and apparatus for repairing high capacity/high bandwidth memory devices
US10109343B2 (en) 2008-07-02 2018-10-23 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
US10892003B2 (en) 2008-07-02 2021-01-12 Micron Technology, Inc. Multi-mode memory device and method having stacked memory dice, a logic die and a command processing circuit and operating in direct and indirect modes
JP2011528837A (ja) * 2008-07-21 2011-11-24 マイクロン テクノロジー, インク. 積層メモリデバイスダイスを用いるメモリシステムおよび方法、ならびにそのメモリシステムを用いるシステム
US9275698B2 (en) 2008-07-21 2016-03-01 Micron Technology, Inc. Memory system and method using stacked memory device dice, and system using the memory system
US9602080B2 (en) 2010-12-16 2017-03-21 Micron Technology, Inc. Phase interpolators and push-pull buffers
US9899994B2 (en) 2010-12-16 2018-02-20 Micron Technology, Inc. Phase interpolators and push-pull buffers

Also Published As

Publication number Publication date
AU7461296A (en) 1997-05-07
EP0870241B1 (en) 2002-11-27
EP2290551A3 (en) 2011-12-21
US5748914A (en) 1998-05-05
DE69625082D1 (de) 2003-01-09
US6122688A (en) 2000-09-19
EP2290549A3 (en) 2011-05-18
EP1244110A3 (en) 2005-11-09
EP2290550B1 (en) 2014-01-15
US5966731A (en) 1999-10-12
EP2290549A2 (en) 2011-03-02
DE02012810T1 (de) 2006-01-26
WO1997014289A3 (en) 1998-04-02
EP0870241B2 (en) 2009-08-05
DE69625082T2 (de) 2003-09-11
EP2290551B1 (en) 2013-06-12
EP0870241A1 (en) 1998-10-14
US5913046A (en) 1999-06-15
EP1244110A2 (en) 2002-09-25
WO1997014289A2 (en) 1997-04-24
EP2290550A3 (en) 2011-12-21
EP2290550A2 (en) 2011-03-02
EP2290549B1 (en) 2015-06-24
ATE228675T1 (de) 2002-12-15
EP2290551A2 (en) 2011-03-02
KR19990066947A (ko) 1999-08-16

Similar Documents

Publication Publication Date Title
JPH11513830A (ja) ダイナミック・メモリとの通信に関するプロトコル
US6931467B2 (en) Memory integrated circuit device which samples data upon detection of a strobe signal
US6591353B1 (en) Protocol for communication with dynamic memory
US6745309B2 (en) Pipelined memory controller
US6622228B2 (en) System and method of processing memory requests in a pipelined memory controller
US6088774A (en) Read/write timing for maximum utilization of bidirectional read/write bus
US7421548B2 (en) Memory system and method for two step memory write operations
US6002882A (en) Bidirectional communication port for digital signal processor
EP1019912A2 (en) Apparatus and method for pipelined memory operations
JP2007073052A (ja) 集積回路から外部メモリへのアクセス
US7076627B2 (en) Memory control for multiple read requests
US7330991B2 (en) Method and/or apparatus for paging to a dynamic memory array
US7149850B2 (en) Memory control apparatus executing prefetch instruction
EP0940757A2 (en) Traffic controller using priority and burst control for reducing access latency