I have flash memory that I write assembly code on it.

I know that flash has limit cycle ( read/ write)

If I write a loop that run 100,000,000 times like

While x!=0

That takes 4-5lines on assembly code.

If assembly run on flash, so after 2-3 loops like that ,my flash memory will be damage?

  • 1
    \$\begingroup\$ What processor are you executing this code on? \$\endgroup\$
    – Daniel
    Apr 19 '18 at 18:49
  • \$\begingroup\$ As long as your loop isn't actually writing to the flash, it won't be worn out. Read endurance is effectively infinite. \$\endgroup\$
    – Dave Tweed
    Apr 19 '18 at 18:50
  • \$\begingroup\$ It only change the value of register. So is that fine? \$\endgroup\$ Apr 19 '18 at 18:54
  • 1
    \$\begingroup\$ The register will be implemented in flip flops or similar volatile memory within the CPU, not as flash memory, so this is perfectly fine. \$\endgroup\$ Apr 19 '18 at 19:59

The bits in your Flash EPROM have an endurance limit on programme-to-0/erase-to-1 cycles i.e. how many times a single bit can be programmed to 0 then later erased back to a 1.

This limit depends upon the particular Flash EPROM and technology used to make it. Typical numbers are 100,000 cycles, with down to 10,000 cycles and up to 1,000,000 cycles seen on various Flash implementations.

The number of reads has practically no upper limit - reads do not affect the life of the Flash EPROM. So you can read it as many times as you want.


On average it will be damaged on writes only, could be longer, could be shorter. It also depends on what kind of flash you have:

enter image description here
Source: Wikipedia

However, unless you have access to the flash's memory controller, you don't control which cells are written. This is controlled by the flash memory controller and it will keep track of the writes


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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