Hatena::ブログ(Diary)

Lansenの現実逃避日記 このページをアンテナに追加 RSSフィード

2011-05-06

[]Marvell/AMDドライバにおけるTrimの効果を検証 23:09 Marvell/AMDドライバにおけるTrimの効果を検証を含むブックマーク Marvell/AMDドライバにおけるTrimの効果を検証のブックマークコメント

震災新生活World of Tanks(参考)にと、いろいろ時間を取られているうちに5月になってしまいました。というわけで、久方ぶりに更新してみます。

以前の記事において、MarvellのSATA3チップ(88SE9123/88SE9128)のドライバや、AMDチップセットのAHCIドライバではTrimが送信されないと書きましたが、前者はバージョン1.0.0.1051、後者はバージョン1.2.1.275においてTrimに対応したとのことです(参考:Be Hardwareの記事)。というわけで、今回の記事では、それぞれのドライバにおけるTrimの効果を簡単に計測してみました。

テスト方法とP55チップセットによるリファレンス計測

テストは基本的にHD Tune ProのWriteテストの結果を見るというお手軽なものです。実行方法は以下の通りです。

  1. HDDEraseでSSDにSecureEraseを実行
  2. HD Tune ProのWrite Testを実行(1回目, 最高パフォーマンス)
  3. Iometerを用い、ディスク全域に4KBのランダムライトを30分実行
  4. HD Tune ProのWrite Testを実行(2回目, パフォーマンス劣化状態)
  5. ディスク全域にクイックフォーマットドライブを作成し、すぐに消去
  6. HD Tune ProのWrite Testを実行(3回目, 全域Trim実行後)

使用したSSDはSolidataのK5-64(Barefootコントローラ,SLC,64GB)です。Barefootコントローラは全域に対するTrimで容易に最高パフォーマンスに近い状態まで性能が回復するので、このようなテストには適しています。

HD TuneのWrite Testは、Partial Test(Most Accurate), Test Size 128KBの設定で実行しました。Full Testだとシーケンシャルライトになってしまうので、飛び飛びのアクセスパターンになるPartial Testにしてみました。テストサイズは適当です。

リファレンスとして、P55チップセットのSATA2ポートにおいてテストを実行してみました。使用したマザーボードはASRock P55 Deluxe, OSWindows 7 64bit (Professional Edition)です。ドライバIRSTのバージョン9.6.0.1014です*1

f:id:Lansen:20110506230254p:image

f:id:Lansen:20110506230253p:image

  • 3回目, 全域Trim実行後

f:id:Lansen:20110506230252p:image

以上のように、劣化した状態からほぼ完璧に性能が回復します。

Marvell 88SE9123

Marvell 88SE9123は、SATA3(6Gbps)に対応したコントローラチップで、一部のマザーボードのSATA3ポートや、PCI-Express接続のSATA3ポート増設カードなどに採用されています。このチップは、Trimに対応していないだけではなく、ICH10などのSATA2ポートよりパフォーマンスが劣ることがある(参考BenchmarkReviewsの記事)、ホットスワップに対応していないなど、いまいち感の漂う製品でした。しかし、Trimに対応したことで、目に見える欠点は一つ克服されたと言えそうです。

今回用いたハードウェアは、ASRock P55 Deluxeに付属していたSATA3カード(参考:AKIBA PC Online!の記事)です。 OSは上述のSATA2ポートテストと同じく、Windows 7 64bit (Professional Edition)です。ドライバのバージョンは1.2.0.1002で、Station-Driversからダウンロードしました。

f:id:Lansen:20110506230751p:image

f:id:Lansen:20110506230251p:image

f:id:Lansen:20110506230250p:image

  • 3回目, 全域Trim実行後

f:id:Lansen:20110506230249p:image

IntelのSATA2ポートよりピーク性能が下がっているのが気になるところですが、Trimはしっかり送信されているようで、ほぼ完璧に性能が回復しています。

AMD 790GX

