Cache space is the storage space of the cache, which can store data read from the disk (referred to as read-data) and data written to the disk (referred to as write-data). Both L1 cache space and L2 cache space can be configured as read-write sharing or read-write separation, respectively. When the cache space is configured as read-write sharing, both read-data and write-data will be cached and stored in the entire space. When configured as read-write separation, the cache space is divided into two independent areas according to the specified ratio. One is dedicated to caching read-data and the other is dedicated to caching write-data. They are called individual read cache space and individual write cache space, respectively. When the read-write ratio is set to "100% read", the entire cache space is read cache space. This means that only read-data will be cached, and write-data will not be cached. On the contrary, when the ratio is set to "100% write", the entire cache space is write cache space and only write-data will be cached.
L1 and L2 cache spaces can be configured in the L1 and L2 Advanced Cache Options dialogs, respectively. Click the button indicated by the red circle in the figure below to open the corresponding Advanced Options dialog.
In the dialog you can see the setting option as shown below.
When the "Individual Read/Write Cache Space" option is not checked, the cache space is set to read-write sharing. When this option is checked, the cache space is set to read-write separation. You can then move the slider to adjust and set the ratio of read cache space and write cache space.
The benefit of shared cache space is that both read and write requests can use the entire cache space. The cache space is more dynamic, responding to more reads or writes as the workload changes over time. The downside is that read and write requests will affect each other's cached data and performance. When the cache space is full and new read requests arrive, the cache space may flush old cached write-data. Or conversely, new write requests may cause old cached read-data to be flushed. Contrary to shared cache space, the benefit of separate cache spaces is that read and write requests are limited to their own cache space and will not affect each other. In addition, by controlling the cache space to cache only read-data or only write-data, you can control the caching function of the L1 cache and the L2 cache. For example, if the L2 cache space is set to "100% read", then even if the cache task has Defer-Write enabled, the L2 cache will not cache write-data, and therefore will not speed up disk writes. This is equivalent to turning off Defer-Write on the L2 cache.
It should be noted that all cached data, whether read-data or write-data, can be used to speed up disk reads. When Windows or an application requests the data from the disk, as long as the corresponding data has been cached in the cache space, the data can be read directly from the cache space, thereby improving the read performance. That's why the read cache hit rate may not be zero even if the cache space is set to "100% write".
Another point to note is that a write cache space, whether it is a shared cache space or a separate write cache space, only means that write-data can be cached, and does not necessarily mean that disk writes can be accelerated. Defer-Write must be turned on at the same time to speed up disk writes. Otherwise, write-data cached in the write cache space can only speed up disk readback.