# Patent

## Title
Data output device and method of semiconductor device

## Abstract

The data output device comprises a first comparator for comparing first output data with arbitrary output data on a bit-by-bit basis and outputting a first pre-flag signal, a second comparator for comparing second output data with the first output data on a bit-by-bit basis and outputting a second pre-flag signal, a first logic unit for performing a logic operation with respect to pre-flag signal and an arbitrary data inversion flag signal and outputting a first data inversion flag signal, a second logic unit for performing a logic operation with respect to the second pre-flag signal and the first data inversion flag signal and outputting a second data inversion flag signal, a first repeater for inverting or non-inverting and outputting a plurality of bits contained in the first out put data, and a second repeater for inverting or non-inverting and outputting a plurality of bits contained in the second output data.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application relies for priority upon Korean Patent Application No. 2005-60595 filed on Jul. 6, 2005, the contents of which are herein incorporated by reference in their entirety. This application is related to U.S. Pat. No. 7,228,370 filed Aug. 31, 2005 and titled Data Output Device and Method of Semiconductor Device.
1. Field of the Invention
The present invention relates to a data output device and method of a semiconductor device, and more particularly to a data output device and method of a semiconductor device which can reduce power noise in an output driver resulting from a data transition when data is outputted from the semiconductor device and can accurately and stably process high-speed data in a high-frequency operation of the semiconductor device.
2. Description of the Related Art
With the continuous advance of semiconductor memory devices, a variety of new operating systems have recently been proposed to process data at high speed. The semiconductor memory device is adapted to perform a write/read operation based on the operation of an input/output stage. That is, the memory device transfers internal data externally, or receives external data internally and stores it in a memory. This data read or write operation is carried out through a DQ pin.
Under a conventional low-frequency operating environment, the high-speed operation of the memory device is of little importance. However, recently, as the demand for the high-speed operation of a processor such as a central processing unit (CPU) or graphics processing unit (GPU) increases rapidly, the low-power/high-speed operation of the memory device has been increasingly required. Meanwhile, an adequate bandwidth must be provided for the accurate and stable transfer of data. However, because of power noise and switching noise resulting from a switching operation with respect to data, it is not easy to acquire an adequate bandwidth for data transferred to an input/output stage. In this regard, it has also become a very important issue to enable a high-speed input/output operation along with the high-frequency operation.
Data bit inversion (DBI) has been proposed as one data processing method to solve the above issue. This DBI is characterized by reduction of power noise occurring in operation of an output driver by reducing the number of transitions of data which is outputted to the output driver. FIG. 1 is a schematic view illustrating a conventional data output method based on the DBI, and FIG. 2 is a timing diagram of signals in the conventional data output method.
In the conventional DBI-based data output method, previously generated data is latched and then compared with currently generated data on a bit-by-bit basis. A determination is made according to the comparison as to how many bits of the currently generated data have made high to low level transitions or low to high level transitions. If the number of bits of the currently generated data having made the level transitions is determined to exceed half the total number of bits of the currently generated data, each bit of the currently generated data is inverted and outputted. On the contrary, if the number of bits of the currently generated data having made the level transitions does not exceed half the total number of bits of the currently generated data, each bit of the currently generated data is outputted directly, and not inverted.
In more detail, as shown in FIG. 1, if four output data are sent over global output lines, first, data GIO_Q0, among the four output data, is compared with data pre_Q<3> generated at the previous step on a bit-by-bit basis. A high-level data inversion flag signal DBI_flag<0> is outputted if the number of bits of the data GIO_Q0 having made level transitions exceeds half the total number of bits of the data GIO_Q0, and a low-level data inversion flag signal DBI_flag<0> is outputted otherwise. Then, the data GIO_Q0 is inverted or non-inverted and outputted as data Q<0> according to the level of the data inversion flag signal DBI_flag<0>.
Next, data GIO_Q1 is compared with the inverted or non-inverted data Q<0> on a bit-by-bit basis, and a data inversion flag signal DBI_flag<1> of a high level or low level is then outputted according to the number of bits of the data GIO_Q1 having made level transitions. Then, the data GIO_Q1 is inverted or non-inverted and outputted as data Q<1> according to the level of the data inversion flag signal DBI_flag<1>. This operation is continuously repeated in the conventional DBI-based data output method.
However, the above-mentioned conventional DBI-based data output method is disadvantageous in that a sufficient address access time margin cannot be secured and high-speed data cannot be accurately and stably processed in a high-frequency operation. That is, as can be seen from the above description, in the conventional DBI-based data output method, the sequential comparison of the current data with the previous data involves four sequential comparison operations per output step in, for example, a 4-bit pre-fetch mode and eight sequential comparison operations per output step in, for example, an 8-bit pre-fetch mode. For this reason, only when at least a period of 5 clk to 8 clk must be guaranteed, the data output is enabled (see FIG. 2), thereby making it difficult to secure an adequate data access time margin and consuming a relatively large amount of time in processing data. In conclusion, the conventional DBI-based data output method has the disadvantage of not only being hard to apply and implement for the high-frequency operation, but also being inadequate for the accurate and stable processing of high-speed data.
SUMMARY OF THE INVENTION
Therefore, the present invention has been made in view of the above problems, and it is an object of the present invention to provide a data output device and method of a semiconductor device which can reduce power noise in an output driver resulting from a data transition when data is outputted from the semiconductor device and can accurately and stably process high-speed data in a high-frequency operation of the semiconductor device.
In accordance with an aspect of the present invention, the above and other objects can be accomplished by the provision of a data output device of a semiconductor device, comprising: a first comparator for comparing first output data with arbitrary output data latched at a previous data processing step on a bit-by-bit basis and outputting a first pre-flag signal which is enabled or disabled according to the number of bits of the first output data having made level transitions; a second comparator for comparing second output data with the first output data on a bit-by-bit basis and outputting a second pre-flag signal which is enabled or disabled according to the number of bits of the second output data having made level transitions; a first logic unit for performing a logic operation with respect to the first pre-flag signal and an arbitrary data inversion flag signal latched at the previous data processing step and outputting a first data inversion flag signal; a second logic unit for performing a logic operation with respect to the second pre-flag signal and the first data inversion flag signal and outputting a second data inversion flag signal; a first repeater for inverting or non-inverting and outputting a plurality of bits contained in the first output data in response to the first data inversion flag signal; and a second repeater for inverting or non-inverting and outputting a plurality of bits contained in the second output data in response to the second data inversion flag signal.
Preferably, the first and second comparators perform their comparison operations at the same time.
The first or second comparator may enable the first or second pre-flag signal if the number of the bits of the first or second output data having made the level transitions exceeds half of a total number of the bits of the first or second output data.
Each of the first and second comparators may compare two output data with each other on a bit-by-bit basis and output a corresponding one of the first and second pre-flag signals. In this case, the two output data are the first output data and arbitrary output data, or the first output data and second output data, and each of the first and second comparators includes: a plurality of logic elements, each of the logic elements performing a logic operation with respect to two associated bits of the same order contained respectively in the two output data; a plurality of signal supply circuits, each of the signal supply circuits performing a logic operation with respect to a strobe signal and an output signal from an associated one of the logic elements and supplying the resulting signals to a first node and a second node, respectively; a first differential amplifier for comparison-amplifying an output signal from the first node and an output signal from the second node; a second differential amplifier for comparison-amplifying the output signal from the first node and the output signal from the second node; and a main amplifier for comparison-amplifying an output signal from the first differential amplifier and an output signal from the second differential amplifier and outputting the resulting signal as the corresponding pre-flag signal.
Each of the logic elements may perform an exclusive-OR operation.
Preferably, each of the signal supply circuits includes: first logic means for performing a logical product operation with respect to the strobe signal and the output signal from the associated logic element and supplying the resulting signal to the first node; and second logic means for performing a NOR operation with respect to an inverted signal of the strobe signal and the output signal from the associated logic element and supplying the resulting signal to the second node.
Each of the first and second logic units may perform an exclusive-OR operation.
Each of the first and second repeaters may include a plurality of sub-repeaters.
Preferably, each of the sub-repeaters includes: a first transfer gate for receiving an associated one of the plurality of bits contained in an associated one of the first and second output data, the first transfer gate being operative in response to an enabled state of a corresponding one of the first and second data inversion flag signals; a second transfer gate for receiving the associated bit, the second transfer gate being operative in response to a disabled state of the corresponding data inversion flag signal; a first buffer for buffering an output signal from the first transfer gate; and a second buffer for buffering an output signal from the second transfer gate.
The first buffer may be an inverting buffer and the second buffer may be a non-inverting buffer.
The data output device may further comprise a flag output unit for receiving the first and second data inversion flag signals and supplying the received data inversion flag signals to a chipset of the semiconductor device.
Each of the first and second output data may be sent over an associated global output line.
The arbitrary output data latched at the previous data processing step may be last output data at the previous data processing step.
The arbitrary data inversion flag signal latched at the previous data processing step may be a last data inversion flag signal at the previous data processing step.
In accordance with another aspect of the present invention, there is provided a data output method of a semiconductor device, comprising the steps of: (a) comparing first output data with arbitrary output data latched at a previous data processing step on a bit-by-bit basis and outputting a first pre-flag signal which is enabled or disabled according to the number of bits of the first output data having made level transitions, and simultaneously comparing second output data with the first output data on a bit-by-bit basis and outputting a second pre-flag signal which is enabled or disabled according to the number of bits of the second output data having made level transitions; (b) performing a logic operation with respect to the first pre-flag signal and an arbitrary data inversion flag signal latched at the previous data processing step and outputting a first data inversion flag signal, and performing a logic operation with respect to the second pre-flag signal and the first data inversion flag signal and outputting a second data inversion flag signal; and (c) inverting or non-inverting and outputting a plurality of bits contained in the first output data in response to the first data inversion flag signal, and inverting or non-inverting and outputting a plurality of bits contained in the second output data in response to the second data inversion flag signal.
The step (a) may include the step of enabling the first or second pre-flag signal if the number of the bits of the first or second output data having made the level transitions exceeds half of a total number of the bits of the first or second output data.
Each of the logic operations at the step (b) may be an exclusive-OR operation.
The data output method may further comprise the step of supplying the first and second data inversion flag signals to a chipset of the semiconductor device.
Each of the first and second output data may be sent over an associated global output line.
The arbitrary output data latched at the previous data processing step may be a last output data of the previous data processing step.
The arbitrary data inversion flag signal latched at the previous data processing step may be a last data inversion flag signal of the previous data processing step.



