なぜSSDのガベージコレクションはピーク時の書き込み中にホームNASを遅くするのか?

エヴァ・ウォンテクニカルライター であり ZimaSpaceの常駐ティンカーでもあります。 生涯のオタクであり、 ホームラボとオープンソースソフトウェアに情熱を持っています。彼女は複雑な技術的概念をわかりやすく、 実践的なガイドに翻訳することを専門としています。エヴァはセルフホスティングは楽しくあるべきで、怖がるものではないと信じています。彼女のチュートリアルを通じて、コミュニティが ハードウェアのセットアップを解明する手助けをしています。初めてのNAS構築からDockerコンテナの習得まで。

SSDのガベージコレクションはピーク書き込み時にホームNASの速度を低下させることがありますが、それはブロック回収が入ってくるI/Oと競合し始めた場合のみです。クリーンブロックが不足すると、コントローラーは有効なデータを移動し古いブロックを消去しながら、NASはバックアップ、同期ジョブ、データベース更新、その他の書き込みを受け入れ続けなければなりません。その追加の内部作業がレイテンシを増加させ、持続的なスループットを低下させる可能性があります。

転送速度の低下だけではガベージコレクションが原因とは限りません。使い切った疑似SLCキャッシュ、サーマルスロットリング、RAID処理、ファイルシステムの挙動、PCIeの制限、ネットワークなども同様の症状を引き起こします。速度が落ちたときにストレージ経路で何が変わったのかを確認しましょう。

SSDのガベージコレクションは実際に何をしているのか?

NANDフラッシュは磁気ストレージのようにデータを更新しません。データはページ単位でプログラムされますが、以前に使用された領域は一般的により大きなブロック単位で回収されます。ブロック内に無効なページと有効なデータを保持するページが混在している場合、コントローラーは有効なページを先に保存しなければすぐに消去できません。

コントローラーは有効なページを別の場所にコピーし、古いブロックを消去して、回収した領域を書き込み可能なブロックのプールに戻します。KIOXIAのNANDガベージコレクションプロセスの説明は、この移動が書き込み増幅を引き起こす理由も説明しています。フラッシュはホストが元々要求したよりも多くの物理的書き込みを受ける可能性があるのです。

十分なクリーンブロックとアイドル時間があれば、このメンテナンス作業は目立たずに済みます。リクレイム処理がフォアグラウンドで実行されると、ホストの書き込みと内部データ移動がコントローラーとNANDリソースを共有して使用します。その結果、ユーザーはI/O完了時間の延長、書き込み速度の不均一、またはアプリケーションの応答遅延を観察します。

なぜピーク書き込み時に通常は隠れている作業が露呈するのか?

短時間のバーストは、ドライブが最も書き込みやすい領域を使い果たす前に終了することがあります。ホームNASは持続的な負荷下では異なる動作をします。写真のインデックス作成、ファイル同期、コンテナログ、データベースが同時に書き込みを行っている間に大きなバックアップが到着することがあります。コントローラーは次のホスト要求が来る前にブロックを準備するためのアイドル時間が減少します。

書き込みの形状は書き込み量と同じくらい重要です。連続データはより効率的に配置できることが多い一方で、ランダムな上書きや混合ストリームは有効ページと無効ページをより多くのブロックに分散させます。これらのブロックの一つを回収するには、より多くの有用なデータをコピーする必要があるかもしれません。解析的な書き込み増幅モデルは、利用可能な予備領域が重要な変数である理由を示していますが、その前提はすべてのNASドライブのベンチマークとして扱うべきではありません。

目に見える速度低下は、受信書き込みと内部再配置の要求がSSDがその時点で提供できるサービス能力を超えたときに始まります。平均スループットは低下するかもしれませんが、テールレイテンシーの方がより破壊的な結果をもたらすことがあります。ファイルコピーは単に時間がかかるだけかもしれませんが、データベース、仮想マシン、またはメタデータが多いサービスは、少数のリクエストが通常よりもはるかに長くかかるため応答が鈍く感じられます。

どのホームNASの条件がGC圧力を高めるのか?

