Warning: Use of undefined constant ddsg_language - assumed 'ddsg_language' (this will throw an Error in a future version of PHP) in /var/www/client/data/www/storageru.net/wp-content/plugins/sitemap-generator/sitemap-generator.php on line 45
О надежности SSD | STORAGE RU.NET — СТОРАДЖ РУНЕТ Warning: array_unique() expects parameter 1 to be array, null given in /var/www/client/data/www/storageru.net/wp-includes/post-template.php on line 756

Warning: join(): Invalid arguments passed in /var/www/client/data/www/storageru.net/wp-includes/post-template.php on line 541
class="">

О надежности SSD

Как она устроена Flash-память SLC?

Для FLash памяти характерны три основные операции: чтение, удаление и запись, которые осуществляются на уровне блока (минимальная порция данных, обеспечивающая технологическую организацию памяти):

Read — чтение может происходить случайно в любом месте чипа Flash. Чтение имеет
время доступа <0,1 миллисекунд (мс).

Erase — Удаление может быть выполнено только на весь блок данных. Очищает блок, устанавливая все биты в блоке в 1. Блоки могут быть удалены случайно в чипе. Операция длится примерно 1,5 мс. Множество операций удаления приводит к деградации блока и в конечном итоге может привести к его неработоспособности. Для чипов SLC, 98% из блоков будут продолжать работать после 100000 циклов удаления/записи.

Write — запись происходит  только на блоки, которые очищены, потому что запись может сбрасывать (изменять)  биты только с 1 в 0.  Блок должен быть запрограммирован последовательно, однако, весь блок не обязательно должен быть запрограммированы за один раз. Блоки в чипе могут быть запрограммированы в случайном порядке.  Для записи требуется около 0,3 мс.

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

SLC vs MLC

До этого момента, обсуждение касалось только SLC Flash (Single Layer Cell), которые более быстрые и надежные. Существует второй тип Flash, именуемый MLC  (Multi-Layer Cell).  Типы Flash очень похожи, на самом деле, их производственные процессы практически идентичны. Разница между этими двумя довольно проста. Так SLC хранит только два значения 1 или 0 (высокий или низкий уровень напряжения), а MLC может хранить четыре значения (высокий, средний высокий, средний низкий, низкий), представляющие два бита на ячейку (00, 01, 10, 11). Поэтому для MLC гораздо меньше допуск по напряжению, чем SLC, и как результат — ошибки случаются в 10 раз чаще, потому что каждый цикл удаления/записи увеличивает погрешности в уровне напряжения. При этом MLC имеет преимущество в цене, поскольку каждая ячейка имеет два бита вместо 1, давая блоки, страницы и чипы с в два раза большей емкостью. Однако, это также приводит к увеличению времени выполнения операций (примерно в два раза дольше). В итоге эти факторы практически исключили MLS Flash из применения в корпоративных приложениях.

Низкоуровневая надежность Flash

Как мы видим уровне чипа, во Flash представлены некоторые проблемы, но и предлагает целый ряд важных преимуществ:

  • Энергонезависимая (Относительно RAM)
  • Высокая скорость произвольного чтения
  • Довольно быстрая последовательная запись
  • Низкое энергопотребление
  • Устойчивость к нагрузкам
  • Более высокая плотность (чем в RAM)
  • Более низкая стоимость (чем RAM).

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

Выравнивание износа

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

Даже этот простейший механизм выравнивания износа чипов осуществленный на уровне платы может быть очень мощным, например, с использованием только основных алгоритмов выравнивания износа система хранения RamSan-500 может работать на пике нагрузки по записи несколько лет, не испытывая проблем надежности. RamSan-500 имеет 2 ТБ полезной емкости хранения и может поддерживать скорость записи до 2GB/сек. На 2 Гбит/сек заполнение всего массива занимает 1000 секунд. Чтобы достигнуть ограничения по количеству циклов удаления/записи этот процесс должен повториться 100000 раз  (из-за износа выравнивания запись будет равномерно распространяться по всем доступным блокам), что потребует 100 миллионов секунд. Разделив 100 миллионов на количество секунд в год (31536000)  получаем для Flash показатель выносливости в 3,25 лет. Эта выносливость достигается только согласно штатной спецификацией выносливости Flash-чипов  и использования только алгоритмов выравнивания износа без других механизмов.

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

Хотя кажется вполне логично сравнить Flash накопители на основе их выносливости, это не может быть удачным способом сделать покупку Flash SSD решения. К примеру, некоторые из худших Flash накопителей на рынке, имеют фантастические показатели выносливости, но удручающе медленную скорость записи (из-за ограничения количества циклов производитель повышает выносливость за счет уменьшения общего количества выполняемых операций записи).  Другие предприятия, выпускающие Flash SSD продукты решают эту проблему с помощью более сложных алгоритмов выравнивания износа и добавления дополнительной (но скрытой от пользователя) емкости флэш-памяти. Как уже упоминалось ранее, некоторые из Flash SSD продуктов, таких как RamSan-500, имеют Флэш-память большего объема, чем заявляется пользователю. Такая архитектура позволяет увеличить скорость записи и играет роль в повышении выносливости путем распространения записи  на дополнительные Flash чипы. Каждый модуль Flash RamSan-500 содержит на 20% больше, чем заявленный объем флэш-памяти.

Почему дополнительный объем флэш-памяти, увеличивает выносливость?

Технические характеристики Flash указывают, что не более 2% от блоков после 100000 циклов удаления/записи будут сбойными. Но что происходит с другими 98%  блоков? Среднее число циклов, что блок может поддерживать значительно выше, чем 100000. Так при разработке RamSan-500 было заложено, что устройство продолжает работать при отказе  до 10% блоков, и только при достижении этого порога модуль помечается как нуждающийся в замене. Это увеличивает общее число циклов  удаления/записи  до 500000. При непрерывной записи это увеличивается срок службы устройство до 15 лет — что далеко за пределами характеристик эксплуатации традиционного ИТ-оборудования!

ECC

К сожалению, для конечных пользователей, проблемы надежности Flash не ограничиваются выносливостью к операциям удаления/записи. Во Flash-чипах существует  уникальный вид ошибок, вызванных операциями в соседних ячейках. Эти ошибки называются read-disturbed или write- (или erase)-disturbed errors. Это ошибки в ячейке, чъе содержимое было изменено каким-либо видом деятельности в соседней ячейке. Эти ошибки не могут быть исключены на уровне дизайна, единственный способ — использовать коды с коррекцией ошибок (ECC). ECC обнаруживает и исправляет одиночную ошибку автоматически, что решает большинство проблем, вызванных ошибками read-,  write- (or erase-)-disturbed. Если функция ECC обнаруживает несколько ошибочных битов, то проблема обрабатываетя на уровне RAID контроллера (еще одна технология повышения надежности), где правильные данные восстанавливаются из данных других модулей флэш-памяти. Сочетание различных стратегий выравнивания износа с ECC значительно увеличивает общую надежности Flash SSD.  Но некоторые производители Flash SSD  накопителей пошли еще на шаг далее путем добавления дополнительных решений для повышения уровня надежности системы.

Как выбирать Flash SSD для предприятия

Краткий вопросник по надежности:

Какие микросхемы используются (SLC или MLC)?

  • Предпочтительно использование SLC NAND Flash

Какие технологии реализованы?

  • Реализовано ECC
  • Реализовано выравнивание износа (Wear Leveling)
  • Предусмотрены дополнительные Flash чипы для выравнивания износа
  • Реализован RAID
  • Реализовано кэширование записи
  • Реализована защита и сброс кэша на Flash при пропадании питания

Частичный перевод статьи —  Flash Solid-State Disk Reliability

Comments are closed.