|
早速規格書をリサーチしてみました。
SerialATA の速度(150/300)は76番目(0から始まるので77番目とも言う)に格納されており、CrystalMark はここを見て Serial ATA かどうかを判定しています。
詳細は
http://www.sata-io.org/docs/S2Ext_1_2_Gold.pdf の55ページ IDENTIFY DEVICE Definition 参照のこと。
以下該当部分を >XXXXXXXX< って感じで目印をつけていますが、IDEと認識するHDDとSATAと認識するHDDで結果が異なります。変ですねぇ〜。SATAなら少なくともbit1かbit2が立つはずなのですが・・・。
とはいえ、仕様書によるとSerialATAの機能の有無は76/78/79あたりに情報が格納されており、0x0 か 0xFFFF 以外のときは SerialATA な HDD ですよぉ〜ってことなので、判定方法を変更しておきます。(今日はちょっと無理かも・・・)
ただ、規格書を読んでしみじみ不思議に思うのが、76のbit2は Supports Serial ATA Gen-2 signaling speed とのことなので、300MB/s 用だと思うんですが、最近の Serial ATA HDD はみんなこのフラグが立っているような・・・(だから CrystalMark は SATA/150/300 としてお茶を濁しています)本物の 300MB/s 対応 HDD の結果はどうなるんでしょうかね。お持ちの方いらっしゃいましたらぜひ!!
>IDEと認識される方
>HDS722525VLSA80 [ 250.0 GB ]
>0000045A 00003FFF 000037C8 00000010 00000000 00000000 0000003F 00000000
>00000000 00000000 00002020 00002020 00002020 0000564E 0000524A 00003345
>00004336 00004353 00005A5A 0000504D 00000003 00003E04 00000004 00005633
>0000364F 00004136 00003041 00004844 00005337 00003232 00003532 00003556
>00004C53 00004138 00003020 00002020 00002020 00002020 00002020 00002020
>00002020 00002020 00002020 00002020 00002020 00002020 00002020 00008010
>00000000 00002F00 00004000 00000200 00000200 00000007 00003FFF 00000010
>0000003F 0000FC10 000000FB 00000110 0000FFFF 00000FFF 00000000 00000007
>00000003 00000078 00000078 000000F0 00000078 00000000 00000000 00000000
>00000000 00000000 00000000 0000001F>00000020<00000000 00000000 00000000
>SATAと認識される方
>HDS722525VLSA80 [ 250.0 GB ]
>0000045A 00003FFF 000037C8 00000010 00000000 00000000 0000003F 00000000
>00000000 00000000 00002020 00002020 00002020 0000564E 0000364A 00003345
>00004346 00004458 00004A31 00004444 00000003 00003E04 00000004 00005633
>0000364F 00004136 00003341 00004844 00005337 00003232 00003532 00003556
>00004C53 00004138 00003020 00002020 00002020 00002020 00002020 00002020
>00002020 00002020 00002020 00002020 00002020 00002020 00002020 00008010
>00000000 00002F00 00004000 00000200 00000200 00000007 00003FFF 00000010
>0000003F 0000FC10 000000FB 00000110 0000FFFF 00000FFF 00000000 00000007
>00000003 00000078 00000078 000000F0 00000078 00000000 00000000 00000000
>00000000 00000000 00000000 0000001F>00000002<00000000 00000000 00000000
DWORD 表示になっていますが、規格書によると WORD なんですよね。なんで、32bit 分出力しているのかは自分でも謎。。。でも、後半は DWORD で表示するとゴミとは思えないデータが出力されるんだよなぁ〜不思議だ。
|
|