Formating mobiles SD/MMC card to smaller clusters

Closed Thread
  1. #1

    Join Date
    Apr 2006
    Location
    Kwun Tong
    Posts
    1,242

    Formating mobiles SD/MMC card to smaller clusters

    Anyone tried this.

    I did a backup of the phones main flash to the backup up flash and I fofund that 10MB took like 30 or 40MB on the removable flash card.

    Has anyone tried formatting to smaller cluster sizes, it should theoretically give you higher throughput akin of using smaller stripes in raid.


  2. #2

    Join Date
    Nov 2008
    Posts
    4,574

    Totally depends on the type of files you are storing ..
    Lots of small files = smaller cluster size
    Lots of bigger files = larger cluster size

    there is no "one size fits all" answer here


  3. #3

    Join Date
    Aug 2006
    Posts
    11,884

    The phone OS will let you choose cluster sizes? Kinda surprising that it gives you that much granularity. What's the default cluster size?

    I rekon the main benefit of smaller cluster sizes would be space efficiency rather than throughput.

    Disclaimer- I'm not a smartphone person and am therefore incapable of testing either!


  4. #4

    Join Date
    Apr 2006
    Location
    Kwun Tong
    Posts
    1,242
    Quote Originally Posted by Rob2020:
    Totally depends on the type of files you are storing ..
    Lots of small files = smaller cluster size
    Lots of bigger files = larger cluster size

    there is no "one size fits all" answer here
    For sure.
    I know how many files I have, and how many I am likely to grow to.
    Whilst my average file size is 238KB, the vast majority time Symbian OS is reading small files. Many of them and those are typically below 2KB.


    Quote Originally Posted by jgl:
    The phone OS will let you choose cluster sizes? Kinda surprising that it gives you that much granularity. What's the default cluster size?

    I rekon the main benefit of smaller cluster sizes would be space efficiency rather than throughput.

    Disclaimer- I'm not a smartphone person and am therefore incapable of testing either!
    Cluster size. 32KB.
    The card has 11,500 files on it. 4GB.
    As I have lots of MP3's the infficiency overall very small,
    However the files which are read very often by the OS are very inneficient in storage as they are normally less than 2K.

    The question is whether in same way MS DOS worked whether the OS (not the programs making disk calls) are reading clusters off the disk or is it just reading the file.

    If you have to read 5 files which are less than 2KB and your cluster sizes is 2KB, total amount of data that will have to go through disk IO is 10KB.

    If you compare that to my current 32KB clusters, it *may* mean that 160KB of IO has to be done to read 5 clusters which contain the 5 files. It would be retarded to do it this way, but who knows...

    jgl, you can change the cluster and many other parameters when you format the card on a PC.
    Last edited by hk.com; 02-11-2009 at 10:53 AM.

  5. #5

    Join Date
    Jun 2008
    Posts
    178
    Quote Originally Posted by hk.com:
    If you compare that to my current 32KB clusters, it *may* mean that 160KB of IO has to be done to read 5 clusters which contain the 5 files. It would be retarded to do it this way, but who knows...
    my OS knowledge is a bit rusty but I'm reasonably sure most programs rely on OS/kernel to handle disk I/O. There are exceptions - forensic/recovery tools, virus...etc.

    not sure about SD card, but on a HD the file descriptors (for each file) would pass on a stream of zeros to flag an end-of-file to any standard read/write disk I/O functions. Common programs wouldn't read the "slack" space within a cluster, that's why we have recovery tools.

    Also disk latency doesn't apply to SD card either.... this is getting interesting. If you do find out, please let us know. is there anything that can benchmark SD card ?

  6. #6

    Join Date
    Apr 2006
    Location
    Kwun Tong
    Posts
    1,242
    Quote Originally Posted by spooky:
    not sure about SD card, but on a HD the file descriptors (for each file) would pass on a stream of zeros to flag an end-of-file to any standard read/write disk I/O functions. Common programs wouldn't read the "slack" space within a cluster, that's why we have recovery tools.

    Also disk latency doesn't apply to SD card either.... this is getting interesting. If you do find out, please let us know. is there anything that can benchmark SD card ?
    Yes files are read that way, but how the OS services the Programs request and talks to the file system is a completly different thing. It might be cheaper just to read the whole cluster in and hand it to the program and wait for it to tell you to read more, than the OS try to figure out when it is an EOF>

    The other issue here is that even if we work out how microsoft does it, it may not be the way that Symbian implemented the Filesystem handling.

    I found a have a benchmarking tool that costs US$250.... that will give me disk benchmarks. But what I am looking for a not just your usual sequential throughput and random reading, it is how fast it can read many small files.