Windows 7 Forums
Welcome to Windows 7 Forums. Our forum is dedicated to helping you find support and solutions for any problems regarding your Windows 7 PC be it Dell, HP, Acer, Asus or a custom build. We also provide an extensive Windows 7 tutorial section that covers a wide range of tips and tricks.


Windows 7: For the write caching experts


20 Jan 2011   #1
whs
Microsoft MVP

Vista, Windows7, Mint Mate, Zorin, Windows 8
 
 
For the write caching experts

On another thread I had stated that there will be a performance hit if you turn off write caching for a SSD. But on second thought, I am not so sure any more.

What write caching allows (in my understanding) is to accumulate records in a buffer so that so that they can be written to the disk in one big swoop. That is an advantage on a spinning disk because all those records are written during the same rotation - and there is also only one seek for the arm.

I wonder though whether that brings the same advantage to the SSD where access time to any place is the same - and it is usually only 0.1ms. There would be an advantage if the records were written in larger blocks from the buffer because the SSD's write performance grows as the block size grows. But if records are still being written e.g. 4K at a time, there may not be an advantage.

Does anybody know whether the blocksize for the write operations increases with caching?


My System SpecsSystem Spec
.

20 Jan 2011   #2

Win 7 Ultimate x64
 
 

Hi whs - I see your point about the "write caching" and the SSD. Actually I think SSD's do write smaller blocks of data even faster than large sequential blocks so you could very well be right.

It would be interesting to run a series of tests with the "write caching" turned both on and off- Checking the Windows Disk WEI and checking the results of some of the disk benchmarking utilities (like HD Tune and ATTO).

At the moment I have my "write caching" turned on.
My System SpecsSystem Spec
20 Jan 2011   #3

Windows 7 Ultimate x64
 
 

To my knowledge, SSDs do not have cache buffers.

In Windows, write caching means that a disk write is addressed to the disk's cache buffer and not to a disk write.

Write-caching does not occur in the PCs RAM.
My System SpecsSystem Spec
.


21 Jan 2011   #4

Win 7 Ultimate x64
 
 

Quote   Quote: Originally Posted by DeVandal View Post
To my knowledge, SSDs do not have cache buffers.

In Windows, write caching means that a disk write is addressed to the disk's cache buffer and not to a disk write.

Write-caching does not occur in the PCs RAM.
Hi DeVanda - I think whs WAS referring to a buffer in the SSD, not in RAM
My System SpecsSystem Spec
21 Jan 2011   #5

Microsoft Community Contributor Award Recipient

Windows 7 Ult. x64 Windows 8.1 x64
 
 

Here are the results for a winsat -v on an OCZ Vertex2 60GB:

Write-caching enabled
Code:
 
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation.  All rights reserved.
C:\Windows\system32>winsat -v disk
Windows System Assessment Tool
> Command Line 'winsat  -v disk'
> DWM running... leaving it on
> System processor power policy saved and set to 'max performance'
> Running: Feature Enumeration ''
> Gathering System Information
> Operating System                        : 6.1 Build-7600
> Processor                               : Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz
> TSC Frequency                           : 0
> Number of Processors                    : 1
> Number of Cores                         : 4
> Number of CPUs                          : 8
> Number of Cores per Processor           : 4
> Number of CPUs Per Core                 : 2
> Cores have logical CPUs                 : YES
> L1 Cache and line Size                  : 32768  64
> L2 Cache and line Size                  : 262144  64
> Total physical mem available to the OS  : 7.99 GB (8,580,902,912 bytes)
> Adapter Description                     : NVIDIA GeForce GTS 250
> Adapter Manufacturer                    : NVIDIA
> Adapter Driver Version                  : 8.17.12.6099
> Adapter Driver Date (yy/mm/dd)          : 2010\10\16
> Has DX9 or better                       : Yes
> Has Pixel shader 2.0 or better          : Yes
> Has LDDM Driver                         : Yes
> Dedicated (local) video memory          : 997.563MB
> System memory dedicated as video memory : 0MB
> System memory shared as video memory    : 3071.91MB
> Primary Monitor Size                    : 1920 X 1080  (2073600 total pixels)
> WinSAT is Official                       : Yes
> Run Time 00:00:00.00
> Running: Storage Assessment '-seq -read -n 0'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 256
Sequential IO Size = 65536
Random IO Size = 16384
Run[1] Type[0x01080001] Zone[0] - 236.468359 MB/s
Run[1] Type[0x01080001] Zone[1] - 186.774393 MB/s
Run[1] Type[0x01080001] Zone[2] - 227.343106 MB/s
Run[1] Type[0x01080001] Zone[3] - 266.466850 MB/s
Run[1] Type[0x01080001] Zone[4] - 237.182919 MB/s
Run[1] Type[0x01080001] Zone[5] - 269.477468 MB/s
Run[1] Type[0x01080001] Zone[6] - 268.505970 MB/s
Run[1] Type[0x01080001] Zone[7] - 267.059338 MB/s
> Run Time 00:00:02.37
> Running: Storage Assessment '-ran -read -n 0'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 16384
Run[1] Type[0x01000002] Zone[0] - 225.589126 MB/s
> Run Time 00:00:00.31
> Running: Storage Assessment '-scen 2009 -drive C:'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 9000
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 1073741824 located at physical offset 0x6ffe80200.
Expected number of IOs: 9000
Number of IOs in trace file:9298
> Run Time 00:00:51.71
> Running: Storage Assessment '-seq -write -drive C:'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 8
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 65536000 located at physical offset 0x6500200.
Run[1] Type[0x02000001] Zone[0] - 182.029038 MB/s
Run[2] Type[0x02000001] Zone[0] - 152.466911 MB/s
Run[3] Type[0x02000001] Zone[0] - 152.163698 MB/s
Run[4] Type[0x02000001] Zone[0] - 168.728641 MB/s
Run[5] Type[0x02000001] Zone[0] - 261.451744 MB/s
Run[6] Type[0x02000001] Zone[0] - 262.118284 MB/s
Run[7] Type[0x02000001] Zone[0] - 262.092538 MB/s
Run[8] Type[0x02000001] Zone[0] - 230.172001 MB/s
> Run Time 00:00:04.48
> Running: Storage Assessment '-flush -drive C: -seq'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 2501
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 67108864 located at physical offset 0x6ffe80200.
Expected number of IOs: 2501
Number of IOs in trace file:2536
> Run Time 00:00:00.84
> Running: Storage Assessment '-flush -drive C: -ran'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 2501
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 67108864 located at physical offset 0x6ffe80200.
Expected number of IOs: 2501
Number of IOs in trace file:2528
> Run Time 00:00:00.98
> Running: Storage Assessment '-hybrid -ran -read -n 0 -ransize 4096'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 4096
NV Cache not present.
> Run Time 00:00:00.00
> Running: Storage Assessment '-hybrid -ran -read -n 0 -ransize 16384'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 16384
NV Cache not present.
> Run Time 00:00:00.00
> Disk  Sequential 64.0 Read                   246.55 MB/s          7.5
> Disk  Random 16.0 Read                       227.76 MB/s          7.9
> Responsiveness: Average IO Rate              0.68 ms/IO          7.9
> Responsiveness: Grouped IOs                  8.06 units          7.5
> Responsiveness: Long IOs                     1.51 units          7.9
> Responsiveness: Overall                      12.20 units          7.9
> Responsiveness: PenaltyFactor                0.0
> Disk  Sequential 64.0 Write                  230.90 MB/s          7.4
> Average Read Time with Sequential Writes     0.284 ms          7.9
> Latency: 95th Percentile                     0.575 ms          7.9
> Latency: Maximum                             1.978 ms          7.9
> Average Read Time with Random Writes         0.298 ms          7.9
> Total Run Time 00:01:01.34
> The System processor power policy was restored
C:\Windows\system32>
and

Write Caching Disabled
Code:
 
