Computer storage has components that store computer data. The different storage types in the storage hierarchy are as follows:
This is also known as the main memory and is the memory directly accessible by the CPU. All the instructions are executed in the main memory by CPU and the data required by these instructions is also stored in main memory.
Main memory primarily consists of the RAM which is volatile in nature. It is also quite small compared to secondary memory and expensive as well.
Secondary or external storage is not directly accessible by the CPU. The data from secondary storage needs to be brought into the primary storage before the CPU can use it.
Secondary storage is non volatile i.e. the data stored is not lost when power is switched off. Mostly hard drives are used as secondary storage.
This is a third level of storage that mostly contains data that needs to be archived. This is because it is quite slow. Data is normally retrieved from tertiary storage to primary storage when it needs to be viewed.
Tertiary storage is mostly formed of tapes and disks.
The different characteristics of storage devices are as follows:
Volatile memory needs power to work and loses its data when power is switched off. However, it is quite fast so it is used as primary memory.
Non - volatile memory retains its data even when power is lost. So, it is used for secondary memory.
Mutable storage is both read and write storage and data can be overwritten as required. Primary storage typically contains mutable storage and it is also available in secondary storage nowadays.
Storage access can be random or sequential. In random access, all the data in the storage can be accessed randomly and roughly in the same amount of time. In sequential storage, the data needs to accessed in sequential order i.e. one after the other.
Each storage location in memory has a particular memory address. The data in a particular location can be accessed using its address.
The capacity of any storage device is the amount of data it can hold. This is usually represented in the form of bits or bytes.
Performance can be described in terms of latency or throughput.