It is possible to write one byte at a time, but the byte must be erased
Parallel flash chips (e.g. Spansion) usually need to erase the whole page and you can't erase just a byte, I am not sure about the byte-erase, btw, supposing you can't, I was thinking about a sort of write-back mechanism: you write into RAM (the buffer I was talking about), then, once dirty, the whole page is written into flash (and of course, in this working scheme, before writing, you need to erase the page)
Within the buffer size it works like a write-back cache, it's not exactly "randomly" access, but, within the allocated pages, it provides a few more degrees of freedom than flash
it takes 10µs to complete it
this will be handled by a specific FSM (FPGA side, probably a CPLD is not enough due to the
high complexity of the flash programming), my board already comes with DTACK in its bus, so I can handle the bus into "busy" until the mechanism has completed. No doubt it's a bit complex, and requires strict constraints, but in the theory it could work
As written I am not interested in flash, however I believe the idea (of serializing things, from the parallel bus, to the SPI bus) will work for SPI-FeRam, which comes with no page/byte-erase, and that removes the strict constraint, even if it's up to 40-50 clock time slower than the parallel method and requires the BUSY-DTACK-handling that I was tailing above. The good news is that I can find SPI FeRam for cheap, and they come in big size.
is it acceptable? I say it's a compromise
PROs
CONs
Concerting the
CY14B108L chip, it's 2Mbyte parallel/8bit/3.3V, and it costs 38 USD per chip (qty<10). I would say "interesting"
p.s.
I am a bit shocked about prices
littlediode_components (ebay co uk) sells
DS1270Y-70 (2Mbyte parallel/8bit/5V), at GBP 35,89, Circa 47,05 euro (brand new)
while Mouser sells at 278,50 euro
