Адаптация и оптимизация работы SSD накопителей на практике
СХД, СРК СХД, СРК

Иногда приходится сталкиваться с тем, что к крутящимся жестким дискам (HDD) относятся как к расходному материалу. Отчасти это верно, так как механический износ со временем приводит к их поломке. Но само перемагничивание диска при записи данных может происходить нескончаемое число раз.

Главная>СХД, СРК>Современный SSD — расходный материал
СХД, СРК Обзор

Современный SSD — расходный материал

Дата публикации:
21.06.2017
Посетителей:
268
Просмотров:
213
Время просмотра:
2.3

Авторы

Автор
Дмитрий Глушенок В прошлом - системный архитектор компании «Инфосистемы Джет»
Иногда приходится сталкиваться с тем, что к крутящимся жестким дискам (HDD) относятся как к расходному материалу. Отчасти это верно, так как механический износ со временем приводит к их поломке. Но само перемагничивание диска при записи данных может происходить нескончаемое число раз.

 

 

Казалось бы, твердотельные накопители (SSD), которые в своей работе не используют механизмов, имеют шансы на долгое время использования (как процессоры с памятью). Но нет – SSD с течением времени изнашиваются, причем степень их износа довольно легко измеряется. Рассмотрим подробнее технологию его работы.

Износ SSD

 

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

Рисунок 1. Образование заряда в затворе

Если научиться измерять заряд в плавающем затворе и принять его наличие за 1, а отсутствие за 0, мы получим способ хранения данных, известный как single-level cell (SLC) – один транзистор хранит 1 бит. При более точном измерении заряда в затворе можно хранить состояние уже не одного, а двух-трех бит в одном транзисторе. Эти способы хранения данных известны как multi-level cell (MLC) и triple-level cell (TLC) соответственно. Первый требует от измерителя различия четырех уровней заряда (22), а второй – уже восьми (23).

 

Все бы хорошо, но при записи новой информации (с предшествующим стиранием старой) свойства туннелируемого диэлектрика затвора постепенно ухудшаются – вследствие воздействия напряжения нарушается его структура. И в конечном счете это приводит к проводимости в диэлектрике и невозможности использования транзистора для хранения информации. В памяти типа SLC каждый транзистор выдерживает порядка 100 тысяч изменений заряда в затворе (записи данных), MLC – порядка 10 тысяч, а TLC порядка 200–500 (не тысяч!). Практически все современные SSD-накопители используют память типа MLC и TLC.

 

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

 

Адаптация к реальному использованию

 

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

 

Равномерность износа ячеек памяти

При постоянной перезаписи одного и того же логического блока (LBA) на SSD износ всех ячеек памяти будет более-менее равномерным. Это достигается записью по типу redirect-on-write – вместо изменения оригинальных данных новые данные записываются в наименее изношенный физический блок из числа свободных, после чего указатель физического расположения данных для LBA меняют на новый. Сами таблицы указателей при этом хранятся в оперативной памяти контроллера (от потери питания данные в ОЗУ защищаются суперконденсаторами).

 

Команды trim (SATA) и unmap (SAS)

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

 

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

 

При использовании trim/unmap высвобождается большой диапазон LBA, но в силу использования redirect-on-write высвобождаемые страницы могут располагаться во множестве блоков, не занимая их полностью. В итоге получаются блоки с «дырками», которые нельзя использовать для записи до момента их очистки (обычно она выполняется фоном и незаметна для приложения). А сама очистка тоже требует ресурсов – для каждого блока нужно прочитать занятые страницы, записать их в свободный блок и полностью стереть исходный блок. То есть помимо дополнительного износа накопителя использование trim/unmap также может приближать состояние SSD, известное как Write Cliff, когда все свободные страницы нуждаются в очистке и ее приходится проводить непосредственно в момент записи (сильно увеличивая время выполнения команд).

 

Обычно запаса резервных блоков на SSD хватает для обеспечения равномерного износа, и использование trim/unmap команд не требуется.

 

Over-provisioning

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

 

Характеристикой получившегося таким образом SSD является количество ежедневных перезаписей всего накопителя (drive writes per day – DWPD) в течение гарантийного срока. Например, внутри SSD емкостью 800 ГБ с гарантированной 10-кратной полной ежедневной перезаписью (DWPD 10) в течение 5 лет находится порядка 1200 ГБ флеш-памяти.

 

Эта же технология позволяет производителям представить накопитель одной внутренней емкости как целую линейку продуктов с разными внешними емкостями: read-intensive (0,1–0,5 DWPD), mixed use (3–5 DWPD) и write-intensive (10–25 DWPD). Причем в последнее время по мере увеличения емкостей SSD и их переклассификации из кэширующего уровня в уровень хранения отмечается тенденция снижения DWPD. Например, утилизация DWPD 3 для 6,4 ТБ накопителя требует круглосуточной записи на него со скоростью более 200 МБ/с (для сравнения – это предельные скорости работы HDD).

 

Коррекция возникающих ошибок

Подавляющее большинство ошибок чтения (BER), возникающих внутри SSD, автоматически исправляется кодами коррекции ошибок (ECC), для работы которых требуется дополнительное пространство хранения (от 0,2% для SLC до 5% для TLC). А на случай выхода из строя сразу множества ячеек одного чипа (с чем ECC не справится) записываемые данные хранятся в виде, подобном RAID5, между чипами. Это требует дополнительного пространства для хранения результатов XOR, но в то же время продлевает срок службы SSD, допуская постепенный выход из строя участков одного чипа. Все вместе позволяет гарантировать частоту некорректируемых ошибок (UBER), намного ниже таковой на HDD того же объема (порядка 1 на 1017 против 1 на 1015).

 

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

 

Бережное отношение к транзисторам

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

 

Старение данных

Заряд, накопленный в транзисторе, с течением времени самопроизвольно стекает. Время снижения заряда до границы изменения значения битов данных зависит от температуры и степени износа накопителя. При одинаковой температуре записи и хранения для изношенного накопителя время сохранности данных исчисляется лишь неделями, причем чем ниже температура записи и выше температура хранения, тем срок короче (таблица).

Таблица расчетного времени хранения данных на SSD класса Enterprise (недели), стандарт JEDEC № 218

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

 

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

 

Ресурсы закончились

В статистике S.M.A.R.T. для SSD есть счетчик, отвечающий за износ накопителя. На новых дисках он равен 100%, а порог износа, при котором срабатывает предупреждение, обычно составляет 2%. При достижении этим счетчиком значения 0% диск по-прежнему принимает команды записи, но гарантия производителя на этом заканчивается.

 

Интересное начинается при исчерпании резервных блоков – отключается защита данных (которая подобна RAID5), и блоки, используемые для хранения избыточности, высвобождаются под данные. После этого любая ошибка, которую не удалось исправить через ECC, будет доходить до приложения в виде некорректируемой (UBER резко увеличивается, но гарантия к этому моменту уже закончилась).

При выборе SSD, помимо емкости и производительности, особое внимание нужно уделять износостойкости (DWPD) и гарантийному сроку. Особенно для задач кэширования, в которых запись ведется практически непрерывно. Для того чтобы примерно понять, на какой класс накопителей ориентироваться, можно попробовать перевести планируемую нагрузку в среднюю скорость записи в течение суток. Далее, исходя из целевого объема SSD, можно вычислить требуемое количество DWPD. Пример такого расчета приведен на графике.

График-расчет DWPD для разных размеров накопителей

На случай изменения характера нагрузки и преждевременного исчерпания ресурсов SSD их износ следует отслеживать. Проблемой будет не внезапный выход из строя накопителя (обычно он участвует в RAID с избыточностью), а увеличение времени выполнения команд чтения/записи, что может привести к неприемлемой скорости работы приложения. Все современные диски позволяют отслеживать износ через интерфейс S.M.A.R.T. либо через служебные утилиты.

 

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

Уведомления об обновлении тем – в вашей почте

Замещать нельзя оставить. Часть 1

Долгое время ИТ-сфера в России развивалась без активного участия государства, инвестиции поступали только из частного капитала.

Комплексные решения от Hitachi Data Systems

В настоящее время при построении ИТ-инфраструктур большое внимание уделяется таким показателям, как эффективность использования ресурсов.

Как добиться единства противоположностей

Мы живем в мире, пронизанном идеями дуализма. Что первично – курица или яйцо?

«Большая вода»… «Большая руда»… Большие Данные!

Термин "Big Data" родился 4 сентября 2008 года с лёгкой руки журнала "Nature" и его редактора Клиффорда Линча (Clifford Lynch). В этот день вышел номер журнала "Nature" с темой номера "Большие Данные. Наука петабайтной эры" ("Science in the Petabyte era").

Практика применения решений HDS

Мы тесно сотрудничаем со многими производителями систем хранения данных, что позволяет объективно оценивать качество дисковых массивов разных вендоров.

Сети в облаках

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

Настоящий вычислительный центр

«Все! Надоело! Все эти пользователи, которые делают, что хотят, эти файловые сервера, которые расползлись по этажам и превратились в свалки мусора, а тут еще им Интернет подавай! Да они оттуда только вирусы будут тянуть, да картинки... ...

Как хранят и резервируют данные в 2021 г.

Как правильно управлять критичными данными и защититься от их потери? Основные технологии, применяемые для оптимизации времени восстановления при сбоях? Что умеют решения NetApp?

Виртуальные ленточные библиотеки. Мифы и реальность

Современные системы хранения данных (СХД) обеспечивают исключительно высокий уровень надежности хранения благодаря отказоустойчивой архитектуре оборудования, включающей в себя дублирование компонентов, поддержку механизмов RAID и т.д., а также за счет применения средств создания копий данных, моментальных снимков (snapshot) и репликации.

Спасибо!
Вы подписались на обновления наших статей
Предложить
авторский материал





    Спасибо!
    Вы подписались на обновления наших статей
    Подписаться
    на тему







      Спасибо!
      Вы подписались на обновления наших статей
      Оформить
      подписку на журнал







        Спасибо!
        Вы подписались на обновления наших статей
        Оформить
        подписку на новости







          Спасибо!
          Вы подписались на обновления наших статей
          Задать вопрос
          редактору








            Оставить заявку

            Мы всегда рады ответить на любые Ваши вопросы

            * Обязательные поля для заполнения

            Спасибо!

            Благодарим за обращение. Ваша заявка принята

            Наш специалист свяжется с Вами в течение рабочего дня