Welcome to the QA Tech-Tips blog!

Some see things as they are, and ask "Why?"   I dream things that never were, and ask "Why Not".  
Robert F. Kennedy

“Impossible” is only found in the dictionary of a fool.  
Old Chinese Proverb

Sunday, April 29, 2012

You Can't Get There From Here! (Part 2)
Issues with the new AHCI interface


In a previous article, I talked about the advantages of the new AHCI interface.  It's fast and it supports a whole host of useful features.  Things like the ability to dismount and remove/swap a drive, as well as a lot of the newer features that have been built into modern hard drives.

Especially the "dismount and remove" feature - which makes swapping a SATA/eSATA drive as simple as swapping a USB thumb-drive.  If you are like me and you have multiple external SATA drive docks that you use to plug in a hard drive, use it for something as if it were a GIGANTIC USB thumb drive, and then remove it; AHCI is an absolute necessity.

Given your choice, AHCI is indeed the way to go.

However, there is a "dark side" to The Force:  A lot of software that needs to talk directly to the drives won't work with the new AHCI interface protocol.  The classic symptom of this incompatibility is that the software cannot find the hard drives or optical media devices on your system.

For example, my long-time-favorite CD/DVD/etc. burner software - CDBurner XP - has significant issues with the AHCI interface.  Likewise other CD burning software, True Burner is a good example, won't work with AHCI.

If you have hard-drive imaging software that is more than a couple of years old, it's pretty much a lead-pipe-cinch that it won't work with AHCI either.

If you have some older rescue disks laying around, such as BartPE disks, or even older versions of Linux - like the earlier versions of Knoppix - they have trouble with the AHCI interface protocol as well.



"Why is this so?" you may ask.  And yes, that is a very good question.

The answer is this:

As hard drive interfaces have evolved in the past; from the custom and non-standard embedded interfaces used in ancient computers, to the Western Digital interface for MFM and RLL drives used in computers only slightly less ancient, to the venerable IDE / EIDE / Ultra ATA interface used for so long, to the new SATA/eSATA interface - each major advance in the drive controller interface has obsoleted - and orphaned - the previous protocols and standards.

The AHCI interface - developed by Intel during the Itanium days - was designed to provide a whole host of useful, and needed, features to the hard drive community.  When SATA came around, the SATA standards leveraged the capabilities of the AHCI interface protocol - and the hard drive manufacturers jumped on the bandwagon and made sure that their drives would support these new standards.

The rock in the road here is that the design for the IDE/ATA interface never imagined any of these capabilities - drive swapping for example - because these features were just not possible with the older ATA. (PATA), drives.

However!  (# 1)

Most of the software available at that time - including operating systems - did not support the AHCI interface protocol.  So, the computer motherboard and BIOS manufacturers worked around this issue by providing a choice:  You can set the computer's motherboard to use the older - and more "compatible" IDE protocol, or the newer AHCI protocol.  As a result, the IDE protocol has stayed around, a relic of days-gone-by.

However!  (# 2)

Newer motherboards - and especially newer laptops - have decided to do away with the, (relatively), old and crufty IDE interface choice - leaving room in the BIOS for more interesting features.

As you have probably already noticed, the intersection of "However #1" and "However #2" results in things just not working - or working in bizarre ways.

To make matters even more interesting - you cannot just switch from one interface protocol to the other willy-nilly.  Doing so on a Windows based machine is the fast track to a machine that won't boot. (See this Microsoft site for an explanation why, and the registry hack needed to fix it.)



There are two big take-aways from all of this:
  • Software that relies on direct, low-level access to a drive may not work in the AHCI mode.
    So, if a software title you've used for years and years suddenly decides to stop working, or stop working on a new machine, check the AHCI mode setting in your BIOS.

  • When you find something like this, do not hesitate to ask the author(s) of this software product to update their software's drivers to support AHCI.

What say ye?

Jim (JR)

No comments:

Post a Comment

Thanks for sharing your thoughts here at the QA Tech-Tips Blog!

Note:
This blog will not, repeat NOT, publish comments that contain ANY KIND OF HYPERLINK.

If your comment contains ANY KIND OF HYPERLINK it WILL BE DELETED.

Please read the article at How To Get Comments Approved On This Blog for additional information regarding this rule.

Thank you for understanding.

Jim (JR)