Performance impact of Write Cache for Hard/Solid State disk drives
This study is a part of research of Ceph’s IO subsystem acceleration, and mostly applicable for the Ceph-specific IO workload.
In some discussions around the internet, people suggesting different settings for the drive’s write cache, but there are no complete study detailing the effect of the write cache on the performance of the disk subsystem.
Let’s figure out what is write cache first.
Write cache using a volatile (RAM) memory in disk drive for temporary storage of written data. Disk cache (usually 64–128MB nowadays) used for reads (read-ahead) and writes.
When write cache is enabled (default), host writes come to the write cache first, if there are no additional flags provided, then flushed to the the storage media (plates/NAND) in the background.
Write cache Pros:
HDD: data can be re-organized before writing, sorted, flushed to the plates in chunks, allowing NCQ to work efficiently and spend less time for seeks.
SSD: theoretically, reducing write amplification and NAND cells wear, improving drive’s lifespan. SSD can’t rewrite single 4k page, they have to rewrite a whole block for that, which is usually much bigger than a page. Write cache may organize written data into bigger chunks, reducing the amount of actually written data.
Write cache Cons:
Write cache is a volatile memory, so written data can be suddenly lost during a power loss.
There are 2 ways to control the persistence of written data to the storage media from a write cache:
a) FLUSH CACHE command to the disk drive, instructing it to flush all the data from volatile cache to the media. Controlled by setting REQ_PREFLUSH bit.
b) FUA bit, which is more granular, and work just for a specific data. Controlled by REQ_FUA bit.
Top-grade SSDs come with a super-capacitors (kind of BBU for RAID adapters with onboard cache), allowing cached data to be flushed after the power loss, so they can simply ignore FLUSH CACHE / FUA , pretending that they do not have a volatile cache, and showing higher performance.
So, let’s figure out how write cache affecting IO performance with a different write patterns.
To find it, i tested HDD/SSD disks with enabled/disabled write cache, and different sync settings (async/fsync/disabled).
Test stand:
CPU: 2x Intel(R) Xeon(R) CPU E5–2630 v4 @ 2.20GHz
MEM: 8x32GB DDR4–2400 @2133 MT/s
HBA: MB embedded SATA controller: Intel Corporation C610/X99 series chipset sSATA Controller, AHCI
We’ll use fio with a following default settings:
# fio -ioengine=libaio -direct=1 -invalidate=1 -bs=4k -runtime=60 -filename=/dev/sdX
-fsync=1 — doing fsync() calls after each write, triggering FLUSH CACHE (also tested with -fdatasync , there are no difference in the final results)
-sync=1 — opening block device file with O_SYNC , setting FUA bit for each write
-rw=randwrite|write — random/sequential write patterns
-iodepth=1|128 — 1/128 IO threads to emulate signle- and multithreaded applications
Results:
IO pattern divided into 4 groups for easier comparison:
- baseline (purple) — direct (unbuffered) writes with no sync flags set. Worst case due to single-threaded random writes, when OS scheduler doesn’t work, and optimizations can be done by the drive only.
- journal write (yellow) — load pattern similar to journal write, worst values over sync/fsync should be taken
- worst case (red)— single-threaded random writes, when writes cannot be merged by OS scheduler and dispatched to the the drive “as is”. Should be compared with baseline values.
- other group with multi-threaded random/sequential writes showing the cases, when OS IO scheduler can work effectively and organize IO requests into bigger blocks before dispatching to the device, which works especially effective in case if multi-threaded sequential writes (that’s why we have such a weird high numbers).
As we can see, disabling write cache gives a noticeable performance boost for writes, performed with fsync()/sync()
Let’s take a look how writes look like on the block level with a different cache settings.
Write cache is enabled:
O_SYNC:
WFS here is a REQ_WRITE with the REQ_FUA flag set
We can see that there are no additional flush request happening after write is completed, and this way of persisting data into the backing media works faster than write and following whole buffer flush.
fsync()/fdatasync():
Here we can see that after successful write operation, fio issuing fsync() call, forcing drive to perform FLUSH CACHE .
FWS here is REQ_PREFLUSH | REQ_WRITE | SYNC
Thus, for each write operation with fsync() / fdatasync()
a) two independent operations (write/flush) issued to the device, each have to be received, queued, dispatched, handled by the process. All of this adding and overhead and reducing the performance
b) whole write cache flushing operation may cause a significant write amplification, rotational disk drive may have to handle plenty of random writes to flush the write cache, making this operation pretty slow
Write cache is disabled:
O_SYNC:
fsync()/fdatasync():
As we can see, write patterns are similar now, same as the performance with those options.
No F flags present, no FUA bit set or FLUSH CACHE initiated, writes comes directly the media, without caching.
Analysing the results:
HDD:
a) As we can see for non-sync operations, even for a single-threaded random writes, enabled write cache actually helps to increase the performance, since write requests coming to the quick volatile memory (RAM) first, then can be re-organized by NCQ, flushed in batches, allowing the device to reduce IO time and increase the performance capacity. With disabled write cache performance degrades to the level of sync writes, which is expected.
b) With O_SYNC / fsync() enabled, write cache adding more overhead, reducing the performance. Disabling write cache increasing the performance, since no additional write/flush cache operation is requested → no overhead.
c) O_SYNC / fsync() with write cache disabled are identical, since on the block layer they are translated to the same commands.
d) O_SYNC / fsync() performance with enabled write cache is different for 128-threaded writes, with O_SYNC performance is higher, since each thread setting FUA bit independently and “touching” only it’s data, not all the data in write cache, which adding less overhead and increasing the performance, both for random and sequential writes
SSD:
Picture are pretty much the same as for HDD, due to the similar logic, but scale is different because of higher performance of NAND memory in comparison with rotational media.
a) for non-sync writes, disabling write cache reducing performance just a bit for single-threaded workload. For multithreaded workload performance drop may be more significant, also, since storage layer performance depending on many factors (like garbage collector in action, lack of free writable blocks, worn NAND cells, way of NAND cells oranizing (MLC/TLC/QLC)), performance drop may differ within wide limits. We should consider this particular SSD drive results just as an example only, for other drives it will be different.
b) Disabling write cache giving a noticeable performance boost, not that big as for HDD, since NAND cells are still pretty fast and the overhead for cache flushing is not that big.
Conclusions:
1) Writes with FUA bit set seems working in linux. It’s better to use it rather than fsync() / fdatasync() because:
a) it’s more fine-grained and making less overhead and write amplification
b) can be used even with enabled write cache, to get the write cache benefits for non-sync workload, and make sure that data with O_DIRECT is safely flushed to the media for specific files.
2) For workloads where fsync()/fdatasync()/O_SYNC is the major part, disabling write cache will give a significant performance boost for HDD. For SSD as well, but by sacrificing it’s lifespan and durability, since it will lead to higher write amplification (theoretically, we didn’t test it carefully). Disabling write cache for SSD may be considered for having maximum performance, when lifespan is not important.
Practical application
Applying all this knowledges for Ceph, i tested OSD performance, created in the different ways, with different write cache settings.
To test real OSD performance (not under some particular applications like RBD or CephFS), i used ceph osd bench like following:
# ceph tell osd.X bench 268435456 4096
268435456 — the payload size
4096 — IO block size
It’s making single-threaded writes with a defined block size (default 4M).
I ran tests with 4k block and 4M block.
OSDs was configured in 3 options:
c) data on HDD + WAL/db on SSD
Results:
OSD on HDD+SSD(WAL), different write cache configurations
As we can see from the results, disabling write cache on HDDs can improve it’s performance, both with small and big blocks.
Disabling write cache on SSDs doesn’t give a significant boost in any configuration, so we can keep it enabled and save SSD drive’s lifespan.
OSD processes using fdatasync() calls after each write, for both journal and data. Since it’s using disk drives exclusively, disabling write cache leading to the better performance, as shown in the tests above.
Почему накопители SSD ускоряются после очистки и насколько важен размер кэша — бенчмарки популярных моделей PCIe 4.0
В прошлом году SSD впервые в истории обогнали HDD по объёму продаж. В отличие от винчестеров, здесь сумасшедший технический прогресс. За несколько лет рынок меняется кардинально: интерфейс NVMe вместо SATA, память SLC→MLC→TLC→QLC…
Замена системного диска с HDD на SSD — иногда самый мощный апгрейд, который можно сделать с компьютером. Главный прирост в отклике системы и софта даёт скорость случайного доступа, которая даже у самых дешёвых SSD на пару порядков быстрее, чем у HDD. А современные SSD практически не уступают по скорости оперативной памяти. Основная проблема — живучесть. При интенсивной эксплуатации они слишком быстро выходят из строя.
Давайте посмотрим, что произошло на рынке потребительских SSD за последние десять лет. И как выбор конкретных технологий влияет на производительность.
SSD в целом становятся всё более сложными, поэтому объективная оценка их производительности — не простое занятие. Из-за этого у производителей появляется всё больше способов, как ввести в заблуждение потребителей и спрятать реальную производительность за некой единой «священной» метрикой.
В январе 2021 года издание AnandTech провело тестирование девяти современных моделей SSD на 1 ТБ. Описание этого эксперимента показывает — никакой единой метрики не существует.
Новая флэш-память
SSD на массовом рынке появились более десяти лет назад. Например, компания Intel выпустила свои первые SSD в 2008 году: это были модели X25-M и X18-M объёмом 80 ГБ с форм-фактором 2.5″ и 1.8″, соответственно. Первая вышла по рекомендованной цене $595…
Intel X25-M
Много воды утекло с тех пор. Сейчас мы видим десятки терабайтных моделей по гораздо меньшей цене. Но основные принципы работы твёрдотельных накопителей не изменились. И главные проблемы флэш-памяти NAND по-прежнему актуальны:
- невозможность напрямую вносить изменения в записанные блоки данных во флэш-памяти, запись новой информации производится в пустые ячейки;
- несоответствие между размерами страниц NAND и размерами блоков стирания;
- снижение производительности при заполнении накопителя.
Вернуть изначальную производительность старых SSD можно было только с помощью утилиты HDD ERASE, источник
Всё это по-прежнему актуально. Современные твёрдотельные накопители намного больше, быстрее и дешевле, но их контроллеры и прошивки не решили названные проблемы до конца. У современных SSD появились и некоторые дополнительные проблемы, которые ещё больше усложняют механизмы их работы и затрудняют объективное тестирование.
Примерно в 2014 году появились накопители с памятью TLC NAND и поддержкой прямого интерфейса NVMe. К настоящему времени обе эти технологии практически захватили рынок: память MLC практически исчезла, а NVMe — дефолтный интерфейс для новых моделей. Более высокая производительность PCIe/NVMe по сравнению с SATA даёт ошеломляющую разницу в бенчмарках, но с точки зрения дизайна бенчмарков на самом деле важнее был переход на TLC. Это связано с тем, что потребительские твёрдотельные накопители TLC в значительной степени зависят от кэширования SLC.

В накопителе чем больше битов мы записываем в ячейку, тем она сложнее (и медленнее). Современные диски записывают 3 бита на ячейку (TLC) или 4 бита (QLC). Оба варианта медленнее для записи, чем запись 1 бита на ячейку (SLC). Поэтому в SSD часть ячеек обрабатывается в «режиме SLC», это позволяет увеличить поток входных данных.
Недостатком является то, что данные из SLC NAND потом надо переписать в блоки, которые работают как MLC/TLC/QLC. Этот процесс часто называют фолдингом, он обычно автоматически выполняется во время простоя накопителя, где задержка не важна. Таким образом освобождается место в кэше SLC для дальнейшего использования.
Обязательное SLC-кэширование в современных SSD
Кэширование SLC создаёт два уровня производительности — один внутри кэша, и один снаружи. Большинство пользователей никогда не видят производительности «снаружи кэша». Реальные потребительские рабочие нагрузки почти никогда не пишут десятки или сотни ГБ непрерывно, особенно на высоких скоростях (быстрее, чем гигабитный Ethernet) — даже запись несжатого видео 4k60 немного меньше 1,5 Гбит/с, в то время как высококачественные NVMe теперь предлагают пиковую скорость записи выше 4 Гбита/с. Но на самом деле включение более реального варианта использования с адекватными перерывами для диска, чтобы освободить кэш SLC во время простоя, делает результаты тестирования более релевантными для многих пользователей.
Размеры кэша SLC также зачастую зависят от объёма свободного места на диске. Например, при заполнении SSD на 75% может остаться только 10% от обычного размера кэша SLC. Тесты, которые работают с почти пустым диском, могут преувеличить преимущества кэширования SLC по сравнению с тем, что испытывают пользователи, когда они фактически используют большую часть рекламируемой ёмкости своего накопителя.
Изменение размера кэша SLC в зависимости от объёма свободного места в Intel SSD 665p
Накопители QLC ещё больше усложнили ситуацию, поскольку они пытаются держать кэш максимально заполненным для ускорения доступа к данным.
Накопители NVMe (и некоторые SATA) также чувствительным к температуре. Накопители M.2, потребляющие более 5 Вт на пике, могут сильно нагреваться, поэтому сейчас многие из них поставляются в комплекте с радиаторами.
Данные SSD: локальность и DRAM
Кроме интерфейса (SATA, PCIe 3.0, PCIe 4.0) и выбора флэш-памяти TLC или QLC NAND, есть ещё несколько важных технологических различий между SSD высокого класса и начального уровня. Например, метод хранения метаданных Flash Translation Layer (FTL) — информации, какое физическое местоположение соответствует каждому логическому адресу (Logical Block Address, LBA).
В течение нескольких лет большинство SSD использовали большую простую таблицу поиска. Несложно посчитать, что для диска 1 ТБ с секторами по 4 КБ требуется таблица отображения FTL почти на 1 ГБ. Это увеличивает стоимость устройства, а производители SSD пытаются снизить свои расходы. Поэтому интерфейс DRAM исчез практически со всех контроллеров начального уровня — и им приходится как-то управлять гигабитной таблицей FTL, не имея возможности загрузить её в память целиком.
У контроллеров обычно есть встроенный кэш небольшого размера, который исчисляется в мегабайтах. Другой вариант — заимствовать часть оперативной памяти процессора через функцию буфера памяти хоста (HMB). Такая возможность есть в интерфейсе NVMe.

