どうもみむらです。
先日 PC が故障しまして第9世代の Intel CPU (i7-9700) を用いて組み直していました。
故障する数日前からビープ音(長音)の連続で起動に失敗したりしていたので
なんか気持ち悪いなとは思っていたのですが。。
テレワークが推奨されており、お仕事に甚大な影響が出ることもありましたので
ツクモ電機さんのレジの横にあるリーダーにクレジットカードをシャコシャコッと何度も差し入れしてきました。。来月の引き落としに今から震えています。
ただ今回買い換えを行ってみて
Intel Smart Response Technology (iSRT, HDD を SSD キャッシュで高速化するやつ) が
Intel Optane Memory との組み合わせ専用かつ、RAID 不可に変更されており
iSRT を使って RAID-5 を高速化していた身としてはかなりショックでした。。
では iSRT の代替としていいものは無いのかと探していたところ
PrimoCacheという良さそうなものを見つけたので試してみました。
PrimoCacheとは
HDD を SSD でキャッシュして高速化するソフトです。
まさしく Intel の Smart Response Technology で実現していたものを実現してくれます。
ほかにも FuzeDrive (AMD 環境では StoreMI という名前で提供されています) というソフトなどもありますが、いくつか試してみたところ PrimoCache がよさそうな感じでした。
PrimoCache は Romex Software 社の製品で、1つ当たり $29.95 の製品になっています。
https://www.romexsoftware.com/en-us/primo-cache/
なお私自身はメーカーさんから
今回の記事に関して何か支援を受けてはいませんのであしからず。。
PrimoCache の設定をする
左上のボタンを押してドライブを追加します。
次の画面で「高速化したいドライブ」を選択します。
次にキャッシュの方法についての設定です。
Level-1 Cache が “DRAM 上” のキャッシュ、 Level-2 Cache がストレージとなります。
またキャッシュについては文字通り Level1, Level2 の階層構造になっています。
今回の場合は SSD キャッシュのみを有効にするため、
Level-1 Cache は 0MB に設定します。
次に Level-2 Cache を設定するために、画面中央の小さなボタンを押下します。
ボタンを押下すると次のような画面が表示され
キャッシュ用のドライブを選択する画面になります。
今回は Intel Optane Memory を使うため
INTEL MEMPEK.. で始まるドライブを選択します。
注:もちろん Intel Optane Memory を使わずに通常の SSD でも利用可能です。
注2:認識されている容量が小さい場合は何らかのパーティションを作ってから再試行してみてください。
設定後、 “Size” を “MAX” に変更し、その横にあるボタンを押下します。
特に何もなければ
“Individual Read/Write Cache Space” のチェックを無効にします。
これが ON の時はそれぞれのキャッシュが設定した割合で行われますが
無効の場合は割合を気にせずに Read / Write キャッシュを行うようになります。
最後にお好みで Defer-Write (遅延書き込み) の設定を行います。
遅延書き込みを有効にすると応答速度が速くなりますが、
ディスクへの書き込み(キャッシュ内容の反映)が遅くなります。
設定が完了したら “Start” を押下します。
画面UI について
稼働を始めると下記のようにキャッシュ率などが表示されます。
ある程度動きはじめたら、画面を閉じて仕事に戻りましょう。
冒頭のとおり PC の故障で買い替えたところ
Intel RAID 構成に対する SSD キャッシュが使えなくなって呆然としていたところ
こういうソフトを見つけることができてよかったです。。!
また前回の構成では Intel RAID の RAID-5 だったのですが
iSRT が有効な環境だと最新のマザーボードや mdadm ではマウントできず焦りましたが
dmraid を使うことでマウントができました。
PrimoCache の場合は Intel RAID と SSD Cache が別の機構なため
同じようにマウントできなくなることは(きっと)ないと思いますし安心です・・!
ではでは、素敵なテレワークライフを!
私もPrimoCacheを使用していますが
L2-Cache側のデフォルト設定が「Individual Read/Write Cache On&Read100%(書き込み用に使用しない)」になっているのは
SSDをSSDまたはHDDの書き込みキャッシュ用に使用しても効果が見込めないから書き込みキャッシュ用にはRAM(L1Cache)を使ってね、ということだと思います。
ありがとうございます!
L2 キャッシュの肌感ですが、ランダム書き込みと読み取りに
PrimoCache の L2 キャッシュがかなり効いているようです。
一例としては、システム起動直後のアプリケーションの起動や、ウェブブラウザの一時ファイルの読み書きなどのようなパターンの時に、HDD に書きに行くより前に SSD で一端受け止めることで高速化になっているとタスクマネージャーをみながら感じてます。
ですが、L2 Cache の書き込みキャッシュは、 “Volatile Cache Contents” にチェックを入れていない場合は、シャットダウン時に HDD への書き出しを完全に行わないため、ディスクとの整合性がとれなくなる(他OS でディスクを直接マウントしたりすると破壊される) 可能性があります。
特に Windows で自動修復 (Windows 起動に何度か失敗した場合に自動起動するもの) が走ると、キャッシュ側の想定するものと異なってしまうため、色々と問題が起きることがあります。 (逆に永続的にキャッシュされるため、どんどん早くなるという利点はあります)
私の場合は “Volatile Cache Contents” にチェックを入れて使っていて、上記の事項は回避するようにはしていますが、
やはりリスキーというのは避けられないと思います ( Intel RST でも Write-Cache を On にする際には警告が表示されます。 )
またそれより前に、ご指摘の通り、 SSD が十分に早い場合や HDD のシーケンシャル読み取りなどはキャッシュを利用するまでもなく高速ですので、 L1 と組み合わせる形で無いと有意な効果が得られないというところはあると思います。
(私も Diskeeper を用いた L1 Cache を併用していますが、ガッツリ早くなります・・w)
参考にさせて頂きました!
ISRTがデフォルトで有効になっているPCを使用していているのですが、ISRTだとしばらく使用しているとOS側が壊れてしまう上、諸事情にてSSD換装ができないため仕方なくCドライブはHDD単体で使用していたのですが、このソフトを入れてみた所起動直後のモッサリ感や全体的な体感速度がかなり軽減されました!(それでもSSDには及びませんが…)
L1キャッシュは512MB、L2キャッシュは16GB(mSATA SSD)、Readのみの環境ですが、この程度のキャッシュ量でも効果はかなりありますね。
正直な所、何故かISRT使用時はHDD単体時と全くもって差を感じられなかったのですが、PrimoCache使用時は明らかに速くなっているのを感じます。
本当にありがとうございました。