Electronic – Why the sector erase time change in the new Nor flash cause the driver cannot work

driverflash

I'm working on an application involving NOR flash chips. I had to switch chips halfway through the design process. The stated differences between the new and old chips are only 'Device ID' and 'sector erase time'. I thought I could get by without rewriting my flash driver given the small differences, but the driver for the old chip doesn't work with the new one.

Why does the sector erase time matter so much for the driver? How do I change it?

Best Answer

The sector erase time matters to any driver because it is a bit of timing that is necessary to use the chip correctly. Flash chips have erase times, which is how long the special erase voltage must be applied to the cells to guarantee they are erased. If this minimum time isn't met then cells may not be fully erased, which is in effect a data error.

Some chips may also have a maximum erase time. Some chips require the external hardware to perform erase timing, others perform internal timing and set a status bit when erase is complete. In that case a driver would either have to wait the maximum possible erase time, or poll the bit to ensure erase has completed before proceeding to other operations.

As with any specification, violating it means that none of the other parameters can be relied on any longer. If this chip self-times erase and sets a bit when complete and the existing driver polls this bit to determine erase completion, then no modification to the driver should be required.

In any case, thinking you can "get by" violating a spec just because it's only off a little is very very bad practise and you should be ashamed of yourself for even considering it.