ACCEPTING CASES · MON–FRI 9:00AM–5:00PM
Certified Data Recovery Professional · Phoenix, AZ ☎ (602) 686-2622

The RAID Battery Failed After a Power Cut. Don't Force the Array Online.

The power came back. The hardware RAID controller says the battery backup unit is failed, missing, or in a learn cycle, and the virtual disk is offline or degraded. Force Online, Bring Online, Clear Foreign, or Import Foreign is not a way to see if the files are still there.

Free evaluation · No data, no fee · Talk directly with a technician.

We already wrote about a controller Rebuild, about a RAID 5 that loses a second drive, and about a Synology NVMe write-back cache that died. This page is the card in the server. Dell PERC, HPE Smart Array, Broadcom MegaRAID, Adaptec, and the same family of hardware RAID controllers. The cache is on the controller. The battery — or the capacitor and flash module that replaced it — is what was supposed to protect that cache when the power died. Do not force the virtual disk online while that state is unknown.

What write-back cache and the battery actually do

A hardware RAID controller sits between the operating system and the member disks. In write-back mode it acknowledges a write when the bytes are in the controller's own memory, then flushes them to the disks later. Until that flush, the cache is dirty. The operating system has been told the write is safe. The platters or the SSD NAND may not have it yet.

Write-through is the other policy. The controller acknowledges the write only after the members have it. A power cut in write-through does not leave a pile of acknowledged writes sitting only on the card. Write-back does. Controllers switch to write-through on their own when the battery will not hold a charge, when a learn cycle is running, or when someone set the policy that way. The policy you had at the moment of the outage is the one that matters, and a screenshot taken the next morning may already show write-through because the pack failed.

The battery backup unit is there for the dirty cache, not for the server as a whole. Vendors name the pack differently. You will see BBU, cache battery, BBWC, a supercapacitor, CacheVault, or flash-backed write cache (FBWC). An older pack keeps the DRAM powered until mains power returns and the controller can destage. A flash-backed module uses a few seconds of capacitor energy to copy that DRAM into NAND on the cache module, then copies it back on the next boot and writes it to the disks. Different hardware. The same job. Those blocks are not on the member disks yet.

A learn cycle is the controller testing the pack — discharge, then charge — to see whether it can still hold the cache. Many cards fall back to write-through for the duration. A learn that fails, or a pack that will not charge after a deep discharge, shows up as failed, missing, degraded, or learning. That line is about the pack. It does not tell you whether dirty blocks are still in DRAM, already in the flash backup, already destaged, or already gone. Read the cache line separately. If the screen says preserved cache, pinned cache, or cache data lost, that line is the one to believe. If it says nothing about cache contents, treat the cache state as unknown.

What the controller shows after the power comes back

The POST screen, the controller BIOS, MegaRAID Storage Manager, Dell OpenManage or iDRAC, HPE Smart Storage Administrator or iLO, or Adaptec maxView will usually show a mix of these. The wording is not exclusive to one vendor. The action behind the wording is what matters.

Power loss plus write-back means the controller may still hold unflushed writes. The members can also disagree with each other. A stripe that was only partly destaged leaves data blocks and parity that no longer match. A disk the controller failed because it was slow to spin up may hold an older copy than the disks that stayed up. Force Online does not sort those versions out. It picks a path and commits it: destage the cache onto the disks, or drop the cache and present whatever the disks already have. Then the operating system mounts that result and writes.

The battery warning is not a fix. Get the set evaluated before anyone forces the virtual disk online, clears a foreign config, or starts a rebuild. Free evaluation, no data, no fee.

Force Online commits one version of the volume

Force Online and Bring Online mark a virtual disk, or a physical disk the controller had failed, as usable again. If preserved or pinned cache is still on the card, bringing the volume up is how that cache gets written to the members. MegaRAID's name for dirty cache stuck to an offline virtual disk is pinned cache. Deleting it, or accepting Discard preserved cache on a PERC, throws away writes the operating system was already told had landed. The disks do not grow a copy of those blocks because the warning cleared.

If the message is the other one — cache data lost — the unflushed writes are already gone from the card. Forcing the virtual disk online will not recreate them. It presents a volume that stopped mid-stripe, and the boot that follows writes on top of that. Journal replay, a database crash recovery, and a filesystem check are all writes. A volume that "came up so we could copy the files" is a volume the controller and the operating system are both changing.

A member that dropped in the outage and is then forced online is a disk the controller had stopped trusting. Forcing it back and starting a rebuild writes reconstructed stripes across the set. That is the same write as a Rebuild, from a worse starting point: the other members may be missing the last flush, or they may disagree with cache the card has not destaged. On RAID 5, a second member that will not read is already past what the level survives. That case is two drives failed, and a rebuild does not undo it.

Clear Foreign Configuration deletes the array metadata the disks are carrying: RAID level, which member is which, stripe size. User data is not securely wiped by that click. The map you needed is gone, and the next screen is usually create a new virtual disk. Import Foreign loads that metadata into the controller. Import is the right step only when the foreign view is this array and you already know whether preserved cache will be kept, destaged, or dropped. Importing because the prompt appeared, with the cache state unknown, can commit or discard that cache as the volume comes up. Other cards do not all say "foreign." Clearing the configuration, or creating a new logical drive on the same disks, is the same class of action.

What not to click

Force Online or Bring Online on the virtual disk or on a failed member, to see if the data is there. You just chose a commit or a discard, and then a mount.

Discard preserved cache, or delete pinned cache, to get past the boot warning. That menu exists so the card will continue. It drops the only copy of blocks that had not reached the disks.

Clear Foreign Configuration when the data matters. You are deleting the label on the set. Import Foreign without reading the cache line first is the other experiment. Leave both alone until someone who can image the disks has the screenshots.

Replace the battery, then immediately force the virtual disk online and let the server boot. A new pack does not contain the old cache. It often will not even enable write-back until it has charged. The boot writes new blocks over members that may still be missing the last flush.

Rebuild before any image exists. The controller reads every surviving member and writes the replacement. If one of those members is marginal, or the stripe was only partly flushed, the rebuild overwrites the last good copy. That is the failure the rebuild post is about.

A consistency check that corrects, or a patrol read that remaps. A corrective consistency check writes parity or data to make a stripe agree with itself. After a dirty-cache outage, the "error" it corrects can be the only remaining copy of a block. Patrol read is a media scan; when it hits a bad sector, the disk remaps and the controller may rebuild that stripe. Both are writes. Hours of extra head time on disks that just lost power is its own cost, even on a check that only reads. Do not start one to make the controller status green.

Initialize, Full Init, or Quick Init. A full initialization writes the virtual disk. On PERC and MegaRAID, Fast Initialization overwrites the first and last 8 MB — the partition table and the copy of it at the end — and a background initialization then writes parity across the set. That is the map, and then a second write. It is not a label you can put back.

Create a new virtual disk on the same physical disks. New array metadata, and usually an initialization, land on the only copies you have.

Power-cycle the server to see if the next boot offers a kinder prompt. Each cycle is another chance to accept Discard, and another spin-up of disks that just went down hard. If a member is clicking, extra power-ons are head time. See what a clicking drive means.

Warning: Do not Force Online, Bring Online, Clear Foreign, Import Foreign, discard preserved cache, rebuild, or initialize while the battery or the write-back cache state is unknown. Those steps commit or drop unflushed writes, or they write a new map over the members. A lab cannot put back a cache the controller already discarded, or sectors an init already overwrote.

This is the controller, not a Synology cache SSD

The Synology NVMe write-back post is a different device. That cache is an M.2 SSD in the NAS. DSM writes to the stick first and flushes to the hard drives later. The button people reach for is Repair. This page is the RAID card: DRAM on the controller, a battery or a capacitor-and-flash module beside it, and a virtual disk that went offline when the power died. Do not pull a Synology Repair procedure and aim it at a PERC, and do not Force Online a Smart Array because a NAS article said to leave the volume alone.

A Synology volume that says Crashed, with or without a cache SSD, is that post. Unraid and TrueNAS have their own destroy-and-recreate buttons. A motherboard stripe with no battery-backed cache at all is RAID 0. If the screen in front of you is iDRAC, iLO, MegaRAID Storage Manager, or the controller BIOS, you are in this one.

What to do right now

Do not force the virtual disk online. Do not clear or import a foreign configuration. Do not discard the cache. Do not rebuild. Do not initialize.

  1. If you are looking at Discard preserved cache, Force Online, or Clear Foreign, do not accept it. Power the server off from that screen. A clean shutdown is the right call when the operating system is up, the volume is serving files, and no disk is clicking — that is a flush you still control. A clicking member, or a rebuild already running, is a reason to power down rather than let the write finish.
  2. Photograph the screens before anything changes. Controller BIOS, MegaRAID Storage Manager, iDRAC, iLO, Smart Storage Administrator, the POST lines. You want the exact words: battery or capacitor status, write policy, preserved cache, pinned cache, or cache data lost, virtual-disk state, foreign, and which bay is failed. Screenshots help. They are not a diagnosis.
  3. Write down the array: RAID level, how many disks, bay order, which bays are failed, foreign, or rebuilding. Do not pull disks to try a different order. If they have to come out, label the bay on the drive before it leaves the slot.
  4. Leave the controller with the set when the screen says cache is preserved or pinned. Those blocks are on the card or its cache module, not on the members. Discarding the cache to make the card easier to ship drops them. A failed battery pack is part of the same hardware. Leave it attached.
  5. Stop power-cycling. The next boot is not a second opinion. It is the same prompt, plus another spin-up.

Pack the disks the way you would any failed drive — how to ship a failed drive safely. A server chassis can ship if you cannot pull the set cleanly. Do not open a drive to look at it. Then talk to a lab before anyone forces the array online.

How a lab handles it

We do not Force Online, Bring Online, Clear Foreign, Import, Initialize, or start a rebuild on your controller to see if the volume mounts. We do not discard preserved cache to get past the prompt.

Bay order is recorded before a disk leaves the chassis. Each member is imaged write-blocked — a sector image, including a drive that only reads in pieces — before the controller is asked to change state. Imaging uses the lab tools already named on this site, including the ACE Lab PC-3000 and DeepSpar Disk Imager. Work happens on the copies. RAID level, member order, stripe size, and parity are reconstructed from those images. A wrong guess on a copy can be thrown away. The same guess on the original disks cannot.

Preserved cache still on the controller is not a disk image. It is a separate set of blocks that may never have reached the members. We will not describe a DRAM-dump procedure here, and we will not promise the cache module reads. If that cache was discarded before the machine reached us, the unflushed writes are not on the disks. We will tell you what the images hold. A hole in the parity or a missing journal is still a hole. We will not promise a mount.

The public case log has no battery-backup, preserved-cache, or force-online job. We will not invent a case ID, a controller model, or an outcome. The closest published hardware-controller cousin is 21607: twelve HPE 1.8 TB SAS drives on one SmartArray, a five-drive RAID 5 whose problem was the controller dropping offline, and a seven-drive RAID 6 that had lost three members, some of them months earlier. Three of those RAID 6 members needed head swaps before they would read. Nothing was rebuilt on the original hardware. The controller was taken out of the equation. Every member was imaged, and the arrays were reconstructed from the images. Full recovery on that set. The write-up does not mention a battery, preserved cache, or Force Online. That outcome belongs to that set.

The other published array in the log is a different stack: DDR-2026-0003, a four-drive Synology RAID 5, two members failed, nothing rebuilt in the NAS. That is a NAS and a two-disk RAID 5 loss, not a controller battery. Neither job is a rate, and neither is a prediction about dirty cache on the card in front of you. We don't advertise a success rate.

If the screen is a Rebuild on an array that is still online and healthy apart from one disk you have already replaced, start with rebuild vs. recovery — that is the case where a normal rebuild can be the right maintenance step. If two RAID 5 members are down, the limit is that post. For how these cases run once the disks are here, see RAID data recovery.

Hardware RAID battery and write-back cache FAQ

