 When reading microcontroller specs, you'll see multiple types of memory mentioned, namely internal flash memory for data that won't change often. When you upload new code to a chip, that program data is physically stored in flash. There's also external flash memory. That's the disk drive that appears when you plug a circuit Python device into your computer. RAM is used for data that will change often. Your code's variables are stored here, where they can be quickly changed and re-read. A chip's RAM generally accounts for most of its cost. EE-Prom is a good place to put data that changes once in a while and needs to be retrievable after cycling the chip's power. For example, custom configuration data or user settings. With these uses in mind, it's easier to compare specs between a board like the Circuit Playground Express and the Metro 328.