用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上运行的软件负责所有组件的控制。由于需要确保响应时间,软件中不使用包括实时操作系统在内的任何嵌入式操作系统,所有软件直接贴近硬件事件设计,重要事件采用中断响应,普通事件采用轮询响应。
相关文章
- 2021-12-28明电变频器在纺织行业粗纱机电气控制系统应用分析
- 2022-12-02网络化分布式虚拟仪器测试研究
- 2021-12-08基于WinCE的ARM视频监控系统解析
- 2023-04-24薄壁圆筒式动态多维切削测力仪的有限元分析
- 2022-07-15SY一1型体外冲击波碎石机
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。