WavebreakMediaMicro - Fotolia

E8 dodges NVMe/controller bottleneck with server processing

Startup E8 announces v2 of its NVMe-based products with LUNs, Raid and thin provisioning as it sidesteps the NVMe-controller bottleneck by offloading processing to app servers

All-flash startup E8 has announced NVMe-based flash arrays with claimed performance 10x to 40x better than existing all-flash products plus functions that include shared volumes, Raid 6, high availability and thin provisioning.

This type of storage functionality, found in traditional controller-based storage arrays, has been difficult or impossible to achieve in NVMe flash products because storage controller hardware – designed in an era of spinning disk – lags behind NVMe performance that it isn’t up to the job.

Traditional controller architectures lack CPU resources that can be brought to bear, but E8 claims to have found a way around the storage controller bottleneck by offloading processing required for basic storage functionality to application server CPUs.

Features in v2 of E8’s NVMe products include shared writeable LUNs/volumes, Raid 6, high availability, and dynamic/thin provisioning that allows capacity to be carved into one or many logical LUNs with actual capacity added as required.

E8-D24 appliances can now be scaled beyond a single box and claim IOPS of 10 million for 4kb reads and 1 million for writes.

Meanwhile, E8 has announced the X24, which provides storage class memory via Intel’s Optane 3D Xpoint drives.

E8 uses commodity server hardware and off-the-shelf NVMe flash cards. Its approach is to distribute processing required to provide basic storage functions between its appliances and the application hosts.

“Problems like this often lend themself to hardware acceleration, but we’re able to break the dual controller bottleneck by moving it onto a software service on app servers,” said Zivan Ori, CEO and founder.

“It’s a design choice; where to do the processing, in the host or at the controller? We keep as little of the data path in the box as possible while keeping as much of the control path in the box as we can.”

Read more about NVMe

E8 favours connectivity via RDMA over converged Ethernet (RoCE) as a route to/from hosts. It keeps metadata on its appliances so that if any of the servers to which functionality is distributed crash then nothing happens to the underlying storage.

“We get a strong performance and reliability edge,” said Ori. “We can get between 10x and 40x in terms of performance compared to any of the ‘gen 1’ all-flash products.”

Ori gives Raid 6 as an example. “The software calculations are carried out on the app server, but rebuilds are done on our controllers,” he said.

Doesn’t a Raid rebuild massively tax the storage CPUs? Yes, said Ori, but it doesn’t matter. “The data path isn’t through the storage controllers, so the CPUs in normal operations do almost nothing. They’re reserved for special operations,” he added.

NVMe is a protocol based on peripheral component interconnect express (PCIe). It eliminates the need for the (spinning disk era) SCSI protocol and massively boosts the number of queues and queue depths possible, allowing NVMe flash drives to operate at their full potential.

But currently the full potential of NVMe is only realisable by putting drives into server PCIe slots. When many NVMe drives are aggregated as shared storage, some kind of controller functionality is required to manage protocol handling, provisioning and data protection.

E8 is tackling this by offloading CPU cycles to the hosts. Others, such as Kaminario, propose that controller hardware needs to scale out to provide the processing power needed.

Read more on Flash storage and solid-state drives (SSDs)