Что особенного в контроллерах SandForce, и нужно ли их избегать

Хотя множество людей не интересует, какой контроллер в их накопителе, немало и тех, кто вникает в такие мелочи. Именно они рано или поздно задаются вопросом “SandForce или другой контроллер”.

Первая часть рассказа о контроллерах закончилась небольшим списком компаний, выпускающих SSD с чипами SandForce. На самом деле их великое множество, хотя на вашем региональном рынке они могут отсутствовать.

Почему так много SSD на SandForce

Популярность этих контроллеров обусловлена несколькими факторами, и я остановлюсь на двух из них.

Привлекательность лицензионных условий для ОЕМ-производителей

Стратегия лицензирования SandForce отлично подходит для компаний, желающих закрепиться на рынке SSD за счет репутации своего бренда, накопленной в других сегментах. Им достаточно купить флэш-память у Intel/Micron или Toshiba/SanDisk, контроллер с прошивкой у SandForce, и дело в шляпе.

Но даже тут они стараются экономить каждую копейку. На картинке ниже вы видите фирменные утилиты для OCZ Vertex 3 / Agility 3 и Kingston HyperX 3K.

*
Увеличить рисунок

На самом деле программное обеспечение разрабатывает SandForce, и оно вряд ли бесплатное. Обратите внимание, что у OCZ больше инструментов, за которые Kingston платить не стала, видимо. Кстати, недавно вышедшие на рынок накопители Transcend поставляются уже с новым новым ПО от SandForce.

Отсутствие необходимости разрабатывать свою прошивку

Читая обзор производителей контроллеров, вы могли заметить, что кроме Marvell и SandForce никто свои чипы сторонним сборщикам не лицензирует. Поскольку у большинства ОЕМ-производителей нет достаточных знаний для доработки контроллеров Marvell, их SSD должны бороться с накопителями компаний, использующих свои прошивки (например, Crucial-Micron и Plextor-LITEON). При таком раскладе непросто добиться успеха.

SandForce же снимает эту головную боль, предоставляя полный пакет из контроллера и оптимальной прошивки для него.

Да, в этом случае приходится конкурировать с плеядой аналогичных накопителей на том же чипе, но это – меньшее из двух зол. Компания OCZ, раньше «метавшаяся» между контроллерами SandForce и Indilinx, вовремя подсуетилась с покупкой последней. Собственная связка контроллера и прошивки дает конкурентные преимущества, а SandForce просто была ей не по карману.

Главные задачи контроллера

Я уже касался таких аспектов работы контроллера, как сбор мусора, выравнивание износа и замена отработанных блоков. Основополагающей же задачей является запись данных во флэш-память и чтение их оттуда.

Операционная система использует LBA (адреса логических блоков), чтобы сообщать HDD или SSD расположение данных в простой форме. В отличие от HDD, твердотельный накопитель при операциях чтения и записи сопоставляет конкретные LBA с расположениями во флэш-памяти.

*
Увеличить рисунок

Проще всего это реализовать на уровне блоков, что позволяет отслеживать меньший объем памяти. При этом скорость последовательных операций I/O будет высокой, чего не скажешь о скорости случайных трансферов. С другой стороны, сопоставление на уровне страниц является более сложной задачей, но обеспечивает высокие скорости как последовательным, так и случайным операциям.

Все тесты производительности твердотельных накопителей, так или иначе, крутятся вокруг измерения скорости последовательных и случайных операций чтения и записи.

Теоретически контроллеру легче справиться с последовательной записью и чтением. При записи достаточно разбить большой трансфер на «куски» и быстро разместить их в доступных страницах памяти. Сопоставить LBA страницам NAND тоже несложно, потому что в таблицы сопоставления заносится меньше данных. Это упрощает контроллеру отслеживание записи и чтения больших файлов.

