Third generation semiconductor memories provide improvements over earlier magnetic-based computer memories. There are two main types of semiconductor memory - RAM and ROM. RAM allows reading and writing and is used for temporary data storage, while ROM only allows reading and is used for permanent storage. Over time, new technologies like DRAM, SRAM, EEPROM, Flash memory were developed with improvements in speed, density, power consumption and non-volatility. Research continues into developing even more advanced memory technologies.