JP6367591B2 - Data strobe edge detection circuit, data strobe processing circuit, and data read circuit - Google Patents
Data strobe edge detection circuit, data strobe processing circuit, and data read circuit Download PDFInfo
- Publication number
- JP6367591B2 JP6367591B2 JP2014074025A JP2014074025A JP6367591B2 JP 6367591 B2 JP6367591 B2 JP 6367591B2 JP 2014074025 A JP2014074025 A JP 2014074025A JP 2014074025 A JP2014074025 A JP 2014074025A JP 6367591 B2 JP6367591 B2 JP 6367591B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- circuit
- edge detection
- edge
- unit
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Logic Circuits (AREA)
- Dram (AREA)
- Memory System (AREA)
- Manipulation Of Pulses (AREA)
Description
本発明は、データストローブ信号のエッジを検出する技術に関する。 The present invention relates to a technique for detecting an edge of a data strobe signal.
従来から記憶装置に関して様々な技術が提案されている。特許文献1及び2には、DDR(Double Data Rate)型のSDRAM (Synchronous Dynamic Random Access Memory) に関する技術が開示されている。DDR型のSDRAMに関する規格としては、DDR2、DDR3、DDR4、LPDDR(Low Power Double Data Rate)等が知られている。LPDDRは「モバイルDDR」とも呼ばれる。
Conventionally, various technologies have been proposed for storage devices.
さて、DDR型のSDRAMなどのように、データ線及びデータストローブ線が接続された記憶装置からデータが読み出される際には、データストローブ線のデータストローブ信号が使用されてデータ線に出力されるリードデータが取得される。このような場合には、データストローブ信号を使用してリードデータを適切に取得することが望まれる。 When data is read from a storage device to which the data line and the data strobe line are connected, such as a DDR type SDRAM, the data strobe signal of the data strobe line is used and read out to the data line. Data is acquired. In such a case, it is desired to appropriately acquire read data using the data strobe signal.
そこで、本発明は上述の点に鑑みて成されたものであり、データストローブ信号を使用してリードデータを適切に取得することが可能な技術を提供することを目的とする。 Therefore, the present invention has been made in view of the above points, and an object thereof is to provide a technique capable of appropriately acquiring read data using a data strobe signal.
上記課題を解決するため、本発明に係るデータストローブエッジ検出回路の一態様は、記憶装置に接続されたデータ線に当該記憶装置からリードデータが出力される際の、当該記憶装置に接続されたデータストローブ線のデータストローブ信号のライズエッジとフォールエッジを別々に検出するデータストローブエッジ検出回路であって、前記データストローブ信号をオーバーサンプリングする第1サンプリング回路と、クロック信号の複数サイクル分の第1単位期間ごとに、当該第1単位期間において前記第1サンプリング回路で得られた第1所定数の第1サンプル値を第1選択対象単位として保持する第1選択対象単位保持回路と、前記第1選択対象単位ごとに、当該第1選択対象単位から、前記第1所定数よりも小さい第2所定数の第1サンプル値から成るエッジ検出単位を選択するエッジ検出単位決定回路と、前記エッジ検出単位ごとに、当該エッジ検出単位に基づいて前記データストローブ信号のライズエッジとフォールエッジを別々に検出する第1エッジ検出回路とを備える。 In order to solve the above problems, an aspect of the data strobe edge detection circuit according to the present invention is connected to the storage device when read data is output from the storage device to a data line connected to the storage device. A data strobe edge detection circuit for separately detecting a rise edge and a fall edge of a data strobe signal of a data strobe line, a first sampling circuit for oversampling the data strobe signal, and a first for a plurality of cycles of a clock signal A first selection target unit holding circuit for holding a first predetermined number of first sample values obtained by the first sampling circuit in the first unit period as a first selection target unit for each unit period; For each selection target unit, a second predetermined number of second predetermined numbers smaller than the first predetermined number from the first selection target unit. An edge detecting unit determining circuit for selecting edge detection unit consisting of sample values, wherein each edge detecting unit, a first edge detection to detect separately rise edge and fall edge of the data strobe signal based on the edge detection unit and a circuit.
また、本発明に係るデータストローブエッジ検出回路の一態様では、前記エッジ検出単位決定回路は、前記第1選択対象単位に含まれるグリッジを除去し、グリッジが除去された前記第1選択対象単位から前記エッジ検出単位を選択する。 Also, in one aspect of the data strobe edge detection circuit according to the present invention, the edge detection unit determination circuit removes a glitch included in the first selection target unit, and removes the glitch from the first selection target unit. The edge detection unit is selected.
また、本発明に係るデータストローブエッジ検出回路の一態様では、前記エッジ検出単位は、前記第1所定数よりも小さい第3所定数の第1サンプル値から成るライズエッジ検出単位と、当該第3所定数の第1サンプル値から成るフォールエッジ検出単位とを含み、前記第1エッジ検出回路は、前記ライズエッジ検出単位ごとに、当該ライズエッジ検出単位に基づいて、前記データストローブ信号のライズエッジを検出するライズエッジ検出回路と、前記フォールエッジ検出単位ごとに、当該フォールエッジ検出単位に基づいて、前記データストローブ信号のフォールエッジを検出するフォールエッジ検出回路とを有する。 In one aspect of the data strobe edge detection circuit according to the present invention, the edge detection unit includes a rise edge detection unit composed of a third predetermined number of first sample values smaller than the first predetermined number, and the third edge detection unit. A fall edge detection unit composed of a predetermined number of first sample values, wherein the first edge detection circuit determines a rise edge of the data strobe signal for each rise edge detection unit based on the rise edge detection unit. A rise edge detection circuit for detecting, and a fall edge detection circuit for detecting a fall edge of the data strobe signal based on the fall edge detection unit for each fall edge detection unit.
また、本発明に係るデータストローブエッジ検出回路の一態様では、前記データストローブ信号では、ローレベルに続いて不定となり、前記フォールエッジ検出回路は、前記フォールエッジ検出単位ごとに、当該フォールエッジ検出単位を構成する前記第3所定数の第1サンプル値のサンプリングタイミングにそれぞれ対応する複数のビットから成るエッジデータを生成し、前記エッジデータでは、当該エッジデータを構成する複数のビットをサンプリングタイミングの順で見た場合に、当該エッジデータに対応する前記フォールエッジ検出単位において1”から“0”に変化するタイミングで第1論理値を示し、それ以外のタイミングで第2論理値を示し、前記フォールエッジ検出回路は、前記エッジデータを構成する複数のビットをサンプリングタイミングの順で見た場合に、前記第1論理値が最初に現れるタイミングよりも後方のタイミングから最後までをすべて前記第2論理値とするフィルタ処理を当該エッジデータに行う。 Also, in one aspect of the data strobe edge detection circuit according to the present invention, the data strobe signal becomes indefinite following a low level, and the fall edge detection circuit performs the fall edge detection unit for each fall edge detection unit. Edge data consisting of a plurality of bits respectively corresponding to the sampling timings of the third predetermined number of first sample values constituting the edge data is generated, and in the edge data, the plurality of bits constituting the edge data are represented in the order of the sampling timing. In the fall edge detection unit corresponding to the edge data, the first logic value is indicated at a timing when it changes from “1” to “0”, and the second logic value is indicated at other timings. The edge detection circuit samples a plurality of bits constituting the edge data. When viewed in the order of the ring timing, it performs a filtering process in which the first logic value to all from the rear timing than the first occurrence timing to end the second logic value to the edge data.
また、本発明に係るデータストローブ処理回路の一態様は、上記のデータストローブエッジ検出回路と、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲を調整する制御回路とを備える。 According to another aspect of the data strobe processing circuit of the present invention, the edge detection unit determination circuit performs the first selection based on the data strobe edge detection circuit and an edge detection result in the first edge detection circuit. And a control circuit for adjusting a range for selecting the edge detection unit from the target unit.
また、本発明に係るデータストローブ処理回路の一態様では、前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングとを調整する。 Further, in one aspect of the data strobe processing circuit according to the present invention, the control circuit is configured such that the edge detection unit determination circuit is configured to change the first selection target unit from the first selection target unit based on an edge detection result in the first edge detection circuit. The range for selecting the edge detection unit and the timing of the first unit period in the first selection target unit holding circuit are adjusted.
また、本発明に係るデータストローブ処理回路の一態様は、上記のデータストローブエッジ検出回路と、前記データストローブエッジ検出回路を制御し、前記記憶装置にリードコマンドを出力する制御回路とを備え、前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記リードコマンドの出力から前記データストローブ信号のエッジの入力までの遅延時間を求めて、当該遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲を調整する。 An aspect of the data strobe processing circuit according to the present invention includes the data strobe edge detection circuit described above, and a control circuit that controls the data strobe edge detection circuit and outputs a read command to the storage device, The control circuit obtains a delay time from the output of the read command to the input of the edge of the data strobe signal based on the edge detection result in the first edge detection circuit, and based on the delay time, the edge A detection unit determination circuit adjusts a range in which the edge detection unit is selected from the first selection target units.
また、本発明に係るデータストローブ処理回路の一態様では、前記制御回路は、前記遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングとを調整する。 In one aspect of the data strobe processing circuit according to the present invention, the control circuit includes a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on the delay time. The timing of the first unit period in the first selection target unit holding circuit is adjusted.
また、本発明に係るデータリード回路の一態様は、上記のデータストローブエッジ検出回路と、前記記憶装置に接続された前記データ線に当該記憶装置から出力される、前記データストローブ信号のライズエッジに対応するライズ側のリードデータ及び当該データストローブ信号のフォールエッジに対応するフォール側のリードデータを別々に取得するリードデータ取得回路とを備え、前記リードデータ取得回路は、前記記憶装置から前記データ線にリードデータが出力される際の当該データ線のデータ信号をオーバーサンプリングする第2サンプリング回路と、クロック信号の複数サイクル分の第2単位期間ごとに、当該第2単位期間において前記第2サンプリング回路で得られた前記第1所定数の第2サンプル値を第2選択対象単位として保持する第2選択対象単位保持回路と、前記第2選択対象単位ごとに、当該第2選択対象単位から、前記第2所定数の第2サンプル値から成るデータ処理単位を選択するデータ処理単位決定回路と、前記データ処理単位ごとに、当該データ処理単位に基づいて、前記データ信号が示すライズ側のリードデータ及びフォール側のリードデータを別々に取得するデータ取得回路とを有し、前記データ取得回路は、前記データ処理単位を構成する前記第2所定数の第2サンプル値のうち、当該データ処理単位に対応する前記エッジ検出単位に基づいて前記第1エッジ検出回路が検出したエッジのタイミングに対応する第2サンプル値を、前記データ信号が示す値として取得する。
According to another aspect of the data read circuit of the present invention, the rising edge of the data strobe signal output from the storage device to the data strobe edge detection circuit and the data line connected to the storage device is provided. A read data acquisition circuit that separately acquires corresponding rise-side read data and fall-side read data corresponding to the fall edge of the data strobe signal, and the read data acquisition circuit includes the data line from the storage device. A second sampling circuit for oversampling the data signal of the data line when read data is output to the second sampling period, and the second sampling circuit in the second unit period for every second unit period for a plurality of cycles of the clock signal. The first predetermined number of second sample values obtained in
また、本発明に係るデータリード回路の一態様では、前記エッジ検出単位決定回路は、前記第1選択対象単位に含まれるグリッジを除去し、グリッジが除去された前記第1選択対象単位から前記エッジ検出単位を選択し、前記データ処理単位決定回路は、前記第2選択対象単位に含まれるグリッジを除去し、グリッジが除去された前記第2選択対象単位から前記データ処理単位を選択する。 Also, in one aspect of the data read circuit according to the present invention, the edge detection unit determination circuit removes a glitch included in the first selection target unit, and the edge from the first selection target unit from which the glitch has been removed. The detection unit is selected, and the data processing unit determination circuit removes the glitch included in the second selection target unit, and selects the data processing unit from the second selection target unit from which the glitch has been removed.
また、本発明に係るデータリード回路の一態様では、前記エッジ検出単位は、前記第1所定数よりも小さい第3所定数の第1サンプル値から成るライズエッジ検出単位と、当該第3所定数の第1サンプル値から成るフォールエッジ検出単位とを含み、前記第1エッジ検出回路は、前記ライズエッジ検出単位ごとに、当該ライズエッジ検出単位に基づいて、前記データストローブ信号のライズエッジを検出するライズエッジ検出回路と、前記フォールエッジ検出単位ごとに、当該フォールエッジ検出単位に基づいて、前記データストローブ信号のフォールエッジを検出するフォールエッジ検出回路とを有し、前記データ処理単位は、前記第3所定数の第2サンプル値から成るライズ側データ処理単位と、前記第3所定数の第2サンプル値から成るフォール側データ処理単位とを含み、前記データ取得回路は、前記ライズ側データ処理単位を構成する前記第3所定数の第2サンプル値のうち、当該ライズ側データ処理単位に対応する前記ライズエッジ検出単位に基づいて前記ライズエッジ検出回路が検出したライズエッジのタイミングに対応する第2サンプル値を、前記データ信号が示す、当該ライズエッジに対応するライズ側のリードデータとして取得するライズ側データ取得回路と、前記フォール側データ処理単位を構成する前記第3所定数の第2サンプル値のうち、当該フォール側データ処理単位に対応する前記フォールエッジ検出単位に基づいて前記フォールエッジ検出回路が検出したフォールエッジに対応する第2サンプル値を、前記データ信号が示す、当該フォールエッジに対応するフォール側のリードデータとして取得するフォール側データ取得回路とを有する。 In one aspect of the data read circuit according to the present invention, the edge detection unit includes a rise edge detection unit composed of a third predetermined number of first sample values smaller than the first predetermined number, and the third predetermined number. The first edge detection circuit detects a rise edge of the data strobe signal for each rise edge detection unit based on the rise edge detection unit. A rise edge detection circuit; and a fall edge detection circuit that detects a fall edge of the data strobe signal based on the fall edge detection unit for each fall edge detection unit. 3 Rise-side data processing units composed of a predetermined number of second sample values and the third predetermined number of second sample values. A fall-side data processing unit, and the data acquisition circuit detects the rise edge corresponding to the rise-side data processing unit among the third predetermined number of second sample values constituting the rise-side data processing unit. A rise-side data acquisition circuit that acquires a second sample value corresponding to the rise edge timing detected by the rise edge detection circuit based on a unit as read data on the rise side corresponding to the rise edge indicated by the data signal And the fall edge detection circuit detects the fall edge detection circuit based on the fall edge detection unit corresponding to the fall side data processing unit among the third predetermined number of second sample values constituting the fall side data processing unit. The fall edge in which the data signal indicates a second sample value corresponding to the edge Obtaining a corresponding fall of the lead data and a fall side data acquisition circuit.
また、本発明に係るデータリード回路の一態様では、前記データストローブエッジ検出回路及び前記リードデータ取得回路を制御する制御回路がさらに設けられ、前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲とを調整する。 In one aspect of the data read circuit according to the present invention, a control circuit for controlling the data strobe edge detection circuit and the read data acquisition circuit is further provided, and the control circuit includes an edge in the first edge detection circuit. Based on a detection result, a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit, and the data processing unit determination circuit selects the data processing unit from the second selection target unit. To adjust the range.
また、本発明に係るデータリード回路の一態様では、前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングと、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲と、前記第2選択対象単位保持回路での前記第2単位期間のタイミングとを調整する。 Also, in one aspect of the data read circuit according to the present invention, the control circuit is configured such that the edge detection unit determination circuit determines whether the edge is detected from the first selection target unit based on an edge detection result in the first edge detection circuit. A range for selecting a detection unit, a timing of the first unit period in the first selection target unit holding circuit, and a range for the data processing unit determination circuit to select the data processing unit from the second selection target unit The timing of the second unit period in the second selection target unit holding circuit is adjusted.
また、本発明に係るデータリード回路の一態様では、前記データストローブエッジ検出回路及び前記リードデータ取得回路を制御する制御回路をさらに備え、前記データ取得回路は、前記データ処理単位に基づいて前記データ信号のエッジを検出する第2エッジ検出回路をさらに有し、前記制御回路は前記記憶装置にリードコマンドを出力し、前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記リードコマンドの出力から前記データストローブ信号のエッジの入力までの第1遅延時間を求めて、当該第1遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲を調整し、前記制御回路は、前記第2エッジ検出回路でのエッジ検出結果に基づいて、前記リードコマンドの出力から前記データ信号のエッジの入力までの第2遅延時間を求めて、当該第2遅延時間に基づいて、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲を調整する。
In one aspect of the data read circuit according to the present invention, the data read circuit further includes a control circuit that controls the data strobe edge detection circuit and the read data acquisition circuit, wherein the data acquisition circuit is based on the data processing unit. A second edge detection circuit for detecting an edge of the signal; the control circuit outputs a read command to the storage device; and the control circuit is based on an edge detection result in the first edge detection circuit, A first delay time from the output of the read command to the input of the edge of the data strobe signal is obtained, and based on the first delay time, the edge detection unit determination circuit detects the edge from the first selection target unit. The control circuit adjusts a unit selection range, and the control circuit performs the reset based on an edge detection result in the second edge detection circuit. A second delay time from the output of the command to the input of the edge of the data signal, and based on the second delay time, the data processing unit determination circuit determines the data processing unit from the second selection target unit. Adjust the selection range.
また、本発明に係るデータリード回路の一態様では、前記制御回路は、前記第1遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングとを調整し、前記第2遅延時間に基づいて、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲と、前記第2選択対象単位保持回路での前記第2単位期間のタイミングとを調整する。 In one aspect of the data read circuit according to the present invention, the control circuit includes a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on the first delay time. And the timing of the first unit period in the first selection target unit holding circuit, and based on the second delay time, the data processing unit determination circuit starts the data processing from the second selection target unit. The unit selection range and the timing of the second unit period in the second selection target unit holding circuit are adjusted.
また、本発明に係るデータリード回路の一態様では、前記データストローブエッジ検出回路と前記リードデータ取得回路とは互いに同じ回路構成を有している。 In one aspect of the data read circuit according to the present invention, the data strobe edge detection circuit and the read data acquisition circuit have the same circuit configuration.
本発明によれば、データストローブ信号を使用してデータ信号が示す値を適切に取得することができる。 According to the present invention, it is possible to appropriately acquire the value indicated by the data signal using the data strobe signal.
図1は実施の形態に係る半導体記憶装置1の構成を示す図である。本実施の形態に係る半導体記憶装置1は、記憶装置2と、当該記憶装置2を制御する制御装置3とを備えている。記憶装置2は、例えばDDR型のSDRAMである。制御装置3は、例えばASIC(application specific integrated circuit)で構成されている。記憶装置2と制御装置3は一つのパッケージに収められても良いし、別々のパッケージに収められても良い。後者の場合には、記憶装置2と制御装置3は例えばプリント基板上に搭載されて、当該プリント基板上の配線によって互いに接続される。制御装置3は、記憶装置2に対してデータを書き込み、記憶装置2からデータを読み出す。制御装置3と記憶装置2とは、様々な信号線SLによって互いに接続されており、当該信号線SLを使用して信号のやり取りを行う。信号線SLの種類としては、データ線、データストローブ線、クロック線、アドレス線等が存在する。
FIG. 1 is a diagram showing a configuration of a
制御装置3は、図2に示されるように、クロック生成回路4と、記憶装置3からデータを読み出すデータリード回路5とを備えている。クロック生成回路4は、差動信号を構成する、互いに相補的な2つのクロック信号CLK,CLBを生成して記憶装置2に出力する。クロック信号CLKはデータリード回路5にも出力される。またクロック生成回路4は、制御装置3の内部で使用されるP(≧2)個の内部クロック信号CLK2[0]〜CLK2[P−1](内部クロック信号CLK2[P−1:0])を生成して出力する。P個の内部クロック信号CLK2[0]〜CLK2[P−1]は互いに位相が異なっており、データリード回路5で使用される。内部クロック信号CLK2[0]〜CLK2[P−1]のそれぞれの周波数は、クロック信号CLK,CLKBの周波数の2倍となっている。クロック信号CLK,CLKBの周波数は例えば1GHz程度となっている。
As shown in FIG. 2, the
データリード回路5は、クロック信号CLKに同期して動作を行う。データリード回路5は記憶装置2に対してリードコマンドRDCを出力する。
The data read
記憶装置2は、クロック信号CLK,CLKBに同期して動作を行う。記憶装置2は、データリード回路5からリードコマンドRDCが入力されると、データストローブ線DQSLを駆動するともに、データ線DQL[0]〜DQL[7](データ線DQL[7:0]))に8ビットのリードデータをそれぞれ出力する。データリード回路5は、データストローブ線DQSLのデータストローブ信号DQSを取り込み、取り込んだデータストローブ信号DQSを使用して、データ線DQL[0]〜DQL[7]のデータ信号DQ[0]〜DQ[7](データ信号DQ[7:0]))が示す8ビットのリードデータを取得する。
The
以後、データ線DQL[0]〜DQL[7]を特に区別する必要がないときには、[]を削除してそれぞれを「データ線DQL」と呼ぶ。また、データ信号DQ[0]〜DQ[7]を特に区別する必要がないときには、[]を削除してそれぞれを「データ信号DQ」と呼ぶ。以下に登場する、符号に[]を有する信号、値及びデータ等についても同様である。本実施の形態では、データ線DQLが8つ設けられているが、データ線DQLの数はこれ以外であっても良い。 Hereinafter, when there is no need to particularly distinguish the data lines DQL [0] to DQL [7], [] is deleted and each is referred to as a “data line DQL”. Further, when it is not necessary to particularly distinguish the data signals DQ [0] to DQ [7], [] is deleted and each is referred to as a “data signal DQ”. The same applies to signals, values, data, and the like that have a symbol [] appearing below. In the present embodiment, eight data lines DQL are provided, but the number of data lines DQL may be other than this.
データストローブ線DQSL及びデータ線DQLは双方向の信号線である。制御装置3は記憶装置2に対してデータを書き込む際には、データストローブ線DQSLを駆動するとともに、データ線DQLにライトデータを出力する。制御装置3及び記憶装置2の両方がデータストローブ線DQSLを駆動していないときには、データストローブ信号DQSの信号レベルは不定となる。同様に、制御装置3及び記憶装置2の両方がデータ線DQLを駆動していないときには、データ信号DQの信号レベルは不定となる。以後、「データストローブ信号DQS」と言えば、記憶装置2からデータが読み出される際のデータストローブ信号DQSを意味する。また「データ信号DQ」と言えば、記憶装置2からデータが読み出される際のデータ信号DQを意味する。
The data strobe line DQSL and the data line DQL are bidirectional signal lines. When writing data to the
図3はクロック信号CLK、リードコマンドRDC、データストローブ信号DQS及びデータ信号DQの関係の一例を示す図である。記憶装置2は、リードコマンドRDCが入力されると、各データ線DQLにバーストデータを出力する。
FIG. 3 is a diagram illustrating an example of the relationship among the clock signal CLK, the read command RDC, the data strobe signal DQS, and the data signal DQ. When the read command RDC is input, the
図3に示されるように、データリード回路5が、クロック信号CLKのあるライズエッジRE0でリードコマンドRDCを出力すると、記憶装置2は、例えば、当該ライズエッジRE0の次のライズエッジRE1で、信号レベルが不定のデータストローブ信号DQSをLowレベルに固定する。そして、記憶装置2は、その次のライズエッジRE2から、クロック信号CLKにエッジが現れるたびにデータストローブ信号DQSの信号レベルを反転させる。したがって、データストローブ信号DQSのエッジが現れる周波数は、クロック信号CLKの周波数と同じである。つまり、ライズエッジとフォールエッジが交互に現れているデータストローブ信号DQSの周波数はクロック信号CLKの周波数と同じである。クロック信号CLKのライズエッジRE1から次のライズエッジRE2までの間、データストローブ信号DQSが示すLowレベルの信号は「プリアンブル」と呼ばれる。以後、「データストローブ信号DQSの周波数」と言えば、図3のように、ライズエッジとフォールエッジが交互に現れているデータストローブ信号DQSの周波数を意味する。また「データストローブ信号DQSの周期」と言えば、ライズエッジとフォールエッジが交互に現れているデータストローブ信号DQSでのライズエッジ間の時間的長さ(フォールエッジ間の時間的長さ)を意味する。
As shown in FIG. 3, when the data read
記憶装置2は、データストローブ信号DQSの各エッジでリードデータRDをデータ線DQLに出力する。これにより、1回のリードコマンドRDCの発行によって、データ信号DQには複数のリードデータRDが含まれる。リードデータRDの出力は、データストローブ信号DQSのエッジで開始し、次のリードデータRDの出力は、データストローブ信号DQSの次のエッジで開始する。データストローブ信号DQSのエッジのタイミングがジッタにより変化する場合には、当該エッジに対応するリードデータRDの出力タイミングもそれに応じて変化する。つまり、データストローブ信号DQSのエッジのタイミングが遅れると、その分、当該エッジに対応するリードデータRDの出力タイミングも遅れる。また、データストローブ信号DQSのエッジのタイミングが早まると、その分、当該エッジに対応するリードデータRDの出力タイミングも早まる。
The
なお、DDR2等の規格によれば、データストローブ信号DQSのあるエッジで出力されるリードデータRDの値は、当該エッジから第1期間までと、当該エッジの次のエッジから第2期間前までとが不定となっている。したがって、DDR2等の規格の上では、データストローブ信号DQSのあるエッジで出力されるリードデータRDの値は、当該エッジと次のエッジの間の中央付近では確定している。 According to a standard such as DDR2, the value of the read data RD output at an edge of the data strobe signal DQS is from the edge to the first period and from the next edge to the second period before the edge. Is undefined. Therefore, according to a standard such as DDR2, the value of the read data RD output at an edge of the data strobe signal DQS is determined near the center between the edge and the next edge.
図3の例では、データストローブ信号DQSには、ライズエッジ及びフォールエッジの両方を含めて8回エッジが現れている。したがって、データ線DQLには、リードデータRDが連続して8回出力されている。データ線DQLにはリードデータRD0〜RD7が出力されている。本例では、リードデータRDのバースト数が“8”となっているが、これ以外であっても良い。 In the example of FIG. 3, the data strobe signal DQS has eight edges including both the rise edge and the fall edge. Accordingly, the read data RD is continuously output eight times to the data line DQL. Read data RD0 to RD7 are output to the data line DQL. In this example, the number of bursts of the read data RD is “8”, but other bursts may be used.
リードデータRDのバースト出力は、データストローブ信号DQSのフォールエッジで終了する。データストローブ信号DQSのフォールエッジで最後のリードデータRDの出力が開始すると、図3のように、データストローブ信号DQSはクロック信号CLKの半サイクル分だけLowレベルとなった後(ポストアンブル)、不定となる。 The burst output of the read data RD ends at the falling edge of the data strobe signal DQS. When the output of the last read data RD is started at the falling edge of the data strobe signal DQS, as shown in FIG. It becomes.
図3の例では、リードコマンドRDCが出力されるタイミング(クロック信号CLKのライズエッジRE0)から、データストローブ信号DQSにおいて最初のライズエッジが現れるまでの遅延時間が、クロック信号CLKの2サイクル分となっているが、これ以外であっても良い。また、リードコマンドRDCが連続して発行される場合には、データストローブ信号DQSには8回よりも多い回数エッジが現れ、記憶装置2からは8個よりも多い数のリードデータRDが連続して出力されることもある。
In the example of FIG. 3, the delay time from the timing when the read command RDC is output (the rising edge RE0 of the clock signal CLK) until the first rising edge appears in the data strobe signal DQS is two cycles of the clock signal CLK. However, it may be other than this. In addition, when the read command RDC is issued continuously, the data strobe signal DQS has more than eight edges, and the
データリード回路5は、データストローブ信号DQSに現れるエッジを検出し、その検出結果に基づいて、データ信号DQが示す、当該エッジに対応するリードデータRDを取得する。以下に本実施の形態に係るデータリード回路5について説明するが、その前に、当該データリード回路5と比較される比較対象リード回路900について説明する。
The data read
<比較対象リード回路>
図4は比較対象リード回路900の構成を示す図である。比較対象リード回路900は、本実施の形態に係るデータリード回路5と同様に、データストローブ信号DQSのエッジを検出し、その検出結果に基づいて、データ信号DQが示す、当該エッジに対応するリードデータRDを取得する。
<Comparison lead circuit>
FIG. 4 is a diagram showing a configuration of the comparison target read
図4に示されるように、比較対象リード回路900は、データストローブ信号DQSを処理するデータストローブエッジ検出回路910と、データ信号DQ[0]〜DQ[7]をそれぞれ処理する8個のリードデータ取得回路950−0〜950−7とを備えている。データストローブエッジ検出回路910は、オーバーサンプリング回路920と、遅延回路930と、エッジ検出回路940とを備えている。リードデータ取得回路910−0〜910−7のそれぞれは、オーバーサンプリング回路960と、遅延回路970と、データ取得回路980とを備えている。
As shown in FIG. 4, the comparison target read
データストローブエッジ検出回路910は、クロック生成回路4が出力するP個の内部クロック信号CLK2[0]〜CLK2[P−1]を使用して、データストローブ信号DQSをオーバーサンプリングする。また、データ信号DQ[y](0≦y≦7)を処理するリードデータ取得回路950−yは、内部クロック信号CLK2[0]〜CLK2[P−1]を使用して、データ信号DQ[y]をオーバーサンプリングする。以後、データストローブエッジ検出回路を「DQSエッジ検出回路」と呼び、「リードデータ取得回路」を「RD取得回路」と呼ぶ。
The data strobe
図5は内部クロック信号CLK2[0]〜CLK2[P−1]の位相関係を示す図である。本実施の形態ではP=12となっている。内部ブロック信号CLK2[0]〜CLK2[P−1]の1サイクル分の位相を360度とすると、内部クロック信号CLK2[0]〜CLK2[P−1]の位相はこの順で30度ずつずれている。内部ブロック信号CLK2[0]〜CLK2[P−1]の周波数はクロック信号CLKの周波数の2倍であるため、クロック信号CLKの1サイクル分の位相を360度とすると、内部クロック信号CLK2[0]〜CLK2[P−1]の位相はこの順で15度ずつずれている。したがって、クロック信号CLKの半サイクルの間には、内部クロック信号CLK2[0]〜CLK2[P−1]のライズエッジが全部で12回現れる。そして、クロック信号CLKの周波数とデータストローブ信号DQSの周波数とは一致するため、データストローブ信号DQSの半サイクルの間(ライズエッジとフォールエッジの間)には、内部クロック信号CLK2[0]〜CLK2[P−1]のライズエッジが全部で12回現れる。内部クロック信号CLK2[x](0≦x≦P−1)のライズエッジと、それに続く内部クロック信号CLK2[x+1]のライズエッジとの間隔が、データストローブ信号DQS及びデータ信号DQ[y]のサンプリング周期SMPとなる。内部クロック信号CLK2[0]のライズエッジはクロック信号CLKのライズエッジまたはフォールエッジと同期している。 FIG. 5 is a diagram showing the phase relationship between the internal clock signals CLK2 [0] to CLK2 [P-1]. In this embodiment, P = 12. If the phase of one cycle of the internal block signals CLK2 [0] to CLK2 [P-1] is 360 degrees, the phases of the internal clock signals CLK2 [0] to CLK2 [P-1] are shifted by 30 degrees in this order. ing. Since the frequency of the internal block signals CLK2 [0] to CLK2 [P-1] is twice the frequency of the clock signal CLK, if the phase of one cycle of the clock signal CLK is 360 degrees, the internal clock signal CLK2 [0 ] To CLK2 [P-1] are shifted by 15 degrees in this order. Therefore, the rising edges of the internal clock signals CLK2 [0] to CLK2 [P-1] appear 12 times in total during the half cycle of the clock signal CLK. Since the frequency of the clock signal CLK and the frequency of the data strobe signal DQS coincide with each other, the internal clock signals CLK2 [0] to CLK2 are supplied during the half cycle of the data strobe signal DQS (between the rise edge and the fall edge). [P-1] rise edges appear 12 times in total. The interval between the rising edge of the internal clock signal CLK2 [x] (0 ≦ x ≦ P−1) and the subsequent rising edge of the internal clock signal CLK2 [x + 1] is determined by the data strobe signal DQS and the data signal DQ [y]. Sampling cycle SMP. The rising edge of the internal clock signal CLK2 [0] is synchronized with the rising edge or the fall edge of the clock signal CLK.
<DQSエッジ検出回路>
図6はオーバーサンプリング回路920の構成を示す図である。図6に示されるように、オーバーサンプリング回路920は、データストローブ信号DQSをオーバーサンプリングするサンプリング回路921と、クロック乗せ換え回路922とを備えている。クロック乗せ換え回路922は、1段目回路923、2段目回路924、3段目回路925及び4段目回路926を備えている。
<DQS edge detection circuit>
FIG. 6 is a diagram showing the configuration of the
図7はサンプリング回路921の構成を示す図である。図7に示されるように、サンプリング回路921は、内部クロック信号CLK2[0]〜CLK2[11]がそれぞれ入力されるフリップフリップ(FF)回路921A〜921Lを備えている。FF回路921A〜921Lのそれぞれは、入力される内部クロック信号CLK2[x]のライズエッジでデータストローブ信号DQSが示す値(論理値)を保持し、当該値をサンプル値SM1[x]として出力する。これにより、サンプリング回路921では、データストローブ信号DQSが、その半サイクルの間に12回サンプリングされ、データストローブ信号DQSがオーバーサンプリングされる。サンプル値は1ビットのデータであり、サンプルデータとも呼ばれる。
FIG. 7 is a diagram showing the configuration of the
図8はクロック乗せ換え回路922の1段目回路923の構成示す図である。図8に示されるように、1段目回路923は、サンプル値SM1[0]〜SM1[11]がそれぞれ入力されるFF回路923A〜923Lを備えている。FF回路923A〜923Cのそれぞれは、内部クロック信号CLK2[0]のライズエッジで、入力されるサンプル値SM1[x]を保持してサンプル値SM2[x]として出力する。したがって、FF回路923A〜923Cからは、内部クロック信号CLK2[0]のライズエッジに同期して、サンプル値SM2[0]〜SM2[2]がそれぞれ出力される。
FIG. 8 is a diagram showing the configuration of the
FF回路923D〜923Fのそれぞれは、内部クロック信号CLK2[3]のライズエッジで、入力されるサンプル値SM1[x]を保持してサンプル値SM2[x]として出力する。したがって、FF回路923D〜923Fからは、内部クロック信号CLK2[3]のライズエッジに同期して、サンプル値SM2[3]〜SM2[5]がそれぞれ出力される。
Each of the
FF回路923G〜923Iのそれぞれは、内部クロック信号CLK2[6]のライズエッジで、入力されるサンプル値SM1[x]を保持してサンプル値SM2[x]として出力する。したがって、FF回路923G〜923Iからは、内部クロック信号CLK2[6]のライズエッジに同期して、サンプル値SM2[6]〜SM2[8]がそれぞれ出力される。
Each of the
FF回路923J〜923Lのそれぞれは、内部クロック信号CLK2[9]のライズエッジで、入力されるサンプル値SM1[x]を保持してサンプル値SM2[x]として出力する。したがって、FF回路923J〜923Lからは、内部クロック信号CLK2[9]のライズエッジに同期して、サンプル値SM2[9]〜SM2[11]がそれぞれ出力される。
Each of the
図9はクロック乗せ換え回路922の2段目回路924の構成示す図である。図9に示されるように、2段目回路924は、サンプル値SM2[0]〜SM2[11]がそれぞれ入力されるFF回路924A〜924Lを備えている。FF回路924A〜924Fのそれぞれは、内部クロック信号CLK2[0]のライズエッジで、入力されるサンプル値SM2[x]を保持してサンプル値SM3[x]として出力する。したがって、FF回路924A〜924Fからは、内部クロック信号CLK2[0]のライズエッジに同期して、サンプル値SM3[0]〜SM3[5]がそれぞれ出力される。
FIG. 9 is a diagram showing the configuration of the
FF回路924G〜924Iのそれぞれは、内部クロック信号CLK2[3]のライズエッジで、入力されるサンプル値SM2[x]を保持してサンプル値SM3[x]として出力する。したがって、FF回路924G〜924Iからは、内部クロック信号CLK2[3]のライズエッジに同期して、サンプル値SM3[6]〜SM3[8]がそれぞれ出力される。 Each of the FF circuits 924G to 924I holds the input sample value SM2 [x] at the rising edge of the internal clock signal CLK2 [3] and outputs it as the sample value SM3 [x]. Therefore, sample values SM3 [6] to SM3 [8] are output from the FF circuits 924G to 924I in synchronization with the rising edge of the internal clock signal CLK2 [3].
FF回路924J〜924Lのそれぞれは、内部クロック信号CLK2[6]のライズエッジで、入力されるサンプル値SM2[x]を保持してサンプル値SM3[x]として出力する。したがって、FF回路924J〜924Lからは、内部クロック信号CLK2[6]のライズエッジに同期して、サンプル値SM3[9]〜SM3[11]がそれぞれ出力される。
Each of the
図10はクロック乗せ換え回路922の3段目回路925の構成示す図である。図10に示されるように、3段目回路925は、サンプル値SM3[0]〜SM3[11]がそれぞれ入力されるFF回路925A〜925Lを備えている。FF回路925A〜925Iのそれぞれは、内部クロック信号CLK2[0]のライズエッジで、入力されるサンプル値SM3[x]を保持してサンプル値SM4[x]として出力する。したがって、FF回路925A〜925Iからは、内部クロック信号CLK2[0]のライズエッジに同期して、サンプル値SM4[0]〜SM4[8]がそれぞれ出力される。
FIG. 10 is a diagram showing a configuration of the
FF回路925J〜925Lのそれぞれは、内部クロック信号CLK2[3]のライズエッジで、入力されるサンプル値SM3[x]を保持してサンプル値SM4[x]として出力する。したがって、FF回路925J〜925Lからは、内部クロック信号CLK2[3]のライズエッジに同期して、サンプル値SM4[9]〜SM4[11]がそれぞれ出力される。
Each of the
図11はクロック乗せ換え回路922の4段目回路926の構成示す図である。図11に示されるように、4段目回路926は、サンプル値SM4[0]〜SM4[11]がそれぞれ入力されるFF回路926A〜926Lを備えている。FF回路925A〜926Lのそれぞれは、内部クロック信号CLK2[0]のライズエッジで、入力されるサンプル値SM4[x]を保持してサンプル値SM5[x]として出力する。したがって、FF回路926A〜926Lからは、内部クロック信号CLK2[0]のライズエッジに同期して、サンプル値SM5[0]〜SM5[11]がそれぞれ出力される。これにより、オーバーサンプリング回路920からは、内部クロック信号CLK2[0]のライズエッジごとに、サンプル値SM5[P−1:0]が出力される。サンプル値SM5[P−1:0]は、クロック信号CLKの半サイクルと同じ長さの期間の間、データストローブ信号DQSをP回サンプリングして得られたサンプル値である。以後、当該期間を「処理単位期間」と呼ぶ。オーバーサンプリング回路920は、処理単位期間ごとに、当該処理単位期間においてデータストローブ信号DQSをサンプリングすることによって得られた12個のサンプル値SM5[11:0]を出力する。サンプル値SM5[11:0]は12ビットのデータである。処理単位期間は内部クロック信号CLK2[0]と同期している。つまり処理単位期間の始点及び終点は内部クロック信号CLK2[0]のライズエッジと同期している。
FIG. 11 is a diagram showing a configuration of the
図12は処理単位期間とデータストローブ信号DQSとの関係の一例を示す図である。図12には、(M+0)番目の処理単位期間990から(M+7)番目の処理単位期間990が示されている。処理単位期間990の長さと、データストローブ信号DQSの半周期の長さとは理想的には一致することから、データストローブ信号DQSでは、理想的には1つの処理単位期間990にエッジが1つだけ含まれる。しかしながら、データストローブ信号DQSのエッジのタイミングにはジッタが存在することから、実際にはこのようになるとは限らない。オーバーサンプリング回路920は、ある処理単位期間990で得たサンプル値SM5[P−1:0]を、当該処理単位期間990よりも内部クロック信号CLK2[0]の数サイクル分遅らせて出力する。
FIG. 12 is a diagram showing an example of the relationship between the processing unit period and the data strobe signal DQS. FIG. 12 shows the (M + 0) th
以上のような構成を有するオーバーサンプリング回路920からは、データストローブ信号DQSをオーバーサンプリングして順次得られるサンプル値が、クロック信号CLKの半サイクル分(P個)ごとに、内部クロック信号CLK2[0]のライズエッジに同期して出力される。
From the
図13はDQSエッジ検出回路910の遅延回路930の構成を示す図である。遅延回路930は、オーバーサンプリング回路920から内部クロック信号CLK2[0]のライズエッジに同期して出力されるサンプル値SM5[11:0]を、内部クロック信号CLK2[0]の1サイクル分遅延させて出力する。このとき、遅延回路930は、当該サンプル値SM5[11:0]に対して、当該ライズエッジよりも1つ前のライズエッジに同期して出力されるサンプル値SM5[P−1]を付加する。
FIG. 13 is a diagram showing a configuration of the
図132に示されるように、遅延回路930は、内部クロック信号CLK2[0]が入力されるFF回路930A〜930Cを備えている。FF回路930Aは、内部クロック信号CLK2[0]のライズエッジで、サンプル値SM5[0]〜SM5[P−1]を保持してそれぞれサンプル値SM6[1]〜SM6[P]として出力する。これにより、遅延回路930は、入力されたサンプル値SM5[0]〜SM5[P−1]を、内部クロック信号CLK2[0]の1サイクル分遅延して、それぞれサンプル値SM6[1]〜SM6[P]として出力する。
As shown in FIG. 132, the
FF回路930Bは、内部クロック信号CLK2[0]のライズエッジでサンプル値SM5[P−1]を保持して出力する。FF回路930Cは、内部クロック信号CLK2[0]のライズエッジでFF回路930Bの出力を保持してサンプル値SM6[0]として出力する。これにより、遅延回路930は、入力されたサンプル値SM5[P−1]を、内部クロック信号CLK2[0]の2サイクル分遅延して、サンプル値SM6[0]として出力する。
The
このような構成を有する遅延回路930では、M番目の処理単位期間990で得られたP個のサンプル値SM5[0]〜SM5[P−1]の先頭に、それよりも一つ前の(M−1)番目の処理単位期間990で得られた最後のサンプル値SM5[P−1]が付加され、それによって得られるP個のサンプル値がそれぞれサンプル値SM6[0]〜SM6[P]とされる。図14は、その様子を示す図である。
In the
上記の点を内部クロック信号CLK2[0]のサイクルを用いて言い換えると、遅延回路930は、内部クロック信号CLK2[0]のN番目のサイクルでオーバーサンプリング回路920から出力されるP個のサンプル値SM5[0]〜SM5[P−1]の先頭に、内部クロック信号CLK2[0]の(N−1)番目のサイクルでオーバーサンプリング回路920から出力されるサンプル値SM5[P−1]を付加して得られるP個のサンプル値を、それぞれサンプル値SM6[0]〜[P]として、内部クロック信号CLK2[0]の(N+1)番目のサイクルで出力する。つまり、遅延回路930は、内部クロック信号CLK2[0]のN番目のサイクルでオーバーサンプリング回路920から出力されるP個のサンプル値SM5[0]〜SM5[P−1]を1サイクル分遅延させて出力するとともに、当該サンプル値SM5[0]〜SM5[P−1]の先頭に内部クロック信号CLK2[0]の(N−1)番目のサイクルでオーバーサンプリング回路920から出力されるサンプル値SM5[P−1]を付加する。図15は、その様子を示す図である。
In other words, using the cycle of the internal clock signal CLK2 [0], the
図16はDQSエッジ検出回路910のエッジ検出回路940の構成を示す図である。エッジ検出回路940は、P個のXOR回路940−0〜940−(P−1)を備えている。XOR回路940−xは、遅延回路930から出力されるサンプル値SM6[x]及びサンプル値SM6[x+1]の排他的論理和を求めて、その結果をエッジデータEG[x]として出力する。エッジデータEG[x]は、サンプル値SM6[x]及びサンプル値SM6[x+1]の論理値が互いに一致すれば“0”を示し、当該論理値が互いに異なれば“1”を示す。エッジ検出回路940からはエッジデータEG[0]〜[P−1]が出力される。ある処理単位期間990でのサンプル値SM5[0]〜SM5[P−1]に基づいて生成されたエッジデータEG[0]〜[P−1]では、当該処理単位期間990においてデータストローブ信号DQSのエッジが現れるタイミングに応じたデータが“1”を示す。よって、エッジデータEG[0]〜[P−1]を見れば、それに対応する処理単位期間990においてデータストローブ信号DQSのエッジが現れるタイミングを特定することができる。
FIG. 16 is a diagram showing a configuration of the
<RD取得回路>
RD取得回路950−1〜950−7は、互いに同じ回路構成を有している。各RD取得回路950のオーバーサンプリング回路960は、オーバーサンプリング回路920と同じ回路構成を有している。データ信号DQ[y]を処理するRD取得回路950−yのオーバーサンプリング回路960は、データ信号DQ[y]をオーバーサンプリングして得られるサンプル値SM15[P−1:0]を出力する。サンプル値SM15[P−1:0]は、上記のサンプル値SM5[P−1:0]と同様に、処理単位期間の間、データ信号DQ[y]をP回サンプリングして得られたサンプル値である。オーバーサンプリング回路960は、処理単位期間ごとに、当該処理単位期間においてデータ信号DQ[y]をサンプリングすることによって得られた12個のサンプル値SM15[11:0]を出力する。
<RD acquisition circuit>
The RD acquisition circuits 950-1 to 950-7 have the same circuit configuration. The
図17は遅延回路970を示す図である。図17に示されるように、遅延回路970はFF回路970Aを備えている。FF回路970Aは、サンプル値SM15[P−1:0]のうちの上位側半分のサンプル値SM15[P/2]〜SM15[P−1]を内部クロック信号CLK2[0]のライズエッジで保持して、サンプル値SM16[0]〜SM16[P/2−1]としてそれぞれ出力する。また遅延回路970は、サンプル値SM15[P−1:0]のうちの下位側半分のサンプル値SM15[0]〜SM15[P/2−1]をそのままサンプル値SM16[P/2]〜SM16[P−1]としてそれぞれ出力する。
FIG. 17 is a diagram showing the
このような構成を有する遅延回路970では、M番目の処理単位期間で得られたP個のサンプル値SM15[P−1:0]のうち下位側半分のサンプル値SM15[P/2−1:0]が、サンプル値SM16[P−1:0]の上位側半分のサンプル値S16[P−1:P/2]となる。そして、一つ前の(M−1)番目の処理単位期間で得られたP個のサンプル値SM15[P−1:0]のうち上位側半分のサンプル値SM15[P−1:P/2]が、サンプル値SM16[P−1:0]の下位側半分のサンプル値S16[P/2−1:0]となる。図18はその様子を示す図である。なお図18の破線の矢印は、M番目の処理単位期間で得られたサンプル値SM15[P/2−1:0]及び(M−1)番目の処理単位期間で得られたサンプル値SM15[P−1:P/2]と、サンプル値SM16[P−1:0]との対応関係を示しており、サンプル値SM16[P−1:0]の出力タイミングを示しているわけでない。
In the
上記の点を内部クロック信号CLK2[0]のサイクルを用いて言い換えると、遅延回路970は、内部クロック信号CLK2[0]のN番目のサイクルでオーバーサンプリング回路920から出力されるP個のサンプル値SM15[P−1:0]のうち下位側半分のサンプル値SM15[P/2−1:0]を、当該N番目のサイクルでのサンプル値SM16[P−1:0]の上位側半分のサンプル値S16[P−1:P/2]とする。そして、遅延回路920は、内部クロック信号CLK2[0]の(N−1)番目のサイクルでオーバーサンプリング回路920から出力されるP個のサンプル値SM15[P−1:0]のうち上位側半分のサンプル値SM15[P−1:P/2]を、内部クロック信号CLK2[0]のN番目のサイクルでのサンプル値SM16[P−1:0]の下位側半分のサンプル値S16[P/2−1:0]とする。図19はその様子を示す図である。図19では上側に遅延回路970の入力が示され、下側に遅延回路970の出力が示されている。
In other words, using the cycle of the internal clock signal CLK2 [0], the
図20はデータ取得回路980の構成を示す図である。図20に示されるように、データ取得回路980は、P個のAND回路981−0〜981−(P−1)とOR回路982とを備えている。AND回路981−xは、遅延回路970からのサンプル値SM16[x]と、DQSエッジ検出回路910からのエッジデータEG[x]との論理和を演算し、その演算結果を出力値AND[x]として出力する。データ信号DQ[y]を処理するRD取得回路950−yのOR回路982は、P個のAND回路981−0〜981−(P−1)がそれぞれ出力する出力値AND[0]〜AND[P−1]の論理和を演算し、その結果を出力データDQout[y]として出力する。RD取得回路950−yは、出力データDQout[y]を、データ信号DQ[y]が示すリードデータRDとして出力する。
FIG. 20 is a diagram showing the configuration of the
ここで、内部クロック信号CLK2[0]のN番目のサイクルにおいて、図21に示されるM番目の処理単位期間990でのデータストローブ信号DQSのサンプル値SM5[P−1:0]及びM番目の処理単位期間990でのデータ信号DQ[y]のサンプル値SM15[P−1:0]が、DQSエッジ検出回路910のオーバーサンプリング回路920及びRD取得回路950−yのオーバーサンプリング回路960からそれぞれ出力された場合を考える。
Here, in the Nth cycle of the internal clock signal CLK2 [0], the sample value SM5 [P-1: 0] of the data strobe signal DQS in the Mth
DQSエッジ検出回路910の遅延回路930では、オーバーサンプリング回路920からのサンプル値SM5[P−1:0]が内部クロック信号CLK2[0]の1サイクル分だけ遅延することから、内部クロック信号CLK2[0]のN番目のサイクルにおいてエッジ検出回路940から出力されるエッジデータEG[P−1:0]は、(M−1)番目の処理単位期間990でのデータストローブ信号DQSのエッジeg1(図21参照)のタイミングを示すことになる。
In the
一方で、RD取得回路950−yの遅延回路970は、上述の図18に示されるように、内部クロック信号CLK2[0]のN番目のサイクルにおいて、(M−1)番目の処理単位期間990の後半半分とM番目の処理単位期間990の前半半分から成るサンプリング期間995(図21参照)でのデータ信号DQ[y]のサンプル値SM16[P−1:0]を出力する。このサンプル値SM16[P−1:0]では、前半が、(M−1)番目の処理単位期間990でのデータストローブ信号DQSのエッジeg1に対応するリードデータRD1を示し、後半が、M番目の処理単位期間990でのデータストローブ信号DQSのエッジeg2に対応するリードデータRD2を示す。
On the other hand, the
このように、内部クロック信号CLK2[0]のN番目のサイクルでは、エッジ検出回路940からは、(M−1)番目の処理単位期間990でのデータストローブ信号DQSのエッジeg1のタイミングを示すエッジデータEG[P−1:0]が出力されるとともに、RD取得回路950−yの遅延回路970からは、(M−1)番目の処理単位期間990の後半半分とM番目の処理単位期間990の前半半分から成るサンプリング期間995でのデータ信号DQ[y]のサンプル値SM16[P−1:0]が出力される。これにより、内部クロック信号CLK2[0]のN番目のサイクルにおいては、エッジデータEG[P−1:0]が示す、データストローブ信号DQSのエッジeg1についての(M−1)番目の処理単位期間990での相対的な位置PS1と、サンプル値SM16[P−1:0]が示す、当該エッジeg1に対応するリードデータRD1の出力期間996の中央996Aについてのサンプリング期間995での相対的な位置PS2とが近似するようになる。つまり、サンプル値SM16[P−1:0]においては、エッジデータEG[P−1:0]に含まれる、データストローブ信号DQSのエッジのタイミングを示すデータ(“1”を示すデータ)のビット位置xと同じビット位置のサンプル値SM16[x]は、当該エッジに対応するリードデータRDを示すことになる。よって、図20のような構成を有するデータ取得回路980は、データ信号DQ[y]が示すリードデータRDを取得することができる。
Thus, in the Nth cycle of the internal clock signal CLK2 [0], the
図22〜24は、DQSエッジ検出回路910でのサンプル値SM5[P−1:0]、サンプル値SM6[P:0]及びエッジデータEG[P−1:0]の一例をそれぞれ示す図である。図25〜28は、RD取得回路950−yでのサンプル値SM15[P−1:0]、サンプル値SM16[P−1:0]、出力値AND[P−1:0]及び出力データDQout[y]の一例をそれぞれ示す図である。
22 to 24 are diagrams illustrating examples of the sample value SM5 [P-1: 0], the sample value SM6 [P: 0], and the edge data EG [P-1: 0] in the DQS
図22〜28での「N+0」、「N+1」等は内部クロック信号CLK2[0]のサイクルの番号を示している。図22〜24には、処理単位期間990の中央にデータストローブ信号DQSのエッジが存在する場合のサンプル値SM5[P−1:0]、サンプル値SM6[P:0]及びエッジデータEG[P−1:0]が示されている。図22の例では、内部クロック信号CLK2[0]の(N+0)番目のサイクルでのサンプル値SM5[P−1:0]と、(N+1)番目のサイクルでのサンプル値SM5[5:0]とは、データストローブ信号DQSのプリアンブルを示している。図25〜28での「A」、「B」等はリードデータRDの値を示している。図22〜28での「X」は不定値を示している。
22 to 28, “N + 0”, “N + 1”, and the like indicate cycle numbers of the internal clock signal CLK2 [0]. 22 to 24 show sample values SM5 [P-1: 0], sample values SM6 [P: 0], and edge data EG [P when the edge of the data strobe signal DQS exists in the center of the
本例では、処理単位期間990の中央にデータストローブ信号DQSのエッジが存在しているため、図24に示されるように、12個のエッジデータEG[11:0]のうち真ん中のビット位置のエッジデータEG[6]が“1”を示している。したがって、図26〜28に示されるように、12個のサンプル値SM16[P−1:0]のうちの中央付近のビット位置のサンプル値SM16[6]が示す値が出力データDQout[y]となる。本例では、RD取得回路950−yにおいて、データ信号DQ[y]が示すリードデータRDが適切に取得されている。
In this example, since the edge of the data strobe signal DQS exists in the center of the
ここで、処理単位期間990の始点あるいは終点の近傍にデータストローブ信号DQSのエッジが存在する場合には、データストローブ信号DQSのエッジのタイミングのジッタにより、処理単位期間990においてデータストローブ信号DQSのエッジがまったく存在しない状況や、処理単位期間990においてデータストローブ信号DQSのエッジが複数存在する状況が発生することがある。つまり、処理単位期間990の始点あるいは終点の近傍にデータストローブ信号DQSのエッジが存在する場合にエッジ間の間隔が長くなったり、短くなったりするときには、処理単位期間990においてエッジがまったく存在しなかったり、処理単位期間990において複数のエッジが存在したりすることがある。このような場合には、比較対象リード回路900は、データ信号DQが示すリードデータRDを適切に取得できないことがある。図29〜35は、比較対象リード回路900が、データ信号DQが示すリードデータRDを適切に取得できない場合の当該比較対象リード回路900の動作例を示す図である。
Here, when the edge of the data strobe signal DQS exists in the vicinity of the start point or end point of the
図29〜31は、DQSエッジ検出回路910でのサンプル値SM5[P−1:0]、サンプル値SM6[P:0]及びエッジデータEG[P−1:0]の一例をそれぞれ示す図である。図32〜25は、RD取得回路950−yでのサンプル値SM15[P−1:0]、サンプル値SM16[P−1:0]、出力値AND[P−1:0]及び出力データDQout[y]の一例をそれぞれ示す図である。
29 to 31 are diagrams illustrating examples of the sample value SM5 [P-1: 0], the sample value SM6 [P: 0], and the edge data EG [P-1: 0] in the DQS
本例では、図31に示されるように、内部クロック信号CLK2[0]の(N+1+3)番目のサイクルでのエッジデータEG[P−1:0]においては、エッジデータEG[0]及びエッジデータEG[11]がともに“1”を示していることから、データストローブ信号DQSのエッジが2つ検出されている。したがって、(N+1+3)番目のサイクルでの出力データDQout[y]は、出力値AND[0]及び出力値AND[11]のどちらの値を示すか分からない。つまり、(N+1+3)番目のサイクルでは、データ信号DQ[y]が示すリードデータRDを適切に取得できない。 In this example, as shown in FIG. 31, in the edge data EG [P−1: 0] in the (N + 1 + 3) th cycle of the internal clock signal CLK2 [0], the edge data EG [0] and the edge data Since both EG [11] indicate “1”, two edges of the data strobe signal DQS are detected. Therefore, it is unknown whether the output data DQout [y] in the (N + 1 + 3) -th cycle indicates the output value AND [0] or the output value AND [11]. That is, in the (N + 1 + 3) th cycle, the read data RD indicated by the data signal DQ [y] cannot be acquired appropriately.
一方で、内部クロック信号CLK2[0]の(N+1+4)番目のサイクルでのエッジデータEG[P−1:0]については、すべてが“0”を示していることから、データストローブ信号DQSのエッジが1つも検出されていない。したがって、(N+1+4)番目のサイクルでの出力データDQout[y]は“0”を示す。よって、(N+1+4)番目のサイクルでは、データ信号DQ[y]が示すリードデータRDを適切に取得できない。 On the other hand, since all the edge data EG [P-1: 0] in the (N + 1 + 4) -th cycle of the internal clock signal CLK2 [0] indicates “0”, the edge of the data strobe signal DQS Is not detected. Accordingly, the output data DQout [y] in the (N + 1 + 4) th cycle indicates “0”. Therefore, in the (N + 1 + 4) th cycle, the read data RD indicated by the data signal DQ [y] cannot be acquired appropriately.
このように、比較対象リード回路900では、データストローブ信号DQSのエッジのタイミングのジッタにより、データ信号DQが示すリードデータRDを適切に取得できない場合がある。
As described above, the comparison target read
そこで、本実施の形態では、データ信号DQが示すリードデータRDをより確実に取得することが可能なデータリード回路5を提供する。以下に本実施の形態に係るデータリード回路5について説明する。
Therefore, in the present embodiment, a data read
<本実施の形態に係るデータリード回路>
図36は、データリード回路5の構成を示す図である。本実施の形態に係るデータリード回路5は、単位期間において得られた、データストローブ信号DQSの第1所定数のサンプル値を保持する。そして、データリード回路5は、保持した第1所定数のサンプル値から、データストローブ信号DQSのエッジの検出単位となる第2所定数(<第1所定数)のサンプル値を決定する。これにより、データストローブ信号DQSについての比較的多い数のサンプル値から、エッジを検出する際に使用する複数のサンプル値を決定することができることから、エッジを検出する際に使用する複数のサンプル値が得られたサンプリング期間の中央付近にデータストローブ信号DQSのエッジが位置するように当該複数のサンプル値を決定することが可能となる。よって、データストローブ信号DQSにおいてエッジ間隔が長くなったり短くなったりしたとしても、データ信号DQが示すリードデータRDを適切に取得することが可能となる。
<Data Read Circuit According to this Embodiment>
FIG. 36 is a diagram showing a configuration of the data read
図36に示されるように、データリード回路5は、データストローブ信号DQSを処理するDQSエッジ検出回路10と、データ信号DQ[0]〜DQ[7]をそれぞれ処理する8個のRD取得回路20−0〜20−7と、DQSエッジ検出回路10及びRD取得回路20−0〜20−7を制御する制御回路30と備えている。データリード回路5はクロック信号CLKに同期して動作する。制御回路30とDQSエッジ検出回路10をまとめて「データストローブ処理回路」とも呼ぶ。
As shown in FIG. 36, the data read
DQSエッジ検出回路10は、クロック生成回路4が出力するP個の内部クロック信号CLK2[0]〜CLK2[P−1]を使用して、データストローブ信号DQSをオーバーサンプリングする。そして、DQSエッジ検出回路10は、データストローブ信号DQSをオーバーサンプリングして得られるサンプル値を使用して、データストローブ信号DQSのエッジを検出する。本実施の形態では、DQSエッジ検出回路10は、データストローブ信号DQSのライズエッジとフォールエッジとを別々に検出する。
The DQS
データ信号DQ[y]を処理するRD取得回路20−yは、内部クロック信号CLK2[0]〜CLK2[P−1]を使用して、データ信号DQ[y]をオーバーサンプリングする。そして、RD取得回路20−yは、データ信号DQ[y]をオーバーサンプリングして得られるサンプル値と、DQSエッジ検出回路10でのデータストローブ信号DQSのエッジの検出結果とを使用して、データ信号DQ[y]が示すリードデータRDを取得する。
The RD acquisition circuit 20-y that processes the data signal DQ [y] oversamples the data signal DQ [y] using the internal clock signals CLK2 [0] to CLK2 [P-1]. Then, the RD acquisition circuit 20-y uses the sample value obtained by oversampling the data signal DQ [y] and the detection result of the edge of the data strobe signal DQS in the DQS
本実施の形態では、RD取得回路20−0〜20−7は互いに同じ回路構成を有している。また本実施の形態では、DQSエッジ検出回路10及びRD取得回路20−0〜20−7は互いに同じ回路構成を有している。
In the present embodiment, the RD acquisition circuits 20-0 to 20-7 have the same circuit configuration. In the present embodiment, the DQS
図37はDQSエッジ検出回路10の構成を示す図である。図38はRD取得回路20−yの構成を示す図である。図37に示されるように、DQSエッジ検出回路10は、オーバーサンプリング回路100と、選択対象単位保持回路110と、処理単位決定回路120と、エッジ検出回路130と、データ取得回路140とを備えている。また図38に示されるように、RD取得回路20−yは、オーバーサンプリング回路200と、選択対象単位保持回路210と、処理単位決定回路220と、エッジ検出回路230と、データ取得回路240とを備えている。
FIG. 37 is a diagram showing a configuration of the DQS
オーバーサンプリング回路100,200は互いに同じ回路構成を有しており、選択対象単位保持回路110,210は互いに同じ回路構成を有している。処理単位決定回路120,220は互いに同じ回路構成を有しており、エッジ検出回路130,230は互いに同じ回路構成を有している。そして、データ取得回路140,240は互いに同じ回路構成を有している。
The
選択対象単位保持回路110,210の動作は制御回路30によって独立に制御される。したがって、選択対象単位保持回路110,210では、回路構成は同じであるものの、動作は互いに異なることがある。同様に、処理単位決定回路120,220の動作は制御回路30によって独立に制御される。したがって、処理単位決定回路120,220では、回路構成は同じであるものの、動作は互いに異なることがある。
The operations of the selection target
なお、データ取得回路140は、DQSエッジ検出回路10とRD取得回路20−yとの回路構成を同一にするためだけに設けられており、DQSエッジ検出回路10ではデータ取得回路140は実質的に機能していない。
The
以下では、DQSエッジ検出回路10の構成を詳細に説明し、RD取得回路20−yの構成についてはDQSエッジ検出回路10との相違点を中心に説明する。
Hereinafter, the configuration of the DQS
<DQSエッジ検出回路>
<オーバーサンプリング回路>
図39はオーバーサンプリング回路100の構成を示す図である。図39に示されるように、オーバーサンプリング回路100は、サンプリング回路101と、クロック乗せ換え回路102とを備えている。サンプリング回路101は、上記の比較対象リード回路900のオーバーサンプリング回路920と同じ回路であって、処理単位期間990(図12等参照)ごとに、当該処理単位期間990においてデータストローブ信号DQSをサンプリングすることによって得られたP個のサンプル値SM5[P−1:0]を出力する。
<DQS edge detection circuit>
<Oversampling circuit>
FIG. 39 is a diagram showing the configuration of the
クロック乗せ換え回路102は、FF回路103〜106を備えている。FF回路103は、サンプリング回路101からのサンプル値SM5[0]〜SM5[P−1]を内部クロック信号CLK2[0]のライズエッジで保持してサンプル値SM7[0]〜SM7[P−1]としてそれぞれ出力する。FF回路104は、FF回路103からのサンプル値SM7[0]〜SM7[P−1]を内部クロック信号CLK2[0]のライズエッジで保持してサンプル値SM8[0]〜SM8[P−1]としてそれぞれ出力する。FF回路105は、FF回路104からのサンプル値SM8[0]〜SM8[P−1]をクロック信号CLKのライズエッジで保持してサンプル値SM9[0]〜SM9[P−1]としてそれぞれ出力する。FF回路106は、FF回路103からのサンプル値SM7[0]〜[P−1]をクロック信号CLKのライズエッジで保持してサンプル値SM9[P]〜SM9[2P−1]としてそれぞれ出力する。
The
このような構成を有するオーバーサンプリング回路100では、内部クロック信号CLK2[0]のあるライズエッジでFF回路103から出力されるサンプル値SM7[P−1:0]がM番目の処理単位期間990でのサンプル値とすると、当該ライズエッジでFF回路104から出力されるサンプル値SM8[P−1:0]は(M−1)番目の処理単位期間990でのサンプル値となる。したがって、この場合には、内部クロック信号CLK2[0]のあるライズエッジに同期して、FF回路104から出力されるサンプル値SM8[0]〜SM8[P−1]及びFF回路103から出力されるサンプル値SM7[0]〜SM7[P−1]から成る(P×2)個のサンプル値は、(M−1)番目の処理単位期間990及びM番目の処理単位期間990から成る、クロック信号CLKの1サイクルと同じ長さの期間の間、データストローブ信号DQSを(P×2)回サンプリングして得られたサンプル値である。したがって、クロック信号CLKのライズエッジに同期してFF回路105,106から出力される2P個のサンプル値SM9[0]〜SM9[2P−1]は、クロック信号CLKの1サイクルと同じ長さの期間の間において、データストローブ信号DQSを2P回サンプリングして得られる値である。サンプル値SM9[0]〜SM9[2P−1]のサンプリングのタイミングはこの順で早くなっている。以後、当該期間を「第1処理単位期間191」と呼ぶ。第1処理単位期間191の長さは、比較対象リード回路900での処理単位期間990の長さの2倍となっている。第1処理単位期間191は、クロック信号CLKに同期している。つまり、第1処理単位期間191の始点及び終点はクロック信号CLKのライズエッジに同期している。
In the
図40は第1処理単位期間191とデータストローブ信号DQSとの関係の一例を示す図である。図40には、(M+0)番目の第1処理単位期間191から(M+3)番目の第1処理単位期間191が示されている。第1処理単位期間191の長さと、データストローブ信号DQSの周期とは理想的には一致することから、データストローブ信号DQSでは、理想的には1つの第1処理単位期間191にライズエッジが1つだけ含まれ、フォールエッジが1つだけ含まれる。しかしながら、データストローブ信号DQSのエッジのタイミングにはジッタが存在することから、実際にはこのようになるとは限らない。オーバーサンプリング回路100は、ある第1処理単位期間191で得たサンプル値SM9[2P−1:0]を、当該第1処理単位期間191よりもクロック信号CLKの数クロック分遅らせて出力する。
FIG. 40 is a diagram illustrating an example of the relationship between the first
以上のような構成を有するオーバーサンプリング回路100からは、データストローブ信号DQSをオーバーサンプリングして順次得られるサンプル値が、クロック信号CLKの1サイクル分(2P個)ごとに、クロック信号CLKのライズエッジに同期して出力される。以後、特に断らない限り、「サイクル」と言えば、内部クロック信号CLK2[0]のサイクルではなく、クロック信号CLKのサイクルを意味する。
From the
<選択対象単位保持回路>
図41は選択対象単位保持回路110の構成を示す図である。図41に示されるように、選択対象単位保持回路110は、可変遅延回路111及びデータ拡張回路112を備えている。図42は可変遅延回路111の構成を示す図である。可変遅延回路111は、オーバーサンプリング回路100からのサンプル値SM9[2P−1:0]をそのまま出力したり、遅延させて出力したりすることができる。また可変遅延回路111は、サンプル値SM9[2P−1:0]を遅延させて出力する際には、その遅延量を変化させることができる。可変遅延回路111での遅延量は制御回路30からの2ビットの設定データSET1[1:0]によって設定される。
<Selection unit holding circuit>
FIG. 41 is a diagram showing a configuration of the selection target
図42に示されるように、可変遅延回路111は、FF回路111A,111B,111C及び選択回路111Dを備えている。FF回路111Aはサンプル値SM9[2P−1:0]をクロック信号CLKのライズエッジで保持して出力する。これにより、FF回路111Aからは、可変遅延回路111に入力されたサンプル値SM9[2P−1:0]が1サイクル分遅延して出力される。FF回路111BはFF回路111Aの出力をクロック信号CLKのライズエッジで保持して出力する。これにより、FF回路111Bからは、可変遅延回路111に入力されたサンプル値SM9[2P−1:0]が2サイクル分遅延して出力される。FF回路111Cは、FF回路111Bの出力をクロック信号CLKのライズエッジで保持して出力する。これにより、FF回路111Cからは、可変遅延回路111に入力されたサンプル値SM9[2P−1:0]が3サイクル分遅延して出力される。
As shown in FIG. 42, the
選択回路111Dは、制御回路30からの設定データSET1[1:0]に応じて、オーバーサンプリング回路100からのサンプル値SM9[2P−1:0]及びFF回路11A,111B,111Cの出力の一つを選択してサンプル値SM10[2P−1:0]として出力する。
In response to the setting data SET1 [1: 0] from the
具体的には、例えば、選択回路111Dは、設定データSET1[1:0]の値が十進数表記で“0”の場合には、サンプル値SM9[2P−1:0]を選択して出力する。これにより、設定データSET1[0],SET1[1]がともに“0”を示す場合には、選択回路111Dからは、可変遅延回路111に入力されたサンプル値SM9[0]〜SM9[2P−1]がそのままサンプル値SM10[0]〜SM10[2P−1]としてそれぞれ出力される。以後、設定データSET1[1:0]のように複数ビットで構成されるデータの値を示す場合には、特に断らない限り、十進数表記で示すものとする。
Specifically, for example, when the value of the setting data SET1 [1: 0] is “0” in decimal notation, the selection circuit 111D selects and outputs the sample value SM9 [2P-1: 0]. To do. As a result, when the setting data SET1 [0] and SET1 [1] both indicate “0”, the sample values SM9 [0] to SM9 [2P− inputted to the
選択回路111Dは、設定データSET1[1:0]の値が“1”の場合には、FF回路111Aの出力を選択して出力する。これにより、設定データSET1[0],SET1[1]が“0”及び“1”をそれぞれ示す場合には、選択回路111Dからは、可変遅延回路111に入力されたサンプル値SM9[0]〜SM9[2P−1]が1サイクル分遅延してサンプル値SM10[0]〜SM10[2P−1]としてそれぞれ出力される。
When the value of the setting data SET1 [1: 0] is “1”, the selection circuit 111D selects and outputs the output of the
選択回路111Dは、設定データSET1[1:0]の値が“2”の場合には、FF回路111Bの出力を選択して出力する。これにより、設定データSET1[0],SET1[1]が“1”及び“0”をそれぞれ示す場合には、選択回路111Dからは、可変遅延回路111に入力されたサンプル値SM9[0]〜SM9[2P−1]が2サイクル分遅延してサンプル値SM10[0]〜SM10[2P−1]としてそれぞれ出力される。
When the value of the setting data SET1 [1: 0] is “2”, the selection circuit 111D selects and outputs the output of the
そして、選択回路111Dは、設定データSET1[1:0]の値が“3”の場合には、FF回路111Cの出力を選択して出力する。これにより、設定データSET1[0],SET1[1]がともに“1”を示す場合には、選択回路111Dからは、可変遅延回路111に入力されたサンプル値SM9[0]〜SM9[2P−1]が3サイクル分遅延してサンプル値SM10[0]〜SM10[2P−1]としてそれぞれ出力される。
Then, when the value of the setting data SET1 [1: 0] is “3”, the selection circuit 111D selects and outputs the output of the FF circuit 111C. As a result, when the setting data SET1 [0] and SET1 [1] both indicate “1”, the selection circuit 111D receives the sample values SM9 [0] to SM9 [2P− inputted to the
なお可変遅延回路111の働きについては後で詳細に説明する。
The function of the
図43はデータ拡張回路112の構成を示す図である。データ拡張回路112は、Mサイクル分のサンプル値SM10[2P−1:0]を連結して(2P×M)個(M≧2)のサンプル値SM11[2P×M−1:0]を生成し、それをクロック信号CLKのライズエッジに同期して出力する。本実施の形態では、例えばM=5とする。データ拡張回路112からは、クロック信号CLKのライズエッジに同期して、120個のサンプル値SM11[0]〜[119]が出力される。
FIG. 43 is a diagram showing the configuration of the
図43に示されるように、データ拡張回路112は、FF回路112A〜112Dを備えている。データ拡張回路112は、可変遅延回路111からのサンプル値SM10[0]〜SM10[2P−1]をそのままサンプル値SM11[2P×4]〜SM11[2P×5−1]としてそれぞれ出力する。FF回路112Aは、クロック信号CLKのライズエッジでサンプル値SM10[0]〜SM[2P−1]を保持してサンプル値SM11[2P×3]〜SM11[2P×4−1]としてそれぞれ出力する。FF回路112Bは、クロック信号CLKのライズエッジでサンプル値SM11[2P×3]〜SM11[SP×4−1]を保持してサンプル値SM11[2P×2]〜SM11[2P×3−1]としてそれぞれ出力する。FF回路112Cは、クロック信号CLKのライズエッジでサンプル値SM11[2P×2]〜SM11[2P×3−1]を保持してサンプル値SM11[2P]〜SM11[2P×2−1]としてそれぞれ出力する。FF回路112Dは、クロック信号CLKのライズエッジでサンプル値SM11[2P]〜SM11[2P×2−1]を保持してサンプル値SM11[0]〜SM11[2P−1]としてそれぞれ出力する。
As shown in FIG. 43, the
このような構成を有するデータ拡張回路112では、クロック信号CLKのあるライズエッジで可変遅延回路111から出力されるサンプル値SM10[2P−1:0]がM番目の第1処理単位期間191でのサンプル値とすると、サンプル値SM11[2P×5−1:2P×4]はM番目の第1処理単位期間191でのサンプル値となり、当該ライズエッジでFF回路112Aから出力されるサンプル値SM11[2P×4−1:2P×3]は(M−1)番目の第1処理単位期間191でのサンプル値となり、当該ライズエッジでFF回路112Bから出力されるサンプル値SM11[2P×3−1:2P×2]は(M−2)番目の第1処理単位期間191でのサンプル値となる。また、当該ライズエッジでFF回路112Cから出力されるサンプル値SM11[2P×2−1:2P]は(M−3)番目の第1処理単位期間191でのサンプル値となり、当該ライズエッジでFF回路112Dから出力されるサンプル値SM11[2P−1:0]は(M−4)番目の第1処理単位期間191でのサンプル値となる。したがって、この場合には、(M−4)番目の第1処理単位期間191からM番目の第1処理単位期間191から成る5サイクル分の間の間、データストローブ信号DQSを(2P×5)回サンプリングして得られたサンプル値SM11[0]〜SM11[2P×5−1]が当該ライズエッジに同期してデータ拡張回路112から出力される。つまり、クロック信号CLKのライズエッジに同期してデータ拡張回路112から出力される(2P×M)個のサンプル値SM11[0]〜SM11[2P×M−1]は、Mサイクル分の期間の間において、データストローブ信号DQSを(2P×M)回サンプリングして得られる値となる。サンプル値SM11[0]〜SM11[2P×5−1]のサンプリングのタイミングはこの順で早くなっている。本実施の形態では、後述するように、サンプル値SM11[0]〜SM11[2P×5−1]から、データストローブ信号DQSのエッジを検出するために使用する複数のサンプル値を選択する。以後、サンプル値SM11[2P×5−1:0]を「選択対象単位」と呼ぶことがある。また上記のMサイクル分の期間を「第2処理単位期間192」と呼ぶ。選択対象単位は、第2処理単位期間192の間、データストローブ信号DQSをサンプルリングして得られた複数のサンプル値である。第2処理単位期間192の長さは第1処理単位期間191の長さのM倍となっている。
In the
そして、データ拡張回路112は、クロック信号CLKの次のライズエッジで、可変遅延回路111から(M+1)番目の第1処理単位期間191でのサンプル値SM10[2P−1:0]が出力されると、(M−3)番目の第1処理単位期間191から(M+1)番目の第1処理単位期間191から成る第2処理単位期間192での(2P×M)個のサンプル値SM11[0]〜SM11[2P×5−1]を出力する。
Then, the
このように、選択対象単位保持回路110は、第2処理単位期間192を1サイクルずつずらしながら、第2処理単位期間192での(2P×5)個のサンプル値SM11[2P×M−1:0]を保持し、当該サンプル値SM11[2P×M−1:0]を選択対象単位として出力している。選択対象単位保持回路110は、第2処理単位期間192ごとに、当該第2処理単位期間192において得られたサンプル値SM11[2P×M−1:0]を選択対象単位として出力する。
In this manner, the selection target
図44は、第1処理単位期間191と第2処理単位期間192とデータストローブ信号DQSの関係の一例を示す図である。図44には、(M−4)番目の第1処理単位期間191から(M+1)番目の第1処理単位期間191が示されている。また(L−4)番目の第2処理単位期間192から(L+1)番目の第2処理単位期間192が示されている。
FIG. 44 is a diagram illustrating an example of the relationship between the first
<処理単位決定回路>
図45は処理単位決定回路120の構成を示す図である。図45に示されるように、処理単位決定回路120はグリッジ除去回路121及び決定回路123を備えている。図46はグリッジ除去回路121の構成を示す図である。グリッジ除去回路121は、選択対象単位(サンプル値SM11[2P×M−1:0])に含まれるグリッジを除去する回路である。図46に示されるように、グリッジ除去回路121は、(2P×M−2)個の除去回路122−1〜122−(2P×M−2)を備えている。除去回路122−1〜122−(2P×M−2)の回路構成は互いに同じである。除去回路122−z(1≦z≦2P×M−2)には、選択対象単位保持回路110からのサンプル値SM11[z−1],SM11[z],SM11[z+1]が入力される。図47は除去回路122−zの構成を示す図である。
<Processing unit determination circuit>
FIG. 45 is a diagram showing the configuration of the processing
図47に示されるように、除去回路122−zは、AND回路122A、OR回路122B及び選択回路122Cを備えている。AND回路122Aはサンプル値SM11[z−1],SM11[z+1]の論理積を演算して出力する。OR回路122Bはサンプル値SM11[z−1],SM11[z+1]の論理和を演算して出力する。選択回路122Cは、サンプル値SM11[z]が“0”のときAND回路122Aの出力をサンプル値SM12[z]として出力する。一方で、選択回路122Cは、サンプル値SM11[z]が“1”のときOR回路122Bの出力をサンプル値SM12[z]として出力する。
As shown in FIG. 47, the removal circuit 122-z includes an AND
このような構成を有する除去回路122−zは、注目するzビット目のサンプル値SM11[z]の論理値が、その前後のビット位置のサンプル値SM11[z−1],SM11[z+1]の論理値のそれぞれと異なる場合には、論理値を反転したサンプル値SM11[z]をサンプル値SM12[z]として出力する。そして、注目するzビット目のサンプル値SM11[z]の論理値が、その前後のビット位置のサンプル値SM11[z−1],SM11[z+1]の論理値の少なくとも一方と一致する場合には、当該サンプル値SM11[z]をそのままサンプル値SM12[z]として出力する。 In the removal circuit 122-z having such a configuration, the logical value of the sample value SM11 [z] of the noticed z-th bit is the sample value SM11 [z-1], SM11 [z + 1] at the bit positions before and after that. If different from each of the logical values, the sample value SM11 [z] obtained by inverting the logical value is output as the sample value SM12 [z]. When the logical value of the sample value SM11 [z] of the z-th bit of interest matches at least one of the logical values of the sample values SM11 [z−1] and SM11 [z + 1] at the previous and subsequent bit positions The sample value SM11 [z] is output as it is as the sample value SM12 [z].
例えば、サンプル値SM11[z−1],SM11[z],SM11[z+1]の論理値がそれぞれ“1”、“0”、“1”の場合には、“0”の反転の“1”を示すサンプル値SM12[z]が出力される。またサンプル値SM11[z−1],SM11[z],SM11[z+1]の論理値がそれぞれ“0”、“1”、“0”の場合には、“1”の反転の“0”を示すサンプル値SM12[z]が出力される。またサンプル値SM11[z−1],SM11[z],SM11[z+1]の論理値がそれぞれ“1”、“1”、“1”の場合には、“1”を示すサンプル値SM12[z]が出力される。またサンプル値SM11[z−1],SM11[z],SM11[z+1]の論理値がそれぞれ“1”、“0”、“0”の場合には、“0”を示すサンプル値SM12[z]が出力される。 For example, when the logical values of the sample values SM11 [z−1], SM11 [z], and SM11 [z + 1] are “1”, “0”, and “1”, respectively, “1” is an inversion of “0”. Is output as a sample value SM12 [z]. If the logical values of the sample values SM11 [z−1], SM11 [z], and SM11 [z + 1] are “0”, “1”, and “0”, respectively, “0” that is the inversion of “1” is set. The indicated sample value SM12 [z] is output. When the sample values SM11 [z−1], SM11 [z], and SM11 [z + 1] are “1”, “1”, and “1”, respectively, the sample value SM12 [z indicating “1” is used. ] Is output. When the sample values SM11 [z−1], SM11 [z], and SM11 [z + 1] have logical values “1”, “0”, and “0”, respectively, the sample value SM12 [z that indicates “0”. ] Is output.
上記の説明から理解できるように、グリッジ除去回路121では、サンプル値SM11[0]に対応するサンプル値SM12[0]と、サンプル値SM11[2P×M−1]に対応するサンプル値SM12[2P×M−1]は生成されない。したがって、グリッジ除去回路121は、入力されたサンプル値SM11[2P×M−1:0]よりも2個少ない数のサンプル値SM12[2P×M−2:1]を出力する。グリッジ除去回路121から出力されるサンプル値SM12[2P×M−2:1]は、グリッジが除去された選択対象単位となる。なお、グリッジ除去回路121については後で再度説明する。
As can be understood from the above description, in the
図48は決定回路123の構成を示す図である。図48に示されるように、決定回路123は、Y個の選択回路124−0〜124−(Y−1)と、Y個のFF回路125−0〜125−(Y−1)とを備えている。ここで、Y=3×P+1である。本実施の形態ではP=12であることから、Y=37となる。
FIG. 48 is a diagram showing the configuration of the
FF回路125−0〜125−(Y−1)のそれぞれは、クロック信号CLKのライズエッジで、制御回路30からの設定データSET2[X−1:0]を保持して出力する。
Each of the FF circuits 125-0 to 125- (Y-1) holds and outputs the setting data SET2 [X-1: 0] from the
選択回路124−j(0≦j≦Y−1)のQ個の入力端子IN0〜IN(Q−1)には、Q個のサンプル値SM12[j+1]〜SM12[j+Q]がそれぞれ入力される。ここで、Q=2P×M−2−(Y−1)である。本実施の形態では、P=12、M=5、Y=37であることから、Q=82である。選択回路124−jは、FF回路125−jから出力される設定データSET2[X−1:0]に応じて、入力されるQ個のサンプル値SM12[j+1]〜SM12[j+Q]のうちの一つを選択してサンプル値SM13[j]として出力する。 Q sample values SM12 [j + 1] to SM12 [j + Q] are respectively input to Q input terminals IN0 to IN (Q-1) of the selection circuit 124-j (0 ≦ j ≦ Y−1). . Here, Q = 2P × M-2- (Y-1). In this embodiment, since P = 12, M = 5, and Y = 37, Q = 82. The selection circuit 124-j, among the Q sample values SM12 [j + 1] to SM12 [j + Q] input, according to the setting data SET2 [X-1: 0] output from the FF circuit 125-j. One is selected and output as a sample value SM13 [j].
設定データSET2[X−1:0]のビット数Xは、(Q−1)を二進数表記した際のビット数と一致する。本実施の形態では、(Q−1)=82であることから、これを二数表記すると“1010001”となる。よって、X=7となる。 The number of bits X of the setting data SET2 [X-1: 0] matches the number of bits when (Q-1) is expressed in binary. In the present embodiment, since (Q−1) = 82, this is represented as “1010001” when expressed in two. Therefore, X = 7.
選択回路124−jは、入力されるXビットの設定データSET2[X−1:0]が示す値がi(0≦i≦Q−1)であるとき、サンプル値SM12[j+1]〜SM12[j+Q]のうち、入力端子INiに入力される値を選択してサンプル値SM13[j]として出力する。 When the value indicated by the input X-bit setting data SET2 [X-1: 0] is i (0 ≦ i ≦ Q−1), the selection circuit 124-j outputs sample values SM12 [j + 1] to SM12 [ Of j + Q], a value input to the input terminal INi is selected and output as a sample value SM13 [j].
このような構成を有する決定回路123では、設定データSET2[X−1:0]に応じて、(2P×M−2)ビットのサンプル値SM12[2P×M−2:1](選択対象単位)から、ビット位置が連続するYビットのサンプル値SM12[α]〜SM12[α+Y−1]が選択され、それぞれSM13[0]〜SM13[Y−1]として出力される。ここでαは、1≦α≦2P×M−2−(Y−1)である。
In the
後段のエッジ検出回路130は、決定回路123から出力されるYビットのサンプル値SM13[Y−1:0]をエッジ検出単位とし、当該エッジ検出単位に基づいてデータストローブ信号DQSのライズエッジ及びフォールエッジを検出する。エッジ検出単位は、ライズエッジの検出で使用されるライズエッジ検出単位と、フォールエッジの検出で使用されるフォールエッジ検出単位とに分けられる。
The subsequent
このように、処理単位決定回路120は、クロック信号CLKのあるライズエッジで入力される選択対象単位からエッジ検出単位を選択して出力する。そして、処理単位決定回路120は、クロック信号CLKの次のライズエッジで入力される次の選択対象単位からエッジ検出単位を選択して出力する。つまり、処理単位決定回路120は、選択対象単位ごとに、当該選択対象単位からエッジ検出単位を選択して出力する。言い換えれば、処理単位決定回路120は、選択対象単位ごとに、当該選択対象単位からライズエッジ検出単位及びフォールエッジ検出単位を選択して出力している。
As described above, the processing
<エッジ検出回路>
図49はエッジ検出回路130の構成を示す図である。図49に示されるように、エッジ検出回路130は、データストローブ信号DQSのライズエッジを検出するライズエッジ検出回路131と、データストローブ信号DQSのフォールエッジを検出するフォールエッジ検出回路133とを備えている。
<Edge detection circuit>
FIG. 49 is a diagram showing the configuration of the
ライズエッジ検出回路131は、処理単位決定回路120からのサンプル値SM13[3P+1−1:0](SM13[Y−1:0])のうち、下位側の(2P+1)個のサンプル値SM13[2P+1−1:0]をライズエッジ検出単位として、当該ライズエッジ検出単位に基づいて、データストローブ信号DQSのライズエッジを検出する。そしてライズエッジ検出回路131は、データストローブ信号DQSのライズエッジの検出結果をライズエッジデータREG[2P−1:0]として出力する。
The rise
一方で、フォールエッジ検出回路133は、処理単位決定回路120からのサンプル値SM13[3P+1−1:0]のうち、上位側の(2P+1)個のサンプル値SM13[3P+1−1:P]をフォールエッジ検出単位として、当該フォールエッジ検出単位に基づいて、データストローブ信号DQSのフォールエッジを検出する。そしてフォールエッジ検出回路133は、データストローブ信号DQSのフォールエッジの検出結果をフォールエッジデータFEG[2P−1:0]として出力する。
On the other hand, the fall
図50はエッジ検出単位EGU、ライズエッジ検出単位REGU及びフォールエッジ検出単位FEGUの関係を示す図である。図50には、エッジ検出単位EGUを構成するサンプル値SM13[3P:0]が得られたサンプリング期間193と、当該エッジ検出単位EGUに含まれるライズエッジ検出単位REGUを構成するサンプル値SM13[2P:0]が得られたサンプリング期間193Rと、当該エッジ検出単位EGUに含まれるフォールエッジ検出単位FEGUを構成するサンプル値SM13[3P:P]が得られたサンプリング期間193Fも示されている。
FIG. 50 is a diagram illustrating a relationship among the edge detection unit EGU, the rise edge detection unit REGU, and the fall edge detection unit FEGU. FIG. 50 shows a
図51はライズエッジ検出回路131の構成を示す図である。図51に示されるように、ライズエッジ検出回路131は、2P個のAND回路132−0〜132−(2P−1)を備えている。AND回路132−k(0≦k≦2P−1)は、サンプル値SM13[k]の反転値とサンプル値SM13[k+1]の論理積を求めて、その結果をライズエッジデータREG[k]として出力する。
FIG. 51 is a diagram showing the configuration of the rise
ライズエッジ検出回路131からは、ライズエッジデータREG[0]〜REG[2P−1]が出力される。あるサンプリング期間193Rでのサンプル値SM13[0]〜SM13[2P]に基づいて生成されたライズエッジデータREG[0]〜[2P−1]では、当該サンプリング期間193Rにおいてデータストローブ信号DQSのライズエッジが現れるタイミングに応じたデータが“1”を示す。例えば、データストローブ信号DQSにおいて、あるサンプリング期間193Rの始点からサンプリング周期8個分後のタイミングの近傍でライズエッジが存在する場合には、当該サンプリング期間193Rでのサンプル値SM13[0]〜SM13[2P]に基づいて生成されたライズエッジデータREG[0]〜[2P−1]ではライズエッジデータREG[7]が“1”を示す。よって、ライズエッジデータREG[2P−1:0]を見れば、1サイクル分のある期間(当該ライズエッジデータREG[2P−1:0]の元になるライズエッジ検出単位が得られたサンプリング期間)において、データストローブ信号DQSのライズエッジが現れるタイミングを特定することができる。以後、当該1サイクル分のある期間を「ライズエッジ検出期間」と呼ぶ。
The rise
図52はフォールエッジ検出回路133の構成を示す図である。図52に示されるように、フォールエッジ検出回路133は、2P個のAND回路134−0〜134−(2P−1)を備えている。AND回路134−kは、サンプル値SM13[P+k]とサンプル値SM13[P+k+1]の反転値との論理積を求めて、その結果をフォールエッジデータFEG[k]として出力する。
FIG. 52 is a diagram showing the configuration of the fall
フォールエッジ検出回路133からは、フォールエッジデータFEG[0]〜FEG[2P−1]が出力される。あるサンプリング期間193Fでのサンプル値SM13[P]〜SM13[3P]に基づいて生成されたフォールエッジデータFEG[0]〜FEG[2P−1]では、当該サンプリング期間193Fにおいてデータストローブ信号DQSのフォールエッジが現れるタイミングに応じたデータが“1”を示す。よって、フォールエッジデータFEG[2P−1:0]を見れば、1サイクル分のある期間(当該フォールエッジデータFEG[2P−1:0]の元になるフォールエッジ検出単位が得られたサンプリング期間)において、データストローブ信号DQSのフォールエッジが現れるタイミングを特定することができる。以後、当該1サイクル分のある期間を「フォールエッジ検出期間」と呼ぶ。
The fall
このようにライズエッジ検出回路131は、クロック信号CLKのあるライズエッジでライズエッジ検出単位が入力されると、当該ライズエッジ検出単位に基づいてデータストローブ信号DQSのライズエッジを検出する。そして、ライズエッジ検出回路131は、クロック信号CLKの次のライズエッジで次のライズエッジ検出単位が入力されると、当該次のライズエッジ検出単位に基づいてデータストローブ信号DQSのライズエッジを検出する。つまり、ライズエッジ検出回路131は、処理単位決定回路120が決定するライズエッジ検出単位ごとに、当該ライズエッジ検出単位に基づいてデータストローブ信号のライズエッジを検出する。同様に、フォールエッジ検出回路133は、処理単位決定回路120が決定するフォールエッジ検出単位ごとに、当該フォールエッジ検出単位に基づいてデータストローブ信号のフォールエッジを検出する。
As described above, when a rise edge detection unit is input at a certain rise edge of the clock signal CLK, the rise
以上のように、DQSエッジ検出回路10は、クロック信号CLKのライズエッジに同期して、ライズエッジ検出期間(図50のサンプリング期間193R)でのデータストローブ信号DQSのライズエッジのタイミングを示すライズエッジデータREG[2P−1:0]と、当該ライズエッジ検出期間よりも半サイクル分後方にずれたフォールエッジ検出期間(図50のサンプリング期間193F)でのデータストローブ信号DQSのフォールエッジのタイミングを示すフォールエッジデータFEG[2P−1:0]とを出力する。
As described above, the DQS
<RD取得回路>
次にRD取得回路20−[y]について、DQSエッジ検出回路10との相違点を中心に説明する。
<RD acquisition circuit>
Next, the RD acquisition circuit 20- [y] will be described focusing on differences from the DQS
オーバーサンプリング回路200は、オーバーサンプリング回路100と同様にして、データ信号DQ[y]をオーバーサンプリングする。オーバーサンプリング回路200からは、クロック信号CLKのライズエッジに同期して、データ信号DQ[y]についての1サイクル分のサンプル値SM19[P−1:0]が出力される。
Similar to the
図53は選択対象単位保持回路210の構成を示す図である。図53に示されるように、選択対象単位保持回路210は、選択対象単位保持回路110の可変遅延回路111と同じ回路構成を有する可変遅延回路211と、選択対象単位保持回路110のデータ拡張回路112と同じ回路構成を有するデータ拡張回路212とを備えている。
FIG. 53 is a diagram showing a configuration of the selection target
可変遅延回路211は、可変遅延回路111と同様に、制御回路30からRD取得回路20−yに入力される設定データSET11−y[1:0]に応じて、オーバーサンプリング回路200からのサンプル値SM19[2P−1:0]をそのまま出力したり、遅延させて出力したりすることができる。また可変遅延回路211は、サンプル値SM19[2P−1:0]を遅延させて出力する際には、設定データSET11−y[1:0]に応じて、その遅延量を変化させることができる。可変遅延回路211からはサンプル値SM20[2P−1:0]が出力される。
Similar to the
データ拡張回路212は、データ拡張回路112と同様に、Mサイクル分のサンプル値SM20[2P−1:0]を連結して(2P×M)個のサンプル値SM21[2P×M−1:0]を生成し、それをクロック信号CLKのライズエッジに同期して出力する。データ拡張回路211から出力されるサンプル値SM21[2P×M−1:0]は、RD取得回路20−yでの選択対象単位となる。
Similarly to the
図54は処理単位決定回路220の構成を示す図である。図54に示されるように、処理単位決定回路220は、処理単位決定回路120のグリッジ除去回路121と同じ回路構成を有するグリッジ除去回路221と、処理単位決定回路120の決定回路123と同じ回路構成を有する決定回路223とを備えている。
FIG. 54 is a diagram showing a configuration of the processing
グリッジ除去回路221は、グリッジ除去回路121と同様に、選択対象単位、つまりサンプル値SM21[2P×M−1:0]に含まれるグリッジを除去する。グリッジ除去回路221は、入力されたサンプル値SM21[2P×M−1:0]よりも2個少ない数のサンプル値SM22[2P×M−2:1]を出力する。グリッジ除去回路121から出力されるサンプル値SM22[2P×M−2:1]は、グリッジが除去された選択対象単位となる。
Similar to the
決定回路223は、決定回路123と同様に、制御回路30からRD取得回路20−yに入力される設定データSET12−y[X−1:0]に応じて、(2P×M−2)ビットのサンプル値SM22[2P×M−2:1](選択対象単位)から、ビット位置が連続するY(=3P+1)ビットのサンプル値SM22[α]〜SM22[α+Y−1]を選択し、それぞれサンプル値SM23[0]〜SM23[Y−1]として出力する。決定回路223からは、サンプル値SM23[3P+1−1:0]が出力される。
Similar to the
図55はエッジ検出回路230の構成を示す図である。図55に示されるように、エッジ検出回路230は、エッジ検出回路130のライズエッジ検出回路131と同じ回路構成を有するライズエッジ検出回路231と、エッジ検出回路130のフォールエッジ検出回路133と同じ回路構成を有するフォールエッジ検出回路233とを備えている。
FIG. 55 is a diagram showing the configuration of the
ライズエッジ検出回路231は、ライズエッジ検出回路131と同様に、処理単位決定回路220からのサンプル値SM23[3P+1−1:0]のうち、下位側の(2P+1)個のサンプル値SM23[2P+1−1:0]をライズエッジ検出単位として、当該ライズエッジ検出単位に基づいて、データ信号DQ[y]のライズエッジを検出する。そしてライズエッジ検出回路231は、データ信号DQ[y]のライズエッジの検出結果をライズエッジデータREG−y[2P−1:0]として出力する。
Similarly to the rise
一方で、フォールエッジ検出回路233は、フォールエッジ検出回路133と同様に、処理単位決定回路220からのサンプル値SM13[3P+1−1:0]のうち、上位側の(2P+1)個のサンプル値SM13[3P+1−1:P]をフォールエッジ検出単位として、当該フォールエッジ検出単位に基づいて、データ信号DQ[y]のフォールエッジを検出する。そしてフォールエッジ検出回路233は、データ信号DQ[y]のフォールエッジの検出結果をフォールエッジデータFEG−y[2P−1:0]として出力する。
On the other hand, the fall
図56はデータ取得回路240の構成を示す図である。処理単位決定回路220が出力するサンプル値SM23[3P−1:0]は、データ取得単位を構成しており、そのうちの下位側の2P個のサンプル値SM23[2P−1:0]はライズ側データ取得単位を構成し、そのうちの上位側の2P個のサンプル値SM23[3P−1:P]はフォール側データ取得単位を構成している。処理単位決定回路220は、選択対象単位からライズ側データ取得単位及びフォール側データ取得単位を決定していると言える。
FIG. 56 is a diagram showing the configuration of the
データ取得回路240は、ライズ側データ取得回路241及びフォール側データ取得回路244を備えている。ライズ側データ取得回路241は、サンプル値SM23[2P−1:0]から成るライズ側データ取得単位と、DQSエッジ検出回路10からの2P個のライズエッジデータREG[2P−1:0]とに基づいて、データ信号DQ[y]が示す、データストローブ信号DQSのライズエッジに対応するリードデータRDを取得して出力する。一方で、フォール側データ取得回路244は、サンプル値SM23[3P−1:P]から成るフォール側データ取得単位と、DQSエッジ検出回路10からの2P個のフォールエッジデータFEG[2P−1:0]とに基づいて、データ信号DQ[y]が示す、データストローブ信号DQSのフォールエッジに対応するリードデータRDを取得して出力する。
The
以後、ライズ側データ取得単位を構成するサンプル値SM23[0]〜SM23[2P−1]を、それぞれサンプル値SMR[0]〜SMR[2P−1]と呼ぶ。また、フォール側データ取得単位を構成するサンプル値SM23[2P]〜SM23[3P−1]を、それぞれサンプル値SMF[0]〜SMF[2P−1]と呼ぶ。 Hereinafter, the sample values SM23 [0] to SM23 [2P-1] constituting the rise side data acquisition unit are referred to as sample values SMR [0] to SMR [2P-1], respectively. Also, sample values SM23 [2P] to SM23 [3P-1] constituting the fall side data acquisition unit are referred to as sample values SMF [0] to SMF [2P-1], respectively.
図57はライズ側データ取得回路241を示す図である。図57に示されるように、ライズ側データ取得回路241は、2P個のAND回路241−0〜241−(2P−1)とOR回路243とを備えている。AND回路242−kは、サンプル値SMR[k]とライズエッジデータREG[k]との論理積を演算し、その演算結果を出力値ANDR[k]として出力する。OR回路243は、2P個のAND回路242−0〜242−(2P−1)がそれぞれ出力する出力値ANDR[0]〜ANDR[2P−1]の論理和を演算し、その結果をライズ側出力データDQoutR[y]として出力する。RD取得回路20−yは、ライズ側出力データDQoutR[y]を、データ信号DQ[y]が示す、データストローブ信号DQSのライズエッジに対応するリードデータRDとして出力する。
FIG. 57 is a diagram showing the rise side
このような構成を有するライズ側データ取得回路241では、クロック信号CLKのあるライズエッジで入力されるライズエッジデータREG[0]〜REG[2P−1]のうちのライズエッジデータREG[k]だけが“1”を示す場合には、当該ライズエッジで入力されるライズ側データ取得単位を構成するサンプル値SMR[2P−1:0]のうち、当該ライズエッジデータREG[k]と同じビット位置のサンプル値SMR[k]が、データ信号DQ[y]が示す、データストローブ信号DQSのライズエッジに応じたリードデータRDとして取得される。言い換えれば、ライズ側データ取得回路241では、ライズ側データ処理単位を構成するサンプル値SMR[2P−1:0]のうち、当該ライズ側データ処理単位と同じタイミングで得られたライズエッジ検出単位に基づいてライズエッジ検出回路131が検出したライズエッジのタイミングと同じタイミングのサンプル値SMR[k]が、データ信号DQ[y]が示す、データストローブ信号DQSのライズエッジに応じたリードデータRDとして取得される。
In the rise side
図58はフォール側データ取得回路244を示す図である。図58に示されるように、フォール側データ取得回路244は、2P個のAND回路245−0〜245−(2P−1)とOR回路246とを備えている。AND回路245−kは、サンプル値SMF23[k]とフォールエッジデータFEG[k]との論理積を演算し、その演算結果を出力値ANDF[k]として出力する。OR回路246は、2P個のAND回路245−0〜245−(2P−1)がそれぞれ出力する出力値ANDF[0]〜ANDF[2P−1]の論理和を演算し、その結果をフォール側出力データDQoutF[y]として出力する。RD取得回路20−yは、フォール側出力データDQoutF[y]を、データ信号DQ[y]が示す、データストローブ信号DQSのフォールエッジに対応するリードデータRDとして出力する。
FIG. 58 is a diagram showing the fall side
このような構成を有するフォール側データ取得回路244では、ライズ側データ取得回路241と同様に、クロック信号CLKのあるライズエッジで入力されるフォールエッジデータFEG[0]〜REG[2P−1]のうちのフォールエッジデータFEG[k]だけが“1”を示す場合には、当該ライズエッジで入力されるフォール側データ取得単位を構成するサンプル値SMF[2P−1:0]のうち、当該フォールエッジデータFEG[k]と同じビット位置のサンプル値SMF[k]が、データ信号DQ[y]が示す、データストローブ信号DQSのフォールエッジに対応するリードデータRDとして取得される。
In the fall side
ここで、DQSエッジ検出回路10に入力される設定データSET1[1:0]及び設定データSET2[X−1:0]と、RD取得回路20−yに入力される設定データSET11−y[1:0]及び設定データSET12−y[X−1:0]とがそれぞれ同じ値である場合を考える。この場合には、ライズ側データ取得回路241に対してクロック信号CLKのあるライズエッジに同期して入力されるライズエッジデータREG[2P−1:0]及びサンプル値SMR[2P−1:0]に関して、図59に示されるように、当該ライズエッジデータREG[2P−1:0]に対応するライズエッジ検出期間195と、当該サンプル値SMR[2P−1:0]が得られたサンプリング期間196とは一致する。したがって、この場合には、サンプル値SMR[2P−1:0]のうち、“1”を示すライズエッジデータREG[k]と同じビット位置のサンプル値SMR[k]は、データ信号DQ[y]が示す、ライズエッジ検出期間195でのライズエッジregに応じたリードデータRD0の値を示さない可能性が高い。言い換えれば、ライズエッジデータREG[2P−1:0]が示す、ライズエッジ検出期間195でのライズエッジregのタイミングRETMが、サンプル値SMR[2P−1:0]が示す、サンプルリング期間196でのリードデータRD0の範囲RDARから外れる可能性が高くなり、当該タイミングRETMと同じタイミングのサンプル値SMR[k]が当該リードデータRD0の値を示さない可能性が高い。
Here, setting data SET1 [1: 0] and setting data SET2 [X-1: 0] input to the DQS
そこで、本実施の形態では、ライズ側データ取得回路241に対してクロック信号CLKのあるライズエッジに同期して入力されるライズエッジデータREG[2P−1:0]及びサンプル値SMR[2P−1:0]に関して、図60に示されるように、当該ライズエッジデータREG[2P−1:0]における、“1”を示すライズエッジデータREG[k]のビット位置が、当該サンプル値SMR[2P−1:0]における、リードデータRD0を示す複数のサンプル値の中央のサンプル値のビット位置付近に位置するように、設定データSET1[1:0],SET2[X−1:0]と設定データSET11−y[1:0],SET12−y[X−1:0]とが制御回路30で調整される。これにより、サンプル値SMR[2P−1:0]のうち、“1”を示すライズエッジデータREG[k]と同じビット位置のサンプル値SMR[k]は、データ信号DQ[y]が示す、ライズエッジ検出期間195でのライズエッジregに応じたリードデータRD0の値を示す可能性が高くなる。
Therefore, in the present embodiment, rise edge data REG [2P-1: 0] and sample value SMR [2P-1] that are input to the rise side
言い換えれば、本実施の形態では、ライズエッジ検出期間195とサンプルリング期間196を同じタイミングで見た場合において、ライズエッジデータREG[2P−1:0]が示す、ライズエッジ検出期間195でのライズエッジregのタイミングRETMが、サンプル値SMR[2P−1:0]が示す、サンプルリング期間196でのリードデータRD0の範囲RDARの中央付近に位置するように、設定データSET1[1:0],SET2[X−1:0]と設定データSET11−y[1:0],SET12−y[X−1:0]とが制御回路30で調整される。つまり、ライズエッジデータREG[2P−1:0]が示す、ライズエッジregについてのライズエッジ検出期間195での相対的な位置と、サンプル値SMR[2P−1:0]が示す、サンプルリング期間196でのリードデータRD0の範囲RDARの中央についてのサンプルリング期間196での相対的な位置とが近似するように、設定データSET1[1:0],SET2[X−1:0]と設定データSET11−y[1:0],SET12−y[X−1:0]とが制御回路30で調整される。これにより、サンプル値SMR[2P−1:0]のうち、ライズエッジデータREG[2P−1:0]が示すライズエッジregのタイミングRETMと同じタイミングのサンプル値SMR[k]はリードデータRD0の値を示す可能性が高くなる。
In other words, in this embodiment, when the rise
なお、フォール側データ取得回路244についても同様であり、設定データSET1[1:0],SET2[X−1:0]と設定データSET11−y[1:0],SET12−y[X−1:0]とが制御回路30で適切に調整されることにより、サンプル値SMF[2P−1:0]のうち、“1”を示すフォールエッジデータFEG[k]と同じビット位置のサンプル値SMF[k]は、データ信号DQ[y]が示す、フォールエッジに応じたリードデータRDの値を示す可能性が高くなる。
The same applies to the fall-side
上記の点については後述の制御回路30の動作説明によって明らかになる。
The above point will become clear from the description of the operation of the
なお、クロック信号CLKのあるライズエッジに同期して、RD取得回路20−yのライズ側データ取得回路241に対して入力されるライズエッジデータREG[2P−1:0]及びサンプル値SMR[2P−1:0]に関して、配線遅延等によって、当該ライズエッジデータREG[2P−1:0]及び当該サンプル値SMR[2P−1:0]がライス側データ取得回路241に入力されるタイミングのずれが大きい場合には、ライス側データ取得回路241に対する両者の入力タイミングを調整するタイミング調整回路を設けても良い。具体的には、ライズ側データ取得回路241の近傍において、DQSエッジ検出回路10から出力されるライズエッジデータREG[2P−1:0]をクロック信号CLKのライズエッジで保持して出力するFF回路を設けるとともに、処理単位決定回路220から出力されるサンプル値SMR[2P−1:0]をクロック信号CLKのライズエッジで保持して出力するFF回路を設ける。これにより、ライズ側データ取得回路241に対する両者の入力タイミングのずれが小さくなる。フォールエッジデータFEG[2P−1:0]及びサンプル値SMF[2P−1:0]についても同様である。
Note that the rising edge data REG [2P-1: 0] and the sample value SMR [2P] input to the rising side
<データリード回路の動作例>
図61〜75はデータリード回路5の動作例を示す図である。図61〜64は、DQSエッジ検出回路10の選択対象単位保持回路110から出力されるサンプル値SM11[119:0]の一例を示しており、図65〜68は、RD取得回路20−yの選択対象単位保持回路210から出力されるサンプル値SM21[119:0]の一例を示している。図69はDQSエッジ検出回路10の処理単位決定回路120から出力されるサンプル値SM13[36:0]の一例を示しており、図70は、RD取得回路20−yの処理単位決定回路220から出力されるサンプル値SM23[36:0]の一例を示している。図71,72はDQSエッジ検出回路10のエッジ検出回路230から出力されるライスエッジデータREG[23:0]及びフォールエッジデータFEG[23:0]の一例をそれぞれ示している。図73はRD取得回路20−yのライズ側データ取得回路241での出力値ADNR[23:0]の一例を示し、図74はRD取得回路20−yのフォール側データ取得回路244での出力値ADNF[23:0]の一例を示している。図75はRD取得回路20−yのデータ取得回路240から出力されるライズ側出力データDQoutR[y]及びフォール側出力データDQoutF[y]の一例を示している。図65〜75での「N+0」、「N+1」等はクロック信号CLKのサイクルの番号を示している。図65〜75での「A」、「B」等はリードデータRDの値を示している。図65〜75での「X」は不定値を示している。
<Operation example of data read circuit>
61 to 75 are diagrams showing an example of the operation of the data read
図65〜75に示される例では、処理単位決定回路120は、サンプル値SM11[119:0]からサンプル値SM11[24]〜SM[60]を選択してそれぞれサンプル値SM13[0]〜SM13[36]として出力している。また、処理単位決定回路220は、サンプル値SM21[119:0]からサンプル値SM21[32]〜SM[68]を選択してそれぞれサンプル値SM23[0]〜SM23[36]として出力している。
In the example shown in FIGS. 65 to 75, the processing
本例では、図75に示されるように、クロック信号CLKの(N+1+0)サイクル目〜(N+1+3)サイクル目にRD取得回路20−yから出力されるライズ側出力データDQoutR[y]は、データ信号DQ[y]が示す、データストローブ信号DQSのライズエッジに応じたリードデータRDを適切に示している。また、クロック信号CLKの(N+1+0)サイクル目〜(N+1+2)サイクル目にRD取得回路20−yから出力されるフォール側出力データDQoutF[y]は、データ信号DQ[y]が示す、データストローブ信号DQSのフォールエッジに応じたリードデータRDを適切に示している。一方で、クロック信号CLKの(N+1+3)サイクル目にRD取得回路20−yから出力されるフォール側出力データDQoutF[y]の値は不定となっている。これは、図69に示されるように、クロック信号CLKの(N+1+3)サイクル目に処理単位決定回路120が出力するサンプル値SM13[35],SM13[36]が不定のために、図72に示されるようにフォールエッジデータFEG[23]の値が不定となっていることが原因である。
In this example, as shown in FIG. 75, the rise side output data DQoutR [y] output from the RD acquisition circuit 20-y in the (N + 1 + 0) cycle to the (N + 1 + 3) cycle of the clock signal CLK is the data signal. Read data RD corresponding to the rising edge of the data strobe signal DQS indicated by DQ [y] is appropriately shown. The fall side output data DQoutF [y] output from the RD acquisition circuit 20-y in the (N + 1 + 0) cycle to (N + 1 + 2) cycle of the clock signal CLK is a data strobe signal indicated by the data signal DQ [y]. Read data RD corresponding to the fall edge of DQS is shown appropriately. On the other hand, the value of the fall side output data DQoutF [y] output from the RD acquisition circuit 20-y in the (N + 1 + 3) cycle of the clock signal CLK is indefinite. As shown in FIG. 69, this is shown in FIG. 72 because the sample values SM13 [35] and SM13 [36] output from the processing
なお、フォールエッジ検出単位を構成するサンプル値SM13[3P:P]に対して所定のフィルタ処理を行うことによって、上記の例において、クロック信号CLKの(N+1+3)サイクル目にRD取得回路20−yから出力されるフォール側出力データDQoutF[y]は不定ではなくなり、リードデータRDの値(H)を適切に示すようになる。以下にこの点について説明する。 In the above example, the RD acquisition circuit 20-y is performed at the (N + 1 + 3) cycle of the clock signal CLK by performing predetermined filtering on the sample value SM13 [3P: P] constituting the fall edge detection unit. The fall-side output data DQoutF [y] output from is not indefinite and appropriately indicates the value (H) of the read data RD. This point will be described below.
<ポストフィルタ回路>
上述のように、リードデータRDのバースト出力が終了すると、データストローブ信号DQSの信号レベルはLowレベルに続いて不定となる(図3参照)。DQSエッジ検出回路10において、図76に示されるように、フォールエッジ検出単位を構成するサンプル値SM13[3P:P]が得られたサンプリング期間197(フォールエッジ検出期間)が、データストローブ信号DQSの信号レベルがLowレベルから不定に変化する時点を含む場合には、サンプリング期間197における、データストローブ信号DQSの信号レベルが不定の期間198でのサンプル値は不定となる。つまり、上述の図69でのクロック信号CLKの(N+1+3)サイクル目と同様に、サンプル値SM13[3P:P]においては、最上位ビットのサンプル値から下位のビットに向けて少なくとも1つのサンプル値が不定となる。図69でのクロック信号CLKの(N+1+3)サイクル目では、サンプル値SM13[36:12]において、サンプル値SM13[36]とサンプル値SM13[35]が不定となっている。
<Post filter circuit>
As described above, when the burst output of the read data RD ends, the signal level of the data strobe signal DQS becomes indefinite following the Low level (see FIG. 3). In the DQS
フォールエッジ検出単位を構成するサンプル値SM13[3P:P]において、最上位ビットのサンプル値から下位のビットに向けて複数のサンプル値が不定となると、上述の図72でのクロック信号CLKの(N+1+3)サイクル目と同様に、フォールエッジデータFEG[2P−1]においては、少なくとも最上位ビットのフォールエッジデータFEG[2P−1]の値が不定となる。つまり、フォールエッジ検出期間が、データストローブ信号DQSの信号レベルが不定の期間を含む場合には、当該フォールエッジ検出期間に対応するフォールエッジデータFEG[2P−1]においては、少なくとも最上位ビットのフォールエッジデータFEG[2P−1]の値が不定となることがある。そして、フォールエッジデータFEG[2P−1]においては、データストローブ信号DQSのフォールエッジのタイミングを示す“1”のフォールエッジデータFEG[k]も含まれる。 In the sample value SM13 [3P: P] constituting the fall edge detection unit, when a plurality of sample values become indefinite from the sample value of the most significant bit toward the lower bit, the clock signal CLK in FIG. As in the (N + 1 + 3) cycle, at least the value of the fall edge data FEG [2P-1] of the most significant bit is undefined in the fall edge data FEG [2P-1]. That is, when the fall edge detection period includes a period in which the signal level of the data strobe signal DQS is indefinite, at least the most significant bit of the fall edge data FEG [2P-1] corresponding to the fall edge detection period is included. The value of the fall edge data FEG [2P-1] may be indefinite. The fall edge data FEG [2P-1] also includes “1” fall edge data FEG [k] indicating the fall edge timing of the data strobe signal DQS.
一方で、データストローブ信号DQSの信号レベルが不定の期間を含むフォールエッジ検出期間に対応するフォールエッジデータFEG[2P−1:0]と対を成すフォール側データ取得単位を構成するサンプル値SMF[2P−1:0](サンプル値SM23[3P−1:P])では、最上位ビットのサンプル値SMF[2P−1]は、リードデータRDのバースト出力終了後の、信号レベルが不定のデータ信号DQ[y]をサンプリングした値である。つまり、最上位ビットのサンプル値SMF[2P−1]はリードデータRDを示さず、その値は不定である。上記の図70でのクロック信号CLKの(N+1+3)番目のサイクルでは、サンプル値SMF[2P−1]の最上位ビットであるサンプル値SM23[35]は不定となっている。 On the other hand, the sample value SMF [constituting the fall side data acquisition unit that forms a pair with the fall edge data FEG [2P-1: 0] corresponding to the fall edge detection period including the period when the signal level of the data strobe signal DQS is indefinite. 2P-1: 0] (sample value SM23 [3P-1: P]), the most significant bit sample value SMF [2P-1] is data whose signal level is indefinite after the burst output of the read data RD. This is a value obtained by sampling the signal DQ [y]. That is, the sample value SMF [2P-1] of the most significant bit does not indicate the read data RD, and its value is indefinite. In the (N + 1 + 3) th cycle of the clock signal CLK in FIG. 70 described above, the sample value SM23 [35], which is the most significant bit of the sample value SMF [2P-1], is undefined.
このように、フォールエッジ検出期間(サンプリング期間197)が、データストローブ信号DQSの信号レベルが不定の期間を含む場合には、当該フォールエッジ検出期間でのフォールエッジデータFEG[2P−1]においては、正しい値(リードデータRDの値)を示すサンプル値SMFに対応する、“1”を示すフォールエッジデータFEGと、値が不定のサンプル値SMFに対応する、“1”を示すフォールエッジデータFEGとが含まれることがある。フォールエッジデータFEG[2P−1]に、“1”を示すフォールエッジデータFEGが複数含まれる場合には、それらに対応する複数のサンプル値SMFのうちのいずれが正しい値を示してるかは判断することができない。したがって、上述の図75での(N+1+3)サイクル目のように、フォール側出力データDQoutF[y]は不定となる。 Thus, when the fall edge detection period (sampling period 197) includes a period in which the signal level of the data strobe signal DQS is indefinite, in the fall edge data FEG [2P-1] in the fall edge detection period, The fall edge data FEG indicating “1” corresponding to the sample value SMF indicating the correct value (value of the read data RD) and the fall edge data FEG indicating “1” corresponding to the sample value SMF whose value is indefinite. May be included. When the fall edge data FEG [2P-1] includes a plurality of fall edge data FEG indicating “1”, it is determined which one of the plurality of sample values SMF corresponding to the fall edge data FEG indicates the correct value. Can not do it. Therefore, as in the (N + 1 + 3) cycle in FIG. 75 described above, the fall side output data DQoutF [y] is indefinite.
そこで、フォールエッジデータFEG[2P−1:0]を最下位ビットから上位のビットに向けて見ていった際に、最初に“1”を示すデータが現れたビット位置よりも後方(上位側)のビット位置から最後のビット位置(最上位のビット位置)までのデータをすべて“0”とするフィルタ処理を当該フォールエッジデータFEG[2P−1:0]に対して行う。ビット位置はサンプリングタイミングに対応することから、フォールエッジデータFEG[2P−1:0]をサンプリングタイミングの順で見ていった際に、最初に“1”が現れるタイミングよりも後方のタイミングから最後までのデータをすべて“0”とするフィルタ処理を当該フォールエッジデータFEG[2P−1:0]に対して行う。これにより、フォールエッジ検出期間が、リードデータRDの出力後に現れる、データストローブ信号DQSの信号レベルが不定の期間を含む場合であっても、当該フォールエッジ検出期間でのフォールエッジデータFEG[2P−1]においては、値が不定のサンプル値SMFに対応するフォールエッジデータFEGの値が“0”となる。よって、フォール側出力データDQoutF[y]が不定となることを抑制できる。その結果、リードデータRDを適切に取得することができる。図77はこの場合のエッジ検出回路130の構成を示す図である。図77に示されるエッジ検出回路130は、フォールエッジ検出回路133の後段に、上記フィルタ処理を行うポストフィルタ回路135を有している。図78は、ポストフィルタ回路135の構成を示す図である。
Therefore, when the fall edge data FEG [2P-1: 0] is viewed from the least significant bit toward the higher order bit, it is behind (upper side) the bit position where the data indicating “1” first appears. ) Is performed on the fall edge data FEG [2P-1: 0] so that all the data from the bit position to the last bit position (the most significant bit position) is “0”. Since the bit position corresponds to the sampling timing, when the fall edge data FEG [2P-1: 0] is viewed in the order of the sampling timing, the last bit from the timing later than the timing at which “1” first appears. Filter processing for setting all the data up to “0” to the fall edge data FEG [2P-1: 0]. Thereby, even if the fall edge detection period includes a period in which the signal level of the data strobe signal DQS appears after the output of the read data RD, the fall edge data FEG [2P− in the fall edge detection period is included. 1], the value of the fall edge data FEG corresponding to the sample value SMF whose value is indefinite is “0”. Therefore, it can suppress that fall side output data DQoutF [y] becomes indefinite. As a result, the read data RD can be acquired appropriately. FIG. 77 is a diagram showing a configuration of the
図78に示されるように、ポストフィルタ回路135は、OR回路136A〜136J,137A〜137E,138A〜138Dと、AND回路139A〜139Eとを備えている。OR回路136AにはフォールエッジデータFEG[0],FEG[1]が入力され、OR回路136BにはフォールエッジデータFEG[2],FEG[3]が入力される、OR回路136CにはフォールエッジデータFEG[4],FEG[5]が入力され、OR回路136DにはフォールエッジデータFEG[6],FEG[7]が入力される。OR回路136EにはフォールエッジデータFEG[8],FEG[9]が入力され、OR回路136FにはフォールエッジデータFEG[10],FEG[11]が入力される。OR回路136GにはフォールエッジデータFEG[12],FEG[13]が入力され、OR回路136HにはフォールエッジデータFEG[14],FEG[15]が入力される。OR回路136IにはフォールエッジデータFEG[16],FEG[17]が入力され、OR回路136JにはフォールエッジデータFEG[18],FEG[19]が入力される。
As shown in FIG. 78, the
OR回路137AにはOR回路136A,136Bの出力が入力され、OR回路137BにはOR回路136C,136Dの出力が入力される。OR回路137CにはOR回路136E,136Fの出力が入力され、OR回路137DにはOR回路136G,136Hの出力が入力される。OR回路137EにはOR回路136I,136Jの出力が入力される。
The outputs of the
OR回路138AにはOR回路137A,137Bの出力が入力され、OR回路138BにはOR回路138Aの出力とOR回路137Cの出力が入力される。OR回路138CにはOR回路138Bの出力とOR回路137Dの出力が入力され、OR回路138DにはOR回路138Cの出力とOR回路137Eの出力が入力される。OR回路136A〜136J,137A〜137E,138A〜138Dのそれぞれは、入力された2つのデータの論理和を演算して出力する。
The outputs of the
ポストフィルタ回路135は、フォールエッジデータFEG[0]〜FEG[3]をそのままフォールエッジデータFEG1[0]〜FEG1[3]としてそれぞれ出力する。
The
AND回路139Aは、OR回路137Aの出力が“0”のときフォールエッジデータFEG[4]〜FEG[7]をそれぞれフォールエッジデータFEG1[4]〜FEG1[7]として出力し、OR回路137Aの出力が“1”のときすべてが“0”のフォールエッジデータFEG1[4]〜FEG1[7]を出力する。
The AND
AND回路139Bは、OR回路138Aの出力が“0”のときフォールエッジデータFEG[8]〜FEG[11]をそれぞれフォールエッジデータFEG1[8]〜FEG1[11]として出力し、OR回路138Aの出力が“1”のときすべてが“0”のフォールエッジデータFEG1[8]〜FEG1[11]を出力する。
The AND
AND回路139Cは、OR回路138Bの出力が“0”のときフォールエッジデータFEG[12]〜FEG[15]をそれぞれフォールエッジデータFEG1[12]〜FEG1[15]として出力し、OR回路138Bの出力が“1”のときすべてが“0”のフォールエッジデータFEG1[12]〜FEG1[15]を出力する。
The AND circuit 139C outputs the fall edge data FEG [12] to FEG [15] as the fall edge data FEG1 [12] to FEG1 [15] when the output of the
AND回路139Dは、OR回路138Cの出力が“0”のときフォールエッジデータFEG[16]〜FEG[19]をそれぞれフォールエッジデータFEG1[16]〜FEG1[19]として出力し、OR回路138Cの出力が“1”のときすべてが“0”のフォールエッジデータFEG1[16]〜FEG1[19]を出力する。 The AND circuit 139D outputs the fall edge data FEG [16] to FEG [19] as the fall edge data FEG1 [16] to FEG1 [19] when the output of the OR circuit 138C is “0”, and the OR circuit 138C When the output is "1", all fall edge data FEG1 [16] to FEG1 [19] are output.
AND回路139Eは、OR回路138Dの出力が“0”のときフォールエッジデータFEG[20]〜FEG[23]をそれぞれフォールエッジデータFEG1[20]〜FEG1[23]として出力し、OR回路138Dの出力が“1”のときすべてが“0”のフォールエッジデータFEG1[20]〜FEG1[23]を出力する。
The AND
ポストフィルタ回路135から出力されるフォールエッジデータFEG1[23:0](フォールエッジデータFEG1[2P−1:0])は、RD取得回路20−yのフォール側データ取得回路244に入力される。
The fall edge data FEG1 [23: 0] (fall edge data FEG1 [2P-1: 0]) output from the
このような構成を有するポストフィルタ回路135は 24ビットのフォールエッジデータFEG[0」〜[23]を4ビット単位で処理する。ここで、フォールエッジデータFEG[0」〜[23]において、ビット位置が連続する4つのフォールエッジデータFEGを1つのグループとし、フォールエッジデータFEG[0」〜[23]が6つのグループで構成されていると考える。例えば、フォールエッジデータFEG[0]〜[3]で1つのグループが構成され、フォールエッジデータFEG[4]〜[7]で1つのグループが構成される。
The
ポストフィルタ回路135では、フォールエッジデータFEG[2P−1:0」を最下位ビットから上位のビットに向けて見ていった際に、最初に“1”を示すフォールエッジデータFEGが属するグループよりも後方(上位ビット側)のグループに属するすべてのフォールエッジデータFEGを“0”として出力する。
In the
例えば、フォールエッジデータFEG[2P−1:0」を最下位ビットから上位のビットに向けて見ていった際に最初にフォールエッジデータFEG[1」が“1”を示す場合には、フォールエッジデータFEG[4]〜FEG[23]の値が強制的に“0”となり、ポストフィルタ回路135からは、フォールエッジデータFEG[0」〜FEG[3]がそのままフォールエッジデータFEG1[0」〜FEG1[3]としてそれぞれ出力され、“0”を示すフォールエッジデータFEG1[4]〜FEG1[23]が出力される。
For example, when the fall edge data FEG [2P-1: 0] is viewed from the least significant bit toward the upper bit, and the fall edge data FEG [1] first indicates “1”, The values of the edge data FEG [4] to FEG [23] are forcibly set to “0”. From the
また、フォールエッジデータFEG[2P−1:0」を最下位ビットから上位のビットに向けて見ていった際に最初にフォールエッジデータFEG[9」が“1”を示す場合には、フォールエッジデータFEG[12]〜FEG[23]の値が強制的に“0”となり、ポストフィルタ回路135からは、フォールエッジデータFEG[0」〜FEG[11]がそのままフォールエッジデータFEG1[0」〜FEG1[11]としてそれぞれ出力され、“0”を示すフォールエッジデータFEG1[12]〜FEG1[23]が出力される。
In addition, when the fall edge data FEG [2P-1: 0] is viewed from the least significant bit toward the upper bit, and the fall edge data FEG [9] first indicates “1”, the fall edge data FEG [2P−1: 0] The values of the edge data FEG [12] to FEG [23] are forcibly set to “0”, and the fall edge data FEG [0] to FEG [11] are directly output from the
このようなポストフィルタ回路135をフォールエッジ検出回路133の後段に配置した場合には、上記の動作例では、図74での(N+1+3)サイクル目の出力値ANDF[23]が不定ではなく“0”となる。したがて、図75での(N+1+3)サイクル目でのフォール側出力データDQoutF[y]はリードデータRDの“H”を示すようになる。
When such a
なお上記の例では、ポストフィルタ回路135は フォールエッジデータFEG[0」〜[23]を4ビット単位で処理していたが、3ビット単位、2ビット単位、1ビット単位等で処理しても良い。
In the above example, the
<グリッジ除去回路>
上述の図7に示されるように、本実施の形態では、データストローブ信号DQSをFF回路(フリップフロップ)を使用してサンプリングしていることから、FF回路へのデータ入力がセットアップタイムあるいはホールドタイムを満足しない場合には、サンプル値が不定となる。そして、サンプリング周波数が高くなると、得られた複数のサンプル値にグリッジが現れることがある。以下にこの点について説明する。
<Gridge removal circuit>
As shown in FIG. 7 described above, in this embodiment, since the data strobe signal DQS is sampled using an FF circuit (flip-flop), the data input to the FF circuit is set up or set up. If not satisfied, the sample value becomes indefinite. When the sampling frequency is increased, glitches may appear in the obtained plurality of sample values. This point will be described below.
図79はデータストローブ信号DQSと、それをサンプルリングするサンプリングタイミングとの関係を示す図である。図79には、複数のサンプリングタイミングSMT0〜SMT7が示されている。 FIG. 79 is a diagram showing the relationship between the data strobe signal DQS and the sampling timing for sampling it. FIG. 79 shows a plurality of sampling timings SMT0 to SMT7.
サンプリング周波数が高くなり、図79に示されるように、FF回路のセットアップタイムSUT及びホールドタイムHTを足し合わせた値よりもサンプリング周期SMPが小さくなると、データストローブ信号DQSのエッジ付近の複数のサンプリングタイミングでそれぞれ得られた複数のサンプル値が不定となる。 As shown in FIG. 79, when the sampling frequency SMP becomes smaller than the value obtained by adding the setup time SUT and hold time HT of the FF circuit, the sampling timings near the edge of the data strobe signal DQS are increased. A plurality of sample values respectively obtained in the above are indefinite.
図79の例では、サンプリングタイミングSMT3,SMT4で得られた2つのサンプル値が不定となる。図79の例において、サンプリングタイミングSMT3,SMT4で得られた2つのサンプル値がそれぞれ“1”、“0”を示す場合には、サンプリングタイミングSMT0〜SMT7で得られた8ビットのサンプル値は、理想的には“00001111”であるものの、実際には“00010111”となり、前後の値とは異なる値、つまりグリッジ(パルス状のノイズ)が発生する。したがって、FF回路のセットアップタイムSUT及びホールドタイムHTを足し合わせた値よりもデータストローブ信号DQSについてのサンプリング周期SMPが小さい場合には、オーバーサンプリング回路100から出力されるサンプル値SM9[2P−1:0]にはグリッジが発生する。サンプル値SM9[2P−1:0]にグリッジが発生する場合には、選択対象単位保持回路110から出力されるサンプル値SM11[2P×M−1:0]にもグリッジが発生する。そして、サンプル値SM11[2P×M−1:0]にグリッジが発生すると、処理単位決定回路120から出力されるサンプル値SM13[3P:0]にもグリッジが発生する。
In the example of FIG. 79, two sample values obtained at sampling timings SMT3 and SMT4 are indefinite. In the example of FIG. 79, when the two sample values obtained at the sampling timings SMT3 and SMT4 indicate “1” and “0”, respectively, the 8-bit sample values obtained at the sampling timings SMT0 to SMT7 are Although it is ideally “00001111”, it is actually “00010111”, and a value different from the previous and subsequent values, that is, a glitch (pulse-like noise) is generated. Therefore, when the sampling period SMP for the data strobe signal DQS is smaller than the value obtained by adding the setup time SUT and the hold time HT of the FF circuit, the sample value SM9 [2P-1: 0] causes a glitch. When a glitch occurs in the sample value SM9 [2P-1: 0], a glitch also occurs in the sample value SM11 [2P × M-1: 0] output from the selection target
サンプル値SM13[3P:0]にグリッジが発生すると、RD取得回路20−yは適切にリードデータRDを得ることができないことがある。この点について図80を用いて説明する。 When a glitch occurs in the sample value SM13 [3P: 0], the RD acquisition circuit 20-y may not be able to obtain the read data RD appropriately. This point will be described with reference to FIG.
例えば図80に示されるようなライズエッジ検出期間195でのライズエッジデータREG[2P−1:0]を考える。このライズエッジデータREG[2P−1:0]では、ライズエッジ検出期間195でのデータストローブ信号DQSのライズエッジregのタイミングに応じたビット位置のライズエッジデータREG[k1]の値が“1”となる。また、ライズエッジデータREG[2P−1:0]の元になるサンプル値SM13[2P:0]にグリッジが含まれているために、ライズエッジ検出期間195でのデータストローブ信号DQSのフォールエッジfegのタイミングに応じたビット位置のライズエッジデータREG[k2]の値が“1”になっているとする。
For example, consider the rise edge data REG [2P-1: 0] in the rise
ライズ側データ取得回路241が、このようなライズエッジデータREG[2P−1:0]と比較するサンプル値SMR[2P−1:0]では、ライズエッジregのタイミングに応じたビット位置のライズエッジデータREG[k1]と同じビット位置のサンプル値SMR[k1]は、当該ライズエッジregに応じたリードデータRD2の値を示す。一方で、当該サンプル値SMR[2P−1:0]では、フォールエッジfegのタイミングに応じたビット位置のライズエッジデータREG[k2]と同じビット位置のサンプル値SMR[k2]は、当該フォールエッジfegに応じたリードデータRD3の値を示す。つまり、ライズエッジデータREG[2P−1:0]には、正しい値(リードデータRD2の値)を示すサンプル値SMRに対応する、“1”を示すライズエッジデータREGと、正しくない値(リードデータRD3の値)を示すサンプル値SMRに対応する、“1”を示すライズエッジデータREGとが含まれることになる。ライズエッジデータREG[2P−1]に、“1”を示すライズエッジデータREGが複数含まれる場合には、それらに対応する複数のサンプル値SMRのうちのいずれが正しい値を示しているかは判断することができない。したがって、ライズ側出力データDQoutR[y]は不定となり、適切にリードデータRDを取得できない。
In the sample value SMR [2P-1: 0] that the rise side
上述の処理単位決定回路120に設けられたグリッジ除去回路121は、サンプル値SM11[2P×M−1:0]に含まれるグリッジを除去することができることから、サンプル値SM13[3P:0]にはグリッジが含まることを抑制することができる。よって、RD取得回路20−yは適切にリードデータRDを取得することができる。
The
上述のように、グリッジ除去回路121の除去回路122−zは、注目するzビット目のサンプル値SM11[z]の論理値が、その前後のビット位置のサンプル値SM11[z−1],SM11[z+1]の論理値のそれぞれと異なる場合には、論理値を反転したサンプル値SM11[z]をサンプル値SM12[z]として出力する。したがって、図79の例において、グリッジである、サンプリングタイミングSMT3のサンプル値“1”が、サンプル値SM11[z]である場合には、サンプル値SM12[z]は“0”となりグリッジが除去されて、理想的な“00001111”が得られる。
As described above, the removal circuit 122-z of the
<制御回路>
図81は制御回路30の構成を示す図である。制御回路30は、クロック信号CLKに同期して動作する。制御回路30は、DQSエッジ検出回路10に入力する設定データSET1[1:0],SET2[X−1:0]と、RD取得回路20−0〜20−7にそれぞれ入力する設定データSET11−0[1:0]〜SET11−7[1:0]〜と、RD取得回路20−0〜20−7にそれぞれ入力する設定データSET12−0[1:0]〜SET12−7[1:0]とを生成する。
<Control circuit>
FIG. 81 is a diagram showing a configuration of the
本実施の形態に係る制御装置3は、動作モードとして、記憶装置2からデータを読み出したり、記憶装置2にデータを書き込んだりするノーマルモードと、当該制御装置3及び記憶装置2に対して初期設定を行うトレーニングモードとを備えている。半導体記憶装置1が起動すると、制御装置3は、まずトレーニングモードで動作し、制御装置3及び記憶装置2に対して初期設定が完了した後に、ノーマルモードで動作する。
The
図81に示されるように、制御回路30は、上位制御回路31と、DQS遅延時間取得回路32と、DQ遅延時間取得回路33−0〜33−7と、状態検出回路34と、タイミング変化検出回路35と、DQS制御回路36と、DQ制御回路37−0〜37−7とを備えている。以下では、まず制御回路30の各回路の動作の概要を説明し、その後、各回路の動作の詳細を説明する。
As shown in FIG. 81, the
上位制御回路31は、リードコマンドRDC等を出力し、制御装置3が記憶装置2からデータを読み出す際の当該制御装置3での各種回路の制御を行う。また上位制御回路31は、ライトコマンド等を出力し、制御装置3が記憶装置2にデータを書き込む際の当該制御装置3での各種回路の制御を行う。つまり、上位制御回路31は、半導体記憶装置1の動作を統括的に管理する機能を有する。
The
DQS遅延時間取得回路32は、DQSエッジ検出回路10のエッジ検出回路130でのエッジ検出結果に基づいて、データリード回路5のリードコマンドRDCの出力から、データストローブ信号DQSのエッジについてのDQSエッジ検出回路10への入力までの遅延時間を求める。具体的には、DQS遅延時間取得回路32は、DQSエッジ検出回路10から出力されるライズエッジデータREG[2P−1:0]に基づいて、制御回路3のリードコマンドRDCの出力から、データストローブ信号DQSの最初のライズエッジについてのDQSエッジ検出回路10への入力までの遅延時間を求める。以後、当該遅延時間を「DQSエッジ遅延時間」と呼ぶ。
The DQS delay
DQ遅延時間取得回路33−0〜33−7は互いに同じ回路構成を有している。DQ遅延時間取得回路33−yは、RD取得回路20−yのエッジ検出回路230でのエッジ検出結果に基づいて、制御回路3のリードコマンドRDCの出力から、データ信号DQのエッジについてのRD取得回路20−yへの入力までの遅延時間を求める。具体的には、DQ遅延時間取得回路33−yは、RD取得回路20−yから出力されるライズエッジデータREG−y[2P−1:0]に基づいて、制御回路3のリードコマンドRDCの出力から、データ信号DQの最初のライズエッジについてのRD取得回路20−yへの入力までの遅延時間を求める。以後、当該遅延時間を「DQエッジ遅延時間」と呼ぶ。
The DQ delay time acquisition circuits 33-0 to 33-7 have the same circuit configuration. The DQ delay time acquisition circuit 33-y acquires RD about the edge of the data signal DQ from the output of the read command RDC of the
状態検出回路34は、データリード回路5の状態を示すリード状態信号RDnowと、データストローブ信号DQSの信号レベルの状態を示すDQS状態信号DQSvとを出力する。また状態検出回路34には、制御回路30がリードコマンドRDCを出力したときに所定時間Highレベルとなるリードコマンド出力通知信号RDCoutと、設定データSET3とが入力される。リードコマンド出力通知信号RDCout及び設定データSET3は上位制御回路31から出力される。
The
状態検出回路34は、リードコマンドRDCの出力後、データリード回路5が、記憶装置2からのバースト的なリードデータRDの取得処理を行っている間(以後、「リード処理中」と呼ぶことがある)、リード状態信号RDnowの信号レベルをHighレベルに設定する。状態検出回路34は、リードコマンド出力通知信号RDCoutと設定データSET3に基づいて、リード状態信号RDnowの信号レベルを設定する。リード状態信号RDnowは、オーバーサンプリング回路100でのデータストローブ信号DQSのプリアンプブルのサンプリングの開始から、バースト的に出力されるリードデータRDの最後のリードデータRDがデータ取得回路240から出力されるまでHighレベルを示す。
After the output of the read command RDC, the
また、状態検出回路34は、リードコマンドRDCの出力後、データストローブ信号DQSの信号レベルが不定からLowレベルに変化するタイミングから、リードデータRDのバースト出力が終了してデータストローブ信号DQSの信号レベルが不定になるタイミングまで、DQS状態信号DQSvの信号レベルをHighレベルに設定する。つまり、状態検出回路34は、データストローブ信号DQSの信号レベルが確定している間、DQS状態信号DQSvの信号レベルをHighレベルに設定する。状態検出回路34は、リードコマンド出力通知信号RDCoutと設定データSET3に基づいて、DQS状態信号DQSvの信号レベルを設定する。
Further, the
タイミング変化検出回路35は、状態検出回路34が出力するDQS状態信号DQSvがHighレベルを示す間、ライスエッジデータREG[2P−1:0]に基づいて、データストローブ信号DQSのエッジのタイミングの変化を検出する。そして、タイミング変化検出回路35は、データストローブ信号DQSのエッジのタイミングが、基準タイミングよりも遅くなった場合にはHighレベルのダウン信号Dwを出力し、早くなった場合にはHighレベルのアップ信号Upを出力する。
The timing
図82はDQS制御回路36の構成を示す図である。DQS制御回路36は、上位制御回路31から出力される設定データSET1A[1:0],SET2A[X−1:0]を、タイミング検出回路35からのアップ信号Up及びダウン信号Dwに基づいて調整して、それぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。
FIG. 82 is a diagram showing the configuration of the
DQS制御回路36は、設定データ調整回路360,361及び選択回路362を備えている。設定データ調整回路360は、上位制御回路31からのノーマルイネーブル信号ENnmがHighレベルのとき、上位制御回路31からの設定データSET1A[1:0],SET2A[X−1:0]を、タイミング変化検出回路35からのアップ信号Up及びダウン信号Dwに基づいて調整し、それぞれ設定データSET1B[1:0],SET2B[X−1:0]として出力する。上位制御回路31は、制御装置3がノーマルモードで動作するときにはノーマルイネーブル信号ENnmをHighレベルに設定し、制御装置3がトレーニングモードで動作するときにはノーマルイネーブル信号ENnmをLowレベルに設定する。
The
設定データ調整回路361は、アップデイトイネーブル信号ENupdがLowレベルになると、設定データ調整回路360からの設定データSET1B[1:0],SET2B[X−1:0]を保持する。設定データ調整回路361は、アップデイトイネーブル信号ENupdがLowレベルの間、保持した設定データSET1B[1:0]をそのまま設定データSET1C[1:0]として出力する。また設定データ調整回路361は、アップデイトイネーブル信号ENupdがLowレベルの間、保持した設定データSET2B[X−1:0]をアップ信号Up及びダウン信号Dwに基づいて調整して設定データSET2C[X−1:0]として出力する。アップデイトイネーブル信号ENupdは、リード状態信号RDnowがHighレベルになるとLowレベルとなり、リード状態信号RDnowがLowレベルになるとHighレベルとなる。アップデイトイネーブル信号ENupdは選択回路362から出力される。
The setting
選択回路362には、上位制御回路31からの設定データSET1A[1:0],SET2A[X−1:0]と、設定データ調整回路360からの設定データSET1B[1:0],SET2B[X−1:0]と、設定データ調整回路361からの設定データSET1C[1:0],SET2C[X−1:0]とが入力される。
The
選択回路362は、ノーマルイネーブル信号ENnmがLowレベルのとき、設定データSET1A[1:0],SET2A[X−1:0]を選択して、それぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。
When the normal enable signal ENnm is at the low level, the
選択回路362は、ノーマルイネーブル信号ENnmがHighレベルであって、リード状態信号RDnowがLowレベルのとき、設定データSET1B[1:0],SET2B[X−1:0]を選択して、それぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。
The
選択回路362は、ノーマルイネーブル信号ENnmがHighレベルであって、リード状態信号RDnowがHighレベルのとき、設定データSET1C[1:0],SET2C[X−1:0]を選択して、それぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。
The
選択回路362から出力される設定データSET1[1:0],SET2[X−1:0]は、DQSエッジ検出回路10の選択対象単位保持回路110及び処理単位決定回路120にそれぞれ入力される。
Setting data SET1 [1: 0] and SET2 [X-1: 0] output from the
DQ制御回路37−0〜37−7は互いに同じ回路構成を有している。図83はDQ制御回路37−yの構成を示す図である。DQ制御回路37−yは、上位制御回路31から出力される設定データSET11A−y[1:0],SET12A−y[X−1:0]を、タイミング検出回路35のアップ信号Up及びダウン信号Dwに基づいて調整して、それぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力する。
The DQ control circuits 37-0 to 37-7 have the same circuit configuration. FIG. 83 is a diagram showing a configuration of the DQ control circuit 37-y. The DQ control circuit 37-y uses the setting data SET11A-y [1: 0] and SET12A-y [X-1: 0] output from the
DQ制御回路37−yは、設定データ調整回路370,371及び選択回路372を備えている。設定データ調整回路370は、ノーマルイネーブル信号ENnmがHighレベルのとき、上位制御回路31からの設定データSET11A−y[1:0],SET12A−y[X−1:0]を、タイミング変化検出回路35からのアップ信号Up及びダウン信号Dwに基づいて調整し、それぞれ設定データSET11B−y[1:0],SET12B−y[X−1:0]として出力する。
The DQ control circuit 37-y includes setting
設定データ調整回路371は、アップデイトイネーブル信号ENupd−yがLowレベルになると、設定データ調整回路370からの設定データSET11B−y[1:0],SET12B−y[X−1:0]を保持する。設定データ調整回路371は、アップデイトイネーブル信号ENupd−yがLowレベルの間、保持した設定データSET11B−y[1:0]をそのまま設定データSET11C−y[1:0]として出力する。また設定データ調整回路371は、アップデイトイネーブル信号ENupd−yがLowレベルの間、保持した設定データSET12B−y[X−1:0]をアップ信号Up及びダウン信号Dwに基づいて調整して設定データSET12C−y[X−1:0]として出力する。アップデイトイネーブル信号ENupd−yは、リード状態信号RDnowがHighレベルになるとLowレベルとなり、リード状態信号RDnowがLowレベルになるとHighレベルとなる、アップデイトイネーブル信号ENupd−yは選択回路372から出力される。
When the update enable signal ENupd-y becomes a low level, the setting
選択回路372には、上位制御回路31からの設定データSET11A−y[1:0],SET12A−y[X−1:0]と、設定データ調整回路370からの設定データSET11B−y[1:0],SET12B−y[X−1:0]と、設定データ調整回路371からの設定データSET11C−y[1:0],SET12C−y[X−1:0]とが入力される。
The
選択回路372は、ノーマルイネーブル信号ENnmがLowレベルのとき、設定データSET11A−y[1:0],SET12A−y[X−1:0]を選択して、それぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力する。
When the normal enable signal ENnm is at the low level, the
選択回路372は、ノーマルイネーブル信号ENnmがHighレベルであって、リード状態信号RDnowがLowレベルのとき、設定データSET11B−y[1:0],SET12B−y[X−1:0]を選択して、それぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力する。
The
選択回路372は、ノーマルイネーブル信号ENnmがHighレベルであって、リード状態信号RDnowがHighレベルのとき、設定データSET11C−y[1:0],SET12C−y[X−1:0]を選択して、それぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力する。
The
選択回路372から出力される設定データSET11−y[1:0],SET12−y[X−1:0]は、RD取得回路20−yの選択対象単位保持回路210及び処理単位決定回路220にそれぞれ入力される。
The setting data SET11-y [1: 0] and SET12-y [X-1: 0] output from the
次にトレーニングモード及びノーマルモードでの制御回路30の動作を説明することによって、制御回路30の各回路の動作を詳細に説明する。
Next, the operation of each circuit of the
<トレーニングモード>
図84はトレーニングモードでの制御回路30の動作を示す図である。図84に示されるように、ステップs1において、上位制御回路31はノーマルイネーブル信号ENnmをLowレベルに設定して、制御装置3の動作モードをノーマルモードからトレーニングモードに変化する。
<Training mode>
FIG. 84 shows the operation of the
ここで、ノーマルイネーブル信号ENnmがLowレベルに設定されると、上位制御回路31からは、設定データSET1A[1:0],SET2A[X−1:0]の初期値が出力される。ノーマルイネーブル信号ENnmがLowレベルのとき、DQS制御回路36の選択回路362からは設定データSET1A,SET2A[X−1:0]がそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力されることから、DQSエッジ検出回路10の選択対象単位保持回路110及び処理単位決定回路120には、それぞれ設定データSET1A[1:0],SET2A[X−1:0]の初期値が入力される。以後、設定データSET1A[1:0]の初期値を「設定データSET1[1:0]の初期値」と呼び、設定データSET2A[X−1:0]の初期値を「設定データSET2[X−1:0]の初期値」と呼ぶ。
Here, when the normal enable signal ENnm is set to the Low level, the
また、ノーマルイネーブル信号ENnmがLowレベルに設定されると、上位制御回路31からは、設定データSET11A−0[1:0]〜SET11A−7[1:0]及び設定データSET12A−0[X−1:0]〜SET12A−7[X−1:0]の初期値が出力される。ノーマルイネーブル信号ENnmがLowレベルのとき、DQ制御回路37−yの選択回路372からは設定データSET11A−y[1:0]及び設定データSET12A−y[X−1:0]がそれぞれ設定データSET11−y[1:0]及び設定データSET12−y[X−1:0]として出力されることから、RD取得回路20−yの選択対象単位保持回路210及び処理単位決定回路220には、それぞれ設定データSET11A−y[1:0]及び設定データSET12A−y[X−1:0]の初期値が入力される。以後、設定データSET11A−y[1:0]の初期値を「設定データSET11−y[1:0]の初期値」と呼び、設定データSET12A−y[X−1:0]の初期値を「設定データSET12−y[X−1:0]の初期値」と呼ぶ。
When the normal enable signal ENnm is set to the Low level, the
次にステップs2において、上位制御回路31は記憶装置2を初期化する。次にステップs3において、上位制御回路31は、制御装置3と記憶装置2との間のデータストローブ線DQSL及びデータ線DQL[0]〜DQL[7]のそれぞれを、数百Ω〜1kΩ程度の抵抗を用いて弱くプルダウンする。これにより、データストローブ信号DQSの信号レベルが不定からLowレベルとなり、データ線DQ[0]〜DQ[7]の信号レベルが不定からLowレベルとなる。
Next, in step s2, the
次にステップs4において、上位制御回路31は、記憶装置2の動作モードを、DDR3等で規定されているMPR(Multi-Purpose Register)モードに設定する。次にステップs5において、上位制御回路31は、DQS遅延時間取得回路32及びDQ遅延時間取得回路33−0〜33−7のそれぞれを初期化する。次にステップs6において、上位制御回路31は記憶装置2に対してリードコマンドRDCを発行する。これにより、上位制御回路31から出力されるリードコマンド出力通知信号RDCoutはHighレベルとなる。
Next, in step s4, the
次にステップs7において、DQS遅延時間取得回路32はDQSエッジ遅延時間を求め、各DQ遅延時間取得回路33−yはDQエッジ遅延時間を求める。
Next, in step s7, the DQS delay
ここで、記憶装置2は、MPRモードにおいて、リードコマンドRDCを受信すると、各データ線DQLに既知のバースト的なリードデータRDを出力する。このバースト的なリードデータRDの先頭のリードデータRDは“1”を示す。したがって、図85に示されるように、トレーニングモードでは、ステップs6でリードコマンドRDが発行された後、データストローブ信号DQSの最初のライズエッジに同期して、データ信号DQ[0]〜[7]のそれぞれにライズエッジが現れる。
Here, when receiving the read command RDC in the MPR mode, the
ステップs7において、DQS遅延時間取得回路32は、ライズエッジデータREG[2P−1:0]に基づいて、リードコマンド出力通知信号RDCoutがHighレベルとなってから、データストローブ信号DQSの最初のライズエッジregf1(図85参照)がDQSエッジ検出回路10に入力されるまでの時間をDQSエッジ遅延時間DTdqsとして求める。DQS遅延時間取得回路32は、ステップs6の後、“1”のライズエッジデータREGを含むライズエッジデータREG[2P−1:0]が最初に入力されると、当該ライズエッジデータREG[2P−1:0]に含まれる“1”のライズエッジデータREGのビット位置を、データストローブ信号DQSの最初のライズエッジregf1のタイミングとして使用して、DQSエッジ遅延時間DTdqsを求める。設定データSET1[1:0]及び設定データSET2[X−1:0]の初期値は既知であり、DQSエッジ検出回路10での設計上の信号遅延は既知であることから、DQS遅延時間取得回路32は、最初のライズエッジregf1を示すライズエッジデータREG[2P−1:0]に対応するライズエッジ検出期間195(図85参照)と、リードコマンドRDCの発行タイミングとの関係を特定することができる。したがって、DQS遅延時間取得回路32は、最初のライズエッジregf1を示すライズエッジデータREG[2P−1:0]に対応するライズエッジ検出期間195と、当該ライズエッジデータREG[2P−1:0]に含まれる“1”のライズエッジデータREGのビット位置とに基づいて、DQSエッジ遅延時間DTdqsを求めることができる。DQSエッジ遅延時間DTdqsは、リードコマンドRDCの出力から最初のライズエッジregf1の入力まで何サイクルと何サンプルリング期間遅れているかを示している。以後、DQSエッジ遅延時間DTdqsが示すサイクルの数を「遅延サイクル数」と呼び、DQSエッジ遅延時間DTdqsが示すサンプリング期間の数を「遅延サンプリング期間数」と呼ぶ。DQSエッジ遅延時間DTdqsは、遅延サイクル数で表される期間と、遅延サンプリング期間数で表される期間とを足し合わせたものである。遅延サンプリング期間数は「遅延位相量」とも呼ばれる。
In step s7, the DQS delay
ステップs7では、各DQ遅延時間取得回路33−yが、同様にして、DQエッジ遅延時間DTdq−y(図85参照)を求める。DQ遅延時間取得回路33−yは、ライズエッジデータREG−y[2P−1:0]に基づいて、リードコマンド出力通知信号RDCoutがHighレベルとなってから、データ信号DQ[y]の最初のライズエッジregf2(図85参照)がRD取得回路20−yに入力されるまでの時間をDQエッジ遅延時間DTdq−yとして求める。DQSエッジ遅延時間DTdqsと同様に、DQエッジ遅延時間DTdq−yは、リードコマンドRDCの出力から最初のライズエッジregf2の入力まで何サイクル(遅延サイクル数)と何サンプルリング期間(遅延サンプリング期間数)遅れているかを示している。 In step s7, each DQ delay time acquisition circuit 33-y similarly obtains a DQ edge delay time DTdq-y (see FIG. 85). Based on the rise edge data REG-y [2P-1: 0], the DQ delay time acquisition circuit 33-y starts the first data signal DQ [y] after the read command output notification signal RDCout becomes High level. The time until the rise edge regf2 (see FIG. 85) is input to the RD acquisition circuit 20-y is obtained as the DQ edge delay time DTdq-y. Similar to the DQS edge delay time DTdqs, the DQ edge delay time DTdq-y is the number of cycles (number of delay cycles) and the number of sampling periods (number of delay sampling periods) from the output of the read command RDC to the input of the first rise edge regf2. Shows if you are late.
次にステップs8において、上位制御回路31は、ステップs7での結果に基づいて、設定データSET1A[1:0],SET2A[X−1:0]の値と、設定データSET11A−0[1:0]〜SET11A−7[1:0]及び設定データSET12A−0[X−1:0]〜SET12A−7[X−1:0]の値とを調整する。調整後の設定データSET1A[1:0],SET2A[X−1:0]は、設定データSET1[1:0],SET2[X−1:0]として、DQS制御回路36からDQSエッジ検出回路10に入力される。また調整後の設定データSET11A−y[1:0],SET12A−y[X−1:0]は、DQ制御回路37−yからRD取得回路20−yに入力される。さらに、上位制御回路31は、DQS遅延時間取得回路32から出力されるDQSエッジ遅延時間DTdqsに基づいて、状態検出回路34に出力する設定データSET3を設定する。
Next, in step s8, the
ステップs8において、上位制御回路31は、ステップs7で求められたDQSエッジ遅延時間DTdqs及びDQエッジ遅延時間DTdq−0〜DTdq−7に含まれる遅延サイクル数に基づいて、設定データSET1A[1:0]及び設定データSET11A−0[1:0]〜SET11A−7[1:0]を調整する。具体的には、上位制御回路31は、クロック信号CLKのあるライズエッジにおいて、DQSエッジ検出回路10の選択対象単位保持回路110の可変遅延回路111から出力されるサンプル値SM10[2P−1:0]と、当該ライズエッジにおいてRD取得回路20−0〜20−yの選択対象単位保持回路210の可変遅延回路211から出力されるサンプル値SM20[2P−1:0]とが、クロック信号CLKの同じサイクルで記憶装置2から出力された信号のサンプル値となるように、設定データSET1A[1:0]及び設定データSET11A−0[1:0]〜SET11A−7[1:0]を調整する。つまり、上位制御回路31は、クロック信号CLKのあるライズエッジにおいて、DQSエッジ検出回路10の選択対象単位保持回路110の可変遅延回路111から出力されるサンプル値SM10[2P−1:0]と、当該ライズエッジにおいてRD取得回路20−0〜20−yの選択対象単位保持回路210の可変遅延回路211から出力されるサンプル値SM20[2P−1:0]とが、クロック信号CLKの同じサイクルで記憶装置2から出力された信号のサンプル値となるように、可変遅延回路111,211での遅延量を調整する。これにより、データストローブ信号DQS及びデータ信号DQ[0]〜DQ[7]の間でのスキューがサイクル単位で調整される。
In step s8, the
またステップs8において、上位制御回路31は、ステップs7で求められたDQSエッジ遅延時間DTdqs及びDQエッジ遅延時間DTdq−0〜DTdq−7に含まれる遅延サンプリング期間数に基づいて、設定データSET2A[X−1:0]及び設定データSET12A−0[X−1:0]〜SET12A−7[X−1:0]を調整する。
In step s8, the
具体的には、上位制御回路31は、DQSエッジ遅延時間DTdqsに含まれる遅延サンプリング期間数に基づいて、DQSエッジ検出回路10でのライズエッジ検出期間の中央付近にデータストローブ信号DQSの最初のライズエッジregf1が位置するように、設定データSET2A[X−1:0]を調整する。つまり、上位制御回路31は、DQSエッジ遅延時間DTdqsの含まれる遅延サンプリング期間数(遅延位相量)に基づいて、ライズエッジデータREG[2P−1:0]のビット位置Pあるいはビット位置(P−1)に、ライズエッジregf1を示す“1”が立つように、処理単位決定回路120が選択対象単位からライズエッジ検出単位を選択する範囲を調整する。
Specifically, the
また、上位制御回路31は、DQエッジ遅延時間DTdq−yに含まれる遅延サンプリング期間数に基づいて、RD取得回路20−yでのライズエッジ検出期間の中央から半サイクル分前方の付近にデータ信号DQ[y]の最初のライズエッジregf2が位置するように、設定データSET12A−y[X−1:0]を調整する。つまり、上位制御回路31は、DQエッジ遅延時間DTdq−yの含まれる遅延サンプリング期間数に基づいて、ライズエッジデータREG−y[2P−1:0]のビット位置Pあるいはビット位置(P−1)からP/2個前のビット位置に、ライズエッジregf2を示す“1”が立つように、処理単位決定回路220が選択対象単位からライズエッジ検出単位(ライズ側データ取得範囲)を選択する範囲を調整する。
Further, the
以上のようにして、上位制御回路31が設定データSET2A[X−1:0]を調整することによって、図86に示されるように、DQSエッジ検出回路10では、ライズエッジ検出期間195Rの中央付近にデータストローブ信号DQSのライズエッジが、フォールエッジ検出期間195Fの中央付近にデータストローブ信号DQSのフォールエッジが位置するようになる。また、以上のようにして、上位制御回路31が設定データSET12A−0[X−1:0]〜SET12A−7[X−1:0]を調整することによって、各RD取得回路20−yでは、ライズ側データ取得単位を構成するサンプル値SMR[2P−1:0]が得られるサンプリング期間196Rの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのライズエッジに対応するリードデータRDrの出力期間の中央が位置するようになり、フォール側データ取得単位を構成するサンプル値SMF[2P−1:0]が得られるサンプリング期間196Fの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのフォールエッジに対応するリードデータRDfの出力期間の中央が位置するようになる。
As described above, when the
これにより、上述の図60を用いて説明したように、ライズ側データ取得回路241に対してクロック信号CLKのあるライズエッジに同期して入力されるライズエッジデータREG[2P−1:0]及びサンプル値SMR[2P−1:0]に関して、当該ライズエッジデータREG[2P−1:0]における、“1”を示すライズエッジデータREG[k]のビット位置が、当該サンプル値SMR[2P−1:0]における、リードデータRD0を示す複数のサンプル値の中央のサンプル値のビット位置付近に位置するようになる。その結果、図60に示されるように、サンプル値SMR[2P−1:0]のうち、“1”を示すライズエッジデータREG[k]と同じビット位置のサンプル値SMR[k]は、データ信号DQ[y]が示す、ライズエッジ検出期間195でのライズエッジregに応じたリードデータRD0の値を示す可能性が高くなり、リードデータRD0の値を適切に取得することができる。同様の理由により、サンプル値SMF[2P−1:0]のうち、“1”を示すフォールエッジデータFEG[k]と同じビット位置のサンプル値SMF[k]は、データ信号DQ[y]が示す、フォールエッジに応じたリードデータRDの値を示す可能性が高くなり、当該リードデータRDの値を適切に取得することができる。
Thereby, as described with reference to FIG. 60 described above, the rise edge data REG [2P-1: 0] input in synchronization with the rise edge of the clock signal CLK to the rise side
また、以上のようにして、上位制御回路31が設定データSET2A[X−1:0]及び設定データSET12A−0[X−1:0]〜SET12A−7[X−1:0]を調整することによって、サイクル単位で調整された、データストローブ信号DQS及びデータ信号DQ[0]〜DQ[7]の間でのスキューが、サンプリング期間単位で細かく調整される。
In addition, as described above, the
ステップs8が実行されると、ステップs9において、上位制御回路31は、データストローブ線DQSL及びデータ線DQL[0]〜DQL[7]のそれぞれのプルダウンを解除する。これにより、データストローブ信号DQS及びデータ線DQ[0]〜DQ[7]の信号レベルが不定となる。
When step s8 is executed, in step s9, the
次にステップs10において、上位制御回路31は、記憶装置2のMPRモードの設定を解除し、ステップs11において、ノーマルイネーブル信号ENnmをHighレベルに設定して、制御装置3の動作モードをトレーニングモードからノーマルモードに変化する。以後、トレーニングモードでの設定データSET1A[1:0]等の調整を「初期調整」と呼ぶ。
Next, in step s10, the
<ノーマルモード>
図87〜89はDQS制御回路36の動作を示すフローチャートである。図87〜89は設定データ調整回路360、設定データ調整回路361及び選択回路362の動作をそれぞれ示している。
<Normal mode>
87 to 89 are flowcharts showing the operation of the
図89に示されるように、選択回路362は、ステップs51において、クロック信号CLKのライスエッジを検出すると、ステップs52において、ノーマルイネーブル信号ENnmがHighレベルか否かを判定する。選択回路362は、ノーマルイネーブル信号ENnmがLowレベルのときには、ステップs53において、上位制御回路31からの設定データSET1A[1:0],SET2A[X−1:0]をそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。そして、選択回路362はアップデイトイネーブル信号ENupdをLowレベルに設定する。
As shown in FIG. 89, when the
ステップs52において、ノーマルイネーブル信号ENnmがHighレベルのときには、選択回路362は、ステップs54において、リード状態信号RDnowがHighレベルか否かを判定する。リード状態信号RDnowがLowレベルのときには、ステップs55において、選択回路362は、設定データ調整回路360からの設定データSET1B[1:0],SET2B[X−1:0]をそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。そして、選択回路362はアップデイトイネーブル信号ENupdをHighレベルに設定する。
In step s52, when the normal enable signal ENnm is at the high level, the
ステップs54において、リード状態信号RDnowがHighレベルのときには、選択回路362は、ステップs56において、設定データ調整回路361からの設定データSET1C[1:0],SET2C[X−1:0]をそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。そして、選択回路362はアップデイトイネーブル信号ENupdをLowレベルに設定する。
In step s54, when the read status signal RDnow is at the high level, the
選択回路362は、クロック信号CLKのライズエッジが検出されるたびに、ステップs52以降の処理を実行する。
The
このように、選択回路362は、トレーニングモードにおいて、設定データSET1A[1:0],SET2A[X−1:0]をそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。したがって、トレーニングモードからノーマルモードに切り替わった直後においては、DQS制御回路36からは、初期調整後の設定データSET1[1:0].SET2[X−1:0]がDQSエッジ検出回路10に出力される。
As described above, the
また、選択回路362は、ノーマルモードでは、リード処理中のときには、設定データSET1B[1:0],SET2B[X−1:0]をそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力し、リード処理中ではないときには、設定データSET1C[1:0],SET2C[X−1:0]をそれぞれ設定データSET1[1:0],SET2[X−1:0]として出力する。
In the normal mode, the
また、選択回路362から出力されるアップデイトイネーブル信号ENupdはリード処理中にはLowレベルとなり、リード処理中ではないときにはHighレベルとなる。
The update enable signal ENupd output from the
次に設定データ調整回路360の動作について説明する。図87に示されるように、設定データ調整回路360は、ステップs21において、クロック信号CLKのライスエッジを検出すると、ステップs22において、ノーマルイネーブル信号ENnmがHighレベルか否かを判定する。設定データ調整回路360は、ノーマルイネーブル信号ENnmがLowレベルのときには、ステップs23において、上位制御回路31からの設定データSET1A[1:0],SET2A[X−1:0]をそれぞれ設定データSET1B[1:0],SET2B[X−1:0]とし、ステップs32において、設定データSET1B[1:0],SET2B[X−1:0]を出力する。したがって、トレーニングモードにおいては、設定データSET1B[1:0]=設定データSET1A[1:0]となり、設定データSET2B[X−1:0]=設定データSET2A[X−1:0]となる。
Next, the operation of the setting
一方で、ステップs22において、ノーマルイネーブル信号ENnmがHighレベルのとき、つまりノーマルモードにおいては、設定データ調整回路360は、タイミング変化検出回路35からのアップ信号UpがHighレベルか否かを判定する。アップ信号UpがLowレベルのときには、設定データ調整回路360は、ステップs26において、タイミング変化検出回路35からのダウン信号DwがHighレベルか否かを判定する。設定データ調整回路360は、ステップs24において、アップ信号UpがHighレベルのときには、ステップs25において、設定データSET2B[X−1:0]の値を1つ増加させる。そして、設定データ調整回路360はステップs26を実行する。
On the other hand, in step s22, when the normal enable signal ENnm is at the high level, that is, in the normal mode, the setting
ステップs26において、ダウン信号DwがLowレベルのときには、設定データ調整回路360はステップs28を実行する。一方で、ダウン信号DwがHighレベルのときには、設定データ調整回路360は、設定データSET2B[X−1:0]の値を1つ減少させる。
In step s26, when the down signal Dw is at the low level, the setting
ここで、タイミング変化検出回路35は、上述のように、状態検出回路34が出力するDQS状態信号DQSvがHighレベルを示す間、つまりデータストローブ信号DQSの信号レベルが確定している間、ライスエッジデータREG[2P−1:0]に基づいて、データストローブ信号DQSのエッジのタイミングの変化を検出する。具体的には、タイミング変化検出回路35は、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、中央付近のビット位置、たとえばビット位置Pからずれているか否かを判定する。これは、データストローブ信号DQSのライズエッジのタイミングが、ライズエッジ検出期間の中央付近からずれているかを判定することと等価である。
Here, as described above, the timing
タイミング変化検出回路35は、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも上位側にずれている場合には、アップ信号UpをHighレベル、ダウン信号DwをLowレベルに設定する。つまり、タイミング変化検出回路35は、データストローブ信号DQSのライズエッジのタイミングが、ライズエッジ検出期間の中央付近よりも後方にずれている場合に、アップ信号UpをHighレベル、ダウン信号DwをLowレベルに設定する。
When the bit position of the data indicating “1” in the rise edge data REG [2P−1: 0] is shifted to the upper side of the bit position P, the timing
一方で、タイミング変化検出回路35は、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも下位側にずれている場合には、アップ信号UpをLowレベル、ダウン信号DwをHighレベルに設定する。つまり、タイミング変化検出回路35は、データストローブ信号DQSのライズエッジのタイミングが、ライズエッジ検出期間の中央付近よりも前方にずれている場合に、アップ信号UpをLowレベル、ダウン信号DwをHighレベルに設定する。
On the other hand, when the bit position of the data indicating “1” in the rise edge data REG [2P-1: 0] is shifted to the lower side of the bit position P, the timing
なお、タイミング変化検出回路35は、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pと一致する場合には、アップ信号Up及びダウン信号DwをともにLowレベルに設定する。また、DQS状態信号DQSvがLowレベルのときには、タイミング変化検出回路35は、アップ信号Up及びダウン信号DwをともにLowレベルに設定する。
The timing
タイミング変化検出回路35は、クロック信号CLKのライズエッジに同期してライズエッジデータREG[2P−1:0]が入力されるたびに、上記の処理を行う。
The timing
上述のように、ステップs24においてアップ信号UpがHighレベルのときには、ステップs25において設定データSET2B[X−1:0]の値が1つ増加する。したがって、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも上位側にずれている場合には、設定データSET2B[X−1:0]の値が1つ増加する。 As described above, when the up signal Up is at the high level in step s24, the value of the setting data SET2B [X-1: 0] is increased by one in step s25. Accordingly, when the bit position of the data indicating “1” in the rise edge data REG [2P−1: 0] is shifted to the upper side of the bit position P, the setting data SET2B [X−1: 0] The value of increases by one.
またステップs26においてダウン信号UpがHighレベルのときには、ステップs27において設定データSET2B[X−1:0]の値が1つ減少する。したがって、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも下位側にずれている場合には、設定データSET2B[X−1:0]の値が1つ減少する。 When the down signal Up is at the high level in step s26, the value of the setting data SET2B [X-1: 0] is decreased by 1 in step s27. Therefore, when the bit position of the data indicating “1” in the rise edge data REG [2P−1: 0] is shifted to the lower side of the bit position P, the setting data SET2B [X−1: 0] Decreases by one.
ステップs28において、設定データ調整回路360は、設定データSET2B[X−1:0]の値が第1基準値以上であるか否かを判定する。第1基準値は、例えば、DQSエッジ回路10の選択対象単位保持回路110から出力される選択対象単位を構成するサンプル値SM11[2P×M−1:0]の個数(2P×M)から2P(1サイクル分)を差し引いて得られる値(2P×(M−1))に設定される。設定データSET2B[X−1:0]の値が第1基準値以上である場合には、設定データ調整回路360は、ステップs29において、設定データSET1B[1:0]の値を1つ増加し、設定データSET2B[X−1:0]の値を2P減少する。その後、設定データ調整回路360はステップs30を実行する。一方で、設定データSET2B[X−1:0]の値が第1基準値未満である場合には、設定データ調整回路360はステップs30を実行する。
In step s28, the setting
ステップs30では、設定データ調整回路360は、設定データSET2B[X−1:0]の値が第2基準値以上であるか否かを判定する。第2基準値は第1基準値よりも小さい値である。第2基準値は、例えば、2P(1サイクル分)に対して、エッジ検出単位を構成するSM13[Y−1:0]の個数Yを足し合わせて得られる値(2P+Y)に設定される。設定データ調整回路360は、設定データSET2B[X−1:0]が第2基準値以下の場合には、ステップs31において、設定データSET1B[1:0]の値を1つ減少し、設定データSET2B[X−1:0]の値を2P増加する。その後、設定データ調整回路360は、ステップs32を実行して、設定データSET1B[1:0],SET2B[X−1:0]を出力する。ステップs30において、設定データSET2B[X−1:0]の値が第2基準値未満である場合には、設定データ調整回路360はステップs32を実行して、設定データSET1B[1:0],SET2B[X−1:0]を出力する。
In step s30, the setting
設定データ調整回路360は、クロック信号CLKのライズエッジが検出されるたびに、ステップs22以降の処理を実行する。
The setting
このように、設定データ調整回路360は、トレーニングモードにおいて、上位制御回路31からの設定データSET1A[1:0],SET2A[X−1:0]をそれぞれ設定データSET1B[1:0],SET2B[X−1]としている。そして、設定データ調整回路360は、トレーニングモードからノーマルモードになると、アップ信号Up及びダウン信号Dwに基づいて、設定データSET1B[1:0],SET2B[X−1]を調整している。したがって、設定データ調整回路360は、ノーマルモードにおいて、初期調整後の設定データSET1B[1:0],SET2B[X−1:0]をアップ信号Up及びダウン信号Dwに基づいて調整する。
In this way, the setting
次に設定データ調整回路361の動作について説明する。図88に示されるように、設定データ調整回路361は、ステップs41において、クロック信号CLKのライスエッジを検出すると、ステップs42において、アップデイトイネーブル信号ENupdがHighレベルか否かを判定する。設定データ調整回路361は、アップデイトイネーブル信号ENupdがHighレベルのときには、つまりノーマルモードにおいてリード処理中ではないときには、ステップs43において、設定データ調整回路360からの設定データSET1B[1:0],SET2B[X−1:0]をそれぞれ設定データSET1C[1:0],SET2C[X−1:0]とし、ステップs44において、設定データSET1C[1:0],SET2C[X−1:0]を出力する。したがって、ノーマルモードにおいてリード処理中ではないときには、設定データSET1C[1:0]=設定データSET1B[1:0]となり、設定データSET2C[X−1:0]=設定データSET2B[X−1:0]となる。
Next, the operation of the setting
一方で、ステップs42において、アップデイトイネーブル信号ENupdがLowレベルのときには、つまりトレーニングモードあるいはリード処理中のときには、設定データ調整回路361は、ステップs45において、アップ信号UpがHighレベルか否かを判定する。アップ信号UpがLowレベルのときには、設定データ調整回路361は、ステップs47において、ダウン信号DwがHighレベルか否かを判定する。設定データ調整回路361は、アップ信号UpがHighレベルのときには、ステップs46において、設定データSET2C[X−1:0]の値を1つ増加させる。そして、設定データ調整回路361はステップs47を実行する。
On the other hand, when the update enable signal ENupd is at the low level in step s42, that is, during the training mode or the read process, the setting
ステップs47において、ダウン信号DwがLowレベルのときには、設定データ調整回路361はステップs44を実行して、設定データSET1C[1:0],SET2C[X−1:0]を出力する。一方で、ステップs47において、ダウン信号DwがHighレベルのときには、ステップs48において、設定データ調整回路361は、設定データSET2C[X−1:0]の値を1つ減少させる。そして、設定データ調整回路361はステップs44を実行して、設定データSET1C[1:0],SET2C[X−1:0]を出力する。
In step s47, when the down signal Dw is at the low level, the setting
設定データ調整回路361は、クロック信号CLKのライズエッジが検出されるたびに、ステップs42以降の処理を実行する。
The setting
このように、設定データ調整回路361は、ノーマルモードにおいてリード処理中ではないときには、設定データ調整回路360で調整される設定データSET1B[1:0],SET2B[X−1:0]をそれぞれ設定データSET1C[1:0],SET2C[X−1]として出力する。したがって、ノーマルモードにおいてリード処理中ではないときには、設定データ調整回路361から出力される設定データSET1C[1:0],SET2C[X−1]は、アップ信号Up及びダウン信号Dwに基づいて調整される。また、設定データ調整回路361は、リード処理中のときには、アップ信号Up及びダウン信号Dwに基づいて設定データSET2C[X−1:0]を調整するものの、設定データSET1C[1:0]は調整しない。したがって、リード処理中では、設定データ調整回路361から出力される設定データSET2C[X−1]はアップ信号Up及びダウン信号Dwに基づいて調整され、リード処理中では、リード処理中ではない状態からリード処理中に変化した際の設定データSET1B[1:0]が常に設定データSET1C[1:0]として設定データ調整回路361から出力される。
As described above, the setting
以上の説明から理解できるように、DQS制御回路36は、トレーニングモードからノーマルモードに切り替わった直後においては、DQSエッジ遅延時間DTdqsに基づいて調整された設定データSET1[1:0],SET2[X−1:0]をDQSエッジ検出回路10に出力する。そして、ノーマルモードにおいてリード処理中ではないときには、DQS制御回路36は、設定データSET1[1:0],SET2[X−1:0]の両方をアップ信号Up及びダウン信号Dwに基づいて調整する。一方で、ノーマルモードにおいてリード処理中のときには、DQS制御回路36は、設定データSET1[1:0],SET2[X−1:0]のうち設定データSET2[X−1:0]だけをアップ信号Up及びダウン信号Dwに基づいて調整する。
As can be understood from the above description, the
DQS制御回路36がこのように設定データSET2[X−1:0]を制御することによって、データストローブ信号DQSのエッジのタイミングのロングタームジッタにより、当該エッジのタイミングが徐々に変化する場合であっても、DQSエッジ検出回路10では、上述の図86に示されるように、ライズエッジ検出期間195Rの中央付近にデータストローブ信号DQSのライズエッジを、フォールエッジ検出期間195Fの中央付近にデータストローブ信号DQSのフォールエッジを位置させることができる。よって、
トレーニングモードからノーマルモードに切り替わった後に、データストローブ信号DQSのエッジのタイミングが徐々に変化したとしも、データリード回路5は、リードデータRD0の値を適切に取得することができる。以下にこの点について説明する。
This is a case where the
Even if the edge timing of the data strobe signal DQS gradually changes after switching from the training mode to the normal mode, the data read
設定データSET2[X−1:0]の値は、処理単位決定回路120の決定回路123が、選択対象単位からエッジ検出単位を選択する範囲を示している。具体的には、設定データSET2[X−1:0]の値が大きいほど、選択対象単位を構成する複数のサンプル値SM12[2P×M−2:1]のうち、上位側のサンプル値SM12[α]〜SM12[α+Y−1]がエッジ検出単位として選択される。つまり、設定データSET2[X−1:0]の値が大きいほど、選択対象単位でのエッジ検出単位の範囲が上位側に移動する。
The value of the setting data SET2 [X-1: 0] indicates a range in which the
上述の図87に示されるように、ステップs24においてアップ信号UpがHighレベルのときには、ステップs25において設定データSET2B[X−1:0]の値が1つ増加する。ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも上位側にずれている場合にアップ信号UpがHighレベルに設定されることから、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも上位側にずれている場合には、設定データSET2[X−1:0]の値が1つ増加する。設定データSET2[X−1:0]の値が1つ増加すると、選択対象単位でのエッジ検出単位の範囲が1ビットだけ上位側に移動する。つまり、選択対象単位でのライズエッジ検出単位の範囲が1ビットだけ上位側に移動する。したがって、ライズエッジデータREG[2P−1:0]において、ビット位置Pよりも上位側にずれていた“1”を示すデータのビット位置が、ビット位置Pに近づくようになる。つまり、データストローブ信号DQSのライズエッジのタイミングがライズエッジ検出期間195Rの中央付近に近づくようになる。
As shown in FIG. 87 described above, when the up signal Up is at the high level in step s24, the value of the setting data SET2B [X-1: 0] increases by one in step s25. Since the up signal Up is set to the high level when the bit position of the data indicating “1” in the rise edge data REG [2P-1: 0] is shifted to the upper side of the bit position P, the rise signal is set. When the bit position of the data indicating “1” in the edge data REG [2P−1: 0] is shifted to the upper side of the bit position P, the value of the setting data SET2 [X−1: 0] Increase by one. When the value of the setting data SET2 [X-1: 0] increases by one, the range of the edge detection unit in the selection target unit moves to the upper side by 1 bit. That is, the range of the rise edge detection unit in the selection target unit moves to the upper side by 1 bit. Therefore, in the rise edge data REG [2P-1: 0], the bit position of the data indicating “1” that has shifted to the upper side from the bit position P approaches the bit position P. That is, the rise edge timing of the data strobe signal DQS approaches the center of the rise
一方で、上述のステップs26においてダウン信号DwがHighレベルのときには、ステップs27において設定データSET2B[X−1:0]の値が1つ減少する。ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも下位側にずれている場合にダウン信号DwがHighレベルに設定されることから、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置が、ビット位置Pよりも下位側にずれている場合には、設定データSET2[X−1:0]の値が1つ減少する。設定データSET2[X−1:0]の値が1つ減少すると、選択対象単位でのエッジ検出単位の範囲が1ビットだけ下位側に移動する。つまり、選択対象単位でのライズエッジ検出単位の範囲が1ビットだけ下位側に移動する。したがって、ライズエッジデータREG[2P−1:0]において、ビット位置Pよりも下位側にずれていた“1”を示すデータのビット位置が、ビット位置Pに近づくようになる。つまり、データストローブ信号DQSのライズエッジのタイミングがライズエッジ検出期間195Rの中央付近に近づくようになる。
On the other hand, when the down signal Dw is at the high level in step s26 described above, the value of the setting data SET2B [X-1: 0] is decreased by one in step s27. Since the down signal Dw is set to the high level when the bit position of the data indicating “1” in the rise edge data REG [2P−1: 0] is shifted to the lower side than the bit position P, the rise signal When the bit position of the data indicating “1” in the edge data REG [2P-1: 0] is shifted to the lower side than the bit position P, the value of the setting data SET2 [X-1: 0] Decrease by one. When the value of the setting data SET2 [X-1: 0] decreases by 1, the range of the edge detection unit in the selection target unit moves to the lower side by 1 bit. That is, the range of the rise edge detection unit in the selection target unit moves to the lower side by 1 bit. Therefore, in the rise edge data REG [2P-1: 0], the bit position of data indicating “1” that has shifted to the lower side from the bit position P approaches the bit position P. That is, the rise edge timing of the data strobe signal DQS approaches the center of the rise
本実施の形態では、ノーマルモードにおいては、設定データSET2[X−1:0]が常にアップ信号Up及びダウン信号Dwに基づいて調整されることから、データストローブ信号DQSのエッジのタイミングが徐々に変化したとしても、ライズエッジデータREG[2P−1:0]において“1”を示すデータのビット位置を中央付近のビット位置とすることができる。よって、データストローブ信号DQSのエッジのタイミングが徐々に変化したとしても、データストローブ信号DQSのライズエッジのタイミングをライズエッジ検出期間195Rの中央付近に位置させることができる。また、フォールエッジのタイミングは、ライズエッジのタイミングと同様に変化することから、設定データSET2[X−1:0]をアップ信号Up及びダウン信号Dwに基づいて調整することによって、データストローブ信号DQSのフォールエッジのタイミングをフォールエッジ検出期間195Fの中央付近に位置させることができる。
In the present embodiment, in the normal mode, the setting data SET2 [X-1: 0] is always adjusted based on the up signal Up and the down signal Dw, so the timing of the edge of the data strobe signal DQS is gradually increased. Even if it changes, the bit position of the data indicating “1” in the rise edge data REG [2P-1: 0] can be set to the bit position near the center. Therefore, even if the edge timing of the data strobe signal DQS gradually changes, the rise edge timing of the data strobe signal DQS can be positioned near the center of the rise
特に、本実施の形態では、リード処理中に設定データSET2[X−1:0]をアップ信号Up及びダウン信号Dwに基づいて調整することから、リードコマンドRDCが連続して発行され、リードデータRDが長期間連続して読み出される場合にデータストローブ信号DQSのエッジのタイミングが変化するときであっても、データストローブ信号DQSのライズエッジ及びフォールエッジのタイミングを、ライズエッジ検出期間195R及びフォールエッジ検出期間195Fの中央付近にそれぞれ位置させることができる。よって、記憶装置2から長期間連続してリードデータRDが読み出される場合に、データストローブ信号DQSにおいてエッジ間隔が長くなったり短くなったりしたとしても、当該リードデータRDを適切に取得することができる。
In particular, in the present embodiment, since the setting data SET2 [X-1: 0] is adjusted based on the up signal Up and the down signal Dw during the read process, the read command RDC is issued continuously and the read data Even when the edge timing of the data strobe signal DQS changes when the RD is read continuously for a long period of time, the rise edge and fall edge timing of the data strobe signal DQS is changed to the rise
ここで、データストローブ信号DQSのエッジのタイミングが徐々に早くなっていき、アップ信号Upが連続してHighレベルを示すことにより、設定データSET2[X−1:0]の値が最大値である“Q−1”になってしまった後は、アップ信号UpがHighレベルを示す場合であっても、設定データSET2[X−1:0]の値を大きくすることができない。同様に、設定データSET2[X−1:0]の値が最小値である“0”になってしまった後は、ダウン信号DwがHighレベルを示す場合であっても、設定データSET2[X−1:0]の値を小さくすることができない。 Here, the edge timing of the data strobe signal DQS is gradually advanced, and the up signal Up continuously indicates a high level, whereby the value of the setting data SET2 [X-1: 0] is the maximum value. After “Q−1”, even if the up signal Up indicates a high level, the value of the setting data SET2 [X−1: 0] cannot be increased. Similarly, after the value of the setting data SET2 [X-1: 0] has reached the minimum value “0”, even if the down signal Dw indicates the high level, the setting data SET2 [X -1: 0] cannot be reduced.
このような場合には、データストローブ信号DQSのライズエッジ及びフォールエッジのタイミングが、ライズエッジ検出期間195R及びフォールエッジ検出期間195Fの中央付近から端の方へ徐々に近づいていき、比較対象リード回路900のようにリードデータRDを適切に取得できない可能性がある。
In such a case, the rise edge and fall edge timings of the data strobe signal DQS gradually approach from the center of the rise
そこで、本実施の形態では、上述のステップs28において、設定データSET2B[X−1:0]の値が第1基準値(上記の例では、2P×(M−1))以上である場合には、設定データSET1B[1:0]の値を1つ増加するとともに、設定データSET2B[X−1:0]の値を2P(1サイクル分)減少している。つまり、選択対象単位が得られるサンプリング期間である第2処理単位期間192を、設定データSET1B[1:0]の値を1つ増加しない場合よりも1サイクル分遅れさせ、かつ選択対象単位でのエッジ検出単位の範囲を1サイクル分だけ下位側に移動させている。これにより、選択対象単位でのエッジ検出単位の範囲を端の方から中央の方に移動させつつ、設定データSET1B[1:0]の値を1つ増加しない場合と同じエッジ検出単位を選択することができる。よって、アップ信号Upが連続してHighレベルを示す場合であっても、より確実に設定データSET2[X−1:0]の値を大きくすることができ、データストローブ信号DQSのライズエッジ及びフォールエッジを、ライズエッジ検出期間195R及びフォールエッジ検出期間195Fの中央付近に位置させることができる。
Therefore, in the present embodiment, when the value of the setting data SET2B [X-1: 0] is equal to or greater than the first reference value (2P × (M−1) in the above example) in step s28 described above. Increases the value of the setting data SET1B [1: 0] by 1 and decreases the value of the setting data SET2B [X-1: 0] by 2P (one cycle). That is, the second
同様に、本実施の形態では、設定データSET2B[X−1:0]の値が第2基準値(上記の例では、2P+Y)以下である場合には、設定データSET1B[1:0]の値を1つ減少するとともに、設定データSET2B[X−1:0]の値を2P(1サイクル分)増加している。つまり、選択対象単位が得られるサンプリング期間である第2処理単位期間192を、設定データSET1B[1:0]の値を1つ減少しない場合よりも1サイクル分早くし、かつ選択対象単位でのエッジ検出単位の範囲を1サイクル分だけ上位側に移動させている。これにより、選択対象単位でのエッジ検出単位の範囲を端の方から中央の方に移動させつつ、設定データSET1B[1:0]の値を1つ減少しない場合と同じエッジ検出単位を選択することができる。よって、ダウン信号Dwが連続してHighレベルを示す場合であっても、より確実に設定データSET2[X−1:0]の値を小さくすることができ、データストローブ信号DQSのライズエッジ及びフォールエッジを、ライズエッジ検出期間195R及びフォールエッジ検出期間195Fの中央付近に位置させることができる。
Similarly, in the present embodiment, when the value of the setting data SET2B [X-1: 0] is less than or equal to the second reference value (2P + Y in the above example), the setting data SET1B [1: 0] While the value is decreased by 1, the value of the setting data SET2B [X-1: 0] is increased by 2P (one cycle). That is, the second
なお、リード処理中に、設定データSET1B[1:0]の値を変化させると、バースト的に出力される各リードデータRDを適切に取得することができないことから、本実施の形態では、上述のように、設定データSET1B[1:0]の調整はリード処理中ではないときに行っている。 Note that, if the value of the setting data SET1B [1: 0] is changed during the read process, each read data RD output in a burst manner cannot be appropriately acquired. As described above, the adjustment of the setting data SET1B [1: 0] is performed when the read process is not being performed.
DQ制御回路37−yは、DQS制御回路36と同じ回路構成を有しており、DQS制御回路36と同様に動作する。DQ制御回路37−yでは、選択回路372は、選択回路362と同様に、トレーニングモードにおいて、設定データSET11A−y[1:0],SET12A−y[X−1:0]をそれぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力する。したがって、トレーニングモードからノーマルモードに切り替わった直後においては、DQ制御回路37−yからは、初期調整後の設定データSET11−y[1:0],SET12−y[X−1:0]がRD取得回路20−yに出力される。
The DQ control circuit 37-y has the same circuit configuration as the
また、選択回路372は、ノーマルモードでは、リード処理中のときには、設定データSET11B−y[1:0],SET12B−y[X−1:0]をそれぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力し、リード処理中ではないときには、設定データSET11C−y[1:0],SET12C−y[X−1:0]をそれぞれ設定データSET11−y[1:0],SET12−y[X−1:0]として出力する。
In the normal mode, the
また、選択回路372から出力されるアップデイトイネーブル信号ENupd−yはリード処理中にはLowレベルとなり、リード処理中ではないときにはHighレベルとなる。
The update enable signal ENupd-y output from the
設定データ調整回路370は、設定データ調整回路360と同様に、トレーニングモードにおいて、上位制御回路31からの設定データSET11A−y[1:0],SET12A−y[X−1:0]をそれぞれ設定データSET11B−y[1:0],SET12B−y[X−1]としている。そして、設定データ調整回路370は、トレーニングモードからノーマルモードになると、アップ信号Up及びダウン信号Dwに基づいて、設定データSET11B−y[1:0],SET12B−y[X−1]を調整している。したがって、設定データ調整回路370は、ノーマルモードにおいて、初期調整後の設定データSET11B−y[1:0],SET12B−y[X−1:0]をアップ信号Up及びダウン信号Dwに基づいて調整する。
Similar to the setting
設定データ調整回路371は、設定データ調整回路361と同様に、ノーマルモードにおいてリード処理中ではないときには、設定データ調整回路370で調整される設定データSET11B−y[1:0],SET12B−y[X−1:0]をそれぞれ設定データSET11C−y[1:0],SET12C−y[X−1]として出力する。したがって、ノーマルモードにおいてリード処理中ではないときには、設定データ調整回路371から出力される設定データSET11C−y[1:0],SET12C−y[X−1]は、アップ信号Up及びダウン信号Dwに基づいて調整される。また、設定データ調整回路371は、リード処理中のときには、アップ信号Up及びダウン信号Dwに基づいて設定データSET12C−y[X−1:0]を調整するものの、設定データSET11C−y[1:0]は調整しない。したがって、リード処理中では、設定データ調整回路371から出力される設定データSET12C−y[X−1]はアップ信号Up及びダウン信号Dwに基づいて調整され、リード処理中では、リード処理中ではない状態からリード処理中に変化した際の設定データSET11B−y[1:0]が常に設定データSET11C−y[1:0]として設定データ調整回路371から出力される。
Similar to the setting
このような構成のDQ制御回路37−yは、トレーニングモードからノーマルモードに切り替わった直後においては、DQエッジ遅延時間DTdq−yに基づいて調整された設定データSET11−y[1:0],SET12−y[X−1:0]をRD取得回路20−yに出力する。そして、ノーマルモードにおいてリード処理中ではないときには、DQ制御回路37−yは、設定データSET11−y[1:0],SET12−y[X−1:0]の両方をアップ信号Up及びダウン信号Dwに基づいて調整する。一方で、ノーマルモードにおいてリード処理中のときには、DQ制御回路37−yは、設定データSET11−y[1:0],SET12−y[X−1:0]のうち設定データSET12−y[X−1:0]だけをアップ信号Up及びダウン信号Dwに基づいて調整する。 Immediately after switching from the training mode to the normal mode, the DQ control circuit 37-y having such a configuration sets the setting data SET11-y [1: 0], SET12 adjusted based on the DQ edge delay time DTdq-y. -Y [X-1: 0] is output to the RD acquisition circuit 20-y. When the read process is not being performed in the normal mode, the DQ control circuit 37-y sends both the set data SET11-y [1: 0] and SET12-y [X-1: 0] to the up signal Up and the down signal. Adjust based on Dw. On the other hand, during the read process in the normal mode, the DQ control circuit 37-y sets the setting data SET12-y [X] among the setting data SET11-y [1: 0] and SET12-y [X-1: 0]. -1: 0] alone is adjusted based on the up signal Up and the down signal Dw.
DQS制御回路37−yがこのように設定データSET12−y[X−1:0]を制御することによって、データストローブ信号DQSのエッジのタイミングのロングタームジッタにより、当該エッジのタイミングが徐々に変化し、それに応じてリードデータRDの出力タイミングが徐々に変化する場合であっても、RD取得回路20−yでは、ライズ側データ取得単位を構成するサンプル値SMR[2P−1:0]が得られるサンプリング期間196Rの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのライズエッジに対応するリードデータRDrの出力期間の中央が位置するようになり、フォール側データ取得単位を構成するサンプル値SMF[2P−1:0]が得られるサンプリング期間196Fの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのフォールエッジに対応するリードデータRDfの出力期間の中央が位置するようになる。
As the DQS control circuit 37-y controls the setting data SET12-y [X-1: 0] in this way, the edge timing gradually changes due to the long term jitter of the edge timing of the data strobe signal DQS. Even when the output timing of the read data RD gradually changes accordingly, the RD acquisition circuit 20-y obtains the sample value SMR [2P-1: 0] constituting the rise side data acquisition unit. The center of the output period of the read data RDr corresponding to the rising edge of the data strobe signal DQS in the data signal DQ [y] is positioned near the center of the
また、DQS制御回路37−yにおいても、設定データSET12B−y[X−1:0]の値が第1基準値以上である場合には、設定データSET11B−y[1:0]の値が1つ増加するとともに、設定データSET12B−y[X−1:0]の値が2P減少する。つまり、選択対象単位が得られるサンプリング期間である第2処理単位期間を、設定データSET11B−y[1:0]の値を1つ増加しない場合よりも1サイクル分遅れさせ、かつ選択対象単位でのデータ取得単位の範囲を1サイクル分だけ下位側に移動させている。これにより、選択対象単位でのデータ取得単位の範囲を端の方から中央の方に移動させつつ、設定データSET11B−y[1:0]の値を1つ増加しない場合と同じデータ取得単位を選択することができる。よって、アップ信号Upが連続してHighレベルを示す場合であっても、設定データSET12−y[X−1:0]の値をより確実に大きくすることができる。その結果、ライズ側データ取得単位が得られるサンプリング期間196Rの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのライズエッジに対応するリードデータRDrの出力期間の中央をより確実に位置させることができる。また、フォール側データ取得単位が得られるサンプリング期間196Fの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのフォールエッジに対応するリードデータRDfの出力期間の中央をより確実に位置させることができる。
Also in the DQS control circuit 37-y, when the value of the setting data SET12B-y [X-1: 0] is equal to or greater than the first reference value, the value of the setting data SET11B-y [1: 0] As the value increases by one, the value of the setting data SET12B-y [X-1: 0] decreases by 2P. That is, the second processing unit period, which is a sampling period in which the selection target unit is obtained, is delayed by one cycle from the case where the value of the setting data SET11B-y [1: 0] is not increased by one, and the selection target unit The range of the data acquisition unit is moved to the lower side by one cycle. As a result, the same data acquisition unit as in the case where the value of the setting data SET11B-y [1: 0] is not increased by one while the range of the data acquisition unit in the selection target unit is moved from the end toward the center. You can choose. Therefore, even when the up signal Up continuously indicates a high level, the value of the setting data SET12-y [X-1: 0] can be increased more reliably. As a result, the center of the output period of the read data RDr corresponding to the rising edge of the data strobe signal DQS in the data signal DQ [y] is more reliably near the center of the
同様に、DQS制御回路37−yでは、設定データSET12B−y[X−1:0]の値が第2基準値以下である場合には、設定データSET11B−y[1:0]の値が1つ減少するとともに、設定データSET12B−y[X−1:0]の値が2P増加する。つまり、選択対象単位が得られるサンプリング期間である第2処理単位期間を、設定データSET11B−y[1:0]の値を1つ減少しない場合よりも1サイクル分早くし、かつ選択対象単位でのデータ取得単位の範囲を1サイクル分だけ上位側に移動させている。これにより、選択対象単位でのデータ取得単位の範囲を端の方から中央の方に移動させつつ、設定データSET11B−y[1:0]の値を1つ減少しない場合と同じデータ取得単位を選択することができる。よって、ダウン信号Dwが連続してHighレベルを示す場合であっても、設定データSET12−y[X−1:0]の値をより確実に小さくすることができる。その結果、ライズ側データ取得単位が得られるサンプリング期間196Rの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのライズエッジに対応するリードデータRDrの出力期間の中央をより確実に位置させることができる。また、フォール側データ取得単位が得られるサンプリング期間196Fの中央付近に、データ信号DQ[y]での、データストローブ信号DQSのフォールエッジに対応するリードデータRDfの出力期間の中央をより確実に位置させることができる。
Similarly, in the DQS control circuit 37-y, when the value of the setting data SET12B-y [X-1: 0] is equal to or smaller than the second reference value, the value of the setting data SET11B-y [1: 0] As the value decreases by one, the value of the setting data SET12B-y [X-1: 0] increases by 2P. That is, the second processing unit period, which is a sampling period in which the selection target unit is obtained, is made one cycle earlier than the case where the value of the setting data SET11B-y [1: 0] is not decreased by one, and the selection target unit The range of the data acquisition unit is moved up by one cycle. As a result, the same data acquisition unit as in the case where the value of the setting data SET11B-y [1: 0] is not decreased by one while moving the range of the data acquisition unit in the selection target unit from the end toward the center. You can choose. Therefore, even when the down signal Dw continuously indicates a high level, the value of the setting data SET12-y [X-1: 0] can be more reliably reduced. As a result, the center of the output period of the read data RDr corresponding to the rising edge of the data strobe signal DQS in the data signal DQ [y] is more reliably near the center of the
なお、上記と同様に、リード処理中に、設定データSET11B−y[1:0]の値を変化させると、バースト的に出力される各リードデータRDを適切に取得することができないことから、設定データSET11B−y[1:0]の調整はリード処理中ではないときに行っている。 As described above, if the value of the setting data SET11B-y [1: 0] is changed during the read process, each read data RD output in a burst manner cannot be appropriately acquired. The setting data SET11B-y [1: 0] is adjusted when the read process is not in progress.
以上のように、本実施の形態に係るデータリード回路5では、第2処理単位期間192においてオーバーサンプリング回路100で得られた、データストローブ信号DQSの第1所定数のサンプル値を選択対象単位として保持し、当該選択対象単位から、当該第1所定数よりも小さい第2所定数のサンプル値から成るエッジ検出単位を決定している。これにより、データストローブ信号DQSについての比較的多い数のサンプル値から、エッジを検出する際に使用する複数のサンプル値を適切に決定することができる。よって、データ信号DQが示すリードデータRDを適切に取得することができる。
As described above, in the data read
また本実施の形態では、データストローブ信号DQSのライズエッジとフォールエッジとを別々に検出していることから、ライズエッジ検出期間及びフォールエッジ検出期間を大きく設定することができる。上記の例では、1サイクル分のライズエッジ検出期間及びフォールエッジ検出期間を設定している。 In the present embodiment, since the rising edge and the falling edge of the data strobe signal DQS are detected separately, the rising edge detection period and the falling edge detection period can be set large. In the above example, a rise edge detection period and a fall edge detection period for one cycle are set.
一方で、比較対象リード回路900では、データストローブ信号DQSのライズエッジとフォールエッジとを区別せずに検出していることから、処理単位期間990は半サイクル分となり、データストローブ信号DQSのエッジが処理単位期間990の始点あるいは終点の近傍に位置しやくなる。よって、処理単位期間990においてデータストローブ信号DQSのエッジがまったく存在しない状況や、処理単位期間990においてデータストローブ信号DQSのエッジが複数存在する状況が発生しやすい。
On the other hand, since the comparison target read
本実施の形態では、データストローブ信号DQSのライズエッジとフォールエッジとを別々に検出することによって、半サイクルよりも大きいライズエッジ検出期間及びフォールエッジ検出期間を設定することができる。したがって、データストローブ信号DQSのライズエッジのタイミングが変化したとしても、当該ライズエッジがライズエッジ検出期間の始点あるいは終点の近傍に位置しにくくなり、ライズエッジ検出期間においてライズエッジがまったく存在しない状況や、複数のライズエッジが存在する状況が発生しにくくなる。同様に、データストローブ信号DQSのフォールエッジのタイミングが変化したとしても、当該フォールエッジがフォールエッジ検出期間の始点あるいは終点の近傍に位置しにくくなり、フォールエッジ検出期間においてフォールエッジがまったく存在しない状況や、複数のフォールエッジが存在する状況が発生しにくくなる。よって、リードデータRDをより適切に取得することができる。 In the present embodiment, the rise edge detection period and the fall edge detection period larger than a half cycle can be set by separately detecting the rise edge and the fall edge of the data strobe signal DQS. Therefore, even if the rise edge timing of the data strobe signal DQS changes, the rise edge is less likely to be located near the start point or end point of the rise edge detection period, and there is no rise edge in the rise edge detection period. The situation where there are a plurality of rise edges is less likely to occur. Similarly, even if the fall edge timing of the data strobe signal DQS changes, the fall edge becomes difficult to be located near the start point or end point of the fall edge detection period, and no fall edge exists in the fall edge detection period In addition, a situation where a plurality of fall edges exist is less likely to occur. Therefore, the read data RD can be acquired more appropriately.
以上のように、半導体記憶装置1は詳細に説明されたが、上記した説明は、全ての局面において例示であって、この発明がそれに限定されるものではない。また、上述した各種変形例は、相互に矛盾しない限り組み合わせて適用可能である。そして、例示されていない無数の変形例が、この発明の範囲から外れることなく想定され得るものと解される。
As described above, the
2 記憶装置
5 データリード回路
10 データストローブエッジ検出回路
20−0〜20−7 リードデータ取得回路
30 制御回路
100,200 オーバーサンプリング回路
110,210 選択対象単位保持回路
120,220 処理単位決定回路
130,230 エッジ検出回路
131,231 ライズエッジ検出回路
133,233 フォールエッジ検出回路
240 データ取得回路
241 ライズ側データ取得回路
244 フォール側データ取得回路
2
Claims (16)
前記データストローブ信号をオーバーサンプリングする第1サンプリング回路と、
クロック信号の複数サイクル分の第1単位期間ごとに、当該第1単位期間において前記第1サンプリング回路で得られた第1所定数の第1サンプル値を第1選択対象単位として保持する第1選択対象単位保持回路と、
前記第1選択対象単位ごとに、当該第1選択対象単位から、前記第1所定数よりも小さい第2所定数の第1サンプル値から成るエッジ検出単位を選択するエッジ検出単位決定回路と、
前記エッジ検出単位ごとに、当該エッジ検出単位に基づいて前記データストローブ信号のライズエッジとフォールエッジを別々に検出する第1エッジ検出回路と
を備える、データストローブエッジ検出回路。 Data strobe edge for separately detecting the rise edge and the fall edge of the data strobe signal of the data strobe line connected to the storage device when the read data is output from the storage device to the data line connected to the storage device A detection circuit,
A first sampling circuit for oversampling the data strobe signal;
First selection for holding, as a first selection target unit, a first predetermined number of first sample values obtained by the first sampling circuit in the first unit period for each first unit period of a plurality of cycles of the clock signal A target unit holding circuit;
An edge detection unit determination circuit for selecting, for each first selection target unit, an edge detection unit comprising a second predetermined number of first sample values smaller than the first predetermined number from the first selection target unit;
A first edge detection circuit for separately detecting a rise edge and a fall edge of the data strobe signal based on the edge detection unit for each edge detection unit;
A data strobe edge detection circuit comprising:
前記エッジ検出単位決定回路は、前記第1選択対象単位に含まれるグリッジを除去し、グリッジが除去された前記第1選択対象単位から前記エッジ検出単位を選択する、データストローブエッジ検出回路。 The data strobe edge detection circuit according to claim 1,
The edge detection unit determination circuit is a data strobe edge detection circuit that removes a glitch included in the first selection target unit and selects the edge detection unit from the first selection target unit from which the glitch has been removed.
前記エッジ検出単位は、前記第1所定数よりも小さい第3所定数の第1サンプル値から成るライズエッジ検出単位と、当該第3所定数の第1サンプル値から成るフォールエッジ検出単位とを含み、
前記第1エッジ検出回路は、
前記ライズエッジ検出単位ごとに、当該ライズエッジ検出単位に基づいて、前記データストローブ信号のライズエッジを検出するライズエッジ検出回路と、
前記フォールエッジ検出単位ごとに、当該フォールエッジ検出単位に基づいて、前記データストローブ信号のフォールエッジを検出するフォールエッジ検出回路と
を有する、データストローブエッジ検出回路。 A data strobe edge detection circuit according to any one of claims 1 and 2,
The edge detection unit includes a rise edge detection unit composed of a third predetermined number of first sample values smaller than the first predetermined number, and a fall edge detection unit composed of the third predetermined number of first sample values. ,
The first edge detection circuit includes:
For each rise edge detection unit, a rise edge detection circuit for detecting a rise edge of the data strobe signal based on the rise edge detection unit;
A data strobe edge detection circuit comprising, for each fall edge detection unit, a fall edge detection circuit that detects a fall edge of the data strobe signal based on the fall edge detection unit.
前記データストローブ信号では、ローレベルに続いて不定となり、
前記フォールエッジ検出回路は、前記フォールエッジ検出単位ごとに、当該フォールエッジ検出単位を構成する前記第3所定数の第1サンプル値のサンプリングタイミングにそれぞれ対応する複数のビットから成るエッジデータを生成し、
前記エッジデータでは、当該エッジデータを構成する複数のビットをサンプリングタイミングの順で見た場合に、当該エッジデータに対応する前記フォールエッジ検出単位において1”から“0”に変化するタイミングで第1論理値を示し、それ以外のタイミングで第2論理値を示し、
前記フォールエッジ検出回路は、前記エッジデータを構成する複数のビットをサンプリングタイミングの順で見た場合に、前記第1論理値が最初に現れるタイミングよりも後方のタイミングから最後までをすべて前記第2論理値とするフィルタ処理を当該エッジデータに行う、データストローブエッジ検出回路。 A data strobe edge detection circuit according to claim 3,
The data strobe signal becomes indefinite following the low level,
The fall edge detection circuit generates edge data composed of a plurality of bits corresponding to sampling timings of the third predetermined number of first sample values constituting the fall edge detection unit for each fall edge detection unit. ,
In the edge data, when a plurality of bits constituting the edge data are viewed in the order of the sampling timing, the first is the timing at which the fall edge detection unit corresponding to the edge data changes from “1” to “0”. Indicates a logical value, indicates a second logical value at other times,
When the plurality of bits constituting the edge data are viewed in the order of the sampling timing, the fall edge detection circuit is configured to perform the second to the last timing from the timing at which the first logical value first appears. A data strobe edge detection circuit that performs filtering processing on the edge data as a logical value.
前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲を調整する制御回路と
を備える、データストローブ処理回路。 A data strobe edge detection circuit according to any one of claims 1 to 4,
A data strobe processing circuit comprising: a control circuit that adjusts a range in which the edge detection unit is selected from the first selection target unit based on an edge detection result in the first edge detection circuit. .
前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングとを調整する、データストローブ処理回路。 A data strobe processing circuit according to claim 5,
The control circuit includes a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on an edge detection result in the first edge detection circuit, and the first selection target unit. A data strobe processing circuit for adjusting the timing of the first unit period in the holding circuit.
前記データストローブエッジ検出回路を制御し、前記記憶装置にリードコマンドを出力する制御回路と
を備え、
前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記リードコマンドの出力から前記データストローブ信号のエッジの入力までの遅延時間を求めて、当該遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲を調整する、データストローブ処理回路。 A data strobe edge detection circuit according to any one of claims 1 to 4,
A control circuit that controls the data strobe edge detection circuit and outputs a read command to the storage device;
The control circuit obtains a delay time from an output of the read command to an input of an edge of the data strobe signal based on an edge detection result in the first edge detection circuit, and based on the delay time, A data strobe processing circuit that adjusts a range in which an edge detection unit determination circuit selects the edge detection unit from the first selection target unit.
前記制御回路は、前記遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングとを調整する、データストローブ処理回路。 A data strobe processing circuit according to claim 7,
The control circuit includes: a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on the delay time; and the first unit in the first selection target unit holding circuit. A data strobe processing circuit that adjusts the timing of the period.
前記記憶装置に接続された前記データ線に当該記憶装置から出力される、前記データストローブ信号のライズエッジに対応するライズ側のリードデータ及び当該データストローブ信号のフォールエッジに対応するフォール側のリードデータを別々に取得するリードデータ取得回路と
を備え、
前記リードデータ取得回路は、
前記記憶装置から前記データ線にリードデータが出力される際の当該データ線のデータ信号をオーバーサンプリングする第2サンプリング回路と、
クロック信号の複数サイクル分の第2単位期間ごとに、当該第2単位期間において前記第2サンプリング回路で得られた前記第1所定数の第2サンプル値を第2選択対象単位として保持する第2選択対象単位保持回路と、
前記第2選択対象単位ごとに、当該第2選択対象単位から、前記第2所定数の第2サンプル値から成るデータ処理単位を選択するデータ処理単位決定回路と、
前記データ処理単位ごとに、当該データ処理単位に基づいて、前記データ信号が示すライズ側のリードデータ及びフォール側のリードデータを別々に取得するデータ取得回路と
を有し、
前記データ取得回路は、前記データ処理単位を構成する前記第2所定数の第2サンプル値のうち、当該データ処理単位に対応する前記エッジ検出単位に基づいて前記第1エッジ検出回路が検出したエッジのタイミングに対応する第2サンプル値を、前記データ信号が示す値として取得する、データリード回路。 A data strobe edge detection circuit according to claim 1;
Rise side read data corresponding to the rise edge of the data strobe signal and fall side read data corresponding to the fall edge of the data strobe signal output from the storage device to the data line connected to the storage device And a read data acquisition circuit that separately acquires
The read data acquisition circuit includes:
A second sampling circuit for oversampling a data signal of the data line when read data is output from the storage device to the data line;
A second unit that holds the first predetermined number of second sample values obtained by the second sampling circuit in the second unit period as a second selection target unit every second unit period of a plurality of cycles of the clock signal . A selection target unit holding circuit; and
For each of the second selection unit, from the second selection unit, a data processing unit determination circuit for selecting data processing unit comprising a second sample value of the second predetermined number,
For each of the data processing unit, and the based on the data processing unit, a data acquisition circuit for acquiring separately read data of the read data and the fall side of the rise side of the data signal indicates
Have,
The data acquisition circuit includes an edge detected by the first edge detection circuit based on the edge detection unit corresponding to the data processing unit among the second predetermined number of second sample values constituting the data processing unit. A data read circuit that obtains a second sample value corresponding to the timing of as a value indicated by the data signal.
前記エッジ検出単位決定回路は、前記第1選択対象単位に含まれるグリッジを除去し、グリッジが除去された前記第1選択対象単位から前記エッジ検出単位を選択し、
前記データ処理単位決定回路は、前記第2選択対象単位に含まれるグリッジを除去し、グリッジが除去された前記第2選択対象単位から前記データ処理単位を選択する、データリード回路。 The data read circuit according to claim 9, wherein
The edge detection unit determination circuit removes a glitch included in the first selection target unit, selects the edge detection unit from the first selection target unit from which the glitch has been removed,
The data processing unit determination circuit is a data read circuit for removing a glitch included in the second selection target unit and selecting the data processing unit from the second selection target unit from which the glitch has been removed.
前記エッジ検出単位は、前記第1所定数よりも小さい第3所定数の第1サンプル値から成るライズエッジ検出単位と、当該第3所定数の第1サンプル値から成るフォールエッジ検出単位とを含み、
前記第1エッジ検出回路は、
前記ライズエッジ検出単位ごとに、当該ライズエッジ検出単位に基づいて、前記データストローブ信号のライズエッジを検出するライズエッジ検出回路と、
前記フォールエッジ検出単位ごとに、当該フォールエッジ検出単位に基づいて、前記データストローブ信号のフォールエッジを検出するフォールエッジ検出回路と
を有し、
前記データ処理単位は、前記第3所定数の第2サンプル値から成るライズ側データ処理単位と、前記第3所定数の第2サンプル値から成るフォール側データ処理単位とを含み、
前記データ取得回路は、
前記ライズ側データ処理単位を構成する前記第3所定数の第2サンプル値のうち、当該ライズ側データ処理単位に対応する前記ライズエッジ検出単位に基づいて前記ライズエッジ検出回路が検出したライズエッジのタイミングに対応する第2サンプル値を、前記データ信号が示す、当該ライズエッジに対応するライズ側のリードデータとして取得するライズ側データ取得回路と、
前記フォール側データ処理単位を構成する前記第3所定数の第2サンプル値のうち、当該フォール側データ処理単位に対応する前記フォールエッジ検出単位に基づいて前記フォールエッジ検出回路が検出したフォールエッジに対応する第2サンプル値を、前記データ信号が示す、当該フォールエッジに対応するフォール側のリードデータとして取得するフォール側データ取得回路と
を有する、データリード回路。 A data read circuit according to any one of claims 9 and 10,
The edge detection unit includes a rise edge detection unit composed of a third predetermined number of first sample values smaller than the first predetermined number, and a fall edge detection unit composed of the third predetermined number of first sample values. ,
The first edge detection circuit includes:
For each rise edge detection unit, a rise edge detection circuit for detecting a rise edge of the data strobe signal based on the rise edge detection unit;
A fall edge detection circuit for detecting a fall edge of the data strobe signal based on the fall edge detection unit for each fall edge detection unit;
The data processing unit includes a rise side data processing unit composed of the third predetermined number of second sample values, and a fall side data processing unit composed of the third predetermined number of second sample values,
The data acquisition circuit includes:
Of the third predetermined number of second sample values constituting the rise side data processing unit, rise edge detection circuits detected by the rise edge detection circuit based on the rise edge detection unit corresponding to the rise side data processing unit. A rise-side data acquisition circuit for acquiring a second sample value corresponding to the timing as read data on the rise side corresponding to the rise edge indicated by the data signal;
Of the third predetermined number of second sample values constituting the fall side data processing unit, the fall edge detected by the fall edge detection circuit based on the fall edge detection unit corresponding to the fall side data processing unit A data read circuit comprising: a fall side data acquisition circuit that acquires a corresponding second sample value as fall side read data corresponding to the fall edge indicated by the data signal.
前記データストローブエッジ検出回路及び前記リードデータ取得回路を制御する制御回路をさらに備え、
前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲とを調整する、データリード回路。 A data read circuit according to any one of claims 9 and 10,
A control circuit for controlling the data strobe edge detection circuit and the read data acquisition circuit;
The control circuit includes: a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on an edge detection result in the first edge detection circuit; and the data processing unit determination circuit Adjusts a range for selecting the data processing unit from the second selection target unit.
前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングと、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲と、前記第2選択対象単位保持回路での前記第2単位期間のタイミングとを調整する、データリード回路。 The data read circuit according to claim 12, wherein
The control circuit includes a range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on an edge detection result in the first edge detection circuit, and the first selection target unit. The timing of the first unit period in the holding circuit, the range in which the data processing unit determination circuit selects the data processing unit from the second selection target unit, and the second in the second selection target unit holding circuit A data read circuit that adjusts the timing of the unit period.
前記データストローブエッジ検出回路及び前記リードデータ取得回路を制御する制御回路をさらに備え、
前記データ取得回路は、前記データ処理単位に基づいて前記データ信号のエッジを検出する第2エッジ検出回路をさらに有し、
前記制御回路は前記記憶装置にリードコマンドを出力し、
前記制御回路は、前記第1エッジ検出回路でのエッジ検出結果に基づいて、前記リードコマンドの出力から前記データストローブ信号のエッジの入力までの第1遅延時間を求めて、当該第1遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲を調整し、
前記制御回路は、前記第2エッジ検出回路でのエッジ検出結果に基づいて、前記リードコマンドの出力から前記データ信号のエッジの入力までの第2遅延時間を求めて、当該第2遅延時間に基づいて、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲を調整する、データリード回路。 A data read circuit according to any one of claims 9 and 10,
A control circuit for controlling the data strobe edge detection circuit and the read data acquisition circuit;
The data acquisition circuit further includes a second edge detection circuit that detects an edge of the data signal based on the data processing unit,
The control circuit outputs a read command to the storage device,
The control circuit obtains a first delay time from an output of the read command to an input of an edge of the data strobe signal based on an edge detection result in the first edge detection circuit, and sets the first delay time to the first delay time. Based on the range of the edge detection unit determination circuit to select the edge detection unit from the first selection target unit,
The control circuit obtains a second delay time from the output of the read command to the input of the edge of the data signal based on the edge detection result in the second edge detection circuit, and based on the second delay time And a data read circuit for adjusting a range in which the data processing unit determination circuit selects the data processing unit from the second selection target unit.
前記制御回路は、
前記第1遅延時間に基づいて、前記エッジ検出単位決定回路が前記第1選択対象単位から前記エッジ検出単位を選択する範囲と、前記第1選択対象単位保持回路での前記第1単位期間のタイミングとを調整し、
前記第2遅延時間に基づいて、前記データ処理単位決定回路が前記第2選択対象単位から前記データ処理単位を選択する範囲と、前記第2選択対象単位保持回路での前記第2単位期間のタイミングとを調整する、データリード回路。 The data read circuit according to claim 14, wherein
The control circuit includes:
A range in which the edge detection unit determination circuit selects the edge detection unit from the first selection target unit based on the first delay time, and a timing of the first unit period in the first selection target unit holding circuit And adjust
A range in which the data processing unit determination circuit selects the data processing unit from the second selection target unit based on the second delay time, and a timing of the second unit period in the second selection target unit holding circuit And adjust the data lead circuit.
前記データストローブエッジ検出回路と前記リードデータ取得回路とは互いに同じ回路構成を有している、データリード回路。 A data read circuit according to any one of claims 9 to 15,
The data strobe edge detection circuit and the read data acquisition circuit have the same circuit configuration.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014074025A JP6367591B2 (en) | 2014-03-31 | 2014-03-31 | Data strobe edge detection circuit, data strobe processing circuit, and data read circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014074025A JP6367591B2 (en) | 2014-03-31 | 2014-03-31 | Data strobe edge detection circuit, data strobe processing circuit, and data read circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015197933A JP2015197933A (en) | 2015-11-09 |
JP6367591B2 true JP6367591B2 (en) | 2018-08-01 |
Family
ID=54547523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014074025A Active JP6367591B2 (en) | 2014-03-31 | 2014-03-31 | Data strobe edge detection circuit, data strobe processing circuit, and data read circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6367591B2 (en) |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002082830A (en) * | 2000-02-14 | 2002-03-22 | Mitsubishi Electric Corp | Interface circuit |
JP2006099244A (en) * | 2004-09-28 | 2006-04-13 | Seiko Epson Corp | Data signal acquisition device |
JP4773738B2 (en) * | 2005-03-31 | 2011-09-14 | キヤノン株式会社 | Memory control device |
JP4921888B2 (en) * | 2006-08-22 | 2012-04-25 | ルネサスエレクトロニクス株式会社 | Interface circuit |
JP5407551B2 (en) * | 2009-05-22 | 2014-02-05 | 富士通セミコンダクター株式会社 | Timing adjustment circuit and timing adjustment method |
US8897084B2 (en) * | 2011-09-08 | 2014-11-25 | Apple Inc. | Dynamic data strobe detection |
-
2014
- 2014-03-31 JP JP2014074025A patent/JP6367591B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015197933A (en) | 2015-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102261670B1 (en) | Apparatus and methods for providing internal clock signals of different clock frequencies in a memory device | |
EP2065894B1 (en) | Variable delay circuit, memory control circuit, delay amount setting apparatus, delay amount setting method and delay amount setting program | |
US8072822B2 (en) | Data alignment circuit and method of semiconductor memory apparatus | |
TW200830769A (en) | Packet based ID generation for serially interconnected devices | |
JP2006120311A (en) | Output circuit for double data rate dynamic random access memory, and double data rate dynamic random access memory | |
CN111566737A (en) | Apparatus and method including memory command for semiconductor memory | |
JP2008511061A (en) | Memory system and method for strobing data, command and address signals | |
CN108231110B (en) | Semiconductor device, semiconductor system and training method | |
TWI602196B (en) | Control method of memory device, memory device and memory system | |
CN109256172B (en) | Memory device including a detection clock pattern generator | |
US8687457B2 (en) | Semiconductor memory device and operating method thereof | |
JP2001202780A (en) | Semiconductor memory | |
KR20200007610A (en) | Semiconductor device | |
JP2012088852A (en) | Receiving circuit, system device, and semiconductor device | |
JP6367591B2 (en) | Data strobe edge detection circuit, data strobe processing circuit, and data read circuit | |
US10573360B1 (en) | Method and apparatus for adaptable phase training of high frequency clock signaling for data capture | |
JP2009064526A5 (en) | ||
KR102075497B1 (en) | Semiconductor integrated circuit | |
US11404102B2 (en) | Semiconductor device, semiconductor system, and method of operating the semiconductor device | |
KR101710669B1 (en) | Clock delay circuit, delay locked loop and semiconductor memory device having the same | |
CN109815173B (en) | Operation method of signal receiver, pulse width controller and electronic device | |
JP2006011704A (en) | Clock switching circuit | |
KR100844985B1 (en) | Data input device of semiconductor memory device | |
US10192599B2 (en) | Semiconductor device | |
US7652936B2 (en) | Signal sampling apparatus and method for DRAM memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20170222 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20171208 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180109 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20180202 |
|
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: 20180626 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20180705 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6367591 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |