The present invention is directed to bus systems, more particularly to improved methods and arrangements for providing clock signals in multiple channel modules and bus systems
Conventional bus systems are typically implemented in single channel architectures. While conventional bus systems have been implemented using modules, the modules in such systems have merely been arranged in a serial relationship on a motherboard. For example, consider the bus system shown in
One or more bus(es) 16 forms the communications channel between master 11 and a termination resistor 12. Bus 16 typically comprises a number of signals lines communicating control information, address information, and/or data. The signal lines forming bus 16 traverse the motherboard and/or the modules to electrically connect the integrated circuits 15 to master 11.
There are numerous problems associated with such conventional bus systems. For example, the serial arrangement of the connectors and associated modules creates a relatively lengthy communications channel. Since there are many factors limiting the maximum practical length of a communications channel, channel length should, wherever reasonably possible, be minimized.
Conventional bus systems are also characterized by numerous electrical connection points between the connectors and the bus portions traversing the motherboard, between the modules and the connectors, and between the integrated circuits and the bus portion traversing the modules. Improperly matched electrical connections often produce impedance discontinuities that tend to degrade signal transmission characteristics on the bus. Accordingly, the number of impedance discontinuities associated with the bus connections should be minimized.
Such conventional bus systems present a very static architecture, which may not lend itself to the efficient utilization of available space within a larger system. For example, a maximum, pre-set number of connectors is typically provided within the conventional bus system, regardless of the actual number of modules initially contemplated for the bus system. Upgrading the bus system to include additional modules requires that a sufficient number of connectors be provided up to the maximum length (or capacity) of the channel. Typically, empty connectors are filled with dummy modules until they are needed. Absent these spare connectors, upgrading the bus system to include an additional module would require that the motherboard be replaced.
The static architecture of the conventional bus system provides a “one size fits all” approach to larger systems incorporating the bus system. The serial arrangement of connectors and modules on a motherboard may produce an undesirably large footprint within the larger system. Further, this configuration does not lend itself to irregular or crowded spaces within the larger system.
Of further concern is the routing of clock signals. High-speed clock signals require special treatment, in that they are particularly susceptible to reflections based on discontinuities in the clock loop circuit. Thus, there is a need for improved clock routing schemes that can support, not only static architectures, but also modular architectures.
The present invention provides improved clock routing methods and arrangements suitable for use with modular components.
The above stated needs and others are met, for example, by an apparatus that includes a memory interface circuit, a clock signal generating circuit, and a plurality of memory circuits. The memory circuits are operatively coupled and arranged in an order on a plurality of memory modules, such that the memory module positioned at the beginning of the order is coupled to an output of the clock signal generating circuit and the memory interface circuit. The memory module that is positioned at the end of the order is unique in that it includes a clock signal terminating circuit connected to the last memory integrated circuit. With this configuration, a clock loop is formed by directly routing the clock signal from the output of the clock signal generating circuit through each of the memory modules in the order (without connecting to any of the intervening memory integrated circuits) to the memory integrated circuit positioned at the end of the order. Then, the clock signal is asserted on the previous memory modules by routing it back through the memory integrated circuits thereon, in reverse order to the memory integrated circuit positioned at the beginning of the order and from there to the memory interface circuit. To complete the clock loop, the clock signal is again asserted by routing it from the memory interface circuit back through the memory integrated circuits in order to the memory integrated circuit positioned at the end of the order. Finally, the clock signal is terminated at the clock signal terminating circuit on the memory module positioned at the end of the order.
By employing certain layouts, the memory module positioned at the end of the order can be moved between various positions depending upon the number/arrangement of memory integrated circuits. For example, a terminating memory module may be the only memory module in the order, at which point it can be operatively configured in a first slot of a multiple slot arrangement. However, should additional memory modules be required this terminating memory module can be moved to a slot further in the order to allow for the additional memory modules there between. Certain exemplary configurations of such arrangements are shown in the detailed description. These exemplary implementations have a three-slot order. However, those skilled in the art will recognize that orders of three or greater slots/memory modules can be supported by the clock routing schemes in accordance with the present invention.
A more complete understanding of the various methods and arrangements of the present invention may be had by reference to the following detailed description when taken in conjunction with the accompanying drawings wherein:
An exemplary implementation of the module claimed in this related application is shown in
A bus 25 internal to the module extends from the first set of edge fingers 21, traverses substantially the entire first primary surface of the PCB, folds back at the distant end of the PCB, traverses substantially the entire second primary surface of the PCB, and terminates at the second set of edge fingers 22. Bus 25 typically comprises a plurality of signal lines. The signal lines forming bus 25 may run on top the first and second surfaces of PCB 20. Alternatively, bus 25 may be formed within the body of PCB 20. ICs 23a-23f are respectively connected to this plurality of signal lines.
As described in the related application, the foregoing module may be used in conjunction with a related connector to implement bus systems having improved signal transmission characteristics. Overall channel length and impedance discontinuities related to motherboard connections are reduced. Further, by means of the novel connector and associated module structure described in the related application, bus systems may be implemented in a number of ways. For example, modules may be vertically stacked one above the other, or horizontally racked one next top the other within a single connector.
The present invention allows additional flexibility in the design and implementation of bus systems. Whereas the former invention relies substantially upon the design of the multi-slot connector to flexibly implement bus systems, the present invention relies more on module design.
To this end, consider the module shown in
The module shown in
In the illustrated example of
Right angle connector 32 may include one or more signal lines 36 connected back to edge fingers 21, and/or connected to a second set of edge fingers 22. Signal lines 36 might be used, for example, as ground connections.
The modules may implement one or channels. The term “channel” is broadly defined to define one or more signal lines communicating information between two points. In the following examples, one or more ICs are typically associated with a channel, and the channel communicates information from a master (a controlling device) to a slave (a responding device). However, one of ordinary skill in the art will understand that the ICs in the following examples may be replaced with connectors allowing connection of an auxiliary channel. The ICs in the following examples may be memory devices, receivers, transceivers, logic devices, or other control devices.
Whether the modules of the present invention implement one or more channels, they may be flexibly configured to form a bus system.
In
Such module-to-module connection may continue until a bus system of desired size and configuration is completed. Alternatively, at some point, the channel(s) defined between the master on motherboard 40 and the ICs on the last module will reach its maximum practical length. In either event, when the bus system is complete the signal lines of the bus are terminated in a matched impedance. Signal line termination may be done in a set of termination resistors on the last module, or by means of a special termination module 42 connected to the right angle connector 51c of the last module. By using termination module 42, the other modules need not include termination resistors.
Another embodiment of the modules according to the present invention is shown in
An exemplary bus system configured with the modules of
In the example shown in
Yet another implementation of the modules according to the present invention is shown in
In
An exemplary memory system configured with the module of
In fact, single channel and multiple channel modules may be implemented in a number forms using conventional electrical connectors.
An exemplary two-channel module is illustrated in
The module of shown in
Each one of the foregoing examples makes use of a number of connectors. In addition to providing a connection path between respective internal buses, the structure of the connector may also be used to provide mechanical support for modules, which are stacked one above the other, or racked one next to the other in a bus system. While this feature is often desirable in the implementation of certain bus system architectures, the present invention has broader applications.
For example, the present invention may be adapted to take full advantage of conventional ribbon connectors and similar flexible connectors. By means of these connectors, modules forming a bus system need not be stacked or racked in close proximity one to another. Rather, module may be placed at greater distances one to another and may be mounted within a larger system at odd angles one to another. While separating modules will increase the channel length, there are many applications where reduced channel length will be happily traded away for ease and flexibility of implementation.
Before illustrating the use of flexible connectors, several modules structures will be described. Each of these module structures makes use of “finger connectors.” The term “set of edge fingers” has been used above to described a class of electrical connectors characterized by a number of parallel electrical contacts disposed near the edge of a PCB and adapted to “mate” with a corresponding connector slot. Edge fingers are generally pushed into the connector slot to make electrical bus connections and provide mechanical support to the module.
While often located near or at the edge of a PCB, a set of finger connectors need not be located on the edge of the PCB. A set of finger connectors, like a set of edge fingers, typically comprises a set of parallel electrical contacts. In the context of a bus, each electrical contact typically corresponds to a bus signal line. Ribbon connectors and other flexible parallel connectors are well adapted to interconnect such parallel electrical contact structures. However, a ribbon connector may be coupled to a set of finger connectors anywhere on the PCB, not just the edge. Thus, the term finger connector may denote an edge finger, but may also denote a more generic electrical contact.
In these examples, the respective sets of input finger connectors (120 and 120a-120d) as well as the output connector 121 in
Utilizing one or more of the modules illustrated above, bus systems having various configurations may be implemented using one or more flexible connector(s). Consider the examples shown in
In
ICs 153a, 153b, 153c, and 153d can, for example, be connected in a channel extending from a edge lower fingers on module 152a, through an internal bus portion on module 152a, through flexible connector 154, down through an internal bus portion on module 152b, to be terminated at a lower set of edge fingers on module 152b. Other channels may be similarly implemented.
The bus system shown in
As illustrated in these examples, the present invention provides modules adapted to be configured with one or more channels. While the foregoing examples have been drawn to multiple channel embodiments, in every case a single channel may be implemented. The modules may be interconnected using various connectors to form bus systems. Such bus systems may be implemented in a variety of configurations and channel definitions. Relative channel lengths may be reduced given a defined set of configuration requirements. Bus interconnections within the system may also be reduced, thereby reducing the potential for impedance mismatches and undesired channel loading.
As with many mechanical systems, the examples given above may be modified in many ways. The use of right angle connectors has been described, as well as the use of conventional connectors including ribbon and other flexible connectors. Other connector types may be used within the present invention. Channel path definition, integrated circuit layout, and internal bus routing on the various modules may also be readily adapted to suit the system designer's purpose.
Reference is now made to the exemplary single channel clock routing scheme depicted in
In this example, only the clock routing circuitry is depicted, as beginning at clock generator 212 passing through traces 224 on PCB 200, memory module 204c, continuity modules 204b and 204a to RAC 202. Then the clock signal loops back from RAC 202 through traces on PCB 200, continuity modules 204a and 204b, memory module 204c (and integrated circuit 210) to terminating circuit 214.
One of the problems with this clock routing scheme is that continuity modules 204a-b are required to complete the clock loop. Note that while the traces shown in
With this in mind, reference is now made to
Should a user wish to expand the amount of memory at some stage in the future, then, in this example, terminating memory module 220 can be moved to the third slot as depicted in
From memory module 226 in the first slot, the clock signal is routed through traces 224 to RAC 202, and then back again. The clock signal is then routed from memory module 226 in the first slot to memory module 226 in the second slot, again over the flexible conductor portion 228, passing through their respective memory integrated circuit(s) 210 on each memory module. The clock signal is then passed through traces 224 to memory module 220 in the third slot. The clock signal then passes through memory integrated circuit(s) 210 on terminating memory module 220, and finally to terminator circuit 222 thereon.
Those skilled in the art will further recognize that additional signals (e.g., control and/or data) can also be routed in the same manner, as is the clock signal in
One of the main goals in the clock routing schemes depicted in the examples above is to provide a uniform transmission line without significant reflections, which could cause standing waves in the clock circuit. These exemplary arrangements support this goal by allowing the designer to reduce the number of discontinuities in the clock loop circuit.
Although some preferred implementations of the various methods and arrangements of the present invention have been illustrated in the accompanying drawings and described in the foregoing Detailed Description, it will be understood that the invention is not limited to the exemplary implementations disclosed, but is capable of numerous rearrangements, modifications and substitutions without departing from the spirit of the invention as set forth and defined by the following claims.
This application is a divisional of U.S. patent application Ser. No. 10/420,308, filed Apr. 22, 2003 now U.S. Pat. No. 7,027,307, which is a divisional of U.S. patent application Ser. No. 09/817,828, filed Mar. 26, 2001, now U.S. Pat. No. 6,590,781, which is a continuation-in-part of U.S. patent application Ser. No. 09/568,424, filed May 10, 2000, now U.S. Pat. No. 6,545,875, all of which are hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
4573120 | Ichimiya et al. | Feb 1986 | A |
4709300 | Landis | Nov 1987 | A |
4743868 | Katoh et al. | May 1988 | A |
5010515 | Torborg, Jr. | Apr 1991 | A |
5224023 | Smith et al. | Jun 1993 | A |
5276817 | Matschke et al. | Jan 1994 | A |
5293589 | Skordou et al. | Mar 1994 | A |
5523703 | Yamamoto et al. | Jun 1996 | A |
5598580 | Detschel et al. | Jan 1997 | A |
5625169 | Tanaka | Apr 1997 | A |
5635761 | Cao et al. | Jun 1997 | A |
5680297 | Price et al. | Oct 1997 | A |
5751553 | Clayton | May 1998 | A |
5910151 | Adedokun | Jun 1999 | A |
5910885 | Gulachenski et al. | Jun 1999 | A |
5943573 | Wen | Aug 1999 | A |
5981870 | Barcley et al. | Nov 1999 | A |
6003121 | Wirt | Dec 1999 | A |
6005776 | Holman et al. | Dec 1999 | A |
6142830 | Loeffler | Nov 2000 | A |
6172895 | Brown et al. | Jan 2001 | B1 |
6243272 | Zeng et al. | Jun 2001 | B1 |
6253332 | Hassan | Jun 2001 | B1 |
6357018 | Stuewe et al. | Mar 2002 | B1 |
6392897 | Nakase et al. | May 2002 | B1 |
6404660 | Gamini et al. | Jun 2002 | B1 |
6442644 | Gustavson et al. | Aug 2002 | B1 |
6530033 | Raynham et al. | Mar 2003 | B1 |
6765800 | Haba et al. | Jul 2004 | B2 |
6784526 | Mezawa | Aug 2004 | B1 |
20040066636 | Kollipara et al. | Apr 2004 | A1 |
20040105240 | Haba et al. | Jun 2004 | A1 |
20070254738 | Sato | Nov 2007 | A1 |
Number | Date | Country |
---|---|---|
1 947 549 | Jul 2008 | EP |
2006-158882 | Jun 2006 | JP |
WO 2007143755 | Dec 2007 | WO |
Number | Date | Country | |
---|---|---|---|
20050254221 A1 | Nov 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10420308 | Apr 2003 | US |
Child | 11190561 | US | |
Parent | 09817828 | Mar 2001 | US |
Child | 10420308 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09568424 | May 2000 | US |
Child | 09817828 | US |