От магнитных блинов мы избавились, создав SSD. От непредназначенных для таких накопителей интерфейсов — совсем недавно, с появлением PCI-Express подключения и набора команд NVMe. Теперь-то нас ничего не держит. Проверим?
Чемпион
Отдуваться за мир высокоскоростных накопителей будет Kingston KC1000 NVMe PCIe SSD 480GB. Несмотря на его космические характеристики, диск предназначен для «домашнего» использования. Для рабочих станций тоже сгодится, но не под базы данных и всё такое. Игры, обработка фото, работа с видео — эт его стихия, да.
Внешнее исполнение накопителя стандартно для форм-фактора M.2 2280. Габариты, как следует из маркировки, составляют 80?22?3,5мм, масса – всего 10 грамм. Не то что бы самые важные характеристики SSD, но мало ли кому-то это действительно необходимо знать?
Пламенное сердце и горячий норов
Аппаратная начинка включает в себя контроллер Phison PS5007-E7 (на картинке он, увы, с другой стороны, под наклейкой) и микросхемы памяти MLC 2D NAND от Toshiba (TH58TF96DFLBA8C), выполненные по 15-нм технологии и размещённых по обе стороны печатной платы.
Первые публикации о разработке PS5007-E7 можно было встретить еще пару лет назад, но фактическое производство и поставки сборщикам начались только в конце прошлого года. За это время Phison’овцы допилили прошивку и оптимизировали её под работу со стандартным NVMe-драйвером от Microsoft, но не сказать, что сделали идеальной. Работать ещё есть над чем, и мы наверняка увидим свежие прошивки с полировкой всяких трудноуловимых багов, вроде падения скорости при записи блоков более 2 Мб размером в одном случае из 100.
Отдельно стоит отметить, что установленный в KC1000 контроллер легко превышает паспортные характеристики. На официальном сайте Phison максимально возможная скорость записи данных связки MLC NAND и контроллера PS5007-E7 составляет не более 1300 Мбайт/с. На сайте Kingston для KC1000 NVMe PCIe SSD заявлена скорость уже в 1600 Мбайт/с, реальная же в ряде случаев — ещё выше.
Обычные M.2 накопители рядом с этим монстром кажутся тоненькими и пустыми: ни чипов со второй стороны, ни мощной обвязки.
Комплектация
KC1000 встречается в двух вариантах поставки: базовой (просто накопитель) и расширенной — с переходником под классический PCI-Express. Так что даже если у вас на материнской плате нет хипстерского M.2 разъёма, или жадный вендор распаял в нём только SATA-шину — не беда, высокие скорости не пройдут мимо вас.
И скобочка для задней панели ультракомпактных корпусов в придачу!
Учитывая розничную стоимость такого адаптера и смешную разницу в цене между комплектациями (порядка $10) — вдвойне приятно, что в Kingston позаботились о пользователях.
Жизненные показатели
Продиагностировать диск, узнать о его состоянии и обновить прошивку контроллера можно с помощью фирменной утилиты Kingston SSD Manager. Одним из самых важных показателей для стабильной работы накопителя является его рабочая температура — при достижении 75 °C быстродействие может заметно снизиться, но об этом — чуть позже.
Тестовый стенд
Для тестирования была использована следующая конфигурации:
- Процессор: AMD Ryzen 7 1800X (8 ядер @ 3.8GHz, 16MB кеш-памяти);
- Кулер: Cooler Master 212 Hyper LED
- Материнская плата: ASUS Prime B350-Plus;
- Оперативная память: HyperX Savage [HX428C14SB2K4/32] 4?8 ГБ;
- Видеоадаптер: Palit GeForce GTX 1080 Ti JetStream;
- Корпус: Cooler Master MasterCase 6*;
- Блок питания: Cooler Master MasterWatt 700 Lite*;
- Операционная система: Microsoft Windows 10 64-bit.
* — Да, у Cooler Master такой странный нейминг кастомизуемой линейки. Звучит странно, выглядит ещё страннее, но железки ок. ;)
Системные требования
Внимание! Kingston KC1000 имеет интерфейс подключения M.2 PCI-Express 3.0 x4, и использует протокол NVMe.
Последний разрабатывался с нуля специально для достижения низких задержек и обеспечение параллельного доступа к твердотельным накопителям. Он учитывает явный параллелизм современных платформ и умеет работать с многоядерными процессорами «из коробки». Главное преимущество NVMe перед классическим протоколом AHCI — механизм работы с очередями и прерываниями сигналов.
Классические AHCI-устройства поддерживают всего одну (1) очередь, при этом в ней может находиться не больше 32 команд. NVMe поддерживает 65536 очередей с глубиной 65536 каждая. Во сколько раз он более «многопоточный» можете посчитать сами :)
Сам же набор команд NVMe существенно упрощён в сравнении с ATA и SCSI: первым делом избавились от бесполезных с точки зрения SSD инструкций, заточенных на работу с HDD. Это позволило сильно упростить логику и ещё больше увеличить скорость обмена данными между устройством и системной платой.
На вашей материнской плате должен быть распаян M.2 с ключами B&M или только M, так как именно с ключом М выходят NVMe-накопители. У Kingston KC1000 нет поддержки SATA-инструкций, и в разъём M.2 с ключом B вставить не получится.
О совместимости с железом и ПО
Для работы на полной скорости диск требует PCI Express 3.0 — поддержка такового появилась в процессорах Intel начиная с сокета 2011-3 и 1155. У AMD — начиная с чипсета 990FX, но это старая линейка процессоров, рассматривать которую смысла особого нет. На Ryzen’ах всё заведётся как надо.
В плане операционных систем требования простые: Windows от 8.1, Linux с ядром 3.1 или новее, MacOS High Sierra (10.13). Поддержка FreeBSD пока под вопросом: драйверы по качеству так себе. Впрочем, рабочих станций под FreeBSD не так много, а на основных операционках всё уже хорошо.
Условия испытания
Монтирование накопителей производилось в качестве системных дисков с последующей установкой ОС Microsoft Windows 10 64-bit и обновлением всех драйверов до актуальных версий. На время тестов отключались файл подкачки и режим гибернации.
Измерения производительности проводились следующими утилитами и методами:
- ATTO Disk Benchmark v2.46;
- AS SSD Benchmark 1.7.4739.38088;
- CrystalDiskMark 5.2.2;
- PCMark 8;
- копирование набора файлов различных объемов.
Бенчмарки
Методика тестирования проста: делаем бенчмарки, даём диску остыть до температуры окружающей среды, повторяем прогон. Далее 2-3-4 запусками пытаемся проследить влияние последовательных нагрузок. Сравниваем результаты, делаем выводы.
Скорость и стабильность работы
У всех высокопроизводительных M.2 дисков есть одна проблема: нагрев. Во-первых, мощные контроллеры сами по себе греются неслабо, во-вторых, расположение разъёмов на материнских платах заставляет усомниться в адекватности инженеров, придумавших эту фичу:
Сборщики начудили с ориентацией наклейки. Бывает. :)
Нет, безусловно, это компактное и интересное решение, отлично подойдёт для всяких тонких и стройных девайсов, но что делать с вот такими высокопроизводительными монстрами, как KC1000?
Запирать диск между горячей видеокартой и не менее горячим процессором, и оставлять без обдува? И ведь радиатор на одной из сторон не будет суперэффективен: особых воздушных потоков в этом пространстве нет, даже если системный кулер специально развернуть для обдува диска — он будет в «мёртвой зоне» у самого основания. И ладно один диск, в премиум-сегменте таких разъёмов на материнской плате бывает несколько. Что делать со вторым и третьим слотами, которые будут перекрыты системой охлаждения видеокарт — вообще загадка. Разве что ставить туда ёмкие и сравнительно медленные накопители с M.2 SATA-интерфейсом, которые не так чувствительны к нагреву.
В случае с KC1000, увы, охлаждение — это краеугольный камень всех результатов. Успевает ваш компьютер сдувать лишнее тепло — отлично. Нет… Ну, диск всё равно покажет впечатляющие результаты, но до максимальных им будет далеко. Поэтому правильная ориентация системы охлаждения, дополнительные радиаторы и «вытяжка» горячего воздуха — мастхэв!
Субъективные ощущения
Мелкие файлы (до 2 Гбайт) диск копирует моментально. Просто в одно мгновение. Ярлык дольше создавать. В реальных задачах при повседневном использовании пользователь может рассчитывать на скорость копирования порядка 800 Мбайт/с — это просто потрясающая цифра для домашнего SSD. 200 Гб библиотеки Steam с кучей разноплановых файлов дублировалось порядка 4 минут.
Согласно отчёту утилиты AIDA64, пиковая скорость работы при копировании пары десятков ГБ держится на уровне ~ 1700 Мбайт/с, а вот дальше уже не всё так гладко. Проблемы начинаются при копировании огромного числа мелких данных. Набор из 40 Гб документов, записываемый и удаляемый по кругу, за 6 минут ощутимо нагревает диск. Выделенный под обдув материнской платы вентилятор справляется, но если бы его не было…
Ради чистоты эксперимента повторяем бенчмарк без охлаждения. Средняя скорость просела до 540 Мбайт/с. Сам факт троттлинга отрицать сложно, но вот современные SSD, подключенные по интерфейсу SATA 6 Гбит/с даже такие результаты выдают только в синтетических бенчмарках. Что уже внушает уважение. И вообще, вас же не смущает трёхэтажная система охлаждения на флагманской видеокарте и полкило меди на процессоре. Чем суперскоростной накопитель хуже? Он тоже хочет быстро работать.
Точные измерения
Тестирование в CrystalDiskMark позволило не только достигнуть указанных производителем скоростных характеристик, но и местами их превзойти.
ATTO Disk Benchmark выжимает вообще все возможные соки из контроллера и памяти. Безумные 2200-2300 Мбайт/с скорости последовательной записи и 2900-3000 Мбайт/с последовательного чтения. Но ATTO, к сожалению, показывает работу в идеальном случае — когда система знает, что у неё SSD и грузит диск на все 100%. Реальность, всё же, ближе к показаниям других бенчмарков.
Тест в AS SSD Benchmark расставил всё на свои места. Вот такие характеристики можно ожидать от новинки Kingston в реальных задачах:
Среднее время отклика дисковой подсистемы составило от 0,036 до 0,038 мс. Немного отличаются от заявленных измеренные IOPS, (среднее по тестам — 290К чтение / 190К запись). Впрочем, и такие цифры впечатляют. Сразу видна разница между накопителями на новом интерфейсе NVMe 1.2 с контроллером Phison PS5007-E7 и дисками прошлого года.
PCMark 8
PCMark хоть тест и немолодой, но обстоятельный. По его методике тестирования накопитель набирает вполне приличный результат для «средних нагрузок по больнице»
Копирование файлов внутри ОС
В качестве «жизненного» бенчмарка возьмём простой набор файлов. 20 ГБ «пользовательских данных»: половину под мультимедиа, 30% под набор мелочёвки (Office, PDF, мелкие текстовые документы), остальное — один большой архив. Пусть будет бэкапом.
С получившимся 20-гигабайтным массивом наш KC1000 NVMe PCIe SSD 480GB управился за 15 секунд. Сказать, что это «быстро» — всё равно что назвать «Битлов» неплохой инди-рок группой. После этого копирование того же объёма данных на обычный SATA-HDD очень быстро отрезвляет. Начинаешь понимать, насколько медленные по нынешним меркам «классические» диски.
Баланс характеристик и цена вопроса
Опыт общения с SSD Kingston KC1000 сложно передать словами. Сперва вы удивляетесь, затем долго хвастаетесь знакомым (а они не понимают, от чего у вас горят глаза и куда смотреть на скриншотах), а затем… Затем самое сложное. Вам начинает хотеться, чтобы всё и везде работало также быстро, как ваш компьютер. И вот тут начинаются проблемы…
Достоинства
- Безумные линейные скорости чтения и записи;
- Нативная работа с NVMe-драйвером Windows и установка без танцев с бубном, флешкой и драйверами;
- Вполне адекватная для таких скоростей стоимость, по сути и скоростям, конкуренты — серверные накопители, а не десктопные диски. А там совсем другие цены.
Недостатки
- Накопителю нужно хорошее охлаждение для длительной работы на максимальных скоростях;
- Энергопотребление делает его нежелательным гостем в ноутбуках и суперкомпактных ПК, собранных «впритык» по мощности БП;
В сумме
KC1000 — безумно быстрый накопитель. Однажды поработав на таких скоростях, начинаешь воспринимать работу с другими накопителями, как путешествие во времени. Год этак в 2004, с релизом Half-Life 2 и долларом по 27.
Если рассматривать сугубо домашние и базовые рабочие задачи, стезя KC1000 — работа с большими объёмами данных. Программисты, работающие со сборкой софта или огромными БД будут в восторге. Видеоредакторы — тоже, даже если проект целиком не помещается в оперативку, его можно будет оперативно подгружать с жёсткого диска и не страдать от многосекундных загрузок. В меньшей мере пользу ощутят фотографы и игроки — тут куда чаще мы сталкиваемся с ограничениями вычислительной мощности, чем с постоянным кешированием ресурсов с диска.
С правильно подобранным корпусом и охлаждением диск будет радовать вас каждый день. Реально ощутимых просадок можно добиться, только если постоянно оперировать огромными массивами данных, сравнимыми с полным объёмом SSD. А это, как мы уже говорили, не совсем его класс задач — для этого есть серверные накопители.
Благо обеспечить достойное существование нынче не сложно: у большинства флагманских материнских плат в комплекте идут радиаторы для самостоятельной наклейки на M.2 накопитель.
Где купить?
Самое страшное в таком вопросе — цена. За версию на 480 ГБ отдать придётся в районе 19 000 рублей. Впрочем, за такие-то скорости работы и заплатить не жалко. Варианты на 240 Гб уже дешевле: 11 000 рублей. Купить диск можно уже сейчас, продажи в России уже стартовала.
P.S.: Использование этого накопителя делает вас нетерпимым к чужим компьютерам. Всё, на чём вы будете работать после KC1000 будет вызывать ощущение релятивистского замедления времени.
P.P.S.: А ещё до конца сентября в DNS действует скидка в 1000 рублей на клавиатуру HyperX Alloy FPS. И, да, не забудьте подписаться на наш блог, вдруг и на быстрые SSD скидки завезут? ;)
Комментарии (68)
sirocco
12.09.2017 20:14+2Ну раз греется, чего бы мелкий радиатор в комплект не вложить? Кому действительно место позволяет приклеили бы.
Fagot63
13.09.2017 13:29+3Kingston KC1000 NVMe SSD – мастер спринтов
Спринт — совокупность легкоатлетических дисциплин, где спортсмены соревнуются в беге на короткие дистанции по стадиону.
Прям угадали с названием для публикации.
Arxitektor
12.09.2017 20:33+2А эти платы-переходники отдельно купить можно?
Например на Али? Какую взять?
Xu4
12.09.2017 21:57+2В плане операционных систем требования простые: [...] MacOS High Sierra (10.13)
Да, требование иметь ОС, которая ещё не вышла, — это простое требование, точно. :)
Marwin
12.09.2017 22:13+5В пределах ассортимента кингстона безумно рад за ребят… но до годовалого 960 pro как до Луны пешком в любых тестах при той же цене… так что простите, но нет.
Black_Shadow
13.09.2017 00:55+3Вот-вот. При том, что 960 Pro можно найти и дешевле. Я 2 месяца назад купил 512 Гб версию за 17.
kaftanati
13.09.2017 14:06960 Evo 256 Гб — цена 9к. При том засунутый в ноутбук не поднимает температуры выше 50-60 градусов, как ни старался (i7 & 1050ti по соседству не помешали).
Black_Shadow
13.09.2017 15:01+1Так это Evo, там TLC, в отличие от Pro, в котором MLC память. А Pro у меня тоже не греется выше 60. Правда, он у меня не в ноуте.
clawham
12.09.2017 22:42+1Patriot hellfire M2 pcie 3000 чтение 2100 запись первые 32 гигабайта.
аналогичный контроллер аналогичный — PS5007-E7
обьем такой же
аналогичные тесты — ваш тормозит на 6-20 процентов особенно на глубоких очередях. какой тип памяти у вас? у хелфайра старая добрая надежная MLC с отличным ресурсом
Почему ваш хуже по производительности? Может нужно чтото в прошивке поправить… первые хелфайры тоже тупили на малых очередях но потом вышло обновление прошивки и вуаля — полетел раза в полтора быстрее… сейчас ваш продукт явно какой-то переходный — вроде лучше первой прошивки но явно хуже второй. Ну и нагрев… ещё один производитель который забил болта на перегрев. ну что тяжело пластинку алюминия положить в комплект? или хотябы не закрывать наклейкой чип чтоб я сам прилепил радиатор? срыв стикера с чипа — прощай гарантия так же?Fagot63
12.09.2017 23:50+1Стикер может оказаться не просто бумажкой. Например в моем случае(mp500),
взято с thg.ru
Мы живём в странном мире, где этикетка — это компонент, заслуживающий обсуждения. В данном случае она состоит как минимум из четырёх-пяти слоёв со стороны контроллера. Медная прослойка лишь на один слой отстоит от контроллера и чипов памяти DRAM и NAND. Микросхема контроллера E7 имеет чрезвычайно миниатюрную конструкцию «флип-чип» и может генерировать множество тепла, но для его рассеивания у неё слишком маленькая внешняя поверхность.
clawham
13.09.2017 09:22+3если проц таки действительно phison то по даташиту на него же ему надо радиатор и не менее 8 кв см эквивалентной площади рассеяния. и как можно догадаться радиатор не через этикетку надо к чипу прислонять а напрямую через термопасту. он имеет пиково до 10 ватт выделения тепла! он потому и тротлит на записях или чтениях — нагревается до 90 градусов и тротлит чтоб не сгореть! Это нарушение предписаний производителя. в случае с хелфайром все обззорщики заплевывали производителя т.к. не обеспечил должного охлаждения и по сути — запретил доработку системы охлаждения извне. тут поступили точно так же! Чем вы думаете господа? Вы правда уверены что если Ваши ссд будут дохнуть от перегрева через год-два — ктото пойдёт ещё покупать ваши недоделанные устройства? Или надеетесь продавать откровенный контрафакт отказывая в гарантийке по причине поврежденной этикетки?
У Этого кингстона этикетка — просто стикер. нет никакой там медной основы. А если б и была — какова площадь этой основы? нижнюю часть этикетки в расчет нельзя брать — она к гарячим микрухам памяти прилеплена. так что остается мелкое пятнышко сверху. что оно может рассеять? Неужто так сложно было наклеить этикетку на другую сторону диска?Fagot63
13.09.2017 13:22То есть та же проблема что и с современными топовыми смартфонами. При коротких тестах со скоростью и производительностью все нормально. Но стоит дать постоянную нагрузку, то через какое то время производительность проседает из за сработавшей термозащиты. Тротлинг попросту говоря.
Простой радиатор там скорей всего не прилепишь, т.к. во первых его надо как то крепить, во вторых контроллер и чипы памяти разной высоты(но это не точно), в третьих да, возможная потеря гарантии или трудности её получения.
Возможен вариант с терморезиной и алюминиевым радиатором с медным основанием/пластиной. Но как на этот колхоз будут смотреть в сервисе, вопрос.clawham
13.09.2017 14:321) в смартфонах тупо экономия т.к. вместо тепловой трубки просто приводят самоклейкую медную фольгу несколько бОльшей толщины и все. в лучшем случае — алюминевый корпус подведут лепестком под проц.
2) Даже наклейка радиатора через терможвачку на бирку уже облегчает на 20 градусов температуру простоя но снова таки стоит дать газу как температура снова улетает за 90. только радиатор и обдув вентилятором позволяет нормально работать. это происходит потому что радиатор может работать эффективно когда он сам до 60 градусов прогреется а он этого сделать не может. изза переходных пластин между температурой кристалла и температурой радиатора есть зазор градусов в 40 — вот и получается что на радиаторе 40 а на проце уже 80-90. обдув радиатор до 20-ти — получим на проце 70-80 — уже можно жить. но чтоб удержать маленькую пластинку алюминия глубоко в системнике в такой температуре — надо хорошо продумать откуда вентилятор воздух будет брать и куда будет уходить гарячий.
Exchan-ge
12.09.2017 23:38+1Чуть больше года назад взял Samsung 950 PRO MZ-V5P256BW.
Сразу после покупки этот NVMe PCIe показывал чудеса производительности, сейчас выдает примерно 75% от того что было.
Температура при минимальной нагрузке — не ниже 55 градусов.
Установлен так же, как и на показанной выше картинке (корпус алюминиевый, охлаждение хорошее).
Реальная производительность:
рядом стоит Surface 4 Pro, внутри которого стоит такой же самсунг.
Скорость загрузки ОС Вин 10 у сюрфейса в 5 раз (!) выше, чем у десктопа (i7-6700), и это при том, что у десктопа в 4 раза больше памяти, а на Surface включен битлокер.
(основной набор софта на этих двух компьютерах одинаковый)
Вывод: мало иметь быстрый NVMe PCIe — надо иметь еще и оптимизированную под его использование аппаратную часть — иначе разницы с SATA SSD можно и не заметить.
Alaunquirie
13.09.2017 10:59Мне кажется, скорость загрузки Surface обеспечивает именно что TPM: в его железо нельзя вмешаться, всё зашито/защищено, и пока система считает, что всё ок — использует самые быстрые алгоритмы загрузки. А уж если загрузка не прошла — будет полный цикл инициализации. Samsung такое уже делал в 900-series буках, если мне память не изменяет.
Exchan-ge
13.09.2017 11:39+1Я, после того как оставил сообщение здесь — прогнал тесты на этих двух компьютерах.
Надо признать — я ошибся, в Surface стоит похожий, но другой самсунговский PCIe SSD на 256 Гб.
Результаты вообще шокировали — сюрфейсный MZFLV256, по тестам, минимум вдвое медленнее Samsung 950 PRO.
А система (не только при загрузке) работает быстрее* (пока не упирается в меньшее количество памяти).
*на обычных офисных задачах.
Alaunquirie
13.09.2017 12:33Ну а по части задач… Тут, видимо, играет роль вылизанный набор драйверов, которые контролировали сами майки. Имиджевый продукт, как-никак. Имхо. Надо гуглить и изучать тему.
nidalee
13.09.2017 12:38+1А у Вас, извиняюсь, сколько на нем свободного места? У SSD обычно деградирует скорость по мере уменьшения % свободного места на диске. Тот же Samsung даже over-provisioning предлагает в своей утилите.
Exchan-ge
12.09.2017 23:43«расположение разъёмов на материнских платах заставляет усомниться в адекватности инженеров, придумавших эту фичу»
На новых платах ASUS предусмотрена вертикальная установка SSD M.2
Очевидно — именно для того, что бы улучшить охлаждение.
Sergey_datex
13.09.2017 00:59+5у M.2 формфактора в связи с нагревом есть еще одна беда — при нагреве их выгибает (плата же расширяется), и отрывает пятаки под чипами. Пример весьма свежих ссд, падёж массовый:
И это не при отпайке оторвали, чип подымался по всем правилам.
miha2
13.09.2017 05:15А что там с базами данных? Почему его нельзя пользовать для баз то?
Alaunquirie
13.09.2017 09:24Потому что не рассчитан на серверные нагрузки. Прошивка контроллера отличается, резервная зона, ресурс ячеек. Серверные не просто так дороже (и ощутимо дороже). Железо там совсем другого уровня
TheRaven
13.09.2017 09:40-1И там нормальная SLC память.
А кингстон да же в пределах одной статьи сам себе противоречит:
Для рабочих станций тоже сгодится, но не под базы данных и всё такое. Игры, обработка фото, работа с видео — эт его стихия, да.
Программисты, работающие со сборкой софта или огромными БД будут в восторге.
Alaunquirie
13.09.2017 10:58+1Ну одно дело — прогерские запросы при работе с БД: написать выборки, проверить, оттестировать. Тут и скорость работы вырастет, и по ресурсу не сильно бьёт. И уж совсем другое — использовать такие накопители именно как постоянное хранилище высоконагруженной (особенно на запись) БД на проекте, не? Для каждой железки — свой рынок и свои пользователи.
Exchan-ge
13.09.2017 11:25+1«И там нормальная SLC память»
Серия KC400 позиционируется как серверная. А там MLC.
Как и у множества других серверных SSD.
Serge78rus
13.09.2017 09:43Используйте на здоровье, разве Вам кто-то запрещает? Но если нагрузка на базу большая, то так аккуратно упоминаемый в статье перегрев может оказаться серьезной проблемой. Да и про ресурс перезаписи забывать не стоит.
quartz64
13.09.2017 10:42Самое главное — отсутствие защиты целостности данных при аварийном отключении питания. В большинстве SSD используется RAM-кэш, в том числе на запись (нужно объединить мелкие блоки перед записью, временно хранить данные при сборке мусора и т.д.). В общем, ситуация похожа на write-back в RAID контроллерах.
amarao
13.09.2017 12:20+1Играюсь с kingstone'ами в лаборатории.
Примерно №2-№3 в топе (и это, пардон, с учётом DC-grade железок), так что ощущения очень приятные.
Но у меня есть один вопрос, который я задаю всем вендорам, и никто не хочет отвечать. Почему на SSD, в т.ч. в NVME формате, такая ужасная пиковая latency?
Вот результаты моего бенчмарка для KINGSTON SEDC1000H800G (iodepth=1, randwrite=100%, span=80%, blocksize=4k)
avg = 502 us
99.9% < 1450 us
max = 8379000 us
8 секунд! Воспроизводимо. На графике выглядят как периодические супервысокие всплески.
Уточню, проблема характерна для всех SSD устройств, а не только для kingston'ов.nidalee
13.09.2017 12:44У SSD дисков latency на запись очень неровная. Связано это с их внутренним устройством (когда за раз записывается блок большого размера, при необходимости, перемещая и перенося данные с места на место). Чем больше этот блок, тем сильнее пики latency (то есть сиюминутные провалы в производительности). У обычных магнитных дисков графики совсем другие — они напоминают ровную линию практически без отклонений. В случае линейного последовательного IO эта линия проходит высоко, в случае постоянного случайного IO — постоянно низко, но, ключевое — постоянно. Latency у жёстких дисков предсказуема, latency у SSD — нет. Заметим, это свойство есть у всех дисков. У самых дорогих latency оказывается смещена (либо очень быстро, либо очень-очень быстро) — но разнобой всё равно сохраняется.
Отсюда. Насколько я понял, это не только к RAID относится.
Короче: похоже, что SSD при записи двигает уже записанные данные по диску, чтобы влезли новые.amarao
13.09.2017 14:11+1Спасибо за ссылку на мой собственный пост. С тех пор меня эта проблема (пиковых задержек) интересует всё сильнее и сильнее.
clawham
13.09.2017 14:56почитайте про технологию работы с flash памятью. внимательно почитайте!
Ключевой момент — Дописывать можно, перезаписывать НЕЛЬЗЯ!
У любой ячейки флеш памяти ограничено именно кол-во стираний так как оно происходит долго и высоким потенциалом. стирание делает ячейки равными единицами — тоесть заряжается затвор. записывая данные мы разряжаем затвор прописывая ноль а где надо оставить единицу — оставляем. Фишка в том что стирается только огромный блок целиком. а дописывать можно хоть побайтово. потому когда ты начинаеш дописывать мелкими кусочками то контроллер старается каждый кусочек кидать в новый чистый предварительно стертый блок. Но кол-во этих блоков ограничено и когда они все израсходуются на мелкие кусочки файла — контроллеру прийдётся прочитать штук 100-200 таких блоков, собрать воедино кусочки разрозненных данных и записать один огромный полный блок полностью а остальные — постирать. в это время ты смотриш на ланетси и удивляешся шо ж такое чо он там делает только что микросекунды были а сичас секунду тупил. а вот так. выходом из этой хрени есть SLC режим. когда некое поле ячеек всегда после чтения стирается автоматом. не знаю как у указанного ssd в статье а вот у patriot hellfire этот кэш составляет 32 гигабайта. вот первые 32 гига туда залетают просто наура безо всяких задержек. но когда кончается этот кэш и кончается оперативка — начинается рекомбинация полупустых блоков с добавлением до полного блока в основной массив памяти и освобождение кэша. помере высвобождения SLC кэш снова освобождается и новая порция данных может туда загудеть.
Поэтому правило очень простое. оставляйте не менее половины свободного места на ssd винте. а лучше 2/3. тогда во время простоя проц сам рекомбенирует блоки в большие а остальные блоки будут свободны для мгновенной записи любого обьема данных последовательно или максимально возможного кол-ва дозаписей микроскопических кусочков данных.
Вы должны понимать что когда вы дописываете к файлику в 200 байт ещё два байта то чтоб они сохранились на ssd — контроллеру приходится весь этот сектор прочитать (512 байт) потом изменить его содержимое дорисовав эти два байта, а потом найти свободный чистый блок на 4 килобайта(обычно такой размер блока у ссд но бывают и больше и меньше) если нашел — быстренько прописал и вернулся за старым — стереть его. тоесть в таблице старый уже помечен как пустой но он ещё не чистый — процедуру стирания ему не проводили. если в этот момент прилетит ещё чтото то блок стерт не будет и так накопятся нестертые блоки. в конце концов дописывая ещё пару байт к 300 байтному файлу вам прийдётся ждать чтения данных, изменения двух байт, поиска пустого блока — опа нету, опять чтения ещё пару тройки полупустых блоков, их комбинация воедино, стирание одного из блоков, прописывание старых данных из предыдущих трех, потом стирание ещё двух блоков опустошенных и только тогда в один из них пропишется ваш измененный файлик. и да. одна пластина памяти может только один блок за раз стереть или одну огромную страницу. потому они стараются в одну микруху напихать побольше пластин а производители дисков — напихать побольше микросхем. чтоб можно было стирать блоки в как можно большее кол-во рук. увы это особенности современной технологии флеш памяти. якобы только 3дхпоинт интеловская не такая но я её в руках не держал и она слишком дорога и малого обьема пока что.Tufed
13.09.2017 16:47-1Я так понимаю SLC это аппаратный аналог TRIM-а для ОС. Если при использовании TRIM ОС отвечает за отдачу команд на стирание блоков и поддержания нужного объема чистой памяти, то при SLC это делает контроллер?
quartz64
13.09.2017 16:57+1Нет. SLC (single level cell) — тип ячеек. В чистом виде сейчас его никто почти не использует. Производительность и ресурс большие, но и плотность хранения ниже. В некоторых SSD на базе MLC/TLC есть SLC-кэш — небольшая часть общего объёма NAND работает в SLC режиме в качестве кэша.
«аппаратный аналог TRIM-а для ОС» — то, что Вы пытаетесь описать называется сборкой мусора и есть в любом SSD.
clawham
13.09.2017 18:09неа. Никак не аналог вообще. SLC это именно кэш быстростираемой памяти которую контролер всегда старается держать чистой и готовой к тоннам записи.
Трим дает контроллеру понять какие блоки данных больше не нужны чтоб пометить их на стирание. SLC кеширование — это по сути измененный принцип работы самой флешпамяти.
nerudo
13.09.2017 18:12к файлику в 200 байт ещё два байта то чтоб они сохранились на ssd — контроллеру приходится весь этот сектор прочитать (512 байт) потом изменить его содержимое дорисовав эти два байта
Записать 200 0xff а потом те два байта, не пойдет?clawham
13.09.2017 20:23ну чесно говоря да. пример не особо. операционка оперирует секторами в 512 байт а ssd может стереть минимум один блок 4 килобайта. и если блок начался с начала файла и потом файл не модифицируя дописывается то такая операция действительно происходит сверхбыстро просто дописываясь. но всеравно если следующим сектором в блоке будет левый файл то естественно контроллеру при модификации первого файла рано или поздно(когда допишется следующий сектор файлу) прийдется найти новый стертый блок под этот файл скопировав весь блок в новый.
Изза этих перестроений по пустякам у прошивок есть такое понятие как коэффициент усиления записи. тоесть пишеш ты 1 гигабайт последовательно — ячейки испытают ровно 1 гигабайт записанных данных износа. но стоит записать 100 мегабайт мелких файлов или 100500 кусочков дописывать(работа с базами данных многофайловых систем) то 1 гигабайт реально дописанных данных может вылиться чуть ли не в два гигабайта реального износа ячеек изза перегруппировок кусков файлов в новые блоки. но в среднем у хороших прошивок — коэффициент этот 1.2-1.5. Вот такое вот дело. Но в общем Phison этот показывает достаточно крутую производительность. главная пролема — на него пока совсем нет нормальных прошивок. ну и аппаратно он имеет немного считающуюся устаревшей технологию восстановления битых данных. Но она всеравно достаточно неплохо работает а главное — очень быстро. плюсом он 4ядерный :) а нормально сделать распаралеливание однопоточной команды это знаетели нетривиальная задача. Но в данный момент например вторая прошивка — вполне себе ничего. они в ней очень кардинально все поменяли хоть и минуснули целых 80 гигов на кэш системные нужны и подменный фонд. 428 гиг доступно из 512 :)a5b
14.09.2017 06:26ssd может стереть минимум один блок 4 килобайта
Практика еще хуже — erase работает над блоком (128, 256 или 512 КБайт), который состоит из 32, 64 или 128 страниц по 2-4 КБ: https://flashdba.com/2014/06/20/understanding-flash-blocks-pages-and-program-erases/
Each block contains a number of pages, which are the smallest unit that can be programmed (i.e. written to).
The important bit here is that program operations (i.e. writes) take place to a page, which might typically be 8-16KB in size, while erase operations take place to a block, which might be 4-8MB in size. Since a block needs to be erased before it can be programmed again ..., all of the pages in a block need to be candidates for erasure before this can happen.
Запись в стертый блок ведется страницами (2 или 4 КБ).
clawham
14.09.2017 09:11Ну помоему это справедливо только для 3dVNand но принцип да — тот же. стирать можно только огромный кусок данных а потом уже писать в него. Насколько я смог заметить у хелфайра минимальная стираемая единица именно 4 килобайта страница. хз как это — аппаратно или програмно через slc кэш они реализовали. Но даже с таким гигантским кол-вом diу — 4 микрухи по 8 в каждой — всеравно конец приходит быстро :)
a5b
14.09.2017 15:45Нет, схема адресации, программирования и стирания страница — блоки — плоскости — чип одинакова для всех NAND флеш чипов и для всех NAND протоколов.
Записывают данные в стертые страницы постранично, стирают блоки из 64-128 страниц.
Patriot Hellfire M.2 480GB построен на PS5007-E7 и Toshiba 15nm MLC, TH58TFT00FLBA8H, кристаллы "флеш-памяти c интерфейсом Toggle Mode и ёмкостью по 128 Гбит"
Для чуть более старого Toggle NAND от тошибы есть даташит — http://www.datasheetspdf.com/PDF/TH58TEG8DDKTAK0/910996/10 — размер страницы 17664 байт (16КБ+1380 байт), размер блока 4МБ + 320 КБ (256 страниц). Списки операций — программирование страницы, стирание блока: "Basic Operation:… Page Read Operation… Page Program Operation… Block Erase Operation… Multi Block Erase Operation"
"SLC кэш" — это запись в страницы блока через одну (для MLC) или через две (для TLC)clawham
14.09.2017 16:11О! вот об этом я и догадывался.ведь реально ж через 32 гига в нем чтото кончается и начинается тупеж. Спасибо за даташит на микрухи памяти. — это 100% инфа что там они — просто у меня 250 гиговая версия и все микры этикеткой перекрыты.
quartz64
13.09.2017 13:39Высокие пиковые значения есть у всех, но «высота» разная. У SSD здорового человека — порядка десятков мс при на запись с qd=1. А в десктопных на это внимания никто не обращает — подвисла там одна из 1000 (миллиона, миллиарда?) IO на сотни или даже тысячи мс — это можно пережить и даже не заметить.
amarao
13.09.2017 14:13+1Нет устройств с пиками в десятки милисекунд. Лучшее, что у меня есть в списке — 2600 мс (2.6 секунды).
Разумеется, с qd=1. Мне потребовалось несколько месяцев пустых бенчмарков, пока я не обнаружил, что на span=40Gb проблема просто не обнаруживалась. Теперь — 80% span, обязательно.quartz64
13.09.2017 14:45Нет устройств с пиками в десятки милисекунд.
Toshiba PX02SM и PX03SN: 12,74 мс и 18,77 мс соответственно. Preconditioning был.
Если что-нибудь посовременнее, то вот HGST SN150:
«clat»: {
«min»: 1,
«max»: 239,
«mean»: 21.52,
«stddev»: 3.65,
«percentile»: {
«1.000000»: 19,
«5.000000»: 20,
«10.000000»: 20,
«20.000000»: 20,
«30.000000»: 20,
«40.000000»: 20,
«50.000000»: 20,
«60.000000»: 20,
«70.000000»: 21,
«80.000000»: 21,
«90.000000»: 25,
«95.000000»: 30,
«99.000000»: 36,
«99.500000»: 37,
«99.900000»: 44,
«99.950000»: 45,
«99.990000»: 54,
«0.00»: 0,
«0.00»: 0,
«0.00»: 0
}
Безобразно себя вели в этом плане лишь OCZ, большая часть из т.н. read intencive SSD и десктопные — но к ним претензии предъявлять не стоит.amarao
13.09.2017 15:22+1А, я понял.
Я забыл указать, что в бенчмарке обязательно надо:
а) Бенчмаркать не голое устройство а файловую систему (файл на файловой системе)
б) Указать fsync=1
Примерно половина устройств, которая себя вела хорошо в отсутствие fsync'а превращалась в унылое «г» в режиме с fsync=1.
Какая именно файловая система — не важно, можно xfs или ext4. Драматичные задержки возникают из-за отправки flush'ей из блочного уровня после каждой операции.quartz64
13.09.2017 15:30+1Указать fsync=1
аа, так это совсем другое дело.amarao
13.09.2017 15:51+1Да, прошу прощения. У меня в голове дискуссия с вендором, и я путаю что я кому говорил уже, а что кому нет.
Наиболее боевой нагрузкой на диски является OLTP (базы данных) и ceph. Т.к. ceph при этом ещё и выступает в роли обычного хранилища, то итоговая нагрузка получается больше, потому что на каждую запись он делает один flush. Мой стандартный бенчмарк подразумевает ceph-all-in-one с одним диском в качестве OSD. Итоговую цифру IOPS на запись можно умножать на два, а latency — делить на два.
И в этих условиях десятки секунд показывают практически все вендоры.
SchmeL
13.09.2017 13:57Вот меня интересует не система на таком диске, а использование его в качестве кеша для HDD.
Есть фирменные утилиты для этого? У меня материнка поддерживает Intel Rapid, но в Win10 он не работает.DaemonGloom
13.09.2017 15:21Это странно. На сайте intel есть драйвер для Win10 и на их форуме пишут, что всё работает.
Говорят, что может не работать по таким причинам и лечится таким образом:
superuser.com/questions/546601/no-accelerate-button-tab-on-intel-rapid-storage-window
(Кратко: уже размечен диск, либо включен hot-plug)SchmeL
13.09.2017 15:40не работает, ни с одним официальным драйвером, а после большого обновления 10ки — intel rapid вообще перестал запускаться — точнее вылетает с ошибкой. При загрузке на экране показывается raid 0 из hdd и раздела SSD для cache, но статус у него disabled.
sirocco
13.09.2017 14:31Сказано что он только для десктопов, или рабочих станций, но не для баз данных. А подскажите, криптовалюты с их тяжелыми кошельками к чему относятся? Ну к примеру, когда эфировский Mist запускаю, то вижу что память, процессор и ssd загружены на полную катушку. Диспетчер задач показывает скорость обмена на ssd в 380мб\с, в то время как грузятся блоки. А это долгий процесс, очень долгий. Ну и другие крипты ведут себя похожим образом. Вот это к чему отнести надо, к домашним или к серверным нагрузкам? Какой серии брать SSD? Ну и важен вопрос, сколько данные продержаться, если эта планка без питания в укромном месте лежать будет.
amarao
13.09.2017 15:23+1На чтение большинство устройств довольно быстро. Сильнее всего разница на записи.
sirocco
14.09.2017 09:05Причем тут чтение? Вы загрузите этот кошелёк и увидите что там постоянная перезапись чего-то с бешеной скорость идёт. Если бы было только чтение, я бы и не парился, тут ясное дело, любой подойдёт.
amarao
14.09.2017 12:50+1Тогда стоит посмотреть на паттерн записи. Как часто оно делает fsync? Пишет оно большими или мелкими блоками?
Происходящее можно посмотреть с помощью blktrace. Там будет много, так что 1-2 секунд записи в момент высокой нагрузки будет достаточно.
olen
13.09.2017 14:38А если этот диск установить на старую материнку (https://www.gigabyte.com/Motherboard/GA-P55A-UD5-rev-10) через PCI express переходник, он сможет работать как системный? Windows 10 с него загрузится?
quartz64
13.09.2017 14:48+1Первое, что требуется для загрузки с NVMe — наличие UEFI, а его в GA-P55A-UD5 видимо нет.
olen
13.09.2017 18:34-1Да, UEFI нет. Спасибо за ответ. Я примерно так и думал, но мало ли, может диск может как-то прикинуться sata для загрузки, а потом уже работать через драйвера системы.
Alaunquirie
16.09.2017 16:21Там ещё и PCI Express 2.0, а диск хочет 3.0, так что и со скоростями будет «не то».
Leeloush_Keer
13.09.2017 17:45P.P.S.: А ещё до конца сентября в DNS действует скидка в 1000 рублей на клавиатуру HyperX Alloy FPS
Когда Alloy Elite ждать? Пока только в 4F продаётся.
Exchan-ge
14.09.2017 01:01«А у Вас, извиняюсь, сколько на нем свободного места?»
На десктопе — 93 из 237
На Surface — свободно ровно 10%, тем не менее — он работает быстрее, несмотря на тесты.
Я сталкивался с подобным на старом Макбук Про (2009) г.в. (с SSD, up.) — родная OSX на нем летала, Win 7 в буткампе работала заметно медленней (что было особенно заметно по видео).
Что интересно — сейчас там стоит 10 и Sierra, и ситуация изменилась на противоположную.
Ничем иным, как оптимизацией драйверов это не объяснить.
Fagot63
Та же беда с перегревом. Мать асус strix z270h. Пришлось переставить на верхний разъем, т.к. диск сбоил.