スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
拍手する
↑ポチして頂けると、とても励みになります

ハードディスクの転送速度(1) ~パーティション編~

コツコツ書いてたらどんどん長く・・てかもうキニシナイコトニシマシタ(´▽`)

ハードディスクの使い方、気にしていますか?
一昔前ならメーカー製でも大容量でありながらパーティションを区切らず
システムも資産データもページファイルも何もかも
一緒くたにしているものが多かったと思います。
(今でもリカバリROM代節約目的で区切っている以外には
特に気にしていないものが多いかな・・)
様々な要因でコンピュータの体感速度は使用時間に伴い悪化していきますが、
中でもボトルネックになり易いのがハードディスクを介したやり取りです。

さて、そんな流れからハードディスクアクセスを少しでも高速にするため
色々なテクニックがありますが、その一つであるパーティション分割について

仮定1)パーティションは最外周から同心円状に分割されている。

ならば、

仮定2)初めに切ったパーティションほど転送速度は高速。

という話があります。ここまではよく聞く気がします。
そこで、最近珍しくなくなったRaid0ですが、この場合についてはどうなのでしょうか?
Raidコントローラはハードディスク複数台に同時に読み書きするが
(ストライプサイズより大きなデータの場合)、
OSからは1ドライブに見える・・ならば、

仮定3)Raid0でもパーティション分割と転送速度の関係はドライブ単体と同じ?

仮定(1)や(2)などは知識として知っていたのですが実測したわけでもなく、
さらに仮定(3)となるとよくわからず、どうしても気になって・・
パーティションについて調べるとその利便性や仕組みの解説が多く、
実際に外周から、同心円状に、などディスク上での具体的な領域の取り方について
言及している情報が意外と見つからないのです(無いわけではありません)。
やはり納得するためにもいずれは自分で試してみないと!と思い続けていました。
そこで今回、せっかくバックアップ用に買ったハードディスクがあるので、
インストールついでに実測をしてみました。

使用したハードディスクとそのスペック
 SeagateST31000523AS
 容量:1TB(表記)
 プラッタ数:2枚
 キャッシュサイズ:32MB
個人的にはずっと日立(現HGST)とMaxtor、Quantumを勝手に贔屓にしてましたが
今回初のSeagate製品購入です。
(店頭でST31000528ASを購入するも、システム上の認識はST31000523AS。
しかしメーカーHPで検索するも存在せず(・3・)アルェー 何が何処が間違ってる?・・)

まず単体での領域をディスク半径で"かなりざっくり"3分割しました。
O: 517GB 最外周
P: 310GB 中間
Q: 104GB 最内周
足して1TBにならないのはもはや周知の通りですね・・
このロスはちょっと馬鹿にならないですが。
(分割の詳細は下に書きました。気になる方はどうぞ)

これら各パーティションでCrystalDiskMark2.2を実行し、
転送速度を調べたのが次の結果です。(右の図は仮定図です)
単体統合図

まずこの結果から、仮定(1)と(2)が正しいことを確認しました。

では次に、2台のRaid0で同様に3分割した場合の転送速度を見てみましょう。
O: 1034GB 最外周
P:  621GB 中間
Q:  207GB 最内周
Raid0図

この結果から、Raid0でもパーティションを切る場合、
単体試験と同様の傾向があることがわかりました。

結論として、
全ての仮定が合っていたことが確認でき、安心して納得することができました。
ただ、シーケンシャルアクセスに明らかな影響があることは容易に想像がつきましたが、
ランダムアクセスに関してこれほど大きな影響が出たということにはちょっと驚きでした。
興味深いのは
ライティングでは単体試験と同傾向の転送速度の低下が見られるにもかかわらず
リーディングに関しては512KB、4KB共にほとんど差が出ないという点です。
CrystalDiskMarkは最高値を表示しているので
たまたま今回の結果がこうなっただけなのかはわかりませんが・・

なお、今回載せてはいませんが、HD Tune2.55のベンチマークによると
このハードディスクは平均シークタイムが13.8~13.9msとやや遅いようです。
このことからも、適切なサイズでパーティションを切ることは
ヘッドシークが狭い範囲内で済むようになるので
(最外周←→最内周の行き来が一番時間がかかる)
パフォーマンスに対して有効でしょう。

にしても、公表スペックとやや見劣りする点の多い523AS。
そもそも型番違うし。良いのかコレ・・

以下で分割サイズの決定方法などの詳細を描きましたが
普通に読みにくいのでお茶でも片手にガッツリ読みたい方だけどうぞ。

<パーティション分割サイズ決定の方法>
プラッタは 外側ほど円周が長い=1トラック当たりのセクタ数が多い ため、
同じ容量では外側ほど1トラック当たりのデータ量が多くなります。
つまり、容量の3等分=プラッタ半径の3等分にならない 事を意味しています。
そこで少し鬱陶しいのですが、グダグダと計算してみると・・

3.5inchハードディスクとは、プラッタの大きさが3.5inchということ。
1inchは2.540cm。つまりプラッタの直径は8.890cmで半径rは4.445cm。
プラッタの面積を求めるとπr2より≒19.758πcm^2
この面積で931GBを記録すると仮定する。
(実際のプラッタは表裏に記録可、さらに複数枚をシリンダ単位で扱っている)
円の半径で3分割するので、半径rが4.445cmより
各パーティション(以下P)領域の半径方向の幅はr/3で1.482cm。
本文の図で示した、
最内部Pの面積は2.196π、中間部Pの面積は6.583π、最外部Pの面積は10.979π。
これら面積比で931GBを分割すると
最外部Pは517GB、中間Pは310GB、最内部Pは104GBになります。
ただし、各所でかなりざっくりと言ったのは、
プラッタの中心にあるスピンドル(軸)の存在を無視しているからです。
それほど小さな部品ではないため、上記計算と実際は全く別物と言えますが、
目的は達成しているので良しとしています。

何故上記のようなめんどくさい計算をしてまで分割サイズを気にしたかというと、
ハードディスクはZBR(Zone Bit Recording)を採用しているため、
あまり少ない容量で分割すると差が見にくいからです
(例えば100GBずつ外側を切った場合とか)。
ちなみに300GBずつ3つに分けると、
最外周Pと中間P及び中間Pと最内周Pの差が違いすぎて
結果が見にくかったということを念のため・・

おまけ

<高速ハードディスクを選ぶ>
今回のハードディスクは「3」以外、下記の点に注目して選びました。

1.容量が多く、且つプラッタ数が少ないもの
2.キャッシュが多いもの
3.シークタイムが小さいもの
4.回転数が7200rpm以上のもの

理由は以下の通り。
1.トラックの線密度が高くなり、またプラッタ1枚当たりのトラック数も多くなるため(トラック密度が高くなる)。つまり、こういう製品に内部データ転送速度が高いものが多い。
2.一度読み込んだデータや書き込みデータを保存しておく高速な領域。多いほど物理的で低速なディスクアクセスを減らすことができます。
3.ヘッドの移動には時間がかかるため、これが大きいとランダムアクセスへの影響が馬鹿になりません。
4.ハードディスクはディスクの回転とヘッドの位置指定でデータを読み取ります。つまり、ディスクの1回転に時間がかかるということは、ヘッドを移動した後、目的データがその下に来るまでの待ち時間と読み取り完了までの時間が長くなってしまうということです。

ちなみにATAではWestern DigitalのRaptorシリーズが10000rpmを実現していますが、
基本的に5400rpmか7200rpmのようです。SCSIでは15000rpmのものもあるようですが・・

しかしこのブログ、PHPとかPerlとか使えない??
その他以外と不便を感じることが・・そのうちどっかに移転しようかな。

--連続記事--
ハードディスクの転送速度(2) ~ファイルシステム編~
拍手する
↑ポチして頂けると、とても励みになります

コメントの投稿

非公開コメント

プラッタ面積の計算

古いエントリに対するコメントですいません。書かれているとおりざっくりした計算なので、とくにどうということではないのですが、せっかく計算されているので。

3.5インチHDDのプラッタの外径は、実際には95mm(3.74インチ)、内径は32mm程度です。これは内部写真から計算すれば分かります。
http://media.seagate.com/seagate-desktop-storage-photos/

仮に両方の縁の3mm(半径、以下同じ)は記録に使われないとすると、使われる部分の外径は44.5mm(丁度3.5インチの半分になりますが)、内径は19mm程度になるので、半径で三分割した場合の容量は、外周393GB、中間310GB、内周228GB程度になると思います。

Re: プラッタ面積の計算

>EMO様
なんときっちり計算して下さったようで・・(゜_゜?!
実は記事を書くに当たって私も悩みました。
ハードディスクには直接の記録に使われていない部分(代替セクタ用領域など?)や、
中央のスピンドルモーターの部分(サイズは結構ある)など、本当に省いて良いのかと。
結局、話の流れ的にはざっくりでも問題ない・・としてしまいましたが^^;

古い上に長い記事なのに読んで下さった上に
かのような対応までしていただきましてありがとうございます。
Blog Search Form
Access Counter
since 2009/03/22
thank you for coming to my blog...
World Community Grid
参加中。ランク1万台を脱するのはいつの日か・・
カテゴリ
最新記事
・・新着順に5件表示中・・
コメント
月別アーカイブ
RSSリンクの表示
リンク
  1. 無料アクセス解析
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。