|
|
View previous topic :: View next topic |
Author |
Message |
cfernandez
Joined: 18 Oct 2003 Posts: 145
|
Which is the best memory technology????? |
Posted: Sat Aug 13, 2005 9:14 am |
|
|
Hi,
I have a important question: I need to include in my design memory for save information, this information change all days. This information contain data that include the transaction and I need big memory.
For this I see the following technology:
EEPROM
-Reduce memory space
-100.000 / 1.000.000 Write Cycles
- Slow transmition
- Retain information
Flash
-Big memory
-100.000 Write Cycles
- Fast Transmition
- Retain information
RAM
- Big Memory
- No Limit Write Cycles
- Very fast Transmition
- Not Retain information (for this battery backup)
For this technology, I have the following question:
1) Which is the best technology for save big data?
2) The write cycles is for byte??, The byte update 100.001 not change the old value?
3) Which is the best way for prevent the update 100.001 ??
Is possible that some guy, help me with this?
Thank you very much!!
Best Regards, |
|
|
Ttelmah Guest
|
|
Posted: Sat Aug 13, 2005 9:46 am |
|
|
Depends how big is 'big'. For medium sizes, consider FRAM as another alternative. Almost infinite write life, long data retention, and fast.
If you go for larger flash memories designed for 'disk replacement' situations, these include technologies to reduce the write count. The cycle 'life' is per block, so most have a few extra blocks, and use a 'walking' cycle technology, where when you change a block, it is written to the next 'spare' block, and the old block is flagged as spare. This spreads the writes across the memory, allowing far more cycles before problems are encountered. Really large versions, then add a RAM cache, and memory back-up capacitors, and do immediate changes to the cache, and not the memory itself, then use the backup capacitors to ensure the data is written when power is removed.
You could use an approach like this yourself. for instance, have a RAM large enough to hold an hour or more of transactions, and a flash memory as the main store. You then write once per hour to the flash from this RAM, or if the power fails, write immediately, using a memory backup capacitor to keep the system running long enough to complete the write. This way, the write life of a typical flash memory, will exceed 10 years of continuous use.
Best Wishes |
|
|
future
Joined: 14 May 2004 Posts: 330
|
|
Posted: Sat Aug 13, 2005 5:27 pm |
|
|
Do you know how long it takes to write 256 bytes to flash. The datasheet talks about theoretical timing, but in practice with a 452 I don't know. |
|
|
Ttelmah Guest
|
|
Posted: Sun Aug 14, 2005 2:47 am |
|
|
This is a 'how long is a piece of string' question...
The total time, is normally going to be limited by the transfer speed, rather than the write speed. If you are prepared to use enough pins, you can control the memory (assuming the type chosen supports this), using a parallel interface, and transfer a byte in only about four instruction times. It'll normally take longer to address and fetch the next byte than to do the transfer. However assuming that on the grounds of number of pins, you use a serial interfaced memory, then you will normally be talking a minimum of 32 clocks to transfer a byte. Assuming that you use the hardware SPI, this can be occuring while you fetch the next byte, so on a processor at 40Mhz, I'd expect something in the order of perhaps 600K bytes/sec to be achievable with care, which is not much slower than using the parallel interface mode. Assuming the chip has a block mode, so you send the address etc., once, then just transfer the data, this gives a 'sector transfer' for 256bytes, of about 450uSec, plus a write time of typically 2mSec. So perhaps 2.5mSec for 256bytes. However remember that most flash chips erase in 'blocks', not sectors. They are fine, if you can erase the chip/block, and just write sequentially as more data arrives, but if you need to change a sector, you end up having to read the entire block (which means having a lot of storage for this), do a block-erase (typically a couple of seconds!), and then write all the data for this block back...
Best Wishes |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
Powered by phpBB © 2001, 2005 phpBB Group
|