基于FPGA的固态硬盘控制器设计
发布时间:2020-09-27 14:47
近年来,大容量数据存储设备主要是机械硬盘,机械硬盘采用机械马达和磁片作为载体,存在抗震性能低、高功耗和速度提升难度大等缺点。固态硬盘是以半导体作为存储介质及控制载体,无机械装置,具有抗震、宽温、无噪、可靠和节能等特点,是目前存储领域所存在问题的解决方案之一。本文针对这一问题,设计基于FPGA的固态硬盘控制器,实现数据的固态存储。 文章首先介绍硬盘技术的发展,分析固态硬盘的技术现状和发展趋势,阐述课题研究意义,并概述了本文研究的主要内容及所做的工作。然后从分析固态硬盘控制器的关键技术入手,研究了SATA接口协议和NAND FLASH芯片特性。整体设计采用SOPC架构,所有功能由单片FPGA完成。移植MicroBlaze嵌入式处理器软核作为主控制器,利用Verilog HDL语言描述IP核形式设计SATA控制器核和NAND FLASH控制器核。SATA控制器核作为高速串行传输接口,实现SATA1.0协议,根据协议划分四层模型,通过状态机和逻辑电路实现协议功能。NAND FLASH控制器核管理NAND FLASH芯片阵列,将NAND FLASH接口转换成通用的SRAM接口,提高访问效率。控制器完成NAND FLASH存储管理和纠错算法,实现数据的存储和读取。最后完成固态硬盘控制器的模块测试和整体测试,介绍了测试方法、测试工具和测试流程,给出测试数据和结果分析,得出了验证结论。 本文设计的固态硬盘控制器,具有结构简单和稳定性高的特点,易于升级和二次开发,是实现固态硬盘和固态存储系统的关键技术。
【学位单位】:湖南大学
【学位级别】:硕士
【学位年份】:2009
【中图分类】:TP333.35
【部分图文】:
图2.5 OOB启动复位序列1. 设备断电——主机和设备断电。2. 供电——主机端信号调节将TX和RX对拉到共模电压。3. 主机发出COMRESET。4. 主机释放COMRESET——上电复位释放之后,主机立即释放COMRESET信号并置总线于休眠状态。5. 设备发出COMINIT——当设备(硬盘)检测到COMRESET释放时,使用COMINIT作为响应。设备可随时发出一个COMINIT来开始通信。6. 主机校准并发出COMWAKE。7. 设备响应——设备在其RX对上检测到COMWAKE信号并校准发送器(可选)。校准之后,设备发出6个突发COMWAKE信号,然后发出Align原语的连续流。发出Align原语后54.6μs,如果还没有收到来自主机的有效响应(通过检测接收到的Align原语而定),设备便进入错误状态。8. 主机锁定——检测到 COMWAKE之后,主机以所支持的最低速率开始发送 d10.2 字符。同时,主机接收器锁定Align原语,并在准备就绪之后,
一定的算法检测和纠正潜在的错误。对数据的校验常用的有奇偶校验、CRC校验等,而在NAND FLASH处理中,一般使用专用的校验——ECC(Error CorrectionCode)。ECC能纠正单比特错误和检测双比特错误,而且计算速度很快,但对单比特以上的错误无法纠正,对两比特以上的错误不保证能检测到。本文介绍利用汉明码实现每512字节数据生成3字节ECC校验码的算法,由每512字节数据生成的ECC校验码有3字节共24比特,包括6比特的列校验码和18比特的行校验码。ECC校验码的生成规则如图2.8所示:
系统组件连接视图
本文编号:2828012
【学位单位】:湖南大学
【学位级别】:硕士
【学位年份】:2009
【中图分类】:TP333.35
【部分图文】:
图2.5 OOB启动复位序列1. 设备断电——主机和设备断电。2. 供电——主机端信号调节将TX和RX对拉到共模电压。3. 主机发出COMRESET。4. 主机释放COMRESET——上电复位释放之后,主机立即释放COMRESET信号并置总线于休眠状态。5. 设备发出COMINIT——当设备(硬盘)检测到COMRESET释放时,使用COMINIT作为响应。设备可随时发出一个COMINIT来开始通信。6. 主机校准并发出COMWAKE。7. 设备响应——设备在其RX对上检测到COMWAKE信号并校准发送器(可选)。校准之后,设备发出6个突发COMWAKE信号,然后发出Align原语的连续流。发出Align原语后54.6μs,如果还没有收到来自主机的有效响应(通过检测接收到的Align原语而定),设备便进入错误状态。8. 主机锁定——检测到 COMWAKE之后,主机以所支持的最低速率开始发送 d10.2 字符。同时,主机接收器锁定Align原语,并在准备就绪之后,
一定的算法检测和纠正潜在的错误。对数据的校验常用的有奇偶校验、CRC校验等,而在NAND FLASH处理中,一般使用专用的校验——ECC(Error CorrectionCode)。ECC能纠正单比特错误和检测双比特错误,而且计算速度很快,但对单比特以上的错误无法纠正,对两比特以上的错误不保证能检测到。本文介绍利用汉明码实现每512字节数据生成3字节ECC校验码的算法,由每512字节数据生成的ECC校验码有3字节共24比特,包括6比特的列校验码和18比特的行校验码。ECC校验码的生成规则如图2.8所示:
系统组件连接视图
【引证文献】
相关硕士学位论文 前3条
1 张诚;基于千兆以太网接口的高速固态存储器设计[D];西安电子科技大学;2011年
2 李文博;Flash阵列存储技术研究[D];哈尔滨工业大学;2010年
3 柳睿;基于Nand Flash的图像声纳数据采集存储系统设计[D];哈尔滨工程大学;2012年
本文编号:2828012
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2828012.html