SSD с интерфейсом PCI Express: обзор и тестирование пяти моделей. PCI контроллеры: характеристики, типы, виды Каковы различные форматы PCI Express

USB - наиболее популярный современный интерфейс для подключения внешней периферии. Конкретно стандарт USB 2.0 обеспечивает скорость передачи данных до 480 Мбит/с. Он считается устаревшим и в свете появления более быстрых и продвинутых версий - 3.0 и 3.1. Тем не менее, возможностей USB 2.0 вполне достаточно для периферийных устройств, не требующих высокой скорости обмена данными или мощного питания - клавиатур, мышей, веб-камер, «флешек» и т. п.; а обходится данный интерфейс недорого. Так что разъемы этого типа все еще продолжают широко применяться в компьютерной технике, и навряд ли ситуация в ближайшее время изменится.

USB 3.2 gen1

USB - наиболее популярный современный интерфейс для подключения внешней периферии. USB 3.2 gen1 (ранее маркировка была USB 3.1 gen1 и USB 3.0) является следующим, после 2.0, поколением данного интерфейса. В этой версии скорость передачи данных была увеличена до 4,8 Гбит/с, также возросла мощность питания, которое может подаваться на разъем.

USB 3.2 gen2

USB - наиболее популярный современный интерфейс для подключения внешней периферии. Версия 3.2 gen2 (прежнее название USB 3.1 gen2 и USB 3.1) обладает скоростью передачи данных до 10 Гбит/с.

USB C 3.2 gen1

ESATA представляет собой специализированный интерфейс для подключения внешних накопителей. Он обеспечивает скорость передачи данных в 2.4 Гбит/с (в 5 раз выше, чем по стандарту USB 2.0). Также подключение по eSATA удобно тем, что накопитель не занимает порт USB, который может пригодиться для другой периферии. С другой стороны, периферийных устройств с таким разъемом выпускается сравнительно немного.

COM-порт

Под термином «COM-порт» обычно подразумевается интерфейс RS-232. Это служебный разъем, в наше время применяемый в основном для подключения различного специализированного оборудования - станков с ЧПУ, источников бесперебойного питания, программируемых логических контроллеров, некоторых моделей роутеров и т п. Помимо этого, данный интерфейс может применяться для прямого соединения между двумя компьютерами, а также для управления настройками телевизоров, проекторов, аудиоресиверов и другой аудио- и видеотехники. COM-порт редко устанавливается в современные компьютеры при первоначальной сборке, так что для использования данного интерфейса обычно требуется установка PCI-контроллера.

LPT-порт

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

Отметим, что LPT имеет довольно крупные размеры, поэтому предусмотреть более двух таких разъемов в PCI-контроллере проблематично. Впрочем, на практике чаще всего достаточно и одного порта.

SAS (SFF-8088)

SFF-8088 является одним из типов разъемов, применяемых для подключения внешних накопителей по интерфейсу SAS. Такое подключение обеспечивает скорость передачи данных до 12 Гбит/с, что особенно удобно при работе с большими объемами данных. В то же время периферии с таким разъемом выпускается сравнительно немного, поэтому и разъемы этого типа встречаются довольно редко.

USB 2.0

Количество внутренних портов USB 2.0, предусмотренное в контроллере.

Подробнее о самом интерфейсе см. «USB 2.0» выше. А внутренние порты располагаются непосредственно на плате контроллера и направлены, в соответствии с названием, внутрь корпуса. Они хорошо подходят для периферийных устройств, которые нужно держать постоянно подключенными к системе и которые можно спрятать в корпус; в качестве примера подобных устройств можно привести Wi-Fi и Bluetooth адаптеры. Преимуществами подключения к внутреннему USB является то, что устройство не торчит из корпуса и не занимает наружных портов, которые могут пригодиться для другой периферии.

USB 3.2 gen1

Количество внутренних портов USB 3.2 gen1 (прежнее название USB 3.1 gen1 и USB 3.0), предусмотренное в контроллере.

Подробнее о самом интерфейсе см. «USB 3.2 gen1» выше. А внутренние порты располагаются непосредственно на плате контроллера и направлены, в соответствии с названием, внутрь корпуса. Они хорошо подходят для периферийных устройств, которые нужно держать постоянно подключенными к системе и которые можно спрятать в корпус; в качестве примера подобных устройств можно привести Wi-Fi и Bluetooth адаптеры. Преимуществами подключения к внутреннему USB является то, что устройство не торчит из корпуса и не занимает наружных портов, которые могут пригодиться для другой периферии.

USB 3.2 gen2

Количество внутренних портов USB 3.2 gen2 (прежнее название USB 3.1 gen2 и USB 3.1), предусмотренное в контроллере.

Подробнее о самом интерфейсе см. «USB 3.2 gen2» выше. А внутренние порты располагаются непосредственно на плате контроллера и направлены, в соответствии с названием, внутрь корпуса. Они хорошо подходят для периферийных устройств, которые нужно держать постоянно подключенными к системе и которые можно спрятать в корпус; в качестве примера подобных устройств можно привести Wi-Fi и Bluetooth адаптеры. Преимуществами подключения к внутреннему USB является то, что устройство не торчит из корпуса и не занимает наружных портов, которые могут пригодиться для другой периферии.

SATA

При оценке количества коннекторов стоит учитывать, что один коннектор может быть выведен на два USB-порта.

Объем кэш-памяти

Объем кэш-памяти, предусмотренной в контроллере.

Кэш-память применяется в контроллерах RAID (см. «Тип»). Она служит для хранения данных, которые наиболее часто используются в процессе работы устройства: кэш обеспечивает высокую скорость доступа к этим данным, улучшая таким образом общее быстродействие контроллера. Чем объемнее кэш - тем больше данных может в нем храниться и тем быстрее может работать устройство; с другой стороны, большие объемы памяти соответствующим образом сказываются на стоимости.

Дополнительное питание

Тип коннектора для подключения дополнительного питания , на который рассчитан контроллер.

- Molex . Характерный четырехконтактный разъем питания, имеющий довольно крупные размеры. Довольно универсален, применяется для питания самых разнообразных компонентов системы

- SATA . Разъем питания, выпущенный одновременно с соответствующим интерфейсом передачи данных (см. выше) специально для жестких дисков; однако может использоваться и для других комплектующих. Имеет 15-контактный штекер.

- Molex/SATA . Возможность подключения к контроллеру питания при помощи любого из описанных выше коннекторов. Такая конструкция является максимально универсальной, она сводит к минимуму вероятность того, что в блоке питания не найдется подходящего коннектора. С другой стороны, подобная универсальность сказывается на габаритах и цене устройства.

Занимаемых слотов

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

Низкопрофильная

Данная особенность означает, что плата контроллера имеет небольшую высоту; а высота в данном случае - это то, насколько плата выступает над «материнкой», в которую она установлена.

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

Длина платы

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

В компьютерах уже давно есть шина PCI Express v3.0 x16; Тесты современных видеоадаптеров показывают на этой шине скорость около 12 Гбайт/с. Хотелось бы сделать модуль на ПЛИС который обладает такой же скоростью. Однако доступные ПЛИС имеют HARDWARE контроллер только для PCIe v3.0 x8; Реализации SOFT IP Core есть, но очень дорогие. Но выход есть.

ПЛИС Virtex 7 VX330T имеет два контроллера PCI Express v3.0 x8; Очевидным решением является размещение коммутатора, который имеет на стороне разъёма x16 и две шины x8 которые подключены к ПЛИС. Получается вот такая структура:


По такой схеме построен модуль HTG-728 компании HighTechGlobal.

По другому пути идёт комания Alpha-Data. Модуль ADM-PCIE-KU3-X16 не имеет коммутатора. Но на разъём x16 выводятся две шины x8. В ПЛИС возможна реализация двух независимых контроллеров. Для этого на ПЛИС заведены два сигнала сброса и две опорных частоты. Но работать это модуль будет только в специальных системных платах, где так же на разъём x16 выводятся два x8. Таких системных плат я не встречал, но видимо они есть.

В нашей компании было принято решение по реализации модуля FMC122P с внутренним коммутатором. Главной задачей была проверка максимальной скорости обмена. Другой, не менее важной задачей, является достижение совместимости с существующим программным обеспечением и компонентами ПЛИС.

Контроллер PCI Express для Virtex 7 кардинально отличается от контроллеров для Virtex 6, Kintex 7. Он стал более удобным, но он другой. На рисунке представлена структурная схема контроллера:

Контроллер имеет две части Completer и Requester, каждая из которых имеет две шины AXI_Stream. Через узел Completer приходят запросы со стороны шины PCI Express. Эти запросы передаются на шину m_axis_cq. По шине s_axis_cc должен прийти ответ со стороны User компонента. Обычно это узел доступа к внутренним регистрам ПЛИС.

Через узел Requester по шине s_axis_rq контроллер DMA посылает запросы на шину PCI Express. Ответы приходят через шину m_axis_rc.

Моделирование шины

В состав IP Core входит example проект по которому можно понять как это работает. Проект написан на Verilog и, к сожалению, он также может служить примером того как не надо разрабатывать. Давайте рассмотрим структурную схему примера.

Эта диаграмма взята из описания IP Core. На первый взгляд всё прекрасно – это замечательная картинка, её можно показать менеджерам, руководителям проектов, клиентам. Проблемы начинаются в реализации. В этой системе очень много мест где используется возможности Verilog для доступа к объектам по абсолютному пути. На мой взгляд, в данной системе это оправдано только в одном месте – это обход узлов GTP для моделирования на уровне PIPE. А вот делать связь между userapp_tx и userapp_rx с использованием абсолютных путей совершенно не нужно.

В проекте это выглядит так:

В компоненте pci_exp_usrapp_tx есть функция TSK_SYSTEM_INITIALIZATION которая вызывает через абсолютный путь функцию из pci_exp_userapp_cfg:

