碧波液压网 欢迎你,游客。 登录 注册

用NiosⅡ搭建的固态盘设备系统

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  引言

  随着电子技术的发展,人们不断地追求更好的新型存储设备。目前海量存储领域中的主流产品非硬盘莫属,而固态盘则被认为是一种最有可能取代硬盘的全新解决方案。与硬盘相比,其主要的优势在于能够达到更高速度、更小体积、更低功耗、更小噪声、更高可靠性,同时与硬盘一样使用方便。

  广义上讲,固态盘设备包括所有使用半导体芯片作为存储介质的存储设备,例如使用动态RAM存储数据的某些特定设备,或是CF/SD/MMC卡等同样使用闪存存储数据但使用了其他接口的存储设备;但狭义上讲,固态盘仅指使用NAND型闪存存储数据,使用ATA/SATA/SCSI等接口,在行为上与硬盘完全一致的存储器。在下文中,固态盘一词仅指狭义上的固态盘。本文介绍的是一种使用ATA接口的固态盘的实现方法。

  1 系统设计

  系统对外的主要功能是通过ATA接口完成数据的读/写,与NAND型闪存芯片间的数据交换是通过缓存来完成的,对闪存芯片的读/写操作由系统内部完成。

  ATA协议中含有专门针对闪存而设计的CFA指令部分,包含了闪存擦写等指令内容,CF(Compact Flash)卡即使用了该命令集;而普通硬盘使用的ATA接口一般不使用该命令集,操作中只涉及数据的读/写操作和一些辅助特性的设置。因此在固态盘设计中不能利用CFA指令将ATA接口直接转接至闪存接口,必须在系统内部自动处理与闪存相关的操作,即通过系统的内部处理向上隐藏这一操作细节。

  可以在系统中通过数据缓存来把ATA端操作和闪存端操作分离开来,这样就可以方便地解决传输协议的转换和管理问题。基于这种设计思路,综合考虑闪存的管理、与ATA协议的衔接等问题,可以将实现系统时的主要问题归结为如下两个方面:

  ① 数据缓存管理,主要面对与主机端数据交换如何发生的问题,包括缓存数据的建立、查询、维护、失效、销毁等问题。

  ② 数据存储管理,主要面对数据在闪存中的物理存储问题,包括均衡磨损、坏块映射等问题。

  由此得到的系统逻辑结构框图如图1所示。

  

  图1 固态盘设备系统逻辑结构框图

  在具体的实现中,系统使用独立的硬件接口完成ATA接口控制和NAND型闪存控制;使用大容量SDRAM芯片作为数据缓存,由Nios处理器负责调度数据流;使用Avalon总线连接所有模块,提供快速响应的控制连接和高带宽的数据连接。

  在Nios上运行的软件负责所有组件的控制。由于需要确保响应时间,软件中不使用包括实时操作系统在内的任何嵌入式操作系统,所有软件直接贴近硬件事件设计,重要事件采用中断响应,普通事件采用轮询响应。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论