Allow me to provide a Rosetta stone.
1) IDE == Integrated Drive Electronics. This standard came out in the early 1990s, and replaced the previous generation of ESDI (Enhanced Small digital Interface) and MFM (modified Frequency Modulation)/RLL (run length limited) controllers , which had a separate controller board that controlled a dumb disk drive. These older technologies are named after how they encode data to be read from or written to the dumb drive they are attached to. IDE was an important milestone, as the disk controller (the part that interprets what a sector is, does all the low-level signal processing from the spinning disk platter, and all that jazz) was now built into the disk drive, and not a part of the expansion card, meaning you could take the disk from one system and put it into another, without also having to transplant the disk controller adapter as well, like you used to have to do.
2) DMA == Direct Memory Access. In context, this refers to the use of DMA as a memory transfer technology that allows two or more PCI devices to send data directly to each other, and with RAM, without involving the CPU in the transfer. It is also frequently called "Bus Mastering", as the PCI devices themselves take control of the Bus they live in, and use it to transfer data with the system memory without the involvement of the CPU. This process is facilitated by the south bridge of the PCI chipset.
3) PIO == Programed Input/Output. This was the predecessor to DMA mode for IDE drive communication. There are 5 PIO modes: PIO0 through PIO4. Each is progressively faster at transferring data to and from a disk drive controller, but relies on interrupt signalling and handling code, which the CPU has to be directly involved in processing. As such, CPU useage spikes tremendously when a disk IO operation occurs when using these access modes.
4) Interrupt signalling/handling: In the days before DMA/Bus mastering, any device that wanted to communicate with another device needed two things-- an IO address space mapped into the system's memory space, and a hardware IRQ line. IRQ stands for Interrupt Request. You can think of it as a signal that goes high when a device needs to stop the CPU from doing whatever it is doing, so that the CPU can service its needs. It is used to communicate status with the host computer for such things as "I am done now! Let's do the next thing!" and the like. An IRQ handler is a special piece of software that the CPU executes when an IRQ line gets raised. In terms of old fashioned disk IO, the disk controller would raise its IRQ when it had completed a write or read operation, signalling that it was ready to be issued another command. Historically, IDE controllers live on IRQs 14 and 15.
5) LBA == Logical Block Addressing. Historically, before the existence of IDE disks, drive "geometry" was used to determine how much data a disk could hold, and how to address a sector on a disk. You literally told the controller to fetch a sector on a specificed platter (cylinder), on a specified track. LBA is a modern alternative. Each sector is linearly addressed sequentially as just a large number. The size of the integer to store this number determines how large a drive the system is able to handle. Previous versions of LBA were limited to 32bits for the size of this integer, and top out at around 128GB worth of sectors. The current implementation has an integer size of 48 bits, and can handle many exabytes of sectors. Both are tremendous improvements over CHS (Cylinders, Heads, Sectors) addressing, which tops out at 8GB.
6) DDO == Dynamic Drive Overlay. This is a special bit of software that loads before the OS boot loader, which replaces the disk controller's Interrupt handler with a more advanced piece of software that is capable of handling more features than the one provided by the disk controller's bios. Since this software has to reside on a sector of the drive, and MUST be the first sector (because it has to load before the OS, and thus has to be loaded from the bootstrap routine of the BIOS, which loads sector 0 off the drive), it has to shift all sectors it reports by 1 sector, to prevent loaded OSes from overwriting its data. This dynamic translation is where the 'dynamic' portion of the name comes in. It is also why this technology was frequently despised when it was a necessary thing in the computer ecosystem; If you moved a drive from a system that needed it, to a system that did not, the OS would not boot, and the partition table could not be found-- because those structures are located on sectors 0 and 1, which would have been pushed to physical sectors 1 and 2 respectively. For systems that need it though, there is no way to see a drive larger than 128GB without installing such a bit of software.
NOW..
Basic reason I am unhappy.
I have an old laptop that I want to use for retro gaming, that has a 320 GB drive. This is larger than 128 GB, and thus needs 48bit LBA. The computer's BIOS does not support 48bit LBA. Windows XP SP3 supposedly knows how to handle 48bit LBA natively, but the disk controller acts like it is on drugs, and refuses to enter DMA mode for disk transfers. The laptop is a single core system, with a slow processor. *I DO NOT WANT THE CPU TO BE 100% UTILIZED, JUST BECAUSE I AM READING OR SAVING A FILE.* Without DMA mode on, PIO4 is used instead, which-- as per above, uses the CPU to facilitate the transfers.
Fine-- I need a DDO. Ok, I found one that works with windows XP. But the CD wont boot. It hangs during the boot process, so I cannot install it on sector 0, and so cannot band-aid the problem.
The system is hell bent on staying in PIO4 mode FOREVER.