2007年7月16日月曜日

SMARTQueryとAppleの資料

先にも紹介したSMARTQueryですが、ソースコードをみるといくつか面白いことが分かります。
SMARTQuery.zip

windowSMARTs.mファイルのGetDeviceObjectで、
IORegistryEntrySearchCFPropertyを使って"SMART Capable"を検索しています。そこで、IO RegistryをIORegistryExplorer.app (/Developer/Applications/Utilities/IORegistryExplorer.app)を使って調べました。"IOService" Service Planeから"pci@f4000000 > AppleMacRiskPCI > ata-6@D..."の順に追いかけると"IOATABlockStorageDriver > IOATABlockStorageDevice"の中に"SMART Capable"というBooleanのKeyがあります。

しかし、FireWireのデバイスにはこれに相当する"IOBlockStorageDriver"の下はハードディスクの名前がそのまま出てきて、"SMART Capable"というBooleanのKeyがありません。将来はこの"SMART Capable" Keyが追加されるのかもしれませんが、少々大きな変更になる可能性があります。

他にs.m.a.r.t.に関連するMac OS Xの資料としては以下の資料があります。
Sending SCSI or ATA commands to storage devices

ここに以下のような記述があります。
The same design applies to the ATA family as well: sending commands directly to ATA and Serial ATA (SATA) devices is unsupported. However, the ATA family does provide a device interface that allows applications to read SMART (Self-Monitoring, Analysis, and Reporting Technology) data from ATA and SATA devices that implement the SMART feature set.

0 件のコメント: