久しく自作からは遠ざかっていたのでプラッタ枚数の数がHDDの性能に影響するレベルがどうだったか忘れてしまいました。
条件として、以下の内容になります
- 同じメーカー・同じモデルでプラッタ枚数のみ違う
- 1プラッタあたりの容量も同じ
- ディスク全体の容量に関する評価はしない(最近のHDDは一番少ないモデルでも十分な容量があるため)
この条件下で以下の内容を評価するとどういう感じになるのでしょう?
- HDD全体の信頼性
- HDDの読み書きのスピード
- 発熱
- 騒音
できれば根拠となるURLも付けてください。
プラッタの枚数だけが違う場合ですね。
信頼性は故障の確率ですから部品の数が多いほど信頼性は下がります。
プラッタ1枚につきヘッドが両面にあるのでヘッド関係の故障がプラッタの枚数分だけ増えます。またモーターの負担もプラッタが増える方が大きくなりますので信頼性は落ちてきます。つまり、プラッタ密度が同じであればプラッタ1枚のものが部品点数が最小になるので信頼性は最も高くなります。
HDDの読み書きに関しては現状市販されているディスクの場合は同じシリンダにある複数ヘッド同時書き込み&読み出しはしていません。トラック密度が高くプラッタの表面ごとにトラッキングしなくてはならないからです。ですからプラッタ枚数と読み書き速度については相関はありません。
発熱に関しては、HDDの発熱の大部分はディスク表面と空気との摩擦による熱(風損)によるものです。つまりプラッタの枚数が多くなれば空気との摩擦を生じる表面が増えるので発熱は大きくなる傾向にあります。
騒音に関してもディスクの風切り音がプラッタの数に比例して大きくなるのでプラッタ数の多い方が騒音レベルは高くなります。
部品数が増えるため信頼性は低下します
http://mcn.oops.jp/wiki/index.php?HDD%2Fterm%2F%BF%AE%CD%EA%C0%A...
プラッタ、ヘッド、回転数が同一であるのならプラッタ枚数で読み書き速度は変化しません
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1111405...
一般にプラッタ枚数が少ない方が低発熱と言われていますが、回転数が同じであれば心持ち程度の差です
発熱量を重視するなら、低回転、低消費電力を重視した方がより効果を得られます
部品点数に比例してノイズも増えます・・が、騒音についてはプラッタ枚数よりメーカごとの音の違いの方が大きい気がします
また静音と銘打ってあるHDは5400rpmがほとんどであることから、発熱と同様にプラッタ枚数より回転数、メーカがポイントになりそうです
1プラッタHDDをお探しであれば290あたりに製品一覧が載っています
信頼性についても、ディスク枚数が少ない方がモーターのベアリングなどへの負担が減るので間接的には上がると思います。
また、最近は垂直磁気記録が増えてきて、磁気干渉などについては、また、だいぶ変わってきているようです。
モーター自体も変わっているようで、発熱がそれほどは問題にならないようですね。
(S-ATAのチップの問題かな?)
騒音については、ほとんどの民生用に関しては静かなのが当たり前になりました。
各パーツの故障発生率が同一だとすれば
部品点数が少なければ少ないほど故障発生率は低くなるので
プラッタが少ないほうが信頼性は高い。
(2)HDDの読み書きのスピード
ファームウェア次第と言えそうだけれども
現代では大容量化したキャッシュの存在があるので大きな差にはならないでしょう。
(3)発熱
同一設計のモータを利用しているとすれば
プラッタ(及びヘッダ)が多いほうがモータ負荷が高くなって
発熱量は増加するでしょうけど微々たるものだと思います。
(4)騒音
主な騒音はモータ駆動音になるので
同一設計のモータを利用、そしてケースの設計がほぼ同じであるとすれば
負荷の高いほう(プラッタ枚数の多いほう)がやかましくなると思いますが
モータ自体が最初から喧しいものであるとすれば・・・。
今回の条件ですと、プラッタ枚数によって異なるのは信頼性のみですが
同一プラッタで枚数が違うだけということは総容量が違うのだから
比較自体意味の無いことだと思いますけど、
コストパフォーマンスの話なども絡んでくるので
無理からに設定した条件なのでしょうか・・・。
無駄話的なのでコメント欄で失礼。
>比較自体意味の無いことだと思いますけど、
では総容量は小さいほうにあわせる(パーティションをそこまでに設定する)という条件をつければ意味のある比較になりますか?
そういう条件を付けるとプラッタ枚数の多い方がアクセスは速くなります。
何故ならプラッタ1枚の場合は最外周から最内周まで全部使うのに対してプラッタが複数枚の場合は最外周から1枚の容量相当の位置までの内周しか使いません。同じプラッタ内で外周の方がトラック当たりの容量が多いのでディスクが1周する間に転送できるデータ数が多くなるからです。
それからヘッドの動く範囲も1枚の場合は最外周から最内周まで全距離を動くのに対して複数枚の場合は動く範囲が1枚の場合に比べて狭くなるのでヘッドの動く距離が平均して短くなるのでプラッタ枚数の方がアクセスが速くなります。
また、プラッタ1枚の場合は同じシリンダにトラックは1つだけ(正確には両面あるので2つ)ですがプラッタが複数枚の場合はより多くのトラックが存在するので同一シリンダ内の情報量が多くヘッドを動かす機会が減るのでより高速なアクセスが期待できます。
実はこのあたりの話をどっかで聞いたような気がしたので、引っかかっていました。
この論拠はどこかにありませんか?
具体的なURLはいますぐには思いつきませんが、ディスクのトラックの番号は昔から最外周から順に内周に向かって付けている事、昔のディスクはトラックに関係なく1トラック当たりのセクタ数が同じだったが容量を稼ぐためとその結果速度が速くなるのでトラックによってセクタ数は異なるようになってきた事、OSはLBAの始めの方からディスクを使うようにできているのが一般的(トラックの平均移動距離を最短にするために真ん中辺のトラックにOS関係のファイルが来るような工夫はあるので一概には言えない)だと言う事などからの当然の結論です。全てが「ディスクの速い部分から使う」ようにつくられています。
失礼ですが、現時点での情報では「当然」とするには論拠が足りないように思います。
少なくとも以下の疑問がわきます。(端的に言えば LBA がどの様に割り当てられているのか、という疑問です)
例)プラッタが2枚ある場合
A. 1枚目のプラッタから割り当て、1枚目をの最後から2枚目のプラッタの最初につながる
B. 1枚目のプラッタと2枚目のプラッタのそれぞれ外周から交互に割り当てる
A.B. どちらの実装も論理的には可能なはずですが、実際にはどちらが採用されているのか?(もしくは製品によって異なるのか?)
によって結論は変わると思われます。
http://www.dosv.jp/feature/0606/11.htm
http://www.soi.wide.ad.jp/class/20040031/slides/35/10.html
から
http://www.soi.wide.ad.jp/class/20040031/slides/35/19.html
あまった容量は一切合切使わず、かつ、外周から使うという前提であったとしても
1つのファイルに対して複数枚数に跨って使うのか
それとも1枚に収まる場合は1枚だけ使うのか、
結局はファームウェア次第だと思います。
ただ、いずれにしても、モータやプラッタが廻る事に違いはなく、
違うとすればヘッダの動く範囲くらいなので信頼性、発熱、騒音に関しては
区切る前の比較と大きくは変わらないでしょうし
シークタイムが短くなるようであれば読み書き速度に関しては速くなる可能性がありますが
それよりもキャッシュの有効性のほうが大きく関わってくる事でしょうから
こちらも区切る前の比較と大きくは変わらないでしょう。
信頼性、容量、読み書き速度、実質転送速度、価格 etc etc。
どのあたりで折り合いをつけてあるかが各製品毎の特徴であって
プラッタ容量だけに拘る事自体に意味が無いという話なのですが・・・。
別の方との話の流れと組み合わせて済みませんが、製品次第で状況は異なるという事で良いですか?
>プラッタ容量だけに拘る事自体に意味が無いという話なのですが・・・。
ごもっとも。
ですがこの質問はプラッタだけにこだわったらどうなるのか?という質問です。
どの製品を買うべきかという質問ではないのです。
ある意味思考実験と捉えてもらってもかまいません。
論拠とおっしゃいますが、普通に考えれば(当然HDDの設計エンジニアもOSのエンジニアも)一番アクセスの速い(アクセスコストの小さい)方法でデータにアクセスするように設計します。
HDDで一番アクセスコストの低いのはキャッシュです。次に同一トラック内のデータ(該当セクタが回ってくるのを待つだけ)、次に同一シリンダ内のデータ(同一トラックと比較してヘッドを切り替えるだけ)、最後に別トラック(シリンダ)のデータになります。トラックを跨るデータはヘッドをランダムに機械的に動かすコストがかかるから一番アクセスが遅くなります。
ここでシリンダをまたいでデータの転送が生じた場合にキャッシュの容量の範囲内であればキャッシュが効果を上げますが、それを超えたとたんにキャッシュでは破綻します。
最外周から最内周のヘッドの移動のようなコストの大きな動作をする場合に途中のシリンダに読み書きするデータがあった場合に途中下車のような感じでキャッシュを使って読み書きするなどの高度なアルゴリズムを実装してあるかどうかで機種によってパフォーマンスは変わってきますがプラッタの枚数の違いという観点からは見た場合は支配的ではありません。
同じ容量に縛って単数プラッタと複数プラッタと比較した場合は単純にシリンダ数の異なるディスク同士のパフォーマンスを比較することに他なりません。複数プラッタの場合一番コストのかかるシリンダ間の移動する機会が減るので単数プラッタよりパフォーマンスは上になります。さらにプラッタ上のトラック当たりの容量の多い部分だけを選択することでデータ転送速度の上昇も期待できるのでより複数プラッタの方が有利になります。
製品次第と言っても良いでしょうね。
○○とハサミは使いよう・・・ハードを生かすも殺すもソフト次第。
>ある意味思考実験
ありきたりな事ならば自分で解決なさるでしょうから
そのような気はしていましたが・・・
論拠というのは
キーワードに関するそのものズバリを含む情報、もしくは、それを後押しするような情報であり、
かつ、その情報がメーカー側発信のように信頼出来るものであることが望ましいという事だと思うのですが
私の検索能力不足で探せるものは凡庸(失礼!)な情報しかないですね。
回答欄ではなくコメント欄よごしをさせてもらっているのはそのため・・・。
>プラッタだけにこだわったらどうなるのか?
キャッシュの存在は無視するとして
(2)読み書き速度
ファームウェア次第ではあるけれど
複数プラッタのほうが高速対応出来うる。
といったところで終わりそうな気がしますね。
「こうあるべき」という理想と「こうなっている」という現実は違います。
ありがちなのはコストに見合わないなどの理由によるものです。
私もエンジニアの端くれですからそういった場面にはたびたび遭遇します。
ですのであなたがおっしゃっていることが実際の製品に本当に当てはまるのかどうかが知りたいわけです。
繰り返しになりますが、理論は分かりますがその証明が足りていないと感じます。
具体的には以下の2点
>複数プラッタの場合一番コストのかかるシリンダ間の移動する機会が減る
減らせるのは間違いないですが、実際の製品レベルで減らしていますか?
>プラッタ上のトラック当たりの容量の多い部分だけを選択することで
選択すればそうなりますが、実際に選択されていますか?
当初想像していたより非常に情報が出てきているのでその点に関しましては感謝いたします。
ですが、このレベルになると「こうなっているはず」というだけではそのまま鵜呑みに出来ないことはご理解ください。
>減らせるのは間違いないですが、実際の製品レベルで減らしていますか?
これはあなたの提示した
>>
では総容量は小さいほうにあわせる(パーティションをそこまでに設定する)という条件をつければ意味のある比較になりますか?
<<
という条件の下で自明な話ですよ。
プラッタが増える=同一シリンダでのトラック数が増える、です。その代わり増えた分だけシリンダ数自体が反比例して減るのでシリンダ間の移動する機会が減るのも自明です。
容量が1000のディスクで1プラッタ(2面)のディスクで1000シリンダのディスクは2プラッタ(4面)のディスクで500シリンダで済みます。1シリンダ当たりの容量は2プラッタの方が倍あることになるのでシリンダをまたぐ機会は2プラッタの方が減ります。しかも最外周から最内周までのヘッドの移動距離は2プラッタの方が(トラック密度が同じであれば)半分になり2プラッタの方がより速い動作が期待できます。
>プラッタ上のトラック当たりの容量の多い部分だけを選択することで
選択すればそうなりますが、実際に選択されていますか?
これはファイルシステム次第です。とは言うものの普通のファイルシステムはLBAの前の方から使っていくのでパティションを普通に切ればLBAの若い方にパティションは作られます。パティションツールでそれぞれのパティションがどのLBAにアロケートされているか見てみるといいです。
http://www.hitachigst.com/tech/techlib.nsf/techdocs/29BF93BB17D932A886256DA500659B21/$file/Adaptive_Format_WP.pdf
このあたりの論理の流れが良くわからないので説明していただくか、参考になるサイトを提示してもらっても良いですか?
つまらないことですが、説明を要するような場合自明という言葉は使いませんよ。
あなたの中では自明であっても、私の中では自明ではありません。
その原因が私の知識不足や理解不足である可能性は否定しませんが。
http://ja.wikipedia.org/wiki/%E8%87%AA%E6%98%8E
http://cowscorpion.com/HDD/HDTune.html
自明という言葉に反応するなら、あなたの理解はどうなのか、どうしてよく分からない(全く分からないわけではないでしょう)のか、あなたの理解はではどうなのか、という風な反応の方が建設的なのではありませんか?あなたの理解に関して単に「よく分からない」という反応だけなのは残念です。
>プラッタが増える=同一シリンダでのトラック数が増える、です。その代わり増えた分だけシリンダ数自体が反比例して減る
この部分は自明でいいですか?
id:rafile
>>
後ろになるにつれ速度が低下しますので、LBAは内周から順に割り付けられているように見えます
<<
LBAが割り当てられているのは内側ではなく外周からです。
内周の方がトラック一周に割り当てられているセクタ数(データ数)は少ないのですよ。外周の方がより多くのセクタが割り当てられているのです。なぜなら外周の方が円周が長いのでより多くのセクタを割り当てることができるからです。
そして同一ディスクが回転しているのでどのトラックも一周する時間は同じです。
したがって一定の時間(ディスクが一周する時間でもいい)に転送できるデータ数は外周の方が多くこのため外周の方が転送速度は速く、内周は遅くなります。
ですからLBAの若い方が速度が速いならそれは外周の方に割り当てられているという事実を示していると考えられます。
samsung の最新型 1.5TB が 375GBプラッタ4枚らしいので、250GBプラッタ4枚かな。
500GB 4枚4面,750GB 4枚6面,1TB 4枚8面でしょうかねぇ。枚数をそろえると生産効率があがります。
>
>この部分は自明でいいですか?
この部分が自明でいいとして、
>シリンダ間の移動する機会が減るのも自明です。
例えばプラッタ1枚でシリンダ数1000のディスクとプラッタ2枚でシリンダ数500のディスクの読み書き速度を比較すると、ディスク全体をシーケンシャルに読み出した場合、前者の場合はシーク動作が999回必要になります。これに対して後者の場合は499回で済みます。
ディスク全体でなくても例えば前者のディスクで1シリンダを超えて2シリンダ未満の大きさのファイルを読み出すことを考えると、前者の場合はは必ずシーク動作が1回必要です。ファイルの境界がシリンダを2箇所で跨ぐ場合もあるので最悪2回必要です。(キャッシュがあれば別ですがここでは考えない)これに対して後者の場合はファイル境界がシリンダを跨がない限りシーク動作は不要です。最悪1箇所でシリンダを跨ぐ可能性があるので最悪1回必要です。
前者のディスクで全てのファイルが1シリンダ内に収まるファイルであり、(話を簡単にするために)シリンダを跨ぐファイルは無いと仮定してランダムにファイルを読み出す場合を考えると、あるファイルを読んだ後で次のファイルを読み出す場合に同じシリンダ内に次のファイルがある確率は
前者の場合は約1000分の1です。言い方を替えるとシークしなければならない確率は約1000分の999です。一方、後者の場合は同じシリンダ内に次のファイルがある可能性は約500分の1でシークが必要になる確率は約500分の499です。完全にランダムな読み出しの場合ではあまり差は無いもののシリンダ数の少ないディスクの方がシリンダを移動する機会は少ないのです。さらに外周に近い方にパティションを切ってシリンダ数を制限した場合にはシリンダ当たりのデータ数は多くなるのでシークの機会は減ります。またシークする距離も前者に比べて後者の方が短いのでシークそのものの平均時間も後者の方がが短くなります。