当前位置: 首页 > news >正文

河南建设安全协会网站wps的ppt做网站超链接

河南建设安全协会网站,wps的ppt做网站超链接,做网站要考虑的问题,老鹰画室网站哪家做的今天来讲一篇如何在fpga上实现sata ip,然后利用sata ip实现读写sata 盘的目的,如果需要再速度和容量上增加,那么仅仅需要增加sata ip个数就能够实现增加sata盘,如果仅仅实现data的读写整体来说sata ip设计比较简单,下面…

        今天来讲一篇如何在fpga上实现sata ip,然后利用sata ip实现读写sata 盘的目的,如果需要再速度和容量上增加,那么仅仅需要增加sata ip个数就能够实现增加sata盘,如果仅仅实现data的读写整体来说sata ip设计比较简单,下面从sata 协议角度来聊聊sata ip应该如何实现。下图就是在FPGA上实现3张SATA SSD硬盘组成RAID0的结构图。

                      

        sata速度分为三个等级,sata在硬件接口上是一对收发差分信号,硬件是全双工模式,但实际SATA协议是半双工工作模式,为什么会如此奇怪,再link层会讲解到。sata gen1 速度1.5Gbps,sata gen2速度3.0 Gbps,sata gen3 速度6.0Gbps,然后编码都是8b/10b编码,所以对于sata gen3的有效带宽速度=6*1000 * 0.8 / 8= 600MB/s(注意这里的速度都是按照1000进制计算),这里的有效带宽包含了FIS数据和一些握手 Primitives,实际的纯data的有效带宽一般是在570MB/s,如果带了sata盘,那么就和每家的ssd盘有一定关联,目前速度做的最快和最稳定的当是三星大哥了。

链路层

物理层不需要我们设计,用xilinx的ip就行,我们从链路层开始讲解。

链路层的帧结构如下所示,Primitives + FIS +CRC组成,FIS在链路层看层是data,我们在传输层时候在讲解,CRC是FIS的CRC,Primitives用于HOST和device之间如何通讯,如何握手。每个FIS的传输都离不开Primitives和CRC.

常见的Primitives如下图所示,这里只列举一些Primitives。

SOF :表示数据传输的start

EOF:表示数据传输的end

X_RDY:向对端发起请求,我要抢占总线传输数据

R_RDY:接受者向发起者发送该Primitives表示我已经准备好了

R_IP:表示一直在收数据或者在发数据,这就是为什么sata是半双工的原因,需要一直握手。

SYNC:表示事情做完了,可以让出总线处于Idle状态

传输层

传输层设计相对简单很多,传输主要是解析FIS帧或者组FIS帧,常用的FIS帧如下所示。

        从上图可以看到FIS层一共有8中类型的FIS,我们在设计FPGA SATA IP时可以不用设计BIST Activate FIS,因为该FIS用于验证链路的,下面列举几个常见FIS帧,

从下面FIS帧我们可以清晰的看到lba,count和Command等栏位,lba就是访问sata硬盘的逻辑扇区,count是lba的数量,count最大是16bit表示,那么可以看出单次命令最大的size=32MB,count=0表示32MB,command表示应用层的cmd code,这个在应用层会讲解。

H2D FIS帧格式如下:

D2H FIS帧格式如下:

DATA FIS帧格式如下

SDB FIS帧格式如下,NCQ发送DATA FIS之后需要发送SDB FIS反馈状态。

DMA Activate FIS帧格式如下,DMA Write和NCQ Write命令特有的。

DMA Setup FIS帧格式如下,这个是NCQ命令特有的

PIO Setup FIS帧格式如下,这个是PIO命令特有的。

应用层

应用层常用的是ATA指令集,ATA指令集如下所示。

        ATA指令集command偏多,这里讲解identify,trim,flush cache和ncq read write命令,下面贴图都是4KB size,和NCQ qd1,这样是为了方便理解单个命令FIS交互过程。flush cache命令比较简单,就是一个non-data命令,只需要H2D FIS和D2H FIS两个FIS就能完成命令的实现。

identify命令是一个pio read命令,只要不是Error情况,device是不需要响应D2H FIS

NCQ Read命令

NCQ Wrtie命令,细心的同学发现了Write命令比Read命令多了一个DMA Activate,并且这个FIS在第一笔DATA FIS传输是可以省略的(可以在Set feature命令中设置)

最后一个很重要的就是硬复位命令了,这个COMRESET在Primitives实现的。

        总体来说SATA设计比较简单,因为不需要考虑什么low power等,仅仅需要实现NCQ命令就行,NCQ命令可以最大支持qd32,但是速度还是很慢,有条件就上pcie,无论在单lane速率,还是lane得数量上都是吊打sata,反正结合项目实际需求,找到适合自己的设计方案。

http://www.yayakq.cn/news/925183/

相关文章:

  • 网站建设高效解决之道wordpress语言切换网站
  • 网站的搜索功能怎么做wordpress三主题公园
  • 山东省职业能力建设处网站wordpress图片站主题
  • 做网站所用的技术网站建设突出特色
  • 上海专业做网站服务商建设营销型网站公司
  • 镇江网站建设网站制作公司国内有没有开源的wordpress主题网
  • 定制营销型网站上海工作室
  • 服务器网站管理助手网站在线支付
  • 做瞹视频网站软件开网站建设骗术
  • 网站网站是怎么建设的android聊天功能开发
  • 如果给公司做网站百度指数官网登录
  • 建设网站远达湖南常德市
  • 网站建设中源码编程同样重要网站改版是什么意思
  • 一站式网站建设平台wordpress 权限是一个类还是一个函数
  • 东莞市网站建设分站公司公众平台微信公众号登陆
  • v9网站模板网站建设维护概括总结
  • 企业网站开发毕业报告互联网推广服务
  • 网站素材设计框架深圳比较大的做网站设计公司
  • 公司网站建设需要收集什么信息中国建材网官方网站
  • 公司网站开发立项文档网站开发访客ip
  • 免费织梦导航网站模板下载地址帮别人做设计的网站
  • 口碑好的专业网站建设支付宝 收费 网站开发
  • 济南网站建设培训国家工商注册查询系统官网
  • 怎么在国外网站做推广聊城公司网站建设
  • 宜昌市网站建设wordpress文字保存
  • 商业网站开发设计报告制作销售网站有哪些
  • 站斧浏览器异度空间图书馆主题 wordpress
  • 苏州出名的网站公司株洲网站制作公司在哪里
  • 市场部做网站工作职责浙江省建筑培训网
  • 临沂网站制作企业今天刚刚发生的新闻最新新闻