Намного больше работы приходится выполнять при случайных операциях с мелкими данными. Чтобы обеспечить высокую производительность, чип должен быстро обрабатывать массу несвязанных между собой операций I/O. Это в свою очередь фрагментирует флэш-память, что негативно сказывается на последующих операциях.

Идея архитектуры SandForce

По замыслу создателей контроллера, в последовательных трансферах большого объема (относительно страниц NAND в 8KB) преобладают уже сжатые данные – это фильмы, музыка, фотографии и т.п. С другой стороны, данные малого объема, вовлеченные вслучайные операции (работа ОС и программ), с большой вероятностью легко сжимаются.

Сжатие данных призвано снизить объем этих операций, что позволяет перераспределить нагрузку на последовательное копирование и запись.

Отсутствие модуля DRAM

SandForce – это единственный контроллер, которому не требуется модуль DRAM, поскольку в нем применяется другой аппаратный подход к сопоставлению страниц. В предыдущей записи вы видели накопитель на Indilinx, а вот как выглядит типичный диск на SF (на картинке OWC Mercury Extreme Pro 6G).

*
Увеличить рисунок

«Традиционные» контроллеры используют внешний модуль DRAM, кэширующий таблицы сопоставления страниц и истории блоков, а также пользовательские данные. В SandForce считают его излишним, потому что их чип за счет сжатия данных записывает меньший объем.

Контроллеры SandForce тоже используют кэширование, но благодаря сжатию они обходятся кэшем меньшего размера прямо на чипе. Кстати, отсутствие модуля DRAM не приносит ОЕМ-сборщикам существенной экономии, поскольку SandForce отыгрывается на стоимости лицензирования контроллера.

Что дает сжатие данных

Конкретной информации об алгоритмах работы контроллеров мало, и это верно для всех производителей. Технологии сжатия SandForce имеет не слишком приятное для русского уха название DuraWrite, что означает «надежная запись». В раскопанном же мною патентеLSI регулярно встречается термин дифференциальное сжатие.

Традиционные контроллеры в лучшем случае обеспечивают мультипликатор увеличения объема записи (WA) на уровне 1.0. Это возможно при операциях последовательной записи, но при случайной записи он будет выше. Контроллеры SandForce, перехватывая поток операций ввода-вывода (I/O), по возможности сжимают данные, прежде чем записать их в NAND. Распаковка данных также выполняется на лету.

*

Другими словами, в NAND записывается не полный набор данных, а лишь какая-то его часть, и SandForce заявляет типичное значение мультипликатора WA в 0.5. Это может положительно сказываться на производительности SSD, которым в целом свойственно снижение скорости работы со временем. Кроме того, повышается срок службы накопителя, хотя для нагрузок в домашних ПК это не слишком актуально.

Сравнение разных SSD по скорости записи и чтения

Если вы глубоко погружались в обзоры SSD на специализированных сайтах, то могли заметить, что производительность накопителей оценивается отдельно для сжимаемых и несжимаемых данных.

Я подобрал в бенчмарках AnandTech пять популярных SSD от разных производителей, сравнить которые интересно по ряду причин:

  • все накопители несут на борту 256GiB [почти] одинаковой памяти IMFT 25nm MLC NAND
  • диски на SandForce отличаются только прошивкой (у Kingston HyperX она стандартная, а у Intel 520 – доработанная инженерами Intel)
  • диски OCZ отличаются контроллерами (Everest 2 построен на Marvell, а Barefoot 3 – полностью свой)

Давайте сопоставим их результаты, обращая внимание на тип данных.

Чтение

В случайном чтении мелких фрагментов накопители на SandForce не слишком отличаются от других. Разницу между Intel и Kingston в этом аспекте, видимо, стоит отнести на счет особой прошивки Intel. Также любопытно, что в дисках OCZ новый контроллер уступает старому, показавшему выдающийся результат.

*

