ВИСТ Санкт-Петербург

 

     +7(812)702-0808

     Прогрессивные
     компьютерные
     технологии

Россия, г. Санкт-Петербург,
Лиговский проспект дом 73

Офис: Пн - Пт  10:00-18:00
(812)
7020808 Схема проезда
Почтовый адрес: 196143,
 СПб, 
проспект Юрия Гагарина, д. 34

Главная Статьи Чем отличаются клиентские и серверные твердотельные диски

Чем отличаются клиентские и серверные твердотельные диски

В последнее время все чаще приходится сталкиваться с желанием заказчиков использовать клиентские (потребительские) твердотельные диски (SSD) в покупаемых у нас серверах и системах хранения данных (СХД). Если же для жестких дисков у большинства заказчиков, на собственном опыте, давно сформировалось понимание порочности аналогичной практики, то оказывается, что с SSD ситуация другая – не все сознают почему именно не стоит экономить, соблазняясь низкими ценами клиентских дисков. В этой статье рассмотрим подробно в чем же отличие потребительских твердотельных дисков от SSD корпоративного класса, и с какими рисками можно столкнуться, используя клиентские SSD в серверах и СХД. Сразу оговоримся, речь пойдет о массовых SSD построенных на основе NAND флеш памяти, а твердотельные диски на основе более дорогой энергонезависимой памяти 3D XPoint, такие, например, как Intel Optane SSD – это другая тема.

 

Многопользовательский режим работы

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

Клиентский SSD устанавливаемый в настольный ПК или ноутбук предполагает обслуживание одного пользователя, и даже если одновременно запущены несколько приложений, то нагрузка на SSD будет периодической, а в основном диск будет простаивать. И если на запрос пользователя ответ от SDD придет с секундной задержкой, то это либо просто не будет заметно, либо это не критично.

Серверы и СХД предназначены для одновременного обслуживания множества пользователей, поэтому даже небольшая задержка ответа на запрос от серверного SSD сделает работу с сервером как минимум затрудненной, а для сотен пользователей даже неприемлемой. Ниже на Картинке 1 показаны графики производительности SSD в IOPs (операции ввода вывода в секунду) при произвольном чтении 4 Кбайт блоков данных с различной глубиной очереди запросов QD равной 2, 4, 8, и 16. Слева график для клиентского SSD, а справа для серверного.

 

 

 

 

 

 

 

Картинка 1 Производительность IOPs у клиентского и серверного SSD ©Copyright Kingston

Обратите внимание насколько неравномерна и как резко «проседает» производительность клиентского SSD по мере увеличения глубины очереди запросов. При операциях записи картина аналогична.

Все дело в внутренней организации твердотельных накопителей, а точнее в их встроенных контроллерах. Контроллер SSD обращается к микросхемам флеш NAND памяти по определенному количеству каналов CH (channel) через их подканалы CE (chip enable). В канале с любой момент времени может работать только один подканал, и если хоть один подканал занят, то весь его канал ждет. Понятно, что чем больше каналов, тем больше одновременных запросов SSD способен обслужить без задержки.

CE подобен глубине очереди или ширине шины - чем больше подканалов, тем больше микросхем NAND канал SSD может брать в работу без задержек на дополнительную коммутацию. В некоторых дисках подканал подключают не к одному чипу NAND, а к двум, чтобы имитировать увеличение количества CE, но это значительно (за счет кэширования запросов меньше, чем в 2 раза) замедляет работу, т.к. для переадресации необходимо использовать внешний декодер.

В серверных SSD контроллеры оснащаются 8 - 16 каналами, каждый из которых имеет 16 - 64 подканалов, а в клиентских SSD лишь 2 - 4 канала с 4 - 8 подканалами. В этом одна из причин «проседания» производительности клиентских SSD в многопользовательской среде и более высокой цены у серверных SSD.

 

Кэширование в SSD

У NAND чипов флеш памяти интерфейс доступа NAND I/F работает с производительностью около 1200 MT/c (около 150 МБ/с). Скорость NAND I/F интерфейса производители SSD специально занижают, чтобы минимизировать количество ошибок при работе с многоуровневыми ячейками NAND. NAND I/F собственно и определяет скорость работы по одному каналу контроллера SSD.

