CN101174248A - 利用直接存储器存取控制来传输数据的方法和装置 - Google Patents
利用直接存储器存取控制来传输数据的方法和装置 Download PDFInfo
- Publication number
- CN101174248A CN101174248A CNA2007101270578A CN200710127057A CN101174248A CN 101174248 A CN101174248 A CN 101174248A CN A2007101270578 A CNA2007101270578 A CN A2007101270578A CN 200710127057 A CN200710127057 A CN 200710127057A CN 101174248 A CN101174248 A CN 101174248A
- Authority
- CN
- China
- Prior art keywords
- length value
- burst length
- data
- current
- transmission
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling 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)
- Information Transfer Systems (AREA)
Abstract
一种直接存储器存取控制方法包括:检查与存储在源存储器中的数据传输到目的存储器之后所剩余的数据相应的剩余数据的长度值、以及当前设置的突发长度值;基于检查结果比较剩余数据长度值和当前设置的突发长度值;以及基于比较结果选择性地改变当前设置的突发长度值,并且传输数据到目的存储器。
Description
技术领域
与本发明一致的方法和装置涉及利用直接存储器存取控制来传输数据。
背景技术
直接存储器存取(DMA)控制是一种控制存储在源存储器中的数据以便不经过中央处理单元(CPU)而直接传输数据到目的存储器的方法。
为了利用DMA方法,需要将DMA控制设备安装在系统总线上。
图1是说明相关技术的DMA控制装置120操作的示意框图。参考图1,将中央处理单元(CPU)110、DMA控制装置120、源存储器130和目的存储器140连接到总线150上。DMA控制装置120从CPU 110取得系统控制权并且处理CPU 110的系统控制功能。为了完成此过程,例如,如果所述的系统控制功能是读或写数据块,CPU 110通过总线150将读/写操作命令、源存储器130的地址、目的存储器140的地址以及有关例如传输数据量的信息发送给DMA控制装置120。在向DMA控制装置120发送了所述的命令和信息之后,CPU 110执行其它操作。
DMA控制装置120控制存储在源存储器130中的数据以便不经过CPU110传输数据而将所述数据传输到目的存储器140中。当执行上述控制时,DMA控制装置120的控制模式可以是单一模式或突发模式。
单一模式表示这样的一种模式,在此模式下,如果在向目的存储器140传输数据期间产生高级别中断,先处理高级别中断,然后再恢复所述的数据传输。突发模式表示这样的一种模式,在此模式下,完成所有连续的数据块传输而不响应中断。因此,在单一模式下,当获得存取允许时传输和接收一块数据。在突发模式下,当获得存取允许时传输和接收多块数据。
将参考图1详细描述在突发模式下DMA控制装置120的操作。首先,DMA控制装置120向源存储器130发送表示DMA控制装置120想接收具有与当前设置的突发长度值对应的长度的数据的信号。例如,当突发长度值是4个字时,DMA控制装置120向源存储器130发送表示想要传输4个字长度的数据的信号。
作为对来自DMA控制装置120的所述信号的响应,源存储器130从要传输的数据中传输4个字长度的数据到DMA控制装置120。DMA装置120将从源存储器130接收的4个字长度的数据存储在包括在DMA装置120中的先入先出(FIFO)存储器中。
然后,DMA装置120向目的存储器140发送表示4个字长度的数据传输的信号,然后将4个字长度的数据传输到目的存储器140。重复此传输过程直到将存储在源存储器130中的所有数据传输到目的存储器140为止。
图2是说明由图1的相关技术的DMA控制装置120所执行的数据传输的示意图。当突发长度值是4个字并且在4个字单元传输重复之后与剩余在源存储器130中的数据相应的剩余数据是6个字时,执行图2所示的数据传输。
参考图2,在时段210中,在数据传输开始之前,在源存储器130中存储与6个字对应的数据,并且突发长度值被设置为4个字。
在时段220中,从剩余在源存储器130中的6个字数据中传输其中与突发长度值相应的4个字数据到目的存储器140,这样,2个字数据保留在源存储器130中。因为突发长度值被固定为4个字,所以在突发模式下无法传输剩余的2个字数据。
在时段230中,在CPU 110将突发模式改为单一模式后,从剩余的2个字数据中传输与一个字相应的数据。
在时段240中,在时段230之后将剩余在存储器130中的1个字数据传输到目的存储器140中。因此,完成了存储在源存储器130中的所有数据的传输。
如上所述,在传统DMA控制方法中,在突发模式下突发长度值被固定,这样,具有小于固定突发长度值的长度的数据必须在单一模式下被传输。因此,CPU必须执行改变模式的附加操作以便在单一模式下传输剩余数据。此外,除非最初设计了芯片,否则没有办法检查在数据传输期间的传输效率。换言之,仅在初始设计芯片的操作中,才能够检查传输效率。
发明内容
本发明提供了一种直接存储器存取控制装置和方法,该方法和装置通过动态改变突发长度值来使得数据传输更加高效,并且用户通过测量数据传输效率能够确定数据传输的效率。
根据本发明的一个方面,提供了一种在存储要传输数据的源存储器和存储所传输数据的目的存储器之间利用DMA控制来执行数据传输的方法,该方法包括:检查与在将存储在源存储器中的数据传输到目的存储器之后所剩余数据相应的剩余数据的长度值、以及当前设置的突发长度值;在检查结果的基础上,把剩余数据的长度值和当前设置的突发长度值进行比较;以及在比较结果的基础上选择性地改变当前设置的突发长度值,并且传输数据到目的存储器。
在选择性地改变当前设置的突发长度值并且传输数据的过程中,如果当前设置的突发长度值大于剩余数据长度值,可以将当前设置的突发长度值改为小于或等于剩余数据的长度值,并且传输与所改变的突发长度值相应的数据。
在选择性地改变当前设置的突发长度值并且传输数据的过程中,可以将突发长度值改为在小于或等于剩余数据长度值中的最大值。
在选择性地改变当前设置的突发长度值并且传输数据的过程中,如果当前设置的突发长度值小于或等于剩余数据的长度值,可以不改变当前设置的突发长度值。
数据传输方法可以进一步包括,在检查剩余数据长度的操作之前,从中央处理单元接收新的突发长度值并且将当前设置的突发长度值设置为所接收的新突发长度值。
在将当前设置的突发长度值设置为所接收的新突发长度值的过程中,当当前正在进行的数据读/写操作完成时,可以将当前设置的突发长度值设置为所接收的新突发长度值。
数据传输方法可以进一步包括,检查从数据从源存储器到目的存储器传输开始到传输完成所需的总时间段,以及在所检查结果的基础上估计数据传输的效率。
可以在时钟信号的基础上测量所需要的总时间段。
总时间段的检查可以进一步包括在从传输开始到传输完成期间针对每个突发长度值所执行的数据读/写操作数。
总时间段的检查可以进一步包括从源存储器到目的存储器的传输开始到传输完成的针对每个突发长度值所需要的时间段。
根据本发明的另一个方面,本发明提供DMA控制装置,用于控制在存储要传输数据的源存储器和存储所传输数据的目的存储器之间的数据传输,直接存储器存取控制装置包括:计数单元,检查与在将源存储器中的数据传输到目的存储器之后剩余的数据相应的剩余数据的长度值、以及当前设置的突发长度值;比较单元,在计数单元所检查结果的基础上把剩余数据的长度值与当前设置的突发长度值进行比较;突发长度值设置单元,在比较结果的基础上选择性地改变当前设置的突发长度值,并将数据发送到目的存储器;以及突发信号传输单元,传输用于传输与所改变的突发长度值相应的数据的突发信号。
直接存储器存取控制装置可以进一步包括寄存器,用于存储从中央处理单元接收的新的突发长度值。突发长度值设置单元可以将当前设置的突发长度值设置为所接收的新突发长度值。
当从源存储器到目的存储器的数据传输完成时,计数单元可以检查从源存储器到目的存储器的数据传输开始到传输结束所需要的总时间段。
当从源存储器到目的存储器的数据传输完成时,计数单元可以检查在从源存储器到目的存储器的传输开始到传输完成期间针对每个突发长度值所执行的数据读/写操作数。
当从源存储器到目的存储器的数据传输完成时,计数单元可以检查在从源存储器到目的存储器的传输开始到传输完成期间针对每个突发长度值所需要的时间段。
直接存储器存取控制装置可以进一步包括传输效率确定单元,在计数单元检查结果的基础上估计数据传输的效率。
根据本发明的另一个方面,本发明提供在其上已经存储了用于利用DMA控制执行前述数据传输方法的程序的计算机可读记录介质。
附图说明
通过参考附图对本发明的示例实施例的详细描述,本发明的以上和其它方面将变得更加显而易见。
图1是说明相关技术的DMA控制装置操作的示意图。
图2是说明由图1的相关技术的DMA控制装置所执行的数据传输的示意图。
图3是根据本发明示例实施例的DMA控制装置的框图。
图4是根据本发明示例实施例的、说明图3的DMA控制装置中包含的传输效率确定单元的操作的示意图。
图5是根据本发明示例实施例的说明通过改变突发长度值来传输数据的方法的示意图。
图6是根据本发明示例实施例的说明将当前突发长度值改为CPU设置的新突发长度值的方法的示意图。
图7是根据本发明另一个示例实施例的利用DMA控制传输数据的方法的流程图。
具体实施方式
现在将参考附图更加全面描述本发明,附图中给出本发明的示例实施例。
图3是根据本发明示例实施例的DMA控制装置的框图。参考图3,DMA控制装置包括计数单元310、比较单元320、突发长度值设置单元330、突发信号传输单元340、传输效率确定单元350和寄存器360。
计数单元310检查剩余数据的长度值和当前设置的突发长度值。
剩余数据是指在将存储于源存储器中的数据传输到存储所接收数据的目的存储器(未示出)后剩余在源存储器(未示出)中的数据。
例如,当7个字长的数据存储于源存储器中并且与4个字相应的数据被传输到目的存储器时,剩余数据的长度为3个字。传输到目的存储器的数据长度对应于突发长度值,因此,突发长度值为4个字。
数据长度的单位不限于字,可以使用各种其他单位作为数据长度单位,例如,字节、半字、多个字。
比较单元320在计数单元检查结果的基础上,把剩余数据的长度值与当前突发长度值进行比较。
突发长度值设置单元330根据由比较单元320所执行的比较结果选择性地改变当前设置的突发长度值。
更具体地,如果当前设置的突发长度值小于或等于剩余数据的长度值,则当前突发长度值保持不变。如果当前设置的突发长度值大于剩余数据的长度值,则将当前突发长度值改为比剩余数据长度值小的值。
例如,如果当前设置的突发长度值为16个字并且剩余数据长度值为32个字,则当前设置的突发长度值保持为16个字。然而,如果当前设置的突发长度值为16个字并且剩余数据长度值为14个字,则将当前设置的突发长度值改为小于14个字的值。
当前设置的突发长度值所能够改变到的值取决于数据传输中所使用的协议类型。例如,当使用支持突发模式和单一模式的高级高性能总线(AHB)协议时,能够选择16个字值、8个字值和4个字值中的一个作为当前设置的突发长度值被改变到的值。因此,在上述例子中,当改变当前设置的突发长度值时,应当将当前设置的突发长度值改为8个字值和4个字值中的一个,因为只有这两个值小于16个字的当前突发长度值。
更具体地,将当前突发长度值改为小于或等于剩余数据长度值中的最大突发长度值。这是因为当将当前突发长度值改为相对于剩余数据的长度值的较大的突发长度值时,能够在一次传输中传输比剩余数据大的数据量。这种额外数据的传输有利于减少完成存储于源存储器中的所有数据的传输所需要的时间。因此,在上述例子中,从8个字值和4个字值中选择8个字值作为新突发长度值。
突发信号传输单元340根据所改变的突发长度值传输用于传输数据的突发信号。
例如,当当前突发长度值为16个字并且被改为8个字时,突发信号传输单元340向源存储器传输用于将16个字的突发长度值改为8个字的信号。换句话说,突发信号传输单元340向源存储器传输表示希望以8个字单位接收数据的信号。
这种情况下,在完成了当前的读写数据操作后,源存储器以与所改变的突发长度值相应的8个字单位传输数据。
寄存器360存储从CPU(未示出)接收的突发长度值。当用户通过输入设备输入将突发长度值改为任意值的命令时,可从CPU接收新突发长度值。
当用户确定当前DMA控制装置已经使用数据传输系统总线很长时间时,将当前突发长度值改为比当前突发长度值小的值,因为传输单元数据所需要的时间短,于是,除DMA控制装置外的其他设备能够在单元数据传输完成到下一次传输开始之间使用总线。
当用户输入用于将当前设置的突发长度值改变为新突发长度值的输入信号时,已经接收到所述输入信号的CPU针对存储到DMA控制装置的寄存器360中的值来顺序控制新突发长度值。DMA控制装置将当前突发长度值改为存储于寄存器360中的新突发长度值。
然而,即使如上所述当CPU已经接收到新突发长度值时,当前突发长度值也不是立即更改为新突发长度值,而是在正在执行的数据读/写操作完成时进行更改。
此外,即使当当前突发长度值被改为新突发长度值时,被CPU设置的新突发长度值也不是自动被用作当前突发长度值,只有当被CPU设置的新突发长度值小于或等于剩余数据的长度值时,才将当前突发长度值改为被CPU设置的新突发长度值。
例如,如果当前突发长度值为16个字,被CPU接收到的突发长度值为8个字,并且剩余数据长度是7个字,则不自动使用被CPU设置的8个字的突发长度值,而是将8个字突发长度值改为比8个字小的4个字。
传输效率确定单元350在以下参数的基础上确定数据传输效率,例如,从数据传输开始到数据传输完成所需要的总时间,在总时间中每个突发长度值所执行的数据读写操作数,以及每个突发长度值从数据传输开始到数据传输完成所需要的持续时间。在当前的示例实施例中,能够在时钟信号的基础上测量所需要的持续时间。换句话说,能够以时钟信号的时钟周期为单位而不是以秒或分为单位测量所需要的持续时间,例如,一个时钟周期、两个时钟周期等。
图4是根据本发明示例实施例的、说明图3的DMA控制装置的传输效率确定单元350操作的示意图。参考图4,示出了在数据传输期间突发长度值的变化410以及时钟信号420。
在时段431、433和435执行DMA控制。在时段432、434不执行DMA控制。换句话说,除了DMA控制装置的其他设备占据了系统总线。
参考图4,从传输开始到传输完成所需要的整个持续时间对应于从时段431到435的总和。当以时钟信号420为单位测量整个持续时间时,所需要的整个持续时间为10.5个时钟周期。传输是否高效可以取决于所需要的整个持续时间是否比门限持续时间长以及非激活时段与激活时段之比是否大于门限比值。
例如,如果门限持续时间为6个时钟周期并且传输存储在源存储器中的所有数据所需要的整个持续时间大于6个时钟周期,则确定数据传输的效率低。另外,如果假定当非激活时段占据的所需要整个持续时间的百分比小于10%时传输效率高,可以确定图4中所示的传输效率低,因为所需要的整个持续时间为10.5个时钟周期,而不执行DMA控制的非激活时段为4.5个时钟周期。
虽然没有在图4中示出,可以对突发长度值分别为16个字、8个字和4个字的时段431、433和435的每个时段所执行的读和写操作数进行计数,并且与门限值进行比较,从而确定传输效率高还是低。
最后,可以测量突发长度值分别为16个字、8个字和4个字的时段431、433和435所需要的持续时间,并且与门限值进行比较,从而确定传输效率高还是低。
然而,根据本发明的示例实施例,门限值可以变化。
图5是根据本发明示例实施例说明通过改变突发长度值来传输数据的方法的示意图。参考图5,说明存储在寄存器360的突发长度值510、当前突发长度值520以及剩余数据长度值530。
当初始数据传输开始时CPU将突发长度值510存储在寄存器360中,并且在数据传输期间,当CPU改变突发长度值时,将突发长度值510改为新突发长度值。更具体地,当CPU最初在寄存器360中存储突发长度值时,DMA控制装置将当前突发长度值520设置为存储在寄存器360中的突发长度值510。当即使在数据传输期间新突发长度值被存储在寄存器360中时,DMA控制装置将当前突发长度值改为该新突发长度值。然而,即使如上所述当CPU将新突发长度值存储在寄存器360中时,当前突发长度值也不是立即被改为新突发长度值,而是在当前正在进行的数据读/写操作完成后才改变当前突发长度值。
在时段541,将当前突发长度值设置为与存储在寄存器360中的突发长度值对应的8个字。
在时段542,从13个字的剩余数据中传输与作为当前突发长度值的8个字对应的数据,然后把当前突发长度值与剩余数据的长度值进行比较。同样地,剩余数据的长度值为5个字而突发长度值为8个字,这样,对于8个字的突发长度值,不传输5个字的剩余数据。
在时段543,根据比较结果将8个字的当前突发长度值改为4个字,然后传输数据。同样,把4个字的当前突发长度值与剩余数据的长度值进行比较。在时段543,剩余数据的长度值为1个字,突发长度值为4个字。因此,对于4个字的突发长度值,不传输1个字的剩余数据。
在时段544,将DMA控制装置的控制模式从突发模式改为单一模式,然后传输1个字的剩余数据。结果,将存储在源存储器中的全部数据完全传输到目的存储器。
图6是根据本发明示例实施例的说明将当前突发长度值改为CPU设置的新突发长度值的方法的示意图。参考图6,说明存储在寄存器360中的突发长度值610、当前突发长度值620和剩余数据长度值630。
在时段641,将当前突发长度值620设置为与存储在寄存器360中的突发长度值610对应的16个字。
在时段642,根据当前突发长度值传输48个字的剩余数据,这样,剩余数据为32个字。在时段642,CPU在寄存器360中存储新突发长度值。此时,没有立即将当前突发长度值620改为存储在寄存器360中的新突发长度值,而是在完成当前正在进行的数据读/写操作后改变。换句话说,在完成读/写操作后,突发信号传输单元340传输用于将当前突发长度值620改为由CPU设置的突发长度值的信号。
在时段642完成数据读/写操作后,在时段643,将当前突发长度值620改为存储于寄存器360中的新突发长度值,并且传输数据到目的存储器。用箭头指示当前突发长度值620从16个字改为8个字的时间。箭头所指的时间是当前正在进行的数据读/写操作完成的时间。突发信号传输单元340传输用于将16个字的当前突发长度值620改为8个字的信号。
换句话说,在从突发信号传输单元340接收到所述信号后,源存储器并不立即传输与存储于寄存器360中的所改变的突发长度值对应的数据,而是在从DMA控制装置接收到指示与所改变的突发长度值相应的数据接收的信号后的一小段时间之后。
在时段644,以与所改变的突发长度值对应的8个字的长度单位继续数据传输。
图7是根据本发明另一个示例实施例的利用DMA存取控制进行传输数据的方法的流程图。在操作710中,检查与将存储于源存储器的数据传输到目的存储器之后剩余的数据对应的剩余数据的长度值和当前设置的突发长度值。
在操作720中,在操作710的检查结果的基础上,把剩余数据的长度值与当前设置的突发长度值进行比较。
在操作730中,如果当前设置的突发长度值大于剩余数据的长度值,将当前设置的突发长度值改为突发长度值中低一级的长度值。然后,重复操作720以便确定当前突发长度值是否大于剩余数据的长度值。
如果与低一级的长度值相对应的当前突发长度值仍然大于剩余数据的长度值,则将当前突发长度值改变为突发长度值中更低一级的长度值。以这种方式,连续地改变当前突发长度值直到当前突发长度值小于或等于剩余数据的长度值。如果当前突发长度值小于或等于剩余数据的长度值,所述方法前进到操作740。
例如,当当前突发长度值为32个字并且剩余数据的长度值为7个字时,根据所述比较的结果,依次改变当前突发长度值,例如,按照16个字、8个字和4个字的顺序。
在操作740中,当当前突发长度值小于或等于剩余数据的长度值时,将当前突发长度值设置为所改变的突发长度值,并且传输数据。
重复710到740的操作,直到将存储在源存储器中的所有数据传输到目的存储器为止。
在本发明中,通过动态地改变突发长度值来有效地传输数据,并且用户能够通过测量数据传输的效率来确定数据传输效率。
可以将本发明的示例实施例写为计算机程序,并且本发明能够在使用计算机可读记录介质执行程序的通用数字计算机中实现。计算机可读记录介质的例子包括磁存储介质(例如,ROM、软盘、硬盘等)和光记录介质(CD-ROM或DVD)。
尽管参考本发明示例实施例详细说明和描述了本发明,本领域的技术人员应当理解,在不脱离由本发明下面的权利要求所定义的精神和范围的情况下可以对细节和形式进行各种改变。
Claims (21)
1.一种在存储要传输数据的源存储器和存储所传输数据的目的存储器之间利用直接存储器存取DMA控制执行数据传输的方法,所述方法包括:
检查与存储在源存储器中的数据传输到目的存储器之后所剩余的数据相应的剩余数据长度值、以及当前设置的突发长度值;
基于检查结果比较剩余数据长度值和当前设置的突发长度值;以及
基于比较结果选择性地改变当前设置的突发长度值,并且传输数据到目的存储器。
2.如权利要求1所述的数据传输方法,其中,在选择性地改变当前设置的突发长度值以及传输数据的过程中,如果当前设置的突发长度值大于剩余数据的长度值,则将当前设置的突发长度值改为小于或等于剩余数据长度值的突发长度值,并且传输与所改变的突发长度值相应的数据。
3.如权利要求2所述的数据传输方法,其中,在选择性地改变当前设置的突发长度值以及传输数据的过程中,将当前设置的突发长度值改为小于或等于剩余数据长度值的突发长度值当中的最大值。
4.如权利要求2所述的数据传输方法,其中,在选择性地改变当前设置的突发长度值以及传输数据的过程中,如果当前设置的突发长度值小于或等于剩余数据的长度值,则不改变当前设置的突发长度值。
5.如权利要求1所述的数据传输方法,在检查剩余数据的长度值之前,进一步包括:
从中央处理单元接收新突发长度值;以及
将当前设置的突发长度值设置为所接收的新突发长度值。
6.如权利要求5所述的数据传输方法,其中,在将当前设置的突发长度值设置为所接收的新突发长度值的过程中,当完成当前正在进行的数据读或写操作时,将当前设置的突发长度值设置为所接收的新突发长度值。
7.如权利要求1所述的数据传输方法,进一步包括:
检查从源存储器到目的存储器的数据传输开始到数据传输完成所需要的整个时间段;以及
基于该整个时间段的检查结果估计数据传输的效率。
8.如权利要求7所述的数据传输方法,其中,基于时钟信号测量所需要的整个时间段。
9.如权利要求7所述的数据传输方法,其中,整个时间段的检查进一步包括检查在从数据传输开始到传输完成期间针对每个突发长度值所执行的数据读或写操作的数量。
10.如权利要求7所述的数据传输方法,其中,整个时间段的检查进一步包括检查从源存储器到目的存储器的传输开始到传输完成的针对每个突发长度值所需要的时间段。
11.一种直接存储器存取DMA控制装置,用于控制在存储要传输数据的源存储器和存储所传输数据的目的存储器之间的数据传输,所述的DMA控制装置包括:
计数单元,检查与将存储在源存储器中的数据传输到目的存储器之后所剩余数据相应的剩余数据长度值、以及当前设置的突发长度值;
比较单元,基于计数单元的检查结果比较剩余数据长度值和当前设置的突发长度值;
突发长度值设置单元,基于比较结果选择性地改变当前设置的突发长度值,并且传输数据到目的存储器;以及
突发信号传输单元,传输用于传输与所改变的突发长度值相应的数据的突发信号。
12.如权利要求11所述的直接存储器存取控制装置,其中,如果当前设置的突发长度值大于剩余数据长度值,突发长度值设置单元将当前设置的突发长度值改为小于或等于剩余数据长度值的突发长度值。
13.如权利要求12所述的直接存储器存取控制装置,其中,突发长度值设置单元将所述的突发长度值改为在小于或等于剩余数据长度值的突发长度值当中的最大值。
14.如权利要求12所述的直接存储器存取控制装置,其中,如果当前设置的突发长度值小于或等于剩余数据长度值,突发长度值设置单元不改变当前设置的突发长度值。
15.如权利要求11所述的直接存储器存取控制装置,进一步包括存储从中央处理单元接收的新突发长度值的寄存器,
其中,突发长度值设置单元将当前设置的突发长度值设置为所接收的新突发长度值。
16.如权利要求11所述的直接存储器存取控制装置,其中,当从源存储器到目的存储器的数据传输完成时,计数单元检查从源存储器到目的存储器的数据传输开始到传输完成所需要的总时间段。
17.如权利要求11所述的直接存储器存取控制装置,其中,当从源存储器到目的存储器的数据传输完成时,计数单元检查从源存储器到目的存储器传输开始到传输完成期间针对每个突发长度值所执行的数据读或写操作的数量。
18.如权利要求11所述的直接存储器存取控制装置,其中,当从源存储器到目的存储器的数据传输完成时,计数单元检查从源存储器到目的存储器传输开始到传输完成的针对每个突发长度所需要的时间段。
19.如权利要求16所述的直接存储器存取控制装置,其中,计数单元基于时钟信号测量所需要的时间段。
20.如权利要求16所述的直接存储器存取控制装置,进一步包括传输效率确定单元,基于计数单元的检查结果估计数据传输的效率。
21.一种在其上存储程序的计算机可读记录介质,所述程序执行利用在存储要传输数据的源存储器和存储所传输数据的目的存储器之间执行的直接存储器存取DMA控制的数据传输方法,所述方法包括:
检查与存储在源存储器中的数据传输到目的存储器之后所剩余的数据相应的剩余数据的长度值、以及当前设置的突发长度值;
基于检查结果比较剩余数据长度值和当前设置的突发长度值;以及
基于比较结果选择性地改变当前设置的突发长度值,并且传输数据到目的存储器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US85629206P | 2006-11-03 | 2006-11-03 | |
US60/856,292 | 2006-11-03 | ||
KR120069/06 | 2006-11-30 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101174248A true CN101174248A (zh) | 2008-05-07 |
Family
ID=39422770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2007101270578A Pending CN101174248A (zh) | 2006-11-03 | 2007-06-28 | 利用直接存储器存取控制来传输数据的方法和装置 |
Country Status (2)
Country | Link |
---|---|
KR (1) | KR101109600B1 (zh) |
CN (1) | CN101174248A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622321A (zh) * | 2011-01-28 | 2012-08-01 | 炬力集成电路设计有限公司 | 一种数据处理设备及其数据传输方法 |
CN108511030A (zh) * | 2017-02-24 | 2018-09-07 | 瑞昱半导体股份有限公司 | 记忆体测试方法 |
CN114691564A (zh) * | 2020-12-29 | 2022-07-01 | 新唐科技股份有限公司 | 直接内存访问设备、数据传输方法与电子设备 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100229897B1 (ko) * | 1997-01-10 | 1999-11-15 | 윤종용 | 직접 메모리 억세스 전송방법에 따른 타이밍 모드선택장치 |
KR19990043773A (ko) * | 1997-11-29 | 1999-06-15 | 정선종 | 직접 메모리 액세스 제어기 |
KR100375233B1 (ko) * | 2001-03-16 | 2003-03-08 | 삼성전자주식회사 | 전송될 데이터 길이 값에 따라 전송 모드가 유동적으로변환되는 직접 메모리 억세스 컨트롤러 |
JP2006018642A (ja) | 2004-07-02 | 2006-01-19 | Victor Co Of Japan Ltd | Dma転送制御装置 |
-
2006
- 2006-11-30 KR KR1020060120069A patent/KR101109600B1/ko not_active IP Right Cessation
-
2007
- 2007-06-28 CN CNA2007101270578A patent/CN101174248A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622321A (zh) * | 2011-01-28 | 2012-08-01 | 炬力集成电路设计有限公司 | 一种数据处理设备及其数据传输方法 |
CN102622321B (zh) * | 2011-01-28 | 2015-06-17 | 炬芯(珠海)科技有限公司 | 一种数据处理设备及其数据传输方法 |
CN108511030A (zh) * | 2017-02-24 | 2018-09-07 | 瑞昱半导体股份有限公司 | 记忆体测试方法 |
CN108511030B (zh) * | 2017-02-24 | 2020-12-18 | 瑞昱半导体股份有限公司 | 记忆体测试方法 |
CN114691564A (zh) * | 2020-12-29 | 2022-07-01 | 新唐科技股份有限公司 | 直接内存访问设备、数据传输方法与电子设备 |
TWI771852B (zh) * | 2020-12-29 | 2022-07-21 | 新唐科技股份有限公司 | 直接記憶體存取裝置、資料傳輸方法與電子設備 |
Also Published As
Publication number | Publication date |
---|---|
KR20080040535A (ko) | 2008-05-08 |
KR101109600B1 (ko) | 2012-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7934025B2 (en) | Content terminated DMA | |
CN109346122B (zh) | 固态硬盘性能的测试方法及装置 | |
CN103150278B (zh) | 基于pio和dma混合的网络接口卡描述符提交方法 | |
US8266334B2 (en) | Data writing method for non-volatile memory, and controller and storage system using the same | |
US8595523B2 (en) | Data writing method for non-volatile memory, and controller and storage system using the same | |
US7779174B2 (en) | Method and apparatus for dynamically changing burst length using direct memory access control | |
CN106406751A (zh) | 基于多通道lvds接口的高速大容量i/q数据记录仪 | |
TWI528183B (zh) | 使用資料傳輸率節流來執行序列ata連接的資料傳輸之方法、電腦可讀媒體和系統 | |
CN102508631B (zh) | 用于写入任意字节数据的fifo的写入数据处理装置 | |
JP4060097B2 (ja) | 自己同期型fifoメモリ装置および非同期型情報処理装置 | |
JP4445535B2 (ja) | データ転送装置,情報処理システム,データ転送プログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
CN101174248A (zh) | 利用直接存储器存取控制来传输数据的方法和装置 | |
CN105304140B (zh) | 电子设备的存储器性能的测试方法及装置 | |
CN116893991B (zh) | 一种axi协议下的存储模块转换接口及其转换方法 | |
US7725645B2 (en) | Dual use for data valid signal in non-volatile memory | |
CN105681222A (zh) | 一种数据接收缓存方法、装置及通信系统 | |
CN105264608A (zh) | 存储数据的方法、内存控制器和中央处理器 | |
KR101520141B1 (ko) | 통신 인터페이스용 비트 반전을 위한 시스템, 장치 및 방법 | |
CN101594305A (zh) | 一种报文处理方法及装置 | |
US11169947B2 (en) | Data transmission system capable of transmitting a great amount of data | |
CN101442387B (zh) | 一种数据反压的处理方法和装置 | |
CN109857616B (zh) | 一种基于指令的dram控制器带宽效率检测方法 | |
CN100524246C (zh) | 用于收集队列性能数据的方法,设备和系统 | |
US11010293B1 (en) | Register-based asynchronous FIFO with asymmetric size | |
US7467242B2 (en) | Method and system for dynamic FIFO flow control |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20080507 |