在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 6393|回复: 7

[求助] 高手请进: SATA标准中定义的DMA setup FIS有什么用?

[复制链接]
发表于 2014-7-28 22:26:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 goswami 于 2014-7-29 08:38 编辑

正在学习SATA协议,物理层和链路层都很简单,一看就懂了,但看到传输层就疑惑多多,不太明白的是DMA 控制器什么的应该是在更高层次控制的,为什么在传输层要发送DMA setup这种FIS?
我的理解是SATA的部分应该不包含 ATA UDMA控制器具体控制部分,DMA identifier buffer参数 发送给Device端,Device端是没办法直接用的,是不?

是我理解错了,还是怎的? 请高手解答,谢谢!
 楼主| 发表于 2014-7-28 22:51:15 | 显示全部楼层
我开始错误的认为是 SATA控制器要实现 ATA DMA控制器部分,设置DMA工作需要这个参数,所以要发送DMA SETUP 带 IDENTIFIER BUFFER参数,但后来仔细想来,好像不对,传输层还是串行这部分的实现,数据命令发送都是打包发送的(通过原语和FIS),根本用不上地址变量,是不?

急切盼高手解答,感谢!
 楼主| 发表于 2014-7-29 10:43:00 | 显示全部楼层
PIO方式和DMA方式传输数据对SATA协议的串行部分(指链路层,物理层)实现上应该是差异极小的,是这样么?  CPU参不参与数据传输的过程,与SATA串行部分实现应该没什么关系吧?

SATA协议区分PIO和DMA方式纯粹是“继承”ATA协议么? 为什么把这种数据传输方式的不同传递给 链路层,原因是什么啊? 实在理解不了,SATA这样设计的脉络是什么? 难道就是“简单的继承”?
 楼主| 发表于 2014-7-29 18:13:15 | 显示全部楼层
哈哈, 今天看了一天SATA协议,原来是由于 First Party DMA的关系,嗨,还是知识贫乏,没见识啊!
 楼主| 发表于 2014-7-29 22:11:05 | 显示全部楼层
本帖最后由 goswami 于 2014-7-29 22:37 编辑

刚看过的“关于硬盘NCQ和FPDMA”文章

First Party DMA 的应用是硬盘的NCQ实现的基础条件,这样硬盘控制器可以应用自己的最佳访问方案,来利用 FPDMA按照最佳排序来访问硬盘,提高了硬盘性能。哈哈,原来NCQ和硬盘访问优化才是FPDMA使用的目的。
发表于 2015-9-2 09:22:23 | 显示全部楼层
现在sas协议用的比较多吧
发表于 2016-5-11 22:50:30 | 显示全部楼层
原來如此~
发表于 2016-12-9 08:57:23 | 显示全部楼层
回复 1# goswami

楼主做过Xilinx SATA 3.0的IP吗?做过请联系我,可以考虑购买IP或兼职等合作方式, QQ/微信: 59488482, 多谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-22 09:50 , Processed in 0.029975 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表