控制装置、信息处理装置以及数据传输方法

文档序号:6557864阅读:102来源:国知局
专利名称:控制装置、信息处理装置以及数据传输方法
技术领域
本发明涉及一种用于控制从输入/输出设备向存储器的数据传输的控制装置,一种信息处理装置和一种数据传输方法。
背景技术
在诸如个人计算机的信息处理装置中,通常采用被称为直接存储器存取(DMA)的数据传输系统来在主存储器和诸如HDD的输入/输出设备之间进行数据传输。在该系统中,不通过CPU在输入/输出设备和存储器之间传输数据,这样可以提高整个系统的速度。然而,为了传输数据,需要向CPU通告数据的传输。如果应输入/输出设备的请求将数据写到主存储器,控制输入/输出设备的输入/输出控制器就向CPU发送一个中断。从而,CPU可以从主存储器读取数据并执行必要的操作。
在主存储器被写访问之后,该输入/输出控制器必须以一种及时的方式向CPU发出中断。如果中断被过早地发送到CPU,CPU将在所有数据被完全写到主存储器之前读出主存储器的数据,结果无法保证数据的一致性。为避免此结果,可以考虑使用在诸如日本专利申请特开公告号7-210500中公开的技术。
上述出版物公开了以下内容。当由DMA经由缓冲器将数据从连接到本地总线的输入/输出控制设备传输到连接到系统总线的主存储器时,通过检测系统总线的信号状态或为计时器设置固定周期的时间来确定数据传输是否完成。当完成数据传输时,中断被发送给CPU。
然而,上述出版物的技术不是要确认到主存储器的数据写入实际完成,而只是要间接地从总线的信号状态来预测到主存储器的数据写入的完成。为此,仍然存在刚好在实际上完成数据写入到主存储器之前将中断发送给CPU的可能。难以断言数据的一致性被可靠地保证。
在这种情况下,希望提供一种技术可以可靠地保证将在输入/输出设备和存储器之间进行传输的数据的一致性。

发明内容
根据本发明的一个方面,提供一种控制装置,包含存储器;能够访问该存储器的处理器;输入/输出控制器,它开始传输来自输入/输出设备的数据以将该数据不通过该处理器写到该存储器内的给定区域,在最后数据被传输之后读取该存储器内给定区域的数据,并且在通过确认响应来确认所有传输的数据已经被写到该存储器之后发出表示数据传输完成的中断;以及中断控制器,它接收来自输入/输出控制器的中断并将该中断发送给该处理器。
根据本发明的另一个方面,提供一种信息处理装置,包含存储器;能够访问该存储器的处理器;不通过该处理器将数据传输到该存储器的数据传输单元;输入/输出控制器,它开始通过该数据传输单元而不通过该处理器传输来自输入/输出设备的数据以将该数据写到该存储器内的给定区域,在最后的数据被传输之后读取该存储器内给定区域的数据,并且在确认所有传输的数据已经被写到该存储器之后发出表示数据传输完成的中断;以及中断控制器,它接收来自输入/输出控制器的中断并将该中断发送给该处理器。
根据本发明的又一个方面,提供一种数据传输方法,该方法适用于包括存储器和可以访问该存储器的处理器的装置,该方法包括开始传输来自输入/输出设备的数据以将该数据不通过该处理器写到该存储器内的给定区域;以及在最后的数据被传输之后读取该存储器内给定区域的数据,并且在确认所有传输的数据已经被写到该存储器之后向处理器发送表示数据传输完成的中断。


