Violin Memory is announcing two new platforms today along with a new OS and software stack to run them. SemiAccurate was given the details on the new offerings so let us walk you through the good stuff.
The basis for Violin’s new flash storage platforms all starts out with a new controller that forms the heart of their 4th generation Flash Storage Platform (FSP). Instead of putting SSDs in a tray with a RAID card and bespoke firmware, Violin makes their own controller, flash arrays, boards, and hardware. For high-end enterprise storage markets like Violin plays in, using traditional form factors and interfaces are an unacceptable bottleneck.
If you want to do high throughput flash storage, things like garbage collection and background tasks destroy consistency, can cause hiccups in data flow, and in general do not fit the requirements for really high performance applications. Using interfaces designed for rotating magnetic media in large-scale flash arrays is just dumb and is the bane of the existence for VDI and high performance database managers.
That is why Violin makes their own controllers, in this case it is FPGA based because the economics of low volume ASICs don’t make sense on their scale. FPGAs aren’t a bad thing here by any means, we just wanted to point out what things are really based on inside the case. Better yet the FPGA route allows for updates, bug fixes, and full on upgrades at a later date. High end FPGAs may not be cheap but are vastly cheaper than spinning a low volume 28 or 20nm controller.
These controllers also go onto their own boards, nothing is off-the shelf at this level. As we mentioned earlier, these controllers don’t have standard SSDs plugged into them like a RAID card, they are custom arrays. Violin calls these VIMMs or Violin Intelligent Memory Modules and they are obviously designed for the workload at hand. For the record, Violin uses Toshiba flash and Toshiba is a shareholder in the company.
From there Violin wrote their own RAID stack, in this case one based loosely on RAID3. You may recall that RAID3 failed because byte-level striping with mechanical HDDs is a bad idea, physical tolerances can lead to all sorts of latency problems and synchronization slowdowns. With a fully flash setup, most of the traditional RAID3 problems just go away. If you architect the stack from the beginning with flash’s unique characteristics in mind, you can do all sorts of interesting tricks.
If you didn’t see where this is going by now, lets just say Violin actually does those tricks and told us about some of them. Each stripe consists of five cards, IE four plus parity, and there are four controllers per flash array for parallelism. You can chain arrays too, but more on that when we get to the product level. At the lowest level these tricks include things like reading and erasing on the same stripe at the same time, this wasn’t possible with magnetic media in RAID3. You can also rebuild a RAID and set parity during an erase, a massive time saver on Petabyte arrays. Violin’s stack seems to take advantage of the good stuff in RAID3 and flash’s physical characteristics while avoiding the traditional pitfalls.
There are two main products made from the base FSP stack, the 7300 and 7700 Series. On the low-end you have the 7300 and 7300E models, ‘entry’ level enterprise storage systems if you can call things that start off around $100K ‘entry’. That said it is a pretty solid bargain, the smallest 7300E starts out at with 11TB of flash and will scale up to 35TB and support 32 VIMMs. If this sounds expensive, think of number of racks of HDDs it would take to get the same level of throughput and how much the TCO on them is.
The slightly higher end 7300 comes in 52.8 or 70TB versions supporting 64 VIMMs, both are 3RU form factor devices. One interesting bit is the 7300E ships with the full flash compliment on board, you can unlock the rest of the space with a phone call and presumably a check. As far as enterprise storage goes, this is about as easy an upgrade path as you can ever expect to find. Unfortunately only the lowest end 7300E has this capability.
If 70TB of high-speed flash is too small for your needs, Violin has the 7700 line to step up to for more of everything. It comes with two controller nodes and up to six storage shelves. Each unit is 3U so the total is 1/2 rack or 24U complete, 9U minimum because the controllers don’t have storage on board, you need at least one flash shelf there. Actually you don’t need any flash but it is kind of silly to buy redundant high throughput, low latency, and fairly expensive flash controllers without anything to use them on. The full array will story 1.3PB of data or roughly enough for most home media servers.
For those with the previous generation Violin 6000 or 7200 series, fear not because there is an upgrade path. The new Concerto OS 7 will run on the 7200 line and the older 6000 flash arrays can be upgraded with a 7700 controller. Actually there is a reason to buy two 7700 controllers without any flash, isn’t it amazing how things work out in the enterprise storage space?
Concerto OS 7 (C7) has been upgraded to add a lot of features that those not in the enterprise space will probably not care about. Those in the enterprise space tend to care a lot, more than enough to base purchase decisions on. Luckily for them the new OS runs on both 7300 and 7700 lines but some features are only enabled on the 7700, mainly due to the second physical controller for redundancy and replication.
For performance Violin claims the 7300 can hit 1M IOPS with <1ms latency for all reads, 700K IOPS with the same latency for a 70/30% R/W workload. More interesting is that these numbers are with encryption and de-dupe/compression on, they go up if you turn these features off. Moving back to the enterprise feature set, de-dupe, compression, and encryption are controllable on a per-LUN basis, not on a per-drive, per-controller, or anything else physical level. Use it where needed, turn it off when not, and all in a granular way. Do things like this explain why Violin had to do their own controller and RAID stack?
In addition to the usual features one expects on enterprise storage platforms, Violin added an interesting new variant called App Consistent Snapshots (APS). Snapshots are old hat by now by they can have some fringe effects with non-DAS storage like what happens to the caches on the app server during a snapshot? The storage device can’t guarantee the state of them before or after a snapshot or restore, something that has potentially ugly effects.
APS is another layer on top of the older Crash Consistent Snapshots that requires software running on the app server itself. This software assures the array that the caches are fully flushed and committed before a snapshot is taken so the state captured is exactly the state you intended to capture. If you don’t think this is deadly important, you aren’t in enterprise IT and you probably don’t check your bank and credit card records often enough. Actually since bank and credit card IT do care about such things, you are likely safe from that eventuality.
On top of APS and other snapshotting you can do full journaling if you need, plus thin provisioning, thick and thin cloning, and all sorts of continuous data protection tricks. One more unusual feature that Violin added is asynchronous replication. The 7700 line will do synchronous replication and cluster at ‘metro’ distances/latencies, but asynch is an added bonus. If you have two Violin 7300/7700 arrays, you can cluster them without destroying your initial commit latency times. This is of course a trade-off for the protection level but it also removes the distance/latency bounds at the same time. The choice is up to you, imagine the sci-fi cliché catch phrase of your choice here, then choose wisely.
In the end, the feature sets of the two lines is very similar for most things but differs in replication offerings and data protection over WANs. Most of this added RAS is because the 7700 has two physical controller while the 7300 has one. For most users the 7300 should be more than secure enough but even more is always better but rarely cheaper.
Both of the new lines come in FC or iSCSI flavors to suit your likely pre-existing enterprise storage architecture. At the moment you can get either with 16Gb FC or 10Gb iSCSI interfaces, 40Gb iSCSI models will hit the shelves in 1H/15, That was meant to be a pun, at least on the shelf side, 40Gb Ethernet is very useful but not actually funny.
The last part of the releases is the enterprise console software called Symphony 3. The previous Violin offerings all had three different consoles to work through, enterprise admins hate things like this and it does heavily influence their purchasing decisions. Now you can do everything through one GUI, from high level formats to viewing per-LUN de-dupe rates. On the down side the guy behind the console has to make a different case for multiple monitors at his or her desk but that is not Violin’s problem.
Taken as a whole, Violin has a pretty comprehensive stack of purpose designed flash storage components. They are targeting VDI and high-throughput database applications, things that don’t tolerate latency or inconsistent performance. They engineered the hardware, controller, firmware, OS, software stack, and management consoles for the task at hand and better yet to take advantage of the hardware features. The supplied performance numbers are quite impressive but as usual this market runs their own tests on their own workloads before signing on the dotted line. Violin seems to understand what it’s customers want and delivered that with the new OS and console. It will be interesting to see how they perform in the wild.S|A