WO2011077574A1 - 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 - Google Patents

信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 Download PDF

Info

Publication number
WO2011077574A1
WO2011077574A1 PCT/JP2009/071686 JP2009071686W WO2011077574A1 WO 2011077574 A1 WO2011077574 A1 WO 2011077574A1 JP 2009071686 W JP2009071686 W JP 2009071686W WO 2011077574 A1 WO2011077574 A1 WO 2011077574A1
Authority
WO
WIPO (PCT)
Prior art keywords
signal
input
delay
data
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.)
Ceased
Application number
PCT/JP2009/071686
Other languages
English (en)
French (fr)
Inventor
宣幸 徳廣
徳幸 高橋
真也 相曾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to KR1020127013046A priority Critical patent/KR20120085824A/ko
Priority to EP09852589A priority patent/EP2518630A4/en
Priority to CN2009801625337A priority patent/CN102667731A/zh
Priority to JP2011547183A priority patent/JP5331902B2/ja
Priority to PCT/JP2009/071686 priority patent/WO2011077574A1/ja
Publication of WO2011077574A1 publication Critical patent/WO2011077574A1/ja
Priority to US13/472,575 priority patent/US8788780B2/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • G11C7/222Clock generating, synchronizing or distributing circuits within memory device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C11/00Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor
    • G11C11/21Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements
    • G11C11/34Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices
    • G11C11/40Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors
    • G11C11/401Digital stores characterised by the use of particular electric or magnetic storage elements; Storage elements therefor using electric elements using semiconductor devices using transistors forming cells needing refreshing or charge regeneration, i.e. dynamic cells
    • G11C11/4063Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing
    • G11C11/407Auxiliary circuits, e.g. for addressing, decoding, driving, writing, sensing or timing for memory cells of the field-effect type
    • G11C11/4076Timing circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/131Digitally controlled
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects

Definitions

  • the present invention relates to a circuit for restoring a signal, for example, a signal restoration circuit, a latency adjustment circuit, and a memory controller used for signal processing such as restoration of a transmission side signal from a received signal with phase fluctuation, restoration of a pulse width of a pulse signal, etc. , A processor, a computer, a signal restoration method, and a latency adjustment method.
  • a DDR (Double Data Rate) memory is a memory that inputs and outputs data at both the positive edge and the negative edge of a clock (CK) signal and transfers data at a data transfer rate that is twice the clock frequency.
  • an internal CK signal is transmitted from the memory controller to a DIMM (Dual Inline Memory Module).
  • the DIMM generates a data strobe (DQS) signal from the CK signal, and sends the DQS signal together with the data (DQ) signal to the memory controller.
  • DQS data strobe
  • the DQS signal and DQ signal are received, the DQS signal is retimed using the DQS signal, and the internal clock is switched.
  • the timing relationship between the internal CK signal and the reception data signal needs to be within a certain range.
  • Patent Document 1 Japanese Patent Document 1
  • Patent Document 2 It is known to generate a first timing signal and a second timing signal obtained by delaying a data strobe signal, and selectively using these two timing signals to avoid a signal indefinite state.
  • Patent Document 3 In a memory controller, it is known that read data is captured at a change edge of a data strobe signal (Patent Document 3).
  • Patent Document 5 It is known to shift the phase of a clock for latching data when reading data from a memory (Patent Document 5).
  • Patent Document 6 The read data and the write data of the memory are compared, and the phase of the read clock is determined so that they match (Patent Document 6), and the phase amount of the data strobe signal is determined (Patent Document 7). Thus, it is known to determine the write timing (Patent Document 8).
  • the signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method of the present disclosure are aimed at signal processing such as signal restoration.
  • the signal restoration circuit of the present disclosure includes a storage unit and a storage control unit.
  • the storage unit arranges and stores input signals in the order of input, and reads the input signals in the order of arrangement.
  • the storage control unit controls a delay time from input to output of the input signal in the storage unit based on delay information of the input signal.
  • the latency adjustment circuit or the memory controller of the present disclosure includes the signal restoration circuit described above.
  • the processor of the present disclosure includes the signal restoration circuit or the memory controller described above.
  • the computer according to the present disclosure includes the above-described signal restoration circuit, memory controller, or processor.
  • the signal restoration method of the present disclosure includes a first step and a second step.
  • the input signals are arranged and stored in the order of input, and the input signals are stored in the order of input in a storage unit capable of reading the input signals in the order of arrangement.
  • a delay time from input to output of the input signal in the storage unit is controlled based on delay information of the input signal.
  • the latency adjustment method of the present disclosure includes the signal restoration method described above.
  • the input signal is stored in the order of input, and the delay time from input to output in the storage unit to be read out is controlled. Signal processing can be performed.
  • signal restoration and latency adjustment can be performed, such as making the pulse width of the restored signal constant.
  • the first embodiment is a basic configuration of the signal restoration circuit of the present disclosure. That is, the signal restoration circuit includes a storage unit and a storage control unit as a basic configuration.
  • FIG. 1 is a diagram illustrating an example of a signal restoration circuit according to the first embodiment
  • FIG. 2 is a timing chart illustrating an example of a signal restoration operation.
  • the configuration shown in FIG. 1 is an example, and the present invention is not limited to such a configuration.
  • the signal restoration circuit 2A is an example of a signal restoration circuit according to the present disclosure, and is a means for restoring a signal mode such as a pulse width of an original signal from a signal with phase fluctuation. Therefore, the signal restoration circuit 2A includes a storage unit 4 and a storage control unit 6 as shown in FIG.
  • the storage unit 4 is a storage means for the input signal IN, stores the input signal IN in the order of input, and can read the input signal IN in the order of arrangement.
  • the storage unit 4 includes a plurality of arrayed storage elements 41, 42, 43,... 4N, for example, a method of first taking out the first input signal (data), that is, FIFO (First-in First- out).
  • the storage control unit 6 is a control unit of the storage unit 4 and controls the delay time from the input of the input signal IN to the output in the storage unit 4 based on the delay information Dinfo of the input signal IN.
  • the delay information Dinfo is information accompanying the input signal IN, and is information that quantitatively represents the delay amount of the input signal IN.
  • the delay information Dinfo is a signal having a delay amount of the input signal IN in each clock cycle (at the time indicated by a broken line in FIG. 2), as shown in B of FIG.
  • the input signal IN and the delay information Dinfo are input to the storage control unit 6.
  • the input signal IN is written to the storage elements 41, 42, 43,... 4N of the storage unit 4 in the order of input in synchronization with the clock (CLK) signal (D in FIG. 2) by the storage control unit 6.
  • the input signal IN synchronized with the CLK signal is output as an output signal OUT after a delay time according to the delay information Dinfo taken at the same time.
  • the input signal A 1 captured at the time (2) of the CLK signal is output after the time specified by the delay amount (D 1 ) of the delay information Dinfo has elapsed (in this example, 3 clocks). Is done.
  • the next CLK signal of the delay information Dinfo (7) Decrease the value. Further, since the subsequent signal is delayed as at the time (11) of the CLK signal, the value of the delay information Dinfo is increased when the pulse width is increased.
  • the storage control unit 6 controls the delay time Td from the input to the output of the input signal IN in the storage unit 4 as the control operation as described above.
  • the delay time Td is decreased, and when the delay amount D of the input signal IN is small, the delay time Td is increased.
  • an output signal OUT is generated from the storage unit 4, and the output signal OUT is restored to an original signal having a constant signal width from the input signal IN, that is, a pulse width.
  • FIG. 3 is a flowchart illustrating an example of a processing procedure of signal restoration processing.
  • This processing procedure is an example of the signal restoration method of the present disclosure.
  • This processing procedure includes a writing process (step S11), a delayed reading process (step S12), and an output process (step S13).
  • the input signals IN are arranged and stored in the storage unit 4 in the order of input. That is, the storage unit 4 can read the input signal IN in the order of arrangement.
  • the delay time Td from the input to the output of the input signal IN in the storage unit 4 is controlled by the delay information Dinfo of the input signal IN.
  • step S13 the input signals IN are read from the storage unit 4 in the order of arrangement, and the sequentially read input signals IN are generated from the storage unit 4 as the output signals OUT.
  • the input signals IN are stored in the order of input based on the delay information Dinfo associated with the input signal IN, and the delay time Td from input to output in the storage unit 4 is controlled.
  • Signal restoration can be performed using the information Dinfo.
  • the second embodiment is a configuration example that embodies a storage unit and a storage control unit.
  • FIG. 4 is a diagram showing a configuration example of a signal restoration circuit according to the second embodiment
  • FIG. 5 is a diagram showing signal restoration processing.
  • FIG. 4 the same parts as those in FIG. 4.
  • this signal restoration circuit 2B 16 sets of flip-flops (FF) 401, 402, 403... 416 are installed in the storage unit 4, and a selector unit 8 is installed in the storage control unit 6.
  • This selector unit 8 is provided with 15 sets of selectors 801, 802, 803,... 815 corresponding to the FFs 401, 402, 403.
  • the input signal IN is added to one input of each selector 801, 802, 803... 815, and the corresponding FF 401, 402 is input to the other input of each selector 801, 802, 803. , 403... 416 are added.
  • “0” is added to the data input of the FF 401.
  • the output of the selector 801 is added to the data input of the FF 402, the output of the selector 802 is added to the data input of the FF 403, and the output of the selector 803 is added to the data input of the FF 404.
  • the output of the selector 804 is added to the data input of the FF 405, the output of the selector 805 is added to the data input of the FF 406, and the output of the selector 806 is added to the data input of the FF 407.
  • the output of the selector 807 is added to the data input of the FF 408, the output of the selector 808 is added to the data input of the FF 409, and the output of the selector 809 is added to the data input of the FF 410.
  • the output of the selector 810 is added to the data input of the FF 411, the output of the selector 811 is added to the data input of the FF 412, and the output of the selector 812 is added to the data input of the FF 413.
  • the output of the selector 813 is added to the data input of the FF 414
  • the output of the selector 814 is added to the data input of the FF 415
  • the output of the selector 815 is added to the data input of the FF 416.
  • the corresponding delay signal Di is added to the control input of each selector 801, 802, 803.
  • a clock (CLK) signal is commonly applied to the clock input section of each FF 401, 402, 403,... 416, and the FF operation is synchronized with the CLK signal.
  • An output signal OUT is extracted from the FF 416.
  • each selector 801, 802, 803... 815 selects the input signal IN when the control is true. This selection output is input to the FFs 401, 402, 403,. If the delay signal Di is a constant value, the input signal IN is taken in the order of input, the input signal IN is delayed, and a FIFO is output as the output signal OUT. When there is a transition in the delay signal Di, the FFs 401, 402, 403,... 416 of the input position where the input signal IN is input are selected, and the position is moved back and forth. In this embodiment, it is composed of 16 sets of FFs 401, 402, 403... 416, the input signal IN and the output signal OUT are 16 [bits], and the input signal IN is adjacent to 2 [bits] FFs. Entered.
  • the storage unit 4 stores the processing table 10A (FIG. 5) input signal IN, and an output signal OUT is obtained.
  • a processing table 10A as shown in FIG. 5, a processing number column 12, an input signal column 14, a delay signal column 16, a writing position (in-FIFO signal writing position) column 18 and an output signal column 20 are presented.
  • 0 to 45 are exemplified as numbers indicating the processing order.
  • input signals IN X, A, B,.
  • the processing numbers 0 to 45 change with time.
  • the input signal IN advances by one clock for each row of each cell in the processing table 10A.
  • the input signal IN to the storage unit 4 is input while repeating the same signal twice.
  • the same signal indicates “A, A”, “B, B”, “C, C”... For 2 [bits]. Therefore, when the input signal IN is delayed, the input signal IN is extended by one clock, and the value of the delay signal Di is increased by 1 at the 3rd bit (for example, in the case of processing numbers 15 and 18). Further, when the input signal IN advances, the input signal IN is reduced by one clock, and the value of the delay signal Di is reduced by 1 in the next input signal (for example, processing numbers 25, 26, 35, and 40). If).
  • the input signal IN on the upper stage side is shifted to the right, and the input signal is positioned at the positions of the “delay signal Di” and the “delay signal Di-1”.
  • IN is input.
  • the cell portion of the frame encircling portion 22 is indicated by a bold line, indicating the input signal IN, and the position thereof is changed according to the delay signal Di. That is, the input signal IN is input at a different position by the delay signal Di, and the input signal IN is changed.
  • the output signal OUT is taken out from the seventh-stage FF 416 of the FIFO configured in the storage unit 4. Therefore, an output signal OUT that is time-controlled according to the delay signal Di is generated as a restoration signal.
  • the third embodiment is a configuration example in which the signal restoration circuit described above is installed in a memory controller.
  • FIG. 6 will be referred to regarding the third embodiment.
  • FIG. 6 is a diagram illustrating a memory controller including a signal restoration circuit and a memory.
  • the same parts as those in FIGS. 1 and 4 are denoted by the same reference numerals.
  • the signal restoration circuit 2C is an example of a signal restoration circuit according to the present disclosure, and is a signal restoration unit that restores a data signal of a DIMM (Dual Inline Memory Module) 26.
  • the signal restoration circuit 2C is installed in the memory controller 24A.
  • the memory controller 24 ⁇ / b> A is means for controlling writing and reading of data with respect to the DIMM 26.
  • the DIMM 26 is an example of a signal source as well as a data source.
  • the signal restoration circuit 2C has a data signal reception function and a signal restoration function, and includes a storage unit 4, a storage control unit 6, and a signal reception unit 28 as shown in FIG.
  • the storage unit 4 and the storage control unit 6 are as described in the first embodiment, and the configuration thereof is, for example, as in the second embodiment.
  • the signal receiver 28 generates a CK signal from the CLK signal and transmits it to the DIMM 26, and receives a data strobe (DQS) signal and a data (DQ) signal, which are phase reference signals generated from the CK signal by the DIMM 26.
  • the DIMM 26 is an example of a memory device.
  • the signal receiving unit 28 retimes the DQ signal using the DQS signal, and further switches to the internal clock. Therefore, the signal reception unit 28 includes a clock generation unit 30, a clock output unit 32, a phase setting unit 34, a first phase delay unit 36, a phase detection unit 38, a second phase delay unit 50, A selector 52 and a data holding unit 54 are provided.
  • the phase detection unit 38 constitutes delay information detection and generation means
  • the clock generation unit 30, the first phase delay unit 36, and the second phase delay unit 50 constitute a delay control unit.
  • the clock generation unit 30 divides the CLK signal generated by the LSI internal clock circuit unit (for example, the clock tree unit 306 in FIG. 25) to generate a multi-phase CLK signal.
  • a CLK signal of 2 [GHz] is divided by 4 to obtain a CLK signal of 500 [MHz], and a 4-phase CLK signal of 0 degrees, 90 degrees, 180 degrees, and 270 degrees is obtained. Is generated.
  • the clock output unit 32 receives a 270 degree CLK signal from the clock generation unit 30, generates a CK signal, and outputs the CK signal to the DIMM 26.
  • the DIMM 26 When reading data from the DIMM 26, the DIMM 26 generates a DQS signal from the CK signal received from the signal receiving unit 28, and generates a DQ signal synchronized with the DQS signal.
  • the DQS signal and the DQ signal are in phase.
  • the phase setting unit 34 is a means for setting a phase shift of a predetermined phase (90 degrees) to the DQS signal and the DQ signal. Therefore, the phase setting unit 34 includes, for example, an input buffer, a delay circuit, an inverter, and the like on the DQS signal side, and includes, for example, an input buffer, a delay circuit, an FF, and the like on the DQ signal side.
  • the first phase delay unit 36 is a unit that delays the phase of the DQS signal within a range of, for example, less than 90 degrees as a delay amount with a predetermined phase difference as a unit, and a unit that applies a phase delay to the DQ signal. Therefore, the phase delay unit 36 includes a variable delay circuit, receives the delay signal (DQPHASE), and sets a delay amount of less than 90 degrees, which is a limit value of the delay capability, to the DQS signal.
  • DQPHASE delay signal
  • the phase detection unit 38 compares the CLK signal generated by the clock generation unit 30 with the DQS signal from the phase delay unit 16 to detect a phase difference, and outputs a DQPHASE signal as information representing this phase difference.
  • the DQPHASE signal is an information signal indicating the delay amount of the DQS signal, and is output as delay information from the signal receiving unit 28 and is added to the phase delay unit 36 and the clock generation unit 30.
  • the DQPHASE signal is the selection information of the CLK signal.
  • the second phase delay unit 50 is means for delaying the phase of the DQS signal in units of 90 degrees as a delay amount in units of a predetermined phase difference, for example. Therefore, the phase delay unit 50 receives the CLK signal from the clock generation unit 30 and obtains a DQ signal whose phase is delayed by a delay amount with a predetermined phase difference as a unit.
  • the selector 52 is a means for selecting a plurality of outputs from the phase delay unit 50.
  • the selector 52 receives the CLK signal generated by the clock generation unit 30 and uses it as selection information to alternately select the DQ signal and the inverted DQ signal.
  • the data holding unit 54 is a holding unit for the DQ signal or the inverted DQ signal selected by the selector 52 and a clock transfer unit. Therefore, the reference CLK signal applied from the LSI internal clock circuit unit is applied to the data holding unit 54 from the input side of the clock generation unit 30.
  • the data holding unit 54 holds the DQ signal or the inverted DQ signal in synchronization with the reference CLK signal, switches the clock to the reference CLK signal, and uses the DQ signal or the inverted DQ signal (hereinafter simply referred to as “DQ signal”). Output.
  • the DQ signal from the data holding unit 54 is added to the storage control unit 6 and becomes an input signal IN of the storage unit 4. Further, the DQPHASE signal obtained by the phase detection unit 38 is added to the storage control unit 6 as storage control information.
  • the reproduction of the received data pulse width from the DQ signal by the signal restoration circuit 2C is as follows.
  • the storage unit 4 and the storage control unit 6 constitute a delay control unit for the DQ signal (input signal IN) to realize a process of reproducing the pulse width of the data.
  • the storage unit 4 has a FIFO function sufficient to absorb delay variation in data, and increases or decreases the delay time passing through the FIFO configured by the storage unit 4 according to the delay amount of the DQPHASE signal.
  • the delay of the reception signal output from the signal reception unit 28, that is, the DQ signal is kept constant, and the data pulse width is reproduced.
  • pulse width reproduction is as follows.
  • the case where the pulse width of the data becomes narrow is a case where the phase of the received data becomes early. In the storage unit 4 constituting the FIFO, it is necessary to increase the passing delay time. Further, the case where the pulse width of the data becomes wide is a case where the phase of the received data becomes late, and it is necessary to reduce the passing delay time in the storage unit 4 constituting the FIFO.
  • the data input method to the FIFO is as described in detail in the first and second embodiments. That is, it is only necessary to simultaneously input the input signal IN to the adjacent 2 [bit] latch means, that is, the FFs (FIGS. 4 and 5), so that the data indefinite (data loss) when the number of FIFO stages is changed. ) Can be eliminated.
  • the data pulse width is always constant, the output signal OUT of the signal restoration circuit 2C is generated, and this becomes a stable received signal. That is, the original data signal can be restored faithfully.
  • the fourth embodiment is a configuration in which offset information is added to delay information to perform storage control, that is, a configuration in which offset information is added to the first, second, or third embodiment for control.
  • FIGS. 7, 8, 9, 10, and 11 for the fourth embodiment.
  • 7 is a diagram showing an example of a signal restoration circuit according to the fourth embodiment
  • FIG. 8 is a diagram showing a signal restoration circuit as a specific example thereof
  • FIGS. 9, 10, and 11 are added with an offset signal. It is a figure which shows the signal restoration process in the case of being performed. 7 and 8, the same parts as those in FIGS. 1, 4 and 6 are denoted by the same reference numerals.
  • an adder 56 is installed in the storage control unit 6.
  • the adder 56 is an example of a calculation unit that adds the offset signal Offset to the delay signal DQPHASE described above.
  • an offset delay signal (DQPHASE + Offset) to which the offset signal Offset is added is added to the selector unit 8 as delay information.
  • Other configurations are the same as those of the first embodiment (FIG. 1).
  • this signal restoration circuit 2D is configured as shown in FIG. 8, and each output of the adder 56 is a selection input of each selector 801, 802, 803. Moreover, the configuration of the FIFO by the FFs 401, 402, 403,... 416 of the storage unit 4 is the same as that of the second embodiment (FIG. 4).
  • the adder 56 outputs the sum of the delay signal DQPHASE and the offset signal Offset. Thereby, the time (number of clocks) required for the input signal DQ to pass through the FIFO can be increased or decreased.
  • the process number indicates the transition of time.
  • each processing table 10B, 10C, and 10D a processing number column 12, an input signal column 14, a delay signal column 16, a writing position (in-FIFO signal writing position) column 18 and an output signal column 20 are presented. Yes.
  • Each processing table 10B, 10C, and 10D is different from the processing table 10A (FIG. 5) in that an offset signal column 58 and a delay signal column 60 with an offset are provided.
  • 0 to 45 are exemplified as numbers indicating the processing order.
  • the delay signal DQPHASE from the signal receiver 28 (FIG. 6) described above is stored in the delay signal column 16.
  • an offset signal Offset is stored as offset information to be added to the delay signal DQPHASE.
  • the delayed delay signal column 60 stores an offset delayed signal (DQPHASE + Offset) that is an addition value of the delayed signal DQPHASE in the delayed signal column 16 and the offset signal Offset in the offset signal column 58.
  • the input signal DQ on the upper stage side is shifted to the right, the input signal DQ is input to the positions of “delay signal” and “delay signal ⁇ 1”, and the output signal OUT is It is taken out from FF416.
  • one clock of the circuit is advanced for each row of cells in FIG. 9, FIG. 10, and FIG.
  • the same signal is repeatedly input twice, and when the input signal DQ is delayed, the input signal is extended by one clock, and the value of the delay signal with offset (DQPHASE + Offset) is 3.
  • the bit is incremented by 1 (for example, processing numbers 15 and 18).
  • the input signal DQ advances, the input signal is reduced by one clock, and the value of the delay signal with offset (DQPHASE + Offset) is reduced by 1 in the next signal (for example, process numbers 25 and 26).
  • the DIMM memory controller includes the signal restoration circuit described above and the offset signal setting unit, thereby forming a latency adjustment circuit for the received signal.
  • FIG. 12 is referred to for the fifth embodiment.
  • FIG. 12 is a diagram illustrating an example of a latency adjustment circuit according to the fifth embodiment. 12, the same parts as those in FIGS. 6 and 7 are denoted by the same reference numerals.
  • the latency adjustment circuit 64 is an example of a signal restoration circuit and a latency adjustment circuit according to the present disclosure, and is a signal restoration unit that restores the data signal of the DIMM 26 and a unit that adjusts the latency of the received data.
  • the DIMM 26 is a data source and an example of a signal source.
  • the latency adjusting circuit 64 is an example of a means for adjusting the latency of the received signal of the signal receiving unit 28, and as shown in FIG. 12, the storage unit 4 in the signal restoration circuit 2E, An offset setting unit 62A is provided on the memory controller 24B side.
  • the signal restoration circuit 2E constitutes an interface unit of the memory controller 24B. Since the storage unit 4, the storage control unit 6, the signal receiving unit 28, and the memory controller 24B are as described above, description thereof is omitted.
  • the offset setting unit 62A is an example of a unit that generates the above-described offset signal Offset to be set in the storage control unit 6 and sets an offset using the offset signal.
  • the offset setting unit 62A includes a control register 66, a data storage register 68, and an arithmetic unit 70.
  • the control register 66 is an example of a means for setting data write timing and data fetch timing in the DIMM 26, and is provided in the memory controller 24B and controlled by the arithmetic unit 70.
  • the data storage register 68 is an example of various data storage means for latency control, and is provided in the memory controller 24B and also serves as means for holding offset data. That is, the data storage register 68 also serves as a FIFO setting register, receives a DQ signal from the storage unit 4, outputs an offset signal Offset, and adds the offset signal Offset to the adder 56 of the storage control unit 6.
  • the computing device 70 is an example of a delay information detecting unit.
  • the computing device 70 is an example of a processor installed outside the memory controller 24B, and includes an arithmetic processing unit 72 and a storage unit 74.
  • the arithmetic processing unit 72 is an example of a unit that executes a firmware program stored in the storage unit 74.
  • the storage unit 74 is a firmware program storage unit and constitutes a data storage unit.
  • the storage unit 74 stores a firmware program unit 75, a data table 76 (FIG. 19), and a data table 78 (FIG. 20).
  • the storage unit 74 is installed inside the arithmetic device 70, but may be installed outside the arithmetic device 70.
  • FIG. 13 is a diagram illustrating a circuit including a DIMM and a memory controller.
  • the DIMM 26 of this embodiment includes DRAM (0), DRAM (1), DRAM (2)... DRAM (8) and a register R as an example of a plurality of memory devices.
  • the memory controller 24B includes a plurality of signal receiving units 280, 281, 282,.
  • Each of the signal receiving units 280, 281, 282,... 288 plays the role of the FIFO described above, and therefore, for the DQS group, DRAM (0), DRAM (1), DRAM (2). ), The delay of the received signal of the memory controller 24B obtained through each signal restoration circuit 2E is kept constant, and the data pulse width can be restored.
  • each of the signal receiving units 280, 281, 282,... 288 is performed individually for each of the DRAM (0) to the DRAM (8), resulting in variations depending on the circuit configuration of the interface. In order to make them uniform, latency control is necessary. Therefore, in the memory controller 24B of this embodiment, the signal reception units 280 to 288 eliminate the data shift in units of clock cycles between the DQS groups.
  • the FIFO has an offset setting unit 62A as an interface for transmitting offset information from the memory controller 24B, and the storage control unit 6 realizes the delay information with offset in the storage unit 4 constituting the FIFO. That is, an offset can be added to the delay signal from the memory controller 24B side.
  • predetermined continuous data is written to a predetermined continuous address of the DIMM 26 according to an instruction from the arithmetic unit 70 (FIG. 12). Read data continuously from each continuous address.
  • the arithmetic unit 70 determines an offset value from the data content read continuously, and adds this offset value to the delay signal.
  • the latency at the time of reading that is, the time (delay time) from the issue of the read command to the reception of the read data is known.
  • This delay time can be adjusted to a predetermined latency. Further, if the variation range of the latency can be limited, it is possible to omit the unnecessary latency consumed in the storage unit 4 constituting the FIFO.
  • the memory controller 24B determines an offset value set in the data storage register 68 of the FIFO (FIG. 14).
  • FIG. 14 is a flowchart illustrating an example of a processing procedure for latency adjustment.
  • This latency adjustment processing procedure is an example of the latency adjustment method of the present disclosure, is configured by a program executed by a computer, and includes a latency detection function and a latency adjustment function based on latency detection.
  • the memory controller 24B writes data to the DIMM 26 in accordance with an instruction from the arithmetic unit 70 that executes the firmware (step S21).
  • the data to be written is data in which values from 0 to f (FIG. 15) are continuous.
  • the arithmetic unit 70 designates the data fetch timing (Get timing in FIGS. 15 and 16) to the control register 66 (step S22). In the second data capture when the frequencies are different, the Get timing (Get timing in FIGS. 17 and 18) is delayed by one cycle of the clock from the first data capture.
  • the arithmetic unit 70 writes “0” in the data storage register 68 (step S23).
  • the data storage register 68 also serves as a FIFO setting register including the storage unit 4.
  • the computing device 70 issues a read instruction, and the memory controller 24B fetches a value into the data storage register 68 at the timing designated by the computing device 70 in step S22 (step S24).
  • the arithmetic unit 70 reads data from the data storage register 68 (step S25).
  • the arithmetic unit 70 determines the FIFO value from the value read from the data storage register 68 with reference to the data tables 76 (FIG. 19) and 78 (FIG. 20) of the storage unit 74, and the data storage register A FIFO offset value (delay value) is set to 68 (step S26). This process is performed by the second data capture when the frequency is different. The following will be done:
  • FIGS. 15, 16, 17, and 18 for the latency adjustment.
  • 15 and 17 are diagrams showing data before latency adjustment
  • FIGS. 16 and 18 are diagrams showing data after latency adjustment.
  • a vertical line 80 is an edge of the system clock.
  • the above-described flowchart (FIG. 14) is executed only once. If the relationship between the system clock and the data frequency of the DIMM 26 is 1: 2, as shown in FIG. 17, the above-described flowchart (FIG. 14) is executed twice. Further, if the relationship between the frequency of the system clock and the frequency of the DIMM 26 is 1: N, the latency can be made uniform by executing the above-described flowchart (FIG. 14) N times (FIGS. 16 and 18).
  • the read data of the DRAM (0), DRAM (1), DRAM (2), and DRAM (3) is as shown in FIG. , Continuously taken out.
  • the read data of the above-described DRAM (0), DRAM (1), DRAM (2), and DRAM (3) is subjected to latency adjustment. Then, as shown in FIG. 18, the data are collected continuously, but the data is ready. In this case, the acquisition timing is each position of Get1 and Get2.
  • 19 and 20 are referred to for the data tables 76 and 78 described above.
  • 19 and 20 are diagrams illustrating an example of the data table.
  • a read value 82 is set and a set value 84 corresponding to the read value 82 is set.
  • the read value 82 is a data value read from the DRAM (0), DRAM (1), DRAM (2),.
  • the set value 84 is, for example, a read value fetch (Get) timing for each DRAM (0), DRAM (1), DRAM (2)...
  • Get read value fetch
  • the data value is adjusted to a predetermined value “5”. Is the value to set.
  • “9” is obtained at the Get timing, as shown in FIG. Therefore, “4” of the set value 84 is selected from “9” of the read value 82 of the data table 76 (FIG. 19).
  • the Get timing of the DRAM (0) is shifted by 4 clocks. This process is an example, and if the reference lead value is different, another set value is used.
  • the read value 82 is stored in the storage unit 74 by the firmware program, and a setting value 84 corresponding to the read value 82 is stored.
  • the system clock and the clock of the DIMM 26 are the same.
  • a set value 90 corresponding to the first read value 86 and the second read value 88 is set.
  • the arithmetic unit 70 changes the value specified in the control register 66, that is, the above-described Get timing (FIGS. 15 and 16), the data alignment timing can be changed.
  • the Get timing can be aligned with the data value “5” as shown in FIG.
  • the timing of Get1 is the latter half of the data value “2” as shown in FIG.
  • this error information is sent to the memory controller 24B.
  • the memory controller 24B rereads data (read retry) according to the error information. This increases the accuracy of the offset value.
  • a reception circuit that receives received data and a reference signal (DQS) as a signal restoration circuit and outputs a relative delay amount (DQPHASE) with respect to an internal reference clock and fetched data is configured.
  • DQS reference signal
  • DQPHASE relative delay amount
  • the relative delay amount (DQPHASE) with respect to the internal reference clock can be handled as a digital amount.
  • the latency adjustment can be configured with FIFO.
  • DIMMs with a data transfer rate exceeding 1 [Gbps] delay variations related to data transmission may exceed the data width.
  • the DIMM adopts a Fly-by topology in which the wiring from the internal register to each DRAM is not equal in length, the delay time does not match between the DQS groups, and the variation of the clock delay becomes 1000 [ps].
  • the signal receiver 28 may be configured. If this signal receiving unit 28 is used, such variation can be absorbed and a stable data reading operation can be performed.
  • the signal receiving unit 28 is used.
  • the output stage of the signal receiving unit 28 has a signal for controlling the number of FIFO stages, and the data shift is aligned within the interface of the memory controller 24B.
  • the memory controller 24B Since the memory controller 24B has a signal indicating that an error has occurred in the signal receiving unit 28, it has a function of retrying a read when an error occurs, so that the reliability of latency adjustment is improved.
  • a data transmission device using the signal receiving unit 28 can be configured.
  • the interface of the memory controller 24B has a signal (offset value) for controlling the number of FIFO stages.
  • a signal for transmitting error information of the signal receiving unit 28 may be provided in the interface unit of the memory controller 24B.
  • the memory controller 24B may refer to a register storing DIMM access information and request a read retry.
  • the signal restoration circuit and the memory controller are separately configured.
  • FIG. 21 is referred to for the sixth embodiment.
  • FIG. 21 is a circuit diagram showing a memory controller, an arithmetic unit, a signal restoration circuit, and a DIMM.
  • the signal restoration circuit 2E and the memory controller 24C are separately configured, and the memory controller 24C includes the offset setting unit 62A described above.
  • the memory controller 24C includes the offset setting unit 62A described above.
  • Such a configuration also provides the same functions and effects as those of the fifth embodiment.
  • FIG. 21 the same parts as those in FIG.
  • the memory controller includes a delay amount measuring unit for the latency adjustment described above.
  • FIG. 22 is referred to for the seventh embodiment.
  • FIG. 22 is a circuit diagram showing an example of a latency adjustment circuit according to the seventh embodiment. 22, the same parts as those in FIG. 12 are denoted by the same reference numerals.
  • a memory controller 24D is provided together with the DIMM 26, and an arithmetic unit 70 is provided in the memory controller 24D.
  • the memory controller 24D of this embodiment is provided with a delay amount measuring unit 94 as well as the control register 66 and the data storage register 68 described above.
  • the delay amount measuring unit 94 is an example of a means for measuring an offset delay amount, transmits a delay measurement signal to the DIMM 26, compares the delay amount measurement signal with a received signal from the DIMM 26, and determines a delay measurement signal. Is a means for measuring a delay time from the transmission time to the reception time of the received signal. This delay time is a delay amount, and this delay amount is an offset delay amount, which is also the above-described offset signal Offset.
  • the delay amount measurement unit 94 includes a delay measurement signal generation unit 96 and a comparison unit 98.
  • the delay measurement signal generation unit 96 is an example of the delay measurement signal generation unit described above, and transmits the delay measurement signal to the DIMM 26 and transfers it to the comparison unit 98.
  • the comparison unit 98 is an example of a unit that measures a delay time from the transmission time of the delay measurement signal to the reception time of the reception signal.
  • the comparison unit 98 compares the delay measurement signal with the reception signal from the DIMM 26 and transmits the transmission time of the delay measurement signal. The time from when the received signal is received to the time of reception is measured as the delay time. This delay time is taken into the arithmetic unit 70 and stored in the data storage register 68 as delay information.
  • the arithmetic unit 70 executes the firmware program in the firmware program unit 75 of the storage unit 74 and causes the delay amount measurement unit 94 to measure the delay amount.
  • An offset signal may be generated with such a configuration, and an offset value may be added to the adder 56 (FIG. 7) described above to generate a delay signal with an offset, and adjust the latency of the received signal.
  • the delay amount measuring unit 94 is installed in the memory controller 24D, but it may be installed in the signal restoration circuit 2A (or 2B to 2E), and the above-described latency adjustment can be performed.
  • the storage unit 74 may be installed outside the arithmetic device 70.
  • a step (or function) for controlling the time is Storing the input signals in the order of input, receiving the delay information of the input signals, and reading out the input signals from the storage unit capable of reading the input signals in the order of the input arrangement in accordance with the delay information (or function);
  • delay information is constant, the input signals are stored in the order of input.
  • the delay information transitions, a position in the array is selected according to the transition, and the input signal is stored at the position. Steps (or functions).
  • the processing procedure of the signal restoration process may further include a step (or function) of comparing the input signal with a reference clock signal and detecting delay information of the received signal with respect to the reference clock signal.
  • a step (or function) of measuring the offset delay amount of the received signal with respect to the transmitted delay measurement signal, the offset delay amount, and the delay amount detection unit A step (or function) of generating the delay information from the delay amount and changing the position of the storage array in accordance with the delay information.
  • the signal restoration circuit 2E (FIG. 12) installed in the memory controller 24 or the signal restoration circuit 2E (FIG. 21) installed outside the memory controller 24 is exemplified as the signal restoration circuit.
  • the signal restoration circuit of the present disclosure is not limited to the above embodiment.
  • the signal restoration circuit of the present disclosure is used for signal restoration by using it other than the memory interface circuit such as the memory controller 24.
  • the memory controller 24 has been described, but the memory controller of the present disclosure is not limited to the above embodiment.
  • the processor 100 may be configured using the memory controller of the present disclosure, or the computer 200 (FIG. 24) may be configured.
  • the processor 100 is composed of, for example, a CPU (Central Processing Unit) or an MPU (Micro Processor Unit). As shown in FIG. 23, the processor 100 is provided with a memory controller 24 for controlling data transfer of the DIMM 26, and an arithmetic processing unit 70 as means for executing the firmware program unit 75 and means for executing arithmetic processing and the like. May be.
  • the memory controller 24 may include a signal restoration circuit 2A (or 2B to 2E). Also with such a configuration, the effects in the above embodiment can be obtained, and signal (data) restoration, data transfer speedup, and reliability can be improved.
  • the computer 200 may include a memory controller 24 inside a chip set 204 installed between the CPU 202 and the DIMM 26.
  • the memory controller 24 may include a signal restoration circuit 2A (or 2B to 2E). Also with such a configuration, the effects in the above embodiment can be obtained, and signal (data) restoration, data transfer speedup, and reliability can be improved.
  • the memory controller 24 may be provided inside the CPU 202, and the signal restoration circuit 2A (or 2B to 2E) described above may be configured inside the memory controller 24. Also with such a configuration, the effects in the above embodiment can be obtained, and signal (data) restoration, data transfer speedup, and reliability can be improved.
  • the frequency may be set to 2 [GHz] for the reference internal clock signal, but the present invention is not limited to this.
  • the frequency of the clock signal to be set is arbitrary, and the numerical values described in the above embodiment are merely examples.
  • the signal restoration circuit, the latency adjustment circuit, and the like are exemplified, but the present invention is not limited to these.
  • the latency from each memory device can be aligned with the same latency based on the clocks of various devices, and a device using a plurality of memory devices Available for processing.
  • the comparative example is a signal receiving circuit for a signal with phase fluctuation, and is an example of a signal receiving unit of a memory controller.
  • FIG. 25 is a diagram showing a comparative example of the memory controller
  • FIG. 26 is a diagram showing an example of trial calculation of delay variation of the circuit
  • FIG. 27 is a diagram showing a clock wiring form on the DIMM
  • FIG. 28 is another diagram on the DIMM. It is a figure which shows the clock wiring form.
  • the simplest way to receive a DDR signal from a DIMM is to configure a memory controller 300 as shown in FIG.
  • a signal receiving unit 304 is installed as a means for receiving a signal from the DIMM 302
  • a clock tree unit 306 is installed as a means for giving a clock signal to the signal receiving unit 304.
  • the clock tree unit 306 and the signal receiving unit 304 are configured by LSI. To do.
  • the signal receiving unit 304 receives a signal whose phase of input data fluctuates and constitutes a signal receiving circuit of the DDR memory interface circuit.
  • the signal receiving unit 304 includes FF circuits 308, 310, 312, 314, 316, DL 318 and 320, an output buffer 322, and input buffers 324 and 326.
  • the clock tree unit 306 constitutes an LSI internal clock circuit unit, and includes inverters 328, 330, 332, 334, 336, 338, and 340.
  • the DIMM 302 is provided with an input buffer 342 and an output buffer 344.
  • the signal receiving unit 304 receives the CLK signal generated by the clock tree unit 306, generates the CK signal CK 0, and transmits it to the DIMM 302.
  • the DIMM 302 generates a DQS signal from the CK signal, and sends it back to the signal receiving unit 304 together with the DQ signal.
  • the DQS signal is retimed using the DQS signal, and is further switched to the internal clock. At this time, the timing relationship between the internal clock and the received data is required to be within a certain range in order to reliably receive the data at the reception point latch.
  • the signal reception point is assumed to be the input unit of the FF 310 on the output side of the DL 318 (FIG. 25).
  • the transmission line length is 0 [mm]
  • the received data is delayed from 982 [ps] to 4,156 [ps] when viewed from the clock reference of the reception point latch in the LSI constituting the signal receiving unit 304.
  • the JEDEC Joint Electron Devices Engineering Council defines the dispersion absorbing means as Write Leveling. However, there is no provision regarding timing mismatch at the time of signal reception.
  • the signal restoration circuit, the memory controller, the processor, the computer, or the signal restoration method of the present disclosure proposes a mechanism for matching the data timing by absorbing the above-described delay variation of the DDR3 interface and adjusting the data latency between the DRAMs. Yes.
  • the above-described problems are solved.
  • the signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method of the present disclosure are not limited to the above description. It goes without saying that various modifications and changes can be made by those skilled in the art based on the gist disclosed in the claims or disclosed in the embodiments for carrying out the invention. It goes without saying that such modifications and changes are included in the scope of the present invention.
  • the signal restoration circuit, the latency adjustment circuit, the memory controller, the processor, the computer, the signal restoration method, and the latency adjustment method of the present disclosure are related to signal reception, can suppress delay variation on the circuit, and can align the latency of received data. It provides a highly practical memory controller and is useful.

