I don't know if anyone has successfully done this, the only mention I've seen of an actual upgraded Nano was the 8GB hoax. I plan on giving this a try myself - I have a 2GB gen1 Nano, and 2GB just isn't much space.
But I plan on doing this "proper" and doing a bit of research first before I start throwing chips at boards. Here's what I know about the gen1 so far, from looking at pictures and chip datasheets...
(1) The NAND itself
- The NAND footprints on the main board have traces to accept dual-CE, quad-RB, x8 width NAND chips.
- I'm thinking the NAND chips are wired with the data buses tied together as 8-bit; there aren't enough traces going to the daughtercard connector to handle 16-bit-wired NAND.
- Every taken-apart player I've seen so far has two dual-die, MLC NAND chips populated inside the player for a total of four NAND dies. Each die has its own /CS, so four /CS signals go to the NAND controller.
- 2GB players have four 4Gb NAND dies (device ID 0xDC)
- 4GB players have four 8Gb NAND dies (device ID 0xD3)
The largest flash die you can practically buy right now is 16Gb, and you can get 32Gb dual-die packages that fit in the same location as the existing chips. So there's no footprint limitations holding up putting on a bigger part, excepting double-stacked TSOP packages which have four /CS lines.
(2) The NAND controller
The Nano uses a SST55LD019K NAND-to-ATA bridge, which isn't on SST's website. They do have 019A/B/C controllers which support SLC flash (not applicable here) and a 019M controller which supports MLC. I'm crossing my fingers that the 019K controller is identical to the 019M.
The 019M supports up to 32GB of NAND according to the datasheet. But it also has a 16-bit NAND data bus and eight flash /CS lines, and only 8 data bits and four /CS lines actually go to the NAND. Based on this, the upper limit for NAND could be 8GB off the bat. Secondly, the chip claims to support "up to 32M with external decoding logic", referring to a 'high capacity flash drive design' which I can't find anywhere on SST's site. So maybe the upper limit is the Nano's own 4GB anyway.
Another potential monkey wrench is section 5.0 of the 019M datasheet. When the device starts up, it scans the device ID's of flash memories on each flash /CS. If an unknown device ID isn't found, you have to do "manufacturing interface" stuff to configure the SST chip to support that particular device. I know the chip will work with 0xDC or 0xD3 NAND device ID's. But to go with a 16Gb die (for a 8GB player) then device ID 0xD5 has to be supported. I'll e-mail SST, but I'm not expecting a response.
So ultimately, I think I'll have to just plop a part on the board, cross my fingers and hope it works.
So now, question time... What happens if blank NAND is installed in the player?
Assuming that the SST chip is happy with the NAND device code, the blank NAND will automatically be detected and low-level formatted, and the ATA controller should then see a blank ATA drive. After that's done, the bootloader should be able to partition/format the blank ATA drive. Is support for this built into the iPod or Rockbox firmware?
Second question is, will the factory iPod firmware shit itself if it finds 8Gb?
Anyway, I think I'll end this post for now. If anyone has any comments or experience to add to what I'm doing, please post..