В последовательном чтении сжимаемых данных (коричневый цвет на диаграмме ниже) накопители на SandForce выглядят хорошо, хотя и несколько бледнее флагманов OCZ и Crucial, а вот Vertex 4 здесь сильно просел. Обратите внимание, что все SSD фактически с одинаковой скоростью считывают несжимаемые данных (зеленый цвет), причем здесь Everest 2 уже почти не отстает.

*
Увеличить рисунок

Я хочу подчеркнуть, что здесь накопители сравниваются друг с другом. При этом не стоит сравнивать цифры отдельно взятого накопителя между собой, потому что они зафиксированы разными бенчмарками.

Как видите, с чтением данных контроллеры SandForce в среднем справляются не хуже конкурентов, причем они неплохо сбалансированы в этом аспекте.

Запись

В случайной записи мелких фрагментов оба контроллера Indilinx на коне. Intel 520 слегка отстает, но эксклюзивная прошивка снова дает ему преимущество перед стандартной. Однако даже с той HyperX немного обходит накопитель с контроллером Marvell, пусть и не последнего поколения.

*
Увеличить рисунок

Так или иначе, SandForce хорошо справляется с записью мелких сжимаемых данных, оправдывая идею его создателей. Контроллер также отлично смотрится при последовательной записи больших сжимаемых фрагментов (коричневый цвет на диаграмме ниже).

*
Увеличить рисунок

Однако в последовательной записи несжимаемых данных (зеленый цвет на диаграмме), разница с накопителями OCZ уже весьма существенная. И особая прошивка тут уже ничем не может помочь накопителю Intel, который ведет себя абсолютно идентично диску Kingston. Отмечу в скобках, что оба SSD на SandForce здесь все равно быстрее флагманского накопителя Crucial-Micron, чей модельный ряд давно не обновлялся.

Давайте рассмотрим проблему под микроскопом бенчмарка Iometer.

Сравнение скорости записи разных типов данных накопителями на SandForce

Выше я упомянул, что некорректно сравнивать у отдельно взятого накопителя показатели записи разных типов данных в различных бенчмарках (Iometer и AS-SSD).

Намного лучше посмотреть на картину, которую рисует разными типами данных один и тот же бенчмарк.

Iometer умеет записывать случайные данные, которые плохо поддаются сжатию (объяснение этому факту я дам в конце статьи). Диаграмма отражает скорость последовательной записи фрагментов 128KB, где коричневый цвет обозначает сжимаемые данные, а зеленый – несжимаемые.

*
Увеличить рисунок

Все четыре накопителя ведут себя одинаково, и прекрасно видно, что несжимаемые данные записываются медленнее. Причем это не зависит от типа памяти. Так, в Transcend SSD720 и Corsair Force GS установлена 24nm SanDisk Toggle-Mode MLC NAND, а в Transcend SSD320 – асинхронная память IMFT 25nm.

Именно в записи несжимаемых данных и заключается главная разница в производительности между SandForce и другими контроллерами! В то время как сжатие хорошо оправдывает себя для обработки типичных сжимаемых данных ОС и программ, при записи несжимаемых данных этот контроллер чувствует себя неуверенно.

Являясь владельцем SSD на SandForce, вы легко можете увидеть эту разницу с помощью CrystalDiskMark. Для стандартного теста утилита использует случайные данные (слева), но в меню «Файл» можно выбрать данные, легко подвергающиеся сжатию (справа).

*
Увеличить рисунок

В принципе, на основе всей этой информации вы уже должны сделать первый вывод о том, стоит ли вам избегать накопителей на SandForce. Сравнить свои умозаключения с моими вы сможете в конце статьи.

SandForce и TRIM

В дискуссиях на форумах вы могли встречать заявления о том, что у SandForce есть проблемы с TRIM. При этом редко уточняется, что конкретно имеется в виду, а это интересно!

Когда традиционный контроллер получает набор команд TRIM, он просто очищает блоки с ненужными данными. SandForce, применяющий сжатие иRAISE, должен еще проверить, не нужны ли эти данные где-то еще.

