
Memory Testing 61
The third member of the hybrid memory class is NVRAM (nonvolatile RAM). Non-
volatility is also a characteristic of the ROM and hybrid memories discussed ear-
lier. However, an NVRAM is physically very different from those devices. An
NVRAM is usually just an SRAM with a battery backup. When the power is turned
on, the NVRAM operates just like any other SRAM. But when the power is turned
off, the NVRAM draws just enough electrical power from the battery to retain its
current contents. NVRAM is fairly common in embedded systems. However, it is
very expensive—even more expensive than SRAM—so its applications are typi-
cally limited to the storage of only a few hundred bytes of system-critical informa-
tion that cannot be stored in any better way.
Table 6-1 summarizes the characteristics of different memory types.
Memory Testing
One of the first pieces of serious embedded software you are likely to write is a
memory test. Once the prototype hardware is ready, the designer would like some
reassurance that she has wired the address and data lines correctly and that the
memory chips are working properly. At first this might seem like a fairly simple
assignment, but as you look at the problem more closely you will realize that it
can be difficult to detect subtle memory problems with a simple test. In fact, as a
result of programmer naiveté, many embedded systems include memory tests ...