US20130003476A1 - Memory device including a memory block having a fixed latency data output - Google Patents

Memory device including a memory block having a fixed latency data output Download PDF

Info

Publication number
US20130003476A1
US20130003476A1 US13/609,172 US201213609172A US2013003476A1 US 20130003476 A1 US20130003476 A1 US 20130003476A1 US 201213609172 A US201213609172 A US 201213609172A US 2013003476 A1 US2013003476 A1 US 2013003476A1
Authority
US
United States
Prior art keywords
memory
clock signal
memory block
delay
read data
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.)
Abandoned
Application number
US13/609,172
Inventor
Dipak K. Sikdar
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.)
Peraso Inc
Original Assignee
Mosys 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 Mosys Inc filed Critical Mosys Inc
Priority to US13/609,172 priority Critical patent/US20130003476A1/en
Publication of US20130003476A1 publication Critical patent/US20130003476A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/22Read-write [R-W] timing or clocking circuits; Read-write [R-W] control signal generators or management 
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1015Read-write modes for single port memories, i.e. having either a random port or a serial port
    • G11C7/1039Read-write modes for single port memories, i.e. having either a random port or a serial port using pipelining techniques, i.e. using latches between functional memory parts, e.g. row/column decoders, I/O buffers, sense amplifiers
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/10Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
    • G11C7/1051Data output circuits, e.g. read-out amplifiers, data output buffers, data output registers, data output level conversion circuits
    • G11C7/1066Output synchronization
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C2207/00Indexing scheme relating to arrangements for writing information into, or reading information out from, a digital store
    • G11C2207/22Control and timing of internal memory operations
    • G11C2207/2272Latency related aspects
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C7/00Arrangements for writing information into, or reading information out from, a digital store
    • G11C7/04Arrangements for writing information into, or reading information out from, a digital store with means for avoiding disturbances due to temperature effects

Definitions

  • This disclosure relates to memory systems and more specifically to pipelined memory circuits.
  • DRAM dynamic RAM
  • synchronous DRAM a type of DRAM in which read latency stretches over multiple cycles but new commands are issued every cycle.
  • the effective data output bandwidth of the device may be increased, which corresponds to a reduced read cycle time.
  • the phrase read cycle time is typically used to refer to the time or the period between successive read data output cycles.
  • the memory block includes a memory circuit and an output clock unit.
  • the memory circuit includes a memory core configured to output read data in response to receiving a read command.
  • the memory circuit may be further configured to output the read data from the memory core in response to being clocked by a clock signal having a selectable delay. The delay may be dependent upon a time taken for the read data to be output by the memory core after the read command is received at the memory block.
  • the output clock unit may be configured to capture the read data from the memory circuit and to cause the read data to be provided as an output of the memory block in response to being clocked by a selected version of a data clock signal.
  • the selected version of the data clock signal may be selected from one of a plurality of clock edges generated by one of a plurality of clock edges of a system clock such that regardless of the operating frequency of the system clock, the read data is provided as the output of the memory block a predetermined amount of time after the read command is received at the memory block.
  • FIG. 1 is a block diagram of one embodiment of a memory block having a fixed latency data output.
  • FIG. 2A is a timing diagram depicting the operational timing of one embodiment of the memory block of FIG. 1 .
  • FIG. 2B is a timing diagram depicting the operational timing of another embodiment of the memory block of FIG. 1 .
  • FIG. 2C is a timing diagram depicting the operational timing of another embodiment of the memory block of FIG. 1 .
  • FIG. 2D is a timing diagram depicting the operational timing of another embodiment of the memory block of FIG. 1 .
  • FIG. 3 is an operational flow diagram depicting the operation of one embodiment of the memory block shown in FIG. 1 .
  • FIG. 4 is block diagram of one embodiment of a memory system including the memory block of FIG. 1 .
  • the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must).
  • the words “include,” “including,” and “includes” mean including, but not limited to.
  • circuits, or other components may be described as “configured to” perform a task or tasks.
  • “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation.
  • the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on.
  • the circuitry that forms the structure corresponding to “configured to” may include hardware circuits.
  • various units/circuits/components may be described as performing a task or tasks, for convenience in the description.
  • the memory block 10 includes a memory circuit 100 coupled to a clock generation unit 110 .
  • the memory circuit 100 includes a flip-flop (FF) 101 coupled to an input of a memory core 102 .
  • the output of memory core 102 is coupled to FF 103 .
  • the input of FF 101 is coupled to receive a read and address input command (RADD [M:0]), and is clocked by the memory clock signal (MCLK).
  • the memory circuit also includes an adjustable delay unit 104 which is coupled to receive the read enable signal (RDEN).
  • the adjustable delay 104 is also clocked by the MCLK signal and produces a pipeline clock signal (PCLK), which is used to clock the FF 103 .
  • PCLK pipeline clock signal
  • the RADD [M:0] signal corresponds to a multi-signal path that includes M+1 signal paths. Accordingly, the depiction of FF 101 is a multi-flip-flop implementation in which there may be an FF 101 for each signal path.
  • the clock generation unit 110 includes a divider 111 that is coupled to receive a system clock signal (SCLK) input and to provide the MCLK signal output (which may be, in one embodiment, a frequency multiple of SCLK that is less than 1) to the memory circuit 100 .
  • the clock generation unit 110 also includes a chain of flip-flops (e.g., FF 113 A, 113 B, and 113 n ), each clocked by the SCLK signal.
  • the input of the FF chain is coupled to receive the RDEN signal.
  • Each output of the FF chain is coupled to a respective input of the multiplexer (mux) 117 .
  • the mux 117 select input is coupled to a DSEL signal, which may be a multi-bit signal.
  • the output of mux 117 is coupled to the clock input of FF 112 .
  • the input of FF 112 is coupled to receive the output of FF 103 designated as the DOBANK [N:0] signal.
  • the timing of the above signals at different SCLK frequencies is illustrated in FIG. 2A through FIG. 2D and described further below. It is noted that although there are only three FF devices (e.g., 113 A, 113 B, and 113 n ) in the FF chain in FIG. 1 , it is contemplated that there may be n FF devices in the FF chain, where n may be any positive whole number.
  • FF 103 and FF 112 are multi-flip-flop implementations in which there may be an FF 103 and FF 112 for each datapath.
  • read addresses and read commands are received by the memory circuit 100 via the RADD [M:0] signal at the input of FF 101 .
  • the RADD [M:0] signal is captured (i.e., temporarily stored) by FF 101 , and is provided to memory core 102 as the MADD [M:0] signal where the read operation begins to propagate through the memory core.
  • the read data appears at the output of memory core 102 and is applied to the input of FF 103 .
  • some number of additional read operations may be concurrently in progress (e.g., one for each cycle of MCLK) within memory core 102 so that memory core 102 may provide read data at the input of FF 103 (e.g. at the MCLK frequency).
  • the PCLK signal must clock FF 103 at the appropriate time.
  • the read data appears at the output of FF 103 as the DOBANK [N:0] signal.
  • adjustable delay unit 104 may be configured to adjust the PCLK phase to accurately clock the FF 103 to capture the read data output from the memory core 102 .
  • the memory core 102 may be a memory array having any number of memory cells and may be characterized during various manufacturing stages such as during first silicon testing to obtain optimum read cycle timing across process, voltage and temperature corners.
  • adjustable delay unit 104 may include a number of selectable delay stages that may be selected using the DELC signal.
  • the DELC signal may be a multi-bit signal provided by a memory controller (shown in FIG. 4 ).
  • the DELC signal may be provided by hardwired signals or jumpers on a system board, for example.
  • delay signals corresponding to the DELC signals may be provided to the memory controller, which may then provide the DELC signals to the adjustable delay unit 104 .
  • these values may be changed dynamically during operation in some embodiments.
  • a built-in self-test (BIST) routine may indicate that the timing is not accurate, and the memory controller may change the DELC signals to modify the PCLK timing until the BIST passes.
  • PCLK signal is adjustable to account for variations in the memory core read data output timing, as shown in FIG. 2A-FIG . 2 D if the frequency of SCLK changes, the read data output (DOBANK [N:0]) will also change accordingly due to MCLK and PCLK changing with SCLK. In an effort to provide relatively fixed read latency across changes in the system clock frequency, additional compensation is used.
  • the DOBANK [N:0] signal is provided to the input of FF 112 .
  • the FF 112 is clocked by the DCLK signal to provide the data output (DOUT).
  • the DCLK signal is generated by selecting one of the outputs of the FF chain that includes FF 113 -FF 115 using Mux 117 .
  • Each version is generated by clocking each of FF 113 with SCLK and using the RDEN signal at the beginning of the FF chain. As shown in FIG. 2A-FIG .
  • the FF 112 may be clocked to correctly capture the DOBANK [N:0] signal and to output the DOUT [N:0] signal at a predetermined time after the RADD [M:0] signal is provided to the memory block 10 in increments of the SCLK period.
  • DOUT read data out
  • the Mux select signal DSEL may also be a multi-bit signal provided by a memory controller (shown in FIG. 4 ).
  • a memory controller shown in FIG. 4 .
  • the memory controller may use a look-up table, configuration register, or other suitable configuration mechanism to select DCLK based upon the SCLK frequency.
  • FIG. 2A through 2D illustrate timing diagrams of various embodiments of the memory block 10 shown in FIG. 1 . More particularly, each timing diagram illustrates the timing of the memory block while operating with different combinations of system clock (SCLK) frequency and adjusted delay and output clock (DCLK) timing such that the read data output latency is relatively fixed for the different SCLK frequencies.
  • SCLK system clock
  • DCLK adjusted delay and output clock
  • FIG. 2A a timing diagram depicting the timing of one embodiment of the memory block shown in FIG. 1 is shown.
  • the timing diagram illustrates several signals occurring in time beginning from left to right. More particularly, the system clock (SCLK) is the first signal on the top. The next signal is the read command/address signal (RADD [M:0]), followed by the memory clock signal (MCLK), which is followed by the pipeline clock signal PCLK.
  • the read data (DOBANK [N:0]) output by the FF 103 is shown next, followed by the read enable (RDEN) signal, and the data clock (DCLK), which is followed by the data out signal, (DOUT [N:0]).
  • RDEN read enable
  • DCLK data clock
  • the SCLK period is ins, which corresponds to a 1 GHz frequency. This period corresponds to a system clock that may be used, for example, when a 10G SerDes is implemented.
  • the leading edge of SCLK generates the MCLK signal (as shown by the arrow).
  • the SCLK signal is divided by four to create the MCLK signal.
  • the RADD [M:0] signal is active during the first period of SCLK and every 4 th cycle representing a 250 MHz memory cycle. Accordingly the rising edge of MCLK causes the FF 101 to capture the RADD [M:0] signal and to provide the MADD [M:0] signal to the input of memory core 102 .
  • the adjustable delay unit 104 generates the PCLK signal from the MCLK signal (as shown by the arrow). Accordingly as shown in FIG. 2A , the PCLK signal is generated with an appropriate delay to capture the read data output from the memory core 102 and to provide that read data as the DOBANK [N:0] output. As shown, the first rising edge of PCLK occurs at approximately 6 ns. This represents the memory core latency or the memory core access time for this implementation.
  • the DOBANK [N:0] signal is provided to the input of FF 112 , which is clocked by the DCLK signal.
  • the DCLK signal is selected from several versions of the DCLK, each triggered by a different rising edge of SCLK. In FIG. 2A , DCLK is aligned roughly with the 8 th SCLK edge. Accordingly, the DOUT [N:0] signal is available approximately 8 ns after the RADD [M:0] signal is applied to the memory block 10 . Thus, for a 250 MHz memory read cycle and an approximate memory core read latency of 6 ns, the memory block latency is approximately 8 ns.
  • FIG. 2B a timing diagram depicting the timing of another embodiment of the memory block shown in FIG. 1 is shown.
  • the timing diagram in FIG. 2B is similar to the timing diagram shown in FIG. 2A .
  • the SCLK period is 2 ns, which may correspond to a 500 MHz operating frequency. This period corresponds to a system clock that may be used, for example, when a 5G SerDes is implemented.
  • the MCLK signal is operating at a 1:4 ratio of SCLK, and thus the memory read cycle is 125 MHz. Accordingly, if the RADD [M:0] signal is captured and applied to the memory core 102 at the first rising edge of MCLK, approximately 6 ns later the PCLK signal captures the read data output by the memory core 102 within the FF 103 , which provides the DOBANK [N:0] signal.
  • the first rising edge of the DCLK signal is selected to capture the DOBANK [N:0] signal while it is still available.
  • a version of DCLK is selected so that the DOUT [N:0] signal occurs approximately 8 ns after the RADD [M:0] signal is applied to the memory block 10 , which is approximately the same as the timing diagram in FIG. 2A .
  • the DCLK signal is generated using only four SCLK edges instead of eight to obtain the 8 ns read data output latency.
  • FIG. 2C a timing diagram depicting the timing of another embodiment of the memory block shown in FIG. 1 is shown.
  • the timing diagram in FIG. 2C is similar to the timing diagram shown in FIG. 2A .
  • the DCLK version is selected so that the DOUT [N:0] signal occurs approximately 8 ns (eight SCLK cycles) after the RADD [M:0] signal is applied to the memory block 10 , which is approximately the same as the timing diagrams in FIG. 2A and FIG. 2B .
  • the adjustable delay unit 104 may be configured to adjust the delay of PCLK within a relatively wide window using more than one edge of MCLK to accommodate wide variations in memory core latency.
  • FIG. 2D a timing diagram depicting the timing of yet another embodiment of the memory block shown in FIG. 1 is shown.
  • the timing diagram in FIG. 2D is similar to the timing diagrams shown in FIG. 2C .
  • the timing diagram of FIG. 2D includes an SCLK having a period of 1.67 ns, which corresponds to a 600 MHz operating frequency. This corresponds to a system clock that may be used, for example, when a 6G SerDes is implemented.
  • the MCLK signal is still operating at a 1:4 ratio of SCLK and thus has approximately a 150 MHz memory read cycle.
  • the MCLK period (6.7 ns) is longer than the latency of the memory core 102 , which may be approximately 6 ns.
  • the MCLK to PCLK delay is kept small or at a minimum, otherwise the data would ready at the input of FF 103 and not being used.
  • the PCLK signal captures the read data output by the memory core 102 within the FF 103 , which provides the DOBANK [N:0] signal. This is in contrast to the delay from MCLK to PCLK shown in FIG. 2C which is bigger, since at the end of the MCLK cycle, the read data isn't available at the output of the memory core 102 .
  • the first rising edge of the DCLK signal is selected to capture the DOBANK [N:0] signal while it is still available.
  • the DCLK version is selected so that the DOUT [N:0] signal occurs as close to 8 ns as possible, given the available SCLK edges.
  • DOUT [N:0] appears approximately 8.33 ns after the RADD [M:0] signal is applied to the memory block 10 , which is approximately the same latency as the timing diagrams in FIG. 2A through FIG. 2C .
  • the DCLK signal is generated using only five SCLK edges instead of eight as in FIG. 2C , to obtain the 8.33 ns read data output latency.
  • FIG. 3 a flow diagram depicting the operation of one embodiment of the memory block of FIG. 1 is shown.
  • an appropriate delay is selected for the delayed version of MCLK (e.g., PCLK) based upon the read access time of memory core 102 .
  • the system clock frequency is determined (block 303 ) and a corresponding data output clock is selected (block 305 ). More particularly, as described above, depending on the SCLK frequency a particular data output clock (DCLK) version is selected. Each version is clocked by a different edge of SCLK.
  • DCLK data output clock
  • the delayed PCLK is provided to the output FF 103 to capture the read data from the memory core 102 (block 307 ).
  • the selected version of the output data clock is provided to the output FF 112 to output the read data form the memory block 10 .
  • the latency of the read data output becomes relatively fixed to a predetermined latency regardless of the SCLK frequency.
  • the memory system 500 includes a memory controller 510 coupled to receive delay control signals (e.g., DELC and DSEL), and commands, addresses, and data (e.g., RADD [M:0] and RDEN). As shown the RADD [M:0] and RDEN signals may be received via the receive (Rx) SerDes unit 525 . In one embodiment, the delay control signals may be received via a separate interface such as a joint test action group (JTAG) interface, for example.
  • JTAG joint test action group
  • the memory controller 510 is also coupled to the memory block 10 , which is in turn coupled to the transmit (Tx) SerDes unit 550 . It is noted that components that correspond to those shown in other figures have been numbered identically for clarity and simplicity.
  • the memory block 10 may operate as described above in conjunction with the descriptions of FIG. 1 through FIG. 3 . Accordingly, much of the description is omitted here for simplicity.
  • the memory controller 510 includes a storage 511 .
  • the storage 511 may be a register set, while in other embodiments, the storage 511 may be a memory such as memory from the RAM family, whether volatile or non-volatile, or some type of read only memory (ROM) device.
  • the lookup table may be programmed into the storage 511 in a variety of ways.
  • the storage 511 may be programmed at manufacture, or alternatively the storage 511 may be programmed during system initialization by a system BIOS, or during operation as part of a configuration space write.
  • the storage may be configured to store clock information for the memory block 10 .
  • the memory controller 510 may maintain a lookup table that includes several entries. Each entry may correspond to a particular frequency of SCLK, which may be dependent on the frequency of the SerDes units (e.g., 525 and 550 ). Thus, for each possible SCLK frequency the lookup table may hold a respective data clock select value.
  • the data clock select value may be a multi-bit value that may be used by the memory controller 510 to generate the data clock select signal that is sent to the memory block 10 . Accordingly, during start up, the memory controller may select the appropriate data clock select value based upon the SCLK frequency.
  • the memory controller 510 is configured to generate the delay select signal that is used by the memory block 10 to adjust the delay of PCLK.
  • the memory controller 510 may also maintain clock information corresponding to the delay amount which corresponds to the memory access delay for the memory core of the memory circuit 100 .
  • the memory controller 510 may provide an in initial delay value to the memory block 10 . This initial value may be sufficient to allow correct operation across a wide variation in processing, and operating temperature and voltage.
  • the access time for a particular memory core of a memory block may be different. Accordingly, as described above during operation such as BIST, the memory block may fail and need timing adjustment.
  • the memory controller 510 may cooperatively and iteratively adjust the delay of PCLK until the timing is optimized.
  • the memory controller 510 may maintain the values within storage 511 .
  • the memory block 10 may provide a relatively fixed latency read data output even if the system clock frequency is changed.
  • memory system 500 may be a memory device implemented as system on a chip.
  • the memory block 10 shown in FIG. 1 and FIG. 4 may be, for example, a single instantiation of a memory macro block from a design library. It is further noted that in other embodiments, there may be more memory blocks used, and those memory blocks may be multiplexed together, for example, to provide a data output.

