This article is also available as a download.

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

  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

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 in Figure A.

Figure A

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.

Step #2: Select the correct BBWC module

In the case of the HP Smart Array series, the BBWC enabler
varies by controller module, so be sure to consult your reseller or the
QuickSpecs to identify the correct part number for your addition. In this
example, the Smart Array 641 and 642 controllers use the same BBWC module, and its
HP Part Number is 351580-B21 for the United States. The price for this part is
listed on the HP site as $299 when purchasing a Smart Array 641, so this is not
a large investment.

This option will add 128 MB of ECC DDR to the controller. There
is also a 64 MB module, but we’ll use the 128 here. Different Smart Array
controllers have different performance levels. For example, the new Smart Array
P600 controller has a 512 MB BBWC module, and not all BBWC modules are
interchangeable for the 6400, 5i, 6i, 64x, and P600 models. So make sure you consult
the QuickSpecs when selecting a BBWC module.

Figure B shows
how we’ve arrived at the part number above by using the QuickSpecs online. You
can also download the QuickSpecs to run locally with the HP Product Bulletin

Figure B

This may seem like overkill, but it’s important to be
careful when adding parts to systems that are already in use. (When you purchase
a new server, it’s usually a lot easier to add the BBWC module.) Further, if
you’re dealing with a retired product, it may be easy to find the part number but
difficult to find the part (at least, at a price you like).

Step #3: Install the BBWC module

Module installation is fairly simple; however, you will have
to shut down the system and remove the array controller or ensure that you have
clear access to its chip-populated side. In this example, we’ll remove the
controller and insert the BBWC enabler into the card outside the server. Figure C shows the slot where the BBWC
enabler will go.

Figure C

Shut down the server and carefully remove the Smart Array
controller. Then, insert the BBWC enabler into the slot so that the white
handles clip on the outside of the module, as shown in Figure D.

Figure D

Now, place the array controller back into the server and boot it up.

Step #4: View the new BBWC enabler

Once the module is installed in the system, you can verify
that the system has access to the additional memory. In this case, we’ll view the
information with the HP-ACU. Open up HP-ACU, select the controller where you
added the BBWC enabler, and click More Information. You should see a change in
the memory displayed, as shown in Figure

Figure E

After you add the BBWC enabler to the server, the first few
boots may display a message that the module is not fully charged. This is normal,
and the controller will handle the trickle charge of the enabler. The full
memory amount is available to the controller, but the battery-backed part is
limited until fully charged.

Is this a golden band aid or a real solution?

Although adding a BBWC module will increase your server disk I/O performance, it’s no excuse for
a poor server implementation. Excessive application logging, bad code, rogue
applications, or other poorly implemented solutions can improve only so much by
having more horsepower thrown at them. Of course, there are other solutions,
such as server optimizers and drive array configuration selections. Eventually,
you will be asked to provide more performance from the server system–and you
may not have any more silver bullets left! However, adding the BBWC enabler provides
an easy performance boost, and for a value, at that.

Additional resources

Product Bulletin.
Here, you can obtain specific part numbers for ordering
BBWC pieces and install the product bulleting application locally on your

Top Six
FAQs on Windows 2000 Disk Performance.
This article provides a good, detailed
explanation of the actual mechanics of drive performance and the Windows
measurable elements.