BRIEF DESCRIPTION OF THE DRAWINGS
The above and other objects, features and other advantages of the present invention will be more clearly understood from the following detailed description taken in conjunction with the accompanying drawings, in which:
FIG. 1 is a schematic view illustrating a conventional data output method of a semiconductor device;
FIG. 2 is a timing diagram of signals in the conventional data output method;
FIG. 3 is a schematic block diagram showing the configuration of a data output device of a semiconductor device according to the present invention;
FIG. 4 is a detailed circuit diagram of a comparator in the data output device according to the present invention;
FIG. 5 is a detailed circuit diagram of a sub-repeater in the data output device according to the present invention; and
FIG. 6 is a timing diagram of signals in a data output method of a semiconductor device according to the present invention.



DESCRIPTION OF THE PREFERRED EMBODIMENTS
FIG. 3 shows the configuration of a data output device of a semiconductor device according to the present invention, FIG. 4 shows the configuration of a comparator in the data output device according to the present invention, FIG. 5 shows the configuration of a sub-repeater in the data output device according to the present invention, and FIG. 6 is a timing diagram of signals in a data output method of a semiconductor device according to the present invention. The preferred embodiments of the present invention will hereinafter be described with reference to the figures.
The data output device of the semiconductor device according to the present invention comprises, as shown in FIG. 3, a first comparator 1 00 for comparing first output data GIO_Q0 with fourth output data pre_GIO_Q3 latched at a previous data processing step on a bit-by-bit basis and outputting a first pre-flag signal pre_flag<0> which is enabled or disabled according to the number of bits of the first output data GIO_Q0 having made level transitions, and a plurality of kth (2≦k≦4, where k is a natural number) comparators, second to fourth comparators 200, 300 and 400, each for comparing kth output data with (k−1)th output data on a bit-by-bit basis and outputting a kth pre-flag signal which is enabled or disabled according to the number of bits of the kth output data having made level transitions. The data output device further comprises a first XOR gate 110 for XORing the first pre-flag signal pre_flag<0> and a fourth data inversion flag signal pre_DBI_flag<3> latched at the previous data processing step and outputting a first data inversion flag signal DBI_flag<0>, and a plurality of kth XOR gates, second to fourth XOR gates 210, 310 and 410, each for XORing a kth pre-flag signal and a (k−1)th data inversion flag signal and outputting a kth data inversion flag signal. The data output device further comprises a plurality of mth (1≦m≦4, where m is a natural number) repeaters, first to fourth repeaters 120, 220, 320 and 420, each for inverting or non-inverting and outputting a plurality of bits contained in mth output data in response to an mth data inversion flag signal.
Each of the first to fourth repeaters 120, 220, 320 and 420 includes a plurality of sub-repeaters.
Each sub-repeater includes, as shown in FIG. 5, a transfer gate T10 for receiving an associated one GIO_Q of the plurality of bits and adapted to operate in response to an enabled state of the data inversion flag signal DBI_flag, a transfer gate T20 for receiving the bit GIO_Q and adapted to operate in response to a disabled state of the data inversion flag signal DBI_flag, a buffer 10 for inversion-buffering an output signal from the transfer gate T10, and a buffer 20 for non-inversion-buffering an output signal from the transfer gate T20.
The operation of the data output device of the semiconductor device with the above-stated configuration according to the present invention will hereinafter be described in detail with reference to FIGS. 3 to 6.
First, as shown in FIG. 3, the first comparator 100 compares first output data GIO_Q0, sent over a global output line, with fourth output data pre_GIO_Q3 latched at a previous data processing step on a bit-by-bit basis. Here, the fourth output data pre_GIO_Q3 latched at the previous data processing step is a latched version of data sent over the global output line at a data processing step preceding the current data processing step. The first comparator 100 outputs a first pre-flag signal pre_flag<0> of a high level if the number of bits of the first output data GIO_Q0 having made high to low level transitions or low to high level transitions exceeds half the total number of bits of the first output data GIO_Q0, and a first pre-flag signal pre_flag<0> of a low level, otherwise.
Similarly, the second comparator 200 compares second output data GIO_Q1, sent over a global output line, with the first output data GIO_Q0 on a bit-by-bit basis. The second comparator 200 then outputs a second pre-flag signal pre_flag<1> of a high level if the number of bits of the second output data GIO_Q1 having made high to low level transitions or low to high level transitions exceeds half the total number of bits of the second output data GIO_Q1, and a second pre-flag signal pre_flag<1> of a low level, otherwise. In the same manner, the third comparator 300 outputs a third pre-flag signal pre_flag<2> and the fourth comparator 400 outputs a fourth pre-flag signal pre_flag<3>.
It should be noted herein that the first to fourth comparators 100, 200, 300 and 400 perform their comparison operations at the same time, resulting in a significant reduction in data processing time as compared with the conventional data output device that sequentially performs the comparison operations.
The operation of each of the first to fourth comparators 100, 200, 300 and 400 will hereinafter be described in more detail with reference to FIG. 4, which shows the configuration of the second comparator 200.
In the case where each of the first output data GIO_Q0 and the second output data GIO_Q1 is 8 bits long, the values of the respective bits are inputted to XOR gates 700 to 707, respectively, as shown in FIG. 4. First, the first bit values Q0<0> and Q1<0> of the first output data GIO_Q0 and second output data GIO_Q1 are inputted to the XOR gate 700. Because the XOR gate 700 performs an exclusive-OR operation, it outputs a high-level signal when only one of the two signals inputted thereto is high in level. In this connection, the XOR gate 700 outputs a high-level signal if a level transition has occurred between Q0<0> and Q1<0>, and a low-level signal, otherwise.
Thereafter, when a strobe signal strobe1 is enabled to be high in level, a logic unit consisting of a NAND gate ND700 and an inverter IV702 performs a logical product operation with respect to the strobe signal strobe1 and the output signal from the XOR gate 700 and outputs the resulting signal IN<0>. A NOR gate NR700 NORs an inverted signal of the strobe signal strobe1 and the output signal from the XOR gate 700 and outputs the resulting signal INb<0>. As a result, when the output signal from the XOR gate 700 becomes high in level due to the occurrence of a level transition between Q0<0> and Q1<0>, the signal IN<0> goes high in level and the signal INb<0> goes low in level. On the contrary, when the output signal from the XOR gate 700 becomes low in level due to the occurrence of no level transition between Q0<0> and Q1<0>, the signal IN<0> goes low in level and the signal INb<0> goes high in level.
In this manner, the signal IN to a node A assumes a high level and the signal INb to a node B assumes a low level, with respect to a bit having made a level transition, and the signal IN to the node A assumes a low level and the signal INb to the node B assumes a high level, with respect to a bit having made no level transition. Thus, provided that the number of bits having made level transitions exceeds half the total number of bits, the number of high-level signals to the node A will be larger than that of high-level signals to the node B, thereby causing the drive capability of an output signal from the node A to be larger than that of an output signal from the node B.
Then, the output signal from the node A is inputted to an NMOS transistor N104 and an NMOS transistor N105 and the output signal from the node B is inputted to an NMOS transistor N103 and an NMOS transistor N106. At this time, if a strobe signal strobe2 is enabled to be high in level, a differential amplifier 710 and a differential amplifier 720 are turned on. First, in the differential amplifier 710, if the number of bits having made level transitions exceeds half the total number of bits, the NMOS transistor N104 is turned on more strongly because the drive capability of the output signal from the node A is larger than that of the output signal from the node B. As a result, the potential of a node D becomes relatively low in level and a signal which is outputted from an inverter IV801 to a main amplifier 750 thus goes high in level. At this time, in the differential amplifier 720, the NMOS transistor N105 is turned on and the current of the NMOS transistor N105 becomes bigger than that of the NMOS transistor N106, thereby causing the potential of a node E to become relatively low in level. As a result, a PMOS transistor P104 is turned on, so that the potential of a node F becomes high in level and an output signal from an inverter IV802 thus goes low in level.
On the other hand, unless the number of bits having made level transitions exceeds half the total number of bits, the drive capability of the output signal from the node A is smaller than that of the output signal from the node B. Accordingly, in the differential amplifier 710, the NMOS transistor N103 is turned on and the current of the NMOS transistor N103 becomes bigger than that of the NMOS transistor N104, so that the potential of a node C becomes relatively low in level and a PMOS transistor P102 is thus turned on, thereby causing the potential of the node D to become high in level. As a result, the signal which is outputted from the inverter IV801 to the main amplifier 750 goes low in level. At this time, in the differential amplifier 720, the NMOS transistor N106 is turned on and the current of the NMOS transistor N106 becomes bigger than that of the NMOS transistor N105, thereby causing the potential of the node F to become relatively low in level. As a result, the output signal from the inverter IV802 assumes a high level.
Next, the main amplifier 750, which is enabled by a strobe signal strobe3, comparison-amplifies the output signals of the different levels from the inverter IV801 and inverter IV802 in response to those two signals to output the second pre-flag signal pre_flag<1>. That is, in the case where the number of bits of the second output data GIO_Q1 having made level transitions exceeds half the total number of bits of the second output data GIO_Q1, the main amplifier 750 receives a high-level signal from the inverter IV801 and a low-level signal from the inverter IV802 and comparison-amplifies the two signals of the different levels to output the second pre-flag signal pre_flag<1> which is high in level. On the contrary, in the case where the number of bits of the second output data GIO_Q1 having made level transitions does not exceed half the total number of bits of the second output data GIO_Q1, the main amplifier 750 receives a low-level signal from the inverter IV801 and a high-level signal from the inverter IV802 and comparison-amplifies the two signals of the different levels to output the second pre-flag signal pre_flag<1> which is low in level.
In this manner, the second comparator 200 compares the second output data GIO_Q1 with the first output data GIO_Q0 on a bit-by-bit basis and outputs the second pre-flag signal pre_flag<1> according to the number of bits of the second output data GIO_Q1 having made level transitions. The first comparator 100, third comparator 300 and fourth comparator 400 are the same in configuration and operation as the second comparator 200, and a more detailed description thereof will thus be omitted.
Next, the first XOR gate 110 XORs the first pre-flag signal pre_flag<0> and a fourth data inversion flag signal pre_DBI_flag<3> latched at the previous data processing step to output a first data inversion flag signal DBI_flag<0>. Here, the fourth data inversion flag signal pre_DBI_flag<3> latched at the previous data processing step is a latched version of a signal outputted from the fourth XOR gate 410 at the data processing step preceding the current data processing step.
The second XOR gate 210 XORs the second pre-flag signal pre_flag<1> and the first data inversion flag signal DBI_flag<0> from the first XOR gate 110 to output a second data inversion flag signal DBI_flag<1>. Similarly, the third XOR gate 310 XORs the third pre-flag signal pre_flag<2> and the second data inversion flag signal DBI_flag<1> to output a third data inversion flag signal DBI_flag<2>, and the fourth XOR gate 410 XORs the fourth pre-flag signal pre_flag<3> and the third data inversion flag signal DBI_flag<2> to output a fourth data inversion flag signal DBI_flag<3>.
Thereafter, the first repeater 120 inverts and outputs a plurality of bits contained in the first output data GIO_Q0 if the first data inversion flag signal DBI_flag<0> is enabled to be high in level, and non-inverts and outputs the plurality of bits contained in the first output data GIO_Q0 if the first data inversion flag signal DBI_flag<0> is disabled to be low in level. In the same manner, the second to fourth repeaters 220, 320 and 420 invert or non-invert and output the second to fourth output data GIO_Q1 to GIO_Q3 in response to the second to fourth data inversion flag signals DBI_flag<1> to DBI_flag<3>, respectively.
The operation of each of the repeaters 120, 220, 320 and 420 will hereinafter be described in more detail. Each of the first to fourth repeaters 120, 220, 320 and 420 includes a plurality of sub-repeaters, each of which takes charge of any one of the plurality of bits of the associated data. FIG. 5 shows the configuration of each sub-repeater in the data output device according to the present invention.
As shown in FIG. 5, the transfer gate T10 and the transfer gate T20 operate in response to the data inversion flag signal DBI_flag. That is, if the data inversion flag signal DBI_flag is enabled to be high in level, the transfer gate T10 is turned on and the transfer gate T20 is turned off. As a result, the sub-repeater inverts and outputs an associated output data bit GIO_Q by means of the operation of the buffer 10, which includes an inverter IV10. On the contrary, if the data inversion flag signal DBI_flag is disabled to be low in level, the transfer gate T10 is turned off and the transfer gate T20 is turned on. Thus, the sub-repeater non-inverts and outputs the output data bit GIO_Q by means of the operation of the buffer 20. In this manner, the first to fourth repeaters 120, 220, 320 and 420 each including the sub-repeaters invert or non-invert and output the bits contained in the associated output data in response to the associated data inversion flag signals, respectively.
Finally, the first to fourth data inversion flag signals DBI_flag<0> to DBI_flag<3> are inputted to a flag output unit 600, which supplies the inputted data inversion flag signals to a chipset of the semiconductor device. The chipset restores output data from a DQ unit 500 to the original data in response to the supplied data inversion flag signals.
On the other hand, each of the first to fourth XOR gates 110, 210, 310 and 410 is a block that performs an exclusive-OR operation to output a high-level signal when only one of the two signals inputted thereto is high in level. For example, the second XOR gate 210 outputs a high-level data inversion flag signal DBI_flag<1> when only one of the second pre-flag signal pre_flag<1> and the first data inversion flag signal DBI_flag<0> is high in level.
Accordingly, in the case where the first data inversion flag signal DBI_flag<0> and the second pre-flag signal pre_flag<1> are both low in level, no data bit inversion is required between the first output data GIO_Q0 and the second output data GIO_Q1 under the condition that the first output data GIO_Q0 is non-inverted by the repeater 120. In this case, the second XOR gate 210 outputs a low-level signal so that the bits of the second output data GIO_Q1 can be non-inverted.
In the case where the first data inversion flag signal DBI_flag<0> is low in level and the second pre-flag signal pre_flag<1> is high in level, a data bit inversion is required between the first output data GIO_Q0 and the second output data GIO_Q1 under the condition that the first output data GIO_Q0 is non-inverted by the repeater 120. In this case, the second XOR gate 210 outputs a high-level signal so that the bits of the second output data GIO_Q1 can be inverted.
In the case where the first data inversion flag signal DBI_flag<0> is high in level and the second pre-flag signal pre_flag<1> is low in level, no data bit inversion is required between the first output data GIO_Q0 and the second output data GIO_Q1 under the condition that the first output data GIO_Q0 is inverted by the repeater 120. In conclusion, the second output data GIO_Q1 also needs to be inverted. In this case, the second XOR gate 210 outputs the high-level signal so that the bits of the second output data GIO_Q1 can be inverted.
Finally, in the case where the first data inversion flag signal DBI_flag<0> and the second pre-flag signal pre_flag<1> are both high in level, a data bit inversion is required between the first output data GIO_Q0 and the second output data GIO_Q1 under the condition that the first output data GIO_Q0 is inverted by the repeater 120. In conclusion, the second output data GIO_Q1 need not be inverted. In this case, the second XOR gate 210 outputs the low-level signal so that the bits of the second output data GIO_Q1 can be non-inverted.
As described above, according to the present invention, differently from the conventional data output device, there is no need to determine whether to invert output data and sequentially compare the output data with the next output data. That is, according to the present invention, the comparisons between output data sent over associated global output lines are made at the same time, thereby making it possible to sufficiently secure an address access time margin and accurately and stably process high-speed data in a high-frequency operation. FIG. 6 is a timing diagram of the signals in the data output method of the semiconductor device according to the present invention. As can be seen from FIG. 6, an address access time can be sufficiently secured according to the present invention, as compared with the conventional one.
Although the preferred embodiments of the present invention have been disclosed as being based on a 4-bit pre-fetch mode for illustrative purposes, the present invention is not limited thereto.
As apparent from the above description, the present invention provides a data output device and method of a semiconductor device which can reduce power noise in an output driver resulting from a data transition when data is outputted from the semiconductor device and can accurately and stably process high-speed data in a high-frequency operation of the semiconductor device.
Although the preferred embodiments of the present invention have been disclosed for illustrative purposes, those skilled in the art will appreciate that various modifications, additions and substitutions are possible, without departing from the scope and spirit of the invention as disclosed in the accompanying claims.

