• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

SATA接口是如何实现传输错误自动校正的

你是回忆里的不能愈 2017-06-02 浏览量:2025
PATA是校验错误要求重发,SATA对传输指令进行检查,如果发现错误会自动矫正,想了解一下他是如何矫正的?
0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • sata有点像tcpip,协议设计时分层,分为五层,物理层(Physical Layer)、数据链路层(Link Layer)、传输层(Transport Layer)、命令层(Command Layer)和应用层(Application Layer)。也有人把命令层并入应用层,将整个体系划分为4层。链路层通过维持收发数据的完整性来保证数据传输的可靠性,链路层定义了帧起始原语(SOF)和结束原语(EOF),接收方通过辨别它们来判断一个帧的边界。

    在发送数据时链路层做这么几项工作,一是和对方沟通防止触痛,二是链路层给帧信息封装上 SOF 和 EOF原语,以及 CRC校验和数据,三是将待发送的数据进行扰码,扰码完毕后再进行8b/10b 编码,最后交给物理层发送。

    从物理层接收数据后的处理过程正好相反。链路层向物理层发送来自传输层的指令信号,告诉物理器件你可以接收啦,然后接收来自物理层的原始字符,对原始字符进行8b/10b解码,然后将数据送入解扰器,将解扰后的数据进行CRC校验,检测当前接收到的数据CRC与计算CRC 是否一致,若正确,则将数据发送到传输层,若不正确,则通过错误机制上报传输层和数据发送方。

    大概就是这么个过程

    • 发布于 2017-06-02
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:7
  • 应该了解下STAT协议吧。
    如下参考:http://blog.csdn.net/fa99999/article/details/70738724

    这个校验应该是在链路层上的CRC校验用来判断接收到数据是不是正确,不正确就要求重发,正确就接收,你说的自动校正不知道是说的哪一层的操作。如果数据错误,是不会知道错误在哪个字节或是帧上产生的,错误也不是规律的,所以自动校正应该是不可能的。
    • 发布于2017-06-02
    • 举报
    • 评论 1
    • 0
    • 0
你是回忆里的不能愈 回复了 汉云 :嗯,那应该是我理解有误,百科上说自动校正 回复

  • 因为有校验功能,所以不对就重发,这就导致他的数据不会出错,除非SATA接口有问题。
    • 发布于2017-06-02
    • 举报
    • 评论 0
    • 0
    • 0

  • sata其实算是半串行半并行接口,既有串行的特点也有并行的特点,传输错误矫正类似于以太网传输错误矫正,即发送方发错了的帧接受方就丢弃并返回错误信号,让发送方重传。
    • 发布于2017-06-03
    • 举报
    • 评论 0
    • 0
    • 0

  • SATA支持热插拔,传输速度快,执行效率高 使用SATA(Serial ATA)口的硬盘又叫串口硬盘,是未来PC机硬盘的趋势。Serial ATA采用串行连接方式,串行ATA总线使用嵌入式时钟信号,具备了更强的纠错能力,与以往相比其最大的区别在于能对传输指令(不仅仅是数据)进行检查,如果发现错误会自动矫正,这在很大程度上提高了数据传输的可靠性。串行接口还具有结构简单、支持热插拔的优点。
    • 发布于2017-06-02
    • 举报
    • 评论 0
    • -1
    • 0

相关问题

问题达人换一批

SATA接口是如何实现传输错误自动校正的