Originally posted by: wseyller
ATA is actually a specification and there many modes that developed over time.
Some were ATA-1, ATA-2, ATA-3 through ATA-7 which is the same as Ultra ATA/133.
The ANSI T13 committe and other companies worked together release the ATA-6 (Ultra ATA/100) specification adding 48-bit addressing scheme to extend the maximum capacity of the ATA interface to 144 petabytes. Because of that it required a completely new interface, chipset, updated firmware, and OS being able to support 48-bit sector addresses.
Also something about interupt 13h I remember that was used by the bios could figure out all the addresses to every cylinder, track, and sector on the drive. When the drives got bigger there wasn't enough room from all of the addresses. Interupt 13h had used 28-bit number.
I know that the bios uses this interupt to determine the disk size and partition information when using utilities like fdisk.
Hope this helps
For the record, I believe that the ATA-6 standard does define both the UDMA 6 (133MB/s) transfer modes, as well as 48-bit LBA support, but they are not dependent on each other, nor does 48-bit LBA support require new chipsets at all (at least on the host side). My Promise Ultra66 PCI IDE controller was built before 48-bit LBA was ever invented, and yet it supports it fine with updated drivers.
Note that it clearly does not support ATA-100 or ATA-133 transfer rates, and yet it still supports 48-bit LBA. Unfortunately, Promise decided to drop support for that card around when 48-bit LBA was introduced, so they never released an updated 48-bit LBA-capable BIOS like they did for the Ultra100 and up cards, but the Windows' driver supports 48-bit LBA for all of them.
As far as Int 13h Extensions go, those have been required for quite some time now, to properly address HDs larger than ... 8GB, which is the limitation of CHS addresses using the "old" Int13h interface.
Interestingly, my WD 160GB drive identifies itself as an ATA-6 device, while my newer Maxtor 250GB identifies itself as an ATA-7 device, and yet both support 48-bit LBA addressing. (My WD 80GB also identifies itself as ATA-6, and also shows support for 48-bit LBA addressing, even though it doesn't require it. I found that slightly interesting as well. WD might just use the same drive PCBs for different-capacity drives in the same family, thus the controller chip in the drive would have to support 48-bit LBA, and it would show up as supported on all members of that drive family.)