Диски SSD уже несколько лет находятся в свободной продаже, однако до сих пор не стали стандартом. Несмотря на выдающиеся технические характеристики, существует более весомый фактор, тормозящий распространение SSD - это их цена.

Еще одно крупное преимущество SSD - это отсутствие движущихся деталей и, как следствие, отсутствие физического износа, снижение энергопотребления и отсутствие чувствительности к перегрузкам. Скорость чтения SSD не зависит от физического расположения ячеек с данными. Казалось бы - SSD - это диски нового поколения, почему бы не заменить ими существующие HDD ?

В привычных HDD используется алгоритм «IO Scheduling», предназначенный для оптимизации движения головки диска. Апогей его реализации - это технология AHCI. Для SSD порядок чтения ячеек не имеет значения. Считывание файлов в SSD накопителях происходит многопоточно, при чем общая пропускная способность SSD растет при постоянной скорости. Чем больше размер считываемого файла, тем выше пропускная скорость. Так, для больших файлов скорость составляет 600-650 MB/s. Технология SLC показывает скорость чтения на несколько процентов больше чем MLC. Таким образом SSD идеальны для приложений с большим количеством операций чтения, например для баз данных.

Свою специфику имеет и операция записи. В связи с физическими ограничениями технологии NAND, запись производится лишь большими блоками, обычно 256 kB. Таким образом, для перезаписи одного-единственного байта контроллер производит следующие действия:

  1. Чтение данные со всех активных ячеек блока 256 kB;
  2. Запись данных в память с попутным изменением нужных байт;
  3. Очистка всего блока (256 kB);
  4. Запись данных из памяти в блок.

Эта операция (известная как write amplification) существенно замедляет процесс записи в случае, если диск долгое время не дефрагментировался.

Для свежеотформатированного диска скорость записи составляет ~480 MB/s для SLC, ~280 MB/s для Intel MLC, ~260 MB/s для Samsung MLC. При эффективности «сборщика мусора» в 50% (то есть 50% блоков требуется очистить перед записью) скорость записи SLC снижается до ~130 MB/s (то есть в 3.5 раза).

Если контроллер не может записать ячейку (например выработан ресурс ячеек) — то страница маркируется как испорченная. При ошибках чтения сложнее. Так, современные SSD используют коррекцию ошибок основанная на кодировке Соломона-Рида и контроллер может восстановить до 6 ошибочных бит на каждые 256 байт. Подобное корректирование ошибок происходит прозрачно для приложения. При большем количестве непрочитанных бит — страница маркируется как испорченная. Тесты для Micron MLC показали, что отказ чтения страницы составляет ~6.8e-15 что примерно соответствует показателю HDD.

Ожидаемое количество циклов записи следующее для технологий:

SLC — 100,000
Intel MLC — 5,000
Samsung MLC — 1,500

При нагрузке записи в 100 MB/s на привод размером в 480GB ожидаемое время жизни

SLC — 15 лет
Intel MLC — 9 месяцев
Samsung MLC — 3 месяца

Это ожидаемое время. После того как ресурс ячеек выработается — диск продолжет работать, но количество ошибок чтения/записи возрастет.