Are IDE ATA hard drives Sync or Async when reading or writing bytes?

Hi everyone,

I'm planning to interface an IDE ATA hard drive to an ATmega328p, but was wondering if the internal hard drive byte addresses are incremented automatically after issuing the read or write commands or if there's a way to tell the hard drive to increment the byte address in it's internal buffer?

I've been checking out other examples, but they're not saying how to load in the next sets of bytes(16 bits) when reading, 16 bits when writing.

Do we make the read.write lines high, then low again with chip select enabled to increment data coming into the buffer in Register $0 when reading?

I'm sure this is very simple, but the tutorials are leaving out this information, and it's a bit confusing trying to figure out.

Do the hard drives auto-increment when we toggle the read write lines after issuing the read or write commands?

Thanks for your help.