SCSI, NVMe and AHCI are low-level software protocols designed to manage communication between storage devices (e.g., HDDs, SSDs) and a host system (e.g., CPU, OS).

AHCI is to SATA what NVMe is to PCIe (more or less?).

Common points

  1. Purpose:
    • All three are protocols designed to manage communication between storage devices (e.g., HDDs, SSDs) and a host system (e.g., CPU, OS).
  2. Block-Level Storage:
    • All three manage block-level storage, meaning they operate by reading and writing fixed-size blocks of data.
  3. Queuing Mechanisms:
    • They implement mechanisms to queue and process I/O requests. This allows multiple storage operations to be handled simultaneously, improving performance.
  4. Device Management:
    • They provide command sets for performing tasks like reading/writing data, checking device status, and handling errors.
  5. Hot-Swapping
    • Support for their respective hardware interface.

Key Differences Between AHCI, SCSI, and NVMe

AspectSCSIAHCINVMe
Design PurposeInitially designed for enterprise systems and versatile devices, including HDDs, tape drives, and SSDs.Optimized for SATA-based HDDs and early SSDs.Specifically designed for high-speed SSDs.
AgeOriginated in the 1980s (legacy with modern extensions like SAS).Introduced in 2004 (legacy technology).Introduced in 2011, built for modern flash storage.
Connection MediumWorks over multiple mediums (e.g., SAS, Fibre Channel, iSCSI).Works over SATA interface.Works over PCIe interface.
PerformancePerformance varies (SAS up to 12 Gbps; others depend on medium).Limited by SATA (up to 6 Gbps).PCIe Gen 4 x4 supports up to 64 Gbps.
QueuingMultiple queues with up to 256 commands each (SAS).Single queue with 32 commands.64K queues, each supporting 64K commands.
EfficiencyModerate latency and overhead (depends on medium).Higher latency and overhead (due to legacy design).Low latency and high efficiency, designed for SSDs.
Power ManagementModerate power management (better with SAS).Basic power management features.Advanced power management features for SSDs.
Use CaseEnterprise systems requiring reliability and versatility.Consumer-level desktops/laptops with SATA SSDs or HDDs.High-performance systems (e.g., gaming, data centers).
Command SetExtensive command set for diverse storage types.AHCI commands are simpler and less optimized for SSDs.Streamlined command set optimized for SSDs.

Source: ChatGPT