ATA接口详解

平常所说的IDE接口,也称之为ATA接口。ATA的英文拼写为“Advanced Technology Attachment”,含义是“高级技术附加装置”。ATA接口最早是在1986年由康柏、西部数据等几家公司共同开发的,在九十年代初开始应用于台式机系统。它使用一个40芯电缆与主板进行连接,最初的设计只能支持两个硬盘,最大容量也被限制在504 MB之内。

ATA接口从诞生至今,共推出了7个不同的版本,分别是:ATA-1(IDE)、ATA-2(EIDEEnhanced IDE/Fast ATA)、ATA-3(FastATA-2)、ATA-4(ATA33)、ATA-5(ATA66)、ATA-6(ATA100)、ATA-7(ATA 133)。

ATA-1 
ATA-1在主板上有一个插口,支持一个主设备和一个从设备,每个设备的最大容量为504MB,支持的PIO-0模式传输速率只有3.3MB/s。ATA-1支持PIO模式包括有PIO-0和PIO-1、PIO-2模式,另外还支持四种DMA模式(没有得到实际应用)。ATA-1接口的硬盘大小为5英寸,而不是现在主流的3.5英寸。

ATA-2 
ATA-2是对ATA-1的扩展,习惯上也称为EIDE(Enhanced IDE)或Fast ATA。它在ATA的基础上增加了2种PIO和2种DMA模式(PIO-3),不仅将硬盘的最高传输率提高到16.6MB/S,还同时引进LBA地址转换方式,突破了固有的504MB的限制,可以支持最高达8.1GB的硬盘。在支持ATA-2的电脑的BIOS设置中,一般可以见到LBA(Logical Block Address),和CHS(Cylinder,Head,Sector)的设置,同时在EIDE接口的主板一般有两个EIDE插口,它们也可以分别连接一个主设备和一个从设备,这样一块主板就可以支持四个EIDE设备,这两个EDIE接口一般称为IDE1和IDE2。

ATA-3 
ATA-3没有引入更高速度的传输模式,在传输速度上并没有任何的提升,最高速度仍旧为16.6MB/s。只在电源管理方案方面进行了修改,引入了了简单的密码保护的安全方案。但引入了一个划时代的技术,那就是S.M.A.R.T(Self-Monitoring Analysis and Reporting Technology,自监测、分析和报告技术)。这项及时会对包括磁头、盘片、电机、电路等硬盘部件进行监测,通过检测电路和主机上的监测软件对被监测对象进行检测,把其运行状况和历史记录同预设的安全值进行分析、比较,当超出了安全值的范围,会自动向用户发出警告,进而对硬盘潜在故障做出有效预测,提高了数据存储的安全性。

ATA-4 
从ATA-4接口标准开始正式支持Ultra DMA数据传输模式,因此也习惯称ATA-4为Ultra DMA 33或ATA33。首次在ATA接口中采用了Double Data Rate(双倍数据传输)技术,让接口在一个时钟周期内传输数据两次,时钟上升和下降期各有一次数据传输,这样数据传输率一下从16MB/s提升至33MB/s。Ultra DMA 33还引入了一个新技术-冗余校验计术(CRC),该技术的设计方针是系统与硬盘在进行传输的过程中,随数据发送循环的冗余校验码,对方在收取的时候也对该校难码进行检验,只有在完全核对正确的情况下才接收并处理得到的数据,这对于高速传输数据的安全性有着极有力的保障。

ATA-5 
ATA-5也就是“Ultra DMA 66”,也叫ATA66,是建立在Ultra DMA 33硬盘接口的基础上,同样采用了UDMA技术。Ultra DMA 66让主机接收/发送数据速率达到66.6 MB/s,是U-DMA/33的两倍。保留了上代Ultra DMA 33的核心技术冗余校验计术(CRC)。在工作频率提成的同时,电磁干扰问题开始在ATA接口中,为保障数据传输的准确性,防止电磁干扰,Ultra DMA 66接口开始使用40针脚80芯的电缆,40针脚是为了兼容以往的ATA插槽,减小成本的增加。80芯中新增的都是地线,与原有的数据线一一对应,这种设计可以降低相邻信号线之间的电磁干扰。

ATA-6 
ATA100接口和数据线与ATA66一样,也是使用40针80芯的数据传输电缆,并且ATA100接口完全向下兼容,支持ATA33、ATA66接口的设备完全可以继续在ATA100接口中使用。ATA100规范可以轻松应付目前ATA33和ATA66接口所棘手的难题。ATA100可以让硬盘的外部传输率达到100MB/s,它提高了硬盘数据的完整性与数据传输率,对桌面系统的磁盘子系统性能有较大的提升作用,而CRC技术更有效提高高速传输中数据的完整性和可靠性。

ATA-7 
ATA-7是ATA接口的最后一个版本,也叫ATA133。只有迈拓公司推出一系列采用ATA133标准的硬盘,这是第一种在接口速度上超过100MB/s的IDE硬盘。迈拓是目前惟一一家推出这种接口标准硬盘的制造商,而其他IDE硬盘厂商则停止了对IDE接口的开发,转而生产Serial ATA接口标准的硬盘。ATA133接口支持133 MB/s数据传输速度,在ATA接口发展到ATA100的时候,这种并行接口的电缆属性、连接器和信号协议都表现出了很大的技术瓶颈,而在技术上突破这些瓶颈存在相当大的难度。新型的硬盘接口标准的产生也就在所难免。

(0)

相关推荐

  • ATA接口详解

    平常所说的IDE接口,也称之为ATA接口.ATA的英文拼写为"Advanced Technology Attachment",含义是"高级技术附加装置".ATA接口最早是在1986年由康柏.西部数据等几家公司共同开发的,在九十年代初开始应用于台式机系统.它使用一个40芯电缆与主板进行连接,最初的设计只能支持两个硬盘,最大容量也被限制在504 MB之内. ATA接口从诞生至今,共推出了7个不同的版本,分别是:ATA-1(IDE).ATA-2(EIDEEnhanced 

  • spring的几个重要类和接口(详解)

    1. datasource接口是javax.sql包下的接口,不是spring,是javax.sql下的 datasource接口有个重要的方法getConnection()方法 Connection getConnection(String username, String password) throws SQLException; 那些spring支持的数据库连接池,都是实现了Datasource接口 比如下面是阿里的DruidDatasource数据库连接池源码,它就是实现了dataso

  • 类似Object监视器方法的Condition接口(详解)

    在<基于线程.并发的基本概念(详解)>中,我们利用synchronized关键字.Queue队列.以及Object监视器方法实现了生产者消费者,介绍了有关线程的一些基本概念.Object类提供的wait的方法和notifyAll方法,与之对应的是Condition接口提供是await和signalAll.await(或wait)是让当前线程进入等待状态并释放锁,signalAll(或notifyAll)则是唤醒等待中的线程,使得等待中的线程有竞争锁的资格,注意只是资格,并不代表被唤醒的线程就一

  • 基于多态之虚方法、抽象类、接口详解

    虚方法: 1.在父类方法的返回值前加 virtual 关键字,标记为虚方法,表示这个方法可以被子类重写. 2.虚方法必须有方法体,方法体中可以没有任何内容. 3.子类可以根据需求选择性的是否重写虚方法.如果需要重写,在子类方法的返回值前加 override 关键字. 4.子类在重写虚方法时,可以根据需求选择性的是否使用 base 关键字调用父类中的该方法. 虚方法语法格式如下: public class Father { public virtual void Do() { //..... }

  • 微信小程序和百度的语音识别接口详解

    介绍 因为项目需要,使用到了微信小程序和百度的语音接口 现在将项目中的一个小模块拿出来单独分享. 技术关键字 微微信小程序 百度语音接口 nodejs,express fluent-ffmegp 环境 windows 10 vs code 1.20.1 微信小程序开发工具 1.02.1802270 花生壳-提供域名和内容穿透-用于方便本地远程调试微信小程序 考虑到业务并不复杂,所以就将所有的代码都放在一个页面就可以了(wxml,wxss,js统称为一个页面) 文件目录 页面 index.wxml

  • 对YOLOv3模型调用时候的python接口详解

    需要注意的是:更改完源程序.c文件,需要对整个项目重新编译.make install,对已经生成的文件进行更新,类似于之前VS中在一个类中增加新函数重新编译封装dll,而python接口的调用主要使用的是libdarknet.so文件,其余在配置文件中的修改不必重新进行编译安装. 之前训练好的模型,在模型调用的时候,总是在 lib = CDLL("/home/*****/*******/darknet/libdarknet.so", RTLD_GLOBAL)这里读不到darknet编译

  • python 发送get请求接口详解

    简介 如果想用python做接口测试,我们首先有不得不了解和学习的模块.它就是第三方模块:Requests. 虽然Python内置的urllib模块,用于访问网络资源.但是,它用起来比较麻烦,而且,缺少很多实用的高级功能.更好的方案是使用 requests.它是一个Python第三方库,处理URL资源特别方便.查看其中文官网:http://cn.python-requests.org/zh_CN/latest/index.html英文官网:http://www.python-requests.o

  • spring BeanProcessor接口详解

    1. 简单认识BeanProcessor BeanProcessor的理解 BeanProcessor是spring中的一个重要接口,他有两个接口方法一个是postProcessBeforeInitialization前置初始化,另一个是postProcessAfterInitialization后置初始化.从名称上就可以大概清楚这个接口的作用:在一个业务流程的前后加入两个接口方法,当执行这个业务流程时,就会触发这两个接口方法的执行.简单的总结一下有两个要点: 在业务流程中,根据BeanProc

  • JAVALambda表达式与函数式接口详解

    Lambda表达式的诞生是为了解决JAVA创建匿名内部类代码冗余的问题.例子如下: public class Lambda { public static void main(String[] args) { Gog gog = new Gog() { @Override public void say() { System.out.println("WOW"); } }; gog.say(); } } interface Gog { void say(); } 这里我们想实现接口的s

  • Java基础巩固抽象类与接口详解

    目录 1.抽象类 1.1.什么是抽象类 1.2.抽象类的用法 1.3.抽象类特点(限制条件) 2.接口 2.1.什么是接口 2.2.接口的用法 2.3.如何使用接口 2.4.接口的特点(限制条件) 2.5.如何实现多个接口 2.6.接口于接口之间的继承关系 2.7.如何使用接口 抽象类与接口 1.抽象类 1.1.什么是抽象类 如果一个类中没有包含足够的信息来描绘一个具体的对象,这样的类就是抽象类 1.2.抽象类的用法 一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract

随机推荐