Но в любом случае, отсутствие полноценного буфера DRAM сказывается на производительности всех SSD: во-первых, случайные чтения требуют дополнительной операции чтения для извлечения данных из таблицы до того, как запрошенные данные могут быть прочитаны. Во-вторых, накопителям труднее выравнивать нагрузку и управлять сбором мусора, поэтому у них обычно падает производительность при больших нагрузках на запись и почти полном заполнении.
Приводы
Аппаратная начинка и архитектура диска непосредственно влияет на его производительность. Для иллюстрации AnandTech приводит бенчмарки девяти современных SSD ёмкостью 1 ТБ из различных сегментов рынка, то есть разных классов.
- Samsung 980 PRO. последний флагман NVMe от Samsung — это их первая модель PCIe 4.0 для потребительского рынка, а также первая модель PRO, использующая TLC NAND вместо MLC.
- Silicon Power US70. Один из многих приводов с контроллером Phison E16 и TLC NAND. Именно эта комбинация впервые вывела PCIe 4.0 на потребительский рынок SSD-накопителей в 2019 году, а сейчас контроллеры постепенно меняют на Phison E18.
- Kingston KC2500. Привод PCIe 3.0 с контроллером Silicon Motion SM2262EN, который настроен на агрессивное кэширование SLC и обычно обеспечивает лучшую в своём классе производительность при низкой глубине очереди.
- SK hynix Gold P31. Преимущества вертикальной интеграции проявляются в том, что согласованная комбинация ультрасовременного (хотя и все еще PCIe 3.0) контроллера и NAND позволяет этому 4-канальному приводу работать наравне с 8-канальными приводами, устанавливая рекорды энергоэффективности.
- Mushkin Helix-L. Бюджетный NVMe-накопитель использует TLC NAND и сокращает затраты с помощью контроллера DRAMless Silicon Motion SM2263XT, который использует функцию буфера памяти Host Memory Buffer, заимствуя до 64 МБ оперативной памяти из системы.
- Corsair MP400. Представляет ещё одну популярную категорию бюджетных накопителей. Здесь работает связка из дешёвой и более медленной QLC и 8-канального контроллера Phison E12S, значительное улучшение по сравнению с 4-канальным Silicon Motion SM2263 в первых накопителях QLC NVMe, таких как Crucial P1 и Intel 660p/665p. Имеется кэш DRAM, но только 512 МБ, вдвое меньше, чем в обычных или высококлассных моделях.
- Samsung Samsung 870 EVO. совершенно новый накопитель TLC SATA от Samsung сочетает 3D NAND и контроллер последнего поколения.
- SK hynix Gold S31. Выпущенный в конце 2019 года с 72-слойной TLC, это довольно распространённый на массовом рынке SATA-накопитель с немного более низкой производительностью, чем ведущие SATA-накопители, но хорошей ценой.
- Samsung 870 QVO. Накопитель QLC SATA второго поколения использует тот же первоклассный контроллер, что и 870 EVO, поэтому его недостатки полностью связаны с более медленной и дешевой флэш-памятью QLC NAND.
Серия тестов AnandTech Storage Bench (ATSB) состоит из трёх циклов: Light, Heavy и Destroyer. В первом режиме замеряется скорость выполнения набора «лёгких» задач, соответствующих относительно лёгкому использованию настольного компьютеров: браузер, текстовый редактор и прочее. В режиме Heavy очередь задач возрастает на порядок, в режиме Destroyer — ещё на порядок. Циклы Light и Heavy прогоняются сначала на полностью пустом диске, а потом на частично заполненном.
На странице с результатами показаны средняя скорость передачи данных, средняя задержка, задержки записи и чтения, а также эти показатели для 99-го перцентиля, и энергопотребление каждого накопителя.
Нужно заметить, что обычный юзер 99% времени использует SSD в лёгком режиме. Интенсивный режим включается только изредка, например, во время инсталляции игр или резервного копирования.
Серый график — показатель нового пустого SSD, чёрный — частично заполненного.
Как обсуждалось ранее, размер кэша MLC начинает серьёзно уменьшаться после заполнения диска на 50%. Это и отражается на результатах.
Средняя скорость передачи данных в режиме лёгкого использования (МБ/с)

Средняя задержка в режиме лёгкого использования

Следующие тесты на среднюю скорость случайного чтения и среднюю скорость последовательной записи также запускались дважды: 1) на абсолютно пустом диске с операциями только в диапазоне первых 32 ГБ пространства; 2) при 80% заполнении без ограничения на операции. Разница между серым и чёрными столбцами отражает влияние кэширования SLC, контроллеров без буфера DRAM или с уменьшенным объёмом буфера.
Средняя скорость случайного чтения (МБ/с)

Средняя скорость последовательной записи (МБ/с)

Скорость передачи данных и средняя задержка — основные показатели для типичного варианта использования SSD. Но есть и другой класс тестов — синтетические. Они не столько отражают производительность привода в реальных задачах, сколько показывают разницу во внутренней архитектуре устройства, выпукло демонстрируя отличия в этой архитектуре. Поэтому разница между показателями может быть кардинальной.
Например, последовательное заполнение привода ставит целью оценить размер кэша SLC. Этот тест выходит далеко за пределы любой реальной рабочей нагрузки, а результаты сильно отличаются для разных приводов.
Последовательное заполнение привода: средняя скорость (МБ/с)

Управление питанием SSD жизненно важно для любой системы на аккумуляторах. Система управления питания поддерживает несколько режимов, в том числе простой режим неактивности (SATA ALPM, NVMe APST и PCIe ASPM), который больше подходит для настольных компьютеров и в таблицах обозначен как ‘Desktop Idle’, и режим глубокого сна, в котором задействуются все энергосберегающие функции, включая DevSleep (‘Laptop Idle’).
Потребление энергии в неактивном режиме (милливатт)

Даже без активации этих функций накопители потребляют в неактивном режиме очень мало: от 194 до 1152 мВт.
Скорость пробуждения (микросекунд)

Заключение
Накопители SSD очень сильно продвинулись за последние 10 лет. В частности, у них кардинально снизилось энергопотребление. В режиме ожидания оно гораздо меньше 1 ватта, а судя по логам, SSD обычно проводит в режиме ожидания 99% времени.
Технический прогресс в этой области действительно потрясающий, а некоторые производители считают, что накопители NVMe можно использовать вместо DRAM в неких специфических задачах. Так делает Intel с модулями Optane. В то же время средняя задержка чтения в PCI 4.0 сильно упала, поэтому обычный пользователь может и не заметить разницы PCI 4.0 по сравнению с Optane.
На правах рекламы
Наши эпичные серверы используют only NVMe сетевое хранилище с тройной репликацией данных. Вы можете использовать сервер для любых задач — разработки, размещения сайтов, использования под VPN и даже получить удалённую машину на Windows! Идей может быть много и любую из них поможем воплотить в реальность!
Кэш SSD: все, что нужно знать о кэшировании SSD и его повышении производительности

Советы и хитрости

