• After 15+ years, we've made a big change: Android Forums is now Early Bird Club. Learn more here.

samsung evo micro sd feel as fast as internal?

I have not used the internal emmc enough to say how fast it feels, but the evo has faster write performance and slower read performance than the internal emmc. Perhaps with caching and read-ahead buffers, the slower reads can be mitigated somewhat. The faster writes should help in some aspects when Android makes frequent small updates (e.g. database access).

Some unscientific benchmark data with A1 SD Bench:
Note: I ran each test only once, so it's not accurate and only offers a ballpark figure.
(EVO tested as internal after applying my hack, so both using ext4 as file system)
Quick test in MB/s
Internal R/W: 41.66 / 10.52
EVO ext4 R/W: 31.29 / 17.35
Random test in MB/s
Internal R/W: 17.24 / 0.20
EVO ext4 R/W: 13.02 / 0.67
 
I have a 32.GB EVO on my year old T-mobile F6. I use Link2SD to get more space, and it A1 SD Bench gave an error when I tried to measure my 5.GB EXT4 Link2SD partition, but I was able to measure the 24.GB FAT32 partition.

Internal Memory = 32.98/8.11
Internal SD = 31.06/8.28
External SD FAT32 = 29.22/5.82

I don't know if the external SD is a little slower due to the phone's SD controller, or due to the SD card speed.

Also, I suspect not all T-mobile and MetroPCS F6 phones are exactly the same; for example, my GF recently got a new MetroPCS F6, unlocked for T-mobile, and her F6 gets T-mobile 4G LTE in some locations where my older T-mobile F6 only gets HSPA 4G (mine gets LTE in other locations).
 
If you know how to do it, try getting your partitions aligned to the SD card's erase block boundaries. When I got my 32GB EVO, I got 28.98/12.62 in A1's quick test (again testing as internal and using ext4 with my DataOnSD hack). I googled for information, did some tests, and determined the card's erase block size to be 16MiB. So I redid all my partitions and realigned them to 16MiB boundaries. After restoring data, the same test then showed 31.29/17.35. My understanding is aligning a FAT32 partition is a bit different because in theory you want the 1st data block to be on erase block boundary. I haven't spent time figuring out how to do that because I don't think I read from/write to the FAT32 partition all that much. Anyway, not sure if doing all that definitely helps with performance; just sharing my experience.
 
So I redid all my partitions and realigned them to 16MiB boundaries. After restoring data, the same test then showed 31.29/17.35. .

Interesting.
Where do you set the erase block size?


I just tested my new EVO as internal memory, and I got between 9-10.5 MB/s write, 34.x MB/s read. No special formatting or alignment.
 
Last edited:
Thanks. Is that different from the "Align Partition" function in MiniTool Partition Wizard?
I am not that familiar MiniTool, but if I remember right, MiniTool can align to MB/MiB. That's only 1 MiB (1*1024*1024 bytes). What I wanted was to align to 16 MiB (16*1024*1024 bytes) because my 32GB evo has erase block size of 16MiB. That basically means the size of all space before the partition I want to align is exactly divisible by 16MiB and so is the size of all space after. So I'd choose to align to MB/MiB and make sure the total space before, size of the partition, and the total space after are all multiples of 16MiB (the total size of the card should be a multiple of 16MiB as well, unless the erase block size is not 16MiB like mine). Again I'm talking about aligning the ext4 partition because fat32 partitions are structured differently and partitioning alone might not be enough for fat32 (certain parameters probably need to be used during formatting). I hope that makes sense. Like I said, I don't know doing 16MiB would definitely help. 1MiB or 4MiB alignment might have been enough. It was just something I decided to do.

Interesting.
Where do you set the erase block size?
You don't. Erase block size is an intrinsic attribute of the card. The manufacturers decide how big they want each erase block because the card's microcontroller(s) can only handle so many blocks. So the larger the capacity, the bigger the erase block size. The erase block size of my 16GB class-6 Samsung is 8MiB. Same as that of the internal storage of F6. My old 8GB class-4 SanDisk has size 4MiB.

It's a complicated topic and most people don't care or don't need to care about it. If you're curious, the basic idea is this. When data need to be overwritten to flash memory that already contains data, the flash memory needs to be erased first. That's slow. If the partition is misaligned, it's possible for a chuck of data that would normally fit into one erase block to go across a block boundary, requiring two blocks to be erased instead of just one.

Newer partitioning software like MiniTool can help with alignment. The partitions might not always be optimally aligned, but at least they shouldn't be misaligned. I want to go that extra mile because I've been studying characteristics of SD cards. With my hack, a large portion of the OS is running off of the SD, so I want to get as much out of the card as I can. But I digress.

Let us know how your new EVO works for you after you put it to the test. I mean, like how the phone feels under normal use.
 
so far it feels pretty nice.
A1 SD bench shows the eMMC gets 44.92 MB/s read, while the EVO gets 34.3 MB/s read.
eMMC random write is slower though, at 0.2 MB/s compared to EVO's 0.58 MB/s
Every other benchmark is nearly identical.

so all in all, feels fluid, and the 10 MB/s read deficit on large files is not noticeable in this environment.
Sensord does not break either, unlike my ancient class 4 Kingston card.

Next, I will reformat the EVO again and realign to 16 mib
 
Ok, I just reformated evo at 20000 MiB fat32 partition to align with 16 MiB erase block, but results are mixed.

ext4 random r/w are up- 15.49/0.72
ext4 sequential r/w took a hit- 35.7/9.09

Before aligning to 16 MiB,
ext4 random r/w = 13.55/0.58
ext4 seq r/w = 34.3/14.1

I like the new random r/w performance.
I hope the new sequential write performance won't hurt.

I partitioned in MiniTool and set first partition to 20971.52 MB.
Maybe this tool isn't so accurate.
 
The beginning of the card is used for the partition table (1 sector for MBR and 34 sectors for GPT, where 1 sector=512 bytes). So with MiB alignment, 1MiB appears as free space (small part of that contains the very important partition table, so not really free). That means the size of your fat32 partition should be 19999MiB so that the ext4 starts at 20000MiB (and its size should then be exactly a multiple of 16MiB). When I first got the card, Samsung made the (only) fat32 partition start at 4MiB. So if that turns out to be optimal for fat32 (again, I don't know), then you'd make fat32 start at 4MiB with size 19996MiB so that the ext4 takes the rest of the space starting at 20000MiB. To be sure, you can use the command "fdisk -lu /dev/block/mmcblk1" in TWRP's terminal window. The partitions' starting positions will be shown in sectors and the starting sector of the partition you're aligning should be divisible by 32768 (16*1024*1024 bytes / 512 bytes per sector) for an erase block size of 16MiB. If you use a different card or later find out your erase block size is different, you can adjust accordingly. If I remember correctly, the size of the partition shown by fdisk is in what they call blocks, which are 1024 bytes each. So the number shown for the size of the partition would be divisible by 16384.

Anyway, this benchmarking business might not be accurate enough. SD cards don't support trim, so in order for the somewhat random erase cycles to not affect benchmark results, we'd probably need a larger sample size. Today I tried running the quick test a few times in a row, pausing a moment in between for the card to settle. The numbers aren't consistent enough to be really trustworthy when viewed individually. Most of the tries are about 30/15 or 31/16 with a bit of variability (just ballpark as I didn't bother to write the numbers down). But once in a few tries I'd get something like 32/10. And one time I got 28/18. Like I said, I can't say performance is really increased by further tweaking. I've also done some tweaks when I formatted the partition, but I don't know if those tweaks have had any effect. Still, partition alignment is the right thing to do. Even if it doesn't improve performance significantly (flash ram manufacturers are getting very good at making the cards perform well in many different kinds of applications), avoiding unnecessary block erasure should be good for the memory cells' lifespan.

Anyway, hopefully with more time spent using the card, you're happy with it. I like the boost in random write performance because it makes sense to improve the weakest link. When the better cards like Samsung's PRO or SanDisk's Extreme Pro/Plus come down in price, it'd be interesting to "upgrade" the phone's storage and see what performance faster cards get.
 
When the better cards like Samsung's PRO or SanDisk's Extreme Pro/Plus come down in price, it'd be interesting to "upgrade" the phone's storage and see what performance faster cards get.
Thanks for all the technical info. If you do get to test some faster cards, I'd love to see the results and to hear if you think the difference is really noticeable.
 
I'm receiving a sandisk Extreme Plus to play with in a day or two.
I will have phone test results posted comparing the eMMC vs sandisk Ex+

The limiting factor is obviously the sdcard reader in this phone, but the ex+ should push the limits. I know the EVO is capable of 45 MB/s read, but the A1 bench only registers <35 MB/s.
So that may be the maximum the card reader is capable of.

I'm still within the return period for my samsung EVO, and I will likely return it because it has cheaper TLC nand vs the MLC in the sandisk ex+. Also, sandisk's warranty and RMA process is more generous.
 
If you do get to test some faster cards, I'd love to see the results and to hear if you think the difference is really noticeable.
If the SD card reader in the phone is the limiting factor like catchingup says, we probably won't see a big speed boost even with a faster card. Guess we'll find out if and when catchingup is able to test the Extreme Plus. I do hope faster read speed means faster random read speed as well and not just faster sequential speed. People have been running entire OS off of an SD card since the Nook Color/Tablet days. I still use one for development and testing. Many others and I have used SanDisk class-4's back in the day even with their paltry sequential speed because back then their random r/w speed was orders of magnitude better than most other brands.

I'm receiving a sandisk Extreme Plus to play with in a day or two.
I will have phone test results posted comparing the eMMC vs sandisk Ex+
That'd be great. I myself am interested in the random read speed. I do hope a faster card can equal or better the internal emmc. I have no experience with newer SanDisk cards, but one thing the Samsung EVO seems to do well is it's able to keep open many allocation units. That's probably the reason for its very good random write performance. I think if a lot of processes are running and writing to disk, we could observe a bigger difference. Unfortunately, this usage pattern is probably not as common on a phone with limited ram. Anyway, I look forward to your test results.
 
Back
Top Bottom