CN101014942B - 使用高级主机控制器接口来传送数据的方法和仪器 - Google Patents
使用高级主机控制器接口来传送数据的方法和仪器 Download PDFInfo
- Publication number
- CN101014942B CN101014942B CN2005800304468A CN200580030446A CN101014942B CN 101014942 B CN101014942 B CN 101014942B CN 2005800304468 A CN2005800304468 A CN 2005800304468A CN 200580030446 A CN200580030446 A CN 200580030446A CN 101014942 B CN101014942 B CN 101014942B
- Authority
- CN
- China
- Prior art keywords
- data
- console controller
- autonomous device
- system storage
- exchanges 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.)
- Expired - Fee Related
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/38—Information transfer, e.g. on bus
- G06F13/382—Information transfer, e.g. on bus using universal interface adapter
- G06F13/385—Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Systems (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
- Memory System Of A Hierarchy Structure (AREA)
Abstract
公开了一种用于进入主机控制器的一种模式并在该主机控制器进行数据交换之前省略主机控制器状态机序列中的一个状态的方法和仪器。对于一个实施例而言,本方法和仪器包括在命令信息被发送给独立设备之前将一个位置位并且无需将该命令信息发送给独立设备就能交换数据。本实施例的该位指示了当前任务文件的状态。
Description
技术领域
本发明的实施例涉及在计算机系统中传送数据的领域,尤其涉及使用高级主机控制器接口(AHCI)进行数据交换。
背景技术
诸如CD ROM、硬盘驱动器、DVD RAM等串行高级技术附件(SATA)设备能够以集中的方式开发以用于具有符合于2004年4月13日发布的串行ATA主机控制器接口(AHCI)规范版本1.0的主机控制器(HC)的计算机系统。AHCI规范描述了实现该规范并用作计算机系统内SATA设备和存储器之间的接口的设备。接口设备例如可称为主机控制器、主机总线适配器等等。因为该设备由一规范描述,所以可以期望该设备能够响应于预制定的命令和过程。
例如,HC通常在数据交换前向SATA设备发送命令。HC随后在能发生数据交换之前等待响应。但因为通常在测试HC时一般没有SATA设备存在,所以测试HC交换数据的能力就变得困难。结果是HC没有必要向还不存在的设备发送命令并等待它的响应。
发明内容
一种使用高级主机控制器接口进行数据交换的方法,包括:在接收来自主机控制器的在系统存储器和独立设备之间交换数据的请求之前,进入所述主机控制器的一种模式;以及省略所述主机控制器的状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行由所述主机控制器在所述系统存储器和所述独立设备之间的进行数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的方法,包括:所述主机控制器取命令,所述命令请求在系统存储器和独立设备之间的数据交换;所述主机控制器接收所述命令;以及所述主机控制器在不发送待由所述独立设备接收的命令信息的情况下,在所述系统存储器和所述独立设备之间交换所述数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的方法,包括:所述主机控制器取命令,所述命令请求在系统存储器和独立设备之间的数据交换;所述主机控制器接收带有经修改的命令结构的所述命令;以及所述主机控制器在不发送待由所述独立设备接收的命令的情况下,在所述系统存储器和所述独立设备之间交换所述数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的仪器,包括:用于进入主机控制器的一种模式的装置;用于从主机控制器接收在系统存储器和独立设备之间交换数据的请求的装置;以及用于省略所述主机控制器的状态机序列中的一个状态的装置,所述状态机序列由主机控制器接口规范所要求,以执行由所述主机控制器在所述系统存储器和所述独立设备之间的进行数据交换的所述请求.
一种使用高级主机控制器接口进行数据交换的仪器,包括:用于取命令的装置,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;用于接收所述命令的装置;以及用于在不发送待由所述独立设备接收的命令信息的情况下,在所述系统存储器和所述独立设备之间交换所述数据的装置,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的仪器,包括:用于取命令的装置,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;用于接收命令的装置;用于在不发送待由一独立设备接收的命令信息的情况下交换数据装置;以及用于在不等待所述独立硬件设备确认所述命令信息已被接收的情况下,在所述系统存储器和所述独立设备之间交换所述数据的装置,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的仪器,包括:主机控制器,所述主机控制器用于:从存储器中取命令,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;接收来自所述存储器的所述命令;以及在不发送待由一独立设备接收的命令信息的情况下,在所述存储器和所述独立硬件设备之间用所述主机控制器交换所述数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的系统,包括:系统总线;同步动态随机存取存储器;以及耦合至所述总线的主机控制器,所述主机控制器用于:从系统存储器中取命令,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;接收来自所述系统存储器的所述命令;以及不发送待由所述独立设备接收的命令信息的情况下,在所述独立设备和所述系统存储器之间用所述主机控制器交换数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
一种使用高级主机控制器接口进行数据交换的制品,包括:包括数据的机器可访问介质,所述数据在被机器访问时使得所述机器执行以下操作:主机控制器从存储器中取命令,所述命令请求在系统存储器和独立设备之间的数据交换;所述主机控制器接收来自所述存储器的所述命令;以及所述主机控制器在不发送待由所述独立设备接收的命令信息的情况下,在所述独立设备和所述存储器之间交换所述数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
附图说明
本发明的实施例可通过参考随后的描述以及示出这些实施例的附图来最好地理解。
在附图中:
图1A根据一个实施例示出了与一设备耦合的主机控制器的示例性配置。
图1B根据一个实施例示出了与第二主机控制器耦合的主机控制器的示例性配置。
图2是使用主机控制器来交换数据的过程的一个实施例的流程图。
图3是使用主机控制器来交换数据的过程的一可选实施例的流程图。
图4根据本发明的实施例示出了包含处理器和主机控制器以交换数据的示例性系统。
具体实施方式
在随后的描述中,将出于解释的目的阐明多个具体细节以提供对本发明的全面理解。然而对本领域普通技术人员显而易见的是无需这些具体细节也能实践本发明的实施例。
本发明的实施例允许省略用于数据交换的状态机序列中HC进入操作模式的状态。在一个实施例中,HC接收交换数据的请求,其中该交换数据的请求可以是发送数据的请求也可以是接收数据的请求。因此,一旦进入该模式,一个位即被清零,并在发送待由一设备接收的命令之前在状态机的下一状态中被置位。在发送待由一设备接收的命令之前将该位置位是为了使得HC能够省略通常要在数据发送或接收之前执行的状态。根据一个实施例,该HC是高级主机控制器接口HC。
因此,正如以下将详述的那样,本发明的实施例允许通过减少在HC的数据交换中要执行的操作来改进测试主机控制器的能力。
图1A示出了耦合至主机控制器测试设备(测试设备)52的主机控制器(HC)50。HC 50通过SATA接口58耦合至测试设备52。该接口可以是为HC 50提供与测试设备52进行通信的能力的任何合适的接口。此外,测试设备52可以是能够提供测试HC所需的功能的任何合适的设备。
图1B示出了一个可选的测试配置,其中第一主机控制器(HC A)54耦合至第二主机控制器(HC B)56。这些HC可如上所述通过任何合适的接口耦合。通过将两个HC耦合在一起,计算机系统就能用于测试主机控制器的数据接收和发送。
本发明的实施例可由在图1A和图1B所示的配置中的主机控制器来实现。因为主机控制器的其他合适配置也是可行的,所以提供的图1A和图1B的配置仅是示例性而非限制性的。
图2根据一个实施例示出了描述与HC交换数据的过程的流程图。在过程框60中,HC进入一模式。对于本发明的一个实施例而言,该模式可以是测试HC的模式。此外,在一个实施例中,该模式可以特别用于测试处于该模式中的HC的数据发送或数据接收。HC可如计算机系统存储器26中所存储的软件指令所指示地进入此模式。HC也可以如图1A和图1B所示,通过由HC从与其耦合的外部设备中接收的指令来进入此模式。用于进入该HC的模式的实施例不受上述过程的限制。此外,各实施例可以使用HC设备驱动程序来为HC设置模式和/或修改。
对于一个实施例而言,一旦进入该模式(过程框60),HC就将一个位清零以指示HC不忙碌.更具体地,可以将该位清零以表示HC当前未执行操作.例如,一个实施例可以在进入此模式时将PxTFD.STS.BSY位(BSY位)清零.对于一个实施例而言,BSY位是指示与HC同SATA设备交换数据的能力相关联的任务文件数据的当前状态的特定寄存器位.
接着,HC选择该HC将要发送给一设备以交换数据的命令(过程框62)。该HC随后取出所选命令的命令首部(过程框64)。对于一个实施例而言,命令的选择可由诸如系统10等计算机系统触发,或由诸如在图1A和1B等所示的外部硬件设备所触发。
通常情况下,该HC在取出命令首部(过程框64)之后仍将保持空闲直到准备好将该命令发送给设备。然而对于一个实施例而言,在取出该命令首部之后,将一个位置位来指示该HC忙碌,即正在执行操作(过程框66)。对于一个实施例而言,可以将BSY位置位以指示系统忙碌。通过将该位置位以指示系统忙碌,HC进行数据交换(过程框68)。数据交换可以是数据发送或数据接收。
当该位被置位以指示HC忙碌(过程框66)时,该HC就不向SATA设备发送命令。该HC也无需接收该命令被成功发送的确认。此外,通过将该位置位,HC也不必等待SATA设备准备好接受数据或等待SATA设备准备好接收数据的确认。相反,该HC进行数据交换。
因为HC在该位被置位时直接进行数据交换,所以HC省略用于数据发送和/或数据接收的状态机序列中的一个状态。对于一个实施例而言,当HC在此模式中发送数据时省略了状态机序列的以下状态中的至少一种或多种:命令帧信息结构发送(CFIS:Xmit)命令帧信息结构成功(CFIS:Success)、主机空闲(H:Idle)、非数据帧信息结构接收进入(NDR:Entry)以及非数据帧信息结构接收接受(NDR:Accept)。在一可选实施例中,也可以省略其他的状态和过程。于是,根据一个实施例,在HC处于该模式时用于数据发送的状态机序列可以是:H:Idle、H:SelectCmd、H:FetchCmd、H:Idle、DX:Entry和DX:Transmit。根据一个实施例,该位在进入用于数据发送的状态机序列的第二个H:Idle状态时被置位,其中的H:Idle指的是主机控制器不活动的状态。
类似地,根据一个实施例,HC在处于此模式中接收数据时可以省略以下状态中的至少一种或多种:CFIS:Xmit、CFIS:Success和H:Idle。于是,用于数据接收的状态机序列可以是:H:Idle、H:SelectCmd、H:FetchCmd、H:Idle、DR:Entry和DR:Receive。在一个可选实施例中,也可省略其他的状态和过程。根据一个实施例,一个位在进入用于数据接收的状态机序列的第二个H:Idle状态时被置位。
图3根据本发明一个可选实施例示出了描述用HC交换数据的过程的流程图。根据该实施例,HC设备驱动程序和增强型HC如上所述可通过省略用于数据交换的状态和过程来交换数据。如图3所示,AHCI设备驱动程序可以修改应由HC接收的命令列表的内容(过程框70)。命令列表内包括的是带有相应的命令帧信息结构长度(CFL)的命令帧信息结构(CFIS)。AHCI设备驱动程序会将CFL设置为0。通过设置CFL=0,增强型的主机控制器就不会处理CFIS。结果是,该主机控制器能够在无需向与其耦合的设备发送命令也无需等待该设备确认此命令被接收的情况下交换数据。
在CFL被设置为0之后,HC就可如该HC参考图2中实施例所做的那样选择交换数据的命令(过程框72)并且取出该命令的首部(过程框74).然而,与图2所示的实施例不同,图3的实施例无需在HC取出命令首部之后将一个位置位.如果CFL=0,则HC既不向设备发送命令也不等待设备收到命令的确认.相反,在取出命令首部之后,HC将在CFL=0时直接进行数据交换(过程框76).
这一实施例能够允许改进测试HC的能力。根据图3所示的实施例,本方法能够允许灵活地与测试HC发送和/或接收命令。此外,这一实施例能够提供其中软件和/或硬件执行各种命令的测试HC的灵活方法。根据一个实施例,可任选地设置CFL=0允许其中仅有部分命令要求将CFIS发送给测试设备的命令的混合。
图4根据一个实施例示出了实现在此描述的仪器和方法的系统10。虽然在系统10的上下文中进行描述,但是各实施例也可以在任何合适的计算机系统中实现。
如图4所示,系统10包括至少一个AHCI HC 24。系统10还包括系统存储器26以及I/O控制器集线器(ICH)28。处理器22、系统存储器26、AHCI HC 24以及ICH 28都耦合至存储器控制器集线器48。ICH 28经由集线器链路20耦合至存储器控制器集线器。或者,AHCI HC 34能够额外地耦合至或集成到存储器控制器集线器48。
系统存储器26为系统10存储数据和/或指令,并且可以包括任何合适的存储器,诸如动态随机存取存储器(DRAM)、同步动态随机存取存储器(SDRAM)或扩展的数据输出随机存取存储器(EDO RAM)。系统10还包括耦合至诸如阴极射线管(CRT)或液晶显示器(LCD)等显示32的图形控制器30。
ICH 28为系统10提供到I/O设备或外围组件的接口。ICH 28可包括任何合适的接口控制器以提供到处理器22和系统存储器26的任何合适的通信链路。ICH 28还提供到I/O设备44(诸如鼠标、键盘、软盘驱动器和/或任何合适的I/O设备)的接口。ICH 28还可以为诸如并行高级技术附件(PATA)设备38和/或通用串行总线(USB)设备40之类的设备提供可选接口。
AHCI HC 24和34为任何合适的SATA设备36和/或46提供到处理器22和系统存储器26的接口,诸如,用于例如存储和/或检索数据和/或指令的硬盘驱动器(HDD)、致密盘只读存储器(CD ROM)、数字视频盘只读存储器(DVD ROM)。
系统存储器26还包括根据一个实施例通过省略在此讨论的过程和状态来测试HC的指令42。对于一个可选实施例而言,该指令无需驻留在系统存储器26之内,因为这些指令可以包括在系统10内的固件中、系统10内的专用电路中等等。
因此,系统10包括其上存储有一组指令(即,软件)的机器可读介质,其中该组指令具体化了在此描述的任何一种或全部方法。例如,软件可以完全或至少部分地驻留在系统存储器26内和/或处理器22内。从本说明书的目的出发,应该认为术语“机器可读介质”包括提供(即,存储、检索和/或传输)机器(例如,计算机)可读形式的信息的任何机制。例如,机器可读介质包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光学存储介质;闪存设备;电学、光学、声学或其他形式的传播信号(例如,载波、红外信号、数字信号等)等等。
虽然业已参考了具体的示例性实施例描述了本发明,但显而易见的是可以对这些实施例做出各种修改和变化而不背离本发明的宽泛精神和范围。因此,本说明书和附图旨在说明而非限制。
Claims (28)
1.一种使用高级主机控制器接口进行数据交换的方法,包括:
在接收来自主机控制器的在系统存储器和独立设备之间交换数据的请求之前,进入所述主机控制器的一种模式;以及
省略所述主机控制器的状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行由所述主机控制器在所述系统存储器和所述独立设备之间的进行数据交换的所述请求。
2.如权利要求1所述的方法,其特征在于,还包括:
一进入所述模式就将一个位清零以指示所述主机控制器不忙碌;
在所述数据交换之前一进入所述状态机序列中的下一状态就将所述位置位以指示所述主机控制器忙碌;以及
交换数据。
3.如权利要求2所述的方法,其特征在于,所述位指示当前任务文件状态。
4.如权利要求2所述的方法,其特征在于,所述位在待由所述独立设备接收的命令信息被发送之前被置位。
5.如权利要求1所述的方法,其特征在于,省略用于数据交换的所述状态包括省略以下的至少一种:
发送待由一设备接收的命令;以及
接收所述命令被成功发送的确认。
6.如权利要求5所述的方法,其特征在于,还包括省略以下的至少一种:
等待所述设备确定所述设备是否准备好接受数据;以及
接收所述设备准备好接受数据的经验证的响应。
7.如权利要求1所述的方法,其特征在于,所述数据交换是数据发送或数据接收中的一种。
8.如权利要求1所述的方法,其特征在于,所述主机控制器是高级主机控制器接口主机控制器。
9.如权利要求1所述的方法,其特征在于,所述模式是测试模式。
10.一种使用高级主机控制器接口进行数据交换的方法,包括:
主机控制器取命令,所述命令请求在系统存储器和独立设备之间的数据交换;
所述主机控制器接收所述命令;以及
所述主机控制器在不发送待由所述独立设备接收的命令信息的情况下,在所述系统存储器和所述独立设备之间交换所述数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
11.如权利要求10所述的方法,其特征在于,所述主机控制器接收命令还包括所述主机控制器接收带有经修改的命令结构的命令。
12.如权利要求11所述的方法,其特征在于,所述经修改的命令结构是命令帧信息结构长度等于零的命令。
13.一种使用高级主机控制器接口进行数据交换的方法,包括:
主机控制器取命令,所述命令请求在系统存储器和独立设备之间的数据交换;
所述主机控制器接收带有经修改的命令结构的所述命令;以及
所述主机控制器在不发送待由所述独立设备接收的命令的情况下,在所述系统存储器和所述独立设备之间交换所述数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
14.如权利要求13所述的方法,其特征在于,还包括所述主机控制器在不等待所述独立设备确认所述命令已被接收的情况下交换数据。
15.如权利要求14所述的方法,其特征在于,所述经修改的命令结构包括等于零的命令帧信息结构长度。
16.一种使用高级主机控制器接口进行数据交换的仪器,包括:
用于进入主机控制器的一种模式的装置;
用于从主机控制器接收在系统存储器和独立设备之间交换数据的请求的装置;以及
用于省略所述主机控制器的状态机序列中的一个状态的装置,所述状态机序列由主机控制器接口规范所要求,以执行由所述主机控制器在所述系统存储器和所述独立设备之间的进行数据交换的所述请求。
17.如权利要求16所述的仪器,其特征在于,还包括:
用于一进入所述模式就将一个位清零以指示所述主机控制器不忙碌的装置;
用于在所述数据交换之前一进入所述状态机序列中的下一状态就将所述位置位以指示所述主机控制器忙碌的装置;以及
用于交换数据的装置。
18.如权利要求16所述的仪器,其特征在于,用于省略用于数据交换的所述状态的装置包括用于省略以下的至少一种的装置:
用于发送待由一独立设备接收的命令的装置;以及
用于接收所述命令被成功发送的确认的装置。
19.如权利要求18所述的仪器,其特征在于,还包括省略以下的至少一种:
用于等待所述独立设备确定所述独立设备是否准备好接受数据的装置;以及
用于获取所述独立设备准备好接受数据的经验证的响应的装置。
20.一种使用高级主机控制器接口进行数据交换的仪器,包括:
用于取命令的装置,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;
用于接收所述命令的装置;以及
用于在不发送待由所述独立设备接收的命令信息的情况下,在所述系统存储器和所述独立设备之间交换所述数据的装置,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
21.如权利要求20所述的仪器,其特征在于,所述用于接收命令的装置还包括所述用于接收带有经修改的命令结构的命令的装置。
22.如权利要求21所述的仪器,其特征在于,所述经修改的命令结构是命令帧信息结构长度等于零的命令。
23.一种使用高级主机控制器接口进行数据交换的仪器,包括:
用于取命令的装置,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;
用于接收命令的装置;
用于在不发送待由一独立设备接收的命令信息的情况下交换数据的装置;以及
用于在不等待所述独立设备确认所述命令信息已被接收的情况下,在所述系统存储器和所述独立设备之间交换所述数据的装置,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
24.如权利要求23所述的仪器,其特征在于,还包括用于接收带有经修改的命令结构的命令信息的装置。
25.如权利要求24所述的仪器,其特征在于,所述带有经修改的命令结构的命令信息是命令帧信息结构长度等于零的命令。
26.一种使用高级主机控制器接口进行数据交换的系统,包括:
系统总线;
同步动态随机存取存储器;以及
耦合至所述总线的主机控制器,所述主机控制器用于:
从系统存储器中取命令,所述命令向主机控制器请求在系统存储器和独立设备之间的数据交换;
接收来自所述系统存储器的所述命令;以及
不发送待由所述独立设备接收的命令信息的情况下,在所述独立设备和所述系统存储器之间用所述主机控制器交换数据,其中发送命令信息是状态机序列中的一个状态,所述状态机序列由主机控制器接口规范所要求,以执行在所述系统存储器和所述独立设备之间的数据交换的所述请求。
27.如权利要求26所述的系统,其特征在于,所述交换数据是发送数据或接收数据中的一种。
28.如权利要求26所述的系统,其特征在于,所述主机控制器是串行高级技术附件高级主机控制器接口主机控制器。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/948,803 US20060075164A1 (en) | 2004-09-22 | 2004-09-22 | Method and apparatus for using advanced host controller interface to transfer data |
US10/948,803 | 2004-09-22 | ||
PCT/US2005/032933 WO2006036572A2 (en) | 2004-09-22 | 2005-09-13 | A method and apparatus for using advanced host controller interface to transfer data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101014942A CN101014942A (zh) | 2007-08-08 |
CN101014942B true CN101014942B (zh) | 2010-05-05 |
Family
ID=35925204
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2005800304468A Expired - Fee Related CN101014942B (zh) | 2004-09-22 | 2005-09-13 | 使用高级主机控制器接口来传送数据的方法和仪器 |
Country Status (6)
Country | Link |
---|---|
US (1) | US20060075164A1 (zh) |
JP (2) | JP4801669B2 (zh) |
CN (1) | CN101014942B (zh) |
DE (1) | DE112005002254T5 (zh) |
TW (1) | TWI311722B (zh) |
WO (1) | WO2006036572A2 (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7603514B2 (en) * | 2005-03-31 | 2009-10-13 | Intel Corporation | Method and apparatus for concurrent and independent data transfer on host controllers |
US7464228B2 (en) * | 2006-05-31 | 2008-12-09 | Dell Products L.P. | System and method to conserve conventional memory required to implement serial ATA advanced host controller interface |
US7827320B1 (en) * | 2008-03-28 | 2010-11-02 | Western Digital Technologies, Inc. | Serial ATA device implementing intra-command processing by detecting XRDY primitive while in the XRDY state |
US8856390B1 (en) * | 2008-03-28 | 2014-10-07 | Western Digital Technologies, Inc. | Using device control field to implement non-disruptive notification of an ATA device |
US8327040B2 (en) * | 2009-01-26 | 2012-12-04 | Micron Technology, Inc. | Host controller |
US8291125B2 (en) * | 2011-02-16 | 2012-10-16 | Smsc Holdings S.A.R.L. | Speculative read-ahead for improving system throughput |
US10209768B1 (en) | 2012-01-06 | 2019-02-19 | Seagate Technology Llc | File-aware priority driver |
US9268692B1 (en) | 2012-04-05 | 2016-02-23 | Seagate Technology Llc | User selectable caching |
US9542324B1 (en) | 2012-04-05 | 2017-01-10 | Seagate Technology Llc | File associated pinning |
US9116694B2 (en) | 2012-09-26 | 2015-08-25 | Intel Corporation | Efficient low power exit sequence for peripheral devices |
US9141563B2 (en) * | 2013-09-11 | 2015-09-22 | Kabushiki Kaisha Toshiba | Memory system |
US9632711B1 (en) | 2014-04-07 | 2017-04-25 | Western Digital Technologies, Inc. | Processing flush requests by utilizing storage system write notifications |
US9645752B1 (en) | 2014-04-07 | 2017-05-09 | Western Digital Technologies, Inc. | Identification of data committed to non-volatile memory by use of notification commands |
KR101936950B1 (ko) | 2016-02-15 | 2019-01-11 | 주식회사 맴레이 | 컴퓨팅 디바이스, 코프로세서와 비휘발성 메모리 사이의 데이터 이동 방법 및 이를 포함하는 프로그램 |
KR20210108466A (ko) * | 2019-05-05 | 2021-09-02 | 양쯔 메모리 테크놀로지스 씨오., 엘티디. | 시퀀스 프로세싱 유닛이 있는 메모리 제어 시스템 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802392A (en) * | 1995-07-20 | 1998-09-01 | Future Domain Corporation | System for transferring 32-bit double word IDE data sequentially without an intervening instruction by automatically incrementing I/O port address and translating incremented address |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4183084A (en) * | 1977-06-06 | 1980-01-08 | Digital Equipment Corporation | Secondary storage facility with serial transfer of control messages |
US5438674A (en) * | 1988-04-05 | 1995-08-01 | Data/Ware Development, Inc. | Optical disk system emulating magnetic tape units |
US5293491A (en) * | 1990-12-28 | 1994-03-08 | International Business Machines Corp. | Data processing system and memory controller for lock semaphore operations |
US5598579A (en) * | 1994-04-25 | 1997-01-28 | Compaq Computer Corporation | System fpr transferring data between two buses using control registers writable by host processor connected to system bus and local processor coupled to local bus |
US5659718A (en) * | 1994-08-19 | 1997-08-19 | Xlnt Designs, Inc. | Synchronous bus and bus interface device |
US6467054B1 (en) * | 1995-03-13 | 2002-10-15 | Compaq Computer Corporation | Self test for storage device |
US6055583A (en) * | 1997-03-27 | 2000-04-25 | Mitsubishi Semiconductor America, Inc. | DMA controller with semaphore communication protocol |
US6026448A (en) * | 1997-08-27 | 2000-02-15 | International Business Machines Corporation | Method and means for exchanging messages, responses and data between different computer systems that require a plurality of communication paths between them |
US6009488A (en) * | 1997-11-07 | 1999-12-28 | Microlinc, Llc | Computer having packet-based interconnect channel |
US6708233B1 (en) * | 1999-03-25 | 2004-03-16 | Microsoft Corporation | Method and apparatus for direct buffering of a stream of variable-length data |
US6631431B1 (en) * | 1999-09-15 | 2003-10-07 | Koninklijke Philips Electronics N.V. | Semaphore coding method to ensure data integrity in a can microcontroller and a can microcontroller that implements this method |
US6609171B1 (en) * | 1999-12-29 | 2003-08-19 | Intel Corporation | Quad pumped bus architecture and protocol |
JP2001229120A (ja) * | 2000-02-18 | 2001-08-24 | Sharp Corp | チェーン式dmaの処理誤り検出方法及びdmaコントローラ |
US6622189B2 (en) * | 2000-11-30 | 2003-09-16 | International Business Machines Corporation | Method and system for low overhead spin lock instrumentation |
WO2002095556A1 (en) * | 2001-05-18 | 2002-11-28 | Fujitsu Limited | Apparatus having stand-by mode, program, and control method for apparatus having stand-by mode |
US6799233B1 (en) * | 2001-06-29 | 2004-09-28 | Koninklijke Philips Electronics N.V. | Generalized I2C slave transmitter/receiver state machine |
US6889265B2 (en) * | 2001-11-05 | 2005-05-03 | Intel Corporation | Apparatus and method to allow and synchronize schedule changes in a USB enhanced host controller |
US6961787B2 (en) * | 2002-01-07 | 2005-11-01 | Intel Corporation | Method and apparatus for updating task files |
TW569013B (en) * | 2002-02-21 | 2004-01-01 | Via Tech Inc | Chip test method for testing host controller of universal serial bus |
US20040010625A1 (en) * | 2002-07-09 | 2004-01-15 | Silicon Integrated Systems Corp. | Interface device and method for transferring data over serial ATA |
DE10239814B4 (de) * | 2002-08-29 | 2008-06-05 | Advanced Micro Devices, Inc., Sunnyvale | Erweiterte Testmodusunterstützung für Hostcontroller |
US7072989B1 (en) * | 2002-09-27 | 2006-07-04 | Cypress Semiconductor, Inc. | USB peripheral device storing an indication of an operating power mode when a host went into hibernate and restarting at the power mode accordingly |
US6901461B2 (en) * | 2002-12-31 | 2005-05-31 | Intel Corporation | Hardware assisted ATA command queuing |
US6810443B2 (en) * | 2002-12-31 | 2004-10-26 | Intel Corporation | Optical storage transfer performance |
US7010711B2 (en) * | 2003-06-25 | 2006-03-07 | Lsi Logic Corporation | Method and apparatus of automatic power management control for native command queuing Serial ATA device |
US7149823B2 (en) * | 2003-08-29 | 2006-12-12 | Emulex Corporation | System and method for direct memory access from host without processor intervention wherein automatic access to memory during host start up does not occur |
US7206973B2 (en) * | 2003-12-11 | 2007-04-17 | Lsi Logic Corporation | PCI validation |
JP3736642B2 (ja) * | 2004-01-22 | 2006-01-18 | セイコーエプソン株式会社 | データ転送制御装置及び電子機器 |
US20050216611A1 (en) * | 2004-03-29 | 2005-09-29 | Martinez Alberto J | Method and apparatus to achieve data pointer obfuscation for content protection of streaming media DMA engines |
US7577772B2 (en) * | 2004-09-08 | 2009-08-18 | Qlogic, Corporation | Method and system for optimizing DMA channel selection |
-
2004
- 2004-09-22 US US10/948,803 patent/US20060075164A1/en not_active Abandoned
-
2005
- 2005-09-13 CN CN2005800304468A patent/CN101014942B/zh not_active Expired - Fee Related
- 2005-09-13 WO PCT/US2005/032933 patent/WO2006036572A2/en active Application Filing
- 2005-09-13 JP JP2007532461A patent/JP4801669B2/ja not_active Expired - Fee Related
- 2005-09-13 DE DE112005002254T patent/DE112005002254T5/de not_active Withdrawn
- 2005-09-15 TW TW094131834A patent/TWI311722B/zh not_active IP Right Cessation
-
2011
- 2011-02-23 JP JP2011037206A patent/JP2011146058A/ja not_active Withdrawn
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5802392A (en) * | 1995-07-20 | 1998-09-01 | Future Domain Corporation | System for transferring 32-bit double word IDE data sequentially without an intervening instruction by automatically incrementing I/O port address and translating incremented address |
Also Published As
Publication number | Publication date |
---|---|
CN101014942A (zh) | 2007-08-08 |
DE112005002254T5 (de) | 2007-08-23 |
JP2011146058A (ja) | 2011-07-28 |
WO2006036572A2 (en) | 2006-04-06 |
TWI311722B (en) | 2009-07-01 |
US20060075164A1 (en) | 2006-04-06 |
WO2006036572A3 (en) | 2006-08-24 |
JP2008513889A (ja) | 2008-05-01 |
JP4801669B2 (ja) | 2011-10-26 |
TW200627287A (en) | 2006-08-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101014942B (zh) | 使用高级主机控制器接口来传送数据的方法和仪器 | |
US9483433B2 (en) | Processing communication data in a ships passing condition | |
EP2176772B1 (en) | Processing of data to monitor input/output operations | |
JP4658122B2 (ja) | Dmaコントローラ、ノード、データ転送制御方法、及びプログラム | |
US7676701B2 (en) | Computer readable medium storing an error recovery program, error recovery method, error recovery apparatus, and computer system | |
JPS59188752A (ja) | 欠陥サイクル作動式デ−タ処理システム用バス | |
US8266331B2 (en) | Transmitting retry request associated with non-posted command via response credit channel | |
US6581116B1 (en) | Method and apparatus for high performance transmission of ordered packets on a bus within a data processing system | |
CN101673255A (zh) | 通用串行总线主机控制器和通用串行总线主机控制方法 | |
US20090113097A1 (en) | Method and Apparatus for Attaching Multiple Slave Devices to a Single Bus Controller Interface While Supporting Command Pipelining | |
US20050256998A1 (en) | Bus bridge device | |
JP5102917B2 (ja) | ストレージ装置及びアクセス命令送信方法 | |
JP2006323541A (ja) | データ転送回路及びデータ転送方法 | |
JP2003157152A (ja) | ファイル制御装置およびファイルシステム | |
EP1761856B1 (en) | Computer system and method for queuing interrupt messages in a device coupled to a parallel communications bus | |
TWI411922B (zh) | 通用串列匯流排主機控制器和通用串列匯流排主機控制方法 | |
US10831676B2 (en) | Apparatus and method for interfacing with common memory | |
KR20010110100A (ko) | 데이터 처리 시스템 내의 채널들의 복구를 위한체크포인팅 방법, 프로그램 제품 및 장치 | |
JPH11305949A (ja) | ファイル制御装置によるリモート転送方法 | |
KR100622621B1 (ko) | 운영-대기(Active-Standby) 모드로이중화된 IP 통신 시스템에서 주 시스템과 부 시스템간구성 데이터를 동기화하기 위한 방법 및 그 시스템 | |
JP2006301810A (ja) | データ転送処理方法、データ転送処理装置およびデータ転送処理制御プログラム | |
JP2948380B2 (ja) | データ通信装置 | |
US7028131B1 (en) | Reverse message writes and reads | |
JP4439295B2 (ja) | データ転送制御装置 | |
JPH07334453A (ja) | メモリアクセスシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20100505 Termination date: 20190913 |
|
CF01 | Termination of patent right due to non-payment of annual fee |