I'm gonna design a board which data logging it's mandatory! I don't think that i have sufficient space in pcb for large parts but i want an embedded flash (dedicated IC). For handling unexpected power downs the system must storing data every time which is determined by some interval value (seconds). Data have string format with undefined lenth. And i need to store that data in an embedded flash memory. Data comes from, sensors and other peripherals such as power supply monitoring.

  • Who memory type is best for that purpose? (NAND or NOR)?

I will glad with a >4MB memory capacity. In a little research i find that NAND flash have small amount of pages with large capacitance and this will consumes more W/E cycles.


  • 1
    \$\begingroup\$ Is your uC/processor powerful enough to support a file system layer? \$\endgroup\$ Sep 27, 2015 at 12:10
  • 1
    \$\begingroup\$ To give you a quick general answer, NAND is generally preferred for sequential/logging style data... \$\endgroup\$ Sep 27, 2015 at 12:26
  • \$\begingroup\$ @RespawnedFluff my uC is an ARM Cortex-M7, i think it's powerfull enough. But i will not using some OS, \$\endgroup\$
    – MrBit
    Sep 27, 2015 at 12:35

2 Answers 2


If you're looking for something which can withhold many write cycles you might want to to look at FRAM (e.g. from Cypress). Basically unlimited Write/Erase cycles. Of course, this comes at a cost. If you're looking for large storage, go for NAND but make sure that you do not write to the same sector/page again and again.

  • \$\begingroup\$ en.wikipedia.org/wiki/Ferroelectric_RAM \$\endgroup\$ Sep 27, 2015 at 12:42
  • \$\begingroup\$ Yes, i know that writing to same page it's a little painful for NANDs (and NORs). I'm between nor and flash memories. How easy it may be the NAND flash interface? \$\endgroup\$
    – MrBit
    Sep 27, 2015 at 12:47
  • \$\begingroup\$ Last I looked, FRAM devices were more like 128KB than 4MB ... has that changed? \$\endgroup\$
    – user16324
    Sep 27, 2015 at 19:06
  • \$\begingroup\$ 4MBit are available: cypress.com/products/4-mb-f-ram. 4MByte not, nvSRAM would be another option \$\endgroup\$
    – Tom L.
    Sep 27, 2015 at 19:33

I realize you mentioned using a dedicated IC, but I believe the easiest way to add a device for data logging in a reasonably small space is to use a microSD card. The connection to the microcontroller is a four wire SPI bus (CLK, SDI, SDO, and CS). Because of their high volume, they are very inexpensive -- 8 GB for $5 on Amazon, probably less on eBay. These happen to use NAND flash, but that's transparent to the user.

You don't need an operating system, you can just write to it as individual sectors. Because the space is so huge, there is no issue of wearing out the card. The spec for the SPI interface to SD cards is publicly available, and there's also lots of code for writing and reading to the card around.

If you want to add the code to implement a FAT file system, then you could remove the card and read it in a PC. There's a lot of code around to do that also.

  • \$\begingroup\$ I think removable feature of microSD card may cause data corruptions. The memory must stay always attached in system to prevent data loss by unexpected power downs. But i understand the flexibility and useful of that memory type. \$\endgroup\$
    – MrBit
    Sep 28, 2015 at 16:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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