JP2008305349A - メモリコントローラ - Google Patents

メモリコントローラ Download PDF

Info

Publication number
JP2008305349A
JP2008305349A JP2007154438A JP2007154438A JP2008305349A JP 2008305349 A JP2008305349 A JP 2008305349A JP 2007154438 A JP2007154438 A JP 2007154438A JP 2007154438 A JP2007154438 A JP 2007154438A JP 2008305349 A JP2008305349 A JP 2008305349A
Authority
JP
Japan
Prior art keywords
clock signal
signal
dll
data
memory module
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.)
Granted
Application number
JP2007154438A
Other languages
English (en)
Other versions
JP2008305349A5 (ja
JP5113433B2 (ja
Inventor
Masanao Yokoyama
勝巨 横山
Yoshihiro Kobayashi
義宏 小林
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2007154438A priority Critical patent/JP5113433B2/ja
Publication of JP2008305349A publication Critical patent/JP2008305349A/ja
Publication of JP2008305349A5 publication Critical patent/JP2008305349A5/ja
Application granted granted Critical
Publication of JP5113433B2 publication Critical patent/JP5113433B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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

  • Memory System (AREA)
  • Dram (AREA)
  • Power Sources (AREA)

Abstract

【課題】 DDRタイプのメモリ素子を使用して、高いパフォーマンスと低消費電力化を両立する。
【解決手段】高速動作が要求されない場合においては、DLL回路に供給するリファレンスクロック信号を固定したまま、メモリモジュールに供給するクロック信号の周波数を低くすることによって、システム全体の低消費電力化を達成する。高速動作が要求される場合においては、DLL回路に供給するリファレンスクロック信号と同じ周波数のクロック信号をメモリモジュールに供給することで、高いパフォーマンスを達成する。
【選択図】図1

Description

本発明は、メモリコントローラに関し、より具体的には、メモリモジュールに供給するクロック信号の周波数を制御して、メモリモジュールからデータ信号をリードする、または、メモリモジュールへデータ信号をライトするメモリコントローラに関する。
近年、たとえば電子機器であるデジタルカメラ及びデジタルビデオカメラ等の撮像装置では、高速レスポンス、高速連写性能、長時間動画撮影など、高いパフォーマンスを必要とする機能が必要不可欠になりつつある。これに伴い、使用するクロック信号の高速化や、高速なメモリアクセスが可能なDouble−Data−Rate(以下、DDRと略す)タイプのメモリの搭載等により、必要なパフォーマンスが達成されている。
しかしながら、高いパフォーマンスを獲得するために、撮像装置全体の消費電力は増加傾向にある。消費電力の増加は、撮像装置のみならず、電池駆動を必要とする電子機器にとっては、大きな問題である。
最近では、動作周波数帯域に制約が無く、高いパフォーマンスを維持したままメモリでの消費電力を削減可能な、遅延回路であるDLL(Delay-Locked-Loop)回路非搭載のMobileDDRタイプのメモリも開発されている。
特許文献1には、転送するデータ信号の量に応じてメモリに与えるクロック信号の周波数を切り替え、データ信号の転送が少ない期間では、メモリを通常の動作周波数よりも低い周波数のクロック信号で動作させることが記載されている。これにより、メモリでの消費電力を低減することが可能となる。
また特許文献2には、動作する周波数帯域の異なる2種類のDLL回路をDDRタイプのメモリの内部に搭載する。そして供給されるクロック信号の周波数に応じてDLL回路を使い分けることで、高いパフォーマンスと低消費電力化の両方を達成することが記載されている。
特開2000−307534号公報 特開2004−355081号公報
同期式のメモリを使用し、高いパフォーマンスを達成しようとする場合、高精度のタイミング調整回路が要求される。特にDDRタイプのメモリにおいては、DLL回路のような高精度の遅延を調整する回路がコントローラ側に必要となる。DLL回路は、入力周波数に追随して高い精度で遅延量を調整できる一方で、追随可能な周波数帯域には制約がある。DLL回路は、低速であるクロック信号の低い周波数で動作させたい場合など、低消費電力化に対しては不向きなメモリデバイスである。特許文献2にあるように、追随可能な周波数帯域の異なるDLL回路を複数搭載し、入力周波数に応じて使用するDLL回路切り替える構成は、大きな占有面積を必要とする。
本発明はこのような問題点に鑑み、メモリモジュールの高いパフォーマンスと低消費電力化を可能とするメモリコントローラを提供することを目的とする。
上記の目的を達成するため、本発明の実施形態に係るメモリコントローラは、
データ信号と、当該データ信号のタイミングを示すデータストローブ信号を出力するメモリモジュールを制御するメモリコントローラであって、
前記データストローブ信号をリファレンスクロック信号に基づいて遅延する遅延回路と、
前記遅延回路へ供給する前記リファレンスクロック信号と前記メモリモジュールへ供給するクロック信号を生成するクロック発生回路と、
前記メモリモジュールが出力する前記データ信号を前記遅延回路で遅延した前記データストローブ信号に同期して取り込むラッチ回路と、を備え、
前記クロック発生回路は、前記遅延回路へ供給する前記リファレンスクロック信号の周波数と、前記メモリモジュールへ供給する前記クロック信号の周波数と、を独立して制御することを特徴とする。
あるいは、データ信号と、当該データ信号のタイミングを示すデータストローブ信号を受信し、当該データ信号を記憶するメモリモジュールを制御するメモリコントローラであって、
前記データストローブ信号をリファレンスクロック信号に基づいて遅延する遅延回路と、
前記データストローブ信号と前記データ信号を生成する出力データ生成回路と、
前記遅延回路へ供給する前記リファレンスクロック信号と前記メモリモジュール及び前記出力データ生成回路へ供給するクロック信号を生成するクロック発生回路と、を備え、
前記クロック発生回路は、前記遅延回路へ供給する前記リファレンスクロック信号の周波数と、前記メモリモジュール及び前記出力データ生成回路へ供給する前記クロック信号の周波数と、を独立して制御することを特徴とする。
本発明によれば、メモリモジュールの高いパフォーマンスと低消費電力化を可能とするメモリコントローラを提供することができる。
以下、本発明を実施するための最良の実施形態について、図面を参照して説明する。
図1は、本発明の一実施形態に係るリード側のメモリコントローラの概略構成を示すブロック図である。図1において、メモリコントローラ110は、クロック制御回路111、クロック発生回路112、DLL回路113、フリップフロップ(以下、FFと略す)114、115を備える。メモリコントローラ110はまた、インバータバッファ116、出力インタフェースバッファ151、152、入力インタフェースバッファ153、154を備える。
141、142、143、144、及び145は、メモリコントローラ110がDLL回路非搭載のメモリモジュール130に入力する信号MEMCLK、MEMCLK_L、DQS、DQ、及びCMDの信号線を示す。それらの信号は、それぞれクロック信号とその反転クロック信号、双方向のデータストローブ信号、双方向のデータ信号である。またCMDは、メモリモジュール130に入力するアドレス、バンクアドレス、RAS、CAS、WE、CKE、CS等のすべてを含む制御信号である。本実施形態では、CMDの制御回路と出力インタフェースバッファの説明は省略する。
尚、メモリモジュール130は、MobileDDR−SDRAM(Synchronous Dynamic Random Access Memory)からなる。本実施形態において、メモリモジュール130は、MobileDDR−SDRAMとして説明するが、これに限るわけではない。
以下、メモリコントローラ110が、クロック信号MEMCLKと反転クロック信号MEMCLK_Lに同期してメモリモジュール130から供給されるデータストローブ信号DQSとデータ信号DQを受信する構成について説明する。
クロック制御回路111は、制御信号CLK_CTLを信号線127を介してクロック発生回路112に供給する。制御信号CLK_CTLは、クロック発生回路112から信号線120に出力されるクロック信号MEMCLKの周波数を制御する。
本実施形態において、制御信号CLK_CTLは、スルーモード、ハーフモード、及びゲーテッドモードを有する。
クロック発生回路112は、遅延回路であるDLL回路113へのリファレンスクロック信号DLL_CLKを信号線122に出力し、またクロック信号MEMCLKを信号線120に出力する。リファレンスクロック信号DLL_CLKは固定周波数のクロックであり、クロック信号MEMCLKは、制御信号CLK_CTLに従って、可変制御可能な周波数のクロックである。
DLL回路113は、Delay−Locked−Loop回路と一般的に呼ばれる遅延回路である。
制御信号CLK_CTLがスルーモード時には、リファレンスクロック信号DLL_CLKと同じ周波数のクロック信号を信号線20にクロック信号MEMCLKとして出力するものとする。またハーフモード時には、リファレンスクロック信号DLL_CLKの1/2の周波数になるように分周したクロック信号を信号線120にクロック信号MEMCLKとして出力するものとする。さらにゲーテッドモード時は、リファレンスクロック信号DLL_CLKの1/3の周波数になるようにロウレベルにゲートしたクロック信号を信号線120にクロック信号MEMCLKとして出力するものとする。本実施形態において、ゲーテッドモードは、リファレンスクロック信号DLL_CLKの1/3の周波数のクロック信号になるようにロウレベルにゲートしたクロック信号を生成するとして説明する。ただし、ゲート信号を変更することにより、リファレンスクロック信号DLL_CLKの1/N(Nは自然数)の周波数のクロック信号を生成することが可能である。上記するように、クロック発生回路112は、DLL回路113へ供給するリファレンスクロック信号DLL_CLKの周波数とメモリモジュール130へ供給するクロック信号MEMCLKの周波数を独立して制御する。
また、本実施形態では、リファレンスクロック信号DLL_CLKとクロック信号MEMCLKが同期しているものとして説明するが、非同期であっても構わない。
クロック信号MEMCLKは、メモリモジュール130のCLK端子に信号線141を介して接続される。また、クロック信号MEMCLKをインバータバッファ116によって反転した反転クロック信号MEMCLK_Lは、信号線142を介してメモリモジュール130のCLK_L端子に接続される。
DQSは、メモリモジュール130から出力されたデータストローブ信号であり、信号線143、123を介してDLL回路113に接続される。
DLL回路113は、基本的にデータストローブ信号DQSをリファレンスクロック信号DLL_CLKに基づいて遅延する遅延回路として動作する。すなわち、信号線122のクロック信号DLL_CLKをリファレンスクロック信号とし、ロックするのに必要な時間が経過した後は、温度、電圧などの変化に追従し、信号線123を介して入力されるデータストローブ信号DQSの遅延量を調整する。
そしてデータストローブ信号DQSの位相を、リファレンスクロック信号DLL_CLKを90度程度遅延した信号DLL_OUT90を信号線126に出力する。さらに、信号DLL_OUT90を反転させることによりデータストローブ信号DQSの位相を、リファレンスクロック信号DLL_CLKを270度程度遅延した信号DLL_OUT270を信号線125に出力する。
FF114は、ラッチ回路として動作し、DLL回路113からの信号線126の信号DLL_OUT90に同期して、メモリモジュール130から出力された信号線124上のデータ信号DQを取り込む。また、FF115は、同じくラッチ回路として動作し、DLL回路113からの信号線125の信号DLL_OUT270に同期して、メモリモジュール130から出力された信号線124上のデータ信号DQを取り込む。図面の簡略化の為、FF114、115は1ビット用のラッチ回路として図示してあるが、実際には複数ビットからなり、複数ビットを並列にラッチ処理する。
次に、図2を参照して、高速動作が要求される場合の、図1に示すメモリコントローラ110のリードデータ転送動作を説明する。クロック発生回路112は、信号線122のリファレンスクロック信号DLL_CLKに同期した同じ周波数のクロック信号をクロック信号MEMCLKとして信号線120に出力する。これは、図示していないがクロック制御回路111から供給される信号線127のスルーモードでの制御信号CLK_CTLに従い、クロック発生回路112がクロック信号MEMCLKを出力する。
メモリモジュール130は、メモリコントローラ110から供給されるクロック信号MEMCLKの立ち上がり信号と反転クロック信号MEMCLK_Lの立ち上がり信号に同期して、データストローブ信号DQSとデータ信号DQを出力する。
DLL回路113は、メモリモジュール130から供給されるデータストローブ信号DQSを、リファレンスクロック信号DLL_CLKの90度程度分の位相tDLL90aだけ遅延した信号DLL_OUT90を生成する。DLL回路113は信号DLL_OUT90を、FF114にクロック信号として供給する。
さらに信号DLL_OUT90を反転させ、データストローブ信号DQSをリファレンスクロック信号DLL_CLKの270度程度分の位相tDLL270aだけ遅延した信号DLL_OUT270生成し、FF115にクロック信号として供給する。FF114、115のセットアップ時間をtDS、ホールド時間をtDHとしたとき、FF114は、信号DLL_OUT90をクロックとして、
tDS<Tsa1 (1)
tDH<Tha1 (2)
を満たすことで、メモリモジュール130から出力されたデータ信号DQの奇数番目のデータを取り込むことが可能となる。なお、期間Tsa1とTha1は、データ信号DQの出力期間と位相tDLL90aだけ遅延した信号DLL_OUT90で定まる期間である。
また、FF115は、信号DLL_OUT270をクロックとして、
tDS<Tsa2 (3)
tDH<Tha2 (4)
を満たすことで、メモリモジュール130から出力されたデータ信号DQの偶数番目のデータを取り込むことが可能となる。なお、期間Tsa2とTha2は、データ信号DQの出力期間と位相tDLL270aだけ遅延した信号DLL_OUT270で定まる期間である。
図3及び図4においては、高速動作は要求されないで、低消費電力を要求される場合の、図1に示すメモリコントローラのリードデータ転送動作を表すタイミングチャートの1例を示す。
図3は、クロック発生回路112がリファレンスクロック信号DLL_CLKの1/2の周波数のクロック信号MEMCLKをメモリモジュール130に供給する場合の図1のタイミングチャートである。
クロック発生回路112は、図示しないが、クロック制御回路111から供給されるハーフモードの制御信号CLK_CTLに従い、リファレンスクロック信号DLL_CLKに同期した1/2の周波数のクロックをクロック信号MEMCLKとして出力する。
メモリモジュール130は、メモリコントローラ110から供給されるクロック信号MEMCLKの立ち上がり信号と反転クロック信号MEMCLK_Lの立ち上がり信号に同期して、データストローブ信号DQSとデータ信号DQを出力する。このとき、データストローブ信号DQSの周波数は、図2のデータストローブ信号DQSの1/2倍、データ信号DQのデータ周期は、図2のデータ信号DQの2倍となる。
DLL回路113は、図2で説明したように、メモリモジュール130から供給されるデータストローブ信号DQSをリファレンスクロック信号DLL_CLKの90度程度分の位相tDLL90bだけ遅延した信号DLL_OUT90を生成する。そして生成した信号DLL_OUT90をFF114にクロック信号として供給する。さらに信号DLL_OUT90を反転させてデータストローブ信号DQSをtDLL90Rbだけ遅延した信号DLL_OUT270を生成する。そして生成した信号DLL_OUT270をFF115にクロック信号として供給する。
FF114は、信号DLL_OUT90をクロック信号として、
tDS<Tsb1 (5)
tDH<Thb1 (6)
を満たすことで、メモリモジュール130から出力されたデータ信号DQの奇数番目のデータを取り込むことが可能となる。なお、期間Tsb1とThb1は、データ信号DQの出力期間と位相tDLL90bだけ遅延した信号DLL_OUT90で定まる期間である。
FF115は、信号DLL_OUT270をクロック信号として、
tDS<Tsb2 (7)
tDH<Thb2 (8)
を満すことで、メモリモジュール130から出力されたデータ信号DQの偶数番目のデータを取り込むことが可能となる。なお、期間Tsb2とThb2は、データ信号DQの出力期間と位相tDLL90Rbだけ遅延した信号DLL_OUT270で定まる期間である。
このとき、図3と図2のタイミングの関係は、
Tsa1=Tsb1 (9)
Tsa2=Tsb2 (10)
Tha1<Thb1 (11)
Tha2<Thb2 (12)
を満たしている。
図4は、クロック発生回路112がリファレンスクロック信号DLL_CLKをゲーテッド制御したクロック信号MEMCLKをメモリモジュール130に供給する場合のタイミングチャートである。
クロック発生回路112は、リファレンスクロック信号DLL_CLKの1/3の周波数になるようにロウレベルにゲートしたクロック信号を、信号線120にクロック信号MEMCLKとして出力する。これは、図示していないがクロック制御回路111から供給されるゲーテッドモードの制御信号CLK_CTLに従い、クロック発生回路112がクロック信号MEMCLKを出力する。
メモリモジュール130は、メモリコントローラ110から供給されるクロック信号MEMCLKの立ち上がり信号と反転クロック信号MEMCLK_Lの立ち上がり信号に同期して、データストローブ信号DQSとデータ信号DQを出力する。
DLL回路113は、図2で説明したように、メモリモジュール130から供給されるデータストローブ信号DQSをリファレンスクロック信号DLL_CLKの90度程度分の位相tDLL90cだけ遅延した信号DLL_OUT90を生成する。そして、生成した信号DLL_OUT90を、FF114にクロック信号として供給する。さらに信号DLL_OUT90を反転させてデータストローブ信号DQSをtDLL90Rcだけ遅延した信号DLL_OUT270を生成する。そして生成した信号DLL_OUT270を、FF115にクロック信号として供給する。
FF114は、信号DLL_OUT90をクロック信号として、
tDS<Tsc1 (13)
tDH<Thc1 (14)
を満たすことで、メモリモジュール130から出力されたデータ信号DQの奇数番目のデータを取り込むことが可能となる。なお、期間Tsc1とThc1は、データ信号DQの出力期間と位相tDLL90cだけ遅延した信号DLL_OUT90で定まる期間である。
FF115は、信号DLL_OUT270をクロック信号として、
tDS<Tsc2 (15)
tDH<Thc2 (16)
を満たすことで、メモリモジュール130から出力されたデータ信号DQの偶数番目のデータを取り込むことが可能となる。なお、期間Tsc2とThc2は、データ信号DQの出力期間と位相tDLL90Rcだけ遅延した信号DLL_OUT270で定まる期間である。
このとき、図4と図2のタイミングの関係は、
Tsa1=Tsc1 (17)
Tsa2=Tsc2 (18)
Tha1=Thc1 (19)
Tha2<Thc2 (20)
を満たしている。
上述した図2、3、および4のラッチ回路であるFF114、115は、図2のセットアップ時間とホールド時間の仕様を満たせば、図3、図4のタイミングも満たす。したがって、ダイナミックにクロック発生回路112を制御しても安定してデータ信号DQを取り込むことが可能である。
図5は、本発明の一実施形態に係るライト側のメモリコントローラの概略構成を示すブロック図である。図5において、メモリコントローラ210は、クロック制御回路211、クロック発生回路212、DLL回路213を備える。また、メモリコントローラ210は、出力データ生成回路として機能するフリップフロップ260、261、262を備える。さらに、メモリコントローラ210は、AND回路263、2入力1出力セレクタ264、インバータバッファ216、出力インタフェースバッファ251、252、出力3−STATEインタフェースバッファ253、254を備える。
241、242、243、244、及び245は、メモリコントローラ210がDLL回路非搭載のメモリモジュール230に入力する信号MEMCLK、MEMCLK_L、DQS、DQ、及びCMDの信号線を示す。それらの信号は、それぞれクロック信号とその反転クロック信号、双方向のデータストローブ信号、双方向のデータ信号である。またCMDは、メモリモジュール230に入力するアドレス、バンクアドレス、RAS、CAS、WE、CKE、CS等のすべてを含む制御信号である。本実施形態では、CMDの制御回路と出力インタフェースバッファの説明は省略する。
尚、メモリモジュール230は、MobileDDR−SDRAMからなる。本実施形態において、メモリモジュール230は、MobileDDR−SDRAMとして説明するが、これに限るわけではない。メモリモジュール230は、データ信号と、データ信号のタイミングを示すデータストローブ信号を受信し、データ信号を記憶する。
以下、メモリコントローラ210が、クロック信号MEMCLKと反転クロック信号MEMCLK_L、データストローブ信号DQSとデータ信号DQをメモリモジュール230へ供給する構成について説明する。
クロック制御回路211は、制御信号CLK_CTLを信号線227を介してクロック発生回路212に供給する。制御信号CLK_CTLは、クロック発生回路212から信号線220に出力されるクロック信号MEMCLKの周波数を制御する。本実施形態において、制御信号CLK_CTLは、スルーモード、ハーフモード、及びゲーテッドモードを有する。
クロック発生回路212は、遅延回路であるDLL回路213へのリファレンスクロック信号DLL_CLKを信号線222に出力し、またクロック信号MEMCLKを信号線220に出力する。リファレンスクロック信号DLL_CLKは固定周波数のクロックであり、クロック信号MEMCLKは、制御信号CLK_CTLに従って、可変制御可能な周波数のクロックである。
DLL回路213は、Delay−Locked−Loop回路と一般的に呼ばれる遅延回路である。
制御信号CLK_CTLがスルーモード時には、リファレンスクロック信号DLL_CLKと同じ周波数のクロック信号を信号線220にクロック信号MEMCLKとして出力するものとする。またハーフモード時には、リファレンスクロック信号DLL_CLKの1/2の周波数になるように分周したクロック信号を信号線220にクロック信号MEMCLKとして出力するものとする。さらにゲーテッドモード時は、リファレンスクロック信号DLL_CLKの1/3の周波数になるようにロウレベルにゲートしたクロック信号を信号線220にクロック信号MEMCLKとして出力するものとする。
本実施形態において、ゲーテッドモードは、リファレンスクロック信号DLL_CLKの1/3の周波数のクロック信号になるようにロウレベルにゲートしたクロック信号を生成するとして説明する。ただし、ゲート信号を変更することにより、リファレンスクロック信号DLL_CLKの1/N(Nは自然数)の周波数のクロック信号を生成することが可能である。上記するように、クロック発生回路212は、DLL回路213へ供給するリファレンスクロック信号DLL_CLKの周波数とメモリモジュール230へ供給するクロック信号MEMCLKの周波数を独立して制御する。また、本実施形態では、リファレンスクロック信号DLL_CLKとクロック信号MEMCLKが同期しているものとして説明するが、非同期であっても構わない。
クロック信号MEMCLKは、メモリモジュール230のCLK端子に信号線241を介して接続される。また、クロック信号MEMCLKをインバータバッファ216によって反転した反転クロック信号MEMCLK_Lは、信号線242を介してメモリモジュール230のCLK_L端子に接続される。
AND回路263は、2入力の論理積であり、前記WDQSMKとクロック信号MEMCLKを入力信号とし、データストローブ信号WDQSを生成して、信号線226に出力する。前記WDQSMKは、クロック信号MEMCLKの立ち上がりエッジが保存されるようにタイミング調整されているものとする。
本実施形態では図示していないが、クロック信号MEMCLKに同期してクロック信号MEMCLKをゲーテッド制御する信号を生成する回路は、CLK_MKを信号線272に出力する。
FF260は、ラッチ回路として動作し、CLK_MKを入力信号とし、クロック信号MEMCLKに同期して、ゲーテッド制御信号WDQSMKを信号線225に出力する。
本実施形態では図示していないが、クロック信号MEMCLKに同期してメモリモジュール230へライトする奇数番目のデータを生成する回路は、ODD_DATAを信号線273に出力する。
FF261は、ラッチ回路として動作し、ODD_DATAを入力信号とし、反転したクロック信号MEMCLKに同期して、メモリモジュール230へライトする奇数番目のデータWDATA_Hを信号線228に出力する。
本実施形態では図示していないが、クロック信号MEMCLKに同期してメモリモジュール230へライトする偶数番目のデータを生成する回路は、EVEN_DATAを信号線274に出力する。
FF262は、ラッチ回路として動作し、EVEN_DATA入力信号とし、クロック信号MEMCLKに同期して、メモリモジュール230へライトする偶数番目のデータWDATA_Lを信号線229に出力する。
図面の簡略化の為、FF260、261、262は1ビット用のラッチ回路として図示してあるが、実際には複数ビットからなり、複数ビットを並列にラッチ処理する。
2入力1出力セレクタ264は、クロック信号MEMCLKが‘1’のときは、偶数番目のデータWDATA_Lを信号線224に出力し、クロック信号MEMCLKが‘0’のときは、奇数番目のデータWDATA_Hを信号線224に出力する。
DLL回路213は、基本的にデータストローブ信号WDQSをリファレンスクロック信号DLL_CLKに基づいて遅延する遅延回路として動作する。すなわち、信号線222のクロック信号DLL_CLKをリファレンスクロック信号とし、ロックするのに必要な時間が経過した後は、温度、電圧などの変化に追従し、信号線226を介して入力されるデータストローブ信号WDQSの遅延量を調整する。
そしてデータストローブ信号WDQSの位相を、リファレンスクロック信号DLL_CLKを90度程度遅延した信号WDQS90を信号線223に出力する。
出力3−STATEインタフェースバッファ253は、データストローブ信号DQSがメモリモジュール230のスペックを満たすように、信号線271より入力されるイネーブル信号ODQS_ENにより制御されているものとする。
また、出力3−STATEインタフェースバッファ254は、データ信号DQがメモリモジュール230のスペックを満たすように、信号線271より入力されるイネーブル信号ODQ_ENにより制御されているものとする。
次に、図6を参照して、高速動作が要求される場合の、図5に示すメモリコントローラのライトデータ転送動作を説明する。クロック発生回路212は、信号線222のリファレンスクロック信号DLL_CLKに同期した同じ周波数のクロック信号をクロック信号MEMCLKとして信号線220に出力する。これは、図示していないがクロック制御回路211から供給される信号線227のスルーモードでの制御信号CLK_CTLに従い、クロック発生回路212がクロック信号MEMCLKを出力する。
DLL回路213は、クロック信号MEMCLKを、ゲーテッド制御して生成したストローブ信号WDQSをリファレンスクロック信号DLL_CLKの90度程度分の位相tDLL90dだけ遅延したWDQS90を生成し、信号線223に出力する。
2入力1出力セレクタ264は、クロック信号MEMCLKが‘1’のときは、クロック信号MEMCLKに同期した偶数番目のデータWDATA_Lを信号線224に出力する。また、クロック信号MEMCLKが‘0’のときは、反転したクロック信号MEMCLKに同期した奇数番目のデータWDATA_Hを信号線224に出力する。
メモリモジュール230のデータ信号DQのセットアップ時間をtDDS、ホールド時間をtDDHとしたとき、
tDDS<Tsd1 (21)
tDDH<Thd1 (22)
tDDS<Tsd2 (23)
tDDH<Thd2 (24)
を満たすことで、メモリモジュール230は、あらかじめコマンドにて指定されたアドレスにデータ信号を格納する。なお、期間Tsd1とThd1及びTsd2とThd2は、データ信号WDQの出力期間と位相tDLL90dだけ遅延した信号WDQS90で定まる期間である。
図7及び図8においては、高速動作は要求されないで、低消費電力を要求される場合の、図5に示すメモリコントローラ210のライトデータ転送動作を表すタイミングチャートの1例を示す。
図7は、クロック発生回路212がリファレンスクロック信号DLL_CLKの1/2の周波数のクロック信号MEMCLK信号をメモリモジュール230に供給する場合のタイミングチャートである。
クロック発生回路212は、図示しないが、クロック制御回路211から供給されるハーフモードの制御信号CLK_CTLに従い、リファレンスクロック信号DLL_CLKに同期した1/2の周波数のクロックをクロック信号MEMCLKとして出力する。
本実施形態では、リファレンスクロック信号DLL_CLKとクロック信号MEMCLKが同期しているものとして説明するが、非同期でも構わない。
DLL回路213は、クロック信号MEMCLKを、ゲーテッド制御して生成したストローブ信号WDQSをリファレンスクロック信号DLL_CLKの90度程度分のtDLL90eだけ遅延したWDQS90を生成し、信号線223に出力する。
2入力1出力セレクタ264は、クロック信号MEMCLKが‘1’のときは、クロック信号MEMCLKに同期した偶数番目のデータWDATA_Lを信号線224に出力する。また、クロック信号MEMCLKが‘0’のときは、反転したクロック信号MEMCLKに同期した奇数番目のデータWDATA_Hを信号線224に出力する。
メモリモジュール230のデータ信号DQのセットアップ時間をtDDS、ホールド時間をtDDHとしたとき、
tDDS<Tse1 (25)
tDDH<The1 (26)
tDDS<Tse2 (27)
tDDH<The2 (28)
を満たすことで、メモリモジュール230は、あらかじめコマンドにて指定されたアドレスにデータ信号を格納する。なお、期間Tse1とThe1及びTse2とThe2は、データ信号WDQの出力期間と位相tDLL90eだけ遅延した信号WDQS90で定まる期間である。
このとき、図6と図7のタイミングの関係は、
Tsd1=Tse1 (29)
Tsd2=Tse2 (30)
Thd1<The1 (31)
Thd2<The2 (32)
となる。
図8は、クロック発生回路212がリファレンスクロック信号DLL_CLKをゲーテッド制御したクロック信号MEMCLKをメモリモジュール230に供給する場合のタイミングチャートである。
クロック発生回路212は、リファレンスクロック信号DLL_CLKの1/3の周波数になるようにロウレベルにゲートしたクロック信号を、信号線220にクロック信号MEMCLKとして出力する。これは、図示していないがクロック制御回路211から供給されるゲーテッドモードの制御信号CLK_CTLに従い、クロック発生回路212がクロック信号MEMCLKを出力する。
DLL回路213は、クロック信号MEMCLKを、ゲーテッド制御して生成したストローブ信号WDQSをリファレンスクロック信号DLL_CLKの90度程度分のtDLL90fだけ遅延したWDQS90を生成し、信号線223に出力する。
2入力1出力セレクタ264は、クロック信号MEMCLKが‘1’のときは、クロック信号MEMCLKに同期した偶数番目のデータWDATA_Lを信号線224に出力する。また、クロック信号MEMCLKが‘0’のときは、反転したクロック信号MEMCLKに同期した奇数番目のデータWDATA_Hを信号線224に出力する。
メモリモジュール230のデータ信号DQのセットアップ時間をtDDS、ホールド時間をtDDHとしたとき、
tDDS<Tsf1 (33)
tDDH<Thf1 (34)
tDDS<Tsf2 (35)
tDDH<Thf2 (36)
を満たすことで、メモリモジュール230は、あらかじめコマンドにて指定されたアドレスにデータ信号を格納する。なお、期間Tsf1とThf1及びTsf2とThf2は、データ信号WDQの出力期間と位相tDLL90fだけ遅延した信号WDQS90で定まる期間である。
このとき、図6と図8のタイミングの関係は、
Tsd1=Tsf1 (37)
Tsd2=Tsf2 (38)
Thd1=Thf1 (39)
Thd2<Thf2 (40)
となる。
上述した図6、7、および8のメモリモジュール230は、図6のセットアップ時間とホールド時間の仕様を満たせば、図7、図8のタイミングも満たす。したがって、ダイナミックにクロック発生回路212とデータストローブの周波数を制御しても安定してデータ信号DQをライトすることが可能である。
以上説明したように、本実施形態によれば、高速動作が要求されないリード側のメモリコントローラの場合においては、遅延回路であるDLL回路113に供給するリファレンスクロック信号DLL_CLKの周波数を固定したまま、メモリモジュール130に供給するクロック信号MEMCLKの周波数を低くする。これにより、システム全体の低消費電力化を達成することができる。また、高速動作が要求されるリード側のメモリコントローラの場合には、メモリモジュール130に供給するクロック信号MEMCLKの周波数をDLL回路113に供給するリファレンスクロック信号DLL_CLKと同じ周波数にする。これにより、高いパフォーマンスを達成する。このように、クロック発生回路112は、DLL回路113へ供給するリファレンスクロック信号DLL_CLKの周波数とメモリモジュール130へ供給するクロック信号MEMCLKの周波数を独立して制御する。これらの動作を適宜に選択することで、高いパフォーマンスと低消費電力化を両立することが可能となる。
また、高速動作が要求されないライト側のメモリコントローラの場合、遅延回路であるDLL回路213に供給するリファレンスクロック信号DLL_CLKの周波数を固定したまま、メモリモジュール230に供給するクロック信号MEMCLKとデータストローブ信号DQSの周波数を低くする。これにより、システム全体の低消費電力化を達成する。また、ライト側のメモリコントローラの場合には、メモリモジュール230に供給するクロック信号MEMCLKとデータストローブ信号DQSの周波数を、DLL回路213に供給するリファレンスクロック信号DLL_CLKと同じ周波数にする。これにより、高速動作が要求されるライト側のメモリコントローラにおいて高いパフォーマンスを達成する。このように、クロック発生回路212は、DLL回路213へ供給するリファレンスクロック信号DLL_CLKの周波数とメモリモジュール230へ供給するクロック信号MEMCLKとデータストローブ信号DQSの周波数を独立して制御する。これらの動作を適宜に選択することで、高いパフォーマンスと低消費電力化を両立することが可能となる。
本発明の実施形態に係るリード側のメモリコントローラの概略構成ブロック図である。 本発明の実施形態に係るリード側のメモリコントローラの高速動作時のタイミングチャートである。 本発明の実施形態に係るリード側のメモリコントローラの低速動作時のタイミングチャートである。 本発明の実施形態に係るリード側のメモリコントローラの低速動作時のタイミングチャートである。 本発明の実施形態に係るライト側のメモリコントローラの概略構成ブロック図である。 本発明の実施形態に係るライト側のメモリコントローラの高速動作時のタイミングチャートである。 本発明の実施形態に係るライト側のメモリコントローラの低速動作時のタイミングチャートである。 本発明の実施形態に係るライト側のメモリコントローラの低速動作時のタイミングチャートである。
符号の説明
110 リード側のメモリコントローラ
111 クロック制御回路
112 クロック発生回路
113 DLL(Delay-Locked-Loop)回路
114 フリップフロップ
115 フリップフロップ
116 インバータ
130 メモリモジュール
210 ライト側のメモリコントローラ
211 クロック制御回路
212 クロック発生回路
213 DLL(Delay-Locked-Loop)回路
216 インバータ
230 メモリモジュール
251 出力インタフェースバッファ
252 出力インタフェースバッファ
253 出力3−STATEインタフェースバッファ
254 出力3−STATEインタフェースバッファ
260 フリップフロップ
261 フリップフロップ
262 フリップフロップ
263 AND回路
264 2入力1出力セレクタ

Claims (10)

  1. データ信号と、当該データ信号のタイミングを示すデータストローブ信号を出力するメモリモジュールを制御するメモリコントローラであって、
    前記データストローブ信号をリファレンスクロック信号に基づいて遅延する遅延回路と、
    前記遅延回路へ供給する前記リファレンスクロック信号と前記メモリモジュールへ供給するクロック信号を生成するクロック発生回路と、
    前記メモリモジュールが出力する前記データ信号を前記遅延回路で遅延した前記データストローブ信号に同期して取り込むラッチ回路と、を備え、
    前記クロック発生回路は、前記遅延回路へ供給する前記リファレンスクロック信号の周波数と、前記メモリモジュールへ供給する前記クロック信号の周波数と、を独立して制御することを特徴とするメモリコントローラ。
  2. 前記クロック発生回路は、前記遅延回路へ供給する前記リファレンスクロック信号と、前記リファレンスクロック信号の周波数の1/N(Nは自然数)の周波数を有する前記クロック信号と、を生成し、前記メモリモジュールへ供給することを特徴とする請求項1に記載のメモリコントローラ。
  3. 前記遅延回路へ供給する前記リファレンスクロック信号と、前記メモリモジュールへ供給するクロック信号は、同期していることを特徴とする請求項1に記載のメモリコントローラ。
  4. 前記遅延回路へ供給する前記リファレンスクロック信号と、前記メモリモジュールへ供給するクロック信号は、非同期であることを特徴とする請求項1に記載のメモリコントローラ。
  5. 前記遅延回路は、DLL回路であることを特徴とする請求項1に記載のメモリコントローラ。
  6. データ信号と、当該データ信号のタイミングを示すデータストローブ信号を受信し、当該データ信号を記憶するメモリモジュールを制御するメモリコントローラであって、
    前記データストローブ信号をリファレンスクロック信号に基づいて遅延する遅延回路と、
    前記データストローブ信号と前記データ信号を生成する出力データ生成回路と、
    前記遅延回路へ供給する前記リファレンスクロック信号と前記メモリモジュール及び前記出力データ生成回路へ供給するクロック信号を生成するクロック発生回路と、を備え、
    前記クロック発生回路は、前記遅延回路へ供給する前記リファレンスクロック信号の周波数と、前記メモリモジュール及び前記出力データ生成回路へ供給する前記クロック信号の周波数と、を独立して制御することを特徴とするメモリコントローラ。
  7. 前記クロック発生回路は、前記遅延回路へ供給する前記リファレンスクロック信号と、前記リファレンスクロック信号の周波数の1/N(Nは自然数)の周波数を有する前記クロック信号と、を生成し、前記メモリモジュール及び前記出力データ生成回路へ供給することを特徴とする請求項6に記載のメモリコントローラ。
  8. 前記遅延回路へ供給する前記リファレンスクロック信号と、前記メモリモジュールへ供給するクロック信号は、同期していることを特徴とする請求項6に記載のメモリコントローラ。
  9. 前記遅延回路へ供給する前記リファレンスクロック信号と、前記メモリモジュールへ供給するクロック信号は、非同期であることを特徴とする請求項6に記載のメモリコントローラ。
  10. 前記遅延回路は、DLL回路であることを特徴とする請求項6に記載のメモリコントローラ。
JP2007154438A 2007-06-11 2007-06-11 メモリコントローラ Active JP5113433B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007154438A JP5113433B2 (ja) 2007-06-11 2007-06-11 メモリコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007154438A JP5113433B2 (ja) 2007-06-11 2007-06-11 メモリコントローラ

Publications (3)

Publication Number Publication Date
JP2008305349A true JP2008305349A (ja) 2008-12-18
JP2008305349A5 JP2008305349A5 (ja) 2010-07-22
JP5113433B2 JP5113433B2 (ja) 2013-01-09

Family

ID=40233981

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007154438A Active JP5113433B2 (ja) 2007-06-11 2007-06-11 メモリコントローラ

Country Status (1)

Country Link
JP (1) JP5113433B2 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504064A (ja) * 2010-11-22 2014-02-13 アップル インコーポレイテッド 周波数変化中の効率的なdllトレーニングプロトコルのためのメカニズム
US10169263B2 (en) 2012-07-19 2019-01-01 International Business Machines Corporation Memory subsystem and computer system

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102288546B1 (ko) 2015-08-31 2021-08-10 삼성전자주식회사 스토리지 장치 및 그 제어 방법
KR102450521B1 (ko) 2018-01-09 2022-10-05 삼성전자주식회사 모바일 장치 및 그것의 인터페이싱 방법

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078547A (ja) * 2003-09-03 2005-03-24 Renesas Technology Corp 半導体集積回路
JP2005258533A (ja) * 2004-03-09 2005-09-22 Nec Electronics Corp メモリ制御装置およびこれを備えたデータ処理システム
JP2006013990A (ja) * 2004-06-28 2006-01-12 Ricoh Co Ltd 遅延制御装置
JP2006127092A (ja) * 2004-10-28 2006-05-18 Sony Corp 同期型メモリのクロック信号制御方法および装置、同期型メモリ制御装置並びに同期型メモリ
JP2007072699A (ja) * 2005-09-06 2007-03-22 Nec Electronics Corp インターフェイス回路
JP2007226308A (ja) * 2006-02-21 2007-09-06 Ricoh Co Ltd インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
JP2007310549A (ja) * 2006-05-17 2007-11-29 Sony Corp メモリ制御装置
JP2008071249A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd メモリ制御装置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005078547A (ja) * 2003-09-03 2005-03-24 Renesas Technology Corp 半導体集積回路
JP2005258533A (ja) * 2004-03-09 2005-09-22 Nec Electronics Corp メモリ制御装置およびこれを備えたデータ処理システム
JP2006013990A (ja) * 2004-06-28 2006-01-12 Ricoh Co Ltd 遅延制御装置
JP2006127092A (ja) * 2004-10-28 2006-05-18 Sony Corp 同期型メモリのクロック信号制御方法および装置、同期型メモリ制御装置並びに同期型メモリ
JP2007072699A (ja) * 2005-09-06 2007-03-22 Nec Electronics Corp インターフェイス回路
JP2007226308A (ja) * 2006-02-21 2007-09-06 Ricoh Co Ltd インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
JP2007310549A (ja) * 2006-05-17 2007-11-29 Sony Corp メモリ制御装置
JP2008071249A (ja) * 2006-09-15 2008-03-27 Ricoh Co Ltd メモリ制御装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014504064A (ja) * 2010-11-22 2014-02-13 アップル インコーポレイテッド 周波数変化中の効率的なdllトレーニングプロトコルのためのメカニズム
US10169263B2 (en) 2012-07-19 2019-01-01 International Business Machines Corporation Memory subsystem and computer system
US10223303B2 (en) 2012-07-19 2019-03-05 International Business Machines Corporation Memory subsystem and computer system

Also Published As

Publication number Publication date
JP5113433B2 (ja) 2013-01-09

Similar Documents

Publication Publication Date Title
KR100888597B1 (ko) 메모리 인터페이스 제어 장치 및 제어 방법
US7499370B2 (en) Synchronous semiconductor memory device
KR20080039076A (ko) 반도체 메모리 소자와 그의 구동 방법
KR100812600B1 (ko) 주파수가 다른 복수의 클럭을 사용하는 반도체메모리소자
US9679622B2 (en) Method for controlling memory device asynchronously with respect to system clock, and related memory device and memory system
US8514639B2 (en) Semiconductor memory device and method for operating the same
US20080043545A1 (en) Multiple Data Rate Ram Memory Controller
US7733129B2 (en) Method and circuit for generating memory clock signal
JP5113433B2 (ja) メモリコントローラ
US20040008069A1 (en) Method and apparatus for skewing data with respect to command on a DDR interface
JP2015103262A (ja) 半導体装置
US7791963B2 (en) Semiconductor memory device and operation method thereof
JP2009117020A (ja) 半導体メモリ装置
JP5856413B2 (ja) 半導体システム、半導体メモリ装置及びこれを用いたデータ出力方法
JP2007164697A (ja) 半導体集積回路およびメモリシステム並びにクロック信号設定方法
JP2009124532A (ja) 半導体集積回路
JP4843334B2 (ja) メモリ制御装置
US7791964B2 (en) Memory system and method ensuring read data stability
JP5188119B2 (ja) メモリコントローラ
JP5072317B2 (ja) メモリコントローラ
JP2006277892A (ja) 半導体記憶装置
KR100522424B1 (ko) 동기식 반도체 메모리 소자
JP2010146352A (ja) メモリアクセス制御回路とメモリアクセス制御方法
KR20050075226A (ko) 메모리 제어장치
KR20120076406A (ko) 내부클럭 생성회로

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100608

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100608

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120706

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120827

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

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

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3

R151 Written notification of patent or utility model registration

Ref document number: 5113433

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

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

Free format text: PAYMENT UNTIL: 20151019

Year of fee payment: 3