Добавить в корзинуПозвонить
Найти в Дзене
Tech Radar RU

Что происходит внутри SSD, когда свободное место заканчивается

Через несколько недель экспериментов с разными SSD я пришел к выводу, который идет вразрез с тем, что многие считают очевидным. Диск может показывать десятки гигабайт свободного места, но работать уже заметно медленнее. А может быть заполнен почти под завязку и при этом оставаться вполне быстрым. Самое интересное происходит не тогда, когда на экране появляется предупреждение о нехватке памяти, а намного раньше — внутри самого накопителя. Долгое время я относился к SSD как к чему-то простому. Есть память, есть контроллер, записал файлы — удалил файлы. Казалось, что если операционная система показывает свободное место, значит оно действительно свободно. Оказалось, что внутри накопителя все устроено намного хитрее. И когда свободное пространство заканчивается, начинается целая цепочка процессов, которые пользователь обычно даже не замечает. Только потом удивляется, почему компьютер вдруг стал задумчивым. Когда я впервые начал изучать принцип работы SSD, меня удивило одно обстоятельство. Д
Оглавление
Что происходит внутри SSD, когда свободное место заканчивается
Что происходит внутри SSD, когда свободное место заканчивается

Через несколько недель экспериментов с разными SSD я пришел к выводу, который идет вразрез с тем, что многие считают очевидным. Диск может показывать десятки гигабайт свободного места, но работать уже заметно медленнее. А может быть заполнен почти под завязку и при этом оставаться вполне быстрым. Самое интересное происходит не тогда, когда на экране появляется предупреждение о нехватке памяти, а намного раньше — внутри самого накопителя.

Долгое время я относился к SSD как к чему-то простому. Есть память, есть контроллер, записал файлы — удалил файлы. Казалось, что если операционная система показывает свободное место, значит оно действительно свободно. Оказалось, что внутри накопителя все устроено намного хитрее. И когда свободное пространство заканчивается, начинается целая цепочка процессов, которые пользователь обычно даже не замечает. Только потом удивляется, почему компьютер вдруг стал задумчивым.

Свободное место — это не пустота

Когда я впервые начал изучать принцип работы SSD, меня удивило одно обстоятельство. Для накопителя удалить файл и освободить место — совершенно разные вещи.

Представьте себе большой склад. Вы сняли наклейки с коробок и вычеркнули их из списка. Для вас помещение освободилось. Но сами коробки никуда не делись. Чтобы поставить на их место новые, сначала придется убрать старые.

SSD работает почти так же.

Когда вы удаляете фильм или игру, операционная система лишь сообщает, что эти данные больше не нужны. Сам накопитель не бросается мгновенно стирать память. Он ждет более удобного момента.

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

Но стоит свободному месту начать заканчиваться, как правила игры меняются.

Почему запись становится медленнее

Я специально провел простой эксперимент.

На одном SSD оставил около 45% свободного пространства. На втором постепенно довел заполнение почти до 97%.

Копирование большого архива на первый накопитель шло практически с постоянной скоростью.

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

Причина оказалась очень интересной.

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

Получается странная ситуация.

Если в одном блоке осталось всего несколько нужных файлов, контроллер сначала переносит их в другое место, затем очищает весь блок целиком и только после этого записывает новые данные.

Такая процедура называется сборкой мусора.

Название звучит забавно, но именно она становится главным источником задержек на почти заполненном SSD.

Контроллер постоянно играет в шахматы

Мне нравится сравнение с парковкой возле крупного торгового центра.

Утром мест почти нет. Чтобы припарковаться, приходится ждать, пока кто-то выедет, объезжать несколько рядов, искать свободный угол.

Вечером парковка почти пустая. Машину можно поставить куда угодно за несколько секунд.

Контроллер SSD занимается примерно тем же самым.

Когда места достаточно, он быстро находит свободные ячейки.

Когда память почти заполнена, ему приходится буквально переставлять данные местами, освобождая пространство для новой записи.

