usb memory stick performance

A

Andy Fish

Hi,

I am struggling to understand why performance accessing my usb memory stick
is so bad and i wonder if anyone can throw any light on it

my hard disk gives about 40MB/sec for sustained transfers, but when it's
being thrashed (e.g. compiling) it's typically giving 1MB/sec. From this I
infer that during a compile, it's mostly seeking.

my memory stick can give 5-10mb/sec for sustained transfers but with
(presumably) very little seek time. so I thought that by moving the source
files (i.e. the data) onto a memory stick I would get better performance.
however, the performance is substantially worse (2-3x the time taken)

I know it's not the speed of the USB interface because if I use a USB hard
drive, there is a performance increase over having it all on the same disk.

the only conclusion I can draw from this is that the usb drive has a very
high seek time, which just doesn't make sense

Andy
 
M

M.I.5¾

Andy Fish said:
Hi,

I am struggling to understand why performance accessing my usb memory
stick is so bad and i wonder if anyone can throw any light on it

my hard disk gives about 40MB/sec for sustained transfers, but when it's
being thrashed (e.g. compiling) it's typically giving 1MB/sec. From this I
infer that during a compile, it's mostly seeking.

my memory stick can give 5-10mb/sec for sustained transfers but with
(presumably) very little seek time. so I thought that by moving the source
files (i.e. the data) onto a memory stick I would get better performance.
however, the performance is substantially worse (2-3x the time taken)

I know it's not the speed of the USB interface because if I use a USB hard
drive, there is a performance increase over having it all on the same
disk.

the only conclusion I can draw from this is that the usb drive has a very
high seek time, which just doesn't make sense

The performance of a FLASH based USB stick will depend on the architecture
of the FLASH chips themselves. There are in fact two supersets of
architecture that have vastly different single reads and sustained reads.
It should also be remembered that FLASH write cycles are comparatively slow,
because even if you change a single bit then the whole block of data has to
be erased and rewritten. Although all sorts of claims are made for read
speeds these generally only apply to a specifically optimised way of reading
the data from the memory core and then only if the reader firmware itself
plays ball. In general terms the speed of a FLASH stick is worse than that
of a hard disc, but having said that some of the very large FLASH chips (8
and 16 Gb) now have write speeds that give hard discs a run for their money.
 
U

Uwe Sieber

Andy said:
Hi,

I am struggling to understand why performance accessing my usb memory stick
is so bad and i wonder if anyone can throw any light on it

my hard disk gives about 40MB/sec for sustained transfers, but when it's
being thrashed (e.g. compiling) it's typically giving 1MB/sec. From this I
infer that during a compile, it's mostly seeking.

my memory stick can give 5-10mb/sec for sustained transfers but with
(presumably) very little seek time. so I thought that by moving the source
files (i.e. the data) onto a memory stick I would get better performance.
however, the performance is substantially worse (2-3x the time taken)

I know it's not the speed of the USB interface because if I use a USB hard
drive, there is a performance increase over having it all on the same disk.

the only conclusion I can draw from this is that the usb drive has a very
high seek time, which just doesn't make sense

That's because nearly all flash drives pretend to a removable
media, so Windows handles them am 'Removable drive'.
For FAT formatted 'removable' USB drives XP does not activate
a write cache:
http://www.uwe-sieber.de/usbstick_e.html#cache

Format it with NTFS, then it gets a write cache.


Uwe
 
P

Paul

Andy said:
Hi,

I am struggling to understand why performance accessing my usb memory stick
is so bad and i wonder if anyone can throw any light on it

my hard disk gives about 40MB/sec for sustained transfers, but when it's
being thrashed (e.g. compiling) it's typically giving 1MB/sec. From this I
infer that during a compile, it's mostly seeking.

my memory stick can give 5-10mb/sec for sustained transfers but with
(presumably) very little seek time. so I thought that by moving the source
files (i.e. the data) onto a memory stick I would get better performance.
however, the performance is substantially worse (2-3x the time taken)

I know it's not the speed of the USB interface because if I use a USB hard
drive, there is a performance increase over having it all on the same disk.

the only conclusion I can draw from this is that the usb drive has a very
high seek time, which just doesn't make sense

Andy

There are other drive formats beside USB. You can also get flash drives
in IDE or SATA format.

In this review, they note that it is possible to get a large number of
read operations a second, but writes are limited. The webserver benchmark,
which apparently is read intensive, shows good results for the flash
devices.

http://techreport.com/articles.x/13163/10

This article is also interesting, not so much for the benchmarks
(which don't expose all the caveats of such drives), but the reader
comments include some input from people working on software to
improve the apparent flash drive performance.

http://www.anandtech.com/showdoc.aspx?i=3167&p=3&cp=3#comments

"A lot of people miss what is happening with Flash SSD write performance.
When you do linear writes, the drives are very fast. When you do random
writes, they are very very slow. How slow depends on the drive. This
Mtron drive does about 125 writes/sec for "small" writes (up to about
64K blocks). This is actually very good compared with other drives. Other
Flash SSDs that we have tested range from 13 to 40 writes/sec. We even
tested one MLC Flash SSD that does 3.3 writes/sec (which is floppy speed).

You can look at detailed benchmarks for this drive both single and Raid-5 at:

http://mtron.easyco.com/news/papers/07-12-01_mtron-benchmarks.pdf

Bottom line is that, by themselves, Flash SSDs have trouble with small
random writes. This in inherent in the organization of the flash cells
themselves. If you want to see a "fix" for this, visit:

http://managedflash.com "

The benchmark doc helps to highlight what those drives are best at. The
drive prices are pretty steep.

Paul
 
E

Ed Covney

Format it with NTFS, then it gets a write cache.

Which, depending on circumstances, may not be a
good idea. For example, if I use a flash drive to
update music on my MP3 player, the MP3 player
won't recognize an NTFS drive.

Also, if there is no write cache, when windows
reports the copy is done, it's done! With write cache
enabled, you must flush the cache before removing
or chance a bad write.

Ed
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top