Software Development

Boost server disk I/O performance with a battery-backed write cache

Determine whether a BBWC module is currently installed

This gallery is also available as a download and article.

Server consolidation, multimedia-heavy applications, real-time applications, and larger storage requirements can place a measurable disk I/O strain on server systems. One way to ease this burden is to add a battery-backed write cache (BBWC) module. We're going to walk through an example that shows how this works. We'll see how to determine what part to order, how to install it, and how to verify that it's installed correctly.

Indications that you need a BBWC module

Here are some of the factors that suggest you might want to add a BBWC module to your server:

  • You see a value (consistently greater than 1 or measurably larger than well-performing servers) in the \PhysicalDisk(_Total)\Avg. Disk Queue Length counter of Windows Performance Monitor (or commensurate tool from another OS).
  • Your disk controllers do not already have a BBWC module, and one can be added.
  • You have (unmeasured) less performance on one server than another like server with less utilization.
  • You may be adding significantly more functionality to an existing system with no new servers being added.

Installation example

For our example, we'll be using an HP ProLiant ML350 G4p server. The server has two RAID array controllers (one Smart Array 641 controller and one Smart Array 642 controller). We'll go through the process of:

  1. Determining whether a BBWC module is currently installed on the 642 controller.
  2. Selecting the correct part number for the BBWC module.
  3. Installing the BBWC module.
  4. Viewing the new BBWC module in the system after installation.

Step #1: Determine whether a BBWC module is currently installed

This may sound silly, but you need to make sure a module isn't already installed in your server before you set out on a mission to add one. For the HP ProLiant server series, there are two easy ways to determine whether a BBWC module is installed: getting the array controller's information at startup and using the HP Array Configuration Utility (HP-ACU). We'll use the first method here; our verification step at the end of this process will give you a look at the HP-ACU.

Getting the controller's information at startup is generally straightforward. At the computer POST, be sure to watch all the text action as components initialize. By watching the initialization, we see the information shown here.

The yellow highlighted boxes show a performance of 64 MB for each controller. A quick look at the HP QuickSpecs for the Smart Array 641 and 642 controllers shows that the default cache memory amount is 64 MB. So both of these controllers are candidates for adding a BBWC module.


Rick Vanover is a software strategy specialist for Veeam Software, based in Columbus, Ohio. Rick has years of IT experience and focuses on virtualization, Windows-based server administration, and system hardware.