Memory is a long row of numbered boxes, each holding one byte. The box's number is its address. When a program reads a variable, the CPU asks memory for the bytes at that variable's address.
RAM (random access memory) holds the programs that are running and the data they're using. It's fast, and any address takes the same time to reach (that's the "random access"). But it's volatile: turn off the power and it's empty.
Storage, a solid-state drive (SSD) or hard disk, keeps your files when the power is off. It's far bigger and cheaper per gigabyte, and far slower. Opening a program copies it from storage into RAM.
Even RAM is slow compared with the CPU, which might wait a hundred ticks for a value. So CPUs have cache: small, very fast memory on the chip that keeps copies of recently used data. Programs tend to reuse the same data and read neighbouring addresses, so most reads are found in the cache. That's also why reading an array in order is quicker than hopping around a linked list.
Together these form the memory hierarchy, from fastest and smallest to slowest and biggest: registers, cache, RAM, storage. Good programs, and good hardware, keep the data that's needed next as high up the list as possible.
Practice
Order these from fastest to slowest.
Tap the items below in order.
More info
Quick reference
Address
A byte's number in memory.
RAM
Working memory. Fast; empties when the power goes.
Storage (SSD, HDD)
Keeps files with the power off. Big and slower.
Cache
Small, very fast copies of recent data on the CPU.