Re: [uCsimm] FS on FLASH

From: 권석근 (kwonsk@mutech.co.kr)
Date: Wed Mar 01 2000 - 03:39:58 EST


Hi, all

I've received message from David Hinds. and the message shows that
it was already corrected in new version. OK, MTD source tree have
old version of FTL. Now i could prepare patch.
As i said before, i did a test on FS on FTL on FLASH. and the result is
here.
This test is for stablilty of FTL. I've made FLASH device emulator (patch
on
slram.c) which use shared memory instead of actual FLASH. it's a real
emulator like treat do_erase as fill 0xFF on erase block and so and so. Test
loop
is just copy/delete files from harddisk to FLASH emulator 100,000 times.
(Do not try this test on actual FLASH, if you do, you will get worned out
FLASH :-))
I've checked erase count for each erase block and status of FS (is it
heathy?)
after testing. Testing result is impressive. See bellow.

Test script:
--------------------------------------
#!/bin/sh
# test 10k of write test for dosfs on FTL on MTD on FLASH
i=0
echo start testing
insmod slram
ftl_format /dev/mtd0
insmod ftl
mkdosfs /dev/ftla
mount /dev/ftla /mnt
while [ $i -lt 100000 ]
do
 # write
 cp /home2/romdisk.img /mnt
 cp /home/kwonsk/uClinux/testing/romdisk/sbin/* /mnt
 rm -f /mnt/*
 cp /root/ucsimm/uC-libm/* /mnt
 rm -f /mnt/*
 i=$(($i + 1))
done
umount /mnt
rmmod ftl
rmmod slram
echo done
----------------------------------------

Result is
----------------------------------------
Feb 29 19:21:52 controller kernel: Registered physmem device from 32768Kb to
33792Kb
Feb 29 19:21:52 controller kernel: Mapped from 0x02014000 to 0x02114000
Feb 29 19:21:52 controller kernel: Valid FTL partition found.
Feb 29 19:21:52 controller kernel: ftl_cs: opening 912 kb FTL partition
Feb 29 19:21:52 controller kernel: ftla: unknown partition table
Mar 1 04:55:22 controller kernel:
Mar 1 04:55:22 controller kernel: erase count[0] = 26619 (6 %)
Mar 1 04:55:22 controller kernel: erase count[1] = 26621 (6 %)
Mar 1 04:55:22 controller kernel: erase count[2] = 26624 (6 %)
Mar 1 04:55:22 controller kernel: erase count[3] = 26619 (6 %)
Mar 1 04:55:22 controller kernel: erase count[4] = 26629 (6 %)
Mar 1 04:55:22 controller kernel: erase count[5] = 26621 (6 %)
Mar 1 04:55:22 controller kernel: erase count[6] = 26619 (6 %)
Mar 1 04:55:22 controller kernel: erase count[7] = 26622 (6 %)
Mar 1 04:55:22 controller kernel: erase count[8] = 26619 (6 %)
Mar 1 04:55:22 controller kernel: erase count[9] = 26619 (6 %)
Mar 1 04:55:22 controller kernel: erase count[10] = 26623 (6 %)
Mar 1 04:55:22 controller kernel: erase count[11] = 26618 (6 %)
Mar 1 04:55:22 controller kernel: erase count[12] = 26627 (6 %)
Mar 1 04:55:22 controller kernel: erase count[13] = 26641 (6 %)
Mar 1 04:55:22 controller kernel: erase count[14] = 26619 (6 %)
Mar 1 04:55:22 controller kernel: erase count[15] = 26620 (6 %)
Mar 1 04:55:22 controller kernel: total 425960 erase
-----------------------------------------------

Result show evenly distributed erasing. and as you guess FS is
heathy after this test. And there were no complaining from FS/FTL/FLASH
drivers
during this test. It's GOOD, and expected one!

note about crashing:
after reading FTL spec and actual code, i knowed that they use 'hold current
state
until confirm" rule. it means that if we get power fail during flash
activity
then we get old heathy state on flash rather than crashed state.
i think it's more safe than normal harddisk. But for data consistency,
we must do something like power fail catch. and normal desktop linux
also do that if they want maximum safty of data.

Thanks.
kwonsk

This message resent by the ucsimm@uclinux.com list server http://www.uClinux.com/



This archive was generated by hypermail 2b30 : Sun Apr 07 2002 - 00:01:34 EST