Feeds

How Fusion-io redlined its PCIe flash motor to hit 9.6 MEEELION IOPS

64-byte writes ought to be enough for anybody

Secure remote control for conventional and virtual desktops

In its latest party trick, Fusion-io ramps up its ioDrive2 server card - a slab of 365GB MLC flash storage on a PCIe board - to gobble 9.6 million writes a second.

The feat works by mapping the PCIe card's NAND capacity into an application's memory space and writing 64 bytes - quite likely the PCI backbone's cache line size - at time by a single thread. So that's 9.6 million 64-byte writes a second, or 585MB/s in real money. Your mileage may vary if your own code deviates from this specific benchmark setup.

Fusion provides a directFS file system and a software development kit to make the ioDrive2's flash memory appear in the application's virtual memory space. As this Intel white paper [PDF] shows, it's perfectly possible to instruct the processor to write directly to a memory-mapped card over the PCIe bus just as if it was on-board RAM.

The data should be aligned to the nearest 64-byte address for optimal performance, and atomic read-writes are possible. The idea is to open up an application to a lot of directly coupled non-volatile storage, bypassing the operating system's code and any disk-based capacity. To take advantage of the hardware, the app code must be altered to use the Fusion-io SDK's APIs.

By The Reg storage desk's reckoning, 64 bytes is a sweet spot for Fusion-io's ioDrive2. The PCIe hardware sends 64-byte chunks per processor write cycle, assuming the addresses are optimally aligned: there's no speed advantage in sending fewer than 64 bytes in one cycle.

Sending one byte more than 64 will force the chipset to round up to the next 64-byte size, and thus send 128 bytes over the PCIe bus, which will take two access cycles and, in theory, halve your 9.6-million-writes-a-second figure to 4.8 million IOPS.

El Reg thinks PernixData and its distributed hypervisor-resident cache will also play into this memory-mapped flash arena. It appears that primary data storage is in the very early days of transitioning from disk media to solid-state chips, through flash-as-disk to flash-as-memory. Fusion-io is not alone in this; IBM general manager for storage Ambuj Goyal also thinks transaction-class data should be held on solid-state storage. Disk is just too darned slow.

The highest performance rewards from using flash will be achieved by understanding the hardware's characteristics and going with the flow. ®

Secure remote control for conventional and virtual desktops

More from The Register

next story
Ellison: Sparc M7 is Oracle's most important silicon EVER
'Acceleration engines' key to performance, security, Larry says
Linux? Bah! Red Hat has its eye on the CLOUD – and it wants to own it
CEO says it will be 'undisputed leader' in enterprise cloud tech
Oracle SHELLSHOCKER - data titan lists unpatchables
Database kingpin lists 32 products that can't be patched (yet) as GNU fixes second vuln
Ello? ello? ello?: Facebook challenger in DDoS KNOCKOUT
Gets back up again after half an hour though
Hey, what's a STORAGE company doing working on Internet-of-Cars?
Boo - it's not a terabyte car, it's just predictive maintenance and that
prev story

Whitepapers

A strategic approach to identity relationship management
ForgeRock commissioned Forrester to evaluate companies’ IAM practices and requirements when it comes to customer-facing scenarios versus employee-facing ones.
Storage capacity and performance optimization at Mizuno USA
Mizuno USA turn to Tegile storage technology to solve both their SAN and backup issues.
High Performance for All
While HPC is not new, it has traditionally been seen as a specialist area – is it now geared up to meet more mainstream requirements?
Beginner's guide to SSL certificates
De-mystify the technology involved and give you the information you need to make the best decision when considering your online security options.
Security for virtualized datacentres
Legacy security solutions are inefficient due to the architectural differences between physical and virtual environments.