Контроллер SandForce использует все свободное пространство на диске в качестве резервной области. С учетом сжатия данных, при типичных нагрузках в домашних ПК накопители на SandForce не испытывают неудобств, если на диске достаточного пустого места. Проблема с TRIM всплывает, когда диск хорошо набит данными, которые невозможно сжать.

В каких условиях проверяют эффективность TRIM

В зависимости от лаборатории, методика тестирования может варьироваться, но общий принцип таков. Сначала диск заполняют под завязку несжимаемыми данными, а потом сверху расстреливают его от 20 минут до 2 часов мелкими случайными данными (тоже несжимаемыми). Причем для этого может использоваться серверная глубина очереди (QD32), в то время как на клиентских ОС она, скорее, от 0 до 5.

Но и это еще не все! Например, на AnandTech тестирование выполняется на диске без разделов, что исключает отправку команд TRIM операционной системой во время работы бенчмарка.

Да, вполне вероятно, что под такой нагрузкой контроллеру некогда будет заниматься сбором мусора, но ему даже не дают шанса на это! Между тем, архитектура SandForce и многих других современных чипов ориентирована на активный сбор мусора, нежели на фоновый.

Как видите, условия тестирования достаточно далеки от типичных сценариев работы диска в домашних ПК.

Что получается в результате теста

Под такими пытками снижается производительность любого твердотельного накопителя. Вопрос лишь в том, восстановит ли ее TRIM.

Проверяется это так. Сначала прогоняют первый бенчмарк AS-SSD (несжимаемые данные), потом создают на диске раздел и форматируют его в файловую систему, что порождает отправку команд TRIM контроллеру. Затем раздел удаляют и повторяют тест AS-SSD. И вот что происходит у SandForce.

*
Увеличить рисунок

У первых двух накопителей команды TRIM ничего не изменили, причем Intel 520 не помогла даже особая прошивка, что явно намекает на аппаратную особенность контроллера. У третьего диска они улучшили ситуацию, хотя и не смогли восстановить первоначальную производительность. Возможно, он тестировался с другой версией прошивки, ибо его единственное аппаратное отличие – это ресурс памяти.

Есть ли SandForce проблемы с TRIM? Безусловно. Насколько такая ситуация реалистична? Подумайте сами, может ли она возникнуть у вас, а в конце статьи я к этому вернусь.

В отличие от AS-SSD, бенчмарк HD Tach записывает данные, которые легко подвергаются сжатию. В этом случае после такой же пытки в SF-2281 проседала скорость чтения. Однако этот момент исправили в последних прошивках. Кстати, о них!

Прошивки SandForce

Вне зависимости от контроллера, тщательное тестирование прошивки выполняют ее разработчики. SandForce не выпускает программное обеспечение для конечных пользователей, а поставляет его производителям SSD. У Intel свой процесс тестирования ввиду особой версии прошивки, а обычные ОЕМ-производители этим фактически не занимаются.

*

Компания OCZ, поддерживающая тесные отношения с SandForce, уделяет этому аспекту больше внимания и зачастую раньше всех выкладывает новые версии прошивок, в том числе промежуточные. Впрочем, не всегда это важно и хорошо, ибо свежая прошивка, исправляя старые баги, может привносить новые. В будущем же это может стать вовсе неактуально ввиду покупки Indilinx и вероятного перехода только на свои контроллеры.

Таким образом, появление новых прошивок целиком зависит от взаимоотношений ОЕМ-сборщика и SandForce, а также от возможных проблем, проявившихся в накопителях конкретной компании. На момент публикации статьи ситуация с доступными для загрузкиверсиями прошивок такова.

*

Являясь владельцем HyperX 3K, я обратился в Kingston через американский сайт с вопросом о доступности новой прошивки и причинах исчезновения старой версии. По неведомой причине ответ пришел от русской техподдержки, и, думаю, от волнистого попугая было бы больше толку, чем от ее безымянного представителя. Когда после серии шаблонных ответов я попросил его озвучить свое имя и официальный номер обращения, меня сразу перекинули к американцам.

Моментально выяснилось, что в ряде накопителей не получается обновить прошивку, и посему Kingston приняла Соломоново решение убрать ее совсем!

Не исключено, что и Patriot откатилась к одной из предыдущих версий по той же причине. Наверное, в случае реальных проблем из компаний можно вытрясти новую прошивку или даже другой накопитель (в США-то уж точно), но мораль сей басни такова, что все находится в руках ОЕМ-сборщика.

В каких случаях накопитель на SandForce может стать не лучшим выбором

SSD – это всегда компромисс, и идеально сбалансированных дисков не бывает. В каких-то аспектах одни накопители лучше, а в каких-то – другие, что вы могли заметить даже в диаграммах этой статьи.

Накопители на SandForce хорошо справляются с подавляющим большинством аспектов работы ОС и программ в типичном домашнем ПК. При этом они неплохо сбалансированы за счет сжатия данных. Давайте посмотрим на слабые стороны SandForce применительно к практическим задачам.

1. Хранение медиафайлов и архивов

video-editing-iconВряд ли многие люди сейчас используют SSD для складирования:

  • фильмов
  • музыки
  • фотографий
  • WIM-образов
  • архивов
  • и прочих сжатых файлов

Однако с учетом растущей популярности мобильных ПК такая ситуация уже не является чем-то из ряда вон выходящим. Забивая диск сжатыми данными, вы создаете контроллеру SandForce не самые благоприятные условия для рутинных операций чтения и записи. В результате может страдать общая производительность накопителя.

2. Обработка фото, видео и музыки

theme-editor-iconПредположу, что несколько больший процент владельцев компьютеров увлекается обработкой фотографий или кодированием видео либо аудио. Поскольку эти файлы сжаты, то при их записи накопители на SandForce хоть и неплохо справляются, но явно не блещут. Если вы специализируетесь в этих областях, имеет смысл обратить свой взор на SSD с контроллерами, отличающимися скоростной последовательной записью несжимаемых данных.

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

У источника файлов скорость последовательного чтения должна быть выше скорости последовательной записи твердотельного накопителя

В противном случае снижение производительности при трансферах сжатых файлов не имеет никакого значения (пример). Кстати, похожий вопрос поднимался при сравнении скоростей USB 2.0 и 3.0.

3. Шифрование диска

BitLocker_iconЗашифрованные данные плохо поддаются сжатию. Упрощенно говоря, при сжатии в данных ищутся шаблоны, на которые можно ссылаться в дальнейшем при декомпрессии. Хорошее шифрование уничтожает эти шаблоны, представляя данные в случайном виде.

При работе с зашифрованными данными производительность любого диска снижается. Однако если вы защищаете свои файлы с помощью BitLocker, FIleVault или похожих решений, вам следует смотреть в сторону накопителей, быстрее всего работающих с несжимаемыми данными.


У меня в качестве системного диска трудится SSD на SandForce. Но я поддерживаю на нем достаточно свободного пространства и не защищаю данные шифрованием. Фотографирую я на смартфон, а медиафайлы и резервные копии храню на HDD. Да, я регулярно делаю скриншоты для статей и держу на диске несколько музыкальных альбомов и видеороликов, но общий объем этих данных незначителен по сравнению с емкостью диска.

При таком раскладе перечисленные выше особенности SandForce меня мало волнуют, но они могут иметь значение для вас. Надо понимать, что эти недостатки все равно могут быть незаметны на глаз ввиду достаточно высокой производительности накопителей. Однако моя цель в том, чтобы помочь вам сделать информированный и четко осознанный выбор SSD, оптимального для ваших задач.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *