SATA 3.2 Technology eLearning Course

View all eLearning Courses

PCI Express Courses
Fundamentals of PCI Express eLearning Course
Comprehensive PCI Express 3.1 eLearning Course
PCI Express Config Space and Transaction Routing eLearning Course
PCI Express Physical Layer and Link Initialization and Training eLearning Course
PCI Express Interrupt Handling eLearning Course
PCI Express Error Handling eLearning Course
PCI Express Power Management eLearning Course
PCI Express Hot Plug and Resets eLearning Course
PCI Express 2.x and 3.x ECNs eLearning Course
Intro to PCI Express IO Virtualization eLearning Course
Mobile PCI Express (M-PCIe) eLearning Course
USB Courses
xHCI eLearning Course
USB Type-C and Power Delivery eLearning Course
Comprehensive USB 3.0 eLearning Course
Comprehensive USB 2.0 Embedded System Architecture
x86 Architecture Courses
Intel x86 Processor and Platform Architecture eLearning Course
Intro to 32/64-bit x86 Architecture eLearning Course
Fundamentals of Intel QPI eLearning Course
ARM Courses
ARM 64-bit Architecture (ARM v8-A) eLearning Course
ARM v8-A Registers and Instruction Set eLearning Course
ARM v8-A Memory Management eLearning Course
ARM v8-A Exceptions and Interrupts eLearning Course
Comprehensive ARM Architecture eLearning Course
ARM v7 Registers and Instruction Set eLearning Course
ARM v7 Memory Management eLearning Course
ARM v7 Exceptions and Interrupts eLearning Course
Fundamentals of AMBA eLearning Course
ARM 32-bit Architecture (ARM v7) eLearning Course
ARM v8-A Porting and Software Optimization eLearning Course
ARM v8-A (64-bit) Pipelines eLearning Course
ARM MCU Architecture eLearning Course
ARM Cortex-M0 and M0+ Hardware Design eLearning Course
ARM Cortex-M3 and M4 Hardware Design eLearning Course
ARM Cortex-M7 Processor eLearning Course
Fundamentals of ARM Architecture
Fundamentals of ARMv8-A eLearning Course
Introduction to ARM AMBA eLearning Course
Introduction to ARM TrustZone eLearning Course
Memory Courses
Modern DRAM (DDR4 / DDR3 / LPDDR3 / LPDDR2) eLearning Course
Storage Courses
SAS 3.0 Storage Technology eLearning Course
NVM Express 1.2a eLearning Course
SATA 3.2 Technology eLearning Course
Advanced Host Controller Interface (AHCI) eLearning Course
Universal Flash Storage (UFS) eLearning Course
Virtualization Courses
Comprehensive PC Virtualization eLearning Course
Intro to Virtualization Technology eLearning Course

SATA 3.2 Technology eLearning Course

Instructor(s): Don Anderson
Number of Modules: 25
Subscription Length: 90 days

Course Price

SATA 3.2 Technology eLearning Course Info

What's Included?

SATA eLearning modules
(unlimited access for 90 days)
PDF of Course Slides
(yours to keep, does not expire)
SATA eBook
(yours to keep, does not expire)

Benefits of eLearning:

  • Cost Effective - Get the same information delivered in a live MindShare class at a fraction of the cost
  • Available 24/7 - MindShare eLearning courses are available when and where you need them
  • Learn at Your Pace - MindShare eLearning courses are self-paced, so you can proceed when you're ready
  • Access to the Instructor - Ask questions to the MindShare Instructor that taught the course

You Will Learn:

  • The new features associated with the SATA Express SSDs and M.2 mobile cards
  • How the three SATA Express drives are detected
  • The mating compatibility of the SATA Express plug and receptacles
  • The compatibility associated with the M.2 modules and sockets
  • The sequence of events associated with SATA initialization, including Out Of Band (OOB) signaling
  • Detailed operation of a SATA HBA and drive when executing legacy commands
  • Details regarding the implementation and operation of the Advanced Host Controller Interface (AHCI)
  • How to verify proper command protocol associated with each of the command categories
  • How to verify proper control protocol associated with writes to the Control register
  • How to validate proper FIS (Frame Information Structure) protocol given trace captures from a SATA protocol analyzer
  • The actions taken by each layer in the SATA interface
  • The details associated with the implementation of Port Multipliers
  • The operation and performance advantages of Native Command Queuing (NCQ)