Вы, наверное, слышали о кэшировании SSD (твердотельный накопитель) и о том, как выделение определённой части вашего SSD в качестве кеша может помочь повысить производительность вашей системы, но что именно такое кеш SSD?
Если вы здесь для этого, у нас есть всё, что вам нужно знать об этом.
Что такое кеш?
Прежде чем мы перейдём к обсуждению кешей SSD, давайте сначала определим, что такое кеш…
Вы можете думать о тайнике как о складском помещении, где предметы хранятся для будущего использования.
В случае компьютерного кеша — это пространство в аппаратном обеспечении вашего компьютера (ОЗУ, ЦП, жёсткий диск, SSD), в котором хранятся как недавно, так и часто используемые программы, чтобы ваш компьютер мог легко загрузить их в следующий раз, когда они вам понадобятся. По сути, это сокращает время загрузки и помогает программам выполняться намного быстрее.
Хорошим примером кеша является кеш вашего веб-браузера. Изображения, HTML, Javascript и другие данные кэшируются локально, когда вы просматриваете Интернет, поэтому часто посещаемые вами страницы загружаются быстрее при следующем их открытии.
Что такое SSD-кеш?
Кэш SSD — это когда вы используете часть или весь SSD в качестве кеша (минимум 18,6 ГБ). Итак, кэширование SSD, также известное как флеш-кеширование, представляет собой процесс хранения временных данных на микросхемах флэш-памяти SSD. А поскольку твердотельные накопители используют быстрые ячейки флэш-памяти NAND, запросы данных и общая производительность вычислений будут значительно выше.
Фактически, если вы используете только обычный жёсткий диск, то кэширование SSD является одним из самых экономичных обновлений, которые вы можете сделать в обмен на более быструю загрузку и загрузку. Мы говорим о переходе с 30 секунд загрузки (или дольше) до 8 секунд (более или менее), и вы получите более отзывчивую систему в целом. Мы расскажем больше о том, как это может сэкономить вам деньги в ближайшее время.
Однако, если вы уже используете SSD в качестве единственного средства хранения, то от кэширования SSD вы ничего не выиграете.
Типы кэширования SSD
Существуют разные типы кэширования SSD, которые могут использоваться, соответственно, в разных обстоятельствах:
- Кэширование SSD с обходом записи
- Кэширование SSD с обратной записью
- Кэширование SSD со сквозной записью
Кэширование SSD с обходом записи
Кэширование SSD с обходом записи — это процесс прямой записи данных в основное хранилище с первоначальным обходом кеша. Однако, поскольку данные, которые в конце концов кэшируются, сначала отправляются на фактический SSD, процесс перемещения этих данных обратно в кеш будет медленнее. В конце концов, нет кеша, который помогал бы перемещать вещи в кеш (это просто кеши полностью вниз…).
Тем не менее, эта система невероятно эффективна, потому что данные копируются обратно в кэш только тогда, когда данные распознаются как «горячие» (другими словами, когда данные определены для частого использования). Это означает, что кеш не будет переполнен нерелевантными данными и будет кэшировать только те данные, для которых кэширование наиболее выгодно.
Кэширование SSD с обратной записью
Кэширование SSD с обратной записью сначала записывает данные в кэш SSD, а затем отправляет их на основное устройство хранения только после того, как данные были полностью записаны в кэш SSD.
Помните, что кэширование намного лучше, чем обычные операции чтения-записи, поэтому это приводит к низкой задержке как для операций записи, так и для операций чтения. Но в случае сбоя кеша кэшированные данные будут потеряны. Вот почему производители, использующие этот тип кэширования, вкладывают средства в продукты, которые делают дублирующие записи, чтобы обойти проблему.
Кэширование SSD со сквозной записью
Кэширование SSD со сквозной записью одновременно записывает данные как в кэш SSD, так и в хранилище основного устройства. В наши дни это также широко используемые решения для кеширования и гибридного хранения.
Данные будут доступны из кэша SSD только тогда, когда хост подтвердит, что операция записи завершена как в кэше SSD, так и на основном устройстве хранения.
Какой тип кэширования SSD лучше всего подходит для вас?
- Кэширование SSD с обходом записи лучше всего подходит, если вы не хотите переполнять кеш данными, которые вы не будете использовать очень часто. Однако это приводит к увеличению задержки при загрузке распознанных «горячих» данных обратно в кэш.
- Кэширование SSD с обратной записью является самым быстрым, поскольку ему не нужно ждать завершения базового хранилища. Но даже несмотря на то, что это решает проблемы с задержкой, данные всегда будут подвергаться риску, поскольку сбой питания может повредить данные.
- Кэширование SSD со сквозной записью — наиболее распространённый сегодня тип кэширования. Данные записываются как в кеш, так и в базовое хранилище одновременно, и запись считается завершённой только тогда, когда она записывается в ваше хранилище. Это делает его самым безопасным, но и самым медленным методом.
Как работает кэширование SSD?
Независимо от того, как данные кэшируются, файлы, необходимые для запуска программы, будут загружаться с накопителя в соответствии с иерархией различных уровней временного хранилища.
Обычно это начинается с самой быстрой кэш-памяти вплоть до самой медленной кэш-памяти, в зависимости от времени отклика данных. Таким образом, быстро отвечающие файлы отправляются прямо в кеш ЦП, а данные с более медленным откликом поступают в ОЗУ, а затем — по крайней мере, в приведённом ниже примере — жёсткий диск появляется последним.
Хитрость? Хотя жёсткий диск является самым медленным из них — а это означает, что вы не хотите получать доступ к данным, которые находятся там слишком часто, — он также содержит большую часть ваших данных.

Однако, когда кэширование SSD настроено, оно находится между ОЗУ и жёстким диском, поскольку его скорость кеширования выше, чем у жёсткого диска (но всё же медленнее, чем у ОЗУ).

Добавление в систему ещё одного места для поиска данных — вот что делает всё быстрее, поскольку кэш SSD значительно быстрее, чем обычные кеши жёстких дисков.
Как это помогает мне сэкономить деньги?
Покупка SSD того же размера, что и ваш жёсткий диск, стоит очень дорого. Однако небольшой SSD не должен прожечь огромную дыру в вашем кошельке. Так что, если SSD на 500 ГБ для вас слишком дорого, SSD на 64 ГБ или даже 32 ГБ должно быть более чем достаточно, чтобы дать вам огромный прирост скорости без чрезмерных затрат.
Что мне нужно для правильного выполнения кэширования SSD?
Если вы используете процессор Intel
Использовать память SSD NAND в качестве кеш-памяти в системе Intel очень просто, и всё, что вам нужно, это следующее:
- Системная плата для настольных ПК на базе набора микросхем Intel ® Z68, Z87, Q87, H87, Z77, Q77 или Intel ® H77 Express
- Процессор Intel ® Core ™ в корпусе LGA 1155 или 1150
- Системная BIOS с режимом SATA, установленным на RAID
- Программное обеспечение Intel ® RST версии 10.5 или более поздней версии
- Один жёсткий диск или несколько дисков в одном томе RAID
- Твердотельный накопитель (SSD) минимальной ёмкостью 18,6 ГБ
- Операционные системы Windows 7, Windows 8 или Windows 10 (32-разрядная и 64-разрядная версии)
Прежде всего настройте режим SATA в BIOS.
Шаг 1. Включите компьютер и несколько раз нажмите клавишу F2, чтобы загрузить меню BIOS.
Шаг 2: перейдите к опции » Настроить диски SATA».
Шаг 3: Выберите настройку для Chipset SATA Mode и измените значение на RAID.
Шаг 4: Нажмите клавишу F10, чтобы сохранить настройки и перезапустить систему.
Включение технологии Intel Smart Response (SRT)
Для использования кэширования SSD, убедитесь, что вы установили все необходимые драйверы устройств и последней версии программного обеспечения Intel SRT здесь. Когда закончите, выполните следующие действия:
Шаг 1. Откройте и запустите программное обеспечение Intel RST.
Шаг 2: Нажмите Включить ускорение в меню «Состояние» или » Ускорение».

Шаг 3: Выберите SSD для устройства кэш-памяти.
Шаг 4: Выберите размер SSD для выделения в качестве кэш-памяти.
ПРИМЕЧАНИЕ. Оставшееся пространство на твердотельном накопителе можно использовать для хранения данных с помощью однодискового тома RAID 0, который создаётся автоматически.
Шаг 5: Выберите том (диск) RAID, который вы хотите ускорить.
Шаг 6: Выберите либо расширенный режим (сквозная запись), либо расширенный режим (обратная запись).
Примечание: Максимальный режим оптимизирует производительность ввода / вывода, а расширенный режим оптимизирует защиту данных. Если вы не уверены, выберите расширенный режим. При этом данные одновременно записываются как в кэш SSD, так и в хранилище основного устройства, чтобы гарантировать, что данные не будут потеряны при отключении питания или внезапном отключении питания.

Шаг 7: Щёлкните ОК. Страница должна обновиться, и должно появиться приглашение показать, что новая конфигурация ускорения успешно настроена. После всего этого ваши данные будут кэшироваться на SSD!
Если вы используете процессор AMD
Благодаря недавнему выпуску StoreMI (проприетарного программного обеспечения от AMD, которое функционирует так же, как программное обеспечение Intel Smart Response Technology), пользователи AMD теперь могут использовать преимущества скорости SSD при использовании жёсткого диска в качестве основного устройства хранения.
Прежде чем вы сможете использовать твердотельный накопитель в качестве кэша для жёсткого диска в системе AMD, ваша система должна соответствовать минимальной конфигурации:
- Материнская плата AMD RyZen, серии 4xx
- Минимум 4G RAM (6G RAM для поддержки кеш-памяти RAM)
- Безопасная загрузка НЕ включена (дополнительные сведения см. В документации по системе)
- Никаких других SSD-кешей или программных RAID-решений AMD не установлено.
- В настройках диска SATA в BIOS установлено значение AHCI, а не RAID.
- Операционная система Windows 10
Другие моменты, на которые следует обратить внимание
- StoreMI поддерживает не только настольные компьютеры Ryzen, но также поддерживает настольные процессоры A ‐ series / Athlon (в материнских платах серии 4xx с сокетом AM4) и процессоры Ryzen Threadripper (в материнских платах sTR4).
- Если вы хотите использовать загрузочные уровни размером> 2 ТБ, система должна быть настроена для загрузки в режиме UEFI с загрузочной установкой ОС Windows UEFI, поскольку Windows 10 не поддерживает загрузочные диски> 2 ТБ в устаревшем режиме загрузки.
- Убедитесь, что вы устанавливаете Windows на жёсткий диск, а не на твердотельный накопитель при запуске новой установки Windows, чтобы избежать проблем в долгосрочной перспективе.
- При преобразовании загрузочного диска SSD или NVMe, размер которого превышает 256 ГБ, требуются дополнительные действия. (См. ВАЖНО в разделе » Создание загрузочного многоуровневого диска StoreMI — Добавление твердотельного накопителя к существующему загрузочному диску с жёстким диском » ниже)
Прежде всего, как и в первом шаге выше, найдите в BIOS режим SATA и установите для контроллера SATA значение AHCI, а не RAID. После этого нажмите клавишу F10, чтобы сохранить и перезапустить систему.
ВАЖНОЕ ЗАМЕЧАНИЕ ПО КЭШЕНИЮ SSD: Кэширование SSD может улучшить ваше общее впечатление и производительность, но помните, что это также влияет на срок службы вашего SSD. Прочтите больше о надёжности SSD, чтобы узнать больше об этом.
Включение AMD StoreMI
Убедитесь, что вы загрузили и установили последнюю версию программного обеспечения и драйверов AMD StoreMI, нажав кнопку СКАЧАТЬ СЕЙЧАС, расположенную здесь. При появлении запроса перезагрузите систему, чтобы завершить установку.
Примечание : при использовании экспресс-опции для установки вы можете дополнительно просмотреть текущий диск.
конфигурации с помощью параметра информации AMD Drive Controller, чтобы проверить настройку диска.
Создание загрузочного многоуровневого диска StoreMI — добавление SSD к существующему загрузочному диску HDD
Шаг 1. Нажмите кнопку » Создать загрузочный StoreMI» после открытия приложения StoreMI.
Шаг 2. Преобразуйте существующий загрузочный диск в многоуровневый диск StoreMI.
Примечание. Правильные диски обычно выбираются автоматически, если вы выбираете Auto Drive Select. В противном случае вам будет предложено выбрать, какой диск переходит на быстрый уровень (ваш SSD), а какой диск переходит на медленный уровень (ваш жёсткий диск), если вы выбираете диски вручную. Не беспокойтесь, если вы видите диск, выделенный серым цветом, потому что он используется как диск с данными или как раздел.
Шаг 3 : Нажмите кнопку » Создать», следуйте инструкциям и перезагрузите систему, когда будет предложено.
Шаг 4. При загрузке Windows убедитесь, что система правильно загрузилась из StoreMI, открыв Диспетчер дисков (введя diskmgmt.msc через командную строку ), а также для доступа к возможности расширения тома Windows.
Примечание. Если расширение загрузочного тома не было завершено автоматически, щёлкните правой кнопкой мыши раздел C: в диспетчере дисков и нажмите » Расширить том», чтобы вручную развернуть загрузочные тома.
ВАЖНО: Следует также отметить, что StoreMI поддерживает только быстрый уровень ёмкости 256 ГБ. Если у вас есть SSD, на котором нет операционной системы с объёмом памяти более 256 ГБ, оставшаяся неиспользованная ёмкость будет представлена как дополнительный виртуальный SSD, который вы можете отформатировать и использовать в качестве временного хранилища.
Но помните, что выбор опции Remove StoreMI также удаляет дополнительный виртуальный SSD, который используется в качестве временного хранилища, поэтому убедитесь, что вы сделали резервную копию всего на этом виртуальном SSD, прежде чем выполнять процесс удаления.
Увеличьте ёмкость существующего загрузочного диска SSD
Шаг 1. Откройте приложение StoreMI и нажмите » Создать загрузочный StoreMI».
Шаг 2 : Выберите доступный пустой SSD или HDD из вариантов. Вручную выберите доступный SSD или HDD, если система не делает этого автоматически.
Примечание. Если на твердотельном накопителе имеется более 256 ГБ памяти, появится сообщение о том, что оставшееся пространство можно использовать как обычный диск. Но имейте в виду, что вам понадобится сторонний инструмент миграции, чтобы перенести ОС с загрузочного диска на твердотельный накопитель большей ёмкости. Сделайте это сначала, когда будет предложено, и удалите ОС с меньшего SSD после завершения. Когда процесс миграции завершится, переходите к шагу 3 ниже.
Здесь также стоит отметить, что содержимое виртуального SSD будет удалено, если вы выберете опцию Remove StoreMI.
Шаг 3 : Нажмите кнопку » Создать», следуйте инструкциям и перезагрузите систему, когда будет предложено.
Шаг 4. При загрузке Windows убедитесь, что система правильно загрузилась из StoreMI, открыв Диспетчер дисков (введя diskmgmt.msc через командную строку ), а также для доступа к функции расширения тома Windows.
Кроме того, вы также можете включить функцию кеширования ОЗУ с помощью утилиты конфигурации StoreMI, которая находится на панели задач. Просто откройте утилиту StoreMI, используйте опцию » Изменить настройки» и выберите доступный режим кеширования ОЗУ: 2 ГБ. Чтобы подтвердить изменение, нажмите » Изменить уровень«.
Оценка эффективности
Тесты проводились на самом твердотельном накопителе, на самом жёстком диске, а также на жёстком диске и твердотельном накопителе, настроенных как кэш Smart Response Technology с использованием программного обеспечения Intel SRT. Я скажу вам заранее: возвращение к механическому жёсткому диску для установки Windows и выполнения тестов после того, как в течение многих лет не использовались только твердотельные накопители, было мучительно медленным. Вот мой субъективный анекдот для статьи.
Однако мы не тестировали кэширование SSD с помощью программного обеспечения AMD StoreMI, но мы были бы склонны ожидать аналогичных результатов.
Следует отметить, что до тех пор, пока данные не будут фактически кэшированы на SSD, они будут работать с механического диска. Однако, если бы мы предварительно кэшировали всё программное обеспечение, результаты тестов были бы искажены. Чтобы воспроизвести реалистичную среду тестирования, я установил Windows и всё тестовое программное обеспечение на механический привод, а затем установил кеш, как обычно делает пользователь.
Во-первых, давайте посмотрим на некоторые быстрые результаты «мгновенного удовлетворения». Повлияет ли кэширование SSD на скорость копирования файлов? Как насчёт установки новых программ и загрузки Windows?
Тест копирования файлов
Чтобы проверить производительность копирования файлов, мы скопируем установочный каталог Steam размером 22 ГБ с твердотельного накопителя Samsung 830 Series в каждую настройку диска. Это расскажет нам, как влияет реальная скорость записи. Если кэширование SSD используется правильно, оно должно быть примерно таким же, как у выделенного SSD:

Итак, копирование файла с другого диска на кэшированный диск примерно такое же, как копирование на выделенный SSD. Отсюда программное обеспечение продолжит копирование файлов на механический диск, позволяя перезаписывать данные более важными данными.
Установка программы
Затем мы установим программу с одного и того же SSD на каждую настройку диска. Это должно быть похоже на прямую копию файла. В качестве примера мы используем Photoshop CS6:

Ещё раз, кеш позволяет нам устанавливать на диск со скоростью SSD. Как видите, разница огромна: время сокращается более чем вдвое.
Время загрузки Windows
Всем известно, что самое заметное улучшение производительности, которое может дать SSD, — это время загрузки Windows. В то время как механическим дискам требуется больше минуты для загрузки Windows, SSD может сделать это менее чем за 10 секунд — это первое, что замечает большинство пользователей SSD после установки нового диска. Но что, если вы используете кэшированный диск?

После первой перезагрузки системы важные файлы Windows отправляются в кеш, а раздел кеша работает так же, как SSD.
Далее мы приступим к работе и посмотрим, как кэшированный диск работает в реальных офисных приложениях:
Кэш SSD и SYSMark 2012
SYSMark 2012 — идеальное приложение для тестирования производительности кэша SSD в офисных приложениях. Поскольку он запускает заранее запрограммированные задачи через реальные приложения в реальном времени, он позволит отразить в оценках любые улучшения, внесённые за счёт увеличения времени загрузки программ и данных.
На этот раз мы не выполняли «кондиционирующий прогон», который позволил бы предварительно загрузить большую часть данных в кэш-диск, что немного исказило бы результаты. Вместо этого мы взяли среднее значение трёх прогонов каждого теста. Это даёт нам представление об общей производительности кэш-накопителя SSD после того, как он использовался в течение некоторого времени.
Следует отметить, что даже небольшое увеличение балла является значительным, поскольку это не тест хранилища, а общий тест производительности системы. Мы будем пропускать комплекты, которые ограничены исключительно процессором, а не производительностью хранилища (3D-моделирование, кодирование мультимедиа).
Офисная производительность
Некоторые из этих действий выполняются одновременно для моделирования типичного многозадачного поведения.
| Используемая программа | Задачи выполнены |
| ABBYY FineReader Pro 10 | Объедините несколько отсканированных страниц из сложного документа в зашифрованный документ PDF с помощью оптического распознавания символов (OCR) |
| Microsoft Word 2010 | Используйте передовую программу оптического распознавания текста, чтобы преобразовать отсканированные страницы сложных и простых документов в редактируемые текстовые документы. |
| Adobe Acrobat Pro 9 | Создайте PDF-файл с заполняемыми полями формы из отсканированных страниц |
| Adobe Flash Player 10.1 | Создавайте и просматривайте сложные презентации, включающие картинки и видео. |
| Microsoft Excel 2010 | Используйте программу для работы с электронными таблицами для анализа данных |
| Microsoft Internet Explorer 8 | Используйте несколько вкладок для просмотра блога, интернет-магазина, вики-сайта и сайта социальной сети. |
| Проверить почту в приватном сеансе браузера | |
| Создайте сообщение в блоге и выполните слияние | |
| Microsoft Outlook 2010 | Читайте, создавайте и ищите электронные письма |
| Создать и выполнить правило для почтового ящика | |
| Microsoft PowerPoint 2010 | Создавайте и просматривайте сложные презентации, включающие картинки и видео. |
| Mozilla Firefox 3.6.8 | Используйте несколько вкладок для просмотра блога, интернет-магазина, вики-сайта и сайта социальной сети. |
| Проверить почту в приватном сеансе браузера | |
| Создайте сообщение в блоге и выполните слияние | |
| WinZip Pro 14.5 | Архивируйте разнообразный набор файлов в один зашифрованный файл |

Поскольку в этом пакете выполняется так много общих задач, это, вероятно, самый значимый результат для большинства людей. И, как вы можете видеть, кэш SSD работает очень хорошо, обеспечивая огромный прирост производительности по сравнению со стандартным механическим жёстким диском.
Веб-разработка
| Используемая программа | Выполненные процессы, связанные с веб-разработкой |
| Adobe Photoshop CS5 расширенный | Разместите графику и создайте значки для веб-сайта с помощью приложения для редактирования изображений. |
| Используйте пакетную обработку, чтобы управлять набором фотографий для использования в веб-фотогалерее. | |
| Adobe Premiere Pro CS5 | Объединяйте изображения, видеоклипы и аудио в видео с помощью приложения для редактирования видео, а затем кодируйте видео в формат, готовый к использованию в Интернете. |
| Adobe Dreamweaver CS5 | Соберите графику, галерею и видео в функциональный веб-сайт с помощью приложения для веб-разработки, исправляя ссылки и перемещая документы по мере необходимости. |
| Microsoft Internet Explorer 8 | Предварительный просмотр страниц в нескольких веб-браузерах |
| Mozilla Firefox 3.6.8 |

Точно так же пакет веб-разработки значительно выигрывает как от чистого SSD, так и от SSD-кеша.
Данные / Финансовый анализ
| Используемая программа | Задача выполнена |
| Microsoft Excel 2010 | Создавайте прогнозы продаж по регионам и валютам на основе исторических данных, а также создавайте сводные графики и сводные таблицы с помощью приложения для работы с электронными таблицами. |

Загрузка таблиц в Excel происходит намного быстрее с SSD, и SSD-кеш также хорош в этом тесте.
Управление системой
| Используемая программа (ы) | Выполненные процессы, относящиеся к управлению системой |
| Mozilla Firefox (несколько версий) | Установите, а затем обновите приложение, используя полный установщик приложения и установщики исправлений. |
| WinZip Pro 14.5 | Выполните (смоделированное) полное резервное копирование системы с использованием шифрования, а затем, после внесения изменений в исходный набор данных резервной копии, выполните две зашифрованные инкрементные резервные копии. |
| Восстановить обе резервные копии | |
| Создайте зашифрованный архив различных конфиденциальных файлов для передачи по незащищенным каналам связи и еще один незашифрованный архив различных файлов. | |
| Распакуйте исходную резервную копию и две инкрементные резервные копии | |
| Командная строка WinZip 3.2 | Распакуйте зашифрованные и незашифрованные архивные файлы |

Этот тест включает в себя чтение и запись большого количества файлов с шифрованием и сжатием. Опять же, кеш SSD работает так же хорошо, как и автономный SSD.
Кроме того, позвольте мне напомнить вам, что это общий тест производительности системы, поэтому тот факт, что оценки значительно улучшаются при простой установке диска за 100 долларов и использовании его в качестве кеша, довольно впечатляет и говорит нам почти всё, что нам нужно знать.
Но прежде чем делать какие-либо выводы, давайте посмотрим на игровую производительность:
Игровая производительность
Чтобы увидеть, как кэш-накопитель SSD может повлиять на производительность в играх, мы загрузим несколько игр и измерим время загрузки уровня. Тесты выполнялись трижды (чтобы данные можно было кэшировать) с перезагрузкой между каждым запуском (в противном случае в игру вступает ОЗУ).



После кэширования игры уровень загружается так же, как на выделенном SSD. Обратите внимание: все они загружаются примерно на 7 секунд быстрее с кешем SSD или SSD. И, если вы играли в Skyrim, вы знаете, что эти дополнительные 7 секунд здесь и там могут иметь огромное значение.
Если вам интересно, сколько времени или сколько загрузок требуется для кэширования игры, ответ — по моему опыту — один раз. Возможно, вам придётся мириться с нагрузкой на уровне 15-20 секунд, если вы не играли в игру какое-то время, но как только вы это сделаете, данные будут кэшированы, и они снова начнут работать с SSD. Всё это делается без какого-либо вмешательства со стороны пользователя.
Вывод
Ясно, что результаты тестов говорят сами за себя.
Если вы спрашиваете, стоит ли использовать SSD в качестве кеш-памяти, то я предполагаю, что вы не читали остальную часть статьи, потому что ответ на этом этапе должен быть явно очевиден. Иногда люди делают что-то из-за менталитета толпы; это плохая идея, но все так делают, так почему бы и нет? Однако в других случаях все делают то же самое просто потому, что это работает. В этом случае тот факт, что многие пользователи делают это как дешёвый способ повысить производительность, является доказательством того, что иногда толпа права.
Если у вас уже есть SSD в качестве основного диска и на вашем механическом диске есть игры и большие файлы. Всё равно стоит приобрести второй SSD, который будет использоваться в качестве кеша для механического диска. Эти небольшие вложения в приобретение твердотельного накопителя ёмкостью 32 или 64 ГБ и использование его в качестве кеш-памяти жёсткого диска будут стоить ваших денег для повышения производительности.
Фактически, поскольку твердотельные накопители становятся всё дешевле и дешевле, у вас не должно быть причин не покупать твердотельный накопитель на 64 ГБ для использования в качестве кэш-памяти для жёсткого диска.
Sorry, you have been blocked
This website is using a security service to protect itself from online attacks. The action you just performed triggered the security solution. There are several actions that could trigger this block including submitting a certain word or phrase, a SQL command or malformed data.
What can I do to resolve this?
You can email the site owner to let them know you were blocked. Please include what you were doing when this page came up and the Cloudflare Ray ID found at the bottom of this page.
Cloudflare Ray ID: 7a6dae894c6c248b • Your IP: Click to reveal 88.135.219.175 • Performance & security by Cloudflare