When the CPU needs data, the role of the storage system is to transfer information into main memory so the CPU can process it. The memory channels between the CPU and main memory is very fast and the number of channels is increasing with each CPU generation. However, the peripheral bus between main memory and storage devices, while constantly improving, is an order of magnitude slower than the memory channel. Formulus Black’s ForsaOS looks to take direct advantage of the memory channel by bypassing the peripheral bus and using main memory for storing data.
The State of Storage Infrastructure
Most storage infrastructures today are trying one of two methods to improve the performance gap between storage and compute. Storage vendors are continually trying to make the storage itself faster. Storage devices (e.g. solid state disks, or SSDs) have improved the most, since the advent of flash, and is further improving with technologies like Non-Volatile Memory Express (NVMe). Networking is also improving, thanks to Non-Volatile Memory Express over Fabrics (NVMe-oF), which reduces latency significantly but requires a significant infrastructure upgrade. Server vendors are trying to move closer to storage by building hyperscale and hyperconverged infrastructures that eliminate network dependencies by leveraging direct attached storage (DAS).
The problem is that neither approach is as optimal as placing storage directly into memory, thus removing even flash latencies, and taking full advantage of the memory bus.
A third approach is to leverage Non-Volatile Dual In-line Memory Module (NVDIMM) or technologies like Intel’s 3D XPoint, which is a persistent memory technology jointly developed by Intel and Micron Technology. Both of these technologies can take advantage of the memory bus for maximum performance but, NVDIMMs have limited DRAM capacity because they have to allocate space on the DIMM to flash, as well as connectors to external capacitors for backup. These limitations also drive up the cost. 3D XPoint in its DIMM form is not yet available from Intel and when it is, it will be more of a Tier 1.5 technology, being noticeably slower than Dynamic Random Access Memory (DRAM).
Formulus Black, a New Storage Infrastructure
Formulus Black is a software company that promises to use today’s available memory technology to make a storage tier that runs in memory and takes full advantage of the memory bus. The approach is unique because in the past other technologies either had to wait for operating system and/or hardware firmware support. In most cases the support came so slowly that the companies went out of business.
At the heart of the solution is a unique data algorithm which the company calls Formulus Bit Markers. Bit Markers use patented algorithms to analyze data which results in lossless, mathematically optimal storage in-memory without using compression or deduplication. Bit Markers can significantly reduce the data memory footprint, which leads to greater usable capacity than the installed physical memory. The impact of Bit Markers is felt across memory (RAM) allocated as storage. Formulus Black refers to the data reduction result of Bit Markers as Memory Amplification.
The second part of the solution is ForsaOS; Formulus Black’s Linux-based operating system (OS). ForsaOS is a proprietary OS, which includes a built-in hypervisor that works with Bit Markers to present the amplified memory to each guest operating system as virtual storage, accessible at memory channel speeds. By using Bit Markers, ForsaOS allows many more virtual server instances to be implemented per given host than other hypervisors.
There is of course one problem with using memory as storage; if power is removed data is lost. Instead of using proprietary hardware and trusting capacitors, Formulus Black requires an Uninterruptable Power Supply (UPS). The UPS can be a data center-wide system or directly attached to the servers running the software. The operating system also has a capability called BLINK, which provides a realtime capture of Bit Markers to a more permanent storage medium, like flash. A BLINK can be executed when the organization wants to or when it receives a signal from the primary UPS that power has been lost.
Formulus Black shows a proof-of-concept test where an organization is running MS-SQL Server Always-On edition on a 16 core, 80GB RAM virtual machine. The company began evaluating Formulus Black because a key query of theirs was taking 15 minutes to execute. The time delay was impacting business-critical operations as well as staff productivity. Using Formulus Black, the company was able reduce the key query time to 2 seconds on a system that was 75% less expensive.
The case for using the memory bus for storage IO is very compelling and Formulus Black is not the first company to make the claim. The problem other solutions had is they were hardware based and required changes to server firmware, which is a slow, drawn out process. In fact, it occurs so slowly that companies offering a memory bus solution often struggle to survive.
Formulus Black takes a different approach. It created a software stack that, while requiring the customer to switch operating software, leverages off-the-shelf hardware and does not have to wait for vendor support. Their operating system is Linux-based and most, if not all environments that need this solution, will have Linux experience. Even if they don’t, the results may be so compelling they may learn it well enough to get the virtual machined converted.
Our expectation is organizations with workloads that need this type of performance have already tried some of the other memory bus technologies and came away frustrated by their limitations. Formulus takes a unique approach to create a software-only solution. For those companies that have workloads that can take advantage of memory bus performance, which are increasing by the day, it is a very compelling offering.