Who says his SD card does wear leveling? SD cards were originally intended for things like photos and movies where large files are written once and then deleted once some time later. There is nothing in the SD card spec that requires wear leveling. EXT also is not "flash aware" meaning it makes no attempt to do any wear leveling. I have heard stories that /some/ SD card markers do wear leveling but aside from a spec sheet for a particular SanDisk brand card I've never seen a card that has wear leveling listed as a feature.hojnikb wrote:...Also wear levelling spreads the writes across the flash so if you physically write to just one block ...
Code: Select all
# <file system> <mount point> <type> <options> <dump> <pass> /dev/mapper/RootFS-Root / ext4 noatime,discard,errors=remount-ro 0 1 # /boot/efi was on /dev/sda1 during installation UUID=89A5-8C32 /boot/efi vfat defaults 0 1 /dev/mapper/HomeFS-Home /home ext4 noatime,discard,defaults 0 2 tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0 tmpfs /var/log tmpfs defaults,noatime,mode=0755 0 0 tmpfs /var/log/apt tmpfs defaults,noatime 0 0 tmpfs /var/cache/apt/archives tmpfs defaults,noexec,nosuid,nodev,mode=0755 0 0
Nothekeywordgeek wrote: Do read cycles contribute to Flash wear?
noIs Flash wear exacerbated by sheer numbers of files?
none if they are correct
What is the effect on wear leveling algorithms of declining free space on a disk?
This is not quite true. Suppose you have 10 blocks and all 10 are free. Then you write a block and delete it N times. In this case a good wear leveler would write to each block the same number of times (eg block 1 then delete then block 2 delete etc) and you end up with each block being written to N/10 times. Now suppose 9 of 10 blocks are filled with unchanging data (eg the kernel), then a sequence of N block sized writes and deletes has to work one of two ways:RaTTuS wrote:none if they are correctthekeywordgeek wrote: What is the effect on wear leveling algorithms of declining free space on a disk?
The number of user-accessible blocks reported by an SD card always seems to be at least 7% less than the total size of the flash chip. That is too much overhead to be explained by block mapping, bad blocks, and controller firmware. So I think the card is wear-levelling over a larger area than it presents, and is therefore never 100% full.Bergschreck wrote:But what, if you filled your filesystem up to 100% and then delete 50% of your files? How does the SD card know what blocks are free now? They are only marked as free in the directory of the filesystem, there is no way to mark them physically as deleted. The SD card cannot know about filesystems.