Usb主机控制器以及用于usb主机控制器的控制方法

文档序号:6599464阅读:172来源:国知局
专利名称:Usb主机控制器以及用于usb主机控制器的控制方法
技术领域
本发明涉及USB主机控制器和用于USB主机控制器的控制方法。
背景技术
近年来,通用串行总线(USB)接口已经被用作用于连接计算机和它的外围装置的 接口。USB接口还被使用在嵌入系统中。图5是示出了数据输入/输出装置和被连接至该 装置的USB外围装置的的构造示例的图。图5选择性地仅示出作为数据输入装置的存储单 元,和用于这些存储装置的输入/输出控制器。例如,当对来自于诸如数码照相机的装置中 的移动或者静态图像数据进行存储时,使用存储单元。图5中所示的数据输入/输出装置122包括CPU 120、存储器121、USB主机控制器 111、第一和第二连接器116、117、串行ATA (SATA)控制器114、硬盘115、以及总线113。CPU 120、存储器121、以及USB主机控制器111经由总线113而相互连接。另外,硬盘115经由 SATA控制器114而连接至总线113。此外,USB存储器118经由第一连接器116被连接至 USB主机控制器111,并且外部硬盘119经由第二连接器117被连接至USB主机控制器。同时,USB主机控制器通常已经被构建在使用USB作为数据通信装置的装置中。图 6是示出图5中所示的USB主机控制器111的图。图6中所示的USB主机控制器111包括 CPU接口控制块108、用于USB管道(pipe)的缓冲存储器102、第一 USB管道控制块104、第 二 USB管道控制块105、第η USB管道控制块106、USB接口控制块107、端口 109、110、以及 总线112。CPU接口控制块108、用于USB管道的缓冲存储器102、第一 USB管道控制块104、 第二 USB管道控制块105、以及第η USB管道控制块106经由总线112被相互连接。在下文中将会参考图7描述用于将来自于USB存储器118的数据移到图5中所示 的外部硬盘119的处理序列。另外,将会参考图8描述这时的数据流。另外,在本示例中,第 一 USB管道控制块104被用于读取来自于USB存储器118的数据(BulkIN),并且第二 USB 管道控制器块105用于将数据(BulkOUT)写入外部硬盘119。首先,为了从USB存储器118读取要被复制到图5中的外部硬盘119的数据,CPU 120执行处理以使USB主机控制器111发出BulkIN传输请求(SlOl)。然后,USB主机控制 器111通过向USB存储器118发出BulkIN传输请求来请求数据(S102)。响应于BulkIN请求,USB存储器118将数据传输到USB主机控制器111 (S103)。 USB主机控制器111将从USB存储器中接收到的数据存储在用于USB管道的缓冲存储器102 的图8中的第一缓冲存储器区域141中(S104)。然后,在将来自于USB存储器的所有数据存储在用于USB管道的缓冲存储器102 中之后,USB主机控制器111通知CPU 120中断请求(S105)。在检测中断请求之后,CPU 120 将被存储在用于USB管道的缓冲存储器102的第一缓冲存储器区域141的数据传输到图5 的数据输入/输出装置122的存储器121中,并且将数据存储在其中(S106)。接下来,为了将数据传输到外部硬盘119,被存储在存储器121中的数据被传输到 USB主机控制器111 (S107)。USB主机控制器111将接收到的数据存储在用于USB管道的内部缓冲存储器102的图8中的第二缓冲存储器区域142中(S108)。在完成对(用于1个分组的)所有数据的传输之后,CPU 120执行处理以开始向外部硬盘119的BulkOUT传输 (S109)。USB主机控制器111向外部硬盘119发出BulkOUT传输请求,并且将存储在第二缓 冲存储器区域中的数据传输到外部硬盘119 (SllO)。外部硬盘119将在BulkOUT传输中接 收到的数据存储在其中(Slll)。图8是用于图示当数据被从USB存储器118移到外部硬盘119时的数据流的图。 如图8中所示,经由第一 USB管道控制块104,将来自于USB存储器118的数据存储在用于 USB管道的缓冲存储器102的第一缓冲存储器区域141中(S101至S104)。接下来,将数据 从用于USB管道的缓冲存储器102的第一缓冲存储器区域141传输到存储器121 (S106)。然后,为了将数据传输到外部硬盘119,被存储在存储器121中的数据被存储在用 于USB管道的缓冲存储器102的第二缓冲存储器区域142中(S108)。然后,经由第二 USB 管道控制块105,将数据从用于USB管道的缓冲存储器102的第二缓冲存储器区域142传输 到外部硬盘119并且将其存储在其中(S109至S111)。另外,日本专利申请公开No. 2004-46392公布了与USB主机控制电路有关的 技术,该技术能够改进传输效率同时保持CUP上的负载低。根据日本专利申请公开 No. 2004-46392的USB主机控制电路包括管道控制缓冲器、管道信息缓冲器、传输信息缓冲 器、管道选择电路、以及协议引擎。在这里,根据被存储在管道控制缓冲器和管道信息缓冲 器中的信息,管道选择电路选择用于执行CPU和USB装置之间的数据传输的管道。此外,管 道选择电路从协议引擎中获取数据传输的响应结果,并且切换用于执行数据传输的管道, 同时取决于响应结果重新写入被存储在传输信息缓冲器中的信息。然而,当通过使用图5中所示的USB主机控制器111将数据从USB存储器118传 输到外部硬盘119时,需要将数据暂时地存储在存储器121中。参考图8,在上述示例中,第一 USB管道控制块104被用于读取来自于USB存储器 118的数据(BulkIN),并且第二 USB管道控制块105被用于将数据(BulkOUT)写入外部硬 盘119。因此,当通过使用图5中所示的USB主机控制器111传输数据时,需要将被存储在 用于USB管道的缓冲存储器102的第一缓冲存储器区域141中的数据传输到其的第二缓冲 存储器区域142。因此,为了通过使用图5中所示的USB主机控制器111传输数据,被存储 在第一缓冲存储器区域141中的数据经由存储器121被传输到第二缓冲存储器区域142。这样,如果经由位于USB主机控制器111的外部的存储器121将数据从第一缓冲 存储器区域141传输到第二缓冲存储器区域142,那么数据传输耗费时间。另外,由于在USB 主机控制器111和外部存储器121之间的数据传输期间占据了总线,所以减少其它处理的 吞吐量。