The battery is dead. If I replace it and force the virtual disk online, will the data be there?
A new battery does not answer that. Replacement packs often arrive discharged, and the controller stays in write-through until the pack charges. That charge cycle does not replay writes that were only in the old cache. Force Online or Bring Online then marks the virtual disk usable. If preserved cache is still on the card, coming online is how those blocks get written to the disks. If the cache was already discarded, or the screen says cache data was lost, those blocks are already gone and forcing the volume up will not put them back. Either way the operating system mounts a volume and can write — journal replay, a database crash recovery, a disk check. Stop before that boot.
What do write-back cache and a BBU actually do?
In write-back mode the controller tells the operating system a write is finished while the bytes are still in the controller's memory. Those blocks are dirty until they are flushed to the member disks. A battery backup unit, or a flash-backed module that uses a capacitor to copy that memory into NAND, exists so a power cut does not simply erase them. Write-through is the other policy: the controller acknowledges the write only after the disks have it. The battery status on the screen is about the pack. It does not, by itself, tell you whether dirty blocks are still in memory, already in the flash backup, already flushed, or already gone.
The controller says preserved cache or pinned cache and offers to discard it. Should I?
No. Preserved cache and pinned cache — the MegaRAID and PERC wording — mean the card is still holding writes that were acknowledged and not flushed. Discard, or deleting pinned cache, throws those blocks away so the warning will clear. The member disks do not gain a copy because you discarded the cache. Leave the prompt. Power the server off from that screen and photograph the wording first.
Is Import Foreign Configuration safe if the disks still have their metadata?
Only when you already know the foreign view is this array and you know what the controller will do with preserved cache. Import loads the disks' array metadata into the controller. Clear Foreign Configuration deletes that metadata — RAID level, member order, stripe — so the warning goes away. The next screen is often a new virtual disk. Importing or clearing because the prompt appeared, while cache state is unknown, can destage or drop the cache as the volume comes up. If the data matters, do not clear foreign, and do not import it as an experiment.
Is this the same failure as a Synology NVMe write-back cache?
No. That post is an M.2 cache SSD in a Synology NAS. DSM's dangerous button is Repair, and the unflushed blocks, if any, are on that module. This page is a hardware RAID card — Dell PERC, HPE Smart Array, Broadcom MegaRAID, Adaptec, and the same family — after a power cut, with the cache in the controller's memory and a battery or capacitor module behind it. The button here is Force Online, Bring Online, Clear Foreign, or Import. A crashed Synology volume is a third screen. Do not use one page as a script for the other.
The array says degraded, not offline, and one disk is failed. Can I rebuild?
A normal rebuild assumes the other members are healthy and the controller has already flushed anything it was holding. After a power cut, with a failed or missing battery, that assumption is what you do not have. A rebuild writes reconstructed stripes across the set. That is the write in RAID rebuild vs. data recovery. If a second member is also unhappy, RAID 5 is already past what it survives — see two drives failed. Image the members before a rebuild starts.
I already clicked Force Online, Clear Foreign, or Initialize. Is it too late?
Not automatically. Stop so nothing else writes — no second Force Online, no rebuild, no consistency check, no new virtual disk, no boot into the operating system to "copy what you can." A Fast or Quick Init that finished and a prompt you backed out of are different jobs. Bring the disks in bay order, and the controller too if it warned that cache was preserved or pinned. We image first and tell you what is left. We will not guess from a screenshot which click already committed.
Is there a BBU or dirty-cache case in the public log?
No. The public case log has no battery-backup, preserved-cache, or force-online job. We will not invent a case ID, a controller model, or an outcome. The closest published hardware-controller cousin is 21607, an HPE SmartArray server: a five-drive RAID 5 whose problem was the controller dropping offline, and a seven-drive RAID 6 down three members. Nothing was rebuilt on the original hardware. The controller was taken out of the equation, every member was imaged, and the arrays were rebuilt from the images. That write-up does not mention a battery or a dirty cache. The full recovery on that set belongs to that set. It is not a rate. We don't advertise a success rate.

A failed battery means the controller may still be holding writes the disks do not have. Image the members before anyone forces the array online.

Request free evaluation →

Free evaluation · No data, no fee · Talk directly with a technician.