Так как твердотельные накопители, основанные на технологии флэш-памяти, становятся основным средством постоянного хранения информации в дата-центрах, важно осознавать, насколько они надежны. На сегодня проведено большое количество лабораторных исследований чипов флэш-памяти с использованием синтетических тестов, однако не хватает информации об их поведении в полевых условиях. Данная статья посвящена результатам широкомасштабного полевого исследования, охватывающего миллионы дней использования жестких приводов, 10 различных моделей твердотельных накопителей, различные технологии флэш-памяти (MLC, eMLC, SLC) и более 6 лет рабочей эксплуатации в дата-центрах Google.
![](https://habrastorage.org/r/w780q1/webt/gt/na/ju/gtnajuv7xgyjw8uwuz2gelztgzk.jpeg)
Мы изучили широкий спектр характеристик надежности этих устройств и пришли к ряду неожиданных выводов. Например, при износе накопителя коэффициент битовых ошибок (Raw Bit Error Rate, RBER) растет гораздо более медленными темпами, чем предполагает экспоненциальный показатель, и, что еще важнее, он не позволяет прогнозировать возникновение неисправляемых ошибок или других видов ошибок.
Широко используемая метрика UBER (коэффициент неисправляемых битовых ошибок) не является значимым показателем надежности, так как мы не увидели зависимости между количеством считываний и количество неисправляемых ошибок. Мы также не нашли доказательств, что в течение обычного срока службы твердотельного накопителя диски на основе одноуровневой архитектуры SLC более надежны, чем диски MLC. По сравнению с традиционными жесткими дисками, частота замены SSD-носителей на основе флэш-памяти значительно меньше, но зато они имеют более высокий уровень неисправляемых ошибок.
Популярность использования в дата-центрах твердотельных флэш-накопителей, созданных на основе технологии NAND, постоянно растет. Чем больше данных можно разместить на таком диске, тем больше сохранность и доступность информации зависит от надежности самого флэш-накопителя. И хотя преимущества производительности SSD по сравнению с HDD хорошо известны, характеристики отказов флэш-накопителей не достаточно изучены.
Данные, предоставляемые производителями флэш-памяти, содержат лишь расплывчатые гарантии, такие, как число циклов стирания до достижения полного износа устройства. Типичное понимание вопроса основано на исследованиях, которые изучают надежность flash-накопителей путем проведения контролируемых лабораторных экспериментов (например, ускоренных испытаний на долговечность). При этом используется небольшое количество устройств, отобранных случайным образом, для испытаний на воздействие синтетических рабочих нагрузок. Имеет место нехватка исследований, устанавливающих связь между результатами лабораторных испытаний и характеристиками надежности флэш-накопителей, которые эксплуатируются в реальных условиях.
В данной статье приводятся подробные результаты полевого исследования надежности флэш-накопителей, полученные на основе данных, собранных за 6 лет их эксплуатации в дата-центрах Google. Эти данные охватывают миллионы дней эксплуатации дисков (точное количество дисков и использующих их устройств является конфиденциальной информацией Google, поэтому мы не можем предоставить точные цифры. Однако мы имели возможность убедиться в статистической значимости предоставленных нам данных), десять разных моделей флэш-накопителей, различные flash-технологии (MLC, eMLC и SLC) с технологией чипов от 24 до 50 нм.
Мы использовали эти данные, чтобы обеспечить лучшее понимание эксплуатационной надежности флэш-памяти. В частности, мы проанализировали такие аспекты надежности устройств:
Мы убедились, что наш анализ раскрывает ряд аспектов надежности флэш-памяти в полевых условиях, которые отличаются от выводов, сделанных в предыдущих работах. Надеемся, что наш труд послужит стимулом для проведения дальнейших исследований в этой области.
![](https://habrastorage.org/r/w780q1/webt/2i/ss/wd/2isswdqurko6r3blfhct6cd60bw.jpeg)
Табл. 1. Характеристики модулей, принимавших участие в полевых испытаниях.
В нашем исследовании принимали участие серийные высокопроизводительные SSD-приводы, созданные на основе промышленно производимых флэш-чипов, но мы использовали кастомный интерфейс PCIe, кастомную прошивку и драйвер. Мы сосредоточились на 2 поколениях приводов, где все приводы одного поколения используют один и тот же драйвер устройства и одну и ту же прошивку. Это означает, что они также используют одинаковые коды исправления ошибок (ECC) для обнаружения и исправления поврежденных битов и одинаковые алгоритмы определения степени износа. Основное различие между моделями приводов одинакового поколения – это используемый тип чипов памяти.
Наше исследование было сфокусировано на 10 моделях дисков, основные характеристики которых приведены в Таблице 1. Мы выбрали модели четырех производителей, каждая из которых отработала несколько миллионов дней, использующих три наиболее распространенных типа флэш-памяти (MLC, SLC, eMLC).
Мы использовали данные ежедневного мониторинга работы флэш-приводов в полевых условиях на протяжение 6-летнего периода эксплуатации. Кроме того, ежедневно производился подсчет различных типов ошибок, составлялись статистические данные о рабочей нагрузке, в том числе и о количестве операций записи и стирания, а также подсчитывалось количество поврежденных блоков (bad blocks), возникающих на протяжении дня. Количество операций чтения, записи и стирания включало в себя как число пользовательских операций, так и число внутренних служебных операций по «сбору мусора». Использовались также записи, фиксирующие случаи выхода чипов из строя, а также случаи ремонта или замены SSD.
Начнем с некоторых базовых статистических данных о частоте возникновения различных типов ошибок в полевых условиях. Мы выделяем прозрачные ошибки, незаметные пользователю, и непрозрачные ошибки, которые приводят к сбою операций пользователя. Драйвер flash- накопителя выдает сообщения о следующих типах прозрачных ошибок:
Исправляемая ошибка Correctable error: во время операции чтения обнаруженная ошибка исправляется встроенной функцией коррекции ошибок ECC.
Устройства сообщают также о следующих типах непрозрачных ошибок:
Неисправляемые ошибки включают в себя ошибки, которые были обнаружены во время инициированных пользователем операций или внутренних операций по сборке мусора, в то время как окончательные ошибки чтения включают в себя ошибки, возникшие во время операций пользователя.
Обратите внимание, что ошибки различаются по степени серьезности оказываемого влияния. Помимо различия между прозрачными и непрозрачными ошибками, изменяется серьезность самих непрозрачных ошибок. В частности, некоторые из этих ошибок (окончательная ошибка чтения, неисправимая ошибка, мета-ошибка) приводят к потере данных, если в системе нет избыточности на более высоких уровнях, поскольку диск не может предоставить пользователю принятые на хранение данные.
Мы рассматривали только диски, которые были запущены в производство минимум 4 года назад (диски eMLC были выпущены 3 года назад, так как это более новый тип флэш-накопителей), и ошибки, которые возникали в течение первых 4-х лет эксплуатации. В Таблице 2 приведена доля дисков каждой модели, подверженных различным типам ошибок, если эти ошибки случались хотя бы 1 раз (верхняя половина таблицы), и доля дней эксплуатации, в течение которых приводы были подвержены ошибкам определенного типа (нижняя половина таблицы).
![](https://habrastorage.org/r/w780q1/webt/qw/ov/w-/qwovw-skhzjledh7gczcthi8ong.jpeg)
Табл. 2. Распространенность различных типов ошибок. В верхней половине таблицы указана доля дисков, на которые ошибки оказали влияние, в нижней половине – доля дней эксплуатации дисков, в течение которых происходили ошибки различного типа.
Мы считаем, что наиболее распространенными непрозрачными ошибками являются окончательные ошибки чтения, т. е. ошибки, которые не могут быть исправлены повторной операцией чтения. В зависимости от модели накопителя, по крайней мере у 20-63% устройств такая ошибка возникала в течение 2-6 дней из 1000 дней эксплуатации дисков.
Мы пришли к выводу, что количество окончательных ошибок чтения сильно взаимосвязано с количеством неисправляемых ошибок и что эти окончательные ошибки чтения случаются исключительно из-за того, что повреждение битов не может исправлено с помощью ECC. Для всех моделей дисков окончательные ошибки чтения возникают на 2 порядка чаще (если ориентироваться на количество дней эксплуатации дисков, когда происходили эти ошибки), чем любой другой тип непрозрачных ошибок.
В отличие от ошибок чтения, ошибки записи редко превращаются в непрозрачные ошибки. В зависимости от модели, всего у 1,5-2,5% дисков в течение 1-4 дней из 10000 дней эксплуатации возникала окончательная ошибка записи, т.е. неудачная операция записи, которая не исправлялась после повторных попыток. Такая разница в частоте окончательных ошибок чтения и записи, вероятно, объясняется тем, что неудавшаяся операция записи просто исправлялась записью в другое место диска в область с неповрежденными битами. Таким образом, если неудача операции чтения может быть вызвана только наличием нескольких поврежденных битов, окончательная ошибка записи указывает на более масштабную аппаратную проблему.
Мета-ошибки происходят с частотой, сопоставимой с частотой возникновения ошибок записи, но опять же гораздо реже, чем окончательные ошибки чтения. Это не удивительно, учитывая, что диск содержит гораздо меньше метаданных, чем объем реальных данных, что снижает частоту возникновения ошибки доступа к метаданным. Другие непрозрачные ошибки (ошибки тайм-аута и ошибки ответа) достаточно редки и, как правило, затрагивают менее 1% дисков в течение 1 дня из 100 000 дней эксплуатации дисков.
Не удивительно, что исправляемые ошибки являются наиболее распространенным типом прозрачной ошибки. Практически все приводы имеют, по крайней мере, несколько исправляемых ошибок, которые случаются на протяжение большинства дней эксплуатации дисков (61-90%). Более подробно исправляемые ошибки, включая исследование коэффициента битовых ошибок (RBER), рассмотрены в разделе 4 данной статьи.
Следующие наиболее распространенные прозрачные типы ошибок – это ошибки записи и стирания. Обычно они возникают у 6-10% дисков, но для некоторых моделей SSD достигают целых 40-68%. В большинстве случаев такие ошибки имеют место менее чем 5 дней из 10 000 дней эксплуатации. Согласно нашему исследованию, ошибки записи и стирания свидетельствуют о повреждении блока, подробно этот вопрос рассматривается в разделе 6.
Ошибки, возникающие во время операций чтения, встречаются реже прозрачных ошибок, вероятно, потому, что не считая исправления ошибок «на лету» с помощью ECC, данная проблема не исправляется повторными операциями. Неполные ошибки чтения, т. е. ошибки чтения, которые могут быть исправлены с помощью повторных попыток, имеют место менее чем у 2% приводов и продолжаются меньше чем 2-8 дней из 100000 дней эксплуатации дисков.
В итоге, помимо исправляемых ошибок, которые происходят в большом количестве дней эксплуатации дисков, прозрачные ошибки происходят реже по сравнению со всеми типами непрозрачных ошибок. Наиболее распространенным типом непрозрачных ошибок являются неисправляемые ошибки, которые случаются на протяжении 2-6 дней из 1000 дней эксплуатации дисков.
Стандартная метрика, предназначенная для оценки надежности флэш-накопителей – это коэффициент битовых ошибок (RBER) диска, определяемый как отношение числа поврежденных битов к числу прочитанных битов (включая случаи как исправляемых, так и неисправляемых ошибок).
Второе поколение приводов (модели eMLC-A и eMLC-B) предоставляет точное количество поврежденных битов и прочтенных битов, позволяя нам определить RBER с высокой точностью.
Первое поколение приводов сообщает точное количество прочитанных битов, но для каждой страницы, состоящей из 16 блоков данных, предоставляется отчет о количестве поврежденных битов только того блока данных, который имел наибольшее количество поврежденных битов. В результате этого в наихудшем статистическом случае, когда все блоки содержат ошибки и число этих ошибок одинаково, коэффициент RBER может быть в 16 раз выше коэффициента, полученного на основании отчета о состоянии диска.
Данная проблема не имеет большого значения, пока сравнение производится между дисками одного и того же поколения, но её следует учесть при сравнении дисков различных поколений.
![](https://habrastorage.org/r/w780q1/webt/sh/5k/6k/sh5k6kimq1yuhuxe-uyi_wa6hto.jpeg)
Табл. 3. Сводный коэффициент битовых ошибок RBER для различных моделей SSD.
В Таблице 3 приведено медианное значение RBER для каждой модели привода для всех дисков данной модели, а также представлен 95 и 99-й процентиль. Мы решили работать с медианами и процентилями, поскольку находим усредненные показатели сильно предвзятыми из-за нескольких резко выделяющихся значений, что затрудняет выявление каких-либо тенденций.
Мы наблюдаем большие различия в RBER у разных моделей дисков, начиная от 5.8е-10 до более чем 3е-08 для приводов первого поколения. Эти различия еще больше при рассмотрении не медианного значения RBER, а 95-го или 99-го процентиля. Например, 99-й процентиль RBER колеблется от 2.2e-08 для модели SLC — B до 2.7e-05 для модели MLC-D. Даже внутри линейки приводов одной и той же модели есть большие различия: RBER привода в 99-м процентиле имеет тенденцию быть по крайней мере на порядок больше, чем медианный RBER привода той же модели.
Разница RBER между моделями может быть частично объяснена различиями в базовой flash-технологии. Значение RBER для моделей MLC выше, чем для SLC-моделей, поэтому более высокая цена моделей SLC учитывает более низкое значение RBER. В разделе 5 данной статьи мы увидим, как эти различия преобразуются в различия непрозрачных ошибок, видимых пользователю.
Модели eMLC сообщают о RBER, который на несколько порядков превышают этот коэффициент у других моделей приводов. Даже принимая во внимание, что RBER приводов первого поколения в худшем случае могут быть в 16 раз выше, существующая разница значений коэффициентов на порядок больше. Мы предполагаем, что здесь имеет место фактор размера, поскольку две модели eMLC имеют чипы с наименьшей микроэлектронной литографией по сравнению со всеми другими моделями приводов.
Наконец, нет ни одного производителя, продукция которого обладает преимуществами по сравнению с продукцией других производителей. В рамках группы дисков SLC и eMLC один и тот же вендор производит как одну из худших, так и одну из лучших моделей в группе.
В целом, RBER сильно варьируется в разных моделях дисков, а также между SDD одной и той же модели. Это мотивирует нас к дальнейшему изучению факторов, оказывающих влияние на RBER.
В этом разделе мы рассмотрим влияние на RBER ряда факторов:
Мы изучали влияние каждого фактора на RBER двумя разными способами. Мы использовали наглядные визуальные данные путем построения графика влияния факторов на RBER и исследовали количественные показатели влияния, используя коэффициент корреляции. Мы использовали коэффициент ранговой корреляции Спирмена, поскольку он может охватывать монотонные нелинейные отношения в непараметрических методах, в отличие от, например, коэффициента корреляции Пирсона.
Прежде чем подробно анализировать отдельные факторы, мы составили сводный график, изображенный на Рисунке 1.
![](https://habrastorage.org/r/w780q1/webt/sd/kn/if/sdknifzlw_lcyupbswwb5hin4by.jpeg)
Рис. 1. Зависимость коэффициента ранговой корреляции Спирмена между значением RBER в течение месяца эксплуатации дисков, и другими факторами.
Здесь показана зависимость коэффициента ранговой корреляции Спирмена между значением RBER в течение месяца эксплуатации дисков и такими факторами, как число предыдущих циклов PE, число операций чтения, операций записи или стирания в этом месяце, значение RBER в предыдущем месяце и количество неисправимых ошибок (UE) в предыдущем месяце. Значение коэффициента ранговой корреляции Спирмена может варьироваться от -1 (сильная отрицательная корреляция) до +1 (сильная положительная корреляция).
Каждая группа меток показывает коэффициенты корреляции между RBER и одним конкретным фактором (см. расшифровку по оси X), а различные метки в каждой группе соответствуют различным моделям привода. Все коэффициенты корреляции заслуживают более чем 95% степени доверия.
Мы убедились, что все факторы, кроме возникновения неисправимых ошибок в предыдущем месяце, показывают четкую зависимость с RBER, по крайней мере, для некоторых моделей. Мы также обратили внимание на то, что некоторые из этих зависимостей могут быть ложными, поскольку некоторые факторы могут коррелировать друг с другом, поэтому более подробно исследовали каждый фактор в следующем подразделе.
Так как выносливость ячейки флеш-памяти ограничена, коэффициент RBER возрастает с увеличением циклов Program/Erase (PE). Высокие коэффициенты корреляции между RBER и циклами PE на Рисунке 2 доказывают их взаимосвязь.
![](https://habrastorage.org/r/w780q1/webt/xb/4q/it/xb4qitbcx964-ywh-xbjs9m2i94.jpeg)
Рис. 2. Зависимость медианного и 95-и процентильного RBER от количества циклов РЕ.
Рисунок 2 позволяет более подробно изучить зависимость медианного и 95-и процентильного RBER от количества циклов РЕ. Мы получили эти графики путем деления всех дней привода по нашим данным в различных контейнерах, основываясь на подсчете их циклов PE, а затем определили медиану и 95-й процентиль RBER через все эксплуатационные дни в контейнере.
Как и ожидалось, мы убедились, что RBER растет с увеличением количества циклов PE как с точки зрения медианы, так и 95-го процентиля RBER. Однако темпы роста медленнее, чем обычно предполагаемый экспоненциальный рост, и больше напоминают линейное увеличение. Мы проверили это наблюдение через построение кривой: мы приспосабливали линейную модель и экспоненциальную модель к данным и нашли, что линейная модель подходит лучше, чем экспоненциальная.
Второе интересное наблюдение заключается в том, что коэффициенты RBER по износу значительно различаются у разных моделей дисков, даже у тех моделей, которые имеют очень похожие значения RBER для малых циклов PE. Например, четыре модели MLC запускались с почти идентичным RBER на очень малых циклах PE, но к тому времени, как они достигали предельного значения цикла PE (3,000 для всех моделей MLC), возникала 4-х кратная разница между моделью с самым высоким и самым низким RBER.
Наконец, мы обнаружили, что увеличение RBER происходит удивительно плавно, даже когда диск пересекает линию ожидаемого конца жизни (см., например, модель MLC-D с предельным циклом PE = 3000). Отметим, что ускоренные испытания на долговечность показали стремительное увеличение RBER лишь после достижения 3-х кратного предела цикла PE, установленного производителем устройства, из чего следует, что вендоры очень консервативно подходят к выбору лимита циклов PE.
Продолжение будет тут…
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?
![](https://habrastorage.org/webt/gt/na/ju/gtnajuv7xgyjw8uwuz2gelztgzk.jpeg)
Мы изучили широкий спектр характеристик надежности этих устройств и пришли к ряду неожиданных выводов. Например, при износе накопителя коэффициент битовых ошибок (Raw Bit Error Rate, RBER) растет гораздо более медленными темпами, чем предполагает экспоненциальный показатель, и, что еще важнее, он не позволяет прогнозировать возникновение неисправляемых ошибок или других видов ошибок.
Широко используемая метрика UBER (коэффициент неисправляемых битовых ошибок) не является значимым показателем надежности, так как мы не увидели зависимости между количеством считываний и количество неисправляемых ошибок. Мы также не нашли доказательств, что в течение обычного срока службы твердотельного накопителя диски на основе одноуровневой архитектуры SLC более надежны, чем диски MLC. По сравнению с традиционными жесткими дисками, частота замены SSD-носителей на основе флэш-памяти значительно меньше, но зато они имеют более высокий уровень неисправляемых ошибок.
1. Введение
Популярность использования в дата-центрах твердотельных флэш-накопителей, созданных на основе технологии NAND, постоянно растет. Чем больше данных можно разместить на таком диске, тем больше сохранность и доступность информации зависит от надежности самого флэш-накопителя. И хотя преимущества производительности SSD по сравнению с HDD хорошо известны, характеристики отказов флэш-накопителей не достаточно изучены.
Данные, предоставляемые производителями флэш-памяти, содержат лишь расплывчатые гарантии, такие, как число циклов стирания до достижения полного износа устройства. Типичное понимание вопроса основано на исследованиях, которые изучают надежность flash-накопителей путем проведения контролируемых лабораторных экспериментов (например, ускоренных испытаний на долговечность). При этом используется небольшое количество устройств, отобранных случайным образом, для испытаний на воздействие синтетических рабочих нагрузок. Имеет место нехватка исследований, устанавливающих связь между результатами лабораторных испытаний и характеристиками надежности флэш-накопителей, которые эксплуатируются в реальных условиях.
В данной статье приводятся подробные результаты полевого исследования надежности флэш-накопителей, полученные на основе данных, собранных за 6 лет их эксплуатации в дата-центрах Google. Эти данные охватывают миллионы дней эксплуатации дисков (точное количество дисков и использующих их устройств является конфиденциальной информацией Google, поэтому мы не можем предоставить точные цифры. Однако мы имели возможность убедиться в статистической значимости предоставленных нам данных), десять разных моделей флэш-накопителей, различные flash-технологии (MLC, eMLC и SLC) с технологией чипов от 24 до 50 нм.
Мы использовали эти данные, чтобы обеспечить лучшее понимание эксплуатационной надежности флэш-памяти. В частности, мы проанализировали такие аспекты надежности устройств:
- Различные типы ошибок, возникающих во flash-памяти и частота их возникновения в полевых условиях (раздел 3).
- Коэффициент битовых ошибок (RBER), влияние на него таких факторов, как износ, возраст накопителя и рабочая нагрузка, а также связь RBER с другими типами ошибок (раздел 4).
- Неисправляемые ошибки, их частота и влияние на них различных факторов (раздел 5).
- Полевые характеристики различных видов сбоев оборудования, включая комплексные сбои, сбои чипов и частота случаев ремонта и замены дисков (раздел 6).
- 5. Сравнение надежности различных технологий flash (MLC, eMLC, SLC диски) (раздел 7) и сравнение надежности SSD и HDD (раздел 8).
Мы убедились, что наш анализ раскрывает ряд аспектов надежности флэш-памяти в полевых условиях, которые отличаются от выводов, сделанных в предыдущих работах. Надеемся, что наш труд послужит стимулом для проведения дальнейших исследований в этой области.
![](https://habrastorage.org/webt/2i/ss/wd/2isswdqurko6r3blfhct6cd60bw.jpeg)
Табл. 1. Характеристики модулей, принимавших участие в полевых испытаниях.
2. Справочная информация о данных и системах
2.1. Флэш-накопители
В нашем исследовании принимали участие серийные высокопроизводительные SSD-приводы, созданные на основе промышленно производимых флэш-чипов, но мы использовали кастомный интерфейс PCIe, кастомную прошивку и драйвер. Мы сосредоточились на 2 поколениях приводов, где все приводы одного поколения используют один и тот же драйвер устройства и одну и ту же прошивку. Это означает, что они также используют одинаковые коды исправления ошибок (ECC) для обнаружения и исправления поврежденных битов и одинаковые алгоритмы определения степени износа. Основное различие между моделями приводов одинакового поколения – это используемый тип чипов памяти.
Наше исследование было сфокусировано на 10 моделях дисков, основные характеристики которых приведены в Таблице 1. Мы выбрали модели четырех производителей, каждая из которых отработала несколько миллионов дней, использующих три наиболее распространенных типа флэш-памяти (MLC, SLC, eMLC).
2.2. Использованные данные
Мы использовали данные ежедневного мониторинга работы флэш-приводов в полевых условиях на протяжение 6-летнего периода эксплуатации. Кроме того, ежедневно производился подсчет различных типов ошибок, составлялись статистические данные о рабочей нагрузке, в том числе и о количестве операций записи и стирания, а также подсчитывалось количество поврежденных блоков (bad blocks), возникающих на протяжении дня. Количество операций чтения, записи и стирания включало в себя как число пользовательских операций, так и число внутренних служебных операций по «сбору мусора». Использовались также записи, фиксирующие случаи выхода чипов из строя, а также случаи ремонта или замены SSD.
3. Распространенность различных типов ошибок
Начнем с некоторых базовых статистических данных о частоте возникновения различных типов ошибок в полевых условиях. Мы выделяем прозрачные ошибки, незаметные пользователю, и непрозрачные ошибки, которые приводят к сбою операций пользователя. Драйвер flash- накопителя выдает сообщения о следующих типах прозрачных ошибок:
Исправляемая ошибка Correctable error: во время операции чтения обнаруженная ошибка исправляется встроенной функцией коррекции ошибок ECC.
- Ошибка чтения Read error: ошибка, возникающая в процессе чтения (для памяти без коррекции ошибок non-ECC), исправляемая при повторном чтении;
- Ошибка записи Write error: ошибка операция записи, которая завершается успешно после повторной попытки.
- Ошибка стирания Erase error: операция стирания в блоке завершается неудачно.
Устройства сообщают также о следующих типах непрозрачных ошибок:
- Неисправляемая ошибка Uncorrectable error: во время операции возникают больше поврежденных битов, чем может исправить ECC.
- Окончательная ошибка чтения Final read error: ошибка, возникшая при чтении, не исправляется при повторных попытках;
- Окончательная ошибка записи Final write error: ошибка, возникшая при записи, не исправляется при повторных попытках;
- Мета-ошибка Meta-error: ошибка доступа к внутренним метаданным диска.
- Ошибка тайм-аута Timeout error: операция прерывается через 3 секунды.
Неисправляемые ошибки включают в себя ошибки, которые были обнаружены во время инициированных пользователем операций или внутренних операций по сборке мусора, в то время как окончательные ошибки чтения включают в себя ошибки, возникшие во время операций пользователя.
Обратите внимание, что ошибки различаются по степени серьезности оказываемого влияния. Помимо различия между прозрачными и непрозрачными ошибками, изменяется серьезность самих непрозрачных ошибок. В частности, некоторые из этих ошибок (окончательная ошибка чтения, неисправимая ошибка, мета-ошибка) приводят к потере данных, если в системе нет избыточности на более высоких уровнях, поскольку диск не может предоставить пользователю принятые на хранение данные.
Мы рассматривали только диски, которые были запущены в производство минимум 4 года назад (диски eMLC были выпущены 3 года назад, так как это более новый тип флэш-накопителей), и ошибки, которые возникали в течение первых 4-х лет эксплуатации. В Таблице 2 приведена доля дисков каждой модели, подверженных различным типам ошибок, если эти ошибки случались хотя бы 1 раз (верхняя половина таблицы), и доля дней эксплуатации, в течение которых приводы были подвержены ошибкам определенного типа (нижняя половина таблицы).
![](https://habrastorage.org/webt/qw/ov/w-/qwovw-skhzjledh7gczcthi8ong.jpeg)
Табл. 2. Распространенность различных типов ошибок. В верхней половине таблицы указана доля дисков, на которые ошибки оказали влияние, в нижней половине – доля дней эксплуатации дисков, в течение которых происходили ошибки различного типа.
3.1. Непрозрачные ошибки
Мы считаем, что наиболее распространенными непрозрачными ошибками являются окончательные ошибки чтения, т. е. ошибки, которые не могут быть исправлены повторной операцией чтения. В зависимости от модели накопителя, по крайней мере у 20-63% устройств такая ошибка возникала в течение 2-6 дней из 1000 дней эксплуатации дисков.
Мы пришли к выводу, что количество окончательных ошибок чтения сильно взаимосвязано с количеством неисправляемых ошибок и что эти окончательные ошибки чтения случаются исключительно из-за того, что повреждение битов не может исправлено с помощью ECC. Для всех моделей дисков окончательные ошибки чтения возникают на 2 порядка чаще (если ориентироваться на количество дней эксплуатации дисков, когда происходили эти ошибки), чем любой другой тип непрозрачных ошибок.
В отличие от ошибок чтения, ошибки записи редко превращаются в непрозрачные ошибки. В зависимости от модели, всего у 1,5-2,5% дисков в течение 1-4 дней из 10000 дней эксплуатации возникала окончательная ошибка записи, т.е. неудачная операция записи, которая не исправлялась после повторных попыток. Такая разница в частоте окончательных ошибок чтения и записи, вероятно, объясняется тем, что неудавшаяся операция записи просто исправлялась записью в другое место диска в область с неповрежденными битами. Таким образом, если неудача операции чтения может быть вызвана только наличием нескольких поврежденных битов, окончательная ошибка записи указывает на более масштабную аппаратную проблему.
Мета-ошибки происходят с частотой, сопоставимой с частотой возникновения ошибок записи, но опять же гораздо реже, чем окончательные ошибки чтения. Это не удивительно, учитывая, что диск содержит гораздо меньше метаданных, чем объем реальных данных, что снижает частоту возникновения ошибки доступа к метаданным. Другие непрозрачные ошибки (ошибки тайм-аута и ошибки ответа) достаточно редки и, как правило, затрагивают менее 1% дисков в течение 1 дня из 100 000 дней эксплуатации дисков.
3.2. Прозрачные ошибки
Не удивительно, что исправляемые ошибки являются наиболее распространенным типом прозрачной ошибки. Практически все приводы имеют, по крайней мере, несколько исправляемых ошибок, которые случаются на протяжение большинства дней эксплуатации дисков (61-90%). Более подробно исправляемые ошибки, включая исследование коэффициента битовых ошибок (RBER), рассмотрены в разделе 4 данной статьи.
Следующие наиболее распространенные прозрачные типы ошибок – это ошибки записи и стирания. Обычно они возникают у 6-10% дисков, но для некоторых моделей SSD достигают целых 40-68%. В большинстве случаев такие ошибки имеют место менее чем 5 дней из 10 000 дней эксплуатации. Согласно нашему исследованию, ошибки записи и стирания свидетельствуют о повреждении блока, подробно этот вопрос рассматривается в разделе 6.
Ошибки, возникающие во время операций чтения, встречаются реже прозрачных ошибок, вероятно, потому, что не считая исправления ошибок «на лету» с помощью ECC, данная проблема не исправляется повторными операциями. Неполные ошибки чтения, т. е. ошибки чтения, которые могут быть исправлены с помощью повторных попыток, имеют место менее чем у 2% приводов и продолжаются меньше чем 2-8 дней из 100000 дней эксплуатации дисков.
В итоге, помимо исправляемых ошибок, которые происходят в большом количестве дней эксплуатации дисков, прозрачные ошибки происходят реже по сравнению со всеми типами непрозрачных ошибок. Наиболее распространенным типом непрозрачных ошибок являются неисправляемые ошибки, которые случаются на протяжении 2-6 дней из 1000 дней эксплуатации дисков.
4. Коэффициент битовых ошибок (RBER)
Стандартная метрика, предназначенная для оценки надежности флэш-накопителей – это коэффициент битовых ошибок (RBER) диска, определяемый как отношение числа поврежденных битов к числу прочитанных битов (включая случаи как исправляемых, так и неисправляемых ошибок).
Второе поколение приводов (модели eMLC-A и eMLC-B) предоставляет точное количество поврежденных битов и прочтенных битов, позволяя нам определить RBER с высокой точностью.
Первое поколение приводов сообщает точное количество прочитанных битов, но для каждой страницы, состоящей из 16 блоков данных, предоставляется отчет о количестве поврежденных битов только того блока данных, который имел наибольшее количество поврежденных битов. В результате этого в наихудшем статистическом случае, когда все блоки содержат ошибки и число этих ошибок одинаково, коэффициент RBER может быть в 16 раз выше коэффициента, полученного на основании отчета о состоянии диска.
Данная проблема не имеет большого значения, пока сравнение производится между дисками одного и того же поколения, но её следует учесть при сравнении дисков различных поколений.
![](https://habrastorage.org/webt/sh/5k/6k/sh5k6kimq1yuhuxe-uyi_wa6hto.jpeg)
Табл. 3. Сводный коэффициент битовых ошибок RBER для различных моделей SSD.
4.1. Рассмотрение RBER на высоком уровне
В Таблице 3 приведено медианное значение RBER для каждой модели привода для всех дисков данной модели, а также представлен 95 и 99-й процентиль. Мы решили работать с медианами и процентилями, поскольку находим усредненные показатели сильно предвзятыми из-за нескольких резко выделяющихся значений, что затрудняет выявление каких-либо тенденций.
Мы наблюдаем большие различия в RBER у разных моделей дисков, начиная от 5.8е-10 до более чем 3е-08 для приводов первого поколения. Эти различия еще больше при рассмотрении не медианного значения RBER, а 95-го или 99-го процентиля. Например, 99-й процентиль RBER колеблется от 2.2e-08 для модели SLC — B до 2.7e-05 для модели MLC-D. Даже внутри линейки приводов одной и той же модели есть большие различия: RBER привода в 99-м процентиле имеет тенденцию быть по крайней мере на порядок больше, чем медианный RBER привода той же модели.
Разница RBER между моделями может быть частично объяснена различиями в базовой flash-технологии. Значение RBER для моделей MLC выше, чем для SLC-моделей, поэтому более высокая цена моделей SLC учитывает более низкое значение RBER. В разделе 5 данной статьи мы увидим, как эти различия преобразуются в различия непрозрачных ошибок, видимых пользователю.
Модели eMLC сообщают о RBER, который на несколько порядков превышают этот коэффициент у других моделей приводов. Даже принимая во внимание, что RBER приводов первого поколения в худшем случае могут быть в 16 раз выше, существующая разница значений коэффициентов на порядок больше. Мы предполагаем, что здесь имеет место фактор размера, поскольку две модели eMLC имеют чипы с наименьшей микроэлектронной литографией по сравнению со всеми другими моделями приводов.
Наконец, нет ни одного производителя, продукция которого обладает преимуществами по сравнению с продукцией других производителей. В рамках группы дисков SLC и eMLC один и тот же вендор производит как одну из худших, так и одну из лучших моделей в группе.
В целом, RBER сильно варьируется в разных моделях дисков, а также между SDD одной и той же модели. Это мотивирует нас к дальнейшему изучению факторов, оказывающих влияние на RBER.
4.2. Какие факторы влияют на значение RBER
В этом разделе мы рассмотрим влияние на RBER ряда факторов:
- износ, вызванный циклами Program/Erase (PE);
- физический возраст, т. е. количество месяцев, в течение которых устройство эксплуатировалось в полевых условиях независимо от циклов PE;
- рабочая нагрузка, измеряемая количеством операций чтения, записи и стирания, а так же числом операций на странице, которые потенциально могут повредить окружающие ячейки памяти;
- наличие других типов ошибок.
Мы изучали влияние каждого фактора на RBER двумя разными способами. Мы использовали наглядные визуальные данные путем построения графика влияния факторов на RBER и исследовали количественные показатели влияния, используя коэффициент корреляции. Мы использовали коэффициент ранговой корреляции Спирмена, поскольку он может охватывать монотонные нелинейные отношения в непараметрических методах, в отличие от, например, коэффициента корреляции Пирсона.
Прежде чем подробно анализировать отдельные факторы, мы составили сводный график, изображенный на Рисунке 1.
![](https://habrastorage.org/webt/sd/kn/if/sdknifzlw_lcyupbswwb5hin4by.jpeg)
Рис. 1. Зависимость коэффициента ранговой корреляции Спирмена между значением RBER в течение месяца эксплуатации дисков, и другими факторами.
Здесь показана зависимость коэффициента ранговой корреляции Спирмена между значением RBER в течение месяца эксплуатации дисков и такими факторами, как число предыдущих циклов PE, число операций чтения, операций записи или стирания в этом месяце, значение RBER в предыдущем месяце и количество неисправимых ошибок (UE) в предыдущем месяце. Значение коэффициента ранговой корреляции Спирмена может варьироваться от -1 (сильная отрицательная корреляция) до +1 (сильная положительная корреляция).
Каждая группа меток показывает коэффициенты корреляции между RBER и одним конкретным фактором (см. расшифровку по оси X), а различные метки в каждой группе соответствуют различным моделям привода. Все коэффициенты корреляции заслуживают более чем 95% степени доверия.
Мы убедились, что все факторы, кроме возникновения неисправимых ошибок в предыдущем месяце, показывают четкую зависимость с RBER, по крайней мере, для некоторых моделей. Мы также обратили внимание на то, что некоторые из этих зависимостей могут быть ложными, поскольку некоторые факторы могут коррелировать друг с другом, поэтому более подробно исследовали каждый фактор в следующем подразделе.
4.2.1. RBER и износ
Так как выносливость ячейки флеш-памяти ограничена, коэффициент RBER возрастает с увеличением циклов Program/Erase (PE). Высокие коэффициенты корреляции между RBER и циклами PE на Рисунке 2 доказывают их взаимосвязь.
![](https://habrastorage.org/webt/xb/4q/it/xb4qitbcx964-ywh-xbjs9m2i94.jpeg)
Рис. 2. Зависимость медианного и 95-и процентильного RBER от количества циклов РЕ.
Рисунок 2 позволяет более подробно изучить зависимость медианного и 95-и процентильного RBER от количества циклов РЕ. Мы получили эти графики путем деления всех дней привода по нашим данным в различных контейнерах, основываясь на подсчете их циклов PE, а затем определили медиану и 95-й процентиль RBER через все эксплуатационные дни в контейнере.
Как и ожидалось, мы убедились, что RBER растет с увеличением количества циклов PE как с точки зрения медианы, так и 95-го процентиля RBER. Однако темпы роста медленнее, чем обычно предполагаемый экспоненциальный рост, и больше напоминают линейное увеличение. Мы проверили это наблюдение через построение кривой: мы приспосабливали линейную модель и экспоненциальную модель к данным и нашли, что линейная модель подходит лучше, чем экспоненциальная.
Второе интересное наблюдение заключается в том, что коэффициенты RBER по износу значительно различаются у разных моделей дисков, даже у тех моделей, которые имеют очень похожие значения RBER для малых циклов PE. Например, четыре модели MLC запускались с почти идентичным RBER на очень малых циклах PE, но к тому времени, как они достигали предельного значения цикла PE (3,000 для всех моделей MLC), возникала 4-х кратная разница между моделью с самым высоким и самым низким RBER.
Наконец, мы обнаружили, что увеличение RBER происходит удивительно плавно, даже когда диск пересекает линию ожидаемого конца жизни (см., например, модель MLC-D с предельным циклом PE = 3000). Отметим, что ускоренные испытания на долговечность показали стремительное увеличение RBER лишь после достижения 3-х кратного предела цикла PE, установленного производителем устройства, из чего следует, что вендоры очень консервативно подходят к выбору лимита циклов PE.
Продолжение будет тут…
Спасибо, что остаётесь с нами. Вам нравятся наши статьи? Хотите видеть больше интересных материалов? Поддержите нас оформив заказ или порекомендовав знакомым, 30% скидка для пользователей Хабра на уникальный аналог entry-level серверов, который был придуман нами для Вас: Вся правда о VPS (KVM) E5-2650 v4 (6 Cores) 10GB DDR4 240GB SSD 1Gbps от $20 или как правильно делить сервер? (доступны варианты с RAID1 и RAID10, до 24 ядер и до 40GB DDR4).
Dell R730xd в 2 раза дешевле? Только у нас 2 х Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 ТВ от $199 в Нидерландах! Dell R420 — 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB — от $99! Читайте о том Как построить инфраструктуру корп. класса c применением серверов Dell R730xd Е5-2650 v4 стоимостью 9000 евро за копейки?