JP5369430B2 - 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム - Google Patents

可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム Download PDF

Info

Publication number
JP5369430B2
JP5369430B2 JP2007300818A JP2007300818A JP5369430B2 JP 5369430 B2 JP5369430 B2 JP 5369430B2 JP 2007300818 A JP2007300818 A JP 2007300818A JP 2007300818 A JP2007300818 A JP 2007300818A JP 5369430 B2 JP5369430 B2 JP 5369430B2
Authority
JP
Japan
Prior art keywords
delay amount
output
input
signal
delay
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
JP2007300818A
Other languages
English (en)
Other versions
JP2009130455A (ja
Inventor
学 山▲崎▼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2007300818A priority Critical patent/JP5369430B2/ja
Priority to US12/195,914 priority patent/US7957210B2/en
Priority to TW097132372A priority patent/TWI389136B/zh
Priority to EP08163124A priority patent/EP2065894B1/en
Priority to DE602008003508T priority patent/DE602008003508D1/de
Priority to KR1020080092358A priority patent/KR101082748B1/ko
Priority to CN2008101492510A priority patent/CN101442301B/zh
Publication of JP2009130455A publication Critical patent/JP2009130455A/ja
Application granted granted Critical
Publication of JP5369430B2 publication Critical patent/JP5369430B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • G06F13/1689Synchronisation and timing concerns
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4093Input/output [I/O] data interface arrangements, e.g. data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital 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/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/409Read-write [R-W] circuits 
    • G11C11/4096Input/output [I/O] data management or control circuits, e.g. reading or writing circuits, I/O drivers or bit-line switches 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/56Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency
    • G11C11/5621Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using storage elements with more than two stable states represented by steps, e.g. of voltage, current, phase, frequency using charge storage in a floating gate
    • 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 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Dram (AREA)
  • Pulse Circuits (AREA)
  • Memory System (AREA)
  • Information Transfer Systems (AREA)

Description

本発明は、信号が入力されてから出力するまでの遅延量を制御する技術に関する。
近年のメモリインタフェイスにおいては、JEDEC(Joint Electron Device Engineering Council)で規格化されたDDR3(Double Data Rate 3)メモリインタフェイス等のように年々高速化が進んでいる。
このようなメモリインタフェイスを設計する場合には、DLL(Delay Locked Loop)が必須となり、このDLLの内部には、信号が入力されてから出力するまでの遅延量を変更可能な可変遅延回路が用いられている(例えば、下記特許文献1参照)。
図14は従来の可変遅延回路の構成例を模式的に示す図であり、複数(図14に示す例では10個)の遅延素子91−1〜91−10を直列に接続して構成された従来の可変遅延回路90において、信号の遅延量を変更する手法を説明するための図である。
なお、以下、遅延素子を示す符号としては、複数の遅延素子のうち1つを特定する必要があるときは符号91−1〜91−10を用いるが、任意の遅延素子を指すときには符号91を用いる。
そして、従来の可変遅延回路90は、各遅延素子91−1〜91−10の各制御信号入力端子CONTに入力される制御信号に基づいて、最前段の遅延素子91−1に入力された信号が通過する遅延素子91の数を増減させることにより、信号が入力されてから出力するまでの遅延量を変更しうるようになっている。
例えば、図14に示すように、遅延素子91−8に対して制御信号としてその制御信号入力端子CONTにHigh信号(図14の符号“H”参照)が入力されるとともに、遅延素子91−8以外の各遅延素子91−1〜91−7,91−9,91−10に対して制御信号として各制御信号入力端子CONTにLow信号(図14の符号“L”参照)が入力された場合には、最前段の遅延素子91−1から入力された信号が(図14の符号“IN”参照)、複数の遅延素子91−2〜91−7を遅延素子91−2から遅延素子91−7にかけて順次通過して、遅延素子91−8で折り返されて、複数の遅延素子91−2〜91−7を、今度は、遅延素子91−7から遅延素子91−2にかけて順次通過して、最前段の遅延素子91−1から出力される(図14の符号“OUT”参照)。
このように、従来の可変遅延回路においては、信号が入力されてから出力するまでの遅延量を、信号が通過(伝搬)する遅延素子の数の増減によって変化させるようになっている。
特開2005−286467号公報
しかしながら、上述した可変遅延回路90を用いて遅延量を設定する場合においては、大きな遅延量を設定したり、小刻みに遅延量を設定したりするためには、大量の遅延素子91が必要となり、回路規模が増大することになる。
そして、遅延量を設定すべきデータ信号線の本数が多い場合や、複数のメモリインタフェイスを1のチップに集約したい場合等のように、上述した可変遅延回路90の数が多くなると、回路規模がより増大し、製造コストが嵩む場合もある。
さらに、大量の遅延素子91を制御する必要があることから、消費電力が増加するだけでなく、同時スイッチングノイズが増大することも懸念される。
本発明は、このような課題に鑑み創案されたもので、回路規模を抑えつつ、広範囲の遅延量を高精度に設定することを目的とする。
上記目的を達成するために、開示の可変遅延回路は、信号を第1遅延量だけ遅延させる第1遅延部と、遅延量に基づき入力される第1選択信号に従って、複数種類のタイミング信号のうちのいずれかを選択する選択回路と、選択回路により選択されたタイミング信号に応じて、信号を第1遅延量よりも大きい第2遅延量だけ遅延させる順序回路とをそなえる第2遅延部と、入力される第2選択信号に従って、遅延量が第1遅延部で遅延可能な最大遅延量を超える場合に、遅延量が第1遅延量と第2遅延量との和になる信号経路を選択する遅延量選択部とをそなえている。
また、開示のメモリ制御回路は、ライトレベリング機能をそなえ、複数のメモリに対して制御を行なうメモリ制御回路であって、複数のメモリに対応してそれぞれ、メモリに出力するデータストローブ出力信号を、ライトレベリング機能を用いて設定された出力遅延量だけ遅延させる出力用可変遅延回路をそなえ、この出力用可変遅延回路が、データストローブ出力信号を第1出力遅延量だけ遅延させる第1出力遅延部と、出力遅延量に基づき入力される第1選択信号に従って、複数種類のタイミング信号のうちのいずれかを選択する出力用選択回路と、出力用選択回路により選択されたタイミング信号に応じて、データストローブ出力信号を第1遅延量よりも大きい第2出力遅延量だけ遅延させる出力用順序回路とをそなえる第2出力遅延部と、入力される第2選択信号に従って、出力遅延量が第1出力遅延部で遅延可能な最大出力遅延量を超える場合に、出力遅延量が第1出力遅延量と第2出力遅延量との和になる信号経路を選択する出力遅延量選択部とをそなえている。
さらに、開示のメモリ制御回路は、ライトレベリング機能をそなえ、複数のメモリに対して制御を行なうメモリ制御回路であって、複数のメモリに対応してそれぞれ、メモリから入力されるデータ入力信号を、ライトレベリング機能を用いて設定されたメモリに出力するデータストローブ出力信号の出力遅延量に応じて設定された入力遅延量だけ遅延させる入力用可変遅延回路をそなえ、この入力用可変遅延回路が、データ入力信号を第1入力遅延量だけ遅延させる第1入力遅延部と、入力遅延量に基づき入力される第1選択信号に従って、複数種類のタイミング信号のうちのいずれかを選択する入力用選択回路と、入力用選択回路により選択されたタイミング信号に応じて、データ入力信号を第1遅延量よりも大きい第2入力遅延量だけ遅延させる入力用順序回路とをそなえる第2入力遅延部と、入力される第2選択信号に従って、入力遅延量が第1入力遅延部で遅延可能な最大入力遅延量を超える場合に、入力遅延量が第1入力遅延量と第2入力遅延量との和になる信号経路を選択する入力遅延量選択部とをそなえている。
そして、開示の遅延量設定装置は、上述したメモリ制御回路の出力遅延量を、複数のメモリに対応してそれぞれ設定する遅延量設定装置であって、一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定部をそなえている。
また、開示の遅延量設定方法は、上述したメモリ制御回路の出力遅延量を、複数のメモリに対応してそれぞれ設定する遅延量設定方法であって、一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定ステップをそなえている。
さらに、開示の遅延量設定プログラムは、上述したメモリ制御回路の出力遅延量を、複数のメモリに対応してそれぞれ設定する遅延量設定機能をコンピュータに実行させるための遅延量設定プログラムであって、一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定部としてコンピュータを機能させるようになっている。
開示の技術によれば、以下の少なくともいずれか1つの効果ないし利点がある。
(1)回路規模を小さくできる。
(2)広範囲の遅延量を高精度に設定できる。
(3)消費電力を低減することができる。
(4)同時スイッチングノイズを低減することができる。
〔1〕本発明の第1実施形態の説明
以下、図面を参照しながら本発明の第1実施形態について説明する。
図1は本発明の第1実施形態としての可変遅延回路の構成例を模式的に示す図、図2はその動作を説明するためのタイミングチャートである。
本発明の第1実施形態に係る可変遅延回路100は、信号が入力されてから出力するまでの遅延量TDLを変更可能なものであって、図1に示すように、第1遅延回路(第1遅延部)101,第2遅延回路(第2遅延部)102およびセレクタ(遅延量選択部)103をそなえた回路として構成されている。
第1遅延回路101は、入力された信号を第1遅延量(第1遅延時間)DL1だけ遅延させるものであって、例えば、設定すべき遅延量TDLに基づき入力される遅延制御信号SELdlyに基づいて、後述するセレクタ103から入力された信号INselを、直列に接続された所定数の遅延素子(図示省略)に通過させることにより第1遅延量DL1だけ遅延させてデータ出力信号OUTとして出力するデジタル遅延回路で構成されている。なお、デジタル遅延回路は既知であるため、その詳細な説明を省略する。
また、第1遅延量DL1には、第1遅延回路101を構成する遅延素子の総数に対応する最大遅延量MDLを上限として、信号INselを通過させる遅延素子の数が設定される。
そして、この第1遅延回路101では、信号INselを通過させる遅延素子の数を段階的に変更して第1遅延量DL1を設定可能に構成されており、例えば、第1遅延回路101が8個の遅延素子で構成されている場合には、8段階の第1遅延量DL1を設定可能に構成されている。
第2遅延回路102は、入力された信号を第1遅延量DL1よりも大きい第2遅延量(第2遅延時間)DL2だけ遅延させるものであって、例えば、セレクタ(選択回路)104およびDフリップフロップ(順序回路)105をそなえて構成されている。
セレクタ104は、位相が異なる複数((m+1)個;但し、mは1以上の自然数)種類のタイミング信号TS0〜TSmが入力され、設定すべき遅延量TDLに基づいて、これらの入力された複数種類のタイミング信号TS0〜TSmのうちのいずれかを選択するものである。
また、これらの複数種類のタイミング信号TS0〜TSmは、互いに同じ波形(波長と振幅)を有し、第0タイミング信号TS0から第mタイミング信号TSmにかけて第1遅延回路101の最大遅延量MDLよりも大きい間隔で順次遅延してセレクタ104に入力されるようになっている。
例えば、本実施形態においては、複数種類のタイミング信号TS0〜TSmは、第0タイミング信号TS0から第mタイミング信号TSmにかけて位相αで順次遅延してセレクタ104に入力されるようになっている。そして、位相αとタイミング信号の個数m+1との間では、m+1=360/αの関係式が成立する。本実施形態においては、α=90°の例について説明するものであり、m+1=360/90であることから、m=3となる。
従って、セレクタ104は、例えば、設定すべき遅延量TDLに基づき入力される第1選択信号SELtsに基づいて、位相が異なる複数のタイミング信号TS0〜TSmの中から一のタイミング信号を選択し、選択タイミング信号TSsel(CLKノード)として出力するようになっている。
Dフリップフロップ105は、セレクタ104により選択された選択タイミング信号TSselに応じて、入力された信号を第2遅延量DL2だけ遅延させるものであって、例えば、セレクタ104から入力される選択タイミング信号TSselの立上り(もしくは立下り)エッジに同期して、データ入力信号INを信号tdINとして出力するようになっている。そして、Dフリップフロップ105は、セレクタ104から入力される選択タイミング信号TSselの次の立上り(もしくは立下り)エッジが現れるまで、信号tdINの値を保持するようになっている。
セレクタ103は、設定すべき遅延量TDLと第1遅延回路101で遅延可能な最大遅延量MDLとに基づき入力される第2選択信号SELinに基づいて、信号の経路を選択するものである。
本実施形態においては、セレクタ103は、例えば、遅延量TDLが最大遅延量MDLを超えない場合には、データ入力信号INを信号INselとして第1遅延回路101に出力する経路を選択し、遅延量TDLが最大遅延量MDLを超える場合には、Dフリップフロップ105から入力される信号tdINを信号INselとして第1遅延回路101に出力する経路を選択するようになっている。
即ち、本実施形態においては、セレクタ103は、遅延量TDLが最大遅延量MDLを超えない場合には、遅延量TDLが第1遅延量DL1になる信号の経路を選択し、遅延量TDLが最大遅延量MDLを超える場合には、遅延量TDLが第1遅延量DL1と第2遅延量DL2との和になる信号の経路を選択するのである。
なお、上述したセレクタ103およびセレクタ104においては、出力信号にグリッジが生じることが懸念されるが、例えば、トレーニング期間を設けてその期間中の送受信データを無効としたり、グリッジが出ないように第1選択信号SELtsや第2選択信号SELinの切替タイミングを考慮して設計したりすることにより、グリッジによる影響を回避することができる。
上述の如く構成された本発明の第1実施形態に係る可変遅延回路100における、選択タイミング信号TSselとして第2タイミング信号TS2を選択した場合の動作について、図2を参照しながら説明する。なお、以下、α=90°の例について示す。
セレクタ104には、第0タイミング信号TS0がData0としてのデータ入力信号INと同じもしくはほぼ同じタイミングで入力され(図2の時間“A1”参照)、第1タイミング信号TS1が第0タイミング信号TS0から位相をα遅延させた状態(タイミング)で入力され(図2の時間“A2”参照)、以下同様に、第2タイミング信号TS2〜第mタイミング信号TSmが、第2タイミング信号TS2から第mタイミング信号TSmにかけて位相をαずつ順次遅延させた状態でそれぞれ入力されている(図2の時間“A3”および“A5”参照)。
この状態において、セレクタ104は、第1選択信号SELtsに基づいて、第2タイミング信号TS2を選択しているので(図2の符号“SELts”参照)、Dフリップフロップ105には、選択タイミング信号TSselが第2タイミング信号TS2の立ち上がりに合わせたタイミングで入力される(図2の時間“A3”,“A7”,“A10”および“A13”参照)。
Dフリップフロップ105は、Data0がデータ入力信号INとして入力され、選択タイミング信号TSselが第2タイミング信号TS2の立ち上がりに合わせたタイミングで入力されると、信号tdINを出力する(図2の時間“A3”参照)。即ち、Dフリップフロップ105は、Data0がデータ入力信号INとして入力されてから第2遅延量DL2(図2の時間“A1”〜“A3”参照)だけ遅延して信号tdINを出力する。
そして、セレクタ103は、第2選択信号SELinに基づいて(図2の符号“SELin”参照)、その立ち上がりのタイミングでDフリップフロップ105から入力された信号tdINを信号INselとして第1遅延回路101に出力し(図2の時間“A3”参照)、第1遅延回路101は、遅延制御信号SELdlyに基づいて、信号INselを第1遅延量DL1だけ遅延させてデータ出力信号OUTとして出力する(図2の時間“A4”参照)。
以下、同様に、Data1〜Data3のそれぞれについて、Dフリップフロップ105は、Data1〜Data3としてのデータ入力信号INが入力されてから(図2の時間“A6”,“A9”および“A12”参照)第2遅延量DL2だけ遅延して信号tdINを出力し(図2の時間“A7”,“A10”および“A13”参照)、第1遅延回路101は、Data1〜Data3に対応する各信号INselを第1遅延量DL1だけ遅延させてデータ出力信号OUTとして出力する(図2の時間“A8”,“A11”および“A14”参照)。
これにより、Data0〜Data3は、第1遅延量DL1と第2遅延量DL2との和になる遅延量TDLだけ遅延してデータ出力信号OUTとして出力されるのである。
このように、本発明の第1実施形態としての可変遅延回路100によれば、位相が異なる複数のタイミング信号TS0〜TSmを第1遅延回路101の最大遅延量MDLよりも大きい間隔で順次遅延してセレクタ104に入力することにより、大きい間隔で第2遅延量DL2を設定した後に、小さい間隔で第1遅延量DL1を設定することができるので、広範囲の遅延量TDLを高精度に設定でき、利便性が向上する。又、第1遅延回路101だけで遅延量TDLを設定する場合に比べて、第1遅延回路101の遅延素子の数を削減することができる。従って、回路規模を抑えつつ、広範囲の遅延量TDLを高精度に設定できる。
また、セレクタ104にて複数のタイミング信号TS0〜TSmの中から一のタイミング信号を選択し、セレクタ104にて選択したタイミング信号の立ち上がりに合わせて信号INを第2遅延量DL2だけ遅延させることにより、大量の遅延素子を設ける必要がなくなり、これにより、消費電力を低減するとともに、同時スイッチングノイズを低減することができる。
〔2〕本発明の第2実施形態の説明
図3および図4は本発明の第2実施形態としての情報処理装置の構成例を模式的に示す図であり、図3はメモリコントローラとDIMMとの関係を示す図、図4は処理部とメモリコントローラとDIMMとの関係を示す図である。又、図5および図6はそのメモリコントローラの回路構成例を模式的に示す図である。
本発明の第2実施形態に係る情報処理装置(遅延量設定装置)10aは、図3および図4に示すように、DIMM(Dual Inline Memory Module)11,メモリコントローラ(メモリ制御回路)12および処理部13(図4参照)をそなえたコンピュータとして構成されている。
DIMM11は、複数のメモリを搭載したメモリモジュールであって、本実施形態においては、図3および図4に示すように、複数(n+1個;nは1以上の自然数)のSDRAM(Synchronous DRAM;メモリ)300−0〜300−nをそなえて構成されている。又、n+1はch(チャンネル)の数を示しており、以下、図中においては、便宜上、一部のSDRAM(例えば、SDRAM300−0とSDRAM300−n)のみを示している。なお、SDRAMは既知の技術であり、その詳細な説明を省略する。
また、以下、SDRAMを示す符号としては、複数のSDRAMのうち1つを特定する必要があるときは符号300−0〜300−nを用いるが、任意のSDRAMを指すときには符号300を用いる。
そして、本実施形態においては、メモリコントローラ12と複数のSDRAM300−0〜300−nとの一部の配線にフライバイトポロジが採用されている。
フライバイトポロジとは、図3に示すように、メモリコントローラ12と複数のSDRAM300−0〜300−nとをデイジーチェーンで配線することをいう。
従って、本実施形態においては、後述する第1クロック信号生成部14によって生成されるクロック信号CK1を出力(供給)するためのクロック信号線がSDRAM300−0〜300−nに対してデイジーチェーンで配線されており、図3および図4に示すように、第1クロック信号生成部14(図4参照)に接続されたクロック信号線が、SDRAM300−0からSDRAM300−nにかけて数珠つなぎに接続されている。又、アドレス信号Addおよびコマンド信号CMDを出力するための信号線についても、クロック信号線と同様に、SDRAM300−0〜300−nに対してデイジーチェーンで配線されている。
そして、メモリコントローラ12と複数のSDRAM300−0〜300−nとの間をつなぐデータ信号線は、メモリコントローラ12から複数のSDRAM300−0〜300−nのそれぞれに並列に接続されており、図4に示す例では、各SDRAM300には、メモリコントローラ12から、データストローブ信号DQSを伝送するための1本のDQS信号線(データ信号線)とデータ信号DQを伝送するためのk+1本(kは1以上の自然数)のDQ信号線(データ信号線)とがそれぞれ並列に接続されており、又、複数のSDRAM300−0〜300−nにおいては、これらのデータ信号線は互いに等しい線長(等長)に構成されている。即ち、メモリコントローラ12と複数のSDRAM300−0〜300−nとの間をつなぐ複数のデータ信号線は、等長接続されている。
なお、図4〜6においては、便宜上、クロック信号線とアドレス信号Addおよびコマンド信号CMDを出力するための信号線(例えば、図4の符号“Add”および“CMD”参照)とがDIMM11の端部付近(紙面上部)において接続されていることを示しているが、実際には、図3に示すように、これらの信号線がDIMM11の中央部(紙面中央)に接続されているものとする。
メモリコントローラ12は、クロック信号線がデイジーチェーンで接続された複数のSDRAM300−0〜300−nに対して、クロック信号線を介してクロック信号CK1を供給することにより、リード(read)/ライト(write)動作の制御を行なうDDR3(Double Data Rate 3)メモリインタフェイスであって、例えば、図4に示すように、第1クロック信号生成部14および複数の制御回路ユニット15−0〜15−nをそなえて構成されている。
また、メモリコントローラ12は、ライトレベリング機能をそなえている。なお、このライトレベリング機能の詳細については後述する。
複数の制御回路ユニット15−0〜15−nは、上述した複数のSDRAM300−0〜300−nのそれぞれに対応して構成されている。即ち、メモリコントローラ12は、例えば、図4に示すように、SDRAM300−0に対応する制御回路ユニット15−0や、SDRAM300−nに対応する制御回路ユニット15−nをそなえて構成されている。
なお、以下、制御回路ユニットを示す符号としては、複数の制御回路ユニットのうち1つを特定する必要があるときは符号15の後に“−(ハイフン)”とともに符号0〜nを用いるが、任意の制御回路ユニットを指すときには符号15を用いる。
また、図中においては、便宜上、制御回路ユニット15−0と制御回路ユニット15−nのみを示している。
第1クロック信号生成部14は、後述する処理部13から入力されるクロック信号CLKに基づいて所定周期のクロック信号CK1を生成・出力するものであって、例えば、図5および図6に示すように、クロック信号線(図5および図6の符号“CK1”参照)を介してDIMM11(SDRAM300−0〜300−n)に出力するとともに、複数の制御回路ユニット15−0〜15−nのそれぞれにも出力するようになっている。この第1クロック信号生成部14は、クロック信号CLKと同じクロック周期のクロック信号をクロック信号CK1として出力してもよく、又、クロック信号CLKを1/2や1/4等の他のクロック周期に変換したクロック信号CK1を出力してもよい。
制御回路ユニット15は、データストローブ信号DQSやデータ信号DQの入出力を制御するものであって、例えば、図4〜図6に示すように、DQS信号生成部16,リード側DQS遅延回路DR0(図5,図6参照),複数(k+1個;kは1以上の自然数)のDQ信号制御部17−0〜17−kおよび論理和回路OR(図5,図6参照)をそなえて構成されている。
なお、以下、DQ信号制御部を示す符号としては、DQ信号制御部のうち1つを特定する必要があるときは符号17の後に“−(ハイフン)”とともに符号0〜kを用いるが、任意のDQ信号制御部を指すときには符号17を用いる。
また、図中においては、便宜上、DQ信号制御部17−0とDQ信号制御部17−kのみを示している。
DQS信号生成部16は、SDRAM300に出力するためのデータストローブ信号(データストローブ出力信号)DQSを生成するものであって、制御回路ユニット15に1つそなえられ、例えば、制御回路ユニット15−0においては、図5に示すように、データストローブ信号DQS−0を生成してSDRAM300−0に出力するようになっており、制御回路ユニット15−nにおいては、図6に示すように、データストローブ信号DQS−nを生成してSDRAM300−nに出力するようになっている。
なお、以下、データストローブ信号を示す符号としては、複数のデータストローブ信号のうち1つを特定する必要があるときは符号DQS−0〜DQS−nを用いるが、任意のデータストローブ信号を指すときには符号DQSを用いる。
このDQS信号生成部16は、例えば、図5および図6に示すように、出力用可変遅延回路DW0,第2クロック信号生成部18およびフリップフロップFF0をそなえて構成されている。
出力用可変遅延回路DW0は、上述した第1実施形態に係る可変遅延回路100で構成されるものであって、後述する出力遅延量設定部23からの出力制御信号d1に基づいて、後述する処理部13から入力されたクロック信号CLK(図1の符号“IN”に相当)を、後述する出力遅延量設定部23によって設定された出力遅延量だけ遅延させて第2クロック信号生成部18に出力するようになっており(図1の符号“OUT”に相当)、これにより、出力用可変遅延回路DW0は、SDRAM300に出力するデータストローブ信号DQSを出力遅延量だけ遅延させるといえる。
なお、本実施形態においては、複数の制御回路ユニット15−0〜15−nに対してそれぞれ出力遅延量が設定されている。具体的には、制御回路ユニット15−0における出力用可変遅延回路DW0には出力遅延量Dt1−0が設定されており、同様に、制御回路ユニット15−nにおける出力用可変遅延回路DW0には出力遅延量Dt1−nが設定されている。
なお、以下、出力遅延量を示す符号としては、複数の出力遅延量のうち1つを特定する必要があるときは符号Dt1−0〜Dt1−nを用いるが、任意の出力遅延量を指すときには符号Dt1を用いる。
そして、本実施形態の出力用可変遅延回路DW0においては、出力制御信号d1が、上述した第1実施形態における遅延制御信号SELdly,第1選択信号SELtsおよび第2選択信号SELinに相当し、出力遅延量Dt1が、上述した第1実施形態における遅延量TDLに相当する。
また、本実施形態の出力用可変遅延回路DW0では、“0”〜“7”の8段階で第1遅延量DL1(上記第1実施形態参照)を設定可能な第1遅延回路(第1出力遅延部)101が用いられており、最大遅延量MDLが“7”となっている。
さらに、本実施形態の出力用可変遅延回路DW0には、第1クロック信号生成部14から取り出された(抽出された)複数のクロック信号CK1−0〜CK1−mが入力されるようになっており、これらの複数のクロック信号CK1−0〜CK1−mが、上述した第1実施形態における複数のタイミング信号TS0〜TSmに相当する。
なお、本実施形態においては、これらの複数のクロック信号CK1−0〜CK1−mは、第0クロック信号CK1−0から第mクロック信号CK1−mにかけてα(=90°)の位相で順次遅延するように、例えば、第1クロック信号生成部14における所定位置からそれぞれ取り出して出力用可変遅延回路DW0に入力されるようになっている。
なお、第1クロック信号生成部14から複数のクロック信号CK1−0〜CK1−mを取り出す手法については、既知の種々の手法を用いることができる。例えば、第1クロック信号生成部14が複数の遅延素子(図示省略)を直列に接続して構成された可変遅延回路である場合には、複数のクロック信号CK1−0〜CK1−mは、第0クロック信号CK1−0から第mクロック信号CK1−mにかけてα(=90°)の位相で順次遅延するように、各遅延素子の接点からそれぞれ取り出されて出力用可変遅延回路DW0に入力されるようになっている。このように、第1クロック信号生成部14を構成する遅延素子を設計時にマージンを持たせた数(段数)で作り込んでおき、第1クロック信号生成部14を構成する可変遅延回路(即ち、DLL(Delay Locked Loop)内で使用されている可変遅延回路)が出力用可変遅延回路DW0と同等の回路で構成されることにより、例えば、製造プロセスよるばらつき・電源電圧変動等の影響によって出力用可変遅延回路DW0の出力遅延量Dt1が変動したとしても、出力用可変遅延回路DW0において最大遅延量MDL(=α)となる条件を容易に求めることができる。
また、図中においては、便宜上、複数のクロック信号CK1−0〜CK1−mを符号CK1で示している。
従って、出力用可変遅延回路DW0は、データストローブ信号DQSを第1遅延量(第1出力遅延量)DL1だけ遅延させる第1遅延回路101と、データストローブ信号DQSを第1遅延量DL1よりも大きい第2遅延量(第2出力遅延量)DL2だけ遅延させる第2遅延回路(第2出力遅延部)102と、出力遅延量Dt1が第1遅延回路101で遅延可能な最大遅延量(最大出力遅延量)MDLを超える場合に、出力遅延量Dt1が第1遅延量DL1と第2遅延量DL2との和になる信号経路を選択するセレクタ(出力遅延量選択部)103とをそなえるのである(図1参照)。
そして、第2遅延回路102においては、セレクタ(出力用選択回路)104が、出力遅延量Dt1に基づいて、位相が異なる複数種類のクロック信号CK1−0〜CK1−mのうちのいずれかを選択し、Dフリップフロップ(出力用順序回路)105が、セレクタ104により選択されたタイミング信号に応じて、データストローブ信号DQSを第2遅延量DL2だけ遅延させるのである(図1参照)。
第2クロック信号生成部18は、後述する処理部13から入力されるクロック信号CLKに基づいてクロック信号CK2を生成・出力(供給)するものであって、例えば、図5および図6に示すように、クロック信号CLKが入力されると、所定周期のクロック信号CK2をフリップフロップFF0および後述するフリップフロップFF2に出力するようになっている。この第2クロック信号生成部18は、クロック信号CLKと同じクロック周期のクロック信号をクロック信号CK2として出力してもよく、又、クロック信号CLKを1/2や1/4等の他のクロック周期に変換したクロック信号CK2を出力してもよい。
フリップフロップFF0は、第2クロック信号生成部18から入力されたクロック信号CK2に基づいて、データストローブ信号DQSを生成して出力するものであって、例えば、図5および図6に示すように、クロック信号CK2が入力されると、データストローブ信号DQSを生成してSDRAM300に出力するようになっている。
リード側DQS遅延回路DR0は、SDRAM300から入力されたデータストローブ信号DQSを遅延させるものであって、例えば、SDRAM300から入力されたデータストローブ信号DQSを、直列に接続された所定数の遅延素子(図示省略)に通過させることにより遅延させるデジタル遅延回路で構成されており、この遅延させたデータストローブ信号DQSを後述するフリップフロップFF5およびフリップフロップFF7に出力するようになっている。
DQ信号制御部17は、データ信号DQの入出力を制御するものであって、例えば、図5および図6に示すように、DQ信号出力制御部19とDQ信号入力制御部20とをそなえて構成されている。具体的には、図5および図6に示すように、複数(n+1個)の制御回路ユニット15−0〜15−nのそれぞれにおいて、DQ信号制御部17−0には、DQ信号出力制御部19−0とDQ信号入力制御部20−0とがそなえられており、同様に、DQ信号制御部17−kには、DQ信号出力制御部19−kとDQ信号入力制御部20−kとがそなえられている。
なお、以下、DQ信号出力制御部を示す符号としては、複数(k+1個)のDQ信号出力制御部のうち1つを特定する必要があるときは符号19−0〜19−kを用いるが、任意のDQ信号出力制御部を指すときには符号19を用いる。又、以下、DQ信号入力制御部を示す符号としては、複数のDQ信号入力制御部のうち1つを特定する必要があるときは符号20−0〜20−kを用いるが、任意のDQ信号入力制御部を指すときには符号20を用いる。
DQ信号出力制御部19は、ライト動作時において、後述する処理部13から入力されたデータ信号DQをSDRAM300に出力する制御を行なうものであって、例えば、制御回路ユニット15−0においては、図5に示すように、複数(k+1個)のDQ信号出力制御部19−0〜19−kに対応してそれぞれ、後述する処理部13から入力された第1のデータ信号I_DQe-0 [0]または第2のデータ信号I_DQo-0 [0]をデータ信号DQ-0[0]としてSDRAM300−0に出力する制御を行なうようになっており、同様に、後述する処理部13から入力された第1のデータ信号I_DQe-0 [k]または第2のデータ信号I_DQo-0 [k]をデータ信号DQ-0[k]としてSDRAM300−0に出力する制御を行なうようになっている。
また、DQ信号出力制御部19は、例えば、制御回路ユニット15−nにおいては、図6に示すように、複数のDQ信号出力制御部19−0〜19−kに対応してそれぞれ、後述する処理部13から入力された第1のデータ信号I_DQe-n [0]または第2のデータ信号I_DQo-n [0]をデータ信号DQ-n[0]としてSDRAM300−nに出力する制御を行なうようになっており、同様に、後述する処理部13から入力された第1のデータ信号I_DQe-n [k]または第2のデータ信号I_DQo-n [k]をデータ信号DQ-n[k]としてSDRAM300−nに出力する制御を行なうようになっている。
なお、以下、第1のデータ信号を示す符号としては、複数の第1のデータ信号のうち1つを特定する必要があるときは符号I_DQe-0 [0]〜I_DQe-0 [k]や、符号I_DQe-n [0]〜I_DQe-n [k]を用いるが、任意の第1のデータ信号を指すときには符号I_DQeを用いる。又、以下、第2のデータ信号を示す符号としては、複数の第2のデータ信号のうち1つを特定する必要があるときは符号I_DQo-0 [0]〜I_DQo-0 [k]や、I_D Qo-n [0]〜I_DQo-n [k]を用いるが、任意の第2のデータ信号を指すときには符号I_DQoを用いる。
そして、以下、データ信号を示す場合において、第1のデータ信号および第2のデータ信号を特定する必要があるときは、第1のデータ信号を示す符号I_DQeおよびI_DQe-0 [0]〜I_DQe-0 [k], I_DQe-n [0]〜I_DQe-n [k]や、第2のデータ信号を示す符号I_DQoおよびI_DQo-0 [0]〜I_DQo-0 [k],I_DQo-n [0]〜I_DQo-n [k]を用いるが、第1のデータ信号および第2のデータ信号を特定する必要がないときは、SDRAM300−0〜SDRAM300−nのそれぞれに対応するデータ信号を示す符号DQ-0[0]〜DQ-0[k],DQ-n[0]〜DQ-n[k]を用い、更に、任意のデータ信号を指すときには符号DQを用いる。又、第1のデータ信号および第2のデータ信号を特定する必要がない場合において、便宜上、SDRAM300−0〜300−nのそれぞれに対応するデータ信号を示す符号DQ-0 [0]〜DQ-0 [k],DQ-n [0]〜DQ-n [k]に代えて符号DQ−0〜DQ−nを用いる場合もある。
即ち、SDRAM300−0に対応する第1のデータ信号I_DQe-0 [0]〜I_DQe-0 [k]が、第1のデータ信号I_DQe,データ信号DQ-0[0]〜DQ-0[k],データ信号DQ−0およびデータ信号DQに対応しており、SDRAM300−nに対応する第1のデータ信号I_DQe-n [0]〜I_DQe-n [k]が、第1のデータ信号I_DQe,データ信号DQ-n[0]〜DQ-n[k],データ信号DQ−nおよびデータ信号DQに対応している。又、SDRAM300−0に対応する第2のデータ信号I_DQo-0 [0]〜I_DQo-0 [k]が、第2のデータ信号I_DQo,データ信号DQ-0[0]〜DQ-0[k],データDQ−0およびデータ信号DQに対応しており、SDRAM300−nに対応する第2のデータ信号I_DQo-n [0]〜I_DQo-n [k]が、第2のデータ信号I_DQo,データ信号DQ-n[0]〜DQ-n[k],データDQ−nおよびデータ信号DQに対応している。
このDQ信号入力制御部19は、第1のデータ信号I_DQeおよび第2のデータ信号I_DQoを多重化してSDRAM300に出力する制御を行なうようになっている。
なお、第1のデータ信号I_DQeおよび第2のデータ信号I_DQoを多重化してSDRAMに出力する手法は既知の技術であるので、その詳細な説明は省略する。
そして、DQ信号出力制御部19は、例えば、図5および図6に示すように、フリップフロップFF1,出力用可変遅延回路DW1およびフリップフロップFF2をそなえて構成されている。
フリップフロップFF1は、第1クロック信号生成部14から入力されたクロック信号CK1が入力されると、後述する処理部13から入力された第1のデータ信号I_DQeまたは第2のデータ信号I_DQoを出力用可変遅延回路DW1に出力するようになっている。
出力用可変遅延回路DW1は、上述した第1実施形態に係る可変遅延回路100で構成されるものであって、後述する出力遅延量設定部23からの出力制御信号d1に基づいて、フリップフロップFF1から入力された第1の入力データ信号I_DQeまたは第2のデータ信号I_DQo(図1の符号“IN”に相当)を、後述する出力遅延量設定部23によって設定された出力遅延量Dt1だけ遅延させてフリップフロップFF2に出力するようになっている(図1の符号“OUT”に相当)。
なお、この出力用可変遅延回路DW1は上述した出力用可変遅延回路DW0と同様に構成されているため、その詳細な説明を省略する。
フリップフロップFF2は、第2クロック信号生成部18からクロック信号CK2が入力されると、出力用可変遅延回路DW1から入力された第1のデータ信号I_DQeまたは第2のデータ信号I_DQoをSDRAM300に出力するようになっている。
なお、本実施形態においては、複数のSDRAM300−0〜300−nのそれぞれに対応して同じ出力遅延量Dt1が設定されているものとする。
具体的には、図5に示す制御回路ユニット15−0にそなえられた各出力用可変遅延回路DW0,DW1には、出力遅延量Dt1−0が設定されており、同様に、図6に示す制御回路ユニット15−nにそなえられた各出力用可変遅延回路DW0,DW1には、出力遅延量Dt1−nが設定されている。
また、以下、出力用可変遅延回路を示す符号としては、複数の出力用可変遅延回路のうち1つを特定する必要があるときは符号DW0,DW1等を用いるが、任意の出力用可変遅延回路を指すときには符号DWを用いる。
なお、以下の説明においては、便宜上、1chのSDRAM300−0に対応する出力用可変遅延回路として符号DW−0を用いる場合があり、同様に、nchのSDRAM300−nに対応する出力用可変遅延回路として符号DW−nを用いる場合もある。
DQ信号入力制御部20は、リード動作時において、SDRAM300から入力されたデータ信号(データ入力信号)DQを後述する処理部13に出力する制御を行なうものであって、例えば、制御回路ユニット15−0においては、図5に示すように、複数のDQ信号入力制御部20−0〜20−kに対応してそれぞれ、SDRAM300−0から入力されたデータ信号DQ-0[0]を第3のデータ信号O_DQe-0 [0]または第4のデータ信号O_DQo-0 [0]として後述する処理部13に出力する制御を行なうようになっており、同様に、SDRAM300−0から入力されたデータ信号DQ-0[k]を第3のデータ信号O_DQe-0 [k]または第4のデータ信号O_DQo-0 [k]として後述する処理部13に出力する制御を行なうようになっている。
また、DQ信号入力制御部20は、例えば、制御回路ユニット15−nにおいては、図6に示すように、複数のDQ信号入力制御部20−0〜20−kに対応してそれぞれ、SDRAM300−nから入力されたデータ信号DQ-n[0]を第3のデータ信号O_DQe-n [0]または第4のデータ信号O_DQo-n [0]として後述する処理部13に出力する制御を行なうようになっており、同様に、SDRAM300−nから入力されたデータ信号DQ-n[k]を第3のデータ信号O_DQe-n [k]または第4のデータ信号O_DQo-n [k]として後述する処理部13に出力する制御を行なうようになっている。
なお、以下、第3のデータ信号を示す符号としては、複数の第3のデータ信号のうち1つを特定する必要があるときは符号O_DQe-0 [0]〜O_DQe-0 [k]や、符号O_DQe-n [0]〜O_DQe-n [k]を用いるが、任意の第3のデータ信号を指すときには符号O_DQeを用いる。又、以下、第4のデータ信号を示す符号としては、複数の第4のデータ信号のうち1つを特定する必要があるときは符号O_DQo-0 [0]〜O_DQo-0 [k]や、O_DQo-n [0]〜O_DQo-n [k]を用いるが、任意の第4のデータ信号を指すときには符号O_DQoを用いる。
そして、以下、データ信号を示す場合において、第3のデータ信号および第4のデータ信号を特定する必要があるときは、第3のデータ信号を示す符号O_DQeおよびO_DQe-0 [0]〜O_DQe-0 [k], O_DQe-n [0]〜O_DQe-n [k]や、第4のデータ信号を示す符号O_DQoおよびO_DQo-0 [0]〜O_DQo-0 [k],O_DQo-n [0]〜O_DQo-n [k]を用いるが、第3のデータ信号および第4のデータ信号を特定する必要がないときは、SDRAM300−0〜300−nのそれぞれに対応するデータ信号を示す符号DQ-0 [0]〜DQ-0 [k],DQ-n[0]〜DQ-n [k]を用い、更に、任意のデータ信号を指すときには符号DQを用いる。又、第3のデータ信号および第4のデータ信号を特定する必要がない場合において、便宜上、SDRAM300−0〜300−nのそれぞれに対応するデータ信号を示す符号DQ-0 [0]〜DQ-0 [k],DQ-n [0]〜DQ-n [k]に代えて符号DQ−0〜DQ−nを用いる場合もある。
即ち、SDRAM300−0に対応する第3のデータ信号O_DQe-0 [0]〜O_DQe-0 [k]が、第3のデータ信号O_DQe,データ信号DQ-0[0]〜DQ-0[k],データ信号DQ−0およびデータ信号DQに対応しており、SDRAM300−nに対応する第3のデータ信号O_DQe-n [0]〜O_DQe-n [k]が、第3のデータ信号O_DQe,データ信号DQ-n[0]〜DQ-n[k],データ信号DQ−nおよびデータ信号DQに対応している。又、SDRAM300−0に対応する第4のデータ信号O_DQo-0 [0]〜O_DQo-0 [k]が、第4のデータ信号O_DQo,データ信号DQ-0[0]〜DQ-0[k],データDQ−0およびデータ信号DQに対応しており、SDRAM300−nに対応する第4のデータ信号O_DQo-n [0]〜O_DQo-n [k]が、第4のデータ信号O_DQo,データ信号DQ-n[0]〜DQ-n[k],データDQ−nおよびデータ信号DQに対応している。
このDQ信号入力制御部20は、例えば、図5および図6に示すように、フリップフロップFF5,入力用可変遅延回路DR1,フリップフロップFF6,フリップフロップFF7,入力用可変遅延回路DR2およびフリップフロップFF8をそなえて構成されている。
フリップフロップFF5は、データストローブ信号DQSがSDRAM300から後述するリード側DQS遅延回路DR0を介して入力されると、SDRAM300から入力された第3のデータ信号O_DQeを入力用可変遅延回路DR1に出力するようになっている。
入力用可変遅延回路DR1は、上述した第1実施形態に係る可変遅延回路100で構成されるものであって、後述する入力遅延量設定部24からの入力制御信号d2に基づいて、フリップフロップFF5から入力された第3のデータ信号O_DQe(図1の符号“IN”に相当)を、後述する入力遅延量設定部24によって設定された入力遅延量だけ遅延させてフリップフロップFF6に出力するようになっている(図1の符号“OUT”に相当)。
なお、本実施形態においては、複数の制御回路ユニット15−0〜15−nに対してそれぞれ入力遅延量が設定されている。具体的には、制御回路ユニット15−0における入力用可変遅延回路DR1には入力遅延量Dt2−0が設定されており、同様に、制御回路ユニット15−nにおける入力用可変遅延回路DR1には入力遅延量Dt2−nが設定されている。
なお、以下、入力遅延量を示す符号としては、複数の入力遅延量のうち1つを特定する必要があるときは符号Dt2−0〜Dt2−nを用いるが、任意の入力遅延量を指すときには符号Dt2を用いる。
そして、本実施形態の入力用可変遅延回路DR1においては、入力制御信号d2が、上述した第1実施形態における遅延制御信号SELdly,第1選択信号SELtsおよび第2選択信号SELinに相当し、入力遅延量Dt2が、上述した第1実施形態における遅延量TDLに相当する。
また、本実施形態の入力用可変遅延回路DR1では、“0”〜“7”の8段階で第1遅延量DL1(上記第1実施形態参照)を設定可能な第1遅延回路(第1入力遅延部)101が用いられており、最大遅延量MDLが“7”となっている。
さらに、本実施形態の入力用可変遅延回路DR1には、リード側DQS遅延回路DR0から取り出された複数のタイミング信号CK3−0〜CK3−mが入力されるようになっており、これらの複数のタイミング信号CK3−0〜CK3−mが、上述した第1実施形態における複数のタイミング信号TS0〜TSmに相当する。
なお、本実施形態においては、これらの複数のタイミング信号CK3−0〜CK3−mは、第0タイミング信号CK3−0から第mタイミング信号CK3−mにかけて90°の位相で順次遅延するように、リード側DQS遅延回路DR0における所定位置からそれぞれ取り出されて入力用可変遅延回路DR1に入力されるようになっている。
なお、リード側DQS遅延回路DR0から複数のタイミング信号CK3−0〜CK3−mを取り出す手法については、既知の種々の手法を用いることができる。
また、図中においては、便宜上、複数のタイミング信号CK3−0〜CK3−mを符号CK3で示している。
従って、入力用可変遅延回路DR1は、データ信号DQを第1遅延量(第1入力遅延量)DL1だけ遅延させる第1遅延回路(第1入力遅延部)101と、データ信号DQを第1遅延量DL1よりも大きい第2遅延量(第2入力遅延量)DL2だけ遅延させる第2遅延回路(第2入力遅延部)102と、入力遅延量Dt2が第1遅延回路101で遅延可能な最大遅延量(最大入力遅延量)MDLを超える場合に、入力遅延量Dt2が第1遅延量DL1と第2遅延量DL2との和になる信号経路を選択するセレクタ(入力遅延量選択部)103とをそなえるのである(図1参照)。
そして、第2遅延回路102においては、セレクタ(入力用選択回路)104が、入力遅延量Dt2に基づいて、位相が異なる複数種類のタイミング信号CK3−0〜CK3−mのうちのいずれかを選択し、Dフリップフロップ(入力用順序回路)105が、セレクタ104により選択されたタイミング信号に応じて、データ信号DQを第2遅延量DL2だけ遅延させるのである(図1参照)。
フリップフロップFF6は、第1クロック信号生成部14からクロック信号CK1が入力されると、入力用可変遅延回路DR1から入力された第3のデータ信号O_DQeを後述する処理部13に出力するようになっている。
フリップフロップFF7は、データストローブ信号DQSがSDRAM300から後述するリード側DQS遅延回路DR0を介して入力されると、SDRAM300から入力された第4のデータ信号O_DQoを入力用可変遅延回路DR2に出力するようになっている。
入力用可変遅延回路DR2は、上述した第1実施形態に係る可変遅延回路100で構成されるものであって、後述する入力遅延量設定部24からの入力制御信号d2に基づいて、フリップフロップFF7から入力された第4のデータ信号O_DQoを、後述する入力遅延量設定部24によって設定された入力遅延量Dt2だけ遅延させてフリップフロップFF8に出力するようになっている。
なお、この入力用可変遅延回路DR2は上述した入力用可変遅延回路DR1と同様に構成されているため、その詳細な説明を省略する。
なお、本実施形態においては、複数のSDRAM300−0〜300−nのそれぞれに対応して同じ入力遅延量Dt2が設定されているものとする。
具体的には、図5に示す制御回路ユニット15−0にそなえられた各入力用可変遅延回路DR1およびDR2には、入力遅延量Dt2−0が設定されており、同様に、図6に示す制御回路ユニット15−nにそなえられた各入力用可変遅延回路DR1およびDR2には、入力遅延量Dt2−nが設定されている。
また、以下、入力用可変遅延回路を示す符号としては、複数の入力用可変遅延回路のうち1つを特定する必要があるときは符号DR1,DR2等を用いるが、任意の入力用可変遅延回路を指すときには符号DRを用いる。
なお、以下の説明においては、便宜上、1chのSDRAM300−0に対応する入力用可変遅延回路として符号DR−1を用いる場合があり、同様に、nchのSDRAM300−nに対応する入力用可変遅延回路として符号DR−nを用いる場合もある。
フリップフロップFF8は、第1クロック信号生成部14からクロック信号CK1が入力されると、入力用可変遅延回路DR2から入力された第4のデータ信号O_DQoを後述する処理部13に出力するようになっている。
論理和回路ORは、後述するライトレベリング機能を用いた場合に、第3のデータ信号O_DQeおよび第4のデータ信号O_DQoに基づいて、応答信号(例えば、High信号)を後述する処理部13に出力するようになっている。
具体的には、制御回路ユニット15−0にそなえられた論理和回路ORは、例えば、図5に示すように、後述するライトレベリング機能を用いた場合に、SDRAM300−0に対応する複数の第3のデータ信号O_DQe-0[0]〜O_DQe-0[k]およびSDRAM300−0に対応する複数の第4のデータ信号O_DQo-0[0]〜O_DQo-0[k]のいずれかが入力されると、応答信号O_DQX-0を後述する処理部13に出力するようになっている。
また、例えば、制御回路ユニット15−nにそなえられた論理和回路ORは、図6に示すように、後述するライトレベリング機能を用いた場合に、SDRAM300−nに対応する複数の第3のデータ信号O_DQe-n[0]〜O_DQe-n[k]およびSDRAM300−nに対応する複数の第4のデータ信号O_DQo-n[0]〜O_DQo-n[k]のいずれかが入力されると、応答信号O_DQX-nを後述する処理部13に出力するようになっている。
なお、以下、応答信号を示す符号としては、複数の応答信号のうち1つを特定する必要があるときは符号O_DQX-0〜O_DQX-nを用いるが、任意の応答信号を指すときには符号O_DQXを用いる。
処理部13は、情報処理装置10aにおいて各種の数値計算,情報処理および機器制御等を行なうものであって、本実施形態においては、遅延時間制御部22として機能するようになっている(図4参照)。又、処理部13は、MAC(Media Access Control;図示省略)をそなえて構成されており、このMACを介して各種信号(データ信号DQ,クロック信号CLK,応答信号DQX等)の入出力を行なうようになっている。
遅延時間制御部22は、制御回路ユニット15−0〜15−nのそれぞれにそなえられた出力用可変遅延回路DWおよび入力用可変遅延回路DRに対して、遅延量を設定する制御信号を出力するものであって、図4に示すように、出力遅延量設定部23および入力遅延量設定部24をそなえて構成されている。
出力遅延量設定部23は、ライトレベリング機能を用いて、制御回路ユニット15−0〜15−nのそれぞれにそなえられた出力用可変遅延回路DWに対して、出力遅延量Dt1の遅延を行なわせるべく制御を行なうものであって、出力遅延量Dt1を設定する出力制御信号d1を出力するようになっている。又、出力遅延量設定部23は、本実施形態においては、ライトレベリング機能を用いて、ライト動作時において複数のSDRAM300−0〜300−nのそれぞれに対して出力されるデータストローブ信号DQS−0〜DQS−nの各出力遅延量Dt1−0〜Dt1−nをそれぞれ設定するようになっている。
ここで、ライトレベリング機能とは、複数のSDRAM300−0〜300−nのそれぞれに対して、各データストローブ信号DQS−0〜DQS−nを、クロック信号CK1と同時もしくはほぼ同時に入力させるように調整(補正)する機能であり、クロック信号線がデイジーチェーンで配線された複数のSDRAM300−0〜300−nのそれぞれに対して出力されるデータストローブ信号DQS−0〜DQS−nの各出力遅延量Dt1−0〜Dt1−nを、これらのSDRAM300−0〜300−nから出力される各データ信号DQ−0〜DQ−nに基づいてそれぞれ設定することにより実現される。
図7は本発明の第2実施形態としての情報処理装置の出力遅延量設定部におけるライトレベリング機能を説明するための図である。
以下、出力遅延量設定部23において、複数のSDRAM300−0〜300−nのそれぞれに対応する出力遅延量Dt1−0〜Dt1−nを、ライトレベリング機能を用いてそれぞれ設定する場合について、図7に示すような、0chのSDRAM300−0に対応する出力遅延量Dt1−0とnchのSDRAM300−nに対応する出力遅延量Dt1−nとを設定する例を用いて説明する。
また、各SDRAM(図7に示す例では、SDRAM300−0,SDRAM300−n)は、それぞれ、クロック信号CK1とデータストローブ信号DQS(図7に示す例では、DQS−0,DQS−n)とが同時もしくはほぼ同時に入力されると、メモリコントローラ12にデータ信号DQ(図7に示す例では、DQ-0 [0]〜[k],DQ-n [0]〜[k])を出力するようになっている。
先ず、メモリコントローラ12は、クロック信号CK1を各SDRAM(図7に示す例では、SDRAM300−0,SDRAM300−n)に出力するとともに、これと同時もしくはほぼ同時に、各データストローブ信号DQS(図7に示す例では、DQS−0,DQS−n)を各SDRAM(図7に示す例では、SDRAM300−0,SDRAM300−n)のそれぞれに対して出力する(図7の時間“T0”参照)。
そして、例えば、ライトレベリング機能によって出力遅延量Dt1が調整される前においては、図7に示すように、0chのSDRAM300−0には、クロック信号CK1が、データストローブ信号DQS−0が入力されてから(図7の時間“T1”および点“A”参照)、時間Dt1−0だけ遅延して入力され(図7の時間“T2”参照)、nchのSDRAM300−nには、クロック信号CK1が、データストローブ信号DQS−nが入力されてから(図7の時間“T1”および点“B”参照)、時間Dt1−nだけ遅延して入力される(図7の時間“T3”参照)。
この場合において、データストローブ信号DQS−0とクロック信号CK1とが同時もしくはほぼ同時に0chのSDRAM300−0に入力されるように、出力遅延量Dt1−0が出力用可変遅延回路DW−0に設定される(図7の時間“T2”参照)。又、データストローブ信号DQS−nとクロック信号CK1とが同時もしくはほぼ同時にnchのSDRAM300−nに入力されるように、出力遅延量Dt1−nが出力用可変遅延回路DW−nに設定される(図7の時間“T3”参照)。
即ち、0chのSDRAM300−0においては、出力遅延量設定部23(図7において図示省略)は、クロック信号CK1とデータストローブ信号DQS−0とが同時もしくはほぼ同時に入力されるまで、出力用可変遅延回路DW−0の遅延時間を少しずつ延ばしていき、SDRAM300−0からの各データ信号DQ-0[0]〜[k]のいずれかが論理和回路OR−0に入力されて、論理和回路OR−0が応答信号O_DQX-0を出力した時間を出力遅延量Dt1−0として出力用可変遅延回路DW−0に設定するようになっている。
また、nchのSDRAM300−nにおいては、出力遅延量設定部23(図7において図示省略)は、クロック信号CK1とデータストローブ信号DQS−nとが同時もしくはほぼ同時に入力されるまで、出力用可変遅延回路DW−nの遅延時間を少しずつ延ばしていき、SDRAM300−nからの各データ信号DQ-n[0]〜[k]のいずれかが論理和回路OR−nに入力されて、論理和回路OR−nが応答信号O_DQX-nを出力した時間を出力遅延量Dt1−nとして出力用可変遅延回路DW−nに設定するようになっている。
そのため、SDRAM300−0〜300−nのそれぞれに対応する各出力遅延量Dt1−0〜Dt1−nが、0chのSDRAM300−0からnchのSDRAM300−nにかけて順に遅延量が大きくなるように設定されるのである。
そして、出力遅延量設定部23は、設定した各出力遅延量Dt1−0〜Dt1−nとなるように出力制御信号d1を出力用可変遅延回路DW−0〜DW−nのそれぞれに対して出力し、各出力用可変遅延回路DW−0〜DW−nが、これらの出力制御信号d1に基づいて、各データストローブ信号DQS−0〜DQS−nをそれぞれ出力遅延量Dt1−0〜Dt1−nだけ遅延させるようになっている。
即ち、出力用可変遅延回路DWは、ライト動作時において、SDRAM300に出力するデータストローブ信号DQSを、ライトレベリング機能を用いて設定された出力遅延量Dt1だけ遅延させるのである。
図8は本発明の第2実施形態としての情報処理装置の出力遅延量設定部において遅延量を設定する順序を説明するための図、図9はその遅延量を設定する順序を示すタイミングチャートである。
また、出力遅延量設定部23は、複数のSDRAM300−0〜300−nに対応するそれぞれの出力遅延量Dt1−0〜Dt1−nを、クロック信号線の配線経路に沿って順次設定するようになっており、図8に示す例(Unbuffered DIMM)では、クロック信号CK1が最も早く入力されるSDRAM300−0に対応する出力遅延量Dt1−0から、出力遅延量Dt1−1,出力遅延量Dt1−2,出力遅延量Dt1−3,出力遅延量Dt1−4,出力遅延量Dt1−5,出力遅延量Dt1−6の順に、クロック信号CK1が最も遅く入力されるSDRAM300−7に対応する出力遅延量Dt1−7まで設定するようになっている。
さらに、出力遅延量設定部23は、一のSDRAM300(例えば、SDRAM300−2)と隣り合う他のSDRAM300(例えば、SDRAM300−1)に対応する設定済の出力遅延量Dt1(例えば、Dt1−1)を開始遅延量Dt1stとして、この開始遅延量Dt1stを段階的に変更することにより、一のSDRAM300(例えば、SDRAM300−2)に対応する設定対象の出力遅延量Dt1(例えば、Dt1−2)を設定するようになっている。
図9に示す例では、出力遅延量設定部23は、先ず、0chのSDRAM300−0に対応する出力用可変遅延回路DW−0に対して出力制御信号d1を出力して、出力用可変遅延回路DW−0の出力遅延量Dt1−0を設定値“0”(図9の時間“B1”参照)から段階的に1,2,3,4,5,6と増加させ、論理和回路OR−0から応答信号O_DQX-0が出力された時点の設定値SV−0を出力遅延量Dt1−0として設定する(図9の時間“B2”参照)。
なお、設定値SV−0は、SDRAM300−0に対応する出力遅延量Dt1−0の設定値であって、図9に示すように、“SELdly(0)”,“SELin(0)”および“SELts(0)”で構成されている。同様に、設定値SV−1〜SV−nは、SDRAM300−1〜300−nに対応する出力遅延量Dt1−1〜Dt1−nの設定値であって、それぞれ、“SELdly(1)”,“SELin(1)”および“SELts(1)”〜“SELdly(n)”,“SELin(n)”および“SELts(n)”で構成されている。
“SELdly(0)”は、出力用可変遅延回路DW−0に入力された信号(図1の符号“IN”参照)の遅延量DL1(上記第1実施形態参照)を第1遅延回路101(図1参照)に設定する値であり、本実施形態においては、この値は、出力用可変遅延回路DW−0に入力された信号が第1遅延回路101を構成する遅延素子を通過する数を示している。“SELdly(1)”〜“SELdly(n)”についても上記“SELdly(0)”と同様である。
“SELin(0)”は、出力用可変遅延回路DW−0に入力された信号の信号経路をセレクタ103(図1参照)に設定する値であり、本実施形態においては、値“0”は、出力用可変遅延回路DW−0に入力された信号が直接セレクタ103に入力される信号経路を選択することを示し、値“1”は、出力用可変遅延回路DW−0に入力された信号が第2遅延回路102を介してセレクタ103に入力される信号経路を選択することを示している。“SELin(1)”〜“SELin(n)”についても上記“SELin(0)”と同様である。
“SELts(0)”は、複数のクロック信号CK1−0〜CK1−mの中から選択される一のクロック信号をセレクタ104(図1参照)に設定する値である。本実施形態においては、値“0”は、第0クロック信号CK1−0を選択することを示しており、以下、同様に、値“1”は、第1クロック信号CK1−1を選択することを示し、値“n”は、第nクロック信号CK1−nを選択することを示している。“SELts(1)”〜“SELts(n)”についても上記“SELts(0)”と同様である。
そして、設定値SV−0は、“SELdly(0)”が値“6”に、“SELin(0)”が値“0”に、“SELts(0)”が値“1”に、それぞれ設定される。
次に、出力遅延量設定部23は、0chのSDRAM300−0に対応する出力遅延量Dt1−0として設定された設定値SV−0を開始遅延量Dt1st(図9の時間“B2”参照)として、1chのSDRAM300−1に対応する出力遅延量Dt1−1を設定する。具体的には、出力遅延量設定部23は、1chのSDRAM300−1に対応する出力用可変遅延回路DW−1に対して出力制御信号d1を出力して、出力用可変遅延回路DW−1の出力遅延量Dt1−1を開始遅延量Dt1st(設定値SV−0;図9の時間“B2”参照)から段階的に増加させ、論理和回路OR−1から応答信号O_DQX-1が出力された時点の設定値SV−1を出力遅延量Dt1−1として設定する(図9の時間“B4”参照)。
この場合において、出力遅延量設定部23は、遅延量TDLが最大遅延量MDL(本実施形態では“7”)を超えると、第1遅延回路101の遅延量DL1をリセット(DL1=“0”)するとともに、遅延量TDLが第1遅延量DL1と第2遅延量DL2(この場合、第0クロック信号CK1−0)との和になる信号の経路に切り替える出力制御信号d1(“SELin(1)”=“1”)を出力する(図9の時間“B3”参照)。
従って、図9に示す例においては、設定値SV−1は、“SELdly(1)”が値“3”に、“SELin(1)”が値“1”に、“SELts(1)”が値“1”に、それぞれ設定される。
以下、同様に、出力遅延量設定部23は、2ch以降のSDRAM300−2〜300−nに対応する出力遅延量Dt1−2〜Dt1−nについて、それぞれの前段となるSDRAM300−1〜300−n−1に対応する出力遅延量Dt1−1〜Dt1−n−1(設定値SV−1〜SV−n−1;設定値SV−1については図9の時間“B4”参照)を開始遅延量Dt1stに設定し、又、出力遅延量設定部23は、これらの開始遅延量Dt1stから出力遅延量Dt1−1〜Dt1−n−1を段階的に増加させ、各論理和回路OR−2〜OR−nから応答信号O_DQX-2〜O_DQX-nが出力された時点の設定値SV−2〜SV−nを各出力遅延量Dt1−2〜Dt1−nとしてそれぞれ順次設定する(図9の時間“B5”および“B7”参照)。
そして、出力遅延量設定部23は、遅延量TDLが最大遅延量MDLを超える都度、遅延量TDLが第1遅延量DL1と第2遅延量DL2との和になる信号の経路を選択した状態で、第1遅延回路101の遅延量DL1をリセットするとともに、第2遅延量DL2を現時点のクロック信号(例えば、第p−1(pは1〜nの自然数)クロック信号CK1−p−1)から次のクロック信号(例えば、第pクロック信号CK1−p)に切り替える出力制御信号d1(例えば、“SELts(n)”=“p”)を出力する(図9の時間“B5”および時間“B6”参照)。
従って、設定値SV−2は、“SELdly(2)”が値“1”に、“SELin(2)”が値“1”に、“SELts(2)”が値“2”に、それぞれ設定される。又、設定値SV−nは、“SELdly(n)”が値“2”に、“SELin(n)”が値“1”に、“SELts(n)”が値“3”に、それぞれ設定される。
このように、出力遅延量設定部23は、一のSDRAM300に対応する設定対象の出力遅延量Dt1を、他のSDRAM300に対応する設定済の出力遅延量Dt1に基づいて設定するのである。
以下、出力遅延量設定部23において複数のSDRAM300−0〜300−nに対応する出力遅延量Dt1−0〜Dt1−nを設定する順序について、図10に示すフローチャート(ステップS11〜S24)に従って説明する。
先ず、出力遅延量設定部23は、設定対象のSDRAM300を示す変数“n”を初期化し(n=0;ステップS11)、出力制御信号d1を示す各変数“SELdly(n)”,“SELin(n)”および“SELts(n)”を初期化する(SELdly(n)=0,SELin(n)=0,SELts(n)=1;ステップS12)。
次に、出力遅延量設定部23は、応答信号O_DQX-nがLowからHighに遷移したか否かを判断し(ステップS13)、応答信号O_DQX-nがLowからHighに遷移していない場合には(ステップS13の“NO”ルート参照)、変数“SELdly(n)”が最大であるか否かを判断する(ステップS14)。
変数“SELdly(n)”が最大ではない場合には(ステップS14の“NO”ルート参照)、出力遅延量設定部23は、変数“SELdly(n)”に値“1”を加算して(ステップS15)、ステップS13に戻る。
変数“SELdly(n)”が最大である場合には(ステップS14の“YES”ルート参照)、出力遅延量設定部23は、変数“SELin(n)”が値“1”であるか否かを判断する(ステップS16)。
変数“SELin(n)”が値“1”ではない場合には(ステップS16の“NO”ルート参照)、出力遅延量設定部23は、変数“SELin(n)”を値“1”に設定し(ステップS17)、変数“SELdly(n)”をリセット(SELdly(n)=0)して(ステップS18)、ステップS13に戻る。
変数“SELin(n)”が値“1”である場合には(ステップS16の“YES”ルート参照)、出力遅延量設定部23は、変数“SELts(n)”が最大であるか否かを判断する(ステップS19)。
変数“SELts(n)”が最大ではない場合には(ステップS19の“NO”ルート参照)、出力遅延量設定部23は、変数“SELts(n)”に値“1”を加算し(ステップS20)、変数“SELdly(n)”をリセット(SELdly(n)=0)して(ステップS18)、ステップS13に戻る。
変数“SELts(n)”が最大である場合には(ステップS19の“YES”ルート参照)、出力遅延量設定部23は、所望の遅延量を付加できず、各変数“SELdly(n)”,“SELin(n)”および“SELts(n)”の設定範囲を超えたことになるため、ステップS11に戻って再実行を行なうかもしくはアラームを発行し、処理を終了する(異常終了)。
また、応答信号O_DQX-nがLowからHighに遷移した場合、即ち、応答信号O_DQX-nを受信すると(ステップS13の“YES”ルート参照)、出力遅延量設定部23は、各変数“SELdly(n)”,“SELin(n)”および“SELts(n)”に設定された値をロック(直前の状態を保持)する(ステップS21)。
そして、出力遅延量設定部23は、変数“n”が最大であるか否かを判断する(ステップS22)。
変数“n”が最大ではない場合には(ステップS22の“NO”ルート参照)、出力遅延量設定部23は、各変数“SELdly(n+1)”,“SELin(n+1)”および“SELts(n+1)”に対して、ステップS21においてロックされた各変数“SELdly(n)”,“SELin(n)”および“SELts(n)”の値を設定し(ステップS23)、変数“n”に値“1”を加算して(ステップS24)、次のSDRAMに移行し、ステップS13に戻る。
変数“n”が最大である場合には(ステップS22の“YES”ルート参照)、出力遅延量設定部23は、処理を終了する(正常終了)。
これにより、全てのSDRAM300−0〜300−nに対して出力遅延量Dt1−0〜Dt1−nが設定されるのである。
入力遅延量設定部24は、出力遅延量設定部23によって設定された各出力遅延量Dt1−0〜Dt1−nに基づいて、制御回路ユニット15−0〜15−nのそれぞれにそなえられた入力用可変遅延回路DRに対して、入力遅延量Dt2の遅延を行なわせるべく制御を行なうものであって、入力遅延量Dt2を設定する入力制御信号d2(“SELdly(n)”,“SELin(n)”および“SELts(n)”)を出力するようになっている。又、入力遅延量設定部24は、本実施形態においては、出力遅延量設定部23によって設定された各出力遅延量Dt1−0〜Dt1−nに基づいて、リード動作時において複数のSDRAM300−0〜300−nのそれぞれから入力されるデータ信号DQ−0〜DQ−nの入力遅延量Dt2をそれぞれ算出・設定するようになっている。
本実施形態の入力遅延量設定部24においては、一のSDRAM300−x(xは0〜nの変数)に対応する入力遅延量Dt2−xは、当該SDRAM300−xに対応する出力遅延量Dt1−xと入力遅延量Dt2−xとの和が、他のSDRAM300−y(yは0〜nの変数)に対応する出力遅延量Dt1−yと入力遅延量Dt2−yとの和と等しくなるように設定されている。
従って、SDRAM300−0〜300−nのそれぞれに対応する各入力遅延量Dt2−0〜Dt2−nが、0chのSDRAM300−0からnchのSDRAM300−nにかけて順に遅延量が小さくなるように設定されるのである。
そして、入力遅延量設定部24は、設定した各入力遅延量Dt2−0〜Dt2−nとなるように入力制御信号d2を入力用可変遅延回路DR−0〜DR−nのそれぞれに対して出力し、各入力用可変遅延回路DR−0〜DR−nが、これらの入力制御信号d2に基づいて、各データ信号DQ−0〜DQ−nをそれぞれ入力遅延量Dt2−0〜Dt2−nだけ遅延させるようになっている。
即ち、入力用可変遅延回路DRは、リード動作時において、SDRAM300から入力されるデータ信号DQを、ライトレベリング機能を用いて設定されたSDRAM300に出力するデータストローブ信号DQSの出力遅延量Dt1に応じて設定された入力遅延量Dt2だけ遅延させるのである。
このように、本発明の第2実施形態としての情報処理装置10aによれば、上述した本発明の第1実施形態と同様の作用効果を得ることができる他、位相が異なる複数のクロック信号CK1−0〜CK1−mおよび位相が異なる複数のタイミング信号CK3−0〜CK3−mをメモリコントローラ12内の既存の回路から生成することにより、より回路規模を抑えることができ、又、より消費電力を低減することができる。
また、クロック信号線がデイジーチェーンで配線された複数のSDRAM300−0〜300−nに対して、ライトレベリング機能を用いて設定された出力遅延量Dt1に基づいて、リード動作時においてSDRAM300から入力されるデータ信号DQの入力遅延量Dt2を設定することにより、クロック信号線がデイジーチェーンで配線された複数のSDRAM300−0〜300−nから出力されたデータ信号DQの入力時間を容易に揃えることができ、従って、リード動作の制御を行なう場合において、データ信号DQの伝播遅延による不具合を防止することができる。
〔3〕本発明の第2実施形態の第1変形例
次に、図11を参照しながら、本発明の第2実施形態の第1変形例における情報処理装置10bについて説明する。
図11は本発明の第2実施形態の第1変形例としての情報処理装置におけるメモリコントローラの回路構成例を模式的に示す図である。
この図11に示すように、本発明の第2実施形態の第1変形例としての情報処理装置10bは、第2実施形態の出力用可変遅延回路DW0,DW1および入力用可変遅延回路DR1,DR2に代えて出力用可変遅延回路DW0b,DW1bおよび入力用可変遅延回路DR1b,DR2bをそなえ、更に、第4クロック信号生成部25および第5クロック信号生成部26をメモリコントローラ12にそなえるものであり、その他の部分は第2実施形態の情報処理装置10aと同様に構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
また、図11においては、便宜上、クロック信号線とアドレス信号Addおよびコマンド信号CMDを出力するための信号線とがDIMM11の端部付近(紙面上部)において接続されていることを示しているが、実際には、図3に示すように、これらの信号線がDIMM11の中央部(紙面中央)に接続されているものとする。
第4クロック信号生成部25は、処理部13から入力されるクロック信号CLKに基づいて所定周期のクロック信号CK4を生成・出力するものである。この第4クロック信号生成部25は、クロック信号CLKと同じクロック周期のクロック信号をクロック信号CK4として出力してもよく、又、クロック信号CLKを1/2や1/4等の他のクロック周期に変換したクロック信号CK4を出力してもよい。
第5クロック信号生成部26は、SDRAM300から入力されるデータストローブ信号DQSに基づいて所定周期のクロック信号CK5を生成・出力するものである。
出力用可変遅延回路DW0bは、上述した第2実施形態の出力用可変遅延回路DW0と同様に、第1実施形態に係る可変遅延回路100で構成されている。
そして、第1変形例においては、上述した第2実施形態の出力用可変遅延回路DW0とは異なり、出力用可変遅延回路DW0bには、第4クロック信号生成部25から取り出された複数のクロック信号CK4−0〜CK4−mが入力されるようになっており、これらの複数のクロック信号CK4−0〜CK4−mが、上述した第1実施形態における複数のタイミング信号TS0〜TSmに相当する。
また、これらの複数のクロック信号CK4−0〜CK4−mは、上述した第2実施形態の複数のクロック信号CK1−0〜CK1−mと同様に、第0クロック信号CK4−0から第mクロック信号CK4−mにかけて90°の位相で順次遅延するように、第4クロック信号生成部25における所定位置からそれぞれ取り出されて出力用可変遅延回路DW0bに入力されるようになっている。
なお、出力用可変遅延回路DW0bにおけるその他の部分は、上述した第2実施形態の出力用可変遅延回路DW0と同様の機能構成をそなえており、その説明を省略する。
出力用可変遅延回路DW1bは、上述した第2実施形態の出力用可変遅延回路DW1と同様に、第1実施形態に係る可変遅延回路100で構成されるものであって、出力遅延量設定部23からの出力制御信号d1に基づいて、フリップフロップFF1から入力された第1の入力データ信号I_DQeまたは第2のデータ信号I_DQoを、出力遅延量設定部23によって設定された出力遅延量Dt1だけ遅延させてフリップフロップFF2に出力するようになっている。
なお、この出力用可変遅延回路DW1bは上述した出力用可変遅延回路DW0bと同様に構成されているため、その詳細な説明を省略する。
入力用可変遅延回路DR1bは、上述した第2実施形態の入力用可変遅延回路DR1と同様に、第1実施形態に係る可変遅延回路100で構成されるものである。
そして、第1変形例においては、上述した第2実施形態の入力用可変遅延回路DR1とは異なり、入力用可変遅延回路DR1bには、第5クロック信号生成部26から取り出された複数のクロック信号CK5−0〜CK5−mが入力されるようになっており、これらの複数のクロック信号CK5−0〜CK5−mが、上述した第1実施形態における複数のタイミング信号TS0〜TSmに相当する。
また、これらの複数のクロック信号CK5−0〜CK5−mは、上述した第2実施形態の複数のタイミング信号CK3−0〜CK3−mと同様に、第0クロック信号CK5−0から第mクロック信号CK5−mにかけて90°の位相で順次遅延するように、第5クロック信号生成部25における所定位置からそれぞれ取り出されて入力用可変遅延回路DR1bに入力されるようになっている。
なお、入力用可変遅延回路DR1bにおけるその他の部分は、上述した第2実施形態の入力用可変遅延回路DR1と同様の機能構成をそなえており、その説明を省略する。
入力用可変遅延回路DR2bは、上述した第2実施形態の入力用可変遅延回路DR2と同様に、第1実施形態に係る可変遅延回路100で構成されるものであって、入力遅延量設定部24からの入力制御信号d2に基づいて、フリップフロップFF7から入力された第4のデータ信号O_DQoを、入力遅延量設定部24によって設定された入力遅延量Dt2だけ遅延させてフリップフロップFF8に出力するようになっている。
なお、この入力用可変遅延回路DR2bは、上述した入力用可変遅延回路DR1bと同様に構成されているため、その詳細な説明を省略する。
このように、本発明の第2実施形態の第1変形例としての情報処理装置10bによれば、上述した第2実施形態と同様の作用効果を得ることができる他、位相が異なる複数のクロック信号CK4−0〜CK4−m,CK5−0〜CK5−mをメモリコントローラ12内の回路から生成する場合よりも自由に生成することができる。
〔4〕本発明の第2実施形態の第2変形例
次に、図12を参照しながら、本発明の第2実施形態の第2変形例における情報処理装置10cについて説明する。
図12は本発明の第2実施形態の第2変形例としての情報処理装置におけるメモリコントローラの回路構成例を模式的に示す図である。
この図12に示すように、本発明の第2実施形態の第2変形例としての情報処理装置10cは、第2実施形態の出力用可変遅延回路DW0,DW1および入力用可変遅延回路DR1,DR2に代えて出力用可変遅延回路DW0c,DW1cおよび入力用可変遅延回路DR1c,DR2cをそなえ、更に、第6クロック信号生成部27および第7クロック信号生成部28を処理部13にそなえるものであり、その他の部分は第2実施形態の情報処理装置10aと同様に構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
また、図12においては、便宜上、クロック信号線とアドレス信号Addおよびコマンド信号CMDを出力するための信号線とがDIMM11の端部付近(紙面上部)において接続されていることを示しているが、実際には、図3に示すように、これらの信号線がDIMM11の中央部(紙面中央)に接続されているものとする。
第6クロック信号生成部27は、処理部13の制御を行なうための所定周期のクロック信号CK6を生成・出力するものであり、第7クロック信号生成部28は、処理部13の制御を行なうための所定周期のクロック信号CK7を生成・出力するものである。
出力用可変遅延回路DW0cは、上述した第2実施形態の出力用可変遅延回路DW0と同様に、第1実施形態に係る可変遅延回路100で構成されている。
そして、第2変形例においては、上述した第2実施形態の出力用可変遅延回路DW0とは異なり、出力用可変遅延回路DW0cには、第6クロック信号生成部27から取り出された複数のクロック信号CK6−0〜CK6−mが入力されるようになっており、これらの複数のクロック信号CK6−0〜CK6−mが、上述した第1実施形態における複数のタイミング信号TS0〜TSmに相当する。
また、これらの複数のクロック信号CK6−0〜CK6−mは、上述した第2実施形態の複数のクロック信号CK1−0〜CK1−mと同様に、第0クロック信号CK6−0から第mクロック信号CK6−mにかけて90°の位相で順次遅延するように、第6クロック信号生成部27における所定位置からそれぞれ取り出されて出力用可変遅延回路DW0cに入力されるようになっている。
なお、出力用可変遅延回路DW0cにおけるその他の部分は、上述した第2実施形態の出力用可変遅延回路DW0と同様の機能構成をそなえており、その説明を省略する。
出力用可変遅延回路DW1cは、上述した第2実施形態の出力用可変遅延回路DW1と同様に、第1実施形態に係る可変遅延回路100で構成されるものであって、出力遅延量設定部23からの出力制御信号d1に基づいて、フリップフロップFF1から入力された第1の入力データ信号I_DQeまたは第2のデータ信号I_DQoを、出力遅延量設定部23によって設定された出力遅延量Dt1だけ遅延させてフリップフロップFF2に出力するようになっている。
なお、この出力用可変遅延回路DW1cは上述した出力用可変遅延回路DW0cと同様に構成されているため、その詳細な説明を省略する。
入力用可変遅延回路DR1cは、上述した第2実施形態の入力用可変遅延回路DR1と同様に、第1実施形態に係る可変遅延回路100で構成されるものである。
そして、第2変形例においては、上述した第2実施形態の入力用可変遅延回路DR1とは異なり、入力用可変遅延回路DR1cには、第7クロック信号生成部28から取り出された複数のクロック信号CK7−0〜CK7−mが入力されるようになっており、これらの複数のクロック信号CK7−0〜CK7−mが、上述した第1実施形態における複数のタイミング信号TS0〜TSmに相当する。
また、これらの複数のクロック信号CK7−0〜CK7−mは、上述した第2実施形態の複数のタイミング信号CK3−0〜CK3−mと同様に、第1クロック信号CK7−0から第mクロック信号CK7−mにかけて90°の位相で順次遅延するように、第7クロック信号生成部28における所定位置からそれぞれ取り出されて入力用可変遅延回路DR1cに入力されるようになっている。
なお、入力用可変遅延回路DR1cにおけるその他の部分は、上述した第2実施形態の入力用可変遅延回路DR1と同様の機能構成をそなえており、その説明を省略する。
入力用可変遅延回路DR2cは、上述した第2実施形態の入力用可変遅延回路DR2と同様に、第1実施形態に係る可変遅延回路100で構成されるものであって、入力遅延量設定部24からの入力制御信号d2に基づいて、フリップフロップFF7から入力された第4のデータ信号O_DQoを、入力遅延量設定部24によって設定された入力遅延量Dt2だけ遅延させてフリップフロップFF8に出力するようになっている。
なお、この入力用可変遅延回路DR2cは、上述した入力用可変遅延回路DR1cと同様に構成されているため、その詳細な説明を省略する。
このように、本発明の第2実施形態の第2変形例としての情報処理装置10cによっても、上述した第2実施形態の第1変形例と同様の作用効果を得ることができる。
〔5〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、上記実施形態では、第2遅延回路102の後段に第1遅延回路101をそなえる場合について説明しているが、それに限定されるものではなく、例えば、第2遅延回路102の前段に第1遅延回路101をそなえてもよく、例えば、第1遅延回路101から出力された信号が第2遅延回路102およびセレクタ103にそれぞれ入力されるように構成されていてもよい。
また、上記実施形態では、複数種類のタイミング信号TS0〜TSmが90°の位相(α=90)で順次遅延してセレクタ104に入力される場合について説明しているが、それに限定されるものではなく、データ入力信号IN(図1参照)に対して位相αだけ遅延した1以上のタイミング信号がセレクタ104に入力されていればよい。例えば、α=180°の場合には、上記第1実施形態における計算式を参照してm+1=360/180であり、m=1となることから、データ入力信号INに対して180°遅延した1つのタイミング信号がセレクタ104に入力されていればよい。
さらに、上記実施形態では、第2遅延回路102がDフリップフロップ105をそなえて構成されている場合について説明しているが、それに限定されるものではなく、例えば、第2遅延回路102がDフリップフロップ105に代えてDラッチをそなえて構成されていてもよい。
図13は本発明の第2実施形態の情報処理装置の他の構成例を模式的に示す図である。
そして、上述した本発明の第2実施形態では、各SDRAM300−0〜300−nがデイジーチェーンで配線されている場合について説明しているが、それに限定されるものではなく、クロック信号線がDIMM11内で2方向に分岐して配線されていてもよく、図13に示す例(Registered DIMM)では、クロック信号CK1が、SDRAM300−3とSDRAM300−4とにそれぞれ入力されて、SDRAM300−3からSDRAM300−0にかけて順次入力されるとともに、SDRAM300−4からSDRAM300−7にかけて順次入力されるように配線されている。この場合には、各出力遅延量Dt1−0〜Dt1−7は、出力遅延量Dt1−3から出力遅延量Dt1−0にかけて順次設定されるとともに、出力遅延量Dt1−4から出力遅延量Dt1−7にかけて順次設定されるようになっている。
さらに、図示を省略するが、SDRAM300が両面実装されたDIMMにおいては、例えば、SDRAM300−0とSDRAM300−1とが、SDRAM300−2とSDRAM300−3とが、SDRAM300−4とSDRAM300−5とが、SDRAM300−6とSDRAM300−7とが、それぞれ両面実装されている場合には、各出力遅延量Dt1−0〜Dt1−7は、出力遅延量Dt1−2から出力遅延量Dt1−0に、出力遅延量Dt1−3から出力遅延量Dt1−1に、出力遅延量Dt1−4から出力遅延量Dt1−6に、出力遅延量Dt1−5から出力遅延量Dt1−7に、それぞれ順次設定されるようになっている。
そして、上述した本発明の第2実施形態においては、処理部13が、遅延時間制御プログラム(遅延量設定プログラム)を実行することにより、これらの出力遅延量設定部23および入力遅延量設定部24として機能するようになっている。
なお、これらの出力遅延量設定部23および入力遅延量設定部24としての機能を実現するためのプログラム(遅延時間制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD−DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
出力遅延量設定部23および入力遅延量設定部24としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本発明の第2実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU(Central Processing Unit)等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本発明の第2実施形態においては、情報処理装置10a,10b,10cがコンピュータとしての機能を有しているのである。
さらに、本発明の第2実施形態における記録媒体としては、上述したフレキシブルディスク,CD,DVD,ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
〔6〕付記
上記実施形態に関し、更に以下の付記を開示する。
(付記1) 信号が入力されてから出力するまでの遅延量を変更可能な可変遅延回路であって、
該信号を第1遅延量だけ遅延させる第1遅延部と、
該信号を該第1遅延量よりも大きい第2遅延量だけ遅延させる第2遅延部と、
該遅延量が該第1遅延部で遅延可能な最大遅延量を超える場合に、該遅延量が該第1遅延量と該第2遅延量との和になる信号経路を選択する遅延量選択部とをそなえることを特徴とする、可変遅延回路。
(付記2) 該第2遅延部は、
該遅延量に基づいて、複数種類のタイミング信号のうちのいずれかを選択する選択回路と、
該選択回路により選択された該タイミング信号に応じて、該信号を該第2遅延量だけ遅延させる順序回路とをそなえることを特徴とする、付記1に記載の可変遅延回路。
(付記3) 該第1遅延部は、該信号を、直列に接続された所定数の該遅延素子に通過させることにより該第1遅延量だけ遅延させるデジタル遅延回路で構成されていることを特徴とする、付記1または付記2に記載の可変遅延回路。
(付記4) 該順序回路がDフリップフロップで構成されていることを特徴とする、付記1〜3のいずれか1項に記載の可変遅延回路。
(付記5) 該順序回路がDラッチで構成されていることを特徴とする、付記1〜3のいずれか1項に記載の可変遅延回路。
(付記6) ライトレベリング機能をそなえ、複数のメモリに対して制御を行なうメモリ制御回路であって、
前記複数のメモリに対応してそれぞれ、
該メモリに出力するデータストローブ出力信号を、該ライトレベリング機能を用いて設定された出力遅延量だけ遅延させる出力用可変遅延回路をそなえ、
該出力用可変遅延回路が、
該データストローブ出力信号を第1出力遅延量だけ遅延させる第1出力遅延部と、
該データストローブ出力信号を該第1出力遅延量よりも大きい第2出力遅延量だけ遅延させる第2出力遅延部と、
該出力遅延量が該第1出力遅延部で遅延可能な最大出力遅延量を超える場合に、該出力遅延量が該第1出力遅延量と該第2出力遅延量との和になる信号経路を選択する出力遅延量選択部とをそなえることを特徴とする、メモリ制御回路。
(付記7) 前記複数のメモリは、クロック信号線がデイジーチェーンで配線されていることを特徴とする、付記6に記載のメモリ制御回路。
(付記8) 該第2出力遅延部は、
該出力遅延量に基づいて、複数種類のタイミング信号のうちのいずれかを選択する出力用選択回路と、
該出力用選択回路により選択された該タイミング信号に応じて、該データストローブ出力信号を該第2出力遅延量だけ遅延させる出力用順序回路とをそなえることを特徴とする、付記6または付記7に記載のメモリ制御回路。
(付記9) 該タイミング信号が、該メモリに対してリード(read)/ライト(write)動作の制御を行なう際に用いられるクロック信号であることを特徴とする、付記8に記載のメモリ制御回路。
(付記10) ライトレベリング機能をそなえ、複数のメモリに対して制御を行なうメモリ制御回路であって、
前記複数のメモリに対応してそれぞれ、
該メモリから入力されるデータ入力信号を、該ライトレベリング機能を用いて設定された該メモリに出力するデータストローブ出力信号の出力遅延量に応じて設定された入力遅延量だけ遅延させる入力用可変遅延回路をそなえ、
該入力用可変遅延回路が、
該データ入力信号を第1入力遅延量だけ遅延させる第1入力遅延部と、
該データ入力信号を該第1入力遅延量よりも大きい第2入力遅延量だけ遅延させる第2入力遅延部と、
該入力遅延量が該第1入力遅延部で遅延可能な最大入力遅延量を超える場合に、該入力遅延量が該第1入力遅延量と該第2入力遅延量との和になる信号経路を選択する入力遅延量選択部とをそなえることを特徴とする、メモリ制御回路。
(付記11) 前記複数のメモリは、クロック信号線がデイジーチェーンで配線されていることを特徴とする、付記10に記載のメモリ制御回路。
(付記12) 該第2入力遅延部は、
該入力遅延量に基づいて、複数種類のタイミング信号のうちのいずれかを選択する入力用選択回路と、
該入力用選択回路により選択された該タイミング信号に応じて、該データ入力信号を該第2入力遅延量だけ遅延させる入力用順序回路とをそなえることを特徴とする、付記10または付記11に記載のメモリ制御回路。
(付記13) 該タイミング信号が、該メモリに対してリード(read)/ライト(write)動作の制御を行なう際に用いられる信号であることを特徴とする、付記12に記載のメモリ制御回路。
(付記14) 付記6〜13に記載されたメモリ制御回路の該出力遅延量を、前記複数のメモリに対応してそれぞれ設定する遅延量設定装置であって、
一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定部をそなえることを特徴とする、遅延量設定装置。
(付記15) 該出力遅延量設定部は、前記複数のメモリに対応するそれぞれの該出力遅延量を、クロック信号線の配線経路に沿って順次設定することを特徴とする、付記14に記載の遅延量設定装置。
(付記16) 該出力遅延量設定部は、前記一のメモリと隣り合う前記他のメモリに対応する設定済の出力遅延量を開始遅延量として、当該開始遅延量を段階的に変更することにより、前記設定対象の出力遅延量を設定することを特徴とする、付記15に記載の遅延量設定装置。
(付記17) 付記6〜13に記載されたメモリ制御回路の該出力遅延量を、前記複数のメモリに対応してそれぞれ設定する遅延量設定方法であって、
一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定ステップをそなえることを特徴とする、遅延量設定方法。
(付記18) 該出力遅延量設定ステップにおいて、前記複数のメモリに対応するそれぞれの該出力遅延量を、クロック信号線の配線経路に沿って順次設定することを特徴とする、付記17に記載の遅延量設定方法。
(付記19) 該出力遅延量設定ステップにおいて、前記一のメモリと隣り合う前記他のメモリに対応する設定済の出力遅延量を開始遅延量として、当該開始遅延量を段階的に変更することにより、前記設定対象の出力遅延量を設定することを特徴とする、付記18に記載の遅延量設定方法。
(付記20) 付記6〜13に記載されたメモリ制御回路の該出力遅延量を、前記複数のメモリに対応してそれぞれ設定する遅延量設定機能をコンピュータに実行させるための遅延量設定プログラムであって、
一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定部として、該コンピュータを機能させることを特徴とする、遅延量設定プログラム。
本発明の第1実施形態としての可変遅延回路の構成例を模式的に示す図である。 本発明の第1実施形態としての可変遅延回路の動作を説明するためのタイミングチャートである。 本発明の第2実施形態としての情報処理装置の構成例を模式的に示す図である。 本発明の第2実施形態としての情報処理装置の構成例を模式的に示す図である。 本発明の第2実施形態としての情報処理装置のメモリコントローラの回路構成例を模式的に示す図である。 本発明の第2実施形態としての情報処理装置のメモリコントローラの回路構成例を模式的に示す図である。 本発明の第2実施形態としての情報処理装置の出力遅延量設定部におけるライトレベリング機能を説明するための図である。 本発明の第2実施形態としての情報処理装置の出力遅延量設定部において遅延量を設定する順序を説明するための図、 本発明の第2実施形態としての情報処理装置の出力遅延量設定部において遅延量を設定する順序を示すタイミングチャートである。 本発明の第2実施形態としての情報処理装置の出力遅延量設定部において出力遅延量を設定する順序を示すフローチャートである。 本発明の第2実施形態の第1変形例としての情報処理装置におけるメモリコントローラの回路構成例を模式的に示す図である。 本発明の第2実施形態の第2変形例としての情報処理装置におけるメモリコントローラの回路構成例を模式的に示す図である。 本発明の第2実施形態の情報処理装置の他の構成例を模式的に示す図である。 従来の可変遅延回路の構成例を模式的に示す図である。
符号の説明
100 可変遅延回路
101 第1遅延回路(第1遅延部,第1出力遅延部,第1入力遅延部)
102 第2遅延回路(第2遅延部,第2出力遅延部,第2入力遅延部)
103 セレクタ(遅延量選択部,出力遅延量選択部,入力遅延量選択部)
104 セレクタ(選択回路,出力用選択回路,入力用選択回路)
105 Dフリップフロップ(順序回路,出力用順序回路,入力用順序回路)
10a,10b,10c 情報処理装置(遅延量設定装置)
11 DIMM
300,300−0〜300−n SDRAM
12 メモリコントローラ(メモリ制御回路)
13 処理部
14 第1クロック信号生成部
15−0〜15−n 制御回路ユニット
16 DQS信号生成部
17,17−0〜17−k DQ信号制御部
18 第2クロック信号生成部
19,19−0〜19−k DQ信号出力制御部
20,20−0〜20−k DQ信号入力制御部
22 遅延時間制御部
23 出力遅延量設定部
24 入力遅延量設定部
25 第4クロック信号生成部
26 第5クロック信号生成部
27 第6クロック信号生成部
28 第7クロック信号生成部
d1 出力制御信号
d2 入力制御信号
DW,DW0,DW1,DW0b,DW1b,DW0c,DW1c 出力用可変遅延回路(可変遅延回路)
DR,DR1,DR2,DR1b,DR2b,DR1c,DR2c 入力用可変遅延回路(可変遅延回路)
DR0 リード側DQS遅延回路

Claims (8)

  1. 信号が入力されてから出力するまでの遅延量を変更可能な可変遅延回路であって、
    該信号を第1遅延量だけ遅延させる第1遅延部と、
    該遅延量に基づき入力される第1選択信号に従って、複数種類のタイミング信号のうちのいずれかを選択する選択回路と、該選択回路により選択された該タイミング信号に応じて、該信号を該第1遅延量よりも大きい第2遅延量だけ遅延させる順序回路とをそなえる第2遅延部と、
    入力される第2選択信号に従って、該遅延量が該第1遅延部で遅延可能な最大遅延量を超える場合に、該遅延量が該第1遅延量と該第2遅延量との和になる信号経路を選択する遅延量選択部とをそなえることを特徴とする、可変遅延回路。
  2. ライトレベリング機能をそなえ、複数のメモリに対して制御を行なうメモリ制御回路であって、
    前記複数のメモリに対応してそれぞれ、
    該メモリに出力するデータストローブ出力信号を、該ライトレベリング機能を用いて設定された出力遅延量だけ遅延させる出力用可変遅延回路をそなえ、
    該出力用可変遅延回路が、
    該データストローブ出力信号を第1出力遅延量だけ遅延させる第1出力遅延部と、
    該出力遅延量に基づき入力される第1選択信号に従って、複数種類のタイミング信号のうちのいずれかを選択する出力用選択回路と、該出力用選択回路により選択された該タイミング信号に応じて、該データストローブ出力信号を該第1遅延量よりも大きい第2出力遅延量だけ遅延させる出力用順序回路とをそなえる第2出力遅延部と、
    入力される第2選択信号に従って、該出力遅延量が該第1出力遅延部で遅延可能な最大出力遅延量を超える場合に、該出力遅延量が該第1出力遅延量と該第2出力遅延量との和になる信号経路を選択する出力遅延量選択部とをそなえることを特徴とする、メモリ制御回路。
  3. 該タイミング信号が、該メモリに対してリード(read)/ライト(write)動作の制御
    を行なう際に用いられるクロック信号であることを特徴とする、請求項2に記載のメモリ制御回路。
  4. ライトレベリング機能をそなえ、複数のメモリに対して制御を行なうメモリ制御回路であって、
    前記複数のメモリに対応してそれぞれ、
    該メモリから入力されるデータ入力信号を、該ライトレベリング機能を用いて設定された該メモリに出力するデータストローブ出力信号の出力遅延量に応じて設定された入力遅延量だけ遅延させる入力用可変遅延回路をそなえ、
    該入力用可変遅延回路が、
    該データ入力信号を第1入力遅延量だけ遅延させる第1入力遅延部と、
    該入力遅延量に基づき入力される第1選択信号に従って、複数種類のタイミング信号のうちのいずれかを選択する入力用選択回路と、該入力用選択回路により選択された該タイミング信号に応じて、該データ入力信号を該第1遅延量よりも大きい第2入力遅延量だけ遅延させる入力用順序回路とをそなえる第2入力遅延部と、
    入力される第2選択信号に従って、該入力遅延量が該第1入力遅延部で遅延可能な最大入力遅延量を超える場合に、該入力遅延量が該第1入力遅延量と該第2入力遅延量との和になる信号経路を選択する入力遅延量選択部とをそなえることを特徴とする、メモリ制御回路。
  5. 請求項2〜4に記載されたメモリ制御回路の該出力遅延量を、前記複数のメモリに対応してそれぞれ設定する遅延量設定装置であって、
    一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定部をそなえることを特徴とする、遅延量設定装置。
  6. 該出力遅延量設定部は、前記複数のメモリに対応するそれぞれの該出力遅延量を、クロック信号線の配線経路に沿って順次設定することを特徴とする、請求項5に記載の遅延量設定装置。
  7. 請求項2〜4に記載されたメモリ制御回路の該出力遅延量を、前記複数のメモリに対応してそれぞれ設定する遅延量設定方法であって、
    一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定ステップをそなえることを特徴とする、遅延量設定方法。
  8. 請求項2〜4に記載されたメモリ制御回路の該出力遅延量を、前記複数のメモリに対応してそれぞれ設定する遅延量設定機能をコンピュータに実行させるための遅延量設定プログラムであって、
    一のメモリに対応する設定対象の出力遅延量を、他のメモリに対応する設定済の出力遅延量に基づいて設定する出力遅延量設定部として、該コンピュータを機能させることを特徴とする、遅延量設定プログラム。
JP2007300818A 2007-11-20 2007-11-20 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム Expired - Fee Related JP5369430B2 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
JP2007300818A JP5369430B2 (ja) 2007-11-20 2007-11-20 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム
US12/195,914 US7957210B2 (en) 2007-11-20 2008-08-21 Variable delay circuit, memory control circuit, delay amount setting apparatus, delay amount setting method and computer-readable recording medium in which delay amount setting program is recorded
TW097132372A TWI389136B (zh) 2007-11-20 2008-08-25 記憶體控制電路、延遲量設定裝置、延遲量設定方法以及電腦程式產品
DE602008003508T DE602008003508D1 (de) 2007-11-20 2008-08-28 Variable Verzögerungsschaltung, Speichersteuerungsschaltung, Vorrichtung zur Einstellung der Verzögerungsdauer, Verfahren zur Einstellung der Verzögerungsdauer und Programm zur Einstellung der Verzögerungsdauer
EP08163124A EP2065894B1 (en) 2007-11-20 2008-08-28 Variable delay circuit, memory control circuit, delay amount setting apparatus, delay amount setting method and delay amount setting program
KR1020080092358A KR101082748B1 (ko) 2007-11-20 2008-09-19 가변 지연 회로, 메모리 제어 회로, 지연량 설정 장치, 지연량 설정 방법 및 지연량 설정 프로그램을 기록한 컴퓨터 판독 가능 기록 매체
CN2008101492510A CN101442301B (zh) 2007-11-20 2008-09-22 可变延迟电路、存储器控制电路、延迟量设置装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007300818A JP5369430B2 (ja) 2007-11-20 2007-11-20 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム

Publications (2)

Publication Number Publication Date
JP2009130455A JP2009130455A (ja) 2009-06-11
JP5369430B2 true JP5369430B2 (ja) 2013-12-18

Family

ID=40251786

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007300818A Expired - Fee Related JP5369430B2 (ja) 2007-11-20 2007-11-20 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム

Country Status (7)

Country Link
US (1) US7957210B2 (ja)
EP (1) EP2065894B1 (ja)
JP (1) JP5369430B2 (ja)
KR (1) KR101082748B1 (ja)
CN (1) CN101442301B (ja)
DE (1) DE602008003508D1 (ja)
TW (1) TWI389136B (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7284321B1 (ja) 2022-05-27 2023-05-30 誠 植村 地下構造物の構築法およびそれに使用するコンクリート函体

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7948816B2 (en) * 2009-03-24 2011-05-24 Arm Limited Accessing data within a memory formed of memory banks
US7952945B2 (en) * 2009-03-30 2011-05-31 Cadence Design Systems, Inc. Method and apparatus for determining write leveling delay for memory interfaces
KR20100117345A (ko) * 2009-04-24 2010-11-03 삼성전자주식회사 반도체 메모리 장치
WO2011077573A1 (ja) 2009-12-25 2011-06-30 富士通株式会社 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法
US8296704B1 (en) * 2010-07-09 2012-10-23 Altera Corporation Method and apparatus for simultaneous switching noise optimization
KR101854251B1 (ko) * 2010-11-30 2018-05-03 삼성전자주식회사 멀티 채널 반도체 메모리 장치 및 그를 구비하는 반도체 장치
JP2012252530A (ja) 2011-06-03 2012-12-20 Fujitsu Ltd メモリコントローラ及び制御方法
JP5807952B2 (ja) * 2011-09-06 2015-11-10 Necプラットフォームズ株式会社 メモリコントローラ及びメモリ制御方法
JP5673842B2 (ja) 2011-09-21 2015-02-18 富士通株式会社 半導体装置
US8520455B2 (en) 2012-01-10 2013-08-27 Apple Inc. Method and apparatus for training a DLL in a memory subsystem
JP6179206B2 (ja) * 2013-06-11 2017-08-16 株式会社リコー メモリ制御装置
JP6273856B2 (ja) * 2014-01-24 2018-02-07 富士通株式会社 メモリコントローラ及び情報処理装置
JP6327605B2 (ja) * 2014-02-10 2018-05-23 パナソニックIpマネジメント株式会社 可変シフタ、ldpc復号器、及びデータシフト方法
US9209961B1 (en) * 2014-09-29 2015-12-08 Apple Inc. Method and apparatus for delay compensation in data transmission
JP6440481B2 (ja) * 2014-12-15 2018-12-19 ルネサスエレクトロニクス株式会社 半導体装置
KR102296860B1 (ko) 2019-12-04 2021-09-01 주식회사 핑거 보이스피싱 탐지 시스템

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6570944B2 (en) 2001-06-25 2003-05-27 Rambus Inc. Apparatus for data recovery in a synchronous chip-to-chip system
JPH0335613A (ja) * 1989-07-03 1991-02-15 Nippon Telegr & Teleph Corp <Ntt> 遅延調整回路およびこれを用いたデータ処理装置
JPH1116340A (ja) * 1997-06-26 1999-01-22 Mitsubishi Electric Corp 半導体集積回路
JP3560780B2 (ja) * 1997-07-29 2004-09-02 富士通株式会社 可変遅延回路及び半導体集積回路装置
JP3727778B2 (ja) * 1998-05-07 2005-12-14 株式会社東芝 データ高速転送同期システム及びデータ高速転送同期方法
JP2000148285A (ja) * 1998-11-13 2000-05-26 Hitachi Ltd 集積回路およびタイミング調整方法
US6629250B2 (en) 1999-04-23 2003-09-30 Cray Inc. Adjustable data delay using programmable clock shift
US6917660B2 (en) * 2001-06-04 2005-07-12 Intel Corporation Adaptive de-skew clock generation
US7072433B2 (en) * 2001-07-11 2006-07-04 Micron Technology, Inc. Delay locked loop fine tune
US7369445B2 (en) * 2001-07-20 2008-05-06 Samsung Electronics Co., Ltd. Methods of operating memory systems including memory devices set to different operating modes and related systems
US7102958B2 (en) * 2001-07-20 2006-09-05 Samsung Electronics Co., Ltd. Integrated circuit memory devices that support selective mode register set commands and related memory modules, memory controllers, and methods
JP2005286467A (ja) * 2004-03-29 2005-10-13 Fujitsu Ltd デジタルdll装置、デジタルdll制御方法、デジタルdll制御プログラム
DE102005021894A1 (de) 2004-05-08 2006-01-12 Samsung Electronics Co., Ltd., Suwon Speichersytem, IC-Speicherbauelement und Betriebsverfahren
JP3821825B2 (ja) * 2004-12-27 2006-09-13 Nttエレクトロニクス株式会社 タイミング発生回路
DE102005019041B4 (de) * 2005-04-23 2009-04-16 Qimonda Ag Halbleiterspeicher und Verfahren zur Anpassung der Phasenbeziehung zwischen einem Taktsignal und Strobe-Signal bei der Übernahme von zu übertragenden Schreibdaten
JP4786262B2 (ja) * 2005-09-06 2011-10-05 ルネサスエレクトロニクス株式会社 インターフェイス回路

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7284321B1 (ja) 2022-05-27 2023-05-30 誠 植村 地下構造物の構築法およびそれに使用するコンクリート函体

Also Published As

Publication number Publication date
US7957210B2 (en) 2011-06-07
KR101082748B1 (ko) 2011-11-10
DE602008003508D1 (de) 2010-12-30
CN101442301A (zh) 2009-05-27
EP2065894B1 (en) 2010-11-17
US20090129179A1 (en) 2009-05-21
JP2009130455A (ja) 2009-06-11
TW200923963A (en) 2009-06-01
KR20090052268A (ko) 2009-05-25
EP2065894A1 (en) 2009-06-03
CN101442301B (zh) 2011-07-20
TWI389136B (zh) 2013-03-11

Similar Documents

Publication Publication Date Title
JP5369430B2 (ja) 可変遅延回路,メモリ制御回路,遅延量設定装置,遅延量設定方法および遅延量設定プログラム
JP4382842B2 (ja) メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム
US8780655B1 (en) Method and apparatus for aligning a clock signal and a data strobe signal in a memory system
US9997220B2 (en) Apparatuses and methods for adjusting delay of command signal path
US9001594B2 (en) Apparatuses and methods for adjusting a path delay of a command path
KR20120110431A (ko) 반도체 메모리 장치
CN101446841B (zh) 确定存储器控制器时钟校准值的方法及系统
JP4551431B2 (ja) 可変遅延回路,遅延時間制御方法および単位回路
JP2009217344A (ja) メモリデバイス及びメモリシステム並びにメモリシステムにおけるアクセスタイミング調整方法
KR101597063B1 (ko) 메모리 컨트롤러 및 메모리 제어 방법
KR102478044B1 (ko) 반도체 시스템
JP6387883B2 (ja) 情報処理装置、情報処理システム、情報処理装置の制御プログラムおよび情報処理装置の制御方法
JP2015103262A (ja) 半導体装置
JP2012203515A (ja) 半導体装置
KR20060053431A (ko) 고속 메모리 장치용 데이타 출력 제어 장치 및 그 제어 방법
JP2010079520A (ja) メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
JP6962130B2 (ja) データ送受信システム、データ送受信装置およびデータ送受信システムの制御方法
CN114518837B (zh) 运用于存储器系统的多循环写入均衡程序的处理方法
KR20130046122A (ko) 반도체 메모리 장치 및 그 동작 방법
JP2006065470A (ja) メモリ制御方法および装置
KR20160075058A (ko) 반도체 메모리 장치 및 그의 동작 방법
KR20060075612A (ko) 반도체 장치
JP2016076284A (ja) 半導体装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100616

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120508

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20121204

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130130

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: 20130820

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130902

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees