Компьютер будущего : прощай, HDD!

Компьютер будущего: Прощай, HDD!

*****

Короткое вступление
Теория и история в очень общих чертах
Какие преимущества и недостатки у SSD в сравнении с HDD?
Что и как выбираем
Размышления по поводу срока службы SSD накопителей
MFT – ускоряем запись небольших файлов и продлеваем жизнь SSD
Грустные мысли о MFT
Тестирование
Подводим итоги


Короткое вступление

Сразу оговоримся — речь пойдет не о будущем вообще, а о ближайшем будущем. А если еще точнее - то о ближайшем будущем нового компьютера автора. Этот компьютер, общего назначения с мультимедийным уклоном и под кодовым названием HTPC-2, уже пару месяцев проходит обкатку некоторых интересных (с моей точки зрения) технических решений. В данной статье мы коснемся системы долговременного хранения данных, по привычке называемой дисковой подсистемой компьютера. Это верно лишь отчасти, так как концептуально принято решение отказаться от традиционных HDD в пользу массива SSD. Нo пока сложно обойтись без оптического накопителя, поэтому, в локальном смысле, дисковое устройство в виде Blu-Ray привода будет присутствовать. А так как сегодня современный компьютер не мыслим без работы в составе сети, пусть даже домашней, то, ввиду пока еще достаточно дорогой стоимости гигабайта SSD, основной мультимедийный контент будет храниться на дисках, подключенных к центральному рутеру домашней сети. Так что, в глобальном смысле, для поставленных задач сделать «дисковую» подсистему полностью бездисковой пока не получается. Но стремительное насыщение рыка доступными SSD и приятная динамика цен позволяет уже сегодня создать компьютер совсем без локальных HDD. В бездонном море интернета можно найти массу противоречивой информации об использовании SSD, так как любые новые решения имеют как плюсы, так и свои минусы, поэтому интересно и полезно получить свой личный опыт в условиях неадекватной информации. Некоторое время назад начались мои попытки получить собственные теоретические и практические результаты в этом направлении.



Эволюция моих твердотельных накопителей



На фото изображен эволюционный прогресс моих накопителей а-ля SSD. Конечно, коллекция не полная, не впечатляющая и не топовая, а самая-самая бюджетная. Но и покупалось все это ради эксперимента и оценки (за исключением СF 64MB – много лет назал в ней была суровая необходимость). И цель статьи - помочь разобраться начинающим интересоваться твердотельными накопителями и подтолкнуть их к более целенаправленному изучению темы SSD, чему и поспособствует описанный ниже мой небольшой опыт.

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


SSD уверенно читает со скоростью 2.5 гигабайта в секунду



Да и пишет неплохо, гигабайт в секунду


Это не подделка. Это реальный бенчмарк работы одиночного накопителя SSD Silicon Power. Правда, измеряется не совсем производительность SSD, так как установлена MFT. И, кроме того, это говорит еще и о том, что не все готово к приходу SSD в наши компьютеры. FusionIO, легко достигающий скоростей 700MBps, вообще приводит программу HD tune к краху.

Что это такое за MFT, почему все так здорово на картинке и что есть на самом деле, мы рассмотрим чуть позже, а пока

Теория и история в очень общих чертах

Даже если вы не собираетесь внедрять в свой системный блок SSD, все равно наверняка сталкивались с описаниями и анонсами этих устройств, попадались термины MLC, SLC, NOR и NAND и при этом вы были должны обязательно проникнуться тем, что SLC – это намного круче, чем MLC. А лучше Intel нет ничего, в то же время контроллер от JМicron — главный провал инженерной мысли современности. Но пока на лица переходить не будем. Сначала коротко обрисуем, как работает флэш-память, так как именно на таких типах микросхем и собираются SSD.

Флэш-память не явилась внезапным озарением. В свое время был изобретен чудесный прибор - полевой транзистор с изолированным затвором. (Хотя какой же это прибор? Но в то время более подходящего термина не нашлось и вся россыпь транзисторов, диодов, микросхем называлась полупроводниковыми приборами). То есть, обычный MOSFET, если кому-то так понятнее. Полевой транзистор был назван так потому, что, в отличие от биполярных транзисторов, которые были внедрены первыми, управление проводимостью (электрическим сопротивлением рабочего p-n перехода (-ов)) управлялось не током управляющего электрода (базы), а разностью потенциалов, которая создает электрическое поле, воздействуещее на состояние p-n переходов транзистора. В полевом транзисторе управляющий электрод назвали затвором. И через некоторое время придумали для этого прибора дополнительный элемент — еще один затвор, «плавающий», так как он не имеет электрического контакта с внешними и внутренними элементами. Плавал этот затвор в диэлектрике, окруженный его тонким слоем со всех сторон, располагаясь как раз между управляющим затвором и подложкой с p-n переходами, и имел полезное свойство сохранять электрический заряд затвора долгие годы. Наличие или отсутствие заряда на плавающем затворе, как оказалось, и определяет, появится ли, при появлении напряжения на управляющем затворе, проводимость по рабочему пути выводов, называемых сток-исток (в биполярных транзисторах это соответствовало пути эмиттер-коллектор), или нет.
Теперь осталось только создать массив таких транзисторов и обеспечить возможность изменения заряда на плавающем затворе, чтобы получалось надежно отличать логические уровни состояния транзистора. Наличие или отсутствие заряда на плавающем затворе позволяло интерпретировать состояние транзистора (т.е.) ячейки памяти, как имеющее два стабильных логических состояния.

При этом выяснилось, что время чтения существенно меньше времени записи, а запись легко делается с 1 в 0. Но запись 1 в ячейку, уже имевшую 0, требовала особо долгой операции и другх сложных условий, и было принято решение делать это одновременно для всех ячеек. Что и привело к появлению режима «стирание».

Было также определено, что заряд на плавающем затворе могут изменять внешние факторы — радиация, температура, ультрафиолетовое излучение, повышенные напряжения на электродах транзистора.
С радиацией, понятно, связываться не стоит, с температурой хлопотно и нестабильно, а вот микросхемы с ультрафиолетовым стиранием применялись очень широко, многие должны помнить прозрачные окошки в корпусе чипов ПЗУ, заклеиваемые после программирования куском изоленты или стикером с версией зашитой программы.

Таким образом, появились РПЗУ, умевшие надежно хранить данные в отсутствие питающего напряжения, а, при необходимости, данные можно было обновить, стирая ультрафиолетом старую информацию и вводя новую. Но ультрафиолетовое стирание - технически достаточно трудоемкий, долгий и энергопотребляющий процесс (да и запах стоит неимоверный, моя семья не раз выдвигала ультиматумы, когда я дома ставил под облучение УФ-лампы линейку своих драгоценных РФ-ок). И вскоре оно было заменено на более прогрессивное электрическое стирание. Теперь и чтение, и запись, и стирание могли проводиться даже на впаянных на плату микросхемах. Такие ПЗУ получили обозначение EEPROM (Electronically Erasable Programmable Read Only Memory — электрически программируемая стираемая память только для чтения). Вот такая память, в следующем эволюционном витке, и дала жизнь флэш-памяти. Осталось лишь преодолеть барьер «только для чтения».

Для этого нужно было отменить режим тотального стирания - уже записанная информация должна сохраняться. Но проблема поджидает нас, если мы хотим записать новую информацию, но нет достаточного свободного места и приходится удалять часть ненужных файлов. В отличие от HDD, где стирание означает лишь изменение записи в таблице размещения файлов а «перепрограммировать» магнитный слой можно сразу и с 0 в 1, и с 1 в 0, без предварительных манипуляций, для флэш-памяти это не так. Потребуется физическое "стирание" той части памяти, которую занимал удаленный файл. Поскольку под любой файл место выделяется не строго по размеру занимаемых байт, а кратно размеру используемого кластера (в Windows по умолчанию 4КВ, будем считать, что и флэш память отформатирована так же), то нужно будет стереть от 1 до нескольких кластеров, в зависимости от размера записываемого файла. Для ускорения процедуры пришлось отказаться от записи в произвольный байт и делать и запись, и стирание для целой 4KB страницы.

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

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

Флэш-память, наряду с безусловным достоинством хранить данные без внешнего источника энергии, имеет и серьезный недостаток в виде ограниченного числа изменения логического состояния ячейки — после некоторого числа циклов записи дальнейшее изменение ее состояния будет невозможно. Это происходит из-за того, что тончайший диэлектрик, который отделяет плавающий затвор от других элементов, под энергетическим действием квантового туннельного перехода и ряда других факторов, постепенно теряет свои диэлектрические свойства, что приводит к нестабильности появления и сохранения заряда на плавающем затворе — снижается энергетический барьер для квантового и инжекционного перехода электронов через диэлектрик и электроны смогут делать это при флуктуациях питания, повышения температуры, меньших напряжениях, что будет верно и для обратного процесса. Это еще более актуально для MLC ячеек, так как там меньше (в десятки раз) диапазон изменения заряда плавающего затвора, приводящий к изменению логического состояния ячейки. В принципе, износ происходит и при чтении, но наносимый вред гораздо ниже, и принято считать, что в пределах срока службы устройства количество циклов чтения не ограничено. Для снижения износа (вернее, для продления срока службы) внутренний формат данных несколько шире привычного, т.е. не кратен степени двойки, так как внутри микросхемы содержатся и запасные ячейки, и схемы коррекции и нужно место под другие мета-данные. Для MLC, так как вероятность ошибки выше, степень контроля за считыванием усиливается, в частности, растет разрядность CRC.

Если представить SSD с установленной ОС, занимающей больше половины «дискового» пространства (что легко получить для SSD объемом 32GB и ниже), то бОльшая часть информации окажется неизменяемой и запись (имеется в виду, в том числе, и интенсивная перезапись некоторых областей самой ОС — реестра, свопа и т.д.) делалась бы в оставшееся свободное место, и на те ячейки, данные в которых изменились, что приводило бы к неравномерному расходу ресурса ячеек. Управляющий микроконтроллер и ведет такой учет, организует оптимальное размещение, перенос, фоновое стирание, буферизацию, работу механизма коррекции ошибок и ряд других функций и в значительной степени определяет достоинства и недостатки флэш-накопителя.

Теперь о терминах NAND, NOR, MLC, SLC

NOR (NOT OR) и NAND (NOT AND) — аббревиатуры комбинаций логических операций булевой алгебры (которая использует только две цифры 0 и 1), и служат для краткой характеристики архитектурных решений организации ячеек памяти. Сначала получила распространения архитектура NOR, впоследствии уступившая место NAND. Соответственно однотранзисторная ячейка NOR сменилась на двухтранзисторную NAND, запись в ячейку с помощью инжекции высокоэнергетичных электронов сменилась на метод туннельного перехода Фаулера-Нордхейма. По большому счету, архитектура флэш-памяти варьируется и обозначается гораздо шире, например, DINOR, NANDQ, но это уже за рамками темы.

SLC (Single-Level Cell) – одноуровневая ячейка хранения данных, соответственно MLC (Multi-Level Cell) – многоуровневая ячейка. И в том, и в другом случае информация хранится в виде некоторого заряда электричества, сохраняемого в изолированном затворе полевого транзистора.
Различия в том, что одна MLC ячейка хранит больше, чем один бит информации. На сегодня типичное значение ML=2, на подходе чипы, позволяющие в одной ячейке хранить и три, и четыре бита.

Как же это удается в цифровой схемотехнике в одной ячейке хранить несколько бит? Дело в том, что ячейка по сути — транзистор, то есть, аналоговое устройство (не будем придираться к квантованию, к примеру, по заряду электрона), и заряд на затворе может варьироваться в относительно широком диапазоне. Фактически, схема управления MLC предоставляет услуги ЦАП для записи и АЦП для чтения. Например, для SLC разница логических состояний может определяться как 0 и 3V. Для MLC с ML=2 — как 0, 1.5 и 3V. Для ML=4 шаг по напряжению для всех 16 состояний составит уже 0.2V.

Но сегодня невозможно решить проблему емкости флэш-памяти простым увеличением уровня ML. Даже ML=2 создает массу проблем, и не только для надежного распознавания уровня сигнала, что само по себе не просто и требует усложнения системы коррекции ошибок (не простой уже и в SLC). Дело осложняется необходимостью дополнительного времени на дешифрацию адреса ячейки в MLC, что особенно заметно при записи, а с ростом уровня ML ситуация резко ухудшается. Если вспомнить об ограниченном количестве циклов записи (смены логического состояния) в ячейку, то проблема усложняется. Два бита в ячейке MLC сразу делают ресурс меньше не в два, а как минимум кратно числу логических состояний, а реально, с учетом внутренней работы логики, суммарное падение достижимого числа циклов может достигать десятков раз.

Сегодня типовое количество циклов записи в SLC составляет около 100 тысяч. Но, если вы полагаете, что ML=2 обеспечит жизненный цикл MLC в районе 50 тысяч, то ошибетесь. Это было бы верно для памяти с произвольным доступом, но флэш-память таковой не является. В итоге, с точки зрения пользователя, MLC выдерживают всего 10 тысяч циклов записи, после чего будут доступны только на чтение. Есть, правда, отклонения в обе стороны, а наиболее износостойкие чипы сегодня (20 тысяч гарантированных циклов записи) производит Toshiba.

А как же обеспечивается, что, после исчерпания ресурса записи, чтение все еще возможно? Ведь истощенный диэлектрик — уже плохое препятствие для произвольного перемещения заряда как на плавающий затвор, так и с него, что означает полную нестабильность логического уровня во времени.

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

Подводя итог главе, повторимся: не надо думать, что микросхема флэш-памяти — это только простое скопище транзисторных ячеек. Внутренняя структура гораздо сложнее, ниже приведена блок-схема 8-и гигабитной Samsung K9G0G8U0M:


Блок-схема флэш-памяти Samsung


Какие преимущества и недостатки у SSD в сравнении с HDD?

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

Все дело в том, что HDD и SSD – принципиально разные устройства по принципу действия, требующие разных подходов, прежде всего со стороны ОС и интерфейса. Современные SSD (включая подключаемые во внутренние слоты, типа FusionIO), «прикидываются» жесткими дисками через драйвер, или имитируют его по стандартному интерфейсу, принимая и выдавая необходимые сигналы. Это означает, что ОС считает, что, обслуживая SSD, она имеет дело с обычным HDD. Чем же это плохо?

Плохо тем, что ядро ОС, файловый, кэш и IO менеджеры рассчитаны на HDD, ориентированы на высокую латентность IO операций и на выполнение массы вредных для SSD внутренних действий самой ОС, которые требуют интенсивных записей на накопитель. Для HDD это, с точки зрения долговечности, все равно, а современные MLC SSD могут лишиться значительной части отведенного им срока жизни. Да и интерфейс SATA не позволяет, к примеру, сообщать накопителю, что запись об удаленных файлах больше не нужно сохранять в LBA, а SSD все это хранит и постоянно переписывает разбухающие таблицы. То есть, и сама файловая система требует совершенно другого подхода. Ведь если HDD не может одновременно выполнять запись и чтение, то в SSD это просто необходимо организовать, причем в многоканальном режиме. Такие устройства и файловые системы интенсивно разрабатываются и тестируются, а пока … ездим в космическом веке на старом самокате.

Прогресс не остановить, и SSD все активно появляются на рынке. К явным преимуществам можно отнести лучшие массогабаритные показатели, даже в пересчете на удельную емкость, температурный режим, пониженную латентность и повышенное быстродействие. Конечно, есть разные модели SSD и HDD, и сегодня SSD проиграют по стоимости хранения гигабайта, причем безоговорочно. Дешевые SSD проиграют пока и по совокупному быстродействию лучшим HDD. Но по стоимости IOPS качественные SSD уже дешевле, даже дорогие бизнес-модели, что крайне важно для серверных применений. Теоретически, надежность и энергопотребление тоже лучше, хотя могут быть исключения. Выше ремонтопригодность и проще сервисное обслуживание, десятикратный перевес по ударопрочности. Шире температурный диапазон. Магнитное поле тоже не страшно.

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

