单目标设备下连接多个存储设备的方法及其系统的制作方法

文档序号:6466216阅读:234来源:国知局
专利名称:单目标设备下连接多个存储设备的方法及其系统的制作方法
技术领域
本发明属于计算机存储设备领域。
在当今的计算机外设存储器市场上,小型计算机系统接口(SCSISmall ComputerSystem Interface)的存储设备和集成设备电路(IDEIntegrated Drive Electronics)接口的存储设备几乎占据了全部的市场份额。而IDE接口的存储设备更是以其低价位的连接方案(在相同存储容量下,IDE设备比SCSI设备便宜25~40%)、兼容性(IDE接口与IBM PC/AT结构的计算机总线兼容)和易用性(相对SCSI设备而言,IDE存储设备无需额外的控制卡等),而成为计算机外设存储领域的事实工业标准。几乎所有的计算机主机板上都配有2个IDE接口,支持4个IDE存储设备的连接。而且随着计算机用户对大容量外存设备需求的不断增加,IDE接口扩展了其协议规范的功能,称为ATAPI(AT Attachment Packet Interface)协议,从而支持非硬盘设备,如CD-ROM设备和磁带机设备。因而带IDE接口的存储设备在市场上倍受欢迎。
但因为IDE接口最早的设计思想是为了提供一个符合IBM PC/AT结构的、在性能可以接受的基础上,价格要远远便宜于其他接口(如SCSI)的外设存储器接口,所以从那时起,在计算机主机板上提供两个IDE接口的存储控制器就一直是计算机工业生产的事实标准。即使是在个人计算机PC市场飞速发展的今天,计算机主机板上的BIOS程序和大多数主流操作系统仍然是只支持2个IDE接口的存储控制器。因为一个IDE接口的存储控制器上可以同时挂接主、从两个IDE设备,所以在当前的计算机上一般来说只能够连接4个IDE设备。有限的IDE设备接入与当前市场上IDE设备的数量和受欢迎程度是不匹配的。如何在现有的计算机体系下,提供更多的IDE设备接入,也就是说提高IDE设备的扩展能力,是很多工程技术人员都希望解决的问题。
目前存在的一种解决方案是由美国Promise Inc.公司提出的。这种解决方案采用了PCI总线扩展技术。概括地说就是在现有的计算机体系结构下,利用主机板上的PCI总线扩展槽,制作一个基于PCI总线扩展技术的IDE设备适配器。这种适配器上有两个IDE接口的设备控制器。因此计算机用户通过PCI总线上的IDE设备适配器,在原有主机板上的IDE设备控制器基础上,可以额外地再获得两个IDE接口的设备控制器,从而使得可以连接的IDE设备数目成倍地增加了。
这种解决方案固然有它可取的一方面,但可以看到即使是采用PCI总线扩展技术,IDE接口设备的可扩展性仍然不强。而且不可忽视的是,这种解决方案对IDE接口协议设计上的固有局限性没有太多改进。IDE接口协议设计上的固有局限性很大程度上影响了IDE设备的性能和灵活性。比较突出有如下两点其一,IDE接口是一个非常消耗CPU资源的协议规范。当IDE设备工作在PIO模式下时,系统CPU要为IDE设备执行所有相关的I/O操作,因此占用CPU很多的时间,大大影响了系统的整体性能;即使当IDE设备工作在DMA模式下,因为其握手协议的建立过程仍然是采用的PIO模式,所以CPU仍然要为其准备很多的I/O操作,占用了CPU资源。其二,正是因为IDE接口是与IBM PC/AT结构的计算机主板兼容的,所以IDE接口的存储设备的总线突发传输速率受到AT总线结构的限制,目前IDE设备支持的最高突发传输速率是66.6MBps,即DMA66的传输模式。
本发明的目的是为了克服已有技术的不足之处。提出一种单SCSI设备号下连接多IDE设备的方法。通过这种方法,可以在只占用一个SCSI设备号的SCSI目标设备上,集成8个IDE设备,而且所有这些集成的IDE设备都具有标准的SCSI接口特性。这样实现的IDE设备扩展系统,兼具了IDE设备的经济性和SCSI设备的高可靠性两方面的优点,是十分理想的IDE设备扩展方案。
本发明提出一种基于单SCSI设备号下连接多个IDE设备的方法,其特征在于,将连接在IDE总线上的多个IDE设备分别对应于连接在SCSI总线上的一个SCSI目标设备下的一个逻辑单元设备,以构成标准的带SCSI接口计算机外设产品。
本发明采用上述方法的集成了多个IDE设备的SCSI系统,其特征在于,包括连接在SCSI总线上的一个SCSI目标设备,连接在IDE总线上的多个IDE设备,所说的每个IDE设备分别对应于该SCSI目标设备下的一个逻辑单元设备;所说的SCSI目标设备由内部总线,与该内部总线相连的内部总线控制器、SCSI协议控制器、单片机控制器及存储在其中的固件程序所组成;所说的IDE设备是任何带IDE接口的计算机外设产品。
所说带IDE接口的计算机外设产品可为IDE接口的硬盘驱动器、IDE接口的CD-ROM/CD-RW/DVD光盘驱动器之中的任何一种,以构成由多个IDE接口的硬盘驱动器组成的硬盘塔系统,或由多个IDE接口的CD-ROM/CD-RW/DVD光盘驱动器组成的光盘塔系统。
所说的IDE接口可包括最初的IDE接口版本及其后的IDE版本,如EIDE、FastATA-2、ATAPI、UltraDMA33、UltraDMA66之中的任何一种。
所说的固件程序可包括由SCSI协议到IDE接口设备所采用的相应协议的转换程序,通过任务轮换的技术,解决了多逻辑单元I/O任务服务的公平性的程序以及利用SCSI协议中特有的总线失连和再连机制,实现了多逻辑单元多I/O任务的排队服务策略程序。
本发明的原理简述如下在计算机外设存储器市场上,与IDE接口的存储设备相对应的是小型计算机系统接口(Small Computer System Interface,SCSI)的存储设备。尽管SCSI接口不具备IDE接口低成本、兼容性好和易用性等优点,但它却是一个更灵活、性能更稳定可靠的系统级接口。根据SCSI接口协议标准(参看X3T9.2 Project375DInformationtechnology-Small Computer System Interface-2,下称SCSI-2标准)可以知道,SCSI接口突出的优点表现在如下几个方面1、支持多个I/O任务的并行处理;2、占用CPU时间少;3、SCSI总线资源利用率高;4、SCSI系统诊错能力强、性能稳定。5、系统可扩展性非常好。所以SCSI是一个高性能的系统级总线标准,它常用于高端产品中,如大型的工作站、服务器等。
本发明正是将IDE接口和SCSI接口各自的优势相结合加以利用,从而开发一个高性能,低价位的外设存储系统。
根据SCSI接口的协议规范,在SCSI系统里,I/O任务的发起者被称为主设备(Initiator设备),而I/O任务的接受者或执行者被称为目标设备(Target设备)。在具体实现时,连接在SCSI总线上的一个目标设备(ID0)可以拥有多达8个的逻辑单元(Logical Unit)设备(LUN0-LUN7),如

图1所示。具体应用中,一个逻辑单元设备可以对应是一个物理设备,也可以是多个物理设备集成的虚拟设备。关于逻辑单元设备与物理设备的对应关系是由系统初始化的操作来决定的。在SCSI总线上,作为I/O任务发起者的主设备可以直接寻址与某个目标设备相连接的特定逻辑单元设备,并以其逻辑单元号(Logical Unit Number,LUN)来区分。逻辑单元设备通过目标设备与SCSI总线相连,因此对其他SCSI总线上的设备而言,这些逻辑单元设备也是具备标准SCSI接口特性的设备。
基于这个机理,本发明提出的一种集成多个物理IDE设备到一个SCSI目标设备下的方法,即将SCSI目标设备下的每一个逻辑单元设备都定义为一个物理的具备IDE接口的存储设备,从而把大量的IDE接口的存储设备直接扩展连接到计算机的SCSI系统中,实现了廉价的IDE接口存储设备阵列式的扩展目的,并且,所得到系统能够实现基于SCSI协议的多逻辑单元多I/O任务的并行处理机制,从而大大提高了此IDE接口设备扩展系统的性能。
附图简要说明图1是SCSI目标设备下连接多个逻辑单元设备的结构框图。
图2是本发明的原理性结构框图。
图3是本发明在CD-ROM光盘塔实施例中的结构框图。
图4是接口协议转换的原理框图。
图5是接口协议命令转换的流程图。
图6是本发明的实施例系统固件程序执行的主流程图。
图7是本发明的实施例的固件程序多I/O并行处理的流程图。
本发明的一种单SCSI目标设备下连接多个IDE设备的方法及集成了多个IDE设备的SCSI系统的实施例结合各附图详细说明如下本实施例的实现方法是把一个SCSI目标设备下的每一个逻辑单元设备都定义为一个物理的具备IDE接口的存储设备,如常见的IDE接口硬盘存储器、IDE接口的CD-ROM/CD-RW/DVD驱动器等。这样在一个SCSI目标设备下的8个逻辑单元设备就对应8台IDE存储设备。这种方法实现了扩展IDE存储设备的目的,并且此8台IDE存储设备对外都显示为具备标准SCSI接口特性的外设。
本发明的SCSI系统实现原理如图2所示。包括由协议控制器模块、单片机控制器模块、总线控制器模块及连接各模块的内部总线组成的一个SCSI目标设备,以及连接在IDE总线上的8台IDE接口的存储设备,每台IDE存储设备对应该SCSI目标设备的一个逻辑单元设备。各部分的构成及功能分别说明如下在图2中,所有IDE接口的存储设备都是一个标准的计算机外设产品,它们可以是采用ATA接口协议标准的IDE硬盘驱动器(有关ATA接口协议标准可参看),也可以是采用ATAPI接口协议标准的IDE光盘驱动器(如CD-ROM/CD-RW/DVD驱动器等),关于ATAPI接口协议标准可参看Small Form Factor Committee Specificationof ATA Packet Interface for CD-ROMs(2.6版本,1996年1月)。
SCSI协议控制器是整个系统与外界SCSI系统总线连接的关键环节,它使得整个系统对外的行为表征为一个符合SCSI通讯规范的系统。这部分模块一般利用专用的SCSI协议控制器芯片及相应的硬件电路来实现。SCSI协议控制器通过总线控制器模块而与系统内部的其他模块相连接。
单片机控制器(MPU)模块主要是完成整个系统的控制处理和协议的解释与转换。也就是说,单片机要完成由SCSI协议到IDE接口存储设备所采用ATA协议或ATAPI协议的解释转换工作。单片机控制器和IDE存储设备是通过总线控制器模块而相连的。
总线控制器模块是采用硬件电路的形式来完成SCSI系统总线(来自SCSI协议控制器)、系统内部总线(主要来自单片机)、IDE总线(来自多个IDE存储设备)之间的连接与转换工作。因为SCSI系统总线上的数据总线、地址总线和其他控制信号线是与SCSI协议控制器相连的,而IDE存储设备所用的数据总线、地址总线和其他控制信号线通过总线控制器模块而与SCSI控制器连接,所以所有的IDE存储设备在逻辑上都是和SCSI总线系统直接连接的,在物理连线上也是和SCSI总线系统相通的。因为只有这样,IDE接口的存储设备对外才有可能被SCSI总线上的其他SCSI设备寻址到。
下面结合附图详细说明本发明在CD-ROM光盘塔存储系统实施例中的应用。
在本实施例中,CD-ROM光盘塔存储系统是一个集成了8台IDE接口、采用ATAPI协议标准的CD-ROM驱动器的SCSI目标设备。它的原理结构和图2所示的类似,只是把所有IDE接口的存储设备都具体为IDE接口、采用ATAPI协议标准的CD-ROM驱动器而已,如图3所示。在图3中,IDE接口、采用ATAPI协议的CD-ROM光盘驱动器属于标准的计算机外设产品。
本实施例中的SCSI协议控制器采用了Adapetc Inc.公司生产的8位高性能SCSI协议控制器芯片AIC-33C94C,其外围电路设计应该符合AIC-33C94C芯片的功能要求。具体设计可参看有关AIC-33C94C芯片的用户手册(AIC-33C94C PreliminaryData Sheet and Application Note)。
为使8台IDE接口的CD-ROM驱动器对外都显示为标准的SCSI设备,在总线控制器模块的电路实现上,本实施例采取了总线切换技术(即SCSI总线到多个IDE存储设备总线的切换),在单片机固件控制程序上,使用了接口协议的转换机制(即SCSI接口协议到IDE/ATAPI接口协议的转换)。
总线切换技术工作原理如下8台IDE接口的设备连接在系统内的IDE总线上,在单片机的控制下,每时每刻有且仅有一台IDE设备是占有IDE总线的。为此,其硬件实现电路采用了总线多路选通技术。这里的总线多路选通电路采用了比较简单的3-8译码电路,采用的芯片是74HC138。其工作原理简述如下单片机接收SCSI主设备发送来的针对某一逻辑单元设备命令,然后根据系统目前所处的工作状态,判断当前应该选通哪一路总线和SCSI总线控制器模块的总线相连,也就是说决定应该由哪一台CD-ROM驱动器占用IDE总线资源。判断确定后,单片机通过3-8译码电路选择相应IDE总线的“地址允许”信号,并驱动所选择IDE总线的“地址允许”信号,而未选通IDE总线的“地址允许”信号则处于高阻状态。各CD-ROM驱动器根据自己的IDE总线“地址允许”信号所处的状态来判断自己是否和SCSI协议控制器相连。若“地址允许”信号是被驱动的,则判断自己是被选通的;若“地址允许”信号是处于高阻状态,则判断自己是被禁止的。占有IDE总线的CD-ROM驱动器通过总线控制器和SCSI总线控制器连接,在SCSI协议控制器的支持下,与外部的SCSI总线相连,然后执行相应的SCSI命令。本次命令完成后,再由单片机决定下一次应该由谁来占有IDE总线,若逻辑单元设备改变了,那么单片机会把原来的IDE设备从总线上断开,然后把IDE总线切换到新选择的逻辑单元设备上。由此实现了多IDE接口的CD-ROM驱动器在单SCSI目标设备下的无缝集成。本实施例提出的这种总线控制器模块实现方案,可以完成本发明所要求的功能,而且实现起来比较简单。
在本实施例中,单片机控制模块采用的是MCS-51系列的8位单片机,当然采用其他类型的单片机也是可以的。在单片机固件程序上,还要完成SCSI协议到ATAPI接口协议的转换工作。在单片机控制下完成接口协议转换的机制如图4所示。
其工作流程如图5所示,简述如下单片机接收到针对某一逻辑单元设备(CD-ROM驱动器)的SCSI命令后,解释该命令,并把其翻译为对应CD-ROM驱动器能够识别的IDE/ATAPI协议命令,然后通过总线控制器模块的总线切换技术,选通相应CD-ROM驱动器设备,发送命令。当CD-ROM驱动器执行完相应的命令后,或成功或失败,都有相应的符合IDE/ATAPI接口标准的状态返回。单片机接下来又应该完成对相应CD-ROM驱动器执行命令结果的状态查询,必要时还要作一些错误处理的工作。然后单片机把这些状态设置成SCSI协议能理解的层次化的SCSI状态结构(参看SCSI-2标准),并把其返回给SCSI系统中相应I/O任务发起的主设备。这种由SCSI协议到IDE/ATAPI协议的命令、状态的转换机制,都是通过单片机的固件程序完成的。
由于目标设备下的每个逻辑单元在具体执行I/O任务时,其对完成某个I/O任务的时间消耗是不一致的,所以对SCSI总线系统资源的合理分配使用是一个需要考虑的问题。其次,在多用户的网络环境下,如何实现多I/O任务的高效并行处理也很重要。本发明利用SCSI协议中特有的总线失连(disconnection)和再连(reselection)机制,用单片机的固件程序解决了上述难题,从而提高了SCSI总线的利用率,并且实现了多逻辑单元多I/O任务的排队服务策略,并通过任务轮换的技术,解决了多逻辑单元I/O任务服务的公平性问题。本实施例固件实现的程序流程分别如图6、图7所示。
图6是固件程序执行的主流程图,实现了多逻辑单元多I/O任务的排队服务策略,并通过任务轮换的标志令牌,解决了多逻辑单元I/O任务服务的公平性问题。在本实施例中,暂时规定每个逻辑单元设备(CD-ROM驱动器)只能允许一个任务排队,若同时收到多个任务都针对一个逻辑单元设备,则以“命令冲突标志”表示。系统中存在唯一的一个“任务轮换标志令牌”,凡是拥有令牌的逻辑单元设备在有相应的排队任务存在时,就被允许占有IDE总线资源。单片机每次循环结束时都把“任务轮换的标志令牌”从现拥有者的手中夺回,然后交给下一个逻辑单元设备,以防止某逻辑单元设备非法独占系统总线资源的情况。
程序流程说明如下单片机首先判断有无“命令冲突标志”,若有,先进行命令冲突处理(拒绝所有的冲突命令,并告知给SCSI主设备)。然后再判断是否接收到了针对某一逻辑单元设备的新的SCSI命令,若接收到了,判断命令所针对的逻辑单元设备是否已经存在一个排队任务了,若有,表示此命令是冲突命令,设置相应逻辑单元设备的“命令冲突标志”位,命令不进入队列;若没有接收到,表示此命令是相应逻辑单元设备的新命令,则把新命令保存入排队队列。然后单片机就开始进行排队队列里面的命令处理。若判断到拥有任务轮换标志令牌的逻辑单元设备同时也存在着相应的排队任务,则单片机进行此排队命令的处理工作(其工作流程参见图7)。在循环体处理的最后,单片机把“任务轮换的标志令牌”从现拥有者的手中抢回,并依次交给下一个逻辑单元设备。
为使整个系统在执行排队命令的过程中,仍能接收新的I/O任务,所以就需要在命令执行对过程中,对新接收的I/O任务作相应处理。图7是本实施例的多I/O并行处理固件程序流程图,它充分体现了SCSI协议中特有的总线失连(disconnection)和再连(reselection)机制(参看SCSI-2标准协议)在实现多I/O任务高效并行处理上的作用。因为系统允许多I/O任务排队,所以在排队之前,系统就应该先把此暂不执行的I/O任务所占用的SCSI总线释放出来,而同时要通知此I/O任务的发起者(SCSI主设备)为此I/O任务保留现场,以备以后再次执行此任务时恢复现场。这就是SCSI总线的“失连”机制。
该固件流程步骤为在系统执行排队命令之前,先判断当前总线的状态是否为连接状态,若是,则直接执行相应排队命令即可。若总线处于失连状态(disconnection),那么系统就应该先进行总线的再连(reselection)过程。因为在本次排队命令再连的过程中,可能有新的I/O任务插入,所以在此情况下,系统应该先对接收到的新I/O任务进行类似主流程图中的命令排队处理,处理完后,再执行总线的再连过程,直到总线连通,于是系统就可以执行相应的排队命令了。具体命令的执行过程如图8所示。
权利要求
1.一种基于单目标设备号下连接多个存储设备的方法,其特征在于,将连接在IDE总线上的多个IDE存储设备分别对应于连接在SCSI总线上的一个SCSI目标设备下的一个逻辑单元设备,以构成标准的带SCSI接口计算机外设产品。
2.采用如权利要求1所述方法的集成了多个IDE设备的SCSI系统,其特征在于,包括连接在SCSI总线上的一个SCSI目标设备,连接在IDE总线上的多个IDE设备,所说的每个IDE设备分别对应于该SCSI目标设备下的一个逻辑单元设备;所说的SCSI目标设备由内部总线,与该内部总线相连的内部总线控制器、SCSI协议控制器、单片机控制器及存储在其中的固件程序所组成;所说的IDE设备是任何带IDE接口的计算机外设产品。
3.如权利要求2所述的集成了多个IDE设备的SCSI系统,其特征在于,所说带IDE接口的计算机外设产品为IDE接口的硬盘驱动器、IDE接口的CD-ROM/CD-RW/DVD光盘驱动器之中的任何一种,以构成由多个IDE接口的硬盘驱动器组成的硬盘塔系统,或由多个IDE接口的CD-ROM/CD-RW/DVD光盘驱动器组成的光盘塔系统。
4.如权利要求2所述的集成了多个IDE设备的SCSI系统,其特征在于,所说的IDE接口包括最初的IDE接口版本及其后的IDE版本,如EIDE、Fast ATA-2、ATAPI、UltraDMA33、UltraDMA66之中的任何一种。
5.如权利要求2所述的集成了多个IDE设备的SCSI系统,其特征在于,所说的固件程序包括由SCSI协议到IDE接口设备所采用的相应协议的转换程序,通过任务轮换的技术,解决了多逻辑单元I/O任务服务的公平性的程序以及利用SCSI协议中特有的总线失连和再连机制,实现了多逻辑单元多I/O任务的排队服务策略程序。
全文摘要
本发明属于计算机存储设备领域,包括连接在SCSI总线上的一个SCSI目标设备,连接在IDE总线上的分别对应于该SCSI目标设备下的一个逻辑单元设备多个IDE设备,SCSI目标设备由内部总线,内部总线控制器、SCSI协议控制器、单片机控制器及存储在其中的固件程序所组成;本发明可用于集成IDE接口的大容量存储系统,如硬盘塔系统、光盘塔系统、以及多IDE接口存储设备的阵列扩展等等。
文档编号G06F3/00GK1264857SQ00105550
公开日2000年8月30日 申请日期2000年3月31日 优先权日2000年3月31日
发明者裴京, 肖宇, 熊瑾珺 申请人:清华同方光盘股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1