The last cylinder of hard disks is inaccessible in IDE/ATA mode
This is based on testing on an HP N36L, BIOS O41, dated 30 Sep 2010.
In both OI148 and OI151a, the last cylinder of hard disks is inaccessible when the system BIOS's disk controller is set ATA/IDE mode. In AHCI mode, the entire disk is accessible.
Although the amount of inaccessible data is small, it was detected by a failure to correctly copy entire disks between two disk controllers. It is also possible that this might have an affect on the replacement of disks in zraid arrays if a replacement drive appears smaller than its predecessor.
Tests with NetBSD, gparted (Debian) and Spinrite show that these are all able to successfully access the last cylinder in IDE/ATA mode. Note that both OI148 (OpenSolaris kernel) and OI151a (Illumos kernel) failed the tests, but no other OS did so.
Testing was performed on a group of 3 Hitachi and 1 Seagate 250Gb drives, each having identical geometry: 488397168 sectors (484521 x 16 x 63) of 512 bytes.
Tests were performed using:
/usr/gnu/bin/dd if=/dev/rdsk/<drive>p0 of=/dev/null bs=516096 skip=484519
This should read two notional "cylinders" of 16x63x512 bytes. In AHCI mode, this is what happens, but in IDE/ATA mode, only one cylinder is read, and the last cylinder is inaccessible.
The identity of the inaccessible cylinder was confirmed as being the last one (no. 484521, as opposed to any other) by md5 checkums.
Disks were swapped between the 2 controllers on the server, and were confirmed to have the inaccessible cylinder whenever they were in IDE/ATA mode, on either controller.