Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 3 of 3

Thread: SD Card vs EEPROM for storing byte arrays. Any disadvantages?

  1. #1

    SD Card vs EEPROM for storing byte arrays. Any disadvantages?

    I'm planning to switch from EEPROM (24LCxx) to SD cards for a new project and was wondering if there are any disadvantages of using SD cards. I already have a working prototype that reads and writes to SD cards just fine, but am just curious about SD card's durability as I have not field tested these before over a long period. I expect the device to be used for about 4-6 years.

    1. Is there any concern over data integrity (data being read back wrongly after a write)?
    2. Any lifespan disadvantages? EEPROM data are usually guaranteed for about 40 years (iirc). I know there is wear-levelling built into SD cards and I am probably going to use max 5mb out of a 4gb card so I don't think that will be an issue.
    3. Hardware disadvantages? Will contact points oxidise and cause problems over time?

  2. #2
    Senior Member
    Join Date
    Jul 2020
    Posts
    1,372
    Quote Originally Posted by tyzjames View Post
    I'm planning to switch from EEPROM (24LCxx) to SD cards for a new project and was wondering if there are any disadvantages of using SD cards. I already have a working prototype that reads and writes to SD cards just fine, but am just curious about SD card's durability as I have not field tested these before over a long period. I expect the device to be used for about 4-6 years.

    1. Is there any concern over data integrity (data being read back wrongly after a write)?
    2. Any lifespan disadvantages? EEPROM data are usually guaranteed for about 40 years (iirc). I know there is wear-levelling built into SD cards and I am probably going to use max 5mb out of a 4gb card so I don't think that will be an issue.
    3. Hardware disadvantages? Will contact points oxidise and cause problems over time?
    Judging from my digital camera over the years, yes data integrity is an issue - sometimes you get bad sectors appearing and
    damaging a file. I don't know if my camera verifies writes though. This kind of problem can be due to poor handling though
    (removing the card before fully powered down for instance).

    I've seen bad sectors appearing in builtin Flash chips too, such as on an old iPod. It all depends how vital your data integrity is to you,
    but adding redundancy is one approach to consider (2 SDcards, backup copies on one card, etc).

    But all of this is probably true of EEPROM too - the relative reliability of EEPROM v. Flash I don't know. At least with a
    built-in EEPROM you know exactly what chip you are getting compared to some SDcard. There's probably some research
    out there about reliability in the various non-vol memory types and form-factors.

    And yes SDcard socket contacts can be unreliable, I fairly often have to reseat an SDcard for it to be recognised, and this
    will depend both on the cleanliness and quality of the SDcard and the socket (fully gold plated for both is what you really want).
    I often remove and replace the card in my camera so there will be a wear-and-tear aspect to this - which may not apply to
    your circumstances of course.

    A sealed enclosure to avoid dirt ingress would be wise for long-term use.

    "field tested": is this indoors? industrial or office/domestic? Or outdoors?
    Will the device be disturbed (card removed) during its use, or is it install-and-forget?

  3. #3
    Thanks for the insights. It is install and forget - users don't see the card at all.

    I guess the only way would be to field test this to find out. Anyway I'm probably going to be using < 10mB out of a 4gB or 8gB card. Hopefully, with wear levelling, I never have to worry about the card wearing out.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •