Unable to activate write caching on several drives

Hello!

Suddenly on several WD drives, I am unable to activate the write cache anymore. It worked definetly at the beginning. Why shouldn’t it?

It has nothing to do with Windows (7, x64) itself, as I have reinstalled it on different PCs since the first encounter.

The candidates:

  • WD RE4 2TB
  • WD RE3 500GB (4 pieces!)
  • WD Black 1TB (3 pieces!)

Other drives, that still work with write cache:

  • WD Raptor 74GB
  • WD VelociRaptor 150/300/450GB
  • WD Black 640GB
  • WD Blue 640GB
  • WD Green 3TB
  • several SSDs

The symptoms:

  • slow sequential write speed (tested with crystal disk mark, usually ~130MB/s read and write, but only ~60MB/s write speed, can be reproduced by disabling write cache manually on one of the working drives)

My hardware:

  • 5 ASUS/Gigabyte AMD 990FX/SB950 Mainboards (AHCI Mode)
  • as well as 2 Adaptec RAID Controllers (more to that later)

The situation:

  • I’ve tried MS AHCI driver and latest AMD AHCI driver
  • The MS driver shows the error (screenshot), while the AMD driver has just an unchecked checkbox and does not warn after enabling it (and it does nothing for write performance as well)
  • It is fact, that the candidates have been used within a RAID array of the Adaptec RAID Controller or AMD RAID Controller and I suspect that to have caused it
  • It is also fact, that many of the working drives have been used with at least one of the RAID Controllers as well and don’t have problems
  • I’ve tried to deactivate and activate the drive’s write cache on the Adaptec Controller without success
  • I’ve also tried to newly initialize the drive and set it up for a new RAID array, then cleaning it

Something seems to have locked them into that mode or prevent me from changing it. Has anyone any idea?

another case (Red 4TB)

Hello, welcome to the community.

I have not seen this before, maybe another user can provide some information or guidance on this matter.

Any updates on the case?

Hello creasy!

Now I feel sorry that I didn’t update this matter here at WD, because the one to blame was indeed Adaptec’s RAID Controller, as I suspected.
But it wasn’t solved by Adaptec’s support. Because they didn’t run into such a matter either, they simply closed the case. To add subsequent results at a later time I had to open a new case, which was also closed after some time. The solution I found would have required to open a third one which I still remain short on.

However, this is the way it worked. Changing the physical cache setting on the RAID Controller (not the read/write cache on array level) before connecting harddisks and then power on with the new cache setting does the trick:

  1. Power on without any harddisks connected and enter RAID BIOS
  2. Formally reset to defaults - Save & Exit
  3. Reenter RAID BIOS and set “physical drives write cache policy” to “Enable All” (especially not to “Drive Specific”!) - Save & Exit
  4. Wait for the controller to initialize completely, then power off
  5. Connect relevant drives to the RAID controller and power on, wait for the controller to be fully initialized and all drives have been found, then power off
  6. Switch drives to onboard SATA controller and check if the cache setting is now enabled in device manager as well as benchmark write speed.

If it’s still deactivated, try the same procedure but set Set “physical drives write cache policy” to “Disable All” - weird, but it helped at least one drive to regain its write cache.

Good look and feel free to keep me updated on that matter!

Wilhelm

Hey WKjun!
Thanks for updating the case! I will certainly try your method. Did you give up on the rest of the drives and use them with disabled write cache?
I have 2 Adaptec controllers, too, a 6805E and a 6405E. Which ones did you have?
I also opened a support case @ Adaptec and they admitted they are aware of the issue, but simply redirected me to WD support to resolve it.

Hi! :slight_smile:

Actually there are no drives left with the problem! Did I gave the impression of achieving just a partial success? Luckily I wasn’t depending on most of these drives in between.

Oh yes, I didn’t mention the exact specs: It’s a 6805E and a 2405, both with latest firmware & drivers to date.

I still use the 6805E but do not dare to disable pysical cache on any drive again, ever. :wink: This is the controller I used to fix it as it definetly caused the trouble. I cannot tell if some drives already had the problem from the time being connected to the older 2405, but finally it wasn’t relevant.

Just imagine, the first thing Adaptec asked was whether the drives really support write cache and if I am sure it worked before! I think they really should tell by the drives names and I can’t imagine a drive without that feature.

Thanks for the details. Adaptec’s attitude is indeed outrageous. They even list my drives as compatible, yet they do not take responsibility for their errors…

I was able to enable write cache without using RAID card. The key is, you need to enable ATA command to enable write cache.

hdparm -w -W1 /dev/sdg

/dev/sdg:
setting drive write-caching to 1 (on)
write-caching = 0 (off)

smartctl -s wcache-sct,ata,p /dev/sdg

smartctl 7.2 2020-12-30 r5155 [x86_64-linux-5.15.0-48-generic] (local build)
Copyright (C) 2002-20, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF ENABLE/DISABLE COMMANDS SECTION ===
Write cache SCT Feature Control is set to: Controlled by ATA (persistent)

hdparm -W /dev/sdg

/dev/sdg:
write-caching = 0 (off)

hdparm -W1 /dev/sdg

/dev/sdg:
setting drive write-caching to 1 (on)
write-caching = 1 (on)