• Пн. Ноя 28th, 2022

Скрытая проблема SSD накопителя

SSD

T.me Написать эту заметку меня толкнула статья в с названием: «Что даст компьютеру модернизация накопителя с HDD на SSD. Простыми словами» . Автор, системный администратор, довольно подробно описал все плюсы такой модернизации. Я абсолютно согласен с тем, что и Windows грузится быстрее в 4-5 раза, и программы, на SSD живущие, в разы быстрее запускаются, и что у вас создается ощущение, что ваш компьютер/ноутбук, до этого “тормозивший”, после такой модернизации стал “летать”, и что игры на нем оживились. Все это реально так, у меня компьютер с I3-8350 (разогнанным до безобразных 4,9 ГГц) с SSD грузит Windows за 11-12 секунд, компьютер с уже устаревшим 3-гигагерцовым Core 2 Quad – секунд за 17. И они действительно не раздражают своей “задумчивостью”, которой они отличались при использовании HDD. В общем – супер!

Но есть одно маленькое “но”. Оно связано с принципом работы SSD. SSD – это огромный массив полупроводниковой памяти, сродни той, из которой состоит ОЗУ вашего компьютера. Я не вникаю в технические подробности, на чем память SSDреализована, на конденсаторах или на триггерных ячейках – не ставил перед собой задачу разобраться, ибо это в данном случае неважно. А важно то, что когда ячейка стерта и готова к новому занесению информации, в ней записана логическая 1. Если мы пишем в нее ту же самую единицу, то в ней, естественно, ничего не происходит, эта же единица там и остается. А вот при записи логического 0 далее она содержит этот нолик.

“Ну и что?” – спросят некоторые из вас. А то, что если в ячейку с единицей можно записать как 0, так и 1, то в ячейку с нулем записать единицу нельзя. Эту ячейку нужно предварительно стереть. Процедура стирания как раз и заключается в занесении во все неиспользуемые ячейки SSD единиц, чтобы далее мы могли в них записывать любую информацию. А процедура стирания, по меркам работы компьютера, довольно длительная. Да и стирание не может осуществляться для одной-двух произвольных ячеек, оно требует блоки с несколькими сотнями или тысячами последовательно расположенных ячеек. Для чего перед стиранием нужно проводить еще и некоторую дефрагментацию диска (переписывание некоторых фрагментов из одного места в другое, чтобы ячейки с полезной информацией были собраны покомпактнее, это даст возможность подготовить к следующей записи большее количество уже неиспользуемых, но еще не стертых ячеек).

HDD такой проблемы лишены. Записывающее магнитное поле легко перемагничивает что нолики в единички, что единички в нолики, и никакой отдельной процедуры стирания им не надо.

Все бы оно ничего, если бы не файл подкачки. Для тех, кто не знает, что это такое – это “гениальное” изобретение Microsoft, которое позволяет программистам писать программы без оглядки на то, а есть ли у компьютера ресурсы для их исполнения. То есть, писать без попыток оптимизации, во главу угла поставлена скорость написания. Плоды этого пожинает пользователь – каким бы совершенным компьютером он не обладал, с выходом новой операционки и пользовательских программ под нее его ресурсов уже нехватает. А на следующем таком этапе замены операционки комп и вовсе становится устаревшим.

Программист пишет программу, не задумываясь, сколько памяти установлено на компьютере, который будет ее выполнять. Если программа требует, к примеру, 7 Гб, а на компьютере установлено всего 4 Гб, файл подкачки сбросит “лишние” 3 Гб на жесткий диск, и оттуда затем будет их возвращать программе, “подкачивать” по мере необходимости. Здесь важно то, что эти данные, сбрасываемые на жесткий диск, постоянно меняются, и обмен с ним идет очень часто. Поэтому компьютер с бОльшим объемом оперативной памяти при прочих равных работает быстрее, т.к. записей/чтений в файл подкачки меньше, а такая запись/чтение на жесткий диск на 2 порядка медленнее, чем в оперативную память.

