The embodiments discussed herein are relates to an integrated circuit, a voltage value acquisition method, and a transmission and reception system.
In recent years, with the progress of a substrate manufacturing technique or a mounting technique of a Large Scale Integrated Circuit (LSI), an apparatus such as a blade server is known in which a plurality of LSIs such as a plurality of Central Processing Units (CPUs) or main storage devices are mounted on a single board. In this apparatus, since distances of signal lines which connect LSIs to each other are different due to mounting matters, time until a signal transmitted from a transmission side LSI is received by a reception side LSI is unbalanced for each signal. In addition, this unbalance depends on characteristics (a resistance value, a capacitance value, an inductance value, a reflective characteristic of a signal, and the like) of a board wire or a connector, and a performance of a driver (a driving capacity of the driver) embedded in an LSI.
A method is known in which a delay element such as a delay line for each signal is provided inside a reception side LSI as a method for reducing influence of the unbalance and satisfying a timing rule of a data strobe signal for data. In addition, as a method for setting a delay time of the delay element of the reception side LSI, a method is performed in which a waveform of a signal outside the LSI, transmitted from a transmission side LSI to a reception side LSI, is observed using an oscilloscope.
Here, with reference to
In addition, the DIMM 200 has a driver 201 outputting a Data Queue Strobe (DQS) signal which is a timing signal (strobe signal) when data is received, and a #DQS signal which is an antiphase signal obtained by inverting a phase of the DQS signal. In addition, the DIMM 200 has a driver 202 outputting a Data Queue (DQ) signal which is a data signal to be received. In addition, the memory controller 100 includes a PKG (package) 110 which is an LSI package of the memory controller, a receiver 120 which receives the DQS signal and the #DQS signal, and a receiver 121 which receives the DQ signal.
Further, a plurality of signal lines are provided between the memory controller 100 and the DIMM 200. Specifically, eighteen signal lines for transmitting the DQS signal, eighteen signal lines for transmitting the #DQS signal, and seventy-two signal lines for transmitting the DQ signal are provided. In addition, eighteen receivers 120 which receive the DQS signal and the #DQS signal and seventy-two receivers 121 which receive the DQ signal are provided and are respectively connected to the signal lines. Furthermore, a set of the DQS signal and the #DQS signal is a balanced signal with a balanced relationship, and the #DQS signal obtained by inverting a phase of the DQS signal is transmitted via a single signal line with respect to the DQS signal transmitted via a single signal line.
In addition, DQ signal 4 bits of four signal lines for transmitting the DQ signal corresponds to each bit of the DQS signal and the #DQS signal. In other words, 1 bit of the DQS signal and the #DQS signal indicates a reading timing of the DQ signal corresponding to 4 bits. Further, in relation to the DQ signal, among 72 bits of the DQ signal transmitted via the 72 signal lines, DQ[0] to DQ[63] are data bits, and DQ[64] to DQ[71] are error correction bits used for Error Checking and Correction (ECC).
In addition, the memory controller 100 includes a delay circuit 130 which is a delay element giving a delay time to the DQS signal, a delay circuit 131 which gives a delay time to the DQ signal, and a delay value control circuit 140 which sets a delay time in the delay elements. Further, hereinafter, a signal which is output from the delay circuit 130 is referred to as a “delayed DQS signal”, and a signal which is output from the delay circuit 131 is referred to as a “delayed DQ signal”. Furthermore, the memory controller 100 includes a Flip Flop (FF) 150 and an FF 151 which reads the delayed DQ signal in response to the delayed DQS signal, an inverter 160 which is a negative logical circuit inverting the delayed DQS signal, and a data synchronization circuit 170 which synchronizes data of the FF 150 and the FF 151 which are operated at a frequency of the delayed DQS signal. Here, the data synchronization circuit 170 is a circuit which transfers data between different frequencies by synchronizing data output by the FF 150 and the FF 151 which are operated at a frequency of the delayed DQS/delayed #DQS signal with an embedded clock of the memory controller 100 which has a higher frequency than the frequency of the delayed DQS/delayed #DQS signal.
With this configuration, the DIMM 200 transmits the DQS signal which is a timing signal (strobe signal) from the driver 201 in response to a READ command from the memory controller 100, and transmits the DQ signal which is a data signal from the driver 202. In addition, the DQ signal and the DQS signal output from the DIMM 200 are input to the FF 150 via a connector of the DIMM 200, wires of the system board, wires in the PKG 110 inside the memory controller 100, and the circuits such as the receivers 120 and 121 and the delay circuits 130 and 131. Thereafter, the FFs 150 and 151 read the delayed DQ signal by using the delayed DQS signal which has passed through the delay circuit 130 as a clock signal.
In addition, when the DQ signal and the DQS signal are transmitted and received between the DIMM 200 and the memory controller 100, waveforms of the DQ signal and the DQS signal which are transmitted from the DIMM 200 and are not received by the memory controller 100 can be observed using the oscilloscope 300. Here, the DQ signal and the DQS signal which can be observed using the oscilloscope 300 are a DQ signal and a DQS signal before being input to the delay circuits 130 and 131 of the memory controller 100.
However, in the method in which a waveform of the signal transmitted from the transmission device to the reception device is observed using the oscilloscope, there is a problem in that it is difficult to know whether or not the delayed DQS signal which is a timing signal after being output from the delay element inside the reception device satisfies a timing rule of a setup time and a hold time. In other words, the oscilloscope is provided outside the reception device and thus does not observe a waveform of an input signal inside the reception, and it is difficult to know whether or not a reading timing of the delayed DQ signal for the delayed DQS signal after being output from the delay element inside the reception device satisfies the timing rule of the setup time and the hold time. In addition, the above-described problem is not limited to communication between the DIMM and the memory controller and is a problem common to the devices transmitting and receiving a signal.
According to an aspect of an embodiment, an integrated circuit includes a data signal reception unit that receives a data signal transmitted from a transmission circuit, a timing signal reception unit that receives a timing signal transmitted from the transmission circuit and indicating a reading timing of the data signal, a timing adjustment unit that adjusts an output timing of the timing signal received by the timing signal reception unit, a reading unit that reads the data signal received by the data signal reception unit according to an adjusted timing signal of which the output timing is adjusted by the timing adjustment unit, and a voltage value acquisition unit that acquires a voltage value of the data signal received by the data signal reception unit and a voltage value of the adjusted timing signal of which the output timing is adjusted by the timing adjustment unit.
The object and advantages of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the claims.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are not restrictive of the invention, as claimed.
Preferred embodiments of the present invention will be explained with reference to accompanying drawings. In addition, this invention is not limited to these embodiments.
In the following embodiment, a configuration and a process flow of a memory controller related to First Embodiment will be described in order, and effects by First Embodiment will be described finally. In addition, in the following, a description will be made an example of the case where a Dual Inline Memory Module (DIMM) transmits a DQ signal which is a data signal and a DQS signal which is a timing signal (strobe signal) to a memory controller as response signals to a READ command (details thereof will be described later in
First, with reference to
Here, with reference to
In addition, the DIMM 30 (30A) has a Synchronous Dynamic Random Access Memory (SDRAM) 33 (33A) mounted thereon as illustrated in
Here, a standard interface of DDR SDRAM will be described with reference to
In addition, as illustrated in
Referring to
Specifically, the DIMM 30 transmits the DQS signal from the driver 31 to the memory controller 10, for example, via wires with a bit width of 18 bits. In addition, the driver 31 also transmits the #DQS signal obtained by inverting the DQS signal to the memory controller 10 together with the DQS signal. Further, the #DQS signal is a signal transmitted to the memory controller 10 so as to detect noise that is mixed with the DQS signal due to crosstalk. 1 bit of the DQS signal/#DQS signal in a single signal line for transmitting the DQS signal/#DQS signal corresponds to 4 bit of the DQ signal in four signal lines for transmitting the DQ signal. In other words, 1 bit of the DQS signal and the #DQS signal indicates a reading timing of the DQ signal corresponding to 4 bits.
In addition, the DIMM 30 transmits the DQ signal from the driver 32 to the memory controller 10, for example, via wires with a bit width of 72 bits. Further, for example, among data items of 72 bits transmitted from the driver 32, 64 bits are data items for the READ commands, and 8 bits are data items for error correction. Here, a data format of the DQS signal will be described specifically with reference to
The memory controller 10 includes the PKG 11, a receiver 12A, a receiver 12B, a delay circuit 13A, a delay circuit 13B, a delay value control circuit 14, a flip flop (FF) 15A, an FF 15B, and an inverter 16. In addition, the memory controller 10 includes a data synchronization circuit 17, an error detection circuit 18, a waveform gathering control unit 19, and an Analog to Digital (A/D) converter 20, a memory 21, and a system circuit 22.
The PKG 11 is connected to the DIMM 30 via wires provided therebetween, and receives a DQ signal and a DQS signal from the DIMMs 30 and 30A. Specifically, the package 11, as illustrated in
The receiver 12A receives a DQS signal and a #DQS signal. Specifically, the receiver 12A receives the DQS signal and the #DQS signal from the DIMMs 30 and 30A via the wires provided in the wire substrate 11a of the PKG 11, obtains a difference with a difference signal of the received DQS signal and the #DQS signal so as to recover an original DQS signal which is output to the delay circuit 13A.
The receiver 12B receives a DQ signal. A bus width of the DQ signal received by the receiver 12B is 72 bits, and a bus width of the DQS signal is 18 bits. 1 bit of the DQS signal corresponds to 4 bits of the DQ signal. Specifically, the receiver 12B receives the DQ signal from the DIMMs 30 and 30A via the wires provided in the wire substrate 11a of the PKG 11, and outputs the received DQ signal to the delay circuit 13B.
The delay circuit 13A adjusts an output timing of the DQS signal received by the receiver 12A. Specifically, the delay circuit 13A delays the DQS signal output from the receiver 12A so as to be output to the FF 15A, the inverter 16, and the A/D converter 20. The delay circuit 13B adjusts an output timing of the DQ signal received by the receiver 12B. The delay circuit 13B delays the DQ signal received by the receiver 12B so as to be output to the FF 15A, the FF 15B, and the A/D converter 20. In addition, the delay circuits 13A and 13B are assumed to absorb the unbalance of a delay time which occurs until the DQ signal and the DQS signal transmitted from the DIMMs 30 and 30A arrive at the memory controller 10. Further, the unbalance here refers to both the delay unbalance between the same signals such as the DQ signals or the DQS signals, and the delay unbalance between the DQ signal and the DQS signal.
The delay value control circuit 14 sets a delay time in the delay circuits 13A and 13B. Specifically, the delay value control circuit 14 includes a setting register 14a which stores a setting value of a delay time received from an external terminal. In addition, the delay value control circuit 14 sets a delay time in the delay circuits 13A and 13B such that a timing of a delayed DQS signal satisfies a timing rule of a setup time and a hold time, according to the setting value of the delay time stored by the setting register 14a.
Here, the delay circuit 13A and the delay value control circuit 14 will be described in detail with reference to
In addition, in the example of
The FF 15A reads a delayed DQ signal output by the delay circuit 13B in synchronization with rising of the delayed DQS signal output by the delay circuit 13A. Specifically, the FF 15A reads the delayed DQ signal when a voltage value of the delayed DQS signal output by the delay circuit 13A exceeds a predetermined threshold value, and outputs the read delayed DQ signal to the data synchronization circuit 17.
In addition, the inverter 16 inverts the delayed DQS signal which is input from the delay circuit 13A, so as to be output to the FF 15B. The FF 15B reads the delayed DQ signal output by the delay circuit 13B in synchronization with rising of the delayed DQS signal output by the inverter 16. Specifically, the FF 15B reads the delayed DQ signal when a voltage value of the delayed DQS signal output by the inverter 16 exceeds a predetermined threshold value, and outputs the read delayed DQ signal to the data synchronization circuit 17.
The data synchronization circuit 17 synchronizes the data output from the FF 15A and the data from the FF 15B with an embedded clock thereof so as to be output to the error detection circuit 18. Here, a detailed configuration of the data synchronization circuit will be described with reference to
The phase comparison circuits 17a compares a phase of the delayed DQS signal or the delayed #DQS signal output from the FFs 15A and 15B with a phase of a clock signal CLK of the memory controller 10, obtains a difference between CLK and the delayed DQS signal, and inputs the difference between CLK and the delayed DQS signal to the delay circuits 17b as a setting value. In addition, the delay circuits 17b gives a delay time to the delayed DQ signal such that the delayed DQ signal is synchronized with the clock signal of the memory controller 10, and outputs the delayed DQ signal to the error detection circuit 18.
Here, a synchronization process by the data synchronization circuit will be described with reference to
Here, output timings of the DQ signal and the DQS signal will be described with reference to
As exemplified in
In addition, the delayed DQ is read to the FF 15B at a timing when the delayed DQS signal which is inverted by the inverter 16 is equal to or more than a predetermined threshold value, and is output to the data synchronization circuit 17 from the FF 15B. When described using the example of
The error detection circuit 18 detects that the FF 15A or the FF 15B has failed to read the delayed DQ signal. Specifically, the error detection circuit 18 detects whether or not there is an error in the delayed DQ signals read from the FFs 15A and 15B by using error correction data included in the delayed DQ signals, and transmits a notification indicating that errors are detected to the waveform gathering control unit 19 when the errors are detected. In addition, the error detection circuit 18 detects errors of data of the first bit to the 64th bit by using the error correction data included in the 65th bit to the 72nd bit of the delayed DQ signal. In addition, the system circuit 22 is provided at the rear stage of the error detection circuit 18. The system circuit 22 uses data in which it is confirmed that there is no error by the error detection circuit 18.
The waveform gathering control unit 19 controls an operation of the A/D converter 20 which samples a reception waveform of the delayed DQS output from the delay circuit 13A and a voltage value of the delayed DQ signal output from the delay circuit 13B. Specifically, when the information indicating errors are detected from the error detection circuit 18, the waveform gathering control unit 19 controls an operation of the A/D converter 20 so as to a voltage value of the delayed DQ signal and a voltage value of the delayed DQS signal when reading failure occurs. Further, a sampling frequency of the A/D converter 20 is 7.5 picosecond (ps).
For example, when the DIMM 30 is initially shipped, the waveform gathering control unit 19 starts an operation of the A/D converter 20 and makes the A/D converter 20 sample voltage values of the delayed DQ signal and the delayed DQS signal and transmit the sampled values to the memory 21 in a case where an M-th error is detected in the error detection circuit 18. Successively, the waveform gathering control unit 19 stops an operation of the A/D converter 20 and transmits the data accumulated in the memory 21 to the PC 40 in a case where an N-th error is detected in the error detection circuit 18.
In other words, since errors frequently occur when the DIMM 30 is initially shipped, an operation of the A/D converter 20 is not operated so as to wait for an operation of the DIMM 30 to be stabilized until the M-th error is detected, and an operation of the A/D converter 20 starts after the M-th error is detected. Here, the reason why errors frequently occur when the DIMM is initially shipped is that there are cases where quality of the DIMM is not constant and thus an operation is unstable in the initial shipment. In addition, the reason why an operation of the A/D converter 20 does not start until the M-th error is detected is that, since an operation thereof is not stabilized immediately after an operation of the DIMM 30 starts but errors particularly frequently occur, an operation of the DIMM 30 is awaited to be stabilized for a while after the operation thereof starts, and then the A/D converter 20 is operated. Thereby, even when the DIMM is initially shipped, it is possible to sample voltage values of the delayed DQ signal and the delayed DQS signal which are influenced by an unbalance of a delay time due to the PKG 11 or the delay circuits 13A and 13B inside the memory controller 10. In addition, the above-described method of sampling a voltage value in the circumstances in which an operation of the DIMM is unstable is hereinafter referred to as a “first collection method”.
In addition, for example, in a case where a producing amount of the DIMM becomes constant and thus quality of the DIMM is stabilized, the waveform gathering control unit 19 starts an operation of the A/D converter 20 so as to gather data which is transmitted to the memory 21 when the start of an operation is received from the PC 40. Further, in a case where errors are detected in the error detection circuit 18, an operation of the A/D converter 20 stops, and the data accumulated in the memory 21 is transmitted to the PC 40.
In other words, in circumstances in which a producing amount of the DIMM becomes constant, an operation of the A/D converter 20 starts before errors occur in order to handle a DIMM in which only several errors occur for a long time. Here, the reason why several errors occur for a long time if a producing amount of the DIMM becomes constant is that quality of the DIMM is also stabilized at the same time as a producing amount of the DIMM becoming constant.
In addition, when errors occur, an operation of the A/D converter 20 stops, and the accumulated data which is accumulated in the memory 21 and is sampled by the A/D converter 20 is transmitted to the PC 40. Further, the above-described method of sampling a voltage value in the circumstances in which a producing amount of the DIMM becomes constant is hereinafter referred to as a “second collection method”. Furthermore, whether to perform sampling of a voltage value using the first collection method or to perform sampling of a voltage value using the second collection method is determined by the waveform gathering control unit 19 receiving operation settings from the PC 40.
Here, a detailed configuration of the waveform gathering control unit 19 will be described with reference to
The I2C controller 19a controls communication with the PC 40. Specifically, the I2C controller 19a receives an instruction regarding whether the above-described first collection method or second collection method is performed as an operation setting, or specific content of a start condition or a stop condition of an operation of the A/D converter 20, from the PC 40. In addition, the I2C controller 19a transmits data of the delayed DQ signal and the delayed DQS signal read from the memory 21, to the PC 40. The error count number register 19b stores the number of errors detected by the error detection circuit 18.
In a case of sampling a voltage value through the first collection method, the waveform gathering sequencer 19c notifies the A/D converter operation setting portion 19d of an instruction for starting of an operation of the A/D converter 20 when the number of errors stored in the error count number register 19b is M. Thereafter, the waveform gathering sequencer 19c notifies the A/D converter operation setting portion 19d of an instruction for stopping of an operation of the A/D converter 20 when the number of errors stored in the error count number register 19b is N.
In addition, in a case of sampling a voltage value through the second collection method, the waveform gathering sequencer 19c notifies the A/D converter operation setting portion 19d of an instruction for starting of an operation of the A/D converter 20 when the starting of an operation is received from the PC 40. Then, when errors are detected in the error detection circuit 18, the A/D converter operation setting portion 19d is notified of an instruction of stopping of an operation of the A/D converter 20.
When the instruction for starting of an operation of the A/D converter 20 is received from the waveform gathering sequencer 19c, the A/D converter operation setting portion 19d sets starting of an operation for the A/D converter 20. In addition, when the instruction for stopping of an operation of the A/D converter 20 is received, the A/D converter operation setting portion 19d sets stopping of an operation for the A/D converter 20.
The A/D converter 20 converts the gathered delayed DQ signal and delayed DQS signal into voltage values, respectively, for each predetermined time, and stores the converted values in the memory 21. Specifically, when the instruction for starting of an operation is received from the waveform gathering control unit 19, the A/D converter 20 starts an operation of converting the delayed DQ signal output from the delay circuit 13B and the delayed DQS signals output from the delay circuit 13A and the inverter 16 into voltage values, respectively, for each predetermined time (for example, 7.5 picosecond (ps)). In addition, the A/D converter 20 converts the gathered delayed DQ signal and the delayed DQS signal into voltage values, respectively, and stores the converted voltage values in the memory 21.
Further, when the instruction for stopping of an operation is received from the waveform gathering control unit 19, the A/D converter 20 stops the operation of gathering a voltage value of the delayed DQ signal output from the delay circuit 13B and voltage values of the delayed DQS signals output from the delay circuit 13A and the inverter 16.
Here, a detailed configuration of the A/D converter 20 will be described with reference to
Here, operation timings of the A/D converter 20 and the memory 21 will be described with reference to
In addition, the A/D converter 20 stores the voltage values of the delayed DQ signal and the delayed DQS signal gathered until the operation finishes after the operation starts, in the memory 21. Thereafter, the waveform gathering control unit 19 reads the voltage values of the delayed DQ signal and the delayed DQS signal stored as memory data, so as to be transmitted to the PC 40.
The memory 21 stores the voltage values of the delayed DQ signal and the delayed DQS signal converted by the A/D converter 20. Specifically, the memory 21, as illustrated in
The PC 40 receives data regarding the voltage values of the delayed DQ signal and the delayed DQS signal from the memory controller 10, and displays reception waveforms of the delayed DQ signal and the delayed DQS signal by using the received data. Specifically, when the gathering time and voltage values stored in the memory 21 of the memory controller 10 are received from the waveform gathering control unit 19, the PC 40 displays reception waveforms of the delayed DQ signal and the delayed DQS signal by using the gathering time and the voltage values.
In addition, the PC 40 calculates a setup time and a hold time of the delayed DQ signal with respect to rising of the reception waveform of the delayed DQS signal, and determines whether or not the setup time and the hold time are insufficient in the timing rule of DDR SDRAM.
Here, cases where the setup time and the hold time of the delayed DQ signal are sufficient and insufficient for the delayed DQS signal will be described using examples of
For example, as illustrated in
In addition, in the example of
In other words, the PC 40 displays a reception waveform of the delayed DQ signal and a reception waveform of the delayed DQS signal received from the memory controller 10 and thereby can observe whether or not the delayed DQ signal and each delayed DQS signal satisfy the timing rule of DDR SDRAM. In addition, the PC 40 determines whether or not the setup time and the hold time are insufficient. As a result, in a case where the setup time or the hold time is insufficient, it can be determined that reading error of the FFs 15A and 15B is caused by an unbalance of a delay time inside the memory controller 10.
In addition, for example, the PC 40 may display a reception waveform of the delayed DQ signal in an eye pattern, calculate window widths tup and tdown for threshold values Vth and Vt1, and check whether or not the window widths tup and tdown are insufficient. Further, the threshold value Vth is a voltage level for detecting rising of the delayed DQ signal, and the threshold value Vt1 is a voltage level for detecting falling of the delayed DQ signal. Here, the eye pattern is to display sampled voltage values of the delayed DQ signal in a time series. In addition, the window width tup refers to a time width when a voltage value of the delayed DQ signal is higher than the threshold value Vth, and the window width tdown refers to a time width when a voltage value of the delayed DQ signal is lower than the threshold value Vt1.
Here, cases where the setup time and the hold time of the delayed DQ signal are sufficient and insufficient in the timing rule of DDR SDRAM will be described using examples of
In the example of
In other words, the PC 40 displays reception of the delayed DQ signal received from the memory controller 10 and thereby may observe whether or not the delayed DQ signal satisfies the timing rule of DDR SDRAM for the delayed DQS signal. In addition, the PC 40 determines whether or not the window widths tup and tdown are insufficient, and can determine that the reading error of the FFs 15A and 15B is caused by errors in only the DIMM 30, if window widths tup and tdown are insufficient.
Process by Memory Controller
Next, with reference to
As illustrated in
In addition, the waveform gathering control unit 19 determines whether or not an M-th error is detected by the error detection circuit 18 (step S103). As a result, if the waveform gathering control unit 19 determines that the M-th error is not detected by the error detection circuit 18 (No in step S103), the memory controller 10 returns to S102, and continuously performs the process of receiving the DQ signal and the DQS signal from the DIMM 30.
In addition, if it is determined that the M-th error is detected by the error detection circuit 18 (Yes in step S103), the waveform gathering control unit 19 operates the A/D converter 20 so as to store sampled voltage values of the delayed DQ signal and the delayed DQS signal in the memory 21 (step S104). Further, the memory controller 10 performs a process of receiving the DQ signal and the DQS signal from the DIMM 30 (step S105). Furthermore, the waveform gathering control unit 19 determines whether or not an N-th error is detected by the error detection circuit 18 (step S106).
As a result, if the waveform gathering control unit 19 determines that the N-th error is not detected by the error detection circuit 18 (No in step S106), the memory controller 10 returns to S105, and continuously performs the process of receiving the DQ signal and the DQS signal from the DIMM 30. In addition, if it is determined that the N-th error is detected by the error detection circuit 18 (Yes in step S106), the waveform gathering control unit 19 stops the A/D converter 20 (step S107). Further, the waveform gathering control unit 19 reads the data accumulated in the memory 21 so as to be transmitted to the PC 40 (step S108).
Next, a reception waveform collection process by the memory controller according to the second collection method will be described. Specifically, when operation settings of the A/D converter 20 are received from the PC 40 (step S201), the memory controller 10 operates the A/D converter 20 so as to store voltage values of the delayed DQ signal and the delayed DQS signal in the memory 21 (step S202). In addition, the memory controller 10 performs a process of receiving the DQ signal and the DQS signal from the DIMM 30 (step S203).
In addition, the waveform gathering control unit 19 determines whether or not an error is detected by the error detection circuit 18 (step S204). As a result, if the waveform gathering control unit 19 determines that an error is not detected by the error detection circuit 18 (No in step S204), the memory controller 10 returns to S203, and continuously performs the process of receiving the DQ signal and the DQS signal from the DIMM 30. Here, the error refers to an error in which erroneous data detected by the error correction code (ECC) is transmitted.
In addition, if it is determined that the error is detected by the error detection circuit 18 (Yes in step S204), the waveform gathering control unit 19 stops the A/D converter 20 (step S205). Further, the waveform gathering control unit 19 reads the data accumulated in the memory 21 so as to be transmitted to the PC 40 (step S206).
Next, a description will be made of an operation of the PC 40 which displays voltage values collected by the memory controller 10. The PC 40 receives the voltage values of the delayed DQ signal and the voltage values of the delayed DQS signal, collected using the first collection method or the second collection method, from the memory controller 10 (step S301). In addition, the PC 40 determines whether or not the setup time and the hold time are sufficient based on the voltage values of the delayed DQ signal and the voltage values of the delayed DQS signal (step S302).
As a result, if it is determined that the setup time and the hold time of the delayed DQ signal are not sufficient for the delayed DQS signal in the timing rule of DDR SDRAM (No in step S302), the PC 40 regards that a cause of the error is in the memory controller 10 and changes a setting value of the delay value control circuit 14 of the memory controller 10 (step S303). In addition, if it is determined that the setup time and the hold time are sufficient (Yes in step S302), the PC 40 determines that a cause of the error is in only the DIMM (step S304).
As described above, the memory controller 10 includes the receiver 12A which receives a DQ signal transmitted from the DIMM 30, and the receiver 12B which receives a DQS signal indicating a reading timing of a data signal, transmitted from the transmission circuit. In addition, the memory controller 10 includes the delay circuit 13A which adjusts an output timing of the received timing signal. Further, the memory controller 10 reads a DQ signal according to a delayed DQS signal of which the output timing is adjusted by the delay circuit 13A. Furthermore, the memory controller 10 acquires a voltage value of the delayed DQ signal and a voltage value of the delayed DQS signal. For this reason, it is possible to understand signal waveforms from the voltage values of the delayed DQ signal and the delayed DQS signal inside the memory controller and to thereby understand whether or not a timing of the delayed DQ signal satisfies the timing rule of the setup time and the hold time.
In addition, according to First Embodiment, the memory controller 10 detects that there is an error in the DQ signal, and acquires a voltage value of the DQ signal and a voltage value of an adjusted timing signal in a case where it is detected a predetermined number of times that there is an error in the DQ signal. As a result, even in a case where errors frequently occur when the DIMM 30 is initially shipped, it is possible to appropriately understand whether or not a timing of the delayed DQ signal satisfies the timing rule of the setup time and the hold time.
In addition, according to First Embodiment, in a case where it is detected that there is an error in the DQ signal, the memory controller 10 acquires a voltage value of the DQ signal and a voltage value of the delayed DQS signal when it is detected that there is an error in a data signal. As a result, even in a case where quality of the DIMM is stable, it is possible to appropriately understand whether or not a timing of the delayed DQ signal satisfies the timing rule of the setup time and the hold time.
Further, according to First Embodiment, the memory controller 10 outputs voltage values of the DQ signal and voltage values of the DQS signal collected by the A/D converter 20, to the PC 40. As a result, the PC 40 displays a waveform of the DQ signal and a waveform of the DQS signal, and thereby it is possible to determine whether a cause of an error is in the memory controller 10 or the DIMM 30. For example, in a case where there is a data reading error in the memory controller 10, the PC 40 can determine that timing failures causing the error occur due to unbalance of a delay time inside the memory controller if the setup time and the hold time are not sufficient. In addition, if the setup time and the hold time are sufficient, the PC 40 can determine that DIMM failures causing an error in data output by the DIMM occur.
Although First Embodiment has been described hitherto, in addition to the above-described embodiment, various other forms may be employed. Therefore, hereinafter, as Second Embodiment, other embodiments included in the present embodiment will be described.
(1) Test Pattern
Circumstantial states of the DIMM and the memory controller may be changed, a DQ signal and a DQS signal transmitted from the DIMM may be converted into voltage values, respectively, in a state in which the circumstantial states of the DIMM and the memory controller are changed, and the converted voltage values may be stored in the memory.
Specifically, a predetermined test pattern is written in the DIMM in advance. In addition, the memory controller issues a READ command to the DIMM so as to read the test pattern from the DIMM. Here, when the memory controller reads the test pattern, circumstantial states of the DIMM and the memory controller are changed.
In addition, in a state where the circumstances are changed, the memory controller converts a delayed DQ signal and a delayed DQS signal output from the delay circuits into voltage values, respectively, and stores the converted voltage values in the memory.
For example, when the memory controller reads the test pattern, circumstantial states are changed by increasing a peripheral temperature of the DIMM and the memory controller. As above, in a case of increasing the peripheral temperature of the DIMM and the memory controller, an error may occur such as change in data. In a state in which the error due to the circumstantial variation occurs, the delayed DQ signal and the delayed DQS signal inside the memory controller may be converted into voltage values, respectively, and the converted voltage values may be stored in the memory 21.
(2) Transmission and Reception Device
Although, in First Embodiment, a description has been made of an example of the case where transmission and reception of a signal are performed between the DIMM and the memory controller, the present invention is not limited thereto, and is applicable to various devices as long as the devices perform transmission and reception of a signal without being limited to the DIMM and the memory controller.
(3) Memory
Although, in First Embodiment, a description has been made of an example of the case where data gathered by the A/D converter is stored in the memory and the data stored in the memory is transmitted to the PC, the present invention is not limited thereto, and the data gathered by the A/D converter may be directly transmitted to the PC without providing the memory.
(4) System Configuration and the Like
In addition, each illustrated constituent element of each device is functional and conceptual, and is not necessary to be physically configured as illustrated. In other words, a specific form of distribution and integration of the respective devices is not limited to that illustrated, and all or some thereof may be configured through functional or physical distribution or integration with any units according to various loads, use circumstances, or the like. For example, the data synchronization circuit 17 and the error detection circuit 18 may be integrated. Further, all or any of the respective process functions performed by the respective devices may be realized by a CPU and a program which is interpreted and executed by the CPU, or may be realized in hardware using wired logic.
According to an aspect of the integrated circuit disclosed in the present specification, an effect is achieved in which it is possible to understand whether or not an output of a timing signal satisfies a timing rule of a setup time and a hold time.
All examples and conditional language recited herein are intended for pedagogical purposes of aiding the reader in understanding the invention and the concepts contributed by the inventor to further the art, and are not to be construed as limitations to such specifically recited examples and conditions, nor does the organization of such examples in the specification relate to a showing of the superiority and inferiority of the invention. Although the embodiments of the present invention have been described in detail, it should be understood that the various changes, substitutions, and alterations could be made hereto without departing from the spirit and scope of the invention.
This application is a continuation of International Application No. PCT/JP2010/069527, filed on Nov. 2, 2010 and designating the U.S., the entire contents of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/JP2010/069527 | Nov 2010 | US |
Child | 13864749 | US |