コントローラーになくてはならない予備領域
SSD は NAND をその場で上書きできません。ブロックは書き込む前に消去する必要があり、消去ブロックは大きく — メガバイト単位になることも多い — 一方ホストからの書き込みは 4 KB のページ単位で届きます。そのためコントローラーは、部分的に埋まったブロックから有効データを絶えず移し替えてブロックを回収し、この移し替えのために書き込み先の空きブロックを必要とします。この作業用の予備が spare area です。ドライブ内に物理的に存在しながらユーザー容量としては公開されない NAND のことで、240 GB として売られるドライブには通常 256 GB の生のフラッシュが入っています。
その上に第二の動的な層があります。TRIM がコントローラーに「もう有効データはない」と伝えたブロックです。ファイルを削除すると Windows は TRIM を送り、コントローラーは必要になる前にそれらのブロックを裏で消去・再利用してかまいません。実用上の帰結はこうです。TRIM が機能している半分空きのドライブは、激しく over-provision されたドライブのように振る舞います。コントローラーはそれらの空きブロックすべてを自分の遊び場として見ているからです。
- 持続する大容量書き込み:ガベージコレクションが追いつかない、数百ギガバイトの一括コピー
- 約90%を超えて満たし続けるドライブ。spare area がほぼゼロまで縮む状態
- TRIM のない環境:古い OS、一部の USB ブリッジや RAID コントローラー
- 書き込みの多いワークロード:データベース、動画スクラッチディスク、継続的なログ出力
- 寿命の終盤にあるドライブ。引退したブロックが予備を静かに食べていく状態
手動の儀式はほぼ時代遅れ — 空き容量の余裕はそうではない
「ドライブの90%だけをパーティショニングし、残りは未割り当てのまま残せ」という古い定石は、TRIM が機能しなかった初期の SSD に由来します。当時は隠し予備がコントローラーに空きブロックを保証する唯一の手段でした。TRIM を持つ現代のドライブでは、独立した未割り当て領域が追加するものはわずかです。コントローラーはすでに、ファイルシステムが解放したすべてのブロックを再利用しています。この儀式が生き残っているのは、かつて機能したからであり、パーティションツールが簡単にできるからであって、物理法則がまだそれを要求しているからではありません。
変わっていないのは、目一杯満たしたドライブの代償です。占有率がおよそ90%を超えるとコントローラーの選択肢は狭まります。すべての書き込みが余計な入れ替えを引き起こし、書き込み増幅が上昇し、持続書き込み速度が落ち込む — これが spare area を使い果たすことの実世界版で、まったく健康なドライブでも起こります。実用的なルールはどんなパーティション計算よりも単純です。SSD の約10〜15%は空けておき、重い書き込みを吸収するディスクではそれ以上を空け、あとはコントローラーに任せる。SMART 属性を読む監視ツールは、これが対処すべき問題になるずっと前に、上昇するウェアレベリングカウンタを表示してくれます。
よくある質問
現代の SSD に手動で over-provisioning は必要ですか?
いいえ — 工場出荷時の予備と機能する TRIM で典型的な使用はカバーされます。手動の未割り当て領域が意味を持つのは、書き込みが非常に多い、あるいは TRIM のない構成だけです。
SSD の空き容量はどれくらい確保すべきですか?
およそ10〜15%、持続的な書き込みを受けるドライブではそれ以上。空きがおよそ5%を下回ると、ガベージコレクションの居場所がなくなり、書き込み速度が低下します。
購入前にライセンスの内容をご確認ください。
一度限りの 30 分試用では基本ツールを利用できます。PRO 機能は有料ライセンスを有効にするまでロックされています。
次に読む記事
お問い合わせ: [email protected]