(4)可靠性和坏块管理的比较
一般来说,NOR闪存的可靠性要高于NAND闪存,这是因为NOR闪存的接口简单,数据操作少,位交换操作少,因而一般用在对可靠性要求高的地方。相反,NAND闪存接口和操作均相对复杂,位交换操作也很多,因而出现差错的几率会大很多,而且坏块是不可避免的,还有坏块都是随机分布的。因此,在使用NAND Flash时意识到有坏块的可能性是非常重要的。为了检测数据的可靠性,在应用NAND Flash的系统中一般都会采用一定的坏区管理策略,而管理坏区的前提是能比较可靠地进行坏区检测。
所以,为防止使用时向坏块写入数据,在编写和开发驱动程序的时候,必须要配合EDC/ECC(错误探测/错误更正)和BBM(坏块管理)等措施来保障数据的可靠性,这就对开发人员的驱动开发能力提出了一个很高的要求。
通过以上的比较可以发现,NAND更适用于复杂的文件应用,但是由于NAND的使用相对复杂,所以对驱动程序的开发能力有较高的要求。简单的说,就是NOR闪存是随机存储介质,用于数据量较小的场合;NAND闪存是连续存储介质,适合存放大的数据,但需要驱动程序和坏块管理优化等开发能力。
2.在WinCE下如何选择合适的Flash闪存?
NAND Flash具有存取速度快、体积小、成本低的特点,适宜作为海量数据的存储设备。但大容量的NAND Flash的实现方案也必须要小心处理动态扇区分配、坏块管理。因此,如何做到“鱼与熊掌,两者兼得”,可以从以下几个角度进行考虑:
(1)从使用目的角度来选择
在选择存储解决方案时,开发人员应该在多种因素之间进行权衡,以获得较高的性价比。一般的原则是:在大容量的多媒体应用中选用NAND闪存,而在数据/程序存贮应用中选用NOR闪存。根据这一原则,设计人员也可以把两种闪存芯片结合起来使用,用NOR芯片存储程序,用NAND芯片存储数据,使两种闪存的优势互补。
以我所负责的这个智能手机的项目为例,对于追求小巧优雅的手机将采用NOR+RAM的设计方案,因为采用支持XIP技术的NOR闪存能够直接运行OS,速度很快,既简化了设计又降低了成本。但NOR闪存的不足之处是存储密度较低,所以在追求大存储容量的时候,我们是采用NAND+RAM的设计。对于这两种方案,很难说哪一种更好,因为我们不能离开具体的产品而从某一个方面单纯地去评价。