JP5331902B2 - 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 - Google Patents
信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 Download PDFInfo
- Publication number
- JP5331902B2 JP5331902B2 JP2011547183A JP2011547183A JP5331902B2 JP 5331902 B2 JP5331902 B2 JP 5331902B2 JP 2011547183 A JP2011547183 A JP 2011547183A JP 2011547183 A JP2011547183 A JP 2011547183A JP 5331902 B2 JP5331902 B2 JP 5331902B2
- Authority
- JP
- Japan
- Prior art keywords
- signal
- input
- data
- delay
- unit
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
- G11C7/222—Clock generating, synchronizing or distributing circuits within memory device
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/22—Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C11/00—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
- G11C11/21—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
- G11C11/34—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
- G11C11/40—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
- G11C11/401—Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
- G11C11/4063—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
- G11C11/407—Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
- G11C11/4076—Timing circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/13—Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
- H03K5/131—Digitally controlled
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C2207/00—Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
- G11C2207/22—Control and timing of internal memory operations
- G11C2207/2272—Latency related aspects
Landscapes
- Engineering & Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Dram (AREA)
- Information Transfer Systems (AREA)
- Networks Using Active Elements (AREA)
Description
本発明は、信号を復元する回路に関し、例えば、位相変動のある受信信号から送信側信号の復元、パルス信号のパルス幅の復元等の信号処理に用いられる信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法に関する。
位相変動を伴う信号を受信した場合、この受信信号から送信側の信号を復元する際に信号復元回路が用いられる。例えば、DDRメモリインターフェイス回路がある。DDR(Double Data Rate)メモリは、クロック(CK)信号のポジティブエッジとネガティブエッジの双方でデータの入出力をし、クロック周波数の2倍のデータ転送レートでデータ転送をするメモリである。
このようなメモリでは、メモリコントローラから内部CK信号をDIMM(Dual Inline Memory Module )に送信する。DIMMはそのCK信号からデータストローブ(DQS)信号を生成し、このDQS信号をデータ(DQ)信号とともにメモリコントローラに送出する。メモリコントローラ側では、これらDQS信号及びDQ信号を受信し、DQS信号を使ってDQ信号をリタイミングし、さらに内部クロックに乗り換える。このとき、受信点のラッチ回路で確実にデータ信号を受信するには、内部CK信号と受信データ信号のタイミング関係が一定範囲内にあることが必要である。
このメモリコントローラの信号復元に関し、メモリコントローラ内で参照クロックと異なるクロック位相を生成し、データストローブ信号を遅延させることが知られている(特許文献1)。
データストローブ信号を遅延させた第1及び第2のタイミング信号を生成させ、これら2つのタイミング信号を選択的に用いることにより、信号不定状態を回避することが知られている(特許文献2)。
メモリコントローラにおいて、データストローブ信号の変化エッジで読出しデータを取り込むことが知られている(特許文献3)。
データストローブ信号とリードクロックの位相差を測定し、その位相差に従ってクロック信号の遅延時間を加減し、そのクロック信号に同期してデータ信号を取り込むことが知られている(特許文献4)。
メモリからデータを読み出す場合に、データをラッチするクロックの位相をシフトすることが知られている(特許文献5)。
メモリの読出しデータと書き込みデータとを比較し、両者が一致するように読出しクロックの位相を決定すること(特許文献6)、データストローブ信号の位相量を決定すること(特許文献7)、一致するように書き込みタイミングを決定することが知られている(特許文献8)。
データ再生に関し、データの立上りエッジ、立ち下がりエッジの検出パルスからパルス幅を再生する際にFIFO(First-in First-out)を用いることが知られている(特許文献9)。
ところで、信号伝送には温度変化や経路の相違等により、種々の遅延を生じる。このような信号遅延を修復した場合、時期的な修正が原信号と受信信号とを相違させる場合がある。このような信号の相違が動作の信頼性を損なう原因になる場合があり、例えば、メモリから受信したデータが原データと異なる場合には、データ処理の信頼性を損なう場合がある。
そこで、本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法は、信号復元等の信号処理を目的とする。
上記目的を達成するため、本開示の信号復元回路は、記憶部と、記憶制御部とを備える。前記記憶部は、入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能である。前記記憶制御部は、前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御する。
上記目的を達成するため、本開示のレイテンシ調整回路又はメモリコントローラは、既述の信号復元回路を備える。本開示のプロセッサは、既述の信号復元回路又はメモリコントローラを備える。また、本開示のコンピュータは、既述の信号復元回路、メモリコントローラ又はプロセッサを備える。
上記目的を達成するため、本開示の信号復元方法は、第1のステップ、第2のステップを含む。前記第1のステップでは、入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な記憶部に、前記入力信号を前記入力順に記憶する。前記第2のステップでは、前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御する。
また、上記目的を達成するため、本開示のレイテンシ調整方法は、既述の信号復元方法を含む。
本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法によれば、次のような効果が得られる。
(1) 入力信号に付随する遅延情報に基づき、入力信号を入力順に記憶し、読み出す記憶部における入力から出力までの遅延時間を制御するので、入力信号と遅延情報とを用いて信号復元等の信号処理をすることができる。
(2) 入力信号がデータパルス信号の場合、復元した信号のパルス幅を一定にできる等の信号復元やレイテンシ調整を行える。
そして、本発明の他の目的、特徴及び利点は、添付図面及び各実施の形態を参照することにより、一層明確になるであろう。
〔第1の実施の形態〕
第1の実施の形態は、本開示の信号復元回路の基本構成である。即ち、この信号復元回路では、基本構成として、記憶部と、記憶制御部とを備える。
この第1の実施の形態について、図1及び図2を参照する。図1は、第1の実施の形態に係る信号復元回路の一例を示す図、図2は、信号復元動作の一例を示すタイミングチャートである。図1に示す構成は一例であって、本発明は斯かる構成に限定されるものではない。
この信号復元回路2Aは、本開示の信号復元回路の一例であって、位相変動のある信号から原信号のパルス幅等の信号態様を復元する手段である。そこで、この信号復元回路2Aには、図1に示すように、記憶部4と、記憶制御部6とが備えられる。
記憶部4は、入力信号INの記憶手段であって、入力信号INを入力順に配列させて記憶し、配列順に入力信号INの読み出しが可能である。この記憶部4には、配列された複数の記憶素子41、42、43・・・4Nを備え、例えば、最初に入れた信号(データ)を最初に取り出す方式即ち、FIFO(First-in First-out)で構成される。
記憶制御部6は、記憶部4の制御手段であって、入力信号INの遅延情報Dinfoにより、記憶部4における入力信号INの入力から出力までの遅延時間を制御する。遅延情報Dinfoは、入力信号INに付随する情報であって、入力信号INの遅延量を定量的に表す情報である。
そして、入力信号INは、図2のAに示すように、パルス幅に変動を生じている場合を想定する。遅延情報Dinfoは、図2のBに示すように、各クロックサイクル(図2の破線の時点)での入力信号INの遅延量を持つ信号である。
このような入力信号IN及び遅延情報Dinfoは記憶制御部6に入力される。入力信号INは、記憶制御部6によりクロック(CLK)信号(図2のD)に同期し、記憶部4の記憶素子41、42、43、・・・4Nに入力順に書き込まれる。
CLK信号に同期した入力信号INは、同時に取り込まれた遅延情報Dinfoに従った遅延時間を経て出力信号OUTとして出力される。例えば図2において、CLK信号の(2)の時点で取り込まれた入力信号A1 は、遅延情報Dinfoの遅延量(D1 )で指定される時間の経過後(この例では3クロック)に出力される。
CLK信号の(6)の時点で入力された入力信号A3 のように、後続信号が早く到達したため、パルス幅が小さくなった場合には、次のCLK信号の(7)で遅延情報Dinfoの値を減少させる。また、CLK信号の(11)の時点のように後続信号が遅れたため、パルス幅が大きくなった場合には、遅延情報Dinfoの値を増加させる。
そこで、記憶制御部6では、既述の通りの制御動作として、記憶部4における入力信号INの入力から出力までの遅延時間Tdを制御する。この場合、入力信号INの遅延量Dが大きい場合には、遅延時間Tdを減少させ、入力信号INの遅延量Dが小さい場合には、遅延時間Tdを増加させる。この結果、図2のCに示すように、出力信号OUTが記憶部4から生成され、出力信号OUTは入力信号INからの一定の信号幅即ち、パルス幅を持つ原信号に復元されている。
次に、この信号復元処理について、図3を参照する。図3は、信号復元処理の処理手順の一例を示すフローチャートである。
この処理手順は、本開示の信号復元方法の一例である。この処理手順には、書き込み処理(ステップS11)、遅延読み出し処理(ステップS12)、出力処理(ステップS13)が含まれる。
書き込み処理(ステップS11)では、記憶部4に入力信号INが入力順に配列されて記憶される。即ち、記憶部4は、配列順に入力信号INの読み出しが可能である。
遅延読み出し処理(ステップS12)では、入力信号INの遅延情報Dinfoにより、記憶部4における入力信号INの入力から出力までの遅延時間Tdを制御する。
そして、出力処理(ステップS13)では、記憶部4から配列順に入力信号INが読み出され、順次に読み出された入力信号INが記憶部4から出力信号OUTとして生成される。
このような処理手順により、入力信号INに付随する遅延情報Dinfoに基づき、入力信号INを入力順に記憶し、記憶部4における入力から出力までの遅延時間Tdを制御するので、入力信号INと遅延情報Dinfoとを用いて信号復元をすることができる。
〔第2の実施の形態〕
第2の実施の形態は、記憶部及び記憶制御部を具体化した構成例である。
この第2の実施の形態について、図4及び図5を参照する。図4は、第2の実施の形態に係る信号復元回路の構成例を示す図、図5は、信号復元処理を示す図である。図4において、図1と同一部分には同一符号を付してある。
この信号復元回路2Bでは、記憶部4に16組のフリップフロップ(FF)401、402、403・・・・・416が設置され、記憶制御部6にはセレクタ部8が設置されている。このセレクタ部8には、FF401、402、403・・・・・416に対応し、15組のセレクタ801、802、803・・・・815が設置されている。
この場合、各セレクタ801、802、803・・・815の一方の入力には、入力信号INが加えられ、各セレクタ801、802、803・・・815の他方の入力には対応するFF401、402、403・・・・416の出力が加えられている。FF401のデータ入力には、この実施の形態の場合、“0”が加えられている。そして、FF402のデータ入力にはセレクタ801の出力、FF403のデータ入力にはセレクタ802の出力、FF404のデータ入力にはセレクタ803の出力が加えられている。FF405のデータ入力にはセレクタ804の出力、FF406のデータ入力にはセレクタ805の出力、FF407のデータ入力にはセレクタ806の出力が加えられている。FF408のデータ入力にはセレクタ807の出力、FF409のデータ入力にはセレクタ808の出力、FF410のデータ入力にはセレクタ809の出力が加えられている。FF411のデータ入力にはセレクタ810の出力、FF412のデータ入力にはセレクタ811の出力、FF413のデータ入力にはセレクタ812の出力が加えられている。同様に、FF414のデータ入力にはセレクタ813の出力、FF415のデータ入力にはセレクタ814の出力、FF416のデータ入力にはセレクタ815の出力が加えられている。
各セレクタ801、802、803・・・815の制御入力には、対応する遅延信号Diが加えられている。各FF401、402、403・・・416のクロック入力部には、共通にクロック(CLK)信号が加えられ、FF動作がCLK信号により同期している。FF416から出力信号OUTが取り出される。
この信号復元回路2Bについて、各セレクタ801、802、803・・・815は、制御が真の場合、入力信号INを選択する。この選択出力が、記憶部4側のFF401、402、403・・・416に入力される。遅延信号Diが一定値であれば、入力信号INを入力順に取り込み、その入力信号INを遅延させ、出力信号OUTとして出力するFIFOを構成する。遅延信号Diに遷移があった場合、入力信号INを入れる入力位置のFF401、402、403・・・416が選択され、その位置を前後させる。この実施の形態では、16組のFF401、402、403・・・416で構成され、入力信号IN及び出力信号OUTは16〔bit〕であり、入力信号INは隣り合う2〔bit〕のFFに入力される。
記憶部4には、処理テーブル10A(図5)入力信号INの記憶され、出力信号OUTが得られる。処理テーブル10Aには、図5に示すように、処理番号欄12、入力信号欄14、遅延信号欄16、記憶部4の書き込み位置(FIFO内信号書き込み位置)欄18、出力信号欄20が提示されている。処理番号欄12は、処理順序を示す番号として0ないし45が例示されている。入力信号欄14には、入力信号IN=X、A、B・・・が例示されている。記憶部4の書き込み位置欄18には、FF401=−8、FF402=−7、FF403=−6、FF404=−5、FF405=−4、FF406=−3、FF407=−2、FF408=−1、FF409=0、FF410=1、FF411=2、FF412=3、FF413=4、FF414=5、FF415=6、FF416=7の位置が設定されている。各位置には、入力信号IN=0、X、A、B・・・が格納され、0は入力なしの状態である。そして、出力信号欄20には、出力信号OUT=X、A、B・・・が例示されている。処理テーブル10Aにおいて、処理番号0〜45は時間の経過とともに推移する。
入力信号INは、処理テーブル10Aの各セルの1行毎に1クロック分だけ進む。この場合、記憶部4に対する入力信号INは、同一信号を2回ずつ繰り返しながら入力される。この同一信号とは、2〔bit〕分の「A,A」、「B,B」、「C,C」・・・を示している。そこで、入力信号INが遅れた場合には、入力信号INが1クロック分だけ伸び、遅延信号Diの値が3〔bit〕目で1だけ増える(例えば、処理番号15、18の場合)。また、入力信号INが進んだ場合には、入力信号INが1クロック分だけ縮み、遅延信号Diの値が次の入力信号で1だけ減じられる(例えば、処理番号25、26、35、40の場合)。
このような入出力形態では、記憶部4の書き込み及び読み出しにおけるFIFO動作では、上段側の入力信号INを右にシフトし、「遅延信号Di」と「遅延信号Di−1」の位置に入力信号INが入力される。図5では、太線で枠囲み部22のセル部分がその入力信号INを示し、その位置が遅延信号Diに応じて変化している。即ち、遅延信号Diによって入力信号INの配列の異なる位置に入力され、入力信号INの配列が変更されている。
そして、この実施の形態では、出力信号OUTが記憶部4に構成されるFIFO7段目のFF416から取り出される。従って、遅延信号Diに応じて時間制御された出力信号OUTが復元信号として生成されている。
また、入力信号INをFFの隣合う2〔bit〕に同時に入力するので、入力信号INの幅やデータ幅が狭い場合、例えば、処理番号25、28(図5)の場合にも、信号の復元精度が高められる。この場合、1〔bit〕にしか入力されない場合に出力波形が復元できないという不都合は上記処理により確実に解消されることになる。
〔第3の実施の形態〕
第3の実施の形態は、既述の信号復元回路がメモリコントローラに設置された構成例である。
この第3の実施の形態について、図6を参照する。図6は、信号復元回路を備えるメモリコントローラとメモリを示す図である。図6において、図1及び図4と同一部分には同一符号を付してある。
この信号復元回路2Cは、本開示の信号復元回路の一例であって、DIMM(Dual Inline Memory Module )26のデータ信号を復元する信号復元手段である。この信号復元回路2Cはメモリコントローラ24Aに設置されている。メモリコントローラ24Aは、DIMM26に対するデータの書き込み、読み出しを制御する手段である。DIMM26は、データ源であるとともに信号源の一例である。
この信号復元回路2Cでは、データ信号の受信機能と信号復元機能を備え、図6に示すように、記憶部4と、記憶制御部6と、信号受信部28とを備えている。記憶部4及び記憶制御部6は、第1の実施の形態で述べた通りであり、その構成は例えば、第2の実施の形態の通りである。
信号受信部28は、CLK信号からCK信号を生成してDIMM26に送信し、DIMM26がCK信号から生成した位相基準信号であるデータストローブ(DQS)信号やデータ(DQ)信号を受信する。DIMM26はメモリデバイスの一例である。また、信号受信部28では、DQS信号を使ってDQ信号をリタイミングし、さらに内部クロックに乗り換える。そこで、信号受信部28は、クロック生成部30と、クロック出力部32と、位相設定部34と、第一の位相遅延部36と、位相検出部38と、第二の位相遅延部50と、セレクタ52と、データ保持部54とを備える。位相検出部38で遅延情報の検出及び発生手段が構成され、クロック生成部30と、第一の位相遅延部36と、第二の位相遅延部50とで遅延制御部が構成される。
クロック生成部30は、LSI内部クロック回路部(例えば、図25のクロックツリー部306)で生成されたCLK信号を分周し、複数相のCLK信号を生成する。この実施の形態では、例えば、2〔GHz〕のCLK信号を4分周して500〔MHz〕のCLK信号を得て、0度、90度、180度、270度の4相のCLK信号を生成している。
クロック出力部32は、クロック生成部30から270度のCLK信号を受け、CK信号を生成してDIMM26へ出力する。DIMM26からデータを読み出す場合、DIMM26は信号受信部28から受信したCK信号によりDQS信号を生成し、このDQS信号に同期したDQ信号を生成する。DQS信号及びDQ信号は同相である。
位相設定部34は、DQS信号及びDQ信号に所定の位相(90度)の位相シフトを設定する手段である。そこで、この位相設定部34は、DQS信号側に例えば、入力バッファ、遅延回路、インバータ等を備え、DQ信号側に例えば、入力バッファ、遅延回路、FF等を備える。
第一の位相遅延部36は、所定位相差を単位とする遅延量として例えば、90度未満の範囲でDQS信号の位相を遅延させる手段であるとともに、DQ信号に位相遅延を施す手段である。そこで、この位相遅延部36は、可変遅延回路を備え、遅延信号(DQPHASE)を受け、遅延能力の限界値である、90度未満の遅延量をDQS信号に設定する。
位相検出部38は、クロック生成部30で生成されたCLK信号と、位相遅延部16からのDQS信号とを比較して位相差を検出し、この位相差を表す情報としてDQPHASE信号を出力する。DQPHASE信号は、DQS信号の遅延量を表す情報信号であって、信号受信部28から遅延情報として出力されるとともに、位相遅延部36及びクロック生成部30に加えられる。クロック生成部30では、DQPHASE信号がCLK信号の選択情報である。
第二の位相遅延部50は、所定位相差を単位とする遅延量として例えば、90度を単位としてDQS信号の位相を遅延させる手段である。そこで、この位相遅延部50は、クロック生成部30からCLK信号を受け、所定位相差を単位とする遅延量で位相が遅延したDQ信号が得られる。
セレクタ52は、位相遅延部50の複数出力を選択する手段である。このセレクタ52は、クロック生成部30で生成されたCLK信号を受け、これを選択情報に用いてDQ信号と、反転DQ信号とを交互に選択する。
データ保持部54は、セレクタ52で選択されたDQ信号又は反転DQ信号の保持手段であるとともに、クロック乗換手段である。そこで、このデータ保持部54には、LSI内部クロック回路部から加えられた基準CLK信号がクロック生成部30の入力側から加えられる。データ保持部54では、この基準CLK信号に同期してDQ信号又は反転DQ信号を保持し、クロックを基準CLK信号に乗り換え、DQ信号又は反転DQ信号(以下、単に「DQ信号」と称する)を出力する。
そして、データ保持部54からのDQ信号は記憶制御部6に加えられ、記憶部4の入力信号INとなる。また、位相検出部38で得られたDQPHASE信号が記憶制御情報として記憶制御部6に加えられている。
そこで、このような信号復元回路2CによるDQ信号から受信データパルス幅の再生は次の通りである。
DQ信号における受信データの位相は、電源電圧、装置温度等の環境要因により変動している。このため、内部クロックに乗り換えた後、受信データも同様に変動する。信号受信部28では、内部クロック信号でDQ信号が正規化されたようにみえる。しかし、内部クロック位相に乗り換えた受信データは、その取り込みクロックをタイムリーに進めたり遅らせたりしており、この影響でパルス幅はクロックを切り換えたと同時に1クロック幅分(=tCK/4=4相クロックの相間遅延差分)だけ狭くなったり、広くなったりしている。
そこで、この信号復元回路2Cでは、記憶部4及び記憶制御部6でDQ信号(入力信号IN)の遅延制御部を構成し、データのパルス幅を再生する処理を実現している。記憶部4は、データの遅延ばらつきを吸収するに十分なFIFO機能を備え、DQPHASE信号が持つ遅延量に応じ、記憶部4で構成されるFIFOを通過する遅延時間を増加又は減少させる。これにより、信号受信部28から出力される受信信号即ち、DQ信号の遅延を一定に保つとともに、データパルス幅を再生している。
この信号復元処理について、より具体的に述べる。DQPHASE信号が持つ遅延量が大きくなった場合(=クロック乗り換えのための遅延が大きい場合)には、その分だけFIFOを早く通過するようにすればよい。また、DQPHASE信号が持つ遅延量が小さくなれば、FIFOを遅く通過するようにすればよい。このような遅延の増加又は減少により、出力データ位相が一定に保たれる。
また、パルス幅の再生は以下の通りである。データのパルス幅が狭くなる場合とは、受信データの位相が早くなった場合であり、これをFIFOを構成する記憶部4では、通過する遅延時間を増加させる必要がある。また、データのパルス幅が広くなる場合とは、受信データの位相が遅くなった場合であり、FIFOを構成する記憶部4では、通過する遅延時間を減少させる必要がある。
そして、狭くなったデータのパルス幅を広げることに対応するには、FIFOへのデータの入力方法について、第1及び第2の実施の形態に詳細に述べた通りである。即ち、隣り合う2〔bit〕のラッチ手段即ち、FF(図4、図5)に対し、同時に入力信号INを入力すればよく、これにより、FIFOの段数を変更した場合のデータ不定(データ消失)を無くすことができる。
斯かる実施の形態によれば、データパルス幅が常に一定になり、信号復元回路2Cの出力信号OUTが生成され、これが安定した受信信号となる。即ち、原データ信号を忠実に復元することができる。
〔第4の実施の形態〕
第4の実施の形態は、遅延情報にオフセット情報を付加して記憶制御を行う構成、即ち、第1、第2又は第3の実施の形態にオフセット情報を付加して制御する構成である。
この第4の実施の形態について、図7、図8、図9、図10及び図11を参照する。図7は、第4の実施の形態に係る信号復元回路の一例を示す図、図8は、その具体例である信号復元回路を示す図、図9、図10及び図11はオフセット信号が付加された場合の信号復元処理を示す図である。図7、図8において、図1、図4又は図6と同一部分には同一符号を付してある。
この信号復元回路2Dでは、図7に示すように、記憶制御部6に加算器56が設置されている。この加算器56は、既述の遅延信号DQPHASEにオフセット信号Offsetを加算する演算手段の一例である。この実施の形態では、セレクタ部8には、オフセット信号Offsetが加算されたオフセット付き遅延信号(DQPHASE+Offset)が遅延情報として加えられる。その他の構成は、第1の実施の形態(図1)と同様である。
そこで、この信号復元回路2Dは、図8に示すように構成され、加算器56の各出力はセレクタ部8の各セレクタ801、802、803・・・815の選択入力となっている。また、記憶部4のFF401、402、403・・・416によるFIFOの構成は、第2の実施の形態と同様である(図4)。
この信号復元回路2Dにおいて、加算器56は、遅延信号DQPHASEとオフセット信号Offsetの和を出力する。これにより、入力信号DQがFIFOを通過するのにかかる時間(クロック数)を増加又は減少させることができる。
この入力信号DQの遅延制御について、オフセットがOffset=0(処理テーブル10B:図9)、Offset=1(処理テーブル10C:図10)及びOffset=5(処理テーブル10D:図11)を例示する。図9、図10、図11の各テーブルにおいて、処理番号は時間の推移を示している。
各処理テーブル10B、10C及び10Dにおいては、処理番号欄12、入力信号欄14、遅延信号欄16、記憶部4の書き込み位置(FIFO内信号書き込み位置)欄18、出力信号欄20が提示されている。各処理テーブル10B、10C及び10Dにおいて、処理テーブル10A(図5)と異なるのは、オフセット信号欄58、オフセット付き遅延信号欄60を備えていることである。
処理番号欄12は、処理順序を示す番号として0ないし45が例示されている。入力信号欄14には、既述の入力信号DQ=X、A、B・・・が格納されている。この場合、遅延信号欄16には、既述した信号受信部28(図6)からの遅延信号DQPHASE が格納される。
記憶部4の書き込み位置欄18には、FF401=−8・・・FF416=7の位置が設定され、信号の遷移を示している。各位置には、入力信号DQ=X、A、B・・・、出力信号欄20には、出力信号OUT=X、A、B・・・が例示されていることは既述の通りである。
そして、オフセット信号欄58には、遅延信号DQPHASEに加算するためのオフセット情報としてオフセット信号Offsetが格納される。また、オフセット付き遅延信号欄60には、遅延信号欄16にある遅延信号DQPHASEと、オフセット信号欄58にあるオフセット信号Offsetとの加算値であるオフセット付き遅延信号(DQPHASE+Offset)が格納される。
各場合について、既述の通り、FIFOでは、上段側の入力信号DQを右にシフトするとともに、入力信号DQを「遅延信号」と「遅延信号−1」の位置に入力し、出力信号OUTをFF416から取り出している。また、図9、図10及び図11のセル1行毎に回路の1クロック進むものとする。また、入力信号DQの入力では、同一信号が2回ずつ繰り返しながら入力され、入力信号DQが遅れた場合には、入力信号が1クロック分だけ伸び、オフセット付き遅延信号(DQPHASE+Offset)の値が3〔bit〕ビット目で1だけ増える(例えば、処理番号15、18)。入力信号DQが進んだ場合には、入力信号が1クロック分だけ縮み、オフセット付き遅延信号(DQPHASE+Offset)の値が次の信号で1だけ減じられる(例えば、処理番号25、26)。
そこで、Offset=0では、図9に示すように、既述した遅延制御(図5)と同様である。また、Offset=1では、図10に示すように、Offset=0の場合に比較し、出力信号OUTが1クロック分だけ早く出力される。また、Offset=5では、図11に示すように、Offset=0の場合に比較し、出力信号OUTが5クロック分だけ早く出力され、Offset=1の場合に比較し、出力信号OUTが4クロック分だけ早く出力される。
〔第5の実施の形態〕
第5の実施の形態は、DIMMのメモリコントローラに既述の信号復元回路と、オフセット信号設定部とを備えることにより、受信信号のレイテンシ(Latency )調整回路を構成している。
この第5の実施の形態について、図12を参照する。図12は、第5の実施の形態に係るレイテンシ調整回路の一例を示す図である。図12において、図6及び図7と同一部分には同一符号を付してある。
このレイテンシ調整回路64は、本開示の信号復元回路及びレイテンシ調整回路の一例であって、DIMM26のデータ信号を復元する信号復元手段、受信データのレイテンシを調整する手段である。DIMM26は、既述の通り、データ源であるとともに信号源の一例である。
そこで、レイテンシ調整回路64は、信号受信部28の受信信号のレイテンシを調整する手段の一例であって、図12に示すように、信号復元回路2Eにある記憶部4と、記憶制御部6と、メモリコントローラ24B側にオフセット設定部62Aとを備えている。この場合、信号復元回路2Eは、メモリコントローラ24Bのインターフェイス部を構成している。記憶部4、記憶制御部6、信号受信部28及びメモリコントローラ24Bは、既述の通りであるから、その説明を省略する。
オフセット設定部62Aは、記憶制御部6に設定する既述のオフセット信号Offsetを生成し、このオフセット信号によりオフセットを設定する手段の一例である。このオフセット設定部62Aは、コントロールレジスタ66と、データ格納用レジスタ68と、演算装置70とを備える。
コントロールレジスタ66は、DIMM26にデータの書き込みタイミングやデータの取り込みタイミングを設定する手段の一例であって、メモリコントローラ24Bに備えられ、演算装置70によって制御される。
データ格納用レジスタ68は、レイテンシ制御のための各種データの格納手段の一例であって、メモリコントローラ24Bに備えられ、オフセットデータを保持する手段を兼用している。即ち、このデータ格納用レジスタ68はFIFOの設定レジスタを兼ねており、記憶部4からDQ信号を受け、オフセット信号Offsetを出力し、このオフセット信号Offsetを記憶制御部6の加算器56に加える。
演算装置70は、遅延情報検出手段の一例であり、この実施の形態では、メモリコントローラ24Bの外側に設置されたプロセッサの一例であって、演算処理部72と、記憶部74とを備える。演算処理部72は、記憶部74にあるファームウェアプログラムを実行する手段の一例である。記憶部74は、ファームウェアプログラムの格納手段であるとともに、データ格納手段を構成する。この記憶部74には、ファームウェアプログラム部75、データテーブル76(図19)、データテーブル78(図20)が格納されている。この実施の形態では、記憶部74が演算装置70の内部に設置されているが、演算装置70の外部に設置されてもよい。
このようなレイテンシ調整の必要性について、図13を参照する。図13は、DIMM及びメモリコントローラを備える回路を示す図である。
この実施の形態のDIMM26には、図13に示すように、複数のメモリデバイスの一例としてDRAM(0)、DRAM(1)、DRAM(2)・・・DRAM(8)及びレジスタRが備えられ、メモリコントローラ24Bには、既述の信号受信部28である複数の信号受信部280、281、282・・・288が備えられている。
各信号受信部280、281、282・・・288では、既述のFIFOの役割が果たされるので、DQSグループについて、DRAM(0)、DRAM(1)、DRAM(2)・・・DRAM(8)から各信号復元回路2Eを通して得られるメモリコントローラ24Bの受信信号の遅延が一定に保たれ、データパルス幅の復元が可能となっている。
ところが、各信号受信部280、281、282・・・288の信号受信が、DRAM(0)〜DRAM(8)毎に個別に行われる結果、インターフェイスの回路構成等により区々となる。これらを均一化するために、レイテンシ制御が必要である。そこで、この実施の形態のメモリコントローラ24Bでは、各信号受信部280〜288をDQSグループ間でのクロックサイクル単位でのデータのずれを解消する。
この実施の形態では、FIFOにメモリコントローラ24Bからオフセット情報を送信するインターフェイスとしてオフセット設定部62Aを持ち、FIFOを構成する記憶部4をオフセット付き遅延情報を記憶制御部6で実現している。即ち、メモリコントローラ24B側から遅延信号にオフセットを付加することを可能にしている。
そこで、異なるDQSグループの複数のDRAM(0)〜DRAM(8)のデータ同士のレイテンシを合わせるため、演算装置70(図12)の指示により、DIMM26の所定の連続アドレスに所定の連続データを書き込み、各連続アドレスからデータを連続して読み込む。演算装置70は、連続して読み込んだデータ内容からオフセット値を決定し、このオフセット値を遅延信号に加える。
演算装置70では、連続して読み込んだデータの内容から、読込み時のレイテンシ即ち、読込みコマンドの発行から読込みデータの受信までの時間(遅延時間)が判る。この遅延時間により、所定のレイテンシに合わせることが可能である。更に、レイテンシのばらつき範囲が限定できれば、FIFOを構成する記憶部4で費やされる無駄なレイテンシ分を省くことができる。
そこで、このレイテンシ調整のため、メモリコントローラ24BではFIFOのデータ格納用レジスタ68に設定されるオフセット値を決定する(図14)。
このレイテンシ調整の処理手順について、図14を参照する。図14はレイテンシ調整の処理手順の一例を示すフローチャートである。
このレイテンシ調整の処理手順は、本開示のレイテンシ調整方法の一例であって、コンピュータによって実行されるプログラムで構成され、レイテンシの検出機能と、レイテンシ検出に基づくレイテンシの調整機能を包含している。
そこで、この処理手順では、図14に示すように、ファームウェアを実行する演算装置70の指示により、メモリコントローラ24Bは、DIMM26にデータを書き込む(ステップS21)。この場合、書き込むデータは0ないしf(図15)の値が連続したデータである。
演算装置70はコントロールレジスタ66に対してデータの取り込みタイミング(図15、図16中のGetのタイミング)を指定する(ステップS22)。周波数が異なる場合の2回目のデータ取り込みでは、1回目のデータ取り込みよりGetのタイミング(図17、図18中のGetのタイミング)をクロックの1サイクルだけ遅らせる。
演算装置70はデータ格納用レジスタ68に“0”を書き込む(ステップS23)。データ格納用レジスタ68は、記憶部4で構成されるFIFOの設定レジスタを兼ねているのは既述の通りである。
演算装置70は読込み指示を発し、メモリコントローラ24Bは演算装置70がステップS22で指示したタイミングでデータ格納用レジスタ68に値を取り込む(ステップS24)。
演算装置70はデータ格納用レジスタ68からデータを読み込む(ステップS25)。
そして、演算装置70は、データ格納用レジスタ68から読み込んだ値より、記憶部74のデータテーブル76(図19)、78(図20)を参照してFIFOの値を決定し、データ格納用レジスタ68にFIFOのオフセット値(遅延値)を設定する(ステップS26)。この処理は、周波数が違う場合には、2回目のデータ取り込みで行う。
このレイテンシ調整について、図15、図16、図17及び図18を参照する。図15及び図17は、レイテンシ調整前のデータを示す図、図16及び図18は、レイテンシ調整後のデータを示す図である。図15〜図18おいて、縦線80はシステムクロックのエッジである。
システムクロックとDIMM26のデータの周波数の関係が、図15に示すように、1:1であれば、既述のフローチャート(図14)を1回だけ実行する。システムクロックとDIMM26のデータの周波数の関係が、図17に示すように、1:2であれば、既述のフローチャート(図14)を2回実行する。また、システムクロックの周波数とDIMM26の周波数の関係が1:Nであれば、既述のフローチャート(図14)をN回実行することにより、レイテンシを揃えることができる(図16、図18)。
(1) レイテンシ調整前のデータ
システムクロックとDIMM26のデータの周波数の関係が1:1であれば、例えば、DRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、図15に示すように、連続して取り出される。各データについて、取得タイミングをGet位置とすると、各データは、DRAM(0)=9、DRAM(1)=8、DRAM(2)=8、DRAM(3)=7となる。レイテンシ調整前では、DRAM(1)=DRAM(2)=8であるのに対し、DRAM(0)=9、DRAM(3)=7となり、データが不揃いとなっている。
また、システムクロックとDIMM26のデータの周波数の関係が1:2であれば、例えば、DRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、図17に示すように、連続して取り出されるが、データが不揃いになっている。
(2) レイテンシ調整後のデータ
システムクロックとDIMM26のデータの周波数の関係が1:1であれば、既述のDRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、レイテンシ調整後では、図16に示すように、DRAM(0)=DRAM(1)=DRAM(2)=DRAM(3)=5となり、レイテンシ調整後、各データが揃っている。
また、システムクロックとDIMM26のデータの周波数の関係が1:2であれば、既述のDRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、レイテンシ調整後では、図18に示すように、連続して取り出されるが、データが揃っている。この場合、取得タイミングはGet1、Get2の各位置である。
既述のデータテーブル76、78について、図19及び図20を参照する。図19及び図20は、データテーブルの一例を示す図である。
データテーブル76は、図19に示すように、リード値82が設定されるとともに、このリード値82に対応する設定値84が設定されている。リード値82は、DIMM26のDRAM(0)、DRAM(1)、DRAM(2)・・・から一定のタイミングで読み出されたデータ値である。また、設定値84は、例えば、データ値を所定値「5」に合わせる際に、各DRAM(0)、DRAM(1)、DRAM(2)・・・毎にリード値の取り込み(Get)タイミングを設定する値である。例えば、DRAM(0)では、図15に示すように、Getタイミングで“9”が得られている。そこで、データテーブル76(図19)のリード値82の“9”から設定値84の“4”が選択される。これにより、4クロックだけDRAM(0)のGetタイミングをずらすことが判る。この処理は、一例であって、基準となるリード値が異なれば、別の設定値が用いられる。
リード値82は、ファームウェアプログラムによって記憶部74に格納され、そのリード値82に対応する設定値84が格納される。この場合、システムクロックとDIMM26のクロックが同一の場合である。
また、データテーブル78では、図20に示すように、1回目のリード値86、2回目のリード値88に対応する設定値90が設定されている。
そこで、コントロールレジスタ66に指定する値即ち、既述のGetタイミング(図15、図16)を演算装置70が変更すれば、データ合わせのタイミングを変更することができる。この場合、データテーブル76(図19)のリード値82に対する設定値84を用いれば、図16に示すように、Getタイミングをデータ値“5”に揃えることができる。また、データテーブル78(図20)のリード値86に対する設定値90を用いれば、図18に示すように、Get1のタイミングがデータ値“2”の後半になる。
そして、信号受信部28側でエラーを生じた場合には、このエラー情報をメモリコントローラ24Bに送る。この信号がメモリコントローラ24Bに受信されると、メモリコントローラ24Bがエラー情報に従って、データの再読込み(リード・リトライ)をする。これにより、オフセット値の精度が高められる。
以上の実施の形態において、特徴事項や利点等を列挙する。
(1) メモリコントローラ24Bのインターフェイスに信号受信部28とともにFIFOのオフセット情報を持たせることにより、メモリコントローラ24Bにレイテンシ調整のための遅延素子の設置を省略できる。システムクロック単位のデータのずれを揃えることができる。また、レイテンシ調整とともにオフセット値を知ることができる。
(2) 上記実施の形態では、信号復元回路として受信データと基準信号(DQS)を受信し、内部基準クロックに対する相対遅延量(DQPHASE)と取り込みデータを出力する受信回路を構成している。受信回路から内部基準クロックに対する相対遅延量(DQPHASE)と取り込みデータを入力し、相対遅延量に応じて内部遅延量を可変するレイテンシ制御を行うことができる。
(3) 内部基準クロックに対する相対遅延量(DQPHASE)はディジタル量で扱うことができる。
(4) レイテンシ調整をFIFOで構成できる。
(5) FIFOを構成する連続した2つのFFに同一データを入力し、データの防護を図っている。
(6) データ転送レートが1〔Gbps〕を超えるDIMMでは、データ伝送に関する遅延ばらつきがデータ幅を超える場合がある。また、DIMMでは、内部レジスタから各DRAMまでの配線が等長でないFly-byトポロジが採用され、DQSグループ間で遅延時間が不一致となり、クロック遅延のばらつきは1000〔ps〕にもなる。斯かるクロックのサイクルを超えるようなばらつきを吸収する仕組みとして、信号受信部28を構成すればよい。この信号受信部28を用いれば、斯かるばらつきを吸収し、安定したデータ読込み動作が行える。
(7) DIMM26のDQSグループ間のデータをパラレルで使用する場合には、信号受信部28の通過後に、DQSグループ間のデータをシステムクロック単位で揃えることが必要となる。これを実現するには、信号受信部28の外側回路内で遅延調整をするためのデータ待ち合わせ用シフトレジスタ等の遅延素子が必要となる。また、システムとしてのレイテンシの悪化が避けられない。遅延素子を設置すれば、その分だけ物量が増加することになる。斯かる課題に加え、受信したデータ間の遅延ばらつきはデータ処理の性能低下を来たし、また、信号受信部28でのリードエラーを生じた場合には、リトライ動作が必要であり、その処理は容易でない。このような課題は上記実施の形態の構成により、解決されている。
(8) 上記実施の形態では、信号受信部28を使用する場合である。DQSグループ間のデータのずれを揃える必要があるシステムでは、信号受信部28の出力段にFIFOの段数を制御する信号を有し、メモリコントローラ24Bのインターフェイス内でデータのずれを揃えている。
(9) メモリコントローラ24Bは、信号受信部28でエラーが発生したことを示す信号を有することにより、エラー発生時にリードをリトライする機能を有するので、レイテンシ調整の信頼性が高められる。
(10) 信号受信部28を使用するデータ伝送装置を構成できる。このデータ伝送装置において、メモリコントローラ24BのインターフェイスにFIFOの段数を制御する信号(オフセット値)を有する。
(11) データ伝送装置において、DIMMに降順又は昇順の連続するデータを書き込み、そのデータを読み出して、読み出すことができた値のパターンによってメモリコントローラ24BがFIFOの段数を制御している。
(12) データ伝送装置において、メモリコントローラ24Bのインターフェイス部に信号受信部28のエラー情報を伝達する信号を備えてもよい。
(13) 信号受信部28からのエラー情報をメモリコントローラ24Bで受信することにより、メモリコントローラ24BがDIMMアクセス情報を格納するレジスタを参照してリードのリトライを要求する機構を備えてもよい。
〔第6の実施の形態〕
第6の実施の形態は、信号復元回路とメモリコントローラとを別個に構成したものである。
この第6の実施の形態について、図21を参照する。図21は、メモリコントローラ、演算装置、信号復元回路及びDIMMを示す回路図である。
この実施の形態では、信号復元回路2Eとメモリコントローラ24Cとを別個に構成したものであり、メモリコントローラ24Cには、既述のオフセット設定部62Aが備えられている。斯かる構成によっても、第5の実施の形態と同様の機能や効果が得られる。図21において、図12と同一部分には同一符号を付し、その説明を省略する。
〔第7の実施の形態〕
第7の実施の形態は、メモリコントローラに既述のレイテンシ調整のために遅延量計測部を備えた構成である。
この第7の実施の形態について、図22を参照する。図22は、第7の実施の形態に係るレイテンシ調整回路の一例を示す回路図である。図22において、図12と同一部分には同一符号を付してある。
この実施の形態では、図22に示すように、DIMM26とともにメモリコントローラ24Dを備え、このメモリコントローラ24Dに演算装置70が併設されている。
この実施の形態のメモリコントローラ24Dには、既述のコントロールレジスタ66、データ格納用レジスタ68とともに、遅延量計測部94が備えられている。
この遅延量計測部94はオフセット遅延量を計測するための手段の一例であって、DIMM26に遅延計測信号を送信し、該遅延量計測信号とDIMM26からの受信信号とを比較し、遅延計測信号の送信時点から受信信号の受信時点までの遅延時間を計測する手段である。この遅延時間が遅延量であり、この遅延量がオフセット遅延量であって、既述のオフセット信号Offsetでもある。
そこで、この遅延量計測部94には、遅延計測信号生成部96と、比較部98とが備えられている。遅延計測信号生成部96は、既述の遅延計測信号の生成手段の一例であって、DIMM26に遅延計測信号を送信するとともに、比較部98に転送する。比較部98は、遅延計測信号の送信時点から受信信号の受信時点までの遅延時間を計測する手段の一例であり、遅延計測信号とDIMM26からの受信信号とを比較し、遅延計測信号の送信時点から受信信号の受信時点までの時間を遅延時間とし計測する。この遅延時間は、演算装置70に取り込まれ、遅延情報としてデータ格納用レジスタ68に格納される。
そして、演算装置70は、記憶部74のファームウェアプログラム部75にあるファームウェアプログラムを実行し、遅延量計測部94に遅延量計測を行わせる。
斯かる構成によってオフセット信号を生成させ、オフセット値を既述の加算器56(図7)に加えることにより、オフセット付き遅延信号を生成し、受信信号のレイテンシ調整を行ってもよい。
この実施の形態では、遅延量計測部94をメモリコントローラ24Dに設置しているが、信号復元回路2A(又は2B〜2E)に設置してもよく、既述のレイテンシ調整を行うことができる。記憶部74は、演算装置70の外部に設置してもよい。
〔他の実施の形態〕
(1) 第1の実施の形態では、図3に示すフローチャートに処理手順の一例を記載しているが、信号復元方法又は信号復元プログラムとして、例えば、前記時間を制御するステップ(又は機能)が、入力信号を入力順に記憶し、前記入力信号の遅延情報を受け、該入力信号を入力配列順に読み出しが可能な記憶部から前記入力信号を遅延情報に従って配列順に読み出すステップ(又は機能)と、前記遅延情報が一定の場合には前記入力信号を前記入力順に記憶させ、前記遅延情報が遷移した場合にはその遷移に応じて前記配列中の位置を選択し、該位置に前記入力信号を記憶させるステップ(又は機能)とを含んでもよい。
(2) 上記信号復元処理の処理手順として、更に、入力信号と基準クロック信号とを比較し、前記基準クロック信号に対する前記受信信号の遅延情報を検出するステップ(又は機能)を含んでもよい。
(3) 上記信号復元処理の処理手順として、更に、送信した遅延計測信号に対する受信信号のオフセット遅延量を計測するステップ(又は機能)と、前記オフセット遅延量と、前記遅延量検出部で検出された遅延量とから前記遅延情報を生成し、該遅延情報に応じて前記記憶配列の位置を変更するステップ(又は機能)とを含んでもよい。
(4) 上記実施の形態では、信号復元回路として、メモリコントローラ24に設置される信号復元回路2E(図12)又はメモリコントローラ24外に設置される信号復元回路2E(図21)を例示したが、本開示の信号復元回路は上記実施の形態に限定されない。例えば、本開示の信号復元回路は、メモリコントローラ24等のメモリインターフェイス回路以外に使用し、信号復元に用いられる。
(5) 上記実施の形態では、メモリコントローラ24について述べたが、本開示のメモリコントローラは上記実施の形態に限定されない。例えば、本開示のメモリコントローラを用いてプロセッサ100(図23)を構成してもよいし、コンピュータ200(図24)を構成してもよい。
(6) プロセッサ100は例えば、CPU(Central Processing Unit )や、MPU(Micro Processor Unit)に構成される。図23に示すように、このプロセッサ100には、DIMM26のデータ転送を制御するメモリコントローラ24と、ファームウェアプログラム部75の実行手段や、演算処理等を実行する手段として演算処理装置70とを併設してもよい。この場合、メモリコントローラ24には、信号復元回路2A(又は2B〜2E)を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、信号(データ)復元、データ転送の高速化や、信頼性を向上させることができる。
(7) コンピュータ200は、図24に示すように、CPU202と、DIMM26との間に設置されるチップセット204の内部にメモリコントローラ24を備えてもよい。この場合、メモリコントローラ24には、信号復元回路2A(又は2B〜2E)を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、信号(データ)復元、データ転送の高速化や、信頼性を向上させることができる。
(8) CPU202の内部にメモリコントローラ24を備え、このメモリコントローラ24の内部に既述の信号復元回路2A(又は2B〜2E)を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、信号(データ)復元、データ転送の高速化や、信頼性を向上させることができる。
(9) 上記実施の形態において、基準となる内部クロック信号には例えば、周波数を2〔GHz〕に設定してもよいが、これに限定されない。設定するクロック信号の周波数は任意であり、上記実施の形態に記載した数値は一例にすぎない。
(10 ) 上記実施の形態では、信号復元回路やレイテンシ調整回路等を例示したが、本発明はこれらに限定されない。情報処理装置において、複数のメモリデバイスからのリードデータをパラレルに使用する場合、各メモリデバイスからのレイテンシを各種装置のクロックを基準に同一レイテンシに揃えることができ、複数のメモリデバイスを用いる装置や処理に利用できる。
〔比較例〕
比較例は、位相変動を伴う信号の信号受信回路であって、メモリコントローラの信号受信部の一例である。
この比較例について、図25、図26、図27及び図28を参照する。図25は、メモリコントローラの比較例を示す図、図26は、回路の遅延ばらつきの試算例を示す図、図27は、DIMM上のクロック配線形態を示す図、図28は、DIMM上の他のクロック配線形態を示す図である。
DIMMからDDR信号を最も単純に受信するには、図25に示すように、メモリコントローラ300を構成すればよい。メモリコントローラ300には、DIMM302から信号を受信する手段として信号受信部304が設置され、この信号受信部304にクロック信号を付与する手段としてクロックツリー部306が設置されている。クロックツリー部306及び信号受信部304はLSIで構成されている。する。
この場合、信号受信部304は、入力データの位相が変動する信号を受信し、DDRメモリインターフェイス回路の信号受信回路を構成する。この信号受信部304には、FF回路308、310、312、314、316、DL318、320、出力バッファ322、入力バッファ324、326が備えられている。クロックツリー部306は、クロックツリー部306はLSI内部クロック回路部を構成し、インバータ328、330、332、334、336、338、340を備えている。DIMM302には入力バッファ342、出力バッファ344が備えられている。
そこで、信号受信部304は、クロックツリー部306で生成されたCLK信号を受け、CK信号CK0を生成してDIMM302に送信する。DIMM302は、CK信号からDQS信号を生成し、DQ信号とともに信号受信部304に送り返す。信号受信部304では、DQS信号を使ってDQ信号をリタイミングし、さらに内部クロックに乗り換える。このとき、受信点のラッチで確実にデータを受信するためには、内部クロックと受信データとのタイミング関係が一定の範囲内であることが要求される。
信号受信部304で考えられる遅延ばらつきの要因には、図26に示すように、種々のものが含まれる。これらの要因を全て考慮した場合を想定する。この場合、信号受信点は、DL318の出力側にあるFF310の入力部を想定している(図25)。伝送路長が0〔mm〕であったとしても、信号受信部304を構成するLSI内の受信点ラッチのクロック基準で見れば、受信データは982〔ps〕〜4,156〔ps〕の遅延ばらつきを持つことになる。この幅(3,174〔ps〕)は、クロック周期よりも長く、さらにデータ幅よりも長い(1〔GT/s〕伝送の場合、データ幅は1,000〔ps〕)。遅延ばらつきは製造要因のみではなく、環境要因(電源電圧や装置温度)を含むため、稼働中にも受信データ位相はふらつく(=ジッタ)ことである。
ところで、DDRインターフェイスでは、図27に示すように、DIMM302を構成するDRAM351、352、353、354に対して等長スター配線によりCK信号が付与されてきた。これに対し、DDR3インターフェイスでは、新たにFly by配線(図28)というクロック配線手法が採用された。このFly by配線は、図28に示すように、DIMM302のDRAM351、352、353、354に対して順次にCK信号を付与している。このFly by配線では、信号の波形品質という面では改善が図られたことになる。しかしながら、データ送受信タイミングがDQSグループ間で一致しない。Fly by配線によるクロック遅延のばらつきは、最大で1000〔ps〕程度が見込まれ、この遅延は、信号伝送速度と比較し、無視できない大きさである。
データ送信時のCK信号とDQS信号とのタイミング不一致に関し、JEDEC(Joint Electron Devices Engineering Council)規格にはWrite Levelingとして、そのばらつき吸収手段が規定されている。しかし、信号受信時のタイミング不一致に関する規定はない。
本開示の信号復元回路、メモリコントローラ、プロセッサ、コンピュータ又は信号復元方法は、DDR3インターフェイス等の既述の遅延ばらつきを吸収とともにDRAM間のデータレイテンシの調整により、データタイミングを一致させる仕組みを提案している。上記実施の形態では、既述した課題を解決している。
以上述べたように、本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法は、上記記載に限定されるものではない。特許請求の範囲に記載され、又は発明を実施するための形態に開示された要旨に基づき、当業者において様々な変形や変更が可能であることは勿論である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法は、信号受信に関し、回路上の遅延ばらつきを抑制し、受信データのレイテンシを揃えることができ、実用性の高いメモリコントローラ等を提供するものであり、有用である。
2A、2B、2C、2D、2E 信号復元回路
4 記憶部
6 記憶制御部
28 信号受信部
64 レイテンシ調整回路
70 演算装置
4 記憶部
6 記憶制御部
28 信号受信部
64 レイテンシ調整回路
70 演算装置
Claims (11)
- 入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な記憶部と、
前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御する記憶制御部と、
を備えることを特徴とする信号復元回路。 - 前記記憶制御部は、前記入力信号の遅延量が大きい場合には、前記遅延時間を減少させ、前記入力信号の遅延量が小さい場合には、前記遅延時間を増加させることを特徴とする、請求項1に記載の信号復元回路。
- 前記記憶制御部は、前記入力信号の遅延情報を受け、前記記憶部から前記遅延情報に従って前記入力信号を配列順に読み出すとともに、該遅延情報が一定の場合には前記入力信号を前記入力順に記憶させ、前記遅延情報が遷移した場合にはその遷移に応じて前記配列中の位置を選択し、該位置に前記入力信号を記憶させることを特徴とする、請求項1に記載の信号復元回路。
- 前記記憶部は、先入れ先出し(FIFO)が可能な回路であって、該回路が2以上のフリップフロップで構成し、隣り合う2つのフリップフロップに同一データを入力することを特徴とする、請求項1に記載の信号復元回路。
- 請求項1ないし請求項4の何れかの請求項に記載の信号復元回路をメモリデバイス毎に備え、各メモリデバイスリードデータのレイテンシを前記信号復元回路を用いてレイテンシを調整することを特徴とするレイテンシ調整回路。
- 請求項1ないし請求項4のいずれかの請求項に記載の信号復元回路又は請求項5に記載のレイテンシ調整回路を備えることを特徴とするメモリコントローラ。
- 請求項1ないし請求項4のいずれかの請求項に記載の信号復元回路、請求項5に記載のレイテンシ調整回路又は請求項6に記載のメモリコントローラを備えることを特徴とするプロセッサ。
- 請求項1ないし請求項4のいずれかの請求項に記載の信号復元回路、請求項5に記載のレイテンシ調整回路、請求項6に記載のメモリコントローラ又は請求項7に記載のプロセッサを備えることを特徴とするコンピュータ。
- 入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な記憶部に、前記入力信号を前記入力順に記憶するステップと、
前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御するステップと、
を含むことを特徴とする信号復元方法。 - 前記入力信号の前記遅延情報を受け、前記記憶部から前記入力信号を前記遅延情報に従って配列順に読み出すステップと、
前記遅延情報が一定の場合には前記入力信号を前記入力順に記憶させ、前記遅延情報が遷移した場合にはその遷移に応じて前記配列中の位置を選択し、該位置に前記入力信号を記憶させるステップと、
を含むことを特徴とする、請求項9に記載の信号復元方法。 - 請求項9又は10に記載の信号復元方法を含み、各メモリデバイスリードデータのレイテンシを調整することを特徴とするレイテンシ調整方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2009/071686 WO2011077574A1 (ja) | 2009-12-25 | 2009-12-25 | 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2011077574A1 JPWO2011077574A1 (ja) | 2013-05-02 |
JP5331902B2 true JP5331902B2 (ja) | 2013-10-30 |
Family
ID=44195134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011547183A Active JP5331902B2 (ja) | 2009-12-25 | 2009-12-25 | 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US8788780B2 (ja) |
EP (1) | EP2518630A4 (ja) |
JP (1) | JP5331902B2 (ja) |
KR (1) | KR20120085824A (ja) |
CN (1) | CN102667731A (ja) |
WO (1) | WO2011077574A1 (ja) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5807952B2 (ja) * | 2011-09-06 | 2015-11-10 | Necプラットフォームズ株式会社 | メモリコントローラ及びメモリ制御方法 |
WO2013042233A1 (ja) | 2011-09-21 | 2013-03-28 | 富士通株式会社 | 半導体装置 |
US8971471B2 (en) * | 2011-12-07 | 2015-03-03 | Imagine Communications Corp. | Predictable coding delay over communications networks |
KR101519719B1 (ko) | 2013-08-14 | 2015-05-12 | 현대자동차주식회사 | 게이트웨이의 메시지 처리 방법 |
WO2015065426A1 (en) | 2013-10-31 | 2015-05-07 | Hewlett-Packard Development Company, L.P. | Memory access for busy memory |
JP6273856B2 (ja) * | 2014-01-24 | 2018-02-07 | 富士通株式会社 | メモリコントローラ及び情報処理装置 |
CN106897234B (zh) * | 2016-09-23 | 2019-07-30 | 常州新智源电子科技有限公司 | 一种处理器以及处理器内置存储器的控制方法 |
US10592442B2 (en) * | 2017-12-11 | 2020-03-17 | Advanced Micro Devices, Inc. | Asynchronous buffer with pointer offsets |
CN108665922B (zh) * | 2018-04-24 | 2021-09-24 | 电子科技大学 | 一种应用于雷达模拟的可变双向数字延迟方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05258589A (ja) * | 1992-03-10 | 1993-10-08 | Fujitsu General Ltd | 可変長シフトレジスタ |
JPH10190639A (ja) * | 1996-12-20 | 1998-07-21 | Matsushita Electric Ind Co Ltd | クロック乗せ替え回路 |
JP2009076991A (ja) * | 2007-09-18 | 2009-04-09 | Fujitsu Ltd | 可変遅延回路,遅延時間制御方法および単位回路 |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5084839A (en) * | 1990-02-05 | 1992-01-28 | Harris Corporation | Variable length shift register |
JP3184688B2 (ja) | 1993-12-10 | 2001-07-09 | キヤノン株式会社 | 光学的情報再生装置 |
US6243797B1 (en) | 1997-02-18 | 2001-06-05 | Micron Technlogy, Inc. | Multiplexed semiconductor data transfer arrangement with timing signal generator |
JP3758285B2 (ja) * | 1997-03-17 | 2006-03-22 | ソニー株式会社 | 遅延回路およびそれを用いた発振回路 |
JP3929116B2 (ja) | 1997-07-04 | 2007-06-13 | 富士通株式会社 | メモリサブシステム |
JPH11167515A (ja) | 1997-10-03 | 1999-06-22 | Matsushita Electric Ind Co Ltd | データ伝送装置及びデータ伝送方法 |
US6356485B1 (en) * | 1999-02-13 | 2002-03-12 | Integrated Device Technology, Inc. | Merging write cycles by comparing at least a portion of the respective write cycle addresses |
JP2003050739A (ja) | 2001-08-06 | 2003-02-21 | Matsushita Electric Ind Co Ltd | メモリ制御装置 |
JP2003099321A (ja) | 2001-09-21 | 2003-04-04 | Ricoh Co Ltd | メモリ制御装置 |
DE10345236B3 (de) * | 2003-09-29 | 2005-03-10 | Infineon Technologies Ag | Verzögerungsregelkreis |
WO2005106888A1 (en) | 2004-04-29 | 2005-11-10 | Koninklijke Philips Electronics N.V. | Multiple data rate ram memory controller |
JP4099470B2 (ja) | 2004-10-08 | 2008-06-11 | 富士通株式会社 | メモリコントローラ |
US7298188B2 (en) | 2004-04-30 | 2007-11-20 | Fujitsu Limited | Timing adjustment circuit and memory controller |
JP2007164697A (ja) | 2005-12-16 | 2007-06-28 | Shinko Electric Ind Co Ltd | 半導体集積回路およびメモリシステム並びにクロック信号設定方法 |
WO2007086500A1 (ja) * | 2006-01-26 | 2007-08-02 | Nec Corporation | 入力回路及び該入力回路を備える半導体集積回路 |
JP2008071018A (ja) | 2006-09-13 | 2008-03-27 | Matsushita Electric Ind Co Ltd | メモリインターフェース回路 |
-
2009
- 2009-12-25 WO PCT/JP2009/071686 patent/WO2011077574A1/ja active Application Filing
- 2009-12-25 CN CN2009801625337A patent/CN102667731A/zh active Pending
- 2009-12-25 JP JP2011547183A patent/JP5331902B2/ja active Active
- 2009-12-25 KR KR1020127013046A patent/KR20120085824A/ko not_active Application Discontinuation
- 2009-12-25 EP EP09852589A patent/EP2518630A4/en not_active Withdrawn
-
2012
- 2012-05-16 US US13/472,575 patent/US8788780B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH05258589A (ja) * | 1992-03-10 | 1993-10-08 | Fujitsu General Ltd | 可変長シフトレジスタ |
JPH10190639A (ja) * | 1996-12-20 | 1998-07-21 | Matsushita Electric Ind Co Ltd | クロック乗せ替え回路 |
JP2009076991A (ja) * | 2007-09-18 | 2009-04-09 | Fujitsu Ltd | 可変遅延回路,遅延時間制御方法および単位回路 |
Also Published As
Publication number | Publication date |
---|---|
JPWO2011077574A1 (ja) | 2013-05-02 |
EP2518630A4 (en) | 2013-01-23 |
WO2011077574A1 (ja) | 2011-06-30 |
CN102667731A (zh) | 2012-09-12 |
US20120226884A1 (en) | 2012-09-06 |
US8788780B2 (en) | 2014-07-22 |
KR20120085824A (ko) | 2012-08-01 |
EP2518630A1 (en) | 2012-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5331902B2 (ja) | 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 | |
JP5537568B2 (ja) | 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法 | |
JP4878215B2 (ja) | インタフェース回路及びメモリ制御装置 | |
US7590008B1 (en) | PVT compensated auto-calibration scheme for DDR3 | |
JP4921888B2 (ja) | インターフェース回路 | |
US7672191B2 (en) | Data output control circuit | |
US20120106264A1 (en) | Write-leveling implementation in programmable logic devices | |
US7499370B2 (en) | Synchronous semiconductor memory device | |
EP1903446A1 (en) | Apparatus and method for controlling a memory interface | |
JP5653177B2 (ja) | メモリインターフェース回路及び半導体装置 | |
US9570130B2 (en) | Memory system and memory physical layer interface circuit | |
US20070097778A1 (en) | System and method for controlling timing of output signals | |
JP2010182149A (ja) | メモリ制御装置、及びメモリ制御方法 | |
US8209560B2 (en) | Transmission system where a first device generates information for controlling transmission and latch timing for a second device | |
JP4959264B2 (ja) | メモリ制御装置 | |
KR20090071893A (ko) | 반도체 메모리 장치의 데이터 입력 회로 및 그 제어 방법 | |
JP5005928B2 (ja) | インタフェース回路及びそのインタフェース回路を備えた記憶制御装置 | |
US8976619B2 (en) | Semiconductor apparatus | |
JP5113433B2 (ja) | メモリコントローラ | |
JP2012027734A (ja) | メモリコントローラおよびメモリアクセスシステム | |
JP2010079520A (ja) | メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法 | |
JP2008225956A (ja) | 半導体集積回路装置およびタイミング調整方法 | |
JP2006065470A (ja) | メモリ制御方法および装置 | |
JP2012168754A (ja) | メモリインタフェース回路 | |
JP2011170771A (ja) | 半導体集積回路及びそのタイミング調整方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
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: 20130723 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130729 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5331902 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |