Windows ssd как кэш windows

An SSD is the best upgrade for any computer due to its fast access times. But that also means the applications stored on a slower HDD will open slowly as before. Does that mean you have to invest in a larger SSD if you want all your apps to speed up?

use-ssd-as-cache-for-hhd

Not exactly. Storing the frequently used files to an SSD will result in the same snappiness with a slow-moving HDD.

So, tag along as I set up an SSD cache.

What is SSD Caching?

SSD caching refers to storing files temporarily on a fast solid-state drive which normally resides on a hard drive. That way, when you want to access a file from an HDD, accessing it from SSD is very quick.

SSD caching helps you when you have many files on a hard drive. Normally opening it  will take a long time. In that case, the SSD cache will act like a nitrous boost working in tandem with the old drive.

But how does the caching work?

When a program needs data, it first looks at the RAM to see if it has loaded it. The next stop is at the disk drive where the application is installed.

For hard drives, the access time is extremely slow. This has everything to do with how they are designed to store data. A lever seeks the mechanical disk drive until the data is found. As you can expect, this process is extremely slow.

In the case of an SSD, the files are accessed at a much higher rate than HDDs. This is due to the presence of flash-based storage. So if you set an SSD as an intermediate stop in this process, you will require less time to do any activity, let’s say, open an application.

This diagram perfectly shows how an SSD cache positions itself when a data request is made.

ssd-cache-position

SSD caching improves the system’s responsiveness across all workloads whether be it reading files or loading Windows from a cold boot.

Are you wondering if you can repurpose an old laptop’s hard drive? Read our fantastic piece that explains how to do so.

There are different softwares to configure SSD cache for Intel and AMD.

For Intel processors, you have Smart Response Technology (SRT) and Intel Optane. Similarly, the AMD processors use the Store MI app to set the aforementioned cache.

But the big issue prevalent on both these platforms is the support for the app. Just because you have an Intel processor does not guarantee you can use the SRT app. Only a handful of processors, along with motherboard chipsets, guarantee this.

So, let’s start setting up the SSD cache.

For Intel Systems

There are two ways of enabling an SSD cache on your Intel system. First, use Intel’s Smart Response Technology app with your existing flash-based drive. Secondly, purchase an Intel Optane SSD and use its proprietary software.

Due to falling SSD prices and a majority of PC users using a solid state drive purely as their boot drive, SSD caching is getting less popular daily. We will evaluate whether it is worth using it in a later section.

We will go through both ways of enabling SSD cache with Intel systems.

For the SRT app, an Intel second-generation processor or newer is required. And, when using Intel Optane, you must have an Intel 7th processor or newer. For both cases, the underlying approach is similar.

Take a look at a detailed recommended specification from Intel’s website below.

Processor Intel 2nd gen and upwards
Chipset Intel Z68, H77, H87, H97
SSD Size Minimum 16 GB
Interface RAID 0/1

Before setting up the SSD cache, you must set the SATA Configuration as RAID from the BIOS. Now every computer has a different name for this setting, but you can find this inside Advanced or SATA Configuration.

To do this, enter the BIOS by pressing the DEL key. Next, go to Advanced > Integrated Peripherals > SATA Mode > RAID.

Once this is done, let’s set up the SSD cache for an SSD different from Intel Optane.

Here are the steps to enable SSD cache with Intel Smart Response Technology:

Now, restart your computer. The app will load all your frequently used files and apps on to the SSD. Once the caching is done, the applications will start to speed up.

Also, check out our separate post on how to access files on SSD.

Note: It will take some time to copy the files from the hard drive to the SSD. Typically expect this to complete within 15-30 minutes.

Now, let’s go through the steps to set an SSD cache using Intel Optane.

Follow the steps to set up Intel Optane:

You will not feel the snappiness of opening applications instantly. As you restart the computer and continue using different applications, they are copied to the SSD cache. That is when you will see the magic unfold, and the apps will start loading from the fast Optane drive.

Quickly check out our epic guide on how to move games HDD to SSD.

For AMD Systems

The StoreMI app is not available for every AMD processor. It only works on the Ryzen platform with a handful of pre-selected motherboard chipsets. If you are on older architecture, let’s say Bulldozer, the official app will not support it.

Let’s look at the minimum requirements to run AMD Store MI:

Processor AMD Ryzen 2000 and newer
Chipset AMD X570, PRO 565, B550, A520, TRX 40 and WRX 80
SSD Size 32 GB and higher
Interface AHCI

For configuring StoreMi, you must set the SSD in AHCI mode from the BIOS. To do this, navigate to Integrated Peripherals > OnChip SATA Type > AHCI.

Follow the steps to set up the SSD cache on AMD:

Restart your computer to see the changes taking place.

Performance Benefits With SSD Caching  

So, do we finally get an improved performance on our system using an SSD cache? This section will shed light on this.

I have used an AMD Ryzen setup to test the SSD caching. The results will be very similar to an Intel system, so I have not focused on that part.

As on the test bench, I have used a Ryzen 5 2600x processor with an AMD X470 motherboard. Two sticks of 8 RAM on a dual-channel configuration are also present. For the GPU, we have an RTX 2060 on board. And we have Samsung 860 EVO SSD along with a WD 2 TB drive on the storage front.

On to some benchmarks, then.

I have CS: GO, GTA5, and PUBG to test out the loading times of the games.

First up is Counter Strike Global Offensive.

cs-go

With the HDD, the loading time decreases dramatically with the second boot. As for the SSD cache, the loading times decrease right on the first run, with time decreasing with even further loads.

Next on the list is PUBG.

pubg-battlegrounds

With PUBG, loading it for the first time takes longer with both the HDD and the SSD cache. However, during subsequent runs, loading times are decreased with SSD caching while the HDD takes a hit. And we see improved performance when loading the game after restarting the computer.

The last on the game list is GTA 5.

gta-v

GTA 5 benefits after subsequent loads for both the HDD and SSD caching, but the gains are smaller than before. This also has to do with the game being an enormous 120 GB in size.

As an open-world game, the various sections of the map would load, resulting in the cache file being replaced by newer files. So, you are not really benefitting unless you use a huge SSD purely for caching.

Now onto some application benchmarks.

With Premier Pro, we do see a massive increase in loading times on subsequent reboots. The SSD caching really seems to be working here.

premier-pro

So what conclusions can we really draw from the results?

The performance gains are substantial for applications that you use often. And if the applications are smaller, you get fewer loading times, as we saw with GTA 5. The SSD cache really shines when the app learns your usage patterns and copies that data on the SSD.

Now, should you use an SSD cache? Not really, at this point.

These days, SSDs have come down in price to such a level that you can even buy a drive that can parallel an HDD in terms of capacity. And that will always be faster than an SSD cache.

For older systems, even a cheaper 120 GB SSD can provide a nice speed boost. So SSD caching, while useful, is not recommended at this point ‒ unless you get an Optane drive for dirt cheap prices.

Follow our easy step-by-step guide to use an internal SSD for external Storage.

Final Words

In this article, I tried to explain how you can set up an SSD cache irrespective of the processor you use. You can try this out if you have spare flash storage lying around.

So, what are your thoughts on SSD caching? Do let us know in the comments.

Until next time it’s goodbye.

Методика тестирования накопителей образца 2021 года

Большинство посвященных внешним SSD материалов представляют собой обзоры конкретных устройств или «полуфабрикатов» для их сборки. Однако существуют у этих устройств и общие особенности. И даже проблемы. И даже такие проблемы, которые формально не их проблемы — но портят жизнь как раз их пользователям. Некоторым граблям, заботливо подложенным производителями программного обеспечения, уже исполнилось несколько десятилетий, но наступают на них всё новые и новые пользователи. Включая и родившихся позднее этих граблей :)

