[A83] Re: What is the problem with flash writes (in general)


[Prev][Next][Index][Thread]

[A83] Re: What is the problem with flash writes (in general)




Interesting -- is this right: to garbage collect, the OS must usually erase
a ~64K chunk. This would mean this chunk has to be backed up to somewhere
else in FLASH. After it has been erased, it would be copied back. It would
seem like the swap area where things are swapped to (unless it is not
constant) would set the minimum FLASH life -- since it would be getting
written to by far the most. I assume that this is the meaning of the
sections of FLASH designated "SWAP/USER" in the SDK guide.

I hope the calc isn't always actually garbage collecting when it says so --
for example, when overwriting an APP that exists, it garbage collects? Seems
wasteful. But if the life is really 1,000,000 cycles, that's probably longer
than the other equipment will last.

-----Original Message-----
From: assembly-83-bounce@lists.ticalc.org
[mailto:assembly-83-bounce@lists.ticalc.org]On Behalf Of Dan Englender
Sent: Monday, July 09, 2001 10:46 AM
To: assembly-83@lists.ticalc.org
Subject: [A83] Re: What is the problem with flash writes (in general)



The way the Flash chip works, you have to erase either the whole chip, or
whole sectors (sectors vary in size between 8K (only two of these) and 64K
(most are this size)).  This is what wears the flash (and what causes your
screen to dim...noticeable especially on HW1 TI-92's and TI-89's ... but
also on the 83P when you're loading a new OS) and there's not much way to
get around it.  So, if you need to *set* any bits on the sector, you're
going to have to erase it.  If you wanted to set some bytes to zero, you
wouldn't have to erase first.  You can reset bits whenever you like, but a
set requires an erase.

Hope that's clearer (erase loading 0FFh causes some mix-ups in terminology),

-Dan Englender




Follow-Ups: References: