FlexPhase™ Timing Adjustments
Advanced memory solutions, including Rambus XDR™, can utilize FlexPhase™ technology to achieve increased per pin signaling rates. In an XDR system, the FlexPhase technology anticipates the phase difference between signals on different traces and manages the transmission of data bits so that the data arrives at the memory device with a known timing relationship with respect to the command and address signals sent to the memory device. FlexPhase can also be used to enhance conventional DRAM architectures by managing the variation in signal propagation times due to variations in trace lengths.
FlexPhase improves system data rates by:
- Optimizing IO signal timing for improved timing margins
- Complementing Fly-by command/address system architectures
- Eliminating requirements for trace length matching
FlexPhase technology eliminates the need to match trace lengths both on the circuit boards supporting the memory system and within the packages for the memory devices. Such system simplification allows greater flexibility by lowering board and packaging costs. FlexPhase also improves overall system timing by eliminating many timing offsets through dynamic compensation for process variations, on-chip clock skew, driver/receiver mismatch and clock standing wave effects.
FlexPhase circuit technology brings flexibility, simplicity, and savings to memory system design.
In DRAM systems, FlexPhase circuits can be used to optimize data and strobe placement. FlexPhase circuits can also be used to finely tune the timing relationships between data, command, address and clock signals. In conventional DRAM architectures, FlexPhase circuits can be used to deskew incoming signals at the controller in order to compensate for uncertainty in the arrival times of signals. Further, FlexPhase circuits can be used to intentionally inject a timing offset – "preskew" data such that the data will arrive at the DRAM devices coincident with the command/address or clock signal. FlexPhase minimizes the systematic timing errors in typical memory systems by adjusting transmit and receive phase offsets at each pin or pin-group.
When using a Fly-by architecture, the amount of time required for the data, strobe, command, address and clock signals to propagate between the memory controller and DRAMs is primarily affected by the lengths of the traces between the controller and the DRAM devices over which the signals propagate. In a Fly-by system, the command, address and clock signals arrive at each DRAM at different times, which in turn results in the data signals being transmitted from each DRAM device at different times. FlexPhase can be used at the controller to deskew those data signals to eliminate the offset due to the Fly-by architecture in addition to any inherent timing offsets of the system. Similarly, because the command, address and clock signals arrive at each DRAM at different times, the data for write operations to the memory devices needs to be preskewed by the controller to account for the difference in when the memory devices will be expecting the write data. FlexPhase can accomplish that preskewing while still eliminating inherent timing offsets in the system.
FlexPhase is a departure from traditional serial link technologies in which timing deskew is performed using an embedded clock. Such deskewing techniques, which typically rely on 8b/10b encoding to ensure adequate transition density for clock recovery, require more chip area, have added power consumption, increase latency, and suffer a 20 percent bandwidth penalty associated with the 8b/10b encoding.
FlexPhase includes in-system timing characterization and self-test functionality that enables aggressive timing resolutions in high performance memory systems. FlexPhase is incorporated within Rambus' XDR leadership memory system resulting in timing resolutions of 2.5ps at data rates of 3.2GHz.
During READ access operations in an example XDR system, a memory controller incorporating FlexPhase technology determines and stores the "receive" phase difference between the transmitted control signals and the data received from each memory device. The phase difference corresponding to each memory device is subsequently used to deskew the data signals which arrive at the memory controller at different times, thereby allowing proper reconstitution of the data accessed from each of the memory devices.
During WRITE operations, a similar process is performed where a "transmit" phase difference is determined for each memory device and stored within the memory controller. Those transmit phase differences are then used to modify (pre-skew) the timing delay between the transmitted command/address signals and the data sent to each memory device. An example of FlexPhase timing pre-skew as utilized in a Fly-by memory system architecture is represented in the following illustration.
At GHz data rates, FlexPhase helps to compensate for the manufacturing variations that degrade timing windows and operational performance of the memory. The FlexPhase approach allows memory interfaces to operate at GHz rates without the power, area and latency penalties incurred in systems using Clock and Data Recovery (CDR) techniques. FlexPhase also provides for improved testability by using digital phase offsets for margin testing of the high speed chip interfaces.
FlexPhase technology relaxes PCB trace length matching requirements by anticipating and calibrating the signaling phase offsets caused by variations in trace lengths and impedances. FlexPhase timing adjustments allows much simpler, more compact and cost-efficient memory layouts. FlexPhase timing adjustments provide for in-system test and characterization of key data signals, thereby enabling performance testing of the high speed links.