freman13:
Hi,
I googled a bit but without luck, mostly because I don't know which phrases should I use.
My question would be - is there a flash drive that can be connected to Arduino via SPI or I2C, that is not in form of memory card like SD card, but standalone chip like EEPROM memory?
Reason is, because I am triying to develop commercial grade product with Atmels and I want to be able to store up to 4GBs (can be less) of various data but try to avoid putting SD slot or similar just because flash memory usually comes in that form.
Yes there are single chip NAND flash like the THGBMHG7C1LBAIL-ND 16GB FLASH from Toshiba, but I do not think you want to mess around with a "153-WFBGA (11.5x13)" chip, one Hundred and Fifty Three pins on a Ball Grid Array 11.5mm x 13mm in size.
The maximum you can get with a reduce pin count would be one of the Cypress S70FL01GSAGMFI011 1GB SPI FLASH, an 16pin SOIC part. It is a duel die 512MB. It is actually two chips in one package. A problem with this part, is that it has a 512byte Write page, and a 512KB erase Page. So, anytime you need to change a '0' back to a '1' you have to erase 512KB's of data, The Arduino's don't have enough RAM for a triangle buffer, So you have to copy 512KB to a 'fresh' sector, Erase the 'old' sector, and move the data back. At a minimum, you have to move 1MB of data. A slow and painfull process for an 8bit CPU.
I use a lot of the W25Q64 (8MB) or W25Q128 (16MB) chips, they are a 24bit SPI Flash with 4k Erase Sector, 256byte WritePage in a 8pin package. Costs about $2. sometimes Cheaper.
For large, over 16MB you are going to have to use microSD for the simple interface and Library Support.
In most of my custom designs, I use a 64KB SPI RAM (23LC512), a 8MB SPI Flash (W25Q64) and a MicroSD slot. The SPI RAM is my triangle Buffer for updating the SPI Flash, and the microSD slot is were the results are moved. I treat the microSD as removable media, anything that must be persistent is stored in the SPI Flash.
If you have fast changing data that needs to be persistent, they make a SPI RAM the 23VLC1025 (128KB) that features a battery backup power input. I generally tie it to my RTCC coin cell. So, the data stored in it persists between power failures. The coin cell normally lasts about a Year.
Chuck.