NAND 和 NOR 的区别
简单点说,主要的区别就是:
1、 NAND 比NOR 便宜;NAND 的容量比NOR 大(指相同成本);NAND 的擦写次数是NOR 的十倍;NAND 的擦除和写入速度比NOR 快,读取速度比NOR 稍慢;
2、 NAND 和NOR 的读都可以以字节为单位,但NAND 的写以page 为单位,而NOR 可以随机写每一个字节。NAND 和NOR 的擦除都以block 为单位,但一般NAND 的block 比NOR 的block 小。另外,不管是NAND 还是NOR ,在写入前,都必须先进行擦除操作,但是NOR 在擦除前要先写0 ;
3、 NAND 不能在片内运行程序,而NOR 可以。但目前很多CPU 都可以在上电时,以硬件的方式先将NAND 的第一个block 中的内容(一般是程序代码,且也许不足一个block ,如2KB 大小)自动copy 到ram 中,然后再运行,因此只要CPU 支持,NAND 也可以当成启动设备;
4、 NAND 和NOR 都可能发生比特位反转(但NAND 反转的几率远大于NOR ),因此这两者都必须进行ECC 操作;NAND 可能会有坏块(出厂时厂家会对坏块做标记),在使用过程中也还有可能会出现新的坏块,因此NAND 驱动必须对坏块进行管理。
性能比较
flash闪存是非易失存储器,可以对称为块的存储器单元块进行擦写和再编程。任何flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除。NAND器件执行擦除操作是十分简单的,而NOR则要求在进行擦除前先要将目标块内所有的位都写为0。
由于擦除NOR器件时是以64~128KB的块进行的,执行一个写入/擦除操作的时间为5s,与此相反,擦除NAND器件是以8~32KB的块进行的,执行相同的操作最多只需要4ms。
执行擦除时块尺寸的不同进一步拉大了NOR和NADN之间的性能差距,统计表明,对于给定的一套写入操作(尤其是更新小文件时),更多的擦除操作必须在基于NOR的单元中进行。这样,当选择存储解决方案时,设计师必须权衡以下的各项因素。
● NOR的读速度比NAND稍快一些。
● NAND的写入速度比NOR快很多。
● NAND的4ms擦除速度远比NOR的5s快。
● 大多数写入操作需要先进行擦除操作。
● NAND的擦除单元更小,相应的擦除电路更少。
nandflash中的page size、block size和ubi size是什么?
NAND Flash 存储器中的 page size、block size 和 UBI size 这三个概念是密切相关的,它们对 NAND Flash 的性能和使用寿命都有重要影响。下面分别介绍它们:
- Page Size
- Page Size 是 NAND Flash 存储器的最小读写单元,通常为 2KB、4KB 或 8KB 等。
- 在读写 NAND Flash 时,都是以 Page 为单位进行操作的。
- Block Size
- Block Size 是 NAND Flash 存储器的擦除单元,通常为 128KB、256KB 或 512KB 等。
- 一个 Block 由多个 Page 组成,在 NAND Flash 上进行数据擦除操作时,都是以 Block 为单位进行的。
- UBI Size
- UBI(Unsorted Block Images)是一种基于 NAND Flash 的逻辑层,提供了一个虚拟的 MTD(Memory Technology Device)设备。
- UBI Size 指的是 UBI 层中每个 PEB(Physical Erase Block)的大小,通常与 NAND Flash 的 Block Size 相同或是其整数倍。
- UBI 层会把 NAND Flash 的物理块(Block)虚拟为 PEB,并提供一个更加可靠和易用的存储接口。
这三个概念之间的关系如下:
- Page Size 决定了 NAND Flash 的最小读写单元。
- Block Size 决定了 NAND Flash 的最小擦除单元。
- UBI Size 决定了 UBI 层的逻辑块大小,通常与 Block Size 相同或是其整数倍。
在使用 NAND Flash 存储系统时,需要根据实际的 NAND Flash 参数,合理设置 Page Size、Block Size 和 UBI Size,以充分利用 NAND Flash 的性能和可靠性。例如,在创建 UBIFS 文件系统时,就需要根据 NAND Flash 的 Page Size 和 Block Size 来设置相应的参数。