Что означает «очистка буфера кэша записи»


12

Как и в параметрах политики дисков Windows 7:

[x] Enable Write Caching on the device
[ ] Turn off Windows write-cache buffer flushing on the device 

Первый кеш на физическом диске, а второй кеш windows?

(Я погуглил, но не нашел четкого ответа).

Ответы:


12

См. Раздел «Дополнительная информация» по адресу http://support.microsoft.com/kb/332023 :

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

Кэширование записи значительно повышает производительность диска, поэтому оставьте его включенным для внутренних жестких дисков.

По умолчанию Windows отключает кеширование записи для флэш-накопителей и других жестких дисков USB, обычно вам не нужно изменять эти настройки, Windows позаботится об этом за вас.


5
как сказал Моав. Единственная причина, по которой вы можете захотеть отключить кэширование записи на внутренних жестких дисках, заключается в том, что вы часто сталкиваетесь с отключениями или отключениями. но если это так, то я рекомендую вам вложить деньги в приличный ИБП и оставить кеширование записи
Xantec

1
Спасибо за ссылку! Если я правильно понимаю, это означает, что «не сбрасывать, даже если программное обеспечение говорит так». Меня больше всего интересовал второй вариант - тестирование скорости сборки на SSD и HDD. Проблемы с энергосистемой являются редкостью, и это действительно редкое явление для немецкой инженерии .
peterchen

1
Этот ответ не помогает мне понять разницу между двумя настройками. Если вы очищаете кеш при каждой записи, значит, вы не кэшируете - каким образом включено кэширование записи (первый флажок)? Кажется более вероятным, что сброс происходит периодически, когда отключен второй флажок или что-то подобное.
Сэм Брайтман,

3
@ SamBrightman: насколько я понимаю: первый параметр включает кэш Windows - если приложение записывает в файл, оно не сразу передается на диск. Приложение может вызвать «сброс», чтобы заставить вещи быть написанными физически. Второй вариант говорит: когда приложение говорит «сбросить», Windows все равно будет сбрасывать свой собственный кэш на устройство, но не будет сообщать устройству очистить свой собственный внутренний кэш. Это нейтрализует команду «сброс» (поскольку приложение считает, что данные на диске безопасны). Приемлемо только в том случае, если постоянство данных не является приоритетом.
peterchen

2

Я всегда отключаю кэширование с обратной записью, все время, каждый раз. Это была плохая идея с самого начала. Я объясняю это так: если вы нажмете «Сохранить» в вашем текстовом редакторе, и произойдет сбой питания, при отключенном кэшировании с записью, ваш документ не будет сохранен (пока не сработает автосохранение). Отключение кэширования с обратной записью вынуждает его фактически записывать ваш файл на диск при нажатии кнопки «Сохранить». То же самое относится к отключениям питания, BSOD, программным сбоям и т. Д.


1
Чтобы округлить ваш ответ, возможно, вы могли бы включить, как вы отключите его. Также приведите несколько источников, подтверждающих вашу позицию.
Slm

3
Но почему это имеет значение? У вас точно такая же проблема, если питание отключается до того, как вы нажимаете «Сохранить».
Дэвид Шварц

1
@CodeLurker, преимущества кеширования в производительности достаточны для того, чтобы он вообще стоил редкого риска потери мощности. Очевидно, что обстоятельства будут определять, следует ли использовать его или нет, независимо от того, является ли питание надежным или нет, какие типы файлов используются преимущественно и так далее.
Synetech

2
@ Synetech Это в принципе без разницы. Есть окно, в котором вы можете потерять данные в любом случае, и большая часть этого окна находится перед нажатием кнопки «Сохранить».
Дэвид Шварц

4
Вы также можете потерять свои данные, разбившись падающим астероидом за доли секунды до щелчка [Save]. По вашему расчету, вы также можете вообще не беспокоиться об использовании компьютера, поскольку потеря данных неизбежна. ◔_◔
Synetech

0

Судя по сообщению в блоге Old New Thing, первое звучит как кэширование ОС, а второе переопределяет внутреннее кэширование диска только во время сброса .

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

Мне не ясно, будет ли отключение первого параметра выполнять эту очистку диска при каждой записи или даже отключать кэш на диске, а также отключать кэш ОС.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.