I realize that this whole process was more than just data recovery (it's a very valuable learning experience too), but if it was <i>just</i> about data recovery, couldn't he buy another SD card and re-solder the IC from the broken board to the new one?
You are lucky that the SD card you had used a discrete package for the flash - to reduce costs, quite a few of them just encapsulate a bare die, which is nowhere near as robust; even assuming the die didn't crack, trying to wirebond one of those without special machinery is nearly impossible. MicroSD almost exclusively is constructed this way.<p>There's also a very interesting article about reverse-engineering the microcontroller used inside: <a href="http://www.bunniestudios.com/blog/?p=3554" rel="nofollow">http://www.bunniestudios.com/blog/?p=3554</a>
My EE knowledge is a few years out of date, but I was surprised to learn that excessive correlation between pages causes problems. The XOR key used for decorrelation is apparently not too hard to reverse engineer, so I wonder if this could be turned into an attack against solid state storage devices. Would storing a particular data stream which becomes very correlated once the XOR is applied lead to data corruption? Wear leveling and filesystems might make this difficult to pull off, but it still scares me a bit.
Very nice article.<p>I wrote a lot of the flash object store for the Apple Newton, back in 1992. I've often wondered how many of the things we came up with were later patented by other companies.