В общем, в компьютерном мире (как и в любом другом) нет ничего более постоянного, чем временное. Относится это и к политике кэширования внешних накопителей, которую в Microsoft несколько раз меняли, но состояние по умолчанию и сейчас далеко не то что от идеального, но даже и от нормального. Формулируется проблема просто: диск тормозит на записи файлов, хотя показывает нормальные результаты в низкоуровневых утилитах. Дело объяснимое: алгоритмы работы какого-нибудь CrystalDiskMark в принципе не похожи на «рабочие», причем и системное кэширование эта программа не использует (а вот сторонними утилитами производителей SSD ее обмануть можно), однако сама по себе такая разница хорошо подпитывает конспирологические теории о «дутых скоростях» и «попугайных бенчмарках». На деле же проблема легко решается всего одной галочкой в настройках. И длится это уже много лет и много windows — но не меняется. Причем проблема широко не афишируется, поэтому не все в курсе. А создатель системы, повторимся, нормализовать ее поведение либо не может, либо не хочет. Поэтому приходится разбираться самостоятельно.

История вопроса и современное состояние дел

На заре DOS диски не кэшировались — вообще и никакие. Проблем это не вызывало: во-первых, огромное количество персоналок поставлялись исключительно с флоповодами, а кэшировать работу с дискетками — так себе затея; а в-главных, большинство программ были простыми и с дисками нередко работали медленнее, чем те позволяли. Кроме того, свободной памяти для дискового кэша практически не было — 640 КБ были огромным значением в начале 80-х, так что в первые IBM PC на деле столько поставить даже физически было невозможно (а продавались многие компьютеры со 128-256 КБ), но вскоре и этого программистам оказалось маловато. А больше мегабайта DOS «по-человечески» адресовать не могла, причем немалая часть адресного пространства была зарезервирована для доступа к памяти видеоадаптера и других устройств, так что придумывать что-либо серьезное в таких условиях было незачем.

К концу 80-х ситуация с аппаратным и программным обеспечением немного изменилась, так что в MS DOS 4.01 появилось и кэширование дисков. Однако в полной мере актуальным оно стало лишь после начала внедрения Windows 3.x — с псевдомногозадачным режимом работы и прочими ранее (почти) невиданными на РС-рынке особенностями. В целом SmartDrive работал и под DOS, но подавляющее большинство созданных для этой системы программ его участия не замечало. Зато пользователям был повод подискутировать, стоит ли использовать кэширование вообще и включать ли кэширование записи. С последним уже тогда не все обстояло гладко: хотя программа по умолчанию кэшировала только жесткие диски, а не дискеты и прочее подобное, зато и компьютеры было принято выключать просто тумблером. А во времена до АТХ это было эквивалентно простому пропаданию питания — со всеми вытекающими. В частности, и с несохраненными на диск данными.

Поэтому в Windows разработчики немалое внимание уделили последнему вопросу, да и в разработках компьютерных стандартов 90-х Microsoft всегда принимал активное участие. Благодаря чему мы сначала познакомились с экраном «Теперь питание компьютера можно отключить», а затем про него благополучно забыли, благо реализация программного выключения в АТХ позволила завершать работу корректно в 99,(9)% случаев. Соответственно, проблема с кэшированием фиксированных дисков отпала практически полностью. Зато появилась новая напасть: вместо накопителей на сменных носителях в ход пошли сменные накопители.

Первое время эту проблему можно было игнорировать как не массовое явление. Массовым оно начало становиться где-то в конце 90-х — вместе с интерфейсом USB 1.1 (реализация 1.0 оказалась неработоспособной, поэтому про нее никто обычно не вспоминает) и Windows 98 (с относительно нормальной поддержкой нового интерфейса). Но USB-накопители та система напрямую не поддерживала, требовалась установка сторонних драйверов. После чего UMS-устройство (USB Mass Storage — первый допотопный протокол работы) для системы становилось, по сути, еще одним внутренним жестким диском. С одним лишь нюансом: его можно было легко отключить простым выдергиванием провода. А это часто вело к потере данных и даже повреждениям файловой системы — ведь при включенном кэшировании записи и небезопасном отключении данные могут не записаться физически. И ладно еще файл не запишется — вот если в момент выдергивания провода (или устройства целиком — первые USB-флэшки быстро становились популярными во многом из-за компактности) происходила модификация таблиц размещения файлов, то в последних мог оказаться мусор. Приходилось исправлять — и не всегда удавалось ограничиться автоматическим режимом.

По этой причине в более новых Windows 2000 и ME появилась не только непосредственная встроенная поддержка UMS, но и утилита для безопасного отключения накопителей. Казалось бы, проблема решена: тыкаем в иконку на панели задач, выбираем нужное устройство, отключаем, вся информация из кэша корректно записывается на диск, и всё. На деле же количество жалоб продолжало расти, потому что USB-накопители становились все более популярными, а вот отключать их положенным способом пользователи не желали. Кто-то даже и не знал о нем, поскольку способ не интуитивный. А кому-то просто лень было — ведь выдернуть флэшку гораздо проще, чем куда-то тыкать-выбирать. А еще и свои неудобства этот механизм добавлял. Например, пошуршав блинами, внешний жесткий диск сообщал, что отключить его все-таки нельзя. И так несколько раз — до перезагрузки… Или пока пользователю не надоест — и он все-таки просто не дернет провод. Кроме того, в списке доступных для отключения могли оказаться и внутренние диски — так любили себя вести SATA-драйверы Nvidia, например. В итоге появлялась немалая вероятность ошибиться — и отключить что-нибудь не то. С картоводами безопасное отключение и вовсе вело себя некорректно, отключая устройство целиком, так что для простой замены карты памяти его приходилось выдергивать из разъема и включать обратно (а в случае внутренних моделей — вообще перезагружать компьютер). В общем, неудобств было много. При этом простое выдергивание в большинстве случаев к проблемам не приводило, поскольку всё успевало корректно записаться: данные не могут лежать в дисковом кэше бесконечное время, так что достаточно было не хвататься за провод буквально несколько секунд после окончания активности. Но вероятность того, что что-то пойдет не так, все равно была отлична от нуля. А будучи умноженной на десятки миллионов пользователей, по несколько раз в день что-то отключающих, давала и заметное количество сообщений о проблемах.

Как с ними покончить гарантированно? Известно, что построение демократии может начинаться исключительно со строительства концлагерей для недовольных демократией — вот в этом направлении и решено было двигаться. В Windows XP политикой по умолчанию для USB-накопителей стала оптимизация под безопасное отключение. В этом случае система просто полностью выключает кэширование записи, так что проблемы возможны исключительно при отключении устройства непосредственно в процессе обновления информации. Но тут уж сам себе злобный Буратино :) Зато ждать ничего не нужно, никакие кнопочки искать не нужно. Однако скорость прямой записи всегда ниже, чем у записи с кэшированием, так что осталась возможность вернуть всё, как было. Но уже самостоятельно — зная, что хочешь получить и чего лишаешься. Не обошлось без эксцессов и здесь: в частности, эксперименты показали, что кэширование записи Windows XP на самом деле включала только для NTFS-разделов. Так что в случае USB-накопителей с более популярной тогда FAT32 производительность оказывалась ниже, чем при работе с компьютером под управлением Windows 2000 или ME.

Эту проблему в последующих версиях Windows решили: современные оболочки дешевые кэшировать умеют всё. Но только если попросить их об этом специально. Как видно на скриншотах, и в Windows 10, и в Windows 11 по умолчанию запись на внешние накопители не кэшируется. Во всяком случае, пока мы говорим об USB. А вот Thunderbolt-накопители, как правило, работают со включенным кэшированием записи, и намного быстрее. Но и с ними были замечены случаи отключения кэширования по умолчанию — с соответствующим эффектом. Для USB же, повторимся, это стандарт. Поэтому если проблемы с производительностью не нужны, политику кэширования в обязательном порядке нужно менять. К сожалению, глобальной настройки для этого нет (документированной, во всяком случае) — всё делается для каждого накопителя на каждом компьютере индивидуально через «Диспетчер устройств».

