На прошлой неделе, после более подробного изучения предметной области, я размышлял о том, что я пренебрегал все эти годы, чтобы понять политику кэширования записи, всегда оставляя ее по умолчанию. Политика кэширования записи улучшает производительность записи и состоит из кэширования с обратной записью и очистки буфера в кэше записи.
Вот как я понимаю все вышесказанное, но поправьте меня, если я где-то ошибся:
Кэширование сквозной записи / само кеширование сквозной записи само по себе не является частью политики кэширования записи, и это происходит, когда данные записываются как в кэш, так и на устройство хранения, поэтому, если Windows понадобятся эти данные позже, они извлекаются из кеша, а не из запоминающее устройство, которое означает только улучшенную производительность чтения, поскольку нет необходимости ждать, пока запоминающее устройство снова прочитает требуемые данные. Поскольку данные по-прежнему записываются на запоминающее устройство, производительность записи не улучшается и не представляет риска потери или повреждения данных в случае сбоя питания или сбоя системы, в то время как теряются только данные в кэше. Эта опция, по-видимому, включена по умолчанию и рекомендуется для съемных устройств без необходимости использовать функцию "Безопасное извлечение устройства" со стороны пользователя.
Кэширование с обратной записью аналогично описанному выше, но без записи данных на устройство хранения, периодически освобождая данные из кэша и записывая данные на устройство хранения, когда оно находится в режиме ожидания. По моему мнению, эта опция улучшает производительность как чтения, так и записи, но представляет риск, если происходит сбой питания или сбой системы, что приводит не только к потере данных, которые в конечном итоге будут записаны на устройство хранения, но и к несогласованности файлов или повреждению файловой системы. Кэширование с обратной записью не может быть включено вместе с кэшированием с прямой записью, и его не рекомендуется включать, если нет резервного источника питания.
Очистка буфера записи-кеша, на мой взгляд, похожа на кеширование с обратной записью, но обеспечивает немедленный выпуск и запись данных из кеша на запоминающее устройство непосредственно перед отключением питания, но я не знаю, относится ли это также к случайным сбоям системы. Эта опция, кажется, дополняет кэш с обратной записью, уменьшая или потенциально устраняя риск потери данных или повреждения файловой системы.
У меня есть вопросы по поводу актуальности последних двух вариантов для современных современных твердотельных накопителей, чтобы добиться максимальной производительности и меньшего износа твердотельных накопителей:
Я знаю, что традиционные жесткие диски поставляются с встроенным кешем (интересно, какой это тип кеша), но SSD-диски также поставляются с кешем? Предполагая, что они это делают, этот кэш быстрее, чем их NAND-флэш-память и системная память, и стоит ли рисковать использовать его, включив кэш с обратной записью? Я где-то читал, что, как правило, кэш-память устройства быстрее, чем ОЗУ, но я хочу быть уверен. Кроме того, я прочитал, что кэширование записи должно быть включено, поскольку текущие данные, которые должны быть записаны позже во флэш-память NAND, некоторое время хранятся в кеше и при условии, что есть данные, которые перед изменением записываются многократно, сохраняя эти данные и их данные. периодический выпуск сокращает время записи в SSD, тем самым уменьшая его износ.
Теперь, что касается очистки буфера в кеше записи, я слышал, что контроллеры SSD сами по себе настолько быстры, что включение этой опции не требуется, поскольку они управляют сбросом. Тем не менее, еще раз, я не знаю, есть ли у SSD собственный встроенный кеш и является ли он более быстрым, чем их NAND флэш-память и системное ОЗУ, потому что если это так, то сохранение этой опции имело бы смысл.
Недавно я опубликовал вопрос о проблеме с моим твердотельным накопителем Intel 330 SSD 120 ГБ, что стало основной причиной для более глубокого исследования, поскольку подозрение в том, что политика кэширования записи является виновником проблемы зависания твердотельного накопителя, предполагая, что освобождение данных является причиной зависания. В настоящее время у меня включена запись-кэш и очистка буфера записи-кэша, потому что я считаю, что управление SSD-контроллером при очистке кэша записи и очистке буфера записи в Windows конфликтует между собой:
Поскольку я хочу небольшими шагами устранить неполадки, чтобы окончательно определить источник проблемы, я решил начать с политики кэширования записи и перехода к драйверам, позже переключиться на AHCI и, наконец, отключить DIPM (управление питанием, инициируемое устройством) посредством изменения реестра. спасибо @TomWijsman