[LINK] Flash Memory Implementation

stephen at melbpc.org.au stephen at melbpc.org.au
Wed Jun 27 02:38:32 AEST 2012


The popularity of flash memory has soared over the last year because 
flash has definite advantages over conventional media. It often isn't 
clear however, what distinguishes one flash offering from another. 

Here is a review of four common flash design implementations, each of 
which has strengths and weaknesses.


(1) Let's start with the use of PCIe flash memory cards in servers, 
coupled with software that treats flash as an extension of system memory. 
Applications that depend upon high performance database accesses where 
low latency is very important can benefit from the use of these cards.

Data is generally moved as blocks closer to the application given the 
need for very high performance. Compared to traditional disk I/O, latency 
is far lower and the cost per IOPS is low. Because NFS is not the primary 
protocol being used for data access, customers that prefer this option 
are primarily SAN minded folk that are very sensitive to latency.

The cons associated with this approach are first, it's not a shared 
storage model; servers that benefit must be furnished with the flash 
cards. Second, it consumes inordinate amounts of CPU because the wear 
leveling and grooming algorithms require a great amount of processor 
cycles. Third, for some customers, consuming PCIe slots is a concern. All 
of these factors need to be factored into how servers are provisioned, 
assuring adequate processor and PCIe slot support.

(2) The second design approach is to build storage arrays purely from 
flash memory. These constitute shared storage targets that often sit on a 
SAN. You wouldn't purchase these systems to accelerate or displace NAS, 
but you can include support for NFS caching so long as one flash memory 
array sits alongside an NFS gateway server. The added latency associated 
with including such a gateway make it less than ideal in performance-
sensitive environments. The pure SAN model has gained significant 
traction displacing conventional storage from incumbent suppliers in 
latency sensitive environments, such as the financial markets.

Despite the raw performance, the storage management tools tend to lag. 
One of the major disadvantages with these systems is the processor 
utilization in the storage array. This will likely be the bottleneck that 
limits scalability. And once the processors hit 100%, it doesn't matter 
how much more flash memory is installed; the system will be incapable of 
generating incremental I/O. A better approach might be to apply flash to 
the data that needs it and make use of less expensive media for the data 
that doesn't. Aged or less important data doesn't require the same IOPS 
as hot data.

(3) The third design approach has taken on chameleon-like qualities. It 
can function as either a write-through caching appliance that offloads 
NAS or file servers, or just as a file server. As a file server, it is 
positioned as an edge NAS that delivers performance to users. There is 
still a back-end NAS that sits behind this device where everything is 
stored. Active data isn't moved to the Edge NAS, it's copied to it, and 
this option makes use of faster media to increase performance for users.

The products come in the form of nodes that can make up a cluster. Nodes 
are configured with DRAM, NVRAM and either higher-performance SAS hard 
drives or flash memory. The nodes form a high performance cluster that 
can be managed as a Global Name Space.

Data can be pushed to edge NAS nodes in different clusters in an effort 
to reduce latency associated with the WAN. Written data can be flushed 
immediately to the back end filers, hence the write-through caching 
model, or "stored" on the cluster, and at set intervals, the written 
blocks as they exist, are flushed back. There is no form of WAN 
optimization, either de-duping or compression, that takes place in this 
model.

Some of the pros associated with this design approach are that it can 
generate incremental performance for users when the back-end filers lack 
the ability to generate the IOPS. It could also develop into what could 
be a strong full featured scale-out NAS offering over time. But the use 
of the back-end NAS in this model is temporary.

The major downsides with this design are it's not optimized to be purely 
a caching solution, and when it is used as a File Server, it's intrusive 
to the existing NAS. If it holds on to Writes in this mode, the back-end 
NAS can't receive them and execute snaps or replication. For those 
looking for a cost effective cluster mode scale-out, this might well be 
an insurance policy, assuming that these products do evolve into full-
fledged NAS appliances that don't rely upon other back-end storage.

(4) This takes us to the fourth and final design, an NFS acceleration 
appliance. In this design, flash is used as cache, not as storage. The 
appliance consists of DRAM and flash memory that act as cache for active 
data based upon LRU and data acceleration technology that consists of 
both 10GbE acceleration hardware in silicon and custom software.

This acceleration technology is optimized for processing NFS requests and 
getting data on and off the wire with minimal latency and CPU 
utilization. The appliance simply sits alongside the NAS already in place 
and acts as a performance Read and NFS Metadata cache and accelerator. 
Given typical NFS mixes, this model has the appliance absorbing 
approximately 90% of the NFS traffic so the filer doesn't have to.

In this model, the appliance can support a number of filers, not just 
one, so it's both sharable and scalable. The intent is to provide cycles 
back to the NAS so it can do its job in delivering performance to 
applications and have its life extended.

The pros are simplicity and cost-effective performance. The cons include 
not being able to cache CIFS traffic today and the dependency on the back-
end NAS to handle non-cacheable operations. If there are bottlenecks on 
the filer, such as too few drives with limited IOPS to handle a burst in 
un-cached reads, there could be a temporary spike in latency. But for 
many working sets in environments where many clients are accessing much 
of the same data, as the cache warms, this isn't an issue.


In summary, there are many flash products available in the market today. 
They are diverse enough to where they shouldn't all be put in a bucket 
labeled as flash storage. Hopefully this review of Flash solutions' 
architectural differences, benefits and shortcomings has helped 
illuminate the fact that more informed choices can be made.

(Note: This vendor-written tech primer has been edited by Network World 
to eliminate product promotion, but readers should note it will likely 
favor the submitter's approach.)

http://www.arnnet.com.au/article/428748/can_flash_live_up_hype_/

Cheers,
Stephen



More information about the Link mailing list