FlexiRemap® vs RAID
RAID algorithms were introduced to the public back in 1987. To this day, they remain the most popular technology for protecting and accelerating access to data in the field of information storage. But the age of IT technology, which has crossed a 30-year milestone, is rather not maturity, but old age. The reason is progress, inexorably carrying new opportunities. In times when there were virtually no other drives besides HDD, RAID algorithms made it possible to most effectively use the available storage resources. However, with the advent of SSD, the situation has fundamentally changed. Now RAID when working with SSDs is already a "noose" on their performance. Therefore, to unleash the full potential of the speed characteristics of SSDs, a completely different approach to working with them is simply necessary.
In addition to the obvious differences between HDD and SSD in operating principles, these types of media have one more important characteristic: any hard drive can overwrite any data with granularity in one block (now it is most often 4K). For SSDs, the rewrite process is a much more complicated procedure:
- Changed data is copied to a new location. At the same time, granularity is the same block, but consisting of several pages and having a size of 256KB - 4MB. Those. when changing the same 4KB, it is necessary to copy including all neighboring pages, forming a single block.
- Mark the "old" blocks as unused, then wipe them with the garbage collector.
Sequential Write / Overwrite on SSD
In the case of sequential recording / dubbing, this feature of the SSD does not play a big role in terms of its performance, because the blocks are located nearby, and the garbage collector is doing its job in the background. But in real life, and even more so in the Enterprise segment for SSD, random access to data is most often used. And this data is written to arbitrary places on the drives.
The more data is written to the SSD, the more difficult it is for the garbage collector to work, since fragmentation is growing rapidly. As a result, the moment comes when the process of cleaning the drive ceases to be “background”: the performance of the SSD drops significantly, because a significant part of it is taken by the Garbage Collector.
Real data layout on SSD for everyday use
To illustrate the effect of the impact of the garbage collector's work, depending on the recording mode on the drive, one can carry out simple tests: sequential and random recording in blocks of 4K to a 100GB drive. (Source - Micron )
Sequential Write Performance
Random Write Performance
As you can see from the tests, the performance drop can reach more than two times. And this is just a single drive. In the case of using SSDs as part of a RAID group, the number of rewriting operations increases significantly, thanks to working with parity.
In general, thanks to these features of the SSD, for them there is such a parameter as a write amplification. This is the ratio of the amount of data written to the drive to the amount of data that the host actually sent. And for the most popular RAID5, this ratio is ~ 3.5.
As a result, systems with classic RAID basically utilize SSDs only ~ 10% of their actual speed and scale poorly in performance with an increase in the number of drives over a dozen.
We also note that excessive write operations not only reduce the performance of SSDs, but also reduce its far from endless resource, thereby reducing the life of the drive.
FlexiRemap® technology , which is the core of all AccelStor products, has been developed as an alternative to the classic RAID algorithms for working with SSDs. The innovation of the technology was noted both by various patents and awards (including the Flash Memory Summit 2016), as well as by the results of independent tests (for example, SPC1).
The essence of FlexiRemap® is to convert all incoming write requests, and mainly of type random, into a set of blocks that is as similar as possible to sequential recording from the point of view of the drive. As a result, recording to the SSD occurs in the most comfortable mode for them, and the final performance exceeds any system with a classic RAID.
All SSDs in AccelStor systems are divided into two symmetrical FlexiRemap® groups. The size of the group depends on the model and is 5-11 drives. For resiliency within a group, parity is used like RAID5. Both groups are used together to form a common storage space. Therefore, the resulting fault tolerance will be similar to a RAID50 array consisting of two groups: the system is able to withstand a failure of up to two SSDs, but no more than one in each FlexiRemap® group.
All incoming write requests are split into 4K blocks, which in round robin mode are written to both FlexiRemap® groups. Moreover, the system constantly keeps track of the demand for recorded blocks, trying to record such blocks as close to each other as possible. It turns out a virtual analogue of tearing, if expressed in terms of storage. In this case, the work of the garbage collector is greatly facilitated: after all, unused blocks will always be nearby.
It is worth noting that AccelStor systems , unlike competitors' products, do not use the caching functionality of incoming requests in the controller RAM. All incoming data blocks are immediately written to the SSD. The host receives confirmation of successful recording only after the physical placement of data on the drives. Only tables of block allocation on the SSD are stored in RAM to speed up access and determine where to write the next block of data. Of course, for reliability, copies of these tables are also located on the media themselves. As a result, AccelStor systems do not require any cache protection in the form of a battery / capacitor (however, there is an opportunity to establish a connection with the UPS for a “soft” shutdown in case of power problems).
Thanks to this approach to organizing recording, the garbage collector is really able to work in the background without significantly affecting the speed of the drives, which ultimately allows up to 90% of SSD performance to be utilized within the system. This is exactly what IOPS is in AccelStor systems against All Flash, based on RAID algorithms.
Another important feature of FlexiRemap® technology is the significant reduction in redundant write operations on SSDs. So the write amplification coefficient for AccelStor systems is only 1.3, which in translation into the common language means an increase in the life of drives compared to RAID5 by more than 2.5 times!
Due to the constant monitoring by the system of the policy of placing data on the SSD, all drives wear out the same way. Such an approach allows predicting their service life and signaling to the administrator in advance about the exhaustion of the recording resource.
It is clear that SSDs may fail. In this case, the system will immediately begin rebuilding to one of the hot spare drives. In this case, the FlexiRemap® group, which is in the degraded state, goes into read-only mode, and all write requests are sent to the second group. Such a protection mechanism is provided to accelerate the rebuild operation and reduce the likelihood of failure of another drive within the same group. It is no secret that during the rebuild, all drives in the group experience an increased load due to the interference of read, write and restore operations on hot spare. This increases the likelihood of another drive failing. And the more recording operations, the longer the rebuild will take.
After the recovery process is completed and the FlexiRemap® group returns to its normal state, there will be a slight bias in the recording resource between the two groups. Therefore, to align it, subsequent recording operations will often fall on the restored group (of course, in such a way that the final system performance does not suffer much).
It is impossible to increase the performance of All Flash systems based on RAID algorithms above some values (~ 280K IOPS @ 4K random write) even with complex caching systems. FlexiRemap® technology, thanks to a completely different approach to organizing storage space, not only easily overcomes this barrier, but also simultaneously increases the service life of SSDs by several times. So AccelStor systems have serious advantages among All Flash arrays on many fronts (IOPS / $, GB / $, TCO, ROI), making them ideal candidates for key positions in customer data centers for solving resource-intensive tasks.