Низкая скорость SSD-диска — почему и что делать?

Кроме естественного износа ячеек памяти есть ряд причин снижения производительности работы SSD-дисков:

  • Снижение объема свободного дискового пространства.
  • Отключенная функция TRIM.
  • Сильная фрагментация файлов на диске (несмотря на то, что SSD-диски не нуждаются в дефрагментации, ее нужно производить хотя бы изредка).
  • Неправильные настройки BIOS/UEFI, например: выбран режим «IDE» вместо «AHCI» (влияет на твердотельные накопители SATA), установлена меньшая пропускная способность интерфейса «PCIe», чем способна выдать материнская плата (для PCIe-дисков) или (редко) SSD-диск не выбран в качестве приоритетного загрузочного устройства.
  • Плохое техническое состояние SATA-кабеля и/или плохой контакт на SATA-порту (обычно с этим сталкиваются только к SATA-диске в форм-факторе «2.5»). Сюда же относится подключение SSD-диска к SATA-интерфейсу версии ниже «3.0».
  • Создание сильной нагрузки на SSD-диск со стороны каких-либо запущенных в системе процессов.
  • Некорректная работа драйвера контроллера запоминающих устройств.
  • Наличие логических ошибок на диске и/или сбои в управляющей микропрограмме (прошивке).

Первое, с чего нужно начать диагностику — проверки технического состояния устройства. Это позволит определить, стоит ли вообще предпринимать какие-то дальнейшие действия по устранению неисправности.

Низкая скорость SSD

Как определить, что SSD-диск скоро выйдет из строя?

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

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

Так, для диагностики SSD-дисков производства Intel предназначена программа Intel Memory and Storage Tool. На изображении ниже показано, что проверяемый диск «Intel SSD 660p» отработал всего 1 процент от своего общего ресурса, т.е. его состояние оценивается как «Healthy» (здоров):

Intel Memory and Storage Tool1

Ниже показан скриншот окна Samsung Magician — программы, служащей для диагностики и обслуживания SSD-дисков производства Samsung. На изображении выделен объем данных (Drive Health), прошедших через SSD-диск за все время его эксплуатации:

Samsung Magician

А вот так будет выглядеть диск в программе Samsung Magician, которому осталось служить совсем недолго:

Критическое состояние SSD в Samsung Magician

Если для имеющейся модели SSD программу найти не удалось, то можно использовать одну самых известных сторонних утилит для оценки «здоровья» SSD-дисков — CrystalDiskInfo.

CrystalDiskInfo

Как можно видеть на скриншоте выше, программа CrystalDiskInfo оценила остаточный ресурс тестируемого накопителя в 68%.

Как включить функцию TRIM?

Вообще, функция TRIM предназначена, в первую очередь, для увеличения срока службы твердотельных накопителей. В ее задачу входит передача диску команды на удаление более не нужных данных — тех файлов, что были удалены стандартным способом пользователем или системой (после такого удаления данные по-прежнему хранятся на диске). Если этого не сделать, то перед записью новых файлов SSD-накопителю придется сначала очищать память от старых (как бы «удаленных»). Именно это и приводит к падению производительности SSD.

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

  • Запускаем командную строку Windows от имени администратора и меню «Пуск» либо, воспользовавшись следующей инструкцией. Запустите «Диспетчер задач» (Ctrl + Shift + Esc), откройте в нем меню «Файл» и выберите пункт «Запустить новую задачу». В отрывшееся окно впишите без кавычек команду «cmd», поставьте галочку напротив «Создать задачу с правами администратора» и нажмите «ОК»:

Диспетчер задач

  • Откроется консоль Windows. Для начала можно проверить, активна ли функция TRIM, что можно сделать посредством следующей команды (просто скопируйте в окно командной строки и нажмите Enter):

fsutil behavior query DisableDeleteNotify

Проверка статуса TRIM

  • Если один из параметров — «NTFS DisableDeleteNotify» или «ReFS DisableDeleteNotify» — равен единице, это означает, что функция TRIM отключена для любых подключенных к компьютеру запоминающих устройств, отформатированных с использованием файловой системы NTFS или ReFS, соответственно. Для активации TRIM скопируйте и выполните в консоли одну из следующих команд в зависимости от того, для какой файловой систему ее нужно активировать (но можно обе поочередно):

fsutil behavior set disabledeletenotify NTFS 0

fsutil behavior set disabledeletenotify ReFS 0

  • Чтобы проверить, активировалась ли функция TRIM, вновь воспользуйтесь первой командной.

Активация TRIM

Сильная фрагментация файлов на диске

Как известно, функция дефрагментации файлов вредит SSD-накопителю, оказывая на него лишнюю нагрузку (ведь в процессе осуществляется перенос данных). Потому рекомендуется отключать автоматическую дефрагментацию в настройках Windows.

С другой стороны, при сильной фрагментации файлов увеличивается количество метаданных, содержащих в себе информацию о том, как распределены фрагменты файлов на диске, где их начало и конец. Это необходимо, чтобы контроллер SSD-диска смог считать фрагментированный файл. Но чем больше метаданных скапливается на диске, тем больше времени понадобится на прочтение файла целиком или даже записи новых данных (ведь диску также потребуется предварительно определить, куда именно их записывать).

Мы не хотим сказать, что для увеличения производительности накопителя следует активировать автоматическую дефрагментацию. Все это было к тому, что ее нужно запускать хотя бы раз в месяц, и не обязательно использовать встроенную в Windows функцию дефрагментации — можно воспользоваться и сторонними программами.

Неправильные настройки BIOS/UEFI

Причиной низкой производительности SSD-дисков могут являться неправильно заданные настройки в BIOS/UEFI, связанные с интерфейсами передачи данных между материнской платой и диском, но не только. Рассмотрим несколько стандартных ситуаций.

Контроллер SATA работает в режиме «IDE»

Чаще всего встречаются ситуации с неверно заданным режимом работы контроллера внешних запоминающих устройств, когда вместо «AHCI» выбирается устаревший режим «IDE». Это относится только к твердотельным накопителям, использующим интерфейс «SATA» для связи с материнской платой. Решение очевидное — переключить режим работы контроллера.

Ввиду того, что интерфейсы BIOS/UEFI отличаются друг от друга, мы не сможем прямо указать на конкретный раздел в настройках, где  осуществляется активация режима «AHCI». Приведем пару примеров:

  • В настройках BIOS/UEFI многих материнских плат Gigabyte переключение режимов работы контроллера осуществляется в разделе «Perepherials». Отвечающий за это параметр именуется как «OnChip SATA Type».

OnChip SATA Type

  • Или вот еще один пример с классическим интерфейсом BIOS. В данном случае нужный нам параметр расположен в разделе «Main». По умолчанию они заблокирован. Для разблокировки сначала нужно переключить параметр «SATA Configuration» в «Enhanced», а только потом включать режим «AHCI» напротив опции «Configure SATA as».

Configure SATA as

Контроллер «PCIe» работает в режиме пониженной производительности

Если речь об SSD-дисках, функционирующих через интерфейс «PCIe», то их малый уровень производительности может являться следствием выставленного в настройках BIOS/UEFI низкого значения пропускной способности канала передачи данных.

У некоторых материнских плат присутствует возможность изменения пропускной способности интерфейса «PCIe», используемые современными SSD-дисками с поддержкой протокола «NVMe». Речь идет о количестве каналов/линий «PCIe», которые накопитель способен задействовать одновременно для обмена данными с платой. Количество каналов указывается на корпусе накопителя либо в паспорте устройства после названия протокола «NVMe» — «NVMe 3.0 Х2» или «NVMe 3.0 Х4» и т.д.

Так, если в настройках BIOS/UEFI задано меньшее количество линий «PCIe», чем может одновременно использовать SSD-диск, то падение производительности — закономерное явление. Вот пример BIOS/UEFI с опцией настройки пропускной способности интерфейса «PCIe» у материнских плат с разъемом «M.2» для подключения дисков в соответствующем форм-факторе:

Существует и другая ситуация. Некоторые материнские платы позволяют вручную выбирать поколение интерфейса «PCIe», и чем оно «моложе», тем большую пропускную способность тот имеет. Например, подобная опция присутствует у плат «msi X995»:

Поколение SATA

Приоритет загрузки

На многих тематических форумах можно встретить посты, в которых говорится о снижении производительности SSD-накопителя в связи с тем, что тот не выбран в качестве приоритетного устройства в очереди загрузки. Мы не можем утверждать, так ли это, но если так, то выставить SSD первым в очереди загрузочных устройств не составит труда:

  • В BIOS/UEFI нужно найти раздел, в котором осуществляется формирование очереди загрузки. Он может называться по-разному — в зависимости от модели материнской платы, но чаще всего это «Boot». Сам список этих устройств также именоваться по-разному, например — «Boot Order», «Fixed Boot Order Priorities», «Boot Option Priorities» и т.п.
  • И затем переместить SSD-диск в верхнюю позицию очереди загрузки. Например, у материнских плат «msi», в которых чип BIOS/UEFI оснащен пользовательским интерфейсом «msi Click BIOS 5», для этого нужно просто кликнуть по верхнему пункту в списке устройств загрузки и затем выбрать SSD-диск:

Настройка приоритета загрузки

Проблемы с SATA-кабелем или неправильное подключение диска к плате

Касательно SATA-кабелей. Известно, что плохое их состояние может привести, в т.ч., и к потере производительности SSD-диска. Тут можем только посоветовать заменить его. Возможно, что проблема вовсе и не в кабеле, а в контактной площадке на материнской плате или самом диске (они могли загрязниться или даже окислиться).

Многие материнские платы стационарных ПК оснащаются сразу несколькими поколения SATA-интерфейсов, отличающихся пропускной способностью. На момент написания статьи существовало три базовых поколения: SATA 1.0, SATA 2.0, SATA 3.0 (не считая усовершенствованных версий интерфейсов SATA 2 и SATA 3).

Так, если SSD-диск, использующий интерфейс SATA 3 (а других, скорее всего, и не существует), подключить к порту SATA 2, то производительность устройство будет ограничена производительностью интерфейса «SATA 2». Какое именно поколение интерфейса реализовано на разъеме SATA, обычно указывается на материнской плате, как это показано здесь:

