JP4638879B2 - 派生クロッキングのためのデータ密度を維持するための方法及び装置 - Google Patents

派生クロッキングのためのデータ密度を維持するための方法及び装置 Download PDF

Info

Publication number
JP4638879B2
JP4638879B2 JP2006539674A JP2006539674A JP4638879B2 JP 4638879 B2 JP4638879 B2 JP 4638879B2 JP 2006539674 A JP2006539674 A JP 2006539674A JP 2006539674 A JP2006539674 A JP 2006539674A JP 4638879 B2 JP4638879 B2 JP 4638879B2
Authority
JP
Japan
Prior art keywords
data
transition
lane
memory channel
transitions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2006539674A
Other languages
English (en)
Other versions
JP2007511010A (ja
Inventor
エリス,ロバート
Original Assignee
インテル コーポレイション
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by インテル コーポレイション filed Critical インテル コーポレイション
Publication of JP2007511010A publication Critical patent/JP2007511010A/ja
Application granted granted Critical
Publication of JP4638879B2 publication Critical patent/JP4638879B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4204Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus
    • G06F13/4234Bus transfer protocol, e.g. handshake; Synchronisation on a parallel bus being a memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4247Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus
    • G06F13/4256Bus transfer protocol, e.g. handshake; Synchronisation on a daisy chain bus using a clocked protocol
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L7/00Arrangements for synchronising receiver with transmitter
    • H04L7/02Speed or phase control by the received code signals, the signals containing no special synchronisation information
    • H04L7/033Speed or phase control by the received code signals, the signals containing no special synchronisation information using the transitions of the received signal to control the phase of the synchronising-signal-generating means, e.g. using a phase-locked loop

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)
  • Information Transfer Systems (AREA)
  • Apparatus For Radiation Diagnosis (AREA)

Description

