Буфер памяти ssd на что влияет
Обновлено: 21.11.2024
Большинство современных твердотельных накопителей содержат встроенную память DRAM, обычно из расчета 1 ГБ ОЗУ на 1 ТБ флэш-памяти NAND. Эта оперативная память обычно предназначена для отслеживания того, где физически хранится каждый адрес логического блока во флэш-памяти NAND — информация, которая меняется при каждой операции записи из-за выравнивания износа, которого требует флэш-память. Эта информация также должна использоваться для завершения любой операции чтения. Стандартное соотношение DRAM и NAND обеспечивает достаточно оперативной памяти для контроллера SSD, чтобы использовать простую и быструю таблицу поиска вместо более сложных структур данных. Это значительно сокращает работу, которую должен выполнять контроллер SSD для обработки операций ввода-вывода, и является ключом к обеспечению стабильной производительности.
Твердотельные накопители без DRAM могут быть дешевле и меньше по размеру, но поскольку они могут хранить свои таблицы сопоставления только во флэш-памяти, а не в гораздо более быстрой DRAM, это приводит к существенному снижению производительности. В худшем случае задержка чтения удваивается, так как потенциально каждый запрос на чтение от хоста сначала требует чтения флэш-памяти NAND для поиска сопоставления логического адреса с физическим, а затем второго чтения для фактического извлечения запрошенных данных.
Спецификация NVMe версии 1.2 представила промежуточный вариант для твердотельных накопителей. Функция буфера памяти хоста (HMB) использует возможности DMA PCI Express, чтобы позволить твердотельным накопителям использовать часть DRAM, подключенной к ЦП, вместо того, чтобы требовать, чтобы твердотельный накопитель имел собственную DRAM. Доступ к памяти хоста через PCIe медленнее, чем доступ к встроенной DRAM, но все же намного быстрее, чем чтение из флэш-памяти. HMB не предназначен для полноразмерной замены встроенной памяти DRAM, которую используют основные твердотельные накопители. Вместо этого все твердотельные накопители, использующие функцию HMB, имеют целевой размер буфера в десятки мегабайт. Этого достаточно, чтобы диск кэшировал информацию о сопоставлении для десятков гигабайт флэш-памяти, что достаточно для многих потребительских рабочих нагрузок. (Наш тест ATSB Light затрагивает только 26 ГБ диска, и только 8 ГБ диска используются более одного раза.)
Кэширование, безусловно, является одной из самых известных сложных проблем в информатике, и ни один из поставщиков контроллеров SSD не хочет делиться тем, как именно их контроллеры с поддержкой HMB и встроенное ПО используют предоставленную им хостовую DRAM, но можно с уверенностью предположить. стратегии кэширования сосредоточены на сохранении самой последней и часто используемой картографической информации. Области диска, к которым часто обращаются, будут иметь задержки чтения, аналогичные задержкам для обычных дисков, в то время как данные, которые не использовались какое-то время, будут доступны с производительностью, напоминающей производительность традиционных твердотельных накопителей без DRAM.
Контроллеры SSD имеют некоторый объем памяти, встроенный в сам контроллер, но обычно этого недостаточно для кэширования значительной части таблиц сопоставления NAND. Например, высокопроизводительный NVMe SSD-контроллер Marvell 88SS1093 Eldora имеет множество встроенных буферов с емкостью в килобайтах и совокупной емкостью менее 1 МБ. Некоторые поставщики твердотельных накопителей намекнули, что их контроллеры имеют значительно больше встроенной памяти — Western Digital говорит, что именно поэтому их твердотельный накопитель SN520 NVMe не использует HMB, но они отказались сообщить, сколько памяти находится на этом контроллере. В последние годы мы также видели некоторые другие накопители, которые явно не попадают в категорию без DRAM или соотношение 1 ГБ на ТБ. Toshiba OCZ VX500 использует часть DRAM объемом 256 МБ для модели емкостью 1 ТБ, но диски меньшей емкости полагаются только на память, встроенную в контроллер (и, конечно, Toshiba не раскрывает подробности архитектуры этого контроллера).
Toshiba RC100 запрашивает у операционной системы блок из 38 МБ оперативной памяти хоста. ОС может предоставить больше или меньше предпочтительного объема диска, и если RC100 получит менее 10 МБ, он вообще откажется от попыток использовать HMB. Драйверы NMVe для Linux и Windows предоставляют некоторые настройки для функции HMB, что позволяет нам протестировать RC100 с включенным и отключенным HMB. Теоретически мы могли бы также протестировать различные объемы памяти хоста, выделенной для SSD, но это было бы довольно трудоемким упражнением и не отражало бы никаких реальных вариантов использования, потому что рассматриваемые настройки драйвера настолько неясны и не ясны. стоит изменить их значения по умолчанию.
Размер рабочего набора
Мы можем ясно увидеть влияние кэша HMB, измерив производительность произвольного чтения при увеличении рабочего набора тестов — объема данных, к которым активно осуществляется доступ. Когда все операции случайного чтения происходят из одного и того же диапазона 1 ГБ, RC100 работает намного лучше, чем когда случайные операции чтения охватывают весь диск. Когда рабочий набор приближается к 32 ГБ, производительность резко падает.Когда RC100 тестируется с выключенным HMB, производительность так же хороша для рабочего набора 1 ГБ (и фактически существенно лучше для модели 480 ГБ), но рабочие наборы большего размера почти так же медленны, как и полный диапазон. случайные чтения. Похоже, что контроллер RC100 может иметь около 1 МБ встроенной памяти, что намного быстрее, чем доступ к DRAM хоста по каналу PCIe.
Большинство популярных твердотельных накопителей обеспечивают почти одинаковую производительность произвольного чтения независимо от размера рабочего набора, хотя производительность в этом тесте зависит от других факторов (например, от перегрева). Диски, использующие контроллеры Phison E7 и E8 NVMe, являются заметным исключением, поскольку производительность этих дисков значительно снижается по мере роста рабочего набора, несмотря на то, что эти диски оснащены достаточным количеством встроенной памяти DRAM. Так что же такое SSD-кэш и стоит ли его изучать? Вот все, что вам нужно знать о кэше SSD и о том, как он повлияет на ваш ПК.
Сегодня мы рассмотрим еще один распространенный термин, связанный с вычислениями, который обещает повысить производительность за счет изящного использования твердотельного накопителя небольшого размера в качестве кэша. Вспышка в кастрюле или стоящая инвестиция? Мы углубились в тему, чтобы пролить свет на все, что нужно знать о кэшировании SSD. Показать содержание Что такое SSD-кэш?
Кэш SSD, или, как его правильно называют, кэширование SSD, – это система управления данными, разработанная Intel в начале 2010-х годов и использующая небольшой твердотельный накопитель в качестве кэша для более крупного жесткого диска. Кэш — это аппаратная или программная память, предназначенная для хранения регулярно используемых данных и обеспечения быстрого доступа к ним. В случае ЦП кеш состоит из флэш-памяти, доступ к которой осуществляется быстрее, чем к стандартной системной ОЗУ, в то время как кеш браузера хранит компоненты с часто посещаемых сайтов, чтобы они загружались быстрее, что устраняет необходимость получения данных через Интернет с хостинг-сервера. . Таким образом, кеш позволяет системе получать доступ к данным намного быстрее, чем если бы они были извлечены и прочитаны из места их последнего хранения на жестком диске, что приводит к повышению производительности для задач, зависящих от памяти. Основная концепция SSD-кэширования заключается в том, чтобы предоставить гораздо более быстрый и более отзывчивый SSD в качестве временного хранилища для часто запрашиваемых данных, таких как основные рабочие сценарии ОС и файлы, хранящиеся на более медленном обычном жестком диске. Скорость твердотельного накопителя примерно в десять раз выше, чем у жесткого диска для большинства задач, при этом твердотельный накопитель лучше справляется с операциями чтения небольших дисков с произвольным доступом, которые определяют основную часть повседневных задач в ОС. В действительности для кэширования SSD потребуется небольшой SSD, скажем, 40 ГБ, в сочетании с традиционным жестким диском большего размера, например, объемом 1 ТБ. Совместимость SSD-кэширования
Intel разработала технологию кэширования SSD Smart Response Technology (SRT), и запатентованная версия этого механизма доступна только на материнских платах с поддержкой SRT и чипсетах Intel. Что еще хуже, Intel не использует технологию всех своих наборов микросхем, что ограничивает аппаратные конфигурации, которые может ожидать пользователь, при этом сохраняя возможность запуска SSD-кэширования. Системы с наборами микросхем AMD требуют, чтобы пользователь использовал стороннее программное обеспечение для эмуляции кэширования SSD, поскольку AMD до настоящего времени не разработала и не интегрировала конкурирующую технологию в свои наборы микросхем. К счастью, существует множество программных решений, таких как FancyCache и PrimoCache. Однако они общеизвестно ненадежны и вызывают массу проблем. Ограничения кэширования SSD
Кэширование SSD обеспечивает ощутимую выгоду только тогда, когда система находится в состоянии, которое мы называем «чистым», например при загрузке ПК после его выключения, перезагрузке Windows или первоначальном запуске приложения после перезагрузка или отключение питания. Существует иерархия памяти, которая проходит от кеша ЦП к ОЗУ, кешу SSD, а затем к жесткому диску. При перезапуске кеш ЦП и ОЗУ очищаются, и кеш SSD становится местом хранения данных. Причина этого в том, что во всех остальных случаях есть вероятность, что важные, часто используемые данные уже хранятся в оперативной памяти системы. Так как оперативная память поразительно быстрее, чем любое хранилище на жестком диске, будь то твердотельный накопитель или жесткий диск, кэширование на твердотельном накопителе никак не влияет на скорость, поскольку данные из ОЗУ уже доступны гораздо быстрее. Как видите, основное преимущество кэширования SSD наиболее очевидно при загрузке Windows: ОС становится пригодной для использования гораздо раньше, чем в системе без кэширования SSD. Точно так же запуск Steam и вашей любимой игры после перезагрузки будет намного быстрее с SSD-кэшированием. Если вы работали без перезагрузки в течение нескольких часов и открывали, а затем закрывали различные программы и решили открыть их еще раз, SSD никак не ускорит процесс. Продолжая тему ограничивающих факторов, отметим, что внутренняя работа SRT является строго охраняемым секретом, и Intel не предоставляет подробностей о том, как технология проверяет, какие данные достойны кэширования. Однако заметные тенденции указывают на то, что существует определенное ограничение на размер данных, которые можно кэшировать, максимум несколько МБ. Для более крупного диска система вернется к более медленному источнику данных на жестком диске. С точки зрения пользователя это означает, что программы, которые полагаются на небольшие пакеты данных, работают хорошо, а те, которые зависят от обширных медиафайлов, таких как видео и высококачественные аудиофайлы, — нет. Если вы запускаете множество приложений одновременно, преимущества будут очевидны. Если вы запускаете одну и ту же программу изо дня в день и работаете с файлами большого формата, преимущества будут незначительными. Стоит ли SSD-кэширование?
После того как SSD-кэширование настроено и запущено, оно работает само по себе, практически без участия пользователя. Преимущества, если они есть, создаются пассивно, что делает решение простым. Однако настройка кэширования даже с набором микросхем Intel SRT — сложная задача, требующая использования правильных драйверов, соответствующей настройки BIOS и запуска ее в качестве конфигурации RAID, установки Windows и драйверов Rapid Storage Technology, управления режимами, и так далее. Суть в том, что это значительно сложнее, чем использование твердотельного накопителя большой емкости и простая установка Windows. Кэширование SSD обходится гораздо дешевле, чем покупка SSD разумного размера. Тем не менее, по мере того, как технология становится все более распространенной, цена даже на 100 ГБ или более, SSD становится экспоненциально более доступной с течением времени. Следовательно, комбинация кэш-памяти SSD и жесткого диска заменяется более бюджетными твердотельными накопителями в качестве дома для ОС, а жесткий диск большего размера используется для хранения мультимедиа, к которому редко обращаются. Аналогичным образом появление гибридных SSD или SSHD также повлияло на популярность кэширования SSD. SSHD — это не что иное, как обычный жесткий диск с частью флэш-памяти, известной как NAND. Эти две части интегрированы и являются частью одного и того же решения для хранения данных. На практике флэш-память отслеживает действия пользователя, чтобы определить, к каким приложениям, данным и загрузочным элементам чаще всего обращаются, а затем сохраняет их, значительно повышая производительность системы. Наш вердиктНа наш взгляд, над основной концепцией SSD-кэширования стоит задуматься. На практике результаты недостаточно очевидны, чтобы выбрать SSD-кэширование, а не тратить больше на SSD большего размера и запускать все, от Windows до ваших любимых шутеров, с одного и того же диска, позволяя оперативной памяти делать свое волшебство без помех. р> В спецификации NVMe 1.2 представлена новая функция под названием Host Memory Buffer или HMB (не путать с графической памятью HBM), которая обещает значительно повысить производительность твердотельных накопителей PCIe NVMe. В этой статье мы объясним, что это такое, как оно работает и как ему удается повысить производительность твердотельных накопителей, обладающих такой возможностью. Большинство современных твердотельных накопителей содержат встроенную микросхему памяти DRAM, обычно с соотношением 1 ГБ DRAM на каждый 1 ТБ хранилища . Это ОЗУ обычно предназначено для отслеживания того, где физически расположен каждый логический блок информации, хранящейся в памяти NAND — информация, которая изменяется в каждом цикле записи, и к ней обращаются каждый раз, когда выполняется операция чтения.
Обсуждаемое нами стандартное соотношение DRAM и NAND обеспечивает достаточное количество оперативной памяти для контроллера SSD, чтобы использовать очень гибкую таблицу быстрого поиска вместо использования более сложных структур данных, которые были бы значительно медленнее. Это значительно сокращает работу, которую должен выполнять контроллер SSD для выполнения операций ввода-вывода, и является ключом к стабильной производительности.
Твердотельные накопители без DRAM могут быть намного дешевле и даже меньше, но, поскольку они могут хранить индексные таблицы данных только во внутренней флэш-памяти, их производительность сильно снижается. В худшем случае задержка чтения может удвоиться, поскольку для каждой операции чтения потребуется одна операция, чтобы узнать, где находятся физические данные, и еще одна, чтобы прочитать сами данные. Что такое буфер памяти хоста?Как мы уже говорили в начале, спецификация NVMe 1.2 представила эту новую возможность под названием Host Memory Buffer или HMB. Эта функция использует возможности прямого доступа к памяти интерфейса PCI-Express, чтобы позволить твердотельному накопителю использовать часть DRAM-памяти системного ЦП, а не требовать, чтобы твердотельный накопитель имел собственную динамическую оперативную память. Другими словами, твердотельный накопитель использует небольшую часть системной оперативной памяти для выполнения этих операций, и, поскольку он предназначен не для «замены» внутренней динамической памяти твердотельных накопителей, а для ее дополнения, на самом деле он не удаляет много оперативной памяти. из системы, просто величины порядка десятков (менее 100 МБ), более чем достаточно для того, что вам нужно. Это правда, что доступ к DRAM через PCIe намного медленнее, чем доступ к микросхеме DRAM, которая находится в самом устройстве, но даже в этом случае производительность значительно повышается в отношении чтения информации из флэш-памяти SSD. Как HMB влияет на производительность?Как мы объясняли ранее, лучшим вариантом для повышения производительности является наличие на SSD собственной памяти DRAM, так как доступ будет намного быстрее. Второй вариант — через буфер памяти хоста, который работает через PCIe с системной оперативной памятью, и худший вариант — не иметь ничего из этого и использовать кеш-память собственной флэш-памяти SSD. Влияние кэша HMB можно отчетливо увидеть, измерив производительность произвольного чтения SSD при увеличении рабочей нагрузки (объем данных, к которым активно осуществляется одновременный доступ). Отчетливо видно, что пока рабочая нагрузка не достигнет 24 ГБ, производительность SSD остается очень и очень стабильной и только начинает падать с этой цифры. Однако при отключенном HMB производительность постепенно падает и все больше и больше.
На протяжении тысячелетий человечество вырабатывало проверенную временем формулу технического прогресса. Изобретатели и дизайнеры сначала сосредотачиваются на выяснении общих механизмов новой технологии, а затем обращают внимание на экономическую эффективность и повышение производительности. Это основное эмпирическое правило применимо как к твердотельным накопителям, так и к любой другой дисциплине или отрасли. В этой статье мы рассмотрим важную недавнюю разработку, которая может помочь повысить производительность технологии твердотельных накопителей: буфер памяти хоста (HMB). Компромиссы при проектировании памяти SSDПри разработке твердотельного накопителя (SSD) дополнительная флэш-память может увеличить общую емкость накопителя при одновременном повышении производительности. Однако, как и при разработке любого другого продукта, инженеры должны найти компромисс между ресурсами и затратами. Для конструкции твердотельных накопителей существует два способа повысить производительность каждого устройства сверх его существующих возможностей: либо увеличить плотность флэш-памяти, либо установить дополнительную флэш-память за счет дополнительного физического пространства. Однако, поскольку пространство на печатной плате (PCB) ограничено независимо от форм-фактора привода, это обычно достигается за счет исключения других компонентов на плате. Многие поставщики сейчас решили отказаться от быстрой, но дорогой DRAM (динамической памяти с произвольным доступом) из конструкции своих дисков, чтобы добиться снижения затрат. Однако, как высокоскоростная энергозависимая память, DRAM имеет свои собственные цели и не может быть легко заменена. Дизайн без DRAM также имеет свои собственные проблемы с точки зрения производительности и настройки целостности сигнала во время передачи данных, особенно в условиях произвольного чтения большого объема.
Что такое буфер памяти хоста?Итак, как дизайнеры могут устранить недостатки твердотельных накопителей без DRAM? Краткий ответ — технология Host Memory Buffer (HMB). HMB – это технология, позволяющая твердотельным накопителям активно повышать производительность за счет использования ресурсов памяти центрального процессора. NVMe (NVM Express или Non-Volatile Memory Express) – это открытый стандарт, который определяет, как получить доступ к энергонезависимой памяти компьютера, такой как флэш-память NAND и твердотельные накопители. Спецификация NVMe 1.2 была первой, в которой появилась функция буфера памяти хоста.
В частности, в NVMe 1.2 описано, как HMB позволяет выделять память хоста для использования твердотельных накопителей. Любой твердотельный накопитель с правильной конфигурацией может связываться с хостом, чтобы указать минимальный размер буфера, который ему требуется. Спецификация NVMe 1.2 также включала условия и ограничения для различных целей, например для обеспечения того, чтобы данные не были потеряны или повреждены в случае случайного извлечения диска. Чтобы использовать функцию HMB, ее должны поддерживать и диск, и операционная система. К счастью, Microsoft разрешила поддержку HMB с момента обновления Windows 10 Creators Update (т. е. версии 1703), выпущенного в 2017 году. Почему ИСБ? От твердотельных накопителей с DRAM к без DRAMВ более ранних конструкциях твердотельных накопителей для повышения эффективности обработки данных использовались как энергонезависимые флэш-накопители, так и энергозависимая оперативная память. В частности, устройства DRAM используются в качестве буферов по двум причинам:
|