发明内容
根据本发明的USB主机控制器包括缓冲存储器,该缓冲存储器具有第一缓冲存 储器区域和第二缓冲存储器区域;和缓冲存储器控制器,该缓冲存储器控制器被构造为控 制第一装置和缓冲存储器之间的数据传输和第二装置和缓冲存储器之间的数据传输。缓冲 存储器控制器保持与第一缓冲存储器区域相对应的地址信息和与第二缓冲存储器区域相对应的地址信息,将来自于第一装置的数据存储在第一缓冲存储器区域中,将与第一缓冲 存储器区域相对应的地址信息和与第二缓冲存储器区域相对应的地址信息进行交换,并且 基于交换之后与第一缓冲存储器区域相对应的地址信息,将被存储在第一缓冲存储器区域 中的数据传输到第二装置。在根据本发明的USB主机控制器中,缓冲存储器控制器将与第一缓冲存储器区域 相对应的地址信息和与第二缓冲存储器区域相对应的地址信息进行交换。这消除了对使用 位于USB主机控制器的外部的存储器来执行数据传输的需要,从而使用于存储装置之间的 数据传输的时间减少。根据本发明的用于USB主机控制器的控制方法用于如下的控制器,该控制器包括缓冲存储器,该缓冲存储器具有第一缓冲存储器区域和第二缓冲存储器区域;以及缓 冲存储器控制器,该缓冲存储器控制器被构造为控制第一装置与缓冲存储器之间的数据传 输以及第二装置与缓冲存储器之间的数据传输。该方法包括下述步骤将来自于第一装置 的数据存储在第一缓冲存储器区域中;对由缓冲存储器控制器保持的与第一缓冲存储器区 域相对应的地址信息和与第二缓冲存储器区域相对应的地址信息进行交换;以及基于交换 之后与第一缓冲存储器区域相对应的地址信息将被存储在第一缓冲存储器区域中的数据 传输到第二装置。根据本发明的用于USB主机控制器的控制方法对与第一缓冲存储器区域相对应 的地址信息和与第二缓冲存储器区域相对应的地址信息进行交换。这消除了经由位于USB 主机控制器的外部的存储器来对数据进行传输的需要,从而使用于存储装置之间的数据传 输的时间减少。本发明能够提供能够为存储装置之间的数据传输减少时间的USB主机控制器和 用于USB主机控制器的控制方法。