Малое количество каналов и подканалов у клиентских SSD до некоторой степени компенсируется кэшированием, но пробовали ли вы записать на такой диск файл объем 8 - 16 ГБ? Если, да, то вы не могли не заметить, что после записи некоторого объема данных происходит резкое (в несколько раз) падение производительности, и до окончания записи файла диск удручающе медлителен. Это деградация происходит после наполнения небольшого по объему кэша SSD, а затем уже производительность определяется количеством каналов контроллера диска, которое у клиентских дисков малό.

Для большей эффективности, кэширование в SSD организуется в два уровня:

– небольшой по объему (мегабайты), но очень быстрый кэш на энергозависимой памяти DRAM;

– больший по объему (гигабайты) кэш на износостойкой, быстрой одноуровневой памяти SLC NAND.

Клиентские SSD могут совсем не иметь DRAM кэша, а объем SLC кэша у них обычно не превышает 8 ГБ. Для удешевления потребительских дисков нередко применяется псевдо SLC кэш – недорогие чипы многоуровневой TLC NAND со специальным программным обеспечением для ускорения работы, что разумеется дает меньшую производительность и время жизни диска.

SLC кэш бывает статический и динамический (DSLC). Объем статического кэша зависит от объема SSD и составляет около 1%, но, как правило, не превышает 8 ГБ. Например, для SSD объемом 480 ГБ статический SLC кэш составляет 4 ГБ. Статический SLC кэш от пользователя скрыт, работа с этой областью диска для пользователя невозможна.

В серверных SSD обычно применяют DSLC объемом до 24 ГБ. Если диск заполняется на 70%, то область динамического SLC кэша становится доступной для данных пользователя, но кэширование при этом будет прекращено.

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

Разумеется, клиентские SSD дешевле серверных за счет меньшего объема кэша и упрощенной организации кэширования.

 

Зашита кэша SSD от сбоев электропитания

Для значительного ускорения работы SSD в его быстрой энергозависимой памяти DRAM кэшируются таблицы (MAP mapping tables) с адресами размещения блоков и блоков их контрольных сумм ECC данных диска.

Картинка 2 Таблица размещения блоков и их контрольных сумм ECC ©Copyright 2016 John Wiley & Sons, Ltd.

Если во время работы в SSD количество изменений не превышает 10% от объема диска, то блоки файлов на диске не перемещаются, а лишь меняется их адресация в таблице MAP. Реальную перезапись блоков данных производит только операция «уборки мусора» - garbage collection.

При отключении электропитания все данные из DRAM будут потеряны, причем потеря изменений в таблицах с адресами размещения блоков может привести к полной потере данных SSD.

Защита DRAM кэша реализуется с помощью суперконденсаторов, которые за счет очень большой собственной емкости способны обеспечить электропитание внутри SSD в течение нескольких секунд после пропадания внешнего питания. Этого времени достаточно, чтобы переписать данные из DRAM кэша в энергонезависимые чипы NAND и сохранить целостность данных SSD.

В отличии от клиентских, для серверных SSD защита от сбоя электропитания является важным и необходимым компонентом, что и удорожает корпоративные твердотельные диски.

 

Уровень невосстановимых ошибок UBER

В сентябре 2010 года профильный комитет JEDEC принял стандарты: JESD218 и JESD219, в которых определены два отдельных класса SSD (клиентские и корпоративные) и прописаны требования к показателю уровня невосстановимых ошибок чтения - UBER для SSD каждого из этих классов.

UBER определяется как количество невосстановимых ошибок чтения диска после применения встроенного корректора ошибок, деленное на общее количество прочитанных бит данных, и в SSD зависит от типа и качества используемой NAND флеш памяти и способности контроллера диска корректировать ошибки.

 

Картинка 3 Определение UBER на сайте JEDEC ©Copyright JEDEC

По стандарту JEDEC разница этого показателя для клиентских и серверных SSD должна отличаться на порядок и не может быть хуже, чем 1 ошибка на 10^15 бит для клиентских и 1 ошибка на 10^16 бит для серверных SSD. То есть в клиентском SSD до получения невосстановимой ошибки чтения можно прочитать в 10 раз меньше данных, чем в серверном. В реальности же, коэффициент UBER может отличаться и в 100 раз! Так, например, для клиентского SSD Intel Pro 5450s (512 ГБ, 2,5”, SATA, 6 Гбит/с, 3D2, TLC)  уровень неустранимых битовых ошибок чтения (UBER) составляет <1 сектора на 10^15 бит, а для серверного SSD Intel P4510 (1 ТБ, 2,5”, PCIe* 3.1 x4, 3D2, TLC) уровень неустранимых битовых ошибок (UBER) всего 1 сектор на 10^17 бит.

Подробнее о неустранимых ошибках чтения и почему этот показатель особенно важен для дисков большого объема при объединении их в RAID массив читайте в этой статье  на нашем сайте.

 

Коррекция ошибок, WAF фактор и контроль данных

При чтении данных с чипов NAND из-за неточности в считывании значений уровня заряда в ячейках возникают ошибки. Количество ошибок характеризуется уровнем ошибок BER  равным числу ошибок, деленному на общее количество прочитанных бит данных. Значение BER зависит от типа флеш памяти:

- для однобитовых ячеек SLC – 1 ошибка на 10^9 бит, BER=10^-9.

- для двухбитовых ячеек MLC – 1 ошибка на 10^7 бит; BER=10^-7

- для трехбитовых ячеек TLC – 1 ошибка на 10^4 бит; BER=10^-4

Для четырехбитовых ячеек QLC ситуация еще хуже. Чтобы выполнить чтение из такой ячейки памяти необходимо распознать уже 16 уровней заряда (а не 8 уровней, как в TLC), что заметно повышает количество ошибок.

NAND память деградирует по мере роста количества циклов перезаписи ячеек и число ошибок чтения значительно возрастает. Эта зависимость показана на Картинке 4.

 

 Картинка 4 Зависимость BER для TLC NAND от количества перезаписей ячеек ©Copyright University of California   

В серверных SSD значение UBER в 10^17 бит достигается за счет использования более качественной NAND памяти и, что еще важнее, за счет более продвинутой технологии коррекции ошибок на основе контрольных сумм ECC.

В клиентских дисках механизмы коррекции ошибок контроллером SSD позволяют исправлять до 120 бит в блоках данных размером 2, 4 или 8 Кбайт, в то время как, серверные диски способны скорректировать до 160 бит на блоках в 1 Кбайт. Столь большая разница в эффективности коррекции связана с используемыми контроллерами SSD разными кодами коррекции ошибок.

В клиентских дисках достаточно применить легко реализуемую коррекцию ошибок на основе BCH кодов, а в серверных дисках контроллеры SSD используются мощные низкоплотные коды проверок на чётность семейства LDPС (Low Density Parity Check). Как видно на Картинке 5, применение кодов из семейства LDPC позволяет улучшить значение BER на несколько порядков по сравнению с кодами BCH.

 

Картинка 5 Разница в эффективности кодов BCH и LDPC для коррекции ошибок ©Copyright University of California   

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

Для контроля целостности данных серверные SSD каждые 24 часа могут проводить background scan - фоновую проверку корректности контрольных сумм ECC. Иногда производителями SSD реализуется проверка сумм ECC при каждом включении диска, в таком случае время задержки старта может составить 1-3 минуты.

В серверных SSD применяется более развитая система S.M.A.R.T. - технология самоконтроля, анализа и отчётности, которая позволяет отслеживать состояние SSD и заранее выявить проблемы с диском еще до их проявления в работе с запросами пользователя.

Например, через атрибуты S.M.A.R.T. можно отслеживать состояние такого параметра в SSD как WAF (Write amplification factor) – фактора увеличения объема записи, который показывает во сколько раз количество данных преданных для записи в SSD хостом (сервером или ПК) отличается от реального количества данных записанных во флеш память диска. Например, если сервер отправляет для записи на SSD 40 КБ данных, но при этом из-за особенностей процесса записи у SSD, в ячейки памяти диска производится запись 160 КБ, что в 4 раза больше, то фактор WAF в этом случае будет равен 4. Ситуация идеальна, если WAF=1, но такое состояние возможно лишь на новом SSD, пока диск не будет заполнен данными первый раз. В исходное состояние с WAF=1 диск возвращает и команда полного безопасного стирания данных Secure Erase.

