Глубокий сон (DevSleep)
В спецификации SATA хост или устройство могут переводить интерфейс в состояние пониженной мощности следующим образом:
Проблема перехода в состояние пониженного энергопотребления интерфейса заключается в том, что устройство SATA не может реагировать на команды так же быстро, как при полном питании интерфейса. То есть при использовании состояний питания интерфейса существует компромисс между задержкой на выход из энергосберегающего режима и экономией энергии. Оба состояния интерфейса (Partial и Slumber) используют так называемую «внутриполосную» сигнализацию, так как команды, используемые хостом и устройством для изменения состояния питания интерфейса, передаются по самой шине SATA.
Существующая «внутриполосная» схема управления питанием SATA означает, что интерфейс не может быть полностью отключен, так как он должен оставаться включенным для обработки команд изменения состояния. Таким образом, если хост хочет сэкономить потребление энергии на интерфейсе SATA, то существует только два варианта:
С добавлением DevSleep хосты и накопители информации получили новую опцию управления питанием, с помощью которой они могут полностью отключить свои физические схемы, связанные с интерфейсом. Находясь в DevSleep, устройства могут также отключить дополнительные подсистемы, что обеспечивает еще большую экономию энергии. Задержка выхода из режима DevSleep и общая энергия перехода намного ниже по сравнению с отключением питания.
При включенном DevSleep хост находится на среднем уровне между сегодняшними состояниями управления питанием интерфейса (Partial и Slumber) и отключением питания. Теперь он может перейти в режим энергосбережения с малой задержкой, при котором физическое питание хоста и накопителя могут быть полностью отключены, но при этом иметь задержку гораздо ближе к режиму Slumber, чем к полному отключению. В режиме DevSleep твердотельные накопители (SSD) потребляют всего 5 мВт или меньше.
Принцип работы режима DevSleep
DevSleep работает путем добавления нового сигнала (DEVSLP), который соединяет хост и устройство хранения информации. Когда хост подает этот сигнал, накопитель переходит в режиме DevSleep и находится в нем, пока хост удерживает сигнал DEVSLP. Когда хост отключает сигнал DEVSLP, накопитель возвращается к нормальной работе. Спецификация DevSleep предоставляет разработчикам гибкость в отношении того, что на самом деле делает устройство, когда появляется сигнал DEVSLP. Устройство может полностью отключить интерфейс, а также может отключить и другие подсистемы, если оно сможет соответствовать требованиям к задержке на выход из энергосберегающего режима.
Хост может подать сигнал DEVSLP из любого состояния при условии, что:
Реализация DEVSLP от Plextor сберегает энергию и обеспечивает быстродействие
Реализация DEVSLP от Plextor сберегает энергию и обеспечивает быстродействие
Plextor указывает путь
DEVSLP был представлен вместе со стандартом SATA 3.2. Для реализации нового режима сна требуется поддержка со стороны чипсета. Спецификация гласит, что в режиме DEVSLP накопитель должен потреблять не более 5 мВт энергии. Инженерам Plextor удалось значительно уменьшить эту цифру: в режиме сна новый M 5 M требует всего 1 мВт энергии. При этом переход SSD в рабочее состояние занимает всего 100 мс, так что он не только сберегает энергию, но и обеспечивает превосходное бысродействие. По факту, новичок «просыпается» на 20 – 50% быстрее конкурентов.
Оставьте адаптер питания дома
В сочетании с энергоэффективным процессором и дисплеем с низким энергопотреблением, накопители Plextor с поддержкой DEVSLP станут отличной основой для ноутбуков с длительным временем автономной работы. Система, способная функционировать несколько рабочих дней на одном заряде батареи, становится реальностью.
Новый способ работы
Сочетание низкого энергопотребления и превосходного быстродействия новых SSD позволяет изменить само представление о работе ноутбуков. Лэптопы становятся похожими на планшеты и смартфоны: устройства способны проводить дни в режиме ожидания, но при этом они возвращаются к работе за считанные мгновения. Мысль о том, что ноутбуки надо постоянно включать и выключать, становится пережитком прошлого.
Забота об экологии
Настольные ПК потребляют много энергии, даже в режиме простоя. Твердотельные накопители изначально более энергоэффективны, чем традиционные жесткие диски, но использование SSD Plextor с поддержкой DEVSLP позволяет еще больше снизить прожорливость настольных систем. А главное, использование продвинутого режима сна не доставляет пользователю никаких неудобств.
Отслеживание метрик SSD на Linux и какой софт для этого пригодится
Привет, Хабр! Любой, кто хоть раз сталкивался с неожиданной смертью флешки, жесткого диска или SSD-накопителя, расскажет вам, насколько важно отслеживать SMART-параметры и замерять скорость в бенчмарках. Независимо от системы. И если с Windows достаточно вбить в поиске CrystalMark, то пользователям Linux подобный лайфхак не подойдет. Зато подойдет этот текст, где вся история пропитана поисками.

