|
|
Advanced Host Controller Interface (AHCI) eLearning Course
Instructor(s): Don Anderson Number of Modules: 15 Subscription Length: 90 days
|
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 | |
|