Внутри IBM FlashSystem 900

Семейство IBM FlashSystem — это результат многолетних разработок и инвестиций в размере $ 1 млрд во флэш-технологии. Внутренние строение AFAs зачастую является строжайшей коммерческой тайной. Производители, как правило, акцентируют внимание на маркетинге (насколько быстро будут обрабатываться данные, скорость записи/чтения, надежность), но не разглашают подробности строения систем.

678a182947e9472ab358397360334ac4.png

Не так давно IBM предоставили возможность рассмотреть компоненты своей FlashSystem 900, которая работает в качестве автономного устройства и обеспечивает 1 миллион/600 000 IOPS при рандомном чтении/записи и 10.5/4.5 Гб/с I/O при последовательном чтении/записи. FlashSystem 900 также служить в качестве компонента в боле крупных системах от той же IBM, FlashSystem V9000 и A9000 AFAs. По-этому ознакомление с FlashSystem 900 позволяет увидеть разницу между компонентом и более крупной системой созданной из этих компонентов.

Эволюция флеш-массивов


Флеш-ммассивы развивались на протяжении нескольких лет, но начинались они с использования обычных SSD накопителей стандартного форм-фактора 2,5 дюйма, которые подключались к системам хранения данных, разработанных для HDD дисков. Использование SSD позволяло значительно ускорить работу системы по сравнению с HDD. Но это не решало проблемы в полной мере, узкие места попросту кочевали в другие компонентам массива (RAID контроллер или сетевой интерфейс).

Пионеры флешь-массивов стали разрабатывать оптимизированные SSD устройства с более быстрыми внутренними компонентами и оптимизированными каналами передачи данных, в то время, как потребности центров обработки данных только росли. Большинство производителей AFA все еще используют 2,5 SSD-накопители. Новейшие AFAs на основе 2,5 SSD-накопителей предоставляют пользователям высокую производительность и отказоустойчивость, но возможности таких SSD ограничены из-за заводской прошивки.

Другие производители, такие как IBM, XtremIO (EMC) и Violin, создали свои собственные AFAs с использованием специально разработанных флэш-модулей. Эти новые продукты обеспечивают возможность контроля самой NAND, которая, в свою очередь, дает возможность контролировать плотность хранения данных, производительность, износостойкость и экономичность.

IBM FlashSystem 900


FlashSystem 900 это 2U шасси которое вмещает в себя 12 модулей с возможностью горячей замены MicroLatency, как показано на изображении ниже. Кроме того, система имеет два больших литий-ионных аккумулятора (слева), которые обеспечивают достаточную мощность для завершения процесса записи в случаи выхода из строя основного источника питания. Аккумуляторы обеспечивают достаточную мощность, чтобы завершить работу массива корректно и без каких-либо потерь данных.

e0fd3946e48044b9963f934e047be610.png

Каждый модуль MicroLatency может содержать 1.2 ТБ, 2.9 ТБ или 5.7 ТБ флэш-памяти. В свою очередь, система записывает данные через один модуль. Сами модули сконфигурированы в RAID 5, чтобы обеспечить максимальную сохранность данных при выходе из строя одного из модулей. IBM также использует свою собственную переменную дорожку RAID на уровне флэш-памяти, чтобы создать двумерную паритетную схему контроля.

44517d225860487b9064c193d8e8908d.png

Каждый модуль MicroLatency имеет конструкцию двойного PCB с Xilinx Kintex-7 ПВМ. Каждая печатная плата может вмещать до четырех FPGA, но количество FPGA варьируется в зависимости от плотности модуля. Например, модуль 1,2 ТБ будет использовать только один FPGA на одной печатной плате. Использование архитектуры с несколькими FPGA позволяет IBM линейно масштабировать производительность и мощности.

44d73b77f5c240538233512e44cae9b7.jpg

Более пристальный взгляд на обратную сторону платы показывает два PCIe 3.0×2 соединения с левой стороны. Эти слоты используются для соединения с хостом и коммуницируют с помощью последовательного протокола, запатентованного компанией IBM. Протокол обеспечивает схожие преимущества NVM Express: снижение нагрузки на процессор, задержки, повышение производительности. Собственный протокол использует аппаратно ускоренный канал передачи данных со сквозной маршрутизацией, чтобы устранить процессы вызывающие задержки, такие как прерывания.

6128e7a5194a4ea7af77bdcb14a52ec4.png

У каждого FPGA есть свои собственные DRAM для управления LBA, и IBM также использует DRAM для кэширования пользовательских данных.
Большая часть SSD не кэшируют пользовательские данные в DRAM, но подход к защите потерь мощности на системном уровне (через батареи) предоставляет IBM несколько преимуществ. Отдельные SSD-накопители, применяющиеся в FlashSystem 900, не требуют специальных конденсаторов, которые используют обыкновенные SSD накопители форм-фактора 2,5 дюйма. Это позволяет компании упаковывать больше флэш-памяти в проект. Меньшее число конденсаторов также уменьшает число потенциальных точек отказа и сложности программного обеспечения.

