2

I wanted to calculate the lifetime of my SD-Card but i am not sure if i do it the correct way:

My SD-Card uses SLC Flash which can have about 100k write cycles. I write a new file to the card every second, the filesize is about 50 KB. With wear levelling the SD-Card spreads out the storage useage evenly. So my card has 1GB of memory, so a little more then 1*10^6 KB. Before the card is full i can always delete the old files, so i can say: 100*10^3 * (1*10^6 KB / 50 KB) = 2*10^9 is the number of how many files i can write on my sd-card till it probably breaks. So if I write a file every second, the Card should last 2*10^9 seconds = 63.4 years if i only look at the write cycles?

Can somebody tell me if that is about a good estimation or did i forget something to take in count here?

Jodo
  • 121
  • You have not taken into account the block size, nor how many blocks will be written for a 50KB file. – ChrisInEdmonton Jul 23 '15 at 13:42
  • I have read that most SD-Cards have a block size of 512 Bytes. Therefore i thought it doesnt make too much of a difference if the file is 50 KB big. – Jodo Jul 23 '15 at 13:57
  • 2
    What you haven't taken into account is: 1) many SD cards are made from junk 2) the controller often fails before the write life is exhausted 3) there is huge variability from batch to batch 4) reads also degrade them. It is impossible to reliably predict the life of a specific card. In general, SD cards, particularly cheap ones, aren't at the top of the reliability list. If your application makes it important to predict the card's life, you're probably using the wrong storage medium. – fixer1234 Jul 23 '15 at 16:20
  • Thanks fixer for the answer. Seems like i have to go with a higher quality sd-card then, because I dont have another storage medium option. – Jodo Jul 24 '15 at 13:07
  • I have similar though today. I have 32GB microSD card with maximum data rate 48MBps. So, to fill the full capacity using maximum data rate, it will take 32000MB / 48 MBps = 667 second (rounded up) = 11 minutes. To exhaust all 100k write cycle, it will take 1million minutes = 18k hours = 771 days. So, to make the card exhaust of it's write cycle, it will take constant writing using full data rate every second for 2 years. Any opinion about my calculation above? – Donny Kurnia May 14 '16 at 10:32

1 Answers1

0

Writing to SDCard has a lot of dependency on data writing patterns and chunk of data. It also depends whether is either MLC or SLC.

Haris
  • 1