AMDチップセットは、Intelに先駆けて880FX/880GXチップセットなどでSATA3に対応し、注目を集めていました。パフォーマンスは前述のMarvellチップより高い傾向にあるようです(参考:PC Watchの記事)。

本当はSATA3のポートで試したいところでしたが、自宅には1世代前の790GXチップセット搭載のマザーしかなかったので、それを用いました。

使用したマザーボードは、BIOSTARのTA790GX XEで、OSWindows Server 2008 R2です。使用したドライバのバージョンは1.2.1282です。ドライバ公式ページからダウンロードできるもの(AHCI for Windows 7)です。なお、HD Tuneのライセンスは1つしか持っていないので、こちらのPCでは体験版を用いました。

f:id:Lansen:20110506230750p:image

f:id:Lansen:20110506230328p:image

f:id:Lansen:20110506230327p:image

  • 3回目, 全域Trim実行後

f:id:Lansen:20110506230326p:image

なぜかこれまでの2つに比べてTrim送信後の回復が完璧ではありませんが、Trimが有効であることは間違いなさそうです。

結論

いずれのチップセットでも、Trimが効果を発揮しているのが確認できました。最新のドライバさえインストールすれば、安心してSSDを使うことができそうです。

それぞれのチップセットの性能差は若干気になるところです。いずれ検証してみたいと思います。

おことわり

東日本大震災による関東地方の電力需給逼迫のため、SSD耐久テストは自粛中です。ご了承ください。

*1:最新版じゃなかったことにさっき気がつきました…

エクスエクス 2011/05/18 10:51 はじめまして。
自分のPCはAtom330/ION、つまりNVIDIAのチップセットなのですがIntelのX-25Mの160GB(G2)をパーティションを区切って使っています。
で、パーティションを区切っているからか?チップセットがインテルじゃないからか?は分かりませんがデフラグ・プリフェッチなどすべて有効になってました。(手動で無効にしました)
もちろんインテルツールボックスも使えませんがTrimは有効になっているようで1年半使っていますが性能劣化は起きておりません。

SSDは未だ謎が多いですね…

LansenLansen 2011/05/20 00:45 はじめまして。
あら、デフラグも無効になりませんでしたか…
デフラグ無効は成功している例がほとんどのようですが、何か条件があるのかもしれませんね。
Intel Toolboxが使えない、というのはソフトが起動しないということでしょうか?それともIntel SSD Optimizerなどが走らないということでしょうか?
TrimはWindows 7標準のAHCIドライバなら問題ないようですので、Intel SSD Optimizerを別途実施する必要はおそらく無いと思いますが、なんか気になりますね。

jungjung 2011/07/17 02:53 こんばんは。
SSDの情報探し回ってここにたどり着きました。

ちょっと気になる記事があったのでご紹介します。
http://www.itmedia.co.jp/enterprise/articles/1107/16/news001.html
価格や容量云々はおいとくとして、デフラグ必要って明言してるのが気になります。
何の根拠も示さないでそんなこと言われましてもねぇ

yamarahyamarah 2011/07/17 12:19 この記事、ひどいですよね。
あまりにひどいので、編集部にメールしましたよ。

LansenLansen 2011/07/18 00:51 SSDはコントローラによって特性がかなり異なるので、十把一絡げに必要だとか不要だとか言い切ってしまうのは若干抵抗がありますね。
HDDの時ほどの頻度でデフラグする必要がないのは間違いないと思いますが…

yamarahyamarah 2011/07/18 17:50 >HDDの時ほどの頻度でデフラグする必要がないのは間違いないと思いますが…
SSDをATAコマンドではデフラグ出来ないと認識しているのですが。
もちろん、SSDコントローラ固有のコマンドを使えば、その限りでは無いでしょうけど。
ATAコマンドで出来ることは、XPで空きセクタにTrimをするぐらいかな。
でも、これもデフラグではない。

LansenLansen 2011/07/18 23:11 あ、すいません。デフラグというのは論理アドレスレベルでのデフラグのことです。
物理アドレスレベルのデフラグ(ガベージコレクションって呼ぶことの方が多い?)はコントローラ依存ですから、何がどうなっているかは神のみぞ知るってところですね。
論理アドレスレベルのデフラグをすればガベージコレクションも容易になりますし、ランダムライトの発生も抑えられるので、論理アドレスレベルのデフラグが無意味ってことは無いはずです。しかし、それが実使用上どのぐらいの効果があるのかは議論の余地があると思います。

yamarahyamarah 2011/07/19 21:37 >論理アドレスレベルのデフラグが無意味ってことは無いはずです
えっ? そんなはずは・・・と思って、いろいろググってたら、このブログに戻ってきました(笑)

http://d.hatena.ne.jp/Lansen/20090211/

理屈ではありえないと思っていたのですが、実際にやってみると、効果があるのですね。

言葉遊びのようですが、これは、
「空き領域が連続したことで、シーケンシャルライト性能が上がった」
のではなく、
「空き領域が連続していた場合に良い結果が出るような、シーケンシャルライトテストをした」
って事では無いでしょうか。
CrystalDiskMarkのアルゴリズムはわからないのですが、シーケンシャルテストは1MBの連続アクセスのようです。
http://crystalmark.info/software/CrystalDiskMark/manual-ja/Faq.html
この1MBって、論理セクタ空間で連続していることは保障しているんでしょうか。
また、同じ1つの1MBのファイルを読み書きするのか、次々と別の1MBのファイルに移るのか。この辺りがわからないと、これ以上の考察は難しいかな・・・

いずれにせよ、JMコントローラのころはいざ知らず、Trimに対応しているようなコントローラなら、効果が無いような気がします。

suomisuomi 2012/01/21 00:10 今晩は。

SSDの速度低下を改善するのに、ゼロフィルではダメでワンフィルを使う、という話題があったと思いますが、どのあたりだったでしょうか。

LansenLansen 2012/01/21 17:01 うーん、0Fillではダメって話はちょっと記憶にないですね…
IntelのSSDはシーケンシャルライトを行うと性能が回復します。
0Fillで速度回復するのは、書き込む内容が0なのが効いているわけではなく、シーケンシャルライトが行われたということが重要なんですね。
なので、書き込む内容は0でも1でもランダムでも大丈夫だと思います。
なお、IntelのSSDは、現在ではTrimやSSD ToolBoxによって速度回復するので、0Fillで回復というのは既に過去の手法になっています。

suomisuomi 2012/01/23 23:49 ども。いやー、どこかにあったと思うのですが。(^_^;) FF FILLで速度回復させる実験。

>>0Fillで回復というのは既に過去の手法になっています。

それはそうですが。こういう事を試行する、という苦しさが最先端を走っている人にはわからない。プチフリ(ストール)が頻繁に起こってどうしようもなくなった、PhotoFast 1.8インチ日立型 SSDを救済する話なんです。

結局なんきょく、HDDErase.exeを使ったSecure Eraseには失敗。wipe-outを使って、ワンフィルを行いました。実感としてほぼ回復しようです。

SSDでSecure Eraseを試す【追記あり】
http://fooen79.blog10.fc2.com/blog-entry-14.html

ハードディスク消去ツール「wipe-out」
http://www.wheel.gr.jp/~dai/software/wipe-out/

ThinkPad X40で1.8インチ日立型SSDに苦労する、というのは極端ですが。数年前のトランセンドの類のJ-Micron IDE SSDで苦労している人はたくさんいると思います。

LansenLansen 2012/01/26 00:54 あ、すいません。1.8インチですか…
選択肢が少ないと困りますよね。
最近だとMach Extremeの製品しか見かけないような気がします。
JMicronコントローラはHDDEraseには対応してないはずです。
空き領域のデフラグは効果あるはずなので、MyDefragかDefragglerを試してみるといいかもです。