The disclosure herein relates generally to integrated circuit memory technology and more particularly to signaling interfaces in memory system components.
The various embodiments disclosed herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
The rising cost of processor development results in the desire to utilize processor designs across as many product segments as possible. However, different memory types may be used across these product segments to better match performance, cost, and capacity requirements for these segments. One solution is to manufacture different processors for each segment, each with different memory interfaces or “PHYs” (physical signaling interfaces). Coupled with long development times that make predicting DRAM price points and DRAM availability difficult at the time systems are manufactured and sold, it can be difficult for processor manufacturers to start the right mix of wafers (each with processors that connect to different memory types) to adequately meet the needs of the market that far ahead in time.
Multi-modal PHYs, which can communicate with multiple memory types, mitigate risk by allowing different memory types to be connected to the same processor. They are used in several applications in the compute, consumer, and graphics markets. Multi-modal PHYs allow a system designer to match DRAM price and availability to the needs of the various product segments supported by the processor, and to mitigate price and availability risk for new memory types during memory transitions. They also allow processors to be speed binned, with the fastest processors connecting to the highest performance memory, and being put into the highest performance end systems. Although a processor (or other control IC) having a multi-modal PHY may be packaged in various different packages each according to intended application, additional benefits result when the multi-modal PHY is implemented within a single package that supports multiple memory types (i.e., multi-modal PHY with no package changes or “uniform package” multi-modal PHY). Manufactured in this manner, the resulting processor can be paired with memory at the time of final system manufacture, thus enabling the same multi-modal-PHY package to be designed into a system well before the memory type determination is made. This flexibility and support for late-stage memory-type selection (e.g., determined at system assembly time), reduces the need to estimate customer demand and thus reduces inventory risks. That is, the uniform-package multi-modal PHY obviates estimation of (or commitment to) a particular memory type at packaging time, thus avoiding the increased demand estimation and inventory risk that the longer lead time would otherwise incur, and instead allowing market needs to be assessed closer to when the systems will be sold.
While multi-modal PHYs provide flexibility, that flexibility comes at a cost of potentially increased die or package area consumption, an increase that may not be feasible in some area-constrained packaging or die-interconnect technologies. For example, the limited interconnect area in flip-chip packages tends to be entirely consumed by bumps required for the PHY, thus forcing designers to settle for less flexible PHY options. Further, the area increase tends to be particularly significant if both single-ended and differential signaling are supported, all of which raises the question of how to achieve the flexibility afforded by multi-modal PHYs while at the same time addressing PHY area concerns.
Multi-modal PHYs typically are broken into a command/address (C/A) block (i.e., for all Command/Address signals) and one or more DQ blocks (i.e., for all data signals). The sizes of these blocks are set by the number of bumps required by the mode requiring the most bumps. For example, in a PHY that supports GDDR5 and DDR3, a typical graphics x32 implementation may require 31 pins in the C/A block, and 48 pins in the DQ blocks.
Supporting differential signaling on the DQs (which allows higher per-pin data rates to be achieved) requires two signal conductors per data link, and thus may increase the number of signal pins in the DQ blocks compared to DRAMs that use single-ended signaling. The above 32 DQ link PHY, for example, would require at least 64 signal interconnects in the DQ blocks. Thus, following the approach shown in
As shown in each figure, a number of pins otherwise dedicated to the C/A block may instead be modally assigned to either the C/A or DQ blocks. Consequently, such “block modal” or “multi-block” pins may be used as C/A pins when the PHY is connected to some memory types, and as DQ pins when the PHY is connected to other memory types, thus enabling selected pins (or any other type of signal-link interconnect) to be allocated alternately to a command/address signaling function or a data signaling function according to the interface configuration. In the particular embodiment shown, for example, a uniform-package, multi-modal PHY includes sixteen block-modal pins that enable support for XDR2 memory (16 Gbps differential signaling) as well as GDDR5 and DDR3 modes (401, 402, 403, respectively) without increasing the total interconnect area beyond that required to support DDR3 alone. Thus, allowing some pins to be modally assigned as C/A pins of one DRAM and/or signaling type in a first mode (e.g. DDR3 and GDDR5 modes) and as DQ pins of another DRAM/signaling type in a second mode (e.g. XDR2 mode) enables I/O count to be reduced in a multi-modal PHY supporting multiple signaling types. More generally, the block modal pins enable area-efficient (i.e., reduced area) implementation of a multi-modal, uniform-package PHY having increased data-pin count mode (e.g., differential signaling mode). For example, while the embodiment depicted in
In contrast to the PHY modes shown in
Mapping differential signal components to side-by-side interconnects and aligning the differential signal mapping within supported memory types to the same pair of interconnects may improve on-chip and off-chip signal routing and interconnection in a number of ways. For example, the constituent signals of each differential signal pair may be efficiently routed side by side on-chip (i.e., on an integrated circuit die) between their respective pins (or other external-interface contacts) and a differential driver, receiver or transceiver. Similarly, the side-by-side disposition of differential interconnects facilitates side-by-side pin connection and routing of the constituent signal lines of a chip-to-chip differential signaling link (i.e., a pair of conductors formed between IC dice through intra-package connections such as bond wires, cables or the like, or, in the case of separately packaged IC dice, through package-to-package signal paths formed by traces and vias on a printed circuit board, cables, etc.), potentially improving signal integrity on the differential link by reducing cross-talk, timing skew, etc. Moreover, dedicating a given pair of interconnects to a differential signaling function in each supported PHY mode (and thus for each supported memory type) may simplify the logical interface between the controller core and PHY as only one incoming and/or outgoing signal source need be communicated between the core and the PHY with respect to the pair of interconnects, regardless of the selected PHY mode.
Reflecting on
Also, still referring to
Referring to detail view 512, the A and B interconnects include respective single-ended output drivers 515, 517, and interconnect A additionally includes differential output driver 521 and differential receiver 523. The single-ended output drivers 515, 517 are enabled by logic gate 527 to transmit address data bits A[15] and A[14] on respective C/A links when the PHY mode specifies that the interconnects are transmit-enabled (i.e., Txe[i] is asserted) and form part of the C/A block (i.e., Dblk[n] is deasserted), and thus when DDR3 PHY mode is selected. By contrast, the differential output driver 521 is enabled by logic gate 529 to transmit write data bit, D[15], differentially via DQ links DQ[15] and DQN[15] when the PHY mode specifies that the interconnects are transmit-enabled and form part of the data block (i.e., Txe[i] and Dblk[n] both asserted), and thus during data transmit operations when XDR2 PHY mode is selected. A multiplexer 531 or other selector circuit is provided within interconnect A to select either DQ[15] or A[14] to be supplied to an output register 533 (or latch) according to the state of a signal-select input (Ssel[k]), and thus according to the selected PHY mode. Note that Dblk[n] may alternatively be used to control the multiplexer selection and thus reduce the number of control signals required, at least for the pair of interconnects shown. A transmit clock signal (tCK), which may have a frequency in accordance with the selected PHY mode, is supplied to time the data or address-bit load operation within output register 533 and in counterpart output register 535 within interconnect B. Though not shown, circuitry may be provided to gate the transmit clock and/or disable data-load operations within either or both of the output registers during intervals or PHY modes in which no signals are to be transmitted at either or both interconnects.
The differential receiver 523 is enabled to receive read data bit, Q[15], via DQ links DQ[15] and DQN[15] when the PHY mode specifies that the interconnects are receive-enabled, and thus during data receive operations in the XDR2 PHY mode. In the embodiment shown, the differential receiver outputs a logic-level signal that is captured within a receive data register 537 (i.e., a read data register in this example) in response to transitions of a receive clock signal, rCK. As with the signal transmission path, circuitry may be provided to gate the receive clock and/or disable data capture within receive data register 537 during intervals or PHY modes in which no signals are to be received at the interconnects.
It should be noted that various aspects of the interconnects shown in
Still referring to
PHY mode controller 601 may provide a variety of control outputs in addition to or as alternatives to those shown. For example, the PHY mode controller may select between multiple different reference clock frequencies, signal transmission formats (e.g., bit steering, bit stuffing), power control and so forth in accordance with the specified PHY mode. In one embodiment, for example and without limitation, PHY mode controller 601 may select the clock multiplier ratio in another PLL (e.g., selecting the feedback clock frequency divisor), select one of multiple reference clock sources (including selecting between internal and external reference clock sources) and/or control the operation of the reference clock oscillator itself (e.g., switchably controlling the number of stages in a ring oscillator). With regard to signal transmission formats, PHY mode controller 601 may assert signals as necessary to steer bits to specific interconnects, perform bit-stuffing operations (e.g., insertion of dummy bits or other non-information bits into the bitstream output from a given interconnect), provide framing control, perform error-checking/correction and so forth. The PHY mode controller may also output signals as necessary to avoid unnecessary power consumption, including disabling clock generation sources that are unnecessary for a given PHY mode and/or dynamically switching clocking sources or other power-consuming circuitry between active and low-power states in response to detected events or conditions, and/or when externally instructed to do so. Also, to provide flexibility and support for future PHY requirements, any or all of the various control vectors output by the PHY mode controller (e.g., signal-select, timing-select, driver-enable, receiver-enable, data-block, rate control, etc.) may be independently controlled by settings within one or more mode registers and/or configuration circuits instead of being logically derived from the specification of a particular memory type. More generally, selection of any of the supported PHY modes within embodiments presented herein may be accompanied by a change in various aspects of the overall signaling protocol including without limitation, changes in data formatting and/or encoding (e.g., burst length, interface width, error encoding, transition-density encoding, etc.), command formatting and/or encoding, signaling rate (including different signaling rates as between different classes of signals with, for example, command signals and/or address signals being transmitted at a lower or otherwise different signaling rate than data signals), sample point control (e.g., strobe-based vs. sampling in response to an internally generated or recovered clock), support for data masking, reference voltage generation, signal inversion and so forth.
A number of advantages and benefits may be achieved by providing a control component operable to interface to at least two types of memory devices having different control/address interfaces, where a portion of the control/address interface of the memory controller is reconfigured as a data interface for one of the two memory types to account for the different control address interface. Such benefits include, but are not limited to:
It should be noted that the various circuits and physical signaling interfaces (PHYs) disclosed herein may be described using computer aided design tools and expressed (or represented), as data and/or instructions embodied in various computer-readable media, in terms of their behavioral, register transfer, logic component, transistor, layout geometries, and/or other characteristics. Formats of files and other objects in which such circuit expressions may be implemented include, but are not limited to, formats supporting behavioral languages such as C, Verilog, and VHDL, formats supporting register level description languages like RTL, and formats supporting geometry description languages such as GDSII, GDSIII, GDSIV, CIF, MEBES and any other suitable formats and languages. Computer-readable media in which such formatted data and/or instructions may be embodied include, but are not limited to, computer storage media in various forms (e.g., optical, magnetic or semiconductor storage media, whether independently distributed in that manner, or stored “in situ” in an operating system).
When received within a computer system via one or more computer-readable media, such data and/or instruction-based expressions of the above described circuits may be processed by a processing entity (e.g., one or more processors) within the computer system in conjunction with execution of one or more other computer programs including, without limitation, net-list generation programs, place and route programs and the like, to generate a representation or image of a physical manifestation of such circuits. Such representation or image may thereafter be used in device fabrication, for example, by enabling generation of one or more masks that are used to form various components of the circuits in a device fabrication process.
In the foregoing description and in the accompanying drawings, specific terminology and drawing symbols have been set forth to provide a thorough understanding of the present disclosed embodiments. In some instances, the terminology and symbols may imply specific details that are not required to practice those embodiments. For example, any of the specific numbers of bits, signal path widths, signaling or operating frequencies, component circuits or devices and the like may be different from those described above in alternative embodiments. Additionally, links or other interconnection between integrated circuit devices or internal circuit elements or blocks may be shown as buses or as single signal lines. Each of the buses may alternatively be a single signal line, and each of the single signal lines may alternatively be buses. Signals and signaling links, however shown or described, may be single-ended or differential. A signal driving circuit is said to “output” a signal to a signal receiving circuit when the signal driving circuit asserts (or deasserts, if explicitly stated or indicated by context) the signal on a signal line coupled between the signal driving and signal receiving circuits. The term “coupled” is used herein to express a direct connection as well as a connection through one or more intervening circuits or structures. Integrated circuit device “programming” may include, for example and without limitation, loading a control value into a register or other storage circuit within the device in response to a host instruction (and thus controlling an operational aspect of the device and/or establishing a device configuration) or through a one-time programming operation (e.g., blowing fuses within a configuration circuit during device production), and/or connecting one or more selected pins or other contact structures of the device to reference voltage lines (also referred to as strapping) to establish a particular device configuration or operation aspect of the device. The terms “exemplary” and “embodiment” are used to express an example, not a preference or requirement.
Various modifications and changes may be made to the embodiments presented herein without departing from the broader spirit and scope of the disclosure. For example, features or aspects of any of the embodiments may be applied, at least where practicable, in combination with any other of the embodiments or in place of counterpart features or aspects thereof. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
This application hereby claims priority to and incorporates by reference U.S. Provisional Application No. 61/411,843, filed Nov. 9, 2010 and entitled “AREA-EFFICIENT MULTI-MODAL PHYSICAL SIGNALING INTERFACE.”
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/US11/59644 | 11/7/2011 | WO | 00 | 4/8/2013 |
Number | Date | Country | |
---|---|---|---|
61411843 | Nov 2010 | US |