Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.mobile.android > #37058

Re: Android 6

From Daniel James <daniel@me.invalid>
Newsgroups comp.mobile.android
Subject Re: Android 6
Date 2016-12-30 15:34 +0000
Organization A noiseless patient Spider
Message-ID <VA.00000c22.00519969@me.invalid> (permalink)
References (3 earlier) <efd310f355.DaveMeUK@my.inbox.com> <231220161243453968%nospam@nospam.invalid> <f956805f-b339-fe10-b20a-faed1ff0ff49@arnowelzel.de> <291220161202474716%nospam@nospam.invalid> <a9d5f932-7b61-0ec9-6954-ac9f7f27c7bb@arnowelzel.de>

Show all headers | View raw


In article <a9d5f932-7b61-0ec9-6954-ac9f7f27c7bb@arnowelzel.de>, Arno 
Welzel wrote:
>>> The more data you write on a flash based memory device the less
>>> free blocks are left which can be written without erasing them
>>> first. But erasing a block also means additional wear for the
>>> flash memory.
>> 
>> which is managed by wear leveling.
> 
> Correct. But even wear leveling just tries to *level* the number
> of writes. It does not change the total number of possible writes
> in any way.

The wear levelling process includes a mapping between logical "sectors" 
and physical blocks of flash storage. If an application repeatedly 
updates a particular section of a file on a card that section will be 
remapped each time it is written so that different blocks of flash are 
used.

That doesn't change the total number of times that the card can be 
written, but it does change the number of times that any one logical 
sector can be written (which is rather the point).

>> the number of writes before there's a problem is huge.
> 
> Yes - around 500 to 1000 times of the capacity of the SD card. But
> even for much more expensive SSDs the TBW is often lower than this.

Flash memory used to be more durable, but slower and more expensive. 
Time was, you could get flash memory that was good for several tens of 
thousands of writes per block.

As wear-levelling algorithms have improved the manufacturers have 
decided that it's OK to use faster and cheaper flash with lower total 
write counts. Some flash drives use memory that can only be rewritten a 
few thousand times per block, but still have an expected lifetime of 
over five years with fairly heavy use. That's quite impressive.

What is more of a worry is the failure mode when the flash does begin to 
fail. Ideally the whole device would just become read-only so that no 
data would be lost, but one hears of more severe failures with no data 
recoverable, which is a worry. I suspect that this is more likely with 
SD cards than with SATA etc SSDs, as the controllers are necessarily 
less sophisticated.

>> well designed file systems don't. fat is not well designed and will
>> slow down with a lot of files.
> 
> There is no logical reason why this should happen with flash memory.

As a flash card gets full the write process will become slower as more 
data typically needs to be moved around by the wear-levelling algorithms 
to make room. That's not particularly dependent on the filesystem in 
use, but will be a factor on any device.

SSDs that support the low-level TRIM command are less susceptible to 
this, because TRIM enables the controller to recover empty flash blocks 
ahead of time. I'm not sure how common TRIM support is on SD cards, but 
the FAT filesystem doesn't typically support TRIM (it depends on the 
filesystem driver of the OS in use) and this could explain an apparently 
greater slow-down with FAT than with other filesystems.

-- 
Cheers,
 Daniel.
 



