Меня особенно интересует ответ для хранилища NAND (SD-карты, карты памяти).
У меня есть ноутбук с Windows 7, на котором я запускаю 2 виртуальные машины внутри VMWare, а также несколько программ в основной операционной системе. Доступ к диску виртуальной машины очень случайный, и у меня было отличное улучшение производительности моей системы от использования карты памяти на 16 ГБ с ReadyBoost. Я отформатировал флэш-память с помощью exFAT, чтобы я мог выделить файл 16 ГБ sfcache. Я использовал размер кластера 32 МБ, но я не уверен, что это оптимально.
Насколько я понимаю, размер кластера заключается в том, что большие размеры кластера приводят к потере места для файлов меньшего размера, но к увеличению скорости чтения и меньшему использованию файлов, если у вас в основном большие файлы. Однако я понял, что ReadyBoost помогает только для случайного ввода-вывода, а не для последовательного ввода-вывода. Это заставило меня задуматься, будет ли меньший размер кластера лучше для случайного ввода-вывода, а большой размер кластера лучше для последовательного ввода-вывода.
Я провел несколько тестов ввода-вывода на флэш-накопителе объемом 16 ГБ.
Изображения показывают результаты для размеров кластера: 1 КБ, 4 КБ, 8 КБ, 32 МБ.
У 1k была худшая скорость случайного ввода-вывода, в то время как у 4k была лучшая (только немного медленнее, чем 8k для последовательного ввода-вывода, возможно, в пределах погрешности). Не уверен, как интерпретировать эти результаты. Возможно ли, что производители оптимизировали свое устройство под размер блока выделения Windows по умолчанию?