[Arm-netbook] Real size of Mele A1000 NAND
lkcl luke
luke.leighton at gmail.com
Fri May 11 04:46:03 BST 2012
On Fri, May 11, 2012 at 2:29 AM, Tom Cubie <mr.hipboi at gmail.com> wrote:
>
> On May 11, 2012 5:19 AM, "David Given" <dg at cowlark.com> wrote:
>>
>> On 09/05/12 02:42, cnxsoft wrote:
>> [...]
>> > I also have 4GB NAND Flash (although it's more like 3800 MB) and I
>> > ordered with Deal extreme. I guess I used the dealextreme specs on my
>> > blog...
>>
>> 4GB here, too.
>>
>> The NAND driver appears to emulate a real block device, not an MTD
>> device --- most of the partitions contain ext4 file systems. My
>> partition table looks like:
>>
>> Device Name Location+Length (512 byte sectors)
>> -------------------------------------------------------------------
>> /dev/nanda BOOTFS 00000800+00008000
>> /dev/nandb LROOTFS 00008800+00010000
>> /dev/nandc LSYSTEMFS 00018800+00080000
>> /dev/nandd LDATAFS 00098800+00300000
>> /dev/nande MISC 00398800+00000800
>> /dev/nandf LRECOVERYFS 00399000+00010000
>> /dev/nandg LCACHEFS 003a9000+00040000
>> /dev/nandh env 003e9000+00001000
>> /dev/nandi UDISK 003ea000 to end
>>
>> BOOTFS is the boot partition, not dissimilar from /dev/mmcblk0p1
>> (although with more stuff in it). env is a uboot environment.
>>
>> The partition table itself is stored at offset 0 in the flash device. As
>> you can see, it's not in any partition, and there I haven't found
>> anything like a raw device, which means it can't be edited...
>>
>> The device driver code is in drivers/block/sun4i_nand/nfd; the low level
>> stuff including the wear levelling code is in
>> drivers/block/sun4i_nand/src. I have utterly no idea whether it's any
>> good. Anyone know why they didn't implement an mtdblock driver and use
>> yaffs2?
> well, the people working on nand in allwinner think MTD is an out of date
> technology. i have argued many times that we need a MTD nand driver. why a
> device driver should care about things like wear leveling?
often any automated wear leveling is completely wrong for the
application or the OS.
i heard a few years ago that it was possible to destroy one of these
automated DOS-optimised NAND drives within a few minutes, merely by
formatting it for ext2. the reason was very simple: the block size
chosen for the DOS-optimised NAND drive was 32k, and the ext2 file
system was using 4k blocks. each write of any one 4k block resulted
in *EIGHT* writes to the exact same 32k block.
jffs2 was designed to absolutely minimise wear, but it cannot operate
effectively on top of some other silly layer.
l.
More information about the arm-netbook
mailing list