A mixed signal approach to debugging DDR DRAM interfaces - Embedded.com

A mixed signal approach to debugging DDR DRAM interfaces

DDR memory technology is the most common choice of memory devices found almost everywhere from computers, transportations, home entertainment systems to medical devices and consumer products. With the wide spread of the DDR usage, the new development and designs are pushing the requirement for higher performance and more power-efficient DDR memory devices.

New DDR technologies such as DDR3 (the third generation of DDR technology) and low-power DDR (LPDDR) technology devices are increasingly being considered in design because they offer these improved attributes.

You may think DDR memory designs are straightforward, but the higher data rates and lower voltage on these memory devices can quickly take away your design margins. Besides that, validating of the DDR interface is rapidly becoming a huge and complicated task.

Keep in mind that DDR interface is one of the most complex high speed interfaces because of the high pin count per memory device, and the high speed data transmission reaching the speed of serial technologies such as the USB 2.0 and PCIe technologies.

While the oscilloscope is widely used for performing physical layer validation on the DDR interface, the complexity of the DDR memory technology is making validation and debugging with a conventional oscilloscopes a challenge.

It probably limits you from further measurement capabilities such as command triggering, state machine decode and protocol debug. This article highlights a few of the challenges and how the use of a mixed-signal oscilloscope (MSO) can overcome these challenges (Figure 1 below ).

Figure 1: Analog and logic channels on a mixed signal oscilloscope (MSO), provides complex triggering, state machine decode and protocol measurements to allow power DDR validation and debug, beyond the capability of conventional oscilloscope.

Validation challenges
DDR memory technology is really a complex interface. Not only is the DDR interface made up of parallel, single-ended signals with a data transfer rate that is faster than the speed of a number serial technologies, the DDR interface also consists of a huge number of signal interconnects between the memory controller and the DDR chip.

On a typical DDR device, there are more than 20 signals, which consist of a clock, six control, 12 address, a strobe and eight data signals.

When initiating an operation, the memory controller would issue a command through its control signals to the DDR chip. A conventional oscilloscope, which consists of only four analog input channels, can be challenging to determine the type of commands sent over the DDR interface due to the limited channels.

The limited connection might also limit the triggering capability of the conventional oscilloscope for different commands since you probably need to connect to all six signals at the same time.

Even if you can deduce the command or state machine based on the limited control signals, you might still end up with the hassle of going back to the truth table on the DDR specification to hand decode the current command based on the high or low state of each control signals.

Although possible, this can be very time-consuming and prone to human error. This will become a nightmare when you have a long trace of waveform and having to manually decode hundreds, if not thousands of commands and keeping track of them. Troubleshooting work can be hampered because you do not have the information real-time on the oscilloscope.

Due to the limited oscilloscope channels, you might also end up not able to make any meaningful measurements on the signals of interest. For instance, you might have the oscilloscope channels hook up to a clock and three control signals, and you have already used up all the oscilloscope channels.

This would prevent you from looking at the address signals that the memory controller is trying to access or the data signals that are transmitting on the DDR bus.

The importance of R/W isolation
Ability to isolate the read and write operations is critical for memory controller and DDR chip validation task. Since the read and write operations on the DDR bus use the same strobe and data signals for communication, inability to separate the operations means the signals captured on the oscilloscope would consist of both operations.

This would not allow effective characterization of the memory controller and the DDR chip. Again, the separation would need to rely on the control signals for separating the read and write commands.

But with the limited oscilloscope channels, this task can be daunting. Besides that, are there also other more efficient methods that can be used really effective to separate the read and write operations?

If the earlier challenges are not enough, do not forget that you still need to spend time validating each of the test parameters defined in the JEDEC specification.

Because the list of tests can be long, it is often difficult to exhaustively characterize every test. Making the measurements by hand can be bad enough, but could be worse if the results must be manually recorded and formatted in a test report. Are there tools that are already developed that can perform the measurements?

On top of that, troubleshooting the failures related to physical and protocol layers can be tricky. Typically, a logic analyzer and oscilloscope can be used together for this purpose, but this would increase the cost and learning curve.