Автор упомянутой «Что даст компьютеру модернизация накопителя с HDD на SSD» радостно сообщает, что поскольку запись/чтение SSD в разы быстрее, чем на HDD, установка SSD по этой причине также ускорит работу модернизированного компьютера. Это действительно так. Но автор не сказал, что лишь до поры-до времени. Ибо, пока программа, требующая обмена данными с жестким диском через файл подкачки работает, она “загаживает” диск данными, которые еще когда-то кому-то предстоит стирать. Стирает их команда TRIM подробнее о ней здесь. Она работает в минуты простоя компьютера (и замечу, только в ОС Windows 7 и старше). И вот здесь возникает некоторое соревнование – какой процесс быстрее, “загаживание” файлом подкачки SSD, или его очистка командой TRIM. В явном виде ответа на этот вопрос я не нашел.

Ясно, что если в одном случае у вас SSD объемом 1 Тб, а в другом 250 Гб, то “загаживание” второго произойдет вчетверо быстрее, чем первого. Если у вас в одном случае 4 Гб оперативки, а в другом 8, то на нынешних программах в первом случае ваш SSD “загадится” еще как минимум вдвое быстрее. Если вы практически не оставляете компьютер/ноутбук “передыхать” во включенном состоянии, не идете на перекур или попить чайку, а все время непрерывно нажимаете на клавиши и двигаете мышку, и по завершении работы тут же его выключаете, у команды TRIM остается мало времени на подчистку того, что “загадил” файл подкачки. И это еще ускоряет момент, когда весь SSD окажется “загаженным”, и любая новая запись на него станет невозможной без остановки вашей работы на компе, чтобы дать возможность TRIM хоть что-то очистить на диске. Я с этим столкнулся.

На ноутбук 10-летней давности с 4 Гб оперативки была поставлена Windows 7 и SSD 250 Гб. Процессор старенький, хоть и двухядерный, но с тактовой частотой всего 1,5 ГГц. Файл подкачки разместил на SSD, объем его не помню, наверное, те же 4 Гб. Специально проверил после установки операционки, что TRIM включена (если для данного SSD она доступна, операционка ее включает). И отдал супруге в пользование обновленный и достаточно пошустревший старенький ноутбук.

Радостного пользования было месяцев 5-7. А затем он стал безумным “тормозом”, требовавшим почти ежеминутной остановки в работе, прежде чем он что-то доисполнит. Я поставил его включенным на двое суток, дав супруге свой ноут, с HDD, не столь шустрый, но без чудес. Двухдневное стояние во включенном состоянии чуть исправило ситуацию – на ноуте стало возможным поработать несколько часов, после чего он снова стал тормозить. Я снова дал ему почиститься, отключил файл подкачки – и ноут стал “рушиться” при исполнении многих программ, которым попросту не хватало 4 Гб ОЗУ.

Так я экспериментально узнал, как быстро “загаживается” SSD. По этим данным и вы можете грубо оценить, как долго вы будете радоваться шустрости своего модернизированного компьютера. С SSD 2 Тб и объемом памяти 16 Гб вы с этой проблемой, скорее всего, не столкнетесь, пока не выйдет новый софт, которому уже и 16 Гб мало. Но ведь вокруг куча рекомендаций обновлять с помощью SSD стареннькие компьютеры и ноутбуки, сопоставимые с тем, о котором я сказал выше. А там будут проблемы, которые я описал. Есть ли выход из этой грустной ситуации?

Да, есть. Модернизируя десктоп, оставьте в нем вторым, несистемным диском, стоявший в нем HDD. И забросьте на него файл подкачки. И будет у вас все то счастье, о котором рассказал автор упомянутой «Что даст компьютеру модернизация накопителя с HDD на SSD». Причем без описанной мной проблемы.

С ноутбуками сложнее, места под второй жесткий диск в них нет. Но в них чаще всего есть CD-привод, сегодня уже практически не нужный. И вместо него можно установить HDD в салазках optibay. Опять же закинув затем на него файл подкачки. Плюсы этого решения указаны. Минус – вы лишились встроенного СD-привода. На мой взгляд, плюсы безусловно перевешивают этот минус.

Я не коснулся NVMe-накопителей, для них выпущена другая программа, аналогичная TRIM, но это я сделал умышленно, чаще всего для модернизации старых компьютеров и ноутбуков используют SATA-SSD, NVMe на планке туда не воткнешь.

Добавить комментарий