46
компоненты
память
Сергей Румянцев
[email protected] Алексей нЕкРАСов
надежному промышленному компьютеру — надежную память,
или Основные отличия промышленных и коммерческих SSD
введение
Сегодня существует большое количество твердотельных накопителей (здесь и далее для краткости мы будем использовать общепринятый термин — SSD). Они могут быть выполнены в различных форм-факторах, разного объема и с различными интерфейсами подключения — от хорошо известных ATA и CF и до скоростных CFast и PCI Express. Разобраться в этом многообразии характеристик с непривычки довольно сложно. Однако довольно часто, к сожалению, выбор зависит не от удобства подключения или форм-фактора, не от технических характеристик, а от одной-единственной характеристики — стоимости.
Как известно, существуют компании, выпускающие SSD для потребительского рынка, и компании, выпускающие SSD, ориентированные на рынок промышленных систем. И стоимость коммерческих SSD зачастую ниже промышленных SSD (рис. 1).
Авторам статьи хорошо известны случаи, когда выбор был сделан в пользу обычных коммерческих SSD «из ближайшего магазина». И это понятно: зачем переплачивать больше,
если есть «точно такие же, но дешевле». Однако стоимость накопителя SSD намного ниже стоимости устройства управления, которое использует в своем составе данный SSD. В свою очередь, цена устройства управления намного ниже стоимости изделия. А стоимость изделия намного ниже стоимости всего аппаратно-программного комплекса, включающего в себя несколько изделий, программное обеспечение и т. п. И еще к этому следует прибавить стоимость сборки и монтажа на конечном объекте. Таким образом, можно подсчитать, что стоимость самого SSD будет составлять проценты или даже доли процента от стоимости всего аппаратно-программного комплекса. Более наглядно это показано на рис. 2.
В итоге через некоторое время оборудование, использующее этот накопитель, выходило из строя, а весь комплекс простаивал, ожидая замены SSD. Таким образом, желание сэкономить приводило к неприятным последствиям, которые приходилось исправлять в авральном порядке.
Так почему же SSD-накопители с одинаковыми, казалось бы, свойствами отличаются по цене и так сильно отличаются при работе? Ответ мы и постараемся дать в этой статье.
немного истории
Со времени открытия принципа архитектуры фон Неймана, когда арифметико-логическое устройство (или проще говоря — процессорный модуль) было физически отделено от устройств хранения программ и данных, память стала очень важным элементом компьютера. Стали важны ее объем, так как от этого напрямую зависело количество исполняемых программ, которые могли бы быть в ней размещены, и надежность.
Надежность памяти — это свойство, которое особенно важно для промышленных систем, так как зачастую такие системы работают в более сложных условиях, нежели их коммерческие (офисные, если хотите) аналоги. Поэтому с появлением твердотельных накопителей, которые практически не восприимчивы к вибрации и способны работать в температурном диапазоне -40...+85 °С (в отличие от обычных жестких дисков), надежность хранения данных существенно возросла.
Однако, как уже было сказано выше, твердотельные накопители, в свою очередь, тоже разделяются на коммерческие и промышленные (рис. 3), и далеко не все из них «одина-
Коммерческий SSD Промышленный SSD
Соотношение стоимости коммерческих и промышленных SSD
1% 1%
Коммерческий ввБ ■ Промышленный ЭЭР Устройство управления, использующее ЭБЭ I Изделие ■ Программно-аппаратный комплекс
Рис. 1. Разница в стоимости между коммерческими и промышленными SSD (в%)
Рис. 2. Процентное соотношение стоимости твердотельного диска и стоимости всего аппаратно-программного комплекса
Рис. 3. Промышленный накопитель SSD компании InnoDisk
ково полезны» в промышленности, то есть далеко не все накопители следует применять в промышленных системах.
Основные отличия промышленных SSD от коммерческих — это более высокая наработка на отказ, а также возможность работы в сложных условиях, которые включают в себя вибрацию, отрицательный температурный диапазон и т. п. Производители промышленных накопителей предпринимают целый комплекс мер для достижения требуемых характеристик надежности. Это строгий подбор компонентов и применение более высококачественных материалов для изготовления печатной платы и корпуса SSD. Кроме того, схемотехника и программное обеспечение контроллеров промышленных SSD сложнее, чем в коммерческих SSD. Однако наиболее существенную роль в различии между коммерческими и промышленными SSD играет тип организации памяти.
На рис. 4, где изображена структурная схема SSD серии EverGreen компании InnoDisk (Тайвань), видно, что основными элементами SSD являются флэш-память и микроконтроллер. Рассмотрим их более подробно.
Память
Флэш-память может быть выполнена по одному из двух типов: NOR (Not OR) либо NAND (Not AND). Это связано с организацией ячеек памяти (физически — это полевые транзисторы с дополнительным управляемым затвором), которые могут быть соединены в логическую схему последовательно (NAND) либо параллельно (NOR) [3]. Логическая схема организации ячеек в зна-
Таблица 1. Сравнение характеристик SLC NAND и MLC NAND
Тип ячейки SLC MLC
Количество циклов перезаписи (на одну ячейку) 100 000 10 000
Время чтения страницы памяти, мкс 25 50
Время стирания блока памяти, мкс 2 2
Время записи страницы памяти, мкс 250 900
память компоненты
47
Управляющий буфер
М
t
Блок контроля ошибок
Устройство управления Интерфейс SATA Микропроцессор
Флэш-память
Флэш-память
Флэш-память
Флэш-память
Флэш-память
Флэш-память
Флэш-память
Флэш-память
Рис. 4. Структурная схема SSD серии EverGreen компании InnoDisk
чительной степени определяет свойства памяти, и если память типа NOR более похожа на оперативную, то память типа NAND напоминает дисковый накопитель. К тому же при прочих равных одна ячейка памяти NAND занимает на кристалле площадь примерно в 2,5 раза меньше, чем микросхема NOR. То есть теоретически память типа NAND обладает в 2,5 раза большей емкостью, чем память типа NOR. Кроме того, память типа NAND имеет большую скорость записи и значительно большую скорость стирания данных. Именно поэтому сейчас для производства твердотельных накопителей SSD используется память типа NAND.
В основном для производства накопителей SSD производители используют два типа микросхем NAND флэш-памяти: это микросхемы SLC NAND (Single-Level Cell, одноуровневая ячейка) и MLC NAND (Multi-Level Cell, многоуровневая ячейка). MLC NAND представляет собой ячейку с многоуровневым кодированием либо с многоуровневым состоянием заряда. Сейчас микросхемы MLC NAND позволяют работать с четырьмя уровнями заряда, то есть память, выполненная по технологии MLC, позволяет хранить два бита информации, тогда как SLC — только один. Соответственно, на основе технологии MLC можно создавать более вместительные микросхемы памяти, и стоит такая память дешевле (примерно в два раза дешевле памяти SLC).
Однако есть одно серьезное «но»: микросхемы памяти MLC NAND имеют гораздо меньшую скорость передачи данных, чем SLC, а также повышенное (по сравнению с SLC) энергопотребление и меньшую надежность. Кроме того, позволяя хранить данные без внешнего источника энергии, NAND-память имеет серьезный недостаток — это ограниченное число изменения состояния ячейки. То есть после многочисленных циклов записи дальнейшее изменение ее состояния будет невозможно, вследствие того, что происходит разрушение диэлектрического слоя. И особенно это актуально для ячеек, выполненных по типу MLC, так как в них меньше резерва изменения заряда плавающего затвора из-за конструктивных особенностей. Износ происходит и при чтении, но в процессе чтения наносится несравнимо меньше вреда, чем при записи/стирании, поэтому считается, что за весь срок службы устройства количество циклов чтения не ограничено.
Другими словами, MLC NAND подходит для коммерческого использования на потребительском рынке — в MP3-плеерах, планшетах и т. п., но не подходит для применения в промышленных системах.
В таблице 1 приведено сравнение основных характеристик микросхем памяти SLC и MLC. Хорошо видно, что количество циклов перезаписи на одну ячейку у SLC на порядок выше: в отличие от MLC, ячейка микро-
Таблица 2. Характеристики серии промышленных SSD компании InnoDisk в форм-факторе Mini PCIe
Характеристика Mini PCIe SSD miniDOM SSD mSATA SSD
Объем хранимых данных, Гбит 8-32 2-16
Интерфейс подключения Mini PCIe (SATA II) Mini PCIe (SATA II, USB 2.0) Mini PCIe (SATA II)
Скорость передачи данных (чтение/запись), Мбит/с 150/90 100/60
Рабочая температура, °С 0...+70 (стандартный температурный диапазон); -40... +85 (промышленный температурный диапазон)
Температура хранения, °С -55...+95
Стойкость к вибрации 20g (7-2000 Гц)
Ударостойкость 1500g/0,5 мс
Входное напряжение, В 3,3
Ток потребления, мА 400 (max) 250 (max)
Размеры, мм 31,1x69,5x3,4 30x51x3,4
схем памяти SLC NAND обладает большим ресурсом (в среднем 100 000 циклов стирания/записи против 10 000 у MLC). Кроме того, SLC NAND обладает более высоким быстродействием. Поэтому, судя по данным таблицы 1, накопитель SSD с использованием SLC NAND будет в 3 раза быстрее записывать данные, чем накопитель SSD с использованием MLC. Соответственно, и энергопотребление SLC SSD будет существенно ниже (так, для накопителей SSD наибольшее энергопотребление приходится именно на процедуру записи). Именно поэтому в промышленных SSD используется память типа SLC. В качестве примера можно привести серию промышленных SSD компании InnoDisk, выполненных в форм-факторе Mini PCIe: Mini PCIe SSD, miniDOM и mSATA, характеристики которой приведены в таблице 2.
Другое важное отличие промышленных SSD от коммерческих — это применение более сложных контроллеров с оптимизированными алгоритмами работы и расширенными функциями ПО.
контроллер
Контроллер накопителя SSD служит для согласования интерфейсов и выполняет множество функций, повышающих надежность работы всего устройства. К этим функциям, к примеру, относятся:
• функции выравнивания износа, обнаружения (алгоритм wear-leveling);
• функции коррекции случайных ошибок
(ECC);
• функции управления дефектными блоками;
• функции контроля напряжения питания;
• функции SMART и т. д.
Главной задачей контроллера является обеспечение операций чтения и записи. Кроме того, контроллер SSD-накопителя отвечает за управление структурой размещения данных. Основываясь на матрице размещения блоков, которая показывает, в какие ячейки уже проводилась запись, а в какие — еще нет, контроллер оптимизирует скорость записи и обеспечивает максимально длительный
срок службы накопителя SSD. Вследствие особенностей построения NAND-памяти работать отдельно с каждой ее ячейкой нельзя. Поэтому ячейки объединены в страницы объемом по 4 кбайта, и запись информации может происходить постранично. Стирать же данные можно по блокам, которые равны 512 кбайт. Все это накладывает определенные ограничения при построении алгоритма работы контроллера. Поэтому правильно настроенный и оптимизированный контролер с хорошим алгоритмом работы может существенно изменить как скоростные показатели, так и долговечность работы SSD-диска.
Также в SSD-дисках предусмотрен кэш-буфер, но он не применяется для ускорения процедуры записи/чтения, как это принято для HDD-накопителей. Большинство производителей даже не указывает его объем в технических спецификациях SSD. Его нельзя считать и обычной кэш-памятью, как мы это привыкли понимать. Кэш-память SSD-диска используется динамически, для хранения таблиц размещения и занятости ячеек диска. Параллельно в ней может храниться временная информация со стираемых ячеек, при нехватке пустого места на диске. Таблицы представляют собой трехмерную матрицу и являются основным помощником для контроллера SSD. Основываясь на этих данных, контроллер SSD принимает решения о стирании дополнительных ячеек. В нем также хранится информация о частоте и интенсивности использования каждого доступного блока на диске. Кроме того, здесь записаны адреса «мест», где невозможно осуществить запись из-за физического износа.
Таким образом, контроллер обеспечивает управление многими характеристиками SSD-накопителя, поэтому, улучшая характеристики контроллера и его алгоритмы, производители MLC NAND памяти пытаются улучшить характеристики накопителей, приблизив их к характеристикам SLC NAND памяти. Однако стоит отметить, что по всем показателям SLC NAND память более приспособлена для использования в промышленных системах, прежде всего благодаря высокой наработке
на отказ (то есть сроку службы) и надежности. Кроме того, контроллеры в коммерческих твердотельных накопителях обычно имеют только отдельные из перечисленных выше функций, поэтому они не достигают необходимого для промышленной эксплуатации уровня надежности и безопасности.
Заключение
Подводя итог, отметим, что для правильного выбора твердотельного накопителя (и это особенно критично для промышленных систем, где надежность является наиважнейшим показателем) недостаточно руководствоваться только стоимостью, поскольку зачастую по этому критерию промышленные накопители уступают коммерческим. Но там, где основными критериями при прочих равных условиях являются повышенная надежность, возможность работы в более широком диапазоне температур и более высокая скорость обмена данными, руководствоваться соображениями сиюминутной экономии как-то не принято. В противном случае аварии на том объекте, которым управляет промышленный компьютер, затраты по замене и ремонту оборудования (особенно, если оно выйдет из строя на объекте заказчика) могут быть значительно выше, а нанесенный ущерб репутации — и того больше. ■
Литература
1. Memory 1997. Integrated Circuit Engineering Corporation. Flash Memory Technology. ISBN: 1-877750-59-X.
2. www.innodisk.com
3. Кузьмин М., Бузмаков А. Промышленная флэш-память // Компоненты и технологии. 2009. № 10.
4. http://www.eltech.spb.ru/profiles.html? company=InnoDisk
5. http://www.eltech.spb.ru/news.html? nid=893
6. NAND Flash Applications Design Guide. Toshiba America Electronic Components, Inc., 2003.
7. Open NAND Flash Interface Specification, Rev.2.1. Jan. 14. 2009 (www.onfi.org)