Computer memory can be divided into three types: cache memory, primary memory (also known as main memory), and secondary memory. Cache memory is very fast semiconductor memory that stores the most frequently used data and programs from main memory to speed up the CPU. Primary memory, which includes RAM and ROM, is the working memory of the computer and allows data to be processed. Secondary memory has much larger storage capacity than primary memory and is used to permanently store large volumes of data, though it has slower access times. Common types of secondary memory include hard disks and optical disks.