Abstract

A memory block includes a memory circuit and a clock generation unit. The memory circuit may output read data in response to receiving a read command and being clocked by a first clock signal having a selectable delay dependent upon a propagation delay for the read data to be output by a memory core. The clock generation unit is configured to generate a second clock signal having a selectable delay based on a system clock signal. The read data provided by the memory block in response to the second clock signal such that the read data has a latency that approximately the same, or is relatively fixed, for different frequencies of the system clock signal.

Description

    CROSS-REFERENCE TO RELATED APPLICATIONS
  • This application is a continuation application and claims priority to U.S. utility application Ser. No. 12/702,767, filed Feb. 9, 2010, entitled “MEMORY DEVICE INCLUDING A MEMORY BLOCK HAVING A FIXED LATENCY DATA OUTPUT” which application is incorporated by reference herein in its entirely.
  • BACKGROUND
  • 1. Technical Field
  • This disclosure relates to memory systems and more specifically to pipelined memory circuits.
  • 2. Description of the Related Art
  • Most computer systems invariably use some form of random access memory (RAM). Often in volatile memory applications a memory device in the dynamic RAM (DRAM) family is used due to cost considerations. Like any memory, DRAM has an inherent amount of time that it takes for data to appear at the DRAM output after a read command has been received at the DRAM input. This is typically referred to as the read latency or the access time. To mitigate some of this read latency, one type of DRAM, known as synchronous DRAM, is implemented using a pipelined architecture in which read latency stretches over multiple cycles but new commands are issued every cycle. Using this technique, the effective data output bandwidth of the device may be increased, which corresponds to a reduced read cycle time. When a pipelined architecture is used, the phrase read cycle time is typically used to refer to the time or the period between successive read data output cycles.
  • Many conventional pipelined memory devices employ a number of sequential logic clocked storage devices such as latches, flip-flops, and the like in the read address path and the data output clock path. These sequential logic devices may be clocked by the system clock or some derivative thereof. Accordingly, for a given system clock frequency, the memory device will have a corresponding cycle time. However, as the system clock frequency varies, the memory cycle time will be vary. This differing read cycle time can be problematic when attempting to maintain relatively constant latency for various clock frequencies.
  • SUMMARY
  • Various embodiments of a memory device including memory block having a fixed latency read data output are disclosed. In one embodiment, the memory block includes a memory circuit and an output clock unit. The memory circuit includes a memory core configured to output read data in response to receiving a read command. The memory circuit may be further configured to output the read data from the memory core in response to being clocked by a clock signal having a selectable delay. The delay may be dependent upon a time taken for the read data to be output by the memory core after the read command is received at the memory block. The output clock unit may be configured to capture the read data from the memory circuit and to cause the read data to be provided as an output of the memory block in response to being clocked by a selected version of a data clock signal. The selected version of the data clock signal may be selected from one of a plurality of clock edges generated by one of a plurality of clock edges of a system clock such that regardless of the operating frequency of the system clock, the read data is provided as the output of the memory block a predetermined amount of time after the read command is received at the memory block.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a block diagram of one embodiment of a memory block having a fixed latency data output.
  • FIG. 2A is a timing diagram depicting the operational timing of one embodiment of the memory block of FIG. 1.
  • FIG. 2B is a timing diagram depicting the operational timing of another embodiment of the memory block of FIG. 1.
  • FIG. 2C is a timing diagram depicting the operational timing of another embodiment of the memory block of FIG. 1.
  • FIG. 2D is a timing diagram depicting the operational timing of another embodiment of the memory block of FIG. 1.
  • FIG. 3 is an operational flow diagram depicting the operation of one embodiment of the memory block shown in FIG. 1.
  • FIG. 4 is block diagram of one embodiment of a memory system including the memory block of FIG. 1.
  • Specific embodiments are shown by way of example in the drawings and will herein be described in detail. It should be understood, however, that the drawings and detailed description are not intended to limit the claims to the particular embodiments disclosed, even where only a single embodiment is described with respect to a particular feature. On the contrary, the intention is to cover all modifications, equivalents and alternatives that would be apparent to a person skilled in the art having the benefit of this disclosure. Examples of features provided in the disclosure are intended to be illustrative rather than restrictive unless stated otherwise.
  • As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning having the potential to), rather than the mandatory sense (i.e., meaning must). Similarly, the words “include,” “including,” and “includes” mean including, but not limited to.
  • Various units, circuits, or other components may be described as “configured to” perform a task or tasks. In such contexts, “configured to” is a broad recitation of structure generally meaning “having circuitry that” performs the task or tasks during operation. As such, the unit/circuit/component can be configured to perform the task even when the unit/circuit/component is not currently on. In general, the circuitry that forms the structure corresponding to “configured to” may include hardware circuits. Similarly, various units/circuits/components may be described as performing a task or tasks, for convenience in the description. Such descriptions should be interpreted as including the phrase “configured to.” Reciting a unit/circuit/component that is configured to perform one or more tasks is expressly intended not to invoke 35 U.S.C. §112, paragraph six, interpretation for that unit/circuit/component.
  • DETAILED DESCRIPTION
  • Turning now to FIG. 1, a block diagram of one embodiment of a memory block is shown. The memory block 10 includes a memory circuit 100 coupled to a clock generation unit 110. The memory circuit 100 includes a flip-flop (FF) 101 coupled to an input of a memory core 102. The output of memory core 102 is coupled to FF 103. As shown, the input of FF 101 is coupled to receive a read and address input command (RADD [M:0]), and is clocked by the memory clock signal (MCLK). The memory circuit also includes an adjustable delay unit 104 which is coupled to receive the read enable signal (RDEN). The adjustable delay 104 is also clocked by the MCLK signal and produces a pipeline clock signal (PCLK), which is used to clock the FF 103. It is noted that the RADD [M:0] signal corresponds to a multi-signal path that includes M+1 signal paths. Accordingly, the depiction of FF 101 is a multi-flip-flop implementation in which there may be an FF 101 for each signal path.
  • In the illustrated embodiment, the clock generation unit 110 includes a divider 111 that is coupled to receive a system clock signal (SCLK) input and to provide the MCLK signal output (which may be, in one embodiment, a frequency multiple of SCLK that is less than 1) to the memory circuit 100. The clock generation unit 110 also includes a chain of flip-flops (e.g., FF 113A, 113B, and 113 n), each clocked by the SCLK signal. The input of the FF chain is coupled to receive the RDEN signal. Each output of the FF chain is coupled to a respective input of the multiplexer (mux) 117. The mux 117 select input is coupled to a DSEL signal, which may be a multi-bit signal. The output of mux 117 is coupled to the clock input of FF 112. The input of FF 112 is coupled to receive the output of FF 103 designated as the DOBANK [N:0] signal. The timing of the above signals at different SCLK frequencies is illustrated in FIG. 2A through FIG. 2D and described further below. It is noted that although there are only three FF devices (e.g., 113A, 113B, and 113 n) in the FF chain in FIG. 1, it is contemplated that there may be n FF devices in the FF chain, where n may be any positive whole number. Is also noted that similar to the RADD [M:0] signal being a multi-signal path, the DOBANK [N:0]signal and the DOUT [N:0] signal are each representative of a multi-bit datapaths including N+1 data paths. Thus, FF 103 and FF 112 are multi-flip-flop implementations in which there may be an FF 103 and FF 112 for each datapath.
  • In one embodiment, read addresses and read commands are received by the memory circuit 100 via the RADD [M:0] signal at the input of FF 101. As FF 101 is clocked by the MCLK signal, the RADD [M:0] signal is captured (i.e., temporarily stored) by FF 101, and is provided to memory core 102 as the MADD [M:0] signal where the read operation begins to propagate through the memory core. At some time later, the read data appears at the output of memory core 102 and is applied to the input of FF 103. Meanwhile some number of additional read operations may be concurrently in progress (e.g., one for each cycle of MCLK) within memory core 102 so that memory core 102 may provide read data at the input of FF 103 (e.g. at the MCLK frequency). Accordingly, for FF 103 to capture each read data output from memory core 102, the PCLK signal must clock FF 103 at the appropriate time. As FF 103 is clocked by PCLK, the read data appears at the output of FF 103 as the DOBANK [N:0] signal.
  • However, due to a variety of factors the read cycle period may vary. For example, due to process variations and operating voltage and temperature variations, the memory timing can vary. To accommodate a possibly varying read data output window, adjustable delay unit 104 may be configured to adjust the PCLK phase to accurately clock the FF 103 to capture the read data output from the memory core 102. In one embodiment, the memory core 102 may be a memory array having any number of memory cells and may be characterized during various manufacturing stages such as during first silicon testing to obtain optimum read cycle timing across process, voltage and temperature corners. In one embodiment, adjustable delay unit 104 may include a number of selectable delay stages that may be selected using the DELC signal. The DELC signal may be a multi-bit signal provided by a memory controller (shown in FIG. 4). Alternatively, the DELC signal may be provided by hardwired signals or jumpers on a system board, for example. In another embodiment, delay signals corresponding to the DELC signals may be provided to the memory controller, which may then provide the DELC signals to the adjustable delay unit 104. When the DELC signals are provided by a memory controller, these values may be changed dynamically during operation in some embodiments. For example, in one embodiment, a built-in self-test (BIST) routine may indicate that the timing is not accurate, and the memory controller may change the DELC signals to modify the PCLK timing until the BIST passes.
  • Although the PCLK signal is adjustable to account for variations in the memory core read data output timing, as shown in FIG. 2A-FIG. 2D if the frequency of SCLK changes, the read data output (DOBANK [N:0]) will also change accordingly due to MCLK and PCLK changing with SCLK. In an effort to provide relatively fixed read latency across changes in the system clock frequency, additional compensation is used.
  • More particularly, as shown in FIG. 1, the DOBANK [N:0] signal is provided to the input of FF 112. The FF 112 is clocked by the DCLK signal to provide the data output (DOUT). The DCLK signal is generated by selecting one of the outputs of the FF chain that includes FF 113-FF 115 using Mux 117. Each version is generated by clocking each of FF 113 with SCLK and using the RDEN signal at the beginning of the FF chain. As shown in FIG. 2A-FIG. 2D, by selecting the appropriate version of DCLK, the FF 112 may be clocked to correctly capture the DOBANK [N:0] signal and to output the DOUT [N:0] signal at a predetermined time after the RADD [M:0] signal is provided to the memory block 10 in increments of the SCLK period. By doing so, regardless of the SCLK frequency, a relatively fixed read data out (DOUT) latency may be achieved.
  • Similar to the DELC signal, the Mux select signal DSEL may also be a multi-bit signal provided by a memory controller (shown in FIG. 4). In one embodiment, for a given SCLK frequency, a particular respective output of the FF chain may be selected. As described in greater detail below in conjunction with the description of FIG. 4, the memory controller may use a look-up table, configuration register, or other suitable configuration mechanism to select DCLK based upon the SCLK frequency.
  • It is noted that although devices have been designated as flip-flops in the above embodiment, it is contemplated that any type of clocked storage device (e.g., register, latch, etc.) may be used.
  • FIG. 2A through 2D illustrate timing diagrams of various embodiments of the memory block 10 shown in FIG. 1. More particularly, each timing diagram illustrates the timing of the memory block while operating with different combinations of system clock (SCLK) frequency and adjusted delay and output clock (DCLK) timing such that the read data output latency is relatively fixed for the different SCLK frequencies.
  • Referring to FIG. 2A, a timing diagram depicting the timing of one embodiment of the memory block shown in FIG. 1 is shown. The timing diagram illustrates several signals occurring in time beginning from left to right. More particularly, the system clock (SCLK) is the first signal on the top. The next signal is the read command/address signal (RADD [M:0]), followed by the memory clock signal (MCLK), which is followed by the pipeline clock signal PCLK. The read data (DOBANK [N:0]) output by the FF 103 is shown next, followed by the read enable (RDEN) signal, and the data clock (DCLK), which is followed by the data out signal, (DOUT [N:0]).
  • As shown, the SCLK period is ins, which corresponds to a 1 GHz frequency. This period corresponds to a system clock that may be used, for example, when a 10G SerDes is implemented. As shown in FIG. 1, the leading edge of SCLK generates the MCLK signal (as shown by the arrow). In addition, as shown the SCLK signal is divided by four to create the MCLK signal. The RADD [M:0] signal is active during the first period of SCLK and every 4th cycle representing a 250 MHz memory cycle. Accordingly the rising edge of MCLK causes the FF 101 to capture the RADD [M:0] signal and to provide the MADD [M:0] signal to the input of memory core 102. As described above, the adjustable delay unit 104 generates the PCLK signal from the MCLK signal (as shown by the arrow). Accordingly as shown in FIG. 2A, the PCLK signal is generated with an appropriate delay to capture the read data output from the memory core 102 and to provide that read data as the DOBANK [N:0] output. As shown, the first rising edge of PCLK occurs at approximately 6 ns. This represents the memory core latency or the memory core access time for this implementation.
  • In addition, as described above the DOBANK [N:0] signal is provided to the input of FF 112, which is clocked by the DCLK signal. The DCLK signal is selected from several versions of the DCLK, each triggered by a different rising edge of SCLK. In FIG. 2A, DCLK is aligned roughly with the 8th SCLK edge. Accordingly, the DOUT [N:0] signal is available approximately 8 ns after the RADD [M:0] signal is applied to the memory block 10. Thus, for a 250 MHz memory read cycle and an approximate memory core read latency of 6 ns, the memory block latency is approximately 8 ns.
  • Referring to FIG. 2B, a timing diagram depicting the timing of another embodiment of the memory block shown in FIG. 1 is shown. The timing diagram in FIG. 2B is similar to the timing diagram shown in FIG. 2A. However, as shown in FIG. 2B, the SCLK period is 2 ns, which may correspond to a 500 MHz operating frequency. This period corresponds to a system clock that may be used, for example, when a 5G SerDes is implemented.
  • As shown, the MCLK signal is operating at a 1:4 ratio of SCLK, and thus the memory read cycle is 125 MHz. Accordingly, if the RADD [M:0] signal is captured and applied to the memory core 102 at the first rising edge of MCLK, approximately 6 ns later the PCLK signal captures the read data output by the memory core 102 within the FF 103, which provides the DOBANK [N:0] signal.
  • The first rising edge of the DCLK signal is selected to capture the DOBANK [N:0] signal while it is still available. As shown in FIG. 2B, a version of DCLK is selected so that the DOUT [N:0] signal occurs approximately 8 ns after the RADD [M:0] signal is applied to the memory block 10, which is approximately the same as the timing diagram in FIG. 2A. However, as shown in FIG. 2B, the DCLK signal is generated using only four SCLK edges instead of eight to obtain the 8 ns read data output latency.
  • Turning to FIG. 2C, a timing diagram depicting the timing of another embodiment of the memory block shown in FIG. 1 is shown. The timing diagram in FIG. 2C is similar to the timing diagram shown in FIG. 2A. Specifically, the DCLK version is selected so that the DOUT [N:0] signal occurs approximately 8 ns (eight SCLK cycles) after the RADD [M:0] signal is applied to the memory block 10, which is approximately the same as the timing diagrams in FIG. 2A and FIG. 2B.
  • However, as shown by the arrow in FIG. 2C, the first rising edge of PCLK occurs in the second cycle of MCLK and is generated by the second rising edge of MCLK, whereas in FIG. 2A the first rising edge of PCLK is generated by the first rising edge of MCLK. In FIG. 2B, the first rising edge of PCLK occurs within the first cycle of MCLK and is generated by the first rising edge of MCLK. Accordingly, the adjustable delay unit 104 may be configured to adjust the delay of PCLK within a relatively wide window using more than one edge of MCLK to accommodate wide variations in memory core latency.
  • Referring to FIG. 2D, a timing diagram depicting the timing of yet another embodiment of the memory block shown in FIG. 1 is shown. The timing diagram in FIG. 2D is similar to the timing diagrams shown in FIG. 2C. However, the timing diagram of FIG. 2D includes an SCLK having a period of 1.67 ns, which corresponds to a 600 MHz operating frequency. This corresponds to a system clock that may be used, for example, when a 6G SerDes is implemented.
  • As shown, the MCLK signal is still operating at a 1:4 ratio of SCLK and thus has approximately a 150 MHz memory read cycle. However, in this implementation the MCLK period (6.7 ns) is longer than the latency of the memory core 102, which may be approximately 6 ns. Thus the MCLK to PCLK delay is kept small or at a minimum, otherwise the data would ready at the input of FF 103 and not being used. Accordingly, in FIG. 2D, at approximately 7.5 ns the PCLK signal captures the read data output by the memory core 102 within the FF 103, which provides the DOBANK [N:0] signal. This is in contrast to the delay from MCLK to PCLK shown in FIG. 2C which is bigger, since at the end of the MCLK cycle, the read data isn't available at the output of the memory core 102.
  • In FIG. 2D, the first rising edge of the DCLK signal is selected to capture the DOBANK [N:0] signal while it is still available. As shown in FIG. 2D, the DCLK version is selected so that the DOUT [N:0] signal occurs as close to 8 ns as possible, given the available SCLK edges. As shown, DOUT [N:0] appears approximately 8.33 ns after the RADD [M:0] signal is applied to the memory block 10, which is approximately the same latency as the timing diagrams in FIG. 2A through FIG. 2C. Accordingly, as shown in FIG. 2D, the DCLK signal is generated using only five SCLK edges instead of eight as in FIG. 2C, to obtain the 8.33 ns read data output latency.
  • In FIG. 3, a flow diagram depicting the operation of one embodiment of the memory block of FIG. 1 is shown. Referring collectively to FIG. 1 through FIG. 3, and beginning in block 301 of FIG. 3, an appropriate delay is selected for the delayed version of MCLK (e.g., PCLK) based upon the read access time of memory core 102. In one embodiment, the system clock frequency is determined (block 303) and a corresponding data output clock is selected (block 305). More particularly, as described above, depending on the SCLK frequency a particular data output clock (DCLK) version is selected. Each version is clocked by a different edge of SCLK.
  • Accordingly, the delayed PCLK is provided to the output FF 103 to capture the read data from the memory core 102 (block 307). The selected version of the output data clock is provided to the output FF 112 to output the read data form the memory block 10. By doing so, the latency of the read data output becomes relatively fixed to a predetermined latency regardless of the SCLK frequency.
  • Referring to FIG. 4, a memory system including one embodiment of the memory block of FIG. 1 is shown. The memory system 500 includes a memory controller 510 coupled to receive delay control signals (e.g., DELC and DSEL), and commands, addresses, and data (e.g., RADD [M:0] and RDEN). As shown the RADD [M:0] and RDEN signals may be received via the receive (Rx) SerDes unit 525. In one embodiment, the delay control signals may be received via a separate interface such as a joint test action group (JTAG) interface, for example. The memory controller 510 is also coupled to the memory block 10, which is in turn coupled to the transmit (Tx) SerDes unit 550. It is noted that components that correspond to those shown in other figures have been numbered identically for clarity and simplicity.
  • In one embodiment, the memory block 10 may operate as described above in conjunction with the descriptions of FIG. 1 through FIG. 3. Accordingly, much of the description is omitted here for simplicity.
  • However, as shown in the illustrated embodiment of FIG. 4, the memory controller 510 includes a storage 511. In one embodiment, the storage 511 may be a register set, while in other embodiments, the storage 511 may be a memory such as memory from the RAM family, whether volatile or non-volatile, or some type of read only memory (ROM) device. Accordingly, the lookup table may be programmed into the storage 511 in a variety of ways. For example, the storage 511 may be programmed at manufacture, or alternatively the storage 511 may be programmed during system initialization by a system BIOS, or during operation as part of a configuration space write.
  • In one embodiment, the storage may be configured to store clock information for the memory block 10. More particularly, the memory controller 510 may maintain a lookup table that includes several entries. Each entry may correspond to a particular frequency of SCLK, which may be dependent on the frequency of the SerDes units (e.g., 525 and 550). Thus, for each possible SCLK frequency the lookup table may hold a respective data clock select value. As described above, the data clock select value may be a multi-bit value that may be used by the memory controller 510 to generate the data clock select signal that is sent to the memory block 10. Accordingly, during start up, the memory controller may select the appropriate data clock select value based upon the SCLK frequency.
  • In addition, in one embodiment, the memory controller 510 is configured to generate the delay select signal that is used by the memory block 10 to adjust the delay of PCLK. In one embodiment, the memory controller 510 may also maintain clock information corresponding to the delay amount which corresponds to the memory access delay for the memory core of the memory circuit 100. For example, during initialization, the memory controller 510 may provide an in initial delay value to the memory block 10. This initial value may be sufficient to allow correct operation across a wide variation in processing, and operating temperature and voltage. However, in some cases, the access time for a particular memory core of a memory block may be different. Accordingly, as described above during operation such as BIST, the memory block may fail and need timing adjustment. In such an embodiment, the memory controller 510 may cooperatively and iteratively adjust the delay of PCLK until the timing is optimized. The memory controller 510 may maintain the values within storage 511.
  • Thus, by adjusting the delay of the pipeline clock (PCLK) to accommodate differences in memory core access times, and selecting an appropriate edge of the system clock (e.g., SCLK) for generating the output data clock (DCLK), the memory block 10 may provide a relatively fixed latency read data output even if the system clock frequency is changed.
  • It is noted that in one embodiment, memory system 500 may be a memory device implemented as system on a chip. In addition, the memory block 10 shown in FIG. 1 and FIG. 4 may be, for example, a single instantiation of a memory macro block from a design library. It is further noted that in other embodiments, there may be more memory blocks used, and those memory blocks may be multiplexed together, for example, to provide a data output.
  • Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims (21)

