固态硬盘控制器设计需求分析文档

上传人:平*** 文档编号:18714537 上传时间:2017-11-16 格式:DOCX 页数:11 大小:167.20KB
返回 下载 相关 举报
固态硬盘控制器设计需求分析文档_第1页
第1页 / 共11页
固态硬盘控制器设计需求分析文档_第2页
第2页 / 共11页
固态硬盘控制器设计需求分析文档_第3页
第3页 / 共11页
固态硬盘控制器设计需求分析文档_第4页
第4页 / 共11页
固态硬盘控制器设计需求分析文档_第5页
第5页 / 共11页
点击查看更多>>
资源描述

《固态硬盘控制器设计需求分析文档》由会员分享,可在线阅读,更多相关《固态硬盘控制器设计需求分析文档(11页珍藏版)》请在金锄头文库上搜索。

1、需求分析描述文档项目名称:固态硬盘控制器设计小组成员: 一、 用例描述1.项目背景:随着信息技术的发展,人们对数据处理速度的要求越来越高,而基于温彻斯特技术的传统机械硬盘虽然仍广泛的应用各种数据存储环境中,其缺点却越来越不容忽视:读写速度慢、存储性能不稳定、功耗大、噪音大等,尤其是读写速度和硬盘容量已经成为计算机技术发展的瓶颈。因此传统硬盘已经不能满足人们对数据存储的需求。近年来闪存芯片等半导体存储器快速发展,以闪存芯片等为存储介质的固态硬盘也越来越成熟,其具有高数据传输率、低功耗、低噪音、性能稳定等优点,逐渐成为传统机械硬盘的理想替代品,每年都有大量的固态硬盘和混合硬盘被用户使用。固态硬盘设

2、计的核心技术就是固态硬盘控制器的设计,其主要功能包括对闪存芯片等半导体存储器的管理和对外部处理器(存储设备使用者)提供硬盘接口。而 FPGA 作为发展快速的先进半定制集成电路芯片,能够快速实现许多功能电路,被广泛应用在各种电路的设计。本项目即为应用 FPGA 设计固态硬盘控制器,在一块 FPGA 芯片上通过 VHDL 编程实现固态硬盘控制器的功能,以 NandFlash 芯片为存储介质,实现固态硬盘的功能。2.用例图制制制制制制制SATA 3.0制制制制制制制制制制制制制制制制制制制制图 1 固态硬盘控制器 用例图3.用例场景描述本项目所设计的固态硬盘可应用在各种存储环境,对外有两个接口:标准

3、硬盘接口,与存储设备的使用者(外部处理器等)相连,为使用者提供大容量的存储空间;nand flash 芯片接口,与 nand flash 芯片相连,对存储芯片进行管理和控制。总体而言,固态硬盘控制器拥有两个外部用户:外部处理器和 nand flash 芯片,分别通过两个不同的接口传输数据和控制命令。Nand Flash Array固 态 硬 盘控 制 器外部用户控 制 命 令数 据 传 输控 制 命 令地 址 信 息数 据 传 输Address图 2 固态硬盘控制器 外部视图由图 2 可见,外部用户向固态硬盘控制器发送控制命令(如读命令、写命令) 、地址信息,固态硬盘控制器将接收到的控制命令和

4、地址信息经过分析和转换,继续传递给 Nand Flash 阵列,Nand Flash 阵列接收地址信息后,根据控制命令进行相应的数据存取操作。4.固态硬盘系统时序图re a dd a taa d d re ssre a d co m m a n dP ro ce sso rS S D图 3.读操作系统时序图读操作时,处理器向固态硬盘(SSD)发送读命令,接着发送地址信息(逻辑地址) ,然后固态硬盘进行内部读操作,将数据输出传给处理器。见图 3 。d a taw ri tea d d re ssw ri te c o m m a n dP ro c e sso rS S D写操作时,处理器向固态

5、硬盘发送写命令,然后发送地址信息,接着发送数据到固态硬盘缓存器缓存,固态硬盘进行内部写操作,将缓存器中的数据存储至 Nand Flash 芯片。见图 4 。固态硬盘控制器内部业务功能描述1.固态硬盘控制器内部结构固态硬盘控制器包含三个IP核:SATA 协议 IP核,MicroBlaze软处理器核,Nand Flash 控制器IP核。内部结构见图5 。本项目就是在一块FPGA芯片上实现上述三个IP核。SSD ControllerMicro BlazeSATA Nand Flash ControllerData Transmissionmanegement managementNand Flash

6、 ArrayCPU图5 固态硬盘控制器内部结构图2.固态硬盘内部业务功能描述Micro Blaze软处理器核:Micro Blaze嵌 入 式 软 核 是 一 个 被 Xilinx公 司 优 化 过 的 可 以 嵌 入 在FPGA中 的 RISC处 理 器 软 核 , 具 有 运 行 速 度 快 、 占 用 资 源 少 、 可配 置 性 强 等 优 点 , 广 泛 应 用 于 通 信 、 军 事 、 高 端 消 费 市 场 等 领 域 。Micro Blaze 是 基 于 Xilinx公 司 FPGA的 微 处 理 器 IP核 , 和 其 它 外设 IP核 一 起 , 可 以 完 成 可 编