Процесс записи в SSD, в отличии от жестких дисков, требует обязательного предварительного стирания всего блока данных (в многослойной памяти 3D NAND стираются все слои, если нужно стереть блок), который по объему может значительно превышать количество байт данных записываемых хостом на диск. Представим типовой блок данных SSD размером 128 КБ (64 страницы, каждая по 2КБ - 4 сектора 512байт, всего 256 секторов). Пусть все секторы этого блока заполнены данными, и требуется изменить лишь 4 КБ (8 секторов) из них. Тогда контроллер SSD будет выполнять следующие действия: сначала весь блок 128 КБ считывается из NAND и переписывается на новое место (лучше в DRAM кэш) и там меняется содержимое 8 секторов на нужные данные, затем весь 128 КБ блок в NAND памяти стирается и в него записываются из кэша все 128 КБ данных обновленного блока. Таким образом, при необходимости записи 4КБ производится запись 128КБ данных ---> WAF = 32. Аналогичная ситуация происходит, если при чтении данных обнаруживается сбой в секторе на странице памяти в блоке. Данные страницы возможно удастся вычислить корректором ошибок, ячейки страницы можно заменить из резервной области SSD и изменить метаданные в MAP, но при этом опять-таки придется перезаписывать весь 128 КБ блок.

Значение WAF при работе диска определяется на основе данных получаемых из атрибутов S.M.A.R.T. , как, например, это описано в этом документе, и резкое увеличение WAF при однотипной нагрузке может заранее предупредить о проблемах SSD.

Фактор WAF в клиентских SSD обычно значительно выше, чем в серверных дисках, где применяются специальные меры (о них чуть ниже - см. резервная область) для уменьшения WAF. Разумеется, значение WAF влияет на производительность и время отклика в SSD. Для получения реальных стабильных параметров работы рекомендуется перед началом использования SSD провести процесс, называемый предварительной подготовкой или preconditioning, т.е. полностью записать диск данными, чтобы WAF отличался от 1.

В клиентских SSD обычно представлены лишь минимальные функции S.M.A.R.T.

Вполне ожидаемо, что серверные SSD с развитыми функциям коррекции ошибок и контроля состояния стоят дороже.

 

Износостойкость TBW и DWPD

Стандарт JEDEC вводит и такую характеристику для SSD как Endurance Rating – уровень износостойкости, который показывает, на запись какого объема данных в течение всего срока службы рассчитан твердотельный диск. Дело в том, что количество перезаписей для ячеек NAND ограничено, т.к. каждый цикл перезаписи изнашивает ячейку. Износостойкостью стандарт называет общее количество байт - TBW (Total Bytes Written), которые можно записать на диск, и по нему сравнивают разные модели SSD.

Вернемся к упомянутым выше двум SSD от Intel. Для клиентского SSD Intel Pro 5450s (512 ГБ, 2,5”, SATA, 6 Гбит/с, 3D2, TLC)  доля значение TBW составляет 288 TБ, а для серверного SSD Intel серии P4510 (1 ТБ, 2,5”, PCIe* 3.1 x4, 3D2, TLC) TBW равняется 1,92 ПБ.

Вспомнив значение UBER для этих обоих дисков, мы придем к интересному выводу. При UBER равном 10^15 бит одна невосстановимая ошибка чтения произойдет при чтении объема данных 125 ТБ, а TBW для этого клиентского диска 288 ТБ. Таким образом, за время своего срока службы данный клиентский SSD практически неминуемо должен получить невосстановимые ошибки чтения.

Для указанного серверного диска при UBER равном 10^17 бит одна невосстановимая ошибка чтения произойдет при чтении объема данных 12,5 ПБ, а TBW равно 1,92 ПБ.

Вывод из этого сравнения SSD клиентского и SSD серверного классов очевиден.