## Claims

1. A data output device of a semiconductor device, comprising:
a first comparator for comparing first output data with arbitrary output data latched at a previous data processing step on a bit-by-bit basis and outputting a first pre-flag signal which is enabled or disabled according to the number of bits of the first output data having made level transitions;
a second comparator for comparing second output data with the first output data on a bit-by-bit basis and outputting a second pre-flag signal which is enabled or disabled according to the number of bits of the second output data having made level transitions;
a first logic unit for performing a logic operation with respect to the first pre-flag signal and an arbitrary data inversion flag signal latched at the previous data processing step and outputting a first data inversion flag signal;
a second logic unit for performing a logic operation with respect to the second pre-flag signal and the first data inversion flag signal and outputting a second data inversion flag signal;
a first repeater for inverting or non-inverting and outputting a plurality of bits contained in the first output data in response to the first data inversion flag signal; and
a second repeater for inverting or non-inverting and outputting a plurality of bits contained in the second output data in response to the second data inversion flag signal.

2. The data output device as set forth in claim 1, wherein the first and second comparators are adapted to perform their comparison operations at the same time.

3. The data output device as set forth in claim 1, wherein the first or second comparator is adapted to enable the first or second pre-flag signal if the number of the bits of the first or second output data having made the level transitions exceeds half of a total number of the bits of the first or second output data.

4. The data output device as set forth in claim 3, wherein each of the first and second comparators is adapted to compare two output data with each other on a bit-by-bit basis, the two output data being the first output data and arbitrary output data, or the first output data and second output data, each of the first and second comparators including:
a plurality of logic elements, each of the logic elements performing a logic operation with respect to two associated bits of the same order contained respectively in the two output data;
a plurality of signal supply circuits, each of the signal supply circuits performing a logic operation with respect to a strobe signal and an output signal from an associated one of the logic elements and supplying the resulting signals to a first node and a second node, respectively;
a first differential amplifier for comparison-amplifying an output signal from the first node and an output signal from the second node;
a second differential amplifier for comparison-amplifying the output signal from the first node and the output signal from the second node; and
a main amplifier for comparison-amplifying an output signal from the first differential amplifier and an output signal from the second differential amplifier and outputting the resulting signal as the corresponding pre-flag signal.

5. The data output device as set forth in claim 4, wherein each of the logic elements is adapted to perform an exclusive-OR operation.

6. The data output device as set forth in claim 5, wherein each of the signal supply circuits includes:
first logic means for performing a logical product operation with respect to the strobe signal and the output signal from the associated logic element and supplying the resulting signal to the first node; and
second logic means for performing a NOR operation with respect to an inverted signal of the strobe signal and the output signal from the associated logic element and supplying the resulting signal to the second node.

