Earlier this month Dell EMC announced XtremIO X2, the next generation hardware platform of their once flagship all-flash storage offering.  With the new systems, storage capacity per node has been increased from 25 to 72 drives.  The numbers quoted for initial deployments and upgrades seems to counter the original design of data protection on XtremIO, otherwise known as XDP.  Has Dell EMC therefore abandoned this technology, or is it simply a rewrite?

XDP

Perhaps an acronym for XtremIO Data Protection, XDP is a modified diagonal parity RAID-6 variant that in the original XtremIO X1 models delivered only an 8% overhead on capacity, with low write amplification on flash of 1.22x the logical I/O requests.  This efficiency was achieved through a 23+2 RAID-6 protection scheme, that uses 28 rows of data per  “group” (I deliberately quote this loosely defined term).  If you want to find more about XDP, there’s a specific data protection white paper from EMC – XtremIO Data Protection (XDP) that goes into detail on the protection scheme.  Although I don’t know for definite, my assumption is that the protection scheme uses 28 rows (rather than k-1, where k is the number of data drives) because this leaves plenty of space for partial or full writes as the array starts to get full (plus adheres to the prime number requirements, see later).

Patent

Looking at the original patent for XDP, the design says that the RAID-6 diagonal parity requires a number of data disks (k) that are prime, with k-1 rows to build out the parity, where the number of rows plus one should be prime.  The examples used in the above white paper are based on 5 data disks with 4 rows.  In XtremIO X1, the data disk count is either 23 or 11 respectively with either a full or “starter X-brick”.  The number of rows is 28 (which is one less than 29, a prime).  The details of the patent indicate that there is a slight additional overhead of the protection scheme RDP (not yet branded XDP presumably), which is mitigated by increasing the disk count k.

X2

Now let’s look at X2.  The published announcements and the details contained in Itzik Reich’s blog (CTO for XtremIO) show a capability of up to 72 drives in a new DAE (Disk Array Enclosure).  The initial starting point is 18 drives, with SSDs added in packs of 6.  From other comments I’ve read, at greater than 36 drives a second XDP group is created, so for 72 drives this presumably means 2x 36 XDP disk groups at a full expansion.  Based on our discussion above, the new drive options raise questions about how XDP is now implemented.  Previously the scheme was based on a fixed 25 (or 13) drive architecture, with no spares and dual parity.  Now we see drive configurations of 18, 24, 30 and 36 drives, none of which meet the “prime directive” for RDP/XDP, even if we took off some drives as spares.

So what does this mean for XDP in the new X2?  Have Dell EMC redesigned XDP to work differently?  I can see a scenario where the new XtremIO stripe size is smaller than the number of drives present, in the initial instance, the lowest prime less than 18 and accommodating 2 parity drives would be 13, making the new protection system 13+2.   Rather than having a fixed parity stripe across all drives, is conceivable that XDP v2 could be writing 13+2 stripes across 18 drives.  Bearing in mind that XDP already had an 11+2 implementation (starter X-Brick) then this could now be the stripe size for all systems.

What happens at expansion time?  When a further 6 drives are added, is the RAID strip size expanded or left the same?  Expanding the stripe size wouldn’t make much sense as the system would then be unbalanced from a performance perspective and at risk of space fragmentation.  So, presumably the size is kept consistent irrespective of the number of drives in the system.

The Architect’s View

It’s good to see customers now have expansion options for fully exploiting their XtremIO X2 investment.  It may seem a bit picky to be questioning the way in which data protection is now implemented on XtremIO X2.  However consider that when the original platform was launched, the XDP savings were heavily promoted.  2/25 drives gives the 8% overhead; with 11+2 this results in a 15.3% overhead – a significant difference.  As a customer, I’d like to know what exactly is going on under the covers, both from a performance and capacity perspective.  Previously EMC was keen to share the benefits of XtremIO.  So, why the lack of detail now?

Further Reading

Comments are always welcome; please read our Comments Policy first.  If you have any related links of interest, please feel free to add them as a comment for consideration.  

Copyright (c) 2009-2017 – Chris M Evans, first published on https://blog.architecting.it, do not reproduce without permission.

Written by Chris Evans

With 30+ years in IT, Chris has worked on everything from mainframe to open platforms, Windows and more. During that time, he has focused on storage, developed software and even co-founded a music company in the late 1990s. These days it's all about analysis, advice and consultancy.