Back to comp.mobile.android | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Android 6 Bill <Billaboard@gmail.com> - 2016-12-22 17:21 +0000
  Re: Android 6 The Real Bev <bashley101@gmail.com> - 2016-12-22 10:00 -0800
    Re: Android 6 Bill <Billaboard@gmail.com> - 2016-12-23 00:23 +0000
      Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-22 19:30 -0500
        Re: Android 6 Bill <Billaboard@gmail.com> - 2016-12-23 12:42 +0000
          Re: Android 6 tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2016-12-23 11:58 -0500
            Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-29 13:43 +0100
              Re: Android 6 Daniel James <daniel@me.invalid> - 2016-12-30 15:34 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-30 22:33 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2016-12-31 13:27 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-04 08:59 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-04 13:40 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-11 09:00 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-15 18:23 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-15 21:20 +0100
                Re: Android 6 AL <45364747@invalid.com> - 2017-01-04 10:06 -0700
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-11 09:00 +0100
                Re: Android 6 tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2017-01-05 01:34 -0500
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-07 14:14 +0000
                Re: Android 6 tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2017-01-07 13:09 -0500
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-08 18:18 +0000
                Re: Android 6 tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2017-01-08 15:42 -0500
                Re: Android 6 The Real Bev <bashley101@gmail.com> - 2017-01-08 17:11 -0800
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-08 20:19 -0500
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-09 23:55 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-11 18:07 +0100
                Re: Android 6 Frank Slootweg <this@ddress.is.invalid> - 2017-01-08 21:34 +0000
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-09 23:55 +0000
          Re: Android 6 Joerg Lorenz <hugybear@gmx.ch> - 2016-12-24 10:49 +0100
  Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-22 23:55 +0100
    Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-22 19:15 -0500
      Re: Android 6 Joerg Lorenz <hugybear@gmx.ch> - 2016-12-23 05:46 +0100
        Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-23 00:15 -0500
      Re: Android 6 Dave Higton <dave@davehigton.me.uk> - 2016-12-23 17:11 +0000
        Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-23 12:43 -0500
          Re: Android 6 Dave Higton <dave@davehigton.me.uk> - 2016-12-23 21:22 +0000
            Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-24 14:29 -0500
              Re: Android 6 Dave Higton <dave@davehigton.me.uk> - 2016-12-25 11:10 +0000
                Re: Android 6 Piet <www.godfatherof.nl/@opt-in.invalid> - 2016-12-25 12:37 +0100
                Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-25 11:18 -0500
                Re: Android 6 Dave Higton <dave@davehigton.me.uk> - 2016-12-25 20:28 +0000
          Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-29 12:02 -0500
            Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-29 23:45 +0100
              Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-29 18:02 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-30 22:24 +0100
                Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-31 11:55 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-04 09:04 +0100
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-04 10:14 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-11 18:11 +0100
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-11 13:05 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-13 17:23 +0100
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-16 15:35 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-17 05:39 +0100
              Re: Android 6 Daniel James <daniel@me.invalid> - 2016-12-30 15:34 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-30 22:26 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2016-12-31 13:27 +0000
                Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-31 11:55 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-04 09:11 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-04 13:40 +0000
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-04 10:14 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-11 18:12 +0100
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-11 13:05 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-13 17:24 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-15 18:23 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-15 21:30 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-16 15:42 +0000
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-16 15:35 -0500
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-17 05:44 +0100
                Re: Android 6 Daniel James <daniel@me.invalid> - 2017-01-17 17:47 +0000
                Re: Android 6 Bill <Billaboard@gmail.com> - 2017-01-01 01:05 +0000
                Re: Android 6 tlvp <mPiOsUcB.EtLlLvEp@att.net> - 2017-01-02 02:08 -0500
                Re: Android 6 David Taylor <david-taylor@blueyonder.co.uk.invalid> - 2017-01-02 08:01 +0000
                Re: Android 6 nospam <nospam@nospam.invalid> - 2017-01-02 08:51 -0500
                Re: Android 6 Bill <Billaboard@gmail.com> - 2017-01-02 20:41 +0000
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-04 09:18 +0100
                Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2017-01-04 09:14 +0100
          Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-29 14:05 +0100
      Re: Android 6 nospam <nospam@nospam.invalid> - 2016-12-29 12:02 -0500
        Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-29 23:46 +0100
          Re: Android 6 Dave Higton <dave@davehigton.me.uk> - 2016-12-31 20:18 +0000
      Re: Android 6 Arno Welzel <usenet@arnowelzel.de> - 2016-12-29 13:47 +0100

csiph-web