
57
Chapter 6
In this chapter:
• Types of Memory
• Memory Testing
• Validating Memory
Contents
• Working with Flash
Memory
6
6. Memory
Tyrell: If we give them a past, we create a cushion for their
emotions and, consequently, we can control them better.
Deckard: Memories. You’re talking about memories.
— the movie Blade Runner
In this chapter, you will learn everything you need to know about memory in
embedded systems. In particular, you will learn about the types of memory you
are likely to encounter, how to test memory devices to see if they are working
properly, and how to use Flash memory.
Types of Memory
Many types of memory devices are available for use in modern computer systems.
As an embedded software engineer, you must be aware of the differences between
them and understand how to use each type effectively. In our discussion, we will
approach these devices from a software viewpoint. As you are reading, try to keep
in mind that the development of these devices took several decades and that there
are significant physical differences in the underlying hardware. The names of the
memory types frequently reflect the historical nature of the development process
and are often more confusing than insightful.
Most software developers think of memory as being either random-access (RAM)
or read-only (ROM). But, in fact, there are subtypes of each and even a third class
of hybrid memories. In a RAM device, the ...