C:\Windows\system32>winsat -v disk
Windows System Assessment Tool
> Command Line 'winsat  -v disk'
> DWM running... leaving it on
> System processor power policy saved and set to 'max performance'
> Running: Feature Enumeration ''
> Gathering System Information
> Operating System                        : 6.1 Build-7600
> Processor                               : Intel(R) Core(TM) i7 CPU         860  @ 2.80GHz
> TSC Frequency                           : 0
> Number of Processors                    : 1
> Number of Cores                         : 4
> Number of CPUs                          : 8
> Number of Cores per Processor           : 4
> Number of CPUs Per Core                 : 2
> Cores have logical CPUs                 : YES
> L1 Cache and line Size                  : 32768  64
> L2 Cache and line Size                  : 262144  64
> Total physical mem available to the OS  : 7.99 GB (8,580,902,912 bytes)
> Adapter Description                     : NVIDIA GeForce GTS 250
> Adapter Manufacturer                    : NVIDIA
> Adapter Driver Version                  : 8.17.12.6099
> Adapter Driver Date (yy/mm/dd)          : 2010\10\16
> Has DX9 or better                       : Yes
> Has Pixel shader 2.0 or better          : Yes
> Has LDDM Driver                         : Yes
> Dedicated (local) video memory          : 997.563MB
> System memory dedicated as video memory : 0MB
> System memory shared as video memory    : 3071.91MB
> Primary Monitor Size                    : 1920 X 1080  (2073600 total pixels)
> WinSAT is Official                       : Yes
> Run Time 00:00:00.00
> Running: Storage Assessment '-seq -read -n 0'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 256
Sequential IO Size = 65536
Random IO Size = 16384
Run[1] Type[0x01080001] Zone[0] - 236.151589 MB/s
Run[1] Type[0x01080001] Zone[1] - 186.819886 MB/s
Run[1] Type[0x01080001] Zone[2] - 226.875917 MB/s
Run[1] Type[0x01080001] Zone[3] - 264.418481 MB/s
Run[1] Type[0x01080001] Zone[4] - 237.694862 MB/s
Run[1] Type[0x01080001] Zone[5] - 269.530631 MB/s
Run[1] Type[0x01080001] Zone[6] - 268.370815 MB/s
Run[1] Type[0x01080001] Zone[7] - 266.927265 MB/s
> Run Time 00:00:02.40
> Running: Storage Assessment '-ran -read -n 0'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 16384
Run[1] Type[0x01000002] Zone[0] - 225.472374 MB/s
> Run Time 00:00:00.30
> Running: Storage Assessment '-scen 2009 -drive C:'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 9000
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 1073741824 located at physical offset 0x6ffe80200.
Expected number of IOs: 9000
Number of IOs in trace file:9302
> Run Time 00:00:51.85
> Running: Storage Assessment '-seq -write -drive C:'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 8
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 65536000 located at physical offset 0x6500200.
Run[1] Type[0x02000001] Zone[0] - 150.148530 MB/s
Run[2] Type[0x02000001] Zone[0] - 152.072238 MB/s
Run[3] Type[0x02000001] Zone[0] - 160.795368 MB/s
Run[4] Type[0x02000001] Zone[0] - 258.688198 MB/s
Run[5] Type[0x02000001] Zone[0] - 262.075243 MB/s
Run[6] Type[0x02000001] Zone[0] - 231.898206 MB/s
Run[7] Type[0x02000001] Zone[0] - 262.074037 MB/s
Run[8] Type[0x02000001] Zone[0] - 262.088516 MB/s
> Run Time 00:00:04.34
> Running: Storage Assessment '-flush -drive C: -seq'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 2501
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 67108864 located at physical offset 0x6ffe80200.
Expected number of IOs: 2501
Number of IOs in trace file:2539
> Run Time 00:00:00.84
> Running: Storage Assessment '-flush -drive C: -ran'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 2501
Sequential IO Size = 65536
Random IO Size = 16384
        Requesting a file of size 67108864 located at physical offset 0x6ffe80200.
Expected number of IOs: 2501
Number of IOs in trace file:2526
> Run Time 00:00:00.98
> Running: Storage Assessment '-hybrid -ran -read -n 0 -ransize 4096'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 4096
NV Cache not present.
> Run Time 00:00:00.00
> Running: Storage Assessment '-hybrid -ran -read -n 0 -ransize 16384'
Mode Flags = 0x%08x
Disk Number = 0
Iterations = 1
IO Count = 1000
Sequential IO Size = 65536
Random IO Size = 16384
NV Cache not present.
> Run Time 00:00:00.00
> Disk  Sequential 64.0 Read                   246.41 MB/s          7.5
> Disk  Random 16.0 Read                       227.78 MB/s          7.9
> Responsiveness: Average IO Rate              0.68 ms/IO          7.9
> Responsiveness: Grouped IOs                  8.08 units          7.5
> Responsiveness: Long IOs                     1.52 units          7.9
> Responsiveness: Overall                      12.24 units          7.9
> Responsiveness: PenaltyFactor                0.0
> Disk  Sequential 64.0 Write                  239.70 MB/s          7.5
> Average Read Time with Sequential Writes     0.294 ms          7.9
> Latency: 95th Percentile                     0.969 ms          7.9
> Latency: Maximum                             31.188 ms          7.9
> Average Read Time with Random Writes         0.389 ms          7.9
> Total Run Time 00:01:01.39
> The System processor power policy was restored
C:\Windows\system32>
Is that sufficient to make a judgement on whether caching is better on or off from a performance point of view?
My System SpecsSystem Spec
21 Jan 2011   #6
whs
Microsoft MVP