Надо ли это делать на самом деле или прогресс интерфейсов и накопителей сделал кэширование ненужным? Как будет показано ниже, все-таки надо. Не всегда — но для тех случаев, когда накопитель используется преимущественно для переноса информации, причем частота операций записи велика, сделать это нужно обязательно. Иначе придется терпеть существенное снижение производительности. Хотя и ситуации, в которых можно ничего не настраивать, тоже существуют. С обычными дешевыми USB-флэшками можно вообще не напрягаться — для большинства из них современные версии Windows кэширование записи включать все равно отказываются. Впрочем, там и скорости работы оставляют желать много лучшего. А вот если нужна именно высокая производительность внешнего SSD, его нужно настроить. Что это даст — посмотрим на конкретном примере. Только разберемся сначала с одним побочным, но тоже важным вопросом: почему не все тесты одинаково полезны.

Особенности работы низкоуровневых утилит и кэширование

К основной теме этот вопрос имеет косвенное отношение, но имеет. К тому же, когда-то нужно и им заняться. Например, почему мы (как правило) не используем тот же CrystalDiskMark и ему подобные при тестировании внешних накопителей? На дворе уже 2022 год, но некоторых читателей до сих пор смущает отсутствие в обзорах SSD (пусть и внешних) столь привычных IOPS. Включая и абсолютно абстрактные для потребительских внутренних моделей показатели на «длинных» очередях и тому подобное.

На деле причина проста: эти результаты иногда интересны в исследовательских целях, но бесполезны на практике. Собственно, и измерение последовательных скоростей в CDM (и других подобных утилитах) может быть полезно разве что для теста пропускной способности интерфейса, но и только. Реальная запись даже одного файла — это несколько обращений и изменений разных блоков. Да и чтение в общем случае — тоже. Поскольку чтобы что-то прочитать из файла, его нужно сначала найти на диске. Правда, с учетом кэширования служебных данных разделов (типа таблицы размещения файлов) современными системами в оперативной памяти последнее не так уж сильно «мешает» SSD, хотя до сих пор важно для жестких дисков. Запись же может испортить жизнь и тем, и другим. Причем чем с меньшими порциями данных мы работаем, тем больше влияние «паразитных» операций на основные. Грубо говоря, записать один файл размером 32 ГБ — это совсем не то же самое, что даже последовательная запись 32 файлов по 1 ГБ. А тем более — 32 тысяч файлов по 1 МБ в нескольких папках, это уже совсем другая история. Но полученные в том же CDM результаты не всегда можно распространять даже на первый, самый «простой» случай.

Низкоуровневые утилиты рассчитаны на получение пиковых показателей быстродействия. И именно под это оптимизирована вся логика их работы. С реальной файловой системой они (как правило) взаимодействуют всего один раз — в начале работы. Тот же CDM создает один файл заданного размера, а дальше читает и пишет данные в его пределах, после чего удаляет весь файл. Это позволяет нивелировать влияние «побочных» (для основной задачи теста — но не с точки зрения практического использования диска) факторов, однако не позволяет оценить размер этого влияния. К примеру, в современных условиях временный файл CDM почти всегда оказывается внутри SLC-кэша SSD, и кэширование сказывается на результатах. Учитывая, что многие контроллеры сейчас читают данные из кэша быстрее (иногда намного), чем из основного массива памяти, а дать данным «отлежаться» низкоуровневые утилиты не позволяют… Эффект понятный.

А вот системный кэш в оперативной памяти CDM и другие низкоуровневые утилиты не используют. Осуществляется это просто: можно «скомандовать» Windows игнорировать кэш и всегда работать непосредственно с диском. А вот для сторонних утилит кэширования такое не предусмотрено. Так что при установке фирменных утилит, например, Samsung или Crucial можно заметить существенное «ускорение» SSD в бенчмарке. А можно увидеть его и без установки этих утилит — достаточно скачать исходники CDM, немного подредактировать («разрешив» кэшировать запись), откомпилировать — и всё. Будут те же безумные скорости, поскольку никакие «дисковые» операции до диска в принципе не достучатся, а все ограничится чтением и записью данных в пределах оперативной памяти.

Применительно к основному вопросу статьи это означает, что проблемы с кэшированием при помощи CrystalDiskMark и подобных программ выявить невозможно — они кэширование все равно не используют. Фактически низкоуровневые «попугаи» показывают лишь то, как накопитель мог бы работать в идеальных условиях. Иногда это тоже интересно. Но на практическое использование не натягивается. Разве что количество иллюстраций в обзоре внешнего SSD увеличить можно, да читателей перестанет смущать отсутствие таких результатов, поскольку все привыкли к их наличию. Вот и вся польза.

Тестирование

Методика тестирования

Исследование скоростных режимов USB 3.2 Gen1, Gen2 и Gen2×2 при помощи быстрого внешнего SSD на контроллере USB—NVMe ASMedia ASM2364

Методика подробно описана в отдельной статье, в которой можно более подробно познакомиться с используемым программным и аппаратным обеспечением. Здесь же вкратце отметим, что мы используем тестовый стенд на базе процессора Intel Core i9-11900K и системной платы Asus ROG Maximus XIII Hero на чипсете Intel Z590, что обеспечивает полную поддержку всех скоростных режимов USB 3.2 вплоть до Gen2×2 включительно.

В свое время мы воспользовались этим для изучения производительности разных режимов USB 3.2 при помощи USB-коробочки Orico M2PVC3-G20, укомплектованной WD Black SN850 2 ТБ. Тогда нас интересовали предельные характеристики, так что применялся и CrystalDiskMark 8.0.1 (который, как уже было сказано, для тестирования внешних накопителей мы обычно не используем). А сегодня он нам точно ничем не поможет. «Стандартный» же набор приложений — вполне. И тестировать будем опять в трех режимах — так картинка полнее.

Комплексное быстродействие

Краткое знакомство с новым тестовым пакетом PCMark 10 Storage

На данный момент лучшим комплексным бенчмарком для накопителей является PCMark 10 Storage, с кратким описанием которого можно познакомиться в нашем обзоре. Там же мы отметили, что не все три теста, включенных в набор, одинаково полезны: лучше всего оперировать «полным» Full System Drive, как раз включающим в себя практически все массовые сценарии — от загрузки операционной системы до банального копирования данных (внутреннего и «внешнего»). Остальные два теста — лишь его подмножества, причем, на наш взгляд, не слишком «интересные». А Full System Drive полезен в том числе точным измерением не только реальной пропускной способности при решении практических задач, но и возникающих при этом задержек. Усреднение этих метрик по сценариям с последующим приведением к единому числу, конечно, немного синтетично, но более приближенных к реальности оценок «в целом» (а не только в частных случаях) все равно на данный момент нет. Поэтому есть смысл ознакомиться с этой. Правда, она немного избыточна для оценки внешних накопителей — все-таки пока еще даже для многих владельцев внешних SSD идея использовать такой не вместе с, а иногда и вместо внутреннего кажется революционной. Однако, по нашему мнению, это как раз сценарии, в которых все преимущества этого класса устройств видны наиболее отчетливо. А для простого переноса файлов от компьютера к телевизору (бывает и такое) можно и внешним винчестером обойтись — оно еще и дешевле выйдет. Кстати, тесты на копирование файлов большого размера входят как раз только в Full System Drive, но не в два других набора PCMark 10 Storage, так что и с этой стороны альтернатив нет.

PCMark 10 Storage Full System Drive

  Кэш включен Кэш выключен
USB 3.2 Gen1 787 789
USB 3.2 Gen2 1030 1028
USB 3.2 Gen2×2 1226 1226

Однако в конечном итоге даже наличие большого количества операций записи (суммарный ее объем превышает 200 ГБ) все равно никак не влияет на результаты. Вообще. Понятно, что итоговый балл в основном определяется совсем другими операциями, однако полностью неизменным он может остаться только в одном случае: PCMark 10 Storage Full System Drive, подобно низкоуровневым бенчмаркам, кэширование в процессе работы не использует. Логика в этом есть, причем та же самая: бенчмарк используется для определения «чистого» быстродействия накопителей, а для «совсем системных» оценок есть другие тесты и пакеты. Но и недостатки такой логики тоже аналогичны: на практике бывает несколько иначе, чем показывает этот тест.

Работа с большими файлами

Чтение 32 ГБ данных (1 файл), МБ/с

  Кэш включен Кэш выключен
USB 3.2 Gen1 382,7 382,1
USB 3.2 Gen2 964,8 960,6
USB 3.2 Gen2×2 1703,9 1699,6

Напомним, что кэширование отключается (точнее, отключено по умолчанию) исключительно для операций записи, но не чтения. Однако при однократном чтении файла кэширование все равно не имеет значения — а вот повторения теста могли бы изменить результаты, оставайся все данные в оперативной памяти. Впрочем, мы специально выбирали такой размер файлов, чтоб точно не остались — и даже вообще туда не поместились.

Чтение 32 ГБ данных (32 файла), МБ/с

  Кэш включен Кэш выключен
USB 3.2 Gen1 457,0 457,7
USB 3.2 Gen2 1004,6 1001,7
USB 3.2 Gen2×2 1964,3 1965,4

Но так или иначе, а результаты в обоих режимах должны быть одинаковыми. И должны зависеть от пропускной способности интерфейса, причем «выбирая» ее полностью лишь в многопоточном режиме. Все перечисленное выполнено — как, повторимся, и должно быть.

Запись 32 ГБ данных (1 файл)

  Кэш включен Кэш выключен
USB 3.2 Gen1 427,6 238,4
USB 3.2 Gen2 928,4 403,4
USB 3.2 Gen2×2 1626,1 441,2

А вот при записи данных ничего подобного не наблюдается: при выключении кэширования показатели падают вдвое. «Удвоенный» же режим USB 3.2 Gen2 (USB 3.2 Gen2×2) при этом полноценно «нагрузиться» не может, так что показатели и вовсе падают вчетверо. Файл большой, в оперативную память принципиально не лезет, а скорость записи — все равно принципиально разная. Так что если кэширование не настраивать, то переплачивать за поддержку самого скоростного режима USB незачем: даже через USB 3.2 Gen1 накопитель, после установки одной галочки, будет работать не медленнее, чем через USB 3.2 Gen2×2 в неоптимальном режиме.

Запись 32 ГБ данных (32 файла), МБ/с

  Кэш включен Кэш выключен
USB 3.2 Gen1 481,6 235,7
USB 3.2 Gen2 1022,2 391,6
USB 3.2 Gen2×2 1905,4 438,8

Если же использовать запись большого числа меньших файлов, станет только хуже. Многопоточный режим лучше загружает интерфейс — но только при включенном кэшировании. А что происходит при выключенном — видно наглядно. Даже «сверхбыстрый» внешний SSD в идеальных для себя условиях не может конкурировать с куда более дешевыми и медленными, но правильно настроенными.

Чтение и запись 32 ГБ данных (последовательный доступ), МБ/с

  Кэш включен Кэш выключен
USB 3.2 Gen1 473,5 300,5
USB 3.2 Gen2 1040,6 546,8
USB 3.2 Gen2×2 1850,9 712,8

Поскольку операциям чтения ничто не мешает, то падение суммарной скорости оказывается меньше, чем при чистой записи — как и должно быть. С другой стороны, бессмысленность покупки максимально быстрого (формально) накопителя при таком подходе все равно видна наглядно — сначала есть смысл воспользоваться бесплатным ускорением, а потом уже деньги тратить.

Чтение и запись 32 ГБ данных (произвольный доступ), МБ/с

  Кэш включен Кэш выключен
USB 3.2 Gen1 343,5 308,1
USB 3.2 Gen2 644,3 541,0
USB 3.2 Gen2×2 945,7 677,6

Минимальное (на фоне прочих сценариев) падение производительности во многом связано с тем, что она здесь и сама по себе не слишком высокая. С другой стороны, запись в кэш или непосредственно на устройство с модификацией информации о файле — это немного разные вещи. Хотя данные в оперативной памяти не могут лежать бесконечно долго (на деле речь вообще идет о считанных секундах), но избежать немалого количества модификаций служебных данных все-таки можно. И, разумеется, нужно.

SSD с интерфейсами PCIe 3.0 и PCIe 4.0 на платформах AMD и Intel: история вопроса, немного теории и небольшое практическое сравнение

Казалось бы, всё ясно. Но полагаться на результаты единственного тестового пакета не совсем правильно. Несмотря на то, что он использует стандартные функции WinAPI, могут быть «особенности» и во внутренней работе. В конце концов, стандартные функции используют все — но все по-разному. В прошлом году мы уже установили, что NASPT неадекватно работает на платформе AMD AM4 с SSD под PCIe Gen4, причем проблема в первую очередь заключалась как раз в операциях записи. Так что возникает вопрос: а что мы в данном случае тестируем-то — накопитель или саму программу? С включенным кэшированием, впрочем, вопросов не остается: как и положено, упираемся именно в способности интерфейса. Однако выключение кэширования слишком сильно снижает производительность.

Копирование данных

Поэтому для полной ясности проведем простой качественный тест, копируя одиночный файл размером 32 ГБ на внешний SSD. Звучит просто — но, с учетом скоростей последних, не так уж всё просто на самом деле. В частности, понятно, что копировать данные с SATA SSD вообще бесполезно для любых режимов выше USB Gen3. И даже в случае «приличного» NVMe SSD скорость считывания данных с него все равно будет сказываться на результатах, не позволяя получить максимум. Но качественную оценку выполнить можно. И чтобы не зависеть от нюансов работы разных приложений, в качестве инструмента ограничимся штатными средствами Windows. В конце концов, они всегда под рукой и всем доступны, даже если кто-то на практике предпочитает другие файловые менеджеры и т. п.

Где здесь что — понятно без подписей. Характерная особенность работы без кэширования — писать данные начинаем сразу, так что скорость лимитируется именно скоростью записи на внешнее устройство. И она в любом случае оказывается более низкой, чем с использованием кэширования, причем чем быстрее интерфейс, тем больше потерь. Хотя такой жути, как при использовании NASPT, и не наблюдается. Характерный «горб» в начале графика при работе кэширования — как раз быстрое считывание информации в оперативную память. Когда памяти много, а сам копируемый файл небольшой, на этом этапе операция с точки зрения пользователя может и закончиться — система отрапортует, что процесс завершен, но продолжит запись в фоне.

Что изменится, если то же количество информации будет не в одном, а в 32 файлах? Без кэширования — ничего. С кэшированием — скорость увеличится. В младших скоростных режимах USB — до уровня их возможностей. В старшем мы всё же максимума не достигаем, поскольку на таких скоростях значимыми становятся многие факторы. Но что примечательно — режим USB 3.2 Gen2 с кэшированием почти равен режиму USB 3.2 Gen2×2 без оного, то есть не стоит бежать за топовым внешним SSD, не настроив предварительно систему. И тем более не стоит жаловаться на то, что купленный топовый SSD как-то медленно работает — может, в этом виноват вовсе не он.

Также, правда, не стоит забывать и о том, что это демонстрируемые результаты: Windows отрапортует об окончании процесса, как только последняя порция данных окажется в дисковом кэше. Физическая же запись может растянуться еще на несколько секунд. Так что если считать «по-честному», то на то может и выйти: когда речь идет о гигабайтах в секунду и десятках гигабайт оперативной памяти в современном компьютере, размер неопределенности слишком уж велик. Microsoft понять можно: по умолчанию в Windows кэширование записи включено для внутренних устройств, но выключено для внешних просто потому, что вероятность «выдергивания» первых в неподходящий момент времени близка к нулю, а для вторых — нет. Без кэширования — спокойнее. Однако если начинается сравнение демонстрируемых скоростей, нужно четко понимать, в каком именно режиме они получены. Даже если отвлечься от сложных материй, а просто перетаскивать файлы и папки в проводнике.

Наконец, вспомним про пресловутую «проблему мелочи» — вот что происходит, когда мы копируем всего-то 250 МБ, но почти в 3000 файлах. Здесь уже не важны интерфейсы, кэши, да и сами носители данных. Всё упирается в скорость, с которой этот набор может считаться с источника. А какова она — видно наглядно. К счастью, подобные задачи возникают редко — иначе прогресса внешних накопителей не было бы за ненадобностью.

Итого

Лет 30—40 назад компьютеры были простыми и бесхитростными. Программы — обычно тоже. Разобраться во всех нюансах работы что софта, что железа — больших проблем не составляло. Да и самих-то нюансов почти не было. С тех пор компьютерный мир сильно изменился, став комфортнее для пользователя, но сложнее для изучения. Однако пользовательский комфорт может внезапно исчезнуть, когда что-то пойдет не так. Например, когда данные на свежекупленный топовый SSD с заявленной скоростью до 2 ГБ/с начнут записываться вдвое медленнее. При том, что похожий SSD со скоростью как раз 1 ГБ/с стоит существенно дешевле, возникает ощущение, что где-то производители покупателя как обычно обманули. А вот кто виноват и что делать — в общем случае разобраться непросто. Например, потому что существуют и продаются устройства с поддержкой USB3 Gen2×2, но с собственной скоростью записи больших объемов данных на уровне сотен (а то и десятков) мегабайт в секунду. И с такими устройствами уже ничего не сделаешь — кроме как выкинуть и купить новое. Тут, действительно, как минимум неоправдавшиеся ожидания.

Но бывает так, что и с железом все нормально, и с программами — а дело лишь в настройках. Кэширование записи на производительность влияет положительно, поэтому используется всеми современными операционными системами и в Windows для внутренних накопителей включено по умолчанию. Но с точки зрения возможной потери данных — опасно. Поэтому, к примеру, многие серверные SSD себя кэшировать запрещают, а для внешних накопителей та же Windows его не включает массово. Хотя, казалось бы, там SSD и там SSD, интерфейсы давно уже сопоставимой производительности, для программ всё прозрачно, но вести себя по умолчанию устройства будут по-разному. И при попытках оценить это «по-разному» в цифрах таковые тоже будут разными. При этом очень многое зависит от методов оценки: многие специализированные тестовые утилиты кэширование записи просто не используют, так что на его настройки не реагируют. Про низкоуровневые бенчмарки это было известно изначально, а сегодня мы показали, что и комплексных это касается. А далее все зависит от конкретных программных алгоритмов. К примеру, NASPT корректно ведет себя только при включенном кэшировании. Распространимо ли это на другие приложения общего, а не специального назначения? Разумеется! В конце концов, даже банальное перетаскивание файлов и папок в проводнике Windows на кэширование записи реагирует заметным образом.

Вывод простой. Если низкие скоростные показатели внешних накопителей смущают пользователя, то их можно заставить себя вести так же, как внутренние. Но нужно отдавать себе отчет в своих действиях — и во избежание проблем пользоваться безопасным отключением накопителя или его аналогами. Можно, конечно, и не пользоваться. И все будет хорошо… двадцать раз подряд, а на двадцать первый появятся битые файлы или ошибки файловой системы. Если такая перспектива пугает, то «смириться» с выбором Windows, вообще говоря, безопаснее. В этом случае можно быть уверенным, что если диалог копирования файлов с экрана исчез, то файл скопирован. Но тогда не стоит смущаться и более низкой скорости копирования. На деле же, повторимся, кэширование реализовано для повышения производительности. Что особенно важно, если внешний накопитель используется не для переноса данных, а для их непосредственной обработки, то есть оказывается частичной или полной заменой внутренним накопителям. И при таком раскладе правильнее не думать, а включать. Благо такая возможность сохранена.

Nowadays you can use an SSD as cache (64GB max) to boost the transfer rate of a normal hard disk (Sata II or Sata III). This feature can increase the performance of large capacity disks. We’ll walk you through all the steps in this article.

To use SSD caching technology, there are some prerequisites before beginning:

SSD — You will require a SSD with a minimum capacity of 64GB (optimal size).

HDD — Use a large capacity disk — 2TB.

Motherboard — Your motherboard must support the SSD Caching Technology (Asus, MSI, ASRock, Gigabyte).

Softwares — Based on the motherboard and SSD you are using: Intel Smart Response:

Dataplex:

ExpressCache:

Implementation

Connect two hard drives

  • Warning: both HDDs must be connected to the same controller, e.g Marvel or Intel …

Configuring the Cache

The default option, named «Enhanced» is less efficient but more secure than the «Maximized» option (risk of data loss). The Intel driver allows you to switch from one configuration another at any moment.

  • Minimum Cache: 19GB
  • Maximum Cache: 64GB

If you use a SSD with a capacity greater than 64GB, then the rest of the available space will be wasted.

Performance

The transfer rate of the hard disk

  • For a 2TB HDD with a speed of 140MB/s, SSD caching on Marvell controller will reach 250MB/s. Knowing that the SSD has a default speed of 550MB/s alone.
  • According to benchmarks, it appears that when working on small files, the SSD cache is particularly effective.

As for the remaining space of the SSD Cache, we notice a lower transfer rate:

Conclusion

Advantages

  • Optimize the performance of high capacity storage disk.

Inconveniences

  • Depending on the type of controllers and SSD used, the performance may be limited.
  • If you want to install Windows on the SSD, it’s better to avoid using SSD caching, as it will drop the default transfer rate by half.

Any more hard drive questions? Check out our forum!

ssd, hdd

SSD-диски все еще дороги. Цена на них постепенно понижается, но на единицу хранения они пока еще не могут конкурировать с традиционными HDD. Последние, кстати, вовсе не собираются сдавать свои позиции. И дело не только во все увеличивающихся объемах хранения и снижающейся стоимостью записи на HDD. Традиционные HDD обеспечивают куда большую надежность хранения данных на протяжении длительного времени и существенно большую износостойкость в плане записи. И эти свойства HDD появились не вчера, их планомерно развивали в течение десятилетий. К надежности хранения данных на HDD можно привести множество примеров, когда в различных НИИ и замшелых банках все еще используются жесткие диски выпущенные десятки лет тому назад. И при этом они полностью сохранили свою работоспособность. Кстати, ленточные накопители тоже остались у дел, в тех же банках, финансовых компаниях, замшелых НИИ. Магнитные ленты отлично выполняют функции по архивному хранению информации, например, резервных копий и по самой минимальной стоимости при высочайшей надежности.

Но есть у HDD и неоспоримые недостатки. Это все, что связано со временем доступа и вообще скоростью чтения и записи данных. Конечно, HDD почти что космические ракеты, если сравнить их с решениями на магнитной ленте, но скорости HDD, в нынешних реалиях, все равно недостаточно. По сути, это самый медленный компонент современного ПК. Именно по этой причине на свет появились SSD. Они лишены механической части и соответственно недостатков, связанных со временем доступа и скоростями чтения/записи. В SSD все эти операции происходят «мгновенно» и с максимально доступной производительностью.

А можно ли совместить достоинства HDD и SSD дабы нивелировать их недостатки? Как оказывается можно. Еще до появления SSD обычные HDD уже оснащались крупными буферами из оперативной памяти для ускорения операций чтения-записи. Данная технология помогала лишь отчасти, в основном для операций связанных с записью данных, либо на очень медленных компьютерах, где интерфейс не мог переварить поставляемый жестким диском объем данных. Чуть позже появились комбинации, когда HDD дооснащался еще и небольшим встроенным SSD. SSD-часть в этом случае использовалась как SSD-кэш. Большой популярности подобные решения не нашли, так как объемы SSD встраивались небольшие, а износу они подвергались существенному. Но производители пошли дальше.

На сцену вышла концепция, декларирующая ранжирование данных на дисковом массиве по важности быстрого доступа к ним. Ведь какие-то фотографии с позапрошлогоднего отпуска, можно вполне себе хранить хоть на ленте, а вот файл динамичной игры должен подгружать как можно быстрее. В этой стезе засветилась корпорация Intel, разработавшая совместно с Micron новый вид памяти для твердотельных дисков. Для конечного потребителя новинка предстала под торговой маркой Optane и предназначалась как раз для ускорения операций ввода-вывода традиционных HDD. Иначе работала как «умный» SSD-кэш. Да, кстати, объемы Optane-дисков, как правило, были небольшими, а стоимость соответствовала амбициям электронных гигантов.

Но технологии не стоят на месте, а неумолимо приближаются к технологической сингулярности. Усилиями многих производителей SSD-диски становятся все дешевле и быстрее. И вот в некоторых компьютерах есть только просто SSD-диск и больше ничего. Но, а в мощных рабочих станциях, игровых ПК, да и в большинстве ПК, что стоят на производствах, в офисах и просто по домам разнокалиберных граждан, по-прежнему присутствуют HDD. И вроде бы компьютеры не старые, вполне рабочие, но дисковая подсистема основанная на HDD оставляет желать лучшего, а выкинуть вполне еще рабочий HDD на терабайт, ну просто, рука не поднимается. Но и тут есть решение. Можно использовать технологию по созданию автоматических tiered drives (или иерархичных дисков, лучшего русскоязычного термина я не подобрал). В основе технологии tiered drives лежит объединение быстрых, но небольших SSD-дисков, и медленных, но надежных и объемных HDD-дисков, в один виртуальный пул, тем самым устраняя недостатки каждой из технологий хранения данных.

Автоматичность в случае с tiered drivers означает, что система сама, самостоятельно, без всякого AI, SMS и регистраций, будет определять, какие данные следует помещать на быструю часть (SSD), а какие разумнее оставить на HDD. В некоторых реализациях можно дополнительно «привязывать» те или иные файлы к быстрой части виртуального пула или медленного. Кроме того, некоторые производители дополнительно оснащают свои программные решения по организации tiered drives еще и дополнительным кэшем в оперативной памяти, для еще большей производительности. Но, прежде чем перейти к разбору программным продуктов «без SMS и регистраций», необходимо разобраться в отличиях между SSD-cache, RAID-массивами и tiered drives.

SSD-cache – простой механизм по прозрачному кэшированию данных на быстром SSD-диске перед их записью на медленный HDD-диск, либо аналогичное кэширование данных при чтении. Все зависит от реализации. Технология интересная, но особого признания не нашла в силу очень узкой специализации. Небольшое количество данных она запишет быстро, а вот с чем покрупнее никакого преимущества уже не будет.

RAID-массив — механизм объединения нескольких физических дисков в единый пул. Способ объединения зависит от потребности, но в основном используется в промышленных системах хранения данных, где требуется высокая надежность хранения и низкий процент отказов с нулевым простоем. Как правило в массив объединяются одинаковые по характеристикам диски.

Tiered drive — механизм разделения данных на требующих и не требующих быстрого доступа с соответствующим местом хранения на SSD или HDD.

AMD StoreMI

Мое первое знакомство с tiered drives началось с AMD StoreMI. Еще с первой версии, перелицованной enmotus FuzeDrive. Перейдя с Intel на платформу AMD, я с удовольствием обнаружил, что весь мой парк старых HDD можно безболезненно использовать с моим новым ПК, а заодно и ускорить их до самого доступного максимума при помощи освободившихся SATA SSD (а основными рабочими дисками у меня стали NVME PCI накопители).

Первая версия StoreMI имела существенные ограничения, так, например, можно было использовать для создания tiered drive SSD размером не более 256 Гб. Хорошо, что у меня был именно такой диск. Система tiered drive собралась оперативно, скорость работы с HDD выросла до адекватных показаний, все бегало и приятно урчало. Но локальный праздник жизни был омрачен двумя факторами:

  1. Система падала из-за StoreMI при высокой нагрузке. Например, при копировании данных с HDD на tiered drive от StoreMI.
  2. Спустя некоторое время AMD убрала StoreMI первой версии из открытого доступа, а никакой замены не предложила. Другими словами, если вам потребовалось восстановить систему, в которой присутствует tiered drive StoreMI, то все данные вы потеряете на этом диске, так как подключиться к нему никак.

В качестве дополнительного удобства я несколько раз получал заблокированный tiered drive, так как StoreMI не могла проверить свою лицензию. Ну и полностью отсутствующая поддержка по продукту означала, что использовать его можно только на свой страх и риск. Из плюсов, что были в первой версии StoreMI, можно отметить лишь наличие дополнительно кэша в оперативной памяти, что несколько ускоряло работу всей связки.

Чуть позже AMD выпустила вторую версию StoreMI уже без всяких ограничений на объемы дисков и прочей ереси в виде лицензий. Вторая версия оказалась несовместимой с первой. Провести апгрейд — нельзя. По всей видимости это связано с тем, что вторая версия StoreMI уже была написана без специалистов enmotus. Интерфейс хоть и стал чуть более лицеприятным, но все также отдавал Delphi.

Вторую версию StoreMI я установил на свой второй компьютер, первую установить я на него не успел, апгрейд закончился позже, чем появилась обновленная StoreMI. Установку удалось завершить далеко не с первой попытки. Пришлось ждать около полугода, пока появятся исправления и StoreMI наконец-то заработает и на моем втором ПК.

Вообще, драйвера дисковых подсистем штука до крайности важная. Они не должны содержать никаких ошибок, а их код должен быть «вылизан» программистами и тестировщиками до последнего байта. Ведь малейшая, даже самая крохотная ошибка в программном обеспечении дисковой подсистемы способна привести к краху ценных данных. Ваших данных. И именно по этой причине, мы меняем программное обеспечение как перчатки, но все еще продолжаем работать с файловыми системами, разработанными в прошлом веке. Лучше оставаться на проверенной системе, хоть и чуть медленнее, чем терять свои данные.

Но вернемся к StoreMI второй версии. Через некоторое время использования я с удивлением заметил, что некоторые фотографии, которые я синхронизирую с компьютером оказываются испорченными. Хотя на всех других устройствах они открываются и читаются без особых проблем. Фотографии, как не трудно догадаться, хранятся как раз на диске StoreMI. Дабы отвести напрасные мысли о ненадежности второй версии StoreMI, я решил переустановить Windows.

Но, после первой же перезагрузки после установки второй версии StoreMI (и даже без создания tiered drive) моя установка Windows становилась полностью неработоспособной. UEFI (BIOS) напрочь отказывался видеть загрузочный диск, а инсталляционная утилита Windows не обнаруживала никаких признаков установленной операционки для восстановления. Проведя подряд 7 переустановок операционной системы, я окончательно убедился, что проблема как раз в StoreMI от AMD.

В общем, пришлось идти, искать альтернативу. Ведь к хорошему быстро привыкаешь.

enmotus FuzeDrive

Естественным первым порывом стало желание посмотреть на родную утилиту для организации tiered drives от производителя первой версии StoreMI. Ведь она худо, но все же продолжала работать, тянуть мой домашний комп.

Неоспоримым преимуществом FuzeDrive является наличие RAM-кэша, который дополнительно ускоряет операции записи в системе. Данные сначала записываются в быструю оперативную память, а потом уже отправляются на tiered-диск по мере возможности. Но мой опыт работы с первой версией StoreMI, проблемы с лицензией и аварийные остановки операционные системы при высокой нагрузке на дисковую подсистему несколько охладили мой пыл в отношении FuzeDrive. Пошли искать альтернативу дальше.

ROMEX PrimoCache

Альтернативой FuzeDrive для Windows можно считать PrimoCache от ROMEX. Утилита PrimoCache — применяется как продвинутое решение для кэширования данных при чтении или записи с медленных устройств. В качестве быстрых устройств, используемых для кэширования, в PrimoCache можно применять ОЗУ, SSD-диск и даже Flash-диски. Кстати, в Windows уже есть технология по ускорению медленных накопителей за счет использования кэширования на USB Flash-дисках. Но решение ReadyBoost, опять же, не стало популярным. Ускорение за счет USB-флешки медленного HDD, установленного в медленном компьютере, обычно приводило к еще большим тормозам, так как на обработку данных с Flash-дисков тратились дополнительные ресурсы, которых и так было мало.

Но вернемся к PromiCache. Тут следует учитывать, что это именно кэш, т.к. данные всегда проходят через «быстрое» устройство.

Благодаря такому активному кэшированию при помощи PrimoCache можно получать фантастические скорости общения с жестким диском. Еще одним преимуществом PrimoCache можно считать отсутствие необходимости в переносе данных с «медленного» носителя перед включением его кэширования. Т.е. установка утилиты — максимально безопасна. Кстати, PrimoCache можно скачать на попробовать, в приложении присутствует «триальный» период.

К сожалению, никакой функции по ранжированию данных по иерархии хранения в PrimoCache нет, поэтому ее не следует рассматривать как прямого конкурента StoreMI или FuzeDrive.

При дальнейшем исследовании можно обнаружить, что на рынке присутствует некоторое количество RAM-cache утилит, предоставляющих примерно один и тот же сервис под разными названиями. Не будем их всех перечислять, а перейдем сразу к герою настоящей статьи, а именно…

Служба Storage Spaces появилась в Windows Server 2012 как способ объединения физических дисков в единые пулы, на основе которых могут быть организованы виртуальные диски. Данная же технология мигрировала с Windows Server 2012 и на Windows 8.

Изначально в Storage Spaces были доступны следующие варианты объединения:

  • Simple — дисковое пространство всех дисков объединяется в одно.
  • Two-way mirror — обычное зеркалирование данных по дискам, всего хранится две копии.
  • Three-way mirror — усиленное зеркалирование данных по дискам, всего хранится три копии.

Получался эдакий аналог программного RAID встроенного в операционную систему. Позже, с выходом Windows Server 2012 R2 появились дополнительные виды объединения дисков:

  • Parity — хранение данных с избыточной информацией необходимой для восстановления. Данные «размазываются» сразу по нескольким дискам и в случае выхода из строя части дисков, данные все равно можно будет восстановить благодаря избыточности.
  • Tiered — как раз интересующий нас случай с поддержкой иерархического хранения и сегрегации данных на быстрые и медленные носители.

storage spaces

Состояние дисковой подсистемы после создания Tiered Drive из двух дисков

Последняя редакция также была перенесена в десктопные решения. Создание и управление пулами дисков и виртуальными дисками под Windows 10 (Widows 8 рассматривать уже не будем по причине старости) доступно через апплет (оснастку) Storage Spaces, либо через команды в среде Windows PowerShell. К сожалению, в оснастке Storage Spaces доступны все варианты создания объединения, за исключением Tiered. Он доступен только через команды в PowerShell.

disk management, storage spaces

Как выглядит созданный виртуальный диск в оснастке Disk Management

Как работает механизм сегрегации данных в tiered варианте объединения? Новые данные обычно записываются на HDD, а затем, если к ним часто и много обращаются, то перемещаются уже на SSD. Если же системе требуется записать большое количество небольших и случайных изменений данных, то такие изменения записываются в первую очередь на SSD (используется механизм кэширования на SSD), с последующим перенесением на HDD если это необходимо. Все перемещения между слоями (иерархиями) дисков происходят либо автоматически (если такая опция была выбрана при создании пула дисков), либо во время обслуживания виртуального диска (та самая дефрагментация), либо командами через PowerShell.

Можно ли добавлять диски к пулу после его создания? Да, можно. Причем проделать эту процедуру можно уже в оснастке Storage Spaces. В целом Windows позволяет добавлять в пул более, чем достаточное количество дисков. Общее пространство можно разделять между различными виртуальными дисками. Виртуальные диски можно делать даже больше, чем есть физического места для хранения. В случае исчерпания свободного места на диске он переводится в режим Read Only до тех пор, пока не будет добавлен новый диск в пул дисков.

При использовании хранения данных одновременно на нескольких дисках увеличивается вероятность потери данных по причине выхода из строя накопителя или сразу нескольких. Опытные системные администраторы сразу же упомя́нут, что ценные данные вообще-то нужно периодически резервировать на сменных носителях (те самые магнитные ленты) и хранить их в отдельном помещении или лучше здании (городе, стране и т.п.). Но можно попробовать поднять надежность хранения данных и в случае использования tiered disk при использовании Storage spaces. Во-первых, совершенно никто не мешает организовать аппаратное зеркалирование на уровне UEFI (BIOS) и включать в пул дисков уже зеркалированные диски. Во-вторых, согласно документации от Microsoft, создав пул из hdd и sdd (и соответственно tiered drive) у нас есть возможность создавать на его основе и так называемые вложенные (nested) виды объединения, которые уже могут зеркалироваться или иметь избыточность. Однако, данное действие имеет смысл только при наличии действительно достаточного количества физических дисков для организации зеркалирования или избыточности.

Кстати, даже при использовании обычного tiered объединения некоторые диски можно исключать из пула для их замены (однако, для их замены они должны быть настроены в системе как извлекаемые (hot swap)).

Итак, для добавления своего tiered пула в Windows 10 можно воспользоваться либо командами в PowerShell (в документации Microsoft достаточно подробно описана пошаговая процедура создания tiered drive через PowerShell), либо воспользоваться скриптами win10-storage-spaces от freemansoft специально предназначенными для автоматизации создания Tiered Storage.

storgae spaces

Возможность создания Nested Drives на свободном месте Storage Spaces

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

Если вдруг, по каким-то причинам, касающимся безопасности, скрипт не будет исполняться, то необходимо изменить настройки безопасности для скриптов и запустить процедуру заново.

После создания пула им уже можно управлять через оснастку Storage Spaces. Например, в пул можно добавить еще дисков. Однако, если изначально у нас создавался tiered пул на двух дисках (т.е. сформирован Simple пул), то его нельзя будет переконвертировать в Two-way Mirror пул, хотя можно будет организовать Nested Two-way Mirror диск при создании нового виртуального диска.

storage spaces, disk optimization

Storage Spaces после добавления в пул еше одного SSD и проведения оптимизации

При добавлении нового физического диска в пул система сразу предлагает провести оптимизацию. Я добавил к системе еще один 120 Гб SSD-диск (к уже добавленному 240 Гб SSD и 1 Тб HDD) и после оптимизации я получил загрузку в 74% 240 Гб SSD и 50% от 120 Гб SSD. Таким образом, на обоих SSD осталось примерно поровну не назначенного в пул места. И именно это место я могу использовать в качестве пространства для создания нового Storage Space (по сути, это и есть виртуальный диск).