Износостойкость SSD удобно измерять и в нестандартных единицах DWPD (Drive Writes per Day) равных количеству ежедневных перезаписей всего объема диска в течение 5 лет, которое приведет к полному износу SSD. Оба значения уровня износостойкости SSD связываются простой формулой:

DWPD = TBW [в TБ]/Емкость диска [в TБ]*(365 дней *5 лет)[в днях]

Для клиентских SSD типовое значение DWPD = 0,1-1, а для серверных SSD диапазон значений DWPD обычно от 1 до 10. Разница получается на порядок. Посмотрим значения DWPD на примерах:

Клиентский SSD Intel Pro 5450s (512 ГБ, 2,5”, SATA, 6 Гбит/с, 3D2, TLC) - DWPD = 0,308

Серверный SSD Intel P4510 (1 ТБ, 2,5”, PCIe* 3.1 x4, 3D2, TLC) - DWPD = 1,052

Серверный SSD Intel P4610 (1,6 ТБ, 2,5 дюйма, PCIe* 3.1 x4, 3D2, TLC) - DWPD = 4,195

Серверный SSD Intel D3700 (1,6 ТБ, 2,5 дюйма, PCIe* 3.0 2x2, 20 нм, MLC) - DWPD = 10

Серверные SSD с высоким значением DWPD предназначены для задач с интенсивной записью, они оптимальны как кэш в RAID контроллерах и СХД с жесткими дисками, и могут работать с такими программными приложениями, где клиентский SSD просто «умрет» через несколько дней.

 

Режим работы и срок хранения данных

Согласно стандартам JEDEC, клиентские SSD предназначены для работы в режиме 5/8 – по 8 часов 5 дней в неделю при температуре эксплуатации 40°C, а серверные в режиме 24/7 – 24 часа 7 дней в неделю при температуре эксплуатации 55°C.

Средняя продолжительность работы SSD до получения отказа (сбоя в работе) или значение MTBF составляет для серверных дисков 2 и более млн. часов, а для хороших клиентских 1,5-1,6 млн. часов. Высокое значение MTBF достигается за счет использования компонентов с повышенным уровнем надежности, что обеспечивает работоспособность SSD в расчетном режиме работы в течение всего срока службы. Исходя из этих сведений, ожидать, что клиентский SSD сможет проработать продолжительное время в сервере или СХД в режиме эксплуатации корпоративного SSD без сбоев было бы весьма опрометчиво.

Для характеристики SSD используется еще и такой параметр, как ожидаемый срок хранения данных на отключенном от электропитания диске, который принято называть Retention Use. Вообще, термин Data Retention – это изначально законодательно устанавливаемый срок хранения любых данных, но для SSD так называют срок, в пределах которого, данные на отключенном от питания диске сохраняют свою целостность. Деградация данных в лежащем на полке диске происходит из-за потери заряда в ячейках памяти NAND при постепенной утечки электронов во время продолжительного хранения SSD.

По стандартам JEDEC значение Retention Use (power off) должны быть для клиентских SSD не хуже, чем 12 месяцев при температуре 30°C, а для серверных не хуже, чем 3 месяца при температуре 40°C. Однако сроки хранения данных на выключенных дисках снижаются в конце жизни SDD, когда уже имеется большая наработка и прошло много циклов перезаписи. В этом случае клиентские SSD сохраняют данные в выключенном состоянии до 1 месяца при температуре хранения не более 40°C, а серверные до 2х месяцев при той же температуре хранения.

 

Интерфейсы в SSD

Еще одним преимуществом корпоративных SSD является наличие моделей дисков с SAS интерфейсом. Диски SATA ограничены производительностью 550-570 МБ/с, т.к. их интерфейс 6 Гбит/с не может «пропустить» больше. Интерфейс SAS версии 3 имеет производительность 12 Гбит/с, т.е. может обеспечить полосу шириной более 1 ГБ/с. Кроме того, наличие у SAS дисков 2х портов позволяет использовать их в конфигурациях с множественными путями доступа MPIO, а это особенно востребовано в СХД. Интерфейс SAS поддерживает глубину очередей до 256 команд, а в SATA глубина единственной очереди до 32 команд, что влияет на производительность. Аналогичные по объему и уровню износоустойчивости серверные SSD с интерфейсом SAS стоят дороже серверных дисков SATA, но разница в цене меньше, чем в 2 раза, при этом разница в производительности дисков более 2х раз.

