Hi,
This is one of my first posts in this forum, so please be patient with me.
I would like to ask some help to get more clarity on the data transfer speeds through the USB. I use my phone as a memory stick to have windows programs on it and other data. I noticed that copying files between the PC and the phone is much slower that I expect. After extensive searching I found out that 4 main factors influence this:
SD Card specifications
The ROM I use
The phone's harware
Cluster size of the format on the SD card
I don't know which one is the limiting factor in my case, but I'm really curious and found out a plan how to sort it out. Please help me with running the following test on your Hero:
1. As prepataion please download and install Crystal Disk Mark. This is a disk benchmark software, open source, free and safe. Download from here:
crystalmark.info/software/CrystalDiskMark/index-e.html
(I'm not allowed to post links )
2. First turn off your phone and remove the SD card. Mount it in your PC's card reader using an micro-to-normal adapter.
3. Run Crystal Disk Mark for the drive that represents the SD card. Use settings: repeat: 5; size: 100MB.
4. Unmount the card and put it back to the phone. Turn phone on, connect to the computer with USB cable and mount the SD card from android.
5. Run Crystal Disk Mark for the drive that represents the SD card in the phone. Use settings: repeat: 5; size: 100MB.
6. Post the results like this:
1. Phone type (Hero GSM or Sprint)
2. ROM that you use
3. SD card specs: Brand, Size, Class, File system, Cluster size (if you know)
4. Results when card was tested in card reader
5. Results when tested in the phone via USB cable
Comparing the measured speed between the first and the second tests will tell if the phone is fully using the SD card capability.
If not, than comparing results from different ROMs will tell us if the ROM is involved or not.
If it is not the ROM that causes the problem than it can only be the phone hardware. In this case the maximum reported speed can be interesting as a reference maximum data tranfer speed for the Hero.
Here are my results:
1. HTC Hero GSM
2. Cyanogenmod 6.1.0
3. Transcend, 2GB, Class unknown, FAT32, 4K
4. Tested in card reader (read/write):
Seq 13.88/6.735
512K 13.88/2.042
4K 8.063/0.023
4KQD32 8.163/0.023
5. Tested in phone via USB (read/write):
Seq 8.375/3.556
512K 5.910/2.155
4K 0.958/0.081
4KQD32 0.999/0.085
I have another card as well:
1. HTC Hero GSM
2. Cyanogenmod 6.1.0
3. Kingston, 4GB, Class 4, FAT32, 4K
4. Tested in card reader (read/write):
Seq 13.97/8.321
512K 14.22/1.266
4K 3.154/0.011
4KQD32 3.168/0.011
5. Tested in phone via USB (read/write):
Seq 7.954/2.514
512K 9.420/1.193
4K 1.109/0.133
4KQD32 1.158/0.137
Thank you in advance for any future contributors!
Related
i get usb 1 speeds is this right?
what is the question??!?!
You've got USB 1 on Magician (for file transfer) if this is the question...
DocteurN said:
You've got USB 1 on Magician (for file transfer) if this is the question...
Click to expand...
Click to collapse
thanks, usb 2 would of been nice to fill up those 2gb cards :twisted:
Wrong.
Most likely the bottleneck for speed is the SD card itself, not USB (1 or 2). Generally large SD cards have awful transfer speeds - write is terrible, read is passable.
You can get "professional" SD cards with different transfer speeds, usually designed for professional photographers who need to take lots of high-quality (and hence BIG) photos really quickly.
> > This site < < has lots of them - search for "60x SD card" and have a look.
KevinL said:
Wrong.
Most likely the bottleneck for speed is the SD card itself, not USB (1 or 2). Generally large SD cards have awful transfer speeds - write is terrible, read is passable.
You can get "professional" SD cards with different transfer speeds, usually designed for professional photographers who need to take lots of high-quality (and hence BIG) photos really quickly.
> > This site < < has lots of them - search for "60x SD card" and have a look.
Click to expand...
Click to collapse
2gb ultra has high write speeds but not much point if the bottleneck is usb 1!
The bottleneck is not the SD. If I put my SD (regular Sandisk 1GB) in my USB2 card reader I get much higher speeds. I guess ActiveSync steals some speed to, but USB1 is really slow.
I recently got myself my first SD card - a 2GB Datawrite, which is supposed to do 20 MB/second.
Keen to find out the truth, I insert it into the SD drive on my laptop (HP nc6220) and measure:
~0.5 MB/second write speed
I then put it into the Prophet and measure (in TCMD):
~0.08 MB/second write speed
Is this the best I will ever get out of the device??? Read-speed seems to be okay.
I searched similar threads, but i found no proper answer to my question.
Is this a general android-build problem on the HD2?
I tried it with different PC's (XP/W7) and Roms (SD and NAND) and everytime
i get a only a transfer rate between 300 to 500 kbyte/s
(this is really slow! WM 6.5 connection was up to 10 Mbyte/sec)
It's a C10 sdcard and i already installed the SD read forward patch with 2048kb.
So internal reading/writing speed is not the problem.
What can i do to speed up the USB - Connection ??
(...please don't tell me to use a cardreader - this was not questioned!)
thanks!
there is a solution i believe... check out
http://forum.xda-developers.com/showthread.php?t=1010767
hellraiser-rh said:
I searched similar threads, but i found no proper answer to my question.
Is this a general android-build problem on the HD2?
I tried it with different PC's (XP/W7) and Roms (SD and NAND) and everytime
i get a only a transfer rate between 300 to 500 kbyte/s
(this is really slow! WM 6.5 connection was up to 10 Mbyte/sec)
It's a C10 sdcard and i already installed the SD read forward patch with 2048kb.
So internal reading/writing speed is not the problem.
What can i do to speed up the USB - Connection ??
(...please don't tell me to use a cardreader - this was not questioned!)
thanks!
Click to expand...
Click to collapse
I hate you man i was opening Q&A to post exactly about the same issue!
However i had a very satisfying SDcard read and write speeds, that is when i formatted it with SD formatter tool and WITHOUT any partitioning of it!
Today i wanted to try a sence build with EXT partition so i formatted the SDcard with the internal Partitioning tool of CWR to 1GB EXT. Then i formatted the SDcard (both FAT32 and EXT) with CWR.
I flashed a ROM and went to USB storage mode, and i was shocked!
The SDcard is now muuuuuuccccchhhh slower!!! Why is that?! And what can we do about it?!
kiki_tt said:
there is a solution i believe... check out
http://forum.xda-developers.com/showthread.php?t=1010767
Click to expand...
Click to collapse
Man he said that he applied that, besides that only affects internal speeds!
So can I just format my 32gb class 10 stick and run 1 fat32 partition and enjoy better performance or do we need the ext3 partition? Mines only like 200MB or so.
If using windows do you have some sort of Virus Scan going on. Is the USB hub on the computer really at USB 2.0 or more?
yep. It's a external powered 7 port usb 2.0 hub. When I plug the micro sdhc card into my usb card reader which plugs into the hub I get write speeds of 15MB/s+! Then I plug it in the phone and It pulls off 2MB/s barely. This is a CLASS 10 32GB Micro SDHC card. I changed the read_ahead_kb to 2048. No change. I'll test out 3072 and 4096. I think there's some driver issue with windows and the android usb driver or something. It's slow on several machines all operating at usb 2.0 specifications. Do we need to install software for the device? If so let me know! I get an unknown device when i plug the phone in and not usb mass storage, it tries to install the Android internal memory driver with no success. Supposedely google has a special driver for windows where u need the java developtmental sdk and the google java sdk. I'll update later. Any suggestions would be killer awesome!
any idea?
I've got a USB 2.0 connetction and the sdcard is not the Problem.
With my SDHC-reader in the same USB-port i get the normal speeds!
And i don't had this problem with WM6.5!!
With WM6.5 my spped was similar to the USB-reader!
But now ... with Android in NAND.....
The Speed problem occurs at all my PC's (XP,Vista and W7) and
with all the old SD-Build's (i thought that was an SD-Build problem)
and now with the NAND-Build (rafpigna Sense HD 4.02 ext) nothing changed !
So it is a general problem I think, not only me
Well, I was using dual mount SD for mounting the SDCard to the PC and the writing speed on the SD (class 6) was about 900KB ! But after I tried the native android mounting it was risen up to 3.4MB -which is also much slower than the card reader (~7MB)-
Same problem here ...
from the boot loader i get better write speeds ...
i tried ftp transfer too , no diferince in speed (still around 800 kbs).
i tried over wifi , still no difference.
iam using:
Pyramid HTC Europe 1.35.401.1 - Real 3D V2.3
I found out how to fix the problem. It lies within windows disk checker. Automatically fix file system errors, and Scan for and attempt recovery of bad sectors. This will take a long time depending on your speed and size of your memory stick. I do this when my speeds slow down. For my 32GB Class 10 card, it could take 2-4 Hours. However I'm getting 12-16MB/s write using windows and CWR. Make sure your device is being detected at USB 2.0 Speeds. Trust me! Doing it once ever couple days your speeds will be faster and faster. Even exceed the class specification of your card. This fixes the slow read/ write speeds!!!!
CYA
1chris89 said:
I found out how to fix the problem. It lies within windows disk checker. Automatically fix file system errors, and Scan for and attempt recovery of bad sectors. This will take a long time depending on your speed and size of your memory stick. I do this when my speeds slow down. For my 32GB Class 10 card, it could take 2-4 Hours. However I'm getting 12-16MB/s write using windows and CWR. Make sure your device is being detected at USB 2.0 Speeds. Trust me! Doing it once ever couple days your speeds will be faster and faster. Even exceed the class specification of your card. This fixes the slow read/ write speeds!!!!
CYA
Click to expand...
Click to collapse
ill try it ... reporting back after trying...
ok not working on the phone... ill set the sd card into a reader and try it out there
dint work at all ... some one else should feel free to confirm this
here is a bug report for this problem:
http://code.google.com/p/cyanogenmo...etwork Owner Summary Stars Priority&start=100
Ok, sorry. I'll start at the beginning and explain every detail on how to get amazingly excellent performance from you sd card. Your going to be required to format it to fat32 64kb cluster for optimum performance. That's #1 and required. If you need your ext3,4 etc partition. I'm sorry. You will have to continue to bare the poor performance. You need a raw fresh sd card. Then I would run a disk check to correct any internal errors that windows uses, with all options checked this should take a while to complete. On my 16gb class 2 it takes atleast 45 minues and 2 hours on my 32gb class 10. Windows disk checker perfects the clusters and the file system integrity. Run it once on a fresh sd card. Then transfer a file 100MB or larger to get good speeds. Transferring a ton of smaller files will always be 50-75% of your class specification. There is no way around this. The card will transfer at it's class when transferring large files. If the card was able to transfer at it's specified class with small files, would require more energy to perform the task and cause the card to overheat since it's performing more operations a second with a lot of small files compared to a few large files. One thing you will always need to keep in mind is the performance is very delicate and will not be maintained for long if you don't take extra special care of safely removing the device from the computer. I've been lucky to just turn off usb mass storage when the transfer is complete and have maintained my speeds this way. However before I dialed in to how to keep it performing excellent I would constantly cause the card to perform way worse after only a day or 2 after the optimization. To keep it running optimum make sure to run windows disk checker once a month or when it slows down. Make sure you format using either Windows format function from my computer or Disk Management. I have found that the windows methods are far superior to maintaining excellent performance since Windows writes the format data to the card in the manner it prefers to use on a daily basis. Third party applications perform the same simple "similar" task in a different manner technically speaking. I have noticed performance loss from tests I have ran comparing 3rd party format compared to windows format. Also the 64Kilobyte cluster size performs the best on all files sizes. Do not use anything smaller than that. Also a 3072KB read ahead in android on average performs better than a 2048kb read ahead. If you have any additional questions. Don't hesitate to ask.
Thanks cya!
Same phone on Mac & Windows
I have tried the same phone Samsung Galaxy S2 doing a 1 GB write to SD on a Windows machine vs a Mac. The Mac transfers in about 5 min the Windows machine takes about 20 min. Both machines are with the External SD mounted and copy and paste a folder with 10,000 files in it.
I then tried it with Motorola Atrix and get the same results.
I need a way to rapidly write 8GB of data every night to 46 phones... No I am not going to take the SD cards out of the phone and use a card reader.
Anyone have any idea what could be causing the slow down on Windows?
Read the above post and it will fix your problem.
1chris89 said:
Ok, sorry. I'll start at the beginning and explain every detail on how to get amazingly excellent performance from you sd card. Your going to be required to format it to fat32 64kb cluster for optimum performance. That's #1 and required. If you need your ext3,4 etc partition. I'm sorry. You will have to continue to bare the poor performance. You need a raw fresh sd card. Then I would run a disk check to correct any internal errors that windows uses, with all options checked this should take a while to complete. On my 16gb class 2 it takes atleast 45 minues and 2 hours on my 32gb class 10. Windows disk checker perfects the clusters and the file system integrity. Run it once on a fresh sd card. Then transfer a file 100MB or larger to get good speeds. Transferring a ton of smaller files will always be 50-75% of your class specification. There is no way around this. The card will transfer at it's class when transferring large files. If the card was able to transfer at it's specified class with small files, would require more energy to perform the task and cause the card to overheat since it's performing more operations a second with a lot of small files compared to a few large files. One thing you will always need to keep in mind is the performance is very delicate and will not be maintained for long if you don't take extra special care of safely removing the device from the computer. I've been lucky to just turn off usb mass storage when the transfer is complete and have maintained my speeds this way. However before I dialed in to how to keep it performing excellent I would constantly cause the card to perform way worse after only a day or 2 after the optimization. To keep it running optimum make sure to run windows disk checker once a month or when it slows down. Make sure you format using either Windows format function from my computer or Disk Management. I have found that the windows methods are far superior to maintaining excellent performance since Windows writes the format data to the card in the manner it prefers to use on a daily basis. Third party applications perform the same simple "similar" task in a different manner technically speaking. I have noticed performance loss from tests I have ran comparing 3rd party format compared to windows format. Also the 64Kilobyte cluster size performs the best on all files sizes. Do not use anything smaller than that. Also a 3072KB read ahead in android on average performs better than a 2048kb read ahead. If you have any additional questions. Don't hesitate to ask.
Thanks cya!
Click to expand...
Click to collapse
Hi!
Thank you for this thorough and correct advice. It solved my problem with my SDHC class 4 card used in a Samsung Galaxy Gio. My computer (Win7) could write on the card with only 150 kb/s, now it is around 2200-3000 kb/s.
i bought this new card and was happy that i have a fast card now and that the transferring data with usb connection would be faster, but it is not.
The writing speed is between 3-5 MB/s, not better then my old Sandisk 16gb class2 card.
I have aMAGLDR v1.13 with CWM v.5.0.2.7.
I use the usb mount from CWM and transfer data through it, but it is really a disappointment. I format the card through different ways, all without any success.
On the my computer the card is not faster with FAT32 (with the micro sd adapter), when i format the card to NTFS it is really fast, but i can not use it on my phone with NTFS. Is Fat32 the problem here?
Does someone have the same card and could approve this problems or am i the only one?
thanks in advance /masteroe
try this..
get into android and see if this app works...it will increase the cache...you should see difference..
thanks, i tried this already without any success.
it seems that the problem is not this value. In the CWM this value is not interesting at all.
As i told you on Windows i have same performance issues with FAT32....
If you bought your SD card from Ebay you probably bought a fake Class 10
domimatik said:
If you bought your SD card from Ebay you probably bought a fake Class 10
Click to expand...
Click to collapse
it is not from the bay it is a original card (i hope) from amazon.
Class 10 only assures you of 10MB/S on sequential write, so if the card has been written to a few times there could be some drop due to fragmentation. Also, there are various overheads to consider, moving the data about, issuing the write command to each block, wait for a confirmed write response, blahblah.
Here
http://www.smxrtos.com/articles/whiteppr/flashperformance.htm
Is a (very) technical explanation, which rather happily (or not) examines a 10MB/S raw write speed SD as an example (scroll way down) and calculates an actual write speed at 5MB/S.
samsamuel said:
Class 10 only assures you of 10MB/S on sequential write, so if the card has been written to a few times there could be some drop due to fragmentation. Also, there are various overheads to consider, moving the data about, issuing the write command to each block, wait for a confirmed write response, blahblah.
Here
http://www.smxrtos.com/articles/whiteppr/flashperformance.htm
Is a (very) technical explanation, which rather happily (or not) examines a 10MB/S raw write speed SD as an example (scroll way down) and calculates an actual write speed at 5MB/S.
Click to expand...
Click to collapse
thanks for your information, but i think there is an other problem, my class 2 card is faster as it seems . I'm copying 700 MB with 1,5MB at the moment, that is really frustrating....
hehe yea i know what you mean, mine always runs far slower than it probably should too, one point some meg/s, for both my class 2 and a class 6, never any faster, either through cwm, android usb mass storage, or my card reader. (Lots of built in card readers are just usb readers mounted to internal usb headers, and are often only usb1, which doesn't help, , usb has a lot of overhead, lots of info regarding usb overhead here http://www.smxrtos.com/articles/usb_art/usbperf.htm (if a little old))
i will give back the card. This card does not make sense with HTC HD2..
Thread can be closed ! Thanks anyway ..
Hi fellow Defyers,
Didn't get any answers to my last post, so I obviously asked the wrong question.
I'm wanting to know what's the correct, fastest speed Class microSD card for my Defy. Nobody really seems to know.
There should be a spec, but I can't find it. I've searched all over this forum, but haven't found a answer. There are lots threads about which brands and classes work and which don't, but nothing much about real world speeds. I know that speeds vary. It depends on the Hardware, ROM and other Software running, but there must be a "best" answer.
I suspect my Defy SDHC card slot is really Class 6 speed, but lots of people report using Class 10 SD cards. What I want to know is are they actually faster?
I've installed the free "SD Tools" SD card Speed Tester app from the Market - Google Play. It's a very simple app, but gave me no problems. Except, speeds vary. I suggest a Reboot, don't open anything else and wait 3 minutes before running, to get the best result.
I get 9.3MB/s Write and 14.4MB/s Read from an ADATA 4GB Class 6 card.
I'm running Android 2.2.2. Can't really root it 'cos it's the Company-supplied phone.
Anyone getting much better than that out of Class 10?
Please post your results [Defy Model, Android ver, Card Make, Size, Class, Test App, Write MB/s, Read MB/s] here!
Mine:
MB525, 2.2.2, ADATA, 4GB, Class 6, SD Tools, Wr: 9.3MB/s, Rd: 14.4MB/s
Cheers,
D
DefiAnt2 said:
It depends on the Hardware, ROM and other Software running, but there must be a "best" answer.
Click to expand...
Click to collapse
There's apparently another factor that I haven't tested myself and forgot to mention, but that's SD Card format. Seems the cluster size also makes a difference, though that will (should, may?) depend on the type of test. Sustained, large reads and writes (as done by SD Tools) should be faster with a larger cluster size, and I think sustained speeds are what matters for shooting video, or playing HD movies.
To determine your card Format and Cluster size (one way - are there better ways?) is to connect to USB, go to a Command prompt and run CHKDSK X: where X is the Windows Drive letter for your SD Card. The first line gives the Format type. Further down, the Cluster size is the number of "bytes in each allocation unit."
BTW, if CHKDSK says you have errors on your SD Card, well, be careful! You may have errors. Or, you may have a Card Compatibility issue. But I wouldn't go Fixing them with CHKDSK. I'd investigate carefully as to the cause before going further. Like, take the card out of your phone and connect it to a PC using an SD Card Reader, and check it again. If there errors aren't still showing, you definitely have compatibility problems. And, if there are still errors, it very likely means your SD Card data IS corrupted, and was probably caused by a compatibility issue or some other problem like a phone lock up while writing data, or maybe a Battery Pull (VERY BAD IDEA) also while the card was being written.
I'm not exactly sure about how to determine the Sector size for SD Cards (which is why I'm talking Cluster size), but for Hard Disks it's normally 512 bytes / sector. SD Cards could, I suppose be different as they are not rotating media, but I haven't yet figured out how to get that data out of them. Anyway, assuming 512 bytes / sector, 32k sectors (32,768 bytes) per cluster is obviously 32,768 / 512 = 64 sectors per cluster.
Please feel free to post your results [Defy Model, Android ver, Card Make, Size, Class, Format, Cluster size, Test App, Write MB/s, Read MB/s] here!
Mine:
MB525, 2.2.2, ADATA, 4GB, Class 6, FAT32, 32k clusters, SD Tools, Wr: 9.3MB/s, Rd: 14.4MB/s
Cheers,
D
P.S. I found a cheap 8GB Class 10 card... Interesting!
just tested my configuration:
bayer mb525, cm7.2 (2.3.7), kingston class 10 16gb sdhc, formatted fat32 with 64k cluster size, and my results are 10.7w/25.2r.
sent from my cm7 defy...
Please ask all questions in Q&A. Thread moved there.
I get 4.5mb/s write -14.3mb/s read on an class 2 sd I think, not sure, MB526 2.3.6 stock Android
Hi Feche, zakoo2
Thanks for that.
Turns out, nothing is simple. I have now found that it depends a lot on what "services" are also running when you run the test.
For example, if I have Data enabled, Bluetooth enabled and Satellite enabled (but none active), I get significantly lower readings, especially for Read.
On top of that, SD Tools seems to give more consistent results if you ignore the first test and run it a second and third time.
However, I have also found that my MB525 DOES get faster Read results with a Class 10 card. Only slightly faster for Write though.
I guess this means the MB525 Hardware is (more-or-less?) Class 10 capable. At least, for Read. Or, it may also depend on the individual card Manufacturer. A-Pacer not being a Top of the Line brand.
My best results, with all the services turned off:
MB525, 2.2.2, A-Pacer, 8GB, Class 10, FAT32, ??k clusters, SD Tools, Wr: 9.7MB/s, Rd: 20.7MB/s
(Forgot to check cluster size, sorry.)
I'll post other results later.
Cheers,
D2