Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1204430
  • 博文数量: 232
  • 博客积分: 7563
  • 博客等级: 少将
  • 技术积分: 1930
  • 用 户 组: 普通用户
  • 注册时间: 2008-05-21 11:17
文章分类

全部博文(232)

文章存档

2011年(17)

2010年(90)

2009年(66)

2008年(59)

分类:

2009-03-31 15:35:37

SATA硬盘作为新型的存储介质,具有高速、海量、价格低廉、使用方便等优点。SATA2.5协议支持3.0Gb/s的接口速度,SATA2.5硬 盘的持续存储速度可达80MB/s,最大存储容量已经达到750GB(如希捷ST3750640AS硬盘)。SATA硬盘已经占据了大部分的PC机硬盘市 场,并且正向工作站、服务器的领域迈进。而在嵌入式的应用领域,目前的硬盘存储设备依然广泛采用传统的IDE(ATA)和SCSI硬盘。由于两者存在低速 或昂贵的缺点,因此如何将SATA硬盘存储应用到嵌入式系统中就成为今后相关领域的研究重点。


1 SATA2.5协议的性能与结构


1.1 各种硬盘存储接口的比较
  通常硬盘根据接口类型进行分类。硬盘接口主要分为:IDE(ATA)、Serial ATA(SATA)、SCSI、Serial Attached SCSI(SAS)和Fiber Channel(FC),此外还存在IEEE1394、USB等。


   IDE、SCSI采用的是并行总线接口,随着技术要求的不断提高,并行技术的种种问题如信号扭曲和串扰、电缆和连接器的反射、设备的寻址能力有限等都已 成为提高其数据吞吐能力的障碍。FC、SAS和SATA采用串行技术,克服了并行技术存在的缺点,大大提高了速度、可靠性和可扩展性。而SATA硬盘相对 于FC和SAS硬盘具有很大的价格优势,并且与SAS接口兼容。


1.2 SATA2.5协议的基本性能[1]
  SATA2.5是国际串行ATA组织SATA-IO(Serial ATA International Organization)制订的最新SATA标准。其主要性能特点如下:
  (1)传输速率快,由SATA1.0的1.5Gb/s发展到SATA2.5的3.0Gb/s,并且SATA-IO计划今后几年推出6.0Gb/s的接口协议,这比最新的并行IDE接口ATAPI-7的133MB/s的传输速率提高许多。
  (2)电缆线宽度降低而长度增加,宽度由IDE的40针/80针减少到7针,长度由18英寸增加到1米。
  (3)支持热插拔,这使SATA硬盘可以作为移动硬盘使用。
  (4)提高了数据传输的精确度,ATA-3标准引入了基于CRC(循环冗余码校验)的数据包出错检测,但是,没有任何一种并行ATA标准提供命令和状态包的出错检测。SATA提高了CRC对数据、命令和状态包错误的检测能力,从而提高了数据传输的精确度。
  (5)支持全速命令队列(NQC),大大提高了硬盘的内部数据传输速度。
    此外,SATA2.5协议采用点对点结构,降低了磁盘阵列的出错风险;降低了工作电压,减少了功耗;向下软件兼容并行ATA,横向兼容SAS协议。


1.3 SATA2.5协议的体系结构
   SATA2.5采用四层结构:应用层、传输层、链接层和物理层。其中,应用层负责所有ATA命令的执行,包括对控制命令模块寄存器的访问;传输层负责在 主机和硬盘设备之间以帧信息结构(FIS)的形式传输控制命令和数据;链接层负责对数据进行8/10编解码,根据需要从结构帧中提取有效数据,或者将控制 字插入到结构帧当中;物理层负责在串行数据线上传输已编码的数据。


2 Virtex-5 FPGA芯片简介[2]
   Virtex-5系列FPGA芯片[2]是Xilinx公司最新推出的高端产品,它采用65纳米工艺,1.0V核电压,具有灵活的时钟管理模 块,100Mb/s~3.2Gb/s的串行连接功能,550MHz的DSP硬核,内置36KB的块RAM, I/O引脚多达1 200个。目前,Virtex5系列FPGA有LX、LXT和SXT三款平台,分别面向高性能逻辑功能、高性能逻辑功能和高速串行连接,以及高速串行连接 和DSP功能。


 RocketIO GTP收发器是专门为Virtex-5 FPGA实现高速低功耗串行连接而设计的,具有高速、稳定的特点,可以实现PCI Express、FC、SATA等高速接口的物理层协议,而不用外置子板,从而节省了空间和成本。
3 SATA2.5协议在FPGA上的实现[3][4]


3.1 链接层在FPGA内的实现
  链接层发送或者接收混合了控制原语的数据流,在数据传输过程中,CRC被加入或者提取出数据流,同时8b/10b编解码被执行。图1给出了链接层在FPGA内部的逻辑结构,左边与传输层相连,右边与物理层相连
 

在 核时钟域里,数据宽度是32位;而在PHY时钟域里,数据宽度是10位。在发送过程中,异步接口每四个PHY时钟发送一次双字,每个PHY时钟内一个8位 数据块通过8b/10b编码器生成10位数据块,并被连续串行发送到物理层。接收过程刚好与此相反。原语是由双字组成的实体,用于控制和提供串行连接的状 态。在FPGA内部,原语专门由原语发生器提供,主控制器根据上层命令控制原语的产生。CRC发生器多项式为:

FPGA内需设置一个线性循环移位寄存器(LFSR),在检验过程中与传输数据进行异或,LFSR内部多项式为:

 随 着FPGA逻辑单元的不断增多、内存容量的不断增大、主频的不断提高,许多以前只能在专用芯片上才能实现的功能,现在都可以集成到一片FPGA内部来完 成。例如围绕着一片Virtex-5 FXT可以搭建涵盖图像采集、显示、处理、存储、通信等功能的系统。SATA作为一项正蓬勃发展的存储技术,与FPGA技术结合之后可以极大地提高其本身 的应用范围,特别是为一些脱离PC机的嵌入式系统实现高速、稳定、价格较低的存储功能提供一种新的有效途径。
阅读(961) | 评论(0) | 转发(0) |
0

上一篇:几个知识点

下一篇:蓝牙技术

给主人留下些什么吧!~~