発明の詳細な説明
[発明の背景]
1.発明の技術分野
本開示は、一般にメモリシステム、コンポーネント及び方法に関し、より詳細には、FBD(Fully Buffered DIMM)メモリチャネルにおける派生クロッキング(derived clocking)技術のデータ密度を維持するための方法及び装置に関する。
2.関連技術の説明
図1は、「スタブバス(stub bus)」トポロジーを示す従来技術によるメモリチャネル100を示すブロック図である。メモリチャネルは、ホスト110と4つのDIMM120、130、140、150を有する。各DIMM120、130、140、150は、ホスト110とデータを交換するためメモリバス115に接続されている。各DIMM120、130、140、150は、短い電気スタブをメモリバス115に加えている。過去約15年の間、メモリサブシステムはこのタイプのスタブバストポロジーに依存してきた。
シミュレーションは、メモリチャネルごとに2〜4のDIMMのアプリケーションについて、スタブバス技術が8バイト幅DIMMについて533〜667MT/s(メガトランザクション/秒)又は4.2〜5.3GB/s(ギガバイト/秒)の最大帯域幅に達することを示してきた。次に重要なレベルである800メガトランスファ/秒(MT/s)以上に到達することは、スタブバストポロジーにより不可能でない場合には困難となる。
本発明の実施例は、従来技術の上記及び他の問題点に対処するものである。
[発明の詳細な説明]
メモリチャネルごとに4.2〜5.3GB/s以上のメモリ帯域幅要求を向上させるため、本発明の実施例は、「ポイント・ツー・ポイント」(P2P)信号処理技術を利用している。図2は、P2Pトポロジーによるメモリチャネル200を示すブロック図である。P2Pメモリチャネル200は、4つのDIMM220、230、240及び250を有する。各DIMMは、8つのDRAM(Dynamic Random Access Memory)装置260を有する。他のP2Pメモリチャネルは、異なる個数のDIMMを有するかもしれないが、そのような場合にも図2に示されるように構成されるであろう。
ホスト210とDIMM220〜250は、メモリバス215に接続され、ここで、215aは(ホストへの)入力データストリームを表し、215bは(ホストからの)出力データストリームを表す。この場合、DIMM250が連鎖の最後にあるため、ホストから最も離れたDIMM250からの入力データパスと出力データパスは、利用されない。
ホスト210は、1以上のマイクロプロセッサ、信号プロセッサ、メモリコントローラ、グラフィックプロセッサなどを有することが可能である。典型的には、メモリコントローラは、システムメモリへのアクセスを調整し、入力データパス215aと出力データバス215bに直接接続されるホスト210のコンポーネントとされるであろう。
ポイント・ツー・ポイント構成では、各DIMMはバッファチップ270を有する。バッファチップ270は、入力データストリーム215a又は出力データストリーム215bから信号を取得し、この信号をデイジーチェーン(daisy−chain)形式による近隣DIMMを介し次のバッファチップ270に再送することが要求されている。これらのポイント・ツー・ポイントリンクは、差動信号ペア(differential signaling pair)を用いて双方向の高速同時データ通信を可能にする。
入力データストリーム215aと出力データストリーム215bは、いくつかの高速信号(図示せず)から構成され、各高速信号は差動ペアにより実現される。
バッファチップ270は、データストリーム215aと215bから信号を取得するため、有効なデータをラッチしなければならない。図3は、データストリーム215a又は215bの一部である差動ペアの一例となるデータトランジションを示す図である。バッファチップ270は、差動信号がそれのトランジションを完了させるとデータをラッチすることが好ましい。言い換えると、バッファチップ270は、データアイ(data eye)のほぼ中間でデータをラッチすることが好ましい。各バッファチップ270は、外部基準クロックから受信したデータをラッチするための派生クロック(図示せず)を生成し、それがデータアイの中心となるように派生クロックを補間する。
データアイと派生クロックの間の位相関係を維持するため、一定期間におけるある最小回数のデータトランジションが求められる。言い換えると、最小トランジション密度(minimum transition density)が維持される必要がある。最小トランジション密度は、典型的には、各128クロックサイクルについて5データトランジションのオーダーとされるが、それはシステム要求に応じて、それより多くても少なくともよい。
最小数のデータトランジションが行われることを保証するため、ホスト210は、出力データパス215bを介し求められるデータトランジションを含む同期データストリームを定期的に送信するようにしてもよい。同期ストリームが最後のDIMM250に到達すると、出力と入力の両方のデータパスが同期されるように、それは入力データパス215aを介しホストに送信される。あるいは、ホスト210からの同期データストリームは、最後のDIMM250において終了するようにしてもよく、最後のDIMM250は、ホスト210で終了するよう入力データパス215aを介し送信される他の同期データストリームを生成することができる。
128クロックサイクルごとに5データトランジションを達成するため、データ同期ストリームは、利用可能な帯域幅の約4%を要求する。FBDメモリチャネルのFLIT(Flow Control Unit)長は12サイクル長であるため、同期データストリームは、128サイクルごとに12サイクル又は利用可能な帯域幅の約9.4%となるであろう。このスキームでは、実際のデータトランジション密度はモニタされず、同期サイクルは、それらが実際には必要とされているか否かに関係なく送信される。この結果、これは、データ帯域幅(及びシステムパフォーマンス)が犠牲にされるため、好ましい実現形態ではない。
図4は、本発明の実施例によるトランジション密度検出装置40を示すブロック図である。図4を参照するに、トランジション密度検出装置40は、図2のP2PメモリチャネルなどのP2Pメモリチャネルの入力(IB)データパス又は出力(OB)データパスからのデータレーンの1つを入力として有するいくつかのデータトランジション検出装置(DTD)を有する。この特定のケースにおいて、入力データパスには14のデータレーン(IB[0]〜IB[13])が存在し、出力データパスには10のデータレーン(OB[0]〜OB[9])が存在する。各データレーンOB[0−9]及びIB[0−13]は、差動信号に対応する。
DTD[0−23]は、対応するデータレーンOB及びIBが図3に示されるようなトランジションを受ける時を検出する。DTD[0−23]は、対応するデータレーンOB及びIBを介したトランジションが検出されると、出力をアサートする。DTD[0−23]の出力は、対応するプログラム可能なデータトランジションカウンタ(DTC)に対する入力である。この場合、DTC[0−23]は、3ビット非ラップアラウンドカウンタ(3−bit non−wraparound counter)である。あるいは、DTCに使用されるカウンタのサイズは、より大きなものでも小さなものであってもよい。DTCは、所与のクロックサイクル数についての所望のデータトランジション数により予めプログラムされている。カウンタが予めプログラムされた数に到達すると即座に、それは、対応するデータレーンが予めプログラムされた数により指定されるトランジション密度に到達したことを示すそれの出力をアサートする。例えば、DTC[0]が5により予めプログラムされる場合、対応する出力データレーンOB[0]について少なくとも5つのデータトランジションが行われたとき、それの出力をアサートする。
データトランジション密度検出装置40はまた、8ビットプログラム可能ラップアラウンドクロックサイクルカウンタ42を有する。クロックサイクルカウンタ42は、所望の回数のデータトランジションが行われることを必要とする所望のクロックサイクル数により予めプログラムされる。例えば、クロックサイクルカウンタ42を数128により予めプログラムすることにより、クロックサイクルカウンタは128クロックサイクルごとに出力をアサートする。あるいは、クロックサイクルカウンタ42のビット数は、より多くてもより少なくてもよい。クロックサイクルカウンタ42の出力がアサートされると、それは非ラップアラウンドDTC[0−23]のすべてをリセットする。
DTD[0−23]、DTC[0−23]及びクロックサイクルカウンタ42は、共に機能グループ41を構成する。
DTC[0−23]の出力は、NANDロジック44の入力として供される。NANDロジック44は、DTC[0−23]の出力の何れかが「0」であるとき、データレーンOB[0−9]又はIB[0−13]の1つが所望のデータトランジション密度に到達していないことを示す「1」を出力する。当業者は、これがNANDゲートを用いてどのように実現されるか精通しており、NANDロジック44の詳細は、これ以上は説明しない。同様に、他の実施例は、同じ結果を達成するため、NANDロジック44の代わりに異なるタイプのロジックゲートを使用するようにしてもよい。クロックサイクルカウンタ42が、指定されたクロックサイクル数の後に「1」をアサートするとき、NANDロジック44の出力が「1」である場合、ANDゲート46における入力が両方ともアサートされ、信号DoSyncがイネーブルとされる。このため、DoSync信号は、データレーンOB[0−9]とIB[0−13]の何れかが同期サイクルを要求するとアサートされる。NANDロジック44と同様に、ANDゲート46により実現されるロジックが、当業者に周知の他のロジックゲートの組み合わせを用いて実現されてもよい。
図5は、本発明の他の実施例によるトランジション密度検出装置を示すブロック図である。図5により示される実施例は、機能グループ41が図4に示されるものと同一のコンポーネントを有するという点で、図4に示されるものと同一である。しかしながら、これらの実施例では、NANDロジックブロック52は2つある。NANDロジック52は、出力データパスOB[0−9]に対応し、NANDロジック54は、入力データパスIB[0−13]に対応する。NANDロジック52と54の動作は、図4のNANDロジック44と同じである。すなわち、NANDロジック52の出力は、出力データパスOB[0−9]の1つがプログラムされたデータトランジション密度に到達していないとき、アサートされる。NANDロジック54の出力は、入力データパスIB[0−13]の1つがプログラムされたデータトランジション密度に到達していないとき、アサートされる。NANDロジック52と54の出力は、それぞれANDゲート56と58に供給される。
図4に示される実施例と同様に、ANDゲート56と58の他の入力は、クロックサイクルカウンタ42の出力である(図4を参照されたい)。これらの実施例によると、2つの信号が生成される。DoSyncOBは、出力データパスの1つが、プログラムされたクロックサイクル数の後に同期信号を要求するとアサートされ、DoSyncIBは、入力データパスの1つが、プログラムされたクロックサイクル数の後に同期信号を要求するとアサートされる。
図4及び5を参照するに、DoSync、DoSyncOB及びDoSyncIBは、このような同期が必要とされるときに限って、同期信号の送信をトリガーするのに利用されてもよい。従って、メモリチャネルの実際のデータトランジション密度に関係なく、帯域幅は同期信号をブラインド送信することにより無駄にされない。これにより、図4及び5に示される実施例は、送信される信号に対する特定の間隔においてデータトランジション密度をトラッキング可能なプログラム可能な機構を提供する。
これらの実施例においてクロックサイクルカウンタ42とDTC[0−23]のプログラム可能性は便利な特徴であるが、他の実施例は、このような特徴を要求しない。言い換えると、DTC[0−23]とクロックサイクルカウンタ42は、それらがカウンタのビット数に応じた各自のリミットに達すると、単に出力をアサートすることができる。
さらに、図4及び5に示される実施例は、図2のバッファチップ270のホスト210の両方に設けられるようにしてもよい。
図6Aは、本発明のさらなる他の実施例によるプログラム可能なトランジション生成装置60を示すブロック図である。トランジション生成装置60は、予め選択されたデータ反転スキームに従ってバッファチップ270(図2)の送信機及び受信機(図示せず)の両方に同時にデータ反転を適用する。従って、予め選択された方法によりデータ反転を適用することにより、所定のクロックサイクル数ごとにホストが一度必須の同期信号を送信することなく、最小データトランジション密度が達成される可能性が高くなる。トランジション生成装置60は、図2のバッファチップ270とホスト210の両方に設けられてもよい。
図6Aにおいて、シフトレジスタ610は、14のストレージビットを有するラップアラウンドシフトレジスタである。シフトレジスタ610の各ストレージビットINV[13:0]は、入力データパスINB[13:0]のデータレーンに対応する。ストレージビットINV[13]、INV[12]、INV[11]などとそれの対応するデータレーンIB[13]、IB[12]、IB[11]などのそれぞれは、反転装置620の入力となる。シフトレジスタのストレージビットINV[13:0]がそれの対応するデータレーンIB[13:0]について「1」を含むときは常に、対応する反転装置620はイネーブルとされ、当該データレーンは反転モードにより処理される。
シフトレジスタ610の動作中、ビットINV[13:0]は各クロックサイクルを右方向にシフトする。言い換えると、最上位ビットINV[13]はINV[12]となり、INV[12]はINV[11]になるなどであり、最下位ビットINV[0]は、新たな最上位ビットINV[13]となるシリアル入力SerInにラップアラウンドされる。あるいは、シフトレジスタ610は、ビットINV[13:0]が各クロックサイクルを左方向にシフトするように、構成可能である。反転装置620からの出力は、対応するバッファ630によりバッファされる。
図6Aは、一方向のみのデータトランジションを処理するよう構成されるトランジション生成装置60を示す。すなわち、トランジション生成装置60は、入力(IB)データパスの一部である受信機と送信機(図示せず)のみにデータ反転を適用する。例えば、出力データパスが10のデータラインOB[9:0]を含む場合、10のストレージビットを有する他のデータトランジション生成装置60は、出力データパスを介し受信機及び送信機に必要とされる。あるいは、図6Aのデータトランジション生成装置60は、シフトレジスタ610が24ビット長(入力パスに14ビットと、出力パスに10ビット)のシフトレジスタと置換される場合、入力データパスIB[13:0]と出力データパスOB[9:0]の両方を収容することが可能である。この場合、追加的な10の反転装置620と追加的な10のバッファ630がまた、出力データパスを処理するのに必要とされるであろう。
シフトレジスタ610は、チャネル上のすべてのDIMMとホストのリセット中に、ParInを介しパラレルにロードされるようにしてもよく、シフトレジスタのコンテンツは、CLOCKと同期してシフトされる。シフトレジスタ610は、チャネル上のすべてのコンポーネントによるロックステップにおいて動作し、すなわち、各DIMMの受信機及び送信機は、反転処理と同期される。あるいは、シフトレジスタ610は、チャネル上の他の1つの隣接チャネルによってのみロックステップにより動作するようにしてもよい。これは、図2を参照してより容易に説明される。入力パス215aにおいて、DIMM240のバッファチップ270の送信機(図示せず)は、DIMM230のバッファチップ270の上の受信機(図示せず)によるロックステップにおいて動作する。出力パス215bにおいて、DIMM230のバッファチップ270の送信機(図示せず)は、DIMM240のバッファチップ270の受信機(図示せず)によるロックステップにおいて動作する。言い換えると、個々のDIMM又はホスト210と隣接DIMM220を介し互いに対向する受信機と送信機が、ロックステップにおいて動作する。
図6Bは、図6Aの実施例を用いて可能なデータ反転スキームのいくつかの例を示すテーブルである。行640、650及び660はそれぞれ、シフトレジスタ610のビット一INV[13:0]にパラレルにロードされる初期値を表す14ビットを含む。行640は、データレーンが1つおきのクロックサイクルにおいて反転されるデータ反転スキームを表す。行650は、何れのデータ反転も入力データレーンIB[13:0]に適用されないデータ反転スキームを表す。行660は、データ反転がIB[7]から始まり、IB[6],...,IB[0],IB[13],...,IB[8]、そしてIB[7]において再スタートされるまでに、入力データレーンIB[13:0]のそれぞれに逐次的に適用されるマーチング(marching)データ反転スキームを表す。図6Bの矢印は、INV[0]位置のビットが、シフトレジスタ610の動作中にINV[12]位置にラップアラウンドされることを示す。
あるいは、ラップアラウンドされたシフトレジスタ610のストレージビットINV[X:0]のビット数は、入力データパスのデータレーン数IB[Y:0]の個数より大きなものであってもよい(X>Y)。例えば、図6Bの行660に示されるデータ反転スキームでは、データ反転は14クロックサイクルごとに各データレーンごとに適用される。しかしながら、ラップアラウンドシフトレジスタ610が128ビットシフトレジスタであって、データレーンIB[13:0]に対応する14のビットがシフトレジスタ610の全体に任意に分散されている場合、行660と同様のパターンを利用して、データ反転が128クロックサイクルごとに、又は約9倍低速に各入力データレーンごとに適用される。
各14クロックサイクルごとと各128クロックサイクルごとの間の何れかのデータ反転周波数を達成するため、より多くの「1」がシフトレジスタ610のINV[13:0]にロードされるビットパターンに追加されてもよい。
あるいは、ラップアラウンドシフトレジスタ610のストレージビットINV[X:0]のビット数は、入力データパスのデータレーンIB[Y:0]のレーン数より小さなものであってもよい(X<Y)。例えば、1つおきのクロックサイクルでデータレーンについて反転が行われる図6Bの行640に示されるものなど、データ反転スキームを実現することのみ所望されていると仮定する。この場合、1,0によりロードされる2ビットシフトレジスタが、14ビットシフトレジスタ610の代わりに利用可能である。反転装置620の1/2は、入力として2ビットシフトレジスタの1ビットを使用し、その他の1/2は、他方のビットを使用する。14ビットレジスタと比較して、2ビットレジスタを利用することにより、汎用性が犠牲にされるが、同一のデータ反転スキームが図6Bの行640と同様に達成可能である。
この結果、データ反転があるデータレーンについて行われる頻度が、シフトレジスタ610のビット数とシフトレジスタにロードされるビットパターンにより制御可能であることは明らかである。各バッファチップ270の送信機と受信機は反転モードにより動作するよう同期されているため、各バッファチップについてデータトランジションを有しすぎるペナルティは存在しない。
さらに、図6Aにより示される実施例と上述の他の実施例はシフトレジスタを用いてデータ反転スキームを実現するが、他の実施例は、異なる方法によりデータ反転を実現可能である。例えば、最上位ビットから最下位ビットに移行するとき、バイナリカウンタのビットが頻度の増大させることにより「0」から「1」又はその単体にスイッチするため、バイナリカウンタが利用可能である。この場合、対応するデータパスIB[13:0]に加えて、反転装置620は、所望の頻度により状態をスイッチするカウンタから選択されたビットを入力として有することとなる。データ反転スキームを実現する他の多数の方法が、当業者には明らかであろう。
複数の実施例により本発明の原理を説明及び図示したが、本発明は上記原理から逸脱することなく構成及び詳細において変更可能であるということは明らかであろう。以下の請求項の趣旨及び範囲内に属するすべての改良及び変形が主張される。
図1は、「スタブバス」トポロジーを用いた従来技術によるメモリチャネルを示すブロック図である。 図2は、「ポイント・ツー・ポイント」によるメモリチャネルを示すブロック図である。 図3は、差動ペア信号の典型的なデータトランジションを示す図である。 図4は、本発明の実施例によるプログラム可能なトランジション密度検出装置を示すブロック図である。 図5は、本発明の他の実施例によるプログラム可能なトランジション密度検出装置を示すブロック図である。 図6Aは、本発明のさらなる他の実施例によるプログラム可能な反転装置を示すブロック図である。 図6Bは、図6Aの実施例を利用することにより可能なデータ反転スキームの例を示すテーブルである。

Claims (20)

  1. 2クロックサイクルより長い期間、複数のデータレーンを有するポイント・ツー・ポイントメモリチャネルの少なくとも1つのデータレーンについて達成されるデータトランジション密度を計算するステップと、
    前記少なくとも1つのデータレーンについて達成されるデータトランジション密度が、前記少なくとも1つのデータレーンの所望のデータトランジション密度より小さいか検出するステップと、
    前記達成されるトランジション密度に応答して、前記少なくとも1つのデータレーンを介し同期信号を送信するステップと、
    から構成される方法であって、
    前記送信するステップは、前記少なくとも1つのデータレーンについて達成されるデータトランジション密度を前記所望のデータトランジション密度以上にするため、複数のトランジションを有する前記同期信号を送信することを特徴とする方法。
  2. 請求項1記載の方法であって、
    前記少なくとも1つのデータレーンについて達成されるデータトランジション密度を計算するステップは、2より大きな所定回数のクロックサイクル中にデータトランジションが前記少なくとも1つのデータレーン上で行われる回数を計数することを特徴とする方法。
  3. 請求項2記載の方法であって、さらに、
    前記少なくとも1つのデータレーンについて所望のデータトランジション密度を格納するステップと、
    前記達成されるデータトランジション密度と前記所望のデータトランジション密度とを比較するステップと、
    を有することを特徴とする方法。
  4. 請求項3記載の方法であって、
    前記達成されるトランジション密度に応答して、前記少なくとも1つのデータレーンを介し同期信号を送信するステップは、前記達成されるデータトランジション密度が前記少なくとも1つのデータレーンの前記所望のデータトランジション密度より小さい場合、前記データレーンのすべてを介し同期信号を送信することを特徴とする方法。
  5. プロセッサを有するホストと、
    各DIMMがポイント・ツー・ポイント形式により前記ホストに接続される複数のDIMMと、
    各々が複数のデータレーンを有する入力データチャネルと出力データチャネルと、
    少なくとも1つのデータレーンの達成されるデータトランジション密度が、前記少なくとも1つのデータレーンの所望のデータトランジション密度より小さいか検出するよう構成される少なくとも1つのトランジション検出回路と、
    前記達成されるデータトランジション密度が前記所望のデータトランジション密度より小さい場合、前記少なくとも1つのデータラインを介し同期信号を送信するよう構成されるトランジション生成手段と、
    から構成され、
    前記達成されるトランジション密度は、2クロックサイクルより長い期間測定され
    前記トランジション生成手段は、前記少なくとも1つのデータレーンについて達成されるデータトランジション密度を前記所望のデータトランジション密度以上にするため、複数のトランジションを有する前記同期信号を送信することを特徴とするメモリチャネル。
  6. 請求項5記載のメモリチャネルであって、
    前記少なくとも1つのトランジション検出回路は、前記ホスト上に配置されることを特徴とするメモリチャネル。
  7. 請求項5記載のメモリチャネルであって、
    前記少なくとも1つのトランジション検出回路は、前記複数のDIMMの対応する一つに配置されることを特徴とするメモリチャネル。
  8. 請求項5記載のメモリチャネルであって、
    前記少なくとも1つのトランジション検出回路は、
    各々が対応するデータライン上のデータトランジションを検出するよう構成される複数のデータトランジション検出装置と、
    クロックサイクルカウンタと、
    各々が対応するデータトランジション検出装置により検出されるデータトランジションを計数し、前記クロックサイクルカウンタによりリセットされるよう構成される複数のデータトランジションカウンタと、
    前記複数のデータトランジションカウンタの少なくとも1つが、前記クロックサイクルカウンタにより規定される期間中、前記所望のデータトランジション密度より小さなデータトランジション数であって、対応するデータトランジション検出装置により検出されるデータトランジション数を計数するときを通知するよう構成されるロジックブロックと、
    から構成されることを特徴とするメモリチャネル。
  9. 請求項8記載のメモリチャネルであって、
    前記クロックサイクルカウンタにより計数されるサイクル数は、プログラム可能であり、
    前記複数のデータトランジションカウンタは、対応する所望のデータトランジション密度によりプログラム可能であることを特徴とするメモリチャネル。
  10. 請求項8記載のメモリチャネルであって、
    前記ロジックブロックは、ANDゲートと複数のNANDゲートから構成されることを特徴とするメモリチャネル。
  11. 請求項5記載のメモリチャネルであって、
    前記少なくとも1つのトランジション検出回路は、
    各々が対応するデータレーンのデータトランジションを検出するよう構成される複数のデータトランジション検出装置と、
    クロックサイクルカウンタと、
    各々が対応するデータトランジション検出装置により検出されるデータトランジションを計数し、前記クロックサイクルカウンタによりリセットされるよう構成される複数のデータトランジションカウンタと、
    前記出力データチャネルのデータレーンに対応する前記複数のデータトランジションカウンタの少なくとも1つが、前記クロックサイクルカウンタにより規定される期間中、前記所望のデータトランジション密度より小さなデータトランジション数であって、前記対応するデータトランジション検出装置により検出されるデータトランジション数を計数するときを通知するよう構成される第1ロジックブロックと、
    前記入力データチャネルのデータレーンに対応する前記複数のデータトランジションカウンタの少なくとも1つが、前記クロックサイクルカウンタにより規定される期間中、前記所望のデータトランジション密度より小さなデータトランジション数であって、前記対応するデータトランジション検出装置により検出されるデータトランジション数を計数するときを通知するよう構成される第2ロジックブロックと、
    から構成されることを特徴とするメモリチャネル。
  12. 請求項11記載のメモリチャネルであって、
    前記クロックサイクルカウンタにより計数されるサイクル数は、プログラム可能であり、
    前記複数のデータトランジションカウンタは、対応する所望のデータトランジション密度によりプログラム可能であることを特徴とするメモリチャネル。
  13. 請求項11記載のメモリチャネルであって、
    前記第1ロジックブロックと第2ロジックブロックは、ANDゲートと複数のNANDゲートから構成されることを特徴とするメモリチャネル。
  14. 所望のデータトランジション数をメモリに格納するステップと、
    2より大きなクロックサイクル数を前記メモリに格納するステップと、
    ポイント・ツー・ポイントメモリチャネルのデータレーンについて、前記クロックサイクル数に等しいクロックサイクル期間中に測定されたデータトランジション数を前記メモリに記録するステップと、
    前記測定されたデータトランジション数と前記所望のデータトランジション数とを比較するステップと、
    前記測定されたデータトランジション数が前記所望のデータトランジション数より小さい場合、前記データレーンを介し同期信号を送信するステップと、
    をプロセッサに実行させるプログラムを格納するマシーン可読媒体であって、
    前記送信するステップは、前記データレーンについて測定されるデータトランジション数を前記所望のデータトランジション数以上にするため、複数のトランジションを有する前記同期信号を送信することを特徴とするマシーン可読媒体
  15. 予め選択されたデータ反転スキームに従って反転モード又は非反転モードによりポイント・ツー・ポイントメモリチャネルの複数のデータレーンのそれぞれを動作させるステップから構成される方法であって、
    前記動作させるステップは、
    前記予め選択されるデータ反転スキームを表すビットシーケンスをラップアラウンドシフトレジスタにロードするステップと、
    前記ラップアラウンドシフトレジスタから前記ビットシーケンスをパラレルビットシーケンスとして出力するステップと、
    前記パラレルビットシーケンスの対応するビットに従って、各データレーンを前記反転モード又は前記非反転モードにより動作させるステップと、
    を含むことを特徴とする方法。
  16. 請求項15記載の方法であって、
    前記反転モードにより選択されたデータレーンを動作させるステップは、前記ポイント・ツー・ポイントメモリチャネルのノードの対応するデータレーンの受信機と送信機の両方に同時にデータ反転を適用することを特徴とする方法。
  17. 所定のデータ反転スキームを実現するよう構成されるロジックブロックであって、前記所定のデータ反転スキームに従ってパラレルビットシーケンスを出力するよう構成されるラップアラウンドシフトレジスタを有するロジックブロックと、
    各々が前記パラレルビットシーケンスの対応するビットに従って、反転モード又は非反転モードにより対応するデータレーンを動作させるよう構成される複数の反転装置と、
    から構成されることを特徴とするトランジション生成装置。
  18. 請求項17記載のトランジション生成装置であって、さらに、
    各々が対応する反転装置からの出力に接続される複数のバッファを有することを特徴とする装置。
  19. 請求項17記載のトランジション生成装置であって、
    前記複数の反転装置は、入力として前記パラレルビットシーケンスからのビットと前記対応するデータレーンを有することを特徴とする装置。
  20. 予め選択されたデータ反転スキームに従って、反転モード又は非反転モードによりポイント・ツー・ポイントメモリチャネルの複数のデータレーンのそれぞれを動作させるステップをプロセッサに実行させるプログラムを格納するマシーン可読媒体であって、
    前記動作させるステップは、
    前記予め選択されるデータ反転スキームを表すビットシーケンスをラップアラウンドシフトレジスタにロードするステップと、
    前記ラップアラウンドシフトレジスタから前記ビットシーケンスをパラレルビットシーケンスとして出力するステップと、
    前記パラレルビットシーケンスの対応するビットに従って、各データレーンを前記反転モード又は前記非反転モードにより動作させるステップと、
    を含むマシーン可読媒体。
