2010年1月27日水曜日

SATA AN(Asynchronous Notify)とは

3回にわたってSATAのパワーマネージメントについて書いたので、最後に「Asynchronous Notify(AN)」について紹介します。これまた、地味な機能なので、おそらく、今後も話題になることはないかと思いますが、まあ、こういう機能もあるということで紹介します。

Asynchronous Notify(AN)は、SATAのオプション機能で、光学ドライブ向けの機能です。この機能単独では、省電力効果はありませんが、LPMと組み合わせることで光学ドライブの消費電力を削減できます。この機能もサポートが始まっており、WindowsVistaは非対応でしたが、Windows7ではサポートされているようです。OSサポートも始まっているので、SATA接続の光学ドライブを搭載したノートPCを中心にこの機能は、標準機能となることは間違いないかと思います。

ANは、2つの機能から成り立っています。ホスト側は、特定時間が経過したらWindows(OS)から定期的に送られくるポーリングコマンドを遮断すること。ドライブ側は、メディアを交換したり、新しいメディアをセットしたときなど、ドライブ側でイベントが発生したことをホストに通知することです。

WindowsなどのOSでは、 光学ドライブにメディアがセットされたことを知るために定期的にコマンドを送り、常にドライブの状態を監視しています。これは、Windowsに実装されている光学ディスクの自動実行機能を実現するためです。つまり、光学ドライブに定期的にコマンドを送ることによって、メディアのセットをOSが検知し、ソフト等を自動的に実行しているというわけです。

この機能、使う上では便利なのですが、SATA LPMを使おうとすると問題がでてきます。定期的にコマンドが送られてくるのでその都度、省電力状態から強制的に復帰されてしまうのです。特に光学ドライブのアクセス頻度は、起動ドライブ(HDDやSSD)などとは、比較にならないほど少ないので、ポーリングコマンドによる無駄はかなり大きいことが想像できます。

ANは、これを回避しつつ、OSの自動実行機能を使えるようにした機能です。ANを使用すると特定の時間が経過したら、定期的に送られるポーリングコマンドを遮断されます。これによって、光学ドライブがポーリングコマンドによってLPM状態から復帰させられることがなくなります。また、光学ドライブにセットされたメディアを交換したり、新しいメディアをセットした場合は、光学ドライブがそれをホストに通知することでLPM状態から復帰し、ポーリングコマンドの送信が再開されるので、OSの自動実行機能を損なうこともありません。ANを使用すると、これまでどおりの使い勝手のまま光学ドライブでLPMを最大限活用できるようになるというわけです。

ANは、その機能に対応した光学ドライブと対応ドライバが必要になります。
Windowsで使用する場合は、Intelの純正ドライバ(IaStor.sys)が対応しています。LPMの設定で説明したレジストリ設定を参考に「AN」をEnableにすることで使用できます。
また、Windows7については、初めからANが有効になっているのかどうか不明です。MSから対応という資料が出ているので、対応しているのだと思います。

2010年1月26日火曜日

SATA LPMについて 追記

前回前々回とSATA LPMについて説明しましたが、使用しているドライブがSATA LPMに対応しているかどうかを確認する方法を書いていなかったので、追記しておきます。

SATA LPMの対応は、例によってIDENTFY DEVICEの情報を確認することで行えます。IntelのSSD Toolboxを使うと簡単に確認できます。
HIPMは、Word76 Bit9の値を確認します。ここが「1」に設定されていれば、HIPM対応です。

DIPMは、Word78 Bit3をみます。HIPM同様にここが「1」に設定されていればDIPM対応です。

DIPMの場合は、この機能が有効に設定されているかどうかも確認できます。Word79 Bit3を参照し、ここが「1」に設定されていれば、DIPMが有効になっています。(画面は、「0」で無効になっています)

また、DIPMのサポートの確認画面(Word78)のBit6に「Software Setting Preservation(SSP)」と呼ばれる機能のサポートの有無があります。この機能は、LPMから復帰したときの通信再開時の手順を簡略化する機能です。簡単にいうと転送モード等の情報を覚えて置き、通信再開時のイニシャライズ手順を省くことですぐにデータ転送を再開する機能というわけです。

最後に前回、オススメのSATA LPMの設定例を紹介し忘れたのでそれも紹介しておきます。
SATA LPMを使用する場合、もっとも省電力効果が高いのは、できるだけ短時間でSlumberに落とすことです。このため、パフォーマンスを多少犠牲にしてもとにかく、ノートPCをバッテリーでなるべく長時間使用したいという場合は、HIPMでいきなりSlumberに落とすことがもっとも省電力効果が高くなります。HIPMでは、最終コマンド処理後にすぐさまLPM要求が送られますので、特定の時間の経過をまってLPMの移行要求を行うDIPMよりも短い時間で省電力状態に移行します。しかも、復帰までに時間がかかるSlumberですから、省電力効果はもっとくも高くなります。

速度と消費電力のバランスを考えた場合は、HIPMとDIPMの両方を有効にするか、HIPMのみで使用し、HIPMでは、Partialを要求するようにしておくのが良いと思います。このようにしておくと、最初のLPMの要求は、HIPMにて行われることになります。しかも、復帰時間が短いPartialですからパフォーマンスに与える影響は少なくなります。また、DIPMもオンにしておくと、Slumberの移行要求は、ほとんどがDIPMで行われることになります。つまり、アイドル時間が長くなるとDIPMによってSlumberにも落ちます。PartialとSlumberが効率良く出てくるようになりますので、もっともバランスが良いと思います。ちなみに、HIPMのみでは、ほとんどSlumberへの要求が行われません。

パフォーマンス重視の場合は、いうまでもなく、LPMをオフにするとよいということになります。LPMをオフに設定すれば、復帰までにかかる時間は0ですので、パフォーマンスは最大です。

2010年1月22日金曜日

SATA LPMの設定方法

今回は、SATA LPMの設定方法について説明します。
SATA LPMがどのような機能なのかについては、前回の記事を参照してください。

まず、SATA LPMを使用するための環境ですが、前回も書いた通り、一般的にはSATAの動作モードが「AHCI」に設定されていることが前提となります。DIPMであれば、IDEモードでも使用できますが、その場合は、BIOSレベルでの特殊対応が必須です。この対応は、個人では分からないので、制御しようがありません。

また、AHCIで使用してもLPMが動作していないことがあるという点にも注意が必要です。ノートPCなどのIntelのモバイル向けのチップセットを使用しているPCなら基本的にLPMの機能がオンに設定されていることが一般的ですが、デスクトップの場合は、BIOSレベルで機能が無効に設定されている場合があります。BIOSレベルで無効にされているかどうかは、ユーザーレベルでは判断できません。このため、デスクトップの場合は、設定を行ってもLPMが動作していない可能性があります。

それでは、設定方法を説明します。
まず、WindowsVista/7に標準添付されているMS純正ドライバ(msahci.sys)は、標準でHIPMをサポートしています。初期値は、「オン」に設定されており、HIPM対応の機器を接続すると自動的にHIPMが使用されます。

DIPMを使用する場合は、レジストリを変更します。
レジストリエディタを開き、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msahci」と開き、「Controller0」という「キー」を作成し、「DipmEnabled」という名称のキーを「バイナリ値」で作成して、データの値に「01」を設定します。これで、DIPMがオンに設定されます。データの値を「00」に設定すると、DIPMは「オフ」になります。

DIPMをオンにする場合のレジストリの設定
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\msahci\Controller0]
"DipmEnabled"=hex:01

なお、HIPMをオフに設定することもできます。その場合は、「HipmDisabled」という名称のキーを作成し、データの値に「01」を設定すればよかったと思います。(うろ覚えですので、間違っている可能性もあります)

Intel製のドライバ(IaStor.sys)を使用している場合もMS製ドライバ同様にレジストリで設定を行います。MS製ドライバの場合は、コントローラ単位での設定でしたが、Intel製ドライバの場合は、ポート単位で設定が行えます。たとえば、Port0とPort1は、LPMを使用するが、残りは使用しないという設定が可能です。

Intel製のドライバの設定は、レジストリエディタを開き、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\iaStor\Parameters」を開いて、設定したい「Port」を選択すると、「DIPM」、「LPM」、「LPMSATE」、「LPMDSTATE」などのキーがありますので、これらの値を変更することで設定します。なお、IntelのICHシリーズでRAIDを組む場合、OS標準のドライバ(iaStorV.sys)を使用することもできますが、これも同じ設定でLPMの設定が行えます。
設定内容は、下の表を参考にしてください。

インテル製ドライバのレジストリ設定一覧

機能設定値
DIPMDIPMの有効無効を設定Enable:1、Disable:0
LPMHIPMの有効無効を設定Enable:1、Disable:0
LPMSTATEHIPMで要求するLPMの状態Slumber:1、Partial:0
LPMDSTATEDSATE時のLPMの状態Slumber:1、Partial:0
ANAsynchronous Notifyの設定Enable:1、Disable:0

最後に、SATA LPMを使用した場合の省電力効果が、どの程度得られるかは不明です。ひとつ言えるのは、ノートPCの場合、LPMをオンにすることでバッテリー動作時間が長くなることはあっても短くなることはありません。また、SSDやHDDの場合、LPMをオフにすると、LPMのオンオフが知らないところで頻繁に行われていることもあり、少なくとも復帰までにかかるレイテンシ分、パフォーマンスが向上することになります。

また、Intelドライバの設定項目にある「AN(Asynchronous Notify)」については、機会を改めて説明したいと思います。

20130626追記
本設定は、Intel製ドライバー V11.5以前のバージョン向けの設定です。V11.5以降のドライバーを使用している場合のSATA LPMの設定方法はこちらをご参照ください

SATA LPMって知ってますか?

久しぶりの更新になります。
今回は、SerialATA(以下、SATA)のオプション機能の1つ、「LPM(Link Power Management)」について書きたいと思います。この機能、ご存じない方も多いと思いますが、WindowsVistaからOSの標準サポートが始まっていますし、機器側(HDDやSSD、光学ドライブなど)の対応も進んでいます。(地味な機能なので今後も話題になることはないかと思います)

