CN113342721B - 存储控制器dma设计方法 - Google Patents

存储控制器dma设计方法 Download PDF

Info

Publication number
CN113342721B
CN113342721B CN202110762205.3A CN202110762205A CN113342721B CN 113342721 B CN113342721 B CN 113342721B CN 202110762205 A CN202110762205 A CN 202110762205A CN 113342721 B CN113342721 B CN 113342721B
Authority
CN
China
Prior art keywords
dma
descriptor
control block
data
current
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.)
Active
Application number
CN202110762205.3A
Other languages
English (en)
Other versions
CN113342721A (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.)
Wuxi Zhongxing Microsystem Technology Co ltd
Original Assignee
Wuxi Zhongxing Microsystem Technology Co ltd
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 Wuxi Zhongxing Microsystem Technology Co ltd filed Critical Wuxi Zhongxing Microsystem Technology Co ltd
Priority to CN202110762205.3A priority Critical patent/CN113342721B/zh
Publication of CN113342721A publication Critical patent/CN113342721A/zh
Application granted granted Critical
Publication of CN113342721B publication Critical patent/CN113342721B/zh
Active 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
    • G06F13/282Cycle stealing DMA

Abstract

本发明提供了一种存储控制器DMA设计方法,在内存中构建DMA控制块,用于描述所述存储控制器DMA的当前I/O数据传输信息;在内存中构建DMA操作描述符链表,用于描述等待DMA传输的数据块信息,将一个或多个表项与所述DMA控制块相关联;将所述DMA控制块的物理基地址通知给DMA硬件逻辑,以使所述DMA硬件逻辑根据所述DMA控制块和所述DMA操作描述符链表的描述信息来启动存储控制器DMA的数据传输任务。本发明的技术方案兼容传统DMA的链表控制模式,支持存储控制领域中I/O传输的断点续传,满足存储应用中的数据传输完整性、可靠性和稳定性需求,避免软件缺陷引发的数据搬移错误和系统异常。

Description

存储控制器DMA设计方法
技术领域
本发明属于存储控制领域,特别涉及一种存储控制器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 (7)

1.一种存储控制器DMA设计方法,其特征在于,包括:
在内存中构建DMA控制块,所述DMA控制块用于描述所述存储控制器DMA的当前I/O数据传输信息;
在内存中构建DMA操作描述符链表,将所述DMA操作描述符链表的一个或多个表项与所述DMA控制块相关联,所述DMA操作描述符表项用于描述等待DMA传输的数据块信息;
将所述DMA控制块的物理基地址通知给DMA硬件逻辑,以使所述DMA硬件逻辑根据所述DMA控制块和所述DMA操作描述符链表的描述信息来启动所述存储控制器DMA的数据传输任务;
其中,所述DMA控制块包括I/O传输中断上下文信息,用于记录DMA传输发生中断的DMA操作描述符表项的物理地址和当前表项未传输完成的数据长度;所述DMA操作描述符包括软件和DMA硬件逻辑约定的特殊编码值的魔术字,用于保证所述DMA操作描述符内容的完整性和有效性;所述DMA操作描述符还包括奇偶校验位,用于表示当前表项所有比特位的奇偶校验值。
2.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA控制块包括软件可配置的预取配置,用于表示DMA硬件逻辑单次总线操作所读取并缓存的所述DMA操作描述符表项的数量。
3.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA控制块包括描述符链表长度和I/O剩余数据量,分别用于表示当前I/O事务的DMA操作描述符链表中表项的数量和等待传输的数据量。
4.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA操作描述符包括序列号,用于表示当前表项在DMA描述符链表中的位置编号;所述序列号从0依次递增,且小于所述DMA控制块中的描述符链表长度。
5.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA硬件逻辑在执行时刻检查所述DMA操作描述符的魔术字,如果当前表项中的魔术字与预先约定的魔术字不匹配,则通知主机当前I/O传输发生异常。
6.根据权利要求1所述的存储控制器DMA设计方法,其特征在于,所述DMA硬件逻辑在执行时刻计算所述DMA操作描述符的奇偶校验值,如果当前表项中的奇偶校验位和计算所得结果不匹配,则通知主机当前I/O传输发生异常。
7.根据权利要求3所述的存储控制器DMA设计方法,其特征在于,如果当前描述符是DMA描述符链表的最后一个描述符,则检查DMA控制块中的所述I/O剩余数据量是否为0;若不为0,则通知主机I/O数据传输发生异常。
CN202110762205.3A 2021-07-06 2021-07-06 存储控制器dma设计方法 Active CN113342721B (zh)

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 CN113342721A (zh) 2021-09-03
CN113342721B true 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)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703951B (zh) * 2021-10-27 2022-02-18 苏州浪潮智能科技有限公司 一种处理dma的方法、装置、及计算机可读存储介质
CN114338567B (zh) * 2021-12-27 2023-09-05 锐迪科创微电子(北京)有限公司 Sdio接口数据传输方法及装置、sdio接口设备
CN116185892B (zh) * 2023-04-27 2023-07-21 珠海妙存科技有限公司 闪存控制器及其访问闪存颗粒的方法

Citations (7)

* Cited by examiner, † Cited by third party
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
CN101916237A (zh) * 2010-06-29 2010-12-15 航天恒星科技有限公司 一种pci总线dma高速数据传输方法
CN105656805A (zh) * 2016-01-20 2016-06-08 中国人民解放军国防科学技术大学 一种基于控制块预分配的分组接收方法和装置
CN110515872A (zh) * 2018-05-21 2019-11-29 阿里巴巴集团控股有限公司 直接内存存取方法、装置、专用计算芯片及异构计算系统
CN112749112A (zh) * 2020-12-31 2021-05-04 无锡众星微系统技术有限公司 一种硬件流水结构

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7181548B2 (en) * 1998-10-30 2007-02-20 Lsi Logic Corporation Command queueing engine
PL363432A1 (en) * 2001-01-31 2004-11-15 International Business Machines Corporation Method and apparatus for transferring interrupts from a peripheral device to a host computer system
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
JP4563829B2 (ja) * 2005-01-27 2010-10-13 富士通株式会社 ダイレクトメモリアクセス制御方法、ダイレクトメモリアクセス制御装置、情報処理システム、プログラム
US8495258B2 (en) * 2011-05-24 2013-07-23 International Business Machines Corporation Implementing storage adapter performance optimization with hardware accelerators offloading firmware for buffer allocation and automatically DMA
US8996926B2 (en) * 2012-10-15 2015-03-31 Infineon Technologies Ag DMA integrity checker
US9817776B2 (en) * 2015-01-19 2017-11-14 Microsoft Technology Licensing, Llc Memory descriptor list caching and pipeline processing

Patent Citations (7)

* Cited by examiner, † Cited by third party
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 計算機システムおよびファイルアクセス制御方法
CN101916237A (zh) * 2010-06-29 2010-12-15 航天恒星科技有限公司 一种pci总线dma高速数据传输方法
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)

* Cited by examiner, † Cited by third party
Title
Luk, Clement ; Wear, Larry L..The Simulation of a Microprogrammable Computer.《Winter Simulation Conference Proceedings》.Institute of Electrical and Electronics Engineers (IEEE),1975,全文. *
Run-DMA;Michael Rushanan,Stephen Checkoway;《9th USENIX Workshop on Offensive Technologies (WOOT "15》;20150811;全文 *
VxWorks5.5下电子盘DMA驱动程序设计与实现;尹加豹;《电子技术应用》;20161106;全文 *
基于DMA的双通道千兆以太网MAC设计与验证;刘浩等;《计算机技术与发展》;20160531(第05期);全文 *

Also Published As

Publication number Publication date
CN113342721A (zh) 2021-09-03

Similar Documents

Publication Publication Date Title
CN113342721B (zh) 存储控制器dma设计方法
US8996926B2 (en) DMA integrity checker
US6874054B2 (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
US9986028B2 (en) Techniques to replicate data between storage servers
US8364853B2 (en) Fibre channel input/output data routing system and method
US10901838B2 (en) Predictive caching for check word snooping in high performance ficon
US8583989B2 (en) Fibre channel input/output data routing system and method
US20080043563A1 (en) Flexibly controlling the transfer of data between input/output devices and memory
US8683084B2 (en) Fibre channel input/output data routing system and method
US20170097876A1 (en) Synchronous input/output diagnostic controls
US20170371828A1 (en) Synchronous input / output hardware acknowledgement of write completions
US20140047110A1 (en) Device level enablement of a communications protocol
US7143206B2 (en) Method for controlling data transfer unit having channel control unit, storage device control unit, and DMA processor
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
US6675238B1 (en) Each of a plurality of descriptors having a completion indicator and being stored in a cache memory of an input/output processor
US20120166686A1 (en) Method, apparatus and system for aggregating interrupts of a data transfer
CN114911588A (zh) 用于系统级芯片的中断路由控制方法和中断控制器
JPS623361A (ja) ステ−タス通報方式
US7882322B2 (en) Early directory access of a double data rate elastic interface
US11625331B2 (en) Cache control apparatus and cache system control method
US8533565B2 (en) Cache controller and cache controlling method

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