Найти тему
SSD и т.д. и т.п.

КЭШ он же DRAM он же буфер.

Буквально несколько дней назад на моём подопытном стенде побывали два накопителя торговой марки Crucial - BX500 120GB и BX300 120GB. Что наиболее интересно в данном предложении - это возможность сравнить быстродействие двух накопителей в максимально равных условиях. Оба этих накопителя построены на основе контроллера SMI2258 и микросхем памяти 3D TLC типа производства Micron Technologies, выполненых по 64-х слойной технологии, но есть небольшая разница - вся аппаратная разница между двумя этими устройствами заключается в наличии в модели BX300 микросхемы DDR3-типа, которую контроллер использует в качестве оперативной памяти, храня в ней информацию о расположении файлов в ячейках памяти. Обычно такая микросхема имеет ёмкость из расчёта 1 Мегабайт на 1 Гигабайт ёмкости устройства, т.е. в данном частном случае в накопителе Crucial BX300 120GB установлена микросхема DDR3 ёмкостью 128 Мегабайт.

Более подробно о каждом накопителе персонально можно прочитать в их обзорах, здесь я сразу перейду к сравнению.

Crucial BX500 120GB против Crucial BX300 120GB
Crucial BX500 120GB против Crucial BX300 120GB

Как видно, первый тест - последовательное чтение и запись осуществляются практически идентично, влияние наличия кэш-памяти в старшей модели равно нулю (что вполне объяснимо, так как при этом нет особой потребности изыскивать свободные ячейки памяти и удерживать их в памяти контроллера).

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

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

Crucial BX500 120GB против Crucial BX300 120GB
Crucial BX500 120GB против Crucial BX300 120GB

Альтернативное средство оценки быстродействия показывает ровным счётом тоже самое - разве что в данном случае используется бОльшее число потоков - 64, что ещё бОльшим образом нагружает "мозги" контроллера накопителя. Прирост производительности при записи здесь составляет порядка 10% (всё-таки при равном контроллере наибольшие издержки несёт именно контроллер и микросхемы памяти), а вот при чтении - прирост составляет почти 85%. Вот что значит "держать перед собой оглавление" - наличие быстрого индексного поиска позволяет работать на максимальной скорости самого "читателя".

Что ещё интересно - накопитель с DRAM буфером имеет время доступа при чтении и записи практически одинаковое, а вот у накопителя без DRAM буфера это время различается в 5 !!! раз.

Crucial BX500 120GB против Crucial BX300 120GB
Crucial BX500 120GB против Crucial BX300 120GB

Имитационные тесты тоже заметно благоволят более дорогому устройству, давая ему от 3 до 15% преимущества.

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