+1 (713) 688-4600 | Sales Toll-Free: (855) SELL BPM | 24/7 Service: +1 (832) 617-5702 info@bpmmicro.com
Select Page

Signal Integrity

Mar 20, 2020 | Flash, Technology, White Papers

A “green light” doesn’t always mean the part is programmed correctly

High quality signals, Examples: Free-Running Clock (200MHz)

Have you ever had an electronic item that sometimes glitches or just stops running? Yes, you checked the batteries; it’s plugged into the wall— yet, nothing. It may not be you… You may be experiencing amnesia.

When a device loses its pattern, it’s called amnesia. Sometimes it’s called a bit-flip. It may start with just an occasional failure to boot up, but then progresses until the gadget won’t work at all. To understand how this can happen, let’s talk about how data is actually stored. 

It may surprise you, but device programming is actually (more or less) analog. The basic building block of all code is a bit. Bits form bytes, and bytes form the foundation for most code. Bits are “1” or “0”, but to get that “bit” of information, we actually start much smaller—electrons.   

When programming a serial flash device or MCU, every bit we store in the device is stored on a floating gate MOSFET transistor. The floating gate transistor, which is the basis of every flash device, is inherently an analog device. To get a “1” bit means it has more than a certain number of electrons stored on the gate; a “0” bit means it has fewer than that certain number. In between the “0” and the “1” lies a region of uncertainty— where the bit is going to read as a “1” sometimes and a “0” other times (not good).

Electrons are lost during the years that the device is in service due to ionizing radiation, such as gamma rays (even normal sunlight). If there are not enough electrons stored on the floating gate during programming, the device can lose its memory prematurely. 

Device Life Depends on Signal Integrity

Most devices today are rated for 20 years of data retention. But, if not properly programmed, data may be lost after just a few hours, months or years, even if the device passes the initial “green light” verification.

Programmers must go to great lengths to ensure signal integrity when programming devices. It requires specialized hardware that is typically not found in less expensive programmers. The acid test— can the programmer program and test the most challenging devices, such as the AMD PALs, which are notoriously “challenging,” or antifuse FPGAs, where a single device can cost upwards of $100K each. In programming devices, it’s vital to meet every specification of the device being programmed to avoid bit flips. 

Controlled impedance traces on the PCBs are critical to signal integrity. Controlled impedance is the characteristic impedance of a transmission line formed by PCB conductors. It is relevant when high-frequency signals propagate on the PCB transmission lines. Controlled impedance is important for signal integrity: it is the propagation of signals without distortion.  Boards should be thoroughly tested in-house on a high-dollar oscilloscope before manufacturing. Not all of our board vendors make the grade. The problem gets down to overshoot and ringing, undershoot and rise times, and noise on these edges, set up and hold times— all these specs have to be met, or the quality of the part may prematurely degrade. 

The Green Light

The green light on the socket indicates the programmer was able to verify the part. Unfortunately, it may not mean the programmer is meeting all of the device requirements. Waveform integrity has to be verified with an oscilloscope, not just the green light — it’s about meeting the specs of the device with clean waveforms for maximum quality and life expectancy. 

Each part you are programming was tested and qualified on a “million-dollar” tester at the Semi House to ensure it works correctly. The device manufacturer guarantees the part will work if you meet the parts specifications. They do not test the part to ensure it will work with overshoot, ringing, ground bounce, VCC noise, ground noise, crosstalk, substrate noise, low edge rates, no bypass capacitor, setup violations, hold time violations, shorter than required programming pulses and other signal integrity problems.

When a device is programmed with inferior waveform quality, it effectively becomes a “test pilot.” How long will the data be retained? Nobody knows. It has never been tested and qualified in those conditions. Even if it passes today, that doesn’t mean it will continue to work in-circuit, with variations in voltage, temperature, timing, and the inevitable decay caused by continual bombardment from solar and terrestrial radiation sources. 

One more thing to look for is “hard gold” on the PCBs. Hard gold is an extra layer of quality to ensure low resistance contacts, especially on socket cards connections between the PCB and socket. It also ensures solder connections that won’t oxidize.

 

The Bottom Line

  • Many cheap programmers are available that don’t pay attention to signal integrity
  • Just getting the green light on is not the same as programming the DUT correctly. It does not ensure good signal integrity.
  • When you don’t meet the device specs, you become a test pilot. You are operating the device in conditions it has never been tested to handle. Your results are unpredictable.
  • Devices can get amnesia days, months or years after programming if the programmer has poor signal integrity
  • Programmers with 2-layer boards, dip adapters and no active circuitry by the socket are highly suspect 

To Ensure Signal Quality

  • Pin drivers  must be are accurate enough to meet the stringent demands of eMMC programming at HS400 with 600ps rise time and fall time
  • Utilize premium 3GHz controlled-impedance connectors on every socket adapter 
  • Design using controlled impedance multi-layer PCBs right up to the socket to maintain signal integrity
  • Test the waveform accuracy and impedance of circuit boards to ensure signal integrity
  • Sophisticated Oscilloscope tests should be used to confirm performance, rise time and signal integrity

Conclusion

Not all programming solutions are the same. If quality and maximum device life are important, it’s imperative to know what to look for. When evaluating a programming solution, ask about signal integrity. Go through the device specifications and demand evidence that all of the specs are being followed.