The chip is going to be quite expensive and will be on a six-layer board (also not cheap) so I decided to do some research to characterize my BGA process a bit better as well as improving yields once failure sources can be identified.
I began by designing two mating PCBs in FT[G]256 form factor (pictured below) and buying a jar of 250,000 SAC305 solder balls. The contact-chain pattern was structured such that every ball was electrically isolated from the ones immediately up, down, left, and right, and connected to those diagonally opposite via a leapfrog-zigzag pattern. The end result is two chains of 128 balls in series, so that any open circuit can be detected, which should be electrically isolated. All possible horizontal or vertical shorts would be detectable as a short between the two chains.
|Dummy FTG256 component|
|Dummy FTG256 carrier board (probe pads at top and bottom cropped)|
I began by smearing the board with sticky flux using a microfiber swab. I need to come up with a good way of depositing thin films of sticky flux (a stencil of some sort maybe? thin and spin coating) uniformly over a board... the amount pictured turned out to be too much.
|Fluxing the board|
|Beginning to place solder balls|
|Close-up of placed solder balls before reflow|
A minute or so into the reflow profile it was obvious something was wrong - the solder balls were moving all over the place.
|Drifting solder balls|
|Close-up of drifting solder balls|
I removed some of the excess flux, repositioned the misaligned balls, and reflowed, then repeated for the rest of the balls. A few of the balls moved again and bridged together so I removed them with solder braid, re-fluxed, and reflowed again with new balls.
|Another defect visible post-reflow. For some reason this ball never quite made contact with the pad. It seemed to be fine after reflow.|
|The entire dummy component after reflow (whitish residue was left by flux after cleaning)|
I then treated the resulting board as an FTG256 component and reflowed it to the carrier board using my standard profile.
The resulting assembly passed the "no shorts" test and the "continuity of chain 1" test but the other chain showed an open circuit. After sanding the soldermask off the back of the dummy component (in retrospect I should have left the vias open for easy probing) a binary search quickly determined that pads F8 and F10, which should have been connected, were not. At this point it wasn't known which of the two connections was open.
I then cross-sectioned the board several rows back from the F row to get a general look at how the reflow had gone. I made the cut slightly off parallel so that I could get a slice through some of the balls as well as seeing the dog-bones and vias.
After making the cut I de-fluxed with a high-pressure stream of 50% v/v acetone/IPA from a syringe.
|Close-up of two balls showing saw marks (very quickly polished). The apparent void on the left-hand ball is actually diamond abrasive paste on top of the ball, not a solder defect.|
|Cross section of the board. Note that the cut is slightly off parallel to the balls; each ball is cut slightly higher than the one to its left and the right-hand two are not cut at all.|
I then made another cut just before the F row in hopes of locating the actual defect. I didn't even need to use the microscope to see something was wrong - there was no ball in the F10 position whatsoever!
|Missing solder ball!|
|The pad on the carrier board (bottom) can be observed to still have the gold plating on it. There is no evidence of tinning whatsoever.|
I then went back and looked at the post-balling picture of the board. What had originally escaped my notice was that ball F10 (origin at lower right, up six, left ten) was a lot smaller than the others. It's not clear what happened but I'm guessing that while removing shorted balls with braid I accidentally sucked some of the solder off that pad.
I'm not certain that this is the correct explanation yet but it fits the data well and is simple. I'll be doing several more dummy BGAs over the coming weeks to see how things turn out.