08/03/13 08:44:24 43na1xiy
>>248
確かにATAのspecではこうなってる
>IDENTIFY DEVICE DATA: 60-61: "Total number of user addressable sectors"
>4.14
・・・If the value in contained IDENTIFY DEVICE data words (103:100) is greater than 268,435,455, then the maximum value
in words (61:60) shall be 268,435,455. That is, if the device contains greater than the capacity addressable with 28-bit commands,
words (61:60) shall describe the maximum capacity that can be addressed by 28-bit commands.
これによると、capacityが0xFFFFFFF*512 byteを超えるドライブのIDENTIFY DEVICE word(61:60)は 0xFFFFFFFでなければならず、
28bit LBAでアクセス可能なcapacityは自動的に0xFFFFFFE*512 になってしまう。
word(61:60)が "Total number of user addressable sector" じゃなくて "Maximum LBA ・・・”とかだったら
0xFFFFFFFは28bit commandでアドレスできなきゃなんないが、この場合は出来ても出来なくても良い。
よって、使用するドライブの振る舞いを承知していない限りは、specに厳密に従ってLBA 0xFFFFFFFは48bit modeでアクセスすべきだね