CN101589377B - 内容终止直接存储器存取电路,方法及计算系统 - Google Patents

内容终止直接存储器存取电路,方法及计算系统 Download PDF

Info

Publication number
CN101589377B
CN101589377B CN2008800027365A CN200880002736A CN101589377B CN 101589377 B CN101589377 B CN 101589377B CN 2008800027365 A CN2008800027365 A CN 2008800027365A CN 200880002736 A CN200880002736 A CN 200880002736A CN 101589377 B CN101589377 B CN 101589377B
Authority
CN
China
Prior art keywords
data
dma
transmission
dma circuit
filter criteria
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.)
Expired - Fee Related
Application number
CN2008800027365A
Other languages
English (en)
Other versions
CN101589377A (zh
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101589377A publication Critical patent/CN101589377A/zh
Application granted granted Critical
Publication of CN101589377B publication Critical patent/CN101589377B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • 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/32Handling requests for interconnection or transfer for access to input/output bus using combination of interrupt and burst mode transfer
    • 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/38Information transfer, e.g. on bus
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Bus Control (AREA)
  • Communication Control (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Abstract

一种内容终止直接存储器存取(CT-DMA)电路自主地将未知长度的数据从源传送到目的地,基于所述数据的内容来终止所述传送。在所述数据传送之前,将过滤标准提供到所述CT-DMA。所述过滤标准包括与传送数据进行比较的模式数据以及用于解译比较结果的传送终止规则。将数据写入到所述目的地,直到满足所述过滤标准为止。代表性过滤标准可包括:一个或一个以上传送数据单元与模式数据匹配;一个或一个以上传送数据单元不与模式数据匹配;或一个或一个以上传送数据单元与模式数据匹配达预定次数。

Description

内容终止直接存储器存取电路,方法及计算系统
技术领域
本发明大体上涉及计算系统中的直接存储器存取(DMA)电路,且具体来说,涉及响应于正被传送的数据的值而终止数据传送的DMA。 
背景技术
现代计算系统(包括便携式电子装置中的计算系统)处理大量数据,例如,表示相片、图形图像、视频、音频等的数字数据。必须在计算系统内传送此数据,例如从输入/输出(I/O)外围设备传送到存储器中,从存储器传送到图形帧缓冲器中,从存储器的一个区域传送到另一区域(通常,从数据源传送到数据目的地)。在不对处理器造成负担的情况下完成系统内数据传送的已知技术包括直接存储器存取(DMA)电路,也称作DMA控制器。 
处理器用源和目的地信息(其任一者可包含存储器地址或外围设备端口)和传送计数来初始化DMA控制器,例如,通过将所述信息写入到DMA控制器中的控制寄存器,或通过在存储器中写入控制区块且在DMA控制器寄存器中将指针指向所述控制区块。在从处理器接收到GO指示或命令后,DMA控制器自主地从源读取数据且将其写入到目的地,重复所述过程直到已传送指定数目个数据单元为止。复杂的DMA控制器可包括多个通道,且可处理许多低级数据传送任务(例如分散/搜集操作)以在具有不同字大小的单元之间传送数据。其也被称作链式DMA传送。在链式操作中,将用于后续DMA传送的信息(例如,新的源、目的地、计数等)提供或引导到DMA控制器,此在正在进行的DMA传送终止后开始。 
处理器不能总是先验地获知要求在计算系统内传送的数据的集合的长度。举例来说,为了复制字符串(例如,“Hello world”),从源位置检索每一字符,将其置于寄存器中,且与零(C语言串终止字符)进行比较。如果比较失败,则将字符写入到目的地位置且读取并比较下一字符。当处理器遇到字符串中的零时,数据传送完成。此为处理器密集型任务,且另外为包括非常大量的存储器存取的任务。如果源和/或目的地地址是不可高速缓冲的,则CPU可能花费相当多的时间来等待存储器操作完成,尤其是在存储器存取比处理器执行慢得多的系统中。此使处理器性能严重降低。 
因为字符串的长度为未知的,所以通常不将数据传送任务卸载到常规DMA控制器。常规DMA控制器不能检查其传送的数据,且“盲目地”将指定量的数据从源传送到目的地。通过将每一字符与已知数据模式进行比较来确定字符串的长度。此比较常规上由处理器执行。对于将数据传送任务卸载到常规DMA控制器的处理器,其将必须连续地读取并比较字符以确定串长度,且接着以传送计数来制定DMA操作。然而,由于此做法执行数据传送任务的一半(读取),所以具有常规DMA控制器的系统中的处理器简单地将每一字符直接写入到目的地,且在检测到区分所述串的结尾的已知数据模式时停止所述处理。 
其它协议使用多个字符来终止数据串。举例来说,在超文本标记语言(HTML)中,通过序列</keyword>来终止接收某些格式化或处置的串,此要求检测多个连续的字符比较。 
发明内容
在本文所揭示且主张的一个或一个以上实施例中,内容终止直接存储器存取(CT-DMA)电路执行未知长度的数据的DMA传送,基于数据的内容来终止传送。在数据传送之前,将过滤标准提供到CT-DMA。过滤标准包括与传送数据进行比较的模式数据和用于解译比较结果的传送终止规则。CT-DMA从源读取数据且将其写入到目的地直到满足过滤标准为止。 
一个实施例涉及一种CT-DMA电路。所述电路包括操作以从源读取数据和/或将数据写入到目的地的数据传送接口,和操作以存储过滤标准的存储器。所述CT-DMA电路另外包括操作以将传送数据与一个或一个以上过滤标准进行比较的比较器,和操作以响应于比较器输出而终止DMA传送的控制器。 
另一实施例涉及一种将未知量的数据从源传送到目的地的方法。从源连续地读取数据且将其与预定模式数据进行比较。响应于所述比较而做出何时终止传送的确定。将数据连续地写入到目的地,直到终止传送为止。这些方法步骤由处理器自主地执行。 
又一实施例涉及一种计算系统。所述系统包括操作以提供数据的数据源,和操作以接收数据的数据目的地。所述系统还包括CT-DMA电路,其操作以执行从源到目的地的DMA数据传送且进一步操作以响应于传送数据的一个或一个以上值而终止DMA传送。所述系统进一步包括操作以初始化CT-DMA电路的处理器。 
附图说明
图1为包括CT-DMA电路的计算系统的功能框图。 
图2为CT-DMA电路中的数据比较电路的功能框图。 
图3为将未知量的数据从源传送到目的地的方法的流程图。 
具体实施方式
根据一个或一个以上实施例,内容终止直接存储器存取(CT-DMA)电路将未知长度的数据从源传送到目的地,且通过“在运行中”将过滤标准应用于数据来终止传送。过滤标准包括与正被传送的数据进行比较的模式数据,和用于响应于所述比较而终止传送的规则。 
图1描绘整体由数字10指示的代表性计算系统。计算系统10包括处理器12,处理器12可包括一级(L1)高速缓冲存储器14。如此项技术中已知,处理器12可包含所存储程序的微处理器、数字信号处理器(DSP)等。在存储器层级中可由L2高速缓冲存储器16支持L1高速缓冲存储器14。在一个实施例中,存储器的包含L2高速缓冲存储器16的部分由处理器12用作紧密耦合式存储器(TCM)18。TCM 18为存储器层级中主要存储器地址空间的一部分,但其在物理上和逻辑上更紧密地耦合到处理器12——例如,处理器不需要针对系统总线20进行仲裁以存取TCM 18。L2高速缓冲存储器16和CT-DMA 26在系统总线20上读取并写入主要存储器22。TCM 18和输入/输出(I/O)外围设备24(例如,NIC卡、无线通信收发器、蓝牙接口等)为系统总线20上的从属装置。I/O外围设备24可将数据传送到和/或传送出计算系统10。 
CT-DMA电路26为系统总线20上的主装置,借其可读取并写入主要存储器22、TCM 18和I/O外围设备24。CT-DMA电路26可另外或替代地直接连接到I/O外围设备24的数据端口。此外,在图1中所描绘的实施例中,CT-DMA电路26与处理器12紧密地整合,且可直接存取TCM 18(例如通过在处理器12与CT-DMA 26之间将地址位多路复用到TCM 18)。 
在由处理器12初始化后,CT-DMA电路26在计算系统10内将数据从源传送到目的地,响应于所述数据的一个或一个以上值而终止传送。作为一个说明性实例,处理器12可引导CT-DMA电路26将未知长度的字符串从主要存储器22传送到TCM 18中,其中处理器12可更有效地对字符串进行操作。 
在一个或一个以上实施例中,当CT-DMA电路26响应于正被传送的数据而确定传 送完成时,其终止传送且可直接地或经由中断控制器28来中断处理器12。在其它实施例中,CT-DMA电路26可在控制寄存器中设置旗标,且依赖于处理器12轮询所述旗标的状态来确定数据传送完成。在其它实施例中,CT-DMA电路26可以所属领域的技术人员容易想出的满足任何特定实施方案的需求或偏好的多种方式通过信号向处理器12通知完成的数据传送操作。 
如本文中所使用,数据源指代任何存储器位置22、18、外围设备24的数据端口,或可由CT-DMA电路26在系统总线20上或通过直接连接来存取的其它数据源。如本文中所使用,数据目的地类似地指代任何存储器22、18或外围设备24。另外,数据目的地可为空(NULL)目的地,在此种情况下丢弃传送数据。出于多种原因,可有利地将数据“传送”到空目的地,例如,以确定字符串的长度(例如,C语言操作strlen)。 
图2为功能框图,其经呈现以阐明代表性CT-DMA电路26的一个实施例的数据比较功能性的方面。请注意,图2不希望表示任何给定CT-DMA电路26的实际硬件。此外,图2描绘CT-DMA电路26功能性的子集;为清楚起见,从图2省略了与论述无密切关系的许多DMA电路和功能。 
在一个实施例中,CT-DMA电路26包括先进先出(FIFO)数据缓冲器30,其在所描绘的实例中包含八个存储位置。如此项技术中已知,存储位置可包含寄存器或存储器,且可被组织成多种操作缓冲器30中的任一者。存储位置可按需要或要求而具有任何宽度(例如,字节、半字、字等),且存储于每一存储位置中的数据在本文中被称作数据“单元”。当然,缓冲器30可按需要或要求而包含比八个以上或以下的存储位置。将在CT-DMA数据传送期间从源读取的数据输入到FIFO 30,且视比较操作的结果而定,可将其写入到目的地。这些数据在本文中被称作传送数据。 
CT-DMA电路26包括模式数据存储装置32。处理器12可在起始CT-DMA数据传送之前将预定数据模式写入到模式数据存储位置32。在图2中所描绘的实施例中,模式数据存储装置32在存储位置的数目和其数据宽度方面镜射FIFO 30。在其它实施例中,存储位置的数目可不匹配。具体来说,在一个实施例中,FIFO 30可包含一个或一个以上存储位置,且模式数据存储装置32可包含比FIFO 30中的数目大的多个存储位置。在此种情况下,控制电路(例如,状态机)可连续地将FIFO 30中的每一传送数据单元与一个以上数据模式单元进行比较。在一个实施例中,无论数据存储位置的数目是否匹配,FIFO 30与模式数据存储装置32之间的数据单元宽度均可不同。举例来说,可将模式数据的单个字节与(例如)每一传送数据字的同一字节、每一数据传送字的每一字节等进行比较。这些数据比较程序可为可编程的且可包括于过滤标准中。在一个实施例中, 例如在用于应用的特定模式数据是已知的实施例中,模式数据存储装置32可包含一个或一个以上硬连线位模式。 
在传送数据流过FIFO 30时,将其与n位比较器34中的对应模式数据进行比较(其中n与数据单元宽度(即,FIFO 30和模式数据32条目的宽度)匹配)。将比较器34的输出一起进行逻辑“与”以检测传送数据与模式数据的一个或一个以上单元之间的匹配。在一个实施例中,如图2中所描绘,将“与”功能36与提供到传送终止决策逻辑38的每一中间输出进行级联。在所描绘的实施例中,传送终止决策逻辑38可检测包含从一到八个数据单元的传送终止比较。举例来说,传送终止规则可要求在字符串中高达八个字符以特定次序与预定字符匹配,以便终止传送。 
由处理器12将传送终止决策逻辑38操作所遵循的规则提供到CT-DMA控制逻辑40,CT-DMA控制逻辑40接着配置传送终止决策逻辑38。这些传送终止规则与模式数据一起在本文中被称作过滤标准。一般来说,发明性CT-DMA电路26可支持一组丰富的过滤标准,从而提供广泛范围的传送终止功能性。以下列表提供由CT-DMA电路26的实施例通过更改过滤标准和数据目的地而提供的功能性的一些代表性且非限制性实例;一些功能包括可由相关联的功能性直接实施的C语言命令: 
·由预定密钥终止的数据传送(strcpy); 
·空目的地:不执行或放弃复制(strcmp); 
·确定传送的长度(strlen)-伴随着传送或通过传送到空目的地而仅执行计数; 
·最大长度可与传送相关联(strnlen、strncpy、strncmp); 
·由多元密钥终止的数据传送(HTML标签); 
·对不同密钥的比较结果的逻辑组合(“与”、“或”); 
·传送数据与模式数据匹配达预定次数; 
·反向匹配情况(即,当传送数据不与模式数据匹配时终止传送)。 
控制逻辑40另外包括多种状态寄存器、计数器和逻辑(未图标)以实施常规DMA传送功能性和丰富的内容终止DMA的集合。举例来说,通过控制地址产生电路42,控制逻辑40可支持广泛范围的CT-DMA传送功能性,例如: 
·递增或不递增源和/或目的地地址(例如,串流数据); 
·执行分散/搜集操作以在具有不同字宽度的源与目的地之间传送数据; 
·上升或下降传送(即,递增或递减连续地址); 
·跨距设置(行/列变换),包括使用空目的地来选择性地传送模式或不传送模式 
·内容控制的链式DMA传送。 
可以多种方式由传送数据的内容来控制链式DMA传送。举例来说,当前DMA操作中的传送数据的一个或一个以上值可确定利用哪一DMA通道进行后续DMA操作。作为另一实例,可由传送数据的值确定后续DMA操作的源和/或目的地、跨距和/或计数。在一个实施例中,传送数据与模式数据的匹配可通过将CT-DMA引导到含有DMA控制参数的不同存储器位置(源、目的地等)来控制后续DMA操作。 
图3描绘从处理器12(左)和CT-DMA电路26(右)两者的观点将未知量的数据从源传送到目的地的方法的流程图。当处理器12通过将初始化信息(例如,源和目的地地址或识别符和过滤标准(包括模式数据和传送终止规则))提供到CT-DMA电路26(方框100)来设置传送时,所述方法开始。此可包含将所述信息写入到CT-DMA电路26上的寄存器和/或模式数据存储装置32,或替代地将所述信息写入到存储器且将指向存储器位置的指针写入到CT-DMA电路26寄存器。CT-DMA电路26直接地或通过从存储器读取初始化信息而对应地接受所述信息(方框102)。处理器12接着将GO指示发送到CT-DMA电路26(方框103)以开始传送。GO指示可包含将旗标写入到CT-DMA控制逻辑40中的控制寄存器、在处理器12与CT-DMA电路26之间断言信号,或通过此项技术中已知的其它手段。 
CT-DMA电路26通过将数据单元从可包含存储器位置或外围设备端口的源读取到例如FIFO 30等缓冲器中(方框104)而开始传送。视源数据接口的宽度而定,数据单元读取可能需要针对所述源的一个或一个以上读取操作。CT-DMA电路26将FIFO 30中的传送数据与由处理器12提供的模式数据32进行比较(方框106)。CT-DMA电路26中的传送终止决策逻辑38将由处理器12提供的传送终止规则应用于比较的结果(方框108)。如果传送终止决策逻辑38指示仍不应终止传送(方框110),则CT-DMA电路26将数据单元写入到目的地存储器地址或外围设备端口(方框112),其可能需要针对目的地的一个或一个以上写入操作。CT-DMA电路26接着更新传送计数(例如通过递增或递减计数器)(方框114),且从源读取另一传送数据单元(方框104)。 
当CT-DMA电路26基于将传送终止规则应用于传送数据和模式数据的比较结果而确定传送应终止时,其通知处理器12。如上所述,此通知可包含断言中断、将旗标或其它预定数据写入到预定位置(例如,控制逻辑40中的状态寄存器或存储器22中的预定位置),或其它通知手段。 
在其中处理器12想要维护终止密钥作为数据传送的一部分的一个或一个以上实施例中,终止传送决策(方框110)可致使CT-DMA电路26停止从源读取数据(方框104),但继续将传送数据写入到目的地(方框112)且更新传送计数(方框114),直到已传送 终止密钥为止。在一些实施例中,终止行为是可编程的——即,由处理器12将是否写入终止密钥作为传送的一部分的决策指定为初始化信息的一部分。 
图3中的虚线描绘处理器12与CT-DMA电路26之间的同步。从处理器12发出GO指示(方框103)时直到CT-DMA电路26通知处理器12传送完成(方框116)为止,处理器12自由地执行其它任务(方框118),或在没有其它任务待处理的情况下进入休眠模式。在从CT-DMA电路26接收到传送完成的通知后(方框116),处理器可在目的地处处理所传送的数据(方框120),或以其它方式继续进行数据传送后的活动。 
CT-DMA电路26的实施例可通过执行未知长度的例程数据传送(和相关操作,例如确定串长度)、使处理器12自由地执行其它任务而显著地改进处理器性能。另外,CT-DMA电路26可(例如)通过避免在与从源读取且写入到目的地的每一数据单元相关联的L1高速缓冲存储器14和L2高速缓冲存储器16中的重复查找而节省功率。 
当然,在不脱离本发明的本质特征的情况下,可以除本文中所特定陈述的方式以外的其它方式来实行本发明。将认为本发明的实施例在所有方面均是说明性且非限制性的,且希望处于所附权利要求书的含义和等效范围内的所有改变均包含于其中。 

Claims (27)

1.一种内容终止直接存储器存取CT-DMA电路,其包含:
至少一个数据传送接口,用于接收过滤标准,其中,所述过滤标准包括模式数据和传送终止规则;
存储器,其操作以存储所述过滤标准;
比较器,其操作以将传送数据与所述模式数据进行比较以生成比较结果;以及
控制器,其操作以向所述比较结果应用所述传送终止规则,其中,在确定所述传送终止规则被满足后,所述控制器响应于比较器输出而终止DMA传送。
2.根据权利要求1所述的CT-DMA电路,其中所述数据传送接口包含系统总线接口。
3.根据权利要求1所述的CT-DMA电路,其中所述数据传送接口包含到另一电路的专用数据接口。
4.根据权利要求1所述的CT-DMA电路,其中所述存储器包含一个或多个寄存器。
5.根据权利要求4所述的CT-DMA电路,其中所述寄存器是经由处理器所执行的协处理器寄存器存取指令而被存取。
6.根据权利要求4所述的CT-DMA电路,其中所述寄存器是存储器映射的。
7.根据权利要求1所述的CT-DMA电路,其中所述存储器包含硬连线数据模式。
8.根据权利要求1所述的CT-DMA电路,其中所述过滤标准包含一个或多个模式数据单元,且其中所述比较器操作以将一个或多个传送数据单元与所述模式数据进行比较。
9.根据权利要求8所述的CT-DMA电路,其中所述比较器操作以将一传送数据单元与两个或两个以上模式数据单元进行比较。
10.根据权利要求8所述的CT-DMA电路,其中所述控制器操作以在一个或多个传送数据单元与所述模式数据匹配时终止DMA传送。
11.根据权利要求8所述的CT-DMA电路,其中所述控制器操作以在一个或多个传送数据单元不与所述模式数据匹配时终止DMA传送。
12.根据权利要求8所述的CT-DMA电路,其中所述控制器操作以在一个或多个传送数据单元与所述模式数据匹配达预定次数时终止DMA传送。
13.根据权利要求1所述的CT-DMA电路,其中所述控制器操作以通过断言中断而终止DMA传送。
14.根据权利要求1所述的CT-DMA电路,其中所述控制器操作以通过将预定值写入到预定位置而终止DMA传送。
15.根据权利要求1所述的CT-DMA电路,其中所述控制器进一步操作以响应于所述比较器输出而起始另一DMA传送。
16.根据权利要求15所述的CT-DMA电路,其中响应于所述比较器输出而起始另一DMA传送包含:从响应于所述比较器输出而确定的存储器位置读取DMA控制参数。
17.一种将未知量的数据从源传送到目的地的方法,其包含:
接收过滤标准,所述过滤标准包括模式数据和传送终止规则;
从所述源连续地读取传送数据;
将传送数据与所述模式数据进行比较以生成比较结果;
向所述比较结果应用所述传送终止规则来确定何时终止传送;以及
将传送数据连续地写入到所述目的地直到所述传送终止规则被满足为止;
其中由处理器自主地执行这些方法步骤。
18.根据权利要求17所述的方法,其中响应于所述比较而确定何时终止传送包含:确定在一个或多个传送数据单元与所述模式数据匹配时终止所述传送。
19.根据权利要求17所述的方法,其中响应于所述比较而确定何时终止传送包含:确定在一个或多个传送数据单元不与所述模式数据匹配时终止所述传送。
20.根据权利要求17所述的方法,其中响应于所述比较而确定何时终止传送包含:确定在一个或多个传送数据单元与所述模式数据匹配达预定次数时终止所述传送。
21.根据权利要求17所述的方法,其进一步包含接收过滤标准。
22.根据权利要求21所述的方法,其中所述过滤标准包含所述模式数据。
23.根据权利要求22所述的方法,其中所述过滤标准进一步包含用于将传送数据与模式数据的比较进行组合的规则。
24.一种计算系统,其包含:
数据源,其操作以提供数据;
数据目的地,其操作以接收数据;
内容终止直接存储器存取CT-DMA电路,其操作以:
接收过滤标准,所述过滤标准包括模式数据和传送终止规则;
从所述源连续地读取传送数据;
将传送数据与所述模式数据进行比较以生成比较结果;
向所述比较结果应用所述传送终止规则来确定何时终止传送;以及
将传送数据连续地写入到所述目的地直到所述传送终止规则被满足为止;以及
处理器,其操作以初始化所述CT-DMA电路。
25.根据权利要求24所述的系统,其中所述处理器通过将过滤标准写入到所述CT-DMA电路中的一个或多个存储器位置而初始化所述CT-DMA电路。
26.根据权利要求24所述的系统,其中所述CT-DMA电路将传送数据与过滤标准进行比较,且响应于所述比较而终止所述数据传送。
27.根据权利要求24所述的系统,其中所述处理器通过将过滤标准写入到存储器且向所述CT-DMA电路提供指向所述存储器的指针而初始化所述CT-DMA电路。
CN2008800027365A 2007-01-24 2008-01-24 内容终止直接存储器存取电路,方法及计算系统 Expired - Fee Related CN101589377B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/626,414 2007-01-24
US11/626,414 US7934025B2 (en) 2007-01-24 2007-01-24 Content terminated DMA
PCT/US2008/051965 WO2008092044A2 (en) 2007-01-24 2008-01-24 Content-terminated dma

Publications (2)

Publication Number Publication Date
CN101589377A CN101589377A (zh) 2009-11-25
CN101589377B true CN101589377B (zh) 2012-05-23

Family

ID=39366882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008800027365A Expired - Fee Related CN101589377B (zh) 2007-01-24 2008-01-24 内容终止直接存储器存取电路,方法及计算系统

Country Status (8)

Country Link
US (1) US7934025B2 (zh)
EP (1) EP2126710B1 (zh)
JP (1) JP5185289B2 (zh)
KR (1) KR101064101B1 (zh)
CN (1) CN101589377B (zh)
AT (1) ATE540362T1 (zh)
TW (1) TW200842593A (zh)
WO (1) WO2008092044A2 (zh)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7831746B2 (en) * 2007-03-13 2010-11-09 Sgi International, Inc. Direct memory access engine for data transfers
JP4985599B2 (ja) * 2008-09-18 2012-07-25 Necエンジニアリング株式会社 Dma転送制御システム
US8055816B2 (en) * 2009-04-09 2011-11-08 Micron Technology, Inc. Memory controllers, memory systems, solid state drives and methods for processing a number of commands
US20110093099A1 (en) * 2009-10-16 2011-04-21 Newport Controls Controller system adapted for spa
US8589603B2 (en) * 2010-08-30 2013-11-19 International Business Machines Corporation Delaying acknowledgment of an operation until operation completion confirmed by local adapter read operation
WO2012032582A1 (en) * 2010-09-10 2012-03-15 Hitachi, Ltd. Storage system and data transfer method of storage system
JPWO2012039143A1 (ja) * 2010-09-21 2014-02-03 三菱電機株式会社 Dmaコントローラ及びデータ読出装置
US11797474B2 (en) * 2011-02-17 2023-10-24 Hyperion Core, Inc. High performance processor
US9454367B2 (en) * 2012-03-15 2016-09-27 International Business Machines Corporation Finding the length of a set of character data having a termination character
US8943239B2 (en) 2012-07-30 2015-01-27 Qualcomm Incorporated Data snooping direct memory access for pattern detection
US10049061B2 (en) * 2012-11-12 2018-08-14 International Business Machines Corporation Active memory device gather, scatter, and filter
EP2923279B1 (en) 2012-11-21 2016-11-02 Coherent Logix Incorporated Processing system with interspersed processors; dma-fifo
DE102013109978A1 (de) * 2013-09-11 2015-03-12 Technische Universität Dresden Verfahren und Vorrichtung zum Vor-Auswählen, Filtern und Verteilen von Daten in Datenbank-Management-Systemen
JP6205386B2 (ja) * 2015-05-18 2017-09-27 長瀬産業株式会社 半導体装置及び情報書込/読出方法
US10599208B2 (en) 2015-09-08 2020-03-24 Toshiba Memory Corporation Memory system and controller

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271329A2 (en) * 2001-06-29 2003-01-02 Zarlink Semiconductor Limited Improvements in DMA controller systems
US6904473B1 (en) * 2002-05-24 2005-06-07 Xyratex Technology Limited Direct memory access controller and method of filtering data during data transfer from a source memory to a destination memory

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6072057A (ja) * 1983-09-28 1985-04-24 Nec Corp Dmaコントロ−ラ
JPS6426964A (en) * 1987-07-23 1989-01-30 Fujitsu Ltd Memory writing device for code data
JPH03156659A (ja) * 1989-11-15 1991-07-04 Hitachi Ltd ダイレクトメモリアクセスコントローラ
JPH0535656A (ja) * 1991-07-30 1993-02-12 Oki Electric Ind Co Ltd データ検索方式
JPH08287003A (ja) * 1995-04-11 1996-11-01 Mitsubishi Electric Corp Dmaコントローラ
US5784390A (en) * 1995-06-19 1998-07-21 Seagate Technology, Inc. Fast AtA-compatible drive interface with error detection and/or error correction
US6081852A (en) * 1996-04-26 2000-06-27 Texas Instruments Incorporated Packet data transferring system for autonomously operating a DMA by autonomous boot mode select signal wherein the DMA is enabled to at least one program control list
US6185634B1 (en) * 1996-09-27 2001-02-06 Emc Corporation Address triggered DMA controller with an indicative signal including circuitry for calculating a new trigger address value based on the sum of the current trigger address and the descriptor register data with a trigger address register
US6157971A (en) * 1998-06-02 2000-12-05 Adaptec, Inc. Source-destination re-timed cooperative communication bus
JP3765931B2 (ja) * 1998-10-15 2006-04-12 富士通株式会社 バッファ制御方法及びバッファ制御装置
US6611879B1 (en) * 2000-04-28 2003-08-26 Emc Corporation Data storage system having separate data transfer section and message network with trace buffer
US6681273B1 (en) * 2000-08-31 2004-01-20 Analog Devices, Inc. High performance, variable data width FIFO buffer
US6901468B1 (en) * 2000-09-27 2005-05-31 Emc Corporation Data storage system having separate data transfer section and message network having bus arbitration
US6831916B1 (en) * 2000-09-28 2004-12-14 Balaji Parthasarathy Host-fabric adapter and method of connecting a host system to a channel-based switched fabric in a data network
US6775719B1 (en) * 2000-09-28 2004-08-10 Intel Corporation Host-fabric adapter and method of connecting a host system to a channel-based switched fabric in a data network
US6981073B2 (en) * 2001-07-31 2005-12-27 Wis Technologies, Inc. Multiple channel data bus control for video processing
US6754733B2 (en) * 2001-08-23 2004-06-22 Texas Instruments Incorporated Shared memory architecture for increased bandwidth in a printer controller
US20040153911A1 (en) * 2002-12-24 2004-08-05 Alon Regev Testing of a CAM
US7200688B2 (en) 2003-05-29 2007-04-03 International Business Machines Corporation System and method asynchronous DMA command completion notification by accessing register via attached processing unit to determine progress of DMA command
JP4373255B2 (ja) 2004-03-23 2009-11-25 富士通株式会社 ダイレクトメモリアクセス制御装置および方法
JP2005149519A (ja) * 2004-12-14 2005-06-09 Ricoh Co Ltd 情報処理装置
JP4972932B2 (ja) * 2005-12-26 2012-07-11 富士通株式会社 メモリアクセス装置
US7721018B2 (en) * 2006-08-24 2010-05-18 Microchip Technology Incorporated Direct memory access controller with flow control
US20080140963A1 (en) * 2006-12-11 2008-06-12 Thomason Ronald G Methods and systems for storage system generation and use of differential block lists using copy-on-write snapshots
US8117475B2 (en) * 2006-12-15 2012-02-14 Microchip Technology Incorporated Direct memory access controller

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1271329A2 (en) * 2001-06-29 2003-01-02 Zarlink Semiconductor Limited Improvements in DMA controller systems
US6904473B1 (en) * 2002-05-24 2005-06-07 Xyratex Technology Limited Direct memory access controller and method of filtering data during data transfer from a source memory to a destination memory

Also Published As

Publication number Publication date
KR101064101B1 (ko) 2011-09-08
KR20090102870A (ko) 2009-09-30
US7934025B2 (en) 2011-04-26
EP2126710A2 (en) 2009-12-02
WO2008092044A2 (en) 2008-07-31
JP2010517182A (ja) 2010-05-20
EP2126710B1 (en) 2012-01-04
WO2008092044A3 (en) 2008-12-18
JP5185289B2 (ja) 2013-04-17
ATE540362T1 (de) 2012-01-15
TW200842593A (en) 2008-11-01
US20080177909A1 (en) 2008-07-24
CN101589377A (zh) 2009-11-25

Similar Documents

Publication Publication Date Title
CN101589377B (zh) 内容终止直接存储器存取电路,方法及计算系统
US9886017B2 (en) Counter operation in a state machine lattice
CN100568187C (zh) 一种用于对调试消息进行掩码的方法和装置
US9509312B2 (en) Boolean logic in a state machine lattice
US10366009B2 (en) Methods and systems for handling data received by a state machine engine
US10671295B2 (en) Methods and systems for using state vector data in a state machine engine
EP2891054B1 (en) Methods and systems for power management in a pattern recognition processing system
US10929154B2 (en) Overflow detection and correction in state machine engines
EP2312457B1 (en) Data processing apparatus, data processing method and computer-readable medium
WO2016109570A1 (en) Systems and devices for accessing a state machine
CN114443528A (zh) 一种dma二维数据传输/清零参数配置方法
CN113032298A (zh) 用于保序的计算装置、集成电路装置、板卡及保序方法
JP2004118235A (ja) データ処理装置

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20120523

Termination date: 20220124