Advanced Host Controller Interface (AHCI) eLearning Course

View all eLearning Courses

PCI Express Courses
PCIe6 Update eLearning Course
PCIe Security eLearning Course
Comprehensive PCIe 5.0 eLearning Course
Advanced PCIe eLearning Course
Core PCIe eLearning Course
Fundamentals of PCI Express eLearning Course
PIPE 6.0 - PHY Interface for PCI Express and more
CXL Courses
CXL Fundamentals eLearning Course
Comprehensive CXL 2.0 eLearning Course
CXL 3.1 Update eLearning Course
USB Courses
USB4 Architecture eLearning Course
USB Type-C and Power Delivery eLearning Course
USB 3.2 Update
Comprehensive USB 3.1 eLearning Course
xHCI eLearning Course
x86 Architecture Courses
Intel x86 Processor and Platform Architecture eLearning Course
Thunderbolt 3 Fundamentals
x86 Architecture eLearning Course
ARM Courses
Fundamentals of ARM Architecture
ARMv8-M and v8.1-M eLearning Course
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-M7 Processor eLearning Course
Fundamentals of ARMv8-A eLearning Course
Memory Courses
DRAM Class PRE-WORK
DRAM Class Supplementary Material
Modern DRAM (DDR5 / DDR4 / LPDDR5 / LPDDR4) eLearning Course
I3C Architecture eLearning Course
Fundamentals of DRAM
Storage Courses
SAS 3.0 Storage Technology eLearning Course
Advanced Host Controller Interface (AHCI) eLearning Course
NVM Express 1.4 eLearning Course
NVMe-oF eLearning Course
SATA 3.2 Technology eLearning Course
Universal Flash Storage (UFS) eLearning Course
Virtualization Courses
PC Virtualization eLearning Course
IO Virtualization for Intel Platforms eLearning Course
Firmware Courses
UEFI x64 Architecture eLearning Course



Advanced Host Controller Interface (AHCI) eLearning Course

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

Course Price
$395.00
Bundle Price (Course & Arbor)
$795.00
(more info on Arbor)



Advanced Host Controller Interface (AHCI) eLearning Course Info

What's Included?

AHCI eLearning modules
(unlimited access for 90 days)
PDF of Course Slides
(yours to keep, does not expire)
Serial ATA 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:

  • Details regarding the implementation and operation of the Advanced Host Controller Interface (AHCI)
  • The sequence of events associated with AHCI initialization, including PCIe Configuration, BIOS and the AHCI driver
  • How to validate the Command List and Command Table entries and operation, using MindShare's Arbor Tool
  • How to verify proper Native Command Queuing protocol, using MindShare's Arbor tool
  • Details associated with the AHCI Register Block, including field definition and usage
  • The details associated with the Port Registers, including field definition and usage

Course Outline:

  • Module 1: SATA Express and M.2
    - Introduces SATA Express, how AHCI improves performance, how PCIe and SSDs fit in the picture, M.2 Connectors and dimensions
  • Module 2: PCI Configuration Space
    - Goes through PCI config space of an actual AHCI device using Arbor (MindShare's own software tool); includes discussions of Command / Status registers, BARs and capability structures
  • Module 3: Host Controller Registers
    - Shows and explains the memory-mapped host controller registers of an AHCI device using Arbor
  • Module 4: Port Registers
    - Shows and explains the memory-mapped port registers of an AHCI device using Arbor
  • Module 5: Command List and Receive FIS
    - Describes the location, purpose and behavior of the command list(s) in system memory along with their associated Receive FIS (Frame Information Structures); uses Arbor to show real-world examples
  • Module 6: Command Table and Physical Region Descriptor Table (PRDT)
    - Defines the purpose, location and components of the command table and PRDTs; uses Arbor to walk through several examples of actual structures built in memory by a Windows' driver
  • Module 7: Command Queuing
    - Defines the supported queued commands in AHCI, command list, fetching and executing commands, read FPDMA queued protocol and goes through a detailed DMA read example
  • Module 8: Error Detection and Handling
    - AHCI errors, system memory errors, interface errors, port multiplier errors, taskfile error, command list overflow and underflow errors and many more
  • Module 9a: Power Management - Device States and Sub-states
    - PCI device power states (D0, D3), PCIe link power states (L0, L0s, L1, etc.), PCI power management capability structure, Device power sub-states (D0, D1, D2, D3) of HBA D0
  • Module 9b: Power Management - Power-related Registers
    - HBA Capabilities register, HBA Capabilities 2 register, Port Command and Status register, Port Serial ATA Status register, Port Serial ATA Control register
  • Module 9c: Power Management - Device Sleep
    - Entering device sleep, hardware initiated entry, software initiated entry, Port Device Sleep register, Exiting device sleep
  • Module 10: Hot Plug Operation
    - Native Hot Plug support, Cold presence detect, Mechanical presence switches, SATA hot plug requirements and operations, hot plug connections (for cables and backplanes), example asynchronous event notification
  • Module 11: Port Multipliers
    - PM port number, command-based switching, FIS-based switching, AHCI port numbers, frame routing across PM
  • Module 12: Resets
    - AHCI resets: soft reset, port reset and HBA reset
  • Module 13: Initialization
    - PCI configuration (header, BARs, capability structures), Firmware HBA initialization, Software HBA initialization
Course Modules
ModuleLength
Module 1: SATA Express and M.230 minutes
Module 2: PCI Configuration Space32 minutes
Module 3: Host Controller Registers24 minutes
Module 4: Port Registers42 minutes
Module 5: Command List and Receive FIS25 minutes
Module 6: Command Table and Physical Region Descriptor Table (PRDT)20 minutes
Module 7: Command Queuing33 minutes
Module 8: Error Detection and Handling27 minutes
Module 9a: Power Management - Device States and Sub-states44 minutes
Module 9b: Power Management - Power-related Registers16 minutes
Module 9c: Power Management - Device Sleep29 minutes
Module 10: Hot Plug Operation22 minutes
Module 11: Port Multipliers21 minutes
Module 12: Resets14 minutes
Module 13: Initialization26 minutes