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