- Memory speed is in nanoseconds
- 10GbE Network speed is in microseconds (~50)
- Flash speed is in microseconds (between 20-500+)
- Disk speed is in milliseconds (between 4-7)
That surprised me the first time I saw it. I had been hearing so much about flash and SSDs that it didn’t occur to me that something might be faster than that.
If those prefixes have your head spinning, let’s look at an analogy:
Let’s say it takes one minute to do something in memory. (I just told you it takes nanoseconds, but for the sake of analogy, let’s call it a minute.) If we were to do that thing over the network, it would take a week or two. If we were to do it in flash, it would take a month or two. And if we were to do that on hard disk, then it would take about a decade.
One more point of reference - many applications expect storage latency to be under 10 ms. In our analogy universe, this would mean the operation would have to occur in less than two decades.
What does this mean for storage architecture?
First, it means that if you can request data from memory instead of hard disks, you can save yourself “years” of waiting for the data to arrive. It’s even significantly faster to get it from memory than it is to request the closest phsyical medium (minutes vs. months).
What’s more, is that even when the memory is located over the network on a different node, it is still faster than flash (weeks vs. months).
That’s one of the core ideas that Infinio’s distributed memory-based cache is based on. The shared cache is created from RAM on each node in an ESX cluster, and content in the cluster is spread across nodes. Using a 10GbE network between nodes, access times can be similar to those of flash storage performance, if not better.
Since memory and networking are resources that most organizations already have in their environment, Infinio can be a simple way to see if your applications can benefit from server-side caching - without needing to add SSDs to your environment.