为什么 NOR flash 的最小读取单位是字节, NAND flash 是页呢?

320 天前
 allmightbe

上图从网上找的,应该是大概说明了两种 flash 的区别。 有一个点是:NOR 最小读取单位是字节,NAND 最小读取单位是页。我结合上图的 NOR 部分来理解“NOR 最小读取单位是字节”,是不是应该这么解释:

另外,NOR 可以执行代码,是不是因为代码执行通常有函数跳转的过程,所以就必须就需要随机存取的能力;而 NAND 只能在一个页 顺序读取,而代码执行不可能全是顺利执行的过程,所以 NAND 不可以执行代码。

另外,这些概念 好像有点混淆了:block 块,page 页,sector 。它们之间的大小顺序是这样从大到小吗?分别作用的作用场景是啥啊?是不是这里理解:

nor 的地址线数据线不是复用的,NAND 的地址线数据线是复用的。一定是这样的吗?

nand flash 可以标记坏块,从而使软件跳过坏块。nor flash 一旦损坏便无法再用。这一点的原因是啥啊?

乱七八糟问题有点多,求各位大佬讲解一下,感谢!

1196 次点击
所在节点    程序员
2 条回复
kokutou
320 天前
就当作 nor 是土豪版本的 nand

nand 为了节省电路 按页读取
nand 比较容易有坏块,一般代码里都会配备有坏块管理
smdbh
320 天前
串行总线和并行总线,导致了以上所有的问题。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1008572

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX