I've added support for the RAMTRON FM25V10 1Mbit Serial 3V F-RAM Memory to the list of spispec files for XFLASH.
This is not magnetic core (as used to land on the moon), but Ferroelectric RAM. It uses a ferroelectric instead of a dielectric layer and a construction similar to DRAM to be non-volatile.
This gives it the advantages of:
- Low power than FLASH
- Faster write performance (there are no write delays).
- Much larger umber of write cycles (at least 100 trillion).
You can read and write to it using xflash/flashlib, and the XCore can boot from it as if it was a normal FLASH.
Just though somebody might be interested...
Cheers,
Corin
XFLASH Support For F-RAMs (Ferroelectric Non-Volatile RAM)
-
- Experienced Member
- Posts: 66
- Joined: Fri Dec 11, 2009 3:38 pm
-
- XCore Legend
- Posts: 1274
- Joined: Thu Dec 10, 2009 10:20 pm
This is very cool thanks Corin, just out of interest what sort of sequential write speeds can you get over SPI with these?
regards
Al
regards
Al
-
- Experienced Member
- Posts: 66
- Joined: Fri Dec 11, 2009 3:38 pm
It will accept data at line rate, with is up to 40MHz if running at 3V3.
A write operation has an overhead of 1 byte of command and 3 bytes of address. It then accepts data and auto-increments the address on each byte. If it reaches the end of memory, it loops back to the start.
So assuming running at maximum speed and writing long bursts where the data the write command overhead is neglible, then this would be 5M bytes per second.
Cheers,
Corin
A write operation has an overhead of 1 byte of command and 3 bytes of address. It then accepts data and auto-increments the address on each byte. If it reaches the end of memory, it loops back to the start.
So assuming running at maximum speed and writing long bursts where the data the write command overhead is neglible, then this would be 5M bytes per second.
Cheers,
Corin
-
- XCore Addict
- Posts: 228
- Joined: Thu Jan 27, 2011 3:30 pm
- Location: Argenteuil - France
Thank Corin for this update.
I have a question regarding EEprom usage.
Is there any drawback (or risk) at using a 256Kb SPI EEprom (instead of 128Kb), the first 128Kb will be used to store the program, and once my XMOS device booted and program loaded, the program itself will use the same EEprom to store data on the second half of the EEprom.?
If I take all care when programming to avoid using the first 128Kb half, is there anything else to care about?
PS. The main idea is to avoid having a second EEprom (and thus more PCB to route + decoupling cap) on the same board.
I have a question regarding EEprom usage.
Is there any drawback (or risk) at using a 256Kb SPI EEprom (instead of 128Kb), the first 128Kb will be used to store the program, and once my XMOS device booted and program loaded, the program itself will use the same EEprom to store data on the second half of the EEprom.?
If I take all care when programming to avoid using the first 128Kb half, is there anything else to care about?
PS. The main idea is to avoid having a second EEprom (and thus more PCB to route + decoupling cap) on the same board.
-
- Experienced Member
- Posts: 126
- Joined: Fri Feb 12, 2010 10:31 pm
Hi Corin,
Thanks! I've got a couple of these, and I might try one with a converter in the DIP socket on my XC-1... It seems like they're sufficiently fast to act as a decent user-space RAM as well (if not as fast as parallel SRAM, it's still much faster than a lot of alternatives) for anyone looking for a bit more space. IIRC they come in up to 2 megabit modules, if you're willing to deal with the slightly higher current requirements of the FM25H?? series devices (which have similar interfaces otherwise).
Cheers,
Brendan
Thanks! I've got a couple of these, and I might try one with a converter in the DIP socket on my XC-1... It seems like they're sufficiently fast to act as a decent user-space RAM as well (if not as fast as parallel SRAM, it's still much faster than a lot of alternatives) for anyone looking for a bit more space. IIRC they come in up to 2 megabit modules, if you're willing to deal with the slightly higher current requirements of the FM25H?? series devices (which have similar interfaces otherwise).
Cheers,
Brendan
-
- XCore Addict
- Posts: 228
- Joined: Thu Jan 27, 2011 3:30 pm
- Location: Argenteuil - France
Yes but they are also a lot more expensive than the other SPI Ram alternatives. 32Kb SPI RAM from Microchip is only 20MHz but also costs only 1.24$ in low quantities (<25 units).bsmithyman wrote:Hi Corin,
...(if not as fast as parallel SRAM, it's still much faster than a lot of alternatives)
...
Cheers,
Brendan
-
- Experienced Member
- Posts: 66
- Joined: Fri Dec 11, 2009 3:38 pm
For general RAM I'd still probably just use a SPI RAM or better a parallel access SRAM, as they are cheaper. This is more suitable if you need to non-volatile nature. e.g logging data when something fails (think of a black box in your project).
@octal - there is no problem with using a larger flash - xflash/libflash has support for a user data area in the flash to allow applications to store data.
@bsmithyman - I have some of the FM25H devices, but unfortunately xflash cannot identify them as they are missing the RDID SPI command (basically they have no identifier ID). You should still be able to use them, but you can't actually tell it's on the end of the lines! I might have a play with one later...
Cheers,
Corin
@octal - there is no problem with using a larger flash - xflash/libflash has support for a user data area in the flash to allow applications to store data.
@bsmithyman - I have some of the FM25H devices, but unfortunately xflash cannot identify them as they are missing the RDID SPI command (basically they have no identifier ID). You should still be able to use them, but you can't actually tell it's on the end of the lines! I might have a play with one later...
Cheers,
Corin