CN1892630A - Dma数据传送装置、半导体集成电路装置及数据传送方法 - Google Patents

Dma数据传送装置、半导体集成电路装置及数据传送方法 Download PDF

Info

Publication number
CN1892630A
CN1892630A CNA2006101156402A CN200610115640A CN1892630A CN 1892630 A CN1892630 A CN 1892630A CN A2006101156402 A CNA2006101156402 A CN A2006101156402A CN 200610115640 A CN200610115640 A CN 200610115640A CN 1892630 A CN1892630 A CN 1892630A
Authority
CN
China
Prior art keywords
mentioned
data
address
memory storage
transmits
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.)
Pending
Application number
CNA2006101156402A
Other languages
English (en)
Inventor
芳贺琢哉
东哲彦
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Publication of CN1892630A publication Critical patent/CN1892630A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Bus Control (AREA)
  • Multi Processors (AREA)

Abstract

一种数据传送装置包括:第一传送调节电路;以及第二传送调节电路。数据传送装置控制第一存储装置和第二存储装置间的数据传送。第一传送调节电路应答从上述第一存储装置向上述第二存储装置的数据的传送命令,输出以第一传送单位按照地址顺序传送上述数据的第一传送命令。第二传送调节电路应答上述第一传送命令,输出以比上述第一传送单位更小的第二传送单位传送上述第一传送单位的上述数据的第二传送命令。第二传送调节电路在上述第一、第二存储装置中从可以进行存取的地址开始顺序输出上述第二传送命令。

Description

DMA数据传送装置、半导体集成 电路装置及数据传送方法
(相关申请的交叉引用)
本申请基于2005年5月9日提交的在先日本专利申请No.2005-136149并要求其为优先权,在此引入其全部内容作为参考。
技术领域
本发明涉及一种数据传送装置、半导体集成电路装置及数据传送方法,涉及例如DMA(直接存储器存取)传送。
背景技术
近年来,广泛使用DMA传送技术。在进行DMA传送时,存储器或器件与DMA控制器(以下称为DMAC)连接。然后,通过DMAC进行数据的传送控制。关于DMA传送,例如在日本专利申请特开平9-223102号公报和日本专利申请特开2002-259326号公报中公开。根据DMA传送,可以不经过CPU(中央处理单元)而进行存储器或器件之间的数据传送。因此,能够减轻CPU的负荷,可以提高***的性能。
然而,如果是上述现有的DMA传送,则在传送源或传送端的器件只能按顺序(in-order)读出或写入时,有降低数据传送效率的问题。
发明内容
本发明正是鉴于上述问题完成的,其目的在于提供一种可以提高数据的传送效率的数据传送装置、半导体集成电路装置以及数据传送方法。
为了达到上述目的,根据本发明的一个方面的控制第一存储装置和第二存储装置间的数据传送的数据传送装置,包括:第一传送调节电路,应答从上述第一存储装置向上述第二存储装置的数据的传送命令,输出以第一传送单位按照地址顺序传送上述数据的第一传送命令;以及
第二传送调节电路,应答上述第一传送命令,输出以比上述第一传送单位更小的第二传送单位传送上述第一传送单位的上述数据的第二传送命令;该第二传送调节电路从上述第一、第二存储装置中可以进行存取的地址开始顺序输出上述第二传送命令。
为了达到上述目的,根据本发明的一个方面的半导体集成电路装置,包括:第一存储装置,
从上述第一存储装置接收数据的第二存储装置,
连接上述第一、第二存储装置间,传送上述数据的总线,以及
经过上述总线控制上述第一、第二存储装置间的上述数据的传送的数据传送装置;
上述数据传送装置包括:第一传送调节电路,按照地址顺序产生将数据分割为具有预定的数据大小的多个第一分割数据且从上述第一存储装置向上述第二存储装置传送上述第一分割数据的第一传送命令,以及
第二传送调节电路,接收上述第一传送命令,产生将上述第一分割数据分割为具有上述总线的传送宽度的多个第二分割数据而传送的第二传送命令,从上述第一、第二存储装置中可以存取的区域开始顺序传送上述第二分割数据。
为了达到上述目的,根据本发明的一个方面的第一、第二存储装置间的数据传送方法,包括以下步骤:输出将上述第一存储装置的数据以第一传送单位按照地址顺序传送到上述第二存储装置中的第一传送命令;
应答上述第一传送命令,生成以比上述第一传送单位小的第二传送单位传送上述第一传送单位的上述数据的第二传送命令;以及
从上述第一、第二存储装置中可以存取的地址开始顺序将上述第二传送命令输出到上述第一、第二存储装置中。
附图说明
图1是根据本发明的实施方式1的半导体集成电路装置的框图。
图2是根据本发明的实施方式1的数据传送方法的流程图。
图3用于说明根据本发明的实施方式1的数据传送方法,是传送数据的示意图。
图4是根据本发明的实施方式1的数据传送方法的流程图。
图5用于说明根据本发明的实施方式1的数据传送方法,是传送数据的示意图。
图6用于说明根据本发明的实施方式1的数据传送方法,是传送数据的示意图。
图7是根据本发明的实施方式1的数据传送方法的流程图。
图8用于说明根据本发明的实施方式1的数据传送方法,是传送数据的示意图。
图9用于说明根据本发明的实施方式1的数据传送方法,是传送数据的示意图。
图10用于说明根据本发明的实施方式2的数据传送方法,是传送数据的示意图。
图11用于说明根据本发明的实施方式2的数据传送方法,是传送数据的示意图。
图12是对DRAM做出传送命令时的各种信号的时序图。
图13是表示DRAM的存储库(bank)结构的框图。
图14是根据本发明的实施方式2的数据传送方法的流程图。
图15用于说明根据本发明的实施方式2的数据传送方法的效果,是示出数据传送的状态的时序图。
图16是根据本发明的实施方式3的数据传送装置具有的顺序传送命令发生器的框图。
图17是根据本发明的实施方式3的数据传送***具有的FIFO的存储空间的示意图。
图18是根据本发明的实施方式4的数据传送装置具有的顺序传送命令发生器的框图。
图19是保持在根据本发明的实施方式4的数据传送装置具有的顺序传送命令发生器内的缓冲区大小表的示意图。
图20是根据本发明的实施方式5的数据传送装置的框图。
图21是具有根据本发明的实施方式1至4的数据传送装置的图像描绘处理器的框图。
具体实施方式
使用图1说明相据本发明的实施方式1的数据传送装置、半导体集成电路装置以及数据传送方法。图1是根据本实施方式的半导体集成电路(LSI)的框图。如图所示,LSI1具有DMAC10、存储器20、30以及总线40。
DMAC10控制存储器20和存储器30之间的数据传送。DMAC10具有顺序(In-order)传送命令发生器(ITIG)11以及乱序(Out-of-order)传送命令发生器(OTIG)12。而且,ITIG 11接收数据的传送命令,生成与传送端存储器或者传送源存储器的缓冲区大小匹配的数据大小的传送命令。OTIG 12应答ITIG 11生成的传送命令,分割由该传送命令指定的数据,生成按乱序传送分割的数据的传送命令。
存储器20是可以进行乱序的数据读写的存储器,例如是DRAM等。存储器20具有多个存储库21-0~21-n,各存储库可以随机地进行存取。
存储器30是根据顺序进行数据的读写的FIFO(先进先出)方式的存储器。以下,为方便将存储器30称为FIFO30。FIFO30具有多个入口(entry)31-0~31-m,以入口31-0~31-m的顺序存储数据。一个入口的位宽度是例如128字节。
总线40在存储器20和FIFO30之间传达数据,并传达来自DMAC10的传送命令。总线40的位宽度是例如32字节。因此,在向FIFO30(从FIFO30)传送1个入口大小的数据的情况下,分割为四次进行(32字节×4次=128字节)。
下面,使用图2和图3说明根据本实施方式的DMAC10的数据传送方法。图2是根据本实施方式的数据传送方法的流程图。另外,图3是示出在数据传送时的传送数据的状态的示意图。
首先,DMAC10从外部接收数据的传送命令(步骤S10)。此时,DMAC10接收:在传送源中保持应该传送的数据的区域的起始地址(以下称为源地址SrcAddr)、在传送端中应该保持传送的数据的区域的起始地址(以下称为目的地址DstAddr)、传送数据的数据大小TSize。例如,如图3所示,假设传送数据50的数据大小Tsize为1k字节。
接着,DMAC10的ITIG11与顺序方式的存储器的缓冲区大小相匹配地分割传送数据50,生成每个分割的传送数据的传送命令(将其称为第一传送命令)。如果是图1的例子,则顺序方式的存储器是FIFO30,其缓冲区大小是128字节。因此如图3所示,传送数据50被分割为8个分割数据51-0~51-7(1024字节/128字节=8个)。然后,对每个这些分割数据51-0~51-7,生成第一传送命令。当然,分割数据51-0~51-7的各数据大小是128字节。ITIG11首先将关于分割数据51-0的第一传送命令输出到OTIG12。对每个分割数据51-0~51-7,第一传送命令包括:保持应该传送的分割数据的区域的起始地址(以下称为源地址TmpSrcAddr);在传送端中应该保持传送的分割数据的区域的起始地址(以下称为目的地址TmpDstAddr);以及分割数据的数据大小BufSize。以下将这些信息称为DMA标签(tag)。在输出第一传送命令的阶段中还不进行实际的数据传送。
接着,接收了DMA标签的OTIG12与总线大小相匹配地进一步分割接收的分割数据51-0~51-7中的任一个,生成每个被分割的分割数据(将其称为再分割数据)的传送命令(将其称为第二传送命令)。如果是图1的例子,则总线40的大小是32字节。因此如图3所示,各个分割数据51-0~51-7再分割为4个再分割数据52-0~52-3。然后,对每个这些再分割数据52-0~52-3,生成第二传送命令。当然,再分割数据52-0~52-3的各数据大小是32字节。对每个再分割数据52-0~52-3,第二传送命令包括:保持应该传送的再分割数据的区域的起始地址(以下称为源地址TmpOtigSrcAddr);在传送端中应该保持再分割数据的区域的起始地址(以下称为目的地址TmpOtigDstAddr);再分割数据的数据大小BusSize。
然后,OTIG12将关于可以传送的再分割数据52-0~52-3的第二传送命令输出到存储器20和FIFO30中。根据第二传送命令,在存储器20和FIFO30之间传送数据。此时,OTIG12根据需要更换第二传送命令的顺序。即,不一定是以再分割数据52-0~52-3的顺序输出第二传送命令。例如在不能传送再分割数据52-0、可以传送再分割数据52-1的情况下,比再分割数据52-0更早地输出关于再分割数据52-1的第二传送命令。在输出第二传送命令的阶段中,开始实际地进行数据的传送。
将关于某个分割数据51-0~51-7之中的任一个的第二传送命令全部输出,结束该分割数据的存储器20和FIFO30之间的传送时,OTIG12将应答信号返回到ITIG11(步骤S40)。则在完成全部分割数据51-0~51-7的传送时(步骤S50),处理结束。在没有完成的情况下,回到步骤S20,ITIG关于下一个分割数据输出第一传送命令,重复步骤S30、S40的处理。
通过以上处理在存储器20和FIFO30之间进行数据的传送。下面,更详细说明步骤S20、S30。首先使用图4的流程图说明步骤S20的ITIG11的处理。
首先,DMAC10从外部接收传送命令时,ITIG11接收:保持应该传送的数据50的区域的起始地址(以下称为源地址SrcAddr)、在传送端中应该保持数据50的区域的起始地址(以下称为目的地址DstAddr)、以及数据大小TSize(步骤S21)。
接着,ITIG11计算与应该最初传送的分割数据51-0有关的地址TmpSrcAddr、TmpDstAddr以及数据50的传送端中的最终地址LastSrcAddr(步骤S22)。分割数据51-0的地址TmpSrcAddr、地址TmpDstAddr必然与SrcAddr和DstAddr一致。另外,最终地址LastSrcAddr可以根据SrcAddr+Tsize计算。
然后,根据在步骤S22中算出的地址TmpSrcAddr、TmpDstAddr以及缓冲区大小BufSize,产生第一传送命令,输出到OTIG12(步骤S23)。在图5中示出了该第一传送命令代表的意义。图5是以从存储器20向FIFO30传送数据的情况为例,示出分割数据传送的状态的示意图。如图所示,在步骤S23中产生的第一传送命令用于将在存储器20中从传送数据50内的起始地址SrcAddr开始的最初分割数据51-0传送到在FIFO30中的从目的地址DstAddr开始的入口中。
接着,ITIG11在从OTIG12接收应答信号时,计算与下一个分割数据51-1有关的地址TmpSrcAddr、TmpDstAddr(步骤S24)。图6示出了该状态。如图所示,接着应该产生的第一传送命令用于将在分割数据51-0的下一个地址中保持的分割数据51-1传送到FIFO30中分割数据51-0的下一个地址区域中。因此,源地址TmpSrcAddr可以用紧邻之前的TmpSrcAddr+BufSize计算,目的地址TmpDstAddr可以用紧邻之前的TmpDstAddr+BufSize计算。
然后,判断源地址TmpSrcAddr是否超过了最终地址LastSrcAddr。在超过的情况下,相当于输出了与最后的分割数据51-7有关的第一传送命令,即关于全部分割数据51-0~51-7输出了第一传送命令,因此结束ITIG11的处理。在不超过的情况下,因为还残留有分割数据,所以重复步骤S24、S25。
下面,使用图7的流程图说明步骤S30的OTIG12的处理。首先,OTIG12从ITIG11接收第一传送命令(步骤S31)。通过接收第一传送命令,OTIG12接收DMA标签(TmpSrcAddr、TmpDstAddr、BufSize)。
接着,OTIG12计算在分割数据51-0内与最初应该传送的再分割数据52-0有关的地址TmpOtigSrcAddr、TmpOtigDstAddr以及分割数据51-0的传送源中的最终地址LastOtigSrcAddr(步骤S32)。再分割传送数据52-0的源地址TmpOtigSrcAddr和目的地址TmpOtigDstAddr自然与TmpSrcAddr、TmpDstAddr一致。另外,最终地址LastOtigSrcAddr可以根据TmpSrcAddr+BufSize来计算。
然后,OTIG12根据在步骤S32中算出的地址TmpOtigSrcAddr、TmpOtigDstAddr以及总线大小BusSize产生第二传送命令(步骤S33)。在图8中示出了该第二传送命令代表的意义。图8是以从存储器20向FIFO30传送数据的情况为例,示出再分割数据的传送状态的示意图。如图所示,在步骤S33中产生的第二传送命令用于将在存储器20中从分割数据51-0内的起始地址TmpSrcAddr开始的最初的再分割数据52-0传送到FIFO30中的从目的地址TmpDstAddr开始的入口中。
接着,OTIG12计算与下一个再分割数据52-1有关的地址TmpOtigSrcAddr和TmpOtigDstAddr(步骤S34)。图9示出了该状态。如图所示,接着应该产生的第二传送命令用于将在再分割数据52-0的下一个地址中保持的再分割数据52-1传送到在FIFO30中再分割数据52-0的下一个地址区域中。因此,源地址TmpOtigSrcAddr可以用紧邻之前的TmpOtigSrcAddr+BusSize计算,目的地址TmpOtigDstAddr可以用紧邻之前的TmpOtigDstAddr+BusSize计算。
然后,判断源地址TmpOtigSrcAddr是否超过了最终地址LastOtigSrcAddr。在超过的情况下,相当于产生了与最后的再分割数据52-3有关的第二传送命令,即关于全部再分割数据52-0~52-3产生了第二传送命令。因此,OTIG12更换第二传送命令的顺序,向存储器20和FIFO30输出第二传送命令,使得在该时间点可以最有效地传送再分割数据52-0~52-3。
如上所述,根据本发明的实施方式1的数据传送装置、半导体集成电路装置以及数据传送方法,可以实现效率良好的数据传送。根据本实施方式,在按顺序方式进行数据读写的存储器和按乱序方式进行数据读写的存储器之间进行数据传送时,关于在按顺序方式进行读写的存储器中处理的数据的最小单位,按顺序方式传送数据。然后,将该最小单位进一步分割成多个数据,关于分割数据,按乱序方式传送数据。即,在宏观的级别中使用顺序方式,同时在微观的级别中按乱序方式传送数据。这样,由于即使在顺序方式的存储器中,也可以采用乱序方式,因此可以提高数据的传送效率。本特征在例如引起存储库冲突(Bank Conflict)的存储器和顺序方式的存储器之间传送数据时变得显著。关于这种情况,举出DRAM和FIFO的例,作为以下实施方式2进行说明。
下面,利用图10说明根据本发明的实施方式2的数据传送装置、半导体集成电路装置以及数据传送方法。本实施方式是与上述实施方式1中存储器20是DRAM的情况有关的实施方式。图10是DRAM20和FIFO30的存储器空间的示意图。
如图所示,考虑将在DRAM20中保持的256字节(TSize)的数据50传送到FIFO30的入口0、入口1的情况。因为FIFO30的入口大小(BufSize)是128字节,所以数据50被ITIG11分割为2个分割数据51-0、51-1。首先,ITIG11产生与分割数据51-0有关的第一传送命令,输出到OTIG12中。DMA标签的内容是TmpSrcAddr=0xA0、TmpDstAddr=0x00、BufSize=128。即,将保持在DRAM20中的地址0xA0~0xAF中的数据51-0传送到在FIFO30中的从地址0x00开始的入口中的第一传送命令被赋予到OTIG12。
接着,OTIG12为了进行按乱序的传送,产生第二传送命令。图11示出了该状态,如图所示,OTIG12关于分割数据51-0产生如下4个第二传送命令。即:
1:TmpOtigSrcAddr=0xA0
   TmpOtigDstAddr=0x00
   BusSize=32
2:TmpOtigSrcAddr=0xA4
   TmpOtigDstAddr=0x04
   BusSize=32
3:TmpOtigSrcAddr=0xA8
   TmpOtigDstAddr=0x08
   BusSize=32
4:TmpOtigSrcAddr=0xAC
   TmpOtigDstAddr=0x0C
   BusSize=32
然后,输出这4个第二传送命令,使得传送效率最好。例如设为,DRAM的地址0xA0~0xA3的区域(再分割数据52-0)和地址0xA4~0xA7的区域(再分割数据52-1)是相同的存储库,而且地址0xA8~0xAB的区域(再分割数据52-2)和地址0xAC~0xAF的区域(再分割数据52-3)是相同的存储库。则想要以再分割数据52-0~52-3的顺序进行数据的传送时,产生存储库冲突的问题。
所谓存储库冲突是在对同一存储库连续进行存取时,在一定的时间内,该存储库成为忙碌(busy)状态,陷入不能存取的状态的情况。在产生存储库冲突的情况下,必须等到将其消除才能进行处理。图12是对DRAM进行存取时的各种信号的时序图。如图所示,假设对例如时刻t0的存储库发出传送命令。则该存储库从时刻t1开始一定期间Δt内不能进行存取。因此,接着该存储库可以进行存取的是时刻t2。在此期间,该存储库的忙碌标记(busy flag)成为“1”。如图13所示,忙碌标记设置在每个存储库中,用于通过成为“1”来通知该存储库不能进行存取。
回到图11进行说明。OTIG12在决定输出第二传送命令的顺序时检查存储再分割数据52-0~52-3的存储库的忙碌标记。在图14的流程图中示出了此时的OTIG12的处理。如图所示,检查与保持所关注的再分割数据的区域的地址相对应的存储库的忙碌标记(步骤S37-1)。然后,如果没有设立忙碌标记(步骤S37-2),则该存储库可以进行存取,因此关于该再分割数据输出第二传送命令(步骤S37-3)。设立了忙碌标记时(S37-2),关注在下一个地址中存储的再分割数据(步骤S37-4)、进行步骤S37-1。重复该处理直到结束全部的再分割数据的传送。
例如图11的情况下,假设首先传送了再分割数据52-0时,该存储库成为忙碌状态,其后的一定期间内不能进行存取。即,如果想要存取再分割数据52-1,则必需等到消除忙碌状态。因此,OTIG12进行存储在不同的存储库并且不是忙碌状态的存储库中的再分割数据52-2的传送。在进行再分割数据52-2的传送的期间,在消除了保持再分割数据52-1的存储库的忙碌状态的情况下,接着进行再分割数据52-1的传送。并且最后进行再分割数据52-3的传送。
如果进行如上处理完成了分割数据51-0的传送,则OTIG12将应答信号返回到ITIG11中。则ITIG11输出与分割数据51-1有关的第一传送命令,再次重复与上述相同的处理。
如上所述,通过OTIG12更换第二传送命令的输出顺序,使得不产生存储库冲突,可以提高数据传送效率。关于这点,利用图15的时序图进行说明。在图15中,MR表示来自DRAM的数据的读出动作,FW表示向FIFO的写入动作,Wait表示由存储库冲突导致的等待时间。假设在MR和FW中分别需要的时间是2个时钟周期,在Wait中需要的时间是3个时钟周期。
首先,说明不采用本实施方式的方法、通过顺序方式将再分割数据52-0~52-3按照地址顺序从DRAM20传送到FIFO30的情况。如图所示,假设在时刻t0开始再分割数据52-0的传送,则在时刻t2结束传送。在该时间点上,由于保持数据52-0~52-1的存储库为忙碌状态,因此数据52-1的传送开始时刻最早是从时刻t2开始3个时钟后的时刻t4。传送数据52-1、52-2时不产生存储库冲突,但是在传送数据52-3时再次产生存储库冲突。即,在时刻t10结束数据52-2的传送,但是下一个数据52-3的传送必需等到消除该存储库的忙碌状态的时刻t12。其结果,再分割数据52-0~52-3的传送结束为时刻t13。
与此相对,如果是根据本实施方式的方法,则按照再分割数据52-0、52-2、52-1、52-3的顺序将数据写入FIFO30。因此,不产生存储库冲突的问题。因此,不发生无用的等待时间,可以连续地执行再分割数据的传送处理。其结果,与仅使用顺序方式进行传送的情况相比,早2次等待时间大小、即6周期大小的时刻t11完成数据传送。
下面,使用图16说明根据本发明的实施方式3的数据传送装置、半导体集成电路装置以及数据传送方法。图16是ITIG11的框图。本实施方式是在上述实施方式1、2中,通过硬件实现ITIG11的实施方式。因此,在本实施方式中省略关于ITIG11以外的结构的说明。
如图所示,ITIG11具有缓冲区大小检测电路60、多路调制器(multiplexer)61、63、加法器62、64、65以及最终地址判断电路66。
缓冲区大小检测电路60根据从外部输入的地址SrcAddr和DstAddr,把握成为传送对象的器件,并且检测和输出缓冲区大小BufSize。多路调制器61选择源地址SrcAddr和加法器62的输出中的任一个。加法器62将多路调制器61的输出和缓冲区大小检测电路60输出的缓冲区大小BufSize相加,输出源地址TmpSrcAddr。多路调制器63选择目的地址DstAddr和加法器64的输出中的任一个。加法器64将多路调制器63的输出和缓冲区大小检测电路60输出的缓冲区大小BufSize相加,输出目的地址TmpDstAddr。加法器65将从外部输入的地址SrcAddr和数据大小TSize相加,输出最终地址LastSrcAddr。最终地址判断电路66输出第一传送命令,并且比较加法器62输出的地址TmpSrcAddr和最终地址LastSrcAddr,判断第一传送命令是否全部被输出。
下面,说明上述结构的ITIG11的动作。从外部接收传送命令之后,多路调制器61、63马上分别选择源地址SrcAddr和目的地址DstAddr。并且加法器62、64将在多路调制器61、63中选择的源地址SrcAddr和目的地址DstAddr分别作为TmpSrcAddr和TmpDstAddr。另外加法器65将源地址SrcAddr和数据大小Tsize相加,输出最终地址LastSrcAddr。然后,从最终地址判断电路66输出第一传送命令。
如果输出最初的第一传送命令,则缓冲区大小检测电路60根据源地址SrcAddr和目的地址DstAddr,检测缓冲区大小BufSize。缓冲区大小可以从对存储器20、30分别分配的地址检测出。例如在图17的情况下,如果源地址SrcAddr是0x00~0x6F,则对象器件一侧是FIFO1,因此缓冲区大小BufSize是128字节。另外如果源地址SrcAddr是0x70~0xFF,则对象器件一侧是FIFO2,因此缓冲区大小BufSize是256字节。
另外,多路调制器61、63在从OTIG12接收应答信号Ack时,分别选择加法器62、64的输出。因此加法器62将在多路调制器61中选择的源地址TmpSrcAddr和从缓冲区大小检测电路60输出的缓冲区大小BufSize相加,输出下一个源地址TmpSrcAddr。另外,加法器64将在多路调制器63中选择的目的地址TmpDstAddr和从缓冲区大小检测电路60输出的缓冲区大小BufSize相加,输出下一个目的地址TmpDstAddr。然后将这些数据作为第一传送命令从最终地址判断电路66输出。
根据最终地址判断电路66,源地址TmpSrcAddr超过了最终地址时,以后不输出第一传送命令,结束ITIG11的处理。
根据本实施方式,根据在第一传送命令生成和输出处理中特定化了的硬件,形成ITIG11。因此,除了在上述实施方式1、2中说明的效果之外,还可以提高ITIG11的处理速度。
下面,利用图18说明根据本发明的实施方式4的数据传送装置和半导体集成电路装置。图18是ITIG11的框图。本实施方式是在上述实施方式1、2中,通过软件实现ITIG11的实施方式。
如图所示,ITIG11具有CPU70、输入输出电路71、72、主存储器73以及存储器74。存储器74保持地址作成程序75和缓冲区大小表76。地址作成程序75是用于产生DMA标签的程序,用于进行在上述实施方式1、2中说明的步骤S4的处理。缓冲区大小表76通过DMAC10保持控制数据传送的多个器件和对它们分配的地址的关系。图19中示出了缓冲区大小表76的一例。如图所示,缓冲区大小表76存储:地址、与此对应的存储器的种类以及缓冲区大小。例如从地址A开始的区域与DRAM0的存储库0相对应,其缓冲区大小是128字节。从地址J开始的区域与FIFO0的入口0相对应,其缓冲区大小是128字节。另外,从地址N开始的区域与FIFO1的入口0相对应,其缓冲区大小是256字节。
输入输出电路71接收通过传送命令送来的源地址SrcAddr、目的地址DstAddr及数据大小TSize,以及从OTIG12送来的应答信号Ack。CPU70从存储器74读出需要的程序和数据到主存储器73中,产生DMA标签。输入输出电路72将通过CPU70产生的DMA标签输出到OTIG12中。
在上述结构中,如果将地址SrcAddr、DstAddr、TSize输入到输入输出电路71中,则输入输出电路71将这些数据保持在存储器74中。然后,CPU70将这些数据、地址作成程序75以及缓冲区大小表76读出到主存储器73中,进行图4所示的处理。CPU70在进行步骤S23的处理时,对照缓冲区大小表76和地址SrcAddr,识别缓冲区大小BufSize。
另外,关于第二次分割数据以后,在输入输出电路71接收到了来自OTIG12的应答时,将它作为触发器,CPU70执行地址作成程序75。
根据本实施方式,通过软件(计算机)进行第一传送命令生成和输出处理,形成ITIG11。即,使成为ITIG11的计算机作为将源地址TmpSrcAddr和缓冲区大小BufSize相加的源地址生成单元、将目的地址TmpDstAddr和缓冲区大小BufSize相加的目的地址生成单元,将源地址SrcAddr和数据大小Tsize相加的最终地址生成单元、从缓冲区大小表76和源地址SrcAddr选择缓冲区大小BufSize的缓冲区大小生成单元发挥功能。而且,通过在存储器74中保持必需的程序,可以使ITIG11具有第一传送命令生成和输出处理以外的功能。因此,除了在上述实施方式1、2中说明的效果之外,还可以实现数据传送装置的多功能化。
下面,使用图20说明根据本发明的实施方式5的数据传送装置、半导体集成电路装置以及数据传送方法。本实施方式是在上述实施方式1至4中在ITIG11和OTIG12之间设置队列(queue)的实施方式。图20是DMAC10的框图。
如图所示,DMAC10在上述实施方式1至4中说明的结构中还具有存储器13。存储器13保持ITIG11产生的DMA标签。ITIG11不等待来自OTIG12的应答信号,接收传送命令时依次产生DMA标签,将其蓄积在存储器13中。OTIG12没有必要将应答信号送到ITIG11中。另外,OTIG12选择并取出存储器13中保持的DMA标签中的任一个,产生第二传送命令。其它的结构和动作与上述实施方式1至4相同。
根据本实施方式,OTIG12可以对保持在存储器13中的DMA标签中的任何一个进行自由选择。即,可以将更多的DMA标签作为选择对象选择。另外,由于ITIG11没有必要为了产生DMA标签而等待应答信号,因此可以提高DMAC10的动作速度。
如上所述,根据本发明的实施方式1至5,在按顺序方式传送数据的***中,在不能改变传送顺序的数据单位中,按顺序传送,在比它更微观的数据单位中更换顺序,按乱序传送数据。因此,可以抑制数据的传送效率的降低。
另外,在上述实施方式中说明的数据传送装置、半导体集成电路装置以及数据传送方法可以应用于例如图像处理器等中。图21是具有根据上述实施方式的数据传送装置的图像描绘处理器***LSI的框图。
如图所示,根据本实施方式的图像描绘处理器***LSI2具有主机处理器3、I/O处理器4、主存储器5以及图形处理器6。主机处理器3和图形处理器6通过处理器总线BUS可以相互通信地连接。
主机处理器3具有主处理器80、I/O部81~83以及多个信号处理部(DSP,数字信号处理器)84。这些电路块通过局域网LN1可以相互通信地连接。主处理器80控制主机处理器3内的各电路块的动作。I/O部81经过I/O处理器4与主机处理器3外部进行数据的发送和接收。I/O部82在与主存储器5之间进行数据的发送和接收。I/O部83经过处理器总线BUS在与图形处理器6之间进行数据的发送和接收。信号处理部84根据主存储器5和从外部读入的数据进行信号处理。
I/O处理器4连接主机处理器3和例如通用总线、HDD或DVD(数字通用光盘)驱动器等的周边机器以及网络。此时,HDD或DVD驱动器可以是搭载在LSI2上,另外也可以是设置在LSI2外部。
主存储器5保持为使主机处理器3动作所必需的程序。该程序例如从未图示的HDD等读出并存储在主存储器5中。
图形处理器6具有DAMC90、I/O部91、92以及运算处理部93。DMAC90是在上述实施方式1至5中说明的DMAC10。I/O部91控制经过处理器总线BUS的与主机处理器3之间的输入输出。I/O部92控制与PCI等的各种通用总线、视频和音频,以及外部存储器等的输入输出。运算处理部93进行图像处理运算。
运算处理部93具有光栅化器(rasterizer)94、多个像素着色器(pixelshader)95-0~95-3以及本地存储器96。另外,在本实施方式中像素着色器95的数量是4个,但这只是一个例子,可以是8个、16个、32个等,并不限定该数量。
光栅化器94根据输入的图形信息生成像素。所谓像素是在描绘预定图形时处理的最小单位的区域,根据像素的集合描绘图形。生成的像素投入到像素着色器95-0~95-3。像素着色器95-0~95-3对从光栅化器94投入的像素进行运算处理,在本地存储器上生成图像数据。本地存储器96具有对每个像素着色器95-0~95-3设置的存储器单元。存储器单元分别存储像素着色器95-0~95-3中描绘的像素数据。通过局域网LN2,DMAC90、I/O部91、92、光栅化器94以及本地存储器96可以相互通信地连接。
在上述结构中,在本地存储器中存储的像素数据DMA传送到I/O部92保持的FIFO中,输出到外部。DMAC90通过在上述实施方式1至5中说明的方法,控制实际存储器和I/O部92的FIFO之间的数据传送。由于图像描绘装置处理的数据量庞大,因此在上述实施方式中说明的方法是特别有效的。
另外,在上述实施方式中举例说明了DRAM和FIFO之间的数据传送,但是,当然地,只要是必需按顺序方式读出/写入数据的数据传送的情况,并不做限定。
本领域技术人员容易想到其它优点和变更方式。因此,本发明就其更宽的方面而言不限于这里示出和说明的具体细节和代表性的实施方式。因此,在不背离由所附的权利要求书以及其等同物限定的一般发明概念的精神和范围的情况下,可以进行各种修改。

Claims (20)

1.一种数据传送装置,控制第一存储装置和第二存储装置间的数据传送,该数据传送装置包括:
第一传送调节电路,应答从上述第一存储装置向上述第二存储装置的数据的传送命令,输出以第一传送单位按照地址顺序传送上述数据的第一传送命令;以及
第二传送调节电路,应答上述第一传送命令,输出以比上述第一传送单位更小的第二传送单位传送上述第一传送单位的上述数据的第二传送命令;该第二传送调节电路从上述第一、第二存储装置中可以进行存取的地址开始顺序输出上述第二传送命令。
2.根据权利要求1所述的数据传送装置,其特征在于:
上述第二传送调节电路关于一个第一传送单位的上述数据,输出全部的上述第二传送命令之后,输出应答信号;
上述第一传送调节电路应答上述应答信号,输出与下一个地址对应的上述第一传送命令。
3.根据权利要求1所述的数据传送装置,其特征在于:
还包括保持上述第一传送命令的第三存储装置,
其中,上述第一传送调节电路,与上述第二传送调节电路的处理的进行状况无关地,将上述第一传送命令依次存储到上述第三存储装置,
上述第二传送调节电路,根据保持在上述第三存储装置中的任一个上述第一传送命令,产生上述第二传送命令。
4.根据权利要求1所述的数据传送装置,其特征在于:
上述第一存储装置和上述第二存储装置中的至少任一个,只能采用按照地址顺序以上述第一传送单位传送数据的顺序方式进行数据传送。
5.根据权利要求1所述的数据传送装置,其特征在于,
上述第一传送命令包括:
第一地址,表示在上述第一存储装置中保持以上述第一传送单位传送的上述数据的存储区域的起始地址;
第二地址,表示在上述第二存储装置中应该保持以上述第一传送单位传送的上述数据的存储区域的起始地址;以及
上述第一传送单位,
上述第二传送命令包括:
第三地址,表示在上述第一存储装置中保持以上述第二传送单位传送的上述数据的存储区域的起始地址;
第四地址,表示在上述第二存储装置中应该保持以上述第二传送单位传送的上述数据的存储区域的起始地址;以及
上述第二传送单位。
6.根据权利要求5所述的数据传送装置,其特征在于,
上述第一传送调节电路包括:
根据上述第一存储装置中的上述数据的起始地址,检测上述第一传送单位的检测电路;
将上述第一地址和上述第一传送单位相加,生成下一个第一地址的第一加法器;以及
将上述第二地址和上述第一传送单位相加,生成下一个第二地址的第二加法器。
7.根据权利要求5所述的数据传送装置,其特征在于,
上述第一传送调节电路包括:
保持地址作成程序和第一传送单位表的第三存储装置;以及
根据上述地址作成程序和上述第一传送单位表,算出上述第一、第二地址以及上述第一传送单位,产生上述第一传送命令的处理器,
其中,上述第一传送单位表保持对上述第一、第二存储装置分配的地址和与该地址对应的区域的第一传送单位的关系,
上述地址作成程序针对上述处理器,将上述第一地址和从上述第一传送单位表读出的任一个上述第一传送单位相加,生成下一个第一地址,且
上述地址作成程序针对上述处理器,将上述第二地址和从上述第一传送单位表读出的任一个上述第一传送单位相加,生成下一个第二地址。
8.一种半导体集成电路装置,包括:
第一存储装置,
从上述第一存储装置接收数据的第二存储装置,
连接上述第一、第二存储装置间,传送上述数据的总线,以及
经过上述总线控制上述第一、第二存储装置间的上述数据的传送的数据传送装置;
上述数据传送装置包括:
第一传送调节电路,按照地址顺序产生将数据分割为具有预定的数据大小的多个第一分割数据且从上述第一存储装置向上述第二存储装置传送上述第一分割数据的第一传送命令,以及
第二传送调节电路,接收上述第一传送命令,产生将上述第一分割数据分割为具有上述总线的传送宽度的多个第二分割数据而传送的第二传送命令,从上述第一、第二存储装置中可以存取的区域开始顺序传送上述第二分割数据。
9.根据权利要求8所述的半导体集成电路装置,其特征在于:
上述第一存储装置是具有多个存储库的DRAM;
上述第二存储装置是具有多个入口且以FIFO方式处理数据的存储器;
上述第一传送调节电路将上述数据分割为具有上述入口的入口宽度的多个上述第一分割数据;
上述第二传送调节电路优先传送上述第一存储装置中保持在可以存取的任一个上述存储库中的上述第二分割数据。
10.根据权利要求9所述的半导体集成电路装置,其特征在于:
上述第一存储装置将表示是否为忙碌状态的忙碌标记保持在每一个上述存储库中;
上述第二传送调节电路通过检查上述忙碌标记,识别可以存取的上述存储库。
11.根据权利要求8所述的半导体集成电路装置,其特征在于:
上述第二传送调节电路在完成与一个上述第一分割数据对应的全部的上述第二分割数据的传送之后,输出应答信号;
上述第一传送调节电路,应答上述应答信号,输出下一个第一传送命令。
12.根据权利要求8所述的半导体集成电路装置,其特征在于:
还包括保持上述第一传送命令的第三存储装置;
其中,上述第一传送调节电路,与上述第二传送调节电路的处理的进行状况无关地,将上述第一传送命令依次存储到上述第三存储装置;
上述第二传送调节电路,根据保持在上述第三存储装置中的任一个上述第一传送命令,产生上述第二传送命令。
13.根据权利要求8所述的半导体集成电路装置,其特征在于:
上述第一存储装置和上述第二存储装置中的至少任一个,只能采用按照地址顺序传送上述第一分割数据的顺序方式进行数据传送。
14.根据权利要求8所述的半导体集成电路装置,其特征在于:
上述第一传送命令包括:
表示上述第一分割数据的在上述第一存储装置中的起始地址的第一地址;
表示传送的上述第一分割数据的在上述第二存储装置中的起始地址的第二地址;以及
上述数据大小,
上述第二传送命令包括:
表示上述第二分割数据的在上述第一存储装置中的起始地址的第三地址;
表示传送的上述第二分割数据的在上述第二存储装置中的起始地址的第四地址;以及
上述总线的传送宽度。
15.根据权利要求14所述的半导体集成电路装置,其特征在于:
上述第一传送调节电路包括:
根据上述第一存储装置中的上述数据的起始地址,检测上述数据大小的检测电路;
将上述第一地址和上述数据大小相加,生成下一个第一地址的第一加法器;以及
将上述第二地址和上述数据大小相加,生成下一个第二地址的第二加法器。
16.根据权利要求14所述的半导体集成电路装置,其特征在于:
上述第一传送调节电路包括:
保持地址作成程序和数据大小表的第三存储装置,以及
根据上述地址作成程序和上述数据大小表,算出上述第一、第二地址以及上述数据大小,产生上述第一传送命令的处理器;
其中,上述数据大小表保持对上述第一、第二存储装置分配的地址和与该地址对应的区域的上述数据大小的关系,
上述地址作成程序针对上述处理器,将上述第一地址和从上述数据大小表读出的任一个上述数据大小相加,生成下一个第一地址,且
上述地址作成程序针对上述处理器,将上述第二地址和从上述数据大小表读出的任一个上述数据大小相加,生成下一个第二地址。
17.一种数据传送方法,是第一、第二存储装置间的数据传送方法,包括以下步骤:
输出将上述第一存储装置的数据以第一传送单位按照地址顺序传送到上述第二存储装置中的第一传送命令;
应答上述第一传送命令,生成以比上述第一传送单位小的第二传送单位传送上述第一传送单位的上述数据的第二传送命令;以及
从上述第一、第二存储装置中可以存取的地址开始顺序将上述第二传送命令输出到上述第一、第二存储装置中。
18.根据权利要求17所述的数据传送方法,其特征在于,还包括以下步骤:
关于一个上述第一传送单位的上述数据,输出全部上述第二传送命令之后输出应答信号;以及
应答上述应答信号,输出与下一个地址对应的上述第一传送命令。
19.根据权利要求17所述的数据传送方法,其特征在于:
还包括将上述第一传送命令存储在第三存储装置中的步骤;
其中,上述第二传送命令根据保持在上述第三存储装置中的任一个上述第一传送命令生成。
20.根据权利要求17所述的数据传送方法,其特征在于:
上述第一存储装置和上述第二存储装置中的至少任一个,只能采用按照地址顺序以上述第一传送单位传送数据的顺序方式进行数据传送。
CNA2006101156402A 2005-05-09 2006-05-09 Dma数据传送装置、半导体集成电路装置及数据传送方法 Pending CN1892630A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2005136149A JP4836488B2 (ja) 2005-05-09 2005-05-09 データ転送装置及び半導体集積回路装置
JP2005136149 2005-05-09

Publications (1)

Publication Number Publication Date
CN1892630A true CN1892630A (zh) 2007-01-10

Family

ID=36676553

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2006101156402A Pending CN1892630A (zh) 2005-05-09 2006-05-09 Dma数据传送装置、半导体集成电路装置及数据传送方法

Country Status (5)

Country Link
US (1) US7506114B2 (zh)
EP (1) EP1722304A3 (zh)
JP (1) JP4836488B2 (zh)
CN (1) CN1892630A (zh)
TW (1) TWI326839B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387184A (zh) * 2010-08-25 2012-03-21 Lsi公司 切换装置和可在切换装置中操作的方法
CN106561085A (zh) * 2014-07-28 2017-04-12 英特尔公司 具有dut数据流送的半导体器件测试器
CN110704018A (zh) * 2019-08-26 2020-01-17 深圳芯英科技有限公司 一种数据缓存器及数据处理方法

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8341360B2 (en) * 2005-12-30 2012-12-25 Intel Corporation Method and apparatus for memory write performance optimization in architectures with out-of-order read/request-for-ownership response
US20110010512A1 (en) * 2009-07-09 2011-01-13 Mediatek Inc. Method for controlling storage system having multiple non-volatile memory units and storage system using the same
JP6225492B2 (ja) * 2012-07-13 2017-11-08 住友電気工業株式会社 光学ユニット、及び、波長選択スイッチ
JP6316593B2 (ja) * 2014-01-07 2018-04-25 ルネサスエレクトロニクス株式会社 半導体装置
WO2015155850A1 (ja) * 2014-04-09 2015-10-15 株式会社日立製作所 入出力装置及び方法
JP7367359B2 (ja) * 2018-08-10 2023-10-24 株式会社デンソー 車両用電子制御システム、ファイルの転送制御方法、ファイルの転送制御プログラム及び装置
US11231934B2 (en) * 2020-03-05 2022-01-25 Samsung Electronics Co., Ltd. System and method for controlling the order of instruction execution by a target device

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4492161A (en) * 1981-10-01 1985-01-08 Banctec, Incorporated High speed document encoding system
JPH07200461A (ja) * 1993-12-29 1995-08-04 Canon Inc メモリ制御装置およびメモリ制御方法
US5708849A (en) 1994-01-26 1998-01-13 Intel Corporation Implementing scatter/gather operations in a direct memory access device on a personal computer
JPH09223102A (ja) 1995-12-14 1997-08-26 Ricoh Co Ltd ダイレクトメモリアクセスコントローラ
US6493343B1 (en) 1998-01-07 2002-12-10 Compaq Information Technologies Group System and method for implementing multi-pathing data transfers in a system area network
JP2002259326A (ja) 2001-02-27 2002-09-13 Canon Inc Dmaコントローラ及びdma転送方法
JP3999943B2 (ja) * 2001-03-13 2007-10-31 株式会社東芝 マルチバンクアクセス制御装置及びマルチバンクアクセス制御方法
US6981073B2 (en) * 2001-07-31 2005-12-27 Wis Technologies, Inc. Multiple channel data bus control for video processing
US6836831B2 (en) 2002-08-08 2004-12-28 International Business Machines Corporation Independent sequencers in a DRAM control structure
US7512722B2 (en) 2003-07-31 2009-03-31 International Business Machines Corporation Method for completing a plurality of chained list DMA commands that include a fenced list DMA command element
JP4456490B2 (ja) * 2005-01-14 2010-04-28 富士通株式会社 Dma装置
JP2005190496A (ja) * 2005-02-14 2005-07-14 Sony Computer Entertainment Inc データ転送方法及び装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102387184A (zh) * 2010-08-25 2012-03-21 Lsi公司 切换装置和可在切换装置中操作的方法
CN102387184B (zh) * 2010-08-25 2015-04-15 Lsi公司 切换装置和可在切换装置中操作的方法
CN106561085A (zh) * 2014-07-28 2017-04-12 英特尔公司 具有dut数据流送的半导体器件测试器
CN110704018A (zh) * 2019-08-26 2020-01-17 深圳芯英科技有限公司 一种数据缓存器及数据处理方法

Also Published As

Publication number Publication date
US7506114B2 (en) 2009-03-17
US20060265534A1 (en) 2006-11-23
TW200701056A (en) 2007-01-01
JP4836488B2 (ja) 2011-12-14
TWI326839B (en) 2010-07-01
EP1722304A3 (en) 2007-05-23
EP1722304A2 (en) 2006-11-15
JP2006313478A (ja) 2006-11-16

Similar Documents

Publication Publication Date Title
CN1892630A (zh) Dma数据传送装置、半导体集成电路装置及数据传送方法
JP2020537784A (ja) ニューラルネットワークアクセラレーションのための機械学習ランタイムライブラリ
JP5137434B2 (ja) データ処理装置、分散処理システム、データ処理方法、及びデータ処理プログラム
CN1794168A (zh) 信息处理设备、信息处理方法、半导体器件及计算机程序
CN1146804C (zh) 快速16位分离事务i/o总线
JP4706720B2 (ja) Dma制御システム、印刷装置、および転送指示プログラム
CN1037982A (zh) 在有仲裁的80386/82385微机***运行中80386对***总线的抢用
CN1522405A (zh) 数据处理设备和同步数据处理设备中的第一与第二处理装置的方法
CN1904873A (zh) 嵌入式实时操作***中多核处理器的核间通信方法及装置
CN1229488A (zh) 数据传送方法和数据传送设备
JP2006195823A (ja) Dma装置
CN1037976A (zh) 在动态确定总线大小并具有80386处理器与32385高速缓冲存储器控制器的微型计算机***中对流水线操作的控制
CN1570907A (zh) 多处理器***
CN1818856A (zh) 具有加速器的数字信号***及其操作方法
JP5565204B2 (ja) データ転送装置、データ転送方法およびプログラム、ならびに、画像形成装置
CN1658194A (zh) 文件***控制装置和文件***控制方法
US12001880B2 (en) Multi-core system and method of controlling operation of the same
CN1286442A (zh) 具有共享一个共用存储器的多个处理器的装置
CN115994115B (zh) 芯片控制方法、芯片组及电子设备
CN1866233A (zh) 信号处理装置,信号处理***及信号处理方法
CN1145893C (zh) 带有具用于一个共用存储器的接口的多个处理器的装置
CN1310163C (zh) 通用串行总线主机控制器
JP6869360B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP5652242B2 (ja) データ転送制御装置及びプログラム
CN1456990A (zh) 应用程序并行处理***和应用程序并行处理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
AD01 Patent right deemed abandoned
C20 Patent right or utility model deemed to be abandoned or is abandoned