硬盘固件级数据恢复专家:-ATA协议概览(一)

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

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

硬盘的通信接口,有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企业级数据恢复技术以及手机等移动终端数据恢复技术国际领先!

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

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

来源:达思凯瑞技术(北京)有限公司作者:达思凯瑞技术(北京)有限公司

相关阅读