2013年10月18日金曜日

スタッガード・スピンアップ(Staggered Spinup) とは?

時間差でHDDの電源を入れていく機能のことを指す。
名前が付いていることを知らなかった。用語がわかれば、Wikipediaを見ることにする。

http://en.wikipedia.org/wiki/Spin-up#Staggered_spin-up
基本的な目的としては電力的な都合。モーターを回転させる時が一番電気を使うので、これを散らす。

Staggered Spin-up (SSU) and Power-Up In Standby (PUIS)2つの仕組みがあるらしい。これはSerialATAで規格化されているそうだ。

後者(PUIS)はPM2と呼ばれることもあるらしい。命令が来るまでディスクはスピンアップしない。なので、BIOSかRAIDコントローラでサポートされている必要があるそうだ。

前者(SSU)は単純に電源投入のタイミングをホストサイドでずらすだけ。なので、特別なドライバなどはいらない模様。

SSU,PUISに対応しているかどうかはSATAの電源コネクタ11ピンによるらしい。
こいつがGNDに落ちていると対応してないとみなされて、自動でスピンアップ。
Highの場合は対応しているとみなされて、コマンドが来るまで待機。

PCOnline-テラバイト時代のHDDを支えるポートマルチプライヤー
Serial ATAのデータ線に埋め込まれたクロック信号で同期が取れた状態のことを「Phy Ready」と呼ぶ。この状態になって初めてモーターの回転を開始することが決められていた

というわけで、普通はSSUになっているがあえてタイミングをずらすようなことはしていないので一斉にディスクが回転しているように見えるorATX電源は11ピンはGNDになっている正しいそうだ。
#あとは、実は電源が供給されたら問答無用で回転しているか・・・

SSUは分かったがPUISはわからんかった。

LinuxのAHCIドライバ、なんか処理してる。SATAリンクは確立しているがスピンアップはしていないというシーンになるので、つまりPUISの処理という事かな?
http://lxr.free-electrons.com/source/drivers/ata/libahci.c#L652

0 件のコメント:

コメントを投稿