What is a Backplane Controller?
Before we can explain what a backplane controller (BPC) is, we need to define what a backplane is. There are different types of backplanes. We will be discussing drive backplanes.
Basically, a backplane is a board (also known as a PCB or printed circuit board) with a bunch of connectors (or slots) that allows a server to access multiple drives.
No Backplane Scenario
Most of the time, there is one drive to one connector. So, if a server has 16 drives, you will have 16 connectors. That’s a lot of signals. When you have all these drives, guess what? Managing drives becomes a headache.
Managing a bunch of drives becomes a headache! What do you mean by that?
Imagine that a drive goes bad and you have 16 drives. So, you need to replace the bad drive. You have to power down the server and then… wait a minute… which drive went bad? It says the fifth drive went bad. Was it the fifth drive from the right or from the left? Is it 1, 2, 3, 4, 5? Is it 0, 1, 2, 3, 4?
So, there is a lot of confusion.
Someone decided that it would be great idea if there was some sort of indicator. They created an LED indicator to identify the faulty drive. It would flash allowing you to know the exact location of the faulty drive. However, with the server is still powered on. You cannot just remove the drive. This means that you need the drive to be hot pluggable.
For a server system with a bunch of drives, there are an assortment of LEDs that have to be managed. There will be one or more LEDs per drive/connector. The LEDs will display the status of the drive attached to the slot. For example:
- Drive good, solid green LED
- Drive bad, solid red or amber LED
- Drive reading or writing, flash green LED
- Drive rebuilding, flash red LED
- No drive present/absent, no LED
- Drive pulled out
- Drive plugged in
This is where the BPC comes in. It is a mechanism for indicating the status of your drive assembly. The BPC also allows the processor to communicate to it opposed to each individual drive — one device opposed to many.
When you add NVMe to the mix, the complexity becomes even greater. NVMe does not use the same communication methods as SAS and SATA. So you have to build other methods into it to support NVMe. SAS and SATA hot plug is difficult to engineer. NVMe hot plug is even more difficult.
Once you have designed and built a backplane controller, you have to test it. If the backplane has 16 slots, you will have over 64 thousand different configuration possibilities. Can you imagine having to test all these combinations?
AMI has developed and tested an NVMe BPC called the MG9098 BPC. One MG90989 can support a combination of eight SAS, SATA and NVMe drives. It can support up to 32 drives when using four of them. As far as I can tell, when we released it, it was an industry first.
Please visit BPC product page for a full listing of AMI’s BPCs.