1

When you use uTorrent for Android, does it trash the SSD with multiple writes? Since most phones' internal memory and SD cards are flash based, and torrents do multiple writes, are they especially harmful for the lifespan of SSDs?

If so, are there workarounds?

  • Accepted answer doesn't take erase block size into consideration. Check this or this. Also is wrong on 1M write cycle count. It is just 10k. Check write endurance section in wiki – Kiran Jun 19 '16 at 5:11
3

First I'll play dumb.

According to this, a torrent file should have around 1000-1500 pieces. But let's take an especially poorly made torrent; a 4GB file (FAT32's maximum allocateable file size) split into 16kB pieces; that is ~250 000 pieces, so 250 000 write cycles. Common SD cards (and phone internal memories too) endure approximately 100 000 write cycles; so if you calculate this, you'll reach the conclusion that your card will fail before half of this torrent downloads. But this reasoning is wrong.

Each cell in flash memory endures 100 000 write cycles, and different chunks get written to different cells (overwriting the previous chunk with the next would be kind of dumb) - so even by downloading this one torrent, you will only use up 1 write cycle of this 4 GB area. So what counts is not the total number of writes, but the number of times a single cell has been written.

(Also, it can be noted that on most storage devices the computer does not write/read arbitrary lengths of data; it reads/writes a single 512-byte block at a time. So even if you write this file in one single pass, it will get written to the card divided into 512-byte blocks - so that means 500 million writes, but it's spread over 500 million blocks, so the wear is still one write cycle.)

Another thing to take into consideration is that SD cards and most flash controllers often do wear leveling, which means if the controller notices one block to be worn more than another, it swaps them internally to wear them equally, without the host system noticing. Also they include spare blocks to replace worn-out blocks - so even if you single out a block and try to wear it out, you'll find it will endure a lot more write cycles than it should, because halfway into the assault the controller remaps it. The whole card fails only when it runs out of spare blocks.

  • What does wear out the SD card, however, is using it as swap. – matega Oct 27 '14 at 14:21
  • My phone uses YAFFS by the way. – sashoalm Oct 27 '14 at 15:19
  • It doesn't really matter concerning storage wear. But torrents start faster on filesystems which support sparse files. Also f2fs should have the best performance - but I doubt you have the possibility to switch to it if you don't have a well-supported phone. – matega Oct 28 '14 at 9:27
  • Note that torrent apps use to preallocate the required disk space so they will create files filled with zeroes and then will replace them with the actual content. This means it doubles the number of writes, if we consider that the controller will use the same cell for the zero value and the actual value of a given file. – ov1d1u Dec 7 '14 at 0:20
  • Well then that's two writes. It's still not even making a dent in the 100 000 available write cycles. Also, NTFS and ext filesystems support sparse files for this exact reason. (Well, more for the space-saving and performance than for the wear reduction) FAT32, found on most SD cards, sadly doesn't. – matega Dec 10 '14 at 8:21
-2

I am highly sure using torrent download on Android phone will wear out the phone's SD card, although it's not confirm-able because there is no direct evidence. Because I used to do BT downloads (about 1 years ago) using my phone, and my phone wears out two of my SD cards during that time period (even using dd_rescue can not read it's content so no evidence). After that I stop BT downloading and since then my SD card never get wear out.

-3

Look I use utorrent and yes this may occur sometimes. So what i do is that i only download huge files from utorrent if available as it's usual work was to transfer big files. By downloading big files from utorrent , the app does not get full access because what utorrent does is that it first downloads the file and then after downloading it does the multiple writing.

So what you can do to stop this is just wait for the download to start and after 5 seconds of starting pause the download. Now to start it again choose 'force start'. Now after the download is complete, pause the download. This would not let utorrent fetch extra information for the server.

And there you have it. Hope it works. If not then let me know what problems you encountered.

A positive vote is always appreciated :D

  • 1
    This didn't make a whole lot of sense. You only download huge files? What does this mean? Do you mean you avoid torrent downloads unless the files are more than 4 GBs? 10 GBs? Or what? "By downloading big files from utorrent , the app does not get full access" - what do you mean by "full access"? Full access to what? Why should "full access" be avoided? Do you have proof that this pausing scheme works? Can you point to a website or a study that has found it to help lifespan? – sashoalm Jun 23 '14 at 8:18
  • Brother I certainly can't point to a site or whatever, but this atleast worked for me. It clearly does not eat my device's memory anymore – Sarthak Jun 23 '14 at 8:22
  • Are you sure you understood my question? It wasn't about "eating" device RAM memory, it was about decreasing the phone's SSD through multiple writes. Besides, how would you know if it works or not? This thing would not show immediately, it's just that the phone's SSD might die sooner than it otherwise would have. It would be years before it happens either way. – sashoalm Jun 23 '14 at 8:25
  • Sorry, if my wrong under standing lead you to a wrong way. I didn't meant to do that but just my seeing i thought I'd be it – Sarthak Jun 23 '14 at 8:28
  • This does not help protect the memory - it doesn't matter if the writes are sequential or not, and uTorrent writes the data to the card immediately. This only forces uTorrent to download from the beginning of the file and not randomly - which impairs both the swarm's performance and your download speed. It is only useful if you want to start watching a movie from its beginning while it is still downloading. – matega Oct 27 '14 at 14:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.