Nicolas George writes:
> John Conover (12022-12-26):
> > So, the more unused SD space is better, since wear leveling writes to
> > a "bit" that has been written to fewer times.
> > 
> > To test, say with a 16 GB SD, fill the SD to all except the last 1 KB,
> > and with a looping script, write 1KB of 1's to the remainder of the
> > SD, erase the "bits," then 1KB of 0's, erase the "bits", and so on;
> > the SD card will fail within hours to a few days, (with luck-note that
> > MTBF is mean time between failures, meaning that by MTBF, half will
> > have failed, half still running; its a stochastic/probability issue;
> > it does NOT mean that all are expected to last at least 6K writes.)
> > 
> > Doing the same test without filling to the last 1 KB, and the SD card
> > will last a very long time, (about 16 million total writes.)
> 
> Are you suggesting that the microcontroller of the SD card is capable of
> decoding filesystem data structures to find out which sectors are
> unused?
> 
> I find it rather surprising.
> 
> That implies a SD card could discard data from deleted file, defeating
> recovery tools and steganography.
> 
> If find it highly doubtful.
>

It is true that after the SD's microcontroller writes data to other
LRU bits, it will overwrite deleted data in a bit-just like VM memory,
or an HD.

The algorithm the microcontroller uses is NOT a classical "buddy
memory allocation" system, (a'la Knuth, that is used in VM memory or
HD, which store in adjacent sectors, where possible, to avoid the
latency of head moves, i.e., data fragmentation,) and is actually
quite complicated.

The function of the microcontroller is to permit LOGICAL segmentation,
but the actual storage addressing mechanism is not necessarily
segmented, (or contiguous in physical memory; likewise, the VM memory
system in a PC, that maps physical memory into logical contiguous
memory via the VM page table.)

    John

-- 

John Conover, cono...@panix.com, http://www.johncon.com/

Reply via email to