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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
EETOP诚邀模拟IC相关培训讲师 创芯人才网--重磅上线啦!
查看: 3054|回复: 2

[求助] 请教高手,关于SATA协议传输层

[复制链接]
发表于 2014-7-29 10:47:36 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 goswami 于 2014-7-29 11:58 编辑

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

  
我开始错误的认为是 SATA控制器要实现 ATA DMA控制器部分,设置DMA工作需要这个参数,所以要发送DMA SETUP 带 IDENTIFIER BUFFER参数,但后来仔细想来,好像不对,传输层还是串行这部分的实现,数据命令发送都是打包发送的(通过原语和FIS),根本用不上地址变量,是不?

PIO方式和DMA方式传输数据对SATA协议的串行部分(指链路层,物理层)实现上应该是差异极小的,是这样么?  CPU参不参与数据传输的过程,与SATA串行部分实现应该没什么关系吧?

SATA协议区分PIO和DMA方式纯粹是“继承”ATA协议么? 为什么把这种数据传输方式的不同传递给 链路层,原因是什么啊? 实在理解不了,SATA这样设计的脉络是什么? 难道就是“简单的继承”?

是我理解错了,还是怎的? 请高手解答,谢谢!
 楼主| 发表于 2014-7-29 18:14:55 | 显示全部楼层
First Party DMA是正解么?
 楼主| 发表于 2014-7-29 18:16:52 | 显示全部楼层
本帖最后由 goswami 于 2014-7-29 18:17 编辑

继续再问的是: DMA setup FIS 具体怎样echo IDENTIFIER BUFFER参数 的?

请问有高人搞过没有?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-12-22 22:54 , Processed in 0.019186 second(s), 9 queries , Gzip On, Redis On.

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