Твердотельный накопитель (англ. Solid-State Drive, SSD) — компьютерное энергонезависимое немеханическое запоминающее устройство на основе микросхем памяти, альтернатива жёстким дискам (HDD). Наиболее распространённый вид твердотельных накопителей использует для хранения данных флеш-память типа NAND, однако существуют варианты, в которых накопитель создаётся на базе DRAM-памяти, снабжённой дополнительным источником питания — аккумулятором. Помимо собственно микросхем памяти, подобный накопитель содержит управляющую микросхему — контроллер.
SSD представляют собой устройства, хранящие данные в микросхемах вместо вращающихся металлических дисков или магнитных лент. Причина их появления отражает тот факт, что скорость обработки данных в процессоре намного превышает скорость записи данных в HDD. Магнитные диски на протяжении десятилетий доминировали в корпоративном сегменте хранения данных, за это время (с 1950-х) ёмкость носителей выросла в двести тысяч раз, скорость работы процессоров тоже сильно возросла, но скорость доступа к данным изменилась значительно меньше и диски стали «узким местом». Проблему решают твердотельные накопители — они обеспечивают намного большие скорости работы с данными по сравнению с жёсткими дисками. SSD за счёт использования микросхем флеш-памяти по своим характеристикам существенно отличаются от жёстких дисков с магнитными пластинами.
С целью оптимизации использования SSD в 2011 году был разработан интерфейс NVMe, поддержка которого была добавлена в Windows, начиная только с версии 8.1. В Windows 7 поддержку протокола обеспечивает исправление (hotfix) KB2990941. Не все материнские платы поддерживают интерфейс NVMe, поэтому всё ещё сохраняет популярность старый интерфейс SATA.
Основные характеристики твердотельных накопителей:
- наименьшее время доступа к данным: от ста до тысячи раз быстрее, чем у механических дисков;
- высокая скорость, вплоть до нескольких гигабайт в секунду для произвольно расположенных данных;
- высокие значения IOPS благодаря высокой скорости и низкому времени доступа;
- низкая цена производительности, лучшее соотношение цены к производительности среди всех устройств хранения;
- высокая надёжность; SSD дают уровень сохранности данных такой же, как другие полупроводниковые устройства.
В отличие от жёстких дисков, цена SSD очень сильно зависит от доступной ёмкости, что связано с ограниченной плотностью размещения ячеек памяти и ограничением размера кристалла в микросхеме.
При условии использования в качестве загрузочного диска на серверах SSD имеют более высокую по сравнению с HDD надёжность при некоторых условиях, но это неверно при использовании SSD в качестве хранилища данных.
У SSD возможен выход из строя электронных компонентов, в том числе контроллера, отдельных микросхем NAND, либо пассивных компонентов. Среди некоторых моделей выходят из строя до 0,5−2 % SSD накопителей в течение первых лет эксплуатации. В отличие от HDD, выход из строя SSD часто является внезапным.
Преимущества SSD:
- Количество произвольных операций ввода-вывода в секунду (IOPS) у SSD на порядок выше, чем у жёстких дисков, за счёт возможности одновременного запуска множества операций и более низкой латентности каждой операции (нет необходимости ожидать оборота диска перед доступом, а также ожидать наведения головки диска на нужную дорожку). Благодаря этому запуск программ и операционной системы происходит значительно быстрее.
- Скорость линейного чтения/записи выше, чем у распространённых жёстких дисков, и в ряде операций может быть близка к пропускной способности интерфейсов (SAS/SATA III 600 МБ/с). Твердотельные накопители могут реализовываться с более быстрыми интерфейсами: SATA III, PCI Express, NGFF (M.2, в вариантах с PCIe), SATA Express, NVM Express (стандарт на подключение SSD по шинам PCI Express), U.2.
- Малые габариты и вес. Для твердотельных накопителей были разработаны более компактные типовые размеры, например mSATA, U.2, NGFF (M.2).
- Стабильность времени считывания файлов вне зависимости от их расположения или фрагментации.
- Отсутствие движущихся частей, отсюда:
- полное отсутствие шума;
- высокая механическая стойкость (кратковременно выдерживают удары с ускорением 1500 g).
- Низкое энергопотребление.
- Главный недостаток NAND SSD — ограниченное количество циклов перезаписи. Обычная (MLC, multi-level cell «многоуровневые ячейки памяти») флеш-память позволяет записывать данные примерно три-десять тысяч раз (гарантированный ресурс); в самых дешёвых накопителях (USB, SD, µSD) может использоваться ещё более плотная память типа TLC (MLC−3) с ресурсом порядка 1000 циклов или менее. Самые дорогостоящие виды памяти (SLC, англ. single-level cell «одноуровневые ячейки памяти») — имеют порядка сотен тысяч циклов перезаписи. Для борьбы с неравномерным износом в высокопроизводительных (SATA и PCI express) SSD применяются схемы балансирования нагрузки (wear leveling): контроллер хранит информацию о том, сколько раз какие блоки перезаписывались, и при необходимости производит запись в менее изношенные блоки. При выработке реального ресурса банков памяти накопитель может перейти в режим «только для чтения», что позволит скопировать данные. При ряде вариантов использования, в том числе в бытовых компьютерах, при корректно работающих алгоритмах выравнивания износа, ресурс накопителей обычно серьёзно превышает заявленный производителем гарантийный срок службы, в среднем составляющий 5 лет;
- Скорость записи и ресурс SSD-накопителей значительно зависят от оставшегося свободного пространства. Причина в том, что максимальную скорость записи контроллер обеспечивает за счёт записи в режиме SLC, то есть 1 бит на ячейку, при этом же и выше ресурс. При дальнейшем заполнении SSD контроллер вынужден освобождать ячейки и перезаписывать в них максимальное количество данных (3-4 бита), при этом скорость записи резко падает, накопитель изнашивается. Поэтому для повышения как ресурса, так и скорости, желательно оставлять больше свободного места. В накопителях многих компаний для снижения остроты проблемы сохраняют недоступными для пользователя часть пространства, благодаря чему скорость записи снижается меньше, причём такие теневые блоки памяти используются для замещения выработавших ресурс.
- Цена гигабайта SSD-накопителей, несмотря на продолжающееся на протяжении многих лет быстрое снижение, всё ещё в несколько раз (6−7 для наиболее дешёвой флеш-памяти) выше цены гигабайта HDD (в 2012−2015 годах: менее 0,1 $/ГБ в HDD , от 1 до 0,5−0,4 $/ГБ в SSD[46]). Уравнивание стоимости за единицу объёма SSD и HDD прогнозируется приблизительно к 2019 году, к тому же стоимость SSD практически прямо пропорциональна их ёмкости, в то время как стоимость традиционных жёстких дисков зависит не только от количества пластин и медленнее растёт при увеличении объёма накопителя. В то же время небольшие по объёму SSD могут быть заметно дешевле, чем жёсткие диски наименьших объёмов, в которых всегда требуется использовать точные механические системы. Это позволяет удешевлять массовые ПК, дешёвые ноутбуки и встраиваемые системы;
- Модели накопителей минимального объёма обычно имеют немного более низкую производительность в ряде операций за счёт меньшего параллелизма.
- Производительность накопителя зачастую может временно снижаться при записи больших объёмов данных из-за исчерпании быстрого буфера записи, в процессе работы «сборщика мусора» или при обращении к более медленным страницам памяти.
- Применение в SSD-накопителях аппаратной команды TRIM для удаления информации может сильно осложнить или сделать невозможным восстановление удалённой информации соответствующими утилитами; c другой стороны, из-за выравнивания износа нет способа гарантированно удалять отдельные файлы с SSD: возможен лишь полный сброс всего накопителя при помощи команды «ATA Secure Erase»: команда TRIM помечает блоки как свободные, а момент физического стирания информации определяется прошивкой устройства.
- Высокая сложность или невозможность восстановления информации после электрических повреждений. Так как контроллер и носители информации в SSD находятся на одной плате, то при превышении или значительном перепаде напряжения могут повредиться несколько микросхем, что приводит к безвозвратной потере информации. Вероятность восстановления данных существует, если повреждён лишь контроллер.
- Низкая реальная помехозащищённость операций чтения из ячеек памяти и наличие сбойных ячеек, особенно при изготовлении по самым современным («тонким») техпроцессам, приводит к необходимости использования в контроллерах современных моделей всё более сложных внутренних кодов исправления ошибок: ECC, код Рида — Соломона, LDPC.