1
\$\begingroup\$

I am designing a device that does not have an external bus interface and requires a modest ram size for binary data buffering. 16mb would be great, more would be awesome.

It's quite easy to find SPI flash that are 32 - 64 mb, but a lot more complex to find > 4 mb SPI RAM.

I found one 4mb at cypress :

http://www.cypress.com/documentation/datasheets/cy15b104q-4-mbit-512-k-8-serial-spi-f-ram-datasheet

But :

  • I would need to have 4 chip. That's lot of PCB area.
  • It cost a lot. The unitary price is almost 27$ ( ! )

What other options do I have ?

\$\endgroup\$
5
  • \$\begingroup\$ That's FRAM (ferroelectric, non-volatile), not ordinary SRAM or DRAM. No wonder it's more expensive. \$\endgroup\$ Commented Aug 30, 2017 at 10:23
  • \$\begingroup\$ I have to say 16Mb does not seem "modest"! I would be looking at changing to a micro with an external bus. The cost will be way lower, I have looked for serial SRAMs with little success in the past. \$\endgroup\$
    – DiBosco
    Commented Aug 30, 2017 at 10:41
  • \$\begingroup\$ 16mb does not seems me huge. I mean for a MCU it's quite big but we have been working on some other project with 256 MB parallel ram. Hence " modest ". \$\endgroup\$
    – FR_A91
    Commented Aug 30, 2017 at 11:48
  • \$\begingroup\$ I didn't use the word huge, but in terms of the overwhelming majority of embedded systems I have worked on, it's a lot and certainly not modest. \$\endgroup\$
    – DiBosco
    Commented Aug 30, 2017 at 12:48
  • \$\begingroup\$ You could try this (64mbit): electrodragon.com/product/2pcs-ipus-ips6404-iot-ram \$\endgroup\$
    – hyperspasm
    Commented Aug 6, 2020 at 15:09

3 Answers 3

3
\$\begingroup\$

You can get 512MB for $10 and they even throw in a complete ARM computer around it.

If you really want a serial RAM to retrofit on an existing board, the irony of modern ultra-mass-production is that it would probably be cheaper to stick the above ARM SBC with a little bit of code on it to emulate a serial RAM than to purchase the dedicated hardware device (if it even exists). And while you're at it, replace the existing micro with it...

If this is for DIY or low production volumes, I suggest you use such a module. Otherwise, there are Cortex-M4 or M3 micros with SDRAM interfaces, so you can simply add a cheap SDRAM chip.

The drawback of SDRAM and a big cpu is the higher power consumption versus SRAM and a slow cpu. If you absolutely need very low power, then that will be an issue. But SRAM is a lot more expensive and less available than SDRAM.

Here's another non-volatile option but also too small and expensive, although these non-volatile chips offer an interesting option: power draw is very low when not in use, because you can power them down!

What kind of speed and power do you need?

If this is for data logging, and the data throughput is low enough, the number of writes low enough, you could also use a SPI flash...

\$\endgroup\$
2
  • \$\begingroup\$ I can't replace the existing micro... That's the whole point. It's the only one that support all the communication channels I need ( Flexray , CAN FD 2015, Ethernet, USB ) Actually, using an SPI flash is not a bad idea. I guess it highly depend on the chip erase time, I have to give it a try. 1 - 2 mb per second would be OK. \$\endgroup\$
    – FR_A91
    Commented Aug 30, 2017 at 12:00
  • \$\begingroup\$ It has ETHERNET?... No problem then, implement the buffer into another networked device! Like a Raspi, or whatever. Or USB, you can program a ARM SBC as a USB device, using usb-gadget lib, so you can turn your $10 NanoPi into a RAM-based USB mass storage device. \$\endgroup\$
    – bobflux
    Commented Aug 30, 2017 at 12:04
0
\$\begingroup\$

Once you get beyond 4MB, people generally switch to DRAM to save money. That means there's virtually no commercial pressure to develop larger SRAM or bring its price down.

So the answer to the question is simple : your other option would be DRAM. Which doesn't have an SPI interface, so you're looking at a 2-chip solution. It's still smaller and cheaper than a 4-chip SRAM solution, but more power hungry.

You could use a microcontroller with both SPI and DRAM interfaces as your SPI interface, or a small FPGA if you need more performance. Probably more practical to re-think that "no external bus" design constraint.

\$\endgroup\$
2
  • \$\begingroup\$ So you would use a 2nd MCU to make an SPI - DRAM interface for 1st MCU ? That's a good idea ! Any MCU recommandation ? \$\endgroup\$
    – FR_A91
    Commented Aug 30, 2017 at 11:56
  • \$\begingroup\$ Something fairly fast, with an easy DRAM interface, and an SPI interface that you can use as a slave. Nothing specific. \$\endgroup\$
    – user16324
    Commented Aug 30, 2017 at 12:38
0
\$\begingroup\$

IS62WVS5128FBLL-20NLI is an example of a 4Mbit SPI-accessed true SRAM (standby current just 8uA).

These currently around GBP 3.38 from Mouser - available in all the handy small packages - SOIC and TSSOP https://www.mouser.co.uk/ProductDetail/ISSI/IS62WVS5128FBLL-20NLI?qs=w%2Fv1CP2dgqrL91y31iOeeQ==

So 512Kbytes of RAM for well under £4.

\$\endgroup\$

Not the answer you're looking for? Browse other questions tagged or ask your own question.