ディスク容量が少ないとSSDのパフォーマンスに影響しますか?


16

SSDの空き領域が5〜10 GB未満の場合、パフォーマンスに影響するのではないかと考えていました。SSDに固有のものですか、それともオペレーティングシステムの側面ですか?

たとえば、TRIMをサポートするIntel X-25 G2(Windows 7)。

回答:


14

ほとんどのSSDは、いっぱいになると遅くなります。SSDは、ブロック全体を消去して再書き込みすることによってのみブロックを変更できるため、書き込むために空のブロックを選択する傾向があります。これらのブロックがすべて部分的に満たされると、すべての書き込み操作で消去と再書き込みが必要になります。つまり、SSDはブロックをキャッシュに読み込み、新しいデータでキャッシュを変更し、ブロックを消去してキャッシュを書き込む必要があります。これは、変更が必要なブロックごとに1回の読み取り操作と2回のプログラミング操作になります。また、断片化によるSSDへの影響はほとんどありませんが、断片化が大きく、ほとんどのOSがSSDに無知であるという事実により、OSが必要以上の書き込みを発行する可能性があります。通常、SSDのブロックはOSの割り当て単位よりも大きいため、SSDが追加の書き込みを予期していない場合、ブロックごとに同じ3ステップのプロセスを複数回繰り返すことになり、書き込みがさらに遅くなる可能性があります。ファイルを削除しても、この問題は解決されません。データはそこに残り、SSDはそのファイルが使用されなくなったことを認識せず、この削除されたデータの書き換えを続行するためです。

ドライブがサポートするTRIM操作により、OSはドライブに削除されたデータを削除するように指示できます。これにより、ドライブは空のブロックを再利用できます。ただし、TRIMをサポートするオペレーティングシステムは、Windows 7、Windows Server 2008 R2、およびカーネル2.6.33以降を使用するLinuxディストリビューションのみです。

Windows 7を使用しているため、システムはTRIMコマンドを使用しており、未使用のブロックを再利用できます。ただし、TRIMはデータを再配置しません。そのため、ドライブがいっぱいに近い場合、断片化が多いとデータがブロックを部分的に占有し、TRIMの有効性が制限されます。私が言える限りでは、できる限り多くのディスク領域を解放するのが最善です。十分なスペースを空けることができれば、ブロック全体をトリミングして、ドライブの速度をいくらか戻すことができます。また、SSD向けのデフラグプログラムもあります。つまり、いくつかの余分なブロックをトリミングするのに十分なだけデフラグしますが、無料のものは知りません。Diskeeperがこれを行うことになっていると思いますが、高価であり、非常に複雑なレビューを聞いたことがあります。


1
FTLレイヤーはファイルシステムレベルの下にあります。ファイルシステムが断片化されているように見えますが、これはFTLレイヤーが断片化されていることを意味するものではありません。これらのSSD「デフラグ」プログラムは価値がなく、FTLレイヤーにアクセスできません。それはスネークオイルです。現在、SSDの空き容量が不足すると、ガベージコレクションやウェアレベリングなどの優れた機能を実行できるスペースが少なくなります。SSDは空のブロック自体を自動的に選択するのではなく、ウェアレベリングも考慮する必要があります。一番下の行は、ファイルシステムは、それがFTL層の上に物事を格納する方法については何も知らない、である
タイムツイン

SSD向けに最適化されていないファイルシステムは、トリミングに失敗し、空きスペースが小さくなるのと同じ効果があります。
バシレフス

4

、この素晴らしい記事アナンドテックで、彼らはスペア領域とSSDのパフォーマンスとの関係を探ります。要するに、すべてのSSDは、一部のスペースを未使用のままにしておくとパフォーマンスを向上/維持します。25%の空き容量と50%の空き容量に違いがある場合もあります。


3

特定のSSDモデル、ベンダー、使用パターンに依存します。

状況によっては、SSDを集中的に使用すると、使用済みディスク容量を無視してパフォーマンスが大幅に低下する場合があり、同様のパフォーマンスレベルに復元するには低レベルのワイプが必要です。


たとえば、TRIMをサポートするIntel X-25 G2(Windows 7)。
ゲイブ

0

SSDは満杯に近くなると速度が低下する傾向があると聞きましたが、そのようなことを感じるには5〜10 GB未満の空き容量が必要になると思います。たぶん1GB以下しか残っていないときでしょう。


0

一般に、ファイルシステムはいっぱいになると遅くなります。これは断片化によるものです。空のディスクでは、1つのブロックにファイルを書き込むことができます。ファイルシステムがいっぱいになると、ファイルを単一の連続したブロックに収めることができる可能性が低下し、データを見つけるためにシークをますます行う必要があります。データのランダムアクセスに似ているため、処理が遅くなります。


2
可動部分がないため、これはSSDには当てはまりません。したがって、ランダムアクセスはごくわずかなアクセス時間を追加します。顕著な影響を与えるために、ランダムに配置された数千のフラグメントでファイルをジャンプさせる必要があるかもしれません。これは主にOS自体が読み取りと書き込みを計画しているためです。
TuxRug

1
順次読み取りとランダム読み取りにはまだ違いがあります。たとえば、codinghorror.com / blog / 2008/06 / は、シーケンシャル読み取りで26MB /秒、ランダム読み取りで6Mb /秒を提供します。
ゴリラ

@TuxRug:ドライブは、数百キロバイト以上の消去ブロックにグループ化されます。1ページ(512または4096バイトの「論理ディスク」データを表す)が書き込まれると、そのブロック内のすべてのページを消去しない限り、ページを書き換えることはできません。「論理ディスク」セクターが上書きされると、ドライブは以前の空白ページを割り当てて新しいコンテンツを保持し、古いページが古いと見なされることに注意します。古くなったページをすぐに消去するのではなく、ほとんどのドライブはスペースが必要になるまで待ってから、ほとんどまたはすべてのページが古くなっているブロックを探します。
supercat

@TuxRug:空のページの数が非常に少なくなると、ドライブのパフォーマンスは、ブロック内の空きページまたは廃止されたページの最大数に比例します。 /消去サイクルは15日ごとに必要になります。各ブロックに50個の古いページがある3つのブロックがある場合、書き込み/消去サイクルは50回の書き込みごとにのみ必要になります。
スーパーキャット

0

別の重要な要因は、ここで説明するように、SSDメーカーによってオーバープロビジョニングが設定されているかどうか、およびその量です。オーバープロビジョニングとは、一部のスペースがガベージコレクションなどのバックグラウンドアクティビティ用に予約されており、ユーザーが利用できないことを意味します。たとえば、10%のオーバープロビジョニングが設定されている場合、256 GBとしてアドバタイズされたSSDは実際に282 GBになります。

SSDの製造元がスペースを過剰に提供している場合、ディスクの空き容量が少ないとパフォーマンスに大きな影響はありません。たとえば、100%満杯に見えるSSDでも実際には85%しか満杯になりません。ただし、実際にSSDを100%近くまで満たすことができる場合、パフォーマンスが大幅に低下します。

要するに、効果の量とそれが目立つかどうかはSSD固有です。ただし、一般的なルールとして、SSDは、他の回答やリンクで説明されている理由により、ほとんどが空で、いっぱいになるとパフォーマンスが低下する場合に最高のパフォーマンスを発揮します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.