Are USB mem­o­ry sticks real­ly that bad?

Last week my ZFS cache device – an USB mem­o­ry stick – showed xxxM write errors. I got this stick for free as a pro­mo, so I do not expect it to be of high qual­i­ty (or wear-leveling or sim­i­lar life-saving things). The stick sur­vived about 9 months, dur­ing which it pro­vid­ed a nice speed-up for the access to the cor­re­spond­ing ZFS stor­age pool. I replaced it by anoth­er stick which I got for free as a pro­mo. This new stick sur­vived… one long week­end. It has now 8xxM write errors and the USB sub­sys­tem is not able to speak to it any­more. 30 min­utes ago I issued an “usb­con­fig reset” to this device, which is still not fin­ished. This leads me to the ques­tion if such sticks are real­ly that bad, or if some prob­lem crept into the USB subsystem?

If this is a prob­lem with the mem­o­ry stick itself, I should be able to repro­duce such a prob­lem on a dif­fer­ent machine with a dif­fer­ent OS. I could test this with FreeB­SD 8.1, Solaris 10u9, or Win­dows XP. What I need is an auto­mat­ed test. This rules out the Win­dows XP machine for me, I do not want to spend time to search a suit­able test which is avail­able for free and allows to be run in an auto­mat­ed way. For FreeB­SD and Solaris it prob­a­bly comes down to use some disk‑I/O bench­mark (I think there are enough to chose from in the FreeB­SD Ports Col­lec­tion) and run it in a shell-loop.

14 thoughts on “Are USB mem­o­ry sticks real­ly that bad?”

  1. Lars Hartmann says:

    Yes they are – from my expe­ri­ence, most sticks won’t sur­vive that long..

  2. Pingback: Tweets that mention Are USB memory sticks really that bad? | Alexander Leidinger -- Topsy.com
  3. mth says:

    Curi­ous if you are run­ning amd or intel? I have heard sim­i­lar sto­ries on sev­er­al amd chipsets.

    1. netchild says:

      This is with an Intel ICH5 chipset. And the first stick was work­ing 9 months with­out prob­lems, so I doubt this is Intel vs. AMD here.

  4. ivoras says:

    Try the fsx test from src tools – it does a ran­dom mix of var­i­ous IO.

  5. Freddie says:

    I’m inclined to believe it’s bad sticks, and not bad USB stack.

    I use a San­Disk U3 Cruzer Micro 2 GB USB stick for the OS at home (FreeB­SD 8.1‑STABLE). Has sur­vived many install­worlds as the sys­tem start­ed with 6.something, and I like to fid­dle with ker­nel options so there’s a lot of writes going to it every 6 weeks or so. This stick was also used for doc­u­ments before being co-opted for OS installs.

    I also use a 4 GB Jet­Flash for L2ARC and swap in the above sys­tem. Been run­ning fine for sev­er­al months now, and sits at 90% full all the time. No prob­lems so far.

    How­ev­er, 2x 2 GB Kingston USB sticks died on me with­in weeks of each oth­er, and with­in a month of being put into use on a serv­er. Even as L2ARC devices, they could­n’t keep up and would just drop off the USB con­troller. Try­ing to use them as sim­ple flop­py replace­ments did­n’t work too well, either.

    I have anoth­er 1 GB stick at home that worked fine for about 3 months, and then just stopped being detect­ed in Win­dows XP, Kubun­tu 9.something, or FreeB­SD 8.x.

    It’s very much hit-and-miss on whether or not a USB stick is going to be fast (read or write) and how long it’s going to last. Unfor­tu­nate­ly, nei­ther price nor name brand seem to be reli­able deter­mi­na­tions of the USB stick­’s qual­i­ty, endurance, or speed. 🙁

  6. David says:

    Quote http://en.wikipedia.org/wiki/Flash_memory:

    > Mem­o­ry wear

    > Anoth­er lim­i­ta­tion is that flash mem­o­ry has a finite num­ber of program-erase cycles (typ­i­cal­ly writ­ten as P/E cycles). Most com­mer­cial­ly avail­able flash prod­ucts are guar­an­teed to with­stand around 100,000 P/E cycles, before the wear begins to dete­ri­o­rate the integri­ty of the storage.[7]

    Dudes!!

    It’s how the tech­nol­o­gy works

    1. netchild says:

      And because of this I thought the first stick was “fin­ished”. But the sec­ond stick which did not even sur­vive a long week­end, was “fresh”.

  7. netchild says:

    I con­nect­ed the first USB mem­o­ry stick which was fail­ing to a Solaris 10u9 machine. I cre­at­ed a ZFS on it (to be able to detect silent cor­rup­tions), and am run­ning some tor­ture tests. 

    In the morn­ing I had fsx run­ning on it, but it did not eat up a lot of mem­o­ry on the stick, so I switched to postmark.

    Since about 4 hours I have post­mark run­ning on it to test for prob­lems. So far ZFS did not detect any corruptions.

    I will let it run the whole night, and if there are still no prob­lems tomor­row, I assume the stick is OK (as it will have had much more traf­fic seen dur­ing this time than it would have had in an entire week as a ZFS cache device on my machine at home).

  8. netchild says:

    It seems that at least those sticks I have, are not that bad.

    I test­ed the first stick which failed first on Solaris 10u9 and the sec­ond stick with anoth­er FreeB­SD machine, and both do not show traces of prob­lems there. The first stick attached back to the machine which exhib­it­ed the prob­lems ini­tial­ly shows prob­lems again.

    To deter­mine if it is the USB hard­ware or the FreeB­SD USB ker­nel sub­sys­tem, I will step by step update the oth­er FreeB­SD machine which did not exhib­it the prob­lems to more recent ver­sions of FreeB­SD (bina­ry search) until I encounter a prob­lem with the USB stick (or arrive at the same FreeB­SD ver­sion as the machine with the problems).

  9. ackstorm says:

    In FreeB­SD 8.0 I was using a 250GB USB Sea­gate dri­ve as my mir­ror in ZFS. When I installed 8.1 I found my device could no longer sync to the inter­nal disk any­more. It always had write errors and reset the sync, over and over, nev­er finishing. 

    The dri­ve works fine on 8.0 or on Lin­ux, maybe you are on to something…

  10. netchild says:

    Did you con­sid­er writ­ting to usb@ with your prob­lem? I have the impres­sion that your prob­lem is a dif­fer­ent one (and can maybe solved with a lit­tle quirk-entry). If you did­n’t write to usb@ I sug­gest to do it. Pro­vide them a copy&paste of your USB relat­ed dmesg out­put and of the error messages.

    I only have some­times write errors, not always. And I do not have sync-resets for sure.

  11. netchild says:

    After a lot of test­ing with two machines, I am now at a point where I think the EHCI part of the ICH5 chipset of this machine is dying (and the USB mem­o­ry sticks are still work­ing cor­rect­ly when attached to anoth­er machine).

  12. itetcu@ says:

    I’ve used two 1GB King­max Super Stick on my desk­top as cache devices (I run a zRAID2 on it). They both gave up at a few days inter­val after some 6 – 7 months. So used this way, I’d say they are bad enough.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.