Cost per gigabyte has recently plummeted in flash memory, making previously cost prohibitive all-flash storage arrays a new option for small businesses. As companies begin to rely on storage pools made entirely of flash memory, software solutions running on appliances that support flash devices must also adapt. Currently, most storage devices treat Solid State Drives (SSDs) like Hard Disk Drives (HDDs), despite some crucial differences in structure and operation. The important difference here is that unlike HDDs, SSDs have a defined limit to the number of read and write operations they can perform in their lifetime.
Any group of HDDs written to with mirrored or similar amounts of data (seen in storage devices using classic RAID configurations) will experience sporadic failures of member disks. This can occur from environmental factors like vibration, moisture build-up, or dust contamination. Because HDDs rely on moving parts to read and write data, even when environmental factors are accounted for, manufacturing defects in these moving parts can cause premature failure as well. These factors combined make HDD failures more random, and very difficult to accurately predict. Since the lifespan of an individual HDD in a RAID group cannot be determined, it makes the most sense to treat all member disks as equally likely to fail. In classic RAID deployments, data is written in equal amounts to all member disks. Disk redundancy in a RAID 1, 5, 6, etc. expects a random, single (sometimes multiple) drive failure, and helps protect against data loss in those scenarios.
Current software RAID solutions work well for HDDs, but transitioning to SSDs provides a new challenge for data protection solutions. With the knowledge that SSDs have a set number of read and write operations in their life span, writing data evenly and concurrently to all SSDs in an array could result in all of the drives “expiring” at the same time. There is no RAID technology available that could survive a simultaneous failure of every member disk, this scenario would be a data loss disaster. So, how best to approach this new issue facing all flash arrays?
Synology Raid F1 is an algorithm developed by Synology that helps mitigate this risk. RAID F1 is a 1-disk resiliency based on RAID 5 concepts. RAID 5 provides data redundancy by “striping” data and parity bits (additional data used for recovery operations) across three or more member disks. Each drive in a RAID 5 group stores small pieces of data about what information is on the other drives in that array. If a single drive fails, the data “about” the failed drive stored on the other disks is used to recreate the information from the failed drive when another is added to the group.
RAID F1 differs from RAID 5 by selecting one SSD in the array for distribution of additional parity bits, effectively writing more data to one SSD than to others in the group. Writing more data to a single SSD in a group of SSDs allows for a single disk to complete its estimated life cycle before any others in the array. This provides a single, predictable failure point, which is within the fault tolerance of the array. The chosen SSD in these cases could then be removed when it nears the end of its lifespan, and replaced with a new drive. RAID F1 will then select a new SSD on which to write those extra parity blocks, again changing the expected expiration rate of the newly selected, and preventing total array failure due to concurrent SSD expiration.
RAID F1 is available on the Synology FS3017, an all flash storage controller with dual Xeon six core processors, 64GB of DDR4 ECC RAM (expandable to 512GB), built in 10GbE (with support for 25GbE and 40GbE), and comes equipped with the latest version of DSM, Synology’s award winning NAS operating system.