SATA LPMとは、文字どおり「パワーマネジメント」の機能です。データ転送を行わない時にSerialATAのPHY(物理層)を低電圧状態に移行させ、消費電力を少なくしようというものです。
 制御方法には、「HIPM((Host Initiated Link Power Management)」と「DIPM(Device Initiated Link Power Management)」 の2つが規定されています。HIPMは、ホスト側から省電力状態への移行要求を行う方法。DIPMは、デバイス(HDDやSSDなど)から省電力状態への移行要求を行う方法です。HIPMとDIPMは、どちらか一方のみを使用しても かまいませんし、両方を同時に使用することもできます。このため、両者は、パワーマネジメントの要求を行うのがHostかDeviceかの違いのみで省電力効果などの機能は全く同じです。

省電力状態中のモードには、「Partial」と「Slumber」の2つがあります。両者の違いは、復帰までにかかる時間(レイテンシ)のみで、省電力状態中の消費電力に違いはありません。 Partialの最大復帰時間は、10マイクロ秒。Slumberの最大復帰時間は、10ミリ秒となっています。Slumberの復帰時間は、Partialよりも一桁長いので、 節電効果は、Slumberの方がより大きいことになります。参考までにIntelの昔のレポートでは、HDDでLPMを使用すると300mW~450mWの節電効果が得られるとされていました。

また、SATAでは、LPMを使用する場合のシーケンスが定められており、省電力状態中のモードを変更するためには一定の手順を経る必要があります。たとえば、PartialからSlumberへ移行する場合は、一度、通常の状態に復帰し、その後、Slumberへの移行要求が発行されます。

SATA LPMでは、Partialへは、PMREQ_P、SlumberへPMREQ_Sというリクエストが使用され、復帰にはCOMWAKEというリクエストが使用されます。前述のPartialからSlumberへ移行では、まず、COMWAKEが発行され、これによって機器を通常状態に復帰させます。その後、PMREQ_Sを発行することでSlumberへと移行します。

なお、Slumberへの移行は、Partialを経なければ行えないというわけではありません。最初にSlumberへの要求を行えば、Slumberのみを使うこともできます。ただし、常時Slumberにすると復帰までのレイテンシが長くなり、ストレージの性能が低下する可能性があります。このため、通常は、復帰までのレイテンシが短いPartialへ移行させ、ある程度の時間が経過したらSlumberへと移行する実装が一般的だと思います。また、HIPMとDIPMの両方が有効になっている場合、Partialへの要求は、HIPMでホストから送られ、Slumberへの要求は、逆にDIPMでDeviceから送られるというケースがでてきます(というか、両方を有効にすると、Slumberへの移行は、ほぼこのタイプになると思います)。これは使用上、特に間違った動作ではありません。

次にHIPMやDIPMのメリットについて説明します。
HIPMのメリットは、経過時間を意識することなく、LPMをオンにできることに付きます。HIPMでは、ホスト、つまり、OS側からLPMを制御できますので、たとえば、ファイルの読み出しの完了時や書き込みの完了時など、最終コマンド処理後にすぐさまLPMのリクエストを送ることができます。実際の実装もこのようになっており、HIPMがオンになっていると最終コマンド処理後にLPMの要求が必ず送られてくるような状況です。つまり、HIPMがオンになっていると、ユーザーが知らない間に頻繁にLPMのオン/オフが繰り返されているというわけです。
なお、HIPMは、AHCIモードでのみサポートされます。WindowsVista/7では、OS標準のドライバで標準サポートされています。Intel製のドライバも対応しており、その場合は、WindowsXPでも使用できます。

DIPMのメリットは、実際のコマンド等を処理するハード側ですべての制御を行えることです。DIPMは、コマンド(ATA SET_FEATURESコマンド)をDeviceに送るだけで機能のオン/オフを切り替えることができます。オンにした場合は、Device側で決められた基準に沿って、LPMを要求できます。また、HIPMは、AHCIモードで使用した場合のみ使用できますが、DIPMは、BIOSサポートで使用できる点もあげられます。現在は、どうか知りませんが、とある大手PCメーカーでは、BIOSサポートでDIPMのみを使用していました。

SATA LPMは、地味な機能ですが、ノートPCを中心に現在では多くの製品が使用している省電力機能です。チップセット的には、ICH6M世代から対応が始まっており、AMDのSB600以降でも対応していたはずです。ただ、この機能、ノートPCでは、オンになっていることが一般的ですが、デスクトップでは、BIOSレベルでHIPM/DIPMともに無効になっていることが多くみられるようです。このため、基本、ノートPC向けと言えるかもしれません。

また、デバイスレベルで見た場合、この機能は、無視できないようで、省電力といわれるSSDでも対応していることが一般的です。SSDは、省電力といわれますが、実際は、並列アクセス数の増加によって、ピーク消費電力は、2.5インチのHDDよりも高くなることも珍しくありません。SATA LPMによるSSDの省電力効果は、それほど大きくないと噂された時期もありましたが、実際は、異なるようで、実情は、SATALPMに加え、コントローラ内部の省電力機能を強化することで消費電力を抑えているようです。

次回は、WindowsVista/7やIntelドライバのSATA LPMの設定方法について説明します。

2010年1月10日日曜日

Kingston SNV125-S2/40GBの謎 その後HDDEraseでTrimに対応に

前回、SNV125-S2/40GBのTrim対応について書きましたが、検証してくださった方がいたようです。
その結果ですが、SNV125-S2/40GBは、HDDEraseでSecureEraseを実行するとTrim対応に変化するとのことです。詳細は、ここを参照ください。

このブログによると、SecureErase実行前のSNV125-S2/40GBは、IDENTFY DEVICEのWord169のBit0は、Trim非対応を示す「0」が設定されています。しかし、SecureErase実行後は、Trim対応を示す「1」へと変化するとのことです。

前回も書きましたが、Trim対応となったSNV125-S2/40GBのTrim機能は、正常に動作しているようにみえます。SNV125-S2/40GBの現在のファームウェアが、問題が発生し、Intelが一旦取り下げたファームウェアのバージョンであることに一抹の不安を覚えますが、Trim対応にしたい方は、HDDEraseを使って、SecureEraseを一度、実行してください。

HDDEraseは、ここで入手できます。
また、HDDEraseは、DOSで動作するソフトであるため、その使用にはSATAの動作モードの変更が必要です。BIOSの設定画面を起動し、SATAの動作モードを「Legacy」か「Compatible」に変更して作業してください。

最後に前回、Crystal Disk Infoのバグの可能性もあると書きましたが、Crystal Disk Infoには、全く問題はございませんでした。 関係者の方には、この場でお詫びいたします。

2010年1月8日金曜日

Kingston SNV125-S2/40GBの謎

IntelのX25-VのOEM品の割に安価なことから人気があるKingston SSDNowVシリーズの最新製品、SNV125-S2/40GBですが、不思議?な現象が出ているようです。というのも、元々この製品は、Trim対応を謳っていなかったのですが、Crystal Disk InfoでみるとTrim対応と表示されたり、非対応と表示されることがあるようなのです。

実際、僕もこの現象を体験しました。先日、SNV125-S2/40GBのベンチをとったときのことですが、最初にCrystal Disk Infoで情報を確認したところ、当初は「Trim」の文字がありませんでした。(そのときの画像は残っていませんし、生データも確認していません。すみません)
しかし、昨日、いつのまにかTrimが有効になっているという書き込みを見つけ、手元にまだあったSNV125-S2/40GBを再度確認したところ、いつのまにやらCrystal Disk Infoで「Trim」対応の文字が表示されるようになっていました。しかも、前述の書き込みを見る限り、Trimの効果もちゃんとでています。

Trim表示されるようになった画面がこれです。お気付きの方もいらっしゃると思いますが、この製品、ベンダー名やモデル名こそKingstonのものに変更されていますが、ファームウェアのバージョン表記は、Intel純正の表記のままとなっています。そして、「2CV102HA」というファームウェアは、Trim対応として初期に配布されたものと同じです。このため、僕は、当初、対応ファームでありつつあえて、Trimを殺しているのかと思っておりましたが、実際のところは、Trim対応で間違いないようです。念のため、IDENTIFY DEVICEの生データを確認しましたが、Word169のBit0にTrim対応を示す「1」も設定されておりました。また、Trim後に再度そのLBAに読み出しが発生した場合の動作を示す、Word69のBit14の値も確定したデータと見なす「1」が設定されていました。(参考までに、すべて「0」で返す、Read Zero After Trimの設定Bit5は「0」でした)。以上のことから、設定関係からみてもTrim対応は、間違いありません。

問題は、なぜ、最初にCrystal Disk InfoでTrim対応が表示されなかったかです。個人的には、ソフトのバグ(何かの拍子で見落とした)ではないかと思っておりますが、現状では、それを確認する手段がありません。(一度、Trim対応が表示されるようになってからは、常に表示されるようになりました)
これを確認するには、Crystal Disk InfoでTrim対応と表示されない状態の方が、IDENTIFY DEVICEの生データを確認する以外にはないと思います。

ちなみに、IDENTIFY DEVICEのWord169のBit0の値の確認は、IntelのSSD ToolBoxを使うと簡単に行えます。SSD ToolBoxを起動後、情報を読み出したいSSDを選択し、「View Drive Infomation」を選択すると、IDENTIFY DEVICEで得られた情報が表示されますので、Word169のBit0の値を確認してください。ここが「1」に設定されていればTrimをサポートしています。

また、Crystal Disk Infoで生データを確認する方法もあります。その場合は、機能からコピーを選択して、IDENTIFY DEVICEの生データをエディタ等にペーストして確認します。Wrod169(150の+2,+3のところ)の値を確認してください。Trimサポートとなっていれば、「01 00」をなっているはずです。数字が逆転していますが、これで「0001」となり、Bit0が「1」であることを示しています。

IDENTIFY DEVICEのWord169のBit0が「1」に設定されTrimサポートになっていて、Crystal Disk InfoでTrimの文字が表示されなければ、Crystal Disk Infoのバグということになります。逆にそうでない場合は、何かの拍子でTrimが有効になったということになります。僕がやったことといえば、HDDEraseを使って、SecureEraseを実行したこととIntelのSSD ToolBoxをインストールして起動したことぐらいです。チェックしてみたという方がいた場合、連絡いただけると助かります。

2010/01/11追記
その後、検証された方がいたようで、Crystal Disk Infoのバグではなく、SecureEraseを行うことで、Trim対応に変化することがわかりました。詳しくは、ここをご参照ください。
Crystal Disk Infoの作者の方には、いらぬ心配をかけたようで申し訳ございませんでした。

2010年1月5日火曜日

SSDにおけるTrimの効能 Part4

今回は、AHCIモード使用時にIntel純正ドライバを使用した場合の動作についてレポートします。
書き込んだ全ファイルを削除してベンチを行った結果は、以下のようになりました。IntelDriverは、Windows7の設定はONの状態で、TrimOFFは、IDEモードでWindows7のTrim設定をOFFにして計測したものです。

結果は見ての通り、AHCIモードで、Intel純正ドライバ(IaStor.sys)を使用するとWindows7の設定でTrimONに設定されていても速度の向上が見られません。速度は、TrimOFF時とほぼ同等です。これを見る限り、Intel純正ドライバを使用すると、TrimコマンドはSSDに対して送出されない仕様となっているようです。Intel純正ドライバは、元々RAID兼用のドライバとなっているので、OSから発行されるTrimコマンドをフィルタリングする仕様となっているのかもしれません。
前回レポートしたマイクロソフト純正ドライバは、IDEモード/AHCIモードともにTrimコマンドを送出する仕様でしたが、AHCIモードで使用できるIntel純正ドライバは、それとは異なる仕様のようです。このため、Intel純正ドライバ使用時にTrimコマンドを送るためには、Intel SSD ToolBoxが必須となるようです。

2010年1月2日土曜日

SSDにおけるTrimの効能 Part3

前置きが長くなってしまいましたが、今回は、ベンチマークから解ったことについて説明します。
まず、TrimコマンドがSSDに送られる条件ですが、今回のベンチマーク結果を見る限り、Windows7標準のマイクロソフト製ドライバを使用すれば、SerialATAの動作モードに関係なくTrimコマンドが送られる仕様となっているようです。つまり、AHCIモードでもIDEモードでもTrimコマンドが送出されているように見えます。(RAIDは当然、除外)

これは、IDEモードですべての作業を行い、DisableDeleteNotifyの設定をEnable(初期値)したときのベンチとDisableしたときのベンチを比較した結果から想像できます。下のグラフは、速度劣化させた状態のSSDに記録されていたデータをすべて削除(ゴミ箱にから削除)したあとに計測した速度です。DisableDeleteNotifyがEnable、つまり、Windows7の設定が、Trimオンの場合とDisable(Trimオフ)の場合で大きく速度が異なります。Trimオンの場合は、リードライトともにSecurErase後とほぼ同等の速度となっていますが、Trimオフの場合は、明らかな速度劣化がみられ、特にライト速度がSecureErase後と比較して半分以下にまで落ち込んでいます。

SSDは、原理上、記録速度を戻すには、すぐに記録に使用できる消去ずみのエリアを増やすことしかありません。今回のチェックでは、合計約500MBのデータの記録と半分削除を550回繰り返し行い約300GB弱のデータを記録しています。記録データを半分削除していますが、SSDの空き領域は、15GB前後しかありません。このため、虫食い状態になっているエリアが多く存在していることが予想され、消去を伴うことなく、すぐに記録に使用できるブロックの数が、それほど多くないことも想像できます。

Trimは、物理消去可能な論理アドレスを通知してくれます。今回のケースでは、記録データすべてを削除していますので、Trimで送られてくる情報は、NTFSで使用されているファイル管理用のデータを記録している部分を除く、残りすべての論理アドレスということになります。SSDがTrimで得た情報を用いて、物理ブロックの消去を行っていれば、当然、SecureErase後と同じ速度に戻ることが容易に想像できます。

このテストの結果見る限り、IntelのSSD(G2)は、Trimで得られた情報をもとに消去出来る物理ブロックをすべて消去しているようです。また、OSのTrim設定の違いによって、IDEモードで速度差が出ていることをみるとTrimコマンドは、IDEモードでも動作しているということになり、動作の切り替えは、DisableDeleteNotifyの設定で行う必要があるということになります。

ちなみに、DisableDeleteNotifyの設定ですが、コマンドプロンプトから「fsutil behavior set DisableDeleteNotify 1」と入力すればTrimをOFFに設定でき、Trimの初期値は「ON」に設定されています。

SSDにおけるTrimの効能 Part2

前回は、SSDに搭載されたTrimという機能について説明しました。
今回からは、実際に行ったベンチマークからTrimの効能についてみてみたいと思います。
まずは、チェックの方法を説明しておきます。
Trimの効能のチェックは、SSDの性能を意図的に劣化させた状態を作り出すことで行いました。また、速度の計測には、ベンチマークソフト「HD Tune PRO3.5」の「Benchmark」を使用しています。SSDの性能劣化状態は、以下の手順で作成しました。

SSD性能劣化状態作成手順
  1. HDDEraseを使用して、SSDをSecureEraseする。
  2. SSDの全領域を1パーティションで確保し、NTFSでフォーマット
  3. 任意のファイルサイズが作れるソフトを使用し、32MBのファイルを作成。
  4. テスト用のフォルダを作成し、その中に1KBから1MBまでの1000個ファイルを作成する。ファイル名は、1KBを1KB.DAT等に設定し、順に2KBの場合は、2KB.DAT、3KBの場合は、3KB.DAT・・・という感じでファイル名を付け、奇数KBのファイルを削除。
  5. 任意のファイルサイズが作れるソフトを使用し、32MBのファイルを作成。
  6. 4.の手順でフォルダとファイルを作成し、偶数KBのファイルを削除。
  7. 2.で作成した32MBのファイルを削除し、4.の手順でフォルダとファイルを作成して、奇数KBのファイルを削除。
  8. 4.で作成した32MBのファイルを削除し、4.の手順でフォルダとファイルを作成して、偶数KBのファイルを削除。
  9. 3から8までの手順を述べ550回繰り返す。
Trimの効能チェック手順

Trimの効能チェックは、上記手順で作成したSSDから10個のフォルダを削除(合計2.45GBのデータを削除)し、データを記録したパーティションを解放後、ベンチマークソフト「HD Tune PRO3.5」の「Benchmark」を64KBのサイズで実行しています。また、掲載グラフは、基本的にAVERAGE速度を用いています。