- What is Computer Data Storage?
- Processor Registers
- Processor Cache
- Main Memory (Random Access Memory)
- Non-Volatile Primary Storage
- Secondary / External Storage
What is Computer Data Storage?
Computer Data Storage is a piece of technology that makes it possible to store digital data permanently or temporarily in an organized manner. This structured way of storing makes the subsequent access to the data easier to retrieve. The recording media that hold the digital data is called as Data Storage Device.
Data Storage Devices are mainly categorized into Primary Storage and Secondary Storage. The below diagram shows how it further branches out to several divisions based on the attributes and functionality.
Let us have a brief look and explore each one of these storage devices.
Primary / Internal Storage
A Storage device that can be directly accessed by the CPU is labeled as primary storage. It is also called Internal Memory or Prime memory. This type of storage mainly includes the below devices.
This is the fastest of all computer data storage and resides within the CPU itself. Each register typically holds a word of data (often 32 or 64 bits). Most latest CPU's have between 16 and 64 General Purpose Registers.
Cache memory is positioned between the registers and the main memory storage. It stores the most frequently used data from main memory for faster access to the CPU. There are primarily 3 types of cache memory.
L1 Cache - Fastest and smallest among all cache types. Mostly built inside a processor chip, ranging from 8KB to 256KB. Multicore CPUs will have a separate L1 cache for each core.
L2 Cace - Slower than L1, occasionally part of the CPU, but often a separate chip between the CPU and the Primary Memory.
L3 Cache - Comparatively slower than others. Found mostly as separate chip outside CPU. While L1/L2 caches are separate for individual cores, L3 is usually shared among them all.
L2 and L3 caches come in much larger size compared to the L1 cache. It typically ranges between 512KB to a few MBs.
Non-Volatile Primary Storage
All the primary storage devices mentioned above are volatile, i.e. it doesn't hold any data once powered-off and empty on start-up. Hence, non-volatile primary storage containing a small start-up program BIOS(Basic Input Output System) is used to bootstrap the computer. This program loads the larger programs like Operating System from the Secondary storage devices( HDD, USB ) to the main memory for execution.
Read-Only Memory( ROM) modules are typically used for this purpose to prevent the accidental overwritten of data. Following are some of the widely used ROMs.
PROM (Programmable Read-Only Memory) - In this type of storage, data can be written only once. We can buy a blank PROM chip and write the desired data by using a PROM writer. Inside the chip, there are small fuses that are burnt open during programming. PROM can be programmed only once and is not erasable.
EPROM (Erasable and Programmable Read-Only Memory) - Contents written to EPROM can be erased using ultra-violet light passing through a window in the chip. Once erased new data can be written to the chip for further use.
EEPROM (Electrically Erasable and Programmable Read-Only Memory) - Data written to EEPROM can be erased several times and programmed again. Erasing and further writing of the data can be achieved through using some specific programs which can pass higher voltage to the chip.
Main Memory/ Random Access Memory(RAM)
Main memory connects to CPU via Data Bus and Address Bus. It is also called RAM (Random Access Memory), because the CPU can access the data stored in any section of the memory directly, rather than in sequential order.
RAM is one of the faster types of memory which stores the programs and data required to be processed by the CPU. It is volatile; that means when the computer shutdown, all the data stored in RAM will be deleted.
Main memory is available in two types: Dynamic Random Access Memory (DRAM) and Static Random Access Memory (SRAM).
Static Random Access Memory (SRAM)
SRAM is a type of volatile memory that uses flip-flops to store the data. Data is lost when it is powered off. Unlike dynamic RAM (DRAM), SRAM doesn't need to be refreshed periodically to retain the data. It is much cheaper and expensive than DRAM come in a smaller capacity.
SRAM is generally used as cache memory in computer systems while DRAM is used for Main memory.
Dynamic Random Access Memory (DRAM)
DRAM is a type of semiconductor memory, stores bits of data in a memory cell made up of a capacitor and a transistor. The storage cells are arranged in a rectangular grid consists of columns or rows. This DRAM storage cell is dynamic and needs to refresh every few milliseconds to compensate for the capacitor leakage. The storage cells are integrated with some special circuits which can identify the rows and columns to manage the refresh process, activate or deactivate a cell, and read or write data.
Following are the main types of DRAMs
Fast Page Mode DRAM (FPM DRAM) - FPM DRAM allows faster access to the data stored in the same row or a page. It eliminates the need for a row address if the data is located in a row which is accessed previously.
Extended Data Out DRAM (EDO DRAM) - EDO DRAM introduced to improve the performance of FPM DRAM. It reduced the wait times by allowing to start a new cycle While retaining the data from the previous cycle in the output buffer. This overlapping of operations improved the overall performance and speed.
Rambus DRAM (RDRAM) - Rambus Dynamic Random Access Memory is a type of RAM made by Rambus Incorporated in the 1990s. RDRAM was considered faster than SDRAM and commonly used in some of the Graphics cards in place of Video RAM.
Synchronous DRAM (SDRAM) - Synchronous Dynamic Random Access Memory operates in synch with the CPU Clock. That means it waits for the clock signal to respond to a data input signal. This is in contrast with the asynchronous nature of normal DRAM - which respond to the data input signal immediately.
SDRAM is called also called Single Data Rate Synchronous Dynamic RAM( SDR SDRAM) - the SDR indicates that it processes one read and one write per CPU cycle.
SDR SDRAM comes with 168 pins and two notches on the connector.
Double Data Rate Synchronous DRAM (DDR SRDAM) - DDR SDRAM just works like SDRAM, but capable of processing two writes and two reads operations in a single CPU clock cycle.
DDR SDRAM works at a lower standard voltage (2.5V), comes with 184 pins and a single notch on the connector.
DDR SDRAMs are further enhanced to achieve higher performance and capacity. Following are the different types of DDRs available in the market.
DDR2 SDRAM - DDR2 operates at a higher clock speed (between 200 and 533 MHz) while still maintaining two reads and two writes per cycle. It has more number of pins (240) and operates a 1.8V.
DDR3 SDRAM - DDR3 comes With high reliability and performance improvements. It reduces the power consumption by lowering the voltage to 1.5V and operates at a higher clock speed (between 400 and 1067 MHz). DDR3 has the same number of pins(240) as DDR2.
DDR4 SDRAM - DDR4 SDRAM has advanced signal processing (reliability), greater memory capacity, lower power consumption (1.2 V), and higher standard clock speeds (between 800 and 1600 MHz). It comes with a 288 pins configuration to prevent backward compatibility.
DDR5 SDRAM - DDR5 is the next evolution in the DDR family. The specification is officially announced on 14 July 2020, but not yet commercially available in the market( now Dec 2020).
SK Hynix Inc. announced the launch of the world's first DDR5 DRAM on October 6th, 2020. It provides a data transfer rate of 3200 to 6400 Mbps spreading the capacity from 8Gb to 32Gb. DDR5 operates at 1.1 V.
The below chart compares the Speed and Voltage specification for SDRAM and all the DDR Types.
SDRAM Type Speed Voltage SDRAM 100 to 166 MT/s 3.3 V DDR 266 to 400 MT/s 2.5/2.6 V DDR2 533 to 800 MT/s 1.8 V DDR3 800 to 2133 MT/s 1.35/1.5 V DDR4 2133 to 3200 MT/s 1.2 V DDR5 4800 to 6400 MT/s 1.1 V
Secondary / External Storage
Secondary Storage, usually referred to as External Storage is not directly accessible to the processor. Specific data from the secondary storage is first transferred to the primary storage through Input/output channels then executed or accessed by the processor. Secondary storage is non-volatile can retain the data written to it while powered off. It is much cheaper and slower than primary storage.
Following are some of the examples of Secondary storage devices
- Hard Disk Drives (HDD)
- Solid State Drives (SSD)
- USB Flash Drives
- CD/DVD Drives
- Floppy Disk Drives (FDD)
- Magnetic Tapes
- Punched Cards
Hard Disk Drives(HDD), Solid State Drives (SSD), and USB Flash Drives are the most commonly used secondary storage in modern computers. Let us have a detailed look at each of them.
Hard Disk Drives (HDD)
Hard Disk Drive is an electro-mechanical device that can store digital data in magnetic storage. It is non-volatile storage, retains the written data even it is powered off.
A Hard Disk contains rotating discs called platters, coated with magnetic material attached to a spindle. With the use of a moving actuator arm, it can read and write data to the discs in a random-access manner. This enables the HDD to store and retrieve digital information in any order.
Disk Drives are available in 2.5 inches and 3.5-inch platter sizes. Traditionally, 2.5-inch drives are used for laptops because of their compact form factor, whereas 3.5-inch drives are used for desktop computers. They also available at different spindle speeds; the most common is with a rotating speed of 4200rpm, 5400rpm, 7200rpm, 10000rpm, and 15000rpm.
Solid-State Drives (SSD)
SSD does not contain any moving mechanical parts, instead, it uses NAND Flash memory to store the data in semiconductor cells.
SSDs are much more energy-efficient, faster, and reliable than HDDs due to the absence of moving components but at the same time much more expensive. Please read - All about Solid-State Drives - for more detailed information on Solid-State Drives.
USB Flash Drive
USB Flash drive is a portable data storage device with a USB interface. It uses Flash Memory to store digital data. Most modern Operating systems natively recognize Flash drive while plugging it into a USB port.
USB Flash Drive is also called a Pen Drive, USB Stick, or a USB Thumb drive. IBM brought the first USB Flash Drive into the market in 2000 - the size was 8MB. Since then USB Stick went through gone through many transitions, especially adopting each new type of USB connectors (USB-A, USB-B, USB-C, etc..), resulting in increased data transfer rates. Nowadays, we can find Thumb Drives with a capacity ranging from 1GB to a few GBs in the market.