Кому и зачем нужны SSD диски?
Если вы внимательно следите за компьютерными технологиями, то, конечно, знаете, что развитие жестких дисков не стоит на месте. Производителям удается «упаковать» на каждый квадратный дюйм все больше байт, повысить надежность, снабдив устройства акселерометрами. Однако с увеличением скорости работы HDD все обстоит далеко не так радужно. Взгляните на этот график.
Разрыв между ростом производительности CPU и жестких дисков
С 1996 года фактическая производительность жестких дисков увеличилась всего в 1,3 раза! Довольно неожиданно — ведь мы все помним, что раньше системы работали гораздо медленнее, запись на диск шла дольше. Многое было достигнуто за счет использования кэш-памяти, а также оптимизации процессов записи и чтения. Но факт остается фактом — при впечатляющем росте объемов, производительность HDD возросла незначительно. При этом «скорострельность» процессоров выросла в 60 раз, а с учетом использования многоядерных сборок и вовсе в 175 раз.
Видно, что использование флеш-накопителей прямо-таки «напрашивается», особенно в случае приложений с высокими требованиями к скорости случайного чтения. Ведь производительность современных HDD ограничена 300 операциями ввода-вывода в секунду (для дисков 7200 RPM это значение еще меньше), а современные SSD могут обеспечить до 35 000 операций ввода-вывода (это число справедливо для быстрых серверных твердотелых накопителей, однако и в случае с медленными SSD преимущество всотни раз).
Плюсы замены HDD на SSD
Есть и еще один недостаток HDD — низкая отказоустойчивость при использовании в «полевых» условиях. Процент их отказов составляет 8,6% за 3 года (Google Labs, Failure Trends in a Large Disk Drive Population), и это очень много, особенно с учетом того что этот процент может быть больше для жестких дисков ноутбуков (Google проводил исследование своих массивов стационарных HDD).
Впрочем, еще пару-тройку лет назад о том, чтобы заместить жесткие диски твердотельными накопителями, не могло быть и речи. В 2007 году большинство производителей выпускало лишь 1 гигабитные чипы NAND памяти — для того, чтобы создать систему хранения более-менее приличного объема требовалось слишком много элементов. К тому же, надежность их оставляла желать лучшего (вспомните проблемы с первыми Acer Aspire One — до сегодняшнего дня дожила дай бог половина тех нетбуков с SSD, особенно у тех, кто, несмотря на рекомендации компании, поставил на устройства Windows XP). Конечно, проблемы не в последнюю очередь были связаны и с несовершенством драйверов. Сегодня ситуация постепенно меняется.
Начиная 2010 года, в массовое производство пошли чипы емкостью 32 Гигабита (4 Гигабайта). Из них уже гораздо проще набирать хранилища данных больших объемов. 18 мая 2010 года компания Intel также объявила о переходе на технологию производства 25нм для NAND флеш — это вскоре позволит удвоить емкость чипа, а значит, снизить цену на SSD.
Еще одна важная особенность — флеш-диски стали более «живучими», не только за счет повышения количества циклов перезаписи NAND-микросхем, но и благодаря снижению требований к ячейкам за счет оптимизации, «интеллектуализирования» процессов записи и чтения.
Способы оптимизации работы с SSD, применяемые Intel
Для пониманияизменений в индустрии флеш-памяти с 2007 года, надо хотя бы в общих чертах представлять себе, как работают подобные «диски».
Конечно, никаких дисков как таковых во флеш-памяти нет, вместо этого — ячейки, запоминающие состояние. Фактически, флеш гораздо больше схож с традиционной памятью (RAM), нежели с HDD, только RAM ориентирована на быстродействие, а флеш-память — на максимальный объем, дешевизну и энергонезависимость.
Самое основное отличие же «флеша» от «жесткого диска» в том, что он изнашивается при записи (без разницы, в какую ячейку), и практически не изнашивается при чтении. К тому же, быстродействие флеша не зависит от того, в какой последовательности мы пишем данные (в случае с жесткими дисками, напомню, важно было записать данные как можно ближе друг к другу, чтобы минимизировать перемещения головки). Поэтому для работы с флеш-дисками используется так называемая «непрямая запись» или «система перенаправлений» (Indirection System). Именно эта система записи ассоциирует логические блоки (LBA) с физическими блоками в NAND-памяти. При этом, в отличие от HDD, ассоциация LBA с физическим адресом меняется при каждой записи.
Методика записи Indirection System
Зачем была нужна такая сложная система?
Дело в трех особенностях. Во-первых, информация записывается в SSD довольно большими фрагментами, а во-вторых, для того, чтобы записать информацию в какой-то сегмент SSD, ее нужно сначала стереть (затратив время), а особенно много времени затратится в случае, если информация занимает сегмент не полностью (ее придется считать, записать в другое место, и только потом стереть предназначенный для записи сегмент). И, наконец, как уже упоминалось заранее, каждый сегмент SSD можно перезаписать только определенное количество раз, после этого он деградирует.
Таким образом, оптимизированный алгоритм работы SSD не только ускоряет работу диска, но и бережет его, снижает требования к количеству перезаписей.
В современных SSD также используется так называемая «свободная область» (Spare Area). Это зарезервированная часть диска, в которую пользовательские данные не пишутся. Надо понимать, что эта часть диска «виртуальная» (то есть не привязана непосредственно к каким бы то ни было физическим адресам). Она используется при записи — на нее помещается новая информация. Благодаря наличию свободной области у нас отпадает необходимость переносить фрагментированные данные каждый раз при новой записи. Понятно, что чем больше размер такой постоянно «стертой» области, тем меньше изнашивается диск, и тем быстрее он работает на запись.
Зависимость производительности и срока службы дисков Intel X25-M от размера свободной области
Современные ОС также делают все для того, чтобы SSD диски менее изнашивались. Дело в том, что в изначальном стандарте IDE фактически отсутствовала команда о стирании кластера — в случае с магнитной поверхностью это было не нужно, кластер просто помечался как свободный в FAT. С появлением же SSD появилась необходимость физически стирать освободившуюся область (и переносить фрагментированные данные, которые не нужно стирать, на свободное пространство). Подобное поведение поддерживается ОС с ядром Windows 7 (с Intel RST старше 9.6). Для Windows XP и Vista также необходим этот драйвер, а также периодический запуск Intel SSD Optimizer — программы, которая анализирует таблицу размещения файлов, находит данные, помеченные как удаленные, «стирает» кластеры, в которых находятся эти данные, и переносит оставшуюся информацию на свободное место.
Изменение производительности работы SSD при периодическом запуске программы Intel SSD Optimizer
Таким образом, после «доработки» программной части, SSD диски можно рекомендовать всем пользователям. По исследованиям Intel, 160 Гб диск X-25M, при использовании 144 Гб для данных пользователя, будет работать со скоростью 3500 операций ввода-вывода в секунду (это на порядок больше, чем самый быстрый жесткий диск), при этом на него можно будет суммарно записать 68 Тбайт данных (хватит на несколько лет очень интенсивного использования). В ближайшее время мы опубликуем результаты инструментальных тестов SSD от Intel — SSDSAM160G2GC — в разных режимах. Забегая вперед, скажем сразу, что они нас поразили.
P.S. Да, кто-то может спросить, почему мы говорили только об SSD Intel? Отвечаем — именно эта корпорация снабдила нас семплами и подробной информацией об алгоритмах работы своих устройств. Сейчас мы договариваемся с другими компаниями о тестировании моделей SSD-дисков их производства.