| 16.2 Storage | - Volatile storage |
|---|---|
| - Nonvolatile storage | |
| - Stable storage |
Volatile Storage
Volatile storage is a type of memory that maintains data only while power is supplied[^5]. Key characteristics include:
- Data retention: Loses all stored information when power is interrupted[^5]
- Speed: Typically faster than non-volatile storage for read and write operations[^1]
- Examples: RAM (including DRAM and VRAM), CPU cache (L1, L2, L3), and processor registers[^1][^5]
- Usage: Primarily used for temporary data storage during active computations, such as storing session data, clipboard contents, and temporary files[^1]
Nonvolatile Storage
Nonvolatile storage retains data even when power is removed[^4]. Its key features are:
- Data persistence: Maintains stored information across power cycles[^2]
- Speed: Generally slower than volatile memory for read/write operations[^2]
- Examples: Hard Disk Drives (HDDs), Solid-State Drives (SSDs), Read-Only Memory (ROM), and Flash Memory (e.g., USB drives)[^2][^4]
- Usage: Used for long-term data storage, including file storage, operating systems, firmware, and user data[^2]
Stable Storage
Stable storage is a theoretical concept that guarantees atomicity for write operations and robustness against some hardware and power failures[^4]. Its characteristics include:
- Atomicity: Ensures that upon reading back a recently written portion of the disk, the storage subsystem returns either the new data or the previous data[^4]
- Implementation: Often achieved through techniques like mirroring data on separate disks via RAID technology[^4]
- Reliability: Provides protection against certain types of failures that may affect individual storage devices[^4]
Stable storage plays a critical role in recovery algorithms, as it provides a reliable foundation for maintaining data integrity during database operations and system failures[^7].