"Цифровой журнал «Компьютерра» № 12" - читать интересную книгу автора (Компьютерра)

SSD-накопители: избавление от «детских болезней» Олег Нечай

Твёрдотельные SSD-накопители появились в широкой продаже всего лет пять назад, хотя в авиационной и военной технике они применяются с 1995 года, когда компания M-Systems представила первые в мире серийные «харды» на основе микросхем флэш-памяти.

Сегодня они считаются одними из самых перспективных носителей данных, которые должны прийти на смену порядком задержавшимся на рынке «винчестерам».

Современные твёрдотельные диски, конечно, имеют мало общего с теми, самыми первыми, разве что по принципу действия схожи: в качестве носителя данных в них используются энергонезависимые чипы памяти. Поэтому неслучайно, что практически все производители SSD-драйвов — это те же самые компании, которые всегда специализировались на выпуске микросхем памяти.

Достоинства SSD-накопителей очевидны. Отсутствие движущихся частей означает высокую надёжность, устойчивость к механическим воздействиям и пониженное энергопотребление. Благодаря использованию современных чипов памяти в SSD на порядок меньше среднее время доступа (0,12-,0,18 мс против 14–15 мс), чем в самых быстрых магнитных жёстких дисках, и, как правило, в 2–2,5 раза выше скорость чтения данных (до 250–300 Мб/с). Такие накопители обеспечивают заметное ускорение загрузки операционной системы, приложений и доступа к папкам с большим количеством файлов. Наконец, они меньше нагреваются и полностью бесшумны.

Первый приходящий в голову недостаток SSD-накопителя — высокая цена — явление преходящее и никак не относящееся к собственно конструктивным особенностям таких дисков. Между тем, у них есть парочка неприятных свойств, связанных именно с природой энергонезависимой памяти. Чтобы понять происхождение и способы борьбы с ними, вкратце напомним, как же всё это работает, не вдаваясь в подробности (их можно узнать здесь).

Ячейки флэш-памяти представляют собой полевые транзисторы с дополнительным плавающим затвором, окружённым диэлектриком. В результате процессов инжекции электронов или, всё чаще, туннелирования, затвор способен принимать одно из двух (SLC, Single Level Cell — одноуровневая ячейка) или четырёх (MLC, Multi Level Cell — многоуровневая ячейка) состояний. В первом случае это «0» или «1», во втором — «00», «01», «10» и «11». Понятно, что MLC обеспечивают вдвое большую ёмкость, пусть и ценой некоторого увеличения времени задержки, поэтому большая часть современных SSD относятся к этому типу. Впрочем, выпускаются и накопители с SLC — обычно это дорогие модели для систем, где требуется минимальная латентность и повышенная надёжность.

В первых SSD применялись чипы с логической организацией NOR (ИЛИ-НЕ), но сегодня значительно популярнее микросхемы NAND (И-НЕ), обеспечивающие более высокую скорость последовательного чтения и записи, но менее быстрый произвольный доступ. Чуть ли не самая главная проблема твёрдотельных накопителей связана именно с логической организацией флэш-памяти — это «засорение» диска ячейками с «удалёнными» файлами, проявляющееся в том, что со временем накопитель работает всё медленнее, и в конце концов задержки становятся раздражающе заметными.

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

Дело в том, что ячейки NAND-памяти объединены в так называемые страницы, и физическое стирание данных в них возможно только 512-килобайтными блоками (128 страниц по 4 Кб). Чтобы записать новые данные, необходимо либо найти свободные страницы, либо подготовить целый блок, стерев ячейки, занятые файлами, помеченными как удалённые. Процесс стирания блока отнимает время, а когда этих блоков накапливается много, тогда и возникают досадные «тормоза».

У этой проблемы есть три решения. Самое простое, применявшееся в SSD уходящего поколения, это полное низкоуровневое форматирование накопителя, приводящее в исходное состояние все ячейки. Это умеет, например, утилита Wiper Tool, совместимая с любыми дисками с контроллерами Indilinx (это, например, Corsair серии X или OCZ серии Vertex первого поколения).

Второе — это встроенная в микропрограмму накопителя технология GC (Idle Time Garbage Collection — «уборка мусора во время простоя»), которая при отсутствии обращения к накопителю анализирует состояние ячеек и принудительно очищает их от удалённых файлов.

И, наконец, третье и самое эффективное — использование набора инструкций TRIM, реализованных как на уровне микропрограммы диска, так и в операционной системе. Это та же самая принудительная уборка, только оптимизированная для конкретной файловой системы. Помимо стирания «мусорных» ячеек, TRIM отключает ненужные и даже вредные для флэш-дисков процедуры фоновой индексации и дефрагментации. TRIM поддерживают практически все новые SSD ведущих производителей, включая A-Data, Corsair, Intel, OCZ, SanDick, Samsung и Transcend. А вот совместимая с TRIM операционка пока только одна — это Windows 7.

Второй недостаток SSD-накопителя — это ограниченное количество циклов записи/стирания, связанная с физическим износом: постоянная нагрузка на диэлектрик, изолирующий плавающей затвор, вызывает изменения его структуры и приводит к «пробою», то есть невозможности удерживать заряд. В результате ячейка теряет функциональность, оставаясь постоянно в некотором стабильном состоянии. Контроллер SSD способен отслеживать такие ячейки и помечать их, а подаваемый на них сигнал перенаправляется на резервные, количество которых может составлять до 10 % от ёмкости всего накопителя.

Заявленное количество циклов записи стирания на первый взгляд невелико — до 10000 для MLC и до 100000 для SLC. Если взять среднюю скорость записи 100 Мб/с и самый распространённый SSD на 128 Гб, то мы получим потенциальное время непрерывной работы 3640 часов или 151 день. Но на самом деле столь интенсивное использование можно смоделировать лишь искусственно: при обычной работе с компьютерам большая часть файлов записывается на диск всего единожды, а постоянно изменяется не более 10 процентов. Исходя из этого, можно предположить, что в нашем распоряжении уже 1510 дней, то есть чуть больше четырёх лет эксплуатации, а за это время морально устареет любой компьютер и, тем более, накопитель.

Конечно, полностью привести в негодность SSD-накопитель можно и за полгода — если пользоваться им неправильно. Многочисленные истории о скоропостижно скончавшихся «твёрдотельниках» связаны именно с их неправильной эксплуатацией. Особо запущенный случай — использование SSD для записи, монтажа и сведения музыки и видео, для таких целей они в принципе не предназначены. Но встречаются и досадные ситуации, когда владельцу просто не объяснили, как пользоваться компьютером с таким накопителем.

К сожалению, автоматически распознаёт и устанавливает правильный режим работы с SSD из всего семейства Windows пока одна только «семёрка», а те же XP или Vista при настройках по умолчанию усиленно изнашивают накопитель. Подробные инструкции по настройке ОС для работы с «твёрдотельниками» несложно найти в Интернете, и практически все они сводятся к отключению функций, необходимых для обеспечения быстродействия обычного винчестера, но бесполезные и одновременно губительные для SSD. Это, например, кэширование в в отдельной папке файлов часто запускаемых программ, индексация файлов, регулярная фоновая дефрагментация. Рекомендуется отключать также файл подкачки и «спящий режим».

Подводя итог, можно сказать, что SSD-накопители уже практически полностью избавились от одной из двух основных «детских болезней» — замедления работы в процессе эксплуатации. Очевидно, что ключ к решению второй проблемы тоже лежит в программной оптимизации операционных систем под конструктивные особенности таких дисков. Первый шаг к этому уже сделан в Windows 7.


К оглавлению