There are many different types of memory available and each uses a different technique to store data while having unique properties that make it useful in certain applications and render it useless in others. This article highlights a few properties of the storage methods that might be the most practical for makers.
Different Memory Properties
When choosing memory for a project, you have to consider a few important factors. For example, does your project need non-volatile memory that manages to hold data without power?
How much memory do you need? Certain storage devices can cost a lot of money and therefore you should try to make a good estimation. Some types of memory are more expensive than others. Usually, the speed of the storage device is what determines how expensive it is — faster memory is more expensive.
You have to find a compromise between storage space, speed, price, and physical size that works for you.
ROMs, EPROMs, and EEPROMs
Historically, ROMs used to be a type of hard-wired memory that could not be changed upon manufacturing. While they are still used today, they are pretty impractical for makers. So you’ll most likely use an EPROM or EEPROM. EPROMs are Electronically Programmable Read Only Memory chips that can be erased with UV light. EEPROMs are electronically erasable and I wrote an extensive article explaining how they can be used.
Permanently Storing Large Amounts of Data
So far I’ve only discussed volatile memory and EEPROMs. Neither is suitable for permanently storing larger amounts of data, which is usually done by devices referred to as secondary memory. Typical types of secondary memory include hard disk drives, compact flash cards, and optical storage media.
In respect to the amount of data they can hold, these secondary memory types are the cheapest option. However, they are usually slow and some of them, like hard disk drives, need a lot of power compared to other solutions.
So, What Type Should I Use?
I recommend using EEPROMs for permanently storing small amounts of data, like user settings.
You should use RAM if you need fast memory to store information for a short period of time.
For storing single data words, or even single binary digits, in a digital circuit, flip-flops and latches are the way to go.
If you want to store a lot of information, like images from a surveillance camera, you should definitely use a cheaper and slower solution like flash memory cards.