Hi!
I wish I could post something more detailed, but my browser crashed the first time, sadly …
Anyhow!
The “8” in ATMega328, as well as the “0” for the ATMega1280, are probably both family-identifying numbers!
For example, the datasheet for the ATMega328 also speaks about the ATMega88, 48, and 168, while the ATMega1280 is grouped together with the 640 and 2560
The first numbers, by the way, represent the amount of flash memory each chip has (measured in Kilobytes)
Flash memory, by the way, is the program memory for a chip. It can only be written by an external programmer, or the internal bootloader section of the microchip, and is directly hooked up to the internal “execution systems.”
RAM is the volatile memory of a chip or computer. It can NOT persist shutdowns/restarts, which means any data stored inside of it is lost, but because it can change quickly and reliably, it’s extremely well suited for storing runtime parameters and variables!
EEPROM is very similar to Flash, in that it is not volatile. However, because it can only be written to a limited number of times (a few thousand times, sure, but for a chip with 16MHz that’s still little), and because it takes so long to read or write, it often times is only used for “configuration parameters”; things that get changed every now and then, but essentially stay the same throughout long periods of time.
For more information, you should definitely have a look at the datasheets of the microcontrollers! You can find them here:
http://www.atmel.com/images/Atmel-8271-8-bit-AVR-Microcontroller-ATmega48A-48PA-88A-88PA-168A-168PA-328-328P_datasheet_Complete.pdf
http://cdn-reichelt.de/documents/datenblatt/A300/ATMEGA1280-DB.pdf