Разъемы SATA

Иногда вместо «SATA 3» на плате указывается «SATA 6G», под чем подразумевается скорость передачи данных по интерфейсу SATA 3-го поколения — 6 Гбит/с.

Разъемы SATA 6G

Нагрузка на SSD-диск со стороны фоновых процессов

Нельзя исключать оказание на SSD-диск сильной нагрузки со стороны запущенных на компьютере процессов. Если таковая присутствует, это легко выявить при помощи «Диспетчера задач»:

Диспетчер задач

Можно воспользоваться и сторонними утилитами, позволяющих мониторить нагрузку на диск. Например — программой System Explorer. Это бесплатная утилита для мониторинга текущего состояния различных комплектующих ПК, в т.ч. и запоминающих устройств. Если диски в данный момент выполняют какие-то операции с данными, то System Explorer покажет, какие именно операции (чтение и/или запись) выполняются и какими процессами они были инициализированы:

System Explorer

Некорректная работа драйвера

За связь между SSD-диском и операционной системой отвечает драйвер контроллера запоминающих устройств или контроллера AHCI, обычно устанавливающийся на компьютер вместе с Windows. Если в его работе наблюдаются сбои или он вовсе «слетел», низкая скорость SSD может являться последствием всего этого. Чтобы убедиться хотя бы в наличии установленного драйвера, сделайте следующее:

  • Откройте окно «Выполнить» (Win + R), введите в поле «Открыть» без кавычек команду «devmgmt.msc» и нажмите «ОК»:

devmgmt.msc

  • Запустится системное приложение «Диспетчер устройств». Найдите в отобразившемся списке раздел «Контроллеры IDE ATA/ATAPI». В нем должно присутствовать название AHCI-контроллера:

Диспетчер устройств

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

Для установки или обновления драйвера можно использовать программу DriverHub. Также можно зайти на сайт производителя материнской платы и скачать драйвер оттуда (обычно он присутствует в комплекте драйверов для платы). Для этого потребуется определить материнской платы, что можно сделать при помощи системного приложения «Сведения о системе»: вновь откройте окно «Выполнить» и запустите команду «msinfo32» по инструкции выше. В новом окне напротив графы «Модель основной платы» — можно будет получить искомую информацию:

Модель материнской платы в msinfo32

Наличие логических ошибок на диске или проблемы с прошивкой

В плане сохранения данных твердотельные накопители хоть и являются более надежными устройствами, нежели жесткие диски, они все же не защищены от возникновения логических ошибок. Они могут проявляться по-разному — от падения скорости записи/чтения до возникновения ошибок доступа при попытке открытия файла или запуска программ. То же относится и к прошивке SSD — микропрограмме, отвечающей за управление контроллером накопителя.

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

При необходимости диск можно «сбросить» самостоятельно при помощи системных инструментов Windows, однако это приведет к уничтожению всех данных на накопителе, и для выполнения операции SSD-диск не должен являться системным (т.е. операционная система должна быть установлена на другой диск). На всякий случай приведем инструкции, как это сделать:

  1. Запустите командную строку Windows от имени администратора и выполните в ней команду «diskpart».
  2. Далее введите в консоль команду «list disk». Отобразится список, в котором нужно получить номер диска, присвоенный системой SSD-накопителю. В нашем случае это «Disk 2».
  3. Далее введите команду «select disk N», в которой букву «N» нужно заменить на полученный из предыдущего шага номер диска. В нашем случае это «select disk 2».
  4. И последний шаг — выполните команду «clean», которая удаляет с диска разметку (разделы/тома).

Очистка диска

Вполне вероятно, что после этой процедуры SSD-диск перестанет быть доступным из «Проводника». Все потому, что на нем отсутствует разметка и/или он не проинициализирован системой. В решении обоих проблем поможет системное приложение «Управление дисками»:

  • Вновь откройте окно «Выполнить» и выполните из него команду «diskmgmt.msc».
  • Откроется приложение «Управление дисками». Если диск не был инициализирован Windows, то он будет помечен пометкой «Не проинициализирован». Кликаем по нему правой кнопкой мыши и выбираем пункт «Инициализировать диск».

Управление дисками

  • В новом окне выбираем вариант «Таблица с GUID разделов» и нажимаем «ОК».

Таблица с GUID разделов

  • На этом инициализация диска завершится. Но на нем еще нужно создать разметку.
  • В окне «Управление дисками» справа от номера диска без разметки будет присутствовать надпись «Не распределена». Кликните правой кнопкой мыши по панели с этой надписью и выберите «Создать простой том»:

Создание тома

  • Нажмите в новом окне «Далее», затем введите размер для нового раздела и снова «Далее»:

Указание размера для тома

  • Выберите любую букву для создаваемого раздела и нажмите «Далее».

Указание буквы для тома

  • На следующем шаге нужно выберите «NTFS» и нажмите «Далее»:

Выбор файловой системы для тома

  • Нажмите «Готово» для завершения.

Завершения создания тома