MickH 211 Posted January 17, 2020 Share Posted January 17, 2020 So, what's the score with Micro SDCards? I have a 64Gb Sandisk in my Pro1 and I was told during set up that it was a slow card and may not perform satisfactorily. So I've been ploughing the interwebs for ideas. I'm guessing your usual, no-frills cards are not ideal so we need to go a little more professional. I know basic cards come with speed ratings of Class 1 - 10 (1 being the slowest rating). The Sandisk I have is about Class 4, so errm meh. 😛 I'm thinking I may need to look at (V30) or (V90) as these cards are recommended for use in video cameras etc. For the above reasons I'll be avoiding Ebay and Amazon for obvious reasons. Anyone else have anything to add or further input? 😁 Quote Link to post Share on other sites
david 929 Posted January 17, 2020 Share Posted January 17, 2020 (edited) They sure don't make it easy, do they? With all the various specs and changing them every year. I spent some time researching (no real world testing, myself) and here is what I came away with: 1) For running apps on these cards, there is no way we can come anywhere close to the internal storage. Even if you get cards with an A1 or A2 rating, for running apps on them, they won't perform close to what they should (meaning what the A2 spec says, for instance), when run inside a phone. We're talking about small, random reads/writes. For maximum app performance, run the apps only on the internal storage and use the external for data (video, photos, etc.). I guess if someone, for some reason, needs more space for apps (meaning 128 GB of internal storage is used up with the OS and apps), then I guess getting an A2 rated card is better than not, but there will be a speed penalty if they are reading/writing small bits of data frequently. I know most people aren't going to use the SD card for running apps, but I wanted to include this for completeness. UPDATE: Please see my revamped thoughts on this in a future post, 9 posts down from this one. 2) Likewise, for larger reads/writes, we still won't match the internal storage speed, but does it really matter for recording video and saving photos, as long as it can keep up with the video recording and with the still photo writes? The limiting factor is going to be the UHS-I bus speed, which tops out at 104 MB/s. That's theoretical speed. I'm sure OS parameters play a role in this too. 3) V30 vs V60 vs V90 is fun too. V30 has a *minimum* write speed of 30 MB/s. That speed should be plenty enough for 4K video at 30 fps. But a V30 card might be as fast as 59 MB/s and just not be able to be classified as V60, and be plenty fast for 4K video at much higher fps and higher bitrate codecs. I believe the Pro1 only does 30 fps. And given the reported speeds on some V30 cards, I'm wondering if the vendors may stamp them as V30 even if they could be stamped as V60, because they have another one that they stamp as V60 (which could be stamped higher), etc. 4) UHS-II cards are backwards compatible in a UHS-I device. But we'll obviously only get the UHS-I speeds, maximum (in theory, not necessarily in practice. See (5)). 5) Apparently hardware or software limitations in android phones won't allow us to get the maximum speed out of any of these cards anyway. Plugging the cards into a USB 3 adapter to transfer data to a PC will get much faster speeds than what we'll get with them in the phones (meaning reading/writing to the cards with applications on the phones). Some people might care about the PC transfer speeds (with a USB adapter), because they might want to dump data quickly to their PC and don't want to wait for transferring over wifi or the usb port on the phone. A number of people have said that the SD/SIM tray isn't very robust on the Pro1, so I'm personally not going to be doing a lot of opening and closing that thing. Bottom line, if you aren't going to take the card out of the phone for data transfers, then I'm having a hard time seeing where any speeds above the speeds needed for 4K video recording will be needed. 6) For me, I'm probably not going to buy more than an 128 GB card at this point in time. That will be plenty for me to store videos and photos on, since I'll be dumping them off semi-regularly anyway (if not syncing instantly). As with any storage system, putting more eggs in one basket is risky anyway. The prices have come way down on these things, so 128 GB isn't much more expensive than 64 GB, depending on the brand. And if someone does think they'll eventually need to have more than 128 GB, they'll probably be money ahead by buying a 128 GB card now and using it until it is full and then buying a larger card, since the prices will continue to drop. That depends on their rate of storage use, but if they won't need it for a year or two, I'm guessing the above logic will work out in their favor. 8 ) A lot of people online are complaining about counterfeits. This problem may be fixed and it might have been a problem a year ago. Hard to say for sure. Check the speeds with a USB 3 adapter on a computer to make sure the speeds aren't horrible, before using it in the phone, and send it back if it seems way off. The capacity may be way off too. I believe you can contact the vendors to ask them to verify authenticity too. If buying on Amazon, don't buy from 3rd party sellers. 7) Getting down to the meat of the matter, it seems like the common, name brand products are: SanDisk Extreme Pro Samsung EVO Plus Lexar Professional 1800x I've used a lot of SanDisk cards over the years and they've been fine. In the speed tests (in phones), that I found online, it seems like Lexar came out on top, then Samsung, then SanDisk (for sequential reads/writes). Samsung was slower than SanDisk on large block random I/O. Again, I'm not sure that the speeds matter that much if we aren't taking the cards out of the phones and we're using them mainly for video recording and photos. I guess the *safe* bet is the Lexar, since it is the only card rated higher than V30 out of these 3. It is rated V90. You can get the SanDisk in a V30 with UHS-I, or you can get it without any V designation with a UHS-II rating. The Samsung doesn't come in a V rating and only comes in a UHS-I rating. I'm not sure what the problem would be with buying on Amazon (other than the counterfeit issue if purchased from a 3rd party seller). The pricing breaks down as follows, currently, for the 128 GB sizes, with prices rounded up to the nearest dollar: SanDisk Extreme Pro V30 UHS-I A2 = $32 Samsung EVO Plus UHS-I = $25 (price marked down, was $39) Lexar Professional 1800x V90 UHS-II = $79 The Lexar, with the UHS-II rating, is definitely faster, and you pay for it. But in a phone it doesn't seem to be a ton faster. I'm still undecided. The Samsung EVO seems like the best deal. *If* some use case involved random I/O, then it would be quite a bit slower than the SanDisk. I guess the safe bet between those two is the SanDisk, for that reason, even if the Samsung is a little faster (very little) with sequential reads/writes. I really can't justify the Lexar when the card is going to be in the phone all the time. Even if it's read speed in the phone is 10 MB/s faster than the SanDisk, that's not much. Transferring over wifi might not get to the max read speed of the SanDisk card anyway. Transferring over the USB port with MTP is an unknown, as is transferring over the USB port in USB tether mode, transferring over ADB (can't do that yet with the Pro1), and transferring to an external storage device through a USB OTG adapter. There is a *chance* you could get faster transfer speeds with the Lexar card, but for 2.5 times the price, it doesn't seem like it is worth it, if the card is always going to be in the phone. I'm going to sleep on it, myself, but I'm leaning toward the SanDisk. Edited January 17, 2020 by david 2 3 Quote Link to post Share on other sites
_DW_ 628 Posted January 17, 2020 Share Posted January 17, 2020 (edited) I would got for a A2 classed card it would be fine for recording video and will perform better for storing applications especially when you have large games on it. (Better as a swap disk as well haha) Edited January 17, 2020 by _DW_ 1 1 Quote Link to post Share on other sites
MickH 211 Posted January 17, 2020 Author Share Posted January 17, 2020 Thanks for the input guys. I'll pop into the camera shop on my next shopping excursion, see what they stock. But I plan on going for the biggest I can afford so as to minimise opening and closing the tray. 1 Quote Link to post Share on other sites
Raksura 270 Posted January 17, 2020 Share Posted January 17, 2020 (edited) 3 hours ago, david said: They sure don't make it easy, do they? With all the various specs and changing them every year. I spent some time researching (no real world testing, myself) and here is what I came away with: [...] Thanks, that's a nice summary. I am worried that none of these criteria appear to address sustainability. I would assume that unless a regulation is in place, manufacturers tagging their device with "Endurance" and such buzzwords provide no actual guaranties on how long the card will survive frequent writings over the same blocks (which its use as swap would imply). Are there specific things to look for when you want a card that will stand the test of time? I suspect that when they talk about video recording, they mean writing that is spread across the whole device: you basically never re-write over the same blocks unless you are erasing a pre-existing recording (dashcams for example, but they still do so by iterating over the whole card every time). This is not similar to my use case, where files are on the SD card, not filling it at all, and some are frequently re-written. If I recall correctly, SSDs had the same problem and they basically solved it by making sure that new writes are done on less used blocks (wear leveling). Is something alike found on SD cards, or is it dependent on the writing device? Edited January 17, 2020 by Raksura 2 Quote Link to post Share on other sites
VaZso 1,998 Posted January 17, 2020 Share Posted January 17, 2020 (edited) 20 minutes ago, Raksura said: If I recall correctly, SSDs had the same problem and they basically solved it by making sure that new writes are done on less used blocks (wear leveling). Is something alike found on SD cards, or is it dependent on the writing device? As far as I know, SD cards do not do any wear leveling. That is why f2fs support would be a useful feature as it was specifically designed for this type of flash storage (I wrote it in feature request topic but I think it will not be included anyway). However, it would be much better to use that on uSD cards to reach longer usability time of them... Edited January 17, 2020 by VaZso 1 1 Quote Link to post Share on other sites
_DW_ 628 Posted January 17, 2020 Share Posted January 17, 2020 3 hours ago, VaZso said: As far as I know, SD cards do not do any wear leveling. That is why f2fs support would be a useful feature as it was specifically designed for this type of flash storage (I wrote it in feature request topic but I think it will not be included anyway). However, it would be much better to use that on uSD cards to reach longer usability time of them... maybe someone can do a custom kernel with it 🙂 Quote Link to post Share on other sites
VaZso 1,998 Posted January 17, 2020 Share Posted January 17, 2020 40 minutes ago, _DW_ said: maybe someone can do a custom kernel with it 🙂 ...yes but that way OTA updates and basically the whole Pro1 support would be dropped or at least would be much harder... Quote Link to post Share on other sites
Rob. S. 1,661 Posted January 17, 2020 Share Posted January 17, 2020 (edited) 4 hours ago, VaZso said: As far as I know, SD cards do not do any wear leveling. Some do, some don't. It is not easy to find out which do, though. It's an ongoing subject for users of the Raspberry Pi computer, where the operating system sits on a Micro SD card, brutally shortening the card's lifespan if it doesn't do wear levelling. Some e-book readers seem to wear cards surprisingly fast, too, probably because of many, possibly unnecessary writes on special sectors. I've already killed four cards in Raspberry Pis and in my old Sony ebook reader, fast enough but cheap Transcend cards (i had been using Transcend flash cards for photography for many years without any problems) which obviously didn't do wear levelling, but none so far in my phones or tablets, even when used as internal memory – but then again I mostly chose more expensive cards there. For the Raspberry Pi, the Samsung "Evo +" (not "Evo Plus"!), which has been discontinued for a while, used to be a recommendation, because it does wear leveling and has better random access speed than other cards. After its discontinuation, I guess @david's choice is not bad for a start. Edited January 17, 2020 by Rob. S. 1 Quote Link to post Share on other sites
OliverTypes 152 Posted January 17, 2020 Share Posted January 17, 2020 I got the 128GB SanDisk Extreme V30 A2 for €21 from Amazon a while back. I'm sure it will do just fine in terms of read/write. More than enough space since I don't use my phone for music anymore. SanDisk cards also have never failed me so far. All I'm missing is the phone to put it in. Excellent post btw, david! 1 Quote Link to post Share on other sites
david 929 Posted January 17, 2020 Share Posted January 17, 2020 (edited) 12 hours ago, _DW_ said: I would got for a A2 classed card it would be fine for recording video and will perform better for storing applications especially when you have large games on it. (Better as a swap disk as well haha) In theory, that's great, but from the tests I've seen, any cards will perform very poorly compared to internal storage, even the A2 stamped cards. I didn't look closely at the stats, but I wouldn't be surprised if that Lexar without any A ratings would outperform a SanDisk with ratings. I'll admit that I don't game on my phone. For those who need more app space than the internal 128 and more RAM than 6 GB, I guess get the fastest random access card you can. UPDATE: I've been thinking about this more. Everything is relative. I run apps on my SD card in my Relay 4G, and that SD card runs faster than the internal storage. The phone is slow, the apps run slow (no matter where they are run from), mostly due to low RAM. There is every reason to believe that every app I use will run *much* faster on the Pro1 than my old phone. The apps may run *faster* off the internal storage of the Pro1, but that doesn't mean they'll run slow on the SD card. They'll run slower than if they were run on the SD card, but with the limits of human perception, it probably won't matter. If there is an app that is particularly storage demanding (read/writing very very often), then maybe the performance drain will be noticeable on the SD card rather than the internal storage. Other than that situation, I bet they'll be just fine. I guess I'd just recommend people find random access benchmarks that have been done on various cards rather than relying on the A2 stamp, at this point in time. You may be paying for something that doesn't provide the value you think you'll get out of it. And when I say benchmarks, I mean benchmarks run on a phone, not with the card in a USB 3 adapter hooked up to a PC. There seems to be a *huge* discrepancy on how these things run in a phone vs a PC. I've always used A1 SD Bench on older phones for benchmarking the storage. Looking around now, I see that there is a PCMark app that looks pretty nice: https://play.google.com/store/apps/details?id=com.futuremark.pcmark.android.benchmark&hl=en_US This app is rated even higher, so it may be worth a shot too, even if the UI isn't as fancy: https://play.google.com/store/apps/details?id=com.Saplin.CPDT&hl=en_US UPDATE: Another app with good ratings: https://play.google.com/store/apps/details?id=com.andromeda.androbench2&hl=en_US Maybe those people who have already bought SD cards can run some of these apps on their Pro1 phones (so that we have an even playing field) and post results? Edited January 17, 2020 by david Quote Link to post Share on other sites
david 929 Posted January 17, 2020 Share Posted January 17, 2020 (edited) 8 hours ago, Raksura said: Thanks, that's a nice summary. I am worried that none of these criteria appear to address sustainability. I would assume that unless a regulation is in place, manufacturers tagging their device with "Endurance" and such buzzwords provide no actual guaranties on how long the card will survive frequent writings over the same blocks (which its use as swap would imply). Are there specific things to look for when you want a card that will stand the test of time? I did see some of those types of cards marked for endurance. At these price points, my personal approach is that I can just get another one if one wears out and it would take a lot to wear them out. They should do their own wear leveling over time, to avoid that type of problem you mentioned writing to the same blocks. The card decides where to write and it will write to different locations to even out the wear. I've been using an SD card for running most of my apps on my Relay 4G for years now and it is still chugging away. I am not using any type of virtual memory though. Do a lot of people plan on using SD cards in the Pro1 for swap space, even with the 6 GB of RAM? I'm curious about the use cases for that. Quote I suspect that when they talk about video recording, they mean writing that is spread across the whole device: you basically never re-write over the same blocks unless you are erasing a pre-existing recording (dashcams for example, but they still do so by iterating over the whole card every time). Unless the app is doing something odd, I would think all video recording would fall under sequential writes, meaning writing to contiguous regions of the storage, in big chunks at a time. I think that fits with what you said. Quote This is not similar to my use case, where files are on the SD card, not filling it at all, and some are frequently re-written. Is your use case on the Pro1, or on an older phone with limited internal storage? I suppose if there are some types of apps that rewrite things as frequently as a swap file would, then a case could be made for running those on an SD card so as to prolong the life of the internal storage, even if it is a lot slower to run on the SD card in a Pro1 than to run on the internal storage. I'm just not sure what those apps would be that would be running continuously and writing large amounts of data all the time. Quote If I recall correctly, SSDs had the same problem and they basically solved it by making sure that new writes are done on less used blocks (wear leveling). Is something alike found on SD cards, or is it dependent on the writing device? I believe there aren't standards for wear leveling. It would be up to each manufacturer to implement and to decide on which algorithms they use. But yes, they do it. They have their own controller on the card that handles that. They abstract the true physical blocks and do all of this under the covers. UPDATE: I wouldn't trust *all* SD cards to do wear leveling. I'm just saying that the reputable brands do it. You'd have to check with each vendor to see what they do. And if a card is suspected to be counterfeit, I really wouldn't trust that for any critical data, not just because of lack of wear leveling, but who knows what else is going to fail and make the card inaccessible? One thing I honestly don't know the answer to is what happens when all, or even a large percentage of, locations have reached their write limit. You would think that your available write space would be shrinking, and the card couldn't fit the data you want to write to it in some cases. I don't know what happens at that point in time. I'm guessing some sort of errors, but that you'll still be able to read the data that exists, hence not a catastrophic failure. Not to say that components won't wear out from aging, as a separate problem. Or a card getting zapped by static electricity. I'm just talking about the problem of what happens when the write limits have been exceeded. Edited January 17, 2020 by david Quote Link to post Share on other sites
david 929 Posted January 17, 2020 Share Posted January 17, 2020 (edited) 9 hours ago, VaZso said: As far as I know, SD cards do not do any wear leveling. I believe that many of them do now. I'm happy to contact the vendors if we put together a small list of cards, to find out for sure. Quote That is why f2fs support would be a useful feature as it was specifically designed for this type of flash storage (I wrote it in feature request topic but I think it will not be included anyway). However, it would be much better to use that on uSD cards to reach longer usability time of them... My understanding of f2fs is that it pools up write operations so that they are done in sequential batches in order to reduce writes. I'm not sure if it is inherent in that design or if it is just implementation issues, but it seems like there have been some reports of data loss/corruption with f2fs. I would think power losses from phone reboots or batteries going dead would be a problem. Maybe that's why it isn't used as much in phones? Apparently some newer phones are starting to use it. I wonder how they get around this apparent contradiction of caching writes vs power loss. Maybe they do away with that feature or maybe they only do it for working files, not for data files? I really don't know. Edited January 17, 2020 by david 1 Quote Link to post Share on other sites
VaZso 1,998 Posted January 18, 2020 Share Posted January 18, 2020 3 hours ago, david said: I believe that many of them do now. I'm happy to contact the vendors if we put together a small list of cards, to find out for sure. I believe these are only a few, special cards in higher price ranges. As far as I know, basically they don't do wear leveling. ...however, it is up to the hardware manufacturer... 3 hours ago, david said: I'm not sure if it is inherent in that design or if it is just implementation issues, but it seems like there have been some reports of data loss/corruption with f2fs. I would think power losses from phone reboots or batteries going dead would be a problem. Maybe that's why it isn't used as much in phones? I have not dug deep into it, but it seemed to be mostly older experiences. However, unexpected power losses / phone reboots may definitively have a result of data corruption. Basically, f2fs has some resilience of power losses as opposite to FAT32 filesystem which is a really old one without any attempt to handle data corruptions. It even writes a specific part of the flash card which causes it to potentially worn out relatively quickly especially if you write it relatively often. exFAT is a bit better than FAT32 but I don't think it is far better. Anyway, at kernel side, I think they should include (compile) as much filesystems as possible. However, I don't really understand how Android handles SD-cards especially in Android 9, as it seems it tries to format the card even if it could use it... it seemed a bit strange to me... Quote Link to post Share on other sites
netman 1,424 Posted January 18, 2020 Share Posted January 18, 2020 17 minutes ago, VaZso said: exFAT is a bit better than FAT32 but I don't think it is far better. The main difference is that exFAT supports files bigger than 2/4gb (that limit depends on the implementation), otherwise they are virtually the same filesystem. Quote Link to post Share on other sites
VaZso 1,998 Posted January 18, 2020 Share Posted January 18, 2020 23 minutes ago, netman said: The main difference is that exFAT supports files bigger than 2/4gb (that limit depends on the implementation), otherwise they are virtually the same filesystem. Yes, FAT32 has a maximal file size limit of 4 GB which is a real limit nowadays while FAT16 had a partition limit of 2 GB. As far as I know, in exFAT, they have tried to eliminate the most problematic limitations of FAT32 but the basic conception remained the same so it has no protection of filesystem corruption and it still extensively use the first sectors of the partition. The most important fact of FAT filesystem is that they are really simple (that is why also relatively small implementation exist also for using it on microcontrollers). ...but to be right, the last filesystem I would use on an SD card is one kind of FAT especially in case it is not needed for compatibility reasons which is absolutely true for Android devices since they dropped Mass Storage function (maybe also FAT and corresponding legal issues is one of the reasons of it) if we not count the option of removing the card and put it in a separate card reader under Windows. So the most (and only) important reason of using FAT-type filesystems in almost every microSD cards is compatibility and not something else. There are way better filesystems exist and there are filesystem specifically designed for NAND storages - so why don't we use them to extend usage life of user's medium? Why is it forced in Android to use a specific filesystem on microSD cards and not let the user choose what kind of filesystem to be used on user's own medium? Quote Link to post Share on other sites
netman 1,424 Posted January 18, 2020 Share Posted January 18, 2020 3 minutes ago, VaZso said: Why is it forced in Android to use a specific filesystem on microSD cards and not let the user choose what kind of filesystem to be used on user's own medium? Because they're assuming the user is stupid and will complain if the SD card can't be read from their PC when they choose to format it as ext4 I think... 1 1 Quote Link to post Share on other sites
VaZso 1,998 Posted January 18, 2020 Share Posted January 18, 2020 3 minutes ago, netman said: Because they're assuming the user is stupid and will complain if the SD card can't be read from their PC when they choose to format it as ext4 I think... My PC reads ext4 very well anyway (as it runs Linux). If it was the only reason, they may put an option to set it in developer options. Also, if someone is able to format the card to a specific filesystem and put it in the phone, the system _should_ not threat it as a corrupt card and _should_ not force the user to format it... that would be a minimum from a correct operating system. Anyway, the reason is the same (shame) that Android basically does not allow root access (which would be essential for your _own_ hardware) and Windows 10 forces its updates even if user working in some long process of something (and has limited postpone ability) or constantly putting back newer but faulty drivers because of the same reasons. I hate being restricted by silly reasons especially if it make the use of devices much worse. ...and the device I have restricted access for is not fully my own device... Also, if something is not very well done regarding security, the real solution is not to restrict the access of the owner but do security-related things well. So if I have root access, I don't want to allow full access for programs but only in very special circumstances when I know what to do... I know it is not as simple but being restricted in user's own territory means it is not your own territory. Moreover, I have not even able to _read_ the root of my own device's filesystem. ...not configuration files or binaries, but even directory listing of / is restricted. 3 Quote Link to post Share on other sites
david 929 Posted January 18, 2020 Share Posted January 18, 2020 1 hour ago, VaZso said: I believe these are only a few, special cards in higher price ranges. As far as I know, basically they don't do wear leveling. ...however, it is up to the hardware manufacturer... I'm pretty sure I've read that SanDisk does it on all their products now. There might be different algorithms and different types of NAND used in the high endurance/industrial versions vs the consumer versions though. For instance, like @Rob. S. was talking about, when using an SD card in a very demanding write application (Raspberry Pi operating system), even if a card has wear leveling, it might still fail faster than another card with different hardware and different wear leveling algorithms. A quick google seems to show that SanDisk, Toshiba, Kingston, Transcend and Samsung do wear leveling. But again, they might have endurance products that, well, have better endurance than the non-endurance products, even if the latter still have wear leveling. And a lot of these companies won't warranty their non-endurance products for use in high write situations, like the Raspberry Pi, dashcams, etc. Speaking of dashcams, if anyone here is going to do some heavy app running or set up a swap space on their Pro1's SD card, if you look for recommendations for dashcam SD cards, that will provide you with a good list to pick from, since that is a very demanding application. I don't think we are going to find ultra detailed information on exactly what these vendors do differently in a high priced endurance card vs a lower priced consumer card. In some cases there might not be as much of a difference, yet they want people to pay for the higher priced cards, so they won't publicize the similarities. In other cases, there could be a world of difference. The other thing to keep in mind is that there is often a trade off in performance vs endurance. Do you want a less expensive card with reasonable endurance and faster speed, or do you want a much more expensive card with better endurance and slower speed? 1 hour ago, VaZso said: I have not dug deep into it, but it seemed to be mostly older experiences. However, unexpected power losses / phone reboots may definitively have a result of data corruption. Basically, f2fs has some resilience of power losses as opposite to FAT32 filesystem which is a really old one without any attempt to handle data corruptions. It even writes a specific part of the flash card which causes it to potentially worn out relatively quickly especially if you write it relatively often. With the FAT32 writing to the same location, do you mean the file allocation tables vs distributed inodes in the other file systems? This isn't a problem with wear leveling cards. I'm still curious how F2FS can be more resilient to power outages, yet reduce writes by caching writes in memory. 1 hour ago, VaZso said: exFAT is a bit better than FAT32 but I don't think it is far better. Anyway, at kernel side, I think they should include (compile) as much filesystems as possible. However, I don't really understand how Android handles SD-cards especially in Android 9, as it seems it tries to format the card even if it could use it... it seemed a bit strange to me... Options are always good, as long as the user gets to decide if they want to pick something more risky, rather than having that be the default. Quote Link to post Share on other sites
david 929 Posted January 18, 2020 Share Posted January 18, 2020 1 hour ago, VaZso said: ...but to be right, the last filesystem I would use on an SD card is one kind of FAT especially in case it is not needed for compatibility reasons which is absolutely true for Android devices since they dropped Mass Storage function (maybe also FAT and corresponding legal issues is one of the reasons of it) if we not count the option of removing the card and put it in a separate card reader under Windows. This is the exact reason why I will be formatting my card for exFAT, most likely. If I do want to take the card out and put it in my Windows computer, then I want to be able to read it. I might need to do this to recover data in the case of something going wrong. The number of recovery tools available goes down as you get further away from the most commonly used file systems. I'm not saying people shouldn't use other file systems if they want. I'm just saying that is my main reason for using exFAT. I know there are tools that allow other file systems to be read in Windows, but I just like keeping it simple. But again, I'm not using my card for a lot of small writes for application data. I'm using it for large writes for video and photos. Quote Link to post Share on other sites
VaZso 1,998 Posted January 18, 2020 Share Posted January 18, 2020 11 minutes ago, david said: With the FAT32 writing to the same location, do you mean the file allocation tables vs distributed inodes in the other file systems? This isn't a problem with wear leveling cards. Yes. Although I don't know which SD cards doing (or not doing) what type of wear leveling. They may improve anyway as these cards are available in very large sizes now, so they may be more clever... 11 minutes ago, david said: I'm still curious how F2FS can be more resilient to power outages, yet reduce writes by caching writes in memory. I don't know its background but there may be differences in corruption. So if last correct state of a file can be preserved (which may also cause problems anyway in some situations) or unmodified files may also be corrupted. Several filesystems like ext4, NTFS, jfs, XFS, ZFS, btrfs, ReiserFS have journaling capability to access this issue as opposite to FAT filesystems. However, which one is better is depends also on the needs and actual situation. 15 minutes ago, david said: This is the exact reason why I will be formatting my card for exFAT, most likely. If I do want to take the card out and put it in my Windows computer, then I want to be able to read it. I might need to do this to recover data in the case of something going wrong. The number of recovery tools available goes down as you get further away from the most commonly used file systems. I was not able to format my card in Pro1 to exFAT anyway, it forced me to keep it in FAT32. I hope it will change anyway as the file limit of 4GB applies here. Quote Link to post Share on other sites
david 929 Posted January 18, 2020 Share Posted January 18, 2020 Adding some anecdotal data here. As I mentioned, I've been running apps off my SD card on my Relay 4G for years. It turns out I've been doing that on this particular SD card for just over 4 years. I found my Amazon order from December of 2015. I was doing it on a smaller card before that. My card is a 64 GB SanDisk Extreme 64GB microSDXC UHS-I. I have a 16 GB partition for applications, formatted as ext3. The rest is FAT32. I use the Link2SD app to create the links from the internal storage to the ext3 partition's files and folders, so the system thinks it is accessing the internal storage, but is really accessing that special partition on the external SD card. I believe I tried ext4 and had a failure, so I switched to ext3. What is interesting is that ext3 has journaling, which is good for anti-corruption, but it is also much harder on the SD card, since it is constantly writing to it so that it can recover from a failure condition (power outage, crash, etc.). So, on the topic of wear leveling and endurance, even though this is just one data point, this card has lasted over 4 years with a reasonably heavy workload on it (running apps, rather than just storing photos and videos) and is still going strong. 1 Quote Link to post Share on other sites
david 929 Posted January 18, 2020 Share Posted January 18, 2020 (edited) 52 minutes ago, VaZso said: I was not able to format my card in Pro1 to exFAT anyway, it forced me to keep it in FAT32. I hope it will change anyway as the file limit of 4GB applies here. Do you mean that you couldn't format it with Android to exFAT, or do you mean you formatted it outside of Android and Android wouldn't read it? If you don't have a Windows machine to do the formatting, you can try an app like AParted to do it in Android. This is what I used for creating the dual partitions on my SD card in my current phone. https://play.google.com/store/apps/details?id=com.sylkat.AParted&hl=en_US It does require root. If you don't have your Pro1 rooted, but you have access to another rooted android phone, you can root it in one phone and move it to another. Edited January 18, 2020 by david Quote Link to post Share on other sites
VaZso 1,998 Posted January 18, 2020 Share Posted January 18, 2020 11 hours ago, david said: Do you mean that you couldn't format it with Android to exFAT, or do you mean you formatted it outside of Android and Android wouldn't read it? I have formatted it outside of Android and the system wanted to format it again and it has always put FAT32 on it. I have also zeroed the first part of the card and also put it on a partition and without partitions at all - when I put the card in, I had a question about using it as an internal or external medium then to reformat it... I don't know what does it look for, maybe it wants to have some specific parameter (setting) or some files at appropriate place but somehow it seemed to found out the card was formatted elsewhere or just because of unknown filesystem. I don't remember if I have also tried to format the card outside of Android but with FAT32 as I wanted to avoid using FAT32. I don't remember having similar behaviour with my Moto G6 running Android 8 but I remember a similar strange behaviour when it was updated to Android 9. 11 hours ago, david said: It does require root. That is the main problem of the whole system (the lack of root). 11 hours ago, david said: If you don't have your Pro1 rooted, but you have access to another rooted android phone, you can root it in one phone and move it to another. It did not help (so to format the card using another OS), however, I don't have any rooted Android phones. I really don't like Android anyway... Quote Link to post Share on other sites
david 929 Posted January 18, 2020 Share Posted January 18, 2020 3 hours ago, VaZso said: It did not help (so to format the card using another OS), however, I don't have any rooted Android phones. You could try a different file allocation size for exFAT. My guess is that fxtec didn't pay Microsoft for exFAT, so we won't be able to use it. That's too bad. You can try ext4, but even if it works, you'll have permission issues of apps accessing files they didn't create. I guess we are stuck with FAT32 for Android, unless someone creates a custom kernel to get around some of these issues. The problem is that we'll be limited to 4GB files for 4K video, which will limit us to about 12 minutes per clip. However, and I just learned this, Android's video APIs don't support files larger than 4GB anyway. They will auto-create a new file every time 4GB is reached. Android 11 will fix this limitation, but unless we get support on the Pro1 for a filesystem that supports files larger than 4GB, we won't be able to take advantage of it. I wonder if the software will be smart enough to still create a new clip when it gets to 4GB, or if it will simply error, either losing the video or stopping the recording at that point in time. Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.