I have always wanted to see what is inside a laptop's battery pack. Last week I got defunct HP Pavilion dv9000 laptop from a friend of mine. All the good parts went to ebay and I was left with dead battery pack, motherboard and some other parts that I intent to continue using (like a webcam).
To be exact, I was destroying HP Li-ion battery HSTNN-LB99, HP part number 416996-421. It is rated for a 14.4V output and it's capacity is (was) 63Wh.
First of - battery pack contain 8 cells and a controller board. Standard AA sized cell is used for size comparison purposes in a photo. All cells are doubled, so raw battery voltage is 4x one cell voltage. Since battery back is rated for 14.4 Volts, I would guess that single cell has a voltage of 3.6 Volts. Cell has a model marking "LGDS218650", and after little googling it is revealed that single cell has a voltage of 3,7 volts, a capacity of 2200 mAh, weight 44 grams and retails $6.50 each for singles quantity.
Next is a battery pack controller board. It has two thermocouples for monitoring cells temperature, one big 0,01 Ohm current sense resistor, 3 chips, a electroblowable fuse, 2 FETs and large variety of passive and several active components - most probably transistors. Board is based on a Texas Instruments bq20840BT smart battery controller. It also has an analog front-end for controller chip - a Texas Instruments bq25312PM and a secondary protection device - (guess a manufacturer!) Texas Instruments bq29400. I was not able to do a lot of reverse engineering, as a board is a 4-or-more layers, but from components it resembles a reference design provided in a datasheet of bq20840BT controller.
One thing that I have learned from this board is that there are things like a fuse that can be blown with a small logic signal. For example in this board if any of cells reaches a voltage of 4,25 Volts a bq20840 chip will start charging a delay capacitor and once it is charged, will blow a fuse rendering battery pack unusable. Same fuse can also be blown by a main controller, but I was too lazy to read a datasheet to find conditions for that. My guess is that too high temperature on thermocouples can trigger a fuse blow. It would be interested to see if there is a special internal register value for blowing a fuse. Just imagine a virus, that affect only laptops and blow battery-pack fuses on 31st of December at 24:00. By the way - it might be the reason why my IBM 8cell pack stopped working. It might have overheated.
By the way - if you are going to disassemble a battery pack, be careful with li-ion cells, as cell can start burning or explode if they are punctured!