Who Should View?

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

Course Outline:

  • Module 1a: Evolution of Parallel ATA
    - This Module and the next combine to provide essential background for those who need an update regarding the Parallel ATA implementation. This section includes the Origins of ATA, ATA standard and releases, parallel ATA block diagram, pinout and legacy programming interface.
  • Module 1b: Evolution of Parallel ATA
    - ATA register details: logical block address (LBA), sector count, feature, command, data, status, error, control and alternate status register, multiple ATA interfaces, device signatures, overlap feature, device identify command
  • Module 2: Motivation for SATA
    - Motivation and design goals, Serial ATA topology, Major improvements made to cables and connectors (No more bent pins), New SATA drive plug/host receptacle, interface performance, improved reliability, lower voltages, migration to servers, SATA backward software compatibility
  • Module 3: SATA Overview
    - This module introduces the primary elements of SATA. Including: serial interconnect, OOB sequence for device detection, link initialization, Half-Duplex bus, Frame Information Structures (FIS), Shadow register for backward compatibility, SATA protocol layers implemented in both directions, Interface Layers include: application layer, command layer, transport layer, link layer, and physical layer), primitives, SATA command protocol, native command queuing (NCQ)
  • Module 4: FIS Types and Formats
    - Reference information describing the Frame Information Structures (FISes), (Register FIS Host to Device, Register FIS Device to Host, PIO Setup FIS, DMA activate FIS, Data FIS, Set Device FIS, First Party DMA Read Command, First Party DMA Write Command, First Party DMA Receive Command, First Party DMA Send Command, First Party DMA Setup, BIST Activate
  • Module 5a: Transport & Link Protocol Details
    - This Module covers the Transmission of FISes. Legacy vs Native operation, FIS Transmission, Overview of Transport and Link Layers, transmit arbitration conflict, list of primitives, CRC generation, start of frame (SOF) / end of frame (EOF) primitives, primitive suppression, FIS scrambling, CONT primitive, 8b/10b encoding
  • Module 5b: Transport & Link Protocol Details
    - This Module covers the reception of FISes. FIS reception, 8b/10b decoding, decoding / disparity error check, un-scrambler, CRC check, primitive decoding, completion status and error reporting, FIS transmission example
  • Module 6: FIS Retry
    - Most FISes can be retried, DATA FISes and BIST Activate FISes cannot be retried, error detection and retry, Transient Errors, Error reporting mechanisms: R_ERR and Host Errors
  • Module 7: Data Flow Control
    - Flow Control buffers in Transport Layer, Transmit Buffer nearly Dry and HOLD primitives sent, Receiver side returns HLDA, Transmit Buffer nearly Full, HOLD/HLDA released, Receive Buffer nears overflow and HOLD primitives sent, Transmitter sends HLDA. Receive Buffer nearly empty, HOLD/HLDA released
  • Module 8: Physical Layer Functions
    - Frame processing, ALIGN primitive insertion, serialization, differential transmission, differential receiver, clock recovery, data extraction, ALIGN detect, clock domains and elasticity buffer, OOB Signal Detect
  • Module 9: Error Detection & Handling
    - Error reporting methodology, error reporting registers, ignore or track, retry, abort, freeze, SATA error checks, phy layer errors/actions, link layer errors/actions, transport layer errors/actions
  • Module 10: Device Control Protocols
    - Control register, nIEN (interrupt enable), SRST (software reset), HOB (high order byte)
  • Module 11a: Device Command Protocols
    - 13 Command types, Command Not Implemented, Non-Data commands, PIO commands, device protocol for PIO data-in and PIO data-out, HBA protocol for PIO in and PIO out
  • Module 11b: Device Command Protocols
    - DMA-In (DMA read) device and HBA protocol, DMA data-out (DMA write) device and HBA protocol, DMA Queued Commands, First Party DMA commands, packet command protocol, Device Reset, Execute Device Diagnostics
  • Module 12: Native Command Queuing (NCQ)
    - The performance problem, benefits of NCQ, system support requirements, SActive Register, Command Issue Register, Set Device Bits, new commands: read FPDMA queued, write FPDMA queued, NCQ non-data, send FPDMA queued, receive FPDMA queued, DMA Setup FIS, Auto-Activate, Non-Zero Offsets, General Purpose Logging Feature Set, Queued Error Log feature, Read Log Ext command
  • Module 13: Port Multipliers
    - Purpose, PM port numbers, PMP numbers via Software,15 ports, packet switching, FIS routing across PM, collisions and collision resolution, PM initialization, read PM command, write PM command, Event Counters, hot plug support
  • Module 14: Port Selectors
    - Fail-Over Capability, Port selector functions, port selector detection, active host port selection, protocol switching
  • Module 15: Enclosure Services
    - SAF-TE and SES, SEMB, SEP
  • Module 16: SATA Initialization (OOB & Speed Detect)
    - SATA reset sequence, OOB signaling, SATA speed negotiation, asynchronous signal recovery, software initialization
  • Module 17: Analog Front-End & Electrical Details
    - Bit Error Rate (BER), differential signaling, reflections, impedance mismatches, many usage models, Compliance Testing
  • Module 18: Link Power Management
    - Power management command, partial / slumber transitions, COMWAKE protocol, exit latencies, Host Initiated handshake sequence, Device Initiated handshake sequence, Automatic partial to slumber
  • Module 19: Hot Plug
    - Hot Plug Operation: Power Present/not Present, Hot plug requirements, detection, current limiting, hot plug connections, Hot Plug Applications (Asynchronous Hot Plug/Removal, UnPowered OS Aware, Powered OS Aware, Surprise Hot Plug/Removal)
  • Module 20: Built-in Self Test (BIST)
    - BIST active process, test variations, test patterns, far end analog loopback, far end retimed loopback (required), far end transmit only, near end analog loopback
  • Module 21: Cables / Connectors
    - Internal vs external, connector signals, cables and multilane SATA connectors, slimline connectors, micro SATA connector, internal LIF, mini-SATA (mSATA), Universal Storage Module (USM), eSATA cable
  • Module 22: SATA Express
    - Legacy SATA 600 MB/s, PCIe SSDs (2 GB/s) and SATA SSDs (1GB/s) x 2 ports, mating plugs and receptacles, SATA Express Interface Detect, M.2 connectors, sockets, card dimensions, Mobile Devices, M.2 SATA Drives - 1.5 Gb/s, 3.0 Gb/s, 6.0 Gb/s, M.2 PCIe Drives - 2.5 GT/s, 5.0 GT/s, 8GT/s


Course Modules
Module 1a: Evolution of Parallel ATA28 minutes
Module 1b: Evolution of Parallel ATA23 minutes
Module 2: Motivation for SATA14 minutes
Module 3: SATA Overview43 minutes
Module 4: FIS Types and Formats22 minutes
Module 5a: Transport & Link Protocol Details43 minutes
Module 5b: Transport & Link Protocol Details23 minutes
Module 6: FIS Retry10 minutes
Module 7: Data Flow Control16 minutes
Module 8: Physical Layer Functions23 minutes
Module 9: Error Detection & Handling31 minutes
Module 10: Device Control Protocols12 minutes
Module 11a: Device Command Protocols43 minutes
Module 11b: Device Command Protocols29 minutes
Module 12: Native Command Queuing (NCQ)45 minutes
Module 13: Port Multipliers45 minutes
Module 14: Port Selectors11 minutes
Module 15: Enclosure Services16 minutes
Module 16: SATA Initialization (OOB & Speed Detect)35 minutes
Module 17: Analog Front-End & Electrical Details22 minutes
Module 18: Link Power Management23 minutes
Module 19: Hot Plug13 minutes
Module 20: Built-in Self Test (BIST)24 minutes
Module 21: Cables / Connectors14 minutes
Module 22: SATA Express42 minutes