So it apparently makes their custom flash storage behave like RAM, and provides an API to OS and software developers to make use of it as such, but it's non-volatile, so everything persists in the case of power failure or reboot. Here's an informative quote from Wozniak from the press release:
"Instead of treating flash like storage, where data passes through all of the OS kernel subsystems that were built and optimized for traditional storage, our core ioMemory technology offers a platform with new programming primitives that can provide system and application developers direct access to non-volatile memory."
Here's hoping the other company by which he's still nominally employed gets interested in this technology, so that many more can enjoy the benefits of this technology. It seems like storage is the main bottleneck for most computing these days, so this should save us a whole lot of man-years waiting for our computers.
I am not sure this is exactly it (or perhaps I am misunderstanding your post). With present technology you simply cannot replace RAM with flash. Flash is still much slower to write than RAM. They have achieved very high throughput by using mass parallelism but I am sure that each individual cell writes just as slowly as it used to before.
I think their innovation is not to replace RAM with flash but to have flash automatically mirror a range of RAM. Thus, using their software you can designate an area of RAM to be mirrored or backed up if you will, and what ever you do with that area of RAM, the fusion IO software will save it and try to have an area of flash that is the exact mirror of your area of RAM.
Thus, when you are doing programming you can simply work in RAM without having to worry about saving your data, or writing to a file, etc. The fusion IO will make sure it saves your state so that if you lose power your program can restart from the latest RAM snapshot that was saved in flash.
It will probably work, but it seems like something that would be mostly useful in very expensive systems with very high failure resiliency requirements (such as stock exchange systems). If you do not need super high failure resiliency, it might be cheaper to just get one of those motherboards with an on board 12V back up battery (i.e., the ones used by Google). I doubt this would be very relevant for Apple.
And these are 64 bytes IOs, not that much representative of any workload I can think of. All in all, more a PR stunt than anything else. 8KB IOs are what counts, generally; 1 billion 8KB IOPS needs a terrific bandwidth of 8 TB/s...
Does anyone know what this improvement actually is? The article makes it sound like their card is doing DMA to pinned user allocations, but that doesn't sound too revolutionary. I know next to nothing about storage controllers, but see the last many years of high-speed networking for an entire ecosystem based around that concept.
Instead of using the flash as a "tier" of storage, like a normal hard drive accessed via standard OS primitives, it looks like they now provide an API to make the storage available to programs. The new API has much lower overhead and latency.
We have immensely powerful systems today, but it would seem the levels of abstraction and libraries add overhead (just how much? I don't know). I wonder how things like BareMetal (http://www.returninfinity.com/baremetal.html) would shake things up? Strip away those layers, and get back to damn near bare metal. Seems to be the magic here: they skipped all the abstraction, and are allowing direct access to the storage (I have to imagine, it's massively parallel as well).
It's a great story on how the then-CEO of FusionIO David Bradford got Woz to join FIO. Great reminder for startups to not be afraid to shoot for moon and also take advantage of every moment.
Q: I’ve been waiting to hear this story!
Bradford: I was in Sun Valley, Idaho, to do a little one-hour speech for the Utah Bar Association. As I was leaving the venue, I saw a piece of paper on a table that said the keynote speaker was Steve Wozniak. And I thought, “I gotta hang around for this.” So I went into the auditorium and sat down next to a beautiful young lady named Julie Roebuck. I introduced myself, and she did the same. Turns out she was Steve Wozniak’s executive assistant.
Q: Now there’s a handy coincidence.
Bradford: I’d say so. I told her about my background, and she said, “You have to meet Steve. He’ll be thrilled to talk to another tech guy.” So after his keynote, I went up, shook his hand and told him all about Fusion-io. The conversation ended with me saying, “Gosh, would you like to be on our advisory board?”
Q: That takes guts!
Bradford: You’d think so. But I believed in what we were doing. So I sent him an e-mail invitation later that night, and within 24 hours I got a reply back saying he’d be honored to join our team. I thought, “Are you kidding me? How did we do that?” Woz gets opportunities like this thrown at him constantly, and to have him accept was a complete privilege and thrill. But the best part? After meeting with Fusion-io’s executives, David Flynn and Rick White, Steve asked to play a larger role in the company.
Q: Now that’s a compliment.
Bradford: It was crazy. How does this little Utah-based tech company do that? In retrospect — and I say this somewhat tongue and cheek — it may just be the greatest hire in the history of technology companies.
Q: And it all started because you picked up a flier.
Bradford: Sometimes the best jobs and opportunities are ones you walk in on.
From the presentation:
"128 memory modules, in eight different servers, running an aggregate of a billion IOPS, 64byte cache accesses."
So "only" 7.5GB/sec (125,000,000 * 64 / 1024^3), or about 60Gbit/s per server, with 16 modules per server. Still fairly respectable by storage standards, at about ten times the theoretical max for SATA III of 6Gbit/s.
"Instead of treating flash like storage, where data passes through all of the OS kernel subsystems that were built and optimized for traditional storage, our core ioMemory technology offers a platform with new programming primitives that can provide system and application developers direct access to non-volatile memory."
http://www.fusionio.com/press-releases/fusion-io-breaks-one-...
Here's hoping the other company by which he's still nominally employed gets interested in this technology, so that many more can enjoy the benefits of this technology. It seems like storage is the main bottleneck for most computing these days, so this should save us a whole lot of man-years waiting for our computers.