上图从网上找的,应该是大概说明了两种 flash 的区别。 有一个点是:NOR 最小读取单位是字节,NAND 最小读取单位是页。我结合上图的 NOR 部分来理解“NOR 最小读取单位是字节”,是不是应该这么解释:
另外,NOR 可以执行代码,是不是因为代码执行通常有函数跳转的过程,所以就必须就需要随机存取的能力;而 NAND 只能在一个页 顺序读取,而代码执行不可能全是顺利执行的过程,所以 NAND 不可以执行代码。
另外,这些概念 好像有点混淆了:block 块,page 页,sector 。它们之间的大小顺序是这样从大到小吗?分别作用的作用场景是啥啊?是不是这里理解:
nor 的地址线数据线不是复用的,NAND 的地址线数据线是复用的。一定是这样的吗?
nand flash 可以标记坏块,从而使软件跳过坏块。nor flash 一旦损坏便无法再用。这一点的原因是啥啊?
乱七八糟问题有点多,求各位大佬讲解一下,感谢!
1
kokutou 320 天前 via Android
就当作 nor 是土豪版本的 nand
nand 为了节省电路 按页读取 nand 比较容易有坏块,一般代码里都会配备有坏块管理 |
2
smdbh 320 天前
串行总线和并行总线,导致了以上所有的问题。
|