Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1045001
  • 博文数量: 277
  • 博客积分: 8313
  • 博客等级: 中将
  • 技术积分: 2976
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-22 11:25
文章分类

全部博文(277)

文章存档

2013年(17)

2012年(66)

2011年(104)

2010年(90)

我的朋友

分类: LINUX

2010-05-18 14:35:21

小型计算机系统接口(英语:Small Computer System Interface; 简写:SCSI),一种用于计算机和智能设备之间(硬盘、软驱、光驱、打印机、扫描仪等)系统级接口的独立处理器标准。 SCSI是一种智能的通用接口标准。它是各种计算机与外部设备之间的接口标准。这种接口具有以下特性:

  ●SCSI接口是一个通用接口,在SCSI母线上可以连接主机适配器和八个SCSI外设控制器,外设可以包括磁盘、磁带、CD-ROM、可擦写光盘驱动器、打印机、扫描仪和通讯设备等。
 
  ●SCSI是个多任务接口,设有母线仲裁功能。挂在一个SCSI母线上的多个外设可以同时工作。SCSI上的设备平等占有总线。
 
  ●SCSI接口可以同步或异步传输数据,同步传输速率可以达到10MB/s,异步传输速率可以达到1.5MB/s。

  ●SCSI接口接到外置设备时.它的连接电缆可以长达6m。

  最初的SCSI标准的最大同步传输速率为5MB/s(SCSI-1,又名Narrow SCSI,1986年,最大支持7个设备,时钟频率为5MHz),后来的SCSI II 规定了2种提高速度的选择。一种为提高数据传输的频率,即Fast SCSI(1994年,最大支持7个设备),由于频率提高一倍,达10MB/s(10MHz);另一种提高速度的选择是传输频率提高一倍的同时也增大数据通路的宽度,由8位增至16位,即Wide SCSI,其最大同步传输速度为20MB/s (时钟频率为10MHz,1996年,最大支持15个设备)。

SCSI协议的主要功能是在主机和存储设备之间传送命令、状态和块数据。在各类存储技术中,SCSI协议可谓是最重要的脊梁。 
  
操作系统与SCSI I/O
  
    操作系统对外部设备(如磁盘、磁带、光存储、打印机和扫描仪)的I/O操作,可以通过SCSI协议来实现,一般情况下SCSI协议都嵌入到设备驱动器或者主机适配器的板载逻辑中。 
  
    因为SCSI协议层位于操作系统和外部资源之间,它具有不同的功能组件。例如,应用程序一般将数据作为文件或者记录来访问。尽管数据最终都将在磁盘或者磁带介质上以数据块的方式存放,但是文件的检索需要一系列功能将未加工的块数据装配成应用程序能够操作的连续文件。 

   这个过程的第一步由应用程序通过操作系统所连接的文件系统承担。文件系统以目录、文件夹和文件的方式来创建人们可读的数据抽象。当一个用户的应用程序打开一个文件时,会引发一系列的进程。它们使用底层SCSI命令,控制数据块从存储系统到内存的安全传输。因此在文件系统层次中,数据传输在文件描述和块I/O之间进行。 
  
    正像文件系统描述了对用户应用程序数据的抽象一样,物理存储设备被描述成文件系统的抽象。例如,在Windows中的E驱动器或者Unix中的/dev/dsk2可以是一个单独的磁盘、一个大磁盘的一部分或者多磁盘的条带阵列。文件系统依赖于卷管理功能,它将各种存储设备看作可以并发的、很容易访问的资源。设备的虚拟化将物理存储转换成逻辑存储,并且承担了在磁盘上放置数据块所需的复杂任务。文件/数据块转换和映射功能可以像一个单独的卷管理应用程序那样复杂,也可以像适配卡设备驱动程序接口那么简单明了。例如,Windows NT提供了Windows磁盘管理程序,为物理磁盘分配逻辑驱动器名。适配卡的设备驱动程序负责将它的资源作为一个物理SCSI实体,出现在Windows磁盘管理程序中。Windows磁盘管理程序可以为这些资源分配逻辑名,文件系统按顺序使用这些逻辑名为目录和文件确定位置。 
  
    如图一所示,逻辑抽象的层次从实际的物理SCSI设备一直到同主机系统的连接。在操作系统层次,一般的访问方法允许对SCSI设备进行统一的处理,而不考虑它们在系统中的物理连接。在保存文件时,文件系统并不关心逻辑驱动器是一个SCSI单元、一个Fibre Channel阵列还是千兆以太网的某个IP存储设备。在各种情况下,逻辑实体和物理存储的映射完成主机系统和合适的目标SCSI命令的发送,它在二者之间用来传输数据块。

    不考虑潜在的通道,操作系统对物理设备的描述是通过总线/目标/LUN三元组定义的,这种三元组来自于并行SCSI技术。总线描述了主机上潜在的几个SCSI接口之一,每一个都支持一个单独的磁盘串。目标代表了串上一个单独的磁盘控制器,窄SCSI一共可以有7个,宽SCSI可以有15个。LUN标志允许控制器管理额外的磁盘,例如一个RAID设备。 
  
    总线/目标/LUN三元组和逻辑设备标识符之间的映射为物理设备提供了到高层文件系统的端口。因为Fibre Channel和IP存储是串行通信,没有总线设备,为了和操作系统的SCSI名称相兼容,总线标识符可以伪造。例如,一个单独的中的两个IP存储网卡可以具有不同的总线标识符以模仿SCSI适配器配置。厂商不同,具体实现也不同,但是设备驱动器程序遵守操作系统的标准SCSI访问方法。 
  
    总线/目标/LUN标识符可以进一步映射到某个传输的寻址条件上。例如,FCP(Fibre Channel Protocol,光纤通道协议)将总线/目标/LUN映射到DI(device identification,设备标识符)/LUN对上。因此,物理存储的表示有两个组成部分。一个是对于操作系统,使用大家都熟悉的基于SCSI三元组的可访问实体;另外一个是针对某个传输,以适应更改拓扑结构的寻址条件。

    在这一层下面,数据块传送的引发器(initiator)和目标相互交换SCSI-3命令和状态。SCSI引发器和目标之间的关系定义在SAM-2中,对于特定的SCSI-3实现有不同的标准文档。

SCSI体系结构模型
  
    SCSI-3标准家族引进了几种新的SCSI命令变体,其中包括串行SCSI-3和在磁带中进行数据流和介质处理所需要的特殊命令组。如图二所示,命令层独立于协议层,协议层用来在设备之间传送SCSI-3命令。这使得取代SCSI-3同操作系统之间的命令接口下的不同传输更具有灵活性。例如,在视频编辑系统中,外部设备可以使用IEEE 1394 FireWire处理高速但是有距离限制的SCSI-3串行总线事务。 
  
    SCSI体系结构定义了引发器(主机)和目标(例如磁盘、磁带)之间作为客户/进行交换的关系。SCSI-3应用程序客户端在主机上,它描述了高层应用程序、文件系统和操作系统的I/O请求。SCSI-3设备在目标设备中,负责对请求做出响应。客户/请求和响应通过底层传输的方式进行交换,并且由合适?SCSI-3服务发送协议进行管理,如FCP协议或者千兆串行链路的iSCSI协议。因此,SCSI-3协议和SCSI-3传输协议就区分开了,前者从主机的应用程序中对I/O请求提供服务,后者通过服务发送子系统传输数据。

    因为一个引发器可能向一个目标发送多个请求,因此客户/模型必须支持并发请求/响应交换,并且记录每个交换的状态。状态和诊断功能可以由两个实体之间的任务管理程序负责。 
  
    SCSI-3体系结构模型是结构化的,因此主机系统的I/O请求可以不考虑底层的服务发送子系统就获得服务。因此,一个单独的文件服务器可以管理不同目标类型的I/O操作。例如,一台服务器在千兆以太网接口上可以具有直接的SCSI目标,也可以具有串行SCSI目标。一些NAS系统使用之间连接的存储提供文件服务,使用千兆传输的串行SCSI提供数据块、存储扩展和磁带备份服务。 
  
    SCSI(Small Computer System Interface,小型计算机系统接口)是一种高性能计算机外部设备接口。通过这个接口,所有连接到PC的外部设备均可通过HBA(Host Bus Adapter,主机总线适配器)实现彼此间独立于主机的数据传输和分发。 
  
    从1982年SCSI的前身SASI(Shugart Associates Systems Interface)到1986年被ANSI接受为标准(X3.131-1986),再到目前乃至将来各种SCSI相关标准和技术的不断推出,SCSI已经走过了20多年的历程。 
  
    SCSI是一种规范,是一组协议族。第三代SCSI最初被称为SCSI-3,以区别于SCSI-2。但当SCSI-3体系结构模型SAM(SCSI-3 Architecture Model)被修改时,这种体系结构模型就被称为SAM-2了。

阅读(1145) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~