JP4382842B2 - メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム - Google Patents

メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム Download PDF

Info

Publication number
JP4382842B2
JP4382842B2 JP2007241610A JP2007241610A JP4382842B2 JP 4382842 B2 JP4382842 B2 JP 4382842B2 JP 2007241610 A JP2007241610 A JP 2007241610A JP 2007241610 A JP2007241610 A JP 2007241610A JP 4382842 B2 JP4382842 B2 JP 4382842B2
Authority
JP
Japan
Prior art keywords
delay time
delay
memory
signal
sdram
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
JP2007241610A
Other languages
English (en)
Other versions
JP2009075682A (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 JP2007241610A priority Critical patent/JP4382842B2/ja
Priority to US12/209,740 priority patent/US8020022B2/en
Priority to KR1020080091315A priority patent/KR100951600B1/ko
Publication of JP2009075682A publication Critical patent/JP2009075682A/ja
Application granted granted Critical
Publication of JP4382842B2 publication Critical patent/JP4382842B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/4076Timing circuits
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • 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
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1078Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
    • G11C7/1093Input synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2254Calibration

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Dram (AREA)
  • Memory System (AREA)

Description

本発明は、DDR3メモリインタフェイス等のような、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なう技術に関する。
近年、JEDEC(Joint Electron Device Engineering Council)において、DDR3(Double Data Rate 3)メモリインタフェイスが、DRAM(Dynamic Random Access Memory)の規格として標準化された(例えば、非特許文献1参照)。このDDR3メモリインタフェイスでは、従来のDDR(Double Data Rate)メモリインタフェイスやDDR2(Double Data Rate 2)メモリインタフェイスと違い(例えば、特許文献1〜3参照)、メモリコントローラとDIMM(Dual Inline Memory Module)モジュールとの接続にフライバイトポロジが採用されている。
図19は従来のDDR3メモリインタフェイスの構成例を模式的に示す図、図20はそのライトレベリング動作を説明するための図である。
このフライバイトポロジにおいては、例えば、図19に示すように、クロック信号CK,アドレス信号Addおよびコマンド信号CMDのデータ信号線については、メモリコントローラ90とDIMMモジュール91上の複数(n個;nは2以上の自然数)のSDRAM(Synchronous Dynamic Random Access Memory)92−1〜92−nとがデイジーチェーンで配線され、データ信号DQおよびデータストローブ信号DQSのデータ信号線については、メモリコントローラ90からDIMM91上の複数のSDRAM92−1〜92−nにそれぞれ配線されている。
なお、以下、SDRAMを示す符号としては、複数のSDRAMのうち1つを特定する必要があるときは符号92−1〜92−nを用いるが、任意のSDRAMを指すときには符号92を用いる。
また、以下、データ信号を示す符号としては、複数のデータ信号のうち1つを特定する必要があるときは符号DQ−1〜DQ−nを用いるが、任意のデータ信号を指すときには符号DQを用いる。
なお、以下、データストローブ信号を示す符号としては、複数のデータストローブ信号のうち1つを特定する必要があるときは符号DQS−1〜DQS−nを用いるが、任意のデータストローブ信号を指すときには符号DQSを用いる。
このように、DDR3メモリインタフェイスにおいては、クロック信号CKのデータ信号線が複数のSDRAM92−1〜92−nに対してデイジーチェーンで配線されており伝播遅延が生じるので、メモリコントローラ90から出力されたクロック信号CKは、全てのSDRAM92−1〜92−nに同時刻に到達することができない。例えば、JEDECの規格では、DIMMモジュール91の外形寸法の長さL1が133mmと決められており、DIMMモジュール91における長さ方向の一方端に配置されたSDRAM92−1と他方端に配置されたSDRAM92−nとでは、データ送信速度が7ps/mmである場合には、1ns近い到達時刻差が生じることとなる(7ps/mm×133mm=931ps)。
そのため、DDR3メモリインタフェイスについて、JEDECの規格では、ライトレベリング機能を用いることが規定されている。
このライトレベリング機能とは、メモリコントローラ90から出力されるデータストローブ信号DQSでクロック信号CKをサンプリングすることによって、データストローブ信号DQSとクロック信号CKの位相関係を検出し、データストローブ信号DQSの遅延時間の調整(補正)を行なう機能であり、図20に示すように、各データストローブ信号DQS−1〜DQS−nの遅延時間を変えることのできる可変遅延回路93−1〜93−nを、メモリコントローラ90内に、複数のSDRAM92−1〜92−nに対応してそれぞれ内蔵することにより実現される。
なお、以下、遅延回路を示す符号としては、複数の遅延回路のうち1つを特定する必要があるときは符号93−1〜93−nを用いるが、任意の遅延回路を指すときには符号93を用いる。
具体的には、CPU(Central Processing Unit;図示省略)が、クロック信号線がデイジーチェーンで配線された複数のSDRAM92−1〜92−nのそれぞれに対して出力されるデータストローブ信号DQS−1〜DQS−nに対して、これらのSDRAM92−1〜92−nから出力される各データ信号DQ−1〜DQ−nに基づいてそれぞれ遅延時間t1−1〜t1−nを設定することにより、各データストローブ信号DQS−1〜DQS−nが、複数のSDRAM92−1〜92−nのそれぞれに対して、クロック信号CKとほぼ同じ時間に入力するように調整される。
つまり、例えば、ライトレベリングが完了した時点では、DIMM91上の全てのSDRAM92−1〜92−nにそれぞれ対応する遅延回路93−1〜93−nにおいて、それぞれ、遅延時間t1−1〜t1−nだけデータストローブ信号DQSを遅延させることにより、これらのSDRAM92−1〜92−nには、データストローブ信号DQSとクロック信号CKとの位相が揃って入力される。
これにより、DDR3メモリインタフェイスにおいては、ライトレベリング機能を用いて、メモリコントローラ90とSDRAM92との間のライト(write)動作時の遅延時間差の調整を行なうのである。
なお、この場合においては、デイジーチェーンで配線されたデータ信号線を介してクロック信号CKがSDRAM92−1〜92−nに入力されることから、遅延時間t1−1〜t1−nは一致していない。
JDEC STANDARD(JESD79−3;DDR3 SDRAM Standard) 特開2003−99321号公報 特開2005−78547号公報 特開2005−209168号公報
しかしながら、JEDEC規格では、上述したように、ライト動作時において各データストローブ信号DQS−1〜DQS−nが各SDRAM92−1〜92−nに到達する時間の調整を行なうことは規定されているが、リード(read)動作時に関しては規定されておらず、一切論じられていない。
図21は従来のDDR3メモリインタフェイスにおけるリード動作を説明するための図である。
リード動作時においては、図21に示すように、各SDRAM92−1〜92−nは、メモリコントローラ90からのクロック信号CKがデイジーチェーンで配線されたデータ信号線を介して入力されると、データ信号DQ−1〜DQ−nおよびデータストローブ信号DQS−1〜DQS−nをメモリコントローラ90に出力するようになっている。
そのため、クロック信号CKが最後に入力されるSDRAM92−nから出力されるデータ信号DQ−nおよびデータストローブ信号DQS−nは、例えば、データ送信速度が上記と同様に7ps/mmである場合には、クロック信号CKが最初に入力されるSDRAM92−1から出力されるデータ信号DQ−1およびデータストローブ信号DQS−1に比べ、1ns近く遅延してメモリコントローラ90に到達することとなる(7ps/mm×133mm=931ps)。
この1ns近い遅延は、DDR3メモリインタフェイスの一般的なデータ周期(最小で0.625ns)より大きくなるため、SDRAM92のデータを読み込む際に影響を与えるおそれがある。
本発明は、このような課題に鑑み創案されたもので、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、リード(read)動作の制御を行なう場合において、複数のメモリから出力されたデータ信号の入力時間を容易に揃えることを目的とする。
上記目的を達成するために、本発明のメモリ制御回路(請求項1)は、ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路であって、前記複数のメモリに対応してそれぞれ、該ライト動作時において、該メモリに出力するデータストローブ信号を、該ライトレベリング機能を用いて設定された第1遅延時間だけ遅延させる第1可変遅延部と、該リード動作時において、該メモリから入力されるデータ信号を、該第1遅延時間に基づいて設定された第2遅延時間だけ遅延させる第2可変遅延部とをそなえることを特徴としている。
また、該メモリ制御回路と前記複数のメモリとの間をつなぐ複数のデータ信号線が等長に形成されることが好ましい(請求項2)。
さらに、一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、予め設定された設定値になるように設定されてもよい(請求項3)。
また、一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、他の該メモリに対応する該第1遅延時間と該第2遅延時間との和と等しくなるように設定されることが好ましい(請求項4)。
さらに、一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と前記複数のメモリに対応する複数の第1遅延時間のうちの最大遅延時間との差分であってもよい(請求項5)。
また、該第1可変遅延部および該第2可変遅延部が、デジタル遅延回路で構成されることが好ましい(請求項6)。
さらに、該第1可変遅延部は、複数の単位回路を直列に接続して構成され、前記メモリに出力するデータ信号を、所定数の該単位回路を通過させることにより該第1遅延時間だけ遅延させるデジタル遅延回路で構成され、該第2可変遅延部は、複数の単位回路を直列に接続して構成され、前記メモリから入力されるデータ信号を、所定数の該単位回路を通過させることにより該第2遅延時間だけ遅延させるデジタル遅延回路で構成されることが好ましい(請求項7)。
なお、本発明の遅延時間制御装置(請求項8)は、ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御装置であって、該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御部と、該第1遅延時間制御部によって設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御部とをそなえることを特徴としている。
また、本発明の遅延時間制御方法(請求項9)は、ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御方法であって、該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御ステップと、該第1遅延時間制御ステップにおいて設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御ステップとをそなえることを特徴としている。
さらに、本発明の遅延時間制御プログラム(請求項10)は、ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御機能をコンピュータに実行させるための遅延時間制御プログラムであって、該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御部と、該第1遅延時間制御部によって設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御部として、該コンピュータを機能させることを特徴としている。
本発明によれば、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、ライトレベリング機能を用いて設定された第1遅延時間に基づいて、リード動作時においてメモリから入力されるデータ信号の第2遅延時間を設定することにより、クロック信号線がデイジーチェーンで配線された複数のメモリから出力されたデータ信号の入力時間を容易に揃えることができ、従って、リード(read)動作の制御を行なう場合において、データ信号の伝播遅延による不具合を防止することができる(請求項1,8〜10)。
また、ライトレベリング機能を用いて設定された第1遅延時間に基づいて第2遅延時間だけ遅延させる第2可変遅延部をそなえることにより、クロック信号線がデイジーチェーンで配線された複数のメモリから出力されたデータ信号の入力時間を揃えることが可能なメモリインタフェイスを、FIFO等のような特別な機構を設けることなく簡易に実現することができる(請求項1,6,7)。
さらに、メモリ制御回路と複数のメモリとの間をつなぐデータ信号線が等長に形成されることにより、第2遅延時間の計算式が簡略化され、リード動作時においてメモリから入力されるデータ信号の第2遅延時間を容易に得ることができる(請求項2)。
また、一のメモリに対応する第1遅延時間と第2遅延時間との和が、予め設定された設定値になるように設定したり、一のメモリに対応する第1遅延時間と第2遅延時間との和が、他のメモリに対応する第1遅延時間と第2遅延時間との和と等しくなるように設定したりすることにより、複数のメモリのそれぞれについての第2遅延時間を容易に得ることができる(請求項3,4)。
さらに、一のメモリに対応する第2遅延時間を、当該メモリに対応する第1遅延時間と複数のメモリに対応する複数の第1遅延時間のうちの最大遅延時間との差分とすることにより、第2遅延時間の計算式が一般化され、複数のメモリのそれぞれについての第2遅延時間をより容易に得ることができる(請求項5)。
以下、図面を参照しながら本発明の実施の形態について説明する。
〔1〕本発明の第1実施形態の説明
図1は本発明の第1実施形態としての情報処理装置の構成例を模式的に示す図、図2はそのSDRAM−1に対応するメモリコントローラの回路構成例を模式的に示す図、図3はそのSDRAM−nに対応するメモリコントローラの回路構成例を模式的に示す図である。
本実施形態に係る情報処理装置(遅延時間制御装置)10は、図1に示すように、DIMM(Dual Inline Memory Module)11,メモリコントローラ(メモリ制御回路)12およびCPU(Central Processing Unit)13をそなえたコンピュータとして構成されている。
DIMM11は、複数のメモリを搭載したメモリモジュールであって、本実施形態においては、図1に示すように、複数(n個;nは2以上の自然数)のSDRAM(Synchronous DRAM;メモリ)−1〜SDRAM−nをそなえて構成されている。又、nはch(チャンネル)の数を示しており、図中においては、便宜上、SDRAM−1とSDRAM−nのみを示している。なお、SDRAMは既知の技術であり、その詳細な説明を省略する。
また、以下、SDRAMを示す符号としては、複数のSDRAMのうち1つを特定する必要があるときは符号SDRAMの後に“−(ハイフン)”とともに符号1〜nを付して表わすが、任意のSDRAMを指すときには単にSDRAMという。
そして、本実施形態においては、メモリコントローラ12と複数のSDRAM−1〜SDRAM−nとの配線にフライバイトポロジが採用されている。
フライバイトポロジとは、メモリコントローラ12と複数のSDRAM−1〜SDRAM−nとの配線の一部をデイジーチェーンで配線することをいう。
従って、本実施形態においては、後述する第1クロック信号生成部14によって生成されるクロック信号CK1を出力(供給)するためのクロック信号線がSDRAM−1〜SDRAM−nに対してデイジーチェーンで配線されており、図1に示すように、第1クロック信号生成部14に接続されたクロック信号線が、SDRAM−1からSDRAM−nにかけて数珠つなぎに接続されている。又、アドレス信号Addおよびコマンド信号CMDを出力するための信号線についても、クロック信号線と同様に、SDRAM−1〜SDRAM−nに対してデイジーチェーンで配線されている。
そして、メモリコントローラ12と複数のSDRAM−1〜SDRAM−nとの間をつなぐデータ信号線は、メモリコントローラ12から複数のSDRAM−1〜SDRAM−nのそれぞれに並列に接続されており、図2に示す例では、複数のSDRAM−1〜SDRAM−nには、メモリコントローラ12から、データストローブ信号DQSを伝送するための1本のDQS信号線(データ信号線)とデータ信号DQを伝送するためのk本(kは2以上の自然数)のDQ信号線(データ信号線)とがそれぞれ並列に接続されており、又、これらのデータ信号線は互いに等しい線長(等長)に構成されている。即ち、メモリコントローラ12と複数のSDRAM−1〜SDRAM−nとの間をつなぐ複数のデータ信号線は、等長接続されている。
メモリコントローラ12は、クロック信号線がデイジーチェーンで接続された複数のSDRAM−1〜SDRAM−nに対して、クロック信号線を介してクロック信号CKを供給することにより、リード(read)/ライト(write)動作の制御を行なうDDR3(Double Data Rate 3)メモリインタフェイスであって、例えば、図1に示すように、第1クロック信号生成部14および複数の制御回路ユニット15−1〜15−nをそなえて構成されている。
また、メモリコントローラ12は、ライトレベリング機能をそなえている。なお、ライトレベリング機能の詳細については後述する。
複数の制御回路ユニット15−1〜15−nは、上述した複数のSDRAM−1〜SDRAM−nのそれぞれに対応して構成されている。即ち、メモリコントローラ12は、例えば、図1に示すように、SDRAM−1に対応する制御回路ユニット15−1や、SDRAM−nに対応する制御回路ユニット15−nをそなえて構成されている。
なお、以下、制御回路ユニットを示す符号としては、複数の制御回路ユニットのうち1つを特定する必要があるときは符号15の後に“−(ハイフン)”とともに符号1〜nを用いるが、任意の制御回路ユニットを指すときには符号15を用いる。
また、図中においては、便宜上、制御回路ユニット15−1と制御回路ユニット15−nのみを示している。
第1クロック信号生成部14は、後述するCPU13から入力されるクロック信号CLKに基づいて所定周期のクロック信号CK1を生成・出力するものであって、例えば、図2および図3に示すように、クロック信号線を介してDIMM11(SDRAM−1〜SDRAM−n)に出力するとともに、複数の制御回路ユニット15−1〜15−nのそれぞれにも出力するようになっている。この第1クロック信号生成部14は、クロック信号CLKと同じクロック周期のクロック信号をクロック信号CK1として出力してもよく、又、クロック信号CLKを1/2や1/4等の他のクロック周期に変換したクロック信号CK1を出力してもよい。
制御回路ユニット15は、データストローブ信号DQSやデータ信号DQの入出力を制御するものであって、例えば、図1〜図3に示すように、DQS信号生成部16,複数(k個;kは2以上の自然数)のDQ信号制御部17−1〜17−kおよび論理和回路OR(図2,図3参照)をそなえて構成されている。
なお、以下、DQ信号制御部を示す符号としては、DQ信号制御部のうち1つを特定する必要があるときは符号17の後に“−(ハイフン)”とともに符号1〜kを用いるが、任意のDQ信号制御部を指すときには符号17を用いる。
また、図中においては、便宜上、DQ信号制御部17−1とDQ信号制御部17−kのみを示している。
DQS信号生成部16は、データストローブ信号DQSを生成するものであって、制御回路ユニット15に1つそなえられ、例えば、制御回路ユニット15−1においては、図2に示すように、データストローブ信号DQS−1を生成してSDRAM−1に出力するようになっており、制御回路ユニット15−nにおいては、図3に示すように、データストローブ信号DQS−nを生成してSDRAM−nに出力するようになっている。
なお、以下、データストローブ信号を示す符号としては、複数のデータストローブ信号のうち1つを特定する必要があるときは符号DQS−1〜DQS−nを用いるが、任意のデータストローブ信号を指すときには符号DQSを用いる。
このDQS信号生成部16は、例えば、図2および図3に示すように、第1可変遅延回路(第1可変遅延部)DW0,第2クロック信号生成部18およびフリップフロップFF0をそなえて構成されている。
第1可変遅延回路DW0は、後述する第1遅延時間制御部23からの第1制御信号d1に基づいて、後述するCPU13から入力されたクロック信号CLKを所定時間だけ遅延させて出力するものであって、例えば、後述するCPU13から入力されたクロック信号CLKを、後述する第1遅延時間制御部23によって設定された第1遅延時間だけ遅延させて第2クロック信号生成部18に出力するようになっている。
なお、本実施形態においては、複数の制御回路ユニット15−1〜15−nに対してそれぞれ第1遅延時間が設定されている。具体的には、制御回路ユニット15−1における第1可変遅延回路DW0には第1遅延時間Dt1−1が設定されており、同様に、制御回路ユニット15−nにおける第1可変遅延回路DW0には第1遅延時間Dt1−nが設定されている。
なお、以下、第1遅延時間を示す符号としては、複数の第1遅延時間のうち1つを特定する必要があるときは符号Dt1−1〜Dt1−nを用いるが、任意の第1遅延時間を指すときには符号Dt1を用いる。
第2クロック信号生成部18は、後述するCPU13から入力されるクロック信号CLKに基づいてクロック信号CK2を生成・出力(供給)するものであって、例えば、図2および図3に示すように、クロック信号CLKが入力されると、所定周期のクロック信号CK2をフリップフロップFF0および後述するフリップフロップFF2,FF4に出力するようになっている。この第2クロック信号生成部18は、クロック信号CLKと同じクロック周期のクロック信号をクロック信号CK2として出力してもよく、又、クロック信号CLKを1/2や1/4等の他のクロック周期に変換したクロック信号CK2を出力してもよい。
フリップフロップFF0は、第2クロック信号生成部18から入力されたクロック信号CK2に基づいて、データストローブ信号DQSを生成して出力するものであって、例えば、図2および図3に示すように、クロック信号CK2が入力されると、データストローブ信号DQSを生成してSDRAMに出力するようになっている。
DQ信号制御部17は、データ信号DQの入出力を制御するものであって、例えば、図2および図3に示すように、DQ信号入力制御部19とDQ信号出力制御部20とをそなえて構成されている。具体的には、図2および図3に示すように、複数(n個)の制御回路ユニット15−1〜15−nのそれぞれにおいて、DQ信号制御部17−1には、DQ信号入力制御部19−1とDQ信号出力制御部20−1とがそなえられており、同様に、DQ信号制御部17−kには、DQ信号入力制御部19−kとDQ信号出力制御部20−kとがそなえられている。
なお、以下、DQ信号入力制御部を示す符号としては、複数(k個)のDQ信号入力制御部のうち1つを特定する必要があるときは符号19−1〜19−kを用いるが、任意のDQ信号入力制御部を指すときには符号19を用いる。又、以下、DQ信号出力制御部を示す符号としては、複数のDQ信号出力制御部のうち1つを特定する必要があるときは符号20−1〜20−kを用いるが、任意のDQ信号出力制御部を指すときには符号20を用いる。
DQ信号入力制御部19は、ライト動作時において、後述するCPU13から入力されたデータ信号DQをSDRAMに出力する制御を行なうものであって、例えば、制御回路ユニット15−1においては、図2に示すように、複数(k個)のDQ信号入力制御部19−1〜19−kに対応してそれぞれ、後述するCPU13から入力された第1のデータ信号I_DQe-1 [1]および第2のデータ信号I_DQo-1 [1]をデータ信号DQ-1[1]としてSDRAM−1に出力する制御を行なうようになっており、同様に、後述するCPU13から入力された第1のデータ信号I_DQe-1 [k]および第2のデータ信号I_DQo-1 [k]をデータ信号DQ-1[k]としてSDRAM−1に出力する制御を行なうようになっている。
また、DQ信号入力制御部19は、例えば、制御回路ユニット15−nにおいては、図3に示すように、複数のDQ信号入力制御部19−1〜19−kに対応してそれぞれ、後述するCPU13から入力された第1のデータ信号I_DQe-n [1]および第2のデータ信号I_DQo-n [1]をデータ信号DQ-n[1]としてSDRAM−nに出力する制御を行なうようになっており、同様に、後述するCPU13から入力された第1のデータ信号I_DQe-n [k]および第2のデータ信号I_DQo-n [k]をデータ信号DQ-n[k]としてSDRAM−nに出力する制御を行なうようになっている。
なお、以下、第1のデータ信号を示す符号としては、複数の第1のデータ信号のうち1つを特定する必要があるときは符号I_DQe-1 [1]〜I_DQe-1 [k]や、符号I_DQe-n [1]〜I_DQe-n [k]を用いるが、任意の第1のデータ信号を指すときには符号I_DQeを用いる。又、以下、第2のデータ信号を示す符号としては、複数の第2のデータ信号のうち1つを特定する必要があるときは符号I_DQo-1 [1]〜I_DQo-1 [k]や、I_DQo-n [1]〜I_DQo-n [k]を用いるが、任意の第2のデータ信号を指すときには符号I_DQoを用いる。
そして、以下、データ信号を示す場合において、第1のデータ信号および第2のデータ信号を特定する必要があるときは、第1のデータ信号を示す符号I_DQeおよびI_DQe-1 [1]〜I_DQe-1 [k], I_DQe-n [1]〜I_DQe-n [k]や、第2のデータ信号を示す符号I_DQoおよびI_DQo-1 [1]〜I_DQo-1 [k],I_DQo-n [1]〜I_DQo-n [k]を用いるが、第1のデータ信号および第2のデータ信号を特定する必要がないときは、SDRAM−1〜SDRAM−nのそれぞれに対応するデータ信号を示す符号DQ-1[1]〜DQ-1[k],DQ-n[1]〜DQ-n[k]を用い、更に、任意のデータ信号を指すときには符号DQを用いる。又、第1のデータ信号および第2のデータ信号を特定する必要がない場合において、便宜上、SDRAM−1〜SDRAM−nのそれぞれに対応するデータ信号を示す符号DQ-1 [1]〜DQ-1 [k],DQ-n [1]〜DQ-n [k]に代えて符号DQ−1〜DQ−nを用いる場合もある。
即ち、SDRAM−1に対応する第1のデータ信号I_DQe-1 [1]〜I_DQe-1 [k]が、第1のデータ信号I_DQe,データ信号DQ-1[1]〜DQ-1[k],データ信号DQ−1およびデータ信号DQに対応しており、SDRAM−nに対応する第1のデータ信号I_DQe-n [1]〜I_DQe-n [k]が、第1のデータ信号I_DQe,データ信号DQ-n[1]〜DQ-n[k],データ信号DQ−nおよびデータ信号DQに対応している。又、SDRAM−1に対応する第2のデータ信号I_DQo-1 [1]〜I_DQo-1 [k]が、第2のデータ信号I_DQo,データ信号DQ-1[1]〜DQ-1[k],データDQ−1およびデータ信号DQに対応しており、SDRAM−nに対応する第2のデータ信号I_DQo-n [1]〜I_DQo-n [k]が、第2のデータ信号I_DQo,データ信号DQ-n[1]〜DQ-n[k],データDQ−nおよびデータ信号DQに対応している。
このDQ信号入力制御部19は、例えば、図2および図3に示すように、フリップフロップFF1,第1可変遅延回路(第1可変遅延部)DW1,フリップフロップFF2,フリップフロップFF3,第1可変遅延回路(第1可変遅延部)DW2およびフリップフロップFF4をそなえて構成されている。
フリップフロップFF1は、第1クロック信号生成部14から入力されたクロック信号CK1が入力されると、後述するCPU13から入力された第1の入力データ信号I_DQeを第1可変遅延回路DW1に出力するようになっている。
第1可変遅延回路DW1は、後述する第1遅延時間制御部23からの第1制御信号d1に基づいて、フリップフロップFF1から入力された第1の入力データ信号I_DQeを遅延させてフリップフロップFF2に出力するデジタル遅延回路であって、例えば、フリップフロップFF1から入力された第1の入力データ信号I_DQeを、後述する第1遅延時間制御部23によって設定された第1遅延時間Dt1だけ遅延させてフリップフロップFF2に出力するようになっている。
フリップフロップFF2は、第2クロック信号生成部18からクロック信号CK2が入力されると、第1可変遅延回路DW1から入力された第1の入力データ信号I_DQeをセレクタ21を介してSDRAMに出力するようになっている。
フリップフロップFF3は、第1クロック信号生成部14からクロック信号CK1が入力されると、後述するCPU13から入力された第2の入力データ信号I_DQoを第1可変遅延回路DW2に出力するようになっている。
第1可変遅延回路DW2は、後述する第1遅延時間制御部23からの第1制御信号d1に基づいて、フリップフロップFF3から入力された第2の入力データ信号I_DQoを遅延させてフリップフロップFF4に出力するデジタル遅延回路であって、例えば、フリップフロップFF3から入力された第1の入力データ信号I_DQoを、後述する第1遅延時間制御部23によって設定された第1遅延時間Dt1だけ遅延させてフリップフロップFF4に出力するようになっている。
なお、本実施形態においては、複数のSDRAM−1〜SDRAM−nのそれぞれに対応して同じ第1遅延時間Dt1が設定されているものとする。
具体的には、図2に示す制御回路ユニット15−1にそなえられた各第1可変遅延回路DW0,DW1およびDW2には、第1遅延時間Dt1−1が設定されており、同様に、図3に示す制御回路ユニット15−nにそなえられた各第1可変遅延回路DW0,DW1およびDW2には、第1遅延時間Dt1−nが設定されている。
また、以下、第1可変遅延回路を示す符号としては、複数の第1可変遅延回路のうち1つを特定する必要があるときは符号DW0,DW1,DW2等を用いるが、任意の第1可変遅延回路を指すときには符号DWを用いる。
なお、以下の説明においては、便宜上、1chのSDRAM−1に対応する第1可変遅延回路として符号DW−1を用いる場合があり、同様に、nchのSDRAM−nに対応する第1可変遅延回路として符号DW−nを用いる場合もある。
フリップフロップFF4は、第2クロック信号生成部18からクロック信号CK2が入力されると、第1可変遅延回路DW2から入力された第2の入力データ信号I_DQoをセレクタ21を介してSDRAMに出力するようになっている。
DQ信号出力制御部20は、リード動作時において、SDRAMから入力されたデータ信号DQを後述するCPU13に出力する制御を行なうものであって、例えば、制御回路ユニット15−1においては、図2に示すように、複数のDQ信号出力制御部20−1〜20−kに対応してそれぞれ、SDRAM−1から入力されたデータ信号DQ-1[1]を第3のデータ信号O_DQe-1 [1]または第4のデータ信号O_DQo-1 [1]として後述するCPU13に出力する制御を行なうようになっており、同様に、SDRAM−1から入力されたデータ信号DQ-1[k]を第3のデータ信号O_DQe-1 [k]または第4のデータ信号O_DQo-1 [k]として後述するCPU13に出力する制御を行なうようになっている。
また、DQ信号出力制御部20は、例えば、制御回路ユニット15−nにおいては、図3に示すように、複数のDQ信号出力制御部20−1〜20−kに対応してそれぞれ、SDRAM−nから入力されたデータ信号DQ-n[1]を第3のデータ信号O_DQe-n [1]または第4のデータ信号O_DQo-n [1]として後述するCPU13に出力する制御を行なうようになっており、同様に、SDRAM−nから入力されたデータ信号DQ-n[k]を第3のデータ信号O_DQe-n [k]または第4のデータ信号O_DQo-n [k]として後述するCPU13に出力する制御を行なうようになっている。
なお、以下、第3のデータ信号を示す符号としては、複数の第3のデータ信号のうち1つを特定する必要があるときは符号O_DQe-1 [1]〜O_DQe-1 [k]や、符号O_DQe-n [1]〜O_DQe-n [k]を用いるが、任意の第3のデータ信号を指すときには符号O_DQeを用いる。又、以下、第4のデータ信号を示す符号としては、複数の第4のデータ信号のうち1つを特定する必要があるときは符号O_DQo-1 [1]〜O_DQo-1 [k]や、O_DQo-n [1]〜O_DQo-n [k]を用いるが、任意の第4のデータ信号を指すときには符号O_DQoを用いる。
そして、以下、データ信号を示す場合において、第3のデータ信号および第4のデータ信号を特定する必要があるときは、第3のデータ信号を示す符号O_DQeおよびO_DQe-1 [1]〜O_DQe-1 [k], O_DQe-n [1]〜O_DQe-n [k]や、第4のデータ信号を示す符号O_DQoおよびO_DQo-1 [1]〜O_DQo-1 [k],O_DQo-n [1]〜O_DQo-n [k]を用いるが、第3のデータ信号および第4のデータ信号を特定する必要がないときは、SDRAM−1〜SDRAM−nのそれぞれに対応するデータ信号を示す符号DQ-1 [1]〜DQ-1 [k],DQ-n[1]〜DQ-n [k]を用い、更に、任意のデータ信号を指すときには符号DQを用いる。又、第3のデータ信号および第4のデータ信号を特定する必要がない場合において、便宜上、SDRAM−1〜SDRAM−nのそれぞれに対応するデータ信号を示す符号DQ-1 [1]〜DQ-1 [k],DQ-n [1]〜DQ-n [k]に代えて符号DQ−1〜DQ−nを用いる場合もある。
即ち、SDRAM−1に対応する第3のデータ信号O_DQe-1 [1]〜O_DQe-1 [k]が、第3のデータ信号O_DQe,データ信号DQ-1[1]〜DQ-1[k],データ信号DQ−1およびデータ信号DQに対応しており、SDRAM−nに対応する第3のデータ信号O_DQe-n [1]〜O_DQe-n [k]が、第3のデータ信号O_DQe,データ信号DQ-n[1]〜DQ-n[k],データ信号DQ−nおよびデータ信号DQに対応している。又、SDRAM−1に対応する第4のデータ信号O_DQo-1 [1]〜O_DQo-1 [k]が、第4のデータ信号O_DQo,データ信号DQ-1[1]〜DQ-1[k],データDQ−1およびデータ信号DQに対応しており、SDRAM−nに対応する第4のデータ信号O_DQo-n [1]〜O_DQo-n [k]が、第4のデータ信号O_DQo,データ信号DQ-n[1]〜DQ-n[k],データDQ−nおよびデータ信号DQに対応している。
このDQ信号出力制御部20は、例えば、図2および図3に示すように、フリップフロップFF5,第2可変遅延回路(第2可変遅延部)DR1,フリップフロップFF6,フリップフロップFF7,第2可変遅延回路(第2可変遅延部)DR2およびフリップフロップFF8をそなえて構成されている。
フリップフロップFF5は、SDRAMからデータストローブ信号DQSが入力されると、SDRAMから入力された第3のデータ信号O_DQeを第2可変遅延回路DR1に出力するようになっている。
第2可変遅延回路DR1は、後述する第2遅延時間制御部24からの第2制御信号d2に基づいて、フリップフロップFF5から入力された第3のデータ信号O_DQeを遅延させてフリップフロップFF6に出力するデジタル遅延回路であって、例えば、フリップフロップFF5から入力された第3のデータ信号O_DQeを、後述する第2遅延時間制御部24によって設定された第2遅延時間だけ遅延させてフリップフロップFF6に出力するようになっている。
なお、本実施形態においては、複数の制御回路ユニット15−1〜15−nに対してそれぞれ第2遅延時間が設定されている。具体的には、制御回路ユニット15−1における第2可変遅延回路DR1には第2遅延時間Dt2−1が設定されており、同様に、制御回路ユニット15−nにおける第2可変遅延回路DR1には第2遅延時間Dt2−nが設定されている。
なお、以下、第2遅延時間を示す符号としては、複数の第2遅延時間のうち1つを特定する必要があるときは符号Dt2−1〜Dt2−nを用いるが、任意の第2遅延時間を指すときには符号Dt2を用いる。
フリップフロップFF6は、第1クロック信号生成部14からクロック信号CK1が入力されると、第2可変遅延回路DR1から入力された第3のデータ信号O_DQeを後述するCPU13に出力するようになっている。
フリップフロップFF7は、SDRAMからデータストローブ信号DQSが入力されると、SDRAMから入力された第4のデータ信号O_DQoを第2可変遅延回路DR2に出力するようになっている。
第2可変遅延回路DR2は、後述する第2遅延時間制御部24からの第2制御信号d2に基づいて、フリップフロップFF7から入力された第4のデータ信号O_DQoを遅延させてフリップフロップFF8に出力するデジタル遅延回路であって、例えば、フリップフロップFF7から入力された第4のデータ信号O_DQoを、後述する第2遅延時間制御部24によって設定された第2遅延時間Dt2だけ遅延させてフリップフロップFF8に出力するようになっている。
なお、本実施形態においては、複数のSDRAM−1〜SDRAM−nのそれぞれに対応して同じ第2遅延時間Dt2が設定されているものとする。
具体的には、図2に示す制御回路ユニット15−1にそなえられた各第2可変遅延回路DR1およびDR2には、第2遅延時間Dt2−1が設定されており、同様に、図3に示す制御回路ユニット15−nにそなえられた各第2可変遅延回路DR1およびDR2には、第2遅延時間Dt2−nが設定されている。
また、以下、第2可変遅延回路を示す符号としては、複数の第2可変遅延回路のうち1つを特定する必要があるときは符号DR1,DR2等を用いるが、任意の第2可変遅延回路を指すときには符号DRを用いる。
なお、以下の説明においては、便宜上、1chのSDRAM−1に対応する第2可変遅延回路として符号DR−1を用いる場合があり、同様に、nchのSDRAM−nに対応する第2可変遅延回路として符号DR−nを用いる場合もある。
フリップフロップFF8は、第1クロック信号生成部14からクロック信号CK1が入力されると、第2可変遅延回路DR2から入力された第4のデータ信号O_DQoを後述するCPU13に出力するようになっている。
論理和回路ORは、後述するライトレベリング機能を用いた場合に、第3のデータ信号O_DQeおよび第4のデータ信号O_DQoに基づいて、応答信号を後述するCPU13に出力するようになっている。
具体的には、制御回路ユニット15−1にそなえられた論理和回路ORは、例えば、図2に示すように、後述するライトレベリング機能を用いた場合に、SDRAM−1に対応する複数の第3のデータ信号O_DQe-1[1]〜O_DQe-1[k]およびSDRAM−1に対応する複数の第4のデータ信号O_DQo-1[1]〜O_DQo-1[k]のいずれかが入力されると、応答信号O_DQX-1を後述するCPU13に出力するようになっている。
また、例えば、制御回路ユニット15−nにそなえられた論理和回路ORは、図3に示すように、後述するライトレベリング機能を用いた場合に、SDRAM−nに対応する複数の第3のデータ信号O_DQe-n[1]〜O_DQe-n[k]およびSDRAM−nに対応する複数の第4のデータ信号O_DQo-n[1]〜O_DQo-n[k]のいずれかが入力されると、応答信号O_DQX-nを後述するCPU13に出力するようになっている。
なお、以下、応答信号を示す符号としては、複数の応答信号のうち1つを特定する必要があるときは符号O_DQX-1〜O_DQX-nを用いるが、任意の応答信号を指すときには符号O_DQXを用いる。
CPU13は、情報処理装置10において各種の数値計算,情報処理および機器制御等を行なうものであって、本実施形態においては、遅延時間制御部22として機能するようになっている。又、CPU13は、MAC(Media Access Control;図示省略)をそなえて構成されており、このMACを介して各種信号(データ信号DQ,クロック信号CLK,応答信号DQX等)の入出力を行なうようになっている。
遅延時間制御部22は、制御回路ユニット15−1〜15−nのそれぞれにそなえられた第1可変遅延回路DWおよび第2可変遅延回路DRに対して、遅延時間を設定する制御信号を出力するものであって、図1に示すように、第1遅延時間制御部23および第2遅延時間制御部24をそなえて構成されている。
第1遅延時間制御部23は、ライトレベリング機能を用いて、制御回路ユニット15−1〜15−nのそれぞれにそなえられた第1可変遅延回路DWに対して、第1遅延時間Dt1の遅延を行なわせるべく制御を行なうものであって、第1遅延時間Dt1を設定する第1制御信号d1を出力するようになっている。又、第1遅延時間制御部23は、本実施形態においては、ライトレベリング機能を用いて、ライト動作時において複数のSDRAM−1〜SDRAM−nのそれぞれに対して出力されるデータストローブ信号DQS−1〜DQS−nの各第1遅延時間Dt1−1〜Dt1−nをそれぞれ設定するようになっている。
ここで、ライトレベリング機能とは、複数のSDRAM−1〜SDRAM−nのそれぞれに対して、各データストローブ信号DQS−1〜DQS−nを、クロック信号CK1とほぼ同じ時間に入力させるように調整(補正)する機能であり、クロック信号線がデイジーチェーンで配線された複数のSDRAM−1〜SDRAM−nのそれぞれに対して出力されるデータストローブ信号DQS−1〜DQS−nの各第1遅延時間Dt1−1〜Dt1−nを、これらのSDRAM−1〜SDRAM−nから出力される各データ信号DQ−1〜DQ−nに基づいてそれぞれ設定することにより実現される。
図4は本発明の第1実施形態としての情報処理装置の第1遅延時間制御部におけるライトレベリング機能を説明するための図である。
以下、第1遅延時間制御部23において、複数のSDRAM−1〜SDRAM−nのそれぞれに対応する第1遅延時間Dt1−1〜Dt1−nを、ライトレベリング機能を用いてそれぞれ設定する場合について、図4に示すような、1chのSDRAM−1に対応する第1遅延時間Dt1−1とnchのSDRAM−nに対応する第1遅延時間Dt1−nとを設定する例を用いて説明する。
また、各SDRAM(図4に示す例では、SDRAM−1,SDRAM−n)は、それぞれ、クロック信号CK1とデータストローブ信号DQS(図4に示す例では、DQS−1,DQS−n)とがほぼ同じ時間に入力されると、メモリコントローラ12にデータ信号DQ(図4に示す例では、DQ-1 [1]〜[k],DQ-n [1]〜[k])を出力するようになっている。
先ず、メモリコントローラ12は、クロック信号CK1を各SDRAM(図4に示す例では、SDRAM−1,SDRAM−n)に出力するとともに、これと同時もしくはほぼ同時に、各データストローブ信号DQS(図4に示す例では、DQS−1,DQS−n)を各SDRAM(図4に示す例では、SDRAM−1,SDRAM−n)のそれぞれに対して出力する(図4の時間“T1”参照)。
そして、例えば、ライトレベリング機能によって第1遅延時間Dt1が調整される前においては、図4に示すように、1chのSDRAM−1には、クロック信号CK1とデータストローブ信号DQS−1とがほぼ同じ時間に入力され(図4の時間“T2”参照)、nchのSDRAM−nには、クロック信号CK1が、データストローブ信号DQS−nが入力されてから(図4の時間“T2”および点“A”参照)、時間Dt1−nだけ遅延して入力される(図4の時間“T3”参照)。
この場合、1chのSDRAM−1については、クロック信号CK1とデータストローブ信号DQS−1とがほぼ同じ時間に入力されることから、1chのSDRAM−1からの各データ信号DQ-1[1]〜[k]のいずれかが論理和回路OR−1に入力され、第1遅延時間制御部23(図4において図示省略)は、論理和回路OR−1が応答信号O_DQX-1を出力したことを検知することにより、データストローブ信号DQS−1に対応する第1遅延時間Dt−1を第1可変遅延回路DW−1に対して設定しないようになっている。
一方、nchのSDRAM−nについては、データストローブ信号DQS−nに対応する第1遅延時間Dt1−nが、第1可変遅延回路DW−nに対して、1chのSDRAM−1にクロック信号CK1が入力されてから(図4の時間“T2”参照)時間Dt1−nだけ遅延して入力されるクロック信号CK1に合わせて設定される(図4の時間“T3”参照)。
即ち、nchのSDRAM−nにおいては、第1遅延時間制御部23(図4において図示省略)は、クロック信号CK1とデータストローブ信号DQS−nとがほぼ同じ時間に入力されるまで、第1可変遅延回路DW−nの遅延時間を少しずつ延ばしていき、SDRAM−nからの各データ信号DQ-n[1]〜[k]のいずれかが論理和回路OR−nに入力されて、論理和回路OR−nが応答信号O_DQX-nを出力した時間を第1遅延時間Dt1−nとして第1可変遅延回路DW−nに設定するようになっている。
従って、第1遅延時間制御部23は、第1可変遅延回路DW−nに第1遅延時間Dt1−nを設定することにより、各SDRAM−1〜SDRAM−nについてのクロック信号CK1およびデータストローブ信号DQSが入力されるタイミングを調整するのである。
図5および図6は本発明の第1実施形態としての情報処理装置の第1遅延時間制御部において第1遅延時間を求める計算式を説明するための図である。
さて、各第1遅延時間Dt1−1〜Dt1−nの調整が完了した時点では以下に示す(式1)のような式が成り立つ。
dCK0 + dCK1 + dCK2 = dDQSW0 + dDQSW1 + dDQSW2 (式1)
なお、図5に示すように、dCK0は、メモリコントローラ12においてクロック信号CLKが入力されてからクロック信号CK1を出力するまでの時間であり、dCK1は、クロック信号CK1がメモリコントローラ12から出力されてからDIMM11に入力されるまでの時間である。又、dCK2は、クロック信号CK1がDIMM11に入力されてからSDRAM−1〜SDRAM−nのそれぞれに入力されるまでの時間であり、図5では、クロック信号CK1がDIMM11に入力されてからSDRAM−1に入力されるまでの時間を示している。
さらに、dDQSW0は、メモリコントローラ12においてクロック信号CLKが入力されてから各データストローブ信号DQS−1〜DQS−nを出力するまでの時間であり、図5では、メモリコントローラ12においてクロック信号CLKが入力されてからデータストローブ信号DQS−1を出力するまでの時間を示している。
また、dDQSW1は、各データストローブ信号DQS−1〜DQS−nがメモリコントローラ12から出力されてからDIMM11に入力されるまでの時間であり、図5では、データストローブ信号DQS−1がメモリコントローラ12から出力されてからDIMM11に入力されるまでの時間を示している。
さらに、dDQSW2は、DIMM11に各データストローブ信号DQS−1〜DQS−nが入力されてからSDRAM−1〜SDRAM−nのそれぞれに入力されるまでの時間であり、図5では、DIMM11にデータストローブ信号DQS−1が入力されてからSDRAM−1に入力されるまでの時間を示している。
メモリコントローラ12とDIMM11との接続配線は等長に形成されているので、上記(式1)においては、dCK1=dDQSW1となり、上記(式1)を変形すると以下に示す(式2−1),(式2−2)のような式を得ることができる。
dCK0 + dCK2 = dDQSW0 + dDQSW2 ・・・(式2−1)
dCK2 = dDQSW0−dCK0 + dDQSW2 ・・・(式2−2)
そして、上記(式2−2)において、dDQSW0−dCK0をnchのSDRAM−nにおけるライト動作時の遅延時間Delay(W)nとすると、以下に示す(式2−3)のような式になる。
dCK2 = Delay(W)n + dDQSW2 ・・・(式2−3)
これにより、SDRAM−1〜SDRAM−nのそれぞれに対応する各第1遅延時間Dt1−1〜Dt1−nが、1chのSDRAM−1からnchのSDRAM−nにかけて順に遅延時間が長くなるように設定されるのである。
そして、第1遅延時間制御部23は、設定した各第1遅延時間Dt1−1〜Dt1−nとなるように第1制御信号d1を第1可変遅延回路DW−1〜DW−nのそれぞれに対して出力し、各第1可変遅延回路DW−1〜DW−nが、これらの第1制御信号d1に基づいて、各データストローブ信号DQS−1〜DQS−nをそれぞれ第1遅延時間Dt1−1〜Dt1−nだけ遅延させるようになっている。
即ち、第1可変遅延回路DWは、ライト動作時において、SDRAMに出力するデータストローブ信号DQSを、ライトレベリング機能を用いて設定された第1遅延時間Dt1だけ遅延させるのである。
第2遅延時間制御部24は、第1遅延時間制御部23によって設定された各第1遅延時間Dt1−1〜Dt1−nに基づいて、制御回路ユニット15−1〜15−nのそれぞれにそなえられた第2可変遅延回路DRに対して、第2遅延時間Dt2の遅延を行なわせるべく制御を行なうものであって、第2遅延時間Dt2を設定する第2制御信号d2を出力するようになっている。又、第2遅延時間制御部24は、本実施形態においては、第1遅延時間制御部23によって設定された各第1遅延時間Dt1−1〜Dt1−nに基づいて、リード動作時において複数のSDRAM−1〜SDRAM−nのそれぞれから入力されるデータ信号DQ−1〜DQ−nの第2遅延時間Dt2をそれぞれ算出・設定するようになっている。
具体的には、第2遅延時間制御部24は、各SDRAM−1〜SDRAM−nのそれぞれから入力される各データ信号DQ−1〜DQ−nの遅延時間Delay(R)を設定するようになっており、例えば、図6に示すように、x(xは自然数)chのSDRAM−xおよびy(yは自然数)chのSDRAM−yのそれぞれについて、クロック信号CLKがメモリコントローラ12に入力されてから各データ信号DQ−x,DQ−yがCPU13に対してメモリコントローラ12から出力されるまでの各経過時間Pass(R)x,Pass(R)yについて、以下に示す(式3−1)および(式3−2)が成り立つ。
Pass(R)x=dCK0+dCK1+dCK2x+dDQSR2x+dDQSR1x+dDQSR0x
・・・(式3−1)
Pass(R)y =dCK0+dCK1+dCK2y+dDQSR2y+dDQSR1y+dDQSR0y
・・・(式3−2)
なお、図6に示すように、dCK0は、上記と同様に、メモリコントローラ12においてクロック信号CLKが入力されてからクロック信号CK1を出力するまでの時間であり、dCK1は、上記と同様に、クロック信号CK1がメモリコントローラ12から出力されてからDIMM11に入力されるまでの時間である。又、dCK2xは、DIMM11にクロック信号CK1が入力されてからxchのSDRAM−xに入力されるまでの時間であり、dDQSR2x は、xchのデータストローブ信号DQS−xがxchのSDRAM−xから出力されてからDIMM11から出力されるまでの時間である。更に、dDQSR1xは、xchのデータストローブ信号DQS−xがDIMM11から出力されてからメモリコントローラ12に入力されるまでの時間であり、dDQSR0xは、xchのデータストローブ信号DQS−xがメモリコントローラ12に入力されてからデータ信号DQ-xがフリップフロップFF6またはフリップフロップFF8に入力されるまでの時間である。
また、図6に示すように、dCK2yは、DIMM11にクロック信号CK1が入力されてからychのSDRAM−yに入力されるまでの時間であり、dDQSR2y は、ychのデータストローブ信号DQS−yがychのSDRAM−yから出力されてからDIMM11から出力されるまでの時間である。更に、dDQSR1yは、ychのデータストローブ信号DQS−yがDIMM11から出力されてからメモリコントローラ12に入力されるまでの時間であり、dDQSR0yは、ychのデータストローブ信号DQS−yがメモリコントローラ12に入力されてからデータ信号DQ-yがフリップフロップFF6またはフリップフロップFF8に入力されるまでの時間である。
ここで、xchにおける経過時間Pass(R)xとychにおける経過時間Pass(R)yを等しくするためには、以下に示す(式3−3)を成り立たせる必要がある。
dCK0+dCK1+dCK2x+dDQSR2x+dDQSR1x+dDQSR0x
=dCK0+dCK1+dCK2y+dDQSR2y+dDQSR1y+dDQSR0y
・・・(式3−3)
上記(式3−3)においては、メモリコントローラ12とDIMM11との間の接続配線は等長に形成されているので、dDQSR2x=dDQSR2y,dDQSR1x=dDQSR1yとすることができ、これにより、上記(式3−3)を変形すると以下に示す(式3−4)になる。
dCK2x+dDQSR0x=dCK2y+dDQSR0y ・・・(式3−4)
ここで、dDQSR0x=Delay(R)x+α,dDQSW2x=dDQSW2yとして、上記(式2−3)に代入すると、以下に示す(式3−5)が得られる。
Delay(W)x+Delay(R)x=Delay(W)y+Delay(R)y ・・・(式3−5)
そして、上記(式3−5)を一般化すると、以下に示す(式3−6)が得られる。
Delay(R)n=max(Delay(W))-Delay(W)n ・・・(式3−6)
このようにして算出された遅延時間がDelay(R)nに与えられる。つまり、ライトレベリング時に設定された第1遅延時間Dt1を利用して、SDRAMから入力されるデータ信号DQの第2遅延時間Dt2を算出することができるのである。
従って、第2遅延時間制御部24においては、上記(式3−5)を用いることにより、一のSDRAM−xに対応する第2遅延時間Dt2−xは、当該SDRAM−xに対応する第1遅延時間Dt1−xと第2遅延時間Dt2−xとの和が予め設定された設定値になるように設定される。
また、第2遅延時間制御部24においては、上記(式3−5)を用いることにより、一のSDRAM−xに対応する第2遅延時間Dt2−xは、当該SDRAM−xに対応する第1遅延時間Dt1−xと第2遅延時間Dt2−xとの和が、他のSDRAM−yに対応する第1遅延時間Dt1−yと第2遅延時間Dt2−yとの和と等しくなるように設定される。
さらに、第2遅延時間制御部24においては、上記(式3−6)を用いることにより、一のSDRAM−xに対応する第2遅延時間Dt2−xは、当該SDRAM−xに対応する第1遅延時間Dt1−xと複数のSDRAM−1〜SDRAM−nに対応する複数の第1遅延時間Dt1−1〜Dt1−nのうちの最大遅延時間Dt1−nとの差分である。
これにより、SDRAM−1〜SDRAM−nのそれぞれに対応する各第2遅延時間Dt2−1〜Dt2−nが、1chのSDRAM−1からnchのSDRAM−nにかけて順に遅延時間が短くなるように設定されるのである。
そして、第2遅延時間制御部24は、設定した各第2遅延時間Dt2−1〜Dt2−nとなるように第2制御信号d2を第2可変遅延回路DR−1〜DR−nのそれぞれに対して出力し、各第2可変遅延回路DR−1〜DR−nが、これらの第2制御信号d2に基づいて、各データ信号DQ−1〜DQ−nをそれぞれ第2遅延時間Dt2−1〜Dt2−nだけ遅延させるようになっている。
即ち、第2可変遅延回路DRは、リード動作時において、SDRAMから入力されるデータ信号DQを、第1遅延時間Dt1に基づいて設定された第2遅延時間Dt2だけ遅延させるのである。
上述の如く構成された本発明の第1実施形態に係る情報処理装置10における第1可変遅延回路DWを用いてライト動作を行なう例を、図7を参照しながら説明する。
なお、以下においては、便宜上、1chのSDRAM−1およびnchのSDRAM−nに対してライト動作を行なう場合を例に説明するものとする。
また、以下の説明においては、便宜上、1chのSDRAM−1に対応する各フリップフロップFF2,FF4に代えて符号FF−1aとして表わすとともに、nchのSDRAM−nに対応する各フリップフロップFF2,FF4に代えて符号FF−naとして表わすものとする。
第1遅延時間制御部23は、ライトレベリング機能を用いて、複数のSDRAM−1〜SDRAM−nに対応するそれぞれの第1遅延時間Dt1−1〜Dt1−nを設定し、これらの設定された各第1遅延時間Dt1−1〜Dt1−nに対応する第1制御信号d1をそれぞれに対応する各第1可変遅延回路DW−1〜DW−nに出力する(第1遅延時間制御ステップ)。
そして、第1可変遅延回路DW−1〜DW−nに第1遅延時間Dt1−1〜Dt1−nがそれぞれ設定されてから、以下のライト動作が行なわれる。
メモリコントローラ12は、クロック信号CK1を各SDRAM(図7に示す例では、SDRAM−1,SDRAM−n)に対して出力するとともに、各データストローブ信号(図7に示す例では、DQS−1,DQS−n)を、クロック信号CK1の出力とほぼ同じ時間に生成し、各第1可変遅延回路(図7に示す例では、DW−1,DW−n)に出力する(図7の時間“T4”参照)。
ここで、図7に示す場合においては、第1可変遅延回路DW−1は、入力されたデータストローブ信号DQS−1を遅延させることなくSDRAM−1およびフリップフロップFF−1aに出力する一方、第1可変遅延回路DW−nは、入力されたデータストローブ信号DQS−nを第1遅延時間Dt1−nだけ遅延させてSDRAM−nおよびフリップフロップFF−naに出力する。
また、メモリコントローラ12は、SDRAM−1に対応するデータ信号DQ-1[1]〜[k]を、第1可変遅延回路(図示省略;第1可変遅延回路DW−1と同様に構成されている)を介してデータストローブ信号DQS−1とほぼ同じ時間にフリップフロップFF−1aに出力し、SDRAM−nに対応するデータ信号DQ-n[1]〜[k]を、第1可変遅延回路(図示省略;第1可変遅延回路DW−nと同様に構成されている)を介してデータストローブ信号DQS−nとほぼ同じ時間にフリップフロップFF−naに出力する。
フリップフロップFF−1aは、データストローブ信号DQS−1が入力されると、データ信号DQ-1[1]〜[k]をSDRAM−1に出力する。同様に、フリップフロップFF−naは、データストローブ信号DQS−nが入力されると、データ信号DQ-n[1]〜[k]をSDRAM−nに出力する。
そして、SDRAM−1には、データストローブ信号DQS−1およびデータ信号DQ-1[1]〜[k]が、クロック信号CK1とほぼ同じ時間に入力され(図7の時間“T5”参照)、SDRAM−nには、データストローブ信号DQS−nおよびデータ信号DQ-n[1]〜[k]が、クロック信号CK1がSDRAM−1に入力されてから(図7の時間“T5”参照)第1遅延時間Dt1−nだけ遅延されて、クロック信号CK1とほぼ同じ時間に入力される(図7の時間“T6”参照)。
これにより、SDRAM−1〜SDRAM−nのそれぞれに対して、データストローブ信号DQSおよびデータ信号DQがクロック信号CK1とほぼ同じ時間に入力され、ライト動作が行なわれるのである。
次に、上述の如く構成された本発明の第1実施形態に係る情報処理装置10における第2可変遅延回路DRを用いてリード動作を行なう例を、図8を参照しながら説明する。
なお、以下においては、便宜上、1chのSDRAM−1およびnchのSDRAM−nに対してリード動作を行なう場合を例に説明するものとする。
また、以下の説明においては、便宜上、1chのSDRAM−1に対応する各フリップフロップFF5,FF7に代えて符号FF−1bとして表わすとともに、nchのSDRAM−nに対応する各フリップフロップFF5,FF7に代えて符号FF−nbとして表わすものとする。
第2遅延時間制御部24は、複数のSDRAM−1〜SDRAM−nに対応する各第1遅延時間Dt1−1〜Dt1−nに基づいて、複数のSDRAM−1〜SDRAM−nに対応するそれぞれの第2遅延時間Dt2−1〜Dt2−nを設定し、これらの設定された各第2遅延時間Dt2−1〜Dt2−nに対応する第2制御信号d2をそれぞれに対応する各第2可変遅延回路DR−1〜DR−nに出力する(第2遅延時間制御ステップ)。
そして、第2可変遅延回路DR−1〜DR−nに第2遅延時間Dt2−1〜Dt2−nがそれぞれ設定されてから、以下のリード動作が行なわれる。
メモリコントローラ12は、クロック信号CK1を各SDRAM(図8に示す例では、SDRAM−1,SDRAM−n)に対して出力する(図8の時間“T7”参照)。この場合においては、SDRAM−1〜SDRAM−nのクロック信号線がデイジーチェーンで配線されているため、クロック信号CK1は、SDRAM−1からSDRAM−nにかけて順次入力される。
そのため、SDRAM−nには、SDRAM−1にクロック信号CK1が入力されてから第2遅延時間Dt2−nだけ遅延して、クロック信号CK1が入力される(図8の時間“T8”参照)。
そして、図8に示す場合においては、SDRAM−1は、クロック信号CK1が入力されると、データストローブ信号DQS−1およびデータ信号DQ-1[1]〜[k]をメモリコントローラ12内のフリップフロップF−1bに出力する(図8の時間“T7”参照)。同様に、SDRAM−nは、クロック信号CK1がSDRAM−1に入力されてから第2遅延時間Dt2−nだけ遅延して入力されると、データストローブ信号DQS−nおよびデータ信号DQ-n[1]〜[k]をメモリコントローラ12内のフリップフロップF−1nbに出力する(図8の時間“T8”参照)。
フリップフロップF−1bは、データストローブ信号DQS−1が入力されると、データ信号DQ-1[1]〜[k]を第2可変遅延回路DR−1に出力する。同様に、フリップフロップF−nbは、データストローブ信号DQS−nが入力されると、データ信号DQ-n[1]〜[k]を第2可変遅延回路DR−nに出力する。
第2可変遅延回路DR−nは、入力されたデータ信号DQ-n[1]〜[k]を遅延させることなくCPU13(図8において図示省略)に出力する一方、第2可変遅延回路DR−1は、入力されたデータ信号DQ-1[1]〜[k]を第2遅延時間Dt2−nだけ遅延させてCPU13に出力する(図8の時間“T9”,“T10”および点線部分“B”参照)。
これにより、CPU13に対して、SDRAM−1〜SDRAM−nに対応する各データ信号DQがほぼ同じ時間に入力され、リード動作が行なわれるのである。
このように、本発明の第1実施形態としての情報処理装置10によれば、クロック信号線がデイジーチェーンで配線された複数のSDRAM−1〜SDRAM−nに対して、ライトレベリング機能を用いて設定された第1遅延時間Dt1に基づいて、リード動作時においてSDRAMから入力されるデータ信号DQの第2遅延時間Dt2を設定することにより、クロック信号線がデイジーチェーンで配線された複数のSDRAM−1〜SDRAM−nから出力されたデータ信号DQの入力時間を容易に揃えることができ、従って、リード動作の制御を行なう場合において、データ信号DQの伝播遅延による不具合を防止することができる。
また、ライトレベリング機能を用いて設定された第1遅延時間Dt1に基づいて第2遅延時間Dt2だけ遅延させる第2可変遅延回路DRをそなえることにより、クロック信号線がデイジーチェーンで配線された複数のSDRAM−1〜SDRAM−nから出力されたデータ信号DQの入力時間を揃えることが可能なメモリインタフェイスを、FIFO等のような特別な機構を設けることなく簡易に実現することができる。
さらに、メモリコントローラ12とDIMM11との間をつなぐデータ信号線が等長に形成されることにより、第2遅延時間Dt2の計算式が簡略化され、リード動作時においてSDRAMから入力されるデータ信号DQの第2遅延時間Dt2を容易に得ることができる。
また、一のSDRAMに対応する第1遅延時間Dt1と第2遅延時間Dt2との和が、予め設定された設定値になるように設定したり、一のSDRAMに対応する第1遅延時間Dt1と第2遅延時間Dt2との和が、他のSDRAMに対応する第1遅延時間Dt1と第2遅延時間Dt2との和と等しくなるように設定したりすることにより、ライトレベリング機能を用いて設定された第1遅延時間Dt1に基づいて第2遅延時間Dt2の設定基準を明確にでき、複数のSDRAMのそれぞれについての第2遅延時間Dt2を容易に得ることができる。
さらに、一のSDRAMに対応する第2遅延時間Dt2を、当該SDRAMに対応する第1遅延時間Dt1と複数のSDRAM−1〜SDRAM−nに対応する複数の第1遅延時間Dt1−1〜Dt1−nのうちの最大遅延時間Dt1−nとの差分とすることにより、第2遅延時間Dt2の計算式が一般化され、複数のSDRAM−1〜SDRAM−nのそれぞれについての第2遅延時間Dt2をより容易に得ることができる。
〔2〕本発明の第1実施形態の変形例の説明
次に、図9および図10を参照しながら、本発明の第1実施形態における情報処理装置10の変形例について説明する。
図9は本発明の第1実施形態の変形例としての情報処理装置におけるメモリコントローラのSDRAM−1に対応する部分の回路図、図10はそのSDRAM−nに対応する部分の回路図である。
この図9および図10に示すように、本発明の第1実施形態の変形例としての情報処理装置10aは、第1実施形態の各制御回路ユニット15−1〜15−nのそれぞれにおけるDQ信号入力制御部19−1〜19−kに代えてDQ信号入力制御部19a−1〜19a−kをそなえるものであり、その他の部分は第1実施形態の情報処理装置10と同様に構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
なお、以下、第1実施形態の変形例におけるDQ信号入力制御部を示す符号としては、複数のDQ信号入力制御部のうち1つを特定する必要があるときは符号19a−1〜19a−kを用いるが、任意のDQ信号入力制御部を指すときには符号19aを用いる。
第1実施形態の変形例におけるDQ信号入力制御部19aは、上述した第1実施形態のDQ信号入力制御部19と同様に、ライト動作時において、CPU13から入力された第1のデータ信号I_DQeおよび第2のデータ信号I_DQoをSDRAMに出力する制御を行なうものであって、上述した第1実施形態のDQ信号入力制御部19とは異なり、第1のデータ信号I_DQeおよび第2のデータ信号I_DQoを多重化してSDRAMに出力する制御を行なうようになっている。
なお、第1のデータ信号I_DQeおよび第2のデータ信号I_DQoを多重化してSDRAMに出力する手法は既知の技術であるので、その詳細な説明は省略する。
従って、第1実施形態の変形例におけるDQ信号入力制御部19aは、例えば、図9および図10に示すように、フリップフロップFF1a,第1可変遅延回路(第1可変遅延部)DW1aおよびフリップフロップFF2aをそなえて構成されている。
フリップフロップFF1aは、第1クロック信号生成部14からクロック信号CK1が入力されると、CPU13から入力された第1のデータ信号I_DQeまたは第2のデータ信号I_DQoを第1可変遅延回路DW1aに出力するようになっている。
第1可変遅延回路DW1aは、第1遅延時間制御部23からの第1制御信号d1に基づいて、フリップフロップFF1aから入力された第1のデータ信号I_DQeまたは第2のデータ信号I_DQoを遅延させてフリップフロップFF2aに出力するデジタル遅延回路であって、例えば、フリップフロップFF1aから入力された第1のデータ信号I_DQeまたは第2のデータ信号I_DQoを、第1遅延時間制御部23によって設定された第1遅延時間Dt1−1だけ遅延させてフリップフロップFF2aに出力するようになっている。
フリップフロップFF2aは、第2クロック信号生成部18からクロック信号CK2が入力されると、第1可変遅延回路DW1aから入力された第1のデータ信号I_DQeまたは第2のデータ信号I_DQoをSDRAMに出力するようになっている。
このように、本発明の第1実施形態の変形例としての情報処理装置10aによっても、上述した第1実施形態と同様の作用効果を得ることができる。
〔3〕本発明の第2実施形態の説明
次に、図11および図12を参照しながら、本発明の第2実施形態における情報処理装置10bについて説明する。
図11は本発明の第2実施形態としての情報処理装置におけるメモリコントローラのSDRAM−1に対応する部分の回路図、図12はそのSDRAM−nに対応する部分の回路図、図13はその第3可変遅延回路の機能を説明するための図である。
この図11および図12に示すように、本発明の第2実施形態としての情報処理装置10bは、第1実施形態の各制御回路ユニット15−1〜15−nのそれぞれにそなえられた第1可変遅延回路DW0に代えて第3可変遅延回路DWR0を、第1実施形態の各制御回路ユニット15−1〜15−nのそれぞれにそなえられた第1可変遅延回路DW1および第2可変遅延回路DR1に代えて第3可変遅延回路DWR1を、第1実施形態の各制御回路ユニット15−1〜15−nのそれぞれにそなえられた第1可変遅延回路DW2および第2可変遅延回路DR2に代えて第3可変遅延回路DWR2をそれぞれそなえるものであり、その他の部分は第1実施形態の情報処理装置10と同様に構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
また、以下、第2実施形態における第3可変遅延回路を示す符号としては、複数の第3可変遅延回路のうち1つを特定する必要があるときは符号DWR0,DWR1,DWR2を用いるが、任意の第3可変遅延回路を指すときには符号DWRを用いる。
第2実施形態における第3可変遅延回路DWRは、2つの信号を同時に遅延させることができるデジタル遅延回路であって、図13に示すように、2つの入力端子IN,DINおよび2つの出力端子OUT,DOUTをそなえ、一方の入力端子INから入力された信号を、第1遅延時間制御部23によって設定された第1遅延時間Dt1だけ遅延させて一方の出力端子OUTから出力させるとともに、他方の入力端子DINから入力された信号を、第2遅延時間制御部24によって設定された第2遅延時間Dt2だけ遅延させて他方の出力端子DOUTから出力させるようになっている。
図11および図12に示す例では、第3可変遅延回路DWR0においては、CPU13からのクロック信号CLKが、一方の入力端子INに入力され、第1遅延時間Dt1だけ遅延して、一方の出力端子OUTから第2クロック信号生成部18に出力されるようになっており、他方の入力端子DINおよび他方の出力端子DOUTは未使用である。
また、第3可変遅延回路DWR1においては、図11および図12に示すように、第1のデータ信号I_DQeが、フリップフロップFF1から一方の入力端子INに入力されて、第1遅延時間Dt1だけ遅延して、一方の出力端子OUTからフリップフロップFF2に出力されるようになっており、第3のデータ信号O_DQeが、フリップフロップFF5から他方の入力端子DINに入力されて、第2遅延時間Dt2だけ遅延して、他方の出力端子DOUTからフリップフロップFF6に出力されるようになっている。
さらに、第3可変遅延回路DWR2においては、図11および図12に示すように、第2のデータ信号I_DQoが、フリップフロップFF3から一方の入力端子INに入力されて、第1遅延時間Dt1だけ遅延して、一方の出力端子OUTからフリップフロップFF4に出力されるようになっており、第4のデータ信号O_DQoが、フリップフロップFF7から他方の入力端子DINに入力されて、第2遅延時間Dt2だけ遅延して、他方の出力端子DOUTからフリップフロップFF8に出力されるようになっている。
図14は本発明の第2実施形態としての情報処理装置における第3可変遅延回路の構成例を模式的に示す図、図15(a)〜(c)は、その単位回路の回路構成例を示す図であり、(a)は単位回路の構成を説明するための図、(b)は単位回路のスルー動作モードを説明するための図、(c)は単位回路の帰還動作モードを説明するための図である。
以下、第3可変遅延回路DWRの具体的な構成について、図14および図15を用いて説明する。
第2実施形態における第3可変遅延回路DWRは、図14に示すように、複数(図14に示す例では10個)の単位回路31−1〜31−10を直列に接続して構成されている。
なお、以下、単位回路を示す符号としては、複数の単位回路のうち1つを特定する必要があるときは符号31−1〜31−10を用いるが、任意の単位回路を指すときには符号31を用いる。
単位回路31は、入力された信号を出力する端子を切替可能な回路であって、図15(a)に示すように、制御信号入力端子CONT,第1セレクタ(切替部)32−1,第2セレクタ(切替部)32−2,第1入力端子IN−1,第2入力端子IN−2,第1出力端子OUT−1および第2出力端子OUT−2をそなえて構成されている。
制御信号入力端子CONTは、第1遅延時間制御部23および第2遅延時間制御部24からの制御信号が入力される端子であって、後述する第1セレクタ32−1および第2セレクタ32−2に接続されている。
第1セレクタ32−1は、制御信号入力端子CONTからの制御信号に基づいて、出力する信号の切り替えを行なうものであって、2つの入力端子と1つの出力端子をそなえて構成されている。
第2セレクタ32−2は、制御信号入力端子CONTからの制御信号に基づいて、出力する信号の切り替えを行なうものであって、2つの入力端子と1つの出力端子をそなえて構成されている。
第1入力端子IN−1は、第1の信号が入力される端子であって、図15(a)に示すように、アンプ33−1を介して第1セレクタ32−1の一方の入力端子および第2セレクタ32−2の一方の入力端子に接続されている。
第2入力端子IN−2は、第2の信号が入力される端子であって、図15(a)に示すように、第1セレクタ32−1の他方の入力端子および第2セレクタ32−2の他方の入力端子に接続されている。
第1出力端子OUT−1は、第1入力端子IN−1に入力された第1の信号または第2入力端子IN−2に入力された第2の信号を選択的に出力する端子であって、図15(a)に示すように、第2セレクタ32−2の出力端子が接続されている。
第2出力端子OUT−2は、第1入力端子IN−1に入力された第1の信号または第2入力端子IN−2に入力された第2の信号を選択的に出力する端子であって、図15(a)に示すように、第1セレクタ32−1の出力端子がアンプ33−2を介して接続されている。
また、単位回路31は、制御信号入力端子CONTからの制御信号に基づいて、スルー動作モードと帰還動作モードとを選択的に動作可能に構成されている。
スルー動作モードは、図15(b)に示すように、第1入力端子IN−1から入力された第1の信号を第1出力端子OUT−1に出力するとともに、第2入力端子IN−2から入力された第2の信号を第2出力端子OUT−2に出力するモードである。
帰還動作モードは、図15(c)に示すように、第1入力端子IN−1から入力された第1の信号を第2出力端子OUT−2に出力するとともに、第2入力端子IN−2から入力された第2の信号を第1出力端子OUT−1に出力するモードである。
また、第3可変遅延回路DWRにおいては、図14に示すように、複数の単位回路31−1〜31−10が直列に接続して構成されており、又、隣り合う単位回路31が、それぞれ、第1入力端子IN−1と第1出力端子OUT−1とを、第2入力端子IN−2と第2出力端子OUT−2とをそれぞれ接続して構成されている。
即ち、スルー動作モードは、前段の単位回路31から入力された第1の信号を後段の単位回路31に出力するとともに、後段の単位回路31から入力された第2の信号を前段の単位回路31に出力するモードであり、帰還動作モードは、前段の単位回路31から入力された第1の信号を前段の単位回路31に出力するとともに、後段の単位回路31から入力された第2の信号を後段の単位回路31に出力するモードである。
また、本実施形態においては、第1遅延時間制御部23が、第1の信号を、第3可変遅延回路DWRの一部を通過させることにより第1遅延時間Dt1だけ遅延させるように制御を行ない、第2遅延時間制御部24が、第2の信号を、第3可変遅延回路DWRの一部を通過させることにより第2遅延時間Dt2だけ遅延させるように制御を行なうようになっている。
具体的には、第1遅延時間制御部23および第2遅延時間制御部24が、それぞれにおいて設定した第1遅延時間Dt1とこの第1遅延時間Dt1に対応する第2遅延時間Dt2とに基づいて、複数の単位回路31−1〜31−10のうちの1つを帰還動作モードで動作させ、それ以外をスルー動作モードで動作させる制御信号を各単位回路31−1〜31−10に対して出力するようになっている。
そして、第3可変遅延回路DWRは、第1遅延時間制御部23および第2遅延時間制御部24から各単位回路31−1〜31−10に対して出力される制御信号に基づいて、最前段の単位回路31−1の第1入力端子IN−1に入力された第1の信号や、最後段の単位回路31−10の第2入力端子IN−2に入力された第2の信号が通過する単位回路31の数を増減させることにより、これらの第1の信号および第2の信号が入力されてから出力するまでの遅延時間を変更しうるようになっている。
例えば、図14に示すように、第1遅延時間制御部23および第2遅延時間制御部24が、それぞれにおいて設定した第1遅延時間Dt1および第2遅延時間Dt2に基づいて、単位回路31−8に対してHi信号を出力するとともに、単位回路31−8以外の各単位回路31−1〜31−7,31−9,31−10に対してLow信号を出力した場合には、第3可変遅延回路DWRは、単位回路31−8が帰還動作モードで動作し、単位回路31−1〜31−7,31−9,31−10がスルー動作モードで動作することにより、第1信号通過ラインと第2信号通過ラインとが形成されるのである。
第1信号通過ラインは、図14に示すように、最前段の単位回路31−1の第1入力端子IN−1から入力された第1の信号が、スルー動作モードで動作する複数の単位回路31−2〜31−7を単位回路31−2から単位回路31−7にかけて順次通過して、帰還動作モードで動作する単位回路31−8で折り返されて、スルー動作モードで動作する複数の単位回路31−2〜31−7を単位回路31−7から単位回路31−2にかけて順次通過して、最前段の単位回路31−1の第2出力端子OUT−2から出力されるラインである。
第2信号通過ラインは、図14に示すように、最後段の単位回路31−10の第2入力端子IN−2から入力された第2の信号が、スルー動作モードで動作する単位回路31−9を通過して、帰還動作モードで動作する単位回路31−8で折り返されて、スルー動作モードで動作する単位回路31−9を通過して、最後段の単位回路31−10の第1出力端子OUT−1から出力されるラインである。
これにより、SDRAM−1〜SDRAM−nのそれぞれにそなえられた第3可変遅延回路DWRが、それぞれの第1遅延時間Dt1と第2遅延時間Dt2との和が一定になるように制御が行なわれるのである。
このように、本発明の第2実施形態としての情報処理装置10bによれば、上述した第1実施形態と同様の作用効果を得ることができる他、前段の単位回路31から入力された信号を後段の単位回路31に出力するとともに、後段の単位回路31から入力された信号を前段の単位回路31に出力するスルー動作モードと、前段の単位回路31から入力された信号を前段の単位回路31に出力するとともに、後段の単位回路31から入力された信号を後段の単位回路31に出力する帰還動作モードとを選択的に動作可能に構成された単位回路を用いることにより、2つの信号が入力されてから出力するまでの遅延時間Dt1,Dt2を同時に遅延させることができ、従って、信号が入力されてから出力するまでの遅延時間Dt1,Dt2を、不要な消費電力や占有面積を増大させることなく効率的に設定可能に構成することができる。
また、複数の単位回路31−1〜31−10のうち少なくとも1つの単位回路31が帰還動作モードで動作することにより、2つの信号の遅延時間Dt1,Dt2の総和を一定に保った状態で、2つの信号の各遅延時間Dt1,Dt2を容易に設定することができる。
さらに、第1の信号の第1遅延時間Dt1と第2の信号の第2遅延時間Dt2との和が予め設定された設定値になるように制御を行なったり、第1の信号の第1遅延時間Dt1と第2の信号の第2遅延時間Dt2との和が一定になるように制御を行なったりすることにより、2つの信号の遅延時間の総和を一定に保った状態で、2つの信号の各遅延時間を容易に設定することができる。
〔4〕本発明の第2実施形態の変形例の説明
次に、図16および図17を参照しながら、本発明の第2実施形態における情報処理装置10bの変形例について説明する。
図16は本発明の第2実施形態の変形例としての情報処理装置におけるメモリコントローラのSDRAM−1に対応する部分の回路図、図17はそのSDRAM−nに対応する部分の回路図である。
この図16および図17に示すように、本発明の第2実施形態の変形例としての情報処理装置10cは、第2実施形態の各制御回路ユニット15−1〜15−nのそれぞれにおけるDQ信号入力制御部19−1〜19−kに代えて、上述した第1実施形態の変形例と同様に、DQ信号入力制御部19a−1〜19a−kをそなえ、これに伴って、第2実施形態の各制御回路ユニット15−1〜15−nのそれぞれにそなえられた第3可変遅延回路DWR0,DWR1,DWR2に代えて第3可変遅延回路DWR1a,DWR2aをそなえるものであり、その他の部分は第1実施形態の変形例の情報処理装置10aまたは第2実施形態の情報処理装置10bと同様に構成されている。
なお、図中、既述の符号と同一の符号は同一もしくは略同一の部分を示しているので、その詳細な説明は省略する。
また、以下、第2実施形態の変形例における第3可変遅延回路を示す符号としては、複数の第3可変遅延回路のうち1つを特定する必要があるときは符号DWR1a,DWR2aを用いるが、任意の第3可変遅延回路を指すときには符号DWRを用いる。
さらに、第2実施形態の変形例における第3可変遅延回路DWRは、上述した第2実施形態における第3可変遅延回路DWRと同様の機能構成をそなえており、その詳細な説明を省略する。
第3可変遅延回路DWR1aは、図16および図17に示すように、第1のデータ信号I_DQeまたは第2のデータ信号I_DQoが、フリップフロップFF1aから一方の入力端子INに入力されて、第1遅延時間Dt1だけ遅延して、一方の出力端子OUTからフリップフロップFF2aに出力されるようになっており、第3のデータ信号O_DQeが、フリップフロップFF5から他方の入力端子DINに入力されて、第2遅延時間Dt2だけ遅延して、他方の出力端子DOUTからフリップフロップFF6に出力されるようになっている。
DQ信号制御部17−1にそなえられた第3可変遅延回路DWR2aは、図16および図17に示すように、クロック信号CLKが、CPU13から一方の入力端子INに入力されて、第1遅延時間Dt1だけ遅延して、一方の出力端子OUTから第2クロック信号生成部18に出力されるようになっており、第4のデータ信号O_DQoが、フリップフロップFF7から他方の入力端子DINに入力されて、第2遅延時間Dt2だけ遅延して、他方の出力端子DOUTからフリップフロップFF8に出力されるようになっている。
DQ信号制御部17−1以外のDQ信号制御部17−2〜17−nのそれぞれにそなえられた第3可変遅延回路DWR2aは、図16および図17に示すように、一方の入力端子DINおよび一方の出力端子DOUTは未使用であり、第4のデータ信号O_DQoが、フリップフロップFF7から他方の入力端子DINに入力されて、第2遅延時間Dt2だけ遅延して、他方の出力端子DOUTからフリップフロップFF8に出力されるようになっている。
このように、本発明の第2実施形態の変形例としての情報処理装置10cによっても、上述した第2実施形態と同様の作用効果を得ることができる。
〔5〕その他
なお、本発明は上述した実施形態に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々変形して実施することができる。
例えば、メモリコントローラ12については、上記実施形態で説明した回路に限定されるものではなく、第1可変遅延回路DW,第2可変遅延回路DRおよび第3可変遅延回路DWRを搭載可能な既知の種々のDDR3メモリインタフェイスに適用することができる。
さらに、上記第2実施形態では、SDRAM−1〜SDRAM−nのそれぞれにそなえられた第3可変遅延回路DWRが、それぞれの第1遅延時間Dt1と第2遅延時間Dt2との和が一定になるように制御が行なわれる例について説明しているが、それに限定されるものではなく、例えば、それぞれの第1遅延時間Dt1と第2遅延時間Dt2との和が、第3可変遅延回路DWRにおける最大遅延時間以下であれば、予め設定された設定値になるように制御が行なわれてもよい。
図18は本発明の第2実施形態としての情報処理装置における第3可変遅延回路の他の使用例を説明するための図である。
また、上記第2実施形態では、複数の単位回路31−1〜31−10のうちの1つを帰還動作モードで動作させ、それ以外をスルー動作モードで動作させる制御信号を各単位回路31−1〜31−10に対して出力する例について説明しているが、それに限定されるものではなく、例えば、図18に示すように、複数の単位回路31−1〜31−10のうち複数の単位回路31−6,31−8を帰還動作モードで動作させる制御信号を各単位回路31−1〜31−10に対して出力してもよい。この場合には、図18に示すように、第1信号通過ラインにおいて、最前段の単位回路31−1から入力された第1の信号が、最前段の単位回路31−1に最も近い帰還動作モードで動作する単位回路31−6で折り返されて、最前段の単位回路31−1から出力され、第2信号通過ラインにおいて、最後段の単位回路31−10から入力された第2の信号が、最後段の単位回路31−10に最も近い帰還動作モードで動作する単位回路31−8で折り返されて、最後段の単位回路31−10から出力され、これにより、温度や電圧に応じて、2つの信号の各遅延時間の総和を容易に変更することができるのである。
そして、CPU13が、遅延時間制御プログラムを実行することにより、これらの第1遅延時間制御部23および第2遅延時間制御部24として機能するようになっている。
なお、これらの第1遅延時間制御部23および第2遅延時間制御部24としての機能を実現するためのプログラム(遅延時間制御プログラム)は、例えばフレキシブルディスク,CD(CD−ROM,CD−R,CD−RW等),DVD(DVD−ROM,DVD−RAM,DVD−R,DVD+R,DVD−RW,DVD+RW,HD−DVD等),ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置または外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置(記録媒体)に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。
第1遅延時間制御部23および第2遅延時間制御部24としての機能を実現する際には、内部記憶装置に格納されたプログラムがコンピュータのマイクロプロセッサによって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。
なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、情報処理装置10,10a,10b,10cがコンピュータとしての機能を有しているのである。
さらに、本実施形態における記録媒体としては、上述したフレキシブルディスク,CD,DVD,ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスクのほか、ICカード,ROMカートリッジ,磁気テープ,パンチカード,コンピュータの内部記憶装置(RAMやROMなどのメモリ),外部記憶装置等や、バーコードなどの符号が印刷された印刷物等のコンピュータ読取可能な種々の媒体を利用することができる。
〔6〕付記
(付記1) ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路であって、
前記複数のメモリに対応してそれぞれ、
該ライト動作時において、該メモリに出力するデータストローブ信号を、該ライトレベリング機能を用いて設定された第1遅延時間だけ遅延させる第1可変遅延部と、
該リード動作時において、該メモリから入力されるデータ信号を、該第1遅延時間に基づいて設定された第2遅延時間だけ遅延させる第2可変遅延部とをそなえることを特徴とする、メモリ制御回路。
(付記2) 該メモリ制御回路と前記複数のメモリとの間をつなぐ複数のデータ信号線が等長に形成されることを特徴とする、付記1に記載のメモリ制御回路。
(付記3) 一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、予め設定された設定値になるように設定されることを特徴とする、付記2に記載のメモリ制御回路。
(付記4) 一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、他の該メモリに対応する該第1遅延時間と該第2遅延時間との和と等しくなるように設定されることを特徴とする、付記2に記載のメモリ制御回路。
(付記5) 一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と前記複数のメモリに対応する複数の第1遅延時間のうちの最大遅延時間との差分であることを特徴とする、付記2に記載のメモリ制御回路。
(付記6) 該第1可変遅延部および該第2可変遅延部が、デジタル遅延回路で構成されることを特徴とする、付記1〜5のいずれか1項に記載のメモリ制御回路。
(付記7) 該第1可変遅延部は、複数の単位回路を直列に接続して構成され、前記メモリに出力するデータ信号を、所定数の該単位回路を通過させることにより該第1遅延時間だけ遅延させるデジタル遅延回路で構成され、
該第2可変遅延部は、複数の単位回路を直列に接続して構成され、前記メモリから入力されるデータ信号を、所定数の該単位回路を通過させることにより該第2遅延時間だけ遅延させるデジタル遅延回路で構成されることを特徴とする、付記1〜5のいずれか1項に記載のメモリ制御回路。
(付記8) ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御装置であって、
該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御部と、
該第1遅延時間制御部によって設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御部とをそなえることを特徴とする、遅延時間制御装置。
(付記9) 該メモリ制御回路と前記複数のメモリとの間をつなぐ複数のデータ信号線が等長に形成されることを特徴とする、付記8に記載の遅延時間制御装置。
(付記10) 該第2遅延時間制御部が、一の該メモリに対応する該第2遅延時間を、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、予め設定された設定値になるように設定することを特徴とする、付記9に記載の遅延時間制御装置。
(付記11) 該第2遅延時間制御部が、一の該メモリに対応する該第2遅延時間を、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、他の該メモリに対応する該第1遅延時間と該第2遅延時間との和と等しくなるように設定することを特徴とする、付記9に記載の遅延時間制御装置。
(付記12) 該第2遅延時間制御部が、一の該メモリに対応する該第2遅延時間として、当該メモリに対応する該第1遅延時間と前記複数のメモリに対応する複数の第1遅延時間のうちの最大遅延時間との差分を設定することを特徴とする、付記9に記載の遅延時間制御装置。
(付記13) 該第1遅延時間制御部が、前記メモリに出力するデータ信号を、複数の単位回路を直列に接続して構成されたデジタル遅延回路の一部を通過させることにより該第1遅延時間だけ遅延させるように制御を行ない、
該第2遅延時間制御部が、前記メモリから入力されるデータ信号を、複数の単位回路を直列に接続して構成されたデジタル遅延回路の一部を通過させることにより該第2遅延時間だけ遅延させるように制御を行なうことを特徴とする、付記8〜12のいずれか1項に記載の遅延時間制御装置。
(付記14) ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御方法であって、
該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御ステップと、
該第1遅延時間制御ステップにおいて設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御ステップとをそなえることを特徴とする、遅延時間制御方法。
(付記15) 該メモリ制御回路と前記複数のメモリとの間をつなぐ複数のデータ信号線が等長に形成されることを特徴とする、付記14に記載の遅延時間制御方法。
(付記16) 該第2遅延時間制御ステップにおいて、一の該メモリに対応する該第2遅延時間を、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、予め設定された設定値になるように設定することを特徴とする、付記15に記載の遅延時間制御方法。
(付記17) 該第2遅延時間制御ステップにおいて、一の該メモリに対応する該第2遅延時間を、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、他の該メモリに対応する該第1遅延時間と該第2遅延時間との和と等しくなるように設定することを特徴とする、付記15に記載の遅延時間制御方法。
(付記18) 該第2遅延時間制御ステップにおいて、一の該メモリに対応する該第2遅延時間として、当該メモリに対応する該第1遅延時間と前記複数のメモリに対応する複数の第1遅延時間のうちの最大遅延時間との差分を設定することを特徴とする、付記15に記載の遅延時間制御方法。
(付記19) 該第1遅延時間制御ステップにおいて、前記メモリに出力するデータ信号を、複数の単位回路を直列に接続して構成されたデジタル遅延回路の一部を通過させることにより該第1遅延時間だけ遅延させるように制御を行ない、
該第2遅延時間制御ステップにおいて、前記メモリから入力されるデータ信号を、複数の単位回路を直列に接続して構成されたデジタル遅延回路の一部を通過させることにより該第2遅延時間だけ遅延させるように制御を行なうことを特徴とする、付記14〜18のいずれか1項に記載の遅延時間制御方法。
(付記20) ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御機能をコンピュータに実行させるための遅延時間制御プログラムであって、
該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御部と、
該第1遅延時間制御部によって設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御部として、該コンピュータを機能させることを特徴とする、遅延時間制御プログラム。
本発明の第1実施形態としての情報処理装置の構成例を模式的に示す図である。 本発明の第1実施形態としての情報処理装置のSDRAM−1に対応するメモリコントローラの回路構成例を模式的に示す図である。 本発明の第1実施形態としての情報処理装置のSDRAM−nに対応するメモリコントローラの回路構成例を模式的に示す図である。 本発明の第1実施形態としての情報処理装置の第1遅延時間制御部におけるライトレベリング機能を説明するための図である。 本発明の第1実施形態としての情報処理装置の第1遅延時間制御部において第1遅延時間を求める計算式を説明するための図である。 本発明の第1実施形態としての情報処理装置の第1遅延時間制御部において第1遅延時間を求める計算式を説明するための図である。 本発明の第1実施形態としての情報処理装置における第1可変遅延回路を用いたライト動作を説明するための図である。 本発明の第1実施形態としての情報処理装置における第2可変遅延回路を用いたリード動作を説明するための図である。 本発明の第1実施形態の変形例としての情報処理装置におけるメモリコントローラのSDRAM−1に対応する部分の回路図である。 本発明の第1実施形態の変形例としての情報処理装置におけるメモリコントローラのSDRAM−nに対応する部分の回路図である。 本発明の第2実施形態としての情報処理装置におけるメモリコントローラのSDRAM−1に対応する部分の回路図である。 本発明の第2実施形態としての情報処理装置におけるメモリコントローラのSDRAM−nに対応する部分の回路図である。 本発明の第2実施形態としての情報処理装置におけるメモリコントローラの第3可変遅延回路の機能を説明するための図である。 本発明の第2実施形態としての情報処理装置における第3可変遅延回路の構成例を模式的に示す図である。 (a)〜(c)は本発明の第2実施形態としての情報処理装置における第3可変遅延回路の単位回路の回路構成例を示す図である。 本発明の第2実施形態の変形例としての情報処理装置におけるメモリコントローラのSDRAM−1に対応する部分の回路図である。 本発明の第2実施形態の変形例としての情報処理装置におけるメモリコントローラのSDRAM−nに対応する部分の回路図である。 本発明の第2実施形態としての情報処理装置における第3可変遅延回路の他の使用例を説明するための図である。 従来のDDR3メモリインタフェイスの構成例を模式的に示す図である。 従来のDDR3メモリインタフェイスにおけるライトレベリング動作を説明するための図である。 従来のDDR3メモリインタフェイスにおけるリード動作を説明するための図である。
符号の説明
10,10a,10b,10c 情報処理装置(遅延時間制御装置)
11 DIMM
12 メモリコントローラ(メモリ制御回路)
13 CPU
14 第1クロック信号生成部
15−1〜15−n 制御回路ユニット
16 DQS信号生成部
17,17−1〜17−k DQ信号制御部
18 第2クロック信号生成部
19,19−1〜19−k,19a,19a−1〜19a−k DQ信号入力制御部
20,20−1〜20−k DQ信号出力制御部
21 セレクタ
22 遅延時間制御部
23 第1遅延時間制御部
24 第2遅延時間制御部
31,31−1〜31−10 単位回路
32−1,32−2 セレクタ
33−1,33−2 アンプ
d1 第1制御信号
d2 第2制御信号
DW,DW0,DW1,DW2,DW1a 第1可変遅延回路(第1可変遅延部)
DR,DR1,DR2 第2可変遅延回路(第2可変遅延部)
DWR,DWR0,DWR1,DWR2,DWR1a,DWR2a 第3可変遅延回路

Claims (10)

  1. ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路であって、
    前記複数のメモリに対応してそれぞれ、
    該ライト動作時において、該メモリに出力するデータストローブ信号を、該ライトレベリング機能を用いて設定された第1遅延時間だけ遅延させる第1可変遅延部と、
    該リード動作時において、該メモリから入力されるデータ信号を、該第1遅延時間に基づいて設定された第2遅延時間だけ遅延させる第2可変遅延部とをそなえることを特徴とする、メモリ制御回路。
  2. 該メモリ制御回路と前記複数のメモリとの間をつなぐ複数のデータ信号線が等長に形成されることを特徴とする、請求項1に記載のメモリ制御回路。
  3. 一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、予め設定された設定値になるように設定されることを特徴とする、請求項2に記載のメモリ制御回路。
  4. 一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と該第2遅延時間との和が、他の該メモリに対応する該第1遅延時間と該第2遅延時間との和と等しくなるように設定されることを特徴とする、請求項2に記載のメモリ制御回路。
  5. 一の該メモリに対応する該第2遅延時間は、当該メモリに対応する該第1遅延時間と前記複数のメモリに対応する複数の第1遅延時間のうちの最大遅延時間との差分であることを特徴とする、請求項2に記載のメモリ制御回路。
  6. 該第1可変遅延部および該第2可変遅延部が、デジタル遅延回路で構成されることを特徴とする、請求項1〜5のいずれか1項に記載のメモリ制御回路。
  7. 該第1可変遅延部は、複数の単位回路を直列に接続して構成され、前記メモリに出力するデータ信号を、所定数の該単位回路を通過させることにより該第1遅延時間だけ遅延させるデジタル遅延回路で構成され、
    該第2可変遅延部は、複数の単位回路を直列に接続して構成され、前記メモリから入力されるデータ信号を、所定数の該単位回路を通過させることにより該第2遅延時間だけ遅延させるデジタル遅延回路で構成されることを特徴とする、請求項1〜5のいずれか1項に記載のメモリ制御回路。
  8. ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御装置であって、
    該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御部と、
    該第1遅延時間制御部によって設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御部とをそなえることを特徴とする、遅延時間制御装置。
  9. ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御方法であって、
    該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御ステップと、
    該第1遅延時間制御ステップにおいて設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御ステップとをそなえることを特徴とする、遅延時間制御方法。
  10. ライトレベリング機能をそなえ、クロック信号線がデイジーチェーンで配線された複数のメモリに対して、該クロック信号線を介してクロック信号を供給することにより、リード(read)/ライト(write)動作の制御を行なうメモリ制御回路における信号の遅延時間を設定する遅延時間制御機能をコンピュータに実行させるための遅延時間制御プログラムであって、
    該ライトレベリング機能を用いて、該ライト時動作において該メモリに出力するデータストローブ信号の第1遅延時間を、前記複数のメモリに対応してそれぞれ設定する第1遅延時間制御部と、
    該第1遅延時間制御部によって設定された該第1遅延時間に基づいて、該リード動作時において該メモリから入力されるデータ信号の第2遅延時間を、前記複数のメモリに対応してそれぞれ設定する第2遅延時間制御部として、該コンピュータを機能させることを特徴とする、遅延時間制御プログラム。
JP2007241610A 2007-09-18 2007-09-18 メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム Expired - Fee Related JP4382842B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2007241610A JP4382842B2 (ja) 2007-09-18 2007-09-18 メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム
US12/209,740 US8020022B2 (en) 2007-09-18 2008-09-12 Delay time control of memory controller
KR1020080091315A KR100951600B1 (ko) 2007-09-18 2008-09-17 메모리 제어 회로, 지연 시간 제어 장치, 지연 시간 제어 방법 및 지연 시간 제어 프로그램을 기록한 컴퓨터 판독가능한 기록 매체

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007241610A JP4382842B2 (ja) 2007-09-18 2007-09-18 メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム

Publications (2)

Publication Number Publication Date
JP2009075682A JP2009075682A (ja) 2009-04-09
JP4382842B2 true JP4382842B2 (ja) 2009-12-16

Family

ID=40455863

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007241610A Expired - Fee Related JP4382842B2 (ja) 2007-09-18 2007-09-18 メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム

Country Status (3)

Country Link
US (1) US8020022B2 (ja)
JP (1) JP4382842B2 (ja)
KR (1) KR100951600B1 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7952945B2 (en) * 2009-03-30 2011-05-31 Cadence Design Systems, Inc. Method and apparatus for determining write leveling delay for memory interfaces
US8117483B2 (en) * 2009-05-13 2012-02-14 Freescale Semiconductor, Inc. Method to calibrate start values for write leveling in a memory system
US9128632B2 (en) * 2009-07-16 2015-09-08 Netlist, Inc. Memory module with distributed data buffers and method of operation
JP2012009601A (ja) 2010-06-24 2012-01-12 Elpida Memory Inc 半導体装置
US8472279B2 (en) 2010-08-31 2013-06-25 Micron Technology, Inc. Channel skewing
JP2012059184A (ja) * 2010-09-13 2012-03-22 Nec Computertechno Ltd メモリコントローラ、これを備えたメモリシステム及びメモリデバイスの制御方法
TWI467579B (zh) * 2011-01-14 2015-01-01 Mstar Semiconductor Inc 電子裝置及其記憶體控制方法以及相關電腦可讀取儲存媒體
JP5807952B2 (ja) 2011-09-06 2015-11-10 Necプラットフォームズ株式会社 メモリコントローラ及びメモリ制御方法
JP2013222314A (ja) * 2012-04-17 2013-10-28 Sharp Corp 電子回路基板
US9177623B2 (en) 2013-03-15 2015-11-03 Qualcomm Incorporated Memory interface offset signaling
KR20160038034A (ko) 2013-07-27 2016-04-06 넷리스트 인코포레이티드 로컬 동기화를 갖는 메모리 모듈
KR102088453B1 (ko) 2013-12-02 2020-03-12 에스케이하이닉스 주식회사 반도체 장치
KR102147228B1 (ko) 2014-01-23 2020-08-24 삼성전자주식회사 타겟 모듈의 라이트 레벨링을 제어하는 라이트 레벨링 제어 회로 및 그에 따른 라이트 레벨링 제어방법
KR102447499B1 (ko) * 2017-10-19 2022-09-26 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
US10418090B1 (en) * 2018-06-21 2019-09-17 Micron Technology, Inc. Write signal launch circuitry for memory drive
CN111190540B (zh) * 2019-12-25 2021-06-04 晶晨半导体(上海)股份有限公司 内存接口写入均衡的控制方法及装置
CN114518837B (zh) * 2020-11-20 2024-05-14 智原科技股份有限公司 运用于存储器系统的多循环写入均衡程序的处理方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6675272B2 (en) 2001-04-24 2004-01-06 Rambus Inc. Method and apparatus for coordinating memory operations among diversely-located memory components
JP2002324398A (ja) 2001-04-25 2002-11-08 Mitsubishi Electric Corp 半導体記憶装置、メモリシステムおよびメモリモジュール
JP2003099321A (ja) 2001-09-21 2003-04-04 Ricoh Co Ltd メモリ制御装置
JP4173970B2 (ja) 2002-03-19 2008-10-29 株式会社ルネサステクノロジ メモリシステム及びメモリモジュール
JP4450586B2 (ja) 2003-09-03 2010-04-14 株式会社ルネサステクノロジ 半導体集積回路
JP4741226B2 (ja) 2003-12-25 2011-08-03 株式会社日立製作所 半導体メモリモジュール、およびメモリシステム
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
US7796465B2 (en) * 2008-07-09 2010-09-14 Nvidia Corporation Write leveling of memory units designed to receive access requests in a sequential chained topology

Also Published As

Publication number Publication date
US8020022B2 (en) 2011-09-13
KR100951600B1 (ko) 2010-04-09
JP2009075682A (ja) 2009-04-09
KR20090029667A (ko) 2009-03-23
US20090077411A1 (en) 2009-03-19

Similar Documents

Publication Publication Date Title
JP4382842B2 (ja) メモリ制御回路,遅延時間制御装置,遅延時間制御方法および遅延時間制御プログラム
EP2065894B1 (en) Variable delay circuit, memory control circuit, delay amount setting apparatus, delay amount setting method and delay amount setting program
KR100822001B1 (ko) 반도체기억장치 및 반도체기억회로의 동작방법
KR102401526B1 (ko) 입력 클록 신호와 다상 클록 신호 간의 위상 관계를 결정하기 위한 장치 및 방법
US8780655B1 (en) Method and apparatus for aligning a clock signal and a data strobe signal in a memory system
JP4551431B2 (ja) 可変遅延回路,遅延時間制御方法および単位回路
JP5802046B2 (ja) データ入力回路
US20050243608A1 (en) Input circuit for a memory device
US20120087201A1 (en) Semiconductor memory device and memory system having the same
JP2004110906A (ja) 半導体記憶装置
WO2009110040A1 (ja) メモリデバイス及びメモリシステム並びにメモリシステムにおけるアクセスタイミング調整方法
KR20110130887A (ko) 반도체 메모리 장치 및 그 동작 방법
KR100972555B1 (ko) 데이터 출력회로 및 데이터 출력방법
KR20130070335A (ko) 반도체 메모리 장치
US20120026814A1 (en) Circuit for transmitting and receiving data and control method thereof
US20190267057A1 (en) Semiconductor device, semiconductor system including the semiconductor device, and method of operating the semiconductor device and system
US7408821B2 (en) Method for error compensation and a memory control device adapted for error compensation
US10777243B2 (en) Semiconductor device and semiconductor system including the semiconductor device for aligning an internal data strobe signal using an offset code
KR100594294B1 (ko) 메모리 장치 및 데이터 트레이닝 방법
US6504767B1 (en) Double data rate memory device having output data path with different number of latches
JP5587562B2 (ja) 半導体記憶装置
JP5431028B2 (ja) 半導体記憶装置
CN114518837B (zh) 运用于存储器系统的多循环写入均衡程序的处理方法
KR20160075058A (ko) 반도체 메모리 장치 및 그의 동작 방법
KR20120087569A (ko) 반도체메모리장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090319

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20090810

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

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090917

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20121002

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20131002

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees