Generally speaking, most All-Flash Arrays (AFA) increase performance by adding more processing power, more RAM and more drives. Adding more of any of these components also adds more cost. The only significant cost reduction method that most storage software solutions use are data efficiency technologies like data deduplication and compression, which are becoming less valuable as flash density increases.
At the heart of the problem is storage software’s lack of efficiency. Most solutions aren’t multi-threaded to efficiently use multi-core processors. The lack of multi-threaded capabilities means that software vendors have to lock down a specific process to a specific core. As a result, some cores are over-used, while most are under-used. AFA systems typically show a performance gain not by improving their software efficiency but by moving to higher-end processors that have more processing power per core. Ironically, the higher end processors also have more cores, which the storage software still can’t use effectively, which leads to even more wasted processing power and expense.
Storage software also continues to use legacy code and algorithms to deliver features like volume management, protection from media failure and snapshot management. The use of the legacy code and algorithms means that the implementation of each feature adds latency. As a result, most AFAs only derive about 5% of the rated raw performance of the flash media inside the system.
Additionally, most AFA storage software won’t allow the array to expand into other use cases. AFA systems are typically “block” only. Organizations, however, need file services (NAS) and increasingly they need object storage. If the AFA storage software doesn’t support these protocols, the organization has to buy separate storage systems for each use case, which not only increases costs it also increases management complexity. Most AFAs also don’t support hard disk and flash media. The lack of hard disk drive support within the same system makes it hard to justify using the AFA for long-term retention of data or backups.
Using Software to Drive Down AFA Costs
Vendors need to rethink storage software and how it uses AFA resources. First, AFA storage software needs to be multi-threaded to take advantage of all processing cores equally. Effectively using processing cores means the system does not need as powerful a processor, which translates into a lower starting cost for the AFA.
Second, AFA storage software needs to deliver closer to raw flash media performance. Achieving raw flash performance requires the vendors to rewrite legacy code and rethink legacy algorithms, so they are more efficient instead of forcing the customer to pay for more expensive processors. A proper focus on the development of more efficient code and algorithms enables the software to deliver performance closer to the full capabilities of each flash drive in the system. When complete, the software can deliver higher performance with fewer drives. The reduction in required drives dramatically lowers the cost of the system.
Third, AFA storage software needs to meet a broader set of use cases. The storage software should provide block, file, and object for a single environment. The software should also support both flash and hard disk storage, which technically no longer makes it AFA software but does allow IT to use the software for long-term data retention and even backups. IT may decide to deploy these functions on physically separate systems, but using the same storage software throughout the storage architecture significantly simplifies storage management.
Vendors need to rethink storage software development entirely, and IT needs to demand greater efficiency from their vendors. It has to take advantage of the currently available technologies like multi-core CPUs and high-performance flash drives. Doing so enables the organization to use fewer and less powerful components. It also provides the organization with true flexibility when selecting hardware.
Storage software also needs to be less myopic. The days of flash-only storage software should come to an end. Storage software should extract maximum performance from whatever media is installed in the system and automatically move data between media types where appropriate. Finally, it should support all the standard protocols (file, block, and object) from within a single software environment.
In our on demand webinar, Storage Switzerland and StorONE discuss how efficient software can deliver a 500K IOPS AFA for less than $95,000.