TRIM がサポートされていない場合、フラッシュ ドライブはどのようにして良好なパフォーマンスを維持するのでしょうか?

TRIM がサポートされていない場合、フラッシュ ドライブはどのようにして良好なパフォーマンスを維持するのでしょうか?

私の知る限り、Windows 7 より前では TRIM/UNMAP はサポートされていませんでした (SSD ドライブには特別なツールが使用されていました) が、フラッシュ ドライブは 2005 年頃から使用され、Windows XP で完全にサポートされていました。

USB 大容量ストレージ デバイスとして、USB 上で SCSI プロトコルを使用していました (この時点で正しいでしょうか?)。SCSI には UNMAP がありますが、Windows XP でもサポートされていませんでした。

したがって、USB フラッシュ ドライブがブロックが削除される可能性があることを知る唯一の機会は、OS からの書き込み要求です。

つまり、ある程度使用すると、ドライブ全体が汚れ、常に遅くなります。ブロックを削除するように指示する方法はありません。捨てて、新しい USB フラッシュ ドライブを購入するしかありません。

しかし、これはそうではなかったと確信しています。何を見逃したのでしょうか?

答え1

簡単に言えば、隠れた量の NAND セルのおかげです。

フラッシュ ドライブのコントローラは、ガベージ コレクタ メカニズムを適用して書き込みパフォーマンスを維持します。つまり、断片化された空き論理セクターが収集され、空き物理 NAND ブロックにマップされます。ガベージ コレクタは OS によって制御されることはありません。これは、完全にドライブ内部のバックグラウンド プロセスです (ドライブの電源をオンにするだけで済みます)。

ドライブに空き領域がなくなった場合、ガベージ コレクションは機能しなくなります (これは、ドライブが何らかの時点で完全にいっぱいになった場合にのみ発生することに注意してください)。

この問題を克服するために、ほとんどのドライブには隠れた量の NAND セルがあります。ドライブが「論理的にいっぱい」であっても (OS の観点から)、「物理的にいっぱい」ではなく、コントローラにはまだガベージ コレクションを適用する余地があります。 https://www.seagate.com/fr/fr/tech-insights/ssd-over-provisioning-benefits-master-ti/

さて、隠しセルの容量はドライブのカテゴリによって異なります。ハイエンド ドライブは容量が大きく、エントリー レベルのドライブは容量が最小限です。また、安価な USB キーには隠しセルがないと想定しても問題ないと思います。

同様に、すべてのドライブに優れたガベージ コレクション メカニズムが備わっているわけではなく、一部のドライブには粗雑なメカニズムが備わっている可能性があり、一部のドライブ (安価な USB キーなど) にはガベージ コレクターが備わっていない可能性があります。

上記で書いたことはすべて、TRIM がなくても適用されます。

答え2

フラッシュ ドライブのテクノロジは多すぎて、非常に一般的な答えしか出せません。ほとんどのフラッシュ ドライブは、時間の経過とともに劣化するハードウェアを使用して安価に製造されていることを念頭に置き、以下にいくつかのアドバイスを示します。

  • ATA セキュア消去 一部のドライブではTRIMの代替として使用できます。記事では USBフラッシュの書き込み速度を再び高速化する 著者はこれを使用して、64GB SanDisk Extreme USB フラッシュ ドライブの書き込みパフォーマンスを 81.7 MB/S から 149.7 MB/S に向上させました。

  • ディスク上の弱いセクターはフォーマットによって改善される可能性があります (「遅い」 - 速いではありません)

  • NTFSフォーマットはFAT32やexFATよりも効率的かもしれません。例えば、次の記事をご覧ください。 FAT32 vs. exFAT vs. NTFS USB3 パフォーマンス比較

  • デバイス マネージャーで、USB を「クイック取り外し」ではなく「パフォーマンス向上」に設定すると、Windows はデータをより適切にキャッシュできるようになりますが、書き込み後にドライブを取り出すことを常に忘れないようにする必要があります。

  • デバイスおよび/または USB コントローラーのドライバーを更新します。

  • 頻繁に使用される USB ポートは時間の経過とともに劣化する可能性があるため、ケースの前面ポートと背面ポートを切り替えて、別のポートを試してください。

答え3

一部のUSB3.xドライブサポートトリムWindows でこれを利用できるかどうかはよくわかりませんが、Linux では利用できます。どうやらUASP (USB Attached SCSI) プロトコルを使用する場合、Windows 8 以降では trim が機能する可能性があります。

Q の肝心なところ (トリムなしでこれをどうやって実現したのか) については、FAT32 を理解するという特別なトリックを秘めた USB2 コントローラーがあることを私は知っています。そのため、それらのコントローラーは (FAT を監視することで) そのファイルシステムでトリムをエミュレートする方法を知っていましたが、たとえば NTFS や Linux ファイルシステムでは知りませんでした。書き込みが容量を超えた後、FAT32 以外のものを使用すると、そのようなドライブでパフォーマンスが大幅に低下しました。一般的な修正方法は、だった少なくとも時々は FAT32 で再フォーマットする。これは基本的に完全なトリムと同等です。

残念ながら、一部のコントローラが FAT32 を理解しているという私の主張を裏付ける参考資料は手元にありませんが、記憶が正しければ、中国のチップ製造業者 (おそらく Yeestor) のプレゼンテーションでそれを見ました。

関連情報