board.RP.cfg_usrapp.TSK_WRITE_CFG_DW (здесь и далее я называю функцией то что в Verilog описывается через task). Смотрим компонент pci_exp_userapp_cfg, что видим: cfg_ds_bus_number <= board.RP.tx_usrapp.RP_BUS_DEV_FNS;

Смотрим компонент pci_exp_userapp_rc, там тоже самое: board.RP.com_usrapp.TSK_PARSE_FRAME(`RX_LOG);

Это не только стилистически не правильно. Это мешает применить модель в своём проекте. Во первых совершенно не обязательно, что в собственном проекте файл верхнего уровня будет называться board и там останется та же самая иерархия. Во вторых может быть два компонента. У нас как раз произошли оба случая. Пришлось поработать с Verilog, хотя мне он совершенно не нравиться. Как оказалось, путём небольшой перестановки весь компонент root_port можно привести к полностью иерархическому виду. В итоге получились файлы компонентов:

  • xilinx_pcie_3_0_7vx_rp_m2.v
  • pci_exp_usrapp_tx_m2.v
  • pci_exp_usrapp_cfg_m2.v
И файлы с функциями:
  • task_bar.vh
  • task_rd.vh
  • task_s1.vh
  • task_test.vh
Это позволило включить в модель два компонента root_port. В компоненте VHDL включение двух root_port выглядит так:

root_port

gen_rp0: if(is_rp0=1) generate rp0: xilinx_pcie_3_0_7vx_rp_m2 generic map(INST_NUM => 0) port map(sys_clk_p => sys_clk_p, sys_clk_n => sys_clk_n, sys_rst_n => sys_rst_n, -- Передача команд cmd_rw => cmd_rw, -- Признак чтения-записи: 0 - чтение, 1 - запись cmd_req => cmd_req, -- 1 - Запрос операции cmd_ack => cmd_ack, -- 1 - подтверждение опреации cmd_adr => cmd_adr, -- адрес для команды чтения-записи cmd_data_i => cmd_data_i, -- данные для записи cmd_data_o => cmd_data_o, -- прочитанные данные cmd_init_done => cmd_init_done_0 -- 1 - инициализация завершена); end generate; gen_rp1: if(is_rp1=1) generate rp1: xilinx_pcie_3_0_7vx_rp_m2 generic map(INST_NUM => 1) port map(sys_clk_p => sys_clk_p, sys_clk_n => sys_clk_n, sys_rst_n => sys_rst_n, cmd_init_done => cmd_init_done_1 -- 1 - инициализация завершена); end generate;


Через компонент rp0 производятся обращения по записи или чтению 32-х разрядных слов. Компонент rp1 только проводит инициализацию.

К сожалению это моделируется очень долго, даже если проводить моделирование на уровне PIPE. Типичный сеанс моделирования это около десяти минут (а может и больше, я уже не помню). Для оперативной работы с DMA каналом это не подходит. В данной ситуации было принято совершенно естественное решение это удалить из модели контроллер PCI Express. Тем более, что он уже был изучен.

Структурная схема контроллера

Обобщённая схема контроллера представлена на рисунке.

Два одинаковых компонента core256_top_engine обеспечивают доступ к двум контроллерам EP0, EP1. core256_top_engine обеспечивает обращение к регистрам со стороны PCI Express, для этого используется только EP0 и компонент reg_access. Компонент dma_access содержит главную логику управления контроллером. Его структурная схема на рисунке ниже:

Всем управляет узел ctrl_main. Узел ctrl_dsc содержит блок дескрипторов. Узел ctrl_adr преобразует дескриптор в последовательность адресов четырёхкилобайтных блоков. Адреса поступают на узлы cmd0 и cmd1 для обмена с узлами core256_top_engine;

Со стороны пользовательской части ПЛИС есть две шины шириной 512 бит. Но данные по этим шинам должны передаваться блоками по 4 килобайта и строго по очереди. Это требуется для поочерёдного заполнения узлов памяти ram0, ram1. Каждый узел памяти содержит четыре блока по 4 килобайта. На этих узлах памяти происходит расщепление исходного потока шириной 512 бит на два потока по 256 бит. В дальнейшем два потока по 256 бит уже полностью независимы. Данные потоков встретятся только в оперативной памяти компьютера, где они окажутся по соседним адресам.

Моделирование dma_access

Узел dma_access является самой сложной частью контроллера. Соответственно, он должен быть промоделирован особенно тщательно. Как я уже написал выше, моделировать два ядра PCI Express очень долго. Для ускорения разработана модель которая подключается вместо core256_top_engine. Для dma_access остался тот же самый интерфейс, а скорость моделирования выросла на порядок. В этом проекте, так же как и в проекте PROTEQ используется автоматический запуск тестов через tcl файл.

Вот фрагмент tcl-файла:

Run_test "stend_m4" "test_read_8kb " 6 "50 us" run_test "stend_m4" "test_read_16kb " 7 "100 us" run_test "stend_m4" "test_read_49blk " 8 "150 us" run_test "stend_m4" "test_read_8x4_cont " 9 "150 us" run_test "stend_m4" "test_read_128x1_cont " 12 "200 us" run_test "stend_m4" "test_read_16kbx2 " 13 "150 us" run_test "stend_m4" "test_read_step " 14 "200 us" run_test "stend_m4" "test_read_8kb_sg_eot " 15 "100 us" run_test "stend_m4" "test_read_64x1 " 16 "100 us"
Это автоматический запуск девяти тестов. Для примера приведу код одного теста:

test_read_4kb

procedure test_read_4kb (signal cmd: out bh_cmd; --! команда signal ret: in bh_ret --! ответ) is variable adr: std_logic_vector(31 downto 0); variable data: std_logic_vector(31 downto 0); variable str: line; variable L: line; variable error: integer:=0; variable dma_complete: integer; variable data_expect: std_logic_vector(31 downto 0); begin write(str, string"("TEST_READ_4KB")); writeline(log, str); ---- Формирование блока дескрипторов --- for ii in 0 to 127 loop adr:= x"00100000"; adr:=adr + ii*4; int_mem_write(cmd, ret, adr, x"00000000"); end loop; int_mem_write(cmd, ret, x"00100000", x"00008000"); int_mem_write(cmd, ret, x"00100004", x"00000100"); -- int_mem_write(cmd, ret, x"00100080", x"00008000"); -- int_mem_write(cmd, ret, x"00100084", x"00000100"); int_mem_write(cmd, ret, x"001001F8", x"00000000"); int_mem_write(cmd, ret, x"001001FC", x"762C4953"); ---- Программирование канала DMA ---- block_write(cmd, ret, 4, 8, x"00000025"); -- DMA_MODE block_write(cmd, ret, 4, 9, x"00000010"); -- DMA_CTRL - RESET FIFO block_write(cmd, ret, 4, 20, x"00100000"); -- PCI_ADRL block_write(cmd, ret, 4, 21, x"00100000"); -- PCI_ADRH block_write(cmd, ret, 4, 23, x"0000A400"); -- LOCAL_ADR block_write(cmd, ret, 4, 9, x"00000001"); -- DMA_CTRL - START wait for 20 us; block_read(cmd, ret, 4, 16, data); -- STATUS write(str, string"("STATUS: ")); hwrite(str, data(15 downto 0)); if(data(8)="1") then write(str, string"(" - Дескриптор правильный")); else write(str, string"(" - Ошибка чтения дескриптора")); error:= error + 1; end if; writeline(log, str); if(error=0) then ---- Ожидание завершения DMA ---- dma_complete:= 0; for ii in 0 to 100 loop block_read(cmd, ret, 4, 16, data); -- STATUS write(str, string"("STATUS: ")); hwrite(str, data(15 downto 0)); if(data(5)="1") then write(str, string"(" - DMA завершён ")); dma_complete:= 1; end if; writeline(log, str); if(dma_complete=1) then exit; end if; wait for 1 us; end loop; writeline(log, str); if(dma_complete=0) then write(str, string"("Ошибка - DMA не завершён ")); writeline(log, str); error:=error+1; end if; end if; for ii in 0 to 3 loop block_read(cmd, ret, 4, 16, data); -- STATUS write(str, string"("STATUS: ")); hwrite(str, data(15 downto 0)); writeline(log, str); wait for 500 ns; end loop; block_write(cmd, ret, 4, 9, x"00000000"); -- DMA_CTRL - STOP write(str, string"(" Прочитано: ")); writeline(log, str); data_expect:= x"A0000000"; for ii in 0 to 1023 loop adr:= x"00800000"; adr:=adr + ii*4; int_mem_read(cmd, ret, adr, data); if(data=data_expect) then fprint(output, L, "%r: %r - Ok\n", fo(ii), fo(data)); fprint(log, L, "%r: %r - Ok\n", fo(ii), fo(data)); else fprint(output, L, "%r: %r Ожидается: %r - Error \n", fo(ii), fo(data), fo(data_expect)); fprint(log, L, "%r: %r Ожидается: %r - Error \n", fo(ii), fo(data), fo(data_expect)); error:=error+1; end if; data_expect:= data_expect + 1; end loop; -- block_write(cmd, ret, 4, 9, x"00000010"); -- DMA_CTRL - RESET FIFO -- block_write(cmd, ret, 4, 9, x"00000000"); -- DMA_CTRL -- block_write(cmd, ret, 4, 9, x"00000001"); -- DMA_CTRL - START fprint(output, L, "\nTest time: %r \n", fo(now)); fprint(log, L, "\nTest time: %r \n", fo(now)); -- вывод в файл -- writeline(log, str); if(error=0) then write(str, string"("TEST finished successfully")); cnt_ok:= cnt_ok + 1; else write(str, string"("TEST finished with ERR")); cnt_error:= cnt_error + 1; end if; writeline(log, str); writeline(log, str); -- вывод в консоль -- writeline(output, str); if(error=0) then write(str, string"("TEST finished successfully")); else write(str, string"("TEST finished with ERR")); end if; writeline(output, str); writeline(output, str); end test_read_4kb


Команды int_mem_write обеспечивают запись в ОЗУ HOST компьютера. В данном тесте туда записывается блок дескрипторов. Команды block_write и block_read обеспечивают обращения к регистрам DMA контроллера. Производится программирование контроллераю, его запуск и завершение обмена. После этого командами int_mem_read производится считывание и проверка принятых данных. Код этого теста практически полностью совпадает с тестом от контроллера PCIe_DS_DMA, который я опубликовал как open source проект на opencores.org; По сравнению с оригиналом добавлена проверка принятых данных.

Логическая организация контроллера

На уровне регистров контроллер полностью повторяет наши предыдущие контроллеры для ПЛИС Virtex 4, Virtex 5, Virtex 6, Kintex 7; С организацией можно ознакомиться в проекте PCIe_DS_DMA.
Особенностью всех контроллеров является объединение одиночных дескрипторов в блок дескрипторов. Это даёт резкое увеличение скорости при использовании фрагментированной памяти.

Подключение к тетрадам

Для нас важно подключить данный контроллер к нашим тетрадам. Что такое тетрады я написал в предыдущей статье: «Интерфейс ADM: Что такое тетрада» . Работа с шиной 512 бит потребовала изменение подхода. Для подключения тетрады пришлось использовать дополнительный узел перепаковщика. Структураная схема - на рисунке.

Перепаковщик решает две задачи:

  • трассировку шины по кристаллу, для этого можно задать число дополнительных стадий конвейера
  • подключение к тетрадам с шинами 64 и 128 разрядов
Использование памяти

Конечной целью разработки контроллера и подключения к тетрадам является получение непрерывного потока данных от АЦП на компьютер. И здесь мы сталкиваемся с тем, что шина PCI Express не обеспечивает стабильной скорости. На шине возможны задержки. Это особенно заметно проявляется на высоких скоростях обмена. Задержки возникают из-за работы других устройств. Величина задержки может быть разной, это может быть 5 – 10 мкс, а может и больше. Задержка в 10 мкс на скорости 11 Гбайт/с соответствует блоку памяти в 110 килобайт. Для внутренней памяти даже современных ПЛИС это очень много. А ведь задержка может быть и больше. Если поток данных нельзя приостановить, а это как раз тот случай, когда используются АЦП, то единственным выходом является буферизация во внешней памяти. Причём память должна уметь работать на скорости 22 Гбайта/с. У нас на модуле установлены два SODIMM DDR3-1600. Память работает на частоте 800 МГц. Это соответствует непрерывному потоку данных 8400 Мбайт/с. Это цифра подтверждена экспериментом. Хочу заметить, что скорость 8400 Мбайт/с превосходит скорость выдачи данных от нашего самого быстрого субмодуля в котором установлены два АЦП на 1800 МГц.

Трассировка

На скриншоте представлен результат трассировки в программе PlanAhead:

На картинке видно два контроллера PCI Express (подсвечены жёлтым и зелёным) и два контроллера памяти (рядом с PCI Express).

Как оказалась, такой проект является очень сложным для Vivado, она с ним справляется очень плохо. Проект в Vivado разводится плохо и часто просто не работает. ISE показывает гораздо более стабильные результаты. Узлы PCI Express разведены в соответствии с рекомендациями Xilinx, при этом оказалось что они разнесены по кристаллу. А это уже создаёт проблему для совместного использования остальных мультигигабитных линий.

Результаты

Работа модуля проверялась на нескольких компьютерах. Результаты довольно интересные.

Intel Core i7 4820K P9X79 WS DDR3-1866 11140 МБайт/с
Intel Core i7 5820K X99-A DDR4-2400 11128 МБайт/с
Intel Core i7 3820K P9X79 DDR3-1600 11120 МБайт/с

Это скорость ввода данных без проверки. Производится непрерывный ввод данных в буфер размером 1 Гбайт выделенный в системной области памяти, т. е. непрерывный по физическим адресам. Измеряется средняя скорость ввода на интервале не менее 1 минуты.

На компьютере с памятью DDR3-1600 при включении проверки скорость падает до 8500 Мбайт/с.

На компьютере с DDR3-1866 скорость при одном модуле и включённой проверке скорость не уменьшается.

Два модуля FMC122P в компьютере с DDR3-1866 без проверки также показывают максимальную скорость около 11000 Мбайт/с для каждого модуля. Но при включении проверки скорость падает.

При данных измерениях принято что 1 Мбайт это 1024 кбайт, а 1 кбайт это 1024 байта.

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

P.S. Пока шла разработка Virtex 7 успел устареть. Kintex Ultrascale уже удобнее в работе. А Kintex Ultrascale+ уже имеет HARD блок PCI Express v3.0 x16 – так что такое разделение уже не нужно.

P.S.S. Но Kintex Ultrascale+ также имеет HARD блок PCI Express v4.0 x8 – может всё таки разделение пригодится?

ВведениеРаньше массового покупателя интересовало главным образом лишь два типа твердотельных накопителей: либо высокоскоростные модели премиального уровня вроде Samsung 850 PRO, либо выгодные по соотношению цены и производительности предложения, такие как Crucial BX100 или SanDisk Ultra II. То есть, сегментация рынка SSD была крайне слабой, а конкуренция между производителями хоть и разворачивалась по направлениям производительности и цены, разрыв между решениями верхнего и нижнего уровня оставался достаточно небольшим. Такое положение дел было отчасти обусловлено тем, что технология SSD сама по себе существенно улучшает ощущения пользователя от работы с компьютером, и поэтому вопросы конкретной реализации для многих отходят на второй план. По этой же причине потребительские твердотельные накопители были вписаны в старую инфраструктуру, которая изначально ориентировалась на механические жёсткие диски. Это существенно облегчило их внедрение, однако заключило SSD в достаточно узкие рамки, которые во многом сдерживают как рост пропускной способности, так и снижение латентности дисковой подсистемы.

Но до определённых пор такое положение дел всех устраивало. Технология SSD была в новинку, и пользователи, переходящие на твердотельные накопители, оставались довольны своим приобретением даже несмотря на то, что по сути они получали продукты, которые на самом деле работают далеко не на пределе своих возможностей, а их производительность сдерживается искусственными барьерами. Однако к сегодняшнему дню SSD, пожалуй, можно считать уже самым настоящим мэйнстримом. Любой уважающий себя владелец персонального компьютера если и не имеет хотя бы один SSD в своей системе, то очень серьёзно настроен на его приобретение в самое ближайшее время. И в этих условиях производители просто вынуждены задумываться о том, чтобы развернуть, наконец, полноценную конкуренцию: разрушить все барьеры и перейти к выпуску более широких линеек продукции, принципиально различающихся по предлагаемым характеристикам. Благо для этого подготовлена вся необходимая почва, и, в первую очередь, большинство разработчиков SSD имеют желание и возможности для того, чтобы заняться выпуском продуктов, работающих не через наследственный SATA-интерфейс, а через куда более производительную шину PCI Express.

Поскольку пропускная способность SATA ограничена величиной 6 Гбит/с, максимальная скорость флагманских SATA SSD не выходит за величину порядка 500 Мбайт/с. Тем не менее, современные накопители, основанные на флеш-памяти, способны на гораздо большее: ведь если задуматься, то они имеют больше общего с системной памятью, нежели с механическими жёсткими дисками. Что же касается шины PCI Express, то сейчас она активно применяется в качестве транспортного уровня при подключении графических карт и прочих дополнительных контроллеров, нуждающихся в обмене данными с высокой скоростью, например, Thunderbolt. Одна линия PCI Express второго поколения обеспечивает пропускную способность на уровне 500 Мбайт/с, а линия PCI Express 3.0 может развивать скорость до 985 Мбайт/с. Таким образом, интерфейсная карта, устанавливаемая в слот PCIe x4 (с четырьмя линиями), может обмениваться данными на скорости до 2 Гбайт/с в случае PCI Express 2.0 и до почти 4 Гбайт/с – при использовании PCI Express третьего поколения. Это отличные показатели, которые вполне подходят и для современных твердотельных накопителей.

Из сказанного закономерно следует, что на рынке помимо SATA SSD должны постепенно находить распространение высокоскоростные накопители, использующие шину PCI Express. И это действительно происходит. В магазинах можно найти несколько моделей потребительских твердотельных накопителей от ведущих производителей, выполненных в виде карт расширения или M.2-плат, которые используют разные варианты шины PCI Express. Мы решили собрать их вместе и сравнить между собой по производительности и другим параметрам.

Участники тестирования

Intel SSD 750 400 Гбайт

На рынке твердотельных накопителей компания Intel придерживается довольно-таки нестандартной стратегии и разработке SSD для потребительского сегмента уделяет не слишком серьёзное внимание, концентрируясь на продуктах для серверов. Однако её предложения от этого не становятся неинтересными, особенно если речь идёт о твердотельном накопителе для шины PCI Express. В данном случае Intel решила адаптировать для использования в высокопроизводительном клиентском SSD свою самую прогрессивную серверную платформу. Именно таким образом и родился Intel SSD 750 400 Гбайт, который получил не только впечатляющие характеристики быстродействия и ряд технологий серверного уровня, отвечающих за надёжность, но и поддержку новомодного интерфейса NVMe, о котором несколько слов стоит сказать отдельно.




Если говорить о конкретных улучшениях NVMe, то в первую очередь упоминания заслуживает снижение накладных расходов. Например, пересылка наиболее типичных 4-килобайтных блоков в новом протоколе требует подачи лишь одной команды вместо двух. А весь набор управляющих инструкций упрощён настолько, что их обработка на уровне драйвера снижает загрузку процессора и возникающие при этом задержки как минимум вдвое. Второе важное нововведение – поддержка глубокой конвейеризации и многозадачности, заключающаяся в возможности параллельно создавать множественные очереди запросов вместо имевшейся ранее единой очереди на 32 команды. Интерфейсный протокол NVMe способен обслуживать до 65536 очередей, причём каждая из них может содержать до 65536 команд. Фактически какие-либо ограничения ликвидируются вообще, и это очень важно для серверных сред, где на дисковую подсистему может возлагаться огромное количество одновременных операций ввода-вывода.



Но несмотря на работу через интерфейс NVMe, Intel SSD 750 – это всё же не серверный, а потребительский накопитель. Да, почти такая же аппаратная платформа, как в этом накопителе, используется в SSD серверного класса Intel DC P3500, P3600 и P3700, но в Intel SSD 750 применена более дешёвая ординарная MLC NAND, а кроме того модифицирована прошивка. Производитель считает, что благодаря таким изменениям получившийся продукт понравится энтузиастам, поскольку он сочетает высокую мощность, принципиально новый интерфейс NVMe и не слишком пугающую стоимость.

Intel SSD 750 представляет собой PCIe x4 карту половинной высоты, которая может задействовать четыре линии стандарта 3.0 и развивать последовательные скорости передачи данных до 2,4 Гбайт/с, а скорость случайных операций – до 440 тысяч IOPS. Правда, наибольшей производительностью отличается наиболее ёмкая модификация на 1,2 Тбайт, полученная же нами на тесты версия объёмом 400 Гбайт немного помедленнее.



Плата накопителя полностью закрыта бронёй. С лицевой стороны это алюминиевый радиатор, а с оборотной – декоративная металлическая пластина, которая на самом деле с микросхемами не соприкасается. Следует отметить, что применение здесь радиатора – необходимость. Основной контроллер интеловского SSD выделяет немало тепла, и при высокой нагрузке даже оснащённый таким охлаждением накопитель может разогреваться до температур порядка 50-55 градусов. Но благодаря предустановленному охлаждению никаких намёков на троттлинг не наблюдается – производительность остаётся постоянной даже в процессе непрерывного и интенсивного использования.



В основе Intel SSD 750 лежит контроллер серверного уровня Intel CH29AE41AB0, который работает на частоте 400 МГц и обладает восемнадцатью (!) каналами для подключения флеш-памяти. Если учесть, что большинство контроллеров для потребительских SSD располагают либо восемью, либо четырьмя каналами, становится понятно, что Intel SSD 750 действительно может прокачивать по шине значительно больше данных, чем привычные модели SSD.



Что касается используемой флеш-памяти, то в этой части Intel SSD 750 не проводит никаких инноваций. Он основывается на обычной MLC NAND интеловского же производства, выпущенной по 20-нм техпроцессу и имеющей ядра объёмом и 64, и 128 Гбит вперемежку. Следует заметить, что большинство прочих производителей SSD достаточно давно отказались от подобной памяти, перейдя на чипы, сделанные по более тонким нормам. Да и сама Intel начала перевод на 16-нм память не только своих потребительских, но и серверных накопителей. Однако несмотря на всё это, в Intel SSD 750 устанавливается более старая память, которая предположительно имеет более высокий ресурс.

Серверное происхождение Intel SSD 750 прослеживается ещё и в том, что общий объём флеш-памяти у этого SSD составляет 480 ГиБ, от которых пользователю доступно лишь около 78 процентов. Остальное отводится на подменный фонд, сборку мусора и технологии защиты данных. В Intel SSD 750 реализована традиционная для флагманских накопителей RAID 5-подобная схема на уровне кристаллов MLC NAND, что позволяет успешно восстанавливать данные даже в том случае, когда один из чипов полностью выходит из строя. Кроме того, интеловский SSD обеспечивает полную защиту данных от перебоев питания. На Intel SSD 750 имеется два электролитических конденсатора, и их ёмкости хватает для штатного завершения работы накопителя в автономном режиме.

Kingston HyperX Predator 480 Гбайт

Kingston HyperX Predator – это куда более традиционное по сравнению с Intel SSD 750 решение. Во-первых, работает оно через протокол AHCI, а не NVMe, а во-вторых, для подключения к системе этому SSD требуется более распространённая шина PCI Express 2.0. Всё это делает вариант Kingston несколько медленнее – пиковые скорости при последовательных операциях не превышают 1400 Мбайт/с, а случайные – 160 тысяч IOPS. Но зато HyperX Predator не накладывает никаких специальных требований на систему – он совместим с любыми, в том числе и старыми платформами.

Вместе с этим, накопитель имеет не совсем простую двухкомпонентную конструкцию. Сам SSD представляет собой плату в форм-факторе M.2, которая дополнена PCI Express переходником, позволяющим подключать M.2-накопители через обычные полноразмерные PCIe слоты. Переходник выполнен в виде PCIe x4 карты половинной высоты, задействующей все четыре линии PCI Express. Благодаря такой конструкции Kingston продаёт свой HyperX Predator в двух вариантах: как PCIe SSD для десктопов и как M.2-накопитель для мобильных систем (в этом случае переходник в поставку не включается).



Kingston HyperX Predator базируется на контроллере Marvell Altaplus (88SS9293), который с одной стороны поддерживает четыре линии PCI Express 2.0, а с другой – имеет восемь каналов для подключения флеш-памяти. На данный момент это – самый быстрый серийно выпускаемый SSD-контроллер фирмы Marvell с поддержкой PCI Express. Однако вскоре у Marvell появятся и более быстрые последователи с поддержкой NVMe и PCI Express 3.0, которой у чипа Altaplus нет.



Поскольку сама компания Kingston не производит ни контроллеров, ни памяти, собирая свои SSD из элементной базы, закупаемой у других производителей, нет ничего странного в том, что в основе HyperX Predator PCIe SSD лежит не только сторонний контроллер, но и 128-гигабитные 19-нм чипы MLC NAND компании Toshiba. Такая память имеет невысокую закупочную цену и ставится сейчас во многие продукты Kingston (и других фирм), и в первую очередь в ширпотребные модели.



Однако использование подобной памяти породило парадокс: несмотря на то, что по своему формальному позиционированию Kingston HyperX Predator PCIe SSD – это продукт премиального класса, на него даётся всего лишь трёхлетняя гарантия, а заявленное среднее время наработки на отказ значительно меньше, чем у флагманских SATA SSD других производителей.

Никаких особенных технологий защиты данных в Kingston HyperX Predator также не предусматривается. Но накопитель имеет сравнительно большую скрытую от глаз пользователя область, размер которой составляет 13 процентов от полной ёмкости накопителя. Входящая в неё резервная флеш-память используется для сборки мусора и выравнивания износа, но в первую очередь расходуется на подмену вышедших из строя ячеек памяти.

Остаётся лишь добавить, что в конструкции HyperX Predator не предусмотрено никаких специальных средств для отвода тепла от контроллера. В отличие от большинства прочих высокопроизводительных решений, радиатора у этого накопителя нет. Тем не менее, к перегреву этот SSD совершенно не склонен – его максимальное тепловыделение лишь немного превышает 8 Вт.

OCZ Revodrive 350 480 Гбайт

OCZ Revodrive 350 с полным правом можно назвать одним из самых старых потребительских твердотельных накопителей с интерфейсом PCI Express. Ещё в те времена, когда никто из прочих производителей о выпуске клиентских PCIe SSD даже не задумывался, в модельном ряду компании OCZ имелся RevoDrive 3 (X2) – прообраз современного Revodrive 350. Однако уходящие в прошлое корни PCIe-накопителя OCZ делают его несколько странным предложением на фоне актуальных конкурентов. В то время как большинство производителей высокопроизводительных накопителей для ПК пользуются современными контроллерами с врождённой поддержкой шины PCI Express, в Revodrive 350 реализована очень замысловатая и явно неоптимальная архитектура. Он базируется на двух или четырёх (в зависимости от объёма) контроллерах SandForce SF-2200, которые собраны в RAID-массив нулевого уровня.

Если говорить о принявшей участие в этом тестировании модели OCZ Revodrive 350 объёмом 480 Гбайт, то в её основе, фактически, лежат четыре SATA SSD ёмкостью по 120 Гбайт, каждый из которых базируется на собственном чипе SF-2282 (аналоге широко распространённого SF-2281). Затем эти элементы объединены в единый четырёхкомпонентный RAID 0-массив. Однако для этой цели используется не совсем привычный RAID-контроллер, а фирменный процессор виртуализации (VCA 2.0) OCZ ICT-0262. Впрочем, очень похоже на то, что под этим именем скрывается перелицованная микросхема Marvell 88SE9548, представляющая собой четырёхпортовый RAID-контроллер SAS/SATA 6 Гбит/с с интерфейсом PCI Express 2.0 x8. Но даже если и так, то инженеры OCZ написали для этого контроллера собственную прошивку и драйвер.



Уникальность программной составляющей RevoDrive 350 заключается в том, что в нём реализован не совсем классический RAID 0, а некое его подобие с интерактивной балансировкой нагрузки. Вместо разбиения потока данных на блоки фиксированного размера и последовательной их передачи на разные контроллеры SF-2282, технология VCA 2.0 предполагает анализ и гибкое перераспределение операций ввода-вывода в зависимости от текущей занятости контроллеров флеш-памяти. Поэтому RevoDrive 350 выглядит для пользователя как монолитный твердотельный накопитель. В его BIOS нельзя зайти, а обнаружить, что в недрах этого SSD скрывается RAID-массив, без подробного знакомства с аппаратной начинкой невозможно. Более того, в отличие от обычных RAID-массивов, в RevoDrive 350 поддерживаются все типичные функции SSD: SMART-мониторинг, TRIM и операция Secure Erase.

RevoDrive 350 выпускается в виде плат с интерфейсом PCI Express 2.0 x8. Несмотря на то, что все восемь линий интерфейса реально используются, заявленные показатели производительности заметно ниже их суммарной теоретической пропускной способности. Максимальная скорость последовательных операций ограничивается величиной 1800 Мбайт/с, а производительность произвольных операций не превышает 140 тысяч IOPS.

Стоит отметить, что выполнен OCZ RevoDrive 350 в виде PCI Express x8 платы полной высоты, то есть этот накопитель физически больше, чем все остальные участвующие в тестировании SSD, и поэтому он не может быть установлен в низкопрофильные системы. Лицевая поверхность платы RevoDrive 350 закрыта декоративным металлическим кожухом, по совместительству выступающим радиатором для базовой микросхемы RAID-контроллера. Контроллеры SF-2282 расположены на оборотной стороне платы и какого-либо охлаждения лишены.



Для формирования массива флеш-памяти OCZ воспользовалась микросхемами своей материнской компании – Toshiba. Используются чипы, производимые по 19-нм техпроцессу и имеющие ёмкость 64 Гбит. Общий объём флеш-памяти в RevoDrive 350 480 Гбайт составляет 512 Гбайт, но 13% зарезервировано под внутренние нужды – выравнивание износа и сборку мусора.



Стоит отметить, что архитектура RevoDrive 350 не уникальна. На рынке представлены ещё несколько моделей подобных SSD, работающих по принципу «RAID-массив из SATA SSD на базе контроллеров SandForce». Однако все такие решения, как и рассматриваемый PCIe-накопитель OCZ отличаются неприятным недостатком – их производительность на операциях записи деградирует со временем. Связано это с особенностями внутренних алгоритмов контроллеров SandForce, операция TRIM у которых не возвращает скорость записи до первоначального уровня.



Тот бесспорный факт, что RevoDrive 350 стоит на ступеньку ниже PCI Express накопителей нового поколения подчёркивается и тем, что на этот накопитель даётся всего трёхлетняя гарантия, а его гарантируемый ресурс записи составляет лишь 54 Тбайт – в разы меньше, чем у конкурентов. Более того, несмотря на то, что RevoDrive 350 основывается на том же дизайне, что и серверный Z-Drive 4500, никакой защиты от перепадов напряжения питания он не имеет. Однако всё это не мешает OCZ с присущей ей дерзостью позиционировать RevoDrive 350 в качестве премиального решения уровня Intel SSD 750.

Plextor M6e Black Edition 256 Гбайт

Сразу же необходимо отметить, что накопитель Plextor M6e Black Edition является прямым последователем хорошо известной модели M6e . Похожесть новинки на предшественницу прослеживается почти во всём, если говорить о технической, а не эстетической составляющей. Новый SSD точно так же имеет двухкомпонентную конструкцию, включая в себя собственно накопитель в формате M.2 2280 и переходник, который позволяет устанавливать его в любой обычный слот PCIe x4 (или более скоростной). В его же основе лежит восьмиканальный контроллер Marvell 88SS9183, общающийся с внешним миром по двум линиям PCI Express 2.0. Так же, как и в прошлой модификации, в M6e Black Edition используется MLC-флеш-память компании Toshiba.

И это значит, что несмотря на то, что M6e Black Edition в сборе выглядит как карта половинной высоты с интерфейсом PCI Express x4, на самом деле этот SSD пользуется лишь двумя линиями PCI Express 2.0. Отсюда и не слишком впечатляющие скорости, которое лишь немного превышают быстродействие традиционных SATA SSD. Паспортная производительность на последовательных операциях ограничивается величиной 770 Мбайт/с, а на произвольных – 105 тысяч IOPS. Стоит отметить, что работает Plextor M6e Black Edition по наследственному AHCI-протоколу, и это обеспечивает его широкую совместимость с различными системами.



Несмотря на то, что Plextor M6e Black Edition, как и Kingston HyperX Predator, представляет собой комбинацию из PCI Express переходника и «ядра» в формате M.2-платы, с лицевой стороны определить это невозможно. Весь накопитель спрятался под фигурным чёрным алюминиевым кожухом, в центре которого врезан красный радиатор, который должен отводить тепло от контроллера и чипов памяти. Расчёт дизайнеров понятен: подобное цветовое решение повсеместно применяется в различном игровом железе, поэтому Plextor M6e Black Edition будет гармонично смотреться рядом со многими геймерскими материнскими платами и видеокартами большинства ведущих производителей.



Массив флеш-памяти в Plextor M6e Black Edition набран 19-нм чипами MLC NAND компании Toshiba второго поколения с ёмкостью 64 Гбит. На резерв, используемый для подменного фонда и работы внутренних алгоритмов выравнивания износа и сборки мусора отведено 7 процентов от общего объёма. Всё остальное – доступно пользователю.



Из-за использования достаточно слабого контроллера Marvell 88SS9183 с внешней шиной PCI Express 2.0 x2 накопитель Plextor M6e Black Edition стоит считать достаточно медленным PCIe SSD. Однако это не мешает производителю относить этот продукт в верхнюю ценовую категорию. С одной стороны, он всё-таки быстрее SATA SSD, а с другой – обладает неплохими характеристиками надёжности: имеет продолжительное время наработки на отказ и покрывается пятилетней гарантией. Впрочем, никаких специальных технологий, способных защитить M6e Black Edition от перепадов напряжения или увеличить его ресурс, в нём не реализовано.

Samsung SM951 256 Гбайт

Samsung SM951 – самый неуловимый накопитель в сегодняшнем тестировании. Дело в том, что изначально это – продукт для сборщиков компьютеров, поэтому в розничной продаже он представлен достаточно блекло. Тем не менее, при желании, купить его всё-таки возможно, поэтому отказываться от рассмотрения SM951 мы не стали. Тем более, если судить по характеристикам, это – весьма быстродействующая модель. Она ориентирована на работу по шине PCI Express 3.0 x4, использует протокол AHCI и обещает впечатляющие скорости: до 2150 Мбайт/с на последовательных операциях и до 90 тысяч IOPS – на произвольных. Но самое главное, при всём при этом Samsung SM951 дешевле многих прочих PCIe SSD, так что его поиски в продаже могут иметь под собой вполне конкретное экономическое обоснование.

Ещё одна особенность Samsung SM951 заключается в том, что поставляется он в M.2-виде. Изначально это решение ориентировано на мобильные системы, поэтому никаких переходников для полноразмерных слотов PCIe в комплекте с накопителем не прилагается. Тем не менее, это вряд ли можно считать серьёзным недостатком – большинство флагманских материнских плат имеют на своём борту и интерфейсные слоты M.2. Кроме того, необходимые платы-переходники широко представлены в продаже. Сам же Samsung SM951 представляет собой плату форм-фактора M.2 2280, разъём которой имеет ключ типа M, указывающий на потребность SSD в четырёх линиях PCI Express.



В основе Samsung SM951 лежит исключительно мощный контроллер Samsung UBX, разработанный производителем специально для SSD c интерфейсом PCI Express. Он базируется на трёх ядрах с ARM-архитектурой и в теории способен работать как c AHCI-, так и с NVMe-командами. В рассматриваемом SSD в контроллере включён лишь AHCI-режим. Но NVMe-версию данного контроллера в скором времени можно будет увидеть в новом потребительском SSD, который Samsung должен запустить этой осенью.



Из-за OEM-направленности для рассматриваемого накопителя не сообщается ни сроков гарантии, ни прогнозируемой выносливости. Декларировать эти параметры должны сборщики систем, в которые будет установлен SM951, либо продавцы. Однако следует отметить, что трёхмерная V-NAND, которая сейчас активно продвигается Samsung в потребительских SSD как более быстродействующая и надёжная разновидность флеш-памяти, в SM951 не используется. Вместо этого в нём применена обычная планарная Toggle Mode 2.0 MLC NAND, производимая, предположительно, по 16-нм технологии (некоторые источники предполагают 19-нм техпроцесс). Это означает, что ожидать от SM951 столь же высокой выносливости, как у флагманского SATA-накопителя 850 PRO, явно не следует. По этому параметру SM951 ближе к обычным моделям среднего уровня, к тому же на резервирование в этом SSD отводится только 7 процентов от массива флеш-памяти. Нет в Samsung SM951 и каких-то особых технологий серверного уровня для защиты данных от сбоев питания. Иными словами, акцент в этой модели сделан исключительно на скорости работы, а всё остальное отсечено для снижения стоимости.



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

Сравнительные характеристики протестированных SSD


Вопросы совместимости

Как и всякая новая технология, твердотельные накопители с интерфейсом PCI Express пока не могут похвастать 100-процентной беспроблемной работоспособностью с любыми платформами, особенно старыми. Поэтому выбирать подходящий SSD приходится не только исходя из потребительских характеристик, но и с оглядкой на совместимость. И здесь важно иметь в виду два момента.

В первую очередь, разные SSD могут использовать разное количество линий PCI Express и разные поколения этой шины - 2.0 или 3.0. Поэтому перед покупкой PCIe накопителя нужно убедиться в том, что в системе, куда его планируется установить, есть свободный слот с нужной полосой пропускания. Конечно, более скоростные PCIe SSD имеют обратную совместимость с медленными слотами, однако в этом случае приобретение высокоскоростного SSD имеет не слишком много смысла – он попросту не сможет раскрыть весь заложенный в него потенциал.

Наиболее широкой совместимостью в этом смысле обладает Plextor M6e Black Edition – он требует всего две линии PCI Express 2.0, и такой свободный слот наверняка найдётся на практически любой материнской плате. Для Kingston HyperX Predator нужно уже четыре линии PCI Express 2.0: такие слоты PCIe тоже есть на многих платах, но некоторые дешёвые платформы лишними слотами с числом линий PCI Express четыре или более могут и не обладать. Особенно это касается материнок, построенных на чипсетах нижнего уровня, общее число линий у которых может быть урезано до шести. Поэтому перед приобретением Kingston HyperX Predator обязательно проверьте, что в системе есть свободный слот с четырьмя или большим числом линий PCI Express.

OCZ Revodrive 350 задаёт задачку посложнее – ему уже требуется восемь линий PCI Express. Такие слоты обычно реализуются уже силами не чипсета, а процессора. Поэтому оптимальным местом применения такого накопителя являются LGA 2011/2011-3-платформы, где PCI Express контроллер процессора располагает избыточным числом линий, позволяющим обслуживать более чем одну видеокарту. В системах же с LGA 1155/1150/1151-процессорами OCZ Revodrive 350 будет уместен лишь в том случае, если используется встроенная в CPU графика. В противном случае в пользу твердотельного накопителя придётся отнять половину линий у GPU, переведя его в режим PCI Express x8.

Intel SSD 750 и Samsung SM951 в чём-то похожи на OCZ Revodrive 350: их тоже предпочтительнее использовать в слотах PCI Express, питаемых от процессора. Однако причина тут не в количестве линий – им требуется всего четыре линии PCI Express, а в поколении этого интерфейса: оба эти накопителя способны задействовать увеличенную пропускную способность PCI Express 3.0. Однако есть и исключение: новейшие интеловские наборы системной логики сотой серии, предназначенные для процессоров семейства Skylake, получили поддержку PCI Express 3.0, поэтому в новейших LGA 1151-платах их без зазрений совести можно устанавливать и в чипсетные PCIe-слоты, к которым подведено как минимум четыре линии.

У проблемы совместимости есть и вторая часть. Ко всем ограничениям, связанным с пропускной способностью различных вариаций слотов PCI Express добавляются ещё и ограничения, связанные с используемыми протоколами. Наиболее беспроблемными в этом смысле являются SSD, которые работают через AHCI. Благодаря тому, что в них эмулируется поведение обычного SATA-контроллера, они могут работать с любыми, даже старыми, платформами: они видятся в BIOS любых материнских плат, могут быть загрузочными дисками, а для их работы в операционной системе не требуется и никаких дополнительных драйверов. Иными словами, Kingston HyperX Predator и Plextor M6e Black Edition – это два самых беспроблемных PCIe SSD.

А что же другая пара AHCI-накопителей? С ними ситуация немного сложнее. OCZ Revodrive 350 работает в операционной системе через собственный драйвер, но даже несмотря на это проблем с тем, чтобы сделать этот накопитель загрузочным, нет никаких. Хуже дело обстоит с Samsung SM951. Хотя этот SSD и общается с системой посредством наследственного протокола AHCI, он лишён собственного BIOS, и поэтому его инициализацию должен проводить BIOS материнской платы. К сожалению, поддержка данного SSD есть далеко не во всех материнках, в особенности старых. Поэтому с полной уверенностью можно говорить лишь о его совместимости с платами на базе последних интеловских чипсетов девяностой и сотой серии. В остальных случаях он может попросту не видеться материнской платой. Конечно, это не помешает использовать Samsung SM951 в операционной системе, где его легко инициализирует AHCI-драйвер, но в таком случае о возможности загрузки со скоростного SSD придётся забыть.

Но самые большие неудобства способен причинить Intel SSD 750, работающий через новый интерфейс NVMe. Драйверы, которые необходимы для поддержки твердотельных накопителей, работающих по этому протоколу, присутствуют только в новейших операционных системах. Так, в Linux поддержка NVMe появилась в версии ядра 3.1; «врождённый» драйвер NVMe имеется в микрософтовских системах, начиная с Windows 8.1 и Windows Server 2012 R2; а в OS X совместимость с NVMe-накопителями была добавлена в версии 10.10.3. Кроме того, NVMe SSD поддерживается далеко не всеми материнскими платами. Для того чтобы такие накопители можно было использовать в качестве загрузочных, BIOS материнской платы должен тоже располагать соответствующим драйвером. Однако производители встроили необходимую функциональность лишь в самые последние версии прошивок, выпущенные для наиболее свежих моделей материнок. Поэтому поддержка загрузки операционной системы с NVMe-накопителей есть лишь на самых современных платах для энтузиастов, основанных на наборах логики Intel Z97, Z170 и X99. В более старых и дешёвых платформах пользователи смогут воспользоваться NVMe SSD лишь как вторыми дисками в ограниченном наборе ОС.

Несмотря на то, что мы постарались описать все возможные комбинации платформ и PCI Express накопителей, основной вывод из сказанного таков: совместимость PCIe SSD с материнскими платами – вопрос далеко не такой очевидный, как в случае с SATA SSD. Поэтому перед приобретением любого высокоскоростного твердотельного накопителя, работающего через PCI Express, обязательно уточните его совместимость с конкретной материнской платой на сайте производителя.

Тестовая конфигурация, инструментарий и методика тестирования

Тестирование проводится в операционной системе Microsoft Windows 8.1 Professional x64 with Update, корректно распознающей и обслуживающей современные твердотельные накопители. Это значит, что в процессе прохождения тестов, как и при обычном повседневном использовании SSD, команда TRIM поддерживается и активно задействуется. Измерение производительности выполняется с накопителями, находящимися в «использованном» состоянии, которое достигается их предварительным заполнением данными. Перед каждым тестом накопители очищаются и обслуживаются с помощью команды TRIM. Между отдельными тестами выдерживается 15-минутная пауза, отведённая для корректной отработки технологии сборки мусора. Во всех тестах, если не указано иное, используются рандомизированные несжимаемые данные.

Используемые приложения и тесты:

Iometer 1.1.0

Измерение скорости последовательного чтения и записи данных блоками по 256 Кбайт (наиболее типичный размер блока при последовательных операциях в десктопных задачах). Оценка скоростей выполняется в течение минуты, после чего вычисляется средний показатель.
Измерение скорости случайного чтения и записи блоками размером 4 Кбайт (такой размер блока используется в подавляющем большинстве реальных операций). Тест проводится дважды - без очереди запросов и с очередью запросов глубиной 4 команды (типичной для десктопных приложений, активно работающих с разветвлённой файловой системой). Блоки данных выравниваются относительно страниц флеш-памяти накопителей. Оценка скоростей выполняется в течение трёх минут, после чего вычисляется средний показатель.
Установление зависимости скоростей случайного чтения и записи при работе накопителя с 4-килобайтными блоками от глубины очереди запросов (в пределах от одной до 32 команд). Блоки данных выравниваются относительно страниц флеш-памяти накопителей. Оценка скоростей выполняется в течение трёх минут, после чего вычисляется средний показатель.
Установление зависимости скоростей случайного чтения и записи при работе накопителя с блоками разного размера. Используются блоки объёмом от 512 байт до 256 Кбайт. Глубина очереди запросов в течение теста составляет 4 команды. Блоки данных выравниваются относительно страниц флеш-памяти накопителей. Оценка скоростей выполняется в течение трёх минут, после чего вычисляется средний показатель.
Измерение производительности при смешанной многопоточной нагрузке и установление её зависимости от соотношения между операциями чтения и записи. Тест проводится дважды: для последовательных чтений и записей блоками объёмом 128 Кбайт, выполняемыми в два независимых потока и для случайных операций с блоками объёмом 4 Кбайт, которые выполняются в четыре потока. В обоих случаях соотношение между операциями чтения и записи варьируется с шагом 20 процентов. Оценка скоростей выполняется в течение трёх минут, после чего вычисляется средний показатель.
Исследование падения производительности SSD при обработке непрерывного потока операций случайной записи. Используются блоки размером 4 Кбайт и глубина очереди 32 команды. Блоки данных выравниваются относительно страниц флеш-памяти накопителей. Продолжительность теста составляет два часа, измерения моментальной скорости проводятся ежесекундно. По окончании теста дополнительно проверяется способность накопителя восстанавливать свою производительность до первоначальных величин за счёт работы технологии сборки мусора и после отработки команды TRIM.

CrystalDiskMark 5.0.2
Синтетический тест, выдающий типовые показатели производительности твердотельных накопителей, измеренные на 1-гигабайтной области диска «поверх» файловой системы. Из всего набора параметров, которые можно оценить с помощью этой утилиты, мы обращаем внимание на скорость последовательного чтения и записи, а также на производительность произвольных чтения и записи 4-килобайтными блоками без очереди запросов и с очередью глубиной 32 команды.
PCMark 8 2.0
Тест, основанный на эмулировании реальной дисковой нагрузки, которая характерна для различных популярных приложений. На тестируемом накопителе создаётся единственный раздел в файловой системе NTFS на весь доступный объём, и в PCMark 8 проводится тест Secondary Storage. В качестве результатов теста учитывается как итоговая производительность, так и скорость выполнения отдельных тестовых трасс, сформированных различными приложениями.
Тесты копирования файлов
В этом тесте измеряется скорость копирования директорий с файлами разного типа, а также скорость архивации и разархивации файлов внутри накопителя. Для копирования используется стандартное средство Windows – утилита Robocopy, при архивации и разархивации – архиватор 7-zip версии 9.22 beta. В тестах участвует три набора файлов: ISO – набор, включающий несколько образов дисков c дистрибутивами программ; Program – набор, представляющий собой предустановленный программный пакет; Work – набор рабочих файлов, включающий офисные документы, фотографии и иллюстрации, pdf-файлы и мультимедийный контент. Каждый из наборов имеет общий объём файлов 8 Гбайт.

В качестве тестовой платформы используется компьютер с материнской платой ASUS Z97-Pro, процессором Core i5-4690K со встроенным графическим ядром Intel HD Graphics 4600 и 16 Гбайт DDR3-2133 SDRAM. Диски с SATA-интерфейсом подключается к контроллеру SATA 6 Гбит/с, встроенному в чипсет материнской платы, и работают в режиме AHCI. Накопители с интерфейсом PCI Express устанавливаются в первый полноскоростной слот PCI Express 3.0 x16. Используется драйверы Intel Rapid Storage Technology (RST) 13.5.2.1000 и Intel Windows NVMe driver 1.2.0.1002.

Объём и скорость передачи данных в бенчмарках указываются в бинарных единицах (1 Кбайт = 1024 байт).

Помимо пяти главных героев этого теста – клиентских твердотельных накопителей с интерфейсом PCI Express, мы добавили к ним в компанию и самый быстрый SATA SSD – Samsung 850 PRO.

В результате, список протестированных моделей приобрёл следующий вид:

Intel SSD 750 400 Гбайт (SSDPEDMW400G4, прошивка 8EV10135);
Kingston HyperX Predator PCIe 480 Гбайт (SHPM2280P2H/480G, прошивка OC34L5TA);
OCZ RevoDrive 350 480 Гбайт (RVD350-FHPX28-480G, прошивка 2.50);
Plextor M6e Black Edition 256 Гбайт (PX-256M6e-BK, прошивка 1.05);
Samsung 850 Pro 256 Гбайт (MZ-7KE256, прошивка EXM01B6Q);
Samsung SM951 256 Гбайт (MZHPV256HDGL-00000, прошивка BXW2500Q).

Производительность

Последовательные операции чтения и записи






Новое поколение твердотельных накопителей, переведённых на шину PCI Express, должно в первую очередь выделяться высокими скоростями последовательного чтения и записи. И именно это мы видим на графике. Все PCIe SSD оказываются производительнее лучшего SATA SSD – Samsung 850 PRO. Однако даже такая простая нагрузка как последовательное чтение и запись показывает огромные различия между SSD различных производителей. Причём, вариант используемой шины PCI Express не имеет определяющего значения. Лучшую производительность здесь может выдать PCI Express 3.0 x4 накопитель Samsung SM951, а на втором месте – Kingston HyperX Predator, работающий через PCI Express 2.0 x4. Прогрессивный же NVMe-накопитель Intel SSD 750 оказался лишь на третьем месте.

Случайные операции чтения






Если же говорить о случайном чтении, то как видно из диаграмм, PCIe SSD не особенно отличаются по скорости от традиционных SATA SSD. Причём, это касается не только AHCI-накопителей, но и того продукта, который работает с протоком NVMe. Фактически лучшую, чем Samsung 850 PRO производительность при случайных операциях чтения на небольших очередях запросов могут продемонстрировать лишь три участника этого теста: Samsung SM951, Intel SSD 750 и Kingston HyperX Predator.

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



По графику хорошо видно, насколько решения, работающие через PCI Express 3.0 x4, могут превосходить все другие SSD. Кривые, соответствующие Samsung SM951 и Intel SSD 750 находятся существенно выше графиков других накопителей. По приведённой диаграмме можно сделать и ещё одно заключение: OCZ RevoDrive 350 – это позорно медленный твердотельный накопитель. На случайных операциях чтения он где-то вдвое отстаёт от SATA SSD, что обусловлено его RAID-архитектурой и использованием устаревших контроллеров SandForce второго поколения.

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



Здесь картина немного иная. С ростом размера блоков операции начинают походить на последовательные, поэтому роль начинает играть не только архитектура и мощность контроллера SSD, но и пропускная способность используемой ими шины. На блоках больших размеров лучшую производительность обеспечивают Samsung SM951, Intel SSD 750 и Kingston HyperX Predator.

Случайные операции записи






Где-то преимущества интерфейса NVMe, обеспечивающего низкие латентности, и контроллера Intel SSD 750 с высоким уровнем параллелизма должны были проявиться. К тому же имеющийся в этом SSD вместительный DRAM-буфер позволяет организовать очень эффективное кеширование данных. И в результате Intel SSD 750 выдаёт непревзойдённую скорость произвольной записи даже в том случае, если очередь запросов имеет минимальную глубину.

Более явно увидеть, что происходит с производительностью случайной записи при увеличении глубины очереди запросов, можно на следующем графике, показывающем зависимость скорости произвольной записи 4-килобайтными блоками от глубины очереди запросов:



Масштабирование производительности Intel SSD 750 происходит до тех пор, пока глубина очереди не достигнет 8 команд. Это – типичное поведение для потребительских SSD. Однако новинка Intel отличается тем, что её скорости при случайной записи значительно выше, чем у любых других твердотельных накопителей, в том числе и у быстрейших PCIe-моделей вроде Samsung SM951 или Kingston HyperX Predator. Иными словами, при случайной нагрузке в виде записи данных Intel SSD 750 предлагает принципиально лучшую производительность, чем любые другие SSD. Иными словами, переход на использование интерфейса NVMe позволяет прокачать скорость случайной записи. И это – безусловно важная характеристика, но в первую очередь для серверных накопителей. Собственно, Intel SSD 750 как раз и является близким родственником таких моделей как Intel DC P3500, P3600 и P3700.

Следующий график отражает зависимость производительности случайных записей от размера блока данных.



По мере увеличения размеров блоков Intel SSD 750 теряет своё безоговорочное преимущество. Примерно такую же производительность начинают выдавать Samsung SM951 и Kingston HyperX Predator.


По мере удешевления твердотельные накопители перестают использоваться в качестве исключительно системных и становятся обычными рабочими дисками. В таких ситуациях на SSD поступает не только рафинированная нагрузка в виде записи или чтения, но и смешанные запросы, когда операции чтения и записи инициируются разными приложениями и должны обрабатываться одновременно. Однако работа в дуплексном режиме для современных контроллеров SSD остаётся существенной проблемой. При смешивании операций чтения и записи в одной очереди скорость большинства твердотельных накопителей потребительского уровня заметно проседает. Это стало поводом для проведения отдельного исследования, в рамках которого мы проверяем, как работают SSD при необходимости обработки последовательных операций, поступающих вперемежку. Следующая пара диаграмм демонстрирует наиболее характерный для десктопов случай, когда соотношение количества операций чтения и записи составляет 4 к 1.






При последовательной смешанной нагрузке с преобладающими операциями чтения, что характерно для обычных персональных компьютеров, наилучшую производительность выдают Samsung SM951 и Kingston HyperX Predator. Случайная смешанная нагрузка оказывается более тяжёлым испытанием для SSD и оставляет в лидерах Samsung SM951, но на второе место выдвигает Intel SSD 750. При этом Plextor M6e Black Edition, Kingston HyperX Predator и OCZ RevoDrive 350 вообще оказываются заметно хуже обычного SATA SSD.

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






Всё сказанное выше хорошо подтверждается и на приведённых графиках. При смешанной нагрузке с последовательными операциями лучшее быстродействие показывает Samsung SM951, который чувствует себя как рыба в воде при любой работе с последовательными данными. При произвольных смешанных операциях ситуация немного отличается. Оба накопителя компании Samsung, и работающий через PCI Express 3.0 x4 SM951, и обычный SATA 850 PRO, в этом тесте выдают очень хорошие результаты, обходя по производительности почти все остальные SSD. Противостоять им в отдельных случаях может лишь Intel SSD 750, который благодаря системе команд NVMe отлично оптимизирован под работу со случайными записями. И когда в потоке смешанных операций доля записей возрастает до 80 процентов или выше, он резко вырывается вперёд.

Результаты в CrystalDiskMark

CrystalDiskMark - это популярное и простое тестовое приложение, работающее «поверх» файловой системы, которое позволяет получать результаты, легко повторяемые обычными пользователями. Полученные в нём показатели производительности должны дополнить подробные графики, построенные нами на основании тестов в IOMeter.












Приведённые четыре диаграммы представляют лишь теоретическую ценность, показывая пиковую производительность, не достижимую в типичных клиентских задачах. Глубины очереди запросов в 32 команды в персональных компьютерах никогда не бывает, но в специальных тестах она позволяет получить максимальные показатели производительности. И в этом случае лидирующее быстродействие с большим отрывом выдаёт Intel SSD 750, который имеет архитектуру, унаследованную от серверных накопителей, где большая глубина очереди запросов – вполне в порядке вещей.












А вот эти четыре диаграммы представляют уже практический интерес – на них отображена производительность при нагрузке, которая характерна для персональных компьютеров. И здесь лучшую производительность выдаёт уже Samsung SM951, который отстаёт от Intel SSD 750 лишь при случайных 4-килобайтных записях.

PCMark 8 2.0, реальные сценарии использования

Тестовый пакет Futuremark PCMark 8 2.0 интересен тем, что он имеет не синтетическую природу, а напротив - основывается на том, как работают реальные приложения. В процессе его прохождения воспроизводятся настоящие сценарии-трассы задействования диска в распространённых десктопных задачах, и замеряется скорость их выполнения. Текущая версия этого теста моделирует нагрузку, которая взята из реальных игровых приложений Battlefield 3 и World of Warcraft и программных пакетов компаний Abobe и Microsoft: After Effects, Illustrator, InDesign, Photoshop, Excel, PowerPoint и Word. Итоговый результат исчисляется в виде усреднённой скорости, которую показывают накопители при прохождении тестовых трасс.



Тест PCMark 8 2.0, оценивающий производительность систем хранения данных в реальных приложениях, недвусмысленно говорит нам о том, что существует лишь два PCIe-накопителя, скорость которых принципиально выше, чем у привычных моделей с SATA-интерфейсом. Это - Samsung SM951 и Intel SSD 750, которые побеждают и во многих других тестах. Другие же PCIe SSD, например, Plextor M6e Black Edition и Kingston HyperX Predator отстают от лидеров более чем в полтора раза. Ну а OCZ ReveDrive 350 демонстрирует откровенно плохое быстродействие. Он медленнее лучших PCIe SSD более чем вдвое и при этом уступает по скорости даже Samsung 850 PRO, который работает через SATA-интерфейс.

Интегральный результат PCMark 8 нужно дополнить и показателями производительности, выдаваемыми флеш-дисками при прохождении отдельных тестовых трасс, которые моделируют различные варианты реальной нагрузки. Дело в том, что при разной нагрузке флеш-приводы зачастую ведут себя немного по-разному.






























О каком бы приложении ни шла речь, в любом случае наивысшую производительность выдаёт один из SSD с интерфейсом PCI Express 3.0 x4: либо Samsung SM951, либо Intel SSD 750. Что интересно, остальные PCIe SSD в ряде случаев вообще выдают скорость лишь на уровне SATA SSD. Фактически, преимущество тех же Kingston HyperX Predator и Plextor M6e Black Edition над Samsung 850 PRO можно увидеть лишь в Adobe Photoshop, Battlefield 3 и Microsoft Word.

Копирование файлов

Имея в виду, что твердотельные накопители внедряются в персональные компьютеры всё шире и шире, мы решили добавить в нашу методику измерение производительности при обычных файловых операциях – при копировании и работе с архиваторами – которые выполняются «внутри» накопителя. Это – типичная дисковая активность, возникающая в том случае, если SSD исполняет роль не системного накопителя, а обычного диска.









В тестах копирования в лидерах оказываются всё те же Samsung SM951 и Intel SSD 750. Однако если речь идёт о больших последовательных файлах, то конкуренцию им может составить Kingston HyperX Predator. Надо сказать, что при простом копировании почти все PCIe SSD оказываются быстрее Samsung 850 PRO. Исключение лишь одно – Plextor M6e Black Edition. А OCZ RevoDrive 350, который в остальных тестах стабильно оказывался в положении безнадёжного аутсайдера, неожиданно обходит не только SATA SSD, но и самого медленного PCIe SSD.

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






Похожая ситуация и при работе с архивами. Отличие лишь в том, что тут Samsung SM951 удаётся уверенно оторваться от всех конкурентов.

Работа TRIM и фоновой сборки мусора

Испытывая различные твердотельные накопители, мы всегда проверяем то, как они отрабатывают команду TRIM и способны ли они собирать мусор и восстанавливать свою производительность без поддержки со стороны операционной системы, то есть в такой ситуации, когда команда TRIM не передаётся. Такое тестирование было проведено и в этот раз. Схема этого испытания стандартна: после создания длительной непрерывной нагрузки на запись данных, которая приводит к деградации скорости записи, мы отключаем поддержку TRIM и выжидаем 15 минут, в течение которых SSD может попытаться самостоятельно восстановиться за счёт собственного алгоритма сборки мусора, но без помощи со стороны операционной системы, и замеряем скорость. Затем на накопитель принудительно подаётся команда TRIM - и после небольшой паузы скорость измеряется ещё раз.

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



Несмотря на то, что качественная поддержка команды TRIM стала отраслевым стандартом, некоторые производители считают допустимым продавать накопители, в которых эта команда не отрабатывается в полной мере. Такой отрицательный пример демонстрирует OCZ Revodrive 350. Формально TRIM он понимает, и даже что-то пытается сделать при получении этой команды, но о полном возвращении скорости записи к первоначальным значениям говорить не приходится. И в этом нет ничего странного: в основе Revodrive 350 лежат контроллеры SandForce, которые отличаются своей необратимой деградаций производительности. Соответственно присутствует она и в Revodrive 350.

Все же остальные PCIe SSD работают с TRIM как и их SATA-собратья. То есть, идеально: в операционных системах, которые подают эту команду на накопители, производительность остаётся на неизменно высоком уровне.

Однако мы хотим большего – качественный накопитель должен уметь проводить сборку мусора и без подачи команды TRIM. И здесь выделяется Plextor M6e Black Edition – накопитель, который способен самостоятельно освободить под предстоящие операции значительно больше флеш-памяти, чем его конкуренты. Хотя, конечно, в той или иной мере автономная сборка мусора работает у всех протестированных нами SSD, за исключением Samsung SM951. Иными словами, при обычном использовании в современных средах производительность Samsung SM951 деградировать не будет, однако в тех случаях, когда TRIM не поддерживается, применять этот SSD не рекомендуется.

Выводы

Начать подводить итоги, наверное, следует с констатации факта, что потребительские SSD с интерфейсом PCI Express – это уже не экзотика и не какие-то экспериментальные продукты, а целый рыночный сегмент, в котором играют наиболее быстродействующие твердотельные накопители для энтузиастов. Естественно, это же и означает, что с PCIe SSD уже давно нет никаких проблем: они поддерживают все функции, что есть в SATA SSD, но при этом более производительны и порой обладают некоторыми новыми интересными технологиями.

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

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

В целом, наиболее привлекательной моделью PCIe SSD оказался Samsung SM951 . Это – блестящее решение от одного из лидеров рынка, работающее через шину PCI Express 3.0 x4, которое не только оказалось способно обеспечить наивысшую производительность в типичных общеупотребительных нагрузках, но и к тому же заметно дешевле всех остальных PCIe-накопителей.

Однако Samsung SM951 всё же не идеален. Во-первых, в нём нет никаких специальных технологий, ориентированных на повышение надёжности, а в продуктах премиального уровня их всё-таки хотелось бы иметь. Во-вторых, этот SSD достаточно тяжело найти в продаже в России – по официальным каналам он в нашу страну не поставляется. К счастью, мы можем предложить обратить внимание и на неплохую альтернативу – Intel SSD 750 . Этот SSD тоже работает через PCI Express 3.0 x4, и всего лишь немного отстаёт от Samsung SM951. Зато он является прямым родственником серверных моделей, а потому имеет высокую надёжность и работает по протоколу NVMe, что позволяет ему демонстрировать непревзойдённую скорость на операциях случайной записи.

В принципе, на фоне Samsung SM951 и Intel SSD 750 остальные SSD с интерфейсом PCIe смотрятся достаточно слабо. Однако всё-таки существуют ситуации, когда предпочесть им придётся какую-то другую модель PCIe SSD. Дело в том, что передовые накопители Samsung и Intel совместимы лишь с современными материнскими платами, построенными на интеловских чипсетах девяностой или сотой серии. В более же старых системах они способны работать лишь в роли «второго диска», а загрузка с них операционной системы окажется невозможной. Поэтому для модернизации платформ прошлых поколений ни Samsung SM951, ни Intel SSD 750 не подойдут, и выбор придётся остановить на накопителе Kingston HyperX Predator , который с одной стороны может обеспечить неплохую производительность, а с другой – гарантированно не имеет никаких проблем совместимости со старыми платформами.

Добавил с помощью этой карточки два порта USB 3.0 в свой компьютер. Материнская плата родных портов не имеет, а делать апгрейд пока нет желания. Тем более, в зависимости от степени древности, это ведет также к смене процессора, оперативы, БП и корпуса. Поэтому обошелся PCI-E контроллером.

В оффлайн магазинах подобный контроллер проблем купить нет. Но мне показалось, что цена завышена для такой мелочи. Вообще, не заметил, чтобы комплектующие было выгодно заказывать в кетайшопах, но тут, на DE, контроллер оказался дешевле в два раза.
Решил, что за 400р. можно купить, т.к. девайс полезный. Если есть внешний жесткий диск, то подключать через USB 3.0 приятнее.

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

посмотреть


Коробка не как в магазине. Сама плата в компе, вытаскивать не стал, внешне выглядит как в описании.


Установил в свободный PCI-E, использовал x4, тот, что для второй видеокарты. Переходник питания не понадобился, т.к. взял шнурок из БП, которым запитывают дисковод.

посмотреть




Для установки под Windows 7 использовал драйвер с диска. Определяется как NEC, как в инструкции. В ней же сказано, что MAC и Linux не поддерживаются.

посмотреть



По использованию ничем не отличается от обычных USB портов. Только шнурок удлинителя пришлось купить новый.

Результаты при использовании внешнего HDD (ST32000542AS) в док-станции (AgeStar):
Скорость последовательной записи ~70 Mb/s.
Скорость последовательного чтения ~80 Mb/s.

Сравнивал со встроенными USB3 на новых мат. платах - результат примерно тот же.

В общем, можно купить. Копирует действительно быстрее старых USB, стоит недорого.

Планирую купить +8 Добавить в избранное Обзор понравился +9 +13

WiFi модули и другие подобные устройства. Разработку данной шины начала компания Intel в 2002 году. Сейчас разработку новых версий данной шины занимается некоммерческая организация PCI Special Interest Group.

На данный момент шина PCI Express полностью заменила такие устаревшие шины как AGP, PCI и PCI-X. Шина PCI Express размещается в нижней части материнской платы в горизонтальном положении.

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

Программная модель PCI Express во многом повторяет модель PCI. Поэтому большинство существующих PCI контроллеров могут быть легко доработаны для использования шины PCI Express.

Слоты PCI Express и PCI на материнской плате

Кроме этого, шина PCI Express поддерживает такие новые возможности как:

  • Горячее подключение устройств;
  • Гарантированная скорость обмена данными;
  • Управление потреблением энергии;
  • Контроль целостности передаваемой информации;

Как работает шина PCI Express

Для подключения устройств шина PCI Express использует двунаправленное последовательное соединение. При этом такое соединение может иметь одну (x1) или несколько (x2, x4, x8, x12, x16 и x32) отдельных линий. Чем больше таких линий используется, тем большую скорость передачи данных может обеспечить шина PCI Express. В зависимости от количества поддерживаемых линий размер сорта на материнской плате будет отличаться. Существуют слоты с одной (x1), четырьмя (x4) и шестнадцатью (x16) линиями.

Наглядная демонстрация размеров слота PCI Express

При этом любое PCI Express устройство может работать в любом слоте, если слот имеет такое же или большее количество линий. Это позволяет установить PCI Express карту с разъемом x1 в слот x16 на материнской плате.

Пропускная способность PCI Express зависит от количества линий и версии шины.

В одну/обе стороны в Гбит/с

Количество линий

PCIe 1.0 2/4 4/8 8/16 16/32 24/48 32/64 64/128
PCIe 2.0 4/8 8/16 16/32 32/64 48/96 64/128 128/256
PCIe 3.0 8/16 16/32 32/64 64/128 96/192 128/256 256/512
PCIe 4.0 16/32 32/64 64/128 128/256 192/384 256/512 512/1024

Примеры PCI Express устройств

В первую очередь PCI Express используется для подключения дискретных видеокарт. С момента появления данной шины абсолютно все видеокарты используют именно ее.

Видеокарта GIGABYTE GeForce GTX 770

Однако это далеко не все что умеет шина PCI Express. Ее используют производители других комплектующих.

Звуковая карта SUS Xonar DX

SSD накопитель OCZ Z-Drive R4 Enterprise



Понравилась статья? Поделиться с друзьями: