教育装备采购网
第七届图书馆 体育培训

硬盘数据恢复技术之SATA协议分析(二)

教育装备采购网 2016-04-06 13:24 围观3026次


  上一篇文章中,分析了SATA协议的主体部分,由4个层构成,物理层、链路层、传输层和应用层,数据在传输过程中依次经过这4个层,完成由电信号到逻辑数据的转换。那么具体到每一个层,数据是怎样处理的呢?下面就各层实现的技术细节做详细的介绍。

  首先来看物理层,SATA 协议规定物理层能够向上层链路层传输并行数据流,以及接收高速(1.5Gb/s、3Gb/s、6Gb/s)的串行数据流,同时进行数据的串并转换,通过带外信号的收发检测设备状态,实现接口的热插拔功能。SATA 物理层的主要任务是完成串并数据之间的转换,并将数字逻辑信号驱动为差分物理信号,对接收数据进行采样得到相应的时钟信号,通过带外信号完成设备的上电初始化进程,物理层接口逻辑图如图1所示:

  图1 SATA物理层接口逻辑

  控制模块通过逻辑电路控制整个物理层的功能实现,它负责处理接收来自链路层的控制信号,并向链路层反馈本层的工作信息。模拟前端提供数据连接线的基本接口,它包含高速串行差分驱动器和接收器,以及 OOB 信号处理电路。数据提取模块负责从输入的数据流中提取时钟信息和数据。同步字符检测和同步字符源两个模块负责实现串行/并行的同步转换。并串转换模块负责将从链路层接收到的并行数据转换成串行数据,以适应物理接口的串行数据传输。串并转换模块负责将接收的物理接口转发的主机串行数据转换成并行数据,以适应链路层的并行数据传输。逻辑功能描述见下表

  表1 SATA物理层接口逻辑功能描述:

  当SATA物理层接口进行数据传输时,串行数据传输链路中没有提供必要的时钟信号,物理层数据接收模块在进行接收数据高低电平的检测时没有可参考的时钟信号。为解决此问题,SATA 协议规定数据传输使用 8b/10b编码机制,利用数据冗余信息向物理层接收器提供数据检测时钟信号。另外,为了增强 SATA 接口设备的扩展能力以及响应能力,协议还定义了特殊信号:带外信号(Out Of Band)以协助物理层进行上电初始化和复位操作。

  由于在 SATA 标准接口建立通信链路之前,链路两端不知道对方的通信模式和速率,因此无法正确获取信号线路上的传输信息,导致无法正常通信。所以需要一种特殊机制来保证通信双方建立可靠的连接。SATA 2.0 标准协议采用的是OOB 信号机制。OOB 信号只用于物理层初始化时建立通信链路、系统重启和电源管理,在正常通信期间不起任何作用,所以相对于正常的数据流,它只是一种带外信号,即为 OOB(Out of Band)信号。差分信号传输是利用相互耦合的一对信号线的信号强度差来代表逻辑“0”或“1”。以 SATA 标准接口为例,发送端 TX(+)为250m V、TX(-)为 0m V 时,TX代表逻辑“1”;反之则代表逻辑“0”。当TX(+)、TX(-)维持不变,都为250m V 时,代表总线空闲状态。而OOB 信号正好就是在总线空闲时发起的一种数据短脉冲序列传输方式,该数据短脉冲序列的峰峰值一般在50m V 以内,远远低于正常数据传输时的幅值。SATA 2.0 标准协议总共定义了三种 OOB 信号:COMRESET、COMINIT和COMWAKE。它们均由有固定时间要求的一组数据短脉冲序列和一段空闲时间组成,并通过空闲时间长度的不同加以区分。

  (1)COMRESET

  COMRESET仅由SATA主机端发送,用于上电复位和错误状态下的强制重启。COMRESET由160个UIOOB的短脉冲(106.7ns)和480 个 UIOOB的空闲状态(320ns)组成,如图 2所示。UIOOB是 OOB 信号的时间单位,160个 UIOOB相当于传输 4个 DWs所占用的时间。短脉冲可以是 4个GEN1 ALIGNP原语或者是4个GEN1的DWs(每个DW由 4个D24.3 字符组成)。

  (2)COMINIT

  COMINIT 仅由SATA设备端发送,用于响应主机端的COMRESET 信号,表示设备已经准备就绪。COMINIT的信号格式与COMRESET完全相同,如图 2 所示。

  图2 COMRESET和COMINIT信号格式

  (3)COMWAKE

  COMWAKE可由SATA主机端发送,也可由SATA设备端发送,用于唤醒对方。COMWAKE由160个UIOOB的短脉冲(106.7ns)和 160 个 UIOOB的空闲状态(106.7ns)组成,如图3所示。

  图3 COMWAKE信号格式

  SATA接口物理层在接通电源并硬件复位成功后,主机端通过使用OOB信号来启动上电后的复位序列。接口通信双方在经过阻抗校准,自我诊断等一系列自我状态的调整后,主机端通知SATA接口设备端准备就绪,并在进行速度协商及时钟恢复后在两端建立起可靠的高效通信链路,初始化时序如下:

  图4 物理层初始化时序

  物理层初始化过程可以分为两个步骤:1、检测连接设备是否存在;2、协商双方端口支持的最高传输速率。第一个步骤通过OOB 信号交互完成。双方端口发送固定格式的信号,然后等待对方响应。如果检测到响应,说明设备已存在,可以进行第二个步骤。双方端口发送固定格式的稳定数据流,SATA 设备端通过不断降速协商双方支持的最高传输速率,并从数据流中提取出时钟信号,实现数据同步。此时,双方端口就可以进行正常通信了。具体流程为:

  图5 初始化流程

  硬件上电后,Host端开始复位,并在复位期间不断向Device端发送COMRESET信号。Host端复位完成后,停止向Device端发送COMRESET信号,并等待Device端的响应。

  Device端接收到COMRESET信号后进行复位,复位完成后通过发送COMINIT信号响应Host端,表明Device端已就绪,可以进入下一阶段。

  如果Device端在 Host端停止发送COMRESET信号之前没有成功接收到该信号,则无法发送COMINIT 响应信号,Host等待10ms 后作超时处理,需要重新复位;如果在Device就绪之后,发送 COMINIT 响应信号之前,Host仍处于复位状态,那么Device将再次进入复位并发送COMINIT响应信号,直到Host复位完成。

  当Host端检测到Device端的COMINIT响应信号后,进入阻抗校准状态。Host端针对当前信号传输环境,以传输电缆作为参考,采用 TDR 测试方案进行自我诊断并对高速差分信号收发器做一些适当的调整,从而达到最好的信号质量。高速差分信号收发器的调整主要是对其内部的阻抗进行匹配,减少信号损耗,保证信号的完整性。需要注意的是,阻抗校准不是物理层初始化过程所必需的,视情况而选择。

  阻抗校准完成后,Host端发送 COMWAKE信号给Device端并等待响应。此时Device端接收到 COMWAKE信号后,进行时钟校准,并同样可以进行阻抗校准并以COMWAKE信号通知Host端可以进入速率协商阶段。

  在速率协商阶段Device端主导该流程,Host端只是作为响应。当Device端向Host端发送COMWAKE信号后,紧接着以它所能支持的最大速率连续向Host端发送ALIGNP序列。如果Device端在54.6us之后仍未检测到Host端回复的ALIGNP序列,那么Device端判定Host端不支持该传输速率,Device端自动将速率降至下一级并重复以上过程,如果Device端速率已降至最低而Host端仍然没有响应,则进入错误状态。

  Host端在接收到Device端发来的COMWAKE信号后,以最低的速率发送 D10.2字符。同时,Host端要在54.6us内锁定ALIGNP序列,一旦锁定ALIGNP序列,它将以相同的速率回复ALIGNP序列表示支持该传输速率。如果Host端在880us内没有接收到 ALIGNP信号,则会重新启动上电初始化操作,并一直重复下去,直到应用层将其强行终止。

  Device端锁定ALIGNP序列并在准备就绪后发送SYNCP序列表示可以开始正常通信了。当主机端接收到 3个非ALIGNP序列后,通信链路建立成功,物理层初始化过程结束,进入正常工作状态。

  总的来看,物理层的初始化,包括复位阶段、可选的阻抗匹配阶段和速率校准阶段等,这三个阶段都需要执行OOB信号的指令,由Host主机端和Device设备端交互完成。

  SATA协议的物理层,基本上分析完了,看上去要比PATA协议复杂不少,由于要实现高速串行传输,这些功能都是必不可少的。下一篇文章中,将继续介绍SATA协议的其他层的技术原理和细节,敬请关注。

  关于达思科技

  达思科技,国家级高新技术企业,天津市国家保密局涉密载体数据恢复唯一协作单位,数据恢复行业著名品牌,在国内乃至全亚洲数据恢复技术领先!

  达思科技中国数据恢复与取证真专家!

  更多数据恢复与取证前沿技术请关注微信公众账号:woocs

  微信号:woocs

  长按识别二维码关注

  专注数据恢复与取证技术、互联网

  投稿:woocs@qq.com


点击进入达思凯瑞技术(北京)有限公司展台查看更多 来源:达思凯瑞技术(北京)有限公司 我要投稿
校体购终极页

相关阅读

  • 西部数据WD5000AAKX磁头损坏数据恢复成功
    教育装备采购网08-21
    上个月中,王先生带着西部数据WD5000AAKXSN:WCAYUFZ23845来到达思数据恢复中心,说电脑开机很慢,开机后一操作就死机,怀疑硬盘故障。达思数据恢复工程师立即检测,根据经验判断,硬盘的磁头损坏...
  • 希捷ST500LM021有声响数据恢复成功
    教育装备采购网08-09
    上个月中,宋先生带着希捷ST500LM021SN:W624CFKC来到达思数据恢复中心,宋先生说,硬盘有声响,不明故障原因。达思数据恢复工程师立即检测,根据经验判断,硬盘的磁头损坏了,由于宋先生并没有多...
  • 希捷逻辑故障数据恢复成功
    教育装备采购网08-02
    上上周,王先生带着4T希捷SN:NA7F1E8S来到达思数据恢复中心找工程师恢复数据。达思硬盘数据恢复工程师先检测硬盘用winhex查看硬盘底层数据流判定为逻辑故障,和客户沟通好之后,将客户硬盘接到达...
  • 希捷ST1000LM010磁头损坏数据恢复成功
    教育装备采购网08-01
    上个月中旬,武先生带着希捷ST1000LM010SN:W100HW7A来到达思数据恢复中心,根据客户描述,硬盘有声响,不清楚什么原因造成的,所以直接带着硬盘来达思数据恢复中心了。达思数据恢复工程师立即检...
  • 富士通s937逻辑故障数据恢复成功
    教育装备采购网07-17
    上上周,以为自称王先生的客户带着富士通S937来到达思数据恢复中心,王先生说今早电脑被不小心摔了一下,由于里边有重要内容所以并未进行过通电尝试,便直接带着电脑来到这里了。希望工程师帮忙...
  • 联想笔记本逻辑鼓掌数据恢复成功
    教育装备采购网07-16
    这个月5号,王先生带着联想笔记本电脑来到达思数据恢复中心,说是电脑开机很慢,半天都是蓝屏状态,很着急,怕其中的重要资料丢失了。达思硬盘数据恢复工程师先检测硬盘用winhex查看硬盘底层数据...
  • 西部数据WD5000LPVX-08V0T 磁头损坏数据恢复成功
    教育装备采购网07-15
    上个星期三,刘先生带着西部数据WD5000LPVX-08V0TSN:WXA1A6334371来到达思数据恢复中心,刘先生描述说自己的硬盘磁头坏了,想来这找工程师修修,最重要的是把硬盘里边的数据恢复出来,不要丢失。...
  • 联想硬盘 320gG逻辑故障数据恢复成功
    教育装备采购网07-12
    前几天,贾女士带着联想硬盘320gG型号:SN:0a0428093901169来到达思数据恢复中心,故障不明,找工程师检测。达思硬盘数据恢复工程师先检测硬盘用winhex查看硬盘底层数据流判定为逻辑故障,和客户...

版权与免责声明:

① 凡本网注明"来源:教育装备采购网"的所有作品,版权均属于教育装备采购网,未经本网授权不得转载、摘编或利用其它方式使用。已获本网授权的作品,应在授权范围内使用,并注明"来源:教育装备采购网"。违者本网将追究相关法律责任。

② 本网凡注明"来源:XXX(非本网)"的作品,均转载自其它媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责,且不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。

③ 如涉及作品内容、版权等问题,请在作品发表之日起两周内与本网联系,否则视为放弃相关权利。

校体购产品