2006年10月 的归档

也谈谈JFFS2

上周大致看了些关于Flash上日志型文件系统的资料,了解到传统的基于闪存转换层(FLT)的文件系统存在的主要问题:
1. 效率低。因为每次都要把要修改的数据所在擦写块放入内存,产生了许多不必要的读操作;写入时,要将原来的擦写块擦除,然后再将内存中修改的数据写入该擦写块。这样就造成了数据带宽的严重浪费。
2. 降低了Flash的寿命。因为有大量无用的擦写动作,使得许多不需要擦除的块被擦除重写,这导致了整个Flash使用寿命的降低。
3. 没有提供磨损平衡,也会降低Flash的寿命。因为只要一个擦写块坏了,整块Flash也就不能用了,而那些频繁修改的块将会比其它块更快地成为坏块。
4. 不安全。如果在擦写过程中突然掉电,那么整个擦写块的数据将可能丢失。

继续阅读本文……

发表评论

SQLite移植手记

前几天成功地把Berkeley DB移植到uClinux上,虽然可以正常工作了,但是文件还是太大了些。今天来试一个稍微小一点的,它叫SQLite。 SQLite实现了大部分SQL92标准的SQL语句,同时支持ACID。还有其它许多特性这里不做深究,因为这在嵌入式领域来说应该是够用了。

继续阅读本文……

发表评论

uClinux上Berkeley DB v4.5.20移植手记

Berkeley DB 是一个很棒的开源的嵌入式数据库,它主要运行在Unix/Linux上。现在它已成为Oracle的一部分,叫作Oracle Berkeley DB
下面主要介绍一下它在我最近玩的uClinux上的移植过程。

继续阅读本文……

发表评论

BusyBox v0.60.4中mv的BUG

当mv一个不存在的文件替换已存在的目标文件时,会将目标文件删除。一个小BUG而已,不碍事,懒得去修正了……

-- EOF --

继续阅读本文……

发表评论