图1是示出根据实施例的USB主机控制器的图。图2是示出根据实施例的USB主机控制器的存储器交换控制块的图。图3是用于图示根据实施例的通过使用USB主机控制器来对数据进行传输时的序 列的图。图4A和图4B是每一个图示了根据实施例的通过使用USB主机控制器来对数据进 行传输的情况的图。图4A示出交换前的状态,并且图4B示出交换后的状态。图5是示出根据现有技术的数据输入/输出装置的图。图6是示出根据现有技术的USB主机控制器的图。图7是用于图示根据现有技术的通过使用USB主机控制器来对数据进行传输的情 况的序列的图。图8是用于图示根据现有技术通过使用USB主机控制器来对数据进行传输的情况 的图。
具体实施例方式在下文中将参考附图来描述本发明的实施例。
图1示出根据实施例的USB主机控制器。根据实施例的USB主机控制器11包括 具有第一缓冲存储器区域41 (参见图4)和第二缓冲存储器区域42 (参见图4)的用于USB 管道的缓冲存储器2 (缓冲存储器);和缓冲存储器控制器1,该缓冲存储器控制器1被构造 为对第一装置18和用于USB管道的缓冲存储器2之间的数据传输以及第二装置19和用于 USB管道的缓冲存储器2之间的数据传输进行控制。缓冲存储器控制器1保持与第一缓冲存储器区域41相对应的地址信息和与第二 缓冲存储器区域42相对应的地址信息。另外,缓冲存储器控制器1将来自于第一装置18 的数据存储在第一缓冲存储器41中,然后对与第一缓冲存储器区域41相对应的地址信息 和与第二缓冲存储器区域42相对应的地址信息进行交换,并且基于在交换之后获得的地 址信息,将被存储在第一缓冲存储器区域41中的数据传输到第二装置19,其中,所述地址 信息对应于第一缓冲存储器区域41。图1中所示的USB主机控制器11的缓冲存储器控制器1包括存储器交换控制块3和多个USB管道控制块4、5、6。此外,USB主机控制器11包括用于USB管道的缓冲存储器2 和CPU接口控制块8。然后,存储器交换控制块3、多个USB管道控制块4、5、6、用于USB管 道的缓冲存储器2、以及CPU接口控制块8经由总线12被相互连接。CPU接口控制块8具 有对来自于CPU的指令和到CPU的中断信号进行控制的功能。另外,USB管道控制块4、5、6被连接至USB接口控制块7。而且,第一装置18和第 二装置19经由第一端口 9和第二端口 10而分别被连接至USB接口控制块7。在这点上,只 要装置具有存储信息的功能,第一装置18和第二装置19中的每一个可以是任何装置。在 本实施例中,将会描述例如第一装置18是USB存储器并且第二装置19是外部硬盘的情况。接下来,在下文中将会描述用于USB管道的缓冲存储器2和缓冲存储器控制器1 是如何操作的。缓冲存储器控制器1不仅将来自于USB存储器18的数据传输到用于USB 管道的缓冲存储器2,而且将被存储在用于USB管道的缓冲存储器2的数据传输到外部硬盘 19。如图4A中所示,用于USB管道的缓冲存储器2包括多个缓冲存储器区域。在这里, 将USB管道控制块4、5、6分配到对应的缓冲存储器区域。例如,在图4A中,第一 USB管道控制块4被分配给第一缓冲存储器区域41。在这 里,第一 USB管道控制块4具有将数据从USB存储器18传输到第一缓冲存储器区域41的 功能。这时,第一 USB管道控制块4基于通过存储器交换控制块3写入的基址信息和数据 大小,将数据传输到第一缓冲存储器区域41。在这点上,基址信息例如是第一缓冲存储器区 域41处的起始点地址。通过使用起始点地址和数据大小信息能够指定第一缓冲存储器区 域41。类似地,第二 USB管道控制块5被分配给第二缓冲存储器区域42。在这里,第二 USB管道控制块5具有将被存储在第二缓冲存储器区域42中的数据传输到外部硬盘19的 功能。这时,基于通过存储器交换控制块3写入的基址信息和数据大小,第二 USB管道控制 块5将被存储在第二缓冲存储器区域42中的数据传输到外部硬盘19。在图4A中,来自于USB存储器18的数据经由第一 USB管道控制块4被传输到第 一缓冲存储器区域41。然而,为了将数据传输到外部硬盘19,数据需要经过第二 USB管道 控制块5。因此,为了将被存储在第一缓冲存储器区域41中的数据传输到外部硬盘19,被存储在第一缓冲存储器区域41中的数据需要被移到第二缓冲存储器区域42。为了解决此 问题,在现有技术中提供了外部存储器,以将被存储在第一缓冲存储器区域41中的数据移 到第二缓冲存储器区域42。然而,因为使用外部存储器需要进行从第一缓冲存储器区域41 到外部存储器的数据传输和进行从外部存储器到第二缓冲存储器区域42的数据传输,所 以使用外部存储器的数据移动需要花费时间。另外,这引起下述问题,因为在USB主机控制 器11和外部存储器之间的数据传输期间占据了总线,所以用于其它处理的吞吐量被减少。 另外,需要单独地提供处于USB主机控制器11的外部的存储器。在本实施例中,通过使用存储器交换控制块3以重新写入由第一 USB管道控制块4 和第二 USB管道控制块5保持的地址信息(基址信息和数据大小信息)来解决上述问题。 在下文中将会描述存储器交换控制块3重写USB管道控制块的地址信息的情况。图2是示出存储器交换控制块3的图。存储器交换控制块3包括CUP总线接口控 制块21、交换源管道号(number)寄存器22、交换目的地管道号寄存器23、以及交换开始使 能寄存器24,它们经由总线32被相互连接。CPU总线接口控制块21具有对来自于CPU的 指令进行控制的功能。交换源管道号寄存器22对交换源USB管道控制块的管道号进行存储。复用器25 获取来自于交换源管道号寄存器22的交换源管道号,根据管道号选择USB管道控制块的基 址信息,并且将基址信息传输到交换目的地USB管道控制块的存储器基址保持电路。类似地,复用器26获取来自于交换源管道号寄存器22的交换源管道号,根据管道 号来选择USB管道控制块的数据大小信息,并且将数据大小信息传输到交换目的地USB管 道控制块的数据大小保持电路。另外,交换目的地管道号寄存器23对交换目的地USB管道控制块的管道号进行存 储。复用器27获取来自于交换目的地管道号寄存器23的交换目的地管道号,根据管道号 来选择USB管道控制块的基址信息,并且将基址信息传输到交换源USB管道控制块的存储 器基址保持电路。类似地,复用器28获取来自于交换目的地管道号寄存器23的交换目的地管道号, 根据管道号来选择USB管道控制块的数据大小信息,并且将数据大小信息传输到交换源 USB管道控制块的数据大小保持电路。基于来自于CPU的指令,管道号被写入到交换源管道号寄存器22和交换目的地管 道号寄存器23。当管道号被写入交换源管道号寄存器22和交换目的地管道号寄存器23时,交换 起始使能寄存器24被设置,并且指示交换起始使能寄存器24已经被设置的信号被传输到 交换时序信号生成电路30。复用器29基于被存储在交换目的地管道号寄存器23中的管道 号来选择交换目的地缓冲状态信息,并且将该信息传输到交换时序信号生成电路30。在这 点上,交换目的地缓冲状态信息是指示交换目的地缓冲存储器区域是否为空的信息。如果 交换目的地缓冲存储器区域不是空的,那么交换时序信号生成电路30悬挂交换操作的开 始,并且等待直到交换目的地缓冲存储器区域变成空的。如果交换目的地缓冲存储器区域 是空的,那么交换时序信号生成电路30将交换时序信号传输到交换起始信号生成电路31。交换起始信号生成电路31获取来自于交换源管道号寄存器22的交换源管道号, 和来自于交换目的地管道号寄存器23的交换目的地管道号。在接收来自于交换时序信号生成电路30的交换时序信号之后,交换起始信号生成电路31将交换起始信号传输到交换 源USB管道控制块和交换目的地USB管道控制块中的每一个。在接收交换起始信号之后, 交换源USB管道控制块和交换目的地USB管道控制块对于当前保持的基址信息和数据大小 信息上重写由各自的复用器25、26、27、28选择的基址信息和数据大小信息。在下文中,将会参考图3描述通过使用根据本实施例的USB主机控制器11将数据 从USB存储器18传输到外部硬盘19的情况。在这里,假定第一 USB管道控制块4用于读取 来自于USB存储器18的数据(BulkIN),并且第二 USB管道控制块5用于将数据(BulkOUT) 写入外部硬盘19。另外,例如,假定USB主机控制器11被构建在如图5中所示的数据输入 /输出装置122中。此外,图4A示出交换之前第一 USB管道控制块4和第二 USB管道控制 块5的状态,并且图4B示出交换之后第一 USB管道控制块4和第二 USB管道控制块5的状 态。接下来,将会适当地使用图1、图2以及图4来进行描述。首先,为了从USB存储器18中读取要被复制到图1的外部硬盘19的数据,CPU执 行处理以使USB主机控制器11发出BulkIN传输请求(Si)。然后,通过向USB存储器18发 出BulkIn传输请求,USB主机控制器11请求数据(S2)。响应于BulkIn请求,USB存储器18将数据传输到USB主机控制器11 (S3)。USB主 机控制器11将从USB存储器接收到的数据存储在用于USB管道的缓冲存储器2的第一缓 冲存储器区域41 (参见图4)中(S4)。
然后,在将来自于USB存储器的所有数据存储在用于USB管道的缓冲存储器2之 后,USB主机控制器11通知CPU中断请求(S5)。为了交换存储器,已经检测到中断请求的 CPU设置图2中所示的存储器交换控制块的交换源管道号寄存器22中的已经接收到来自于 USB存储器的数据的管道号(在本实施例的示例中为Ih)。另外,CPU设置交换目的地管道 号寄存器23中的将数据传输到外部硬盘19的管道号(在本实施例的示例中为2h)。图2中所示的复用器25获取来自于交换源管道号寄存器22的交换源管道号 (Ih),根据管道号选择第一 USB管道控制块4的基址信息(OlOh),并且将该基址信息传输到 交换目的地第二 USB管道控制块5的基址保持电路。类似地,复用器26获取来自于交换源管道号寄存器22的交换源管道号(Ih),根据 管道号选择第一 USB管道控制块4的数据大小信息(200h),并且将该数据大小信息传输到 交换目的地第二 USB管道控制块5的数据大小保持电路。复用器27获取来自于交换目的地管道号寄存器23的交换目的地管道号(2h),根 据管道号选择第二 USB管道控制块5的基址信息(410h),并且将该基址信息传输到交换源 第一 USB管道控制块4的基址保持电路。类似地,复用器28获取来自于交换目的地管道号寄存器23的交换目的地管道号 (2h),根据管道号选择第二 USB管道控制块5的数据大小信息(OOOh),并且将该数据大小信 息传输到交换源的第一 USB管道控制块4的数据大小保持电路。当管道号被写入图2中所示的交换源管道号寄存器22和交换目的地管道号寄存 器23时,交换起始使能寄存器24被设置,并且指示交换起始使能寄存器24已经被设置的 信号被传输到交换时序信号生成电路30。复用器29基于被存储在交换目的地管道号寄存 器23中的管道号(2h)来选择交换目的地缓冲状态信息,并且将该信息传输到交换时序信 号生成电路30。
如果作为交换目的地缓冲存储区域的第二缓冲存储器区域42不是空的,那么交换时序信号生成电路30悬挂交换操作的开始,并且等待直到第二缓冲存储器区域42变成 空的。如果第二缓冲存储器区域42是空的,那么交换时序信号生成电路30将交换时序信 号传输到交换起始信号生成电路31。当交换起始信号生成电路31获取交换源管道号(Ih)和交换目的地管道号(2h), 并且接收来自于交换时序信号生成电路30的交换时序信号时,交换起始信号生成电路31 将交换起始信号传输到交换源第一 USB管道控制块4和交换目的地第二 USB管道控制块5 中的每一个(S6)。在接收交换起始信号之后,交换源第一 USB管道控制块4和交换目的地第二 USB 管道控制块5执行将它们当前保持的基址信息和数据大小信息替换为通过各自的复用器 25、26、27、28选择的基址信息和数据大小信息的存储器交换处理(S7)。将参考图4来描述S7的操作。在执行交换之前,第一 USB管道控制块4的基址信 息是010h,第一 USB管道控制块4的数据大小信息是200h,第二 USB管道控制块5的基址是 410h,并且第二 USB管道控制块5的数据大小是000h。然后,执行交换处理之后,第一 USB 管道控制块4的基址信息是410h并且第一 USB管道控制块4的数据大小信息是000h。另 夕卜,第二 USB管道控制块5的基址是010h,并且第二 USB管道控制块5的数据大小是200h。换言之,作为上述交换处理的结果,因为第二 USB管道控制块5的数据大小信息和 基址信息变得对应于第一缓冲存储器区域41中的信息,所以第二 USB管道控制块5能够读 取被存储在第一缓冲存储器区域41中的数据。应注意的是,尽管在图4中使用了基址信息和数据大小信息,作为USB管道控制块 的地址信息,但是,只要信息能够识别缓冲存储器区域,就可以使用该任何信息。例如,缓冲 存储器区域的起始点地址和结束点地址可以被用作地址信息。然后,在上述交换处理之后,USB主机控制器11向CPU发出中断请求以通知CPU完 成了交换(S8)。在接收来自于USB主机控制器11的交换完成通知之后,CPU执行处理以开 始对外部硬盘19的BulkOUT传输(S9)。USB主机控制器11向外部硬盘19发出BulkOUT传输请求,并且将被存储在第一缓 冲存储器区域中的数据传输到外部硬盘19 (SlO)。外部硬盘19将在BulkOUT传输中接收到 的数据存储在硬盘中(Sll)。在根据本实施例的USB主机控制器11中,存储器交换控制块3对被存储在第一 USB管道控制块4中的并且与第一缓冲存储器区域41相对应的地址信息和被存储在第二 USB管道控制块5中的并且与第二缓冲存储器区域42相对应的地址信息进行交换。这消除 了通过使用位于USB主机控制器11的外部的存储器来传输数据的需要,从而能够为存储装 置之间的数据传输减少时间。这还消除单独地提供在USB主机控制器11外部的存储器的 需要。根据本实施例的用于USB主机控制器的控制方法具有下述步骤。在这里,USB主 机控制器包括缓冲存储器(用于USB管道的缓冲存储器),该缓冲存储器具有第一缓冲存 储器区域和第二缓冲存储器区域;和缓冲存储器控制器,该缓冲存储器控制器被构造为控 制在第一装置和缓冲存储器之间的数据传输和在第二装置和缓冲存储器之间的数据传输。 所述步骤包括
将来自于第一装置的数据存储在第一缓冲存储器区域的步骤;对通过缓冲存储器控制器保持的与第一缓冲存储器区域相对应的地址信息和与 第二缓冲存储器区域相对应的地址信息进行交换的步骤;以及基于在交换之后获得的地址信息,将被存储在第一缓冲存储器区域中的数据传输 到第二装置的步骤,其中,所述地址信息对应于第一缓冲存储器区域。而且,在根据本发明的用于USB主机控制器的控制方法中,与第一缓冲存储器区 域相对应的地址信息和与第二缓冲存储器区域相对应的地址信息被交换。这消除了经由处 于USB主机控制器外部的存储器来进行数据传输的需要,从而能够为存储装置之间的数据 传输减少时间。因此,根据本实施例的本发明能够提供能够为存储装置之间的数据传输减少时间 的USB主机控制器,和用于USB主机控制器的控制方法。显然的是,本发明不限于上述实施例,而是可以在不脱离本发明的范围和精神的 情况下进行修改和变化。
权利要求
一种USB主机控制器,包括缓冲存储器,所述缓冲存储器具有第一缓冲存储器区域和第二缓冲存储器区域;和缓冲存储器控制器,所述缓冲存储器控制器被构造为控制第一装置和所述缓冲存储器之间的数据传输以及第二装置和所述缓冲存储器之间的数据传输,其中所述缓冲存储器控制器保持与所述第一缓冲存储器区域相对应的地址信息和与所述第二缓冲存储器区域相对应的地址信息,将来自于所述第一装置的数据存储在所述第一缓冲存储器区域中,对与所述第一缓冲存储器区域相对应的地址信息和与所述第二缓冲存储器区域相对应的地址信息进行交换,以及基于在所述交换之后与所述第一缓冲存储器区域相对应的地址信息,将被存储在所述第一缓冲存储器区域中的数据传输到所述第二装置。
2.根据权利要求1所述的USB主机控制器,其中所述缓冲存储器控制器具有多个USB管道控制块,所述多个USB管道控制块中的每一 个存储所述地址信息并且基于所述地址信息传输数据。
3.根据权利要求1所述的USB主机控制器,其中所述缓冲存储器控制器包括第一 USB管道控制块、第二 USB管道控制块、以及存储器交 换控制块,所述存储器交换控制块用于对所述第一 USB管道控制块的地址信息和所述第二 USB管道控制块的地址信息进行交换,所述第一 USB管道控制块保持与所述第一缓冲存储器区域相对应的地址信息,并且将 来自于所述第一装置的数据存储在所述第一缓冲存储器区域中,所述第二 USB管道控制块保持与所述第二缓冲存储器区域相对应的地址信息, 在所述第一 USB管道控制块将来自于所述第一装置的数据存储在所述第一缓冲存储 器区域中之后,所述存储器交换控制块对由所述第一 USB管道控制块保持的与所述第一缓 冲存储器区域相对应的地址信息和由所述第二 USB管道控制块保持的与所述第二缓冲存 储器区域相对应的地址信息进行交换,并且从而使所述第二 USB管道控制块保持与所述第 一缓冲存储器区域相对应的地址信息,并且所述第二 USB管道控制块将被存储在所述第一缓冲存储器区域中的数据传输到所述 第二装置。
4.根据权利要求1所述的USB主机控制器,其中,与所述第一和第二缓冲存储器区域中 的每一个相对应的地址信息包括所述第一和第二缓冲存储器区域中的每一个的地址信息 和被存储在所述第一和第二缓冲存储器区域中的每一个中的数据的大小。
5.根据权利要求1所述的USB主机控制器,其中,与所述第一和第二缓冲存储器区域中 的每一个相对应的地址信息包括所述第一和第二缓冲存储器区域中的每一个的起始点地 址和被存储在所述第一和第二缓冲存储器区域中的每一个中的数据的大小。
6.根据权利要求1至3中的任何一项所述的USB主机控制器,其中,与所述第一和第二 缓冲存储器区域中的每一个相对应的地址信息包括所述第一和第二缓冲存储器区域中的 每一个的起始点地址和结束点地址。
7.根据权利要求1所述的USB主机控制器,其中,在所述第二缓冲存储器区域变为空之后,所述缓冲存储器控制器对与所述第一缓冲存储器区域相对应的地址信息和与所述第二 缓冲存储器区域相对应的地址信息进行交换。
8. 一种用于USB主机控制器的控制方法,所述控制器包括 缓冲存储器,所述缓冲存储器具有第一缓冲存储器区域和第二缓冲存储器区域;和 缓冲存储器控制器,所述缓冲存储器控制器被构造为控制第一装置与所述缓冲存储器 之间的数据传输以及第二装置与所述缓冲存储器之间的数据传输, 所述方法包括下述步骤将来自于所述第一装置的数据存储在所述第一缓冲存储器区域中; 对由所述缓冲存储器控制器保持的与所述第一缓冲存储器区域相对应的地址信息和 与所述第二缓冲存储器区域相对应的地址信息进行交换;以及基于在所述交换之后与所述第一缓冲存储器区域相对应的地址信息,将被存储在所述 第一缓冲存储器区域中的数据传输到所述第二装置。
全文摘要
本发明旨在提供一种能够为存储装置之间的数据传输减少时间的USB主机控制器和用于USB主机控制器的控制方法。根据本发明的USB主机控制器包括用于USB管道的缓冲存储器,该缓冲存储器具有第一缓冲存储器区域和第二缓冲存储器区域;和缓冲存储器控制器,该缓冲存储器控制器被构造为控制用于USB管道的缓冲存储器与第一和第二装置中的每一个之间的数据传输。缓冲存储器控制器将来自于第一装置的数据存储在第一缓冲存储器区域中,对与第一缓冲存储器区域相对应的地址信息和与第二缓冲存储器区域相对应的地址信息进行交换,并且基于在交换之后与第一缓冲存储器区域相对应的地址信息,将被存储在第一缓冲存储器区域中的数据传输到第二装置。
文档编号G06F3/06GK101814011SQ20101012667
公开日2010年8月25日 申请日期2010年2月24日 优先权日2009年2月24日
发明者近藤邦裕 申请人:恩益禧电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1