SATA Express


Let MindShare Bring "SATA Express" to Life for You

MindShare brings the SATA Express course to life through its interactive classroom style and demonstrations. SATA Express bus interface supports both Serial ATA (SATA) and PCI Express (PCIe) storage devices, initially standardized in the SATA 3.2 specification. The SATA Express connector used on the host side is backward compatible with the standard SATA data connector. It also provides multiple PCI Express lanes as a pure PCI Express connection to the storage device. Three options are available for connection of storage devices, 1) Legacy SATA, 2) SATA Express using AHCI, 3) SATA Express using NVMe.

This course assumes the student is familiar with both SATA and PCI Express protocol. The course focuses on connector and cable architecture as well as M.2 Device architecture. The course then covers the architecture of both AHCI and NVMe host controllers associated with SATA and PCIe connected storage devices.

MindShare Courses On SATA Express:

Course Name

Virtual Classroom

SATA Express
2 days

2 days

Show Me

Hands-On Serial ATA (SATA) 3.2 & AHCI
3 days

3 days

Show Me

SATA 3.2 and SAS 3.0
4 days

4 days
 Notify Me When Available

All of MindShare's classroom and virtual classroom courses can be customized to fit the needs of your group.

Comprehensive SATA Express Course Info

You Will Learn:

  • The sSATA Express connector and cable structure
  • M.2 devices and sockets/cards
  • Pertinent AHCI controller and commands
  • Pertinent NVMe controller and commands
  • Interrupt handling
  • Error handling
  • Power management

Course Length: 2 Days

Who Should Attend?

Hardware designers, software developers, and system validation engineers will all benefit from this course. Both hardware and software requirements of a SATA Express subsystem are detailed and explained through numerous examples.

Course Outline:

Part 1: SATA Express

  • Why SATA Express
  • The Problem
    • Need for SATA SSD Performance
    • SATA 6 Gb/s - Poor Performance
    • SATA 12 Gb/s - Development too Long
  • The Solution
    • PCIe Storage Devices
    • New SATA Express Connectors
    • Mux PCIe Drives, SATA Drives, Legacy Drives
    • Use M.2 Sockets and Cards for Notebooks
  • SATA Express Cables and Connectors Applications
    • Desktop Solutions use Cables
    • Notebook System use Direct Connect (M.2)
    • Servers use Cables and Backplanes
  • SATA Express Performance
    • SATA and PCIe SSDs Receive Data at Max PCIe Speeds
    • Two SATA SSDs Supported (1 GB/s for each drive)
    • x1 or x2 PCIe SSDs Supported (1 or 2 GB/s)
    • Legacy SATA Drives Support 6 Gb/s (600 MB/s)
  • Connector Types
  • Connector Matrix - Plug/Receptacle Mating
  • Connector Pin Listings
  • SATA Express Supports Two HBAs (Discussed Later)
    • AHCI (Advanced Host Controller Interface)
    • NVMe (Non-Volatile Memory Express)

Part 2: M.2 Devices

  • M.2 Sockets/Cards Developed by PCI SIG
  • Supports Multiple Host Interfaces (Only Storage Listed)
    • PCIe
    • SATA
  • Supports Multiple Cards/Modules (Only Storage Listed)
    • SSDs
  • SATA Transfer Rates Supported
    • 1.5 Gb/s (GEN 1)
    • 3.0 Gb/s (GEN 2)
    • 6.0 Gb/s (GEN 3)
  • PCIe Transfer Rates Supported
    • 2.5 Gb/s (V1)
    • 5.0 Gb/s (V2)
    • 8.0 Gb/s (V3)
  • Three Sockets Defined
    • Socket 1 - Key Slot A (Not used)
    • Socket 2 - Key Slot B/M
    • Socket 3 - Key Slot M
  • Card/Module Types
  • Pin List

Part 3: AHCI

  • AHCI Integrated Drives
  • PCIe Configuration
    • Header
    • Capability Structures
    • AHCI Capability
  • The Role of AHCI
  • Memory Mapped Registers
    • HBA Capabilities/Control/Status
    • Port Registers
    • Memory Data Structures
  • AHCI Driver Responsibilities
    • Builds Commands
    • Enables Port DMA Engines
    • Sets SActive and Command Issue Registers
    • Clears SAcive Register when Set Device Bits FIS received
  • FIS Types & Format
  • Command Protocols
  • Control Protocol
  • Native Command Queuing (Arbor Exercises)
    • Introduction to NCQ
    • NCQ Operation – Detailed Examples
    • Command List and Command Table
    • SActive and Command Issue Register
  • MSI
  • MSI-X
  • HBA Register Review
  • HBA Port Register Review
  • Error Detection & Handling (Arbor)
  • Reset
    • Soft Reset
    • Port Reset
    • AHCI Reset
  • AHCI Initialization Sequence

Part 4: NVMe

  • PCIe Background
  • NVMe Overview
    • Initialization
    • Creation and management of Queues
    • Building and submitting commands
      • Command types
      • Command example
    • Managing the queue: Doorbell register operation
    • Priority and Arbitration of commands
    • Completing commands
    • Informing the Host of completions
    • Handling Metadata
    • Asynchronous Event Notification
    • SGLs (Scatter/Gather Lists)
    • Namespace Reservations
  • Command Sets
    • Administrative commands
    • NVM commands
    • New Write-Zeros command
  • Error Detection and Handling
    • Error Reporting Structures
    • Examples
  • Power Management

Recommended Prerequisites:

A basic understanding of both SATA and PCI Express protocols

Training Materials:

1) Presentation PDF handout

2) Optional license to MindShare Arbor Software test and debug tool to access AHCI controller registers

3) MindShare’s SATA Storage Technology eBook
Author: Don Anderson
Publisher: MindShare Press


SATA Storage Technology