Vista, Windows7, Mint Mate, Zorin, Windows 8
 
 

Quote   Quote: Originally Posted by thehappyman View Post
Quote   Quote: Originally Posted by DeVandal View Post
To my knowledge, SSDs do not have cache buffers.

In Windows, write caching means that a disk write is addressed to the disk's cache buffer and not to a disk write.

Write-caching does not occur in the PCs RAM.
Hi DeVanda - I think whs WAS referring to a buffer in the SSD, not in RAM
You are right. Somewhere I read that the Intel X25M (?) has a buffer and I was wondering about the others.

Quote:
Is that sufficient to make a judgement on whether caching is better on or off from a performance point of view?
Thanks Golden for making the test. Looks more or less the same to me.
My System SpecsSystem Spec
21 Jan 2011   #7

Microsoft Community Contributor Award Recipient

Windows 7 Ult. x64 Windows 8.1 x64
 
 

There seems to be a higher maximum latency with caching disabled, but I'm not sure sure what that really means.

Enabled : Latency: Maximum 1.978 ms 7.9
Disabled : Latency: Maximum 31.188 ms 7.9
My System SpecsSystem Spec
21 Jan 2011   #8
whs
Microsoft MVP

Vista, Windows7, Mint Mate, Zorin, Windows 8
 
 

Quote   Quote: Originally Posted by Golden View Post
There seems to be a higher maximum latency with caching disabled, but I'm not sure sure what that really means.

Enabled : Latency: Maximum 1.978 ms 7.9
Disabled : Latency: Maximum 31.188 ms 7.9
Yeah, right - I did not catch that one. That is worth exploring some more. It would suggest that the access time increases dramatically in the disabled case.
My System SpecsSystem Spec
21 Jan 2011   #9
whs
Microsoft MVP

Vista, Windows7, Mint Mate, Zorin, Windows 8
 
 

I ran HD Tune on my old Intel Gen1 (which is a leftover from Vista days but still going strong) both with and without write caching. At least HD Tune did not find any difference in access time. Now I am really puzzled and wonder what the implications of this big latency difference are.


Attached Thumbnails
For the write caching experts-2011-01-21_1119.png   For the write caching experts-2011-01-21_1236.png  
My System SpecsSystem Spec
21 Jan 2011   #10

Win 7 Ultimate x64
 
 

It's not just the Latency, look at the "Read Time with Random Writes" too

.298 msec with caching enabled (better)
.389 msec with caching disabled

But then the "Sequential Write"

230.9 mb/sec with caching enabled
239.7 mb/sec with caching disabled (better)


I did some checking and many of the OCZ drives have 64 or 128 MB cache buffers.

But looking at the overall data it looks like there is little to gain with any write caching. And Winsat gave both modes a 7.9 rating

So, Go Figure

But in the above Winsat tests was the Write Cache Buffer Flushing turned "On" or "Off"
And should it have been "On" when the Caching was enabled ????
And "Off" when it was disabled ????
My System SpecsSystem Spec
Reply

 For the write caching experts




Thread Tools



Similar help and support threads for2: For the write caching experts
Thread Forum
Write-Caching - Enable or Disable Tutorials
Solved Write-caching Performance & Maintenance
Write caching or ??? General Discussion
Write Caching and Defragging External HDD Hardware & Devices
Write Caching Drivers
Problem with Write Caching :( Hardware & Devices
Write caching Performance & Maintenance

Our Sites

Site Links

About Us

Find Us

Windows 7 Forums is an independent web site and has not been authorized, sponsored, or otherwise approved by Microsoft Corporation. "Windows 7" and related materials are trademarks of Microsoft Corp.

Designer Media Ltd

All times are GMT -5. The time now is 03:34 AM.
Twitter Facebook Google+



Windows 7 Forums

Seven Forums Android App Seven Forums IOS App
  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33