Advanced Host Controller Interface (AHCI) eLearning Course HOW eLEARNING WORKS eLEARNING FAQ View all eLearning Courses PCI Express Courses Comprehensive PCIe 5.0 eLearning Course Advanced PCIe eLearning Course Core PCIe eLearning Course Fundamentals of PCI Express eLearning Course Intro to PCI Express IO Virtualization eLearning Course PIPE 6.0 - PHY Interface for PCI Express and more 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 Modern DRAM (DDR4 / DDR3 / LPDDR3 / LPDDR2) eLearning Course DRAM Class PRE-WORK DRAM Class Supplementary Material Storage Courses SAS 3.0 Storage Technology eLearning Course Advanced Host Controller Interface (AHCI) eLearning Course NVM Express 1.4 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 Module Length Module 1: SATA Express and M.2 30 minutes Module 2: PCI Configuration Space 32 minutes Module 3: Host Controller Registers 24 minutes Module 4: Port Registers 42 minutes Module 5: Command List and Receive FIS 25 minutes Module 6: Command Table and Physical Region Descriptor Table (PRDT) 20 minutes Module 7: Command Queuing 33 minutes Module 8: Error Detection and Handling 27 minutes Module 9a: Power Management - Device States and Sub-states 44 minutes Module 9b: Power Management - Power-related Registers 16 minutes Module 9c: Power Management - Device Sleep 29 minutes Module 10: Hot Plug Operation 22 minutes Module 11: Port Multipliers 21 minutes Module 12: Resets 14 minutes Module 13: Initialization 26 minutes © MindShare, Inc. All rights reserved. Full Course List | About MindShare | Careers with MindShare Contact Us | Privacy Policy | Terms of Use