Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Data Storage Hardware IT

USB Flash Drive Life Varies Up To 10 Times 192

Lucas123 writes "Differences in the type of memory and I/O controllers used in USB drives can make one device perform two or three times faster and last 10 times longer than another, even if both sport the USB 2.0 logo, according to a Computerworld story. While a slow USB drive may be fine for moving a few dozen megabytes of files around, when you get into larger data transfers, that's when bandwidth contrictions become noticeable. In 2009, controller manufacturers are expected to begin shipping drives with dual- and even four-channel controllers, which will increase speeds even for slower drives."
This discussion has been archived. No new comments can be posted.

USB Flash Drive Life Varies Up To 10 Times

Comments Filter:
  • Re:FS (Score:4, Informative)

    by Chlorus ( 1146335 ) on Friday June 13, 2008 @12:33AM (#23774381)

    I assume the article is talking about flash drives. Are there any filesystems designed to specifically target these drives? The drives probably don't include any fault-tolerance, but a filesystem could, in theory.
    There's exFAT, http://en.wikipedia.org/wiki/ExFAT [wikipedia.org] , but there's no free software implementation as of yet.
  • Re:FS (Score:5, Informative)

    by Tubal-Cain ( 1289912 ) on Friday June 13, 2008 @12:39AM (#23774399) Journal
    Yes, [wikipedia.org] there is [wikipedia.org]. But those are designed for raw access to the flash medium. The drive's controller provides a facade of having a whatever you formatted it as.
  • by LarsG ( 31008 ) on Friday June 13, 2008 @01:34AM (#23774713) Journal
    Because SLC is both faster and more durable than MLC?
  • by clarkn0va ( 807617 ) <<apt.get> <at> <gmail.com>> on Friday June 13, 2008 @01:41AM (#23774767) Homepage

    Firefox will be completely unresponsive, not even redrawing itself when a window that was obscuring it is moved, until the drive stops flashing, and then Firefox will instantly come back to life.
    I run FF3 RC1 portable in Windows xp from my dual channel flash driver (fast?) and I experience the same thing just as you have described it. I turned off caching and cookies in FF's options and I found that the unresponsive pauses immediately became shorter and less frequent, although they are still occurring.

    db

  • by aaronbeekay ( 1080685 ) on Friday June 13, 2008 @02:29AM (#23775047) Homepage
    From my limited experience trying to do what you're talking about, it's a royal PITA and not fun to attempt. For me, though, the PITA was trying to get XP to work with USB *and* the EFI on my MacBook Pro-- it was just so much work that I eventually gave up and did it a different way.

    You're talking about writing an ISO filesystem with free-software tools, though-- that shouldn't be too hard to do. Assuming that you're OK with using Microsoft's cabextract tools to get inside the install files you need to modify, you can use makeisofs (or mkisofs, something along those lines) and roll it up that way. That's not the hard part.

    Good luck to you.
  • by Bryan Ischo ( 893 ) on Friday June 13, 2008 @03:08AM (#23775155) Homepage
    I used all of the techniques you described (cabextract, mkisofs, etc). The problem I *think* was experiencing is that the Windows installation CD-ROM also includes an El Torito boot sector, which has to be duplicated correctly in the modified disk that you create with mkisofs. And mkisofs has support for El Torito, but I couldn't figure out how to extract the boot sector from the CD-ROM drive in such a way that I could re-write it with mkisofs and have it be able to actually boot the CD-ROM. I tried using other techniques to boot the Windows install CD-ROM that I created (since it wouldn't boot itself because of the aforementioned boot sector problems), such as booting from another media and running the install CD-ROM's install process from, but they always failed at a certain point when I attempted to select the NTFS partition on the flash drive for installation to. I tried a bunch of different things, based on guesses on what was going on, and nothing worked.

    It's a tricky enough process that I think that you really do have to do *exactly* the steps that the howto's tell you to do, using the exact same software in the exact same way, or else some bit or other ends up not being exactly correct on the install CD that you create and it just doesn't work. I imagine that the people that came up with the howto must have gone through many, many attempts before they finally found a set of magical incantations that worked. And without using that exact same set, I essentially have to iterate in the same way to find my own set of magical incantations. And I just didn't have the time or energy for that. After trying the obvious stuff, I just gave up.
     
  • by aaronbeekay ( 1080685 ) on Friday June 13, 2008 @03:14AM (#23775191) Homepage
    Ah. I think you went a bit more in-depth than I did. I suppose that's good-- it gives me the reassurance that if I had tried just a little bit longer, I still would have failed. :]

    If you ever attack it again, I'd look at WinClone for some insight. It's a piece of Mac software ostensibly dedicated to cloning NTFS partitions, but it includes a lot of helpful output on exactly which bits it's setting to make the durn thing bootable. Maybe you've already gone through that-- and maybe it's not applicable at all-- but I remember seeing it and thinking "oh, hey, that's a good place to learn about Windows boot sectors". Pretty good FAQ on the site, too.
  • Re:FS (Score:5, Informative)

    by linhux ( 104645 ) on Friday June 13, 2008 @04:52AM (#23775571) Homepage
    There is a Journalled Flash File System [wikipedia.org].
  • Re:FS (Score:4, Informative)

    by Hal_Porter ( 817932 ) on Friday June 13, 2008 @05:14AM (#23775659)
    exFAT isn't 'designed for USB flash devices'. Filesystems in fact don't need to be 'designed for USB flash devices' because those devices (assuming they last more than a couple of days) do wear levelling under the filesystem layer. It's a hacked up version of FAT that works past on drives bigger than 2TB or files bigger than 4GB. Since it's non back compatible and Microsoft have a new found business model of IP licensing I suspect there won't be any third party implementations. Curently there isn't a spec published for exFAT and it would be easier to patent some key part of a new filesystem than one which is back compatible with FAT.

    Mind you it's still free in the sense that you don't pay for it. I'm just annoyed by people using "free software" as a synonym of the business model they favour and expect everyone to know what they mean. Microsoft could claim according to the dictionary that exFAT is free and they'd be right. The FSF doesn't own the word and can't define it. But the exFAT specification is not published (the Sun version of Open Systems) and even if it were the standard would most likely not be an open one in the sense that you don't need a license to implement it (the PC industry criteria for an Open System). Maybe it will be of course, I haven't heard a statement from Microsoft on exFAT openness and licensing.
  • by blind biker ( 1066130 ) on Friday June 13, 2008 @05:37AM (#23775723) Journal
    Mod parent up! This is the heart of the problem right there: manufacturers don't write whether the USB drive (or SD card, or any other Flash RAM device) uses SLC or MLC Flash RAM. But that's the main difference. SLC Flash will survive 100.000 write/erase cycles, MLC only about 5000. That's a HUGE difference. Especially if you use the USB drive to host an OS that likes logging a lot. Each log write implies the whole Flash RAM block (usually 128 KB) to be erased and then written to.

    Logging is the Flash RAM killer.

    And Kingston and Sandisk should start putting "SLC" or "MLC" on their products, so we techies know whether they are worth the double price.
  • Re:FS (Score:4, Informative)

    by the_womble ( 580291 ) on Friday June 13, 2008 @06:16AM (#23775891) Homepage Journal

    You mean those USB tape drives we've all been hearing so much about?

    I mean USB hard drives. You may not have heard of them, but they exist. I use one.

    You evidently did not RTFA. The first sentence is:

    Most USB 2.0 flash drives look the same, but that doesn't mean they perform the same.

    The summary does not use the word flash, at all.

    I was not saying "RTFA", I was saying: 1) Your assumption is correct
    2) The summary should have made it clear so you did not need to make an assumption.

    I assume the idiot who modded my comment flamebait also misread it the same way you did. Did you bother reading my comment and the parent properly before replying?

  • Re:MARKETING! (Score:3, Informative)

    by Nursie ( 632944 ) on Friday June 13, 2008 @06:49AM (#23775999)
    Well look for the ones from reputable companies that sell themselves on speed.

    Like Corsair, OCZ or Patriot sticks. If you do your research on the net first then you'll be ok. It's when you walk into a store and they have a selection af candy coloured novelty thumb drives, that's when you're going to get shafted.

    Personally I like the Patriot Xporter XT, I use it as a main disk on my NSLU2 debian box. It's not quite as quick as a normal HDD, but it's not bad. Corsair's voyager range are the defacto standard on fast, high capacity USB sticks right now though.
  • by ArtemaOne ( 1300025 ) on Friday June 13, 2008 @08:07AM (#23776373)
    I'd recommend 8GB or higher compact flash, plus a CF to IDE or SATA adapter, easy to find on most sites like Newegg. It'll show up as a normal hard drive, and easy to install XP on.
  • by TeknoHog ( 164938 ) on Friday June 13, 2008 @08:32AM (#23776571) Homepage Journal

    And Kingston and Sandisk should start putting "SLC" or "MLC" on their products, so we techies know whether they are worth the double price.

    I was just discussing this the other day, and my friend found this: http://www.kingston.com/ukroot/flash/flashendurance.asp [kingston.com]

  • Re:MARKETING! (Score:5, Informative)

    by mollymoo ( 202721 ) on Friday June 13, 2008 @09:38AM (#23777305) Journal
    Corsair were awesome till a few months ago when they dumped SLC. My 16GB Voyager GT is a stick of shit. Oh yeah, streaming performance is great at 25MB/sec and random reads are pretty good too. Streaming writes are better than average at around 15MB/sec. But for random writes it's just awful. How does 10-20 writes per second sound? Crap? It is.

    I tried to use one as the boot drive in my Eee PC and it was glacial. There also seemed to be some kind of pathological interaction between the MCL Voyager GT and Linux's CFQ IO scheduler - when performing a lot of writes the machine would lock solid for several seconds at a time, it looked like reads were being squeezed out. I never did boil it down to a clean test case though. Switching to the deadline scheduler improved matters substantially. While investigating that I realised Linux doesn't have an optimal scheduler for flash drives, they're all built around reducing and consolidating head seeks. no-op (which as the name suggests is just a FIFO with no real scheduling at all) is the fastest scheduler for USB flash, but you get no fair scheduling at all - you have to wait for that 500MB write to finish before your 100-byte read gets its turn. At least some of no-op's better performance is down to it not being anticipatory - it doesn't wait a few milliseconds after an IO to see if the process that requested the previous read/write requests another near by. That's just a waste of time with flash which doesn't have a physical head to seek.

    There's a fair bit of tuning you can do at runtime with Linux's IO schedulers, read the docs in /my/linux/source/Documentation/block.

    If you want fast, look at the old, 8GB SLC Voyager GTs. 30MB/sec read, 25MB/sec headline figures don't sound that much better, but in the real world they can be 3x faster at writes than the newer MLC models thanks to overwhelmingly better random write performance.
  • by NotQuiteReal ( 608241 ) on Friday June 13, 2008 @09:51AM (#23777447) Journal
    Heres a few random tests on some flash drives I have:

    a) Sony Tiny 2GB: 6.2 MB/sec
    b) SanDisk Cruzer 2GB: 7.1 MB/sec
    c) Patriot Xporter 2G: 14.2 MB/sec
    d) Patriot Xporter 8G: 11.7 MB/sec
    e) PQI 4GB: 1.5 MB/sec

    a & b seem like "typical" drives. c was supposed to be fast, and it is! I liked it so much I bought d. Drive e was a big mistake - impulse buy without knowing the specs. It is too slow to use (45 minutes to fill it up.)

    Alas, the Patriot 2GB just went in under RMA yesterday. It was the most used, but became unreliable after 18 months.

    The crappy PQI stick, by far, has the nicest case - anodized blue aluminum. The Patriot units are kind of bulky rubbery things that are often too fat to fit next to an in-use usb port. I wish they were smaller.

    The Sony Micro Vault Tiny units are the best form factor - the size of a thumbnail stuck to just the guts of a usb connector. This unit is great for plugging into the front of the DVD player without fear that someone will walk into it hanging out the front of the stereo shelves.

    Anyhow, I will never buy a flash drive again without looking at reviews and speed ratings to at least have some hope that it is no worse than average, and I will pay extra for faster.

  • by mollymoo ( 202721 ) on Friday June 13, 2008 @10:40AM (#23778109) Journal

    I installed Arch Linux on a cheap 2 GB Patriot flash drive. It boots pretty quickly and overall performance seems good, even for a cheap drive. However I don't do hugely disk intensive tasks with it.

    One annoying thing I have noticed is that programs will periodically completely freeze up and I'll look over and notice that the activity light on the drive is flashing. A common experience is that Firefox will be completely unresponsive, not even redrawing itself when a window that was obscuring it is moved, until the drive stops flashing, and then Firefox will instantly come back to life.

    I touched on this in an earlier post, but I experienced the same thing and tracked it down to the CFQ IO scheduler. I never got round to making a clean test case so never submitted the bug to the kernel. My wild-ass guess is that it's assuming reads and writes take equal time when they don't with flash, which confuses its notion of "fairness". It's a pity CFQ doesn't seem to work well with flash, as it has some tasty features like being able to ionice your backup process so foreground tasks get priority. It's not just me who things CFQ aint great for flash - the default kernel on an Eee PC doesn't even have it compiled in, despite CFQ being the default scheduler for the kernel version they use (it's still the default now, you're almost certainly using it).

    The IO scheduler operates at the block device level, below the page cache daemon, so in theory even when dumping cache it shouldn't starve your reads and writes out. That's pretty much the point of having a clever IO scheduler - not having to wait for a 5 GB IO to finish before you get to read the 100 byte file you're blocking on. Mostly that's what Linux's schedulers do. But CFQ with a flash drive? Not so much.

    You can change the IO scheduler and tune it at runtime, which is very handy indeed. This shouldn't cause data loss, and I've not had any problems.

    I'll assume your flash drive is /dev/sda, change sda as appropriate.

    To see which IO scheduler you're currently using and those available in your kernel:

    $ cat /sys/block/sda/queue/scheduler
    noop anticipatory deadline [cfq]

    That shows I have all four schedulers available and CFQ is currently in use. To change it, just echo the name of the new one to that file:

    $ echo deadline > /sys/block/sda/queue/scheduler
    $ cat /sys/block/sda/queue/scheduler
    noop anticipatory [deadline] cfq

    I found the deadline scheduler had much better interactive performance that CFQ when booting from a flash drive.

    Changing the scheduler as detailed above needs to be done after every boot and for every device. If you want to use a particular scheduler as the kernel default for all devices, either choose it at kernel compile time or pass the "elevator" parameter to your kernel in your bootloader config. For example, "elevator=deadline" makes the deadline scheduler the default. If you use grub, tag that on the end of the kernel line in /boot/grub/menu.lst.

    There are tuning "knobs" for each scheduler. Read the docs in /linux/source/Documentation/block for the gory details. I tuned my system to use the deadline scheduler, group IOs less (no head seek penalty) and prioritise reads over writes (things regularly block on reads but less so on writes, which can be cached anyway - remember we're working below the level of the cache). Read the docs to understand the gory details - note that these tunables are for the deadline scheduler, they're different for different schedulers. They're not very scientifically selected and not exhaustively benchmarked so you may be able to do better. The numbers for expire are in milliseconds. This lot will dispatch IOs individually (instead of in groups of 16), do 10 reads for every write, prioritise a read a

UNIX is hot. It's more than hot. It's steaming. It's quicksilver lightning with a laserbeam kicker. -- Michael Jay Tucker

Working...