Несколько конденсаторов все же расположено между пакетов флэш-памяти, но они используются для борьбы с падением напряжением, когда система одновременно пишет в несколько пакетов NAND.

7a47cae6c34245089fc1eb8a9f6cd1cd.png

IBM наладили стратегическое партнерство с Micron, чтобы использовать FortisFlash NAND, которая настраивается и предоставляет дополнительные возможности программирования в системе. Это позволяет IBM динамично изменять основное программирование каждого блока в течение жизни NAND, основанной на возрасте и здоровье. Micron указали, что при правильной настройке, MLC FortisFlash NAND может предложить до 10000 циклов перезаписи (более чем в три раза по сравнению со стандартной оценкой 3000-циклов).

Существует много различных разновидностей ECC, таких как BCH и LDPC, и у каждого есть собственные преимущества и недостатки. Поставщики AFA, которые используют 2.5-дюймовый SSD, ограничены в ECC, они могут использовать только установленную производителем SSD накопителя. Но кастомный дизайн обеспечивает гибкость, чтобы использовать пользовательские алгоритмы ECC.

IBM разработала собственный алгоритм ECC. Эта реализация колеблется между BCH, который является интенсивным методом, но имеет ограниченные возможности коррекции ошибок, и LDPC, который может подвергнуться чрезмерному усилению записи во время процесса коррекции ошибок (таким образом уменьшающий износостойкость). IBM считает, что кастомная «read once» коррекция ошибок включает в себя лучшее из обоих методов.

IBM также использует сегрегацию тепла, которая обнаруживает горячие и холодные данные и затем объединяет их, чтобы уменьшить износ. Компания динамично отслеживает остающееся число возможных перезаписей каждой ячейки, таким образом редко изменяемые «холодные» данные хранятся по более старым ячейкам NAND. За счет чего сохраняется износостойкость. IBM утверждает, что тепловая изоляция повышает выносливость на 49 процентов, а добавление селективного выравнивания износа (на основе здоровья NAND) повышает выносливость на 57 процентов.

f5aafe6f741d462ba7be05844f30ca65.png

Каждое 2U шасси содержит два избыточных источника питания прямо позади передней панели доступной батареи с функцией горячей замены. Система имеет четыре модульных вентилятора с возможностью горячей замены, размещенных в двух больших блочных канистрах (слева). Каждая из них имеет ряд портов ввода/вывода (диапазон Fibre Channel, iSCSI и FCoE) вдоль вершины, которые находятся на интерфейсных платах с возможностью горячей замены.

d6136012e29347ec95599721f6a13213.png

Каждая канистра содержит два процессора из серии Intel Xeon E5v2, 64ГБ оперативной памяти и контроллер RAID (XBAR). Канистры также имеют возможность горячей замены, чтобы минимизировать время простоя в случаи сбоя в вычисленной части системы или памяти. Сама конструкция оптимизирована для обеспечения максимум двух хопов и никогда больше от портов ввода/вывода данных до флэш-памяти, что гарантирует стабильную производительность и сталую задержку.

Более широкая релевантность.


IBM приобрела Texas Memory Systems в 2012 году и сделала дополнительные инвестиции в $ 1 млрд в развитие флэш-технологии в 2013 году. Это позволило компании разработать индивидуальные флэш-массивы, которые обладают более высокой производительностью и надежностью чем типичные флэш-массивы с использованием 2,5 SSD. В IBM утверждают, что семейство FlashSystem предоставляет на 9,41 процентов больше выносливости, чем конкурирующие решения и предоставляет его с гарантией на семь лет. Специалисты IBM могут повысить плотность памяти в своих модулях MicroLatency, дающих защиту от потерь мощности в масштабе всей системы. Сделать это они могут используя собственный, управляемый аппаратными средствами, последовательный интерфейс, который устраняет задержки вызванные программным обеспечением. Компания разрабатывала свою собственную архитектуру, чтобы обеспечить ряд преимуществ, таких как пользовательский ECC и адаптивные алгоритмы NAND, обеспечивающие большие преимущества для конечного пользователя с точки зрения плотности, производительности и стоимости.

IBM не единственная компания в гонке флеш-массивов. EMC недавно представила целую линейку флэш-устройств, некоторые из которых использовали нестандартные конструкции SSD. Компания полностью переводит все свои системы хранения данных на использование флешь-памяти. У Pure Storage также есть подающая надежды инициатива с устройством FlashBlade, но данная платформа все еще не доступна на рынке на данный момент. У Violin Memory тоже имеется индивидуальный проект, но его плохая производительность и мрачные перспективы отговаривают многих от использования данного решений.

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

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

© Geektimes