Request a quote → Server down · Emergency
Upgrade · storage controller

Storage controller upgrade: HBA, RAID with cache, queue depth.

The storage controller is the most underestimated bottleneck in a server. Moving from an eight-year-old MegaRAID with 512 MB of cache to a PERC H755 or Smart Array P816i-a with 4 GB of write-back cache can double sequential throughput and quadruple random IOPS. On virtualised workloads the difference is almost always tangible.

Typical scenarios

Three situations that trigger an upgrade.

I/O-bound databases

SQL Server, PostgreSQL, MySQL on a PERC H730 with 1 GB of cache and every mid-day workload queueing up: moving to an H755 with 4 GB of cache and write-back backed by a BBU often takes latency from tens of milliseconds down to single digits.

Migration to hybrid NVMe

You need to keep hardware RAID but want NVMe performance for databases and logs. The answer: a tri-mode controller (PERC H755N, Smart Array MR416i-p) with a compatible backplane.

Storage Spaces / vSAN / Ceph

Migrating to software-defined storage requires HBA passthrough. The existing RAID controller has to be swapped for a pure HBA (PERC HBA350, Smart Array E208i-a) so the drives are exposed individually.

Technical constraints

Five things to check first.

1 · Motherboard / vendor compatibility

Integrated enterprise controllers (PERC on Dell, integrated Smart Array on HPE, RAID 940 on Lenovo) are often "vendor-locked": a PERC H755 physically fits many servers but is officially supported only on specific models. Supermicro allows more freedom (standard Broadcom MegaRAID). We check the HCL first.

2 · Backplane and SAS cabling

A new controller may need different SAS cabling (SAS3 vs SAS4, mini-SAS HD vs SlimSAS) and a backplane with tri-mode capability (for NVMe). When upgrading across families you often have to change the cables too, and sometimes the backplane.

3 · Cache battery / supercap

Write-back controllers rely on a BBU (rechargeable battery) or a supercap (capacitor). A BBU lasts 3-5 years on average, a supercap far longer. On the existing controller we check the age of the BBU: if it is close to end of life, we include the replacement in the job.

4 · Firmware ecosystem

Controller, server BIOS, operating system and drivers all have to line up. On Dell the matrix is handled by the Lifecycle Controller; on HPE by the SPP (Service Pack for ProLiant). Updating before the physical swap is mandatory.

5 · Foreign config migration

Swapping a controller within the same family (e.g. LSI to LSI): import the foreign config on the new controller and the array is recognised and brought online. Across different families (LSI to HPE Smart Array) the on-disk metadata differs, so the array has to be recreated — a backup is mandatory beforehand.

6 · License unlock

On PERC, some advanced features (RAID 6, write-back cache, FastPath) require a license unlock. Same story on HPE Smart Array (SPP license). We verify that the target controller has, or supports, the unlock for the features you need.

Controllers by family

What we fit, and why.

# Dell PowerEdge — PERC family PERC H730/H730P Cache 1 GB · supercap · SAS3 12Gb · Gen13/14 PERC H740P Cache 8 GB · supercap · SAS3 · Gen14 standard PERC H755 Cache 8 GB · supercap · tri-mode · Gen15 PERC HBA350 HBA passthrough · for SDS · Gen15 PERC H965i Cache 8 GB · PCIe Gen4 · Gen16 enterprise # HPE ProLiant — Smart Array / SR-series P408i-a Cache 2 GB · supercap · SAS3 · Gen10 P816i-a Cache 4 GB · supercap · 16 ports · Gen10 MR416i-p Cache 4 GB · tri-mode · Gen11 (PCIe Gen4) MR416i-o Cache 8 GB · OCP form factor · Gen11 E208i-a HBA passthrough · SDS · Gen10/11 # Lenovo ThinkSystem — RAID 9xx RAID 930-8i Cache 2 GB · supercap · SR series RAID 940-8i Cache 4 GB · supercap · SR Gen2/3 RAID 9460-16i Cache 8 GB · tri-mode · for NVMe HBA 430-8e External HBA # Supermicro / generic Broadcom 9460-8i Cache 2 GB · SAS3 · enterprise baseline Broadcom 9560-16i Cache 8 GB · tri-mode · PCIe Gen4 Broadcom 9580 Top of the range · maximum cache # Cisco UCS UCSC-RAID-M5HD Cisco RAID firmware · UCS-locked [WARN] Genuine Cisco spares required (no cross-vendor)
How the job runs

Five phases, with a mandatory backup.

1 · Audit and full backup

Snapshot of the controller state (RAID level, drive order, strip size, cache policy, write policy, any active licenses). Full data backup or consistent snapshot. No work starts without a verified backup.

2 · Preparing the target controller

Server BIOS update, firmware prep on the target controller, license unlock pre-configured where needed. We check which SAS cabling is required (sometimes it has to be replaced) and whether the backplane needs upgrading for tri-mode.

3 · Physical replacement

Server powered down, existing controller removed, new one installed, re-cabling where needed, BBU/supercap positioned, everything reconnected.

4 · Boot and foreign config import

Boot into the controller setup, verify the drives are detected, import the foreign config (where the family is compatible). Cache settings restored to match the original configuration. Operating system boot, array verified online.

5 · Validation and baseline

Pre/post I/O benchmark (fio or iometer), check for SMART errors on the drives, written performance baseline. Application-level validation with the customer before handover.

Anonymised real case

Migration from a PERC H730 + 1 GB cache to an H755 + 8 GB for a SQL Server database.

A mid-market SME customer in the province of Monza, PowerEdge R740 server running SQL Server Standard, a 1.2 TB production ERP database, steady transactional traffic. PERC H730 controller with 1 GB of write-back cache, eight 1.8 TB SAS 10K drives in RAID 10. Write latency spiked during batch windows (daily closes, month-end invoicing): from 5 ms at idle to 60-90 ms during batches.

Diagnosis: controller cache saturated on writes. The physical storage (SAS 10K) can do better if the controller stops choking it. The fix: upgrade to a PERC H755 with 8 GB of cache, keeping the same drives and the same RAID 10. Identical LSI-based family compatibility: direct foreign config import.

Execution: full SQL database backup (full + log) before the job. Three-hour overnight window. Server shutdown, controller replacement, PERC firmware update, boot, foreign config import (5 minutes), system startup, SQL integrity check (DBCC CHECKDB), synthetic batch test, back into production.

Result: batch latency under 15 ms, sequential write throughput +120%. No data loss. The customer carries on running the same drives.

# Pre · PERC H730 (1 GB cache) 4K random read 18,500 IOPS · 5.3 ms avg 4K random write 12,200 IOPS · 8.1 ms avg 1M seq read 820 MB/s 1M seq write 420 MB/s Batch latency 60-90 ms (closes) # Post · PERC H755 (8 GB cache) 4K random read 42,000 IOPS · 2.3 ms 4K random write 31,000 IOPS · 3.0 ms 1M seq read 1,250 MB/s 1M seq write 940 MB/s (+120%) Batch latency 8-14 ms (closes)
Cost drivers

Four variables on a controller quote.

  1. Target controller — the cost of the part. Certified refurbished PERC H755 / Smart Array MR416i-p units are far more affordable than new vendor stock.
  2. New BBU/supercap — when the existing one is beyond recovery or you want to start fresh.
  3. SAS cabling — the cables sometimes have to be replaced (SAS3 to SAS4, mini-SAS HD to SlimSAS).
  4. Labour with mandatory backup — an agreed maintenance window, pre-job backup, post-job validation.
FAQ

The questions we get most often.

When is it worth replacing the storage controller?

Three scenarios: 1) A heavy virtualised random-I/O workload on an old controller with a small cache — the benefit of moving to 2-4 GB of write-back cache is tangible. 2) You need NVMe as a protected target (RAID): the old controller has no NVMe support via tri-mode, the new one does. 3) Migrating from HBA passthrough to a controller with a BBU for database workloads that need guaranteed write durability even on power loss.

Can I migrate the RAID array without losing data?

Yes, in many cases. The standard procedure is: snapshot the current configuration (drive order, RAID level, strip size, write policy), physically replace the controller with a compatible model, then import the foreign config from the new controller. If the models are in a similar family (e.g. PERC H730 → H755) the procedure is close to seamless. Across different families (LSI MegaRAID to HPE Smart Array) the on-disk metadata is not compatible: it takes a backup plus recreating the array.

HBA vs RAID controller, which should I choose?

An HBA (Host Bus Adapter) exposes the drives individually to the operating system: ideal for software-defined solutions (Storage Spaces Direct, vSAN, Ceph, ZFS) that handle protection and caching on the OS side. A RAID controller handles protection and caching in hardware and presents virtual volumes to the OS: ideal for traditional servers whose OS should not have to manage that complexity. The choice depends on the customer's storage stack.

What does a BBU/supercap-backed cache do on a RAID controller?

It lets the controller acknowledge a write as 'complete' as soon as it lands in cache, even if the drive is still slow — which gives write performance a huge boost. If power is lost, the BBU (battery) or supercap (capacitor) keeps the cache alive until it can be flushed to the drives once power returns. Without a BBU/supercap the controller falls back to write-through and loses a great deal. Replacing a dead BBU/supercap is recurring maintenance that we handle.

How much does controller queue depth matter?

A high queue depth (256+ per port) lets the controller hold many I/O commands in the queue without saturating. On a modern virtualisation workload with dozens of VMs generating thousands of aggregate IOPS, a controller with a low queue depth (32-64) creates queues, latency and a throughput ceiling. Modern enterprise controllers (PERC H755, Smart Array P816i-a, Broadcom 9560) are designed for those densities.

Do you support NVMe directly on the controller (tri-mode)?

Yes, on latest-generation tri-mode controllers (PERC H755N/H965i, Smart Array MR416i-p, Broadcom 9560). Tri-mode lets you mix SAS, SATA and NVMe on the same controller. NVMe performance via tri-mode does not match NVMe direct on PCIe, but it gives you RAID/cache protection while keeping IOPS very high — the sweet spot for many mid-market workloads.

Let's talk

Tell me the make, the model and the goal. I'll come back with a plan.

Send me the brand, the model (Service Tag / Serial / motherboard part number) and the target workload. Within one business day I'll come back with the technical feasibility, the constraints I can see and an honest estimate.