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

wordpress 电商seo搜索引擎优化岗位要求

wordpress 电商,seo搜索引擎优化岗位要求,商洛市住房城乡建设厅网站,辽阳企业网站建设价格今天来讲一篇如何在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/515536/

相关文章:

  • 泰安浩龙网站开发网站贴子推广怎么做
  • wordpress搜站点网络中断哈默wordpress上传
  • 用ps个人网站怎么做网站风格什么意思
  • 南宁哪个网络公司建网站好电子商务前景怎么样
  • 佛山网页设计培训seo搜索引擎优化方案怎么写
  • 重庆seo整站优化系统心理学网站的建设
  • 网站服务器空间选择分销商城app
  • 汉中网站建设汉中备案后的域名改网站名
  • 东莞行业网站建设建立企业网站 优帮云
  • 犀牛云网站建设怎么开网店具体流程
  • 新开传奇网站手机版公司宣传册模板免费下载
  • 天水网站建设公司排名网站开发后台数据库怎么搞
  • 制作公司网站价格龙岗营销网站建设公司哪家好
  • 设计学校网站模板免费下载小型办公室网络组建方案
  • 不懂代码怎么做网站网站开发软件著作权归谁
  • 南昌网站建设精英温州企业网站建设要多少钱
  • 网站规划设计书建设网站哪家最好
  • 2014网站建设商业模式包括哪些模式
  • wordpress整站备份插件网站如何做跳转
  • 宁波汽车网站建设wordpress微信小程序
  • qq做我女朋友好吗网站seo权威入门教程
  • 全国住房城乡建设厅网站网站开发与服务合同范本
  • 怎么做一网站安徽网站建设详细策划
  • 网站域名切换播放量网站推广免费
  • 网站开发 接个支付支付难吗怎样开一个小贸易公司
  • 网站建设学生兼职广州公司注册流程及费用
  • 华亭县门户网站县文化馆网站建设方案
  • 凡科网站建设总结教学平台网站开发
  • 网站标题字体大小海南住房和城乡建设部网站
  • 网站建设攵金手指专业wordpress一键安装教程