Главный минус — интенсивное развитие технологии на всех стадиях, да и дороговато пока выходит.
Нет стандартов, требований, методик тестирования, каждый производитель дует в свою дудку. Mtron обещает, что его накопители ежедневно, в течение 140 лет, могут записывать по 50GB информации. Попробуй, проверь! Гарантия, правда, на пять лет. Intel скромнее, дала 100GB в день, но в течение пяти лет и только три года гарантии. Игроки помельче заявляют и сроки, и гарантии поскромнее. Но когда эти сроки разнятся в десятки и сотни раз, создается ощущение, что при этом кого-то дурят. Стандартной методики оценки нет, группа по разработке создана только в этом году и родится что-то в ее недрах не ранее второй половины будущего года. До того момента, наверное, счет пойдет на тысячи лет безупречной службы.
Впрочем, большинство из нас вполне бы устроила цифра три-пять лет, но без заморочек. Однако заморочки есть, и, судя по отзывам, в любой ценовой категории, включая дорогущие Fusion, дорогие Intel и дешевые от кого угодно.
Как уже упоминалось, многие проблемы SSD — от необходимости прикидываться жестким диском. Например, через некоторое время многие пользователи, особенно под серверные приложения, начинают замечать серьезное падение производительности, для чего требуется время от времени форматирование или сброс контроллера. Подробнее о проблеме, с комментариями от Intel, можно прочитать по ссылке http://forum.ssdworld.ch/viewtopic.php?f=1&t=59
Дело может быть и в относительной долгой адаптации накопителя к условиям нагрузки. Через некоторое время производительность может просесть в несколько раз и потом медленно выходить на расчетный уровень. А если нагрузка неравномерна и динамична? Поэтому, не надо считать даже X25 или подобные качественные изделия панацеей и ждать от них 100% лучшей работы, в сравнении с привычными HDD. У каждого контроллера и набора флэш-памяти могут встретиться свои проблемы при столкновении с неподготовленной специально для SSD ОС. Да и никто не застрахован и от неудачных технических решений, проблемных алгоритмов и глючных программ — дело-то совсем новое. Поэтому, подключить SSD к компьютеру не проблема, просто пока невозможно его использовать даже на десятую долю возможностей. Но то, что уже есть сегодня, позволяет говорить, что новое поколение полупроводниковых накопителей будет готово навсегда прогнать HDD из наших компьютеров. Конечно, будет долгий переходный период, отработка и развитие программных и индустриальных технологий, но уже сейчас можно сказать : Прощай, HDD!
По крайней мере, для моего нового компьютера


Что и как выбираем

Нам нужна пара SSD и каждый накопитель должен быть объемом не менее 32ГБ, чтобы на одиночный диск можно было поставить Windows Vista и осталось бы место для приложений и экспериментов. 16ГБ не подходит, так как ОС установить можно, но, к примеру, MFT бенчмарк требует себе более 4ГБ, что уже не поместится. А пара нужна, чтобы посмотреть, как они себя ведут в рейде. Кроме того, некоторые озборы в интернете рассказывают о неадекватном поведении накопителей и обобщают свои выводы на всю серию продуктов. К примеру, мнение о том, что контроллеры JMF602 некорректно работают, с легкой руки сайта anandtech разошлось по всему интернету и повсеместно тиражируется. Делать выводы по продукту всего лишь по одной выборке - это технически очень неграмотный прием, если, конечно, материал не заказной. И специалисты в форумх сразу указали, что, скорее всего, накопитель бракованный. Хотя у JMF602 есть свои странности, как, впрочем, и у любого другого контроллера.
Поэтому и нужна пара, поскольку вероятность того, что оба будут с дефектом, все же ниже, чем у одного привода.

Ввиду стремительного развития технологии, любое решение «сейчас» уже «завтра» будет неоправданно дорогим и устаревшим, причем счет может идти на сроки меньше месяца. Как, к примеру расценивать заявление OCZ, что ее SSD Core V3, доступные к рождеству, по всем параметрам (и по цене) будут превосходить Intel X25?

Это было написано до вчерашнего ( 9.12.2008 ) анонса серии OCZ Vertex, про нее будет пара слов чуть позже.

Поэтому осторожно отбрасываем самую нижню планку (приводы, которые давно на рынке, к примеру, Transcend, с множеством разочарованных отзывов). Верхнюю не отбрасываем, ее просто не рассматриваем по причине бедности и жадности и вышеизложенного. Что в итоге остается снизу? В своей деревне я не вижу конкурентов для Silicon Power. Выпускается линейка SATA накопителей 4 (они в продаже есть, а на сайте информации нет), 8, 16, 32, 64ГБ в вариантах SLC и MLC и форм-факторах 1.8 и 2.5 дюйма, и 128ГБ MLC, есть еще и IDE модели. Patriot, Samsung, SuperTalent и прочие, вернее, местные торговцы, предоставляют изделия подобного класса (в своей нижней линейке) в полтора раза дороже, чем Silicon Power. Насчет Patriot – допускаю, что он получше, но нам сейчас важно не переплатить.

Поэтому очевидный выбор - 2х32ГБ MLC накопителя Silicon Power SP032GВSSD650S25.
На сайте производителя
http://tw.silicon-power.com/product/pro_detail.php?main=17&sub=48&pro=89&sub_v=&currlang=utf8
можно увидеть заявленные особенности и технические характеристики:

Compatible with SATA interface (SATA I/ II)
Fully compatible with notebooks and PCs
High reliability assured based on the internal ECC
ROHS Compliant
Low Power Consumption
High performance and reliability
Shock resistance
No noise, No latency delay and No seek error

Performance:
SLC-Read up to 168MB/s, Write up to 145MB/s(16GB,32GB,64GB)
Read up to 140MB/s, Write up to 80MB/s(8GB)
MLC-Read up to 165MB/s, Write up to 95MB/s(32GB,64GB,128GB)
Read up to 160MB/s, Write up to 50MB/s(16GB)

Dimensions:100mm x 69.85mm x 9.5mm
Weight:90g
Durability:10,000 insertions(minimum)
Power Requirement:4.5V~5.5V
Operating Temperature: 0C~70C
Storage Temperature:-40C~85C
Humidity: 8%~95%
Vibraion:15G peak-to-peak max
Shock: 1500G max
2years warranty


Откровенно радует «No latency delay». Также вызывает подозрение максимальные цифры записи по быстродействию, ибо в документации по контроллеру JMicron JMF602 читаем про его максимальную пропускную способность:

«170/135 MB/s Sequential read/write rates (SLC)»


Откуда берется ускорение еще почти на 10% для SLC, неясно, хотя, может там и не JMF602. Но и JMF602 тоже может меняться к лучшему, к тому же, у меня будет MLC, так что пропускная способность находится в пределах заявленной для микроконтроллера. А что касается “up to”, то понятно, что приведены не средние показатели, а максимально достижимые в некоторых режимах работы при максимально благоприятных условиях.

Долговечность в 10000 механических подключений как технический параметр для бытовых нужд бесполезна. Лучше бы дали расчетное время жизни накопителя на запись, в днях, при определенной нагрузке, скажем, 100ГБ/день.

Вариант из двух штук по 32ГБ дороже единичного 64ГБ почти на 50$, но делать нечего. Пока я думал, партия на месте кончилась и пришлось ждать неделю. Зато было время поизучать материалы и бенчмарки в сети.

Как уже отмечалось в главе с теорией, значительный вклад в быстродействие, надежность и качество работы накопителя вносит управляющий микроконтроллер. По материалам интернета, SSD-приводы рассортированы и по этому параметру, и в нижней группе как раз используется контроллер от JМicron JMF602. Intel, естественно, сама в состоянии разработать и произвести устройство подобного класса, равно, как и Samsung и многие другие. Хотя первые дешевые модели у Samsung собраны на JMF602. Если по микросхемам памяти еще как-то можно найти спецификации, то детали про свои микроконтроллеры производители окутали коммерческой тайной и NDA.

Специалисты Microsoft, ввиду закрытости информации по этим микроконтроллерам, провели собственное небольшое аналитическое исследование и моделирование, что нашло свое отражение в весьма интересной статье, крайне рекомендуется к прочтению тем, кто хочет разобраться в работе флэш-накопителей:

http://cp.people.overclockers.ru/cgi-bin/dl.pl?id=30011&filename=ssd-usenix08.pdf

