Movatterモバイル変換


[0]ホーム

URL:


US7209397B2 - Memory device with clock multiplier circuit - Google Patents

Memory device with clock multiplier circuit
Download PDF

Info

Publication number
US7209397B2
US7209397B2US11/094,137US9413705AUS7209397B2US 7209397 B2US7209397 B2US 7209397B2US 9413705 AUS9413705 AUS 9413705AUS 7209397 B2US7209397 B2US 7209397B2
Authority
US
United States
Prior art keywords
memory
clock
data
frequency
component
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 - Lifetime, expires
Application number
US11/094,137
Other versions
US20050169097A1 (en
Inventor
Frederick A. Ware
Ely K. Tsern
Richard E. Perego
Craig E. Hampel
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.)
Rampart Asset Management LLC
Original Assignee
Rambus 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
Family has litigation
First worldwide family litigation filedlitigationCriticalhttps://patents.darts-ip.com/?family=25286018&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=US7209397(B2)"Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Priority to US11/094,137priorityCriticalpatent/US7209397B2/en
Application filed by Rambus IncfiledCriticalRambus Inc
Publication of US20050169097A1publicationCriticalpatent/US20050169097A1/en
Priority to US11/219,381prioritypatent/US7200055B2/en
Priority to US11/219,096prioritypatent/US7225292B2/en
Priority to US11/281,184prioritypatent/US7210016B2/en
Priority to US11/280,560prioritypatent/US8391039B2/en
Priority to US11/335,029prioritypatent/US7177998B2/en
Application grantedgrantedCritical
Publication of US7209397B2publicationCriticalpatent/US7209397B2/en
Priority to US11/767,983prioritypatent/US8320202B2/en
Priority to US12/111,816prioritypatent/US8462566B2/en
Priority to US13/461,923prioritypatent/US8395951B2/en
Priority to US13/543,779prioritypatent/US8537601B2/en
Priority to US13/899,844prioritypatent/US8717837B2/en
Priority to US13/923,634prioritypatent/US8625371B2/en
Priority to US13/923,656prioritypatent/US8760944B2/en
Priority to US14/104,188prioritypatent/US9053778B2/en
Priority to US14/523,922prioritypatent/US9311976B2/en
Assigned to RAMBUS INC.reassignmentRAMBUS INC.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: HAMPEL, CRAIG E., PEREGO, RICHARD E., TSERN, ELY K., WARE, FREDERICK A.
Priority to US15/070,376prioritypatent/US9472262B2/en
Priority to US15/271,148prioritypatent/US9741424B2/en
Priority to US15/666,496prioritypatent/US10236051B2/en
Priority to US16/284,375prioritypatent/US10706910B2/en
Priority to US16/896,056prioritypatent/US20210027825A1/en
Adjusted expirationlegal-statusCritical
Assigned to HIGHLANDS LLCreassignmentHIGHLANDS LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: RAMBUS INC.
Assigned to RAMPART ASSET MANAGEMENT, LLCreassignmentRAMPART ASSET MANAGEMENT, LLCASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: HIGHLANDS LLC
Expired - Lifetimelegal-statusCriticalCurrent

Links

Images

Classifications

Definitions

Landscapes

Abstract

A memory device having a clock multiplier circuit. The memory device includes a clock generating circuit to receive a first clock signal having a first frequency and to generate a second clock signal having a second frequency that is a multiple of the first frequency. The memory device includes a data receive circuit to receive data at the frequency of the second clock signal and may also include a data transmit circuit to transmit data at the frequency of the second clock signal. Further, the clock generating circuit may additionally generate a third clock signal having a third frequency that is also a multiple of the first frequency, the third clock signal being supplied to a control circuit of the memory device to time the reception of control and/or address signals therein. In a particular embodiment the second frequency is a four-times or eight-times multiple of the first frequency, and the third frequency is a two-times multiple of the first frequency.

Description

CROSS-REFERENCE TO RELATED APPLICATIONS
This patent application is a continuation of U.S. patent application Ser. No. 10/732,533, filed Dec. 11, 2003, which is a continuation of U.S. patent application Ser. No. 09/841,911, filed Apr. 24, 2001 now U.S. Pat. No 6,675,272, each of which is hereby incorporated by reference herein in its entirety.
FIELD OF THE DISCLOSURE
The present disclosure relates generally to information storage and retrieval and, more specifically, to coordinating memory components.
BACKGROUND OF THE DISCLOSURE
As computers and data processing equipment have grown in capability, users have developed applications that place increasing demands on the equipment. Thus, there is a continually increasing need to process more information in a given amount of time. One way to process more information in a given amount of time is to process each element of information in a shorter amount of time. As that amount of time is shortened, it approaches the physical speed limits that govern the communication of electronic signals. While it would be ideal to be able to move electronic representations of information with no delay, such delay is unavoidable. In fact, not only is the delay unavoidable, but, since the amount of delay is a function of distance, the delay varies according to the relative locations of the devices in communication.
Since there are limits to the capabilities of a single electronic device, it is often desirable to combine many devices, such as memory components, to function together to increase the overall capacity of a system. However, since the devices cannot all exist at the same point in space simultaneously, consideration must be given to operation of the system with the devices located diversely over some area.
Traditionally, the timing of the devices' operation was not accelerated to the point where the variation of the location of the devices was problematic to their operation. However, as performance demands have increased, traditional timing paradigms have imposed barriers to progress.
One example of an existing memory system uses DDR (double data rate) memory components. The memory system includes a memory controller and a memory module. A propagation delay occurs along an address bus between the memory controller and the memory module. Another propagation delay occurs along the data bus between the memory controller and the memory module.
The distribution of the control signals and a control clock signal in the memory module is subject to strict constraints. Typically, the control wires are routed so there is an equal length to each memory component. A “star” or “binary tree” topology is typically used, where each spoke of the star or each branch of the binary tree is of equal length. The intent is to eliminate any variation of the timing of the control signals and the control clock signal between different memory components of a memory module, but the balancing of the length of the wires to each memory component compromises system performance (some paths are longer than they need to be). Moreover, the need to route wires to provide equal lengths limits the number of memory components and complicates their connections.
In such DDR systems, a data strobe signal is used to control timing of both data read and data write operations. The data strobe signal is not a periodic timing signal, but is instead only asserted when data is being transferred. The timing signal for the control signals is a periodic clock. The data strobe signal for the write data is aligned to the clock for the control signals. The strobe for the read data is delayed by delay relative to the control clock equal to the propagation delay along the address bus plus the propagation delay along the data bus. A pause in signaling must be provided when a read transfer is followed by a write transfer to prevent interference along various signal lines used. Such a pause reduces system performance.
Such a system is constrained in several ways. First, because the control wires have a star topology or a binary tree routing, reflections occur at the stubs (at the ends of the spokes or branches). The reflections increase the settling time of the signals and limit the transfer bandwidth of the control wires. Consequently, the time interval during which a piece of information is driven on a control wire will be longer than the time it takes a signal wavefront to propagate from one end of the control wire to the other. Additionally, as more modules are added to the system, more wire stubs are added to each conductor of the data bus, thereby adding reflections from the stubs. This increases the settling time of the signals and further limits the transfer bandwidth of the data bus.
Also, because there is a constraint on the relationship between the propagation delays along the address bus and the data bus in this system, it is hard to increase the operating frequency without violating a timing parameter of the memory component. If a clock signal is independent of another clock signal, those clock signals and components to which they relate are considered to be in different clock domains. Within a memory component, the write data receiver is operating in a different clock domain from the rest of the logic of the memory component, and the domain crossing circuitry will only accommodate a limited amount of skew between these two domains. Increasing the signaling rate of data will reduce this skew parameter (when measured in time units) and increase the chance that a routing mismatch between data and control wires on the board will create a timing violation.
Also, most DDR systems have strict limits on how large the address bus and data bus propagation delays may be (in time units). These are limits imposed by the memory controller and the logic that is typically included for crossing from the controller's read data receiver clock domain into the clock domain used by the rest of the controller. There is also usually a limit (expressed in clock cycles) on how large the sum of these propagation delays can be. If the motherboard layout makes this sum too large (when measured in time units), the signal rate of the system may have to be lowered, thereby decreasing performance.
In another example of an existing memory system, the control wires and data bus are connected to a memory controller and are routed together past memory components on each memory module. One clock is used to control the timing of write data and control signals, while another clock is used to control the timing of read data. The two clocks are aligned at the memory controller. Unlike the previous prior art example, these two timing signals are carried on separate wires.
In such an alternate system, several sets of control wires and a data bus may be used to intercouple the memory controller to one or more of the memory components. The need for separate sets of control wires introduces additional cost and complexity, which is undesireable. Also, if a large capacity memory system is needed, the number of memory components on each data bus will be relatively large. This will tend to limit the maximum signal rate on the data bus, thereby limiting performance.
Thus, a technique is needed to coordinate memory operations among diversely-located memory components.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a block diagram illustrating a memory system having a single rank of memory components with which an embodiment of the present disclosure may be implemented.
FIG. 2 is a block diagram illustrating clocking details for one slice of a rank of memory components of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure.
FIG. 3 is a timing diagram illustrating address and control timing notations used in timing diagrams of other Figures.
FIG. 4 is a timing diagram illustrating data timing notations used in timing diagrams of other Figures.
FIG. 5 is a timing diagram illustrating timing of signals communicated over the address and control bus (Addr/Ctrl or ACS,M) in accordance with an embodiment of the present disclosure.
FIG. 6 is a timing diagram illustrating timing of signals communicated over the data bus (DQS,M) in accordance with an embodiment of the present disclosure.
FIG. 7 is a timing diagram illustrating system timing at a memory controller component in accordance with an embodiment of the present disclosure.
FIG. 8 is a timing diagram illustrating alignment of clocks AClkS1,M1, WClkS1,M1, and RClkS1,M1at the memory component inslice1 ofrank1 in accordance with an embodiment of the present disclosure.
FIG. 9 is a timing diagram illustrating alignment of clocks AClkSNs,M1, WClkSNs,M1, and RClkSNs,M1at the memory component in slice NSofrank1 in accordance with an embodiment of the present disclosure.
FIG. 10 is a block diagram illustrating further details for one slice of a rank of memory components of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure.
FIG. 11 is a block diagram illustrating the clocking elements of one slice of a rank of the memory components of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure.
FIG. 12 is a block diagram illustrating details for the memory controller component of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure.
FIG. 13 is a block diagram illustrating the clocking elements of a memory controller component of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure.
FIG. 14 is a logic diagram illustrating details of the ClkC8 block of the memory controller component such as that illustrated inFIG. 12 in accordance with an embodiment of the present disclosure.
FIG. 15 is a block diagram illustrating how the ClkC8[N:1] signals are used in the transmit and receive blocks of the memory controller component such as that illustrated inFIG. 12 in accordance with an embodiment of the present disclosure.
FIG. 16 is a block diagram illustrating a circuit for producing a ClkC8B clock and a ClkC1B clock based on the ClkC8A clock in accordance with an embodiment of the present disclosure.
FIG. 17 is a block diagram illustrating details of the PhShC block in accordance with an embodiment of the present disclosure.
FIG. 18 is a block diagram illustrating the logic details of the skip logic in a controller slice of the receive block of a memory controller component in accordance with an embodiment of the present disclosure.
FIG. 19 is a timing diagram illustrating the timing details of the skip logic in a controller slice of the receive block of a memory controller component in accordance with an embodiment of the present disclosure.
FIG. 20 is a block diagram illustrating the logic details of the skip logic in a controller slice of the transmit block of a memory controller component in accordance with an embodiment of the present disclosure.
FIG. 21 is a timing diagram illustrating the timing details of the skip logic in a controller slice of the transmit block of a memory controller component in accordance with an embodiment of the present disclosure.
FIG. 22 is a timing diagram illustrating an example of a data clocking arrangement in accordance with an embodiment of the present disclosure.
FIG. 23 is a timing diagram illustrating an example of a data clocking arrangement in accordance with an embodiment of the present disclosure.
FIG. 24 is a timing diagram illustrating timing at the memory controller component for the example of the data clocking arrangement illustrated inFIG. 23 in accordance with an embodiment of the present disclosure.
FIG. 25 is a timing diagram illustrating timing at a first slice of a rank of memory components for the example of the data clocking arrangement illustrated inFIG. 23 in accordance with an embodiment of the present disclosure.
FIG. 26 is a timing diagram illustrating timing a last slice of a rank of memory components for the example of the data clocking arrangement illustrated inFIG. 23 in accordance with an embodiment of the present disclosure.
FIG. 27 is a block diagram illustrating a memory system that may comprise multiple ranks of memory components and multiple memory modules in accordance with an embodiment of the present disclosure.
FIG. 28 is a block diagram illustrating a memory system that may comprise multiple ranks of memory components and multiple memory modules in accordance with an embodiment of the present disclosure.
FIG. 29 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules in accordance with an embodiment of the present disclosure.
FIG. 30 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a dedicated control/address bus per memory module in accordance with an embodiment of the present disclosure.
FIG. 31 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared among the memory modules in accordance with an embodiment of the present disclosure.
FIG. 32 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared by all the memory modules in accordance with an embodiment of the present disclosure.
FIG. 33 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a dedicated, sliced control/address bus per memory module in accordance with an embodiment of the present disclosure.
FIG. 34 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared by all the memory modules in accordance with an embodiment of the present disclosure.
FIG. 35 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared by all the memory modules in accordance with an embodiment of the present disclosure.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
A method and apparatus for coordinating memory operations among diversely-located memory components is described. In accordance with an embodiment of the present disclosure, wave-pipelining is implemented for an address bus coupled to a plurality of memory components. The plurality of memory components are configured according to coordinates relating to the address bus propagation delay and the data bus propagation delay. A timing signal associated with address and/or control signals which duplicates the propagation delay of these signals is used to coordinate memory operations. The address bus propagation delay, or common address bus propagation delay, refers to the delay for a signal to travel along an address bus between the memory controller component and a memory component. The data bus propagation delay refers to the delay for a signal to travel along a data bus between the memory controller component and a memory component.
According to one embodiment of the present disclosure, a memory system includes multiple memory modules providing multiple ranks and multiple slices of memory components. Such a system can be understood with reference toFIG. 27. The memory system ofFIG. 27 includesmemory module2703 andmemory module2730.Memory module2703 includes a rank that includesmemory components27162618 and another rank that includesmemory components27442746.
The memory system is organized into slices across the memory controller component and the memory modules. The memory system ofFIG. 27 includes aslice2713 that includes a portion ofmemory controller2702, a portion ofmemory module2703 includingmemory components2716 and2744, and a portion ofmemory module2730 includingmemory components2731 and2734. The memory system ofFIG. 27 includes anotherslice2714 that includes another portion ofmemory controller2702, another portion ofmemory module2703 includingmemory components2717 and2745, and another portion ofmemory module2730 includingmemory components2732 and2735. The memory system ofFIG. 27 further includes yet anotherslice2715 that includes yet another portion ofmemory controller2702, yet another portion ofmemory module2703 includingmemory components2718 and2746, and yet another portion ofmemory module2730 includingmemory components2733 and2736.
The use of multiple slices and ranks, which may be implemented using multiple modules, allows efficient interconnection of a memory controller and several memory components while avoiding degradation of performance that can occur when a data bus or address bus has a large number of connections to it. With a separate data bus provided for each slice, the number of connections to each data bus can be kept to a reasonable number. The separate data buses can carry different signals independently of each other. A slice can include one or more memory components per module. For example, a slice can include one memory component of each rank. Note that the term slice may be used to refer to the portion of a slice excluding the memory controller. In this manner, the memory controller can be viewed as being coupled to the slices. The use of multiple modules allows memory components to be organized according to their path lengths to a memory controller. Even slight differences in such path lengths can be managed according to the organization of the memory components into ranks. The organization of memory components according to ranks and modules allows address and control signals to be distributed efficiently, for example through the sharing of an address bus within a rank or module.
In one embodiment, a slice can be understood to include several elements coupled to a data bus. As one example, these elements can include a portion of a memory controller component, one or more memory components on one module, and, optionally, one or more memory components on another module. In one embodiment, a rank can be understood to include several memory components coupled by a common address bus. The common address bus may optionally be coupled to multiple ranks on the module or to multiple modules. The common address bus can connect a memory controller component to each of the slices of a rank in succession, thereby allowing the common address bus to be routed from a first slice of the rank to a second slice of the rank and from the second slice of the rank to a third slice of the rank. Such a configuration can simplify the routing of the common address bus.
For discussion purposes, a simplified form of a memory system is first discussed in order to illustrate certain concepts, whereas a more complex memory system that includes a plurality of modules and ranks is discussed later in the specification.
FIG. 1 is a block diagram illustrating a memory system having a single rank of memory components with which an embodiment of the present disclosure may be implemented.Memory system101 comprisesmemory controller component102 andmemory module103.Address clock104 provides an address clock signal that serves as a timing signal associated with the address and control signals that propagate alongaddress bus107.Address clock104 provides its address clock signal alongaddress clock conductor109, which is coupled tomemory controller component102 and tomemory module103. The address and control signals are sometimes referred to as simply the address signals or the address bus. However, since control signals may routed according to a topology common to address signals, these terms, when used, should be understood to include address signals and/or control signals.
Writeclock105 provides a write clock signal that serves as a timing signal associated with the data signals that propagate alongdata bus108 during write operations. Writeclock105 provides its write clock signal alongwrite clock conductor110, which is coupled tomemory controller component102 andmemory module103. Readclock106 provides a read clock signal that serves as a timing signal associated with the data signals that propagate alongdata bus108 during read operations. Readclock106 provides its read clock signal along readclock conductor111, which is coupled tomemory controller component102 andmemory module103.
Termination component120 is coupled todata bus108 nearmemory controller component102. As one example,termination component120 may be incorporated intomemory controller component102.Termination component121 is coupled todata bus108 nearmemory module103.Termination component121 is preferably incorporated intomemory module103.Termination component123 is coupled to writeclock conductor110 nearmemory component116 ofmemory module103.Termination component123 is preferably incorporated intomemory module103.Termination component124 is coupled to readclock conductor111 nearmemory controller component102. As an example,termination component124 may be incorporated intomemory controller component102.Termination component125 is coupled to readclock conductor111 nearmemory component116 ofmemory module103.Termination component125 is preferably incorporated intomemory module103. The termination components may utilize active devices (e.g., transistors or other semiconductor devices) or passive devices (e.g. resistors, capacitors, or inductors). The termination components may utilize an open connection. The termination components may be incorporated in one or more memory controller components or in one or more memory components, or they may be separate components on a module or on a main circuit board.
Memory module103 includes arank112 ofmemory components116,117, and118. Thememory module103 is organized so that each memory component corresponds to one slice.Memory component116 corresponds to slice113,memory component117 corresponds to slice114, andmemory component118 corresponds to slice115. Although not shown inFIG. 1, the specific circuitry associated with the data bus, write clock and associated conductors, and read clock and associated conductors that are illustrated forslice113 is replicated for each of theother slices114 and115. Thus, although such circuitry has not been illustrated inFIG. 1 for simplicity, it is understood that such dedicated circuitry on a slice-by-slice basis is preferably included in the memory system shown.
Withinmemory module103,address bus107 is coupled to each ofmemory components116,117, and118.Address clock conductor109 is coupled to each ofmemory components116,117, and118. At the terminus ofaddress bus107 withinmemory module103,termination component119 is coupled to addressbus107. At the terminus ofaddress clock conductor109,termination component122 is coupled to addressclock conductor109.
In the memory system ofFIG. 1, each data signal conductor connects one controller data bus node to one memory device data bus node. However, it is possible for each control and address signal conductor to connect one controller address/control bus node to an address/control bus node on each memory component of the memory rank. This is possible for several reasons. First, the control and address signal conductors pass unidirectional signals (the signal wavefront propagates from the controller to the memory devices). It is easier to maintain good signal integrity on a unidirectional signal conductor than on a bidirectional signal conductor (like a data signal conductor). Second, the address and control signals contain the same information for all memory devices. The data signals will be different for all memory devices. Note that there might be some control signals (such as write enable signals) which are different for each memory device—these are treated as unidirectional data signals, and are considered to be part of the data bus for the purposes of this distinction. For example, in some instances, the data bus may include data lines corresponding to a large number of bits, whereas in some applications only a portion of the bits carried by the data bus may be written into the memory for a particular memory operation. For example, a 16-bit data bus may include two bytes of data where during a particular memory operation only one of the two bytes is to be written to a particular memory device. In such an example, additional control signals may be provided along a similar path as that taken by the data signals such that these control signals, which control whether or not the data on the data bit lines is written, traverse the system along a path with a delay generally matched to that of the data such that the control signals use in controlling the writing of the data is aptly timed. Third, routing the address and control signals to all the memory devices saves pins on the controller and memory module interface.
As a result, the control and address signals will be propagated on wires that will be longer than the wires used to propagate the data signals. This enables the data signals to use a higher signaling rate than the control and address signals in some cases.
To avoid impairment of the performance of the memory system, the address and control signals may be wave-pipelined in accordance with an embodiment of the present disclosure. The memory system is configured to meet several conditions conducive to wave-pipelining. First, two or more memory components are organized as a rank. Second, some or all address and control signals are common to all memory components of the rank. Third, the common address and control signals propagate with low distortion (e.g. controlled impedance). Fourth, the common address and control signals propagate with low intersymbol-interference (e.g. single or double termination).
Wave-pipelining occurs when Tbit<Twire, where the timing parameter Twire is defined to be the time delay for a wavefront produced at the controller to propagate to the termination component at the end of the wire carrying the signal, and the timing parameter Tbit is defined to be the time interval between successive pieces (bits) of information on the wire. Such pieces of information may represent individual bits or multiple bits encoded for simultaneous transmission. Wave-pipelined signals on wires are incident-wave sampled by receivers attached to the wire. This means that sampling will generally take place before the wavefront has reflected from the end of the transmission line (e.g., the wire).
It is possible to extend the applicability of the present disclosure from a single rank to multiple ranks of memory components in several ways. First, multiple ranks of memory components may be implemented on a memory module. Second, multiple memory modules may be implemented in a memory system. Third, data signal conductors may be dedicated, shared, or “chained” to each module. Chaining involves allowing a bus to pass through one module, connecting with the appropriate circuits on that module, whereas when it exits that particular module it may then enter another module or reach termination. Examples of such chaining of conductors are provided and described in additional detail inFIGS. 29,32, and35 below. Fourth, common control and address signal conductors may be dedicated, shared, or chained to each module. Fifth, data signal conductors may be terminated transmission lines or terminated stubs on each module. For this discussion, transmission lines are understood to represent signal lines that have sufficient lengths such that reflections and other transmission line characteristics must be considered and accounted for in order to assure proper signal transmission over the transmission lines. In contrast, terminated stubs are understood to be of such limited length that the parasitic reflections and other transmission line characteristics associated with such stubs can generally be ignored. Sixth, common control and address signal conductors may be terminated transmission lines or terminated stubs on each module. Permitting the shared address and control signals to be wave-pipelined allows their signaling rate to be increased, thereby increasing the performance of the memory system.
FIG. 2 is a block diagram illustrating clocking details for one slice of a rank of memory components of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure. Thememory controller component102 includes address transmitblock201, which is coupled to addressbus107 andaddress clock conductor109. Thememory controller component102 also includes, on a per-slice basis, data transmitblock202 and data receiveblock203, which are coupled todata bus108. Data transmitblock202 is coupled to writeclock conductor110, and data receiveblock203 is coupled to readclock conductor111.
Within each memory component, such asmemory component116, an address receiveblock204, a data receiveblock205, and a data transmitblock206 are provided. The address receiveblock204 is coupled to addressbus107 andaddress clock conductor109. The data receiveblock205 is coupled todata bus108 and writeclock conductor110. The data transmitblock206 is coupled todata bus108 and readclock conductor111.
Apropagation delay207, denoted tPD0, exists alongaddress bus107 betweenmemory controller component102 andmemory module103. Apropagation delay208, denoted tPD1, exists alongaddress bus107 withinmemory module103.
The basic topology represented inFIG. 2 has several attributes. It includes a memory controller. It includes a single memory module. It includes a single rank of memory components. It includes a sliced data bus (DQ), with each slice of wires connecting the controller to a memory component. It includes a common address and control bus (Addr/Ctrl or AC) connecting the controller to all the memory components. Source synchronous clock signals flow with data, control, and address signals. Control and address signals are unidirectional and flow from controller to memory components. Data signals are bi-directional and may flow from controller to memory components (write operation) or may flow from memory components to controller (read operation). There may be some control signals with the same topology as data signals, but which flow only from controller to memory components. Such signals may be used for masking write data in write operations, for example. These may be treated as unidirectional data signals for the purpose of this discussion. The data, address, control, and clock wires propagate with low distortion (e.g., along controlled impedance conductors). The data, address, control, and clock wires propagate with low inter-symbol interference (e.g., there is a single termination on unidirectional signals and double termination on bi-directional signals). These attributes are listed to maintain clarity. It should be understood that the present disclosure is not constrained to be practiced with these attributes and may be practiced so as to include other system topologies.
InFIG. 2, there is a two dimensional coordinate system based on the slice number of the data buses and the memory components (S={0,1, . . . NS}) and the module number (M={0,1}). Here a slice number of “0” and a module number of ‘0’ refer to the controller. This coordinate system allows signals to be named at different positions on a wire. This coordinate system will also allow expansion to topologies with more than one memory rank or memory module.
FIG. 2 also shows the three clock sources (address clock104, which generates the AClk signal, writeclock105, which generates the WClk signal, and readclock106, which generates the RClk signal) which generate the clocking reference signals for the three types of information transfer. These clock sources each drive a clock wire that is parallel to the signal bus with which it is associated. Preferably, the positioning of the clock sources within the system is such that the physical position on the clock line at which the clock source drives the corresponding clock signal is proximal to the related driving point for the bus line such that the propagation of the clock for a particular bus generally tracks the propagation of the related information on the associated bus. For example, the positioning of the address clock (AClk clock104) is preferably close to the physical position where the address signals are driven onto theaddress bus107. In such a configuration, the address clock will experience similar delays as it propagates throughout the circuit as those delays experienced by the address signals propagating along a bus that follows generally the same route as the address clock signal line.
The clock signal for each bus is related to the maximum bit rate on the signals of the associated bus. This relationship is typically an integer or integer ratio. For example, the maximum data rate may be twice the frequency of the data clock signals. It is also possible that one or two of the clock sources may be “virtual” clock sources; the three clock sources will be in an integral-fraction-ratio (N/M) relationship with respect to one another, and any of them may be synthesized from either of the other two using phase-locked-loop (PLL) techniques to set the frequency and phase. Virtual clock sources represent a means by which the number of actual clock sources within the circuit can be minimized. For example, a WClk clock might be derived from an address clock (AClk) that is received by a memory device such that the memory device is not required to actually receive a WClk clock from an external source. Thus, although the memory device does not actually receive a unique, individually-generated WClk clock, the WClk clock generated from the AClk clock is functionally equivalent. The phase of a synthesized clock signal will be adjusted so it is the same as if it were generated by a clock source in the positions shown.
Any of the clock signals shown may alternatively be a non-periodic signal (a strobe control signal, for example) which is asserted only when information is present on the associated bus. As was described above with respect to clock sources, the non-periodic signal sources are preferably positioned, in a physical sense, proximal to the appropriate buses to which they correspond such that propagation delays associated with the non-periodic signals generally match those propagation delays of the signals on the buses to which they correspond.
FIG. 3 is a timing diagram illustrating address and control timing notations used in timing diagrams of other Figures. InFIG. 3, a risingedge302 of theAClk signal301 occurs at atime307 during transmission ofaddress information ACa305. A risingedge303 of the AClk signal occurs at atime308 during transmission ofaddress information ACb306.Time308 occurs at a time tCCbefore thetime309 of the next risingedge304 ofAClk signal301. The time tCC represents a cycle time of a clock circuit of a memory controller component. Dashed lines in the timing diagrams are used to depict temporal portions of a signal coincident with address information or datum information. For example, theAClk signal301 includes a temporal portion corresponding to the presence ofaddress information ACa305 and another temporal portion corresponding to the presence ofaddress information ACb306. Address information can be transmitted over an address bus as an address signal.
If one bit per wire occurs per tCC,address bit311 is transmitted duringcycle310. If two bits per wire occur per tCC, addressbits313 and314 are transmitted duringcycle312. If four bits per wire occur per tCC, addressbits316,317,318, and319 are transmitted duringcycle315. If eight bits per wire occur per tCC, addressbits321,322,323,324,325,326,327, and328 are transmitted duringcycle320. Note that the drive and sample points for each bit window may be delayed or advanced by an offset (up to one bit time, which is tCC/NAC), depending upon the driver and sampler circuit techniques used. The parameters NACand NDQrepresent the number of bits per tCCfor the address/control and data wires, respectively. In one embodiment, a fixed offset is used. An offset between the drive/sample points and the bit windows should be consistent between the driving component and the sampling component. It is preferable that in a particular system, any offset associated with the drive point for a bus is consistent throughout the entire system. Similarly, any understood sampling offset with respect to the bus should also be consistent. For example, if data is expected to be driven at a point generally corresponding to a rising edge of a related clock signal for one data bus line, that understood offset (or lack thereof) is preferably consistently used for all data lines. Note that the offset associated with driving data onto the bus may be completely different than that associated with sampling data carried by the bus. Thus, continuing with the example above, the sample point for data driven generally coincident with a rising edge may be 180 degrees out of phase with respect to the rising edge such that the valid window of the data is better targeted by the sample point.
FIG. 4 is a timing diagram illustrating data timing notations used in timing diagrams of other Figures. InFIG. 4, a risingedge402 of theWClk signal401 occurs at atime407 during transmission of writedatum information Da405. A risingedge403 of theWClk signal401 occurs at atime408. A risingedge404 of theWClk signal401 occurs at atime409 during transmission of readdatum information Qb406.Time407 is separated fromtime408 by a time tCC, andtime408 is separated fromtime409 by a time tCC. The time tCCrepresents the duration of a clock cycle.RClk signal410 includes risingedge411 and risingedge412. These rising edges may be used as references to clock cycles ofRClk signal410. For example, transmission of writedatum information Da405 occurs during a clock cycle ofRClk signal410 that includes risingedge411, and transmission of readdatum information Qb406 occurs during a clock cycle ofRClk signal410 that includes risingedge412. As is apparent to one of ordinary skill in the art, the clock cycle time associated with the address clock may differ from the clock cycle time associated with the read and/or write clocks.
Write datum information is an element of information being written and can be transmitted over a data bus as a write data signal. Read datum information is an element of information being read and can be transmitted over a data bus as a read data signal. As can be seen, the notation Dx is used to represent write datum information x, while the notation Qy is used to represent read datum information y. Signals, whether address signals, write data signals, read data signals, or other signals can be applied to conductor or bus for a period of time referred to as an element time interval. Such an element time interval can be associated with an event occurring on a conductor or bus that carries a timing signal, where such an event may be referred to as a timing signal event. Examples of such a timing signal include a clock signal, a timing signal derived from another signal or element of information, and any other signal from which timing may be derived. In a memory access operation, the time from-when an address signal begins to be applied to an address bus to when a data signal corresponding to that address signal begins to be applied to a data bus can be referred to as an access time interval.
If one bit per wire occurs per tCC,datum bit415 is transmitted duringcycle414. If two bits per wire occur per tCC,data bits417 and418 are transmitted duringcycle416. If four bits per wire occur per tCC,data bits420,421,422, and423 are transmitted duringcycle419. If eight bits per wire occur per tCC,data bits425,426,427,428,429,430,431, and432 are transmitted duringcycle424. Note that the drive and sample points for each bit window may be delayed or advanced by an offset (up to one bit time, which is tCC/NDQ), depending upon the driver and sampler circuit techniques used. In one embodiment, a fixed offset is used. An offset between the drive/sample points and the bit windows should be consistent between the driving component and the sampling component. For example, if the data window is assumed to be positioned such that data will be sampled on the rising edge of the appropriate clock signal at the controller, a similar convention should be used at the memory device such that valid data is assumed to be present at the rising edge of the corresponding clock at that position within the circuit as well.
If one bit per wire occurs per tCC,datum bit434 is transmitted duringcycle433. If two bits per wire occur per tCC,data bits436 and437 are transmitted during cycle435. If four bits per wire occur per tCC,data bits439,440,441, and442 are transmitted duringcycle438. If eight bits per wire occur per tCC,data bits444,445,446,447,448,449,450, and451 are transmitted duringcycle443. Note that the drive and sample points for each bit window may be delayed or advanced by an offset (up to one bit time, which is tCC/NDQ), depending upon the driver and sampler circuit techniques used. In one embodiment, a fixed offset is used. An offset between the drive/sample points and the bit windows should be consistent between the driving component and the sampling component. As stated above, it is preferable that in a particular system, any offset associated with the drive point or sampling point for a bus is consistent throughout the entire system.
The column cycle time of the memory component represents the time interval required to perform successive column access operations (reads or writes). In the example shown, the AClk, RClk, and WClk clock signals are shown with a cycle time equal to the column cycle time. As is apparent to one of ordinary skill in the art, the cycle time of the clock signals used in the system may be different from the column cycle time in other embodiments.
Alternatively, any of the clocks could have a cycle time that is different than the column cycle time. The appropriate-speed clock for transmitting or receiving signals on a bus can always be synthesized from the clock that is distributed with the bus as long as there is an integer or integral-fraction-ratio between the distributed clock and the synthesized clock. As mentioned earlier, any of the required clocks can be synthesized from any of the distributed clocks from the other buses.
This discussion will assume a single bit is sampled or driven on each wire during each tCCinterval in order to keep the timing diagrams as simple as possible. However, the number of bits that are transmitted on each signal wire during each tCCinterval can be varied. The parameters NACand NDQrepresent the number of bits per tCCfor the address/control and data wires, respectively. The distributed or synthesized clock is multiplied up to create the appropriate clock edges for driving and sampling the multiple bits per tCC. Note that the drive and sample points for each bit window may be delayed or advanced by an offset (up to one bit time, which is tCC/NACor tCC/NDQ), depending upon the driver and sampler circuit techniques used. In one embodiment, a fixed offset is used. An offset between the drive/sample points and the bit windows should be consistent between the driving component and the sampling component. Once again, as stated above, it is preferable that in a particular system, any offset associated with the drive point or sampling point for a bus is consistent throughout the entire system.
FIG. 5 is a timing diagram illustrating timing of signals communicated over the address and control bus (Addr/Ctrl or ACS,M) in accordance with an embodiment of the present disclosure. This bus is accompanied by a clock signal AClkS,Mwhich sees essentially the same wire path as the bus. The subscripts (S,M) indicate the bus or clock signal at a particular module M or a particular slice S. The controller is defined to be slice zero.
The waveform for AClk clock signal501 depicts the timing of the AClk clock signal at the memory controller component. A risingedge502 of AClk clock signal501 occurs attime510 and is associated with the transmission ofaddress information ACa518. A risingedge503 of AClk clock signal501 occurs attime511 and is associated with the transmission ofaddress information ACb519.
The waveform forAClk clock signal520 depicts the timing of the AClk clock signal at a memory component located at slice one. TheAClk signal520 is delayed a delay of by tPD0from signal501. For example, the risingedge523 ofsignal520 is delayed by a delay of tPD0fromedge502 of signal501. Theaddress information ACa537 is associated with the risingedge523 ofsignal520. Theaddress information ACb538 is associated with the risingedge525 ofsignal520.
The waveform forAClk clock signal539 depicts the timing of the AClk clock signal at the memory component located at slice NS.The AClk signal539 is delayed by a delay of tPD1fromsignal520. For example, the risingedge541 ofsignal539 is delayed by a delay of tPD1fromedge523 ofsignal520. Theaddress information ACa548 is associated with the risingedge541 ofsignal539. Theaddress information ACb549 is associated with the risingedge542 ofsignal539.
The clock signal AClk is shown with a cycle time that corresponds to the column cycle time. As previously mentioned, it could also have a shorter cycle time as long as the frequency and phase are constrained to allow the controller and memory components to generate the necessary timing points for sampling and driving the information on the bus. Likewise, the bus is shown with a single bit per wire transmitted per tCCinterval. As previously mentioned, more than one bit could be transferred in each tCCinterval since the controller and memory components are able to generate the necessary timing points for sampling and driving the information on the bus. Note that the actual drive point for the bus (the point at which data signals, address signals, and/or control signals are applied to the bus) may have an offset from what is shown (relative to the rising and falling edges of the clock)—this will depend upon the design of the transmit and receive circuits in the controller and memory components. In one embodiment, a fixed offset is used. An offset between the drive/sample points and the bit windows should be consistent between the driving component and-the sampling component. As reiterated above, it is preferable that in a particular system, any offset associated with the drive point or sampling point for a bus is consistent throughout the entire system.
It should be noted inFIG. 5 is that there is a delay tPD0in the clock AClkS,Mand bus ACS,Mas they propagate from the controller to the first slice. As indicated,AClk signal520 is shifted in time and space from AClk signal501. Also note that there is a second delay tPD1in the clock AClkS,Mand bus ACS,Mas they propagate from the first slice to the last slice NS. There will be a delay of tPD1/(NS−1) as the clock and bus travel between each slice. Note that this calculation assumes generally equal spacing between the slices, and, if such physical characteristics are not present in the system, the delay will not conform to this formula. Thus, as indicated,AClk signal539 is shifted in time and space fromAClk signal520. As a result, the NSmemory components will each be sampling the address and control bus at slightly different points in time.
FIG. 6 is a timing diagram illustrating timing of signals communicated over the data bus (DQS,M) in accordance with an embodiment of the present disclosure. This bus is accompanied by two clock signals RClkS,Mand WClkS,Mwhich see essentially the same wire path as the bus. The subscripts (S,M) indicate the bus or clock signal at a particular module M and a particular slice S. The controller is defined to be module zero. The two clocks travel in opposite directions. WClkS,Maccompanies the write data which is transmitted by the controller and received by the memory components. RClkS,Maccompanies the read data which is transmitted by the memory components and received by the controller. In the example described, read data (denoted by “Q”) and write data (denoted by “D”) do not simultaneously occupy the data bus. Note that in other embodiments, this may not be the case where additional circuitry is provided to allow for additive signaling such that multiple waveforms carried over the same conductor can be distinguished and resolved.
The waveform ofWClk clock signal601 depicts the timing of the WClk clock signal at the memory controller component. Risingedge602 occurs attime610 and is associated with writedatum information Da618, which is present at slice one of module zero. Risingedge607 occurs attime615, and is associated with writedatum information Dd621, which is present at slice one of module zero. Risingedge608 occurs attime616, and is associated withwrite datum De622, which is present at slice one of module zero.
The waveform ofRClk clock signal623 depicts the timing of the RClk clock signal at the memory controller component (at module zero). Risingedge626 is associated with readdatum information Qb619, which is present at the memory controller component (at slice one of module zero). Rising edge is associated with readdatum information Qc620, which is present at the memory controller component (at slice one of module zero).
The waveform ofWClk clock signal632 depicts the timing of the WClk clock signal at the memory component at slice one of module one. Risingedge635 is associated with writedatum information Da649, which is present at slice one of module one. Risingedge645 is associated with writedatum information Dd652, which is present at slice one of module one. Risingedge647 is associated with writedatum information De653, which is present at slice one of module one.
The waveform ofRClk clock signal654 depicts the timing of the RClk clock signal at the memory component of slice one of module one. Risingedge658 is associated with readdatum information Qb650, which is present at slice one of module one. Risingedge660 is associated with readdatum information Qd651, which is present at slice one of module one.
The clock signals are shown with a cycle time that corresponds to tCC. As previously mentioned, they could also have a shorter cycle time as long as the frequency and phase are constrained to allow the controller and memory components to generate the necessary timing points for sampling and driving the information on the bus. Likewise, the bus is shown with a single bit per wire. As previously mentioned, more than one bit could be transferred in each tCCinterval since the controller and memory components are able to generate the necessary timing points for sampling and driving the information on the bus. Note that the actual drive point for the bus may have an offset from what is shown (relative to the rising and falling edges of the clock)—this will depend upon the design of the transmit and receive circuits in the controller and memory components. In one embodiment, a fixed offset is used. An offset between the drive/sample points and the bit windows should be consistent between the driving component and the sampling component.
It should be noted inFIG. 6 is that there is a delay tPD2in the clock WClkS,Mand bus DQS,M(with the write data) as they propagate from the controller to the slices of the first module. Thus,WClk clock signal632 is shifted in time and space fromWClk clock signal601. Also note that there is an approximately equal delay tPD2in the clock RClkS,Mand bus DQS,M(with the read data) as they propagate from the slices of the first module to the controller. Thus,RClk clock signal623 is shifted in time and space fromRClk clock signal654.
As a result, the controller and the memory components must have their transmit logic coordinated so that they do not attempt to drive write data and read data at the same time. The example inFIG. 6 shows a sequence in which there are write-read-read-write-write transfers. It can be seen that read-read and write-write transfers may be made in successive tCCintervals, since the data in both intervals is traveling in the same direction. However, gaps (bubbles) are inserted at the write-read and read-write transitions so that a driver only turns on when the data driven in the previous interval is no longer on the bus (it has been absorbed by the termination components at either end of the bus wires).
InFIG. 6, the read clock RClkS,Mand the write clock WClkS,Mare in phase at each memory component (however the relative phase of these clocks at each memory component will be different from the other memory components—this will be shown later when the overall system timing is discussed). Note that this choice of phase matching is one of several possible alternatives that could have been used. Some of the other alternatives will be described later.
As a result of matching the read and write clocks at each memory component (slice), the tCCintervals withread data Qb650 will appear to immediately follow the tCCintervals withwrite data Da649 at the memory components (bottom ofFIG. 6), but there will be a gap of 2*tPD2between the readdata interval Qb619 and writedata interval Da618 at the controller (top ofFIG. 6). There will be a second gap of (2*tCC−2*tPD2) between the readdata Qc620 and thewrite data Dd621 at the controller. There will be a gap of (2*tCC) between the readdata Qc651 and thewrite data Dd621. Note that the sum of the gaps at the memory components and the controller will be 2*tCC.
The overall system timing will be described next. The example system phase aligns the AClkS,M, RClkS,M, and WClkS,Mclocks at each memory component (the slice number varies from one through NS, and the module number is fixed at one). This has the benefit of allowing each memory component to operate in a single clock domain, avoiding any domain crossing issues. Because the address and control clock AClkS,Mflows past each memory component, the clock domain of each memory slice will be offset slightly from the adjacent slices. The cost of this phasing decision is that the controller must adjust the read and write clocks for each slice to different phase values—this means there will be 1+(2*NS) clock domains in the controller, and crossing between these domains efficiently becomes very important. Other phase constraints are possible and will be discussed later.
FIG. 7 is a timing diagram illustrating system timing at a memory controller component in accordance with an embodiment of the present disclosure. As before, the controller sends a write-read-read-write sequence of operations on the control and address bus AClkS0,M1. The Da write datum information is sent on the WClkS1,M0and WClkSNs,M0buses so that it will preferably arrive at the memory component of each slice one cycle after the address and control information ACa. This is done by making the phase of the WClkS1,M0clock generally equivalent to (tPD0−tPD2) relative to the phase of the AClkS0,M1clock (positive means later, negative means earlier). This will cause them to be in phase at the memory component of the first slice of the first module. Likewise, the phase of the WClkSNs,M0clock is adjusted to be generally equivalent to (tPD0+tPD1−tPD2) relative to the phase of the AClkS0,M1clock. Note that some tolerance is preferably built into the system such that the phase adjustment of the clock to approximate the propagation delays can vary slightly from the desired adjustment while still allowing for successful system operation.
In a similar fashion, the phase of the RClkS1,M0clock is adjusted to be generally equivalent to (tPD0+tPD2) relative to the phase of the AClkS0,M1clock. This will cause them to be in phase at the memory component of the last slice of the first module. Likewise, the phase of the RClkSNs,M0clock is adjusted according to the expression (tPD0+tPD1+tPD2) relative to the phase of the AClkS0,M1clock to cause the RClkSNs,M0clock and the AClkS0,M1clock to be in phase at the memory component of the last slice of the first module.
The waveform ofAClk clock signal701 depicts the AClk clock signal at the memory controller component, which is denoted as being at slice zero. Risingedge702 occurs attime710 and is associated withaddress information ACa718, which is present at slice zero. Risingedge703 occurs attime711 and is associated withaddress information ACb719, which is present at slice zero. Rising edge704 occurs attime712 and is associated withaddress information ACc720, which is present at slice zero. Risingedge707 occurs attime715 and is associated withaddress information ACd721, which is present at slice zero.
The waveform ofWClk clock signal722 depicts the WClk clock signal for the memory component at slice one when that WClk clock signal is present at the memory controller component at module zero. Risingedge724 occurs attime711 and is associated with writedatum information Da730, which is present. Risingedge729 occurs attime716 and is associated with writedatum information Dd733, which is present.
The waveform ofRClk clock signal734 depicts the RClk clock signal for the memory component of slice one when that RClk clock signal is present at the memory controller component at module zero. Risingedge737 is associated with readdatum information Qb731, which is present. Risingedge738 is associated with readdatum information Qc732, which is present.
The waveform ofWClk clock signal741 depicts the WClk clock signal for the memory component at slice NSwhen that WClk clock signal is present at the memory controller component at module zero. Writedatum information Da756 is associated withedge744 ofsignal741. Writedatum information Dd759 is associated withedge754 ofsignal741.
The waveform ofRClk clock signal760 depicts the RClk clock signal for the memory component at slice NSwhen that RClk clock signal is present at the memory controller component at module zero. Readdatum information Qb757 is associated withedge764 ofsignal760. Readdatum information Qc758 is associated withedge766 ofsignal760.
FIG. 8 is a timing diagram illustrating alignment of clocks AClkS1,M1, WClkS1,M1, and RClkS1,M1at the memory component inslice1 ofrank1 in accordance with an embodiment of the present disclosure. All three clocks are delayed by tPD0relative to the AClkS0,M1clock produced at the controller.
The waveform of AClk clock signal801 depicts the AClk clock signal for the memory component at slice one of module one.Address information ACa822 is associated withedge802 of signal801.Address information ACb823 is associated withedge804 of signal801.Address information ACc824 is associated withedge806 of signal801.Address information ACd825 associated withedge812 of signal801.
The waveform ofWClk clock signal826 depicts the WClk clock signal for the memory component at slice one of module one. Writedatum information Da841 is associated withedge829 ofsignal826. Writedatum information Dd844 is associated withedge839 ofsignal826.
The waveform ofRClk clock signal845 depicts the RClk clock signal for the memory component at slice one of module one. Readdatum information Qb842 is associated withedge850 ofsignal845. Readdatum information Qc843 is associated withedge852 ofsignal845.
FIG. 9 is a timing diagram illustrating alignment of clocks AClkSNs,M1, WClkSNs,M1, and RClkSNs,M1at the memory component in slice NSof rank one of module one in accordance with an embodiment of the present disclosure. All three clocks are delayed by (tPD0+tPD1) relative to the AClkS0,M1clock produced at the controller.
The waveform ofAClk clock signal901 depicts the AClk clock signal for the memory component at slice NSat module one. Risingedge902 ofsignal901 is associated withaddress information ACa917. Risingedge903 ofsignal901 is associated with address information ACb. Risingedge904 ofsignal901 is associated withaddress information ACc919. Risingedge907 ofsignal901 is associated withaddress information ACd920.
The waveform ofWClk clock signal921 depicts the WClk clock signal for the memory component at slice NSat module one. Risingedge923 ofsignal921 is associated with writedatum information Da937. Risingedge928 ofsignal921 is associated with writedatum information Dd940.
The waveformRClk clock signal929 depicts the RClk clock signal for the memory component at slice NSat module one. Risingedge932 ofsignal929 is associated with readdatum information Qb938. Risingedge933 ofsignal929 is associated with readdatum information Qc939.
Note that in bothFIGS. 8 and 9 there is a one tCCcycle delay between the address/control information (ACa917 ofFIG. 9, for example) and the read or write information that accompanies it (Da937 ofFIG. 9 in this example) when viewed at each memory component. This may be different for other technologies; i.e. there may be a longer access delay. In general, the access delay for the write operation at the memory component should be equal or approximately equal to the access delay for the read operation in order to maximize the utilization of the data bus.
FIGS. 10 through 18 illustrate the details of an exemplary system which uses address and data timing relationships which are nearly identical to what has been described inFIGS. 5 through 9. In particular, all three clocks are in-phase on each memory component. This example system has several differences relative to this earlier description, however. First, two bits per wire are applied per tCCinterval on the AC bus (address/control bus, or simply address bus). Second, eight bits per wire are applied per tCCinterval on the DQ bus. Third, a clock signal accompanies the AC bus, but the read and write clocks for the DQ bus are synthesized from the clock for the AC bus.
FIG. 10 is a block diagram illustrating further details for one memory rank (one or more slices of memory components) of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure. The internal blocks of the memory components making up this rank are connected to the external AC or DQ buses. The serialized data on these external buses is converted to or from parallel form on internal buses which connect to the memory core (the arrays of storage cells used to hold information for the system). Note thatFIG. 10 shows all 32 bits of the DQ bus connecting to the memory rank—these 32 bits are divided up into multiple, equal-sized slices and each slice of the bus is routed to one memory component. Thus, slices are defined based on portions of the DQ bus routed to separate memory components. The example shown inFIG. 10 illustrates a memory component, or device, that supports the entire set of 32 data bits for a particular example system. In other embodiments, such a system may include two memory devices, where each memory device supports half of the 32 data bits. Thus, each of these memory devices would include the appropriate data transmit blocks, data receive blocks, and apportionment of memory core such that they can individually support the portion of the overall data bus for which they are responsible. Note that the number of data bits need not be 32, but may be varied.
The AClk signal is the clock which accompanies the AC bus. It is received and is used as a frequency and phase reference for all the clock signals generated by the memory component. The other clocks are ClkM2, ClkM8, and ClkM. These are, respectively, 2×, 8×, and 1× the frequency of AClk. The rising edges of all clocks are aligned (no phase offset). The frequency and phase adjustment is typically done with some type of phase-locked-loop (PLL) circuit, although other techniques are also possible. A variety of different suitable PLL circuits are well known in the art. The feedback loop includes the skew of the clock drivers needed to distribute the various clocks to the receive and transmit blocks as well as the memory core. The memory core is assumed to operate in the ClkM domain.
Memory component116 comprisesmemory core1001,PLL1002,PLL1003, andPLL1004.AClk clock signal109 is received bybuffer1015, which providesclock signal1019 toPLLs1002,1003, and1004. Various PLL designs are well known in the art, however some PLLs implemented in the example embodiments described herein require minor customization to allow for the specific functionality desired. Therefore, in some embodiments described herein, the particular operation of the various blocks within the PLL are described in additional detail. Thus, although some of the PLL constructs included in the example embodiments described herein are not described in extreme detail, it is apparent to one of ordinary skill in the art that the general objectives to be achieved by such PLLs are readily recognizable through a variety of circuits well known to those skilled in the art.PLL1002 includes phase comparator and voltage controlled oscillator (VCO)1005.PLL1002 providesclock signal ClkM1024 tomemory core1001, address/control receiveblock204, data receiveblock205, and data transmitblock206.
PLL1003 comprisesprescaler1009, phase comparator andVCO1010, anddivider1011.Prescaler1009 may be implemented as a frequency divider (such as that used to implement divider1011) and provides a compensating delay with no frequency division necessary.Prescaler1009 provides asignal1021 to phase comparator andVCO1010. The phase comparator inVCO1010 is represented as a triangle having two inputs and an output. The functionality of thephase comparator1010 is preferably configured such that it produces an output signal that ensures that the phase of thefeedback signal1023, which is one of its inputs, is generally phase aligned with areference signal1021. This convention is preferably applicable to similar structures included in other PLLs described herein.Divider1011 provides afeedback signal1023 to phase comparator andVCO1010.PLL1003 providesclock signal ClkM21025 to address/control receiveblock204.
PLL1004 comprisesprescaler1006, phase comparator andVCO1007, anddivider1008.Prescaler1006 may be implemented as a frequency divider (such as that used to implement divider1011) and provides a compensating delay with no frequency division necessary.Prescaler1006 provides asignal1020 to phase comparator andVCO1007.Divider1008 provides afeedback signal1022 to phase comparator andVCO1007.PLL1004 providesclock signal ClkM81026 to data receiveblock205 and data transmitblock206.
Theaddress bus107 is coupled viabuffers1012 to address/control receiveblock204 viacoupling1016. The data outputs1018 of data transmitblock206 are coupled todata bus108 viabuffers1014. Thedata bus108 is coupled todata inputs1017 of data receiveblock205 viabuffers1013.
Address/control receiveblock204 provides address information to thememory core1001 viainternal address bus1027. Data receiveblocks205 provides write data tomemory core1001 via internalwrite data bus1028.Memory core1001 provides read data to data transmitblocks206 via internalread data bus1029.
FIG. 11 is a block diagram illustrating logic used in the receive and transmit blocks ofFIG. 10 in accordance with an embodiment of the present disclosure. In this Figure, for clarity, the elements for only one bit of each bus are illustrated. It is understood that such elements may be replicated for each bit of the bus.
Address/control receiveblock204 comprisesregisters1101,1102, and1103.Address bus conductor1016 is coupled toregisters1101 and1102, which together form a shift register, and which are clocked byClkM2 clock signal1025 and coupled to register1103 viacouplings1104 and1105, respectively.Register1103 is clocked byClkM clock signal1024 and provides address/control information tointernal address bus1027. The representation ofregisters1101 and1102 inFIG. 11 is preferably understood to imply that they form a shift register such thatdata entering register1101 during one cycle is transferred intoregister1102 during the subsequent cycle as new data entersregister1101. In the particular embodiment shown inFIG. 11, the movement of data is controlled by theclock signal ClkM21025. Thus, ifclock ClkM21025 operates at twice the frequency ofclock ClkM1024, the receiveblock204 generally operates as a serial-to-parallel shift register, where two consecutive serial bits are grouped together in a two-bit parallel format before being output ontosignal lines RAC1027. Thus, other similar representations in the figures where a number of registers are grouped together in a similar configuration preferably are understood to include the interconnections required to allow data to be serially shifted along the path formed by the registers. Examples include theregisters11231130 included in transmitblock206 and theregisters11061113 included in receiveblock205. As a result, the serial information on theinput1016 is converted to parallel form on theoutput1027.
Data receiveblock205 comprisesregisters1106,1107,1108,1109,1110,1111,1112,1113, and1114.Data input1017 is coupled toregisters1106,1107,1108,1109,1110,1111,1112, and1113, which are clocked byClkM8 clock signal1026 and coupled to register1114 viacouplings1115,1116,1117,1118,1119,1120,1121, and1122, respectively.Register1114 is clocked byClkM clock signal1024 and provides write data to internalwrite data bus1028. As a result, the serial information on theinput1017 is converted to parallel form on theoutput1028.
Data transmitblock206 comprisesregisters1123,1124,1125,1126,1127,1128,1129,1130, and1131. Read data from internalread data bus1029 is provided to register1131, which is clocked byClkM clock1024 and coupled toregisters1123,1124,1125,1126,1127,1128,1129, and1130 viacouplings1132,1133,1134,1135,1136,1137,1138, and1139.Registers1123,1124,1125,1126,1127,1128,1129, and1130 are clocked byClkM8 clock1026 and providedata output1018. As a result, the parallel information on theinput1029 is converted to serial form on theoutput1018.
Shown are the register elements needed to sample the address/control and write data, and to drive the read data. It is assumed in this example that two bits are transferred per address/control (AC[i]) wire in each tCCinterval, and that eight bits are transferred per read data (Q[i]) wire or write data (D[i]) wire in each tCCinterval. In addition to the primary clock ClkM (with a cycle time of tCC), there are two other aligned clocks that are generated. There is ClkM2 (with a cycle time of tCC/2) and ClkM8 (with a cycle time of tCC/8). These higher frequency clocks shift information in to or out from the memory component. Once in each tCCinterval the serial data is transferred to or from a parallel register clocked by ClkM.
Note that ClkM2 and ClkM8 clocks are frequency locked and phase locked to the ClkM clock. The exact phase alignment of the two higher frequency clocks will depend upon the circuit implementation of the driver and sampler logic. There may be small offsets to account for driver or sampler delay. There may also be small offsets to account for the exact position of the bit valid windows on the AC and DQ buses relative to the ClkM clock.
Note also that in the memory component, the ClkM2 or ClkM8 clocks could be replaced by two or eight clocks each with a cycle time of tCC, but offset in phase in equal increments across the entire tCCinterval. The serial register, which in transmitblock204 includesregisters11011102, in transmitblock206 includes-registers11231130, and in data receiveblock205 includesregisters11061113, would be replaced by a block of two or eight registers, each register loaded with a different clock signal so that the bit windows on the AC and DQ buses are properly sampled or driven. For example, in the transmitblock204, two individual registers would be included, where one register is clocked by a first clock signal having a particular phase and the second register is clocked by a different clock signal having a different phase, where the phase relationship between these two clock signals is understood such that the equivalent serial-to-parallel conversion can be achieved as that described in detail above. Another possibility is to use level-sensitive storage elements (latches) instead of edge sensitive storage elements (registers) so that the rising and falling edges of a clock signal cause different storage elements to be loaded.
Regardless of how the serialization is implemented, there are multiple bit windows per tCCinterval on each wire, and multiple clock edges per tCCinterval are created in the memory component in order to properly drive and sample these bit windows.
FIG. 12 is a block diagram illustrating details for the memory controller component of a memory system such as that illustrated inFIG. 1 in accordance with an embodiment of the present disclosure. Thememory controller component102 comprisesPLLs1202,1203,1204, and1205, address/control transmitblocks201, data transmitblocks202, data receiveblocks203, andcontroller logic core1234.PLL1202 comprises phase comparator andVCO1206.PLL1202 receivesClkIn clock signal1201 and providesClkC clock signal1215 tocontroller logic core1234 and to buffer1224, which outputsAClk clock signal109.
PLL1203 comprisesprescaler1207, phase comparator andVCO1208, anddivider1209.Prescaler1207 may be implemented as a frequency divider and provides a compensating delay with no frequency division necessary.Prescaler1207 receivesClkIn clock signal1201 and providessignal1216 to phase comparator andVCO1208.Divider1209 providesfeedback signal1218 to phase comparator andVCO1208, which providesClkC2 clock output1217 to address/control transmitblocks201.
PLL1204 comprises phase comparator andVCO1210, dummy phase offsetselector1212, anddivider1211. Dummy phase offsetselector1212 inserts an amount of delay to mimic the delay inherent in a phase offset selector and providessignal1220 todivider1211, which providesfeedback signal1221 to phase comparator andVCO1210. Phase comparator andVCO1210 receivesClkIn clock input1201 and providesClkC8 clock output1219 to data transmitblocks202 and data receive blocks203.
PLL1205 comprisesphase shifting circuit1214 and phase comparator andVCO1213.Phase shifting circuit1214 providesfeedback signal1223 to phase comparator andVCO1213. Phase comparator andVCO1213 receivesClkIn clock signal1201 and providesClkCD clock signal1222 to data transmitblocks202 and data receive blocks203.
Controller logic core1234 provides TPhShB signals1235 andTPhShA signals1236 to data transmit blocks202.Controller logic core1234 provides RPhShB signals1237 andRPhShA signals1238 to data receive blocks203.Controller logic core1234 providesLoadSkip signal1239 to data transmitblocks202 and data receive blocks203.Controller logic core1234 comprisesPhShC block1240. Functionality of thecontroller logic1234 is discussed in additional detail with respect toFIG. 17 below.
Controller logic core1234 provides address/control information to address/control transmitblocks201 viainternal address bus1231.Controller logic core1234 provides write data to data transmitblocks1232 via internalwrite data bus1232.Controller logic core1234 receives read data from data receiveblocks203 via internalread data bus1233.
Address/control transmitblocks201 are coupled viaoutput1228 tobuffers1225, which driveAC bus107. Data transmitblocks202 provideoutputs1229 tobuffers1226, which driveDQ bus108.Buffers1227couple DQ bus108 toinputs1230 of data receive blocks203.
Each of address/control transmitblocks201 is connected to the AC bus, and each ofblocks202 and203 is connected to the DQ bus. The serialized data on these external buses is converted to or from parallel from internal buses which connect to the rest of the controller logic. The rest of the controller is assumed to operate in the ClkC clock domain.
In the embodiment shown, the ClkIn signal is the master clock for the whole memory subsystem. It is received and used as a frequency and phase reference for all the clock signals used by the controller. The other clocks are ClkC2, ClkC8, ClkC, and ClkCD. These are, respectively, 2×, 8×, 1×, and 1× the frequency of ClkIn. ClkC will have no phase offset relative to ClkIn, and ClkCD will be delayed by 90 degrees. ClkC2 has every other rising edge aligned with a rising edge of ClkIn.
Every eighth ClkC8 rising edge is aligned with a rising edge of ClkIn except for25 an offset which compensates for the delay of a frequency divider and phase offset selector in the transmit and receive blocks. There are “N” additional ClkC8 signals (ClkC8[N:1]) which are phase-shifted relative to the ClkC8 signal. These other ClkC8 phases are used to synthesize the transmit and receive clock domains needed to communicate with the memory components.
The frequency and phase adjustment is typically done with some type of phase-locked-loop (PLL) circuit, although other techniques are also possible. The feedback loop of the PLL circuit includes the skew of the clock drivers needed to distribute the various clocks to the receive and transmit blocks as well as the rest of the controller logic.
FIG. 13 is a block diagram illustrating the logic used in the receive and transmit blocks ofFIG. 12 in accordance with an embodiment of the present disclosure.Memory controller component102 comprises address/control transmitblocks201, data transmitblocks202, and data receive blocks203. For clarity, the elements for only one bit are illustrated. It is understood that such elements may be replicated for each bit of the buses.
Address/control transmitblocks201comprise register1301 andregisters1302 and1303.Internal address bus1231 is coupled to register1301, which is clocked byClkC clock1215 and provides outputs toregisters1302 and1303 viacouplings1304 and1305, respectively.Registers1302 and1303 are clocked byClkC2 clock1217 and provideoutput1328 to the AC bus. As a result, the parallel information on theinternal address bus1231 is converted to serial form on theoutput1228. Additional functional description of the address/control transmitblocks201 is provided with respect toFIG. 13 below.
Generally, the data transmitblocks202 and data receiveblocks203 shown inFIG. 13 serve the function of performing serial-to-parallel or parallel-to-serial conversion of data (the type of conversion depending upon the direction of the data flow). Such blocks are similar to those present within the memory devices, however in the case of the transmit and receive blocks included in the controller in this particular system, additional circuitry is required in order to obtain the appropriate clocking signals required to perform these serial-to-parallel and parallel-to-serial conversions. In the memory devices of this example, such clock adjustment circuitry is not required, as the clocks are understood to be phase aligned within the memory devices. However, within the controller such phase alignment cannot be guaranteed due to the assumption within the system that phase alignment within the memory devices will possibly cause phase mismatching in other portions of the system due to the physical positioning of the memory devices with respect to the controller. Thus, a memory device positioned a first distance from the controller will have a different set of characteristic delays with respect to signals communicated with the controller than a second memory device positioned at a second position. As such, individual clock adjustment circuitry would be required for such memory devices within the controller such that the controller is assured of properly capturing read data provided by each of the memory devices and to allow for the controller to properly drive write data intended to be received by each of the memory devices.
Within the transmitblock202, data for transmission is received over theTD bus1232 in parallel format. This data is loaded into theregister1310 based on theclock ClkC signal1215. Once loaded in theregister1310, the data is either directly passed through themultiplexer1312 to theregister1313 or caused to be delayed by a half clock cycle by traversing the path through themultiplexer1312 that includes theregister1311 which is clocked by the falling edge of the ClkC signal. Such circuitry enables the data on the TD bus, which is in the ClkC clock domain, to be successfully transferred into the clock domain needed for its transmission. This clock domain is the TClkC1B clock domain, which has the same frequency as the ClkC clock, but is not necessarily phase aligned to the ClkC clock signal. Similar circuitry is included within the receiveblock203 such that data received in the RClkC1B clock domain can be successfully transferred onto the RQ bus that operates in the ClkC clock domain.
Data transmitblocks202 comprisePhShA block1306,clock divider circuit1307, registers1308,1309,1310,1311, and1313,multiplexer1312, andshift register1314. TPhShA signals1236 and ClkC8 clock signals1219 are provided toPhShA block1306. Additional detail regarding thePhShA block1306 are provided with respect toFIG. 15 below.Clock divider circuit1307 comprises 1/1divider circuit1324 and 1/8divider circuit1325. TPhShB signals1235 are provided to 1/8divider circuit1325. An output ofPhShA block1306 is provided to inputs of 1/1divider circuit1324 and 1/8divider circuit1325. An output of 1/1divider circuit1324 is provided toclock shift register1314. An output of 1/8divider circuit1325 is provided toclock register1313 and as an input to register1308.
Register1308 is clocked byClkCD clock signal1222 and provides an output to register1309.Register1309 is clocked byClkC clock signal1215 and receivesLoadSkip signal1238 to provide an output tomultiplexer1312 and an output toclock registers1310 and1311.Register1310 receives write data fromwrite data bus1232 and provides an output to register1311 andmultiplexer1312.Register1311 provides an output tomultiplexer1312. Multiplexer1312 provides an output to register1313.Register1313 provides parallel outputs to shiftregister1314.Shift register1314 providesoutput1229. As a result, the parallel information on theinput1232 is converted to serial form on theoutput1229.
Data receiveblocks203 comprisePhShA block1315,clock dividing circuit1316, registers1317,1318,1320,1321, and1323,shift register1319, andmultiplexer1322.Clock dividing circuit1316 comprises 1/1divider circuit1326 and 1/8divider circuit1327. RPhShA signals1238 andClkC8 clock signal1219 are provided toPhShA block1315, which provides an output to 1/1divider circuit1326 and 1/8divider circuit1327.RPhShB signal1237 is provided to an input of 1/8divider circuit1327. The 1/1divider circuit1326 provides an output used toclock shift register1319. The 1/8divider circuit1327 provides an output used toclock register1320 and used as an input to register1317.Register1317 is clocked byClkCD clock signal1222 and provides an output to register1318.Register1318 receivesLoadSkip signal1238 and is clocked byClkC clock signal1215, providing an output tomultiplexer1322 and an output used toclock registers1321 and1323.
Shift register1319 receivesinput1230 and provides parallel outputs to register1320.Register1320 provides an output to register1321 and tomultiplexer1322.Register1321 provides an output tomultiplexer1322. Multiplexer1322 provides an output to register1323.Register1323 provides an output to internalread data bus1233. As a result, the serial information on theinput1230 is converted to parallel form on theoutput1233.
Shown are the register and gating elements needed to drive address/control and write data, and to sample the read data. It is assumed in this example that two bits are transferred per address/control (AC[i]) wire in each tCCinterval, and that eight bits are transferred per read data (Q[i]) wire or write data (D[i]) wire in each tCCinterval. In addition to the primary clock ClkC (with a cycle time of tCC), there are two other aligned clocks that are generated. There is ClkC2 (with a cycle time of tCC/2) and ClkC8 (with a cycle time of tCC/8). These higher frequency clocks shift information in to or out from the controller. Once in every tCCinterval the serial data is transferred to or from a parallel register clocked by ClkC.
Note that in the controller, the ClkC2 or ClkC8 clocks can be replaced by two or eight clocks each with a cycle time of tCC, but offset in phase in equal increments across the entire tCCinterval. In such embodiments, the serial register is replaced by blocks of two or eight registers, where each register is loaded with a different clock signal so that the bit windows on the AC and DQ buses are properly sampled or driven. Another possibility is to use level-sensitive storage elements (latches) instead of edge sensitive storage elements (registers) so that the rising and falling edges of a clock signal cause different storage elements to be loaded.
Regardless of how the serialization is implemented, there will be multiple bit windows per tCCinterval on each wire, and many embodiments utilize multiple clock edges per tCCinterval in the controller in order to properly drive and sample these bit windows.
FIG. 13 also shows how the controller deals with the fact that the read and write data that is received and transmitted for each slice is in a different clock domain. Since a slice may be as narrow as a single bit, there can be 32 read clock domains and 32 write clock domains simultaneously present in the controller (this example assumes a DQ bus width of 32 bits). Remember that in this example no clocks are transferred with the read and write data, and such clocks are preferably synthesized from a frequency source. The problem of multiple clock domains would still be present even if a clock was transferred with the read and write data. This is because the memory component is the point in the system where all local clocks are preferably in-phase. Other system clocking topologies are described later in this description.
The transmit block for address/control bus (AC) inFIG. 13 uses the ClkC2 and ClkC clocks to perform two-to-one serialization. The ClkC2 clock shifts theserial register1302,1304 onto theAC wires1328. Note the exact phase alignment of the ClkC2 clock depends upon the circuit implementation of the driver logic; there may be a small offset to account for driver delay. There may also be small offsets to account for the exact position of the bit drive window on the AC bus relative to the ClkC clock. For example, if the output drivers have a known delay, the phase of the ClkC2 clock signal may be adjusted such that a portion of the output circuitry begins providing data to the output drivers slightly earlier than the time at which the data is to actually be driven onto an external signal line. The shifting of the phase of the ClkC2 clock signal can thus be used to account for the inherent delay in the output driver such that data is actually presented on the external data line at the desired time. Similarly, adjustments to the phase of the ClkC2 clock signal may also be used to ensure that the positioning of the valid data window for data driven based on the ClkC2 clock signal is optimally placed.
In a similar fashion, the transmit block for write data bus (D) inFIG. 13 uses a phase-delayed ClkC8 clock to perform eight-to-one serialization. The phase-delayed ClkC8 clock shifts theserial register1314 onto the DQ wires. Note the exact alignment of the phase-delayed ClkC8 clock will depend upon the circuit implementation of the driver logic; there may be a small offset to-account for driver delay. There may also be small offsets to account for the exact position of the bit drive window on the DQ bus.
The TphShA[i][n:0]control signals1236 select the appropriate phase offset relative to the input reference vectors ClkC8[N:1]. A phase offset selector may be implemented using a simple multiplexer, a more elaborate phase interpolator, or other phase offset selection techniques. In one example of a phase interpolator, a first reference vector of less-than-desired phase offset and a second reference vector of greater-than-desired phase offset are selected. A weighting value is applied to combine a portion of the first reference vector with a portion of the second reference vector to yield the desired output phase offset of the TClkC8A clock. Thus, the desired output phase offset of the TClkC8A clock is effectively interpolated from the first and second reference vectors. In one example of a phase multiplexer, the TphShA[i][n:0]control signals1236 are used to select one of the ClkC8[N:1] clock signals1219 to pass through to the TClkC8A clock (note that 2n+1=N). The phase that is used is, in general, different for each transmit slice on the controller. The phase for each slice on the controller is preferably selected during a calibration process during initialization. This process is described in detail later in this description.
The TClkC8A clock passes through 1/81325 and 1/11324 frequency dividers before clocking the parallel1313 and serial1314 registers. Note that the ClkC8[N:1] signals that are distributed have a small phase offset to compensate for the delay of the phase offset selection block (PhShA)1306 and the frequency divider blocks1324 and1325. This offset is generated by a phase-locked-loop circuit and will track out supply voltage and temperature variations.
Even with the transmit phase shift value set correctly (so that the bit windows on theD bus1229 are driven properly), the phase of the TClkC1B clock used for theparallel register1313 could be misaligned (there are eight possible combinations of phase). There are several ways of dealing with the problem. The scheme that is used in the embodiment illustrated provides aninput TPhShB1235, such that when this input is pulsed, the phase of the TClkC1B clock will shift by ⅛thof a cycle (45 degrees). The initialization software adjusts the phase of this clock until the parallel register loads the serial register at the proper time. This initialization process is described in detail later in this description.
Alternatively, it is also possible to perform the phase adjustment in the ClkC domain when preparing theTD bus1232 for loading into the transmitblock202. To do so, multiplexers and registers may be used to rotate the write data across ClkC cycle boundaries. A calibration process may be provided at initialization to accommodate the phase of the TClkC1B clock during which the transmitblock202 is powered up.
After the phase shift controls are properly adjusted, the write data can be transmitted onto the D bus from theparallel register1313. However, the write data still needs to be transferred from theTD bus1232 in theClkC1215 domain into theparallel register1313 in the TClkC1B domain. This is accomplished with theskip multiplexer1312. The multiplexer selects between registers that are clocked on the rising1310 and falling1311 edges of ClkC. The SkipT value determines which of the multiplexer paths is selected. The SkipT value is determined by sampling the TClkC1B clock by theClkCD clock1222. The resulting value is loaded into aregister1309 by theLoadSkip signal1238 during the initialization routine. This circuitry is described in detail later in this description.
The receiveblock203 for the read data Q is shown at the bottom ofFIG. 13. The receive block has essentially the same elements as the transmit block that was just discussed, except that the flow of data is reversed. However, the clock domain crossing issues are fundamentally similar.
The RPhShA[i][n:0]control signals1238 select one of the ClkC8[N:1] clock signals1219 to pass through to the RClkC8 clock. The phase that is used is, in general, different for each receive slice on the controller. The phase is selected during a calibration process during initialization. This process is described in detail later in this description.
The RClkC8A clock passes through 1/81327 and 1/11326 frequency dividers before clocking the parallel1320 and serial1319 registers. Note that the ClkC8[N:1] signals1219 that are distributed have a small phase offset to compensate for the delay of the phase offset selection block (PhShA)1315 and the frequency divider blocks1326 and1327. This offset is generated by a phase-locked-loop circuit and will track out supply voltage and temperature variations.
Even with the receive phase shift value set correctly (so that the bit windows on the Q bus are sampled properly), the phase of the RClkC1B clock used for theparallel register1320 could be mismatched (there are eight possible combinations of phase). There are several ways of dealing with the problem. The scheme that is used in the embodiment illustrated provides aninput RPhShB1237, such that when this input is pulsed, the phase of the RClkC1B clock will shift by 1/8thof a cycle (45 degrees). The initialization software adjusts the phase of this clock until theparallel register1320 loads theserial register1319 at the proper time. This initialization process is described in detail later in this description.
A skip multiplexer similar to that described for the transmit circuit is used to move between the RClkC1B clock domain and the ClkC clock domain. After the phase shift controls are properly adjusted, the read data can be received from theQ bus1230 and loaded into theparallel register1320. However, the read data still needs to be transferred from theparallel register1320 in the RClkC1B domain into theregister1323 in theClkC1215 domain. This is accomplished with theskip multiplexer1322. The multiplexer can insert or not insert aregister1321 that is clocked on the negative edge of ClkC in between registers that are clocked on the rising edges ofRClkC1B1320 andClkC1323. The SkipR value determines which of the multiplexer paths is selected. The SkipR value is determined by sampling the RClkC1B clock by theClkCD clock1222. The resulting value is loaded into aregister1318 by theLoadSkip signal1238 during the initialization routine. This circuitry is described in detail later in this description.
FIG. 14 is a logic diagram illustrating details of the PLL used to generate the ClkC8 signal as illustrated inFIG. 12 in accordance with an embodiment of the present disclosure.PLL1204 comprisesPLL circuit1401, adjustable matcheddelays1402, matchedbuffers1403, andphase comparator1404.PLL circuit1401 comprisesVCO1405, dummy phase offsetselector1406,frequency divider1407, andphase comparator1408.ClkIn clock signal1201 is provided toVCO1405 andphase comparator1408.VCO1405 provides an output to adjustable matcheddelays1402 and matchedbuffers1403. Adjustable matcheddelays1402 provide a plurality of incrementally delayed outputs to matchedbuffers1403.
ThePLL circuit1401 generates a clock signal that is 8 times the frequency of the inputclock signal ClkIn1201, and the generated signal is also phase-shifted to account for delay expected to exist in the paths of the clock signals produced by the circuit inFIG. 14. As such, expected delays are compensated for during the clock generation process such that the clock signals that appear at the point of actual use are correctly phase adjusted. The remaining portion of theblock1204 outside of thePLL circuit1401 is used to generate equally phase-spaced versions of the clock produced by thePLL circuit1401. This is accomplished through well-known delay locked loop techniques where the delay locked loop provides the mechanism for generating the equally spaced clock signals. The clock signals produced as a result of theblock1204 inFIG. 14 are provided to the phase shifting logic described below with respect toFIG. 15. The results of the clock generation performed by the circuits ofFIGS. 14 and 15 are used to perform the serial-to-parallel or parallel-to-serial conversion as described inFIG. 13 above.
Output1409 of matchedbuffers1403, which is not delayed by adjustable matcheddelays1402, is provided to an input of dummy phase offsetselector1406 and an input ofphase comparator1404 and provides the ClkC8 clock signal.Delayed output1410 provides the ClkC81clock signal.Delayed output1411 provides the ClkC82clock signal.Delayed output1412 provides the ClkC83clock signal.Delayed output1413 provides the ClkC8N−1clock signal.Delayed output1414 provides the ClkC8Nclock signal, which is provided to an input ofphase comparator1404.Phase comparator1404 provides a feedback signal to adjustable matcheddelays1402, thereby providing a delay-locked loop (DLL). Each of the matchedbuffers1403 has a substantially similar propagation delay, thereby providing a buffered output without introducing unintended timing skew amongoutput1409 and delayedoutputs14101414.
TheClkIn reference clock1201 is received and is frequency-multiplied by 8× by thePLL1204. Several delays are included with the PLL feedback loop ofPLL1204, including a buffer delay introduced by matchedbuffers1403, a dummy phase offset selection delay introduced by dummy phase offsetselector1406, and a frequency divider delay introduced byfrequency divider1407. By including these delays in the feedback loop, the clock that is used for sampling and driving bits on the DQ will be matched to the ClkIn reference, and any delay variations caused by slow drift of temperature and supply voltage will be tracked out.
The output of thePLL circuit1401 is then passed through adelay line1402 with N taps. The delay of each element is identical, and can be adjusted over an appropriate range so that the total delay of N elements can equal one ClkC8 cycle (tCC/8). There is afeedback loop1404 that compares the phase of the undelayed ClkC8 to the clock with maximum delay ClkC8[N]. The delay elements are adjusted until their signals are phase aligned, meaning there is tCC/8 of delay across the entire delay line.
The ClkC8[N:1] signals pass throughidentical buffers1403 and see identical loads from the transmit and receive slices to which they connect. TheClkC8 reference signal1409 also has a buffer and a matched dummy load to mimic the delay.
FIG. 15 is a block diagram illustrating how the ClkC8[N:1] signals are used in the transmit and receive blocks of the memory controller component such as that illustrated inFIG. 13 in accordance with an embodiment of the present disclosure.PhShA logic block1501 comprises phase offsetselection circuit1502, which comprises phase offsetselector1503. Phase offsetselector1503 receives ClkC81clock signal1410, ClkC82clock signal1411, ClkC83clock signal1412, ClkC8N−1clock signal1413, and ClkC8Nclock signal1414 (i.e., N variants of the ClkC8 clock signal) and selects and providesClkC8A clock signal1504. This is accomplished using the N-to-1multiplexer1503 which selects one of the signals depending upon the setting of the control signals PhShA[i][n:0], where N=2n+1. This allows the phase of the ClkC8A output clock for slice [i] to be varied across one ClkC8 cycle (tCC/8) in increments of tCC/8N.
At initialization, a calibration procedure is performed with software and/or hardware in which test bits are sampled and driven under each combination of the control signals PhShA[i][n:0]. The combination which yields the best margin is selected for each slice. This static value compensates for the flight time of the DQ and AC signals between the controller and the memory components. This flight time is mainly a factor of trace length and propagation velocity on printed wiring boards, and does not vary much during system operation. Other delay variations due to supply voltage and temperature are automatically tracked out by the feedback loops of the PLLs in the system.
FIG. 16 is a block diagram illustrating thePhShB circuit1307 and1316 ofFIG. 13.Clock conversion circuit1601 ofFIG. 16 preferably corresponds to 1/1divider circuit1324 and 1/1divider circuit1326 ofFIG. 13. Similarly,clock conversion circuit1602 ofFIG. 16 preferably corresponds to 1/8divider circuit1325 and 1/8divider circuit1327 ofFIG. 13. It produces a ClkC8B clock and a ClkC1B clock based on the ClkC8A clock in accordance with an embodiment of the present disclosure.Clock conversion circuit1601 comprises amultiplexer1603, which receivesClkC8A signal1504 and providesClkC8B signal1604.Clock conversion circuit1602 comprisesregisters1605,1606,1607, and1612,logic gate1608,multiplexer1611, and incrementingcircuits1609 and1610.PhShB signal1614 is applied to register1605, andClkC8A clock signal1504 is used toclock register1605. Outputs ofregister1605 are applied as an input and a clock input to register1606. An output ofregister1606 is applied as an input to register1607 andlogic gate1608. An output ofregister1606 is used toclock register1607. An output ofregister1607 is applied tologic gate1608. An output ofregister1607 is used toclock register1612. An output oflogic gate1608 is applied tomultiplexer1611.
Incrementing circuit1609 increments an incoming three-bit value by two.Incrementing circuit1610 increments the incoming three-bit value by one in a binary manner such that it wraps from 111 to 000. Multiplexer1611 selects among the three-bit outputs of incrementingcircuits1609 and1610 and provides a three-bit output to register1612.Register1612 provides a three-bit output to be used as the incoming three-bit value for incrementingcircuits1609 and1610. The most significant bit (MSB) of the three-bit output is used to provideClkC1B clock signal1613.
InFIG. 16, the ClkC8A clock that is produced by the PhShA (1306 and1315 ofFIG. 13) block is then used to produce a ClkC8B clock at the same frequency and to produce a ClkC1B clock at ⅛ththe frequency. These two clocks are phase aligned with one another (each rising edge of ClkC1B is aligned with a rising edge of ClkC8B.
ClkC1B1613 is produced by passing it through a divide-by-eightcounter1602. ClkC8A clocks a threebit register1612 which increments on each clock edge. The most-significant bit will be ClkC1B, which is ⅛ththe frequency of ClkC8A. TheClkC8B1604 clock is produced by a multiplexer which mimics the clock-to-output delay of the three bit register, so that ClkC1B and ClkC8B are aligned. As is apparent to one of ordinary skill in the art, other delaying means can be used in place of the multiplexer shown inblock1601 to accomplish the task of matching the delay through the divide-by-8 counter.
As described with respect toFIG. 13, it is necessary to adjust the phase ofClkC1B1613 so that the parallel register is loaded from/to the serial register in the transmit and receive blocks at the proper time. At initialization, a calibration procedure will transmit and receive test bits to determine the proper phasing of the ClkC1B clock. This procedure will use thePhShB control input1614. When this input has a rising edge, the three bit counter will increment by +2 instead of +1 on one of the following ClkC8A edges (after synchronization). The phase of the ClkC1B clock will shift ⅛thof a cycle earlier. The calibration procedure will continue to advance the phase of the ClkC1B clock and check the position of test bits on the TD[i][7:0] and RQ[i][7:0] buses. When the test bits are in the proper position, the ClkC1B phase will be frozen.
FIG. 17 is a block diagram illustrating details of the PhShC block (1240 inFIG. 12) in accordance with an embodiment of the present disclosure.PhShC block1240 includesblocks17011704.Block1701 comprisesregister1705 andmultiplexer1706. Writedata input1714 is provided to register1705 andmultiplexer1706.Register1705 is clocked byClkC clock signal1215 and provides an output tomultiplexer1706. Multiplexer1706 receives TPhShC[0]selection input1713 and provideswrite data output1715.Block1702 comprisesregister1707 andmultiplexer1708. Readdata input1717 is provided to register1707 andmultiplexer1708.Register1707 is clocked byClkC clock signal1215 and provides an output tomultiplexer1708. Multiplexer1708 receives RPhShC[0]selection input1716 and provides readdata output1718.Block1703 comprisesregister1709 andmultiplexer1710. Writedata input1720 is provided to register1709 andmultiplexer1710.Register1709 is clocked byClkC clock signal1215 and provides an output tomultiplexer1710. Multiplexer1710 receives TPhShC[31]selection input1719 and provideswrite data output1721.Block1704 comprisesregister1711 andmultiplexer1712. Readdata input1723 is provided to register1711 andmultiplexer1712.Register1711 is clocked byClkC clock signal1215 and provides an output tomultiplexer1712. Multiplexer1712 receives RPhShC[31] selection input1722 and provides readdata output1724. While only two instances of the blocks for the write data and only two instances of the blocks for the read data are illustrated, it is understood that the blocks may be replicated for each bit of write data and each bit of read data.
ThePhShC block1240 is the final logic block that is used to adjust the delay of the 32×8 read data bits and the 32×8 write data bits so that all are driven or sampled from/to the same ClkC clock edge in the controller logic block. This is accomplished with an eight bit register which can be inserted into the path of the read and write data for each slice. The insertion of the delay is determined by the two control buses TPhShC[31:0] and RPhShC[31:0]. There is one control bit for each slice, since the propagation delay of the read and write data may cross a ClkC boundary at any memory slice position. Some systems with larger skews in the read and write data across the memory slices may need more than one ClkC of adjustment. The PhShC cells shown can be easily extended to provide additional delay by adding more registers and more multiplexer inputs.
The two control buses TPhShC[31:0] and RPhShC[31:0] are configured during initialization with a calibration procedure. As with the other phase-adjusting steps, test bits are read and written to each memory slice, and the control bits are set to the values that, in the example embodiment, allow all 256 read data bits to be sampled in one ClkC cycle and all 256 write data bits to be driven in one ClkC cycle by the controller logic.
FIG. 18 is a block diagram illustrating the logic details of the skip logic from the transmit block203 (inFIG. 13) of a memory controller component in accordance with an embodiment of the present disclosure. The skip logic comprisesregisters1801,1802,1803,1804, and1806, andmultiplexer1805.RClkC1B clock input1807 is provided to register1801 and is used toclock register1803.ClkCD clock input1222 is used toclock register1801, which provides an output to register1802.Register1802 receivesLoadSkip signal1238 and is clocked byClkC clock signal1215, providing an output tomultiplexer1805 and an output used toclock registers1804 and1806.Register1803 receives data in domain RClkC1B atinput1808 and provides an output to register1804 andmultiplexer1805.Register1804 provides an output tomultiplexer1805. Multiplexer1805 provides an output to register1806.Register1806 provides data in domain ClkC atoutput1809.
The circuit transfers the data in the RClkC1B clock domain to the ClkC domain. These two clocks have the same frequency, but may have any phase alignment. The solution is to sample RClkC1B with a delayed version of ClkC called ClkCD (the limits on the amount of delay can be determined by the system, but in one embodiment, the nominal delay is ¼ of a ClkC cycle). This sampled value is called SkipR, and it determines whether the data in an RClkC1B register may be transferred directly to a ClkC register, or whether the data must first pass through a negative-edge-triggered ClkC register.
RegardingFIG. 18, the following worst case setup constraints can be assumed:
  • Case B0
    TD,MAX+tH1,MIN+tCL,MIN+tV,MAX+tM,MAX+tS,MIN<=tCYCLE
    or
    tD,MAX<=tCH,MIN−tH1,MIN−tV,MAX−tM,MAX−tS,MIN  **constraint S**
  • Case D1
    tD,MAX+tH1,MIN+tCYCLE+tV,MAX+tS,MIN<=tCYCLE+tCL,MIN
    or
    tD,MAX<=tCL,MIN−tH1,MIN−tV,MAX−tS,MIN
The following worst case hold constraints can be assumed:
  • Case A1
    tD,MIN−tS1,MIN+tV,,MIN>=tH,MIN
    or
    tD,MIN>=tH,MIN+tS1,MIN−tV,,MIN  **constraint H**
  • Case C0
    tD,MIN−tS1,MIN+tV,,MIN+tM,,MIN>=tH,MIN
    or
    tD,MIN>=tH,MIN+tS1,MIN−tV,,MIN−tM,,MIN
The timing parameters used above are defined as follow:
  • tS1—Setup time for clock sampler
  • tH1—Hold time for clock sampler
  • tS—Setup time for data registers
  • tH—Hold time for data registers
  • tV—Valid delay (clock-to-output) of data registers
  • tM—Propagation delay of data multiplexer
  • tCYCLE—Clock cycle time (RClkC1B, ClkC, ClkCD)
  • tCH—Clock high time (RClkC1B, ClkC, ClkCD)
  • tCL—Clock low time (RClkC1B, ClkC, ClkCD)
  • tD—Offset between ClkC and ClkCD (ClkCD is later)
Note:
  • tD,NOM˜tCYCLE/4
  • tCH.NOM˜tCYCLE/2
  • tCL.NOM˜tCYCLE/2
FIG. 19 is a timing diagram illustrating the timing details of the skip logic of the receive block203 (illustrated inFIG. 13) in accordance with an embodiment of the present disclosure.FIG. 19 illustrates waveforms ofClkCD clock signal1901,ClkC clock signal1902, RClkC1B (case A0)clock signal1903, RClkC1B (case A1)clock signal1904, RClkC1B (case B0)clock signal1905, RClkC1B (case B1)clock signal1906, RClkC1B (case C0)clock signal1907, RClkC1B (case C1)clock signal1908, RClkC1B (case D0)clock signal1909, and RClkC1B (case D1)clock signal1910.Times1911,1912,1913,1914,1915,1916,1917, and1918, at intervals of one clock cycle, are illustrated to indicate the timing differences between the clock signals.
FIG. 19 generally summarizes the possible phase alignments of RClkC1B and ClkC as eight cases labeled A0 through D1. These cases are distinguished by the position of the RClkC1B rising and falling edge relative to the set/hold window of the rising edge of ClkCD which samples RClkC1B to determine the SkipR value. Clearly, if the RClkC1B rising or falling edge is outside of this window, it will be correctly sampled. If it is at the edge of the window or inside the window, then it can be sampled as either a zero or one (i.e., the validity of the sample cannot be ensured). The skip logic has been designed such that it functions properly in either case, and this then determines the limits on the delay of the ClkCD clock tD.
For the receive block,case B01905 has the worst case setup constraint, andcase A11904 has the worst case hold constraint:
tD,MAX<=TCH,MIN−tH1,MIN−tV,MAX−tM,MAX−tS,MIN  **constraint S**
tD,MIN>=tH,MIN+tS1,MIN−tV,,MIN  **constraint H**
As mentioned earlier, the nominal value of tD(the delay of ClkCD relative to ClkC) is expected to be ¼ of a ClkC cycle. The value of tDcan vary up to the tD,MAXvalue shown above, or down to the tD,MINvalue, also shown above. If the setup (e.g., tS1, tS), hold (e.g., tH1, tH), multiplexer propagation delay (e.g., tM), and valid (e.g., tV) times all went to zero, then the tDvalue could vary up to tCH,MIN(the minimum high time of ClkC) and down to zero. However, the finite set/hold window of registers, and the finite clock-to-output (valid time) delay and multiplexer delay combine to reduce the permissible variation of the tDvalue.
Note that it would be possible to change some of the elements of the skip logic without changing its basic function. For example, a sampling clock ClkCD may be used that is earlier rather than later (the constraint equations are changed, but there is a similar dependency of the timing skew range of ClkC to ClkCD upon the various set, hold, and valid timing parameters). In other embodiments, a negative-edge-triggered RClkC1B register is used instead of a ClkC register into the domain-crossing path (again, the constraint equations are changed, but a similar dependency of the timing skew range of ClkC to ClkCD upon the various set, hold, and valid timing parameters remains).
Finally, it should be noted that the skip value that is used is preferably generated once during initialization and then loaded (with the LoadSkip control signal) into a register. Such a static value is preferable to rather than one that is sampled on every ClkCD edge because if the alignment of RClkC1B is such that it has a transition in the set/hold window of the ClkCD sampling register, it may generate different skip values each time it-is sampled. This would not affect the reliability of the clock domain crossing (the RClkC1B date would be correctly transferred to the ClkC register), but it would affect the apparent latency of the read data as measured in ClkC cycles in the controller. That is, sometimes the read data would take a ClkC cycle longer than at other times. Sampling the skip value and using it for all domain crossings solves this problem. Also note that during calibration, every time the RClkC1B phase is adjusted, the LoadSkip control is pulsed in case the skip value changes.
FIG. 20 is a block diagram illustrating the logic details of the skip logic of the transmitblock202 ofFIG. 13 in accordance with an embodiment of the present disclosure. The skip logic comprisesregisters2001,2002,2003,2004, and2006, andmultiplexer2005.TClkC1B clock input2007 is provided to register2001 and is used toclock register2006.ClkCD clock input1222 is used toclock register2001, which provides an output to register2002.Register2002 receivesLoadSkip signal1238 and is clocked byClkC clock signal1215, providing an output tomultiplexer2005 and an output used toclock registers2003 and2004.Register2003 receives data in domain ClkC atinput2008 and provides an output to register2004 andmultiplexer2005.Register2004 provides an output tomultiplexer2005. Multiplexer2005 provides an output to register2006.Register2006 provides data in domain TClkC1B atoutput2009.
The circuit ofFIG. 20 is used in the transfer of data in the ClkC clock domain to the TClkC1B domain. The two clocks ClkC and TClkC1B have the same frequency, but may be phase mismatched. One technique that can be used in the clock domain crossing is to sample TClkC1B with a delayed version of ClkC called ClkCD (the limits on the amount of delay can vary, but in one embodiment, the delay selected is ¼ of a ClkC cycle). The sampled value, SkipT, determines whether the data in a ClkC register is transferred directly to a TClkC1B register, or whether the data first passes through a negative-edge-triggered ClkC register.
RegardingFIG. 20, the following worst case setup constraints can be assumed:
  • Case C0
    tD,MIN−tS1,MIN>=tV,MAX+tM,MAX+tS,MIN
    or
    tD,MIN>=tS1,MIN+tV,MAX+tM,MAX+tS,MIN  **constraint S**
  • Case A1
    tD,MIN−tS1,MIN>=tV,MAX+tS,MIN
    or
    tD,MIN>=tS1,MIN+tV,MAX+tS,MIN
The following worst case hold constraints can be assumed:
  • Case D1
    tH,MIN<=tCH,MIN−tD,MAX−tH1,MIN−TV,,MIN
    or
    tD,MAX<=tCH,MIN−tH1,MIN−tV,MIN−tH,MIN
    or
    tD,MAX<=tCL,MIN−tH1,MIN−tV,MIN−tM,,MIN−tH,MIN
  • Case B0
    tH,MIN<=tCL,MIN−tD,MAX−tH1,MIN−tV,,MIN−tM,,MIN
    or
    tD,MAX<=tCL,MIN−tH1,MIN−tV,MIN−tM,,MIN−tH,MIN  **constraint H**
    Definitions for the timing parameters used above may be found in the discussion ofFIG. 18 above.
FIG. 21 is a timing diagram illustrating the timing details of the skip logic of the transmitblock202 ofFIG. 13 in accordance with an embodiment of the present disclosure.FIG. 21 illustrates waveforms ofClkCD clock signal2101,ClkC clock signal2102, TClkC1B (case A0)clock signal2103, TClkC1B (case A1) clock signal2104, TClkC1B (case B0)clock signal2105, TClkC1B (case B1)clock signal2106, TClkC1B (case C0)clock signal2107, TClkC1B (case C1)clock signal2108, TClkC1B (case D0)clock signal2109, and TClkC1B (case D1)clock signal2110.Times2111,2112,2113,2114,2115,2116,2117, and2118, at intervals of one clock cycle, are illustrated to indicate the timing differences between the clock signals.
FIG. 21 generally summarizes the possible phase alignments of TClkC1B and ClkC as eight cases labeled A0 through D1. These cases are distinguished by the position of the TClkC1B rising and falling edge relative to the set/hold window of the rising edge of ClkCD which samples TClkC1B to determine the SkipR value. Clearly, if the TClkC1B rising or falling edge is outside of this window, it will be correctly sampled. If it is at the edge of the window or inside the window, then it can be sampled as either a zero or one (i.e., the validity of the sample cannot be ensured). The skip logic has been designed such that it functions properly in either case, and this then determines the limits on the delay of the ClkCD clock tD.
For the transmit block,case CO2107 has the worst case setup constraint, andcase B02105 has the worst case hold constraint:
tD,MIN>=tS1,MIN+tV,MAX+tM,MAX+tS,MIN  **constraint S**
tD,MAX<=tCL,MIN−tH1,MIN−tV,MIN−tM,,MIN−tH,MIN  **constraint H**
As mentioned earlier, the nominal value of tD(the delay of ClkCD relative to Clkc) will by ¼ of a ClkC cycle. This can vary up to the tD,MAXvalue shown above, or down to the tD,MINvalue. If the set, hold, mux (i.e., multiplexer), and valid times all went to zero, then the tDvalue could vary up to tCH,MIN(the minimum high time of ClkC) and down to zero. However, the finite set/hold window of registers, and the finite clock-to-output (valid time) delay and multiplexer delay combine to reduce the permissible variation of the tDvalue.
As described with respect toFIG. 19 above, some elements of the skip logic can be changed for different embodiments while preserving its general functionality. Similarly, as described with respect to the skip logic ofFIG. 19, the skip value that is used is preferably generated during initialization and then loaded (with the LoadSkip control signal) into a register.
FIG. 22 is a timing diagram illustrating an example of a data clocking arrangement in accordance with an embodiment of the present disclosure. However, in this example, the clock phases in the memory controller and memory components have been adjusted to a different set of values than in the example illustrated inFIGS. 5 though21. The waveforms of WClkS1,M0clock signal2201 and RClkS1,M0clock signal2202 are illustrated to show the data timing forslice1 from the perspective of the memory controller component atslice0. The rising edges of sequential cycles of WClkS1,M0clock signal2201 occur attimes2205,2206,2207,2208,2209,2210,2211, and2212, respectively. Writedatum information Da2213 is present on the data lines at the controller attime2205. Readdatum information Qb2204 is present attime2208. Readdatum information Qc2215 is present attime2209. Writedatum information Dd2216 is present attime2210. Writedatum information De2217 is present attime2211.
The waveforms of WClkS1,M1clock signal2203 and RClkS1,M1clock signal2204 are illustrated to show the data timing forslice1 from the perspective of the memory component atslice1. Writedatum information Da2218 is present on the data lines at the memory component attime2206. Readdatum information Qb2219 is present attime2207. Readdatum information Qc2220 is present attime2208. Writedatum information Dd2221 is present attime2211. Writedatum information De2222 is present attime2212.
The exemplary system illustrated inFIGS. 5 through 21 assumed that the clock for the read and write data were in phase at each memory component.FIG. 22 assumes that for each slice the read clock at each memory component is in phase with the write clock at the controller (RClkSi,M0=WClkSi,M1), and because the propagation delay tPD2is the same in each direction, the write clock at each memory component is in phase with the read clock at the controller (WClkSi,M0=RClkSi,M1). This phase relationship shifts the timing slots for the read and write data relative toFIG. 6, but does not change the fact that two idle cycles are inserted during a write-read-read-write sequence. The phase relationship alters the positions within the system where domain crossings occur (some domain crossing logic moves from the controller into the memory components).
FIGS. 23 through 26 are timing diagrams illustrating an example of a data clocking arrangement in accordance with an embodiment of the present disclosure. However, in this example the clock phases in the memory controller and memory components have been adjusted to a different set of values than those in the example illustrated inFIGS. 5 though21. The example inFIGS. 23 through 26 also uses a different set of clock phase values than the example inFIG. 22.
FIG. 23 is a timing diagram illustrating an example of a data clocking arrangement in accordance with an embodiment of the present disclosure. The waveforms of WClkS1,M0clock signal2301 and RClkS1,M0clock signal2302 are illustrated to show the data timing forslice1 from the perspective of the memory controller component atslice0. Rising edges of sequential cycles of WClkS1,M0clock signal2301 occur attimes2305,2306,2307, and2308, respectively. Writedatum information Da2309 is present on the data bus at the controller during a first cycle of WClkS1,M0clock signal2301. Readdatum information Qb2310 is present at a fourth cycle of WClkS1,M0clock signal2301. Readdatum information Qc2311 is present attime2305. Writedatum information Dd2312 is present attime2306. Writedatum information De2313 is present attime2307.
The waveforms of WClkS1,M1clock signal2303 and RClkS1,M1clock signal2304 are illustrated to show the data timing forslice1 from the perspective of the memory component atslice1. Writedatum information Da2314 is advanced one clock cycle relative to its position from the perspective of the memory controller component atslice0. In other words, the write data appears on the data bus at the memory device approximately one clock cycle later than when it appears on the data bus at the controller. Readdatum information Qb2315 is delayed one clock cycle relative to its position from the perspective of the memory controller component atslice0. Readdatum information Qc2316 is also delayed one clock cycle relative to its position from the perspective of the memory controller component atslice0. Writedatum information Dd2317 is present attime2317. Writedatum information De2318 is present attime2308.
The example system assumes that the clock for the read and write data are in phase at each memory component.FIG. 23 assumes that for each slice the read clock and write clock are in phase at the controller (RClkSi,M0=WClkSi,M0), and also that each slice is in phase with every other slice at the controller (WClkSi,M0=WClkSj,M0). This shifts the timing slots for the read and write data relative toFIG. 6 andFIG. 22, but it does not change the fact that two idle cycles are used during a write-read-read-write sequence. The phase relationship alters the positions within the system where domain crossings occur (all the domain crossing logic moves from the controller into the memory components).
FIG. 6 represents the case in which all three clock phases (address, read data, and write data) are made the same at each memory component,FIG. 23 represents the case in which all three clock phases (address, read data, and write data) are made the same at the memory controller, andFIG. 22 represents one possible intermediate case. This range of cases is shown to emphasize that various embodiments of the present disclosure may be implemented with various phasing. The memory controller and memory components can be readily configured to support any combination of clock phasing.
The one extreme case in which all three clock phases (address, read data, and write data) are made the same at each memory component (illustrated inFIGS. 5 through 21) is important because there is a single clock domain within each memory component. The other extreme case in which all three clock phases (address, read data, and write data) are made the same at the memory controller (FIG. 23) is also important because there is a single clock domain within the controller.FIGS. 24 through 26 further illustrate this case.
FIG. 24 is a timing diagram illustrating timing at the memory controller component for the example of the data clocking arrangement illustrated inFIG. 23 in, accordance with an embodiment of the present disclosure. The waveforms of AClkS0,M1clock signal2401 are illustrated to show the address/control timing for memory module one from the perspective of the memory controller component atslice0. The rising edges of sequential cycles of AClkS0,M1clock signal2401 occur attimes2406,2407,2408,2409,2410,2411,2412, and2413, respectively.Address information ACa2414 is present on the address signal lines at the controller attime2406.Address information ACb2415 is present attime2407.Address information ACc2416 is present attime2408.Address information ACd2417 is present attime2412.
The waveforms of WClkS1,M0clock signal2402 and RClkS1,M0clock signal2403 are illustrated to show the data timing forslice1 from the perspective of the memory controller component atmodule0. Writedatum information Da2418 is present on the data lines at the controller attime2407. Readdatum information Qb2419 is present attime2411. Readdatum information Qc2420 is present attime2412. Writedatum information Dd2421 is present attime2413.
The waveforms of WClkSNs,M0clock signal2404 and RClkSNs,M0clock signal2405 are illustrated to show the data timing for slice NSfrom the perspective of the memory controller component atmodule0. Writedatum information Da2422 is present on the data lines at the controller attime2407. Readdatum information Qb2423 is present attime2411. Readdatum information Qc2424 is present attime2412. Writedatum information Dd2425 is present attime2413.
FIGS. 24 through 26 show the overall system timing for the case in which all clock phases are aligned at the controller.FIG. 24 is the timing at the controller, and is analogous toFIG. 7, except for the fact that the clocks are all common at the controller instead of at each memory slice. As a result, the clocks are all aligned inFIG. 24, and the two-cycle gap that the controller inserts into the write-read-read-write sequence is apparent between address packets ACc and ACd.
FIG. 25 is a timing diagram illustrating timing at a first slice of a rank of memory components for the example of the data clocking arrangement illustrated inFIG. 23 in accordance with an embodiment of the present disclosure. The waveforms of AClkS1,M1clock signal2501 is illustrated to show the address/control timing for memory module one from the perspective of the memory component atslice1.Times2504,2505,2506,2507,2508,2509,2510, and2511 correspond totimes2406,2407,2408,2409,2410,2411,2412, and2413, respectively, ofFIG. 24.Signal AClkS1,M12501 is delayed by a delay of tPD0relative to signalAClkS0,M12401 inFIG. 24. In other words, the AClk signal takes a time period tPD0to propagate from the controller to the memory component.Address information ACa2512 is associated withedge2530 ofsignal2501.Address information ACb2513 is associated withedge2531 ofsignal2501.Address information ACc2514 is associated withedge2532 ofsignal2501.Address information ACd2515 is associated withedge2533 ofsignal2501.
The waveforms of WClkS1,M1clock signal2502 and RClkS1,M1clock signal2503 are illustrated to show the data timing forslice1 from the perspective of the memory component atmodule1.FIG. 25 shows the timing at the first memory component (slice1), and the clocks have become misaligned because of the propagation delays tPD2and tPD0.Signal WClkS1,M12502 is delayed by a delay of tPD2relative to signalWClkS1,M02402 ofFIG. 24. Writedatum information Da2516 is associated withedge2534 ofsignal2502. Writedatum information Dd2519 is associated withedge2537 ofsignal2502.Signal RClkS1,M12503 precedes by tPD2signal RClkS1,M02403 ofFIG. 24. Readdatum information Qb2517 is associated withedge2535 ofsignal2503. Readdatum information Qc2518 is associated withedge2536 ofsignal2503.
FIG. 26 is a timing diagram illustrating timing a last slice of a rank of memory components for the example of the data clocking arrangement illustrated inFIG. 23 in accordance with an embodiment of the present disclosure. The waveforms of AClkSNs,M1clock signal2601 are illustrated to show the address/control timing for memory module one from the perspective of the memory component at slice NS. Times2604,2605,2606,2607,2608,2609,2610, and2611 correspond totimes2406,2407,2408,2409,2410,2411,2412, and2413, respectively, ofFIG. 24.Signal AClkSNs,M12601 is delayed by a delay of tPD0+tPD1relative to signalAClkS0,M12401 ofFIG. 24. In other words, addressinformation ACa2612 is associated withedge2630 ofsignal2601.Address information ACb2613 is associated withedge2631 ofsignal2601.Address information ACc2614 is associated withedge2632 ofsignal2601.Address information ACd2615 is associated withedge2633 ofsignal2601.
The waveforms of WClkSNs,M1clock signal2602 and RClkSNs,M1clock signal2603 are illustrated to show the data timing for slice NSfrom the perspective of the memory component atmodule1.Signal WClkSNs,M12602 is delayed by a delay of tPD2relative to signalWClkS1,M02402 ofFIG. 24. Writedatum information Da2616 is associated withedge2634 of signal2602 (e.g., the writedatum information Da2616 is present on the data bus at the memory component whenedge2634 ofsignal2602 is present on the AClk clock conductor at the memory component). Writedatum information Dd2619 is associated withedge2637 ofsignal2602.Signal RClkSNs,M12603 precedes by tPD2signal RClkS1,M02603 ofFIG. 24. Readdatum information Qb2617 is associated withedge2635 ofsignal2603. Readdatum information Qc2618 is associated withedge2636 ofsignal2603.
FIG. 26 shows the timing at the last memory component (slice NS), and the clocks have become further misaligned because of the propagation delays tPD1. As a result, each memory component will have domain crossing hardware similar to that which is in the controller, as described with respect toFIGS. 12–21.
As a reminder, the example system described inFIG. 2 included single memory module, a single rank of memory components on that module, a common address and control bus (so that each controller pin connects to a pin on each of two or more memory components), and a sliced data bus (wherein each controller pin connects to a pin on exactly one memory component). These characteristics were chosen for the example embodiment in order to simplify the discussion of the details and because this configuration is an illustrative special case. However, the clocking methods that have been discussed can be extended to a wider range of system topologies. Thus, it should be understood that embodiments of the present disclosure may be practiced with systems having features that differ from the features of the example system ofFIG. 2.
The rest of this discussion focuses on systems with multiple memory modules or multiple memory ranks per module (or both). In these systems, each data bus wire connects to one controller pin and to one pin on each of two or more memory components. Since the tPD2propagation delay between the controller and each of the memory components will be different, the clock domain crossing issue in the controller becomes more complicated. If the choice is made to align all clocks in each memory component, then the controller will need a set of domain crossing hardware for each rank or module of memory components in a slice. This suffers from a drawback in that it requires a large amount of controller area and that it adversely affects critical timing paths. As such, in a multiple module or multiple rank system, it may be preferable to keep all of the clocks aligned in the controller, and to place the domain crossing logic in the memory components.
FIG. 27 is a block diagram illustrating a memory system that includes multiple ranks of memory components and multiple memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component2702,memory module2703,memory module2730, writeclock2705, readclock2706, writeclock2726, readclock2727,splitting component2742,splitting component2743,termination component2720,termination component2724,termination component2737, andtermination component2740. It should be understood that there is at least one write clock per slice in the example system shown.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module2703 includesmemory components2716,2717, and2718. A second rank ofmemory module2703 includesmemory components2744,2745, and2746. A first rank ofmemory module2730 includesmemory components2731,2732, and2733. A second rank ofmemory module2730 includesmemory components2734,2735, and2736.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice2713,slice2714, andslice2715. Each slice comprises one memory component of each rank. In this embodiment, each slice within each memory module is provided with itsown data bus2708, writeclock conductor2710, and readclock conductor2711.Data bus2708 is coupled tomemory controller component2702,memory component2716, andmemory component2744. Atermination component2720 is coupled todata bus2708 nearmemory controller component2702, and may, for example, be incorporated intomemory controller component2702. Atermination component2721 is coupled near an opposite terminus ofdata bus2708, and is preferably provided withinmemory module2703. Writeclock2705 is coupled to writeclock conductor2710, which is coupled tomemory controller component2702 and tomemory components2716 and2744. Atermination component2723 is coupled near a terminus ofwrite clock conductor2710 nearmemory components2716 and2744, preferably withinmemory module2703. Readclock2706 is coupled to readclock conductor2711, which is coupled throughsplitting component2742 tomemory controller component2702 andmemory components2716 and2744. Splitting components are described in additional detail below. Atermination component2724 is coupled nearmemory controller component2702, and may, for example, be incorporated intomemory controller component2702. Atermination component2725 is coupled near a terminus of readclock conductor2711 nearmemory components2716 and2744, preferably withinmemory module2703.
Slice2713 ofmemory module2730 is provided withdata bus2747, writeclock conductor2728, readclock conductor2729.Data bus2747 is coupled tomemory controller component2702,memory component2731, andmemory component2734. Atermination component2737 is coupled todata bus2747 nearmemory controller component2702, and may, for example, be incorporated intomemory controller component2702. Atermination component2738 is coupled near an opposite terminus ofdata bus2747, and is preferably provided withinmemory module2730. Writeclock2726 is coupled to writeclock conductor2728, which is coupled tomemory controller component2702 and tomemory components2731 and2734. Atermination component2739 is coupled near a terminus ofwrite clock conductor2728 nearmemory components2731 and2734, preferably withinmemory module2730. Readclock2727 is coupled to readclock conductor2729, which is coupled throughsplitting component2743 tomemory controller component2702 andmemory components2731 and2734. Atermination component2740 is coupled nearmemory controller component2702, and may, for example, be incorporated intomemory controller component2702. Atermination component2741 is coupled near a terminus of readclock conductor2729 nearmemory components2731 and2734, preferably withinmemory module2730.
The sliced data bus can be extended to multiple ranks of memory component and multiple memory components in a memory system. In this example, there is a dedicated data bus for each slice of each module. Each data bus is shared by the ranks of memory devices on each module. It is preferable to match the impedances of the wires as they transition from the main printed wiring board onto the modules so that they do not differ to an extent that impairs performance. In some embodiments, the termination components are on each module. A dedicated read and write clock that travels with the data is shown for each data bus, although these could be regarded as virtual clocks; i.e. the read and write clocks could be synthesized from the address/control clock as in the example system that has already been described.
FIG. 28 is a block diagram illustrating a memory system that includes multiple ranks of memory components and multiple memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component2802,memory module2803,memory module2830, writeclock2805, readclock2806,splitting component2842,splitting component2843,splitting component2848,splitting component2849,splitting component2850,splitting component2851,termination component2820,termination component2824,termination component2880, andtermination component2881.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module2803 includesmemory components2816,2817, and2818. A second rank ofmemory module2803 includesmemory components2844,2845, and2846. A first rank ofmemory module2830 includesmemory components2831,2832, and2833. A second rank ofmemory module2830 includesmemory components2834,2835, and2836.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices include slice2813,slice2814, andslice2815. Each slice comprises one memory component of each rank. In this embodiment, each slice across multiple memory modules is provided with adata bus2808, writeclock conductor2810, and readclock conductor2811.Data bus2808 is coupled tomemory controller component2802, viasplitter2848 tomemory components2816 and2844, and viasplitter2849 tomemory components2831 and2834. Atermination component2820 is coupled todata bus2808 nearmemory controller component2802, and may, for example, be incorporated intomemory controller component2802. Atermination component2880 is coupled near an opposite terminus ofdata bus2808, nearsplitter2849. Atermination component2821 is coupled nearmemory components2816 and2844 and is preferably provided withinmemory module2803. Atermination component2838 is coupled nearmemory components2831 and2834 and is preferably provided withinmemory module2830.
Writeclock2805 is coupled to writeclock conductor2810, which is coupled tomemory controller component2802, viasplitter2850 tomemory components2816 and2844, and viasplitter2851 tomemory components2831 and2834. Atermination component2881 is coupled near a terminus ofwrite clock conductor2810, nearsplitter2851. Atermination component2823 is coupled nearmemory components2816 and2844, preferably withinmemory module2803. A termination component2839 is coupled nearmemory components2831 and2834, preferably withinmemory module2830.
Readclock2806 is coupled to readclock conductor2811, which is coupled throughsplitting component2843 tomemory components2831 and2834 and throughsplitting component2842 tomemory controller component2802 andmemory components2816 and2844. Atermination component2824 is coupled nearmemory controller component2802, and may, for example, be incorporated intomemory controller component2802. Atermination component2825 is coupled near a terminus of readclock conductor2811 nearmemory components2816 and2844, preferably withinmemory module2803. Atermination component2841 is coupled near a terminus of readclock conductor2811 nearmemory components2831 and2834, preferably withinmemory module2830.
As illustrated, this example utilizes a single data bus per data slice that is shared by all the memory modules, as inFIG. 28. In this example, each data wire is tapped using some form of splitting component S. This splitter could be a passive impedance matcher (three resistors in a delta- or y-configuration) or some form of active buffer or switch element. In either case, the electrical impedance of each wire is maintained down its length (within manufacturing limits) so that signal integrity is kept high. As in the previous configuration, each split-off data bus is routed onto a memory module, past all the memory components in the slice, and into a termination component.
FIG. 29 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component2902,memory module2903,memory module2930, writeclock2905, read clock2906,termination component2920,termination component2921,termination component2923, andtermination component2924.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module2903 includesmemory components2916,2917, and2918. A second rank ofmemory module2903 includesmemory components2944,2945, and2946. A first rank ofmemory module2930 includesmemory components2931,2932, and2933. A second rank ofmemory module2930 includesmemory components2934,2935, and2936.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice2913,slice2914, andslice2915. Each slice comprises one memory component of each rank. In this embodiment, each slice across memory modules shares a common daisy-chaineddata bus2908, a common daisy-chainedwrite clock conductor2910, and a common daisy-chainedread clock conductor2911.Data bus2908 is coupled tomemory controller component2902,memory component2916,memory component2944,memory component2931, andmemory component2934. Atermination component2920 is coupled todata bus2908 nearmemory controller component2902, and may, for example, be incorporated intomemory controller component2902. Atermination component2921 is coupled near an opposite terminus ofdata bus2908.
Writeclock2905 is coupled to writeclock conductor2910, which is coupled tomemory controller component2902 and tomemory components2916,2944,2931, and2934. Atermination component2923 is coupled near a terminus ofwrite clock conductor2910. Read clock2906 is coupled to readclock conductor2911, which is coupled tomemory controller component2902 andmemory components2916,2944,2931, and2934. Atermination component2924 is coupled nearmemory controller component2902, and may, for example, be incorporated intomemory controller component2902.
In this embodiment, there is a single data bus per data slice, but instead of using splitting components, each data wire is routed onto a memory module, past all the memory components of the slice, and back off the module and onto the main board to “chain” through another memory module or to pass into a termination component. The same three configuration alternatives described above with respect to the data bus are also applicable to a common control/address bus in a multi-module, multi-rank memory system.
FIG. 30 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a dedicated control/address bus per memory module in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component3002,memory module3003,memory module3030, address/control clock3004, address/control clock3053,termination component3052, andtermination component3056.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module3003 includesmemory components3016,3017, and3018. A second rank ofmemory module3003 includesmemory components3044,3045, and3046. A first rank ofmemory module3030 includesmemory components3031,3032, and3033. A second rank ofmemory module3030 includesmemory components3034,3035, and3036.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice3013,slice3014, andslice3015. Each slice comprises one memory component of each rank. In this embodiment, each memory module is provided with itsown address bus3007 and address/control clock conductor3010.Address bus3007 is coupled tomemory controller component3002 andmemory components3016,3017,3018,3044,3045, and3046. Atermination component3052 is coupled to addressbus3007 nearmemory controller component3002, and may, for example, be incorporated intomemory controller component3002. Atermination component3019 is coupled near an opposite terminus ofaddress bus3007, and is preferably provided withinmemory module3003. Address/control clock3004 is coupled to address/control clock conductor3009, which is coupled tomemory controller component3002 and tomemory components3016,3017,3018,3044,3045, and3046. Atermination component3022 is coupled near a terminus of address/control clock conductor3009, preferably withinmemory module3003.
Memory module3030 is provided withaddress bus3054 and address/control clock conductor3055.Address bus3054 is coupled to memory controller component is3002 and to memory components,3031,3032,3033,3034,3035, and3036. Atermination component3056 is coupled to addressbus3054 nearmemory controller component3002, and may, for example, be incorporated intomemory controller component3002. Atermination component3057 is coupled near an opposite terminus ofaddress bus3054 and is preferably provided withinmemory module3030. Address/control clock3053 is coupled to address/control clock conductor3055, which is coupled tomemory controller component3002 and tomemory components3031,3032,3033,3034,3035, and3036. Atermination component3058 is coupled near a terminus of address/control clock conductor3055, preferably withinmemory module3030.
Each control/address wire is routed onto a memory module, past all the memory components, and into a termination component. The wire routing is shown in the direction of the ranks on the module, but it could also be routed in the direction of slices.
FIG. 31 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared among the memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component3102,memory module3103,memory module3130, address/control clock3104,splitting component3159,splitting component3160,splitting component3161,splitting component3162,termination component3163, andtermination component3164.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module3103 includesmemory components3116,3117, and3118. A second rank ofmemory module3103 includesmemory components3144,3145, and3146. A first rank ofmemory module3130 includesmemory components3131,3132, and3133. A second rank ofmemory module3130 includesmemory components3134,3135, and3136.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice3113,slice3114, andslice3115. Each slice comprises one memory component of each rank. In this embodiment, anaddress bus3107 and an address/control clock conductor3109 are coupled to each memory component among multiple memory modules.Address bus3107 is coupled tomemory controller component3102, viasplitter3159 tomemory components3116,3117,3118,3144,3145, and3146, and viasplitter3161 tomemory components3131,3132,3133,3134,3135, and3136. Atermination component3152 is coupled to addressbus3107 nearmemory controller component3102, and may, for example, be incorporated intomemory controller component3102. Atermination component3163 is coupled near an opposite terminus ofaddress bus3107, nearsplitter3161. Atermination component3119 is coupled to addressbus3107, preferably withinmemory module3103. Atermination component3157 is coupled to addressbus3107, preferably withinmemory module3130.
Address/control clock3104 is coupled to address/control clock conductor3109, which is coupled tomemory controller component3102, viasplitter3160 tomemory components3116,3117,3118,3144,3145, and3146, and viasplitter3162 tomemory components3131,3132,3133,3134,3135, and3136. Atermination component3164 is coupled near a terminus of address/control clock conductor3109, nearsplitter3162. Atermination component3122 is coupled to the address/control clock conductor3109, preferably withinmemory module3103. Atermination component3158 is coupled to the address/control clock conductor3109, preferably withinmemory module3130.
In this example, each control/address wire is tapped using some form of splitting component S. This splitter could be a passive impedance matcher (three resistors in a delta- or y-configuration) or some form of active buffer or switch element. In either case, the electrical impedance of each wire is maintained down its length (within manufacturing limits) so that signal integrity is kept high. As in the previous configuration, each split-off control/address bus is routed onto a memory module, past all the memory components, and into a termination component.
FIG. 32 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared by all the memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component3202,memory module3203,memory module3230, address/control clock3204,termination component3219, andtermination component3222.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module3203 includesmemory components3216,3217, and3218. A second rank ofmemory module3203 includesmemory components3244,3245, and3246. A first rank ofmemory module3230 includesmemory components3231,3232, and3233. A second rank ofmemory module3230 includesmemory components3234,3235, and3236.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice3213,slice3214, andslice3215. Each slice comprises one memory component of each rank. In this embodiment, the memory components of the memory modules share a common daisy-chainedaddress bus3207 and a common daisy-chained address/control clock conductor3209.Address bus3207 is coupled tomemory controller component3202 andmemory components3216,3217,3218,3244,3245,3246,3231,3232,3233,3234,3235, and3236. Atermination component3252 is coupled to addressbus3207 nearmemory controller component3202, and may, for example, be incorporated intomemory controller component3202. Atermination component3219 is coupled near an opposite terminus ofaddress bus3207.
Address/control clock3204 is coupled to address/control clock conductor3209, which is coupled tomemory controller component3202 and tomemory components3216,3217,3218,3244,3245,3246,3231,3232,3233,3234,3235, and3236. Atermination component3222 is coupled near a terminus of address/control clock conductor3209.
Unlike the memory system ofFIG. 31, instead of using some kind of splitting component, each control/address wire is routed onto a memory module, past all the memory components, and back off the module and onto the main board to chain through another memory module or to pass into a termination component.
The same three configuration alternatives are possible for a sliced control/address bus in a multi-module, multi-rank memory system. This represents a departure from the systems that have been discussed up to this point—the previous systems all had a control/address bus that was common across the memory slices. It is also possible to instead provide an address/control bus per slice. Each bus is preferably routed along with the data bus for each slice, and preferably has the same topological characteristics as a data bus which only performs write operations.
FIG. 33 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a dedicated, sliced control/address bus per memory module in accordance with an embodiment of the present disclosure. The memory system comprises memory controller component3302,memory module3303,memory module3330, address/control clock3304, address/control clock3353,termination component3352, andtermination component3356.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module3303 includesmemory components3316,3317, and3318. A second rank ofmemory module3303 includesmemory components3344,3345, and3346. A first rank ofmemory module3330 includesmemory components3331,3332, and3333. A second rank ofmemory module3330 includesmemory components3334,3335, and3336.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice3313,slice3314, andslice3315. Each slice comprises one memory component of each rank. In this embodiment, each slice within each memory module is provided with itsown address bus3307 and address/control clock conductor3310.Address bus3307 is coupled to memory controller component3302 andmemory components3316 and3344. Atermination component3352 is coupled to addressbus3307 near memory controller component3302, and may, for example, be incorporated into memory controller component3302. Atermination component3319 is coupled near an opposite terminus ofaddress bus3307, and is preferably provided withinmemory module3303. Address/control clock3304 is coupled to address/control clock conductor3309, which is coupled to memory controller component3302 and tomemory components3316 and3344. Atermination component3322 is coupled near a terminus of address/control clock conductor3309, preferably withinmemory module3303.
Memory module3330 is provided withaddress bus3354 and address/control clock conductor3355.Address bus3354 is coupled to memory controller component3302 and to memory components,3331 and3334. Atermination component3356 is coupled to addressbus3354 near memory controller component3302, and may, for example, be incorporated into memory controller component3302. Atermination component3357 is coupled near an opposite terminus ofaddress bus3354 and is preferably provided withinmemory module3330. Address/control clock3353 is coupled to address/control clock conductor3355, which is coupled to memory controller component3302 and tomemory components3331 and3334. Atermination component3358 is coupled near a terminus of address/control clock conductor3355, preferably withinmemory module3330. Each control/address wire is routed onto a memory module, past all the memory components in the slice, and into a termination component.
FIG. 34 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared by all the memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component3402,memory module3403,memory module3430, address/control clock3404,splitting component3459,splitting component3460,splitting component3461,splitting component3462,termination component3463, andtermination component3464.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module3403 includesmemory components3416,3417, and3418. A second rank ofmemory module3403 includesmemory components3444,3445, and3446. A first rank ofmemory module3130 includesmemory components3431,3432, and3433. A second rank ofmemory module3430 includesmemory components3434,3435, and3436.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice3413,slice3414, andslice3415. Each slice comprises one memory component of each rank. In this embodiment, anaddress bus3407 and an address/control clock conductor3409 are coupled to each memory component-in a slice among multiple memory modules.Address bus3407 is coupled tomemory controller component3402, viasplitter3459 tomemory components3416 and3444, and viasplitter3461 tomemory components3431 and3434. Atermination component3452 is coupled to addressbus3407 nearmemory controller component3402, and may, for example, be incorporated intomemory controller component3402. Atermination component3463 is coupled near an opposite terminus ofaddress bus3407, nearsplitter3461. Atermination component3419 is coupled to addressbus3407, preferably withinmemory module3403. Atermination component3457 is coupled to addressbus3407, preferably withinmemory module3430.
Address/control clock3404 is coupled to address/control clock conductor3409, which is coupled tomemory controller component3402, viasplitter3460 tomemory components3416 and3444, and viasplitter3462 tomemory components3431 and3434. Atermination component3464 is coupled near a terminus of address/control clock conductor3409, nearsplitter3462. Atermination component3422 is coupled to the address/control clock conductor3409, preferably withinmemory module3403. Atermination component3458 is coupled to the address/control clock conductor3409, preferably withinmemory module3430.
In this example, each control/address wire is tapped using some form of splitting component S. This splitter could be a passive impedance matcher (three resistors in a delta- or y-configuration) or some form of active buffer or switch element. In either case, the electrical impedance of each wire is maintained down its length (within manufacturing limits) so that signal integrity is kept high. As in the previous configuration, each split-off control/address bus is routed onto a memory module, past all the memory components, and into a termination component.
FIG. 35 is a block diagram illustrating a memory system that comprises multiple ranks of memory components and multiple memory modules with a single control/address bus that is shared by all the memory modules in accordance with an embodiment of the present disclosure. The memory system comprisesmemory controller component3502,memory module3503,memory module3530, address/control clock3504,termination component3519, andtermination component3522.
Within each memory module, memory components are organized in ranks. A first rank ofmemory module3503 includesmemory components3516,3517, and3518. A second rank ofmemory module2903 includesmemory components3544,3545, and3546. A first rank ofmemory module3530 includesmemory components3531,3532, and3533. A second rank ofmemory module3530 includesmemory components3534,3535, and3536.
The memory system is organized into slices across the memory controller component and the memory modules. Examples of these slices includeslice3513,slice3514, andslice3515. Each slice comprises one memory component of each rank. In this embodiment, each slice across memory modules shares a common daisy-chainedaddress bus3507 and a common daisy-chained address/control clock conductor3509.Address bus3507 is coupled tomemory controller component3502 andmemory components3516,3544,3531, and3534. Atermination component3552 is coupled to addressbus3507 nearmemory controller component3502, and may, for example, be incorporated intomemory controller component3502. Atermination component3519 is coupled near an opposite terminus ofaddress bus3507.
Address/control clock3504 is coupled to address/control clock conductor3509, which is coupled tomemory controller component3502 and tomemory components3516,3544,3531, and3534. Atermination component3522 is coupled near a terminus of address/control clock conductor3509.
Unlike the memory system ofFIG. 34, instead of using some kind of splitting component, each control/address wire is routed onto a memory module, past all the memory components, and back off the module and onto the main board to chain through another memory module or to pass into a termination component.
As can be seen with reference to the Figures described above, embodiments of the present disclosure allow implementation of a memory system, a memory component, and/or a memory controller component. Within these embodiments skew may be measured according to bit time and/or according to a timing signal. In some embodiments, logic in the memory controller component accommodates skew, while in other embodiments, logic in a memory component accommodates skew. The skew may be greater than a bit time or greater than a cycle time.
One embodiment of the present disclosure provides a memory module with a first wire carrying a first signal. The first wire is connected to a first module contact pin. The first wire is connected to a first pin of a first memory component. The first wire is connected to a first termination device. The first wire maintains an approximately constant first impedance value along its full length on the memory module. The termination component approximately matches this first impedance value. Optionally, there is a second memory component to which the first wire does not connect. Optionally, the first signal carries principally information selected from control information, address information, and data information during normal operation. Optionally, the termination device is a component separate from the first memory component on the memory module. Optionally, the termination device is integrated into first memory component on the memory module. Such a memory module may be connected to a memory controller component and may be used in a memory system.
One embodiment of the present disclosure provides a memory module with a first wire carrying a first signal and a second wire carrying a second signal. The first wire connects to a first module contact pin. The second wire connects to a second module contact pin. The first wire connects to a first pin of a first memory component. The second wire connects to a second pin of the first memory component. The first wire connects to a third pin of a second memory component. The second wire does not connect to a pin of the second memory component. The first wire connects to a first termination device. The second wire connects to a second termination device. The first wire maintains an approximately constant first impedance value along its full length on the memory module. The second wire maintains an approximately constant second impedance value along its full length on the memory module. The first termination component approximately matches the first impedance value. The second termination component approximately matches the second impedance, value. Optionally, the first and/or second termination device is a component separate from the first memory component on the memory module. Optionally, the first and/or second termination device is a integrated into the first memory component on the memory module. Optionally, the first signal carries address information and the second signal carries data information. Such a memory module may be connected to a memory controller component and may be used in a memory system.
One embodiment of the present disclosure provides a method for conducting memory operations in a memory system. The memory system includes a memory controller component and a rank of memory components. The memory components include slices. The slices include a first slice and a second slice. The memory controller component is coupled to conductors, including a common address bus connecting the memory controller component to the first slice and the second slice, a first data bus connecting the memory controller component to the first slice, and a second data bus connecting the memory controller component to the second slice. The first data bus is separate from the second data bus The method includes the step of providing a signal to one of the conductors. The signal may be an address signal, a write data signal, or a read data signal. The propagation delay of the one of the conductors is longer than an amount of time that an element of information represented by the signal is applied to that conductor. Optionally, the method may include the step of providing a first data signal to the first data bus and a second data signal to the second data bus. The first data signal relates specifically to the first slice and the second data signal relates specifically to the second slice. In one example, the first data signal carries data to or from the first slice, while the second data signal carries data to or from the second slice.
One embodiment of the present disclosure provides a method for coordinating memory operations among a first memory component and a second memory component. The method includes the step of applying a first address signal relating to the first memory component to a common address bus over a first time interval. The common address bus is coupled to the first memory component and the second memory component. The method also includes the step of applying a second address signal relating to the second memory component to the common address bus over a second time interval. The first time interval is shorter than-a propagation delay of the common address bus, and the second time interval is shorter than a common address bus propagation delay of the common address bus. The method also includes the step of controlling a first memory operation of the first memory component using a first memory component timing signal. The first memory component timing signal is dependent upon a first relationship between the common address bus propagation delay and a first data bus propagation delay of a first data bus coupled to the first memory component. The method also includes the step of controlling a second memory operation of the second memory component using a second memory component timing signal. The second memory component timing signal is dependent upon a second relationship between the common address bus propagation delay and a second data bus propagation delay of a second data bus coupled to the second memory component.
One embodiment of the present disclosure (referred to as description B) provides a memory system with a memory controller component, a single rank of memory components on a single memory module, a common address bus connecting controller to all memory components of the rank in succession, separate data buses connecting controller to each memory component (slice) of the rank, an address bus carrying control and address signals from controller past each memory component in succession, data buses carrying read data signals from each memory component (slice) of the rank to the controller, data buses carrying write data signals from controller to each memory component (slice) of the rank, data buses carrying write mask signals from controller to each memory component (slice) of the rank, the read data and write data signals of each slice sharing the same data bus wires (bidirectional), the buses designed so that successive pieces of information transmitted on a wire do not interfere, a periodic clock signal accompanying the control and address signals and used by the controller to transmit information and by the memory components to receive information, a periodic clock signal accompanying each slice of write data signals and optional write mask signals and which is used by the controller to transmit information and by a memory component to receive information, and a periodic clock signal accompanying each slice of read data signals and which is used by a memory component to transmit information and by the controller to receive information.
One embodiment of the present disclosure (referred to as description A) provides a memory system with features taken from the above description (description B) and also a timing signal associated with control and-address signals which duplicates the propagation delay of these signals and which is used by the controller to transmit information and by the memory components to receive information, a timing signal associated with each slice of write data signals and optional write mask signals which duplicates the propagation delay of these signals and which is used by the controller to transmit information and by a memory component to receive information, a timing signal associated with each slice of read data signals which duplicates the propagation delay of these signals and which is used by a memory component to transmit information and by the controller to receive information, wherein a propagation delay of a wire carrying control and address signals from the controller to the last memory component is longer than the length of time that a piece of information is transmitted on the wire by the controller.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein a propagation delay of a wire carrying write data signals and optional write mask signals from the controller to a memory component is longer than the length of time that a piece of information is transmitted on the wire by the controller.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein a propagation delay of a wire carrying read data signals from a memory component to the controller is longer than the length of time that a piece of information is transmitted on the wire by the memory component.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein the alignments of the timing signals of the write data transmitter slices of the controller are adjusted to be approximately the same regardless of the number of slices in the rank, wherein the alignments of timing signals of the read data receiver slices of the controller are adjusted to be approximately the same regardless of the number of slices in the rank, and the alignments of timing signals of the read data receiver slices of the controller are adjusted to be approximately the same as the timing signals of the write data transmitter slices.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein the alignments of the timing signals of the write data transmitter slices of the controller are adjusted to be mostly different from one another.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein the alignments of timing signals of the read data receiver slices of the controller are adjusted to be mostly different from one another.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein the alignments of the timing signals of the read data transmitter of each memory component is adjusted to be the approximately the same as the timing signals of the write data receiver in the same memory component and wherein the alignments of the timing signals will be different for each memory component slice in the rank.
One embodiment of the present disclosure provides a memory system with features taken from the above description (description A) wherein the alignments of the timing signals of the write data transmitter of each memory component is adjusted to be different from the timing signals of the read data receiver in the same memory component.
Numerous variations to the embodiments described herein are possible without deviating from the scope of the claims set forth herein. Examples of these variations are described below. These examples may be applied to control and address signals, read data signals, write data signals, and optional write mask signals. For example, a timing signal associated with the such signals may be generated by an external clock component or by a controller component. That timing signal may travel on wires that have essentially the same topology as the wires carrying such signals. That timing signal may be generated from the information contained on the wires carrying such signals or from a timing signal associated with any of such signals. That timing signal may be asserted an integral number of times during the interval that each piece of information is present on a wire carrying such signals. As another variation, an integral number of pieces of information may be asserted on a wire carrying such signals each time the timing signal associated with such signals is asserted. As yet another variation, an integral number of pieces of information may be asserted on a wire carrying such signals each time the timing signal associated with such signals is asserted an integral number of times. The point when a timing signal associated with such signals is asserted may have an offset relative to the time interval that each piece of information is present on a wire carrying such signals.
As examples of other variations, the termination components for some of the signals may be on any of a main printed wiring board, a memory module board, a memory component, or a controller component. Also, two or more ranks of memory components may be present on the memory module and with some control and address signals connecting to all memory components and with some control and address signals connecting to some of the memory components. It is also possible for two or more modules of memory components to be present in the memory system, with some control and address signals connecting to all memory components and with some control and address signals connecting to some of the memory components.
Accordingly, a method and apparatus for coordinating memory operations among diversely-located memory components has been described. It should be understood that the implementation of other variations and modifications of the present disclosure in its various aspects will be apparent to those of ordinary skill in the art, and that the present disclosure is not limited by the specific embodiments described. It is therefore contemplated to cover by the present disclosure, any and all modifications, variations, or equivalents that fall within the spirit and scope of the basic underlying principles disclosed and claimed herein.

Claims (22)

The invention claimed is:
1. A memory device comprising:
clock generation circuitry to receive a first clock signal having a first frequency and to generate a second clock signal having a second frequency that is a multiple of, and higher than, the first frequency; and
a data receive circuit to receive data from an external signal path at the second frequency of the second clock signal.
2. The memory device ofclaim 1 wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the second clock signal, and wherein the second frequency is an eight-times multiple of the first frequency.
3. The memory device ofclaim 2 wherein the data receive circuit comprises a serial-input register that is loaded with data at the second frequency and a parallel-input register coupled to receive data from the serial-input register, and wherein the clock generation circuitry further comprises a second phase locked loop circuit to generate a third clock signal having the first frequency, the third clock signal being provided to the parallel-input register to transfer data from the serial-input register to the parallel-input register at the first frequency.
4. The memory device ofclaim 1 wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the second clock signal, and wherein the second frequency is a four-times multiple of the first frequency.
5. The memory device ofclaim 1 further comprising a data transmit circuit to transmit data at the second frequency of the second clock signal.
6. The memory device ofclaim 5 wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the second clock signal, and wherein the second frequency is a eight-times multiple of the first frequency.
7. The memory device ofclaim 6 wherein the data transmit circuit comprises a serial-output register to output data at the second frequency, and a parallel-output register to provide data to the serial-output register, and wherein the clock generation circuitry further comprises a second phase locked loop circuit to generate a third clock signal having the first frequency, the third clock signal being provided to the parallel-output register to load data into the parallel-output register at the first frequency.
8. The memory device ofclaim 1 further comprising a circuit to receive control information at the frequency of a third clock signal, and wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the third clock signal at a third frequency that is a two-times multiple of the first frequency.
9. The memory device ofclaim 8 wherein the control information includes address information.
10. The memory device ofclaim 8 wherein the circuit to receive control information comprises a serial-input register that is loaded with data at the third frequency and a parallel-input register coupled to receive data from the serial-input register, and wherein the clock generation circuitry further comprises a second phase locked loop circuit to generate a fourth clock signal having the first frequency, the fourth clock signal being provided to parallel-input register to transfer data from the serial-input register to the parallel-input register at the first frequency.
11. The memory device ofclaim 1, further comprising a memory core circuit to receive/transmit memory signals at the first frequency.
12. The memory device ofclaim 11, wherein the clock generation circuitry comprises a phase locked loop circuit to generate a third clock signal having the first frequency and wherein the memory core circuit is to receive/transmit memory signals in response to the third clock signal.
13. A memory device comprising:
clock generation circuitry to receive a first clock signal having a first frequency and to generate a second clock signal having a second frequency that is a multiple of, and higher than, the first frequency; and
a data transmit circuit to transmit data on an external signal path at the second frequency of the second clock signal.
14. The memory device ofclaim 13, wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the second clock signal, and wherein the second frequency is an eight-times multiple of the first frequency.
15. The memory device ofclaim 14, wherein the wherein the data transmit circuit comprises a serial-output register to output data at the second frequency, and a parallel-output register to provide data to the serial-output register, and wherein the clock generation circuitry further comprises a second phase locked loop circuit to generate a third clock signal having the first frequency, the third clock signal being provided to the parallel-output register to load data into the parallel-output register at the first frequency.
16. The memory device ofclaim 13, wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the second clock signal, and wherein the second frequency is a four-times multiple of the first frequency.
17. The memory device ofclaim 13 further comprising an control circuit to receive control information at the frequency of a third clock signal, wherein the clock generation circuitry comprises a first phase locked loop circuit to generate the third clock signal at a third frequency that is a two-times multiple of the first frequency.
18. The memory device ofclaim 17 wherein the control information includes address information.
19. The memory device ofclaim 17 wherein the circuit to receive control information comprises a serial-input register that is loaded with data at the third frequency and a parallel-input register coupled to receive data from the serial-input register, and wherein the clock generation circuitry further comprises a second phase locked loop circuit to generate a fourth clock signal having the first frequency, the fourth clock signal being provided to the parallel-input register to transfer data from the serial-input register to the parallel-input register at the first frequency.
20. The memory device ofclaim 13 further comprising a memory core circuit to receive/transmit memory signals at the first frequency.
21. The memory device ofclaim 20 wherein the clock generation circuitry comprises a phase locked loop circuit to generate a third clock signal having the first frequency and wherein the memory core circuit is to receive/transmit memory signals in response to the third clock signal.
22. A memory device comprising:
clock generation circuitry to receive a first clock signal having a first frequency and to generate a second clock signal having a frequency that is an eight-times multiple of the first frequency and a third clock signal having a frequency that is a two-times multiple of the first frequency;
a data receive circuit to receive data at the frequency of the second clock signal;
a data transmit circuit to transmit data at the frequency of the second clock signal; and
a circuit to receive control information at the frequency of the third clock signal.
US11/094,1372001-04-242005-03-31Memory device with clock multiplier circuitExpired - LifetimeUS7209397B2 (en)

Priority Applications (20)

Application NumberPriority DateFiling DateTitle
US11/094,137US7209397B2 (en)2001-04-242005-03-31Memory device with clock multiplier circuit
US11/219,381US7200055B2 (en)2001-04-242005-09-01Memory module with termination component
US11/219,096US7225292B2 (en)2001-04-242005-09-01Memory module with termination component
US11/281,184US7210016B2 (en)2001-04-242005-11-15Method, system and memory controller utilizing adjustable write data delay settings
US11/280,560US8391039B2 (en)2001-04-242005-11-15Memory module with termination component
US11/335,029US7177998B2 (en)2001-04-242006-01-18Method, system and memory controller utilizing adjustable read data delay settings
US11/767,983US8320202B2 (en)2001-04-242007-06-25Clocked memory system with termination component
US12/111,816US8462566B2 (en)2001-04-242008-04-29Memory module with termination component
US13/461,923US8395951B2 (en)2001-04-242012-05-02Memory controller
US13/543,779US8537601B2 (en)2001-04-242012-07-06Memory controller with selective data transmission delay
US13/899,844US8717837B2 (en)2001-04-242013-05-22Memory module
US13/923,656US8760944B2 (en)2001-04-242013-06-21Memory component that samples command/address signals in response to both edges of a clock signal
US13/923,634US8625371B2 (en)2001-04-242013-06-21Memory component with terminated and unterminated signaling inputs
US14/104,188US9053778B2 (en)2001-04-242013-12-12Memory controller that enforces strobe-to-strobe timing offset
US14/523,922US9311976B2 (en)2001-04-242014-10-26Memory module
US15/070,376US9472262B2 (en)2001-04-242016-03-15Memory controller
US15/271,148US9741424B2 (en)2001-04-242016-09-20Memory controller
US15/666,496US10236051B2 (en)2001-04-242017-08-01Memory controller
US16/284,375US10706910B2 (en)2001-04-242019-02-25Memory controller
US16/896,056US20210027825A1 (en)2001-04-242020-06-08Memory controller

Applications Claiming Priority (3)

Application NumberPriority DateFiling DateTitle
US09/841,911US6675272B2 (en)2001-04-242001-04-24Method and apparatus for coordinating memory operations among diversely-located memory components
US10/732,533US7225311B2 (en)2001-04-242003-12-11Method and apparatus for coordinating memory operations among diversely-located memory components
US11/094,137US7209397B2 (en)2001-04-242005-03-31Memory device with clock multiplier circuit

Related Parent Applications (1)

Application NumberTitlePriority DateFiling Date
US10/732,533ContinuationUS7225311B2 (en)2001-04-242003-12-11Method and apparatus for coordinating memory operations among diversely-located memory components

Related Child Applications (3)

Application NumberTitlePriority DateFiling Date
US11/219,381ContinuationUS7200055B2 (en)2001-04-242005-09-01Memory module with termination component
US11/219,096ContinuationUS7225292B2 (en)2001-04-242005-09-01Memory module with termination component
US11/280,560ContinuationUS8391039B2 (en)2001-04-242005-11-15Memory module with termination component

Publications (2)

Publication NumberPublication Date
US20050169097A1 US20050169097A1 (en)2005-08-04
US7209397B2true US7209397B2 (en)2007-04-24

Family

ID=25286018

Family Applications (23)

Application NumberTitlePriority DateFiling Date
US09/841,911Expired - LifetimeUS6675272B2 (en)2001-04-242001-04-24Method and apparatus for coordinating memory operations among diversely-located memory components
US10/053,340Expired - LifetimeUS7484064B2 (en)2001-04-242001-10-22Method and apparatus for signaling between devices of a memory system
US10/732,533Expired - LifetimeUS7225311B2 (en)2001-04-242003-12-11Method and apparatus for coordinating memory operations among diversely-located memory components
US11/094,137Expired - LifetimeUS7209397B2 (en)2001-04-242005-03-31Memory device with clock multiplier circuit
US11/219,096Expired - LifetimeUS7225292B2 (en)2001-04-242005-09-01Memory module with termination component
US11/219,381Expired - LifetimeUS7200055B2 (en)2001-04-242005-09-01Memory module with termination component
US11/281,184Expired - LifetimeUS7210016B2 (en)2001-04-242005-11-15Method, system and memory controller utilizing adjustable write data delay settings
US11/335,029Expired - LifetimeUS7177998B2 (en)2001-04-242006-01-18Method, system and memory controller utilizing adjustable read data delay settings
US11/754,995Expired - Fee RelatedUS8214616B2 (en)2001-04-242007-05-29Memory controller device having timing offset capability
US12/111,816Expired - Fee RelatedUS8462566B2 (en)2001-04-242008-04-29Memory module with termination component
US12/360,780Expired - Fee RelatedUS8359445B2 (en)2001-04-242009-01-27Method and apparatus for signaling between devices of a memory system
US13/461,923Expired - Fee RelatedUS8395951B2 (en)2001-04-242012-05-02Memory controller
US13/543,779Expired - Fee RelatedUS8537601B2 (en)2001-04-242012-07-06Memory controller with selective data transmission delay
US13/899,844Expired - Fee RelatedUS8717837B2 (en)2001-04-242013-05-22Memory module
US13/923,634Expired - Fee RelatedUS8625371B2 (en)2001-04-242013-06-21Memory component with terminated and unterminated signaling inputs
US13/923,656Expired - Fee RelatedUS8760944B2 (en)2001-04-242013-06-21Memory component that samples command/address signals in response to both edges of a clock signal
US14/104,188Expired - Fee RelatedUS9053778B2 (en)2001-04-242013-12-12Memory controller that enforces strobe-to-strobe timing offset
US14/523,922Expired - Fee RelatedUS9311976B2 (en)2001-04-242014-10-26Memory module
US15/070,376Expired - Fee RelatedUS9472262B2 (en)2001-04-242016-03-15Memory controller
US15/271,148Expired - Fee RelatedUS9741424B2 (en)2001-04-242016-09-20Memory controller
US15/666,496Expired - Fee RelatedUS10236051B2 (en)2001-04-242017-08-01Memory controller
US16/284,375Expired - Fee RelatedUS10706910B2 (en)2001-04-242019-02-25Memory controller
US16/896,056AbandonedUS20210027825A1 (en)2001-04-242020-06-08Memory controller

Family Applications Before (3)

Application NumberTitlePriority DateFiling Date
US09/841,911Expired - LifetimeUS6675272B2 (en)2001-04-242001-04-24Method and apparatus for coordinating memory operations among diversely-located memory components
US10/053,340Expired - LifetimeUS7484064B2 (en)2001-04-242001-10-22Method and apparatus for signaling between devices of a memory system
US10/732,533Expired - LifetimeUS7225311B2 (en)2001-04-242003-12-11Method and apparatus for coordinating memory operations among diversely-located memory components

Family Applications After (19)

Application NumberTitlePriority DateFiling Date
US11/219,096Expired - LifetimeUS7225292B2 (en)2001-04-242005-09-01Memory module with termination component
US11/219,381Expired - LifetimeUS7200055B2 (en)2001-04-242005-09-01Memory module with termination component
US11/281,184Expired - LifetimeUS7210016B2 (en)2001-04-242005-11-15Method, system and memory controller utilizing adjustable write data delay settings
US11/335,029Expired - LifetimeUS7177998B2 (en)2001-04-242006-01-18Method, system and memory controller utilizing adjustable read data delay settings
US11/754,995Expired - Fee RelatedUS8214616B2 (en)2001-04-242007-05-29Memory controller device having timing offset capability
US12/111,816Expired - Fee RelatedUS8462566B2 (en)2001-04-242008-04-29Memory module with termination component
US12/360,780Expired - Fee RelatedUS8359445B2 (en)2001-04-242009-01-27Method and apparatus for signaling between devices of a memory system
US13/461,923Expired - Fee RelatedUS8395951B2 (en)2001-04-242012-05-02Memory controller
US13/543,779Expired - Fee RelatedUS8537601B2 (en)2001-04-242012-07-06Memory controller with selective data transmission delay
US13/899,844Expired - Fee RelatedUS8717837B2 (en)2001-04-242013-05-22Memory module
US13/923,634Expired - Fee RelatedUS8625371B2 (en)2001-04-242013-06-21Memory component with terminated and unterminated signaling inputs
US13/923,656Expired - Fee RelatedUS8760944B2 (en)2001-04-242013-06-21Memory component that samples command/address signals in response to both edges of a clock signal
US14/104,188Expired - Fee RelatedUS9053778B2 (en)2001-04-242013-12-12Memory controller that enforces strobe-to-strobe timing offset
US14/523,922Expired - Fee RelatedUS9311976B2 (en)2001-04-242014-10-26Memory module
US15/070,376Expired - Fee RelatedUS9472262B2 (en)2001-04-242016-03-15Memory controller
US15/271,148Expired - Fee RelatedUS9741424B2 (en)2001-04-242016-09-20Memory controller
US15/666,496Expired - Fee RelatedUS10236051B2 (en)2001-04-242017-08-01Memory controller
US16/284,375Expired - Fee RelatedUS10706910B2 (en)2001-04-242019-02-25Memory controller
US16/896,056AbandonedUS20210027825A1 (en)2001-04-242020-06-08Memory controller

Country Status (4)

CountryLink
US (23)US6675272B2 (en)
EP (8)EP2278474B8 (en)
JP (6)JP4255242B2 (en)
DE (4)DE60239030D1 (en)

Cited By (16)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20060077731A1 (en)*2001-04-242006-04-13Ware Frederick AMemory module with termination component
US20060209619A1 (en)*2005-03-172006-09-21Samsung Electronics Co. Ltd.Data input circuit of synchronous semiconductor memory device using data sampling method for changing DQS domain to clock domain
US20080052481A1 (en)*2006-08-222008-02-28Jong-Hoon OhMethod and circuit for transmitting a memory clock signal
US7388795B1 (en)*2006-12-282008-06-17Intel CorporationModular memory controller clocking architecture
US20090063887A1 (en)*2001-04-242009-03-05Ware Frederick AMemory module with termination component
US20100064099A1 (en)*2008-09-082010-03-11Satyanarayana NishtalaInput-output module, processing platform and method for extending a memory interface for input-output operations
US20100244913A1 (en)*2009-03-302010-09-30Tellabs Operations, Inc.Method and appartus for exchanging data between devices operating at different clock rates
US7864624B2 (en)*2007-12-262011-01-04Hynix Semiconductor Inc.Semiconductor memory device and method for operating the same
US20130155792A1 (en)*2011-12-142013-06-20Elpida Memory, Inc.Semiconductor device having data terminal supplied with plural write data in serial
US20150084672A1 (en)*2006-06-022015-03-26Rambus Inc.Command-triggered on-die termination
US9229470B2 (en)2004-09-152016-01-05Rambus Inc.Memory controller with clock-to-strobe skew compensation
US9342095B2 (en)2011-03-022016-05-17Rambus Inc.Timing calibration for multimode I/O systems
US20190042500A1 (en)*2018-06-252019-02-07Intel CorporationDimm for a high bandwidth memory channel
US20190042499A1 (en)*2018-06-252019-02-07Intel CorporationHigh bandwidth dimm
US11302380B2 (en)*2020-04-292022-04-12Realtek Semiconductor CorporationMemory controller device and phase calibration method
US11699471B2 (en)2019-09-252023-07-11Intel CorporationSynchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth

Families Citing this family (185)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6401167B1 (en)1997-10-102002-06-04Rambus IncorporatedHigh performance cost optimized memory
US7024257B2 (en)2001-02-092006-04-04Motion Engineering, Inc.System for motion control, method of using the system for motion control, and computer-readable instructions for use with the system for motion control
EP1253521B1 (en)*2001-04-242011-01-26Rambus Inc.Method and apparatus for signaling between devices of a memory system
US7076595B1 (en)*2001-05-182006-07-11Xilinx, Inc.Programmable logic device including programmable interface core and central processing unit
DE10141376A1 (en)*2001-08-232003-03-13Boehringer Ingelheim Pharma Process for the preparation of inhalable powders
US7668276B2 (en)*2001-10-222010-02-23Rambus Inc.Phase adjustment apparatus and method for a memory device signaling system
US6950910B2 (en)*2001-11-082005-09-27Freescale Semiconductor, Inc.Mobile wireless communication device architectures and methods therefor
TW550563B (en)*2002-02-012003-09-01Silicon Integrated Sys CorpMemory data receiver and method
US6934922B1 (en)2002-02-272005-08-23Xilinx, Inc.Timing performance analysis
US7231306B1 (en)*2002-04-302007-06-12Rambus Inc.Method and apparatus for calibrating static timing offsets across multiple outputs
US7292629B2 (en)2002-07-122007-11-06Rambus Inc.Selectable-tap equalizer
US8861667B1 (en)2002-07-122014-10-14Rambus Inc.Clock data recovery circuit with equalizer clock calibration
US6807125B2 (en)*2002-08-222004-10-19International Business Machines CorporationCircuit and method for reading data transfers that are sent with a source synchronous clock signal
US7203262B2 (en)*2003-05-132007-04-10M/A-Com, Inc.Methods and apparatus for signal modification in a fractional-N phase locked loop system
US7234099B2 (en)*2003-04-142007-06-19International Business Machines CorporationHigh reliability memory module with a fault tolerant address and command bus
KR100522433B1 (en)*2003-04-292005-10-20주식회사 하이닉스반도체Domain crossing circuit
DE112004000821B4 (en)*2003-05-132016-12-01Advanced Micro Devices, Inc. System with a host connected to multiple storage modules via a serial storage connection
US6999887B2 (en)*2003-08-062006-02-14Infineon Technologies AgMemory cell signal window testing apparatus
JP2005078592A (en)*2003-09-032005-03-24Brother Ind Ltd Memory control apparatus and image forming apparatus
US6924660B2 (en)*2003-09-082005-08-02Rambus Inc.Calibration methods and circuits for optimized on-die termination
US7330993B2 (en)*2003-09-292008-02-12Intel CorporationSlew rate control mechanism
US6980020B2 (en)*2003-12-192005-12-27Rambus Inc.Calibration methods and circuits for optimized on-die termination
KR100558557B1 (en)*2004-01-202006-03-10삼성전자주식회사 Data Sampling Method and Semiconductor Data Sampling Circuit in Semiconductor Memory Device
US7222224B2 (en)*2004-05-212007-05-22Rambus Inc.System and method for improving performance in computer memory systems supporting multiple memory access latencies
US8270501B2 (en)*2004-08-182012-09-18Rambus Inc.Clocking architectures in high-speed signaling systems
US7171321B2 (en)2004-08-202007-01-30Rambus Inc.Individual data line strobe-offset control in memory systems
US7188208B2 (en)*2004-09-072007-03-06Intel CorporationSide-by-side inverted memory address and command buses
US7196567B2 (en)*2004-12-202007-03-27Rambus Inc.Systems and methods for controlling termination resistance values for a plurality of communication channels
US7543172B2 (en)2004-12-212009-06-02Rambus Inc.Strobe masking in a signaling system having multiple clock domains
US7688672B2 (en)*2005-03-142010-03-30Rambus Inc.Self-timed interface for strobe-based systems
US7558317B2 (en)*2005-04-292009-07-07Hewlett-Packard Development Company, L.P.Edge calibration for synchronous data transfer between clock domains
US7477712B2 (en)*2005-04-292009-01-13Hewlett-Packard Development Company, L.P.Adaptable data path for synchronous data transfer between clock domains
US7401245B2 (en)*2005-04-292008-07-15Hewlett-Packard Development Company, L.P.Count calibration for synchronous data transfer between clock domains
US7332950B2 (en)*2005-06-142008-02-19Micron Technology, Inc.DLL measure initialization circuit for high frequency operation
US7593430B2 (en)*2005-07-282009-09-22Alcatel-Lucent Usa Inc.Method and apparatus for generating virtual clock signals
US7519778B2 (en)*2005-08-102009-04-14Faraday Technology Corp.System and method for cache coherence
US7366966B2 (en)*2005-10-112008-04-29Micron Technology, Inc.System and method for varying test signal durations and assert times for testing memory devices
US7174474B1 (en)*2005-10-122007-02-06Avago Technologies Ecbu Ip (Singapore) Pte. Ltd.Distributed autonomous control system for multi-axis motion control
US7321524B2 (en)2005-10-172008-01-22Rambus Inc.Memory controller with staggered request signal output
DE102005051792A1 (en)*2005-10-282007-05-03Infineon Technologies AgData transmission method for use in memory device e.g. read only memory, involves transmitting data between memory control and interface units, and producing clock signals assigned to data signals in interface units by phase servo loop
US7269093B2 (en)*2005-10-312007-09-11Infineon Technologies AgGenerating a sampling clock signal in a communication block of a memory device
US7610417B2 (en)2005-11-302009-10-27Rambus Inc.Data-width translator coupled between variable-width and fixed-width data ports and supporting multiple data-width configurations
US7863946B2 (en)*2005-12-012011-01-04Ricoh Company, Ltd.Electric signal outputting apparatus with a switching part, an impedance matching part, and an auxiliary switching part
US20070132485A1 (en)*2005-12-092007-06-14Elad AlonFour-wire signaling system
US7650526B2 (en)*2005-12-092010-01-19Rambus Inc.Transmitter with skew reduction
US7439760B2 (en)*2005-12-192008-10-21Rambus Inc.Configurable on-die termination
US20070189049A1 (en)*2006-02-162007-08-16Srdjan DjordjevicSemiconductor memory module
US8121237B2 (en)2006-03-162012-02-21Rambus Inc.Signaling system with adaptive timing calibration
US7587571B2 (en)*2006-11-292009-09-08Qimonda AgEvaluation unit in an integrated circuit
WO2008079911A1 (en)*2006-12-212008-07-03Rambus Inc.Dynamic on-die termination of address and command signals
US7836324B2 (en)*2007-02-092010-11-16Apple Inc.Oversampling-based scheme for synchronous interface communication
US8874831B2 (en)2007-06-012014-10-28Netlist, Inc.Flash-DRAM hybrid memory module
KR100902104B1 (en)*2007-06-082009-06-09주식회사 하이닉스반도체 Semiconductor memory device
US8068357B2 (en)*2007-09-052011-11-29Rambus Inc.Memory controller with multi-modal reference pad
JP4382842B2 (en)2007-09-182009-12-16富士通株式会社 MEMORY CONTROL CIRCUIT, DELAY TIME CONTROL DEVICE, DELAY TIME CONTROL METHOD, AND DELAY TIME CONTROL PROGRAM
KR20090045773A (en)*2007-11-022009-05-08주식회사 하이닉스반도체 Delayed fixed circuit of semiconductor device operating at high speed
EP2232493B1 (en)2007-12-212018-05-09Rambus Inc.Method and apparatus for calibrating write timing in a memory system
US7804735B2 (en)*2008-02-292010-09-28Qualcomm IncorporatedDual channel memory architecture having a reduced interface pin requirements using a double data rate scheme for the address/control signals
US8516185B2 (en)2009-07-162013-08-20Netlist, Inc.System and method utilizing distributed byte-wise buffers on a memory module
KR101477849B1 (en)*2008-08-082014-12-30휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피.Independently controllable and reconfigurable virtual memory devices in memory modules that are pin-compatible with standard memory modules
US8095747B2 (en)*2008-09-262012-01-10Cypress Semiconductor CorporationMemory system and method
US8856434B2 (en)*2008-09-262014-10-07Cypress Semiconductor CorporationMemory system and method
US7957216B2 (en)*2008-09-302011-06-07Intel CorporationCommon memory device for variable device width and scalable pre-fetch and page size
US8806258B2 (en)*2008-09-302014-08-12Intel CorporationPlatform communication protocol
KR100991383B1 (en)*2008-12-262010-11-02주식회사 하이닉스반도체 Output driver of semiconductor device
EP2384474B1 (en)*2008-12-312015-08-12Rambus Inc.Active calibration for high-speed memory devices
EP2387754A4 (en)*2009-01-132013-05-01Rambus IncProtocol including timing calibration between memory request and data transfer
US9128632B2 (en)*2009-07-162015-09-08Netlist, Inc.Memory module with distributed data buffers and method of operation
JP2011079308A (en)2009-09-142011-04-21Ricoh Co LtdThermal recording material and manufacturing method for the same
IN2012DN06399A (en)2010-02-072015-10-02Zeno Semiconductor Inc
US9384152B2 (en)2010-02-232016-07-05Rambus Inc.Coordinating memory operations using memory-device generated reference signals
US8307235B2 (en)2010-05-052012-11-06National Instruments CorporationCross controller clock synchronization
US9246713B2 (en)2010-05-202016-01-26Kandou Labs, S.A.Vector signaling with reduced receiver complexity
US9077386B1 (en)2010-05-202015-07-07Kandou Labs, S.A.Methods and systems for selection of unions of vector signaling codes for power and pin efficient chip-to-chip communication
US9251873B1 (en)2010-05-202016-02-02Kandou Labs, S.A.Methods and systems for pin-efficient memory controller interface using vector signaling codes for chip-to-chip communications
US9288082B1 (en)2010-05-202016-03-15Kandou Labs, S.A.Circuits for efficient detection of vector signaling codes for chip-to-chip communication using sums of differences
US9985634B2 (en)2010-05-202018-05-29Kandou Labs, S.A.Data-driven voltage regulator
US8495327B2 (en)2010-06-042013-07-23Nvidia CorporationMemory device synchronization
CN102859598A (en)2010-06-172013-01-02拉姆伯斯公司Balanced on-die termination
US8464135B2 (en)2010-07-132013-06-11Sandisk Technologies Inc.Adaptive flash interface
US9069688B2 (en)*2011-04-152015-06-30Sandisk Technologies Inc.Dynamic optimization of back-end memory system interface
US8583957B2 (en)2010-07-272013-11-12National Instruments CorporationClock distribution in a distributed system with multiple clock domains over a switched fabric
WO2012021380A2 (en)*2010-08-132012-02-16Rambus Inc.Fast-wake memory
JP2012059184A (en)*2010-09-132012-03-22Nec Computertechno LtdMemory controller, memory system with the same and control method of memory device
KR20120044668A (en)2010-10-282012-05-08에스케이하이닉스 주식회사Semiconductor memory device and semiconductor system including the same
JP5541373B2 (en)*2011-01-132014-07-09富士通株式会社 Memory controller and information processing apparatus
US8743634B2 (en)*2011-01-282014-06-03Lsi CorporationGeneric low power strobe based system and method for interfacing memory controller and source synchronous memory
US9235537B2 (en)2011-10-262016-01-12Rambus Inc.Drift detection in timing signal forwarded from memory controller to memory device
JP2013118033A (en)*2011-12-052013-06-13Elpida Memory IncSemiconductor device
US9082464B2 (en)*2012-02-142015-07-14Samsung Electronics Co., Ltd.Memory module for high-speed operations
WO2013141921A1 (en)*2012-03-192013-09-26Rambus Inc.High capacity memory systems
US8836394B2 (en)*2012-03-262014-09-16Rambus Inc.Method and apparatus for source-synchronous signaling
US9201748B2 (en)*2012-03-302015-12-01Intel CorporationVirtual device sparing
JP5677376B2 (en)*2012-07-062015-02-25株式会社東芝 Memory control device, semiconductor device, and system board
US20160028412A1 (en)*2012-12-312016-01-28Xinfeng Quantel Technologies (Beijing)Co.,LtdPipelined analog-to-digital converter
US8692600B1 (en)2013-01-092014-04-08International Business Machines CorporationMulti-protocol driver slew rate calibration system for calibration slew rate control signal values
WO2014124450A1 (en)2013-02-112014-08-14Kandou Labs, S.A.Methods and systems for high bandwidth chip-to-chip communications interface
JP6091239B2 (en)*2013-02-132017-03-08キヤノン株式会社 Printed circuit boards, printed wiring boards and electronic devices
CN110166217B (en)2013-04-162022-05-17康杜实验室公司High bandwidth communication interface method and system
EP2997704B1 (en)2013-06-252020-12-16Kandou Labs S.A.Vector signaling with reduced receiver complexity
US9285828B2 (en)2013-07-112016-03-15Apple Inc.Memory system with improved bus timing calibration
US9554131B1 (en)*2013-07-232017-01-24Harmonic, Inc.Multi-slice/tile encoder with overlapping spatial sections
US10324841B2 (en)2013-07-272019-06-18Netlist, Inc.Memory module with local synchronization
US9377966B2 (en)2013-10-092016-06-28Samsung Electronics Co., Ltd.Method and apparatus for efficiently processing storage commands
US9806761B1 (en)2014-01-312017-10-31Kandou Labs, S.A.Methods and systems for reduction of nearest-neighbor crosstalk
US9100232B1 (en)2014-02-022015-08-04Kandou Labs, S.A.Method for code evaluation using ISI ratio
US10521387B2 (en)*2014-02-072019-12-31Toshiba Memory CorporationNAND switch
KR102240544B1 (en)2014-02-282021-04-19칸도우 랩스 에스에이Clock-embedded vector signaling codes
CN103927131B (en)*2014-03-252017-02-15四川和芯微电子股份有限公司Synchronous flash memory and USB (universal serial bus) flash disk starting method and control system thereof
US9798628B2 (en)2014-04-252017-10-24Rambus Inc.Memory mirroring
US9509437B2 (en)2014-05-132016-11-29Kandou Labs, S.A.Vector signaling code with improved noise margin
US10339079B2 (en)*2014-06-022019-07-02Western Digital Technologies, Inc.System and method of interleaving data retrieved from first and second buffers
US9852806B2 (en)2014-06-202017-12-26Kandou Labs, S.A.System for generating a test pattern to detect and isolate stuck faults for an interface using transition coding
US9112550B1 (en)2014-06-252015-08-18Kandou Labs, SAMultilevel driver for high speed chip-to-chip communications
EP3138253A4 (en)2014-07-102018-01-10Kandou Labs S.A.Vector signaling codes with increased signal to noise characteristics
US9432082B2 (en)2014-07-172016-08-30Kandou Labs, S.A.Bus reversable orthogonal differential vector signaling codes
KR101943048B1 (en)2014-07-212019-01-28칸도우 랩스 에스에이Multidrop data transfer
WO2016019384A1 (en)2014-08-012016-02-04Kandou Labs, S.A.Orthogonal differential vector signaling codes with embedded clock
US9921993B2 (en)2014-08-112018-03-20Qualcomm IncorporatedMemory circuit configuration schemes on multi-drop buses
US9674014B2 (en)2014-10-222017-06-06Kandou Labs, S.A.Method and apparatus for high speed chip-to-chip communications
US9734127B2 (en)*2015-02-052017-08-15Weng TianxiangSystematic method of synthesizing wave-pipelined circuits in HDL
KR101978470B1 (en)2015-06-262019-05-14칸도우 랩스 에스에이 High-speed communication system
US10055372B2 (en)2015-11-252018-08-21Kandou Labs, S.A.Orthogonal differential vector signaling codes with embedded clock
WO2017100078A1 (en)2015-12-082017-06-15Rambus Inc.Low power signaling interface
US10438637B2 (en)*2016-01-252019-10-08Aisin A W Co., Ltd.Memory controller
US10003315B2 (en)2016-01-252018-06-19Kandou Labs S.A.Voltage sampler driver with enhanced high-frequency gain
US9841922B2 (en)*2016-02-032017-12-12SK Hynix Inc.Memory system includes a memory controller
EP3446403B1 (en)2016-04-222021-01-06Kandou Labs S.A.High performance phase locked loop
US10003454B2 (en)2016-04-222018-06-19Kandou Labs, S.A.Sampler with low input kickback
US10056903B2 (en)2016-04-282018-08-21Kandou Labs, S.A.Low power multilevel driver
US10153591B2 (en)2016-04-282018-12-11Kandou Labs, S.A.Skew-resistant multi-wire channel
EP3449379B1 (en)2016-04-282021-10-06Kandou Labs S.A.Vector signaling codes for densely-routed wire groups
US10152262B2 (en)2016-05-032018-12-11Micron Technology, Inc.Memory access techniques in memory devices with multiple partitions
US10141926B2 (en)2016-07-192018-11-27Ciena CorporationUltra-low power cross-point electronic switch apparatus and method
US10872055B2 (en)2016-08-022020-12-22Qualcomm IncorporatedTriple-data-rate technique for a synchronous link
US9997220B2 (en)*2016-08-222018-06-12Micron Technology, Inc.Apparatuses and methods for adjusting delay of command signal path
US9906358B1 (en)2016-08-312018-02-27Kandou Labs, S.A.Lock detector for phase lock loop
US10411922B2 (en)2016-09-162019-09-10Kandou Labs, S.A.Data-driven phase detector element for phase locked loops
US10789185B2 (en)2016-09-212020-09-29Rambus Inc.Memory modules and systems with variable-width data ranks and configurable data-rank timing
US10200188B2 (en)2016-10-212019-02-05Kandou Labs, S.A.Quadrature and duty cycle error correction in matrix phase lock loop
US10372665B2 (en)2016-10-242019-08-06Kandou Labs, S.A.Multiphase data receiver with distributed DFE
US10200218B2 (en)2016-10-242019-02-05Kandou Labs, S.A.Multi-stage sampler with increased gain
KR102656219B1 (en)*2016-11-072024-04-11삼성전자주식회사Memory device, memory system comprising that, and slew rate calibration method thereof
WO2018106682A1 (en)2016-12-072018-06-14Integrated Device Technology, Inc.Time slotted bus system for multiple coupled digital phase-locked loops
US10379748B2 (en)2016-12-192019-08-13International Business Machines CorporationPredictive scheduler for memory rank switching
US11017839B2 (en)*2017-01-132021-05-25Mediatek Inc.DRAM, memory controller and associated training method
US10090057B2 (en)*2017-02-232018-10-02Sandisk Technologies LlcDynamic strobe timing
US10761589B2 (en)*2017-04-212020-09-01Intel CorporationInterconnect fabric link width reduction to reduce instantaneous power consumption
US10116468B1 (en)2017-06-282018-10-30Kandou Labs, S.A.Low power chip-to-chip bidirectional communications
US10686583B2 (en)2017-07-042020-06-16Kandou Labs, S.A.Method for measuring and correcting multi-wire skew
US10203226B1 (en)2017-08-112019-02-12Kandou Labs, S.A.Phase interpolation circuit
US10157661B1 (en)2017-08-252018-12-18Micron Technology, Inc.Mitigating line-to-line capacitive coupling in a memory die
US10290332B1 (en)*2017-10-312019-05-14Sandisk Technologies LlcSignal path optimization for read operations in storage devices
US10326623B1 (en)2017-12-082019-06-18Kandou Labs, S.A.Methods and systems for providing multi-stage distributed decision feedback equalization
US10467177B2 (en)2017-12-082019-11-05Kandou Labs, S.A.High speed memory interface
US10554380B2 (en)2018-01-262020-02-04Kandou Labs, S.A.Dynamically weighted exclusive or gate having weighted output segments for phase detection and phase interpolation
US10607671B2 (en)2018-02-172020-03-31Micron Technology, Inc.Timing circuit for command path in a memory device
WO2020117481A1 (en)2018-12-042020-06-11Rambus Inc.Off-module data buffer
US10825493B2 (en)*2018-12-142020-11-03Micron Technology, Inc.Feedback for multi-level signaling in a memory device
US11416437B2 (en)*2018-12-192022-08-16Micron Technology, Inc.Memory devices, modules and systems having memory devices with varying physical dimensions, memory formats, and operational capabilities
CN119851706A (en)2019-02-272025-04-18拉姆伯斯公司Low power memory with on-demand bandwidth boost
US10777253B1 (en)*2019-04-162020-09-15International Business Machines CorporationMemory array for processing an N-bit word
US10902171B1 (en)*2019-07-092021-01-26SiFive, Inc.Clock crossing interface for integrated circuit generation
US11321511B2 (en)2019-07-092022-05-03SiFive, Inc.Reset crossing and clock crossing interface for integrated circuit generation
US10885959B1 (en)*2019-10-022021-01-05Micron Technology, Inc.Apparatuses and methods for semiconductor devices including clock signal lines
KR102794918B1 (en)*2019-12-112025-04-15삼성전자주식회사Compensating circuit for compensating clock signal and memory device including the same
US11409684B2 (en)2020-07-312022-08-09Alibaba Group Holding LimitedProcessing accelerator architectures
US11625341B2 (en)2020-08-112023-04-11Alibaba Group Holding LimitedNarrow DRAM channel systems and methods
CN114115437B (en)2020-08-262023-09-26长鑫存储技术有限公司Memory device
CN114115440B (en)2020-08-262023-09-12长鑫存储技术有限公司Memory device
CN114115439A (en)*2020-08-262022-03-01长鑫存储技术有限公司 memory
CN114115441B (en)2020-08-262024-05-17长鑫存储技术有限公司Memory device
KR102859348B1 (en)*2020-10-072025-09-12에스케이하이닉스 주식회사Memory controller for controlling resistive memory device and memory system including the same
US11636055B2 (en)*2021-07-142023-04-25Silicon Motion, Inc.Method and apparatus for performing access management of memory device in predetermined communications architecture with aid of flexible delay time control
TWI786763B (en)*2021-08-102022-12-11群聯電子股份有限公司Signal modulation device, memory storage device and signal modulation method
TWI788160B (en)*2021-12-242022-12-21晶豪科技股份有限公司Data control circuit and memory device
US12333230B2 (en)*2022-02-182025-06-17Changxin Memory Technologies, Inc.Method and apparatus for determining delay parameter, storage medium, and electronic device
CN114756496B (en)*2022-03-112024-06-04Tcl空调器(中山)有限公司Data reading method and system of EEPROM chip, air conditioner and storage medium
CN116844605B (en)*2022-03-232024-05-03长鑫存储技术有限公司Signal sampling circuit and semiconductor memory
US11973501B2 (en)2022-04-272024-04-30Nvidia Corp.Digitally controlled unified receiver for multi-rank system
US11978496B2 (en)2022-04-272024-05-07Nvidia Corp.Distributed global and local reference voltage generation
US12354642B2 (en)2022-04-272025-07-08Nvidia Corp.Training and configuration of reference voltage generators in a multi-rank circuit system
US11967396B2 (en)*2022-04-272024-04-23Nvidia Corp.Multi-rank receiver
US11881255B2 (en)2022-04-272024-01-23Nvidia Corp.Look ahead switching circuit for a multi-rank system
US12326753B2 (en)*2022-08-182025-06-10SK Hynix Inc.Semiconductor devices and semiconductor systems related to synchronization between clocks

Citations (145)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3950735A (en)1974-01-041976-04-13Honeywell Information Systems, Inc.Method and apparatus for dynamically controlling read/write operations in a peripheral subsystem
US4183095A (en)1978-09-011980-01-08Ncr CorporationHigh density memory device
US4280221A (en)1979-05-311981-07-21The Boeing CompanyDigital data communication system
US4315308A (en)1978-12-211982-02-09Intel CorporationInterface between a microprocessor chip and peripheral subsystems
US4330852A (en)1979-11-231982-05-18Texas Instruments IncorporatedSemiconductor read/write memory array having serial access
US4337523A (en)1979-08-291982-06-29Hitachi, Ltd.Bipolar memory circuit
US4445204A (en)1980-10-031984-04-24Nippon Electric Co., Ltd.Memory device
US4499536A (en)1980-12-171985-02-12Hitachi, Ltd.Signal transfer timing control using stored data relating to operating speeds of memory and processor
US4567545A (en)1983-05-181986-01-28Mettler Rollin W JunIntegrated circuit module and method of making same
US4637018A (en)1984-08-291987-01-13Burroughs CorporationAutomatic signal delay adjustment method
US4646270A (en)1983-09-151987-02-24Motorola, Inc.Video graphic dynamic RAM
US4712190A (en)1985-01-251987-12-08Digital Equipment CorporationSelf-timed random access memory chip
US4719602A (en)1985-02-071988-01-12Visic, Inc.Memory with improved column access
US4755937A (en)1986-02-141988-07-05Prime Computer, Inc.Method and apparatus for high bandwidth shared memory
US4763249A (en)1983-09-221988-08-09Digital Equipment CorporationBus device for use in a computer system having a synchronous bus
US4792929A (en)1987-03-231988-12-20Zenith Electronics CorporationData processing system with extended memory access
US4792926A (en)1985-12-091988-12-20Kabushiki Kaisha ToshibaHigh speed memory system for use with a control bus bearing contiguous segmentially intermixed data read and data write request signals
US4799199A (en)1986-09-181989-01-17Motorola, Inc.Bus master having burst transfer mode
US4800530A (en)1986-08-191989-01-24Kabushiki Kasiha ToshibaSemiconductor memory system with dynamic random access memory cells
US4821226A (en)1987-01-301989-04-11Rca Licensing CorporationDual port video memory system having a bit-serial address input port
US4825411A (en)1986-06-241989-04-25Mitsubishi Denki Kabushiki KaishaDual-port memory with asynchronous control of serial data memory transfer
US4845677A (en)1987-08-171989-07-04International Business Machines CorporationPipelined memory chip structure having improved cycle time
US4845664A (en)1986-09-151989-07-04International Business Machines Corp.On-chip bit reordering structure
US4849937A (en)1984-12-141989-07-18Mitsubishi Denki Kabushiki KaishaDigital delay unit with interleaved memory
US4866676A (en)1988-03-241989-09-12Motorola, Inc.Testing arrangement for a DRAM with redundancy
US4866679A (en)1988-08-111989-09-12Western Atlas International, Inc.Method for identifying anomalous noise amplitudes in seismic data
US4866680A (en)1977-12-051989-09-12Scherbatskoy Serge AlexanderMethod and apparatus for transmitting information in a borehole employing signal discrimination
US4866678A (en)1987-05-211989-09-12Texas Instruments IncorporatedDual-port memory having pipelined serial output
US4866675A (en)1987-08-071989-09-12Fujitsu LimitedSemiconductor memory circuit having a delay circuit
US4866677A (en)1984-08-031989-09-12Kabushiki Kaisha ToshibaSemiconductor memory device with multiple alternating decoders coupled to each word line
US4928265A (en)1987-11-021990-05-22Hitachi, Ltd.Semiconductor integrated circuit
US4937734A (en)1989-02-211990-06-26Sun Microsystems, Inc.High speed bus with virtual memory data transfer and rerun cycle capability
US4945516A (en)1987-10-091990-07-31Hitachi, Ltd.Write control circuit for a high-speed memory device
US4953128A (en)1986-12-161990-08-28Mitsubishi Denki Kabushiki KaishaVariable delay circuit for delaying input data
US5001672A (en)1989-05-161991-03-19International Business Machines CorporationVideo ram with external select of active serial access register
US5077693A (en)1990-08-061991-12-31Motorola, Inc.Dynamic random access memory
US5083296A (en)1989-08-281992-01-21Hitachi, Ltd.Semiconductor memory with alternately multiplexed row and column addressing
US5111386A (en)1987-12-021992-05-05Mitsubishi Denki Kabushiki KaishaCache contained type semiconductor memory device and operating method therefor
US5117389A (en)1990-09-051992-05-26Macronix International Co., Ltd.Flat-cell read-only-memory integrated circuit
US5124589A (en)1990-06-191992-06-23Mitsubishi Denki Kabushiki KaishaSemiconductor integrated circuit capable of synchronous and asynchronous operations and operating method therefor
US5140688A (en)1986-11-101992-08-18Texas Instruments IncorporatedGaAs integrated circuit programmable delay line element
US5179687A (en)1987-09-261993-01-12Mitsubishi Denki Kabushiki KaishaSemiconductor memory device containing a cache and an operation method thereof
US5260905A (en)1990-09-031993-11-09Matsushita Electric Industrial Co., Ltd.Multi-port memory
US5276858A (en)1991-12-261994-01-04Intel CorporationMemory controller with integrated delay line circuitry
US5301278A (en)1988-04-291994-04-05International Business Machines CorporationFlexible dynamic memory controller
US5305278A (en)1990-12-181994-04-19Mitsubishi Denki Kabushiki KaishaSemiconductor memory device having block write function
US5311483A (en)1990-11-201994-05-10Oki Electric Industry Co., Ltd.Synchronous type semiconductor memory
US5319755A (en)1990-04-181994-06-07Rambus, Inc.Integrated circuit I/O using high performance bus interface
US5323358A (en)1992-03-191994-06-21Kabushiki Kaisha ToshibaClock-synchronous semiconductor memory device and method for accessing the device
US5327390A (en)1990-07-251994-07-05Oki Electric Industry Co., Ltd.Synchronous burst-access memory
US5339276A (en)1990-11-201994-08-16Oki Electric Industry Co., Ltd.Synchronous dynamic random access memory
US5341341A (en)1992-03-261994-08-23Nec CorporationDynamic random access memory device having addressing section and/or data transferring path arranged in pipeline architecture
US5345573A (en)1991-10-041994-09-06Bull Hn Information Systems Inc.High speed burst read address generation with high speed transfer
US5365489A (en)1992-01-101994-11-15Samsung Electronics Co., Ltd.Dual port video random access memory with block write capability
US5379438A (en)1990-12-141995-01-03Xerox CorporationTransferring a processing unit's data between substrates in a parallel processor
US5381376A (en)1991-11-221995-01-10Samsung Electronics Co., Ltd.Video RAM having block selection function during serial write transfer operation
US5381538A (en)1991-10-151995-01-10International Business Machines Corp.DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US5384745A (en)1992-04-271995-01-24Mitsubishi Denki Kabushiki KaishaSynchronous semiconductor memory device
US5386385A (en)1994-01-311995-01-31Texas Instruments Inc.Method and apparatus for preventing invalid operating modes and an application to synchronous memory devices
US5390149A (en)1991-04-231995-02-14Texas Instruments IncorporatedSystem including a data processor, a synchronous dram, a peripheral device, and a system clock
US5392239A (en)1993-05-061995-02-21S3, IncorporatedBurst-mode DRAM
US5404463A (en)1991-05-171995-04-04Eastman Kodak CompanyMethod and apparatus for transferring data in portable image processing system
US5404338A (en)1993-01-291995-04-04Mitsubishi Denki Kabushiki KaishaSynchronous type semiconductor memory device operating in synchronization with an external clock signal
US5422858A (en)*1993-06-281995-06-06Hitachi, Ltd.Semiconductor integrated circuit
US5444667A (en)1993-04-021995-08-22Nec CorporationSemiconductor synchronous memory device having input circuit for producing constant main control signal operative to allow timing generator to latch command signals
US5455803A (en)1993-05-191995-10-03Fujitsu LimitedSemiconductor device which operates at a frequency controlled by an external clock signal
US5475690A (en)1994-11-101995-12-12Digital Equipment CorporationDelay compensated signal propagation
US5504874A (en)1993-09-291996-04-02Silicon Graphics, Inc.System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions
US5511024A (en)1993-06-021996-04-23Rambus, Inc.Dynamic random access memory system
US5533204A (en)1994-04-181996-07-02Compaq Computer CorporationSplit transaction protocol for the peripheral component interconnect bus
US5548786A (en)1991-10-151996-08-20International Business Machines CorporationDynamic bus sizing of DMA transfers
US5553248A (en)1992-10-021996-09-03Compaq Computer CorporationSystem for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
EP0735492A1 (en)1995-03-311996-10-02Motorola, Inc.Method and apparatus for distributing bus loading in a data processing system
US5578940A (en)1995-04-041996-11-26Rambus, Inc.Modular bus with single or double parallel termination
US5611058A (en)1993-01-291997-03-11International Business Machines CorporationSystem and method for transferring information between multiple buses
US5638531A (en)1995-06-071997-06-10International Business Machines CorporationMultiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization
US5649161A (en)1994-06-171997-07-15Advanced Micro DevicesPrepaging during PCI master initiated wait cycles
US5655113A (en)1994-07-051997-08-05Monolithic System Technology, Inc.Resynchronization circuit for a memory system and method of operating same
US5680361A (en)1993-06-141997-10-21Rambus, Inc.Method and apparatus for writing to memory components
US5708297A (en)1992-09-161998-01-13Clayton; James E.Thin multichip module
US5742798A (en)1996-08-091998-04-21International Business Machines CorporationCompensation of chip to chip clock skew
US5748914A (en)1995-10-191998-05-05Rambus, Inc.Protocol for communication with dynamic memory
US5764963A (en)1995-07-071998-06-09Rambus, Inc.Method and apparatus for performing maskable multiple color block writes
US5778419A (en)1995-08-161998-07-07Microunity Systems Engineering, Inc.DRAM with high bandwidth interface that uses packets and arbitration
US5796624A (en)1994-09-161998-08-18Research Foundation Of State University Of New YorkMethod and apparatus for designing circuits for wave pipelining
US5867541A (en)1994-05-181999-02-02Hitachi, Ltd.Method and system for synchronizing data having skew
US5892981A (en)1996-10-101999-04-06Hewlett-Packard CompanyMemory system and device
US5933379A (en)1996-11-181999-08-03Samsung Electronics, Co., Ltd.Method and circuit for testing a semiconductor memory device operating at high frequency
WO1999041667A1 (en)1998-02-131999-08-19Intel CorporationMemory module including a memory module controller
US5943573A (en)1997-01-171999-08-24United Microelectronics Corp.Method of fabricating semiconductor read-only memory device
US5952691A (en)1997-05-141999-09-14Ricoh Company, Ltd.Non-volatile electrically alterable semiconductor memory device
WO1999050852A1 (en)1998-04-011999-10-07Mosaid Technologies IncorporatedSemiconductor memory asynchronous pipeline
US5987576A (en)1997-02-271999-11-16Hewlett-Packard CompanyMethod and apparatus for generating and distributing clock signals with minimal skew
US6005776A (en)1998-01-051999-12-21Intel CorporationVertical connector based packaging solution for integrated circuits
US6016282A (en)1998-05-282000-01-18Micron Technology, Inc.Clock vernier adjustment
JP2000035831A (en)1998-07-212000-02-02Nec CorpLow skew clock tree circuit using variable threshold voltage transistor
US6034878A (en)1996-12-162000-03-07Hitachi, Ltd.Source-clock-synchronized memory system and memory unit
US6049238A (en)*1998-05-122000-04-11Mitsubishi Denki Kabushiki KaishaClock generator and clock generating method capable of varying clock frequency without increasing the number of delay elements
US6049467A (en)1998-08-312000-04-11Unisys CorporationStackable high density RAM modules
US6065092A (en)1994-11-302000-05-16Hitachi Micro Systems, Inc.Independent and cooperative multichannel memory architecture for use with master device
US6067594A (en)1997-09-262000-05-23Rambus, Inc.High frequency bus system
US6075730A (en)1997-10-102000-06-13Rambus IncorporatedHigh performance cost optimized memory with delayed memory writes
US6111757A (en)1998-01-162000-08-29International Business Machines Corp.SIMM/DIMM memory module
WO2000054164A1 (en)1999-03-052000-09-14International Business Machines CorporationDynamic wave-pipelined interface apparatus and methods therefor
US6125419A (en)1996-06-132000-09-26Hitachi, Ltd.Bus system, printed circuit board, signal transmission line, series circuit and memory module
US6154417A (en)1998-11-262000-11-28Samsung Electronics Co., Ltd.Integrated circuit memory devices having synchronous wave pipelining capability and methods of operating same
US6154821A (en)1998-03-102000-11-28Rambus Inc.Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
US6160754A (en)1998-05-272000-12-12Hyundai Electronics Industries Co., Ltd.Synchronous memory device of a wave pipeline structure
US6172895B1 (en)1999-12-142001-01-09High Connector Density, Inc.High capacity memory module with built-in-high-speed bus terminations
US6233157B1 (en)1998-11-072001-05-15Hyundai Electronics Industries Co., Ltd.Printed circuit board and method for wiring signal lines on the same
US6253266B1 (en)1999-02-192001-06-26Inet Technologies, Inc.Apparatus and method for controlling information flow in a card cage having multiple backplanes
US6266737B1 (en)1995-10-192001-07-24Rambus Inc.Method and apparatus for providing a memory with write enable information
US6292877B1 (en)1997-07-012001-09-18Micron Technology, Inc.Plural pipelined packet-oriented memory systems having a unidirectional command and address bus and a bidirectional data bus
US6321282B1 (en)1999-10-192001-11-20Rambus Inc.Apparatus and method for topography dependent signaling
US20010047450A1 (en)1998-07-272001-11-29Peter GillinghamHigh bandwidth memory interface
US6336205B1 (en)1998-11-122002-01-01Matsushita Electric Industrial Co., Ltd.Method for designing semiconductor integrated circuit
US6343352B1 (en)1997-10-102002-01-29Rambus Inc.Method and apparatus for two step memory write operations
US6356260B1 (en)1998-04-102002-03-12National Semiconductor CorporationMethod for reducing power and electromagnetic interference in conveying video data
US6359815B1 (en)1998-03-122002-03-19Hitachi, Ltd.Data transmitter
US6388886B1 (en)2000-05-082002-05-14Mitsubishi Denki Kabushiki KaishaSemiconductor memory module and module system
US6401167B1 (en)1997-10-102002-06-04Rambus IncorporatedHigh performance cost optimized memory
US6449727B1 (en)1998-05-072002-09-10Kabushiki Kaisha ToshibaHigh-speed data transfer synchronizing system and method
US6449159B1 (en)2000-05-032002-09-10Rambus Inc.Semiconductor module with imbedded heat spreader
US6477592B1 (en)1999-08-062002-11-05Integrated Memory Logic, Inc.System for I/O interfacing for semiconductor chip utilizing addition of reference element to each data element in first data stream and interpret to recover data elements of second data stream
US20020174311A1 (en)2001-04-242002-11-21Ware Frederick A.Method and apparatus for coordinating memory operations among diversely-located memory components
US6502161B1 (en)2000-01-052002-12-31Rambus Inc.Memory system including a point-to-point linked memory subsystem
US6526469B1 (en)1999-11-122003-02-25International Business Machines CorporationBus architecture employing varying width uni-directional command bus
US6539454B2 (en)1998-04-012003-03-25Mosaid Technologies IncorporatedSemiconductor memory asynchronous pipeline
US6545875B1 (en)2000-05-102003-04-08Rambus, Inc.Multiple channel modules and bus systems using same
US6618736B1 (en)2001-03-092003-09-09Ensim CorporationTemplate-based creation and archival of file systems
US6640292B1 (en)1999-09-102003-10-28Rambus Inc.System and method for controlling retire buffer operation in a memory system
US6643752B1 (en)1999-12-092003-11-04Rambus Inc.Transceiver with latency alignment circuitry
US6643787B1 (en)1999-10-192003-11-04Rambus Inc.Bus system optimization
US6646953B1 (en)2000-07-062003-11-11Rambus Inc.Single-clock, strobeless signaling system
US20040003194A1 (en)2002-06-262004-01-01Amit BodasMethod and apparatus for adjusting DRAM signal timings
US6680866B2 (en)2001-10-052004-01-20Renesas Technology Corp.Clock synchronous semiconductor memory device
US6760857B1 (en)2000-02-182004-07-06Rambus Inc.System having both externally and internally generated clock signals being asserted on the same clock pin in normal and test modes of operation respectively
US6833984B1 (en)2000-05-032004-12-21Rambus, Inc.Semiconductor module with serial bus connection to multiple dies
US6839266B1 (en)1999-09-142005-01-04Rambus Inc.Memory module with offset data lines and bit line swizzle configuration
US6839393B1 (en)1999-07-142005-01-04Rambus Inc.Apparatus and method for controlling a master/slave system via master device synchronization
US6853557B1 (en)2000-09-202005-02-08Rambus, Inc.Multi-channel memory architecture
US6873939B1 (en)2001-02-022005-03-29Rambus Inc.Method and apparatus for evaluating and calibrating a signaling system
US6912680B1 (en)1997-02-112005-06-28Micron Technology, Inc.Memory system with dynamic timing correction
US20060056244A1 (en)2004-09-152006-03-16Ware Frederick AMemory systems with variable delays for write data signals
US20060077731A1 (en)2001-04-242006-04-13Ware Frederick AMemory module with termination component

Family Cites Families (170)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US7056A (en)*1850-01-29Am-photo-uthft co
US1660754A (en)*1926-03-311928-02-28Christian H KennewegFuel-injection valve
DE1291778B (en)1967-04-291969-04-03Licentia Gmbh Clock signal generator
US3820081A (en)*1972-10-051974-06-25Honeywell Inf SystemsOverride hardware for main store sequencer
US4266282A (en)1979-03-121981-05-05International Business Machines CorporationVertical semiconductor integrated circuit chip packaging
FR2513407B1 (en)*1981-09-241987-01-16Finger Ulrich ARBITRATION SYSTEM FOR REQUESTS FOR ACCESS OF MULTIPLE PROCESSORS TO COMMON RESOURCES, THROUGH A COMMON BUS
US4656605A (en)*1983-09-021987-04-07Wang Laboratories, Inc.Single in-line memory module
US4654790A (en)*1983-11-281987-03-31Amdahl CorporationTranslation of virtual and real addresses to system addresses
JPS60136086A (en)1983-12-231985-07-19Hitachi LtdSemiconductor memory device
US4637545A (en)*1985-03-251987-01-20Winfield CorporationWaste management system
JPS628614A (en)1985-07-051987-01-16Nec CorpInput inverter circuit
US4920483A (en)*1985-11-151990-04-24Data General CorporationA computer memory for accessing any word-sized group of contiguous bits
DE3607141A1 (en)*1986-03-051987-09-10Irs Ind Rationalis Syst Gmbh METHOD AND DEVICE FOR EXPLOSION PROTECTION OF SYSTEMS, PIPELINES AND THE LIKE THROUGH PRESSURE MONITORING
JPH0774606B2 (en)1986-07-091995-08-09本田技研工業株式会社 Three-valve / SOHC type internal combustion engine
US4845684A (en)*1986-12-091989-07-04International Business Machines CorporationAcoustic contact sensor for handwritten computer input
JPS63271679A (en)*1987-04-301988-11-09Toshiba Corp Data writing method
JPS6488662A (en)1987-09-291989-04-03Fujitsu LtdSemiconductor memory
US4916670A (en)*1988-02-021990-04-10Fujitsu LimitedSemiconductor memory device having function of generating write signal internally
US5335337A (en)1989-01-271994-08-02Digital Equipment CorporationProgrammable data transfer timing
US5097489A (en)1989-05-191992-03-17Tucci Patrick AMethod for incorporating window strobe in a data synchronizer
US5428389A (en)1990-06-141995-06-27Fuji Photo Film Co., Ltd.Image data storage/processing apparatus
US5404483A (en)*1990-06-291995-04-04Digital Equipment CorporationProcessor and method for delaying the processing of cache coherency transactions during outstanding cache fills
US5357621A (en)1990-09-041994-10-18Hewlett-Packard CompanySerial architecture for memory module control
US5239639A (en)*1990-11-091993-08-24Intel CorporationEfficient memory controller with an independent clock
JPH05134973A (en)*1991-11-141993-06-01Toshiba Corp Data transfer device
US5164916A (en)1992-03-311992-11-17Digital Equipment CorporationHigh-density double-sided multi-string memory module with resistor for insertion detection
US5560000A (en)1992-05-281996-09-24Texas Instruments IncorporatedTime skewing arrangement for operating memory in synchronism with a data processor
JP2950018B2 (en)1992-06-021999-09-20日本電気株式会社 Semiconductor memory circuit, semiconductor memory module and acoustic signal reproducing device using the same
JP3543336B2 (en)1993-07-202004-07-14株式会社ルネサステクノロジ Semiconductor device and wiring method of semiconductor device
US5511025A (en)*1993-10-181996-04-23Texas Instruments IncorporatedWrite per bit with write mask information carried on the data path past the input data latch
US5386375A (en)1993-11-011995-01-31Motorola, Inc.Floating point data processor and a method for performing a floating point square root operation within the data processor
US5530623A (en)1993-11-191996-06-25Ncr CorporationHigh speed memory packaging scheme
JP3328638B2 (en)1994-01-212002-09-30株式会社日立製作所 Memory device
US5406518A (en)*1994-02-081995-04-11Industrial Technology Research InstituteVariable length delay circuit utilizing an integrated memory device with multiple-input and multiple-output configuration
KR0122099B1 (en)1994-03-031997-11-26김광호 Synchronous semiconductor memory device with write latency control
JPH07253962A (en)*1994-03-141995-10-03Fujitsu Ltd Semiconductor device
US5579352A (en)1994-04-061996-11-26National Semiconductor CorporationSimplified window de-skewing in a serial data receiver
JPH08123717A (en)1994-10-251996-05-17Oki Electric Ind Co LtdSemiconductor storage device
US5548788A (en)1994-10-271996-08-20Emc CorporationDisk controller having host processor controls the time for transferring data to disk drive by modifying contents of the memory to indicate data is stored in the memory
US5611068A (en)*1994-12-271997-03-11Motorola, Inc.Apparatus and method for controlling pipelined data transfer scheme between stages employing shift register and associated addressing mechanism
US5577236A (en)1994-12-301996-11-19International Business Machines CorporationMemory controller for reading data from synchronous RAM
JP2962463B2 (en)1995-01-131999-10-12焼津水産化学工業株式会社 Method for preserving fresh yam and method for producing frozen yam
JP3487458B2 (en)1995-01-272004-01-19株式会社リコー Parallel signal transmission device
US5852640A (en)*1995-06-261998-12-22Kliza; Phillip S.Clock distribution apparatus with current sensed skew cancelling
US5692165A (en)1995-09-121997-11-25Micron Electronics Inc.Memory controller with low skew control signal
US6810449B1 (en)1995-10-192004-10-26Rambus, Inc.Protocol for communication with dynamic memory
US6470405B2 (en)1995-10-192002-10-22Rambus Inc.Protocol for communication with dynamic memory
JPH09161472A (en)*1995-12-131997-06-20Hitachi Ltd Memory control method
JP3986578B2 (en)*1996-01-172007-10-03三菱電機株式会社 Synchronous semiconductor memory device
JP3410922B2 (en)*1996-04-232003-05-26株式会社東芝 Clock control circuit
US6211703B1 (en)1996-06-072001-04-03Hitachi, Ltd.Signal transmission system
JP3546613B2 (en)*1996-10-252004-07-28株式会社日立製作所 Circuit board
JPH1022458A (en)*1996-07-041998-01-23Fujitsu Ltd Semiconductor device and pin arrangement
US5802395A (en)1996-07-081998-09-01International Business Machines CorporationHigh density memory modules with improved data bus performance
JP3204108B2 (en)*1996-08-232001-09-04トヨタ自動車株式会社 Air temperature sensor abnormality detection device
US6226723B1 (en)*1996-09-202001-05-01Advanced Memory International, Inc.Bifurcated data and command/address communication bus architecture for random access memories employing synchronous communication protocols
US6088774A (en)1996-09-202000-07-11Advanced Memory International, Inc.Read/write timing for maximum utilization of bidirectional read/write bus
EP0831402A1 (en)1996-09-231998-03-25Hewlett-Packard CompanyDynamically configuring timing to match memory bus loading conditions
US6115318A (en)1996-12-032000-09-05Micron Technology, Inc.Clock vernier adjustment
JPH10283301A (en)1996-12-191998-10-23Texas Instr Inc <Ti>Device for distributing address and data to memory module and method therefor
US5966343A (en)1997-01-021999-10-12Texas Instruments IncorporatedVariable latency memory circuit
EP0855653B1 (en)*1997-01-232004-10-06Hewlett-Packard Company, A Delaware CorporationMemory controller with a programmable strobe delay
JPH10302471A (en)1997-02-281998-11-13Mitsubishi Electric Corp Semiconductor storage device
JP2935694B2 (en)1997-04-251999-08-16松下電器産業株式会社 Semiconductor integrated circuit and system, and method for reducing skew between clock signal and data signal
US5946712A (en)1997-06-041999-08-31Oak Technology, Inc.Apparatus and method for reading data from synchronous memory
JPH10340222A (en)*1997-06-091998-12-22Nec CorpInput circuit and output circuit of memory device
US6247138B1 (en)1997-06-122001-06-12Fujitsu LimitedTiming signal generating circuit, semiconductor integrated circuit device and semiconductor integrated circuit system to which the timing signal generating circuit is applied, and signal transmission system
KR100213241B1 (en)*1997-06-231999-08-02윤종용Data input output circuit and method
US6232792B1 (en)*1997-06-252001-05-15Sun Microsystems, Inc.Terminating transmission lines using on-chip terminator circuitry
US6292903B1 (en)1997-07-092001-09-18International Business Machines CorporationSmart memory interface
US6044429A (en)1997-07-102000-03-28Micron Technology, Inc.Method and apparatus for collision-free data transfers in a memory device with selectable data or address paths
US6124727A (en)1997-07-112000-09-26Adaptec, Inc.Bias compensator for differential transmission line with voltage bias
JP3922765B2 (en)*1997-07-222007-05-30富士通株式会社 Semiconductor device system and semiconductor device
US6442644B1 (en)*1997-08-112002-08-27Advanced Memory International, Inc.Memory system having synchronous-link DRAM (SLDRAM) devices and controller
JPH11161601A (en)*1997-08-191999-06-18Matsushita Electric Ind Co Ltd Adjustment device for delay time between multiple transmission lines
JPH1185345A (en)1997-09-021999-03-30Toshiba CorpInput/output interface circuit and semiconductor system
JPH11167515A (en)*1997-10-031999-06-22Matsushita Electric Ind Co Ltd Data transmission device and data transmission method
US6226757B1 (en)1997-10-102001-05-01Rambus IncApparatus and method for bus timing compensation
EP1019911B1 (en)*1997-10-102003-07-16Rambus Inc.Apparatus and method for device timing compensation
KR100535258B1 (en)*1997-10-292005-12-09도레이 카부시키가이샤Resin Composition With Biodegradability and Foamability
US6003118A (en)*1997-12-161999-12-14Acer Laboratories Inc.Method and apparatus for synchronizing clock distribution of a data processing system
KR100278653B1 (en)1998-01-232001-02-01윤종용Double data rate semiconductor memory device
US6105144A (en)1998-03-022000-08-15International Business Machines CorporationSystem and method for alleviating skew in a bus
DE19808888A1 (en)*1998-03-031999-09-09Huels Chemische Werke Ag Reinforced molding compound
BRPI9908836B1 (en)*1998-03-162017-04-18Jazio Inc process and system for detecting a transition between an input signal and a pre-signal, communication system, signal receiver system for detecting a transition from a pre-signal to a subsequent signal, transmission system, and processes for comparing a signal input to a pre-signal, and for transmitting and receiving a plurality of short excursion single-ended signals
US6327205B1 (en)*1998-03-162001-12-04Jazio, Inc.Signal latching of high bandwidth DRAM arrays when skew between different components is higher than signal rate
JPH11265313A (en)*1998-03-181999-09-28Hitachi Ltd Storage device
US5933387A (en)1998-03-301999-08-03Richard MannDivided word line architecture for embedded memories using multiple metal layers
JP4079507B2 (en)*1998-05-122008-04-23富士通株式会社 Memory control system and memory control method
US6041419A (en)*1998-05-272000-03-21S3 IncorporatedProgrammable delay timing calibrator for high speed data interface
US6057743A (en)*1998-06-222000-05-02Hubbell IncorporationDistributed noise reduction circuits in telecommunication system connector
US6178517B1 (en)*1998-07-242001-01-23International Business Machines CorporationHigh bandwidth DRAM with low operating power modes
US6279090B1 (en)1998-09-032001-08-21Micron Technology, Inc.Method and apparatus for resynchronizing a plurality of clock signals used in latching respective digital signals applied to a packetized memory device
US6029250A (en)*1998-09-092000-02-22Micron Technology, Inc.Method and apparatus for adaptively adjusting the timing offset between a clock signal and digital signals transmitted coincident with that clock signal, and memory device and system using same
JP3803204B2 (en)1998-12-082006-08-02寛治 大塚 Electronic equipment
US6222785B1 (en)*1999-01-202001-04-24Monolithic System Technology, Inc.Method and apparatus for refreshing a semiconductor memory using idle memory cycles
US6347367B1 (en)1999-01-292002-02-12International Business Machines Corp.Data bus structure for use with multiple memory storage and driver receiver technologies and a method of operating such structures
JP4115028B2 (en)1999-02-172008-07-09富士通株式会社 Integrated circuit device and module mounted therewith
US6137734A (en)*1999-03-302000-10-24Lsi Logic CorporationComputer memory interface having a memory controller that automatically adjusts the timing of memory interface signals
JP2000284873A (en)1999-03-312000-10-13Adtec:KkMemory circuit board
JP3880286B2 (en)1999-05-122007-02-14エルピーダメモリ株式会社 Directional coupled memory system
KR100316713B1 (en)1999-06-262001-12-12윤종용semiconductor memory and driving signal generator therefor
US6629222B1 (en)1999-07-132003-09-30Micron Technology Inc.Apparatus for synchronizing strobe and data signals received from a RAM
JP3813768B2 (en)1999-07-302006-08-23株式会社日立製作所 Semiconductor device and semiconductor module
US6180754B1 (en)*1999-09-032001-01-30The Dow Chemical CompanyProcess for producing cross-linked polyallylamine polymer
US6179687B1 (en)*2000-03-102001-01-30Elena LeeUndergarments with invisible strap
US6191997B1 (en)2000-03-102001-02-20Mosel Vitelic Inc.Memory burst operations in which address count bits are used as column address bits for one, but not both, of the odd and even columns selected in parallel.
JP2001265708A (en)2000-03-162001-09-28Toshiba Corp Electronic equipment and electronic equipment substrates
JP2001319500A (en)*2000-05-102001-11-16Mitsubishi Electric Corp Semiconductor integrated circuit device
JP3757757B2 (en)2000-05-182006-03-22株式会社日立製作所 Read priority memory system
JP2001339283A (en)2000-05-262001-12-07Mitsubishi Electric Corp Delay circuit and semiconductor circuit device therefor
US6611905B1 (en)2000-06-292003-08-26International Business Machines CorporationMemory interface with programable clock to output time based on wide range of receiver loads
KR100608346B1 (en)*2000-06-302006-08-09주식회사 하이닉스반도체 System Bus Structure of Semiconductor Memory Devices
US6316980B1 (en)2000-06-302001-11-13Intel CorporationCalibrating data strobe signal using adjustable delays with feedback
US6760856B1 (en)2000-07-172004-07-06International Business Machines CorporationProgrammable compensated delay for DDR SDRAM interface using programmable delay loop for reference calibration
US6333893B1 (en)2000-08-212001-12-25Micron Technology, Inc.Method and apparatus for crossing clock domain boundaries
US6807613B1 (en)2000-08-212004-10-19Mircon Technology, Inc.Synchronized write data on a high speed memory bus
US6691214B1 (en)2000-08-292004-02-10Micron Technology, Inc.DDR II write data capture calibration
US6928571B1 (en)2000-09-152005-08-09Intel CorporationDigital system of adjusting delays on circuit boards
JP2002117670A (en)2000-10-042002-04-19Mitsubishi Electric CorpSemiconductor memory
US6411122B1 (en)2000-10-272002-06-25Intel CorporationApparatus and method for dynamic on-die termination in an open-drain bus architecture system
US6553472B2 (en)2001-01-122003-04-22Sun Microsystems, Inc.Method for programming clock delays, command delays, read command parameter delays, and write command parameter delays of a memory controller in a high performance microprocessor
JP2002230985A (en)*2001-02-062002-08-16Sharp Corp Nonvolatile semiconductor memory device and control method therefor
US7313715B2 (en)2001-02-092007-12-25Samsung Electronics Co., Ltd.Memory system having stub bus configuration
US6445624B1 (en)*2001-02-232002-09-03Micron Technology, Inc.Method of synchronizing read timing in a high speed memory system
US6788593B2 (en)2001-02-282004-09-07Rambus, Inc.Asynchronous, high-bandwidth memory component using calibrated timing elements
US6684283B1 (en)*2001-03-132004-01-27Texas Instruments IncorporatedMethod for interfacing a cardbay card to the host system by indicating a 16-bit or cardbus PC card insertion to host software
US6658523B2 (en)*2001-03-132003-12-02Micron Technology, Inc.System latency levelization for read data
US6456544B1 (en)2001-03-302002-09-24Intel CorporationSelective forwarding of a strobe based on a predetermined delay following a memory read command
EP1249438A1 (en)*2001-04-132002-10-16Dsm N.V.Continuous hydroformylation process for producing an aldehyde
EP1253521B1 (en)2001-04-242011-01-26Rambus Inc.Method and apparatus for signaling between devices of a memory system
JP2003005831A (en)2001-06-202003-01-08Nippon Yusoki Co LtdDevice for detecting contact
US6801989B2 (en)2001-06-282004-10-05Micron Technology, Inc.Method and system for adjusting the timing offset between a clock signal and respective digital signals transmitted along with that clock signal, and memory device and computer system using same
US6697918B2 (en)*2001-07-182004-02-24Broadcom CorporationCache configured to read evicted cache block responsive to transmitting block's address on interface
US6807614B2 (en)2001-07-192004-10-19Shine C. ChungMethod and apparatus for using smart memories in computing
US6970988B1 (en)2001-07-192005-11-29Chung Shine CAlgorithm mapping, specialized instructions and architecture features for smart memory computing
US7102958B2 (en)*2001-07-202006-09-05Samsung Electronics Co., Ltd.Integrated circuit memory devices that support selective mode register set commands and related memory modules, memory controllers, and methods
US6504790B1 (en)*2001-08-092003-01-07International Business Machines CorporationConfigurable DDR write-channel phase advance and delay capability
JP2003085974A (en)2001-09-132003-03-20Toshiba Corp Semiconductor integrated circuit and memory system
US6748465B2 (en)2001-09-282004-06-08Intel CorporationLocal bus polling support buffer
US7668276B2 (en)*2001-10-222010-02-23Rambus Inc.Phase adjustment apparatus and method for a memory device signaling system
KR100393232B1 (en)*2001-10-232003-07-31삼성전자주식회사Semiconductor memory device capable of implementing first or second memory architecture and memory system using the same
US6661721B2 (en)2001-12-132003-12-09Infineon Technologies AgSystems and methods for executing precharge commands using posted precharge in integrated circuit memory devices with memory banks each including local precharge control circuits
KR100414943B1 (en)2001-12-282004-01-16엘지전자 주식회사Apparatus and Method for Distribution Clock in Multiple Processing System based on Compact Peripheral Component Interconnect
WO2003060921A1 (en)*2002-01-112003-07-24Sony CorporationMemory cell circuit, memory device, motion vector detection device, and motion compensation prediction coding device.
US6804764B2 (en)2002-01-222004-10-12Mircron Technology, Inc.Write clock and data window tuning based on rank select
US7043599B1 (en)*2002-06-202006-05-09Rambus Inc.Dynamic memory supporting simultaneous refresh and data-access transactions
JP4481588B2 (en)2003-04-282010-06-16株式会社東芝 Semiconductor integrated circuit device
JP4205553B2 (en)*2003-11-062009-01-07エルピーダメモリ株式会社 Memory module and memory system
JP4015986B2 (en)2003-11-122007-11-28沖電気工業株式会社 Semiconductor integrated circuit device
JP4741226B2 (en)2003-12-252011-08-03株式会社日立製作所 Semiconductor memory module and memory system
JP4565883B2 (en)2004-04-272010-10-20ルネサスエレクトロニクス株式会社 Semiconductor integrated circuit device
US7224595B2 (en)2004-07-302007-05-29International Business Machines Corporation276-Pin buffered memory module with enhanced fault tolerance
US7519877B2 (en)2004-08-102009-04-14Micron Technology, Inc.Memory with test mode output
US7542322B2 (en)2004-09-302009-06-02Intel CorporationBuffered continuous multi-drop clock ring
TWI304395B (en)*2004-11-262008-12-21Ind Tech Res InstA method for fabricating a high specific surface area mesoporous alumina
US7688672B2 (en)*2005-03-142010-03-30Rambus Inc.Self-timed interface for strobe-based systems
DE102005019041B4 (en)*2005-04-232009-04-16Qimonda Ag Semiconductor memory and method for adjusting the phase relationship between a clock signal and strobe signal in the acquisition of transferable write data
US7609567B2 (en)*2005-06-242009-10-27Metaram, Inc.System and method for simulating an aspect of a memory circuit
US8077535B2 (en)*2006-07-312011-12-13Google Inc.Memory refresh apparatus and method
KR100615580B1 (en)*2005-07-052006-08-25삼성전자주식회사 Semiconductor memory device and data input / output method thereof and memory system having same
US7839792B2 (en)*2005-08-302010-11-23Tektronix, Inc.Time-correlated, simultaneous measurement and analysis of network signals from multiple communication networks
JP5072072B2 (en)2007-03-152012-11-14東洋ゴム工業株式会社 Polishing pad
US7872937B2 (en)*2008-03-312011-01-18Globalfoundries Inc.Data driver circuit for a dynamic random access memory (DRAM) controller or the like and method therefor
US8661285B2 (en)*2008-06-062014-02-25Uniquify, IncorporatedDynamically calibrated DDR memory controller
JP4405565B2 (en)*2008-06-192010-01-27株式会社東芝 Memory system and memory device
US7733685B2 (en)2008-07-092010-06-08Sandisk 3D LlcCross point memory cell with distributed diodes and method of making same
US8742791B1 (en)*2009-01-312014-06-03Xilinx, Inc.Method and apparatus for preamble detection for a control signal
US8902693B2 (en)*2013-04-252014-12-02Avago Technologies General Ip (Singapore) Pte. Ltd.System and method for per-bit de-skew for datamask in a double data-rate memory device interface
US8937846B2 (en)*2013-05-092015-01-20Avago Technologies General Ip (Singapore) Pte. Ltd.Write level training using dual frequencies in a double data-rate memory device interface

Patent Citations (171)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US3950735A (en)1974-01-041976-04-13Honeywell Information Systems, Inc.Method and apparatus for dynamically controlling read/write operations in a peripheral subsystem
US4866680A (en)1977-12-051989-09-12Scherbatskoy Serge AlexanderMethod and apparatus for transmitting information in a borehole employing signal discrimination
US4183095A (en)1978-09-011980-01-08Ncr CorporationHigh density memory device
US4315308A (en)1978-12-211982-02-09Intel CorporationInterface between a microprocessor chip and peripheral subsystems
US4280221A (en)1979-05-311981-07-21The Boeing CompanyDigital data communication system
US4337523A (en)1979-08-291982-06-29Hitachi, Ltd.Bipolar memory circuit
US4330852A (en)1979-11-231982-05-18Texas Instruments IncorporatedSemiconductor read/write memory array having serial access
US4445204A (en)1980-10-031984-04-24Nippon Electric Co., Ltd.Memory device
US4499536A (en)1980-12-171985-02-12Hitachi, Ltd.Signal transfer timing control using stored data relating to operating speeds of memory and processor
US4567545A (en)1983-05-181986-01-28Mettler Rollin W JunIntegrated circuit module and method of making same
US4646270A (en)1983-09-151987-02-24Motorola, Inc.Video graphic dynamic RAM
US4763249A (en)1983-09-221988-08-09Digital Equipment CorporationBus device for use in a computer system having a synchronous bus
US4866677A (en)1984-08-031989-09-12Kabushiki Kaisha ToshibaSemiconductor memory device with multiple alternating decoders coupled to each word line
US4637018A (en)1984-08-291987-01-13Burroughs CorporationAutomatic signal delay adjustment method
US4849937A (en)1984-12-141989-07-18Mitsubishi Denki Kabushiki KaishaDigital delay unit with interleaved memory
US4712190A (en)1985-01-251987-12-08Digital Equipment CorporationSelf-timed random access memory chip
US4719602A (en)1985-02-071988-01-12Visic, Inc.Memory with improved column access
US4792926A (en)1985-12-091988-12-20Kabushiki Kaisha ToshibaHigh speed memory system for use with a control bus bearing contiguous segmentially intermixed data read and data write request signals
US4755937A (en)1986-02-141988-07-05Prime Computer, Inc.Method and apparatus for high bandwidth shared memory
US4825411A (en)1986-06-241989-04-25Mitsubishi Denki Kabushiki KaishaDual-port memory with asynchronous control of serial data memory transfer
US4800530A (en)1986-08-191989-01-24Kabushiki Kasiha ToshibaSemiconductor memory system with dynamic random access memory cells
US4845664A (en)1986-09-151989-07-04International Business Machines Corp.On-chip bit reordering structure
US4799199A (en)1986-09-181989-01-17Motorola, Inc.Bus master having burst transfer mode
US5140688A (en)1986-11-101992-08-18Texas Instruments IncorporatedGaAs integrated circuit programmable delay line element
US4953128A (en)1986-12-161990-08-28Mitsubishi Denki Kabushiki KaishaVariable delay circuit for delaying input data
US4821226A (en)1987-01-301989-04-11Rca Licensing CorporationDual port video memory system having a bit-serial address input port
US4792929A (en)1987-03-231988-12-20Zenith Electronics CorporationData processing system with extended memory access
US4866678A (en)1987-05-211989-09-12Texas Instruments IncorporatedDual-port memory having pipelined serial output
US4866675A (en)1987-08-071989-09-12Fujitsu LimitedSemiconductor memory circuit having a delay circuit
US4845677A (en)1987-08-171989-07-04International Business Machines CorporationPipelined memory chip structure having improved cycle time
US5179687A (en)1987-09-261993-01-12Mitsubishi Denki Kabushiki KaishaSemiconductor memory device containing a cache and an operation method thereof
US4945516A (en)1987-10-091990-07-31Hitachi, Ltd.Write control circuit for a high-speed memory device
US4928265A (en)1987-11-021990-05-22Hitachi, Ltd.Semiconductor integrated circuit
US5111386A (en)1987-12-021992-05-05Mitsubishi Denki Kabushiki KaishaCache contained type semiconductor memory device and operating method therefor
US4866676A (en)1988-03-241989-09-12Motorola, Inc.Testing arrangement for a DRAM with redundancy
US5301278A (en)1988-04-291994-04-05International Business Machines CorporationFlexible dynamic memory controller
US4866679A (en)1988-08-111989-09-12Western Atlas International, Inc.Method for identifying anomalous noise amplitudes in seismic data
US4937734A (en)1989-02-211990-06-26Sun Microsystems, Inc.High speed bus with virtual memory data transfer and rerun cycle capability
US5001672A (en)1989-05-161991-03-19International Business Machines CorporationVideo ram with external select of active serial access register
US5083296A (en)1989-08-281992-01-21Hitachi, Ltd.Semiconductor memory with alternately multiplexed row and column addressing
US5606717A (en)1990-04-181997-02-25Rambus, Inc.Memory circuitry having bus interface for receiving information in packets and access time registers
US6185644B1 (en)1990-04-182001-02-06Rambus Inc.Memory system including a plurality of memory devices and a transceiver device
US5928343A (en)1990-04-181999-07-27Rambus Inc.Memory module having memory devices containing internal device ID registers and method of initializing same
US6260097B1 (en)1990-04-182001-07-10RambusMethod and apparatus for controlling a synchronous memory device
US5319755A (en)1990-04-181994-06-07Rambus, Inc.Integrated circuit I/O using high performance bus interface
US6304937B1 (en)1990-04-182001-10-16Rambus Inc.Method of operation of a memory controller
US6314051B1 (en)1990-04-182001-11-06Rambus Inc.Memory device having write latency
US5124589A (en)1990-06-191992-06-23Mitsubishi Denki Kabushiki KaishaSemiconductor integrated circuit capable of synchronous and asynchronous operations and operating method therefor
US5327390A (en)1990-07-251994-07-05Oki Electric Industry Co., Ltd.Synchronous burst-access memory
US5077693A (en)1990-08-061991-12-31Motorola, Inc.Dynamic random access memory
US5260905A (en)1990-09-031993-11-09Matsushita Electric Industrial Co., Ltd.Multi-port memory
US5117389A (en)1990-09-051992-05-26Macronix International Co., Ltd.Flat-cell read-only-memory integrated circuit
US5311483A (en)1990-11-201994-05-10Oki Electric Industry Co., Ltd.Synchronous type semiconductor memory
US5339276A (en)1990-11-201994-08-16Oki Electric Industry Co., Ltd.Synchronous dynamic random access memory
US5379438A (en)1990-12-141995-01-03Xerox CorporationTransferring a processing unit's data between substrates in a parallel processor
US5305278A (en)1990-12-181994-04-19Mitsubishi Denki Kabushiki KaishaSemiconductor memory device having block write function
US5390149A (en)1991-04-231995-02-14Texas Instruments IncorporatedSystem including a data processor, a synchronous dram, a peripheral device, and a system clock
US5404463A (en)1991-05-171995-04-04Eastman Kodak CompanyMethod and apparatus for transferring data in portable image processing system
US5345573A (en)1991-10-041994-09-06Bull Hn Information Systems Inc.High speed burst read address generation with high speed transfer
US5548786A (en)1991-10-151996-08-20International Business Machines CorporationDynamic bus sizing of DMA transfers
US5381538A (en)1991-10-151995-01-10International Business Machines Corp.DMA controller including a FIFO register and a residual register for data buffering and having different operating modes
US5381376A (en)1991-11-221995-01-10Samsung Electronics Co., Ltd.Video RAM having block selection function during serial write transfer operation
US5276858A (en)1991-12-261994-01-04Intel CorporationMemory controller with integrated delay line circuitry
US5365489A (en)1992-01-101994-11-15Samsung Electronics Co., Ltd.Dual port video random access memory with block write capability
US5323358A (en)1992-03-191994-06-21Kabushiki Kaisha ToshibaClock-synchronous semiconductor memory device and method for accessing the device
US5341341A (en)1992-03-261994-08-23Nec CorporationDynamic random access memory device having addressing section and/or data transferring path arranged in pipeline architecture
US5384745A (en)1992-04-271995-01-24Mitsubishi Denki Kabushiki KaishaSynchronous semiconductor memory device
US5708297A (en)1992-09-161998-01-13Clayton; James E.Thin multichip module
US5553248A (en)1992-10-021996-09-03Compaq Computer CorporationSystem for awarding the highest priority to a microprocessor releasing a system bus after aborting a locked cycle upon detecting a locked retry signal
US5404338A (en)1993-01-291995-04-04Mitsubishi Denki Kabushiki KaishaSynchronous type semiconductor memory device operating in synchronization with an external clock signal
US5611058A (en)1993-01-291997-03-11International Business Machines CorporationSystem and method for transferring information between multiple buses
US5444667A (en)1993-04-021995-08-22Nec CorporationSemiconductor synchronous memory device having input circuit for producing constant main control signal operative to allow timing generator to latch command signals
US5392239A (en)1993-05-061995-02-21S3, IncorporatedBurst-mode DRAM
US5455803A (en)1993-05-191995-10-03Fujitsu LimitedSemiconductor device which operates at a frequency controlled by an external clock signal
US5511024A (en)1993-06-021996-04-23Rambus, Inc.Dynamic random access memory system
US5680361A (en)1993-06-141997-10-21Rambus, Inc.Method and apparatus for writing to memory components
US5844855A (en)1993-06-141998-12-01Rambus, Inc.Method and apparatus for writing to memory components
US5422858A (en)*1993-06-281995-06-06Hitachi, Ltd.Semiconductor integrated circuit
US5504874A (en)1993-09-291996-04-02Silicon Graphics, Inc.System and method of implementing read resources to maintain cache coherency in a multiprocessor environment permitting split transactions
US5386385A (en)1994-01-311995-01-31Texas Instruments Inc.Method and apparatus for preventing invalid operating modes and an application to synchronous memory devices
US5533204A (en)1994-04-181996-07-02Compaq Computer CorporationSplit transaction protocol for the peripheral component interconnect bus
US5867541A (en)1994-05-181999-02-02Hitachi, Ltd.Method and system for synchronizing data having skew
US5649161A (en)1994-06-171997-07-15Advanced Micro DevicesPrepaging during PCI master initiated wait cycles
US5655113A (en)1994-07-051997-08-05Monolithic System Technology, Inc.Resynchronization circuit for a memory system and method of operating same
US5796624A (en)1994-09-161998-08-18Research Foundation Of State University Of New YorkMethod and apparatus for designing circuits for wave pipelining
US5475690A (en)1994-11-101995-12-12Digital Equipment CorporationDelay compensated signal propagation
US6065092A (en)1994-11-302000-05-16Hitachi Micro Systems, Inc.Independent and cooperative multichannel memory architecture for use with master device
EP0735492A1 (en)1995-03-311996-10-02Motorola, Inc.Method and apparatus for distributing bus loading in a data processing system
US5578940A (en)1995-04-041996-11-26Rambus, Inc.Modular bus with single or double parallel termination
US5663661A (en)1995-04-041997-09-02Rambus, Inc.Modular bus with single or double parallel termination
US5638531A (en)1995-06-071997-06-10International Business Machines CorporationMultiprocessor integrated circuit with video refresh logic employing instruction/data caching and associated timing synchronization
US5764963A (en)1995-07-071998-06-09Rambus, Inc.Method and apparatus for performing maskable multiple color block writes
US5778419A (en)1995-08-161998-07-07Microunity Systems Engineering, Inc.DRAM with high bandwidth interface that uses packets and arbitration
US6681288B2 (en)1995-10-192004-01-20Rambus Inc.Memory device with receives write masking information
US6266737B1 (en)1995-10-192001-07-24Rambus Inc.Method and apparatus for providing a memory with write enable information
US6493789B2 (en)1995-10-192002-12-10Rambus Inc.Memory device which receives write masking and automatic precharge information
US5748914A (en)1995-10-191998-05-05Rambus, Inc.Protocol for communication with dynamic memory
US6496897B2 (en)1995-10-192002-12-17Rambus Inc.Semiconductor memory device which receives write masking information
US6125419A (en)1996-06-132000-09-26Hitachi, Ltd.Bus system, printed circuit board, signal transmission line, series circuit and memory module
US5742798A (en)1996-08-091998-04-21International Business Machines CorporationCompensation of chip to chip clock skew
US5892981A (en)1996-10-101999-04-06Hewlett-Packard CompanyMemory system and device
US5933379A (en)1996-11-181999-08-03Samsung Electronics, Co., Ltd.Method and circuit for testing a semiconductor memory device operating at high frequency
US6034878A (en)1996-12-162000-03-07Hitachi, Ltd.Source-clock-synchronized memory system and memory unit
US5943573A (en)1997-01-171999-08-24United Microelectronics Corp.Method of fabricating semiconductor read-only memory device
US6912680B1 (en)1997-02-112005-06-28Micron Technology, Inc.Memory system with dynamic timing correction
US5987576A (en)1997-02-271999-11-16Hewlett-Packard CompanyMethod and apparatus for generating and distributing clock signals with minimal skew
US5952691A (en)1997-05-141999-09-14Ricoh Company, Ltd.Non-volatile electrically alterable semiconductor memory device
US6292877B1 (en)1997-07-012001-09-18Micron Technology, Inc.Plural pipelined packet-oriented memory systems having a unidirectional command and address bus and a bidirectional data bus
US6067594A (en)1997-09-262000-05-23Rambus, Inc.High frequency bus system
US6266730B1 (en)1997-09-262001-07-24Rambus Inc.High-frequency bus system
US6075730A (en)1997-10-102000-06-13Rambus IncorporatedHigh performance cost optimized memory with delayed memory writes
US6401167B1 (en)1997-10-102002-06-04Rambus IncorporatedHigh performance cost optimized memory
US6343352B1 (en)1997-10-102002-01-29Rambus Inc.Method and apparatus for two step memory write operations
US6005776A (en)1998-01-051999-12-21Intel CorporationVertical connector based packaging solution for integrated circuits
US6111757A (en)1998-01-162000-08-29International Business Machines Corp.SIMM/DIMM memory module
WO1999041667A1 (en)1998-02-131999-08-19Intel CorporationMemory module including a memory module controller
US6154821A (en)1998-03-102000-11-28Rambus Inc.Method and apparatus for initializing dynamic random access memory (DRAM) devices by levelizing a read domain
US6359815B1 (en)1998-03-122002-03-19Hitachi, Ltd.Data transmitter
US6539454B2 (en)1998-04-012003-03-25Mosaid Technologies IncorporatedSemiconductor memory asynchronous pipeline
WO1999050852A1 (en)1998-04-011999-10-07Mosaid Technologies IncorporatedSemiconductor memory asynchronous pipeline
US6356260B1 (en)1998-04-102002-03-12National Semiconductor CorporationMethod for reducing power and electromagnetic interference in conveying video data
US6449727B1 (en)1998-05-072002-09-10Kabushiki Kaisha ToshibaHigh-speed data transfer synchronizing system and method
US6049238A (en)*1998-05-122000-04-11Mitsubishi Denki Kabushiki KaishaClock generator and clock generating method capable of varying clock frequency without increasing the number of delay elements
US6160754A (en)1998-05-272000-12-12Hyundai Electronics Industries Co., Ltd.Synchronous memory device of a wave pipeline structure
US6016282A (en)1998-05-282000-01-18Micron Technology, Inc.Clock vernier adjustment
JP2000035831A (en)1998-07-212000-02-02Nec CorpLow skew clock tree circuit using variable threshold voltage transistor
US20010047450A1 (en)1998-07-272001-11-29Peter GillinghamHigh bandwidth memory interface
US6510503B2 (en)1998-07-272003-01-21Mosaid Technologies IncorporatedHigh bandwidth memory interface
US6049467A (en)1998-08-312000-04-11Unisys CorporationStackable high density RAM modules
US6233157B1 (en)1998-11-072001-05-15Hyundai Electronics Industries Co., Ltd.Printed circuit board and method for wiring signal lines on the same
US6336205B1 (en)1998-11-122002-01-01Matsushita Electric Industrial Co., Ltd.Method for designing semiconductor integrated circuit
US6154417A (en)1998-11-262000-11-28Samsung Electronics Co., Ltd.Integrated circuit memory devices having synchronous wave pipelining capability and methods of operating same
US6253266B1 (en)1999-02-192001-06-26Inet Technologies, Inc.Apparatus and method for controlling information flow in a card cage having multiple backplanes
WO2000054164A1 (en)1999-03-052000-09-14International Business Machines CorporationDynamic wave-pipelined interface apparatus and methods therefor
US6839393B1 (en)1999-07-142005-01-04Rambus Inc.Apparatus and method for controlling a master/slave system via master device synchronization
US6477592B1 (en)1999-08-062002-11-05Integrated Memory Logic, Inc.System for I/O interfacing for semiconductor chip utilizing addition of reference element to each data element in first data stream and interpret to recover data elements of second data stream
US6640292B1 (en)1999-09-102003-10-28Rambus Inc.System and method for controlling retire buffer operation in a memory system
US6839266B1 (en)1999-09-142005-01-04Rambus Inc.Memory module with offset data lines and bit line swizzle configuration
US6321282B1 (en)1999-10-192001-11-20Rambus Inc.Apparatus and method for topography dependent signaling
US6516365B2 (en)1999-10-192003-02-04Rambus Inc.Apparatus and method for topography dependent signaling
US6643787B1 (en)1999-10-192003-11-04Rambus Inc.Bus system optimization
US6684263B2 (en)1999-10-192004-01-27Rambus Inc.Apparatus and method for topography dependent signaling
US6526469B1 (en)1999-11-122003-02-25International Business Machines CorporationBus architecture employing varying width uni-directional command bus
US6643752B1 (en)1999-12-092003-11-04Rambus Inc.Transceiver with latency alignment circuitry
US6172895B1 (en)1999-12-142001-01-09High Connector Density, Inc.High capacity memory module with built-in-high-speed bus terminations
US6502161B1 (en)2000-01-052002-12-31Rambus Inc.Memory system including a point-to-point linked memory subsystem
US6760857B1 (en)2000-02-182004-07-06Rambus Inc.System having both externally and internally generated clock signals being asserted on the same clock pin in normal and test modes of operation respectively
US6449159B1 (en)2000-05-032002-09-10Rambus Inc.Semiconductor module with imbedded heat spreader
US6833984B1 (en)2000-05-032004-12-21Rambus, Inc.Semiconductor module with serial bus connection to multiple dies
US6388886B1 (en)2000-05-082002-05-14Mitsubishi Denki Kabushiki KaishaSemiconductor memory module and module system
US6898085B2 (en)2000-05-102005-05-24Rambus Inc.Multiple channel modules and bus systems using same
US6590781B2 (en)2000-05-102003-07-08Rambus, Inc.Clock routing in multiple channel modules and bus systems
US6545875B1 (en)2000-05-102003-04-08Rambus, Inc.Multiple channel modules and bus systems using same
US6765800B2 (en)2000-05-102004-07-20Rambus Inc.Multiple channel modules and bus systems using same
US6657871B2 (en)2000-05-102003-12-02Rambus Inc.Multiple channel modules and bus systems using same
US6646953B1 (en)2000-07-062003-11-11Rambus Inc.Single-clock, strobeless signaling system
US6853557B1 (en)2000-09-202005-02-08Rambus, Inc.Multi-channel memory architecture
US6873939B1 (en)2001-02-022005-03-29Rambus Inc.Method and apparatus for evaluating and calibrating a signaling system
US6618736B1 (en)2001-03-092003-09-09Ensim CorporationTemplate-based creation and archival of file systems
US20040054845A1 (en)2001-04-242004-03-18Rambus, Inc.Method and apparatus for signaling between devices of a memory system
US20020174311A1 (en)2001-04-242002-11-21Ware Frederick A.Method and apparatus for coordinating memory operations among diversely-located memory components
US20040170072A1 (en)2001-04-242004-09-02Rambus Inc.Method and apparatus for coordinating memory operations among diversely-located memory components
US6675272B2 (en)2001-04-242004-01-06Rambus Inc.Method and apparatus for coordinating memory operations among diversely-located memory components
US20060007761A1 (en)2001-04-242006-01-12Ware Frederick AMemory module with termination component
US20060039174A1 (en)2001-04-242006-02-23Ware Frederick AMemory module with termination component
US20060069895A1 (en)2001-04-242006-03-30Ware Frederick AMethod, system and memory controller utilizing adjustable write data delay settings
US20060077731A1 (en)2001-04-242006-04-13Ware Frederick AMemory module with termination component
US20060129776A1 (en)2001-04-242006-06-15Ware Frederick AMethod, system and memory controller utilizing adjustable read data delay settings
US6680866B2 (en)2001-10-052004-01-20Renesas Technology Corp.Clock synchronous semiconductor memory device
US20040003194A1 (en)2002-06-262004-01-01Amit BodasMethod and apparatus for adjusting DRAM signal timings
US20060056244A1 (en)2004-09-152006-03-16Ware Frederick AMemory systems with variable delays for write data signals

Non-Patent Citations (27)

* Cited by examiner, † Cited by third party
Title
Changsik Yoo, DRAM Design 3, Samsung Electronics, High Speed DRAM Interface, 35 pages.
European Search Report and Written Opinion for EP 1 653374 A3 (Application No. 05022021.9) , Jul. 26, 2006, 6 pgs.
European Search Report and Written Opinion in European Patent Application 02009032.0-2212-, search completed Jun. 27, 2005, 9 pgs.
IBM, 184 Pin DIMM Design Updates/Ramifications for Unbuffered and Registered DDR DIMMs, JC-42.5, Dec. 1999, pp. 1-12.
IBM, Corp., Application Note, Direct Rambus Memory System Overview, Mar. 30, 1998, pp. 1-5.
IBM, Micron Technology, and Reliance Computer Corporation, DDR SDRAM Registered DIMM Design Specification, Revision 0.6, Nov. 1999, 62 pages.
IEEE Draft Standard for a High-Speed Memory Interface (SyncLink), IEEE Draft 0.99 IEEE P 1596.7-199X, 1996, 66 pages.
IEEE Standard for Scalable Coherent Interface (SCI), IEEE Std 1596-1992, 270 pages.
John Poulton, Signaling in High-Performance Memory Systems, ISSCC 1999, slides 1-59 on 30 pages.
Lluis Paris, et al., WP 24.3 A 800MB/s 72 Mb SLDRAM with Digitally-Calibrated DLL, 1999 IEEE International Solid-State Circuits Conference, 0-7803-5129-0/99, 10 pages.
Mike Seibert, DRAM Memory Enabling, Micron Technology, Inc., Competitve DDR Memory Sub-systems, Platform Conference, Jul. 18-19, 2000, 67 pages.
Peter Gillingham, MOSAID Technolgies and Bill Vogley, Texas Instruments, SLDRAM: High-Performance, Open-Standard Memory, IEEE Micro, Nov./Dec. 1997, pp. 29-39.
Peter Gillingham, MOSAID Technologies, Inc. SLDRAM Architctural and Functional Overview, SLDRAM Consortium, Aug. 29, 1997, 14 pages.
Peter Gillingham, MOSAID Technologies, Inc. SLDRAM Architectural and Functional Overview, SLDRAM Consortium, Aug. 29, 1997, 13 pages.
Rambus, Inc. Data Sheet, Preliminary Information, 8/9-Mbit (1M× 8/9) and 16/18-Mbit (2M× 8/9) RDRAM, Mar. 1996, pp. 1-30.
Rambus, Inc. Data Sheet, Preliminary Information, 8/9-Mbit (1Mx 8/9) and 16/18-Mbit (2Mx 8/9) RDRAM, Mar. 1996, pp. 1-30.
Rambus, Inc. Direct RAC Data Sheet, Advance Information, Aug. 7, 1998, pp. 1-47.
Rambus, Inc., Direct Rambus Short Channel Layout Guide, Version 0.8, Mar. 2000, 33 pages.
Rambus, Inc., Rambus RIMM Connector, Document DL 0069 Version 1.01, Jul. 1999, 14 pages.
Rambus, Inc., Rambus RIMM Module (with 64/72Mb RDRAMs) Data Sheet, Preliminary Information, Document DL0078 Version 0.90, Mar. 1999, pp. 1-11.
Rambus, Inc., Rambus SO-RIMM Module (with 128/144Mb RDRAMs), Advance Information, Document DL0076 Version 0.7, Feb. 2000, pp. 1-12.
Samsung Electronics, SDRAM Module, Preliminary KMM377S1620CT2, Rev. 1, Nov. 1998, 12 pages.
SLDRAM Inc., 4M×18 SLDRAM, Draft/Advance, Jul. 9, 1998, pp. 1-69.
SLDRAM Inc., 4Mx18 SLDRAM, Draft/Advance, Jul. 9, 1998, pp. 1-69.
Wong, D., et al., "Inserting Active Delay Elements to Achieve Wave Pipelining," IEEE 1989, pp. 270-273.
Y.R. Kim, Memory Product Planning and Application, Samsung Electronics, DDR, Today and Tomorrow, Platform Conference, Jul. 18-19, 2000, 26 pages.
Yasunobu Nakase, et al., Source-Synchronization and Timing Vernier Techniques for 1.2-GB/s SLDRAM Interface, IEEE Journal of Solid-State Circuits, vol. 34, No. 4, Apr. 1999, pp. 494-501.

Cited By (56)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US8462566B2 (en)*2001-04-242013-06-11Rambus Inc.Memory module with termination component
US8717837B2 (en)*2001-04-242014-05-06Rambus Inc.Memory module
US20090138646A1 (en)*2001-04-242009-05-28Ware Frederick AMethod and apparatus for signaling between devices of a memory system
US8214616B2 (en)2001-04-242012-07-03Rambus Inc.Memory controller device having timing offset capability
US9472262B2 (en)*2001-04-242016-10-18Rambus Inc.Memory controller
US9311976B2 (en)*2001-04-242016-04-12Rambus Inc.Memory module
US20170053691A1 (en)*2001-04-242017-02-23Rambus Inc.Memory controller
US9053778B2 (en)*2001-04-242015-06-09Rambus Inc.Memory controller that enforces strobe-to-strobe timing offset
US10706910B2 (en)*2001-04-242020-07-07Rambus Inc.Memory controller
US20190325936A1 (en)*2001-04-242019-10-24Rambus Inc.Memory controller
US20120213020A1 (en)*2001-04-242012-08-23Ware Frederick AMemory controller
US20120287725A1 (en)*2001-04-242012-11-15Ware Frederick AMemory controller with selective data transmission delay
US8320202B2 (en)2001-04-242012-11-27Rambus Inc.Clocked memory system with termination component
US8359445B2 (en)2001-04-242013-01-22Rambus Inc.Method and apparatus for signaling between devices of a memory system
US8391039B2 (en)2001-04-242013-03-05Rambus Inc.Memory module with termination component
US8395951B2 (en)*2001-04-242013-03-12Rambus Inc.Memory controller
US20090063887A1 (en)*2001-04-242009-03-05Ware Frederick AMemory module with termination component
US9741424B2 (en)*2001-04-242017-08-22Rambus Inc.Memory controller
US10236051B2 (en)*2001-04-242019-03-19Rambus Inc.Memory controller
US20180012644A1 (en)*2001-04-242018-01-11Rambus Inc.Memory controller
US20060077731A1 (en)*2001-04-242006-04-13Ware Frederick AMemory module with termination component
US8537601B2 (en)*2001-04-242013-09-17Rambus Inc.Memory controller with selective data transmission delay
US20130250706A1 (en)*2001-04-242013-09-26Rambus Inc.Memory module
US8625371B2 (en)*2001-04-242014-01-07Rambus Inc.Memory component with terminated and unterminated signaling inputs
US20140098622A1 (en)*2001-04-242014-04-10Rambus Inc.Memory Controller That Enforces Strobe-To-Strobe Timing Offset
US20150043290A1 (en)*2001-04-242015-02-12Rambus Inc.Memory module
US8760944B2 (en)2001-04-242014-06-24Rambus Inc.Memory component that samples command/address signals in response to both edges of a clock signal
US9437279B2 (en)2004-09-152016-09-06Rambus Inc.Memory controller with clock-to-strobe skew compensation
US9830971B2 (en)2004-09-152017-11-28Rambus Inc.Memory controller with clock-to-strobe skew compensation
US10325645B2 (en)2004-09-152019-06-18Rambus Inc.Memory controller with clock-to-strobe skew compensation
US10755764B2 (en)2004-09-152020-08-25Rambus Inc.Memory component that enables calibrated command- and data-timing signal arrival
US11100976B2 (en)2004-09-152021-08-24Rambus Inc.Memory controller with clock-to-strobe skew compensation
US9229470B2 (en)2004-09-152016-01-05Rambus Inc.Memory controller with clock-to-strobe skew compensation
US11664067B2 (en)2004-09-152023-05-30Rambus Inc.Memory system component that enables clock-to-strobe skew compensation
US20060209619A1 (en)*2005-03-172006-09-21Samsung Electronics Co. Ltd.Data input circuit of synchronous semiconductor memory device using data sampling method for changing DQS domain to clock domain
US20150084672A1 (en)*2006-06-022015-03-26Rambus Inc.Command-triggered on-die termination
US9135206B2 (en)*2006-06-022015-09-15Rambus Inc.Command-triggered on-die termination
US20080052481A1 (en)*2006-08-222008-02-28Jong-Hoon OhMethod and circuit for transmitting a memory clock signal
US7886122B2 (en)*2006-08-222011-02-08Qimonda North America Corp.Method and circuit for transmitting a memory clock signal
US7388795B1 (en)*2006-12-282008-06-17Intel CorporationModular memory controller clocking architecture
US20080162977A1 (en)*2006-12-282008-07-03Hing ToModular memory controller clocking architecture
US7864624B2 (en)*2007-12-262011-01-04Hynix Semiconductor Inc.Semiconductor memory device and method for operating the same
US7886103B2 (en)*2008-09-082011-02-08Cisco Technology, Inc.Input-output module, processing platform and method for extending a memory interface for input-output operations
US20100064099A1 (en)*2008-09-082010-03-11Satyanarayana NishtalaInput-output module, processing platform and method for extending a memory interface for input-output operations
US20100244913A1 (en)*2009-03-302010-09-30Tellabs Operations, Inc.Method and appartus for exchanging data between devices operating at different clock rates
US10133301B2 (en)2009-03-302018-11-20Coriant Operations, Inc.Method and apparatus for exchanging data between devices operating at different clock rates
US9520986B2 (en)*2009-03-302016-12-13Coriant Operations, Inc.Method and appartus for exchanging data between devices operating at different clock rates
US9342095B2 (en)2011-03-022016-05-17Rambus Inc.Timing calibration for multimode I/O systems
US20130155792A1 (en)*2011-12-142013-06-20Elpida Memory, Inc.Semiconductor device having data terminal supplied with plural write data in serial
US9007868B2 (en)*2011-12-142015-04-14Ps4 Luxco S.A.R.L.Semiconductor device having data terminal supplied with plural write data in serial
US20190042499A1 (en)*2018-06-252019-02-07Intel CorporationHigh bandwidth dimm
US20190042500A1 (en)*2018-06-252019-02-07Intel CorporationDimm for a high bandwidth memory channel
US10884958B2 (en)*2018-06-252021-01-05Intel CorporationDIMM for a high bandwidth memory channel
US10963404B2 (en)*2018-06-252021-03-30Intel CorporationHigh bandwidth DIMM
US11699471B2 (en)2019-09-252023-07-11Intel CorporationSynchronous dynamic random access memory (SDRAM) dual in-line memory module (DIMM) having increased per data pin bandwidth
US11302380B2 (en)*2020-04-292022-04-12Realtek Semiconductor CorporationMemory controller device and phase calibration method

Also Published As

Publication numberPublication date
US7177998B2 (en)2007-02-13
EP3139277A1 (en)2017-03-08
JP2008123552A (en)2008-05-29
EP1653374A3 (en)2006-07-26
US8462566B2 (en)2013-06-11
US20130305079A1 (en)2013-11-14
US7210016B2 (en)2007-04-24
US20140098622A1 (en)2014-04-10
JP5220221B2 (en)2013-06-26
US9311976B2 (en)2016-04-12
US7200055B2 (en)2007-04-03
US20130250706A1 (en)2013-09-26
JP2002342153A (en)2002-11-29
EP3693866B1 (en)2022-03-30
JP2010108525A (en)2010-05-13
US8395951B2 (en)2013-03-12
US20020174311A1 (en)2002-11-21
JP4489817B2 (en)2010-06-23
DE60239030D1 (en)2011-03-10
EP2273376A1 (en)2011-01-12
US20150043290A1 (en)2015-02-12
US20060007761A1 (en)2006-01-12
US20040054845A1 (en)2004-03-18
EP2278474B1 (en)2015-02-18
US10236051B2 (en)2019-03-19
US9053778B2 (en)2015-06-09
EP2278474B8 (en)2015-10-21
US8760944B2 (en)2014-06-24
JP5014446B2 (en)2012-08-29
EP2849075A1 (en)2015-03-18
EP3139277B1 (en)2019-11-27
JP4255242B2 (en)2009-04-15
EP2849075B1 (en)2016-10-19
JP4358887B2 (en)2009-11-04
US20170053691A1 (en)2017-02-23
US20090138646A1 (en)2009-05-28
JP2012248225A (en)2012-12-13
EP2849075A8 (en)2015-09-16
US8717837B2 (en)2014-05-06
US20040170072A1 (en)2004-09-02
EP1653374B1 (en)2010-01-06
US7225311B2 (en)2007-05-29
EP2273376B1 (en)2014-10-29
EP3693866A1 (en)2020-08-12
DE60235050D1 (en)2010-02-25
US20160196864A1 (en)2016-07-07
US6675272B2 (en)2004-01-06
EP2192494B1 (en)2012-06-20
US9472262B2 (en)2016-10-18
US20120287725A1 (en)2012-11-15
US20210027825A1 (en)2021-01-28
US7484064B2 (en)2009-01-27
EP2278474A1 (en)2011-01-26
US8537601B2 (en)2013-09-17
US20060069895A1 (en)2006-03-30
US20090063887A1 (en)2009-03-05
JP5112391B2 (en)2013-01-09
US20130279278A1 (en)2013-10-24
US20190325936A1 (en)2019-10-24
JP2008135063A (en)2008-06-12
EP1653374A2 (en)2006-05-03
US20070255919A1 (en)2007-11-01
DE20221512U1 (en)2006-04-27
US7225292B2 (en)2007-05-29
US10706910B2 (en)2020-07-07
EP2275943A1 (en)2011-01-19
US9741424B2 (en)2017-08-22
US8359445B2 (en)2013-01-22
US20060039174A1 (en)2006-02-23
US8214616B2 (en)2012-07-03
US20180012644A1 (en)2018-01-11
EP2192494A1 (en)2010-06-02
US20120213020A1 (en)2012-08-23
US20050169097A1 (en)2005-08-04
DE20221511U1 (en)2006-04-13
EP1653374B2 (en)2014-10-29
EP2275943B1 (en)2015-03-11
US8625371B2 (en)2014-01-07
US20060129776A1 (en)2006-06-15
JP2009238244A (en)2009-10-15

Similar Documents

PublicationPublication DateTitle
US10706910B2 (en)Memory controller
US8320202B2 (en)Clocked memory system with termination component
EP1291778A2 (en)Method and apparatus for coordinating memory operations among diversely-located memory components

Legal Events

DateCodeTitleDescription
STCFInformation on status: patent grant

Free format text:PATENTED CASE

CCCertificate of correction
FPAYFee payment

Year of fee payment:4

FPAYFee payment

Year of fee payment:8

ASAssignment

Owner name:RAMBUS INC., CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:WARE, FREDERICK A.;TSERN, ELY K.;PEREGO, RICHARD E.;AND OTHERS;REEL/FRAME:034093/0933

Effective date:20010424

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 12TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1553); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Year of fee payment:12

ASAssignment

Owner name:HIGHLANDS LLC, NEW YORK

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RAMBUS INC.;REEL/FRAME:058298/0836

Effective date:20210816

ASAssignment

Owner name:RAMPART ASSET MANAGEMENT, LLC, TEXAS

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HIGHLANDS LLC;REEL/FRAME:058956/0139

Effective date:20211201


[8]ページ先頭

©2009-2025 Movatter.jp