1. A memory block comprising:
a memory circuit including a memory core configured to output read data in response to receiving a read command, the memory circuit further configured to output the read data in response to a first clock signal having a selectable delay based on a propagation delay of the read data in the memory core;
a clock generation unit configured to generate a second clock signal having a selectable delay based on a system clock signal; and
a data output unit coupled to the memory core and configured to output the read data from the memory block in response to the second clock signal such that the read data output from the memory block has a latency from when the read command is received at the memory block, wherein the latency is relatively fixed for different frequencies of the system clock signal.
2. The memory block of claim 1 wherein the latency is approximately the same for different frequencies of the system clock signal.
3. The memory block of claim 1, wherein the first clock signal operates at a frequency multiple of the system clock signal that is less than one.
4. The memory block of claim 1, wherein the memory circuit is configured to select a delay of the first clock signal in response to receiving a delay select signal.
5. The memory block of claim 4, wherein the delay select signal corresponds to a delay value which compensates for variations in time for the read data to be output by the memory core after the read command is received at the memory block when the memory block is operated across process, voltage, or temperature variations.
6. The memory block of claim 1, wherein the memory circuit is configured to adjust a delay of the first clock signal dynamically during operation of the memory block to compensate for variations in time for the read data to be output by the memory core after the read command is received at the memory block when the memory block is operated across process, voltage, or temperature variations.
7. The memory block of claim 1, wherein the system clock signal includes a plurality of clock edges, and wherein the clock generation unit is further configured to select a delay of the second clock signal by selecting a clock edge from the plurality of clock edges of the system clock signal.
8. The memory block as recited in claim 7, wherein the clock generation unit is further configured to select the clock edge from the plurality of clock edges in response to receiving a data clock select signal.
9. The memory block as recited in claim 1, wherein the memory circuit is configured to select a delay of the second clock signal dynamically during operation of the memory block to compensate for variations in time for the read data to be output by the memory core after the read command is received at the memory block when the memory block is operated across process, voltage, or temperature variations.
10. A method comprising:
outputting read data from a memory core of a memory circuit in response to receiving a read command at a memory block including the memory circuit;
outputting the read data from the memory circuit in response to a first clock signal having a selectable delay based on a propagation delay of the read data in the memory core;
generating a second clock signal having a selectable delay based on a system clock signal; and
outputting the read data from the memory block including the memory circuit in response to the second clock signal such that the read data output from the memory block has a latency from when the read command is received at the memory block, wherein the latency is relatively fixed for different frequencies of the system clock signal.
11. The method claim 10, wherein the first clock signal operates at a frequency multiple of the system clock signal that is less than one.
12. The method claim 10, further comprising:
selecting a delay of the first clock signal in response to receiving a delay select signal at the memory circuit.
13. The method claim 12, wherein the delay select signal corresponds to a delay value which compensates for variations in time for the read data to be output by the memory core after the read command is received at the memory circuit when the memory block is operated across process, voltage, or temperature variations.
14. The method of claim 10, further comprising:
adjusting a delay of the first clock signal dynamically during operation of the memory block to compensate for variations in time for the read data to be output by the memory core after the read command is received at the memory block when the memory block is operated across process, voltage, or temperature variations.
15. The method of claim 10, wherein the system clock signal includes a plurality of clock edges, the method further comprising:
selecting a delay of the second clock signal by selecting a clock edge from the plurality of clock edges of the system clock signal.
16. The method of claim 15, wherein selecting the delay of the second clock signal is performed in response to receiving a data clock select signal.
17. The method of claim 10, further comprising:
selecting a delay of the second clock signal dynamically during operation of the memory block to compensate for variations in time for the read data to be output by the memory core after the read command is received at the memory block when the memory block is operated across process, voltage, or temperature variations.
18. A system comprising:
a memory block comprising:
a memory circuit including a memory core configured to output read data in response to receiving a read command, the memory circuit further configured to output the read data in response to a first clock signal having a selectable delay based on a propagation delay of the read data in the memory core;
a clock generation unit configured to generate a second clock signal having a selectable delay based on a system clock signal; and
a data output unit coupled to the memory core and configured to output the read data from the memory block in response to the second clock signal such that the read data output from the memory block has a latency from when the read command is received at the memory block, wherein the latency is relatively fixed for different frequencies of the system clock signal; and
a memory controller coupled to the memory block, the memory controller including a storage configured to store clock configuration information, wherein the memory controller is configured to use the clock configuration information to generate clock select signals for selecting a delay of the second clock signal.
19. The system as recited in claim 18, wherein the clock configuration information includes a lookup table having respective entries corresponding to different operating frequencies of the system clock signal, wherein each entry includes an encoding that corresponds to the clock select signals.
20. The system as recited in claim 19, wherein the memory controller is further configured to provide additional delay select signals to delay the first clock signal dynamically during operation of the memory block.
21. The system as recited in claim 18, wherein the first clock signal is derived from, and operates at, a frequency multiple of the system clock signal that is less than one.
US13/609,172 2010-02-09 2012-09-10 Memory device including a memory block having a fixed latency data output Abandoned US20130003476A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US13/609,172 US20130003476A1 (en) 2010-02-09 2012-09-10 Memory device including a memory block having a fixed latency data output

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/702,767 US8266471B2 (en) 2010-02-09 2010-02-09 Memory device including a memory block having a fixed latency data output
US13/609,172 US20130003476A1 (en) 2010-02-09 2012-09-10 Memory device including a memory block having a fixed latency data output

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US12/702,767 Continuation US8266471B2 (en) 2010-02-09 2010-02-09 Memory device including a memory block having a fixed latency data output

Publications (1)

Publication Number Publication Date
US20130003476A1 true US20130003476A1 (en) 2013-01-03

Family

ID=44354607

Family Applications (2)

Application Number Title Priority Date Filing Date
US12/702,767 Active 2031-01-07 US8266471B2 (en) 2010-02-09 2010-02-09 Memory device including a memory block having a fixed latency data output
US13/609,172 Abandoned US20130003476A1 (en) 2010-02-09 2012-09-10 Memory device including a memory block having a fixed latency data output

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US12/702,767 Active 2031-01-07 US8266471B2 (en) 2010-02-09 2010-02-09 Memory device including a memory block having a fixed latency data output

Country Status (6)

Country Link
US (2) US8266471B2 (en)
EP (1) EP2522017B1 (en)
KR (1) KR101246986B1 (en)
CN (1) CN102939631B (en)
TW (1) TWI452576B (en)
WO (1) WO2011100221A2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11221764B2 (en) * 2010-01-29 2022-01-11 Mosys, Inc. Partitioned memory with shared memory resources and configurable functions
US8266471B2 (en) * 2010-02-09 2012-09-11 Mosys, Inc. Memory device including a memory block having a fixed latency data output
US9465759B2 (en) * 2014-07-17 2016-10-11 Texas Instruments Incorporated Universal serializer architecture
CN108039189A (en) * 2017-11-28 2018-05-15 晶晨半导体(上海)股份有限公司 A kind of measuring signal integrality method of memory
US11132244B2 (en) * 2019-11-14 2021-09-28 Seagate Technology Llc Block health checking
CN111161769B (en) * 2019-12-30 2020-10-20 深圳市芯天下技术有限公司 Flash chip and reading method thereof

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5544124A (en) * 1995-03-13 1996-08-06 Micron Technology, Inc. Optimization circuitry and control for a synchronous memory device with programmable latency period
US6263448B1 (en) * 1997-10-10 2001-07-17 Rambus Inc. Power control system for synchronous memory device
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US6789210B2 (en) * 1993-10-15 2004-09-07 Renesas Technology Corp. Data processing system having memory including mode register
US20050248997A1 (en) * 2004-05-10 2005-11-10 Lee Hyun-Woo Semiconductor memory device for controlling output timing of data depending on frequency variation
US7042777B2 (en) * 2004-01-28 2006-05-09 Infineon Technologies Ag Memory device with non-variable write latency
US20060140044A1 (en) * 2004-12-28 2006-06-29 Tae-Jin Kang Clock signal generation apparatus for use in semiconductor memory device and its method
US20070019481A1 (en) * 2005-07-19 2007-01-25 Park Chul W Semiconductor memories with block-dedicated programmable latency register
US20080232179A1 (en) * 2007-03-15 2008-09-25 Micron Technology, Inc. Circuit, system and method for controlling read latency
US7493461B1 (en) * 2005-01-20 2009-02-17 Altera Corporation Dynamic phase alignment for resynchronization of captured data
US7729182B2 (en) * 2008-09-03 2010-06-01 Micron Technology, Inc. Systems and methods for issuing address and data signals to a memory array
US20100182856A1 (en) * 2009-01-16 2010-07-22 Elpida Memory, Inc. Semiconductor memory device and read wait time adjustment method thereof, memory system, and semiconductor device
US7848178B2 (en) * 2007-11-02 2010-12-07 Hynix Semiconductor Inc. Semiconductor memory device and method for operating the same
US8266471B2 (en) * 2010-02-09 2012-09-11 Mosys, Inc. Memory device including a memory block having a fixed latency data output

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0660329B1 (en) * 1993-12-16 2003-04-09 Mosaid Technologies Incorporated Variable latency, output buffer and synchronizer for synchronous memory
US5713005A (en) * 1995-02-10 1998-01-27 Townsend And Townsend And Crew Llp Method and apparatus for pipelining data in an integrated circuit
WO1999050852A1 (en) * 1998-04-01 1999-10-07 Mosaid Technologies Incorporated Semiconductor memory asynchronous pipeline
DE19934501C1 (en) * 1999-07-22 2000-11-09 Siemens Ag Synchronous integrated memory e.g. dynamic random-access memory
US6615307B1 (en) * 2000-05-10 2003-09-02 Micron Technology, Inc. Flash with consistent latency for read operations
KR20020014563A (en) * 2000-08-18 2002-02-25 윤종용 Semiconductor memory device
JP2002108691A (en) * 2000-09-29 2002-04-12 Mitsubishi Electric Corp Semiconductor memory and method for controlling the same device
US6957308B1 (en) * 2002-07-11 2005-10-18 Advanced Micro Devices, Inc. DRAM supporting different burst-length accesses without changing the burst length setting in the mode register
US20060171234A1 (en) * 2005-01-18 2006-08-03 Liu Skip S DDR II DRAM data path
US20070171735A1 (en) * 2006-01-25 2007-07-26 Jong-Hoon Oh Latency circuit for semiconductor memories
US7461216B2 (en) * 2006-02-23 2008-12-02 Hewlett-Packard Development Company, L.P. Memory controller
JP4400601B2 (en) * 2006-08-21 2010-01-20 エルピーダメモリ株式会社 Latency counter
US7548481B1 (en) * 2006-12-08 2009-06-16 Nvidia Corp. Method and apparatus for dynamic power adjustment in a memory subsystem
KR100866958B1 (en) 2007-02-08 2008-11-05 삼성전자주식회사 Method and apparatus for controlling read latency in high speed DRAM

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6789210B2 (en) * 1993-10-15 2004-09-07 Renesas Technology Corp. Data processing system having memory including mode register
US5544124A (en) * 1995-03-13 1996-08-06 Micron Technology, Inc. Optimization circuitry and control for a synchronous memory device with programmable latency period
US7330952B2 (en) * 1997-10-10 2008-02-12 Rambus Inc. Integrated circuit memory device having delayed write timing based on read response time
US6263448B1 (en) * 1997-10-10 2001-07-17 Rambus Inc. Power control system for synchronous memory device
US6401167B1 (en) * 1997-10-10 2002-06-04 Rambus Incorporated High performance cost optimized memory
US6701446B2 (en) * 1997-10-10 2004-03-02 Rambus Inc. Power control system for synchronous memory device
US6868474B2 (en) * 1997-10-10 2005-03-15 Rambus Inc. High performance cost optimized memory
US7626880B2 (en) * 1997-10-10 2009-12-01 Rambus Inc. Memory device having a read pipeline and a delay locked loop
US7042777B2 (en) * 2004-01-28 2006-05-09 Infineon Technologies Ag Memory device with non-variable write latency
US20050248997A1 (en) * 2004-05-10 2005-11-10 Lee Hyun-Woo Semiconductor memory device for controlling output timing of data depending on frequency variation
US20060140044A1 (en) * 2004-12-28 2006-06-29 Tae-Jin Kang Clock signal generation apparatus for use in semiconductor memory device and its method
US7493461B1 (en) * 2005-01-20 2009-02-17 Altera Corporation Dynamic phase alignment for resynchronization of captured data
US20070019481A1 (en) * 2005-07-19 2007-01-25 Park Chul W Semiconductor memories with block-dedicated programmable latency register
US20080232179A1 (en) * 2007-03-15 2008-09-25 Micron Technology, Inc. Circuit, system and method for controlling read latency
US7848178B2 (en) * 2007-11-02 2010-12-07 Hynix Semiconductor Inc. Semiconductor memory device and method for operating the same
US7729182B2 (en) * 2008-09-03 2010-06-01 Micron Technology, Inc. Systems and methods for issuing address and data signals to a memory array
US20100182856A1 (en) * 2009-01-16 2010-07-22 Elpida Memory, Inc. Semiconductor memory device and read wait time adjustment method thereof, memory system, and semiconductor device
US8266471B2 (en) * 2010-02-09 2012-09-11 Mosys, Inc. Memory device including a memory block having a fixed latency data output

