最近のハードディスク事情

 どうもハードディスクネタが多いような気もするんですが。まぁこう立て続けに壊れられると興味も出ますしね(ぇ うちは3.5inchはMaxtor、2.5inchはHGSTを使ってるので被害はまだないですが。修理の対応も大変ですよ。もうT○SHIBA最悪。
 それはそうと、3.5inchが80GBプラッタ超えた辺りから性能的にはかなり余裕が出てきたので注意してなかったんですが、最近また随分事情が変わってきてるみたいですね。
 3.5inchの話だと、1プラッター160GB程度まで来てるみたいですね。まだデスクトップ用途が主流で、信頼性の必要なマシンは133GBプラッタ辺りみたいですが。プラッターサイズが倍になると少しスピードも気になり出します(笑
 それから、今まで互換性とかの問題(あとあと古いマシンに付けることもあるので)でPATAばっかり選んできたんですが、SATAのメリットを改めて調べてみました。
 転送速度という面では、PATAでも理論値133MByte/s出るわけで、まだSATAが絶対必要って訳ではないような気もしますが、ケース内配線がスッキリするのは魅力かもしれません。それより、個人的に気になったのがCommand Queuing (SATAではNative Command Queuing(NCQ)と呼ぶことが多い?)。
http://pc.watch.impress.co.jp/docs/2003/1208/it012.htm
この辺に詳しいかもしれません。(わりと昔のネタなのかな…)
ハードディスクへのアクセスの命令を、効率的に並び替えて、ヘッドの移動時間を最小にしましょうっていうことですかね。PATAでも搭載されてはいたみたいですけどね。SATAでは、Command Queuingを使うための周辺の機構も整備されて、随分効率が上がってるらしいです。
そういえば、一昔前は最新のIDEのHDDと数世代前のSCSIのHDDの性能が同じ程度と言われて、いまいち納得がいかなかったんですが、この辺のアルゴリズムの関係もあるんでしょうね。ちなみに、SATAのCommand Queuingは32命令(最大32個の命令の中でヘッドが最も効率よく動ける順序を組む)みたいです。それに比べて、SCSIの方は255命令x3。x3ってのはQueueが3本あるってことですね。さすがエンタープライズ向け用途だけあって、なかなかリッチな仕様です。
このCommand Queuingどの程度実際効果あるのかといわれると、使う環境によって全然違うのではないかなと想定出来るんですが。つまり、シングルタスクに近い場合(同時に一つのアプリケーションだけがハードディスクアクセスをする場合)Command Queuingはそんなに効果を発揮しないのかなと。逆に、データベースサーバみたいに、複数のスレッドが一斉にハードディスクにぐりぐりアクセスするようなマルチタスクな環境だと、命令順にディスクアクセスをするとヘッドの移動がすごいことになってしまうので、あらかじめヘッド移動量を最適化するCommand Queuingが活きてくるんでしょうね。
そんなわけで、SATASCSIのQueueの大きさの配分も妥当なところかなと思えます。このCommand Queuingが2.5inchのハードディスクで生かせるようになるのはいつ頃なんでしょうね(笑 慢性的にハードディスクの性能不足に悩んでるのはノートPCのような気がするんですが。ノートの用途はシングルタスクに近いと思われてるんでしょうかね。しかしハイエンドなノートPCでは結構同時に複数の作業をするような使い方をするので、Command Queuing搭載してほしいですね。まだまだPATA全盛の2.5inchなので、もう数年はかかりそうですけど。