Кстати, использованная среда эмуляции дисковой системы DiskSim, разработанная Мичиганским университетом, это open-source проект, доступный для скачивания по ссылке http://www.pdl.cmu.edu/DiskSim/
Поражает точность эмулирования — около 0.5%, графики эмулированных и реальных процессов полностью совпадают. Но этот продукт - не для крутых бенчеров, а для серьезной работы, так что, если вы прежде не слышали про эту программу, то, скорей всего, она вам и не понадобится. Там же можно найти ссылку и на add-on от Microsoft для ограниченной поддержки эмуляции SSD.


Вот полезный, недавно появившийся сайт, с набром тестов (Atto, hdbenchw, HD Tune, IOmeter и т.д.) для базы данных из более, чем 40 моделей SSD:
http://forum.ssdworld.ch/viewforum.php?f=4

Неплохой русскоязычный обзор с тестами:
http://www.fcenter.ru/online.shtml?articles/hardware/hdd/25058

Обзор на anandtech, прочитать можно, но иходные посылки и сделанные выводы, на мой взгляд, неверны:
http://www.anandtech.com/cpuchipsets/intel/showdoc.aspx?i=3403&p=7

Полезно побывать на сайтах и форумах производителей, к примеру, активно обсуждение ведется на форуме OCZ.

Вот еще обзор Silicon Power 32GB, но в варианте SLC.
http://www.guru3d.com/article/silicon-power-32-gb-solid-state-disk-review/1

В этой статье, написанной совсем недавно, стоимость приводов SLC указана в 329$, а для варианта MLC — 249$. Я заказывал уже по цене в 2 раза ниже. Сейчас, наверное, и это дорого.
К тому же, SLC – накопители от Mtron новой серии 35хх (для бытового использования), той же емкости, стоят сейчас 239$ (но их у нас нет), а им декларирована возможность ежедневной записи 50GB на протяжении 140(!) лет. И срок гарантии пять лет. Да и вообще, компания Mtron летом представила самый быстрый SSD SATA накопитель, до которого Intel до сих пор не дотягивает со своими X25E (по цене примерный паритет), поэтому, они и отложили новую модификацию своего привода на следующий год, чтобы не позориться. Конечно, возможности у Intel по самораспиариванию несравнимо выше, чем у Mtron, поэтому для рядового обывателя Intel – это наше все. Но надо знать, что X25 – продукт, безусловно, хороший, но не лучший (за сопоставимые деньги). Но мы до и таких высот пока не дотягиваем, начнем с чего попроще.

Накануне, 9 декабря, ОCZ анонсировала новую серию своих SSD, оказалась не V3, а просто Vertex. Используются «продвинутые» MLC чипы, встроенный буфер — 64MB! Скорость чтения 200MBs, записи — 160MBs. Цена за 30GB модель — 129 долларов. Предлагается «легендарная» поддержка от OCZ. Сказано сильно, однако нигде про способность веками качать терабайты не прозвучала. Странно, на фоне легендарной поддержки смотрелось бы сильнее. Тем не менее, мои силикончики отдыхают, но я уже писал, что лучше покупать самые дешевые, чтобы не так обидно было. Наверняка не последний приятный анонс в этом году!

Приехали мои «диски». На оборотной стороне коробки — краткая аннотация на 10-и языках, включая русский, реквизиты Silicon Power и провозглашение двухлетней гарантии.

Априори понятно, что SSD Silicon Power используют контроллер JMF602 и память Samsung, тем не менее хочется в этом убедиться. Прощай, гарантия!



Накопитель изнутри, справа металлическое основание



Оборотная сторона и крышка



Микросхемы крупным планом


В отличие от Samsung, Jmicron боковиночки своего чипа отполировал. Справа вверху, на последнем снимке, видно место под мини-USB разъем и под пару нераспаянных SMD резисторов. Осталось выяснить на досуге, реализован ли выход на этот разъем.

На запрос K9GAG08U0M интернет легко отзывается, но datasheet, именно на этот тип, на первых страницах не обнаруживается, лазить в корейско-китайских дебрях быстро надоедает, поэтому будем довольствоваться общим документом Samsung “Flash memory K9xxG08UxM”. Документ предварительный, берущий свою историю с февраля 2005 года, но в моем варианте история его оканчивается в июне 2006 года. Изменения есть хорошие и плохие. Хорошее — с марта 2006 года изделие больше не содержат свинца. Порадуемся за человечество в глобальном плане. Остальные измененные параметры уже были направлены против конкретных людей, купивших эту продукцию. Хотя, в общем-то, это всего лишь была констатация фактов «хотели — как лучше, получилось — как всегда». В этот перечень нехорошего входит сниженное число гарантированных циклов записи/стирания с 10 тысяч до 5. Остальное, в основном, касается предельных таймингов, наиболее существенно увеличилось заявленное максимальное время стирания блока — до 3мс (при типовом 1.5мс). Немного успокаивает, что чипы K9GAG08U0M массово выпускаются только с октября 2007 года, и по 51нм техпроцессу, так что, возможно, мне повезло больше. Но и 5 тысяч — должно хватить надолго, а через несколько лет за те же деньги уже будет продукт и в несколько раз более быстрый и емкий, да и ОС научится его использовать на полную катушку. Так что, все нормально. А так как его можно будет читать еще лет 10 (заявленное время хранения данных), то на снятие всей нужной
информации временной зазор достаточен.


Размышления по поводу срока службы SSD накопителей

Мы опираемся на данные производителя микросхем (это делает и производитель накопителя, который, за исключением Samsung, Intel, Mtron и некоторых других, скорее всего, просто упаковывает SSD в коробки, максисмум собирая корпус на 4-х винтах и клея этикетки, получив готовые платы от оптового OEM-сборщика). Будем ориентироваться на худшее, то есть на 5000 циклов записи/стирания. Правильнее, конечно, указывать это не через слэш, а как сумму, ибо ограничено именно число квантовых переходов, ослабляющих диэлектрические свойства изолятора, отделяющего плавающие затворы транзисторов ячеек памяти от остального мира, да и чтение на самом деле не совсем бесследно проходит. Остается выяснить, на сколько нам хватит полноценного использования SSD с ресурсом в 5000 циклов?

Рассмотрим идеальный вариант, который соответствует равномерной нагрузке на каждую ячейку, а размер записываемых данных кратен странице.
Реальная форматированная емкость 32GB SSD составляет примерно 29.8GB. После того, как этот объем будет записан, его перед повторной записью необходимо стереть, и так будет происходить в цикле. Таким образом, 29.8GB записанной информации «съедает» 2 цикла. Отсюда следует, что предельный объем записываемых данных за всю жизнь накопителя составляет 29.8GB * 5000 / 2 = 74500GB.

Пожелаем своему диску пять лет безупречной работы, поэтому дневная норма записи составит 74500GB / (365*5 ) = 40.8 GB, что кажется вполне приемлимым даже и не для домашнего применения.

Но, скорее всего, производителем указывается число циклов, исходя из страничной записи, тогда надо учесть, что запись производится страницами, а стирается блоками, допустим 4КВ и 256КВ. и необходимо делить число циклов не на два, а на (1 + отношение размеры страницы к размеру стираемого блока), затем разделить на размер страницы, то есть в этом случае пятилетняя дневная норма будет:

(29.8GB / 4КB) * 5000 / (1 + 4/256) / (365*5 ) = 20MВ

Не густо, тем более, что это был идеальный вариант.
С точки зрения маркетинга, производителю выгоднее называть число циклов по первому варианту, так как размер страниц и блоков зависит от реализации и может варьироваться производителем.
Если же это заявляется так, как будет на самом деле, по второму варианту, то остается надеяться на технический прогресс. Флэш - память конца 2008 года уже есть и с жизненным циклом в 5 млн., а типовое значение, скорее всего, уже не 100 тысяч для SLC, как было на начало 2008 года, а 1 миллион, соответственно и MLC не стоит на месте. Так что, рост более, чем на порядок за год, внушает оптимизм.

Тем не менее, идеальная картина, с любым заявленным числом циклов, в реальности будет другой.

Начнем с того, что, даже при использовании кластера в 4KB (а SSD накопители рекомендуется форматировать с большим размером, к примеру, 16KB), если записываемый файл меньше этого размера или не точно кратен кластеру, то начинаются бесполезные потери доступного «дискового» пространства, тем выше, чем больше размер кластера. И поэтому нагрузка на циклы записи будет выше, чем рассчитано в идеальном варианте.

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

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

