What is the best way to test DDR3 interface by running a memory test?
STEP 1: Do DDR3 calibration
Before you start with any testing, be sure you did DDR3 calibration. Every layout is different and needs specific settings in DDR3 controller registers. Run a calibration tool (often provided by chipset / cpu chip manufacturer). Here are screenshots of running diagnostic tools for an AMD design (from BIOS) and for Freescale design (an calibration utility):
The calibration tool basically goes through different memory settings from when they dont work – through when they work – and then when they dont work again. Based on the measurement, the tool suggest the correct values for DDR3 registers.
STEP 2: Do Basic testing
Run your board with a memory test in your lab for couple of days. For all boards (x86 and ARM boards) I use standard memory test and its variants: memtest86, memtester, … These software run some preprogrammed patterns to stress the memory interfaces to maximum. If there is a problem, this software will find it.
STEP 3: Do Extended testing
Place several boards (minimum 5 is recommend) in an environmental chamber. Run memory test for at least 48h. Change temperature in cycles between -40 + 60 (or what is your board maximum temperature). There must be no errors.
STEP 4: Do Long run test
Leave your board running memory test for weeks (months). Be sure you backup your main power source in case of electricity interruption (otherwise you will need to start again).
- if your board passes 1 loop of running memory test – that means nothing
- if your board passes 2h of running memory test – that means nothing
- if your board passes 24h of running memory test – that looks promising
- if your board passes 1 week of running memory test – that looks good
- if 5 of your boards passes 2 days of running memory test in environmental chamber changing temperature in cycles – your layout is good
Other methods of DDR3 testing
There are two other most obvious methods of verifying DDR3 memory layout, but these may not be an option for smaller companies:
You need an expensive software and you need someone who understand it (who understand how to set it up, how to simulate and who can interpret the results). Possibly you can outsource the simulation, but it still cost a lot of money. Also, I have seen a board with great results from simulation and …. DDR3 problems.
You need an expensive tool and layout which will support the measurements.
How do you verify DDR3 interface? Leave a comment …