一、NAND 和NOR 的区别.pdfVIP

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、NAND 和NOR 的区别

基于 MTD 的NAND 驱动开发 (ZZ) /u1/41134/ 0、说明 大约用了两个礼拜不到的时间为公司的 IPcamera 系统写了基于MTD 的NAND 驱动 (linux-0 内核) ,目前已可以在该驱动的支持下跑 cramfs 和 jffs2 文件系统,另外,该驱动也可以同时支持 small page( 每页 512 Byte) 和 big page( 每页 2048 Byte) 两种 NAND 芯片。在此整理一下与 NAND 驱动 相关的概念,结构体,驱动框架和流程,同时分析一下基于 MTD 的NAND 驱 动的部分函数,尤其是其中的 nand_scan() 函数。( 涉及到具体 NAND 芯片 时,若不做说明,将以 small page 的NAND 芯片为例。) MTD 驱动程序是专门针对嵌入式 Linux 的一种驱动程序,相对于常规块设备 驱动程序(比如 PC 中的 IDE 硬盘)而言, MTD 驱动程序能更好的支持和 管理闪存设备,因为它本身就是专为闪存设备而设计的。 具体地讲,基于 MTD 的 FLASH 驱动,承上可以很好地支持 cramfs , jffs2 和 yaffs 等文件系统,启下也能对 FLASH 的擦除,读写, FLASH 坏块以及 损耗平衡进行很好的管理。所谓损耗平衡,是指对 NAND 的擦写不能总是集 中在某一个或某几个 block 中,这是由 NAND 芯片有限的擦写次数的特性决 定的。 总之,在现阶段,要为 FLASH 设备开发 Linux 下的驱动程序,那么基于 MTD 的开发将几乎是省时又省力的唯一选择! 一、NAND 和 NOR 的区别 Google “Nand Flash 和 Nor Flash 的区别”。 简单点说,主要的区别就是: 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 驱动必 须对坏块进行管理。 二、 内核树中基于 MTD 的 NAND 驱动 代码的布局 在 Linux 内核中,MTD 源代码放在 linux-0/driver/mtd 目录中, 该目录中包含 chips 、devices 、maps 、nand 、onenand 和 ubi 六个子目 录。 其 中只有nand 和onenand 目录中的代码才与NAND 驱动相关,不过nand 目 录中的代码比较通用,而 onenand 目录中的代码相对于nand 中的代码而言 则简化了很多,它是针对三星公司开发的另一类 Flash 芯片,即 OneNAND Flash。我尚未对OneNand FLASH 有过研究,只是通过网上资料得知,OneNand FLASH 克服了传统 NAND Flash 接口复杂的缺点,具有接口简单、读写速度快、 容量大、寿命长、成本低等优点,因此应该是一种较常用 NAND 先进的 FLASH 吧,只是目前似乎普及率并不高,本文也将不做讨论。

文档评论(0)

baoyue + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档