7. The data output device as set forth in claim 1, wherein each of the first and second logic units is adapted to perform an exclusive-OR operation.

8. The data output device as set forth in claim 1, wherein each of the first and second repeaters includes a plurality of sub-repeaters.

9. The data output device as set forth in claim 8, wherein each of the sub-repeaters includes:
a first transfer gate for receiving an associated one of the plurality of bits contained in an associated one of the first and second output data, the first transfer gate being operative in response to an enabled state of a corresponding one of the first and second data inversion flag signals;
a second transfer gate for receiving the associated bit, the second transfer gate being operative in response to a disabled state of the corresponding data inversion flag signal;
a first buffer for buffering an output signal from the first transfer gate; and
a second buffer for buffering an output signal from the second transfer gate.

10. The data output device as set forth in claim 9, wherein the first buffer is an inverting buffer and the second buffer is a non-inverting buffer.

11. The data output device as set forth in claim 1, further comprising a flag output unit for receiving the first and second data inversion flag signals and supplying the received data inversion flag signals to a chipset of the semiconductor device.

12. The data output device as set forth in claim 1, wherein each of the first and second output data is sent over an associated global output line.

13. The data output device as set forth in claim 1, wherein the arbitrary output data latched at the previous data processing step is a last output data of the previous data processing step.