Кроме того, проводится еще ряд специфических файловых операций, так сказать «внутренняя работа», тоже производящая операции записи-стирания.

В итоге наша рассчитанная средняя ежедневная нагрузка может стать намного меньше. Но значения нескольких мегабайт в день как-то особого удовлетворения не приносят. Как же Intel не боится и все-таки разрешает своим MLC приводам в течение пяти лет ежедневно перезаписывать по 100GB?

Во-первых, никто не проверит. Чтобы убедиться в этом на практике, нужно проводить операцию записи непрерывно в течение нескольких лет. Или накупить кучу SSD и в динамике проводить сложные вскрытия на дорогом оборудовании под электронным микроскопом. Кто будет этим заниматься? В случае неуспеха и преждевременного выхода из строя Intel сделает удивленное лицо и заменит его по гарантии, и все дела. Так что, можно было смело заявлять и про 200GB в день. А через несколько лет самый дешевый MLC будет уже на это способен.

На самом деле, не зря все разработчики контроллеров SSD засекретили ТТХ и алгоритмы своих продуктов. На сайте JMicron можно скачать pdf-буклет про JMF602 с нарисованной общей блок-схемой и написью NDA required (до 1 июня 2008 года), а по всем страницам поперек идет красная надпись Confidential. Ибо контроллер, в основном, и отвечает за чудеса работы SSD, которые мы видим (как в плохом, так и в хорошем смысле). Попробуйте найти реальную документацию по контроллеру того же JМicron, Samsung или Intel. Если вам удастся, поделитесь. Мой запрос в JМicron остался без ответа. Поддержка Silicon Power была более многословна, но, несмотря на несколько попыток, я получал неизменный ответ, что компания на вопросы о внутренностях своей продукции не отвечает, но гарантирует, что закупает все самое лучшее и очень легально. И неизменно вставляет в ответ картинки с логотипами присужденных им наград, желая всего и вся. Ну и от меня им того же, правда, фото своих медалей я им не выслал.

Методик, рассчитывающих «реальную» долговечность SSD накопителей, можно найти или придумать очень много, в зависимости от вида нагрузки, коэффициента заполнения и т.д., но сегодня, во время переходного процесса становления SSD как класса, я не вижу от них никакой практической пользы, а завтра о них уже можно будет смело забыть.


Накопители X25 всколыхнули компьютерный мир (правда, за счет распиаренности, так как не являются лучшими за предложенные деньги) и подстегнули рост интереса к SSD. В чем же может быть тайна накопителей Intel? Остается только гадать про размеры и организацию буферов микроконтроллера, организацию и параметры памяти, подозревать, уж не нулевой рейд какой они внутри сотворили.

Но одно из возможных решений улучшения работы SSD доступно и в виде отдельного программного продукта, от компании EasyCo www.easyco.com , под названием Managed Flash Tehnology (MFT) - Flash SSD Acceleration Software (Технология Управляемой Флэш-памяти - программное решение для увеличения производительности SSD).
Об этой технологии и поговорим в следующей главе.

MFT – ускоряем запись небольших файлов и продлеваем жизнь SSD

Процитируем один из выводов с сайта разработчика MFT:

“The reasonable conclusion is that with MFT, drives using MLC chip technology are satisfactory for about 95% of all server applications, and that SLC technology drives with their capacity to be overwritten 15 to 25 times a day, are suitable for use even in mission critical 7x24 Enterprise environments.“
Что в переводе звучит так : «Можно сделать обоснованный вывод, что накопители MLC, использующие технологию MFT, пригодны для 95% серверных приложений, а накопители SLC, под нагрузкой ежедневной записи, превышающей объем накопителя в 15-25 раз, пригодны даже для применения в промышленных серверах с круглосуточной работой с приложениями, предъявляющими повышенные требования к надежности хранения данных».

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

Но с какой стати MLC SSD-накопители, с малым сроком службы и с не лучшей производительностью при случайной записи файлов небольшого размера, типичных для серверных приложений, вдруг стали пригодными для этого?
Идея достаточна тривиальна, хоть и заявлено, что будет прикрыта патентом. Дай бог не опоздать и не погрязнуть впоследствии в судебных тяжбах по таким тонким делам.

Суть заключается в том, что небольшие файлы, записываемые случайным образом, не только нерационально расходуют рабочий объем накопителя, но и отнимают относительно много времени на операции подготовки к записи, и от этого предлагается отказаться, группируя такие файлы в RAM и создавая линейные цепочки оптимальной длины, эффективно используя свободное место на накопителе. Последовательная запись выполняется гораздо быстрее, кроме того, декларируется повышение жизненного цикла SSD на величину вплоть до двух порядков (для MLC).

Программа коммерческая, находится в бета-стадии (текущая версия для Windows 0.989a, существует версия для Linux), стоимость для одиночного 32GB SSD составляет 60$.

При запуске программа проверяет дисковую конфигурацию, что может длиться несколько минут и сопровождаться появлением сообщения “...not responding”. Такое неприятное поведение возможно при первых запусках и после смены дисковой конфигурации. Типичный лог этой проверки выглядит так:


Данные о конфигурации и лог


Доступна 30-дневная пробная версия (нужно выбирать ОC, объем, есть ли рейд и т.д.), для этого надо путем онлайн регистрации получить серийный номер (можо все это делать и по электронной почте, активация с помощью кнопки хоть в интерфейсом предоставляется, но пока отключено), затем, после установки программы (она ставится и без серийного номера, но не работает без активации) вводится полученный серийный номер, появляется активационный ключ.


Ввод ключа в MFT


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

Для того, чтобы SSD смог воспользоваться технологией MFT, он должен быть отформатирован средствами самой программы. Вследствие этого, MFT-привод в настоящее время не может являться загрузочным, что является серьезным ограничением. Но, тем не менее, предлагаемая технология интересная и провести тесты любопытно. К тому же, на сайте EasyCo выложены результаты бенчмарков для нескольких видов SSD, производства Mtron, SuperTalent, Transcend и других. К сожалению, отсутствует тест SSD от Intel, очень бы интересно было взглянуть.

По каждому накопителю, отформатированному как MFT том, накапливается статистика. По трем колонкам сгруппированы данные по форматированию (видно, что был выбран блок для записи в размере 16КB); суммарной наработке по времени и числу циклов чтения и записи; статистике износа привода:


Накопленная статистика по MFT-накопителю


В программу встроен собственный бенчмарк, показывающий число операций в секунду и пропускную способность по случайным операциям чтения и записи, работающий не только SSD и SSD+MFT, но и для любых накопителей (в том числе USB), распознаваемых ОС. Единственное ограничение - должно быть не менее 4GB свободного места под формируемый тест-файл и место для исполнения самого теста, поэтому 4GB устройства проверить не удастся.

Вот как выглядит пройденный тест SSD SiliconPower 32GB MLC без MFT:


Бенчмарк простого SSD


Тест SSD с использованием MFT:


Бенчмарк SSD как MFT-тома


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

Так как сама программа MFT, по сути, является двойным буфером, отъедая для своих нужд и RAM, и часть SSD, то правильнее сравнивать эффект от этой программы с нормальными условиями эксплуатации в операционной системе. Так как информация по управляющим контроллерам закрыта, то какие буферные объемы памяти, как и в каком количестве находятся в их составе, остается только предполагать. Кэширование большого объема попадающих в накопитель данных - рискованное занятия, и по информации с сайта anandtech, автор статьи про X25 и страшные проблемы всех остальных SSD, собранных на JMF602, ссылается на заявление Intel, что входной буфер не используется. Однако, при моей переписке с сотрудником компании EasyCo, он сделал предположение, что там используется специальный кольцевой буфер. Правду мы узнаем, рано или поздно, но и по моему мнению, без серьезного кэширования тех результатов, которые есть у Intel (а у Mtron они еще лучше), не получить. Конечно, может сыграть свою роль и более эффективное распараллеливание (внутри корпуса микросхемы памяти физически их находятся, к примеру, 16 штук, что вполне может и быть) и ряд других мер, гадать можно долго.

Кстати, именно RAM-буфер в программе MFT и объясняет те чудесные результаты, которые появились на графике бенчмарка HD Tune в начале статьи – при подходящем объема и размере данные начинают записываться в оперативную память, что хорошо заметно на графике.

В реальной ОС кэширование будет, вот тест SSD накопителя от Silicon Power в программе IOmeter под ОС Windows XP SP2 (в Vindows Vista SP1, в связи с изменением логики работы системы IO и кэширования, результаты будут еще лучше):


Тест 100% случайной записи файлов 4KB для SSD Silicon Power MLC в IOmeter



Но тесты впереди, вернемся к программе MFT.
Даже с учетом того, что в Wndows Vista результаты произвольной записи 4KB файлов на SSD MLC без MFT могут быть 1000 IOPS, все же, превосходство MFT на порядок - это очень существенная прибавка. А в рейде этот результат легко смасштабируется линейно, в отличие от SAS дисков. На сайте компании EasyCo есть масса полезных тестов и документов по этому вопросу.

Грустные мысли о MFT

Казалось бы, все здорово. Но я не могу отделаться от приходящей в голову аналогии о продукции и судьбе компании Ageia, с ее реальным, но тоже практически бесполезным изделием, физическим ускорителем. (Вот ее программа PhysX, это, хоть менее тактильно осязаемая, но более интересная вещь, приходилось общаться, - компактно, интересно, даже SDK стала со временем бесплатна). А сама плата — кому она была нужна? По сути, основная ее беда была в том, что не было возможности влезть в процесс рендеринга и это изначально ставило на ней жирный крест. Возможности есть у разработчика графического API (то есть Microsoft, если говорить о Windows) и производителей видеокарт. А у них есть свои планы работы по внедрению физического движка. Но, может, это и была стратегия компании — образовать с нуля какую-то стоимость и успешно продаться реальным творцам физического ускорения — NVidia, AMD, Intel, Microsoft (правда и они пока не особо стараются на этом поприще).
Почему такая аналогия может иметь место?

Вопрос долгожительства MLC SSD должен быть проверен временем. Но время работает против MFT. Уже сегодня эта технология, с точки зрения срока службы, для SLC не нужна и даром. А относительно скоро это будет верно и для MLC.
Остается быстродействие. Идея интеллектуального кэша перед накопителем не новая, и кто знает, какими патентами прикрыты контроллеры Intel, Mtron и т.д., которым уже сегодня не нужна MFT и в плане помощи случайной записи файлов.
В итоге, для EasyCo есть короткое время «здесь и сейчас» в виде рынка сегодняшних MLC SSD, сделанных, к примеру, на контроллере JMF602, и которые покупатель собирается поставить для выполнения типично серверных (по характеру нагрузки) приложений. Другого применения я не вижу. И, скорее всего, не помогут попытки продажи «совмещенных» продуктов, т.е. комплекта SSD + MFT, чем недавно заинтересовалась и OCZ. Но OCZ сама по себе что-то сенсационное готовит к рождеству-2008.
А если еще вспомнить, что с MFT диски не бутабельные! Впрочем. это решается разбиением SSD на логические диски и дополнительной настройкой ОС под SSD, но разве дело дробить и без того далеко не гигантские объемы?
Да и цены высоковаты уже сегодня, а хватит ли духу их вовремя снизить? К тому же, повышенное быстродействие на малоразмерных файлах, привело к падению скорости чтения и режимах, близких к последовательным, причем более, чем на 20%. Это тоже надо учитывать, что кому важнее.
Не желаю краха компании EasyCo, даже наоборот, но мне кажется, что ее успех будет в том, чтобы не погрязнуть в судах по отстаиванию патентов и удачно продать самих себя кому-нибудь, навроде нового объединения Intel + Hitachi GST. Может, в этом и состоит стратегия компании?

На мой взгляд, аналогия с Ageia уместна.

Размышления о ценах на SSD

Разбираясь с тем, насколько сложнее устроена ячейка флэш-памяти MLC по сравнения с SLC, приходит ощущение, что, вообще-то, ценники на SSD неправильные. И не в плане величины как таковой, а в отношении цены гигабайта MLC к гигабайту SLC. Себестоимость MLC явно дороже, контроль жестче, алгоритмы микроконтроллера сложнее. Мне кажется, что в высокой цене SLC и кроется возможность выпуска MLC, которые продаются c минимальной прибылью для производителя. Пусть даже и не с минимальной, а с большой, но тогда это означает, что для SLC резерв снижения цены просто колоссален. Надеюсь, динамика цен будет еще более быстрой и в нужную для покупателей сторону.

Тестирование

Конфигурация тестового стенда

Athlon X2 4850e 2.5GHz (охлаждение - ThermalTake Sonic Tower, пассивное)
Asus M3N78-EM 8GB DDR2-800 A-Data GF8300 integrated
Asus BC-1205PT BluRay
Asus WL-130N Wi-Fi
Enlight Card reader с пультом ДУ под Windows Vista
PCIEx1 SATA контроллер Sil3132 (возможен программный Raid)
Блок питания EzCool 400Вт, переделанный под пассивное охлаждение

HDD&SSD&Flash

SSD SiliconPower SATA2 2х32GB SP032GВSSD650S25 MLC
HDD Hitachi SATA2 320GB HDT725032VLA360
HDD Samsung IDE 80GB SP0802N
CF MaxFlash 233x 4GB
USD Flash SanDisk Cruser 2GB U3

Операционные системы
Windows XP SP2
Windows Vista Ultimate 32 SP1
Драйвер NForce 15.24

Программное обеспечение
HDTune Pro 3.10
IOmeter 2003.03.15
MFT .981

Честно говоря, не хотелось бы повторять многочисленные обзоры и графики из различных стандартных бенчмарков. Связка JMF602 + флэш-память Samsung широко представлена в интернете. SLC версии накопителей могут немного превосходить своих MLC братьев, но в целом картина известна.

Поэтому, в плане бенчмарков, сделаем упор на том, что не так хорошо освещено в сети, а именно сравнение обычных приводов и MFT-накопителей, и посмотрим на происходящие события «изнутри» ОС и прокомментируем получившиеся результаты.

Начнем с IOmeter в Windows XP SP2 (специальная быстрая инсталляция для тестов, с лицензионного диска, без активации и свежих обновлений). Почему используется давно забытая мной древняя XP? Просто потому, что для тестов, в том числе HDD, есть несколько программ, разработчики которых не стали развивать продукт и он не работает в более поздних ОС Windows.
Так как SSD у нас далеко не самый прыткий, соперниками будуь выступать Samsung, CF от MaxFlash, и USB флэш SamDisk. Честно говоря, это было самое первое тестирование и на тот момент другого HDD просто не было. Но данные по любым HDD хорошо известны, доступны и легко можно интерполировать. И сразу отметим, что кэширование в ОC Windows Vista SP1, работа кэш-менеджера и менеджера IO была существенно переработана, снято ограничение на максимальный размер кэширования при операциях копирования, более грамотная группировка мелких файлов и упорядоченная работа, в том числе и своп-файл (собирается в большой кусок и записывется реже, естественно, поддерживается максимально приоритетное чтение со своп-диска). То есть результаты в Vista будут заметно выше (по некоторым позициям до 2х раз), особенно для SSD. Эта разница, к примеру, примерно будет соответствовать разнице в тестах HD Tune, при задании на вкладке опций максимально точной оценки и блока 64K (имитируем XP) или 1M и выше (имитируем Vista).

Итак, 100% случайное чтение, данные в формате cvs импортированы в программу-графопостроитель.


IOmeter. 100% случайное чтение


Очевидно, что твердотельные накопители на коне. Даже случайно затесавшиеся в тест CF и USB, вплоть до величины файлов 256КB, демонстрируют лучшую производительность.

Последовательное чтение:


IOmeter. Последовательное чтение


Тут НDD отыгрывается (но HDD проиграет SSD в ОС Vista). Правда, скорость SSD по ТТХ в два раза выше, так что все быстро становится на места. Чтение CF и USB-флэш упирается в возможности контроллера, так как эта CF, при IDE-подключении, обеспечивает чтение свыше 40MBps.

100% случайная запись:


IOmeter. 100% случайная запись


SSD отрывается на 10-40%. Кажущаяся нестационарность процесса в конце обусловлена неравномерностью горизонтальной шкалы (ну и немножко кзша не хватает в XP). Mалые твердотельные братья совсем никакие.

Последовательная запись:


IOmeter. Последовательная запись


Так же, как при последовательном чтении, в последовательной записи HDD в начале пути обыгрывает SSD, причем для 16KB фалов с перевесом в 60%. Постепенно, оба выходят на максимальный для данных условий режим. В данном случае победил SSD.
Твердотельным братьям стало чуть полегче.

Современные HDD этот барьер возьмут запросто. Но и одиночные очень дешевые MLC SSD уже есть в продаже, с записью 160MBs, только вчера их анонсировала OCZ!

Смешанный режим:


IOmeter. 100% random 70% read / 30% write test



Очевидно (так как это подтверждается и другими тестами), что SSD менее подвержен падению производительности под более реальными условиями работы.

Латентность:


IOmeter. Латентность для предыдущего теста


В обзоре с anandtech было заявлено, что контроллер JMF602 имеет высокие задержки и, если требуется запись, например, при работе IM-программы, появляется неприятная секундная задержка. С первой частью утверждения согласиться можно, SSD демонстрирует максимальную задержку почти в секунду ( на Vista – менее 0.4с). Однако, вторая часть утверждения у меня подтверждения не нашла. Обратите внимание на величину средних задержек SSD — 0.98мс для маленьких и 11мс для больших файлов (соответственно 11 и 31 у HDD). Аномально высокая задержка никогда не появлялась ранее 20-30с от начала теста, это подтверждается и другими данными. Вероятная причина задержек — одновременно переполнение входного кольцевого буфера из-за его очень маленького размера и проведение фоновых операций очистки блоков. Интенсивность таких провалов может достигать 3-4 раз за минуту. Это можно наблюдать и по скачку и постепенному снижению средних значений задержек при мониторинге показаний в Iometer. Но ни разу не наблюдалось задержки записи «с ходу», визуально также никакая плавность работы ни в чем не нарушалась.

Было еще несколько тестов с ATTO, HD Tach, но они ничего нового не добавляют, их, к тому же, для данного типа SSD, можно найти по приведенным ранее ссылкам.

Переходим в Vista Ultimate SP1 32, со всеми последними обновлениями. Далее у нас будут только три участника: SSD, SSD+MFT и HDD Hitachi.

Давайте сначала посмотрим на поведение SSD в программе HD Tune. Несмотря на то, что JMF602 и память Samsung используются во многих SSD от разных производителей, каждые виды накопителей имеют свой «почерк» в разных тестах. Silicon Power показывает, при тесте на чтение, характерную модуляцию пилой (имеется в виду не частокол вверх-вниз, а нижняя огибающая) :


HD Tune. Тест чтения


В программе HD Tune часто можно увидеть некорректное отображение burst rate, СPU usage, но пока нам эти параметры неинтересны. Давайте проверим отличия режимов записи, и определим, чем обусловлены различия производительности в XP и Vista. Вот запись блоками 64КB а-ля XP и 1МВ:


HD Tune. Запись 64KB блоками



HD Tune. Запись 1МB блоками



Хорошо заметно, что, во втором случае, SSD в полтора раза дольше удерживает масимальную производительность, причем существенно выше и само значение. То есть, он пытается работать примерно по принципу MFT, более широкое кэширование позволяет обойтись меньшим IOps, а когда приемный буфер полон, и если еще начинается внутренняя фоновая работа, например, по "стиранию" блоков, то и случаются паузы, время от времени, мы видели их по графикам латентности. Ситуация некрасивая, и, хоть в Vista немного получше, сравнения, с накопителями Mtron тестируемые SSD не выдерживают, у Mtron линия и записи, и чтения - почти идеальная горизонтальная прямая.
Но опять не видно, что эти дерганья начинаются сразу — контроллер пытается удержать ситуацию под контролем, и некоторое время это ему удается, в зависимости от размера помощи от ОС.

Ну и, за компанию, файловый бенчмарк на последовательные операции:



Теперь проведем тестирование приводов в бенчмарке MFT (т.е., без кэширования данных ОC) по случайному чтению и записи, а потом, чтобы все было «как в жизни», добавим к этим данным работу этих же дисков в тесте IOMeter, предварительно написав для него конфигурационный файл, выполняющий непрерывно по те же 14 градаций случайных чтения и записи. Ниже приведены построенные по этим данным графики.

Чтение:


MFT read benchmark


Шансов у HDD нет.
IOPS у SSD различаются в пределах погрешности. В линейном чтении MFT мешает накопителю и он отстает от простого SSD на 15%.

Запись:


MFT write benchmark


Все-таки, как в свое время мы отметили, отрыв по записи SSD+MFT впечатляет. HDD имеет набортную память, что позволяет ему легко обойти «голый» SSD, но и он колоссально проигрывает приводу с MFT. Давайте посмотрим на все это глазами операционной системы и попытаемся понять, что происходит во время бенчмарка MFT (это я, наверное, насмотрелся канала NatGeo Wild, где сейчас мы часто смотрим на мир глазами леопарда).

Для этого создадим в Windows Performance Monitor свой набор данных (достаточно взять физический диск, лучше отдельно) и запустим монитор на период работы вышеуказанных тестов (я, естественно, это делал сразу и под расширенным набором контролируемых параметров).
Далее на всех графиках толстая красная линия означает текущее значение записи в байтах в секунду, тонкая красная — число оперций записи в секунду. Соответственно, синие линии — для чтения. Сиреневая линия — загрузка ЦПУ, в %. Так как вертикальная шкала одна, то данные, как правило, масштабируются, что отражено в легенде под графиком.

HDD Hitachi:


Тест MFT- HDD, как его воспринимает ОС


В данном случае, для ЦПУ масштаб равен 1, то есть прямое считывание показаний в %. Для скорости чтения и записи масштаб 0.0000001. Это означает, что шкала примерно соответствует мегабайтам в секунду. Для числа операций в секунду по чтению масштаб 0.1, по записи тоже, то есть данные шкалы нужно умножить на 10.

В начале графика видно, как происходит запись 4GB тестового файла на диск, то есть фактически можно определить предельную скорость записи без внешнего кэширования. Но у Hitachi встроенный буфер на 8MB, поэтому запись достаточно резвая, под 70MB/s.

В дальнейшем, все, как в учебнике, все 14 градаций по записи и чтению хорошо прослеживаются и соответствуют IOPS. При желании, можно добавить параметр FileControlCount на график (из набора system) и он даст характерные засечки при смене подтестов, но можно легко ориентироваться и по времени, подтест занимает примерно 10 секунд.

SSD без MFT:



Тест MFT - SSD, как его воспринимает ОС


Сразу отметим, что поменялся масштаб по операциям чтения. Чтобы получить скорость в мегабайтах в секунду, показания шкалы нужно умножить на 10, а для числа операций — на 100. По записи масштаб не изменился.
Становится понятно, что внутренний буфер JMF602 далеко не измеряется в мегабайтах. Пытается, как мы уже видели, начать хорошо, но тут же захлебывается. Легко посчитать, что средняя скорость записи около 27MBs (делим 4GB на потребовавшееся время). Хотя очевидно, что, имея кольцевой буфер поприличнее, легко достижим и двукратный рост. Зато показаны неплохие результаты по чтению, обратим внимание на максимальную скорость, (тут уже понятно, можно говорить о линейном чтении), равную 168 миллионов байт в секунду, то есть свыше 160MBps.
Это видно и по тому, как нагружается процессор.
Но небуферизованная запись вообще никакая.


SSD плюс MFT:


Tecт MFT - SSD+MFT, как его воспринимает ОС


Масштаб изменился только для числа операций записи — теперь он просто соответствует шкале.
Ну что сказать, на первый взгляд, — чтоб мы все так жили! Верхняя полочка записи ровненько лежит под 70MBs, визуально заметно вдвое меньшее время, потребовавшееся на запись начального 4GB файла. Несколько пиков по производительности записи простираются до 85MBps, но никак не дотягивают до 95MBps, обещанных производителем. Процессор слабоват, наверное.
По чтению — две новости. Хорошая и плохая. Начнем с хорошей.
Заметно, что выход на максимальную производительность происходит быстрее и имеет большую равномерность, и в среднем участке производительность повыше.
А плохо то, что максимальная скорость чтения упала на 20%. Впрочем, если обычный SSD отформатировать под кластер 16KB, падение такое же (а я рассчитал, что будет наоборот), но рекомендации EasyCo, для сходного по аппаратной начинке SSD от Super Talent, были такими же — MFT-форматирование производить с 16KB. Так что, возможно, по чтению ситуация и не изменилась, но потребуется дополнительная проверка, поскольку в небольшом дополнительном пространстве, отъедаемом MFT от объема накопителя, хранятся ее данные и таблицы, требующие постоянного чтения и записи, это чтение хорошо прослеживается в момент, когда MFT-бенчмарк (по чтению) уже завершен и идет тест по записи.

