It can be frustrating waiting for a critical technology to be ready for market. We see ever increasing power and complexity in embedded CPUs, but other vital system components seem to have stalled. Specifically, I am thinking about batteries and memory.
I am still waiting for a great leap in battery performance – faster charging and larger capacity. My money is on graphene super-capacitors being the way forward. With memory, help may be at hand …
Historically, the memory architecture of most embedded systems was quite simple, as I wrote about before: code and constant data was placed in a ROM [typically a UV erasable EPROM] and variables in RAM. In recent years, flash memory has mostly replaced EPROM, as it is cheap and can be programmed and re-programmed in situ. However, flash has a few drawbacks:
- It is relatively slow and complex to program
- Programming requires significant power
- Devices have a limited lifetime
- Access time is slow
The last of these factors is commonly addressed by copying all the contents to RAM and executing the code from there.
A number of new memory technologies have been discussed in recent years, but nothing seems to make it beyond the research phase. At least, that has been the case until now. The latest candidate for flash replacement is called Resistive RAM [RRAM] and was announced last week.
This new type of memory has a very simple structure and the vendors anticipate that this will enable it to be very competitively priced. Notably, it clearly addresses the first 3 problems with flash listed above. It is fast and easy to program, does not require much programming power and is predicted to have a much longer lifetime.
I am frustrated by what appears to be a specific lack of information in the published data. Maybe I am not looking hard enough or not interpreting the data correctly, but I cannot find any specification for RRAM access time. Thus, I am unsure whether the copying to RAM process will be needed or code can execute straight from RRAM. The latter would simplify system design and speed up the start up process.
If anyone can enlighten me, please comment or email.