Тестирование SSD-диска Kingston SSDNow V-SERIES 64 GB

Сергей Пахомов

Технические характеристики

Методика тестирования

Результаты тестирования и их анализ

Последовательное и случайное чтение

Последовательная запись

Случайная запись

Заключение

Технические характеристики

Прежде чем перейти к детальному анализу результатов тестирования диска Kingston SSDNow V-SERIES 64 GB, рассмотрим его характеристики. Итак, речь идет о 2,5-дюймовом SSD-диске на основе NAND флэш­памяти c MLC-ячейками (каждая ячейка памяти является четырехуровневой и может хранить два бита информации). Емкость диска составляет 64 Гбайт (диски данной серии также могут иметь размер 32 и 128 Гбайт). Напомним, что в SSD-дисках доступная для использования емкость указывается не в двоичных, а в десятичных гигабайтах, то есть 1 Гбайт = 109 байт. Поэтому емкость этого диска, доступная для применения, составляет примерно 59,6 двоичных гигабайт.

 

Рисунок

Если точнее, то реальная емкость диска Kingston SSDNow V-SERIES 64 GB действительно составляет 64 двоичных гигабайт, однако часть памяти используется как резервная область диска и недоступна для применения. Собственно, резервная область диска как раз представляет собой разницу между 64 двоичными и 64 десятичными гигабайтами, в данном случае ее размер равен 4,4 Гбайт (двоичных).

Согласно спецификации, заявленная скорость последовательной записи диска Kingston SSDNow V-SERIES 64 GB составляет 110 Мбайт/с, а последовательного чтения — 200 Мбайт/с.

Среднее время жизни этого диска — миллион часов.

Отметим, что диски Kingston SSDNow V-SERIES поддерживают команду TRIM. В статье «Особенности работы современных SSD-дисков», опубликованной в сентябрьском номере журнала за 2010 год, мы подробно описали, что делает эта команда и зачем она нужна, а потому здесь напомним лишь, что при удалении файла операционная система посылает команду TRIM контроллеру диска и дает ему знать, какие страницы памяти могут быть перезаписаны, то есть содержат устаревшие данные. Соответствующие страницы памяти помечаются к удалению и могут быть использованы в процедуре Garbage Collection.

Поддержка команды TRIM позволяет уменьшить показатель Write Amplification и тем самым способствует сокращению циклов перезаписи каждой отдельной ячейки памяти. Для работы команды TRIM необходима поддержка со стороны как ОС, так и драйвера диска (драйвера контроллера на системной плате) и контроллера самого SSD-диска. Команда TRIM реализована в операционной системе Windows 7, а также в ядре Linux начиная с ревизии 2.6.28. Что касается поддержки команды TRIM в драйверах контроллера на системной плате, то она имеется в стандартном драйвере Microsoft, а также в драйвере Intel RST 9.6 (в случае использования чипсетов Intel). Однако команда TRIM пока не поддерживается для RAID-массивов.

Методика тестирования

При тестировании диска Kingston SSDNow V-SERIES 64 GB мы использовали стенд следующей конфигурации:

  • процессор — Intel Core i7-965 EE;
  • системная плата — Gigabyte GA-EX58-UD4;
  • чипсет системной платы — Intel X58 Express (южный мост ICH 10R);
  • BIOS системной платы — F10;
  • диск с операционной системой — Seagate Barracuda ST31500341AS (7200 RPM, 1,5 Тбайт);
  • режим работы SATA — AHCI;
  • драйвер дисков — Intel RST 9.6;
  • контроллер диска — интегрированный в чипсет Intel X58 Express контроллер.

При тестировании применялась операционная система Window 7 Ultimate (32 bit). Дополнительно устанавливался драйвер Intel RST 9.6, а сам диск Kingston SSDNow V-SERIES 64 GB подключался к SATA-порту, реализованному через контроллер, интегрированный в южный мост чипсета Intel X58 Express. К еще одному SATA-порту подключался HDD-диск, на который устанавливались операционная система и все необходимые для тестирования приложения. В настройках BIOS для всех SATA-портов задавался режим работы AHCI.

Для тестирования мы использовали только утилиту IOmeter версии 2008.06.18 (последняя версия на момент тестирования), которая представляет собой очень мощный инструмент для анализа производительности накопителей (как HDD, так и SSD). Подробно о ней мы рассказывали в статье «Тестирование SSD-диска Intel X25-M 160 Гбайт», опубликованной в сентябрьском номере журнала за 2010 год. А потому не будем повторяться и рассмотрим лишь применявшиеся нами сценарии нагрузки диска при его тестировании.

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

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

Именно поэтому при тестировании SSD-диска мы использовали сценарии нагрузки как с новым диском, так и с ранее применявшимся.

Для того чтобы получить использованный диск, то есть диск, в котором все страницы памяти уже заполнены данными, с помощью утилиты IOmeter мы проводили случайную запись блоками по 64 Кбайт в течение такого времени, чтобы суммарный объем записанных на диск данных в 1,5 раза превышал его размер.

