SSD-накопитель Kingmax SMP35 Client
В настоящей статье мы расскажем о SSD-накопителе Kingmax SMP35 Client емкостью 240 Гбайт с интерфейсом SATA 6 Гбит/с и на основе контроллера SandForce второго поколения.
Технические характеристики
Как и подавляющее большинство современных SSD-накопителей, модель Kingmax SMP35 Client основана на контроллере SandForce второго поколения с поддержкой интерфейса SATA 6 Гбит/с. Собственно, это и неудивительно. Ведь, как известно, компания SandForce (теперь подразделение LSI) предлагает своим партнерам не просто контроллер, а полностью готовую платформу для выпуска SSD-накопителей, включающую контроллер, прошивку и эталонный дизайн печатной платы. Для компании Kingmax, которая не занимается производством флэшпамяти, это практически единственно возможный вариант выхода на рынок SSD-накопителей (либо нужно заказывать ODM-модели у сторонних производителей). А потому с большой вероятностью можно утверждать, что от компании Kingmax в накопителе Kingmax SMP35 Client, собственно, ничего нет, за исключением разве что цены, гарантии и техподдержки.
Итак, давайте поближе познакомимся с накопителем Kingmax SMP35 Client. Он имеет формфактор 2,5 дюйма и, как и все накопители на контроллере SandForce второго поколения (SF-2281), поддерживает функцию защиты целостности данных на основе технологий DuraClass и DuraWrite для оптимизации срока службы, производительности, длительности хранения данных и энергопотребления. Кроме того, в нем реализованы расширенные функции выравнивания износа и контроля энергопотребления. Также поддерживаются оптимизация повторного использования ячеек флэшпамяти и сбор мусора, что позволяет сохранять максимальную производительность в течение всего срока службы устройства. Накопитель поддерживает функцию SMART, а также технологию RAISE.
Интересно отметить, что на плате накопителя используются чипы NAND флэшпамяти с маркировкой Kingmax, хотя хорошо известно, что Kingmax не занимается производством флэшпамяти. То есть речь идет о перемаркированных чипах — скорее всего, это NAND флэшпамять с асинхронным интерфейсом от компании Micron или Intel.
Накопители Kingmax SMP35 Client выпускаются в вариантах емкостью 60, 120, 240 и 480 Гбайт. Корпус накопителя выполнен из черного анодированного алюминия, а в комплекте прилагается переходник под формфактор 3,5 дюйма.
Интересно отметить, что на сайте производителя можно найти прошивку для этого накопителя, помеченную как 2012.3 (видимо, прошивка от марта 2012 года). Понятно, что это перемаркированная прошивка SandForce, но тот факт, что Kingmax предоставляет пользователям возможность самостоятельно обновлять прошивку, радует.
Согласно спецификации, при подключении по интерфейсу SATA 6 Гбит/с максимальная скорость последовательного чтения накопителя Kingmax SMP35 Client составляет 550 Мбайт/с, а максимальная скорость последовательной записи — 520 Мбайт/с.
В режиме случайных операций (случайное чтение и запись) производительность, которая традиционно измеряется в количестве операций вводавывода в секунду (IOPS), зависит от емкости накопителя. Для SSD-накопителя емкостью 240 Гбайт скорость случайного чтения и записи блоками по 4 Кбайт составляет до 60 000 и 35 000 IOPS соответственно.
Также производитель указывает, что среднее время наработки на отказ (MTBF) накопителя Kingmax SMP35 Client равно 1,2 млн часов, что вполне типично для современных SSD-накопителей.
Методика тестирования
Как показывает практика, скоростные характеристики, указываемые производителем, далеко не всегда соответствуют действительности. Кроме того, многие производители (в том числе и Kingmax) приводят максимальную скорость для хорошо сжимаемых данных, то есть скорость, достигаемую с учетом аппаратной компрессии, что, вообще-то, не совсем корректно. Реальная скорость без учета компрессии будет ниже.
Поэтому мы решили сами измерить скоростные характеристики SSD-накопителя Kingmax SMP35 Client. Для тестирования SSD-накопителя Kingmax SMP35 Client использовался стенд следующей конфигурации:
- процессор — Intel Core i7-3770K;
- системная плата — Intel DZ77GA-70K;
- чипсет системной платы — Intel Z77 Express;
- накопитель с операционной системой — Intel SSD 520 Series (240 Гбайт);
- режим работы SATA — AHCI;
- контроллер диска — интегрированный в чипсет контроллер SATA 6 Гбит/с.
При тестировании применялась операционная система Windows 7 Ultimate (64 bit). Тестируемый SSD-накопитель подключался к порту SATA 6 Гбит/с, который был реализован через контроллер, интегрированный в чипсет. К еще одному порту SATA 6 Гбит/с подключался SSD-накопитель Intel SSD 520, на который устанавливались операционная система и все необходимые приложения. Для всех SATA-портов задавался режим работы AHCI.
Для тестирования мы использовали утилиту IOmeter версии 2008.06.18, которая представляет собой очень мощный инструмент для анализа производительности накопителей (как HDD, так и SSD) и фактически является неким отраслевым стандартом для измерения производительности накопителей. Тестирование SSD-накопителя с помощью утилиты IOmeter мы проводили без создания на нем логического раздела, чтобы не привязывать результаты тестирования к конкретной файловой системе.
При тестировании исследовалась зависимость скорости выполнения операций последовательного и случайного чтения, а также последовательной и случайной записи от размера блока данных. Во всех сценариях загрузки использовались запросы на передачу данных блоками следующих размеров: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт, 1, 2, 4 Мбайт. Выравнивание устанавливалось по размеру 512-байтного сектора. Также отметим, что во всех перечисленных тестах мы задавали в настройках IOmeter глубину очереди задачи (# of Outstanding I/Os) равной 4, что типично для пользовательских приложений.
Как известно, у некоторых SSD-накопителей наблюдается так называемый эффект старения, который заключается в том, что скорость случайного чтения уменьшается по мере эксплуатации носителя. Нужно отметить, что эффект старения SSD-накопителей проявляется не у всех современных моделей, а если и встречается, то падение производительности может быть некритичным. В принципе, наличие эффекта старения говорит о недоведенной до ума прошивке.
Собственно, эффект старения связан с тем, что по мере уменьшения свободного места на накопителе при записи данных приходится производить операцию перемещения данных для освобождения блоков памяти для записи. В ходе этой операции записывается существенно больше данных, чем нужно, в результате чего скорость записи снижается.
Напомним, что NAND флэшпамять логически организована в виде страниц и блоков. Страница имеет размер 4 Кбайт и представляет собой минимальный объем флэшпамяти, к которому можно обратиться для чтения или записи. Блок обычно состоит из 128 страниц и является минимальным объемом флэшпамяти, который можно удалить.
Старение SSD-накопителей обусловлено двумя простыми фактами. Вопервых, запись и чтение данных в них производятся страницами, а удаление данных — только блоками. Вовторых, для того чтобы перезаписать данные в страницу флэшпамяти (то есть записать данные в страницу памяти, которая ранее уже была записана), нужно прежде очистить ее (выполнить операцию удаления данных, а потом уже операцию записи). То есть в SSD-накопителях данные могут записываться только в пустые страницы памяти.
Во флэшпамяти данные преимущественно записываются последовательно, то есть порциями по 4 Кбайт в следующую по порядку свободную страницу флэшпамяти. При этом логический адрес записываемой страницы (LBA) сопоставляется с физическим адресом (PBA), то есть с адресом расположения во флэшпамяти. Соответствие логических и физических адресов (LBA-PBA mapping) фиксируется в специальной таблице, которая размещается в оперативной памяти SSD-накопителя.
При случайной записи на пустой (или частично занятый) SSD-накопитель все данные пишутся последовательно в страницы памяти, заполняя тем самым блоки памяти. Причем даже в том случае, если производится перезапись данных, они последовательно записываются в следующие по порядку свободные страницы памяти, а в таблице соответствия логических и физических адресов те страницы, куда эти данные были записаны ранее, помечаются как содержащие устаревшие данные (помечаются к удалению). Естественно, при таком последовательном алгоритме записи неизбежна ситуация, когда весь диск будет заполнен, то есть на нем не останется блоков со свободными страницами, а будут лишь блоки, содержащие страницы с актуальными данными, и страницы, помеченные к удалению.
Как мы уже отмечали, для того чтобы произвести запись данных в страницу памяти, содержащую данные, помеченные к удалению, ее нужно предварительно очистить, причем если запись и чтение во флэшпамяти осуществляются страницами, то удаление возможно только блоками. И если нам нужно очистить какую-то страницу памяти, то придется стереть весь блок, в котором она находится. Но данный блок может содержать как страницы, помеченные к удалению, так и страницы с актуальными данными, которые удалять нельзя. Для того чтобы использовать блоки со страницами, помеченными к удалению, и со страницами, содержащими актуальные данные, используется метод переноса данных с помощью пустых и резервных блоков. Даже если пустых блоков в SSD-накопителе уже не осталось, всегда имеется определенное количество резервных блоков, применяемых для переноса данных. Чтобы удалить страницу с устаревшими данными, прежде нужно переместить из соответствующего блока страницы с актуальными данными в резервный свободный блок и уже потом можно очистить весь блок. Соответственно мы получаем частично занятый блок с перемещенными данными, доступный для записи, и пустой блок, который становится резервным. Однако из-за такого перемещения данных приходится записывать на SSD-накопитель больше данных, чем требуется. Именно поэтому скорость записи на новый и уже заполненный накопители может различаться. Для того чтобы подчеркнуть принципиальную разницу в скорости записи на пустой и заполненный накопители, используется такой показатель, как коэффициент усиления записи (Write Amplification). Он отображает, во сколько раз больше данных приходится записывать, чем реально требуется. При записи на пустой диск коэффициент усиления записи равен единице, а при записи на заполненный диск он всегда больше единицы.
Рассмотренный пример несколько идеализирован: в реальности перемещение данных, то есть избавление от блоков со страницами, помеченными к удалению, происходит по мере заполнения диска, причем с помощью как пустых, так и резервных блоков. Эта процедура получила название «сбор мусора» (Garbage Collection).
Существуют различные алгоритмы процедуры Garbage Collection, и разница между ними заключается в том, каким именно образом выбирается блок, используемый для перемещения данных.
Итак, эффект старения SSD-накопителей заключается в том, что скорость записи на пустой SSD-накопитель выше скорости записи на заполненный (c точки зрения контроллера). Понятно, что эффект старения может проявляться лишь в падении скорости записи, но скорость чтения изменяться при этом не будет, то есть теоретически скорость чтения данных с нового и ранее использовавшегося накопителей должна быть одинаковой. Алгоритм работы контроллера SSD-накопителя может быть таким, что процедура сбора мусора (перемещения данных с целью высвобождения блоков памяти) происходит постоянно, в этом случае скорость случайной записи не будет уменьшаться со временем.
Как показывает практика, SSD-накопители на контроллерах SandForce второго поколения с оригинальной прошивкой не имеют эффекта старения, то есть в них скорость случайной записи не меняется со временем.
Для того чтобы убедиться в этом, мы провели тест накопителя Kingmax SMP35 Client на случайную запись блоками по 4 Кбайт в течение 10 часов с фиксацией результата через каждую минуту (утилита IOmeter позволяет создать подобный сценарий тестирования). Результаты этого теста представлены на рис. 1. Как видите, скорость случайной записи уменьшается очень незначительно (с 16 до 14 Мбайт/с).
Рис. 1. Изменение скорости случайной записи блоками по 4 Кбайт со временем
Собственно, тот факт, что скорость случайной записи практически не изменяется со временем для накопителя Kingmax SMP35 Client, позволяет сделать очень важный вывод: можно проводить тестирование как нового накопителя (не содержащего заполненных страниц памяти), так и ранее использовавшегося (у которого нет свободных страниц памяти). И в том, и в другом случае мы получим одинаковые результаты.
Результаты тестирования
Сводные результаты тестирования SSD-накопителя Kingmax SMP35 Client представлены на рис. 2. Как видите, максимальная скорость последовательного чтения составляет порядка 520 Мбайт/с, а максимальная скорость последовательной записи — 490 Мбайт/с.
Рис. 2. Зависимость скорости от размера блока
Полученные нами значения несколько ниже заявленных, однако в данном случае речь идет о скорости чтения и записи несжимаемых данных.
В целом можно сказать, что SSD-накопитель Kingmax SMP35 Client — это еще один типичный SSD-накопитель на референсной платформе от SandForce с асинхронной NAND флэшпамятью. И если цена накопителя Kingmax SMP35 Client окажется ниже стоимости аналогичных продуктов других компаний при том же его объеме, то имеет смысл остановить свой выбор именно на этом устройстве.