JP2006539674A 2003-11-13 2004-11-05 派生クロッキングのためのデータ密度を維持するための方法及び装置 Expired - Fee Related JP4638879B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/713,563 US7721060B2 (en) 2003-11-13 2003-11-13 Method and apparatus for maintaining data density for derived clocking
PCT/US2004/036965 WO2005050466A2 (en) 2003-11-13 2004-11-05 Method and apparatus for maintaining data density for derived clocking

Publications (2)

Publication Number Publication Date
JP2007511010A JP2007511010A (ja) 2007-04-26
JP4638879B2 true JP4638879B2 (ja) 2011-02-23

Family

ID=34573756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006539674A Expired - Fee Related JP4638879B2 (ja) 2003-11-13 2004-11-05 派生クロッキングのためのデータ密度を維持するための方法及び装置

Country Status (9)

Country Link
US (1) US7721060B2 (ja)
EP (1) EP1683031B1 (ja)
JP (1) JP4638879B2 (ja)
KR (1) KR100806454B1 (ja)
CN (1) CN100524276C (ja)
AT (1) ATE394741T1 (ja)
DE (1) DE602004013621D1 (ja)
TW (1) TWI264641B (ja)
WO (1) WO2005050466A2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7444479B2 (en) * 2005-12-28 2008-10-28 Alexander James W Fully buffered DIMM read data substitution for write acknowledgement
WO2008018004A2 (en) * 2006-08-08 2008-02-14 Koninklijke Philips Electronics N.V. Electronic device and method for synchronizing a communication
EP2250759A2 (en) * 2008-02-28 2010-11-17 Nxp B.V. Systems and methods for multi-lane communication busses

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4189622A (en) * 1975-10-17 1980-02-19 Ncr Corporation Data communication system and bit-timing circuit
WO1985000259A1 (en) 1983-06-29 1985-01-17 M/A-Com Dcc, Inc. Probabilistic scrambler and method of probabilistic scrambling
US5239561A (en) * 1991-07-15 1993-08-24 National Semiconductor Corporation Phase error processor
US5473271A (en) * 1993-02-09 1995-12-05 Dallas Semiconductor Corporation Microprocessor output driver
US5530696A (en) * 1994-06-22 1996-06-25 International Business Machines Corporation Intelligent concentrator for multiple speed data communications systems
US5512860A (en) 1994-12-02 1996-04-30 Pmc-Sierra, Inc. Clock recovery phase locked loop control using clock difference detection and forced low frequency startup
JP2935694B2 (ja) * 1997-04-25 1999-08-16 松下電器産業株式会社 半導体集積回路およびシステム、並びにクロック信号とデータ信号との間のスキューを低減する方法
US7024518B2 (en) * 1998-02-13 2006-04-04 Intel Corporation Dual-port buffer-to-memory interface
JP3892655B2 (ja) * 1999-09-17 2007-03-14 株式会社東芝 半導体集積回路装置
US6658544B2 (en) * 2000-12-27 2003-12-02 Koninklijke Philips Electronics N.V. Techniques to asynchronously operate a synchronous memory
US6877079B2 (en) * 2001-03-06 2005-04-05 Samsung Electronics Co., Ltd. Memory system having point-to-point bus configuration
US7076678B2 (en) * 2002-02-11 2006-07-11 Micron Technology, Inc. Method and apparatus for data transfer
US20030163769A1 (en) * 2002-02-27 2003-08-28 Sun Microsystems, Inc. Memory module including an error detection mechanism for address and control signals
KR100511912B1 (ko) * 2002-03-13 2005-09-02 주식회사 하이닉스반도체 반도체 메모리에 사용되는 데이터 출력 구동 장치
US6788223B2 (en) * 2002-09-25 2004-09-07 Infineon Technolgies Na Corp. High rate coding for media noise
US7478257B2 (en) * 2003-03-31 2009-01-13 Intel Corporation Local receive clock signal adjustment
WO2004102403A2 (en) 2003-05-13 2004-11-25 Advanced Micro Devices, Inc. A system including a host connected to a plurality of memory modules via a serial memory interconnect
US7110420B2 (en) * 2003-05-30 2006-09-19 North Carolina State University Integrated circuit devices having on-chip adaptive bandwidth buses and related methods

Also Published As

Publication number Publication date
WO2005050466A3 (en) 2005-11-10
TWI264641B (en) 2006-10-21
US20050108489A1 (en) 2005-05-19
KR20060086422A (ko) 2006-07-31
JP2007511010A (ja) 2007-04-26
WO2005050466A2 (en) 2005-06-02
CN1902618A (zh) 2007-01-24
KR100806454B1 (ko) 2008-02-21
EP1683031A2 (en) 2006-07-26
TW200525350A (en) 2005-08-01
ATE394741T1 (de) 2008-05-15
CN100524276C (zh) 2009-08-05
DE602004013621D1 (de) 2008-06-19
EP1683031B1 (en) 2008-05-07
US7721060B2 (en) 2010-05-18

Similar Documents

Publication Publication Date Title
EP2248031B1 (en) Data bus inversion apparatus, systems, and methods
US7222213B2 (en) System and method for communicating the synchronization status of memory modules during initialization of the memory modules
US7020757B2 (en) Providing an arrangement of memory devices to enable high-speed data access
US20100180143A1 (en) Techniques for improved timing control of memory devices
US20090177812A1 (en) Synchronous Bus Controller System
WO2004102403A2 (en) A system including a host connected to a plurality of memory modules via a serial memory interconnect
JP2001223729A (ja) バスエミュレーション装置
US20070011379A1 (en) I/O energy reduction using previous bus state and I/O inversion bit for bus inversion
US5524112A (en) Interface apparatus for transferring k*n-bit data packets via transmission of K discrete n-bit parallel words and method therefore
JP4638879B2 (ja) 派生クロッキングのためのデータ密度を維持するための方法及び装置
KR20020052669A (ko) 선입 선출 메모리 및 이 메모리의 플래그 신호 발생방법
CN114518902A (zh) 一种内存定序器系统和应用该系统的内存定序方法
JP4417381B2 (ja) 受信器のためのクロック再トレーニング法
JP6725692B2 (ja) 非同期フィードバックトレーニング
JP4683047B2 (ja) デバイス間の信号伝達方法および装置
JPS63290033A (ja) デ−タ送受信回路
KR100666950B1 (ko) 패킷 처리를 위한 다중 메모리 액세스 시스템 및 그 방법
JPS60226246A (ja) デ−タ伝送装置
JPH01101748A (ja) クロック乗り換え回路
JP2000347992A (ja) データ送受信回路
JPH10276229A (ja) 非同期転送制御方式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090121

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090127

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20090424

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20090507

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090527

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100511

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100909

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20100922

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20101102

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20101126

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

Free format text: PAYMENT UNTIL: 20131203

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4638879

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees