Jump to content

About "CacheWriteDelay" registry value -


erpdude8

Recommended Posts

I decided to bring this issue up because when installing the

unofficial Win98se SP or the unofficial WinME SP or the

official Q270317 Ifsmgr.vxd update, the "CacheWriteDelay" registry

value is set to a decimal value of 2000 [000007d0 in Hexadecimal].

This value may not be suitable for ALL Win98se/ME users who have either

very small hard drives or very large ones.

Links to download the Q273017 updates for Windows 98se/Windows ME:

(Win98 SE Q273017 link):

http://download.microsoft.com/download/win.../273017USA8.EXE

(WinME Q273017 link):

http://download.microsoft.com/download/win.../273017USAM.EXE

after downloading and installing the Q273017 update and rebooting go

to the 'WINDOWS\INF\QFE\273017' folder. You will notice four REG files

[DELAY2.REG, DELAY4.REG, DELAY8.REG and NODELAY.REG]. These files were

bundled inside the Q273017 updates and they get installed in the folder

I mentioned earlier. Here's what I recommend when using the right

"CacheWriteDelay" value for your computer:

Double-click on NODELAY.REG to set "CacheWriteDelay" to 0 if your hard drive

is less than 8 gigabytes. This will speed up the shutdown process a little.

Best suited for small HDs.

Double-click on DELAY2.REG which will set "CacheWriteDelay" to 2000 (decimal)

[000007d0 in hexadecimal]. This is the default setting when installing the

Q273017 patch for Win98se & WinME. Use this value if your hard drive is

over 8 gigs but is less than 32 gigabytes. Otherwise, choose either a smaller

or larger value than 2000.

Double-click on DELAY4.REG to set "CacheWriteDelay" to 4000 (decimal value)

[00000FA0 in hexadecimal] if your hard drive is between 32 gigs to 64 gigs

and you have filled the HD to almost 50 percent of total capacity. This

will slow the shutdown process some but it will ensure that the large hard

drive buffers get flushed (or cleaned out) before shutting down the computer.

Double-click on DELAY8.REG to set "CacheWriteDelay" to 8000 (decimal value)

[00001F40 in hexadecimal] if your hard drive is over 64 gigabytes. Best

suited for 137Gb+ HDs and you fill the HD to almost 30 percent of total

HD capacity.

It will be nice if the Delay2.reg, Delay4.reg, Delay8.reg and Nodelay.reg files

were included in the next release of the Win98se SP and WinME SP so that

users can choose which "CacheWriteDelay" value to use.

Link to comment
Share on other sites


I have a 120Gb hard drive with 8M of cache, and CacheWriteDelay is at 0. I've experienced no problems so far.

That can be a bad thing when using CacheWriteDelay of 0 and the 120 gig HD has at least 30Gb of data (25% of total HD capacity) on the very large HD, LLXX. Reason why is you need to give Win98se/ME enough time to "empty" the HD buffers before Windows initiates a shutdown. if you dont give Windows sufficient time to empty the HD buffers and Windows 98se/ME turns off the computer prematurely before completely clearing the HD buffers, Win98se/ME may run Scandisk when you start Windows again, even if you applied the Q273017 patch and you've changed CacheWriteDelay to 0.

You may want to set CacheWriteDelay to 2000 or 4000, just to make sure Win98se or WinME waits until the HD buffers are cleared out before Windows turns off your computer.

See part of explanation of MDGx's page:

http://www.mdgx.com/newtip21.htm#CWD

"This happens (according to the Microsoft explanation) because newer (E)IDE/ATA hard drives (HDs) have their own built-in cache buffer memory [a good thing ;)], which do NOT send proper signals [a bad thing ;(] to the drive controller [moreover if using a 3rd party proprietary add-on ATA66/ATA100/ATA133/RAID (E)IDE controller], and therefore their cache will NOT empty (flush) correctly upon OS shutdown, especially if your CPU clock speed is greater than 600 MHz, and if your HD(s) built-in cache buffer is equal to or larger than 2 MB."

Edited by erpdude8
Link to comment
Share on other sites

The HDD is a WD1200JB and it's a write-through cache (i.e. only caches reads) so I don't see there being a need to "flush" it. Why this problem occurs if the HDD is only "more than 25% full" is also rather suspicious. I also wait for all disk activity to cease before shutting down, and so far haven't had any problems with it.

I've disabled the disk scanning on startup, but I run scandisk once in a while and it never finds any problem with the filesystem.

I think this problem depends mainly on the hard drive model and manufacturer.

Link to comment
Share on other sites

It will be nice if the Delay2.reg, Delay4.reg, Delay8.reg and Nodelay.reg files

were included in the next release of the Win98se SP and WinME SP so that

users can choose which "CacheWriteDelay" value to use.

still, I highly recommend that these four REG files be included in the 98se and ME service packs.

those using HDs from last decade (those 8Gb drives and smaller) should set "CacheWriteDelay" to 0.

Link to comment
Share on other sites

The issue probably isn't the HDD data that has been cached by Vcache, but the hardware HDD cache, the HDD cache on the HDD itself. If the HDD gets shut off in a majorly short time, the HDD data may be corrupted, even when the data appeared to have been written to the HDD completely by Windows!

Thus with a HDD having an 8MB cache or higher, at 16 MB, HDD corruption is more likely to occur.

Edited by RJARRRPCGP
Link to comment
Share on other sites

It should be checked what is the reality. There may be various factors:

- Is the write cache used at all?

- Is there any signalling between the disk and OS that power should not be switched off because not all data are written to the disk?

- What is the time required for writing all data to the disk? If the cache is 8 MB and the write speed to media is 40 MB/s, then 200 ms issufficient. Plus some seeks.

- What is the real delay between the last write to the disk and power off signal from OS to the computer?

- What is the delay between this signal and real switching off of the power supply?

- Isn't there any protection built-in in the HDD to write everyting to the media? Do you still remember PARK.COM that was necesary for parking of heads of MFM HDD before switching off?

In fact, I can hardly imagine the situation when 2000 ms is not sufficient, and I suppose that in reality even no additional delay will be OK in most cases.

There had to be some reason why the Q273017 article was written but I think it is not related to the HDD size and not very related to the CPU speed.

I even did many tests with 3 GHz P4 and big IDE disks without Q237017 patch and never had any single problem.

Petr

Link to comment
Share on other sites

I think that this "warning" is moot now. It was most likely formulated at a time when some manufacturer's drives had write-back caches, and old software caches e.g. SMARTDRV had to be manually "flushed" before powering down. Some people had problems with corruption, so they reported it to M$ and this is the result. But I don't think this problem occurs anymore now.

A good way to test if your drive is write-through or write-back is to perform read-speed and write-speed testing (bypassing the OS's disk cache). Almost all drives will "spike" on read speed as the data is being read from the cache, then decrease to a steady rate which indicates the transfer rate from the platters themselves. On write, if the write speed spikes up and then goes down to a steady rate after a long time, it's probably write-back. If the write speed remains constant from start to finish, it's write-through. All the drives I've tested exhibit the latter characteristic.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...