Буквально несколько дней назад на моём подопытном стенде побывали два накопителя торговой марки Crucial - BX500 120GB и BX300 120GB. Что наиболее интересно в данном предложении - это возможность сравнить быстродействие двух накопителей в максимально равных условиях. Оба этих накопителя построены на основе контроллера SMI2258 и микросхем памяти 3D TLC типа производства Micron Technologies, выполненых по 64-х слойной технологии, но есть небольшая разница - вся аппаратная разница между двумя этими устройствами заключается в наличии в модели BX300 микросхемы DDR3-типа, которую контроллер использует в качестве оперативной памяти, храня в ней информацию о расположении файлов в ячейках памяти. Обычно такая микросхема имеет ёмкость из расчёта 1 Мегабайт на 1 Гигабайт ёмкости устройства, т.е. в данном частном случае в накопителе Crucial BX300 120GB установлена микросхема DDR3 ёмкостью 128 Мегабайт.
Более подробно о каждом накопителе персонально можно прочитать в их обзорах, здесь я сразу перейду к сравнению.
Как видно, первый тест - последовательное чтение и запись осуществляются практически идентично, влияние наличия кэш-памяти в старшей модели равно нулю (что вполне объяснимо, так как при этом нет особой потребности изыскивать свободные ячейки памяти и удерживать их в памяти контроллера).
Почти тоже самое можно сказать о последнем тесте, на чтение/запись при случайном доступе файлов небольшого размера. Здесь также влияние кэш-памяти мало, что объяснить несущественностью количества адресуемых ячеек памяти.
Самое интересное - это второй и третий тесты, разной степени многопоточности; где отрыв старшей модели в разных тестах составляет от 10 до 20%. Наиболее интересно то, что прирост производительности достигается и при чтении и при записи. Судя по всему, увеличение числа файлов нагружает контроллер, заставляя его "держать в уме" большое количество информации о месте размещения файлов и наличие быстрой оперативной памяти заметно помогает оперированию данными при записи или чтении.
Альтернативное средство оценки быстродействия показывает ровным счётом тоже самое - разве что в данном случае используется бОльшее число потоков - 64, что ещё бОльшим образом нагружает "мозги" контроллера накопителя. Прирост производительности при записи здесь составляет порядка 10% (всё-таки при равном контроллере наибольшие издержки несёт именно контроллер и микросхемы памяти), а вот при чтении - прирост составляет почти 85%. Вот что значит "держать перед собой оглавление" - наличие быстрого индексного поиска позволяет работать на максимальной скорости самого "читателя".
Что ещё интересно - накопитель с DRAM буфером имеет время доступа при чтении и записи практически одинаковое, а вот у накопителя без DRAM буфера это время различается в 5 !!! раз.
Имитационные тесты тоже заметно благоволят более дорогому устройству, давая ему от 3 до 15% преимущества.
В сухом остатке заканчивать статью фразой "ну вот видите, я же говорил" довольно глупо, но по-другому и не получается. Буфер оперативной памяти в дополнение к имеющейся оперативной памяти в самом контроллере позволяет заметно ускорить работу всего устройства в наиболее "узких" и тяжёлых местах; когда накопитель нагружен одновременными задачами чтения и записи, сгенерированными разными программами. На мой взгляд, наиболее востребованная функция накопителя при использовании в качестве места хранения программ, использующих файловые базы данных.