Почему память не вечна?
Углубляться в физику производства чипов памяти и объем работ по литографии — удел отдельных энциклопедических записей. Нам достаточно вспомнить, как сильно нагревались некоторые металлические USB-флешки при записи больших архивов. Это было горячо, но многие твердотельные накопители работают без остановки, при температурах свыше 70°С. Ожидать, что такая нагрузка не скажется на долговечности SSD–накопителя, весьма опрометчиво.
За реальным примером износа далеко идти не нужно. В работающем 24/7 ноутбуке, заводской конфиг изначально включал лишь медленный жесткий диск. Пустой M.2 слот был заполнен самым доступным SSD на 240 Гигов, исправно служащим и по сей день в роли системного. С момента покупки прошло уже два года, а по данным CrystalDiskInfo остаток ресурса составляет всего 87%.
По ошибкам – критических значений пока не выявлено, но куда интереснее информация, полученная при запущенном фоном бенчмарке CrystalDiskMark. Результаты измерения скорости при стандартных значениях ячеек и объема данных вполне соответствуют SATA-SSD. Но температура платы достигала 70°С в пиковые моменты, что много для чипов памяти. Тем более, этот M.2–накопитель установлен в адаптере под слот форм-фактора 2.5”.
На скриншоте температуры системного диска вы могли заметить второй, существенно более холодный носитель. Это представитель бюджетной линейки NVMe PCIe SSD-накопителей в форм-факторе M.2, поддерживающий до 4-х линий по шине PCIe Gen 3.0. Всего в линейке есть три разновидности по объему: 250, 500 и 1000 ГБ, но младшая ограничена по скорости чтения и записи. Поэтому выгоднее брать одну из старших, как 500 ГБ модификацию в данном случае. Кстати, а как она себя проявит под нагрузкой?
А для этого на свежий Kingston A2000 была установлена актуальная версия Ubuntu, скачанная с официального сайта и смонтированная на USB–флешку.
О параметрах S.M.A.R.T.
Сама аббревиатура S.M.A.R.T. литературно расшифровывается как система контроля и самодиагностики диска. Она выполняется контроллером памяти, который нередко указывается в спецификациях SSD–диска. Одна из задач контроллера в распределении нагрузки на ячейки памяти, для равномерного заполнения ресурса по операциям записи. А вообще причина в том, что жесткие диски и твердотельные накопители смертны.
Причем “смертны неожиданно”, если цитировать Воланда. Но так было раньше, до появления стандартизированных инструментов самодиагностики S.M.A.R.T., без которых трудно представить современную диагностику и прогнозирование износа оборудования. В пакет собираемой информации входят ошибки по чтению и записи на каждый блок, и еще около полусотни параметров, названных атрибутами.
Именно атрибуты S.M.A.R.T. позволяют утилите CrystalDiskInfo выводить остаток ресурса, температуру, общее число записанных на диск данных, а также суммарную наработку по часам. Для Ubuntu этот софт не выпускается, но владельцам компьютеров под управлением данной системы он и не требуется.
Бенчмарк и просмотр S.M.A.R.T. на Ubuntu
Классическая проверка жестких дисков и просмотр параметров S.M.A.R.T. в Ubuntu выполняются через терминал, с использованием Smartmontools. Ровно тем же инструментарием SmartCtl можно проверить данные с диска, не вводя команды в терминале. Для этого достаточно установить графическое приложение GSmartControl, находящееся в свободном доступе на популярных репозиториях.
По первоначальной задумке тут должен был оказаться блок с описанием результатов проверки, но в этом приложении набор доступных параметров слегка отличается от данных в CrystalDiskInfo. Как такового отчета увидеть не получится, лишь набор общей справочной информации, которую теоретически можно направить разработчику приложения тикетом на github. Данные S.M.A.R.T. попросту недоступны.
Зато при подключении SSD-диска 3-х летней давности, в меню приложения GSmartControl вся информация из S.M.A.R.T. доступна буквально парой кликов. Тут и актуальная температура, и счетчик исполнений циклов, и общее время работы. Подробнее о значениях каждого из параметров можно прочитать в постах у хабровчан, вбив аббревиатуру в поиск.
Сразу вопрос: а почему свежий NVMe–накопитель Kingston A2000 не распознается приложением GSmartControl? И главное, почему установленный через терминал Smartmontools выдает ту же ошибку доступа к данным самодиагностики?
Проблема в Ubuntu или диске?
В нашем случае, для Ubuntu актуальная версия Smartmontools датирована версией 7.1 из конца 2019 года. Под Windows и Linux, типа Fedora, доступна версия 7.2 от конца октября 2020 года. Но причина оказалась даже не в этом, а в отсутствии информации об SSD–диске Kingston A2000 в самой свежей версии базы драйверов под Linux-системы.
Для проверки, та же операция по обновлению базы была проведена на свежем дистрибутиве Fedora 33. В таблице релизов Smartmontools для этой системы заявлена актуальная версия приложения 7.2. А ручное обновление базы дисков, используемое GsmartTools, также выполняется через терминал, вводом команды: sudo/usr/sbin/update-smart-drivedb
Результат ожидаемо не привел к положительному результату. С одной стороны, разработчиков можно понять, но пользоваться хочется современным SSD–накопителем, не привязывая себя к определенной операционной системе. А в случае с Linux остается только попробовать другую актуальную модель из доступной линейки дисков: модель Kingston A400. Этот SATA-SSD выполнен в форм-факторе 2.5”, так что есть шанс узнать еще и данные по температуре у подобного твердотельника.
Получится у Linux прочитать S.M.A.R.T.–параметры диска Kingston A400?
Момент установки был волнителен как никогда. Прежде чем было принято решение брать другой диск для проверки, были испробованы различные команды в терминале и бесчисленные попытки обновления софта. Порой казалось, что вот сейчас все получится, но результата не удавалось достичь. Надежды на успех были минимальны.
Ура, победа! Твердотельный накопитель Kingston A400 распознается без каких-либо ограничений и все данные самодиагностики S.M.A.R.T. доступны в полном объеме. Значения ошибок и температура доступна к просмотру, причем и в классическом приложении Диски. Там же можно запустить бенчмарк чтения и записи, с ручным выставлением параметров объема ячейки и количества операций. В сочетании с GsmartControl получается удобное средство для контроля производительности дисковой подсистемы, в частности температурного.
В случае с твердотельным накопителем Kingston A400 емкостью 480 ГБ, пиковые значения температуры, по данным приложения GSmatControl, не превышали 60 °С. Результат действительно интересный. Согласно ему, выходит, что системный Kingston A400 выглядит предпочтительнее для Linux, как раз благодаря низкому тепловыделению. NVMe–накопитель грелся в Windows до 70-ти градусов и лучше использовать его с операционкой Microsoft.
Что интересно, за пару месяцев подготовки этого материала, не только разрушились надежды обнаружить с обновлением драйвера и поддержку Kingston A2000 в Linux, но и потерял свою актуальность дистрибутив из репозиториев Fedora для утилиты KDiskMark. Еще в феврале-марте никаких проблем с его установкой из штатного магазина не возникало, а теперь увы.
А жаль, ведь результаты записи в этом бенчмарке гораздо адекватнее значений, выводимых штатными “Дисками”, независимо от введенных значений. Запись упорно держится в районе 300 МБ/с, хотя визуально предпосылок к обрезанной скорости нет.
Какие итоги мы смогли вынести из увиденного?
Первый и самый очевидный вывод, по итогам поиска утилит мониторинга твердотельных дисков на Linux, оказался довольно очевиден: для новинок железа и подробного тестирования куда лучше подходит Windows. Операционка от Microsoft хорошо заточена под обновление драйверов отдельных компонентов, на нее ориентируются производители игрового железа и даже среди дисковых утилит там есть, из чего выбрать.
С Linux-системами все несколько сложнее. Там меньше конкуренция и ниже фокус внимания разработчиков софта. В нашей конкретной ситуации два SSD-накопителя, выпущенные в схожее время, проявили себя по-разному. Модель A400 распознается системами Ubuntu и Fedora, в утилитах Диски и GSmartControl доступен полный отчет по S.M.A.R.T. – параметрам, а вот модель A2000 так и не получила системных драйверов на апрель 2021 года. Узнать, как проявит себя ваш SSD-накопитель на актуальной сборке, получится лишь на практике. С другой стороны, даже SATA-SSD A400 хватает для быстрой и комфортной работы в качестве системного диска, а ощутить разницу с NVMe в прикладных задачах не так и просто.
Но объективная оценка и субъективное восприятие скорости работы системы и отдельных приложений – это тема отдельного материала. Например, сравнения Windows и Linux по части требовательности к ресурсам аппаратных компонентов и более внимательным сравнением нагрузки на дисковую подсистему. А заодно можно будет сравнить важность системных драйверов для SSD и их влияние на итоговые результаты. Подопытные для наших тестов уже под рукой, о результатах расскажем совсем скоро.
Что такое KIWY? Kingston Is With You — Kingston всегда с вами.
Продукция, решения и технологии Kingston широко применяются и используются по всему миру корпорациями, центрами обработки данных и обычными людьми каждый день – от авиации и космических станций до смартфонов, ПК и фоторамок. Самые неожиданные сферы использования решений Kingston узнайте тут.
Для получения дополнительной информации о продуктах Kingston обращайтесь на официальный сайт компании.
Поднимаем производительность SSD c колен, куда нажимать и зачем
Семь бед – один Deallocate
Многие слышали про команду TRIM. Те самые заветные четыре буквы, которые вызывают множество вопросов у рядового пользователя. TRIM – одна из команд ATA, отправляемая операционной системой с целью уведомления твердотельного накопителя о том, что данные с диска были удалены пользователем и занятые физические ячейки можно освободить. Стоит отдельно сказать про SSD с интерфейсом NVMe — эти диски обладают другим набором команд для работы, но аналог ATA команды TRIM там тоже существует — называется она Deallocate и, соответственно, является идентичной. Поэтому, далее при упоминании TRIM мы будем подразумевать и Deallocate тоже. К чему речь обо всём этом? Как раз именно проблемы с выполнением данных команд в подавляющем большинстве случаев и являются причиной низкой производительности накопителей. Конечно, другие проблемы мы тоже не оставим в стороне, но всему своё время.
В тот момент, когда вы удаляете данные с вашего накопителя, по факту удаляется запись в главной таблице файловой системы. То есть, сами данные остаются на месте, но область помечена на удаление. Сама «зачистка ячеек» происходит в определенное время, например, в момент простоя накопителя, пока вы отошли за чаем. Таким образом производители добиваются снижения износа памяти и увеличивают производительность своих накопителей в определённых сценариях. Именно очисткой этих ячеек и занимается контроллер, выполняя команду TRIM. К слову, после её выполнения, восстановление данных практически невозможно.
Совсем недавно мы рассказывали про технологию Secure Erase, которая схожа с TRIM, но затрагивает не только основные ячейки, но и служебные области, возвращая накопитель в полностью исходное состояние. Напомним, что Secure Erase можно выполнить на накопителе только без файловой системы и при определённых условиях. А технология TRIM как раз и требует наличие операционной системы со всеми вытекающими требованиями.
Объясним на пальцах, как раз их 20…
Когда вы создаёте файл, операционная система отправляет команду записи по адресу определенного логического блока. Когда вы удаляете данные с диска, эти блоки помечаются свободными.
При этом, данные останутся на диске пока контроллер не захочет их перезаписать.
Перед нами часть памяти, в которой находятся файлы А и В разных размеров, занимающих, соответственно, разное количество блоков. Сначала мы удаляем файл В, а затем записываем файл С на наш диск. Для наглядного представления ситуации, когда TRIM не работает, добавим простую иллюстрацию, в которой обозначены следующие состояния:
А теперь что происходит, если TRIM работает. Снова по этапам:
То есть, логика работы совсем другая. Повторим пройденное — в момент удаления нами файла B отправляется команда TRIM, и, поскольку в SSD достаточно часто простаивает, он с радостью удаляет ненужные блоки практически сразу. И в момент того, как мы хотим записать файл С, то он сразу же записывается на диск, а не ждёт пока для него очистят блоки с мусором.
TRIM, а есть ли ты вообще? И, если есть, то работаешь ли?
Узнать, поддерживает ли SSD команду TRIM можно при помощи достаточно большого количества свободно распространяемого программного обеспечения. Возьмём, к примеру, CrystalDiskInfo:
Но демонстрация поддержки – не есть работа. Для начала пройдёмся по ситуациям, когда TRIM надо запускать хитрым способом или данная команда не работает вовсе. Конечно, со временем ситуация может поменяться, но пока дела обстоят следующим образом:
Для начала – попробуем это узнать прямо у операционной системы. В запущенной от имени Администратора командной строке или PowerShell вводим команду «fsutil behavior query disabledeletenotify» без кавычек и смотрим на результат. Если в выводе значатся «0», то это хорошо – TRIM работает. Если «1», то функционал TRIM недоступен. Всё верно: ноль – включённая команда, 1 – выключенная команда.
К примеру, можно использовать простую в использовании программу trimcheck от Владимира Пантелеева. Программа работает в два этапа, между которыми может пройти как несколько секунд, так и десятки минут – всё зависит от специфики работы конкретной модели SSD. Утилита записывает данные на диск и отмечает адреса виртуальных блоков, в которых они размещены. Эти адреса она сохраняет в JSON-файл в своей папке, после чего удаляет данные, что порождает отправку команды TRIM. Утилита смотрит, находятся ли записанные ранее данные по сохраненным адресам. Их отсутствие означает, что контроллер принял команды TRIM к сведению и удалил данные. Если TRIM работает, то сообщение будет соответствующим:
В противном случае надпись будет гласить TRIM appears to be NOT WORKING. Собственно, если вы получили сообщение о неработоспособности, то выполните в запущенной от имени Администратора командной строке или PowerShell команду «fsutil behavior set disabledeletenotify 0» без кавычек. Функция TRIM, если соблюдены все условия (поддерживаемая ОС, реализация в SSD и т.д.), должна включиться и работать. Если этого не произошло, а все требования выполнены, то придётся подумать о замене накопителя.
Проблемы, проблемы вместо обеда
Самая распространённая проблема – наследование. Само собой, речь идёт про Windows до версии 8. Например, когда пользователь ставит в старые системы SSD или переходят с HDD на SSD без изменения настроек BIOS (если это необходимо) или вообще путём клонирования разделов или диска целиком. Напоминаем, что TRIM доступен только в режиме AHCI. К примеру, у многих материнские платы могут работать в двух режимах AHCI и IDE. Соответственно, если SSD подключён к такой плате именно в режиме IDE, то TRIM работать не будет. Просто наличие режима AHCI не решает проблему – Windows установит драйверы согласно выбранному IDE. Казалось бы, ситуация может встречаться редко, но на самом деле – нет. Если с настройками BIOS вы не дружите, то хотя бы проверить режим работы надо. Сделать это можно в диспетчере устройств в разделе «Контроллеры IDE ATA/ATAPI»:
Помните, что просто так после установки Windows переключить режим работы с IDE на AHCI (и обратно) без дополнительных манипуляций не выйдет – операционная система попросту не загрузится. Решения этой проблемы существуют (даже от самой Microsoft), но рекомендовать их не стоит. Требуется изменение параметров реестра, добавление нужного драйвера и готовность к переустановке ОС в случае неудачи.
Вспомним ещё про Secure Erase. Восстановить производительность этой функцией можно. Только вот вряд ли надолго. Особенно, если вы быстро забиваете свой накопитель новыми данными. Так что как временное решение – пойдёт, но оно всегда будет оставаться временным.
Ещё добавим про SLC-кеширование, которое достаточно часто используется у многих SSD-накопителей без привязки к интерфейсу. Невысокая скорость записи большого количества файлов (или больших файлов) после определённого порога не проблема, а особенность работы. Суть кеширования состоит в том, что сначала записываемые данные попадают в специальную область памяти, а уже затем записываются в основную память в фоновом режиме. Когда выделенная высокоскоростная память заканчивается, то данные начинают записываться непосредственно в память на заметно сниженной скорости – от 50 до 150 МБ/с. Это совершенно нормальный режим работы накопителей с SLC-кешем, поэтому здесь ничего сделать невозможно от слова совсем.
Что хорошо, а что плохо?
Если функция TRIM работала с самого начала, то сама по себе никуда она деться не может. Но совсем другое дело, если вы увлекаетесь разного рода твикерами, сторонними драйверами или прошивками, а также сборками операционных систем, якобы улучшенных. Все эти программы и сборки могут только навредить, если речь идёт о Windows 8 и, тем более Windows 10 – в этих ОС всё продумано как надо. В «семёрке» они могут чем-то помочь, но это скорее исключение из множества проблем, которые они могут принести.
Отдельно надо сказать несколько слов про NVMe накопители и драйверы для них. Приобретая высокоскоростной SSD, в ваших глазах должны отражаться полученные в бенчмарках заявленные скоростные показатели. Часто это так и есть, например – с накопителями Kingston. Установил и забыл, как говорится, наслаждаясь его высокими скоростями. Но с SSD других производителей это может быть не всегда так, что, очевидно, расстроит любого. Тут уже не отсутствие Deallocate является причиной недостаточного быстродействия, а стандартный NVMe драйвер. Да-да, при покупке NVMe SSD некоторых производителей обязательно приходится отправляться на сайт его сайт и скачивать соответствующий драйвер – разница со стандартным может превышать двукратную!
Вот теперь, вроде, всё.
Как оказалось – не всё так страшно, как выглядело не первый взгляд. От пользователя требуется выполнение всего нескольких рекомендаций, чтобы система работала корректно и радовала производительностью твердотельного накопителя долгое время. Повторим их напоследок – чистый дистрибутив операционной системы, актуальные драйверы и прошивки от производителя, а также отсутствие сторонних «настройщиков» системы, которые, по заверению их разработчиков, увеличивают производительность на 146%. Если проблема не аппаратная, то никаких нареканий к диску у вас не будет в течение всего срока жизни вашей системы. Так что никакого длинного заключения-словоблудства не будет – всё, что надо было сказать, уже сказано. Ёмких вам SSD, их высоких скоростей и стабильной работы!
Для получения дополнительной информации о продуктах HyperX и Kingston обращайтесь на сайты компаний.






















