今 時半導体メモリを使用しない PC などありませんので、タイトルを見ただけでは???ですね。
このページは「ス トレージ」に半導体メモリを使用して、PC の体感的な快適度を向上させよいという試みについて書いてあります。この試みはまだ未完成で、ゴールまでは到達できない気もしていますが、やる前よりは随 分と良くなった気もします。
自 分好みの構成を求めて PC の組立て (なぜか自作とも呼ぶようですが) をしてきましたが、Benchmark 性能は上がっても体感できないことが多くなりました。確かに大規模な演算をするようなプログラムは高速に動作するようになり、各種シミュレーションなどは ずい ぶんと楽になりました。しかし、一方で Windows の Explorer などの操作でもまだ遅いと感じる方も多いのではないでしょうか。
こ のような経緯から、より快適な PC を目指しての組立てを始めました。
PC が遅いと感じるのはどんなときでしょう。
PC の操作とソフトウェアの動作の関係は、自分で作ったソフトウェアでなければなかなかわかりません。例えばMS-Office のフォント操作が遅いと感じても、これが OS のレンダラのせいか Office のフォントサーチの問題か、はたまたフォント情報のディスクアクセスかを知るのは困難です。
しかし、多くの「遅 い」と感じる操作に I/O アクセスが絡んでいるのは間違いないでしょう。
I/O アクセスのメインは現在では Disk と Network ですが、Network は手をつけるのが難しい (^_^; ので、まず Disk を改善したらどの程度快適になるかを試してみました。
使用機材は以下の通りです。
Flash Disk は工業用の製品が出回っていますのでこれを使うのが簡単なのですが、貧乏人には無縁の価格ですので、今回は(本業に近い内容でもありましたので)気合で自 作しました。
最 近では CF や SD で Flash Disk を作るアダプタなどもあるようですので、これを使用すれば比較的安価かつ簡単にできそうです (もう少し待っていれば…)。但し次の寿命の問題がありますので、かならず書き込み分散を行うカード/コントローラを使いましょう。
という問題があります。
2. の問題のみであれば、ECC 付きメモリが使用できるようなものを自作するという解もあったのですが、1. の問題は回避できないため Flash Disk の併用としました。
し かし、Flash Disk は書き換え回数の問題 (通常 10 万回程度で寿命) がありますので、テンポラリのデータは GC-RAMDISK、ROM 的なデータは Flash Disk としています。例外としてよく使用するアプリケーションのバイナリは GC-RAMDISK に置いて、時々オリジナルと比較検証する運用にしています。
さらに、Flash Disk は書き込み分散と代替容量を確保することで延命を図っていますが、心配なので次の変更を OS 環境に加えています。
この他にも OS 領域への書き込みを頻繁に行うアプリ(firewall 等に多い)があればそのフォルダも移動します。
結 果的に GC-RAMDISK, Flash Disk と HDD 2台 (アプリケーションバイナリ用、データ用) の計 4 Disk での運用となりました。
な お、junction を利用してフォルダの実態を移動したりすると、最悪の場合 boot できなくなったりしますので、回復コンソールでドライブレターの変更ができないなど、Windows のスキルが十分でない方はやらないことをお勧めします。再インストールでデータが失われることになっても私は責任もてませんので。
と ころで、GC-RAMDISK を RAID1 で使用している例を見ますが、一般的に RAID はディスクの障害からの復帰をサポートするものでデータの保護はできません。つまりディスク自体が障害を検出できないと意味がありません。RAID1 でミラーしても双方の読み出し結果を比較しなければデータ化けは検出できませんし、例え検出できてもどちらが正しいかは判断できませんので。
HDD, GC-RAMDISK, Flash Disk の性能は有名な FDBENCH では以下のようになっています。
本題の快適性ですが、例えば
な どの結果で、結構満足しています。
さ らなる快適化を狙って、R/W Cache つきの RAID コントローラにしてみたのですが、こちらは見事に失敗しました。Cache の効果で比較的遅い Flash Disk のライトが目立たなくなるかと思ったのですが、ごくまれに Cache があふれた際に「ひっかかり」感が大きくなる場合があり、平均的には良いものの使用感としては低下してしまいました。
ま た、GC-RAMDISK の方は、RAID コントローラが挟まって Latency が長くなる分、特に Random Access 性能は低下する傾向でした。Cache の効果の方が大きいのではないかという期待もあったのですが、最近の OS のディスクバッファ制御はなかなか優秀なようです。
なお、当然ですが Benchmark では Cache 付き RAID コントローラを使用したほうが高速です。しかし、これは Benchmark ソフトが OS のバッファの存在を知っていて Disable しているのに対し、RAID コントローラの Cache は常に有効になっているためで、Benchmark の仕方次第で結果を誘導できるという、技術屋さんには当たり前の結果を見ることとなりました。
でも PC の快適性を数値で示すのって改めて難しいですね。起動なんてめったにしませんし、そもそも POST の ECC 初期化の時間の方が支配的ですし。
考え中です。