7、程 系 统 芯 片 ( SOPC) 的 设 计 。 Micro Blaze 处 理 器 采 用 RISC架 构 和 哈 佛 结 构 的 32位 指 令 和 数 据 总 线 ,可 以 全 速 执 行 存 储 在 片 上 存 储 器 和 外 部 存 储 器 中 的 程 序 , 并 访 问其 的 数 据 。Micro Blaze 作为固态硬盘控制器的核心部分,主要提供处理SATA的控制命令、数据流的分发、NAND FLASH文件系统和阵列管理的功能。本设计中移植Micro Blaze 软控制器核到FPGA芯片中并编写实现相关控制命令。SATA IP核:SATA的全称是Serial Advanced

8、Technology Attachment(串行高级技术附件) ,是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范,是目前最通用的硬盘接口标准。SATA协议分为四层:应用层、传输层、链路层、物理层,其体系结构图见图6 。p ro ce sso rA p p lica tio n la ye rT ra n sp o rt la ye rL in k la ye rP h ysica l la ye rS S DA p p lica tio n la ye r2T ra n sp o rt la ye r2L

9、 in k la ye r2P h ysica l la ye r2图6 SATA协议体系结构图应用层面向顶层,负责所有ATA命令的执行,生成读写请求,并可读取和设置设备的工作性能模式,包括对控制命令模块寄存器的访问;传输层根据应用层的读写请求和来自数据链路层的应答启动数据包的传送,传输层在主机和硬盘设备之间以帧信息结构(FIS)的形式传输控制命令和数据;链路层通过维持数据的完整性来保证数据包通过链路可靠地传输。它包括8B10B编解码,数据包的循环冗余校验(CRC),并可在信号失败时自动重新尝试数据包传送。链路层发送和接收数据包,并发送来自于传输层的控制信号的原始字符,接收来自于物理层的原始字

10、符并将其转化为控制信号给传输层;物理层包含两条高速单工通道的低压差分信号收发器,分别负责接收和发送数据。本设计中,SATA部分主要负责对外部处理器提供一个统一硬盘接口,实现外部处理器与固态硬盘控制器之间的通信。 IP核实现SATA3.0协议的各层功能,并采用Xilinx 公司Virtex-4系列FPGA内部集成的千兆级收发器(RoeketlOMGT)实现物理层传输。Nand Flash控制器IP核:NAND FLASH控制器核实现 NANDFLASH芯片控制和管理,根据NAND FLASH闪存芯片指令系统和接口时序,移植PicoBlaze可编程状态机实现NANDFLASH 芯片控制,将复杂的N

11、ANDFLASH 接口转化成简单通用的SRAM接口,提高系统主控制器的访问效率,并设计实现ECC检验算法,保证数据存储和读取正确。3.固态硬盘控制器顺序图固态硬盘控制器所进行的操作(活动)分为读操作和写操作,分别由不同的对象以及对象之间的一系列活动实现。读操作顺序图:见图7。SequenceDiagram_1address resolutionData DataData DataaddressaddressaddressaddressRead commandRead commandRead commandRead commandSATA Interface Micro Controller N

12、and Flash Controller Nand FlashUser图7 固态硬盘控制器读操作顺序图外部用户(处理器)要进行读操作,则首先向SATA IP核发送读命令,接着发送地址信息至SATA IP核的地址缓存器中。 SATA IP核将接收到的读命令和地址信息进行解析,然后发送给Micro Blaze 软处理器核(即Micro Controller) 。Micro Blaze 软处理器核先向Nand Flash 控制器IP 核发送读命令,然后将接收到的地址信息解析(即将外部处理器的逻辑地址转换为Nand Flash 阵列中的物理地址) ,将解析出来的地址信息发送至Nand Flash 控制

13、器。Nand flash 控制器将接收到的读命令和地址信息以符合Nand flash芯片接口的格式发送给Nand Flash芯片阵列,即对Nand Flash芯片进行读操作。Nand Flash芯片按地址读出数据,依次经过Nand Flash 控制器IP核、Micro Blaze IP核和 SATA IP核发送给外部处理器。 写操作顺序图:见图8.dataerasedatadatadataread command read commandread command read commandaddressaddressaddress resolutionaddressaddressProcesso

14、r2 SATA Interface2 Micro Controller2 Nand Flash Controller2 Nand Flash2图8 写操作顺序图写操作顺序图与读操作顺序图大致相同,但在进行写操作时,外部处理器在发送完写命令和地址信息后,立即将要写入的数据发送至SATA IP核的缓存器中储存。SATA IP核和Micro Blaze软处理器核同样是将数据先发送至下一级IP核的缓存器中缓存。而Nand Flash 控制器IP 核在发送完地址信息后还要发送一个擦除命令,即将要写入数据的存储空间预先擦除(如果存储空间原本为空则不进行擦除操作) ,然后写入数据。4.固态硬盘控制器设计工作要求在FPGA中使用VHDL设计SATA IP核和Nand Flash控制器IP核,并移植Micro Blaze 软处理器核,完成三个 IP核之间的通信,并通过Micro Blaze软处理器核对 SATA IP核和Nand Flash控制器IP核进行管理,处理SATA的控制命令、数据流的分发、NANDFLASH文件系统和阵列管理。逻辑框图见图9.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号