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

Устройства хранения с флэш-памятью на твердотельных дисках (solid-state drive, SSD) ускоряют работу ноутбуков и серверов. В связи с вступлением организаций на путь цифровой трансформации и их стремлением использовать такие технологии, как искусственный интеллект, для лучшего понимания собираемых данных имеется спрос не только на системы хранения повышенной емкости, но и на все более быстрый доступ к данным.

Например, Total Gas & Power развернула системы хранения на базе флэш-памяти для ускорения работы приложений в ЦОДе, которые должны интегрироваться с облачными сервисами. Корпорация использовала гиперконвергированную инфраструктуру Nutanix и заменяет устройства хранения NetApp массивом хранения на базе флэш-памяти. «Мы приступили к масштабной интеграции», — сказал Доминик Мейдмент, архитектор технологии Total Gas & Power. Компания использует MuleSoft для управления API и отслеживает, как флэш-память справляется с гибридной интеграцией. «Доступ к данным в ЦОДе должен быть как можно более быстрым и легким», — пояснил Мейдмент.

Корпоративные СХД стали синонимом огромных массивов жестких дисков, вращающихся со скоростью в тысячи оборотов в минуту, с парящими над ними на высоте всего нескольких микрометров магнитными головками. Если головка соприкоснется с диском, могут быть потеряны данные. Флэш-память на SSD с использованием микросхем Nand избавлена от вращающихся дисков, поэтому должна быть более надежной, не так ли?

Проблема в том, что даже при очень высокой надежности флэш-памяти она все же не свободна от риска потери данных и требует специальных мер для их сохранности. Данные хранятся в виде блоков, которые записываются на страницы размером 4 Kб. Удаляются данные блоками по 256 Kб. Вроде бы все хорошо. Но еще в 2008 г. компания Jet Propulsion Labs (JPL) показала, что частота появления ошибок флэш-памяти возрастает, когда для записи и удаления данных постоянно используется один и тот же блок памяти.

Как поясняет Бен Гайтенстейн, вице-президент по управлению продуктами компании Qumulo, это означает, что после определенного количества перезаписей сектора флэш-памяти приходят в негодность. В результате запись на флэш-устройства можно произвести только определенное число раз, прежде чем оно «износится».

По данным JPL, во многих системах применяется выравнивание износа. Часто изменяемые данные переносятся из одного блока в другой, чтобы запись ни в один блок не производилась намного чаще, чем в другие.

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

В 2016 г. исследователи, изучавшие использование флэш-памяти в ЦОДах, предупредили, что в дни, когда используются флэш-диски, в большинстве случаев будет возникать по крайней мере одна поддающаяся исправлению ошибка.

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

Результаты изучения надежности флэш-СХД в ЦОДах представили в феврале 2016 г. доцент университета Торонто Бьянка Шрёдер и инженеры Google Рагхав Лагисетти и Ариф Мёрчант. Они оценивали надежность флэш-памяти в ЦОДах Google на протяжении шести лет. Авторы отметили, что замена флэш-памяти производится значительно реже, чем традиционных жестких дисков. Однако у флэш-памяти значительно выше доля не подлежащих исправлению ошибок.

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

В то же время ошибки записи редко бывают нетранспарентными. «В зависимости от модели у 1,5-2,5% дисков и в 1-4 из 10 тыс. дней, когда они использовались, происходили окончательные ошибки записи — неудачная операция записи не приводила к успеху даже после повторов», — утверждают исследователи.

Они пришли к заключению, что различие в частоте окончательных ошибок чтения и записи, возможно, связано с тем, что неудачная операция записи будет повторена в другой части диска. В отчете говорится: «Если ошибка чтения может быть вызвана всего несколькими ненадежными ячейкам на считываемой странице, окончательная ошибка записи указывает на масштабную проблему с оборудованием».

Исследование обнаружило, что до 80% накопителей создавали блоки с поврежденными данными, а у 2-7% выявлялись поврежденные микросхемы памяти Nand в течение первых четырех лет своего существования. Эти накопители, не располагающие механизмами пометки дефектных чипов, требуют ремонта или возврата производителю.

Передовые приемы позволяют SSD сохранять работоспособность пять лет и более

Как отмечает Алекс Макдональд, председатель совета директоров ассоциации Storage Networking Industry Association (SNIA) в регионе EMEA, первоначально Nand-флэш обладала плоской структурой. Каждая ячейка имела два уровня или один бит. Это была одноуровневая ячейка (SLC). Далее разработчики прошли через MLC (4 уровня, 2 бита), TLC (8 уровней, 3 бита), QLC (16 уровней, 4 бита) и повысили плотность, создав трехмерный набор ячеек.

Запись производится не в отдельную ячейку, а на страницу ячеек объемом около 4 Kб. На более высоком уровне несколько десятков страниц организованы в блоки. Прежде чем будет произведена запись на странице, блок следует очистить. Это называется циклом программирования/очистки (program/erase, P/E). Флэш-память может выдержать только определенное число циклов P/E.

Преимуществом технологий QLC и 3D является возможность создания устройств с высокой плотностью хранения. Устройства емкостью 32 Tб являются довольно обычным делом. В общем случае, чем больше битов хранится в ячейке, тем меньше циклов P/E можно произвести. Интересно, что эти ограничения не обязательно снижают практическую надежность флэш-памяти SSD Nand, поскольку имеется много способов ограничить потенциально ненадежные операции с отдельными ячейками.

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

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

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

Вывод гласит, что у 20-63% накопителей за первые четыре года эксплуатации возникает по крайней мере одна неустранимая ошибка, что делает такие ошибки наиболее часто встречающимися нетранспарентными ошибками этих устройств.

Еще до обнародования результатов обследования ЦОДов Google сотрудники университета Карнеги-Меллона и Facebook представили свой анализ надежности SSD на базе флэш-памяти. Они установили, что чем больше обмен данными с флэш-устройствами хранения по шине PCIe, тем больше энергии использует шина и тем выше температура SSD. А высокая температура приводит к повышенной частоте отказов. Но примечательно, что это происходит с SSD, которые не используют регулирование, снижающее скорость передачи данных.

Наиболее свежее исследование «The errors in flash-memory-based solid-state drives: analysis, mitigation, and recovery» опубликовано в 2018 г. компанией Seagate Technology, университетом Карнеги-Меллона и Швейцарской высшей технической школой Цюриха (ETH Zürich). В нем отмечается, что более высокая плотность хранения приводит к росту количества ошибок и отказов. «Когда лежащая в основе SSD флэш-память Nand масштабируется для увеличения плотности хранения, доля поврежденных битов от общего число считанных значительно возрастает, что, в свою очередь, сокращает срок жизни SSD», — предупреждают исследователи.

Несомненно, SSD более надежны, чем традиционные корпоративные дисковые массивы, которые к тому же дороги в обслуживании. «Традиционно, если вы хотели заменить диск в корпоративном массиве, требовалось, чтобы инженер, получающий 5 тыс. ф. ст. в день, прибыл на место и перенастроил массив с новым диском», — сказал Роб Трайб, старший директор Nutanix по инжинирингу систем.

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