On Wednesday 07 March 2007 11:35, Johnson, Charles F wrote:
> I'm new to the game regarding flash file systems. So no, I'm
> not that familiar with the consequences.
> I'm trying to learn enough to keep the hardware designers
> honest.
NAND chips designers need to incorporate all the logic necessary
to provide reliable block access within the device -- the whole
ECC business sucks. They don't have to solve the issue of bad
blocks, but that would be nice. But don't get too fancy like
SD/MMC and compact flash, we want a regular chip package. Look
and RAM ECC designs for ideas, syndrome etc.
Having a new, but industry standard, low pin count interface
would be nice. Make this usable in a software bit-bang
configuration, but also design it such that a h/w controller
could off-load the i/o. (cf. i2c, spi), but remember
performance/throughput counts.
Make asynchronous erase easy.
Make asynchronous write-behind easy.
Yes, some chips already have some limited capabilities.
Provide some non-volatile registers that can hold some
state for use by the host NAND drivers, something that
can be written rapidly and perhaps some for use by the NAND chip
to record things such as "erase of block X in progress", and the
like. If this requires an additional low current backup supply
(battery) so be it; we already have one for the RTC anyway.
Mechanisms for fast recovery after powerfail are needed.
I'm sure to have more wishes once these problems are solved!
-imcd