并入且构成说明书的一部分并阐述了本发明的实施例的附图,与上述概括说明和下述实施例的详细说明一起用作阐明本发明的原理。
图1是根据本发明实施例的信息处理装置的主要部件的方框图;图2是图1所示的信息处理装置内的输入/输出控制器的内部结构的方框图;图3是包含在图1所示的信息处理装置内的数据传输单元的方框图;图4是一个图,显示了当图1所示的信息处理装置被实现为伺服装置时配置的系统的实例;
图5是一个流程图,显示了在DMA数据传输之前执行的启动操作;以及图6是一个流程图,显示了DMA数据传输操作。
具体实施例方式
以下将参考附图来描述本发明的实施例。
图1是根据本发明实施例的信息处理装置的主要部件的方框图。
图1显示了诸如个人计算机的信息处理装置1。它包括主存储器11、中央处理单元(CPU)12、输入/输出设备13、输入/输出控制器14、中断控制器15、第一系统总线16、第二系统总线17、第一桥单元18和第二桥单元19。
主存储器11包括诸如随机存取存储器(RAM)的非易失性存储器并用于存储多种程序及数据。存在将通过DMA从输入/输出设备13传输的数据写到主存储器11的情况。
CPU 12控制信息处理装置1的所有操作并能够访问主存储器11等等。一旦收到来自中断控制器15的给定中断,CPU 12就识别数据已经通过DMA被传输到主存储器11。在这种情况下,如有必要,CPU 12读取主存储器11中的传输数据。
输入/输出设备13相当于硬盘驱动器(HDD)等等。在将数据传输到主存储器11期间,输入/输出设备13在完成数据传输时向输入/输出控制器14发出中断。
输入/输出控制器14控制到/来自输入/输出设备13的数据的输入/输出。输入/输出控制器14传输来自输入/输出设备13的数据以便将该数据不通过CPU12写到主存储器11内的给定区域。一旦从输入/输出设备13接收到最后数据,输入/输出控制器14感测从设备13发出的中断。输入/输出控制器14不在它感测到该中断之后立即将该中断输出到中断控制器15,而是从主存储器11内的给定区域读取数据。然后,输入/输出控制器14通过确认所有传输的数据已经写到主存储器11来发出指示数据传输完成的中断。
中断控制器15从信息处理装置1内部接收各种中断并将它们发送给CPU12。该中断控制器15可以被安装在第二桥单元19或类似机构内。
例如,第一系统总线16相当于外围组件互连(PCI)总线。第一系统总线16用于在第一和第二桥单元18和19之间传输数据。
例如,第二系统总线17相当于低引脚数(LPC)总线。第二系统总线17用于在第二桥单元19和输入/输出控制器14之间传输数据。
第一桥单元18充当将第一系统总线16链接到主存储器11、CPU 12和中断控制器15的桥,并且具有用于数据传输以允许双向传输数据的缓冲器。第一桥单元18具有通过DMA协同第二桥单元19进行数据传输的功能。第一桥单元18还具有在进行DMA数据传输时从输入/输出控制器14接收将数据写到主存储器11的写指令和从主存储器11读取数据的读指令,以及将这些指令返回给输入/输出控制器14的功能。
第二桥单元19充当将第一系统总线16链接到第二系统总线17的桥,并具有用于数据传输以允许双向传输数据的缓冲器。第二桥单元19具有通过DMA协同第一桥单元18进行数据传输的功能。
在上述组件中,至少主存储器11、CPU12、输入/输出控制器14和中断控器15组成用于根据本发明实施例来控制数据传输的控制装置。
除输入/输出设备13之外,例如,可以提供通过外部网络与另一个设备进行通信的通信单元。在这种情况下,提供另一个用于控制输入数据到该通信单元/从该通信单元输出数据的输入/输出控制器。
图2是图1所示的信息处理装置内的输入/输出控制器14的内部结构的方框图。
参考图2,输入/输出控制器14包括DMA控制器21、输入/输出设备接口单元22、假读取产生电路23和系统总线接口单元24。
DMA控制器21控制输入/输出控制器14的整个操作。DMA控制器21发出写指令以写数据,并通过DMA开始传输数据,该写指令从输入/输出设备13通过系统总线接口单元24被发送到主存储器11内的给定区域。
DMA控制器21在通过DMA传输最后数据之后从输入/输出设备13接收中断并且不将其立即发送给控制器15。在输入/输出设备13发出中断之后,DMA控制器21指示假读取产生电路23发出读指令以立即读出主存储器11内给定区域的数据。在假读取产生电路23通过系统总线接口单元24向第二系统总线17发送读指令之后,DMA控制器21通过系统总线接口单元24接收对读指令的响应以便确认已经将数据完全写到主存储器11内的给定区域。然后,DMA控制器21向控制器15发出表示DMA数据传输完成的中断(图1所示)。
输入/输出设备接口单元22充当DMA控制器21和输入/输出设备13之间的接口(图1所示)。一旦从输入/输出设备13接收到中断,输入/输出设备接口单元22向DMA控制器发送中断并从输入/输出设备13向DMA控制器21发送数据。
假读取产生电路23响应来自DMA控制器21的指令。响应于该指令,假读取产生电路23通过系统总线接口单元24向第二系统总线17发送读出主存储器11内的给定区域的数据的读指令。
系统总线接口单元24充当DMA控制器21和第二系统总线17之间的接口。例如,系统总线接口单元24向系统总线17发送从DMA控制器21发来的写指令,向系统总线17发送从假读取产生电路23发来的读指令,以及向DMA控制器21传输对来自第二系统总线17的这些指令的每一个的响应。
图3显示了包含在信息处理装置1内的数据传输单元31的结构。
数据传输单元31包括在主存储器11和输入/输出控制器14之间传输数据的传输缓冲器32。数据传输单元31具有如上所述的DMA数据传输功能。数据传输单元31构建在第一桥单元18、第二桥单元19等内部。
图4是一个流程图,显示了当信息处理装置1实现为伺服装置时配置的系统的实例。
当信息处理装置1作为服务器运行时,它通过网络从另一个信息处理装置和外围设备(客户)接收各种请求并传输数据。配置信息处理装置1以便它可以基于图1至3所示的结构通过DMA向主存储器11传输数据。
例如,作为服务器运行的信息处理装置1不局限于个人计算机也可以涉及例如打印机。在这种情况下,装置1不仅包括输入/输出设备13还包括诸如用于通过外部网络与另一个装置通信的通信设备,以及用于控制到/来自该通信设备的数据的输入/输出的输入/输出控制器。当另一个通信处理装置通过网络向信息处理装置1传输数据(将要打印的文档数据)时,通过DMA经由通信设备和输入/输出控制器(具有与图3所示的输入/输出控制器14同样的结构)将该数据传输到主存储器11。
参考图5所示的流程图将描述本实施例中在DMA数据传输之前执行的启动操作。
当系统在信息处理装置1内启动时(步骤A1),在主存储器11内设置DMA描述符(包括诸如起始地址和传输次数的信息)。于是,保证了用于从输入/输出设备访问的区域(步骤A2)。
当与输入/输出控制器14相应的驱动器启动(步骤A3)时,它就启动输入/输出控制器14(步骤A4)。
参考图6所示的流程图将描述根据本实施例的DMA数据缓冲器操作。
启动的输入/输出控制器14从主存储器11读取DMA描述符并将其持有(步骤B1)。
基于DMA描述符(包括诸如起始地址和传输的次数的信息),输入/输出控制器14向第二系统总线17发出写指令以将数据从输入/输出设备13写到主存储器11,并通过DMA开始传输数据(步骤B2)。通过第二系统总线17将该写指令传输到第二桥单元19,然后通过第一系统总线16将其发送到第一桥单元18。利用各个桥单元的DMA数据传输功能,将数据传输到主存储器11。
在输入/输出控制器14接收到来自输入/输出设备13的最后数据之后,设备13发出中断(步骤B3)。输入/输出控制器14不立即而是在通过DMA数据传输将数据写到主存储器11之后向中断控制器15传输中断。
为了确认已经将数据写到主存储器11,输入/输出控制器14在输入/输出设备13发出中断之后立即发出从给定区域读取数据的读指令(步骤B4)。通过第二系统总线17将该读指令发送给第二桥单元19然后通过第一系统总线16将其发送给第一桥单元18。第一桥单元18从主存储器11读取与该读指令相应的数据。由第一桥单元18读取的数据被返回给输入/输出控制器14作为对该读指令的响应。
为响应该返回数据,输入/输出控制器14确认已经将必要数据写到主存储器11(步骤B5)并发出表示DMA数据传输完成的中断(步骤B6)。通过中断控制器15将该中断发送到CPU 12。
当CPU 12收到该中断时,它就识别DMA数据传输的完成(步骤B7)。从而,CPU 12在有需要时从主存储器11读取传输的数据。
如上所述,根据本发明的实施例,当通过DMA将数据从输入/输出设备13传输到主存储器11时,CPU 12在将所有数据写到主存储器11之前不为主存储器11执行任何操作,结果是可以如上所述可靠地保证数据的一致性。
如已经详细描述的一样,本发明在输入/输出设备和存储器之间传输数据时允许可靠地保证数据的一致性。
本领域的技术人员可以容易地了解附加优点和修改。因此,本发明在其宽泛的方面不局限于在此显示和描述的特定细节和典型实施例。所以,在不脱离由所附权利要求以及它们的等效物所定义的总体发明构思的精神或范围的情况下,可以作出多种修改。
权利要求
1.一种控制装置,其特征在于包括存储器;可以访问该存储器的处理器;输入/输出控制器,它开始传输来自输入/输出设备的数据以不通过该处理器将该数据写到该存储器内的给定区域、在最后数据被传输之后从该存储器内给定区域读出数据,并且在通过确认响应来确认所有传输的数据已经被写到该存储器之后发出表示数据传输完成的中断;以及中断控制器,它接收来自输入/输出控制器的中断并将中断发送给该处理器。
2.根据权利要求1的控制装置,其特征在于,输入/输出控制器包括在传输最后数据之后发出从存储器内给定区域读出数据的读指令的电路。
3.根据权利要求1的控制装置,其特征在于,输入/输出控制器通过确认对发出的读指令的响应来识别数据传输完成。
4.根据权利要求1的控制装置,其特征在于,数据传输是直接存储器存取(DMA)数据传输。
5.根据权利要求1的控制装置,其特征在于,输入/输出设备是硬盘驱动器。
6.一种信息处理装置,其特征在于包括存储器;能够访问该存储器的处理器;不通过该处理器将数据传输到该存储器的数据传输单元;输入/输出控制器,它开始通过该数据传输单元而不通过该处理器传输来自输入/输出设备的数据以将该数据写到该存储器内的给定区域、在最后数据被传输之后从该存储器内给定区域读出数据,并且在确认所有传输的数据都已经被写到该存储器之后发出表示数据传输完成的中断;以及中断控制器,它接收来自输入/输出控制器的中断并将该中断发送给该处理器。
7.一种适用于包括存储器和能访问该存储器的处理器的装置的数据传输方法,该方法的特征在于包括开始传输来自输入/输出设备的数据以将该数据不通过该处理器写到该存储器内的给定区域;以及在最后数据被传输之后从该存储器内给定区域读出数据,并且在确认所有传输的数据都已经被写到该存储器之后向处理器发送表示数据传输完成的中断。
8.根据权利要求7的方法,其特征在于,它还包括在最后数据被传输之后发出从存储器内给定区域读出数据的读指令。
9.根据权利要求7的方法,其特征在于,它还包括通过确认对发出的读指令的响应来识别数据传输完成。
10.根据权利要求7的方法,其特征在于,数据传输是直接存储器存取(DMA)数据传输。
全文摘要
一种控制装置,它具有存储器(11)、处理器(12)、输入/输出控制器(14),以及中断控制器(15)。处理器(12)可以访问存储器(11)。输入/输出控制器(14)开始传输来自输入/输出设备(13)的数据以将该数据不通过处理器(12)写到储器(11)内的给定区域,在最后数据被传输之后读出存储器(11)内给定区域的数据,并且在通过确认响应来确认所有传输的数据已经被写到存储器(11)之后发出表示数据传输完成的中断。中断控制器(15)从输入/输出控制器(14)接收中断并将该中断传送到处理器(12)。
文档编号G06F13/20GK1821986SQ20061007111
公开日2006年8月23日 申请日期2006年1月26日 优先权日2005年2月4日
发明者牧康典, 石井贤一, 铃木浩尚, 木村良信 申请人:株式会社东芝
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1