而如果同时追求功能和速度的手机开发时,我们则会采用NOR+NAND+RAM的设计,这种取长补短的设计能够发挥NOR和NAND各自的优势。NOR与NAND各有所长,但两种优势无法在一个芯片上得到体现。所以,开发人员在选用Flash时,应该要趋其利而避其害,依照其使用目的在两者之间进行适当的选择。
(2)从硬件接口因素上考虑
除了速度、存储密度的因素,开发人员在选择闪存时,还需要考虑硬件上的接口设计、即插即用设计和驱动程序等诸多问题,因为两种类型的闪存在上述几个方面是有很多的不同。这些差异是与NOR和NAND自身的架构设计所决定的,例如在接口方面,NOR的设计有明显的传统闪存的特征,因此实际应用起来相对于NAND全新的、复杂的I/O设计要容易得多。
(3)从是否具有强大的驱动开发能力上考虑
在WinCE平台的驱动程序方面,NOR器件运行代码不需要任何的软件支持,而在NAND器件上进行同样操作时就需要存储技术驱动程序(MTD)的支持。虽然NAND和NOR器件在进行写入和擦除操作时都需要MTD,但使用NOR器件时所需要的MTD要相对少一些。
一般来说,高效率和经过优化的NAND驱动程序是需要很高的技巧的,开发难度对初入门者也是很大,因为NAND闪存的纠错和坏块处理功能都需要通过驱动程序来实现。还有由于串联的架构,NAND的晶体管之间很容易造成影响,使逻辑0变成逻辑1,并且也很难发现出问题的晶体管,这种现象称为位翻转(Bit-Flipping),这也需要动用EDC/ECC(错误检测码/错误修正码)来进行校正,而这方面的问题NOR则较少出现。