Also Published As

Publication number Publication date
WO2011100221A2 (en) 2011-08-18
EP2522017B1 (en) 2017-05-31
WO2011100221A3 (en) 2011-11-10
EP2522017A2 (en) 2012-11-14
EP2522017A4 (en) 2013-05-29
CN102939631A (en) 2013-02-20
CN102939631B (en) 2014-06-25
TWI452576B (en) 2014-09-11
TW201137892A (en) 2011-11-01
US8266471B2 (en) 2012-09-11
US20110197087A1 (en) 2011-08-11
KR101246986B1 (en) 2013-03-25
KR20120109657A (en) 2012-10-08

Similar Documents

Publication Publication Date Title
US7671648B2 (en) System and method for an accuracy-enhanced DLL during a measure initialization mode
US6865135B2 (en) Multi-frequency synchronizing clock signal generator
US20130003476A1 (en) Memory device including a memory block having a fixed latency data output
US7292500B2 (en) Reducing read data strobe latency in a memory system
US7961533B2 (en) Method and apparatus for implementing write levelization in memory subsystems
KR100809690B1 (en) Semiconductor memory device capable of low frequency test operation and test method of the same
US7369453B2 (en) Multi-port memory device and method of controlling the same
US8520455B2 (en) Method and apparatus for training a DLL in a memory subsystem
US20120194248A1 (en) Non-linear common coarse delay system and method for delaying data strobe
US10466739B1 (en) Semiconductor device including data input circuit
US7869288B2 (en) Output enable signal generating circuit and method of semiconductor memory apparatus
US20140169119A1 (en) Memory system having delay-locked-loop circuit
US7733129B2 (en) Method and circuit for generating memory clock signal
US8754656B2 (en) High speed test circuit and method
US8306169B2 (en) Semiconductor devices, methods of operating semiconductor devices, and systems having the same
KR100588595B1 (en) Method of generating internal clock for semiconductor memory device and semiconductor memory device using the same
US7791964B2 (en) Memory system and method ensuring read data stability
CN110349606B (en) Semiconductor memory device and method of operating the same

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE