CN113342721A - 存储控制器dma设计方法 - Google Patents
存储控制器dma设计方法 Download PDFInfo
- Publication number
- CN113342721A CN113342721A CN202110762205.3A CN202110762205A CN113342721A CN 113342721 A CN113342721 A CN 113342721A CN 202110762205 A CN202110762205 A CN 202110762205A CN 113342721 A CN113342721 A CN 113342721A
- Authority
- CN
- China
- Prior art keywords
- dma
- descriptor
- control block
- current
- data
- 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.)
- Granted
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
- G06F13/282—Cycle stealing DMA
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Bus Control (AREA)
Abstract
本发明提供了一种存储控制器DMA设计方法,在内存中构建DMA控制块,用于描述所述存储控制器DMA的当前I/O数据传输信息;在内存中构建DMA操作描述符链表,用于描述等待DMA传输的数据块信息,将一个或多个表项与所述DMA控制块相关联;将所述DMA控制块的物理基地址通知给DMA硬件逻辑,以使所述DMA硬件逻辑根据所述DMA控制块和所述DMA操作描述符链表的描述信息来启动存储控制器DMA的数据传输任务。本发明的技术方案兼容传统DMA的链表控制模式,支持存储控制领域中I/O传输的断点续传,满足存储应用中的数据传输完整性、可靠性和稳定性需求,避免软件缺陷引发的数据搬移错误和系统异常。
Description
技术领域
本发明属于存储控制领域,特别涉及一种存储控制器DMA设计方法。
背景技术
在SOC设计开发的过程中,对于数据流的高效处理是一个至关重要的问题。为了提升整个系统的性能,避免CPU在数据流的调度和搬移上占用过多时间,DMA被设计出来用于帮助CPU进行数据流的调度和搬移。在既定配置模式下,DMA可以独立高效完成系统存储和存储之间、系统存储和外设单元之间的数据搬移。DMA的出现和引入有效的降低了整个系统CPU的负载,提高数据搬移的效率。存储控制器对于数据的完整性、可靠性,以及系统的稳定性都有较高的要求。为了提高系统的性能和吞吐率,存储控制器在运行时刻并发控制多个目标设备,每个目标设备同时存在多I/O并发传输。不同目标设备的多个I/O交织进行,并分时复用存储控制器的物理链路。此外,单个I/O的数据通常需要分为多个阶段传输,因此需要DMA支持传输中断时刻的上下文保存和多次续传的功能。
典型DMA的控制方式采用链表结构(通常称为Scatter-Gather或者Linked ListDMA)。系统软件在内存中按照预定义的格式构造操作描述符链表,并将链表首地址赋予DMA硬件逻辑。DMA硬件逻辑获得描述符链表的首地址,依次解析链表中的操作描述符,并按照描述符信息将源地址内存区域或者外设单元的数据搬移至目标地址内存区域或者外设单元,直至整个链表所有描述符被解析和执行完毕。
如图1所示,典型DMA的控制链表的操作描述符通常包含数据的源物理地址(Source Physical Address)、目标物理地址(Destination Physical Address)、传输长度(Transfer Size)、扩展标志位(E)、结束标志位(L)、中断标志位(I)等信息。其中,源物理地址段指示DMA搬移数据在物理内存中的源地址或者后续描述符链表的首地址;目标物理地址段指示数据搬移至物理内存中的目的地址;传输长度定义该项描述符搬移的数据块长度;中断标志位指示DMA控制器在完成该描述符定义的数据搬移后是否上报中断至CPU;结束标志位指示当前描述符为链表中的最后一个描述符项,该描述符执行完毕后,结束整个DMA的搬移任务;扩展标志位指示当前描述符项为指针描述符,DW0的源物理地址段指示后续描述符链表在物理内存中的位置,该描述符项不执行实质的数据搬移任务。
DMA硬件逻辑按照软件配置的描述符链表首地址,在系统内存中按照顺序读取操作描述符,根据预定义格式解析描述符,并执行数据搬移任务,直至整个链表最后一个描述符执行完毕。然而在通常情况下,DMA硬件逻辑每读取一项描述符进行解析和执行时,每个描述符表项就需要DMA硬件触发单次总线读取操作。而且DMA在执行数据搬移的过程中并未检查描述符项的完整性和有效性。随着SOC系统软件的复杂性不断增大,软件缺陷发生的概率随之增大。在极端场景下,软件缺陷可能导致系统内存中的DMA描述符链表构造失败或者损坏,会引发链表中描述符的地址字段、数据传输大小字段或者标志位被篡改,进而导致数据搬移地址或内容错误,使数据存储业务出现异常甚至整个系统的崩溃。
发明内容
本发明的目的在于提供一种存储控制器DMA设计方法,以克服存储控制器的数据搬移可能引发的上述问题。所述存储控制器DMA设计方法包括:
在内存中构建DMA控制块,所述DMA控制块用于描述所述存储控制器DMA的当前I/O数据传输信息;
在内存中构建DMA操作描述符链表,将所述DMA操作描述符链表的一个或多个表项与所述DMA控制块相关联,所述DMA操作描述符表项用于描述等待DMA传输的数据块信息;
将所述DMA控制块的物理基地址通知给DMA硬件逻辑,以使所述DMA硬件逻辑根据所述DMA控制块和所述DMA操作描述符链表的描述信息来启动所述存储控制器DMA的数据传输任务。
优选地,所述DMA控制块包括软件可配置的预取配置,用于表示DMA硬件逻辑单次总线操作所读取并缓存的所述DMA操作描述符表项的数量。
优选地,所述DMA控制块包括I/O传输中断上下文信息,用于记录DMA传输发生中断的DMA操作描述符表项的物理地址和当前表项未传输完成的数据长度。
优选地,所述DMA控制块包括描述符链表长度和I/O剩余数据量,分别用于表示当前I/O事务的DMA操作描述符链表中表项的数量和等待传输的数据量。
优选地,所述DMA操作描述符包括序列号,用于表示当前表项在DMA描述符链表中的位置编号;所述序列号从0依次递增,且小于所述DMA控制块中的描述符链表长度。
优选地,所述DMA操作描述符包括软件和DMA硬件逻辑约定的特殊编码值的魔术字,用于保证所述DMA操作描述符内容的完整性和有效性。
优选地,所述DMA操作描述符包括奇偶校验位,用于表示当前表项所有比特位的奇偶校验值。
优选地,所述DMA硬件逻辑在执行时刻检查所述DMA操作描述符的魔术字,如果当前表项中的魔术字与预先约定的魔术字不匹配,则通知主机当前I/O传输发生异常。
优选地,所述DMA硬件逻辑在执行时刻计算所述DMA操作描述符的奇偶校验值,如果当前表项中的奇偶校验位和计算所得结果不匹配,则通知主机当前I/O传输发生异常。
优选地,如果当前描述符是所述DMA描述符链表的最后一个描述符,则检查DMA控制块中的所述I/O剩余数据量是否为0;若不为0,则通知主机I/O数据传输发生异常。
相比于现有技术,本发明具有以下优点:
在兼容当前典型DMA的链表控制模式的基础上,支持存储控制领域中I/O传输的断点保存和续传功能,满足存储应用中的数据传输完整性、可靠性和稳定性需求,避免软件缺陷引发的数据搬移错误和系统异常。
本发明的其它特征和优点将在随后的说明书中阐述,并且部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所指出的结构来实现和获取。
附图说明
为更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单介绍,显而易见地,下面描述中的附图是本发明的某些实施例,对于本领域普通技术人员来说,在不付出创造性劳动的前提下,还可以根据这些附图获取其他的附图。
图1示出了根据现有技术的典型DMA控制链表的操作描述符示意图。
图2示出了根据本发明的DMA控制块的详细结构示意图。
图3示出了根据本发明的DMA操作描述符的字段信息示意图。
图4示出了根据本发明的示例性DMA控制结构的示意图。
图5示出了根据本发明的DMA硬件逻辑的示例处理流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地说明,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获取的所有其他实施例,都属于本发明保护的范围。
针对传统DMA控制器在存储控制领域应用下的局限性,本发明提出一种面向存储控制器的DMA设计方法,在兼容当前典型DMA的链表控制模式的基础上,支持存储控制领域中I/O传输的断点保存和续传功能,满足存储应用中的数据传输完整性、可靠性和稳定性需求,避免软件缺陷引发的数据搬移错误和系统异常。
本发明提出的DMA设计方法采用DMA控制块和描述符链表结合的控制方式,其中DMA控制块共16个DW(双字节),用于描述当前I/O的数据传输信息,指示DMA需要执行的传输事务,具体结构参见图2,详细字段描述如下。
Prefetch为预取配置值,长度4比特,用于指示DMA硬件逻辑单次总线操作读取并缓存描述符表项(Scatter-Gather Element)的数量,即单次预取2Preftech个连续的描述符表项;
Ord为乱序标志位,长度1比特,用于指示当前I/O的数据是否支持乱序到达;
B为中断标志位,长度1比特,表示当前DMA控制块中记录的断点信息,表示下文所述的部分传输长度Partial Transfer Length和部分描述符地址Partial ElementAddress的字段是否包含有效信息;
Element Length为描述符链表长度,长度2字节,表示当前I/O的DMA描述符链表中所包含的描述符表项的总数;
Remaining Byte Count为I/O剩余数据量,长度4字节,用于指示当前等待I/O传输的数据总量,以字节为单位;其初始值为描述符链表中所有表项的数据长度总和;
Partial Transfer Length为部分传输长度,长度4字节,DMA传输中断上下文,用于记录I/O传输发生中断的描述符表项未传输完成的数据长度;
Partial Element Address为部分描述符地址,长度4字节,DMA传输中断上下文,用于记录I/O传输发生中断的描述符表项的物理地址;
rsvd和r为保留字段,暂未使用;
P为奇偶校验位,长度1比特,表示当前部分传输长度和部分描述符地址字段所有比特的奇偶校验值;
Scatter-Gather Element为DMA操作描述符表项,长度4字节,用于描述等待传输的数据块信息,每个I/O传输可能包含多个操作描述符项,数量由上述描述符链表长度Element Length来定义。
其中,每个DMA操作描述符表项Scatter-Gather Element占用4个DW,描述I/O传输的数据块信息,如图3所示,具体字段信息如下。
Physical Address为源物理地址,长度8字节,用于指示I/O传输的一个数据块在系统内存中的物理地址信息,或者下一个描述符链表在内存中的物理地址;
Transfer Size为数据块长度,长度4字节,表示当前描述符指向的数据块长度,以字节为单位;
P为奇偶校验位,长度1比特,即当前操作描述符中所有比特的奇偶校验值;
V为有效标志位,长度1比特,用于指示当前描述符项是否有效,若为1则表示有效;
I为中断标志位,长度1比特,当I为1时,指示DMA硬件逻辑在完成当前描述符项的数据传输后上报中断至CPU;
L为结束标志位,长度1比特,当L为1时,标识当前描述符是链表的最后一个描述符项;
E为扩展标志位,长度1比特,当E为1时,指示当前描述符项代表一个指针描述符,此时DW0和DW1表示后续描述符链表在内存中的物理地址,用于扩展描述符的数量;
Seq No为序列号,长度1字节,用于指示当前描述符项的编号,链表中的描述符编号从零开始依次递增,且小于所述DMA控制块中的描述符链表长度;
Magic Word为魔术字,长度2字节,即软件和硬件约定的特殊编码值,用于保证数据的完整性。
基于上述DMA控制块和DMA操作描述符的字段结构,图4给出了一种采用本发明设计思想的示例性DMA控制结构。该DMA控制结构包含一个DMA控制块和8个DMA操作描述符[0]-[7],分布在系统内存的两个不同区域,即内存区域[1]和内存区域[2]。
其中,内存区域[1]存储DMA控制块,其中描述符[0]和描述符[1]指示DMA需要执行的数据搬移操作;将描述符[2]的扩展位E配置为“1”,代表当前描述符项是一个指针描述符,描述符中的源物理地址字段指向内存区域[2]。内存区域[2]中连续存储5个DMA操作描述符,其中描述符[7]的结束位L配置为“1”,代表该描述符为该I/O的最后一个DMA操作描述符;描述符[7]的中断位I配置为“1”,指示DMA硬件逻辑执行完当前描述符的搬移任务后上报中断到中央处理器。
本领域技术人员可以理解,上述实施例中描述的DMA控制块和描述符字段结构和名称仅为举例。本领域技术人员可以根据需要而对上述示例性数据结构进行容易想到的调整,进而实现DMA的功能。本发明的设计方法同样适用于存储控制器之外的其他类似控制单元的场景。
图5说明了一种采用本发明设计思想的DMA硬件逻辑的示例处理流程。
步骤S1:根据应用需求和I/O数据的分布,由软件在系统内存中构造DMA控制块和DMA操作描述符链表。
在DMA控制块和DMA操作描述符链表的初始化过程中,按需求设置控制块的预取配置Prefetch、描述符链表项的长度Element Length、当前I/O传输的数据量Remaining ByteCount等参数,依次配置操作描述符的源物理地址Physical Address、传输长度TransferSize、魔术字Magic Word、序列号Seq No和有效位V,并计算奇偶校验位P。由软件将DMA控制块的物理基地址通知给DMA硬件逻辑,启动DMA传输任务。
步骤S2:DMA硬件逻辑读取所述DMA控制块,解析控制块中的各个字段信息。
步骤S3:判断所述DMA控制块中的中断标志位(B)是否置位。
如果B为0,表示该I/O为首次传输,则执行步骤S4;如果B为1,则表示I/O的前序传输被中断,执行步骤S13的断点续传步骤;
步骤S4:解析控制块中的操作描述符。
即从控制块的DW4~DW7开始,按序解析所链接的操作描述符,图2中将第一个操作描述符表示为Scatter-Gather Element[0];
步骤S5:对操作描述符中的各项标志位进行检查。
具体地,根据操作描述符中的标志位定义,所述检查包括检查奇偶校验位P是否正确,描述符的有效标志位V是否置为1;检查当前魔术字Magic Word的数值是否与预先约定的数值一致;检查描述符的序列号Seq No是否连续递增且小于控制块中配置的描述符链表长度Element Length。
如果各项检查中发现至少一项异常,则通知主机I/O数据传输发生异常,并执行步骤S19;如果未发现异常,则执行步骤S6;
步骤S6:检查当前描述符的扩展标志位E。
如果扩展标志位为1,则执行步骤S12,否则执行步骤S7;
步骤S7:根据当前描述符的定义,读取源物理地址Physical Address的数据,执行数据搬移任务,并通过传输长度Transfer Size字段计算该次传输的数据量。根据该次传输完成的数据量,更新DMA控制块中的I/O剩余数据总量Remaining Byte Count;
步骤S8:如果数据传输过程中发生异常或者被其他I/O中断,则执行步骤S18,否则,执行步骤S9;
步骤S9:检查当前描述符的结束标志位L。
如果结束标志位为1,则执行步骤S17;否则,执行步骤S10;
步骤S10:判断DMA硬件缓冲区中是否有尚未执行的描述符,如果有,执行步骤S11;否则,执行步骤S12;
步骤S11:返回步骤S3,执行下一个DMA操作描述符的解析过程;
步骤S12:按照DMA控制块中的预取配置Prefetch,从系统内存中一次性预取指定数量的操作描述符至内部缓冲区;
步骤S13:DMA控制块中的中断标志位(B)为1,启动数据断点续传程序,检查DMA控制块内中断传输上下文信息的奇偶校验值是否正确,若校验无误,则执行步骤S14;否则通知主机I/O数据传输发生异常,并执行步骤S19;
步骤S14:检查传输被中断的描述符表项是否存在剩余的未完成字节,即判断DMA控制块内的部分传输长度Partial Transfer Length字段是否为0,若不为0,则执行步骤S15;否则,执行步骤S16;
步骤S15:根据DMA控制块内的部分描述符地址Partial Element Address字段,读取被中断的描述符,计算获得剩余数据的源物理地址,执行数据搬移任务;
步骤S16:根据断点描述符地址,计算获得该I/O的后续描述符地址,返回步骤S12;
步骤S17:在当前描述符的结束标志位L为1时,则检查DMA控制块中的I/O剩余数据量是否等于0,如果等于0,表示该I/O期望的数据传输已正确完成,否则,若不等于0,则通知主机I/O数据传输发生异常,并执行步骤S19;
步骤S18:在当前I/O的传输被异常中断时,将传输中断上下文保存至DMA控制块的部分传输长度Partial Transfer Length字段和部分描述符地址Partial ElementAddress字段,并将中断标志位B进行置位;
步骤S19:确定在当前I/O传输发生异常,DMA硬件逻辑上报异常至系统软件实施异常处理。所述I/O传输异常包括例如描述符奇偶校验错误、描述符无效、魔术字数值不匹配、描述符序号不连续或者超出范围,以及传输的数据量未达到预期等。
可以看出,本发明提出的方案采用DMA控制块和操作描述符链表两种数据结构联合的控制方式,其中控制块中包含的传输中断上下文字段,记录I/O传输的中断现场,提供中断续传的可行性,满足存储控制领域的特殊需求;而预取配置实现了软件动态可配置的描述符预取长度,有效降低传输延迟和系统总线负载;链表长度、I/O剩余数据量字段,保证了数据传输任务的完整性;并且其中操作描述符的魔术字、序列号、有效标志位和奇偶校验位等多个标志位共同保证了数据传输的可靠性,避免了由于系统软件的缺陷或者不可靠软件代码导致描述符被篡改而引发的数据传输错误和系统异常,提升了数据传输效率。
本领域技术人员可以理解,上述实施例中描述的存储控制器的控制字段和对应的方法流程仅为举例说明。本领域技术人员可以根据需要而调整存储控制器的控制字段以包括更多或更少的结构,或改变上述方法流程的个别步骤的参数或顺序。
尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种存储控制器DMA设计方法,其特征在于,包括:
在内存中构建DMA控制块,所述DMA控制块用于描述所述存储控制器DMA的当前I/O数据传输信息;
在内存中构建DMA操作描述符链表,将所述DMA操作描述符链表的一个或多个表项与所述DMA控制块相关联,所述DMA操作描述符表项用于描述等待DMA传输的数据块信息;
将所述DMA控制块的物理基地址通知给DMA硬件逻辑,以使所述DMA硬件逻辑根据所述DMA控制块和所述DMA操作描述符链表的描述信息来启动所述存储控制器DMA的数据传输任务。
2.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA控制块包括软件可配置的预取配置,用于表示DMA硬件逻辑单次总线操作所读取并缓存的所述DMA操作描述符表项的数量。
3.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA控制块包括I/O传输中断上下文信息,用于记录DMA传输发生中断的DMA操作描述符表项的物理地址和当前表项未传输完成的数据长度。
4.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA控制块包括描述符链表长度和I/O剩余数据量,分别用于表示当前I/O事务的DMA操作描述符链表中表项的数量和等待传输的数据量。
5.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA操作描述符包括序列号,用于表示当前表项在DMA描述符链表中的位置编号;所述序列号从0依次递增,且小于所述DMA控制块中的描述符链表长度。
6.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA操作描述符包括软件和DMA硬件逻辑约定的特殊编码值的魔术字,用于保证所述DMA操作描述符内容的完整性和有效性。
7.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA操作描述符包括奇偶校验位,用于表示当前表项所有比特位的奇偶校验值。
8.根据权利要求6所述的存储控制器DMA设计方法,其特征在于,所述DMA硬件逻辑在执行时刻检查所述DMA操作描述符的魔术字,如果当前表项中的魔术字与预先约定的魔术字不匹配,则通知主机当前I/O传输发生异常。
9.根据权利要求7所述的存储控制器DMA设计方法,其特征在于,所述DMA硬件逻辑在执行时刻计算所述DMA操作描述符的奇偶校验值,如果当前表项中的奇偶校验位和计算所得结果不匹配,则通知主机当前I/O传输发生异常。
10.根据权利要求4所述的存储控制器DMA设计方法,其特征在于,如果当前描述符是所述DMA描述符链表的最后一个描述符,则检查DMA控制块中的所述I/O剩余数据量是否为0;若不为0,则通知主机I/O数据传输发生异常。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110762205.3A CN113342721B (zh) | 2021-07-06 | 2021-07-06 | 存储控制器dma设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110762205.3A CN113342721B (zh) | 2021-07-06 | 2021-07-06 | 存储控制器dma设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113342721A true CN113342721A (zh) | 2021-09-03 |
CN113342721B CN113342721B (zh) | 2022-09-23 |
Family
ID=77482608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110762205.3A Active CN113342721B (zh) | 2021-07-06 | 2021-07-06 | 存储控制器dma设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113342721B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703951A (zh) * | 2021-10-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种处理dma的方法、装置、及计算机可读存储介质 |
CN114338567A (zh) * | 2021-12-27 | 2022-04-12 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
CN116185892A (zh) * | 2023-04-27 | 2023-05-30 | 珠海妙存科技有限公司 | 闪存控制器及其访问闪存颗粒的方法 |
CN117834570A (zh) * | 2024-03-04 | 2024-04-05 | 山东云海国创云计算装备产业创新中心有限公司 | 传输系统的数据包处理方法、装置、电子设备及存储介质 |
CN117971746A (zh) * | 2024-03-28 | 2024-05-03 | 深圳鲲云信息科技有限公司 | 用于控制直接内存访问控制器的方法及计算设备 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993019431A1 (en) * | 1992-03-20 | 1993-09-30 | Maxys Circuit Technology Ltd. | Parallel vector processor architecture |
JPH0969060A (ja) * | 1995-08-31 | 1997-03-11 | Toshiba Corp | 計算機システムおよびファイルアクセス制御方法 |
US5684962A (en) * | 1995-08-24 | 1997-11-04 | Telco Systems, Inc. | Context control block for computer communications |
US6324594B1 (en) * | 1998-10-30 | 2001-11-27 | Lsi Logic Corporation | System for transferring data having a generator for generating a plurality of transfer extend entries in response to a plurality of commands received |
CN1507591A (zh) * | 2001-01-31 | 2004-06-23 | �Ҵ���˾ | 从外围设备向主计算机系统传输中断的方法和装置 |
US20050080945A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Transferring message packets from data continued in disparate areas of source memory via preloading |
US20060168366A1 (en) * | 2005-01-27 | 2006-07-27 | Fujitsu Limited | Direct memory access control method, direct memory access controller, information processing system, and program |
CN101916237A (zh) * | 2010-06-29 | 2010-12-15 | 航天恒星科技有限公司 | 一种pci总线dma高速数据传输方法 |
US20120303855A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically dma |
US20140108869A1 (en) * | 2012-10-15 | 2014-04-17 | Infineon Technologies Ag | DMA Integrity Checker |
CN105656805A (zh) * | 2016-01-20 | 2016-06-08 | 中国人民解放军国防科学技术大学 | 一种基于控制块预分配的分组接收方法和装置 |
CN107111581A (zh) * | 2015-01-19 | 2017-08-29 | 微软技术许可有限责任公司 | 存储器描述符列表高速缓存和管道处理 |
CN110515872A (zh) * | 2018-05-21 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 直接内存存取方法、装置、专用计算芯片及异构计算系统 |
CN112749112A (zh) * | 2020-12-31 | 2021-05-04 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
-
2021
- 2021-07-06 CN CN202110762205.3A patent/CN113342721B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1993019431A1 (en) * | 1992-03-20 | 1993-09-30 | Maxys Circuit Technology Ltd. | Parallel vector processor architecture |
US5684962A (en) * | 1995-08-24 | 1997-11-04 | Telco Systems, Inc. | Context control block for computer communications |
JPH0969060A (ja) * | 1995-08-31 | 1997-03-11 | Toshiba Corp | 計算機システムおよびファイルアクセス制御方法 |
US6324594B1 (en) * | 1998-10-30 | 2001-11-27 | Lsi Logic Corporation | System for transferring data having a generator for generating a plurality of transfer extend entries in response to a plurality of commands received |
CN1507591A (zh) * | 2001-01-31 | 2004-06-23 | �Ҵ���˾ | 从外围设备向主计算机系统传输中断的方法和装置 |
US20050080945A1 (en) * | 2003-10-14 | 2005-04-14 | International Business Machines Corporation | Transferring message packets from data continued in disparate areas of source memory via preloading |
US20060168366A1 (en) * | 2005-01-27 | 2006-07-27 | Fujitsu Limited | Direct memory access control method, direct memory access controller, information processing system, and program |
CN101916237A (zh) * | 2010-06-29 | 2010-12-15 | 航天恒星科技有限公司 | 一种pci总线dma高速数据传输方法 |
US20120303855A1 (en) * | 2011-05-24 | 2012-11-29 | International Business Machines Corporation | Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically dma |
US20140108869A1 (en) * | 2012-10-15 | 2014-04-17 | Infineon Technologies Ag | DMA Integrity Checker |
CN107111581A (zh) * | 2015-01-19 | 2017-08-29 | 微软技术许可有限责任公司 | 存储器描述符列表高速缓存和管道处理 |
CN105656805A (zh) * | 2016-01-20 | 2016-06-08 | 中国人民解放军国防科学技术大学 | 一种基于控制块预分配的分组接收方法和装置 |
CN110515872A (zh) * | 2018-05-21 | 2019-11-29 | 阿里巴巴集团控股有限公司 | 直接内存存取方法、装置、专用计算芯片及异构计算系统 |
CN112749112A (zh) * | 2020-12-31 | 2021-05-04 | 无锡众星微系统技术有限公司 | 一种硬件流水结构 |
Non-Patent Citations (4)
Title |
---|
LUK, CLEMENT; WEAR, LARRY L.: "The Simulation of a Microprogrammable Computer", 《WINTER SIMULATION CONFERENCE PROCEEDINGS》 * |
MICHAEL RUSHANAN,STEPHEN CHECKOWAY: "Run-DMA", 《9TH USENIX WORKSHOP ON OFFENSIVE TECHNOLOGIES (WOOT "15》 * |
刘浩等: "基于DMA的双通道千兆以太网MAC设计与验证", 《计算机技术与发展》 * |
尹加豹: "VxWorks5.5下电子盘DMA驱动程序设计与实现", 《电子技术应用》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113703951A (zh) * | 2021-10-27 | 2021-11-26 | 苏州浪潮智能科技有限公司 | 一种处理dma的方法、装置、及计算机可读存储介质 |
CN113703951B (zh) * | 2021-10-27 | 2022-02-18 | 苏州浪潮智能科技有限公司 | 一种处理dma的方法、装置、及计算机可读存储介质 |
CN114338567A (zh) * | 2021-12-27 | 2022-04-12 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
CN114338567B (zh) * | 2021-12-27 | 2023-09-05 | 锐迪科创微电子(北京)有限公司 | Sdio接口数据传输方法及装置、sdio接口设备 |
CN116185892A (zh) * | 2023-04-27 | 2023-05-30 | 珠海妙存科技有限公司 | 闪存控制器及其访问闪存颗粒的方法 |
CN117834570A (zh) * | 2024-03-04 | 2024-04-05 | 山东云海国创云计算装备产业创新中心有限公司 | 传输系统的数据包处理方法、装置、电子设备及存储介质 |
CN117834570B (zh) * | 2024-03-04 | 2024-06-07 | 山东云海国创云计算装备产业创新中心有限公司 | 传输系统的数据包处理方法、装置、电子设备及存储介质 |
CN117971746A (zh) * | 2024-03-28 | 2024-05-03 | 深圳鲲云信息科技有限公司 | 用于控制直接内存访问控制器的方法及计算设备 |
Also Published As
Publication number | Publication date |
---|---|
CN113342721B (zh) | 2022-09-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113342721B (zh) | 存储控制器dma设计方法 | |
US8996926B2 (en) | DMA integrity checker | |
US8108570B2 (en) | Determining the state of an I/O operation | |
US8108583B2 (en) | Direct memory access controller system with message-based programming | |
US9021155B2 (en) | Fibre channel input/output data routing including discarding of data transfer requests in response to error detection | |
CN100533416C (zh) | 控制处理环境的数据传输的方法和系统 | |
US8364853B2 (en) | Fibre channel input/output data routing system and method | |
US8583989B2 (en) | Fibre channel input/output data routing system and method | |
US8683084B2 (en) | Fibre channel input/output data routing system and method | |
US9734031B2 (en) | Synchronous input/output diagnostic controls | |
CN115934389A (zh) | 用于错误报告和处理的系统和方法 | |
US10229084B2 (en) | Synchronous input / output hardware acknowledgement of write completions | |
US7143206B2 (en) | Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor | |
US6574683B1 (en) | External direct memory access processor implementation that includes a plurality of priority levels stored in request queue | |
US8683083B2 (en) | Fibre channel input/output data routing system and method | |
US10133691B2 (en) | Synchronous input/output (I/O) cache line padding | |
US8769253B2 (en) | Fibre channel input/output data routing system and method | |
US20120166686A1 (en) | Method, apparatus and system for aggregating interrupts of a data transfer | |
JPS623361A (ja) | ステ−タス通報方式 | |
US11625331B2 (en) | Cache control apparatus and cache system control method | |
CN118963672A (zh) | 存储设备io请求的聚合方法、终端及存储介质 | |
US8533565B2 (en) | Cache controller and cache controlling method | |
CN116089182A (zh) | 可加速Device属性内存的验证方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |