Достоинства 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% от ёмкости всего накопителя.