From the specifications you've listed I must admit I'd probably say that XtremIO would be massively over-specified - especially if you're running on a CS4-120 today!
Without posting competitive FUD against EMC I think it's fair to say that Nimble would give you a far better cost/GB before data reduction, is easier to scale system IOPS performance independent of capacity (and vice versa, all non-disruptively of course) and our software stack is robust and enterprise class - and no additional charge. Also the support / Infosight data analytics service we provide is nothing like what traditional vendors can offer.
Typically i'd say if you were comparing a Nimble CS300 vs XtremIO then one of us would be in the wrong room; a CS300 will provide 30,000 IOPS at an attractive price point vs an XtremIO system which could be north of 200,000 IOPS (with a price point to match).
Of course I'm bias as I work for Nimble, so i'd welcome comments from other posters / customers on their experiences and thoughts.
Welcome to the community! With the details provided in your question, the first thing I am thinking is that it looks like a CS300 could meet your requirements here. Knowing the CX4-120 and its capabilities, you should see a good jump in performance and features/functionality on the CS300. The CS500 is a very powerful system and you could be overspending here but this is one of the key points when thinking about going with a Nimble CS array vs EMC XtremeIO and that's scalability. With XtremeIO you have to scale out similarly to equalogic and that is to add compute and capacity at the same time with no other option. I don't know what pricing you are getting for the XtremeIO but I'm guessing it's not cheap with it being a flash only array. So in the future, if you just need capacity, you have to buy the compute and if you just need compute (performance) then you have to buy capacity as well which seems wasteful to me. Be careful that your expansion pricing is the same as your initial pricing EMC will be giving you to win you as a customer.
Looking at Nimble, you can start with the CS300 and it will most likely last you for 5 years but what if something changes in your environment in 2 years' time and you need to add compute or capacity individually? You can do so granularly with Nimble which means you are not overspending today. Classic examples of this are VDI requirements in the future or some other high IO requirement which require performance or an archive or Sharepoint implementation which means you need capacity but not much performance. With Nimble you can add disk shelves or upgrade the controllers/add cache, with XtremeIO you have to add expensive flash and compute to do this. If you do need more of everything, Nimble can meet this requirement as well since we also offer scale out functionality! Nimble's scale to fit approach means no matter what your organisation throws at you, you will always have some way to meet it at a reasonable price.
The other thing I would consider is support. I'm sure your account team have gone over this with you but our support is truly next generation. Proactive analysis of your array to detect problems before they occur is not common at all in the storage industry. Collection of telemetry is not either and presenting all this information back to you within Infosight is completely unique. In comparison, other vendors have the traditional support model of having people waiting on the end of a phone for customers to call with issues which means they need plenty of people and not all of them are very skilled hence level 1-3 support whereas with Nimble, our proactive analysis eliminates the need for level 1/2 so we only have level 3 support people available who are multi-disciplined and not just Nimble experts.
The last thing I want to touch on is ease of use. This is such a great feature with Nimble, it means that you don't have to spend much time at all managing the array and going on training courses to learn how to optimise the system for certain uses. You can get time back to focus on the more strategic and important projects within your organisation. The UI is clean and simple and things like performance profiles optimise volumes for specific applications.
This is by no means a complete answer to why Nimble over another manufacturer but I've picked some of my favourite reasons for you. Please do ask further questions should you need to!
For you purposes flash only seems very overrated. If you have an unlimited budget it might be interesting, but that's hardly reality in today's world... Check out this blog (Nimble Storage Blog | Thin Provisioning Storage Performance with Adaptive Flash) by Ajay Singh (VP Product Management). Over provisioning is something what we're trying to avoid at all cost in today's IT. The greatest example of this is virtualisation. We want to use our resources efficiently, and not over provision. Do you really want to use flash for snapshots and cold data? Of course not! You want to use the cheapest disk available: NL-SAS!
In my patch (the Netherlands) I have a great reference: SevenP (sevenP — Nimble Storage Case Study). I don't want to share to much detail about this customer, but they are running way more VM's than you are currently running. A combination of Exchange, SQL, Oracle and fileservers. I'm sure your local Nimble team can provide references like these as well.