Но отличия по скоростям записи — просто нет слов. По крайней мере, безоружный безкэшевый накопитель ни в какие подметки не годится. Не зря EasyCo сравнивает свою MFT с безоружным, ибо файлоый, кэшевый, и io менеджеры Windows уже не делают соотношение таким безнадежным. А будущие ОС его и вовсе нивелируют, и, при смене интерфейса и алгоритмов, просто разгромят.

Для того, чтобы убедиться, что сравнение EasyCo нечестное, обратим внимание на характер и число операций записи. Интересная картина — они не зависят о того, идет чтение или запись, и некоторое число циклов (около 25) проводится примерно каждые семь секунд. То есть, судя по всему, накопление данных происходит в RAM, а затем в 7-секундном цикле, происходят запись сформированных длинных последовательностей на предельной для накопителя скорости записи, подобно тому, как организованы односекундные ”lazy writes” в Windows. Возможно, впрочем, что эта интерпретация и не верна.

Есть и еще одна причина, о которой станет ясно после дальнейших тестов, разработчикам MFT нравится громить безкэшевые SSD, поскольку в реальной Windows они могут попасть уже совершенно в противоположную ситуацию.

Вернемся в реальную жизнь и посмотрим, как поведут себя SSD-накопители в бенчмарке, не зависящем от EasyCo. Воспользуемся программой IОmeter и смоделирум тот же тест, по 14 подтестов случайного чтения и записи и понаблюдаем за поведением накопителей, с точки зрения ОС Windows Vista Ultimate SP1.

SSD без MFT:


IOmeter. Эмуляция MFT-теста для SSD без MFT, как его воспринимает ОС


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

SSD плюс MFT:


IOmeter. Эмуляция MFT-теста для SSD + MFT, как его воспринимает ОС


Масштаб по IOPS записи опять стал 1.0, то есть прямое соответствие шкале.
Произошло что-то интересное, как по чтению, так и по записи. По цифрам скорости чтения вопросов нет, хотя на всем протяжении теста по чтению IOPS держится на уровне 2500. А после того, как тест чтения уже закончен, видим по-прежнему напряженную работу по чтению, причем с реальным очень большим трансфером.
Новая независимая метла метет по новому, и от прежнего победного по записи графика MFT осталось лишь жалкое подобие. Впрочем, на небольшом участке мелких файлов осталось преимущество, от 4 раз (10MBs против 2.5MBs) на 4КВ, исчезая к 128КВ файлам, а в линейной записи MFT уже уступает 10%! Но интересно бы наложить текущие графики записи на предыдущие. Но еще более интересно столкнуть приводы в очном поединке, запустив одновременно одинаковые тесты. Кто кого?


IOmeter. Эмуляция MFT-теста и одновременная работа SSD и SSD+MFT, как его воспринимает ОС


Поскольку здесь два накопителя, прежние цвета (синий и красный) достались «чистому» SSD, а SSD+MFT получил голубой для чтения и зеленый для записи, тонкие линии для IOPS, толстые — для пропускной способности.
Боливар не выдержал двоих. Максимальная скорость по чтению для SSD упала процентов на 20, что терпимо, так как два SSD в системе, минимальная латентность. А что покажет SSD+MFT? Пляски вокруг числа 30. Смотрим на масштаб — 0.0001! Это означает, что идут пляски даже вокруг не 30MBs, а всего лишь 3MBs! Для верности в легенде подсвечиваем толстый голубой график и на рисунке видим — 3 миллиона байт с хвостиком в секунду. Объяснение может быть — Windows в критические минуты не дает приоритета драйверам MFT, выводя их на никакую производительность. Или я в чем-то ошибся, хотя идет пакетная обработка и другие тесты проходят нормально. Впрочем, еще есть маловероятное объяснение от Intel, сделанное для объяснения проблем с X25M, что привод должен «привыкнуть» к нагрузке и нужно время. С трудом в это верится, тем более время не было определено конкретными цифрами, поэтому как-то расплывчато и сомнительно звучит.

Но вот и графики записи наложились. И здесь не особо радостная картина получается для MFT. Да, заточка под 4KB файлы работает, но быстро сходит на нет и с размера 128KB MFT вчистую проигрывает.

Слишком много чудес с MFT, поэтому ставим жирный вопрос, такое драматическое падение чтения требует перепроверок. Возможно где-то вкралась ошибка.

Продолжаем... Впрочем, для статьи уже пора и заканчивать, иначе получается повесть.

Raid массивы пока трогать не будем, так как пока пробовал только програмные на ICH9R, NForce и Sil3132, да и накопителей пока всего два.
Впрочем, можно и показать.

NVidia raid0 (128k):


HD Tune 2x32Gb NVRaid0 FileBench


Для эксперимента был сделан загрузочный рейд на Sil3132 и установлена 64-битная ОС Windows 7 Ultimate beta build 6861. Результаты похуже, а в свете новых OCZ Vertex, так и вовсе позорные Спишем все на бету.

Кроме того, вот неплохо сделано было:
http://i4memory.com/f9/ocz-core-ssd-2-5-solid-state-disk-raid-highpoint-rocketraid-3520lf-pci-e-x8-raid-controller-10744/

Нам до этого еще дорасти надо.

Что касается субъективных ощущений, то ничего плохого про накопители не скажешь. Продолжаю искать, к чему бы придраться. Скоро, наверное, на переустановки ОС и записи 4GB тестовых файлов досрочно растраачу жизненную силу своих Silicon Power.

Кстати, реальная работа MFT никак не демонстрирует 40MBps на 4KB файлах. Но мне заточенность под серверные приложения и не нужна. К примеру, многократно гонял туда-сюда (специально, чтоб кэш прогрелся) копию папки System32, около 3GB, если удалить все подкаталоги, то 1GB со средним размером 170КВ). МFT дает на чистых файлах 3-4 кратное преимущество, если гоняется папка с подкаталогами, то преимущество только 30-40%. Но зато я перегоняю фильм со с скоростью 160MBps с SSD на еSATA диск (вернее, в кэш). MFT такого не дает. Надо еще потестить, уж очень странно упала скорость MFT при совместной работе SSD.

Подводим итоги

А итогов пока нет. Оставим их на будущие статьи, а текущую примем как информацию к размышлению. И введение в вашу самостоятельную борьбу за правое дело SSD.

На будущее, надеюсь, недалекоe, оставим и Raid, и настройку ОС для работы с SSD. Ибо в заметке Немного о RAMdisk-ах, своп-файле, SSD и бесшумном компьютере , которая является некоторым предшественником текущего материала, высказано предположение, что для нормального внедрения SSD в текущие версии десктопных ОС Windows, желательна поддержка в виде RAM-дисков. Там же было обещано и провести объективные замеры, в частности, по IOPS, говорящие в пользу такого подхода, но воз пока и ныне там. Поэтому, в будущих заметках эта тема наверняка будет раскрыта, да и помимо этого есть интересные проблемы.
Надеюсь, скоро и моя конфигурация HTPC-2 стабилизируется, обрастет более-менее нормальным raid-контроллером и добавится еще парочка SSD.

Все изложенные комментарии и выводы есть субъективная реальность, данная в ощущение только автору статьи. Если вам кажется, что ваша субъективная реальность ближе к объективной, то с удовольствием променяю свои ощущения на ваши, в случае доказательной убедительности. Обмен ощущениями можно произвести здесь .

10 декабря 2008 года,
специально для overclockers.ru
(с)Zaurozavr aka zauropod
Telegram-канал @overclockers_news - это удобный способ следить за новыми материалами на сайте. С картинками, расширенными описаниями и без рекламы.
Оценитe материал

Возможно вас заинтересует

Популярные новости

Сейчас обсуждают