Why we standardized on all-flash HPE 3PAR
We run block storage on one platform, HPE 3PAR all-flash over Fibre Channel, and we learned it in depth on purpose. That depth is what lets the engineer on call read the array's own telemetry instead of opening a vendor case.
In this article 5 sections
- We standardized block storage on HPE 3PAR all-flash over Fibre Channel, one array family chosen and mastered rather than a menu of tiers from whichever vendors priced well that quarter.
- One platform means depth compounds: every incident, spare part, and runbook feeds the same failure library, and the on-call engineer has seen this exact array fail before.
- That depth is why the people who answer can tell a sick array from a sick path from the array's own counters and path telemetry.
- The platform earns the depth: mesh-active controllers, the chunklet design that stripes every volume across every drive, an ASIC doing the heavy lifting, and an independent benchmark receipt of 545,164 IOPS at 0.80 ms.
- We deviate only when a job genuinely earns it. A known baseline is what makes a real exception safe to build.
Our block storage runs on HPE 3PAR all-flash arrays, reached over Fibre Channel. That sentence describes a decision more than a product: one array family, chosen deliberately and learned in depth, instead of a menu of storage tiers assembled from whatever the channel offered. This post is the case for that decision, and for asking any host you evaluate whether they ever made one like it.

Five storage tiers on a menu means five platforms run shallowly
Open most providers' order pages and storage is a dropdown: a SATA tier, an SSD tier, an NVMe tier, sometimes a performance tier with no architecture attached to the words. Each row on that menu is a distinct platform someone has to operate, with its own controllers, its own failure modes, its own telemetry, and its own firmware update path. A five-row menu is a purchasing feature. It is also a staffing decision, because engineering attention divides by the number of platforms it has to cover.
Attention divided is depth lost. A team that operates five array families holds five thin slices of experience, and when one of those platforms misbehaves at 3am, the odds that the person on call has worked this exact fault on this exact machine drop with every extra row on the menu. We collapsed the menu instead.
Depth compounds when every incident lands on the same platform
Mastery of a platform is a working inventory as much as a mental one: runbooks written against this platform's real telemetry rather than a generic manual, and engineers on staff who can read the array's internals and diagnose it at firmware depth.
The compounding is the point. Every incident anyone on the team works becomes part of a shared failure library for the same machine, so the tenth encounter with a fault class starts from memory instead of from documentation. Spread the same incidents across a five-platform catalog and the library fragments: most faults get met by someone seeing them for the first time, and a fault met for the first time takes longest at exactly the moment your workload can least afford it.
- Five tiers, five platforms, five sets of failure modes to learn
- Incident knowledge fragments; most faults are met cold
- Spares and firmware expertise spread thin across the catalog
- When an array misbehaves, the play is a manufacturer ticket and a wait
- One array family, learned down to its firmware
- Every incident feeds the same failure library
- Runbooks and muscle memory for one known machine
- The engineer who answers has seen this exact array fail before
What the depth buys, day to day
HPE 3PAR Peer Persistence keeps volumes online if an array goes down, and our engineers read service times and path telemetry on the arrays as routine, so a storage question is answered from the array, not from a vendor queue. Telling a sick array from a sick path takes that depth, held by the same people who run the SAN every day.

The machine itself, on the public record
A short tour of what we standardized on, with every claim from the public record. The HPE 3PAR 8450 is the all-flash model of the 8000 family: two to four controller nodes on a passive full-mesh backplane, a design HPE calls Mesh-Active because every volume is live on every controller at once. There is no primary controller to fail over from. The family shipped in late 2015, but the pedigree is older and better: 3PAR was founded in 1999 by Sun Microsystems systems architects, the name literally means 3 Partners, and the company pioneered thin provisioning. In 2010 HP and Dell fought a public bidding war over it, from Dell's opening $18 a share to HP's winning $33, about $2.35 billion. Serious people wanted this machine badly.

The idea that made 3PAR famous is the chunklet, the official term in HPE's architecture paper. The operating system chops every drive into 1 GiB chunklets and builds RAID out of those instead of out of whole disks, so every volume ends up striped across every drive, behind every controller and every port. Two things fall out of that. Performance: there is no hot drive, because no volume lives on any particular disk. And rebuilds: spare capacity is scattered across the whole array instead of parked on an idle spare drive, so a rebuild is many drives helping at once rather than one drive drinking through a straw.
Each controller also carries HPE's Thin Express ASIC, fifth generation in the 8450, sitting beside the CPU and doing in silicon the work software arrays burn cores on: detecting and dropping streams of zeroes inline, hashing blocks for dedupe, computing RAID parity, and stamping end-to-end checksums from host port to drive. That chip is a large part of why the array moves block I/O without drama.
Two-to-four controller nodes on a passive full-mesh backplane
Every drive chopped into 1 GiB chunklets, every volume striped across all of them
Spare capacity scattered across the array, not parked on one idle disk
Thin Express ASIC, 5th gen, doing RAID and checksums in silicon
- a controller dies, four-node config
- write cache re-mirrors to surviving nodes, no write-through crawl
- a port or path drops
- the array shifts the port itself, the host does not notice
- a drive dies
- many-to-many rebuild from spares scattered across the array
Those are HPE's claims, from the architecture paper, not our lab results. The one worth underlining is the first: HPE's own paper points out that dual-controller arrays drop into cache write-through when a controller dies, which is a polite way of saying they crawl. A four-node 3PAR keeps its write cache mirrored and keeps going. That is the difference between a controller failure that shows up in your latency graph and one that does not.
545,164
SPC-1 IOPS at 0.80 ms average response, measured on an 8450 under the industry's standard storage benchmark
One honest footnote on that number. HPE's brochures quote the 8000 family scaling past a million IOPS in top configurations, and the larger 3PARs go higher still. The 545 thousand is what an 8450 actually posted under the independent benchmark, with the price sheet attached: 23 cents per SPC-1 IOPS, the cheapest of the ten fastest arrays on the list at the time. Measured beats brochure, so the measured number is the one we quote.
A decade in production means the firmware is settled, the failure modes are documented, the parts are plentiful, and nothing this machine does surprises the engineers who mastered it. That is our doctrine in one sentence, and it has its own post: buy the serious machine.
We deviate only when the job earns it
Standardization without an exit clause is dogma, so here is ours: we deviate only when a job genuinely earns it. The general version of this argument, including why a known baseline is what makes a real exception safe to engineer, covers our network, compute, and fabric decisions alongside storage in we're opinionated about hardware. This is the storage chapter.
If you are evaluating a host, the storage questions worth asking, including the ones most providers cannot answer, are in your host's dirty secret is their storage.
Straight answers
Isn't standardizing on one storage vendor a lock-in risk?+
It is a dependence we chose with open eyes. Whichever platform a host runs, you are locked to their ability to operate it, and a five-vendor menu spreads that same dependence across five platforms while keeping the depth of none. We would rather be tied to a platform we can diagnose at firmware depth than be free to choose among platforms we know shallowly.
What does using one array family change?+
Every incident, spare part and runbook adds to the team's knowledge of the same platform. The argument here is operational depth: engineers on staff who can read the array's internals and recognize its failure modes.
What does "mastered" mean in practice?+
Runbooks for one known machine, and an on-call rotation where the person who answers has worked this platform's failures before. When storage misbehaves, that is the difference between a diagnosis in progress and a ticket opened with the manufacturer on your behalf.
Put your storage questions to the people who run the array
The storage and fabric engineers who run our SAN day to day are the same people who answer. Ask them what your workload needs underneath it.
Talk to an engineerYou’ve reached the end.
Put the reading to work
What are
you running?
Tell us about the workload, traffic and recovery requirements. Start with the server builder, or talk through the details with an engineer.
Written by the engineers who build and run the infrastructure it describes.Talk to an engineer
