HOME > PC > SSD vs. HDD > RealSSD C300 vs. Plextor > UEFI boot

English


New SSDs with Marvell 88SS9174-BKK2 controller
and OS Boot Time with UEFI on Sandy Bridge Platform 



2011年1月9日にIntelより第2世代のCore iシリーズのCPUであるSandy Bridgeが発売され、これに伴ってmotherboardもP67/H67 chipsetとUEFI (Unified Extensible Firmware Interface)が新搭載された。Lenovoのprototype laptop PCでは、YouTubeのこのビデオクリップデモを見ると私の目では13秒でOSがcold bootしているように見える。
BIOSに代わるUEFIでは高速に起動するとされていて期待されていたが、deluxeな商品ではdevice checkやPOST処理に時間がかかりあまりOSの起動が短縮されていない場合もあるが、機能を絞ったBiostarのH67 chipset搭載のmotherboardに、最新Marvell 88SS9174-BKK2 controller搭載で最高速なSSDであるPlextor M2SとCore i7-2600Kを用いて起動実験してみると充分高速なcold bootが可能であった。
2011年2月5日、下記のシステムで起動速度やベンチ等の計測を行った。

Test system:

  • CPU: Core i7-2600K 3.4GHz, 8MB cache
  • RAM: Samsung M378B5773CH0-CH9 DDR3 SDRAM PC3-10600 2GBx2
  • Chipset: Intel H67
  • Motherboard: BIOSTAR TH67XE
  • Boot SSD: Plextor M2S 128GB through SATA III port in AHCI mode with IRT drivers.
  • GFX: Intel HD3000
  • Powered by: GOURIKI-P-550A
  • OS: Windows 7 Home Premium 64bit


  • SATA II portの電力制御回路の欠陥で現在P67/H67 chipset搭載のmotherboardがリコールされ現在入手できないのは残念であるが、自作用には4月頃から改良品が出回り始めると予測されている。現時点ではSATA III portには欠陥がないとされているので、SATA III portのみを利用して以下の実験を行った。

    まず最初にWindows 7のOSをANS-9010にclean installした。私の手元にあるAcronis 11でbackup imageを作成し、Plextor M2S 128GBに復元した。何種類かのSSDでは、partition alignmentを適合させるためにドライブの先頭に67.72MBのgapを作ったものと、partition alignmentが不適合となるようにするためにドライブの先頭から書き込んだもので比較計測してみた。ストップウォッチによる用手計測データである。

    Plextor M2S 128GBでpartition alignmentが良好な場合には16.23秒でOSが起動し、partition alignmentが不適合な場合では16.33秒でOSが起動した。計測したデータを下表にまとめてみた。(知りたかったもののみ計測した。)


    …………… 各種SSDでのOS起動時間 ……………
    Optimally
    Aligned
    Partition

    Malaligned
    Partition
    ANS-9010 14GB n/a 15.76 sec
    X25-M G2 80GB 16.22 sec 16.24 sec
    Plextor M2S 128GB 16.23 sec 16.33 sec
    Real SSD C300 64GB 16.32 sec 16.35 sec
    A-DATA s592 32GB n/a 16.39 sec
    Kingston SVP100S2/96GB 16.33 sec 16.73 sec
    Toshiba HG2 64GB 16.46 sec 16.75 sec
    OCZ Vertex 2 50GB n/a 16.76 sec
    Kingston SNV125-S2/30GB n/a 17.97 sec
    CSSD-SM64WJ3 32GB n/a 19.13 sec
    OCZ Apex 120GB n/a 20.02 sec



    ANS-9010は記録媒体にNAND flash memoryではなくてDDR2を利用していて他のSSDよりわずかに速く起動した。
    JMicronのSSDでは体感できる程度に遅かったが、これ以外の最新SSDではほとんどすべて16秒台で起動し、用手計測上では誤差範囲内と言える程度であった。

    (後日追加実験してみてわかったことであるが、実行ファイル等のサイズが64bit版より小さいWindows 7の32bit版を用いて、UEFIの"Onboard PCIE Giga LAN"もDisabledにしてみると、上表よりさらに約2秒起動時間が短縮し、Lenovoのprototype並みの時間でOSを起動することができた。
    H67でも4〜5% overclockできるので2500Kでも4% overclockして実験してみたが、2600Kと同じ速度で立ち上がったので、できるだけ安価なもので準備した上のシステムよりさらに1万円弱節約することも可能である。)


    4K random writeが体感速度に重要と考えることは理論的には正当であるが、実験的には実用上大差なく、4K randomデータの多いOSの起動やアプリの起動などの体感速度の差は私にはほとんど感じ得ない程度であった。一般的には、各種アプリはrandomの書き込みが少なくなるように設計されているが、browser cache退避用のramdiskを作らずにYouTubeを見ながら他の作業を行うなどの同一SSD上でのマルチタスクを行うと、データのドライブへの書き込みがrandomになってしまってSSDやHDDのパーフォーマンスが低下するので、私は買った物が劣化するのが嫌なのでパソコンでの作業はSSD・HDDに関わらずマルチタスクをさけ、どうしても必要な場合は別のPCを立ち上げるようにしている。

    RealSSD C300はpartition alignmentが適合していないと下のscreen shotsのように4K random writeのベンチ速度が低下することで有名であるが、4K randomデータはデータのサイズ自体が極小なので、速度差として実用上速度低下を実感しにくいのであろう。


    C300 aligned C300 malaligned


    …… 1000MBテストでの4K Random Write速度 ……
    Optimally
    Aligned
    Partition

    Malaligned
    Partition
    Real SSD C300 64GB 59.84MB/s 4.845MB/s
    Kingston SVP100S2/96GB 41.05MB/s 7.937MB/s
    OCZ Vertex 2 50GB 71.11MB/s 17.96MB/s
    Toshiba HG2 64GB 14.54MB/s 7.039MB/s
    X25-M G2 80GB 50.40MB/s 48.67MB/s
    Plextor M2S 128GB 47.56MB/s 40.03MB/s
    A-DATA s592 32GB 9.164MB/s 7.632MB/s



    上表から分かる通り、Marvell 88SS9174-BJP2・Toshiba・SandForce controllerのSSDではpartition alignmentが適合しないと4K Random Writeのベンチ速度の低下が大きく、X25-M・Marvell 88SS9174-BKK2・Indilinx controllerのSSDではpartition alignmentが適合しなくても4K Random Writeの速度低下が少ないことがわかった。(下のscreen shots参照)

    Plextor aligned Plextor malaligned


    注: こんなことを言っている人をあまり見たことがないので、2chに書き込もうものならフルボッコにされそうなので、小さめのフォントで普段考えていることをそっとここに書かせていただく。

    4KBでformatしたファイルシステムに4KBのデータをoptimally aligned partitionに書込んで計測するベンチ測定は、最善条件の場合の計測測定値であって、real-worldでのOSやアプリの起動などの体感速度を反映しているものとは言えないと思っている。
    実際に扱うデータの大きさは様々なので、実際には複数のallocation unitsやSSDのブロックをまたいで記録されたり、1つのallocation unitやSSDのブロックサイズより小さかったりすることがほとんどである。だから、malaligned partitionにおけるベンチ計測の結果の方がむしろreal-world behaviorに近いと言え、optimally aligned partitionでの4KBのallocation unitにおけ4KBファイルの書き込み速度計測はいわば特殊条件下での計測であって、SandForceのSSDに0fillや1fillをした場合のベンチに似ている気もしないではない。
    ただし、malaligned partitionにて毎回1つ前のallocation unitの最後から書き込み始めるというのもある意味特殊で、これは逆に考えれば最低速度の目安とも言える。そして、実はこちらこそが体感速度の目安の1つとして今後追加して注視すべきものとも思っている。
    (CDMで評価するときに100MBテストと1000MBテストの2種類が必要であるのと同様である。)

    それでは、なぜRealSSD C300の場合にpartition alignmentが適合している場合と不適合な場合で4KB randomの書込み速度が10倍も違うのに、実際のOS launch timeがほとんど変わらないのであろうか?

    それは、2chでDriveLatencyCheckerを作った人の書込みにあるように、ファイルにアクセスするlatencyの方に多く時間を要しているからである。それに比べて小サイズのデータは、サイズが極小なだけに、書込みに要する時間はほんのわずかである。報告を見ると、latencyが短いcontrollerとしては、Toshibaがよく、Intelもまずまずで、degraded C300のような引っかかり感やクリックしても無反応な時間が少ない。 (Partition alignmentが適合していても不適合でも私の計測ではC300のWindows experience indexはどちらも7.9と出たので、C300もexperience indexも不思議なものである。)

    SSDのcontrollerとしては、read/write latencyが短かく過去に一度もbugのある欠陥firmwareを出したことのなく信頼性が高いものとして、@Toshiba T6UG1XBG controllerが優れており、また、PC環境が複数ある自作erでファームアップなどものともしない人にとっては、malaligned partitionでも書込速度が速いものとして AIntel PC29AS21AA0 controllerと BMarvell 88SS9174-BKK2 controllerが優れている。この3つのcontrollerは今後も主流として使われていきそうに思え、新参のMarvell 88SS9174-BKK2は、Plextor (M2S series)ばかりでなくCorsair(Performance 3 Series)やIntel (510 Series 2011・2・28発売)にも採用され、A-DATA(S501)やCrucial(RealSSD C400)にも採用予定内部写真とされ、今後手にする機会も増えてくるであろう。



    Marvell 88SS9174-BKK2 controllerを搭載したPlextor M2SシリーズのSSD最速のパーフォーマンスは、今まではinterfaceカードや旧CPU内部の転送速度のbottleneckの存在により、AMDのSB850環境でしか得ることができなかったが、今後リコールで改良されたP67/H67チップセット搭載のIntel環境のmotherboardが手に入るようになれば、Plextor M2S・RealSSD C400・RealSSD C300で下にあげたベンチのように公称速度もしくはそれ以上の速度を得ることができるようになるので楽しみです。

    RealSSD C300 Plextor M2S

    旧システムでのbottleneckがなくなったSandy Bridge環境での最速SSDのベンチ結果は、前ページに載せたAMD環境で得られたベンチ結果とほとんど同じになりました。


    追記(2011年2月13日): Sandy BridgeでのRAID 0のベンチ掲載のブログやルポルタージュでは、Sequential readが単体の2倍以上になることが載っているが、それ自体はすばらしいことである。ただし、RAID 0で本当に大切な点は、2個の256GB Plextor M2Sで、Sequential Writeでちゃんと2倍の600MB/s出ていることである。この点において、Plextor M2Sがすばらしいと認識すべきで、現時点では、Plextor M2S等の "Marvell 88SS9174-BKK2 controller + Toshiba NAND" 以外では到達不能な高速度である。
    Sequential readが単体の2倍以上になるのはおかしいと2chで言っている人もいたが、これはSandy Bridge用のIRTのcacheによるもので、昔はよく冗談で、高速すぎるため「キャッシュ詐欺」という人までいた。私の昔実験したRAID環境では、HDD 2台でもSequential Readが1532MB/s出た。
    追記(2011年2月27日): 久保さんの記事では、256GB Plextor M2S単体1台あたりの性能は472.4MB/sで、AHCI driverがその性能を引き出せていないと書いてあるので、IRTはarecaのようにcacheは利用していないのかな? Cacheの利用方法については、IRTのプログラマーに聞いてみないとわからない気がしてきました。

    追記(2011年2月28日): 最速のPC起動がどうなるのか見たかったので、下記のスペックの業務用のPCを用いて業務に必要なもののみEnabledとして、通常使用しているSSDは臨時にANS-9010としてWindows 7をCold bootするclipを作ってみました。 (下のclipが見えない場合は 3gp

    Specifications of my business PC:
  • CPU: Core i5-2500K overclocked @3.432GHz, 6MB cache
  • RAM: Samsung M378B5773CH0-CH9 DDR3 SDRAM PC3-10600 2GBx2
  • Chipset: Intel H67
  • Motherboard: BIOSTAR TH67XE
  • Boot SSD: ANS-9010 through SATA III port in AHCI mode with IRT drivers.
  • GFX: Intel HD3000
  • Powered by: AOpen FSP200-60SAV (200W)
  • OS: Windows 7 Home Premium 32bit

  • この業務用システムでのOSのCold bootでは、32bit版Windows 7の起動画面に到達するまでの時間は、Google Android携帯Xperiaの読みで12.16秒、手動誤差分を補正して12.5秒程度でした。


    ≪ PREVIOUS 1 2