CN1749967A - 数据处理系统 - Google Patents
数据处理系统 Download PDFInfo
- Publication number
- CN1749967A CN1749967A CNA200510103403XA CN200510103403A CN1749967A CN 1749967 A CN1749967 A CN 1749967A CN A200510103403X A CNA200510103403X A CN A200510103403XA CN 200510103403 A CN200510103403 A CN 200510103403A CN 1749967 A CN1749967 A CN 1749967A
- Authority
- CN
- China
- Prior art keywords
- data
- address
- processing controls
- channel
- channel adapter
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/109—Address translation for multiple virtual address spaces, e.g. segmentation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/10—Address translation
- G06F12/1081—Address translation for peripheral access to main memory, e.g. direct memory access [DMA]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Memory System Of A Hierarchy Structure (AREA)
- Computer And Data Communications (AREA)
Abstract
提供一种通道适配器,在多个OS运行的数据处理系统中,其不必变更用于进行输入/输出处理的控制数据,只通过制作地址变换表就可以由多个OS共用。对于1个通道适配器,多个OS使用各自标识符不同的输入/输出处理控制数据,在不同的OS之间不必共用对所述适配器的输入/输出处理控制数据来进行输入/输出处理。另外,数据处理系统将各个OS制作出的多个地址变换表重新制作为1个虚拟地址变换表,通道适配器使用该虚拟地址变换表处理多个OS上的输入/输出控制数据。
Description
技术领域
本发明涉及一种进行数据传输的数据处理系统,特别涉及在1个系统上运行多个OS,使用1个通道适配器同时进行对多个OS的处理的计算机装置。
背景技术
到目前为止,主机虽然支持在1个系统中在控制程序的控制下使多个OS运行的LPAR(Logical Partition)功能,但最近不仅是主机,开放服务器也开始支持该LPAR功能。当使用开放服务器支持该LPAR功能时,把进行输入/输出处理的通道适配器插入服务器的插槽,作为与主处理器相连接的业界标准规格的单元,使用由PCI-SIG制定的PCI(Peripheral ComponentInterchange)总线的结构被广泛应用。当使用PCI总线时,对于像通道适配器那样的1个设备,包含标准地具有的PCI配置寄存器,并只保持1个用于控制该设备的控制寄存器,因此由多个OS共用较困难。
在特开2002-41306中记述了作为如上述那样的支持LPAR功能的系统的例子。虽然在1个系统上可以运行多个OS,但是对于在接口中具有PCI总线的PCI I/O适配器,无法实现多个OS的共用,分别向各个PCI I/O适配器分配1个OS。
作为其他的例子,在特开2002-99437中记述了通过主机等实现LPAR功能。图10表示其概要。在主机中,为了控制像PCI I/O设备那样的LAN适配器1003,在安装该LAN适配器的LAN组件1000内设置控制器1001和本地存储器,由此来实现多个OS的共用。在控制器1001内该LAN适配器用驱动器1005进行动作。控制器1001与PCI总线或系统固有规格总线1007连接,通过PCI总线1004和LAN适配器1003连接。
在图11对安装进行了详细说明。当该控制器1001接收来自OS1的输入/输出起动时,对于系统存储器上的传输数据1105,在LAN组件内的本地存储器1002中缓冲对应该OS1的传输数据1105,另外,对于该OS1的输入/输出处理控制数据1103,在该本地存储器1002内制作用于LAN适配器的输入/输出处理控制数据。同样,在本地存储器1002内制作与OS2所起动的输入/输出处理相对的控制数据和传输数据。该LAN适配器1003不是访问系统存储器,而是通过访问该本地存储器1002进行数据传输。因为在LAN组件上的本地存储器内重新制作控制数据,并进行传输数据的缓冲,所以对性能产生影响,此外也提高了开发成本。
虽然在开放服务器中已经开始支持LPAR功能,但是因为可以安装的插槽数有限制,所以需要由多个OS共用1个通道适配器。
另外,为了抑制成本,还期待着不使用由硬件构成的控制器、本地存储器来实现通道适配器的共用。
发明内容
在使用上述现有技术的情况下,未实现多个OS对具有由开放服务器所支持的PCI总线接口的PC1 I/O设备的共用。另外,虽然在主机中实现了多个OS对PC1 I/O设备的共用,但要在组件上设置数据缓冲区和输入/输出处理控制数据用的本地存储器、以及该数据缓冲区和输入/输出处理控制数据的控制器。由于使用控制器、本地存储器,导致性能恶化以及成本的增大。
课题1
对应PCI那样的标准规格的总线,由多个OS共用1个通道适配器。
课题2
对于具有PCI总线接口的设备,可以不设置由硬件构成的控制器、本地存储器,由多个OS共用1个通道适配器。
一种数据处理系统,其在各OS与通道适配器之间使用各自具有标识符的输入/输出处理控制数据进行输入/输出处理,作为通道适配器与OS的接口的控制所述输入/输出处理控制数据的通道驱动器从控制程序中取得虚拟计算机号码,该虚拟计算机号码表示该通道驱动器进行动作的OS系统上的标识符,该通道驱动器通过使用该虚拟计算机号码、在系统构成信息中具有决定该虚拟计算机号码可以使用的识别符的输入/输出处理控制数据,由1个通道适配器使用多个OS各自标识符不同的输入/输出处理控制数据,无需在不同的OS之间共用与所述通道适配器相对的输入/输出处理控制数据来进行输入/输出处理。
另外,一种数据处理系统,在通道驱动器与所述通道适配器之间的接口指示输入/输出处理控制数据的地址是虚拟地址,为了将该虚拟地址变换为物理地址而使用地址变换表,通道驱动器根据从所述控制程序得到的虚拟计算机号码和从构成信息得到的可以使用的输入/输出处理控制数据的标识符,制作与该可以使用的输入/输出处理控制数据相对的地址变换表,该数据处理系统具备把各个OS制作出的多个该地址变换表重新制作成1个虚拟地址变换表的单元,通道适配器通过使用该虚拟地址变换表,通过处理多个OS上的输入/输出处理控制数据,可以不进行在各个OS上制作出的输入/输出处理控制数据的变更,所述通道适配器对多个OS进行输入/输出处理。
根据本发明,可以提供能够同时执行来自多个OS的输入/输出(I/O)处理的通道适配器。
附图说明
图1是使用了本发明的一个实施例的数据处理系统的结构图。
图2是表示数据处理系统的结构例的图。
图3是表示通道装置内的通道控制寄存器的内容的图。
图4是表示作为输入/输出处理控制数据的队列对(Queue Pair)、完成队列(Completion Queue),地址变换表的图。
图5是作为在本发明的一个实施例中使用的用于I/O处理的数据信息的发送队列的图。
图6是数据处理系统的结构图。
图7是表示LPAR号码和可以使用的QP、CQ的对应的表。
图8是表示各OS制作的TPT和多个TPT归纳为1个的例子的图。
图9是使用了本发明的一个实施例的数据处理系统的结构图。
图10表示现有方法的一个例子的概要。
图11表示现有方法的一个例子的详细内容。
具体实施方式
无需用于控制PCI I/O设备的控制器和本地存储器,通过软件实现由多个OS对PC1 I/O设备的共用。
作为开放服务器支持的业界标准规格的通道适配器,存在由ANSI(American National Standards Institute)制定规格的光纤通道,和由IBTA(InfiniBand Trade Association)制定规格的InfiniBand等。
在此,作为用于进行输入/输出处理的输入/输出处理控制数据,使用由InfiniBand等使用的发送队列(Send Queue)和接收队列(Receive Queue)构成的队列对、完成队列,然后,假定使用虚拟地址、和将该虚拟地址变换为物理地址的地址变换表(TPT)的通道适配器。
首先,对输入/输出处理的概要进行说明。
图2是表示数据处理系统的结构例。存储器访问控制芯片203主要控制处理器204、205、或对来自通道适配器206的主存储(MS)200的存储器访问,存储器访问控制芯片203与通道适配器206通过PCI总线连接,存储器访问控制芯片203与处理器204、205通过系统固有规格的主机总线相连接。通道适配器206具有1个接口,通过开关207与I/O设备208连接。支持LPAR功能的该数据处理系统将1个MS200例如向各个LPAR各分配2MB的存储器,各LPAR上的OS使用所分配的该2MB的存储器进行操作。
该通道适配器206对于该数据处理系统通过PCI总线连接,作为PCI总线连接的设备包含标准具有的PCI配置寄存器,作为用于控制该通道适配器的控制寄存器具有通道控制寄存器。虽然在图3中表示了通道控制寄存器的内容,但详细内容在后面进行叙述。
然后,对用于进行输入/输出处理(I/O处理)的软件和硬件的接口进行叙述。
各OS使用由发送队列和接收队列构成的队列对(QP)、以及对已结束处理的QP标识符进行排队的完成队列(CQ)进行数据传输,该QP的制作、CQ的控制、和对通道适配器的数据传输处理的起动等处理,由OS内的通道驱动器进行。图4表示QP与CQ的概要。发送队列以及接收队列分别由包含指示数据缓冲区的地址的描述符(Descriptor)和数据缓冲区构成。当发送数据时,在发送队列的描述符401中设置要发送的数据缓冲区403的物理地址。当接收数据时,在接收队列的描述符404中设置存储接收数据的数据缓冲区405的物理地址。各个队列对具有标识符,在图4的例子中,具有#100(QP100)的标识符,通道适配器可以同时对多个QP进行处理。
另外,指示各描述符的物理地址保存在地址变换表(TPT)406内。TPT是1个物理上连接的区域,保存该通道适配器使用的全部QP的发送队列用描述符地址、以及接收队列用描述符地址。在此,TPT内的各发送队列用、接收队列用描述符地址由16位字节构成,在最上位比特值为“1”时,表示该描述符地址有效,下位8位字节表示该描述符的物理地址。
CQ也分别具有标识符,包含适配器已结束处理的QP的标识符、以及包含是对发送队列或接收队列的哪一个结束了处理的信息。在此,CQ的各表列值由16位字节构成,在上位8字节的最上位比特为“1”时,表示该表列值有效,下位8字节中的上位4字节表示已结束处理的QP标识符,在该下位8字节中的下位4字节的最上位比特为“1”时,发送队列为“0”时,表示结束了对接收队列的处理。
在图3的通道控制寄存器300内定义的TPT基址寄存器303的值指示地址变更表(TPT)406的起始地址(物理地址),由通道驱动器进行设置。通道适配器使用TPT基址寄存器303的值,进行向地址变换表(TPT)406的访问。
图5表示发送队列的详细数据结构。在图5中,DB_AD501由表示数据缓冲区地址区域的起始地址(物理地址)的8位字节的区域构成,FLAG503包括表示I/O处理是正常结束了还是因错误结束了的信息、表示错误发生时的错误种类的错误信息、以及表示是否存在下一个应处理的另外的描述符的信息(下一描述符(Next Descriptor)有无),而且还有包含进行数据传输的对象处的QP号码、相关联的CQ标识符(CQ#)和指示该CQ的物理地址。然后,在存在应处理的描述符的情况下,在由8位字节构成的下一描述符502中设置下一个描述符的起始地址(物理地址)。另外,在本实施例中,最初的描述符500的DB_AD表示指令区域,第2个以后的描述符510的DB_AD表示数据缓冲区506。图5虽然表示发送队列的例子,但是接收队列的格式也相同,在DB_AD指示的地方存储接收数据。
作为I/O处理中的起动方法,在此,通道驱动器对在所述通道控制寄存器300内定义了的QP#寄存器302中进行处理的QP标识符(QP#),设置在Send/Receive寄存器306中是表示发送队列还是表示接收队列的信息。另外,在TPT偏移(offset)地址寄存器304中,作为虚拟地址表示保存该QP的描述符地址的区域,设置从TPT基址的偏移地址,通过在I/O处理使能寄存器305中写入“1”向该通道适配器指示I/O起动。
进行I/O处理时,通道驱动器在DB_AD501设置物理地址,在DB_AD所指示的地方设置指令区域(256字节)504。除指令外,该指令区域还包括表示进行I/O处理的对象处端口的目标ID、以及表示在该端口控制下存在的设备的LUN等信息。另外,将继指令区域的256个字节之后的256个字节的区域作为对该指令的应答帧进行存储的指令应答信息区域505。
然后,设置FLAG503的信息。设置对象处的QP#、以及作为与该描述符相关联的CQ#设置CQ1,并设置该CQ1的起始地址(物理地址)。
另外,定义其他的描述符510,将该描述符510的起始地址设置在下一描述符502,在该描述符510的DB_AD507的地址指示的地方存在用于发送的数据缓冲区506。在数据缓冲区可变长的情况下,虽然可以在FLAG509内包含表示数据长的信息,但是,在本实施例中为了简化说明,将数据缓冲区的大小固定为4K字节,不设置数据长。如上所述,通道驱动器制作发送队列,起动I/O处理。另外,虽然在各个描述符内定义了FLAG,但对象处的QP号码、关联的CQ#、以及该CQ#的物理地址使起始描述符内的FLAG的值有效。
通道适配器当识别来自通道驱动器的I/O处理起动时,根据在上述通道控制寄存器内的TPT偏移地址寄存器304中设置的偏移(虚拟地址)和地址变换表(TPT)406得到相应的描述符的起始地址(物理地址)。通过使用该物理地址,进行相应描述符的取出处理,根据取出的描述符信息进行指令区域504、以及发送用数据缓冲区506的取出。之后,向在指令区域504内所指定的目标ID以及在FLAG503内指定的对象处的QP#进行数据传输。根据协议进行数据传输,在从对象处接收到表示处理结束的应答帧时,将该应答帧存储到所述指令应答信息区域505中。在结束了该应答帧的存储之后,根据FLAG503内的信息,在相应的完成队列#1(CQ1)407中设置已结束处理的QP标识符、表示发送队列的信息、该表列值的有效比特,在通道控制寄存器内的结束CQ寄存器308中设置作为CQ#的“1”,对OS给予表示I/O处理结束的I/O中断。另外,在发生错误时,在FLAG503中设置错误信息。该OS内的通道驱动器通过识别该I/O中断,来读取结束CQ寄存器308,根据相应的CQ1的内容,对该通道适配器进行已起动的I/O处理的结束处理。以上是I/O处理的动作概要。
图6表示软件和通道适配器的关系,表示使用从QP000到QP999(604)的1000个QP、从CQ00到CQ99(607)的100个CQ进行输入/输出处理的例子。
然后,对本发明的一个实施例进行说明。
图1是表示了本发明的特征的一个实施例。在本实施例中,对2个OS共用1个通道适配器的情况进行说明。
在图1的数据处理系统中,表示在LPAR控制程序101的控制下LPAR#1和LPAR#22个LPAR开始,在LPAR#1中OS1(105)起动,在LPAR#2中OS2(106)起动。
各通道驱动器具备根据LPAR控制程序101,可以取得该通道驱动器进行动作的LPAR#的函数。在本实施例中,取得通道驱动器112在LPAR#1上进行动作的信息,和通道驱动器113在LPAR#2上进行动作的信息。虚拟通道驱动器102是实际控制通道适配器100的驱动器,在通道驱动器112以及通道驱动器113进行通道适配器100的通道控制寄存器114的访问等情况下,LPAR控制程序101截取用于该访问的函数,虚拟通道驱动器102进行实际的通道控制寄存器114的访问。
如图7所示,本数据处理系统把在各OS上可以使用的队列对(QP)和完成队列(CQ)的标识符和个数定义为结构信息的一部分。在上述中,虽然作为例子阐述了该通道适配器可以处理从QP000到QP999的1000个QP,以及可以处理从CQ00到CQ99的100个CQ,但将这些资源分配给各个OS,在结构信息中进行定义以使在不同的OS之间不共用具有相同标识符的QP、或CQ。在图7的例子中,在LPAR#1表示从QP100可以使用100个QP,即从QP100到QP199,另外表示CQ只可以使用1个CQ1。同样,在LPAR#2表示可以从QP200使用100个QP,即从QP200到QP299,此外表示CQ只可以使用1个CQ2。
通道驱动器根据该通道驱动器进行动作的LPAR#,使用内核函数等从所述结构信息中得到上述可以使用的QP#以及CQ#的信息。同样,LPAR控制程序也使用内核函数等从所述结构信息中得到在LPAR#和各个LPAR所使用的QP#、以及CQ#的信息。
通道驱动器112控制QP100至QP199,对于TPT110,只设置QP100~QP199的发送队列、以及接收队列的描述符地址,将最上位比特的地址有效比特设置为“1”。通道驱动器112在TPT110设置完各个描述符的地址时,将TPT的起始地址写入通道控制寄存器114内的TPT基址寄存器303中,进而为了通知TPT已成为有效,进行处理以在TPT有效寄存器307中写入“1”。
在此,LPAR控制程序101截取通道驱动器112将值写入TPT基址寄存器303的函数,虚拟通道驱动器102将与TPT110不同的虚拟地址变换表(VTPT)103的起始地址写入该通道控制寄存器114的TPT基址寄存器303。另外,LPAR控制程序截取通道驱动器112将值写入TPT有效寄存器307的函数,虚拟通道驱动器102将TPT110的地址有效比特为“1”时的相应地址复制到VTPT103,LPAR控制程序101在TPT有效寄存器307中写入“1”。
同样,通道驱动器113控制QP200至QP299,对于TPT111,只设置QP200~QP299的发送队列、以及接收队列的描述符地址,将最上位比特的地址有效比特设置为“1”。通道驱动器113在TPT111设置完各个描述符的地址后,将TPT的起始地址写入通道控制寄存器114内的TPT基址寄存器303中,进而为了向TPT有效寄存器通知TPT已成为有效,进行处理以在该TPT有效寄存器307写入“1”。在此,与上述相同,LPAR控制程序101截取通道驱动器113将值写入TPT基址寄存器303的函数,虚拟通道驱动器102将VTPT103的起始地址写入该通道控制寄存器114的TPT基址寄存器中。(在已经设置了值的情况下,写上相同值)另外,LPAR控制程序101截取通道驱动器113将值写入TPT有效寄存器307的所述函数,虚拟通道驱动器102将TPT111的地址有效比特为“1”时的相应地址复制到VTPT103,LPAR控制程序101在TPT有效寄存器中写入“1”。
如图8所示,通道驱动器112在TPT110中只对QP100~QP199的描述符设置值,另外,通道驱动器113在TPT111只对QP200~QP299的描述符设置值,所以各OS由于使用不同的描述符而不必共用,从各个TPT先头的偏移产生偏移。因此,在虚拟通道驱动器102制作VTPT103时,可以不必变更从TPT基址的偏移,容易地复制TPT110、111的值,通过只重新制作该VTPT103,不伴随传输用数据的复制、以及描述符等其他的输入/输出控制数据的变更。
另外,在本实施例中,虽然阐述了虚拟通道驱动器102存在于LPAR控制程序101内的方式,但作为其他的方式,如图9所示,也可以在LPAR#3中启动OS3(901),在OS3(901)内使虚拟通道驱动器102动作,在OS3控制存储器内制作VTPT103。
通道适配器100在TPT有效寄存器被设置为“1”时,取出VTPT,并保存在通道适配器内,使用最新的VTPT。因为通道控制寄存器114内的TPT基址寄存器303的值设置了VTPT103的起始地址,所以通道适配器100使用VTPT103。
然后,对OS1(105)的通道驱动器112使用图4及图5所示的QP100以及CQ1进行数据发送处理的情况进行说明。该通道驱动器112在QP100的发送队列中,在DB_AD501设置物理地址,在DB_AD501指示的地方设置指令区域(256字节)504。另外,定义其他的描述符510,将该描述符510的起始地址设置在下一描述符502,在该描述符510的DB_AD507的地址所指示的地方存在用于发送的数据缓冲区506。通道驱动器112作为在FLAG509内相关联的CQ#设置#1以及该CQ1的起始地址,为了起动I/O处理,使用内核函数将值写入通道控制寄存器114内的TPT偏移地址寄存器304中。这时,LPAR控制程序101截取该函数,虚拟通道驱动器102将值写入TPT偏移地址寄存器304。然后,通道驱动器112使用内核函数要在通道控制寄存器114内的QP#寄存器302设置QP#,在I/O处理使能寄存器305设置“1”。这时,LPAR控制程序101截取该函数,虚拟通道驱动器102在QP#寄存器302写入QP#,在I/O处理使能寄存器305写入“1”。
通道适配器100在识别来自虚拟通道驱动器102的I/O处理起动时,由在上述通道控制寄存器114内的TPT偏移地址寄存器304中所设置的偏移和VTPT103得到相应的描述符的起始地址。通过使用该起始地址,来进行相应描述符的取出处理,从取出的描述符信息中进行指令区域504、以及发送用数据缓冲区506的取出,向在指令区域504中所指定的目标ID、以及在FLAG503内所指定的对象处的QP#进行数据传输。根据协议进行数据传输,在接收到来自对象处的应答帧时,将该应答帧存储到所述指令应答信息区域505。在结束了该应答帧的存储之后,在CQ1设置表示QP100和发送队列的信息,在通道控制寄存器114内的结束CQ寄存器308中设置了作为CP#的“1”之后,对OS给予表示I/O处理结束的I/O中断。
LPAR控制程序101截取该I/O中断,虚拟通道驱动器102读取通道控制存器内的结束CQ寄存器308的值,识别对CQ1的处理已结束,因为得知该处理是对LPAR#1的处理,所以对OS1给予截取后的I/O中断。OS1的通道驱动器112通过识别该I/O中断,读取CQ1的内容,进行该I/O处理的结束处理。
OS2(106)的通道驱动器113使用QP200~QP299、以及CQ2进行I/O处理。其他的I/O处理的概要与OS1(105)进行的处理相同。
在上述实施例中,虽然说明了发送数据的情况,但在接收到数据的情况下,因为由接收到的帧所指定的QP#已进入,所以通过使用该指定的QP的Receive Queue进行I/O处理,也可以接收数据。
以上,虽然说明了有关本发明的实施例,但对于具有PCI总线接口的设备,由于不用设置由硬件构成的控制器、本地存储器,根据控制程序取得通道驱动器进行动作的虚拟计算机号码,只重新制作将虚拟地址变换为物理地址的表,由此可以提供同样不用进行传输用数据的复制,不变更输入/输出控制数据可以由多个OS共用的通道装置。
Claims (8)
1.一种数据处理系统,控制程序在中央处理装置上运行,在该控制程序的控制下,可以运行多个操作系统(OS),并具有发送/接收数据的通道适配器,其特征在于,
在所述各个OS和所述通道适配器之间,使用各自具有识别符的输入/输出处理控制数据进行输入/输出处理,具备对应所述各个OS排他地定义了各个OS可以使用的输入/输出处理控制数据的标识符;
所述通道适配器可以处理多个输入/输出处理控制数据;
所述各个OS通过使用与所述构成信息中定义的可以使用的标识符对应的输入/输出处理控制数据,使用1个所述通道适配器控制多个OS各自标识符不同的输入/输出处理控制数据,无需在不同的OS之间共用与所述通道适配器相对的输入/输出处理控制数据而进行输入/输出处理。
2.如权利要求1所述的数据处理系统,其特征在于,
在所述各OS上,作为所述通道适配器与OS的接口的,控制所述输入/输出处理控制数据的通道驱动器进行动作;
该通道驱动器具有从所述控制程序得到表示该通道驱动器进行动作的OS系统上的标识符的虚拟计算机号码的单元;
在所述构成信息中定义所述虚拟计算机号码和可以使用的输入/输出处理控制数据的标识符的对应;
所述各通道驱动器使用与所述构成信息中定义了的可以使用的标识符相对应的输入/输出处理控制数据。
3.如权利要求2所述的数据处理系统,在所述通道驱动器与所述通道适配器之间的接口指示所述输入/输出处理控制数据的地址是虚拟地址,为了将该虚拟地址变换为物理地址而使用地址变换表,由此来进行输入/输出处理,其特征在于,
所述通道驱动器根据从所述控制程序得到的虚拟计算机号码和从所述构成信息得到的可以使用的输入/输出处理控制数据的标识符,制作与该可以使用的输入/输出处理控制数据相对的地址变换表;
具有将各OS的通道驱动器制成的多个该地址变换表制作成1个虚拟地址变换表的单元;
所述通道适配器使用所述虚拟地址变换表,处理多个OS上的输入/输出处理控制数据,由此不进行在各OS上生成的输入/输出处理控制数据的变更,所述通道适配器对多个OS进行输入/输出处理。
4.如权利要求1所述的数据处理系统,其特征在于,
所述输入/输出处理控制数据由多个队列构成;
各队列由数据缓冲区和包含指示该数据缓冲区的地址的描述符构成。
5.如权利要求4所述的数据处理系统,其特征在于,
所述队列由数据发送用发送队列和数据接收用接收队列构成。
6.如权利要求4所述的数据处理系统,其特征在于,
具有对指示所述各队列的描述符的地址进行存储的地址变换表。
7.如权利要求6所述的数据处理系统,其特征在于,
设置所述地址变换表的起始地址的地址寄存器被设置在所述通道适配器内。
8.如权利要求7所述的数据处理系统,其特征在于,
所述各OS的各通道驱动器在将该OS用的所述地址变换表的起始地址设置在所述通道适配器的所述地址寄存器之后,向所述通道适配器指示I/O起动。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004269111 | 2004-09-16 | ||
JP2004269111A JP4788124B2 (ja) | 2004-09-16 | 2004-09-16 | データ処理システム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100925384A Division CN101308466B (zh) | 2004-09-16 | 2005-09-15 | 数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1749967A true CN1749967A (zh) | 2006-03-22 |
CN100405303C CN100405303C (zh) | 2008-07-23 |
Family
ID=36035447
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100925384A Active CN101308466B (zh) | 2004-09-16 | 2005-09-15 | 数据处理方法 |
CNB200510103403XA Active CN100405303C (zh) | 2004-09-16 | 2005-09-15 | 数据处理系统 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2008100925384A Active CN101308466B (zh) | 2004-09-16 | 2005-09-15 | 数据处理方法 |
Country Status (3)
Country | Link |
---|---|
US (3) | US7680965B2 (zh) |
JP (1) | JP4788124B2 (zh) |
CN (2) | CN101308466B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064734A (zh) * | 2011-10-24 | 2013-04-24 | 联想(北京)有限公司 | 终端设备以及多系统输入切换方法 |
CN112631969A (zh) * | 2020-12-30 | 2021-04-09 | 凌云光技术股份有限公司 | 一种基于pcie接口的虚拟多通道数据传输方法和系统 |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8769168B2 (en) | 2006-10-17 | 2014-07-01 | International Business Machines Corporation | Method for communicating with a network adapter using a queue data structure and cached address translations |
US7506084B2 (en) * | 2006-10-17 | 2009-03-17 | International Business Machines Corporation | Method for communicating with an I/O adapter using cached address translations |
US7590817B2 (en) * | 2006-10-17 | 2009-09-15 | International Business Machines Corporation | Communicating with an I/O device using a queue data structure and pre-translated addresses |
JP2008158710A (ja) * | 2006-12-22 | 2008-07-10 | Hitachi Ltd | 計算機システム |
US7913077B2 (en) * | 2007-02-13 | 2011-03-22 | International Business Machines Corporation | Preventing IP spoofing and facilitating parsing of private data areas in system area network connection requests |
US8683110B2 (en) | 2007-08-23 | 2014-03-25 | Nec Corporation | I/O system and I/O control method |
JP2009294758A (ja) * | 2008-06-03 | 2009-12-17 | Hitachi Ltd | 仮想計算機システム及びホストバスアダプタ用ドライバプログラム |
US8615645B2 (en) | 2010-06-23 | 2013-12-24 | International Business Machines Corporation | Controlling the selectively setting of operational parameters for an adapter |
US9213661B2 (en) | 2010-06-23 | 2015-12-15 | International Business Machines Corporation | Enable/disable adapters of a computing environment |
US9195623B2 (en) | 2010-06-23 | 2015-11-24 | International Business Machines Corporation | Multiple address spaces per adapter with address translation |
US9342352B2 (en) | 2010-06-23 | 2016-05-17 | International Business Machines Corporation | Guest access to address spaces of adapter |
US8635430B2 (en) | 2010-06-23 | 2014-01-21 | International Business Machines Corporation | Translation of input/output addresses to memory addresses |
US9122515B2 (en) * | 2012-12-19 | 2015-09-01 | Dell Products L.P. | Completion notification for a storage device |
US9323715B2 (en) * | 2013-11-14 | 2016-04-26 | Cavium, Inc. | Method and apparatus to represent a processor context with fewer bits |
FR3032537B1 (fr) * | 2015-02-09 | 2018-03-16 | Commissariat A L'energie Atomique Et Aux Energies Alternatives | Procede d'execution d'une requete d'echange de donnees entre des premier et deuxieme espaces d'adressage physiques disjoints de circuits sur carte ou puce |
WO2016206012A1 (en) * | 2015-06-24 | 2016-12-29 | Intel Corporation | Systems and methods for isolating input/output computing resources |
EP3353659A4 (en) * | 2015-09-25 | 2019-05-01 | Intel Corporation | SYSTEMS AND METHODS FOR CONTROLLING INPUT / OUTPUT COMPUTER RESOURCES |
WO2017209876A1 (en) | 2016-05-31 | 2017-12-07 | Brocade Communications Systems, Inc. | Buffer manager |
US20180088978A1 (en) * | 2016-09-29 | 2018-03-29 | Intel Corporation | Techniques for Input/Output Access to Memory or Storage by a Virtual Machine or Container |
CN107153527B (zh) * | 2017-05-17 | 2020-10-13 | 北京环境特性研究所 | 一种基于消息队列的并行雷达数据处理方法 |
JP6615302B1 (ja) * | 2018-11-06 | 2019-12-04 | 三菱電機株式会社 | 電子制御装置 |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0619747B2 (ja) * | 1984-01-18 | 1994-03-16 | 株式会社日立製作所 | I/o命令実行方法、i/o割込処理方法およびそれらを用いた計算機システム |
JP2886973B2 (ja) * | 1990-04-09 | 1999-04-26 | オリンパス光学工業株式会社 | 体腔内超音波診断装置 |
US5414851A (en) * | 1992-06-15 | 1995-05-09 | International Business Machines Corporation | Method and means for sharing I/O resources by a plurality of operating systems |
US5412782A (en) * | 1992-07-02 | 1995-05-02 | 3Com Corporation | Programmed I/O ethernet adapter with early interrupts for accelerating data transfer |
US5742845A (en) * | 1995-06-22 | 1998-04-21 | Datascape, Inc. | System for extending present open network communication protocols to communicate with non-standard I/O devices directly coupled to an open network |
JP3490212B2 (ja) * | 1996-04-08 | 2004-01-26 | 株式会社日立製作所 | 情報処理装置の入出力チャネル拡張方法 |
JP3503948B2 (ja) * | 1995-09-13 | 2004-03-08 | 株式会社 日立製作所 | 電子計算機システム |
US6996828B1 (en) * | 1997-09-12 | 2006-02-07 | Hitachi, Ltd. | Multi-OS configuration method |
JP3659062B2 (ja) * | 1999-05-21 | 2005-06-15 | 株式会社日立製作所 | 計算機システム |
WO2001093032A1 (fr) * | 2000-05-31 | 2001-12-06 | Hitachi, Ltd. | Systeme informatique, procede de commande d'ordinateur et support stockant un programme de commande |
US6715016B1 (en) * | 2000-06-01 | 2004-03-30 | Hitachi, Ltd. | Multiple operating system control method |
US20020002631A1 (en) * | 2000-06-02 | 2002-01-03 | Inrange Technologies Corporation | Enhanced channel adapter |
US6990663B1 (en) | 2000-06-08 | 2006-01-24 | International Business Machines Corporation | Hypervisor virtualization of OS console and operator panel |
US6877158B1 (en) * | 2000-06-08 | 2005-04-05 | International Business Machines Corporation | Logical partitioning via hypervisor mediated address translation |
US7272571B2 (en) * | 2000-07-07 | 2007-09-18 | Mars Incorporated | Method and apparatus for effective distribution and delivery of goods ordered on the World-Wide-Web |
JP4205843B2 (ja) | 2000-09-22 | 2009-01-07 | 株式会社日立製作所 | ネットワーク接続装置の制御方法 |
US6751679B1 (en) * | 2000-11-16 | 2004-06-15 | International Business Machines Corporation | Means of control bit protection in a logical partition environment |
ATE468562T1 (de) * | 2000-12-15 | 2010-06-15 | Ibm | Virtualisierung von e/a-adapterressourcen |
US6658521B1 (en) * | 2000-12-22 | 2003-12-02 | International Business Machines Corporation | Method and apparatus for address translation on PCI bus over infiniband network |
AU2003298322A1 (en) * | 2002-12-20 | 2004-07-14 | International Business Machines Corporation | Secure system and method for san management in a non-trusted server environment |
US7493409B2 (en) * | 2003-04-10 | 2009-02-17 | International Business Machines Corporation | Apparatus, system and method for implementing a generalized queue pair in a system area network |
US7174550B2 (en) * | 2003-05-12 | 2007-02-06 | International Business Machines Corporation | Sharing communications adapters across a plurality of input/output subsystem images |
US7979548B2 (en) * | 2003-09-30 | 2011-07-12 | International Business Machines Corporation | Hardware enforcement of logical partitioning of a channel adapter's resources in a system area network |
US7506343B2 (en) * | 2004-08-19 | 2009-03-17 | International Business Machines Corporation | System and method for passing information from one device driver to another |
US7617340B2 (en) * | 2007-01-09 | 2009-11-10 | International Business Machines Corporation | I/O adapter LPAR isolation with assigned memory space |
US20080168193A1 (en) * | 2007-01-10 | 2008-07-10 | International Business Machines Corporation | Use of unique identifiers for each data format supported by a multi-format data store |
-
2004
- 2004-09-16 JP JP2004269111A patent/JP4788124B2/ja not_active Expired - Fee Related
-
2005
- 2005-09-14 US US11/224,965 patent/US7680965B2/en not_active Expired - Fee Related
- 2005-09-15 CN CN2008100925384A patent/CN101308466B/zh active Active
- 2005-09-15 CN CNB200510103403XA patent/CN100405303C/zh active Active
-
2010
- 2010-03-11 US US12/721,964 patent/US7877526B2/en not_active Expired - Fee Related
-
2011
- 2011-01-18 US US13/008,195 patent/US8312182B2/en active Active
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103064734A (zh) * | 2011-10-24 | 2013-04-24 | 联想(北京)有限公司 | 终端设备以及多系统输入切换方法 |
CN103064734B (zh) * | 2011-10-24 | 2016-08-17 | 联想(北京)有限公司 | 终端设备以及多系统输入切换方法 |
CN112631969A (zh) * | 2020-12-30 | 2021-04-09 | 凌云光技术股份有限公司 | 一种基于pcie接口的虚拟多通道数据传输方法和系统 |
CN112631969B (zh) * | 2020-12-30 | 2024-01-30 | 凌云光技术股份有限公司 | 一种基于pcie接口的虚拟多通道数据传输方法和系统 |
Also Published As
Publication number | Publication date |
---|---|
US7877526B2 (en) | 2011-01-25 |
US20100235548A1 (en) | 2010-09-16 |
CN101308466A (zh) | 2008-11-19 |
JP2006085400A (ja) | 2006-03-30 |
CN100405303C (zh) | 2008-07-23 |
CN101308466B (zh) | 2011-07-06 |
US7680965B2 (en) | 2010-03-16 |
US20060059328A1 (en) | 2006-03-16 |
US20110138089A1 (en) | 2011-06-09 |
JP4788124B2 (ja) | 2011-10-05 |
US8312182B2 (en) | 2012-11-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1749967A (zh) | 数据处理系统 | |
EP1851627B1 (en) | Virtual adapter destruction on a physical adapter that supports virtual adapters | |
EP1896965B1 (en) | Dma descriptor queue read and cache write pointer arrangement | |
EP1851626B1 (en) | Modification of virtual adapter resources in a logically partitioned data processing system | |
US8850098B2 (en) | Direct memory access (DMA) address translation between peer input/output (I/O) devices | |
EP3206124A1 (en) | Method, apparatus and system for accessing storage device | |
WO1999035579A1 (en) | Two-level address translation and memory registration system and method | |
CN100343840C (zh) | 总线系统、在总线系统中使用的站和总线接口 | |
CN1788261A (zh) | 具有用于传送描述符的存储器的usb主机控制器 | |
CN1658176A (zh) | 数据通信的方法及设备 | |
US11029847B2 (en) | Method and system for shared direct access storage | |
US20070130372A1 (en) | I/O address translation apparatus and method for specifying a relaxed ordering for I/O accesses | |
US8074232B2 (en) | Method for improving the communication of the human interface device | |
CN101052952A (zh) | 存储器管理单元和用于存储器管理的方法 | |
US20080010290A1 (en) | Application offload processing | |
US8533163B2 (en) | Database offload processing | |
CN1131484C (zh) | 消息传输总线系统 | |
JP4894963B2 (ja) | データ処理システム | |
US20070150683A1 (en) | Dynamic memory buffer allocation method and system | |
CN1705269A (zh) | 一种用于虚拟共享存储系统的远程取页方法及网络接口卡 | |
WO2024222015A1 (zh) | 数据处理系统和内存动态分配方法 | |
CN118484408A (zh) | 基于DPU芯片virtio多Virtqueues描述符的获取方法 | |
CN114662162A (zh) | 实现动态分配vf的多算法核高性能sr-iov加解密系统及方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |