(informative)
The following abbreviations are used in this annex:
The original IBM PC BIOS (Basic Input/Output System) imposed several restrictions on the support of disk drivesdevices, and these have been incorporated into many higher level software products. One such restriction limits the capacity of a hard disk drivedevice. Most BIOS software cannot support a disk drive device with more than 1,024 cylinders, 16 heads and 63 sectors per track. The maximum addressable capacity of an ATA disk drive a device under this scheme is 528 MB.
There is growing support of auto-configuration for disk drives devices on PC systems. The auto-configuration capability usually resides in the BIOS and uses the IDENTIFY DEVICE command data to configure an ATA disk drivea device.
This annex defines rules for the IDENTIFY DEVICE data of all capacity ATA disk drives devices and allows BIOS support of ATA drives devices up to 8 GB using Cylinder/Head/Sector (CHS) addressing.
This specification defines information that newer BIOSs and system software can use to determine the true size of a disk drive device and access the full capacity of the drivedevice.
BIOSs and other software that operate an ATA disk drive a device in CHS (Cylinder, Head and Sector) addressing mode use IDENTIFY DEVICE data words 1, 3, 6 and words 53-58 to ascertain the appropriate translation mode to use and determine the capacity of an ATA disk drivea device.
Maximum compatibility is achieved if the following rules are obeyed. These rules limit the values placed into words 1, 3, 6, and 53-58. The rules specified here for CHS addressing apply to drives devices up to 8 GB.
For drivesdevices less than or equal to 528 MB, IDENTIFY DEVICE data word 1 (Default Cylinders) does not specify a value greater than 1 024.
If a drivedevice is greater than 528 MB but less than or equal to 8 GB, the maximum value that is placed into this word is determined by the value in Word 3 as shown in table B.1.
|
Value in Word 3 |
Maximum value in Word 1 |
|||
|
1 |
1h |
65 535 |
FFFFh |
|
|
2 |
2h |
65 535 |
FFFFh |
|
|
3 |
3h |
65 535 |
FFFFh |
|
|
4 |
4h |
65 535 |
FFFFh |
|
|
5 |
5h |
32 767 |
7FFFh |
|
|
6 |
6h |
32 767 |
7FFFh |
|
|
7 |
7h |
32 767 |
7FFFh |
|
|
8 |
8h |
32 767 |
7FFFh |
|
|
9 |
9h |
16 383 |
3FFFh |
|
|
10 |
Ah |
16 383 |
3FFFh |
|
|
11 |
Bh |
16 383 |
3FFFh |
|
|
12 |
Ch |
16 383 |
3FFFh |
|
|
13 |
Dh |
16 383 |
3FFFh |
|
|
14 |
Eh |
16 383 |
3FFFh |
|
|
15 |
Fh |
16 383 |
3FFFh |
|
|
16 |
10h |
16 383 |
3FFFh |
|
The value in this word does not change.
IDENTIFY DEVICE data word 3 (Default Heads) does not specify a value greater than 16.
The value in this word does not change.
For drives of 8 GB or less, IDENTIFY DEVICE data word 6 (Default Sectors) does not specify a value greater than 63.
The value in this word does not change.
Devices that are over 528 MB implement words 53-58. Drives Devices not over 528 MB may also implement these words. These words define the addressing for all sectors accessible in CHS mode.
IDENTIFY DEVICE data word 53 bit 0 is set to one at all times that the drivedevice is in a valid translation mode. Some drives devices may have translation modes that cannot be supported. An attempt to put a drive device into one of these unsupported modes causes word 53 bit 0 to be cleared to zero with words 54-58 cleared to zero until a valid translation mode is established.
IDENTIFY DEVICE data word 54 (Current Cylinders) specifies the number of full logical cylinders that can be accessed in the current translation mode. If an INITIALIZE DEVICE PARAMETERS command has not been executed, the contents of this word is the same as word 1. If an INITIALIZE DEVICE PARAMETERS command has been executed, this word is the integer result of dividing the total number of user sectors (this value may be in words 60-61) by the number of sectors per logical cylinder ( [word55] x [word56] ), but is not a value greater than 65 535.
IDENTIFY DEVICE data word 55 (Current Heads) is the number of heads specified by the last INITIALIZE DEVICE PARAMETERS command. This word contains a value of between 1 and 16. If an INITIALIZE DEVICE PARAMETERS command has not been executed, the contents of this word are the same as word 3.
IDENTIFY DEVICE data word 56 (Current Sectors) is the number of sectors specified by the last INITIALIZE DEVICE PARAMETERS command. This word may contain a value of between 1 and 255. If an INITIALIZE DEVICE PARAMETERS command has not been executed, the contents of this word are the same as word 6.
IDENTIFY DEVICE data words 57-58 contain a 32-bit value that is equal to [word54] x [word55] x [word56]. Words 57-58 are less than or equal to the value in words 60-61 at all times.
The sectors, if any, between the last sector addressable in CHS mode and the last sector addressable in LBA mode are known as "orphan" sectors. A drive device may or may not allow access to these sectors in CHS addressing mode.
The values in words 1, 3 and 6 are selected such that the number of orphan sectors is minimized. Normally, the number of orphan sectors should not exceed ( [word55] x [word56] - 1 ). However, the host system can create conditions where there are a larger number of orphans sectors by issuing the INITIALIZE DEVICE PARAMETERS command with values other than the values in words 3 and 6.