Архивы: по дате | по разделам | по авторам

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

АрхивПлатформа
автор : Олег Нечай   19.03.2010

Чтобы решить проблемы твердотельных накопителей, требуется программная оптимизация операционных систем под их конструктивные особенности. Первый шаг к этому уже сделан в Windows 7.

Твёрдотельные 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.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.