3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

(SSD)Intel X25-Mをベンチマークしてみた

しばらく前に、友人から Intel X25-M を中古購入しました。

SSDSA2M080G2GCという容量80GBで34nmプロセスの第二世代のIntel X25-M SSDです。

Intel Boxed Intel X25-M Mainstream SATA SSD 80GB SSDSA2MH080G2C1

ただ、ファームウェアが 2CV102HD です。現時点最新のファームは 2CV102M3 です。

ということで、ファームアップを行いました。

Intelダウンロードサイトからインテル SATA SSD ファームウェア・アップデート・ツールv1.7をダウンロードします。

CDに焼いてブートしたんですが、どうもSSDを認識しません。

どうやら、BIOSSATAの設定を ACHIやRAIDではなく IDE モードにしないといけないようです。

IDEモードにすると、SSDを認識し無事に2CV102M3にアップデートすることができました。

CrystalDiskInfoでの情報は下記のようになっています。すでに、2.7TBも書き込んでいるんですね。

HDDの情報とはずいぶん提供される情報が変わっています。

まず、eSATAにつないでベンチマークをとりました。

(マザーボードMSI P55-GD65です。)

ん? 4Kランダムアクセスは確かに早いけど、シーケンシャルアクセスは遅いように感じます。

Seagate Barracuda LP 1.5TBモデルをベンチマークしてみたでも紹介したSeageteの1.5TB(5900rpm)のベンチ載せてみます。

やはりシーケンシャルアクセスが遅いですね。

マザーボード上のSATAに直でつないでみました。(IntelP55のSATAポートです。)

これが本来の性能なんでしょうね。

シーケンシャル書き込みでは若干HDDに劣っていますが、その他の項目、特にランダムアクセス周りは圧倒的に高速です。

どうやら、P55-GD65のeSATAで使っているJMB363チップだと本来の性能を発揮できずロスが出るようですね。

SSDはHDDと異なるゆえにパフォーマンスが落ちることがあります。

一つは1セクタ(SSDではページ)が4KB(製品で異なる)になったことです。

これに関しては、BigSector という新技術のHDDも同様の問題を抱えているようなので別記事で書きたいと思います。

別の問題としてSSDからのデータ削除時の問題があります。

一般的なファイルシステムではデータを削除しても、管理領域(NTFSだとMFT)から消えるだけで実際のデータは残っています。

しかし、SSDではデータが残っている領域には書き込みができません。

なので、SSD上のデータがない空領域がなくなると、いったん既存の古いデータを削除して、新しいデータの書き込みという時間のかかる処理になります。

この問題に関しては、Windows7以降でAHCIドライバを使っていると、trim コマンドが使えるため、OSからの削除命令時にSSDの実体のデータも削除できるようです。

Windows7でもRAIDドライバを使っていたりVista以前だとインテル SSD オプティマイザーを使うことでスケジューリングしたタイミングでOSから削除済みのSSD上のデータを削除することができます。

さらに削除は1ページではできないようで複数のページ単位であるブロック単位で消去しないといけません。

そうすると、少しのデータを変更するだけでも、1ブロック全体を読み込み→データを修正→消去して上書きという複雑な処理を行う必要があります。

参考:

インテル SSD オプティマイザーとは?

Flash SSD - Wikipedia