Обзоры
SSD не любят обмана
4

SSD не любят обмана

Слабые стороны найдутся у любой технологии, насколько совершенной и многообещающей она не казалась бы. SSD в этом плане повезло меньше, чем некоторым другим новинкам. Ее изначально встретили с изрядной долей недоверия, что, с одной стороны, осложнило твердотельным накопителям дорогу на рынок, но, с другой, поможет им быстрее избавиться от «детских болезней». Об одном из таких негативных факторов и предложенном Intel способе его преодоления пойдет речь в этой заметке.

Из комментариев к предыдущим заметкам о SSD несложно заметить, что все мы больше всего обеспокоены надежностью твердотельных накопителей. Если точнее, их ресурсом. Сказывается отсутствие информации о том, сколько смогли проработать SSD-драйвы в реальных условиях – в мобильных и настольных ПК, в серверах. Это вопрос времени, пока нет достаточно го количества статистики по отказам, делать выводы, основываясь на заявленных характеристиках, сложно. Хочу отметить, что ограниченность ресурса свойственна не только SSD, но и всем другим типам накопителей. Только технические факторы, от которых зависит срок жизни дисководов, разные. Магнитные пластины винчестеров, например, тоже выдерживают не бесконечное число циклов перезаписи, кроме того, у HDD ограничено количество старт/стопов, нередки проблемы с контроллерами, не говоря уже о механике приводов. У SSD – свои уязвимые места. С течением времени производители находят способы многие недостатки устранить или ослабить, в чем мы могли не раз убедиться.

Сегодня речь пойдет не о сроке службы, а о производительности твердотельных накопителей. Многие из нас уже заметили, что быстродействие SSD ощутимо снижается по мере их заполнения файлами. Максимум производительности в тестах демонстрируют чистые накопители, а вот в ходе их эксплуатации реальная скорость понемногу начинает снижаться. Причина в том, что в SSD и HDD по-разному организован доступ к данным по чтению и записи. А операционные системы, равно как и интерфейсы ATA, пока что в большей степени оптимизированы под работу с HDD.

Чтение и запись данных на HDD может производиться на уровне отдельных кластеров или секторов. На скорость при этом в значительной степени влияет физическое размещение данных на дисках: время уходит на раскрутку пластин (после простоя), подвод головок, прокрутку диска к нужному сектору. У накопителей SSD в силу отсутствия механики нет таких проблем, но есть свои. Например, процедура перезаписи отдельного кластера, легко выполнимая на винчестере, здесь происходит труднее и является более длительной. При этом требуется прочитать данные из соответствующего 512-килобайтного блока, модифицировать их и снова записать на место после очистки затронутых операцией ячеек памяти. Следовательно, чем больше блоков на SSD содержит полезные данные, тем чаще приходится прибегать к процедуре read-modify-write вместо прямой записи.

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

Раньше в интерфейсе ATA просто не было команд для физической очистки блоков после удаления файлов на уровне ОС. Для HDD они просто не требовались, но появление SSD заставило пересмотреть отношение к данному вопросу. В результате в спецификации ATA8-ACS-2 появилась новая команда DATA SET MANAGEMENT, более известная как Trim. Она позволяет хосту на уровне драйвера собирать сведения об удаленных в ОС файлах и проактивно передавать их контроллеру накопителя. Эта функция помогает SSD улучшить управление хранением и обработкой данных, но для ее реализации необходима поддержка новой спецификации ATA, во-первых, прошивкой накопителя и, во-вторых, установленным в ОС драйвером.

Команда Trim поддерживается прошивкой SSD, выпускаемых Intel по 35-нанометровой технологии (в серебристых корпусах). С «черными» SSD предыдущего поколения ее использовать нельзя. Со стороны хоста требуется наличие ОС Windows 7, Vista или XP с драйвером Microsoft AHCI или Intel Matrix Storage Manager. Для активизации и использования Trim понадобится еще недавно выпущенная утилита Intel SSD Toolbox с функцией SSD Optimizer. Возможно, потребуется также обновить прошивку накопителя.

Принцип работы Intel SSD Optimizer показывают картинки из посвященного этой утилите буклета. На первой иллюстрации изображена ситуация, при которой OC не уведомляет накопитель об удалении файлов (т.е. без использования оптимизатора). Если сама система считает занимаемые ими прежде блоки освободившимися (OS View of Delete), но накопителю об этом ничего не известно и он оценивает размещение блоков с данными иначе (SSD view of Delete):

Таким образом, при записи в помеченные желтым блоки SSD придерживается стратегии read-modify-write, хотя на самом деле можно было бы обойтись без лишних операций чтения и модификации. Иначе выглядит ситуация при синхронизации сведений об освободившихся блоках между ОС и накопителем при помощи Intel SSD Optimizer, как показано на втором рисунке:

Процедура синхронизации выполняется по расписанию. Она требует небольшого времени (порядка одной или нескольких секунд), Intel рекомендует настроить через SSD Toolbox ежедневный запуск SSD Optimizer. Предусмотрено также еженедельное или ежемесячное расписание, позволяющее задать не только время, но и дни, когда будет запускаться SSD Optimizer.

Кроме запуска оптимизатора, утилита SSD Toolbox позволяет выполнять диагностику SSD и просматривать SMART-данные всех накопителей компьютера. Подробное описание этих атрибутов, как и порядка работы с программой, содержится в User Guide. С помощью SMART, кстати, можно оценить текущую степень износа SSD – параметр E9 отражает оставшееся количество циклов очистки NAND-ячеек в процентах от нормативного значения. Когда величина, уменьшаясь от 100, дойдет до 1, можно ожидать неприятностей.

В следующих версиях поддержка Trim будет реализована непосредственно в Intel Matrix Storage Manager. Кроме того, сегодня ее нельзя использовать для SSD, установленных в RAID-массиве (в будущем такая возможность появится). C зашифрованными дисками SSD Optimizer работает, но перед запуском пользователю приходится подтвердить, что это именно зашифрованные данные, а не RAID (в Windows 7 и Vista утилита не может самостоятельно с этим разобраться). Есть ограничение по интерфейсам накопителей – SSD Optimizer не поддерживает внешние приводы, подключенные через USB (в случае использования eSATA она работает).

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


Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: