• 首页
  • 装备资讯
  • 热点专题
  • 人物访谈
  • 政府采购
  • 产品库
  • 求购库
  • 企业库
  • 院校库
  • 案例·技术
  • 会展信息
  • 行业日历
  • 硬盘固件级数据恢复专家:-ATA协议概览(一)

    中国教育装备采购网2014-03-11 17:26围观790次我要分享我要投稿

    硬盘是计算机及其信息系统中存储核心,凭借高速大容量,性价比高的优势,雄霸存储市场。而使用硬盘作为存储设备,就需要了解硬盘的工作原理和通信接口,硬盘的原理大同小异,知道个概括就够了,而通信接口方面,随着传输速度和容量的变化,不断的在进化。

    硬盘的通信接口,有IDE、SATA、SCSI等,一般装机时用到的硬盘,以前是以IDE接口为主,现在以SATA接口硬盘为主,无论是IDE接口还是SATA接口,都是遵循ATA通信协议,了解了ATA协议,就可以比较清楚硬盘与主机之间的通信原理了。

    在PC系统中,硬盘属于IO设备,通过PCI总线后的AT总线相连。硬盘存储设备与AT总线接口芯片相连,接口芯片与AT总线相连,接口芯片在总线协议与IO设备协议之间进行翻译。

    IDE硬盘最高支持到ATA-7协议,速度可达到Ultra-ATA/100、Ultra-ATA/133。ATA协议在内容上看,主要包括:1、接口信号的定义:主要是40针IDE接口,各个管脚信号的用途定义。

    图1 IDE接口

    其中16根双向数据线DD0-DD15,主机到设备的2根片选线CS1-CS0,主机到设备的3根地址线DA2-DA0,设备到主机的1根DMARQ请求线,主机到设备的1根DMACK-应答线,设备到主机的1根INTRQ请求线,主机到设备的1根DIOR-、HDMARDY-、HSTROBE复用线,设备到主机的1根IORDY、DDMARDY-、DSTROBE复用线、主机到设备的1根DIOW-、STOP复用线,主机到设备的1根RESET-线,主机到设备的1根数据电缆选择线CSEL,设备到主机的1根PDIAG-、CBLID-复用线,设备到主机的1根DASP-线。2、接口寄存器定义及其功能描述:见表1

    表1  ATA-6 中定义的接口寄存器

    CS1-

    CS0-

    DA2

    DA1

    DA0

    ADDR

    READ

    WRITE

    0

    1

    1

    1

    0

    0x0E

    Alternate Status


    1

    0

    1

    1

    1

    0x17


    Command

    1

    1

    X

    X

    X


    Data Port

    Data Port

    1

    0

    0

    0

    0

    0x10

    Data

    Data

    1

    0

    1

    1

    0

    0x16

    Device

    Device

    0

    1

    1

    1

    0

    0x0E


    Device Control

    1

    0

    0

    0

    1

    0x11

    Error

    Features

    1

    0

    1

    0

    1

    0x15

    LBA High

    LBA High

    1

    0

    0

    1

    1

    0x13

    LBA Low

    LBA Low

    1

    0

    1

    0

    0

    0x14

    LBA Mid

    LBA Mid

    1

    0

    0

    1

    0

    0x12

    Sector Count

    Sector Count

    1

    0

    1

    1

    1

    0x17

    Status


    3、常用的操作命令:

    表2 ATA-6 中定义的常用命令

    Command

    Code

    Protocol

    Device Reset

    0x08

    Device reset

    Flush Cache

    0xE7

    Non-data

    Flush Cache Ext

    0xEA

    Non-data

    Identify Device

    0xEC

    PIO data-in

    Idle

    0xE3

    Non-data

    Idle Immediate

    0xE1

    Non-data

    Read DMA

    0xC8

    DMA

    Read DMA Ext

    0x25

    DMA

    Read Multiple

    0xC4

    PIO data-in

    Read Multiple  Ext

    0x29

    PIO data-in

    Read Sector

    0x20

    PIO data-in

    Read Sector Ext

    0x24

    PIO data-in

    Read Verify  Sector

    0x40

    Non-data

    Read Verify  Sector Ext

    0x42

    Non-data

    Seek

    0x70

    Non-data

    Set Features

    0xEF

    Non-data

    Set Multiple  Mode

    0xC6

    Non-data

    Standby

    0xE2

    Non-data

    Standby  Immediate

    0xE0

    Non-data

    Write DMA

    0xCA

    DMA

    Write DMA Ext

    0x35

    DMA

    Write Multiple

    0xC5

    PIO data-out

    Write Multiple  Ext

    0x39

    PIO data-out

    Write Sector

    0x30

    PIO  data-out

    Write Sector Ext

    0x34

    PIO data-out

     

    系统开机后,主机先向设备发送Device Reset命令,设置设备为默认状态,之后,主机向设备发送Identify Device命令,获得设备的型号、序列号和传输方式等信息,之后使用Set Feature命令设置主机和设备之间传输数据的方式。其中Read DMA和Read Multiple分别采用DMA IN和PIO方式读取设备数据。Write DMA和Write Multiple分别用DMA OUT和PIO方式向设备写入数据。

    4、常见命令操作流程

    INDENTIFY DEVICE命令操作流程:

    HOST向DEVICE的命令寄存器写入IDENTIFY DEVICE命令,DEVICE接收命令后,准备相应的设备信息数据,设置INTRQ信号有效。HOST将读取状态寄存器查看DEVICE状态,如果状态为0x51,说明DEVICE准备就绪了,如果是其他状态,说明DEVICE操作出错。HOST为了确认操作对象,再次向DEVICE的Device寄存器写入操作对象(ATA主盘或者ATA从盘),再一次读取状态进行确认。如果DEVICE状态正确,则HOST连续读取256次数据(512个字节)的设备描述信息。最后,  HOST再次确认操作对象信息和状态。

    READ/WRITE MULTIPLE命令操作流程:

    HOST首先通过设置DEVICE的Sector Count、LBA Low、LBA Mid、LBA High、Device、Features寄存器,设定数据传输的扇区个数、LBA起始地址等等参数。在确认DEVICE状态正确的情况下,HOST向Command寄存器写入READ/WRITE MULTIPLE命令。DEVICE在准备好数据传输后,将设置INTRQ信号线有效。HOST在确认DEVICE的状态后,进行数据读/写操作。在读/写完命令指定的数据后,HOST再次读取DEVICE的状态信息,完成整个数据传输过程。

    READ/WRITE DMA命令操作流程:

    HOST首先通过设置Sector Count、Device、LBA Low、LBA Mid、LBA High寄存器,设置数据传输的扇区个数,LBA起始地址等等参数。HOST向DEVICE的Command寄存器写入READ/WRITE DMA命令。DEVICE在接收到命令后,准备就绪后,设置DMARQ请求有效,和HOST之间传输部分数据。一般传输扇区个数超过8个扇区,则HOST和DEVICE必须通过几次DMA传输才能传输完所有的数据。在每次传输中传输数据的个数并不是固定的。传输完所有的数据后,DEVICE设置INTRQ信号有效,HOST读取DEVICE的状态完成整个传输过程。

    了解了ATA-6协议的寄存器和常规命令后,再结合各个子协议的时序图,就基本上可以分析清楚ATA协议的基本内容了,下一篇文章中,将重点分析ATA的子协议的实现与详细的时序。


    图2 硬盘时序图举例

    未完待续。。。。

    关于达思科技

    达思科技的全称是达思凯瑞技术(北京)有限公司,是数据恢复行业的著名品牌,在全国乃至整个亚洲地区具有较高的知名度。达思科技是一家真正掌握数据恢复核心技术的企业,公司的数据恢复技术研发中心不但承担公司自主知识产权数据恢复软件的研发任务,还为众多大型企事业单位担当数据安全顾问的角色。达思科技对数据恢复技术的深入研究,尤其在Unix及Linux大型存储设备的数据恢复方面(包括EXT3文件系统删除数据、UFS文件系统数据恢复、XFS文件系统数据恢复技术、IBM-AIX JFS2文件系统数据恢复高端技术、Vmware虚拟机数据恢复技术等)独树一帜,在同行业中具有较为明显的优势,达思科技承接的其他公司无法恢复的疑难案例不计其数。

    达思科技数据恢复技术研发中心于2009年10月启动了科技创新计划,陆续发布了多款自主软件产品。截止到2013年12月,达思科技自主知识产权的数据恢复软件达到23款,其中Unix和Linux企业级数据恢复技术以及手机等移动终端数据恢复技术国际领先!

    达思科技职业院校数据恢复实训室是国内职业院校的首选,已经在多家学校正式运营,其中北京劳动保障职业学院、北京政法职业学院、北京商贸学校等中高职均采用达思数据恢复实训室,开设了数据恢复专业课程。开展了深度校企合作,深受师生青睐。

    达思数据恢复实验室解决方案是多家涉密单位和科研机构指定建设单位,达思科技具备大型、中型和小型数据恢复实验室设计与建设的能力,为涉密单位提供了安全保密数据恢复实验室,为数据安全筑起最后一道防线。典型成功案例有天津市国家保密局数据恢复实验室项目、总装备部装甲兵工程学院数据恢复实验室项目、中央和国家机关涉密载体销毁中心数据恢复项目等。

    来源:达思凯瑞技术(北京)有限公司作者:达思凯瑞技术(北京)有限公司我要投稿
    采购网二维码

    扫一扫,欢迎关注

    教育装备采购网官方微信

    掌握教育装备行业最新、最权威资讯

    相关阅读

  • 无纺布透湿性能的检测方案

    无纺布透湿性能的检测方案
    中国教育装备采购网中国教育装备采购网
  • 油脂酸价测定仪的排布及功能?仪器校正?
    中国教育装备采购网2017-10-18T15:15:00
  • 柏耐古籍书刊扫描仪助高校历史系复兴中国梦

    柏耐古籍书刊扫描仪助高校历史系复兴中国梦
    中国教育装备采购网中国教育装备采购网
  • 果酱铝塑复合膜层间复合牢度的监测方案

    果酱铝塑复合膜层间复合牢度的监测方案
    中国教育装备采购网中国教育装备采购网
  • 人工智能与教育如何深度结合?
    千寻生活2017-10-18T11:06:06
  • 希捷 ST31000524AS恢复成功
    中国教育装备采购网2017-10-17T17:26:14
  • Del ST4000NM0025硬盘数据恢复成功

    Del ST4000NM0025硬盘数据恢复成功
    中国教育装备采购网中国教育装备采购网
  • 这种胆固醇代谢产物“劫持”免疫细胞 让癌症扩散

    这种胆固醇代谢产物“劫持”免疫细胞 让癌症扩散
    中国教育装备采购网中国教育装备采购网