Abstract:
There is provided an apparatus for minimizing a skew occurring due to a change of data pattern by previously recognizing data pattern before data is outputted from the semiconductor device. The apparatus of compensating for a phase delay in a semiconductor device having a delay locked loop (DLL) for generating DLL clock includes: a data pattern detection block for detecting patterns of data loaded on data line and determining delay compensation amount of the data inputted to data output driver based on the detected data patterns; and a delay compensation block for compensating for phase delay of clock relating to the DLL clock inputted to the data output driver under a control of an output signal of the data pattern detection block.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates to a semiconductor device; and, more particularly, to a semiconductor device which is capable of minimizing a skew occurring due to a change of data pattern. Specifically, the present invention relates to a semiconductor device, which is capable of previously recognizing data pattern before data is outputted from the semiconductor device.  
       DESCRIPTION OF RELATED ART  
       [0002]      FIG. 1  is a block diagram of a data output path within a conventional DRAM chip.  
         [0003]     A cell data outputted from DRAM storage cells (memory cell array, not shown) is loaded on a global input/output (GIO) line through a sense amplifier (not shown). Then, the data loaded on the GIO line is transferred to a multiplexer (MUX)  110 . The multiplexer  110  supports to select 4, 8 and 16 applications depending on purposes of DRAM.  
         [0004]     A data outputted from the multiplexer  110  is loaded on a data register  120  (in case of a parallel pipeline scheme, the data register  120  is configured with two or five parallel-connected registers) within a pipeline. A data that is transferred from the data register to a data output driver is outputted to an outside of the chip in synchronization with a clock, which is outputted through a divider R/F  140 . The divider R/F  140  supplies the clock to the data output driver  150  only at a desired timing by logically combining an output data of the data register and an output clock of a DLL  130 , which is outputted in synchronization with an external clock. Also, the divider R/F  140  determines an enable timing of the data output driver  150  that transfers the output data of the data register of the pipeline to an outside using the DLL clock outputted in synchronization with the external clock. At this time, the timing is generated based on CAS latency and burst length (BL), which are required to the DRAM. In the data output driver  150 , UDQS is an upper data strobe and LDQS is a lower data strobe.  
         [0005]      FIG. 2  is a circuit diagram of a data register in a pipeline.  
         [0006]     The data register can select data of GIO odd and even lines, and an input timing of the data register is determined by the control signal. The clock that determines this timing uses a clock that determines a timing of loading a data of a storage cell on a GIO line. In the data register of the pipeline, a timing in which data loaded on the GIO odd and even lines gio_od and gio_ev are inputted to the data register is determined by a soseb signal and a pinb signal. In other words, if the soseb signal is a logic low level, an input of data loaded on the GIO odd and even lines gio_od and gio_ev to the data register is blocked, and if the soseb signal is a logic high level, the input of data to the data register is permitted. The data is inputted in synchronization with the pinb signal that leads DLL clocks rclk_dll and fclk_dll. An rpoutb signal and an fpoutb signal are clocks that determine an output timing of data inputted to the data register. While the rpoutb signal and the fpoutb signal leads the DLL clocks rclk_dll and fclk_dll, the rpoutb signal and the fpoutb signal lags behind the pinb signal.  
         [0007]     Specifically, in case of a universal DRAM for PC/laptop/workstation/server, DDR SDRAM includes sixteen data output drivers, and in case of DRAM for graphic use, DDR SDRAM includes thirty-two data output drivers. Data stored in the storage cells of the DRAM are inputted to each of the data output drivers  150 . The data inputted to the data output drivers  150  are outputted in synchronization with an output clock that is outputted from the delay locked loop (DLL).  
         [0008]      FIG. 3  is a circuit diagram of a conventional divider R/F.  
         [0009]     The divider R/F  140  operating in response to the DLL clocks rclk_dll and fclk_dll transfers DLL output clocks rclk_do and fclk_do to the data output driver using CAS latency (CL) information. The CAS latency (CL) is a regulation for data exchange between chipset and DRAM. The CAS latency is a time until data is transferred from the DRAM to the chipset after a read command is transferred from the chipset to the DRAM. If the CAS latency (CL) is an integer, the rising clock rclk_dll is outputted along a path of an output driver rising clock rclk_do and the falling clock fclk_dll is outputted along a path of an output driver falling clock fclk_do. On the other hand, if the CAS latency (CL) is x.5, the rising clock rclk_dll is outputted along the path of the output driver falling clock fclk_do and the falling clock fclk_dll is outputted along the path of the output driver rising clock rclk_do.  
         [0010]     Meanwhile, among parameters that represent time characteristics determined by Joint Electron Device Engineering Council (JEDEC), tAC, tDQSQ and tDOSCK are associated with valid window width of data or clock, which is outputted from the data output driver. These parameters will be described below in brief.  
         [0011]     tAC is a skew between output data signals (DQ) and means a time difference between a data signal, which passes power supply voltage/2 (VDDQ/2) earliest, and a data signal, which passes power supply voltage/2 (VDDQ/2) most lately. tDQSQ is a time difference between data strobe signal (DQS) and data signal (DQ) and means a time difference between data strobe signal (DQS) passing VDDQ/2 and data signal (DQ) having the largest time difference in time domain. tDOSCK is a skew between an external clock and the data strobe signal.  
         [0012]     Here, the skew between the data signals (DQ) occurs due to several factors. A first factor is skew or jitter of DLL itself caused because the skew changes depending on the implementing method of DLL circuit. A second factor is a skew occurring due to a mismatch of a clock distribution network, that is, a difference between a position that DLL clock reaching the DQ block reaches earliest and a position that DLL clock reaches latest. A third factor is a mismatch of RLC due to a length difference of lead frames between DO pins and bonding wires because chip sizes are different and locations of pads are different. A fourth factor is a difference of data patterns outputted from DO pins. A fifth factor is a mismatch of RLC on PCB connected to DO pins. Except for the fourth factor, the other factors are hardware factors. However, the fourth factor is changed depending on data transmission patterns, not hardware factor.  
         [0013]     Data transmission patterns include a first case (ALL) that all data are transferred in the same direction, a second case (HALF) that half the data are transferred to one direction and the other data are transferred to another direction, a third case that most data are transferred in one direction, while the other data are transferred to another direction. In the third case, the other data may be one data (SS 0 ).  FIG. 4  shows skew occurrence based on data patterns according to the prior art.  
         [0014]     In case when all data are transferred in the same direction, power supply voltage VDDQ or ground voltage VSSQ may be shaken due to instantaneous current consumption when pull-up transistors or pull-down transistors are turned on/off. On the other hand, in case when only one of data DO is transferred to a different direction, pull-up transistors of seventeen data output drivers among eighteen data output drivers are turned on and a pull-down transistor of one data output driver is turned on. In this case, current flow of one pull-down transistor is smoother than the turned-on seventeen pull-up transistors, so that data DQ are transferred faster through the pull-down transistor than through the pull-up transistor.  FIG. 4  exemplarily shows the skew between data DQ in each case. In  FIG. 4 , pattern  1  is a HALF case, pattern  2  is an ALL case, and patterns  3  and  4  are SS 0  cases.  
         [0015]     In case of DDR SDRAM  400 , skew that occurs depending on data transmission patterns may have a very large value of about maximum 300 psec. Therefore, valid window width of data is reduced in the semiconductor device operating at a high speed, resulting in degradation of performance.  
       SUMMARY OF THE INVENTION  
       [0016]     It is, therefore, an object of the present invention to provide a semiconductor device which is capable of minimizing a skew occurring due to a change of data pattern by previously recognizing data pattern before data are outputted from the semiconductor device.  
         [0017]     In an aspect of the present invention, there is provided an apparatus of compensating for a phase delay in a semiconductor device having a delay locked loop (DLL) for generating DLL clock. The semiconductor device includes: a data pattern detection block for detecting patterns of data loaded on data line and determining delay compensation amount of the data inputted to data output driver based on the detected data patterns; and a delay compensation block for compensating for phase delay of clock relating to the DLL clock inputted to the data output driver under a control of an output signal of the data pattern detection block.  
         [0018]     The data pattern detection block includes: a storage means for storing the delay compensation amount based on the data patterns; and an interface means for connecting the storage means to peripheral circuits.  
         [0019]     The storage means includes: a decoder for decoding the data patterns; and a storage device for receiving an output of the decoder and outputting the delay compensation amount required in the data pattern.  
         [0020]     Unit storage cell for delay compensation use within the storage device is controlled by the output of the decoder and outputs a first logic level in a turned-on state.  
         [0021]     The interface means includes: a front trigger unit for receiving data loaded on the data line; an end trigger unit for processing an output of the storage means; and a clock generator for generating a clock that controls the front trigger unit and the end trigger unit.  
         [0022]     The front trigger unit includes individual triggers, each of which includes: a first transmission gate for alternately transferring an odd data of the data line in response to edges of the clocks generated from the clock generator; a second transmission gate for alternately transferring an even data of the data line in response to edges of the clocks generated from the clock generator; and a latch for temporarily storing the odd and even data.  
         [0023]     The end trigger unit includes individual end triggers, each of which includes: a transmission gate for transferring the delay compensation amount in response to the clocks outputted from the clock generator; and a latch for temporarily storing an output of the transmission gate.  
         [0024]     The delay compensation block controls a transmission speed of the data signal that is outputted to the data output driver in response to an output of the pattern detection block.  
         [0025]     The delay compensation block includes a driver for transferring the data signal and a current source transistor part connected to the driver, the delay compensation block adjusting an amount of current transferred to the driver by controlling size of the current source transistor part in response to the output of the pattern detection block.  
         [0026]     In another aspect of the present invention, a method of compensating for a phase delay in a semiconductor device having a delay locked loop (DLL) for generating DLL clock includes the steps of: a) detecting patterns of data loaded on data line and determining delay compensation amount of the data inputted to data output driver based on the detected data patterns; and b) compensating for phase delay of clock relating to the DLL clock inputted to the data output driver based on the delay compensation amount.  
         [0027]     The step a) includes the steps of: decoding the data pattern; and outputting the delay compensation amount required in the data pattern.  
         [0028]     The step b) controls a transmission speed of the data signal outputted to the data output driver in response to the delay compensation amount.  
         [0029]     The present invention uses an algorithm of reading patterns of data that are transferred along data lines from memory cell array. Data skew that may occur in an operation of DRAM can be estimated in advance according to the patterns of data transferred from the memory cell array. Also, it is possible to prevent the occurrence of skew.  
         [0030]     Based on the patterns of data transferred along the data line from the memory cell array, the delay of the DLL clocks is controlled in front of the data output driver. The present invention relates to a method for improving the fourth factor among the above-described four factors. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0031]     The above and other objects and features of the instant invention will become apparent from the following description of preferred embodiments taken in conjunction with the accompanying drawings, in which:  
         [0032]      FIG. 1  is a block diagram of a data output path within a conventional DRAM chip;  
         [0033]      FIG. 2  is a circuit diagram of a data register in a pipeline;  
         [0034]      FIG. 3  is a circuit diagram of a conventional divider R/F;  
         [0035]      FIG. 4  shows skew occurrence based on data patterns according to the prior art;  
         [0036]      FIG. 5  is a block diagram of a data output path within DRAM chip in accordance with an embodiment of the present invention;  
         [0037]      FIG. 6  is a block diagram of an apparatus for reducing a data skew in accordance with an embodiment of the present invention;  
         [0038]      FIG. 7  is a block diagram of a data pattern detection block in accordance with an embodiment of the present invention;  
         [0039]      FIG. 8  is a block diagram of a mapping table within a data pattern detection block in accordance with an embodiment of the present invention;  
         [0040]      FIG. 9  is a circuit diagram of a decoder within a mapping table in accordance with an embodiment of the present invention;  
         [0041]      FIG. 10  is a circuit diagram of a unit storage cell for delay increase use within a storage device in accordance with an embodiment of the present invention;  
         [0042]      FIG. 11  is a circuit diagram of a unit storage cell for delay decrease use within a storage device in accordance with an embodiment of the present invention;  
         [0043]      FIG. 12  is a block diagram of an interface block within a data pattern detection block in accordance with an embodiment of the present invention;  
         [0044]      FIG. 13  is a circuit diagram of an individual front trigger within a front trigger block in accordance with an embodiment of the present invention;  
         [0045]      FIG. 14  is a circuit diagram of an individual end trigger within an end trigger block in accordance with an embodiment of the present invention;  
         [0046]      FIG. 15  is a circuit diagram of a clock generator within an interface block in accordance with an embodiment of the present invention;  
         [0047]      FIG. 16  is a circuit diagram of a delay compensation block in accordance with an embodiment of the present invention; and  
         [0048]      FIG. 17  is a timing diagram illustrating a skew compensation of data pattern in accordance with an embodiment of the present invention. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0049]     Hereinafter, the present invention will be described in detail with reference to the accompanying drawings.  
         [0050]      FIG. 5  is a block diagram of a data output path within DRAM chip in accordance with an embodiment of the present invention.  
         [0051]     The data output path within the DRAM chip in accordance with the present invention includes a data pattern detection block  560  disposed between global input/output line GIO and delay unit, and a delay compensation block  570  disposed between the data pattern detection block  560  and data output driver  550 .  
         [0052]      FIG. 6  is a block diagram of an apparatus for reducing a data skew in accordance with an embodiment of the present invention.  
         [0053]     Referring to  FIG. 6 , the apparatus for reducing the data skew includes the data pattern detection block  560  and the delay compensation block  570 . The data pattern detection block  560  detects patterns of data loaded on the global input/output line GIO from a memory cell array of DRAM and determines phase delay amount of data inputted to the data output drivers. The delay compensation block  570  compensates for delay of DLL clocks inputted from the divider R/F  540  to the data output drivers  550  under a control of an output signal of the data pattern detection block  560 . The data output driver  550  outputs even data and odd data, which are inputted from the global input/output line GIO, in synchronization with the delay-compensated DLL clocks outputted from the delay compensation block  570 .  
         [0054]      FIG. 7  is a block diagram of the data pattern detection block in accordance with an embodiment of the present invention.  
         [0055]     Referring to  FIG. 7 , the data pattern detection block includes a mapping table  561  and an interface block  563 . The mapping table  561  stores delay compensation amount that is different depending on the data patterns, and the interface block  563  connects the mapping table  561  to peripheral circuits.  
         [0056]     The number of mapping tables is proportional to information amount that is transferred from the data pattern detection block  560  and the delay compensation block  570 . For example, if the delay compensation block  570  compensates the delay in three stages, the mapping table  561  can also be configured with three sets. Meanwhile, the mapping table  561  previously stores delay compensation information on skews for each data pattern in a design stage.  
         [0057]      FIG. 8  is a block diagram of the mapping table within data pattern detection block in accordance with an embodiment of the present invention.  
         [0058]     The mapping table may be configured with a decoder  810  and a storage unit  820 . If the decoder that may include sixteen inputs in 0  to in 15  and maximum 65536 outputs case 0  to case[n−1] enables an output line of a case corresponding to an inputted data pattern, the storage device  820  outputs a stored delay amount of the corresponding case. A circuit configuration of the decoder  180  is shown in  FIG. 9 .  
         [0059]     Meanwhile, data value of each unit storage cell can be determined by connecting a source terminal to Vdd or Vss in design.  FIG. 10  is a circuit diagram of a unit storage cell for delay increase use within the storage device in accordance with an embodiment of the present invention, and  FIG. 11  is a circuit diagram of a unit storage cell for delay decrease use within the storage device in accordance with an embodiment of the present invention.  
         [0060]     In case of the unit storage cell for delay increase use, if the case[m] among the inputs of the storage device  820  becomes a logic high level, the unit storage cell having the source connected to Vss outputs an output signal out[k] of logic low level. Also, in case of the unit storage cell for delay decrease use, if the case[m] among the inputs of the storage device  820  becomes a logic high level, the unit storage cell having the source connected to Vdd outputs an output signal out[k] of logic high level.  
         [0061]      FIG. 12  is a block diagram of the interface block within the data pattern detection block in accordance with an embodiment of the present invention.  
         [0062]     Referring to  FIG. 12 , the interface block  563  includes a front trigger block  1210  receiving data loaded on the global input/output line, an end trigger block  1230  managing to output the mapping table, and a clock generator  1220  for generating clocks that control the front trigger block and the end trigger block. Since the front trigger block  1210  receives data loaded on the data lines, the front triggers are used as many as the number of the data lines.  
         [0063]      FIG. 13  is a circuit diagram of the individual front trigger within the front trigger block in accordance with an embodiment of the present invention.  
         [0064]     Referring to  FIG. 13 , the individual front triggers of the front trigger block  1210  can be configured to separately receive data using the clock clk outputted from the clock generator  1220  because the even and odd data of the data lines are loaded at the same time. In other words, the individual front trigger includes a transmission gate  1303  for alternately transferring the odd data in response to the edges of the clock clk, a transmission gate  1304  for transferring the even data in response to the edges of the clock clk, and a latch  1305  for temporarily storing the odd data and the even data, which are outputted alternately.  
         [0065]      FIG. 14  is a circuit diagram of the individual end trigger within the end trigger block in accordance with an embodiment of the present invention.  
         [0066]     Referring to  FIG. 14 , the individual end trigger includes a transmission gate  1403  for transferring the input data in response to the clock clk, and a latch  1404  for temporarily storing data that is outputted from the transmission gate  1403 . At this time, the clock clk may be a clock used to manage the output of the data register within the pipeline.  
         [0067]      FIG. 15  is a circuit diagram of the clock generator within the interface block in accordance with an embodiment of the present invention.  
         [0068]     Referring to  FIG. 15 , signals in_clock and in_clockb having the same phase as the input clock of the data register are buffered and outputted as signals clock 1  and clock 1   b , respectively. When the read command is generated, the DLL rising clock rclk_dll and the DLL falling clock fclk_dll that are alternately outputted according to the CAS latency signal cl are outputted as a signal clock 2  in response to a rising edge output enable signal rout_end. In the same manner, when the read command is generated, the DLL rising clock rclk_dll and the DLL falling clock fclk_dll that are alternately outputted according to the CAS latency signal cl are outputted as a signal clock 2   b  in response to a falling edge output enable signal fout_end.  
         [0069]      FIG. 16  is a circuit diagram of the delay compensation block in accordance with an embodiment of the present invention.  
         [0070]     Referring to  FIG. 16 , the delay compensation block  570  includes a driver for transferring data signal, and a current source transistor part connected to the driver. The delay compensation block  570  can adjust an amount of current transferred to the driver by controlling size of the current source transistor part in response to the output of the pattern detection block. In other words, the delay of the data signal can be increased or decreased by controlling a transmission speed of the data signal outputted to the data output driver according to the outputs of the end trigger block  1230 (R) and  1230 (F).  
         [0071]     For example, assuming it is basic that two pairs of upper/lower transistors among three pairs of upper/lower transistors are turned on by applying gate control signals wf 1  and wf 2  of logic high level and a gate control signal wf 3  of logic low level, if only one pair of upper/lower transistors are turned on, a current of the driver is reduced, so that a delay of the data signal is increased. If three pairs of upper/lower transistors are all turned on, a current of the driver is increased, so that a delay of the data signal is reduced.  
         [0072]     Considering the addition of the delay compensation block, the delay of the data signal can be solved by a design of a reflicker model within the delay locked loop.  
         [0073]      FIG. 17  is a timing diagram illustrating a skew compensation of data pattern in accordance with an embodiment of the present invention.  
         [0074]     Referring to  FIG. 17 , before the skew of the data signal is compensated, one logic low signal among the output data of the data output driver leads the external clock, and the others lag behind the external clock. After the compensation, phases of all data signals are matched with a phase of the external clock.  
         [0075]     The present application contains subject matter related to Korean patent application No. 2003-57854, filed in the Korean Patent Office on Oct. 21, 2003, the entire contents of which being incorporated herein by reference.  
         [0076]     While the present invention has been described with respect to the particular embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made without departing from the spirit and scope of the invention as defined in the following claims.