2
\$\begingroup\$

I am currently working with a NAND flash that I want to dump. The goal is to take a look at the data that is stored in the filesystem.
To do so I soldered 8 wires to the NAND flash to access it while it was still placed on the PCB. To read out the memory I used a Bus Pirate.
I managed to dump the entire flash like that but when I started to retrieve the data I ran into a bunch of problems.

After some research I found out that it can be problematic to access the NAND flash while it is still located on the board because it is possible that the CPU gets powered up during the process and corrupts the dump.
The best way to handle this would be probably desoldering the NAND flash from the board and dumping it again.
However I know that the CPU has a reset pin on the board that becomes active when it is pulled to ground. What I am asking myself is would it be also a viable to establish a connection between the reset pin and a ground pin (e.g. connecting them with a wire) to hold the CPU in reset and to dump the content of the flash afterwards or do I really have to desolder the flash from the board?

\$\endgroup\$

1 Answer 1

2
\$\begingroup\$

This depends on the design. To dump contents of the flash chip it must be powered, and the driving device (driving outputs) on the PCB must be in high impedance (Hi-Z) state. If you have flash connected to the processor directly and you are sure, in reset condition, having consulted its datasheet, that it will pull all flash-connected/related signals to Hi-Z, then you will be able to dump the flash easily. However if there's any active buffer device in between which is not going to Hi-Z on reset condition you will not be able to perform the dump.

\$\endgroup\$
3
  • \$\begingroup\$ This might be a very basic question but just out of sheer curiosity, can you explain why the driving device must be in high impedance state? Is it possible to say what would happen exactly if that wouldn't be the case in general or is that chip specific? \$\endgroup\$
    – Ramazuri
    Commented Feb 28, 2020 at 10:07
  • 2
    \$\begingroup\$ It is bad idea to have two active outputs on the wire (unless they are open collector) - there will be electrical conflict, and logical levels may be undefined - and thus data corrupt. You must ensure there's only one active device driving the chip at a time of your dumping, and it s your dumping device. \$\endgroup\$
    – Anonymous
    Commented Feb 28, 2020 at 10:10
  • \$\begingroup\$ Ok I see, thank you for the explanation \$\endgroup\$
    – Ramazuri
    Commented Feb 28, 2020 at 10:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.