[HD2 General] motoi_bogdan:
when you actually flash your device, you simply write some nand memory blocks with some data. The same thing happens when you..let's say..install any app to the phone's memory. theslam08 is talking about the comparison between nand memory and ssd hard drives. Yes, they are the same thing in almost every aspect.

Because i happen to have studied nand flash chip datasheets from different manufacturers i can tell you some things. The internal memory of a phone is managed dynamically. Therefore, when you flash a rom, it will not be written on the exact same memory blocks as the one before. Different apps you install will also have different positions. Also, the flash controller chip (i believe it to be an atmega 32-64 microcontroller - for hd2) also makes sure that no individual block gets overwritten more often than other.

The only things that always have the same memory addresses on the chip itself are the steppingstone, ipl-spl chain and rom headers. If they are not in the exact same position the snapdragon chip cannot read them, it's hardwired to search for them in that exact spot. So if there were a real risk to flashing, these software parts would be most vulnerable. How much? Well, if i am to quote samsung and it's KS series nand chips (about 2007 generation, now things are better) each memory block should withstand about 100.000 write operations under normal conditions. Please take note that read operations doesn't count since they don't actually change the state of the memory block. This would signal that you can technically flash the ipl/spl (or hard spl) about 100.000 times.

About the rom itself, since it's not written on the exact physical block each time (the nand memory controller prevents this) it should be possible to reflash it, in theory, some million times. Actually the flash itself is a pretty basic file copy operation, the rom content is copied to the nand memory and then it is run from there. If you think flashing can damage the phone in time.. well think of the temporary processes involved when simply ..running the phone. Various temp files are written, other files are modified, apps are installed and create their own registry settings (if we talk about win mobile) those keys generate another write cycles, the temp files yet another write cycle and so on. By comparison, the actual flash operation generates fewer write cycles then.. let's say, about 10 phone soft resets or couple of days of normal - light usage.

Don't worry about that. About nand memory performance and write cycles.. another example.. i have a 8gb cf card onto a netbook motherboard. The cf (compact flash) card, is mounted as a hard drive and the OS - windows xp, boots form it and it's been run along with some applications. That's A LOT of write cycles. However even the cheapest 8gb card - the one being used, managed to withstand one year of usage in this pattern although consumer grade cf cards are NOT made to run OS's from them. Even now the card shows no damage/corrupt blocks/dead blocks.

I've been using windows mobile pda's/smartphones for some 12 years, servicing them for about 8 years and in the later times i've begun flashing by jtag or other low level ways. I haven't yet seen a device with dead memory blocks .. that have simply died out due to wear&tear. Yes, memory can become corrupted, you can develop bad sectors, but not because of normal usage. Usually you get them if you fail a flash process (disconnect the phone during flashing of sensitive portions of the rom) or as a byproduct of CPU/MCU failure or errors.