SSD-накопитель PNY SSA2S120GC2DE08

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

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

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

Немного теории

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

 

Компания PNY известна в России в основном благодаря своим видеокартам. Остальная ее продукция пока не получила широкого распространения. В то же время ассортимент компании PNY весьма богатый — например в числе прочего она производит SSD-накопители. В настоящей статье мы рассмотрим SSD-накопитель компании PNY емкостью 120 Гбайт.

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

Если заглянуть на сайт компании PNY (www.pny.com), то в разделе SSD-накопителей можно обнаружить несколько серий (XLR8, Prevail, Prevail Elite) и несколько моделей различного объема в каждой серии. Однако определить принадлежность к той или иной серии модели SSD-накопителя, побывавшей на тестировании в лаборатории «КомпьютерПресс», мы не смогли. На корпусе этого устройства есть лишь маркировка SSA2S120GC2DE08, а также указано, что это накопитель емкостью 120 Гбайт, имеющий интерфейс SATA 6 Гбит/с, и что в нем используется прошивка версии 3.3.4. А потому в дальнейшем мы будем называть его просто SSD-накопителем PNY.

 

SSD­накопитель PNY SSA2S120GC2DE08

Рассмотрим характеристики SSD-накопителя PNY более подробно. Разобрав корпус накопителя, нам удалось выяснить, что в нем применяются 8-канальный контроллер SandForce SF-2281 и 25-нм чипы MLC NAND флэш­памяти компании Intel (восемь чипов памяти 29F16B16MCME1). Данный накопитель имеет формфактор 2,5 дюйма. Как и все SSD-накопители на базе контроллера SandForce SF-2281, он поддерживает команду TRIM, технологии DuraClass, DuraWrite для оптимизации срока службы, производительности, длительности хранения данных и энергопотребления. Кроме того, в нем реализованы расширенные функции выравнивания износа (Intelligent Block Management and Wear Leveling) и контроля энергопотребления. Также поддерживаются оптимизация повторного использования ячеек флэш­памяти и сбор мусора (Garbage Collection), что позволяет сохранять максимальную производительность в течение всего срока службы устройства. Контроллер SandForce SF-2281 реализует в накопителе функцию SMART и технологию RAISE, которая позволяет обнаруживать и устранять почти в миллион миллиардов раз больше ошибок, чем при использовании других контроллеров. Контроллер SandForce SF-2281 также поддерживает функцию шифрования данных.

Согласно спецификации контроллера SandForce SF-2281, при подключении по интерфейсу SATA 6 Гбит/с максимальная скорость последовательного чтения и записи составляет до 500 Мбайт/с (при передаче блоков размером 128 Кбайт).

В режиме случайного чтения блоками по 4 Кбайт производительность, которая традиционно измеряется в количестве операций ввода­вывода в секунду (IOPS), составляет до 60 000 IOPS; в режиме случайной записи блоками по 4 Кбайт — до 20 000 IOPS в непрерывном и до 60 000 IOPS в кратковременном режиме.

Еще раз отметим, что указанные характеристики относятся не к SSD-накопителю PNY, а к контролеру SandForce SF-2281.

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

Для тестирования SSD-накопителя PNY мы использовали стенд следующей конфигурации:

  • процессор — Intel Core i7-3770K;
  • системная плата — Gigabyte Z77X-UP4 TH;
  • чипсет системной платы — Intel Z77 Express;
  • накопитель с операционной системой — Intel SSD 520 Series (240 Гбайт);
  • режим работы SATA — AHCI;
  • драйвер накопителей — Intel RST 11.5.0.1207;
  • контроллер диска — интегрированный в чипсет контроллер SATA 6 Гбит/с.

В ходе тестирования применялась операционная система Window 7 Ultimate (64 bit). Дополнительно устанавливался драйвер Intel RST 11.5.0.1207, а SSD-накопитель PNY подключался к порту SATA 6 Гбит/с, который был реализован через контроллер, интегрированный в чипсет. К еще одному SATA-порту подключался HDD-диск, на который устанавливались операционная система и все необходимые для тестирования приложения. Для всех SATA-портов задавался режим работы AHCI.

Для тестирования мы использовали утилиту IOmeter версии 2008.06.18, которая представляет собой очень мощный инструмент для анализа производительности накопителей (как HDD, так и SSD) и фактически является отраслевым стандартом для измерения производительности накопителей.

Тестирование SSD-накопителя с помощью утилиты IOmeter мы проводили без создания на нем логического раздела, чтобы не привязывать результаты тестирования к конкретной файловой системе.

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

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

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

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

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

Немного теории

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

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

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

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

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

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

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

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

Для того чтобы использовать блоки со страницами, помеченными к удалению, применяется метод переноса данных с помощью пустых и резервных блоков. Даже если пустых блоков в SSD-накопителе уже не осталось, всегда имеется определенное количество резервных блоков, используемых для переноса данных. Чтобы удалить страницу с устаревшими данными, прежде нужно переместить из соответствующего блока страницы с актуальными данными в резервный свободный блок и уже потом удалить весь блок, содержащий страницы с устаревшими данными. Соответственно мы получаем частично занятый блок с перемещенными данными, доступный для записи, и пустой блок, который становится резервным. Однако из-за такого перемещения данных приходится записывать на SSD-накопитель больше данных, чем требуется. К примеру, если нужно записать всего одну страницу (4 Кбайт) и для этого нет свободного блока, то прежде необходимо найти блок со страницами, помеченными к удалению. Если имеется блок, в котором помечена на удаление всего одна страница, то нужно переместить из этого блока в резервный остальные 127 страниц и дополнить его той одной страницей, которую нужно было записать. Затем блок со страницей, помеченной на удаление, стирается и становится резервным. Получается, что для записи всего одной страницы (4 Кбайт) приходится записывать 128 страниц (512 Кбайт), и это без учета того, что тратится время на чтение всего блока и его стирание. Именно поэтому скорость записи на новый накопитель (на который данные никогда не записывались) и на уже заполненный диск может различаться. Для того чтобы подчеркнуть принципиальную разницу в скорости записи на пустой и заполненный накопители, используется такой показатель, как коэффициент усиления записи (Write Amplification). Он отображает, во сколько раз больше данных приходится записывать, чем реально требуется. При записи на пустой диск коэффициент усиления записи равен единице, а при записи на заполненный диск он всегда больше единицы — его значение может колебаться от 2 до 25.

Рассмотренный пример несколько идеализирован: в реальности перемещение данных, то есть избавление от блоков со страницами, помеченными к удалению, происходит по мере заполнения диска, причем с помощью как пустых, так и резервных блоков. Эта процедура получила название «сбор мусора» (Garbage Collection).

Существуют различные алгоритмы процедуры Garbage Collection, разница между которыми заключается в том, каким именно способом выбирается блок, используемый для перемещения данных. Понятно, что это должен быть блок, содержащий как можно больше страниц памяти, помеченных к удалению. Именно в этом случае можно минимизировать количество операций записи и тем самым уменьшить показатель Write Amplification. Кроме того, учитывая, что количество циклов перезаписи ячеек флэш­памяти ограничено, процедура Garbage Collection с выбором блока с наибольшим количеством страниц, помеченных к удалению, позволяет продлить время жизни SSD-накопителя.

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

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

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

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

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

Еще одно принципиальное различие между случайной и последовательной записью заключается в принципах формирования и оптимизации таблицы соответствия LBA—PBA. Строго говоря, речь идет не просто о таблице, а о гораздо более сложной структуре. Не вникая в детали, отметим, что данная таблица не содержит отдельных записей для каждого сектора, а оперирует блоками переменной длины, и чем больше эти блоки, тем меньшее количество записей в таблице требуется. Более того, по мере заполнения такой таблицы начинается процедура ее оптимизации, что заметно отражается на производительности диска.

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

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

