Re: [NTLK] Do Flash Cards get fragmented?

From: Paul Guyot (pguyot_at_kallisys.net)
Date: Mon Aug 27 2001 - 08:16:51 EDT


>There is a similar utility called PieChart that does the same thing, and
>shows a pie chart of your flash usage. The flashing part of that chart is
>the amount of memory that it "used" but unaccounted for.

In fact, as the writer of a store system, I should say that this
relies on suppositions on the arithmetics of store space usage. It
doesn't mean anything, neither in terms of loss of data nor in terms
of fragmentation.

For example, I changed the arithmetics of ATA stores so it doesn't
show the exact usage of space so that the used size is close to the
total size when the store full error happens. In exchange, there is
an incompressible gap between the sum of the sizes of the objects on
the store which are accessible to these software (basically the soups
and their indexes, they often forget the soup infos and the store
infos) and both the actual used size (which also includes tables of
the persistent object store including the journalization tables, dead
sectors and objects the system doesn't tell you about such as the
root object, the password for the store, etc.) and what I (and
probably the system) show in used size (in the case of ATA, it's the
amount of occupied data rounded per sector).

If the system grows an object which last segment is in a sector which
isn't totally full, it will fill the sector and therefore the
announced used size won't change.
Let's say that you want to add an object or modify an object which is
as big as 2 sectors long and there is only one free sector left (but
many partially occupied sectors), this will lead to a store full
error because the software needs to allocate at least 2 sectors for
the transaction, even if all the data could have fit without any
problem.

I guess that NewtonOS linear stores arithmetics aren't very different
from the ATA ones, except that the blocks aren't 512 bytes sectors
but 64 KB linear blocks.

Paul

-- 
Home page: http://www.kallisys.com/
Newton-powered WebServer: http://newt.dyndns.org:8080/

-- This is the Newtontalk mailinglist - http://www.newtontalk.net To unsubscribe or manage: visit the above link or mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe



This archive was generated by hypermail 2.1.2 : Sun Sep 09 2001 - 19:47:48 EDT