HomeLatest FeedsTechnology NewsThe use of cache memory in NAS servers on the example of...

The use of cache memory in NAS servers on the example of the QNAP TS-464 server and WD RED drives

The use of cache memory in NAS servers on the example of the QNAP TS-464 server and WD RED drivescache. Cache. I’m sure many of you have come across one of these terms, if not both. These concepts are certainly familiar if you read our publications on processors, where this particular type of memory played and still plays a very large role in terms of performance. Not without reason, because one of the ways to improve the speed of reading / writing data may be to include the cache memory in operation. This is also the idea behind the concept of using this type of memory in NAS servers. After all, these devices are oriented not only on data storage, but also on data transfer, so additional megabytes per second are never too much. In today’s publication, I will try to describe what the use of cache memory in NAS servers is all about, what it entails, what are the advantages and disadvantages, and also show the real effects of cache operation in practice. The object acting as a guinea pig will be NAS QNAP TS-464.

Author: Kamil Śmieszek

The cache is usually some type of, most often fast, memory used to increase the speed of data transfer. The term “fast memory” is very relative here, because it all depends on what exactly the cache will be designed to speed up. In the case of the processor, for example, instructions/data from RAM are stored in the cache so that the CPU can access them immediately. This makes a lot of sense, because reading from RAM takes much longer. Cache memory can be considered not only hardware solutions, but also those in the form of software. A perfect example of this is the browser cache – the way it works is different, but the principle is very similar. If JavaScript scripts or CSS styles are available in the cache and have not expired (I omit other conditions for controlling this mechanism), the browser does not download them from the server, but just reaches the cache, thanks to which the page will usually be displayed faster. But let’s get back to the hardware and answer the question – what is the cache memory in the NAS used for? At the same time, we are not talking about the processor variant mentioned earlier, but about the cache supporting data transfer from/to the NAS server by increasing its capabilities in terms of the number of supported operations per second. In this case, the cache can take several forms, which will be discussed in a moment, but the goal is one – frequently used data ends up in the cache and only from there are they saved or read to the proper disk array.

The principle of using cache memory in NAS servers is very similar to the cache memory we know from processors or software solutions. Frequently used data is cached to ensure the fastest possible access to it.

The use of cache memory in NAS servers on the example of the QNAP TS-464 server and WD RED drives [1]

Depending on the manufacturer’s implementation, NAS cache can come in several types:

  • read – with each data access operation, the system copies data to the cache to increase read efficiency;
  • to write – incoming data is first written to the cache to speed up the write operation, and then copied to the server’s main disk array. As long as the data is in the cache, the performance of reading it is also increased;
  • read/write – The system uses the SSD cache to cache both read and write operations, which makes both types of operations faster.

Which particular mode works best will depend on both the hardware configuration of your NAS and its applications. If it serves as a data store that is rarely modified, and much more often read-only, the best (and least hardware-intensive) mode will be the read cache mode. The reverse situation (frequent write, occasional read), implies the use of the write mode. It won’t come as a surprise if I say that read/write mode will be optimal for mixed use.

The use of cache memory in NAS servers on the example of the QNAP TS-464 server and WD RED drives [15]

I have deliberately not mentioned how this cache memory looks like from the inside, i.e. from the hardware side, because I wanted to outline first the general outline of “what it eats with”. NAS servers use various types of SSDs as part of their cache memory. Regular SATA SSDs are fine for this purpose. The disadvantage of this solution, however, is the fact that classic SSDs take up valuable disk bays that could normally be used to increase the size of the main data storage array. It is therefore optimal to allocate PCIe NVMe media for the cache. Not only are they usually mounted on the motherboard of the NAS server, they are also much faster.

The use of cache memory in NAS servers on the example of the QNAP TS-464 server and WD RED drives [14]

However, we must remember a few important things. If we decide to use the cache mode for writing or writing/reading, we should have at least two disks that, combined in a RAID 1 or 10 array, will prevent potential data loss in the event of a failure. This is quite logical – if the data ends up in the cache before being written to the main drives and in the meantime, for example, our power is turned off (and we do not have an uninterruptible power supply), then this unsaved part will be lost. This, in turn, increases (at least twice, depending on the capacity of the server and the number of disks) the cost of the entire solution. Another disadvantage of using cache memory in NAS is related to the fact that not every operation can be effectively accelerated. For example, sequential operations on large files will not gain much speed. More on cache examples and applications later, and now it’s time to introduce our research object – the QNAP TS-464 server.


Please enter your comment!
Please enter your name here

Must Read