После добавления нового диска и оптимизации можно провести изменение размера виртуального диска. Осуществить эту операцию через оснастку Storage Spaces нельзя, система возвращает ошибку. Дело в том, что легкого способа увеличить размер виртуального диска не существует. Проблема кроется в том, как организуются пулы в Storage Spaces. Все дело в так называемом Number of Columns, а именно в количестве физических дисков, на которых физически располагается виртуальный диск. И для успешного изменения размера виртуального диска необходимо добавить в пул количество диско равное Number of Columns. Звучит немного странно, но таковы ограничения. Однако, в моем случае, Tiered disk создался с пустым количеством Columns, т.к. у меня, при создании пула был только один SSD и один HDD. В общем и целом, мне не удалось увеличить размер общего пула после добавления дополнительного SSD-диска в пул. Тем не менее, оба диска работают в пуле совместно. О проблемах с увеличением или уменьшением места в Storage Pool сообщают пользователи и серверных операционных систем. Не помогает в том числе и ручное создание пулов с несколькими разнокалиберными дисками. Так что экспериментировать со Storage Spaces еще есть куда.

disk mark, storage spaces

Данные по работе виртуального диска (отображается производительность моего SSD-диска)

Для измерения полученного результата можно воспользоваться как обычными средствами типа Crystal Disk Mark или же использоваться специализированное средство от Microsoft DiskSpd. Disk Mark, как и положено будет давать результаты с SSD-диска, так как он первым воспринимает удар синтетической цифровой стихии, а DiskSpd дает более интересный результат, но его нужно еще правильно интерпретировать.

Полезные ссылки:

  1. Intel Optane
  2. RAID
  3. AMD StoreMI
  4. enmotus FuzeDrive
  5. Delphi
  6. ROMEX PrimoCache
  7. Статья на Habr об использовании Storage Spaces
  8. Storage Spaces на Microsoft Docs
  9. Описание утилиты DiskSpd и ее репозиторий на GitHub
  10. Использование DiskSpd
  11. Скрипты win10-storage-spaces
  12. Страница на GitHub Joe Freeman-а, автора скриптов по автоматизации
  13. Оригинальная запись блога Nils Schimmelmann-а, который провел изыскания по включение tiered pool в Win10
  14. Настройка политики запуска скриптов в PowerShell
  15. Использование tiering на LVM под Linux при помощи LVM-Cache
  16. Storage Spaces: Understanding Storage Pool Expansion
  17. Cannot Extend Simple Virtual Disk in Windows Server 2012 R2
  18. Storage Spaces: Understanding Storage Pool Expansion
  19. ReadyBoost


Если вы приобрели твердотельный диск или купили компьютер или ноутбук с SSD и хотите настроить Windows так, чтобы оптимизировать скорость работы и продлить срок работы SSD, основные настройки вы найдете здесь. Инструкция подойдет для Windows 7, 8 и Windows 8.1. Обновление 2016: для новой ОС от Microsoft смотрите инструкцию Настройка SSD для Windows 10.

Многие уже оценили производительность твердотельных дисков SSD — пожалуй, это один из самых желанных и эффективных апгрейдов компьютера, который может серьезно улучшить производительность. По всем параметрам, связанным со скоростью SSD выигрывает у обычных жестких дисков. Однако в том, что касается надежности не все так однозначно: с одной стороны, они не боятся ударов, с другой — имеют ограниченное количество циклов перезаписи и другой принцип работы. Последнее нужно учитывать при настройке Windows для работы с SSD диском. А теперь переходим к конкретике.

Следует проверить, что функция TRIM включена

По умолчанию, Windows, начиная с версии 7 поддерживает TRIM для SSD по умолчанию, однако лучше проверить, включена ли эта функция. Смысл TRIM в том, что при удалении файлов, Windows сообщает диску SSD, что данная область диска больше не используется и ее можно очистить для последующей записи (для обычных HDD этого не происходит — при удалении файла данные остаются, а потом записываются «сверху»). Если данная функция отключена, это со временем может привести к падению производительности твердотельного диска.

Как проверить TRIM в Windows:

  1. Запустите командную строку (например, нажмите Win + R и введите cmd)
  2. Введите команду fsutil behavior query disabledeletenotify в командной строке
  3. Если в результате выполнения вы получите DisableDeleteNotify = 0, значит TRIM включена, если 1 — отключена.
Проверка TRIM в Windows

Если функция отключена, см. Как включить TRIM для SSD в Windows.

Отключите автоматическую дефрагментацию дисков

Прежде всего, твердотельные SSD диски не нужно дефрагментировать, дефрагментация не принесет пользы, а вред возможен. Об этом я уже писал в статье про вещи, которые не нужно делать с SSD.

Все последние версии Windows«знают» об этом и автоматическая дефрагментация, которая по умолчанию включена в ОС для жестких дисков, обычно не включается для твердотельных. Однако, лучше проверить этот момент.

Запуск настройки оптимизации дисков

Нажмите клавишу с эмблемой Windows и клавишу R на клавиатуре, после чего в окне «Выполнить» введите dfrgui и нажмите Ок.

Отключение дефрагментации SSD

Откроется окно с параметрами автоматической оптимизации дисков. Выделите ваш SSD (в поле «Тип носителя» будет указано «Твердотельный накопитель») и обратите внимание на пункт «Оптимизация по расписанию». Для SSD следует отключить ее.

Отключите индексацию файлов на SSD

Следующий пункт, который может помочь оптимизации SSD — отключение индексации содержимого файлов на нем (которая используется для быстрого поиска нужных файлов). Индексирование постоянно производит операции записи, которые в перспективе могут сократить срок службы твердотельного жесткого диска.

Для отключения, проделайте следующие настройки:

  1. Зайдите в «Мой компьютер» или «Проводник»
  2. Кликните правой кнопкой мыши по диску SSD и выберите «Свойства».
  3. Уберите отметку «Разрешить индексировать содержимое файлов на этом диске в дополнение к свойствам файла».

Несмотря на отключенное индексирование, поиск по файлам на SSD будет происходит практически с той же скоростью, что и раньше. (Имеется также возможность продолжить индексацию, но сам индекс перенести на другой диск, но об этом я напишу в другой раз).

Включите кэширование записи

Включение кэширование записи на диск может повысить производительность как HDD, так и SSD дисков. При этом, при включении данной функции, для записи и чтения используются технология NCQ, которая позволяет более «интеллектуально» обрабатывать поступающие от программ обращения. (Подробнее об NCQ на Википедии).

Включение кэширования записи

Для того, чтобы включить кэширование, зайдите в диспетчер устройств Windows (Win + R и ввести devmgmt.msc), откройте «Дисковые устройства», кликните правой кнопкой мыши по SSD — «Свойства». Разрешить кэширование вы можете на вкладке «Политика».

Файл подкачки и гибернации

Файл подкачки (виртуальная память) Windows используется при недостаточном количестве оперативной памяти. Впрочем, по факту он используется всегда, когда включен. Файл гибернации — сохраняет все данные из оперативной памяти на диск для последующего быстрого возвращения к рабочему состоянию.

Для максимальной продолжительности работы SSD рекомендуется минимизировать количество операций записи на него и, если отключить или уменьшить файл подкачки, а также отключить файл гибернации, это также приведет к их сокращению. Однако, прямо рекомендовать это сделать я не стану, могу посоветовать прочитать две статьи про данные файлы (там же указано, как их отключить) и самостоятельно принять решение (отключение этих файлов не всегда хорошо):

  • Файл подкачки Windows (что такое, как уменьшить, увеличить, удалить)
  • Файл гибернации hiberfil.sys

Возможно, вам есть что добавить на тему настройки SSDна оптимальную производительность?

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Отключить шифрование bitlocker в windows 10 home
  • Не помню свой пин код windows 10
  • Windows server 2008 x32 iso
  • Macbook подключить windows клавиатуру
  • Windows server 2019 вам необходимо разрешение на выполнение этой операции