CN101040271A - 用于优化dma信道选择的方法和系统 - Google Patents

用于优化dma信道选择的方法和系统 Download PDF

Info

Publication number
CN101040271A
CN101040271A CNA2005800345862A CN200580034586A CN101040271A CN 101040271 A CN101040271 A CN 101040271A CN A2005800345862 A CNA2005800345862 A CN A2005800345862A CN 200580034586 A CN200580034586 A CN 200580034586A CN 101040271 A CN101040271 A CN 101040271A
Authority
CN
China
Prior art keywords
dma
channel
host bus
mode
detection module
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
CNA2005800345862A
Other languages
English (en)
Inventor
布拉德利·S·森克森
匡福·D·朱
拉金德拉·R·甘地
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.)
QLogic LLC
Original Assignee
QLogic LLC
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 QLogic LLC filed Critical QLogic LLC
Publication of CN101040271A publication Critical patent/CN101040271A/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)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种主机总线适配器,其耦合到网络和主机计算系统。所述主机总线适配器包含直接存储器存取(“DMA”)模式检测模块,其从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,所述DMA计数器对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。启用所述单信道模式达某一持续时间。所述主机总线适配器包含基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。

Description

用于优化DMA信道选择的方法和系统
技术领域
本发明涉及计算系统,且更明确地说,涉及优化直接存储器存取(“DMA”)信道仲裁。
背景技术
通常使用存储区域网络(“SAN”),其中使多个存储器存储装置可用于各种主机计算系统。通常通过各种控制器/适配器来将SAN中的数据从多个主机系统(其包含计算机系统、服务器等)移动到存储系统。
主机系统通常包含若干功能组件。这些组件可包含中央处理单元(CPU)、主存储器、输入/输出(“I/O”)装置和流式存储装置(streaming storage device)(例如,磁带驱动器)。在常规系统中,主存储器经由系统总线或本地存储器总线耦合到CPU。主存储器用于在执行时间向CPU提供对存储在主存储器中的数据和/或程序信息的存取权。通常,主存储器由随机存取存储器(RAM)电路组成。具有CPU和主存储器的计算机系统通常被称为主机系统。
主机系统通常使用接口(例如,“PCI”总线接口)经由主机总线适配器(“HRA”,也可称为“控制器”和/或“适配器”)与存储系统通信。PCI代表外围组件互连(PeripheralComponent Interconnect),由Intel Corporation开发的本地总线标准。PCI标准全文以引用的方式并入本文中。大多数现代计算系统除包含较一般的扩展总线(例如,ISA总线)外还包含PCI总线。PCI是64位总线,且可以33或66MHz的时钟速度运行。
PCI-X是另一标准总线,其与使用PCI总线的现有PCI卡兼容。PCI-X将PCI的数据传送速率从132MBps改进为多达1GBps。PCI-X标准由IBM、Hewlett PackardCorporation和Compaq Corporation开发,以提高高带宽装置(例如,千兆位以太网标准(Gigabit Ethernet standard)和光纤信道标准(Fibre Channel Standard))以及作为群集的一部分的处理器的性能。
也使用各种其它标准接口来将数据从主机系统移动到存储装置。光纤信道是这样的一个标准。光纤信道(其全文以引用的方式并入本文中)是美国国家标准学会(AmericanNational Standard Institute,ANSI))提出的一组标准,其提供针对存储的串行传输协议和网络协议(例如,HIPPI、SCSI、IP、ATM和其它协议)。光纤信道提供输入/输出接口以满足信道和网络用户两者的需求。
iSCSI是基于小型计算机系统接口(“SCSI”)的另一标准(其全文以引用的方式并入本文中),其使主机计算机系统能够与包含磁盘和磁带装置、光学存储装置以及打印机和扫描仪的多种外围装置一起执行块数据输入/输出(“I/O”)操作。
主机系统与外围装置之间的传统的SCSI连接是通过并行布线进行的,且受到距离和装置支持约束条件的限制。对于存储应用来说,开发iSCSI以利用基于光纤信道和千兆位以太网标准的网络结构。iSCSI在已建立的联网基础设施上利用SCSI协议,且界定用于在TCP/IP网络上启用块存储应用的构件。iSCSI界定SCSI协议与TCP/IP的映射。
HBA使用DMA模块来在存储器位置之间或存储器位置与输入/输出端口之间执行数据传送。DMA模块通过利用传送控制信息来初始化DMA单元中的控制寄存器而起作用,而不涉及微处理器。传送控制信息通常包含源地址(待传送的数据块的开头部分的地址)、目的地地址和数据块的大小。DMA单元向装置提供地址和总线控制信号并从装置中提供地址和总线控制信号,以用于读取和/或写入循环。
在DMA单元中建构特定信道,以允许存储装置将数据直接传送到存储器存储装置且从存储器存储装置传送数据。可通过来自存储装置或主机系统的DMA请求信号(DREQ)来激活信道。DMA单元接收所述DREQ;提供DMA确认信号(DACK);且通过所述信道将数据传送到存储装置或从存储装置传送数据。HBA通常使用多个DMA信道,且具有仲裁模块,所述仲裁模块对于PCI(或PCI-Express)链路的存取进行仲裁。这允许HBA通过有效地处理命令、状态和数据来对(信道之间的)上下文进行仲裁和切换。以周期性短脉冲的形式对多个信道提供服务。在每个仲裁循环之后,当连接到选定信道时,即使所述选定信道与先前仲裁循环中的先前选定的信道相同,也存在用于对数据管线进行重新加载的额外时间。因此,如果多个信道不在使用中,那么最小仲裁循环增加了(多个时钟循环的)等待时间且影响整体性能。等待时间的原因是对于每一DMA循环来说都必须加载并更新某些资源。当连续的请求从同一DMA信道出现,且其它信道都不请求存取时,每次对所述同一信道提供服务时都存在额外的损失,因为在有效信道被重新初始化(或“重新装备”)的时间期间,另一信道不传送数据。
HBA常常必须在DMA信道之间,尤其在同时处理状态、命令和数据时,执行频繁的上下文切换。在其它情况下,HBA可通过主要使用单个DMA信道来操作。这在(例如)发生较大数据传送且特定DMA单元获得存取权的情况下发生。这些情况(即,单信道使用或频繁的上下文切换)是不可预测的。常规HBA不能自动感测单信道使用和相应地调节仲裁循环。
并且,工业标准(例如,PCI-Express标准)提供关于存储器读取/写入请求何时必须基于最大有效负载、最大读取请求大小和地址/数据对准而终止的交易规则。由于这些规则的缘故,较大DMA请求可能必须被分段成较小区块。在常规系统中,在准许同一DMA信道对下一片段进行另一请求之前,接收第一数据片段的完成。这是因为每个DMA信道仅允许一个未解决的请求。重复请求-响应序列,直到整个DMA请求完成为止。如果单个信道重复地用于较大数据传送,那么请求-响应-请求循环消极地影响整体性能。
因此,需要一种系统和方法,其可自动感测同一DMA信道是否正用于数据传送;将某一标准请求和分段规则禁用某一周期;且通过减小仲裁频率来有效率地传送数据。
发明内容
在本发明的一个方面,提供一种主机总线适配器,其耦合到网络和主机计算系统。所述主机总线适配器包含直接存储器存取(“DMA”)模式检测模块,其从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,其对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。启用所述单信道模式,持续某一持续时间。所述主机总线适配器包含基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。
DMA模式检测模块包含寄存器,其存储阈值,且所述阈值是可编程的。所述多个DMA信道包含位于主机总线适配器的接收和发射路径中的DMA信道。
在本发明的另一方面,提供一种允许主机计算系统通过网络与多个装置通信的系统。所述系统包含主机总线适配器,所述主机总线适配器包含DMA模式检测模块,其从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,其对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。所述主机总线适配器包含基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。
DMA模式检测模块包含寄存器,其存储阈值,且所述阈值是可编程的。
提供一种可通过网络与多个装置通信的主机计算系统。所述计算系统耦合到主机总线适配器,所述主机总线适配器包含DMA模式检测模块,其从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,其对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。
所述主机总线适配器包含基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。
在本发明的又一方面,提供一种用于通过使用HBA而在主机计算系统与多个装置之间传送数据的方法。所述方法包含:确定HBA中的同一DMA信道是否已得到专门服务持续某一持续时间;和启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于在主机计算系统与多个装置之间传送数据的DMA请求长度。
已经提供了此简要概括,使得可快速地理解本发明的本质。可参考以下关于附图作出的对本发明优选实施例的详细描述来获得对本发明的更完整的理解。
附图说明
现将参看优选实施例的附图来描述本发明的前述特征和其它特征。在附图中,相同组件具有相同参考标号。所说明的实施例意图在于说明而非限制本发明。附图包含以下各图:
图1A是展示SAN的各个组件的方框图;
图1B是根据本发明一个方面使用DMA模式选择的主机总线适配器的方框图;
图1C展示根据本发明一个方面使用DMA模式选择模块的多个DMA单元的方框图;
图1D展示根据本发明一个方面DMA模式选择模块的方框图;和
图2是根据本发明一个方面用于DMA处理的可执行步骤的过程流程图。
不同图中使用类似参考标号指示类似或相同项目。
具体实施方式
为了有助于理解优选实施例,将描述SAN和HBA的一般结构和操作。接着,将参考主机系统和HBA的一般结构来描述优选实施例的特定结构和操作。
SAN概述:
图1A展示SAN系统100,其使用HBA 106(称为“适配器106”)以便通过使用光纤信道存储区域网络114和115而在具有主机存储器101的主机系统(例如,200)与各种存储系统(例如,存储子系统116和121,磁带库118和120)之间通信。主机存储器101包含驱动器102,其通过使用输入/输出控制区块(“IOCB”)来经由适配器106协调所有数据传送。服务器117和119也可分别通过使用SAN 115和114来存取存储子系统。请求队列103和响应队列104维持在主机存储器101中,以便使用适配器106来传送信息。如图1B中所示,主机系统通过PCI核心模块(接口)137经由PCI总线105来与适配器106通信。
HBA 106:
图1B展示适配器106的方框图。适配器106包含用于接收和发射侧的处理器(也可称为“序列发生器”)“XSEQ”112和“RSEQ”109,其分别用于处理从存储子系统接收到的数据和将数据发射到存储子系统。此情境中的发射路径表示从主机存储器101经由适配器106到存储系统的数据路径。接收路径表示从存储子系统经由适配器106的数据路径。值得注意的是,仅将一个处理器用于接收和发射路径,且本发明并不限于任何特定数目/类型的处理器。缓冲器111A和111B分别用于存储接收和发射路径中的信息。
除接收和发射路径上的专用处理器之外,适配器106还包含处理器106A,其可为用于执行适配器106中的各种功能的精简指令集计算机(reduced instruction set computer,“RISC”)。
适配器106还包含光纤信道接口(也称为光纤信道协议管理器“FPM”)113A,所述光纤信道接口在接收和发射路径中分别包含FPM 113B和FPM 113。FPM 113B和FPM113允许数据移动到存储系统/从存储系统移出。
适配器106还经由连接件116A(图1A)(在下文中可交换地参考)和本地存储器接口122而耦合到外部存储器108和110。提供存储器接口122来管理本地存储器108和110。本地DMA模块137A用于获得将数据从本地存储器(108/110)移出的存取权。适配器106还包含串行/解串行器136,其用于将数据从10位格式转换成8位格式,和进行相反的转换。
适配器106还包含请求队列DMA信道130;响应队列DMA信道131;请求队列(1)DMA信道132,其与请求队列103和响应队列104介接;和命令DMA信道133,其用于管理命令信息。这些DMA信道耦合到仲裁器107,仲裁器107从DMA信道接收多个请求,且准许对某一信道进行存取。接收和发射路径两者都具有DMA模块129和135,其用于获得对信道的存取权以在接收/发射路径中传送数据。发射路径还具有调度器134,其耦合到处理器112并对发射操作进行调度。
主机处理器(未图示)在缓冲存储器108中设置共享数据结构。将主机命令存储在缓冲器108中,且初始化适当的序列发生器(即,109或112)以执行命令。
各个DMA单元(或信道,本说明书全文中可交换地使用)(例如,129、130、131、132、133和135)将请求发送到仲裁器107。基于已建立的标准仲裁规则来分析所述请求。当请求被准许时,通知DMA单元所述准许,且准许对特定信道进行存储器存取。
DMA模式选择模块107A(“模块107A”):
在本发明的一个方面,提供DMA模式选择模块107A,其自动检测(“自动感测”)何时准许对特定DMA信道进行连续(即,紧接(back-to-back))存取持续某一时间段。模块107A可启用“单信道”模式,所述“单信道”模式规避各种标准规则,例如断开数据块分段,这减少了仲裁循环的数目和重新初始化同一DMA信道所花费的周转时间。
模块107A还感测在启用单信道模式之后何时再次使用多个信道。当这种情况发生时,禁用单信道模式,且将标准分段技术用于较大数据传送。
图1C展示功能上与模块107A耦合的仲裁器107。多个DMA信道(例如,129和135)与仲裁器107耦合。每个DMA信道都具有请求管线(例如,129B和135B)和分段模块(例如,129A和135A)。分段模块将DMA传送分段成多个片段(或区块),以满足数据传送规则和/或在DMA传送太大时的情况。序列发生器109和112将信道任务命令(129C和135C)分别发送到DMA信道129和135。所述命令用于向仲裁器107产生请求。
分段模块129A和135B还基于某些规则(例如,应何时且如何对数据块进行分段)而操作。这些规则可通过固件而开启或关闭。这些规则中的一些规则基于如PCI-Express标准协议所强加的数据块长度和地址限制。也可通过检测下文所述的单信道模式条件来启用/禁用规则。
当准许存取信道时,将信息传递到模块107A。如果准许重复地存取同一信道且不存在竞争请求,那么模块107A启用单信道模式选择信号107F。这允许分段模块停止对数据块进行分段(和/或将数据块分成较大片段),并以较大区块的形式传送数据以避免仲裁循环。启用单信道模式,仅持续有限时间,使得一旦其它信道请求存取,那么就不会存在积压。
图1D展示模块107A的方框图。可通过适配器106固件来启用或禁用模块107A的自动感测模式。仲裁器107在每次准许对信道进行存取时提供信道的标识符(“信道ID”)107J。可通过固件用持久性阈值来对阈值寄存器(展示为PST_THR)107D进行编程。通过固件使用信号/命令107H来控制寄存器107D。命令/信号107I用于加载所述阈值。
每次仲裁器107准许DMA请求时,DMA序列计数器107B(DMA_SEQ_CNT)均维持运行计数(展示为107K)。通过固件使用命令/信号107G来启用计数器107B。比较模块107N比较当前DMA请求的信道ID与信道ID 107J。如果DMA信道ID 107J对于当前信道(107P)与对于上一信道是相同的,且计数器107B值(即,107L)小于寄存器107D值(即,107M)(如由逻辑107E确定),那么计数器107B增加。如果信道ID 107J不同,那么计数器107B重设,例如为1。当107L等于或大于107M时,那么产生单模式选择信号107F,且将其发送到分段逻辑(例如,129A或135A)。
图2展示用于自动感测DMA信道使用并启用单信道模式的可执行处理步骤的流程图。
当在步骤S200中固件通过命令/信号107G启用计数器107B时,过程开始,且在步骤S201中,通过命令/信号107I而在寄存器107D中加载阈值。
在步骤S202中,所述过程确定当前DMA信道ID(107P)是否与先前请求的信道ID(107J)相同。这由比较模块107N执行。如果信道ID不同,那么在步骤S203中,重设计数器107B。
如果信道ID相同,表示正服务于同一DMA信道,那么在步骤S202A中,递增DMA计数器107B。
在步骤S204中,逻辑107E将计数器值107L与阈值107M进行比较。如果107L不等于107M,那么对DMA请求进行仲裁,且使用标准规则对数据块进行分段,且增加计数器107B。
如果107L等于107M,那么在步骤S206中,启用单DMA信道模式。当不启用单信道模式时,那么遵循某些交易规则。举例来说,
读取请求不得超过最大读取请求大小;
写入请求不得超过最大有效负载大小;
读取和写入请求不得重叠4千字节(“KB”)地址片段;和/或
写入请求必须尽可能频繁地以128字节(“B”)边界终止(即,除非是序列中的不以128B地址结束的上一个请求)。
如果107L等于107M,那么通过命令/信号107F来启用单信道模式。
当启用单信道模式时,不使用前述交易规则来确定每个DMA请求的开始部分和结束部分。这将促使仲裁频率减小,因为传送的大小将增加。
值得注意的是,单信道模式可能仅由适配器106的固件允许持续某一持续时间。在自动禁用单信道模式之后,发生正常请求长度分段/仲裁。
尽管,已经参考特定实施例描述了本发明,但这些实施例仅仅是说明性的而不是限制性的。根据本揭示案和所附权利要求书将明了本发明的许多其它应用和实施例。

Claims (25)

1.一种主机总线适配器,其耦合到网络和主机计算系统,所述主机总线适配器包括:
直接存储器存取(“DMA”)模式检测模块,其从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,所述DMA计数器对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果所述DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。
2.根据权利要求1所述的主机总线适配器,其中所述DMA模式检测模块包含寄存器,所述寄存器存储所述阈值,且所述阈值是可编程的。
3.根据权利要求1所述的主机总线适配器,其中所述多个DMA信道包含位于所述主机总线适配器的接收路径中的DMA信道。
4.根据权利要求1所述的主机总线适配器,其中所述多个DMA信道包含位于所述主机总线适配器的发射路径中的DMA信道。
5.根据权利要求1所述的主机总线适配器,其中启用所述单信道模式达某一持续时间。
6.根据权利要求1所述的主机总线适配器,其进一步包括:
基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。
7.一种允许主机计算系统通过网络与多个装置通信的系统,其包括:
主机总线适配器,其包含直接存储器存取(“DMA”)模式检测模块,所述DMA模式检测模块从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,所述DMA计数器对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果所述DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。
8.根据权利要求7所述的系统,其中所述DMA模式检测模块包含寄存器,所述寄存器存储所述阈值,且所述阈值是可编程的。
9.根据权利要求7所述的系统,其中所述多个DMA信道包含位于所述主机总线适配器的接收路径中的DMA信道。
10.根据权利要求7所述的系统,其中所述多个DMA信道包含位于所述主机总线适配器的发射路径中的DMA信道。
11.根据权利要求7所述的系统,其中启用所述单信道模式达某一持续时间。
12.根据权利要求7所述的系统,其中所述多个装置包含存储装置。
13.根据权利要求7所述的系统,其中所述网络是基于光纤信道的。
14.根据权利要求7所述的系统,其中所述主机总线适配器包含基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。
15.一种可通过网络与多个装置通信的主机计算系统,其包括:
主机总线适配器,其在操作上耦合到所述主机计算系统,所述主机总线适配器包含直接存储器存取(“DMA”)模式检测模块,所述DMA模式检测模块从仲裁模块接收DMA信道标识符信息,所述仲裁模块从多个DMA信道接收请求,其中所述DMA模式检测模块包含DMA计数器,所述DMA计数器对所述仲裁模块专门服务单个DMA信道的次数进行计数,且如果所述DMA计数器值等于阈值,那么所述DMA模式检测模块启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于传送数据的DMA请求长度。
16.根据权利要求15所述的主机计算系统,其中所述DMA模式检测模块包含寄存器,所述寄存器存储所述阈值,且所述阈值是可编程的。
17.根据权利要求15所述的主机计算系统,其中所述多个DMA信道包含位于所述主机总线适配器的接收路径中的DMA信道。
18.根据权利要求15所述的主机计算系统,其中所述多个DMA信道包含位于所述主机总线适配器的发射路径中的DMA信道。
19.根据权利要求15所述的主机计算系统,其中启用所述单信道模式达某一持续时间。
20.根据权利要求15所述的主机计算系统,其中所述主机总线适配器包含基于规则的分段逻辑,其可通过主机总线适配器固件和/或单信道模式条件的检测而被启用和/或禁用。
21.一种使用耦合到网络的主机总线适配器(“HBA”)在主机计算系统与多个装置之间传送数据的方法,其包括:
确定是否已专门服务所述HBA中的同一直接存储器存取(“DMA”)信道达某一持续时间;和
启用单信道模式,在所述单信道模式期间,忽略标准交易规则来确定用于在所述主机计算系统与所述多个装置之间传送数据的DMA请求长度。
22.根据权利要求21所述的方法,其中DMA序列计数器保存仲裁模块已服务所述同一DMA信道多少次的计数。
23.根据权利要求22所述的方法,其中所述仲裁模块从多个DMA信道接收请求。
24.根据权利要求22所述的方法,其中将所述DMA序列计数器值与可编程阈值进行比较,以确定是否应启用所述单信道模式。
25.根据权利要求24所述的方法,其中所述可编程阈值存储在DMA模式检测模块中的寄存器中。
CNA2005800345862A 2004-09-08 2005-09-07 用于优化dma信道选择的方法和系统 Pending CN101040271A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/935,919 US7577772B2 (en) 2004-09-08 2004-09-08 Method and system for optimizing DMA channel selection
US10/935,919 2004-09-08

Publications (1)

Publication Number Publication Date
CN101040271A true CN101040271A (zh) 2007-09-19

Family

ID=35520677

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2005800345862A Pending CN101040271A (zh) 2004-09-08 2005-09-07 用于优化dma信道选择的方法和系统

Country Status (6)

Country Link
US (1) US7577772B2 (zh)
EP (1) EP1787205B1 (zh)
CN (1) CN101040271A (zh)
AT (1) ATE425497T1 (zh)
DE (1) DE602005013246D1 (zh)
WO (1) WO2006029133A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430758A (zh) * 2015-03-25 2017-12-01 赛灵思公司 自适应视频直接存储器存取模块

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060075164A1 (en) * 2004-09-22 2006-04-06 Ooi Eng H Method and apparatus for using advanced host controller interface to transfer data
JP4908017B2 (ja) * 2006-02-28 2012-04-04 富士通株式会社 Dmaデータ転送装置及びdmaデータ転送方法
US20080126600A1 (en) * 2006-08-31 2008-05-29 Freescale Semiconductor, Inc. Direct memory access device and methods
US7500023B2 (en) 2006-10-10 2009-03-03 International Business Machines Corporation Facilitating input/output processing by using transport control words to reduce input/output communications
US7865631B2 (en) * 2007-12-06 2011-01-04 International Business Machines Corporation Dynamic logical data channel assignment using time-grouped allocations
US7941570B2 (en) 2008-02-14 2011-05-10 International Business Machines Corporation Bi-directional data transfer within a single I/O operation
US8176222B2 (en) 2008-02-14 2012-05-08 International Business Machines Corporation Early termination of an I/O operation in an I/O processing system
US8108570B2 (en) 2008-02-14 2012-01-31 International Business Machines Corporation Determining the state of an I/O operation
US8312189B2 (en) 2008-02-14 2012-11-13 International Business Machines Corporation Processing of data to monitor input/output operations
US7890668B2 (en) 2008-02-14 2011-02-15 International Business Machines Corporation Providing indirect data addressing in an input/output processing system where the indirect data address list is non-contiguous
US8095847B2 (en) 2008-02-14 2012-01-10 International Business Machines Corporation Exception condition handling at a channel subsystem in an I/O processing system
US8082481B2 (en) 2008-02-14 2011-12-20 International Business Machines Corporation Multiple CRC insertion in an output data stream
US9052837B2 (en) 2008-02-14 2015-06-09 International Business Machines Corporation Processing communication data in a ships passing condition
US8478915B2 (en) 2008-02-14 2013-07-02 International Business Machines Corporation Determining extended capability of a channel path
US8196149B2 (en) 2008-02-14 2012-06-05 International Business Machines Corporation Processing of data to determine compatability in an input/output processing system
US8117347B2 (en) 2008-02-14 2012-02-14 International Business Machines Corporation Providing indirect data addressing for a control block at a channel subsystem of an I/O processing system
US8166206B2 (en) 2008-02-14 2012-04-24 International Business Machines Corporation Cancel instruction and command for determining the state of an I/O operation
US8214562B2 (en) 2008-02-14 2012-07-03 International Business Machines Corporation Processing of data to perform system changes in an input/output processing system
US8055807B2 (en) * 2008-07-31 2011-11-08 International Business Machines Corporation Transport control channel program chain linking including determining sequence order
JP5056668B2 (ja) * 2008-08-14 2012-10-24 富士通株式会社 データ転送装置、およびデータ転送方法
US8332542B2 (en) 2009-11-12 2012-12-11 International Business Machines Corporation Communication with input/output system devices
US8904058B2 (en) * 2011-05-27 2014-12-02 International Business Machines Corporation Selecting direct memory access engines in an adaptor input/output (I/O) requests received at the adaptor
US8738811B2 (en) 2011-06-01 2014-05-27 International Business Machines Corporation Fibre channel input/output data routing system and method
US9021155B2 (en) 2011-06-01 2015-04-28 International Business Machines Corporation Fibre channel input/output data routing including discarding of data transfer requests in response to error detection
US8583988B2 (en) 2011-06-01 2013-11-12 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364854B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8364853B2 (en) 2011-06-01 2013-01-29 International Business Machines Corporation Fibre channel input/output data routing system and method
US8677027B2 (en) 2011-06-01 2014-03-18 International Business Machines Corporation Fibre channel input/output data routing system and method
US8473641B2 (en) 2011-06-30 2013-06-25 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8346978B1 (en) 2011-06-30 2013-01-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8549185B2 (en) 2011-06-30 2013-10-01 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8312176B1 (en) 2011-06-30 2012-11-13 International Business Machines Corporation Facilitating transport mode input/output operations between a channel subsystem and input/output devices
US8677044B1 (en) * 2012-10-25 2014-03-18 Qlogic, Corporation Method and system for communication using multiple DMA channels
US8966132B2 (en) 2012-11-16 2015-02-24 International Business Machines Corporation Determining a mapping mode for a DMA data transfer
US8918542B2 (en) 2013-03-15 2014-12-23 International Business Machines Corporation Facilitating transport mode data transfer between a channel subsystem and input/output devices
US8990439B2 (en) 2013-05-29 2015-03-24 International Business Machines Corporation Transport mode data transfer between a channel subsystem and input/output devices
US8984179B1 (en) 2013-11-15 2015-03-17 International Business Machines Corporation Determining a direct memory access data transfer mode
DE102014207417A1 (de) * 2014-04-17 2015-10-22 Robert Bosch Gmbh Schnittstelleneinheit
US20170147517A1 (en) * 2015-11-23 2017-05-25 Mediatek Inc. Direct memory access system using available descriptor mechanism and/or pre-fetch mechanism and associated direct memory access method
US10761999B1 (en) * 2019-05-30 2020-09-01 Western Digital Technologies, Inc. Storage device with predictor engine of host turnaround time
US11314674B2 (en) 2020-02-14 2022-04-26 Google Llc Direct memory access architecture with multi-level multi-striding

Family Cites Families (122)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4268906A (en) * 1978-12-22 1981-05-19 International Business Machines Corporation Data processor input/output controller
US4783739A (en) 1979-11-05 1988-11-08 Geophysical Service Inc. Input/output command processor
US4333143A (en) * 1979-11-19 1982-06-01 Texas Instruments Input process sequence controller
US4449182A (en) * 1981-10-05 1984-05-15 Digital Equipment Corporation Interface between a pair of processors, such as host and peripheral-controlling processors in data processing systems
US4777595A (en) * 1982-05-07 1988-10-11 Digital Equipment Corporation Apparatus for transferring blocks of information from one node to a second node in a computer network
US4549263A (en) * 1983-02-14 1985-10-22 Texas Instruments Incorporated Device interface controller for input/output controller
US4783730A (en) 1986-09-19 1988-11-08 Datapoint Corporation Input/output control technique utilizing multilevel memory structure for processor and I/O communication
US5276807A (en) * 1987-04-13 1994-01-04 Emulex Corporation Bus interface synchronization circuitry for reducing time between successive data transmission in a system using an asynchronous handshaking
US4803622A (en) * 1987-05-07 1989-02-07 Intel Corporation Programmable I/O sequencer for use in an I/O processor
US5129064A (en) * 1988-02-01 1992-07-07 International Business Machines Corporation System and method for simulating the I/O of a processing system
US5212795A (en) * 1988-10-11 1993-05-18 California Institute Of Technology Programmable DMA controller
US5321816A (en) * 1989-10-10 1994-06-14 Unisys Corporation Local-remote apparatus with specialized image storage modules
US5249279A (en) * 1989-11-03 1993-09-28 Compaq Computer Corporation Method for controlling disk array operations by receiving logical disk requests and translating the requests to multiple physical disk specific commands
US5233618A (en) 1990-03-02 1993-08-03 Micro Technology, Inc. Data correcting applicable to redundant arrays of independent disks
US5151899A (en) * 1991-02-11 1992-09-29 Digital Equipment Corporation Tracking sequence numbers in packet data communication system
US5347638A (en) * 1991-04-15 1994-09-13 Seagate Technology, Inc. Method and apparatus for reloading microinstruction code to a SCSI sequencer
US5388237A (en) * 1991-12-30 1995-02-07 Sun Microsystems, Inc. Method of and apparatus for interleaving multiple-channel DMA operations
JPH07122865B2 (ja) 1992-01-02 1995-12-25 インターナショナル・ビジネス・マシーンズ・コーポレイション バス動作の動作速度を制御するようにしたバス・インターフェースを有するコンピュータ・システム
EP0551191B1 (en) * 1992-01-09 2000-04-12 Cabletron Systems, Inc. Apparatus and method for transferring data to and from host system
US5280587A (en) * 1992-03-31 1994-01-18 Vlsi Technology, Inc. Computer system in which a bus controller varies data transfer rate over a bus based on a value of a subset of address bits and on a stored value
US5647057A (en) * 1992-08-24 1997-07-08 Texas Instruments Incorporated Multiple block transfer mechanism
US5371861A (en) 1992-09-15 1994-12-06 International Business Machines Corp. Personal computer with small computer system interface (SCSI) data flow storage controller capable of storing and processing multiple command descriptions ("threads")
US5448702A (en) * 1993-03-02 1995-09-05 International Business Machines Corporation Adapters with descriptor queue management capability
US5828856A (en) * 1994-01-28 1998-10-27 Apple Computer, Inc. Dual bus concurrent multi-channel direct memory access controller and method
US6049802A (en) * 1994-06-27 2000-04-11 Lockheed Martin Corporation System and method for generating a linked list in a computer memory
US5568614A (en) * 1994-07-29 1996-10-22 International Business Machines Corporation Data streaming between peer subsystems of a computer system
US5632016A (en) * 1994-09-27 1997-05-20 International Business Machines Corporation System for reformatting a response packet with speed code from a source packet using DMA engine to retrieve count field and address from source packet
US5828903A (en) * 1994-09-30 1998-10-27 Intel Corporation System for performing DMA transfer with a pipeline control switching such that the first storage area contains location of a buffer for subsequent transfer
US5761427A (en) 1994-12-28 1998-06-02 Digital Equipment Corporation Method and apparatus for updating host memory in an adapter to minimize host CPU overhead in servicing an interrupt
US5613162A (en) * 1995-01-04 1997-03-18 Ast Research, Inc. Method and apparatus for performing efficient direct memory access data transfers
US5729762A (en) * 1995-04-21 1998-03-17 Intel Corporation Input output controller having interface logic coupled to DMA controller and plurality of address lines for carrying control information to DMA agent
US5664197A (en) * 1995-04-21 1997-09-02 Intel Corporation Method and apparatus for handling bus master channel and direct memory access (DMA) channel access requests at an I/O controller
US5917723A (en) * 1995-05-22 1999-06-29 Lsi Logic Corporation Method and apparatus for transferring data between two devices with reduced microprocessor overhead
US5671365A (en) * 1995-10-20 1997-09-23 Symbios Logic Inc. I/O system for reducing main processor overhead in initiating I/O requests and servicing I/O completion events
US5968143A (en) * 1995-12-13 1999-10-19 International Business Machines Corporation Information handling system for transfer of command blocks to a local processing side without local processor intervention
US5758187A (en) * 1996-03-15 1998-05-26 Adaptec, Inc. Method for enhancing performance of a RAID 1 read operation using a pair of I/O command blocks in a chain structure
US5892969A (en) * 1996-03-15 1999-04-06 Adaptec, Inc. Method for concurrently executing a configured string of concurrent I/O command blocks within a chain to perform a raid 5 I/O operation
US5751965A (en) * 1996-03-21 1998-05-12 Cabletron System, Inc. Network connection status monitor and display
US5761421A (en) * 1996-03-25 1998-06-02 Sun Microsystems, Inc. System and method for secure peer-to-peer communication between downloaded programs
US5835496A (en) 1996-04-30 1998-11-10 Mcdata Corporation Method and apparatus for data alignment
US5881296A (en) * 1996-10-02 1999-03-09 Intel Corporation Method for improved interrupt processing in a computer system
US6233244B1 (en) * 1997-02-14 2001-05-15 Advanced Micro Devices, Inc. Method and apparatus for reclaiming buffers
US6526518B1 (en) * 1997-05-22 2003-02-25 Creative Technology, Ltd. Programmable bus
US6115761A (en) * 1997-05-30 2000-09-05 Lsi Logic Corporation First-In-First-Out (FIFO) memories having dual descriptors and credit passing for efficient access in a multi-processor system environment
US5905905A (en) * 1997-08-05 1999-05-18 Adaptec, Inc. System for copying IOBS from FIFO into I/O adapter, writing data completed IOB, and invalidating completed IOB in FIFO for reuse of FIFO
US5960451A (en) * 1997-09-16 1999-09-28 Hewlett-Packard Company System and method for reporting available capacity in a data storage system with variable consumption characteristics
US6055603A (en) * 1997-09-18 2000-04-25 Emc Corporation Method and apparatus for performing pre-request operations in a cached disk array storage system
US6085277A (en) * 1997-10-15 2000-07-04 International Business Machines Corporation Interrupt and message batching apparatus and method
US6078970A (en) * 1997-10-15 2000-06-20 International Business Machines Corporation System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
US5983292A (en) 1997-10-15 1999-11-09 International Business Machines Corporation Message transport mechanisms and methods
US6138176A (en) * 1997-11-14 2000-10-24 3Ware Disk array controller with automated processor which routes I/O data according to addresses and commands received from disk drive controllers
GB2342021B (en) 1997-11-17 2002-12-31 Seagate Technology Method and dedicated frame buffers for receiving frames
US6105122A (en) * 1998-02-06 2000-08-15 Ncr Corporation I/O protocol for highly configurable multi-node processing system
US6006340A (en) 1998-03-27 1999-12-21 Phoenix Technologies Ltd. Communication interface between two finite state machines operating at different clock domains
US6185620B1 (en) * 1998-04-03 2001-02-06 Lsi Logic Corporation Single chip protocol engine and data formatter apparatus for off chip host memory to local memory transfer and conversion
US6134617A (en) * 1998-04-03 2000-10-17 Lsi Logic Corporation Method and apparatus for managing access to a loop in a data processing system
US6167465A (en) 1998-05-20 2000-12-26 Aureal Semiconductor, Inc. System for managing multiple DMA connections between a peripheral device and a memory and performing real-time operations on data carried by a selected DMA connection
JP3994360B2 (ja) * 1998-05-20 2007-10-17 ソニー株式会社 情報処理装置、情報処理方法、および記録媒体
US6310884B1 (en) * 1998-05-21 2001-10-30 Lsi Logic Corporation Data transfer method and apparatus that allocate storage based upon a received relative offset
US6421711B1 (en) * 1998-06-29 2002-07-16 Emc Corporation Virtual ports for data transferring of a data storage system
US7756986B2 (en) * 1998-06-30 2010-07-13 Emc Corporation Method and apparatus for providing data management for a storage system coupled to a network
US20060117274A1 (en) 1998-08-31 2006-06-01 Tseng Ping-Sheng Behavior processor system and method
US6425034B1 (en) * 1998-10-30 2002-07-23 Agilent Technologies, Inc. Fibre channel controller having both inbound and outbound control units for simultaneously processing both multiple inbound and outbound sequences
US6314477B1 (en) 1998-10-30 2001-11-06 Agilent Technologies, Inc. Performance of fibre channel protocol sequence reassembly using expected frame information and buffer list calculations
US6269413B1 (en) * 1998-10-30 2001-07-31 Hewlett Packard Company System with multiple dynamically-sized logical FIFOs sharing single memory and with read/write pointers independently selectable and simultaneously responsive to respective read/write FIFO selections
US6425021B1 (en) * 1998-11-16 2002-07-23 Lsi Logic Corporation System for transferring data packets of different context utilizing single interface and concurrently processing data packets of different contexts
US6463032B1 (en) * 1999-01-27 2002-10-08 Advanced Micro Devices, Inc. Network switching system having overflow bypass in internal rules checker
US6546010B1 (en) * 1999-02-04 2003-04-08 Advanced Micro Devices, Inc. Bandwidth efficiency in cascaded scheme
US6233629B1 (en) * 1999-02-05 2001-05-15 Broadcom Corporation Self-adjusting elasticity data buffer with preload value
US6604224B1 (en) * 1999-03-31 2003-08-05 Diva Systems Corporation Method of performing content integrity analysis of a data stream
US6434630B1 (en) * 1999-03-31 2002-08-13 Qlogic Corporation Host adapter for combining I/O completion reports and method of using the same
US6504846B1 (en) * 1999-05-21 2003-01-07 Advanced Micro Devices, Inc. Method and apparatus for reclaiming buffers using a single buffer bit
EP1059588A1 (en) * 1999-06-09 2000-12-13 Texas Instruments Incorporated Multi-channel dma with request scheduling
US6564271B2 (en) * 1999-06-09 2003-05-13 Qlogic Corporation Method and apparatus for automatically transferring I/O blocks between a host system and a host adapter
US6457090B1 (en) * 1999-06-30 2002-09-24 Adaptec, Inc. Structure and method for automatic configuration for SCSI Synchronous data transfers
US6538669B1 (en) * 1999-07-15 2003-03-25 Dell Products L.P. Graphical user interface for configuration of a storage system
US6343324B1 (en) * 1999-09-13 2002-01-29 International Business Machines Corporation Method and system for controlling access share storage devices in a network environment by configuring host-to-volume mapping data structures in the controller memory for granting and denying access to the devices
US6721799B1 (en) * 1999-09-15 2004-04-13 Koninklijke Philips Electronics N.V. Method for automatically transmitting an acknowledge frame in canopen and other can application layer protocols and a can microcontroller that implements this method
US6671776B1 (en) 1999-10-28 2003-12-30 Lsi Logic Corporation Method and system for determining and displaying the topology of a storage array network having multiple hosts and computer readable medium for generating the topology
US6480977B1 (en) 1999-10-29 2002-11-12 Worldcom, Inc. Multi-protocol monitor
US6594329B1 (en) * 1999-11-01 2003-07-15 Intel Corporation Elastic buffer
US6775693B1 (en) * 2000-03-30 2004-08-10 Baydel Limited Network DMA method
US6643748B1 (en) 2000-04-20 2003-11-04 Microsoft Corporation Programmatic masking of storage units
US6725388B1 (en) * 2000-06-13 2004-04-20 Intel Corporation Method and system for performing link synchronization between two clock domains by inserting command signals into a data stream transmitted between the two clock domains
US6636909B1 (en) 2000-07-05 2003-10-21 Sun Microsystems, Inc. Adaptive throttling for fiber channel disks
US6957313B2 (en) * 2000-12-01 2005-10-18 Hsia James R Memory matrix and method of operating the same
US7120149B2 (en) * 2001-02-28 2006-10-10 Ericsson Inc. Methods and system for resequencing out of order data packets
US20030097481A1 (en) * 2001-03-01 2003-05-22 Richter Roger K. Method and system for performing packet integrity operations using a data movement engine
JP2002281080A (ja) 2001-03-19 2002-09-27 Fujitsu Ltd パケットスイッチ装置およびマルチキャスト送出方法
JP4990442B2 (ja) * 2001-04-10 2012-08-01 株式会社日立製作所 記憶制御装置及びコンピュータシステム
US7000025B1 (en) * 2001-05-07 2006-02-14 Adaptec, Inc. Methods for congestion mitigation in infiniband
US20030056000A1 (en) * 2001-07-26 2003-03-20 Nishan Systems, Inc. Transfer ready frame reordering
US6763398B2 (en) * 2001-08-29 2004-07-13 International Business Machines Corporation Modular RAID controller
US6944829B2 (en) 2001-09-25 2005-09-13 Wind River Systems, Inc. Configurable user-interface component management system
US6871248B2 (en) * 2001-09-29 2005-03-22 Hewlett-Packard Development Company, L.P. Isochronous transactions for interconnect busses of a computer system
US7171624B2 (en) 2001-10-05 2007-01-30 International Business Machines Corporation User interface architecture for storage area network
US6829660B2 (en) * 2001-12-12 2004-12-07 Emulex Design & Manufacturing Corporation Supercharge message exchanger
TW564623B (en) * 2002-02-22 2003-12-01 Via Tech Inc Device and method for comma detection and word alignment in serial transmission
JP2003345518A (ja) 2002-05-29 2003-12-05 Hitachi Ltd ディスクアレイ装置の設定方法、プログラム、情報処理装置、ディスクアレイ装置
EP1554842A4 (en) * 2002-08-30 2010-01-27 Corporation Broadcom SYSTEM AND METHOD FOR TREATING FRAMES OUTSIDE THE ORDER
US7349399B1 (en) 2002-09-20 2008-03-25 Redback Networks, Inc. Method and apparatus for out-of-order processing of packets using linked lists
US7051245B2 (en) * 2002-11-30 2006-05-23 International Business Machines Corporation System and method for handling out-of-order data supplied by a real-time feed
US6825693B2 (en) * 2002-12-31 2004-11-30 Intel Corporation Remote receiver detection
US7167929B2 (en) 2003-01-13 2007-01-23 Sierra Logic Integrated-circuit implementation of a storage-shelf router and a path controller card for combined use in high-availability mass-storage-device shelves that may be incorporated within disk arrays, and a storage-shelf-interface tunneling method and system
US7117304B2 (en) 2003-06-03 2006-10-03 Sun Microsystems, Inc. System and method for determining a file system layout
TWI249681B (en) * 2003-07-02 2006-02-21 Via Tech Inc Circuit and method for aligning data transmitting timing of a plurality of lanes
US7477644B2 (en) * 2003-07-30 2009-01-13 International Business Machines Corporation Method and system of efficient packet reordering
EP1656777A1 (en) * 2003-08-11 2006-05-17 Koninklijke Philips Electronics N.V. Auto realignment of multiple serial byte-lanes
US7055014B1 (en) * 2003-08-11 2006-05-30 Network Applicance, Inc. User interface system for a multi-protocol storage appliance
US7155553B2 (en) 2003-08-14 2006-12-26 Texas Instruments Incorporated PCI express to PCI translation bridge
US7234007B2 (en) * 2003-09-15 2007-06-19 Broadcom Corporation Adjustable elasticity FIFO buffer have a number of storage cells equal to a frequency offset times a number of data units in a data stream
US7222290B2 (en) * 2003-11-18 2007-05-22 Agere Systems Inc. Method and apparatus for receiver detection on a PCI-Express bus
US7631118B2 (en) * 2003-12-31 2009-12-08 Intel Corporation Lane to lane deskewing via non-data symbol processing for a serial point to point link
US7404115B2 (en) * 2004-02-12 2008-07-22 International Business Machines Corporation Self-synchronising bit error analyser and circuit
US7231560B2 (en) * 2004-04-16 2007-06-12 Via Technologies, Inc. Apparatus and method for testing motherboard having PCI express devices
US7502377B2 (en) * 2004-10-29 2009-03-10 Intel Corporation PCI to PCI express protocol conversion
TWI273259B (en) * 2004-11-09 2007-02-11 Via Tech Inc Built-in test architecture
US7461192B2 (en) * 2004-12-15 2008-12-02 Rambus Inc. Interface for bridging out-of-band information and preventing false presence detection of terminating devices
KR20060081522A (ko) * 2005-01-10 2006-07-13 삼성전자주식회사 피씨아이 익스프레스의 바이트 스큐 보상방법 및 이를위한 피씨아이 익스프레스 물리 계층 수신기
US7231480B2 (en) * 2005-04-06 2007-06-12 Qlogic, Corporation Method and system for receiver detection in PCI-Express devices
US7230549B1 (en) * 2005-09-09 2007-06-12 Qlogic, Corporation Method and system for synchronizing bit streams for PCI express devices
US8867683B2 (en) * 2006-01-27 2014-10-21 Ati Technologies Ulc Receiver and method for synchronizing and aligning serial streams

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107430758A (zh) * 2015-03-25 2017-12-01 赛灵思公司 自适应视频直接存储器存取模块

Also Published As

Publication number Publication date
EP1787205B1 (en) 2009-03-11
DE602005013246D1 (de) 2009-04-23
US20060053236A1 (en) 2006-03-09
ATE425497T1 (de) 2009-03-15
US7577772B2 (en) 2009-08-18
WO2006029133A3 (en) 2006-06-29
WO2006029133A2 (en) 2006-03-16
EP1787205A2 (en) 2007-05-23

Similar Documents

Publication Publication Date Title
CN101040271A (zh) 用于优化dma信道选择的方法和系统
EP0432978B1 (en) Apparatus for conditioning priority arbitration in buffered direct memory addressing
US9400616B2 (en) Methodology for manipulation of SATA device access cycles
US9513825B2 (en) Storage system having a channel control function using a plurality of processors
JP4690202B2 (ja) 高可用性大容量ストレージデバイスシェルフ
US20030221061A1 (en) Serial interface for a data storage array
US7984252B2 (en) Storage controllers with dynamic WWN storage modules and methods for managing data and connections between a host and a storage device
EP0986886A1 (en) Method and apparatus for transferring data from a first protocol to a second protocol
KR20120087980A (ko) 다중 인터페이스 솔리드 스테이트 디스크, 및 다중 인터페이스 솔리드 스테이트 디스크의 처리 방법 및 시스템
US7669190B2 (en) Method and system for efficiently recording processor events in host bus adapters
US8032675B2 (en) Dynamic memory buffer allocation method and system
US7421520B2 (en) High-speed I/O controller having separate control and data paths
US8090893B2 (en) Input output control apparatus with a plurality of ports and single protocol processing circuit
US20080183921A1 (en) Serial advanced technology attachment (SATA) frame information structure (FIS) processing
WO2006019770A2 (en) System and method for transmitting data in storage controllers
CN101044466A (zh) 用于优化网络中的数据传送的方法和系统
EP2300925B1 (en) System to connect a serial scsi array controller to a storage area network
US7234101B1 (en) Method and system for providing data integrity in storage systems
CN101044727A (zh) 使用直插式信用扩充器与主机总线适配器的方法及系统
JP4930554B2 (ja) 入出力制御装置
CN1838096A (zh) PCI-Express通信系统
US7668978B1 (en) Method and system for storing frames in networks
US20130132621A1 (en) Method and apparatus to share hardware resources across storage controllers within a system using resource sharing module

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