Synchronous memory device having an adjustable data clocking circuit

Information

  • Patent Grant
  • 6327196
  • Patent Number
    6,327,196
  • Date Filed
    Friday, March 24, 2000
    24 years ago
  • Date Issued
    Tuesday, December 4, 2001
    23 years ago
Abstract
A circuit for adjusting a time when data is delivered to a data terminal with respect to an external clock signal includes a data passing circuit and a delay adjusting circuit. The delay adjusting circuit accepts a plurality of control signals each arranged to control passgates arranged in columns, with one column being controlled by a respective one of the control signals. A clock signal passes in parallel manner through a variety of delay gates, and each delay gate is coupled in series with one of the passgates. By selecting a path through desired passgates, one delay path is selected and the delay time added to the clock signal. This delayed clock signal is used to control the data passing circuit, which controls when data is output to the output terminals relative to the original clock signal. The control signals are created by selectively coupling or decoupling the control signals from a static voltage, and fuses or antifuses can be used to facilitate this coupling or decoupling.
Description




TECHNICAL FIELD




This invention relates to clocked integrated circuits that deliver data, and more particularly to a method and apparatus for adjusting the timing of data presented to an output terminal relative to a clock signal.




BACKGROUND OF THE INVENTION




Clock signals are used by a wide variety of digital circuits to control the timing of various events occurring during the operation of the digital circuits. For example, clock signals are used to designate when command signals, data signals, and other signals used in memory devices and other computer components are valid and can thus be used to control the operation of the memory device or computer system. For instance, a clock signal can be used to develop sequential column addresses when an SDRAM is operating in burst mode.




Retrieving valid data from a clocked memory device at a specified time can be difficult to coordinate. After a memory address is selected, the data travels out of the selected memory cell, is amplified, passes through configuration circuitry (if the memory chip has multiple configurations) and passes through an output buffer before the data is read. Before the advent of synchronous memory circuits, data simply appeared at an output terminal following a propagation delay after the data was requested. In a synchronous memory circuit, data delivery is synchronized with a clock signal. Many circuits have been created to coordinate data signals with clock signals, with varying degrees of success. Two of the problems to solve are determining how fast and with what regularity the data signal propagates through the chip circuitry. Because data output is often coordinated with a clock signal that is external to the memory chip, computer simulations of signal propagation within a chip are performed to align the external clock signal with the data delay of the synchronous memory device. Static time delays are then designed into the memory circuit based on the simulation predictions. Because of production variations, improper assumptions, and other factors ultimately causing timing errors, the data does not always arrive at the output terminal at the desired time. As computer clock speeds increase, the window for providing valid data to the output terminal closes, making it more difficult to ensure the correct delivery time of data from the memory circuit.




An example of a circuit that provides data to a data pad at a specific time relative to an external clock is shown in FIG.


1


. An output circuit


2


includes a memory array


5


that contains an array of individual memory cells (not shown). Once a particular memory cell is selected to be read, complementary signals corresponding to the contents of the memory cell travel to a pair of respective I/O and I/O* lines. The signals on the I/O and I/O* lines are sensed and amplified by a data sensing circuit


10


, which produces a DATA* signal at an output. An external clock signal is received at a clock circuit input


7


and passes through clock circuitry


15


to become a CLKDOR* signal. The CLKDOR* signal may differ from the external clock signal in a variety of ways, including phase, orientation, and duty cycle, however, their overall periodic cycle length is the same. Oftentimes, to properly match timing of the data arriving at the data pad with the external clock signal, a static delay is added within the clock circuitry


15


.




The DATA* signal is presented to a passgate


20


and passed to an output node


21


when the signal CLKDOR* signal is HIGH and its complement from an inverter


17


is LOW. From the output node


21


, the DATA* signal is input to a NOR gate


30


along with a TRISTATE signal. An output from the NOR gate


30


leads to a passgate


24


. When the CLKDOR* signal is LOW and its complement from the inverter


17


is HIGH, the output from the NOR gate


30


passes through the passgate


24


and becomes the signal DQHI. Another NOR gate


32


combines the output of the NOR gate


30


with the TRISTATE signal. This output from the NOR gate


32


is presented to a pair of passgates


22


,


26


. The passgate


22


receives the signal from the NOR gate


32


and, when the CLKDOR* signal is LOW and its complement from the inverter


17


is HIGH, feeds it back to the output node


21


. The passgate


26


passes the signal it receives from the NOR gate


32


as an output signal DQLO when the signal CLKDOR* is LOW and its complement from the inverter


17


is HIGH.




If the signal DQHI is HIGH, a pull-up circuit


36


raises a DQ pad


40


to a HIGH voltage. Conversely, if DQLO is HIGH, it activates a pull-down circuit


38


to pull the DQ pad


40


to a ground voltage. The output circuit


2


is designed so that the pull-up circuit


36


and the pull-down circuit


38


cannot operate simultaneously. When neither the pull-up circuit


36


nor the pull-down circuit


38


is active, the DQ pad


40


is neither pulled up to a HIGH voltage nor pulled down to ground, but instead remains in a high-impedance state.




The circuit operation of the data delivery circuit


2


will now be explained. When the CLKDOR* signal is HIGH and the DATA* signal is HIGH, a HIGH signal passes to the output node


21


. Assuming that the TRISTATE signal is low to enable the NOR gates


30


and


32


so they act as inverters, when the CLKDOR* signal goes LOW, the passgate


22


couples the output of the NOR gate


32


to the input of the NOR gate


30


, output node


21


. The NOR gates


30


and


32


then latch the HIGH at the output node


21


to the output of the NOR gate


32


. At the same time, a LOW is latched to the output of the NOR gate


30


. The HIGH at the output of the NOR gate


32


is coupled through the passgate


26


to the pull-down circuit


38


. The HIGH signal DQLO causes the pull-down circuit


38


to pull the DQ pad


40


to ground. At the same time, the LOW signal at the output of the NOR gate


30


passes through the passgate


24


. The LOW DQHI signal does not activate the pull-up circuit


36


, as explained above. Alternatively, if the DATA* signal is LOW, a LOW signal is passed to the output node


21


when the CLKDOR* signal is HIGH. When the CLKDOR* signal drops LOW, the LOW signal at the output node


21


is latched by the NOR gates


30


and


32


, is fed back to the output node


21


through the passgate


22


, and also propagates through the passgate


26


to make DQLO LOW. Concurrently, the LOW signal at the data output node


21


causes the NOR gate


30


to output a HIGH signal that passes through the passgate


24


to provide a HIGH DQHI signal. The HIGH DQHI signal causes the pull-up circuit


36


to connect the DQ pad


40


to a HIGH voltage. If the TRISTATE signal is HIGH, neither DQHI nor DQLO will be HIGH regardless of the state of the DATA* signal. Thus, the DQ pad


40


floats in a high impedance state.




When a computer system is designed, specifications for signal timing are determined. Some of the signals and timings used in the design are shown in FIG.


2


. One of the design specifications is an access time, T


AC


, used to designate a maximum time between a rising edge of an external clock signal and when a valid data signal arrives at the DQ pad


40


. Additionally, another specified time parameter is the output hold time, T


OH


, indicative of a minimum time for how long the data will be held at the DQ pad


40


following a subsequent rising edge of the external clock. For example, as illustrated in

FIG. 2

, a READ command signal is input to a memory circuit sometime between a rising edge of a clock pulse CP


0


and a clock pulse CP


1


. At a time CP


1


, the READ command is latched and read by the memory circuit, indicating data is to be read from a memory cell in a memory array. The data is read from the array and placed at the DQ pad


40


under the control of the CLKDOR* signal. The specification T


AC


indicates a maximum time until the desired data is placed on the DQ pad


40


. The data is held at the DQ pad


40


for a time no less than the specification T


OH


, as measured from a subsequent clock pulse after the READ command is latched. As shown in

FIG. 2

, T


AC1


is the time measured from CP


2


until Data


1


is stable on the DQ line. T


AC2


is the time measured from CP


3


until Data


2


is stable on the DQ line, and so on. The time T


AC1


will be nearly identical to the other access times T


AC2


, T


AC3


, etc. under the same operating conditions. Also shown in

FIG. 2

, T


OH1


is the time measured from the next clock pulse following when Data


1


appears on the DQ line, i.e., CP


3


, to the time when Data


1


begins to transition off the DQ line. As above, the measured hold times T


OH2


, T


OH3


, etc. will be nearly identical to one another under similar operating conditions.




During the design phase of a memory chip, a designer determines how much after each clock pulse the CLKDOR* signal should fire. This delay determines when the data is made available on the DQ line relative to the external clock signal. Typically, a delay value is chosen that provides a tolerance for both the T


AC


and T


OH


parameters. If the CLKDOR* signal fires too soon after the external clock signal, the chip will easily pass the T


AC


specification, but may fail the T


OH


specification. If the CLKDOR* signal fires too late, the chip will easily pass the T


OH


specification but may fail the T


AC


specification. These time compensations, by virtue of being fabricated as part of the circuit, generally cannot be changed after manufacture of an integrated circuit. When memory chips fail their timing specifications, they are sold as lesser quality chips for a reduced price, or even destroyed. Thus, there is an economic incentive to maximize the number of chips that meet or exceed the timing specifications. As a consequence of increasing computer speeds, this already small window for proper data timing is reducing. Because of process variations, errors in design assumptions, the wide range of temperatures and voltages in which the chips are warrantied to perform, and other factors, an increasing number of memory chips fail to meet the increasingly stringent design specifications.




SUMMARY OF THE INVENTION




An adjustable data delay circuit comprises a clocked data passing circuit that receives a clock signal and a data signal. An adjustable time delay circuit is coupled to the clock signal for adjusting the time the data is delivered to an output terminal relative to the clock signal. The adjustable time delay circuit includes a plurality of delay gates, each individually selected by control signals. One path in the time delay circuit that includes the desired delay gate is selected by the control signals. The clock signal passing through the selected delay gate is then used to control the time when the data is delivered to the output terminal.




In one embodiment, the control signals are made by selectively coupling a pattern of control inputs to a reference voltage.




In another embodiment, the passgates are arranged in a plurality of columns such that each column has a number of passgates that is an integer power of 2.











BRIEF DESCRIPTION OF THE DRAWINGS





FIG. 1

is a schematic diagram of a conventional clocked data delivery circuit.





FIG. 2

is a timing diagram of various signals during the operation of the clocked data circuit of FIG.


1


.





FIG. 3

is a schematic diagram of an adjustable clocked data circuit according to one embodiment of the present invention.





FIG. 4A

is a schematic diagram of a delay adjusting circuit according to one embodiment of the present invention.





FIG. 4B

is a chart showing how different delay times are selected using one embodiment of the present invention.





FIG. 5A

is a schematic diagram of a conventional adjustable impedance device.





FIG. 5B

is a schematic diagram of another conventional adjustable impedance device.





FIG. 6

is a block diagram of a synchronous dynamic random access memory including the adjustable time delivery circuit of FIG.


3


.





FIG. 7

is a block diagram of a computer system including the random access memory of FIG.


6


.











DETAILED DESCRIPTION OF THE INVENTION




One embodiment of an adjustable time delay circuit


102


in accordance with the invention is illustrated in the schematic diagram of FIG.


3


. The adjustable delay circuit


102


includes some of the same components as the output circuit


2


, shown in FIG.


1


. Identical components of the output circuit


2


and the adjustable time circuits


102


have been given the same reference numbers, and for the sake of brevity, identical components will not be described in further detail. The adjustable time data circuit


102


includes a delay adjusting circuit


60


located between the clock circuitry


15


and the control inputs to the passgates


20


,


22


,


24


, and


26


. As later described, the delay adjustment circuit


60


can be located in various places in the adjustable delay circuit


102


, and is shown in this location of the adjustable delay circuit


102


for illustration.




As shown in

FIG. 4A

, the CLKDOR* signal is input to the delay adjusting circuit


60


at an input terminal


62


. From there it is split into four paths, passing through a delay circuit


70


, having a delay of 1.0; a delay circuit


72


