彩神Ⅴll

  • <tr id='SvFnWL'><strong id='SvFnWL'></strong><small id='SvFnWL'></small><button id='SvFnWL'></button><li id='SvFnWL'><noscript id='SvFnWL'><big id='SvFnWL'></big><dt id='SvFnWL'></dt></noscript></li></tr><ol id='SvFnWL'><option id='SvFnWL'><table id='SvFnWL'><blockquote id='SvFnWL'><tbody id='SvFnWL'></tbody></blockquote></table></option></ol><u id='SvFnWL'></u><kbd id='SvFnWL'><kbd id='SvFnWL'></kbd></kbd>

    <code id='SvFnWL'><strong id='SvFnWL'></strong></code>

    <fieldset id='SvFnWL'></fieldset>
          <span id='SvFnWL'></span>

              <ins id='SvFnWL'></ins>
              <acronym id='SvFnWL'><em id='SvFnWL'></em><td id='SvFnWL'><div id='SvFnWL'></div></td></acronym><address id='SvFnWL'><big id='SvFnWL'><big id='SvFnWL'></big><legend id='SvFnWL'></legend></big></address>

              <i id='SvFnWL'><div id='SvFnWL'><ins id='SvFnWL'></ins></div></i>
              <i id='SvFnWL'></i>
            1. <dl id='SvFnWL'></dl>
              1. <blockquote id='SvFnWL'><q id='SvFnWL'><noscript id='SvFnWL'></noscript><dt id='SvFnWL'></dt></q></blockquote><noframes id='SvFnWL'><i id='SvFnWL'></i>
                教育装㊣备采购网
                第六届图书馆论坛580*60

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

                教育装备〗采购网 2016-04-13 10:15 围观2787次

                  随着我们对SATA协议的逐步分析,SATA的物理层、链路层、传输层的基本原理和结构我们基本上都搞清楚了,现在,我们来看SATA协议的最后一部分,应用层的原理与结构,有的文献上将应用层内部划分出一个命令层来,但总的来看,功能上都是类似的。

                  应用层是 SATA协议的顶层结构,它负责所有ATA指令的执行与解析,向处理器报告当前硬盘运行状态,生成对数据的读写请求,读取和设置硬盘的工作性能模式,还包括对控制指令模块寄存器的访问。SATA应用层和PATA协议的应用层功能@相同,主要负责所有ATA指令的解析和向处理器报告当前工作状态。当主机的BIOS程序或软件向硬盘控制器发送主机指令时,应用层对主机发送的SATA指令进行解析和执行,它通过指令和控制寄存器来接收指令,硬盘控制器的微处理器通过中断和状态信息设置状态寄存器,响应相〖应的操作,并向主机报告当前的工作状态,微处理器指示硬盘系统软件执行下一步操作,设置ATA协议内部DMA的控制,实现数据的高速传输。主机向指令寄存器写入指令,并读取指令的状态信息,设备处理器通过设置指令寄存器中的各种参数,控制中断、复位和其他各种状态♀。

                  应用层的命令处理部分,也可称之为命令层,主要负责ATA命令的解析。在发送端,命令层将主机端的映射寄存器(Shadow Register Block)或者设备端的ATA 寄存器(ATA Register)内更新的寄存器值提取出来并转换成对应不同交互机制的命令类型,然后通知传输层构造 FIS;在接收端,命令层通过解析传输层的FIS所携带的信息,判断出是哪≡一种命令类型并作相对应的操作。SATA2.0标准协议中规定的命令主要包括两大部分:与PATA兼容的ATA命令集和SATA新特性添加的新命令。其中常用的主要有IDENTIFY DEVICE、READ DMA、READ DMA EXT、READ SECTOR(S)、WRITE DMA EXT等。为了实现这些命令,SATA2.0标准协议将他们分为12个类型,每一种类型对应着不同的交互机制,每一种命令还采用不同的命令码来加以区分,具体见表1、2 所示。

                  表1 SATA命令类型


                  表2 SATA常用命令表

                  以READ DMA EXT命令为例,介绍整个交互机【制和过程。READ DMA EXT命令属于DMA-In 命令类型,命令码位25h。该命令使用DMA数据传输方式从设备端向主机端发送数据,一次DMA传输的数据必须为8K字节的整数倍。其交互过程如下图1所示:


                  图1 DMA-In类型命令交互过程

                  详细流程为:

                  1、主机软件首先初始化主机端的DMA控制器,包括指定用「于存放硬盘数据的内存空间地址;

                  2、主机软件初始化主机端的映射寄存器(BSY=0);

                  3、主机软件向主机端映射寄存器发起READ DMA EXT命令(BSY=1),命令层识别该命令的交互机制并通知传输※层构造一个Register FIS - Host to Device 发送到设备端;

                  4、设备端接收到该FIS后,校验其正确性并解析出命令内容;

                  5、设备端执行命令-READ DMA EXT,读取硬盘中目标扇区的数据并存储在硬盘本地缓存中;

                  6、设备端然↓后通过Data FIS向主机端发送数据,根据扇区数决定发送Data FIS的数量,一次Data FIS所能传输的数据量为16个扇区(16×512Bytes=8KB);

                  7、主机端接收到数据后校╱验是否出现错误;

                  8、通过DMA 控制器将主机端的缓存中的数据转移到主机内存中,当速度不匹配时需要进行流量控制;

                  9、当数据全部发送完成后,设备端将完成状态通ω过Register FIS-Device to Host发送给主机端;

                  10、主机端更新映射寄存器组中的值;

                  11、主机端向』主机软件发起中断,报告完成状态〗,结束命令。

                  应用层是SATA2.0标准协议的顶层,它为主机软件提供编程接口,负责执行所有的ATA命令。应用层包含映射寄存器和SATA协议规定的寄存器组,主机软件可以根据中断标志和状态信息访问并更新这些寄存器,使得SATA标准接口根据命令完ω 成相应的操作。主机端映射寄存器与PATA相兼容,包括了命令寄存器、设备寄存器、设备控制寄存器、错误寄存器、状态寄存器等。下面对这些寄存器进行简要介绍,如表 3所示。


                  表3 主机端映射寄存器表

                  除了映射寄存器之外,SATA还规定了16组SCR寄存器(Status and Control Register,状态控制寄存器)。SCR寄存器独立于映射寄存器之外,用于SATA标准接口新特性的状态报告和错误信息。目前协议使用了 5 组,剩下的作为未来升级使用,其定义见表4。


                  表4 SCR 寄存器定义表

                  SATA 传输层完成各种FIS帧的封装后,应用层利用这≡些封装好的 FIS进行接口通讯。协议根据接口各种数据传输方式需要,定义设计各种不同的数据传输控制流程, SATA 协议设备端常用数据传输控制操作流程:

                  非数据命令类型操作流程

                  非数据命令操作类型主要读取或设置SATA接口设备端的状态或属性信息等,如SLEEP , IDLE , FLUSH CACHE等命令。设备端收到此类命令后,执行该命令并以发送响应FIS帧作为回」应,而响应FIS帧中包括了执行命令后的状态信息以及可能的出错信息,具体执◤行操作流程如图2所示。


                  图2 非数据命令类型操作流程

                  2. PIO数据读写命令类型操作流程

                  PIO 数据读写操作命令类型主要用作从 SATA 设备端的硬盘内部扇区中读取少量数据,如读取设备整体属性的命令IDENTIFY,扇区读取命令READ等。设备端收到命令后,设置状●态寄存器并准备发送数据,准备完毕后先发█送PIO SETUP FIS信息帧,然后再将准备好的数据封装成DATA FIS信息帧发送给主机端,如此循环直至数据传输完毕,最后发送响应 FIS信息帧表示传输完毕,具体执行操作流程如图3。


                  图3 PIO数据读命令类型操作流程

                  3. DMA 数据读写命令类型操作流程

                  DMA 数据传输与 PIO大致相同,不同点在于DMA传输操作需要配置 DMA控制器,并利用该控制器来进行数据ㄨ传输操作,而且一次可以传输多个DATA FIS信息帧,因此DMA数据传输率比PIO较高。

                  总体上看,SATA的应用层主要完成命令的处理和数据的传输,这些操作和PATA协议高度兼容,并添加了体现SATA特性的一些新的寄存器和命令。理解这些寄存←器和命令的使用,是主机端驱动开发和设备端数据读取的基础。

                  通过连续5篇文章的分析,我们对SATA协议已经有了一个清晰的认识,对SATA的框架基本上分析了一遍,但“光说不练是假把式”,后续的文章中,我们将动用SATA协议分析的利器-SATA总线分析仪,连接主板和SATA硬盘,具体的展现SATA主机端和设→备端通信的细节,敬请期待。

                  关于达思科技

                  达思科技,国家级高新技术企业,天津市国家保密局涉密载体数据恢复唯一协作单位,数据恢复和取证行业著名品牌,是一家以技术研发为核心生产力的技术型企业,在国内乃至全亚洲数据恢复与取证技术领先!

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

                  更多数据恢复与取证技术、互联网请关注微信公众订阅号:woocs

                  微信号:woocs

                  长按识别二维码关注

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

                  投稿:woocs@qq.com

                点击进入达思凯瑞√技术(北京)有限公司展台查看更多 来源:达思凯瑞技术(北京)有限公司 我要投稿
                普教会专题840*100

                相关阅读

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

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

                2022云展会300*245