Что такое кэш и зачем он нужен в HDD??
Желаю доброго времени суток своим читателям, интересующихся подробностями работы компьютерного железа. Сегодня предметом нашего обсуждения будет кэш память жесткого диска. Буферизация данных применяется в различных процессах, но именно в данном устройстве ее использование дает ощутимый прирост быстродействия, нивелируя недостатки процесса считывания.
Для начала немного истории, которая раскрывает суть термина «cache».
В далеком 1967 году, при подготовке статьи о 85-й модели компьютера BM System/360 было решено найти лаконичную и более понятную замену определению «высокоскоростной буфер». Редактор журнала «IBM Systems Journal» Лайл Джонсон предложил использовать слово «кэш» (в разных европейских языках означающее понятие «прятать», «тайник», «запас»). Этот термин оказался не только простым и удобным, но и точно определял суть используемого устройства. Он прижился, стал общепринятым.
Что делает кэш в вашем винчестере?
Теперь взглянем на принцип работы жесткого диска HDD, который хоть и вытесняется в компактных устройствах твердотельными накопителями, но, пожалуй, еще долго будет оставаться основным средством хранения информации.
Итак, внутри его расположены несколько вращающихся магнитных пластин. Считывающие головки перемещается в нужный сектор и производят запись или чтение информации. (Визуально все это напоминает проигрыватель винилов).
Как видите, механизмов в данном устройстве предостаточно, и, несмотря на сверхвысокие скорости их движения, обращение к HDD за очередной порцией данных занимает очень много (по меркам быстродействия ЦПУ) времени. Усугубляет данную ситуацию тот факт, что информация записана на поверхности дисков фрагментами, которые могут быть расположены в разных местах и на отдельных пластинах.
Так вот, чтобы системе не заниматься черновой работой складывания воедино отдельных блоков информации, данную работу было решено получить самому жесткому диску, который будет сам связывать их воедино в собственном кэше. Условно, можно обрисовать такую аналогию данного процесса: боссу понадобилась вся информация по сделке и подчиненный, дабы не носить в кабинет по отдельному документу, предварительно собирает и группирует их у себя в отделе.
Сразу добавлю, что в SSD проблема инертности считывания информации не стоит так критично. Здесь скорость данного процесса на несколько порядков выше. Но в связи с фрагментированием записи больших объемов данных оптимизация работы с ними также необходимо. Поэтому в некоторых твердотельных накопителях cache так же присутствует.
Кэш память – один из параметров HDD
Переходим непосредственно к железу с целью выяснить, что собой представляет кэш жесткого диска.
В HDD помимо механических деталей имеется управляющая плата с коннектроами. На ней и расположена специальная микросхема, представляющая собой память с высокоскоростным доступом. Это и есть кэш. Объем его относительно не велик и в обычных винчестерах может быть 32 и 64 мегабайта (в некоторых старых моделях встречаются еще значения 8 или 16 Мб). Этого вполне достаточно, чтобы сделать работу системы персонального компьютера плавной и быстрой.
Сколько лучше, спросите вы? Мне кажется, ответ очевиден, но некоторые блогеры отмечают, что существенную разницу между 32 и 64 Мб в процессе использования HDD уловить практически невозможно. Я же полагаю, что с ростом сложности программных задач это все-таки будет заметно.
И если вы рассчитываете выжать из своего ПК максимум, то стоить устанавливать на него лучшее из того, что вы сможете себе позволить. В пользу такой позиции говорит и тот факт, что на серверных жестких дисках уже используется кэш объемом в 128 и даже в 256 Мб. Думаю этот факт поможет ответить вам на вопрос: на что влияет объем буфера?
Выходит, что объем кэша винчестера имеет значение, и данный параметр обязательно стоит учитывать при выборе и покупке HDD. Как узнать эту цифру для новых и уже приобретенных устройств? Проще и надежнее всего уточнить маркировку модели и на сайте производителя найти официальную информацию. Так же объем буфера винчестера могут подсказать программы типа AIDA64 .
Алгоритм работы кэш жесткого диска
Давайте разберемся, как работает буферная память винчестера. Основным потребителем, расположенной на нем информации является процессор. Дальше работает такая схема:
- от ЦПУ поступает запрос на контроллер, который по определенным меткам идентифицирует данные и сразу проверяет их наличие в кэше жесткого диска. Если таковые имеются, обращение к HDD не производится;
в случае отсутствия нужной информации выполняется их считывание с винчестера, причем дополнительно захватываются и близлежащие данные, которые с большой вероятностью так же могут понадобиться при последующих запросах; - под этот блок информации в кэш-памяти освобождается соответствующее место определенного размера. Такая процедура является непростой задачей, поскольку компьютер должен пожертвовать какими-то данными из буфера. Выбор осуществляется с помощью нескольких алгоритмов, определяющих степень «ненадобности». Для этого производится оценка по давности последнего использования информации, по частоте обращения к ней.
- актуальные данные загружаются на свободное место. Дальше процесс взаимодействия процессора и жесткого диска снова продолжается по этому алгоритму.
И еще один момент: cache винчестера – это энергозависимая память. Поэтому перед выключением ПК система копирует информацию из кэша непосредственно на сам HDD, а после включения переносить ее обратно. При аварийном обесточивании компьютера этого не происходит.
Тут мы плавно подошли к часто задаваемому вопросу: нужно ли очищать кэш память жесткого диска? Если вы о тех 64 мегабайтах, что хранятся на чипе, то мой ответ: нет, это бессмысленно. Если вам так сильно хочется, просто вырубите комп из розетки и снова включите. Стало ли вам от этого легче? Другое дело – кэш-файлы, которые оставляют на HDD разные программы. Вот они-то со временем занимают внушительный объем и для их ликвидации можно просто воспользоваться приложением типа CCleaner .
Кэширование данных собственным чипом жесткого диска предназначено для обеспечения системы цельными блоками данных, что существенно увеличивает ее быстродействие. Но помимо отдельной платы буферизация информации также может производиться и другими, хорошо известными нам способами.
- ОЗУ по сути так же является кэшем, по отношению к HDD. Она на несколько порядков больше, но скорость ее работы все равно проигрывает собственному модулю винчестера.
- На жестком диске выделяется сектор для временных файлов, которые будут записаны без фрагментирования. Это называется файл подкачки (виртуальная память) и его размеры могут превышать объем RAM.
Но это уже совершенно другие устройства, требующие отдельной статьи. А по поводу самой кэш памяти жесткого диска мне уже добавить нечего и я буду с вами прощаться.
Присылайте мне свои вопросы, подсказывайте интересные темы, и я постараюсь вас снова порадовать на страницах своего блога.
Накопители — завершение. Longread об актуальных аспектах кэширования в дисковой подсистеме
Чуть глубже изучив ситуацию, оказалось, что не все так проприетарно в вопросе многоуровневости и кеширования накопительной подсистемы в SOHO. По крайней мере, в среде Windows собрать в кучу кэш в ОЗУ, SSD и HDD можно попробовать.
Для этого существует платная, но с пробным периодом, программа от разработчика RAM-диска, рассмотренного выше. Это PrimoCache от Romex Software. Посмотреть можно по ссылке. Ключевой момент — никаких аппаратных привязок нет. Работает на любом компьютере, где есть ОЗУ и системный накопитель. Если системный накопитель — жесткий «винт», есть твердотельный диск и немного ОЗУ, то можно собрать это все в достаточно интересную многоуровневую систему. Это не значит, что нужно бежать и собирать, но ознакомиться для общего развития вполне стоит.
Для понимания возможностей давайте посмотрим на системный диалог — там на одном скриншоте видны основные нюансы работы.
Важной особенностью программы является наличие окна статистики, которое нам ответит на вопросы, которые остались неосвещенными выше по тексту, но, тем не менее, являются очень значимыми для полного понимания сути кэширования в накопителях.
Специально для этого материала я заранее установил рассматриваемую программу на домашнем ноутбуке на базе Core i3-2328M, 16 ГБ RAM, 250 ГБ HDD и 16 ГБ SSD. Характер нагрузки — офисно-домашний: несколько браузеров с десятками вкладок в каждом, мессенджеры, видео, музыка, офисные приложения. Все это загружено одновременно и почти никогда не закрывается. Нет игр, рендера, пережатия видео. Типичная SOHO-машина на старом процессоре. Старом, но не ржавом (с). С жестким диском в качестве системного он не мог даже полностью принять нагрузку на себя, т.к. скорость доступа к данным на диске была так себе. На ночь компьютер уходит в гибернацию.
В систему был добавлен SSD 16 ГБ на Phison S9 — т.е. без какого-либо DRAM-буфера — специально для целей кэширования и оценки его качества.
Аптайм приведенного скриншота составляет 100 дней. Для статистики вполне достаточно, как мне кажется. Давайте приступим к изучению.
Сверху указано текущее задание, кликнув по нему можно попасть в настройки конкретного задания. О них позже. Заданий может быть несколько.
Внизу слева в первом квадрате мы узнаем, что кэш-задание активно. Оно в конкретном случае состоит из 4 гигабайт кэша L1 — первого уровня. Это означает, что из 16 гигабайт памяти я отвел ровно четыре строго для целей кэширования. Размер можно выбрать любой. Четыре лично мне оказалось достаточно, но чем больше — тем лучше. Если в настройках выбрано кеширование как чтения, так и записи, то все, что с точки зрения ОС ходит с и на диск пройдет через эти 4 ГБ. Причем можно настроить время, через которое данные, отправленные на запись, покинут этот буфер в сторону диска. Время можно задать любое вплоть до бесконечности. Т.е. если оно будет так настроено, то данные, попавшие в буфер будут храниться там бессрочно, пока не будут замещены новыми. Если новых поступлений не будет, то у вас всегда там будет копия актуальных данных. Достаточно неплохо это все работает даже с 1–2 гигабайтами, отведенными из ОЗУ, но чем больше — тем больше данных будут доступны мгновенно. По сути, это RAM-диск, где крутятся актуальные данные.
Далее мы узнаем, что под L2-кэш отведено 13+ гигабайт. Это означает, что почти все 16 ГБ SSD я отвел под кэш жесткого диска на SSD. Оставлено немного неразмеченного места для упрощения работы контроллера при полном заполнении. В теории программа поместит в этот кэш КОПИИ популярных данных где-то на второе-третье обращение. Первично они будут прочитаны в кэш в ОЗУ с медленного «винта», но если вскоре к ним поступят новые обращения, то чтение произойдет из ОЗУ-кэша, а сами эти данные будут задублированы на SSD. Таким образом, при последующих обращениях, когда из ОЗУ-кэша данные будут вытеснены, их чтение произойдет не с медленного жесткого диска, а из копии в L2-кэше SSD. Т.е. с точки зрения системы и пользователя чтение будет проведено со скоростью SSD. Много или мало 13 гигабайт под кэш мы узнаем позже, но размер может быть любой. Его можно даже задать из системного SSD, на котором под это отвести раздел для кэширования «файлопомойки».
Storage — название конкретного кэширующего пространства. Их может быть много, например, под каждое задание отдельный кэш-раздел. Поэтому имя и прописано.
Block Size — размер блока в кэш задании. Чем меньше — тем лучше, но немного растет нагрузка на процессор (я этого не замечаю), а главное — растет нижний параметр Overhead. Это расход системной памяти на процесс кэширования. Чем меньше размер блока — тем больше расход. На 8 килобайтном блоке и 4 гигабайтах в ОЗУ это 308 мегабайт на обслуживание.
Strategy — у меня там стоит запись и чтение, но можно выбрать что-то одно и тогда только выбранная операция будет проходить через кэш в ОЗУ и SSD.
Deffer-Write — срок отложенной записи на физический диск. Если приходит запрос на запись, то таковая сначала пройдет в кэш в ОЗУ. Система будет думать, что запись произведена, но фактически данные до диска еще не дойдут. Сделано это для того, чтобы не тормозить работу системы медленным жестким диском — ведь с него в это время может что-то читаться. Отложенная запись подразумевает, что реальная запись пройдет позже и не ранее указанного времени. При этом фактически к диску пойдет обращение в момент, когда он может быть вообще в простое. Важно то, что запись пойдет пакетом с глубиной запроса более 1, т.к. задача-то сформирована. А даже тормозные жесткие диски такие задачи выполняют не на таких уж и плохих скоростях. Т.е. даже если были сгенерированы запросы на запись большого количества мелких файлов, то к моменту фактической записи это будет не рандоманя толпа, а последовательная очередь, что очень по-разному выглядит в бенчмарках. Если кэшировать так какой-нибудь Samsung Pro 970, то запись пройдет вообще почти мгновенно.
Mode — режим работы кэша. Это детали, которые рассмотрим позже.
Options — FlushSleep означает, что перед переходом в сон из кэша в ОЗУ все незаписанные данные будут фактически записаны на накопитель. При просыпании весь кэш в ОЗУ будет на месте. Это мера предосторожности на случай потери питания во сне.
Prefetch — режим сохранения кэша в ОЗУ на диск перед перезагрузкой или выключением. Если включено, то после перезапуска всё кэш-задание будет смонтировано в ОЗУ и по итогу весь набор типичных кэшированных данных будет доступен для чтения со скоростью ОЗУ. Сохраняется на жестком диске.
Правее у нас окно статистики, которая очень важна.
Итак, за 100 дней было подано запросов на чтение 754 гигабайт, при этом из кэшей прочитано 733! Т.е. в моем профиле работы попадание в кэш почти 97%. Это означает, что 97% данных были или в кэше в ОЗУ или на SSD. Всего 3% было прочитано с медленного жесткого диска или 22 гигабайта за 100 дней. Вероятно, это весь объем данных, с которыми я работал за это время, плюс надо сделать поправку на прошлые запуски кэша. Он мог подтянуть префетчем прошлую сессию, а это до 3 гигабайт, но скорее всего этого не было и 22 — это мой объем реального чтения с жесткого диска.
32,4% всего было прочитано из кэша на SSD. Я думал, будет больше. Т.е. 67,6 где-то процентов прочитано из 4 гигабайт кэша в ОЗУ.
L2-запись показывает, что за все 100 дней программа оценила как актуальные и достойные переноса на SSD около 65 гигабайт, но SSD у меня был только на 16 и поэтому со временем самое неактуальное вытеснялось из этого кэширующего тома. Т.е. будь у меня SSD на 64 гигабайта, то за это время он бы заполнился целиком, разгружая жесткий диск по и так слабенькому чтению. Естественно, что все исходные данные в целости лежат на жестком диске независимо от движения копий по L2-кэшу.
Далее видим группу важных показателей статистки о запросах записи на жесткий диск.
За 100 дней система сгенерировала запросов на запись 411 гигабайт, но до фактической записи дошло всего 61,5%. Это произошло потому, что актуальность записи части данных была утрачена по разным причинам до фактического их переноса из кэша в ОЗУ на физический жесткий диск. Экономия трети записи была бы актуальна, когда у твердотельных накопителей были проблемы с ресурсом. И, вероятно, будет актуальна для накопителей на QLC- и OLC-типах памяти, где каждая перезапись, похоже, будет на счету в случае малых объемов самих накопителей.
Deffered Blocks — текущая очередь на запись в кэше ОЗУ.
Trimmed — не дошедшие до записи.
Prefetch — наработанный кэш в ОЗУ, который был смонтирован при загрузке системы.
Общая логика работы программы выглядит так.
Ну и коротко об эффективности работы с точки зрения популярной и наглядной тестовой утилиты. Слева кэш выключен, справа — включен.
Помните наши три способа выше прочувствовать скорости RAM-диска, из которых мы озвучили лишь два? Надеюсь, вы заметили, что п.3 там не было? Это как раз третий. Браузерный кэш в этом случае будет закэширован в т.ч. в кэш в оперативной памяти, который работает аналогично RAM-диску. Сам браузер с большим количеством окон будет отлично стрелять, т.к. тоже будет закэширован префетчем в кэш в ОЗУ при загрузке ОС. В крайнем случае, он стартует из копии на SSD L2-кэше, ну и кэш самого браузера в худшем случае будет задублирован на L2, что внешне приведет к работе на скорости, идентичной чистому системному SSD. Не запутались где какой кэш?
Как вам увеличение случайной скорости чтения мелких файлов примерно в 1150 раз? Выглядит впечатляюще, но есть один нюанс. Выше в разделе «SSD без кэша не бывает» мы заметили, что «Именно поэтому в ряде популярных тест-утилит скоростей SSD если тестовый образец, сгенерированный утилитой, поместится целиком в такую прокладку и будет тут же прочитан в ходе теста, то эти самые утилиты могут показывать скорость именно быстрой кэш-прокладки, а не основного массива!» Это как раз тот случай. Утилита показывает скорости работы именно кэша, а не основного массива. Т.е. мы фактически видим результаты тестирования скорости работы DDR3, установленной в нашем ноутбуке, часть которой жестко отведена под дисковый кэш и по факту является своего рода RAM-драйвом. Если тестовый пакет данных за пределы кэша не выйдет, то все будет примерно как выше справа, но если выйдет, то показатели устремятся к левому скриншоту. В конкретном случае у меня 4 ГБ из ОЗУ выделено под кэш накопителей, а тестовый образец, как видно – всего 2 гигабайта. Такой выбор был сделан сознательно для иллюстрации ситуации. Чтобы понять, как все будет выглядеть на практике, приведем скриншот с тестовым образцом заведомо более кэша — 8 гигабайт. Замер, опять же, не лабораторный, а чисто индикаторный (точное исследование скоростей в данном материале как задача не ставится, да и сами скорости в этом случае будут сильно зависеть от конкретного железа, например поколения DDR), но по нему видно, что вклад кэша в чтение за его пределами есть, но представляет он собой чисто среднее измерений по всему тестовому заданию. А вот запись такая красивая, т.к. утилита сначала создает тестовый образец и пишет его на накопитель, т.е. к части теста «запись» он, тестовый образец, уже был на целевом накопителе почти целиком заранее, поэтому и цифры такие.
Строго аналогичная ситуация происходит при тестировании отдельных накопителей с DRAM-кэшем и кэширующими SLC-буферами. Тестирование позволяет оценить размеры буферов и прикинуть режимы их работы, но управлять логикой все равно нельзя. Это прерогатива прошивки. И если буфер объемный, то и скорости в процессе работы будут приближены к скорости самого буфера. Мухлеж это или нет со стороны производителей — решать вам, а наша задача вас ознакомить с физической и логической сутью происходящего для самостоятельного принятия обоснованных объективной информацией решений.
Как бы там ни было, но все это очень позитивно сказывается на пользовательском опыте и отзывчивости системы в целом. Т.е. вполне реально оставить системным даже жесткий диск при наличии хотя бы 16 гигабайтного твердотельного накопителя под кэш, причем совершенно любого, т.к. если у вас системным — SSD, а под файлы или игры все еще жесткий диск, то можно на системном накопителе выделить область для кеширования HDD и таким образом закэшировать его. Это удобно для игр, т.к. в кэше будет храниться текущая игра, а когда пользователь начнет играть в другую, то она заместит в кэше старую. Если же кэша будет достаточно, то там будут задублировано все, что физически поместится, ведь как видно из схемы вверху все данные по умолчанию будут проходить кэширование. Единственным нюансом будет то, что первичное чтение некоторых данных будет происходить с медленного жесткого диска. Но, как мы увидели выше, их немного в типичном пользовательском сценарии. Кэшируется даже файл подкачки Windows, он же «своп».
Кстати кэширующим накопителем PrimoCache позволяет установить и Optane, т.к. за пределами своей экосистемы он видится как обычный NVMe-накопитель в системе. Т.е. может быть назначен кэширующим со всеми «плюшками» его скорости. Intel расщедрилась и, в отличии от прошлых решений, позволила пользователю вкусить скорости Optane таким пробником, а могли бы и не оставить такой форточки.
Важный момент — чтение из кэша идет уже на стадии загрузки ОС, так что загрузка частично проходит из быстрого твердотельного накопителя даже в случае с системным SSD. Т.е., например, Optane можно ускорять даже Samsung 970 Pro в сценарии работы с мелкими файлами.
И напоследок подчеркну — никто не заставляет иметь сегодня системным жесткий диск. Но даже если он не системный, а просто есть, то его имеет смысл кэшировать и тогда на него вполне можно будет опереться в случае объемных данных для работы или игр и не считать совсем уж рудиментом в системе. Причем закэшировать можно как частью системного SSD, так и любым сторонним, установленным специально для этой цели — благо цены позволяют.
Все это приведено в строго исследовательских целях повышения отдачи от имеющегося железа. И было бы просто замечательно, если бы что-то хотя бы отдаленно подобное предлагалось как часть настроек ОС. Шаг в эту сторону сделали Samsung и Crucial, but more is needed…
Какие главные выводы из прочитанного:
- Кэширование — актуальный процесс, встречающийся повсеместно: от процессора до самого медленного накопителя. Кэшируют все, всё и везде. Кто не кэширует — тот обманывает.
- В современных условиях больших объемов доступной оперативной памяти и дешевых SSD можно и нужно организовывать кэширование любыми доступными средствами. Даже если у вас системным диском крутой Samsung 970 Pro и жесткий диск под хранилище — имеет смысл выделить несколько гигабайт твердотельного диска под кэш HDD. Или даже отдельный самый дешевый SSD для этих целей. Вряд ли у кого-то будет активных данных больше, чем на 100–200 гигабайт разом. А самый дешевый твердотельный диск сегодня стоит недорого и до конца года, видимо, будет дешеветь. Ну и сам 970 Pro вполне возможно закешировать чем-то более быстрым типа Optane и тогда приход позитива от обладания крутыми «железками» будет трансформирован в реальное повышение скорости работы с мелочью даже на топовых из адекватных по цене накопителях.
- Совершенно непонятно, почему подходы PrimoCache или аналогичные не организованы хотя бы базово в части управления в Windows? Конечно, там есть базовое кэширование, но эффективность его работы разительно отличается от предлагаемого сторонним ПО. Да и логику работы настраивать никак не предлагается.
- Аппаратные гибриды в случае открытой архитектуры и п.2 банально нужны еще меньше, чем в период их расцвета, т.е. чуть менее чем никак, т.к. все тематические задачи кэширования совершенно реально организовать прикладным ПО на уровне драйверов. Разве что какие-то ну уж очень узкоспециализированные «железки» под совсем нетипичные задачи могут быть нужны. Мы сейчас в основном о Windows, но в других ОС все это тоже давно присутствует в том или ином виде.
- В Enterprise все уже давно реализовано.
Может я это все придумал, и концепция нежизнеспособна?
Может это самообман и CrystalDiskmark неадекватен? Может это вообще никому не нужно при текущих ценах на SSD и завтра все забудут о жестких дисках? Но вспомним Блока:
Умрешь — начнешь опять сначала
И повторится все, как встарь:
Ночь, ледяная рябь канала,
Аптека, улица, фонарь.
К чему Блок? А вот к чему — Intel совсем недавно выпустил в продажу… гибрид! Внезапненько так. H10 называется. Коротко об изделии на слайде:
Если кто не в курсе — это аппаратная склейка из специфической QLC-памяти, закешированной молниеносным Optane, на одном NVMe-накопителе. Помните же — QLC тормозная на запись и это надо как-то закостыливать. «Оптаном», например.
Ничего не напоминает? Не новые ли это технологичные проприетарные грабли, на которые уже наступали? Не похоже ли это на гибриды, которые мы уже отвидели, но на новом уровне? Почему вообще без DRAM-буфера? Не выделит ли комплектное ПО еще и кэш в ОЗУ перед Optane? Почему работает только со специфическим драйвером, на избранных системах, а не «из коробки» в любых?
Обратите внимание на соотношение «Оптана» и QLC в растворе: 16+256, 32+512, 32+1024. Т.е. в Intel посчитали, что 16 гигабайт кэша на четверть терабайта накопителя достаточно. Это сильно похоже на наш сценарий в PrimoCache, но я-то 16 гигабайтный SSD за копейки для теста брал из бомжатских соображений, а Intel что — боится итогового ценника, если цифры осовременить?
Занимательно, что в товарном образце, в отличие от маркетингового мусора выше, DRAM таки просматривается вполне определенно.
«Без одежды» выглядит так. Раздевали в Storagereview.
Неужели опомнились в последний момент? Или это был маневр по обману конкурентов отсутствием чипа буфера на ранних стадиях? Или без DRAM рулить адресацией в таких сочленениях тяжеловато?
Кстати, вполне вероятно, что конкуренты ответят лошадиными объемами DRAM-буферов в своих решениях на OLC, т.к. QLC уже более-менее оформлены в изделиях, а Optane им никто не продаст. Напомним, что все это происходит на падении рынка полупроводников и перед открытием китайскими товарищами новых мощностей.
Т.е. ставить DRAM будут везде (вендоры не снизят поставки, чтобы не потерять долю рынка перед китайцами, а производители конечных товаров, пользуясь ситуацией, могут нарастить объемы памяти в устройствах почти при тех же ценах ну или снизить цены в ритейле еще сильнее), но не в Intel. Для страховки от неприятностей таки увидим в перспективных конкурирующих решениях еще и батарейки — ведь в случае чего гигабайта четыре из DRAM-кэша надо будет дописать успеть. Но это конфабуляции о будущем. Вы же помните, что в этой части мы конфабулируем?
В прошлый раз мы писали о пересекающихся гарантия SSD и НЖМД. Сделай Microsoft настраиваемое кэширование, то их мож(д)но было бы продавать kit-ами, но это уже фантазии и без допинга особого рода нам не попасть в фазу креативного мЫшления маркетологов.
По сути все вышеописанное не столько конкурирующие технологи, сколько взаимодополняющие, как видим. Далеко не все ресурсы традиционных технологий в полной мере освоены. Более широкий выбор позволяет более гибко подходить к конфигурированию под конкретные задачи и самые интересные решения, в т.ч. программного плана, надеюсь, еще впереди.
Титры
Спасибо дочитавшим до конца более 90000 знаков с пробелами. Теперь вы знаете больше. Свои отзывы и предложения прошу оставлять в комментариях. Возможно, я что-то не осветил или кто-то с чем-то не согласен, и мы вместе повысим образовательный уровень наш и тех, кто эту статью найдет в поиске в будущем.
P.S. В части более бытового использования рассмотренной технологической концепции заметим, что в вашем домашнем обратноосмотическом фильтре воды низкая производительность фильтрующей мембраны. закэширована накопительным баком.
Пока longread готовился к публикации, благая весть поступила от Intel в виде анонса следующего этапа продвижения кэширющих Optane — модулей М15 под PCI-E 4.0. Максимальный объем теперь составляет 64 гигабайта, что уже ближе к реальности. Но самое главное — обещают рост скорости по мелкоблочке раза в два! Т.е. мегабайт до 500–600 в секунду. Это будет очень интересно не только протестировать, но и просто установить систему и узреть чистое сияние прогресса. Важно при этом другое — о железных изменения в части контроллера или самой памяти не сообщается, а просто за счет PCI-E 4.0 скорость мелкоблочки так возрасти не могла, разве что из-за распараллеливания нагрузки. Т.е. самое интересное по теме у нас впереди и оно уже становится более-менее доступно в ритейле.
Как ускорить жесткий диск при помощи дополнительного кэша?
Хочу сразу сказать, что это не тупо мое мнение или мне кажется то, что дополнительный кэш ускоряет диск, так оно и есть на самом деле (недаром пользуюсь уже два года примерно). Но обо всем по порядку. Во-первых жесткий диск на самом деле не ускоряется, просто процесс работы Windows с файловой системой оптимизируется по максимуму.
Кэш есть кэш. Данные которыми вы пользовались недавно заносятся в него, программы которые ведут активную работу с файлами — в большинстве случаев записывают в кэш, он уже в определенный интервал скидывает их на жесткий диск. Этот процесс в новой версии софта уже НЕ глючит, то есть все проходит плавно (при использовании режима Idle-Flush).
Про утилиту PrimoCache
Я вот почему рассказываю об этой утилите, она кстати называется PrimoCache, и я ей пользуюсь с первой ее версии, и на сегодня она уже ну очень здорово усовершенствовалась.
Еще раз, это программное решение кэша выполнено в виде драйвера. Сам кэш создается из оперативной памяти, то есть чтобы его сделать у вас должно быть ее как бы немало, ну 4-8 гб хотя бы.
Программа НЕ бесплатная, но можно пользоваться 60-дней бесплатно, впрочем кому она реально станет очень полезной, то обойдут это ограничение не взламывая саму программу
Не знаю, стоит ли этот кэш ставить чтобы улучшить производительность игр — тут я не знаю, потому что они данные загрузили в оперативку и работают с ними. В игре я заметил вот что — первый раз уровень игры загружался как обычно, а потом, после получаса игры все уже как бы быстрее работало, прорисовывалось. Но файловая система вообще мало влияет на игру, тут только загрузка может увеличится, в игре важна видеокарта в первую очередь.
Особенности программы PrimoCache
В общем, не буду долго расписывать, а напишу все особенности программы в виде списка, так думаю будет удобнее.
- Как я уже писал, для работы нужно немного свободной оперативки, хотя бы 1-2 Гб. Это позволит снять пиковые кратковременные нагрузки на жесткий диск, например одна из таких нагрузок может быть открытие кучу вкладок в браузере. Что это вообще происходит? Каждая вкладка, это страница и в ней есть картинки, скрипты ну и еще какие-то элементы. Почти все браузеры это кэшируют, так вот, все это записывается на жесткий диск, а это все мелкие файлы (!), и вот куча вкладок и создает процесс записи большого количества мелких файликов на диск! Когда есть кэш PrimoCache, то он принимает нагрузку эту всю на себя, а скорость работы оперативки куда выше чем жесткого диска, в итоге браузер работает немного быстрее.
- По поводу кэширования Windows. Да, тут я не спорю, она также отлично кэширует, но делает она это куда проще — просто кэшируя файлы! А PrimoCache кэширует блоки файлов и ему все равно что это за блоки — просто программа какая-то или системные данные/библиотеки.
- Риск потерять данные есть, но в новых версиях PrimoCache есть алгоритм работы такой, при котором данные будут скидываться в режиме простоя и постепенно. Тем не менее, если поставить интервал например 4 секунды, то сбрасывать данные будут почти сразу и при этом не мешая другим программам работать с диском. В общем у меня не было еще такого, чтобы я потерял данные, хотя использую утилиту около двух лет.
- Еще одно преимущество такого кэша в том, что если система с таким кэшем работает уже долго, то все основные данные уже будут кэшированы. Если нужно будет открыть программу, которую вы НЕ открывали и разумеется ее в кэше НЕТ, то она откроется БЫСТРЕЕ, так как этому процессу никакие обращения к диску мешать НЕ будут, ибо все они будут кэшированы.
- Драйвер программы (это и есть основной механизм) не нагружает процессор вообще, сколько я не тестировал и не проверял — нагрузки нет при любом обьеме.
- При выключении Windows кэш будет также автоматически сбрасываться на диск, и только потом уже система выключится.
- В качестве кэша также можно использовать SSD-накопитель, что даже плюс, так как в режиме постоянного плавного сброса можно использовать какой-то дешевый SSD, а потом если что — заменить. Но SSD дешевле да и больше обьем, чем у оперативки, и при этом обьема хватит чтобы кэшировать почти все то, чем вы пользуетесь ежедневно. Если использовать SSD-кэш на 128 Гб например, то вообще вы редко будете замечать скорость работы файловой системы, сопоставимую с жестким диском.
- Программа работает стабильно — никаких глюков мной выявлено не было вообще, то есть не было такого что она зависала, даже в первое версии утилиты.
- Те кто часто работают с виртуальными машинами, как например я, реально смогут оценить эффект от PrimoCache, который будет кэшировать в том числе блоки виртуального жесткого диска, что в свою очередь очень ускоряют файловую систему виртуальной машины (я лично пользуюсь VMware, но в VirtualBox думаю также ускорит). Кстати с таким кэшем, виртуальная машина в спящий режим переходит мгновенно.
- Также эффект очень заметен при установке программ. Любая программа, особенно тяжелая со многими установочными файлами, папками, будет установлена намного быстрее с таким кэшем, чем без него (опять же, при установке записываются очень много мелких файлов на диск!). Я лично проверял на офисном пакете от Microsoft и OpenOffice.
Ну, примерно так все, еще раз напишу я программу не рекламирую, просто лично для меня она ну очень полезной оказалась.
Установка PrimoCache
Вроде бы все что нужно уже написал и можно приступать к установке, ничего сложного тут нет, переходим на эту страничку и оттуда скачиваем последнюю версию супер программки для ускорения жесткого диска.
У нас это версия v2.2.0, выбираем Desktop Edition, разницы с серверной версией почти нет, там она только в кэше который создается то ли для всех разделов, то ли для одного, честно говоря не помню, серверную лучше использовать на серверах Ну и еще одно отличие в поддержке, серверная как я понимаю имеет другой уровень поддержки как и совсем другую цену за лицензию.
В общем распаковали архив с утилитой, запускаем ее. Как обычно, нажимаем Next, потом принимаем лицензионное соглашение, снова Next, путь установки без причины не меняем:
Ну и снова Next В общем с установкой у вас проблем возникнуть не должно, все предельно просто. Я не написал еще одно, программа на английском, но уверяю вас что в ней вы сможете разобраться без проблем! Я же как-то разобрался, хотя и плохо знаю английский
После установки программы нужно будет перезагрузится.
В общем, я сделал перезагрузку, наверно вы тоже ну или читаете дальше, в общем проблем нет — все работает, драйвер уже в работе, но кэш для жесткого диска еще нужно настроить.
На рабочем столе будет ярлык PrimoCache, запускаем его и видим вот такой интерфейс программы:
Вверху кнопки, а внизу будет отображен статус работы. Чтобы создать кэш, нужно нажать на первую верхнюю кнопку с зелененьким плюсиком.
Теперь давайте создадим кэш, у меня на компе 2 Гб ОЗУ, что не так много, но любой кэш если и не будет ускорять жесткий диск, то точно продлит срок службы его, избавляя от многочисленных однотипных запросов к нему.
Итак первое, что вам нужно — это указать для какого диска вы хотите создать кэш. Сразу скажу, что вы можете не заморачиваться и выбрать все диски — то есть поставить везде главные галочки, вот тут:
Ну, если у вас там жестких дисков несколько, то и галочек будет несколько
Выбрали диски, нажимаем Next. Тут нужно выбрать стратегию — то есть какой режим кэша для жесткого диска вы хотите? Давайте я перечислю какие они могут быть.
- Read. Кэш будет только на чтение. То есть открыли вы например пару программ, закрыли, и если их снова открыть — то они будут уже прочитаны из кэша. Если у вас современный SATA-диск, то может эффект будет и небольшой, но если у вас старая Windows XP со старым IDE-диском, то эффект уже будет заметный. Я наверно не написал, но PrimoCache также работает и в Windows XP
- Read (SSD Cache Only) — кэш будет создан только с использованием SSD-накопителя, то есть для настройки кэша из SSD у вас должен быть свободный пустой SSD-диск, вы его подключаете и отдаете утилите PrimoCache.
- Write. Режим только для записи. Все что вы записываете, сперва будет попадать в кэш, хотя Windows будет думать что данные уже на диске. Так вот, а потом, спустя некоторое время (то которое вы указали) они будут уже записаны на физический диск: или плавно, не мешая системе, или максимально быстро (можно выбрать режим).
- Read & Write. Ну и последний режим, который и нужно выбирать, это и запись и чтение, то есть оптимальный выбор, я вообще-то только таким и пользуюсь. Другие могут быть полезны в специфических задачах, например там, где постоянно или часто идет запись кучи мелких файлов на диск, а вы как знаете, скорость записи или копирования мелких файлов ну очень мала на жестких дисках.
- Saved Configuration это просто чтобы загрузить вашу конфигурацию, то есть уже готовую, сохранить ее можно в уже настроенной программе (например при переустановке Windows).
Нажимаем Next, теперь уже будет открыто главное окно настроек. Теперь смотрите, перед тем как настраивать, давайте немного разберемся — сколько нужно отводить памяти для такого кэша жесткого диска?
- Если у вас современная версия Windows, а это я имею ввиду семерка, восьмерка или десятка, то считаем так. Минимум откидываем 1 Гб на саму Windows, потом если у вас есть какие-то ресурсоемкие программы, то они тоже могут потребовать 1-2 Гб ОЗУ. Если у вас например 8 Гб, то можете дать на кэш 2 Гб или даже 4 Гб в зависимости от того, что вы делаете на компе.
- Если у вас Windows XP, то на нее и на все программы думаю хватит 2 Гб, а остальное можно кинуть на кэш. В любом случае, не старайтесь задать тот размер, который программа не разрешает, это просто приведет к диким тормозам, так как начнет активно работать своппинг — то есть файл подкачки (из-за нехватки оперативки).
- Сделайте так — запустите комп, включите все нужные программы, и потом уже задавайте кэш из той памяти, которая осталась.
- У меня лично 8 Гб ОЗУ, и из них 4 Гб я выделил под кэш, так как мне важна быстрая работа виртуальной машины, при этом что-то ресурсоемкое чем офис я не запускаю.
В общем вы можете спокойно поэкспериментировать, даже минимальный кэш для жесткого будет очень полезным, так как ему будет просто легче работать.
Итак, как вы уже поняли, кэш задается вот тут:
Теперь настройки справа, там будет такое как Block Size, его нужно выставить таким, как у вашего жесткого диска, то есть я имею ввиду размер кластера. Если вы не знаете какой — не беда, пропускайте этот шаг, так как после запуска кэша будет инфа о том, какой у вас кластер и потом сможете изменить.
Cache Strategy — это выбор стратегии, но мы уже выбрали и другой тип использовать я не рекомендую, вам вряд ли он будет эффективнее.
Опция Enable Defer-Write. Это очень и очень важная опция, тут вы указываете через сколько секунд сбрасывать кэш на жесткий диск, по умолчанию стоит 10 секунд, можете это время не трогать, а можете установить меньше в целях безопасности. У меня стоит 8 секунд.
Теперь напротив этой опции будет кнопка, она означает за метод скидывания данных, вот эта кнопка:
Вот там есть меню Write Mode, в котором есть пять режимов, вы можете поэкспериментировать с ними, а можете сразу выставить тот, который советую я — это Idle-Flush. В этом режиме данные будут скидываться в то время, когда диск особо ничем не занят, и при этом скидываться будут не на полную скорость, чтобы не забивать скорость самого диска. Тип Native это просто чистый режим, то есть данные просто будут записываться через каждый указанный вами промежуток времени. Есть еще режим Intelligent, я его также пробовал и там также могут быть тормоза системы, в общем мне понравился только Idle-Flush.
Но почему могут быть тормоза системы при некоторых режима? Дело в том, что когда приходит время скидывания данных, то PrimoCache их записывает на диск с максимальной скоростью. А это может тупо забить диск и он будет в это время очень медленно работать, это время конечно будет очень малым, но все же это было основной проблемой первой версии программы, потом уже исправили.
Еще нужная опция это Free Cache on Written — очистка кэша, который был занят данными для записи. То есть те данные, которые были записаны в кэш, а потом уже на физический диск, то в кэше они уже будут удалены, так как просто не нужны. Это не относится к данным чтения. Эту галочку лучше включить.
Опция Flush on Sleep нужна для того, чтобы скидывать кэш перед переходом в режим сон.
Еще есть опция Prefetch Last Cache, это чтобы данные, которые были при выключении Windows, потом при включении автоматически заносились в кэш. С одной стороны опция полезна, а с другой, при старте Windows она и так что-то загружает, включает, в общем и при этом еще будет работать кэш, который возможно будет восстанавливать в кэш уже полу-просроченные данные или просто неактуальные. Эту опцию лично я не включал, можете попробовать
В общем я создал кэш на 256 мб, это тоже хорошо, в любом случае ЛУЧШЕ чем его нет, особенно если у вас старенький жесткий диск как у меня, моему то лет десять уже
Теперь можно нажать два раза по кэшу и выставить уже тот размер кластера, который у вашего жесткого диска (именно он и показан напротив раздела в созданном уже кэше!), то есть 4 кб в моем случае.
Внизу программы вы можете посмотреть статистику работы, в основном важны два параметра, это:
- Deferred Blocks, тут будет указано количество блоков, которые в кэше и которых еще нет на жестком диске, но после того как они будут записаны, то тут цифра будет уменьшаться до нуля.
- Free Cache — сколько свободного кэша у вас есть, то есть можно понять сколько примерно данных уже кэшировано.
Другие параметры уже не столь важны, самое главное чтобы не очень много было блоков Deferred Blocks, то есть этим хочу сказать чтобы указанный интервал был достаточный для того, чтобы там регулярно проводилось скидывание данных. Чтобы вы ничего не потеряли, мало ли, если свет выключится или зависнет Windows, ну, много может быть вариантов. Если у вас ИБП, то вообще супер, можно поставить хоть минуту. Но у меня есть ИБП, но все равно стоит 8 секунд
Вверху будет кнопка дополнительных настроек:
Можно включить опцию Launch PrimoCache GUI application at Windows startup — чтобы после включения Windows запускалась программа уже с открытым главным окном статистики, а также может вам будет интересна опция Minimize to the system tray when closed — это чтобы при закрытии главного окна она переходила в трей и там сидела со своим значком Остальные опции лучше не трогать.
А теперь еще кое о чем, я не советую при таком кэше использовать спящий режим, все таки не знаю насколько это стабильно будет все работать, лично я ни разу не пользовался спящим режимом. С опцией предварительной загрузки вы можете поэкспериментировать, если у вас ноутбук и вы просто сидите в интернете, пользуетесь браузерами, то вполне возможно что эта опция будет вам нужной. Вы включили ноутбук, загрузилась Windows, и уже скоро все данные в кэше. Все ваши браузеры откроются мгновенно, и остальные программы.
Ну и еще, если у вас очень большой кэш, например 8 Гб, то лучше не рисковать и выставить небольшой интервал скидывания данных, например десять секунд. Для надежной работы при использовании большого времени задержки работы Defer-Write для стационарного компьютера для безопасности от потери данных при внезапном отключении питания необходимо использовать UPS!
Ну, на этом все, надеюсь что вам статья была интересной и полезной, и вы может быть решили задачу о том, как ускорить жесткий диск хоть немного
Comments
После установке программы не определяется производительность системы по жесткому диску
Может она просто не может понять почему диск стал такой быстрый?
А вообще не стоит обращать внимание на такой показатель как оценка системы.
Вы лучше на своем опыте проверьте — есть прирост производительности компьютера или нет. Но советую потестировать где-то неделю, а потом уже делать выводы
Действительно, интересная программка. Версия 2.5.0. Кэширую системный SSD-диск, задал объём кэша 4GB. До применения PrimoCache ежедневно записывалось в среднем от 4GB до 12GB, теперь записывается от 2GB до 4GB. Т.е. не только ускоряются процессы обращения к диску, но и экономится ресурс SSD. Вы писали, что можно как-то обойти ограничение 60 дней, хотелось бы поподробнее об этом.
Спасибо.
Ну мой способ не думаю что вам понравится. Я ставлю Windows 10, все нужные программы я делаю портативными на другой раздел. Саму Windows 10 я настраиваю как мне нужно. Но не ставлю PrimoCache. И потом всего системного диска я делаю бекап, и после этого уже ставлю PrimoCache. Когда кончается срок, то я просто восстанавливаю все из бэкапа и снова ставлю PrimoCache.
Преимущество тут не только в том, что PrimoCache снова дает тестовый период, но и в том, что при восстановлении образа, я ставлю галочку чтобы заново пересоздать разделы. Это позволяет записать на диск содержимое бэкапа так, что почти отсутствует фрагментация!
Просто лично мне PrimoCache просто тупо помогает. Если бы не было утилиты этой, то многие дела у меня бы подвисали. Тесты проводил уже не один раз
Хм.У меня диск crucial mx 200 и там есть функция моментум кэш.Почти тож самое,но не включаю. Думаю может попробовать,а то мало ли что браузер записывает постоянно,тратя ресурсы ссд,да и озу 12 гиг.Из которых 2 гига судя по диспетчеру точно не кэшируются.(хотя что странно,виндоус 10 ни как не мог кэшировать озу.Постоянно 500мб было написано.
А не посоветуете ups,он скок вообще стоит? Вот у меня по сути система не много жрет,
200ватт, при том что бп на 750.Где то слыхал что не желательно некоторые бп использовать с такими устройствами.Или это с стабилизаторами напряжения.
У меня стоит UPS какой-то дешевый самый, от фирмы Powercom и знаете, работает без проблем. Он мне не нужен чтобы комп работал без света, он нужен только чтобы я успел компьютер выключить и когда перепад напряжения в секунд 5 — чтобы компу от этого не было плохо. В принципе фирма Powercom вроде как неплохая, APC вроде как тоже неплохая.
Ну, можете попробовать, вы ничего не потеряете. Поставьте кэш на чтение и запись 2 гига (2048 мб) и поработайте так месяц. Потом отключите и сравните
Мне тоже много не надо. Но стоит у ups какие нибудь сигналки,чтобы понять,что электричества нет,или там лишь диод светит,который ты не заметишь. Что интересно в самой программе crucial есть оповещение «не обнаружен ups». Будто его комп может как то увидеть. Спасибо,хорошая тема.
Ну, на самом деле комп таки видит что есть UPS, если установлены драйвера на UPS. Но я их не ставил, ибо это как-то мне не очень нужно. Мой UPS пищит когда нет света и пищит так, что хочется его побыстрее вырубить!
ps вернее многие модели UPS могут поддерживать связь с компом по USB..
А что программа должна постоянно работать?
На самом деле не совсем так. Программа это только доступ к драйверу/сервису, который работает постоянно. Саму программу можно закрыть. Но при удалении программы она удаляет и свой драйвер/сервис. Как-то так
Большое спасибо наткнулся на ваш сайт в поисковике (по SuperFtech искал решение) и нашел еще как заставить мой жесткий диск не стрекотать постоянно!
На HDD перестал работать кэш (может сбойнула микропрограмма в HDD или еще что-то).
Victoria выдает — CACHE: Unk.size; L/A=ON; Wr=OFF; (а должно быть Wr=ON — если HDD нормальный).
В Винде в настройках кэширования HDD галка Разрешить кэширование автоматом снимается (хотя вручную её выставляю).
Итого комп стал тормозным.
Установил прогу — запустил разом несколько прог и браузеров разных, понаблюдал с полчаса за чтением-записью на HDD.
Результаты:
физического обращения к HDD меньше;
HDD стал чаще простаивать (срок службы соответственно будет больше);
другие проги открываются побыстрее.
На самом деле чтобы понять разницу, нужно установить программу, настроить, задать кэш, лучше не менее 1024 мб и забыть на недели две. И потом уже сравнить. Я лично уже не могу без PrimoCache, ибо многие моменты стали работать намного быстрее.
Пользуюсь давно. Программа хорошая, поэтому я честно за неё заплатил. Кэширую на чтение и запись системный SSD-диск (кэш L1) и HDD с данными (кэш уровня L2). В системе установлено 16 GB оперативной памяти, использую под кэш L1 4GB, значение Defer-Write 60 секунд, Mode Native, Options FlashSleep. Windows 10 pro x64. В общем-то программа делает то же, что приложение Samsung Magician для SSD Samsung, только лучше.
Спасибо за отличную статью! Я ставлю Latensy 300, как по мне так быстрее все))) 16 гб оперативной памяти из них выделил 2гб так как играю в игры и там жер оперативы 10-12 гигабайт.
Благодарю вас за материал и прошу ответить вот на какой вопрос: что такое L2 cash и вкаких случаях им пользоваться. Кэш на ssd только на чтение? Или я что то не понял? Заранее благодарен за ответ
Есть способ задать типы файлов, которые не кешируются (фильмы, музыка)? Или указать путь, данные по котором не кешируются?
Огромное спасибо за отличную статью(инструкцию).
После нескольких раз прочтения и тестирования программы,
знание закрепилось.
Статья составлена на профессиональном уровне.
Все ключевые моменты представлены с пояснениями.
Лично для меня слепых зон не осталось.
Тут главное трезво взглянуть на ситуацию и понять принцип работы.
Некоторые после включения primo тестируют скорости в CrystalDiskMark,
и естественно там отображаются колоссальные результаты относительно
реальной скорости записи/чтения. Было 120Mb/s стало 2000Mb/s.
Важно понять, что не диск вдруг стал производительнее, а лишь та
область(кэш), которая находится в оперативной памяти.
Итоговая процедура сброса данных на физический диск будет протекать
со скоростями возможными для текущего носителя-приёмника.
Аналогию можно встретить в SSD накопителях на базе чипов TLC.
Сама TLC память достаточно медленная, но при наличие SLC-кэша, скорость
значительно возрастает, а данные в простое тихо перемещаются из SLC в TLC область.
Для обычного домашнего пк — это не заметно и вполне хватает.
Хочу посоветоваться с Вами.
Если программа создаёт выделенный кэш в оперативной памяти,
то имеет ли смысл отключить в системе службу SuperFetch(SysMain)?
Отталкиваясь от определения службы — SuperFetch использует кэш в
оперативной памяти для программ, с которыми вы часто работаете, тем самым ускоряя их работу.
Получится, что теперь два кэша будут сидеть в оперативной памяти?!
Будут ли они конфликтовать или возможно помогать друг другу?
Или при отключении системного, будет достаточно primo?
Или пусть работают вместе?
Или primo возьмёт приоритет на себя и перекроет системный(возможно даже выключит его)!?
И ещё один вопрос.
Меня заинтересовал Ваш комментарий:
«что при восстановлении образа, я ставлю галочку чтобы заново пересоздать разделы.
Это позволяет записать на диск содержимое бэкапа так, что почти отсутствует фрагментация!»
В кокой программе Вы создаёте бэкап?
Ещё раз огромное спасибо. Для меня Ваша статья оказалась
очень познавательна и полезна. Успехов Вам и всего самого хорошего.
Здрвствуйте Ответил вам, могут быть ошибки, советую внимание не обращать, смысл не потерян
Спасибо за невероятно отличнейший комментарий
«Итоговая процедура сброса данных на физический диск будет протекать
со скоростями возможными для текущего носителя-приёмника.»
Статью написал давно. Сегодня в версии 3.0 уже самый максимальный эффект — сброс данных в определенный интервал: у меня — 10 минут, но есть ИБП. В случае когда нет ИБП — сами понимаете, есть риск потерять данные. Если выбрать постепенное сбрасывание — производительность чуть хуже (едва заметнее).
«Аналогию можно встретить в SSD накопителях на базе чипов TLC.
Сама TLC память достаточно медленная, но при наличие SLC-кэша, скорость
значительно возрастает, а данные в простое тихо перемещаются из SLC в TLC область.»
Да, кажется такой кэш используется в некоторых моделях SSD Samsung.
«Если программа создаёт выделенный кэш в оперативной памяти,
то имеет ли смысл отключить в системе службу SuperFetch(SysMain)?»
Как показал мой опыт — нет, отключать не стоит. Более того — размер кэша нужно указывать столько, чтобы при максимальной загрузке системы свободной оперативной памяти оставалось 1-2 гб.
«Или пусть работают вместе?»
Пусть работают вместе. Суперфетч кэш немного другого плана, он не просто кэширует как PrimoCache. То есть и там и там свои плюсы. Но если отключить Суперфетч — можно заметить замедление работы системы, даже если есть кэш примо. Суперфетч это не только кэш, но и предвыборка данных.
«В кокой программе Вы создаёте бэкап?»
Обычный бэкап штатными средствами, если быть точнее то — создание образа диска. При восстановлении — есть галочка чтобы удалить все разделы и создать их заново. Данный вид бэкапа, на мое усмотрение — лучшее что есть из бэкапа, да и еще встроено в саму Windows.
PS очень важен кэш и на запись и на чтение. При большом кэше, обьем на запись можно сократить на 50%. Например если взять 4 гига, то 3 — чтение, 1 — запись. Если кэша мало — то 50 на 50, как и идет по умолчанию.
«ведь он кэширует файлы, а не блоки»
Все файлы состоят из блоков, которыми они считываются или записываются. Примокэш работает на основе драйвера, через который проходят все файловые операции чтения/записи.
Блок — в прямом смысле. Например есть файл программа.exe, размером 12 мб. Этот один файл может быть кэширован суперфетч полностью. И примокэшем тоже. Приоритет будет у примокэша. Однако в своей работе программа может использовать библиотеки, другие файлы, плагины, вызовы функций в библиотеках, и много-много мелких операций производить. Именно здесь Примокэш и показывает максимальную производительность — кэш постепенно заполняется всем, что связано с программой, в которой вы работаете, и в итоге достигается максимальная производительность. Программы бывают разные — в Хроме это может быть незаметно, а в виртуальной машине, где я постоянно работаю — заметно прилично. Поэтому все зависит от условий. По большому счету большинству примо особо и не нужен.
Примокэш кэширует абсолютно все, ему все равно что и как, так как по блокам неизвестно что это за файл. Суперфетч кэширует файлы, возможно есть приоритеты, возможно не все кэширует, например как в Intel Optane Memory (в больших версиях кэша — не все файлы кэшируются).
Совместная работы примо+суперфет дает наилучший результат.
PS при огромном кэше на запись и правда можно уменьшить количество записи данных на SSD в целях увеличения срока службы.
Надеюсь ответил на ваш вопрос
Спасибо за развернутый ответ.
Значит Примо + Суперфетч.
Тут наткнулся на следующее…
В программе «Samsung Magician» есть пункт «Rapid».
Выяснилось, что программа тоже создает выделенную область под
кэш в оперативной памяти, но это работает только для «SSD Samsung 850».
Как же быть? Допустим в системе стоит «SSD Samsung 850» и установлена программа «Samsung Magician».
Rapid выключен. И примо помогает SSD, но если Rapid включен и примо включен, что тогда?
Начнутся ли конфликты между ними или нет? Вопрос возник вот из чего.
Что если в системе еще установлен HDD вторым диском. Rapid на него ведь не распространится, только примо. И на сколько отличимы принципы работы обоих режимов Primo + Rapid?
«Значит Примо + Суперфетч.»
Не забывайте об экспериментах. В моих условиях данное сочетание наиболее эффективнее. Учтите, что при обычной рабочей загрузке системе, у вас должно оставаться свободно 2 гб ОЗУ. Даже если вам кажется, что памяти слишком много — вы можете провести эксперимент и убедиться, что в случае с 1 гб свободной ОЗУ при загрузке ПК — работа будет менее отзывчивой. Я веду к тому, что нужно соблюдать баланс между кэшем и свободной ОЗУ. Раньше я старался максимально больше выделить памяти ОЗУ.
«В программе «Samsung Magician» есть пункт «Rapid».»
Данной программой не пользовался. Однако сомневаюсь в большей эффективности чем PrimoCache (уровень блоков). Стоит уточнить какая память используется для кэша. Если ОЗУ — тогда не стоит. Если подразумевается использование внутренней памяти SSD ограниченного обьема с увеличенными скоростными показателями — тогда стоит. Данная внутренняя память присутствует в вашем SSD, как впрочем и в 860 модели, но кто именно работает с ней — Samsung Magician или контроллер — неизвестно, но думаю что второе.
«И примо помогает SSD, но если Rapid включен и примо включен, что тогда?»
Rapid здесь лишний, при условии что он использует исключительно ОЗУ в качестве кэша.
«Начнутся ли конфликты между ними или нет? »
Есть вероятность, так как вполне возможно что Samsung Magician также использует драйвер низкого уровня (простыми словами — жутко системный, ошибка в драйвере может привести к синему экрану).
«Что если в системе еще установлен HDD вторым диском. »
В таком случае лучше использовать только Primo (плюс суперфетч).
«И на сколько отличимы принципы работы обоих режимов Primo + Rapid?»
Можете для интереса заняться этим вопросом на досуге, я к сожалению не имеют такой возможности. И потом написать мне. Мое мнение — Samsung Magician и PrimoCache используют абсолютно разный подход к реализации кэша.
Наибольшая производительность PrimoCache достигается при отложенной записи более 60 секунд (режим чтение/запись). Данный режим опасен потерей файлов при отключении электричества. Поэтому использовать необходимо только при наличии ИБП.
Также, путем настойчивых экспериментов, была выявлена еще выше производительность (скорость случайного доступа) при совместной работе PrimoCache и Diskeeper (дефрагментация в реальном времени). При этом использовался кластер 64 кб.
PS я лично в качестве кэша думаю прикупить себе самый дешевый SSD на 64-128 Гб для работы кэша только на чтение.
Источник http://profi-user.ru/cache-hdd/
Источник https://www.overclockers.ua/storage/cache-hdd-ssd-ram/5/
Источник http://virtmachine.ru/kak-uskorit-zhestkij-disk-pri-pomoshhi-dopolnitelnogo-kesha.html