Рассмотренные нами явления старения SSD-накопителей и различия в скорости случайной и последовательной записи могут либо проявляться в современных SSD-накопителях, либо нет. Здесь всё зависит от прошивки и контроллера SSD-накопителя, которые определяют логику его работы. Дело в том, что в качестве примера мы рассмотрели идеальную ситуацию. В реальных условиях процедура перемещения данных может происходить постоянно, что позволяет избавиться от эффекта старения накопителя. Кроме того, в накопителях применяется процедура Wear Leveling, позволяющая повысить долговечность SSD за счет равномерного использования всех ячеек памяти. Смысл ее заключается в том, что контроллер накопителя отслеживает частоту применения различных блоков памяти и если какие­то блоки памяти используются реже остальных, то он принудительно повышает частоту их применения за счет перезаписывания неиспользуемых блоков данных в другие блоки.

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

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

Мы рассказали о старении SSD-накопителя и выяснили, что этот эффект свидетельствует о недоведенной до ума прошивке.

Эффект старения SSD-накопителя PNY мы продемонстрируем на примере изменения скорости случайной записи блоками по 4 Кбайт. Для этого операция случайной записи блоками по 4 Кбайт с использованием утилиты IOmeter осуществлялась в течение 10 часов с фиксацией результатов через каждую минуту. Это позволило построить график зависимости скорости случайной записи от времени (рис. 1).

 

Рисунок

Рис. 1. Изменение скорости случайной записи от времени (размер блоков 4 Кбайт)

Как видно из результатов теста, для нового накопителя скорость случайной записи блоками по 4 Кбайт составляет 47 Мбайт/с, но через три часа она снижается примерно до уровня 30 Мбайт/с и далее уже не меняется. Таким образом, в результате старения снижение производительности составляет порядка 36% (для случайной записи блоками по 4 Кбайт).

Далее измерялась скорость последовательной записи, последовательного чтения, случайного чтения и случайной записи. Естественно, возникает вопрос: для какого накопителя измерялись указанные скоростные характеристики — для нового, то есть пустого, или для ранее использовавшегося, в котором уже есть занятые страницы и страницы, отмеченные к удалению?

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

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

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

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

Попутно отметим, что для приведения накопителя в состояние ранее использовавшегося вполне достаточно провести тест на его старение, то есть на скорость случайной записи блоками по 4 Кбайт в течение 10 часов. А вот приведение теста в состояние нового реализуется следующим образом. Первоначально на накопителе создается логический раздел, равный физическому размеру накопителя, после чего этот раздел форматируется и вновь удаляется.

Итак, обратимся к результатам тестирования.

Зависимость скорости последовательного чтения, случайного чтения и последовательной записи от размера блока данных показана на рис. 2. Как видно из результатов тестирования, максимальная скорость последовательного чтения равна 530 Мбайт/с и достигается при размере блока в 1 Мбайт. А вот максимальная скорость последовательной записи чуть ниже — 485 Мбайт/с и достигается она уже при размере блока 64 Кбайт.

 

Рисунок

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

Максимальная скорость случайного чтения не превышает 380 Мбайт/с.

Зависимость скорости случайной записи от размера блока данных показана на рис. 3. Как видно из результатов тестирования, если SSD-накопитель ранее использовался, то скорость случайной записи не превышает 190 Мбайт/с. А вот для нового накопителя скорость случайной записи достигает 380 Мбайт/с, то есть разница в максимальной скорости случайной записи почти двукратная.

 

Рисунок

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

По результатам тестирования можно сделать следующие выводы. Скоростные характеристики SSD-накопителя от компании PNY достаточно высокие и вполне соответствуют современным SSD-накопителям. В то же время у накопителя есть и серьезный недостаток — эффект старения, который сегодня можно рассматривать как атавизм. Собственно, покупать накопитель или нет — это вопрос цены. Если такой накопитель емкостью 120 Гбайт стоит менее 150 долл., то имеет смысл его приобрести, а если дороже — его покупка неоправданна.

 

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

КомпьютерПресс 09'2012


Наш канал на Youtube

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
Популярные статьи
КомпьютерПресс использует