So I took it upon myself to answer the question of “what are the best and cheapest microSD cards out there?” This includes evaluating whether they’re fake flash, how well they perform, and how many read/write cycles they can endure before they start failing. So far I’ve tested four to the point of failure, I have 37 being tested right now, and I have 21 more waiting to be tested.

Sorry for the horrendous cable management — I have cable ties on order.

  • mikaey00OPB
    link
    fedilink
    English
    arrow-up
    1
    ·
    10 months ago

    If the data being written is random how do you know what was written? Is it a known pattern?

    Essentially, yes. I use the random()/srandom() calls in the C library, which generates random numbers in a deterministic fashion using a given seed as the starting point. I generate unique seeds for each segment and each pass. When reading back a particular segment, I just set the seed back to the same value that I used when I originally wrote the data.

    For perf randread/write test, why was 4KB chosen?

    Because that’s what’s dictated by the SD card specification.

    For endurance do you have access to any hardware metrics to compare the running test? The drives should be self reporting endurance, each vendor may vary slightly in how they express it

    Nope. SD cards don’t have SMART data like hard drives/SSDs do. I can’t find anything in the SD spec that tells you how to figure out how long the card has been operating or how much data has been written to it.