SATA概述

有关于各种SATA标准的术语目前看起来就是一团迷雾。Serial ATA Working Group受命建立和发展Serial ATA规范,现在已经改名为SATA-IO(SATA International Organization,SATA国际组织)了,其在官方站点(www.searialata.org)上进行澄清,SATA II不是SATA 3Gb/s的名字而是一个制定SATA规范的组织/团队的名字,3Gb/s仅仅是SATA II组织制定的各种特性之一——这个也是混乱的根源。SATA的真正标准,按照SATA-IO目前的做法应该是Serial ATA版本、加上传输界面传输速度、再加上扩展特性而成,目前是Serial ATA 1.0a、1.5Gb/s和3.0Gb/s、以及Extensions to Serial ATA 1.0a, Revision 1.2。

  SATA组织/团队(就是SATA-IO)完成Serial ATA 1.0a规范之后,SATA II组织/团队(事实上也是SATA-IO)便进行对Serial ATA 1.0a进行扩展,得到的结果,就是Extensions to Serial ATA 1.0a, Revision 1.2(当前版本),这些扩展大大增强了SATA的能力。Extensions to Serial ATA 1.0a,可以称之为SATA1.0a扩展,包含了一系列的规格,这些附加的属性和能力被定义为可选的,原意是让厂商/客户可以根据实际市场的需要进行部署。这样市面上千奇百怪的控制器/硬盘具有不同的特性就不足为奇了。

  Serial ATA 1.0a规范里面并没有对界面传输速率进行规定,事实上,Extensions to Serial ATA 1.0a, Revision 1.2也没有。界面传输速率于它们是无关的。按照传输信号来划分,SATA 150MB/s也就是SATA 1.5Gb/s属于Serial ATA Generation-1 Signaling Rate(第一代SATA速率),SATA 300MB/s也就是SATA 3Gb/s则属于Serial ATA Generation-2 Signaling Rate,未来的SATA 600MB/s—SATA 6Gb/s则属于Serial ATA Generation-3 Signaling Rate,去掉“Signaling Rate”、剩下Serial ATA Generation-1这样的表述也可以使用。

  说完这些官方的SATA标准,就不能不提到Intel(联合多个厂商)提出的AHCI(Advanced Host Controller Interface,高级主机控制器界面)。AHCI相当于在控制器方进行的对SATA1.0a扩展的一种重定义,它支持一系列的SATA1.0a扩展属性,当然,AHCI包含的这些SATA1.0a扩展属性跟SATA硬盘的SATA1.0a扩展属性不一定是一致的。AHCI定义了与SATA设备通讯的一个界面,与原始的基于Port方式的与SATA设备通信的方式不同,AHCI提供的是基于系统内存的通信方式,这一点看起来就跟传统的DMA(Direct Memory Access)方式类似:ACHI控制器直接将数据读出或者存储到内存,软件无需看到(也看不到)I/O Port,所要发送的指令就简单多了,也节约了CPU资源。

  在将界面重新定义的过程中,AHCI实现了如NCQ、Hot Plug(热插拔)这样的功能。AHCI规范目前的版本为1.1。

  最后,ACHI也没有对界面传输速率进行规定,所以就出现了属于SATA 1.5Gb/s(Serial ATA Generation-1)的ICH6R支持AHCI,属于SATA 3Gb/s(Serial ATA Generation-2)的ICH7R也支持AHCI的情形。理论上讲新标准是可以向下兼容的,不过是降速使用了,也就是说你用SATA2的硬盘在SATA上使用时,其传输速率是运行在150上的。

<script type="text/javascript"><!-- google_ad_client = "pub-0246923946865164"; /* 728x90, created 10/10/09 */ google_ad_slot = "1248078023"; google_ad_width = 728; google_ad_height = 90; // --></script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>

阅读更多
个人分类: 资料(散杂)
上一篇部署ASP.NET(包含.net framework 和MDAC)
下一篇线程调度算法分析
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