Для того чтобы привести применявшийся SSD-диск к состоянию нового, или «диска из коробки» (out of box), мы прибегли к следующей процедуре. На диске создавался логический раздел, который затем форматировался и удалялся.

Тестирование диска мы проводили без создания на нем логического раздела.

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

  • последовательное чтение диска;
  • случайное чтение диска;
  • последовательная запись нового диска;
  • последовательная запись использовавшегося ранее диска.

Во всех перечисленных сценариях загрузки применялись запросы на передачу данных блоками следующих размеров: 512 байт, 1, 2, 4, 8, 16, 32, 64, 128, 256, 512 Кбайт и 1 Мбайт. Выравнивание устанавливалось по размеру блока.

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

Для операций последовательной записи мы проводили тест как для нового диска, так и для ранее использовавшегося.

В перечисленных сценариях нагрузки время теста с каждым запросом на передачу блока данных составляло 5 мин. Также отметим, что во всех перечисленных тестах мы задавали в настройках IOmeter глубину очереди задачи (# of Outstanding I/Os) равной 4, что типично для пользовательских приложений.

Второй этап тестирования был посвящен операциям случайной записи. Дело в том, что, в отличие от всех остальных тестов, скорость случайной записи меняется со временем. Поэтому на втором этапе тестирования мы исследовали изменение скорости выполнения случайной записи от времени. Данный тест выполнялся следующим образом. С каждым размером блока запроса на передачу данных тест запускался на протяжении четырех часов (240 мин) с фиксацией результатов через каждую минуту (утилита IOmeter позволяет создать подобный сценарий загрузки). После этого для каждого размера блока строился график зависимости скорости передачи данных (Мбайт/с) от времени.

В тесте использовались следующие размеры запросов на передачу блоков данных: 4, 16, 64 и 256 Кбайт. Выравнивание устанавливалось по размеру блока.

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

Результаты тестирования и их анализ

Последовательное и случайное чтение

Результаты тестирования в режиме последовательного чтения показаны на рис. 1. Как видите, максимальная скорость последовательного чтения составляет 250 Мбайт/с, а не 200 Мбайт/с, как заявлено в спецификации. При этом максимальное значение скорости последовательного чтения достигается при размере блока в 128 Кбайт.

 

Рисунок

Рис. 1. Зависимость скорости передачи данных при последовательном
и случайном чтении от размера блока данных

Скорость случайного чтения существенно отличается от скорости последовательного чтения. Объяснить этот факт довольно сложно, поскольку в NAND флэш­памяти нет очевидных причин, которые могли бы привести к разнице в скорости последовательного и выборочного чтения. Единственное объяснение в данном случае — это особенность работы контроллера диска при операциях случайного и последовательного чтения. То есть при операциях случайного чтения для нахождения записи в таблице соответствия физических и логических адресов (PBA-LBA) требуется больше времени.

Последовательная запись

Результаты тестирования для последовательной записи показаны на рис. 2. Как видно, скорость последовательной записи не зависит от состояния диска. То есть зависимость скорости последовательной записи от размера блока данных для нового диска не отличается от этой зависимости для ранее использовавшегося диска. Примечательно, что максимальная скорость последовательной записи составляет не 110 Мбайт/с, как заявлено в спецификации, а 174 Мбайт/с. Причем достигается максимальная скорость последовательной записи при размере блока 128 Кбайт.

 

Рисунок

Рис. 2. Зависимость скорости последовательной записи от размера блока данных

Тот факт, что скорость последовательной записи одинакова для нового и ранее использовавшегося диска, оказался для нас весьма неожиданным. Действительно, если (как в нашем случае) на диске предварительно в течение длительного времени осуществлялись операции случайной записи, то при последующей последовательной записи доминирующим фактором, отражающимся на скорости, станет процедура Garbage Collection, то есть процедура очистки блоков со страницами, помеченными к удалению, и скорость последовательной записи должна снизиться. Единственное разумное объяснение тому, что скорость не снижается, следующее: при случайной записи, равно как и при других операциях с диском, активизируется процедура Garbage Collection, что позволяет поддерживать количество свободных страниц памяти на достаточно высоком уровне. В таком случае новый и ранее использовавшийся диски практически не будут отличаться друг от друга по скоростным показателям.

Случайная запись

Пожалуй, анализ результатов именно случайной записи диска вызывает наибольший интерес, поскольку скорость случайной записи со временем меняется. Как правило, в качестве главной причины, приводящей к падению скорости осуществления операций случайной записи, указывается уменьшение со временем количества свободных страниц памяти и, как следствие, возрастание показателя усиления записи. Напомним вкратце, о чем идет речь. По мере уменьшения количества свободных страниц контроллер диска начинает задействовать страницы, помеченные к удалению, которые неизбежно появляются при случайной записи. Перед тем как записать на такую страницу памяти новые данные, ее необходимо очистить, то есть стереть устаревшие данные. Однако очистить лишь одну страницу NAND флэш­памяти нельзя (собственно, это и есть ахиллесова пята NAND флэш­памяти). Стирать данные можно только блоками, состоящими из большого числа страниц. Но в блоке могут быть страницы как помеченные к удалению, так и содержащие нужные данные. Поэтому при записи страниц, помеченных к удалению, выполняется довольно сложная процедура. Сначала контроллер диска по особому алгоритму выбирает блок, содержащий как можно больше страниц памяти, помеченных к удалению. Потом из этого блока считываются все страницы, содержащие нужные данные, а затем эти страницы переписываются в свободный блок или в блок из резервной области. В этот же блок страницами дописываются и те данные, которые нужно было записать изначально. Ну а блок, который содержал страницы, помеченные к удалению, целиком удаляется и помечается как свободный или резервный. В результате такой процедуры, во-первых, приходится выполнять еще и считывание, а во-вторых, записывать данных больше, чем требуется (размер записываемых данных превышает размер запроса). Собственно, именно поэтому и происходит резкое снижение производительности.

Однако давайте попробуем проанализировать изменение скорости передачи данных при случайной записи для диска Kingston SSDNow V-SERIES 64 GB. Результаты тестирования для случайной записи показаны на рис. 3.

 

Рисунок

Рис. 3. Зависимость скорости передачи данных от времени при случайной записи

В первые несколько секунд (до минуты) наблюдается очень резкое падение производительности. Однако совершенно очевидно, что такое падение производительности не может быть вызвано уменьшением количества свободных страниц памяти, поскольку за минуту их количество не может сколько­нибудь существенно сократиться.

Помимо уменьшения числа свободных страниц памяти есть еще одна причина, приводящая к падению производительности. Речь идет об оптимизации таблицы размещения, которая включает записи, сопоставляющие логические адреса (LBA) физическим адресам (PBA). Важно, что эта таблица не содержит отдельных записей для каждого 512-байтного сектора, а оперирует блоками переменной длины. Чем больше блоки, тем меньше записей в таблице требуется. Строго говоря, это не просто таблица, а более сложная структура. При коротких блоках данных одной минуты вполне достаточно, чтобы таблица размещения выросла до размеров оперативной памяти контроллера SSD, в которой, собственно, она и расположена. И с этого момента уже требуется постоянно оптимизировать таблицу, что сказывается на производительности. Процесс оптимизации, по сути, состоит из объединения разрозненных маленьких фрагментов в один непрерывный сегмент. Одно такое объединение позволяет заменить несколько тысяч записей в таблице на одну запись. Объединение делается путем считывания разрозненных фрагментов и записи их последовательно в новый сегмент. Физические блоки, где эти фрагменты ранее размещались, помечаются как неиспользуемые.

Также по графикам видно, что скорость случайной записи постоянно меняется, причем амплитуда всплесков на графике зависимости скорости от времени зависит от размера блоков данных (чем больше размер блока, тем больше амплитуда всплесков). Объяснить это можно тем, что в процессе случайной записи активируется процедура Garbage Collection, которая и приводит к периодическим провалам в скорости случайной записи.

Заключение

В заключение нашего обзора диска Kingston SSDNow V-SERIES 64 GB еще раз отметим, что этот диск обладает очень хорошими скоростными показателями. Далеко не каждый SSD-диск позволяет последовательно считывать данные со скоростью 250 Мбайт/с и последовательно записывать данные на скорости 174 Мбайт/с.

В то же время нельзя не отметить и недостатки этого диска. Во­первых, мы так и не смогли найти способа перепрошивки его контроллера. Во­вторых, при использовании SSD-дисков в ноутбуках или настольных ПК крайне желательно определенным образом настроить систему (отключить дефрагментацию, индексирование файлов и т.д.). Некоторые производители (например, компания Intel) поставляют со своими SSD-дисками специальные утилиты, позволяющие производить оптимизацию системы для применения SSD-диска. Для SSD-дисков Kingston никаких специализированных утилит не поставляется, так что придется либо настраивать систему вручную, либо использовать сторонний софт.

 

В начало В начало

КомпьютерПресс 01'2011

1999 1 2 3 4 5 6 7 8 9 10 11 12
2000 1 2 3 4 5 6 7 8 9 10 11 12
2001 1 2 3 4 5 6 7 8 9 10 11 12
2002 1 2 3 4 5 6 7 8 9 10 11 12
2003 1 2 3 4 5 6 7 8 9 10 11 12
2004 1 2 3 4 5 6 7 8 9 10 11 12
2005 1 2 3 4 5 6 7 8 9 10 11 12
2006 1 2 3 4 5 6 7 8 9 10 11 12
2007 1 2 3 4 5 6 7 8 9 10 11 12
2008 1 2 3 4 5 6 7 8 9 10 11 12
2009 1 2 3 4 5 6 7 8 9 10 11 12
2010 1 2 3 4 5 6 7 8 9 10 11 12
2011 1 2 3 4 5 6 7 8 9 10 11 12
2012 1 2 3 4 5 6 7 8 9 10 11 12
2013 1 2 3 4 5 6 7 8 9 10 11 12
Популярные статьи
КомпьютерПресс использует