cvs commit: src/sbin/atacontrol atacontrol.c

Dag-Erling Smørgrav des at des.no
Mon Dec 17 08:09:40 PST 2007


Bruce M Simpson <bms at incunabulum.net> writes:
> The feedback I've seen in FreeBSD forums regarding ATA write caching
> tends to back up your original assertion.

It wouldn't be the first case of uninformed people reinforcing
eachother's belief in incorrect information.

> I wonder if vendor neutral, reproducible, scientific research has been
> conducted into this issue.

Scientific research?  Since when does reverse engineering qualify as
scientific research?

> * NAND Flash embedded ATA controllers should not erase sectors
> containing data unless absolutely necessary, to implement wear
> levelling.

No.  Blocks which go from used to unused should be immediately erased.
Otherwise, the device fills up with unused, unerased blocks and you end
up having to erase a block every time you write to the device.

Remember that cells in NAND flash can only be changed in one direction
(one to zero for single-level flash) without being erased.  As a result,
there are very few cases (allocation bitmaps being one of them) where
you can write to the same block of NAND flash multiple times without
erasing it in between.

> [I came across an alternative to JFFS2 awhile back whose name escapes
> me, which might work for the SDIO arm stuff imp was playing with.]

Specialized file systems such as JFFS and YAFFS are not very useful for
flash media with built-in wear levelling, such as USB sticks or CF / SD
cards.  They are mostly useful for embedded devices with on-board NAND
flash.

DES
-- 
Dag-Erling Smørgrav - des at des.no


More information about the cvs-all mailing list