With all the described challenges with a conventional scope, it is no wonder there is a huge need for new oscilloscope that goes beyond just 4 input channels, as well as new capabilities for validating and debugging DDR interface.

New capabilities with MSO
The MSO, a non-conventional oscilloscope architecture, provides not only the four analog input channels but integrated logic channels where both channels are time correlated internally in the instrument (Figure 2, below ).

Figure 2: With an MSO, displayed are the tests that are passing (marked clear), failing (marked red) and marginally passing (marked yellow). Getting the results quickly helps you determine which part of the design has to be fixed.

This can be imagined as a hybrid tool comprising of a conventional oscilloscope and a logic analyzer. With the additional channels, you can now connect the control signals to the MSO's logic channels and effortlessly trigger on different commands such as activate, precharge, read and write, while freeing the analog channels for making physical layer measurements on the signals that matter.

Now, other types of protocol measurements that involve complex triggering on multiple control signals is possible with MSO, such as include Write Latency and Auto-Precharge parameters. The MSO also provides state machine and operation decode information for command on the DDR interface. Before, you might have to hand decode the commands but the MSO can provide automated decoding of these commands.

This quickly tells you the type commands that are present on the trace, allowing you to focus on the validation and debug. With this, you can also quickly tell the oscilloscope to isolate a specific command on the bus. For instance, you can trigger on Write commands with the logic channels and make parametric measurements on the strobe and data signals. This allows you to validate conditions that were only possible with a logic analyzer.

The logic channels also allow you to look at other additional signals at the same time such as the address and data signals, which are not possible using the conventional oscilloscope.

With this ability, you can be more effective to look at the other information on the DDR interface. This can be a powerful debugging tool when used together with the analog channel because the advanced cross triggering capability of the analog and logic channels allow you to find physical and protocol layer issues quickly.

By identifying the type of failures occurring on your DDR interface, the issues can be quickly resolved at the design level.

More ways to use an MSO
In order to help you save validation time and effort, many of the required steps can be automated with DDR automated “applications” built into the MSO.

Using these automated routines, measurements of every test parameter can be repeated multiple times to thoroughly analyze a signal with complete statistical results along with screen captures of worst-case results.

All you need is hooking up the required signals to the MSO, select the clock jitter tests and then run the test. The application also automatically generates comprehensive test reports for archiving or sharing. This is a huge benefit because the application offloads the burden of having you to do this manually, which could save you a lot of time and effort.

Beyond just using the MSO's logic channels for separating the read and write commands, the MSO's zone trigger allows you to draw zones on the oscilloscope screen to visually separate the two commands on the strobe and data signals without consuming the logic channels. With the zone trigger capability, you can track the signal of interest depending on whether the waveform intersects or does not intersect the zones.

In Figure 3 below , the DDR signal shows a distinctive read and write signal pattern in infinite persistence mode. The waveforms show pattern feature because the electrical behavior of the memory controller and DDR chip cannot be the same.

Figure 3: The write signal is successfully separated from the complex read and write commands using the zone trigger on the MSO. The logic channels are freed up for looking at the command and data information on the DDR bus.

You can observe the distinction on the strobe signal (yellow waveform). Based on the distinction and zone trigger capability, you can now separate read and write based on just the strobe and data signals. The advantage of this feature is that it frees up even more logic channels for looking at more address and data signals instead of using them for read and write command triggering.

As the DDR memory technology evolves, the DDR validation and debug have become increasingly more challenging using a conventional oscilloscope due to the limited analog channels.

With an MSO, you can overcome much of the challenges and provide more measurement capabilities that go beyond just the physical layer. You can now do complex trigger, state machine decode, protocol measurements as well as advance debugging using the logic channels on an MSO.

Using it together with the existing automated compliance application and zone trigger capabilities, you now get more powerful features that save you time and effort. Ultimately, this will translate to better quality and faster time to market for your designs and products.

Min-Jie Chong is program manager for SATA technologies at Agilent Technologies

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.