Reflecting on the bandwidth allocation options of Table 1, each of the switched lane groups is switched between as few as two and at least as many as log2m+1 different steering options. Lane group LG1, for example, is switchably coupled to either socket S0 or socket S1 (two steering options) and thus may be steered by a 1:2 switch element 2471 as shown. By contrast, lane group LG7 is switchably coupled to one of four different sockets (i.e., log28+1=four steering options) so that, in the 8-socket example of Table 1, switch element 247m-1 may be implemented by a 1:4 switch), including socket S0 in the single-module (x1) configuration, socket S1 in the x2 configuration, socket S3 in the x3-x6 configurations and socket S7 in the x7 and x8 configurations. Thus, steering switch may be formed by m−1 switching elements (one for each of the switched lane groups), including switches having as few as two steering options (switch selections) per data lane, and switches having at least as many as log2m+1 steering options. Also, because the number of required interface nodes increases by half the base number (n) for each doubling of the number of module sockets, the total number of interface nodes is given by n+0.5*n*log2m (or n+½*n*(SO−1)), where “*” denotes multiplication. That is, the number of interface nodes is proportional to the log of the socket count (not the socket count itself as in the replicated-channel system discussed above). Further, the number of interface nodes required per memory socket (and thus the memory channel width and maximum allocable fraction of the system bandwidth for that socket) halves with each doubling of the number of memory sockets, with the sockets in the last-to-be-loaded half of the system having half the minimum number of interface nodes provided to the sockets in the first-to-be-loaded half of the system. Analytically, the number of interface nodes per socket in such an embodiment may be expressed as: n/(2*{circumflex over ( )}roundup(log2X)), where ‘*{circumflex over ( )}’ denotes exponentiation, ‘X’ is the socket number (an integer between 1 and m that corresponds to the order in which the socket is loaded, with socket number 1 being loaded first), and “roundup( )” is a function that rounds its argument up to the nearest integer. For example, in an eight-socket system in accordance with the foregoing, the number of interface nodes per socket may be as follows (more or fewer sockets may be provided in alternative embodiments):
Detail view 350 illustrates an example of a switching element 381 that may be replicated as necessary within steering circuit 343 (or within steering circuits 325 and/or 327) to provide a bidirectional 1:2 (and 2:1) or unidirectional signal steering function. As shown, an internal signal link, DQI is switchably coupled to each of two external signaling links DQXA and DQXB via respective pass gates 383 and 385. Each of the pass gates is implemented by a pair of parallel-coupled transistors that is switched on in response to opposite polarity gate voltages (e.g., PMOS and NMOS transistors in the example shown). A switch control signal is provided to the gate terminals of each pass-gate 383 and 385 in a reverse polarity orientation such that one of the pass gates is switched to a conducting state (i.e., switched on) and the other to a substantially non-conducting state (i.e., switched off), depending on the state of the switch control signal. More specifically, in the embodiment shown, a logic high switch control signal switches on pass gate 383 (through application of the logic high voltage to the NMOS transistor and a logic low voltage, generated by inverted 387, to the PMOS transistor) and switches off pass gate 385 to switchably couple the internal data link, DQI[i] exclusively and bidirectionally to external link DQXA[i]. Conversely, a logic low switch-control signal switches on pass gate 385 (logic low signal applied to PMOS transistor and logic high signal, generated by inverter 387, applied to NMOS transistor) and switches off pass gate 383 to switchably couple DQI[i] exclusively and bidirectionally to external link DQXB[i]. Analog switching element 381 may be used as a building block (or the number of pass gates therein increased) to provide a generalized 1:N or N:1 steering function.
As mentioned, the steering circuitry may also be disposed in a buffer IC 307, thus enabling use of a memory control IC that lacks an internal steering function (e.g., the buffer IC may provide for capacity expansion while maintaining a compatible system integration with legacy systems that utilize memory controllers lacking an internal steering function). In the embodiment shown, for example, buffer IC 307 is coupled between a set of asymmetric memory channels (shown as four channels having widths n, n/2, n/4 and n/4) and a memory control IC 305 having controller core logic 313 and physical I/O circuitry (drivers 365 and receivers 367), but lacking the above-described signal steering function. More specifically, the buffer IC 307 includes a steering circuit 361 and memory-side interface (indicated conceptually by links DQM) to the asymmetric memory channels, as well as a controller-side interface (indicated by links DQC) to the memory control IC 305. The buffer IC may be mounted to a motherboard or other substrate (thus forming a buffer-on-board) or together with the memory control IC and/or other IC's in an integrated circuit package (e.g., a system-in-package). With regard to internal organization, the steering circuit 361 may be disposed on either side of the physical memory-side signaling interface (e.g., as in memory IC 301 or memory IC 303) and thus implemented using either of the multiplexing or switching elements 371 and 381.
This application is a continuation of U.S. patent application Ser. No. 16/828,570 filed Mar. 24, 2020 (now U.S. Pat. No. 11,200,181), which is a continuation of U.S. patent application Ser. No. 15/992,112 filed May 29, 2018 (now U.S. Pat. No. 10,621,120), which is a continuation of U.S. patent application Ser. No. 15/458,166 filed Mar. 14, 2017 (now U.S. Pat. No. 9,996,485), which is a continuation of U.S. patent application Ser. No. 14/874,324 filed Oct. 2, 2015 (now U.S. Pat. No. 9,632,956), which is a continuation of U.S. patent application Ser. No. 13/499,029 filed Mar. 29, 2012 (now U.S. Pat. No. 9,183,166), which is a 35 U.S.C. § 371 U.S. National Stage of International Patent Application No. PCT/US2010/051318 filed Oct. 4, 2010, which claims priority to U.S. Provisional Patent Application No. 61/286,371 filed Dec. 14, 2009. Each of the above-identified patent applications is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
61286371 | Dec 2009 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16828570 | Mar 2020 | US |
Child | 17534180 | US | |
Parent | 15992112 | May 2018 | US |
Child | 16828570 | US | |
Parent | 15458166 | Mar 2017 | US |
Child | 15992112 | US | |
Parent | 14874324 | Oct 2015 | US |
Child | 15458166 | US | |
Parent | 13499029 | Mar 2012 | US |
Child | 14874324 | US |