ROM, RAM, DRAM, SRAM and FLASH, and their differences