Co oznacza „Zapis opróżniania bufora pamięci podręcznej”

12

Tak jak w Opcjach zasad dyskowych systemu Windows 7:

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

Czy pierwsza pamięć podręczna na dysku fizycznym, a druga pamięć podręczna systemu Windows?

(Poszukałem google, ale nie znalazłem jednoznacznej odpowiedzi).

peterchen
źródło

Odpowiedzi:

12

Zobacz sekcję „więcej informacji” na stronie http://support.microsoft.com/kb/332023 :

Wiele urządzeń dyskowych zapewnia lepszą wydajność dzięki wbudowanej pamięci podręcznej , która zapewnia buforowanie z wyprzedzeniem odczytu danych odczytywanych z dysku oraz buforowanie zapisu z opóźnieniem (lub zapisy opóźnione lub „leniwe”) dla danych, które są przetwarzane zapisany na dysk. W niektórych przypadkach ważne jest, aby dane były natychmiast zapisywane na dysku fizycznym, a nie przechowywane w pamięci podręcznej zapisu na dysku, aby mogły zostać zapisane później w innym przypadku bezczynności. Zapobiega to utracie lub uszkodzeniu tych danych, jeśli dysk lub kontroler (gdziekolwiek jest zaimplementowany bufor zapisu) nagle stracą moc

Buforowanie zapisu znacznie poprawia wydajność dysku, więc pozostaw go włączone dla wewnętrznych dysków twardych.

Windows domyślnie wyłącza buforowanie zapisu dla dysków flash i innych dysków twardych USB, zwykle nie trzeba nigdy modyfikować tych ustawień, Windows dba o to za Ciebie.

Moab
źródło
5
jak powiedział Moab. Jedynym powodem, dla którego warto rozważyć wyłączenie buforowania zapisu na wewnętrznych dyskach twardych jest to, że często występują przerwy lub przerwy w działaniu. ale jeśli tak, to polecam zainwestować w porządny UPS i zostawić zapisywanie w pamięci podręcznej w dniu
Xantec
1
Dzięki za link! Jeśli dobrze to rozumiem, oznacza to „nie spłukuj, nawet jeśli oprogramowanie tak mówi”. Byłem głównie ciekawy drugiej opcji, testowania prędkości kompilacji na SSD vs. HDD. Problemy z siecią elektroenergetyczną są rzadkością - w tym przypadku klepią niemiecką inżynierię .
peterchen
1
Ta odpowiedź nie pomaga mi zrozumieć różnicy między tymi dwoma ustawieniami. Jeśli opróżnisz pamięć podręczną przy każdym zapisie, to nie buforujesz - w jaki sposób buforowanie zapisu jest włączone (pierwsze pole wyboru)? Bardziej prawdopodobne jest, że płukanie występuje okresowo, gdy drugie pole wyboru jest wyłączone lub coś podobnego.
Sam Brightman,
3
@SamBrightman: jak ja rozumiem: Pierwsze ustawienie umożliwia cache okna - jeśli aplikacji zapisuje do pliku, to nie od razu przekazywane do dysku. Aplikacja może wywoływać „opróżnianie”, aby wymusić fizyczne zapisywanie rzeczy. Druga opcja mówi: gdy aplikacja powie „opróżnij”, system Windows nadal opróżnia pamięć podręczną urządzenia, ale nie każe urządzeniu opróżniać pamięci wewnętrznej. Spowoduje to kastrowanie polecenia „opróżnienia” (ponieważ aplikacja uważa, że ​​dane są bezpieczne na dysku). Dopuszczalne tylko wtedy, gdy trwałość danych nie jest priorytetem.
peterchen
2

Zawsze wyłączam buforowanie zapisu za każdym razem, za każdym razem. To był zły pomysł od samego początku. Wyjaśniam to w ten sposób: jeśli klikniesz „Zapisz” na dokumencie edytora tekstu, a zasilanie nie powiedzie się, przy wyłączonym buforowaniu zapisu, dokument nie zostanie zapisany (dopóki nie uruchomi się automatyczne zapisywanie). Wyłączenie buforowania przed zapisem zmusza go do faktycznego zapisania pliku na dysku po kliknięciu przycisku Zapisz. To samo dotyczy awarii zasilania, BSOD, awarii programu itp.

CodeLurker
źródło
1
Aby zaokrąglić odpowiedź, być może możesz podać sposób jej wyłączenia. Przytocz także niektóre źródła, które potwierdzają Twoją pozycję.
slm
3
Ale dlaczego to robi różnicę? Masz dokładnie ten sam problem, jeśli zasilanie wyłączy się, zanim w ogóle klikniesz „Zapisz”.
David Schwartz
1
@CodeLurker, korzyści płynące z wydajności buforowania są wystarczające, aby generalnie warte rzadkiego ryzyka utraty mocy. Oczywiście okoliczności decydują o tym, czy należy go używać, czy nie, czy moc jest niezawodna, czy nie, jakie typy plików są przeważnie wykorzystywane i tak dalej.
Synetech
2
@ Synetech To w zasadzie nie ma różnicy. Istnieje okno, w którym możesz stracić dane w obu kierunkach, a większość z nich znajduje się przed kliknięciem „Zapisz”.
David Schwartz,
4
Możesz także stracić swoje dane, miażdżąc spadającą asteroidę na ułamek sekundy przed kliknięciem [Save]. Według twojego rachunku możesz równie dobrze w ogóle nie zadawać sobie trudu korzystania z komputera, ponieważ utrata danych jest nieunikniona. ◔_◔
Synetech 17.09.13
0

Na podstawie postu na blogu Old New Thing wygląda na to, że pierwszy to buforowanie systemu operacyjnego, a drugi to zastąpienie wewnętrznego buforowania dysku tylko podczas opróżniania .

W przypadku normalnych zapisów bez opróżniania używana będzie wewnętrzna pamięć podręczna dysku niezależnie od drugiego ustawienia. Jednak w przypadku zdarzeń synchronizacji / opróżniania domyślnym zachowaniem jest upewnienie się, że opróżnienie pamięci podręcznej systemu operacyjnego rzeczywiście spowoduje przeniesienie danych na nośnik: powiedz napędowi, aby wyczyścił również pamięć wewnętrzną.

Nie jest dla mnie jasne, czy wyłączenie pierwszego ustawienia spowodowałoby opróżnienie dysku przy każdym zapisie, czy nawet wyłączenie pamięci podręcznej na dysku, a także wyłączenie pamięci podręcznej systemu operacyjnego.

Sam Brightman
źródło