И клиентские, и серверные SSD с интерфейсом PCIe NVMe SSD с не ограничены из-за его скорости, т.к. PCIe 3.0 x4 может «пропустить» до 3,94 ГБ/с. NVMe версии 1.3 поддерживает глубину очереди до 64К команд и имеет малую латентность. Но клиентские PCIe NVMe диски выпускаются лишь в формате M.2, что не позволяет их устанавливать в дисковые корзины, а также использовать для работы с аппаратными RAID контроллерами.

 

Резервная область SSD

Когда на SSD остается немного свободного места, начинает расти количество фоновых операций, что приводит к постепенному падению производительности, которая затем остается устойчиво низкой. Эта деградация особенно заметна для транзакционной производительности в IOPs. Для обеспечения стабильной производительности на весь срок службыи уменьшения влияния изношенных NAND ячеек в SSD используется технология over-provisioning или резервирование дискового пространства.

На диске выделяется специальная область с некоторым объемом резервных ячеек NAND памяти. Эта резервная область недоступна для пользователя и используется контроллером SSD как промежуточный буфер записи и как источник для замены сбойных ячеек NAND пользовательского объема. Для обеспечения стабильной производительности достаточно иметь резервную область в 28% от всего объема диска. Если же размер резервной области превышает это значение, то это лишь продолжает повышать DWPD диска и уменьшать его WAF фактор избыточной перезаписи.

 

Картинка 6 Зависимость WAF от размера резервной области over-provisioning ©Copyright QNAP

В серверных SSD объем резервной области значительно больше по сравнению с клиентскими дисками. Так, например, в SSD Kingston серверной серии DC500M резервная область составляет 33% от всего диска, и в модели SEDC500M3840G объемом 3,84 ТБ резервная область имеет объем более 1 ТБ.

Разумеется, это не может не сказаться на цене серверных SSD по сравнению с клиентскими.

 

Заключение

Несмотря на то, что термин QoS (quality of service) — качество обслуживания происходит из сетевых технологий и применяется при характеристике качества связи, его можно использовать и для оценки работы SSD.

Для корпоративных ИТ систем важнейшими параметрами являются стабильность воспринимаемой пользователем требуемой производительности и предсказуемость приемлемого времени ответа на запросы к системе.

Клиентские SSD изначально технологически не рассчитаны на работу серверах и СХД и не способны обеспечить требуемое качество обслуживания пользователей ИТ системы.

Невозможность предоставить постоянство производительности при нагрузке, непредсказуемые задержки по чтению и записи, высокий уровень невосстановимых ошибок, недостаточная износостойкость, отсутствие защиты от сбоев электропитания, слабость самодиагностики и неожиданные отказы при работе в режиме 24/7 — все это следствия меньшей стоимости клиентских дисков по сравнению с корпоративными SSD.

Рассматривая последствия разумного желания сэкономить, необходимо реально оценивать риски, которым будет подвергнута работа вашей корпоративной ИТ системы. Может оказаться, что потеря данных в клиентском SSD, который используется как серверный, обойдется намного дороже, чем разница в стоимости двух классов твердотельных дисков.

Надеюсь, что эта статья поможет сделать осознанный выбор для ваших задач.

 

Для получения дополнительной информации, пожалуйста, обращайтесь в наш отдел продаж.

Все указанные в этой статье торговые марки и наименования являются собственностью их соответствующих владельцев.

 

© Александр Матвеев, 2019  Этот адрес электронной почты защищен от спам-ботов. У вас должен быть включен JavaScript для просмотра.

директор по развитию бизнеса ООО «Вист СПб»

При перепечатке и использовании материала

указание авторства (Александр Матвеев, 2019)

и ссылка на источник (www.vist-spb.ru) обязательны.

 

Главная Статьи Чем отличаются клиентские и серверные твердотельные диски