PutProgMem, in the ZBasic Language Reference Manual, says, "Program Memory has a write cycle limit specified by the manufacturer of 100,000 cycles." Aren't most of the SPI EEPROMs that can be used with the various chips good for a million cycles? Both the AT25256A and ST M95512 datasheets say a million. I haven't checked all the others but think the Catalyst CAT25C256, equivalent to the AT25256A, is the only one rated for 100,000.
What bus speed does PutProgMem use?
typo?
Re: typo?
I hadn't noticed that the datasheet apparently has been updated, perhaps to reflect a new process or a new characterization. The older datasheet (April 2004) specifies 100,000 cycles. Thanks for pointing that out.dlh wrote:Both the AT25256A and ST M95512 datasheets say a million.
It uses the CPU clock divided by 2 yielding an SPI clock of 7.37MHz on standard ZX devices.dlh wrote:What bus speed does PutProgMem use?
- Don Kinzer
On a related topic, the Flash memory of the ZX (used for the virtual machine) is reported by Atmel to be good only for about 1000 flashings.
This is MUCH less of an issue for the ZX since the EEPROM carries the user program, and it woul dbe MANY years before there were 1000 updates to the VM. It may well be an issue to people who program te AVR directly and go through MANY re-writes.
-Tony
This is MUCH less of an issue for the ZX since the EEPROM carries the user program, and it woul dbe MANY years before there were 1000 updates to the VM. It may well be an issue to people who program te AVR directly and go through MANY re-writes.
-Tony
I thought the FLASH (used for the VM was rated at 100,000 cycles in the AVRs. Never seen anything about 1,000 cycles. The term "Program Memory" in general means the FLASH, in these kinds of MCUs.
The use of EEPROM to store tokenized-code is perhaps "program memory" in the context of ZBasic, but not in general - since that pseudo-code, from the MCU's viewpoint, is "data" that happens to be codified for the VM to interpret.
The use of EEPROM to store tokenized-code is perhaps "program memory" in the context of ZBasic, but not in general - since that pseudo-code, from the MCU's viewpoint, is "data" that happens to be codified for the VM to interpret.
For the AVRs used for ZX devices, the internal Flash memory is rated at 10,000 write cycles while the internal EEPROM is rated at 100,000 write cycles. The latter is known as Persistent Memory while the former holds the VM and, except on devices with external SPI EEPROM (e.g. ZX-24), is also used for Program Memory. As Dave pointed out, the external SPI EEPROM is rated at 1 million write cycles.stevech wrote:I thought the FLASH (used for the VM and is "program memory" was rated at 100,000 cycles in the AVRs. Never seen anything about 1,000 cycles.
This means that the ZX-1280 and ZX-1281 have a limit of 10,000 write cycles on Program Memory while the remaining devices have a limit of 1 million write cycles on Program Memory. All ZX devices have a limit of 100,000 write cycles on Persistent Memory.
- Don Kinzer
Re: typo?
It's not easy keeping up with all the datasheets. I'm just putting together a PDF to document a project I'm working on so I've been double checking to make sure my numbers add up - at least, for today.dkinzer wrote:I hadn't noticed that the datasheet apparently has been updated, perhaps to reflect a new process or a new characterization. The older datasheet (April 2004) specifies 100,000 cycles.
That is what I had thought too. I was told about the 1000 limit, but I never checked that number personally.stevech wrote:I thought the FLASH (used for the VM was rated at 100,000 cycles in the AVRs. Never seen anything about 1,000 cycles.
While I might flash my AVR 1000 times if I were very zealous, it would be rather hard to do it 10,000 times. I would usually have let the smoke out well before then.....
-Tony