Lets start with the different types of I/O schemes:
Synchronous I/O - Everytime Oracle requests the OS to perform a database write, the process waits for the OS to complete the write to disk before continuing to process.
Asynchronous I/O - Oracle hands off the I/O to the OS and continues processing. The OS sends a completion request to the process when the I?O has been completed on its behalf.
You will also see the term "direct I/O". This is not an access method, like the two terms above, but rather a tuning option to make all I/Os, sync and aysnc, better performing when the database resides on a filesystem as opposed to raw devices.
Most filesystems, and definitely
AIX, do some type of filesystem buffering. Oracle also utilizes I/O buffer cache. We call this condition "double buffering", an inefficient use of system resources.
When direct I/O is enabled,
AIX bypasses filesystem cache, transfers data directly to/from the disk to/from Oracle's buffer cache.
I'll post more on AIO tuning tomorrow.