How to choose appropiate memmory kind? - Page 1
Forum section: electronics / beginners

author: diegoterc3
author_rank: Regular Contributor
timestamp: September 10, 2014, 01:36:46 am
content: Hello, I have a little project that needs some kind of storage. With a couple of microseconds of reading speed is ok.Well, I want to connect a memmory and ADC with a microcontroller through spi. The thing is that I want to control a thermal profile comparing the data from the adc and memmory, I think a rom would be ok for this but here is the detail. I would like to load new thermal profiles trhough a bluetooth so a rom wouldn´t work. If I use RAM all data will be lost if disconnected. Also If I use a ROM, how can it be written? Is it better if I write it with another circuit and then solder the rom to the board? what if it is a superficial chip? Everything looks confusing. Please HELP!

author: sacherjj
author_rank: Frequent Contributor
timestamp: September 10, 2014, 01:38:57 am
content: How much storage?256 bytes? 1024 Kbytes?What processor platform?

author: diegoterc3
author_rank: Regular Contributor
timestamp: September 10, 2014, 01:48:03 am
content: Just 4096 bytes. I am using a PIC18F452

author: diegoterc3
author_rank: Regular Contributor
timestamp: September 10, 2014, 01:54:41 am
content: I have been reading and found a FLASH memory. I think that kind of memory will work. What do you think?

author: sacherjj
author_rank: Frequent Contributor
timestamp: September 10, 2014, 02:14:35 am
content: I would probably go with an SPI based EEPROM.

author: David Hess
author_rank: Super Contributor
timestamp: September 10, 2014, 04:04:52 pm
content: Or an SPI based SRAM with battery backup.Many microcontrollers have provisions to maintain their internal SRAM when shut down.

author: mariush
author_rank: Super Contributor
timestamp: September 10, 2014, 04:21:51 pm
content: You can use flash based eeprom which comes with SPI or I2C which makes them easy to work with. These have a reasonably large number of writes and they're fast and they're cheap enough that you could get a 32KB or 128KB one and just use random 4KB segments to do some "wear leveling" if you're concerned about it.There's also FeRAM memories available, they work just like regular eeprom chips through serial, spi or i2c but they're more resilient (way more read and writes compared to flash) and if I remember correctly, they're faster and use less energy. See this page for some examples:http://www.digikey.com/product-search/en?pv149=120&FV=fff40027%2Cfff80434&mnonly=0&newproducts=0&ColumnSort=0&page=1&quantity=0&ptm=0&fid=0&pageSize=500

author: macboy
author_rank: Super Contributor
timestamp: September 10, 2014, 05:43:26 pm
content: Why use FLASH based EEPROM? For only 4 kB, an old-school byte-erasable EEPROM is cheap and plentiful. I2C or SPI, take your pick. You should be good for between 1k and 1M write cycles, and decades of retention.

author: David Hess
author_rank: Super Contributor
timestamp: September 10, 2014, 06:48:48 pm
content: Floating gate memory retention can be greatly increased by periodically refreshing the contents but it is rarely an issue.

author: diegoterc3
author_rank: Regular Contributor
timestamp: September 10, 2014, 10:17:43 pm
content: EEPROM looks good. And I think both will work. On wikipedia says :" flash memory costs much less than byte-programmable EEPROM and has become the dominant memory type wherever a system requires a significant amount of non-volatile, solid state storage".So the main difference is that Flash based EEPROM costs less and has more storage but on the other hand byte-erasable EEPROM has less storage and cost more?What about the writes to them. Do I need to rewrite every byte if I want to put new information?

author: David Hess
author_rank: Super Contributor
timestamp: September 11, 2014, 12:12:20 am
content: Quote from: diegoterc3 on September 10, 2014, 10:17:43 pmEEPROM writes occur at the word level. In practice they look like any other random access memory but have slow write cycle times.