No announcement yet.

SD card failure

  • Filter
  • Time
  • Show
Clear All
new posts

  • SD card failure

    I'm running into the exact same problem as described in this post:

    There is mention in that thread of a program that was used by 4D Systems to check the SD card in Windows. I was wondering if I could get that program.


  • #2

    Built into Workshop4 is a 'uSD Tester' tool, which is found in the Tools Menu.
    This loads a program onto the module and tests the card in the module, and gives back some information.
    Is this what you are meaning?

    What brand of microSD card are you using?
    What capacity?

    What sort of application are you running?
    What is the environment? On the bench or out in the field?

    Typically when microSD cards corrupt in the field, it is caused by something called 'Read Disturb', which is present in all flash devices of SD cards nature. We have industrial microSD cards on offer which prevent this happening. Have a read of the Industrial microSD card page and see if these will help.



    • #3
      Update on this issue.

      Ran a test that read and displayed the same image repeatedly.
      After ~3 Million reads, no issues.
      After ~40 Million reads (let it run over the weekend), images "near" the test image got corrupted (but not the test image itself).
      This is consistent with read disturb.

      I was using standard, consumer uSD cards (Kingston, passed "fake" test, etc.)

      Ordered a few of the Industrial uSD cards from 4D Systems which arrived today. I'm running the same test on them.

      A couple of questions about the Industrial uSD:

      1. Are they SLC or MLC (or "pseudo SLC")? The Phison datasheet has specs for all 3.
      2. Any details on how the Read Disturb Protection actually works? Does the card's controller continuously read across the entire card, finds ECC correctable errors then refreshes that data?
      Or is it completely passive and the refresh only happens if data from a bad block is read?


      • #4
        As far as I am aware the cards are MLC (in the size that we have available, different capacities can be SLC, cost varies accordingly)

        AFAIK when an SD card reads a block (it can only read a block at a time, the block size is not generally published) there is an ECC associated with that block. When the ECC exceeds a certain (proprietary) threshold (i.e. a 'still correctable threshold') the block is rewritten.

        There is one brand that claims to 'continuously' read the card 'when idle'. I'm not sure how that could work properly with our uSD usage as the programs that tend to cause this sort of issue are never 'idle'.

        Can you send me your test program? We have never actually been able to cause this to happen, despite having run various tests for months. Please send to mark at 4dsystems dot com dot au along with any information required to set up the test and any 'environmental' or other possible possible exacerbating conditions