2009年 03月 27日
Cドライブの高速化 - 1 |
Core i7プロセッサのOCによる高速化はまだまだ余地を残してはいるが気力と体力的には一段落させようというところ。で、ディスク・サブシステムだが、せっかくSAS化したのでコントローラによるハードウェアRAIDなどの利点を享受して更なる高速化を追求しようかと思った。
RAIDはRedundant Arrays of Inexpensive Disksの略語であり、複数のHDDを組み合わせてパフォーマンス増大および安全保護強化を図る手法である。これらについてはwikipedia等に詳しいので必要に応じて参照のこと。
現在Windows XPで使用しているCドライブはMarvell社製のオンボード・コントローラのポートに接続してシンプレックス(=つまりNON-RAIDの普通の)構成で運用している。このオンボード・コントローラはSATA 7ピンのポートを2つしか出していない。一方このコントローラがハードウェア・レベルで備えるRAID機能はRAID 0とRAID 1、そしてこれらを組み合わせた格好のRAID 0+1、RAID 1+0と割と多彩なのであるがポートが二つしかないがゆえ後者の二つは使えない。即ちRAID 0で構成するかRAID 1で構成するかどちらかなのだ。
RAID 1は別名ミラーリングと言って、同一セクタ・イメージを同時に二つのドライブに書き込んで冗長化する方式であり、ライト時のパフォーマンス向上は期待できない代わりにリード時のパフォーマンスはシンプレックス構成時の約2倍のパフォーマンスが期待できるというもの。ドライブが冗長化されるので耐故障性が大幅に改善される一方、パフォーマンスに関してはそれほどでもない。ミラーという位なので構成ドライブは2つ必要となる。
RAID 0は別名ストライピングと言い、セクタ・イメージをRAIDを構成する複数ドライブに分散して配置していくやり方。冗長化はされないので厳密な定義からいうとRAIDではないが、一応「ゼロ」を付けてRAIDの仲間に加えている。構成ドライブは最低2台ということだ。RAID 0を構成するドライブ台数をNとすると、ある特定のセクタ番号sが書き込まれるドライブ番号dは、
d=s-((s-1)÷N)×N
で求められる(但し計算は全て整数で行い小数点以下は切り捨て、sもdも自然数とする)。即ち、セクタ番号を構成ドライブ台数で割り算した余り(剰余)が、当該セクタが格納されるドライブの番号となる。たとえばN=3とした場合は以下のように分散されることとなる。
s: 1 2 3 4 5 6 7 8 9 10 11 12 13 14・・・
d: 1 2 3 1 2 3 1 2 3 1 2 3 1 2・・・
読み書き要求が各ドライブに分散されるので磁気ヘッドのポジショニングとシーク動作が最小化・均一化されるという物理動作上のメリットの他、SASのような全二重通信・同時入出力および並列コマンド・キューイングを行う制御方式ではドライブへの帯域幅が実質倍増、3倍増するという電気的メリットも奏功して劇的なパフォーマンス改善が期待できる。しかし前述の通り冗長化されていないため、構成ドライブのうち一つでも故障すればRAID全体が即座にデータ・ロストしてしまうという決定的な欠陥がある。
このように、RAID 0、RAID 1のどちらかを単独で用いると言うことはパフォーマンス向上を目指す上では余り現実的ではない。それなのにオンボードのMarvellコントローラではこれらの組み合わせは実現不可能である。
かたやAdaptec RAID 2405コントローラはSFF-8087ミニSASコネクタで4レーンをサポートしているのでRAID 0+1またはRAID 1+0を構成することが可能だ。この場合の最低構成ドライブ台数は4となりWindowsのCドライブをRAIDで構成するにはぴったりだ。しかし今度はアプリやデータを格納するドライブとして余りがMarvellの2ポートだけでは将来の音楽サーバ化などを睨むと全然足りない。
そんなことをつらつらと考えつつY!オクを覗いていたら格安でこんなものが出ていた。気が付いたら勝手に延髄が反応してポチ!していたw

