From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Grant Edwards" To: ecos-discuss@sources.redhat.com Subject: [ECOS] Simple flash filesystem? Date: Mon, 05 Feb 2001 14:10:00 -0000 Message-id: <20010205221012.183C07A814@visi.com> X-SW-Source: 2001-02/msg00052.html I've been looking for info on flash filesystems, and have found pretty much nothing. What I have found are flash device-drivers that emulate 512-byte block devices so that you can use them in place of disk drives underneath file systems designed for disk drives. These filesystems are designed with (and optimized for) the following assumptions: 1) The physical media has 512 blocks that are independently erasable/writable. 2) Read and write operations are both an order of magnitude slower than RAM. 3) Read and write times for a sector depend on the sector number (i.e. there is a seek-time). 4) There is zero cost associated with an erase (either elapsed time or media lifetime). For flash, none of these assumptions are true. Blocks can only be erased in large chunks (typically 64k). Read operations are the same speed (roughly) as RAM. Write operations are an order of magnitude slower. Erase operations are _another_ order of magnitude slower and have an associated media life cost. Read/write speeds are independant of address. Though it may be the most expedient thing to do in the short-term, It seems like a bad idea to take a complex filesystem designed for disk and use it for a flash. For example, it seems like a waste of effort to impliment 512 byte blocks when the filesystem uses them in 4K clusters. Rather than try to make a flash act like a disk drive (and using a disk-drive filesystem), has anybody seen any information on a simple filesystem designed for flash? -- Grant Edwards grante@visi.com