JP2009104721A - Ddr memory controller and semiconductor device - Google Patents
Ddr memory controller and semiconductor device Download PDFInfo
- Publication number
- JP2009104721A JP2009104721A JP2007276184A JP2007276184A JP2009104721A JP 2009104721 A JP2009104721 A JP 2009104721A JP 2007276184 A JP2007276184 A JP 2007276184A JP 2007276184 A JP2007276184 A JP 2007276184A JP 2009104721 A JP2009104721 A JP 2009104721A
- Authority
- JP
- Japan
- Prior art keywords
- ddr memory
- clock
- circuit
- signal
- memory controller
- 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
Links
- 239000004065 semiconductor Substances 0.000 title claims description 28
- 230000001934 delay Effects 0.000 claims abstract description 18
- 230000004044 response Effects 0.000 claims description 4
- 102100040862 Dual specificity protein kinase CLK1 Human genes 0.000 abstract 2
- 101000749294 Homo sapiens Dual specificity protein kinase CLK1 Proteins 0.000 abstract 2
- 230000002123 temporal effect Effects 0.000 abstract 1
- 102100040856 Dual specificity protein kinase CLK3 Human genes 0.000 description 14
- 101000749304 Homo sapiens Dual specificity protein kinase CLK3 Proteins 0.000 description 14
- 101100191136 Arabidopsis thaliana PCMP-A2 gene Proteins 0.000 description 10
- 102100040844 Dual specificity protein kinase CLK2 Human genes 0.000 description 10
- 101000749291 Homo sapiens Dual specificity protein kinase CLK2 Proteins 0.000 description 10
- 101100048260 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) UBX2 gene Proteins 0.000 description 10
- 230000003111 delayed effect Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000009966 trimming Methods 0.000 description 8
- 238000000034 method Methods 0.000 description 7
- 101100422768 Saccharomyces cerevisiae (strain ATCC 204508 / S288c) SUL2 gene Proteins 0.000 description 6
- 238000004519 manufacturing process Methods 0.000 description 5
- 230000000630 rising effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000758 substrate Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C8/00—Arrangements for selecting an address in a digital store
- G11C8/18—Address timing or clocking circuits; Address control signal generation or management, e.g. for row address strobe [RAS] or column address strobe [CAS] signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1689—Synchronisation and timing concerns
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/0805—Details of the phase-locked loop the loop being adapted to provide an additional control signal for use outside the loop
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03L—AUTOMATIC CONTROL, STARTING, SYNCHRONISATION OR STABILISATION OF GENERATORS OF ELECTRONIC OSCILLATIONS OR PULSES
- H03L7/00—Automatic control of frequency or phase; Synchronisation
- H03L7/06—Automatic control of frequency or phase; Synchronisation using a reference signal applied to a frequency- or phase-locked loop
- H03L7/08—Details of the phase-locked loop
- H03L7/081—Details of the phase-locked loop provided with an additional controlled phase shifter
- H03L7/0812—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used
- H03L7/0816—Details of the phase-locked loop provided with an additional controlled phase shifter and where no voltage or current controlled oscillator is used the controlled phase shifter and the frequency- or phase-detection arrangement being connected to a common input
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE 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/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Dram (AREA)
- Memory System (AREA)
Abstract
Description
本発明は、DDRメモリ用のDDRメモリコントローラ、及びそのDDRメモリコントローラが搭載された半導体装置に関する。 The present invention relates to a DDR memory controller for a DDR memory and a semiconductor device on which the DDR memory controller is mounted.
SDRAM(Synchronous Dynamic Random Access Memory)の一種として、高速データ転送が可能なDDR(Double Data Rate)−SDRAMが知られている。DDR−SDRAMは、以下「DDRメモリ」と参照される。また、DDRメモリ用のメモリコントローラは、以下「DDRメモリコントローラ」と参照される。 As a type of SDRAM (Synchronous Dynamic Random Access Memory), DDR (Double Data Rate) -SDRAM capable of high-speed data transfer is known. The DDR-SDRAM is hereinafter referred to as “DDR memory”. The memory controller for the DDR memory is hereinafter referred to as “DDR memory controller”.
DDRメモリとDDRメモリコントローラとの間の高速データ転送においては、「ストローブ信号」と呼ばれる専用の信号が用いられる。具体的には、データ送出側は、データ信号と共にストローブ信号を出力する。そのストローブ信号は、データ信号の出力タイミング毎にH/Lのトグル動作を繰り返すが、クロック信号とは別の信号である。データ受取側は、クロック信号ではなく受け取ったストローブ信号を参照して、データ信号の取り込みを行う。 In high-speed data transfer between the DDR memory and the DDR memory controller, a dedicated signal called “strobe signal” is used. Specifically, the data transmission side outputs a strobe signal together with the data signal. The strobe signal repeats the H / L toggle operation at every output timing of the data signal, but is a signal different from the clock signal. The data receiving side takes in the data signal with reference to the received strobe signal instead of the clock signal.
例えばデータ読み出し時、DDRメモリは、読み出しデータを示すデータ信号に加えてストローブ信号を出力する。DDRメモリコントローラは、受け取ったストローブ信号を参照して、ストローブ信号の立ち上がりエッジ及び立ち下がりエッジのタイミングで、受け取ったデータ信号をラッチする。この時、データ信号が安定した状態でラッチを行うために、DDRメモリコントローラは、受け取ったストローブ信号を遅延させ、遅延したストローブ信号を参照してデータ信号をラッチする。ストローブ信号を遅延させる手法として、DLL(Delay Locked Loop)回路及びディレイ回路を用いる手法が知られている(特許文献1、非特許文献1参照)。
For example, when reading data, the DDR memory outputs a strobe signal in addition to a data signal indicating read data. The DDR memory controller refers to the received strobe signal and latches the received data signal at the timing of the rising edge and falling edge of the strobe signal. At this time, in order to perform latching in a state where the data signal is stable, the DDR memory controller delays the received strobe signal and latches the data signal with reference to the delayed strobe signal. As a technique for delaying the strobe signal, a technique using a DLL (Delay Locked Loop) circuit and a delay circuit is known (see
図1は、非特許文献1のFig.30に記載されたDDRメモリコントローラ140を示している。このDDRメモリコントローラ140は、DDRメモリから出力されるデータ信号DQ及びストローブ信号DQSを受け取る。データ信号DQは、例えば8ビットの信号(DQ0〜DQ7)である。図1に示されるように、DDRメモリコントローラは、スレーブディレイ回路110、マスターDLL回路120、及びギア比論理回路130を備えている。
FIG. 1 shows FIG. 30 shows a DDR
スレーブディレイ回路110は、DDRメモリから受け取ったストローブ信号DQSを遅延させる回路である。具体的には、スレーブディレイ回路110は、ディレイコードに応じて遅延段数が変化する可変遅延回路を有しており、その遅延段数に応じた遅延時間tSDだけストローブ信号DQSを遅延させる。このスレーブディレイ回路110から出力されるストローブ信号DQSの立ち上がりエッジ及び立ち下がりエッジを参照して、フリップフロップ群はデータ信号DQをラッチする。データ信号DQが安定状態でラッチされるために、典型的には、ストローブ信号DQSの位相が約90度シフトするように遅延段数(遅延時間tSD)が設定される。言い換えれば、ストローブ信号DQSの位相が約90度シフトするように、ディレイコードが決定される。
The
ここで、遅延回路を構成する遅延素子の特性は、温度や製造ばらつきに依存して変化することに注意する必要がある。つまり、ディレイコード(遅延段数)が同じ場合であっても、温度や製造ばらつきに依存して遅延時間tSDがばらつく可能性がある。半導体チップ毎に遅延時間tSDを揃えるためには、半導体チップ毎にディレイコードを調整(トリミング)する必要がある。そのようなディレイコードのトリミングを行うための構成が、マスターDLL回路120及びギア比論理回路130である。
Here, it is necessary to note that the characteristics of the delay elements constituting the delay circuit change depending on temperature and manufacturing variations. That is, even when the delay code (the number of delay stages) is the same, the delay time tSD may vary depending on temperature and manufacturing variations. In order to align the delay time tSD for each semiconductor chip, it is necessary to adjust (trim) the delay code for each semiconductor chip. A configuration for performing such trimming of the delay code is the
マスターDLL回路120は、DDRメモリの動作クロックCKをリファレンスクロックとして受け取り、そのリファレンスクロックCKの位相が360度(1周期)シフトするような遅延段数を求める。具体的には、マスターDLL回路120は、可変遅延回路、位相検出器、及び遅延コントローラを有している。可変遅延回路は、上述のスレーブディレイ回路110と同じ構成を有しており、遅延コントローラから出力される制御信号に応じて遅延段数が変化する。この可変遅延回路は、リファレンスクロックCKを受け取り、設定された遅延段数に応じた遅延時間tCKだけリファレンスクロックCKを遅延させる。位相検出器には、遅延していないリファレンスクロックCKと、可変遅延回路から出力される遅延後のリファレンスクロックCKが入力される。そして、位相検出器は、それら2つのリファレンスクロックCKの位相を比較し、比較結果を遅延コントローラに出力する。遅延コントローラは、比較結果に基づいて制御信号を変更し、可変遅延回路における遅延段数を変化させる。このような構成により、リファレンスクロックCKが1周期遅延するような遅延段数を決定することが可能となる。
The
ギア比論理回路130は、リファレンスクロックCKが1周期遅延するような遅延段数を“4”で割る。その結果、リファレンスクロックCKの位相が90度シフトするような遅延段数が算出される。その算出された遅延段数を示す信号が、本半導体チップにおけるディレイコードである。スレーブディレイ回路110は、決定されたディレイコードに基づいて遅延段数を設定し、ストローブ信号DQSを遅延時間tSDだけ遅延させる。
The gear
このようにして、マスターDLL回路120及びギア比論理回路130により、ディレイコードのトリミングが半導体チップ毎に実施される。その結果、スレーブディレイ回路110におけるストローブ信号DQSの遅延時間tSDが、半導体チップ毎に揃うことになる。すなわち、動作環境の温度や製造ばらつきに対処することが可能となる。
In this manner, the trimming of the delay code is performed for each semiconductor chip by the
近年、DDRメモリを様々な動作周波数で動作させたいという要望がある。例えば、データがあまり読み出されないときには、消費電力を抑制するために、DDRメモリの動作周波数を低下させたいという要望がある。図1で示された構成によれば、DDRメモリの動作クロックCKが変更されると、それに応じて上述のディレイコードも適切な値に再度設定される。これにより、DDRメモリの動作周波数の変更後でも、DDRメモリコントローラはデータ信号DQを安定的に取り込むことができる。 In recent years, there is a demand for operating a DDR memory at various operating frequencies. For example, when data is not read out very much, there is a desire to reduce the operating frequency of the DDR memory in order to reduce power consumption. According to the configuration shown in FIG. 1, when the operation clock CK of the DDR memory is changed, the above-described delay code is also set to an appropriate value accordingly. Thereby, even after the operating frequency of the DDR memory is changed, the DDR memory controller can stably capture the data signal DQ.
しかしながら、ディレイコードの再設定(再トリミング)には、ある程度の時間が必要である。従って、ディレイコードの再設定の間は、DDRメモリを待機状態にする必要があり、スループットが低下する。すなわち、DDRメモリの動作周波数の変更に伴うディレイコードの再設定による時間的なオーバーヘッドは、スループットの低下を招く。 However, a certain amount of time is required for resetting (re-trimming) the delay code. Therefore, during the resetting of the delay code, it is necessary to put the DDR memory in a standby state, which reduces the throughput. That is, the time overhead due to the resetting of the delay code accompanying the change in the operating frequency of the DDR memory causes a decrease in throughput.
以下に、[発明を実施するための最良の形態]で使用される番号・符号を用いて、[課題を解決するための手段]を説明する。これらの番号・符号は、[特許請求の範囲]の記載と[発明を実施するための最良の形態]との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、[特許請求の範囲]に記載されている発明の技術的範囲の解釈に用いてはならない。 [Means for Solving the Problems] will be described below using the numbers and symbols used in [Best Mode for Carrying Out the Invention]. These numbers and symbols are added in parentheses in order to clarify the correspondence between the description of [Claims] and [Best Mode for Carrying Out the Invention]. However, these numbers and symbols should not be used for the interpretation of the technical scope of the invention described in [Claims].
本発明の第1の観点において、マスターDLL(50)により決定されたディレイコード(DCODE)に基づき、DDRメモリ(1)からのストローブ信号(DQS)をスレーブディレイ(40)にて遅延させ、DDRメモリ(1)からのデータ信号(DQ)に対するストローブ信号(DQS’)とするDDRメモリコントローラ(10)が提供される。そのDDRメモリコントローラ(10)は、周波数の異なる複数のクロック信号(CLK1〜CLKn)から周波数選択信号(SEL)に応じて選択されたクロック信号(SCLK)をDDRメモリ(1)に出力するクロック制御回路(20)を備える。マスターDLL(50)には、上記複数のクロック信号(CLK1〜CLKn)のうち最大周波数のクロック信号(CLK1)がリファレンスクロック(REF)として入力される。 In the first aspect of the present invention, the strobe signal (DQS) from the DDR memory (1) is delayed by the slave delay (40) based on the delay code (DCODE) determined by the master DLL (50), and the DDR A DDR memory controller (10) is provided which provides a strobe signal (DQS ') for the data signal (DQ) from the memory (1). The DDR memory controller (10) outputs a clock signal (SCLK) selected in response to a frequency selection signal (SEL) from a plurality of clock signals (CLK1 to CLKn) having different frequencies to the DDR memory (1). A circuit (20) is provided. The master DLL (50) receives a clock signal (CLK1) having the maximum frequency among the plurality of clock signals (CLK1 to CLKn) as a reference clock (REF).
本発明の第2の観点において、DDRメモリコントローラ(10)は、クロック制御回路(20)とストローブ遅延回路(40)とを備える。クロック制御回路(20)は、周波数の異なる複数のクロック信号(CLK1〜CLKn)のうちいずれか1つをDDRメモリ(1)の動作クロック信号(SCLK)として出力する。ストローブ遅延回路(40)は、DDRメモリ(1)から出力されるストローブ信号(DQS)を、所定の遅延時間(tSD)だけ遅延させる。その遅延時間(tSD)は、上記複数のクロック信号(CLK1〜CLKn)のうち最大周波数のクロック信号(CLK1)の位相が所定の角度だけシフトする量に調整される。 In the second aspect of the present invention, the DDR memory controller (10) includes a clock control circuit (20) and a strobe delay circuit (40). The clock control circuit (20) outputs any one of a plurality of clock signals (CLK1 to CLKn) having different frequencies as an operation clock signal (SCLK) of the DDR memory (1). The strobe delay circuit (40) delays the strobe signal (DQS) output from the DDR memory (1) by a predetermined delay time (tSD). The delay time (tSD) is adjusted to an amount by which the phase of the clock signal (CLK1) having the maximum frequency among the plurality of clock signals (CLK1 to CLKn) is shifted by a predetermined angle.
本発明の第3の観点において、上記DDRメモリコントローラ(10)が搭載された半導体装置が提供される。 In a third aspect of the present invention, a semiconductor device on which the DDR memory controller (10) is mounted is provided.
本発明によれば、クロック制御回路(20)によって、DDRメモリ(1)の動作クロック信号(SCLK)を変更したいという要求は満たされる。一方で、ディレイコード(DCODE)は、DDRメモリ(1)の動作クロック信号(SCLK)となり得る複数のクロック信号(CLK1〜CLKn)のうち、最大周波数のクロック信号(CLK1)を基準として用いることにより決定される。つまり、ストローブ信号(DQS)の遅延時間(tSD)は、DDRメモリ(1)の動作クロック信号(SCLK)にかかわらず、最大周波数のクロック信号(CLK1)の位相が所定の角度だけシフトする量に調整される。 According to the present invention, the request to change the operation clock signal (SCLK) of the DDR memory (1) is satisfied by the clock control circuit (20). On the other hand, the delay code (DCODE) is obtained by using the clock signal (CLK1) having the maximum frequency among the plurality of clock signals (CLK1 to CLKn) that can be the operation clock signal (SCLK) of the DDR memory (1) as a reference. It is determined. That is, the delay time (tSD) of the strobe signal (DQS) is an amount by which the phase of the clock signal (CLK1) having the maximum frequency is shifted by a predetermined angle regardless of the operation clock signal (SCLK) of the DDR memory (1). Adjusted.
DDRメモリ(1)の動作クロック信号(SCLK)が、最大周波数のクロック信号(CLK1)から、それ以外のもの(CLK2〜CLKn)に変更される場合を考える。この時、データ信号(DQ)のストローブ信号(DQS’)に対するセットアップバジェットは変わらず、これは動作上問題ない。また、データ信号(DQ)のストローブ信号(DQS’)に対するホールドバジェットは必然的により大きくなり、これも動作上問題ない。すなわち、DDRメモリ(1)の動作クロック信号(SCLK)としていかなるクロック信号が選択されても、DDRメモリコントローラ(10)は、データ信号(DQ)を安定的に取り込むことが可能である。言い換えれば、DDRメモリ(1)の動作クロック信号(SCLK)が変更されても、ディレイコード(DCODE)を再度トリミングする必要はない。 Consider a case where the operation clock signal (SCLK) of the DDR memory (1) is changed from the clock signal (CLK1) having the maximum frequency to another one (CLK2 to CLKn). At this time, the setup budget of the data signal (DQ) with respect to the strobe signal (DQS ') does not change, which is not a problem in operation. Further, the hold budget of the data signal (DQ) with respect to the strobe signal (DQS ') inevitably becomes larger, and this also causes no problem in operation. That is, regardless of what clock signal is selected as the operation clock signal (SCLK) of the DDR memory (1), the DDR memory controller (10) can stably capture the data signal (DQ). In other words, even if the operation clock signal (SCLK) of the DDR memory (1) is changed, it is not necessary to trim the delay code (DCODE) again.
以上に説明されたように、ディレイコード(DCODE)のトリミング時に基準となるクロック信号(REF)は、DDRメモリ(1)の動作クロック信号(SCLK)となり得る複数のクロック信号(CLK1〜CLKn)のうち最大周波数のクロック信号(CLK1)に固定される。この場合、DDRメモリ(1)の動作クロック信号(SCLK)が変更されても、ディレイコード(DCODE)を再度トリミングする必要はない。従って、動作クロック信号(SCLK)の変更に伴う時間的なオーバーヘッドが短縮される。結果として、スループットの低下が防止され、動作速度が全体として向上する。 As described above, the reference clock signal (REF) at the time of trimming the delay code (DCODE) is a plurality of clock signals (CLK1 to CLKn) that can be the operation clock signal (SCLK) of the DDR memory (1). Of these, the clock signal (CLK1) having the maximum frequency is fixed. In this case, even if the operation clock signal (SCLK) of the DDR memory (1) is changed, it is not necessary to trim the delay code (DCODE) again. Therefore, the time overhead associated with the change of the operation clock signal (SCLK) is reduced. As a result, a decrease in throughput is prevented and the operation speed is improved as a whole.
本発明によれば、DDRメモリの動作周波数の変更に伴う時間的なオーバーヘッドが短縮される。その結果、スループットの低下が防止され、動作速度が全体として向上する。 According to the present invention, the time overhead associated with changing the operating frequency of the DDR memory is reduced. As a result, a decrease in throughput is prevented and the operation speed is improved as a whole.
添付図面を参照して、本発明の実施の形態に係るDDRメモリコントローラ及び半導体装置を説明する。 A DDR memory controller and a semiconductor device according to embodiments of the present invention will be described with reference to the accompanying drawings.
1.第1の実施の形態
1−1.全体構成
図2は、本発明の第1の実施の形態に係るDDRメモリコントローラ及び半導体装置の構成を示すブロック図である。半導体装置は、DDRメモリ(DDR−SDRAM)1及びDDRメモリコントローラ10を備えている。例えば、DDRメモリ1とDDRメモリコントローラ10とは、それぞれ別々の半導体チップとして構成される。また、DDRメモリコントローラ10は論理半導体チップなどに搭載されていてもよい。つまり、DDRメモリコントローラ10が搭載された半導体集積回路が提供されてもよい。さらにまた、DDRメモリ1とDDRメモリコントローラ10とが1つの半導体チップに構成されていてもよい。
1. 1. First embodiment 1-1. Overall Configuration FIG. 2 is a block diagram showing a configuration of a DDR memory controller and a semiconductor device according to the first embodiment of the present invention. The semiconductor device includes a DDR memory (DDR-SDRAM) 1 and a
DDRメモリ1は、動作クロック信号SCLKに基づいて動作する。また、データ読み出し時、DDRメモリ1は、読み出しデータを示すデータ信号DQ(DQ0〜DQi)に加えて、そのデータ信号DQに対応するストローブ信号DQSを出力する。
The
DDRメモリコントローラ10は、動作クロック信号SCLKをDDRメモリ1に出力し、また、動作クロック信号SCLKを切り換える機能を有している。更に、DDRメモリコントローラ10は、DDRメモリ1からデータ信号DQ及びストローブ信号DQS信号を受け取り、ストローブ信号DQSに基づいてデータ信号DQを外部に出力する機能を有している。これら機能を実現するために、DDRメモリコントローラ10は、クロック制御回路20、出力回路30、ストローブ遅延回路40、及びDLL回路50を有している。以下、各構成を詳しく説明する。
The
1−2.クロック制御回路
近年、DDRメモリ1を状況に応じて様々な動作周波数で動作させたいという要望がある。つまり、DDRメモリ1の動作クロック信号SCLKを動的に変更したいという要望がある。そのような要望に応えるための構成が、クロック制御回路20である。
1-2. Clock control circuit In recent years, there is a demand for operating the
クロック制御回路20は、DDRメモリコントローラ10の外部から基準クロック信号CLKを受け取る。典型的には、基準クロック信号CLKは、システムクロック信号である。クロック制御回路20は、受け取った基準クロック信号CLKに基づいて、互いに周波数の異なる複数のクロック信号CLK1〜CLKnを生成する(nは2以上の整数)。更に、クロック制御回路20は、生成された複数のクロック信号CLK1〜CLKnのうちいずれか1つを、DDRメモリ1の動作クロック信号SCLKとしてDDRメモリ1に出力する。
The clock control circuit 20 receives the reference clock signal CLK from the outside of the
より詳細には、図2に示されるように、クロック制御回路20は、クロック生成回路60及びクロック選択回路70を有している。クロック生成回路60は、基準クロック信号CLKから、互いに周波数の異なる複数のクロック信号CLK1〜CLKnを生成する。一方、クロック選択回路70は、複数のクロック信号CLK1〜CLKnに加えて周波数選択信号SELを受け取る。周波数選択信号SELは、DDRメモリ1の動作クロック信号SCLKを指定する信号であり、例えばCPUによって発行される。クロック選択回路70は、周波数選択信号SELに応答して、複数のクロック信号CLK1〜CLKnから1つの動作クロック信号SCLKを選択し、選択された動作クロック信号SCLKをDDRメモリ1に出力する。
More specifically, as shown in FIG. 2, the clock control circuit 20 includes a
このように、クロック制御回路20は、複数のクロック信号CLK1〜CLKnを生成し、そのうち周波数選択信号SELに応じて選択された動作クロック信号SCLKをDDRメモリ1に出力する。DDRメモリ1は、選択された動作クロック信号SCLKに基づいて動作する、すなわち、複数のクロック信号CLK1〜CLKnのいずれかに基づいて動作する。クロック制御回路20によって生成される複数のクロック信号CLK1〜CLKnは、DDRメモリ1の動作クロック信号SCLKとなり得る候補であると言える。
Thus, the clock control circuit 20 generates a plurality of clock signals CLK1 to CLKn, and outputs the operation clock signal SCLK selected according to the frequency selection signal SEL to the
図3は、クロック制御回路20の回路構成の一例を示している。図3において、クロック生成回路60は、複数の分周回路61、62及び63を有している。分周回路61、62及び63のそれぞれは、基準クロック信号CLKから、互いに周波数の異なるクロック信号CLK1、CLK2及びCLK3を生成する。例えば、分周回路61、62及び63は、それぞれ1/2分周回路、1/4分周回路、及び1/8分周回路である。この場合、分周回路61によって生成されるクロック信号CLK1の周波数が最大となり、分周回路63によって生成されるクロック信号CLK3の周波数が最小となる。尚、クロック生成回路60の別の形態として、分周回路61、62、63の他に入力クロック(CLK)をスルーするバッファを有する構成も可能である。
FIG. 3 shows an example of the circuit configuration of the clock control circuit 20. In FIG. 3, the
クロック選択回路70は、クロック信号CLK1〜CLK3と周波数選択信号SELを受け取る。周波数選択信号SELは、クロック信号CLK1の選択/非選択を示す選択信号SEL1と、クロック信号CLK2の選択/非選択を示す選択信号SEL2と、クロック信号CLK3の選択/非選択を示す選択信号SEL3からなる。いずれの選択信号に関しても、Hレベルが「選択」を意味し、Lレベルが「非選択」を意味するとする。ここでは、複数のクロック信号(CLK1〜CLK3)から1つのクロック信号が選択されるように、選択信号SEL1、SEL2、SEL3は排他的に設定される。
The
図3において、クロック選択回路70は、選択回路75と同期化回路80を有している。同期化回路80は、周波数選択信号SELをクロック信号CLK1〜CLK3のそれぞれに同期化させるための回路であり、フリップフロップ群81〜83を有している。具体的には、フリップフロップ群81は、多段に接続されたフリップフロップを含んでおり、クロック信号CLK1を利用して選択信号SEL1の同期化を行う。同様に、フリップフロップ群82は、クロック信号CLK2を利用して選択信号SEL2の同期化を行い、フリップフロップ群83は、クロック信号CLK3を利用して選択信号SEL3の同期化を行う。尚、選択信号SEL(SEL1〜SEL3)としてデコード済みの信号が入力される例をここでは示したが、クロック選択回路70は、選択情報をデコードして選択信号SEL(SEL1〜SEL3)を出力するデコード回路を有していてもよい。
In FIG. 3, the
選択回路75は、同期化回路80から出力される周波数選択信号SEL(SEL1〜SEL3)に応じたクロック信号を、クロック信号CLK1〜CLK3の中から選択し出力する。例えば図3に示されるように、選択回路75は、AND回路71〜73及びOR回路74を有している。AND回路71には、クロック信号CLK1と同期化回路80から出力される選択信号SEL1が入力される。AND回路72には、クロック信号CLK2と同期化回路80から出力される選択信号SEL2が入力される。AND回路73には、クロック信号CLK3と同期化回路80から出力される選択信号SEL3が入力される。AND回路71〜73のそれぞれの出力は、OR回路74に入力される。OR回路74から出力される信号が、DDRメモリ1の動作クロック信号SCLKである。
The
図4は、図3で示されたクロック制御回路20の動作の一例を示すタイミングチャートである。図4には、基準クロック信号CLK、クロック信号CLK1〜CLK3、選択信号SEL1、AND回路71の出力、選択信号SEL2、AND回路72の出力、及び選択された動作クロック信号SCLKが示されている。尚、図4中の各段に付されている数字は、図3中の対応する数字で示される位置での信号をそれぞれ意味している。
FIG. 4 is a timing chart showing an example of the operation of the clock control circuit 20 shown in FIG. FIG. 4 shows the reference clock signal CLK, the clock signals CLK1 to CLK3, the selection signal SEL1, the output of the AND
図4で示される例では、最初、選択信号SEL1だけがHレベルであり、その他の選択信号はLレベルである。その結果、クロック制御回路20からは、クロック信号CLK1〜CLK3のうち最大周波数のクロック信号CLK1が、選択的に動作クロック信号SCLKとして出力される。その後、選択信号SEL1がLレベルに変更される。続いて、選択信号SEL2がLレベルからHレベルに変更される。その結果、クロック制御回路20からは、クロック信号CLK1〜CLK3のうちクロック信号CLK2が、選択的に動作クロック信号SCLKとして出力される。このように、動作クロック信号SCLKが、最大周波数のクロック信号CLK1から、それより低い周波数のクロック信号CLK2に切り換えられる。 In the example shown in FIG. 4, only the selection signal SEL1 is initially at the H level, and the other selection signals are at the L level. As a result, the clock control circuit 20 selectively outputs the clock signal CLK1 having the maximum frequency among the clock signals CLK1 to CLK3 as the operation clock signal SCLK. Thereafter, the selection signal SEL1 is changed to L level. Subsequently, the selection signal SEL2 is changed from the L level to the H level. As a result, the clock control circuit 20 selectively outputs the clock signal CLK2 among the clock signals CLK1 to CLK3 as the operation clock signal SCLK. As described above, the operation clock signal SCLK is switched from the clock signal CLK1 having the maximum frequency to the clock signal CLK2 having a lower frequency.
図5は、クロック制御回路20の回路構成の他の例を示している。図5において、クロック選択回路70の構成は、図3で示されたものと同じである。一方、クロック生成回路60は、分周回路61〜63に加えてPLL回路64を更に有している。PLL回路64は、基準クロック信号CLKの周波数を逓倍する機能を有している。この場合、分周回路61〜63のそれぞれは、逓倍後の基準クロック信号CLK’からクロック信号CLK1〜CLK3を生成する。このように、クロック制御回路20は、基準クロック信号CLKを逓倍した後に、複数のクロック信号CLK1〜CLK3を生成してもよい。この場合でも、クロック制御回路20が果たす役割は同じである。
FIG. 5 shows another example of the circuit configuration of the clock control circuit 20. In FIG. 5, the configuration of the
1−3.出力回路及びストローブ遅延回路
再度図2を参照して、DDRメモリコントローラ10の出力回路30及びストローブ遅延回路40(スレーブディレイ回路)を説明する。
1-3. Output Circuit and Strobe Delay Circuit With reference to FIG. 2 again, the
DDRメモリ1から出力されるストローブ信号DQSは、まず、ストローブ遅延回路40に入力される。このストローブ遅延回路40は、DDRメモリ1から受け取ったストローブ信号DQSを、所定の遅延時間(tSD)だけ遅延させる回路である。具体的には、スレーブディレイ回路40は、多段の遅延素子から構成される可変遅延回路41を含んでいる。その遅延素子の段数、すなわち、遅延時間(tSD)は、後述される「ディレイコードDCODE」に応じて変化する。つまり、ストローブ遅延回路40は、ディレイコードDCODEに応じた遅延時間(tSD)だけ、ストローブ信号DQSを遅延させる。遅延後のストローブ信号DQSは、以下「ストローブ信号DQS’」と参照される。そのストローブ信号DQS’は、出力回路30に供給される。
The strobe signal DQS output from the
出力回路30は、DDRメモリ1から出力されるデータ信号DQ(DQ0〜DQi)を受け取る。データ信号DQは、例えば8ビットの信号(DQ0〜DQ7)である。また、出力回路30は、ストローブ遅延回路40を通して、ストローブ信号DQS’を受け取る。そして、出力回路30は、受け取ったストローブ信号DQS’を参照し、そのストローブ信号DQS’の立ち上がりエッジ及び立ち下がりエッジのタイミングでデータ信号DQを取り込む。
The
具体的には、図2に示されるように、出力回路30は、フリップフロップ31−0〜31−i及びフリップフロップ32−0〜32−iを有している。フリップフロップ31−0〜31−iには、ストローブ信号DQS’が入力される。そして、フリップフロップ31−0〜31−iのそれぞれは、ストローブ信号DQS’の立ち上がりエッジのタイミングで、データ信号DQ0〜DQiをラッチする。一方、フリップフロップ32−0〜32−iには、ストローブ信号DQS’の反転信号が入力される。そして、フリップフロップ32−0〜32−iのそれぞれは、ストローブ信号DQS’の立ち下がりエッジのタイミングで、データ信号DQ0〜DQiをラッチする。そして、出力回路30は、データ信号DQ0〜DQiを、DDRメモリコントローラ10の外部に出力する。
Specifically, as illustrated in FIG. 2, the
図6は、データ信号DQとストローブ信号DQS、DQS’の関係を示すタイミングチャートである。DDRメモリ1は、上述の動作クロック信号SCLKに基づいて動作し、データ信号DQとストローブ信号DQSを出力する。この時、ストローブ信号DQSは、データ信号DQの出力タイミング毎にH/Lのトグル動作を繰り返す。
FIG. 6 is a timing chart showing the relationship between the data signal DQ and the strobe signals DQS and DQS '. The
DDRメモリコントローラ10内で、ストローブ遅延回路40は、ストローブ信号DQSを所定の遅延時間tSDだけ遅延させる。その結果、ストローブ遅延回路40から出力されるストローブ信号DQS’の立ち上がりエッジ及び立ち下がりエッジのタイミングは、データ信号DQが安定期間に含まれることになる。つまり、データ信号DQに関して十分なセットアップ時間t(setup)とホールド時間t(hold)が確保されることになる。結果として、出力回路30は、データ信号DQが安定している期間に、そのデータ信号DQをラッチすることが可能となる。尚、図6では、データ信号DQ及びストローブ信号DQSの各エッジにおいて位相差(スキュー)が無いものとして記載している。しかしながら実際には、後述のように(例えば図8)、各データ信号DQ及びストローブ信号DQS間にはスキューが生じてしまう。
Within the
このように、ストローブ遅延回路40がストローブ信号DQSを遅延時間tSDだけ遅延させることにより、DDRメモリコントローラ10はデータ信号DQを安定状態でラッチすることが可能となる。逆に言えば、データ信号DQが安定状態でラッチされるように、遅延時間tSDは設定される。その遅延時間tSDは、可変遅延回路41を構成する遅延素子の段数によって決まり、その段数はディレイコードDCODEに応じて設定される。
Thus, the
ここで、遅延素子の特性は、温度や製造ばらつきに依存して変化することに注意する必要がある。つまり、ディレイコードDCODE(遅延段数)が同じ場合であっても、温度や製造ばらつきに依存して遅延時間tSDがばらつく可能性がある。半導体チップ毎に遅延時間tSDを揃えるためには、半導体チップ毎にディレイコードDCODEを調整(トリミング)する必要がある。そのようなディレイコードDCODEのトリミングを行うための構成が、次に説明されるDLL回路50である。
Here, it should be noted that the characteristics of the delay element change depending on temperature and manufacturing variations. That is, even when the delay code DCODE (the number of delay stages) is the same, the delay time tSD may vary depending on temperature and manufacturing variations. In order to align the delay time tSD for each semiconductor chip, it is necessary to adjust (trim) the delay code DCODE for each semiconductor chip. A configuration for performing such trimming of the delay code DCODE is a
1−4.DLL回路
再度図2を参照して、DLL回路50(マスターDLL回路)を説明する。DLL回路50は、ストローブ遅延回路40(スレーブディレイ回路)における遅延時間tSDを指定するディレイコードDCODEのトリミングを行い、適切なディレイコードDCODEを決定する。
1-4. DLL Circuit With reference to FIG. 2 again, the DLL circuit 50 (master DLL circuit) will be described. The
ディレイコードDCODEの決定に際し、本実施の形態に係るDLL回路50は、上述のクロック制御回路20によって生成された複数のクロック信号CLK1〜CLKnのうち「最大周波数のクロック信号CLK1」をリファレンスクロックREFとして利用する。つまり、DDRメモリ1の動作クロック信号SCLKにかかわらず、DLL回路50は、最大周波数のクロック信号CLK1を利用してディレイコードDCODEを決定する。そのために、DLL回路50はクロック制御回路20から、最大周波数のクロック信号CLK1をリファレンスクロックREFとして受け取る(図2、図3、図5参照)。
In determining the delay code DCODE, the
図2に示されるように、DLL回路50は、可変遅延回路51、位相検出器52、遅延コントローラ53、及びコード生成論理回路54を有している。可変遅延回路51は、ストローブ遅延回路40に含まれる可変遅延回路41のレプリカであり、多段の遅延素子を有している。その遅延素子の段数(遅延段数)は、遅延コントローラ53から出力される制御信号に応じて変化する。可変遅延回路51は、リファレンスクロックREFを受け取り、設定された遅延段数に応じた遅延時間だけリファレンスクロックREFを遅延させる。
As shown in FIG. 2, the
位相検出器52には、遅延していないリファレンスクロックREFと、可変遅延回路51から出力される遅延後のリファレンスクロックREFが入力される。そして、位相検出器52は、それら2つのリファレンスクロックREFの位相を比較し、比較結果を遅延コントローラ53に出力する。遅延コントローラ53は、比較結果に基づいて制御信号を変更し、可変遅延回路51における遅延段数を変化させる。
The reference clock REF that is not delayed and the delayed reference clock REF that is output from the
以上に説明された可変遅延回路51、位相検出器52、及び遅延コントローラ53によって、リファレンスクロックREFの位相が360度(1周期)シフトするような遅延段数を決定することが可能である。コード生成論理回路54は、リファレンスクロックREFの位相が360度シフトするような遅延段数を、所定の数で割る割算回路である。例えば、コード生成論理回路54は、上記遅延段数を“4”で割る。その結果、リファレンスクロックREFの位相が90度シフトするような遅延段数が算出される。言い換えれば、最大周波数のクロック信号CLK1の位相が90度シフトするような遅延段数が算出される。
The
このようにして算出された遅延段数を示す信号が、ディレイコードDCODEである。本実施の形態に係るDLL回路50は、最大周波数のクロック信号CLK1の位相が所定の角度(例えば90度)だけシフトするようにディレイコードDCODEを決定する。上述のストローブ遅延回路40は、決定されたディレイコードDCODEに基づいて、遅延段数を設定し、ストローブ信号DQSを遅延時間tSDだけ遅延させる。すなわち、ストローブ信号DQSの遅延時間tSDは、最大周波数のクロック信号CLK1の位相が所定の角度(例えば90度)だけシフトする量に調整(トリミング)される。
A signal indicating the number of delay stages calculated in this way is a delay code DCODE. The
以上に説明されたように、本実施の形態によれば、DLL回路50に入力されるリファレンスクロックREFは、DDRメモリ1の動作クロック信号SCLKにかかわらず、最大周波数のクロック信号CLK1に固定される。言い換えれば、ディレイコードDCODEは、動作クロック信号SCLKとなり得るクロック信号CLK1〜CLKnのうち、最大周波数のクロック信号CLK1を基準として用いることにより決定される。結果として、ストローブ信号DQSの遅延時間tSDは、動作クロック信号SCLKに依存することなく、最大周波数のクロック信号CLK1の位相が所定の角度だけシフトする量に調整されることになる。DDRメモリ1の動作クロック信号SCLKが変更されたとしても、ディレイコードDCODEや遅延時間tSDは変わらないことに留意されたい。
As described above, according to the present embodiment, the reference clock REF input to the
1−5.DDRメモリの動作クロック信号の切り換え
次に、DDRメモリ1の動作クロック信号SCLKの切り換え時におけるDDRメモリコントローラ10の動作を説明する。図7は、動作クロック信号SCLKの切り換え処理の一例を示すタイミングチャートである。図7には、DDRメモリ1に対するコマンド、動作クロック信号SCLK、DDRメモリ1から出力されるストローブ信号DQSとデータ信号DQ、及びストローブ遅延回路40から出力されるストローブ信号DQS’が示されている。
1-5. Switching of Operation Clock Signal of DDR Memory Next, the operation of the
図7で示される例において、DDRメモリ1にはリードコマンド(READ)が入力され、その後、ノーオペレーションコマンド(NOP)が入力される。リードコマンド(READ)に応答して、DDRメモリ1は、データを読み出す。このとき、バースト長は8であるとする。
In the example shown in FIG. 7, a read command (READ) is input to the
最初、DDRメモリ1の動作クロック信号SCLKは、最大周波数のクロック信号CLK1である。DDRメモリ1は、最大周波数のクロック信号CLK1に基づいて、ストローブ信号DQS及びデータ信号DQを出力する。ストローブ信号DQS及びデータ信号DQは、NOPコマンドの期間に出力されている。DDRメモリコントローラ10において、ストローブ遅延回路40は、ストローブ信号DQSを所定の遅延時間tSDだけ遅延させる。その遅延時間tSDは、最大周波数のクロック信号CLK1の位相が所定の角度だけシフトする量に設定されている。
Initially, the operation clock signal SCLK of the
NOPコマンドの期間中のあるタイミングにおいて、周波数選択信号SELが変更され、動作クロック信号SCLKが切り換えられる。例えば、動作クロック信号SCLKは、最大周波数のクロック信号CLK1から、それより低いクロック信号CLK2に切り換えられる(既出の図4参照)。図4及び図7に示されるように、動作クロック信号SCLKは、クロック信号CLK1から多少の間をおいてクロック信号CLK2に変わる。その後、DDRメモリ1は、クロック信号CLK2に基づいて、ストローブ信号DQS及びデータ信号DQを出力する。
At a certain timing during the period of the NOP command, the frequency selection signal SEL is changed and the operation clock signal SCLK is switched. For example, the operation clock signal SCLK is switched from the clock signal CLK1 having the maximum frequency to the lower clock signal CLK2 (see FIG. 4 described above). As shown in FIG. 4 and FIG. 7, the operation clock signal SCLK changes to the clock signal CLK2 after a while from the clock signal CLK1. Thereafter, the
ここで注意すべきことは、DLL回路50に入力されるリファレンスクロックREFは、最大周波数のクロック信号CLK1のまま変わらないことである。すなわち、DLL回路50においてディレイコードDCODEの再トリミングは実施されず、ディレイコードDCODEは変わらず一定である。従って、ストローブ遅延回路40によるストローブ信号DQSの遅延時間tSDも変わらない。遅延時間tSDは、最大周波数のクロック信号CLK1の位相が所定の角度だけシフトする量のままである。
It should be noted that the reference clock REF input to the
図8は、DDRメモリ1の動作周波数が最大周波数の場合とその他の場合とでのタイミングバジェットを概念的に示している。より詳細には、図8には、DDRメモリコントローラ10に入力されるストローブ信号DQSとデータ信号DQが示されている。ストローブ信号DQSは、時刻t1においてDDRメモリコントローラ10に到達するとする。また、スキュー(Skew)を考慮すると、データ信号DQが安定する期間は、図中の“Data Valid”で示される期間となる。そのデータ信号DQの安定期間内の時刻t2に、ストローブ信号DQS’のエッジのタイミングが位置することが望ましい。その時刻t2と上記時刻t1の差が、望ましい遅延時間tSDである。但し、実際の遅延回路では、遅延時間tSDに誤差が生じる可能性がある。そのような不確定性(SU: Strobe Uncertainty)も考慮すると、図8に示されるように、セットアップバジェット(Setup Budget)とホールドバジェット(Hold Budget)が定義され得る。
FIG. 8 conceptually shows timing budgets when the operating frequency of the
上述の通り、本実施の形態によれば、ディレイコードDCODEは、最大周波数のクロック信号CLK1を利用することによりトリミングされている。つまり、遅延時間tSDは、DDRメモリ1の動作周波数が最大の場合でもセットアップ/ホールド制約が満たされるように設定されている。
As described above, according to the present embodiment, the delay code DCODE is trimmed by using the clock signal CLK1 having the maximum frequency. That is, the delay time tSD is set so that the setup / hold constraint is satisfied even when the operating frequency of the
次に、動作周波数が最大周波数以外の場合を考える。この場合も、ディレイコードDCODE、すなわち遅延時間tSDは、最大周波数の場合と同じである。そのため、セットアップバジェットは最大周波数の場合と変わらないが、これは動作上問題ない。一方、ホールドバジェットは、図8に示されるように、最大周波数の場合よりも必然的に大きくなる。これも当然、動作上問題ない。すなわち、最大周波数の場合と少なくとも同等のタイミングバジェットが確保されるため、正常動作が保障される。 Next, consider a case where the operating frequency is other than the maximum frequency. Also in this case, the delay code DCODE, that is, the delay time tSD is the same as in the case of the maximum frequency. Therefore, the setup budget is not different from the case of the maximum frequency, but this is not a problem in operation. On the other hand, as shown in FIG. 8, the hold budget is inevitably larger than the maximum frequency. Of course, there is no problem in operation. That is, since a timing budget at least equivalent to that of the maximum frequency is ensured, normal operation is ensured.
このように、DDRメモリ1の動作クロック信号SCLKとしていかなるクロック信号が選択されても、十分なタイミングバジェットが確保されるため、DDRメモリコントローラ10は、データ信号DQを安定的に取り込むことが可能である。言い換えれば、十分なタイミングバジェットが保障されているため、動作クロック信号SCLKが変更されても、ディレイコードDCODEを再度トリミングする必要はない。
As described above, a sufficient timing budget is ensured regardless of what clock signal is selected as the operation clock signal SCLK of the
以上に説明されたように、ディレイコードDCODEは、DDRメモリ1の動作クロック信号SCLKとなり得る候補のうち最大周波数のクロック信号CLK1を利用することにより決定される。その場合、DDRメモリ1の動作クロック信号SCLKが変更されても、ディレイコードDCODEを再度トリミングする必要はない。従って、DDRメモリコントローラ10におけるディレイコードDCODEの再トリミング処理の間に、DDRメモリ1を待機状態にする必要もない。周波数選択信号SELが切り換えられたとき、DDRメモリ1は、コントローラ側の再トリミング処理を待つことなく、すぐに動作することが可能である。このように、動作クロック信号SCLKの動的な変更に伴う時間的なオーバーヘッドが短縮される。結果として、スループットの低下が防止され、動作速度が全体として向上する。
As described above, the delay code DCODE is determined by using the clock signal CLK1 having the maximum frequency among candidates that can be the operation clock signal SCLK of the
尚、動作クロック信号SCLKの切り換えタイミングは、図7で示された例に限られない。動作クロック信号SCLKの切り換えタイミングは、DDRメモリ1側の仕様に応じて適宜決定されるとよい。例えば、DDRメモリ1の仕様が、セルフリフレッシュ動作中での動作クロック信号SCLKの切り換えを許可する場合を考える。その場合は、図9に示されるように、セルフリフレッシュ動作の最中に、動作クロック信号SCLKが切り換えられるとよい。図9で示される例の場合でも、DDRコントローラ10側の処理は同じである。つまり、本実施の形態に係るDDRコントローラ10は、DDRメモリ1側の仕様によらず、汎用的に適用可能である。
Note that the switching timing of the operation clock signal SCLK is not limited to the example shown in FIG. The switching timing of the operation clock signal SCLK may be appropriately determined according to the specifications on the
1−6.効果
本実施の形態によれば、DDRメモリ1の動作クロック信号SCLKを動的に変更したいという要求は、クロック制御回路20によって満たされる。
1-6. Effect According to the present embodiment, a request to dynamically change the operation clock signal SCLK of the
また、ディレイコードDCODEのトリミング時に用いられるリファレンスクロックREFは、DDRメモリ1の動作クロック信号SCLKとなり得る複数のクロック信号CLK1〜CLKnのうち最大周波数のクロック信号CLK1に固定される。この場合、DDRメモリ1の動作クロック信号SCLKが変更されても、ディレイコードDCODEを再度トリミングする必要はない。従って、動作クロック信号SCLKの動的な変更に伴う時間的なオーバーヘッドが短縮される。結果として、スループットの低下が防止され、動作速度が全体として向上する。
Further, the reference clock REF used when the delay code DCODE is trimmed is fixed to the clock signal CLK1 having the maximum frequency among the plurality of clock signals CLK1 to CLKn that can be the operation clock signal SCLK of the
2.第2の実施の形態
図10は、本発明の第2の実施の形態に係るDDRメモリコントローラ及び半導体装置の構成を示すブロック図である。半導体装置は、DDRメモリ1及びDDRメモリコントローラ10を備えている。本実施の形態において、DDRメモリコントローラ10は、図2で示された構成に加えて保持回路90を有している。その他の構成は第1の実施の形態と同様であり、重複する説明は適宜省略される。
2. Second Embodiment FIG. 10 is a block diagram showing a configuration of a DDR memory controller and a semiconductor device according to a second embodiment of the present invention. The semiconductor device includes a
保持回路90は、ディレイコードDCODEを保持する記憶回路であり、DLL回路50とストローブ遅延回路40に接続されている。DLL回路50は、決定したディレイコードDCODEを保持回路90に出力し、保持回路90は、DLL回路50によって決定されたディレイコードDCODEを保持する。そのディレイコードDCODEは、保持回路90からストローブ遅延回路40に出力される。ストローブ遅延回路40は、保持回路90によって保持されているディレイコードDCODEに基づいて、ストローブ信号DQSを遅延させる。
The holding
第1の実施の形態で説明されたように、DDRメモリ1の動作クロックSCLKが変更されたとしても、ディレイコードDCODEの再トリミングを実施する必要はない。従って、ディレイコードDCODEが一旦決定された後は、DLL回路50の動作を停止させることが可能である。これにより、消費電力が低減される。
As described in the first embodiment, even if the operation clock SCLK of the
例えば、DDRメモリコントローラ10の初期化時に、イネーブル信号ENがHレベルに設定され、DLL回路50はディレイコードDCODEを決定する。ディレイコードDCODEの決定後は、イネーブル信号ENはLレベルに設定され、DLL回路50はスタンバイ状態に設定される。これにより、DLL回路50におけるリファレンスクロックREFのトグル動作がなくなり、消費電力が大幅に削減される。DLL回路50がスタンバイ状態となっても、保持回路90からストローブ遅延回路40にディレイコードDCODEが出力されるため、ストローブ遅延回路40はストローブ信号DQSを遅延させることができる。
For example, when the
3.その他の例
本発明は、上述のいずれの実施の形態の記載にのみ限定されるものではない。たとえば、上述の可変遅延回路41、51はともに段数が固定の多段の遅延素子を有し、その遅延素子の動作電圧(電源電圧)を、遅延コントローラ53から出力される制御信号に応じて変化する構成としてもよい。たとえば可変遅延回路51を4段の遅延素子で構成すれば、遅延素子が1段ごとに位相を90度ずつシフトすることが可能である。
3. Other Examples The present invention is not limited to the description of any of the above embodiments. For example, each of the
また、上述のいずれの実施の形態においてもクロック生成回路60を備える構成として示した。別途周波数の異なる複数のクロックを本発明のDDRコントローラのために準備できる場合は、単に周波数の異なる複数のクロック信号を直接クロック選択回路70に入力する構成をとってもよいことはもちろんである。
In any of the above-described embodiments, the
さらにまた、上述のDDRメモリ1及びDDRコントローラ10が備えられた半導体装置は、単にプリント板(PCB)にそれぞれ独立した半導体集積回路(半導体チップ)として搭載された構成でもよい。あるいは、SIP(System In Package)として、DDRメモリチップとDDRコントローラ10が搭載された半導体チップとが1つの半導体パッケージ基板に収められてもよい。DDRメモリチップやDDRコントローラ10が搭載された半導体チップは、所望の数(1つまたは複数)を搭載してよい。
Furthermore, the semiconductor device provided with the
1 DDRメモリ
10 DDRメモリコントローラ
20 クロック制御回路
30 出力回路
40 ストローブ遅延回路
41 可変遅延回路
50 DLL回路
51 可変遅延回路
52 位相検出器
53 遅延コントローラ
54 コード生成論理回路
60 クロック生成回路
61〜63 分周回路
64 PLL回路
70 クロック選択回路
75 選択回路
80 同期化回路
90 保持回路
CLK 基準クロック信号
CLK1〜CLKn クロック信号
SCLK 動作クロック信号
DQ データ信号
DQS,DQS’ ストローブ信号
REF リファレンスクロック
SEL 周波数選択信号
DCODE ディレイコード
DESCRIPTION OF
Claims (14)
周波数の異なる複数のクロック信号から周波数選択信号に応じて選択されたクロック信号を前記DDRメモリに出力するクロック制御回路を備え、
前記マスターDLLには、前記複数のクロック信号のうち最大周波数のクロック信号がリファレンスクロックとして入力されることを特徴とするDDRメモリコントローラ。 A DDR memory controller that delays a strobe signal from a DDR memory by a slave delay based on a delay code determined by a master DLL, and sets a strobe signal for a data signal from the DDR memory;
A clock control circuit that outputs a clock signal selected according to a frequency selection signal from a plurality of clock signals having different frequencies to the DDR memory;
A DDR memory controller, wherein a clock signal having a maximum frequency among the plurality of clock signals is input to the master DLL as a reference clock.
前記クロック制御回路は、入力された基準クロック信号から前記複数のクロック信号を生成するクロック生成回路を有することを特徴とするDDRメモリコントローラ。 The DDR memory controller according to claim 1,
The DDR memory controller, wherein the clock control circuit includes a clock generation circuit that generates the plurality of clock signals from an input reference clock signal.
前記クロック制御回路は、前記周波数選択信号に応じたクロック信号を前記複数のクロック信号から選択し、前記選択されたクロック信号を前記DDRメモリに出力するクロック選択回路を更に有することを特徴とするDDRメモリコントローラ。 The DDR memory controller according to claim 2,
The clock control circuit further includes a clock selection circuit that selects a clock signal corresponding to the frequency selection signal from the plurality of clock signals and outputs the selected clock signal to the DDR memory. Memory controller.
前記クロック制御回路は、
前記基準クロック信号から前記複数のクロック信号のそれぞれを生成する複数の分周回路と、
前記周波数選択信号を前記複数のクロック信号のそれぞれに同期化させる同期化回路と、
前記同期化回路から出力される前記周波数選択信号に応じたクロック信号を前記複数のクロック信号から選択する選択回路と
を有することを特徴とするDDRメモリコントローラ。 The DDR memory controller according to claim 2,
The clock control circuit includes:
A plurality of frequency dividers for generating each of the plurality of clock signals from the reference clock signal;
A synchronization circuit for synchronizing the frequency selection signal to each of the plurality of clock signals;
A DDR memory controller, comprising: a selection circuit that selects, from the plurality of clock signals, a clock signal corresponding to the frequency selection signal output from the synchronization circuit.
前記クロック制御回路は、前記基準クロック信号の周波数を逓倍するPLL回路を有し、前記複数のクロック信号は、逓倍後の前記基準クロック信号から生成されることを特徴とするDDRメモリコントローラ。 A DDR memory controller according to any one of claims 2 to 4,
The DDR memory controller, wherein the clock control circuit includes a PLL circuit that multiplies the frequency of the reference clock signal, and the plurality of clock signals are generated from the multiplied reference clock signal.
前記ディレイコードは、初期化時に決定され、前記DDRメモリに対して出力されるクロック信号が変わっても変化しないことを特徴とするDDRメモリコントローラ。 A DDR memory controller according to any one of claims 1 to 5,
The DDR memory controller, wherein the delay code is determined at initialization and does not change even when a clock signal output to the DDR memory changes.
前記DDRメモリから出力されるストローブ信号を、所定の遅延時間だけ遅延させるストローブ遅延回路と
を備え、
前記遅延時間は、前記複数のクロック信号のうち最大周波数のクロック信号の位相が所定の角度だけシフトする量に調整される
DDRメモリコントローラ。 A clock control circuit that outputs any one of a plurality of clock signals having different frequencies as an operation clock signal of the DDR memory;
A strobe delay circuit for delaying a strobe signal output from the DDR memory by a predetermined delay time;
The delay time is adjusted to an amount by which a phase of a clock signal having a maximum frequency among the plurality of clock signals is shifted by a predetermined angle. DDR memory controller.
前記クロック制御回路は、入力された基準クロック信号から前記複数のクロック信号を生成するクロック生成回路を有する
DDRメモリコントローラ。 The DDR memory controller according to claim 7,
The clock control circuit includes a clock generation circuit that generates the plurality of clock signals from an input reference clock signal. DDR memory controller.
更に、前記クロック制御回路から前記最大周波数のクロック信号を受け取るDLL回路を備え、
前記DLL回路は、前記最大周波数のクロック信号の位相が前記所定の角度だけシフトするディレイコードを決定し、
前記ストローブ遅延回路は、前記ディレイコードに基づいて、前記ストローブ信号を前記遅延時間だけ遅延させる
DDRメモリコントローラ。 A DDR memory controller according to claim 7 or 8,
And a DLL circuit for receiving the clock signal having the maximum frequency from the clock control circuit.
The DLL circuit determines a delay code in which the phase of the clock signal having the maximum frequency is shifted by the predetermined angle,
The strobe delay circuit delays the strobe signal by the delay time based on the delay code. DDR memory controller.
更に、前記ディレイコードを保持する保持回路を有し、
前記ストローブ遅延回路は、前記保持回路によって保持された前記ディレイコードに基づいて、前記ストローブ信号を遅延させる
DDRメモリコントローラ。 A DDR memory controller according to claim 9,
Furthermore, it has a holding circuit for holding the delay code,
The strobe delay circuit delays the strobe signal based on the delay code held by the holding circuit. DDR memory controller.
前記DLL回路は、初期化時に前記ディレイコードを決定し、前記ディレイコードの決定後はスタンバイ状態に設定される
DDRメモリコントローラ。 A DDR memory controller according to claim 10,
The DLL circuit determines the delay code at initialization, and is set to a standby state after the delay code is determined. DDR memory controller.
前記クロック制御回路は、周波数選択信号に応答して前記複数のクロック信号から前記動作クロック信号を選択し、前記選択された動作クロック信号を前記DDRメモリに出力するクロック選択回路を有する
DDRメモリコントローラ。 The DDR memory controller according to any one of claims 7 to 11,
The clock control circuit includes a clock selection circuit that selects the operation clock signal from the plurality of clock signals in response to a frequency selection signal and outputs the selected operation clock signal to the DDR memory.
DDRメモリコントローラと
を具備し、
前記DDRメモリコントローラは、
周波数の異なる複数のクロック信号のうちいずれか1つを前記DDRメモリの動作クロック信号として出力するクロック制御回路と、
前記DDRメモリから出力されるストローブ信号を、所定の遅延時間だけ遅延させるストローブ遅延回路と
を備え、
前記遅延時間は、前記複数のクロック信号のうち最大周波数のクロック信号の位相が所定の角度だけシフトする量に調整される
半導体装置。 DDR memory,
A DDR memory controller,
The DDR memory controller
A clock control circuit that outputs any one of a plurality of clock signals having different frequencies as an operation clock signal of the DDR memory;
A strobe delay circuit for delaying a strobe signal output from the DDR memory by a predetermined delay time;
The delay time is adjusted to an amount by which a phase of a clock signal having a maximum frequency among the plurality of clock signals is shifted by a predetermined angle.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007276184A JP5160856B2 (en) | 2007-10-24 | 2007-10-24 | DDR memory controller and semiconductor device |
US12/256,024 US7911858B2 (en) | 2007-10-24 | 2008-10-22 | Semiconductor device with DDR memory controller |
US13/035,209 US20110141834A1 (en) | 2007-10-24 | 2011-02-25 | Semiconductor device with ddr memory controller |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007276184A JP5160856B2 (en) | 2007-10-24 | 2007-10-24 | DDR memory controller and semiconductor device |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009104721A true JP2009104721A (en) | 2009-05-14 |
JP5160856B2 JP5160856B2 (en) | 2013-03-13 |
Family
ID=40582626
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007276184A Expired - Fee Related JP5160856B2 (en) | 2007-10-24 | 2007-10-24 | DDR memory controller and semiconductor device |
Country Status (2)
Country | Link |
---|---|
US (2) | US7911858B2 (en) |
JP (1) | JP5160856B2 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014504064A (en) * | 2010-11-22 | 2014-02-13 | アップル インコーポレイテッド | Mechanism for efficient DLL training protocol during frequency changes |
JP2015036965A (en) * | 2013-08-16 | 2015-02-23 | 富士通株式会社 | Memory controller, memory controller control method, and information processing apparatus |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8081527B1 (en) * | 2009-05-08 | 2011-12-20 | Juniper Networks, Inc. | Per-bit de-skew mechanism for a memory interface controller |
US8190944B2 (en) * | 2009-12-11 | 2012-05-29 | Ati Technologies Ulc | Device configured to switch a clock speed for multiple links running at different clock speeds and method for switching the clock speed |
US8572322B2 (en) * | 2010-03-29 | 2013-10-29 | Freescale Semiconductor, Inc. | Asynchronously scheduling memory access requests |
US8560796B2 (en) * | 2010-03-29 | 2013-10-15 | Freescale Semiconductor, Inc. | Scheduling memory access requests using predicted memory timing and state information |
CN102347081B (en) * | 2010-07-30 | 2013-11-06 | 联芯科技有限公司 | Method for calibrating phase of DQS (bidirectional data strobe) delay for DDR (double data rate) controller and apparatus thereof |
US8520428B2 (en) * | 2011-03-25 | 2013-08-27 | Intel Corporation | Combined data level-shifter and DE-skewer |
JP2012209811A (en) * | 2011-03-30 | 2012-10-25 | Renesas Electronics Corp | Semiconductor device |
WO2012158392A2 (en) * | 2011-05-17 | 2012-11-22 | Rambus Inc. | Memory system using asymmetric source-synchronous clocking |
JP5568057B2 (en) * | 2011-05-30 | 2014-08-06 | 株式会社東芝 | Memory access circuit and memory system |
CN102637155B (en) * | 2012-01-10 | 2014-11-05 | 江苏中科梦兰电子科技有限公司 | Method for configuring data strobe signal delays in DDR3 (double data rate) through training and correcting |
US9542512B1 (en) * | 2012-01-17 | 2017-01-10 | Cadence Design Systems, Inc. | System and method for automatic correction of flight time skew of timing signals in simulated source synchronous interface operation |
CN102693197B (en) * | 2012-05-07 | 2015-01-28 | 江苏中科梦兰电子科技有限公司 | Method for calculating minimum unit of read strobe enable fine tuning register of memory controller |
US9047237B2 (en) * | 2012-08-03 | 2015-06-02 | Cypress Semiconductor Corporation | Power savings apparatus and method for memory device using delay locked loop |
US9213359B2 (en) * | 2012-12-24 | 2015-12-15 | Arm Limited | Interface for controlling the phase alignment of clock signals for a recipient device |
US9520864B2 (en) | 2014-06-06 | 2016-12-13 | Qualcomm Incorporated | Delay structure for a memory interface |
US10241942B2 (en) | 2016-06-28 | 2019-03-26 | Mediatek Inc. | Method and apparatus for memory access |
US10254782B2 (en) * | 2016-08-30 | 2019-04-09 | Micron Technology, Inc. | Apparatuses for reducing clock path power consumption in low power dynamic random access memory |
US10347307B2 (en) * | 2017-06-29 | 2019-07-09 | SK Hynix Inc. | Skew control circuit and interface circuit including the same |
KR102523101B1 (en) * | 2018-01-10 | 2023-04-18 | 삼성전자주식회사 | Read margin control circuit determining data valid window, memory controller including the same, and electronic device |
US10418125B1 (en) * | 2018-07-19 | 2019-09-17 | Marvell Semiconductor | Write and read common leveling for 4-bit wide DRAMs |
KR102570959B1 (en) * | 2018-09-18 | 2023-08-28 | 에스케이하이닉스 주식회사 | Integrated circuit |
KR20210069514A (en) * | 2019-12-03 | 2021-06-11 | 에스케이하이닉스 주식회사 | Memory system and method of training the memory system |
US10998020B1 (en) * | 2020-05-05 | 2021-05-04 | Realtek Semiconductor Corporation | Memory system and memory access interface device thereof |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206480A (en) * | 2002-12-25 | 2004-07-22 | Seiko Epson Corp | Semiconductor integrated circuit |
JP2005078547A (en) * | 2003-09-03 | 2005-03-24 | Renesas Technology Corp | Semiconductor integrated circuit |
JP2006013990A (en) * | 2004-06-28 | 2006-01-12 | Ricoh Co Ltd | Delay controller |
JP2006012363A (en) * | 2004-06-29 | 2006-01-12 | Ricoh Co Ltd | Strobe signal delay device and semiconductor device equipped with the same |
JP2007109203A (en) * | 2005-09-13 | 2007-04-26 | Renesas Technology Corp | Semiconductor integrated circuit device |
JP2008071249A (en) * | 2006-09-15 | 2008-03-27 | Ricoh Co Ltd | Memory control device |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2002025296A2 (en) * | 2000-09-22 | 2002-03-28 | Don Mccord | Method and system for wafer and device-level testing of an integrated circuit |
US6665230B1 (en) * | 2001-09-14 | 2003-12-16 | Denali Software, Inc. | Programmable delay compensation circuit |
JP2004220643A (en) | 2003-01-09 | 2004-08-05 | Ricoh Co Ltd | Semiconductor memory controller |
US7746135B2 (en) * | 2007-09-29 | 2010-06-29 | Intel Corporation | Wake-up circuit |
US7795935B2 (en) * | 2007-09-29 | 2010-09-14 | Intel Corporation | Bias signal delivery |
-
2007
- 2007-10-24 JP JP2007276184A patent/JP5160856B2/en not_active Expired - Fee Related
-
2008
- 2008-10-22 US US12/256,024 patent/US7911858B2/en not_active Expired - Fee Related
-
2011
- 2011-02-25 US US13/035,209 patent/US20110141834A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004206480A (en) * | 2002-12-25 | 2004-07-22 | Seiko Epson Corp | Semiconductor integrated circuit |
JP2005078547A (en) * | 2003-09-03 | 2005-03-24 | Renesas Technology Corp | Semiconductor integrated circuit |
JP2006013990A (en) * | 2004-06-28 | 2006-01-12 | Ricoh Co Ltd | Delay controller |
JP2006012363A (en) * | 2004-06-29 | 2006-01-12 | Ricoh Co Ltd | Strobe signal delay device and semiconductor device equipped with the same |
JP2007109203A (en) * | 2005-09-13 | 2007-04-26 | Renesas Technology Corp | Semiconductor integrated circuit device |
JP2008071249A (en) * | 2006-09-15 | 2008-03-27 | Ricoh Co Ltd | Memory control device |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2014504064A (en) * | 2010-11-22 | 2014-02-13 | アップル インコーポレイテッド | Mechanism for efficient DLL training protocol during frequency changes |
JP2015036965A (en) * | 2013-08-16 | 2015-02-23 | 富士通株式会社 | Memory controller, memory controller control method, and information processing apparatus |
Also Published As
Publication number | Publication date |
---|---|
US20110141834A1 (en) | 2011-06-16 |
JP5160856B2 (en) | 2013-03-13 |
US20090109770A1 (en) | 2009-04-30 |
US7911858B2 (en) | 2011-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5160856B2 (en) | DDR memory controller and semiconductor device | |
US6836166B2 (en) | Method and system for delay control in synchronization circuits | |
US7327173B2 (en) | Delay-locked loop having a pre-shift phase detector | |
TWI617137B (en) | Semiconductor device | |
JP5537568B2 (en) | Signal receiving circuit, memory controller, processor, computer, and phase control method | |
KR100832007B1 (en) | Semiconductor memory device and operation method thereof | |
US7365583B2 (en) | Delay locked loop for high speed semiconductor memory device | |
WO2019160587A1 (en) | Improved timing circuit for command path in a memory device | |
US7944772B2 (en) | Semiconductor memory device and method for generating output enable signal | |
KR20190032638A (en) | Apparatus and method for adjusting delay of command signal path | |
US7499370B2 (en) | Synchronous semiconductor memory device | |
US6982924B2 (en) | Data output control circuit | |
JP2002124873A (en) | Semiconductor device | |
JPH11353878A (en) | Semiconductor device | |
KR100695525B1 (en) | Delay locked loop in semiconductor memory device | |
US8144530B2 (en) | Semiconductor memory device and method for generating output enable signal | |
WO2019156715A1 (en) | Techniques for command synchronization in a memory device | |
US7994833B2 (en) | Delay locked loop for high speed semiconductor memory device | |
US6977848B2 (en) | Data output control circuit | |
JP4944373B2 (en) | Delay locked loop circuit | |
US8294499B2 (en) | Clock signal generation circuit for reducuing current consumption, and semiconductor device having the same | |
KR20140090300A (en) | Latency control circuit and semiconductor memory device including the same | |
KR20240133428A (en) | Control circuit and semiconductor memory device | |
CN118522337A (en) | Control circuit and semiconductor memory device | |
JP2004078657A (en) | Memory system & memory module |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100517 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20120327 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120409 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120509 |
|
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: 20121121 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20121213 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5160856 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20151221 Year of fee payment: 3 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |