Most computers use memory for their core functioning and storing data. Computer memory is often categorized as primary or secondary memory. Random access memory is an example of primary memory which is required for the functioning of CPU and is the only form of memory directly accessible to the CPU. Although in computer parlance only primary memory is referred to as computer memories as hard disk drives are considered separate from computer memory. Computer memory operates at a much higher speed than the one offered by secondary memory such as a hard disk drive. Memory is often divided into volatile and non-volatile memory. Volatile memory require power to maintain the stored information whereas non-volatile memory can retain information even without any electrical power.