I have lots of AM27C512 65k x 8b EPROMS (with the UV window) which are quite old (1980's.) Using a Xeltek SuperPro 3000U, most can still be read and verified. A few have failed outright and were replaced.

Question: Can these be successfully "refreshed" by reprogramming the same bit pattern back to them, without UV-clearing them first? They seem to take a reprogramming fine, but was curious whether this is moot without an erasure first.

Edit: Wanted to mention that so far, I've tried "refreshing" about 10 of these 256kB EPROMS. All of them read fine, were programmed (with the same data) fine, and verify fine. So "refreshing" hasn't seemed to hurt them at all. I'm still a little sketchy about whether this will make any lasting difference in their longevity however - answers are quite mixed.

  • \$\begingroup\$ Programming just flips bits from one direction to another. If somewhow coincidentally all bits were already in the opposite direction and just flipping some did the job, thats fine. They might have been empty already. \$\endgroup\$ – PlasmaHH Sep 14 '18 at 12:10
  • 1
    \$\begingroup\$ Why not UV clear them? Put them out in sunlight for a few days... \$\endgroup\$ – Dirk Bruere Sep 14 '18 at 12:46
  • \$\begingroup\$ @DirkBruere Not enough to erase it, just flip some bits back. You need a UV-C source. \$\endgroup\$ – winny Sep 14 '18 at 17:46

When the EPROM is erased, all the bits are typically read as ‘1’, so each byte is 0xFF.

That is the way they will tend to age, with time and high temperature or radiation.

If you don’t have access to a suitable high intensity short-wavelength UV lamp to erase the chip you may able to refresh the EPROM, there is nothing in the EPROM itself preventing it. A given programmer may or may not permit this- for example the OTP micro controller programmer we use for NXP parts performs a non-optional blank check before programming, so it’s not possible to (say) add serialization to a blank area of the memory of a device that has already been programmed.

Of course this only applies if you are programming the exact same pattern into the EPROM. Even if the data is equivalent but not exactly the same, the attempt will almost surely fail.

Germicidal lamps can be found in water treatment units but take care of exposure to the light which can cause skin burns including corneas. EPROM erasers, usually equipped with proper interlocks and timers, are cheaply available on eBay etc. You could also try leaving it out in direct sunlight (no glass or plastic over top of the quartz window) for a few days. I'm told that will will work, never tried it. It would be better to monitor the EPROM for erasure and then expose it for several times longer than required to read all 0xFF to ensure full erasure, otherwise those '0' bits could come back under different conditions of voltage or temperature.

  • \$\begingroup\$ Here's a (long-winded but interesting) video of a UV-C 10vDC lamp. \$\endgroup\$ – rdtsc Sep 17 '18 at 14:45
  • \$\begingroup\$ @rdtsc Interesting! Kind of similar to the way conventional fluorescent tubes work but with a much hotter filament that is powered continuously. Thanks. I notice that eBay lists "germicidal" lamps that are clearly not (they're useless UVA black light bulbs), so caveat emptor. \$\endgroup\$ – Spehro Pefhany Sep 17 '18 at 15:14

If you are repairing equipment it's best to buy a new, functional EPROM and program it with the right data. As a quick hack for some equipment that isn't going to a customer I think reprogramming an EPROM that is suffering from "bit-rot" with the correct pattern is an OK short-term fix.

You can't damage the EPROM by reprogramming already-programmed locations, so there are no worries there. The main issue is that bits that have flipped from '0' to '1' can be fixed by reprogramming, but bits that are stuck in the '0' state can't be restored without UV erasure. So reprogramming a programmed EPROM can only fix one of the two failure modes.

Anecdotally in this situation I have found erasing and/or reprogramming old faulty EPROMs doesn't always restore the EPROM to a fully functioning state and some locations remain incorrect no matter what. That's why getting a new EPROM as a replacement is always best, and it extends the lifetime of whatever you're servicing quite a bit.

  • \$\begingroup\$ Have you tried buying a new UV EPROM recently? \$\endgroup\$ – Finbarr Sep 14 '18 at 16:45
  • \$\begingroup\$ Yes. If you want higher capacities (27c801, 27c322) they are harder to get which is what I'm guessing you are referring to. OTP parts are also still available. \$\endgroup\$ – user185972 Sep 14 '18 at 16:59
  • \$\begingroup\$ You can probably get FLASH or EEPROM with the same pinout as the UVPROM to replace the bad UVPROMs. \$\endgroup\$ – Peter Bennett Sep 17 '18 at 15:07

Refreshing it is basically recharging the previously charged cells. This requires no discharge operation which requires UV-C light. Second law of thermodynamics implies that no cell will accumulate charge without any force affecting it, so all the cells that discharged before will remain in this state.

So, it has to be fine to refresh it this way.

  • \$\begingroup\$ It doesn't have to be fine IF the EPROM uses dummy cells; some manufactured devices used half-value cells to set the logic threshold, and that means there are cells that you cannot refresh, that matter. \$\endgroup\$ – Whit3rd Sep 15 '18 at 2:05
  • \$\begingroup\$ @Whit3rd how do the dummy cells get their charge? \$\endgroup\$ – Jasen Sep 15 '18 at 20:23
  • \$\begingroup\$ @Jasen - at chip test time, automated test equipment probes connect to a programming contact that is never wired to an external user-accessible pin, to do the dummy-cell programming. This makes MLC (multilevel cell) more reliable, where it takes several (not just one) threshold levels to implement the sense amplifiers. \$\endgroup\$ – Whit3rd Sep 15 '18 at 22:32

The short answer is no.

The longer answer is that, sometimes, if you're very lucky (as in unreasonably, insanely lucky) it can happen.

An erased EPROM of this sort has all bits set to a logic one. As PlasmaHH has commented, programming simply flips bits - in this case, it leaves all ones as ones, and flips the others to zero. What it cannot do is flip zeros to ones - that is what erasing is for.

So, if you just happen to have a new data set which which has no ones where the existing PROM has zeros, you're golden. The programmer will change the necessary ones to zeros, and will successfully attempt to produce zeros on bits that already are.

As you might guess, having this happen on a 512K PROM is, how shall I put it, wildly unlikely.

  • 7
    \$\begingroup\$ But when he talks about "refresh" I take it to mean programming the same code back in as they had originally. That ought to be possible as long as the programmer doesn't complain about the device not being blank at the start. \$\endgroup\$ – Finbarr Sep 14 '18 at 12:30
  • 2
    \$\begingroup\$ Yes I have the images which go back on these chips. So it is the same bits. \$\endgroup\$ – rdtsc Sep 14 '18 at 15:26

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.