SCSI协议与存储的发展
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-3与SAM-2
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了。
SCSI协议与存储的发展相关推荐
- scsi协议_存储协议有哪些类型?常见存储协议分析
一.存储协议类型 1.1.协议概况 通过上一章节的学习,应该对数据中心存储协议有了比较基础的了解,我们知道了现在的数据中心已经变为SAN为主流的部署模式.下面我们来更深层次的从协议的角度了解存储协议类 ...
- 【存储】 iSCSI Target(tgt) |什么是iSCSI target|SCSI协议
目录 简略 一.iSCSI 介绍 1. iSCSI 定义 2.什么是iSCSI target 3.几种常见的 iSCSI Target 3. 优缺点比较 软iscsi target 二.SCSI 协议 ...
- 02硬盘接口及协议及存储介绍
文章目录 硬盘接口类型 一. IDE磁盘 二. SATA磁盘 三.SCSI特性 四.SAS特性 五.FC 六.SSD 通讯协议 一.SCSI 二.FC(光纤通道) 三.iSCSI 四.iSCSI和FC ...
- SCSI协议与iSCSI协议
文章目录 1.SCSI协议 2.iSCSI协议 3.IO--SCSI错误处理机制 1.SCSI协议 SCSI的起源 SCSI出现的原因主要是因为原来的IDE接口的硬盘转速太慢,传输速率太低,因此高速的 ...
- SCSI协议及大容量存储命令详解
目录 1.Mass Storage设备所使用的SCSI命令集 2.Mass Storage命令 1:inquiry 2:READ FORMATCAPACITIES 3:READ CAPACITY 4: ...
- SCSI 协议命令字 中文含义
SCSI协议基础概念 SCSI设备的连接类似树形的分层结构,从PCIE总线遍历,可以找到所有的SCSI设备,从上到下的层次为:PCIE->HOST->channel->target- ...
- 计算机存储的发展(块存储,文件存储,对象存储)
块存储 DAS SAN 文件存储 块存储和文件存储异同: 对象存储 1.对象 2.对象存储设备 3.元数据服务器(Metadata Server,MDS) 4.对象存储系统的客户端Client 三者之 ...
- 【转】借助第三方支持https协议的存储实现自己网站上扫描二维码安装IOS APP
使用plist安装,一般是企业级开发者账号不需要登录到APP STORE的IOS设备应用发布时所用到的技巧. 准备: *一台运行着OSX的苹果电脑,最新版的XCODE,用于导出ipa和plist 一个 ...
- 回顾2016年存储市场发展 解析产品涨价为何如此逆天
如果回顾整个2016年存储市场的话,小编只能说是品牌之间的完全是可以用相爱相杀来形容的.包裹在整体技术上较大的更新进步在内,不过整体而言这里面也一定有能让你记住的东西,小编觉得应该就是整体在存储产品的 ...
最新文章
- 浅谈几种区块链网络攻击以及防御方案之拒绝服务攻击
- return 语句不可返回指向“栈内存”的“指针”
- Android keystore/Keymaster的代码导读
- 『ACM-算法-ST算法』信息竞赛进阶指南--区间最值问题的ST算法
- Oracle 分页语句解释,oracle 分页语句
- 3位水仙花数计算pythonoj_Python解答蓝桥杯省赛真题之从入门到真题
- vue组件制作专题 - (mpvue专用)在mpvue中纯自己写css实现简单左右轮播
- Linux篇 | 磁盘存储和文件系统
- 输入三个字符串,按由小到大的顺序输出
- php中的字符串可以当做数组调用
- 手机屏幕测试html,华为手机屏幕检测代码是什么
- windows2008 RD授权管理器下空的没服务器(授权管理器无法链接到许可证服务器)问题处理...
- 吴恩达老师深度学习课程完整笔记
- Java制作推箱子小游戏
- 2G/3G LAC与4G/5G TAC的协同优化
- python命令行操作:Click包
- python对dataframe时序数据按时间顺序读取
- Auto.js 简单悬浮开关
- 华东师范大学计算机试题,(华东师范大学计算机考试习题.doc
- 网络实战之单臂路由与三层交换机配置
热门文章
- ASP.NET 网页- WebGrid 帮助器简介
- CSS初识(三):CSS字体文本相关属性
- JavaScript初学者编程题(7)
- AttributeError: module ‘tensorflow‘ has no attribute ‘applications‘
- CF1006E Military Problem
- HDU - 6486 Flower(思维)
- Liunx下MySQL常用命令
- A - 棋盘问题 POJ - 1321(dfs)
- linux显示不在sudoers文件中,Ubuntu无法使用sudo提权提示当前用户不在sudoers文件中...
- oracle 关闭audit,关于Oracle审计(audit)