> but i think inferno's logfs and ftl both assume 512 byte pages instead
> of 2048 byte pages that the sheevaplugs nand flash has (though it has
> writable subpages of 512 bytes), so i'm not sure how hard/easy an fs on
> it will be.

Some NAND flash definitions:
block = smallest erasable unit
page = smallest writable/readable unit.

Inferno's logfs limits the maximum number of pages per block to 32
because it uses a 32-bit integer bit mapping. The flash you're using,
has 64 pages per block.  You'll need to switch to vlong and change all
the associated bit bashing code.

>
> if anyone has tips & tricks for dealing with nand flashes, i'm interested
> in hearing them.  one question i have:  can you read the erase/program
> times from the chip? (hard-coding a table with properties based on data
> sheets isn't so great).  another: my new sheevaplug has samsung memory
> instead of hynix, so a different vendor id in the chip.  but the "device
> id" is the same (identifying chip properties (size, voltages, etc)).
> are those device id's standardized?  that would make a hard-coded table
> less annoying at least...

NAND flash technology is moving very quickly and new standards will
give you timing info. However, the hardware you mention will require
you to put the timing numbers in a table.

I don't know if device IDs are standardized, so I make no such assumption.

For Samsung chips, pure data retention is guaranteed for 10+ years.
Repetitive reading, without erasing the blocks is verified to 1E6
cycles. The number of program/erase operations is guaranteed up to 1E6
cycles if the system adopts ECC.

I've not seen much agreement with ECC and bad block mapping when it
comes to either linux or uboot. There are slabs of NAND specific code
in the linux tree that are never used. There are more slabs of code
that are used sometimes. You can do whatever you want.

I've only dealt with embedded systems and they're all different. Read
word size, write size,
it's all an experiment to what works. If you're lucky, you can put a
probe on a pin and look at a signal but normally it's just trial and
error.

Reply via email to