US6751717B2 - Method and apparatus for clock synchronization between a system clock and a burst data clock - Google Patents

Method and apparatus for clock synchronization between a system clock and a burst data clock Download PDF

Info

Publication number
US6751717B2
US6751717B2 US09/767,490 US76749001A US6751717B2 US 6751717 B2 US6751717 B2 US 6751717B2 US 76749001 A US76749001 A US 76749001A US 6751717 B2 US6751717 B2 US 6751717B2
Authority
US
United States
Prior art keywords
command
clock
information
response
counter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US09/767,490
Other versions
US20030172240A1 (en
Inventor
Brian Johnson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Round Rock Research LLC
Original Assignee
Micron Technology Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Micron Technology Inc filed Critical Micron Technology Inc
Priority to US09/767,490 priority Critical patent/US6751717B2/en
Assigned to MICRON TECHNOLOGY, INC. reassignment MICRON TECHNOLOGY, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: JOHNSON, BRIAN
Publication of US20030172240A1 publication Critical patent/US20030172240A1/en
Application granted granted Critical
Publication of US6751717B2 publication Critical patent/US6751717B2/en
Assigned to ROUND ROCK RESEARCH, LLC reassignment ROUND ROCK RESEARCH, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICRON TECHNOLOGY, INC.
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Definitions

  • the present invention is directed to methods and apparatus for transferring control between clock domains and, more particularly, to a method and apparatus for enabling the transfer of control between a free running system clock and a burst, source-synchronous, data clock.
  • Microprocessor have made substantial advances in terms of speed of operation and the number of instructions that can be performed per second.
  • the speed of operation of microprocessors is outpacing the speed of operation of memory devices such that it is necessary to have many memory devices responsive to a single processor in an effort to ensure that instructions and data are provided to the processor at a speed as close to the operating speed of the processor as possible.
  • a group of devices can be placed on a common bus.
  • each device operates in a coordinated manner with other devices on the bus to share data which is transmitted at a high speed.
  • An example of such a high speed data system is described in U.S. Pat. No. 5,917,760 to Millar.
  • Millar describes a high speed data system using a common bus and a memory sub-system commonly known as SyncLink Dynamic Random Access Memory (SLDRAM).
  • SLDRAM SyncLink Dynamic Random Access Memory
  • address commands arrive at a memory system, it the corresponding data has not yet arrived, the address commands must be stored in a data pipeline until the data arrives.
  • This address command backlog prevents use of the data pipeline by other processes, including transmitting other data, until the data corresponding to the address command arrives. That inconsistency in arrival times for address commands and data can result in increased data errors and lost data, but most often slows the system by creating a bottleneck of address commands.
  • a burst data clock is set coincident with data to provide a well-timed latching clock at the receiving end of a data bus. If data capture latency is high for write data, but command bus band width is also high, it may become necessary to store several write commands and addresses before the data associated with those commands and addresses is captured.
  • a second problem associated with a source synchronous system using a burst data clock is that the burst clock only cycles for the time the data is being sent across the bus. That has implications for completing a write command using synchronous logic because the clock that is timed for the data is only present on the bus for data capture and becomes unavailable for bother logic operations. That situation is outlined in the timing diagram of FIG. 1 . As seen from FIG.
  • FIG. 1 also illustrates the preamble of the burst clock, which comprises three low clock ticks before the first pulse of the clock signal, a receive enable signal ⁇ overscore (Ren) ⁇ which transitions during the preamble, and the internal burst data clock
  • U.S. Pat. No. 5,895,482 is entitled Data Transfer System For Transferring Data In Synchronization With System Clock and Synchronous Semi-Conductor Memory Disclosed therein is a data transfer system having a data transfer path divided into a number of pipeline stages. A control section controls the number of pipeline stages that are activated.
  • U.S. Pat. No. 5,844,859 is entitled Synchronous Semi-Conductor Memory Device Reliably Fetching External Signal In Synchronization With Clock Signal Periodically Supplied From the Exterior.
  • Disclosed therein is a method by which operating frequency is increased and CAS latency is set longer, and a data write end time is delayed by a specific time in response to the change in the CAS latency. By appropriate control of the time periods, a write period for second-bit data is ensured in an SDRAM even if the operation frequency is increased.
  • the present invention is directed to an apparatus for coordinating the execution of commands with the receipt of data in response to a burst clock.
  • Command capture logic receives command information in response to a system clock.
  • a storage element is responsive to the command capture logic for storing certain command information such as write commands.
  • a two stage pipeline receives the command information from the storage element in response to the burst clock and outputs the command information in response to the system clock.
  • the storage element may be implemented by a first in first out buffer (FIFO) responsive to both command and address information for storing the incoming write commands and associated address information.
  • the two stage pipeline may include two delay elements, such as latches, controlled by two state counters. One state counter is clocked by the burst clock while the second state counter is clocked by the continuous clock.
  • the data clock counter output is decoded to generate three control signals: a first signal for controlling the read side of the FIFO, a second signal for controlling the first stage of the pipeline, and a third signal to start the counter responsive to the continuous clock.
  • the output of the counter responsive to the continuous clock is decoded and a control signal is generated to control the second stage of the pipeline and to initiate the generation of control signals to control the data path logic for executing the write command.
  • the method of the present invention is comprised of the steps of storing information, inputting the stored information into a pipeline in response to a burst clock, and outputting the information from the pipeline in response to a continuous clock.
  • the apparatus and method of the present invention accomplish the task of capturing and storing commands, such as write commands, and controlling the operation of the data path so that the write command can be executed at a later time after the corresponding data has arrived.
  • the apparatus and method of the present invention also enable control to be shifted between the two clock domains. More specifically, control initially is with the continuous clock which is used to receive the write command and address information. Control is then transferred to the burst clock to enable the data to be received. Finally, control is transferred back to the continuous clock to enable the write command to be executed on the associated address using the later received data.
  • FIG. 1 is a timing diagram illustrating the receipt of command information in response to a continuous clock, the receipt of data in response to a burst clock, the delay (latency) between those two events, as well as other signals;
  • FIG. 2 is a block diagram of a memory device in which an apparatus enabling control to be transferred between two clock domains may be used;
  • FIG. 3 is a block diagram of the apparatus of FIG. 2 in conjunction with certain components of the memory device of FIG. 2;
  • FIG. 4 is a timing diagram helpful in understanding the operation of the apparatus of FIG. 3.
  • FIG. 5 is a block diagram of a system in which the memory device of FIG. 2 may be used.
  • FIG. 2 illustrates a memory device 10 .
  • the reader will understand that the description of the present invention in conjunction with the memory 10 of FIG. 2 is merely for the purpose of providing one example of an application for the present invention. The present invention is not to be limited to the application shown if FIG. 2 .
  • the memory device 10 includes, by way of example and not limitation, t synchronous dynamic random access memory device (SDRAM). As shown in FIG. 2, memory device 10 includes a main memory 12 .
  • Main memory 12 typically includes dynamic random access memory (DRAM) devices which include one or more memory banks, indicated by BANK 1 -BANK N. Each of the memory banks BANK 1 -N includes a plurality of memory cells arranged in an array of rows and columns.
  • a row decoder 14 and a column decoder 16 access the rows and columns, respectively, in response to an address and thus form an address decoder.
  • the address is provided on an address bus 18 by an external controller (not shown in FIG. 2 ), such as a microprocessor, and may be stored in one or more address buffers 20 .
  • An input/output circuit 22 is connect to a data bus 24 for bi-directional data communication with main memory 12 through a read/write circuit 26 .
  • the input/output circuit 22 includes data in buffers 23 for to receiving data to be written to the main memory 12 .
  • a command decoder 27 is responsive to a command and control bus 30 .
  • Command pipeline circuits 28 are responsive to command decoder 27 while control logic 29 is responsive to command pipeline circuits 28 .
  • the command decoder 27 decodes commands to distinguish read and write commands. Commands are transferred to the command pipeline circuits 28 which are a series of delay circuits. Circuits 28 are controlled by the command decoder 27 to provide latency values, synchronized to the system clock, for the particular circuit.
  • Control logic 29 is responsive to command pipeline circuits 28 for generating signals for controlling the address decoder and the read/write circuit 26 to control the flow of data between the memory 10 and external devices.
  • the control signals may include, but are not limited to, Chip Select (CS*), Row Access Strobe (RAS*), Column Access Strobe (CAS*), Write Enable (WE*), and Clock Enable (CKL).
  • the memory device 10 also includes an apparatus 32 constructed according to the teachings of the present invention for coordinating the execution of commands with receipt of data in the data in buffer 23 .
  • the apparatus 32 is described hereinbelow with reference to FIG. 3 .
  • FIG. 2 Those skilled in the art will readily recognize that the memory device 10 of FIG. 2 is simplified to illustrate an application of apparatus 32 and is not intended to be a detailed description of all of the features of a memory device.
  • FIG. 3 is a block diagram of the apparatus 32 of FIG. 2 in conjunction with the address buffer 20 and the data in buffers 23 Because the burst data clock becomes unavailable after the data has been latched into data in buffers 23 from data bus 24 , and further control of the data path must occur using synchronous logic, control must move between the two clock domains: from the system clock (which is a continuous clock) used for command capture, to the burst data clock for data capture, and then back to the continuous system clock for data processing in accordance with the write command. The data processing function cannot occur until after the data has been captured in data in buffers 23 . Processing of a write command also requires a clock resynchronization from the burst data clock to the continuous system clock. The delaying of the processing of a write command coupled with the necessary clock resynchronization is accomplished by the apparatus 32 .
  • the system clock which is a continuous clock
  • Apparatus 32 is comprised of command capture logic 34 .
  • the command capture logic 34 is responsive to the command bus 30 and the continuous system clock.
  • the command capture logic 34 partially decodes commands to determine if the commands are read or write commands. Read commands are ignored while write commands are input to a write command/address first-in first-out (FIFO) buffer 38 .
  • FIFO first-in first-out
  • an address associated with the write command is also captured by the FIFO 38 .
  • the capturing of the write address with the write command in FIFO 38 is not particularly important as the write address may be handled in other ways, described below.
  • both the write command and the write address are captured in FIFO 38 in response to a capture signal 40 produced by the command capture logic 34 .
  • the capture signal 40 is a synchronous signal timed to the system clock.
  • the capture signal 40 generated by logic (not shown), partially decodes the column command to determine if the command is a read or write to the memory array.
  • the information in FIFO 38 is output from the FIFO 38 to a first pipeline stage element 41 .
  • a second pipeline stage element 42 is responsive to the first pipeline stage element 41 .
  • Information stored in FIFO 38 thus travels from FIFO 38 , to first pipeline stage element 41 , and from first pipeline stage element 41 to second pipeline stage element 42 . That portion of the information that is a write command is forwarded to control logic 29 .
  • address information is also included, the address information is input to the address decoder, which is comprised of row decoder 14 and column decoder 16 .
  • the address decoder which is comprised of row decoder 14 and column decoder 16 .
  • a first counter 44 is responsive to the burst data clock and may be referred to as the data clock counter.
  • the data clock counter 44 produces a clock count from which it can be determined when associated write data has been captured and the next set of write command/address information is needed.
  • the clock count is input to four separate decoder circuits, decoder 43 , decoder 45 , decoder 46 , and decoder 47 .
  • Decoder 43 is responsive to one of the values of the clock count for purposes (discussed later) of resetting data clock counter 44 .
  • Decoder 45 is responsive to one of the values of the clock count to produce an output signal used to control the read side of write command/address FIFO 38 .
  • Decoders 46 and 47 are, likewise, each responsive to one of the values of the clock count to produce signals used to cause the first pipeline stage element 41 to latch in data and start a second clock counter 48 , respectively.
  • the second clock counter 48 counts clock pulses of the continuous system clock. As stated, the system clock counter begins counting in response to a certain count of the data clock counter 44 .
  • a decoder 50 is responsive to a certain count of the system clock counter 48 to produce a signal causing the second pipeline element 42 to latch data.
  • both of the counters 44 and 48 are double edge clock logic. That helps reduce the cycle latency through the apparatus 32 by allowing the decoders 43 , 45 , 46 , 47 and 50 to output latch signals on either edge of the clock. Another reason for double-edge triggered logic is that there are cases where the phase relationship between the system clock and the burst data clock are unknown or change over voltage, temperature and process variations. For that reason, the apparatus 32 has a one-half clock cycle (of the system clock) uncertainty. It should be noted, however, that double edge counters are not required.
  • the counters 44 and 48 operate from a “start” signal.
  • start When “start” is valid, and a clock edge occurs, and the output is currently zero, the counter begins counting. When the counter reaches zero again, and the “start” signal is not asserted, the counter stops and stays at a value of zero. If the “start” signal is reasserted and the count is zero, the counter continues counting until the output is zero and “start” is not asserted.
  • the data clock counter 44 uses as its “start” signal a write pending signal 51 .
  • the write pending signal is also input to an AND gate 52 that receives the output of decoder 43 .
  • the output of AND gate 52 controls a one shot 54 that rests data clock counter 44 when write pending signal 51 is not asserted and the desired clock count is reached as indicated by decoder 43 .
  • Other methods of starting and resetting data clock counter 44 are possible; the disclosed method represents the presently preferred embodiment.
  • the write command/address FIFO 38 outputs the write pending signal 51 which indicates that pending writes have been loaded into the FIFO 38 .
  • the write pending signal 51 is not asserted if there is no pending write command loaded into the FIFO 38 . Whether there is a pending write command is known by comparing the FIFO read pointer value with the write pointer value. If the pointer values are the same, then no write command is pending.
  • the one shot 54 is operated to pulse the reset terminal of the data clock counter 44 assuming there are no pending write commands in FIFO 38 . That assures that the data clock counter 44 always starts from the correct output state.
  • the data clock counter 44 may be of a type that has input buffers that are used to capture the external burst data clock and are responsive to a control signal that turns the input buffers on or off. If the input buffers are turned off, the circuits pull the internal burst data clock output to a logic low and there is no clock signal transition available even though the reset and start signals are in the correct state for starting the counter.
  • the data clock counter 44 input buffers are turned on by an input buffer enabled signal that is generated according to the program data latency for all incoming write commands to the memory device 10 .
  • the input buffer enable signal turns on during the data clock preamble, (see FIG. 1 ⁇ overscore (Ren) ⁇ ) so that the first rising edge of the data clock corresponds to the first data bit captured from the external data bus.
  • the data clock input buffers when turned off, actively pull the internal data clock signal low to insure that no false transitions of the external clock are detected while the external clock signal is in a tri-state condition. That is why the input buffer enable signal should go active only during the logic low preamble of the external clock for data acquisition.
  • the data clock counter 44 begins counting with the first edge (rising) of the burst data clock.
  • the write command addresses (FIG. 4B) are received and latched into FIFO 38 in response to the system clock (FIG. 4 A).
  • the burst data clock (FIG. 4E) is available and is used to capture data from the data bus 24 and store it in data in buffers 23 .
  • the burst data clock counter 44 (FIG. 4G) begins counting each edge of the data clock.
  • the decoder 45 (FIG. 4H) provides a read signal to read the current pointer location in the FIFO 38 .
  • Decoder 46 (FIG. 4F) provides a signal which is input to the first pipeline stage element 41 while decoder 47 (FIG.
  • the system clock counter 48 produces a system clock count (FIG. 4 K).
  • the decoder 50 is responsive to the system clock count (FIG. 4K) to provide a signal (FIG. 4L) which is input to the second pipeline stage element 42 .
  • FIG. 4M illustrates the write pending signal 51 which is the start signal for data clock counter 44 .
  • FIG. 4C illustrates the capture signal 40 .
  • the rising edge of the capture signal 40 increments the write pointer (FIG. 4D) while the falling edge triggers the FIFO 38 to capture information.
  • the read pointer (FIG. 41 ) is incremented in response to the signal output by the decoder 45 (FIG. 4 H).
  • the decoder 45 Through assertion of the read signal (FIG. 4H) by decoder 45 , the information stored in FIFO 38 is moved from FIFO 38 to the first pipeline stage element 41 . Assertion of the signal (FIG.
  • decoder 46 moves information from the first pipeline stage element 44 to the second pipeline stage element 42 .
  • Assertion of the signal (FIG. 4L) by the decoder 50 makes the information available at the output of the second pipeline stage element 42 , with control information then being sent to the control logic 28 and address information being sent to the address decoder 14 / 16 .
  • the address information may travel with the write command through the apparatus 32 Alternatively, a parallel path for the address information may be provided. In another alternative, the address information may be separately stored in another FIFO (not shown) which is read at the time the data is available and the write command has propagated through the apparatus 32 . Additional pipeline stages may be added as needed.
  • FIG. 5 illustrates a computer system 200 containing the SDRAM 10 of FIG. 2 using the present invention.
  • the computer system 200 includes a processor 202 for performing various computing functions, such as executing specific software to perform specific calculations or tasks.
  • the processor 202 includes a processor bus 204 that normally includes an address bus, a control bus, and a data bus.
  • the computer system 200 includes one or more input devices 214 , such as a keyboard or a mouse, coupled to the processor 202 to allow an operator to interface with the computer system 200 .
  • the computer system 200 also includes one or more output devices 216 coupled to the processor 202 , such output devices typically being a printer or a video terminal.
  • One or more data storage devices 218 are also typically coupled to the processor 202 to allow the processor 202 to store data in or retrieve data from internal or external storage media (not shown). Examples of typical storage devices 218 include hard and floppy disks, tape cassettes, and compact disk read-only memories (CD-ROMs).
  • the processor 202 is also typically coupled to cache memory 226 , which is usually static random access memory (“SRAM”) and to the SDRAM 10 through a memory controller 230 .
  • the memory controller 230 normally includes the command and control bus 30 and the address bus 18 that are coupled to the SDRAM 10 .
  • the data bus 24 may be coupled to the processor bus 204 either directly (as shown), through the memory controller 230 , or by some other means.

Abstract

The present invention coordinates the execution of commands, received in response to a continuous system clock, with the receipt of data in response to a burst clock. Command capture logic receives command information in response to the system clock. A storage element is responsive to the command capture logic for storing certain command information such as write commands. A two stage pipeline receives the command information from the storage element in response to the burst clock and outputs the command information in response to the system clock. Methods of operating the apparatus are also disclosed.

Description

BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention is directed to methods and apparatus for transferring control between clock domains and, more particularly, to a method and apparatus for enabling the transfer of control between a free running system clock and a burst, source-synchronous, data clock.
2. Description of the Background
Microprocessor have made substantial advances in terms of speed of operation and the number of instructions that can be performed per second. In fact, the speed of operation of microprocessors is outpacing the speed of operation of memory devices such that it is necessary to have many memory devices responsive to a single processor in an effort to ensure that instructions and data are provided to the processor at a speed as close to the operating speed of the processor as possible.
To address the need for faster devices, a group of devices can be placed on a common bus. In such a configuration, each device operates in a coordinated manner with other devices on the bus to share data which is transmitted at a high speed. An example of such a high speed data system is described in U.S. Pat. No. 5,917,760 to Millar. Millar describes a high speed data system using a common bus and a memory sub-system commonly known as SyncLink Dynamic Random Access Memory (SLDRAM). By providing an appropriate number of memory devices and an efficient control system as used in SLDRAM, very high speed data transmissions can be achieved. However, faster systems, such as SLDRAM, are now reaching transfer speeds where memory devices cannot process the data as fast as the common bus can supply it. More specifically, as data storage address commands arrive at a memory system, it the corresponding data has not yet arrived, the address commands must be stored in a data pipeline until the data arrives. This address command backlog prevents use of the data pipeline by other processes, including transmitting other data, until the data corresponding to the address command arrives. That inconsistency in arrival times for address commands and data can result in increased data errors and lost data, but most often slows the system by creating a bottleneck of address commands.
In a source synchronous memory system, a burst data clock is set coincident with data to provide a well-timed latching clock at the receiving end of a data bus. If data capture latency is high for write data, but command bus band width is also high, it may become necessary to store several write commands and addresses before the data associated with those commands and addresses is captured. A second problem associated with a source synchronous system using a burst data clock is that the burst clock only cycles for the time the data is being sent across the bus. That has implications for completing a write command using synchronous logic because the clock that is timed for the data is only present on the bus for data capture and becomes unavailable for bother logic operations. That situation is outlined in the timing diagram of FIG. 1. As seen from FIG. 1, a write command is taken from the command bus in response to a continuous, free-running, system clock. After some period of delay, labeled the latency period in FIG. 1, data can be taken off the data bus in response to a burst data clock. A problem arises as a result of the need to resynchronize the capture clock back to the free-running system clock so that the synchronous logic can complete the write operation through the control of the data path. FIG. 1 also illustrates the preamble of the burst clock, which comprises three low clock ticks before the first pulse of the clock signal, a receive enable signal {overscore (Ren)} which transitions during the preamble, and the internal burst data clock
U.S. Pat. No. 5,895,482 is entitled Data Transfer System For Transferring Data In Synchronization With System Clock and Synchronous Semi-Conductor Memory Disclosed therein is a data transfer system having a data transfer path divided into a number of pipeline stages. A control section controls the number of pipeline stages that are activated. U.S. Pat. No. 5,844,859 is entitled Synchronous Semi-Conductor Memory Device Reliably Fetching External Signal In Synchronization With Clock Signal Periodically Supplied From the Exterior. Disclosed therein is a method by which operating frequency is increased and CAS latency is set longer, and a data write end time is delayed by a specific time in response to the change in the CAS latency. By appropriate control of the time periods, a write period for second-bit data is ensured in an SDRAM even if the operation frequency is increased.
Despite attempts to solve the aforementioned problems, the need still exists for an apparatus and method for reliably capturing command and address information with a continuous clock, capturing data at a later time with a burst clock, and coordinating the execution of the command on the later received data with the continuous clock.
SUMMARY OF THE PRESENT INVENTION
The present invention is directed to an apparatus for coordinating the execution of commands with the receipt of data in response to a burst clock. Command capture logic receives command information in response to a system clock. A storage element is responsive to the command capture logic for storing certain command information such as write commands. A two stage pipeline receives the command information from the storage element in response to the burst clock and outputs the command information in response to the system clock.
The storage element may be implemented by a first in first out buffer (FIFO) responsive to both command and address information for storing the incoming write commands and associated address information. The two stage pipeline may include two delay elements, such as latches, controlled by two state counters. One state counter is clocked by the burst clock while the second state counter is clocked by the continuous clock. The data clock counter output is decoded to generate three control signals: a first signal for controlling the read side of the FIFO, a second signal for controlling the first stage of the pipeline, and a third signal to start the counter responsive to the continuous clock. The output of the counter responsive to the continuous clock is decoded and a control signal is generated to control the second stage of the pipeline and to initiate the generation of control signals to control the data path logic for executing the write command.
The method of the present invention is comprised of the steps of storing information, inputting the stored information into a pipeline in response to a burst clock, and outputting the information from the pipeline in response to a continuous clock.
The apparatus and method of the present invention accomplish the task of capturing and storing commands, such as write commands, and controlling the operation of the data path so that the write command can be executed at a later time after the corresponding data has arrived. The apparatus and method of the present invention also enable control to be shifted between the two clock domains. More specifically, control initially is with the continuous clock which is used to receive the write command and address information. Control is then transferred to the burst clock to enable the data to be received. Finally, control is transferred back to the continuous clock to enable the write command to be executed on the associated address using the later received data.
Those, and other advantages and benefits, will be apparent from the Description of the Preferred Embodiment appearing hereinbelow.
BRIEF DESCRIPTION OF THE DRAWINGS
For the present invention to be easily understood and readily practiced, the present invention will now be described, for purposes of illustration and not limitation, in conjunction with the following figures, wherein:
FIG. 1 is a timing diagram illustrating the receipt of command information in response to a continuous clock, the receipt of data in response to a burst clock, the delay (latency) between those two events, as well as other signals;
FIG. 2 is a block diagram of a memory device in which an apparatus enabling control to be transferred between two clock domains may be used;
FIG. 3 is a block diagram of the apparatus of FIG. 2 in conjunction with certain components of the memory device of FIG. 2;
FIG. 4 is a timing diagram helpful in understanding the operation of the apparatus of FIG. 3; and
FIG. 5 is a block diagram of a system in which the memory device of FIG. 2 may be used.
DESCRIPTION OF THE PREFERRED EMBODIMENTS
The present invention will now be described in conjunction with FIG. 2 which illustrates a memory device 10. The reader will understand that the description of the present invention in conjunction with the memory 10 of FIG. 2 is merely for the purpose of providing one example of an application for the present invention. The present invention is not to be limited to the application shown if FIG. 2.
The memory device 10 includes, by way of example and not limitation, t synchronous dynamic random access memory device (SDRAM). As shown in FIG. 2, memory device 10 includes a main memory 12. Main memory 12 typically includes dynamic random access memory (DRAM) devices which include one or more memory banks, indicated by BANK 1-BANK N. Each of the memory banks BANK 1-N includes a plurality of memory cells arranged in an array of rows and columns. A row decoder 14 and a column decoder 16 access the rows and columns, respectively, in response to an address and thus form an address decoder. The address is provided on an address bus 18 by an external controller (not shown in FIG. 2), such as a microprocessor, and may be stored in one or more address buffers 20. An input/output circuit 22 is connect to a data bus 24 for bi-directional data communication with main memory 12 through a read/write circuit 26. The input/output circuit 22 includes data in buffers 23 for to receiving data to be written to the main memory 12. A command decoder 27 is responsive to a command and control bus 30. Command pipeline circuits 28 are responsive to command decoder 27 while control logic 29 is responsive to command pipeline circuits 28. The command decoder 27 decodes commands to distinguish read and write commands. Commands are transferred to the command pipeline circuits 28 which are a series of delay circuits. Circuits 28 are controlled by the command decoder 27 to provide latency values, synchronized to the system clock, for the particular circuit. Control logic 29 is responsive to command pipeline circuits 28 for generating signals for controlling the address decoder and the read/write circuit 26 to control the flow of data between the memory 10 and external devices. The control signals may include, but are not limited to, Chip Select (CS*), Row Access Strobe (RAS*), Column Access Strobe (CAS*), Write Enable (WE*), and Clock Enable (CKL).
The memory device 10 also includes an apparatus 32 constructed according to the teachings of the present invention for coordinating the execution of commands with receipt of data in the data in buffer 23. The apparatus 32 is described hereinbelow with reference to FIG. 3. Those skilled in the art will readily recognize that the memory device 10 of FIG. 2 is simplified to illustrate an application of apparatus 32 and is not intended to be a detailed description of all of the features of a memory device.
FIG. 3 is a block diagram of the apparatus 32 of FIG. 2 in conjunction with the address buffer 20 and the data in buffers 23 Because the burst data clock becomes unavailable after the data has been latched into data in buffers 23 from data bus 24, and further control of the data path must occur using synchronous logic, control must move between the two clock domains: from the system clock (which is a continuous clock) used for command capture, to the burst data clock for data capture, and then back to the continuous system clock for data processing in accordance with the write command. The data processing function cannot occur until after the data has been captured in data in buffers 23. Processing of a write command also requires a clock resynchronization from the burst data clock to the continuous system clock. The delaying of the processing of a write command coupled with the necessary clock resynchronization is accomplished by the apparatus 32.
Apparatus 32 is comprised of command capture logic 34. The command capture logic 34 is responsive to the command bus 30 and the continuous system clock. The command capture logic 34 partially decodes commands to determine if the commands are read or write commands. Read commands are ignored while write commands are input to a write command/address first-in first-out (FIFO) buffer 38. At the time that the write command is captured by FIFO 38, an address associated with the write command is also captured by the FIFO 38. The capturing of the write address with the write command in FIFO 38 is not particularly important as the write address may be handled in other ways, described below. However, in a preferred embodiment, both the write command and the write address are captured in FIFO 38 in response to a capture signal 40 produced by the command capture logic 34. The capture signal 40 is a synchronous signal timed to the system clock. The capture signal 40, generated by logic (not shown), partially decodes the column command to determine if the command is a read or write to the memory array.
The information in FIFO 38, which may include command and address information, is output from the FIFO 38 to a first pipeline stage element 41. A second pipeline stage element 42 is responsive to the first pipeline stage element 41. Information stored in FIFO 38 thus travels from FIFO 38, to first pipeline stage element 41, and from first pipeline stage element 41 to second pipeline stage element 42. That portion of the information that is a write command is forwarded to control logic 29. If address information is also included, the address information is input to the address decoder, which is comprised of row decoder 14 and column decoder 16. Those of ordinary skill in the art will recognize that many types of devices may be used to implement the elements 41 and 42, e.g. flip-flops, FIFO's, etc., depending upon the particular system architecture employed.
A first counter 44 is responsive to the burst data clock and may be referred to as the data clock counter. The data clock counter 44 produces a clock count from which it can be determined when associated write data has been captured and the next set of write command/address information is needed. The clock count is input to four separate decoder circuits, decoder 43, decoder 45, decoder 46, and decoder 47. Decoder 43 is responsive to one of the values of the clock count for purposes (discussed later) of resetting data clock counter 44. Decoder 45 is responsive to one of the values of the clock count to produce an output signal used to control the read side of write command/address FIFO 38. Decoders 46 and 47 are, likewise, each responsive to one of the values of the clock count to produce signals used to cause the first pipeline stage element 41 to latch in data and start a second clock counter 48, respectively.
The second clock counter 48 counts clock pulses of the continuous system clock. As stated, the system clock counter begins counting in response to a certain count of the data clock counter 44. A decoder 50 is responsive to a certain count of the system clock counter 48 to produce a signal causing the second pipeline element 42 to latch data.
According to a preferred embodiment, both of the counters 44 and 48 are double edge clock logic. That helps reduce the cycle latency through the apparatus 32 by allowing the decoders 43, 45, 46, 47 and 50 to output latch signals on either edge of the clock. Another reason for double-edge triggered logic is that there are cases where the phase relationship between the system clock and the burst data clock are unknown or change over voltage, temperature and process variations. For that reason, the apparatus 32 has a one-half clock cycle (of the system clock) uncertainty. It should be noted, however, that double edge counters are not required.
Another feature of the counters 44 and 48 is that the counters operate from a “start” signal. When “start” is valid, and a clock edge occurs, and the output is currently zero, the counter begins counting. When the counter reaches zero again, and the “start” signal is not asserted, the counter stops and stays at a value of zero. If the “start” signal is reasserted and the count is zero, the counter continues counting until the output is zero and “start” is not asserted. In the particular embodiment shown, the data clock counter 44 uses as its “start” signal a write pending signal 51. The write pending signal is also input to an AND gate 52 that receives the output of decoder 43. The output of AND gate 52 controls a one shot 54 that rests data clock counter 44 when write pending signal 51 is not asserted and the desired clock count is reached as indicated by decoder 43. Other methods of starting and resetting data clock counter 44 are possible; the disclosed method represents the presently preferred embodiment.
The write command/address FIFO 38 outputs the write pending signal 51 which indicates that pending writes have been loaded into the FIFO 38. The write pending signal 51 is not asserted if there is no pending write command loaded into the FIFO 38. Whether there is a pending write command is known by comparing the FIFO read pointer value with the write pointer value. If the pointer values are the same, then no write command is pending. At the end of the data burst counter sequence, the one shot 54 is operated to pulse the reset terminal of the data clock counter 44 assuming there are no pending write commands in FIFO 38. That assures that the data clock counter 44 always starts from the correct output state.
The data clock counter 44 may be of a type that has input buffers that are used to capture the external burst data clock and are responsive to a control signal that turns the input buffers on or off. If the input buffers are turned off, the circuits pull the internal burst data clock output to a logic low and there is no clock signal transition available even though the reset and start signals are in the correct state for starting the counter. The data clock counter 44 input buffers are turned on by an input buffer enabled signal that is generated according to the program data latency for all incoming write commands to the memory device 10.
The input buffer enable signal turns on during the data clock preamble, (see FIG. 1 {overscore (Ren)}) so that the first rising edge of the data clock corresponds to the first data bit captured from the external data bus. The data clock input buffers, when turned off, actively pull the internal data clock signal low to insure that no false transitions of the external clock are detected while the external clock signal is in a tri-state condition. That is why the input buffer enable signal should go active only during the logic low preamble of the external clock for data acquisition. The data clock counter 44 begins counting with the first edge (rising) of the burst data clock.
By examining the timing diagrams of FIG. 4, it is seen that the write command addresses (FIG. 4B) are received and latched into FIFO 38 in response to the system clock (FIG. 4A). Sometime later (write latency), the burst data clock (FIG. 4E) is available and is used to capture data from the data bus 24 and store it in data in buffers 23. At the same time, the burst data clock counter 44 (FIG. 4G) begins counting each edge of the data clock. The decoder 45 (FIG. 4H) provides a read signal to read the current pointer location in the FIFO 38. Decoder 46 (FIG. 4F) provides a signal which is input to the first pipeline stage element 41 while decoder 47 (FIG. 4J) provides the start signal to the system clock counter 48. The system clock counter 48 produces a system clock count (FIG. 4K). The decoder 50 is responsive to the system clock count (FIG. 4K) to provide a signal (FIG. 4L) which is input to the second pipeline stage element 42.
FIG. 4M illustrates the write pending signal 51 which is the start signal for data clock counter 44. FIG. 4C illustrates the capture signal 40. The rising edge of the capture signal 40 increments the write pointer (FIG. 4D) while the falling edge triggers the FIFO 38 to capture information. On the output side of the FIFO 38, the read pointer (FIG. 41 ) is incremented in response to the signal output by the decoder 45 (FIG. 4H). Through assertion of the read signal (FIG. 4H) by decoder 45, the information stored in FIFO 38 is moved from FIFO 38 to the first pipeline stage element 41. Assertion of the signal (FIG. 4F) by decoder 46 moves information from the first pipeline stage element 44 to the second pipeline stage element 42. Assertion of the signal (FIG. 4L) by the decoder 50 makes the information available at the output of the second pipeline stage element 42, with control information then being sent to the control logic 28 and address information being sent to the address decoder 14/16.
As previously mentioned, the address information may travel with the write command through the apparatus 32 Alternatively, a parallel path for the address information may be provided. In another alternative, the address information may be separately stored in another FIFO (not shown) which is read at the time the data is available and the write command has propagated through the apparatus 32. Additional pipeline stages may be added as needed.
FIG. 5 illustrates a computer system 200 containing the SDRAM 10 of FIG. 2 using the present invention. The computer system 200 includes a processor 202 for performing various computing functions, such as executing specific software to perform specific calculations or tasks. The processor 202 includes a processor bus 204 that normally includes an address bus, a control bus, and a data bus. In addition, the computer system 200 includes one or more input devices 214, such as a keyboard or a mouse, coupled to the processor 202 to allow an operator to interface with the computer system 200. Typically, the computer system 200 also includes one or more output devices 216 coupled to the processor 202, such output devices typically being a printer or a video terminal. One or more data storage devices 218 are also typically coupled to the processor 202 to allow the processor 202 to store data in or retrieve data from internal or external storage media (not shown). Examples of typical storage devices 218 include hard and floppy disks, tape cassettes, and compact disk read-only memories (CD-ROMs). The processor 202 is also typically coupled to cache memory 226, which is usually static random access memory (“SRAM”) and to the SDRAM 10 through a memory controller 230. The memory controller 230 normally includes the command and control bus 30 and the address bus 18 that are coupled to the SDRAM 10. The data bus 24 may be coupled to the processor bus 204 either directly (as shown), through the memory controller 230, or by some other means.
While the present invention has been described in connection with exemplary embodiments thereof, those of ordinary skill in the art will recognize that many modifications and variations are possible. Such modifications and variations are intended to be within the scope of the present invention, which is limited only by the following claims.

Claims (51)

What is claimed is:
1. A circuit, comprising:
a storage element for storing command and address information;
a first counter responsive to a first clock for controlling the reading of said information out of said storage element;
a second counter responsive to a second clock and said first counter;
a first delay element responsive to said first counter and to said information read out of said storage element; and
a second delay element responsive to said first delay element and said second counter.
2. The circuit of claim 1 wherein said first clock includes a burst data clock and said second clock includes a free running system clock.
3. The circuit of claim 2 wherein said information includes command and address information.
4. The circuit of claim 1 wherein said storage element includes a FIFO buffer and wherein said first and second delay elements include first and second latches, respectively.
5. A circuit, comprising:
a storage element for storing command information; and
a two stage pipeline for receiving command information from said storage element in response to a burst clock and for outputting said command information in response to a continuous clock.
6. The circuit of claim 5 wherein said storage element includes a storage element for storing command and address information, and wherein said two stage pipeline includes a two stage pipeline for receiving command and address information from said storage element and for outputting said command and address information.
7. The circuit of claim 5 wherein a first stage of said two stage pipeline includes a first counter responsive to said burst clock and a delay element responsive to said storage element and said first counter, and wherein a second stage of said two stage pipeline includes a second counter responsive to said continuous clock and said first counter, and a second delay element responsive to said first delay element and said second counter.
8. The circuit of claim 7 wherein said counters include double-edge clocked logic.
9. The circuit of claim 7 wherein said counters include counters that are enabled in response to a start signal.
10. An apparatus for coordinating the execution of commands with the receipt of data in a buffer in response to a burst clock, comprising:
command capture logic for receiving command information in response to a system clock;
a storage element responsive to said command capture logic for storing certain of said command information;
a first counter responsive to said burst clock for controlling the reading of command information out of said storage element;
a second counter responsive to said system clock and said first counter;
a first delay element responsive to said first counter and to said storage element; and
a second delay element responsive to said first delay element and said second counter for outputting said command information when data corresponding thereto is available.
11. The apparatus of claim 10 wherein said storage element includes a storage element for storing command and address information, and wherein said first counter is for controlling the reading of command and address information out of said storage element.
12. The apparatus of claim 10 wherein said counters include double-edge clocked logic.
13. The apparatus of claim 10 wherein said counters include counters that are enabled in response to a start signal.
14. An apparatus for coordinating the execution of commands with the receipt of data in a buffer in response to a burst clock, comprising:
command capture logic for receiving command information in response to a system clock;
a storage element responsive to said command capture logic for storing certain command information; and
a multi-stage pipeline for receiving command information from said storage element in response to said burst clock and for outputting said command information in response to said system clock.
15. The apparatus of claim 14 wherein said storage element includes a storage element for storing comma)n(d and address information, and wherein said multi-stage pipeline includes a two stage pipeline for receiving command and address information from said storage element and for outputting said command and address information.
16. The apparatus of claim 14 wherein a first stage of said multi-stage pipeline includes a first counter responsive to said burst clock and a delay element responsive to said storage element and said first counter, and wherein a second stage of said multi-stage pipeline includes a second counter responsive to said system clock and said first counter, and a second delay element responsive to said first delay element and said second counter.
17. The apparatus of claim 16 wherein said counters include double-edge clocked logic.
18. The apparatus of claim 16 wherein said counters include counters that are enabled in response to a start signal.
19. A memory device, comprising:
a plurality of memory cells;
an address decoder for receiving address information and for identifying at least one specific memory cell responsive to said address;
a buffer for receiving data for write operations in accordance with a burst clock;
a read/write circuit for reading data out of said specific cell or for writing said received data into said specific cell;
a control circuit for receiving command information and for generating control signals in response thereto for controlling said address decoder and said read/write circuit;
said memory device further comprising an apparatus for coordinating the execution of commands with the receipt of data in said buffer, comprising:
command capture logic for receiving and examining command information in response to a system clock, certain of said command information being passed onto said control circuit
a storage element responsive to said command capture logic for storing certain other of said command information;
a first counter responsive to said burst clock for controlling the reading of command information out of said storage element;
a second counter responsive to said system clock and said first counter;
a first delay element responsive to said first counter and to said storage element; and
a second delay element responsive to said first delay element and said second counter for outputting said command information to said control circuit when data corresponding thereto is available.
20. The memory device of claim 19 wherein said storage element includes a storage element for storing command and address information, and wherein said first counter is for controlling the reading of command and address information out of said storage element, and wherein said second delay element outputs said address information to said address decoder.
21. The memory device of claim 19 wherein said counters include double-edge clocked logic.
22. The memory device of claim 19 wherein said counters include counters that are enabled in response to a start signal.
23. A memory device, comprising:
a plurality of memory cells;
an address decoder for receiving address information and for identifying at least one specific memory cell responsive to said address;
a buffer for receiving data for write operations in accordance with a burst clock;
a read/write circuit for reading data out of said specific cell or for writing said received data into said specific cell;
a control circuit for receiving command information and for generating control signals in response thereto for controlling said address decoder and said read/write circuit;
said memory device further comprising an apparatus for coordinating the execution of commands with the receipt of data in said buffer, comprising:
command capture logic for receiving and examining command information in response to a system clock, certain of said command information being passed onto said control circuit
a storage element responsive to said command capture logic for storing certain other of said command information; and
a multi-stage pipeline for receiving command information from said storage element in response to said burst clock and for outputting said command information to said control logic in response to said system clock.
24. The memory device of claim 23 wherein said storage element includes a storage element for storing command and address information, and wherein said multi-stage pipeline includes a two stage pipeline for receiving command and address information from said storage element and for outputting said address information to said address decoder.
25. The memory device of claim 23 wherein a first stage of said multi-stage pipeline includes a first counter responsive to said burst clock and a delay element responsive to said storage element and said first counter, and wherein a second stage of said multi-stage pipeline includes a second counter responsive to said system clock and said first counter, and a second delay element responsive to said first delay element and said second counter.
26. The memory device of claim 25 wherein said counters include double-edge clocked logic.
27. The memory device of claim 25 wherein said counters include counters that are enabled in response to a start signal.
28. A computer system, comprising:
a processor having a processor bus;
an input device coupled to the processor through the processor bus;
an output device coupled to the processor through the processor bus; and
a memory device coupled to the processor bus, said memory device comprising:
a plurality of memory cells;
an address decoder for receiving address information and for identifying at least one specific memory cell responsive to said address;
a buffer for receiving data for write operations in accordance with a burst clock;
a read/write circuit for reading data out of said specific cell or for writing said received data into said specific cell;
a control circuit for receiving command information and for generating control signals in response thereto for controlling said address decoder and said read/write circuit;
command capture logic for receiving and examining command information in response to a system clock, certain of said command information being passed onto said control circuit
a storage element responsive to said command capture logic for storing certain other of said command information;
a first counter responsive to said burst clock for controlling the reading of command information out of said storage element;
a second counter responsive to said system clock and said first counter;
a first delay element responsive to said first counter and to said storage element; and
a second delay element responsive to said first delay element and said second counter for outputting said command information to said control circuit when data corresponding thereto is available.
29. The computer system of claim 28 wherein said storage element includes a storage element for storing command and address information, and wherein said first counter is for controlling the reading of command and address information out of said storage element, and wherein said second delay element outputs said address information to said address decoder.
30. The computer system of claim 28 wherein said counters include double-edge clocked logic.
31. The computer system of claim 28 wherein said counters include counters that are enabled in response to a start signal.
32. A computer system, comprising:
a processor having a processor bus;
an input device coupled to the processor through the processor bus,
an output device coupled to the processor through the processor bus; and
a memory device coupled to the processor bus, said memory device comprising:
a plurality of memory cells;
an address decoder for receiving address information and for identifying at least one specific memory cell responsive to said address;
a buffer for receiving data for write operations in accordance with a burst clock;
a read/write circuit for reading data out of said specific cell or for writing said received data into said specific cell;
a control circuit for receiving command information and for generating control signals in response thereto for controlling said address decoder and said read/write circuit;
command capture logic for receiving and examining command information in response to a system clock, certain of said command information being passed onto said control circuit
a storage element responsive to said command capture logic for storing certain other of said command information; and
a two stage pipeline for receiving command information from said storage element in response to said burst clock and for outputting said command information to said control logic in response to said system clock.
33. The computer system of claim 32 wherein said storage element includes a storage element for storing command and address information, and wherein said two stage pipeline includes a two stage pipeline for receiving command and address information from said storage element and for outputting said address information to said address decoder.
34. The computer system of claim 32 wherein a first stage of said two stage pipeline includes a first counter responsive to said burst clock and a delay element responsive to said storage element and said first counter, and wherein a second stage of said two stage pipeline includes a second counter responsive to said system clock and said first counter, and a second delay element responsive to said first delay element and said second counter.
35. The computer system of claim 34 wherein said counters include double-edge clocked logic.
36. The computer system of claim 34 wherein said counters include counters that are enabled in response to a start signal.
37. A method, comprising:
storing information;
transferring said stored information to a first device in response to a burst clock; and
transferring said information from said first device to a second device in response to a continuous clock.
38. The method of claim 37 wherein said step of storing information includes the step of storing command and address information and wherein said two transferring steps include transferring said command and address information.
39. A method, comprising:
storing information;
inputting said stored information into a pipeline in response to a burst clock; and
outputting said stored information from said pipeline in response to a continuous clock.
40. The method of claim 39 wherein said step of storing information includes the step of storing command and address information and wherein said inputting and outputting steps include inputting and outputting said command and address information.
41. A method, comprising:
storing information;
counting the clock pulses of a burst clock to produce a burst clock count;
transferring said stored information to a first device in response to said burst clock count;
counting the clock pulses of a continuous clock in response to said burst clock count to produce a continuous clock count; and
transferring said information from said first device to a second device in response to said continuous clock count.
42. The method of claim 41 wherein said step of storing information includes the step of storing command and address information and wherein said two transferring steps include transferring said command and address information.
43. The method of claim 41 wherein said step of counting the clock pulses of a burst clock includes counting both the rising and falling edges of said burst clock and wherein said step of counting the clock pulses of a continuous clock includes counting both the rising and falling edges of said continuous clock.
44. A method of coordinating the execution of commands with the receipt of data in response to a burst clock, comprising:
receiving command information in response to a continuous clock;
storing certain of said command information;
transferring said stored command information to a first device in response to said burst clock; and
transferring said command information from said first de %ice to a second device in response to said continuous clock.
45. The method of claim 44 wherein said step of storing information includes the step of storing command and address information and wherein said two transferring steps include transferring said command and address information.
46. A method of coordinating the execution of commands with the receipt of data in response to a burst clock; comprising:
receiving command information in response to a continuous clock;
storing certain of said command information;
inputting said stored command information into a pipeline in response to a burst clock; and
outputting said stored command information from said pipeline in response to said continuous clock.
47. The method of claim 46 wherein said step of storing information includes the step of storing command and address information and wherein said inputting and outputting steps include inputting and outputting said command and address information.
48. A method of coordinating the execution of commands with the receipt of data in response to a burst clock; comprising:
receiving command information in response to a continuous clock;
storing certain of said command information;
counting the clock pulses of said burst clock to produce a burst clock count;
transferring said stored command information to a first device in response to said burst clock count;
counting the clock pulses of said continuous clock in response to said burst clock count to produce a continuous clock count; and
transferring said command information from said first device to a second device in response to said continuous clock count.
49. The method of claim 48 wherein said step of storing information includes the step of storing command and address information and wherein said two transferring steps include transferring said command and address information.
50. The method of claim 48 wherein said step of counting the clock pulses of said burst clock includes counting both the rising and falling edges of said burst clock and wherein said step of counting the clock pulses of said continuous clock includes counting both the rising and falling edges of said continuous clock.
51. A method of processing a write command associated with an address and data, comprising:
receiving a write command and an address in response to a continuous clock;
receiving data in response to a burst clock; and
postponing the execution of said received write command until said data associated therewith is received, said write command being executed on said address in response to said continuous clock.
US09/767,490 2001-01-23 2001-01-23 Method and apparatus for clock synchronization between a system clock and a burst data clock Expired - Fee Related US6751717B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US09/767,490 US6751717B2 (en) 2001-01-23 2001-01-23 Method and apparatus for clock synchronization between a system clock and a burst data clock

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/767,490 US6751717B2 (en) 2001-01-23 2001-01-23 Method and apparatus for clock synchronization between a system clock and a burst data clock

Publications (2)

Publication Number Publication Date
US20030172240A1 US20030172240A1 (en) 2003-09-11
US6751717B2 true US6751717B2 (en) 2004-06-15

Family

ID=29550475

Family Applications (1)

Application Number Title Priority Date Filing Date
US09/767,490 Expired - Fee Related US6751717B2 (en) 2001-01-23 2001-01-23 Method and apparatus for clock synchronization between a system clock and a burst data clock

Country Status (1)

Country Link
US (1) US6751717B2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054876A1 (en) * 2002-09-13 2004-03-18 Grisenthwaite Richard Roy Synchronising pipelines in a data processing apparatus
US20050265086A1 (en) * 2004-05-26 2005-12-01 Nec Electronics Corporation Semiconductor storage device
US20110137605A1 (en) * 2008-06-10 2011-06-09 Advantest Corporation Test module, test apparatus, and test method

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4627491B2 (en) * 2005-01-19 2011-02-09 株式会社イマジオム Cluster computer middleware program, cluster computer simulator program, cluster computer application program, and application program development support method
DE102007051839B4 (en) * 2007-10-30 2015-12-10 Polaris Innovations Ltd. Control circuit, memory device with a control circuit and method for performing a write command or for operating a memory device with a control circuit
US9407426B2 (en) 2009-11-12 2016-08-02 Oe Solutions America, Inc. Optical network interface, module and engine
US9959935B2 (en) * 2016-04-12 2018-05-01 Samsung Electronics Co., Ltd. Input-output circuit for supporting multiple-input shift register (MISR) function and memory device including the same
KR102386811B1 (en) * 2017-07-18 2022-04-15 에스케이하이닉스 주식회사 Memory system and operating method thereof
CN109584944B (en) * 2017-09-29 2024-01-05 三星电子株式会社 Input/output circuit supporting multiple input shift register function and memory device
KR20210016866A (en) * 2019-08-05 2021-02-17 삼성전자주식회사 Memory device and operation method thereof

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327019A (en) * 1992-07-30 1994-07-05 Alcatel Network Systems, Inc. Double edge single data flip-flop circuitry
US5794019A (en) 1997-01-22 1998-08-11 International Business Machines Corp. Processor with free running clock with momentary synchronization to subsystem clock during data transfers
US5822571A (en) * 1996-06-05 1998-10-13 Compaq Computer Corporation Synchronizing data between devices
US5844859A (en) 1997-04-09 1998-12-01 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device reliably fetching external signal in synchronization with clock signal periodically supplied from the exterior
US5895482A (en) 1995-09-12 1999-04-20 Kabushiki Kaisha Toshiba Data transfer system for transferring data in synchronization with system clock and synchronous semiconductor memory
US5950219A (en) * 1996-05-02 1999-09-07 Cirrus Logic, Inc. Memory banks with pipelined addressing and priority acknowledging and systems and methods using the same
US5966724A (en) * 1996-01-11 1999-10-12 Micron Technology, Inc. Synchronous memory device with dual page and burst mode operations
US6047334A (en) * 1997-06-17 2000-04-04 Intel Corporation System for delaying dequeue of commands received prior to fence command until commands received before fence command are ordered for execution in a fixed sequence
US6101136A (en) * 1998-01-13 2000-08-08 Nec Corporation Signal delay device for use in semiconductor storage device for improved burst mode operation
US6279116B1 (en) * 1992-10-02 2001-08-21 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory devices that utilize clock masking signals to control internal clock signal generation
US6366150B1 (en) * 1997-05-23 2002-04-02 Mitsubishi Denki Kabushiki Kaisha Digital delay line
US6427196B1 (en) * 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US6449679B2 (en) * 1999-02-26 2002-09-10 Micron Technology, Inc. RAM controller interface device for RAM compatibility (memory translator hub)
US6604179B2 (en) * 2000-03-23 2003-08-05 Intel Corporation Reading a FIFO in dual clock domains

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5327019A (en) * 1992-07-30 1994-07-05 Alcatel Network Systems, Inc. Double edge single data flip-flop circuitry
US6279116B1 (en) * 1992-10-02 2001-08-21 Samsung Electronics Co., Ltd. Synchronous dynamic random access memory devices that utilize clock masking signals to control internal clock signal generation
US5895482A (en) 1995-09-12 1999-04-20 Kabushiki Kaisha Toshiba Data transfer system for transferring data in synchronization with system clock and synchronous semiconductor memory
US5966724A (en) * 1996-01-11 1999-10-12 Micron Technology, Inc. Synchronous memory device with dual page and burst mode operations
US5950219A (en) * 1996-05-02 1999-09-07 Cirrus Logic, Inc. Memory banks with pipelined addressing and priority acknowledging and systems and methods using the same
US5822571A (en) * 1996-06-05 1998-10-13 Compaq Computer Corporation Synchronizing data between devices
US5794019A (en) 1997-01-22 1998-08-11 International Business Machines Corp. Processor with free running clock with momentary synchronization to subsystem clock during data transfers
US5844859A (en) 1997-04-09 1998-12-01 Mitsubishi Denki Kabushiki Kaisha Synchronous semiconductor memory device reliably fetching external signal in synchronization with clock signal periodically supplied from the exterior
US6366150B1 (en) * 1997-05-23 2002-04-02 Mitsubishi Denki Kabushiki Kaisha Digital delay line
US6047334A (en) * 1997-06-17 2000-04-04 Intel Corporation System for delaying dequeue of commands received prior to fence command until commands received before fence command are ordered for execution in a fixed sequence
US6101136A (en) * 1998-01-13 2000-08-08 Nec Corporation Signal delay device for use in semiconductor storage device for improved burst mode operation
US6449679B2 (en) * 1999-02-26 2002-09-10 Micron Technology, Inc. RAM controller interface device for RAM compatibility (memory translator hub)
US6427196B1 (en) * 1999-08-31 2002-07-30 Intel Corporation SRAM controller for parallel processor architecture including address and command queue and arbiter
US6604179B2 (en) * 2000-03-23 2003-08-05 Intel Corporation Reading a FIFO in dual clock domains

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Brian Johnson, "Method and Apparatus for Address FIFO for High-Bandwidth Comman/Address Busses in Digital Storage System", Figures 1-9, Apr. 3, 2000, Application for Letters Patent, USPTO.

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040054876A1 (en) * 2002-09-13 2004-03-18 Grisenthwaite Richard Roy Synchronising pipelines in a data processing apparatus
US7024543B2 (en) * 2002-09-13 2006-04-04 Arm Limited Synchronising pipelines in a data processing apparatus
US20050265086A1 (en) * 2004-05-26 2005-12-01 Nec Electronics Corporation Semiconductor storage device
US7447109B2 (en) * 2004-05-26 2008-11-04 Nec Electronics Corporation Semiconductor storage device
US20110137605A1 (en) * 2008-06-10 2011-06-09 Advantest Corporation Test module, test apparatus, and test method
US8949062B2 (en) * 2008-06-10 2015-02-03 Advantest Corporation Test module, test apparatus, and test method

Also Published As

Publication number Publication date
US20030172240A1 (en) 2003-09-11

Similar Documents

Publication Publication Date Title
US6034916A (en) Data masking circuits and methods for integrated circuit memory devices, including data strobe signal synchronization
US6556483B2 (en) Method and apparatus for synchronous data transfers in a memory device with selectable data or address paths
US7466607B2 (en) Memory access system and method using de-coupled read and write circuits
US6604179B2 (en) Reading a FIFO in dual clock domains
US5663910A (en) Interleaving architecture and method for a high density FIFO
US7509469B2 (en) Semiconductor memory asynchronous pipeline
KR100885388B1 (en) Data strobe synchronization circuit and method for double data rate, multi-bit writes
US5384735A (en) Data output buffer of a semiconductor memory device
US9734877B2 (en) Memory interface configurable for asynchronous and synchronous operation and for accessing storage from any clock
US6366992B2 (en) Method and system for bypassing pipelines in a pipelined memory command generator
US5749086A (en) Simplified clocked DRAM with a fast command input
US6751717B2 (en) Method and apparatus for clock synchronization between a system clock and a burst data clock
KR20010042316A (en) Semiconductor memory asynchronous pipeline
KR20010048248A (en) Data Output Device of DDR SDRAM
US6240495B1 (en) Memory control system and memory control method
US7397727B2 (en) Write burst stop function in low power DDR sDRAM
US6920526B1 (en) Dual-bank FIFO for synchronization of read data in DDR SDRAM
US7577057B2 (en) Circuit and method for generating write data mask signal in synchronous semiconductor memory device
KR100332188B1 (en) High bandwidth narrow i/o memory device with command stacking
JPH1145567A (en) Semiconductor storage device
US6762973B2 (en) Data coherent logic for an SRAM device
US10496368B1 (en) Systems and methods for memory FIFO control
US20030128621A1 (en) Auto-disable receive control for ddr receive strobes
US6222793B1 (en) Memory devices having a restore start address counter
JP2003157676A (en) Semiconductor memory

Legal Events

Date Code Title Description
AS Assignment

Owner name: MICRON TECHNOLOGY, INC., IDAHO

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:JOHNSON, BRIAN;REEL/FRAME:011489/0849

Effective date: 20010110

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

CC Certificate of correction
FEPP Fee payment procedure

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: ROUND ROCK RESEARCH, LLC,NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:023786/0416

Effective date: 20091223

Owner name: ROUND ROCK RESEARCH, LLC, NEW YORK

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICRON TECHNOLOGY, INC.;REEL/FRAME:023786/0416

Effective date: 20091223

FPAY Fee payment

Year of fee payment: 8

REMI Maintenance fee reminder mailed
LAPS Lapse for failure to pay maintenance fees
STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20160615