容量の余裕が少ないことも条件の一つです。OSの空き容量の数値はコントローラーのクリーンブロック予備領域と同一ではありませんが、アクティブレンジが多く占有されていると、ドライブは配置の選択肢が少なくなります。MicronのSSDオーバープロビジョニング概要では、予備のNAND容量がバックグラウンド操作の作業領域を提供し、容量がほぼ満杯の状態で余裕が限られると一部の重いワークロードに支障をきたすことが説明されています。

ワークロード履歴も重要な条件です。新しいまたは最近消去されたSSDは、繰り返し可能な安定状態に入る前に性能が高く表示されることがあります。SNIAの安定状態テスト方法では、アクティブレンジ、書き込み履歴、ブロックサイズ、読み書きの混合、キュー深度が結果に大きく影響するため、事前条件設定が必要です。これが、短時間のコピー試験だけではSSDが長時間のNASワークロード中にどのように動作するかを判断できない理由です。

以下の表は診断マップであり、普遍的なドライブ仕様のセットではありません。複数の条件が同時に存在することがあるため、観察可能なパターンを使って次の測定を選択し、すぐに原因を断定しないようにしてください。

NASの状態 可能な内部活動 観察可能なパターン 除外すべきその他の要因
低い空き容量の余裕 ブロック回収のためのより多くの有効ページ再配置 高い遅延または不均一な持続書き込み ファイルシステムの割り当てとRAID容量
長い連続書き込み キャッシュの折りたたみ、ブロック割り当て、および可能なGC 高速な開始の後に低いプラトー 疑似SLCキャッシュの枯渇
混合ランダム上書き 断片化したブロック間の再配置 遅延の急増とスループットの変動 データベースの同期書き込みとファイルシステムのオーバーヘッド
高温のコントローラー クロックまたは電力制限下での通常の書き込み 温度上昇に伴う速度低下 GC前のサーマルスロットリング
安定した転送上限 SSDはまだ未使用の性能を持つ可能性がある 繰り返されるワークロードで類似の制限 ネットワーク、PCIe、CPU、またはRAID経路

なぜすべてのSSD書き込みの急落がガベージコレクションのイベントではないのか?

疑似SLCキャッシュの枯渇は最も一般的な混乱の原因です。多くのSSDは最初に高速なキャッシュ領域に書き込み、その後そのデータをより密なNANDに折りたたみます。利用可能なキャッシュが消費されると、スループットはドライブの遅いネイティブ書き込み速度に落ちることがあります。ガベージコレクションは同じ転送中に発生することがありますが、キャッシュ枯渇とブロック回収は同義ではありません。

サーマルスロットリングは通常、異なる信号に従います:ドライブの温度が上昇してから性能が低下し、冷却が動作を変えます。インターフェースやネットワークの制限は、内部の遅延の嵐よりも安定した上限のように見えます。RAIDパリティ、コピーオンライトファイルシステム、同期書き込み、アプリケーションレベルのfsync動作もSSD層の上で追加の作業を生じさせることがあります。

この区別は対処法を変えます。高速なネットワークはクリーンなNANDブロックを作りませんし、SSDの空き容量を確保しても飽和したネットワークは改善しません。TRIMのスケジューリングは過熱したコントローラーを冷やしません。ガベージコレクションは、遅延がストレージの使用率、ワークロードの履歴、書き込みパターン、またはアイドル回復に競合する説明よりも密接に従うまで仮説のままであるべきです。

TRIMと空き容量は実際に何を変えるのか?

ファイルの削除はファイルシステムのメタデータを変更しますが、SSDは対応する論理アドレスに有用なデータがもう存在しないことも知る必要があります。ATAデバイスのTRIMや他のストレージ経路のデアロケーションやディスクカード機構がその情報を伝えます。TRIMとガベージコレクションの技術的説明は、オペレーティングシステムとドライブ間のこの連携を解説しています。

TRIMは影響を受けるすべてのNANDブロックに即座に消去を命じるわけではありません。コントローラーに対して、もはや保存が不要な論理データを伝え、後のガベージコレクションが無効な内容のコピーを避けられるようにします。より多くの空き領域やオーバープロビジョニングされたスペースは、コントローラーに追加の配置オプションを提供することもあります。どちらも再利用圧力を軽減できますが、特定のスループットを保証したりガベージコレクションの必要性をなくしたりするものではありません。

ディスクカードがデバイスに到達する方法は、オペレーティングシステム、ファイルシステム、ストレージスタック、アレイ構成によって異なります。継続的なオンラインディスクカード自体にもコストがかかることがあります。XFSの場合、Linuxのディスクカードガイダンスは、パフォーマンスへの影響のためにディスクカードマウントオプションではなく定期的なfstrimの使用を推奨しています。そのファイルシステム固有のアドバイスはすべてのNASに一律の設定として一般化すべきではありません。

ガベージコレクションを非難する前に何を測定すべきか?

単一の速度数値ではなくタイムラインから始めます。書き込み開始から遅延が現れるまでのスループットとレイテンシを記録します。同時に、デバイスの利用率、I/Oキューの挙動、温度、CPU負荷、ネットワークスループットを観察します。利用可能なSMARTやNVMeのヘルスログは追加の文脈を提供するかもしれませんが、公開されるフィールドはコントローラーやファームウェアによって異なります。

次にパスを分離します。ローカル書き込みとネットワーク転送を比較し、データセットと宛先を一定に保ち、安定した温度でテストを繰り返します。短時間のバースト書き込みと持続的な連続書き込み、混合ランダム書き込みを分けてください。SSD性能測定入門書では、方法論と環境が報告される結果を変える可能性があるため、比較には一貫した条件が必要であると強調しています。

最後に、回復を観察してください。アイドル時間後の改善はバックグラウンドメンテナンスと一致しますが、キャッシュの折りたたみ、温度低下、他のジョブの完了もあり得るため、ガベージコレクションの証明にはなりません。より強力な診断は、持続的な書き込み圧力、限られた余裕、レイテンシの変動、除外されたボトルネック、変化したワークロード条件に対する再現可能な反応を組み合わせます。

よくある質問

SSDのガベージコレクションは読み取り中心のNASトラフィックに影響しますか?

純粋な読み取りは書き込みと同じようにクリーンブロックを消費しないため、読み取り中心のワークロードは新たなガベージコレクションの圧力を生みにくいです。ただし、読み取りは他の書き込みによって引き起こされる同時の移動や消去作業とコントローラーやNANDリソースを共有する場合、レイテンシが高くなることがあります。

高速なネットワークはSSDのガベージコレクションを隠せますか?

いいえ。高速なネットワークは転送の上限を取り除き、SSD側の遅延を観察しやすくするかもしれませんが、内部のブロック回収を排除することはできません。ただし、ネットワークが影響を受けるSSDより遅い場合、ネットワークの上限がドライブのスループット変化を隠す可能性があります。

なぜNASがアイドル状態の後に書き込み速度が回復するのですか?

アイドル時間はコントローラーがクリーンブロックを準備したり、キャッシュされたデータを折りたたんだり、他のメンテナンスをホスト書き込みと競合せずに完了したりすることを可能にします。回復はバックグラウンド作業の仮説を支持しますが、冷却や完了したNASタスクも同様の改善をもたらすため、ガベージコレクションを単独で特定することはできません。

1回のベンチマーク実行でガベージコレクションの問題を確認できますか?

いいえ。SSDの状態は、過去の書き込み、アクティブレンジ、キャッシュ状態、温度、ワークロードパラメータに依存します。有効なテストは再現可能で、初期バーストを超える十分な長さが必要であり、ネットワーク、ファイルシステム、データセット、温度を可能な限り制御する必要があります。

エンタープライズSSDはガベージコレクションを排除しますか?

いいえ。NANDベースのエンタープライズSSDもブロックを回収します。より多くのオーバープロビジョニング、異なるファームウェアポリシー、安定したレイテンシ、持続的なワークロード向けの耐久性を提供するかもしれませんが、これらの特性はガベージコレクションの管理方法を変えるものであり、根本的なプロセスをなくすものではありません。

最終的な結論

SSDのガベージコレクションは、NANDブロックの回収が持続的なNAS書き込みと競合する前景作業になる場合に重要です。ワークロードの形状、容量の余裕、レイテンシの挙動、アイドル時の回復がそのパターンを支持し、かつキャッシュの枯渇、温度、RAID、インターフェース、CPU、ネットワークの制限が確認された後にのみ、原因として考慮してください。

テック&AIハブ

もっと読む

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.