ssd cache in NAS

SSD is a complete game changer compared with traditional hard drives. As the cost-per-GB of SSDs decreases and storage capacity increases, there’s never been a better time to build an SSD/HDD hybrid storage structure to maximize the benefits of optimized data efficiency and storage costs. An SSD cache is a way of obtaining faster storage, reduced latency, and improved all-round NAS performance and access speeds by storing frequently-accessed data on SSDs. It is greatly beneficial for IOPS-demanding applications.

Most modern generation network attached storage NAS drives include the option of utilizing SSD cache, which promises to improve file access and general system performance in a number of ways. Is by no means a new concept and has existed in one shape or form for more than a decade in modern server utilization. However, in order to take advantage of SSD caching on your NAS, there are a number of hurdles that will often increase the price point of your ideal solution and potentially lower the capacity that you can take advantage of long-term. This leads many users into wondering whether SSD caching is anywhere near as beneficial.

     

What is SSD caching on a PrimeArray NAS?

According to PrimeArray, the majority of NAS systems are comprised of multiple hard drives supported in a single enclosure that are combined together in efforts to increase capacity, performance and redundancy in a configuration commonly known as RAID (Redundant Array of Independent Disks). The more, hard drives you have, the larger and more advantageous the RAID configurations you can create. However, these only marginally increase the performance available to you, multiplying performance on hard drives by a factor of the total number of hard drives. Ultimately, you are still using hard drives for your file system which will always pale in comparison to the performance available via solid-state drives SSD but this group of HDDs will result in higher throughput than any single hard drive. The obvious alternative of course is to replace all of the hard drives in your NAS with SSD and therefore reap the benefit of both SSD performance and RAID combination advantages. However, in practice, the main reason that no one does this is that the price point of SSD is significantly higher than hard drives and although the performance benefits would be greatly increased, the price would rise 5-10x times higher at least and the total available capacity would be significantly reduced – as general commercial and SMB SSDs currently max out at 4TB capacity, rather than the 18/20TB available in modern hard drives. NAS/Servers being fully populated with SSDs is still done though on less common setups which are highly enterprise and more commonly known as flash servers – fast but fantastically expensive!

 

SSD caching was designed as a hybrid storage media solution to this dilemma and involves pairing a small percentage of SSD storage space together with a larger area of hard drive storage space. Typically recommended at around 10% SSD to 90% hard drive, the NAS system will gradually learn over time which files on the total storage system are the ones being accessed most frequently. These files can range from tiny system files, indexes, thumbnails, directories and minor background data, all the way through to larger files that are in shared drives between multiple users, OS-related files that live on a central server and website files that are constantly being referenced for your domain (depending on the I/O configuration of your SSD cache). As the system constantly learns which files are the ones being constantly accessed, copies of these files are made on the area of SSD cache and in future when these files are requested by connected hardware clients, these faster-accessing copies will be targeted instead. Although this is a large oversimplification of the process, it is generally accurate. Not to be confused with tiered storage, which moves commonly accessed files to areas of SSD (not making a copy in 2 locations), SSD cache has numerous advantages and disadvantages that many users would do well to learn before embracing this storage media process. Let’s discuss this a little further, as there are multiple types of SSD cache options available from most modern brands.

What is Read SSD Caching on a PrimeArray NAS?

The easiest but least beneficial type of SSD cache for a mass is read-only cache. This can be implemented with even a single SSD and much like the description above, involves the system moving copies of the most frequently accessed data onto the SSD. Read-only SSD cache on a NAS prevents editing or modifying of files that are being accessed on the area of the cache. Read-only cache is only of benefit to users who are accessing larger databases of preset data that is not often modified and although improves access to these more common files, limits the overall benefits of SSD caching in most NAS systems long term. Also known/referred to as Write-around SSD caching, this too writes data to the primary storage first instead of to the cache. This gives the SSD cache time to analyze data requests and identify the most frequently and recently used data. The SSD cache efficiently caches high priority data requests without flooding the cache with infrequently accessed data.


What is Write Caching on a PrimeArray NAS?

 Write Caching on a NAS can actually be broken down into two types. The first, Write-through SSD caching, writes simultaneously to the SSD cache area and to primary storage. The cache enables faster data retrieval, while the primary storage writes safely retains the data even if a system interruption affects the cache (eg a power failure). Write-through SSD caching does not require additional data protection for the cached data (so you can use one or more SSD in a Single/RAID 0 Config), but does increase write latency (i.e write time). The alternative is Write-back SSD caching, which writes ONLY to the SSD area first, then confirms that a block is written to the SSD cache, and the data is available for usage before writing the block to the main storage RAID array of HDDs afterwards. The method has lower latency than write-through, but if the cache loses data (i.e. critical system failure, power loss, etc) before the data writes to primary storage, that data is lost. Typical data protection solutions for write-back SSD caching are redundant SSDs or mirroring (i.e. MASSIVELY recommended or enforced that SSDs in a Write Through config are in a RAID 1/5 at the very least).

 The benefits of SSD caching on a NAS are often tough to measure, as the resulting improvements are the culmination of multiple smaller improvements at once. So, the benefits are more often FELT than actually seen, as latency will be reduced throughout the overall access of the data on your NAS. Compressed data like thumbnails, indexing information and system reference files that a NAS will refer to in a given process will be turned around much quicker in the background and therefore will reduce wait times on instructions given by you to the NAS. Typically, larger databases in scale rather than individual file volume will reap the most benefits, and therefore the advantages of SSD caching on a PrimeArray NAS are:

·        * Faster Access to Larger databases made up for many smaller files

·        * More cost-effective than an all-SSD system

·        * Write-Cache/Write-Through Caching benefits more traditional one-way activity

·        * Cache is largely self-managed, so once set up, will choose/drop important cached data on its own

·        * The bulk of Porsume/SMB and higher NAS hardware arrive with dedicated SSD Cache bays, so no loss of traditional storage bays

·        *  SSD caching is becoming increasingly available on ARM-powered devices

 M.2 SSD Vs SATA SSD Caching on a NAS?

 The majority of NAS drives in the market right now support SSD caching. However, though many have adopted NVMe M2 SSD bays to allow users dedicated ports to do this, many other more affordable or smaller scale NAS hardware systems (2-Bays, ARM CPU devices, etc) still require the end-user to occupy existing traditional hard drive media bays for SSD media for caching instead. Obviously, this can be a significant disadvantage to your overall total maximum capacity when losing main storage bays to smaller capacity SSD for caching. But is there any difference in performance benefits by opting for significantly faster M2 NVMe PCIe SSDs for caching over traditional SATA SSD? Well yes and no. The data stored on the SSD cache has the potential to be delivered to the NAS physical interfaces at whatever maximum speed the SSD can output, so NVMe SSD will always technically push that data faster. Likewise, as the library of cached data and metadata is compiled in the system’s usage, its creation will be markedly faster on the NVMes than SATA SSD which is going to be advantageous to numerous types of write-caching. However, if you are only utilizing one or more gigabit ethernet connections, then the difference felt by the end-users when read-write caching is applied between either SSD media type will be practically unnoticeable. Therefore the noticeable differences between SATA SSD and M2 NVMe SSD caching only really apply to use us who take advantage of a larger external network interface or are running larger database operations inside the NAS architecture, containers and virtual machines.