私が使っているパソコンはすべてSSDにしている。
ところが最近PCIe接続のNVMe SSDを使う機会があり,かなり快適だったので手持ちのマシンもPCIe NVMe SSDに交換することにした。
といっても,SATA SSDを載せているデスクトップマシンは,チップセットがZ77でPCIe NVMe SSDからの起動はサポートしていない。そこで調べてみたところ,BIOSを書き換えてPCIe NVMe SSDから起動させる方法があることがわかった。BIOSに起動ROMが含まれていないのが起動されない理由で,逆に起動ROMを書き足すことさえできればなんとかなるということだ。
リンク先にも書いているが,入れ直しに失敗するとマザーボードがゴミになるリスクも有る。ただ,BIOS入れ直しにはついてまわるリスクであるし,BIOSに起動ROMを書き足すだけで,BIOSの内容を削除したり書いてある部分を書き換えてしまうものではないので,BIOSの入れ直しだけで起動しないマシンが出来上がる可能性は低いと思う。
とはいえ,メーカーは一切サポートしない方法なので,私も責任は取れない。
PCIe NVMe SSDは,現時点でもっとも速度が早いSAMSUNG SM961 512Gbyteを購入。
また,M2スロットはマザーボードに当然ついているわけはないので,PCIe変換ボードを別に買う必要がある。
あまり過酷に使わないのであれば単なる変換ボードで足りるが,放熱を加味して私はST-M2PCE4XBを買ってみた。
さて,SM961の転送規格はPCIe Gen.3 x4となっている。しかし私のデスクトップマシンはCore i7 2600Kで,PCIe Gen.2の対応にとどまる。Gen.2ではGen.3と比較して転送速度が半分になるので,NVMeが3Gbyte/sほど出ても転送速度がそれ以下になり性能を発揮できない。いわゆるCPUがSandyBridge世代ではダメなので,PCIe Gen.3に対応しているIvyBridge世代のCPUを用意する必要がある。
今更3770Kを買うことになるとは思わなかった。エンコードなどをしない限り,ハイエンド側のCPUはあまり性能向上がないのが実情で,デスクトップマシンは更新するつもりがまったくなかったのだ。まさか転送速度がストレージの進化でサチュレーションを起こすとは。
ここまでが前提で,ここからがBIOS書き換えの本題。
まずはASRockのBIOS配布ページで,最新(といっても2015年)のベータBIOSをダウンロードする。
そしてフォーラムから,This is what you need:の部分にあるCodeRush's UEFITool v0.21.5とuncompressed NvmExpressDxE_2 module GUID 9A4713C2をダウンロードする。
3つのファイルを同一ディレクトリに入れて,UEFI TOOLを起動し,File→Open image fileでBIOSデータを開く。開くファイルは「すべて」にしないと選択できないので注意。
Ctrl+FキーでSearch画面を開き,Textタブで「PciExpressDx」を検索。
該当行が見つかるので,画面の行で右クリックをして,「Insert after...」を選択。
挿入するファイルとしてNvmExpressDxE_2.fssを選ぶ。
書き込みができると,先程選択した行の下に「NvmExpressDxE」という行が追加される。
これでファイルをSaveして,適当なUSBメモリに書き換えたBIOSをコピーしておく。
ASRockの場合,BIOSを入れたUSBメモリを挿したまま,起動時にF6キーを押して起動するとBIOS変更画面が出るので,指示に従って書き換えたBIOSをマシンに適用する。
ここまでできたら,マシンのシステムディスクを現在使用しているディスクからPCIe NVMe SSDにまるごと移し替える。
今のシステムディスクを接続したままで,PCIe NVMe SSDも接続し,今のシステムディスクでWindowsを起動。
下記リンク先にある手順で,ディスクを丸ごとクローンする。
500GbyteのSSDのディスククローンには1時間ほど時間がかかった。
クローンが終了したら,起動ディスクはPCIe NVMe SSDのみにして,これまで使っていたシステムディスクを外して起動させる。
BIOS入れ替えにより,SM961+ST-M2PCE4XBで無事に起動させることができた。
少しだけインストールしたソフトでエラーが出たが,たいした問題はなかった。
なおST-M2PCE4XBにPCIe NVMe SSD取り付けたところ少し問題があった。どうもPCIe NVMe SSDのスロットと雌ネジ側の高さがきちんと揃っていないようで,雌ネジ側が微妙に(1mmとか1.5mmくらい)高くなってしまう。そのままサーマルパッドを貼ってヒートシンクをネジ止めすると,PCIe NVMe SSDがはっきりわかるぐらいたわんでしまう。サーマルパッドがヒートシンクに密着しないので放熱性能に影響するし,基盤をたわませているとPCIe NVMe SSDのチップと基盤のハンダが剥離する可能性もあるので,ヒートシンク取り付けの際に高さを調整したほうがよいと思う。
写真では,ブルーのLEDの向かって左側のスロット後部の基盤とヒートシンクについている金色の雌ネジの間に茶色の紙製ワッシャが見えている。このようにヒートシンク取り付けに際してワッシャを噛ませて高さ調整をしている。紙製ワッシャは,マザーボード取り付けの際に使うものを流用している。2枚噛ませるともっともよいようだ。
ST-M2PCE4XBに附属のサーマルパッドは粘着力が弱いので,すぐに剥がせるのでなかなかよい。ヒートシンクにもきちんと熱が伝わっていて,ベンチマークを取ってみても41℃くらいにしかならない。高さ調整さえきちんとできれば,良い製品だと思う。
性能確認として,まずはこれまでのSATA SSD(Intel SSD730Series 480Gbyte)。
次に今回換装した,Z77 Extrem4+i7 3770K(IVY Bridge)+SM961(512Gbyte,SAMSUNG純正ドライバ)のベンチマーク。
SATA SSDとは一線を画すスピード。
では最新CPUとチップセットで接続した場合と比較すると?
B250+i7 7700+SM961(256Gbyte,SAMSUNG純正ドライバ)のほうが,全体的にやはり早い。
Write Seqがやや遅いのは,256Gbyte版であることが原因。ReadとWrite 4Kで比較するのが順当。
残念ながら古いCPUとチップセットでは,100%の性能を発揮するわけではないようだ。といっても,アプリケーションの起動はSATAのときと明らかに違いがあるので十分だが。
理屈の上では,BIOS書き換えさえできればPCIe NVMe SSDからの起動はできるはずだ。ただし,IvyBridge以降のCPUでないと転送速度が不足している,CPUやチップセットが古いとPCIe NVMe SSDの性能を完全に発揮できないという点もあるので,今のマシンの延命措置という色合いが強いだろう。