Looking for small Ethernet in-memory database


Thread Starter

Rob Hulsebos


I'm looking for the following. A customer of mine is developing a machine which requires 32K of memory for storage of non-volatile data (to survive power-outs, CPU crashes, application crashes, etc.) for keeping track of the state of the machine.

Approximately 32K is needed, which must be capable of r/w of small packets of data (1..20 bytes) at a frequency of 100 Hz. Up to 25
clients should be able to simultaneously access this memory. Flash memory looks unusable because it only supports a limited number of 'writes', so I'd like to use memory with an unlimited number
of write-accesses.

Ethernet is already available for all clients, so an Ethernet-based server looks ideal. I'm thinking about using a PC104 x86 CPUboard with a PCMCIA card, but before I start designing this, does anyone on this list know if such a module already exists 'off the shelf'? (I found one in Germany for CAN, but with a proprietary protocol, so useless...)

Rob Hulsebos

Lynn August Linse

Why not just create this NVRAM as a small Modbus/TCP server. Then clients use common Modbus register commands to fetch data. Modbus/TCP is fast & easy to do - no connection setup beyond TCP.

The life of Flash is limited, but it is "long" - in the 100K to 1M rewrites range. But if unlimited writes are desired, I think your only choice will be a battery or super-cap backed RAM with a function to auto-undate Flash or EEPROM on powerdown. This is common "old' technology & ugly but likely your only option.

Lynn August Linse, lynnl (at) digi.com
IA Firmware Specialist, Digi Int'l (www.digi.com)
Board Member, The Modbus Organization (www.modbus.org)
26741 Portola Pkwy, Suite 1E #242
Foothill Ranch CA 92610-1743 USA
Ph/Fx: 949-916-1524 or 949-212-5802