论文部分内容阅读
随着计算机通讯的发展,存储产品广泛地应用于越来越多的领域,而传统的机械硬盘存在抗震性能低、功耗高和速度提升难度大等缺点,因此无法适应某些特殊的工作环境。固态硬盘是以半导体材料作为存储介质,无机械装置,具有抗震、宽温、无噪、可靠和节能等特点,是目前在数据存储领域所存在问题的解决的有效方案之一。本文针对这一问题,设计了基于SATA接口的固态硬盘控制器,实现数据的固态存储。本文首先概述硬盘技术的发展,分析固态硬盘的技术现状和发展趋势,阐述课题研究意义,并介绍了本文研究的主要内容及所做的工作。在设计系统硬件时,研究了SATA接口协议和NAND FLASH芯片特性。采用SOPC架构完成了整体设计,由单片FPGA完成所有功能。移植MicroBlaze嵌入式处理器软核作为主控制器,利用Verilog HDL语言描述IP核形式设计SATA控制器核和NAND FLASH控制器核。SATA控制器核作为高速串行传输接口,实现SATA1.0协议。根据协议划分四层模型,通过状态机和逻辑电路实现协议功能。NAND FLASH控制器核管理NAND FLASH芯片阵列,将NAND FLASH接口转换成通用的SRAM接口,提高访问效率。控制器完成NAND FLASH存储操作和纠错算法,实现数据的存储和读取。而在软件系统设计中,用C语言描述了各个操作流程,根据SATA协议处理SATA接口上的命令和数据,并根据NAND Flash的特点给出了应用于NAND闪存的数据管理算法,通过二级地址映射,按块中的脏页数回收脏块和按时间标记转移静态信息实现坏块管理,均匀损耗。该设计能为硬盘控制器提供底层的NAND闪存存储系统,使其能方便快速地存储数据而不需要考虑NAND闪存的物理特性。最后完成固态硬盘控制器的模块测试和整体测试,介绍测试工具和测试方法,给出测试结果,并对结果进行分析得出了验证结论。本文设计的固态硬盘控制器,具有结构简单和稳定性高的特点,易于升级和二次开发,是实现固态硬盘和固态存储系统的关键技术。