(続く)
1日1回、ここをポチっとクリック ! お願いします。
RAIDはRedundant Arrays of Inexpensive Disksの略語であり、複数のHDDを組み合わせてパフォーマンス増大および安全保護強化を図る手法である。これらについてはwikipedia等に詳しいので必要に応じて参照のこと。
現在Windows XPで使用しているCドライブはMarvell社製のオンボード・コントローラのポートに接続してシンプレックス(=つまりNON-RAIDの普通の)構成で運用している。このオンボード・コントローラはSATA 7ピンのポートを2つしか出していない。一方このコントローラがハードウェア・レベルで備えるRAID機能はRAID 0とRAID 1、そしてこれらを組み合わせた格好のRAID 0+1、RAID 1+0と割と多彩なのであるがポートが二つしかないがゆえ後者の二つは使えない。即ちRAID 0で構成するかRAID 1で構成するかどちらかなのだ。
RAID 1は別名ミラーリングと言って、同一セクタ・イメージを同時に二つのドライブに書き込んで冗長化する方式であり、ライト時のパフォーマンス向上は期待できない代わりにリード時のパフォーマンスはシンプレックス構成時の約2倍のパフォーマンスが期待できるというもの。ドライブが冗長化されるので耐故障性が大幅に改善される一方、パフォーマンスに関してはそれほどでもない。ミラーという位なので構成ドライブは2つ必要となる。
RAID 0は別名ストライピングと言い、セクタ・イメージをRAIDを構成する複数ドライブに分散して配置していくやり方。冗長化はされないので厳密な定義からいうとRAIDではないが、一応「ゼロ」を付けてRAIDの仲間に加えている。構成ドライブは最低2台ということだ。RAID 0を構成するドライブ台数をNとすると、ある特定のセクタ番号sが書き込まれるドライブ番号dは、
d=s-((s-1)÷N)×N
で求められる(但し計算は全て整数で行い小数点以下は切り捨て、sもdも自然数とする)。即ち、セクタ番号を構成ドライブ台数で割り算した余り(剰余)が、当該セクタが格納されるドライブの番号となる。たとえばN=3とした場合は以下のように分散されることとなる。
s: 1 2 3 4 5 6 7 8 9 10 11 12 13 14・・・
d: 1 2 3 1 2 3 1 2 3 1 2 3 1 2・・・
読み書き要求が各ドライブに分散されるので磁気ヘッドのポジショニングとシーク動作が最小化・均一化されるという物理動作上のメリットの他、SASのような全二重通信・同時入出力および並列コマンド・キューイングを行う制御方式ではドライブへの帯域幅が実質倍増、3倍増するという電気的メリットも奏功して劇的なパフォーマンス改善が期待できる。しかし前述の通り冗長化されていないため、構成ドライブのうち一つでも故障すればRAID全体が即座にデータ・ロストしてしまうという決定的な欠陥がある。
このように、RAID 0、RAID 1のどちらかを単独で用いると言うことはパフォーマンス向上を目指す上では余り現実的ではない。それなのにオンボードのMarvellコントローラではこれらの組み合わせは実現不可能である。
かたやAdaptec RAID 2405コントローラはSFF-8087ミニSASコネクタで4レーンをサポートしているのでRAID 0+1またはRAID 1+0を構成することが可能だ。この場合の最低構成ドライブ台数は4となりWindowsのCドライブをRAIDで構成するにはぴったりだ。しかし今度はアプリやデータを格納するドライブとして余りがMarvellの2ポートだけでは将来の音楽サーバ化などを睨むと全然足りない。
そんなことをつらつらと考えつつY!オクを覗いていたら格安でこんなものが出ていた。気が付いたら勝手に延髄が反応してポチ!していたw

(続く)
1日1回、ここをポチっとクリック ! お願いします。
by primex64
| 2009-03-27 11:53
| IT related
|
Trackback
|
Comments(2)
オーディオの話題も楽しいですが
今回のPCネタも面白いです、特に最後のポチは落ちだな。。。
質問なのですが
RAIDて、ライドと読むのかレイドと読むのか、どっちが正しいんですか?
レイドだと思うのですが、
あるサポートでライド設定してますかて言われたもので…
今回のPCネタも面白いです、特に最後のポチは落ちだな。。。
質問なのですが
RAIDて、ライドと読むのかレイドと読むのか、どっちが正しいんですか?
レイドだと思うのですが、
あるサポートでライド設定してますかて言われたもので…
0
ip2005さん、毎度です
ポチ! した件は、ホントアッハッハ・・!ですたww
あ、これはレイドと読みます。日本やアメリカではライドとは言いませんが、イギリスやオーストラリア人は「ライド」に近い発音をするかも知れませんね。
ポチ! した件は、ホントアッハッハ・・!ですたww
あ、これはレイドと読みます。日本やアメリカではライドとは言いませんが、イギリスやオーストラリア人は「ライド」に近い発音をするかも知れませんね。




