1 / 23

The success's road

The success's road. 嵌入式 Linux 的存储技术. www.farsight.com.cn. 今天的内容. 嵌入式存储的发展与挑战 嵌入式 Linux 存储方式的介绍 嵌入式 Linux 对流行存储设备的支持 嵌入式 Linux 存储方案的选择策略. 嵌入式存储的发展与挑战. 当前 flash 芯片特点 写入 flash 采用 program 操作 , 可以以字为最小单位 擦除 flash 采用 erase 操作,最小擦除单位一般是 有限的擦除 / 编程循环寿命 10k-100k 低功耗,高密度,大容量的 flash 芯片得到广泛使用

sanam
Download Presentation

The success's road

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The success's road 嵌入式Linux的存储技术 www.farsight.com.cn

  2. 今天的内容 • 嵌入式存储的发展与挑战 • 嵌入式Linux存储方式的介绍 • 嵌入式Linux对流行存储设备的支持 • 嵌入式Linux存储方案的选择策略

  3. 嵌入式存储的发展与挑战 • 当前flash芯片特点 • 写入flash采用program操作,可以以字为最小单位 • 擦除flash采用erase操作,最小擦除单位一般是 • 有限的擦除/编程循环寿命10k-100k • 低功耗,高密度,大容量的flash芯片得到广泛使用 • 其中按照实现技术不同,flash又分为nor flash和nand flash两种 • nor flash提供线性访问接口 • nand flash提供基于命令的访问端口

  4. MTD 驱动程序简介 • MTD——memory technology device • MTD驱动程序提供了以标准设备形式访问flash芯片的机制 • Mtd提供以下几个驱动接口 • 字符设备驱动 • 块设备驱动 • Flash translation layer(FTL) • NFTL/INFTL • JFFS2

  5. MTD字符设备驱动 • MTD字符设备驱动不提供任何高级特性,直接让应用软件访问flash • 一般用来 • 擦除flash • 格式化文件系统 • 拷贝整个分区

  6. MTD块设备驱动 • MTD块设备提供抽象接口让flash芯片可以作为磁盘驱动器来访问 • 利用MTD块设备驱动,我们可以在flash芯片上使用通常的文件系统 • fat16,fat32文件系统 • ext2文件系统

  7. MTD翻译层 • MTD提供的翻译层FTL/NFTL • 翻译层是实现MTD块设备驱动的软件层 • FTL/NFTL不提供wear leveling • 不保证power fail安全 • 没有坏块管理

  8. JFFS2文件系统 • JFFS2文件系统是专门为flash设计的完整的文件系统,而不仅仅是把flash模拟成一个块设备 • JFFS2文件系统可以避免power failure等可能造成数据破坏的现象 • JFFS2文件系统可以使擦除和编程操作均匀分布到所有block上,避免影响期间寿命

  9. jffs2 文件系统压缩 • jffs2 支持即时压缩,加以将通常的文件系统大小缩小50%以上,类似于NTFS提供的压缩功能 • jffs2 即时压缩速度很快,不会对系统性能造成大的影响

  10. nand flash文件系统 • nand flash文件系统需要考虑一些nand flash特点 • nand flash使用页面来操作整块数据,包括读取操作 • nand flash有可能出现随机的坏块。这些坏块可能在出厂时就存在,也有可能在使用过程中产生,所以对数据的校验是必须的 • nand flash芯片擦除操作相对nor flash较快,这一点可以用来实现很高的写入和垃圾搜集速度

  11. YAFFS文件系统 • YAFFS文件系统是为nand flash器件优化的文件系统 • 和jffs2对比,yaffs在nand flash上提供了更好的性能,包括 • 小得多的内存消耗 • 更快速的文件系统加载

  12. YAFFS2文件系统 • YAFFS2文件系统是YAFFS的一个升级 • 消除了partial program • 在某些芯片上支持连续页面编程 • 进一步减小了内存消耗 • 很多性能改进,在新的8bit nand flash芯片上,可以达到以下性能 • 读取 8.7MB/S • 写入 3MB/S • 删除 62.5MB/S • 垃圾整理 5.4MB/S

  13. Disk on Chip简介 • DOC是一种嵌入式存储器 • DOC控制器将控制电路,buffer ram以及部分算法集成到芯片当中 • buffer提高了性能 • 加上软件支持,就可以实现XIP • 控制器提供了一定的wear leveling • DOC存储数据采用nand flash • 最新的MTD驱动可以将DOC作为nand flash来使用,可以使用flash专有的文件系统

  14. Secure Digital简介 • 由松下电器Matsushita Electric Industrial Co., Ltd、东芝Toshiba Corp.和SanDisk联合推出,1999年8月首次发布 • 2000年2月1日发起成立了SD协会(Secure Digital Association简称SDA) • SD存贮卡的详细规范并没有公开,只有SDA会员或签定了保密协议才能获得

  15. SD卡接口简析 • SD协议分SD memory 卡和SDIO卡 • SD操作分1-bit模式和4-bit模式 • MMC规范当中规定了7根信号 • RSV • CMD • VSS1 • VDD • CLK • VSS2 • DAT • SD规范添加了2根线,增加到了4根数据线

  16. 在Linux下使用SD卡 • SD卡控制器隐藏了flash存储芯片的细节 • 控制器内部将flash芯片的操作翻译成SD卡的操作 • 在内核当中MMC/SD子系统提供翻译机制,可以将SD卡模拟成驱动器 • 在SD卡上建立通常的分区和文件系统

  17. CompactFlash简介 • 为了推动CompactFlash标准的设立和应用,1995年10月,主要的生产厂商成立了CompactFlash协会(CompactFlash Association简称CFA),这个非赢利性的组织成员包括3COM,Canon,Eastman Kodak Company,Hewlett-Packard,Hitachi,IBM,Matsushita (Panasonic),Motorola,SanDisk,Seiko Epson等巨头

  18. CF卡接口简析 • CF存储卡内部包括了flash存储器,一般是nand flash和一个控制芯片 • 接口的控制信号包括 • nCE1,nCE2,nREG,nIORD,nIOWR,nOE,nWE,RESET • 状态信号 • READY,nINPACK,nWAIT,nWP • 地址线 A[11:0] • 数据线 D[15:0] • 卡检测 nCD[2:1] • 电压检测 nVS1, nVS2 • 电池检测 BVD[2:1]

  19. 在Linux下使用CF卡 • CF存储卡控制器提供了硬件的翻译层,将flash芯片模拟成IDE接口设备 • 系统将CF卡作为PIO模式的ATA硬盘来访问 • 在CF卡上建立通常的分区和文件系统 • CF卡文件系统的性能取决于卡本身 • 与之类似的还有DOM

  20. 在Linux下的读卡器 • 只简单介绍一下USB读卡器 • USB驱动程序将读卡器作为可移动存储设备 • usb-storage驱动将存储卡虚拟成scsi磁盘 • 使用时在虚拟盘上创建分区,格式化普通的文件系统

  21. 嵌入式Linux存储方案选择 • mtd字符设备驱动 • 适合存储不经常修改的少量数据 • 系统配置参数 • 密钥,证书 • 块设备/翻译层+fat32 • 在windows系统和嵌入式系统共同使用的移动存储器 • 存储卡硬件提供了翻译层 • 适用于常见的存储卡(不包括SMC卡) • 专门的flash文件系统 • 嵌入式系统独自使用的存储器 • 对性能,健壮性有较高要求的存储器

  22. 让我们一起讨论!

  23. 成功之路 www.TopSight.com.cn谢谢!

More Related