
上图从网上找的,应该是大概说明了两种 flash 的区别。 有一个点是:NOR 最小读取单位是字节,NAND 最小读取单位是页。我结合上图的 NOR 部分来理解“NOR 最小读取单位是字节”,是不是应该这么解释:
- 当我选中了 word line ,就确定了一个字节的数据
- 当我再选中了 bit line ,就确定了一个 bit 的数据。
- 另外,当我两个线都确定了的话,是不是可以说 最小读取单位是 bit 了?
另外,NOR 可以执行代码,是不是因为代码执行通常有函数跳转的过程,所以就必须就需要随机存取的能力;而 NAND 只能在一个页 顺序读取,而代码执行不可能全是顺利执行的过程,所以 NAND 不可以执行代码。
- 或者反过来说,假设代码真是顺序执行的,是不是 NAND 的也可以。
另外,这些概念 好像有点混淆了:block 块,page 页,sector 。它们之间的大小顺序是这样从大到小吗?分别作用的作用场景是啥啊?是不是这里理解:
- 两种 flash 都可以按照 block 或 sector 来擦除
- 只有 NAND 有 page 的概念,NAND 通过页的最小单元来读取
nor 的地址线数据线不是复用的,NAND 的地址线数据线是复用的。一定是这样的吗?
nand flash 可以标记坏块,从而使软件跳过坏块。nor flash 一旦损坏便无法再用。这一点的原因是啥啊?
乱七八糟问题有点多,求各位大佬讲解一下,感谢!