News
10/29/2013
01:39 PM
George Crump
George Crump
Commentary
50%
50%

Quick Guide To Flash Storage Latency Wars

Because latency is the key performance differentiator in server-side flash, SSD, PCIe and memory bus flash storage vendors are competing on speed.

Server-side flash is all about performance, and the key performance differentiator is latency. Latency is the time required to complete a transaction between a host and a storage system, such as a read or write operation. As a result, a "latency war" has broken out in the flash community about the best way to reduce flash latency.

Latency actually has several levels. The first level is the time it takes the media to position and be ready to respond to an I/O request. With a hard drive, this latency was the end of the discussion, as the milliseconds it took for a hard drive to get in position overshadowed any other latency in the storage communication chain.

Solid state disk (SSD) drives -- which are flash inside a hard drive container -- eliminated that device latency. SSDs can put themselves in position instantly since they have no moving parts, no platters to rotate. But that exposed other areas of latency in the storage protocol stack. For example, the time it takes for the I/O to work its way through the overhead of SCSI became noticeable.

This led to the introduction and rapid adoption of PCIe-based flash. Most of these cards eliminated the storage protocol stack altogether. The communication was direct to the application or operating system over the PCIe bus. Eliminating the storage protocol stack meant that special drivers had to be created for the various operating systems that a data center might have.

Vendors then introduced API sets that would allow users to write directly to the PCIe flash card from within the application for a further reduction in latency, not only avoiding the storage I/O stack but also avoiding the operating system itself.

What PCIe began to show, though, was that there was another level of latency. The PCIe bus itself. The PCIe bus routes through a motherboard-based fabric that allows multiple cards to share PCIe bandwidth. Some higher end servers will have multiple PCIe hubs in order to better route data. But even a high-end server when burdened with lots of I/O can become PCIe bottlenecked and lead to latency. (Remember that PCIe supports more than storage I/O.)

The next tier in latency elimination is to eliminate the PCIe bus altogether. Several vendors are introducing memory-bus-based flash storage. These flash storage devices come in a memory DIMM form factor and can act as storage with a device driver, similar to a PCIe SSD. Even more interesting, with a tweak to server system BIOS, it can act as main memory to the server. Imagine 400 GBs of "RAM" via flash on a single DIMM. Using the memory bus provides even more I/O channels and greater bandwidth; it was, after all, designed to support DRAM.

In both implementation modes, the use cases are very interesting. The ability to create very dense servers with terabytes (if not petabytes) of flash capacity in a 1U system changes the data center design game quite a bit.

There is no single perfect solution, as SSD, PCIe flash and memory flash all have their ideal use cases, and many data centers may have a mixture of all three. Designing applications for extreme high performance with almost zero latency is now reality. But their use is not limited to the performance fringe. For example imagine using these technologies to design a single physical server to support 10,000 plus desktops. We have the processing power available to us, but the latency of storage is no longer the roadblock it always was.

Comment  | 
Print  | 
More Insights
Comments
Newest First  |  Oldest First  |  Threaded View
samicksha
50%
50%
samicksha,
User Rank: Apprentice
10/31/2013 | 11:25:23 AM
re: Quick Guide To Flash Storage Latency Wars
Any review on Tape storage,as i don't think it going away any time soon, as it is still the most cost-effective and simplest way to archive huge amounts of data.
D. Henschen
50%
50%
D. Henschen,
User Rank: Apprentice
10/31/2013 | 10:49:46 AM
re: Quick Guide To Flash Storage Latency Wars
I heard an enlightening cost comparison the other day by Ari Zilka, CTO at Hortonworks. 1Terabyte of RAM = $70,000; 1TB of Flash = $8,000 to $20,000, depending on quality/discounts; 1 TB of hard drive = $60 to $100 depending on quality/performance. Maybe somebody would quibble with the exact figures, but it's clear there is a cost to real-time performance.
Joe Stanganelli
50%
50%
Joe Stanganelli,
User Rank: Ninja
10/31/2013 | 3:58:11 AM
re: Quick Guide To Flash Storage Latency Wars
Of course, this all stands to change over the next several years as SSDs gradually become obsolete (except, possibly, in hybrid setups) under Moore's Law. http://www.enterpriseefficienc...
beachscape
50%
50%
beachscape,
User Rank: Apprentice
10/31/2013 | 2:25:02 AM
re: Quick Guide To Flash Storage Latency Wars
Great summary describing latency in storage. It would be good to have a table comparing latencies of HDDs, SSDs, PCIe and flash memory DIMMs.
Register for Dark Reading Newsletters
White Papers
Cartoon
Current Issue
Flash Poll
10 Recommendations for Outsourcing Security
10 Recommendations for Outsourcing Security
Enterprises today have a wide range of third-party options to help improve their defenses, including MSSPs, auditing and penetration testing, and DDoS protection. But are there situations in which a service provider might actually increase risk?
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-8891
Published: 2015-03-06
Unspecified vulnerability in the Java Virtual Machine (JVM) in IBM SDK, Java Technology Edition 5.0 before SR16-FP9, 6 before SR16-FP3, 6R1 before SR8-FP3, 7 before SR8-FP10, and 7R1 before SR2-FP10 allows remote attackers to escape the Java sandbox and execute arbitrary code via unspecified vectors...

CVE-2014-8892
Published: 2015-03-06
Unspecified vulnerability in the Java Virtual Machine (JVM) in IBM SDK, Java Technology Edition 5.0 before SR16-FP9, 6 before SR16-FP3, 6R1 before SR8-FP3, 7 before SR8-FP10, and 7R1 before SR2-FP10 allows remote attackers to bypass intended access permissions and obtain sensitive information via un...

CVE-2015-1170
Published: 2015-03-06
The NVIDIA Display Driver R304 before 309.08, R340 before 341.44, R343 before 345.20, and R346 before 347.52 does not properly validate local client impersonation levels when performing a "kernel administrator check," which allows local users to gain administrator privileges via unspecified API call...

CVE-2015-1637
Published: 2015-03-06
Schannel (aka Secure Channel) in Microsoft Windows Server 2003 SP2, Windows Vista SP2, Windows Server 2008 SP2 and R2 SP1, Windows 7 SP1, Windows 8, Windows 8.1, Windows Server 2012 Gold and R2, and Windows RT Gold and 8.1 does not properly restrict TLS state transitions, which makes it easier for r...

CVE-2014-2130
Published: 2015-03-05
Cisco Secure Access Control Server (ACS) provides an unintentional administration web interface based on Apache Tomcat, which allows remote authenticated users to modify application files and configuration files, and consequently execute arbitrary code, by leveraging administrative privileges, aka B...

Dark Reading Radio
Archived Dark Reading Radio
How can security professionals better engage with their peers, both in person and online? In this Dark Reading Radio show, we will talk to leaders at some of the security industry’s professional organizations about how security pros can get more involved – with their colleagues in the same industry, with their peers in other industries, and with the IT security community as a whole.