storage device have I to use to save big data in a fast way

hello

what storage device have I to use with Arduino in order to save big data in a fast way? :wink:

I want to write 20 bytes in 1 millisecond at most, and I have to stay recording

this data for 12 seconds at less, 1-minute I will be happy :slight_smile: .

-in the first time, I used sd-card but I found out that the sd-time take a long time

to save data about 15ms

  • second I think about an external EEPROM but I found that a take a 3ms to recode only 1 byte

I little bit confused about the choice that should I to make

FRAM

Try a FRAM Ferroresonant Random Access Memory. Adafruit sells them. You can get them big enough to buffer all of your readings then dump when you are finished acquiring data. These have unlimited read and write cycles. Put it on the SPI rather then I2C for much faster speed. You can use more then one if you cannot get one large enough.
Good Luck & Have Fun!
Gil

gilshultz:
Try a FRAM Ferroresonant Random Access Memory. Adafruit sells them. You can get them big enough to buffer all of your readings then dump when you are finished acquiring data. These have unlimited read and write cycles. Put it on the SPI rather then I2C for much faster speed. You can use more then one if you cannot get one large enough.
Good Luck & Have Fun!
Gil

The main disadvantage of Commercial FRAM is their capacity which is not enough to store all my variables. Tell me about openlog module that use buffer and sd-card?

I found it yesterday in sparkfun, give me your opinion about it

MorganS:
FRAM

thnx, but I have to store 10 variable, 2 byte of each one, 250time each second,
during 2 minutes. Means
210250 = 5000 bytes for one second
5000602= 600,000 bytes
I need 0.6 megabyte of memory.

Is there FRAM with this capacity

Do you have to repeat the log operation (240000 bytes to save) several times ?

Openlog uses Serial and an SD card. If you can get the data rate you require on Serial then it would probably work.

With the Serial buffer in the openlog, the SD card inconsistencies would not impact your code.

MorganS:
Openlog uses Serial and an SD card. If you can get the data rate you require on Serial then it would probably work.

With the Serial buffer in the openlog, the SD card inconsistencies would not impact your code.

this what I believe , I need somebody who has did this test before to confirm that .

ard_newbie:
Do you have to repeat the log operation (240000 bytes to save) several times ?

yes I have to repeat saving data each 4ms

I have to save a 20 bytes each 4ms during 2 minutes

but the saving process should not be more than 1ms .

There is a fast way to log data: Flash memory. A arduino DUE has 512 Kbytes of Flash and there is a library to store data in Flash , DueDFlashStorage library.

Note that, unlike a FRAM, Flash memory is not designed to sustain more than a few thousands of writes on each address.

You can get FRAM chips today at least 4 Mb, note that is per chip and you can put a lot of them on a small PCB. Check this link: https://www.cypress.com/products/f-ram-nonvolatile-ferroelectric-ram

Good Luck & Have Fun!

Gil