位反转的问题更多见于Nand-Flash闪存,Nand-Flash的供应商建议使用Nand-Flash闪存时,同时使用EDC/ECC算法。当然,如果用本地存储设备来存储操作系统、配置文件或其他敏感信息时,则必须使用EDC/ECC(纠错码)系统以确保可靠性。
(3) 坏块处理
Nand-Flash器件中的坏块是随机分布的。以前做过消除坏块的努力,但发现成品率太低,代价太高,根本不划算。Nand-Flash器件需要对介质进行初始化扫描以发现坏块,并将坏块标记为不可用。在已制成的器件中,如果通过可靠的方法不能进行这项处理,则将导致高故障率。
5. 易用性
可以非常直接地使用基于Nor-Flash的闪存,像其他存储器那样连接,并可以在上面直接运行代码。由于需要I/O接口,Nand-Flash要复杂得多,各种Nand-Flash器件的存取方法因厂家而异。在使用Nand-Flash器件时,必须先写入驱动程序,才能继续执行其他操作。向Nand-Flash器件写入信息需要相当的技巧,因为设计人员绝不能向坏块写入,这就意味着在Nand-Flash器件上自始至终都必须进行虚拟映射。
6. 软件支持
在Nor-Flash器件上运行代码不需要任何的软件支持。在Nand-Flash器件上进行同样操作时,通常需要驱动程序,也就是闪存技术驱动程序(Memory Technology Devices,MTD)。Nand-Flash和Nor-Flash器件在进行写入和擦除操作时都需要MTD,但使用Nor-Flash器件时,所需要的MTD要相对少一些。许多厂商都提供用于Nor-Flash器件的更**的软件,在Linux系统中采用JFFS驱动,这在后文中将具体讲述。