--trim-sector-ranges の何が危険なのでしょうか?

--trim-sector-ranges の何が危険なのでしょうか?

Ubuntu をインストールする前に TRIM したい SSD があります。ウェア レベリングで使用できる空きブロックを確保するために、パーティション化されていない領域をいくつか残しておくことを勧められました。ただし、ドライブには以前に何らかのソフトウェアがインストールされていたため、パーティション化されていない領域を残してパーティションを再分割するだけでは不十分だと理解しています。また、mkfs ではパーティション化されていない領域を TRIM できません。

man ページを読んでいるとhdparm、 を見つけました--trim-sector-ranges。これはまさに私が使用する必要があるもののようです。また、次のような警告もあります。非常に危険です。このオプションは使用しないでください。二度。

私は推薦代わりにATAセキュア消去コマンドを使用することを提案しています。しかし、セキュア消去には次のようなリスクがあるとも読みました。デバイスの故障

--trim-sector-rangesデバイスを壊してしまうリスクを冒したほうがよいほど危険なのはなぜでしょうか?

答え1

セクターのトリミングは、基本的に、セクターに有用なデータが含まれなくなり、将来の書き込み操作で再利用できるようにガベージ コレクション (つまり消去) できることを SSD に伝えます。これにより、SSD コントローラーのファームウェア変換レイヤーが物理ブロック/ページを操作する「余裕」が増えるため、ディスクがいっぱいになったときの書き込みパフォーマンスが向上します。

ではhdparm、トリミングするセクターは LBA (論理ブロック) として提供されます。SSD がファイルシステムでフォーマットされている場合、LBA をトリミングすると、ファイルシステムが確実に破損し、使用できなくなります (ユーザーは基礎となるファイルシステムと LBA のマッピングを認識していないため)。ファイルシステムでフォーマットされた SSD の場合、トリミングは などのツールを使用して、より高いレベルで実行する必要がありますfstrim

サポートされている場合、「ATA セキュア消去」コマンドは、SSD のすべての物理ブロックを消去します。これは、SSD のすべてのセクターをトリミングすることとほぼ同等ですが、おそらくより最適化され、安全な方法になります。

参照リンクは、USB-SATA アダプタを使用した場合に「secure eras」コマンドが失敗したことを示しています。これは、USB-SATA コントローラの実装が不十分またはバグがあるか、最新の SATA 仕様に準拠していない実装が原因である可能性があります。

SSD の内容を消去するには、SATA セキュア消去コマンドを使用するのが推奨されます。hdparm--trim-sector-rangesのオプションは、実験およびベンチマークの目的です。LBA レベルで SSD をアドレス指定する非常に特殊なアプリケーション (一部のデータベース システム) でのみ、セクターのトリミングがhdparm意味を持ちます。

最後に、摩耗の平準化のためにパーティション化されていないスペース (オーバープロビジョニングと呼ばれる) を残すという推奨事項は興味深いものですが、このスペースが以前に何らかの方法でトリミングされている場合 (「ATA セキュア消去」もこの目的に使用できます) です。そうでない場合、および以前のデータがパーティション化されていないスペースの LBA 範囲に存在する場合、SSD コントローラーはそれがまだ有効なデータであると想定し、関連するブロックとページを移動することによってそれを「有効」に維持しようとします (したがって、全体的な摩耗が増加します)。

関連情報