Loading
Advanced Host Controller Interface (AHCI) 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



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)
$895.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