Background Garbage Collection в SSD: что это и зачем нужно

Background Garbage Collection (BGC) — это фоновый процесс самоочистки NAND-памяти, который SSD-контроллер запускает в моменты простоя накопителя, и именно из-за него диск иногда «шуршит» активностью даже когда вы ничего не копируете. Если в мониторинге диска (например, в CrystalDiskInfo или фирменной утилите производителя) вы заметили периодическую нагрузку без видимой причины — вероятнее всего, это и есть сборка мусора, а не сбой.

Разберёмся, почему твердотельному накопителю вообще нужна «уборка», чем BGC отличается от команды TRIM, влияет ли процесс на скорость и износ, и стоит ли что-то настраивать вручную.

Почему SSD не может просто перезаписать данные

Главное отличие флеш-памяти NAND от магнитных пластин HDD — асимметрия операций. Записывать данные можно постранично (страница — обычно несколько килобайт), а вот стирать — только целыми блоками, которые объединяют десятки и сотни страниц. Перезаписать одну страницу «поверх» старой, как это делает жёсткий диск, физически невозможно: сначала нужно стереть весь блок.

Когда вы удаляете файл или изменяете его, контроллер не трогает старые данные сразу. Он записывает новую версию в свободное место, а старые страницы помечает как недействительные (invalid). Со временем накопитель заполняется такими «мёртвыми» страницами, разбросанными по разным блокам, и свободного места для быстрой записи становится всё меньше.

Именно здесь начинается работа сборщика мусора: он находит блоки, где перемешаны актуальные и недействительные страницы, переносит живые данные в новый блок, а старый стирает целиком — освобождая его для будущих записей.

Как работает фоновая сборка мусора

Слово background в названии означает, что процесс выполняется в периоды простоя — когда хост не присылает команд чтения или записи. Контроллер отслеживает очередь запросов и, как только появляется «окно тишины», приступает к консолидации данных. Это позволяет скрыть накладные расходы от пользователя.

Упрощённо цикл выглядит так:

  • 🔍 Контроллер выбирает блок-кандидат с наибольшей долей недействительных страниц.
  • 📦 Валидные (актуальные) страницы копируются в свежий, заранее стёртый блок.
  • 🗑️ Старый блок полностью стирается и возвращается в пул свободных.
  • 🗺️ Обновляется таблица трансляции адресов FTL (Flash Translation Layer).
  • ⏸️ При поступлении команды от системы процесс приостанавливается, чтобы не мешать работе.

Активность сборки мусора зависит от заполненности диска: чем меньше свободного места, тем чаще и интенсивнее работает BGC. Именно поэтому почти заполненный SSD может ощутимо терять скорость записи — контроллеру приходится «расчищать» блоки прямо на ходу.

Чем BGC отличается от TRIM

Эти два механизма часто путают, хотя они решают разные задачи и работают на разных уровнях. TRIM — это команда, которую операционная система отправляет накопителю, сообщая: «эти блоки данных больше не нужны». Garbage Collection — внутренний процесс контроллера, физически освобождающий место.

КритерийTRIMBackground GC
Кто инициируетОперационная системаКонтроллер SSD
Что делаетПомечает LBA-диапазоны как ненужныеФизически переносит и стирает страницы
Когда работаетПри удалении файлов или по расписанию ОСВ периоды простоя накопителя
Зависит от ОС и драйверовДа, требуется поддержкаНет, работает автономно
Можно отключитьДа (не рекомендуется)Нет, часть прошивки

Важный нюанс: TRIM сам по себе ничего не стирает. Он лишь даёт контроллеру подсказку, какие страницы можно считать недействительными, — а реальную «уборку» всё равно выполняет сборщик мусора. Поэтому эти механизмы дополняют друг друга: с активным TRIM сборке мусора достаётся меньше работы.

📊 Знали ли вы до этой статьи, что SSD самостоятельно «убирает» память в фоне?
Да, знал и следил за этим
Слышал, но не понимал механизм
Нет, узнал впервые
Думал, что этим занимается Windows

Влияет ли сборка мусора на скорость и ресурс SSD

Здесь есть оборотная сторона, о которой стоит знать. Перенос валидных страниц — это дополнительные операции записи, которых «не просил» пользователь. Явление называется Write Amplification (коэффициент усиления записи): фактический объём записи на NAND оказывается больше объёма данных, присланных системой.

Чем фрагментированнее данные и чем плотнее заполнен диск, тем выше усиление записи и тем быстрее расходуется ресурс циклов перезаписи ячеек. Впрочем, паниковать не стоит: современные контроллеры и алгоритмы wear leveling (выравнивания износа) рассчитаны на годы такой работы, а у большинства актуальных моделей заявленный ресурс записи (TBW) с запасом перекрывает типичное домашнее использование.

⚠️ Внимание: если SSD заполнен под завязку (свободно менее 10–15% объёма), сборка мусора вынуждена работать почти непрерывно. Это ускоряет износ и может заметно снижать скорость записи. Освободите часть места — и нагрузка на контроллер снизится сама собой.

Как помочь накопителю: практические рекомендации

Вмешиваться в работу BGC напрямую нельзя — это зашито в прошивку. Но вы можете создать условия, при которых сборке мусора приходится работать меньше и эффективнее. Проверьте следующие пункты:

☑️ Оптимизация условий для Garbage Collection

Выполнено: 0 / 5

Проверить статус TRIM в Windows можно командой в консоли от имени администратора:

fsutil behavior query DisableDeleteNotify

Если ответ — DisableDeleteNotify = 0, значит TRIM активен. Значение 1 означает, что функция отключена, и её стоит включить той же утилитой с параметром 0. Учтите, что на корректность результата влияют и драйверы контроллера хранения — при сомнениях сверьтесь с документацией к вашей материнской плате или ноутбуку.

Отдельный момент — простой системы. Фоновой сборке нужны паузы в обращениях к диску. Если компьютер постоянно нагружен или, наоборот, выключается сразу после работы, у контроллера меньше «окон» для уборки. Оставлять ПК включённым на ночь специально ради этого не обязательно, но и бояться простоев не нужно — они идут накопителю на пользу.

Что такое Active Garbage Collection и чем она отличается

Некоторые контроллеры применяют активную (foreground) сборку мусора — когда очистка блоков выполняется прямо во время записи, потому что свободных стёртых блоков не осталось. Именно она вызывает просадки скорости на переполненных дисках. Фоновая (background) сборка, напротив, работает в простое и заранее готовит чистые блоки, сглаживая производительность.

Можно ли отключить Background Garbage Collection

Короткий ответ — нет, и не нужно. BGC реализован на уровне прошивки контроллера, у пользователя нет ни переключателя, ни команды для его деактивации. Это осознанное решение производителей: без сборки мусора накопитель довольно быстро упрётся в отсутствие чистых блоков, и скорость записи рухнет до скорости стирания блоков — а это самая медленная операция NAND-памяти.

⚠️ Внимание: в сети встречаются советы «отключить сборку мусора» через сторонние утилиты или правку прошивки. Такие вмешательства лишают гарантии, могут повредить данные и не дают никакого практического выигрыша. Единственный легитимный рычаг влияния на фоновые процессы — официальные утилиты производителя и обновления прошивки.

Если же вы наблюдаете симптомы, которые приписываете сборке мусора, — постоянную активность диска, просадки скорости, нагрев, — сначала проверьте более вероятные причины: фоновые задачи ОС (индексация, антивирус, обновления), заполненность тома, состояние SMART и версию прошивки. Сама по себе корректно работающая BGC не должна мешать пользователю.

Часто задаваемые вопросы

Изнашивает ли фоновая сборка мусора мой SSD быстрее?

Технически она создаёт дополнительные циклы записи (усиление записи), но это неотъемлемая часть работы любого SSD, учтённая в заявленном ресурсе TBW. При типичном домашнем использовании и достаточном запасе свободного места влияние на срок службы незаметно.

Нужно ли специально оставлять компьютер включённым для сборки мусора?

Нет, специально этого делать не требуется. Контроллер использует любые паузы в обращениях к диску, которых достаточно при обычной работе. Проблемы возникают лишь при постоянной полной загрузке накопителя в сочетании с заполненностью под завязку.

Работает ли Garbage Collection, если TRIM отключён?

Да, BGC работает независимо от TRIM — это внутренний алгоритм контроллера. Но без подсказок ОС сборщику приходится опираться только на собственные данные о недействительных страницах, что снижает эффективность. Поэтому TRIM рекомендуется держать включённым.

Есть ли сборка мусора у внешних USB-SSD?

Контроллер накопителя выполняет сборку мусора в любом случае, но команда TRIM через USB-мост может не передаваться — это зависит от чипа переходника и поддержки протокола UASP. В этом случае нагрузка на BGC возрастает, и запас свободного места становится ещё важнее.

Как понять, что SSD сейчас занимается сборкой мусора?

Напрямую увидеть этот процесс из ОС нельзя. Косвенные признаки — активность диска в простое и временные колебания скорости записи. Диагностировать состояние накопителя лучше по показаниям SMART через фирменную утилиту производителя или CrystalDiskInfo.