2010年1月27日水曜日

SATA AN(Asynchronous Notify)とは

3回にわたってSATAのパワーマネージメントについて書いたので、最後に「Asynchronous Notify(AN)」について紹介します。これまた、地味な機能なので、おそらく、今後も話題になることはないかと思いますが、まあ、こういう機能もあるということで紹介します。

Asynchronous Notify(AN)は、SATAのオプション機能で、光学ドライブ向けの機能です。この機能単独では、省電力効果はありませんが、LPMと組み合わせることで光学ドライブの消費電力を削減できます。この機能もサポートが始まっており、WindowsVistaは非対応でしたが、Windows7ではサポートされているようです。OSサポートも始まっているので、SATA接続の光学ドライブを搭載したノートPCを中心にこの機能は、標準機能となることは間違いないかと思います。

ANは、2つの機能から成り立っています。ホスト側は、特定時間が経過したらWindows(OS)から定期的に送られくるポーリングコマンドを遮断すること。ドライブ側は、メディアを交換したり、新しいメディアをセットしたときなど、ドライブ側でイベントが発生したことをホストに通知することです。

WindowsなどのOSでは、 光学ドライブにメディアがセットされたことを知るために定期的にコマンドを送り、常にドライブの状態を監視しています。これは、Windowsに実装されている光学ディスクの自動実行機能を実現するためです。つまり、光学ドライブに定期的にコマンドを送ることによって、メディアのセットをOSが検知し、ソフト等を自動的に実行しているというわけです。

この機能、使う上では便利なのですが、SATA LPMを使おうとすると問題がでてきます。定期的にコマンドが送られてくるのでその都度、省電力状態から強制的に復帰されてしまうのです。特に光学ドライブのアクセス頻度は、起動ドライブ(HDDやSSD)などとは、比較にならないほど少ないので、ポーリングコマンドによる無駄はかなり大きいことが想像できます。

ANは、これを回避しつつ、OSの自動実行機能を使えるようにした機能です。ANを使用すると特定の時間が経過したら、定期的に送られるポーリングコマンドを遮断されます。これによって、光学ドライブがポーリングコマンドによってLPM状態から復帰させられることがなくなります。また、光学ドライブにセットされたメディアを交換したり、新しいメディアをセットした場合は、光学ドライブがそれをホストに通知することでLPM状態から復帰し、ポーリングコマンドの送信が再開されるので、OSの自動実行機能を損なうこともありません。ANを使用すると、これまでどおりの使い勝手のまま光学ドライブでLPMを最大限活用できるようになるというわけです。

ANは、その機能に対応した光学ドライブと対応ドライバが必要になります。
Windowsで使用する場合は、Intelの純正ドライバ(IaStor.sys)が対応しています。LPMの設定で説明したレジストリ設定を参考に「AN」をEnableにすることで使用できます。
また、Windows7については、初めからANが有効になっているのかどうか不明です。MSから対応という資料が出ているので、対応しているのだと思います。

0 件のコメント:

コメントを投稿