[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)




When overwriting an existing app, it does garbage collect. There is no other
way to overwrite it, because the bytes must be erased to be written on.


Michael Vincent
Detached Solutions - www.detacheds.com
Radical Software - www.radicalsoft.org

----- Original Message -----
From: "Kirk Meyer" <kirk.meyer@colorado.edu>
To: <assembly-83@lists.ticalc.org>
Sent: Monday, July 09, 2001 10:01 AM
Subject: [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
>
>
>




References: