Обзор ArsTecnica

Обзор ArsTecnica

У меня есть Samsung 960 Pro 512 ГБ SSD на NVMe с работающим PCIe Gen.3x4. Я использую Samsung NVMe Driver 2.0.0.1607. SSD работает нормально. Однако я не понимаю, почему запись 4k происходит быстрее, чем чтение 4k. Я использую AS Benchmark:

введите описание изображения здесь

Это коэффициент 3! Что-то не так (с моей системой или AS Benchmark) или это нормально?

решение1

Чтение 4k будет самым сложным, что может сделать диск. Это один из самых маленьких размеров блоков, с которыми может справиться диск, и нет возможности для диска предварительно загрузить большие объемы данных, на самом деле они, вероятно, довольно неэффективны, если логика упреждающей загрузки диска намерена читать что-то большее 4kb.

«Нормальные» чтения с диска, скорее всего, будут больше 4 КБ, поскольку существует очень мало файлов такого размера, и даже файл подкачки, скорее всего, будет считываться большими кусками, поскольку было бы странно, если бы программа выгружала «только» 4 КБ памяти. Это означает, что любая предварительная загрузка, которую пытается выполнить диск, на самом деле снизит пропускную способность диска.

Чтения 4K могут проходить через буфер привода, но «случайная» часть теста делает их совершенно непредсказуемыми. Контроллер не будет знать, когда приводу снова могут понадобиться более обычные «большие» чтения.

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

На самом деле я подозреваю, что именно это и происходит в "4K-64Thrd", пишет "64-Thrd"по-видимому, используется большая глубина очереди, тем самым сигнализируя приводу о том, что у него большой объем данных для чтения или записи. Это запускает большую кластеризацию записей и, таким образом, приближается к скорости последовательной записи привода. Все еще есть накладные расходы на выполнение записи 4K, но теперь вы полностью раскрываете потенциал буфера. В версии теста Read контроллер привода, теперь распознающий, что он находится под очень постоянной высокой нагрузкой, прекращает предварительную загрузку данных, возможно, избегает буфера и вместо этого переключается в режим «сырого» чтения, снова приближаясь к скорости последовательного чтения.

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

решение2

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

Обзор ArsTecnica

ArsTechnicaпроверил диск, как вашу версию (512 ГБ), так и версию на 2 ТБ:

ArsTechnica (Этот график не виден сразу в обзоре, он 5-й в первой галерее, на него нужно нажать)

Производительность этих двух моделей очень похожа, и их показатели похожи на ваши: привод может считывать данные со скоростью 37 МБ/с и записывать данные со скоростью 151 МБ/с.

Обзор AnandTech

AnandTechтакже рассмотрел диск: они использовали модель 2 ТБ, усреднив результаты тестов с глубиной очереди 1, 2 и 4. Вот графики:

AnandTech 4K читать AnandTech 4K запись

Скорость чтения накопителя составляет 137 МБ/с, а записи — 437 МБ/с. Цифры намного выше, чем у вас, но, вероятно, это связано с большей глубиной очереди. В любом случае скорость записи в 3 раза превышает скорость чтения, как в вашем случае.

Обзор PC World

Еще один обзор отМир ПК: они протестировали версию на 1 ТБ, и результаты для 4К составили 30 МБ/с для чтения и 155 МБ/с для записи: График PC World Скорость записи соответствует вашей, но здесь диск еще медленнее при чтении. В результате соотношение составляет пять к одному, а не три к одному.

Заключение

Обзоры подтверждают, что для этого накопителя нормально, что скорость записи случайных 4К намного выше скорости чтения: в зависимости от теста она может быть даже в 5 раз выше.

Ваш диск в порядке. Нет причин полагать, что он неисправен или что в вашей системе есть проблема.

решение3

Контроллер SSD кэширует записи во встроенной памяти NVRAM и сбрасывает их на флэш-носитель в подходящее время. Таким образом, задержка записи — это задержка доступа к кэшу, обычно 20 мкс. Чтения, напротив, обслуживаются с носителя, со временем доступа в лучшем случае 120–150 мкс.

решение4

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

Для записи данные должны быть просто записаны во внутренний кэш RAM. Позже они будут записаны во флэш-память вместе с другими блоками 4k и метаданными, необходимыми для проверки, исправления ошибок и поиска.

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

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

Связанный контент