1. Field of the Invention
The present invention relates to a memory device having off-chip drivers that include an enable circuit and related methods for reducing delays during read operations of the memory device.
2. Description of the Related Art
Attempts to minimize size and power consumption of electronic memory devices, such as dynamic random access memories (DRAMs), often lead to omitting certain components and features that may otherwise enhance memory device operation. Such considerations may be particularly important in applications where the memory device is incorporated into a battery-powered or mobile device. For example, some specialty memory devices, such as those used in mobile applications, may not feature any on-chip delay locked loops (DLLs), which are useful for aligning clocks and maintaining timing precision but tend to consume considerable power. Such a memory device can be, for example, a double data rate synchronous dynamic random access memory (DDR SDRAM), which is capable of reading out stored data in read bursts. With each read command, a read burst operation sequentially transmits a given number of data words from the memory device to the system in which the memory device is operating. A DDR SDRAM chip facilitates data transfers on both edges of each successive clock cycle (i.e., both the rising and falling edges), thereby doubling the memory chip data throughput. The data, conventionally denoted as “DQ,” is driven off the chip via off-chip drivers (OCD).
Normally, an on-chip DLL aligns the read output to the external system clock (VCLK). Where the on-chip DLL is omitted for size or power considerations, any propagation delay of the internal clocking tree and logic after the last clocked stage before the output pad of the memory device data adds to the output delay (tAC) measured from the rising edge of VCLK. More specifically, the internal clock tree essentially derives various clock signals from the external VCLK signal, which are used to time a variety of operations on the memory device. However, the process of generating these internal clock signals and propagation delays across the chip result in timing offsets between the external VCLK signal and the various internal clock signals. Further, any logic circuitry that exists between the point of application of the internal clock signal and the output terminal contributes to the output delay tAC between the VCLK signal and the arrival of data at the output.
While some degree of output delay time tAC is acceptable, it is desirable to minimize the variability of tAC, such that the timing of data driven off memory chips is predictable and consistent from OCD to OCD, from chip to chip, and for each individual OCD over the operating time period of the system containing the memory devices, such that the variation of tAC remains within acceptable operational tolerances. Reducing the number of different delays that contribute to tAC tends to reduce the overall variability of tAC.
Moreover, the overall delay in retrieving stored data in response to a read command must be taken into consideration when designing memory devices. This timing “budget” may include a number of factors, including tAC. Thus, in general, reducing the value of tAC can either reduce the overall delay in retrieving data or can permit other delays that contribute to the overall delay to be increased without exceeding the overall timing budget. Further, reducing the value of tAC may permit greater timing flexibility in latching retrieved data at the OCDs, thereby providing greater leeway in the timing of the clock signal used to supply the data to the OCDs.
In accordance with one aspect of the present invention, a memory device capable of performing a read operation includes: a memory array that stores data; and a plurality of off-chip drivers that supply as an output of the memory device, data retrieved from the memory array. At least one of the off-chip drivers includes: an enable circuit that generates an enable signal in response to a read enable signal received by the off-chip driver, wherein the enable circuit controls the timing of the enable signal in accordance with a timing signal supplied to the enable circuit; and a driver circuit that drives the data off the memory device in response to the enable signal.
The enable circuit can include a trigger circuit that latches an input signal upon receipt of the timing signal to produce the enable signal. The trigger circuit controls the timing of the enable signal such that an enabled state of the enable signal is triggered to be synchronous with the data being supplied to the off-chip driver. The enable circuit can further include enable logic that processes a static enable signal associated with the off-chip driver and an AND function that receives as inputs the read enable signal and the output of the enable logic, wherein the output of the AND function is supplied as the input to the trigger circuit.
A plurality of trigger circuits respectively corresponding to the plurality of off-chip drivers can supply the data to the off-chip drivers in accordance with the timing of the timing signal. The off-chip drivers can further include an AND function that receives as inputs the enable signal and the data, and supplies an output to the driver circuit. According to this arrangement, propagation delays tL in the enable logic that processes the static enable signal do not affect the timing of the data driven off the memory device and do not contribute to the overall delay tAC in the read operation.
In accordance with another aspect of the present invention, the off-chip drivers of a memory device include: an enable circuit that receives a static enable signal associated with an individual off-chip driver and a read enable signal, wherein the enable circuit generates an internal enable signal from the static enable signal and read enable signal, and wherein a timing of the internal enable signal is controlled in accordance with a timing signal supplied to the enable circuit; and a driver circuit that drives data off the memory device in response to the internal enable signal. The enable circuit can include: enable logic that processes the static enable signal; an AND function that receives as inputs the read enable signal and an output of the enable logic; and a trigger circuit that latches an output of the AND function upon receipt of the timing signal to produce the internal enable signal, such that propagation delays in the enable logic do not affect the timing of the internal enable signal.
In accordance with another aspect of the present invention, the off-chip drivers of a memory device include: an enable circuit that receives a static enable signal associated with an individual off-chip driver and a read enable signal, the enable circuit including a trigger circuit that generates an internal enable signal whose timing corresponds to a timing signal supplied to the trigger circuit, such that the internal enable signal transitions to an enabled state in response to the static enable signal and the read enable signal being in enabled states and the timing signal transitioning from a first state to a second state; and a driver circuit that drives data off the memory device in response to the internal enable signal. The trigger circuit can generate the internal enable signal by latching an input signal upon receipt of the timing signal, and controls the timing of the enable signal such that the enabled state of the enable signal is triggered to be synchronous with the data being supplied to the off-chip driver.
According to another aspect of the present invention, a memory device capable of performing a read operation includes: means for storing data; and means for reading the data from the memory device. The means for reading includes: means for generating an internal enable signal within the means for reading in response to a read enable signal, wherein the means for generating controls a timing of the enable signal in accordance with a timing signal; and means for driving the data off the memory device in response to the enable signal.
According to yet another aspect of the present invention, a method of manufacturing a memory device capable of performing a read operation includes: providing a memory array for storing data; providing a plurality of off-chip drivers for supplying as an output of the memory device, data retrieved from the memory array; and providing at least one of the off-chip drivers with at least: an enable circuit for generating an enable signal in response to a read enable signal received by the off-chip driver, the enable circuit controlling a timing of the enable signal in accordance with a timing signal supplied to the enable circuit; and a driver circuit for driving the data off the memory device in response to the enable signal. The enable circuit can be provided with a trigger circuit that latches an input signal upon receipt of the timing signal to produce the enable signal. The trigger circuit controls the timing of the enable signal such that an enabled state of the enable signal is triggered to be synchronous with the data being supplied to the off-chip driver.
According to still another aspect of the present invention, a method of performing a read operation in a memory device includes: supplying to an internal trigger circuit of an off-chip driver of the memory device, a signal derived from both a static enable signal individually associated with the off-chip driver and a read enable signal introduced downstream of logic that processes the static enable signal; triggering the internal trigger circuit of the off-chip driver with a timing signal to latch an internal enable signal; simultaneously triggering, with the timing signal, a data trigger circuit associated with the off-chip driver to latch data retrieved from a memory array of the memory device; and driving the data off the memory device in response to the internal enable signal being in an enabled state. The method can further include: supplying the internal enable signal and the latched data to an AND function within the off-chip driver to generate an enabled data signal; and supplying the enabled data signal to a driver circuit for driving the data off the memory device.
According to another aspect of the present invention, a method of performing a read operation in a memory device includes: respectively supplying a plurality of static enable signals to a plurality of off-chip drivers of the memory device; supplying a common read enable signal to the plurality of off-chip drivers, the read enable signal being introduced in the off-chip drivers downstream of logic for processing the static enable signals in the off-chip drivers; individually triggering generation of internal enable signals in respective ones of the off-chip drivers, wherein each internal enable signal is derived from both the read enable signal and the static enable signal supplied to the off-chip driver, the timing of the internal enable signal corresponding to a timing signal supplied to the off-chip drivers; respectively supplying a plurality of data bits to the respective ones of the off-chip drivers in synchronization with the internal enable signals; and driving the data bits off the memory device from the respective ones of the off-chip drivers in response to the internal enable signals being in an enabled state. The read operation can be a read burst operation.
The above and still further features and advantages of the present invention will become apparent upon consideration of the following definitions, descriptions and descriptive figures of specific embodiments thereof wherein like reference numerals in the various figures are utilized to designate like components. While these descriptions go into specific details of the invention, it should be understood that variations may and do exist and would be apparent to those skilled in the art based on the descriptions herein.
To better illustrate the invention, operation of a typical memory device having no on-chip DLL will be described in connection with
Standard DDR SDRAMs have two kinds of OCD disabling/enabling functionalities. One enabling/disabling functionality addresses every OCD on a DDR SDRAM output driver individually (Ind_EN1-Ind_ENn, where n is the number of OCDs on the DDR SDRAM chip. These signals contain information about which OCDs are used in that system (e.g., DQ organization) and/or enable/disable individual OCDs for special functions (e.g., production test modes). More specifically, DQ organization dictates how a DDR SDRAM chip is configured for use in a particular system. For example, a DDR SDRAM chip may include sixteen OCDs for driving sixteen parallel bits off the chip (i.e., the chip has the capability to read out 16-bit words); however, the system in which the chip is used may require only eight of the OCDs to supply data. In this case, DQ organization could specify that Ind_EN1-Ind_EN8 are set to a logical value that enables eight of the OCDs and that Ind_EN9-Ind_EN16 are set to the opposite logical value to disable the remaining eight OCDs. Likewise, specific enable/disable signals Ind_ENi, where the index i can be any value from 1 to n, can be turned on and off as necessary during a test mode to test operation of specific OCDs. In any event, while these individual enable/disable signals Ind_EN1-Ind_ENn must be received by the n individual OCDs of the DDR SDRAM, these signals do not typically change during read operations and are thus not timing critical. Accordingly, such individual enable/disable signals can be considered “static” during a read operation of the DDR SDRAM and hereinafter may be referred to as static enable signals or individual static enable signals.
The second type of enabling signal is a signal that is supplied to each data OCD and enables/disables all data OCDs that are enabled by static enable signals when a read operation is performed to drive read data off the DDR SDRAM chip. This read operation enabling signal (or simply “read enable” signal), also determines the timing of the first and the last data word that is driven off the DDR SDRAM during that read burst. Consequently, the read enable signal is triggered by an internal trigger signal that controls the timing of the read output operation.
Concurrently, data (Data_R[1:n]) is retrieved from the memory array (not shown) of the DDR SDRAM. The notation [1:n] indicates the Data_R is an n-bit word, with each of the n bits being supplied to a respective one of the n OCDs. As shown in
In each OCD 102i, the enable signal Outtime_F and the individual enable/disable information Ind_ENi for that OCD are supplied to a logic circuit, represented by Logic1 block 110 in
The internal timing generating signal, Time, is an oscillating clock signal having the same period as VCLK. However, Time is offset from VCLK by a delay tCLK resulting from the CLK receiver and the internal clock tree via which Time is derived from VCLK (tCLK is not explicitly denoted in
Similarly, after the signal Outtime_R has transitioned from a disabled state (logical low state in
As previously mentioned, the delay tL is the propagation delay through the logic circuit indicating by Logic1 block 110, which is mimicked by the delay circuit DEL1114.
This delay is shown in
Another propagation delay tDRV results from the AND function 112 and the DRV block 116. As shown in
In a standard DDR SDRAM, the tL and tDRV propagation delays do not present a problem, because the signal Time, which triggers the timing of the OCDs, is generated from an on-chip DLL that can advance VCLK by any given time. Consequently, tAC is not a function of tL or tDRV. However, in the newer generation of specialty DDR SDRAMs which lack an on-chip DLL, such as those used in mobile applications, the delay tAC is, in part, a function of tL and tDRV. In particular, tAC=tCLK+tDP+tL+tDRV where, again, tCLK is the delay of the CLK receiver and tree (i.e., the timing offset between VCLK and Time), and tDP is the delay from the trigger circuit to the DEL1 block 114. Consequently, in DDR SDRAMs that lack on-chip DLLs, the propagation delay tL increases the overall delay tAC and potentially introduces greater variability in the value of tAC from OCD to OCD, from chip to chip, and in individual OCDs over a period of time.
Included in memory device 300 are a number of modules and signals whose functions are generally similar to comparable modules and signals in memory device 100 shown in
More specifically, memory device 300 includes a plurality of off-chip drivers (OCDs) 3021-302n. Each OCD 302i includes an internal enable circuit 304 that includes a Logic1 block 306, an AND function 308, and a trigger circuit 310. The trigger circuit can be for example, a flip flop circuit or any circuit arrangement capable of latching an input signal in response to a signal, such as a clock signal or a trigger signal. The invention is not limited to memory devices having any particular number of OCDs or that generate data words having any particular number of bits. Like the OCDs shown in the memory device of
The individual static enable signals Ind_EN1-Ind_ENn are supplied to the Logic1 blocks 306 in much the same manner as in the circuit arrangement shown in
Rather than supplying the read OCD enable signal to Logic1 block 306, the read OCD enable signal is received as an input to AND function 308 along with the output of Logic1 block 306. AND function 308 and AND function 312 in the OCDs can be actual AND gates or any other circuit arrangement that produces a signal that is a logical AND of the two input signals (e.g., two input lines simply tied together into a single output line). The output of AND function 308 (EN[i]_R) transitions from a disabled state to an enabled state when both the read OCD enable signal and the output of Logic1 block 306 (derived from the individual static enable signal) are in an enabled state. Generally, this occurs when the read OCD enable signal transitions to an enabled state, since the individual static enable signal remains in a constant enabled state during operation for those OCDs that are driving read data.
The enable signal EN[i]_R generated at the output of AND function 308 is supplied to internal trigger circuit 310, which latches the EN[i]_R on the next rising edge of the internal timing generating signal Time to generate an enable signal EN[i]_F in accordance with the timing of the Time signal. In other words internal trigger circuit 310 produces EN[i]_F as a delayed version of EN[i]_R, where the timing of EN[i]_F is consistent with the timing of the Time signal. Unlike the circuit of
The bits of data words (Data_R[1:n]) retrieved from the memory array (not shown) of the DDR SDRAM are respectively supplied to data trigger circuits 316i, which latches Data_R[l] with the internal timing generating signal Time to produce a signal (Data_F[1:n]) that is supplied to OCDs 3021-302n in accordance with the timing of the signal Time. Each OCD further includes an AND function 312 that receives the output of the internal enable circuit 304 (EN[i]_F) and the data signal (Data_F[i]). Unlike the circuit of
The AND function 312 combines the enable signal (EN[i]_F) with the read data (Data_F[i]) to produce the signal D[i]. In other words, the signal Di follows the data signal Data_F[i] when the enable signal EN[i]_F is in an enabled state, and no data signal is produced at the output of the AND function 312 when the enable signal EN[i]_F is in a disabled state. The signal Di is in turn supplied to a driver circuit DRV 314, which produces a corresponding output signal DQi that is driven off the chip and onto an external signal line of a data bus.
As previously described, the internal timing generating signal Time is an oscillating clock signal that controls the timing of data being supplied to data OCDs 302i, and is essentially a delayed version of the external clock signal VCLK, having the same period as VCLK, but offset from VCLK by a delay tCLK resulting from the CLK receiver and the internal clock tree. For each OCD 302i, the internal clock signal Time is used by the corresponding data trigger circuit 316i to latch Data_R[i] to produce an output signal Data_F[i] synchronized to the timing of the signal Time, which is then supplied to the OCD 302i. Specifically, as shown in
Similarly, after the enable signal EN[i]_R has transitioned from a disabled state (logical low state in
As suggested by the dashed line shown in
Further, it may be possible to process some controls signal conventionally processed in the output driver circuit in the Logic1 block. For example, a control signal that indicates an output current level based on how much drive current is required could be processed in the Logic1 block instead of the driver circuit DRV. This modification would have the effect of reducing tDRV and increasing tL; however, this would still result in a reduction of tAC, since tAC is not dependent on tL.
While particular signal polarities are used in
Significant operations performed in accordance with the described embodiment of the present invention are summarized in the flow diagram shown in
Having described preferred embodiments of a new and improved memory device having off-chip drivers that include an enable circuit and related methods for reducing delays during read operations of the memory device, it is believed that other modifications, variations and changes will be suggested to those skilled in the art in view of the teachings set forth herein. It is therefore to be understood that all such variations, modifications and changes are believed to fall within the scope of the present invention as defined by the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.