(57)【要約】【課題】  メモリコマンドの伝達に用いる「要求ピン」の数をあまり増やすことなく、コマンド帯域幅を増やすことである。【解決手段】  本実施形態は、独立した起動コマンドおよびプリチャージコマンドを含む要求をメモリコントローラからメモリデバイスに送信するように構成されたメモリシステムを提供する。起動コマンドは、起動コマンドの対象となる第１の行を識別する行アドレスに関連付けられる。起動コマンドに対する応答として、本システムは、メモリデバイスの第１のバンクの第１の行を起動する。同様に、プリチャージコマンドに対する応答として、本システムは、メモリデバイスの第２のバンクをプリチャージする。【選択図】  図２
2012522311.tif 000002
【特許請求の範囲】
【請求項１】
半導体メモリデバイスの動作方法であって、
前記メモリデバイスのインタフェースにおいて、独立した起動コマンドおよびプリチャージコマンドを含む要求をメモリコントローラから受信するステップであって、前記起動コマンドは、前記起動コマンドの対象となる第１の行を識別する行アドレスに関連付けられる、前記受信するステップと、
前記起動コマンドに対する応答として、前記メモリデバイスの第１のバンクの前記第１の行を起動するステップと、
前記プリチャージコマンドに対する応答として、前記メモリデバイスの第２のバンクをプリチャージするステップと、
を含む方法。
【請求項２】
前記起動コマンドは、前記起動コマンドの対象となる前記第１のバンクを識別する第１のバンクアドレスを含む、請求項１に記載の方法。
【請求項３】
前記プリチャージコマンドは、前記プリチャージコマンドの対象となる前記第２のバンクを識別する第２のバンクアドレスを含む、請求項１に記載の方法。
【請求項４】
メモリデバイスにおいて、第１の列アクセスコマンドおよび第２の列アクセスコマンドを含む第２の要求を、メモリコントローラから受信するステップと、
前記第１の列アクセスコマンドに対する応答として、前記メモリデバイスにおいて、第１の列アクセスを伴う第１のメモリ動作を実行するステップと、
前記第２の列アクセスコマンドに対する応答として、前記メモリデバイスにおいて、第２の列アクセスを伴う第２のメモリ動作を実行するステップと、
をさらに含む、請求項１に記載の方法。
【請求項５】
前記第１および第２の列アクセスコマンドは、
２つの読み出しコマンド、
２つの書き込みコマンド、または
読み出しコマンドおよび書き込みコマンド
を含む、請求項４に記載の方法。
【請求項６】
前記第２の要求は、
前記第１の列アクセスコマンドの対象となる第１の列アドレスと、
前記第２の列アクセスコマンドの対象となる第２の列アドレスと、
前記第１および第２の列アクセスコマンドによって共用されるバンクアドレスと、
を含む、請求項５に記載の方法。
【請求項７】
前記第１および第２の列アクセスコマンドが両方とも書き込みコマンドである場合、前記第２の要求はさらに、前記関連付けられた書き込み動作の間に書き込みを行わないデータバイトを識別する共用書き込みマスクフィールドを含む、請求項５に記載の方法。
【請求項８】
前記第１および第２の列アクセスは連続して実行される、請求項４に記載の方法。
【請求項９】
前記プリチャージコマンドに関連付けられた遅延フィールドが設定された場合は、前記プリチャージコマンドの開始を遅延させるステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記メモリコントローラにおいて、対象行に対するプリチャージ動作のスケジューリングを、前記対象行に対する先行する列アクセスのスケジューリングと独立して行うステップをさらに含む、請求項１に記載の方法。
【請求項１１】
前記要求を受信するステップが、パケットプロトコルを用いて前記要求を受信することをさらに含むように、前記要求は、前記パケットプロトコルに含まれる、請求項１に記載の方法。
【請求項１２】
前記プリチャージコマンドは、前記メモリデバイスの第１のメモリアクセスに対応し、前記起動コマンドは、前記メモリデバイスの第２のメモリアクセスに対応し、前記第２のメモリアクセスは、前記第１のメモリアクセスの後に行われる、請求項１に記載の方法。
【請求項１３】
メモリコントローラデバイスの動作方法であって、
独立した起動コマンドおよびプリチャージコマンドを含む要求を、前記メモリコントローラからメモリデバイスに送信するステップを含み、
前記起動コマンドは、前記起動コマンドの対象となる第１の行を識別する行アドレスに関連付けられ、
前記起動コマンドを受けて、前記メモリデバイスは、前記メモリデバイスの第１のバンク内の第１の行を起動し、
前記プリチャージコマンドを受けて、前記メモリデバイスは、前記メモリデバイスの第２のバンクをプリチャージする、
方法。
【請求項１４】
メモリデバイスであって、
複数のメモリバンクと、
独立した起動コマンドおよびプリチャージコマンドを含む要求を受信するように構成された入力と、
を備え、
前記起動コマンドは、前記起動コマンドの対象となる第１の行を識別する行アドレスに関連付けられ、
前記起動コマンドに対する応答として、前記複数のメモリバンクの第１のバンク内の前記第１の行を起動するように構成され、
さらに、前記プリチャージコマンドに対する応答として、前記複数のメモリバンクの第２のバンクをプリチャージするように構成されたプリチャージ機構を備える、
メモリデバイス。
【請求項１５】
前記起動コマンドは、前記起動コマンドの対象となる前記第１のバンクを識別する第１のバンクアドレスを含む、請求項１４に記載のメモリデバイス。
【請求項１６】
前記プリチャージコマンドは、前記プリチャージコマンドの対象となる前記第２のバンクを識別する第２のバンクアドレスを含む、請求項１４に記載のメモリデバイス。
【請求項１７】
前記入力は、第１の列アクセスコマンドおよび第２の列アクセスコマンドを含む第２の要求を受信するように構成され、
前記第１の列アクセスコマンドに対する応答として、第１の列アクセスを伴う第１のメモリ動作を実行するように構成され、
前記第２の列アクセスコマンドに対する応答として、第２の列アクセスを伴う第２のメモリ動作を実行するように構成された、
請求項１４に記載のメモリデバイス。
【請求項１８】
前記第１および第２の列アクセスコマンドのそれぞれは、
２つの読み出しコマンドと、
２つの書き込みコマンドと、
読み出しコマンドおよび書き込みコマンドと、
のうちの１つを含む、請求項１７に記載のメモリデバイス。
【請求項１９】
前記第２の要求は、
前記第１の列アクセスコマンドの対象となる第１の列アドレスと、
前記第２の列アクセスコマンドの対象となる第２の列アドレスと、
前記第１および第２の列アクセスコマンドの両方に関連付けられたバンクアドレスと、
を含む、請求項１７に記載のメモリデバイス。
【請求項２０】
前記第１および第２の列アクセスコマンドが両方とも書き込みコマンドである場合、前記第２の要求はさらに、前記関連付けられた書き込み動作の間に書き込みを行わないデータバイトを識別する共用書き込みマスクフィールドを含む、請求項１９に記載のメモリデバイス。
【請求項２１】
前記第１の列アクセスの後に前記第２の列アクセスを行う順序で、前記第１および第２の列アクセスを実行する、請求項１７に記載のメモリデバイス。
【請求項２２】
前記プリチャージコマンドに対する応答としてプリチャージ動作を開始する前に発生する遅延を表す値を格納するように構成されたコマンドレジスタをさらに備える、請求項１４に記載のメモリデバイス。
【請求項２３】
前記プリチャージコマンドは、前記メモリデバイスの第１のメモリアクセスに対応し、前記起動コマンドは、前記メモリデバイスの第２のメモリアクセスに対応し、前記第２のメモリアクセスは、前記第１のメモリアクセスの後に行われる、請求項１４に記載のメモリデバイス。
【請求項２４】
要求を受信するコマンドチャネルレシーバと、
前記コマンドチャネルレシーバに関連付けられた、複数のデータチャネルトランシーバであって、前記コマンドチャネルレシーバにおいて受信された前記要求によって指定された複数のメモリ動作のためにデータを並列転送するように構成された前記複数のデータチャネルトランシーバと、
を含む、請求項１４に記載のメモリデバイス。
【請求項２５】
独立した起動コマンドおよびプリチャージコマンドを含む要求をメモリデバイスに送信するインタフェースを備え、
前記起動コマンドは、前記起動コマンドの対象となる第１の行を識別する行アドレスに関連付けられ、
前記起動コマンドを受けて、前記メモリデバイスは、前記メモリデバイスの第１のバンク内の前記第１の行を起動し、
前記プリチャージコマンドを受けて、前記メモリデバイスは、前記メモリデバイスの第２のバンクをプリチャージする、
メモリコントローラ。
【請求項２６】
対象行に対するプリチャージ動作のスケジューリングを、前記対象行に対する先行する列アクセスのスケジューリングと独立して行うように構成された、請求項２５に記載のメモリコントローラ。
【請求項２７】
複数のメモリセルと、
プリチャージ動作およびセンス動作を実行するコマンドを受信するインタフェースと、を備え、前記プリチャージ動作は、前記複数のメモリセルのうちの先に起動された第１の行のメモリセルに対する第１のメモリアクセスに関連付けられ、前記センス動作は、前記第１のメモリアクセスに続く第２のメモリアクセスのために前記複数のメモリセルのうちの第２の行のメモリセルを起動することを対象とする、
集積回路メモリデバイス。
【請求項２８】
前記インタフェースは、前記複数のメモリセルの中の１つのグループのメモリセルを対象とする第１および第２の列アクセス動作を実行するコマンドを受信する、請求項２７に記載の集積回路メモリデバイス。
【請求項２９】
前記インタフェースは、パケットプロトコルを用いてコマンドを受信し、前記１つのグループのメモリセルは、前記集積回路メモリデバイスの中の独立してアドレス指定可能なバンクである、請求項２８に記載の集積回路メモリデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本実施形態は、メモリコントローラデバイスと１つ以上の集積回路メモリデバイスとの間で通信を行うシステムおよび技術に関する。
【背景技術】
【０００２】
関連技術
プロセッサのクロックが高速化するにつれて、メモリシステムがデータを提供する際の転送レートも相応の高速化が、より強く求められるようになっている。用途によっては、これらのデータ転送レートの高速化に、対応する各データ転送の粒度（サイズ）の増加が追いついていなかった。結果として、データ転送レートの高速化は、「コマンド帯域幅」（メモリシステムにおいてコマンドが発行される際のレート）の増加につながっていた。メモリコントローラに対するピン配列およびその他の制約のため、このコマンド帯域幅を増やす際には、メモリコマンドの伝達に用いる「要求ピン」の数をあまり増やさないことが望ましい。
【図面の簡単な説明】
【０００３】
【図１】本実施形態による、一連のメモリデバイスと結合されたメモリコントローラを示す図である。
【図２】本実施形態によるマージドメモリコマンドの順序を示す図である。
【図３】本実施形態による、独立した起動コマンドおよびプリチャージコマンドを含む要求が処理される様子を示すフローチャートである。
【図４】本実施形態による、２つの列アクセスジコマンドを含む要求が処理される様子を示すフローチャートである。
【図５】本実施形態によるメモリデバイスを示す図である。
【図６】本実施形態による、インタリーブされた読み出しトランザクションのタイミング図である。
【図７】本実施形態による、インタリーブされた書き込みトランザクションのタイミング図である。
【図８】メモリシステムの一実施形態のブロック図である。
【発明を実施するための形態】
【０００４】
詳細な説明
本開示の実施形態では、特に、メモリコマンドをメモリコントローラからメモリデバイスに伝達する、効率的な技術を利用する。本開示の実施形態では、それぞれが異なるスレッドに関連付けられた、独立したメモリコマンド機能性を単一コマンド（すなわち「要求」）としてマージする通信プロトコルを用いることにより、メモリシステムのコマンド帯域幅を増やすことが可能である。この技術を用いることにより、別々の独立したメモリアクセス要求に関連付けられた、複数の独立したメモリ要求機能が、単一のメモリコマンドによって実行される。たとえば、図１を参照すると、メモリシステム１００において、メモリコントローラ１０２が、典型的には、いくつかの要求線ＲＱＡ［１：０］  １０６およびＲＱＢ［１：０］  １０８を通して、（メモリデバイス１０４を含む）一連のメモリデバイスと通信する。これらの要求線は、複数のメモリコマンドを収容した要求パケットをメモリコントローラ１０２からメモリデバイス１０４に伝達する（本開示および添付の請求項では、用語の「コマンド」と「要求」を区別なく用いている。）したがって、「要求パケット」という用語は、「コマンドパケット」という用語と等価である）。「要求」も「コマンド」と呼んでよい。一実施形態では、「要求」がパケットフォーマットに含まれる。
【０００５】
図１では、メモリコントローラ１０２はさらに、いくつかのデータ線ＤＱＡ［７：０］  １１０、ＤＱＢ［７：０］  １１２、ＤＱＣ［７：０］  １１４、およびＤＱＤ［７：０］  １１６を通してメモリデバイス１０４と結合されている。書き込み動作中は、これらのデータ線は、データをメモリコントローラ１０２からメモリデバイス１０４に転送する。逆に、読み出し動作中は、これらの同じデータ線が、データを反対方向に、すなわち、メモリデバイス１０４からメモリコントローラ１０２に転送する。
【０００６】
本開示の実施形態では、異なるスレッドに関連付けられた複数のメモリコマンドを同じメモリ要求にマージすることにより、コマンド帯域幅を増やすことが可能である。ダイナミックランダムアクセスに基づくメモリシステムでは、メモリアクセスが開始されるのは、メモリコントローラが、「起動コマンド」を収容した要求をメモリデバイスに送信したときである。起動コマンドを受けて、メモリデバイスは、メモリデバイスの特定バンク内の特定行を開く。次に、メモリコントローラは、列アクセスコマンドを収容した１つ以上の要求をメモリデバイスに送信する。これらの列アクセスコマンドは、開かれた行に対する読み出しおよび／または書き込み動作を実行する。最後に、メモリコントローラは、プリチャージコマンドを含んだ要求をメモリデバイスに送信する。このプリチャージコマンドは、開いている行に関連付けられたメモリバンクのセンス増幅器をアイドル状態に戻すことにより、開いている行を閉じる。
【０００７】
図２は、それぞれが複数の独立したメモリ要求機能を実行する複数のメモリコマンド構造体を含むメモリプロトコルの一実施形態を示しており、これら複数のメモリ要求機能は、別々の独立したメモリアクセス要求（すなわち、異なるスレッド）に関連付けられている。たとえば、図２は、単一要求２１２が、それぞれが異なるスレッドに関連付けられた、独立した起動コマンド２１４およびプリチャージコマンド２１６を含むことが可能である様子を示している。一実施形態では、起動コマンド２１４は、バンクアドレス（たとえば、３ビット）および行アドレス（たとえば、１１ビット）の両方を含むことが可能である。一方、プリチャージコマンド２１６は、バンクアドレス（３ビット）を指定するだけでよい。したがって、長いほうの起動コマンド２１４と、短いほうのプリチャージコマンド２１６とをマージして、単一要求２１２にすることが可能である。
【０００８】
同様に、単一要求２１８が、おそらくは異なるスレッドに関連付けられる２つの独立した列アクセスコマンド２２０および２２２を含むことが可能である。これら２つの列アクセスコマンド２２０および２２２は、同じバンクアドレスを共有している場合には、容易にマージ可能である。たとえば、第１の列アクセスコマンド２２０は、バンクアドレス（３ビット）および列アドレス（６ビット）の両方を含むことが可能であり、第２の列アクセスコマンド２２２は、列アドレス（６ビット）のみを含むことが可能である。
【０００９】
図３のフローチャートは、独立した起動コマンドおよびプリチャージコマンドを含む要求の一例が一実施形態に従って処理される様子を示す。動作中は、メモリデバイス１０４は、独立した起動コマンドおよびプリチャージコマンドを含む要求２１２を、メモリコントローラ１０２から受信する（ステップ３０２）。起動コマンドに対する応答として、メモリデバイスの第１のバンクの第１の行が起動される（すなわち、センスされる）（ステップ３０４）。次に、プリチャージコマンドに対する応答として、メモリデバイスの（既に起動済みの）第２のバンクがプリチャージされる（ステップ３０６）。
【００１０】
プリチャージコマンドを、関連付けられた列アクセスコマンドとは独立に指定できるようにすることにより、将来の要求によって、将来のある時点において、関連付けられたプリチャージ動作が行われることが指定される。これにより、本システムは、可変長の時間にわたって行を開いたままにすることが可能であり、これによって、本システムは、同じバンク内の別の行へのアクセスが実際に必要になる、可能な限り遅い時点で行のプリチャージを行うことが可能になる。これにより、関連付けられたプリチャージ動作が行われる前に、同じ行に対して多数の列アクセスコマンドを実行することが可能になる。このプロトコルは、追加のプリチャージ動作を独立に指定すること（ならびに、おそらくは、追加の起動動作を指定すること）を不要にすることが可能であり、これは、電力の節約ならびにコマンド帯域幅の温存につながる。本明細書に記載のメモリプロトコルはまた、独立した、プリチャージおよび／または列アクセスのコマンドまたは要求とのフレキシブルな混合が可能であり、これによって、レガシーシステムへの組み込みや、シングルスレッドコマンド／要求を必要とする異種メモリコントローラとの統合をフレキシブルに行うことが可能になる。
【００１１】
図４のフローチャートは、複数の列アクセスコマンドを含む要求の一例が一実施形態に従って処理される様子を示す。動作中は、メモリデバイス１０４が、第１の列アクセスコマンド２２０および第２の列アクセスコマンド２２２を含む要求２１８を、メモリコントローラ１０２から受信する（ステップ４０２）。第１の列アクセスコマンド２２０に対する応答として、メモリデバイス１０４は、第１の列アクセスを伴う第１のメモリ動作を実行する（ステップ４０４）。次に、第２の列アクセスコマンド２２２に対する応答として、メモリデバイス１０４は、第２の列アクセスを伴う第２のメモリ動作を実行する（ステップ４０６）。
【００１２】
メモリデバイス
図５は、一実施形態によるマージドメモリコマンド(merged memory commands)をサポートする一例示的メモリデバイス５００を示す。図５では、メモリデバイスは、並列に動作する４つのメモリバンクグループ（または「クワッド」）（すなわち、バンククワッドＡ  ５３６、バンククワッドＢ  ５３８、バンククワッドＣ  ５４０、およびバンククワッドＤ  ５４２）を備え、各バンクは、それぞれ固有の、行アクセスおよび列アクセスの独立ストリームを受信する。
【００１３】
各バンククワッドは、それぞれ固有のデータ線セットを介してデータを伝達する。より具体的には、バンククワッドＡ  ５３６は、データ線ＤＱＡ［７：０］  １１０およびＤＱＡＮ［７：０］  ５１０からなる８個の差動ペアを介してデータを伝達し、バンククワッドＢ  ５３８は、データ線ＤＱＢ［７：０］  １１２およびＤＱＢＮ［７：０］  ５１２を介してデータを伝達し、バンククワッドＣ  ５４０は、データ線ＤＱＣ［７：０］  １１４およびＤＱＣＮ［７：０］  ５１４を介してデータを伝達し、バンククワッドＤ  ５４２は、データ線ＤＱＤ［７：０］  １１６およびＤＱＤＮ［７：０］  ５１６を介してデータを伝達する。したがって、本システムは、メモリデバイスの４個のバンククワッドに関連付けられた、４個の独立したデータ線セットを含んでいる。図５に示したように、３２バイトブロックのデータが、トランシーバ５２０および５２２を介してバンククワッドとそれぞれに関連付けられたデータ線との間を転送される際に、（マルチプレクサ５２８および５３２によって）多重化され、（デマルチプレクサ５２６および５３０によって）多重化解除される。
【００１４】
これら４つのメモリバンククワッドは、２つの要求線セットを介してコマンドを受信する。これら２つの要求線セットは、デマルチプレクサ５３４を通ってフィードされる、第１の要求線セットＲＱＡ［１：０］  １０６およびＲＱＡＮ［１：０］  ５０６、ならびにデマルチプレクサ５３６を通ってフィードされる、第２の要求線セットＲＱＢ［１：０］  １０８およびＲＱＢＮ［１：０］  ５０８である。第１の要求線セットＲＱＡ［１：０］  １０６およびＲＱＡＮ［１：０］  ５０６は、バンククワッドＡ  ５３６およびバンククワッドＣ  ５４０の両方にメモリコマンドを与え、第２の要求線セットＲＱＢ［１：０］  １０８およびＲＱＢＮ［１：０］  ５０８は、バンククワッドＢ  ５３８およびバンククワッドＤ  ５４２の両方にメモリコマンドを与える。一実施形態では、この、要求線の共用は、上述のように２つのコマンドをマージして各要求にすることにより容易になる。また、これらのコマンドは、バンククワッドＡ  ５３６およびバンククワッドＣ  ５４０をプリチャージするプリチャージ回路５５０と、バンククワッドＢ  ５３８およびバンククワッドＤ  ５４２をプリチャージするプリチャージ回路５５２とにフィードされる。いくつかの実施形態では、このプリチャージ回路５５０および５５２は、プリチャージコマンドの遅延フィールドを評価して、関連付けられたプリチャージ動作を遅延させるかどうかを決定する（なお、このプリチャージコマンドはコマンドレジスタに格納可能である）。書き込みコマンドは、書き込みマスクレジスタ５４４および５４６にフィードされる書き込みマスクビットを（書き込みマスクフィールドに）含んでいる。これらの書き込みマスクビットは、関連付けられた書き込み動作の間に書き込みを行わないデータバイトを識別する。
【００１５】
図１を参照すると、本開示の実施形態では、メモリコントローラ１０２は、メモリコマンドが、有効な順序で、かつ、メモリデバイス内の無競合動作を確実に命令する順序で発行されるように、要求をスケジュールする。具体的には、メモリコントローラ１０２は、所与のバンクのある行がプリチャージされてから、同じバンクの別の行が開かれるように、コマンドをスケジュールしなければならない。
【００１６】
さらに、記載の技術は、図５に示されたメモリデバイスの特定の実装には限定されない。具体的には、記載の技術は、データバンク、コマンドチャネル、およびデータチャネルの数が異なるメモリデバイスにも適用可能である。さらに、記載の技術は、様々なタイプのメモリデバイスに採用されているプロトコルのような、様々なプロトコルを用いるメモリデバイスに適用可能であり、様々なタイプのメモリデバイスとして、たとえば、ＸＤＲ  ＳＤＲＡＭ、ＸＤＲ２  ＳＤＲＡＭ、ダブルデータレート（ＤＤＲ）シンクロナスダイナミックランダムアクセスメモリ（ＳＤＲＡＭ）、ＤＤＲ２  ＳＤＲＡＭ、ＤＤＲ３  ＳＤＲＡＭ、およびシングルデータレートＳＤＲＡＭ、ならびに次世代ＳＤＲＡＭ、さらには不揮発性メモリ（ＮＡＮＤフラッシュやＮＯＲフラッシュなど）がある。
【００１７】
たとえば、一実施形態では、ダブルデータレートＳＤＲＡＭデバイスは、いくつかの信号線、たとえば、行アドレスストローブ線（ＲＡＳ）、列アクセスストローブ線（ＣＡＳ）、書き込みイネーブル信号線（ＷＥ）、および他の信号を介して受信されるコマンドをデコードするコマンドインタフェースを含んでいる。これらの（コマンド）信号線は、クロック信号（ＣＫ）の立ち上がりエッジに同期してサンプルされる。上述のタイプのコマンドをＤＤＲ  ＳＤＲＡＭで受信およびデコードすることにより、本明細書に記載のマージドメモリアクセス機能を実行することが可能である。
【００１８】
読み出しトランザクション
図６は、一実施形態による、インタリーブされた読み出しトランザクションのタイミング図を示す。図６に示すように、要求線ＲＱＡ［１：０］およびＲＱＡＮ［１：０］からなるコマンドチャネル６０２が、コマンドを搬送してメモリデバイスのバンククワッドＡにアクセスし、バンククワッドＡは、応答として、データチャネル６０８（データ線ＤＱＡ［７：０］およびＤＱＡＮ［７：０］）でデータを伝達する。コマンドチャネル６０２はさらに、コマンドを搬送してメモリデバイスのバンククワッドＣにアクセスし、バンククワッドＣは、応答として、データチャネル６１２（データ線ＤＱＣ［７：０］およびＤＱＣＮ［７：０］）でデータを伝達する。同様に、要求線ＲＱＢ［１：０］およびＲＱＢＮ［１：０］からなるコマンドチャネル６０４が、メモリデバイスのバンククワッドＢにコマンドを搬送し、バンククワッドＢは、応答として、データチャネル６１０（データ線ＤＱＢ［７：０］およびＤＱＢＮ［７：０］）でデータを伝達する。コマンドチャネル６０４はさらに、メモリデバイスのバンククワッドＢにコマンドを搬送し、バンククワッドＢは、データチャネル６１４（データ線ＤＱＤ［７：０］およびＤＱＤＮ［７：０］）でデータを伝達する。
【００１９】
たとえば、図６において、太線で目立たせたボックスのメモリコマンドからなる読み出しトランザクションを考える。まず、読み出しトランザクションの対象となる行を開く起動コマンドＡＣＡｒ０が、メモリコントローラ１０２からメモリデバイス１０４に送信される。次に、時間間隔ｔＲＣＤ−Ｒを経て、列アクセス読み出しコマンドＲＤＡｒ１２がメモリデバイス１０４に送信される（上述のように、この列アクセス読み出しコマンドＲＤＡｒ１２は、おそらくは異なるスレッドに関連付けられた、２つの独立した列アクセスコマンドからなることが可能であり、これら２つの列アクセスコマンドは同じバンクアドレスを共用することが可能である）。時間間隔ｔＣＡＣを経て、読み出しデータＱＡｒ１およびＱＡｒ２が、データチャネル６０８で、メモリデバイス１０４からメモリコントローラ１０２に返される。
【００２０】
最後に、プリチャージコマンドＰＲＡｒ５がメモリデバイス１０４に送信されて、関連付けられたメモリバンクのセンス増幅器をアイドル状態に戻すことにより、開いていた行が閉じられる。図６に示したように、このプリチャージ動作は、遅延ｔＰＲＥ−ＤＬＹを経て行われる（上述のように、この遅延は、プリチャージコマンドの遅延フィールドで指定可能である）。
【００２１】
さらに、このプリチャージコマンドＰＲＡｒ５は、別のメモリ動作に関連付けられた、独立した起動コマンドと同じパケットで送信可能である。たとえば、図６を参照すると、プリチャージコマンドＰＲＡｒ５は、独立した起動コマンドＡＣＡｘ０と同時に（同じパケットで）送信される。
【００２２】
また、上述の読み出しトランザクションは、図６の破線のボックスのメモリコマンドからなる第２の読み出しトランザクションと同時に行われる。この第２の読み出しトランザクションのコマンドも、コマンドチャネル６０２で伝達される。しかしながら、これらのコマンドは別のメモリバンククワッド、すなわち、バンククワッドＣに向けられており、読み出しデータは、別のデータチャネル、すなわち、データチャネル６１２で返される。
【００２３】
書き込みトランザクション
図７は、一実施形態による、インタリーブされた書き込みトランザクションのタイミング図を示す。図７において、太線で目立たせたボックスのメモリコマンドからなる書き込みトランザクションを考える。まず、書き込みトランザクションの対象となる行を開く起動コマンドＡＣＡｒ０が、メモリコントローラ１０２からメモリデバイス１０４に送信される。次に、時間間隔ｔＲＣＤ−Ｗを経て、列アクセス書き込みコマンドＷＲＡｒ１２がメモリデバイス１０４に送信される（この列アクセス書き込みコマンドＷＲＡｒ１２は、おそらくは異なるスレッドに関連付けられた、２つの独立した列アクセスコマンドからなることが可能であり、これら２つの列アクセスコマンドは同じバンクアドレスを共用することが可能である）。時間間隔ｔＣＷＤを経て、書き込みデータＤＡｒ１およびＤＡｒ２が、データチャネル６０８で、メモリコントローラ１０２からメモリデバイス１０４に返される。
【００２４】
最後に、書き込みコマンドの完了からしばらく経ってから、プリチャージコマンドＰＲＡｒ５がメモリデバイス１０４に送信されて、開いていた行が閉じられる。このプリチャージコマンドＰＲＡｒ５は、別のメモリ動作に関連付けられた、独立した起動コマンドと同じパケットで送信可能である。たとえば、図７を参照すると、プリチャージコマンドＰＲＡｒ５は、独立した起動コマンドＡＣＡｘ０と同時に送信される。
【００２５】
また、上述の書き込みトランザクションは、図７の破線のボックスのメモリコマンドからなる第２の書き込みトランザクションと同時に行われる。この第２の書き込みトランザクションのコマンドも、コマンドチャネル６０２で伝達される。しかしながら、これらのコマンドは別のバンククワッド、すなわち、バンククワッドＣに向けられており、書き込みデータは、別のデータチャネル、すなわち、データチャネル６１２で送信される。
【００２６】
メモリシステム
上述の実施形態は、一般に、図８に示すメモリシステムのようなメモリシステムにおいて使用可能である。このメモリシステムは、少なくとも１つのメモリコントローラ１０２と、１つ以上のメモリデバイス１０４とを含んでおり、これらは、１つ以上のメモリモジュール上に一緒に構成して配置することが可能である。図８に示したメモリシステム８００は、１つのメモリコントローラ１０２および３つのメモリデバイス１０４を有しているが、メモリコントローラがこれより多く、メモリデバイス１０４がこれより少ないか多い実施形態も可能である。さらに、メモリシステム８００ではメモリコントローラ１０２が複数のメモリデバイス１０４と結合されているが、２つ以上のメモリコントローラが互いに結合されている実施形態も可能である。なお、メモリコントローラ１０２および１つ以上のメモリデバイス１０４は、同じ集積回路に実装されてもよく、別々の集積回路に実装されてもよい。また、これらの１つ以上の集積回路をチップパッケージに含めてもよい。
【００２７】
実施形態によっては、メモリコントローラ１０２は、（ＤＲＡＭメモリコントローラなどの）ローカルメモリコントローラであり、かつ／または、（マイクロプロセッサ内に実装可能な）システムメモリコントローラである。
【００２８】
メモリコントローラ１０２は、入出力（Ｉ／Ｏ）インタフェース８１８−１および制御ロジック８２０−１を含むことが可能である。図１〜６を参照して説明したように、制御ロジック８２０−１を用いることにより、（たとえば、変調符号を用いて）データをインタフェース８１８−１から１つ以上のメモリデバイス１０４に送信するためにエンコードすること、および／または、１つ以上のメモリデバイス１０４からインタフェース８１８−１で受信したデータをデコードすることが可能である。
【００２９】
実施形態によっては、１つ以上のメモリデバイス１０４が、制御ロジック８２０と、少なくとも１つのインタフェース８１８とを含む。しかしながら、実施形態によっては、メモリデバイス１０４のいくつかは、制御ロジック８２０を含まなくてもよい。さらに、メモリコントローラ１０２および／または１つ以上のメモリデバイス１０４が２つ以上のインタフェース８１８を含んでもよく、これらのインタフェースは、１つ以上の制御ロジック８２０の回路を共用してもよい。なお、実施形態によっては、２つ以上のメモリデバイス１０４（たとえば、メモリデバイス１０４−１および１０４−２）が複数のメモリバンクグループを含んでもよい。
【００３０】
メモリコントローラ１０２およびメモリデバイス１０４は、チャネル８２２内の１つ以上のリンク８１４によって結合されている。メモリシステム８００では３つのリンク８１４を示しているが、リンク８１４がこれより少ないか多い実施形態も可能である。これらのリンクは、有線、無線、および／または光通信などであってよい。さらに、リンク８１４は、メモリコントローラ１０２と１つ以上のメモリデバイス１０４との間の双方向通信および／または単方向通信に使用可能である。たとえば、メモリコントローラ１０２と所与のメモリデバイスとの間の双方向通信は、同時（全二重通信）であってよい。代替として、メモリコントローラ１０２は、（コマンドを含むデータパケットのような）情報を所与のメモリデバイスに送信することが可能であり、その所与のメモリデバイスは、その後、要求されたデータをメモリコントローラ１０２に提供することが可能であり、たとえば、１つ以上のリンク８１４における通信方向が交番してよい（半二重通信であってよい）。なお、１つ以上のリンク８１４ならびに対応する送信回路および／または受信回路は、（たとえば、制御ロジック８２０の回路の１つによって）双方向通信および／または単方向通信に関して動的に構成することが可能である。
【００３１】
データおよび／またはコマンド（データ要求コマンドなど）に対応する信号は、１つ以上のリンク８１４において、非同期に、または代替として、１つ以上のタイミング信号の一方または両方のエッジをタイミング基準として伝達可能である。これらのタイミング信号は、１つ以上のクロック信号に基づいて生成可能であり、（たとえば、フェーズロックループおよび周波数基準によって与えられる１つ以上の基準信号を用いて）オンチップで生成可能、かつ／またはオフチップで生成可能、かつ／または伝達された信号から復元可能である。
【００３２】
実施形態によっては、独立したコマンドリンクを用いて（たとえば、コマンドを伝達する、リンク８１４のサブセットを用いて）コマンドをメモリコントローラ１０２から１つ以上のメモリデバイス１０４に伝達する。この独立したコマンドリンクは、無線、光、および／または有線であってよい。しかしながら、実施形態によっては、チャネル８２２の同じ部分（すなわち、同じリンク８１４）を用いて、コマンドをデータとして伝達する。さらに、コマンドの伝達は、メモリコントローラ１０２と１つ以上のメモリデバイス１０４との間のデータの伝達に関連付けられたデータレートより低いデータレートを用いてよく、かつ／または、データの伝達に用いる搬送周波数と異なる搬送周波数を用いてよく、かつ／または、データの伝達に用いる変調方式と異なる変調方式を用いてよい。
【００３３】
各実施形態についてのここまでの記載は、例示および説明のみを目的としたものであった。これらは、網羅的であることを意図しておらず、本明細書を開示の形態に限定することも意図していない。したがって、当業者であれば、様々な修正および変形が自明であろう。さらに、上述の開示は、本明細書を限定することを意図するものではない。本明細書の範囲は、添付の請求項によって定義される。
【図１】
2012522311.tif 000003
【図２】
2012522311.tif 000004
【図３】
2012522311.tif 000005
【図４】
2012522311.tif 000006
【図５】
2012522311.tif 000007
【図６】
2012522311.tif 000008
【図７】
2012522311.tif 000009
【図８】
2012522311.tif 000010
【国際調査報告】
2012522311.tif 000011
2012522311.tif 000012