USB-HDD 対応はなぜ難しいのか?
ご承知の通り S.M.A.R.T. 対応ユーティリティは日本国内だけでも多数ありますし、世界に目を向けると本当に多くのソフトが存在ます。しかし、USB-HDD をサポートしているソフトは本当にごくわずかです。
それはなぜか?CrystalDiskInfo 2 -Earthlight- の開発にお付き合いいただいた方にはご承知の通り、USB-HDD に搭載されているブリッジチップごとに S.M.A.R.T. 情報へのアクセス方法(コマンド)が異なるのです。そして、そのアクセス方法は基本的に非公開で、情報を入手できるのは NDA を結んだ法人のみ……。個人?何それ?な世界です。また、そもそも S.M.A.R.T. 情報へのアクセス方法がないブリッジチップも多数存在します。そのため、上の画像のように様々な機種を実際に購入しアクセス方法を調査する必要がありました。
ちなみに、ソフトウェアからみると USB 1.0/1.1/2.0 の区別をする必要は一切なく、同じように特別なコマンドを発行するだけです。ごく一部の IEEE 1394 接続の外付け HDD もサポートしておりますが、こちらも USB と同じように特別なコマンドを発行するだけです。USB/IEEE 1394 パケットのヘッダ部分は自動生成されるのでアプリケーションからは USB/IEEE 1394 の差異を意識する必要すらほとんどありません。
とまぁ、文章にすると簡単そうですがその道のりは長く険しいものがあったわけです。興味を持った方は過去のエントリやソースコードをご参照ください。USB/IEEE 1394 接続の外付けディスクにここまで対応したオープンソースなソフトは恐らく世界で初めてだと思います。
最近のコメント