<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:series="http://unfoldingneurons.com/"
	>

<channel>
	<title>Stephen Foskett, Pack Rat &#187; cache Archives  &#8211; Stephen Foskett, Pack Rat</title>
	<atom:link href="http://blog.fosketts.net/tag/cache/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fosketts.net</link>
	<description>Understanding the accumulation of data</description>
	<lastBuildDate>Fri, 10 Feb 2012 17:40:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com" />
	<atom:link rel="hub" href="http://superfeedr.com/hubbub" />
			<item>
		<title>EMC VFCache (aka &#8220;Project Lightning&#8221;) Is One Small Step, But an Important One</title>
		<link>http://blog.fosketts.net/2012/02/06/emc-vfcache-project-lightning-pcie-flash/</link>
		<comments>http://blog.fosketts.net/2012/02/06/emc-vfcache-project-lightning-pcie-flash/#comments</comments>
		<pubDate>Mon, 06 Feb 2012 16:11:09 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Gestalt IT]]></category>
		<category><![CDATA[Virtual Storage]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[DRS]]></category>
		<category><![CDATA[E-Class]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Fusion-IO]]></category>
		<category><![CDATA[high availability]]></category>
		<category><![CDATA[InfiniBand]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[ioTurbine]]></category>
		<category><![CDATA[LSI]]></category>
		<category><![CDATA[Mellanox]]></category>
		<category><![CDATA[Micron]]></category>
		<category><![CDATA[Nimbus Data]]></category>
		<category><![CDATA[PCIe]]></category>
		<category><![CDATA[Project Lightning]]></category>
		<category><![CDATA[QLogic]]></category>
		<category><![CDATA[VFCache]]></category>
		<category><![CDATA[Virsto]]></category>
		<category><![CDATA[Virtensys]]></category>
		<category><![CDATA[VMotion]]></category>
		<category><![CDATA[Voltaire]]></category>
		<category><![CDATA[Xsigo]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=6762</guid>
		<description><![CDATA[EMC VFCache (née Project Lightning) is a fairly simple offering: A server-based PCIe flash card that acts as a read cache with no integration with storage arrays or hypervisors. But EMC's entrance into the host-based flash storage market is a powerful demonstration of the wave of disruption caused by flash-based storage and high-performance computing.]]></description>
			<content:encoded><![CDATA[<p>EMC will today unveil a new product, and will no doubt attract a great deal of press. The modest technical capabilities of <a href="http://www.emc.com/storage/vfcache/vfcache.htm" >VFCache 1.0</a> limit its use case, but the announcement is big news, since it marks EMCs first foray into the hot server-attached storage market.</p>
<h3>EMC VFCache is a Simple Read Cache</h3>
<blockquote><p>I was not pre-briefed on this product, and I&#8217;m not all that thrilled at the prospect of attending a launch webinar, so what you read here is based on my own research and reading of the available information as of this morning.</p></blockquote>
<p>When <a href="http://www.networkcomputing.com/servers-storage/229625580" >EMC announced Project Lightning</a> last year, company insiders expressed surprise to me. It seems that many had never heard of the project, and those that had didn&#8217;t think it was far enough along to be announced. I didn&#8217;t even bother to write about the Project Lightning announcement at the time. But today <a href="http://chucksblog.emc.com/chucks_blog/2012/02/vfcache-means-very-fast-cache-indeed.html" >EMC unveils the production product</a> that came out of Project Lightning.</p>
<div id="attachment_6763" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://chucksblog.emc.com/chucks_blog/2012/02/vfcache-means-very-fast-cache-indeed.html" ><img class="size-medium wp-image-6763" title="EMC VFCache product Architecture" src="http://static.fosketts.net/wp-content/uploads/2012/02/6a00d83451be8f69e20163008b1462970d-800wi-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">VFCache is a filter driver that caches writes</p></div>
<p>EMC VFCache <a href="http://www.theregister.co.uk/2012/02/06/emc_vfcache/" >appears to be</a> a simple and straightforward offering:</p>
<ol>
<li>A PCIe SSD from Micron or LSI sits in the server and acts as a read cache to accelerate performance</li>
<li>EMC software also runs on the server, snooping on I/O and filling the cache with relevant data</li>
</ol>
<p>There&#8217;s not a lot more to the product than that. EMC will sell the PCIe SSD and bundled software as VFCache, and will no doubt market the heck out of this product. Perhaps the only novel twist is the so-called “split-card” mode, which allows the card to act as a write cache. But EMC only supports this for transient “throwaway” data with direct attached storage (DAS) as a backend. There&#8217;s no way a conservative, enterprise focused company like EMC would risk sanctioning a writeback cache with no redundancy or data protection features.</p>
<div id="attachment_6764" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2012/02/6a00d83451be8f69e2016761811db4970b-800wi.jpg" ><img class="size-medium wp-image-6764" title="EMC VFCache on vSphere" src="http://static.fosketts.net/wp-content/uploads/2012/02/6a00d83451be8f69e2016761811db4970b-800wi-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">VFCache uses a filter driver installed in the VM guest</p></div>
<p>Perhaps the biggest limitation of the initial VFCache offering is its limited applicability to enterprise server virtualization environments. VFCache uses a filter driver installed in each VM guest, and includes no hypervisor drivers though there is a vCenter plug-in. This makes VMware vMotion very tricky, <a href="http://geekfluent.com/2012/02/06/emc-vfcache-project-lightning-in-a-vmware-environment/" >involving scripting</a> to remove and re-add storage. This means VMware SRM will not easily work, and there is no support for clustering, either.</p>
<p>This is no surprise, since VFCache appears to the host as a local storage volume (AKA, a disk drive or LUN) which would disappear if a virtual machine is moved to another server. <a href="http://virsto.com/products/virsto-vdi-vsphere" >Virsto solved this problem</a> by virtualizing storage presentation to the hypervisor, and <a href="http://www.fusionio.com/systems/ioturbine/" >Fusion-io&#8217;s ioTurbine</a> software <a href="http://www.fusionio.com/blog/iomemory-ioturbine-easy-guaranteed-acceleration-for-virtualized-applications/" >does not interfere</a> with vMotion either. EMC will likely go in this direction in the future, but it&#8217;s a big hole in the product for now.</p>
<blockquote><p>You might also like reading <a href="http://blog.fosketts.net/2011/06/02/micron-p320h-pcie-ssd/" >Micron Bursts Into the PCIe SSD Market</a> to learn more about the card EMC is using</p></blockquote>
<h3>The News: EMC Is in the Host-Based Storage Business</h3>
<p>The primary use case for this product is server I/O acceleration. This is desperately needed, as applications and servers are rapidly outrunning the capabilities of conventional storage arrays. EMC and other legacy array manufacturers initially tried to address this I/O imbalance with tiered storage and in array caching. Indeed, these technologies are fairly effective at accelerating the performance of conventional disk storage arrays.</p>
<p>But flash manufacturers like Fusion-io (not to mention Micron and LSI) absolutely demolished storage array performance with their in-server offerings. EMC faced the prospect of losing out on the high-performance storage market. EMC simply could not allow their bread-and-butter enterprise customers to look elsewhere for strategic, high-performance storage for high-profile applications.</p>
<p>VFCache gives EMC salespeople a silver bullet when customers demand maximum performance, but this launch may not spell doom for the flash startups. For one thing, it legitimizes host-based flash cards as a viable component of enterprise storage architectures. It also opens the door to comparison between SAN storage and non&#8211;SAN alternatives that go well beyond what EMC is currently offering.</p>
<h3>Shared Flash Storage Is on Deck: Project Thunder</h3>
<div id="attachment_6765" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2012/02/6a00d83451be8f69e20163008b7e2a970d-800wi.jpg" ><img class="size-medium wp-image-6765" title="EMC project thunder design envelope" src="http://static.fosketts.net/wp-content/uploads/2012/02/6a00d83451be8f69e20163008b7e2a970d-800wi-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">&quot;Project Thunder&quot; will externalize the PCIe flash cards over a high-performance &quot;Server Area Network&quot;</p></div>
<p>As part of the VFCache introduction, EMC is also <a href="http://chucksblog.emc.com/chucks_blog/2012/02/from-lightning-to-thunder.html" >talking about Project Thunder</a>, a shared version of VFCache. At the very least, thunder will allow multiple servers to access a shared pool of flash cache. This should allow VMware vMotion and DRS to function, and could be much more than that.</p>
<p>EMC could build a high-availability, high-performance all-flash storage array that may even use InfiniBand as an interconnect. <a href="http://blog.fosketts.net/2012/01/31/nimbus-eclass-big-redundant-allflash-enterprise-array/" >The new Nimbus Data E-Class storage array</a> matches this description perfectly, and their CEO tells me that performance over InfiniBand is indeed comparable to in-server PCIe flash cards. It seems logical for EMC to enter this market, if only to disrupt the momentum of Fusion-io and the rest of the all-flash storage upstarts.</p>
<blockquote><p>Read more about the <a href="http://blog.fosketts.net/2012/01/31/nimbus-eclass-big-redundant-allflash-enterprise-array/" >Nimbus E-Class: The First Big, Redundant, All-Flash Enterprise Array</a></p></blockquote>
<p>The only fly in the ointment here is the recent consolidation of the InfiniBand market. <a href="http://www.theregister.co.uk/2010/11/29/mellanox_acquires_voltaire/" >Mellanox bought Voltaire</a>, and <a href="http://www.theregister.co.uk/2012/02/06/qlogic_exits_ib/" >QLogic sold out to Intel</a>, putting that protocol on tenuous grounds. Perhaps 40 or 100 Gb Ethernet will emerge as a viable alternative for high-performance connectivity, or perhaps these products will retrench on shared PCI Express instead. Micron recently purchased Virtensys for just such a product, and Xsigo has been making big waves in the area of converged I/O as well. The market clearly need something better than Fibre Channel for maximum performance storage, even if InfiniBand isn&#8217;t it.</p>
<h3>Stephen&#8217;s Stance</h3>
<p>EMC VFCache (née Project Lightning) is a fairly simple offering: A server-based PCIe flash card that acts as a read cache with no integration with storage arrays or hypervisors. But EMC&#8217;s entrance into the host-based flash storage market is a powerful demonstration of the wave of disruption caused by flash-based storage and high-performance computing. Although I am not all that impressed with the product itself, I would be distressed if EMC had not introduced it.</p>
<p><em><a href="http://chucksblog.emc.com/chucks_blog/2012/02/vfcache-means-very-fast-cache-indeed.html" >VFCache illustrations</a> are copyright EMC Corporation and are used here <a href="https://twitter.com/chuckhollis/status/166547736102043650" >with permission</a></em></p>
<blockquote><p>More solid, independent VFCache coverage:</p>
<ul>
<li><a href="http://thestoragearchitect.com/2012/02/07/emc-enters-the-market-with-me-too-flash-products/" >EMC Enters The Market With “Me Too” Flash Products</a> (Chris Evans)</li>
<li><a href="http://www.storagebod.com/wordpress/?p=1005" >Cache Splash</a> and <a href="http://www.storagebod.com/wordpress/?p=1007" >Complex is the new Simple</a> (Martin Glassborow)</li>
</ul>
</blockquote>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2012/01/31/nimbus-eclass-big-redundant-allflash-enterprise-array/"  rel="bookmark" class="crp_title">Nimbus E-Class: The First Big, Redundant, All-Flash Enterprise Array</a></li><li><a href="http://blog.fosketts.net/2011/06/02/micron-p320h-pcie-ssd/"  rel="bookmark" class="crp_title">Micron Bursts Into the PCIe SSD Market</a></li><li><a href="http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/"  rel="bookmark" class="crp_title">Hybrid SSD/Hard Disk Drives: This Time For Sure!</a></li><li><a href="http://blog.fosketts.net/2008/10/22/flash-disk-cache/"  rel="bookmark" class="crp_title">Is Flash A Disk Or A Cache?</a></li><li><a href="http://blog.fosketts.net/2010/11/09/toshiba-blade-x-gale-ssd-apple-macbook-air/"  rel="bookmark" class="crp_title">Toshiba Offers &#8220;Blade&#8221; SSDs (Like Apple&#8217;s MacBook Air)</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2012/02/06/emc-vfcache-project-lightning-pcie-flash/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2012. |
<a href="http://blog.fosketts.net/2012/02/06/emc-vfcache-project-lightning-pcie-flash/">EMC VFCache (aka &#8220;Project Lightning&#8221;) Is One Small Step, But an Important One</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/gestaltit/" title="View all posts in Gestalt IT" rel="category tag">Gestalt IT</a>, <a href="http://blog.fosketts.net/category/everything/virtualstorage/" title="View all posts in Virtual Storage" rel="category tag">Virtual Storage</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2012/02/06/emc-vfcache-project-lightning-pcie-flash/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>The Four Horsemen of Storage System Performance: I/O As a Chain of Bottlenecks</title>
		<link>http://blog.fosketts.net/2010/10/27/4-horsemen-io/</link>
		<comments>http://blog.fosketts.net/2010/10/27/4-horsemen-io/#comments</comments>
		<pubDate>Wed, 27 Oct 2010 15:02:02 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Computer History]]></category>
		<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Terabyte home]]></category>
		<category><![CDATA[Virtual Storage]]></category>
		<category><![CDATA[4 horsemen]]></category>
		<category><![CDATA[bottlenecks]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[DRAM]]></category>
		<category><![CDATA[flush time]]></category>
		<category><![CDATA[InfiniBand]]></category>
		<category><![CDATA[Intel]]></category>
		<category><![CDATA[Jasper Forest]]></category>
		<category><![CDATA[Lynnfield]]></category>
		<category><![CDATA[MaxiScale]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[MPIO]]></category>
		<category><![CDATA[Nehalem]]></category>
		<category><![CDATA[NetApp]]></category>
		<category><![CDATA[Nimbus]]></category>
		<category><![CDATA[Overland]]></category>
		<category><![CDATA[parallel]]></category>
		<category><![CDATA[PCI Express]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[pNFS]]></category>
		<category><![CDATA[SAS]]></category>
		<category><![CDATA[SATA]]></category>
		<category><![CDATA[serial]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=3904</guid>
		<description><![CDATA[It is tempting to think of storage as a game of hard disk drives, and consider only The Rule of Spindles. But RAM cache can compensate for the mechanical limitations of hard disk drives, and Moore's Law continues to allow for ever-greater RAM-based storage, including cache, DRAM, and flash. But storage does not exist in a vacuum. All that data must go somewhere, and this is the job of the I/O channel.]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 410px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://blog.fosketts.net/wp-content/uploads/2010/08/Four-Horsemen-400.png" ><img title="Four Horsemen-400" src="http://blog.fosketts.net/wp-content/uploads/2010/08/Four-Horsemen-400.png" alt="" width="400" height="309" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">The Four Horsemen of Storage System Performance: These four ugly gentlemen stand between you and your data.</p></div>
<p>Why do some data storage solutions perform better than others? What tradeoffs are made for economy and how do they affect the system as a whole? These questions can be puzzling, but there are core truths that are difficult to avoid. Mechanical disk drives can only move a certain amount of data. RAM caching can improve performance, but only until it runs out. I/O channels can be overwhelmed with data. And above all, a system must be smart to maximize the potential of these components. These are the four horsemen of storage system performance, and they cannot be denied.</p>
<h3>The Chain of Command</h3>
<p>It is tempting to think of storage as a game of hard disk drives, and consider only <a href="http://blog.fosketts.net/2010/08/25/4-horsemen-spindles/"  target="_blank">The Rule of Spindles</a>. But <a href="http://blog.fosketts.net/2010/10/07/4-horsemen-cache/"  target="_blank">RAM cache</a> can compensate for the mechanical limitations of hard disk drives, and Moore&#8217;s Law continues to allow for ever-greater RAM-based storage, including cache, DRAM, and flash. But storage does not exist in a vacuum. All that data must go somewhere, and this is the job of the I/O channel.</p>
<p>To be useful, storage capacity must connect to some sort of endpoint. This could be the CPU in a personal computer or an embedded processor in an industrial device. Indeed, there are endpoints and I/O channels throughout modern systems, with potential bottlenecks, caches, and smarts at each point. &#8220;Storage people&#8221; like me tend to think too small &#8211; imagining that the I/O channel ends at the disk drive, the &#8220;front end&#8221; of the array, or the storage network. But data must travel further, all the way to its final useful point in the core of the CPU.</p>
<p>Once we consider I/O as a long chain of interconnected endpoints, we begin to see the fact that I/O constraints at any point can strangle overall system performance. This is not merely an academic exercise: Optimizing the I/O channel is a consuming passion for most practitioners of enterprise IT, including architects, engineers, and system developers. And, like a good game of Whack-a-Mole, increasing the speed of one link causes another chokepoint to rear its head.</p>
<h3>Parallel and Serial I/O</h3>
<p>Imagine you had a warehouse full of boxes to move across the country as fast as possible. There are a few options available to you:</p>
<ol>
<li>A fast truck can zip back and forth with just a few boxes</li>
<li>A train is slower, but its many cars can haul a huge quantity</li>
</ol>
<p>But there are realistic limits to both capacity and speed: The train has to fit on the tracks, and the truck can&#8217;t move at the speed of light. Plus, one must consider the time taken to load and unload the chosen vehicle.</p>
<div id="attachment_3968" class="wp-caption aligncenter" style="width: 410px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2010/10/Parallel-and-serial-IO.jpg" ><img class="size-full wp-image-3968" title="Parallel and serial IO" src="http://static.fosketts.net/wp-content/uploads/2010/10/Parallel-and-serial-IO.jpg" alt="" width="400" height="171" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">We continually shift between parallel and serial I/O paradigms</p></div>
<p>The same trade-offs are true of computer busses: Serial channels can be optimized to zip individual bits back and forth, or parallel busses can be designed to carry whole bytes (or more) at a time. The simplicity of serial communications is tempting, but designers continue to resort to parallelization for added throughput.</p>
<blockquote><p>Note: Most serial protocols actually feature two links, making them &#8220;full duplex&#8221;: One for transmit and another for receive.</p></blockquote>
<p>Serial storage interconnects are dominant currently, with <a rel="nofollow" href="http://en.wikipedia.org/wiki/SATA#SATA_and_SCSI"  target="_blank">fraternal twins</a> SAS and SATA <a href="http://serialstoragewire.net/Articles/2007_09/schultz.html"  target="_blank">coming to dominate</a> the disk interface landscape. SAS and SATA share the same 1.5, 3, and now 6 gigabit per second serial physical interconnect, offering more than enough throughput for conventional hard disk drives and edging out older serial (Fibre Channel, SSA) and parallel (ATA and SCSI) alternatives.</p>
<p>Networks (Ethernet, Fibre Channel, and InfiniBand) are predominately serial as well, as are lower-end interconnects like USB and FireWire. Serial communication also dominates in the system bus world, with serial PCI Express toppling parallel PCI.</p>
<p>But parallel variants are often offered for increased throughput: Multi-lane PCI Express and bonded multi-link InfiniBand make up a fair portion of the installed base, while load balancing <a href="http://blog.fosketts.net/2010/03/30/multi-pathing-dual-active-passive/"  target="_blank">MPIO drivers</a> are common in Fibre Channel storage. And let&#8217;s not forget that <a href="http://blog.fosketts.net/2010/04/17/1000basewhat/"  target="_blank">the &#8220;X4&#8243; variants of Ethernet</a> use multiple bonded links as well.</p>
<h3>The Definition of Bottle Neck</h3>
<p>Most English speakers have encountered the French term, &#8220;cul de sac&#8221;, meaning &#8220;bottom of the bag&#8221; or dead end. But hard disk drives have plenty of &#8220;bottom end&#8221;, or storage capacity. When it comes to disks, the issue is usually at the neck of the bag: Data just can&#8217;t be pulled out of a hard disk drive fast enough.</p>
<div id="attachment_3972" class="wp-caption aligncenter" style="width: 410px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2010/10/Wine-barrels.jpg" ><img class="size-full wp-image-3972" title="Wine barrels" src="http://static.fosketts.net/wp-content/uploads/2010/10/Wine-barrels.jpg" alt="" width="400" height="241" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Emptying a barrel of wine through a spigot takes hours, but pry the end off and the floor is covered in a moment!</p></div>
<p>The density of modern hard disk drives (the capacity of our barrel) has been growing much more rapidly than the I/O channels serving them (the spigot). Where once a hard disk drive could be filled or emptied in an hour or two, modern drives take days or weeks!</p>
<blockquote><p>I once called this &#8220;<a href="http://blog.fosketts.net/2009/10/19/flush-time/"  target="_blank">flush time</a>&#8220;, but I think the wine metaphor is much more appetizing!</p></blockquote>
<p>This &#8220;bottle neck&#8221; has serious implications beyond basic storage performance. Data protection is impacted, since ever-larger storage systems can no longer be backed up by <a href="http://www.nethamilton.net/docs/dump.html"  target="_blank">dumping</a> their content; system reliability is reduced, since week-long RAID rebuilds increase the risk of multiple drive failures; and cost containment efforts are also impacted, since adding spindles drives up prices.</p>
<p>Nowhere is this bottleneck more evident than in portable devices. Modern drives (like the 1 TB Seagate USB drive I recently reviewed) have massive capacity and <a href="http://blog.fosketts.net/2008/07/30/firewire-faster-usb/"  target="_blank">pathetic performance</a>. The USB 2.0 interface just can&#8217;t keep up, and this creates a limit to the expansion of capacity. It would take half a day to fill that drive under perfect conditions at 25 MB/s, reducing its value as a massive data movement peripheral. The emerging USB 3.0 standard promises to alleviate this performance issue for now, as illustrated with <a href="http://blog.fosketts.net/2010/10/22/iomega-external-ssd-usb-30/"  target="_blank">Iomega&#8217;s new external SSD</a>.</p>
<p>Cache and solid state storage can help, but they have their own bottlenecks. Storage arrays typically use Fibre Channel or SAS SSDs, and <a href="http://dcsblog.burtongroup.com/data_center_strategies/2010/01/ssd-dump-the-hard-disk-form-factor.html"  target="_blank">their front-end interface remains the same</a>. The best-performing SSDs use the PCI Express bus directly rather than emulating hard disk drives over SCSI interfaces. And even PCI Express might not be enough to handle the massive I/O of NAND flash or DRAM. In each case, the bottleneck moves down the chain.</p>
<h3>A Chain of Bottlenecks</h3>
<p>Let&#8217;s follow a typical I/O operation from the disk to the CPU core and count the I/O channels:</p>
<ol>
<li>A read head senses the state of a bit of magnetic material on the surface of a disk</li>
<li>The head transmits this signal to a buffer on the disk controller board</li>
<li>The data is picked up by the disk controller CPU and transmitted over a SATA or SAS connection</li>
<li>The storage array or RAID controller receives the data and moves it over an internal bus to another buffer or cache</li>
<li>The data is picked up by another CPU in the array controller and sent out another interface using Fibre Channel or Ethernet</li>
<li>The data is buffered and retransmitted by one or more switches in the storage network</li>
<li>The host bus adapter (HBA) on the server side receives the data and buffers it again before sending it over a local PCI Express bus to system memory</li>
<li>The server memory controller pulls the data out of system memory and sends it via a local bus to the CPU core</li>
</ol>
<p>There are actually many more steps than this, but the picture should be clear by now. There are many, many I/O channels to consider when it comes to storage, and the drive interface is just one potential bottleneck.</p>
<div id="attachment_3969" class="wp-caption aligncenter" style="width: 410px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://static.fosketts.net/wp-content/uploads/2010/10/Chain-of-bottlenecks.jpg" ><img class="size-full wp-image-3969" title="Chain of bottlenecks" src="http://static.fosketts.net/wp-content/uploads/2010/10/Chain-of-bottlenecks.jpg" alt="" width="400" height="157" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">We constantly move bottlenecks around - as one link is improved, another choke-point appears</p></div>
<h3>Optimizing Storage I/O</h3>
<p>Tactical steps to improve storage performance typically focus at one link in the chain: Drive vendors move from 1.5 Gb to 3 Gb SATA, or SAN buyers upgrade from 4 Gb to 8 Gb Fibre Channel. But the basic architecture of enterprise storage has remained constant for over a decade, and the reliance on block SCSI commands endures. This is all about to change.</p>
<p>One critical bit of I/O optimization exists at the point of connection between the various chipsets inside the server. AMD pulled the memory controller off of the &#8220;northbridge&#8221; with their Athlon line. Intel did the same with their Nehalem and is eliminating the northbridge entirely with the <a rel="nofollow" href="http://davesimpsonsstorageblog.blogspot.com/2010/08/whats-so-cool-about-intels-jasper.html"  target="_blank">Lynnfield/Jasper Forest</a> CPU lines. This gives serious bandwidth to the crucial PCI Express-to-CPU-core link, moving the bottleneck downstream.</p>
<p>We are in the midst of a massive upgrade of the storage network as well. Between 8 Gb Fibre Channel and iSCSI and Fibre Channel over 10 Gb Ethernet, not to mention persistent interest in InfiniBand, storage network throughput is rapidly expanding. As with the internal PC connections, the expansion of network bandwidth has pushed the bottleneck to the storage array interface for the time being.</p>
<p>Microsoft and Intel <a href="http://blog.fosketts.net/2010/03/19/microsoft-intel-starwind-iscsi/"  target="_blank">recently</a> pushed over a gigabyte per second over 10 GbE using iSCSI, but they needed multiple storage targets to feed that connection. It isn&#8217;t that modern storage systems couldn&#8217;t push that kind of I/O (indeed, arrays are tens to hundreds of times faster internally thanks to their spindles and cache), but that the conventional storage protocols are tightly linked to a single &#8220;front-end&#8221; interface. The current state of the art for storage array design is moving to distributed models, exemplified by pNFS and scale-out NAS concepts like MaxiScale (now <a href="http://blog.fosketts.net/2010/10/14/overland-acquires-maxiscale/"  target="_blank">acquired by Overland</a>).</p>
<p>Once the array interfaces can pump out massive I/O, attention will turn once again to the disk interfaces themselves. Although 6 Gb/s SAS and SATA is now a reality, this interface is inappropriate for future high-performance SSDs. Arrays designed around flash or DRAM are likely to switch to PCI Express as their internal connection of choice for performance and to optimize data placement on these new devices. Companies like Nimbus and NetApp are already moving in this direction.</p>
<h3>Time To Get Smart</h3>
<p>Hard disk drive spindles make up the bulk of storage capacity, but small amounts of cache make them far more effective. But both of these horsemen must operate within the constraints of the I/O channels they pass through. This brings us to the final horseman of performance: Smarts. Clever designers have created clever controlling mechanisms to overcome the limits of spindles, cache, and I/O channels.</p>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2010/10/07/4-horsemen-cache/"  rel="bookmark" class="crp_title">The Four Horsemen of Storage System Performance: Never Enough Cache</a></li><li><a href="http://blog.fosketts.net/2010/08/25/4-horsemen-spindles/"  rel="bookmark" class="crp_title">The Four Horsemen of Storage System Performance: The Rule of Spindles</a></li><li><a href="http://blog.fosketts.net/2010/03/30/multi-pathing-dual-active-passive/"  rel="bookmark" class="crp_title">Multipath: Active/Passive, Dual Active, and Active/Active</a></li><li><a href="http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/"  rel="bookmark" class="crp_title">Hybrid SSD/Hard Disk Drives: This Time For Sure!</a></li><li><a href="http://blog.fosketts.net/2009/10/19/flush-time/"  rel="bookmark" class="crp_title">Flush Time</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2010/10/27/4-horsemen-io/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2010. |
<a href="http://blog.fosketts.net/2010/10/27/4-horsemen-io/">The Four Horsemen of Storage System Performance: I/O As a Chain of Bottlenecks</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/computerhistory/" title="View all posts in Computer History" rel="category tag">Computer History</a>, <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/everything/personal/" title="View all posts in Personal" rel="category tag">Personal</a>, <a href="http://blog.fosketts.net/category/everything/terabytehome/" title="View all posts in Terabyte home" rel="category tag">Terabyte home</a>, <a href="http://blog.fosketts.net/category/everything/virtualstorage/" title="View all posts in Virtual Storage" rel="category tag">Virtual Storage</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2010/10/27/4-horsemen-io/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[4 Horsemen]]></series:name>
	</item>
		<item>
		<title>The Four Horsemen of Storage System Performance: Never Enough Cache</title>
		<link>http://blog.fosketts.net/2010/10/07/4-horsemen-cache/</link>
		<comments>http://blog.fosketts.net/2010/10/07/4-horsemen-cache/#comments</comments>
		<pubDate>Thu, 07 Oct 2010 14:51:38 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Computer History]]></category>
		<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Terabyte home]]></category>
		<category><![CDATA[Virtual Storage]]></category>
		<category><![CDATA[4 horsemen]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[CLARiiON]]></category>
		<category><![CDATA[Data General]]></category>
		<category><![CDATA[DRAM]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[NAND]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[Symmetrix]]></category>
		<category><![CDATA[write-back]]></category>
		<category><![CDATA[write-through]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=3608</guid>
		<description><![CDATA[Perhaps the previous discussion of spindles left you exhausted, imagining a spindly-legged centipede of a storage system, trying and failing to run on stilts. The Rule of Spindles would be the end of the story were it not for the second horseman: Cache. He stands in front of the spindles, quickly dispatching requests using solid state memory rather than spinning disks. Cache also acts as a buffer, allowing writes to queue up without forcing the requesters to wait in line.]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 410px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://blog.fosketts.net/wp-content/uploads/2010/08/Four-Horsemen-400.png" ><img title="Four Horsemen-400" src="http://blog.fosketts.net/wp-content/uploads/2010/08/Four-Horsemen-400.png" alt="" width="400" height="309" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">The Four Horsemen of Storage System Performance: These four ugly gentlemen stand between you and your data.</p></div>
<p>Why do some data storage solutions perform better than others? What tradeoffs are made for economy and how do they affect the system as a whole? These questions can be puzzling, but there are core truths that are difficult to avoid. Mechanical disk drives can only move a certain amount of data. RAM caching can improve performance, but only until it runs out. I/O channels can be overwhelmed with data. And above all, a system must be smart to maximize the potential of these components. These are the four horsemen of storage system performance, and they cannot be denied.</p>
<h3>Overcoming the Limits of Spindles</h3>
<p>Perhaps the previous discussion of spindles left you exhausted, imagining a spindly-legged centipede of a storage system, trying and failing to run on stilts. <a href="http://blog.fosketts.net/2010/08/25/4-horsemen-spindles/"  target="_blank">The Rule of Spindles</a> would be the end of the story were it not for the second horseman: Cache. He stands in front of the spindles, quickly dispatching requests using solid state memory rather than spinning disks. Cache also acts as a buffer, allowing writes to queue up without forcing the requesters to wait in line.</p>
<p>Cache may be quick, but practical concerns limit its effectiveness. Solid state memory is available in many types, but all are far more expensive per gigabyte than magnetic hard disk media. DRAM has historically cost 400 times as much as disk capacity, and even NAND flash (the current darling of the industry) is more than 40 times as expensive. Practically speaking, this means that disk devices, from the drives themselves to large enterprise storage arrays, usually include a very small amount of cache relative to their total capacity.</p>
<p>When specifying a storage system, the mathematics of cache and spindles adhere to a simple rule: More is better for performance but worse for the budget. This leads to a trade-off, where a point of diminishing return tells us to stop adding both spindles and cache and accepting the storage system as it is.</p>
<h3>A History of Cache</h3>
<p>Cache was not always as common as it is today. When even a small amount of DRAM cost hundreds of dollars, adding a single RAM chip to a hard disk drive would have broken the bank. So many drives had no cache at all well into the mid 1990&#8242;s. Operating systems of the time used expensive system memory as a buffer for storage operations rather than expecting cache in the disk controller or drive &#8211; remember setting <a href="http://users.cybercity.dk/~bse26236/batutil/help/BUFFERSS.HTM"  target="_blank">the Buffers command in config.sys</a>?</p>
<p>This was not as bad as it seems, at least in theory. Operating systems stand a fighting chance of &#8220;knowing&#8221; what data will be requested next, and could therefore request it ahead of time. They also might get a hint about data that will never be used again and can thus flush that from the so-called buffer cache. Although MS-DOS wasn&#8217;t very good at this, modern systems have greatly advanced in this respect using a technology called demand paging.</p>
<p>Caching at the array was the key differentiator for early enterprise RAID systems, overcoming the punishing slowdowns caused by parity calculations when data was written. EMC adapted their DRAM-based solid-state storage systems to become a cache in front of hard disk drives and the Symmetrix was born. The Data General (now EMC) CLARiiON was notable as well, <a rel="nofollow" href="http://stevetodd.typepad.com/my_weblog/2008/05/clariion-write.html#more"  target="_blank">bringing a large intelligent write cache</a> to the vast market of midrange systems that could never justify the high price of a Symmetrix. Today, all vendors, from IBM to HP to NetApp to HDS, have vast and clever caches.</p>
<p>The importance of cache on enterprise storage performance can not be over-stated. Mix together rotational latency, seek time, and RAID penalty and you get <a rel="nofollow" href="http://blogs.techrepublic.com.com/datacenter/?p=2182"  target="_blank">seriously-compromised I/O response time</a>. But cache can eliminate this penalty entirely, provided there is capacity, by confirming the write and queueing it for later (a concept known as write-back caching). Busy shared storage systems would be simply unusable without cache.</p>
<h3>Five Uses for Disk Buffers</h3>
<p>Hard disk drives today normally contain a small amount of RAM to use as a buffer for I/O requests. This serves the following needs, though not all are found on all drives:</p>
<ol>
<li>A <strong>read cache</strong>, allowing frequently-requested data to be read from memory rather than involving mechanical disk operations</li>
<li>An <strong>I/O-matching</strong> mechanism, allowing slower disks and faster interfaces to work together</li>
<li>A <strong>read-around</strong> (ahead or behind) pre-fetch cache, saving a few blocks around any requested read on the assumption that they will also be requested soon</li>
<li>A <strong>read-after-write cache</strong>, saving recently-written data to serve later read requests</li>
<li>A <strong>command queue</strong>, allowing write commands to be reordered, avoiding the &#8220;<a rel="nofollow" href="http://en.wikipedia.org/wiki/Elevator_seeking"  target="_blank">elevator seeking</a>&#8221; common to early hard disk drives</li>
</ol>
<p>Disk buffer size has expanded rapidly in recent years, with some devices including 64 MB or more or DRAM. <a rel="nofollow" href="http://www.amazon.com/gp/product/B003NSBF32?ie=UTF8&amp;tag=packrat-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B003NSBF32" >Seagate&#8217;s Momentus XT</a> drive even includes 4 GB of NAND flash as a massive read cache!</p>
<h3>Write-Through and Write-Back Cache</h3>
<table border="0">
<tbody>
<tr>
<th colspan="2">There are two basic methods of caching data:</th>
</tr>
<tr>
<td width="50%"><a href="http://static.fosketts.net/wp-content/uploads/2010/10/Write-Through-Cache.png" ><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-thumbnail wp-image-3846" title="Write-Through Cache" src="http://static.fosketts.net/wp-content/uploads/2010/10/Write-Through-Cache-133x150.png" alt="" width="133" height="150" /></a></td>
<td><a href="http://static.fosketts.net/wp-content/uploads/2010/10/Write-Back-Cache.png" ><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-thumbnail wp-image-3845" title="Write-Back Cache" src="http://static.fosketts.net/wp-content/uploads/2010/10/Write-Back-Cache-133x150.png" alt="" width="133" height="150" /></a></td>
</tr>
<tr>
<td>The earliest systems used <strong>read-only</strong> or <strong>write-through</strong> caches. All I/O requests pass through the cache, which usually saves the most recent and serves them up when a read is requested. They don&#8217;t buffer write requests at all, simply passing them through to the storage system to process. They are safe, since the storage device always has a consistent set of committed writes, but they do nothing to offset the RAID penalty.</td>
<td>Most modern storage systems use a <strong>write-back</strong> (also called &#8220;write-behind&#8221;) cache, which acknowledges writes before they are committed to disk. They use non-volatile RAM, battery-backed DRAM, or NAND flash to ensure that data is not lost in the event of a power outage. Though far more effective, this type of memory is also far more costly.</td>
</tr>
</tbody>
</table>
<p>Just about every modern storage array uses caching, and most employ the write-back method to accelerate writes as well as reads. Some have very smart controllers that perform other tricks, but Smart is another Horseman for another day. As mentioned before, RAID systems would be nearly unusable without write-back cache allowing the disks to catch up with random writes.</p>
<h3><strong>Onward: I/O, and Smarts</strong></h3>
<p>The horseman of spindles is harsh, but he does not rule the day. There are many ways to overcome his limits and his three brothers often come into play. These are cache, which bypasses the spindle altogether; I/O, which can constrain even the fastest combination of disk and cache; and the intelligence of the whole system, which limits or accelerates all the rest. We will examine these horsemen in the future!</p>
<p>I&#8217;ve been meaning to write this up for a long time. Thanks for listening and commenting!<br />
<blockquote>Note: Some of these links include affiliate codes that help pay for this blog. For example, <a href="http://www.amazon.com/gp/product/B002Y27P3M?ie=UTF8&tag=packrat-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=B002Y27P3M" target="_blank">buying an Amazon Kindle with this link</a> sends a few bucks my way! But I don't write this blog to make money, and am happy to link to sites and stores that don't pay anything. I like Amazon and buy tons from them, but you're free to buy whatever and wherever you want.</blockquote></p>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2010/08/25/4-horsemen-spindles/"  rel="bookmark" class="crp_title">The Four Horsemen of Storage System Performance: The Rule of Spindles</a></li><li><a href="http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/"  rel="bookmark" class="crp_title">Hybrid SSD/Hard Disk Drives: This Time For Sure!</a></li><li><a href="http://blog.fosketts.net/2007/08/14/commercial-ssds-are-here/"  rel="bookmark" class="crp_title">Commercial SSDs Are Here?</a></li><li><a href="http://blog.fosketts.net/2010/10/27/4-horsemen-io/"  rel="bookmark" class="crp_title">The Four Horsemen of Storage System Performance: I/O As a Chain of Bottlenecks</a></li><li><a href="http://blog.fosketts.net/2008/10/22/flash-disk-cache/"  rel="bookmark" class="crp_title">Is Flash A Disk Or A Cache?</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2010/10/07/4-horsemen-cache/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2010. |
<a href="http://blog.fosketts.net/2010/10/07/4-horsemen-cache/">The Four Horsemen of Storage System Performance: Never Enough Cache</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/computerhistory/" title="View all posts in Computer History" rel="category tag">Computer History</a>, <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/everything/personal/" title="View all posts in Personal" rel="category tag">Personal</a>, <a href="http://blog.fosketts.net/category/everything/terabytehome/" title="View all posts in Terabyte home" rel="category tag">Terabyte home</a>, <a href="http://blog.fosketts.net/category/everything/virtualstorage/" title="View all posts in Virtual Storage" rel="category tag">Virtual Storage</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2010/10/07/4-horsemen-cache/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<series:name><![CDATA[4 Horsemen]]></series:name>
	</item>
		<item>
		<title>Hybrid SSD/Hard Disk Drives: This Time For Sure!</title>
		<link>http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/</link>
		<comments>http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/#comments</comments>
		<pubDate>Mon, 17 May 2010 14:34:49 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Terabyte home]]></category>
		<category><![CDATA[Virtual Storage]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[Celerra]]></category>
		<category><![CDATA[CLARiiON]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[FAST Cache]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Fusion-IO]]></category>
		<category><![CDATA[H-HDD]]></category>
		<category><![CDATA[hybrid drives]]></category>
		<category><![CDATA[hybrid hard disk drive]]></category>
		<category><![CDATA[NetApp]]></category>
		<category><![CDATA[ReadyBoost]]></category>
		<category><![CDATA[ReadyDrive]]></category>
		<category><![CDATA[Seagate]]></category>
		<category><![CDATA[SSD]]></category>
		<category><![CDATA[STEC]]></category>
		<category><![CDATA[Sun]]></category>
		<category><![CDATA[SuperFetch]]></category>
		<category><![CDATA[Toshiba]]></category>
		<category><![CDATA[Windows Vista]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=3133</guid>
		<description><![CDATA[Hard disk drive makers are adding flash storage to their conventional spinning-platter drives to improve performance and are targeting the performance PC market. Wait a second, haven't we seen this before? As Rocky eventually said to Bullwinkle, "but that trick never works!"]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="360" height="292" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/e7mmrF-4rUE&amp;hl=en_US&amp;fs=1&amp;hd=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="360" height="292" src="http://www.youtube.com/v/e7mmrF-4rUE&amp;hl=en_US&amp;fs=1&amp;hd=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><strong>Hard disk drive makers are adding flash storage to their conventional spinning-platter drives</strong> to improve performance and are targeting the performance PC market. Wait a second, <a href="http://blog.fosketts.net/2007/07/19/hybrid-drives-are-here-–-but-they’re-irrelevant-to-enterprise-storage/"  target="_blank">haven&#8217;t we seen this before</a>? As Rocky eventually said to Bullwinkle, &#8220;but that trick never works!&#8221;</p>
<h3>Flash as a Cache</h3>
<p>Using flash memory as a disk cache is a pretty good idea. <strong>Flash has awesome random read performance and fairly good write speed</strong> (compared to a hard disk drive, at least). That&#8217;s why more and more enterprise storage vendors are adding flash as a disk cache, not just a plain tier of storage.</p>
<p>EMC is the latest to make the move, announcing &#8220;FAST Cache&#8221; for their midrange Clariion and Celerra enterprise storage systems last week. They join NetApp, Sun, and others already offering similar capability. Fusion-IO has been the champion PCIe flash provider, but STEC is expected to join them soon.</p>
<blockquote><p>See my post, <a href="http://blog.fosketts.net/2008/10/22/flash-disk-cache/" >Is Flash A Disk Or A Cache?</a></p></blockquote>
<p><strong>Flash-as-a-cache hasn&#8217;t been as easy to roll out as flash-as-a-disk, but it promises to be more effective</strong>. An array that completely integrates flash can take advantage of its positives (fast random read, fast-ish write, low power) without stumbling over its shortcomings (big write blocks, shorter lifespan).</p>
<h3>Flash in a Disk</h3>
<p>Although EMC is doing the right thing by adding FAST Cache, their implementation uses disk drive form factor flash rather than the PCI cards selected by others. It may prove more-difficult to optimize the system for the characteristics of flash when one is writing through a conventional disk drive interface like Fibre Channel or SAS. Would-be flash-and-platter drives face the same issue: <strong>How do you use flash effectively when it&#8217;s abstracted from the server and presented as a conventional disk?</strong></p>
<p>The hybrid hard disk drive (H-HDD) method, rolled out back in 2007, added ATA commands allowing a compatible operating system to specify whether data sent to a hybrid drive should be written to flash or disk. These products were paired with Windows Vista&#8217;s ReadyBoost and SuperFetch to produce performance gains that never materialized in practice. The so-called &#8220;ReadyDrive&#8221; has become a footnote in history, along with Intel&#8217;s &#8220;Robeson&#8221; effort to add a flash cache to the motherboard.</p>
<p><strong>It is unclear what the new generation of hybrid hard drives </strong><a href="http://www.theregister.co.uk/2010/05/17/greek_momentus/"  target="_blank"><strong>allegedly</strong></a><strong> on the drawing boards at </strong><a href="http://techon.nikkeibp.co.jp/english/NEWS_EN/20100512/182500/"  target="_blank"><strong>Toshiba</strong></a><strong> and </strong><a rel="nofollow" href="http://translate.google.com/translate?js=y&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=1&amp;eotf=1&amp;u=http%3A%2F%2Fwww.hwbox.gr%2Fnews-hdd%2F8855-seagate-momentus-xt-hybrid-hdd-ssd-se-ena-mono-drive.html&amp;sl=el&amp;tl=en"  target="_blank"><strong>Seagate</strong></a><strong> would look like</strong>. It is unlikely that they would use the H-HDD interface, but they will likely be aimed at the same performance laptop and desktop market. Servers have continued migrating towards advanced enterprise storage systems that pack their own cache, reducing the impact of bare hybrid drives.</p>
<h3>Ingredients for Success</h3>
<p style="text-align: center;"><a href="http://blog.fosketts.net/wp-content/uploads/2010/05/Hybrid-can.png" ><img style=' display: block; margin-right: auto; margin-left: auto;'  class="aligncenter size-full wp-image-3134" title="Hybrid can" src="http://blog.fosketts.net/wp-content/uploads/2010/05/Hybrid-can.png" alt="" width="203" height="317" /></a></p>
<p>Rather than repeat the mistakes of the past, these companies could integrate real smarts into the disk controller, allowing it to autonomously move data to the flash cache to improve everyday performance without any special operating system support. <strong>This &#8220;tiered storage in a can&#8221; approach might deliver the goods that old-fashioned H-HDDs never could</strong>.</p>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2008/10/17/fun-hard-drives/"  rel="bookmark" class="crp_title">Friday Fun With Hard Drives</a></li><li><a href="http://blog.fosketts.net/2007/07/19/hybrid-drives-are-here-%e2%80%93-but-they%e2%80%99re-irrelevant-to-enterprise-storage/"  rel="bookmark" class="crp_title">Hybrid Drives Are Here – But they’re Irrelevant to Enterprise Storage</a></li><li><a href="http://blog.fosketts.net/2010/05/21/seagate-momentus-xt-hybrid-ssd-disk-drive/"  rel="bookmark" class="crp_title">Smoking-Fast Laptops: Seagate Momentus XT Hybrid SSD Disk Drive Confirmed!</a></li><li><a href="http://blog.fosketts.net/2008/10/22/flash-disk-cache/"  rel="bookmark" class="crp_title">Is Flash A Disk Or A Cache?</a></li><li><a href="http://blog.fosketts.net/2010/02/03/extreme-tiered-storage-flash-disk-cloud/"  rel="bookmark" class="crp_title">Extreme Tiered Storage: Flash, Disk, and Cloud</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2010. |
<a href="http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/">Hybrid SSD/Hard Disk Drives: This Time For Sure!</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/everything/terabytehome/" title="View all posts in Terabyte home" rel="category tag">Terabyte home</a>, <a href="http://blog.fosketts.net/category/everything/virtualstorage/" title="View all posts in Virtual Storage" rel="category tag">Virtual Storage</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ramdisks: Back From the Brink of Extinction</title>
		<link>http://blog.fosketts.net/2010/01/15/ramdisk-mac-os/</link>
		<comments>http://blog.fosketts.net/2010/01/15/ramdisk-mac-os/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:00:06 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Computer History]]></category>
		<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Virtual Storage]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[diskutil]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[hdiutil]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[RAM]]></category>
		<category><![CDATA[ramdisk]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[SSD]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=2621</guid>
		<description><![CDATA[Using system memory for storage is something of a lost art these days. But many of today's I/O intensive tasks can still benefit from the untouchable quickness provided by a ramdisk. Happily, most operating systems are still capable of creating and using ramdisks.]]></description>
			<content:encoded><![CDATA[<p>Using system memory for storage is something of a lost art these days. Although system RAM capacity has become plentiful, cheap and quick disk storage is just as common. But many of today&#8217;s I/O intensive tasks can still benefit from the untouchable quickness provided by a ramdisk. Happily, most operating systems are still capable of creating and using ramdisks. <strong>This article discusses the creation, use, and performance of ramdisks in Mac OS X</strong>.</p>
<h3>On The Extinction Of Ramdisks</h3>
<div id="attachment_2623" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://blog.fosketts.net/wp-content/uploads/2010/01/No-Storage-Allowed.jpg" ><img class="size-medium wp-image-2623" title="No Storage Allowed" src="http://blog.fosketts.net/wp-content/uploads/2010/01/No-Storage-Allowed-300x190.jpg" alt="" width="300" height="190" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">System RAM is not typically used for storage anymore</p></div>
<p><strong>Ramdisks were a cheat to make slow system I/O tolerable</strong>, but it was never an easy decision. These days, computers are fast enough that ramdisks are rare. Every part of the computer has gotten quicker and cheaper over the last two decades, including hard disk drives, RAM, and CPUs. A typical laptop like my MacBook Pro might have 4 GB of system RAM, 320 GB of hard disk capacity, and dual 2 GHz CPUs.Those specs would have seemed inconceivable just a few years ago: I still have a Dell laptop with a 20 MHz CPU and two expensive upgrades: 1 MB of RAM and a 20 MB hard drive!</p>
<p>Far more impressive, though, are the numerous performance optimizations that have appeared. I/O channels are quicker than ever, and <strong>caches have appeared at most performance bottlenecks</strong>. It&#8217;s hard to believe, but computers used to rely much more on raw storage. Many hobbyists recall waiting for data to load from cassette tape drives, or that one key performance advance in Intel&#8217;s 80486 chip was its on-chip cache. Today&#8217;s CPUs have three levels of cache, and operating systems have gotten much better at caching data internally as well.</p>
<p>Hard disk drives have sprouted their own caches, too, making I/O seem quicker than it is. My 1997 Toshiba laptop used an un-cached 4200 rpm hard disk, but even laptop drives today  sport 16 MB or more and spin at 5400 rpm or faster. Although RAM was scarce back in the day, the performance gained from a ramdisk was worth the effort. <strong>Faster I/O and strategic caching has largely eliminated this need</strong>. Increasing operating system intelligence also plays a major part &#8211; witness <a href="http://blog.fosketts.net/2007/07/19/hybrid-drives-are-here-–-but-they’re-irrelevant-to-enterprise-storage/"  target="_blank">the failure of hybrid hard drives</a>.</p>
<h3><strong>The Modern Use Case</strong></h3>
<p>A long-standing argument in the field of computer system performance revolves around <strong>whether to manually reserve resources and place data or to let the system dynamically manage resources</strong> on its own. Computers do a decent job if allowed to, often adapting quicker and more efficiently to changing demands. But some jobs are harder to automate, and buffers and caches don&#8217;t always catch the right data.</p>
<p>Purely <strong>temporary data</strong> can be written to a ramdisk as a high performance scratch space. There is no need to store this on disk at all, and merely placing it there is likely to &#8220;pollute&#8221; the buffers, pushing out real useful data.</p>
<p>A ramdisk can also <strong>increase security</strong> somewhat by never allowing certain data to be written to disk. Ramdisks are sure to be flushed on the next reboot, but data on disk can linger and be discovered later.</p>
<p>One could even argue that <strong>today&#8217;s high-performance solid state disk is simply an evolution of the old ramdisk concept</strong>. NAND flash and RAM both offer the high random performance of the ramdisks of yore, and many analysts expect them to displace high-performance hard disk drives in the coming years. So perhaps ramdisks are not extinct after all!</p>
<div id="attachment_2624" class="wp-caption aligncenter" style="width: 310px;  border: 1px solid #dddddd; background-color: #f3f3f3; padding-top: 4px; margin: 10px; text-align:center; display: block; margin-right: auto; margin-left: auto;"><a href="http://blog.fosketts.net/wp-content/uploads/2010/01/Violin-SSD.jpg" ><img class="size-medium wp-image-2624" title="Violin SSD" src="http://blog.fosketts.net/wp-content/uploads/2010/01/Violin-SSD-300x225.jpg" alt="" width="300" height="225" /></a><p style=' padding: 0 4px 5px; margin: 0;'  class="wp-caption-text">Ultra-performance storage systems like this Violin array use RAM for storage</p></div>
<p><strong>Using Ramdisks In Mac OS X</strong></p>
<p>Mac OS X has the ability natively to create and use ramdisks. Here&#8217;s the simple procedure:</p>
<ol>
<li><strong>Create the ramdisk with hdiutil</strong> &#8211; This terminal command will create a 1 GB ram disk and report the name used. The number following the &#8220;ram://&#8221; statement is a number of 512 KB disk blocks &#8211; multiply the desired ram size in MB by 2048 (that&#8217;s 1024 times 2) to derive other sizes.<br />
 <code>hdiutil attach -nomount ram://2097152</code></li>
<li><strong>Format the ramdisk with diskutil</strong> &#8211; The next command will format the newly-created ramdisk using the diskutil tool. We will use /dev/disk3, but you should specify whatever disk device hdiutil reported from step 1. You can also specify a different filesystem or disk name. <br />
 <code>diskutil eraseVolume "HFS+" "ramdisk" /dev/disk3</code></li>
<li><strong>Your ramdisk will now appear</strong> &#8211; OS X will now mount the newly-created ramdisk and it will appear on your desktop. Note that <strong>the contents will be destroyed if it is unmounted or if the operating system is rebooted</strong>!</li>
<li><strong>Delete your ramdisk</strong> &#8211; It&#8217;s worth saying once again: The ramdisk will disappear and all data will be deleted when you eject it or power off your computer. Be sure to back up any important data from it, then eject it with the following command: <br />
 <code>hdiutil eject /Volumes/ramdisk</code></li>
</ol>
<h3>Script It!</h3>
<p>My backup script called for the creation of a tar file, compression, encryption, and rsync copying. I decided that I could perform the first three functions on the ramdisk to increase performance and reduce the chance that an unencrypted version would remain on the disk if the script failed.</p>
<p>A simple command line combination of the above creates the necessary ramdisk:</p>
<p><code>diskutil eraseVolume "HFS+" "ramdisk" `hdiutil attach -nomount ram://2097152`</code></p>
<p>This failed once I put it in a shell script, however. The issue was the finicky nature of diskutil &#8211; hdiutil&#8217;s output included a number of whitespace characters, and diskutil failed in the script whenever it encountered this. So I used the cut command to grab just the first field of the output, like so:</p>
<p><code>diskutil eraseVolume "HFS+" "ramdisk" `hdiutil attach -nomount ram://2097152 | cut -d " " -f 1`</code></p>
<p>This solved my problem, and I was able to tar and compress to /Volumes/ramdisk in my script. I added the hdiutil eject command to the script right after the encryption step to wipe out the unencrypted data. Although this isn&#8217;t foolproof security by any means, it&#8217;s better than nothing.</p>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2010/11/29/write-windows-ntfs-drive-mac-os-106-snow-leopard/"  rel="bookmark" class="crp_title">How To Write To Windows NTFS Drives In Mac OS X 10.6 &#8220;Snow Leopard&#8221;</a></li><li><a href="http://blog.fosketts.net/2010/10/07/4-horsemen-cache/"  rel="bookmark" class="crp_title">The Four Horsemen of Storage System Performance: Never Enough Cache</a></li><li><a href="http://blog.fosketts.net/2007/07/19/hybrid-drives-are-here-%e2%80%93-but-they%e2%80%99re-irrelevant-to-enterprise-storage/"  rel="bookmark" class="crp_title">Hybrid Drives Are Here – But they’re Irrelevant to Enterprise Storage</a></li><li><a href="http://blog.fosketts.net/2010/05/21/seagate-momentus-xt-hybrid-ssd-disk-drive/"  rel="bookmark" class="crp_title">Smoking-Fast Laptops: Seagate Momentus XT Hybrid SSD Disk Drive Confirmed!</a></li><li><a href="http://blog.fosketts.net/2010/05/17/hybrid-ssd-hard-disk-drives/"  rel="bookmark" class="crp_title">Hybrid SSD/Hard Disk Drives: This Time For Sure!</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2010/01/15/ramdisk-mac-os/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2010. |
<a href="http://blog.fosketts.net/2010/01/15/ramdisk-mac-os/">Ramdisks: Back From the Brink of Extinction</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/apple/" title="View all posts in Apple" rel="category tag">Apple</a>, <a href="http://blog.fosketts.net/category/everything/computerhistory/" title="View all posts in Computer History" rel="category tag">Computer History</a>, <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/everything/virtualstorage/" title="View all posts in Virtual Storage" rel="category tag">Virtual Storage</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2010/01/15/ramdisk-mac-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Of Emulated Fibre Channel, Virtualization, And The Right Tool For The Job</title>
		<link>http://blog.fosketts.net/2008/12/12/emulated-fibre-channel-virtualization/</link>
		<comments>http://blog.fosketts.net/2008/12/12/emulated-fibre-channel-virtualization/#comments</comments>
		<pubDate>Fri, 12 Dec 2008 17:00:44 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Computer History]]></category>
		<category><![CDATA[Enterprise storage]]></category>
		<category><![CDATA[Gestalt IT]]></category>
		<category><![CDATA[Virtual Storage]]></category>
		<category><![CDATA[3PAR]]></category>
		<category><![CDATA[Alex McDonald]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[Celerra]]></category>
		<category><![CDATA[Chuck Hollis]]></category>
		<category><![CDATA[CIFS]]></category>
		<category><![CDATA[CLARiiON]]></category>
		<category><![CDATA[Compellent]]></category>
		<category><![CDATA[Data General]]></category>
		<category><![CDATA[Dell]]></category>
		<category><![CDATA[EMC]]></category>
		<category><![CDATA[EqualLogic]]></category>
		<category><![CDATA[FAS]]></category>
		<category><![CDATA[Fibre Channel]]></category>
		<category><![CDATA[HADA]]></category>
		<category><![CDATA[iSCSI]]></category>
		<category><![CDATA[Kostadis Russos]]></category>
		<category><![CDATA[NetApp]]></category>
		<category><![CDATA[NFS]]></category>
		<category><![CDATA[RAID]]></category>
		<category><![CDATA[Storagebod]]></category>
		<category><![CDATA[Symmetrix]]></category>
		<category><![CDATA[Tony Asaro]]></category>
		<category><![CDATA[WAFL]]></category>

		<guid isPermaLink="false">http://blog.fosketts.net/?p=1226</guid>
		<description><![CDATA[EMC&#8217;s Chuck Hollis is one smart guy, and a very verbose blogger. As usual, he sparked a bit of a storm recently when comparing unified storage on EMC&#8217;s Celerra NX4 to NetApp&#8217;s multiprotocol FAS2020 filer. But it was one phrase in particular that got the attention of Alex McDonald and Kostadis Russos of NetApp, Martin/Storagebod, and Tony [...]]]></description>
			<content:encoded><![CDATA[<p>EMC&#8217;s Chuck Hollis is one smart guy, and a very verbose blogger. As usual, he sparked a bit of a storm recently when <a href="http://chucksblog.emc.com/chucks_blog/2008/12/dell-emc-and-the-new-nx4.html"  target="_blank">comparing unified storage on EMC&#8217;s Celerra NX4 to NetApp&#8217;s multiprotocol FAS2020 filer</a>. But it was one phrase in particular that got the attention of <a href="http://blogs.netapp.com/shadeofblue/2008/12/mad-blog-the-e.html"  target="_blank">Alex McDonald</a> and <a href="http://blogs.netapp.com/extensible_netapp/2008/12/mad-blog-chuck.html"  target="_blank">Kostadis Russos</a> of NetApp, <a rel="nofollow" href="http://storagebod.typepad.com/"  target="_blank">Martin/Storagebod</a>, and <a href="http://contemplatingit.com/"  target="_blank">Tony Asaro</a>: &#8220;just because a vendor says they can emulate FC SAN behavior doesn&#8217;t mean it&#8217;s a real FC SAN.&#8221;</p>
<p>What was he getting at? Read <a href="http://chucksblog.emc.com/chucks_blog/2008/12/dell-emc-and-the-new-nx4.html"  target="_blank">the comments</a> in Chuck&#8217;s post and you&#8217;ll understand his implication: Chuck suggests that NetApp &#8220;emulates&#8221; Fibre Channel in their FAS/OnTap devices on top of the WAFL &#8220;file system&#8221;, while EMC&#8217;s AX storage (behind the NX4) uses &#8220;real&#8221; Fibre Channel, so it&#8217;s better. He goes on to say that EMC is doing a brisk business replacing misfit NetApp FC arrays with real FC kit from EMC. But, as is so often the case, the truth is a little more complex than this: <strong>All enterprise storage arrays &#8220;emulate&#8221; Fibre Channel drives to one extent or another, and using the wrong tool for the job will always lead to trouble</strong>.</p>
<p><span id="more-1226"></span></p>
<h3 class="post-subhead">Is It Real Or Is It Virtual?</h3>
<p>Let&#8217;s knock one thing out right away: Chuck is right, <strong>NetApp </strong><em><strong>is</strong></em><strong> emulating Fibre Channel drives</strong> with their FAS arrays. They really <em>do</em> lay out chunks of storage on something kind of like a file system with a bunch of logic mixed in and then pretend that this space is a plain-jane SCSI drive connected over Fibre Channel. And I&#8217;ll add to the &#8220;scandal&#8221; by pointing out that NetApp does exactly the same thing with their iSCSI drives!</p>
<p>Now let&#8217;s move on to an even more important point: <strong>All modern storage arrays emulate SCSI drives</strong>! That&#8217;s right, every enterprise storage array is lying, pretending to serve up basic drives but really slicing and dicing them in the background for their own nefarious purposes!</p>
<p>Who is responsible for this deceit? I place the blame on a few: <a rel="nofollow" href="http://www.eecs.berkeley.edu/Pubs/TechRpts/1987/CSD-87-391.pdf"  target="_blank">Patterson, Gibson, and Katz</a> started the game with their so-called RAID concept, which kicked things off by allowing a few drives to pretend to be a single one. Data General implemented this with cache in their oh-so-clever <a href="http://blog.fosketts.net/2008/11/15/top-ten-storage-hardware/"  target="_blank">HADA</a>, further separating us from The True Disk. But the worst was EMC, with their fully-virtualized Symmetrix array, where there was no definite relationship at all between the LUNs presented to servers and the disks that do all the real work. Some folks would even go so far as to praise this type of <a href="http://blog.fosketts.net/2008/09/14/turning-page-raid/"  target="_self">post-RAID</a> virtualized storage as <a href="http://blog.fosketts.net/2008/11/15/top-ten-storage-hardware/"  target="_blank">innovative</a>!</p>
<p>NetApp takes this &#8220;automated lying&#8221; to the extreme, forcing their innocent hardware to take honest, well-laid-out blocks of <a href="http://blogs.netapp.com/dave/2008/12/is-wafl-a-files.html"  target="_blank">intelligent WAFL space</a> and twist them into vast tracts of dumb pretend-disks. <strong>The nerve!</strong> Compellent, 3PAR, Dell/EqualLogic, and the rest are just as bad, scattering blocks of data willy-nilly across their disks in so-called &#8220;<a href="http://www.storagerap.com/2008/12/basics-of-wide-striping-laying-out-data-in-chunklets.html"  target="_blank">wide stripes</a>&#8220;. But don&#8217;t let Chuck&#8217;s misdirection fool you: EMC is just as guilty with each of their different storage platforms, masquerading as disk drives or file servers and intelligently managing storage underneath! And don&#8217;t get me started on the twisted things VMware does to storage!</p>
<p>Modern? Feh! Let&#8217;s all hope Apple starts producing their <a href="http://blog.fosketts.net/2008/02/19/apple-revs-xsan-and-kills-xserve-raid/"  target="_self">no-feature Xserve RAID</a> again!</p>
<h3 class="post-subhead">Waiting On Angels</h3>
<p>So every modern array emulates disks. What was Chuck&#8217;s point again? Oh yeah, that the AX Fibre Channel storage used by EMC&#8217;s NX4 is superior to the integrated Fibre Channel capability of the NetApp FAS2020! I&#8217;m sure he&#8217;s right for some use cases and wrong for others. FC on the FAS2020 is a perfect match for some, and the NX4/AX wins in a landslide in some circumstances.</p>
<p>The crux of the argument is the fact that NetApp does all sorts of stuff behind the scenes build and support an FC LUN that the EMC AX FC array doesn&#8217;t do. So, although it wouldn&#8217;t be fair to say that one was &#8220;emulated&#8221; and another was not, Chuck would be correct in saying that an FC LUN on an AX is more &#8220;real&#8221; than one on a NetApp FAS. <strong>But arguing over technicalities like this is all <a href="http://www.straightdope.com/columns/read/1008/did-medieval-scholars-argue-over-how-many-angels-could-dance-on-the-head-of-a-pin"  target="_blank">angels and pins</a> and doesn&#8217;t matter in the real world</strong>!</p>
<p>What does matter? In block storage, latency is king. Generally speaking, more cogs and wheels leads to more latency. This is why storage arrays rely so much on large, intelligent caches and vendors are experimenting with all sorts of <a href="http://blogs.netapp.com/storage_nuts_n_bolts/2008/08/performance-acc.html"  target="_blank">cool caching technology</a>. But, ignoring cache, <strong>high-end arrays generally have worse latency than low-end ones</strong> because they have all sorts of translation and virtualization going on in the background. In any I/O situation, increased latency hurts throughput and the perception of performance. And there comes a point when block applications give up waiting and it&#8217;s &#8220;game over, man!&#8221;</p>
<p>I remember migrating from an old CLARiiON 3100 to a brand new Symmetrix 3930 and watching the Symmetrix choke on the incoming data stream. It just couldn&#8217;t write fast enough to handle full streaming reads from the (old-tech) CLARiiON. But once everything was migrated and running, the Symmetrix, with its massive (for the time) 16 GB of cache, widely-spaced data layout, and multiple internal channels, completely destroyed the CLARiiON in real-world performance. This pattern continues today, with devices like the DMX and USP offering much better real-world performance than benchmarks or theoretical techno-arguments would suggest.</p>
<h3 class="post-subhead">So Which Is Better?</h3>
<p>But Chuck and the rest were not talking about high-end stuff here. They are comparing the architecture of entry-level enterprise kit and drawing conclusions about which is best. I personally don&#8217;t care what the internals of the system look like. I care how well it works.</p>
<p>I have personally seen Microsoft Exchange running on low-end FC-connected NetApp FAS arrays, and it worked great. I also helped a customer migrate off of EMC AX that didn&#8217;t give them the performance they needed for their databases. In truth, <strong>lower-end gear is often over-sold</strong> and unable to deliver the performance, features, and reliability specified on data sheets and in vendor presentations.</p>
<p>That&#8217;s right, there&#8217;s more to this picture than raw performance. Consider manageability, for one. NetApp is offering a single-interface integrated system with all protocols (CIFS, NFS, iSCSI, and FC) available from one device. They also offer similar levels of integration for their (really nice) snapshot, replication, and deduplication technology. WAFL is busy doing a lot of great stuff, so I really wouldn&#8217;t be surprised if EMC&#8217;s less-integrated NX/AX offering beats them on performance at the same price point. <strong>Which is more important to you, integration, performance, or features</strong>? And I bet that, if you spent a bit more on a higher-end NetApp box, you could have it all.</p>
<p>On the flip side, EMC is offering a really compelling entry-enterprise combination at a nice price point. The latest NX should be on everyone&#8217;s NAS short list, and I&#8217;m sure the simple FC of the AX array would work well in a smallish Exchange, VMware, or SQL Server environment. It&#8217;s not as unified as NetApp&#8217;s offering management- or feature-wise, but it&#8217;s still pretty good.</p>
<p>Pick the right tool for the job, though. Neither the NX4 nor the FAS2020 is a good fit for a high-I/O application, and that&#8217;s a fact!</p>
<blockquote><p>This post can also be found on <a href="http://gestaltit.com"  target="_blank">Gestalt IT</a>: <a href="http://gestaltit.com/tech/storage/stephen/of-emulated-fibre-channel-virtualization-and-the-right-tool-for-the-job/" >Of Emulated Fibre Channel, Virtualization, And The Right Tool For The Job</a></p>
</blockquote>
<div id="crp_related"><h3>You might also want to read these other posts...</h3><ul><li><a href="http://blog.fosketts.net/2008/08/28/grapples-tangelos-impossible-compare-fairly/"  rel="bookmark" class="crp_title">Grapples and Tangelos: Why it&#8217;s Impossible to Compare Fairly</a></li><li><a href="http://blog.fosketts.net/2009/02/05/difference-integration-frankenstein/"  rel="bookmark" class="crp_title">The Difference Between &#8220;Integration&#8221; and &#8220;Frankenstein&#8221;</a></li><li><a href="http://blog.fosketts.net/2008/07/18/which-storage-protocol-vmware-2/"  rel="bookmark" class="crp_title">Which Storage Protocol For VMware?</a></li><li><a href="http://blog.fosketts.net/2008/10/16/fcoe-versus-iscsi/"  rel="bookmark" class="crp_title">Is the FCoE Starting Pistol Aimed at iSCSI?</a></li><li><a href="http://blog.fosketts.net/2008/02/22/vmware-storage-tidbits/"  rel="bookmark" class="crp_title">VMware Storage Tidbits</a></li></ul></div><script src="http://feeds.feedburner.com/~s/sfoskett?i=http://blog.fosketts.net/2008/12/12/emulated-fibre-channel-virtualization/" type="text/javascript" charset="utf-8"></script><hr />
<p><small>© sfoskett for <a href="http://blog.fosketts.net">Stephen Foskett, Pack Rat</a>, 2008. |
<a href="http://blog.fosketts.net/2008/12/12/emulated-fibre-channel-virtualization/">Of Emulated Fibre Channel, Virtualization, And The Right Tool For The Job</a>
<br/>
This post was categorized as <a href="http://blog.fosketts.net/category/everything/computerhistory/" title="View all posts in Computer History" rel="category tag">Computer History</a>, <a href="http://blog.fosketts.net/category/everything/enterprisestorage/" title="View all posts in Enterprise storage" rel="category tag">Enterprise storage</a>, <a href="http://blog.fosketts.net/category/gestaltit/" title="View all posts in Gestalt IT" rel="category tag">Gestalt IT</a>, <a href="http://blog.fosketts.net/category/everything/virtualstorage/" title="View all posts in Virtual Storage" rel="category tag">Virtual Storage</a>. Each of my categories has its own feed if you'd like to filter out or focus on posts like this.<br/>
</small></p>]]></content:encoded>
			<wfw:commentRss>http://blog.fosketts.net/2008/12/12/emulated-fibre-channel-virtualization/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
		</item>
	</channel>
</rss>

