Появление SSD-накопителей открыло новую главу в истории массового хранения данных. По результатам исследований, опубликованных командой сотрудников Hyperstone, одного из производителей устройств такого типа, рассмотрим изменения их производительности в реальных условиях с учетом таких факторов как температура и старение чипов схемы. Причём забегая наперед сразу сообщим, что полученные результаты далеки от значений, заложенных в документациях производителей.
Влияние старения на производительность SSD
SSD-диски отличаются большими показателями как по емкости, так и по скорости чтения и записи данных. У них много преимуществ перед обычными магнитными дисками (HDD) — отсутствие движущихся частей делает их устойчивыми к вибрациям и ударам, позволяет работать бесшумно. Также твердотельные накопители отличаются более высокой энергоэффективностью (КПД) и более высокой скоростью записи и чтения данных. Появление твердотельных накопителей, оснащенных шиной PCI Express (вместо обычно используемого SATA), позволило еще раз значительно повысить их производительность.
Производительность, измеряемая в первую очередь скоростью передачи данных, является ключевым параметром для оценки качества твердотельных накопителей. Сравнение двух разных моделей в этой ситуации кажется достаточно простым — каждый производитель выставляет в описании значение скорости записи/чтения (в МБ/с) и количество возможных операций ввода-вывода в секунду (IOPS). Но согласно опубликованным измерениям, эти значения могут существенно отличаться от реальных…
Скорость последовательных операций записи и чтения выражается в МБ/с. Последовательные операции основаны на доступе к последовательным адресам из адресного пространства устройства. Чаще всего они связаны с передачей больших объемов данных (порядка сотен КБ и более), лежащих в соседних областях памяти. Напротив, операции произвольного доступа основаны на прерывистом чтении или записи адресов. Мерой эффективности и быстродействия SSD в этом режиме является количество операций ввода/вывода в секунду (IOPS, Input/Output Operations per Second). Мы имеем дело с операциями произвольного доступа в основном при чтении небольших порций данных, например отдельных небольших файлов.
Разница между заявленными и фактическими параметрами
По логике приведенные в документации значения параметров будут характеризовать SSD-накопитель большую часть времени его работы. Команда Hyperstone провела исследование чтобы проверить эту гипотезу. Группа различных моделей твердотельных накопителей от разных производителей была протестирована в долгосрочной проверке производительности, а также влияния температуры окружающей среды.
Первый тест заключался в выполнении теста CrystalDiskMark для проверки соответствия фактических параметров заявленным. Следующим этапом было выполнение 72-часового повторения операции случайной записи с использованием инструмента IOMeter. После длительной записи диск был снова протестирован с помощью CrystalDiskMark, что позволило определить два типа параметров для каждого из продуктов — для наилучших и наименее оптимальных (наихудших) условий.
Хотя само существование разницы между этими двумя типами параметров не было неожиданностью, масштаб её оказался велик. Время, после которого параметры значительно ухудшились, также удивило.
На рисунке показан график значений IOPS по тесту для одного из тестируемых приводов. Устройство смогло поддерживать постоянное (и в то же время максимальное) значение параметра около 50 секунд, после чего производительность диска снизилась более чем в 10 раз, колеблясь между значениями 1000 и 2000 до конца теста.
Причины снижения производительности SSD
Существует множество факторов связанных со значительным снижением производительности SSD со временем. Каждая операция чтения/записи требует множества дополнительных операций с флэш-памятью, выполняемых контроллером памяти. Эта система также выполняет различные действия в фоновом режиме, связанные с удалением устаревших секторов (сборка мусора), обеспечением равномерного использования всех блоков памяти (выравнивание износа), обновлением сохраненных данных и так далее, причём контроллер имеет возможность скрыть наличие дополнительных операций, чтобы они не влияли на производительность устройства. Большинство бенчмарк-тестов для сравнения качества микросхем памяти тоже запускаются всего несколько секунд, поэтому не способны заметить снижение производительности во время долгой работы.
Изменение параметров на протяжении всего жизненного цикла привода
Другое исследование показывает как производительность дисков меняется в течение их срока службы. Для оценки этого параметра использовалась последовательная и циклическая запись данных до заполнения общей емкости диска, а затем их чтение. Измерялась продолжительность обеих операций. Исследование повторялось до тех пор, пока не был достигнут максимальный срок службы продукта. На рисунке представлены результаты тестирования одного из устройств.
Результаты показывают что срок службы протестированной модели составляет около 6000 циклов записи. Этот результат намного лучше чем у большинства протестированных накопителей использующих технологию TLC (Triple Cell Level, сохранение 3 бит данных в одной ячейке флэш-памяти) — среднее значение срока службы, измеренное среди тестируемых продуктов из этой группы, составило около 3000 циклов. Технология TLC обеспечивает гораздо более высокую емкость и плотность упаковки данных, чем SLC (одноуровневая ячейка, 1 бит в каждой ячейке памяти), изначально использовавшаяся в микросхемах флэш-памяти. Но системы SLC характеризовались гораздо более длительным сроком службы, на уровне примерно 100 000 циклов.
Внедрение технологии в широкое применение и связанное с этим большее количество ошибок чтения заставили разработать новые и более трудоемкие методы их исправления. Большинство чипов используют метод, называемый программным декодированием, который заключается в многократном считывании одних и тех же ячеек памяти, чтобы свести к минимуму риск ошибок чтения. На заключительном этапе жизни продукта, из-за увеличения количества поврежденных областей памяти, что выражается в значительно большей частоте ошибок чтения, увеличивается количество повторений операций, а это снижает скорость чтения.
Влияние температуры окружающей среды
Большее количество ошибок может быть вызвано не только старением схемы, но и влиянием внешних факторов, в первую очередь температуры окружающей среды. Ситуации, в которых данные записывались на носитель при температуре отличной от той, которая имела место во время чтения, особенно опасны. Даже в обычном ноутбуке температура при работе может меняться на несколько десятков градусов, от комнатной (около 20°С) до температуры превышающей 60°С. Другие типы устройств, например автомобильные навигаторы, могут испытывать еще большие перепады температур. Современные Flash-технологии, такие как TLC, гораздо более восприимчивы к температурным колебаниям и возникновению различий в значении считываемого сигнала.
Поскольку TLC Flash обычно характеризуются более медленным временем доступа (записи и чтения), чем SLC, последние часто используются в качестве дополнительного элемента дискового оборудования SSD, позволяющего повысить его производительность. Контроллер памяти использует память SLC как своего рода буфер, позволяя ему собирать данные для дальнейшего размещения в более медленной памяти TLC. Это решение также может быть частично ответственно за снижение производительности диска со временем.
Температурная деградация параметров диска может быть связана с двумя факторами – температурой окружающей среды и температурой самого устройства, которая повышается в результате его нагрева во время работы. Выше представлен график роста температуры SSD с интерфейсом PCI Express в результате штатной работы устройства. Испытание проводили при комнатной температуре 25°С. Примерно через 95 секунд последовательной записи диск нагревается до температуры 70°C. После достижения определенного порогового значения срабатывало устройство, предохраняющее его от перегрева и снижающее скорость работы.
В общем представленное исследование показало что параметры, опубликованные в паспортах SSD, нельзя рассматривать как неизменный показатель их работоспособности и эффективности. На самом деле эти приводы способны поддерживать заявленные рабочие параметры не дольше нескольких десятков секунд непрерывной работы. Поэтому при планировании использования SSD устройств следует учитывать возможность существенного ухудшения скорости записи и чтения.