🏠 Main | 🔧 Hardware | 💾 Memory | 💿 Storage Section | 💽 HDDs
Solid State Drives use NAND flash memory to store data persistently without moving parts. They have largely replaced hard disk drives in many applications due to superior performance, reliability, and energy efficiency.
Single-Level Cell (SLC)
- Storage: 1 bit per cell
- Characteristics: Fastest, most reliable, most expensive
- Endurance: 50,000-100,000 program/erase cycles
- Applications: Enterprise, high-performance systems
Multi-Level Cell (MLC)
- Storage: 2 bits per cell
- Characteristics: Good balance of performance and cost
- Endurance: 3,000-10,000 program/erase cycles
- Applications: Consumer SSDs, general computing
Triple-Level Cell (TLC)
- Storage: 3 bits per cell
- Characteristics: Higher density, lower cost, reduced endurance
- Endurance: 500-3,000 program/erase cycles
- Applications: Consumer SSDs, cost-sensitive applications
Quad-Level Cell (QLC)
- Storage: 4 bits per cell
- Characteristics: Highest density, lowest cost, lowest endurance
- Endurance: 100-1,000 program/erase cycles
- Applications: Read-heavy workloads, archival storage
Planar NAND Limitations
- Scaling challenges below 20nm
- Increased interference between cells
- Reduced reliability and endurance
3D NAND Benefits
- Vertical Stacking: 32-176+ layers
- Improved Reliability: Larger cell geometry
- Higher Density: More storage in same footprint
- Better Performance: Improved program/erase characteristics
Functions:
- Flash Translation Layer (FTL): Maps logical to physical addresses
- Wear Leveling: Distributes writes evenly across flash
- Garbage Collection: Reclaims unused space
- Error Correction: Detects and corrects data errors
- Interface Management: Handles host communication
Types:
- In-house Controllers: Developed by SSD manufacturers
- Third-party Controllers: From specialized controller companies
- CPU Cores: ARM or proprietary processors
Purpose: Hide flash memory limitations from host system
Key Functions:
- Address Mapping: Logical Block Address (LBA) to Physical Block Address (PBA)
- Bad Block Management: Mark and avoid defective blocks
- Wear Leveling: Ensure even wear across all blocks
- Garbage Collection: Consolidate valid data and erase unused blocks
Mapping Schemes:
- Page-level Mapping: Fine-grained but memory intensive
- Block-level Mapping: Coarse-grained but memory efficient
- Hybrid Mapping: Combines both approaches
Definition: Extra NAND flash capacity not visible to host
Benefits:
- Wear Leveling: More blocks available for rotation
- Garbage Collection: Space for temporary operations
- Bad Block Replacement: Spare blocks for defective ones
- Performance: Maintains performance as drive fills up
Typical Amounts:
- Consumer SSDs: 7-15% over-provisioning
- Enterprise SSDs: 20-28% over-provisioning
Read Performance:
- SATA SSDs: Up to 550 MB/s
- NVMe SSDs: 1,000-7,000+ MB/s
- Factors: Interface bandwidth, controller capability
Write Performance:
- SLC Cache: Fast initial writes to pseudo-SLC
- Direct-to-TLC/QLC: Slower sustained writes
- Cache Exhaustion: Performance drops when cache fills
IOPS (Input/Output Operations Per Second):
- 4K Random Read: 10,000-500,000+ IOPS
- 4K Random Write: 5,000-100,000+ IOPS
- Queue Depth: Performance scales with multiple outstanding commands
Latency:
- Read Latency: 10-100 microseconds
- Write Latency: 10-500 microseconds
- Comparison: Much lower than HDD (3-15 milliseconds)
Temperature:
- Optimal Range: 0-70°C for most SSDs
- Thermal Throttling: Performance reduction when overheated
- Data Retention: Higher temperatures reduce retention time
Workload Patterns:
- Sequential vs Random: Sequential generally faster
- Read vs Write: Reads typically faster than writes
- Queue Depth: Higher queue depth improves throughput
- Block Size: Larger blocks improve sequential performance
Concept: Move data from infrequently written blocks to frequently written blocks Goal: Ensure all blocks wear evenly, including cold data
Concept: Distribute new writes across least-worn blocks Limitation: Cold data blocks may not wear evenly
Advanced Approach: Consider entire drive for optimal wear distribution Benefits: Better long-term endurance and performance
Continuous Operation: Runs during idle time Purpose: Reclaim space from deleted files Impact: Can affect performance during heavy use
Definition: Ratio of actual NAND writes to host writes Causes:
- Garbage collection overhead
- Over-provisioning inefficiency
- Small random writes
Mitigation:
- Sufficient over-provisioning
- Efficient garbage collection algorithms
- Host-side optimization (TRIM command)
BCH (Bose-Chaudhuri-Hocquenghem):
- Traditional ECC for NAND flash
- Corrects multiple bit errors per codeword
LDPC (Low-Density Parity-Check):
- Advanced ECC for high-density NAND
- Better error correction capability
- Required for TLC/QLC NAND
Power Loss Protection:
- Capacitors provide power during unexpected shutdown
- Ensures data integrity and metadata consistency
End-to-End Data Protection:
- Data integrity checking from host to NAND
- Detects and corrects corruption throughout path
SATA 3.0: 6 Gbps interface speed Limitations: Bandwidth bottleneck for modern SSDs Applications: Cost-sensitive consumer applications
Interface: PCIe-based protocol designed for SSDs Benefits:
- Low Latency: Reduced software overhead
- High Parallelism: Multiple queues and commands
- Scalability: Supports high-performance storage
PCIe Generations:
- PCIe 3.0: ~4 GB/s per lane
- PCIe 4.0: ~8 GB/s per lane
- PCIe 5.0: ~16 GB/s per lane
2.5-inch SATA: Traditional laptop/desktop form factor M.2: Compact form factor for laptops and ultrabooks mSATA: Older compact form factor PCIe Add-in Card: High-performance desktop/server form factor
TRIM Command:
- Informs SSD which blocks are no longer in use
- Enables proactive garbage collection
- Improves long-term performance
Alignment:
- Align partitions to 4KB boundaries
- Reduces write amplification
- Improves performance
NTFS: Good SSD support with TRIM ext4: Linux file system with SSD optimizations APFS: Apple's SSD-optimized file system ZFS: Advanced features for enterprise SSDs
Higher Endurance: Designed for heavy write workloads Power Loss Protection: Prevents data corruption Advanced Error Correction: Better reliability Consistent Performance: Maintains performance under load
Cost Optimization: Balance performance and price Burst Performance: High performance for typical workloads Power Efficiency: Optimized for battery life
3D XPoint: Intel/Micron's cross-point memory Characteristics: Faster than NAND, non-volatile Applications: High-performance storage and memory
MRAM: Magnetic RAM with instant-on capability ReRAM: Resistive RAM with high density potential FRAM: Ferroelectric RAM with fast write speeds
Computational Storage: Processing near storage NVMe Zones: Zoned storage for better performance Key-Value Storage: Direct key-value operations Multi-Stream: Separate data streams for better garbage collection