14. The data output device as set forth in claim 1, wherein the arbitrary data inversion flag signal latched at the previous data processing step is a last data inversion flag signal of the previous data processing step.

15. A data output method of a semiconductor device, comprising the steps of:
(a) comparing first output data with arbitrary output data latched at a previous data processing step on a bit-by-bit basis and outputting a first pre-flag signal which is enabled or disabled according to the number of bits of the first output data having made level transitions, and simultaneously comparing second output data with the first output data on a bit-by-bit basis and outputting a second pre-flag signal which is enabled or disabled according to the number of bits of the second output data having made level transitions;
(b) performing a logic operation with respect to the first pre-flag signal and an arbitrary data inversion flag signal latched at the previous data processing step and outputting a first data inversion flag signal, and performing a logic operation with respect to the second pre-flag signal and the first data inversion flag signal and outputting a second data inversion flag signal; and
(c) inverting or non-inverting and outputting a plurality of bits contained in the first output data in response to the first data inversion flag signal, and inverting or non-inverting and outputting a plurality of bits contained in the second output data in response to the second data inversion flag signal.

16. The data output method as set forth in claim 15, wherein the step (a) includes the step of enabling the first or second pre-flag signal if the number of the bits of the first or second output data having made the level transitions exceeds half of a total number of the bits of the first or second output data.

17. The data output method as set forth in claim 15, wherein each of the logic operations at the step (b) is an exclusive-OR operation.

18. The data output method as set forth in claim 15, further comprising the step of supplying the first and second data inversion flag signals to a chipset of the semiconductor device.

19. The data output method as set forth in claim 15, wherein each of the first and second output data is sent over an associated global output line.

20. The data output method as set forth in claim 15, wherein the arbitrary output data latched at the previous data processing step is a last output data of the previous data processing step.

21. The data output method as set forth in claim 15, wherein the arbitrary data inversion flag signal latched at the previous data processing step is a last data inversion flag signal of the previous data processing step.