Landscapes

  • Engineering & Computer Science (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Nonlinear Science (AREA)
  • Dram (AREA)
  • Networks Using Active Elements (AREA)
  • Information Transfer Systems (AREA)

Abstract

 記憶部(4)と、記憶制御部(6)とが含まれる。記憶部(4)は入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な手段である。上記記憶制御部(6)は、前記入力信号の遅延情報により、記憶部(4)における前記入力信号の入力から出力までの遅延時間を制御する。そして、この制御では、前記入力信号の遅延量が大きい場合には、前記遅延時間を減少させ、前記入力信号の遅延量が小さい場合には、前記遅延時間を増加させている。

Description

信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
 本発明は、信号を復元する回路に関し、例えば、位相変動のある受信信号から送信側信号の復元、パルス信号のパルス幅の復元等の信号処理に用いられる信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法に関する。
 位相変動を伴う信号を受信した場合、この受信信号から送信側の信号を復元する際に信号復元回路が用いられる。例えば、DDRメモリインターフェイス回路がある。DDR(Double Data Rate)メモリは、クロック(CK)信号のポジティブエッジとネガティブエッジの双方でデータの入出力をし、クロック周波数の2倍のデータ転送レートでデータ転送をするメモリである。
 このようなメモリでは、メモリコントローラから内部CK信号をDIMM(Dual Inline Memory Module )に送信する。DIMMはそのCK信号からデータストローブ(DQS)信号を生成し、このDQS信号をデータ(DQ)信号とともにメモリコントローラに送出する。メモリコントローラ側では、これらDQS信号及びDQ信号を受信し、DQS信号を使ってDQ信号をリタイミングし、さらに内部クロックに乗り換える。このとき、受信点のラッチ回路で確実にデータ信号を受信するには、内部CK信号と受信データ信号のタイミング関係が一定範囲内にあることが必要である。
 このメモリコントローラの信号復元に関し、メモリコントローラ内で参照クロックと異なるクロック位相を生成し、データストローブ信号を遅延させることが知られている(特許文献1)。
 データストローブ信号を遅延させた第1及び第2のタイミング信号を生成させ、これら2つのタイミング信号を選択的に用いることにより、信号不定状態を回避することが知られている(特許文献2)。
 メモリコントローラにおいて、データストローブ信号の変化エッジで読出しデータを取り込むことが知られている(特許文献3)。
 データストローブ信号とリードクロックの位相差を測定し、その位相差に従ってクロック信号の遅延時間を加減し、そのクロック信号に同期してデータ信号を取り込むことが知られている(特許文献4)。
 メモリからデータを読み出す場合に、データをラッチするクロックの位相をシフトすることが知られている(特許文献5)。
 メモリの読出しデータと書き込みデータとを比較し、両者が一致するように読出しクロックの位相を決定すること(特許文献6)、データストローブ信号の位相量を決定すること(特許文献7)、一致するように書き込みタイミングを決定することが知られている(特許文献8)。
 データ再生に関し、データの立上りエッジ、立ち下がりエッジの検出パルスからパルス幅を再生する際にFIFO(First-in First-out)を用いることが知られている(特許文献9)。
特表2007-536773号公報 特開2006-107352号公報 特開平11-25029号公報 特開2008-71018号公報 特開2007-164697号公報 特開2003-50739号公報 特開2003-99321号公報 特開平11-167515号公報 特開平7-169058号公報
 ところで、信号伝送には温度変化や経路の相違等により、種々の遅延を生じる。このような信号遅延を修復した場合、時期的な修正が原信号と受信信号とを相違させる場合がある。このような信号の相違が動作の信頼性を損なう原因になる場合があり、例えば、メモリから受信したデータが原データと異なる場合には、データ処理の信頼性を損なう場合がある。
 そこで、本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法は、信号復元等の信号処理を目的とする。
 上記目的を達成するため、本開示の信号復元回路は、記憶部と、記憶制御部とを備える。前記記憶部は、入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能である。前記記憶制御部は、前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御する。
 上記目的を達成するため、本開示のレイテンシ調整回路又はメモリコントローラは、既述の信号復元回路を備える。本開示のプロセッサは、既述の信号復元回路又はメモリコントローラを備える。また、本開示のコンピュータは、既述の信号復元回路、メモリコントローラ又はプロセッサを備える。
 上記目的を達成するため、本開示の信号復元方法は、第1のステップ、第2のステップを含む。前記第1のステップでは、入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な記憶部に、前記入力信号を前記入力順に記憶する。前記第2のステップでは、前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御する。
 また、上記目的を達成するため、本開示のレイテンシ調整方法は、既述の信号復元方法を含む。
 本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法によれば、次のような効果が得られる。
 (1) 入力信号に付随する遅延情報に基づき、入力信号を入力順に記憶し、読み出す記憶部における入力から出力までの遅延時間を制御するので、入力信号と遅延情報とを用いて信号復元等の信号処理をすることができる。
 (2) 入力信号がデータパルス信号の場合、復元した信号のパルス幅を一定にできる等の信号復元やレイテンシ調整を行える。
 そして、本発明の他の目的、特徴及び利点は、添付図面及び各実施の形態を参照することにより、一層明確になるであろう。
第1の実施の形態に係る信号復元回路の一例を示す図である。 信号復元動作を表すタイミングチャートである。 信号復元の処理手順の一例を示すフローチャートである。 第2の実施の形態に係る信号復元回路の一例を示す図である。 信号復元処理の一例を示す図である。 第3の実施の形態に係る、信号復元回路を備えるメモリコントローラ及びメモリの一例を示す図である。 第4の実施の形態に係る信号復元回路の一例を示す図である。 信号復元回路の構成例を示す図である。 信号復元処理の一例を示す図である。 信号復元処理の一例を示す図である。 信号復元処理の一例を示す図である。 第5の実施の形態に係るレイテンシ調整回路の一例を示す図である。 DIMMインターフェイス部の一例を示す図である。 レイテンシ調整の処理手順の一例を示すフローチャートである。 リードレイテンシ調整前の状態を示す図である。 リードレイテンシ調整後の状態を示す図である。 リードレイテンシ調整前の他の状態を示す図である。 リードレイテンシ調整後の他の状態を示す図である。 リード値と設定値との対応表を示す図である。 リード値と設定値との対応表を示す図である。 第6の実施の形態に係るレイテンシ調整回路の一例を示す図である。 第7の実施の形態に係るレイテンシ調整回路の一例を示す図である。 他の実施の形態に係るプロセッサ及びメモリの一例を示す図である。 他の実施の形態に係るコンピュータの一例を示す図である。 クロックツリー部、信号受信部を含むメモリコントローラ及びDIMMの比較例を示す図である。 回路の遅延ばらつきの試算例を示す図である。 DIMMのクロック配線形態を示す図である。 DIMMの他のクロック配線形態を示す図である。
〔第1の実施の形態〕
 第1の実施の形態は、本開示の信号復元回路の基本構成である。即ち、この信号復元回路では、基本構成として、記憶部と、記憶制御部とを備える。
 この第1の実施の形態について、図1及び図2を参照する。図1は、第1の実施の形態に係る信号復元回路の一例を示す図、図2は、信号復元動作の一例を示すタイミングチャートである。図1に示す構成は一例であって、本発明は斯かる構成に限定されるものではない。
 この信号復元回路2Aは、本開示の信号復元回路の一例であって、位相変動のある信号から原信号のパルス幅等の信号態様を復元する手段である。そこで、この信号復元回路2Aには、図1に示すように、記憶部4と、記憶制御部6とが備えられる。
 記憶部4は、入力信号INの記憶手段であって、入力信号INを入力順に配列させて記憶し、配列順に入力信号INの読み出しが可能である。この記憶部4には、配列された複数の記憶素子41、42、43・・・4Nを備え、例えば、最初に入れた信号(データ)を最初に取り出す方式即ち、FIFO(First-in First-out)で構成される。
 記憶制御部6は、記憶部4の制御手段であって、入力信号INの遅延情報Dinfoにより、記憶部4における入力信号INの入力から出力までの遅延時間を制御する。遅延情報Dinfoは、入力信号INに付随する情報であって、入力信号INの遅延量を定量的に表す情報である。
 そして、入力信号INは、図2のAに示すように、パルス幅に変動を生じている場合を想定する。遅延情報Dinfoは、図2のBに示すように、各クロックサイクル(図2の破線の時点)での入力信号INの遅延量を持つ信号である。
 このような入力信号IN及び遅延情報Dinfoは記憶制御部6に入力される。入力信号INは、記憶制御部6によりクロック(CLK)信号(図2のD)に同期し、記憶部4の記憶素子41、42、43、・・・4Nに入力順に書き込まれる。
 CLK信号に同期した入力信号INは、同時に取り込まれた遅延情報Dinfoに従った遅延時間を経て出力信号OUTとして出力される。例えば図2において、CLK信号の(2)の時点で取り込まれた入力信号Aは、遅延情報Dinfoの遅延量(D)で指定される時間の経過後(この例では3クロック)に出力される。
 CLK信号の(6)の時点で入力された入力信号Aのように、後続信号が早く到達したため、パルス幅が小さくなった場合には、次のCLK信号の(7)で遅延情報Dinfoの値を減少させる。また、CLK信号の(11)の時点のように後続信号が遅れたため、パルス幅が大きくなった場合には、遅延情報Dinfoの値を増加させる。
 そこで、記憶制御部6では、既述の通りの制御動作として、記憶部4における入力信号INの入力から出力までの遅延時間Tdを制御する。この場合、入力信号INの遅延量Dが大きい場合には、遅延時間Tdを減少させ、入力信号INの遅延量Dが小さい場合には、遅延時間Tdを増加させる。この結果、図2のCに示すように、出力信号OUTが記憶部4から生成され、出力信号OUTは入力信号INからの一定の信号幅即ち、パルス幅を持つ原信号に復元されている。
 次に、この信号復元処理について、図3を参照する。図3は、信号復元処理の処理手順の一例を示すフローチャートである。
 この処理手順は、本開示の信号復元方法の一例である。この処理手順には、書き込み処理(ステップS11)、遅延読み出し処理(ステップS12)、出力処理(ステップS13)が含まれる。
 書き込み処理(ステップS11)では、記憶部4に入力信号INが入力順に配列されて記憶される。即ち、記憶部4は、配列順に入力信号INの読み出しが可能である。
 遅延読み出し処理(ステップS12)では、入力信号INの遅延情報Dinfoにより、記憶部4における入力信号INの入力から出力までの遅延時間Tdを制御する。
 そして、出力処理(ステップS13)では、記憶部4から配列順に入力信号INが読み出され、順次に読み出された入力信号INが記憶部4から出力信号OUTとして生成される。
 このような処理手順により、入力信号INに付随する遅延情報Dinfoに基づき、入力信号INを入力順に記憶し、記憶部4における入力から出力までの遅延時間Tdを制御するので、入力信号INと遅延情報Dinfoとを用いて信号復元をすることができる。
〔第2の実施の形態〕
 第2の実施の形態は、記憶部及び記憶制御部を具体化した構成例である。
 この第2の実施の形態について、図4及び図5を参照する。図4は、第2の実施の形態に係る信号復元回路の構成例を示す図、図5は、信号復元処理を示す図である。図4において、図1と同一部分には同一符号を付してある。
 この信号復元回路2Bでは、記憶部4に16組のフリップフロップ(FF)401、402、403・・・・・416が設置され、記憶制御部6にはセレクタ部8が設置されている。このセレクタ部8には、FF401、402、403・・・・・416に対応し、15組のセレクタ801、802、803・・・・815が設置されている。
 この場合、各セレクタ801、802、803・・・815の一方の入力には、入力信号INが加えられ、各セレクタ801、802、803・・・815の他方の入力には対応するFF401、402、403・・・・416の出力が加えられている。FF401のデータ入力には、この実施の形態の場合、“0”が加えられている。そして、FF402のデータ入力にはセレクタ801の出力、FF403のデータ入力にはセレクタ802の出力、FF404のデータ入力にはセレクタ803の出力が加えられている。FF405のデータ入力にはセレクタ804の出力、FF406のデータ入力にはセレクタ805の出力、FF407のデータ入力にはセレクタ806の出力が加えられている。FF408のデータ入力にはセレクタ807の出力、FF409のデータ入力にはセレクタ808の出力、FF410のデータ入力にはセレクタ809の出力が加えられている。FF411のデータ入力にはセレクタ810の出力、FF412のデータ入力にはセレクタ811の出力、FF413のデータ入力にはセレクタ812の出力が加えられている。同様に、FF414のデータ入力にはセレクタ813の出力、FF415のデータ入力にはセレクタ814の出力、FF416のデータ入力にはセレクタ815の出力が加えられている。
 各セレクタ801、802、803・・・815の制御入力には、対応する遅延信号Diが加えられている。各FF401、402、403・・・416のクロック入力部には、共通にクロック(CLK)信号が加えられ、FF動作がCLK信号により同期している。FF416から出力信号OUTが取り出される。
 この信号復元回路2Bについて、各セレクタ801、802、803・・・815は、制御が真の場合、入力信号INを選択する。この選択出力が、記憶部4側のFF401、402、403・・・416に入力される。遅延信号Diが一定値であれば、入力信号INを入力順に取り込み、その入力信号INを遅延させ、出力信号OUTとして出力するFIFOを構成する。遅延信号Diに遷移があった場合、入力信号INを入れる入力位置のFF401、402、403・・・416が選択され、その位置を前後させる。この実施の形態では、16組のFF401、402、403・・・416で構成され、入力信号IN及び出力信号OUTは16〔bit〕であり、入力信号INは隣り合う2〔bit〕のFFに入力される。
 記憶部4には、処理テーブル10A(図5)入力信号INの記憶され、出力信号OUTが得られる。処理テーブル10Aには、図5に示すように、処理番号欄12、入力信号欄14、遅延信号欄16、記憶部4の書き込み位置(FIFO内信号書き込み位置)欄18、出力信号欄20が提示されている。処理番号欄12は、処理順序を示す番号として0ないし45が例示されている。入力信号欄14には、入力信号IN=X、A、B・・・が例示されている。記憶部4の書き込み位置欄18には、FF401=-8、FF402=-7、FF403=-6、FF404=-5、FF405=-4、FF406=-3、FF407=-2、FF408=-1、FF409=0、FF410=1、FF411=2、FF412=3、FF413=4、FF414=5、FF415=6、FF416=7の位置が設定されている。各位置には、入力信号IN=0、X、A、B・・・が格納され、0は入力なしの状態である。そして、出力信号欄20には、出力信号OUT=X、A、B・・・が例示されている。処理テーブル10Aにおいて、処理番号0~45は時間の経過とともに推移する。
 入力信号INは、処理テーブル10Aの各セルの1行毎に1クロック分だけ進む。この場合、記憶部4に対する入力信号INは、同一信号を2回ずつ繰り返しながら入力される。この同一信号とは、2〔bit〕分の「A,A」、「B,B」、「C,C」・・・を示している。そこで、入力信号INが遅れた場合には、入力信号INが1クロック分だけ伸び、遅延信号Diの値が3〔bit〕目で1だけ増える(例えば、処理番号15、18の場合)。また、入力信号INが進んだ場合には、入力信号INが1クロック分だけ縮み、遅延信号Diの値が次の入力信号で1だけ減じられる(例えば、処理番号25、26、35、40の場合)。
 このような入出力形態では、記憶部4の書き込み及び読み出しにおけるFIFO動作では、上段側の入力信号INを右にシフトし、「遅延信号Di」と「遅延信号Di-1」の位置に入力信号INが入力される。図5では、太線で枠囲み部22のセル部分がその入力信号INを示し、その位置が遅延信号Diに応じて変化している。即ち、遅延信号Diによって入力信号INの配列の異なる位置に入力され、入力信号INの配列が変更されている。
 そして、この実施の形態では、出力信号OUTが記憶部4に構成されるFIFO7段目のFF416から取り出される。従って、遅延信号Diに応じて時間制御された出力信号OUTが復元信号として生成されている。
 また、入力信号INをFFの隣合う2〔bit〕に同時に入力するので、入力信号INの幅やデータ幅が狭い場合、例えば、処理番号25、28(図5)の場合にも、信号の復元精度が高められる。この場合、1〔bit〕にしか入力されない場合に出力波形が復元できないという不都合は上記処理により確実に解消されることになる。
〔第3の実施の形態〕
 第3の実施の形態は、既述の信号復元回路がメモリコントローラに設置された構成例である。
 この第3の実施の形態について、図6を参照する。図6は、信号復元回路を備えるメモリコントローラとメモリを示す図である。図6において、図1及び図4と同一部分には同一符号を付してある。
 この信号復元回路2Cは、本開示の信号復元回路の一例であって、DIMM(Dual Inline Memory Module )26のデータ信号を復元する信号復元手段である。この信号復元回路2Cはメモリコントローラ24Aに設置されている。メモリコントローラ24Aは、DIMM26に対するデータの書き込み、読み出しを制御する手段である。DIMM26は、データ源であるとともに信号源の一例である。
 この信号復元回路2Cでは、データ信号の受信機能と信号復元機能を備え、図6に示すように、記憶部4と、記憶制御部6と、信号受信部28とを備えている。記憶部4及び記憶制御部6は、第1の実施の形態で述べた通りであり、その構成は例えば、第2の実施の形態の通りである。
 信号受信部28は、CLK信号からCK信号を生成してDIMM26に送信し、DIMM26がCK信号から生成した位相基準信号であるデータストローブ(DQS)信号やデータ(DQ)信号を受信する。DIMM26はメモリデバイスの一例である。また、信号受信部28では、DQS信号を使ってDQ信号をリタイミングし、さらに内部クロックに乗り換える。そこで、信号受信部28は、クロック生成部30と、クロック出力部32と、位相設定部34と、第一の位相遅延部36と、位相検出部38と、第二の位相遅延部50と、セレクタ52と、データ保持部54とを備える。位相検出部38で遅延情報の検出及び発生手段が構成され、クロック生成部30と、第一の位相遅延部36と、第二の位相遅延部50とで遅延制御部が構成される。
 クロック生成部30は、LSI内部クロック回路部(例えば、図25のクロックツリー部306)で生成されたCLK信号を分周し、複数相のCLK信号を生成する。この実施の形態では、例えば、2〔GHz〕のCLK信号を4分周して500〔MHz〕のCLK信号を得て、0度、90度、180度、270度の4相のCLK信号を生成している。
 クロック出力部32は、クロック生成部30から270度のCLK信号を受け、CK信号を生成してDIMM26へ出力する。DIMM26からデータを読み出す場合、DIMM26は信号受信部28から受信したCK信号によりDQS信号を生成し、このDQS信号に同期したDQ信号を生成する。DQS信号及びDQ信号は同相である。
 位相設定部34は、DQS信号及びDQ信号に所定の位相(90度)の位相シフトを設定する手段である。そこで、この位相設定部34は、DQS信号側に例えば、入力バッファ、遅延回路、インバータ等を備え、DQ信号側に例えば、入力バッファ、遅延回路、FF等を備える。
 第一の位相遅延部36は、所定位相差を単位とする遅延量として例えば、90度未満の範囲でDQS信号の位相を遅延させる手段であるとともに、DQ信号に位相遅延を施す手段である。そこで、この位相遅延部36は、可変遅延回路を備え、遅延信号(DQPHASE)を受け、遅延能力の限界値である、90度未満の遅延量をDQS信号に設定する。
 位相検出部38は、クロック生成部30で生成されたCLK信号と、位相遅延部16からのDQS信号とを比較して位相差を検出し、この位相差を表す情報としてDQPHASE信号を出力する。DQPHASE信号は、DQS信号の遅延量を表す情報信号であって、信号受信部28から遅延情報として出力されるとともに、位相遅延部36及びクロック生成部30に加えられる。クロック生成部30では、DQPHASE信号がCLK信号の選択情報である。
 第二の位相遅延部50は、所定位相差を単位とする遅延量として例えば、90度を単位としてDQS信号の位相を遅延させる手段である。そこで、この位相遅延部50は、クロック生成部30からCLK信号を受け、所定位相差を単位とする遅延量で位相が遅延したDQ信号が得られる。
 セレクタ52は、位相遅延部50の複数出力を選択する手段である。このセレクタ52は、クロック生成部30で生成されたCLK信号を受け、これを選択情報に用いてDQ信号と、反転DQ信号とを交互に選択する。
 データ保持部54は、セレクタ52で選択されたDQ信号又は反転DQ信号の保持手段であるとともに、クロック乗換手段である。そこで、このデータ保持部54には、LSI内部クロック回路部から加えられた基準CLK信号がクロック生成部30の入力側から加えられる。データ保持部54では、この基準CLK信号に同期してDQ信号又は反転DQ信号を保持し、クロックを基準CLK信号に乗り換え、DQ信号又は反転DQ信号(以下、単に「DQ信号」と称する)を出力する。
 そして、データ保持部54からのDQ信号は記憶制御部6に加えられ、記憶部4の入力信号INとなる。また、位相検出部38で得られたDQPHASE信号が記憶制御情報として記憶制御部6に加えられている。
 そこで、このような信号復元回路2CによるDQ信号から受信データパルス幅の再生は次の通りである。
 DQ信号における受信データの位相は、電源電圧、装置温度等の環境要因により変動している。このため、内部クロックに乗り換えた後、受信データも同様に変動する。信号受信部28では、内部クロック信号でDQ信号が正規化されたようにみえる。しかし、内部クロック位相に乗り換えた受信データは、その取り込みクロックをタイムリーに進めたり遅らせたりしており、この影響でパルス幅はクロックを切り換えたと同時に1クロック幅分(=tCK/4=4相クロックの相間遅延差分)だけ狭くなったり、広くなったりしている。
 そこで、この信号復元回路2Cでは、記憶部4及び記憶制御部6でDQ信号(入力信号IN)の遅延制御部を構成し、データのパルス幅を再生する処理を実現している。記憶部4は、データの遅延ばらつきを吸収するに十分なFIFO機能を備え、DQPHASE信号が持つ遅延量に応じ、記憶部4で構成されるFIFOを通過する遅延時間を増加又は減少させる。これにより、信号受信部28から出力される受信信号即ち、DQ信号の遅延を一定に保つとともに、データパルス幅を再生している。
 この信号復元処理について、より具体的に述べる。DQPHASE信号が持つ遅延量が大きくなった場合(=クロック乗り換えのための遅延が大きい場合)には、その分だけFIFOを早く通過するようにすればよい。また、DQPHASE信号が持つ遅延量が小さくなれば、FIFOを遅く通過するようにすればよい。このような遅延の増加又は減少により、出力データ位相が一定に保たれる。
 また、パルス幅の再生は以下の通りである。データのパルス幅が狭くなる場合とは、受信データの位相が早くなった場合であり、これをFIFOを構成する記憶部4では、通過する遅延時間を増加させる必要がある。また、データのパルス幅が広くなる場合とは、受信データの位相が遅くなった場合であり、FIFOを構成する記憶部4では、通過する遅延時間を減少させる必要がある。
 そして、狭くなったデータのパルス幅を広げることに対応するには、FIFOへのデータの入力方法について、第1及び第2の実施の形態に詳細に述べた通りである。即ち、隣り合う2〔bit〕のラッチ手段即ち、FF(図4、図5)に対し、同時に入力信号INを入力すればよく、これにより、FIFOの段数を変更した場合のデータ不定(データ消失)を無くすことができる。
 斯かる実施の形態によれば、データパルス幅が常に一定になり、信号復元回路2Cの出力信号OUTが生成され、これが安定した受信信号となる。即ち、原データ信号を忠実に復元することができる。
〔第4の実施の形態〕
 第4の実施の形態は、遅延情報にオフセット情報を付加して記憶制御を行う構成、即ち、第1、第2又は第3の実施の形態にオフセット情報を付加して制御する構成である。
 この第4の実施の形態について、図7、図8、図9、図10及び図11を参照する。図7は、第4の実施の形態に係る信号復元回路の一例を示す図、図8は、その具体例である信号復元回路を示す図、図9、図10及び図11はオフセット信号が付加された場合の信号復元処理を示す図である。図7、図8において、図1、図4又は図6と同一部分には同一符号を付してある。
 この信号復元回路2Dでは、図7に示すように、記憶制御部6に加算器56が設置されている。この加算器56は、既述の遅延信号DQPHASEにオフセット信号Offsetを加算する演算手段の一例である。この実施の形態では、セレクタ部8には、オフセット信号Offsetが加算されたオフセット付き遅延信号(DQPHASE+Offset)が遅延情報として加えられる。その他の構成は、第1の実施の形態(図1)と同様である。
 そこで、この信号復元回路2Dは、図8に示すように構成され、加算器56の各出力はセレクタ部8の各セレクタ801、802、803・・・815の選択入力となっている。また、記憶部4のFF401、402、403・・・416によるFIFOの構成は、第2の実施の形態と同様である(図4)。
 この信号復元回路2Dにおいて、加算器56は、遅延信号DQPHASEとオフセット信号Offsetの和を出力する。これにより、入力信号DQがFIFOを通過するのにかかる時間(クロック数)を増加又は減少させることができる。
 この入力信号DQの遅延制御について、オフセットがOffset=0(処理テーブル10B:図9)、Offset=1(処理テーブル10C:図10)及びOffset=5(処理テーブル10D:図11)を例示する。図9、図10、図11の各テーブルにおいて、処理番号は時間の推移を示している。
 各処理テーブル10B、10C及び10Dにおいては、処理番号欄12、入力信号欄14、遅延信号欄16、記憶部4の書き込み位置(FIFO内信号書き込み位置)欄18、出力信号欄20が提示されている。各処理テーブル10B、10C及び10Dにおいて、処理テーブル10A(図5)と異なるのは、オフセット信号欄58、オフセット付き遅延信号欄60を備えていることである。
 処理番号欄12は、処理順序を示す番号として0ないし45が例示されている。入力信号欄14には、既述の入力信号DQ=X、A、B・・・が格納されている。この場合、遅延信号欄16には、既述した信号受信部28(図6)からの遅延信号DQPHASE が格納される。
 記憶部4の書き込み位置欄18には、FF401=-8・・・FF416=7の位置が設定され、信号の遷移を示している。各位置には、入力信号DQ=X、A、B・・・、出力信号欄20には、出力信号OUT=X、A、B・・・が例示されていることは既述の通りである。
 そして、オフセット信号欄58には、遅延信号DQPHASEに加算するためのオフセット情報としてオフセット信号Offsetが格納される。また、オフセット付き遅延信号欄60には、遅延信号欄16にある遅延信号DQPHASEと、オフセット信号欄58にあるオフセット信号Offsetとの加算値であるオフセット付き遅延信号(DQPHASE+Offset)が格納される。
 各場合について、既述の通り、FIFOでは、上段側の入力信号DQを右にシフトするとともに、入力信号DQを「遅延信号」と「遅延信号-1」の位置に入力し、出力信号OUTをFF416から取り出している。また、図9、図10及び図11のセル1行毎に回路の1クロック進むものとする。また、入力信号DQの入力では、同一信号が2回ずつ繰り返しながら入力され、入力信号DQが遅れた場合には、入力信号が1クロック分だけ伸び、オフセット付き遅延信号(DQPHASE+Offset)の値が3〔bit〕ビット目で1だけ増える(例えば、処理番号15、18)。入力信号DQが進んだ場合には、入力信号が1クロック分だけ縮み、オフセット付き遅延信号(DQPHASE+Offset)の値が次の信号で1だけ減じられる(例えば、処理番号25、26)。
 そこで、Offset=0では、図9に示すように、既述した遅延制御(図5)と同様である。また、Offset=1では、図10に示すように、Offset=0の場合に比較し、出力信号OUTが1クロック分だけ早く出力される。また、Offset=5では、図11に示すように、Offset=0の場合に比較し、出力信号OUTが5クロック分だけ早く出力され、Offset=1の場合に比較し、出力信号OUTが4クロック分だけ早く出力される。
〔第5の実施の形態〕
 第5の実施の形態は、DIMMのメモリコントローラに既述の信号復元回路と、オフセット信号設定部とを備えることにより、受信信号のレイテンシ(Latency )調整回路を構成している。
 この第5の実施の形態について、図12を参照する。図12は、第5の実施の形態に係るレイテンシ調整回路の一例を示す図である。図12において、図6及び図7と同一部分には同一符号を付してある。
 このレイテンシ調整回路64は、本開示の信号復元回路及びレイテンシ調整回路の一例であって、DIMM26のデータ信号を復元する信号復元手段、受信データのレイテンシを調整する手段である。DIMM26は、既述の通り、データ源であるとともに信号源の一例である。
 そこで、レイテンシ調整回路64は、信号受信部28の受信信号のレイテンシを調整する手段の一例であって、図12に示すように、信号復元回路2Eにある記憶部4と、記憶制御部6と、メモリコントローラ24B側にオフセット設定部62Aとを備えている。この場合、信号復元回路2Eは、メモリコントローラ24Bのインターフェイス部を構成している。記憶部4、記憶制御部6、信号受信部28及びメモリコントローラ24Bは、既述の通りであるから、その説明を省略する。
 オフセット設定部62Aは、記憶制御部6に設定する既述のオフセット信号Offsetを生成し、このオフセット信号によりオフセットを設定する手段の一例である。このオフセット設定部62Aは、コントロールレジスタ66と、データ格納用レジスタ68と、演算装置70とを備える。
 コントロールレジスタ66は、DIMM26にデータの書き込みタイミングやデータの取り込みタイミングを設定する手段の一例であって、メモリコントローラ24Bに備えられ、演算装置70によって制御される。
 データ格納用レジスタ68は、レイテンシ制御のための各種データの格納手段の一例であって、メモリコントローラ24Bに備えられ、オフセットデータを保持する手段を兼用している。即ち、このデータ格納用レジスタ68はFIFOの設定レジスタを兼ねており、記憶部4からDQ信号を受け、オフセット信号Offsetを出力し、このオフセット信号Offsetを記憶制御部6の加算器56に加える。
 演算装置70は、遅延情報検出手段の一例であり、この実施の形態では、メモリコントローラ24Bの外側に設置されたプロセッサの一例であって、演算処理部72と、記憶部74とを備える。演算処理部72は、記憶部74にあるファームウェアプログラムを実行する手段の一例である。記憶部74は、ファームウェアプログラムの格納手段であるとともに、データ格納手段を構成する。この記憶部74には、ファームウェアプログラム部75、データテーブル76(図19)、データテーブル78(図20)が格納されている。この実施の形態では、記憶部74が演算装置70の内部に設置されているが、演算装置70の外部に設置されてもよい。
 このようなレイテンシ調整の必要性について、図13を参照する。図13は、DIMM及びメモリコントローラを備える回路を示す図である。
 この実施の形態のDIMM26には、図13に示すように、複数のメモリデバイスの一例としてDRAM(0)、DRAM(1)、DRAM(2)・・・DRAM(8)及びレジスタRが備えられ、メモリコントローラ24Bには、既述の信号受信部28である複数の信号受信部280、281、282・・・288が備えられている。
 各信号受信部280、281、282・・・288では、既述のFIFOの役割が果たされるので、DQSグループについて、DRAM(0)、DRAM(1)、DRAM(2)・・・DRAM(8)から各信号復元回路2Eを通して得られるメモリコントローラ24Bの受信信号の遅延が一定に保たれ、データパルス幅の復元が可能となっている。
 ところが、各信号受信部280、281、282・・・288の信号受信が、DRAM(0)~DRAM(8)毎に個別に行われる結果、インターフェイスの回路構成等により区々となる。これらを均一化するために、レイテンシ制御が必要である。そこで、この実施の形態のメモリコントローラ24Bでは、各信号受信部280~288をDQSグループ間でのクロックサイクル単位でのデータのずれを解消する。
 この実施の形態では、FIFOにメモリコントローラ24Bからオフセット情報を送信するインターフェイスとしてオフセット設定部62Aを持ち、FIFOを構成する記憶部4をオフセット付き遅延情報を記憶制御部6で実現している。即ち、メモリコントローラ24B側から遅延信号にオフセットを付加することを可能にしている。
 そこで、異なるDQSグループの複数のDRAM(0)~DRAM(8)のデータ同士のレイテンシを合わせるため、演算装置70(図12)の指示により、DIMM26の所定の連続アドレスに所定の連続データを書き込み、各連続アドレスからデータを連続して読み込む。演算装置70は、連続して読み込んだデータ内容からオフセット値を決定し、このオフセット値を遅延信号に加える。
 演算装置70では、連続して読み込んだデータの内容から、読込み時のレイテンシ即ち、読込みコマンドの発行から読込みデータの受信までの時間(遅延時間)が判る。この遅延時間により、所定のレイテンシに合わせることが可能である。更に、レイテンシのばらつき範囲が限定できれば、FIFOを構成する記憶部4で費やされる無駄なレイテンシ分を省くことができる。
 そこで、このレイテンシ調整のため、メモリコントローラ24BではFIFOのデータ格納用レジスタ68に設定されるオフセット値を決定する(図14)。
 このレイテンシ調整の処理手順について、図14を参照する。図14はレイテンシ調整の処理手順の一例を示すフローチャートである。
 このレイテンシ調整の処理手順は、本開示のレイテンシ調整方法の一例であって、コンピュータによって実行されるプログラムで構成され、レイテンシの検出機能と、レイテンシ検出に基づくレイテンシの調整機能を包含している。
 そこで、この処理手順では、図14に示すように、ファームウェアを実行する演算装置70の指示により、メモリコントローラ24Bは、DIMM26にデータを書き込む(ステップS21)。この場合、書き込むデータは0ないしf(図15)の値が連続したデータである。
 演算装置70はコントロールレジスタ66に対してデータの取り込みタイミング(図15、図16中のGetのタイミング)を指定する(ステップS22)。周波数が異なる場合の2回目のデータ取り込みでは、1回目のデータ取り込みよりGetのタイミング(図17、図18中のGetのタイミング)をクロックの1サイクルだけ遅らせる。
 演算装置70はデータ格納用レジスタ68に“0”を書き込む(ステップS23)。データ格納用レジスタ68は、記憶部4で構成されるFIFOの設定レジスタを兼ねているのは既述の通りである。
 演算装置70は読込み指示を発し、メモリコントローラ24Bは演算装置70がステップS22で指示したタイミングでデータ格納用レジスタ68に値を取り込む(ステップS24)。
 演算装置70はデータ格納用レジスタ68からデータを読み込む(ステップS25)。
 そして、演算装置70は、データ格納用レジスタ68から読み込んだ値より、記憶部74のデータテーブル76(図19)、78(図20)を参照してFIFOの値を決定し、データ格納用レジスタ68にFIFOのオフセット値(遅延値)を設定する(ステップS26)。この処理は、周波数が違う場合には、2回目のデータ取り込みで行う。                                
 このレイテンシ調整について、図15、図16、図17及び図18を参照する。図15及び図17は、レイテンシ調整前のデータを示す図、図16及び図18は、レイテンシ調整後のデータを示す図である。図15~図18おいて、縦線80はシステムクロックのエッジである。
 システムクロックとDIMM26のデータの周波数の関係が、図15に示すように、1:1であれば、既述のフローチャート(図14)を1回だけ実行する。システムクロックとDIMM26のデータの周波数の関係が、図17に示すように、1:2であれば、既述のフローチャート(図14)を2回実行する。また、システムクロックの周波数とDIMM26の周波数の関係が1:Nであれば、既述のフローチャート(図14)をN回実行することにより、レイテンシを揃えることができる(図16、図18)。
 (1) レイテンシ調整前のデータ
 システムクロックとDIMM26のデータの周波数の関係が1:1であれば、例えば、DRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、図15に示すように、連続して取り出される。各データについて、取得タイミングをGet位置とすると、各データは、DRAM(0)=9、DRAM(1)=8、DRAM(2)=8、DRAM(3)=7となる。レイテンシ調整前では、DRAM(1)=DRAM(2)=8であるのに対し、DRAM(0)=9、DRAM(3)=7となり、データが不揃いとなっている。
 また、システムクロックとDIMM26のデータの周波数の関係が1:2であれば、例えば、DRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、図17に示すように、連続して取り出されるが、データが不揃いになっている。
 (2) レイテンシ調整後のデータ
 システムクロックとDIMM26のデータの周波数の関係が1:1であれば、既述のDRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、レイテンシ調整後では、図16に示すように、DRAM(0)=DRAM(1)=DRAM(2)=DRAM(3)=5となり、レイテンシ調整後、各データが揃っている。
 また、システムクロックとDIMM26のデータの周波数の関係が1:2であれば、既述のDRAM(0)、DRAM(1)、DRAM(2)、DRAM(3)の読み出しデータは、レイテンシ調整後では、図18に示すように、連続して取り出されるが、データが揃っている。この場合、取得タイミングはGet1、Get2の各位置である。
 既述のデータテーブル76、78について、図19及び図20を参照する。図19及び図20は、データテーブルの一例を示す図である。
 データテーブル76は、図19に示すように、リード値82が設定されるとともに、このリード値82に対応する設定値84が設定されている。リード値82は、DIMM26のDRAM(0)、DRAM(1)、DRAM(2)・・・から一定のタイミングで読み出されたデータ値である。また、設定値84は、例えば、データ値を所定値「5」に合わせる際に、各DRAM(0)、DRAM(1)、DRAM(2)・・・毎にリード値の取り込み(Get)タイミングを設定する値である。例えば、DRAM(0)では、図15に示すように、Getタイミングで“9”が得られている。そこで、データテーブル76(図19)のリード値82の“9”から設定値84の“4”が選択される。これにより、4クロックだけDRAM(0)のGetタイミングをずらすことが判る。この処理は、一例であって、基準となるリード値が異なれば、別の設定値が用いられる。
 リード値82は、ファームウェアプログラムによって記憶部74に格納され、そのリード値82に対応する設定値84が格納される。この場合、システムクロックとDIMM26のクロックが同一の場合である。
 また、データテーブル78では、図20に示すように、1回目のリード値86、2回目のリード値88に対応する設定値90が設定されている。
 そこで、コントロールレジスタ66に指定する値即ち、既述のGetタイミング(図15、図16)を演算装置70が変更すれば、データ合わせのタイミングを変更することができる。この場合、データテーブル76(図19)のリード値82に対する設定値84を用いれば、図16に示すように、Getタイミングをデータ値“5”に揃えることができる。また、データテーブル78(図20)のリード値86に対する設定値90を用いれば、図18に示すように、Get1のタイミングがデータ値“2”の後半になる。
 そして、信号受信部28側でエラーを生じた場合には、このエラー情報をメモリコントローラ24Bに送る。この信号がメモリコントローラ24Bに受信されると、メモリコントローラ24Bがエラー情報に従って、データの再読込み(リード・リトライ)をする。これにより、オフセット値の精度が高められる。
 以上の実施の形態において、特徴事項や利点等を列挙する。
 (1) メモリコントローラ24Bのインターフェイスに信号受信部28とともにFIFOのオフセット情報を持たせることにより、メモリコントローラ24Bにレイテンシ調整のための遅延素子の設置を省略できる。システムクロック単位のデータのずれを揃えることができる。また、レイテンシ調整とともにオフセット値を知ることができる。
 (2) 上記実施の形態では、信号復元回路として受信データと基準信号(DQS)を受信し、内部基準クロックに対する相対遅延量(DQPHASE)と取り込みデータを出力する受信回路を構成している。受信回路から内部基準クロックに対する相対遅延量(DQPHASE)と取り込みデータを入力し、相対遅延量に応じて内部遅延量を可変するレイテンシ制御を行うことができる。
 (3) 内部基準クロックに対する相対遅延量(DQPHASE)はディジタル量で扱うことができる。
 (4) レイテンシ調整をFIFOで構成できる。
 (5) FIFOを構成する連続した2つのFFに同一データを入力し、データの防護を図っている。
 (6) データ転送レートが1〔Gbps〕を超えるDIMMでは、データ伝送に関する遅延ばらつきがデータ幅を超える場合がある。また、DIMMでは、内部レジスタから各DRAMまでの配線が等長でないFly-byトポロジが採用され、DQSグループ間で遅延時間が不一致となり、クロック遅延のばらつきは1000〔ps〕にもなる。斯かるクロックのサイクルを超えるようなばらつきを吸収する仕組みとして、信号受信部28を構成すればよい。この信号受信部28を用いれば、斯かるばらつきを吸収し、安定したデータ読込み動作が行える。
 (7) DIMM26のDQSグループ間のデータをパラレルで使用する場合には、信号受信部28の通過後に、DQSグループ間のデータをシステムクロック単位で揃えることが必要となる。これを実現するには、信号受信部28の外側回路内で遅延調整をするためのデータ待ち合わせ用シフトレジスタ等の遅延素子が必要となる。また、システムとしてのレイテンシの悪化が避けられない。遅延素子を設置すれば、その分だけ物量が増加することになる。斯かる課題に加え、受信したデータ間の遅延ばらつきはデータ処理の性能低下を来たし、また、信号受信部28でのリードエラーを生じた場合には、リトライ動作が必要であり、その処理は容易でない。このような課題は上記実施の形態の構成により、解決されている。
 (8) 上記実施の形態では、信号受信部28を使用する場合である。DQSグループ間のデータのずれを揃える必要があるシステムでは、信号受信部28の出力段にFIFOの段数を制御する信号を有し、メモリコントローラ24Bのインターフェイス内でデータのずれを揃えている。
 (9) メモリコントローラ24Bは、信号受信部28でエラーが発生したことを示す信号を有することにより、エラー発生時にリードをリトライする機能を有するので、レイテンシ調整の信頼性が高められる。
 (10) 信号受信部28を使用するデータ伝送装置を構成できる。このデータ伝送装置において、メモリコントローラ24BのインターフェイスにFIFOの段数を制御する信号(オフセット値)を有する。
 (11) データ伝送装置において、DIMMに降順又は昇順の連続するデータを書き込み、そのデータを読み出して、読み出すことができた値のパターンによってメモリコントローラ24BがFIFOの段数を制御している。
 (12) データ伝送装置において、メモリコントローラ24Bのインターフェイス部に信号受信部28のエラー情報を伝達する信号を備えてもよい。
 (13) 信号受信部28からのエラー情報をメモリコントローラ24Bで受信することにより、メモリコントローラ24BがDIMMアクセス情報を格納するレジスタを参照してリードのリトライを要求する機構を備えてもよい。
〔第6の実施の形態〕
 第6の実施の形態は、信号復元回路とメモリコントローラとを別個に構成したものである。
 この第6の実施の形態について、図21を参照する。図21は、メモリコントローラ、演算装置、信号復元回路及びDIMMを示す回路図である。
 この実施の形態では、信号復元回路2Eとメモリコントローラ24Cとを別個に構成したものであり、メモリコントローラ24Cには、既述のオフセット設定部62Aが備えられている。斯かる構成によっても、第5の実施の形態と同様の機能や効果が得られる。図21において、図12と同一部分には同一符号を付し、その説明を省略する。
〔第7の実施の形態〕
 第7の実施の形態は、メモリコントローラに既述のレイテンシ調整のために遅延量計測部を備えた構成である。
 この第7の実施の形態について、図22を参照する。図22は、第7の実施の形態に係るレイテンシ調整回路の一例を示す回路図である。図22において、図12と同一部分には同一符号を付してある。
 この実施の形態では、図22に示すように、DIMM26とともにメモリコントローラ24Dを備え、このメモリコントローラ24Dに演算装置70が併設されている。
 この実施の形態のメモリコントローラ24Dには、既述のコントロールレジスタ66、データ格納用レジスタ68とともに、遅延量計測部94が備えられている。
 この遅延量計測部94はオフセット遅延量を計測するための手段の一例であって、DIMM26に遅延計測信号を送信し、該遅延量計測信号とDIMM26からの受信信号とを比較し、遅延計測信号の送信時点から受信信号の受信時点までの遅延時間を計測する手段である。この遅延時間が遅延量であり、この遅延量がオフセット遅延量であって、既述のオフセット信号Offsetでもある。
 そこで、この遅延量計測部94には、遅延計測信号生成部96と、比較部98とが備えられている。遅延計測信号生成部96は、既述の遅延計測信号の生成手段の一例であって、DIMM26に遅延計測信号を送信するとともに、比較部98に転送する。比較部98は、遅延計測信号の送信時点から受信信号の受信時点までの遅延時間を計測する手段の一例であり、遅延計測信号とDIMM26からの受信信号とを比較し、遅延計測信号の送信時点から受信信号の受信時点までの時間を遅延時間とし計測する。この遅延時間は、演算装置70に取り込まれ、遅延情報としてデータ格納用レジスタ68に格納される。
 そして、演算装置70は、記憶部74のファームウェアプログラム部75にあるファームウェアプログラムを実行し、遅延量計測部94に遅延量計測を行わせる。
 斯かる構成によってオフセット信号を生成させ、オフセット値を既述の加算器56(図7)に加えることにより、オフセット付き遅延信号を生成し、受信信号のレイテンシ調整を行ってもよい。
 この実施の形態では、遅延量計測部94をメモリコントローラ24Dに設置しているが、信号復元回路2A(又は2B~2E)に設置してもよく、既述のレイテンシ調整を行うことができる。記憶部74は、演算装置70の外部に設置してもよい。
〔他の実施の形態〕
 (1) 第1の実施の形態では、図3に示すフローチャートに処理手順の一例を記載しているが、信号復元方法又は信号復元プログラムとして、例えば、前記時間を制御するステップ(又は機能)が、入力信号を入力順に記憶し、前記入力信号の遅延情報を受け、該入力信号を入力配列順に読み出しが可能な記憶部から前記入力信号を遅延情報に従って配列順に読み出すステップ(又は機能)と、前記遅延情報が一定の場合には前記入力信号を前記入力順に記憶させ、前記遅延情報が遷移した場合にはその遷移に応じて前記配列中の位置を選択し、該位置に前記入力信号を記憶させるステップ(又は機能)とを含んでもよい。
 (2) 上記信号復元処理の処理手順として、更に、入力信号と基準クロック信号とを比較し、前記基準クロック信号に対する前記受信信号の遅延情報を検出するステップ(又は機能)を含んでもよい。
 (3) 上記信号復元処理の処理手順として、更に、送信した遅延計測信号に対する受信信号のオフセット遅延量を計測するステップ(又は機能)と、前記オフセット遅延量と、前記遅延量検出部で検出された遅延量とから前記遅延情報を生成し、該遅延情報に応じて前記記憶配列の位置を変更するステップ(又は機能)とを含んでもよい。
 (4) 上記実施の形態では、信号復元回路として、メモリコントローラ24に設置される信号復元回路2E(図12)又はメモリコントローラ24外に設置される信号復元回路2E(図21)を例示したが、本開示の信号復元回路は上記実施の形態に限定されない。例えば、本開示の信号復元回路は、メモリコントローラ24等のメモリインターフェイス回路以外に使用し、信号復元に用いられる。
 (5) 上記実施の形態では、メモリコントローラ24について述べたが、本開示のメモリコントローラは上記実施の形態に限定されない。例えば、本開示のメモリコントローラを用いてプロセッサ100(図23)を構成してもよいし、コンピュータ200(図24)を構成してもよい。
 (6) プロセッサ100は例えば、CPU(Central Processing Unit )や、MPU(Micro Processor Unit)に構成される。図23に示すように、このプロセッサ100には、DIMM26のデータ転送を制御するメモリコントローラ24と、ファームウェアプログラム部75の実行手段や、演算処理等を実行する手段として演算処理装置70とを併設してもよい。この場合、メモリコントローラ24には、信号復元回路2A(又は2B~2E)を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、信号(データ)復元、データ転送の高速化や、信頼性を向上させることができる。
 (7) コンピュータ200は、図24に示すように、CPU202と、DIMM26との間に設置されるチップセット204の内部にメモリコントローラ24を備えてもよい。この場合、メモリコントローラ24には、信号復元回路2A(又は2B~2E)を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、信号(データ)復元、データ転送の高速化や、信頼性を向上させることができる。
 (8) CPU202の内部にメモリコントローラ24を備え、このメモリコントローラ24の内部に既述の信号復元回路2A(又は2B~2E)を構成してもよい。斯かる構成によっても、上記実施の形態における効果が得られ、信号(データ)復元、データ転送の高速化や、信頼性を向上させることができる。
 (9) 上記実施の形態において、基準となる内部クロック信号には例えば、周波数を2〔GHz〕に設定してもよいが、これに限定されない。設定するクロック信号の周波数は任意であり、上記実施の形態に記載した数値は一例にすぎない。
 (10 ) 上記実施の形態では、信号復元回路やレイテンシ調整回路等を例示したが、本発明はこれらに限定されない。情報処理装置において、複数のメモリデバイスからのリードデータをパラレルに使用する場合、各メモリデバイスからのレイテンシを各種装置のクロックを基準に同一レイテンシに揃えることができ、複数のメモリデバイスを用いる装置や処理に利用できる。
〔比較例〕
 比較例は、位相変動を伴う信号の信号受信回路であって、メモリコントローラの信号受信部の一例である。
 この比較例について、図25、図26、図27及び図28を参照する。図25は、メモリコントローラの比較例を示す図、図26は、回路の遅延ばらつきの試算例を示す図、図27は、DIMM上のクロック配線形態を示す図、図28は、DIMM上の他のクロック配線形態を示す図である。
 DIMMからDDR信号を最も単純に受信するには、図25に示すように、メモリコントローラ300を構成すればよい。メモリコントローラ300には、DIMM302から信号を受信する手段として信号受信部304が設置され、この信号受信部304にクロック信号を付与する手段としてクロックツリー部306が設置されている。クロックツリー部306及び信号受信部304はLSIで構成されている。する。
 この場合、信号受信部304は、入力データの位相が変動する信号を受信し、DDRメモリインターフェイス回路の信号受信回路を構成する。この信号受信部304には、FF回路308、310、312、314、316、DL318、320、出力バッファ322、入力バッファ324、326が備えられている。クロックツリー部306は、クロックツリー部306はLSI内部クロック回路部を構成し、インバータ328、330、332、334、336、338、340を備えている。DIMM302には入力バッファ342、出力バッファ344が備えられている。
 そこで、信号受信部304は、クロックツリー部306で生成されたCLK信号を受け、CK信号CK0を生成してDIMM302に送信する。DIMM302は、CK信号からDQS信号を生成し、DQ信号とともに信号受信部304に送り返す。信号受信部304では、DQS信号を使ってDQ信号をリタイミングし、さらに内部クロックに乗り換える。このとき、受信点のラッチで確実にデータを受信するためには、内部クロックと受信データとのタイミング関係が一定の範囲内であることが要求される。
 信号受信部304で考えられる遅延ばらつきの要因には、図26に示すように、種々のものが含まれる。これらの要因を全て考慮した場合を想定する。この場合、信号受信点は、DL318の出力側にあるFF310の入力部を想定している(図25)。伝送路長が0〔mm〕であったとしても、信号受信部304を構成するLSI内の受信点ラッチのクロック基準で見れば、受信データは982〔ps〕~4,156〔ps〕の遅延ばらつきを持つことになる。この幅(3,174〔ps〕)は、クロック周期よりも長く、さらにデータ幅よりも長い(1〔GT/s〕伝送の場合、データ幅は1,000〔ps〕)。遅延ばらつきは製造要因のみではなく、環境要因(電源電圧や装置温度)を含むため、稼働中にも受信データ位相はふらつく(=ジッタ)ことである。
 ところで、DDRインターフェイスでは、図27に示すように、DIMM302を構成するDRAM351、352、353、354に対して等長スター配線によりCK信号が付与されてきた。これに対し、DDR3インターフェイスでは、新たにFly by配線(図28)というクロック配線手法が採用された。このFly by配線は、図28に示すように、DIMM302のDRAM351、352、353、354に対して順次にCK信号を付与している。このFly by配線では、信号の波形品質という面では改善が図られたことになる。しかしながら、データ送受信タイミングがDQSグループ間で一致しない。Fly by配線によるクロック遅延のばらつきは、最大で1000〔ps〕程度が見込まれ、この遅延は、信号伝送速度と比較し、無視できない大きさである。
 データ送信時のCK信号とDQS信号とのタイミング不一致に関し、JEDEC(Joint Electron Devices Engineering Council)規格にはWrite Levelingとして、そのばらつき吸収手段が規定されている。しかし、信号受信時のタイミング不一致に関する規定はない。
 本開示の信号復元回路、メモリコントローラ、プロセッサ、コンピュータ又は信号復元方法は、DDR3インターフェイス等の既述の遅延ばらつきを吸収とともにDRAM間のデータレイテンシの調整により、データタイミングを一致させる仕組みを提案している。上記実施の形態では、既述した課題を解決している。
 以上述べたように、本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法は、上記記載に限定されるものではない。特許請求の範囲に記載され、又は発明を実施するための形態に開示された要旨に基づき、当業者において様々な変形や変更が可能であることは勿論である。斯かる変形や変更が、本発明の範囲に含まれることは言うまでもない。
 本開示の信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法は、信号受信に関し、回路上の遅延ばらつきを抑制し、受信データのレイテンシを揃えることができ、実用性の高いメモリコントローラ等を提供するものであり、有用である。
 2A、2B、2C、2D、2E 信号復元回路
 4 記憶部
 6 記憶制御部
28 信号受信部
64 レイテンシ調整回路
70 演算装置

Claims (16)

  1.  入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な記憶部と、
     前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御する記憶制御部と、
     を備えることを特徴とする信号復元回路。
  2.  前記記憶制御部は、前記入力信号の遅延量が大きい場合には、前記遅延時間を減少させ、前記入力信号の遅延量が小さい場合には、前記遅延時間を増加させることを特徴とする、請求項1に記載の信号復元回路。
  3.  前記記憶制御部は、前記入力信号の遅延情報を受け、前記記憶部から前記遅延情報に従って前記入力信号を配列順に読み出すとともに、該遅延情報が一定の場合には前記入力信号を前記入力順に記憶させ、前記遅延情報が遷移した場合にはその遷移に応じて前記配列中の位置を選択し、該位置に前記入力信号を記憶させることを特徴とする、請求項1に記載の信号復元回路。
  4.  更に、前記入力信号と基準クロック信号とを比較し、前記基準クロック信号に対する前記入力信号の前記遅延情報を出力する遅延情報検出部と、
     を備えたことを特徴とする請求項1に記載の信号復元回路。
  5.  前記入力信号は、メモリから受信したデータ信号であることを特徴とする請求項1に記載の信号復元回路。
  6.  前記記憶部は、先入れ先出し(FIFO)が可能な回路であって、該回路が2以上のフリップフロップで構成し、隣り合う2つのフリップフロップに同一データを入力することを特徴とする、請求項1に記載の信号復元回路。
  7.  更に、送信した遅延計測信号に対する受信信号のオフセット遅延量を計測するオフセット遅延量計測部と、
     を備え、前記記憶制御部は、前記オフセット遅延量と、前記遅延情報検出部で得た前記遅延量とを含む前記遅延情報を生成することを特徴とする、請求項4に記載の信号復元回路。
  8.  請求項1ないし請求項7の何れかの請求項に記載の信号復元回路をメモリデバイス毎に備え、各メモリデバイスリードデータのレイテンシを前記信号復元回路を用いてレイテンシを調整することを特徴とするレイテンシ調整回路。
  9.  請求項1ないし請求項7のいずれかの請求項に記載の信号復元回路又は請求項8に記載のレイテンシ調整回路を備えることを特徴とするメモリコントローラ。
  10.  請求項1ないし請求項7のいずれかの請求項に記載の信号復元回路、請求項8に記載のレイテンシ調整回路又は請求項9に記載のメモリコントローラを備えることを特徴とするプロセッサ。
  11.  請求項1ないし請求項7のいずれかの請求項に記載の信号復元回路、請求項8に記載のレイテンシ調整回路、請求項9に記載のメモリコントローラ又は請求項10に記載のプロセッサを備えることを特徴とするコンピュータ。
  12.  入力信号を入力順に配列させて記憶し、配列順に前記入力信号の読み出しが可能な記憶部に、前記入力信号を前記入力順に記憶するステップと、
     前記入力信号の遅延情報により、前記記憶部における前記入力信号の入力から出力までの遅延時間を制御するステップと、
     を含むことを特徴とする信号復元方法。
  13.  前記入力信号の前記遅延情報を受け、前記記憶部から前記入力信号を前記遅延情報に従って配列順に読み出すステップと、
     前記遅延情報が一定の場合には前記入力信号を前記入力順に記憶させ、前記遅延情報が遷移した場合にはその遷移に応じて前記配列中の位置を選択し、該位置に前記入力信号を記憶させるステップと、
     を含むことを特徴とする、請求項12に記載の信号復元方法。
  14.  更に、入力信号と基準クロック信号とを比較し、前記基準クロック信号に対する前記入力信号の遅延情報を検出するステップと、
     を含むことを特徴とする、請求項12に記載の信号復元方法。
  15.  更に、送信した遅延計測信号に対する受信信号のオフセット遅延量を計測するステップと、
     前記オフセット遅延量と、遅延量検出部で検出された遅延量とから前記遅延情報を生成し、該遅延情報に応じて記憶配列の位置を変更するステップと、
     を含むことを特徴とする、請求項13に記載の信号復元方法。
  16.  請求項12ないし請求項15のいずれかの請求項に記載の信号復元方法を含み、各メモリデバイスリードデータのレイテンシを調整することを特徴とするレイテンシ調整方法。
PCT/JP2009/071686 2009-12-25 2009-12-25 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法 Ceased WO2011077574A1 (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
KR1020127013046A KR20120085824A (ko) 2009-12-25 2009-12-25 신호 복원 회로, 레이턴시 조정 회로, 메모리 컨트롤러, 프로세서, 컴퓨터, 신호 복원 방법, 및 레이턴시 조정 방법
EP09852589A EP2518630A4 (en) 2009-12-25 2009-12-25 SIGNAL DECODER SWITCHING, LATCH SETUP SWITCH, MEMORY CONTROL, PROCESSOR, COMPUTER, SIGNAL DECODING METHOD, AND LATENCE SETTING METHOD
CN2009801625337A CN102667731A (zh) 2009-12-25 2009-12-25 信号复原电路、等待时间调整电路、存储器控制器、处理器、计算机、信号复原方法以及等待时间调整方法
JP2011547183A JP5331902B2 (ja) 2009-12-25 2009-12-25 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
PCT/JP2009/071686 WO2011077574A1 (ja) 2009-12-25 2009-12-25 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
US13/472,575 US8788780B2 (en) 2009-12-25 2012-05-16 Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2009/071686 WO2011077574A1 (ja) 2009-12-25 2009-12-25 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US13/472,575 Continuation US8788780B2 (en) 2009-12-25 2012-05-16 Signal restoration circuit, latency adjustment circuit, memory controller, processor, computer, signal restoration method, and latency adjustment method

Publications (1)

Publication Number Publication Date
WO2011077574A1 true WO2011077574A1 (ja) 2011-06-30

Family

ID=44195134

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/071686 Ceased WO2011077574A1 (ja) 2009-12-25 2009-12-25 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法

Country Status (6)

Country Link
US (1) US8788780B2 (ja)
EP (1) EP2518630A4 (ja)
JP (1) JP5331902B2 (ja)
KR (1) KR20120085824A (ja)
CN (1) CN102667731A (ja)
WO (1) WO2011077574A1 (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035223A1 (ja) * 2011-09-06 2013-03-14 エヌイーシーコンピュータテクノ株式会社 メモリコントローラ及びメモリ制御方法
WO2013042233A1 (ja) * 2011-09-21 2013-03-28 富士通株式会社 半導体装置
JP2015138485A (ja) * 2014-01-24 2015-07-30 富士通株式会社 メモリコントローラ及び情報処理装置
US9300559B2 (en) 2013-08-14 2016-03-29 Hyundai Motor Company Message processing method of gateway

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8971471B2 (en) * 2011-12-07 2015-03-03 Imagine Communications Corp. Predictable coding delay over communications networks
WO2015065426A1 (en) 2013-10-31 2015-05-07 Hewlett-Packard Development Company, L.P. Memory access for busy memory
CN106897234B (zh) * 2016-09-23 2019-07-30 常州新智源电子科技有限公司 一种处理器以及处理器内置存储器的控制方法
US10592442B2 (en) * 2017-12-11 2020-03-17 Advanced Micro Devices, Inc. Asynchronous buffer with pointer offsets
CN108665922B (zh) * 2018-04-24 2021-09-24 电子科技大学 一种应用于雷达模拟的可变双向数字延迟方法

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05258589A (ja) * 1992-03-10 1993-10-08 Fujitsu General Ltd 可変長シフトレジスタ
JPH07169058A (ja) 1993-12-10 1995-07-04 Canon Inc 光学的情報再生装置
JPH10190639A (ja) * 1996-12-20 1998-07-21 Matsushita Electric Ind Co Ltd クロック乗せ替え回路
JPH1125029A (ja) 1997-07-04 1999-01-29 Fujitsu Ltd メモリサブシステム
JPH11167515A (ja) 1997-10-03 1999-06-22 Matsushita Electric Ind Co Ltd データ伝送装置及びデータ伝送方法
JP2003050739A (ja) 2001-08-06 2003-02-21 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2003099321A (ja) 2001-09-21 2003-04-04 Ricoh Co Ltd メモリ制御装置
JP2006107352A (ja) 2004-10-08 2006-04-20 Fujitsu Ltd メモリコントローラ
JP2007164697A (ja) 2005-12-16 2007-06-28 Shinko Electric Ind Co Ltd 半導体集積回路およびメモリシステム並びにクロック信号設定方法
JP2007536773A (ja) 2004-04-29 2007-12-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多重データレートramメモリコントローラ
JP2008071018A (ja) 2006-09-13 2008-03-27 Matsushita Electric Ind Co Ltd メモリインターフェース回路
JP2009076991A (ja) * 2007-09-18 2009-04-09 Fujitsu Ltd 可変遅延回路,遅延時間制御方法および単位回路

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5084839A (en) * 1990-02-05 1992-01-28 Harris Corporation Variable length shift register
US6243797B1 (en) 1997-02-18 2001-06-05 Micron Technlogy, Inc. Multiplexed semiconductor data transfer arrangement with timing signal generator
JP3758285B2 (ja) * 1997-03-17 2006-03-22 ソニー株式会社 遅延回路およびそれを用いた発振回路
US6356485B1 (en) * 1999-02-13 2002-03-12 Integrated Device Technology, Inc. Merging write cycles by comparing at least a portion of the respective write cycle addresses
DE10345236B3 (de) * 2003-09-29 2005-03-10 Infineon Technologies Ag Verzögerungsregelkreis
US7298188B2 (en) 2004-04-30 2007-11-20 Fujitsu Limited Timing adjustment circuit and memory controller
US7847595B2 (en) * 2006-01-26 2010-12-07 Nec Corporation Input circuit and semiconductor integrated circuit comprising the input circuit

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05258589A (ja) * 1992-03-10 1993-10-08 Fujitsu General Ltd 可変長シフトレジスタ
JPH07169058A (ja) 1993-12-10 1995-07-04 Canon Inc 光学的情報再生装置
JPH10190639A (ja) * 1996-12-20 1998-07-21 Matsushita Electric Ind Co Ltd クロック乗せ替え回路
JPH1125029A (ja) 1997-07-04 1999-01-29 Fujitsu Ltd メモリサブシステム
JPH11167515A (ja) 1997-10-03 1999-06-22 Matsushita Electric Ind Co Ltd データ伝送装置及びデータ伝送方法
JP2003050739A (ja) 2001-08-06 2003-02-21 Matsushita Electric Ind Co Ltd メモリ制御装置
JP2003099321A (ja) 2001-09-21 2003-04-04 Ricoh Co Ltd メモリ制御装置
JP2007536773A (ja) 2004-04-29 2007-12-13 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 多重データレートramメモリコントローラ
JP2006107352A (ja) 2004-10-08 2006-04-20 Fujitsu Ltd メモリコントローラ
JP2007164697A (ja) 2005-12-16 2007-06-28 Shinko Electric Ind Co Ltd 半導体集積回路およびメモリシステム並びにクロック信号設定方法
JP2008071018A (ja) 2006-09-13 2008-03-27 Matsushita Electric Ind Co Ltd メモリインターフェース回路
JP2009076991A (ja) * 2007-09-18 2009-04-09 Fujitsu Ltd 可変遅延回路,遅延時間制御方法および単位回路

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP2518630A4 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013035223A1 (ja) * 2011-09-06 2013-03-14 エヌイーシーコンピュータテクノ株式会社 メモリコントローラ及びメモリ制御方法
JP2013054692A (ja) * 2011-09-06 2013-03-21 Nec Computertechno Ltd メモリコントローラ及びメモリ制御方法
US9305617B2 (en) 2011-09-06 2016-04-05 Nec Platforms, Ltd. Data and strobe decompressing memory controller and memory control method
WO2013042233A1 (ja) * 2011-09-21 2013-03-28 富士通株式会社 半導体装置
JP5673842B2 (ja) * 2011-09-21 2015-02-18 富士通株式会社 半導体装置
US8976619B2 (en) 2011-09-21 2015-03-10 Fujitsu Limited Semiconductor apparatus
US9300559B2 (en) 2013-08-14 2016-03-29 Hyundai Motor Company Message processing method of gateway
JP2015138485A (ja) * 2014-01-24 2015-07-30 富士通株式会社 メモリコントローラ及び情報処理装置

Also Published As

Publication number Publication date
CN102667731A (zh) 2012-09-12
EP2518630A1 (en) 2012-10-31
US20120226884A1 (en) 2012-09-06
JP5331902B2 (ja) 2013-10-30
KR20120085824A (ko) 2012-08-01
EP2518630A4 (en) 2013-01-23
JPWO2011077574A1 (ja) 2013-05-02
US8788780B2 (en) 2014-07-22

Similar Documents

Publication Publication Date Title
JP5331902B2 (ja) 信号復元回路、レイテンシ調整回路、メモリコントローラ、プロセッサ、コンピュータ、信号復元方法及びレイテンシ調整方法
JP5537568B2 (ja) 信号受信回路、メモリコントローラ、プロセッサ、コンピュータ及び位相制御方法
US7590008B1 (en) PVT compensated auto-calibration scheme for DDR3
CN102047340B (zh) 用于多相时钟产生的设备和方法
JP4878215B2 (ja) インタフェース回路及びメモリ制御装置
US7672191B2 (en) Data output control circuit
CN101149961B (zh) 用于控制存储器接口的设备和方法
US7499370B2 (en) Synchronous semiconductor memory device
JP5653177B2 (ja) メモリインターフェース回路及び半導体装置
US8209560B2 (en) Transmission system where a first device generates information for controlling transmission and latch timing for a second device
JP2008052335A (ja) インターフェース回路
US8976619B2 (en) Semiconductor apparatus
US20240290365A1 (en) Circuit for aligning command input data and semiconducter device including the same
CN100412749C (zh) 存储器信号定时调校方法与相关装置
JP2012027734A (ja) メモリコントローラおよびメモリアクセスシステム
JP5113433B2 (ja) メモリコントローラ
US20250298515A1 (en) Low-overhead periodic adjustment for memory timing
JP5005928B2 (ja) インタフェース回路及びそのインタフェース回路を備えた記憶制御装置
JP2010079520A (ja) メモリモジュールのコントローラ及びメモリモジュールのコントローラの制御方法
JP2006065470A (ja) メモリ制御方法および装置
JP4855908B2 (ja) レイテンシーカウンター及び関連方法
JP4819493B2 (ja) 回路システム
CN116569263A (zh) 集成电路存储器设备中的信号偏斜校正
JP2005094597A (ja) 遅延制御装置

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 200980162533.7

Country of ref document: CN

121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09852589

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2011547183

Country of ref document: JP

ENP Entry into the national phase

Ref document number: 20127013046

Country of ref document: KR

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 2009852589

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE