(计算机系统结构专业论文)基于嵌入式linux的高性价比eide磁盘陈列.pdf_第1页
(计算机系统结构专业论文)基于嵌入式linux的高性价比eide磁盘陈列.pdf_第2页
(计算机系统结构专业论文)基于嵌入式linux的高性价比eide磁盘陈列.pdf_第3页
(计算机系统结构专业论文)基于嵌入式linux的高性价比eide磁盘陈列.pdf_第4页
(计算机系统结构专业论文)基于嵌入式linux的高性价比eide磁盘陈列.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要+ r a i d 是一种在专用服务器中接入多个磁盘( 专指硬盘) ,以磁盘阵列的方式组成 一个超大容量、响应速度快、可靠性高的存储系统。通过对数据分块和交叉存取两 项技术的使用,可以对磁盘阵列中的数据进行并行调度,从而大大加快磁盘的访问速 度,缩短磁盘读写的“平均排队与等待时间”。 通常,r a i d 采用s c s i 总线作为外部设备接口,以s c s i 硬盘作为存储设备。 h 一 虽然s c s i 的磁盘阵列性能优良,但价格不菲。一个合适的解决办法是用e i d e 硬盘 来构建磁盘阵列。利用主板提供的通用和扩展e i d e 接口挂接硬盘,可实现一种廉 、 价、高性能的磁盘阵列系统。j e d e 磁盘阵列采用d m a 工作模式来对硬盘进行快速读写,目前单盘突发传输 速度便可达1 3 3 m b s 。同时d m a 控制器支持聚散技术,有效地提高了e i d e 磁盘 阵列的整体性能。聚散技术是指在连续大片的磁盘空间( 聚) 和几个小块分散的内存 空间( 散) 只进行一次d m a 操作。在r a i d 中数据分块导致了多个i o 请求。为了 减少o 次数,可行的办法是把多个i o 请求所涉及的分散的数据块进行内存拷贝, 合并成一个大数据块,然后再进行一次读写。而使用聚散技术后,完成多个i o 请 求只需一次d m a 操作,就无需数据拷贝,实现了内存的“零拷贝”操作,减少了 i o 服务时间。 通过采用一系列的优化技术,e i d e 磁盘阵列在性能上已经接近s c s i 磁盘阵列, 而其价格上的优势是s c s i 磁盘阵列所不能比的这必将促进e i d e 磁盘阵列在存储 领域的广泛应用。 关键词:磁盘阵列;增强集成磁盘电路;直接内存访问i 聚嗷 本文的研究工作受国家自然科学基金( 6 9 9 7 3 0 1 7 ) 资助 华中科技大学硕士学位论文 = = = = = = = = = 口= = = = = = = = ;= = = = = = = = ;= = = = = = = = ;自 a b s t r a c t + r a i di sah i g h c a p a c i t y ,f a s t - r e s p o n s e ,h i g h r e l i a b i l i t ys t o r a g es y s t e mb ym e a r l so f c u t o v e r i n gm u l t i p l ed i s k s ( e s p e c i a l l yf o rh a r dd i s k s ) i ns p e c i a ls e v e r i tq u i c k e n sa c c e s s s p e e da n dd e c r e a s e s “a v e r a g eq u e u ew a i tt i m e ”w h e nh a r dd i s k sa r e r e a do rw r i t t e n , b e c a u s ed a t ac a nb es c h e d u l e di np a r a l l eb ys t r i p i n ga n di n t e r l e a v i n g g e n e r a l l y , t h es c s i b u si sa d o p t e da sp e r i p h e r a li n t e r f a c ea n ds c s id i s ka ss t o r a g e d e v i c ei nr a i d d e s p i t ei t se x c e l l e n tp e r f o r m a n c e ,s c s i r a i di st o oe x p e n s i v e o n e a p p r o p r i a t es o l u t i o ni s t ou s ee i d ed i s k st oc o n s t r u c tr a i d b yu t i l i z i n gt h eu n i v e r s a l a n de x p a n d e de i d ei n t e r f a c e ,w ec a nr e a l i z eo n el o w - c o s ta n dh i g h p e r f o r m a n c er a i d s y s t e m e i d e r a i da l l o w sd m am o d et oi m p l e m e n th i g h s p e e dd i s ka c c e s s b u r s td a t a t r a n s f e rr a t ec a na c h i e v eu pt o 13 3 m b sp e rd i s kn o w m e a n w h i l ed m ac o n t r o l l e r s u p p o r t s s c a t t e r g a t h e ra n de f f i c i e n t l y i m p r o v e s t h e p e r f e r m a n c e o fe i d e - r a i d s c a t t e r g a t h e ri so n ed m ao p e r a t i o nb e t w e e nc o n t i n u o u sm a s s i v ed i s ks p a c e a n d m u l t i p l ed i s p e r s em e m o r ys p a c e s t r i p i n gl e a d st ot h ee x i s t e n c eo f m u l t i p l ei or e q u e s t s i nr a i d t or e d u c ei or e q u e s t s ,av i a b l em e t h o di st oc o p yt h ed i s p e r s e dd a t ab l o c k si n m e m o r y , c o m b i n e t h e mi n t oo n eb i gb l o c ka n dr e a do rw r i t eo n c e m u l t i p l ei or e q u e g s c a nb ee x e c u t e di no n ed m a o p e r a t i o n w h e ns c a r e r g a t h e ri ss u p p o r t e d ,s od a t ac o p yi s u n n e c e s s a r y , z e r oc o p y ”i nm e m o r y i sr e a l i z e d ,a n dr g os e r v i c et i m ei sd e c r e a s e d as e r i e so f o p t i m i z e dt e c h n i q u e si se m p l o y e d a n dt h ep e r f o r m a n c eo fe i d e - r a i di s c l o s et ot h a to fs c s i - r a i d e i d e r a i dh a sap r i c ea d v a n t a g et h a ts c s i - r a i d d o e sn o t p o s s e s s ,w h i c hw i l lp r o m o t e e i d e - r a i d sw i d eu s ei ns t o r a g ef i e l d k e y w o r d s :r a i d ,e i d e ,d m a ,s c a r e r g a t h e r t h er e s e a r c hi ss u p p o r t e d b y n a t i o n a ln a t u r a ls c i e n c ef o u n d a t i o n ( 6 9 9 7 3 017 ) l i 华中科技大学硕士学位论文 1 1 当前存储系统的形势 1 绪论 数据存储和存储管理技术最早起源于7 0 年代的终端主机的计算模式,当时由于 数据集中在主机上,因此,连接在主机上的硬盘和磁带是当时主要的存储和备份设 备。8 0 年代以后,由于个人电脑的发展,尤其是客户机月务器模式的出现,使得 数据存储分布化。此时网络上文件服务器和数据库服务器往往是重要数据集中的地 方,而客户机上也有一定量的数据,数据的分布造成数据存储管理的复杂化。而九 十年代i n t e m e t 的迅猛发展,也使得存储技术发生着革命性的变化。这种变化主要 表现在三个方面:首先是存储容量的急剧膨胀,从而对于存储服务器提出了更大的 需求;其次是数据持续时间的增加。今天,i n t e r n e t 使网络数据必须保证每天2 4 小 时、每周7 天、每年3 6 5 天处于可获得状态。最后,对数据存储的管理提出了更高 的要求。数据的多样化、地理上的分散性、对重要数据的保护等等都对数据管理提 出了更高的要求。同时,电子政务、教育信息化以及传统行业的信息化改造,带动 了对存储产品和服务的需求,特别是信息资源的日益丰富,拉动了存储市场的发展。 自1 9 9 7 年以来,全球存储行业市场增长率保持在2 0 以上,远远超过i t 业的 平均增长率。2 0 0 1 年全球新增数字化信息为6 0 亿g b ,其中,中国存储系统市场装 机容量为6 4 5 3 t b ,比2 0 0 0 年增长1 1 1 4 。2 0 0 2 年中国存储市场总收入将保持1 7 8 的增长率,达到6 8 3 亿美元,而总出货量为1 1 ,8 7 3 t b ,保持了8 4 0 的高增长率。 而且,全球存储系统装机量2 0 0 2 年约1 2 0 亿g b ,据预测,2 0 0 3 年将达到2 4 0 亿 g b 。 对存储产品及服务需求快速增长形势的形成,给存储服务业界提供了扩大服务 规模、拓展服务领域的良好契机。同时,也向存储服务和存储系统性能提出了更高 的要求。 华中科技大学硕士学位论文 1 2 网络存储 1 2 1 存储技术研究领域 现在信息存储技术随着数字信息在企业资源中的地位不断上升,特别是美国 “9 1l ”事件的发生,使一些企业因数据丢失而遭受严重损失,存储技术引起了人 们前所未有的重视。当前对存储技术的研究和应用,主要集中在以下几个领域:存 储备份、网络存储、虚拟存储等。 1 存储备份技术 存储备份一般包括硬件备份和软件备份两部分。真正意义上的存储备份更强调 软件备份。硬件备份不能替代数据存储备份,事实证明,只有硬件备份和很好的管 理软件相结合,才能提供真正安全的数据保护。 当前,硬件备份主要采用磁带机等存储硬件技术。因为磁带可以提供大容量、 高可靠性以及可管理性,而且价格便宜,因此是硬件备份的首选介质。在众多磁带 备份的应用中,自动备份得到了广泛的应用。具有自动备份功能的磁带机及磁带库 产品将多盘磁带,存放磁带的智能机械臂系统和磁带库管理、控制、监测、诊断集 成在一个产品里,可以实现自动换带,提高了磁带库的可用性。结合专业备份软件, 根据系统管理员的设置,可以完成定时、定文件、定目录、定数据库的自动备份任 务,以及磁带库的自动诊断、感应、识别、恢复或报警以及磁带库自动日常维护和 磁带机自动清洗等。 软件备份主要是指通用和专用备份等软件技术,它在整个数据存储备份过程中 具有相当的重要性。除了操作系统本身提供的一些基本备份功能外,专业备份软件 的功能是十分重要的。目前,比较流行的备份软件有c o m p u t e r a s s o c i a t e s 的 a r c s e r v e 2 0 0 0 、v e r i t a s 的b a c k u p e x c e 以及l e g a t o 的n e t w o r k e r 等。 对于有大的数据备份需求、对数据的可用性和完整性较高要求的企业,如电信、 银行等大型企业,s a n ( s t o r a g ea r e an e t w o r k ,存储区域网) 备份是个理想的解决方 华中科技大学硕士学位论文 案。在s a n 备份模式中,硬件备份设备磁带驱动器和磁带库通过一个高速光纤通道 网络连到各个主机。每个主机可以看到个似乎是其专用的磁带驱动器。安装在每 个主机上的备份软件管理着对磁带驱动器的访问,将来自多个主机的备份任务按顺 序放入可用的磁带驱动器池。这种备份方案避免了网络备份和直接连接备份的很多 负面影响,比如:网络备份模式的主要缺陷是网络带宽经常会成为系统性能的瓶颈, 而且通过主局域网进行备份往往也会给网络性能带来负面影响。而直接连接备份模 式虽然提供了高性能的磁带存储,但磁带库中的磁带驱动器的数目是有限的,这就 限制了所能备份的服务器的数量,而且每个磁带驱动器是专门配属给某一个服务器 的,当那个服务器不使用其专用磁带驱动器时,其他服务器也不能使用,这也造成 了大量的资源浪费。 2 网络存储技术 新兴的存储技术是以网络为中心的,具有支持各种操作系统、平台、连接和存 储架构的能力,提供通用的数据访问、无缝的可扩展性、集中的管理。目前,网络 存储技术主要有n a s ( n e t w o r ka t t a c h e ds t o r a g e ,网络附加存储) ,1 0 1 和s a n 4 6 , t o | 两种。 n a s 一般由存储硬件、操作系统以及文件系统等几个部分组成。它将存储设备 连接到现有的网络上,提供数据和文件服务。n a s 克服了共享服务器数量的限制, 支持多平台的数据访问,是针对文件存储和共享进行优化的存储设备,其即插即用 功能有利于轻松的数据管理,而对协议的支持意味着可以在u n i x 和w i n d o w s 客户 机上使用,从而实现真正的异种存储访问。 s a n 由连接在一个独立网络上的各种存储设备构成,信息只在自身的网络上传 输,因此它可减少瓶颈,增加带宽,同时易于集成、扩展、管理和改善数据可用性。 s a n 在最基本的层次上可定义为互连存储设备和服务器的专用光纤通道网络。它在 这些设备之间提供端到端的通信,并允许多台服务器独立地访问同一个存储设备。 光纤通道是一个连接异构系统和外设的可扩展数据通道,支持几乎不限量的设备互 相连接,并允许基于不同协议的传输操作同时进行。利用s a n ,不仅可以提供更大 容量的数据存储,而且在地域上可以分散。s a n 允许任何服务器连接到任何存储阵 华中科技大学硕士学位论文 列,这样,数据不管放在哪里,服务器都可以直接存取所需数据。 s a n 被视为迈向完全开放、联合的计算环境进程的第一步。o p e ns a n 是s a n 发展的下一步。所谓o p e ns a n ,是指在包括服务器、磁盘、磁带存储和交换机在 内的各种水平的s a n 环境中,遵循已公布的业界标准,用通用的工具管理、存储数 据。o p e ns a n 可以在不考虑服务器操作系统或存储设备制造商的情况下,将任何 平台的服务器、存储系统完整地连接起来,完全实现s a n 技术所承诺的切。o p e n s a n 能为任何类型服务器、操作系统、应用与文件系统的组合提供存储的集中区域, 而封闭的s a n ,设备要由单一厂商提供,且通常需要额外的软件。因此,未来o p e n s a n 可以选择任何厂商的产品,集最优秀的存储设备服务器和应用程序于一身以满 足业务需求,而且它将在存储和s a n 基础结构之间提供一组开放接口,便于用户的 应用实施。 3 虚拟存储技术 所谓虚拟存储是指“那些架构和产品被仿真设计成一个物理设备,如磁带机。 其特性被镜像到另一个物理设备上,通常是一个磁盘或磁盘子系统。结果,逻辑设 备和虚拟设备的特性可以完全不同,应用系统操作的是虚拟设备,而不必关心真正 的物理设备是什么。”这是美国著名i t 咨询公司r f g 对虚拟存储的定义。对于这个 定义可从两个方面来理解:从专业角度看,虚拟存储实际上是逻辑存储,是一种智 能、有效地管理存储数据的方式。从用户角度看,虚拟存储将使用户使用存储空间, 而不是使用物理存储硬件( 磁盘、磁带) ;管理存储空间,而不是管理物理存储硬件1 7 j 。 虚拟存储实际上是一种存储管理技术,使用户能方便地实现和管理存储网络, 有效提高存储效率,降低存储投资的费用 $ - ll i 。以传统的磁盘存储为例,为了满足 不断增长的需求,它需要预留一定的容量,这种预留将造成4 0 - - 5 0 容量从未被 使用过;同时,为了满足系统的镜像等附加功能要求,用户必须购买更多数量的磁 盘。而虚拟存储技术可以将所有可用的存储设备作为一个存储池来管理,容量可以 根据需要进行重新分配或增加,多余的存储容量可以由需要的应用程序加以利用, 这样,磁盘容量1 0 0 地得到了使用,从而有效地解决了容量上的浪费问题。另外, 虚拟存储允许一个用户共享不同供应厂商的存储设备,允许多用户共享同一个存储 华中科技大学硕士学位论文 网络,因此,用户很容易地增加存储容量和在设备间移动数据。 虚拟存储可以简化存储管理的复杂性,降低存储管理和运行成本。传统的存储 系统当增加新的存储设备时,整个系统需要重新配置。重新配置时的关机、开机, 会导致部分数据不可用,从而中断业务的连续性。而在虚拟存储环境中,无论网络 后端的物理设备发生什么变化,服务器及其应用系统看到的存储设备的逻辑镜像都 是不变的,这样,用户将不必关心底层物理环境的复杂性,只需管理基于异构平台 的存储空间,所有的存储管理操作,如系统升级、建立、扩充存储空间、分配虚拟 磁盘、改变r a i d 等就变得非常方便。 12 2 网络存储新技术 随着存储技术的不断发展和创新,网络化存储解决方案也在不断的丰富和完善, 网络化存储提供了巨大的存储能力和优异的灵活性。光纤通道目前是建立s a n 架构 的唯一选择,但是随着新技术和市场的双重作用,将来可能会用g 1 0 g 以太网和 或i n f i n i b a n d 架构来实现s a n t l 引。 1 s o l p ( s t o r a g eo v e ri f ) 在网络存储新技术当中,引人注且的当属s o l p 技术。随着s a n 和n a s 技术的 发展和成熟,许多业内专家都在考虑将两种技术优势进行融合。在技术上,s a n 的 缺陷主要是成本高,系统复杂度高,这些都是由于采用光纤通道技术造成的。但是, s a n 的最大优势是性能,也得益于光纤通道技术。从另外个角度讲,b i a s 产品之 所以成本低,系统相对简单,是因为它采用了以太网这种成熟技术。如何利用以太 网的成熟技术,同时又保留光纤通道或类似存储协议的高效率和高性能,是s o i p 技术追求的主要目的。目前,s o l p 在实现方式上分为i s c s i 、f c i p 和i f c p 三大类【i 。 i s c s i 将光纤通道的底层协议用t c p i p 替换掉,但是保留s c s i 3 指令映射;f c i p 和i f c p 则是在t c p u d p 协议之上实现完整的光纤通道协议【l 。2 0 0 3 年2 月“曰, i e y f ( i n t e m e te n g i n e e r i n gt a s kf o r c e ,互联网工程任务组) 通过了i s c s i ( i n t e r n e ts c s i ) 标准。这项由i b m 、思科共同发起的技术标准,经过三年的不断完善。终于得到i e t f 华中科技大学硕士学位论文 的认可。这将吸引更多的厂商参与到相关产品的开发中,也会推动更多的用户采用 i s c s i 解决方案。 2 i n f i n i b a n d 基于i b a ( i n f i n i b a n d a r c h i t e c t u r e ) 的计算机体系结构如图1 1 所示。i b a 架构的计 算机通过对存储节点进行定制,就会成为海量存储专用系统,图中所示实际上可以 认为是一个基于i b a 的s a n 结构【i o j5 1 。i n f i n i b a n d 体系结构确实非常富有吸引力, 特别是与其他现有的和比较近的未来的标准相比。其性能也是很好,传输率可以达 到3 0 g b p s ,同时系统通过双c r c 、虚通道、优先级控制、基于信用的流控制来维 持较高的性能和可靠性。i b a 提供了内部和外部级别互连的支持,如p c b 、铜线、 光纤等传输媒质。 图i i基于l n f i n i b a n d 的计算机体系结构 i n f i n i b a n d 沿袭了s a n 和n a s 的一些概念,将处理计算、存储i o 、网络i o 等功能完全分开。这种设计真正体现了计算机体系结构的最终思想,即以网络为中 心的架构。采用这种架构,可以非常灵活的根据用户的需要来定制系统。对于高性 能计算,如果对计算能力要求非常高,那么就需要将处理节点的数目配置的非常高; 对于网络服务器,如视频服务应用,对存储、网络带宽、内部数据交换能力要求很 高,就需要根据这种要求来定制系统。 i n f i n i b a n d 体系结构内部的构架采用专用的通信网络和协议。对于处理节点,其 通道适配器称为h c a ( h o s tc h a n n e la d a p t e r ) ,对于i o 节点,其通道适配器称为 t c a ( t a r g e tc h a n n e la d a p t e r ) ,无论是h c a 还是t c a 都可以认为是一个i n f i n i b a n d 华中科技大学硕士学位论文 内部通信网络接口。i n f i n i b a n d 网络是一个走专用协议的高速交换网络,这个网络的 交换能力可以根据用户的需求来具体配置。 图1 2 数据存储技术的发展趋势 图中1 2 给出了对数据存储技术未来发展走向的一个预测。从存储解决方案的 一些变化,我们可以大体上看出体系结构变化的趋势,即目前的内部总线结构将逐 渐向交换式网络化方向发展,数据存储部分将逐步独立出来。 1 3 本文研究的主要内容 通常,网络存储系统都以磁盘阵列作为存储设备。本文实现了一种廉价、高性 能的e i d e ( e n h a n c e d i n t e g r a t e d d i s k e l e c t r o n i c s ) 磁盘阵列,并研究了其中一些关键技 术,主要工作包括以下几个方面: 1 分析本系统的体系结构。 2 研究并实现了e i d e 硬盘的d m a 工作模式和聚散技术。 3 完成b l u e c a t 下对e i d e 硬盘的驱动。 4 实现适合于本系统的数据恢复方法。 5 指出本系统的i ,0 瓶颈所在,并提出改进策略。 华中科技大学硕士学位论文 2e i d e 磁盘阵列的体系结构 r a i d ( r e d u n d a n ta r r a y so fi n e x p e n s i v ed i s k s ) 是一种在专用服务器中接入多个 磁盘( 专指硬盘) ,以磁盘阵列的方式组成一个超大容量、响应速度快、可靠性高的 存储子系统。通过对数据分块和交叉存取两项技术的使用,使c p u 实现通过硬件方 式对数据的分块控制和对磁盘阵列中数据的并行调度等功能。使用r a i d 可大大加 快磁盘的访问速度,缩短磁盘读写的平均排队与等待时间。通常,r a i d 采用s c s i 总线作为外设接口,以s c s i 硬盘作为存储设备。在e i d e 磁盘阵列( 以下简称为 e i d e ,r a i d ) 中,我们以便宜的e i d e 硬盘替换昂贵的s c s i 硬盘,以主板上的通用 i d e 控制器替代r a i d 卡,实现了一种廉价、高性能的磁盘阵列系统。 2 1b l u e c a t 操作系统简介 e i d e r a i d 中我们采用b l u e c a t 操作系统。b l u c a t 是l y n u x w o r k s 公司开发的嵌 入式l i n u x ,是一个标准的l i n u x 公开代码和稳定的版本。它节约成本,风险低, 产品进入市场时间更快,可以增强和满足嵌入式开发者的要求,具有更加完善的开 发能力。b l u e c a t l i n u x 是以包含了l i n u x 2 2 1 2 2 0 内核的r e d h a t l i n u x 6 1 为基础的, 支持以l i n u x 作为主机的交叉开发环境,当前支持的硬件平台包括p e n t i u m 和 p o w e r p c 在内的多个系列,它的问世让开发人员拥有了一个理想的开发平台。 b l u e c a t 的开发环境是一个完整的开发、调试及服务体系,为嵌入式应用程序的开发 提供了品种繁多的开发工具和性能分析工具。例如:交叉编辑器g c c ,g + + ,内核裁 剪工具m k i m a g e ,调试工具如源代码级系统调试工具t o t a l d b ,内核调试工具s k d b ; 支持多种s h e l l 环境b a s h ,t c s h ,a s h ,s a s h 和多种l i n u x 的编辑器。b l u e c a t 的开发环境 允许用户使用l y n x o s 操作系统的图象调试工具t o t a l - v i e w 和性能分析器t i m e s c a n , 从而增强了其开发和调试的能力。b l u e c a t 拥有完善的技术支持体系和服务体系,用 户可以根据自己的具体情况来选择技术支持的方式。相比于其它系统,b l u e c a t 还具 华中科技大学硕士学位论文 有如下特点【1 6 j : l 为内核调试提供的独特的g d b 扩展功能。 2 广受欢迎的开发环境和用户界面。 3 在追踪、调试内核以及应用程序函数的时候,可以使用简单明了的图形化界 面。 4 能够快速对内核的功能、大小等进行配置。 5 使用开放构架的电源管理和优化方案。 6 加载和使用已经经过测试的应用组件更加方便。 2 2e i d e 磁盘阵列的硬件结构 图2 , 1e i d e 磁盘阵列的体系结构 e i d e 磁盘阵列的体系结构如图2 1 所示。硬件全部采用商品化的部件,具有 结构简单,通用性好,成本低的特点。使用普通的p c 机主板,硬盘通过主板上的 e i d e 控制器( i n t e l s 2 8 0 1 ) 与p c 总线相连,外设通道采用s c s i 总线,s c s l 适配 卡选用s y m 5 3 c x x ,阵列通过s c s i 接口与主机相连,整个系统相当于主机的一个 大容量硬盘。每个e i d e 接口可挂接两个硬盘,如果选用具有扩展e i d e 接口的主 板,总共可以挂接8 个硬盘。如果应用场合有大容量的需要,还可以把串控制器i n t e l 华中科技大学硕士学位论文 8 2 8 0 l 换成一块e i d e 阵列控制卡d c 2 0 0 ,每块卡可挂接4 块硬盘,通常可挂接1 6 个硬盘或更多,这由主板提供的p c i 插槽决定。 当用户对主机提出i o 操作请求时,主机分解派生出s c s i 命令,由外设通道传 给阵列,阵列截获s c s i 命令后对其作出解析,生成相应的e i d e 命令或命令链来执 行,待处理结束后把处理结果由原路返回。 2 3s c s i 协议和i d e 接口 接口是c p u 与外界的连接部件,它是c p u 与外界进行信息交换的中转站。接 口具备如下的功能:数据缓冲;接收和执行c p u 命令:信号转换:设备选择;中断 管理:数据宽度变换;可编程。由于各种高性能接口标准的推出和使用、超大规模 接口集成芯片的出现,以及接口控制软件的固化技术的应用,使得微机接口向着高 速、智能化、标准化、多功能化的方向发展,出现了s c s i 、i d e 、f c 、l e e e l 3 9 4 等一系列接口及协议。接口选择的好坏,直接影响着整个系统的性能和成本。在e i d e 网络磁盘阵列中,涉及到了其中的两个:s c s i 协议和i d e 接口。 2 3 1s c s i 协议及其基本概念 s c s i ( s m a l lc o m p u t e rs y s t e mi n t e r f a c e ) 1 1 ”是小型计算机系统接口的缩写。它是 一种总线接口标准,定义了有关硬件设备的物理特性和电特性,可以让许多不同的 s c s i 接口设备比如s c s i 硬盘和c d r o m 等通过s c s i 总线与主机相连,进行高速 率的数据传输。它是设各级接口,对设备的依赖性较少,它用一组通用的命令去控 制各种设备,而不需要理解各种外设的特有性能,设备对系统硬件和软件几乎完全 透明,因而系统开销小。它由s c s i 控制器进行数据操作,s c s i 控制器相当于一块 小型c p u ,有自己的命令集和缓存。目前s c s i 总线支持3 2 b i t 的数据传输,并具备 多线程i 0 功能,可以从多个s c s i 设备中同时存取数据。s c s i 总线上还运用了同 步数据传输技术。s c s i 作为种优秀的接口,经历了长期的发展,衍生了很多标准。 0 华中科技大学硕士学位论文 1 s c s i 总线阶段 s c s i 总线阶段指总线信号的工作和使用状态,s c s i 协议定义有8 种总线阶段: f 1 ) 总线空闲阶段:当前没有任何s c s i 设备使用s c s i 总线的状态,此时允许 任一个s c s i 设备申请使用总线。 1 2 ) 仲裁阶段:决定哪一个s c s i 设备获取总线使用权的阶段,当s c s i 总线上 有多个启动设备时,就有总线争用发生,s c s i 协议采取一种自觉退避的分 布式仲裁方法。在一个时刻里,s c s i 总线只允许一对启动设备和目标设备 占有总线,进行通信。 ( 3 ) 选择阶段:在仲裁阶段中占先的启动设备选择将与之通信的目标设备的阶 段,当s c s i 总线上只有一个固定的启动设备时,可能不经仲裁阶段而由总 线空闲阶段直接进入选择阶段。 ( 4 ) 重选阶段:进行通信的一对启动设备和目标设备之间失连后,目标设备在其 后的仲裁阶段中获得总线,重新选择原先的启动设备,以继续中断的通信, 它的过程与选择阶段相似。 ( 5 ) 消息阶段:启动设备与目标设备之间交换消息的阶段。消息用于双方的协商, 决定s c s i 总线的管理和使用方法。 ( 6 ) 命令阶段:启动设备向目标设备发送s c s i 命令的阶段。 ( 7 ) 数据阶段:启动设备和目标设备之间交换数据的阶段。 ( 8 ) 状态阶段:目标设备向启动设备返回状态信息的阶段,报告命令执行结果。 r e s e t 、或s c s ! 协议出错 , 图2 2s c s i 总线状态转换图 华中科技大学硕士学位论文 s c s i 信息如同普通数据一样在数据总线上传输,对消息、命令、数据和状态的 区分是根据所外的信息传输子阶段来进行的。总线状态转换图如图2 2 所示。所有 s c s i 命令的正常执行都要从总线空闲到仲裁阶段,再到选择阶段或再选阶段,再到 一个或多个信息传输阶段,通常以消息输入阶段结束,由此传送一个d i s c o n n e c t 或 c o m m a n dc o m p l e t e 消息,然后返回总线空闲阶段。例如,在写类型命令执行过程 中,总线阶段变化过程为:空闲一选择一消息输出一命令阶段一数据输出一状态阶 段一消息输入一空闲;在读类型命令( r e a d 、r e a dc a p a c i t y 、i n q u i r y 等) 正常执行时, 总线阶段变化为:空闲一选择一消息输出一命令阶段一数据输入一状态阶段一消息 输入一空闲,而t e s t u n i t r e a d y 、s t a r ts t o p u n i t 等无数据输入输出的命令,则直接 由命令阶段转换为状态阶段。 2 ,s c s i 协议的消息、命令和状态 s c s i 协议的消息系统是控制启动设备和目标设备之间s c s i 命令执行的顺序和 方法的通信规范。常用的消息有:b u sd e v i c er e s e t ( 总线设备复位) ;c o m m a n d c o m p l e t e ( 命令完成) ;d i s c o n n e c t ( 失连) ;i d e n t i f y ( 标识) ; i n i t i a t o r d e t e c t e de r r o r ( 启动设备检测错误) :m e s s a g ep a r i t ye r r o r ( 消息校验出 错) ;n oo p e r a t i o n ( 空操作) :s y n c h r o n o u sd a t a t r a n s f e r r e q u e s t ( 同 步数据传输请求) 。 s c s i 协议的命令有三种长度格式:6 字节、1 0 字节和1 2 字节。命令长度是靠 s c s i 命令的第一字节来确定的。s c s i 命令描述块c d b ( c o m m a n dd e s c r i p t i o nb l o c k ) 是s c s i 命令的数据结构形式,c d b 的结构如表2 ,l 所示。 s c s i 命令是s c s i 总线上i o 任务的实现形式。i o 任务首先要在启动设备和目 标设备之间建立起i o 通路,在命令完成、i o 任务结束之后,要撤消i o 通路。因 此所有s c s i 命令的正常执行,都要占用一个完整的总线阶段。 所有的s c s i 命令的结束都伴随着一个状态,是由t a r g e t 返回给i n i t i a t o ri 0 进程 中断或结束终止的原因、情况等。如果返回g o o d 则表示命令顺利完成;返回b u s y 表示t a r g e t 忙,不能接受i n i t i a t o r 的命令等。 华中科技大学硕士学位论文 表2 16 字节s c s 命令描述块 弋 76532 1o 0 操作码 i 逻辑单元号l t j n 2 逻辑块地址l b a 3 传输长度、参数表长度、分配表长度 5 控制字节 2 3 2e | d e 接口 按照i d e 接口发展的历史,其接口标准可以分成a t a i ( i d e ) 、a t a - 2 ( e n h a n c e d i d e f a s ta i a ) 、a t a 一3 ( f a s t a t a - 2 ) 、u l t r a 觚a 、u l t r aa t a 3 3 、u l t r aa t a 6 6 、u l t r a a t a 1 0 0 、u l t r a a t a 1 3 3 及s e r i a l a t a 等1 1 趴。 1 e i d e 接口信号与寄存器 物理接口是使用异步接口协议进行信号的接收和通信的。下面对常用的信号分 别进行描述。 c s o ( c h i p s e l e c t 0 ) :片选信号,用于选择命令块寄存器( c o m m a n db l o c k r e g i s t e r ) a c s l ( c k p s e l e c tl 、:片选信号,用于选择控制块寄存器( c o n t r o lb l o c k r e g i s t e r ) 。 d a 2 、d a l 、d a 0 ( d e v i c ea d d r e s s ) :三位二进制编码地址,用于设备的寄存器 或数据端口。 d a s p ( d e v i c e a c t i v e ,d e v i c e1p r e s e n t ) :分时信号,表明设备1 存在。 d d ( d e v i c ed a t a ) :主机与设备之间的8 位或1 6 位的双向数据接口。 华中科技大学硕士学位论文 d i o r ( d e v i c ei or e a d l :从主机发出的读过滤信号。 d i o w ( d e v i c e i ow r i t e ) :从主机发出的写过滤信号。 d m a c k ( d m aa c k n o w l e d g e ) :主机用此信号对d m a r q 信号做回应,初始化 d m a 传输。 d m a r q ( d m a r e q u e s t ) :用于主机和设备之间的d m a 数据传输信号。它以握 手方式( h a n d s h a k em a n n e r ) 与d m a c k 信号协同工作。 i n t r q ( d e v i c ei n t e r r u p t ) :中断主机系统的信号。只有当设备发生挂起中断时, i n t r q 信号才会发出。挂起中断产生的条件是:一个命令结束时,或者在每个数据 块被传输到p l o ( p r o g r a m m e di n p u f f o u t p u t ) 传输时( 对于f o r m a t t r a c k ,w r i t e s e c t o r ( s ) , w r i t eb u f f e r 和w r i t el o n g 命令传输第一个数据块的情况例 外) 。 i o r d y ( i oc h a n n e lr e a d y ) :当设备没有准备好响应数据传输请求时,此信号 置为低电平,以延长主机的访问寄存器的传输周期。在d i o r d 1 0 w 周期中,这个 信号置为高,以选择设备。 r e s e t ( d e v i c er e s e t ) :这个从主机发出的信号在加电开始时被置为高,并至少 延时2 5 u s 直到电压稳定,随后,如果没有其他的事件要求设备被重置,这个信号被 置为低。 在d m a 方式中常用到的一些寄存器包括错误寄存器、特性寄存器、扇区数寄 存器、扇区号寄存器、柱面寄存器、磁头寄存器、状态寄存器、命令寄存器、设备 控制寄存器等。 e r r o rr e g i s t e r ( 错误寄存器,读) 。此寄存器保存了执行最后一个命令时磁盘驱 动器的状态。 f e a t u r e sr e g i s t e r ( 特征寄存器,写) 。当相应的命令码写入命令寄存器后,写入 特征寄存器的信息成为该命令的参数。该寄存器的各位是根据不同的命令而不同的。 s e c t o rc o u n t r e g i s t e r ( 扇区数寄存器,读写) 。该寄存器指定了在主机和设备之 间传输的数据的扇区数目。 s e c t o r n u m b e r r e g i s t e r ( 扇区号寄存器,读写) 。若采用c h s 寻址方式,该寄存 器的o 7 位指的是存取设备的起始扇区数目:若采用l b a 寻址方式,则该寄存器的 1 4 华中科技大学硕士学位论文 0 7 使指的是l b a 地址的前8 位。 c y l i n d e rr e g i s t e r ( 柱面地址寄存器,读写) 。此寄存器中保存了柱面号的信息。 d e v i c e h e a dr e g i 咖r ( 设备磁头寄存器,读写) 。此寄存器的作用是选择设备, 定义寻址方式( c h s 或者l b a ) ,并提供头地址。 s t a t u sr e g i s t e r ( 状态寄存器,读) 。此寄存器包含设备的状态信息。 c o m m a n dr e g i s t e r ( 命令寄存器,写) 。在这个寄存器中接收并保存了发送到控 制器的命令。命令一发送到命令寄存器中,该命令就会开始执行。 d e v i c ec o n t r o lr e g i s t e r ( q s 爱备控制寄存器,写) 。这个寄存器允许主机重置设备 和打开屏蔽中断。 2e i d e 命令 e i d e 命令的执行过程是将命令块中的参数写入相应的寄存器,然后将命令码写 入命令寄存器。常用的e i d e 命令有:e x e c u t ed r i v ed i a g n o s t i c s ( 驱动器诊 断) 、i d e n t i f yd e v i c e ( 获取驱动器信息的参数块) 、r e a dd m a ( 以d m a 方式读) 、 s e tf e a t u r e s ( 设定驱动器特性) 、w r i t ed m a ( 以d m a 方式写) 等等。其中有几 个命令特别值得一提: ( 1 ) r e a dd m a ( 命令码c 8 h 带重试,c 8 h 不带重试) 可以使用这个命令对扇区缓冲区的内容进行d m a 方式读取。在执行该命令之 前,主机必须设置适当的d m a 通道。 在出现错误的时候,系统会根据命令是否带有重试采取不同的措施来进行处理。 对于没有重试的命令,将取消该命令的执行。如果在两个旋转周期内还没有发现正 确的扇区,系统会设置错误寄存器。反之,对于带重试的命令。系统将会重复尝试 读取适当的扇区。重复尝试读取的次数是由厂商自定的。如果产生的是可修正的 e c c 错误,将会在错误寄存器中设置相应的数据位。这时并不会取消该命令的执行。 只有当产生不可修改的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论