Home |
The ISO 9660 File System Structure The exFAT File System Structure RTFiles-32 in Embedded Applications AHCI Disk Driver |
AHCI Disk DriverAHCI (Advanced Host Controller Interface) is an open Serial ATA host controller specification published by Intel. If configured for SATA native mode operation, AHCI controllers have PCI class code 010601h. AHCI controllers configured for native PCI, PATA emulation mode can be operated by the IDE driver RTFDrvIDE. The AHCI driver supports up to 2 AHCI controllers, each of which may have up to 32 SATA disks attached. Both SATA hard disks as well as SATA ATAPI CD-ROM or DVD disk drives are supported. If the I/O buffer supplied by the application in an I/O request is not at least WORD aligned and device flag RTF_DEVICE_NO_DIAG_MSG has not been set, the driver will display warning message: AHCI: using intermediate sector buffer due to misaligned buffer using function RTFDiagMessage. The driver will then use an intermediate and aligned buffer allocated dynamically from the heap. The use of the intermediate buffer can have a negative effect on the application's performance. The AHCI disk driver's ReadSectors function (which can be called through RTFRawRead) returns the 512 byte ATA Disk Identify structure when sector number (RTFSector)-1 is specified and exactly one sector is read. RTFDevice.DeviceTypeRTFDevice.DeviceType must be set to RTF_DEVICE_FDISK for this driver. RTFDevice.DeviceNumberThis field can assume values 0 to 63. The first detected disk attached to an AHCI controller has device number 0; the second has device number 1, etc. RTFDevice.DeviceFlagsApart from device independent device flags documented in section Device List, the following flags can be specified for RTFDevice.DeviceFlags: RTF_NO_WRITE_CACHEBy default, the AHCI driver uses the delayed write cache capability of modern SATA disks for best performance. RTFShutDown will ensure that this cache is flushed at program termination. Specify this flag to disable the delayed write cache. The AHCI driver is fully reentrant. Thus, device flag RTF_DEVICE_NEW_LOCK can be specified on every device number. RTFDevice.DriverThis field must point to RTFDrvAHCI. RTFDevice.DriverDataThe AHCI disk driver requires a pointer to a structure of type RTFDrvAHCIData for RTFDevice.DriverData. It should be initialized to zero.
|