, having a delay of 0; a delay circuit


74


, having a delay of 0.5; and a delay circuit


76


, having a delay of 1.5. The delay times 0, 0.5, 1.0, and 1.5 are an indication of relative measure and do not necessarily indicate a specific time period. These delay times are selected such that the delay that would have been designed into the output circuit


2


appears as a middle value of the range of delay values eligible for selection. In this way, the data delivery of a memory chip can be “accelerated” by selecting a delay time shorter than the built-in delay of the prior art circuit, or “decelerated” by selecting a delay time longer than the built-in delay of the prior art circuit. The output signals from the delay circuits


70


,


72


,


74


, and


76


are input to a passgate


80


, a passgate


82


, a passgate


84


, and a passgate


86


, respectively. The passgates


80


,


82


,


84


, and


86


are controlled by a control signal A and its complement formed by passing A through an inverter


92


. The signals from the passgates


80


and


82


combine as an input to a passgate


88


, and the signals from the passgates


84


and


86


combine as an input to a passage


90


. The outputs from the passgates


88


and


90


connect at an output terminal


95


, and form an output signal OUT. The passgates


88


, and


90


are controlled by a control signal B and its complement formed by passing B through an inverter


94


.




Referring back to

FIG. 2

, the benefits of having an adjustable CLKDOR* signal will be described. As previously stated, adding delay to the CLKDOR* signal in relation to the CLK signal allows the designer to provide a tolerance for the T


AC


and T


OH


specifications. After the chip is produced, the T


AC


and T


OH


specifications, and others, are tested. If the chip does not pass all of the specifications, it cannot be sold at the current market price for the highest quality chips. By including an adjustable timing circuit within the memory chip, chips that do not meet the T


AC


and T


OH


specifications after manufacture may be able to be adjusted in order to meet the specifications.




For example, the specifications may direct that T


AC


can be no more than 6 ns and T


OH


cannot be less than 3 ns. Assume that T


AC1


measured 4 ns and T


OH1


measured 2.5 ns. The specification for T


AC


is easily passed (the shorter the better), but the chip fails the T


OH


specification because it does not hold the data for a long enough time on the DQ lines. By adding a 1 ns delay to the time when the CLKDOR* signal fires, the chip can be brought within the specifications. The T


AC1


increases to 5 ns (still passing the 6 ns specification) and the T


OH1


increases to hold the data valid on the DQ lines for 3.5 ns, passing the 3 ns specification.




The delay adjusting circuit


60


of

FIG. 4A

is controlled by control signals A and B. These control signals provide a HIGH or LOW signal to the passgates depending on a state of a respective adjustable impedance circuit


96


. Two different kinds of adjustable impedance devices are shown, one in FIG.


5


A and one in FIG.


5


B. One type of adjustable impedance circuit


96


is a circuit containing an antifuse


65


, shown in FIG.


5


A. The antifuse


65


is made from a pair of conducting plates


110


and


112


separated by a dielectric material


115


. Antifuses are devices similar to small capacitors. They have a natural and a blown state. When the antifuse


65


is in a natural state, the dielectric material


115


electrically insulates the pair of plates


110


and


112


. Because the dielectric material


115


is intact, the node C is electrically insulated from the ground voltage. To change the antifuse


65


to its blown state, a high electric field is passed across the dielectric material


115


by raising C


gnd


to a programming voltage, for example, 10 volts, while enabling a PROGRAM transistor. This is usually done after chip fabrication and packaging, but can be completed before packaging. When the high electric field is placed across the dielectric material


115


, it breaks down and loses its insulative properties. This allows the plates


110


and


112


to contact one another creating a relatively low resistive contact. When blown, the antifuse


65


couples the node C to the node C


gnd


, that is normally held at the ground voltage, unless the antifuse is being programmed, as described above. To test the state of the antifuse


65


a Read* signal is strobed LOW. That connects node C to the Vcc voltage. If the antifuse


65


is blown, the node C is quickly brought down to ground. An inverter


50


causes a HIGH signal to be sent to a BLOWN output. The HIGH signal also keeps a HOLD transistor OFF. Conversely, if the antifuse


65


is in its natural state, node C will not be pulled down to ground and BLOWN will carry a LOW signal. This low signal also enables the HOLD transistor, keeping node C at the voltage Vcc.




The other adjustable impedance circuit


96


, shown in

FIG. 5B

contains a fuse


68


. The fuse


68


also has a natural and a blown state. In its natural state, the fuse


68


couples a node D to the ground voltage. The fuse


68


is blown by passing a high current through it, or by some other means such as cutting it with a laser, for example. When the fuse


68


is blown, the node D is disconnected from the ground voltage. As with the antifuse


65


, the fuse


68


may be blown before or after packaging. Also as described above, the adjustable impedance circuit


96


of

FIG. 5B

is read in a similar manner. The Read* signal strobes LOW raising a node D to the Vcc voltage. If the fuse


68


is intact, node D is coupled to ground and BLOWN is LOW. This LOW signal passes through an inverter


52


to keep the HOLD transistor OFF. If the fuse is blown, node D is charged to Vcc and BLOWN is pulled HIGH.




Referring back to

FIG. 4A

, the adjustable impedance circuits


96


may be either of the structures shown in

FIGS. 5A

or


5


B. By coupling the signals A and B to a voltage using antifuses


65


or fuses


68


, the manufacturer can easily select the signals A and B to be either HIGH or LOW, as desired. Although described here as controlling only one adjustable delay circuit


102


, a single delay adjusting circuit


60


may be used to adjust any or all of the adjustable delay circuits within a memory chip, thereby controlling the data delivery time at any or all of the DQ pads on the memory chip.




The operation of the delay adjusting circuit


60


will now be described. In operation, one of the four delay times is selected through the states of signals A and B, as shown in the chart in FIG.


4


B. If A and B are each connected to respective adjustable impedance circuits


96


that are BLOWN, both A and B will be HIGH, indicated as “1” in FIG.


4


B. This places the passgates


82


,


86


, and


90


in a passing state. Because the passgates


86


and


90


are passing, the signal CLKDOR* passes through the delay gate


76


having a delay of 1.5, and through the passgates


86


and


90


to the output terminal


95


. The CLKDOR* signal also passes through the delay gate


72


, having no delay and through the passgate


82


, but is blocked at the passgate


88


, which is in a blocking state by virtue of a HIGH B signal and a LOW signal received from the inverter


94


. By selecting the states of the signals A and B (by selectively adjusting the impedance circuits


96


), it is easy to adjust the time delay of a clock signal input to the delay adjusting circuit


60


. In one embodiment, the delay time selected by keeping the adjustable impedance circuits


96


in their natural state will be the delay most likely to provide the greatest tolerances for both T


AC


and T


OH


. In

FIG. 4A

this desired delay is 1.0. In this way, the majority of the memory chips will pass the T


AC


and T


OH


specifications without further adjustment, saving labor and equipment costs. Only in the extraordinary case will the delay need adjustment. Although shown here with only two columns of passgates controlled by the signals A and B, it is apparent that a greater selection of delay times can be made available with the addition of more control signals and more passgates, or that the passgates could have a different configuration. For instance, eight different delay times are efficiently selectable if three control signals are used, with three columns, one each containing two, four and eight passgates.




Although the delay adjusting circuit


60


is shown after the clock circuitry


15


, it can appear in many locations in a synchronized memory circuit, some of which are illustrated in FIG.


3


. For instance, the delay adjusting circuit


60


can appear directly before the clock circuitry


15


. If the delay adjusting circuit


60


is placed after the passgates


24


and


26


, the delay adjusting circuit must be implemented in pairs because the data has two separate paths. Only one delay adjusting circuit


60


is needed if it is located between an output terminal


37


and the DQ pad


40


. Of course, there are other locations where the delay adjusting circuit


60


could be placed, as long as it is between the clock signal input


7


and the DQ pad


40


.




A synchronous dynamic random access memory (SDRAM)


200


using the adjustable time delay circuit


102


of

FIG. 3

is shown in FIG.


6


. The SDRAM


200


has a control logic circuit


202


receiving a clock signal CLK and a clock enable signal CKE. In the SDRAM


200


, all operations are referenced to a particular edge of an internal clock signal ICLK and a data read clock CLKDOR*, both generated from the clock signal CLK. The edge of the ICLK signal that is used is typically the rising edge, while the data read operations are referenced to the falling edge of the CLKDOR*, as known in the art. The delay adjusting circuit


60


is preferably included in the control logic


202


to adjust the timing of the data read clock CLKDOR* relative to the clock signal CLK. In practice, a variety of internal clock signals may be generated from the clock signal CLK, and only some of them may have their timing controlled by the delay adjusting circuit


60


. However, in the interest of brevity, only two internal clock signals, ICLK and CLKDOR* are shown. The control circuit


202


further includes a command decode circuit


204


receiving a number of command signals on respective external terminals of the SDRAM


200


. These command signals typically include a chip select signal {overscore (CS)}, write enable signal {overscore (WE)}, column address strobe signal {overscore (CAS)}, and row address strobe signal {overscore (RAS)}. Specific combinations of these signals define particular data transfer commands of the SDRAM


200


such as ACTIVE, PRECHARGE, READ, and WRITE as known in the art. An external circuit, such as a processor or memory controller generates these data transfer commands to read data from and to write data to the SDRAM


200


.




The SDRAM


200


further includes an address register


206


operable to latch an address applied on an address bus


208


, and output the latched address to the control circuit


202


, a column address latch


210


, and a row address multiplexer


212


. During operation of the SDRAM


200


, a row address with a bank address BA and a column address with the bank address are sequentially latched by the address register


206


under control of the control circuit


202


. In response to the latched bank address BA and row address, the control circuit


202


controls the row address multiplexer


212


to latch and output the row address to one of a row address latch


214


and


216


. The row address latches


214


and


216


, when activated, latch the row address from the row address multiplexer


212


and output this latched row address to an associated row decoder circuit


222


and


224


, respectively. The row decoder circuits


222


and


224


decode the latched row address and activate a corresponding row of memory cells in memory banks


218


and


220


, respectively. The memory banks


218


and


220


each include a number of memory cells (not shown) arranged in rows and columns, each memory cell operable to store a bit of data and having an associated row and column address.




When a column address and bank address BA is applied on the address bus


208


, the column address is latched by the address register


206


under control of the control circuit


202


, and output to a column address latch


210


, which latches the column address and in turn outputs the column address to a burst counter circuit


226


. The burst counter circuit


226


operates to develop sequential column addresses beginning with the latched column address when the SDRAM


200


is operating in a burst mode. The burst counter


226


outputs the developed column addresses to a column address buffer


228


, which in turn outputs the developed column address to a pair column decoder circuits


230


and


231


. The column decoder circuits


230


and


231


decode the column address and activates one of a plurality of column select signals


232


corresponding to the decoded column address. The column select signals


232


are output to sense amplifier and I/O gating circuits


234


and


236


associated with the memory banks


218


and


220


, respectively. The sense amplifier and I/O gating circuits


234


and


236


sense and store the data placed on the digit lines


235


and


237


, respectively, by the memory cells in the addressed row and to thereafter couple the digit lines


235


or


237


corresponding to the addressed memory cell to an internal data bus


238


. The internal data bus


238


is coupled to a data bus


240


of the SDRAM


200


through either a data input register


242


or a data output register


244


. In the preferred embodiment, the adjustable time delay circuit


102


is coupled to the data output register


244


. This circuit is used to adjust the time data is presented to the data bus in reference to the clock signal CLK. A data mask signal DQM controls the circuits


234


and


236


to avoid data contention on the data bus


240


when, for example, a READ command is followed immediately by a WRITE command, as known in the art.




In operation, during a read data transfer operation, an external circuit, such as a processor, applies a bank address BA and row address on the address bus


208


and provides an ACTIVE command to the command decode circuit


204


. This applied address and command information is latched by the SDRAM


200


on the next rising edge of the clock signal CLK, and the control circuit


202


thereafter activates the addressed memory bank


218


or


220


. The supplied row address is coupled through the row address multiplexer


212


to the row address latch


214


or


216


associated with the addressed bank, and this row address is thereafter decoded and the row of memory cells in the activated memory bank


218


or


220


is activated. The sense amplifiers in the sense amplifier and I/O gating circuit


234


or


236


sense and store the data contained in each memory cell in the activated row of the addressed memory bank


218


or


220


.




The external circuit thereafter applies a READ command to the command decode circuit


204


including a column address and bank address BA on the address bus


208


, both of which are latched on the next rising edge of the clock signal CLK. The latched column address is then routed through the circuits


210


,


226


, and


228


to the column decoder circuit


230


under control of the control circuit


204


. The column decoder


230


decodes the latched column address and activates the column select signal


232


corresponding to that decoded column address. In response to the activated column select signal


232


, the sense amplifier and I/O gating circuit


234


or


236


transfers the addressed data onto the internal data bus


238


, and the data is then transferred from the internal data bus


238


through the data output register


244


and onto the data bus


240


where it is read by the external circuit.




During a write data transfer operation, after activating the addressed memory bank


218


or


220


and the addressed row within that bank, the external circuit applies a WRITE command to the command decode circuit


204


including a column address and bank address BA on the address bus


208


and data on the data bus


240


. The WRITE command, column address, and data are latched respectively into the command decode circuit


204


, address register


206


, and data input register


242


on the next rising edge of the clock signal CLK or an internal clock signal not generated by the delay adjusting circuit


60


. The data latched in the data input register


242


is placed on the internal data bus


238


, and the latched column address is routed through the circuits


210


,


226


, and


228


to the column decoder circuit


230


under control of the control circuit


204


. The column decoder


230


decodes the latched column address and activates the column select signal


232


corresponding to that decoded address. In response to the activated column select signal


232


, the data on the internal data bus


238


is transferred through the sense amplifier and I/O gating circuit


234


or


236


to the digit lines


235


or


237


corresponding to the addressed memory cell. The row containing the addressed memory cell is thereafter deactivated to store the written data in the addressed memory cell.




Although the adjustable time delay circuit


102


has been described as being used in the SDRAM


200


, it will be understood that it may also be used in other types of integrated circuits such as synchronous graphics RAM (SGRAM), or synchronous static RAM (synchronous SRAM). Those skilled in the art realize the differences between SDRAM and other types of memories, and can easily implement the adjustable time delay circuit


102


.





FIG. 7

is a block diagram of a computer system


300


including the SDRAM


200


of FIG.


5


. The computer system


300


includes a processor


302


for performing various computing functions, such as executing specific software to perform specific calculations or tasks. Coupled to the processor


302


is a synchronous SRAM circuit


303


, used for a memory cache or other memory functions. In addition, the computer system


300


includes one or more input devices


304


, such as a keyboard or a mouse, coupled to the processor


302


to allow an operator to interface with the computer system


300


. Typically, the computer system


300


also includes one or more output devices


306


coupled to the processor


302


, such output devices typically being a printer or a video terminal. One or more data storage devices


308


are also typically coupled to the processor


302


to store data or retrieve data from external storage media (not shown). Examples of typical data storage devices


308


include hard and floppy disks, tape cassettes, compact disk read-only memories (CD-ROMs), and digital videodisk read-only memories (DVD-ROMs). The processor


302


is typically coupled to the SDRAM


200


and to the synchronous SRAM


303


through a control bus, a data bus, and an address bus to provide for writing data to and reading data from the SDRAM and synchronous SRAM. A clocking circuit (not shown) typically develops a clock signal driving the processor


302


, SDRAM


200


, and synchronous SRAM


303


during such data transfers.




It is to be understood that even though various embodiments and advantages of the present invention have been set forth in the foregoing description, the above disclosure is illustrative only, and changes may be made in detail, and yet remain within the broad principles of the invention. Therefore, the present invention is to be limited only by the appended claims.



Claims
  • 1. A synchronous memory device comprising:an address bus; a control bus; a data bus; a clock terminal adapted to receive a clock signal; a clock enable terminal adapted to receive a clock enable signal; an address decoder coupled to the address bus; a control logic circuit coupled to the control bus; a read/write circuit coupled to the data bus; a memory-cell array coupled to the address decoder, control circuit, and read/write circuit, including a plurality of row lines; a plurality of pairs of first and second complementary digit lines; an array of memory cells that each have a control terminal coupled to one of the row lines and a data terminal coupled to one of the first and second complementary digit lines of one of the pairs of complementary column lines; and a data delay circuit comprising an external clock terminal adapted to receive an external clock signal having a first state and a second state, a data terminal adapted to receive a data signal, an adjustable time delay circuit having one or more control inputs each adapted to receive a control signal, the time delay circuit adapted to receive the external clock signal at a clock input and pass a delayed clock signal to an output terminal, the time between when the external clock signal changes states and when the delayed clock signal changes states determined by the control signals received at the control inputs, and a data passing circuit receiving both the data signal and the delayed clock signal, the data passing circuit adapted to pass the data signal from the data terminal to a data output terminal after the delayed clock signal changes from the first to the second state.
  • 2. The circuit of claim 1 wherein the control signals are generated by selectively coupling the control inputs to a reference voltage.
  • 3. The circuit of claim 1 wherein the adjustable time delay circuit further comprises:a plurality of passgates arranged in columns, each column having a different number of passgates than any other column in the time delay circuit, the passgates in the column having the highest number of passgates in the delay circuit each coupled to a respective delay element having a respective delay value, the external clock signal coupled to and passing through each of the delay elements.
  • 4. The circuit of claim 3 wherein the number of control inputs to the delay circuit is n, the number of columns in the time delay circuit is n, and the number of passgates in the column having the highest number of passgates in the delay circuit is 2n.
  • 5. The circuit of claim 1 wherein the synchronous memory device is a synchronous dynamic random access memory.
CROSS-REFERENCE TO RELATED APPLICATION

This application is a Divisional of pending U.S. patent application Ser. No. 09/032,256, filed Feb. 27, 1998.

US Referenced Citations (197)
Number Name Date Kind
3633174 Griffin Jan 1972
4077016 Sanders et al. Feb 1978
4096402 Schroeder et al. Jun 1978
4404474 Dingwall Sep 1983
4481625 Roberts et al. Nov 1984
4508983 Allgood et al. Apr 1985
4511846 Nagy et al. Apr 1985
4514647 Shoji Apr 1985
4524448 Hullwegen Jun 1985
4573017 Levine Feb 1986
4600895 Landsman Jul 1986
4603320 Farago Jul 1986
4638187 Boler et al. Jan 1987
4638451 Hester et al. Jan 1987
4687951 McElroy Aug 1987
4773085 Cordell Sep 1988
4789796 Foss Dec 1988
4818995 Takahashi et al. Apr 1989
4893087 Davis Jan 1990
4902986 Lesmeister Feb 1990
4953128 Kawai et al. Aug 1990
4958088 Farah-Bakhsh et al. Sep 1990
4972470 Farago Nov 1990
4984204 Sato et al. Jan 1991
5020023 Smith May 1991
5038115 Myers et al. Aug 1991
5075569 Branson Dec 1991
5086500 Greub Feb 1992
5087828 Sato et al. Feb 1992
5122690 Bianchi Jun 1992
5128560 Chern et al. Jul 1992
5128563 Hush et al. Jul 1992
5134311 Biber et al. Jul 1992
5150186 Pinney et al. Sep 1992
5165046 Hesson Nov 1992
5179298 Hirano et al. Jan 1993
5194765 Dunlop et al. Mar 1993
5212601 Wilson May 1993
5220208 Schenck Jun 1993
5223755 Richley Jun 1993
5233314 McDermott et al. Aug 1993
5233564 Ohshima et al. Aug 1993
5239206 Yanai Aug 1993
5243703 Farmwald et al. Sep 1993
5254883 Horowitz et al. Oct 1993
5256989 Parker et al. Oct 1993
5257294 Pinto et al. Oct 1993
5268639 Gasbarro et al. Dec 1993
5272729 Bechade et al. Dec 1993
5274276 Casper et al. Dec 1993
5276642 Lee Jan 1994
5278460 Casper Jan 1994
5281865 Yamashita et al. Jan 1994
5283631 Koerner et al. Feb 1994
5289580 Latif et al. Feb 1994
5295164 Yamamura Mar 1994
5304952 Quiet et al. Apr 1994
5311481 Casper et al. May 1994
5311483 Takasugi May 1994
5313431 Uruma et al. May 1994
5315388 Shen et al. May 1994
5321368 Hoelzle Jun 1994
5337285 Ware et al. Aug 1994
5341405 Mallard, Jr. Aug 1994
5347177 Lipp Sep 1994
5347179 Casper et al. Sep 1994
5355391 Horowitz et al. Oct 1994
5361002 Casper Nov 1994
5367649 Cedar Nov 1994
5379299 Schwartz Jan 1995
5390308 Ware et al. Feb 1995
5400283 Raad Mar 1995
5402389 Flannagan et al. Mar 1995
5408640 MacIntyre et al. Apr 1995
5410263 Waizman Apr 1995
5416436 Rainard May 1995
5416909 Long et al. May 1995
5420544 Ishibashi May 1995
5428311 McClure Jun 1995
5428317 Sanchez et al. Jun 1995
5430408 Ovens et al. Jul 1995
5430676 Ware et al. Jul 1995
5432823 Gasbarro et al. Jul 1995
5438545 Sim Aug 1995
5440260 Hayashi et al. Aug 1995
5440514 Flannagan et al. Aug 1995
5444667 Obara Aug 1995
5446696 Ware et al. Aug 1995
5448193 Baumert et al. Sep 1995
5451898 Johnson Sep 1995
5457407 Shu et al. Oct 1995
5465076 Yamauchi et al. Nov 1995
5473274 Reilly et al. Dec 1995
5473575 Farmwald et al. Dec 1995
5473639 Lee et al. Dec 1995
5485490 Leung et al. Jan 1996
5488321 Johnson Jan 1996
5489864 Ashuri Feb 1996
5497127 Sauer Mar 1996
5498990 Leung et al. Mar 1996
5500808 Wang Mar 1996
5506814 Hush et al. Apr 1996
5508638 Cowles et al. Apr 1996
5513327 Farmwald et al. Apr 1996
5532714 Knapp et al. Jul 1996
5539345 Hawkins Jul 1996
5544124 Zagar et al. Aug 1996
5544203 Casasanta et al. Aug 1996
5552727 Nakao Sep 1996
5555429 Parkinson et al. Sep 1996
5557224 Wright et al. Sep 1996
5557781 Stones et al. Sep 1996
5563546 Tsukada Oct 1996
5568075 Curran et al. Oct 1996
5568077 Sato et al. Oct 1996
5572557 Aoki Nov 1996
5572722 Vogley Nov 1996
5574698 Raad Nov 1996
5576645 Farwell Nov 1996
5577236 Johnson et al. Nov 1996
5578940 Dillon et al. Nov 1996
5578941 Sher et al. Nov 1996
5579326 McClure Nov 1996
5581197 Motley et al. Dec 1996
5589788 Goto Dec 1996
5590073 Arakawa et al. Dec 1996
5594690 Rothenberger et al. Jan 1997
5614855 Lee et al. Mar 1997
5619473 Hotta Apr 1997
5621340 Lee et al. Apr 1997
5621690 Jungroth et al. Apr 1997
5621739 Sine et al. Apr 1997
5627780 Malhi May 1997
5627791 Wright et al. May 1997
5631872 Naritake et al. May 1997
5636163 Furutani et al. Jun 1997
5636173 Schaefer Jun 1997
5636174 Rao Jun 1997
5638335 Akiyama et al. Jun 1997
5646904 Ohno et al. Jul 1997
5652530 Ashuri Jul 1997
5657289 Hush et al. Aug 1997
5657481 Farmwald et al. Aug 1997
5663921 Pascucci et al. Sep 1997
5666322 Conkle Sep 1997
5668763 Fujioka et al. Sep 1997
5668774 Furutani Sep 1997
5675274 Kobayashi et al. Oct 1997
5692165 Jeddeloh et al. Nov 1997
5694065 Hamasaki et al. Dec 1997
5708611 Iwamoto Jan 1998
5712580 Baumgartner et al. Jan 1998
5719508 Daly Feb 1998
5740123 Uchida Apr 1998
5751665 Tanoi May 1998
5767715 Marquis et al. Jun 1998
5768177 Sakuragi Jun 1998
5774699 Nagae Jun 1998
5778214 Taya et al. Jul 1998
5781499 Koshikawa Jul 1998
5784422 Heermann Jul 1998
5789947 Sato Aug 1998
5790612 Chengson et al. Aug 1998
5794020 Tanaka et al. Aug 1998
5805931 Morzano et al. Sep 1998
5812619 Runaldue Sep 1998
5822314 Chater-Lea Oct 1998
5831929 Manning Nov 1998
5841707 Cline et al. Nov 1998
5852378 Keeth Dec 1998
5872959 Nguyen Feb 1999
5889829 Chiao et al. Mar 1999
5898242 Peterson Apr 1999
5898674 Mawhinney et al. Apr 1999
5917760 Millar Jun 1999
5920518 Harrison et al. Jul 1999
5926047 Harrison Jul 1999
5926436 Toda et al. Jul 1999
5940608 Manning Aug 1999
5940609 Harrison Aug 1999
5946244 Manning Aug 1999
5953284 Baker et al. Sep 1999
5964884 Partovi et al. Oct 1999
5990719 Dai et al. Nov 1999
6005823 Martin et al. Dec 1999
6011732 Harrison et al. Jan 2000
6016282 Keeth Jan 2000
6026050 Baker et al. Feb 2000
6029250 Keeth Feb 2000
6038219 Mawhinney et al. Mar 2000
6067592 Farmwald et al. May 2000
6101152 Farmwald et al. Aug 2000
6101197 Keeth et al. Aug 2000
6105157 Miller Aug 2000
6147905 Seino Nov 2000
6147916 Ogura Nov 2000
6160423 Haq Dec 2000
Foreign Referenced Citations (23)
Number Date Country
0 295 515 A1 Dec 1988 EP
0 406 786 A1 Jan 1991 EP
0 450 871 A2 Oct 1991 EP
0 476 585 A3 Mar 1992 EP
0 655 834 A1 May 1995 EP
0 655 741 A2 May 1995 EP
0 680 049 A2 Nov 1995 EP
0 703 663 A1 Mar 1996 EP
0 704 975 A1 Apr 1996 EP
0 704 848 A3 Apr 1996 EP
0 767 538 A1 Apr 1997 EP
6-1237512 Oct 1986 JP
2-112317 Apr 1990 JP
4-135311 May 1992 JP
5-136664 Jun 1993 JP
5-282868 Oct 1993 JP
0-7319577 Dec 1995 JP
WO 9429871 Dec 1994 WO
WO 9522200 Aug 1995 WO
WO 9522206 Aug 1995 WO
WO 9610866 Apr 1996 WO
WO 9714289 Apr 1997 WO
WO 9742557 Nov 1997 WO
Non-Patent Literature Citations (42)
Entry
Alvarez, J. et al. “A Wide-Bandwidth Low Voltage PLL for PowerPC™ Microprocessors” IEEE IEICE Trans. Electron., vol. E-78. No. 6, Jun. 1995, pp. 631-639.
Anonymous, “400MHz SLDRAM, 4M X 16 SLDRAM Pipelined, Eight Bank, 2.5 V Operation,” SLDRAM Consortium Advance Sheet, published throughout the United States, pp. 1-22.
Anonymous, “Draft Standard for a High-Speed Memory Interface (SyncLink)”, Microprocessor and Microcomputer Standards Subcommittee of the IEEE Computer Society, Copyright 1996 by the Institute of Electrical and Electronics Engineers, Inc., New York, NY, pp. 1-56.
Anonymous, “Programmable Pulse Generator”, IBM Technical Disclosure Bulletin, vol. 17, No. 12, May 1975, pp. 3553-3554.
Anonymous, “Pulse Combining Network”, IBM Technical Disclosure Bulletin, vol. 32, No. 12, May 1990, pp. 149-151.
Anonymous, “Variable Delay Digital Circuit”, IBM Technical Disclosure Bulletin, vol. 35, No. 4A, No. 4A, Sep. 1992, pp. 365-366.
Arai, Y. et al., “A CMOS Four Channel x 1K Time Memory LSI with 1-ns/b Resolution”, IEEE Journal of Solid-State Circuits, vol. 27, No. 3, M, 8107 Mar., 1992, No. 3, New York, US, pp. 359-364 and pp. 528-531.
Arai, Y. et al., “A Time Digitizer CMOS Gate-Array with a 250 ps Time Resolution”, XP 000597207, IEEE Journal of Solid-State Circuits, vol. 31, No. 2, Feb. 1996, pp. 212-220.
Aviram, A. et al., “Obtaining High Speed Printing on Thermal Sensitive Special Paper with a Resistive Ribbon Print Head”, IBM Technical Disclosure Bulletin, vol. 27, No. 5, Oct. 1984, pp. 3059-3060.
Bazes, M., “Two Novel Fully Complementary Self-Biased CMOS Differential Amplifiers”, IEEE Journal of Solid-State Circuits, vol. 26, No. 2, Feb. 1991, pp. 165-168.
Chapman, J. et al., “A Low-Cost High-Performance CMOS Timing Vernier for ATE”, IEEE International Test Conference, Paper 21.2, 1995, pp. 459-468.
Cho, J. “Digitally-Controlled PLL with Pulse Width Detection Mechanism for Error Correction”, ISSCC 1997, Paper No. SA 20.3, pp. 334-335.
Christiansen, J., “An Integrated High Resolution CMOS Timing Generator Based on an Array of Delay Locked Loops”, IEEE Journal of Solid-State Circuits, vol. 31, No. 7, Jul. 1996, pp. 952-957.
Combes, M. et al., “A Portable Clock Multiplier Generator Using Digital CMOS Standard Cells”, IEEE Journal of Solid-State Circuits, vol. 31, No. 7, Jul. 1996, pp. 958-965.
Donnelly, K. et al., “A 660 MB/s Interface Megacell Portable Circuit in 0.3 μm-0.7 μm CMOS ASIC”, IEEE Journal of Solid-State Circuits, vol. 31, No. 12, Dec. 1996, pp. 1995-2001.
Goto, J. et al., “A PLL-Based Programmable Clock Generator with 50-to 350-MHz Oscillating Range for Video Signal Processors”, IEICE Trans. Electron., vol. E77-C, No. 12, Dec. 1994, pp. 1951-1956.
Hamamoto, T., “400-MHz Random Column Operating SDRAM Techniques with Self-Skew Compensation”, IEEE Journal of Solid-State Circuits, vol. 33, No. 5, May 1998, pp. 770-778.
Ishibashi, A. et al., “High-Speed Clock Distribution Architecture Employing PLL for 0.6μm CMOS SOG”, IEEE Custom Integrated Circuits Conference, 1992, pp. 27.6.1-27.6.4.
Kim, B. et al., “A 30MHz High-Speed Analog/Digital PLL in 2μm CMOS”, ISSCC, Feb. 1990.
Kikuchi, S. et al., “A Gate-Array-Based 666MHz VLSI Test System”, IEEE International Test Conference, Paper 21.1, 1995, pp. 451-458.
Ko, U. et al., “A 30-ps Jitter, 3.6-μs Locking, 3.3-Volt Digital PLL for CMOS Gate Arrays”, IEEE Custom Integrated Circuits Conference, 1993, pp. 23.3.1-23.3.4.
Lee, T. et al., “A 2.5V Delay-Locked Loop for an 18Mb 500Mb/s DRAM”, IEEE International Solid-State Circuits Conference Digest of Technical Papers, Paper No. FA 18.6, 1994, pp. 300-301.
Lesmeister, G., “A Densely Integrated High Performance CMOS Tester”, International Test Conference, Paper 16.2, 1991, pp. 426-429.
Ljuslin, C. et al., “An Integrated 16-channel CMOS Time to Digital Converter”, IEEE Nuclear Science Symposium & Medical Imaging Conference Record, vol. 1, 1993, pp. 625-629.
Maneatis, J., “Low-Jitter Process-Independent DLL and PLL Based on Self-Biased Techniques”, IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1723-1732.
Nakamura, M. et al., “A 156 Mbps CMOS Clock Recovery Circuit for Burst-mode Transmission”, Symposium on VLSI Circuits Digest of Technical Papers, 1996, pp. 122-123.
Nielson, E., “Inverting latches make simple VCO”, EDN, Jun. 19, 1997.
Novof, I. et al., “Fully Integrated CMOS Phase-Locked Loop with 15 to 240 MHz Locking Range and ±50 ps Jitter”, IEEE Journal of Solid-State Circuits, vol. 30, No. 11, Nov. 1995, pp. 1259-1266.
Santos, D. et al., “A CMOS Delay Locked Loop And Sub-Nanosecond Time-to-Digital Converter Chip”, IEEE Nuclear Science Symposium and Medical Imaging Conference Record, vol. 1, Oct. 1995, pp. 289-291.
Saeki, T. et al., “A 2.5-ns Clock Access, 250-MHz, 256-Mb SDRAM with Synchronous Mirror Delay”, IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1656-1665.
Shirotori, T. et al., “PLL-based, Impedence Controlled Output Buffer”, 1991 Symposium on VLSI Circuits Digest of Technical Papers, pp. 49-50.
Sidiropoulos, S. et al., “A 700-Mb/s/pin CMOS Signaling Interface Using Current Integrating Receivers”, IEEE Journal of Solid-State Circuits, vol. 32, No. 5, May 1997, pp. 681-690.
Sidiropolous, S. et al., “A CMOS 500Mbps/pin synchronous point to point link interface”, IEEE Symposium on VLSI Circuits Digest of Technical Papers, 1994, pp. 43-44.
Sidiropoulos, S. et al., “A Semi-Digital DLL with Unlimited Phase Shift Capability and 0.08-400MHz Operating Range,” IEEE International Solid State Circuits Conference, Feb. 8, 1997, pp. 332-333.
Soyuer, M. et al., “A Fully Monolithic 1.25GHz CMOS Frequency Synthesizer”, IEEE Symposium on VLSI Circuits Digest of Technical Papers, 1994, pp. 127-128.
Taguchi, M. et al., “A 40-ns 64-Mb DRAM with 64-b Parallel Data Bus Architecture”, IEEE Journal of Solid-State Circuits, vol. 26, No. 11, Nov. 1991, pp. 1493-1497.
Tanoi, S. et al., “A 250-622 MHz Deskew and Jitter-Suppressed Clock Buffer Using a Frequency-and Delay-Locked Two-Loop Architecture”, 1995 Symposium on VLSI Circuits Digest of Technical Papers, vol. 11, No. 2, pp. 85-86.
Tanoi, S. et al., “A 250-622 MHz Deskew and Jitter-Suppressed Clock Buffer Using Two-Loop Architecture”, IEEE IEICE Trans. Electron., vol. E-79-C. No. 7, Jul. 1996, pp. 898-904.
von Kaenel, V. et al., “A 320 MHz, 1.5 mW @ 1.35 V CMOS PLL for Microprocessor Clock Generation”, IEEE Journal of Solid-State Circuits, vol. 31, No. 11, Nov. 1996, pp. 1715-1722.
Watson, R. et al., “Clock Buffer Chip with Absolute Delay Regulation Over Process and Environmental Variations”, IEEE Custom Integrated Circuits Conference, 1992, pp. 25.2.1-25.2.5.
Yoshimura, T. et al., “A 622-Mb/s Bit/Frame Synchronizer for High-Speed Backplane Data Communication”, IEEE Journal of Solid-State Circuits, vol. 31, No. 7, Jul. 1996, pp. 1063-1066.
Gustavson, David B., et al., IEEE Standard for Scalable Coherent Interface (SCI), IEEE Computer Society, IEEE Std. 1596-1992, Aug. 2, 1993.