This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Periodic test needed for external RAM?????

Hi frnds,

while POWER ON the system i am checking External RAM memory.... but i am not checking the external RAM periodically.....whether the periodic test is needed are not???? Please clarify my doubt....

  • Why do you think that it is likely to be needed?

    Do you have some reason to believe that your external RAM is unreliable?

  • That depends a lot on your needs etc.

    Detect a problem or detect and repair?

    How often is the data modified?

    For static or semi-static data, you may consider checksumming structures, and regularly verify the contents.

    If you are looking for individual cell errors, you must walk through all cells, and try patterns while synchronizing with the normal operation.

    If a data line fails, your program will probably fail quite quickly unless it doesn't have critical state info there.

    If an address line fails, you will have to walk the different areas and check for alias-related changes.

    For errors in individual cells, you can normally quite easy write programs that can continue to work unhindered. For a failed data or address line, you will have a hard time to write a program that can continue to use the external RAM - the complexity of work-arounds make them too dangerous to add.

    In the case of multiplexed memory, data and address lines are normally the same.

  • I forgot to mention one thing.

    Are you looking for corrupt memory contents from sw bugs or from glitches in power supply or radiation? Or are you looking for permanently damaged memory cells/signal lines?

  • I have to check the memory if any location corrupted or not.....

  • ... is to a large extent a residual from the olden magnetic core days. Today the likelyhood of a RAM failure is extremely small.

    I have to check the memory if any location corrupted or not
    the only way to do that is to have 3 copies of the data. If, however, you mean I have to check the memory if any location bad or not then several algorithms are available. However to make such a test relevant, you need to be able to change Vcc to min and max for the test.

    Erik

  • Wrong contents, but not hw damage?

    That makes a big difference.

    Checking for hw damage requires you to save the current value, and then write test patterns and read back the test patterns.

    Checking for wrong contents requires you to use multiple copies of your data or to checksum the data, and then regularly compare the copies or recompute the checksum.

    To not just detect incorrect contents, but to be able to repair it, you will need >= 3 copies of the data to allow majority vote. Or you will need to compute and store some form of error-correction code where you may use two-dimensional checksums, Hamming codes or similar.

  • Why do you feel the need to check your memory?

    Without knowing the reason for your request, it is impossible to make appropriate suggestions!

  • while POWER ON the system i am checking External RAM memory.... but i am not checking the external RAM periodically.....whether the periodic test is needed are not????

    It's usually not necessary to check the RAM. For applications that require additional safety, options like ECC RAM exist. Also, if you do check the RAM, you'll need to handle a failed test, too. What is the device supposed to do if it detects that the contents of its RAM have become corrupted?

    What is more important is that on any failure (RAM isn't the only thing that can break), the device in question fails gracefully and doesn't kill people or do similarly bad things when it dies.