Именно поэтому иногда запись файла размером 30 ГБ может занимать заметно больше времени, чем кажется логичным.

При этом пользователь видит только полоску прогресса и не подозревает, сколько операций происходит в этот момент внутри накопителя.

Зачем SSD специально оставляют скрытое свободное место

Когда я впервые увидел реальные объемы памяти современных SSD, меня заинтересовал один вопрос.

Почему накопитель на 1 ТБ никогда не показывает пользователю весь физический объем памяти?

Ответ оказался неожиданным.

Часть пространства производитель изначально резервирует под внутренние нужды.

Этот запас называют over-provisioning.

Именно он помогает контроллеру быстро переносить данные между блоками, выполнять сборку мусора и равномерно распределять износ памяти.

Получается любопытная ситуация.

Даже если пользователь считает, что полностью заполнил накопитель, внутри SSD еще остается определенный резерв, который позволяет ему не превратиться в полностью заблокированную систему.

Правда, если свободного пользовательского пространства становится слишком мало, даже этот запас перестает спасать.

Почему удаление файлов не всегда помогает сразу

Однажды после очистки большого количества данных я ожидал, что SSD мгновенно станет работать быстрее.

Этого не произошло.

Сначала даже показалось, что ничего не изменилось.

Позже выяснилось, что накопителю требуется время.

Современные операционные системы используют команду TRIM. Она сообщает SSD, какие страницы памяти можно считать ненужными.

Но после получения этой информации контроллер не начинает немедленно очищать блоки.

Часто вся работа выполняется позже — когда компьютер простаивает или нагрузка становится меньше.

Поэтому иногда после масштабной очистки диска ускорение появляется не сразу, а спустя некоторое время.

Многие воспринимают это как магию, хотя внутри все вполне объяснимо.

Чем быстрее SSD, тем сильнее заметно заполнение

Любопытный парадокс.

На бюджетных SATA SSD снижение скорости ощущается, но обычно происходит постепенно.

На быстрых NVMe-моделях эффект иногда выглядит даже более заметным.

Все дело в том, что современные накопители используют очень большие SLC-кэши.

Пока запись помещается в этот быстрый буфер, скорость может превышать несколько гигабайт в секунду.

Но если свободного пространства почти нет, размер такого кэша уменьшается.

В какой-то момент накопитель переходит на запись непосредственно в основную память. Скорость может снизиться в несколько раз.

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

На самом деле накопитель просто исчерпал быстрый резерв.

А что насчет срока службы?

Существует популярный миф, что заполненный SSD быстрее выходит из строя.

Все немного сложнее.

Само по себе отсутствие свободного места память не убивает.

Но когда накопителю приходится постоянно переносить данные между блоками, объем внутренних операций увеличивается.

Каждая такая операция — это дополнительная запись.

Контроллер старается распределять нагрузку максимально равномерно, однако лишней работы становится больше.

Поэтому привычка оставлять хотя бы 15–20% свободного пространства — это не суеверие, а вполне практичная рекомендация.

Особенно если накопитель используется для монтажа видео, виртуальных машин, работы с фотографиями или больших архивов.

Что изменилось в моем отношении к SSD

После всех экспериментов я перестал смотреть только на цифру свободного места в проводнике.

Теперь понимаю, что SSD — это маленький компьютер со своим процессором, памятью и довольно сложной логикой принятия решений.

Когда места достаточно, он почти незаметен.

Когда пространство заканчивается, внутри начинается постоянная перестановка данных, уборка блоков, перенос информации и подготовка памяти к новым операциям.

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

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

А вы замечали, что компьютер начинает работать медленнее, когда SSD почти заполнен? Или, наоборот, никогда не сталкивались с такой проблемой? Интересно почитать ваши наблюдения в комментариях.

🚀 Если материал оказался полезным, поддержите его лайком и подпишитесь на канал. До встречи в следующих публикациях!

Все наши соцсети и актуальные ссылки собраны здесь:
🔗
https://taplink.cc/techradarru