总线协议转换装置和总线协议转换方法

文档序号:6332558阅读:153来源:国知局
专利名称:总线协议转换装置和总线协议转换方法
技术领域
本发明涉及针对虚拟存储器总线主设备DMA系统的总线协议转换装置和总线协 议转换方法。
背景技术
SCSI (小型计算机系统接口)、ATAPI (AT附加设备分组接口)、USB (通用串行总 线)、大容量存储类、IEEE(电气和电子工程师协会)1394串行总线协议2等都可用作存储 总线标准。当用于主机装置的扩展总线和用于存储器装置的连接总线彼此不同时,它们与 插入其间的总线协议转换装置相连接。使用具有FIFO(先进先出)存储器和DMA(直接存储器访问)控制器的总线协议 转换装置,以在连接到具有不同标准的总线的装置之间执行高速数据输入/输出。例如,在SCSI总线和ATA-2总线之间转换期间,通过FIFO存储器高速执行数据 输入/输出(例如,参照日本未经审查的专利申请公布No. 10-161972),并且在IEEE 1394 总线和SCSI总线之间执行DMA(直接存储器访问),以改善数据传送操作的性能(例如,参 照日本未经审查的专利申请公布No. 2003-223411)。另外,已经提出了在主总线(primary bus)和次总线(secondary bus)之间具有FIFO和DMA并且应用高速突发传送的DMA传送 装置,以获得有效的数据传送(例如,参照日本未经审查的专利申请公布No. 2003-223411 和 No. 2007-172510)。通过在邻近的地址空间中映射的地址上执行DMA,使用FIFO和DMA的数据传送实 现高速突发传送。通过以下方式执行数据访问通过使用指令参数给数据的所有最小的访问单元 (即,具有块长度的单元)赋予具有序号的逻辑地址(即,LBA:逻辑块地址),并指定方向 (读或写)、起始LBA和从LBA开始的块数。包含总线主设备DMA系统的总线协议转换装置可用于在其中执行数据传送。在总 线主设备DMA系统中,主接口单元和次接口单元通过在用于传送和中继的共用存储器上执 行DMA访问来传送数据。

发明内容
当使用将FIFO映射到连续地址空间以及执行DMA突发传送的技术时,通过内部缓 冲器在突发传送期间执行用于传送源地址或传送目的地址的另外的处理。因此,为了从传 送源地址向传送目的地址传送数据,执行两次DMA突发,即,执行从传送源地址向内部缓冲 器的DMA突发以及从内部缓冲器向传送目的地址的DMA突发。因此,为了减少DMA总线带 宽的占用率,这种布置是不够的。在根据FIFO中数据队列的数量和可用突发长度设置值的表报告最大突发长度的 突发长度选择电路中,一个指令的突发传送指令循环出现次数超过主总线的指令数。因此, 它不足以减少DMA总线带宽的占用率。
换句话说,当来自主机装置的数据传送请求的数量超过共用存储器的大小时,总 线协议转换装置执行DMA的分割传送,以传送全部数据量。然而,使用此方法,因为总 线协 议转换装置的DMA操作根据来自主机装置的数据请求的数量而变化,所以很难获得稳定的 高速操作。因此,为了解决上述问题,已构想出本发明,并且希望它可以消除执行突发传送的 总线协议转换装置中由于由外部存储器控制装置执行管理LBA指令而导致的数据传送性 能下降。从下面对本发明的实施例的描述中,本发明的目的和具体的优点将会变得更明显。根据本发明,执行与共用存储器的大小无关的总线主设备DMA控制,将接口中的 FIFO作为虚拟存储器进行分配,并且执行总线主设备DMA传送,其中直接使用来自主机装 置的数据请求的数量。换句话说,以环形缓冲器方式使用被包括在主机装置中的接口控制 器中的FIFO (具有例如数千字节数据容量),并且,将此环形缓冲器作为虚拟存储器(例如, 数吉字节)进行分配。将来自主计算机的数据传送大小的值直接发送到用于贮存的接口控 制器,在用于贮存的接口控制器和虚拟存储器之间执行一次总线主设备DMA操作,并且在 执行总线主设备DMA操作的同时执行总线协议转换数据传送。本发明的一个实施例提供总线协议转换装置。所述总线协议转换装置包括主总 线接口控制器,外部存储器控制装置通过主总线连接至所述主总线接口控制器,所述主总 线接口控制器包括作为通信缓冲器的FIFO存储器;次总线接口控制器,外部存储器装置通 过次总线连接至所述次总线接口控制器;指令检测部件,所述指令检测部件用于检测从连 接至主总线的外部存储器控制装置向主总线接口控制器发送的指令;指令转换部件,所述 指令转换部件用于将由所述指令检测部件检测到的指令转换成将要通过所述次总线从次 总线接口控制器向外部存储器装置发送的指令;状态检测部件,所述状态检测部件用于检 测从连接到次总线的外部存储器装置发送的状态;状态转换部件,所述状态转换部件用于 将所述状态检测部件检测到的状态转换成将要通过主总线从主总线接口控制器向外部存 储器控制装置发送的状态;以及数据传送控制器,所述数据传送控制器被设置在所述主总 线接口控制器和所述次总线接口控制器之间,以通过DMA总线执行连接到主总线的外部存 储器控制装置和连接到次总线的外部存储器装置之间的数据传送。数据传送控制器以环形 缓冲器方式使用FIFO存储器,把该环形缓冲器作为虚拟存储器进行分配,直接将来自外部 存储器控制装置的数据传送大小的值发送到次总线接口控制器,在次总线接口控制器和虚 拟存储器之间执行一次总线主设备DMA操作,并且在执行总线主设备DMA操作的同时执行 总线协议转换数据传送。主总线接口控制器可以包括主总线接收FIFO存储器和主总线发送FIFO存储器作 为通信缓冲器。次总线接口控制器可以包括外部存储器大小获取部件,所述外部存储器大 小获取部件用于获取通过次总线连接的外部存储器装置的容量,并将获取的容量作为外部 存储器大小保存。数据传送控制器可以包括总线从属设备(bus slave)接口单元以及总线 主设备(bus master)接口单元,所述总线从属设备接口单元将主总线接收FIFO存储器和 主总线发送FIFO存储器与CPU(中央处理单元)地址空间相独立地映射到相同的连续地址 空间,所述总线从属设备接口单元具有将存储在所述外部存储器大小获取部件中的外部存储器大小作为上限地址的DMA地址空间,并且所述总线从属设备接口单元通过主总线接口 控制器将外部存储器大小发送到外部存储器控制装置;所述总线主设备接口单元从被包括 在次总线接口控制器中的次总线指令产生部件获取传送地址和传送大小,并且所述总线主 设备接口单元执行次总线和DMA总线之间的突发传送。主总线接口控制器可以包括主总线接收FIFO存储器和主总线发送FIFO存储器。 次总线接口控制器可以包括作为通信缓冲器的次总线接收FIFO存储器和次总线发送FIFO 存储器。数据传送控制器可以包括总线从属设备接口单元和总线主设备接口单元,所述总 线从属设备接口单元执行主总线和DMA总线之间的数据传送,所述总线主设备接口单元执 行次总线和DMA总线之间的突发传送。优选地,总线从属设备接口单元从主总线接收FIFO 存储器检测“数据存在”状态并向总线主设备接口单元发布读突发传送允许请求,从主总 线接收FIFO存储器检测“数据不存在”状态并向总线主设备接口单元发布读突发传送停止 请求,从主总线发送FIFO存储器检测“数据满”状态并向总线主设备接口单元发布写突发 传送停止请求,并且从主总线发送FIFO存储器检测除“数据满”状态之外的状态并向总线 主设备接口单元发布写突发传送允许请求。优选地,总线主设备接口单元检测次总线接收 FIFO存储器的“数据存在”状态和总线从属设备接口单元的写突发允许请求,并执行写突发 传送;检测次总线接收FIFO存储器的“数据不存在”状态或总线从属设备接口单元的写突 发停止请求,并停止写突发传送;检测次总线发送FIFO存储器的“数据满”状态或总线从属 设备接口单元的读突发停止请求,并停止读突发传送;并且检测次总线发送FIFO存储器的 除“数据满”状态外的状态和总线从属设备接口单元的读突发传送允许请求,并执行读突发 传送。本发明的另一实施例提供总线协议转换方法。所述方法包括以下步骤使指令检 测部件检测从连接到主总线的外部存储器控制装置发送到主总线接口控制器的指令,并使 指令转换部件将已检测到的指令转换成将要通过次总线从次总线接口控制器向外部存储 器装置发送的指令;使状态检测部件检测从连接到次总线的外部存储器装置发送的状态, 并使状态转换部件将已检测到的状态转换成将要通过主总线从主总线接口控制器向外部 存储器控制装置发送的状态;当设置在主总线接口控制器和次总线接口控制器之间的数据 传送控制器通过DMA总线在连接到主总线的外部存储器控制装置和连接到次总线的外部 存储器装置之间执行数据传送时,以环形缓冲器方式使用被包括在主总线接口控制器中作 为通信缓冲器的FIFO存储器;将所述环形缓冲器作为虚拟存储器进行分配;将来自所述外 部存储器控制装置的数据传送的大小的值直接发送到次总线接口控制器;在次总线接口控 制器和虚拟存储器之间执行一次总线主设备DMA操作,并且在执行总线主设备DMA操作的 同时执行总线协议转换数据传送。 总线协议转换方法还可以包括以下步骤使数据传送控制器中包括的总线从属设 备接口单元将被包括在主总线接口控制器中作为通信缓冲器的主总线接收FIFO存储器和 主总线发送FIFO存储器与中央处理单元地址空间相独立地映射到相同的连续地址空间, 所述总线从属设备接口单元具有将被存储在外部存储器大小获取部件中的外部存储器大 小作为地址上限的DMA地址空间,并使总线从属设备接口单元通过主总线接口控制器向外 部存储器控制装置传送外部存储器大小;并且使被包括在数据传送控制器中的总线主设备 接口单元从被包括在次总线接口控制器中的次总线指令产生部件获取传送地址和传送大小,并执行次总线和DMA总线之间的突发传送。总线协议转换装置还可以包括以下步骤使被包括在数据传送控制器中的总线从属设备接口单元执行主总线和DMA总线之间的数据传送,并使被包括在数据传送控制器中 的总线主设备接口单元执行次总线和DMA总线之间的突发传送;使总线从属设备接口单元 从被包括在主总线接口控制器中作为通信缓冲器的主总线接收FIFO存储器中检测“数据 存在”状态并向总线主设备接口单元发布读突发传送允许请求,从主总线接收FIFO存储器 检测“数据不存在”状态并向总线主设备接口单元发布读突发传送停止请求,从被包括在主 总线接口控制器中的通信缓冲器中的主总线发送FIFO存储器检测“数据满”状态并向总 线主设备接口单元发布写突发传送停止请求,并且从主总线发送FIFO存储器检测除“数据 满”状态之外的状态并向总线主设备接口单元发布写突发传送允许请求;并且使总线主设 备接口单元检测被包括在次总线接口控制器中作为通信缓冲器的次总线接收FIFO存储器 的“数据存在”状态和总线从属设备接口单元的写突发允许请求并执行写突发传送,检测次 总线接收FIFO存储器的“数据不存在”状态或总线从属设备接口单元的写突发停止请求 并停止写突发传送,检测被包括在次总线接口控制器中作为通信缓冲器的次总线发送FIFO 存储器的“数据满”状态或总线从属设备接口单元的读突发停止请求并停止读突发传送,以 及检测次总线发送FIFO存储器的除“数据满”状态之外的状态和总线从属设备接口单元的 读突发传送允许请求并执行读突发传送。根据本发明,执行独立于共用存储器大小的总线主设备DMA控制,将接口中的 FIFO作为虚拟存储器进行分配,并且执行其中直接使用来自主机装置的数据请求的数量的 总线主设备DMA传送,因而消除DMA传送大小的限制。这使得通过一次DMA访问能获得稳定 的高速传送。因此,能去除共用存储器以简化总线主设备控制,由此能够实现节能。此外, 在不用大缓冲存储器的情况下,能获得高速总线协议转换装置。因此,根据本发明,对于执行从主总线接收的指令的DMA总线和次总线之间的DMA 传送期间的突发传送,能够不分割而改善总线协议转换装置的性能。


图1是示出根据本发明实施例的总线协议转换装置构造的框图;图2示出总线协议转换装置的存储器映射;图3是示意性示出总线协议转换装置中用于转换为虚拟存储器的方案的示意图;图4是总线协议转换装置中虚拟存储器的概念性示意图;图5是示出由总线协议转换装置执行的初始化序列的流程图;图6是示出由总线协议转换装置执行的数据序列的流程图;图7A至图7C示出SCSI/ATAPI指令;图8是示意性示出主总线的数据读处理的一个实例的示意图,通过总线协议转换 装置执行所述处理;图9是示意性示出主总线的数据写处理的一个实例的示意图,通过总线协议转换 装置执行所述处理;以及图10是示意性示出总线协议转换装置的功能构造的示意图。
具体实施例方式下面,将按照以下顺序参照附图详细地描述实施本发明的方式1.整体构造(图1至图4);2.总线协议转换装置的具体操作(图5至图9);以及3.总线协议转换装置的功能(图10)。 <整体构造>将本发明应用于例如具有如图1所示的构造的总线协议转换装置100。总线协议转换装置100包括主总线接口控制器110、数据传送控制器120、次总线 接口控制器130、用作总线主设备控制器的CPU(中央处理单元)140、存储器150等。主总 线接口控制器110、次总线接口控制器130、CPU 140和存储器150通过CPU总线160彼此连接。外部存储器控制装置10通过主总线20连接到主总线接口控制器110。外部存储器控制装置10用作主机装置(例如个人计算机(PC)),其能使用作为主 总线20的主机总线(例如USB(通用串行总线))从外部进行连接。 主总线接口控制器110包括主总线接收接口单元111、主总线发送接口单元112和 主总线控制寄存器单元113。主总线接收接口单元111包括作为通信缓冲器的主总线接收 FIFO(先进先出)存储器111A。主总线发送接口单元112包括作为通信缓冲器的主总线发 送FIFO存储器112A。主总线控制寄存器单元113包括主总线指令分析器113A和主总线状 态产生器113B。外部存储器装置40通过次总线30 (例如,SATA[串行高级技术附接]总线)连接 到次总线接口控制器130。次总线接口控制器130包括次总线接收接口单元131、次总线发送接口单元132和 次总线控制寄存器单元133。次总线接收接口单元131包括作为通信缓冲器的次总线接收 FIFO存储器131A。次总线发送接口单元132包括作为通信缓冲器的次总线发送FIFO存 储器132A。次总线控制寄存器单元133包括次总线状态分析器133A和次总线指令产生器 133B。外部存储器装置40是配有总线主设备DMA(直接存储访问)功能的存储器装置 (例如硬盘或存储卡),并且包括指令执行单元41、DMA单元42、存储器单元43等。数据传送控制器120被设置在主总线接口控制器110和次总线接口控制器130之 间。数据传送控制器120包括总线从属设备接口单元121、DMA总线122、总线主设备接口 单元123和外部存储器大小获取单元124。数据传送控制器120通过DMA总线122执行连接到主总线20的外部存储器控制 装置10和连接到次总线30的外部存储器装置40之间的数据传送。更具体地讲,数据传送控制器120中的总线从属设备接口单元121执行主总线20 和DMA总线122之间的数据传送。总线主设备接口单元123执行次总线30和DMA总线122 之间的突发传送。外部存储器大小获取单元124包括外部存储器大小存储寄存器单元124A。外部存 储器大小获取单元124获取连接到次总线30的外部存储器装置40的容量,并将已获取的 容量作为外部存储器的大小存储到外部存储器大小存储寄存器单元124A中。
如图2中示出的存储器映射所示,根据总线协议转换装置100,总线从属设备接口 单元121执行以下操作将主总线接收FIFO存储器IllA和主总线发送FIFO存储器112A 与CPU 140的地址空间相独立地映射到相同的连续地址空间;具有将外部存储器大小获取 单元124中的外部存储器大小存储寄存器单元124A中存储的外部存储器大小作为上限地 址的DMA地址空间;并且通过主总线接口控制器110将外部存储器大小发送到外部存储器 控制装置10。总线主设备接口单元123具有DMAC (直接存储器访问控制器)123A的功能。总线 主设备接口单元123从被包括在次总线接口控制器130中的次总线指令产生器133B获取 传送地址和传送大小,并且执行次总线30和DMA总线122之间的突发传送。在总线协议转换装置100中,总线从属设备接口单元121从主总线接收FIFO存储 器11IA检测“数据存在”状态并向总线主设备接口单元123发布读突发传送允许请求。总 线从属设备接口单元121从主总线接收FIFO存储器IllA检测“数据不存在”状态并向总 线主设备接口单元123发布读突发传送停止请求。总线从属设备接口单元121从主总线发 送FIFO存储器112A中检测“数据满”状态并向总线主设备接口单元123发布写突发传送停 止请求。总线从属设备接口单元121从主总线发送FIFO存储器112A检测除“数据满”状 态之外的状态并向总线主设备接口单元123发布写突发传送允许请求。总线主设备接口单元123 检测次总线接收FIFO存储器131A的“数据不存在”状 态和总线从属设备接口单元121的写突发允许请求并执行写突发传送;检测次总线接收 FIFO存储器131A的“数据不存在”状态或总线从属设备接口单元121的写突发停止请求并 停止写突发传送;检测次总线发送FIFO存储器132A的“数据满”状态或总线从属设备接口 单元121的读突发停止请求并停止读突发传送;并且还检测次总线发送FIFO存储器132A 的除“数据满”状态之外的状态和总线从属设备接口单元121的读突发传送允许请求并执 行读突发传送。如图3和图4所示,数据传送控制器120以环形缓冲器方式使用被包括在主总线 接口控制器Iio中作为通信缓冲器的主总线接收FIFO存储器IllA ;将该环形缓冲器作为 虚拟存储器进行分配;将来自外部存储器控制装置10的数据传送大小的值直接发送到次 总线接口控制器130 ;在次总线接口控制器130和虚拟存储器之间执行一次总线主设备DMA 操作,并且在执行总线主设备DMA操作的同时执行总线协议转换数据传送。总线从属设备 接口单元121用作以环形缓冲器方式使用被包括在主总线接口控制器110中作为通信缓冲 器的主总线接收FIFO存储器IllA的虚拟地址转换部件121A,并且将该环形缓冲器作为虚 拟存储器进行分配。<总线协议转换装置的具体操作>下一步描述总线协议转换装置100的操作。执行图5示出的初始化序列的处理 (步骤Sl和S2)后,总线协议转换装置100执行图6所示的数据序列的处理(步骤Sll至 S17)。 在初始化序列中,在步骤Sl中,总线协议转换装置100中的次总线接口控制器130 发布INQUIRY指令,以获取外部存储器装置40的装置信息,检查外部存储器装置40的装置 信息。在步骤S2中,当将要被操作的外部存储器装置40连接至总线协议转换装置100时, 总线协议转换装置100向外部存储器装置40发布用于存储的READCAPACITY指令,以获取外部存储器信息(最大LBA和块长度)并在被包括在数据传送控制器120中的外部存储器 大小获取单元124中的外部存储器大小存储寄存器单元124A中保持外部存储器信息的内
容。 如图7A所示,SCSI/ATAPI指令的READ CAPACITY指令的响应数据包含作为外部 存储器信息的最大逻辑块地址(最后的逻辑块地址)和块长度(块长度字节)。可以通过 以下公式确定外部存储器装置40的存储器容量存储器容量=块长度X (最大逻辑块地址+1)当外部存储器控制装置10执行用于检查外部存储器装置40的容量的指令时,数 据传送控制器120向外部存储器控制装置10发送保持在外部存储器大小存储寄存器单元 124A中的外部存储器信息的内容。在数据序列处理过程中,在步骤Sll中,在总线协议转换装置100中的次总线接口 控制器130通过发布TEST UNIT READY指令和REQUEST SENSE指令获取表示外部存储器装 置40的连接状态的信息。接着,在步骤S12中,根据已获取的表示连接状态的信息,次总线接口控制器130 确定是否通过次总线30连接外部存储器装置40。当步骤S12中确定的结果为“是”时,即,当连接外部存储器装置40时,处理过程 继续执行步骤S13,其中,次总线接口控制器130确定是否接收到用于数据传送的指令。当 步骤S12中确定的结果为“否”时,即,当未连接外部存储器装置40时,数据序列的处理结
束ο当步骤S13中确定的结果为“是”时,即,当接收到用于数据传送的指令时,处理过 程继续执行步骤S14,其中,次总线接口控制器130确定是否接收到读相关指令。当步骤S13 中的确定结果为“否”时,即,当不执行数据发送时,处理过程继续执行步骤S15,其中,次总 线接口控制器130执行处理除向外部存储器装置40写数据或从外部存储器装置40读数据 之外的指令。当步骤S14的确定结果为“是”时,即,当接收到读相关指令时,处理过程继续执行 步骤S16,其中,次总线接口控制器130从外部存储器装置40中读数据。当步骤S14中确定 的结果为“否”时,即,当未接收到读相关指令时,处理过程继续执行步骤S17,其中,次总线 接口控制器130向外部存储器装置40写数据。如图8所示,总线协议转换装置100通过使用SCSI/ATAPI指令的读指令READ (10) 执行从外部存储器装置40读数据的操作。换句话说,通常在已识别的外部存储器装置的容量内执行由外部存储器控制装置 10发布的读指令READ (10)的LBA和传送的块数。SCSI/ATAPI指令的读指令READ(10)是用于从指定的逻辑块地址传送对应于指定 块数的数据的指令。如图7B所示,读指令READ(IO)包含操作码(28H)、逻辑块地址和传送长度。即使当从外部存储器控制装置10发布的指令超过外部存储器装置40的容量时, 总线协议转换装置100也可以向外部存储器控制装置10产生错误响应,因为总线协议转换 装置100识别外部存储器装置40的最大容量。当从外部存储器控制装置10接收的指令在外部存储器装置40的容量范围内时,被包括在次总线接口控制器130中的次总线控制寄存器单元133中的次总线指令产生器 133B转换用于外部存储器装置40的指令,并向其发布已转换的指令。 同时,次总线指令产生器133B向总线主设备接口单元123报告指令的LBA和块长
度{曰息。总线主设备接口单元123在检查开始/继续和临时停止读突发传送条件的同时, 与总线从属设备接口单元121 —起执行对应于该指令的DMA读突发传送。当从被包括在主总线接口控制器110中的主总线接收接口单元111中的主总线接 收FIFO存储器IllA中检测到“非空”状态,并且被包括在次总线接口控制器130中的次总 线发送接口单元132中的次总线发送FIFO存储器132A为“非满”状态时,总线主设备接口 单元123开始或继续读突发传送。当从被包括在主总线接口控制器110中的主总线接收接口单元111中的主总线接 收FIFO存储器IllA中检测到“几乎为空”的状态,或者被包括在次总线接口控制器130中 的次总线发送接口单元132中的次总线发送FIFO存储器132A为“几乎为满”状态时,总线 主设备接口单元123临时停止读突发传送。当完成DMA读突发传送时,被包括在次总线接口控制器130中的次总线控制寄存 器单元133中的次总线状态分析器133A识别外部存储器装置40的指令完成状态。另外,根据由次总线接口控制器130中的次总线状态分析器133A执行的分析结 果,被包括在主总线接口控制器110中的主总线控制寄存器单元113中的主总线状态产生 器113B向外部存储器控制装置10通告关于表示指令完成状态的状态信息。如图9所示,总线协议转换装置100通过使用SCSI/ATAPI指令的写指令 WRITE(IO)执行用于向外部存储器装置40写数据的操作。换句话说,通常在已识别的外部存储器装置40的容量范围内执行由外部存储器 控制装置10发布的写指令WRITE (10)的LBA和传送的块数。SCSI/ATAPI指令的写指令WRITE (10)是用于向指定的逻辑块地址传送对应于指 定块数的数据的指令。如图7C所示,写指令WRITE(IO)包含操作码(2AH)、逻辑块地址和传 送长度。即使当从外部存储器控制装置10发布的指令超过外部存储器装置40的容量时, 总线协议转换装置100可以向外部存储器控制装置10产生错误响应,因为总线协议转换装 置100识别外部存储器装置40的最大容量。当从外部存储器控制装置10接收的指令在外部存储器装置容量范围内时,次总 线接口控制器130中的次总线指令产生器133B转换用于外部存储器装置40的指令,并向 其发布已转换的指令。同时,次总线指令产生器133B向总线主设备接口单元123报告指令的LBA和块长
度{曰息。总线主设备接口单元123在检查开始/继续和临时停止写突发传送条件的同时, 与总线从属设备接口单元121 —起执行对应于该指令的DMA写突发传送。当从被包括在主总线接口控制器110中的主总线发送接口单元112中的主总线发 送FIFO存储器112A检测到“非满”状态,并且被包括在次总线接口控制器130中的次总线 接收接口单元131中的次总线接收FIFO存储器131A为“非空”状态时,总线主设备接口单元123开始或继续写突发传送。当从主总线接口控制器110中的主总线发送FIFO存储器112A中检测到“几乎为 满”状态时,或者当在次总线接口控制器130中的次总线接收FIFO存储器131A为“几乎为 空”状态时,总线主设备接口单元123临时停止写突发传送。当完成DMA写突发传送时,被包括在次总线接口控制器130中的次总线控制寄存 器单元133中的次总线状态分析器133A识别外部存储器装置40的指令完成状态。另外,根据由次总线接口控制器133中的次总线状态分析器133A执行的分析结 果,被包括在主总线接口控制器110中的主总线控制寄存器单元113中的主总线状态产生 器113B向外部存储器控制装置10通告关于表示指令完成状态的状态信息。<总线协议转换装置的功能>根据总线协议转换装置100,如示出其功能性构造的图10中所示,被包括在主总 线接口控制器Iio中的主总线控制寄存器单元113中的主总线指令分析器113A用作用于 检测从连接到主总线20的外部存储器控制装置10向主总线接口控制器110发送的指令的 指令检测部件。被包括在次总线接口控制器130中的次总线控制寄存器单元133中的次总 线指令产生器133B用作用于将由主总线指令分析器113A检测的指令转换为将要通过次总 线30从次总线接口控制器130向外部存储器装置40发送的指令的指令转换部件。被包括在次总线接口控制器130中的次总线控制寄存器单元133中的次总线状态 分析器133A用作用于检测从连接到次总线30的外部存储器装置40发送的状态的状态检 测部件。被包括在主总线接口控制器110的主总线控制寄存器单元113中的主总线状态产 生器113B用作用于将由次总线状态分析器133A检测到的状态转换成将要通过主总线20 从主总线接口控制器110向外部存储器控制装置10发送的状态的状态转换部件。当设置在主总线接口控制器110和次总线接口控制器130之间的数据传送控制器 120通过DMA总线122执行连接到主总线20的外部存储器控制装置10和连接到次总线30 的外部存储器装置40之间的数据传送时,数据传送控制器120以环形缓冲器方式使用被包 括在主总线接口控制器110中作为通信缓冲器的FIFO存储器;将该环形缓冲器作为虚拟存 储器进行分配;将来自外部存储器控制装置10的数据传送大小的值直接发送到次总线接 口控制器130 ;在次总线接口控制器130和虚拟存储器之间执行一次总线主设备DMA操作; 并且在执行总线主设备DMA操作的同时执行总线协议转换数据传送。数据传送控制器120 将主总线接收FIFO存储器IllA和主总线发送FIFO存储器 112A与CPU 140的地址空间相独立地映射到相同的连续地址空间;具有将外部存储器大小 作为上限地址的DMA地址空间,所述外部存储器大小被存放在用作外部存储器大小获取部 件的外部存储器大小获取单元124中的外部存储器大小存储寄存器单元124A中;并且通过 主总线接口控制器110向外部存储器控制装置10发送外部存储器大小。总线主设备接口 单元123从被包括在次总线接口控制器130中的次总线指令产生器133B获取传送地址和 传送大小,并且在次总线30和DMA总线122之间执行突发传送。 数据传送控制器120使用总线从属设备接口单元121执行主总线20和DMA总线 122之间的数据传送,并使用总线主设备接口单元123执行次总线30和DMA总线122之间 的突发传送。总线从属设备接口单元121从被包括在主总线接口控制器110中的作为通信缓冲器的主总线接收FIFO存储器IllA检测“数据存在”状态,并向总线主设备接口单元 123发布读突发传送允许请求。总线从属设备接口单元121从主总线接收FIFO存储器IllA 检测“数据不存在”状态,并向总线主设备接口单元123发布读突发传送停止请求。总线从 属设备接口单元121从被包括在主总线接口控制器110中作为通信缓冲器的主总线发送 FIFO存储器112A检测“数据满”状态,并向总线主设备接口单元123发布写突发传送停止 请求。另外,总线从属设备接口单元121从主总线发送FIFO存储器112A检测除“数据满” 状态之外的状态并向总线主设备接口单元123发布写突发传送允许请求。总线主设备接口 单元123检测被包括在次总线接口控制器130中作为通信缓冲器的次总线接收FIFO存储 器131A的“数据存在”状态和总线从属设备接口单元121的写突发允许请求,并执行写突 发传送。总线主设备接口单元123检测次总线接收FIFO存储器131A的“数据不存在”状 态或总线从属设备接口单元121的写突发停止请求,并停止写突发传送。总线主设备接口 单元123检测被包括在次总线接口控制器130中作为通信缓冲器的次总线发送FIFO存储 器132A的“数据满”状态或总线从属设备接口单元121的读突发停止请求,并停止读突发 传送。总线主设备接口单元123检测次总线发送FIFO存储器132A的除“数据满”状态之 外的状态和总线从属设备接口单元121的读突发传送允许请求,并执行读突发传送。本申请包含的主题涉及2009年9月28日在日 本专利局提交的日本优先专利申请 JP 2009-222843中公开的内容,其全部内容通过引用包含于此。本领域的技术人员应该理解,可以根据设计需求和其它因素出现各种修改、组合、 子组合及替换,它们都在所附权利要求书及其等同物范围内。
权利要求
1.一种总线协议转换装置,包括主总线接口控制器,所述主总线接口控制器通过主总线与外部存储器控制装置连接, 所述主总线接口控制器包括作为通信缓冲器的先进先出存储器;次总线接口控制器,所述次总线接口控制器通过次总线与外部存储器装置连接; 指令检测部件,所述指令检测部件用于检测从连接到所述主总线的所述外部存储器控 制装置发送到所述主总线接口控制器的指令;指令转换部件,所述指令转换部件用于将由所述指令检测部件检测到的指令转换成将 要通过所述次总线从所述次总线接口控制器向所述外部存储器装置发送的指令;状态检测部件,所述状态检测部件用于检测从连接到所述次总线的所述外部存储器装 置发送的状态;状态转换部件,所述状态转换部件用于将由所述状态检测部件检测到的状态转换成将 要通过所述主总线从所述主总线接口控制器向所述外部存储器控制装置发送的状态;以及 数据传送控制器,所述数据传送控制器被设置在所述主总线接口控制器和所述次总线 接口控制器之间,以通过直接存储器访问总线执行连接到所述主总线的外部存储器控制装 置和连接到所述次总线的外部存储器装置之间的数据传送;其中,所述数据传送控制器以环形缓冲器方式使用先进先出存储器,将所述环形缓冲 器作为虚拟存储器分配,将来自所述外部存储器控制装置的数据传送大小的值直接发送到 所述次总线接口控制器,在所述次总线接口控制器和所述虚拟存储器之间执行一次总线主 设备直接存储器访问操作,并且在执行该总线主设备直接存储器访问操作的同时执行总线 协议转换数据传送。
2.根据权利要求1所述的总线协议转换装置,其中所述主总线接口控制器包括主总线 接收先进先出存储器和主总线发送先进先出存储器作为通信缓冲器;所述次总线接口控制器包括外部存储器大小获取部件,所述外部存储器大小获取部件 用于获取通过所述次总线连接的外部存储器装置的容量,并将所获取的容量作为外部存储 器大小进行存储;以及所述数据传送控制器包括总线从属设备接口单元,所述总线从属设备接口单元将所述主总线接收先进先出存储 器和所述主总线发送先进先出存储器与中央处理单元地址空间相独立地映射到相同的连 续地址空间,所述总线从属设备接口单元具有将存储在所述外部存储器大小获取部件中的 外部存储器大小作为上限地址的直接存储器访问地址空间,并且所述总线从属设备接口单 元通过所述主总线接口控制器将外部存储器大小发送到所述外部存储器控制装置,和总线主设备接口单元,所述总线主设备接口单元从被包括在所述次总线接口控制器中 的次总线指令产生部件获取传送地址和传送大小,并且执行所述次总线和所述直接存储器 访问总线之间的突发传送。
3.根据权利要求1所述的总线协议转换装置,其中,所述主总线接口控制器包括主总线接收先进先出存储器和主总线发送先进先出存储 器作为通信缓冲器;所述次总线接口控制器包括次总线接收先进先出存储器和次总线发送先进先出存储 器作为通信缓冲器;所述数据传送控制器包括总线从属设备接口单元和总线主设备接口单元,所述总线从 属设备接口单元执行所述主总线和所述直接存储器访问总线之间的数据传送,所述总线主 设备接口单元执行所述次总线和所述直接存储器访问总线之间的突发传送;所述总线从属设备接口单元执行以下操作从所述主总线接收先进先出存储器检测 “数据存在”状态并向所述总线主设备接口单元发布读突发传送允许请求;从所述主总线接 收先进先出存储器检测“数据不存在”状态并向所述总线主设备接口单元发布读突发传送 停止请求;从所述主总线发送先进先出存储器检测“数据满”状态并向所述总线主设备接口 单元发布写突发传送停止请求;以及从所述主总线发送先进先出存储器检测除“数据满”状 态之外的状态并向所述总线主设备接口单元发布写突发传送允许请求;以及所述总线主设备接口单元执行以下操作检测所述次总线接收先进先出存储器的“数 据存在”状态和所述总线从属设备接口单元的写突发允许请求,并执行写突发传送;检测所 述次总线接收先进先出存储器的“数据不存在”状态或所述总线从属设备接口单元的写突 发停止请求,并停止写突发传送;检测所述次总线发送先进先出存储器的“数据满”状态或 所述总线从属设备接口单元的读突发停止请求,并停止读突发传送;以及检测所述次总线 发送先进先出存储器的除“数据满”状态之外的状态和所述总线从属设备接口单元的读突 发传送允许请求,并执行读突发传送。
4.一种总线协议转换方法,包括以下步骤使指令检测部件检测从连接到主总线的外部存储器控制装置向主总线接口控制器发 送的指令,并且使指令转换部件将所检测到的指令转换成将要通过次总线从次总线接口控 制器向外部存储器装置发送的指令;使状态检测部件检测从连接到所述次总线的所述外部存储器装置发送的状态,并且使 状态转换部件将所检测到的状态转换成将要通过主总线从所述主总线接口控制器向所述 外部存储器控制装置发送的状态;当设置在所述主总线接口控制器和所述次总线接口控制器之间的数据传送控制器通 过直接存储器访问总线执行连接到所述主总线的所述外部存储器控制装置和连接到所述 次总线的外部存储器装置之间的数据传送时,以环形缓冲器方式使用被包括在所述主总线 接口控制器中作为通信缓冲器的先进先出存储器;将所述环形缓冲器作为虚拟存储器进行 分配;将来自所述外部存储器控制装置的数据传送大小的值直接发送到所述次总线接口控 制器;在所述次总线接口控制器和所述虚拟存储器之间执行一次总线主设备直接存储器 访问操作,并且在执行该总线主设备直接存储器访问操作的同时执行总线协议转换数据传 送。
5.根据权利要求4所述的总线协议转换方法,还包括以下步骤使被包括在所述数据传送控制器中的总线从属设备接口单元将被包括在所述主总线 接口控制器中作为通信缓冲器的主总线接收先进先出存储器和主总线发送先进先出存储 器与中央处理单元地址空间相独立地映射到相同的连续地址空间,其中所述总线从属设备 接口单元具有将存储在外部存储器大小获取部件中的外部存储器大小作为上限地址的直 接存储器访问地址空间,并且使所述总线从属设备接口单元通过所述主总线接口控制器向 所述外部存储器控制装置发送所述外部存储器大小;以及使被包括在所述数据传送控制器中的总线主设备接口单元从被包括在所述次总线接口控制器中的次总线指令产生部件获取传送地址和传送大小,并执行所述次总线和所述直 接存储器访问总线之间的突发传送。
6.根据权利要求4所述的总线协议转换方法,还包括以下步骤使被包括在所述数据传送控制器中的总线从属设备接口单元执行所述主总线和所述 直接存储器访问总线之间的数据传送,并且使被包括在所述数据传送控制器中的总线主设 备接口单元执行所述次总线和所述直接存储器访问总线之间的突发传送;使所述总线从属设备接口单元执行以下操作从被包括在所述主总线接口控制器中作 为通信缓冲器的主总线接收先进先出存储器检测“数据存在”状态,并向所述总线主设备接 口单元发布读突发传送允许请求;从所述主总线接收先进先出存储器检测“数据不存在”状 态,并向所述总线主设备接口单元发布读突发传送停止请求;从被包括在所述主总线接口 控制器中作为通信缓冲器的主总线发送先进先出存储器检测“数据满”状态,并向所述总线 主设备接口单元发布写突发传送停止请求;以及从所述主总线发送先进先出存储器检测除 “数据满”状态之外的状态,并向所述总线主设备接口单元发布写突发传送允许请求;以及 使所述总线主设备接口单元执行以下操作检测被包括在所述次总线接口控制器中作 为通信缓冲器的次总线接收先进先出存储器的“数据存在”状态和所述总线从属设备接口 单元的写突发允许请求,并执行写突发传送;检测所述次总线接收先进先出存储器的“数据 不存在”状态或所述总线从属设备接口单元的写突发停止请求,并停止写突发传送;检测 被包括在所述次总线接口控制器中作为通信缓冲器的次总线发送先进先出存储器的“数据 满”状态或所述总线从属设备接口单元的读突发停止请求,并停止读突发传送;以及检测所 述次总线发送先进先出存储器的除“数据满”状态之外的状态和所述总线从属设备接口单 元的读突发传送允许请求,并执行读突发传送。
7.一种总线协议转换装置,包括主总线接口控制器,所述主总线接口控制器通过主总线与外部存储器控制装置连接, 所述主总线接口控制器包括作为通信缓冲器的先进先出存储器;次总线接口控制器,所述次总线接口控制器通过次总线与外部存储器装置连接; 指令检测单元,所述指令检测单元被构造成检测从连接到所述主总线的所述外部存储 器控制装置向所述主总线接口控制器发送的指令;指令转换单元,所述指令转换单元被构造成把由所述指令检测单元检测到的指令转换 成将要通过所述次总线从所述次总线接口控制器向所述外部存储器装置发送的指令;状态检测单元,所述状态检测单元被构造成检测从连接到所述次总线的所述外部存储 器装置发送的状态;状态转换单元,所述状态转换单元被构造成将由所述状态检测单元检测到的状态转换 成将要通过所述主总线从所述主总线接口控制器向所述外部存储器控制装置发送的状态; 以及数据传送控制器,所述数据传送控制器被设置在所述主总线接口控制器和所述次总线 接口控制器之间,以执行通过直接存储器访问总线在连接到所述主总线的所述外部存储器 控制装置和连接到所述次总线的所述外部存储器装置之间的数据传送;其中,所述数据传送控制器以环形缓冲器方式使用所述先进先出存储器,将所述环形 缓冲器作为虚拟存储器进行分配,将来自所述外部存储器控制装置的数据传送大小的值直接发送到所述次总线接口控制器,在所述次总线接口控制器和所述虚拟存储器之间执行一 次总线主设备直接存储器访问操作,并且在执行所述总线主设备直接存储器访问操作的同 时执行总 线协议转换数据传送。
全文摘要
本发明涉及总线协议转换装置和总线协议转换方法。本发明提供一种总线协议转换装置,包括指令检测单元,检测从连接到主总线的外部存储器控制装置向主总线接口控制器发送的指令;指令转换单元,通过次总线将所检测到的指令转换成将要从次总线接口控制器向外部存储器装置发送的指令;状态检测单元,检测从所述外部存储器装置发送的状态;状态转换单元,将所检测到的状态转换成将要通过所述主总线从所述主总线接口控制器向所述外部存储器控制装置发送的状态;以及数据传送控制器,被设置在所述主总线接口控制器和所述次总线接口控制器之间,以通过DMA总线执行所述外部存储器控制装置和所述外部存储器之间的数据传送。
文档编号G06F13/40GK102033840SQ201010290380
公开日2011年4月27日 申请日期2010年9月20日 优先权日2009年9月28日
发明者牛上伸治 申请人:索尼公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1