Discussion:
Calculators using flash memory - lifetime?
(too old to reply)
Ingo Thies
2009-06-12 11:19:59 UTC
Permalink
Hi,

I am not sure which is the best group to post this (and which one would
be the best to follow up). I've got a more general question about
(programmable) calculators using flash memory, particularly the Casio
FX-5800P (I own one) and the HP 48/50 (I know that they are completely
different worlds; maybe I'll buy one HP some day).

As far as I know, both are using flash memory to keep data even if the
battery is out. But flash memory has a limited number of writing cycles,
about 10,000 to 1 million. This rises the quetion in what situations the
calculator is writing to the flash. I can think of the following
possibilities:

1. every time a value is written into a variable (even during program
run) and every time a program has been edited,

2. every time a value is written manually or a program has finished
(last results),

3. only when the calculator is switched of, using RAM otherwise,

4. only if the battery is out or being removed, using some kind of
emergency power unit (maybe a capacitor).

I would guess that case 3 is the most probable (at least for the HP's)
since writing to flash is time-consuming and erodes the flash units. But
does anyone know how it is done exactly?


Regards,

Ingo
Luke Morrison
2009-06-12 12:03:47 UTC
Permalink
Post by Ingo Thies
Hi,
I am not sure which is the best group to post this (and which one would
be the best to follow up). I've got a more general question about
(programmable) calculators using flash memory, particularly the Casio
FX-5800P (I own one) and the HP 48/50 (I know that they are completely
different worlds; maybe I'll buy one HP some day).
As far as I know, both are using flash memory to keep data even if the
battery is out. But flash memory has a limited number of writing cycles,
about 10,000 to 1 million. This rises the quetion in what situations the
calculator is writing to the flash. I can think of the following
1. every time a value is written into a variable (even during program
run) and every time a program has been edited,
2. every time a value is written manually or a program has finished
(last results),
3. only when the calculator is switched of, using RAM otherwise,
4. only if the battery is out or being removed, using some kind of
emergency power unit (maybe a capacitor).
I would guess that case 3 is the most probable (at least for the HP's)
since writing to flash is time-consuming and erodes the flash units. But
does anyone know how it is done exactly?
Regards,
Ingo
I can't speak about the Casio model. But the Flash-based HP models
keep their Flash storage and their RAM storage totally distinct. The
Flash is used to store the core operating system, the Saturn emulator,
and the Saturn ROM image. Additionally, all objects stored in bank 2
("FLASH") are stored in Flash. Otherwise, all other stored objects,
as well as all items on the stack, are kept in RAM.

The contents in RAM are kept alive while the calculator is turned off
using standby battery power (either the main AAA batteries, or the
lithium backup batteries).

- Luke
Daniel Oliva
2009-06-12 12:49:11 UTC
Permalink
I think flash memory is untouched unless you write/delete something
there (ROM upgrade, install a new library, or write any other object
to flash).
The calculator does not write to flash for normal operation.
No need to worry about that.
Ingo Thies
2009-06-12 13:45:43 UTC
Permalink
Post by Daniel Oliva
I think flash memory is untouched unless you write/delete something
there (ROM upgrade, install a new library, or write any other object
to flash).
The calculator does not write to flash for normal operation.
No need to worry about that.
Hmm, I can't speak for the HP 48/50, but the manual of the Casio 5800
says that the variables and program data are stored in the flash memory
to be kept even if the battery is replaced. The manual doesn't mention
any auxiliary battery.

So the flash is actually used in normal operation, but the question is
how often it is used. If only used on shutdown, then it might be ok (one
may estimate how long it will take to switch the calculator on and off
100,000 times (the number of write cycles typically given ob web sites).
If used 10 times a day with full memory (i.e. every flash bit used) on
average then it would take about 27 years to kill the flash. Most, if
not all, HDD drives die much earlier.
--
Gruß,
Ingo
Joe Six-Pack
2009-06-12 14:52:10 UTC
Permalink
Post by Ingo Thies
Hmm, I can't speak for the HP 48/50, but the manual of the Casio 5800
says that the variables and program data are stored in the flash
memory to be kept even if the battery is replaced. The manual doesn't
mention any auxiliary battery.
Different manufacturers do things different ways.

HP machines use SRAM for operations associated with RAM (variables,
stack, programs etc.). Even extension cards are conventional SRAM that
needs a battery to retain their contents. Flash RAM is only used for
stuff that rarely needs writing to, such as the machine's firmware,
libraries etc.

If you want further details about how the Casio fx-5800 does things then
I suggest you ask in a more general newsgroup or in a Casio-specific
one. comp.sys.hp48 is not the best place for that.

Followup-To: set accordingly.
David L. Jones
2009-06-14 10:46:15 UTC
Permalink
Post by Ingo Thies
Post by Daniel Oliva
I think flash memory is untouched unless you write/delete something
there (ROM upgrade, install a new library, or write any other object
to flash).
The calculator does not write to flash for normal operation.
No need to worry about that.
Hmm, I can't speak for the HP 48/50, but the manual of the Casio 5800
says that the variables and program data are stored in the flash
memory to be kept even if the battery is replaced. The manual doesn't
mention any auxiliary battery.
So the flash is actually used in normal operation, but the question is
how often it is used.
Actually there is another question too.
How long will program FLASH retain its contents?
Hint - it's not "forever".

Dave.
--
---------------------------------------------
Check out my Electronics Engineering Video Blog & Podcast:
http://www.alternatezone.com/eevblog/
mike
2009-06-17 03:12:19 UTC
Permalink
Post by David L. Jones
Post by Ingo Thies
Post by Daniel Oliva
I think flash memory is untouched unless you write/delete something
there (ROM upgrade, install a new library, or write any other object
to flash).
The calculator does not write to flash for normal operation.
No need to worry about that.
Hmm, I can't speak for the HP 48/50, but the manual of the Casio 5800
says that the variables and program data are stored in the flash
memory to be kept even if the battery is replaced. The manual doesn't
mention any auxiliary battery.
So the flash is actually used in normal operation, but the question is
how often it is used.
Actually there is another question too.
How long will program FLASH retain its contents?
Hint - it's not "forever".
How long will you care?
Hint - it's not "forever" either.
Post by David L. Jones
Dave.
John Crane
2010-02-03 15:33:58 UTC
Permalink
Post by David L. Jones
Post by Ingo Thies
Post by Daniel Oliva
I think flash memory is untouched unless you write/delete something
there (ROM upgrade, install a new library, or write any other object
to flash).
The calculator does not write to flash for normal operation.
No need to worry about that.
Hmm, I can't speak for the HP 48/50, but the manual of the Casio 5800
says that the variables and program data are stored in the flash
memory to be kept even if the battery is replaced. The manual doesn't
mention any auxiliary battery.
So the flash is actually used in normal operation, but the question is
how often it is used.
Actually there is another question too.
How long will program FLASH retain its contents?
Hint - it's not "forever".
Dave.
--
---------------------------------------------
http://www.alternatezone.com/eevblog/
I use Flash RAM in computer applications, and the manufacturer's specs say
data is guaranteed to be retained for 100 years.

-J
Dueño de Monte
2010-02-04 13:30:18 UTC
Permalink
I have an HP48SX since 1991, and must of the data set there, are still
there with no troubles (almost 19 years), of course I have now an HP49
and HP50, that have a MUCH BETTER display and speed to process them.

So don´t worry, you´ll change the flash memory before it fail because
of its age.

Daniel.
John H Meyers
2010-02-04 18:55:26 UTC
Permalink
Surely there are different specs for different flash chips,
so one would need to know what part number is in each calculator,
to be able to find its particular specs.

The original HP49G is the oldest of this series having flash memory
for "ROM" and for "Port 2." Subsequent models have a different
architecture, and probably different flash chips as well.

Erase/rewrite cycles do "wear out" flash memories, eventually,
and probably some time period is also estimated for each chip's lifetime,
but I don't know any of the specs for any particular model or chip
(I dimly recall a suggestion of ten years for the old 49G).

The HP48SX and 48GX have no flash memory -- they have ROM and RAM,
as do their plug-in cards.

[r->] [OFF]
Dueño de Monte
2010-02-05 09:39:15 UTC
Permalink
So, my HP49g+ is from 2003 (7 years) with no troubles on the flash
card.

Daniel.
val
2010-02-05 09:50:01 UTC
Permalink
Post by John H Meyers
The HP48SX and 48GX have no flash memory -- they have ROM and RAM,
as do their plug-in cards.
[r->] [OFF]
I bought a TDS 1Mb RAM card last summer and the programs are still in
the card even if the card was removed from the HP for more than 3
monthes. However, there is no battery holder on the card so I guess it
is flash memory (?). There is no switch as well.
Ingo Thies
2010-02-10 16:31:37 UTC
Permalink
Post by John H Meyers
The original HP49G is the oldest of this series having flash memory
for "ROM" and for "Port 2." Subsequent models have a different
architecture, and probably different flash chips as well.
The original posting addressed a Casio 5800P, not a HP calculator,
which, in addition, also use battery-suspended RAM, and do write/erase
the Flash memory only if the user intends to do so. The Casio 5800P
seems to write the memory content (or just the recent changes?) to the
Flash each time it is switched off, at least if I am understanding the
manual correctly.

The Flash wearing problem with HPs can in principle be circumvented by
using SD cards, which can be used with, e.g., the HP 50g. They are also
Flashes, of course, but could be replaced without replacing the whole
calculator ;-)

Ingo

Loading...