This message is from the T13 list server.
On Wed, 25 Sep 2002 20:41:28 -0700 (PDT), Andre Hedrick wrote: >This message is from the T13 list server. >If a drive capacity is less than 137Gb, why should it report capacity in >words 100-103? Because the drive supports the 48-bit LBA commands. Why can't a 32MB device support these commands? >IIRC, there were dicussions on the usage. I am lost in >the various "shalls" right now. For me I really do not care about the >issue, except if the vendor stuffs any capacity in words 100-103, it best >do all of 48-bit. Except that we all know that some OS boot code will probably continue to use 28-bit LBA (or even CHS!) to perform the initial OS boot sequence and will not allow access to areas of the disk (or even the boot partition) that are beyond 8GB or 137GB. >The host driver issues results from hosts-controllers whom are badly >broken when attached a drive (48bit capable regardless of capacity) and a >host driver which is aware of the drive capablities and attempts to setup >up init parameters properly. The host-controller will choke and die if >issued a 48bit command set, period. Now if the drive's capacity is 28bit >or smaller the bios will do just fine, but I want to see a bios recover >from issuing a 48bit command to a 48bit capable drive whose capacity <= >28bit and the host-controller does not report command set limitations. I assume you are talking about host controllers that have some kind of automation for command setup and execution? >Oh the fun and the deadlocks, there are many VERY BAD BAD host-contollers >out there in the market. Lets hope the die quickly (quicker than all those bad ATAPI devices)! >Back on topic, so if the drive does not report capacity in words 100-103 >is a generally safe assumption one is to use 28-bit commands. As a >secondary check, one gones to peek at the rest of the identify data, and >sees the device is 48bit capable. See above for the deadlock joys. It seems to me that if 100-103 are zero then you must assume 48-bit is not supported and you must check 60-61. If 60-61 are zero then you must assume that 28-bit LBA is not supported and you are then forced to use only CHS. Of course is would be wise to also verify the support of 48-bit and 28-bit LBA by looking at the various validity bits. If both 48-bit and 28-bit LBA are supported there should be NO PROBLEM using 28-bit LBA to access sectors below 137GB (or even using CHS to access sectors below 8GB). *** Hale Landis *** www.ata-atapi.com ***
