




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
需求分析描述文档项目名称:固态硬盘控制器设计小组成员: 一、 用例描述1.项目背景:随着信息技术的发展,人们对数据处理速度的要求越来越高,而基于温彻斯特技术的传统机械硬盘虽然仍广泛的应用各种数据存储环境中,其缺点却越来越不容忽视:读写速度慢、存储性能不稳定、功耗大、噪音大等,尤其是读写速度和硬盘容量已经成为计算机技术发展的瓶颈。因此传统硬盘已经不能满足人们对数据存储的需求。近年来闪存芯片等半导体存储器快速发展,以闪存芯片等为存储介质的固态硬盘也越来越成熟,其具有高数据传输率、低功耗、低噪音、性能稳定等优点,逐渐成为传统机械硬盘的理想替代品,每年都有大量的固态硬盘和混合硬盘被用户使用。固态硬盘设计的核心技术就是固态硬盘控制器的设计,其主要功能包括对闪存芯片等半导体存储器的管理和对外部处理器(存储设备使用者)提供硬盘接口。而FPGA作为发展快速的先进半定制集成电路芯片,能够快速实现许多功能电路,被广泛应用在各种电路的设计。本项目即为应用FPGA设计固态硬盘控制器,在一块FPGA芯片上通过VHDL编程实现固态硬盘控制器的功能,以NandFlash芯片为存储介质,实现固态硬盘的功能。2.用例图图1 固态硬盘控制器 用例图3.用例场景描述本项目所设计的固态硬盘可应用在各种存储环境,对外有两个接口:标准硬盘接口,与存储设备的使用者(外部处理器等)相连,为使用者提供大容量的存储空间;nand flash 芯片接口,与nand flash芯片相连,对存储芯片进行管理和控制。总体而言,固态硬盘控制器拥有两个外部用户:外部处理器和nand flash 芯片,分别通过两个不同的接口传输数据和控制命令。图2 固态硬盘控制器 外部视图由图2可见,外部用户向固态硬盘控制器发送控制命令(如读命令、写命令)、地址信息,固态硬盘控制器将接收到的控制命令和地址信息经过分析和转换,继续传递给Nand Flash 阵列,Nand Flash阵列接收地址信息后,根据控制命令进行相应的数据存取操作。4.固态硬盘系统时序图图3.读操作系统时序图读操作时,处理器向固态硬盘(SSD)发送读命令,接着发送地址信息(逻辑地址),然后固态硬盘进行内部读操作,将数据输出传给处理器。见图3 。写操作时,处理器向固态硬盘发送写命令,然后发送地址信息,接着发送数据到固态硬盘缓存器缓存,固态硬盘进行内部写操作,将缓存器中的数据存储至Nand Flash 芯片。见图4 。固态硬盘控制器内部业务功能描述1.固态硬盘控制器内部结构固态硬盘控制器包含三个IP核:SATA协议IP核,MicroBlaze软处理器核,Nand Flash 控制器IP核。内部结构见图5 。本项目就是在一块FPGA芯片上实现上述三个IP核。图5 固态硬盘控制器内部结构图2.固态硬盘内部业务功能描述Micro Blaze软处理器核:Micro Blaze嵌入式软核是一个被Xilinx公司优化过的可以嵌入在FPGA中的RISC处理器软核,具有运行速度快、占用资源少、可配置性强等优点,广泛应用于通信、军事、高端消费市场等领域。Micro Blaze 是基于Xilinx公司FPGA的微处理器IP核,和其它外设IP核一起,可以完成可编程系统芯片(SOPC)的设计。Micro Blaze 处理器采用RISC架构和哈佛结构的32位指令和数据总线,可以全速执行存储在片上存储器和外部存储器中的程序,并访问其的数据。Micro Blaze 作为固态硬盘控制器的核心部分,主要提供处理SATA的控制命令、数据流的分发、NAND FLASH文件系统和阵列管理的功能。本设计中移植Micro Blaze 软控制器核到FPGA芯片中并编写实现相关控制命令。SATA IP核:SATA的全称是Serial Advanced Technology Attachment(串行高级技术附件),是一种基于行业标准的串行硬件驱动器接口,是由Intel、IBM、Dell、APT、Maxtor和Seagate公司共同提出的硬盘接口规范,是目前最通用的硬盘接口标准。SATA协议分为四层:应用层、传输层、链路层、物理层,其体系结构图见图6 。图6 SATA协议体系结构图应用层面向顶层,负责所有ATA命令的执行,生成读写请求,并可读取和设置设备的工作性能模式,包括对控制命令模块寄存器的访问;传输层根据应用层的读写请求和来自数据链路层的应答启动数据包的传送,传输层在主机和硬盘设备之间以帧信息结构(FIS)的形式传输控制命令和数据;链路层通过维持数据的完整性来保证数据包通过链路可靠地传输。它包括8B10B编解码,数据包的循环冗余校验(CRC),并可在信号失败时自动重新尝试数据包传送。链路层发送和接收数据包,并发送来自于传输层的控制信号的原始字符,接收来自于物理层的原始字符并将其转化为控制信号给传输层;物理层包含两条高速单工通道的低压差分信号收发器,分别负责接收和发送数据。本设计中,SATA部分主要负责对外部处理器提供一个统一硬盘接口,实现外部处理器与固态硬盘控制器之间的通信。 IP核实现SATA3.0协议的各层功能,并采用Xilinx公司Virtex-4系列FPGA内部集成的千兆级收发器(RoeketlOMGT)实现物理层传输。Nand Flash控制器IP核:NAND FLASH控制器核实现NANDFLASH芯片控制和管理,根据NAND FLASH闪存芯片指令系统和接口时序,移植PicoBlaze可编程状态机实现NANDFLASH芯片控制,将复杂的NANDFLASH接口转化成简单通用的SRAM接口,提高系统主控制器的访问效率,并设计实现ECC检验算法,保证数据存储和读取正确。3.固态硬盘控制器顺序图固态硬盘控制器所进行的操作(活动)分为读操作和写操作,分别由不同的对象以及对象之间的一系列活动实现。读操作顺序图:见图7。图7 固态硬盘控制器读操作顺序图外部用户(处理器)要进行读操作,则首先向SATA IP核发送读命令,接着发送地址信息至SATA IP核的地址缓存器中。SATA IP核将接收到的读命令和地址信息进行解析,然后发送给Micro Blaze软处理器核(即Micro Controller)。Micro Blaze 软处理器核先向Nand Flash 控制器IP核发送读命令,然后将接收到的地址信息解析(即将外部处理器的逻辑地址转换为Nand Flash 阵列中的物理地址),将解析出来的地址信息发送至Nand Flash 控制器。Nand flash 控制器将接收到的读命令和地址信息以符合Nand flash芯片接口的格式发送给Nand Flash芯片阵列,即对Nand Flash芯片进行读操作。Nand Flash芯片按地址读出数据,依次经过Nand Flash控制器IP核、Micro Blaze IP核和SATA IP核发送给外部处理器。 写操作顺序图:见图8.图8 写操作顺序图写操作顺序图与读操作顺序图大致相同,但在进行写操作时,外部处理器在发送完写命令和地址信息后,立即将要写入的数据发送至SATA IP核的缓存器中储存。SATA IP核和Micro Blaze软处理器核同样是将数据先发送至下一级IP核的缓存器中缓存。而Nand Flash 控制器IP核在发送完地址信息后还要发送一个擦除命令,即将要写入数据的存储空间预先擦除(如果存储空间原本为空则不进行擦除操作),然后写入数据。4.固态硬盘控制器设计工作要求在FPGA中使用
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年度赠与合同模板示例
- 2025工程承包合同标准版范本
- 艺术团唱响星光炫舞策划书
- 儿童重症监护治疗病房镇痛和镇静治疗专家共识
- 《竞争政策专题》课件
- 2025农产品买卖合同范文
- 2025年工商局写字楼租赁合同范本
- 《微生物课件济南》课件
- 基础工程施工边坡塌陷事故应急救援桌面演练桌面演练文稿
- 2025国际借款合同样本
- 简约喜庆元宵节介绍模板 教学课件
- TCCIAT 0043-2022 建筑工程渗漏治理技术规程
- 西藏林芝嘉园小区项目可研(可研发)
- 航运系统组成和航运企业组织结构及特点
- 煤矿安全规程执行说明
- 丧假证明模板
- 隧道二衬、仰拱施工方案
- 按期取得毕业证和学位证承诺书
- Q∕GDW 12106.4-2021 物联管理平台技术和功能规范 第4部分:边缘物联代理与物联管理平台交互协议规范
- 第五章 学校教育的主要活动形式:课堂教学
- 大会—冠脉微循环障碍
评论
0/150
提交评论